Only in German available.
Published on: Dec. 7, 2023
Author: 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:
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.
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.
Der Benutzer startet den Passkey-Flow. Der Browser startet hierfür mit den Optionen aus Schritt 1 den 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.
Nach erfolgreicher Authentifizierung durch den Authenticator, übergibt der Authenticator das Resultat an den Browser, welcher den Response ans Backend zurücksendet.
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.)
Können die Response-Daten erfolgreich verifiziert werden, erstellt das Backend eine Session für den Benutzer.
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.
Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?
Folgende Blog-Beiträge könnten Sie interessieren:
A password with 8 characters with numbers, upper and lower case letters and symbols can be cracked in under one hour.
Source: Hive Systems
X
Haben Sie Fragen zur Implementation und Sicherheit von Passkeys?
Contact us without obligation:
Kathrin Müller is looking forward to hearing from you and will be happy to organize a meeting according to your needs.
nanio GmbH (Codepurple)
Moosweg 24
5606 Dintikon