الخلاصة

  • تحمي IKE SA تبادلات التحكم، بينما تحمي Child SA مرور AH أو ESP. وعند إعادة مفاتيح IKE تظهر معرفات SPI ومفاتيح وعدادات رسائل جديدة للتحكم، لكن الوريث الناجي يتسلم روابط Child القائمة من دون تغيير مفاتيح مرورها تلقائياً.
  • لإعادة مفاتيح Child SA نسب مستقل وقواعد مستقلة للتصادم. إذا بدأ الطرفان في الوقت نفسه، فإن الرابطة التي أنشأها التبادل المحتوي على أصغر nonce هي الزائدة التي تُغلق؛ أصغر nonce لا يفوز.
  • يحتاج النجاح القابل للإثبات إلى ثلاثة سجلات مترابطة: نسب التحكم، وعهدة كل Child، ونتيجة التشغيل في الرسائل والحزم المحمية. عداد rekey واحد لا يثبت دوران مفاتيح المرور ولا استمرارية الخدمة.

تظهر المشكلة غالباً بعد نجاح ظاهري، لا بعد انقطاع. يبقى مرور ESP جارياً، وتظهر IKE SA جديدة، ثم تختفي القديمة. بعد ساعات تأتي رسالة حذف أو إعادة مفاتيح لاحقة، فيكتشف المشغل أن بعض روابط Child لم تعد مرتبطة بالأب الذي يعتقده الطرف الآخر.

السبب أن كلمة «النفق» تخفي عدة كائنات. رابطة IKE هي سياق التحكم المحمي الذي يدير الحالة الأمنية. أما روابط Child فهي التي تحمل حماية الحزم في كل اتجاه. انتقال سلطة التحكم لا يساوي تغيير مفاتيح الأطفال ولا يضمن نتيجة التطبيق.

يَرِد اسم Tero Kivinen في RFC 7296 مع Charlie Kaufman وPaul Hoffman وYoav Nir وPasi Eronen. يتيح هذا الإسناد تتبع مساهمته في قاعدة الخلافة، لكنه لا يجعل المعيار الجماعي ملكاً لفرد، ولا يشهد بصحة تنفيذ أي منتج قائم.

رابطتان تنشآن معاً ولا تصبحان كائناً واحداً

ينشئ IKE_AUTH عادةً رابطة IKE موثقة وأول Child SA في سياق متقارب. لهذا تميل الواجهات إلى تمثيلهما كسطر واحد. إلا أن RFC 7296 يبقي مصيريهما منفصلين: قد تفشل Child الأولى من دون إسقاط IKE المكتملة، ولا ينبغي لفشل إنشاء Child لاحقة أن يهدم سياق التحكم تلقائياً.

يجعل RFC 6023 الحد أوضح بإتاحة IKE SA موثقة بلا Child SA. يمكنها متابعة حياة النظير، واكتشاف NAT، وحمل إشعارات محمية، وإنشاء Child في وقت لاحق. مؤلفوه Yoav Nir وHannes Tschofenig وHui Deng وRaj Singh، وليس Kivinen؛ والاستشهاد به هنا للسياق مع حفظ حدود التأليف.

إذن وجود التحكم لا يثبت وجود مسار بيانات. وبالعكس، استمرار Child في تمرير الحزم لا يثبت أن IKE القديمة آمنة للحذف، أو أن رسالة الصيانة التالية ستحميها IKE الوريثة الصحيحة.

ينبغي أن يبدأ كل حدث تشغيل بحقل نوع الرابطة. من دون IKE أو Child تصبح كلمات «أنشئت» و«جُددت» و«حُذفت» أفعالاً بلا موضوع.

اسم CREATE_CHILD_SA يغطي ثلاثة أغراض

بعد التبادلات الأولى يستطيع أي طرف بدء CREATE_CHILD_SA. وعلى الرغم من الاسم، يمكن للتبادل إنشاء Child جديدة، أو إعادة مفاتيح Child قائمة، أو إعادة مفاتيح IKE SA نفسها.

عند إنشاء Child جديدة يحمل الطلب اقتراح الخوارزميات وnonce وربما مادة تبادل مفاتيح، إضافة إلى محددات المرور TSi وTSr. وللمستجيب أن يضيّقها. وعند تجديد Child تحدد REKEY_SA الرابطة المستبدلة ببروتوكولها وSPI الداخل؛ ولا ينبغي للوريثة أن تغيّر المحددات أو الخوارزميات خفية.

أما عند تجديد IKE فتُنشأ قيم SPI جديدة للمبادر والمستجيب ومفاتيح تحكم جديدة. تبدأ أرقام Message ID والنافذة من جديد في الوريثة، وتحتفظ القديمة بعداداتها لإنهاء ما بقي لها. تشابه غلاف التبادل لا يوحّد تاريخ الروابط.

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

الخلافة إنشاء قبل الإزالة

تعني إعادة المفاتيح في RFC 7296 إنشاء SA جديدة ثم حذف القديمة، لا الكتابة فوق السجل القائم. يحافظ هذا الترتيب على طريق رجوع أثناء الانتقال، ويجعل التعايش المؤقت بين عدة روابط حالة مقصودة.

عندما تنجو IKE SA الجديدة، ترث جميع روابط Child التابعة للأصل. ومن ثم تُحمى رسائل إدارة تلك الروابط تحت الوريثة. ويكون طلب IKE القديمة حذف نفسها آخر طلب ترسله عبر سياقها.

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

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

وراثة Child لا تعيد مفاتيحها

تحتفظ Child الموروثة بقيم SPI الداخلة والخارجة، ومحددات المرور، والنمط، والخوارزميات، وجيل المفتاح، وحالة التسلسل ومنع الإعادة، والعدادات، والعمر. تغيير الأب يعني فقط أن أوامر الصيانة القادمة تُحمى بسياق آخر.

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

يؤكد تقسيم المعايير هذا الفصل. يخص RFC 8247 إرشاد خوارزميات IKEv2، ويصرح بأنه لا يحدّث خوارزميات تشفير ESP. ويعالج RFC 8221 خوارزميات ESP وAH منفصلة. يشارك Kivinen في تأليف الوثيقتين مع مجموعتين مختلفتين، لكن مجال كل وثيقة لا يجوز دمجه في خانة «تشفير VPN» واحدة.

قد ينتقل التحكم إلى مجموعة خوارزميات أحدث بينما تبقى Child قديمة مقبولة إلى أن ينتهي عمرها. وقد تتجدد Child وحدها من دون تبديل IKE. يلزم إذن خطان زمنيان للامتثال ودورة الحياة.

توثيق النظير لا يجيز كل محدد مرور

تحمل IKE SA دليلاً على هوية النظير وتحمي التفاوض. لكنها لا تمنح النظير الموثق حق ادعاء أي نطاق مصدر أو وجهة. يضع RFC 4301 قرار Peer Authorization Database بعد التوثيق ليقيد المحددات التي يمكن قبولها.

يستطيع المستجيب تضييق TSi وTSr إلى المجال المسموح محلياً. وعندما ترث IKE جديدة الـChild، يجب أن يبقى معها النظير الموثق والمحددات المقبولة وإصدار السياسة. انتقال الأب ليس فرصة لتوسيع النطاق خفية.

«تم توثيق النظير» و«ثُبتت Child» و«أُجيزت هذه المحددات» ثلاث نتائج مختلفة. خلطها يحول دليل الهوية إلى تصريح غير محدود للشبكات.

توفر فكرة Minimum Initial Specification لدى Heng Lu مقياساً مناسباً: يحدد المعيار أقل الرسائل والمعرفات اللازمة لتنسيق أنظمة مستقلة، بينما يظل القبول والنطاق والعمر قراراً عند المشارك الذي يتحمل الأثر المحلي.

الجاهزية لا تُرى في اللحظة نفسها عند الطرفين

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

لذلك يواصل المستجيب الإرسال عبر Child القديمة إلى أن يتلقى مروراً صالحاً على النصف المقابل من الزوج الجديد، أو طلب IKE لإغلاق القديم. وإذا لم تكن لدى المبادر حزمة تطبيق، فيمكنه إرسال حزمة ESP وهمية علامةً على الجاهزية.

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

كما لا تكفي عناوين الطرفين والمحددات لتعريف Child تعريفاً فريداً. يسمح IKEv2 بروابط متوازية بين الطرفين والمحددات نفسها. لا غنى عن SPI والنسب؛ وإلا جمعت اللوحة السابقة والوريثة والمرشحة الزائدة في سطر واحد.

تصادم تجديد Child يصنع عائلة مؤقتة

قد تجعل سياسات العمر المتقاربة الطرفين يبدآن تجديد Child في وقت واحد تقريباً. يقلل jitter الاحتمال ولا يلغيه. تصبح الحالة المؤقتة زوج Child القديم وزوجين جديدين.

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

يحذف منشئ الزوج الناجي الزوج القديم المستبدل، ويحذف منشئ الزوج الزائد مرشحه الزائد. يجب أن يحتفظ السجل بالثلاثة وبمسؤولي الحذفين، حتى بعد أن تعرض الواجهة رابطة نهائية واحدة.

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

تصادم IKE يحدد أيضاً من يرث الأطفال

يستطيع الطرفان تجديد IKE SA في وقت واحد، فتوجد القديمة ومرشحان جديدان. تُغلق IKE الجديدة المرتبطة بأقل nonce، وترث الناجية كل روابط Child.

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

وفي سباق غير متناظر قد يصل طلب التجديد بعد أن بدأ الطرف الآخر إغلاق IKE القديمة. يستخدم RFC 7296 إشعار TEMPORARY_FAILURE، ويمكن للطرف التخلي عن محاولته بعد وصول حذف القديمة. النتيجة المؤقتة قد تكون جزءاً من تقارب منظم لا دليلاً على انقطاع.

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

تعدد تبادلات المفاتيح لا يلغي الحدود

يضيف RFC 9370 تبادلات مفاتيح متعددة وIKE_FOLLOWUP_KE أثناء تجديد IKE أو إنشاء Child وتجديدها. ويحتفظ بوجوب حل تصادم التجديد قبل متابعة التبادلات الإضافية.

لـRFC 9370 مجموعة أخرى من سبعة مؤلفين، ولا يجوز نسبته إلى Kivinen. أهميته هنا أن السلسلة الأطول تجعل وسم «نجح» أقل إفادة. يجب تسجيل الامتداد المتفاوض عليه، والتبادلات المكتملة، والمرشح الناجي، ونوع SA التي حصلت على المفاتيح.

يسمح تسجيل IANA بلغة مشتركة بلا تصادم، لكنه لا يقيس انتشار التنفيذ أو مطابقته أو وصول الحزم المفيدة. التسجيل والتنفيذ والتفاوض والتشغيل مراحل دليل مستقلة.

حفظ حدود التأليف جزء من الدقة نفسها. يضيء RFC 6023 وRFC 9370 السياق، ولا يصبحان ملكاً لسيرة شخص لأنهما قريبان موضوعياً.

ما الذي تثبته مساهمة Kivinen

في ملف IETF الذي روجع في 31 أغسطس 2026، يُذكر Tero Kivinen بوصفه chair في IPsecme، وعضواً في Tools Team، ومراجعاً وسكرتيراً في Security Area Directorate. يسجل الملف ستة عشر RFC ولا يسجل Internet-Draft نشطاً. هذه لقطة مؤرخة لا اعتماد لمنتج.

لـRFC 7296 خمسة مؤلفين. ولكل من RFC 8247 وRFC 8221 مجموعة مؤلفين، بينما يعود RFC 6023 وRFC 9370 إلى آخرين. الإسناد الصحيح يجعل المساهمة قابلة للتتبع من دون اختراع سيادة على البروتوكول.

وفق مشكلة الوكالة لدى Heng Lu، يوفر المؤلفون والمؤسسة أداة تنسيق محدودة النطاق. ويظل مشغلو الطرفين مسؤولين عن أعمارهم وسياساتهم وخوارزمياتهم وتنفيذهم وأدلة الحادث.

ولا تتجاوز هذه المقالة حدود المصادر: لا تثبت شيوع التطبيق، ولا مطابقة كل شبكات VPN، ولا إعداد شبكة أو منتج بعينه.

ثلاثة دفاتر لثلاثة أنواع من النجاح

يسجل دفتر نسب التحكم هوية النظير، وقيم IKE SPI القديمة والجديدة، والخوارزميات، وnonce، وMessage ID، والمحفز المحلي، والمرشحين، وقرار الوريث، وأول تحكم محمي، وحذف القديمة. يجيب: من أصبح الأب؟

ويسجل دفتر العهدة كل SPI داخل وخارج، والمحددات، وقرار PAD/SPD، والنمط، والخوارزمية، وجيل المفتاح، والعمر المحلي، والأب السابق والجديد، وهل ورثت Child أم استُبدلت، وحالة حذفها. يجيب: ما الذي انتقل وما الذي تغيرت مفاتيحه؟

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

تتصل الدفاتر عبر SPI والزمن ولا تندمج. نجاح IKE rekey لا يثبت مفاتيح Child جديدة؛ وبقاء Child حية لا يثبت أن صيانتها المستقبلية تحت الأب الصحيح. هذه هي قيمة Running-Code Primacy: يجعل المعيار النتيجة قابلة للاختبار، ويقدم التشغيل الجواب.

المصادر