Die SMS-basierte Zwei-Faktor-Authentifizierung ist nicht sicher – werfen Sie einen Blick auf diese alternativen 2FA-Methoden

17 Okt 2018

In den letzten Jahren hat das Konzept der Zwei-Faktor-Authentifizierung (2FA), das lange Zeit ausschließlich den Computer-Besessenen vorbehalten war, seinen Weg langsam aber sicher auch unter die breite Masse gefunden. Allerdings beschränkt sich das Gespräch hier weitgehend auf den Gebrauch der 2FA für Einmalpasswörter per SMS. Leider muss ich Ihnen mitteilen, dass es sich dabei definitiv nicht um die zuverlässigste Option handelt. Der Grund?

  • Wenn die Sperrbildschirmbenachrichtigungen aktiviert sind, können fremde Augen schnell einen Blick auf Passwörter erhaschen, die per SMS überliefert werden.
  • Selbst wenn die Benachrichtigungen deaktiviert sind, kann eine SIM-Karte ganz einfach entfernt und in ein anderes Smartphone eingelegt werden, um so auf SMS-Nachrichten, die Passwörter enthalten, zugreifen zu können.
  • SMS-Nachrichten, die Passwörter enthalten, können von einem Trojaner, der auf dem Smartphone lauert, abgefangen werden.
  • Durch verschiedene hinterhältige Taktiken (Überzeugungsarbeit, Bestechung, etc.) können Kriminelle eine neue SIM-Karte mit der Nummer des Opfers in einem beliebigen Handyladen besorgen. SMS-Nachrichten werden dann an diese Karte gesendet und das Telefon des Opfers wird vom Netzwerk getrennt.
  • SMS-Nachrichten, die Passwörter enthalten, können über eine Schwachstelle im SS7-Protokoll, das zur Übertragung der Nachrichten dient, abgefangen werden.

Denken Sie daran, dass selbst die hochtechnologischsten und arbeitsintensivsten Diebstahlmethoden (SS7-Exploit) bereits in der Praxis verwendet wurden. Alles andere gehört zur täglichen Routine der Kriminellen.

Im Großen und Ganzen können wir also sagen, dass SMS-Passwörter nicht besonders sicher und in manchen Fällen sogar sehr unsicher sind. Es ist also sinnvoll, stets nach 2FA-Alternativen Ausschau zu halten!

Für welche Art der 2FA sollten Sie sich entscheiden?

Wo und wie sollten Einmalcodes aufbewahrt werden?

Die einfachste Methode, SMS-basierte Einmalpasswörter zu ersetzen, ist – ja, auch wenn das jetzt verwirrend klingen mag – die Verwendung von bereits im Voraus vorbereiteten Einmalpasswörtern. Tatsächlich handelt es sich hierbei nicht um die schlechteste Option, insbesondere dann, wenn es um Dienste geht, bei denen Sie sich nur selten bis gar nicht anmelden. Selbst für Facebook kann diese Methode sehr hilfreich sein, besonders als Backup-Plan.

Das Ganze funktioniert folgendermaßen: Auf Anfrage generiert und zeigt der Dienst rund ein Dutzend Einmalcodes an, die dann später zur Authentifizierung einer Anmeldung verwendet werden können. Diese Codes können ausgedruckt oder aufgeschrieben und in einem Safe verwahrt werden. Oder, noch einfacher: Sie können in verschlüsselten Notizen in einem Passwortmanager gespeichert werden.

Es ist nicht so wichtig, ob die Codes in physischem oder digitalem Format aufbewahrt werden – wichtig ist, dass sie erstens nicht verloren gehen und zweitens nicht gestohlen werden können.

Für alles eine Lösung: Authenticator-Apps

Ein einmalig generiertes Einmalcode-Set hat allerdings einen großen Nachteil: Früher oder später werden Sie alle Codes verwendet haben und das könnte leider im unpassendsten aller Momente passieren. Zum Glück gibt es dafür eine deutlich bessere Lösung: Einmalcodes können im Handumdrehen mit einer kleinen und für gewöhnlich sehr einfach strukturierten Authenticator-App generiert werden.

