Sichere und nahtlose Passkeys: Checkliste für die Bereitstellung

Passkeys sollen die Anmeldung revolutionieren und bieten eine einfachere, schnellere und sicherere Alternative zu Passwörtern. Diese Checkliste führt Sie durch die wichtigsten Aspekte der Implementierung von Passkeys, um eine optimale Nutzererfahrung zu erzielen.

Verwendung dieser Checkliste

Diese Checkliste richtet sich an Entwickler und Produktteams, die Passkeys in ihren Authentifizierungsabläufen implementieren. Sie können damit:

  • Prüfen Sie, ob Ihre Implementierung den modernen Best Practices für die Passkey-UX entspricht, die in den folgenden Artikeln beschrieben werden.
  • Identifizieren Sie erforderliche und optionale Elemente, die die Nutzerfreundlichkeit, Sicherheit und Kompatibilität verbessern.
  • Prüfen Sie Ihre Implementierung während der Entwicklung und vor der Bereitstellung.
  • Sie müssen Best Practices einhalten, die die Akzeptanz durch die Nutzer und die Interoperabilität des Systems unterstützen.

So können Sie Endnutzern eine reibungslose und sichere Nutzung ermöglichen.

Registrierung von Passkeys

Für einen reibungslosen Übergang von Passwörtern zu Passkeys auf Ihrer Website ist eine ausgefeilte Passkey-Registrierungsfunktion entscheidend. Folgen Sie der Anleitung unter Passkey für passwortlose Anmeldungen erstellen, um eine Funktion zur Registrierung von Passkeys auf Ihrer Website einzurichten. Zusätzlich zu den grundlegenden Funktionen zur Passkey-Registrierung sollten Sie Folgendes prüfen:

✅ Geben Sie "platform" als Wert für den Anmeldedaten-Anhang an, der an navigator.credentials.create() übergeben werden soll, um einen Passkey zu erstellen.

  • Bieten Sie Nutzern, die einen Passkey reaktiv erstellen, einen optimierten und reibungslosen Ablauf.

✅ Verifizieren Sie den Nutzer mit der stärksten verfügbaren Authentifizierungsmethode, bevor Sie ihm erlauben, einen Passkey zu erstellen.

  • Dies ist wichtig, um zu verhindern, dass ein Angreifer einen Passkey in einem gehackten Konto erstellt.

✅ Verhindern, dass mit excludeCredentials doppelte Passkeys für denselben Passkey-Anbieter erstellt werden

  • Viele Passkey-Anbieter unterstützen nur einen Passkey pro Konto und RP-ID. Vermeiden Sie Duplikate.

Verwenden Sie die AAGUID, um den Passkey-Anbieter zu identifizieren und die Anmeldedaten für den Nutzer zu benennen.

  • Wenn Sie einen Passkey mit dem zugehörigen Passkey-Anbieter verknüpfen, können Sie Ihre Anmeldedaten dort vorlegen, wo dies möglich ist.

✅ Signal, wenn ein Versuch, einen Passkey zu registrieren, fehlschlägt, mit PublicKeyCredential.signalUnknownCredential()

  • Passkeys, die nicht zu Ihrem Gerät gehören, können zu Verwirrung führen. Informieren Sie den Passkey-Anbieter, wenn der Server keinen Passkey registriert hat.

✅ Senden Sie dem Nutzer eine Benachrichtigung, nachdem er einen Passkey für sein Konto erstellt und registriert hat.

  • Der Nutzer muss wissen, dass ein Passkey erstellt wird, insbesondere wenn dies von einer anderen Person geschieht.

Passkey-Authentifizierung

Es kann eine Herausforderung sein, sowohl Passwortnutzer als auch Passkey-Nutzer ohne große Mühe zu unterstützen. Folgen Sie der Anleitung unter Über die Formularautofill-Funktion mit einem Passkey anmelden, um eine Funktion für die Formularautofill mit Passkeys auf Ihrer Website einzurichten. Zusätzlich zu den grundlegenden Funktionen der Passkey-Authentifizierung sollten Sie Folgendes prüfen:

