Store passwords with unprecedented security.
There are a bunch of password managers using master password to protect data, but not all of them meet the requirements of the second generation, even though some of them claiming military grade encryption.
The security design of most password managers have not been published. I can only have a chance of close look from limited public information. Let's checkout the report from TeamSIK who did a great job to help password managers improve their design and implementation in 2016. It is concluded that some of them did not qualify as the second generation at that time. Since the report was years ago and all the vulnerabilities in the report have been fixed, it does not mean those password managers do not meet or surpass the requirements of the second generation now.
SIK-2016-020 on My Passwords.
The app stores an encrypted version of the user’s master password (“master_key”) in the shared preferences file.
With these two values, it is possible to reconstruct the user’s master password and log into the app. The attacker can thus extract all of the user’s stored passwords.
Conclusion
My Passwords
used a weak self-designed crypto algorithm to encrypt and save master password. It violated rule 3, "Never save the master password, in any form."
SIK-2016-021 on Mirsoft Password Manager.
The master password is stored in an insecure way. The password is encrypted, but the key for this encryption is part of the application code (equal on all devices).
Conclusion
Mirsoft Password Manager
encrypted and saved master password. The encryption key is not protected. It was easy to obtain the master password. Violated rule 3 too.
SIK-2016-022 on LastPass Password Manager
The master key and the PIN are symmetrically encrypted and stored in a shared preferences file in the local app folder. The key/PIN are stored encrypted. The key for encrypting/decrypting the credentials is hard coded into the application’s source code.
Conclusion
LastPass
is a popular password manager. Like Mirsoft Password Manager
, encrypting and saving master password with a hard coded key made master password vulnerable.
SIK-2016-026 on Keeper Password Manager
If the user is logged out the master password has to be entered to access the passwords in the app.
By entering the password incorrectly once the adversary can select “Forgot Password” after which a verification code has to be entered.
The app then fails to show the login activity but shows an empty password list with a different background. When spawning the com.callpod.android_apps.keeper/.DeepLinkActivity it is possible to add new passwords without providing the master password. When adding new passwords a user is able to attach files to the entry. An adversary could abuse this by attaching malicious files to the password entries. A user might wonder what these files contain when using the keeper desktop application or the online service. This can trick the user to execute code on his machine.
Conclusion
Password could be saved without entering master password, so the saved password was not encrypted with a key derived from the master password.
SIK-2016-027 on F-Secure KEY Password Manager
The master password of this password manager is stored in plain text in the local app folder.
Conclusion
Well, that was embarrassed. F-Secure is a well known security company. Their password manager product kept master password in plain text form! Maybe they know how to kill virus, but had no idea how to proect passwords.
SIK-2016-030 on Dashlane Password Manager
The Dashlane password manager implements an own browser. This browser contains an implementation flaw wich allows local app folder read access without root permission. An attacker can abuse this vulnerability to read out sensitive information from the local app folder.
Conclusion
Dashlane
saved master password. That was bad.
SIK-2016-032 on Hide Pictures Keep Safe Vault
Application stores master password or pin in plain text in app folder.
For a system using "military encryption" standards this is a serious vulnerability.
Conclusion
Saving master password in plain text made "military encryption" meaningless. "Military encryption" is far from safe.
Back to The Evolution of Password Manager (2/4)