[DE] TOTP - Zeitgesteuerte 2-Faktor Authentifikation

in #deutsch7 years ago

Zwei-Faktor-Authentifikation (2FA) hat sicher jeder schonmal gehört und viele nutzen dies auch beispielsweise bei der Anmeldung an einer Börse oder anderen Online-Diensten.

2FA lässt sich Prinzipiell durch mehrere Möglichkeiten realisieren.
Ziel ist es Zwei der folgenden Verfahren zu kombinieren:

  • Authentifikation durch Wissen
  • Authentifikation durch Besitztum
  • Authentifikation durch biometrische Eigenschaften

Eine sehr verbreitete Variante ist die Nutzung des Smartphones in Kombination mit einem Einmalpasswort.
Hierbei wird der Faktor Wissen (Passwort) mit der des Besitztums (Smartphone) kombiniert.
In diesem Artikel möchte ich diese Funktionsweise erläutern.



Quelle

Was ist ein Einmalpasswort

Ein Einmalpasswort (OTP) ist ein - wie der name schon sagt - Passwort, welches man nur einmal benutzen kann. Meist wird dies als zweiter Faktor für die Anmeldung oder Durchführung weiterer Transaktionen genutzt.

Prinzipiell gibt es zwei verschiedene Arten:

Kennwortliste

Wer vor ein paar Jahren Online-Banking gemacht hat, kennt die Liste der TAN's. Bei einer Überweisung muss nun eine TAN mit einer bestimmten Nummer angegeben werden, um zu beweisen, dass man im Besitzt des zweiten Faktors (Tanliste) ist.

Passwortgeneratoren

Bei Passwortgeneratoren werden die entsprechenden Passwörter dynamisch generiert. Hierbei unterscheidet man zwischen:

  • Challenge-Response gesteuerten Verfahren
  • Ereignis gesteuerten Verfahren
  • Zeit gesteuerten Verfahren

Auf die Challenge-Response Verfahren möchte ich in einem seperaten Artikel genauer eingehen.
In diesem Beitrag möchte ich mich auf die zeitgesteuerten Verfahren beschränken. Oftmals wird hierzu das so genannte TOTP Verfahren genutzt, auf welches ich im Folgenden näher eingehen möchte.

Was ist TOTP

Mit dem Time-based One-Time Password Algorithmus lässt sich ein meist 30 sekündiges Einmalpasswort erstellen.

Die Funktionsweise lässt sich wie folgt vereinfacht ausdrücken:

  • Sender und Empfänger vereinbaren einen privaten Schlüssel
  • Aus diesem Schlüssel + Uhrzeit wird ein Hash gebildet (Zur Synchronisation der Zeit wird das NTP-Protokoll genutzt, die Zeit auf Sekunden gekürtzt)
  • Das Einmalkennwort berechnet sich durch den gekürzten Hash nach einer Modulo Operation

Je nach Art der Modulo Funktion entsteht ein 6- oder 8-stelliges Kennwort

Authy vs. Google Authenticator



Quelle

Der Authenticator von Google ist die wohl bekannteste mobile Applikation, die eine 2FA Authentifizierung mithilfe des TOTP ermöglicht. Eine weitere nicht ganz so verbreitete Anwendung ist Authy.

Google Authenticator kann nur auf einem Gerät installiert werden.
Im Falle des Verlustes des Gerätes muss beim Google Authenticator jeder Dienst erneut aufgesetzt werden.

Beim Einrichten der 2FA Methode wird für jeden Dienst ein spezifischer Wiederherstellungscode generiert, der auch gut gesichert werden sollte. Bei der Neuinstallation auf einem anderen Gerät muss nun jeder Dienst manuell mithilfe dieses Codes neu hinzugefügt werden.
Dies führt zu einem hohen Aufwand die jeweiligen Codes zu sichern (was sich unter Umständen negativ auf die Sicherheit auswirkt). Abhängig von der Menge der genutzten Dienste ist es zudem sehr aufwendig und zeitintensiv alles wiederherzustellen.

Authy dagegen ermöglicht es ein Backup zu erstellen, dieses zu verschlüsseln und in der Cloud abzulegen.
Beim Verlust eines Gerätes kann weiterhin von einem anderen Gerät zugegriffen werden (sofern man dies so eingestellt hat).

Wer also Authenticator bei vielen Diensten nutzt sollte sich Authy zumindest einmal angesehen haben.



Quellen und weiterführende Links

https://de.wikipedia.org/wiki/Time-based_One-time_Password_Algorithmus
https://authy.com/
https://authy.com/blog/how-the-authy-two-factor-backups-work/


Vielen Dank fürs Lesen !

Sort:  

Ich benutze andOTP, was auch eine ganz gute Backup bzw. Import- und Exportfunktion besitzt.

Kannte den Unterschied zwischen Authy und Google Authenticator noch nicht. Danke!

Für iOS Geräte kann ich auch „OTP Auth“ sehr empfehlen. Man kann ebenfalls backups erstellen und auch in die icloud sichern (wenn man mag). Die App wird auch gut gepflegt.

"OTP Auth" habe ich noch nicht gehört - werde es mir mal anschauen.
Danke für den Hinweis !

Werde Authy auf jeden Fall ausprobieren! :)

Ich benutze inzwischen überall, wo es möglich ist, 2FA. Dadurch wird die Sicherheit des Accounts wesentlich erhöht und der Mehraufwand, den man beim Einloggen hat, ist, dadurch dass man das Smartphone immer dabei hat, sehr gering.
Ich habe mir noch nie darüber Gedanken gemacht, wie ich den Stand des Google Authenticators sichern könnte.. Klar habe ich mir die Recovery Codes für jeden Account gespeichert, aber nun werde ich mir mal Authy anschauen, denn so ein Backup ist ganz nützlich und bequem.

Schöner Beitrag, vielleicht kannst du ja auch mal ein Beitrag zu Enpass machen (sonst mache ich das ^^), das ist ein sehr guter Passwort-Manager der die Daten verschlüsselt in die eigene Cloud ablegen kann (GDrive, Dropbox oder Zuhause via WebDAV). Und damit multi-device tauglich ist. Natürlich kann er auch TOTP ^^

Ich hab tatsächlich diesen Algo erfunden aber leider war ich zu späht. Die Idee war wohl zu offensichtlich. :) Ich wollte mal eine Artikel dazu schreiben, das wäre aber nun doppelt gemoppelt. (: SG