Passkeys-Entwicklerleitfaden für vertrauende Parteien

Informationen dazu, wie Sie Passkeys in Ihren Dienst einbinden können

Aufbau eines Passkey-Systems

Ein Passkeysystem besteht aus mehreren Komponenten:

  • Vertrauende Seite: Im Kontext von Passkeys übernimmt eine vertrauende Seite (Relying Party, RP) die Ausstellung und Authentifizierung von Passkeys. Der RP muss einen Client (eine Website oder App, die Passkeys erstellt oder sich mit Passkeys authentifiziert) und einen Server zum Registrieren, Speichern und Überprüfen von Anmeldedaten betreiben, die von den Passkeys auf dem Client generiert werden. Eine Passkey-App muss über den vom Betriebssystem bereitgestellten Verknüpfungsmechanismus wie Digital Asset Links an eine RP-Serverdomain gebunden sein.
  • Authenticator: Ein Gerät wie ein Smartphone, Tablet, Laptop oder Computer, das Passkeys mithilfe der vom Betriebssystem angebotenen Displaysperre erstellen und bestätigen kann.
  • Passwortmanager: Software, die auf dem Gerät bzw. den Geräten des Endnutzers installiert ist und Passkeys bereitstellt, speichert und synchronisiert, z. B. der Google Passwortmanager.

Registrierungsvorgang

Sie können die WebAuthn API auf einer Website oder die Credential Manager-Bibliothek in einer Android-App verwenden, um einen neuen Passkey zu erstellen und zu registrieren.

Zum Erstellen eines neuen Passkeys müssen Sie einige wichtige Komponenten angeben:

  • RP-ID: Geben Sie die ID der Relying Party in Form einer Webdomain an.
  • Nutzerinformationen: Die ID, der Nutzername und der Anzeigename des Nutzers.
  • Auszuschließende Anmeldedaten: Informationen zu zuvor gespeicherten Passkeys, um eine doppelte Registrierung zu verhindern.
  • Passkey-Typen: Sie können das Gerät selbst („Plattformauthentifikator“) oder einen abnehmbaren Sicherheitsschlüssel („plattformübergreifender / roamingfähiger Authentifikator“) als Authentifikator verwenden. Außerdem können Anrufer angeben, ob die Anmeldedaten auffindbar sein sollen, damit der Nutzer ein Konto für die Anmeldung auswählen kann.

Wenn ein RP das Erstellen eines Passkeys anfordert und der Nutzer dies mit einer Bildschirmentsperrung bestätigt, wird ein neuer Passkey erstellt und eine Anmeldedaten für den öffentlichen Schlüssel zurückgegeben. Senden Sie diese an den Server und speichern Sie die Anmeldedaten-ID und den öffentlichen Schlüssel für die zukünftige Authentifizierung.

Registrierungsvorgang

Hier finden Sie ausführliche Informationen zum Erstellen und Registrieren eines Passkeys:

Authentifizierungsvorgang

Verwenden Sie die WebAuthn API auf einer Website oder die Credential Manager-Bibliothek in einer Android-App, um sich mit einem registrierten Passkey zu authentifizieren.

Für die Authentifizierung mit einem Passkey sind einige wichtige Komponenten erforderlich:

  • RP-ID: Geben Sie die ID der Relying Party in Form einer Webdomain an.
  • Challenge: Eine vom Server generierte Challenge, die Replay-Angriffe verhindert.

Wenn ein RP eine Authentifizierung mit einem Passkey anfordert und der Nutzer sie mit einer Bildschirmentsperrung bestätigt, werden Anmeldedaten für den öffentlichen Schlüssel zurückgegeben. Senden Sie das Ergebnis an den Server und verifizieren Sie die Signatur mit dem gespeicherten öffentlichen Schlüssel.

Authentifizierungsvorgang

Weitere Informationen zur Authentifizierung mit einem Passkey:

Serverseitige Integrationen

Beim Erstellen eines Passkeys muss der Server Schlüsselparameter wie eine Challenge, Nutzerinformationen und auszuschließende Anmeldedaten-IDs bereitstellen. Anschließend wird die vom Client gesendete Anmeldedaten für den öffentlichen Schlüssel überprüft und der öffentliche Schlüssel in der Datenbank gespeichert. Bei der Authentifizierung mit einem Passkey muss der Server die Anmeldedaten sorgfältig validieren und die Signatur überprüfen, damit sich der Nutzer anmelden kann.

Weitere Informationen finden Sie in unseren serverseitigen Anleitungen:

Vorhandene (alte) Authentifizierungsmethoden

Wenn Sie Passkeys in Ihrem bestehenden Dienst unterstützen, erfolgt die Umstellung vom alten Authentifizierungsmechanismus wie Passwörtern auf Passkeys nicht an einem Tag. Wir wissen, dass Sie die schwächere Authentifizierungsmethode so schnell wie möglich entfernen möchten. Das kann jedoch zu Verwirrung bei den Nutzern führen oder einige Nutzer zurücklassen. Wir empfehlen, die vorhandene Authentifizierungsmethode vorerst beizubehalten.

