Heim > Web-Frontend > CSS-Tutorial > Passkeys: Was zum Teufel und warum?

Passkeys: Was zum Teufel und warum?

William Shakespeare
Freigeben: 2025-03-09 10:44:11
Original
707 Leute haben es durchsucht

Passkeys: What the Heck and Why?

Passkeys gewinnen als revolutionäre Authentifizierungsmethode schnell an die Traktion. In W3C TPAC 2022, die prominent vorgestellt wurden, haben sie in Safari 16, macOS, iOS integriert, und sind bereit, der Standard für Kennwortmanager wie 1Password zu werden. Bereits bei Android unterstützt, werden zukünftige Veröffentlichungen die PassKey -Funktionalität in Chrome OS und Windows bringen.

In der Front-End-Community, die oft übersehen wird, ist Passkeys 'Auswirkungen auf die Benutzererfahrung, insbesondere die Authentifizierung und Formulierung, unbestreitbar. In diesem Artikel werden Passkeys und die WebAuthn -API untersucht, die ein umfassendes Verständnis dieser aufkommenden Technologie bieten.

Inhaltsverzeichnis

  • Key Terminology
  • Passkeys
  • verstehen
  • Passkeys: ein Kennwortersatz
  • Kryptographie erklärt
  • Zugriff auf Passkeys
  • Passkeys gegen WebAuthn
  • Der Authentifizierungsprozess: eine Zusammenfassung
  • Ein detaillierter Blick auf die PassKey -Implementierung
  • mögliche Nachteile
  • Die Zukunft von Passkeys
  • Weitere Ressourcen

Key Terminology

Die Navigation in der Welt der Passkeys erfordert Vertrautheit mit spezifischer Terminologie. Lassen Sie uns einige Schlüsselkonzepte klären:

  • REGELYING Party (Server): Die Serverhandhabungs -Authentifizierungsanforderungen. Wir werden in diesem Artikel "Server" verwenden.
  • Client: Der Webbrowser oder Betriebssystem.
  • Authenticator: Software oder Hardware generieren und speichern öffentliche Schlüsselpaare.
  • FIDO: Eine Open Standards -Organisation, die FIDO -Anmeldeinformationen definiert.
  • WebAuthn: Das zugrunde liegende Protokoll für Passkeys (auch als FIDO2-Anmeldeinformationen oder Einzelgeschwindigkeits-FIDO-Anmeldeinformationen bezeichnet).
  • Passkeys: WebAuthn mit Cloud-Synchronisation (Multi-Device-FIDO-Anmeldeinformationen, aufdeckbare Anmeldeinformationen oder Resident-Anmeldeinformationen).
  • Kryptographie der öffentlichen Schlüssel: Ein System, das private und öffentliche Schlüsselpaare zur Unterschrift/Überprüfung oder Verschlüsselung/Entschlüsselung verwendet (asymmetrische Kryptographie).
  • rsa: Ein kryptografischer Algorithmus für öffentliche Schlüssel.
  • Kryptographie (ECC) elliptische Kurve (ECC): Ein moderner Kryptographie -Algorithmus für öffentliche Schlüssel.
  • ES256: Eine elliptische Kurve öffentlicher Schlüssel unter Verwendung des ECDSA -Signieralgorithmus mit SHA256 Hashing.
  • rs256: Ähnlich wie ES256, verwendet RSA jedoch mit RSASSA-PKCS1-V1.5 und SHA256.

Passkeys

verstehen

Bevor wir über Passkeys diskutieren, müssen wir WebAuthn (FIDO2) verstehen. Passkeys bauen auf WebAuthn auf und nutzen die Kryptographie der öffentlichen Schlüssel, um Passwörter zu ersetzen. Ein Sicherheitsgerät (Hardwareschlüssel oder TPM) generiert private und öffentliche Schlüssel.

Der öffentliche Schlüssel ist offen zugänglich, während der private Schlüssel auf dem Erzeugungsgerät sicher gespeichert bleibt. Eine wichtige Einschränkung von WebAuthn war die Abhängigkeit von Geräte; Das Gerät zu verlieren bedeutete, Zugriff zu verlieren. PassKeys adressiert dies über die Cloud -Synchronisation und ermöglicht den Zugriff auf mehrere Geräte. Es ist jedoch wichtig zu beachten

Derzeit bieten iOS, macOS und Android eine umfassende Unterstützung für Cloud-synchronisierte Passkeys, obwohl die Browserkompatibilität ein Faktor bleibt. Google Password Manager und Apple iCloud Keychain erleichtern die Synchronisation.

Passkeys: ein Kennwortersatz

Cryptography Public Key verwendet

