مصادقة التحدي والاستجابة
تعتمد هذه المقالة بشكل كبير أو كليًا على مصدر واحد . ( February 2019 ) |
في أمان الكمبيوتر ، تعد مصادقة التحدي والاستجابة مجموعة من البروتوكولات حيث يقدم أحد الأطراف سؤالاً ("تحدي") ويجب على الطرف الآخر تقديم إجابة صالحة ("استجابة") ليتم مصادقته . [1]
أبسط مثال على بروتوكول التحدي والاستجابة هو مصادقة كلمة المرور ، حيث يطلب التحدي كلمة المرور والاستجابة الصالحة هي كلمة المرور الصحيحة.
يمكن للخصم الذي يمكنه التنصت على مصادقة كلمة المرور أن يصادق نفسه عن طريق إعادة استخدام كلمة المرور التي تم اعتراضها. أحد الحلول هو إصدار كلمات مرور متعددة، كل منها مُميزة بمعرف. يمكن للمحقق بعد ذلك تقديم معرف، ويجب على المُثبت الرد بكلمة المرور الصحيحة لهذا المعرف. وبافتراض أن كلمات المرور تم اختيارها بشكل مستقل، فإن الخصم الذي يعترض زوجًا واحدًا من رسائل التحدي والاستجابة لا يملك أي أدلة للمساعدة في تحدٍ مختلف في وقت مختلف.
على سبيل المثال، عندما لا تتوفر طرق أخرى لتأمين الاتصالات ، يستخدم الجيش الأميركي نظام التشفير الرقمي AKAC-1553 TRIAD للتحقق من صحة بعض الاتصالات وتشفيرها. ويتضمن نظام TRIAD قائمة برموز التحدي المكونة من ثلاثة أحرف، والتي من المفترض أن يختار منها المحقق عشوائياً، واستجابات عشوائية مكونة من ثلاثة أحرف لهذه الرموز. ولزيادة الأمان، لا تكون كل مجموعة من الرموز صالحة إلا لفترة زمنية معينة، وهي عادة 24 ساعة.
تعمل تقنية أخرى أساسية للتحدي والاستجابة على النحو التالي. يتحكم بوب في الوصول إلى بعض الموارد، وتسعى أليس إلى الدخول. يصدر بوب التحدي "52w72y". يجب أن تستجيب أليس بسلسلة الأحرف الوحيدة التي "تتناسب" مع التحدي الذي أصدره بوب. يتم تحديد "الملاءمة" بواسطة خوارزمية محددة مسبقًا، ويعرفها كل من بوب وأليس. قد تكون الاستجابة الصحيحة بسيطة مثل "63x83z"، مع تغيير الخوارزمية لكل حرف من التحدي باستخدام شفرة قيصر . في الواقع، ستكون الخوارزمية أكثر تعقيدًا بكثير. يصدر بوب تحديًا مختلفًا في كل مرة، وبالتالي فإن معرفة استجابة صحيحة سابقة (حتى لو لم يتم حجبها بواسطة وسائل الاتصال) لا تسمح للخصم بتحديد الاستجابة الصحيحة الحالية.
بروتوكولات غير تشفيرية أخرى
تُستخدم بروتوكولات التحدي والاستجابة أيضًا في التطبيقات غير المشفرة. على سبيل المثال، تهدف اختبارات CAPTCHA إلى السماح لمواقع الويب والتطبيقات بتحديد ما إذا كان التفاعل قد تم بواسطة مستخدم حقيقي وليس أداة استخراج بيانات من الويب أو برنامج روبوت . في اختبارات CAPTCHA المبكرة، كان التحدي المرسل إلى المستخدم عبارة عن صورة مشوهة لنص ما، واستجاب المستخدم بنسخ النص. تم تصميم التشويه لجعل التعرف الضوئي الآلي على الحروف (OCR) صعبًا ومنع برنامج الكمبيوتر من المرور كإنسان.
تقنيات التشفير
كانت المصادقة غير المشفرة كافية بشكل عام في الأيام التي سبقت الإنترنت ، عندما كان المستخدم قادرًا على التأكد من أن النظام الذي يطلب كلمة المرور هو النظام الذي كان يحاول الوصول إليه بالفعل، وأنه من غير المرجح أن يتنصت أحد على قناة الاتصال . لمعالجة مشكلة القناة غير الآمنة، هناك حاجة إلى نهج أكثر تطورًا. تتضمن العديد من الحلول التشفيرية مصادقة ثنائية الاتجاه؛ يجب على كل من المستخدم والنظام التحقق من معرفتهما بالسر المشترك (كلمة المرور)، دون أن يتم نقل السر مطلقًا بشكل واضح عبر قناة الاتصال.
تتضمن إحدى الطرق التي يتم بها ذلك استخدام كلمة المرور كمفتاح تشفير لنقل بعض المعلومات التي تم إنشاؤها عشوائيًا كتحدي ، حيث يجب على الطرف الآخر إرجاع قيمة مشفرة مماثلة كاستجابة وهي عبارة عن وظيفة محددة مسبقًا للمعلومات المقدمة في الأصل، وبالتالي إثبات أنه كان قادرًا على فك تشفير التحدي. على سبيل المثال، في Kerberos ، يكون التحدي عددًا صحيحًا مشفرًا N ، بينما تكون الاستجابة هي العدد الصحيح المشفر N + 1 ، مما يثبت أن الطرف الآخر كان قادرًا على فك تشفير العدد الصحيح N. يمكن أيضًا تطبيق دالة التجزئة على كلمة مرور وقيمة تحدي عشوائية لإنشاء قيمة استجابة. يستخدم تباين آخر نموذجًا احتماليًا لتوفير تحديات عشوائية مشروطة بإدخال النموذج. [2]
لا تكشف مثل هذه التبادلات المشفرة أو المجزأة عن كلمة المرور بشكل مباشر للمتنصت. ومع ذلك، قد توفر معلومات كافية للسماح للمتنصت باستنتاج كلمة المرور، باستخدام هجوم القاموس أو هجوم القوة الغاشمة . إن استخدام المعلومات التي يتم إنشاؤها عشوائيًا في كل تبادل (حيث تكون الاستجابة مختلفة عن التحدي) يحمي من احتمالية حدوث هجوم إعادة التشغيل ، حيث يقوم وسيط ضار ببساطة بتسجيل البيانات المتبادلة وإعادة إرسالها في وقت لاحق لخداع أحد الطرفين ليعتقد أنه قام بمصادقة محاولة اتصال جديدة من الطرف الآخر.
تستخدم بروتوكولات المصادقة عادةً رقمًا عشوائيًا مشفرًا كتحدي لضمان أن تكون كل تسلسل تحدي واستجابة فريدًا. وهذا يحمي من التنصت من خلال هجوم إعادة التشغيل اللاحق . إذا كان من غير العملي تنفيذ رقم عشوائي حقيقي، فيمكن لمولد أرقام عشوائية زائفة قوي وآمن تشفيريًا ووظيفة تجزئة تشفيرية أن تولد تحديات من غير المرجح أن تحدث أكثر من مرة. من المهم أحيانًا عدم استخدام أرقام عشوائية تعتمد على الوقت، حيث يمكن أن تضعف هذه الأرقام الخوادم في مناطق زمنية مختلفة والخوادم ذات الساعات غير الدقيقة. قد يكون من المهم أيضًا استخدام أرقام عشوائية تعتمد على الوقت وساعات متزامنة إذا كان التطبيق عرضة لهجوم رسالة متأخرة. يحدث هذا الهجوم عندما ينسخ المهاجم إرسالًا أثناء منعه من الوصول إلى الوجهة، مما يسمح له بإعادة تشغيل الإرسال الملتقط بعد تأخير من اختياره. يتم إنجاز ذلك بسهولة على القنوات اللاسلكية. يمكن استخدام nonce المستند إلى الوقت للحد من قدرة المهاجم على إعادة إرسال الرسالة ولكن يتم تقييده بوقت انتهاء صلاحية ربما أقل من ثانية واحدة، مما قد لا يكون له أي تأثير على التطبيق وبالتالي تخفيف الهجوم.
يتم إجراء المصادقة المتبادلة باستخدام مصافحة التحدي والاستجابة في كلا الاتجاهين؛ يضمن الخادم أن العميل يعرف السر، ويضمن العميل أيضًا أن الخادم يعرف السر، مما يحمي من الخادم المارق الذي ينتحل شخصية الخادم الحقيقي.
يمكن أن تساعد مصادقة التحدي والاستجابة في حل مشكلة تبادل مفاتيح الجلسة للتشفير. باستخدام دالة اشتقاق المفتاح ، يمكن دمج قيمة التحدي والسر لتوليد مفتاح تشفير غير متوقع للجلسة. هذا فعال بشكل خاص ضد هجوم الرجل في المنتصف، لأن المهاجم لن يكون قادرًا على اشتقاق مفتاح الجلسة من التحدي دون معرفة السر، وبالتالي لن يكون قادرًا على فك تشفير تدفق البيانات.
مثال بسيط لتسلسل المصادقة المتبادلة
- يرسل الخادم قيمة تحدي فريدة sc إلى العميل
- يرسل العميل قيمة تحدي فريدة cc إلى الخادم
- يقوم الخادم بحساب sr = hash( cc + secret) ويرسله إلى العميل
- يقوم العميل بحساب cr = hash( sc + secret) ويرسله إلى الخادم
- يقوم الخادم بحساب القيمة المتوقعة لـ cr ويتأكد من استجابة العميل بشكل صحيح
- يقوم العميل بحساب القيمة المتوقعة لـ sr ويتأكد من استجابة الخادم بشكل صحيح
أين
- sc هو التحدي الذي تم إنشاؤه بواسطة الخادم
- cc هو التحدي الذي تم إنشاؤه بواسطة العميل
- cr هو رد العميل
- sr هي استجابة الخادم
هذا المثال المحدد عرضة لهجوم الانعكاس .
تخزين كلمة المرور
لتجنب تخزين كلمات المرور، تقوم بعض أنظمة التشغيل (مثل يونكس ) بتخزين تجزئة كلمة المرور بدلاً من تخزين كلمة المرور نفسها. أثناء المصادقة، يحتاج النظام فقط إلى التحقق من أن تجزئة كلمة المرور المدخلة تتطابق مع التجزئة المخزنة في قاعدة بيانات كلمات المرور. وهذا يجعل من الصعب على المتسلل الحصول على كلمات المرور، حيث لا يتم تخزين كلمة المرور نفسها، ومن الصعب جدًا تحديد كلمة مرور تتطابق مع تجزئة معينة. ومع ذلك، فإن هذا يمثل مشكلة للعديد من خوارزميات التحدي والاستجابة (ولكن ليس كلها)، والتي تتطلب من كل من العميل والخادم أن يكون لديهما سر مشترك. نظرًا لأن كلمة المرور نفسها لا يتم تخزينها، فعادةً ما يتعين على خوارزمية التحدي والاستجابة استخدام تجزئة كلمة المرور كسر بدلاً من كلمة المرور نفسها. في هذه الحالة، يمكن للمتسلل استخدام التجزئة الفعلية، بدلاً من كلمة المرور، مما يجعل التجزئات المخزنة حساسة مثل كلمات المرور الفعلية. SCRAM هي خوارزمية تحدي واستجابة تتجنب هذه المشكلة.
أمثلة
ومن أمثلة خوارزميات التحدي والاستجابة الأكثر تطورًا ما يلي:
- أنظمة إثبات كلمة المرور بدون معرفة واتفاقية المفاتيح (مثل كلمة المرور عن بعد الآمنة (SRP) )
- بروتوكول مصادقة التحدي والمصافحة (CHAP) ( RFC 1994)
- CRAM-MD5 ، OCRA: خوارزمية التحدي والاستجابة OATH ( RFC 6287)
- آلية مصادقة الاستجابة للتحدي المملح (SCRAM) ( RFC 5802)
- نظام التحدي والاستجابة الخاص بـ ssh يعتمد على RSA . [3]
يعتبر بعض الأشخاص أن CAPTCHA هو نوع من مصادقة التحدي والاستجابة التي تمنع روبوتات البريد العشوائي . [4]
انظر أيضا
- التوقيع (عسكري)
- بروتوكول مصادقة التحدي والمصافحة
- تصفية البريد العشوائي بين التحدي والاستجابة
- كرام-MD5
- دالة التجزئة التشفيرية
- رقم تشفيري عشوائي
- كيربيروس
- بروتوكول أوتواي-ريس
- بروتوكول نيدهام-شرودر
- بروتوكول الضفدع ذو الفم الواسع
- اتفاقية مفتاح المصادقة بكلمة مرور
- آلية مصادقة الاستجابة للتحدي المملح
- قاعدة بيانات SQL
- بروتوكول تحديد المسافة
- هجوم الانعكاس
- هجوم الإعادة
- هجوم الرجل في المنتصف
- المصادقة على الويب
مراجع
- ^ هينك سي ايه فان تيلبورج. سوشيل جاجوديا (8 يوليو 2014). موسوعة التشفير والأمن. سبرينغر العلوم والإعلام التجاري. رقم ISBN 978-1-4419-5906-5.
- ^ أحمد، إبراهيم ح.؛ حنا، يوشيا ب.؛ فوسونغ، إليوت؛ ألبريشت، ستيفانو ف. (2021). التطورات في التطبيقات العملية للوكلاء، والأنظمة متعددة الوكلاء، والصالح الاجتماعي. مجموعة PAAMS . مذكرات محاضرات في علوم الكمبيوتر. المجلد 12946. ص 14-26. doi :10.1007/978-3-030-85739-4. ISBN 978-3-030-85738-7. S2CID 237611496.
- ^ "نسخة مؤرشفة". www.cag.lcs.mit.edu . مؤرشفة من الأصل في 14 أكتوبر 2004 . تم الاسترجاع في 19 أكتوبر 2022 .
{{cite web}}:CS1 maint: نسخة مؤرشفة كعنوان ( رابط ) - ^ "مصادقة التحدي والاستجابة".