Dafür gibt es mehrere Gründe:

  • Nutzer verwenden eine Umgebung, die nicht mit Passkeys kompatibel ist: Die Unterstützung von Passkeys wird auf viele Betriebssysteme und Browser ausgeweitet. Nutzer, die ältere Versionen verwenden, können Passkeys jedoch noch nicht nutzen.
  • Das Passkey-Ökosystem ist noch nicht ausgereift: Das Passkey-Ökosystem entwickelt sich ständig weiter. Die UX-Details und die technische Kompatibilität zwischen verschiedenen Umgebungen können verbessert werden.
  • Nutzer sind möglicherweise noch nicht bereit für Passkeys: Manche Menschen zögern, wenn es um neue Dinge geht. Wenn sich das Passkey-Ökosystem weiterentwickelt, werden sie ein Gefühl dafür bekommen, wie Passkeys funktionieren und warum sie nützlich sind.

Vorhandenen Authentifizierungsmechanismus überprüfen

Passkeys machen die Authentifizierung einfacher und sicherer. Wenn Sie die alten Mechanismen beibehalten, ist das jedoch so, als würden Sie ein Loch lassen. Wir empfehlen, Ihre bestehenden Authentifizierungsmechanismen zu überarbeiten und zu verbessern.

Passwörter

Starke Passwörter zu erstellen und sie für jede Website zu verwalten, ist für Nutzer eine Herausforderung. Es wird dringend empfohlen, einen im System integrierten oder einen eigenständigen Passwortmanager zu verwenden. Durch eine kleine Änderung am Anmeldeformular können Websites und Apps einen großen Beitrag zur Sicherheit und zum Anmeldevorgang leisten. So können Sie diese Änderungen vornehmen:

2‑Faktor-Authentifizierung

Die Verwendung eines Passwortmanagers hilft Nutzern zwar bei der Verwaltung von Passwörtern, aber nicht alle Nutzer verwenden einen. Das Abfragen eines zusätzlichen Anmeldedatenpaars, des sogenannten Einmalpassworts (OTP), ist eine gängige Methode, um solche Nutzer zu schützen. Einmalpasswörter werden in der Regel per E-Mail, SMS oder über eine Authenticator App wie Google Authenticator bereitgestellt. Da Einmalcodes in der Regel ein kurzer, dynamisch generierter Text sind, der nur für einen begrenzten Zeitraum gültig ist, wird die Wahrscheinlichkeit von Kontoübernahmen verringert. Diese Methoden sind nicht so sicher wie ein Passkey, aber viel besser, als wenn Nutzer nur ein Passwort verwenden.

Wenn Sie SMS als Methode zum Senden eines Einmalpassworts auswählen, sollten Sie die folgenden Best Practices beachten, um die Nutzerfreundlichkeit bei der Eingabe des Einmalpassworts zu optimieren.

Identitätsföderation

Die Identitätsföderation ist eine weitere Option, mit der sich Nutzer sicher und einfach anmelden können. Mit der Identitätsföderation können sich Nutzer auf Websites und in Apps mit ihrer Identität von einem externen Identitätsanbieter anmelden. Über Google anmelden führt beispielsweise zu einer hohen Conversion-Rate für Entwickler und Nutzer finden es einfacher und bevorzugen es gegenüber der passwortbasierten Authentifizierung. Die Identitätsföderation ergänzt Passkeys. Das ist ideal für die Registrierung, da die Website oder App in einem einzigen Schritt grundlegende Profilinformationen des Nutzers erhalten kann. Passkeys eignen sich hervorragend, um die Reauthentifizierung zu vereinfachen.

Nach der Einstellung von Drittanbieter-Cookies in Chrome im Jahr 2024 können einige Systeme zur Identitätsföderation betroffen sein, je nachdem, wie sie aufgebaut sind. Um die Auswirkungen zu minimieren, wird eine neue Browser-API namens Federated Credential Management API (kurz FedCM) entwickelt. Wenn Sie einen Identitätsanbieter betreiben, finden Sie hier weitere Informationen dazu, ob Sie FedCM einführen müssen.

Die Anmeldung mit Magic Link ist eine Authentifizierungsmethode, bei der ein Dienst einen Anmeldelink per E‑Mail sendet, damit der Nutzer darauf klicken kann, um sich zu authentifizieren. Das hilft Nutzern zwar, sich anzumelden, ohne sich ein Passwort merken zu müssen, aber das Wechseln zwischen Browser/App und E-Mail-Client kann umständlich sein. Da der Authentifizierungsmechanismus auf der E‑Mail-Adresse basiert, kann die schwache Sicherheit des E‑Mail-Anbieters die Konten der Nutzer gefährden.

Lernressourcen

Web

Wenn Sie Passkeys in Ihre Website einbinden möchten, verwenden Sie die Web Authentication API (WebAuthn). Weitere Informationen finden Sie in den folgenden Ressourcen:

Android

Wenn Sie Passkeys in Ihre Android-App einbinden möchten, verwenden Sie die Credential Manager-Bibliothek. Weitere Informationen finden Sie in den folgenden Ressourcen:

UX

Empfehlungen zur Nutzerfreundlichkeit von Passkeys: