Hilfe:Zwei-Faktor-Authentifizierung

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Diese Hilfeseite beschreibt die Zwei-Faktor-Authentifizierung (2FA), ein im November 2016 neu eingeführtes Verfahren beim Anmelden als Benutzer mit erweiterten Rechten wie beispielsweise Administratoren und auf Antrag auch für alle anderen Benutzer.

Es ermöglicht eine zusätzliche Sicherheitsstufe, indem zum Anmelden auf dem Rechner ähnlich wie zum Vollzug einer Überweisung beim Online-Banking eine sechsstellige TAN zusätzlich zum Passwort einzugeben ist. Dieser Zusatzcode, ein Einmalkennwort (OTP) mit zeitlicher Befristung der Gültigkeit, wird nach dem Time-based One-time Password Algorithmus (OATH-TOTP) nach RFC 6238 erzeugt.

Hintergrund[Bearbeiten | Quelltext bearbeiten]

Wohl am Wochenende 11./12. November 2016 gelang ein unbefugter Wiki-Zugang auf das Benutzerkonto von Jimbo Wales und ggf. andere Benutzer mit erweiterten Rechten.[1]

Antrag auf Zwei-Faktor-Authentifizierung für Benutzer ohne erweiterte Rechte[Bearbeiten | Quelltext bearbeiten]

Für interessierte Benutzer mit nicht erweiterten Rechten, aber mit ausreichender Erfahrung, besteht seit Anfang Mai 2018 die Option, auf Ansuchen in die globale Gruppe oathauth-tester aufgenommen zu werden, um für ihr Konto die Zwei-Faktor-Authentifizierung aktivieren zu können.[2] Da 2FA derzeit im Versuchsbetrieb ist und um den Aufwand durch Fehlbedienungen zu minimieren, ist es dazu notwendig, die aktuelle Anleitung Two-factor authentication (engl., auf Meta) durchzulesen, insbesondere den Teil mit den Notfallscodes und deren Umgang und die Methoden, wie die Zwei-Faktor-Authentifizierung wieder deaktiviert werden kann. Der Antrag auf 2FA wird dann formlos auf Meta gestellt und von einem der Stewards nach Prüfung umgesetzt.

Vorgehen[Bearbeiten | Quelltext bearbeiten]

Auf Mobilgeräten wie einem Smartphone ist in der Regel zur Berechnung des zeitlich limitierten Einmalkennworts (TOTP) eine mobile App erforderlich. Diese berechnet aus einem einmalig von der Wikimedia-Software auf Serverseite bei der Anmeldung erzeugten und im Mobilgerät als Kopie hinterlegten Geheimnis K mit einer Länge von 80 Bits und der aktuellen Uhrzeit das aus sechs Ziffern bestehende Einmalpasswort. Es gibt auch Anwendungen für ortsfeste Rechner oder Laptops und auch Security-Token mit USB-Schnittstelle sind verfügbar. Die eingesetzte Software/App oder Security-Token muss als Bedingung das Verfahren OATH-TOTP unterstützen und das Benutzergerät muss über eine Uhr oder Zugang zu einer genauen Uhrzeit verfügen, um für die Berechnung des TOTP verwendbar zu sein.

Nutzer mit den entsprechenden Berechtigungen können auf die persönlichen Einstellungen unter Benutzerdaten gehen und die Konfigurationsseite Spezial:OATH aufrufen.

Beispielhafte Auswahl von Programmen:[Bearbeiten | Quelltext bearbeiten]

Linux[Bearbeiten | Quelltext bearbeiten]

  • OTPClient Ein auf GTK basierender OTP-Client, der einfach zu bedinen ist auserdem wird der Geheimschlüssel verschlüsselt gespeichert. OTP client ist mit flatpak auf gängigen Linux-Distributionen einfach zu installieren.
  • OATH Toolkit ist für die Anwendung auf vertrauenswürdigen PCs (beispielsweise am eigenen Laptop) geeignet. Das OATH Toolkit ist sehr leistungsfähig und erlaubt beispielsweise auch die Erzeugung eines Einmalschlüssels für einen beliebigen Zeitpunkt in der Zukunft oder die Erzeugung einer Folge von Einmalcodes über einen längeren Zeitraum. Auch lässt sich die Kommandozeilenanwendung leicht automatisieren: So kann beispielsweise das berechnete Einmalkennwort statt angezeigt zu werden gleich in die Zwischenablage kopiert werden und braucht dann nur noch im entsprechenden Browser-Fenster eingefügt werden.

Android/iOS[Bearbeiten | Quelltext bearbeiten]

  • Aegis (Android) Open Source OTP-Client bei dem das Geheimnis K optional verschlüsselt auf dem Speicher des Smartphone gespeichert werden kann.
  • AndOTP (Android) Open Source OTP-Client bei dem das Geheimnis K verschlüsselt auf dem Speicher des Smartphone gespeichert wird.
  • Authenticator (iOS). Open Source OTP-Client.
  • Google Authenticator (Android, iOS). Zu beachten ist, dass bei dieser App das Geheimnis K unverschlüsselt am Smartphone gespeichert wird.
  • FreeOTP (Android, iOS) für Smartphones ist OpenSource und ähnlich einfach zu bedienen wie Google Authenticator. Auch bei dieser Anwendung wird das Geheimnis K unverschlüsselt im Speicher des Mobiltelefons gespeichert.

