الخلاصة

  • تقترح المراجعة 06 من draft-ietf-tls-trust-anchor-ids معرّفات قصيرة تساعد الطرف المقابل على اختيار مسار الشهادة، لكن قائمة العميل ليست بياناً كاملاً لسياسة الثقة ولا التزاماً بقبول المسار المختار.
  • يجوز للعميل حذف مرتكزات يثق بها أو ذكر مرتكزات لا يثق بها أو استخدام مجموعة تضم الاثنين؛ لذلك يمكن أن يكون الاختيار صحيحاً وفق الإشارة ثم يفشل التحقق المحلي.
  • يلزم فصل دليل الإشارة ومخزون المسارات والاختيار والتحقق والاسترداد والخصوصية ونتيجة الخدمة، حتى لا تتحول «الشهادة المقدمة» إلى موافقة مؤسسية مزعومة.

تبدأ المشكلة من لغة التشغيل. عبارة «قدّم الخادم شهادة من CA كذا» تصف حدثاً. أما عبارة «وثق العميل بتلك CA» فتصف قرار صلاحية. عندما تختصر لوحة واحدة العبارتين في علامة خضراء، تصبح أداة التنسيق مصدراً لسلطة لم يمنحها أحد.

يحاول مشروع Trust Anchor IDs معالجة مشكلة عملية: قد يحتفظ الخادم بعدة مسارات للشهادة نفسها، بينما تكون قائمة الأسماء المميزة في امتداد certificate_authorities كبيرة. المعرّف الفردي القصير أو معرّف المجموعة يسمح للعميل بتوجيه الاختيار ببيانات أقل.

حُدّثت المراجعة 06 في 30 سبتمبر/أيلول 2026. يذكر رأس المشروع أن الحالة المقصودة هي Standards Track، في حين أن سجل Datatracker المجمد لهذه المادة يترك الحقلين intended_std_level وstd_level فارغين. الوثيقة Internet-Draft وليست RFC، ولا يثبت حزمة المصادر انتشاراً أو تبنياً أو تشغيلاً متوافقاً.

إشارة يمكن أن تكون غير دقيقة عمداً

يرسل الطرف المعتمد RequestedTrustAnchorList غير مرتبة ضمن ClientHello أو CertificateRequest. يمكن أن تكون فارغة. والأهم أنها لا تُلزم بأن تطابق مخزن الثقة الحقيقي: قد تحذف مرتكزاً مقبولاً، أو تذكر مرتكزاً مرفوضاً، أو تستخدم مجموعة تحتوي على أعضاء لا تسمح بهم السياسة المحلية. تقليل الحجم وتخفيف البصمة سببان محتملان لذلك.

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

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

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

المسار الصارم يثبت التجميع لا القبول

حين تطابق الشهادة معرّفاً مطلوباً، يستطيع الخادم وضع امتداد trust_anchors فارغ في رسالة Certificate. الفراغ هنا علامة ذات معنى: يجب أن تكون قائمة الشهادات كاملة ومرتبة ترتيباً صحيحاً ومن دون شهادات زائدة.

يمكن للعميل عندئذ التعامل معها كمسار مُنشأ مسبقاً وعدم البحث عن مسارات بديلة. يشرح RFC 4158 تعقيد بناء المسار، ويضع RFC 5280 قواعد التحقق. يستطيع المشروع تقليل عمل البناء، لكنه لا يعطل التحقق. قد تصل السلسلة المرتبة إلى مرتكز غير مسموح، أو تخالف قيد اسم، أو تستخدم خوارزمية محظورة.

السجل الصحيح يحتفظ بحدثين: «اختير المسار بسبب التطابق مع X» و«قبلت السياسة Y المسار أو رفضته للسبب Z». دمجهما في حقل واحد يمحو موضع الخطأ ويعطي نظام الاختيار سلطة لا يملكها.

إعادة اتصال واحدة لا تغيّر السياسة

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

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

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

المجموعة ضغط وليست إجماعاً

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

اختلاف التعريف لا يمنح الثقة تلقائياً. بل يحمّل التوفر كلفة الخطأ: يختار الخادم مساراً يبدو مطابقاً ثم يرفضه العميل. هنا تظهر فائدة إبقاء سياسة التحقق مستقلة؛ الخطأ يفشل بأمان بدلاً من توسيع السلطة.

الخصوصية مرتبطة بشرط الإرسال

يميز المشروع بين عميل لا يرسل المعرّفات، وعميل يرسلها بشرط، وعميل يرسلها دائماً. تتطلب الإشارة المشروطة عادة مسباراً نشطاً لرؤيتها، بينما يمكن مراقبة القائمة غير المشروطة سلبياً. قائمة فريدة لمستخدم واحد تصبح بصمة حتى لو كانت قصيرة.

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

وعلى الخادم تصفية قائمة المرتكزات المتاحة بحسب الخدمة المطلوبة وسياق SNI. كشف كل مخزون منصة مشتركة يعرّف علاقات داخلية لا يحتاجها العميل. المرتكزات الحساسة لا تناسب هذا المسار.

إيصال تشغيلي من سبعة أجزاء

لا تحتاج المؤسسة إلى سجل مركزي يقرر الثقة للجميع. تحتاج إلى إيصال محلي صغير يجعل القرارات المستقلة قابلة للمقارنة.

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

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

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

المصادر