webauthn icon indicating copy to clipboard operation
webauthn copied to clipboard

supplementalPubKeys attestation incompatible with most verification procedures

Open emlun opened this issue 1 year ago • 0 comments

The supplementalPubKeys extension states for its attestation signing procedure:

Therefore when calculating an attestation for a supplemental public key, the inputs are:

  • For authData, substitute the concatenation of the byte string h’737570706c656d656e74616c5075624b657973206174746573746174696f6e2e00ffffffff' and the value of aaguid from the extension output.
  • For hash, substitute the concatenation of the spk and nonce fields from the extension output. (The nonce MAY be empty.)

However, this is incompatible with most of the attestation verification procedures since most of them extract one or more fields from the authData argument:

So existing implementations of these verification procedures may fail to verify a supplementalPubKeys attestation. The extension may need to specify modifications to the verification procedures, or adjust the extension's signing procedure to take arguments with the same structure as the original signing procedures.

emlun avatar May 20 '24 14:05 emlun