[webauthn] Support for FIDO passkey with HMAC-Secret extension (#1830)

Sebastian-Elfors-IDnow has just created a new issue for https://github.com/w3c/webauthn:

== Support for FIDO passkey with HMAC-Secret extension ==
## Description

Currently, the HMAC-Secret extension is specified in the [CTAP2 specification](https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html#sctn-hmac-secret-extension). Hence, the HMAC-Secret extension use case is limited to FIDO2 credentials on external hardware authenticators that can be accessed with native applications over CTAP2. This allows for an external hardware FIDO authenticator to generate HMAC-Secrets, which can be used as AES-keys for encryption/decryption, at multiple devices.

However, with the introduction of [FIDO passkey (aka Multi-Device Credentials)](https://fidoalliance.org/white-paper-multi-device-fido-credentials/), the FIDO2 credentials can be roamed to multiple devices. In this scenario, it could be interesting to generate FIDO passkey with support for the HMAC-Secret extension. The use case for FIDO passkey with HMAC-Secret extension could be the following: 

1. At device A, create a FIDO passkey with the HMAC-Secret extension.
2. At device A, use the FIDO passkey with the HMAC-Secret extension to generate an AES-key, which is used for encrypting data.
3. Back up the encrypted sensitive data to a server.
4. At device B, roam the FIDO passkey with the HMAC-Secret extension.
5. At device B, download the encrypted data.
6. At device B, use the FIDO passkey with the HMAC-Secret extension to generate the AES-key, which is used for decrypting the encrypted data.

This could be used for backup and restore of sensitive data between different devices, which could be useful for digital wallets.

So, here are the questions related to this feature request:

1. Could FIDO passkey credentials support the HMAC-Secret extension (without the need for CTAP2)?
2. Could the proposed [WebAuthn L3 PRF-extension](https://w3c.github.io/webauthn/#prf-extension) function be able to generate PRF values using FIDO passkey credentials with the HMAC-Secret extension?
3. Can the output PRF values be used as AES-256 keys for encrypting/decrypting opaque data?

## Related Links

* CTAP2 standard with the HMAC-Secret extension: https://fidoalliance.org/specs/fido-v2.0-id-20180227/fido-client-to-authenticator-protocol-v2.0-id-20180227.html#sctn-hmac-secret-extension.
* WebAuthn L3 PRF-extension: https://w3c.github.io/webauthn/#prf-extension.
* FIDO passkey (Multi-Device Credential) white paper: https://fidoalliance.org/white-paper-multi-device-fido-credentials/.


Please view or discuss this issue at https://github.com/w3c/webauthn/issues/1830 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Tuesday, 6 December 2022 07:02:55 UTC