Warum Zwei-Faktor-Authentisierung

Quelle: wikipedia.org, 

Die Zwei-Faktor-Authentisierung (2FA), häufig auch Zwei-Faktor-Authentifizierung genannt, bezeichnet die Zugangsberechtigung eines Nutzers mittels einer Kombination zweier unterschiedlicher und insbesondere voneinander unabhängiger Komponenten („Faktoren“).

Typische Beispiele sind Bankkarte und PIN beim GeldautomatenFingerabdruck und Zugangscode in Gebäuden, oder Passphrase und Transaktionsnummer (TAN) beim Online-Banking. Die Zwei-Faktor-Authentisierung ist ein Spezialfall der Multi-Faktor-Authentisierung.

Die Stiftung Warentest empfiehlt Verbrauchern, Zwei-Faktor-Authentisierung für möglichst viele webbasierte Dienste bzw. Online-Portale zu nutzen.[4] Grund ist, dass Benutzer häufig ungeeignete oder zu schwache Passwörter wählen und ein und dasselbe Kennwort für mehrere Benutzungskonten bzw. Web-Dienste nutzen.[5] Einmalpasswörter werden nach wenigen Sekunden oder Minuten ungültig – das wehrt Angreifer ab, die Passwörter erspähen wollen, z. B. durch Mitlesen von Passwörtern bei der Eingabe oder durch einen Keylogger.

Möchte der Anwender sich authentisieren, muss er meist eine Passphrase und ein einmalig gültiges, dynamisch erzeugtes Einmalkennwort eingeben. Diesen Einmalkennwort, welches je nach Verfahren auch nur einen kurzen Zeitraum gültig ist, erhält er entweder über einen alternativen Übertragungsweg wie beispielsweise per SMS oder E-Mail, oder es wird ein einmaliger Einmalkennwort basierend auf einen gemeinsamen Geheimnis erzeugt, wie beispielsweise TOTP.

Wenn der sich authentisierende Benutzer keine manuelle Dateneingabe mehr zu erledigen braucht, gilt der Prozess als halbautomatisiert. Das ist mit der NFC-Methode erreicht. Verwendet wird dazu ein zuvor personalisiertes Mobilgerät. Erst dann, wenn der sich authentisierende Benutzer keinerlei Handhabung mehr zu erledigen braucht, gilt der Prozess als vollautomatisiert. Das ist mit dem Verwenden von Piconetzen (Bluetooth) als internationaler Industriestandard erreicht. Verwendet wird dazu ein zuvor personalisiertes Mobilgerät.[12]

Anwender installieren auf dem mobilen Endgerät, das zur Zwei-Faktor-Authentisierung gegenüber einem oder mehreren webbasierten Diensten dient, eine App. Sodann kann ein webbasierter Dienst durch Zwei-Faktor-Authentisierung geschützt werden, indem man die App beim Dienst als zweiten Faktor registriert. Dazu tauschen der Sicherheits-Server des Dienstes und das Endgerät eine Zeichenfolge als Geheimnis oder Token aus – z. B. indem man mit dem Mobilgerät einen QR-Code scannt oder eine entsprechende, vom Sicherheits-Server angezeigte Zeichenfolge händisch eintippt. Nach diesem ersten Schritt ist das Geheimnis im Idealfall nur dem Sicherheits-Server und dem persönlichen Gerät des Nutzers bekannt und sollte diesen Speicher nie verlassen. Nach einem Funktionstest schaltet der Webdienst die Zwei-Faktor-Authentisierung für das Benutzerkonto aktiv.

Will der Benutzer den webbasierten Dienst nun nutzen, wird er – nach Eingabe seines Benutzernamens und Passworts – aufgefordert, ein von der App generiertes Einmalpasswort als zweiten Faktor zur Authentisierung einzugeben. Die App berechnet das Einmalpasswort aus der aktuellen Uhrzeit und dem Geheimnis. Daher müssen die Uhren von Client und Server ungefähr synchron sein. In der Regel funktioniert der Vorgang auch im Flugmodus. In der Praxis kann der Server so programmiert werden, auch den Vorgänger- und Nachfolger-Code zu akzeptieren, um Zeitabweichungen von bis zu einer Minute abzudecken. Das zum Erzeugen des Einmalpassworts notwendige Geheimnis wird nicht übertragen und kann deswegen nicht abgehört werden.

