الخلاصة

  • يتضمن اسم مالك سجل TLSA المنفذ وبروتوكول النقل والنطاق الأساس. لذلك يخص التطابق مجموعة خدمة ونموذج تحقق بعينهما، ولا يثبت ثقة شاملة في الشهادة أو الخادم.
  • يحتاج الدليل القابل لإعادة الفحص إلى اسم الاستعلام وحالة DNSSEC وcertificate usage وselector وmatching type ومادة المصافحة وقاعدة التطبيق ووقت الرصد. عبارة «نجح DANE» وحدها تحذف نطاق السلطة.

المنفذ الآخر يحتاج إلى ادعاء آخر

لنفترض اختبارا توضيحيا. يعرض service.example الشهادة نفسها على TCP 443 و8443، لكن المنطقة الموقعة تنشر RRset صالحا تحت _443._tcp.service.example فقط. يستطيع عميل 443 التحقق من سلسلة DNSSEC ومقارنة المادة المحددة. أما عميل 8443 فعليه سؤال _8443._tcp.service.example، ولا يجوز له استعارة النتيجة السابقة.

هذا مثال اختباري لا اتهام لمنتج. وهو يكشف اختصارا شائعا: «اجتازت هذه الشهادة DANE على هذا الخادم». لا يمنح RFC 6698 الشهادة سمعة تشمل الخادم كله. أُدخل المنفذ والنقل في الاسم حتى تملك خدمات الجهاز الواحد ارتباطات ومسؤولين وجداول تدوير مختلفة.

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

اشتقاق اسم الاستعلام جزء من الإثبات

في TLS المباشر عبر TCP تكون الصيغة المعتادة _المنفذ._tcp.النطاق-الأساس. يكتب المنفذ رقما عشريا، ويفصل وسم النقل بين الآليات، وتحدد مواصفة التطبيق النطاق الأساس.

قد يغيّر CNAME مسار الحل. وتشتق التطبيقات القائمة على SRV الاسم وفق RFC 7673. أما SMTP DANE فيبدأ من MX ويطبق قواعده الخاصة على النطاق الأساس ومعرفات المرجع وأخطاء DNS والرجوع إلى وضع أضعف. لذلك لا يكفي العنوان النهائي في سجل الاتصال لاستعادة مصدر السلطة.

ينبغي حفظ الوجهة الأصلية وخطوات MX/SRV/CNAME والأسماء قبل التوسيع وبعده والمنفذ والنقل واسم TLSA النهائي ونتيجة DNSSEC والقاعدة التي ربطت بينها. من دون ذلك لا يستطيع طرف آخر إعادة القرار.

قيم usage تختار نماذج ثقة مختلفة

يقيّد PKIX-TA(0) سلطة تصديق مع الإبقاء على تحقق مسار PKIX. ويقيّد PKIX-EE(1) الشهادة النهائية مع اشتراط مسار صالح أيضا. وينشر DANE-TA(2) ارتباط مرساة ثقة عبر DNSSEC، بينما يربط DANE-EE(3) الخدمة مباشرة بشهادة نهائية أو مفتاحها العام.

لا يجعل تطابق البايتات هذه القيم متبادلة. ففي usage 1 لا يصلح التطابق شهادة منتهية أو مسارا باطلا. وفي usage 3 لا يجوز اختراع فحوص أسماء لا يطلبها ملف التطبيق. كما يضيّق SMTP DANE مجموعة الاستخدامات المناسبة لنموذجه الانتهازي.

السؤال التشغيلي الكامل هو: من نشر أي usage، تحت أي منطقة موقعة، لأي خدمة، وأي عميل طبّقه، وما سياسة الفشل التي قررها التطبيق؟

يحدد selector الشيء وmatching type المقارنة

يختار selector 0 شهادة DER كاملة، ويختار selector 1 بنية SubjectPublicKeyInfo. قد تجدد الشهادة مع بقاء المفتاح نفسه؛ عندها تتغير الشهادة الكاملة وقد لا يتغير SPKI.

يقارن matching type 0 البايتات المحددة، ويستخدم 1 قيمة SHA-256، ويستخدم 2 قيمة SHA-512. ولا تبين سلسلة سداسية منفردة إن كانت تمثل شهادة أو مفتاحا أو ملخص أحدهما.

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

DNSSEC هو مصدر سلطة النشر

لا يكفي وصول RR صحيح البنية من النوع 52. يجب أن يميز المدقق حالات secure وinsecure وbogus وindeterminate. قد يفسر Extended DNS Error العطل، لكنه لا يحل محل تحقق DS وDNSKEY وRRSIG.

لا يجوز لجواب غير موقع أن يخفف فحص الشهادة. وبالعكس، حين يعتبر التطبيق RRset آمنا وصالحا التزاما، فإن الرجوع الصامت بعد الفشل يعيد مسار downgrade. وفي SMTP DANE لا ينبغي تسليم الرسالة عبر خادم فشل توثيقه عندما يوجد ارتباط آمن صالح.

يوثق DNSSEC النشر تحت اسم، ولا يثبت الحيازة الحصرية لمفتاح TLS أو صحة إعداد التطبيق. يمكن لاختراق توقيع DNS نشر DANE-EE جديد، ويمكن لاختراق مفتاح TLS تلبية السجل القديم. هذان سطحا تحكم منفصلان.

التطابق لا يمنح إذن التطبيق

يثبت TLSA أن المادة المختارة من المصافحة لبّت ارتباطا. لكنه لا يقرر ALPN الصحيح ولا شرعية HTTP authority ولا هوية العميل ولا إذن المستخدم ولا اكتمال المعاملة.

ينهي الوكيل اتصالا موثقا ثم ينشئ حدا جديدا نحو الخلفية. يحتاج هذا المسار إلى دليله الخاص. كما يسمح اشتراك خوادم غير متكافئة في شهادة نهائية واحدة بالاستبدال داخل المجموعة؛ ويحذر RFC 7672 من ذلك ما لم تكن الخوادم متكافئة وظيفيا.

الصياغة القابلة للتدقيق محددة: «طابق SPKI المعروض usage 3 الآمن لهذا الاسم في هذا الوقت». أما «فوّض النطاق الطلب» فتتجاوز الإثبات.

التدوير فترة تداخل

ينشر الارتباط الجديد عادة قبل الاعتماد عليه، وتبقى المادتان القديمة والجديدة مدة تسمح بمراقبة الذاكرات والعملاء، ثم تزال القديمة بعد حساب TTL والتوقيعات وحالة النهايات.

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

اختبر الحد بمحاولة تجاوزه

اعرض الشهادة نفسها على منفذين وانشر TLSA لواحد. غيّر النقل. أضف CNAME وSRV وMX. اجعل مادة usage 1 تطابق مع إفساد مسار PKIX. جدد بالمفتاح نفسه ثم بدله خلال فترة تداخل.

أنشئ حالات secure وinsecure وbogus وindeterminate. وأخيرا دع TLSA ينجح بينما يفشل ALPN أو إذن التطبيق. يفصل النظام الصحيح هذه النتائج ولا يضغطها في مؤشر أخضر واحد.