AuthenticatorAssertionResponse.authenticatorData
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.
Contexte sécurisé: Cette fonctionnalité est uniquement disponible dans des contextes sécurisés (HTTPS), pour certains navigateurs qui la prennent en charge.
La propriété authenticatorData
(rattachée à l'interface AuthenticatorAssertionResponse
) fournit un ArrayBuffer
qui contient les informations relatives à l'authenticateur tels que :
- l'empreinte d'identifiant (rpIdHash pour Relying Party ID Hash)
- un compteur de signature
- un test quant à la présence de l'utilisateur
- des marqueurs (flags) de vérification de l'utilisateur
- les éventuelles extensions traitées par l'authenticateur
Cette propriété est signée par l'authenticateur (c'est l'un des deux champs qui est signé).
Syntaxe
var authnrData = assertion.response.authnrData;
Valeur
Un objet ArrayBuffer
dont la propriété ArrayBuffer.byteLength
indique qu'il mesure au moins 37 octets et qui contient les champs suivants :
-
rpIdHash
(32 octets) - Une empreinte SHA256 de l'identifiant de la partie fiable (i.e. - le domaine) tel que vu par le navigateur. Le serveur s'assurera ensuite que cette empreinte correspond à sa propre origine afin d'empêcher les tentatives de hameçonnage (phishing) ou d'autres attaques de l'homme du milieu (man-in-the-middle). -
flags
(1 octet) - Une série de bits qui indique les différents attributs validés par l'authenticateur. Les bits sont décrits comme suit (où le bit 0 correspond au bit de poids faible) (tous les bits ne sont pas mentionnés car certains sont réservés pour une utilisation future) :- Bit 0 : Présence de l'utilisateur (User Presence - UP) : si ce bit est actif, cela signifie que l'authenticateur a validé la présence de l'utilisateur par un test de présence (Test of User Presence - TUP). Cela peut notamment correspondre à l'appui sur un bouton de l'authenticateur.
- Bit 2 : Vérification de l'utilisateur (User Verification - UV) : si ce bit est actif, cela signifie que l'authenticateur a vérifié l'utilisateur en question via une méthode d'authentification (biométrique, code PIN, autre).
- Bit 6 : Présence des données d'authentification vérifiées (Attested Credential Data - AT) : si ce bit est actif, le champ
attestedCredentialData
suivra immédiatement après les 37 premiers octets de cet objet. - Bit 7 : Présence des données d'extension (Extension data - ED) : si ce bit est actif, les données d'extensions suivront le champ
attestedCredentialData
s'il est présent ou seront situées après les 37 premiers octets de cet objet sinon.
-
signCount
(4 octets) : un compteur de signature provenant de l'authenticateur. Cela permet au serveur de détecter un éventuel clonage de l'authenticateur. -
attestedCredentialData
(longueur variable) : les informations d'authentification qui ont été créées. Ce champ est uniquement présent lors d'un appel ànavigator.credentials.create()
. Ces informations sont représentées par une séquence d'octets au format suivant :AAGUID
(16 octets) - Authenticator Attestation Globally Unique Identifier, un identifiant universel unique pour l'attestation de l'authenticateur qui identifie le modèle de l'authenticateur (pas cet exemplaire en particulier) afin qu'une autre partie puisse comprendre les caractéristiques de l'authenticateur en consultant ses méta-données.credentialIdLength
(2 octets) - la longueur, en octets, de l'identifiant d'authentification qui suit ces octets.credentialId
(longueur variable) - un identifiant unique pour ces informations d'authentification et qui pourra être demandé pour de futures authentifications. Cette information mesurecredentialIdLength
octets.credentialPublicKey
(longueur variable) - une clé publique encodée au format COSE. Cette clé publique sera stockée sur le serveur et associée au compte de l'utilisateur afin d'être utilisée pour de futures authentifications.
-
extensions
(longueur variable) - Une carte optionnelle, encodée au format CBOR, et qui contient les extensions de l'authenticateur.
Exemples
TBD
Spécifications
Specification |
---|
Web Authentication: An API for accessing Public Key Credentials - Level 3 # dom-authenticatorassertionresponse-authenticatordata |
Compatibilité des navigateurs
BCD tables only load in the browser