Yuri Akkermann: "Eine der Grundprinzipien der FIDO-Allianz ist der Schutz der Privatsphäre"

    Interview mit dem leitenden Zertifizierungsingenieur FIDO Alliance über die kennwortlose Authentifizierung


    Unsere Nutzer haben uns gebeten, die Zwei-Faktor-Authentifizierung über die Google-App zu implementieren. Und kürzlich haben wir diese Gelegenheit geboten . Etwa zur gleichen Zeit veröffentlichte das FIDO Alliance-Konsortium Standards für die kennwortlose Authentifizierung auf Websites, in mobilen Anwendungen und Web-Services - WebAuthn und CTAP.

    Wir sind an diesem Thema interessiert und haben ein Material zu Habré vorbereitet, in dem wir über die Methoden der neuen Protokolle sprachen.

    Um einige Punkte bezüglich der Feinheiten der Normarbeit zu klären, haben wir dann mit Yuri Akkermann ( Herrjemand) gesprochen), FIDO Alliance leitender Zertifizierungsingenieur. Er beantwortete einige unserer Fragen zur Vergangenheit, Gegenwart und Zukunft der FIDO-Authentifizierung. Wir stellen Ihnen den Text des Interviews vor.


    / Flickr / zhrefch / PD

    Erzählen Sie uns bitte Ihre Erfahrungen und Erfahrungen im gesamten IT-Bereich. Wie haben Sie Ihre Arbeit in der Industrie begonnen?


    Ich programmiere seit meinem 15. Lebensjahr. Nach der Schule ging ich an die Universität, wo ich Informatik und Mathematik studierte. Im zweiten Jahr begann ich mich für Kryptographie, Informationssicherheitsfragen zu interessieren und auf FIDO zu stolpern. Ich mochte ihre Protokolle wirklich sehr und am Ende habe ich die U2F-Bibliothek für Python Flask geschrieben und eine Präsentation gemacht.

    Meine Arbeit wird in FIDO bewertet. Gleichzeitig suchten sie nur nach einem Zertifizierungsingenieur. Am Ende wurde ich für die technische Zertifizierung verantwortlich.

    Seit wann sind Sie an Themen im Zusammenhang mit der Authentifizierung bei FIDO beteiligt? Welche Aufgaben haben Sie bei der Entwicklung eines neuen Standards gelöst?


    Ich arbeite seit drei Jahren mit FIDO-Protokollen - zwei davon in der FIDO-Allianz. Meine Hauptaufgabe besteht in der technischen Zertifizierung und automatischen Tools zum Testen der Implementierung auf Einhaltung der Spezifikationen. Meine Aufgaben umfassen die Entwicklung und Wartung der Tools selbst sowie das Schreiben von Testplänen - Testlisten für die Überprüfung von Servern, Clients und Authentifizierern. Ich denke, dass das Erstellen eines Testplans der zeitaufwendigste Prozess ist, da er die Feinheiten der Protokolle und die darin verwendeten Standards verstehen muss.

    Ich berate auch Arbeitsgruppen zu möglichen Verbesserungen der Spezifikationen, mache Präsentationen und schreibe Artikel von Zeit zu Zeit.

    Wie entstand die Idee, einen neuen Standard für die Authentifizierung zu schaffen? Warum haben Sie entschieden, dass die Welt und die Gemeinschaft in diesem Bereich eine neue Lösung benötigen? Welche Nachteile bestehender Formate sollen WebAuthn schließen?


    Die FIDO Alliance gründete Agnitio, Infineon Technologies, Lenovo, Nok Nok Labs, PayPal und Validity im Jahr 2013, die die UAF entwickelten. Wenig später kamen Google, Yubico und NXP hinzu. Diese arbeiteten am Vorgänger von U2F und hielten es für sinnvoll, Kräfte zu kombinieren, da ihre Ideen mit den Ideen der Allianz übereinstimmten. Sie wollten Internetbenutzer vor Phishing schützen, die Probleme bei der Benutzerfreundlichkeit von Passwörtern lösen und die Verfügbarkeit und Sicherheit biometrischer Technologien verbessern.

    Wurden Voruntersuchungen durchgeführt, die entweder die Absicht bekräftigen, einen Standard zu schaffen, oder zu deren Schaffung gedrängt wurden? Wenn ja, welche Daten haben Sie analysiert?


    Mitglieder der Allianz, wie Google, Microsoft, Samsung, Yubico und andere, arbeiten aktiv an der Erstellung und Förderung von Standards. Sie erkunden Märkte und versuchen zu verstehen, wie sich FIDO in verschiedene Ökosysteme einfügen kann. Bei Google haben sie zum Beispiel eine Studie zur Migration des zweiten Faktors von Einmalpasswörtern zu U2F durchgeführt.

    Wie wurde CTAP geboren? Wie hängt es mit WebAuthn zusammen?


    FIDO besteht aus drei Teilen: dem Server, dem Client (Browser) und dem Authenticator. Der Server sendet den Anruf an den Client, der Client leitet den Anruf an den Authentifikator weiter, der ihn signiert und an den Client zurücksendet, und dieser Anruf wird bereits an den Server gesendet.

    Damit der Server die FIDO-Authentifizierung verwenden kann, verfügen die Clients über die WebAuthn JS-API. Der Client kommuniziert mit Authentifizierern unter Verwendung des Protokolls CTAP2 (Client-to-Authenticator Protocol 2) auf niedriger Ebene. CTAP2 beschreibt CBOR-Anforderungsstrukturen und -transporte (z. B. USB, NFC und BLE) für die Kommunikation mit dem Authentifikator. Die Kombination dieser beiden Standards wird als FIDO2 bezeichnet.

    Ein Ziel bei der Erstellung eines Formats ist der Schutz vor Phishing. Welche Vorteile sind im Vergleich zu anderen Lösungen zu unterscheiden?


    Wenn wir über bestehende Lösungen sprechen, dann können FIDO nur mit Client-Zertifikaten oder mit TLS CCA (Client Certificate Authentication) verglichen werden. FIDO und CCA sind Phishing-sichere Anrufantwortprotokolle für öffentliche Schlüssel. Sie haben jedoch erhebliche Unterschiede.

    CCAs sind nicht gegen Wiederholungsangriffe geschützt. Sie verwenden ein Zertifikat auf mehreren Websites wieder, was zu einer Anonymisierung des Benutzers führen kann. In FIDO generieren wir für jede Registrierung ein neues eindeutiges Schlüsselpaar, um sie privat zu halten.

    CCA hat auch ein Problem mit dem Speichern von Schlüsseln, da der private Schlüssel in den meisten Fällen entweder in PKCS12 verschlüsselt wird oder einfach im Klartext liegt. Somit kann selbst eine nicht privilegierte Anwendung sie problemlos stehlen. In FIDO werden alle Schlüssel sicher gespeichert, z. B. in einer Einweg-SecureEnclave-Speicherung. Das Wiederherstellen von Schlüsseln aus Repositorys dieses Typs ist sehr schwierig.

    Die CCA hat Schwierigkeiten mit der korrekten Implementierung auf der Serverseite, da die volle Unterstützung der CCA zu wünschen übrig lässt. Aufgrund der Komplexität der Arbeit mit TLS machen Entwickler viele Fehler. FIDO benötigt nur Unterstützung für die grundlegendste Kryptographie. CCA kann über HTTP implementiert werden, was in WebAuthn nicht möglich ist. CCA hat auch Probleme mit der Portabilität und Benutzerfreundlichkeit.

    Ich glaube nicht, dass das Bündnis etwas Neues erfunden hat. Wir haben gerade ein gutes Protokoll entwickelt, das vorhandene Sicherheitsmechanismen beinhaltet.


    / Flickr / Markus Spiske / PD

    Wird die Verwendung des Standards keine zusätzlichen Angriffsvektoren aufdecken, die mit der Notwendigkeit zusammenhängen, eine große Menge biometrischer Informationen zu speichern?


    Eines unserer Grundprinzipien ist der Datenschutz. Biometrische Informationen werden auf gesicherten Chips gespeichert und verlassen sie nicht. Unsere Unternehmen arbeiten mit FIDO- oder FIPS-zertifizierten Lesern.

    Wir verwenden auch keine biometrischen Informationen, außer um die Anwesenheit des Benutzers zu bestätigen. Und wir haben ein biometrisches Zertifizierungsprogramm zum Testen von Authentifikatoren.

    Sie haben einmal gesagt, dass die SMS-Code-Authentifizierung eine schlechte Option für 2FA ist. Wie kannst du das kommentieren?


    SMS-Codes oder SMS OTP ist eine Zwei-Faktor-Authentifizierung für Einmalkennwörter, die per SMS übermittelt werden. Daher stellt sich heraus, dass diese Lösung anfällig für Phishing ist. Wenn Ihr Benutzer auf Phishing verzichtet hat und seinen Benutzernamen und sein Kennwort angegeben hat, was hindert ihn daran, einen SMS-Code an Angreifer zu senden?

    Wir sollten die Probleme der Verwendung von SMS als Transport nicht vergessen. Vor drei Jahren wurden 400.000 Konten in einer deutschen Bank gehackt, weil das SS7-Protokoll verwundbar war und dazu verwendet wurde, Telekommunikationsinformationen zwischen verschiedenen Telekommunikationsbetreibern weiterzuleiten. Die Angreifer, die unbefugten Zugriff auf das SS7-Netzwerk erhielten, das keine Authentifizierung besitzt, konnten die Nummern der Opfer bei sich registrieren und ihre Codes erhalten.

    Außerdem kann jeder heute eine GSM-Basisstation für 500 bis 600 US-Dollar kaufen und SMS mit einem MITM-Angriff abfangen. Und schließlich sind mit Social Engineering Gefahren verbunden. Ich denke, viele sind mit der Geschichte vertraut , als die Angreifer eine beträchtliche Menge Geld von Bankkonten gestohlen haben und ein Duplikat der SIM-Karte des Opfers ausstellen. Dies geschieht in Russland und anderen Ländern mit beneidenswerter Regelmäßigkeit.

    Was ist, wenn Sie den Dienst auf mehreren Geräten eingeben müssen oder mehrere Personen denselben Dienst gleichzeitig nutzen? Unterstützt der Standard diese Betriebsart?


    Im Gegensatz zu einem Passwort können Authentifikatoren viele sein. Der Benutzer kann sein Telefon, seinen Laptop und sein Token registrieren und zur Authentifizierung verwenden. Ein einzelnes Token kann auch an mehrere Konten gebunden werden, ohne dass die Privatsphäre verloren geht.

    Was ist zu tun, wenn das Token verloren wurde? Wird es möglich sein, wieder auf Dienste zuzugreifen?


    Authentifizierung FIDO sollte als Schlüssel für das Haus betrachtet werden. Wenn Sie Ihre Schlüssel verloren haben, können Sie Ihre Ersatzteile immer von Ihrer Frau, Kindern, Mutter, Großmutter oder, im schlimmsten Fall, unter der Türmatte abholen. Wir empfehlen daher, dass Sie immer eine Ersatzkennung haben und diese zum Beispiel in einem Safe aufbewahren.

    Wenn wir über die Wiederherstellung des Zugangs zu Diensten sprechen, ist dies ein sehr schwieriges Problem. Die Wiederherstellung ist nicht Teil des Standards, da verschiedene Ressourcen den Zugriff auf Konten auf unterschiedliche Weise wiederherstellen. Klassische Ansätze sind Einmalcodes, die nicht gegen Phishing geschützt sind. Facebook ermöglicht es Ihnen, den Zugriff über Freunde wiederherzustellen.

    Die vielversprechendste Lösung ist heute Delegated Recovery- Dies ist ein Wiederherstellungsprotokoll, das auf der Speicherung verschlüsselter Geheimnisse in anderen Diensten basiert. Es wurde übrigens von einem der Schöpfer von U2F Bratt Hill (Bratt Hill) geschrieben. Erholung ist ein ziemlich schwieriges und interessantes Problem, dessen Lösung wir noch finden müssen.

    Der private Schlüssel im Authentifikator muss kopiergeschützt sein. In welcher Form und wo werden die Kennungen gespeichert? Wie werden sie ausgetauscht?


    Bei jeder Registrierung generiert der Authentifikator ein neues eindeutiges Schlüsselpaar und weist ihm eine Zufallskennung zu, die als Berechtigungsnachweis-ID oder Credential-ID bezeichnet wird. Private Schlüssel werden in einem sicheren Speicher wie SecureEnclave, TPM oder TEE gespeichert.

    Der private Schlüssel verlässt niemals den Authentifikator, da dies nicht erforderlich ist. Wenn der Benutzer einen weiteren Authentifikator hinzufügen möchte, registriert er ihn einfach, generiert ein neues Schlüsselpaar und eine neue Kennung und sendet den öffentlichen Schlüssel mit der Kennung an die Site. Während der Authentifizierung überträgt die Site die Kennung an den Authentifikator. Mit ihrer Hilfe findet sie ein Schlüsselpaar und signiert den Anruf.

    In welcher Beziehung steht der neue Standard zu den Anforderungen der Datenschutzgesetze (zum Beispiel der DSGVO)?


    Unsere Grundsätze stimmen sehr gut mit der DSGVO überein. Selbst im Zwei-Faktoren-Modus machen wir die Authentifizierung phishing-sicher. Wenn wir von passwortfreier Authentifizierung sprechen, werden überhaupt keine Passwörter übertragen. Im Gegensatz zu Client-Zertifikaten kann unser Protokoll nicht als Super-Cookie verwendet werden. Daher arbeiten viele Unternehmen bereits an der Implementierung unserer Protokolle.

    Und wer setzt den Standard schon ein?


    Google, Facebook, Dropbox, Salesforce, Bank of America, NTT Docomo ... Wir haben hunderte von Unternehmen und eine halbe Milliarde Benutzer pro Tag. Wir wachsen jeden Tag. Der Übergang zur vollständigen kennwortfreien Authentifizierung wird jedoch einige Zeit in Anspruch nehmen.

    Wie schnell erlaubt ein Standard den Übergang von einer anderen Authentifizierungsmethode?


    Der Übergang von bestehenden Zwei-Faktor-Authentifizierungslösungen (z. B. von OTP) zu FIDO ist recht einfach. Sie müssen lediglich die Bibliothek verbinden und auf der Clientseite einige Änderungen vornehmen. In FIDO2 ist die Option für die kennwortlose Authentifizierung nur ein zusätzliches Flag während der Registrierung. Die Umwandlung des gesamten Ökosystems in eine vollständige kennwortlose Authentifizierung wird einige Zeit in Anspruch nehmen. Wir gehen davon aus, dass dieser Übergang in zehn Jahren 80% aller Dienstleistungen ausmachen wird.

    Was planen Sie für FIDO, um den Standard zu entwickeln? Welche Verbesserungen sind in naher Zukunft geplant? Und auf lange Sicht?


    Bisher haben wir uns auf die Förderung von Standards konzentriert. Es gibt Millionen von Standorten auf der Welt - es bedeutet, dass wir eine Million Fälle haben. Langfristig wollen wir an der Umsetzung von Standards im Internet der Dinge arbeiten, um die Sicherheit von IoT-Geräten zu erhöhen. Geplant sind auch Arbeiten an staatlichen Authentifizierungssystemen, eID, Reisepässen und dezentralen Identifikationssystemen.

    Wie planen Sie, weiter an WebAuthn zu arbeiten? Wie können Mitglieder der IT-Community Ihnen helfen?


    Nach wie vor setze ich meine Arbeit als Botschafter in der Entwicklergemeinschaft fort: Ich veröffentliche Artikel, arbeite an Open Source, halte Präsentationen, führe Schulungen durch. Zur Hilfe der Community kann ich nur sagen: "Wir brauchen mehr Gold aus der Open Source."



    PS Yuri Akkermann bereitete auch einen Artikel über Habré vor, in dem er die grundlegenden Sicherheitsmechanismen von FIDO2 beschrieb und die JS-API für die Arbeit damit prüfte.

    Jetzt auch beliebt: