الخلاصة
- يحدد RFC 9814 مسارين مختلفين: عند غياب السمات الموقعة توقع Pure SLH-DSA المحتوى، وعند وجودها توقع الترميز
DER(SignedAttributes). - في المسار الثاني تربط
message-digestبايتات المحتوى، وتربطcontent-typeمعناها داخل CMS، بينما تساعدCMSAlgorithmProtectionعلى منع تبديل قصة الخوارزميات خارج المادة الموقعة. - إبقاء ملف ضخم خارج HSM مفيد للتدفق، لكنه يجعل قارئ المحتوى وخدمة التجزئة وباني السمات أصحاب سلطة يجب توثيقها. هذا ليس نمط HashSLH-DSA المسبق التجزئة.
عندما لا تكفي سلامة قيمة التوقيع
تخيل بوابة تتحقق من حزمة أرشيفية. تجد توقيع SLH-DSA صالحاً ومفتاحاً موثوقاً، لكنها تقرأ معرف خوارزمية التجزئة من حقل خارجي تغير أثناء النقل. إذا لم تكن اختيارات الخوارزميات جزءاً من السمات الموقعة، قد تفسر مكتبتان الجسم نفسه بطريقتين مختلفتين أو تقبل إحداهما ما ترفضه الأخرى.
هذه ليست مسألة أسماء ASN.1 فقط. إنها مسألة من يملك حق وصف العملية التي أدت إلى القرار. صدر RFC 9814 في يوليو 2025 على مسار المعايير، ويحدد استخدام Pure SLH-DSA بسياق فارغ في CMS SignedData. لا يحدد HashSLH-DSA لهذا الاستخدام. لكن CMS يتيح طريقتين لبناء الرسالة، بحسب وجود SignerInfo.signedAttrs.
من دون سمات موقعة
إذا غابت signedAttrs، يكون المحتوى نفسه هو رسالة Pure SLH-DSA. لا تصبح الرسالة تجزئة خارجية لمجرد أن بنية CMS تحتوي على digestAlgorithm. يوضح RFC 9814 أن هذا الحقل لا يشارك في حساب التوقيع في هذا المسار.
لهذا لا تستطيع خدمة توقيع لا تقبل إلا قيمة تجزئة أن تدعي تنفيذ المسار كما هو، إلا إذا تغير التصميم إلى مسار السمات وطبق شروطه. تمرير Hash(content) باعتباره الرسالة يغير العملية. كما أن ظهور SHA-256 في الحاوية لا يثبت استخدام نمط prehash.
للملفات الكبيرة تكلفة واضحة: يحتاج المنفذ إلى الرسالة الفعلية وفق واجهة Pure. والمتلقي الذي احتفظ بتجزئة واحدة أثناء وصول التدفق لا يملك تلقائياً كل ما يلزم للتحقق لاحقاً في هذا المسار. يجب أن تضمن البنية حفظ المحتوى أو إعادة قراءته أو توفير مسار تحقق مناسب.
مع السمات الموقعة
عند وجود signedAttrs، يحسب CMS تجزئة المحتوى بالخوارزمية المحددة ويضع النتيجة في السمة الإلزامية message-digest. وتحدد السمة الإلزامية content-type نوع المحتوى المغلف أو الخارجي. ثم ترمز المجموعة الكاملة وفق DER، وتوقع Pure SLH-DSA تلك البايتات.
يجب على التحقق أن يثبت الروابط الآتية كلّاً على حدة:
- هوية نسخة المحتوى غير القابلة للتغيير والبايتات التي قُرئت فعلياً.
- خوارزمية التجزئة والنتيجة والطول الكامل للقراءة.
- تطابق نوع المحتوى الموقع مع النوع الفعلي وسياسة الاستخدام.
- المجموعة الكاملة للسمات والتمثيل DER الدقيق الناتج منها.
- اتساق معرف Pure SLH-DSA مع المفتاح العام وصحة التوقيع.
- قبول سلسلة الشهادة وإصدار السياسة وقت اتخاذ القرار.
غالباً لا تثبت HSM إلا جزءاً من الرابط الخامس: استخدم المفتاح المحمي لإنتاج توقيع على دخل معين. لا تثبت أن التطبيق قرأ النسخة التي وافق عليها الإنسان، ولا أن التدفق لم يستأنف من موضع خاطئ، ولا أن نوع المحتوى في الشاشة هو نفسه الموجود في DER.
يعيد المتحقق حساب التجزئة فوق المحتوى المستلم ويقارنها بـmessage-digest. كما يقارن content-type الموقعة بنوع المحتوى في encapContentInfo. النوع ليس زينة؛ فقد يحدد المحلل البرمجي، وسياسة الاحتفاظ، والإجراء الآلي، وصلاحية المفتاح لهذا الصنف.
حماية الخوارزمية داخل ما هو موقع
مع السمات، تحدد SignerInfo.digestAlgorithm التجزئة المستخدمة في message-digest، ويجب أن تمثل مجموعة SignedData.digestAlgorithms خوارزميات الموقعين. ويربط RFC 9814 طول خرج التجزئة بمقاومة التصادم المطلوبة لمجموعة معلمات SLH-DSA المختارة.
يحدد RFC اثني عشر معرفاً لخوارزميات توقيع Pure SLH-DSA، ويجب أن تكون المعلمات غائبة. ويتحقق المستلم من الاتساق مع خوارزمية المفتاح العام. أما RFC 9909 فيعالج طبقة X.509 ذات الصلة؛ سلسلة شهادات صحيحة لا تثبت أن التطبيق جزّأ الملف المقصود.
توصي المواصفة بإدراج السمة الموقعة CMSAlgorithmProtection المعرفة في RFC 6211. تضع هذه السمة معرفي التجزئة والتوقيع داخل المادة المحمية، فتقاوم محاولة تبديل الحقول الخارجية وإعادة تفسير التوقيع. لأنها توصية SHOULD، قد تغيب في أنظمة قديمة. يجب أن يكون للغياب قرار واضح: رفض أو عزل أو قبول مؤقت مقاس. القبول الصامت ليس سياسة توافق.
DER ليس تنسيق عرض
يرى المدقق أسماء وقِيماً، لكن الخوارزمية ترى بايتات. يحدد DER الوسوم والأطوال والأنواع والترتيب القانوني للمجموعة. قد تعرض واجهتان القائمة نفسها، بينما تختلف البايتات بسبب نوع قيمة أو سمة غير معروفة أو إعادة ترميز.
ينبغي حفظ كائن CMS الأصلي. وفي القرارات الحساسة، ينبغي أيضاً حفظ بايتات DER التي دخلت الموقّع، وتجزئة تدقيق لها، وإصدار المكتبة، ونتيجة إعادة البناء بتنفيذ مستقل. إذا كان المورد وحده قادراً على شرح التحويل من السمات إلى البايتات، فالاحتجاز التقني يقع في طبقة الدليل.
باني السمات جزء من قاعدة الثقة. يمكن أن يبقى المفتاح سرياً داخل HSM ومع ذلك يختار الوسيط ملفاً خاطئاً، أو يحذف content-type، أو يضيف سمة بعد الموافقة. حماية المفتاح لا تحمي تلقائياً صناعة الرسالة.
لماذا لا يسمى هذا prehash
يبدو المسار كأنه prehash: ملف كبير يدخل دالة تجزئة، وكائن صغير يصل إلى HSM. لكن Pure SLH-DSA لا توقع التجزئة وحدها؛ توقع DER الذي يضم التجزئة والنوع وسمات أخرى. يعرّف FIPS 205 عمليتي Pure وprehash بوصفهما عمليتين مختلفتين، ولـHashSLH-DSA دلالة ومعرفات مستقلة.
استخدام عبارة غامضة قد يدفع المطور لاختيار OID خاطئ، أو المتحقق لإعادة بناء دخل خاطئ، أو المدقق للاحتفاظ بالتجزئة ونسيان DER. الوصف الصحيح هو: «Pure SLH-DSA فوق سمات CMS الموقعة، والمحتوى مرتبط بواسطة message-digest».
التدفق ينقل السلطة
تسمح السمات للمتلقي بحساب التجزئة أثناء وصول البيانات ثم التحقق من بنية صغيرة، كما تمنع إرسال غيغابايتات إلى HSM. غير أن خدمة القراءة والتجزئة تصبح حداً أمنياً. يجب اختبار الانقطاع والاستئناف، وتغير النسخة تحت الاسم نفسه، وخلط الأجزاء، واختلاف الطول، ومصدر نوع المحتوى.
يحتاج كل حدث إلى سجل يضم معرف المحتوى ونسخته الثابتة، الطول، الخوارزمية والتجزئة، نوع CMS، كل السمات، DER الدقيق، مجموعة SLH-DSA، المفتاح والشهادة، التوقيع، السياسة، الوقت، ونتائج منفصلة للقراءة والتجزئة والنوع والسمات والخوارزميات والتوقيع ومسار الثقة.
غيّر في اختبارات القبول عنصراً واحداً كل مرة: بايتاً من المحتوى، التجزئة، النوع، سمة إضافية، DER، معرف الخوارزمية، المفتاح أو الشهادة. يجب أن يظهر اسم المرحلة التي رفضت التغيير، لا رسالة عامة فقط.
لا يعد RFC 9814 بأداء المورد أو انتشار السوق أو أمن كمي لكل CMS. التشفير، وسلاسل الشهادات، والعشوائية، والقنوات الجانبية، والأعطال، وحراسة المفاتيح مسؤوليات مستقلة. كما يلزم ضبط دورة الحياة للحفاظ على عدد التوقيعات لكل مفتاح SLH-DSA دون 2^64.
فكرة «المواصفة الأولية الدنيا» لدى Heng Lu مفيدة هنا: ضع أصغر عقد يمكن لأطراف مستقلة اختباره. طبقة الواقع ليست شعار التوافق، بل القدرة على إعادة مسار المحتوى إلى التجزئة، ثم السمات إلى DER، ثم DER إلى التوقيع وقرار السياسة.
المصادر
إحاطة الأعضاء
سياق أعمق للملف الشخصي
سجّل الدخول بمستوى العضوية المناسب لفتح الإحاطة الكاملة وملاحظات المصادر.
للدائرة الاستراتيجية فقط
الدائرة الاستراتيجية
مفتوح لجميع القراء. افتح إحاطات الملف الشخصي بعد الانضمام وتسجيل الدخول.
انضم إلى الدائرة الاستراتيجيةلأعضاء تحالف القيادات فقط
تحالف القيادات
لأصحاب الأصول الفكرية المؤهلين وللإدارة؛ سجّل الدخول للوصول إلى إحاطات التحالف.
انضم إلى تحالف القيادات
