HOTP

HOTP (HMAC-based One-Time Password, RFC 4226) je čítačový protějšek TOTP. Zatímco TOTP postupuje na hodinách, HOTP postupuje na sdíleném čítači, který token i server navyšují s každým použitým kódem.

Canonical spec:RFC 4226, HOTP: An HMAC-Based One-Time Password Algorithm (2005).
URI scheme:Google Authenticator Key URI Format, the otpauth:// scheme every authenticator agrees on.
Sibling spec:TOTP (RFC 6238), time-based variant that builds on HOTP.

Co to je

QR pro registraci HOTP je URL ve schématu otpauth:// s hotp jako typem. Nese sdílený tajný klíč HMAC plus hodnotu čítače, kterou obě strany musí udržovat v synchronizaci. Formát:

otpauth://hotp/LABEL?secret=SECRET&issuer=ISSUER&counter=N&digits=N&algorithm=ALG

HOTP vs TOTP, kdy použít který

VlastnostHOTP (RFC 4226)TOTP (RFC 6238)
Postupuje naČítači (každé úspěšné použití)Hodinách (každých 30 s)
Vyžaduje synchronizaci hodinNeAno, v rozsahu ~30 s odchylky
Resync při driftuServer přijímá dalších N hodnot čítačeServer přijímá okno ±1
Typické nasazeníYubiKey, starší hardwarové tokeny, offline bankovnictvíVeškeré spotřebitelské 2FA, Google, Microsoft, 1Password, Authy
Opětovné použití čítačeKatastrofální, časem prozrazuje tajný klíčN/A
Zranitelnost při úniku tajného klíčeVšechny budoucí kódy předvídatelnéVšechny minulé + budoucí kódy předvídatelné

Kanonické testovací vektory

RFC 4226 Příloha D poskytuje referenční hodnoty HOTP pro tajný klíč 12345678901234567890 (20 bajtů, Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) s 6ciferným výstupem:

CounterHOTP (6-digit)
0755224
1287082
2359152
3969429
4338314
5254676
6287922
7162583
8399871
9520489

Minimální QR payload pro registraci na čítači 0:

otpauth://hotp/Example:test?secret=GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ&issuer=Example&counter=0

Živý validátor Base32 tajného klíče

Stejný validátor jako na stránce TOTP, HOTP tajné klíče používají stejnou abecedu Base32 (RFC 4648 §6: A-Z, 2-7). Běží ve vašem prohlížeči, bez serverového přenosu.

Zadejte tajný klíč pro ověření.

Časté problémy

Kompatibilita autentizátoru

Aplikace / TokenHOTPSHA256/5128 číslicPoznámky
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP je kanonický režim YubiKey OATH. Plná podpora RFC 4226.
Google AuthenticatorYesIgnorováno (pouze SHA1)Ignorováno (pouze 6)De facto základ. Bezpečné pro HOTP, ale pouze 6ciferné SHA1.
1PasswordYesYesYesPlná podpora RFC. Čítač je uložen a exportován s položkou.
BitwardenYesYesYesPlná podpora RFC.
Microsoft AuthenticatorYesYesYesPlná podpora RFC.
AuthyNo,,Dropped HOTP v posledních verzích. Pouze TOTP.
Duo MobileNo,,Používá vlastní push flow; záložní TOTP.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesKanonický trh hardwarového HOTP; vždy 6ciferné SHA1, pokud datasheet neuvádí jinak.

Viz také

Spec references verified 2026-04-19. RFC 4226 (2005), Google Key URI Format.