الخلاصة

  • تسمح RFC 5155 باستبعاد بعض التفويضات غير الموقّعة من سلسلة NSEC3 عندما يحمل السجل الذي يغطي المجال علامة Opt-Out.
  • لا يؤكد ذلك السجل وجود التفويضات غير الآمنة التي يغطيها ولا عدم وجودها؛ بل يوثّق نفياً أضيق نطاقاً.
  • يتطلب التفويض الآمن مجموعة DS موقّعة وسلسلة ثقة متحققاً منها، وليس مجرد توقيع NSEC3 صالح حول قيمة التجزئة المطلوبة.
  • يجب أن يميز سجل التشغيل بين آمن وغير آمن وbogus وغير محدد، بدلاً من اختزالها كلها في عبارة «نجح DNSSEC».

لنتخيل تتبعاً لمحلّل DNS تبدو فيه كل تواقيع RRSIG صحيحة وتتطابق مجالات NSEC3، فتظهر النتيجة باللون الأخضر. ثم يحوّل تقرير تدقيق ذلك السطر إلى «تفويض النطاق الفرعي مؤمّن». غير أن الاسم المطلوب يقع في مجال Opt-Out. كان الإثبات أصيلاً، لكن الاستنتاج تجاوز معناه.

هذا مثال افتراضي لا ينسب حادثة إلى سجل أو مشغّل بعينه. المسألة هي حدود الدلالة: نجاح التحقق التشفيري لا يوسّع ما يقوله السجل الموقّع فعلاً.

ما الذي يغيّره Opt-Out

تعرّف RFC 5155 ‏NSEC3 بوصفه أسلوباً مجزأً لإثبات عدم الوجود بصورة موثقة. وبدلاً من عرض أسماء المالكين بترتيب مقروء، توقّع المنطقة سجلات مترابطة حسب ترتيب قيم التجزئة.

قد تكون صيانة سجل NSEC3 وتوقيع لكل نطاق فرعي غير موقّع مكلفة في المناطق كثيرة التفويضات. يتيح Opt-Out إسقاط أسماء التفويضات غير الآمنة المؤهلة. ويمكن لسجل يحمل العلامة أن يغطي صفراً أو أكثر من تلك التفويضات، بحيث تضاف أو تزال من دون إعادة بناء ذلك الجزء من السلسلة.

تغيّر هذه الكفاءة التشغيلية معنى الإثبات. تنص RFC 5155 على أن سجل NSEC3 Opt-Out لا يقرر وجود التفويضات غير الآمنة التي قد يغطيها ولا عدم وجودها. ويظل يقدم عبارات موثقة عن بيانات سلطوية أخرى في المجال، لكن النطاق الفرعي غير الموقّع مستبعد عمداً من الجرد التشفيري الكامل.

قد ينتهي الإثبات الصحيح إلى «غير آمن»

الدليل الموجود في المنطقة الأم عند نقطة التفويض هو الحاسم. تميّز RFC 5155 بين تفويض آمن، حيث ترافق مجموعة NS مجموعة DS موقّعة، وتفويض غير آمن توجد فيه NS من دون DS. وسجل DS هو الذي يصل بيانات المنطقة الأم الموثقة بمفتاح DNSKEY للنطاق الفرعي.

يثبت التحقق من RRSIG الخاص بسجل NSEC3 أن المنطقة الأم وقّعت تلك العبارة فقط. وهو لا ينشئ DS للنطاق المغطى، كما أن علامة Opt-Out وحدها لا تقول إن تفويضاً بعينه موجود. وتوضح RFC 7129 النتيجة: لا تستطيع سجلات Opt-Out إثبات وجود التفويضات غير الآمنة التي تغطيها أو نفيه، ولا تستفيد تلك التفويضات من الحماية التشفيرية التي يوفرها DNSSEC.

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

إبقاء نطاق الإثبات ملازماً للنتيجة

ينبغي أن يحدد الدليل الاستعلام ورمز الاستجابة والمنطقة ونقطة التفويض. وفي NSEC3 يجب حفظ خوارزمية التجزئة وعدد التكرارات والملح وقيمة تجزئة المالك وقيمة المالك التالي وخريطة الأنواع وعلامة Opt-Out. وإذا كان أقرب سلف يمكن إثباته جزءاً من النفي، فيلزم حفظ عناصره أيضاً مع نتائج DNSKEY وRRSIG ومرساة الثقة.

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