الخلاصة

  • يعلن إصدار LACNIC المجمد بتاريخ 20260828 وجود 49,894 سطر سجل في سطر النسخة وفي ملخصاته الثلاثة، بينما يحتوي فعلياً 48,214 سطراً وفق استبعادات صيغة RIR نفسها. يتجمع الفارق كله في ملخص ASN: 16,000 معلنة مقابل 14,320 سطراً فعلياً.
  • كان ملف latest والملف المؤرخ متطابقين بايتاً ببايت، وتطابقت قيمتا MD5 المنشورتان مع الحساب المستقل. ينفي ذلك اختلاف نقل عادي في هذه اللقطة، لكنه لا يصحح العدّ ولا يثبت صحة معنى كل سطر.
  • لم يكن delegated-lacnic-latest.asc موجوداً. نجح التحقق الرياضي من توقيع الملف المؤرخ، إلا أنه توقيع SHA-1 جديد أُنشئ عام 2026 بمفتاح DSA ذي 1,024 بت من عام 2002، وهي صيغة يطلب OpenPGP الحديث عدم إنشائها أو قبولها.

وعد مكتوب للآلة

يبدأ الملف بالسطر 2|lacnic|20260828|49894|19870101|20260828|-0300. تعرّف صيغة تبادل إحصاءات سجلات الإنترنت الإقليمية الحقل الرابع بأنه عدد سجلات الملف بعد استبعاد سطر النسخة، وأسطر الملخص، والتعليقات، والأسطر الفارغة. كما تنص على أن ملخص كل نوع يحصي أسطر السجلات من ذلك النوع، لا كمية الموارد التي تمثلها تلك الأسطر.

تتفق البيانات الوصفية مع نفسها. يسجل ملخص IPv4 عدداً قدره 20,375، وملخص IPv6 عدداً قدره 13,519، وملخص ASN عدداً قدره 16,000. المجموع 49,894، وهو رقم سطر النسخة نفسه. لو توقف الفاحص عند مقارنة الرأس بالملخصات، فسيمر الاختبار.

لكن عدّ المتن يعطي نتيجة أخرى. في الملف 48,218 سطراً مادياً: سطر نسخة واحد، وثلاثة ملخصات، و48,214 سطر سجل. يحتوي IPv4 بالفعل 20,375 سطراً، ويحتوي IPv6 على 13,519. أما ASN فيحتوي 14,320 سطراً فقط. الفرق بين 16,000 و14,320، أي 1,680، يفسر كامل الفرق بين العدد المعلن والعدد الفعلي.

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

هذا الاستنتاج الضيق مهم بسبب غرض الملف. يصف README الخاص بـLACNIC تقارير يومية تلخص تخصيصات وتعيينات IPv4 وIPv6 وASN. وتجعل المواصفة اسم delegated-<registry>-latest عنواناً ثابتاً كي تجلب المهام الآلية الإصدار الراهن. في واجهة موجهة إلى البرامج، ليس حقل records زخرفة؛ إنه شرط تحقق اختاره الناشر.

أقوى قراءة دفاعية لـLACNIC

الأدلة لا تدعم قصة عبث أو اختراق. بل تدعم عدداً من النقاط لمصلحة LACNIC ويجب قولها أولاً.

عند الالتقاط، كان delegated-lacnic-latest وdelegated-lacnic-20260828 متطابقين في جميع البايتات. بلغ حجم كل منهما 2,311,991 بايت، وكانت قيمة SHA-256 المشتركة 95d59beaa4deb0ed5f40ae33a37210e11b4bce5b518613cfd4097fe442e7abf4. كما تطابق ETag ووقت آخر تعديل في استجابتي HTTP. لم يظهر أن الاسم المتحرك يشير إلى محتوى مختلف عن النسخة المؤرخة.

نشرت لاحقتا MD5 القيمة 30f2fac07e846d1706c1fa8c7bb0ebd6، وأنتج الحساب المستقل القيمة نفسها للملفين. أدت الآلية القديمة وظيفتها المحدودة في هذه اللقطة: لا علامة على اقتطاع عرضي أو اختلاف في البايتات أثناء النقل.

وينطبق التوقيع المنفصل للنسخة المؤرخة فعلاً على تلك البايتات. حلل التدقيق حزم OpenPGP، وأعاد بناء ملخص SHA-1 الموقع، ثم قيّم معادلة DSA بالمفتاح العام الذي تنشره LACNIC. كانت النتيجة صحيحة. لذلك لا يجوز وصف التوقيع بالمزور أو الادعاء بأن مهاجماً استبدل الملف.

وتمنح المواصفة القديمة دفاعاً إضافياً. فهي تلزم بملف MD5 ذي اسم مطابق، لكنها تقول إن توقيع PGP أو توقيعاً قوياً آخر «يمكن» نشره. التوقيع اختياري. ومن ثم فإن غياب latest.asc ليس وحده خرقاً لالتزام قديم لم يُفرض أصلاً. السؤال الأدق هو ما إذا كان ترتيب النشر يوفر اليوم قرار تحقق واحداً تستطيع البرمجيات الحديثة قبوله.

سلامة النقل ليست سلامة البنية

يتكرر استعمال كلمة «السلامة» لأربع مسائل مستقلة.

الأولى هي اتساق النقل: هل البايتات المستلمة هي البايتات المرتبطة بالملخص المنشور؟ أجاب MD5 بالإيجاب هنا. لكن RFC 6151 يقرر أن MD5 لم يعد مقبولاً عندما تكون مقاومة التصادم مطلوبة. يمكنه كشف أخطاء نقل عادية، ولا ينبغي تحويله إلى إثبات حديث لهوية الناشر.

الثانية هي أصالة الناشر: هل أجاز صاحب مفتاح موثوق هذه البايتات بخوارزمية مسموح للمستقبل قبولها؟ يوفر الملف المؤرخ علاقة رياضية، بينما لا يوفر مسار latest توقيعاً بالاسم المقابل.

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

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

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

اسم حديث يقود إلى توقيع مؤرخ

تجعل المواصفة latest نقطة الجلب المستمرة. وإذا اختار السجل التوقيع، توصي باسم مطابق مع اللاحقة .asc. عند الالتقاط، أعاد delegated-lacnic-latest.asc حالة HTTP 404، في حين كان delegated-lacnic-20260828.asc متاحاً، وكذلك delegated-lacnic-key.

يستطيع المستهلك الحذر بناء جسر محلي. يجلب latest، ويقرأ الرقم 20260828، وينشئ اسم الملف المؤرخ، ويقارن البايتات، ثم يجلب التوقيع والمفتاح. الطريقة معقولة، لكنها ليست تصريحاً موقعاً من LACNIC يربط الاسم المستمر بهذه النسخة في لحظة الرصد.

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

توقيع صحيح رياضياً ومرفوض معيارياً

بصمة المفتاح الرئيسي المنشور هي BED3BE6115A8AF036D271F9D3B8DD165F3FB5533، ومعرفه 3B8DD165F3FB5533. يستخدم DSA بمعامل رئيسي طوله 1,024 بت، وأُنشئ في 12 ديسمبر 2002. هوية المستخدم Auto Zone Generator، ولم يظهر انتهاء صلاحية للمفتاح الرئيسي في الشهادة الذاتية المفحوصة.

أُنشئ التوقيع في 29 أغسطس 2026 باستخدام DSA وSHA-1. يطابق معرف جهة الإصدار المفتاح المنشور، وينجح الفحص الرياضي.

مع ذلك، يرسم RFC 9580 حداً واضحاً. يجب ألا تنشئ تطبيقات OpenPGP توقيعات SHA-1، وألا تتحقق من أي توقيع حديث يعتمد على SHA-1. ويجب ألا توقع أو تتحقق بمفاتيح DSA. ينطبق هذا الوصف مباشرة على توقيع جديد في 2026.

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

يضيف NIST سياقاً انتقالياً بخطته للتوقف عن SHA-1 في جميع تطبيقات الحماية المشفرة بحلول نهاية 2030، وبدعوته إلى البدء بالتخطيط. لا ينبغي تحريف ذلك إلى زعم أن NIST وحده أبطل ملف LACNIC في 2026. قاعدة OpenPGP الخاصة أوضح وأقرب إلى هذه الحالة.

إيصال إصدار واحد بدلاً من استثناءات كثيرة

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

يجب أن يربط الإيصال نسخة مخططه، واسم RIR ومجموعة البيانات، والرقم والتاريخ المحلي، واسم الملف المؤرخ واسم latest، والحجم وSHA-256، والأعداد المعلنة والفعلية لكل نوع، وموعد القطع والمنطقة الزمنية، وبصمة مفتاح التوقيع وخوارزميته وصلاحيته، وأي علاقة تصحيح أو إحلال.

الإيصال الموضوع بجانب latest يسمي النسخة المؤرخة المحددة. يبقى إيصال النسخة المؤرخة ثابتاً. إذا أعلن المولد 49,894 وأنتج 48,214 سطراً، يجب أن يتخذ مسار النشر قراراً ظاهراً: المنع، أو تسجيل استثناء مفسر، أو نشر تصحيح يشير إلى الكائن السابق.

يمكن الحفاظ على التوافق. تبقى الأسماء وملفات MD5 القديمة للأنظمة الموروثة، ويضاف الإيصال الحديث. عند تدوير المفتاح، ينشر السجل دليلاً على الاستمرارية بدلاً من استبدال مرساة الثقة بصمت. ويمكن للمرايا حفظ الإيصالات الصغيرة حتى إن لم تحتفظ بكل الملفات اليومية.

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

ما لا تثبته المواد

لا تثبت هجوماً أو اختراق مفتاح أو تزويراً أو فقدان مورد أو خطأ توجيه أو انقطاعاً أو ضرراً لمستهلك. ولا تكشف سبب زيادة ملخص ASN بمقدار 1,680، ولا تدقق المولد الداخلي أو الموافقات الخاصة. كما لا تثبت أن برنامجاً بعينه اعتمد الرقم وفشل.

لكنها تثبت عدم اتساق عام قابل للتكرار، وانفصالاً بين اسم الجلب واسم التوقيع، وحداً معيارياً يمنع قبول التوقيع المؤرخ في OpenPGP الحديث. يكفي ذلك لإصلاح سلسلة النشر، ولا يكفي لاختراع حادثة.

المصادر