HOTP

HOTP (HMAC-based One-Time Password, RFC 4226), TOTP'nin sayaç tabanlı kardeşidir. TOTP bir saate göre ilerlerken, HOTP her kullanılan kodla hem token hem de sunucunun artırdığı paylaşılan bir sayaca göre ilerler.

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.

Nedir

HOTP kayıt QR'ı, otpauth:// şemasında hotp tipinde bir URL'dir. Paylaşılan HMAC sırrını ve her iki tarafın senkronize tutması gereken bir sayaç değerini taşır. Format:

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

HOTP vs TOTP, hangisini ne zaman kullanmalı

ÖzellikHOTP (RFC 4226)TOTP (RFC 6238)
İlerlerSayaç (her başarılı kullanım)Saat (her 30 saniye)
Saat senkronizasyonu gerektirirHayırEvet, ~30 s kayma içinde
Kaymada yeniden senkronizasyonSunucu sonraki N sayaç değerini kabul ederSunucu ±1 pencereyi kabul eder
Tipik kullanımYubiKey, eski donanım tokenları, çevrimdışı bankacılıkTüm tüketici 2FA, Google, Microsoft, 1Password, Authy
Sayaç yeniden kullanımıFelaket, zamanla sırrı sızdırırGeçerli değil
Sır sızdığında güvenlik açığıGelecekteki tüm kodlar tahmin edilebilirTüm geçmiş + gelecek kodlar tahmin edilebilir

Kanonik test vektörleri

RFC 4226 Ek D, 6 haneli çıktıyla 12345678901234567890 sırrı (20 bayt, Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) için referans HOTP değerleri sağlar:

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

Sayaç 0'da kayıt için minimal QR yükü:

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

Canlı Base32 sır doğrulayıcı

TOTP sayfasıyla aynı doğrulayıcı, HOTP sırları aynı Base32 alfabesini kullanır (RFC 4648 §6: A-Z, 2-7). Tarayıcınızda çalışır, sunucu gidiş-gelişi yok.

Doğrulamak için bir sır girin.

Yaygın hatalar

Kimlik doğrulayıcı uyumluluğu

Uygulama / TokenHOTPSHA256/5128 haneliNotlar
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP, kanonik YubiKey OATH modudur. Tam RFC 4226 desteği.
Google AuthenticatorYesGörmezden gelindi (yalnızca SHA1)Görmezden gelindi (yalnızca 6)De facto temel. HOTP için güvenli ama yalnızca 6 haneli SHA1 ile.
1PasswordYesYesYesTam RFC desteği. Sayaç girişle birlikte saklanır ve dışa aktarılır.
BitwardenYesYesYesTam RFC desteği.
Microsoft AuthenticatorYesYesYesTam RFC desteği.
AuthyNo,,Son sürümlerde HOTP'yi kaldırdı. Yalnızca TOTP.
Duo MobileNo,,Kendi push akışını kullanır; yalnızca TOTP yedek olarak.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesKanonik donanım HOTP pazarı; veri sayfası aksi belirtmedikçe her zaman 6 haneli SHA1.

Ayrıca bakınız

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