HOTP

HOTP (HMAC-based One-Time Password, RFC 4226) on TOTP:n laskuripohjainen sisarus. Siinä missä TOTP etenee kellolla, HOTP etenee jaetulla laskurilla, jota sekä token että palvelin kasvattavat jokaisen käytetyn koodin myötä.

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.

Mitä se on

HOTP-rekisteröinti-QR on URL otpauth://-skeemassa, jossa tyyppi on hotp. Se sisältää jaetun HMAC-salaisuuden sekä laskuriarvon, jonka molemmat osapuolet on pidettävä synkronoituna. Muoto:

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

HOTP vs TOTP, milloin käyttää kumpaa

OminaisuusHOTP (RFC 4226)TOTP (RFC 6238)
EteneeLaskurilla (jokainen käyttökerta)Kellolla (30 s välein)
Vaatii kellon synkronoinninEiKyllä, ~30 s drift sallittu
Resync driftissäPalvelin hyväksyy seuraavat N laskuriarvotPalvelin hyväksyy ±1 ikkunan
Tyypillinen käyttöYubiKey, vanhat laitetokenit, offline-pankkiasiointiKaikki kuluttaja-2FA, Google, Microsoft, 1Password, Authy
Laskurin uudelleenkäyttöKatastrofaalinen, vuotaa salaisuuden ajan myötäEi sovellettavissa
Haavoittuvuus salaisuuden vuotaessaKaikki tulevat koodit ennustettavissaKaikki menneet + tulevat koodit ennustettavissa

Kanononiset testivektorit

RFC 4226 Liite D tarjoaa referenssi-HOTP-arvot salaisuudelle 12345678901234567890 (20 tavua, Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) 6-numeroisella tulostuksella:

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

Minimaalinen QR-hyötykuorma rekisteröintiin laskurilla 0:

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

Reaaliaikainen Base32-salaisuusvalidaattori

Sama validaattori kuin TOTP-sivulla, HOTP-salaisuudet käyttävät samaa Base32-aakkostoa (RFC 4648 §6: A-Z, 2-7). Toimii selaimessasi, ei palvelinkierrosta.

Syötä salaisuus validoidaksesi.

Yleisiä sudenkuoppia

Todennussovelluksen yhteensopivuus

Sovellus / TokenHOTPSHA256/5128-numeroinenMuistiinpanot
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP on kanoninen YubiKey OATH -tila. Täysi RFC 4226 -tuki.
Google AuthenticatorYesOhitettu (vain SHA1)Ohitettu (vain 6)De facto -perustaso. Turvallinen HOTP:lle mutta vain 6-numeroisella SHA1:llä.
1PasswordYesYesYesTäysi RFC-tuki. Laskuri tallennetaan ja viedään merkinnän kanssa.
BitwardenYesYesYesTäysi RFC-tuki.
Microsoft AuthenticatorYesYesYesTäysi RFC-tuki.
AuthyNo,,Pudotti HOTP:n uusimmissa versioissa. Vain TOTP.
Duo MobileNo,,Käyttää omaa push-virtaustaan; vain TOTP varmuustilana.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesKanoninen laite-HOTP-markkina; aina 6-numeroinen SHA1, ellei tiedoissa sanota muuta.

Katso myös

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