Re: [webauthn] "android-key" and "android-safetynet" are really basic attestation type support? (#1819)

@arnar As per the WebAuthn spec, Android Keystore attestation process is as follows.

- Verify that sig is a valid signature over the concatenation of authenticatorData and clientDataHash using the public key in the first certificate in x5c with the algorithm specified in alg. 
- Verify that the public key in the first certificate in x5c matches the [credentialPublicKey](https://w3c.github.io/webauthn/#authdata-attestedcredentialdata-credentialpublickey) in the [attestedCredentialData](https://w3c.github.io/webauthn/#authdata-attestedcredentialdata) in authenticatorData.

The attestation signature is generated with a public key in the attestation certificate (leaf certificate of the chain) and the public key and *that public key* is also matched to the credential public key in the authData, which means that the attestation certificate is not batched one and it is generated dynamically based on the credential public key.

In this case, I'm thinking that Android Keystore attestation is a type of "AnonCA".

> You are correct that it should really be marked as AnonCA. I don't currently see any problem with changing that in the spec, but I could be missing some side effects with RP specific processing.

In our case, we are not restricting any of attestation types and have no plan to do it in near future, but we've maintained such information for further future use cases. But, I'm thinking that this is about the trust model of the authenticator and spec needs to correctly reflect such trust model.

-- 
GitHub Notification of comment by Kieun
Please view or discuss this issue at https://github.com/w3c/webauthn/issues/1819#issuecomment-1405930845 using your GitHub account


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

Received on Friday, 27 January 2023 02:10:20 UTC