تقنيات فعالة لاسترجاع كلمة المرور في تطبيقات الويب الحديثة

StackOverflow https://stackoverflow.com/questions/910856

سؤال

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

  1. إرسال رابط إعادة تعيين كلمة المرور إلى البريد الإلكتروني للمستخدم.
  2. طرح سؤال سري للمستخدم لاستعادة كلمة المرور.
  3. إعادة تعيين كلمة المرور الحالية وإنشاء كلمة مرور جديدة وإرسالها إلى المستخدم. قد يجبر هذا أيضا على المستخدم تغيير كلمة المرور عند تسجيل الدخول التالي.

هل لدينا أي تقنية غير تقليدية لتنفيذ آلية استرجاع كلمة المرور؟ ما هي الأساليب الأخرى التي جربتها لهذا؟

شكرا.

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

المحلول

ذلك يعتمد على مستوى الأمن الذي تهدف إليه، ويدعم التكاليف ومخاوف قابلية الاستخدام.

البريد الإلكتروني لإرسال رابط إعادة تعيين كلمة المرور هو النهج المفضل لعدة الأسباب:

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

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

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

نصائح أخرى

تشمل الخيارات الأخرى التي رأيتها في الممارسة:

  • السماح بكلمة مرور ثانية عندما يحدث خطأ ما - شيء مثل Super-Pin المستخدمة مع الهواتف المحمولة.
  • إنشاء رمز مميز (عادة مفتاح PGP) يقوم المستخدم بتنزيله في إنشاء الحساب وتخزينه على عصا USB، أو أرشفة استخدامه لاحقا. عندما تكون هناك مشكلة، سيقوم المستخدم بتحميل الرمز المميز، مما يثبت أنه "مالك" الحساب، والتطبيق مما سيسمح للمستخدم بتغيير كلمة المرور. يمكن أن يكون هذا رمزا ثابتا، أو ملف مع العديد من الرموز (يشبه Tans المصرفية عبر الإنترنت) - في كل مرة يتم فيها استخدام الرمز المميز، يتم إبطاله أيضا.

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

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

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

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

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

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

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

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