So funktionieren Authenticator-Apps

Der Gebrauch der 2FA-Apps ist kinderleicht:

  • Installieren Sie die Authenticator-App auf Ihrem Smartphone;
  • Wechseln Sie zu den Sicherheitseinstellungen des Dienstes, mit dem Sie die App verwenden möchten;
  • Wählen Sie 2FA (vorausgesetzt, diese Option steht zur Auswahl); der Dienst zeigt Ihnen dann einen QR-Code, der direkt in die 2FA-App eingescannt werden kann;
  • Scannen Sie den Code mit der App – diese fängt dann an, alle 30 Sekunden einen neuen Einmalcode zu generieren.

So aktivieren Sie eine Authenticator-App auf Facebook.Die Codes werden auf der Grundlage eines Schlüssels (der nur Ihnen und dem Server bekannt ist) und der aktuellen Zeit, gerundet auf 30 Sekunden, erstellt. Beide Komponenten sind sowohl für Sie als auch für den Dienst identisch, sodass alle Codes synchron generiert werden. Dieser Algorithmus wird OATH TOTP (Time-based One-Time Password) genannt und wird mit Abstand am häufigsten verwendet.

Es gibt eine ähnliche Alternative, die unter dem Namen OATH HOTP (HMAC-based One-time Password) bekannt ist. Anstelle der aktuellen Zeit verwendet dieser Algorithmus jedoch einen Zähler, der bei jeder Authentifizierung auf beiden Seiten, sowohl beim Sender als auch beim Empfänger, inkrementiert wird. Normalerweise wird diese Methode jedoch eher selten verwendet, da sie die synchrone Generierung der Codes auf beiden Seiten, App und Dienst, erschwert. Einfach ausgedrückt bedeutet das, dass ein nicht unerhebliches Risiko besteht, dass der Zähler zur falschen Zeit verrückt spielt und Ihr Einmalpasswort nicht mehr funktioniert.

OATH TOTP kann also als De-facto-Standard angesehen werden (obwohl es offiziell nicht einmal ein Standard ist, da die Ersteller darauf beharren, dass es sich um eine Spezifikation handelt.)

2FA-Apps und Dienstkompatibilität

Ein Großteil der 2FA-Apps verwendet ein und denselben Algorithmus, sodass beliebige Apps für Dienste, die Authenticatoren unterstützen, verwendet werden können. Treffen Sie also Ihre ganz persönliche Wahl.

Natürlich gibt es auch hier Ausnahmen. Aus unerklärlichen Gründen bevorzugen es einige Dienste, ihre eigenen 2FA-Apps zu entwickeln, die nur für ihren eigenen Dienst funktionieren und nicht mit anderen Apps kompatibel sind.

Dies ist besonders bei bekannten Videospiel-Publishern üblich: So sind beispielsweise Blizzard Authenticator, Steam Mobile mit integriertem Steam Guard, Wargaming Auth und andere nicht kompatibel mit Apps und Diensten von Drittanbietern. Das bedeutet, dass ausschließlich die zuvor genannten, zweckmäßig entwickelten Apps mit den relevanten Gaming-Plattformen verwendet werden können.

Diesen kuriosen Weg schlug auch das Unternehmen Adobe mit seinem Adobe Authenticator ein, der ausschließlich in Verbindung mit AdobeID-Konten funktioniert. Es können allerdings auch andere Authenticatoren für die Authentifizierung in AdobeID verwendet werden. Daher ist bislang nicht klar, warum eine separate App entwickelt wurde.

In jedem Fall schränken die meisten normalen IT-Unternehmen die Benutzer nicht bei der Auswahl ihrer 2FA-Apps ein. Und selbst wenn ein Unternehmen sich plötzlich dazu entschließt, eine eigene App zu entwickeln, kann sie in den meisten Fällen nicht nur zum Schutz der eigenen Dienstkonten, sondern auch zum Schutz der Accounts anderer Dienste verwendet werden.

