FIDO2
FIDO2 ist ein Standard der FIDO-Allianz und des W3C, der eine starke Authentifizierungslösung im Web realisiert.
Ein Server schickt hierbei initial eine Anfrage. Der FIDO2-Key generiert nun aus einem geheimen Initialschlüssel (Secret) und der Serveradresse einen öffentlichen und einen geheimen Schlüssel, der öffentliche Schlüssel wird an den Server übermittelt, der ihn speichert und so künftig den FIDO2-Key eindeutig identifizieren kann. So kann sich der FIDO2-Key bei jedem Server mit einem individuellen Schlüssel ausweisen, ohne dass der Server(betreiber) einen Rückschluss auf andere Login-Möglichkeiten mit demselben FIDO2-Key bekommt. Zur Sicherheit gegen Missbrauch des FIDO2-Keys kann dieser zusätzlich biometrisch oder mit einem Passwort (hier PIN genannt) gesichert werden.
Im Kern besteht FIDO2 aus dem W3C-Web-Authentication-Standard (WebAuthn) und dem Client to Authenticator Protocol (CTAP) der FIDO-Allianz.[1] FIDO2 basiert auf früheren Arbeiten der FIDO-Allianz, nämlich dem Authentifizierungsstandard Universal 2nd Factor (U2F). Mit dem Release von FIDO2 wurde U2F in CTAP1 umbenannt.[2]
Zusammengenommen spezifizieren WebAuthn und das korrespondierende Client-to-Authenticator Protocol (CTAP) der FIDO-Allianz ein Standardauthentifizierungsprotokoll,[3] bei dem die Endpunkte aus zwei Elementen bestehen:
- Benutzerkontrollierten, eingebetteten (gebundenen) kryptografischen Authentifikatoren, wie Biometrie oder PIN, oder externen (Roaming-)Authentifikatoren, wie FIDO Security Keys, mobilen Geräten, Wearables etc.
- Einer vertrauenswürdigen WebAuthn-Gegenstelle, die auch FIDO2-Server genannt wird.
Ein Web-Benutzerprogramm, wie zum Beispiel ein Browser, bildet zusammen mit einem WebAuthn-Client einen Vermittler zwischen dem Authentifizierer und der vertrauenswürdigen Gegenstelle. Ein einzelnes WebAuthn-Clientgerät kann mehrere WebAuthn-Clients unterstützen. Zum Beispiel kann ein Laptop mehrere Clients unterstützen: Einer für jedes auf dem Laptop laufende kompatible Benutzerprogramm. Dafür muss das Benutzerprogramm die WebAuthn-JavaScript-API implementieren.
Wie der Name bereits andeutet, ermöglicht es das Client-to-Authenticator-Protocol (CTAP) einem kompatiblen kryptografischen Authentifizierer, mit dem WebAuthn-Client zu interagieren. Die CTAP-Spezifikation verweist auf zwei Protokollversionen: CTAP/U2F und CTAP2.[4] Ein Authentifizierer, der eines dieser Protokolle implementiert, wird U2F-Authentifizierer oder FIDO2-Authentifizierer genannt.
Es gibt auch abwärtskompatible Authentifizierer, die beide Protokolle implementieren:
- CTAP1 ermöglicht die Verwendung vorhandener FIDO-U2F-Geräte (z. B. FIDO-Sicherheitsschlüssel) zur Authentifizierung an FIDO2-fähigen Browsern und Betriebssystemen über USB, NFC oder BLE für eine Zweifaktor-Authentifizierung.
- CTAP2 ermöglicht die Verwendung externer Authentifikatoren (FIDO Security Keys, mobile Geräte) zur Authentifizierung an FIDO2-fähigen Browsern und Betriebssystemen über USB, NFC oder BLE für eine passwortlose Zwei- oder Mehr-Faktor-Authentifizierung.
Im Februar 2019 erhielt Android (ab Version 7) eine FIDO2-Zertifizierung.[5]
Weblinks
- Erklärungen für Einsteiger zu FIDO1/U2F und FIDO2, FIDO-Allianz (englisch)
- Passwortloses Anmelden dank FIDO2, Jürgen Schmidt, heise online 19. August 2019
- Fido2: So funktioniert der Passwort-Nachfolger, Von den c’t-Autoren Ronald Eikenberg und Jürgen Schmidt, Der Spiegel 20. Oktober 2019
Einzelnachweise
- FIDO2: Moving the World Beyond Passwords. FIDO Alliance. Abgerufen am 30. Januar 2019.
- Specifications Overview, FIDO-Allianz, abgerufen am 28. Januar 2020
- Web Authentication: An API for accessing Public Key Credentials Level 1. World Wide Web Consortium (W3C). Abgerufen am 30. Januar 2019.
- Client to Authenticator Protocol (CTAP). FIDO Alliance. 27. Februar 2018. Abgerufen am 30. Januar 2019.
- Google looks to leave passwords behind for a billion Android devices. Where Android’s going, you won’t need passwords. cnet.com