- 1P has a multi-layered approach: The master key + random key (+ salts) encrypt the user's private key, which in turn is used to decrypt the vault key (because the user's public key was used to encrypt the vault key). The vault key is used to decrypt the vault's items (each individually). Giving a new member access to a vault is done by encrypting the vault key with that member's public key. (I guess that's the same for LP)
- 1P encrypts all fields. BTW metadata and content fields are encrypted separately, such that the former can be decrypted faster for UI and search purposes.
- 1P uses Secure Remote Password, a zero knowledge proof which allows clients to authenticate with the 1P server without ever sending the actual password. Instead, during account creation, a derived key ("v") is sent from the client to the server that will be used to arrive at a shared secret during every authentication. They write in the paper that this is actually the reason for the random key that is needed in addition to the master key: It's impossible to brute-force the master key even if an attacker gains access to "v".
- Password recovery with 1P prevents the team "admin" from receiving the recovered vault's data (they do learn the vault key though, that's a necessity).
- 1P is constantly evaluating whether stronger encryption schemes (e.g. elliptic curve, or, further out, post quantum crypto) need to be implemented, and if such an update happens, they have already mapped out how vaults are upgraded. I think they increased PBKDF2 passes from 10k to 100k without breaking anything.