Passkeys-Entwicklerleitfaden für vertrauende Parteien

Hier erfahren Sie, wie Sie Passkeys in Ihren Dienst einbinden.

Aufbau eines Passkey-Systems

Ein Passkey-System besteht aus einigen Komponenten:

  • Verlassende Partei: Im Passkey-Kontext verarbeitet eine vertrauende Partei die Passkey-Ausstellung und -Authentifizierung. Das RP muss einen Client – eine Website oder Anwendung, die Passkeys erstellt oder sich mit Passkeys authentifiziert – und einen Server zum Registrieren, Speichern und Verifizieren von Anmeldedaten, die von den Passkeys auf dem Client generiert werden, betreiben. Eine mobile Passkey-App muss über den vom Betriebssystem bereitgestellten Verknüpfungsmechanismus wie Links digitaler Assets an eine RP-Serverdomain gebunden sein.
  • Authenticator: Ein Computer wie ein Smartphone, Tablet, Laptop oder Computer, auf dem Passkeys mithilfe der Displaysperre des Betriebssystems erstellt und überprüft werden können.
  • Passwortmanager: Software, die auf den Geräten des Endnutzers installiert ist und Passkeys bereitstellt, speichert und synchronisiert, z. B. den Google Passwortmanager.

Registrierungsablauf

Verwende die WebAuthn API auf einer Website oder die Bibliothek für den Anmeldedaten-Manager in einer Android-App, um einen neuen Passkey zu erstellen und zu registrieren.

Zum Erstellen eines neuen Passkeys müssen einige wichtige Komponenten bereitgestellt werden:

  • RP-ID: Geben Sie die ID der vertrauenden Partei in Form einer Webdomain an.
  • Nutzerinformationen: ID, Nutzername und Anzeigename des Nutzers.
  • Auszuschließende Anmeldedaten: Informationen zu zuvor gespeicherten Passkeys, um eine doppelte Registrierung zu verhindern.
  • Passkey-Typen: Gibt an, ob das Gerät selbst („Plattformauthentifizierung“) als Authenticator oder ein abnehmbarer Sicherheitsschlüssel („plattformübergreifende / Roaming-Authenticator“) verwendet werden soll. Außerdem können Aufrufer angeben, ob die Anmeldedaten sichtbar sein sollen, damit der Nutzer ein Konto zur Anmeldung auswählen kann.

Wenn ein RP eine Anfrage zum Erstellen eines Passkeys anfordert und der Nutzer ihn durch eine Displaysperre bestätigt, wird ein neuer Passkey erstellt und ein öffentlicher Schlüssel als Anmeldedaten zurückgegeben. Senden Sie die ID an den Server und speichern Sie die Anmeldedaten-ID und den öffentlichen Schlüssel für die zukünftige Authentifizierung.

Registrierungsablauf

Weitere Informationen zum Erstellen und Registrieren eines Passkeys:

Authentifizierungsvorgang

Verwende die WebAuthn API auf einer Website oder die Bibliothek für den Anmeldedaten-Manager in einer Android-App, um dich mit einem registrierten Passkey zu authentifizieren.

Für die Authentifizierung mit einem Passkey müssen einige wichtige Komponenten bereitgestellt werden:

  • RP-ID: Geben Sie die ID der vertrauenden Partei in Form einer Webdomain an.
  • Challenge: Eine servergenerierte Herausforderung, die Replay-Angriffe verhindert.

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

Authentifizierungsvorgang

Ausführliche Informationen zur Authentifizierung mit einem Passkey:

Serverseitige Integrationen

Beim Erstellen eines Passkeys muss der Server wichtige Parameter wie Identitätsbestätigungen, Nutzerinformationen und auszuschließenden Anmeldedaten-IDs angeben. Anschließend verifiziert der Dienst die vom Client gesendeten Anmeldedaten für den öffentlichen Schlüssel und speichert den öffentlichen Schlüssel in der Datenbank. Bei der Authentifizierung mit einem Passkey muss der Server die Anmeldedaten und die Signatur sorgfältig validieren, damit sich der Nutzer anmelden kann.

Weitere Informationen finden Sie in unseren serverseitigen Leitfäden:

Vorhandene (alte) Authentifizierungsmechanismen

Wenn Sie in Ihrem bestehenden Dienst Passkeys unterstützen, kann der Wechsel vom älteren Authentifizierungsmechanismus wie Passwörtern auf Passkeys nicht innerhalb eines Tages erfolgen. Wir wissen, dass Sie dazu neigen, die schwächere Authentifizierungsmethode so schnell wie möglich zu eliminieren, aber das kann Nutzer verwirren oder einige Nutzer zurücklassen. Wir empfehlen, die vorhandene Authentifizierungsmethode vorerst beizubehalten.

