HOTP

HOTP (HMAC-based One-Time Password, RFC 4226) är TOTP:s räknarbaserade syskon. Där TOTP fortskrider på en klocka, fortskrider HOTP på en delad räknare som både token och server ökar med varje använd kod.

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.

Vad det är

En HOTP-registrerings-QR är en URL i otpauth://-schemat med hotp som typ. Den innehåller den delade HMAC-hemligheten plus ett räknarvärde som båda sidor måste hålla synkroniserat. Format:

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

HOTP vs TOTP, när används vilken

EgenskapHOTP (RFC 4226)TOTP (RFC 6238)
Fortskrider påRäknaren (varje lyckad användning)Klockan (var 30:e s)
Kräver klocksynkroniseringNejJa, inom ~30 s drift
Resync vid driftServer accepterar nästa N räknarvärdenServer accepterar ±1 fönster
Typisk driftsättningYubiKey, äldre hårdvarutokens, offline-bankingAll konsument-2FA, Google, Microsoft, 1Password, Authy
RäknaråteranvändningKatastrofalt, läcker hemligheten med tidenEj tillämpbart
Sårbarhet vid hemlighetsleakAlla framtida koder förutsägbaraAlla tidigare + framtida koder förutsägbara

Kanoniska testvektorer

RFC 4226 Bilaga D ger referens-HOTP-värden för hemligheten 12345678901234567890 (20 byte, Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) med 6-siffrig utdata:

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

Minimal QR-nyttolast för registrering vid räknare 0:

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

Live Base32-hemlighetvalidator

Samma validator som TOTP-sidan, HOTP-hemligheter använder det identiska Base32-alfabetet (RFC 4648 §6: A-Z, 2-7). Kör i webbläsaren, ingen serverrundtur.

Ange en hemlighet för att validera.

Vanliga fallgropar

Autentiseringskompatibilitet

App / TokenHOTPSHA256/5128-siffrigtAnteckningar
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP är det kanoniska YubiKey OATH-läget. Full RFC 4226-stöd.
Google AuthenticatorYesIgnoreras (endast SHA1)Ignoreras (endast 6)De facto-baslinjen. Säker för HOTP men bara med 6-siffrigt SHA1.
1PasswordYesYesYesFull RFC-stöd. Räknare lagras och exporteras med posten.
BitwardenYesYesYesFull RFC-stöd.
Microsoft AuthenticatorYesYesYesFull RFC-stöd.
AuthyNo,,Tog bort HOTP i senaste versioner. Endast TOTP.
Duo MobileNo,,Använder sitt eget push-flöde; endast TOTP som reserv.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesKanonisk hårdvaru-HOTP-marknad; alltid 6-siffrigt SHA1 om inte databladet säger annat.

Se även

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