In den letzten Jahren hat das Konzept der Zwei-Faktor-Authentifizierung (2FA), das lange Zeit den Geeks vorbehalten war, seinen Weg in den Mainstream gefunden. Allerdings beschränkt sich die Diskussion immer noch weitgehend auf die Verwendung von 2FA für Einmal-Passwörter über SMS. Leider ist dies nicht die zuverlässigste Option. Hier die Gründe:
- Es ist leicht, per SMS gesendete Passwörter auszuspähen, wenn die Benachrichtigungen über die Bildschirmsperre aktiviert sind.
- Selbst wenn die Benachrichtigungen ausgeschaltet sind, kann eine SIM-Karte entfernt und in ein anderes Smartphone eingesetzt werden, was den Zugriff auf SMS-Nachrichten mit Passwörtern ermöglicht.
- SMS-Nachrichten mit Passwörtern können von einem Trojaner abgefangen werden, der im Smartphone lauert.
- Mit verschiedenen Tricks (Überredung, Bestechung usw.) können Kriminelle eine neue SIM-Karte mit der Nummer des Opfers in einem Mobiltelefonladen erwerben. SMS-Nachrichten gehen dann an diese Karte, und das Telefon des Opfers wird vom Netz getrennt.
- SMS-Nachrichten mit Passwörtern können durch eine grundlegende Schwachstelle im SS7-Protokoll, das zur Übertragung der Nachrichten verwendet wird, abgefangen werden.
Anzumerken ist, dass selbst die technisch aufwendigste und arbeitsintensivste der oben genannten Methoden zum Stehlen von SMS-Passwörtern (SS7-Ausbeutung) bereits in der Praxis angewendet wurde. Der Rest ist für Bösewichte tägliche Routine. Wir haben es hier also nicht mit einer hypothetischen, sondern mit einer realen Bedrohung zu tun.
Im Großen und Ganzen sind SMS-Passwörter nicht sehr sicher, und manchmal sind sie sogar sehr unsicher. Daher ist es sinnvoll, sich nach Alternativen umzusehen, wenn es um 2FA geht, was das heutige Thema ist.
- Einmalige Codes in einer Datei oder auf Papier
- Dafür gibt es auch eine App: Authenticator-Apps
- Wie Authentifikator-Apps funktionieren
- Kompatibilität von 2FA-Apps und -Diensten
- Beste Apps für die Zwei-Faktor-Authentifizierung
- 1. Google Authenticator
- 2. Duo Mobile
- 3. Microsoft Authenticator
- 4. FreeOTP
- 5. Authy
- 6. Yandex.Key
- FIDO U2F Hardware-Authentifikatoren: YubiKey und andere
- Wie FIDO U2F-Tokens funktionieren
- Welche Arten von U2F-Geräten gibt es
- Was soll ich wählen: SMS, App oder YubiKey?
Einmalige Codes in einer Datei oder auf Papier
Die einfachste Möglichkeit, SMS-basierte Einmalpasswörter zu ersetzen, ist die Verwendung von, ja, Einmalpasswörtern, aber im Voraus vorbereitet. Das ist nicht die schlechteste Option, vor allem für Dienste, bei denen man sich nur selten anmeldet. Sogar für das gute alte Facebook kann diese Methode durchaus ausreichen, vor allem als Backup-Plan.
Es ist ganz einfach: Auf Anfrage generiert der Dienst etwa ein Dutzend Codes zur einmaligen Verwendung, die später zur Authentifizierung eines Logins verwendet werden können. Diese Codes können ausgedruckt oder auf einen Zettel geschrieben und in einem Safe aufbewahrt werden. Oder, noch einfacher, sie können in verschlüsselten Notizen in einem Passwort-Manager gespeichert werden.
Es ist nicht so wichtig, ob die Codes in physischem oder digitalem Format aufbewahrt werden – was zählt, ist, dass sie (1) nicht verloren gehen und (2) nicht gestohlen werden können.
Dafür gibt es auch eine App: Authenticator-Apps
Abgesehen von all den „Einsen“ in diesem Satz, hat ein einmalig generierter Satz von Einmalcodes einen Nachteil: Früher oder später ist er zu Ende, und man steht im unpassendsten Moment ohne Code da. Glücklicherweise gibt es einen besseren Weg: Einmalige Codes können mit Hilfe einer kleinen und (in der Regel) sehr einfachen Authentifikator-App generiert werden.
Wie Authentifikator-Apps funktionieren
Es ist sehr einfach, 2FA-Apps zu verwenden. So müssen Sie vorgehen:
- Installieren Sie die Authentifizierungs-App auf Ihrem Smartphone,
- Gehen Sie zu den Sicherheitseinstellungen des Dienstes, mit dem Sie die App verwenden möchten,
- Wählen Sie 2FA (sofern die Option vorhanden ist); der Dienst zeigt Ihnen einen QR-Code an, der direkt in die 2FA-App gescannt werden kann,
- Scannen Sie den Code mit der App – sie wird alle 30 Sekunden einen neuen Einmalcode generieren.
Die Codes werden auf Basis eines Schlüssels (der nur Ihnen und dem Server bekannt ist) und der aktuellen Uhrzeit, gerundet auf 30 Sekunden, erstellt. Beide Komponenten sind für Sie und den Dienst identisch, so dass die Codes synchron erzeugt werden. Dieser Algorithmus wird als OATH TOTP (Time-based One-Time Password) bezeichnet und ist bei weitem der am häufigsten verwendete.
Es gibt eine Alternative, die als OATH HOTP (HMAC-based One-Time Password) bezeichnet wird. Anstelle der aktuellen Uhrzeit verwendet dieser Algorithmus einen Zähler, der sich bei jedem neu erstellten Code um 1 erhöht. In der Praxis ist dieser Algorithmus jedoch nur selten anzutreffen, da seine Verwendung die synchrone Erzeugung von Codes auf der Anwendungs- und Serviceseite erschwert. Einfach ausgedrückt, besteht ein nicht unerhebliches Risiko, dass der Zähler zum falschen Zeitpunkt durchdreht und das Einmalpasswort nicht funktioniert.
OATH TOTP kann also als De-facto-Standard betrachtet werden (obwohl es offiziell nicht einmal ein Standard ist, wie die Entwickler in der Spezifikation betonen).
Kompatibilität von 2FA-Apps und -Diensten
Die große Mehrheit der 2FA-Apps verwendet denselben Algorithmus, so dass jeder für Dienste verwendet werden kann, die Authentifikatoren unterstützen; suchen Sie sich einen aus.
Wie bei jeder Faustregel gibt es natürlich Ausnahmen. Aus Gründen, die nur sie selbst kennen, ziehen es einige Dienste vor, ihre eigenen 2FA-Anwendungen zu entwickeln, die nur für sie funktionieren. Darüber hinaus arbeiten die Dienste selbst nur mit ihren eigenen Apps zusammen.
Dies ist besonders bei großen Videospielherstellern üblich: Blizzard Authenticator, Steam Mobile mit integriertem Steam Guard, Wargaming Auth und andere sind beispielsweise alle nicht mit Apps und Diensten von Drittanbietern kompatibel. Nur diese eigens entwickelten Apps können mit den jeweiligen Spieleplattformen verwendet werden.
Diesen seltsamen Weg ist auch Adobe mit seinem Adobe Authenticator gegangen, der nur mit AdobeID-Konten funktioniert. Allerdings kann man auch andere Authentifikatoren zur Authentifizierung in AdobeID verwenden, so dass überhaupt nicht klar ist, warum eine separate App benötigt wurde.
In jedem Fall schränken die meisten normalen IT-Unternehmen die Benutzer nicht in der Wahl ihrer 2FA-Apps ein. Und selbst wenn ein Unternehmen plötzlich beschließt, eine eigene App zu erstellen, kann diese in den meisten Fällen nicht nur zum Schutz der eigenen Konten, sondern auch der Konten anderer Dienste verwendet werden.
Wählen Sie einfach die Authentifikator-App aus, die Ihnen in Bezug auf zusätzliche Funktionen am besten gefällt – sie wird mit den meisten Diensten funktionieren, die 2FA-Apps generell unterstützen.
Beste Apps für die Zwei-Faktor-Authentifizierung
Die Auswahl an 2FA-Apps ist überraschend groß. Suchen Sie in Google Play oder im App Store nach „Authenticator“, und Sie werden Dutzende von Optionen sehen. Wir raten davon ab, die erste App zu installieren, die Sie sehen, denn sie ist möglicherweise nicht die sicherste. Denken Sie daran, dass Sie ihr die Schlüssel zu Ihren Konten anvertrauen (Ihre Passwörter kennt sie natürlich nicht, aber Sie fügen 2FA hinzu, weil Passwörter dazu neigen, bekannt zu werden). Im Allgemeinen lohnt es sich, sich für eine App eines großen und vertrauenswürdigen Entwicklers zu entscheiden.
Auch wenn die Grundfunktion all dieser Apps dieselbe ist – die Erstellung von Einmalcodes mit ein und demselben Algorithmus -, haben einige Authentifikatoren zusätzliche Funktionen oder Schnittstellenmerkmale, die interessant sein könnten. Hier sind einige der interessantesten Optionen.
1. Google Authenticator
Unterstützte Plattformen: Android, iOS
Wie in allen Tech-Medien erwähnt, ist Google Authenticator die am einfachsten zu bedienende der vielen 2FA-Apps da draußen. Es gibt nicht einmal irgendwelche Einstellungen. Alles, was Sie tun können, ist, ein neues Token (der Name, der dem Codegenerator für ein individuelles Konto gegeben wird) hinzuzufügen oder ein bestehendes zu löschen. Um einen Code zu kopieren, muss man ihn nur antippen. Das war’s!
Diese Einfachheit hat jedoch auch einen Nachteil: Wenn Ihnen etwas an der Oberfläche nicht gefällt oder Sie mehr Funktionen wünschen, müssen Sie eine andere Authentifizierungs-App installieren.
+ Sehr einfach zu bedienen.
2. Duo Mobile
Unterstützte Plattformen: Android, iOS
Duo Mobile ist ebenfalls sehr benutzerfreundlich, minimalistisch und frei von zusätzlichen Einstellungen. Es hat einen Vorteil gegenüber Google Authenticator: Duo Mobile hält die Codes standardmäßig verborgen – um sie zu sehen, muss der Nutzer auf das jeweilige Token tippen. Wenn Sie, wie ich, es nicht mögen, jedes Mal, wenn Sie den Authenticator öffnen, einen Haufen Codes für alle Ihre Konten öffentlich anzuzeigen, dann ist diese Funktion von Duo Mobile genau das Richtige für Sie.
+ Versteckt Codes standardmäßig.
3. Microsoft Authenticator
Unterstützte Plattformen: Android, iOS
Microsoft wählte mit seinem minimalistischen Authenticator ebenfalls den schnörkellosen Ansatz. Dennoch ist der Microsoft Authenticator deutlich funktionsreicher als der Google Authenticator. Zum einen werden zwar standardmäßig alle Codes angezeigt, aber jedes Token kann separat so konfiguriert werden, dass es ausgeblendet wird.
Zum anderen vereinfacht Microsoft Authenticator die Anmeldung bei Microsoft-Konten. Nach der Eingabe Ihres Passworts müssen Sie nur noch auf die Schaltfläche in der App tippen, um die Anmeldung zu bestätigen – und das war’s, Sie müssen nicht einmal einen einmaligen Code eingeben.
+ Kann so konfiguriert werden, dass Codes ausgeblendet werden.
+ Zusätzliche Funktionen für die Anmeldung bei Microsoft-Konten.
4. FreeOTP
Unterstützte Plattformen: Android, iOS
Es gibt vier Gründe, warum Sie sich für dieses Baby von Red Hat entscheiden sollten. Erstens: Die Software ist Open Source. Zweitens ist es die leichteste App in unserer Liste – die iOS-Version ist nur 750 KB groß. (Im Vergleich dazu benötigt der minimalistische Google Authenticator fast 14 MB, und die Authy-App, die weiter unten besprochen wird, ist satte 44 MB groß.)
Drittens blendet die App Codes standardmäßig aus und zeigt sie nur an, wenn der Token angetippt wird. Viertens und letztens können Sie mit FreeOTP Token sehr flexibel und manuell konfigurieren, wenn Sie das möchten. Natürlich wird auch die übliche Methode der Token-Erstellung durch Scannen eines QR-Codes unterstützt.
+ Versteckt Codes standardmäßig.
+ Benötigt nur 750KB.
+ Open Source.
+ Maximale Einstellungen bei manueller Erstellung eines Tokens.
5. Authy
Unterstützte Plattformen: Android, iOS, Windows, macOS, Chrome
Authy ist die schickste der 2FA-Apps, wobei der Hauptvorteil darin besteht, dass alle Token in der Cloud gespeichert werden. Dadurch ist es möglich, von jedem beliebigen Gerät aus auf die Token zuzugreifen. Gleichzeitig wird die Migration auf neue Geräte vereinfacht. Es ist nicht notwendig, die 2FA in jedem Dienst neu zu aktivieren, so dass Sie die vorhandenen Token weiter verwenden können.
Die Token in der Cloud werden mit einem Schlüssel verschlüsselt, der auf einem benutzerdefinierten Kennwort basiert, was bedeutet, dass die Daten sicher gespeichert werden und überhaupt nicht leicht zu stehlen sind. Sie können auch eine Anmelde-PIN für die App festlegen oder sie mit einem Fingerabdruck schützen, wenn Ihr Smartphone mit dem richtigen Scanner ausgestattet ist.
Der größte Nachteil von Authy ist, dass Sie ein Konto einrichten müssen, das mit einer Handynummer verknüpft ist – sonst funktioniert es überhaupt nicht.
+ Token werden in der Cloud gespeichert, so dass sie auf allen Ihren Geräten verwendet werden können.
+ Die Migration auf andere Geräte ist aus demselben Grund sehr einfach.
+ Die Anmeldung in der App ist durch PIN oder Fingerabdruck geschützt.
+ Auf dem Bildschirm wird nur der Code des zuletzt verwendeten Tokens angezeigt.
+ Im Gegensatz zu anderen Apps unterstützt sie nicht nur Android und iOS, sondern auch Windows, macOS und Chrome.
– Funktioniert nicht ohne ein Authy-Konto, das mit einer Telefonnummer verknüpft ist.
6. Yandex.Key
Unterstützte Plattformen: Android, iOS
Meiner Meinung nach macht das Konzept hinter Yandex.Key es zur besten App für 2FA. Zum einen erfordert sie keine sofortige Registrierung – man kann sie genauso einfach nutzen wie Google Authenticator. Zum anderen verfügt sie über mehrere zusätzliche Funktionen für diejenigen, die keine Angst vor Einstellungen haben.
Erstens kann Yandex.Key mit einer PIN oder einem Fingerabdruck gesperrt werden. Zweitens können Sie eine passwortgeschützte Sicherungskopie der Token in der Yandex-Cloud erstellen (in diesem Stadium ist eine Telefonnummer erforderlich) und diese auf jedem von Ihnen verwendeten Gerät wiederherstellen. Ebenso ist es möglich, Token auf ein neues Gerät zu übertragen, wenn Sie migrieren müssen.
Yandex.Key schafft es, die Einfachheit von Google Authenticator mit der erweiterten Funktionalität von Authy zu kombinieren, je nachdem, was Sie bevorzugen. Der einzige Nachteil der App ist, dass die Schnittstelle bei einer großen Anzahl von Token nicht so einfach zu bedienen ist.
+ Minimalismus zu Beginn, erweiterte Funktionalität über die Einstellungen verfügbar.
+ Sicherungskopien von Token können in der Cloud erstellt werden, um sie auf mehreren Geräten zu verwenden und auf neue zu migrieren.
+ Die Anmeldung in der App ist durch PIN oder Fingerabdruck geschützt.
+ Nur der Code für den zuletzt verwendeten Token wird auf dem Bildschirm angezeigt.
+ Ersetzt Ihr dauerhaftes Yandex-Kontopasswort.
– Bei vielen Token ist es nicht so einfach, den benötigten zu finden.
FIDO U2F Hardware-Authentifikatoren: YubiKey und andere
Wenn eine App, die einmalige Codes generiert, eine zu schwache und nicht greifbare Methode zum Schutz Ihrer Konten zu sein scheint und Sie etwas Solideres und Zuverlässigeres wollen, das Ihr Konto mit einem Schlüssel sperrt, der buchstäblich in Ihre Tasche passt, dann suchen Sie nicht weiter als Hardware-Tokens, die auf dem U2F-Standard (Universal 2nd Factor) basieren, der von der FIDO Alliance entwickelt wurde.
Wie FIDO U2F-Tokens funktionieren
U2F-Hardware-Tokens sind der Liebling der Sicherheitsspezialisten, vor allem weil sie aus der Sicht der Benutzer sehr einfach funktionieren. Um loszulegen, schließen Sie den U2F-Token einfach an Ihr Gerät an und registrieren Sie ihn bei einem kompatiblen Dienst. Danach müssen Sie den U2F-Token mit dem Gerät verbinden, von dem aus Sie sich anmelden, und auf die Token-Taste tippen, um die Anmeldung bei dem Dienst zu bestätigen (bei einigen Geräten ist eine PIN oder ein Fingerabdruck-Scan erforderlich, aber das ist eine zusätzliche Funktion). Das war’s – keine komplizierten Einstellungen, keine Eingabe langer Sequenzen zufälliger Zeichen oder anderer Hokuspokus, der oft mit dem Wort Kryptographie in Verbindung gebracht wird.
Setzen Sie den Schlüssel ein und drücken Sie die Taste – und das war’s auch schon
Gleichzeitig sind die Dinge unter der Haube intelligent und kryptographisch solide: Wenn ein Token bei einem Dienst registriert wird, wird ein Paar kryptografischer Schlüssel erstellt – ein privater und ein öffentlicher. Der öffentliche Schlüssel wird auf dem Server gespeichert, der private in einem Secure Element-Chip, dem Herzstück des U2F-Tokens, und verlässt das Gerät nie.
Der private Schlüssel wird zur Verschlüsselung der Anmeldebestätigung verwendet, die an den Server übermittelt wird und mit dem öffentlichen Schlüssel entschlüsselt werden kann. Wenn jemand, der sich als Sie ausgibt, versucht, eine mit dem falschen privaten Schlüssel verschlüsselte Anmeldebestätigung zu übermitteln, wird die Entschlüsselung mit dem öffentlichen Schlüssel zu einem Kauderwelsch führen, und der Dienst wird keinen Zugriff auf das Konto gewähren.
Welche Arten von U2F-Geräten gibt es
Das bekannteste und am weitesten verbreitete Beispiel für U2F ist YubiKey, hergestellt von Yubico. Das Unternehmen war im Wesentlichen Vorreiter dieses Standards, entschied sich aber dafür, ihn offen zu gestalten, wofür die FIDO Alliance gegründet wurde. Und weil der Standard offen ist, ist Ihre Auswahl nicht eingeschränkt: U2F-kompatible Geräte werden von verschiedenen Unternehmen hergestellt und verkauft, und Online-Shops bieten eine Reihe verschiedener Modelle an.
YubiKey – der vielleicht beliebteste U2F-Token
So hat beispielsweise Google kürzlich eine Reihe von Authentifikatoren unter dem Namen Google Titan Security Keys eingeführt. Es handelt sich dabei um Schlüssel von Feitian Technologies (nach Yubico der zweitgrößte Hersteller von U2F-Tokens), für die Google eine eigene Firmware entwickelt hat.
Natürlich funktionieren alle Hardware-Authentifikatoren, die mit dem U2F-Standard kompatibel sind, gleichermaßen mit jedem Dienst, der ebenfalls mit diesem Standard kompatibel ist. Es gibt jedoch Unterschiede, wobei der wichtigste die vom Schlüssel unterstützten Schnittstellen sind. Davon hängt direkt ab, mit welchen Geräten er arbeiten kann:
USB: für den Anschluss an PCs (egal ob Windows, Mac oder Linux, die Schlüssel funktionieren ohne Treiberinstallation). Neben dem üblichen USB-A gibt es auch Keys für USB-C.
NFC: wird für die Verwendung mit Android-Smartphones und -Tablets benötigt.
Bluetooth: wird für mobile Geräte benötigt, die nicht über NFC verfügen. iPhone-Besitzer benötigen zum Beispiel immer noch einen Bluetooth-basierten Authentifikator. Obwohl iOS jetzt Apps erlaubt, NFC zu verwenden (vor diesem Jahr war nur Apple Pay erlaubt), müssen die meisten U2F-kompatiblen App-Entwickler diese Funktion noch nutzen. Bluetooth-Authentifikatoren haben einige Nachteile: Erstens müssen sie aufgeladen werden und zweitens dauert es viel länger, bis sie sich verbinden.
Basismodelle von U2F-Tokens unterstützen in der Regel nur U2F und kosten 10 bis 20 US-Dollar. Andere, teurere Geräte ($20-$50) können auch als Smartcard fungieren, Einmalpasswörter generieren (einschließlich OATH TOTP und HOTP), PGP-Verschlüsselungsschlüssel generieren und speichern und zur Anmeldung bei Windows, macOS, Linux usw. verwendet werden.
Was soll ich wählen: SMS, App oder YubiKey?
Was soll man also für die Zwei-Faktor-Authentifizierung wählen? Auf diese Frage gibt es keine allgemeingültige Antwort. Verschiedene 2FA-Versionen und -Kombinationen können für unterschiedliche Dienste verwendet werden. Beispielsweise sollten Konten mit höchster Priorität (ein mit anderen Konten verknüpftes Postfach usw.) bis zum Äußersten geschützt werden, d. h. mit einem U2F-Hardware-Token gesperrt und alle anderen 2FA-Optionen blockiert werden. Auf diese Weise können Sie sicher sein, dass niemand ohne dieses Token Zugang zu Ihrem Konto erhält.
Eine gute Option ist es, zwei Schlüssel mit Ihrem Konto zu verknüpfen, wie bei Autoschlüsseln: Einer ist immer in Ihrer Tasche, der andere ist an einem sicheren Ort, falls der erste verloren geht. Darüber hinaus können Sie verschiedene Arten von Schlüsseln verwenden: Zum Beispiel eine Authentifizierungs-App auf Ihrem Smartphone als primären Schlüssel und einen U2F-Token oder einen Zettel mit Einmalpasswörtern in Ihrem Safe als Backup.
In jedem Fall ist der wichtigste Ratschlag, SMS-basierte Einmalpasswörter zu vermeiden, wann immer es möglich ist. Zugegeben, das ist nicht immer möglich. Finanzdienstleister zum Beispiel sind notorisch konservativ und bieten nur selten eine Authentifizierung per SMS an.