HOTP

HOTP (كلمة مرور لمرة واحدة مستندة إلى HMAC، RFC 4226) هو النظير المبني على العداد لـ TOTP. بينما يتقدم TOTP بالساعة، يتقدم HOTP بعداد مشترك يزيده كل من الرمز المميز والخادم مع كل رمز مستخدم.

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.

ما هو

رمز QR لتسجيل HOTP هو عنوان URL في مخطط otpauth:// مع hotp كنوع. يحمل المفتاح السري المشترك لـ HMAC بالإضافة إلى قيمة العداد التي يجب على الجانبين الحفاظ على تزامنها. التنسيق:

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

HOTP مقابل TOTP, متى تستخدم كلاً منهما

الخاصيةHOTP (RFC 4226)TOTP (RFC 6238)
يتقدم علىالعداد (كل استخدام ناجح)الساعة (كل 30 ث)
يتطلب تزامن الساعةلانعم, ضمن ~30 ث انجراف
إعادة المزامنة عند الانجرافالخادم يقبل قيم العداد الـ N التاليةالخادم يقبل ±1 نافذة
النشر النموذجيYubiKey، رموز الأجهزة القديمة، البنوك غير المتصلةكل 2FA للمستهلك, Google، Microsoft، 1Password، Authy
إعادة استخدام العدادكارثي, يسرب المفتاح بمرور الوقتغير قابل للتطبيق
الضعف عند تسرب المفتاحجميع الرموز المستقبلية قابلة للتنبؤجميع الرموز الماضية والمستقبلية قابلة للتنبؤ

متجهات الاختبار القياسية

يوفر RFC 4226 المُلحق D قيم HOTP المرجعية للمفتاح السري 12345678901234567890 (20 بايت، Base32 GEZDGNBVGY3TQOJQGEZDGNBVGY3TQOJQ) بإخراج 6 أرقام:

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

الحد الأدنى من حمولة QR للتسجيل عند العداد 0:

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

محقق المفتاح Base32 المباشر

نفس المحقق كصفحة TOTP, أسرار HOTP تستخدم نفس الأبجدية Base32 (RFC 4648 §6: A-Z, 2-7). يعمل في متصفحك، بدون رحلة إلى الخادم.

أدخل مفتاحاً للتحقق.

المشكلات الشائعة

توافق تطبيق المصادق

التطبيق / الرمز المميزHOTPSHA256/5128 أرقامملاحظات
YubiKey Authenticator (iOS/Android/desktop)YesYesYesHOTP هو وضع YubiKey OATH القياسي. دعم كامل لـ RFC 4226.
Google AuthenticatorYesمُتجاهل (SHA1 فقط)مُتجاهل (6 فقط)الخط الأساسي الفعلي. آمن لـ HOTP لكن بـ SHA1 6 أرقام فقط.
1PasswordYesYesYesدعم كامل لـ RFC. العداد مخزن ومُصدَّر مع الإدخال.
BitwardenYesYesYesدعم كامل لـ RFC.
Microsoft AuthenticatorYesYesYesدعم كامل لـ RFC.
AuthyNo,,أسقط HOTP في الإصدارات الحديثة. TOTP فقط.
Duo MobileNo,,يستخدم تدفق Push الخاص به؛ احتياطي TOTP فقط.
OATH hardware tokens (Feitian, Token2, etc.)YesVariesVariesسوق HOTP للأجهزة الأساسي؛ دائماً 6 أرقام SHA1 ما لم تنص البيانات التقنية على خلاف ذلك.

انظر أيضاً

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