اختر اللغة

نحو التحقق الرسمي من خوارزميات توليد كلمات المرور في مديري كلمات المرور

ورقة بحثية تطرح تنفيذاً مرجعياً مُتحققاً منه رسمياً لمولدات كلمات المرور العشوائية في مديري كلمات المرور، باستخدام EasyCrypt لإثبات الصحة الوظيفية وخصائص الأمان.
computationalcoin.com | PDF Size: 0.1 MB
التقييم: 4.5/5
تقييمك
لقد قيمت هذا المستند مسبقاً
غلاف مستند PDF - نحو التحقق الرسمي من خوارزميات توليد كلمات المرور في مديري كلمات المرور

1. المقدمة

يُعد مديرو كلمات المرور (PMs) أدوات حاسمة يوصي بها خبراء الأمن لتخفيف نقاط الضعف المرتبطة بمصادقة كلمات المرور. فهي تُسهل استخدام كلمات مرور قوية وفريدة، مما يُخفف العبء المعرفي على المستخدمين. ومع ذلك، فإن الانتشار الواسع للمستخدمين يتعثر بسبب نقص الثقة في هذه التطبيقات. تُحدد هذه الورقة البحثية ميزة توليد كلمة المرور العشوائية (RPG) كعامل رئيسي يؤثر على ثقة المستخدم. يرى المؤلفون أن تنفيذاً مُتحققاً منه رسمياً ومُثبتاً أمنياً لمولد كلمات المرور العشوائية أمرٌ ضروري لسد فجوة الثقة هذه وتشجيع اعتماد مديري كلمات المرور. المساهمة الأساسية للورقة هي اقتراح مثل هذا التنفيذ المرجعي، مع براهين رسمية على الصحة الوظيفية وخصائص الأمان باستخدام إطار عمل EasyCrypt.

2. خوارزميات توليد كلمات المرور الحالية

تستعرض الورقة البحثية 15 مديراً لكلمات المرور، مع التركيز على ثلاثة أمثلة مفتوحة المصدر ومستخدمة على نطاق واسع: المدير المدمج في متصفح جوجل كروم، وBitwarden، وKeePass. يكشف التحليل عن أنماط شائعة ونقاط قصور حرجة في التنفيذات الحالية.

2.1 سياسات تكوين كلمة المرور

تسمح مديرو كلمات المرور للمستخدمين بتعريف سياسات تُقيّد كلمات المرور المُولدة. تحدد هذه السياسات الطول، ومجموعات الأحرف المسموح بها (مثل الأحرف الصغيرة، والأحرف الكبيرة، والأرقام، والأحرف الخاصة)، والحد الأدنى/الأقصى لعدد مرات الظهور لكل مجموعة. تقدم الورقة جدولاً مقارناً مفصلاً (الجدول 1 في ملف PDF) يظهر خيارات السياسات عبر مديري كلمات المرور الثلاثة المدروسة. تشمل الملاحظات الرئيسية أطوالاً قصوى متفاوتة (تصل إلى 30,000 في KeePass)، وتعريفات مختلفة لـ"الأحرف الخاصة"، ومعالجة غير متسقة لـ"الأحرف المتشابهة" (مثل 'l'، '1'، 'O'، '0') لتجنب الغموض البصري. يوفر KeePass التحكم الأكثر دقة، مما يسمح بمجموعات تضمين/استبعاد مخصصة وإزالة التكرارات.

2.2 توليد كلمة المرور العشوائية

تتبع الخوارزميات التي تم مسحها بشكل عام عملية من مرحلتين: 1) توليد أحرف عشوائية لتلبية الحد الأدنى المطلوب من مرات الظهور لكل مجموعة أحرف محددة. 2) ملء الطول المتبقي لكلمة المرور بأحرف عشوائية من أي مجموعة لم تصل إلى حد الحد الأقصى لمرات الظهور. أخيراً، يتم تبديل تسلسل الأحرف عشوائياً. تشير الورقة إلى أنه على الرغم من أن هذا المنطق واضح، إلا أن تنفيذه - وخاصة مصدر العشوائية وإنفاذ القيود المعقدة - نادراً ما يتم تحديده أو التحقق منه رسمياً، مما يترك مجالاً لأخطاء دقيقة قد تضعف الأمان.

3. نهج التحقق الرسمي

يدعو المؤلفون إلى استخدام الأساليب الرسمية للقضاء على أخطاء التنفيذ. لقد اختاروا EasyCrypt، وهو إطار عمل لبناء والتحقق من البراهين التشفيرية القائمة على الألعاب. يتضمن النهج ما يلي:

  1. المواصفات: تعريف المتطلبات الوظيفية لمولد كلمات المرور العشوائية بشكل رسمي (سياسة الإدخال -> كلمة مرور مخرجات تلبي السياسة).
  2. التنفيذ: كتابة كود الخوارزمية داخل EasyCrypt.
  3. التحقق: إثبات أن التنفيذ يحسن المواصفات بشكل صحيح (الصحة الوظيفية).
  4. إثبات الأمان: نمذجة الخوارزمية كلعبة تشفيرية لإثبات خصائص مثل التوزيع المنتظم للمخرجات من الفضاء المحدد (الأمان).

توفر هذه المنهجية يقيناً رياضياً بأن الكود يعمل تماماً كما هو مقصود ويمتلك خصائص الأمان المرغوبة، بافتراض أن البدائيات التشفيرية الأساسية (مولد الأرقام العشوائية) آمنة.

4. التنفيذ المرجعي المقترح

تقترح الورقة تصميماً جديداً ووحداتياً لمولد كلمات المرور العشوائية يُقصد به أن يكون مرجعاً مُتحققاً منه. بينما لا يُظهر المقتطف المقدم الكود الكامل، فإن التصميم يفصل منطقياً:

  • محلل السياسة والمدقق: يضمن أن السياسات المعرفة من قبل المستخدم متسقة داخلياً (مثلاً، لا تتجاوز الحدود الدنيا الحدود القصوى، ولا يتجاوز إجمالي الحدود الدنيا طول كلمة المرور).
  • أداة أخذ العينات المقيدة: المحرك الأساسي الذي يقوم بالتوليد ثنائي المراحل تحت قيود السياسة.
  • التبديل العشوائي: يطبق خلطاً نهائياً على تسلسل الأحرف.

سيكون لكل وحدة مواصفات رسمية وتنفيذ مُتحقق منه في EasyCrypt.

5. التفاصيل التقنية والصياغة الرياضية

يعتمد أمان مولد كلمات المرور العشوائية على الإنتروبيا والتوزيع المنتظم لمخرجاته. لنفترض أن $\mathcal{P}$ هي مجموعة جميع كلمات المرور المعرفة بواسطة سياسة (الطول $l$، مجموعات الأحرف $C_1, C_2, ..., C_n$ مع قيود الحد الأدنى/الأقصى). مولد كلمات المرور العشوائية المثالي هو دالة $G$ تأخذ عينات بشكل منتظم من $\mathcal{P}$.

يجب أن تكون احتمالية توليد أي كلمة مرور محددة $p \in \mathcal{P}$ هي: $$Pr[G() = p] = \frac{1}{|\mathcal{P}|}$$ حيث $|\mathcal{P}|$ هو حجم فضاء كلمات المرور. عيب شائع في التنفيذات الساذجة هو إدخال تحيز، مما يجعل بعض كلمات المرور أكثر احتمالية من غيرها. على سبيل المثال، إذا اختارت الخوارزمية أولاً أحرفاً للمجموعات الإلزامية ثم ملأت الباقي، فإن كلمات المرور ذات الأحرف الإلزامية في البداية تكون ممثلة بشكل زائد ما لم يتم تطبيق خلط مثالي. يثبت التحقق الرسمي غياب مثل هذا التحيز.

الإنتروبيا $H$ لكلمة المرور المُولدة (بالبت) هي: $$H = \log_2(|\mathcal{P}|)$$ يضمن التحقق أن التنفيذ لا يقلل هذه الإنتروبيا عن الحد الأقصى النظري للسياسة.

6. النتائج التجريبية ووصف المخطط

بينما لا يحتوي مقتطف ملف PDF المقدم على نتائج تجريبية تقليدية أو مخططات، فإن "نتيجته" الأساسية هي البرهان الرسمي نفسه. يخدم التحقق الناجح في EasyCrypt كدليل نهائي. يمكن للمرء تصور مخطط يقارن مستويات التأكيد:

مخطط افتراضي: مستوى التأكيد مقابل طريقة التطوير

  • الاختبار التقليدي: ثقة عالية للحالات المختبرة، ولكن غير معروف للحالات الحدية غير المختبرة (تعارضات السياسات، القيم الحدية). التغطية محدودة.
  • مراجعة الكود: ثقة متوسطة. تعتمد بشدة على مهارة المراجع. قد تفوت أخطاء منطقية دقيقة أو مشاكل القنوات الجانبية.
  • التحقق الرسمي (كما هو مقترح): أعلى مستوى ممكن من التأكيد. يوفر برهاناً رياضياً على الصحة لـ جميع المدخلات الممكنة وخصائص أمان صريحة. سيظهر "المخطط" هذا كنقطة قصوى على محور "التأكيد".

مساهمة الورقة هي نقل مولد كلمات المرور العشوائية من الفئتين الأوليين إلى الثالثة.

7. إطار التحليل: دراسة حالة غير برمجية

فكر في سياسة: الطول=8، تتطلب على الأقل حرفاً كبيراً واحداً، ورقماً واحداً، وحرفاً خاصاً واحداً. قد تقوم خوارزمية معيبة بما يلي:

  1. الموضع 1: اختيار حرف كبير عشوائي.
  2. الموضع 2: اختيار رقم عشوائي.
  3. الموضع 3: اختيار حرف خاص عشوائي.
  4. المواضع 4-8: ملء بأحرف عشوائية من جميع المجموعات.
  5. خلط جميع الأحرف الثمانية.

العيب: الترتيب الثابت الأولي (حرف كبير، رقم، حرف خاص) قبل الخلط يخلق تحيزاً. بينما يقوم الخلط بتعيين المواضع النهائية عشوائياً، تبدأ العملية من توزيع غير منتظم للحالات الوسيطة. ستقوم خوارزمية مُتحقق منها رسمياً ببناء كلمة المرور بأكملها من خلال عملية أخذ عينات واحدة غير متحيزة من الفضاء المقيد $\mathcal{P}$، أو ستثبت بشكل قاطع أن عملية متعددة الخطوات الخاصة بها تعادل مثل هذا أخذ العينات المنتظم.

8. الفكرة الأساسية ومنظور المحلل

الفكرة الأساسية: تحدد الورقة بشكل صحيح سطح هجوم حاسماً، وغالباً ما يتم تجاهله، في مديري كلمات المرور: مصداقية مولد كلمة المرور نفسه. لا يكفي أن يكون لديك خزنة قوية؛ إذا كانت المادة المصدر (كلمات المرور) ضعيفة أو يمكن التنبؤ بها بسبب مولد معيب، فإن النظام بأكمله يفشل. تحرك المؤلفين لتطبيق الأساليب الرسمية - وهي تقنية أكثر شيوعاً في برمجيات الأجهزة أو الطيران - على مشكلة أمان المستهلك هذه هو طموح وضروري.

التدفق المنطقي: الحجة سليمة: 1) الثقة عائق أمام اعتماد مديري كلمات المرور. 2) مولد كلمات المرور العشوائية مكون حاسم للثقة. 3) يتم تنفيذ مولدات كلمات المرور العشوائية الحالية بشكل ارتجالي دون ضمانات صارمة. 4) يوفر التحقق الرسمي أعلى مستوى من الضمان. 5) نقدم مخططاً لمولد كلمات مرور عشوائية مُتحقق منه باستخدام EasyCrypt. يربط المنطق مشكلة مركزية على المستخدم (الثقة) بحل تقني عميق (الأساليب الرسمية).

نقاط القوة والعيوب:
نقاط القوة: التركيز على مديري كلمات المرور مفتوحة المصدر عملي. تحليل السياسات المقارن قيم. اقتراح تنفيذ مرجعي أكثر فائدة من مجرد انتقاد الآخرين؛ فهو يضع معياراً. استخدام EasyCrypt يربط العمل بممارسة التحقق التشفيري الراسخة، على غرار التحقق من خوارزميات مثل تلك الموجودة في "أمان البدائيات التشفيرية" (M. Bellare, P. Rogaway).
العيوب: المقتطف المقدم هو نقطة بداية. الاختبار الحقيقي هو تعقيد البراهين الكاملة في EasyCrypt للسياسات الواقعية. يفترض النهج وجود مولد أرقام عشوائية مثالي؛ أي ثغرة هناك تتجاوز جميع الضمانات الرسمية. كما أنه لا يتناول هجمات القنوات الجانبية (التوقيت، الذاكرة) في الملف الثنائي النهائي المترجم، وهو قيد تمت ملاحظته في مشاريع التحقق الرسمي الأخرى مثل التحقق من النواة المصغرة seL4.

