الخلاصة
- يوحّد
draft-gondwana-dkim2-debug-header-01شكل أثرX-DKIM2-Infoفي الاختبارات المبكرة لـ DKIM2، ولا يضيف نتيجة تحقق جديدة. - استُبعد الحقل عمداً من التجزئات والتوقيعات. يستطيع إرشاد الإنسان إلى موضع التحقيق، لكنه لا يثبت هوية باعثه أو وقوع الإجراء أو محتوى اللقطة أو اكتمال السجل.
تصل الرسالة المعطلة وكأنها تحمل ملف التحقيق معها. يذكر سطر نسخة مسودة DKIM2 التي نفذها مرشح الدخول ومستودع الشفرة واسم البرنامج. ويقول سطر ثان إن برمجية القائمة البريدية أنشأت Message-Instance m=2، ويسرد الرؤوس التي أُدخلت في التجزئة ويشير إلى نسخة محفوظة سابقة. ثم يعلن مرشح الخروج أنه امتنع عن التوقيع لأن السلسلة مكسورة.
هذا التفصيل ثمين لمهندس يقارن تنفيذين. لكنه ليس دليلاً يصلح لبرنامج يقرر التسليم أو الحجر أو إسناد المسؤولية. يمكن إضافة كل سطر أو تعديله أو نقله أو حذفه، بينما تستمر أجزاء الرسالة المحمية فعلاً بـ DKIM2 في اجتياز التحقق.
هذه هي الحدود التي يرسمها A Diagnostic Header Field for DKIM2 Implementations. ظهرت النسخة 01 في 30 سبتمبر 2026 بتوقيت المحيط الهادئ، وكان التاريخ قد أصبح 1 أكتوبر في شنغهاي والتوقيت العالمي. إنها Internet-Draft فردية بحالة متوقعة Informational ومسجلة تحت I-D Exists. لم تعتمدها مجموعة عمل DKIM، وليست RFC أو تسجيلاً لدى IANA أو اعتماداً معيارياً لـ DKIM2. ويصفها النص كأداة للاختبار المبكر يُستبعد أن تتحول إلى منشور نهائي.
لغة موحدة لمقارنة مواضع الاختلاف
يحاول DKIM2 الاحتفاظ بسلسلة قابلة للتحقق عبر التحويلات التي تجريها القوائم البريدية وغيرها. تحمل حقول Message-Instance تجزئات وRecipes لإعادة بناء حالات أقدم، وتربط حقول DKIM2-Signature تلك السجلات المحمية. وعندما يختلف تنفيذان في النتيجة، قد لا تكشف كلمة نجاح أو فشل موضع انحراف السلوك.
يضع X-DKIM2-Info القرائن في مكان متكرر وبصيغة مشتركة. يحمل كل حقل خمس وسوم إلزامية بالترتيب: draft وrepo وdate وsw وaction. يعرّف الأول نسخة DKIM2 المنفذة. ويميّز المستودع والبرنامج مكوّناً أو فرعاً. ويفترض أن يتغير التاريخ عندما يتغير سلوك DKIM2 لدى الباعث. يسجل الحقل إجراءً واحداً، وتتطلب الإجراءات المتعددة حقولاً متعددة.
تشمل المفردات التحقق وإضافة Message-Instance والتوقيع ورفض التوقيع. يمكن أن يحمل verify=pass أو verify=fail تفسيراً حراً. وقد يذكر mi-m=<N> عدد الرؤوس المجزأة وترتيبها ومعرّفات اللقطة المسترجعة واللقطة المخزنة. ويسمي sign النطاق والخوارزمية، بينما يحمل not-signed سبباً يختاره التنفيذ مثل broken-mi-chain.
ضيقت النسخة 01 فروق الصياغة التي كانت تشوش المقارنة مع النسخة 00: استخدمت نحو وسوم الامتداد نفسه في DKIM2، وفرضت فاصلة منقوطة بعد كل وسم، وبدّلت mi-m<N> إلى mi-m=<N>. هذا تحسين في قابلية التشغيل البيني النحوية، لا إضافة لسلطة الدليل.
يبقى الحقل مرناً لأن البرهان يتجاهله
تستبعد مسودة DKIM2 الأساسية أسماء الرؤوس التي تبدأ بـ X- من تجزئة رؤوس Message-Instance. وتمنع مسودة التصحيح الباعث من إدخال X-DKIM2-Info في أي شيء يوقعه أو يجزئه. لذلك يستطيع معالج إضافة ملاحظة بجوار الرأس الذي تصفه دون تغيير Message-Instance المحمية أو إبطال توقيع DKIM2.
لكن الخاصية نفسها تمنع الملاحظة من إثبات قصتها. تقول المسودة إنها ليست نتيجة تحقق، وإن النتيجة المعتمدة مكانها Authentication-Results. لا يسجل الحقل إلا ما يدعي الباعث أنه فعله، ولا يجوز لبرنامج أن يتخذ أي قرار في الرسالة بناء عليه. ويمكن لأي طرف في المسار إضافته أو تغييره أو إزالته بلا اكتشاف.
وهنا يختلف الموضوع عن تغطية BTW السابقة لـ Authentication-Results. تناول المقال السابق متى يثق المستهلك محلياً في authserv-id داخل نطاق إداري ومعاملة SMTP محددين. أما X-DKIM2-Info فيقع دون طبقة الحكم المحلي نفسها: استُبعد صراحة من الثقة الآلية، ووظيفته أن يمنح المحقق سؤالاً أدق.
التجاور البصري ليس توقيعاً على السببية
تطلب المسودة أن يضيف الباعث أولاً الرأس المحمي أو التشغيلي، ثم يضع حقل التصحيح الذي يصفه مباشرة فوقه. كما تطلب من الباعث المطابق ألا يعدّل الحقول السابقة أو يحذفها. وبذلك يبدو مقطع الرؤوس كتسلسل زمني مقروء.
لكن موقع السطر غير موثّق. يستطيع معالج لاحق أن يضيف action=sign مقنعاً في الأعلى، أو ينقل سطراً إلى جوار Message-Instance أخرى، أو يحذف التفسير الذي يكشف العطل. مسار المستودع واسم البرنامج وصف ذاتي لا إثبات للبرنامج الثنائي. وتاريخ السلوك ليس تجزئة commit. ولا توجد هوية حدث أو مفتاح نسخة تشغيل أو رقم تسلسلي أو إقرار استلام أو تصريح اكتمال يربط السطور في سجل مقاوم للعبث.
حتى الصمت ملتبس. إذا ظلت Message-Instance العليا مطابقة ولم يضف الباعث شيئاً، فلا يسجل التنسيق أي إجراء. غياب mi-m=<N> لا يثبت أن الاختبار شُغّل، أو أن الرسالة لم تتغير، أو أن وسيطاً لم يحذف جزءاً من الأثر.
مؤشر اللقطة لا ينقل اللقطة
يشير snapf إلى النسخة السابقة المستخدمة في حساب Recipe، ويشير snaps إلى النسخة الحالية المحفوظة لمقارنة لاحقة. وهما من أكثر الوسوم فائدة للتشغيل، إلا أن المسودة تؤكد أن معناهما محلي لدى الباعث الذي كتبهما. حتى إن أحد الأمثلة يشبه مفتاح قاعدة بيانات أو مسار تخزين.
يمكن للمعرّف اختصار محادثة الدعم: يُرسل إلى مشغل المكوّن لطلب البايتات والسجلات وسياسة الاحتفاظ. أما خارج ذلك النظام فلا يثبت المحتوى أو سلسلة الحيازة أو مدة الحفظ أو التوفر الحالي. وما لم يوفر التنفيذ تجزئة محتوى وإيصال استرجاع منفصلين، فلا تصبح السلسلة المنسوخة كائناً محمولاً من الأدلة.
للثراء التشخيصي ثمن إفصاح أيضاً. قد يكشف الحقل المستودع والبرنامج ونسخة المسودة وبنية التخزين وقائمة الرؤوس وسلوك المحلل في الشرح الحر. يستطيع المشغل نزعه عند حد الخروج دون الإضرار بتحقق DKIM2. يحمي ذلك البنية الداخلية لكنه يزيل القرينة التي ينتظرها المختبر البعيد؛ لذا يجب تصميم الاحتفاظ الداخلي والإفصاح الخارجي معاً.
توجد حافة في التحليل. يسمح RFC 5322 بفاصلة منقوطة في اسم الرأس، بينما يستخدمها التنسيق لإنهاء الوسوم ولا يوفر آلية اقتباس. تطلب المسودة حذف الأسماء غير الآمنة من hn، وتحديد طوله، واستبدال الفواصل المنقوطة أو إزالتها من القيم المدرجة. تقلل هذه القواعد الالتباس، لكنها لا تثبت أن كل تنفيذ مبكر يطبقها بالطريقة نفسها.
ويشرح RFC 6648 الخطر العام لأسماء X-: تتسرب الامتدادات الخاصة، وتصبح واجهات بحكم الواقع، وتخلق التباساً في الهجرة والأمن. اختيار البادئة هنا مقصود لإبقاء التصحيح خارج معنى DKIM2 وتغطيته التشفيرية. لا ينبغي للقيادة أن تخلط بين حد بروتوكولي واضح واحتواء تشغيلي مضمون.
استخدم القرينة للوصول إلى إيصال قابل للفحص
يفصل التحقيق المتين بين هوية البرمجية المدعاة، والإجراء المدعى، والحقل المستلم فعلاً، والحد الذي احتفظ به أو نزعه، والتحقق الحقيقي لـ DKIM2، وAuthentication-Results المحلي، والبناء والسجلات، واللقطات المشار إليها، وحكم السبب الجذري، والإصلاح، ونتيجة التسليم المرصودة. القفز بين هذه الدرجات يحول أداة دعم إلى استنتاج بلا أساس.
تدعم عقيدة المواصفة الأولية الدنيا لدى Heng Lu هذا الفصل. ينبغي للتنسيق المشترك أن يسهل الاختبار المستقل من دون الادعاء أنه يحمل حقيقة التنفيذ المحلي. وتطلب أولوية الشفرة العاملة مراقبة التنفيذ واسترجاع النسخة وإعادة إنتاج العطل والتحقق من النتيجة بعد الإصلاح.
تكمن فائدة X-DKIM2-Info في أنه يترك بصمات مقروءة قرب الخلل. ويبدأ الخطر عندما تتحول أداة الدعم إلى إثبات مصدر أو سياسة أو حكم نهائي. الأتمتة السليمة لا تتصرف بناء على القرينة؛ بل تستخدمها لاسترجاع دليل يمكن فحصه.
المصادر
- السجل الحالي في Datatracker
- سجل التعديلات في Datatracker
- Minimum Initial Specification and Voluntary Adoption
- Running-Code Primacy
- مسودة DKIM2 Authentication-Results
- رأس التصحيح، النسخة 00
- رأس التصحيح، نص النسخة 01
- ملف XML للنسخة 01
- مواصفة DKIM2، النسخة 06
- RFC 5234: ABNF
- RFC 5322: تنسيق رسائل الإنترنت
- RFC 5598: بنية بريد الإنترنت
- RFC 6376: DKIM
- RFC 6648: إلغاء بادئة X-
- RFC 8601: Authentication-Results
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات

