The PRF extension to WebAuthn allows a pseudo-random function (i.e. HMAC), stored on the security key, to be evaluated when getting a credential. This can be used to derive secret keys used to encrypt user data.
Support on Windows depends on having a recent version of Windows. Not every security key supports the underlying hmac_secret functionality. Some passkey providers on Android 14 may not support it.
Some platforms may have assumed that the web would not ever be able to access the HMAC oracles in security keys. Therefore the HMAC inputs are hashed with a context string before being used, thus preventing sites from evaluating any HMAC input from the native domain.
WebAuthn is not currently supported in WebViews. If that changes, this feature isn't expected to cause any specific difficulties. It remains the case that apps need to be authorized by assetlinks.json to access WebAuthn credentials.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAL9PXLwSTfuePtL9d2BrF%2BPjXkipxY-f4TPCDMHpv5ESwqA1uQ%40mail.gmail.com.
You received this message because you are subscribed to a topic in the Google Groups "blink-dev" group.
To unsubscribe from this topic, visit https://groups.google.com/a/chromium.org/d/topic/blink-dev/iTNOgLwD2bI/unsubscribe.
To unsubscribe from this group and all its topics, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAA44PQhNjhx0jT5f2PZ-T-dG3JFQdh3Bjsb%3DkDSoxJ38bVXqSQ%40mail.gmail.com.
This looks good on the surface, but I'm wondering if there's sample code somewhere that can demonstrate how this would be used?
1 Password is also supportive of this extension being added. Being able to encrypt data alongside a credential would be useful to us and our users.I'd like some clarification on the contextual string being provided for HMAC hashing. What is the expected context input being provided?
I think this was discussed before with mmenke@, but he's ooo:How does this feature work in cross-site iframes? What prevents the PRF from acting as a cross site identifier (are credentials usable in cross site iframes)?
Contact emails
a...@chromium.orgExplainer
https://github.com/w3c/webauthn/wiki/Explainer:-PRF-extensionSpecification
https://w3c.github.io/webauthn/#prf-extensionSummary
The PRF extension to WebAuthn allows a pseudo-random function (i.e. HMAC), stored on the security key, to be evaluated when getting a credential. This can be used to derive secret keys used to encrypt user data.
Blink component
Blink>WebAuthenticationSearch tags
webauthn, prf, hmacTAG review
https://github.com/w3ctag/design-reviews/issues/806TAG review status
CompleteRisks
Interoperability and Compatibility
Support on Windows depends on having a recent version of Windows. Not every security key supports the underlying hmac_secret functionality. Some passkey providers on Android 14 may not support it.
Gecko: No signal
WebKit: No signal
Web developers: We've had several requests to enable this. Hopefully some will reply to this thread in the coming week.Security
Some platforms may have assumed that the web would not ever be able to access the HMAC oracles in security keys. Therefore the HMAC inputs are hashed with a context string before being used, thus preventing sites from evaluating any HMAC input from the native domain.
WebView application risks
WebAuthn is not currently supported in WebViews. If that changes, this feature isn't expected to cause any specific difficulties. It remains the case that apps need to be authorized by assetlinks.json to access WebAuthn credentials.
Debuggability
This feature is supported by Chromium's simulated security key and can be used by Web Driver tests and, later, could be exposed in DevTools.Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, Chrome OS, Android, and Android WebView)?
Yes, although support for WebAuthn in WebViews in general is still in the future.Is this feature fully tested by web-platform-tests?
YesFlag name
chrome://flags/#enable-experimental-web-platform-features, although it'll have a separate killswitch flag when default enabled.Requires code in //chrome?
FalseTracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1106961Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5138422207348736Links to previous Intent discussions
Intent to prototype: https://groups.google.com/a/chromium.org/g/blink-dev/c/t_9QdJ7hcls/m/CAAOGBIVBgAJ
--
Thanks, makes sense -- can a note about this be added to the privacy section of the explainer / spec?
WebKit: No signalHave we asked? If not, can you file for positions according to https://bit.ly/blink-signals?
CheersAGL
Hello. I don't have any present use cases as a web developer here, but I'm very excited & thrilled to see this extension. Giving users ways to secure their data is a very significant win & this seems like a straightforward low-level capability to enable that. Thanks.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/605d0dee-68a5-4b09-9483-23d6f887a4f4n%40chromium.org.
LGTM2
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAKXHy%3DdWHXvHoK2cfFP6dcZ6b-wnDv%3DyY4aeMa-b_4JcxoZpAw%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/427228ad-4183-fbc6-7b77-ab3eac94cb79%40chromium.org.
On Thursday, May 4, 2023 at 6:11:17 PM UTC-4 Adam Langley wrote:On Tue, May 2, 2023 at 9:55 AM Caleb Raitto <cara...@chromium.org> wrote:Thanks, makes sense -- can a note about this be added to the privacy section of the explainer / spec?I think the Privacy section covers that now. If you see gaps, please do let me know.I was thinking we should have some language specifically about the cross-origin iframe case -- I didn't see that in the explainer or spec when I checked just now? Basically something like your previous response would be sufficient, I think?
Are there any updates on this Intent To Ship? I would also love this extension as it allows for an amazing UX for encryption.
This will hit stable in M116.
I don't see any movement on
https://github.com/mozilla/standards-positions/issues/798 or
https://github.com/WebKit/standards-positions/issues/183, but
there may be bugs in their public trackers you can find and
follow.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/f188db04-9f77-45c3-b3d4-efea6acd6793n%40chromium.org.
it's been 1 year, There any update about this on chrome. I am tried to run passkey with Chrome Canary 130, but it seems doesn't support RPF ExtensionOn Thursday, July 27, 2023 at 12:26:18 AM UTC+7 Mike Taylor wrote:
Do you have a demo or sample site where this works on Chromium browsers? Most demos I try where I set up a passkey on my Chrome profile say "prf: {enabled: false}". For example https://levischuck.com/blog/2023-02-prf-webauthn
Thanks for the detailed information. I’m still a bit unsure about how to properly test the PRF extension on my device. Here are the specifics of my setup:
Could you clarify if my device supports the PRF extension? Which browser should I use to test it effectively? Also, would it be better to use Google Password Manager for this?
I'm currently testing online using this site(
). Is the status of this site up-to-date? I noticed that the last update on the related issue was about a year ago: GitHub Issue #13( ).I appreciate any guidance you can provide!