Sonstiges[Bearbeiten | Quelltext bearbeiten]

  • GAuth ist ein Web-Dienst, funktioniert auf verschiedenen Systemen – theoretisch auch im Browser, wenn man dem Betreiber vertraut, das Geheimnis K nicht weiterzugeben.
  • Auf nicht vertrauenswürdigen PCs, beispielsweise in einem Internet-Cafe, und generell als vergleichsweise sehr sichere Methode, besteht die Möglichkeit, mittels eines zusätzlichen Security-Token wie Yubikey 4 (Kosten dafür ca. 50.- Euro) und den Yubico Authenticator den Einmalschlüssel zu erzeugen. Die Berechnung des Einmalpasswortes aus dem Geheimnis K erfolgt direkt am Security-Token, das Geheimnis K wird nur am Security-Token und nicht auf dem unsicheren PC gespeichert und kann auch aus dem Security-Token nicht ausgelesen werden.
  • Für Passwortmanager wie KeePass stehen eigene Plugins oder Variaten wie KeePassXC ab Version 2.2 zur Verfügung, welche OATH-TOTP als Generatorfunktion anbieten. Das Geheimnis K wird dabei wie andere reguläre Einträge als zusätzlicher Eintrag (Attribut) in der verschlüsselten Datenbank vorgehalten.

Konfiguration:[Bearbeiten | Quelltext bearbeiten]

Eingabemaske für das Einmaltoken nach Eingabe von Benutzername und Kennwort
  1. Lade die App oder eine passende Anwendung herunter.
    • Lade eine mobile App oder Anwendung für den PC für die Zwei-Faktor-Authentifizierung herunter und installiere sie.
  2. Geheimnis K. Dieses ist im Rahmen der Anmeldung für 2FA bei der Wikimedia-Software fix 80 Bit lang und wird entweder als QR-Code oder in Form einer Base32-codierten Zeichenfolge vom Server an den Client übermittelt.
    • Bei Mobilgeräten mit Kamera besteht die einfache Möglichkeit, den angezeigten QR-Code für das Geheimnis K zu scannen.
    • oder gib das Geheimnis K manuell ein, als liege eine codierte Base32-Zeichenfolge vor, beispielsweise YXE54JNILN7PNMGS.
      • In der Regel ist es möglich, die Buchstaben der Base32-Codierung als Kleinbuchstaben einzugeben; es gibt aber auch CapsLock.
    • Es ist empfehlenswert, das Geheimnis K mit Copy&Paste in eine lokale Datei als Datensicherung zu übertragen und sicher zu verwahren; siehe unten.
  3. Schreibe die Sondercodes für Notfälle auf.
    • Es wird weiterhin eine Liste von fünf Notfalltokens angezeigt.
    • Sie sind per Copy&Paste in eine lokale Datei zu übernehmen und an einem sicheren Ort abzuspeichern.
    • Ggf. auch ausdrucken und den Ausdruck gut gesichert aufbewahren.
    • Baldmöglichst separate Sicherheitskopie an physisch anderem Ort anlegen; Benutzername und Datum vermerken.
    • Anders als die sechsstelligen Zahlen (Einmalpasswörter, die nur kurzzeitig gültig sind) bleiben diese Codes für Notfälle unbegrenzt wirksam.
    • Zusätzlich kannst du auch das „Geheimnis K“ dazuschreiben und bei Datenverlust oder Defekt des Mobilgerätes mit diesem Daten eine TOTP-App neu initialisieren.
  4. Verifizierung
    • Code von der App oder Programm abrufen. Dieser Einmalcode ändert sich alle 30 Sekunden.
    • Code in das Wiki-Formular eingeben. Erst bei gültigen Einmalcode wird damit die Zwei-Faktor-Authentifizierung für dein Konto aktiv geschaltet.
    • Dadurch ist sichergestellt, dass du die Zwei-Faktor-Authentifizierung nur aktivieren kannst, wenn du tatsächlich eine passende App besitzt und diese korrekt funktioniert.
  5. Speichern

Nunmehr ist zur Anmeldung zusätzlich zum bisherigen Passwort das jeweilige, auf 30 Sekunden befristet gültige Einmalkennwort (sechs Ziffern) erforderlich.

