You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
P-3 Send a valid ServerAuthenticatorAttestationResponse with "tpm" attestation pubArea.nameAlg is not matching algorithm used for generate attested.name, and check that server succeeds
The verification procedure is failing to verify the certificateInfo, specifically in this step:
Verify that attested contains a TPMS_CERTIFY_INFO structure as specified in [TPMv2-Part2] section 10.12.3, whose name field contains a valid Name for pubArea, as computed using the algorithm in the nameAlg field of pubArea using the procedure specified in [TPMv2-Part1] section 16. [source]
As stated in the WebAuthn spec – and as it's implemented in tpm-key_attestation – we are using the nameAlg field of the pubArea to compute the name of the public object and since, on this case, the algorithm used for generate the name in the certInfo is different from the algorithm identified by pubArea's nameAlg – and thus both nameAlgs differ –, the computed public object name is different from certInfo's name and therefore the verification fails.
After many discussions involving the original author Yuri Ackermann, @dturnerx , and TPM SME Monty Wiseman it has been determined that the algorithm identifier in certInfo is authoritative, and that in public area should always be the same.
How to run FIDO2 conformance tests: https://github.com/cedarcode/webauthn-ruby/tree/master/spec/conformance.
The text was updated successfully, but these errors were encountered: