SPHINX : A Password Store that Perfectly Hides from Itself

Password managers (aka stores or vaults) represent a security technique that allows a user to store and retrieve (usually high-entropy) passwords for her multiple passwordprotected services by interacting with a “device” serving the role of the manager (e.g., a smartphone or an online third-party service) on the basis of a single (low-entropy) master password. Existing password managers work well to defeat offline dictionary attacks upon web service compromise, assuming the use of highentropy passwords is enforced. However, they are vulnerable to leakage of all passwords in the event the device is compromised or malicious, due to the need to store the passwords encrypted under master password and/or the need to input the master password to the device (as in smartphone managers). Evidence exists that password managers can be attractive attack targets. In this paper, we introduce a novel approach to password management, called SPHINX, which remains secure even when the password manager itself has been compromised. In SPHINX, the information stored on the device is information theoretically independent of the user’s master password — an attacker breaking into the device learns no information about the master password or the user’s individual passwords. Moreover, an attacker with full control of the device, even at the time the user interacts with it, learns nothing about the master password — the password is not entered into the device in plaintext form or in any other way that may leak information on it. Unlike existing managers, SPHINX produces strictly high-entropy passwords and makes it compulsory for the users to register these passwords with the web services, which defeats online guessing attacks and offline dictionary attack upon service compromise. As an important added advantage over existing managers, that require some form of secure channels between the device and the client machine from which the user logs in, SPHINX can work with fully unsecured channels offering extra layer of security. The design and security of SPHINX is based on the device-enhanced PAKE model of Jarecki et al. that provides the theoretical basis for this construction and is backed by cryptographic proofs of security. While SPHINX is suitable for different device platforms, in this paper, we report on its concrete instantiation on smartphones given their popularity and trustworthiness as password managers (or even two-factor authentication). We present the design, implementation and performance evaluation of SPHINX, offering prototype browser plugins, smartphone apps and transparent device-client communication. We also report on a lab-based usability study of SPHINX, which indicates that users’ perception of SPHINX security and usability is high, and the overall user experience is significantly better than current smartphone managers, and satisfactory when compared to regular password-based authentication. We also provide a comprehensive comparative evaluation of SPHINX with other password managers. Finally, we discuss how SPHINX may be extended in the future to an online service for the purpose of back-up or as an independent password manager.