Wählen Sie einfach die Authenticator-App, die in Ihren Augen für Sie am besten funktioniert – für gewöhnlich dürfte es keine Probleme mit Diensten geben, die 2FA-Apps generell unterstützen.

Die besten 2FA-Apps

Die Auswahl an 2FA-Apps ist überraschend groß. Wenn Sie bei Google Play oder im App Store nach „authenticator“ suchen, werden Sie sehen, dass Ihnen unzählige Optionen zur Auswahl stehen. Wir empfehlen Ihnen allerdings nicht die erste App zu installieren, die Sie sehen, da sie in Sachen Sicherheit eventuell nicht an erster Stelle steht. Denken Sie daran, dass Sie der App die Schlüssel zu Ihren Konten anvertrauen. Generell lohnt es sich immer, sich für eine App eines bekannten und vertrauenswürdigen Entwickler zu entscheiden.

Obwohl die grundlegende Funktion all dieser Apps die gleiche ist – die Erstellung von Einmalcodes mit ein und demselben Algorithmus – verfügen einige Authenticatoren über zusätzliche Funktionen oder Interface-Features, die Sie eventuell ansprechen könnten. Wir haben einige der interessantesten Optionen für Sie zusammengefasst:

1. Google Authenticator

Unterstützte Plattformen: Android, iOS

App Google Authenticator

Wie von allen technischen Medien betont, ist Google Authenticator unter den zahlreichen 2FA-Apps in der Anwendung am einfachsten und verfügt über keinerlei Einstellungen. Alles, was Sie tun können, ist einen neuen Token (der Name, der dem Code-Generator für ein individuelles Konto zugeordnet wird) hinzufügen oder einen bereits existierenden löschen. Zum Kopieren eines Codes müssen Sie lediglich auf ihn tippen. Das ist alles!

Zu viel Bescheidenheit hat natürlich auch hier einige Nachteile: Wenn Ihnen beispielsweise das Interface nicht gefällt oder Sie auf der Suche nach erweiterten Features sind, müssen Sie sich für eine andere Authenticator-App entscheiden.

+ Sehr einfach in der Anwendung.

2. Duo Mobile

Unterstützte Plattformen: Android, iOS

Duo Mobile Authenticator-App

Auch Duo Mobile ist äußerst benutzerfreundlich, minimalistisch und frei von zusätzlichen Einstellungen. Darüber hinaus hat die App einen Vorteil gegenüber Google Authenticator: sie verbirgt Codes standardmäßig – um den jeweiligen Code zu sehen, muss der Benutzer erst auf den spezifischen Token tippen. Wenn Sie, wie ich, kein großer Fan von öffentlich angezeigten Codes sind, dann ist diese Feature von Duo Mobile ideal für Sie.

+ Codes werden standardmäßig verborgen.

3. Microsoft Authenticator

Unterstützte Plattformen: Android, iOS

Microsoft Authenticator-App

Auch Microsoft hat sich mit seinem minimalistischen Authenticator für einen simplen Ansatz ohne viel Schnickschnack entschieden. Trotzdem ist der Microsoft Authenticator deutlich funktionsreicher als Googles Variante. Obwohl alle Codes standardmäßig angezeigt werden, kann jeder Token separat so konfiguriert werden, dass er auf Wunsch auch ausgeblendet werden kann.

Darüber hinaus vereinfacht Microsoft Authenticator die Anmeldung für Microsoft-Konten. Nachdem Sie Ihr Passwort eingegeben haben, müssen Sie lediglich auf die Schaltfläche in der App tippen, um die Anmeldung zu bestätigen, ohne einen Einmalcode einzugeben.

+ Codes können auf Wunsch verborgen werden.

+ Extra-Features für die Anmeldung bei Microsoft-Konten.

4. FreeOTP

Unterstützte Plattformen: Android, iOS

FreeOTP von Red Hat Authenticator-App

Es gibt vier gute Gründe, warum Sie sich für dieses Schmuckstück von Red Hat entscheiden sollten. Erstens ist die Software Open Source. Zweitens ist es die leichteste App, die Sie in unserer Liste finden werden – die iOS-Version wiegt lediglich 750KB. (Im Vergleich dazu nimmt der minimalistische Google Authenticator fast 14 MB, und die Authy-App, auf die wir weiter unten zu sprechen kommen, satte 44 MB ein.)

Darüber hinaus werden alles Codes standardmäßig von der App verborgen und erst dann angezeigt, wenn auf den Token getippt wird. Und Last but not Least: mit FreeOTP können Sie Token flexibel und manuell konfigurieren, wenn Sie möchten. Selbstverständlich wird auch die übliche Token-Erstellungsmethode via Scanning eines QR-Codes unterstützt.

+ Codes werden standardmäßig verborgen.

+ Nimmt lediglich 750KB ein.

+ Open Source.

+ Maximale Einstellungen bei der manuellen Erstellung von Token.

5. Authy

Unterstützte Plattformen: Android, iOS, Windows, macOS, Chrome

Twilio Authy Authenticator-App

Authy ist die extravaganteste der 2FA-Apps, mit dem Hauptvorteil, dass alle Token in der Cloud gespeichert werden. Dies ermöglicht den Zugriff auf alle Token von jedem Ihrer Geräte. Gleichzeitig wird so auch die Migration auf neue Geräte vereinfacht. Es ist nicht notwendig, die 2FA in jedem Dienst neu zu aktivieren, sodass Sie vorhandene Token weiter verwenden können.

Token in der Cloud werden mit einem Schlüssel verschlüsselt, der auf einem benutzerdefinierten Passwort basiert. Das bedeutet, dass Daten sicher gespeichert werden und nur schwer zu entwenden sind. Darüber hinaus können Sie auch eine Login-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 besteht darin, dass Sie ein Konto einrichten müssen, das mit einer Mobiltelefonnummer verknüpft ist – sonst funktioniert die App nicht.

+ Token werden in der Cloud gespeichert und können so auf all Ihren Geräten verwendet werden.

+ Aus diesem Grund ist die Migration auf andere Geräte besonders einfach.

+ App-Login wird durch PIN oder Fingerabdruck geschützt.

+ Lediglich der Code, für den zuletzt verwendeten Token wird auf dem Bildschirm angezeigt.

+ Im Gegensatz zu anderen Apps unterstützt Authy nicht nur Android und iOS, sondern auch Windows, macOS und Chrome.

Funktioniert nicht ohne einen Authy-Account, der mit einer Handynummer verknüpft ist.

6. Yandex.Key

Unterstützte Plattformen: Android, iOS

Yandex.Key Authenticator-App

Meiner Meinung nach macht das Konzept, das hinter Yandex.Key steckt, die App zur besten 2FA-App in unserer Liste. Erstens erfordert sie keine sofortige Registrierung und kann genauso einfach wie Google Authenticator verwendet werden und zweitens bietet die App einige zusätzliche Features für diejenigen, die Ausschau nach erweiterten Funktionen halten.

Zum einen kann Yandex.Key per PIN oder Fingerabdruck gesperrt werden. Zum anderen gibt Ihnen die App die Möglichkeit, eine passwortgeschützte Backup-Kopie von Token in der Yandex-Cloud zu erstellen (für diese Stufe ist eine Telefonnummer erforderlich), die dann auf jedem Ihrer Geräte wiederhergestellt werden kann. Darüber hinaus ist es möglich, Token im Falle einer Migration auf ein neues Gerät zu übertragen.

Im Grunde genommen kombiniert Yandex.Key die Einfachheit von Google Authenticator mit der erweiterten Funktionalität von Authy, je nachdem, was Sie bevorzugen. Der einzige Nachteil der App ist, dass die Schnittstelle mit einer großen Anzahl von Token nicht ganz einfach zu verwenden ist.

+ Anfänglicher Minimalismus, der durch verfügbare Einstellungen erweitert werden kann.

+ Backup-Kopien von Token können in der Cloud für die Verwendung auf mehreren Geräten und für die Migration auf neue Geräte erstellt werden.

+ Der App-Login ist durch PIN oder Fingerabdruck geschützt.

+ Nur der Code für den zuletzt verwendeten Token wird auf dem Bildschirm angezeigt.

+ Ersetzt das permanente Passwort Ihres Yandex-Accounts.

Viele Token erschweren die Suche.

FIDO U2F Hardware-Authenticatoren: YubiKey und andere

Wenn Ihnen eine App, die Einmalcodes generiert, zu unübersichtlich und ungreifbar für den Schutz Ihrer Konten erscheint, und Sie auf der Suche nach einer soliden und zuverlässigen Lösung sind, die Ihr Konto mit einem Schlüssel versieht, der buchstäblich Platz in Ihrer Tasche findet, dann sollten Sie einen Blick auf Hardware-Token basierend auf dem U2F-Standard (Universal 2nd Factor) der FIDO-Allianz werfen.

So funktionieren FIDO U2F-Token

U2F-Hardware-Token sind der Liebling von Sicherheitsspezialisten, vor allem weil sie aus Sicht der Benutzer sehr einfach funktionieren. Sie müssen lediglich den U2F-Token an Ihr Gerät anschließen und mit einem kompatiblen Dienst registrieren. Der ganze Prozess nimmt nur wenige Klicks in Anspruch.

Um die Anmeldung zu bestätigen, müssen Sie den U2F-Token mit dem Gerät, das Sie zur Anmeldung verwenden, verbinden, und auf die Token-Schaltfläche tippen (einige Geräte erfordern die Eingabe einer PIN oder den Scan Ihres Fingerabdrucks, wobei es sich hierbei um ein Extra-Feature handelt). Das ist alles – keine komplexen Einstellungen, die Eingabe langer Zeichensequenzen oder anderer Hokuspokus, der oft mit dem Wort Kryptographie verbunden ist.

Facebook-Authentifizierung via YubiKey

Geben Sie den Schlüssel ein und tippen Sie auf die Schaltfläche – das ist alles.

Bei der Registrierung eines Tokens werden zwei kryptografische Schlüssel erstellt – ein privater und ein öffentlicher. Der öffentliche Schlüssel wird auf dem Server gespeichert, der private Schlüssel auf einem Secure-Element-Chip, der das Herzstück des U2F-Tokens bildet und das Gerät nie verlässt.

Der private Schlüssel wird verwendet, um die Anmeldebestätigung zu verschlüsseln, die an den Server übermittelt wird und mit dem öffentlichen Schlüssel entschlüsselt werden kann. Wenn jemand, der vorgibt, Sie zu sein, versucht, eine Anmeldebestätigung zu übertragen, die mit dem falschen privaten Schlüssel verschlüsselt wurde, entsteht bei der Entschlüsselung mit dem öffentlichen Schlüssel ein riesiges Kauderwelsch, und der Dienst verweigert den Zugriff auf das Konto.

Diese U2F-Geräte gibt es

Das berühmteste und häufigste Beispiel für U2F ist YubiKey, made by Yubico. Das Unternehmen hat sich für die Entwicklung dieses offenen Standards entschieden, der Ihre Wahl in keinster Weise einschränkt: U2F-kompatible Geräte werden von verschiedenen Unternehmen hergestellt und verkauft und auch Online-Shops bieten eine Reihe verschiedener Modelle an.

Yubico YubiKey – der bekannteste U2F-TokenYubiKey – der wahrscheinlich bekannteste U2F-Token

