CTAP: Protokoll für mehr Sicherheit & Komfort im Web
Jahrzehntelang haben wir das klassische Sicherheitssystem mit der Kombination aus Passwort und Benutzernamen verwendet. Möchte man sich irgendwo im Internet einloggen – egal, ob bei einem Social-Media-Portal oder einem Webshop, gibt man den Namen seines Kontos ein und dann ein geheimes Passwort. Doch es hat sich inzwischen herausgestellt, dass diese Technik nicht so perfekt ist, wie lange Zeit angenommen: Nutzer wählen oft zu leichte Kennwörter, verwenden für viele Konten die gleichen Passwörter und machen sich so angreifbar für Attacken. Deshalb hat sich die FIDO Alliance mit dem World Wide Web Consortium (W3C) zusammengeschlossen und ein System entwickelt, das sowohl sicherer als auch komfortabler als der alte Passwortschutz sein soll.
Das Ergebnis der Zusammenarbeit findet man in FIDO2 und WebAuthn. Ein weiterer Mechanismus, der im Zusammenhang mit dem neuen Onlineschutz häufig genannt wird, ist das Client to Authenticator Protocol (CTAP). Doch was genau verbirgt sich hinter dem Begriff?
Was ist CTAP?
FIDO2 und WebAuthn sollen das gewöhnliche Passwort ersetzen. Stattdessen sollen beispielsweise biometrische Daten wie ein Fingerabdruck Onlinekonten sichern. Aber auch ein Hardware-Token – zum Beispiel in Form eines USB-Sticks – kann zur Authentifizierung genutzt werden. Solche Geräte werden im Kontext von FIDO als Authenticators bezeichnet. Die Kommunikation zwischen diesem Token und dem System des Nutzers wird per CTAP geregelt. Das Protokoll legt also fest, wie die beiden Komponenten miteinander kommunizieren müssen, damit es zu einer erfolgreichen Authentifizierung kommen kann und ein Log-in im Web funktioniert.
CTAP gibt es in zwei verschiedenen Versionen. Die erste Fassung des Protokolls war auch als Universal 2nd Factor (U2F) bekannt und bezieht sich vor allem auf die Zwei-Faktor-Authentisierung. Für die Innovation rund um FIDO2 wird CTAP2 eingesetzt. Das neue Protokoll sorgt in Kombination mit WebAuthn dafür, dass FIDO2 funktionieren kann. WebAuthn regelt die Verbindung zwischen dem System des Nutzers und der Website, auf der sich die Person identifizieren soll. CTAP hingegen reguliert die Verbindung zwischen dem Authenticator und dem PC oder Laptop des Nutzers – bzw. dem Browser auf der Plattform, da dieser für die Authentifizierung zuständig ist.
Funktionsweise des Client to Authenticator Protocols
Um sicherzustellen, dass sich nur dazu berechtigte Personen in ein Onlinekonto einloggen können, muss es eine Form von Authentifizierung geben. Bei FIDO2 soll dafür ein zusätzliches Gerät verwendet werden, mit welchem man sich gegenüber einer Onlineplattform als Nutzer ausweisen kann. Solche Tokens sollen die eher unpraktischen und zum Teil unsicheren Passwörter ablösen. Es ist vorgesehen, dass sich der Authenticator per USB, NFC oder Bluetooth mit dem eigentlichen Gerät verbindet, auf dem gesurft wird. Damit CTAP, WebAuthn und FIDO2 funktionieren können, muss der verwendete Browser die neuen Standards auch unterstützen. Die aktuellen Versionen der Marktführer haben FIDO2 allerdings bereits implementiert.
Es gibt auch andere Formen von Authenticators, die direkt im PC, Laptop oder Smartphone verbaut sind. Hierbei handelt es sich in erster Linie um Werkzeuge zum Erfassen von FaceID oder TouchID – also Fingerabdruckscanner oder Kameras mit Gesichtserkennung. Da diese Hardware nicht extern ist, benötigen die Hardwarekomponenten kein gesondertes Kommunikationsprotokoll.
Kommunikation über CTAP folgt einem bestimmten Muster. Zunächst nimmt der Browser (oder eine andere zuständige Software) eine Verbindung zum Authenticator auf und fragt über diesen Informationen ab. Dabei stellt das System fest, welche Möglichkeit zur Authentifizierung das externe Gerät anbietet. Auf Basis dieser Information kann das System dann einen Befehl an den Authenticator senden. Daraufhin sendet der Authenticator entweder eine Antwort oder eine Fehlermeldung, falls der Befehl doch nicht den Möglichkeiten des Geräts entspricht.
Die Authentifizierungsdaten, beispielsweise der Fingerabdruck, verlassen bei dieser Methode niemals den Zugriffsbereich des Nutzers. Die sensiblen Daten bleiben im System. Der Browser sendet per WebAuthn nur die Bestätigung, dass der Zugriff rechtmäßig ist. Dieser Übertragung wiederum funktioniert über ein Public-Key-Verfahren. Man-in-the-Middle-Attacken sind dadurch nicht möglich. Auch Phishing-Angriffe werden mit CTAP, WebAuthn und FIDO2 sinnlos: Wenn Nutzer keine Kennwörter und Benutzernamen mehr angeben müssen, können diese auch nicht durch einen Betrug abgefangen werden.
Ein Authenticator kann als FIDO2 Security Key umgesetzt werden. Dabei handelt es sich quasi um einen kleinen USB-Stick, der wie ein Schlüssel funktioniert. Der Nutzer beweist durch den Besitz des Security Keys, dass er die Zugangserlaubnis zu dem Onlinekonto hat. Schlüssel und System kommunizieren auch in diesem Fall über das Client to Authenticator Protocol miteinander.