HomeBlogOTP-Code: Was ist das, wie funktioniert er und warum ist er sicher?
API-Einblicke

OTP-Code: Was ist das, wie funktioniert er und warum ist er sicher?

Einmalpasswörter (OTP): Was sind sie, wie werden sie generiert und warum sind sie für die Online-Sicherheit so wichtig?

OTP

Der OTP-Code ist ein einmal verwendbares Passwort, das zufällig generiert wird und zusammen mit einem anderen Passwort bei der Zwei-Faktor-Authentifizierung verwendet wird, um die Sicherheit von Online-Diensten zu erhöhen.

Das OTP kann auf einem Display erscheinen, das sich regelmäßig aktualisiert, oder dem Benutzer per SMS, E-Mail oder speziellen Apps übermittelt werden. In jedem Fall kann der OTP-Code nur für eine einzelne Aktion verwendet werden, danach wird er unbrauchbar.

Was ist der OTP-Code?

Das OTP (one-time password) ist ein Einmal-Passwort, das verwendet werden kann, um auf IT-Plattformen zuzugreifen, die eigene Identität zu überprüfen und verschiedene Online-Operationen zu autorisieren, von der Registrierung eines neuen Kontos bis hin zur Ausführung einer Überweisung über Home-Banking.

Auch bekannt als OTAC (one-time authorization code) ist der OTP-Code eine zufällige Zahlenkombination, die die Einschränkungen von „statischen“ Passwörtern überwindet, die traditionell verschiedenen Arten von Cyberangriffen ausgesetzt sind.

Der OTP-Code wird häufig zusammen mit einem anderen Passwort verwendet und ist ein grundlegender Bestandteil der sogenannten Zwei-Faktor-Authentifizierung (2FA). Das klassische Beispiel ist der Zugang zu einem Online-Dienst, bei dem nach Eingabe von Benutzername und Passwort ein OTP eingegeben werden muss, das per SMS, E-Mail oder App auf dem Smartphone empfangen wurde.

Das OTP, das nur einmal verwendet werden kann und oft eine begrenzte Gültigkeit hat, stellt sicher, dass die Operation von der Person durchgeführt wird, die ein bestimmtes Gerät besitzt (physisches Token oder Smartphone, auf dem das OTP empfangen wird) oder bestimmte Informationen kennt, wie einen PIN-Code.

Wie funktioniert der OTP-Code?

Damit es sicher ist, muss der OTP-Code unmöglich zu erraten oder abzuleiten sein, weshalb es sich immer um eine zufällige, meist numerische Sequenz handelt, die über sichere Kanäle wie SMS oder Tokens übermittelt wird.

Aber wie wird ein Einmal-Code generiert? Einfach ausgedrückt ist der OTP-Code die „Zusammenfassung“ einer längeren Reihe von Berechnungen, die im Wesentlichen auf zwei Eingabedaten basieren: die erste ist immer ein geheimer Schlüssel, der zwischen Server und Benutzer geteilt wird (Zugangsdaten, PIN usw.), die zweite kann variieren.

Die OTP-Generierungsalgorithmen können auf dem vorherigen Passwort, der Synchronisation zwischen Authentifizierungsserver und Benutzergerät (und damit der Zeit) oder einfach auf einer Zufallszahl basieren.

In jedem Fall sind Einmal-Passwörter das Ergebnis komplexer, nicht umkehrbarer Algorithmen, d. h. es ist unmöglich, die ursprüngliche Eingabe aus der Ausgabe zu rekonstruieren. Wenn wir einen OTP-Code verwenden, um eine Aktion zu bestätigen oder auf einen Dienst zuzugreifen, der eine Zwei-Faktor-Authentifizierung erfordert, fügen wir also eine zusätzliche Sicherheitsebene hinzu, dank zwei wichtiger Elemente: der Zufälligkeit des Ergebnisses und der Komplexität der Berechnungen, die zu seiner Erstellung erforderlich sind.

TOTP und HOTP: was sie sind und Unterschiede

