FIDO2 - Fast IDentity Online Version 2

FIDO2 ist ein Standard mit dazugehörigen Verfahren zur passwortlosen Anmeldung (Login) an Online-Diensten. FIDO2 besteht aus der Spezifikation Web Authentication des W3C (WebAuthn) und dem Client to Authenticator Protocol (CTAP).
Im Prinzip geht es bei FIDO2 darum ein Login-Verfahren zu etablieren, das auf Passwörter zur Anmeldung verzichtet und die damit verbundenen Sicherheitsprobleme eliminiert.

Welche Probleme werden mit FIDO2 gelöst?

  • Passwort- und Identitätsdiebstahl durch Trojaner und Phishing
  • Vergessen der Zugangsdaten für Online-Dienste durch den Nutzer

Übersicht

  • Sicherheitsschlüssel: Hardware mit Krypto-Chip
  • WebAuthn: FIDO2-Support im Webbrowser
  • CTAP - Client to Authenticator Protocol

Sicherheitsschlüssel (Hardware mit Krypto-Chip)

Dreh- und Angelpunkt bei FIDO2 ist der Sicherheitsschlüssel, der auch als Authenticator bezeichnet wird. Der Sicherheitsschlüssel ist eine externe Hardware in der Form eines USB-Sticks oder Hardware-Tokens, den man praktischerweise an den Schlüsselbund hängen kann, damit man ihn immer dabei hat.
Auf diesem Sicherheitsschlüssel ist das Geheimnis gespeichert, mit dem ein Anmeldevorgang bzw. Login den Inhaber einer FIDO2-Identität ausweist. Dieser persönliche Sicherheitsschlüssel ermöglicht es, sich mit der FIDO2-Identität per USB, NFC oder Bluetooth mit einem PC oder Smartphone zu verbinden und mit unterschiedlichen Geräten an Online-Dienste anzumelden. Der Vorteil davon ist, dass die FIDO2-Identität an den Sicherheitsschlüssel bzw. an ein Stück Hardware gebunden und nicht auf anderes Geräte übertragbar ist.
Den FIDO2-Sicherheitsschlüssel gibt es von verschiedenen Herstellern in unterschiedlichen Ausführungen. Sie unterscheiden sich im wesentlichen nur in ihren Anschlussmöglichkeiten: USB-A, USB-C, Apple-Lightning, NFC und Bluetooth.

Wer kein Hardware-Token verwenden will, der kann auch einen Computer ab Windows 10 oder ein Smartphone mit Android als FIDO2-Sicherheitsschlüssel verwenden. In der verwendeten Hardware muss dann ein Krypto-Chip vorhanden sein. In PCs mit Windows existiert das Trusted Platform Module (TPM). In Android-Geräten ist das ein Secure Element. Apple-Hardware hat eine vergleichbare Lösung.

Anmeldung mit FIDO2 (statt Passwort)

Für die FIDO2-Anmeldung an einem Online-Dienst braucht man zwei Komponenten:

  1. Einen Browser, der per JavaScript die Anmeldung an die FIDO2-Hardware übergibt. Dieser Teil ist im Webstandard „Web Authentication“ (Webauthn) vom World Wide Web Consortium (W3C) festgelegt.
  2. Es ist ein Sicherheitsschlüssel notwendig. Entweder als USB-Stick (Hardware-Token) oder als Krypto-Chip im PC, Smartphone oder Tablet.

WebAuthn - Web Authentication (W3C)

Web Authentication, kurz als WebAuthn bekannt, ist der FIDO2-Support im Webbrowser und auch in Apps, bei dem es sich um einen Standard des W3C handelt. Damit ist es möglich, sich an Online-Diensten und Webseiten per FIDO2 anzumelden.

Wie funktioniert die Authentifizierung bei der Anmeldung mit FIDO2?

In der Regel läuft das so ab: Der User drückt oder klickt auf einer Webseite den Login-Button und fordert diese dazu auf, sich mit dem Sicherheitsschlüssel auf dem PC zu verbinden. Dann blinkt der Sicherheitsschlüssel. Der User betätigt den Taster am Sicherheitsschlüssel und ist danach angemeldet.

Im Hintergrund passiert folgendes: Der User löst ein Challenge-Response-Verfahren aus, das auf der asymmetrischen Kryptografie beruht. Nach demselben Prinzip funktionieren auch einige andere asymmetrische Verfahren. Zum Beispiel bei der SSH-Authentifizierung mit Zertifikat oder die digitale Unterschrift (Signierung).
Dabei schickt der Server eine mit dem öffentlichen Schlüssel (des registrierten Accounts) verschlüsselte Zeichenkette an den Client des Users. Durch betätigen des Tasters bestätigt der User seine Anwesenheit und der Krypto-Chip im Client signiert die geheime Zeichenkette und schickt sie über den Client an den Server zurück. Der Server kann dann anhand der Signatur prüfen, dass sich ein Sicherheitsschlüssel im Besitz des Geheimnisses befindet. Im Prinzip spricht der Server mit dem Krypto-Chip auf dem Sicherheitsschlüssel.

