WebAuthn und Passkey 101
Erhalte ein umfassendes Verständnis von WebAuthn, einschließlich seines Konzepts, Workflows, Gründe für seine Popularität und damit verbundener Herausforderungen.
WebAuthn gehört zu den sichersten Authentifikatoren in den NIST AAL-Standards. Eingeführt im Jahr 2013 ist es inzwischen die bevorzugte Wahl von Unternehmen für die Authentifizierung. Seine Verbreitung ist jedoch noch nicht weit fortgeschritten, was zu vielen Anfragen über WebAuthn und Passkeys führt. Lass uns eintauchen und herausfinden, was du wissen solltest.
Konzept: Was ist die Beziehung zwischen WebAuthn, Passkey und FIDO?
FIDO Alliance | Die FIDO Alliance ist eine Organisation, die offene und sichere standards für eine passwortlose Authentifizierung bereitstellt, darunter UAF, U2F und FIDO2. |
FIDO2 | FIDO2 ist eine Reihe von Standards für sichere Online-Authentifizierung, entwickelt von der FIDO Alliance. Es umfasst zwei Hauptkomponenten: WebAuthn für passwortlose Logins und CTAP für sichere Gerätekommunikation. |
Passkey | Ein Passkey ist ein auf FIDO basierendes, phishing-resistentes Anmeldeinformation, das
Passwörter ersetzt.
|
WebAuthn | WebAuthn, eine JavaScript-API entwickelt von W3C und der FIDO Alliance, ermöglicht Webanwendungen die Authentifizierung mit FIDO2-Standards. Passkey ist eine der von WebAuthn unterstützten Authentifizierungsmethoden. |
Fluss: Wie funktioniert WebAuthn?
4 Hauptentitäten von WebAuthn
Grundsätzlich gibt es 4 Hauptentitäten im WebAuthn-Prozess.
-
Benutzer: Die Person, die sich bei der Webanwendung mit WebAuthn registriert oder authentifiziert.
-
Benutzer-Agent: Der Webbrowser, der die WebAuthn-API-Aufrufe verarbeitet und den Authentifizierungsprozess zwischen den verschiedenen dependierenden Parteien und Authentifikatoren verwaltet.
-
Dependierende Partei: Dein Webdienst oder deine Anwendung, auf die der Benutzer zugreifen möchte. Der Benutzer interagiert über den Benutzer-Agent mit der dependierenden Partei
-
Authenticator: Die Hardwarekomponente, die der Benutzer besitzt, um die Identität des Benutzers zu überprüfen. Sie kann verschiedene Formen annehmen, je nach Plattform oder Browserfähigkeit, z.B. Sicherheitsschlüssel wie Yubikeys, Telefone oder Tablets (verbunden über Bluetooth, NFC oder USB), gerätebasierte Biometrie oder PINs usw.
Workflows von WebAuthn
Asymmetrische Public-Key-Kryptographie ist der Kernprozess.
- Schlüsselpaargenerierung: Der Benutzer-Agent erzeugt ein Public-Private-Key-Paar. Der öffentliche Schlüssel wird mit der dependierenden Partei geteilt, während der private Schlüssel sicher im Authenticator des Benutzers gespeichert bleibt.
- Authentifizierungsherausforderung: Wenn der Benutzer versucht, sich anzumelden, sendet die dependierende Partei eine Authentifizierungsherausforderung an den Benutzer-Agent.
- Benutzerüberprüfung: Der Benutzer-Agent sendet die Herausforderung an den Authenticator, der mit dem Benutzer zur Überprüfung interagiert (z.B. Biometrie oder ein Button-Druck).
- Kryptografische Signatur: Der Authenticator verwendet seinen privaten Schlüssel zur Unterzeichnung der Herausforderung, wodurch eine kryptografische Signatur erstellt wird.
- Überprüfung und Zugriff: Der Benutzer-Agent überprüft die Signatur mit dem öffentlichen Schlüssel und informiert die dependierende Partei über eine erfolgreiche Authentifizierung. Der Zugriff wird gewährt.
Um dies näher zu erläutern, teilen wir es in die Phasen Registrierung und Authentifizierung auf.
Der WebAuthn-Registrierungsprozess:
Der WebAuthn-Authentifizierungsprozess:
Vorteile: Warum wird WebAuthn zum Trend?
Mehrere Authentifikatoren
Du hast die Möglichkeit, aus mehreren Authentifikatoren zu wählen, um zusätzliche Flexibilität zu erhalten. Diese Authentifikatoren sind in zwei Typen erhältlich, für den lokalen und Cloud-Gebrauch, und du kannst einen oder beide für deinen Dienst aktivieren.
Plattform-Authenticator (Interner Authenticator)
Der Plattform-Authenticator ist an ein einzelnes und spezifisches Geräte-Betriebssystem gebunden, wie einen Computer, Laptop, ein Telefon oder Tablet, mit dem sich der Benutzer anmeldet. Er funktioniert ausschließlich auf dem Gerät zur Autorisierung mit Methoden wie Biometrie oder einem Gerätepincode. Es ist eine schnelle Möglichkeit zur Authentifizierung, besonders mit Biometrie, und kann die Notwendigkeit der manuellen Passwort-Eingabe ersetzen. Wenn der Benutzer jedoch das Gerät verliert, kann dies eine Barriere für den Zugriff werden. Zum Beispiel:
- MacOS und iOS: iCloud-Schlüsselbund, verifiziert durch Touch ID, Face ID oder Gerät-Passcode.
- Windows: Windows Hello, verifiziert durch Gesichtserkennung, Fingerabdruck oder freundliche PIN.
- Android: Der Google-Passwortmanager unterstützt auch Gesichtserkennung oder Fingerabdruck, um Passwörter automatisch auszufüllen und Geräte zu autorisieren.
Roaming-Authenticator (Externer Authenticator, Cross-Plattform-Authenticator)
Der Roaming-Authenticator ist ein separates, tragbares Gerät oder Softwareanwendung, wie ein Hardware-Sicherheitsschlüssel oder ein Smartphone. Es sollte das Gerät über USB verbinden oder NFC oder Bluetooth eingeschaltet lassen. Der Roaming-Authenticator ist nicht auf ein einzelnes Gerät oder einen einzelnen Browser beschränkt und bietet dadurch eine höhere Flexibilität. Zum Beispiel:
- Sicherheitsschlüssel: auch Hardware-Token genannt, wie Yubikey.
- Mobiles Smartphone: wie ein cloud-basiertes Google-Konto auf Android oder ein iCloud-Konto auf dem iPhone. Wichtig ist, dass für eine geräteübergreifende Authentifizierung auch eine Verbindung über Bluetooth, NFC oder USB hergestellt werden muss, um sicherzustellen, dass der Authenticator des Benutzers in der Nähe ist. Mobile Authenticator erfordern oft das Scannen eines QR-Codes, um sie mit Desktop-Geräten zu verlinken. (Android-Smartphones können insbesondere eine nahtlose Verbindung mit dem Chrome-Browser für eine Ein-Klick-Autorisierung ohne QR-Code-Scannen verwenden.)
Hohe Sicherheitsgarantie
Eine hohe Sicherheitsgarantie ist entscheidend, um Unternehmensressourcen zu schützen. Dies wird durch folgende Maßnahmen ersreicht:
- Schutz der privaten Schlüssel: Private Schlüssel werden nie mit Drittanbieter-Websites (Dependierende Party) geteilt, was hilft, Passwortverletzungen und Phishing-Versuche zu verhindern.
- Gerätenähe-Anforderung: Geräte setzen entweder "Plattform-Authentifizierung für ein einzelnes Gerät" oder "Roaming-Authenticator, eingeschränkt durch USB, Bluetooth oder NFC" voraus, um in der Nähe des Benutzers zu sein, und verhindern so Fernangriffe.
- Domain-Bindung: WebAuthn ist eng an die spezifische Domain der Website gebunden, die vom Benutzer registriert wurde, und bietet Schutz vor Phishing-Angriffen von nicht autorisierten Websites.
Reibungslose Benutzererfahrung für MFA & 1FA
WebAuthn erhöht die Sicherheit, während es die benutzerfreundliche kennwortlose Verifizierungserfahrung verbessert:
- Natürliche Erfahrung und Effizienz der Biometrie: WebAuthn passt spezifische Authentifizierungsmethoden an verschiedene Plattformen und Geräte an und richtet sich nach den Benutzergewohnheiten aus. Biometrische Authentifizierung eliminiert die Notwendigkeit manueller Eingaben und beschleunigt den Verifizierungsprozess erheblich.
- Direkte MFA unter Umgehung von 1FA: WebAuthn wird häufig für MFA (Multi-Factor Authentication) verwendet. Aufgrund seiner hohen Sicherheit können Benutzer, wenn die dependierende Partei die Verwendung von WebAuthn im Browser zuvor aufgezeichnet hat, den 1FA-Schritt (Single-Factor Authentication) überspringen und sich direkt über Passkey-Verifizierung anmelden.
- Passkey ersetzt Passwort: Passkeys können auch als Alternative zu herkömmlichen Passwörtern für die 1FA dienen. Benutzer können ihren Passkey entweder vor oder nach der Eingabe ihres Kontos bereitstellen, mit Passworteingabe nur erforderlich, wenn die Passkey-Authentifizierung nicht verfügbar ist.
Herausforderung: Warum wird WebAuthn nicht weitläufig von Benutzern angenommen?
Einschränkungen des Browsers oder der Plattform
Einige Browser oder Plattformen unterstützen WebAuthn entweder überhaupt nicht oder bieten keine Unterstützung für Roaming-Authentifikatoren. Auch wenn die aktuellen Statistiken von Caniuse eine ordentliche Unterstützung mit 97,37 % Desktop- und 96,3 % mobiler Plattformabdeckung zeigen, gibt es immer noch Unterschiede zwischen verschiedenen Browser-Versionen und Betriebssystemen. Beispielsweise unterstützt Desktop-Linux keine Plattform-Authentifikatoren, Android unterstützt WebAuthn nur vollständig auf Chrome und Internet Explorer auf MacOS unterstützt WebAuthn nicht. Dies erfordert von Admins, von Mitgliedern die Verwendung bestimmter Browser oder Betriebssysteme zu verlangen oder andere alternative MFA-Methoden zu konfigurieren.
Risiko des Geräteverlusts
Insbesondere für Benutzer, die sich auf "Dieses Gerät" Plattform-Authentifikatoren verlassen, kann der Verlust des Geräts den Verlust des Zugangs zu ihren Konten bedeuten. Die Kontowiederherstellung kann ein mühsamer Prozess sein. Um dieses Risiko zu mindern, sollten Benutzer gleichzeitig andere Backup-Authentifizierungsmethoden binden, wenn sie WebAuthn einrichten.
Begrenzte Unterstützung für Websites und Apps
Viele Dienste und Anwendungen bieten noch keine Unterstützung für Passkeys. Benutzer sind oft nicht mit den verschiedenen Authentifizierungsmethoden vertraut und verstehen möglicherweise nicht vollständig die Unterschiede und Einschränkungen zwischen Plattform-Authentifikatoren und Roaming-Authentifikatoren. Dennoch nehmen führende Systeme, Browser und SaaS-Dienste zunehmend WebAuthn an, was es zu einem wachsenden Trend macht, den sowohl Unternehmen als auch Benutzer allmählich akzeptieren.
Schlussfolgerung
Logto bereitet sich darauf vor, im November die Multi-Factor Authentication (MFA) zu starten. Die Anfangsphase wird drei Verifizierungsmethoden unterstützen: Authenticator-App TOTP, WebAuthn (Passkey) und Backup-Codes, wodurch eine umfassende Anmelde- und Anmeldelösung geboten wird. Wir werden weiterhin fortschrittliche Merkmale rund um WebAuthn entwickeln. Wir freuen uns auf deine Erfahrungen und laden dich ein, Neuigkeiten zur kommenden MFA-Veröffentlichung auf Product Hunt im Blick zu behalten.