tweag / webauthn

A library for parsing and validating webauthn/fido2 credentials
Apache License 2.0
34 stars 11 forks source link

Report spec violations in FIDO Metadata #68

Open infinisil opened 2 years ago

infinisil commented 2 years ago

While implementing the parsing of the structures from the FIDO Metadata Service and the FIDO Metadata Statements, some spec violations were found when tested using the BLOB from downloaded from https://mds.fidoalliance.org/. We should report these violations so that they get fixed. The email to reach out to is certification@fidoalliance.org, see also https://fidoalliance.org/metadata/.

Here are the violations we currently know about. Note that this is based on the BLOB payload in https://github.com/tweag/haskell-fido2/blob/0175bb0d0cd941318d2db4b49082ef0a499a85d4/tests/golden-metadata/big/payload.json, which might be outdated.

sumo commented 1 year ago

Seeing this issue with the latest MDS, with Security Key NFC by Yubico. The attestationCertificateKeyIdentifiers is not a valid SHA1 hash as it is missing two digits. With data that varies in quality is this a motivation to continue parsing the MDS but ignore (and log) bad entries? Don't know the implications of this but given the current situation of needing to fix out of band, this might be more resilient.

sumo commented 1 year ago

What's the best way to workaround this till it is updated in the MDS? Load the registry from a modified payload (using out of band process to verify MDS blob)?

infinisil commented 1 year ago

I agree that it should at least be possible to ignore the errors. I don't have time myself to implement this but if somebody else does I could help them to navigate the code base.

As an alternative workaround, if you have access to older versions of the blob, load the latest one that's not invalid.

sumo commented 1 year ago

Sounds good, will send a PR soon.


From: Silvan Mosberger @.> Sent: Tuesday, March 7, 2023 11:46:28 PM To: tweag/webauthn @.> Cc: Sumit Raja @.>; Comment @.> Subject: Re: [tweag/webauthn] Report spec violations in FIDO Metadata (Issue #68)

I agree that it should at least be possible to ignore the errors. I don't have time myself to implement this but if somebody else does I could help them to navigate the code base.

As an alternative workaround, if you have access to older versions of the blob, load the latest one that's not invalid.

— Reply to this email directly, view it on GitHubhttps://github.com/tweag/webauthn/issues/68#issuecomment-1458111888, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AACJYQGFGPKCJBY46SJORCDW24U2JANCNFSM5KBYEK5Q. You are receiving this because you commented.Message ID: @.***>