Zum Inhalt springen

WebAuthn

WebAuthn ist die Browser-API für Anmeldung mit öffentlichen Schlüsseln. Eine Antwort des Browsers muss der Server prüfen, bevor er die Anmeldung akzeptiert.

Auch bekannt alsWeb Authentication API
Identität und Zugriffe

Öffentliche Schlüssel im Browser nutzen

WebAuthn ist eine Browser-API zum Registrieren und Verwenden kryptografischer Anmeldemittel mit öffentlichen Schlüsseln. Passkeys nutzen diese Schnittstelle im Web. Die Registrierung erfolgt über navigator.credentials.create(), eine spätere Anmeldung über navigator.credentials.get(). Die API benötigt einen sicheren Kontext, im regulären Webbetrieb gewöhnlich HTTPS.

Die Serverprüfung gehört zur Anmeldung

Ein fiktives Projektportal erzeugt für einen Anmeldeversuch eine frische, zufällige challenge. Der Browser lässt darauf eine signierte Antwort erstellen. Die Kennung rpId bindet den Vorgang an den vorgesehenen Dienst. Der Portalserver prüft unter anderem die Signatur mit dem hinterlegten öffentlichen Schlüssel, die erwartete Challenge und die Dienstbindung. Auch die erwartete Origin, also Protokoll, Hostname und Port der Website, gehört zur Prüfung.

Das zurückgegebene Browserobjekt allein ist deshalb noch kein erfolgreicher Zugang zum Portal. Erst nach der serverseitigen Prüfung akzeptiert die Anwendung die Anmeldung. In diesem Portal führt ein abgebrochener Dialog zu keinem bestätigten Login; die Oberfläche muss diesen Zustand verständlich anzeigen.

WebAuthn organisiert weder die Synchronisierung zwischen Geräten noch die Wiederherstellung eines verlorenen Kontozugangs. Diese Abläufe brauchen eigene Entscheidungen. Auch nach einer erfolgreichen Anmeldung prüft der Server weiterhin, welche Projekte das Konto öffnen oder ändern darf.

Quellen