Codepurple Logo Codepurple Logo Codepurple Logo
  • Dienstleistungen
  • Blog
  • Über uns
  • Kontakt
  • de
  • /

  • en
  • Sprache:

  • de
  • /

  • en

2/4 Passkeys: Integration von Passkeys in die Webapp (für Software-Entwickler)

Veröffentlicht am: 7. Dezember 2023
Autor: Thomas Federer

Die Integration von Passkeys in die eigene Webapplikation ist nicht sonderlich kompliziert. Es existieren bereits eine Vielzahl an Libraries für die verschiedensten Frameworks und Systeme. Es gilt jedoch einige Punkte zu beachten.

Passkeys sind neu und wohl vielen noch nicht begegnet. In unserer vierteiligen Blog-Serie schauen wir uns Passkeys genauer an:

  • Teil 1: Was sind Passkeys
  • Teil 2: Integration von Passkeys in Webapps (für Entwickler)
  • Teil 3: Sicherheit von Passkeys
  • Teil 4: Herausforderungen bei Passkeys
Passkey Teil 2/4

Login-Flow: Backend – Browser – Authenticator

Wir schauen uns den Login-Prozess mit Passkeys an. Dabei gehen wir davon aus, dass der Benutzer bereits einen Passkey für die Applikation erstellt hat.

Involvierte Komponenten:

  • Backend
  • Browser
  • Authenticator (in Browser integriert)
Passkey Login-Flow

Schritt 1: Backend

Das Backend generiert Passkey-Optionen und sendet diese an den Browser. In den Optionen ist eine ID enthalten, damit der Authenticator weiss, um welches System es sich handelt. Weiter kann man zum Beispiel angeben, ob der Authenticator die Benutzer-Verifizierung durchführen muss oder nicht. Es wird auch ein Challenge generiert, welche später verwendet wird, um den Passkey-Response zu validieren.

Schritt 2: Browser

Der Benutzer startet den Passkey-Flow. Der Browser startet hierfür mit den Optionen aus Schritt 1 den Authenticator.

Schritt 3: Authenticator

Authenticator präsentiert dem Benutzer die möglichen Accounts (anhand der vom Backend generierten Optionen) und validiert die biometrischen Eigenschaften. Bei diesem Schritt muss der Entwickler nichts unternehmen.

Schritt 4: Browser

Nach erfolgreicher Authentifizierung durch den Authenticator, übergibt der Authenticator das Resultat an den Browser, welcher den Response ans Backend zurücksendet.

Schritt 5: Backend

Verifiziert die empfangen Daten auf: Origin, Challenge, ID, gewünschten Features (biometrische Identifikation), dies mit dem gespeicherten Public-Key, welcher anhand der vom Browser gesendeten Credential-ID gesucht werden kann. (Kann auch an FIDO2-System weitergeben werden, sollte ein spezieller FIDO2-Server verwendet werden.)

Schritt 6: Backend

Können die Response-Daten erfolgreich verifiziert werden, erstellt das Backend eine Session für den Benutzer.

Schritt 7: Browser

Leitet den Benutzer auf den internen Bereich der Webapplikation um.

Die Implementation von Passkeys ist unkompliziert. Der Registration-Flow für das Erstellen eines Passkeys ist sehr ähnlich zum Login-Flow.

Zu beachten:

  • Der Browser muss Passkeys unterstützen
  • Handling von Browsern, welche Passkeys noch nicht unterstützen
  • Passkeys funktionieren nur im SSL-Kontext (bei der Entwicklung beachten)
  • Wird ein FIDO2-Server verwendet, erhöht sich die Komplexität, da ein weiteres System involviert ist.

Kontaktieren Sie uns unverbindlich:

Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?

Weitere Blog-Beiträge

Folgende Blog-Beiträge könnten Sie interessieren:

  • Hinter einer Firewall bin ich geschützt. Irrglaube oder Tatsache?
  • Interessante Fakten zu Ransomware Teil 4/4
  • SPF / DMARC Analyse von .ch und .li Domains

Ein 8-stelliges Passwort mit Nummern, Gross- und Kleinbuchstaben und Sonderzeichen kann in unter einer Stunde geknackt werden.

Quelle: Hive Systems

Guten Tag

X

Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?

Kontaktieren Sie uns unverbindlich:

Sprechblase

Haben Sie Fragen oder wünschen Sie einen Termin?

Kathrin Müller freut sich auf Ihre Kontaktaufnahme und organisiert je nach Bedürfnis gerne ein Meeting.

Kontakt

nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon

+41 79 823 45 30
rhino@codepurple.ch

Folgen Sie uns

Linekdin

Impressum| Datenschutz| © Codepurple 2025. Alle Rechte vorbehalten