الخلاصة

  • يتيح RFC 10002 إبقاء طلب الكيان النهائي الموقّع سليمًا في طبقة CMS داخلية، بينما تضيف سلطة التسجيل شهادات الإثبات أو طلبات التعديل في طبقة PKIData خارجية.
  • صحة التوقيع، وحيازة المفتاح الخاص، وثبوت الهوية، وقبول شهادة RA، ومعالجة التعديل، وإصدار الشهادة أحكام منفصلة وليست حالة واحدة اسمها «تم التحقق».
  • يلزم حفظ الطلب الأصلي، وكل أغلفة CMS، وترتيب عناصر التحكم، ونطاق تفويض RA، وسياسة CA، والفروق الدقيقة بين الطلب والشهادة الصادرة.

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

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

نُشر RFC 10002 في يوليو 2026 ضمن مسار المعايير في IETF، وهو يحل محل RFC 5272 وRFC 6402 ويعرّف بنى Certificate Management over CMS وعناصر التحكم فيه. يحدد RFC 10003 وسائل النقل، ويقسم RFC 10004 متطلبات الامتثال بين الكيان النهائي وRA وCA.

ما الذي يثبته توقيع PKCS #10

وفق RFC 2986، يتضمن طلب PKCS #10 اسم الموضوع والمفتاح العام وسمات اختيارية، ثم توقيعًا على معلومات الطلب. يثبت التحقق أن البايتات المحمية لم تتغير وأن المفتاح الخاص المقابل استُخدم للتوقيع.

لكنه لا يثبت الحق القانوني في اسم مؤسسة، ولا حيازة مفتاح آخر لا يستطيع التوقيع، ولا يلزم CA بإدراج كل امتداد. كما لا يمنح RA حق تعديل الحقول.

يمكن أن يكون Simple PKI Request مجرد PKCS #10. لهذا لا يحمل إثبات هوية أو خدمات CMC المتقدمة، ولا يصلح لمفتاح خاص لا يوقّع. أما Full PKI Request فيضع PKIData داخل SignedData أو AuthenticatedData في CMS.

يتيح RFC 5652 تغليف محتوى محمي داخل طبقة أخرى. لا تحتاج RA إلى إعادة كتابة PKCS #10 أو CRMF وكسر التوقيع أو POP؛ بل تحفظ الداخل وتضيف غلافًا موقعًا. ومع تعدد سلطات التسجيل تتعدد الطبقات.

يخبرنا التوقيع الداخلي بما حماه الكيان النهائي. ويخبرنا الخارجي بمن أضاف عنصر التحكم. ويبقى السؤال الثالث: هل كان ذلك الوسيط مفوضًا لهذا الفعل تحديدًا؟

حيازة المفتاح ليست هوية

يسأل Proof of Possession إن كان الفاعل يسيطر على المفتاح الخاص المرتبط بالمفتاح العام المطلوب. يمكن للتوقيع أن يجيب عن مفتاح توقيع. أما مفتاح التشفير أو الاتفاق على المفاتيح فقد يحتاج تحديًا أو رسالة لاحقة أو تأكيدًا. يعرّف RFC 4211 هذه الخيارات في CRMF، ويخصص raVerified لحالات محددة نفذت فيها RA اختبار الحيازة.

إثبات الهوية يجيب عمن يرتبط بالمعاملة وفق آلية المصادقة. يمكن لـ Identity Proof Version 2 استخدام سر مشترك لحساب MAC على مادة الطلب، ويجعل RFC 10004 دعم هذه النسخة مطلبًا.

قد يملك شخص المفتاح ولا يملك حق استخدام اسم شركة. وقد تؤكد جهة تسجيل ملف موظف من دون أن تثبت وجود المفتاح في الوحدة المادية المعلنة. اختزال الاختبارين في verified يمحو الفارق المطلوب عند الحادث.

يتيح RA POP Witness لسلطة التسجيل أن تقول للـ CA إنها أجرت اختبار الحيازة. ويتيح RA Identity Proof Witness نقل نتيجة التحقق من الهوية حتى حين لا تعرف CA السر المشترك أو حين جرى الفحص خارج القناة. ما يصل إلى CA هو شهادة وسيط، لا الدليل الأصلي كله. لذلك يلزم تسجيل RA والطريقة والهدف ونطاق التفويض ومرجع الدليل المحتفظ به.