Google hat beispielsweise kürzlich eine Authenticator-Suite unter dem Slogan „Google Titan Security Keys“ eingeführt. Tatsächlich handelt es sich um Schlüssel, die von Feitian Technologies (dem zweitbeliebtesten Hersteller von U2F-Token nach Yubico) erstellt wurden, für die Google eine eigene Firmware entwickelt hat.

Natürlich funktionieren alle Hardware-Authenticatoren, die mit dem U2F-Standard kompatibel sind, einwandfrei mit allen Diensten, die auch mit diesem Standard kompatibel sind. Dennoch lassen sich Unterschiede feststellen, wobei der wichtigste Unterschied vermutlich in der Schnittstelle liegt, die von dem Schlüssel unterstützt wird. Auf diese Weise wird direkt festgelegt, mit welchen Geräten gearbeitet werden kann:

USB: zur Verbindung mit dem Rechner (ganz egal, ob Windows, Mac, oder Linux; alle Schlüssel funktionieren ohne die Installation von Drivern). Neben dem üblichen USB-A gibt es auch Schlüssel für USB-C.

NFC: erforderlich für den Gebrauch mit Android-Smartphones und Tablets.

Bluetooth: erforderlich für Mobilgeräte, die nicht über NFC verfügen. iPhone-Besitzer benötigen beispielsweise noch immer einen Bluetooth-basierten Authenticator. Obwohl iOS es allen Apps mittlerweile ermöglicht hat, NFC zu verwenden (vorher war ausschließlich Google Pay erlaubt), müssen sich viele der U2F-kompatiblen App-Entwickler das Feature noch zunutze machen. Bluetooth-Authenticatoren haben zwei Nachteile: zum einen müssen sie aufgeladen werden und zum anderen dauert eine Verbindung deutlich länger.

Basic-U2F-Token-Modelle unterstützen normalerweise nur U2F und kosten zwischen 10 und 20 US-Dollar. Andere, kostspieligere Geräte (20 bis 50 US-Dollar) können auch als Smartcard betrieben werden, Einmalpasswörter erstellen (inklusive OATH TOTP und HOTP), PGP-Kodierungsschlüssel generieren und speichern und zur Anmeldung bei Windows, macOS, Linux, usw. verwendet werden.

Wer die Wahl hat, hat die Qual: SMS, App oder YubiKey?

Also, für welche Art der Zwei-Faktor-Authentifizierung sollten Sie sich nun entscheiden? Leider gibt es auf diese Frage keine universelle Antwort. Verschiedene 2FA-Versionen und -Kombinationen können für verschiedene Dienste verwendet werden. Zum Beispiel sollten Konten mit höchster Priorität (ein E-Mail-Postfach, das mit anderen Konten verknüpft ist) bis an die Grenzen des Möglichen geschützt werden; mit anderen Worten: gesperrt mit einem Hardware-U2F-Token, wobei alle anderen 2FA-Optionen blockiert werden. Auf diese Weise können Sie sicherstellen, dass niemand ohne diesen Token Zugang zu Ihrem Konto erhält.

Eine gute Option ist es, Ihr Konto mit zwei Schlüsseln zu verbinden, wie es meist auch bei Autoschlüsseln der Fall ist: einer der Schlüssel befindet sich immer in Ihrer Tasche, während der andere an einem sicheren Ort aufbewahrt wird, falls der erste verloren geht. Darüber hinaus können Sie verschiedene Arten von Schlüsseln verwenden: zum Beispiel eine Authenticator-App auf Ihrem Smartphone als primären Schlüssel und ein U2F-Token oder ein Notizblatt mit Einmalpasswörtern in Ihrem Safe als Backup-Variante.

In jedem Fall lautet der wichtigste Ratschlag, möglichst keine SMS-basierten Einmalpasswörter zu verwenden. Ja, Sie haben recht. Leider ist das nicht immer möglich. Finanzdienstleistungen zum Beispiel sind notorisch konservativ und bieten fast ausschließlich die Authentifizierung per SMS an.