الملخص

  • خصص RFC 3058 معرّفات وقواعد معاملات مختلفة لتشفير المحتوى بـ IDEA ولتغليف المفاتيح بها. صار التمثيل على السلك دقيقاً، لكن الدعم ظل اختيارياً، وبقي السياق يحدد هل المعاملات غائبة أم NULL أم تحمل IV من ثمانية ثمانيات.
  • كانت قدرة S/MIME الموقعة ادعاءً مرتباً من العميل، لا إيصال تنفيذ. وظل الاستخدام الفعلي معتمداً على الطرفين، والتفضيل المحلي، والاتفاقات الخاصة، والقيود القانونية، والوصول إلى المفاتيح، ونجاح فك التغليف ومعالجة المحتوى.

اسم واحد لا يكفي لوظيفتين

لا تستطيع البرمجيات المشفرة التوافق اعتماداً على عبارة «استخدم IDEA». تحتاج رسالة CMS إلى معرّف خوارزمية ومعاملات وموضع لكل قيمة، وإلى فصل الخوارزمية التي تحمي المحتوى عن الخوارزمية التي تحمي مفتاحه. جاء RFC 3058، المنشور بصفة Informational في فبراير 2001، بهذه الدقة.

سمّى OID أول نمط IDEA-CBC لتشفير المحتوى، وسمّى ثانٍ تغليف مفتاح IDEA. عمل الأول بمفتاح سري 128 بت وكتل 64 بت. وأخذ الثاني مفتاح محتوى من 16 ثمانية، وضمه إلى قيمة تحقق من ثمانية، وأنتج قيمة مغلفة من 32 ثمانية. لذلك يمحو قول «يدعم IDEA» الفرق بين وظيفتين.

وقعت المعرّفات تحت فرع مؤسسة خاصة مرتبط بـ Ascom. كانت قيمتها تنسيقية: يمكن لتنفيذين مستقلين إصدار الرقم نفسه للوظيفة نفسها. لم يقل التسجيل إن كل عميل S/MIME يملك الشفرة، أو إن كل مستخدم يستطيع تفعيلها، أو إن الرسالة وصلت إلى إنسان. جعل الاختيار مقروءاً ولم يجعله متاحاً.

الغياب وNULL وIV ليست فراغاً واحداً

سمح معرّف المحتوى ببنية IDEA-CBCPar التي قد تحمل IV من ثمانية ثمانيات بالضبط. إن ظهر في المعاملات وجب استعماله وألا يوضع في مقدمة النص المشفر. وإن غاب، عُدّت أول 64 بت من النص هي IV، مع أن RFC أوصى بعدم استعمال هذه الصيغة في CMS أو S/MIME.

اتبع معرّف التغليف قاعدة أخرى: يجب أن يكون حقل المعاملات NULL. واتبع إعلانَا القدرة قاعدة ثالثة: يجب أن تغيب المعاملات. قد تبدو الحالات الثلاث «لا شيء» في وصف عام؛ لكنها في ASN.1 بايتات وتعليمات مختلفة.

هنا يقع قلب الوثيقة الهادئ. لا يصبح المعرّف تعليمة كاملة إلا مع سياقه واتفاقية معاملاته. المحلل الذي يساوي الغياب بـ NULL قد يرفض بنية صحيحة أو يقبل معنى لم يُتفق عليه. ولوحة تسجل «IDEA» فقط تفقد الدليل اللازم لإعادة إنتاج الرسالة.

يؤكد Errata 5913، المحتفظ به لتحديث الوثيقة، هذا الفصل: ينبغي أن يصبح رمز ASN.1 من IDEA-CBC إلى id-IDEA-CBC لبدء المعرّف بحرف صغير، بينما لا تتغير قيمة OID الرقمية. الاسم البشري ومعرّف مصدر ASN.1 والرقم المسجل مترابطة، لكنها ليست شيئاً واحداً.

عشوائية في الداخل وثابت في الخارج

حددت عملية التغليف خطوة بخطوة. أضيفت قيمة تحقق من ثمانية ثمانيات إلى مفتاح المحتوى ذي 16 ثمانية. ووُلّد IV عشوائي من ثمانية لتشفير القيمة ذات 24 ثمانية بـ IDEA-CBC. ثم قُدم IV العشوائي، وعُكس ترتيب 32 ثمانية، وشُفرت مرة أخرى بالـ IV الخارجي الثابت 4adda22c79e82105. وعند الفك أدى عدم تطابق قيمة التحقق إلى الرفض.

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

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

قدرة موقعة ومرتبة وغير كاملة

استطاع العميل نشر SMIMECapabilities كسمة موقعة. قدم RFC 3058 بايتات DER الدقيقة لـ IDEA-CBC والتغليف ووضعهما في فئتين منطقيتين؛ ويمكن للترتيب التعبير عن تفضيل. واستمرت مواصفات S/MIME اللاحقة في وصف القائمة بأنها جزئية لا جرداً شاملاً.

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

أبقى RFC الاختيار خارج السجل. ذكر القدرات المستلمة والاتفاقات الخاصة وتفضيلات المستخدم والقيود القانونية. فإذا طلب المستخدم IDEA وجب أن يدعمها العميلان وأن يُضبط التفضيل. أزال OID غموض البايتات، لكنه لم يمارس أياً من هذه السلطات.

بقي الترخيص بجانب صيغة السلك

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

قد يتعرف تنفيذ إلى OID ولا يحتوي الخوارزمية. وقد يملك المطور الشفرة وترفض المؤسسة الشروط. وقد يعلن المستلم القدرة وتختار سياسة المرسل شيئاً آخر. لم يبتلع التسجيل التقني هذه القرارات.

فصل RFC 3370 لاحقاً اتفاقيات الخوارزميات عن نواة CMS؛ وعرّف RFC 5652 نسخة لاحقة؛ ومنح RFC 8551 مستويات متطلبات لـ AES وChaCha20-Poly1305 مع إبقاء القدرات والاختيار الخارجي. لا تثبت هذه التطورات نشر IDEA، وغيابها عن قائمة حديثة لا يمحو معرّفاتها.

درس RFC 3058 ليس انتصار IDEA أو هزيمتها. يمكن للتوحيد أن يجعل القرار قابلاً لإعادة الإنتاج من دون أن يجعله عاماً. الرقم يعرّف الاختيار، والمعاملات تشرح القراءة، والقدرة الموقعة تنسب الادعاء، والسياسة والقانون يحددان إمكان الاختيار. وحده تبادل حقيقي يبين هل أكمل الطرفان العمل.

المصادر

لم يكتب Lu Heng أو يقر RFC 3058. تُستخدم مقالاته هنا فقط كعدسة تحليلية معلنة تفصل التسجيل الرمزي عن السلوك القابل للتنفيذ.