Einige Webdienste bieten 2-Faktor-Authentifizierung (2FA) als Alternative zum einfachen Login mit Username/Passwort an. Die Webseite USB-Dongle Authentication bietet eine Übersicht zu Webdiensten, die OTP und U2F für den sicheren Login unterstützen.
Bei der Zwei-Faktor-Authentifizierung muss man als ersten Faktor in der Regel ein Wissen nachweisen (Passwort oder PIN) und als zweiten Faktor den Besitz eines kleinen Gerätes (ein OTP Generator, SecurityStick oder TAN-Generator) oder einer Chipkarte wie bei Bankaccounts. Das Verfahren ist durch Nutzung von EC- und Kreditkarten bekannt. Im Internet verwendet man statt Chipkarte oft One-Time-Passwörter (OTP) oder SecuritySticks (U2F, WebAuthn).
Wenn ein Angreifer durch Phishing, Videoüberwachung oder mit einem Keylogger den Usernamen und das Passwort für einen Account erbeutet, dann sollte es ohne den zweiten Faktor wertlos und nicht nutzbar sein. Das Passwort wird damit nicht überflüssig, es muss aber kein hochkomplexes, sicheres Passwort mehr sein. Eine 6-stellige Zahlenkombination ist nach NIST Special Publication 800-63B für 2-Faktor-Auth. ausreichend.
photoTAN, SecureGo verwenden Smartphone Apps für die Generierung einer TAN. Die Verfahren sind für den Kunden billiger, da er kein zusätzliches Gerät kaufen muss, aber etwas weniger sicher, da ein Smartphone leichter kompromittiert werden kann.
Außerdem enthalten Smartphone Apps immer wieder unterschiedliche Tracker, die das Nutzungsverhalten verfolgen. Die SecureGo App der Fiducica & GAT IT AG enthält zwei Tracker, unter anderem Google Firebase Analytics (siehe Exodus Privacy Report). Ein positives Beispiel ist die photoTAN App der Commerzbank, die keine Tracker enthält.
Für den Login bei Webdiensten werden andere Verfahren genutzt, als beim Online Banking:
One-Time-Passwort (OTP): Bei der Zwei-Faktor-Authentifizierung mit zusätzlichem One-Time-Passwort besteht das Passwort aus zwei Komponenten. Der erste Teil ist üblicherweise ein Passwort oder n-stellige PIN, die man wissen muss. Der zweite Teil ist das OTP Token. Es wird von einem kleinen Spielzeug geliefert und ist nur einmalig verwendbar.
Es gibt mehrere Verfahren für One-Time-Passwörter (OTP):HMAC-based OTP: (HOTP) nutzt One-Time-Passwörter, die aus einem HMAC-SHA1 Hashwert abgeleitet werden, der aus einem Zähler und einem gemeinsam Secret berechnet wurde. Sie sind beliebig lange gültig aber die Verwendung eines Token mit größerem Zählerwert erklärt auch alle Token mit niedrigerem Counter für ungültig.
Tipp: Wenn man seinen OTP-Generator nicht in den Urlaub o.ä. mitnehmen möchte, kann man sich eine Liste von HOTP-Token generieren lassen und diese Zahlenkombinationen nacheinander zum Login unterwegs verwenden. Außerdem ist es schwieriger, ein HOTP Token zu klonen ohne entdeckt zu werden.
Time-based OTP: (TOTP) nutzt One-Time-Passwörter, die auf Basis der aktuellen Uhrzeit berechnet werden und nur innerhalb einer kurze Zeitspanne einmalig gültig sind.
Die HOTP und TOTP Passwörter können von einem Hardware Token (z.B. Nitrokey Pro mit Nitrokey App) generiert werden oder von einer Smartphone App (z.B. FreeOTP für Android oder OTP Auth App für iPhone). Wenn ein Smartphone genutzt wird muss man die angezeigte Zahlenkombination per Hand in das Login Formular abtippen. Bei der Verwendung von TOTP hat man dafür 30sec bzw. 60 sec Zeit, je nach Konfiguration.YubicoOTP: ist ein properitäres Protokoll der Firma Yubico. Es wird ein USB-Stick genutzt, der sich wie eine Tastatur verhält. Man aktiviert das Passwortfeld und drückt dann eine Taste auf dem USB-Stick. Damit wird das One-Time-Passwort in das Eingabefeld geschrieben und man kann das Formular abschicken.
Der Webdienst, bei dem man sich anmeldet, sendet das Einmalpasswort in der Regel über eine API an die YubiCloud und lässt es dort verifizieren. Nur wenige Webdienste bieten gebrandete Yubikeys und betreiben einen eigenen Server zur Validierung.Neben dem einfachen Yubico Stick gibt es den Yubico NEO, der auch als OpenPGP Smartcard genutzt werden kann und ab der Version 4 auch als U2F SecurityStick.
Ein kleiner Tipp: der Yubikey hat zwei Configuration Slots, man kann ihn also für zwei Webdienste nutzen. Wenn man einmal kurz drückt, dann wird Slot 1 genutzt, wenn man ihn länger als 1sec drückt, dann wird die Konfiguration von Slot 2 genutzt.Zwei-Faktor-Authentifizierung mit One-Time Passwörtern (OTP) erschwert Phishing Angriffe und Angriffe mit Keyloggern. Das ist das Angreifermodell und dagegen soll OTP schützen. OTP macht Phishing Angriffe aber nicht unmöglich. B. Schneier hat bereits 2009 auf Schwächen hingwiesen. 2018 haben potente Hacker damit begonnen, 2FA mit OTP in größerem Umfang auszutricksen. Grund dafür ist die zunehmende Anwendung.
Angriffe auf 2-Faktor-Auth. mit OTP Token:Im Januar 2019 wurde auf Github die Software Muraena und NecroBrowser als Open Source veröffentlicht, die Phishing Angriffe auf 2FA automatisiert ausführen kann.
Der Angreifer lockt das Opfer mit Phishing E-Mails o.ä. zum Login auf seine Webseite. Dort arbeitet Muraena als Reverse-Proxy, der sich unbemerkt zwischen Nutzer und Webdienst einschleicht und die Authentifizierung an den richtigen Server weiterleitet. Nachdem die Session aufgebaut wurde, extrahiert Muraena die Session Cookies oder Session-IDs und reicht sie an eine Instanz des NecroBrowsers weiter. Das Schließen der Session (Logout) wird von Muraena blockiert und dem Nutzer wird vorgegaukelt, er hätte sich abgemeldet. Danach kann der Angreifer mit dem NecroBrowser unbemerkt den Account übernehmen.Für die Auskunftserteilung sind sämtliche unternehmensinternen Datenquellen zu berücksichtigen.Und das schließt die Parameter zur Berechnung der OTP ein. Gegen diesen Angriff ist auschließlich die Stärke des ersten Faktors (Passwort) relevant und das Hashverfahren, welches der Provider zum Schutz des gespeicherten Passwortes einsetzt.
FIDO-U2F: (Universal Second Factor) ist ein kryptografisches Public Key Verfahren zur Authentifizierung mit einem kleinen USB-Stick (z.B. Nitrokey U2F oder verschiedene Yubikeys), das im Okt. 2014 standardisiert wurde.
Das Verfahren läuft im Hintergrund automatisch ab, man muss nur den U2F-Stick vor dem Login anschließen. Der Server sendet ein zufälliges Challenge an den Client (Browser). Der Browser gibt diesen Input zusammen mit der Login URL, die er sieht, an den U2F-Stick weiter, der mit einem geheimen Schlüssel die Signatur über diese Daten berechnet. Diese Signatur wird als Response an den Server zurück geschickt und kann dort mit dem passenden public Key verifiziert werden. Dabei wird für jeden Web-Account ein anderer Schlüssel verwendet.
Vorteile von FIDO-U2F gegenüber One-Time-Passwörtern:WebAuthn/FIDO2 ist ein Standard des W3C, der im März 2019 verabschiedet wurde und von den Großen der IT-Branche unterstützt wird. WebAuthn ist eine Weiterentwicklung von FIDO-U2F und soll den Login mit Username / Passwort Kombinationen komplett ersetzen können.
Das Protokoll nutzt asymmetrische Kryptografie ähnlich wie FIDO-U2F und verwendet gleichfalls Security Token. Es können FIDO2 USB-Sticks verwendet werden oder das Trustet Platform Module des Computers (TPM), um die privaten Keys zu speichern. Außerdem ist WebAuthn kompatibel mit FIDO-U2F. Für Testzwecke kann man auch mal Soft-Token nutzen.
WebAuthn/FIDO2 erweitern FIDO-U2F um folgende Punkte:Auf der Webseite WebAuthn.io kann man spielerisch mit seinem Token einen Account erstellen und sich mit dem Umgang beim Login vertraut machen.
Hinweis für Linuxer: Wenn FIDO2 oder FIDO-U2F Sticks nicht out-of-the-box funktionieren, muss man die UDEV Regeln installieren. Meistens reicht es, folgende Pakete zu installieren: Ubuntu: > sudo apt install libu2f-udevOut of band verification using SMS is deprecated, and will no longer be allowed in future releases of this guidance. (NIST Special Publication 800-63B)SMS-basierte Verfahren können mit SIM-Swap Angriffen oder SS7-Hijacking ausgehebelt werden. Das musste Twitter-CEO Jack Dorsey lernen, als sein Twitter Account trotz aktivierter 2-Faktor-Auth kompromittiert wurde. Ein Fehler beim Mobilfunkanbieter sei schuld gewesen, erklärte Twitter. (So sieht ein erfolgreicher SIM-Swap Angriff aus.)
ePerso: In Auswertung des US-Wahlkampfes 2016 und dem erheblichen Einfluss von gehackten E-Mail Accounts auf das Wahlverhalten der amerikanischen Bevölkerung hat die Bundesregierung die Cyber-Sicherheitsstrategien überarbeitet. Nach Ansicht der Bundesregierung ist die Sicherheit mit dem klassischen Benutzername/Passwort-Verfahren nicht mehr gegeben. Im Rahmen Cyber-Sicherheitsstrategien will die Regierung die Bürger stärker zur Nutzung der Onlineausweisfunktion des Personalausweises animieren.
Bezüglich des klassischen Benutzername/Passwort-Verfahren kann man mit der Bundesregierung übereinstimmen, aber die Onlineausweisfunktion des ePerso muss man nicht nutzen. Statt dessen sollte man Hardware Token nutzen, die nicht an eine ID-Karte gebunden sind und vollständig durch den Nutzer konfiguriert werden (z.B. Nitokey, Yubikey o.ä.)