WebKit / explainers

Explainers from WebKit contributors
371 stars 28 forks source link

[Remote CryptoKeys] Relationship to WebAuthn PRF extension? #116

Open estark37 opened 5 months ago

estark37 commented 5 months ago

Is there any relationship between the Remote CryptoKeys proposal and the WebAuthn PRF extension? At first glance, my impression is that the WebAuthn PRF extension could be used for some of the same use cases as Remote CryptoKeys, but:

timcappalli commented 5 months ago

One growing challenge with using PRF with passkeys is the blast radius for deleting a passkey, which is really only intended for use for sign in, expands significantly if it also means a user can no longer access/recover E2EE data. This is something we've been discussing in the WebAuthn WG. UX treatment by passkey providers / authenticators could help (e.g. an additional confirmation prompt on delete), but consistency will be a challenge.

RE: JS, and CryptoKey integration, these issues may be helpful:

jonchoukroun commented 4 months ago

@timcappalli is correct, our proposal intends to support long-lived keys. As for the storage mechanism, our thinking has been that the API should be agnostic on where the key material actually lives - provided it meets the non-exctractable and device-syncing requirements. So if a user wanted to store their private key on a smart card, maybe that's something the API can support?

jht5945 commented 3 weeks ago

WebAuthn PRF only support HMAC keys, usually it is a symmetric encrypt key, Remote CryptoKeys not only support symmetric keys, it will also support PKI(RSA/ECC) for singing and encryption, the real keys may only store in external devices, like TPM or Security Keys (e.g. PIV card or other devices via PKCS#11).