Saltar al contenido
ecdsa.com

Datos del autenticador

La estructura binaria que lleva toda respuesta de WebAuthn: el SHA-256 de 32 bytes del RP ID, un byte de indicadores, un contador de firmas de 4 bytes y, de forma opcional, los datos de credencial atestada y las salidas de extensiones en CBOR.
También se escribeauthenticatorDataauthDatarpIdHashsignCountflags byte

Indicadores (WebAuthn Level 3 §6.1): bit 0 UP (usuario presente), bit 2 UV (usuario verificado), bit 3 BE (admite copia de seguridad), bit 4 BS (estado de la copia de seguridad), bit 6 AT (incluye datos de credencial atestada), bit 7 ED (incluye extensiones); los bits 1 y 5 están reservados. Sin AT ni ED ocupa exactamente 37 bytes. Los datos de credencial atestada, presentes en el registro, son un AAGUID de 16 bytes, la longitud del ID de credencial en 2 bytes, el ID de credencial y la clave pública COSE.

La firma de la aserción cubre authenticatorData ‖ SHA-256(clientDataJSON), así que la relying party debe verificar el hash del RP ID con su propio RP ID, comprobar UP (y UV, si lo exige) y evaluar el contador. Los autenticadores que no implementan un contador de firmas lo dejan a cero, lo habitual en las llaves de acceso sincronizadas; un contador que retrocede en un autenticador que sí lo usa puede indicar una llave clonada.

Estándares y referencias

Todos los términos