مولّد رموز TOTP للتحقق بخطوتين
أنشئ رموز TOTP وHOTP للتحقق بخطوتين من سر Base32 أو رابط otpauth://، مع SHA-1 وSHA-256 وSHA-512 وعدّاد تنازلي ورمز QR.
سر التحقق بخطوتين حساس مثل كلمة المرور. كل شيء هنا يعمل محليًا في متصفحك: لا يُرسل السر ولا الرموز ولا رمز QR إلى أي مكان.
- الرمز السابق
- —
- الرمز الحالي
- —
- الرمز التالي
- —
تعتمد رموز TOTP على ساعة جهازك. إذا لم تتطابق، تأكد من ضبط الساعة تلقائيًا.
إعداد تطبيق المصادقة
أضف الجهة المُصدِرة واسم الحساب، ثم امسح رمز QR أو انسخ رابط otpauth:// إلى تطبيق المصادقة.
كيف تنشئ رموز TOTP
- الصق سرًا بصيغة Base32 (مثل
JBSWY3DPEHPK3PXP) أو رابطotpauth://كاملًا في حقل السر (Base32) أو رابط otpauth://. تُقبل المسافات والشرطات والحروف الصغيرة، ولا يلزم حشو=. - تظهر الرموز أثناء الكتابة، أو عند النقر على اعرض الرموز. والرابط الملصق يملأ لك حقول النوع والخوارزمية وعدد الأرقام والمدة (بالثواني) والجهة المُصدِرة والحساب.
- اقرأ الرمز الحالي في الوسط، ومعه الرمز السابق والرمز التالي على الجانبين. يعدّ الشريط أسفله الثواني المتبقية قبل تغيّر الرمز، وينسخه زر انسخ الرمز دون المسافة.
- للرموز المعتمدة على العدّاد، اختر HOTP (حسب العدّاد)، واضبط العدّاد واستخدم العدّاد التالي للتقدم.
- لإنشاء سر جديد للتحقق بخطوتين، انقر سر عشوائي جديد. املأ الجهة المُصدِرة والحساب، ثم امسح رمز QR بتطبيق مصادقة، أو استخدم انسخ الرابط أو نزّل رمز QR (PNG).
كيف يعمل TOTP وHOTP
يحسب HOTP (RFC 4226) قيمة HMAC لعدّاد من 8 بايتات باستخدام السر المشترك، ثم يطبّق الاقتطاع الديناميكي: تحدد آخر أربع بتات من HMAC موضعًا تُقرأ منه أربعة بايتات، ثم تُصفَّر البت العليا ويُؤخذ باقي قسمة العدد على 10^digits. والنتيجة رمز من 6 إلى 8 أرقام.
أما TOTP (RFC 6238) فهو HOTP يكون فيه العدّاد هو خطوة الوقت الحالية: T = floor(Unix time / period)، والمدة الافتراضية 30 ثانية. يحسب هاتفك والخادم الرمز نفسه كلٌّ على حدة، لأنهما يتشاركان السر و(تقريبًا) الساعة نفسها. ولهذا يُعرض الرمز السابق والرمز التالي: فالخوادم تقبل عادةً خطوة واحدة قبل الخطوة الحالية أو بعدها لتحمّل انحراف الساعة.
يجري حساب HMAC بواجهة Web Crypto في متصفحك باستخدام SHA-1 أو SHA-256 أو SHA-512. والإعداد الذي تستخدمه جميع الخدمات تقريبًا هو SHA-1 مع 6 أرقام و30 ثانية؛ أما SHA-256 وSHA-512 فيسمح بهما RFC 6238 لكن بعض التطبيقات تتجاهلهما، لذا لا تغيّر القيم الافتراضية إلا إذا طلبت الخدمة ذلك.
رابط otpauth:// ورمز QR
تُضبط تطبيقات المصادقة برابط مثل otpauth://totp/Example:alice@example.com?secret=…&issuer=Example&algorithm=SHA1&digits=6&period=30، ويُعرض عادةً على شكل رمز QR. تقرأ هذه الأداة مثل هذه الروابط (بما في ذلك التسميات المرمّزة بالنسبة المئوية مثل ACME%20Co) وتنشئ روابط جديدة. ويُرسم رمز QR محليًا من الرابط المعروض في حقل رابط otpauth://.
يتكون السر العشوائي الجديد من 20 بايتًا (160 بت)، وهو الطول الذي يوصي به RFC 4226، ويُستخرج عبر crypto.getRandomValues.
نصائح أمنية
- السر هو العامل الثاني نفسه: من يملكه يستطيع إنتاج رموزك. لا تلصق أسرار الحسابات المهمة على حواسيب مشتركة، ولا تشارك أبدًا لقطات شاشة لرمز QR.
- كل شيء يُحسب محليًا ولا يُرسل أي شيء عبر الشبكة. أغلق التبويب عند الانتهاء.
- احتفظ برموز الاسترداد الاحتياطية التي تقدمها الخدمة، فالسر الذي تفقده لا يمكن استعادته.
الأسئلة الشائعة
لماذا لا يطابق الرمز ما يظهر في تطبيقي؟
تحقّق أولًا من ساعة جهازك: تتغير رموز TOTP مع كل مدة، لذا فالساعة التي تنحرف بأكثر من 30 ثانية تقريبًا تعطي رموزًا مختلفة. ثم تأكد من أن الخوارزمية وعدد الأرقام والمدة تطابق ما تستخدمه الخدمة.
هل الأداة متوافقة مع Google Authenticator والتطبيقات المشابهة؟
نعم. فهي تتبع RFC 6238 وصيغة رابط otpauth التي تستخدمها تلك التطبيقات. امسح رمز QR أو اكتب سر Base32 في التطبيق، وينبغي أن يعرض الطرفان الرمز الحالي نفسه.
ما الفرق بين TOTP وHOTP؟
يتقدم TOTP مع الوقت، فتنتهي صلاحية الرمز بعد انقضاء المدة. أما HOTP فيتقدم مع عدّاد يزداد في كل مرة يُستخدم فيها رمز، فيبقى الرمز صالحًا حتى يُستخدم أو يُستبدل.
هل يمكنني استخدام هذه الأداة كتطبيق مصادقة يومي؟
صُممت للاختبار والتطوير والاسترداد. تطبيق الهاتف أو مفتاح الأمان المادي أكثر أمانًا للاستخدام اليومي، لأن السر لا يحتاج إلى لصقه في صفحة ويب في كل مرة.
هل تم التحقق من الحسابات وفق المعايير؟
نعم. اختُبرت الأداة بقيم HOTP الواردة في RFC 4226 (الملحق D) وبقيم TOTP الواردة في RFC 6238 (الملحق B) لكلٍّ من SHA-1 وSHA-256 وSHA-512.
أدوات ذات صلة
- مولّد HMAC احسب HMAC-SHA1 أو SHA-256 أو SHA-384 أو SHA-512 بمفتاح نصي أو ست عشري أو Base64، واحصل على النتيجة وتحقق من توقيع webhook في متصفحك.
- مولّد كلمات المرور مولّد كلمات مرور مجاني ينشئ كلمات سر قوية وعشوائية من 4 إلى 128 حرفًا في متصفحك بمولّد أرقام آمن. لا يُخزَّن أي شيء ولا يُرسل.
- مولّد رمز QR أنشئ رموز QR مجانًا للروابط والنصوص وشبكات Wi-Fi وجهات الاتصال والبريد والرسائل. أضف ألوانًا وشعارًا ونزّل PNG أو SVG. لا شيء يغادر جهازك.
- تقسيم السر بطريقة شامير قسّم كلمة مرور أو عبارة استرداد إلى N حصة بحيث تعيد أي M منها بناءه، بخوارزمية شامير لمشاركة السر على GF(256) محليًا في متصفحك.