بروتوكول أوضاع الشهادات على الإنترنت
بروتوكول أوضاع الشهادات على الإنترنت أو ما يعرف برمز (OCSP) اختصارا للعبارة ، هو بروتوكول على شبكة الإنترنت يُستخدم للحصول على الوضع الخاص بالشهادة الرقمية X.509، تم وصف هذا البروتوكول في ، وأيضاً في سجل معايير الإنترنت، تم إنشاءه كبديل عن قوائم نقض الشهادات (Certificate revocation lists) وتحديداً لمعالجة مشاكل معينة مرتبطة باستخدام الـ (CRLs) في البنية الأساسية للمفتاح العام.
الرسائل التي يتم ارسالها باستخدام الـOCSP يتم ترميزها في الـ ASN.1 ويتم غالباً ارسالها باستعمال بروتوكول الـ HTTP.
طبيعة هذه الرسائل تكون "طلب\استجابة"، هذه الطبيعة تقود إلى ما يُسمى بخوادم بروتوكول أوضاع الشهادات على الإنترنت والذين تتم الإشارة لهم بـ (مجاوبي الـOCSP).
عند نشر البنية الأساسية للمفتاح العام يُفضل استخدام الـ OCSPو ليس الـ CRLsوذلك للأسباب التالية:
1. OCSP تُوفر المعلومات في الوقت المناسب، بشأن إلغاء/تعليق حالة شهادة معينة.
2. OCSP تُزيل الحاجة لعملاء لاسترجاع قوائم الـ CRLs بأنفسهم مما يؤدي إلى ازدحام أقل في الشبكة وإدارة أفضل للـ (Bandwidth).
3. باستخدام الـ OCSP لا يحتاج العملاء للقيام بتحويل قوائم الـ CRLs بأنفسهم.
4. بإمكان مُجاوب الـ OCSP أن يُطبق أليات لإصدار الفواتير، لتحويل تكلفة مصادقة المعاملات إلى البائع بدلاً من المُشتري.
5. يُمكن النظر لقوائم الـ CRLs على أنها مماثلة لشركات بطاقات الائتمان (قوائم العملاء السيئين)، ولا داعي لعرض هذه القوائم للجمهور.
6. يدعم بروتوكول الـ OCSP التسلسل الموثوق به لطلبات الـ OCSP بين مجاوبو الـ OCSP، هذا يسمح للعملاء التواصل مع مجاوب موثوق به للاستفسار عن مجاوب مناوب أو بديل وبالتالي التخلص من التعقيد من جانب العميل.
1. أليس وبوب لديهم شهادة مفتاح عام، تم اصدارها من قِبل إيفان (مصدر الشهادة).
2. أليس تريد أن تقوم بمعاملات مع بوب وتقوم بارسال شهادة المفتاح العام الخاص بها إلى بوب.
3. بوب قلق من أن يكون المفتاح الخاص لأليس قد تعرض للسرقة أو التعديل، لذا يقوم بإنشاء طلب OCSP يحتوي على (بصمة الاصبع للمفتاح العام) الخاص بأليس، وإرساله إلى ايفان.
4. مجاوبو الـ OCSP لدى ايفان يقومون بتخزين (revocation status) لشهادة أليس (باستخدام بصمة الاصبع التي أنشأها بوب)، في قاعدة بيانات مصدر صلاحية الشهادات، وهي قاعدة بيانات تنتمي لايفان.
5. مجاوبون الـ OCSP الخاصين بايفان يؤكدون لاليس ان شهادتها لا تزال سليمة ويُرجعون (رد OCSP) ناجح وموقع إلى بوب.
6. عن طريق التشفير يقوم بوب بالتحقق من الرد الموقع (بوب لديه المفتاح العام الخاص بايفان للنطاق (bandwidth) وايفان هو مجاوب موثوق به) ويؤكد انه تم إنشاء الرد الموقع مؤخراً.
7. بوب يُكمل تعاملاته مع أليس.
من الممكن أن يُعيد مُجاوب الـ OCSP رد مُوقع يدل على أن حالة الشهادة المحددة في الطلب هي "جيدة"، "مُلغاة"أو "غير معروف"، إذا كان الطلب لا يمكن معالجته أو الاستجابة له فإنه يتم إعادة ما يدل على وجود خطأ.
الصيغة العامة لطلب الـ OCSP تدعم امتدادات إضافية، هذا ما يُمَكن من القيام بعملية تعديل واسعة النطاق لمخطط PKI معين.
بروتوكول الـ OCSP له مقاومة عالية ضد هجوم إعادة الإرسال، حيث أن رد موقع بأن الشهادة "جيدة" يتم الحصول عليه من قِبَل وسيط غير مرغوب به (Malicious) وتتم إعادة إرساله للعميل في موعد لاحق بعد أن تكون الشهادة المعنية قد تم إلغائها، OCSP يتغلب على ذلك بإدراج رقم خاص بالطلب، وهذا الطلب يجب إدراجه مع الاستجابة (الرد) المناسب له.
هجوم إعادة الإرسال مُحتمل لكنه لا يُشكل تهديداً أساسياً للأنظمة التي تم تصديقها، يعود ذلك للخطوات
المتبعة لمقاومة هذا الهجوم، المهاجم (Attacker) يجب أن يكون في موقع يسمح له بالقيام بالتالي:
1. السيطرة على حركة الشبكة (Network traffic)، وفي وقت لاحق إعادة إرسال هذه الحركة (تتم هذه العملية بوقف الحركة ثم إعادة تحريكها).
2. الحصول على وضع الشهادة التي على وشك أن تتغير.
3. إجراء معاملة معينة تتطلب الحصول على وضع تلك الشهادة ضمن الإطار الزمني لصلاحية الاستجابة.
غالباً لا يتم إرجاع شهادة تم إلغاءها (فقط في حالة كانت موقفة)، المهاجم يجب أن يحصل على استجابة جيدة وينتظر حتى تُلغى الشهادة ثم يعيد إرسال الاستجابة.
بروتوكول الـOCSP يدعم أكثر من مستوى من مستويات مصدر الشهادة.
طلبات OCSP تكون متسلسلة بين مجاوبين متناظرين للاستفسار عن مُصدر الشهادة المناسب لشهادة معينة، والمجاوبون يصدقون استجابات بعضهم البعض أمام مركز مصدر الشهادة باستخدام طلبات OCSP الخاصة بهم.
تقوم خوادم تصديق مسار التفويض (Delegated Path Validation Servers DPV) بالاستفسار من مجاوبون الـ OCSP عن معلومات الإلغاء, أما الـ OCSP بحد ذاته لا يقوم بأي تفويض لأي من الشهادات الموردة له.