w3c / webauthn

Web Authentication: An API for accessing Public Key Credentials
https://w3c.github.io/webauthn/
Other
1.19k stars 172 forks source link

Add cautionary note about extension data in the ceremony criteria #2177

Closed zacknewman closed 3 weeks ago

zacknewman commented 1 month ago

In #2174 it was mentioned that a cautionary note about not sending PRF data to the server may be appropriate for use cases where the output is used as a decryption key that should always remain client-side. I propose adding notes to the registration and authentication ceremony sections that express something like below:

Note: Since some extension data may need to remain client-side, the Relying Party MUST be prepared to remove data in clientExtensionResults client-side before sending data to the server for ceremony completion. Since signatures are based on authData, the Relying Party MUST NOT rely on extensions whose corresponding authenticator extension outputs in the extensions in authData contains data that should remain client-side when relying on the server to complete the ceremony.

Should be noted that there already exist two notes about extension processing in Steps 20 and 19 of the registration and authentication ceremonies respectively; thus this does not seem out of place. By being placed in the ceremony criteria, we don't have to worry about applying disclaimers for specific extensions (e.g., PRF).