#806: WebAuthn PRF extension
Discussions
Comment by @MattMenke2 Jan 24, 2023 (See Github)
The privacy properties are unclear. Is there a single random_oracle() exposed globally, which could then be used to track a user across sites? Are they scoped per-site or per origin? Are these persisted or not?
There's mention of this being UI gated, but neither the explainer nor the spec mention the UI, or what triggers it. Does the UI expose whether this feature is available before a user grants permission (e.g., only show a dialog if the feature is available), or is it just for the existence of a security key in general? Or does it reveal nothing?
A privacy section in the explainer would make the privacy properties of this proposal much easier to evaluate.
Comment by @agl Jan 24, 2023 (See Github)
The privacy properties are unclear.
Have added a section to the explainer as suggested. This extension doesn't change any of the privacy properties of WebAuthn so the PRFs are per-credential and credentials are still scoped to an RP ID.
There's mention of this being UI gated, but neither the explainer nor the spec mention the UI, or what triggers it.
This extension doesn't change anything about WebAuthn in that regard either. So sites trigger operations via Javascript calls on navigator.credentials
as usual and the data is part of an assertion and thus behind the same ceremony as signing in.
During registration, if the user completes the ceremony and creates the credential then the site learns whether the authenticator supports the extension or not.
Comment by @MattMenke2 Jan 24, 2023 (See Github)
Thanks, much appreciated!
Comment by @rhiaro Feb 8, 2023 (See Github)
@plinss, @atanassov and I reviewed this in our virtual face-to-face breakout today. Thanks for clarifying the privacy implications in the explainer. This seems like a useful addition to the API.
OpenedJan 17, 2023
I'm requesting a TAG review of the WebAuthn PRF extension
This extension lets WebAuthn assertions also contain secret keys for the decryption of data. With it, the confidentiality of data can be protected by a security key.
wpt/webauthn/createcredential-prf.https.html
andwpt/webauthn/getcredential-prf.https.html
Further details:
We'd prefer the TAG provide feedback as (please delete all but the desired option):
💬 leave review feedback as a comment in this issue and @-notify [github usernames]