الخلاصة

  • يرسل AES-XCBC-MAC-96 أول 96 بت من نتيجة طولها 128 بت بوصفها قيمة تحقق في IPsec. أما RFC 3664 فتستخدم البتات الـ128 كاملة خرجاً لدالة PRF في IKE.
  • أبقت RFC 4434 ذلك الخرج والنتيجة نفسها عند استخدام مفتاح من 128 بت، لكنها ألغت اشتراط طول واحد للمفتاح. ففي IKEv2 يُعامل الطول على أنه ثابت عند توليد مادة المفاتيح، ومتغير عند التحقق باستخدام سر مشترك.

ثلاثة أطوال مختلفة

لا تشير عبارة «128 بت» هنا إلى مقدار واحد. تحسب RFC 3566 قيمة AES-XCBC بطول 128 بت، ثم ترسل أول 96 بت منها في حقل التحقق في ESP أو AH. يعيد الطرف المستقبِل حساب القيمة كاملة ويقارن أول 96 بت نفسها. هذا الحقل المختصر مخصص للتحقق من الحزم؛ وليس كل ما تستطيع البنية إنتاجه. RFC 3566

كان لدى IKE استخدام مختلف. يسهم خرج الدالة شبه العشوائية (PRF) في إنشاء المفاتيح؛ لذلك رأت RFC 3664 أن خرجاً بطول 96 بت أقصر من اللازم للاستخدام طويل الأمد في IKEv1 أو IKEv2. وكان التعديل محدوداً: استخدام بنية AES-XCBC مع حذف خطوة الاقتطاع الأخيرة. وهكذا صار خرج PRF بطول 128 بت. ولا يعني ذلك أن كل مفتاح يشتقه IKE يبلغ 128 بت؛ فالخرج يدخل في اشتقاق المفاتيح الذي يحدده البروتوكول. RFC 3664

ورثت RFC 3664 أيضاً قيداً من AES-XCBC-MAC-96: يجب أن يكون المفتاح 128 بت بالضبط. فالخرج كامل، لكن مفتاح الإدخال ثابت الطول. وهذا لا يلائم الأسرار المشتركة في IKE ذات الأطوال الأخرى. لم يغيّر النص اللاحق النتيجة عند مفتاح طوله 128 بت؛ بل أوضح كيفية تهيئة المدخل قبل عملية AES. صفحة RFC 3664 وأخطاؤها أخطاء RFC 3664

تعديل 2006 عالج المدخل

ألغت RFC 4434 شرط أن يكون المفتاح 128 بت بالضبط. يُستخدم مفتاح 128 بت كما هو. ويُمدد المفتاح الأقصر بإضافة أصفار إلى اليمين حتى يبلغ 128 بت. أما إذا بلغ 129 بت أو أكثر، فتُشغّل PRF مرة أخرى باستخدام مفتاح من 128 بت كله أصفار، مع تمرير المفتاح الطويل بوصفه الرسالة؛ ويصبح الخرج هو المفتاح المهيأ. هذه الخطوة ليست اقتطاعاً عادياً ولا دالة تجزئة عامة. RFC 4434

قد تخفي عبارة «الخوارزمية نفسها» سؤالين: ما النتيجة الظاهرة على السلك، وما المدخلات التي تقبلها التطبيقات. تقول RFC 4434 إن مفتاح 128 بت يعطي النتائج نفسها على السلك كما في RFC 3664. أما الأطوال الأخرى فلا تُرفض؛ بل تُحوّل إلى مفتاح AES من 128 بت. ويظل خرج PRF قيمة XCBC كاملة من 128 بت، لا حقل التحقق ESP/AH ذي 96 بت. صفحة RFC 4434 وأخطاؤها أخطاء RFC 4434

منح IKEv2 الدالة وظيفتين

يميز النص اللاحق أيضاً بين استخدامين داخل IKEv2. عند إنشاء مادة المفاتيح، تُعامل AES-XCBC-PRF-128 على أنها ثابتة الطول، ويوزع إجراء IKEv2 المساهمات بين قيمتي nonce. أما عند التحقق باستخدام سر مشترك، فتُعامل وفق RFC 4434 على أنها متغيرة الطول، فلا يلزم أن يكون السر نفسه 128 بت. ويقر النص بأن المنطق معقد بعض الشيء، موضحاً أن الغاية هي التوافق بين تطبيقات تتبع قاعدة RFC 3664 الثابتة وأخرى تتبع القاعدة الأوسع. RFC 4306 RFC 4434

هذا تعديل لعقد واجهة، وليس دليلاً على عطل محدد أو انتشار واسع في الشبكات. أبقت RFC 4434 الخرج الكامل ونتيجة مفتاح 128 بت، وشرحت تحويل المدخلات الأقصر والأطول. أما توصيات RFC 8221 اللاحقة فتتناول خوارزميات التحقق في ESP/AH؛ ولا تثبت تفاوض IKE على PRF بعينها أو سلوك أي تنفيذ. RFC 8221

يكمن تاريخ المعيار في فصل الخطوات: اقتطاع MAC لحقل الحزمة، والإبقاء على القيمة كاملة لـPRF في IKE، ثم تهيئة مفتاح الإدخال بحسب الغرض منه.

المصادر