Wie erwähnt, wird das OTP aus zwei Eingabedaten generiert: einem geteilten geheimen Schlüssel und einem zweiten, variablen Faktor. Dieser zweite Faktor kann auf der zeitlichen Synchronisation von zwei Geräten, einem Zähler, der die Anzahl der Iterationen verfolgt, oder einer zufälligen Zahl basieren, die auf verschiedene Weise generiert werden kann.

Zusammengefasst sind die gängigsten Ansätze zur Generierung von OTP-Codes:

  • TOTP (Time-based One-Time Password): Dieser Algorithmus erfordert die Synchronisation zwischen Authentifizierungsserver und Benutzergerät, da er ständig OTPs erzeugt, die nur sehr kurze Zeit gültig sind, typischerweise 30 oder 60 Sekunden. Er kann mit physischen Tokens oder proprietären Apps (Soft Tokens) verwendet werden.

  • Challenge-response: Der Server erzeugt einen Zufallswert („Challenge“) und sendet ihn an den Benutzer, der mit dem geteilten geheimen Schlüssel und einem spezifischen Algorithmus eine eindeutige Antwort auf diese Anfrage erstellt. Wenn der Benutzer korrekt antwortet, wird die Authentifizierung erfolgreich durchgeführt. Dieser Mechanismus ist für den Endnutzer unsichtbar, sehr verbreitet und flexibel.

  • HOTP (Hash-based Message Authentication Code One-Time Password): Hier basieren die Passwörter auf einer zufälligen Zeichenkette, die durch eine nicht umkehrbare kryptografische Hash-Funktion in eine Zeichenkette fester Länge umgewandelt wird. Dieser Algorithmus verwendet einen geteilten geheimen Schlüssel und einen Ereigniszähler. Er ist ereignisgesteuert, das Passwort wird nach einer Benutzeraktion erzeugt und bleibt gültig, bis ein neuer Code erstellt wird. Ein neues OTP kann nach jeder Verwendung oder auf Benutzeranfrage generiert werden.

OTP via SMS, E-Mail oder physisches Token: was ist der Unterschied?

Der erzeugte OTP-Code kann dem Endbenutzer über verschiedene Kanäle übermittelt werden. TOTPs, die von der Gerätesynchronisation abhängen, können auf dedizierten Hardwaregeräten angezeigt werden oder über synchronisierbare Apps wie Google Authenticator.

Bei HOTPs genügt es, dass das Benutzergerät mit dem Serverzähler synchronisiert ist, der bei jeder Codegenerierung erhöht wird. OTPs, die über Hash erzeugt werden, können auch per SMS gesendet werden, aber physische Tokens und spezielle Smartphone-Apps werden bevorzugt.

Bei OTPs, die auf einer Zufallszahl basieren, erfolgt die Synchronisation über die spezifische Challenge (die sich bei jedem Zugriff ändert). Die Sicherheit beruht auf dem geteilten Geheimnis zwischen Server und Benutzer, wodurch die Passwörter per SMS, E-Mail oder anders gesendet werden können, ohne große Einschränkungen.

OTP: warum es für die Online-Sicherheit entscheidend ist

Obwohl sie minimalen Cyberangriffen ausgesetzt sind, werden Einmal-Passwörter immer häufiger eingesetzt. OTPs reduzieren deutlich das Risiko von kompromittierten Passwörtern und machen Online-Aktivitäten sicherer.

Da sie in Echtzeit über leicht zugängliche Kanäle übermittelt werden können, lassen sie sich auch einfach in bestehende Systeme integrieren.

Darüber hinaus sind sie für die Compliance unverzichtbar: Datenschutzbestimmungen wie die DSGVO verlangen robuste Authentifizierungsmechanismen zum Schutz sensibler Daten. OTP-Passwörter können daher verwendet werden, um die Einhaltung von Vorschriften bei sensiblen Operationen wie der digitalen Unterzeichnung eines Dokuments zu gewährleisten.

OTP-Code: Was ist das, wie funktioniert er und warum ist er sicher?
Teilen auf