رؤى قابلة للتنفيذ:
1. لمطوري مديري كلمات المرور: دمج هذا النواة المُتحقق منها، أو ما شابهها، كمكتبة. تكلفة التحقق الرسمي مرتفعة مبدئياً ولكنها تقلل أعباء مراجعة الأمان طويلة الأجل والمسؤولية.
2. للمدققين والباحثين: استخدم هذا العمل كقالب لتحليل مديري كلمات مرور آخرين. جدول مقارنة السياسات هو قائمة مرجعية جاهزة للتقييمات الأمنية.
3. لهيئات المعايير (مثل NIST، FIDO): النظر في التحقق الرسمي كمطلب لشهادات وحدات توليد كلمات المرور، على غرار كيفية إلزام المعايير المشتركة بعمليات تطوير صارمة للمنتجات عالية التأكيد.
4. للمستخدمين: المطالبة بالشفافية. تفضيل مديري كلمات المرور الذين ينشرون خوارزميات توليد كلمات المرور العشوائية الخاصة بهم، ويفضل أن يكون ذلك مع أدلة التحقق الخاصة بهم. توفر هذه الورقة المفردات للمطالبة بذلك.

في جوهر الأمر، هذا البحث هو دعوة لرفع معايير الهندسة لمكون أمني أساسي. إنه يحول الهدف من "آمن نأمل" إلى "صحيح مُثبت"، وهو المعيار المقبول الوحيد للأدوات التي تحمي هوياتنا الرقمية.

9. التطبيقات المستقبلية واتجاهات البحث

التداعيات تمتد إلى ما هو أبعد من مديري كلمات المرور:

  • رموز وخدمات API: غالباً ما تتطلب خدمات السحابة وهندسة الخدمات المصغرة رموزاً مُولدة. يضمن المولد المُتحقق منه أن هذه الأسرار قوية تشفيرياً.
  • توليد المفاتيح التشفيرية: تنطبق المبادئ على توليد رموز استرداد قابلة للقراءة البشرية أو عبارات مرور (عبر طرق تشبه diceware) للمفاتيح التشفيرية، حيث يكون التحيز خطيراً بنفس القدر.
  • التكامل مع أمن الأجهزة: يمكن للعمل المستقبلي التحقق من التفاعل بين برنامج مولد كلمات المرور العشوائية ومولدات الأرقام العشوائية الحقيقية للأجهزة (TRNGs) أو بيئات التنفيذ الموثوقة (TEEs).
  • تحليل السياسات الآلي: بناء أدوات تحلل السياسات المعرفة من قبل المستخدم بشكل رسمي للبحث عن نقاط ضعف (مثل فضاءات بحث صغيرة بشكل فعال على الرغم من التعقيد الظاهري) قبل حدوث التوليد حتى.
  • التوحيد القياسي: أكبر اتجاه مستقبلي هو تحويل هذا التنفيذ المرجعي إلى معيار معتمد على نطاق واسع، ربما كمكتبة مستقلة (مثل libsodium للتشفير) يمكن لأي تطبيق استخدامها لتوليد أسرار مُتحقق منها.

10. المراجع

  1. Grilo, M., Ferreira, J. F., & Almeida, J. B. (2021). Towards Formal Verification of Password Generation Algorithms used in Password Managers. arXiv preprint arXiv:2106.03626.
  2. Bellare, M., & Rogaway, P. (2005). Introduction to Modern Cryptography. Chapter on Pseudorandom Functions and Permutations.
  3. Klein, G., et al. (2009). seL4: Formal verification of an OS kernel. Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles.
  4. National Institute of Standards and Technology (NIST). (2017). Digital Identity Guidelines (SP 800-63B).
  5. Common Criteria Recognition Agreement (CCRA). Common Criteria for Information Technology Security Evaluation.
  6. Chiasson, S., van Oorschot, P. C., & Biddle, R. (2006). A second look at the usability of click-based graphical passwords. Proceedings of the 3rd symposium on Usable privacy and security.
  7. EasyCrypt Proof Assistant. Official Documentation and Tutorials. https://easycrypt.info/