لعبة كلمات المرور، والقواعد التي لا تحمي شيئًا

نُشر في بقلم David Carrero

في يونيو 2023، نشر مبرمج اسمه Neal Agarwal على موقعه neal.fun شيئًا بعنوان The Password Game. يطلب منك أن تكتب كلمة مرور. ثم أن تكون من خمسة أحرف على الأقل. ثم أن تحتوي رقمًا. ثم حرفًا كبيرًا. ثم رمزًا خاصًا.

إلى هنا ليست لعبة. هذا نموذج مصرفك.

بعدها يبدأ الجزء الآخر. أن يكون مجموع الأرقام 25. أن تحتوي اسم شهر. أن تحتوي أرقامًا رومانية حاصل ضربها 35. أن تتضمن حل Wordle لهذا اليوم. أن تحدّد البلد الظاهر في صورة. أن تحتوي أفضل نقلة في وضعية شطرنج، بالترميز الجبري. القواعد خمس وثلاثون، وفي الطريق يفقس داخل كلمة مرورك رمز بيضة اسمه Paul يجب إطعامه اليرقات، بينما تلتهم شعلةٌ حروفك إن لم تُطفئها في الوقت المناسب.

تنجح اللعبة لسبب مزعج: لا أحد مضطر لشرح النكتة لك. تفهمها في الثانية الأولى، لأنك تعاني هذه الآلية منذ نصف عمرك. كل ما فعله Agarwal أنه واصل شد الخيط.

وهنا بالضبط يجدر التمهل. القواعد الأربع الأولى ليست من اختراعه.

من أين جاءت القواعد التي كنت تعرفها أصلًا

حرف كبير ورقم ورمز وحد أدنى للطول ليست فولكلورًا إنترنتيًا: إنها الترجمة العملية لوثيقة صادرة عن NIST الأمريكي في 2003، هي SP 800-63، كتبها Bill Burr. من هناك نزلت إلى نماذج نصف العالم، ومن هناك إلى رأسك.

رويناها كاملة في ما هي كلمة المرور: لم تكن لدى Burr بيانات عن كلمات مرور حقيقية — كانت شبه معدومة — فاستنتج ما بدا معقولًا: تنوّع أكبر في المحارف، تركيبات أكثر، أمان أعلى. وفي 2017 تراجع NIST نفسه، وقال Burr لصحيفة Wall Street Journal إنه يندم على جزء كبير مما كتب.

إذن لعبة Agarwal لا تبالغ في سياسة أمنية. إنها تكمل قائمة كانت خاطئة من سطرها الأول. الفرق الوحيد بين «يجب أن تحتوي رمزًا» و«يجب أن يكون مجموع الأرقام 25» هو أنك اعتدت على الأولى.

ما لم تقسه تلك القواعد قط

هنا تتوقف النكتة عن كونها مضحكة، لأن الأمر قابل للقياس.

هذه الأرقام تخرج من مدقق كلمات المرور في هذا الموقع، بنموذجه المعلن: هجوم دون اتصال على دالة تجزئة سريعة، بمعدل 10¹² محاولة في الثانية. ليست تقديرات دعائية؛ هذا ما ستراه إن كتبت السلاسل نفسها هناك.

كلمة المرور القواعد المستوفاة المحاولات تصمد
Password1! الأربع كلها 20,000 أقل من ثانية
Sayf2026! الأربع كلها 1.3 × 10⁸ أقل من ثانية
Zx9#kQ2m الأربع كلها 3.3 × 10¹⁵ 55 دقيقة
ست كلمات مسحوبة بالنرد، بأحرف صغيرة ولا واحدة 1.1 × 10²³ 3,500 سنة