. Die Daten werden mit einem privaten Schlüssel über einen Signalalgorithmus verarbeitet und dann mit dem öffentlichen Schlüssel überprüft. Jeder kann ein Schlüsselpaar generieren, aber nur der private Schlüssel kann eine Signatur mit dem entsprechenden öffentlichen Schlüssel erstellen. Diese Signatur ersetzt das Passwort. Der Server speichert den öffentlichen Schlüssel, und die Authentifizierung beinhaltet die Überprüfung des Besitzes des privaten Schlüssels, indem eine zufällige Herausforderung unterzeichnet wird.

Dieser Ansatz beseitigt die Risiken, die mit Kennwortverletzungen verbunden sind. Wenn eine Datenbank beeinträchtigt ist, werden nur öffentliche Schlüssel aufgedeckt, wodurch sie den Angreifern nutzlos werden. Vergessene Passwörter gehören der Vergangenheit an, da sich die Browser an Anmeldeinformationen erinnern und Anmeldungsprozesse vereinfachen. Biometrie oder Stifte können die Sicherheit verbessern.

Kryptographie erklärt

Kryptographie in der Öffentlichkeit nutzt private und öffentliche Schlüsselpaare. Die Verschlüsselung verwendet den öffentlichen Schlüssel des Empfängers und stellt sicher, dass nur der private Schlüssel des Empfängers entschlüsselt wird. Dies liefert Vertraulichkeit . Authentizität wird durch Unterzeichnung und Überprüfung sichergestellt. Der private Schlüssel des Absenders unterschreibt einen Nachrichten -Hash, der nur mit dem öffentlichen Schlüssel des Absenders überprüft werden kann.

Zugriff auf Passkeys

Zugriff erfordert die Schlüsselgenerierung und -speicher, die häufig durch einen Authenticator (Hardware oder Software) erleichtert wird. Softwareauthentikatoren verwenden möglicherweise eine TPM oder eine sichere Enklave, während Hardware -Authentikatoren Geräte wie Yubikeys enthalten.

Der Client zu Authenticator Protocol (CTAP) bietet eine Schnittstelle zum Zugriff auf Authentikatoren über verschiedene Methoden (NFC, USB, Bluetooth). Eine einzigartige Funktion besteht darin

Passkeys gegen WebAuthn

Passkeys (Multi-Device) unterscheiden sich von WebAuthn-Tasten (Single-Device) in Speicher- und Anmeldungsprozessen. WebAuthn benötigt einen Benutzerhandle und eine List für Zulassungszusagen, während PassKeys den Domänennamen des Servers verwenden, um zugehörige Schlüssel zu identifizieren und den Anmeldungsprozess zu optimieren. Kryptografisch sind sie im Wesentlichen identisch.

Der Authentifizierungsprozess: eine Zusammenfassung

Sowohl WebAuthn- als auch PassKey -Generation beinhaltet den Empfangen einer Serverherausforderung und die Verwendung von navigator.credentials.create, um ein Schlüsselpaar zu generieren. Der öffentliche Schlüssel wird an den Server gesendet. Login verwendet navigator.credentials.get, um eine neue Herausforderung zu unterzeichnen, die dann vom Server überprüft wird.

Ein detaillierter Blick auf die PassKey -Implementierung

PassKey -Verwendung umfasst Bescheinigung (Registrierung) und Behauptung (Anmeldung) Phasen.

Bescheinigung

navigator.credentials.create ist von zentraler Bedeutung für die Bescheinigung. Optionen geben das gewünschte Schlüsselpaar an:

// ... (code snippet for PublicKeyCredentialCreationOptions) ...
Nach dem Login kopieren

Die Antwort enthält den öffentlichen Schlüssel und clientDataJSON (enthält type, challenge und origin). Der Server validiert diese Daten und speichert den öffentlichen Schlüssel, die ID und optional den Algorithmus attestationObject und Cose.

Assertion

navigator.credentials.get verarbeitet die Behauptung.

// ... (code snippet for PublicKeyCredentialRequestOptions) ...
Nach dem Login kopieren

Die Antwort enthält die Signatur und authenticatorData (mit dem Ursprung Hash und signCount). Der Server überprüft die Signatur, clientDataJSON und signCount zur Authentifizierung.

mögliche Nachteile

aktuelle Einschränkungen umfassen eine begrenzte Support des Betriebssystems (insbesondere Windows und Linux) und mangelnde Interoperabilität zwischen Google und Apples Passkey -Plattformen.

Die Zukunft von Passkeys

weit verbreitete Einführung des Betriebssystems wird die Nutzung erhöht. Passwortmanager integrieren den Passkey -Support und der native Support auf Android und iOS wird ihre Position weiter festigen. Passkeys verspricht eine passwortlose Zukunft, die Sicherheit und Benutzererfahrung verbessert.

Weitere Ressourcen

  • Live Demo
  • Demo Github Repository
  • Yubikey -Dokumentation
  • passkeys.dev
  • passkeys.io
  • webauthn.io

Das obige ist der detaillierte Inhalt vonPasskeys: Was zum Teufel und warum?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage