Zwei-Faktor Authentifizierung

Um dein Konto besser zu schützen, kannst du die Zwei-Faktor Authentifizierung (2FA) aktivieren. Dadurch wird die Anmeldung für dein Konto mit einem zweiten Faktor abgesichert. Der zweite Faktor kann ein durch eine App generierter PIN oder ein Hardware-Token sein. Eine Anmeldung ist nur noch möglich, wenn neben deinem Passwort der zusätzliche Faktor eingeben wird.

Eine Angreiferin muss nun zusätzlich eine weitere Komponente für den Zugriff vorliegen haben, die in der Regel physischer Art ist. Ein typisches Beispiel hierfür ist der TAN-Scanner beim E-Banking. Auch wenn das Login mit Passwort irgendwo publiziert wurde, kann man sich ohne den Hardware-Token oder das registrierte Smartphone nicht auf deinem Konto einloggen.

Voraussetzung für 2FA

Um die 2FA zu nutzen brauchst du einen zweiten Faktor. Dies kann ein Mobiltelefon mit der App FreeOTP+ sein, ein Passwortmanager oder ein Hardware-Token wie z.B. SoloKeys, Nitrokey oder Yubikey.

Um die 2FA zu aktivieren ist zwingend eine Wiederherstellungsadresse notwendig.

Wichtig: Sobald du die Zwei-Faktor Authentizifierung erfolgreich konfiguriert hast, musst du bei jedem Login auf dein immerda-Konto auch deinen zweiten Faktor verwenden! Dies funtioniert nur in einem Browser, alle anderen Programme (wie bspw. dein Email-Client) müssen sich ab sofort - oder besser schon vorher - mit einem Applikations-Passwort anmelden. Du wirst dein Konto-Passwort nicht mehr in anderen Programmen für die Anmeldung verwenden können.

2FA Aktivieren

Navigiere in deiner Accountverwaltung zu Zwei-Faktor Authentifizierung. Hier kannst du die 2FA aktivieren, verschiedene Geräte für Einmalcodes (TOTP) hinzufügen oder Hardware-Tokens aktivieren.

Du kannst eine beliebige Anzahl von Einmalcodes oder Hardware-Token einrichten. Damit die Zwei-Faktor Authentifizierung für dein Konto aktiviert ist muss mindestens ein Einmalcode eingerichtet sein.

Befolge hierfür einfach die Schritte unter Zwei-Faktor Authentifzierung in der Kontoverwaltung. Im folgendem geben wir noch eine etwas detailiertere Übersicht, wie du die Zwei-Faktor Authentifizierung einrichten kannst.

Einmalcodes

Einmalcodes - auch TOTP genannt - ist ein generierter PIN, der sich immer wieder ändert und nur einmal verwendet werden kann. Diese Einmalcodes werden dir üblicherweise durch eine App auf deinem Mobiltelefon oder einem Programm wie einem Passwortmanager angezeigt.

Bei der Einrichtung von Einmalcodes musst du diesen zwingend ein erstes Mal zusammen mit deinem Passwort erfolgreich nutzen, ansonsten wird dieser nicht aktiviert.

Mobiltelefon

Es ist empfehlenswert die beiden Faktoren physisch zu trennen. Dies kann beispielsweise mit einem Mobiltelefon und der App FreeOTP+ (Fdroid, Playstore) erziehlt werden. Für Apple iOS/iPhone kann bspw. Authenticator aus dem Appstore verwendet werden.

  1. Installiere die App auf deinem Gerät.
  2. Füge einen neuen Einmalcode hinzu.
  3. In der Kontoverwaltung wird dir bei der Aktivierung von Einmalcodes ein QR Code resp. gemeinsames Geheimnis angezeigt.
  4. Scanne den QR-Code und speichere den eingerichteten Einmalcode ab.
  5. Diesen ersten Code gibts du zusammen mit einem Namen und deinem Konto-Passwort in der Kontoverwaltung ein und klickst auf Erstellen.
  6. Damit ist nun dieser Einmalcode aktiviert und kann nun verwendet werden.

Passwortmanager

Ein Passwortmanager wie KeepassXC bringt die Unterstützung für Einmalcodes standardmässig mit, andere wie bspw. Keepass benötigen dazu ein Plugin. Wenn ein Passwortmanager zur Speicherung des zweiten Faktors verwendet wird, empfiehlt sich eine zweite Keepass DB mit einem zweiten Passwort für die Einmalcodes, damit dein Passwort und der zweite Faktor weiterhin voneinander getrennt sind.

  1. In KeepassXC erstellst du bspw. einen Eintrag für dein Konto.
  2. In der Kontoverwaltung wird dir bei der aktivierung von Einmalcodes ein QR Code resp. gemeinsames Geheimnis angezeigt.
  3. Unter “Einträge” kannst du zusätzlich TOTP einrichten. Dort hinterlegst du das gemeinsame Geheimnis und speicherst den Eintrag.
  4. Nun kann per Rechtsklick auf den Account, der Einmalcode via den Menupunkt TOTP angezeigt werden.
  5. Diesen ersten Code gibts du zusammen mit einem Namen und deinem Konto-Passwort in der Kontoverwaltung ein und klickst auf Erstellen.
  6. Damit ist nun dieser Einmalcode aktiviert und kann nun verwendet werden.