Das bedeutet, dass FIDO2 nicht den User authentifiziert, sondern den Sicherheitsschlüssel, der sich hoffentlich im Besitz des richtigen Users befindet. Für die Nutzer-Authentifizierung ist das Gerät verantwortlich, was bei der Nutzung von persönlichen, elektronischen Geräten die Regel ist.

Angriffsmöglichkeiten

Und was, wenn ein Angreifer es schafft, sich in den Datenverkehr der Authentifizierung zwischen Client und Server einzuklinken und mitzulesen? Ja, er kann den Datenverkehr mitlesen. Aber, die aufgezeichneten Daten sind in jedem Fall wertlos. Da sind keine Daten enthalten, die zu einem späteren Zeitpunkt zur Authentifizierung oder Übernahme der Verbindung dienen können. Im schlimmsten Fall erreicht der Angreifer ein Scheitern der Authentifizierung.
Was FIDO2 sicher macht ist, dass die geheimen Schlüssel nicht übertragen werden, sondern im Krypto-Chip verwahrt werden.

User Verification

Ein Mehr an Sicherheit kann ein Online-Dienst mit einer User Verification erreichen. Dann ist der FIDO2-Sicherheitsschlüssel per Pin oder Fingerabruck abgesichert. Ein Dienst, bei dem sich der User anmeldet, kann das als zusätzliche Maßnahme verlangen. Bei Android ist das die „Displaysperre“. Unter macOS erfolgt das Entsperren des Krypto-Chips mit dem Fingerabdrucksensor, unter iOS je nach Gerät Fingerabdrucksensor oder Gesichtserkennung. Unter Windows mit PCs gibt es vergleichbare Funktionen, abhängig von der Hardware.

Auf diese Weise wird verhindert, dass ein gefundener oder gestohlener Sicherheitsschlüssel einfach von einer anderen Person verwendet oder missbraucht werden kann. Außerdem hat die User Verification nichts mit dem eigentlichen Anmeldevorgang zu tun. Das ist nur eine Bestätigung, dass der tatsächliche Besitzer des Geräts das Gerät bedient und den Anmeldevorgang freischaltet.

Vorteile durch die FIDO2-Authentifizierung

Weil zu keiner Zeit das Geheimnis für die Authentifizierung innerhalb des Computers oder zwischen den Systemen übertragen wird, kann es nicht geklaut und auch nicht verloren (vergessen) werden. Ein Angreifer müsste schon aktiv den FIDO2-Schlüssel des Benutzers klauen, um auch nur in die Nähe des Geheimnisses zu kommen. In der Regel wollen Angreifer die Anonymität durch die Ferne behalten, weshalb ein FIDO2-Sicherheitsschlüssel selten das Ziel eines Diebstahls sein wird.
Man schützt sich auf diese Weise gegen automatisierte Angriffe durch Phishing oder eingeschleuste Schadsoftware, die Passwörter stehlen will.

Nachteile durch die FIDO2-Authentifizierung

  1. Verlust: Wenn der FIDO2-Sicherheitsschlüssel verloren geht, dann kann man sich nicht mehr in die damit verknüpften Accounts einloggen. In der Regel wird man das Hardware-Token oder eine vergleichbare Hardware, wie das Smartphone, nicht einfach so verlieren. Wir achten schließlich auch auf Auto- und Wohnungsschlüssel mit Argusaugen, weil da unser halbes Leben dranhängt. Das sind Dinge, die wir immer am Körper oder an einem sicheren Ort aufbewahren. Ähnlich sollten wir den Sicherheitsschlüssel auch behandeln.
  2. Diebstahl: Ein FIDO2-Sicherheitsschlüssel kann von einer fremden Person durch Diebstahl in Besitz genommen werden. Man sollte die Diebstahlgefahr aber nicht überbewerten. Denn anders als Passwörter lassen sich solche FIDO2-Sicherheitsschlüssel nicht übers Netz und schon gar nicht automatisiert in großer Zahl klauen. Deshalb sind sie kein begehrtes Ziel.
    3. Abhängigkeit: Mit der Nutzung eines FIDO2-Sicherheitsschlüssels erzeugt man eine neue Dimension der Abhängigkeit. Anmeldungen sind nur noch dann möglich, wenn man den Sicherheitsschlüssel bei sich hat. In der Regel trägt man ihn bei sich am Schlüsselbund oder legt ihn in den Geldbeutel. Man muss diese Gegenstände dann immer mit sich führen und darf sie nicht vergessen oder liegen lassen.

Sicherheitsrisiken?

