Logo Logo
GitHub Designed by Logto

ما هو TOTP؟

كلمة مرور لمرة واحدة تعتمد على الوقت (TOTP) هي رمز مؤقت وفريد يتم إنشاؤه بواسطة خوارزمية تستخدم الوقت الحالي كعامل رئيسي. مشابهًا لأي كلمة مرور لمرة واحدة (One-time password, OTP) عام، يتم استخدام TOTP مرة واحدة فقط، ولكنه يمتلك عمرًا ثابتًا يتراوح عادة بين 30 إلى 60 ثانية. وعند انتهاء صلاحية الرمز، يتم إنشاء رمز جديد تلقائيًا.

يتم تعريف معيار TOTP من قبل فريق عمل هندسة الإنترنت (IETF) تحت RFC 6238 ، ويُعتمد بشكل واسع في أنظمة المصادقة الثنائية (2FA) وأنظمة المصادقة متعددة العوامل (MFA). نظرًا لأن TOTPs يعتمد على الوقت المتزامن بين العميل (جهاز المستخدم) والخادم، فإنها توفر مستوى عالٍ من الأمان ومن الصعب التنبؤ بها أو إعادة استخدامها.

كيف يعمل TOTP

يشمل إنشاء TOTP الخطوات التالية:

  1. المفتاح السري المشترك: خلال الإعداد الأولي، يتم إنشاء مفتاح سري مشترك وتخزينه بأمان على كل من العميل والخادم. يتم عادة تشفير هذا المفتاح كرمز QR يقوم المستخدمون بمسحه باستخدام تطبيق المصادقة.
  2. فترات زمنية: يتم تقسيم الوقت الحالي إلى فترات ثابتة، عادة ما تكون 30 ثانية.
  3. تطبيق الخوارزمية: يتم إدخال المفتاح السري المشترك والطابع الزمني الحالي في خوارزمية قائمة على التشفير (غالبًا HMAC-SHA1) لإنتاج رمز رقمي فريد.
  4. المزامنة: يولد كل من العميل والخادم الرمز بشكل مستقل باستخدام نفس المفتاح السري المشترك والطابع الزمني الحالي. يطابق الرموز فقط إذا كان كلاهما في تزامن.
  5. التحقق: عندما يقوم المستخدم بتسجيل الدخول أو إجراء معاملة حرجة، يدخل TOTP المعروض على تطبيق المصادقة الخاص به. يقوم الخادم بعد ذلك بمقارنته مع TOTP الذي تم إنشاؤه داخليًا للتأكد من صحته.

متى يُستخدم TOTP

في معظم الحالات، يوصى باستخدام OTP العادي، ولكن في الحالات التي يتعذر فيها “تشغيل” رمز مرور جديد، يوصى باستخدام TOTP.

  • مثال على TOTP: تطبيق المصادقة
  • مثال على OTP: البريد الإلكتروني، الرسائل القصيرة

ما الفرق بين OTP و TOTP؟

الفرق الرئيسي هو أن TOTP يعتمد على الوقت، لذا فهو مناسب عندما لا يكون الجهاز متصلاً بالخادم. يمكن للخادم بسهولة إرسال رمز مرور جديد إلى عنوان بريد إلكتروني أو رقم هاتف، لكن ذلك يتطلب أن يكون البريد الإلكتروني أو الهاتف متصلًا بالإنترنت. ومع ذلك، يمكن لتطبيق المصادقة أن يبقى غير متصل ويستخدم “الوقت” للتحقق من صحة رمز المرور.

انظر أيضا