✅ Erlauben Sie Nutzern, sich über das automatische Ausfüllen von Formularen mit einem Passkey anzumelden.

  • Wenn Sie auf Ihrer Website von Passwörtern zu Passkeys wechseln, sollten Sie die Funktion zum automatischen Ausfüllen von Formularen des Browsers verwenden, um beide Nutzergruppen zufriedenzustellen.

✅ Signalisieren Sie mit PublicKeyCredential.signalUnknownCredential(), wenn die übereinstimmenden Anmeldedaten eines Passkeys im Backend nicht gefunden werden.

  • Passkeys, die nicht zu Ihrem Gerät gehören, können zu Verwirrung führen. Teilen Sie dem Passkey-Anbieter mit, welcher Passkey nicht verwendet werden kann, damit er ihn löschen kann.

✅ Nutzer auffordern, manuell einen Passkey zu erstellen, wenn sie nach der Anmeldung noch keinen erstellt haben.

  • Wenn der Nutzer noch keinen Passkey erstellt hat, bitten Sie ihn, einen zu erstellen.

Einen Passkey automatisch erstellen (bedingte Erstellung), nachdem sich der Nutzer mit einem Passwort (und einem zweiten Faktor) angemeldet hat.

  • Die Einführung von Passkeys für Nutzer beschleunigen.

✅ Aufforderung zum Erstellen eines lokalen Passkeys, wenn sich der Nutzer mit einem geräteübergreifenden Passkey angemeldet hat.

  • Wenn Sie einen lokalen Passkey erstellen, kann sich der Nutzer bei der nächsten Anmeldung anmelden, ohne einen QR-Code scannen zu müssen.

✅ Nach der Anmeldung die Liste der verfügbaren Passkeys und aktualisierte Nutzerdetails (Nutzername, Anzeigename) an den Anbieter senden

  • Wenn die Passkey-Liste und die Nutzerdetails zwischen dem Server und dem Passkey-Anbieter synchronisiert bleiben, wird die Nutzerfreundlichkeit verbessert.

Passkeys verwalten

Wenn Nutzer Passkeys gut verstehen, können sie die Funktion besser nutzen und besser kontrollieren. Folgen Sie der Anleitung unter Nutzer dabei unterstützen, Passkeys effektiv zu verwalten, um eine Funktion zur Passkey-Verwaltung auf Ihrer Website einzurichten. Prüfen Sie Folgendes:

✅ Nutzer dürfen Passkeys auf einer Passkey-Verwaltungsseite verwalten.

  • Eine zentrale Stelle schaffen, an der Nutzer ihre Passkeys verwalten können.

✅ Unterstützung der Registrierung mehrerer Passkeys

  • Wenn Nutzer mehrere Passkeys registrieren können, können sie sich vor dem Sperren schützen, ohne auf eine schwächere Authentifizierungsmethode zurückgreifen zu müssen.

✅ Nutzer können auf der Seite „Verwaltung“ neue und flexible Arten von Passkeys hinzufügen.

✅ Zeigen Sie den Passkey-Namen an.

  • Benennen Sie Passkeys anhand der AAGUID und stellen Sie eine visuelle Darstellung der Passkeys des Nutzers bereit.

✅ Gib an, ob ein Passkey synchronisierbar oder nicht synchronisierbar ist.

  • Nutzer darüber informieren, wenn ein Passkey nicht synchronisiert wird.

✅ Nutzer dürfen einen öffentlichen Schlüssel vom Server entfernen.

✅ Die Liste der Passkeys muss benachrichtigt werden, wenn ein verknüpfter öffentlicher Schlüssel vom Server entfernt wird.

  • Wenn die Passkey-Liste zwischen dem Server und dem Passkey-Anbieter synchronisiert ist, wird die Nutzerfreundlichkeit verbessert.
Beispiel für eine Passkey-Verwaltungsseite mit Best Practices
Beispiel für eine Passkey-Verwaltungsseite mit Best Practices.

Weitere Überlegungen

Signalisieren Sie die aktualisierten Nutzerdetails (Nutzername, Anzeigename), wenn der Nutzer sie aktualisiert.

Erstelle einen Passkey anstelle eines neuen Passworts, wenn ein Nutzer „Passwort vergessen“ auswählt.

Ressourcen