طريقة الاستخدام
- اضبط طول الرقم السري من 4 إلى 12 خانة. يطلب NIST SP 800-63B أربع خانات على الأقل، وينصح بست.
- حدّد القواعد التي تريدها: لا يُستخدم أي رقم مرتين، أو لا تأتي ثلاث خانات متتابعة، أو تجنب أشيع 20 رقماً سرياً من أربع خانات.
- اختر عدد الأرقام السرية المطلوب. تُرسم الأرقام من جديد كلما غيّرت إعداداً.
- اضغط نسخ أو تنزيل لتحفظ القائمة. فالصفحة لا تحتفظ بالأرقام.
كيف تُرسم الأرقام
يُرسم كل خانة من crypto.getRandomValues، وهي أرقام عشوائية آمنة في متصفحك. والرسم غير متحيّز: تُستعمل قيمة من 32 بتاً فقط إذا وقعت دون أكبر مضاعف لمدى الرسم، فتكون كل خانة متساوية الاحتمال.
وعند تفعيل قاعدة، يُرمى الرقم الذي يخالفها ويُرسم من جديد. لذلك يكون كل رقم يجتاز القواعد متساوي الاحتمال، والإنتروبيا هي الرقم الحقيقي للقواعد التي اخترتها.
الإنتروبيا (بت) = log2(عدد الأرقام التي تجتاز القواعد)
القواعد ولماذا
يطلب NIST SP 800-63B أن يكون الرقم السري الذي يُستخدم رمزاً لتفعيل الخدمة أربع خانات على الأقل، وينصح بست خانات أو أكثر. وينصح أيضاً بقائمة منع للقيم الشائعة.
وتكرار رقم (1122) وثلاث خانات متتابعة (1234 و321) نمطان يسهّلان تخمين الرقم السري. وقائمة الأشيع العشرين من الأرقام السرية ذات الأربع خانات مأخوذة من قائمة SecLists للترددات (برخصة MIT)، ويتصدرها 1234 و0000.
- الأرقام ذات الأربع خانات 10,000 رقم، وذات الست خانات مليون رقم.
- مع منع تكرار أي رقم، لا يمكن أن يتجاوز الرقم السري عشر خانات، لأن الأرقام عشرة فقط.
مثال محلول: أربع خانات دون تسلسلات أو أرقام شائعة
من بين 10,000 رقم سري ذي أربع خانات، يوجد 306 رقم فيها ثلاث خانات متتابعة. يبقى 9,694، ومن بينها 18 رقماً شائعاً (1234 و4321 مستبعدان أصلاً). فيجتاز القواعد 9,676 رقماً.
إنتروبيا هذه الأرقام هي log2(9,676)، أي 13.2 بت. و2 مرفوعاً إلى 13.24 يساوي نحو 9,676، وهو عدد الأرقام التي تجتاز القواعد.
الأسئلة الشائعة
هل تُحفظ الأرقام السرية أو تُرسل إلى خادم؟
لا. تُرسم الأرقام في متصفحك وتظهر في هذه الصفحة. لا يُحفظ ولا يُرسل ولا يُسجَّل شيء، وإعادة التحميل تمحوها، فانسخ ما تريد أولاً.
لماذا لا أستخدم تاريخ ميلاد أو سنة رقماً سرياً؟
التواريخ والسنوات يشترك فيها كثير من الناس، فهي رموز ضعيفة. والرقم العشوائي من هذه الصفحة أصعب في التخمين، لكنه أصعب في الحفظ أيضاً، فاحفظه في مدير كلمات المرور إن كانت الخدمة تسمح بذلك.
ماذا تعني الإنتروبيا بالنسبة إلى رقم سري؟
هي عدد البتات في الاختيار. فإذا كانت القواعد معلومة والرقم عشوائياً، يحتاج المهاجم نحو نصف العدد 2 مرفوعاً إلى قوة عدد البتات من التخمينات في المتوسط، فكل بت إضافي يضاعف الجهد.
هل أربع خانات كافية للأمان؟
يسمح NIST SP 800-63B بأربع خانات كحد أدنى، وينصح بست. وتحدّ كثير من الأجهزة والبطاقات عدد المحاولات الخاطئة، فتحقق من هذا الحد قبل أن تختار رقماً قصيراً لشيء مهم.
لماذا يقتصر طول الرقم على عشر خانات مع منع التكرار؟
مع منع تكرار أي رقم لا يبقى سوى عشرة أرقام مختلفة للاختيار، فلا يمكن أن يكون الرقم أطول من عشر خانات. وترفض الصفحة الرقم الأطول مع تلك القاعدة.
من أين جاءت قائمة الأرقام السرية الشائعة؟
هي أعلى الأرقام في قائمة SecLists للأرقام السرية ذات الأربع خانات، مرتبةً بالتكرار، وهي منشورة برخصة MIT. وتغطي القائمة الأرقام ذات الأربع خانات فقط، فلا أثر لتلك القاعدة في الأطوال الأخرى.
المصادر
- NIST SP 800-63B, section 3.2.10 (activation secrets) (باللغة الإنجليزية)
- SecLists: four-digit PIN codes sorted by frequency, MIT (باللغة الإنجليزية)
- MDN: Crypto.getRandomValues() (باللغة الإنجليزية)
آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.