Dafür kann es mehrere Gründe geben:

  • Nutzer befinden sich in einer Umgebung, die nicht mit Passkeys kompatibel ist: Die Unterstützung für Passkeys wird allgemein auf verschiedene Betriebssysteme und Browser ausgeweitet, aber diejenigen, die ältere Versionen verwenden, können noch keine Passkeys verwenden.
  • Die Passkey-Umgebung ist noch ausgereift: Die Passkey-Umgebung befindet sich im Umbruch. Die UX-Details und die technische Kompatibilität zwischen verschiedenen Umgebungen können sich verbessern.
  • Nutzer sind möglicherweise noch nicht für das Leben mit einem Passkey bereit: Es gibt Menschen, die sich ungern auf Neues einstellen lassen. Mit zunehmender Entwicklung der Passkey-Umgebung erhalten sie ein Gefühl dafür, wie Passkeys funktionieren und warum sie für sie nützlich sind.

Vorhandenen Authentifizierungsmechanismus überprüfen

Passkeys machen die Authentifizierung einfacher und sicherer, aber die alten Mechanismen lassen sich wie ein Loch lassen. Wir empfehlen, Ihre vorhandenen Authentifizierungsmechanismen zu überprüfen und zu verbessern.

Passwörter

Starke Passwörter zu erstellen und für jede Website zu verwalten, ist für Nutzer eine Herausforderung. Es wird dringend empfohlen, einen in das System integrierten oder einen eigenständigen Passwortmanager zu verwenden. Durch kleine Änderungen am Anmeldeformular können Websites und Apps einen großen Unterschied im Hinblick auf die Sicherheit und die Nutzererfahrung ausmachen. Sehen Sie sich an, wie Sie diese Änderungen vornehmen können:

2-Faktor-Authentifizierung

Ein Passwortmanager hilft zwar Nutzern beim Umgang mit Passwörtern, aber nicht alle. Zum Schutz dieser Nutzer ist es üblich, zusätzliche Anmeldedaten anzufordern, ein sogenanntes Einmalpasswort. OTPs werden in der Regel über eine E-Mail, eine SMS oder eine Authentifizierungs-App wie Google Authenticator bereitgestellt. Da OTPs normalerweise ein kurzer, dynamisch generierter Text sind, der nur für einen begrenzten Zeitraum gültig ist, sinkt die Wahrscheinlichkeit eines Kontodiebstahls. Diese Methoden sind nicht so robust wie ein Passkey, aber viel besser, als Nutzern nur ein Passwort zur Verfügung zu stellen.

Wenn du SMS als Möglichkeit zum Senden eines OTP auswählst, kannst du die folgenden Best Practices beachten, um die Eingabe des OTP für Nutzer zu vereinfachen.

Identitätsföderation

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 Anwendungen mit der Nutzeridentität eines externen Identitätsanbieters anmelden. Über Google anmelden bietet beispielsweise hervorragende Conversions für Entwickler und Nutzer finden sie einfacher und besser als die passwortbasierte Authentifizierung. Die Identitätsföderation ist eine Ergänzung zu Passkeys. Es eignet sich hervorragend für die Registrierung, da die Website oder App in einem einzigen Schritt grundlegende Profilinformationen des Nutzers abrufen kann. Passkeys hingegen eignen sich hervorragend, um die erneute Authentifizierung zu vereinfachen.

Beachten Sie, dass nach der Einstellung von Drittanbieter-Cookies in Chrome 2024 einige Identitätsföderationssysteme betroffen sein können, je nachdem, wie sie aufgebaut sind. Um diese Auswirkungen abzuschwächen, wird eine neue Browser-API namens Federated Credential Management API (FedCM) entwickelt. Als Identitätsanbieter kannst du in den Details nachsehen, ob du FedCM einführen musst.

Die Anmeldung über einen Magischen Link ist eine Authentifizierungsmethode, bei der ein Dienst einen Anmeldelink per E-Mail bereitstellt, auf den der Nutzer klicken kann, um sich zu authentifizieren. Dadurch können sich Nutzer zwar anmelden, ohne sich an ein Passwort zu erinnern, der Wechsel zwischen dem Browser/der Anwendung und dem E-Mail-Client erschwert jedoch den Wechsel. Da der Authentifizierungsmechanismus die E-Mail-Adresse nutzt, können außerdem die Nutzerkonten durch die schwache Sicherheit des E-Mail-Anbieters gefährdet werden.

Lernressourcen

Web

Mit der Web Authentication API (WebAuthn) kannst du Passkeys in deine Website einbinden. Weitere Informationen finden Sie in den folgenden Ressourcen:

Android

Verwende die Bibliothek mit dem Anmeldedaten-Manager, um Passkeys in deine Android-App zu integrieren. Weitere Informationen finden Sie in den folgenden Ressourcen:

UX

Hier finden Sie Empfehlungen zur Nutzerfreundlichkeit von Passkeys: