Présentation des passkeys
Les passkeys sont actuellement l'élément le plus important en matière de sécurité de l'information, car elles constituent la seule solution fondée sur des principes pour lutter contre l'efficacité écrasante des attaques de phishing. Cependant, leur mise en œuvre côté serveur peut sembler plus complexe que l'utilisation de hachages de mots de passe.
Fonctionnement des passkeys
La spécification WebAuthn définit un enregistrement de référence comme un concept abstrait avec plusieurs composants tels que le type, l'ID, la clé publique, l'état de sauvegarde, les transports et d'autres indicateurs. Les passkeys nécessitent une interaction avec le navigateur pour obtenir leurs propriétés de résistance au phishing. Un format d'enregistrement de passkey interopérable peut servir de couche d'abstraction pour faciliter leur mise en œuvre.
Format d'enregistrement de passkey
La proposition de spécification c2sp.org/passkey-record emprunte la syntaxe des chaînes PHC et réutilise le codage des données d'authentificateur existant pour la majeure partie du travail. Un enregistrement ressemble à ceci : $webauthn$v=1$transports=hybrid+internal$. Le chargement utile est les données d'authentificateur, un codage CBOR CTAP2 de la plupart des champs de l'enregistrement de référence qui est déjà spécifié par WebAuthn et inclus dans le codage JSON de AuthenticatorAttestationResponse.
Implémentation et sécurité
Les applications peuvent stocker ces chaînes de passkey opaques et les passer à une bibliothèque pour vérifier l'assertion de connexion. Un format de stockage interopérable permettrait aux applications de basculer entre les bibliothèques de passkey ou même les langages de backend tout en préservant une base de données de références. Les attaques basées sur des collisions d'ID de référence ne peuvent pas se produire si vous n'avez pas d'index d'ID de référence.
$webauthn$v=1$transports=hybrid+internal$<base64 authenticator data>