سلسلة مفاهيم MITTF) الكيربيروس .. كلب الشبكات الوفي!

(سلسلة مفاهيم MITTF)
الكيربيروس .. كلب الشبكات الوفي!

ماهو الكيربيروس Kerberos ؟
هو بروتوكول للمصادقة في شبكات الكومبيوتر يعتمد في عمله على مبدأ منح (تذاكر) للسماح للأطراف بالتواصل فيما بينها عبر الشبكات الغير آمنة لإثبات هوياتهم لبعضهم البعض بطريقة آمنة.
كلمة (كيربيروس) مأخوذة من الأساطير اليونانية، وكيربيروس هو كلب حراسة متوحش بثلاثة رؤوس كان يحرس الآلهة أثينا.
تم تصميم هذا البروتوكول في المقام الأول بناءً على نموذج (العميل-الخادم) ويوفر مصادقة متبادلة  لكل من المستخدم والخادم بالتحقق من هوية كل منهما، ورسائل بروتوكول كيربيروس محمية ضد هجمات التنصت او التكرار.
كيربيروس يستخدم مبدأ التشفير بالمفتاح المتناظر، ويتطلب طرف ثالث موثوق به، وبشكلٍ إختياري فقد يستخدم هذا البروتوكول مبدأ التشفير بالمفتاح العام خلال مراحل معينة من المصادقة. يستخدم كيربيروس المنفذ UDP 88 افتراضياً.
ويعتبر كيربيروس من اقوى بروتوكلات المصادقة بين العميل والخادم. ويستخدم كيربيروس تقنية التشفير ( معيار تشفير البيانات DES) ولكن هذه التقنية لم تعد هي التقنية المعتمدة حاليا لذلك توجد ثغرات امنية في العديد من الإصدارات القديمة لكيربيروس لأنه لم يتم تحديثها لأستخدام تقنية (معيار التشفير المتقدم AES) وهي التقنية المعيارية المستخدمة حاليا.
ولما كان الكيربيروس هو كلب بثلاث رؤوس، فهذا البروتوكول أيضا له ثلاث رؤوس للمصادقة على كل عملية وهي:
1- مركز توزيع المفاتيح Key Distribution Center KDC
2- خادم المصادقة Authentication Server AS
3- خادم منح التذاكرTicket Granting Server TGS
طريقة العمل:
1- يدخل المستخدم (اسم المستخدم) والباسورد على جهاز العميل.
2- يتم تشفير الباسورد باستخدام مفتاح شفرة تناظري خاص بالعميل.
3- يتم ارسال (اسم المستخدم) كما هو بدون تشفير الى (خادم المصادقة AS) لطلب الخدمة لحساب العميل مع ملاحظة ان مفتاح التشفير والباسورد لا يتم ارسالهما الى خادم المصادقة.
4- يقوم خادم المصادقة بالتحقق مما إذا كان العميل مسجلا في قاعدة البيانات، فإذا كان موجودا، يقوم خادم المصادقة بتوليد مفتاح سري اخر عن طريق تشفير باسورد العميل الموجود في قاعدة البيانات، ويقوم بإرسال الرسالتين التاليتين الى العميل:
الرسالة A: رسالة مشفرة باستخدام المفتاح السري الخاص بالعميل الذي تم توليده للتو وتحمل (مفتاح جلسة) يستخدم بين العميل و(خادم منح التذاكر TGS)
الرسالة B: هي تذكرة لمنح التذكرة TGT وتحمل جميع المعلومات المتعلقة بالخدمة (اسم المستخدم، عنوان شبكة العميل، صلاحية التذكرة، المفتاح المؤقت بين العمل وخادم منح التذاكر) مشفرة باستخدام مفتاح سري خاص بخادم منح التذاكر فقط.
5- حالما يستلم العميل الرسالتين، يحاول العميل فك تشفير الرسالة A باستخدام نفس المفتاح السري الخاص بالعميل. فإذا ادخل العميل باسورد خاطئ عند بداية الدخول لا يطابق الباسورد الموجود في قاعدة البيانات الذي ادخله العميل عن تسجيل حساب جديد، فإنه حينها لن يستطيع فك شفرة الرسالة A لأنها مشفرة باستخدام الباسورد الأصلي الموجود في قاعدة البيانات وبذلك لن يتمكن من الدخول. أما ان كان الباسورد الذي ادخله العميل صحيحا، فأنه سيتمكن من فك شفرة الرسالة A للحصول على مفتاح الجلسة (عميل-خادم منح التذاكر)، ويمكن إعادة استخدام مفتاح الجلسة هذا في تسجيلات دخول لاحقة. ومن المهم ملاحظة ان العميل لن يتمكن من فك شفرة الرسالة B لأنها مشفرة باستخدام مفتاح سري يملكه خادم منح التذاكر فقط. وعند هذه النقطة فالعميل يملك المعلومات الكافية ليتم التحقق منه من قبل خادم منح التذاكر.
6- يقوم العميل بإرسال رسالتين أيضا الى خادم منح التذاكر:
الرسالة C: مكونة من الرسالة B ومعرف الخدمة المطلوبة.
الرسالة D: رسالة مشفرة باستخدام (مفتاح الجلسة) الذي تم الحصول عليه من خلال فك تشفير الرسالة A وتحمل في داخلها اسم المستخدم وتاريخ ووقت الدخول.
7- حال وصول الرسالتين C و D الى خادم منح التذاكر، فأنه سيقوم بفك تشفير الرسالة C لاستخراج الرسالة B (والتي تحتوي على المعلومات المتعلقة بالخدمة) باستخدام المفتاح السري الخاص به، وهذا سيعطيه أيضا مفتاح الجلسة (عميل-خادم منح التذاكر) والذي سيمكنه من فك تشفير الرسالة D ويقارن اسم المستخدم الوارد في الرسالتين C و D فإذا كانا متطابقين فإنه سيرسل الرسالتين التاليتين للمستخدم:
الرسال E: تذكرة (عميل-خادم) والتي تحتوي على (اسم المستخدم، عنوان شبكة المستخدم، صلاحية التذكرة، مفتاح جلسة بين العميل والخادم).
الرسالة F: مفتاح الجلسة بين العميل والخادم مشفرا باستخدام مفتاح الجلسة (عميل-خادم منح التذاكر).
8- حال وصول الرسالتين E و F الى العميل، فإنه سيملك المعلومات الكافية لإثبات هويته لـ (خادم الخدمة SS) حيث سيقوم بإرسال الرسالتين التاليتين لخادم الخدمة:
الرسالة E: نفسها ولكنها الان مشفرة باستخدام مفتاح خاص بخادم الخدمة.
الرسالة G: رسالة مشفرة باستخدام مفتاح الجلسة (عميل-خادم) وتحمل في داخلها (اسم المستخدم، وقت وتاريخ الدخول).
9- يقوم خادم الخدمة بفك تشفير الرسالة E باستخدام نفس المفتاح الخاص به والذي يملكه لوحده لاسترجاع مفتاح الجلسة (عميل-خادم) حيث سيستخدم هذا المفتاح لفك تشفير الرسالة G ليقارن بين اسم المستخدم الموجود في الرسالة E واسم المستخدم الموجود في الرسالة G، فإذا كانا متطابقين فسيقوم خادم الخدمة بإرسال الرسالة التالية للعميل للتأكيد على إنه تم التحقق من هويته وإن الخادم سيسعده ان يقدم الخدمة له:
الرسالة H: وقت وتاريخ الدخول المستخرج من الرسالة G مشفر باستخدام مفتاح الجلسة (عميل-خادم).
10- يقوم العميل بفك التشفير للرسالة H باستخدام مفتاح الجلسة (عميل-خادم) ويتحقق مما إذا كان وقت وتاريخ الدخول صحيحين، فإذا كانا كذلك، فيمكن حينها للعميل ان يثق بالخادم ويبدأ بطلب الخدمة منه.
11- يقوم الخادم بتزويد العميل بالخدمة المطلوبة.
#Missan_IT_Taskforce
#Nawar_Alseelawi
#سلسلة_مفاهيم_MITTF

شكرا لك ولمرورك