Passkeys gagnent rapidement en traction en tant que méthode d'authentification révolutionnaire. En bonne place au W3C TPAC 2022, ils se sont intégrés dans Safari 16, MacOS, iOS, et sont prêts à devenir la norme pour les gestionnaires de mots de passe comme 1Password. Déjà pris en charge sur Android, les versions futures apporteront des fonctionnalités de lakeke à Chrome OS et Windows.
Bien que souvent négligé dans la communauté frontale, l'impact de Passkeys sur l'expérience utilisateur, en particulier concernant l'authentification et le traitement de formulaire, est indéniable. Cet article explore Passkeys et l'API WebAuthn, offrant une compréhension complète de cette technologie émergente.
Table des matières
- Terminologie clé
- Comprendre Passkeys
- Passkeys: un remplacement de mot de passe
- La cryptographie expliquée
- Accéder à Passkeys
- Passkeys vs webauthn
- Le processus d'authentification: un résumé
- un regard détaillé sur la mise en œuvre de Passkey
- Inconvénients potentiels
- L'avenir de Passkeys
- Ressources supplémentaires
Terminologie clé
naviguer dans le monde des clés de pass nécessite une familiarité avec une terminologie spécifique. Clarifions quelques concepts clés:
- Rapport de la partie (serveur): Les demandes d'authentification de gestion de serveur. Nous utiliserons "serveur" tout au long de cet article.
- Client: Le navigateur Web ou le système d'exploitation.
- Authenticatrice: Génération de logiciels ou de matériel et de stockage de paires de clés publiques.
- fido: Une organisation de normes ouvertes définissant les informations d'identification FIDO.
- webAuthn: Le protocole sous-jacent pour PassKeys (également connu sous le nom d'identification FIDO2 ou les informations d'identification FIDO).
- PassKeys: webauthn avec synchronisation cloud (références FIDO multi-appareils, informations d'identification découvrables ou informations d'identification résidentes).
- Cryptographie de clé publique: Un système utilisant des paires de clés privées et publiques pour la signature / vérification ou le cryptage / décryptage (cryptographie asymétrique).
- RSA: un algorithme de cryptographie de clé publique.
- Cryptographie de la courbe elliptique (ECC): un algorithme de cryptographie public de clé publique moderne.
- ES256: Une clé publique de courbe elliptique utilisant l'algorithme de signature ECDSA avec hachage SHA256.
- RS256: similaire à ES256, mais utilise RSA avec RSASSA-PKCS1-V1.5 et Sha256.
Comprendre Passkeys
Avant de discuter de Passkeys, nous devons comprendre WebAuthn (FIDO2). PassKeys s'appuie sur WebAuthn, en tirant parti de la cryptographie de clé publique pour remplacer les mots de passe. Un périphérique de sécurité (clé matérielle ou TPM) génère des clés privées et publiques.
La clé publique est ouvertement accessible, tandis que la clé privée reste en toute sécurité stockée sur le dispositif de génération. Une limitation clé de WebAuthn était la dépendance de l'appareil; Perdre l'appareil signifiait perdre l'accès. PassKeys aborde cela grâce à la synchronisation du cloud, permettant un accès sur plusieurs appareils. Cependant, il est important de noter que les informations d'identification à disque unique existent également.
Actuellement, iOS, MacOS et Android offrent une prise en charge complète des Passkeys synchronisés dans le cloud, bien que la compatibilité des navigateurs reste un facteur. Google Password Manager et Apple iCloud Keychain Facilite la synchronisation.
Passkeys: un remplacement de mot de passe
La cryptographie de clé publique utilise Signer . Les données sont traitées à l'aide d'une clé privée via un algorithme de signature, puis vérifié à l'aide de la clé publique. Tout le monde peut générer une paire de clés, mais seule la clé privée peut créer une signature vérifiable avec la clé publique correspondante. Cette signature remplace le mot de passe. Le serveur stocke la clé publique et l'authentification implique de vérifier la possession de la clé privée en signant un défi aléatoire.
Cette approche élimine les risques associés aux violations de mot de passe. Si une base de données est compromise, seules les clés publiques sont exposées, ce qui les rend inutiles aux attaquants. Les mots de passe oubliés deviennent une chose du passé, car les navigateurs se souviennent des informations d'identification, simplifiant les processus de connexion. La biométrie ou les épingles peuvent améliorer la sécurité.
La cryptographie expliquée
La cryptographie de clé publique utilise des paires clés privées et publiques. Le cryptage utilise la clé publique du destinataire, garantissant que seule la clé privée du destinataire peut décrypter. Cela fournit confidentialité . Authenticité est assurée par la signature et la vérification. La clé privée de l'expéditeur signe un hachage de message, vérifiable uniquement avec la clé publique de l'expéditeur.
Accéder à Passkeys
L'accès nécessite la génération et le stockage de clés, souvent facilitées par un Authenticator (matériel ou logiciel). Les authentificateurs de logiciels peuvent utiliser un TPM ou une enclave sécurisée, tandis que les authentificateurs matériels incluent des appareils comme Yubikeys.
Le protocole Client to Authenticator (CTAP) fournit une interface pour accéder aux authentificateurs via diverses méthodes (NFC, USB, Bluetooth). Une fonctionnalité unique utilise un téléphone (via Bluetooth) en tant qu'authentificateur pour les appareils dépourvus de support Native Passkey.
Passkeys vs webauthn
PassKeys (multi-appareils) diffèrent des touches WebAuthn (apparence unique) dans les processus de stockage et de connexion. WebAuthn nécessite une poignée utilisateur et une liste d'autoroute, tandis que PassKeys utilise le nom de domaine du serveur pour identifier les clés associées, rationalisant le processus de connexion. Cryptographiquement, ils sont essentiellement identiques.
Le processus d'authentification: un résumé
La génération WebAuthn et PassKey impliquent de recevoir un défi de serveur et d'utiliser navigator.credentials.create
pour générer une paire de clés. La clé publique est envoyée au serveur. Login utilise navigator.credentials.get
pour signer un nouveau défi, qui est ensuite vérifié par le serveur.
un regard détaillé sur la mise en œuvre de Passkey
L'utilisation de la clé passante implique d'attestation (enregistrement) et phases d'assistance (connexion).
ATTESTATION
navigator.credentials.create
est central à l'attestation. Options Spécifiez la paire de clés souhaitée:
// ... (code snippet for PublicKeyCredentialCreationOptions) ...
La réponse comprend la clé publique et clientDataJSON
(contenant type
, challenge
et origin
). Le serveur valide ces données et stocke la clé publique, l'ID, et éventuellement l'algorithme attestationObject
et COSE.
Assertion
navigator.credentials.get
gère l'affirmation.
// ... (code snippet for PublicKeyCredentialRequestOptions) ...
La réponse comprend la signature et authenticatorData
(contenant le hachage d'origine et signCount
). Le serveur vérifie la signature, clientDataJSON
et signCount
pour l'authentification.
Inconvénients potentiels
Les limitations actuelles incluent une prise en charge limitée du système d'exploitation (en particulier Windows et Linux) et le manque d'interopérabilité entre les plates-formes Passkey de Google et Apple.
L'avenir de Passkeys
L'adoption généralisée du système d'exploitation entraînera une utilisation accrue. Les gestionnaires de mots de passe intégreront le support de lakeke, et le support natif sur Android et iOS solidifieront davantage leur position. PassKeys promet un avenir sans mot de passe, améliorant la sécurité et l'expérience utilisateur.
Ressources supplémentaires
- Demo en direct
- Démo GitHub Repository
- Documentation Yubikey
- Passkeys.dev
- Passkeys.io
- webauthn.io
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

CSS Grid est un outil puissant pour créer des dispositions Web complexes et réactives. Il simplifie la conception, améliore l'accessibilité et offre plus de contrôle que les méthodes plus anciennes.

L'article traite de CSS Flexbox, une méthode de mise en page pour l'alignement et la distribution efficaces de l'espace dans les conceptions réactives. Il explique l'utilisation de Flexbox, la compare à la grille CSS et détaille la prise en charge du navigateur.

L'article traite des techniques de création de sites Web réactifs à l'aide de CSS, y compris des balises de méta de la fenêtre, des grilles flexibles, des médias fluides, des requêtes multimédias et des unités relatives. Il couvre également l'utilisation de la grille CSS et de Flexbox ensemble et recommande le cadre CSS

L'article traite de la propriété CSS-Box-Sizing, qui contrôle comment les dimensions des éléments sont calculées. Il explique des valeurs telles que la boîte de contenu, la boîte de bordure et la boîte de padding, et leur impact sur la conception de la disposition et l'alignement de la forme.

L'article discute de la création d'animations à l'aide de CSS, de propriétés clés et de combinaison avec JavaScript. Le principal problème est la compatibilité du navigateur.

L'article discute de l'utilisation de CSS pour les transformations 3D, les propriétés clés, la compatibilité du navigateur et les considérations de performances pour les projets Web. (Compte de caractère: 159)

L'article discute de l'utilisation des gradients CSS (linéaire, radial, répétant) pour améliorer les visuels du site Web, l'ajout de profondeur, de concentration et d'esthétique moderne.

L'article traite des pseudo-éléments dans CSS, de leur utilisation dans l'amélioration du style HTML et des différences par rapport aux pseudo-classes. Fournit des exemples pratiques.


Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

DVWA
Damn Vulnerable Web App (DVWA) est une application Web PHP/MySQL très vulnérable. Ses principaux objectifs sont d'aider les professionnels de la sécurité à tester leurs compétences et leurs outils dans un environnement juridique, d'aider les développeurs Web à mieux comprendre le processus de sécurisation des applications Web et d'aider les enseignants/étudiants à enseigner/apprendre dans un environnement de classe. Application Web sécurité. L'objectif de DVWA est de mettre en pratique certaines des vulnérabilités Web les plus courantes via une interface simple et directe, avec différents degrés de difficulté. Veuillez noter que ce logiciel

Navigateur d'examen sécurisé
Safe Exam Browser est un environnement de navigation sécurisé permettant de passer des examens en ligne en toute sécurité. Ce logiciel transforme n'importe quel ordinateur en poste de travail sécurisé. Il contrôle l'accès à n'importe quel utilitaire et empêche les étudiants d'utiliser des ressources non autorisées.

mPDF
mPDF est une bibliothèque PHP qui peut générer des fichiers PDF à partir de HTML encodé en UTF-8. L'auteur original, Ian Back, a écrit mPDF pour générer des fichiers PDF « à la volée » depuis son site Web et gérer différentes langues. Il est plus lent et produit des fichiers plus volumineux lors de l'utilisation de polices Unicode que les scripts originaux comme HTML2FPDF, mais prend en charge les styles CSS, etc. et présente de nombreuses améliorations. Prend en charge presque toutes les langues, y compris RTL (arabe et hébreu) et CJK (chinois, japonais et coréen). Prend en charge les éléments imbriqués au niveau du bloc (tels que P, DIV),

Dreamweaver CS6
Outils de développement Web visuel

Adaptateur de serveur SAP NetWeaver pour Eclipse
Intégrez Eclipse au serveur d'applications SAP NetWeaver.
