ArtikelAuthentifizierung

Authentifizierung im Wandel – Fast Identity Online (FIDO)

Bei der Registrierung wird ein Schlüsselpaar erzeugt und auf dem Server gespeichert. Da es sich um Public-Key-Kryptographie handelt, ist der gemeinsame Schlüssel, der auf dem Server gespeichert wird, der öffentliche Schlüssel. Um den Registrierungsvorgang zu starten, gibt ein authentifizierter Benutzer an, dass er einen Sicherheitsschlüssel registrieren möchte. Dies kann durch Anklicken einer Schaltfläche auf der Benutzeroberfläche oder durch Senden eines API-Aufrufs geschehen. Dann sendet der Server nach Durchführung der erforderlichen Validierungen eine Aufforderung an das Authentifizierungsgerät (Sicherheitsschlüssel). Diese Challenge ist eine zufällige Zeichenfolge mit einer vordefinierten Länge. Das Authentifizierungsgerät fordert den Benutzer zunächst auf, sich zu verifizieren, zum Beispiel durch einen Fingerabdruckscan, einen Kamerascan, eine PIN und so weiter. Das Authentifizierungsgerät generiert dann ein neues Schlüsselpaar und signiert die Challenge mit dem öffentlichen Schlüssel. Die signierte Abfrage wird zusammen mit dem generierten öffentlichen Schlüssel als Antwort an den Server zurückgeschickt. Der Server führt dann die erforderlichen Überprüfungen durch und speichert den empfangenen öffentlichen Schlüssel.

Grafik: WSO2

Der Authentifizierungsvorgang ist das Ereignis, bei dem die Authentifizierung mit einem registrierten Sicherheitsschlüssel oder Gerät erfolgt. Zu Beginn des Authentifizierungsvorgangs gibt ein Benutzer an, dass er sich mit einem FIDO-Sicherheitsschlüssel anmelden möchte. Der Server generiert dann eine zufällige Challenge und sendet sie an das Authentifizierungsgerät. Das Authentifizierungsgerät überprüft die Identität des Benutzers (anhand von biometrischen Merkmalen, PIN und so weiter) und signiert nach erfolgreicher Überprüfung die Challenge mit dem gespeicherten privaten Schlüssel und sendet sie an den Server zurück. Der Server verifiziert dann die Anfrage mit dem gespeicherten öffentlichen Schlüssel und authentifiziert den Benutzer für den angeforderten Dienst.

Grafik: WSO2

FIDO bedeutet, dass dies in Hardware und Protokoll umgesetzt wird. Die Kommunikation wird mit anderen Informationen in Bezug auf den Benutzer, den Sicherheitsschlüssel und den Server eingebettet, wenn diese in den eigentlichen Fluss integriert werden. Das FIDO-Protokoll besteht auf der Durchführung einiger Verifizierungsschritte für die Nutzdaten der Registrierung (attestation) und Authentifizierung (assertion).

Die Zukunft FIDO2

Der FIDO-Flow eignet sich sehr gut für diejenigen, die eine passwortlose Erfahrung machen wollen. Er ist schnell, einfach und stark, aber der einzige Nachteil ist, dass der Benutzer ein kleines Sicherheitsgerät bei sich tragen muss, um sich mit FIDO anzumelden. Die Mehrheit der Anwender zögert, ein spezielles Gerät für die Authentifizierung zu kaufen. In Anbetracht dieser Einschränkung hat die FIDO Alliance ein neues Protokoll namens FIDO2 eingeführt, das auf dem bestehenden FIDO-Flow aufbaut und die WebAuthn-API enthält. WebAuthn-API ermöglicht die Verwaltung von Anmeldeinformationen mit Plattform-Authentifikatoren über unterstützte Webbrowser. Plattform-Authentifikatoren sind Sicherheitsgeräte (wie Fingerabdruckscanner, Touch ID, Face ID und so weiter), die in Laptops und mobile Geräte eingebaut sind. Mit FIDO2 können sich die Nutzer dank der in den Geräten integrierten biometrischen Funktionen passwortlos anmelden.