خوارزمية التحقق من صحة مسار الشهادة

خوارزمية التحقق من صحة مسار الشهادة هي الخوارزمية التي تتحقق من صحة مسار شهادة معين ضمن بنية مفتاح عام (PKI) محددة. يبدأ المسار بشهادة الموضوع ويمر عبر عدد من الشهادات الوسيطة وصولاً إلى شهادة جذر موثوقة ، تصدر عادةً من قبل جهة إصدار شهادات موثوقة (CA).

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

تحدد المواصفة RFC 5280 [ 1 ] خوارزمية موحدة للتحقق من صحة مسار شهادات X.509 ، وذلك بناءً على مسار الشهادة. (لا تتناول هذه المواصفة اكتشاف المسار، أي عملية إنشاء المسار نفسها). وتأخذ الخوارزمية المدخلات التالية: 

  • مسار الشهادة المراد تقييمه؛
  • التاريخ/الوقت الحالي؛
  • قائمة معرفات كائنات سياسة الشهادة (OIDs) المقبولة لدى الطرف المعتمد (أو أي طرف آخر)؛
  • نقطة ارتكاز الثقة لمسار الشهادة؛ و
  • مؤشرات ما إذا كان مسموحًا برسم خرائط السياسات وكيف/متى/ما إذا كان سيتم التسامح مع معرف كائن السياسة "أي".

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

  • يتم فحص خوارزمية المفتاح العام والمعلمات؛
  • يتم التحقق من التاريخ/الوقت الحالي مقابل فترة صلاحية الشهادة؛
  • يتم التحقق من حالة الإلغاء، سواء عن طريق CRL أو OCSP أو أي آلية أخرى، لضمان عدم إلغاء الشهادة؛
  • يتم التحقق من اسم الجهة المصدرة للتأكد من أنه يساوي اسم الموضوع للشهادة السابقة في المسار؛
  • يتم التحقق من قيود الاسم للتأكد من أن اسم الموضوع موجود ضمن قائمة الأشجار الفرعية المسموح بها لجميع شهادات CA السابقة وليس ضمن قائمة الأشجار الفرعية المستبعدة لأي شهادة CA سابقة؛
  • يتم التحقق من معرفات OID لسياسة الشهادة المؤكدة مقابل معرفات OID المسموح بها اعتبارًا من الشهادة السابقة، بما في ذلك أي مكافئات لتعيين السياسة التي أكدتها الشهادة السابقة؛
  • يتم التحقق من قيود السياسة والقيود الأساسية، لضمان عدم انتهاك أي متطلبات سياسة صريحة، وللتأكد من أن الشهادة هي شهادة صادرة عن جهة مصدقة. هذه الخطوة حاسمة في منع بعض هجمات الوسيط ؛ [ 2 ]
  • يتم فحص طول المسار للتأكد من أنه لا يتجاوز أي حد أقصى لطول المسار تم تأكيده في هذه الشهادة أو شهادة سابقة؛
  • يتم التحقق من امتداد استخدام المفتاح للتأكد من السماح له بتوقيع الشهادات؛ و
  • يتم التعرف على أي امتدادات حرجة أخرى ومعالجتها.

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

انظر أيضاً

مراجع

  1. RFC 5280 (مايو 2008)، الفصل 6، خوارزمية التحقق من صحة المسار الموحدة لشهادات X.509 . 
  2. موكسي مارلينسبايك ، حيل جديدة لهزيمة SSL عمليًا ، مؤتمر Black Hat DC Briefings 2009.