I'm trying to understand how LastPass can be secure if it allows sharing passwords with users who have not even created accounts yet.
Their FAQ says, "When you want to share data with someone else, you pull their public key and use that to encrypt the data." However, the forum thread "Password sharing: how is this done securely?" makes it clear that you can share a password with someone who doesn't have a LastPass account because "they will be given an opportunity to create an account."
How can this be secure? The insecure scenario I envision is:
- I indicate what password I want to share and what (future) user should receive it
- My LP client encrypts the data with a server-owned key and uploads it to the server
- The other user creates an account and an RSA key pair
- The server encrypts my password using the newly-created public key
- The other user's LP client downloads the encrypted data from the server
- The other user's LP client decrypts the data using the user's private key
In this scenario, the password is readable by people other than my intended recipient: the admins of the LP server can read it. If the server doesn't store it securely and if they suffer a security breach, even more people can read it. This seems like an edge case, but if the admins are willing to make my passwords available to themselves in this case, I imagine that they are willing to do so in other cases.
The admin on the forum thread linked above and those employees responding to my customer service inquiries either haven't understood the problem or are trying to brush off people who ask about this. (The forum thread is hard to believe because the admin does such a good job of avoiding the security concern.)