WifiOTP: Bequeme Zwei-Faktor-Authentifizierung mit Wi-Fi-SSID



    Problem: Die Zwei-Faktor-Authentifizierung ist für die meisten Benutzer zu kompliziert


    Die klassische Zwei-Faktor-Authentifizierung ist für Benutzer mit einem ziemlich langwierigen Verfahren verbunden. Wir beschreiben die Abfolge der Schritte, die erforderlich sind, um dasselbe Google Mail-Konto auf einem PC mithilfe eines Mobiltelefons als OTP (One-Time Password Generator) einzugeben. Nachdem Sie sich mit dem ersten Faktor (Kennwort) angemeldet haben , müssen Sie:
    1) das Telefon suchen
    2) es entsperren
    3) die OTP-Generatoranwendung suchen (z. B. Google Authenticator oder Token2 Mobile OTP )
    4) OTP einsehen und über die Tastatur eingeben

    Etwa das gleiche ist mit Hardware-Schlüsseln des TOTP / HOTP-Standards "schwierig" (mit U2F-Schlüsseln etwas einfacher). Es ist klar, dass alles seinen eigenen Preis hat, aber für normale Benutzer, insbesondere für diejenigen, die zuvor noch keine Kompromisse mit dem Konto eingegangen sind, scheint diese Maßnahme überflüssig zu sein. Es ist nicht verwunderlich, dass in Fällen, in denen die Zwei-Faktor-Authentifizierung optional ist, nur ein geringer Prozentsatz der Benutzer diese Option aktiviert. Laut Forschern sind dies bei Google Mail etwa 6% [1]. Um dieses Problem zu lösen, müssen Sie im Allgemeinen nur einen alternativen Kanal zwischen dem Hauptsystem (in unserem Fall dem Browser auf dem Computer) und dem Schlüssel (mobile Anwendung) suchen.

    Bestehende Lösungen


    Mehrere Zwei-Faktor-Authentifizierungsanbieter bieten Benutzern ein einfacheres Verfahren. Betrachten wir einige davon.

    DuoSecurity und Authy


    Wenn Sie nicht auf Details der Architektur eingehen, basiert das Prinzip beider Systeme auf Push-Benachrichtigungen: Wenn ein zweiter Faktor angefordert wird, wird eine Anforderung an das Gerät gesendet, um die Berechtigung zum Eingeben zu erhalten, und der Benutzer muss sie nur bestätigen. Dies vereinfacht den Endbenutzerprozess auf eine Aktion.

    Der Nachteil von Push-Benachrichtigungen ist die Notwendigkeit eines Internetzugriffs auf einem mobilen Gerät. Wenn kein Internet vorhanden ist, kann die Anwendung im Fallback-Modus verwendet werden, in dem OTP manuell eingegeben werden muss, also genau wie bei Google Authenticator.

    Authy hat einen anderen Fallback-Modus, der nur für MacOS verfügbar ist - es sendet OTP-Code über das BLE-Protokoll. Möglicherweise ist dies einfacher als die Eingabe von Codes über die Tastatur, aber um OTP mit Authy BLE einzugeben, müssen Sie: 1) das Element in der Authy Connector-App auswählen (OTP wird in die Zwischenablage kopiert) und 2) OTP aus der Zwischenablage einfügen. Angesichts der Tatsache, dass die BLE-Unterstützung nicht überall verfügbar ist, vermute ich, dass Authy BLE nicht besonders beliebt ist.

    SlickLogin, SoundLogin usw.


    Ultraschall wird als Kanal für die OTP-Übertragung in SlickLogin- und SoundLogin-Projekten verwendet. Das Prinzip ist einfach: Das Mikrofon des Computers erfasst das OTP, das ein Gerät oder eine mobile Anwendung mittels DTMF im Ultraschall erzeugt. Das Minus liegt auf der Hand - die Notwendigkeit der Verwendung von Sound-Subsystemen (Mikrofon) und die Abhängigkeit von deren Eigenschaften (nicht jeder wird in der Lage sein, Ultraschall abzufangen oder zu erzeugen).
    Es gibt mehrere weitere Initiativen, die versuchen, das Problem zu lösen, und jede hat ihre Vor- und Nachteile. Aber es gibt ein gemeinsames Minus: Im Gegensatz zu WifiOTP können sie den Client-Teil nicht ersetzen, ohne den Server-Teil zu ändern, das heißt, sie sind nicht der sogenannte "Drop-In" -Ersatz desselben Google Authenticator-a.

    WifiOTP: Unsere Lösung


    Die Idee ist einfach: Verwenden Sie die SSID als Kanal für die OTP-Übertragung.
    Übrigens sind wir nicht die Ersten, die den Namen WiFi-Netzwerke für alternative Zwecke verwenden.

    Das System besteht aus zwei Komponenten:
    - WifiOTP-Token: Ein Wi-Fi-Zugangspunkt, der alle 30 Sekunden den Netzwerknamen (SSID) ändert. Ein SSID-Format, z. B. ein Netzwerk mit dem Namen WOTP_5533_OTP-Encrypted, wobei OTP-Encrypted das aktuelle Einmalkennwort ist, das mit einem Schlüssel verschlüsselt ist, der nur dem Client und dem Token bekannt ist. OTP wird basierend auf dem HMAC-Schlüssel gemäß RFC6238 generiert , der nur zum Generieren von OTP verwendet und in keiner Weise an den Client übertragen wird.
    - WifiOTP-Client: Eine Anwendung, die auf einem Client-Computer ausgeführt wird. Der Client durchsucht regelmäßig die Liste der verfügbaren Netzwerke und sucht das gewünschte Netzwerk nach Präfix. Weiterhin wird OTP entschlüsselt und steht zur Verwendung zur Verfügung. Im Windows-Client-Beispiel kann das entschlüsselte OTP durch Drücken von Strg + Alt + X in ein beliebiges aktuelles Feld eingegeben werden.

    Das Video zeigt, wie der WifiOTP-Client unter Windows 8 funktioniert.



    Wie Sie im Video sehen können, verwenden wir für die Demo das übliche Google Mail-Konto. Das heißt, WifiOTP kann den Standard-Google-Authentifikator (und jedes andere TOTP-Token) ersetzen, ohne die Serverseite zu ändern.

    Ich werde auch klarstellen, dass der Client wie gewünscht mit dem Netzwerk verbunden werden kann, auch über Wi-Fi. Daher besteht keine Verbindung zum drahtlosen Netzwerk, das vom WifiOTP-Token generiert wird. Der WiFi-Adapter kann Broadcast-Netzwerke durchsuchen, ohne die Verbindung zum aktuellen Netzwerk zu trennen.

    Das Projekt ist auf keinen Fall kommerziell nutzbar, aber PoC-Implementierungen für verschiedene Plattformen sind bereits fertig:
    - WifiOTP-Token für Windows
    WifiOTP-Token unter OpenWRT
    Ich habe ein solches Gerät für 15USD bestellt und es an eine USB-Buchse gehängt. Wenn ich zu Hause auf Google Mail zugreife, drücke einfach Strg + Alt + X, wenn nach OTP gefragt wird.

    - WifiOTP-Client für Windows
    - WifiOTP-Client für Android in einem separaten Anwendungsformat
    WifiOTP-Client für Android im benutzerdefinierten Tastaturformat (das aktuelle OTP kann durch Drücken einer einzelnen Taste auf der Bildschirmtastatur eingegeben werden)


    WifiOTP wird am 9. Dezember auf der ITU Kaleidoscope 2015 Konferenz vorgestellt . Der vollständige Artikel ist im Archiv der Universität Genf verfügbar .

    Der Quellcode für Windows ist auf Github veröffentlicht .

    [1] Thanasis Petsas, Giorgos Tsirantonakis, Elias Athanasopoulos und Sotiris Ioannidis. 2015. Zwei-Faktor-Authentifizierung: Ist die Welt bereit ?: Quantifizierung der 2FA-Akzeptanz. In Proceedings des 8. Europäischen Workshops zur Systemsicherheit (EuroSec '15). ACM, New York, NY, USA, Artikel 4, 7 Seiten. DOI = http: //dx.doi.org/10.1145/2751323.2751327

    Jetzt auch beliebt: