HOTP

HOTP (HMAC-based One-Time Password, RFC 4226) is de teller-gebaseerde tegenhanger van TOTP. Waar TOTP op een klok vordert, vordert HOTP op een gedeelde teller die zowel de token als de server met elke gebruikte code verhogen.

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.

Wat het is

Een HOTP-inschrijvings-QR is een URL in het otpauth://-schema met hotp als type. Het bevat het gedeelde HMAC-geheim plus een tellerwaarde die beide partijen gesynchroniseerd moeten houden. Indeling:

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

HOTP vs TOTP, wanneer welke gebruiken

EigenschapHOTP (RFC 4226)TOTP (RFC 6238)
Vordert opTeller (elke succesvolle gebruik)Klok (elke 30 s)
Kloksynchronisatie vereistNeeJa, binnen ~30 s afwijking
Resync bij driftServer accepteert volgende N tellerwaardenServer accepteert ±1 venster
Typische inzetYubiKey, verouderde hardware-tokens, offline bankierenAlle consument-2FA, Google, Microsoft, 1Password, Authy
Teller hergebruikCatastrofaal, lekt geheim over tijdN.v.t.
Kwetsbaarheid bij geheimlekAlle toekomstige codes voorspelbaarAlle verleden + toekomstige codes voorspelbaar

Canonieke testvectoren

RFC 4226 Bijlage D levert referentie-HOTP-waarden voor het geheim 12345678901234567890 (20 bytes, Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) met 6-cijferige uitvoer:

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

Minimale QR-payload voor inschrijving bij teller 0:

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

Live Base32-geheimvalidator

Dezelfde validator als de TOTP-pagina, HOTP-geheimen gebruiken hetzelfde Base32-alfabet (RFC 4648 §6: A-Z, 2-7). Werkt in uw browser, geen serverrondrit.

Voer een geheim in om te valideren.

Veelvoorkomende valkuilen

Authenticatorcompatibiliteit

App / TokenHOTPSHA256/5128-cijferigOpmerkingen
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP is de canonieke YubiKey OATH-modus. Volledige RFC 4226-ondersteuning.
Google AuthenticatorYesGenegeerd (alleen SHA1)Genegeerd (alleen 6)De facto-basislijn. Veilig voor HOTP maar alleen met 6-cijferig SHA1.
1PasswordYesYesYesVolledige RFC-ondersteuning. Teller opgeslagen en geëxporteerd met invoer.
BitwardenYesYesYesVolledige RFC-ondersteuning.
Microsoft AuthenticatorYesYesYesVolledige RFC-ondersteuning.
AuthyNo,,HOTP verwijderd in recente versies. Alleen TOTP.
Duo MobileNo,,Gebruikt eigen push-flow; alleen TOTP als terugval.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesCanonieke hardware-HOTP-markt; altijd 6-cijferig SHA1 tenzij het datasheet anders vermeldt.

Zie ook

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