Die häufigste Ursache von Problemen sind nicht synchronisierte Datumseinstellungen. Stelle sicher, dass die Uhr auf deinem Computer mit der aktuellen Uhrzeit übereinstimmt.

Hardware-Token

Hardware-Tokens können erst hinzugefügt werden, wenn bereits ein Einmalcode existiert. Wir verwenden WebAuthn als Authentifizierungsverfahren für Hardware-Tokens. Getestet wurden die Somu Variante der Solokeys und Yubikeys, grundsätzlich sollten aber alle Varianten, die WebAuthn unterstützen verwendet werden.

Für die Aktivierung musst du einen Namen vergeben, dein Konto-Passwort eingeben und dem Klicken auf Erfassen den Hardware-Token ein erstes Mal betätigen.

Die WebAuthn-API ist im Tor-Browser deaktiviert. Entsprechend funktionieren Hardware-Tokens im Tor-Browser nicht.

Zwei-Faktor Authentifizierung verwenden

Nach der Aktivierung der Zwei-Faktor Authentifizierung wird nun bei jeder Anmeldung nach der Passworteingabe der zusätzliche Faktor abgefragt.

Mobiltelefon

App öffnen und auf den gewünschten Account klicken. Die App generiert nun einen Pin mit einer Gültigkeitsdauer. Den Pin innerhalb der Gültigkeitsdauer übertragen.

Passwortmanager

Den Passwortmanager öffnen und ein neuer TOTP Pin für deinen Eintrag generieren. Dieser Pin hat eine beschränkte Gültigkeit und muss innerhalb dieses Zeitfensters übertragen werden. Falls das angegeben Zeitfenster zu knapp ist, einfach kurz warten bis ein neuer Pin generiert wird.

Hardware-Token

Hardware-Token verbinden und nach der Aufforderung des Browsers die Nutzung bestätigen (meistens durch Berühren).

Zwei-Faktor Authentifizierung deaktivieren

Um die Zwei-Faktor Authentifizierung zu deaktivieren, musst du alle Devices und Einmalcodes entfernen.

Hardware-Token verloren oder kein Zugriff auf die App

Falls dir dein Hardware-Token abhanden gekommen ist oder du keine Einmalcodes mehr generieren kannst (Mobilgerät verloren/geklaut/kaputt, App deinstalliert, etc.) kannst du die Zwei-Faktor Authentifizierung deaktivieren lassen. Setze dich dazu von deiner Wiederherstellungsadresse aus mit den Admins in Verbindung.

Anonymität

Der zweite Faktor verbessert deine Sicherheit, kann aber Auswirkungen auf deine Anonymität haben. Auf dem Server wird deine Wiederherstellungsadresse ge-hashed gespeichert und ist somit nicht direkt rückverfolgbar.

Falls du eine App auf deinem Mobiltelefon nutzt, ist das Konto zusammen mit dem gemeinsamen Passwort für die Einmalcodes in der App hinterlegt. Damit ist eindeutig ersichtlich, dass die Besitzerin des Mobiltelefons vermutlich Zugriff auf das Konto hat. Wenn du dies nicht möchtest, dann scanne nicht den QR Code, sondern übertrage das gemeinsame Passwort manuell in die Applikation und vergib eine beliebige Bezeichnung. Dadurch wird verhindert, dass die Emailadresse mit dem entsprechenden Code in der App verbunden wird.

Siehe dazu auch Daten(schutz)

Technisches

Einige technische Detail zu den verwendeten Verfahren.

Funktion Einmalcodes

Wir nutzen Time-based One-time Password TOTP (RFC 6238) als Verfahren für unsere Zwei-Faktor Authentifizierung. Dabei tauschen Server und Nutzerin zuerst ein gemeinsames Geheimnis aus. Neben dem gemeinsamen Geheimnis nutzen Server und Client den gleichen Zeitcode um alle 30 Sekunden mittels der hmac-sha1 hash Funktion ein zufälliges Token zu generieren.

Wenn also beide Parteien das gleiche Geheimis kennen und ihre Zeiteinstellungen synchron sind, können sie offline alle 30 Sekunden dieselbe Berechnung durchführen und zum selben Ergebnis kommen. So kann der Server prüfen, ob das zweite Passwort richtig ist.

Funktion WebAuthn

WebAuthn ist Teil der Fido2 Spezifikation und nutzt ein Public-Key Verfahren um eine Nutzerin zu authentifizieren. Der Hardware-Token generiert zwei Keys (öffentlich und private) und sendet den öffentlichen Schlüssel über den Browser an den Server. Um nun die Identität einer Nutzerin zu prüfen, sendet der Server eine zufällige Zeichenabfolge an den Browser. Der Hardware-Token signiert diese Zeichenabfolge und sendet sie zurück an den Server. Dieser kann mit dem öffentlichen Schlüssel die Signatur prüfen und so die Nutzerin Authentifizieren. Zusätzlich ist die Anfrage des Servers an die Verwendungs-URL gekoppelt. Dies bedeutet, dass der Hardware-Token, diese Signatur nur für eine Anfrage von einer bestimmten URL aus durchführt und damit eine Verwendung unter einer anderen URL ausschliesst.