WebAuthn attestation formats
During WebAuthn registration an authenticator can return an attestation
statement proving its make, model and that the key was generated in genuine
hardware. The fmt field of the CBOR attestation object names the format. This
reference covers every standard format, its trust model, and how a relying party
verifies it.
How it works
The authenticator returns an attestation object with three parts:
{
fmt: "packed", // the statement format name
authData: <bytes>, // RP ID hash, flags, counter, AAGUID, credential
attStmt: { alg, sig, x5c } // format-specific signature + cert chain
}
The relying party hashes the client data, concatenates it with authData, and
verifies sig over that data using either the credential public key (self
attestation) or the attestation certificate in x5c, then walks the certificate
chain to a trusted root (basic / AttCA). The AAGUID in authData identifies
the authenticator model and can be matched against the FIDO Metadata Service.
Tips and notes
- For most consumer sign-ins, request attestation
none— it avoids cert verification and the privacy risk of identifying the exact device. packedwithx5cis the common enterprise choice when you must confirm an approved authenticator model via the FIDO MDS.tpmattestation carries TPM-specific structures (certInfo,pubArea) and needs a TPM-aware verifier.- Always verify the signature and the certificate path; a valid signature from an untrusted cert proves nothing about the hardware.