Exkurs: Passkey
Passkey – Passwortlose Authentifizierung
Viele Webanwendungen verwenden noch immer Passwörter zur Anmeldung. Dieses Verfahren hat jedoch mehrere bekannte Schwächen:
- Benutzer wählen häufig schwache Passwörter
- Passwörter werden auf mehreren Webseiten wiederverwendet
- Passwörter können durch Phishing gestohlen werden
- Datenbanklecks führen dazu, dass Passwort-Hashes veröffentlicht werden
Aus diesen Gründen werden zunehmend Passkeys als passwortlose Authentifizierungsverfahren eingesetzt. Sie basieren auf den Standards WebAuthn und FIDO2.

Grundprinzip
Ein Passkey verwendet Public-Key-Kryptografie.
Dabei existieren zwei Schlüssel:
- Private Key
bleibt auf dem Gerät des Benutzers - Public Key
wird beim Dienst gespeichert
Der private Schlüssel verlässt das Gerät nicht.
Registrierung eines Passkeys
Bei der Registrierung passiert vereinfacht Folgendes:
- Der Server fordert den Browser zur Erstellung eines Passkeys auf.
- Das Gerät erzeugt ein Schlüsselpaar.
- Der Public Key wird an den Server übertragen.
- Der Private Key bleibt im sicheren Speicher des Geräts (z. B. Secure Enclave oder TPM="Trusted Platform Module").
Der Server speichert nur den öffentlichen Schlüssel.
Anmeldung mit einem Passkey
Beim Login wird kein Passwort übertragen.
Der Ablauf ist stattdessen Challenge-Response-Prinzip:
- Der Client (z.B. Browser) fordert die Anmeldung mittels Passkey an.
- Der Server sendet eine Challenge (zufällige Daten).
- Das Gerät signiert diese Challenge mit dem Private Key.
- Der Server prüft die Signatur mit dem Public Key.
- Ist die Signatur korrekt, wird der Benutzer angemeldet.
Im Detail bedeutet das:
- Login-Anfrage
Der Benutzer klickt z. B. auf „Mit Passkey anmelden“. Damit sendet der Browser eine Authentifizierungsanfrage an den Server. - Challenge vom Server
Der Server erzeugt eine zufällige Challenge (Nonce = number used once) und sendet sie an den Client.
Eigenschaften der Challenge:- zufällig
- nur einmal gültig
- zeitlich begrenzt
- Signatur durch den Client
Der Client übergibt die Challenge an den Authenticator (z. B. Smartphone, TPM, Security-Chip). Der Authenticator:- besitzt als einziger den Private Key
- signiert die Challenge
Signatur = Sign(Challenge, PrivateKey)
Der Private Key verlässt das Gerät nicht. - Antwort an den Server
Der Client sendet zurück:- die signierte Challenge
- Informationen über den verwendeten Schlüssel
- Überprüfung durch den Server
Der Server besitzt den Public Key, der bei der Registrierung gespeichert wurde.
Er prüft:Verify(Signatur, Challenge, PublicKey)
Ist die Signatur korrekt: → Authentifizierung erfolgreich
Vorteile von Passkeys
- kein Passwort notwendig
- resistent gegen Phishing
- kein Passwort-Leak möglich
- Anmeldung häufig mit Biometrie oder Geräte-PIN
Einordnung in Webarchitekturen
In modernen Webanwendungen wird die Authentifizierung häufig durch einen separaten Authentifizierungs-Service bereitgestellt.
Der Passkey-Login ist dabei nur ein weiteres Verfahren neben z. B.:
- Passwort + Hash
- Zwei-Faktor-Authentifizierung
- OAuth-Login
Ein Authentifizierungs-Microservice kann mehrere dieser Verfahren gleichzeitig unterstützen.