السطر الأخير لا يخرج من المدقق بل من الحساب، وهذا مقصود: لا يمكن للمدقق أن يعرف أن تلك الكلمات الست خرجت من نرد، فسيحسب شيئًا آخر. ست رميات تساوي 77.5 بت بالضبط، و77.5 بت عند 10¹² محاولة في الثانية تعني نحو ثلاثة آلاف وخمسمئة سنة. سنعود إلى ذلك في النهاية.

اقرأ مرة أخرى. Password1! يجتاز أي نموذج على هذا الكوكب ويسقط قبل أن ترفع إصبعك عن المفتاح، لأن الكلمة موجودة في القاموس والباقي هو الزينة التي يضعها الجميع: حرف كبير في المقدمة، ورقم ورمز في المؤخرة. أما السطر الأخير، ست كلمات عادية بأحرف صغيرة، فلن يقبله نصف المواقع التي لديك حساب فيها: لا حرف كبير، ولا رقم، ولا رمز.

يستحق Zx9#kQ2m وقفة، لأنه أفضل حالة ممكنة للقاعدة. ثمانية محارف عشوائية فعلًا، بالأنواع الأربعة كلها — أي بالضبط ما كانت سياسة 2003 تعتبره كلمة مرور نموذجية. خمس وخمسون دقيقة. وهذا سقف: لا يستطيع المدقق أن يعرف أنك كتبتها عشوائيًا، فيمنحك حسن الظن ويحسب أفضل سيناريو. ثم إن أحدًا لا يكتب هكذا. اطلب من إنسان ثمانية محارف مع رمز، فسيخرج شيء مثل Marhaba123! — 3.3 × 10¹⁰ محاولة، أقل من ثانية.

القاعدة لا تفرّق بين الاثنين. بالنسبة إلى النموذج، Marhaba123! وZx9#kQ2m هما كلمة المرور نفسها. هذا هو الخلل كله: قاعدة التركيب تقيس شكل السلسلة، والمقاومة ليست في الشكل.

قاعدة التسعين يومًا، أو كيف تُخترع Kharif2026!

النصف الآخر من ميراث 2003 هو انتهاء الصلاحية. غيّرها كل تسعين يومًا.

لا أحد يخترع كلمة مرور جديدة كل تسعين يومًا. ما يفعله الناس — ما تفعله أنت، وأفعله أنا — هو زيادة القديمة درجة واحدة. يصير Sayf2026! هو Kharif2026! وينتهي العمل. الاثنتان تصمدان أقل من ثانية، وإذا كان المهاجم يملك الأولى فتخمين الثانية ليس هجومًا: إنه ملء فراغ.

سحب NIST التغيير الدوري الإلزامي في SP 800-63B، عام 2017. وفي مراجعة أغسطس 2025 اشتدت اللهجة: حيث كان النص يقول إن المدقّقين لا ينبغي أن يفرضوا قواعد تركيب ولا أن يطلبوا تغييرات دورية، صار يقول إنهم لا يجوز لهم فعل أيٍّ منهما. ولا يُفرض التغيير إلا عند وجود دلائل على أن كلمة المرور قد كُشفت.

بعد تسع سنوات من التراجع الأول، ما زالت شركتك تطلب منك حرفًا كبيرًا كل ثلاثة أشهر.

حد عدد المحارف هو أسوأ إشارة على الإطلاق

روى Agarwal أن القشة التي قصمت ظهر البعير — ما دفعه إلى صنع اللعبة — كانت محاولته إنشاء حساب فقيل له إن كلمة مروره طويلة أكثر من اللازم.

من بين كل القواعد العبثية، هذه وحدها التي تشكّل فوق ذلك إشارة سيئة.

النظام الذي يحفظ كلمة مرورك كما ينبغي لا يحفظها: يحفظ بصمتها، والبصمة طولها واحد دائمًا، سواء أعطيتها ثمانية محارف أو ثمانمئة. لا يوجد أي سبب تخزيني لحدٍّ عند ستة عشر. هناك استثناء تقني مشروع ومعروف واحد فقط — bcrypt يتجاهل ما يتجاوز 72 بايت — وهو لا يفسّر النماذج التي تقف عند اثني عشر.

