TOTP (Einmalpasswort) Generator
Generiert aus einem Base32-TOTP-Geheimnis dasselbe 6-stellige Einmalpasswort (RFC 6238) wie Google Authenticator und ähnliche Apps – vollständig in Ihrem Browser. Ihr Geheimnis wird niemals übertragen.
Über den TOTP-Algorithmus
TOTP (Time-based One-Time Password) ist ein zeitbasierter Einmalpasswort-Algorithmus, der in RFC 6238 definiert ist. Er wandelt ein gemeinsames Geheimnis und die aktuelle Zeit in einen Zähler um, der sich in festen Intervallen erhöht, und leitet daraus mit demselben dynamischen Trunkierungsalgorithmus wie HOTP (RFC 4226) einen numerischen Code ab.
| HMAC-Algorithmus | Auswahl zwischen SHA-1 (Standard), SHA-256 oder SHA-512 |
|---|---|
| Codelänge | 6 Ziffern (dieselbe Standardlänge, die Google Authenticator und die meisten gängigen 2FA-Apps verwenden) |
| Aktualisierungsintervall | Alle 30 Sekunden wird ein neuer Code generiert |
Was ein TOTP-Code ist
Ein TOTP (Time-based One-Time Password) ist der sechsstellige Code, der sich alle dreißig Sekunden erneuert und in der Zwei-Faktor-Authentifizierung eine zweite Prüfung zusätzlich zu Benutzername und Kennwort liefert. Berechnet wird er aus einem zuvor hinterlegten gemeinsamen Schlüssel, dem Secret, verbunden mit der aktuellen Uhrzeit – deshalb kommen der Server und die App in Ihrer Hand auf denselben Code, ohne miteinander zu sprechen. Google Authenticator, Microsoft Authenticator, Authy und die übrigen großen Apps folgen alle demselben Standard, RFC 6238.
Fügen Sie den Einrichtungsschlüssel ein, der bei der Anmeldung zur Zwei-Faktor-Authentifizierung unter dem QR-Code steht – das Secret im Base32-Format –, und dieses Werkzeug erzeugt vollständig im Browser denselben sechsstelligen Code, den Ihre App anzeigen würde. Das Dekodieren des Base32-Secrets und die HMAC-Berechnung laufen über die Web Crypto API; nichts wird an einen Server gesendet. Nützlich beim erneuten Einrichten einer App, beim Gegenprüfen eines Codes oder beim Abgleich über mehrere Geräte.
So erzeugen Sie einen Code
- Secret eingeben Fügen Sie den bei der Anmeldung ausgegebenen Base32-Einrichtungsschlüssel (etwa JBSWY3DPEHPK3PXP) in das Feld für das Secret ein.
- Hash-Verfahren prüfen Die meisten Dienste verwenden SHA-1. Stimmt der Code nicht überein, wechseln Sie versuchsweise zu SHA-256 oder SHA-512.
- Den sechsstelligen Code ablesen Der zum aktuellen Zeitpunkt passende Code wird während der Eingabe berechnet und mit einem Fortschrittsbalken für die verbleibenden Sekunden angezeigt.
- Bei Bedarf kopieren Die Kopierschaltfläche legt den Code in die Zwischenablage. Vermeiden Sie die letzten Augenblicke vor dem Wechsel.
Tipps für die Nutzung
- Das Geheimnis ist die Zeichenfolge des „Setup-Schlüssels“, die bei der Ersteinrichtung der Zwei-Faktor-Authentifizierung (2FA) unter dem QR-Code angezeigt wird. Wenn Sie es bereits in einer Authenticator-App auf Ihrem Smartphone hinterlegt haben, können Sie dasselbe Geheimnis hier eingeben, um den Code gegenzuprüfen.
- Manche Dienste verwenden statt SHA-1 einen anderen Hash-Algorithmus (SHA-256 oder SHA-512). Stimmt der generierte Code nicht mit Ihrer App überein, versuchen Sie, den Algorithmus zu wechseln.
- Der Code wird automatisch alle 30 Sekunden aktualisiert; ein Fortschrittsbalken zeigt die verbleibende Zeit an. Kopieren Sie einen Code kurz vor Ablauf mit Vorsicht, da er ungültig werden kann, bevor er beim Zieldienst ankommt.
- Beim Schließen dieses Browser-Tabs wird das Geheimnis vollständig verworfen und nirgendwo gespeichert. Möchten Sie es als Backup aufbewahren, speichern Sie das Geheimnis selbst an einem sicheren Ort, etwa in einem Passwort-Manager.
Wofür sich der Generator eignet
Eine Authenticator-App prüfen oder umziehen
Bevor Sie das Gerät wechseln und neu einrichten, können Sie hier bestätigen, dass das gesicherte Secret stimmt – ohne es erst auf dem neuen Telefon herauszufinden.
Anmeldungen in der Entwicklungsumgebung testen
Wenn Sie dem eigenen Dienst Zwei-Faktor-Authentifizierung hinzufügen, erzeugen Sie aus dem Secret eines Testkontos jederzeit Codes, um die Authentifizierungslogik zu prüfen.
Ein gesichertes Secret überprüfen
Bestätigen Sie rasch, dass ein im Passwortmanager abgelegtes Secret weiterhin funktioniert, ohne die App auf dem Telefon zu öffnen.
Die Kontosicherheit insgesamt stärken
Wenn Sie auch die Stärke des Kennworts selbst überdenken möchten, lohnt ein Blick auf den Passwortgenerator und den Generator für einprägsame Passphrasen.
Die zugrunde liegende Hash-Berechnung erkunden
Wenn Sie HMAC und Hash-Funktionen hinter TOTP interessieren, zeigt der SHA-256-Hashrechner den Baustein für sich genommen.
Begriffe rund um TOTP
- TOTP (Time-based One-Time Password)
- Ein Verfahren (RFC 6238), das ein Einmalkennwort aus einem von der aktuellen Uhrzeit abgeleiteten Zähler erzeugt. Der Code wechselt automatisch in festem Takt, üblicherweise alle dreißig Sekunden.
- HOTP (HMAC-based One-Time Password)
- Der ältere Standard (RFC 4226), auf dem TOTP aufbaut. Statt der Uhr nutzt er einen Zähler, der sich mit jeder Verwendung um eins erhöht.
- Secret (gemeinsamer Schlüssel)
- Der geheime Schlüssel, den Dienst und Authenticator-App beide vorhalten. Er wird bei der Anmeldung als Base32-Zeichenkette ausgegeben; aus ihm und der Uhrzeit entsteht der Code.
- Zwei-Faktor-Authentifizierung (2FA)
- Ein Anmeldeverfahren, das Wissen – das Kennwort – mit Besitz verbindet, meist einer Authenticator-App auf dem Telefon. Selbst wenn eines davon abfließt, bleibt unbefugter Zugriff deutlich schwerer.
- Zeitschritt
- Der Takt, in dem ein TOTP-Code wechselt. RFC 6238 gibt dreißig Sekunden als Vorgabe vor, und die meisten Dienste und Apps übernehmen diesen Wert unverändert.
- Base32
- Eine Kodierung, die eine Bytefolge allein mit den 32 Zeichen A–Z und 2–7 darstellt. TOTP-Secrets werden in dieser Form verteilt, weil sie sich gut lesen und abschreiben lässt.
- Dynamische Kürzung
- Der Schritt, der aus der langen HMAC-Ausgabe nach fester Regel vier Bytes entnimmt und in eine sechsstellige Zahl umwandelt. Er ist in RFC 4226 definiert und HOTP wie TOTP gemeinsam.
Häufig gestellte Fragen
Übrigens – Warum sich Zwei-Faktor-Codes auf 6 Ziffern eingependelt haben
OATH (die Initiative for Open Authentication), die die TOTP-Spezifikation (RFC 6238) entworfen hat, übernahm einfach den dynamischen Trunkierungsalgorithmus von HOTP (RFC 4226) und überließ die Codelänge der jeweiligen Implementierung. Dass sich sechs Ziffern als De-facto-Industriestandard durchgesetzt haben, liegt vor allem daran, dass Google Authenticator diese Länge in seiner ursprünglichen Implementierung von 2010 verwendete – viele weitere Dienste und Bibliotheken folgten diesem Beispiel.
Sechs Ziffern sind zudem ein idealer Kompromiss: Eine Million möglicher Kombinationen (10^6) machen in Verbindung mit dem kurzen 30-Sekunden-Gültigkeitsfenster Brute-Force-Angriffe praktisch unmöglich, während eine längere Zahl für Menschen unpraktisch zu merken und einzutippen wäre. Dass auch die meisten SMS-Bestätigungscodes 6-stellig sind, ist kein Zufall – die Branche hat sich für diese Art „kurzlebiger, einmal verwendbarer Zifferncode“ auf diese Länge geeinigt.
Der Vorgänger von TOTP, HOTP (RFC 4226, 2005), verwendete einen Zähler, der bei jeder Codeverwendung um eins erhöht werden musste. In der Praxis führte dies häufig zu Synchronisationsproblemen – etwa wenn Nutzer vergaßen, eine Taste zu drücken, oder die Zähler von Gerät und Server auseinanderliefen. Das 2011 standardisierte TOTP ersetzte den Zähler durch die aktuelle Uhrzeit, einen Referenzwert, auf den sich alle einigen können, und vereinfachte den Betrieb dadurch erheblich.