Im Prinzip gibt es nur zwei Sicherheitsrisiken, die FIDO2-Sicherheitsschlüssel nicht lösen können.

  1. Sicherheitslücke beim Betreiber des Online-Dienstes: Hier kann es sein, dass die Implementierung des Online-Dienstes eine Möglichkeit offen lässt, dass ein Angreifer einen beliebigen Account ohne ausreichende Authentifizierung übernehmen kann. Dieses Risiko lässt sich leider nicht von der Hand weisen. Hier muss der Betreiber oder Anbieter seine Hausaufgaben machen.
  2. Diebstahl des eigenen Sicherheitsschlüssels: Wer in den Besitz eines fremden Sicherheitsschlüssels gelangt, hat damit zumindest theoretisch die Möglichkeit Zugang zu den damit registrierten Accounts zu erhalten. Aber, dem Sicherheitsschlüssel sieht man nicht an, welche Accounts damit registriert wurden. Ein Dieb, eines Sicherheitsschlüssels wird dagegen schon genau wissen, was er damit tun kann.

Das war jetzt ein bisschen viel auf einmal! Geht es auch kürzer?

Also, wenn ich mich bei einem Online-Dienst mit FIDO2 registriere, dann hinterlege ich dort einen öffentlichen Schlüssel (Public Key). Den dazugehörigen geheimen Schlüssel (Private Key) behalte ich. Genauer gesagt wird er von meinem Sicherheitsschlüssel (Hardware-Token oder ähnliches) verwahrt, der auch die dazugehörige Kryptografie abwickelt. Das heißt, ein Schadcode von außen, kann keine Schlüssel lesen oder eine Manipulation vornehmen.
Und der beim Online-Dienst hinterlegte Public Key ist für digitale Unterschriften oder Anmeldevorgänge nutzlos.

Mein Anmeldevorgang wird mit einer Challenge (Herausforderung) in Kombination mit dem Public Key durch den Server eingeleitet. Die Challenge kann ich nur bestehen, wenn ich im Besitz der Hardware bin, auf dem mein Private Key gespeichert ist.
Ein Trojaner, der sich auf meinem PC eingenistet hat und dort versucht heimlich Passwörter zu klauen kommt an die Zugangsdaten gar nicht ran, weil die konstruktionsbedingt nicht ausgelesen werden können und prinzipbedingt nicht übertragen werden.

Zusätzlich kann der Online-Dienst die Zustimmung eines Benutzers erzwingend. Auf diese Weise kann verhindert werden, dass ein gestohlener Sicherheitsschlüssel missbraucht wird.

Fazit

Der größte Vorteil von FIDO2 ist die Bindung der privaten Schlüssel an den Authenticator, was zugleich sein größter Nachteil ist. Die Sicherheit erhöht sich damit schlagartig, aber leider auch der Aufwand im Alltag. Sobald man auf einen Online-Dienst von mehreren Geräten aus zugreifen muss, muss man jedes Gerät einzeln mit dem Account verknüpfen oder den verknüpften FIDO2-Sicherheitsschlüssel anschließen können.
Damit man sich nicht aussperrt, wenn ein Gerät ausfällt oder verloren geht, empfiehlt sich mindestens zwei Geräte einsetzen. Das artet schnell in Arbeit aus, weshalb die Nutzung von FIDO2 für viele Anwender nicht in Frage kommt.

Auch aus einem anderen Grund funktioniert der passwortlose Ansatz von FIDO2 für viele Nutzer nicht besonders gut. Denn, um sich passwortlos anmelden zu können, muss der Nutzer auf jedem seiner Geräte einen eigenen FIDO2-Login für jeden einzelnen Dienst anlegen. Um das tun zu können, braucht der User wieder die Passwörter, um den FIDO2-Login einzurichten. Auf diese Weise wird man das Passwort immer noch nicht los.

Einige Dienste erlauben es mit FIDO2 ganz aufs Passwort zu verzichten. Aber die überwiegende Mehrheit der Online-Dienste beschränkt sich bei FIDO2 auf die Funktion als zweiten Faktor (Besitz).

Weiterentwicklung: Passkeys

Passkeys ist eine Weiterentwicklung von FIDO2, um von der unsicheren Authentifizierung mit Passwörtern (wissensbasierte Authentifizierung) zur einer besitzbasierten Authentifizierung überzugehen. Im Gegensatz zu FIDO2 können die Authentifizierungsmerkmale über mehrere Geräte und Systeme synchronisiert werden.

Weitere verwandte Themen:

Frag Elektronik-Kompendium.de

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!

Artikel-Sammlungen zum Thema Netzwerktechnik

Collection: Netzwerk-Grundlagen

Was du über Netzwerk-Grundlagen wissen solltest.

eBook herunterladen

Collection: IPv6

Was du über IPv6 wissen solltest.

eBook kaufen

Collection: Netzwerk-Sicherheit

Was du über Netzwerk-Sicherheit wissen solltest.

eBook kaufen

Netzwerktechnik-Fibel

Alles was Sie über Netzwerke wissen müssen.

Die Netzwerktechnik-Fibel ist ein Buch über die Grundlagen der Netzwerktechnik, Übertragungstechnik, TCP/IP, Dienste, Anwendungen und Netzwerk-Sicherheit.

Das will ich haben!