Was ist der Unterschied zwischen OTP, TOTP und HOTP?

4 Min. Lesezeit

Den sicheren Zugriff auf Anwendungen und Cloud-Software zu gewährleisten, ist für Unternehmen aller Branchen eine ständige Herausforderung. Den Nutzern eine einfache, aber zuverlässige Sicherheit zu bieten, ist entscheidend für den Schutz von Nutzerinformationen und sensiblen Unternehmensdaten.

Technologieunternehmen gehen gegen Passwortdiebstahl und andere Arten von Cyberangriffen unter anderem mit Einmalpasswörtern (OTPs) vor. Das OTP ist eine Form der Multi-Faktor-Authentifizierung (MFA), die Hackern den Zugriff auf geschützte Informationen deutlich erschweren soll.

MFA-Verfahren verlangen über das einfache Passwort hinaus weitere Anmeldedaten, bevor der Endnutzer auf eine Anwendung oder ein System zugreifen kann. Eine SMS-basierte MFA sendet dem Nutzer zum Beispiel eine Nachricht mit einer Ziffernfolge, die er eingeben muss, bevor er Zugriff erhält. Dieser Code ist eine Art OTP.

Sowohl B2B- als auch B2C-Unternehmen haben ein Interesse daran, Nutzer- und Unternehmensdaten zu schützen und dabei eine gute User Experience (UX) zu bewahren. Das bedeutet: Welche Sicherheitslösung sie auch wählen, sie muss schlank sein und darf nicht drastisch in die Arbeitsabläufe der Nutzer eingreifen.

Die OTP-Authentifizierung ist eine elegante Lösung sowohl für Sicherheitsbedenken als auch für die UX. Es gibt zwei Arten von OTP: HOTP und TOTP. Im Folgenden stellen wir die Unterschiede zwischen den beiden Typen vor. Zuvor sehen wir uns das OTP aber etwas genauer an.

Was ist ein OTP und wie funktioniert es?

Ein OTP ist wie ein Passwort, kann aber nur einmal verwendet werden; daher auch der Name: One-Time Password, also Einmalpasswort. Es wird häufig in Kombination mit einem herkömmlichen Passwort als zusätzlicher Authentifizierungsmechanismus eingesetzt, der für mehr Sicherheit sorgt.

Ein OTP ist genau das, wonach es klingt: einmal und fertig. Sobald Sie das Passwort verwendet haben, ist es verbraucht, und wenn Sie das nächste Mal auf die Anwendung zugreifen müssen, benötigen Sie ein neues. Das erhöht die Sicherheit und macht es Angreifern deutlich schwerer, in private Konten einzudringen.

Nutzer erhalten das OTP einer Anwendung oder Website über Smartphone-Apps, per SMS oder über einen eigenen Token (zum Beispiel einen Schlüsselanhänger). OneLogin Protect ist ein Beispiel für einen OTP-Generator, den Sie als App auf Ihrem Telefon nutzen können. Jedes Mal, wenn Sie per SMS einen Code erhalten, mit dem Sie sich bei einer Website oder App anmelden, verwenden Sie ein OTP.

Es gibt zahlreiche branchenübliche Algorithmen zur Erzeugung von OTPs, zum Beispiel SHA-1. Jeder Algorithmus verwendet zwei Eingaben, um den OTP-Code zu erzeugen: einen Seed und einen beweglichen Faktor. Der Seed ist ein statischer Wert (geheimer Schlüssel), der entsteht, wenn Sie auf dem Authentifizierungsserver ein neues Konto anlegen.

Während sich der Seed nicht ändert, ändert sich der bewegliche Faktor jedes Mal, wenn ein neues OTP angefordert wird. Die Art und Weise, wie der bewegliche Faktor erzeugt wird, ist der große Unterschied zwischen HOTP und TOTP.

Was ist HOTP?

Das „H“ in HOTP steht für Hash-based Message Authentication Code (HMAC). Der HMAC-basierte Einmalpasswort-Algorithmus (HOTP) ist, einfach ausgedrückt, ein ereignisbasiertes OTP, bei dem der bewegliche Faktor jedes Codes auf einem Zähler beruht.

Jedes Mal, wenn ein HOTP angefordert und validiert wird, wird der bewegliche Faktor anhand des Zählers erhöht. Der erzeugte Code bleibt gültig, bis Sie aktiv einen neuen anfordern und dieser vom Authentifizierungsserver validiert wird. OTP-Generator und Server werden bei jeder Validierung eines Codes synchronisiert, und der Nutzer erhält Zugriff. Der YubiKey von Yubico ist ein Beispiel für einen OTP-Generator, der HOTP verwendet.

Was ist TOTP?

Das zeitbasierte Einmalpasswort (Time-based One-Time Password, TOTP) ist ein zeitbasiertes OTP. Der Seed des TOTP ist wie beim HOTP statisch, der bewegliche Faktor ist beim TOTP jedoch zeitbasiert und nicht zählerbasiert.

Der Zeitraum, in dem ein Passwort gültig ist, wird als Zeitschritt bezeichnet. Zeitschritte sind in der Regel 30 oder 60 Sekunden lang. Wenn Sie Ihr Passwort in diesem Zeitfenster nicht verwendet haben, ist es nicht mehr gültig, und Sie müssen ein neues anfordern, um auf die Anwendung zuzugreifen.

Video: HOTP vs TOTP - what are the differences? Which one is better? (2FAS - Authenticator and Password Manager, auf Englisch)

Einschränkungen und Vorteile

Beide Verfahren sind zwar deutlich sicherer als ganz ohne MFA, doch sowohl HOTP als auch TOTP haben Grenzen und Vorteile. TOTP (die neuere der beiden Technologien) ist einfach zu nutzen und umzusetzen, durch das zeitbasierte Element kann es aber zu einer Zeitverschiebung kommen (der Verzögerung zwischen Erzeugung und Verwendung des Passworts). Gibt der Nutzer das TOTP nicht sofort ein, kann es ablaufen, bevor er dazu kommt. Der Server muss dies also berücksichtigen und es dem Nutzer leicht machen, es erneut zu versuchen, ohne ihn automatisch auszusperren.

Da HOTP keine zeitliche Begrenzung hat, ist es etwas benutzerfreundlicher, kann aber anfälliger für Brute-Force-Angriffe sein. Der Grund ist das potenziell längere Zeitfenster, in dem ein HOTP gültig sein kann. Manche HOTP-Varianten begegnen dieser Schwachstelle, indem sie ihrem Code eine zeitbasierte Komponente hinzufügen, wodurch die Grenzen zwischen den beiden OTP-Arten etwas verschwimmen.

Zusammenfassung

Unabhängig davon, welchen OTP-Typ Sie verwenden: Ein OTP-Generator wie eine Authentifizierungs-App oder ein Schlüsselanhänger ist eine sicherere Art der MFA als SMS-basierte Optionen. Betrüger haben kreative Methoden gefunden, um diese SMS-Codes abzufangen, sei es durch SIM-Swapping oder andere Arten von Hacking, mit denen sie Zugriff auf Ihre SMS erhalten. SMS-basierte MFA mag besser sein als gar keine MFA, ist aber deutlich weniger sicher als eine Authentifizierungs-App auf Ihrem Telefon oder ein Codegenerator am Schlüsselanhänger.

Zurück zum Blog