Authn.tech
Startseite
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • Alle Tools
  • JWT dekodieren
  • JWT signieren
  • JWK erzeugen
  • JWK → PEM
  • PEM → JWK
  • PKCE erzeugen
  • OIDC Discovery
  • TOTP
  • WebAuthn
  • SAML-Codec
  • SAML Metadata
  • SAML Response
  • X.509-Zertifikat
  • PEM prüfen
  • Base64URL
  • LDAP-Filter
  • Übersicht & Rollen
  • OIDC Mock
  • SAML Mock
  • Mail-Server
  • LDAP-Verzeichnis
  • OIDC-Login-Demo
  • SAML-Login-Demo
  • 简体中文
  • English
  • Deutsch
GitHub
Startseite
  • SAML 2.0
  • OAuth 2.0
  • OIDC
  • WebAuthn / Passkey
  • MFA / TOTP
  • LDAP
  • Alle Tools
  • JWT dekodieren
  • JWT signieren
  • JWK erzeugen
  • JWK → PEM
  • PEM → JWK
  • PKCE erzeugen
  • OIDC Discovery
  • TOTP
  • WebAuthn
  • SAML-Codec
  • SAML Metadata
  • SAML Response
  • X.509-Zertifikat
  • PEM prüfen
  • Base64URL
  • LDAP-Filter
  • Übersicht & Rollen
  • OIDC Mock
  • SAML Mock
  • Mail-Server
  • LDAP-Verzeichnis
  • OIDC-Login-Demo
  • SAML-Login-Demo
  • 简体中文
  • English
  • Deutsch
GitHub
  • WebAuthn / Passkey

    • WebAuthn Übersicht
    • Kernkonzepte
    • Registrations- und Authentifizierungsablauf
    • Parameter- und Datenstruktur-Referenz

WebAuthn Übersicht

Was ist WebAuthn

WebAuthn (Web Authentication) ist ein von W3C festgelegter Browser-Standard-API, der es Web-Anwendungen ermöglicht, Public-Key-Kryptographie zur Registrierung und Anmeldung anstelle von traditionellen Passwörtern zu verwenden. Es ist Teil des FIDO2-Projekts der FIDO Alliance:

  • WebAuthn: W3C-Standard, definiert die Schnittstelle zwischen Browser und Web-Anwendung (JavaScript), d.h. navigator.credentials.create() und navigator.credentials.get().
  • CTAP (Client to Authenticator Protocol): FIDO Alliance Standard, definiert das Kommunikationsprotokoll zwischen Client (Browser/Betriebssystem) und externem Authenticator (Authentifizierer) (z.B. USB-, NFC-, Bluetooth-verbundene Sicherheitsschlüssel).

WebAuthn + CTAP2 zusammen werden FIDO2 genannt. Für Web-Ingenieure ist die tägliche Arbeit hauptsächlich mit der WebAuthn-API, wobei CTAP von Browser und Betriebssystem auf niedriger Ebene behandelt wird.

Welche Probleme werden gelöst

Traditionelle Passwörter haben strukturelle Mängel: Sie können zum Phishing verwendet werden, sind anfällig für Brute-Force-Attacken und können nach einer Serveroffenlegung wiederverwendet werden. WebAuthn löst diese Probleme durch folgende Designs:

  • Passwortlos / Multi-Faktor-Authentifizierung: Der private Schlüssel wird im Authentifizierer gespeichert und verlässt das Gerät nie; der Server speichert nur den öffentlichen Schlüssel. Selbst wenn die Datenbank kompromittiert ist, ist ein Login unmöglich.
  • Phishing-Resistenz: Anmeldedaten sind an origin (Quelle) gebunden. Eine für bank.com registrierte Anmeldedaten funktioniert nicht auf bank.evil.com. Der Browser erzwingt die Validierung auf Protokollebene und Benutzer können nicht "betrogen" zur Offenlegung von Anmeldedaten werden.
  • Schutz vor Replay-Angriffen: Jede ceremony (Zeremonie) verwendet einen einmaligen challenge (Herausforderung) vom Server. Das Signaturobjekt kann nicht wiedergespielt werden.

Tips

"Phishing-Resistenz" ist der Kernvorteil von WebAuthn gegenüber SMS-Codes und TOTP-Einmal-Passwörtern: Letztere können von Man-in-the-Middle-Phishing-Websites in Echtzeit weitergeleitet werden, während die Origin-Bindung von WebAuthn diese Angriffe auf kryptographischer Ebene blockiert.

Was ist Passkey

Passkey (Durchgangschlüssel) ist der von der FIDO Alliance und großen Plattformanbietern geprägte Markenname auf Verbraucherebene für WebAuthn-Anmeldedaten. Technisch ist es eine Art discoverable credential (erkennbare Anmeldedaten, auch resident key genannt) und hat normalerweise geräteübergreifende Synchronisierungsfähigkeit.

  • Erkennbar: Anmeldedaten zusammen mit Benutzerinformationen werden im Authentifizierer gespeichert. Bei der Anmeldung braucht ein Benutzername nicht vorab eingegeben werden – der Authentifizierer kann direkt verfügbare Konten "erkennen" und auflisten, um username-less (namenslose) Anmeldung zu ermöglichen.
  • Synchronisierbar: Plattformen (wie Apple iCloud Keychain, Google Password Manager, Windows Hello) synchronisieren Passkeys zwischen Geräten mit demselben Konto mit Ende-zu-Ende-Verschlüsselung und verhindern so "Anmeldedaten verlieren beim Gerätewechsel".

Die Beziehung zwischen Passkey und WebAuthn:

KonzeptPositionierung
WebAuthnW3C-Technologiestandard und Browser-API
PasskeyVerbraucherorientiertes Produktkonzept, zugrunde liegende erkennbare WebAuthn-Anmeldedaten
Synced Passkey (synchronisiert)Cloud-Synchronisierung, geräteübergreifend, hohe Komfort
Gerätebindung (device-bound)Bleibt auf einem einzelnen Gerät (z.B. Hardware-Sicherheitsschlüssel), höhere Angriffsresistenz

Warnung

Code-weise sind die API-Aufrufe zur Registrierung synchronisierter Passkeys und traditioneller WebAuthn-Anmeldedaten nahezu identisch, mit Unterschieden hauptsächlich in Parametern wie authenticatorSelection.residentKey. Nehmen Sie nicht an, dass Passkeys immer "an ein einzelnes Gerät gebunden" sind; synchronisierte Passkeys können auf mehreren Geräten erscheinen.

Drei große Rollen

  1. Relying Party (RP, abhängige Partei): Deine Web-Anwendung und deren Server. Die RP ist verantwortlich für die Erzeugung von Herausforderungen, die Ausgabe von Optionen, die Validierung der vom Authentifizierer zurückgegebenen Attestationen/Assertions und die Speicherung des öffentlichen Schlüssels des Benutzers. Die RP wird durch rpId identifiziert (normalerweise ein gültiger Domänenname wie example.com).
  2. Authenticator (Authentifizierer): Die Entität, die den privaten Schlüssel hält und kryptographische Signaturen ausführt. Sie ist in zwei Kategorien unterteilt:
    • Platform authenticator (Plattform-Authentifizierer): Im Gerät integriert, wie Touch ID / Face ID, Windows Hello, Android-Fingerabdruck.
    • Roaming authenticator (Roaming-Authentifizierer): Externe Sicherheitsschlüssel für den Einsatz über Geräte hinweg, wie YubiKey, verbunden über USB/NFC/BLE.
  3. Client / Browser: Browser und Betriebssystem, die die WebAuthn-API tragen. Zuständig für die Validierung der Origin, das Zusammenstellen von clientDataJSON, die Kommunikation mit dem Authentifizierer über CTAP und die Weitergabe zwischen RP und Authentifizierer.

Datenfluss-Übersicht:

RP-Server  <--HTTPS-->  Browser (WebAuthn API)  <--CTAP-->  Authentifizierer
   |                          |                              |
Herausforderung ausgeben   Origin validieren/Daten      Schlüsselpaar generieren/unterzeichnen
Signatur validieren         Credential zurückgeben      Private Schlüssel bleiben im Gerät

Beziehung und Positionierung zu Passwort / TOTP / OIDC

MechanismusTypPhishing-resistentServeroffenlegungsrisikoBeziehung zu WebAuthn
Passwort passwordGemeinsamer ErinnerungsschlüsselNeinHoch (Hash kann Offline-Brute-Force)Wird ersetzt
TOTP (z.B. Google Authenticator)Zeit-basiertes Einmal-PasswortNein (Real-Zeit-Phishing möglich)Mittel (Samendateien verlieren Wirkung)Als zweiter Faktor, kann durch WebAuthn ersetzt oder ergänzt werden
SMS-VerifizierungscodeOut-of-Band-Einmal-PasswortNeinMittel (SIM-Swap)Kann durch WebAuthn ersetzt werden
WebAuthn / PasskeyPublic-Key-Challenge-ResponseJaNiedrig (nur öffentliche Schlüssel gespeichert)Dieses Kapitel
OIDC (OpenID Connect)Verbundenes IdentitätsprotokollHängt vom IdP ab—Komplementär: WebAuthn wird häufig als Authentifizierungsmittel innerhalb des IdP verwendet

Tips

WebAuthn und OIDC konkurrieren nicht. In typischen Architekturen authentifiziert der Identitätsprovider (IdP) Benutzer intern mit WebAuthn/Passkey und stellt ID Tokens über OIDC für Geschäftsanwendungen aus. Siehe ../oidc/. Für das Gesamtdesign der Multi-Faktor-Authentifizierung siehe ../mfa/.

Anwendbare Szenarien

  • Passwortlose Anmeldung: Passwörter vollständig durch Passkeys ersetzen, kombiniert mit erkennbaren Anmeldedaten für namenslose Anmeldung.
  • Starker zweiter Faktor (2FA): Fügen Sie über Passwörtern einen Anti-Phishing-Hardware-/Plattform-Authentifizierer hinzu und ersetzen Sie TOTP und SMS.
  • Zweite Bestätigung für hochwertige Operationen: Erfordern Sie eine WebAuthn-Authentifizierung vor sensiblen Operationen wie Überweisungen und Sicherheitseinstellungsänderungen (Step-up).
  • Enterprise-Intranet / Zero Trust: Verwenden Sie Roaming-Sicherheitsschlüssel für gerätunabhängige starke Authentifizierung.

Kapitelnavigation

  • Kernkonzepte – Public-Key-Anmeldedaten-Modell, Attestation/Assertion, Challenge, Origin-Bindung, UV/UP und andere Begriffe.
  • Registrations- und Authentifizierungsablauf – Vollständige schrittweise Durchgangsreife, JS/JSON-Beispiele und Server-Validierungscheckliste.
  • Parameter- und Datenstruktur-Referenz – Options-Feldtabelle, clientDataJSON, authenticatorData-Struktur, COSE-Algorithmentabelle und Fehlerbehebungs-Schnellansicht.
Zuletzt aktualisiert: 06.07.26, 07:49
Mitwirkende: linux, Claude Opus 4.8
Next
Kernkonzepte