1Password PassKey, but what about Vault Decryption? (Implementation Question)
Hello,
I have read the recent blog post about the future compatibility of PassKeys with 1Password [1].
I would like to understand how PassKeys are implemented in the context of software where end-to-end encryption is vital.
I've not studied the entire FIDO specification, however, my understanding is PassKeys are FIDO UAF under the hood. From a high level I believe users are authenticated based on their ability to sign a challenge token sent to them by the relying party (proving that they are in possession of their private key).
I have always thought of this scheme as a means of authentication, however, how does the decryption of the 1Password vault work here?
In the 1Password whitepaper I read that:
"If you have access to a vault, a copy of the vault key is encrypted
with your public key. Only you, the holder of your private key, are able
to decrypt that copy of the vault key. Your private key is encrypted with
a key encryption key (KEK) that is derived from your account password
and Secret Key." [2]
Will these new scheme with Passkeys essentially create a static KEK that will be encrypted with the public key of the users PassKey?
Then the user with the private key would be able to decrypt the KEK and continue until they get the vault key.
This may be a very specific question about the implementation of PassKeys in 1Password, and I don't expect anyone to take the time to provide a technical answer. With that said, I am one of the users that would love to know the deep technical details behind the implementation, I hope in the future the 1Password Security Design whitepaper will be updated with all this information.
[1] https://blog.1password.com/unlock-1password-with-passkeys/
[2] https://1passwordstatic.com/files/security/1password-white-paper.pdf
1Password Version: Not Provided
Extension Version: Not Provided
OS Version: Not Provided
Browser:_ Not Provided
Comments
-
This is an insightful observation and question, @Oddycm:
I have always thought of this scheme as a means of authentication, however, how does the decryption of the 1Password vault work here?
One thing I'm able to make clear right now is that end-to-end encryption will be a part of any solution we release. Vaults will continue to be encrypted on on-device keys which are not shared with the 1Password service.
The full architecture is not yet ready for public release, but we will update relevant security documentation and audits before any customers have the option to actually use a passkey to unlock 1Password.
I'm sorry I can't go into more details yet, and I really look forward to being able to share more information with you soon.
-Mitch
0 -
I'm also looking forward to learn more about how this will be implemented. I think other password manager are going to use the Webauthn PRF extension to get a deterministic per-credential secret key for vault encryption. But I'm not sure if this feature is currently only supported by security keys like a YubiKey.
Exciting times =)
0