Trojan-Resilient NTT: Protecting Against Control Flow and Timing Faults on Reconfigurable Platforms
تقدم هذه الورقة بنية تحويل نظرية عددية (NTT) آمنة للمنصات القابلة لإعادة التشكيل، تعمل بفعالية على كشف وتصحيح اضطرابات تدفق التحكم، والتأخيرات الزمنية غير التقليدية، وهجمات القنوات الجانبية التحليلية الناعمة (SASCA) الناتجة عن تروجان الأجهزة (Hardware Trojans)، مع الحفاظ على انخفاض في تكاليف المساحة والوقت في تطبيقات التشفير لما بعد الكم.
تخيل أنك تدير خزنة بنكية عالية الأمن (الـ NTT، أو تحويل نظرية الأعداد). هذه الخزنة هي غرفة المحرك لنوع جديد من الأقفال الرقمية (المعروف بـ التشفير ما بعد الكمي، المستخدم في أنظمة مثل Kyber). مهمتها هي إجراء عمليات رياضية معقدة للغاية بسرعة فائقة للحفاظ على أمان بياناتك.
ومع ذلك، هناك طريقتان رئيسيتان يمكن للأشرار من خلالهما الاختراق:
المخرب "حصان طروادة": قطعة صغيرة مخفية من الأجهزة (تروجان عتادي - Hardware Trojan) تم زرعها داخل آليات الخزنة. هي لا تسرق المال مباشرة؛ بل تعبث بـ المفاتيح والرافعات (إشارات التحكم) لإيقاف الخزنة عن العمل، أو جعلها تعمل ببطء شديد، أو إجبارها على فتح الأبواب الخطأ.
الجاسوس "المتنصت": جاسوس يراقب المدة التي تستغرقها الخزنة لفتحها أو مقدار الطاقة التي تستهلكها (هجمات القنوات الجانبية) لتخمين الرمز السري.
تقدم هذه الورقة نسخة جديدة فائقة الأمان من محرك الخزنة تسمى NTT المقاومة لتروجان (Trojan-Resilient NTT). وإليك كيف تعمل، باستخدام تشبيهات بسيطة:
1. نظام "التحقق المزدوج" (سلامة تدفق التحكم)
تخيل أن الخزنة لديها مدير رئيسي (وحدة التحكم) يعطي أوامر مثل "افتح الباب أ" أو "ابدأ الحساب".
المشكلة: يمكن لمخرب أن يتسلل ويغير أوامر المدير، فيخبر الخزنة بتخطي خطوات أو العمل بترتيب خاطئ.
الحل: بنى المؤلفون مديراً ظلياً (سجل احتياطي خفيف الوزن). المدير الظلي لا يقوم بأي عمل حقيقي؛ هو فقط يراقب المدير الرئيسي.
إذا قال المدير الرئيسي "افتح الباب أ"، يتوقع المدير الظلي رؤية "افتح الباب أ" في نفس اللحظة تماماً.
إذا قال المدير الرئيسي فجأة "افتح الباب ب" أو تعثر، يرفع المدير الظلي فوراً راية حمراء: "مهلاً! الأوامر لا تطابق الخطة!"
لماذا هو رائع: المدير الظلي منفصل تماماً عن الآلات الرئيسية. حتى لو اخترق المخرب المدير الرئيسي، لا يمكنه اختراق المدير الظلي بسهولة لأنه مبني بشكل مختلف ويقع في مكان مختلف.
2. "ساعة الإيقاف" (عداد دورات الساعة)
تخيل أن الخزنة من المفترض أن تستغرق 10 ثوانٍ بالضبط لمعالجة عملية ما.
المشكلة: قد يحاول مخرب إبطاء الخزنة عن طريق حشر ترس، مما يجعلها تستغرق 15 ثانية. هذا التأخير يمكن استخدامه لسرقة الأسرار أو مجرد تعطيل النظام.
الحل: تمتلك الخزنة ساعة إيقاف مدمجة (عداد دورات الساعة). هي تعد كل نبضة من نبضات الساعة.
إذا انتهت الخزنة في 10 نبضات، فكل شيء على ما يرام.
إذا استغرقت 11 نبضة (بسبب قيام مخرب بحشر ترس)، تصرخ ساعة الإيقاف: "بطيئة جداً! هناك خطأ ما!"
هذا يكشف أي محاولة لتأخير العملية، سواء كانت حادثاً أو هجوماً متعمداً.
3. "القناع السحري" (التغطية المحلية)
تخيل أن الخزنة تعالج رقماً سرياً. هناك جاسوس في الخارج يراقب عداد الطاقة لتخمين الرقم بناءً على مدى جهد الآلة في العمل.
المشكلة: يرى الجاسوس أنماطاً في استهلاك الطاقة ويستنتج الرقم السري.
الحل: تستخدم الخزنة قناعاً سحرياً. في كل مرة تكتب فيها الخزنة رقماً سرياً، تقوم بخلطه مع رقم عشوائي وهمي أولاً.
بالنسبة للجاسوس، يبدو استهلاك الطاقة كأنه ضجيج عشوائي. لا يمكنه معرفة السر الحقيقي لأنه دائماً مخفي خلف طبقة من "التشويش".
تعرف الخزنة كيفية إزالة القناع في النهاية للحصول على الإجابة الحقيقية، لكن الجاسوس لا يرى سوى الفوضى.
4. آلية "الترميم الذاتي" (تصحيح الخطأ التكيفي)
هذا هو الجزء الأكثر تميزاً. إذا اكتشفت الخزنة مشكلة (راية حمراء من المدير الظلي أو ساعة الإيقاف)، فهي لا تكتفي بالإغلاق فقط. بل تحاول إصلاح نفسها باستخدام ثلاثة مستويات من "الإصلاح":
المستوى 1: "لنحاول ذلك مجدداً". إذا كان الخطأ عبارة عن خلل بسيط، تقوم الخزنة ببساطة برمي النتيجة السيئة وتشغيل تلك الخطوة المحددة مرة أخرى فوراً. الأمر يشبه عداءً تعثر بحجر صغير، ثم نهض وأكمل اللفة دون توقف.
المستوى 2: "أعد تشغيل نفس الغرفة". إذا تكرر الخلل، تقوم الخزنة بإعادة تحميل تعليماتها الخاصة (الـ bitstream) في نفس المكان تماماً على الشريحة. الأمر يشبه تعطل جهاز كمبيوتر وإعادة تشغيل نفس البرنامج لتجاوز خطأ مؤقت.
المستوى 3: "انتقل إلى غرفة جديدة". إذا استمرت المشكلة في نفس المكان، تدرك الخزنة أن تلك المنطقة المحددة من الشريحة قد تكون "مسمومة" من قبل مخرب. لذا تأخذ مجموعة جديدة من التعليمات وتنتقل بالعملية بأكملها إلى منطقة مختلفة ونظيفة تماماً في الشريحة.
الجزء الذكي: يحتفظ النظام بـ "درجة خطر" لكل غرفة في الشريحة. إذا كان للغرفة تاريخ من الأعطال، يتجنبها النظام. وإذا كانت الغرفة نظيفة، يرسل العمل إليها.
النتائج
اختبر المؤلفون هذا النظام على شريحة حقيقية (FPGA) باستخدام معيار تشفير Kyber.
معدل النجاح: قاموا بمحاكاة آلاف الهجمات (مثل حشر التروس أو تغيير المفاتيح). نجح النظام في كشف 100% من المشكلات.
التكلفة: "المدير الظلي"، و"ساعة الإيقاف"، و"القناع السحري" جعلوا الخزنة أكبر قليلاً (حوالي 20% مساحة إضافية) وأبطأ قليلاً (استهلاك ضئيل للطاقة).
الخلاصة: لقد أثبتوا أنه يمكنك بناء خزنة لا تكتفي بقفل الباب فحسب، بل تراقب حراسها أيضاً، وتضبط توقيت حركاتها، ويمكنها الانتقال إلى غرفة جديدة إذا تعرضت الغرفة الحالية للاختراق، وكل ذلك دون كسر الميزانية.
باخت مختص، تبني هذه الورقة محرك رياضيات ذاتي الوعي وذاتي الترميم يرفض أن يُخدع من قبل المخربين الذين يحاولون العبث بضوابطه أو توقيته.
إليك ملخص تقني مفصل لورقة البحث بعنوان "NTT المقاومة لتروجان: الحماية ضد أخطاء تدفق التحكم والتوقيت في المنصات القابلة لإعادة التشكيل."
1. بيان المشكلة
تعد تحويلات "العدد النظري" (NTT) مكوناً حرجاً في خوارزميات التشفير ما بعد الكم (PQC) القائمة على الشبكية (مثل Kyber وDilithium وNTRU)، حيث تقلل تعقيد ضرب كثيرات الحدود من O(n2) إلى O(nlogn). ومع ذلك، فإن تطبيقات NTT على المنصات القابلة لإعادة التشكيل مثل FPGAs معرضة لـ:
تروجان الأجهزة (Hardware Trojans): تعديلات خبيثة يتم إدراجها أثناء سلسلة التوريد (مراحل RTL، أو التصنيع، أو المسبك، أو مراحل الـ bitstream) والتي تستهدف إشارات التحكم بدلاً من البيانات. يمكن لإشارة تحكم واحدة فاسدة أن تعطل تدفق التحكم بالكامل أو تسبب تأخيرات غير تقليدية، مما يؤدي إلى فشل كارثي أو تسريب للمعلومات.
هجمات القنوات الجانبية (SCA): وتحديداً هجمات القنوات الجانبية التحليلية الناعمة (SASCA)، حيث يستغل المهاجمون تسريبات الطاقة أو التوقيت لاستعادة الأجزاء السرية.
قصور الحلول الحالية: تركز الأعمال السابقة بشكل أساسي على اكتشاف الأخطاء في إشارات البيانات (التي تتطلب إعادة حساب ثقيلة) أو تستخدم منطقاً مكرراً لتدفق التحكم يكون مرتبطاً ارتباطاً وثيقاً بالتصميم الرئيسي، مما يجعله عرضة لنفس التروجان. هناك نقص في الحلول التي توفر حماية متزامنة لاضطرابات تدفق التحكم، وشذوذ التوقيت، وSASCA مع تقديم تصحيح تكيفي دون عبء كبير على الأداء.
2. المنهجية
يقترح المؤلفون بنية NTT آمنة تدمج ثلاث آليات كشف رئيسية ونظام تصحيح خطأ تكيفي.
أ. آليات كشف الخطأ
سلامة تدفق التحكم (CFI) عبر سجل حالة تحكم (CSR) احتياطي مستقل:
بدلاً من تكرار سجل الحالة الرئيسي (CSR) داخل المنطق (والذي يمكن للتروجان إفساده)، يقدم المؤلفون سجل إزاحة جهة اليمين (RSR) خفيف الوزن وهو مستقل تماماً عن منطق NTT الرئيسي.
يقوم الـ CSR الرئيسي بتوليد إشارات التحكم (مثل rd_en و wr_en و barrett_strt). ويقوم الـ RSR بمراقبة هذه الإشارات.
المنطق: يقوم الـ RSR بإزاحة البتات بالتزامن مع الـ CSR الرئيسي. إذا تم التلاعب بالمنطق الرئيسي (على سبيل المثال، إذا قام تروجان بحجب نبضة الساعة أو قلب إشارة إعادة الضبط)، فإن الحالة المتوقعة للـ RSR ستختلف عن إشارات التحكم الفعلية، مما يؤدي إلى إطلاق تنبيه cfi_fault.
هذا يتحقق من سلامة كتل محددة: poly_mem و Barrett Reduction و uv_add/sub.
سلامة التوقيت عبر عداد دورات الساعة (CCC):
يقوم الـ CCC بمراقبة المدة الزمنية النشطة للوحدات الحرجة.
بالنسبة لكثيرة حدود من الدرجة n−1، تتطلب عملية NTT عدداً ثابتاً من الدورات: (logn×n/2)+(p−1)، حيث p هو عمق خط الأنابيب (pipeline depth).
إذا تسبب تروجان في إدخال تأخيرات (تعطيل خط الأنابيب) أو تسريع العمليات، فإن الـ CCC يكتشف الانحراف عن عدد الدورات المتوقع، مما يؤدي إلى إطلاق تنبيه ccc_fault.
التخفيف من هجمات SASCA عبر القناع المحلي (LM):
لمنع هجمات SASCA، تقوم البنية بتعمية عوامل التويستل (ω) أثناء عمليات الكتابة في ذاكرة كثيرات الحدود (poly_mem).
بدلاً من كتابة (U+V) و (U−V) مباشرة، يقوم النظام بكتابة (U+V)ωr و (U−V)ωr، حيث ωr هو عامل عشوائي.
هذا يعمل على قناع ملف استهلاك الطاقة المرتبط بالبيانات الفعلية، مما يمنع التسريب. وفي عملية NTT العكسية، يتم ضرب العوامل في ωr−1 لاستعادة المعاملات الأصلية.
ب. التصحيح التكيفي للخطأ
عند اكتشاف خطأ (cfi_fault أو ccc_fault)، يستخدم النظام مرقع البتات (Bit Patcher) (برمجيات جانب المضيف) و إعادة التشكيل الجزئي (PR) لتصحيح الخطأ دون إيقاف النظام بشكل دائم. تعتمد استراتيجية التصحيح على عامل المخاطرة (Ri):
حساب عامل المخاطرة (Ri): يحسب النظام درجة المخاطرة لكل موقع متاح لـ bitstream الخاص بالـ PR بناءً على تكرار الأخطاء المكتشفة مقسوماً على عدد التشغيلات. هذا يمنع التحيز نحو النوى المستخدمة بكثرة.
ثلاثة إجراءات للتصحيح:
تكرار الحلقة السابقة (مخاطر منخفضة): إذا كان عدد الأخطاء منخفضاً، يقوم النظام بالتخلص من نتيجة الدورة الحالية وإعادة تنفيذ الحلقة باستخدام نفس الـ bitstream.
إعادة تحميل بت الـ PR (مخاطر متوسطة): إذا تجاوز عدد الأخطاء عتبة دنيا، يقوم النظام بإعادة تحميل نفس الـ bitstream إلى نفس موقع الـ FPGA (لإعادة ضبط الحالات العابرة المحتملة).
نقل موقع الـ PR (مخاطر عالية): إذا تجاوز عدد الأخطاء عتبة عليا، يختار النظام bitstream ذا أقل Ri (أقل مخاطرة) ويعيد تشكيل الـ NTT في موقع فيزيائي مختلف على الـ FPGA.
الوصلات البينية الديناميكية: تقوم الوصلات البينية للحافلة (Bus interconnects) بتوجيه إشارات التحكم وواجهات الذاكرة ديناميكياً إلى نسخة الـ NTT النشطة حالياً، مما يسمح بالانتقال السلس بين مواقع الـ PR.
3. المساهمات الرئيسية
أول دفاع يركز على تدفق التحكم: بخلاف الأعمال السابقة التي ركزت على إشارات البيانات، يعد هذا التصميم أول تصميم يستهدف تحديداً تروجانات إشارات التحكم باستخدام سجل احتياطي مستقل وخفيف الوزن (RSR) لضمان سلامة تدفق التحكم (CFI).
استراتيجية تصحيح تكيفية: يقدم خوارزمية تصحيح خطأ تختار ديناميكياً بين إعادة التنفيذ، أو إعادة التحميل، أو النقل بناءً على عامل مخاطرة محسوب (Ri)، بدلاً من نهج ثابت يعتمد على "النقل دائماً".
حماية شاملة: يعالج التصميم في آن واحد سلامة تدفق التحكم (CFI)، وأخطاء التوقيت (عبر CCC)، وSASCA (عبر القناع المحلي) في بنية واحدة.
أقل قدر من العبء: تم تصميم الحل ليكون عالي الكفاءة، متجنباً التكاليف الكبيرة للموارد الناتجة عن إعادة الحساب الكامل أو التكرار الضخم.
4. النتائج والتقييم
تم تنفيذ النظام على FPGA من نوع Artix-7 باستخدام خوارزمية Kyber للـ PQC (الإصدارات 512، 768، و1024).
كفاءة كشف وتصحيح الخطأ:
معدل كشف 100%: تم اكتشاف جميع أخطاء "Stuck-at-0" و "Stuck-at-1" المحاكات على إشارات التحكم بواسطة وحدات CFI و CCC.
معدل تصحيح 100%: تم تصحيح جميع الأخطاء المكتشفة بنجاح باستخدام الوحدة التكيفية، مما ضمن مخرجات تشفير صحيحة.
تحليل العبء:
المساحة: تسبب وحدات كشف وتصحيح الخطأ في زيادة قدرها 19.7% في مساحة الـ slice مقارنة بـ NTT الأساسية. وحدة الكشف فقط أضافت 8.7%.
الطاقة: إجمالي عبء الطاقة هو 3%.
التوقيت:
إضافة الكشف: صفر من عبء التوقيت.
عبء التصحيح يعتمد على الإجراء:
تكرار الحلقة: ~10 نانو ثانية (دورة ساعة واحدة).
إعادة تحميل PR: ~150 ميكرو ثانية (وقت نقل ICAP).
نقل موقع PR: ~256 ميكرو ثانية (يشمل البحث عن أفضل bitstream).
سيناريوهات التروجان: نجح النظام في التخفيف من آثار التروجان الموجودة في مسارات البيانات الصاعدة/الهابطة (upstream/downstream)، وداخل نواة NTT، وحتى داخل منطق المراقبة (رغم الإشارة إلى أن الأخيرة تعتبر نقطة فشل حرجة إذا تم اختراق المراقب نفسه).
5. الأهمية
تقدم هذه الورقة تقدماً كبيراً في أمن الأجهزة لتشفير ما بعد الكم. من خلال تحويل التركيز من سلامة البيانات إلى سلامة تدفق التحكم، فإنها تعالج ناقل هجوم عالي التأثير ومنخفض التكلفة غالباً ما يتم تجاهله في أنظمة كشف الخطأ التقليدية. توفر آلية التصحيح التكيفية توازناً عملياً بين الأمن والأداء، مما يسمح للأنظمة بالتعافي من تروجان الأجهزة المتطور بأقل قدر من زمن التأخير وعبء الموارد. يمهد هذا العمل الطريق لنشر مسرعات PQC مرنة في البنى التحتية الحيوية (الدفاع، الفضاء، الاتصالات) حيث لا يمكن ضمان أمن سلسلة التوريد بشكل كامل.