3 ms·
Which to me begs the question: then why hash client-side at all? What are the threats it protects against?
by stingraycharles 5y ago
Which to me begs the question: then why hash client-side at all? What are the threats it protects against?
- foobiekr 5y agoHashing client side has a non-cryptographic benefit of making all passwords a fixed length. This, in turn, helps avoid accidents with bcrypt misuse.
- palant 5y agoThe client-side hashing is actually the part that keeps your master password a secret, from everyone including LastPass yourself. This makes sure that LastPass cannot decrypt your passwords despite them being stored there. The server-side part on the other hand is severely misimplemented and not much good to anyone. This is one of the issues I’ve written about here: https://palant.info/2018/07/09/is-your-lastpass-data-really-safe-in-the-encrypted-online-vault/ https://palant.info/2018/07/09/is-your-lastpass-data-really-...
- SavantIdiot 5y agoFrom what I understand: you still need the master password locally to decrypt the individual passwords. A hash won't provide that. All you're doing here is logging into LastPass.
- chrisfosterelli 5y agoThis sort of scheme is common so that you do not have to share the encryption key with the provider. You derive two keys from your plaintext password: one used for authentication and one used for encrypting / decrypting the blob. This way, Lastpass can authenticate you without having to see the key to decrypt your data. Not sure the specifics of how lastpass implements this but this is a really common approach for end-to-end encrypted apps.
- necovek 5y agoI wouldn't say it's so you don't have to share the encryption key with your provider (you achieve that with a separate encryption key), but rather so you can use a single memorable secret for both login to the provider and local encryption. As in, the idea is that it is used to save you from having two secrets which might be more or less easy/hard to remember. It's a UX improvement (which might be a security imorovement on average too).
- stingraycharles 5y agoOh I see, so the master password is like a seed for multiple things: the password hash, but also e2e encrypting the passwords. That makes complete sense, thank you for the answer.
- chrisfosterelli 5y agoNo problem! If anyone is curious for more on this pattern, Firefox Sync had a great blog post breaking down their implementation: https://hacks.mozilla.org/2018/11/firefox-sync-privacy/ https://hacks.mozilla.org/2018/11/firefox-sync-privacy/