تحليل القدرة

رسم تخطيطي لتحليل القدرة التفاضلية.
مراقبة بتات مفتاح RSA باستخدام تحليل الطاقة: تُظهر الذروة اليسرى استهلاك الطاقة أثناء خطوة التربيع فقط ، بينما تُظهر الذروة اليمنى (الأوسع) خطوة الضرب، مما يسمح بتمييز بتات الأس 0 و1.

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

يتضمن تحليل الطاقة البسيط ( SPA ) تفسيرًا بصريًا لآثار الطاقة ، أو رسوم بيانية للنشاط الكهربائي مع مرور الوقت. أما تحليل الطاقة التفاضلي ( DPA ) فهو شكل أكثر تطورًا من تحليل الطاقة، حيث يُمكّن المهاجم من حساب القيم الوسيطة ضمن العمليات الحسابية التشفيرية من خلال التحليل الإحصائي للبيانات المُجمّعة من عمليات تشفيرية متعددة. وقد قُدّمت تقنيتا SPA وDPA إلى مجتمع التشفير المفتوح في عام 1998 على يد بول كوخر ، وجوشوا جافي ، وبنيامين جون . [ 1 ]

خلفية

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

تحليل الطاقة البسيط

يُعدّ تحليل الطاقة البسيط ( SPA ) هجومًا جانبيًا يعتمد على فحص رسوم بيانية للتيار الذي يستهلكه الجهاز بمرور الوقت. وتحدث اختلافات في استهلاك الطاقة مع قيام الجهاز بتنفيذ عمليات مختلفة. فعلى سبيل المثال، تختلف أنماط استهلاك الطاقة باختلاف التعليمات التي ينفذها المعالج الدقيق.

سيؤدي تدفق التعليمات البرمجية الذي يعتمد على قيمة سرية إلى تسريب هذا التدفق عبر نظام مراقبة استهلاك الطاقة (وبالتالي تسريب القيمة السرية أيضًا). كمثال بسيط، لنفترض عملية التحقق من كلمة المرور التالية:

bool check_password ( const char input []) { const char correct_password [] = "hunter2" ;إذا كان طول ( المدخل ) لا يساوي طول ( كلمة المرور الصحيحة فأرجع خطأ .for ( int i = 0 ; i < strlen ( correct_password ); i ++ ) { if ( input [ i ] != correct_password [ i ]) { return false ; } }أعد القيمة true ؛ }

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

وبالمثل، يمكن غالبًا التمييز بين عمليات التربيع والضرب في تطبيقات RSA، مما يُمكّن المهاجم من حساب المفتاح السري. حتى لو كانت التغيرات في استهلاك الطاقة طفيفة، فإن أجهزة راسم الإشارة الرقمية القياسية تُظهر بسهولة التغيرات الناتجة عن البيانات. تُستخدم مرشحات التردد ووظائف حساب المتوسط ​​(مثل تلك المدمجة في أجهزة راسم الإشارة) عادةً لتصفية مكونات الترددات العالية.

تحليل القدرة التفاضلية

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

تحليل القدرة التفاضلية من الرتبة العليا

يُعد تحليل الطاقة التفاضلي عالي الرتبة ( HO-DPA ) شكلاً متقدماً من هجمات تحليل الطاقة التفاضلي (DPA). يُمكّن HO-DPA من دمج مصادر بيانات متعددة وفترات زمنية مختلفة في التحليل. يُستخدم HO-DPA على نطاق أقل من تحليل الطاقة التفاضلي أحادي الرتبة (SPA) وتحليل الطاقة التفاضلي (DPA)، نظراً لتعقيد التحليل وسهولة اختراق معظم الأجهزة المعرضة للاختراق باستخدام SPA أو DPA. [ 2 ]

تحليل الطاقة والأمن الخوارزمي

يُتيح تحليل استهلاك الطاقة إمكانية "الاطلاع على ما بداخل" الأجهزة التي تُعتبر "مقاومة للتلاعب". على سبيل المثال، يتضمن جدول مفاتيح DES تدوير سجلات المفاتيح ذات 28 بت. تتحقق العديد من التطبيقات من البت الأقل أهمية لمعرفة ما إذا كان يساوي 1. إذا كان كذلك، يقوم الجهاز بإزاحة السجل إلى اليمين وإضافة 1 في بدايته. أما إذا كان البت يساوي صفرًا، فيتم إزاحة السجل إلى اليمين دون إضافة 1. يُمكن لتحليل استهلاك الطاقة التمييز بين هاتين العمليتين، مما يُمكّن المُهاجم من تحديد بتات المفتاح السري.

قد تكون تطبيقات خوارزميات مثل AES و Triple DES ، التي يُعتقد أنها قوية رياضيًا، قابلة للاختراق بسهولة باستخدام هجمات تحليل الطاقة. ونتيجة لذلك، تجمع هجمات تحليل الطاقة بين عناصر تحليل التشفير الخوارزمي وأمن التطبيقات.

المعايير والمخاوف الأمنية العملية

في التطبيقات التي قد تقع فيها الأجهزة في حوزة الخصم، تُعدّ الحماية من تحليل استهلاك الطاقة شرطًا أساسيًا في التصميم. كما ورد استخدام تحليل استهلاك الطاقة ضد وحدات الوصول المشروط المستخدمة في أنظمة التلفزيون المدفوع. [ 3 ]

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

منع هجمات تحليل الطاقة البسيطة والتفاضلية

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

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

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

مراجع

  1. P. Kocher, J. Jaffe, B. Jun, Differential Power Analysis , technical report, 1998; later published in Advances in Cryptology – Crypto 99 Proceedings, Lecture Notes in Computer Science Vol. 1666, M. Wiener, ed., Springer-Verlag, 1999.
  2. بول كوخر، جوشوا جافي، بنجامين جون، " مقدمة في تحليل القدرة التفاضلية والهجمات ذات الصلة (1998) "
  3. "الصفحة الرئيسية - القرصنة الإلكترونية: الحقيقة" . مؤرشفة من الأصل بتاريخ 13-11-2002.
  4. كزافييه شارفي، هيرفيه بيليتييه، " تحسين هجوم تحليل الطاقة التفاضلي باستخدام تحويل المويجات (2005) مؤرشف في 4 مارس 2016 في آلة Wayback Machine "
  5. ^ جاسبر فان وودنبرغ، مارك ويتمان، برام باكر “ تحسين تحليل الطاقة التفاضلية عن طريق المحاذاة المرنة (2011)