التحقق من كلمة المرور لتباينات اسم المستخدم

ليس مرتبطًا بشكل مباشر، لكنه مستوحى من Pwned Passwords Validator نظرًا لأننا نقوم مؤخرًا بدراسة تعزيز التحقق من قوة كلمات المرور.

يبدو أن ديسكورس لا يمنع كلمات مرور مثل myusername123 أو 4myusername لحساب المستخدم myusername.

لم أجد أي مناقشة سابقة حول هذا النوع المحدد من كلمات المرور الضعيفة. هل تم النظر في هذا من قبل؟

5 إعجابات

أنا موافق على إضافة فحص عند اختيار كلمة المرور بحيث “لا تحتوي كلمة المرور على اسم المستخدم بالحروف الصغيرة”، يبدو لي ذلك معقولاً.

نحن نختبر بالفعل حالة password = username، لكنني لست من محبي اختبارات التقاطع الجزئي، خاصة للأسماء القصيرة. ماذا لو كان اسم المستخدم الخاص بك هو “Ed” وكان كلمة المرور عبارة عن سلسلة عشوائية تحتوي بالصدفة على “ed”…

3 إعجابات

باستخدام مقياس تشابه مثل المسافة ليفنشتاين، هل يجب الفشل إذا كانت levenshtein(username, password) < 6؟ أم حتى شيء يكتشف التبديلات أيضًا، مثل هذا:

levenshtein(sort_by_chars(username), sort_by_chars(password)) < 6

يبدو أن هذا سيغطي أسوأ إساءات الاستخدام دون منع شخص مثل “إد” من التسجيل بكلمة مرور طويلة وجيدة، وسهل شرحه بدقة: “اسم المستخدم وكلمة المرور لديكما متشابهان جدًا”. لم أبحث عن حالات حافة غير مرغوب فيها، لكن لا يمكنني التفكير في أي منها في الوقت الحالي.

3 إعجابات

تغريدة ذات صلة من اليوم:

5 إعجابات

الجانب الآخر من قواعد “كلما زاد زاد” هو أنه يصبح من الأسهل اختراق كلمات المرور بالقوة الغاشمة.

من الواضح أنه لا ينبغي أن تحتوي كلمة المرور على حرف z مكرّر 10 مرات إذا كانت طولها 15 حرفًا أو أقل.

من الواضح أيضًا أنه لا ينبغي أن تحتوي كلمة المرور على كلمة “password” إذا كانت أقصر من 12 حرفًا.

وجود كلمتين من القاموس متتاليتين هو أمر خاطئ بوضوح…

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

هذا موضوع معقد؛ لقد غيرت رأيي منذ أمس بعد التفكير في الأمر. أنا مع @codinghorror ولا أعتقد أننا بحاجة إلى فعل أي شيء هنا.

3 إعجابات

“من الصعب وضع قواعد جيدة، لذا لا ينبغي لنا وضع قواعد”؟

هذه هي المرة الثانية خلال يومين أرى فيها أعضاءً رفيعي المستوى في فريق Discourse ينشرون مفاهيم خاطئة كبرى حول الأمان. أعتقد أن هناك بعض الأمور العامة التي تحتاجون إلى إعادة النظر فيها، وآمل أن تتقبلوا ذلك كتغذية راجعة بناءة.

كما أن هذه الاقتراح المحدد لا يأتِ من العدم: فقد تعرضت مؤخرًا حساب مستخدم للاختراق لأن اسم المستخدم كان myusername وكان كلمة المرور على الشكل myusername46.

صحيح أن هذا كان موقع ClassicPress (بنية تسجيل دخول مماثلة لـ WordPress)، مما يجعله هدفًا أسهل بكثير للبرامج الآلية وما شابه. ومع ذلك، فإن هذا هو بالضبط ما تبحث عنه البرامج الآلية.

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

من الناحية التقنية، نحن نتبع إرشادات NIST 800-63-B:

عند معالجة طلبات إنشاء وتغيير الأسرار المخزنة، يجب على الموثّقين مقارنة الأسرار المحتملة بقائمة تحتوي على قيم معروفة بأنها شائعة الاستخدام أو متوقعة أو مُختَرقَة. على سبيل المثال، قد تتضمن القائمة، دون حصر، ما يلي:

  • كلمات مرور تم الحصول عليها من مجموعات اختراقات سابقة.
  • كلمات من القواميس.
  • أحرف متكررة أو متسلسلة (مثل ‘aaaaaa’ أو ‘1234abcd’).
  • كلمات خاصة بالسياق، مثل اسم الخدمة أو اسم المستخدم أو مشتقاتها.

إنهم يستخدمون بوضوح كلمة قد وليس يجب. لذا فإن الأمر متروك لتقديرنا. لا توجد توصية بخصوص مسافة ليفنشتاين هنا. ربما “إذا كان اسم المستخدم أطول من 6 أحرف، فلا ينبغي تضمينه في كلمة المرور”، أو ربما يمكننا إضافة فحص للإنتروبيا فوق قائمة كلمات المرور المليون. لا أدري.

أعتقد أنه إذا كنت حريصًا جدًا على تطبيق قواعدهم الخاصة، فيمكنك تشغيل SSO ووضع أي قواعد تريدها من جانبك، أو كتابة إضافة.

3 إعجابات

هذا على الأرجح ما سنقوم به. هناك المزيد من الأمور الناقصة هنا، لكن الردود حتى الآن لا تجعلني أعتقد أنه يستحق العناء ذكرها.

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

إعجاب واحد (1)