Hinweise[Bearbeiten | Quelltext bearbeiten]

  • Es können beliebig viele weitere Geräte und Programme zur Berechnung des TOTP gleichzeitig mit dem „Geheimnis K“ gefüttert und benutzt werden, beispielsweise um bei Verlust oder Defekt des Mobilgerätes vorzubeugen. Die Berechnung des Einmalpasswortes kann bei diesem Verfahren in beliebiger Wahl durch die verschiedenen Geräte erfolgen, da in dem Verfahren kein Zähler vorliegt und auch keine Kennung eines bestimmten Endgerätes vorgenommen wird. Einzig kritischer Faktor ist die (absolute) Uhrzeit.
  • Die absolute Uhrzeit auf dem Gerät wie einem Mobiltelefon oder Laptop, mit dem das Einmalpasswort erzeugt wird, muss bis auf wenige Sekunden genau der Uhrzeit am Server entsprechen. Die Gültigkeitsdauer beträgt 30 Sekunden, je nach konkreter Implementierung am Server wird auch noch das TOTP aus dem Zeitfenster unmittelbar vor dem aktuellen Zeitfenster akzeptiert, womit sich eine Spanne von weniger als 1 Minute ergibt. Liegt eine größere Abweichung der beiden Uhrzeiten zwischen dem Gerät des Benutzers und dem Server vor, ist ein Login mittels TOTP nicht mehr möglich.
  • Die Uhrzeit bei der Berechnung ist UTC und somit von Zeitzonen, Zeitumstellungen wie Sommerzeit unabhängig. Bei fehlerhaft konfigurierten Geräten bzw. Einstellungen zur Uhrzeit kann es bei TOTP zu Problemen kommen.
  • Beachte, dass jeder, der in den Besitz einer Kopie des Geheimnis K gelangt, in Folge gültige Einmalpasswörter berechnen kann. Das Geheimnis K wird nur einmalig bei der TOTP-Anmeldung vom Server erzeugt und ist danach unveränderlich. Sollte der Wunsch nach einem neuen Geheimnis K bestehen, beispielsweise bei einer Kompromittierung, ist eine Abmeldung vom 2FA und anschließende Neuanmeldung nötig. Dabei wird vom Server für das Konto ein neues, zufälliges Geheimnis K und ein Satz neuer Notfalltoken generiert und die bisherigen Daten verworfen.
  • Falls du einen Bot benutzt, der OAuth nicht unterstützt oder AutoWikiBrowser verwendest, so kannst du trotz 2FA für deinen Bot ein eigenes Passwort unter Spezial:BotPasswords vergeben.

Andere Projekte[Bearbeiten | Quelltext bearbeiten]

Das Verfahren wirkt auf den SUL-Account. In welchem Projekt man sich anmeldet, ist egal, auch ob man im anderen Projekt Administrator wäre. Es gibt nur ein Passwort und ein 2FA und ein SUL-Konto für alle Wikis der WMF.

Angemeldet bleiben[Bearbeiten | Quelltext bearbeiten]

Wegen der etwas umständlichen Prozedur kann es ratsam sein, permanent angemeldet zu bleiben, falls niemand sonst Zugriff zum Desktop-PC hat und man seinen Laptop nicht dauernd in der U-Bahn liegen lässt. Schwieriger ist das beim mobilen Zugriff, wenn vom Smartphone aus gearbeitet wird. Ein Mobiltelefon ist häufiger unbefugten Händen ausgesetzt.

Notfallsituation[Bearbeiten | Quelltext bearbeiten]

Fünf beispielhafte 16-stellige Notfallcodes

Nach Verlust des Zwei-Faktor-Geheimschlüssels werden zwei 16-stellige Buchstaben-Zahlencodes aus der Liste für Notfälle benötigt:

  1. zum Anmelden: man gibt nach dem Login statt des Einmal-Codes der App einen der Notfallcodes von der Liste ein
  2. zum Deaktivieren auf Spezial:OATH.

Danach müsste ggf. mit erneuerter App wieder von vorn beginnend konfiguriert werden.

Ist der Zwei-Faktor-Geheimschlüssel aus der Initialisierungsphase hingegen noch bekannt, beispielsweise falls du den Geheimschlüssel zusätzlich auf einem Blatt Papier notiert hast und an einem sicheren Platz (Tresor) verwahrt hast, kannst du diese Schlüsseldaten erneut in die Authentifizierungsapp eingeben. Alternativ kann das auch auf einem beliebigen anderen Gerät wie einem neuen Smartphone erfolgen, sollte das ursprüngliche Smartphone beispielsweise verloren gegangen oder defekt sein.

Verfahren beenden[Bearbeiten | Quelltext bearbeiten]

  • Auf Spezial:OATH kann 2FA auch wieder deaktiviert werden.
  • Wenn du kein Administrator bist, besteht die Option, sich in die globale Gruppe oathauth-tester nach Antrag auf Meta aufnehmen zu lassen. Damit kann 2FA nach eigenem Wunsch entweder weiter verwendet werden oder über Spezial:OATH deaktiviert werden.

Weitere Informationen[Bearbeiten | Quelltext bearbeiten]

Anmerkungen[Bearbeiten | Quelltext bearbeiten]

  1. Wikipedia-Kurier: Angriff auf Passwörter von WMF-Funktionären. 12. November 2016.
  2. Siehe dazu phab:T193769