سؤال

أستطيع أن أفهم أن فرض حد أدنى لطول كلمات المرور أمر منطقي للغاية (لإنقاذ المستخدمين من أنفسهم)، ولكن بنك يشترط أن تتكون كلمات المرور من 6 إلى 8 أحرف، وبدأت أتساءل...

  • ألن يسهل هذا الأمر على هجمات القوة الغاشمة؟(سيء)
  • هل هذا يعني أن كلمة المرور الخاصة بي مخزنة غير مشفرة؟(سيء)

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

هل كانت مفيدة؟

المحلول

يتم تجزئة كلمات المرور إلى 32، 40، 128، مهما كان طولها.السبب الوحيد للحد الأدنى للطول هو منع كلمات المرور سهلة التخمين.ليس هناك غرض للحد الأقصى للطول.

الإلزامي XKCD شرح سبب قيامك بإيذاء المستخدم الخاص بك إذا قمت بفرض حد أقصى للطول:

The obligatory XKCD

نصائح أخرى

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

وفي ذلك الأمر:(أ) تجنب استخدام هذا الموقع مثل الطاعون إن أمكن [من الواضح أنهم يعرفون المكسرات حول الأمان] (ب) إذا كان عليك استخدام الموقع ، فتأكد من أن كلمة مرورك فريدة - على عكس أي كلمة مرور تستخدمها في مكان آخر.

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

[داخليًا، بالطبع قد يتعامل الكود الخاص بك فقط مع أول 256/1028/2k/4k بايت (أيًا كان) على أنها "مهمة" لتجنب معالجة كلمات المرور الضخمة.]

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

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

إن تعيين الحد الأعلى لشيء مثل 256 حرفًا يبدو سخيًا للغاية وفقًا لمعايير اليوم.

أولاً، لا تفترض أن البنوك لديها متخصصون جيدون في مجال أمن تكنولوجيا المعلومات يعملون لصالحها. الكثير لا تفعل ذلك.

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

تم الآن عدم تشجيع الحد الأقصى لطول كلمة المرور من خلال ورقة الغش الخاصة بمصادقة OWASP

https://www.owasp.org/index.php/Authentication_Cheat_Sheet

نقلا عن الفقرة بأكملها:

توفر كلمات المرور الأطول مجموعة أكبر من الأحرف، وبالتالي تجعل من الصعب على المهاجم تخمينها.

يجب أن يفرض التطبيق الحد الأدنى لطول كلمات المرور.تعتبر كلمات المرور التي يقل طولها عن 10 أحرف ضعيفة ([1]).على الرغم من أن تطبيق الحد الأدنى للطول قد يسبب مشاكل في حفظ كلمات المرور بين بعض المستخدمين، إلا أنه يجب على التطبيقات تشجيعهم على تعيين عبارات مرور (جمل أو مجموعة من الكلمات) يمكن أن تكون أطول بكثير من كلمات المرور النموذجية ولكن من الأسهل تذكرها.

لا ينبغي تعيين الحد الأقصى لطول كلمة المرور على مستوى منخفض جدًا، حيث سيمنع ذلك المستخدمين من إنشاء عبارات مرور.الحد الأقصى للطول النموذجي هو 128 حرفًا.عادةً ما تُعتبر عبارات المرور التي يقل طولها عن 20 حرفًا ضعيفة إذا كانت تتكون فقط من أحرف لاتينية صغيرة.كل حرف التهم!

تأكد من أن كل حرف يكتبه المستخدم مدرج بالفعل في كلمة المرور.لقد رأينا أنظمة تقوم باقتطاع كلمة المرور بطول أقصر مما قدمه المستخدم (على سبيل المثال، يتم اقتطاعها عند 15 حرفًا عند إدخال 20 حرفًا).يتم التعامل مع هذا عادةً عن طريق تعيين طول جميع حقول إدخال كلمة المرور ليكون بنفس طول كلمة المرور القصوى.وهذا مهم بشكل خاص إذا كان الحد الأقصى لطول كلمة المرور قصيرًا، مثل 20-30 حرفًا.

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

قد تكون عملية تفكير أخرى هي أنه إذا أُجبر المستخدم على استخدام كلمة مرور قصيرة، فمن المرجح أن يخترع هراء عشوائيًا بدلاً من عبارة جذابة أو لقب يسهل تخمينها (من قبل أصدقائه/عائلته).هذا الأسلوب بالطبع فعال فقط إذا كانت الواجهة الأمامية تفرض خلط الأرقام/الحروف وترفض كلمات المرور التي تحتوي على أي كلمات في القاموس، بما في ذلك الكلمات المكتوبة باللغة l33t-speak.

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

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

أعتقد أنك على حق في كلتا النقطتين.إذا كانوا يقومون بتخزين كلمات المرور المجزأة، كما ينبغي، فلن يؤثر طول كلمة المرور على مخطط قاعدة البيانات الخاص بهم على الإطلاق.يؤدي وجود طول كلمة مرور مفتوحة إلى ظهور متغير آخر يجب على مهاجم القوة الغاشمة أن يأخذه في الاعتبار.

من الصعب أن تجد أي عذر للحد من طول كلمة المرور، إلى جانب التصميم السيئ.

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

التخزين رخيص، لماذا تحديد طول كلمة المرور.حتى إذا كنت تقوم بتشفير كلمة المرور بدلاً من تجزئتها فقط، فلن يستغرق تشفير سلسلة مكونة من 64 حرفًا أكثر من سلسلة مكونة من 6 أحرف.

من المحتمل أن يكون نظام البنك متراكبًا على نظام قديم، لذا لم يتمكنوا إلا من السماح بقدر معين من المساحة لكلمة المرور.

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

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

إن حل البطاقة الذكية لن يناسبني.لدي بالفعل الكثير من البطاقات كما هي ...لست بحاجة إلى وسيلة للتحايل أخرى.

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

تجاهل الأشخاص الذين يقولون بعدم التحقق من صحة كلمات المرور الطويلة.يقول Owasp حرفيًا أن 128 حرفًا يجب أن تكون كافية.فقط لإعطاء مساحة كافية للتنفس، يمكنك إعطاء المزيد قليلاً، على سبيل المثال 300، 250، 500 إذا كنت ترغب في ذلك.

https://www.owasp.org/index.php/Authentication_Cheat_Sheet#Password_Length

طول كلمة المرور توفر كلمات المرور الأطول مزيجا أكبر من الشخصيات وبالتالي تجعل من الصعب على المهاجم خمن.

...

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

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

أنا شخصيا أؤمن بهذه المسألة المحددة، لكل مستخدم خاصته.إذا كنت تعتقد أنه يمكنك تذكر كلمة مرور مكونة من 40 حرفًا، فهذا يعني أنك تتمتع بمزيد من القوة!

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

من الصعب اختراق كلمات المرور الأطول، أو عبارات المرور، بناءً على طولها، كما أنها أسهل في التذكر مقارنة بطلب كلمة مرور معقدة.

ربما من الأفضل اختيار حد أدنى طويل إلى حد ما (10+)، مما يجعل تقييد الطول عديم الفائدة.

قد تتطلب الأنظمة القديمة (المذكورة سابقًا) أو التواصل مع أنظمة البائع الخارجية الحد الأقصى لعدد الأحرف البالغ 8 أحرف.وقد تكون أيضًا محاولة مضللة لإنقاذ المستخدمين من أنفسهم.سيؤدي تحديدها بهذه الطريقة إلى ظهور عدد كبير جدًا من pssw0rd1 وpssw0rd2 وما إلى ذلك.كلمات المرور في النظام.

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

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

توجد مصادقة Digst للسماح بالمصادقة عبر القنوات غير المشفرة.إذا كنت تستخدم SSL أو أي تشفير آخر كامل القناة، فلن تكون هناك حاجة لاستخدام آليات مصادقة الملخص، مما يعني أنه يمكن تخزين كلمات المرور مجزأة بدلاً من ذلك (حيث يمكن إرسال كلمات المرور بنص عادي عبر السلك بأمان (لقيمة معينة آمنة).

حاول ألا تفرض أي قيود إلا إذا كان ذلك ضروريا.كن حذرا:قد يكون ضروريًا في الكثير من الحالات المختلفة.يعد التعامل مع الأنظمة القديمة أحد هذه الأسباب.تأكد من اختبار حالة كلمات المرور الطويلة جدًا جيدًا (هل يستطيع نظامك التعامل مع كلمات مرور طويلة بحجم 10 ميجابايت؟).يمكنك مواجهة مشكلات رفض الخدمة (DoS) نظرًا لأن وظائف تعريف المفاتيح (KDF) التي ستستخدمها (عادةً PBKDF2، وbcrypt، وscrypt) ستستغرق الكثير من الوقت والموارد.مثال واقعي للحياة: http://arstechnica.com/security/2013/09/long-passwords-are-good-but-too-much-length-can-be-bad-for-security/

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

أعتقد أن الحد الوحيد الذي يجب تطبيقه هو حد 2000 حرف، أو أي شيء آخر مرتفع بشكل غير معقول، ولكن فقط للحد من حجم قاعدة البيانات إذا كانت هذه مشكلة

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top