Es gibt mehrere Apps zur Zwei-Faktor-Authentikation via TOTP. Einige unterstützten viele Plattformen, da sie die offenen Standards HOTP (RFC 4226[13]) und TOTP (RFC 6238[14]) umsetzen. Damit sind sie gegenüber jedem Webdienst einsetzbar, dessen Sicherheits-Server jene Standards implementiert.

Appunterstützte PlattformenImport/Export-Funktion?Anmerkungen
Google AuthenticatorAndroid, iOS, Blackberry OSja[15]Login in Google-Konten per Push-Notifikation. Für Android entwickelt, war die App ursprünglich bis Version 2.21 Open Source, später wurde sie proprietär.
andOTPAndroidja[16][17]Open Source – seit 14. Juni 2022 nicht mehr weiterentwickelt.[18]
FreeOTP AuthenticatorAndroid (zuletzt aktualisiert am 25. Januar 2016) und iOSkeine[19]Die Open-Source-Software wurde basierend auf der Version des Google Authenticators, die über das GitHub Verzeichnis verfügbar war, entwickelt.[20][21] FreeOTP wird von Red Hat zur Verfügung gestellt.
FreeOTP+AndroidjaDie Open-Source-Software FreeOTP+ ist ein Fork von FreeOTP, welcher Erweiterungen integriert.[22]
Aegis AuthenticatorAndroidjaQuelloffene App mit Importmöglichkeit von anderen Apps.[23]
Authy (Twilio)Android, BlackBerry OS, iOS, Windows, MacOS und LinuxjaDie Geheimnisse / Token werden (verschlüsselt) in der Cloud gespeichert, dadurch auf mehreren Geräten parallel verwendbar.
Microsoft AuthenticatorAndroid und iOS[24]ja[25]Login in das Microsoft-Konto per Push-Notifikation
PrivacyIDEAAndroid und iOSneinOpen Source OTP Server. Login über einen OIDC Server (z. B.: Keycloak etc.) per Push-Notifikation, TOTP etc.
Proton AuthenticatorAndroid, iOS, Windows, MacOS, LinuxjaOpen Source, Ende-zu-Ende-verschlüsselte Synchronisation, werbefrei, Import- und Exportmöglichkeiten und Offline-Unterstützung[26]

Auch Passwort-Manager wie LastPassBitwarden1PasswordiCloud SchlüsselbundProton Pass oder KeePass unterstützen Zwei-Faktor-Authentisierung gegenüber Dritten.

Die FIDO-Allianz veröffentlichte am 9. Dezember 2014 die erste Version des universellen und lizenzfreien Standards U2F für die Zwei-Faktor-Authentisierung, die verschiedene Verfahren und Geräte unterstützt.[27] Im Februar 2015 kündigte Microsoft an, dass der Standard 2.0 der FIDO-Allianz für die Authentifikation im Internet vom Betriebssystem Windows 10 unterstützt wird.[28]

Sicherheitsexperten warnen, dass Betrüger SMS-Spoofing und Man-in-the-Middle-Angriffe, bei denen Angreifer eine gefälschte Login-Seite präsentieren, missbrauchen können, um die Zwei-Faktor-Authentisierung, die auf Einmalkennwörtern beruht, zu umgehen.[29] FIDO U2F bietet hier zusätzlichen Schutz.

Beide Faktoren sollten zwei getrennte Übertragungskanäle nutzen.[30] Der Forderung, sie nicht am gleichen Ort zu speichern, wird oft nicht nachgekommen. So nutzen viele Banken die E-Banking-App und die App zur Zwei-Faktor-Authentisierung per Einmalkennwort im selben Endgerät, sodass bei dessen Verlust nur noch ein etwaiger PIN-Code auf der 2FA-App die Anwendung schützt. Selbst wenn man die App zur Zwei-Faktor-Authentifizierung mittels TOTP auf demselben Gerät installierte, auf dem man den 2FA-gesicherten IT-Dienst nutzt, erhöht das die Sicherheit gegenüber der Authentisierung lediglich mittels Anmeldename und Passwort – der sich aus der Einmaligkeit des Einmalpassworts ergibt. Die Nutzung der Authentisierungs-App über ein zweites Gerät bietet jedoch zusätzlich die Sicherheit des zweiten Faktors.

Außerdem erlauben die meisten Anbieter, bestimmte Rechner als vertrauenswürdige Clients zu definieren, von denen aus die Anmeldung ohne Einmalpasswort erfolgen darf. Kann ein Angreifer sich Zugang zu einem solchen Rechner verschaffen, besteht kein zusätzlicher Schutz.