TOTP وHOTP
كلمات مرور لمرة واحدة معتمدة على الوقت
TOTP وHOTP درس مجاني في Cyber Security Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cyber Security Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
كلمات المرور لمرة واحدة
كلمة المرور لمرة واحدة (OTP) هي رمز صالح لتسجيل دخول واحد أو لفترة قصيرة.
تولّدها خوارزميتان قياسيتان: HOTP وTOTP.
السر المشترك
تبدأ الخوارزميتان من سر مشترك لا يعرفه سوى الخادم وتطبيق المصادقة لديك.
وعادةً ما يُسلّم هذا السر على هيئة رمز QR أثناء الإعداد، ويُخزّن لدى الطرفين.
HOTP: المعتمد على العدّاد
تجمع HOTP (OTP المعتمد على HMAC) السر المشترك مع عدّاد باستخدام HMAC، ثم تقتطع النتيجة إلى رمز رقمي قصير.
يزداد العدّاد بمقدار واحد مع كل رمز يتم توليده.
HOTP = Truncate( HMAC-SHA1(secret, counter) )TOTP: المعتمد على الوقت
إن TOTP (OTP المعتمد على الوقت) هو HOTP يكون فيه العدّاد هو الوقت الحالي مقسومًا إلى فترات ثابتة (عادةً كل 30 ثانية).
وبما أن الوقت يتقدم دائمًا، يظل الطرفان متزامنين دون الحاجة إلى تتبع عدّاد يدوي.
T = floor( (current_unix_time) / 30 )
TOTP = Truncate( HMAC-SHA1(secret, T) )نافذة الثلاثين ثانية
يتغير رمز TOTP عادةً كل 30 ثانية. وتحد هذه المدة القصيرة من الفترة التي يظل فيها الرمز المسروق مفيدًا.
ولهذا تعرض تطبيقات المصادقة شريطًا للعد التنازلي.
التسامح مع انحراف الساعة
تنحرف ساعات الأجهزة قليلًا. ولتجنب رفض الرموز الصحيحة، تقبل الخوادم الرموز من فترة واحدة قبل النافذة الحالية وبعدها.
وتضعف النافذة الواسعة جدًا الأمان، لذلك تُبقى صغيرة.
مزامنة HOTP
قد ينحرف HOTP إذا لم يُستخدم رمز تم توليده (فيتقدم العدّاد على الجهاز دون أن يتقدم على الخادم).
تسمح الخوادم بـ نافذة استباق صغيرة لإعادة المزامنة، لكن الفجوات الكبيرة تتطلب إعادة مزامنة يدوية.
عنوان URI otpauth
تشفّر رموز QR عنوان URI otpauth الذي يصف السر والمعلمات.
otpauth://totp/Example:alice@example.com?secret=JBSWY3DPEHPK3PXP&issuer=Example&period=30لماذا انتشر TOTP
يشيع TOTP أكثر بكثير من HOTP للأسباب التالية:
- لا يوجد عدّاد قد ينحرف أو يحتاج إلى إعادة مزامنة.
- تنتهي صلاحية الرموز تلقائيًا.
- يعمل دون اتصال؛ فلا يحتاج توليد الرمز إلى شبكة.
نقاط القوة والقيود
يمثل TOTP ترقية كبيرة مقارنة باستخدام كلمات المرور وحدها، لكنه لا يزال عرضة للتصيد؛ إذ يمكن لموقع مزيف خداع المستخدم ليكتب رمزًا صالحًا.
وتقاوم مفاتيح الأمان المادية (التي سنتناولها في الدرس التالي) هذا النوع من الهجمات.
النسخ الاحتياطي والاسترداد
قد يؤدي فقدان الجهاز الذي يحتوي على السر إلى منعك من تسجيل الدخول. ومن الممارسات الجيدة:
- احفظ رموز الاسترداد التي صدرت عند الإعداد.
- انسخ السر احتياطيًا بأمان أو سجّل تطبيق مصادقة ثانيًا.
اختبار سريع
ما الفرق الأساسي بين HOTP وTOTP؟
خلاصة
تعلّمتم كيفية عمل خوارزميات OTP.
- تعتمد كلتاهما على سر مشترك وHMAC.
- يستخدم HOTP عدّادًا، بينما يستخدم TOTP الوقت.
- تنتهي صلاحية رموز TOTP كل نحو 30 ثانية، لكنها تظل عرضة للتصيد الاحتيالي.
- احتفظوا برموز الاسترداد.
بعد ذلك، سنستكشف الموافقات عبر الإشعارات الفورية ومفاتيح الأمان المادية.
الأسئلة الشائعة
هل درس «TOTP وHOTP» مجاني؟
نعم — نص درس «TOTP وHOTP» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cyber Security Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cyber Security Academy 4 دروس في المجموع.
ماذا ستتعلم في «TOTP وHOTP»؟
كلمات مرور لمرة واحدة معتمدة على الوقت تتمرن على Cyber Security Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Cyber Security Academy؟
لا تُشترط خبرة سابقة. Cyber Security Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.
كم من الوقت يستغرق درس «TOTP وHOTP»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Cyber Security Academy هذا؟
نعم. كل درس في Cyber Security Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.