Two-Factor Authentication / Multi-Factor Authentication (TFA, 2FA, MFA, TOTP)

Two-Factor AuthenticationDie Two-Factor Authentication (TFA, 2FA) oder Zwei-Faktor-Authentifizierung ist eine Form der Multi-Factor Authentication (MFA), bei der zwei der drei Faktoren verwendet werden. Die möglichen Faktoren sind:

  • Wissen (etwas, da man weiß)
    Beispiel: Ein Passwort
  • Besitz (etwas, das man hat)
    Beispiel: Eine Kreditkarte
  • Inhärenz (etwas, das man ist)
    Beispiel: Fingerabdruck, DNA

Je mehr Faktoren zum Schutz eines Systems verwendet werden, desto sicherer wird es. Eine Plattform, die nur über einen Benutzernamen oder Passwort geschützt ist, verwendet lediglich einen Faktor (Wissen). Gerät diese Information an eine andere Person, so hat diese vollständigen Zugriff auf das dahinterliegende System.

Folglich ist es sinnvoll und wichtig, jegliches System durch möglichst viele Faktoren zu schützen, um eine Kompromittierung zu verhindern.

Viele Plattformen bieten deshalb die Two-Factor Authentication in Form der Time-Based One-Time-Passwörter (TOTP, zeitbasierte Einmalpasswörter) an. TOTP ist ein standardisiertes Verfahren nach RFC 6238, welches auf Keyed-Hash Message Authentication Code (HMAC, RFC 2104) basiert und von Initiative For Open Authentication (OATH) entwickelt wurde. TOTP zählt zum Faktor Besitz.

Für die Einmalpasswörter wird eine Software (in Form einer mobilen App oder einer Anwendung) benötigt, die diese Codes erzeugt. Häufig wird hierfür der Google Authenticator verwendet. Da es sich bei TFA um einen offenen Standard handelt, gibt es viele Alternativen. Gute Alternativen sind z.B. für Android FreeOTP und für PC das KeePass-Plugin KeeOtp.

Die Verwendung ist sehr einfach und folgt für gewöhnlich folgendem Muster:

  1. Konto auf einer Online-Plattform erstellen
  2. Nach dem ersten Login die TFA-Erstellung starten
  3. Es wird ein QR-Code angezeigt und auch häufig der darin enthaltene Code
  4. Den QR-Code mit der Authenticator scannen oder den Code in der TOTP-Software speichern
  5. Nun zeigt der Authenticator einen 6-stelligen Zahlencode an (welcher sich alle 30 Sekunden ändert)
  6. Dieser Code wird zur Bestätigung in das vorgesehene Feld eingetragen
  7. Anschließend ist die TFA aktiviert
  8. Beim nächsten Login muss neben Benutzername und Passwort der TFA-Code eingegeben werden

 

Gegen Verlust schützen

Verliert man das Gerät, auf dem die 2FA-Codes generiert werden, ist der Zugriff auf das jeweilige Konto nicht mehr möglich. Manche Plattformen bieten eine Wiederherstellung über E-Mail oder SMS an, aber nicht alle.

Um sich vor einem Verlust zu schützen, sollten die Schlüssel für die Two-Factor Authentication beim Erstellen gesichert werden. Wähle dazu eine oder mehrere Möglichkeiten:

  • Der angezeigte QR-Code ist häufig eine Bilddatei. Dieser kann somit problemlos gespeichert oder ausgedruckt werden. Sollte der Authenticator-Zugang verloren sein, kann man jederzeit auf einem anderen Gerät den QR-Code erneut scannen.
  • Neben dem QR-Code steht häufig eine Zeichenkombination aus Buchstaben und Zahlen. Hierbei handelt es sich um den Schlüssel für die Generierung der TOTPs. Dieser Code wird z.B. für das KeePass-Plugin KeeOtp verwendet. Zur Sicherung kann dieser Code gespeichert oder ausgedruckt werden.

Fazit

Nutze immer eine Authentifizierung mit mehreren Faktoren, um deine Zugänge zu schützen. Die 2FA mit einem Authenticator ist hierfür eine einfache und schnell umzusetzende Möglichkeit.

 

Dieser Artikel wird demnächst um ein konkretes Beispiel mit Screenshots erweitert. Bis dahin kannst du gerne Fragen und/oder Ergänzungen in den Kommentaren oder in der Telegram-Gruppe schreiben.

Titelbild von George Becker

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Hiermit bestätige ich, dass ich die Datenschutzerklärung gelesen und verstanden habe und bestätige mit dem gesetzten Haken bei "I have read and accepted the Privacy Policy", dass ich diese vor dem Absenden des Kommentars akzeptiere:

Time limit is exhausted. Please reload the CAPTCHA.