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.
Hier finden Sie ausführliche Informationen zum Erstellen und Registrieren eines Passkeys:
- Im Web: Passkey für die Anmeldung ohne Passwort erstellen
- Android: Nahtlose Authentifizierung in Ihre Apps mit Passkeys über die Credential Manager API einbinden
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.
Weitere Informationen zur Authentifizierung mit einem Passkey:
- Im Web: Mit einem Passkey über das automatische Ausfüllen von Formularen anmelden
- Android: Nahtlose Authentifizierung in Ihre Apps mit Passkeys über die Credential Manager API einbinden
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:
- Einführung in die serverseitige Passkey-Implementierung
- Serverseitige Passkey-Registrierung
- Serverseitige Passkey-Authentifizierung
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:
- Best Practices für Anmeldeformulare (Web)
- Best Practices für Registrierungsformulare (Web)
- Nutzer mit Credential Manager anmelden (Android)
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.
- Best Practices für SMS-OTP-Formulare (Web)
- Automatische SMS-Bestätigung mit der SMS Retriever API (Android)
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.
- Federated Credential Management API (Web, FedCM)
- Übersicht über „Über Google anmelden“ für das Web (Web, „Über Google anmelden“)
- Übersicht über die Anmeldung über One Tap unter Android (Android, Anmeldung über One Tap)
„Magic Links“
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:
- Passkey für die Anmeldung ohne Passwort erstellen: In diesem Artikel wird beschrieben, wie Nutzer Passkeys für eine Website erstellen können.
- Mit einem Passkey über das automatische Ausfüllen von Formularen anmelden: In diesem Artikel wird beschrieben, wie die Anmeldung ohne Passwort mit Passkeys gestaltet werden sollte, um bestehende Nutzer mit Passwort zu berücksichtigen.
- Passkeys mit dem automatischen Ausfüllen von Formularen in einer Web-App implementieren: In diesem Codelab erfahren Sie, wie Sie Passkeys mit dem automatischen Ausfüllen von Formularen in einer Web-App implementieren, um die Anmeldung zu vereinfachen und sicherer zu machen.
- Nutzern helfen, Passkeys effektiv zu verwalten: Damit Passkeys ihr volles Potenzial entfalten können, muss die Nutzerfreundlichkeit bei der Verwaltung berücksichtigt werden. Dieses Dokument enthält Richtlinien und optionale Funktionen für die Entwicklung eines intuitiven, sicheren und robusten Passkey-Verwaltungssystems.
- Sichere und nahtlose Passkeys: Eine Checkliste für die Bereitstellung: Diese Checkliste führt Sie durch die wichtigsten Aspekte der Implementierung von Passkeys, um eine optimale Nutzerfreundlichkeit zu erreichen.
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:
- Nutzer mit Credential Manager anmelden: In diesem Artikel wird beschrieben, wie Sie Credential Manager in Android integrieren. Credential Manager ist eine Jetpack API, die mehrere Anmeldemethoden wie Nutzername und Passwort, Passkeys und föderierte Anmeldelösungen (z. B. „Über Google anmelden“) in einer einzigen API unterstützt.
- Nahtlose Authentifizierung in Ihre Apps mit Passkeys über die Credential Manager API einbinden: In diesem Artikel wird beschrieben, wie Sie Passkeys über den Credential Manager in Android einbinden.
- Informationen zum Vereinfachen von Authentifizierungsabläufen mit der Credential Manager API in Ihrer Android-App: Hier erfahren Sie, wie Sie die Credential Manager API implementieren, um eine nahtlose und sichere Authentifizierung in Ihrer App mit Passkeys oder Passwörtern zu ermöglichen.
- Credentials Manager-Beispiel-App: Ein Beispielcode, der Credential Manager mit Unterstützung für Passkeys ausführt.
- Credential Manager in Ihre Lösung für Anmeldedatenanbieter einbinden | Android-Entwickler
UX
Empfehlungen zur Nutzerfreundlichkeit von Passkeys: