الخلاصة

  • يميز RFC 3626 بين توثيق رسالة التحكم كاملة والتحقق من الروابط الفردية المعلنة فيها، كما يحتاج منع إعادة الرسائل القديمة الصحيحة إلى دليل زمني إضافي.
  • يجب أن تفصل سلسلة الإثبات بين هوية المرسل، وصلاحية ادعائه، وحداثة HELLO أو TC أو HNA، وقبول الطوبولوجيا، وتثبيت المسار، ومرور الحزمة، واستجابة التطبيق.

التوقيع يجيب عن سؤال صغير ومهم

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

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

نشر RFC 3626 في أكتوبر 2003 بوصفه بروتوكولا Experimental للشبكات المتنقلة المخصصة، وليس معيار إنترنت. يعرف Optimized Link State Routing Protocol، وهو بروتوكول استباقي يقلل حركة التحكم باختيار مجموعة من multipoint relays بدلا من جعل كل جار يعيد كل بث.

المبدأ التحريري هنا بسيط: السجل يستطيع أن يثبت من قال ماذا ومتى. لا يستطيع أن يصبح مؤلف الرابط أو الطريق أو التفويض. الكود العامل ينفذ القرار، لكنه لا يوسع معنى الدليل الذي بدأ القرار.

HELLO يصنع علاقة محلية محدودة بالزمن

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

عندما تتحقق شروط آلة الحالة، يوصف الرابط بأنه symmetric. يبقى السجل حتى تنتهي مدة الصلاحية أو تصل معلومة تغيره. هذا لا يعني أن الوسط اللاسلكي يخضع لمراقبة مستمرة؛ يعني أن آخر ملاحظة المقبولة ما زالت صالحة وفق عقد زمني.

لذلك ينبغي حفظ مصدر HELLO والواجهة ووقت الاستقبال ومدة الصلاحية والعمر الحالي. إذا اختفت هذه البيانات وبقيت عبارة «جار symmetric»، تختفي معها القدرة على معرفة مقدار عدم اليقين.

التوثيق يمنع انتحال المصدر عندما يطبق بطريقة مناسبة، لكنه لا يثبت أن الجار الذي أعلن عنه المصدر موجود بالفعل. RFC 3626 نفسه يوضح أن توثيق الروابط الفردية يحتاج معلومات أمنية إضافية عن توثيق الرسالة كاملة.

اختيار MPR لا يثبت السلوك

يختار كل عقدة MPRs من جيران القفزة الواحدة ذوي الروابط symmetric. يجب أن تغطي المجموعة كل الجيران الصارمين ذوي القفزتين. المجموعة الأصغر تقلل الحمل، ويمكن لـ MPR_COVERAGE أن يطلب تغطية إضافية.

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

تؤثر willingness التي تعلنها العقدة في الاختيار. WILL_NEVER يمنع الاختيار وWILL_ALWAYS يدخله منذ البداية. قد تعكس القيمة طاقة أو موارد حقيقية، لكنها تبقى تصريحا ذاتيا لا اختبار أداء.

والفصل الأوضح يأتي من قسم الأمن في RFC 3626: يمكن لعقدة أن تمرر رسائل التحكم broadcast من دون تعديل، ثم تمتنع عن تمرير بيانات unicast. إذن المشاركة الصحيحة في التحكم لا تشهد على سلوك البيانات.

يجب أن يحمل قرار MPR الأدلة التي أنتجته: مجموعة الجيران، أعمار السجلات، willingness ومصدرها، المرشحين، النتيجة، ثم ملاحظات الاستقبال وإعادة الإرسال الفعلية. التفويض يبدأ الوظيفة ولا يثبت إنجازها.

TC ينشر ادعاء طوبولوجيا لا صورة فورية

العقد التي اختيرت MPR ترسل Topology Control. تعلن الرسالة على الأقل الروابط نحو العقد التي اختارت المرسل كـ MPR. تنتشر TC عبر relays، ويخزن كل مستقبل tuples لها صلاحية ويحسب مساراته.

يرتب Advertised Neighbor Sequence Number تغييرات المجموعة، ويتعامل البروتوكول مع التفاف العداد. الرقم الأحدث يثبت أن هذا السجل يأتي بعد سجل آخر. لا يثبت أن الرابط لم يتغير بعد الإرسال.

وقد تقسم مجموعة الروابط على أكثر من TC بسبب حد الحجم. لذلك لا تكفي حزمة واحدة لتأكيد اكتمال الإعلان. يجب ربط المصدر وANSN وكل الأجزاء وواجهات الاستقبال والصلاحية وقرار القبول بإصدار طوبولوجيا واحد.

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

إعادة التشغيل قد تكون صحيحة التوقيع

المهاجم لا يحتاج دائما إلى تزوير توقيع. يمكنه إعادة رسالة كانت صحيحة في وقت سابق. لذلك يقول RFC 3626 إن منع إعادة حركة التحكم القديمة يتطلب معلومات زمنية تمكن العقدة من التعرف عليها.

أرقام تسلسل الحزم والرسائل وANSN تساعد في رفض القديم وغير المرتب، بما في ذلك حالة التفاف الرقم. لكنها تقارن السجلات ببعضها. لا تقيس الوسط الفيزيائي الآن.

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

هذا يوضح لماذا لا يكفي شعار «كل الرسائل موثقة». السؤال التنفيذي هو: موثقة لأي هوية، ومسموح لها بأي ادعاء، وصحيحة في أي زمن، وتؤثر في أي مسارات؟

duplicate set ليس إيصالا من الشبكة كلها

يحفظ OLSR مجموعة duplicate keyed بهوية المصدر وتسلسل الرسالة حتى لا يعالج النسخة نفسها أو يعيد بثها بلا حاجة. وجود entry يثبت أن هذه العقدة سجلت الهوية خلال الفترة المحددة.

لا يثبت أن كل الفروع تلقت الرسالة. قد تصل نسخة إلى relay وتتوقف قبل عقدة أخرى. وقد تتغير إعادة الإرسال حسب واجهة الوصول وعلاقة MPR والحالة السابقة.

لذلك ينبغي ربط الاستقبال وقرار duplicate وإعادة الإرسال والاستقبال اللاحق في نقاط ممثلة. ارتفاع عدد النسخ قد يعني تداخلا، لا اكتمال التغطية. وعدم وجود entry قد يعني رسالة جديدة أو فقدا أو انتهاء السجل.

التحسين يقلل العمل المتوقع أن يكون زائدا. الدليل يجب أن يبين أن العمل المتبقي كان كافيا.

جدول المسارات ليس شاهدا على الحزمة

ينص RFC 3626 صراحة على أن OLSR لا يمرر حزم البيانات بنفسه. إنه يحافظ على جدول المسارات في نظام التشغيل الذي يفترض أن يقوم بالتمرير.

يمكن أن يكون الحساب صحيحا وأن تفشل عملية تثبيت المسار. يمكن أن يظهر المسار وأن يفشل حل next hop. ويمكن لجار أن يقبل التحكم ويطرح بيانات unicast. وقد تصل الحزمة إلى المضيف ولا يجيب التطبيق.

الإيصال الكامل يفصل إصدار الطوبولوجيا، ونتيجة الحساب، ومعاملة kernel، والentry الفعلي، وحل الجار، وعدادات الواجهة، وملاحظة الحزمة عند الدخول والخروج، والفقد والتكرار والترتيب والتأخير، ثم قبول التطبيق.

الرسالة الموثقة تقع في بداية هذه السلسلة. لا يجوز لها أن تغلق نهايتها.

HNA تحتاج إلى صاحب سلطة خارج الرسالة

تسمح HNA لبوابة بإعلان شبكة متصلة بواجهة غير OLSR. يخزن المستقبل عنوان البوابة والشبكة والقناع ووقت الانتهاء ثم يمكن أن يضيف مسارا. تزول المعلومات بانتهاء الصلاحية لا بإلغاء ANSN مثل TC.

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

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

هذا هو اختبار principal الذي يظهر في ملاحظات Heng Lu: من يتحمل الخسارة ومن فوض القرار؟ إذا لم يكن الجواب موجودا، لا ينبغي للسجل أن يملأ الفراغ باللغة التقنية.

التهديد قد يكون عقدة صحيحة لا عدوا خارجيا

يسرد RFC 3626 عقدا خبيثة أو معطلة ترسل روابط غير صحيحة، تنتحل عقدا، تعدل الرسائل، لا تبثها، تختار MPR على نحو خاطئ، تمرر التحكم ولا تمرر البيانات، أو تعيد رسائل قديمة.

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

طورت RFCs لاحقة صيغة رسائل عامة، واكتشاف الجوار، وحماية السلامة، وتحليلات تهديد. وفصل OLSRv2 بين flooding MPR وrouting MPR. المقارنة تؤكد أن وظائف التحكم متعددة وأن ضمان وظيفة لا يبرهن الأخرى. وهي ليست ادعاء بأن أي تطبيق حالي لـ RFC 3626 مخترق.

التصميم المسؤول يجمع التوثيق مع اتساق الادعاء، وحداثته، ونطاق السلطة، وملاحظة السلوك. لا يوجد ختم واحد يحل هذه الأسئلة كلها.

اجعل كل شاهد يتكلم ضمن مجاله

يستطيع HELLO أن يشهد بما استقبلته واجهة محلية. يستطيع حساب MPR أن يشهد بالمجموعة التي اختيرت. تستطيع TC أن تشهد بأن مصدرا أعلن مجموعة روابط. يستطيع kernel أن يشهد بالمسار الذي قبله. وتستطيع الحزمة والتطبيق أن يشهدا بالنتيجة.

القوة تأتي من جمع الشهادات من دون دمج أصحابها. التوقيع يحمي نسبة الكلام إلى صاحبه، ولا يحول الكلام إلى الواقع.

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

المصادر