[security] تسجيل الدخول عبر النطاق - كيفية تسجيل دخول المستخدم تلقائيًا عند نقله من نطاق إلى آخر



Answers

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

أنا ألعب رجل في منتصف التجسس على جاك. يصل Jack إلى domain1.com مما يؤدي إلى إعداد التجزئة وإرسالها إليه حتى يتمكن من الوصول إلى ذلك domain2.com عندما يصل إلى domain2.com . عند وصوله إلى domain1.com ، يأتي طلبه من domain1.com ، domain1.com ، domain1.com يستمر. يمكنني الوصول إلى domain2.com باستخدام التجزئة ، والآن دعوني domain2.com التجزئة. انه لا يوجد أكثر حكمة حتى يحاول تسجيل الدخول إلى domain2.com وقيل له أن أوراق اعتماده لم تعد صالحة.

كيف تتغلب على هذا؟

Question

نحن نقدم عددًا من الخدمات عبر الإنترنت. نحن مطالبون بتطوير نظام يوفر تجربة سريعة / بسيطة للمستخدمين إذا تم نقلهم من خدمة واحدة (على domain1.com ) إلى خدمة أخرى (على domain2.com ).

هل هناك طريقة آمنة ومأمونة لتسجيل الدخول تلقائيًا للمستخدم بمجرد نقله إلى الخدمة الجديدة؟

صاح في وجهي إذا كان الحل أدناه غير آمن / خاطئ تمامًا.

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

سيقوم domain1.com بإنشاء تجزئة فريدة وتخزينها في قاعدة بيانات مع التجزئة المرتبطة مستخدم مع حقل تاريخ / وقت انتهاء الصلاحية.

سيتم نقل المستخدم إلى domain2.com/auto/?hash=d41d8cd98f00b204e9800998ecf8427e

domain2.com بعد ذلك طلبًا إلى domain1.com باستخدام التجزئة للحصول على معلومات حول المستخدم. domain1.com ثم إزالة التجزئة من قاعدة البيانات. سوف domain2.com تسجيل المستخدم في وتعيين ملف تعريف الارتباط إلخ.

هل يمكن أن يعتمد شيء ما على OpenID أو OAuth على النتائج نفسها؟




هذا حل جيد. هنا نقطتان للنظر:

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

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






Related