أما Control Processed فهو أعم؛ يفيد أن عنصرًا عولج هنا أو سيعالج لاحقًا. إذا كانت طريقة إثبات الهوية مهمة فلا ينبغي أن يحل «تمت المعالجة» محل الشهادة المحددة.

تعديل يحفظ أصل الطلب

يسمح Modify Certification Request لـ RA بطلب استبدال حقول أو حذفها. يبقى الطلب الداخلي الموقّع كما هو، ويوضع التعديل في الغلاف الخارجي المحمي.

قد يكون ذلك ضروريًا لتوحيد صيغة اسم، أو إزالة امتداد غير مصرح به، أو تحويل نتيجة هوية إلى الشكل الذي تقبله CA. لكن المساءلة تتطلب تحديد body part والقيمة السابقة والجديدة والقاعدة وRA المسؤولة.

تعالج التعديلات المتداخلة من الداخل إلى الخارج. لا يحدد RFC 10002 ترتيب عدة عناصر تعديل في الطبقة نفسها. الاعتماد على ترتيب مصفوفة يعني الاعتماد على سلوك مكتبة. عندما يؤثر السبق في النتيجة، يجب دمج القرار بلا غموض أو وضعه في طبقات مرتبة منفصلة.

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

لذلك تقارن المؤسسة بين ثلاثة أوضاع: الطلب الأصلي، وتغييرات RA، والشهادة. كل فرق يحتاج صاحبًا وقاعدة. توقيع CA يحدد المصدر النهائي ولا يشرح وحده أصل كل قيمة.

نجاح النقل لا يعني نهاية الإصدار

ينظم RFC 10003 النقل بالملف والبريد وHTTP. يستخدم HTTP طريقة POST، وتحمي HTTPS القناة. لا يثبت رد 2XX أن كل عناصر CMC فُهمت أو أن الشهادة صدرت نهائيًا.

قد تبقى المعاملة pending أو تكتمل جزئيًا. يتيح Query Pending متابعة النتيجة، ويمد Confirm Certificate Acceptance الحالة إلى ما بعد التسليم. إذا عجز الخادم النهائي عن فهم عنصر إلزامي أو معالجته، يجب أن يفشل PKIData كله. إسقاط العنصر بصمت ثم إعلان النجاح يخلق معنى غير موجود.

يربط Transaction ID الرسائل، ويساعد sender nonce وrecipient nonce في المطابقة ومقاومة الإعادة. لا تغني هذه القيم عن idempotency على مستوى العمل، لكن فقدها يجعل إعادة الإرسال تبدو كطلب جديد.

يفرض RFC 10004 على RA دعم Modify Certification Request وControl Processed وRA Identity Proof Witness، وعلى CA المصممة للعمل معها دعم الجانب المقابل. هذا حد أدنى للقدرة، وليس إثباتًا على أن منتجًا بعينه نفذ معاملة بعينها بصورة صحيحة.

بعد الإصدار، يحكم RFC 5280 ملف شهادة X.509 التي يتحقق منها المعتمدون لاحقًا، ويقر بسياسات إضافية للمجالات المتخصصة. ويعرض RFC 7030 EST بوصفه بنية تسجيل أخرى. اختيار CMC لا يجعل الثقة نتيجة آلية.

سجل يمكن إعادة بنائه

يبدأ الملف بالبايتات المعيارية وهاش الطلب الأصلي. ويفصل بين التنسيق والمفتاح والسمات ونتيجة التوقيع وطريقة POP وطريقة الهوية والقائم بالتحقق والوقت ونسخة السياسة.

لكل طبقة RA يُحفظ الغلاف الموقّع وشهادة RA ونطاقها وعناصر التحكم المضافة والطبقات المنزوعة والمستلم التالي. لكل تعديل «قبل» و«بعد»، ولكل شهادة نوع الدليل الذي تمثله. لا تُنسخ المفاتيح الخاصة أو الأسرار الخام إلى السجل.

تضيف CA قرارها لكل حقل والـ diff النهائي. وتبقى Transaction ID وnonces والمحاولات والحالة المعلقة وتأكيد القبول والنشر والتفعيل مترابطة.

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

يعيد Running-Code Primacy معيار السلطة إلى الكود الذي يفحص الطبقة ونطاق الفاعل ويحفظ القرار. ويحصر Minimum Initial Specification الآلية المشتركة في الحد الضروري، فلا يصبح الوسيط صاحب سيادة على السياسة. ويفصل منظور طبقات الواقع بين «موقّع» و«مشهود» و«صادر» كي لا تتحول إلى ضمان شامل.