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 |
Tipps
- 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.
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.