الحد القصير لا يثبت أنهم يحفظون كلمة مرورك نصًا صريحًا، لكنه من نوع التفاصيل التي لا تظهر إلا حين يكون أحدهم قد حشرها في عمود قاعدة بيانات ثابت العرض. وSP 800-63B نفسه يطلب العكس: قبول 64 محرفًا على الأقل.

القاعدة التي تنفع فعلًا لا تتسع لها خانة في نموذج

الانزعاج العميق أن الممارسة الجيدة لا يمكن التعبير عنها كمربع تحقق. لا أحد يستطيع كتابة تعبير نمطي لـ«ألا تكون قد استخدمتها في مكان آخر» ولا لـ«ألا تكون في آخر تسريب».

ما يمكن فعله هو العدّ. عبارة من كلمات مختارة بالنرد — Diceware — تضيف 12.9 بت نظيفة لكل كلمة، وهذه البتات بتات حقيقية. بالنموذج نفسه، 10¹² محاولة في الثانية:

  • خمس كلمات تساوي 64.6 بت: نحو 164 يومًا.
  • ست كلمات تساوي 77.5 بت: نحو 3,500 سنة.

ينبغي ذكر الرقمين لا الثاني وحده. يتكرر كثيرًا أن عبارة من خمس كلمات «تصمد قرونًا»؛ أمام تجزئة سريعة لا تصمد قرونًا: تصمد خمسة أشهر ونصفًا. لذلك أوصى Reinhold بخمس حدًا أدنى وبست لما يهم فعلًا. الكلمة السادسة هي التي تغيّر المقياس، وهي مجانية.

ولن تجتاز أيٌّ منهما نموذج مصرفك.

لماذا اللعبة مضحكة

حين تطلب اللعبة أن يكون مجموع الأرقام 25، تضحك لأنه شرط اعتباطي لا علاقة له بما يجعل كلمة المرور آمنة.

وطلب رمز هو أيضًا شرط اعتباطي لا علاقة له بما يجعل كلمة المرور آمنة. الفرق أن هذا الشرط يقدّمه نصف الإنترنت، وأننا تعلقنا به.

إن أردت الخلاصة العملية فهي في ثلاثة أسطر: استخدم المولّد أو حبات نرد، وضع النتيجة في مدير كلمات المرور، واستوفِ قواعد النموذج بأن تضيف ما يطلبه، دون أن تصدّق أن ذلك حماك من شيء. الحرف الكبير في البداية و! في النهاية رسم مرور، لا خط دفاع.

الباقي لعبة. مصنوعة ببراعة، ويا ليتها بقيت لعبة.


المصادر: Neal Agarwal، «The Password Game» (neal.fun، 27 يونيو 2023)، وقواعدها الخمس والثلاثون ورواية المؤلف نفسه عن النموذج الذي أخبره أن كلمة مروره طويلة أكثر من اللازم · NIST SP 800-63 (2003) وSP 800-63B (2017) وSP 800-63B-4 (أغسطس 2025)، التي تنتقل من «لا ينبغي» إلى «لا يجوز» بشأن قواعد التركيب وانتهاء الصلاحية، وتطلب قبول 64 محرفًا على الأقل · تصريحات Bill Burr لصحيفة Wall Street Journal، أغسطس 2017 · Arnold G. Reinhold، Diceware (1995)، ومنها تأتي الـ12.9 بت لكل كلمة. أزمنة الجدول مقيسة بمدقق هذا الموقع، بنموذجه المعلن 10¹² محاولة في الثانية أمام تجزئة سريعة؛ وأرقام Diceware محسوبة بالمعدل نفسه انطلاقًا من log₂(7,776) لكل كلمة.

صورة بواسطة Olha Ruskykh · Pexels

← العودة إلى المدونة