Next Generation Password-Based Authentication Systems
Total Page:16
File Type:pdf, Size:1020Kb
NEXT GENERATION PASSWORD-BASED AUTHENTICATION SYSTEMS A Dissertation Presented to the Faculty of the Graduate School of Cornell University in Partial Fulfillment of the Requirements for the Degree of Doctor of Philosophy by Rahul Chatterjee August 2019 cb 2019 Rahul Chatterjee SOME RIGHTS RESERVED NEXT GENERATION PASSWORD-BASED AUTHENTICATION SYSTEMS Rahul Chatterjee, Ph.D. Cornell University 2019 Passwords, despite being the primary means for users to authenticate on the Web or to a computing device, are marred with several usability and security problems: users nowadays have too many accounts and passwords to remember; typing pass- words correctly can be cumbersome, particularly on touch screen devices. As a result, users often pick simple, easy-to-remember, and easy-to-type passwords and reuse them across different websites. Simple passwords, unfortunately, are also easy-to-guess. Reused passwords can put all of a user's accounts at risk if any of them are compromised. In this dissertation, I show how to improve the state of passwords and password- based authentication (PBA) systems by incorporating knowledge of real-world password distributions. I identify three challenges faced by current passwords and PBA systems. Using a combination of empirical and analytical methods, I first dis- till out the details of those problems and then use that knowledge to guide building the next generation PBA systems that provide better usability and security. First, to help users deal with too many account passwords, I design NoCrack, a secure password vault system (also called password manager) that uses honey encryption to encrypt user passwords under a master password. Honey encryption provides NoCrack's vault ciphertexts with a novel property: decryption with any incorrect master password will output decoy but plausible-looking sets of pass- words. Therefore, if an attacker tries to decrypt a NoCrack's vault ciphertext with several guesses for the master password, the attacker does not immediately learn the correct master password even if it is included in the list of guesses. To learn which of the decrypted passwords are real, the attacker has to try them on- line, which can be relatively slow, potentially detectable by the websites for which the user has an account, and also subject to website rate-limiting for too many incorrect password submissions. Besides having too many passwords, users often make mistakes while typing passwords, and, in current settings, login is rejected if the entered password is not exactly what is used during registration. This is annoying and counter-productive for legitimate users. Via studies conducted on Amazon Mechanical Turk and with Dropbox's production login infrastructure, I measured the extent that password typos cause a usability burden. I showed how to design PBA systems that can tolerate typos without degrading the security of passwords. Finally, due to billions of breached passwords and rampant password reuse habits, credential stuffing attacks have become a serious threat to password secu- rity: an attacker can compromise a user account by simply trying the password of that user stolen from other websites. To prevent such attacks, some third party web services have started providing APIs for checking if a user's password is present in a leaked set of passwords. I give a framework to analyze the security requirements of such compromised credentials checking (C3) services. I go on to provide new C3 protocols that provide a better security/bandwidth trade-off. BIOGRAPHICAL SKETCH Rahul received his Bachelors of Technology (B.Tech) degree from Indian Institute of Technology (IIT) Kharagpur in 2012. After graduation, he worked for a year in a startup on high-frequency trading in Bangalore. Working on the startup was very exciting, at the beginning: His code was affecting the real-world exchanges across the globe (though not always in the intended way). However, soon he realized he was missing the opportunity to learn new things, the way he could while he was at IIT Kharagpur. This motivated him to embark on graduate studies in the US. He joined the University of Wisconsin{Madison for masters in Fall 2013, where he met Prof. Thomas Ristenpart. He started working with Tom on building a new kind of password manager during his masters. The project kindled his interest in computer security, which pushed him to pursue PhD in computer security with Dr. Ristenpart. In the mean time, Dr. Ristenpart decided to move from UW{Madison to Cornell Tech in New York City (NYC). Cornell Tech was a new initiative from Cornell University and Jacobs Institute to build a campus that will encourage more collaboration between academic research and industry. Cornell Tech offered only masters program. Therefore, Rahul decided to move to Cornell, Ithaca for PhD. After spending a semester in gorgeous Ithaca, Rahul moved to Cornell Tech in NYC, where he spent the remaining three and half years of his PhD. During the graduate studies, Rahul has interned with Microsoft Research Tech- nologies and with Dropbox Inc. Rahul is moving back to Madison to join the University of Wisconsin{Madison as an Assistant Professor in Fall 2019. iii This document is dedicated to my Ma, Baba, and Sayangku. iv ACKNOWLEDGEMENTS Prof. Thomas Ristenpart, my advisor, is the reason I attempted to do a PhD and reached to a position to write this dissertation. His constant motivation, advice, and feedback helped me achieve what I am now. I am deeply grateful to Tom for pushing me to redefine my limits, for patiently working with me, and for continuously supporting me during my studies at the University of Wisconsin{ Madison and at Cornell University. Besides my advisor, I would like to thank Prof. Nicola Dell and Prof. Ari Juels for their insightful comments and guidance for my research and beyond. I learned a lot working with Nicki, especially the importance of human aspects in digital technologies we build. I am also thankful to Nicki for mentoring me in my academic job search process. I am fortunate to be able to work with Ari throughout my graduate studies. Ari is one of my role model researchers for his novel ways to look at a problem and expressing them precisely in the fewest possible words. Working with Nicki and Ari during my PhD widened both my research and myself as a researcher from various perspectives. I am thankful to my colleagues and friends at Cornell University and at Cor- nell Tech for their stimulating discussions and encouragements. I am thankful to Cornell Tech for providing me the platform to conduct my research and finish my graduate studies. I am also thankful to all my co-authors and other friends who directly or indirectly contributed to and shaped this research. The list is long and I am surely going miss many whose critical involvement made this dis- sertation possible. Nevertheless, I would like to specially thank Adam, Andreas, Anthony, Antonio, Bijeeta, Buddhika, Deepak, Diana, Ethan, Fabian, Fan, Ger- ald, Ian, Joanne, Julia, Kim, Lei, Liang, Longqi, Lorenz, Lucy, Maurice, Neta, Nirvan, Paul, Phil, Saikat, Sam H., Sam S., Shoban, Sujay, Tal, Tyler, Vibhore, v Xiao, Yiqing, Yuval, and others for making my PhD experience memorable. Last but not the least, I would like to thank my family: my parents, my brother, and my partner-in-life for supporting me throughout my graduate studies and my life in general. vi TABLE OF CONTENTS 1 Introduction1 1.1 A Brief History of Passwords......................2 1.2 Password's Problems and their Solutions...............6 1.3 Methodology: Empiricism-Informed System Design......... 11 1.4 Contribution and Outline....................... 12 2 Cracking-Resistant Password Vaults 15 2.1 Introduction............................... 15 2.2 Background and Existing Approaches................. 21 2.3 Cracking Kamouflage.......................... 25 2.4 Overview of Our Approach....................... 34 2.5 Natural Language Encoders for Passwords.............. 37 2.5.1 NLEs from password samplers................. 38 2.5.2 NLEs from n-gram models................... 39 2.5.3 NLEs from PCFG models.................... 41 2.5.4 From one-password DTEs to vault DTEs........... 44 2.6 Evaluating the Encoders........................ 46 2.6.1 Evaluating complete password vaults............. 51 2.7 Honey Encryption for Vaults...................... 54 2.8 The NoCrack System.......................... 60 2.9 Related work.............................. 65 3 pASSWORD tYPOS and How to Correct them Securely 68 3.1 Introduction............................... 68 3.2 Background and Related Work..................... 72 3.3 Understanding Typos Empirically................... 76 3.3.1 Measured Typo Rates..................... 78 3.3.2 The Nature of Typos...................... 80 3.3.3 Touchscreen Keyboards..................... 84 3.3.4 Easily-Correctable Typo Classes and Correctors....... 85 3.4 Experiments at Dropbox........................ 86 3.5 Typo-tolerant Checking Schemes................... 93 3.5.1 Password and Typo Settings.................. 94 3.5.2 Password checkers........................ 95 3.5.3 Security definitions....................... 99 3.5.4 Free corrections theorem.................... 102 3.6 Practical Typo-Tolerant Checkers and their Security......... 105 3.6.1 Security against exact-knowledge attackers.......... 109 3.6.2 Estimating attackers...................... 114 3.7 Conclusion................................ 115 vii 4 The TypTop System: Personalized Typo-Tolerant Password Checking 117 4.1 Introduction..............................