الخلاصة

  • يطلب draft-birkholz-did-x509-03 التحقق من سلسلة مقدمة تبدأ بشهادة الطرف، مع استعمال آخر شهادة كمرساة لمسار ذلك التشغيل، ثم مطابقة بصمة شهادة غير طرفية وكل شروط شهادة الطرف.
  • المرساة الخوارزمية لا تصبح تلقائياً مرساة موثوقة في سياسة الجهة المستقبلة. يجب أن تقبل قاعدة الثقة أو قائمة السماح المحلية سلطة التصديق وDID والسياق على نحو مستقل.
  • التحليل والثقة والتحقق من توقيع الرسالة وتفويض الغرض والتثبيت الدائم والأثر الخارجي تحتاج إلى إيصالات منفصلة. المراجعة 03 مسودة معلوماتية مستقلة، وليست RFC أو معياراً من IETF.

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

لكن من اختار الشهادة الأخيرة مرجعاً موثوقاً للمؤسسة؟

هذه هي الحدود التي تجعل المراجعة 03 من did:x509 مهمة. فالطريقة لا تعتمد على سجل دائم لوثائق DID. يصف المعرّف فئة من الشهادات، وتأتي السلسلة وقت التحليل، ثم تُشتق مادة التحقق بصورة حتمية. ما ثبت هو العلاقة الداخلية بين المعرّف والسلسلة، لا موافقة الجهة التي ستتصرف بناءً على النتيجة.

المعرّف يصف فئة لا شهادة واحدة

تبدأ الصيغة بـ did:x509:0 ثم خوارزمية البصمة والبصمة وشرط واحد على الأقل. تدعم الطريقة SHA-256 وSHA-384 وSHA-512. تقع البصمة على شهادة غير طرفية، قد تكون وسيطة أو شهادة المرساة الأخيرة، بينما تطبق الشروط على شهادة الطرف.

يفحص subject كون أزواج مختارة من اسم الموضوع مجموعة جزئية من الاسم الفعلي. ويطابق san بريداً إلكترونياً أو اسم DNS أو URI واحداً. ويبحث eku عن OID ضمن Extended Key Usage. أما fulcio-issuer فيعيد بادئة https:// ويطابق امتداد جهة Fulcio، بشرط وجوده وألا يكون حرجاً.

يسمح ذلك بتدوير شهادة الطرف من دون تغيير DID. قد تنطبق عدة سلاسل على المعرّف نفسه. غير أن الاستقرار يأتي مقابل دقة الشرط: مجموعة موضوع جزئية وفضفاضة قد تشمل شهادات أكثر مما قصدت الجهة. وجود EKU لا يمنح إذناً تجارياً، ووجود نطاق في SAN لا يثبت حق صاحبه في اعتماد إصدار بعينه. الشرط ينتقي هوية محتملة؛ ولا يفوض فعلاً.

الشهادة الأخيرة مرساة للحساب فقط

يحمل خيار x509chain شهادات DER كاملة بترميز base64url تفصلها فواصل. توضع شهادة الطرف أولاً، والمرساة أو الجذر أخيراً، ويجب رفض ما يقل عن شهادتين.

ينفذ المحلّل تحقق مسار وفق RFC 5280، بما يشمل التوقيعات والقيود والأسماء والسياسات واستعمال المفتاح والامتدادات الحرجة والخوارزميات ووقت التحقق. ثم يفحص بصمة الشهادة غير الطرفية وكل الشروط، ويشتق JWK ووثيقة DID من مفتاح الطرف.

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

تضع RFC 9360 قاعدة مجاورة لسلاسل COSE: لا يجوز لمادة الشهادات المستلمة أن تعدل مراسي الثقة المهيأة في التطبيق بصمت. يمكن للحزمة أن تقدم مدخلات التحقق، لكنها لا تمنح نفسها السيادة.

الإيصال ما يثبته ما يبقى مفتوحاً
تحليل DID الصيغة والإصدار والبصمة والشروط سليمة هل توجد سلسلة مشروعة تحققها؟
تحقق المسار تصل شهادة الطرف إلى آخر شهادة وفق مدخلات معلومة هل تثق الجهة المحلية بهذه الشهادة؟
مطابقة البصمة والشروط تنتمي السلسلة إلى الفئة الموصوفة هل الفئة ضيقة بما يكفي للغرض؟
قرار الثقة المحلي تقبل الجهة CA أو DID في هذا السياق هل توقيع الرسالة الفعلية صحيح؟
تحقق التوقيع تحققت البايتات المغطاة بالمفتاح المستخرج هل للموقّع صلاحية تنفيذ العملية؟
التفويض والتثبيت سُمح للفاعل بالفعل على المورد وسُجل القرار هل وقع الأثر الخارجي المعلن؟

قراءة النص ليست تحقّقاً من الهوية

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

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

الوقت والإلغاء جزء من الحكم

يمكن تنفيذ التحقق في الوقت الحالي أو عند نقطة ملائمة للسياق مثل وقت التوقيع. قد تكون الشهادة منتهية اليوم لكنها كانت صالحة لحظة إنشاء القطعة. لا تصبح مطالبة iat في JWT أو CWT ساعة موثوقة بمجرد وجودها؛ تحدد RFC 7519 وRFC 8392 الحقل، فيما يجب إثبات سلامته وقبوله.

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

تؤكد نماذج الشفافية والإيصالات في RFC 9597 وRFC 9943 المبدأ نفسه: نقل الدليل لا يحدد السلطة التي تمنحه أثراً.

غياب السجل لا يعني غياب الحاكم

لا تملك did:x509 عملية لتحديث وثيقة DID أو تفويضاً للتحديث. ولا تعرف عملية تعطيل أو تفويض تعطيل. الإنشاء محلي، والحل يجمع المعرّف بالسلسلة المقدمة.

إذا انتهت كل شهادات الطرف المطابقة أو ألغيت، فقد يبدو DID معطلاً. لكنه ليس تعطيلًا غير قابل للعكس؛ يمكن لسلطة التصديق أن تصدر شهادة جديدة تطابق الشروط. تتحكم الجهة المشغلة للـCA، واتساع الشروط، وسياسات الجهات المعتمدة في استمرار الهوية.

وقد تعطي عدة سلاسل مطابقة مفاتيح طرف مختلفة. يجب أن يحتفظ سجل التدقيق بالسلسلة الفعلية وطريقة التحقق المستخدمة لكل رسالة، لا بالمعرّف الثابت وحده.

الفروق التنفيذية أهم من عدد التطبيقات

تذكر المراجعة 03 تطبيق Microsoft ومشاريع أخرى وحالات تتصل بالتوقيع وSCITT وCCF والحاويات السرية. يقدم README من Microsoft والمواصفة التنفيذية ومتجهات الاختبار أدلة قابلة للتشغيل.

وتسجل المسودة اختلافات ظاهرة مع تطبيق Nuts في تغطية eku وامتداد SAN من نوع otherName. هذه حدود توافق فعلية: قد يقبل محللان مجموعتين مختلفتين من الشهادات. بيانات التنفيذ مقدمة من المساهمين، وليست تأييداً من IETF أو قائمة كاملة للميزات.

كانت المراجعة 02 تستهدف Standards Track. غيرت 03 الحالة إلى Informational ووسعت نموذج الثقة والعمليات والتحليل والخصوصية وحالة التنفيذ. يوضح Datatracker والسجل التاريخي وإعلان I-D أنها مسودة مستقلة قيد العمل، لا RFC ولا منتجاً من IETF.

يوفر W3C DID Core وسجل مواصفات DID الإطار العام لوثائق DID وعلاقات التحقق، ولا يغيران حالة هذه الطريقة بعينها.

دفتر قرار قابل لإعادة البناء

ينبغي حفظ DID الدقيق وبايتات الشروط بعد الفك، وجميع شهادات DER بالترتيب، وبصمة حزمة الأدلة، ونتيجة بناء المسار والتحقق منه، ووقت التحقق، وقرارات الأسماء والسياسات والقيود واستعمال المفتاح والامتدادات والخوارزميات، وحالة الإلغاء والشفافية، والشهادة التي طابقت البصمة، ونتيجة كل شرط، وقاعدة الثقة المحلية وإصدارها، ووثيقة DID وJWK، والشيء الموقع والبايتات المغطاة، ونتيجة التوقيع، وتفويض الفاعل والفعل والمورد والزمن، ومعرف التثبيت، والأثر المرصود.

يجب تسجيل ما لم يُفحص بصفته مجهولاً. not_required_by_policy لا تعني أن الشهادة غير ملغاة، وnot_evaluated لا تعني موثوقة.

تؤيد Minimum Initial Specification لـLu Heng طبقة مشتركة دنيا لا تستولي على القرارات المستقبلية. وتطلب Running-Code Primacy أثر التنفيذ والنتيجة. تكشف The Policy Mirror صاحب السلطة وراء مخزن الثقة، وتحافظ Reality Layers على الفصل بين النص والشهادة والحكم والتوقيع والفعل.

المصادر