بروتوكول المصادقة في شبكات الحاسوب Challenge-Handshake Authentication Protocol

اقرأ في هذا المقال


يُعد بروتوكول مصادقة تعارف التحدي “CHAP” بأنّه بروتوكول مصادقة بروتوكول من نقطة إلى نقطة “PPP” تم تطويره بواسطة “IETF“، كما يتم استخدامه عند بدء التشغيل الأولي للارتباط وأيضاً يقوم بإجراء فحوصات دورية للتحقق ممّا إذا كان جهاز التوجيه لا يزال يتصل بنفس المضيف.

ما هو بروتوكول CHAP

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

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

  • “CHAP” هي اختصار لـ “Challenge-Handshake Authentication”.
  • “PAP” هي اختصار لـ “Password Authentication Protocol”.
  • “IETF” هي اختصار لـ “Internet Engineering Task Force”.

فوائد بروتوكول CHAP

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

ملاحظة:“MD5” هي اختصار لـ “Message Digest 5”.

ملاحظة:“TCP” هي اختصار لـ “Transmission Control Protocol”.

أنواع حزم CHAP

أولاً: حزمة التحدي

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

ثانياً: حزمة الاستجابة

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

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

ثالثاً: حزمة النجاح

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

رابعاً: حزمة الفشل

إذا كانت القيمة التي تم إنشاؤها مختلفة، فسيتم إرسال حزمة الفشل إلى النظير.

أساسيات بروتوكول CHAP

يُعد بروتوكول مصادقة مصادقة التحدي “CHAP” بأنّه عملية مصادقة مستعمل إلى كيان شبكة، والذي قد يكون أي خادم وعلى سبيل المثال مزود خدمة الإنترنت أو الويب”ISP“، كما يستعمل “CHAP” بشكل أساسي لأغراض أمنية، وعلى سبيل المثال يوفر المستخدمون كلمات مرور ذات نص عادي مصدق عليها.

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

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

آلية عمل بروتوكول CHAP

  • بعد اكتمال مرحلة تغليف ارتباط “PPP” يرسل جهاز التوجيه المحلي رسالة تحدي إلى المضيف البعيد.
  • يرسل المضيف البعيد استجابة بقيمة محسوبة باستخدام دالة تجزئة أحادية الاتجاه، والتي عادةً ما تكون “MD5” بناءً على كلمة المرور ورسالة التحدي.
  • يتحقق جهاز التوجيه المحلي من الاستجابة من المضيف البعيد مقابل حسابه الخاص لقيمة التجزئة المتوقعة، حيث إذا كان هناك تطابق فإنّ المضيف البادئ يقر المصادقة، وحيث إذا لم تتطابق القيم فإنّه ينهي الاتصال على الفور.

ملاحظة:“PPP” هي اختصار لـ “Point-to-Point Protocol”.

مزايا بروتوكول CHAP

  • يوفر “CHAP” الحماية ضد هجوم التشغيل باستخدام قيمة التحدي المختلفة الفريدة والتي تأتي بشكل عشوائي، ونظراً لأنّ التحدي فريد ولا يمكن التنبؤ به فإنّ قيمة التجزئة الناتجة تكون أيضًا فريدة وعشوائية مّما يجعل من الصعب “التخمين”.
  • استخدام التحديات المتكررة والمختلفة يحد من وقت التعرض لأي هجوم واحد.
  •  يتحكم جهاز التوجيه المحلي أو خادم المصادقة التابع لجهة خارجية في تكرار التحديات وتوقيتها.

ملحوظات استخدام بروتوكول CHAP

  • يمكنك تمكين إمّا “PAP” أو”CHAP” أو كليهما على الشبكة، حيث إذا تم تمكين كلا المصادقتين يتم طلب ” PAP” أثناء مفاوضات الارتباط، حيث إذا اقترح جهاز الشبكة استخدام “CHAP” أو رفض الطريقة الأولى ببساطة فسيتم تجربة الطريقة الثانية.
  • تدعم بعض الأجهزة البعيدة “CHAP” فقط وبعض أجهزة “PAP” فقط، كما يوصى بشدة باستخدام كلاهما على جهاز توجيه “Cisco” للحصول على أقصى قدر من أمان البيانات.
  • يتم إرسال أسماء المستخدمين وكلمات المرور لـ “PAP” كسلاسل نصية واضحة ويمكن اعتراضها وإعادة استخدامها، وقضت “CHAP” على معظم الثغرات الأمنية المعروفة.

عيوب بروتوكول CHAP

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

المصدر: COMPUTER NETWORKING / James F. Kurose & Keith W. RossComputer Networks - The Swiss BayCOMPUTER NETWORKS LECTURE NOTES / B.TECH III YEAR – II SEM (R15)An Introduction to Computer Networks / Peter L Dordal


شارك المقالة: