AuthenticatorAssertionResponse.authenticatorData

Brouillon
Cette page n'est pas terminée.

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 mesure credentialIdLength 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

Specifications

Spécification État Commentaires
Web Authentication: An API for accessing Public Key Credentials Level 1 Candidat au statut de recommandation Définition initiale.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung Internet
AuthenticatorAssertionResponseChrome Support complet 67
Support complet 67
Support complet 65
Notes Désactivée
Notes Only supports USB U2F tokens.
Désactivée From version 65: this feature is behind the Web Authentication API preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Support complet 18Firefox Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 70Chrome Android Support complet 70Firefox Android Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android ?
authenticatorDataChrome Support complet 67
Support complet 67
Support complet 65
Notes Désactivée
Notes Only supports USB U2F tokens.
Désactivée From version 65: this feature is behind the Web Authentication API preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Support complet 18Firefox Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 70Chrome Android Support complet 70Firefox Android Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android ?
signatureChrome Support complet 67
Support complet 67
Support complet 65
Notes Désactivée
Notes Only supports USB U2F tokens.
Désactivée From version 65: this feature is behind the Web Authentication API preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Support complet 18Firefox Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 70Chrome Android Support complet 70Firefox Android Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android ?
userHandleChrome Support complet 67
Support complet 67
Support complet 65
Notes Désactivée
Notes Only supports USB U2F tokens.
Désactivée From version 65: this feature is behind the Web Authentication API preference (needs to be set to Enabled). To change preferences in Chrome, visit chrome://flags.
Edge Support complet 18Firefox Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
IE Aucun support NonOpera Aucun support NonSafari Aucun support NonWebView Android Support complet 70Chrome Android Support complet 70Firefox Android Support complet 60
Notes
Support complet 60
Notes
Notes Only supports USB U2F tokens.
Opera Android Aucun support NonSafari iOS Aucun support NonSamsung Internet Android ?

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue
Voir les notes d'implémentation.
Voir les notes d'implémentation.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.
Une action explicite de l'utilisateur est nécessaire pour activer cette fonctionnalité.