Skip to content
KitploitKITPLOIT
أدواتعمليات الاستغلالالمدونة
Log in
إرسال
أدواتعمليات الاستغلالالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
power_analysis — مفهوم إثبات يُظهر هجومًا جانبيًا لتحليل الطاقة ضد تنفيذ RSA ضعيف على Arduino (Atmega328P)، مع إعدادات الأجهزة التفصيلية ومنهجية القياس. | Kitploit
أدوات/GitHubGitHub/lord-feistel/power_analysis
أمان الأنظمة المدمجةالتشفيرأمن الأجهزةالأوراق والأبحاثالتعلم والتعليم
GitHublord-feistel/power_analysis

power_analysis

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

عرض المستودع
32467منذ 2 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

هجوم تحليل استهلاك الطاقة على RSA

الفهرس

الفهرس

  • مقدمة
  • هجمات تحليل استهلاك الطاقة
  • RSA: مقدمة قصيرة
  • مثال على RSA
  • المعدات
  • قياس الطاقة: مقدمة قصيرة
    • قانون أوم
    • قانون كيرشوف للجهد (KVL)
    • مقسم الجهد
    • مقاوم التحويل (Shunt Resistor)
  • مثال على قياس الطاقة
  • الأس السريع (Fast Exponentiation)
  • الأس السريع على Arduino (Atmega328P)
  • النتائج
  • الاستنتاج
  • المراجع

مقدمة

في الآونة الأخيرة، لاحظت أشخاصًا يقومون بتنفيذ التشفير على Arduino بأنفسهم، كما هو موضح في هذا الموضوع على Stackoverflow:

https://stackoverflow.com/questions/39189065/rsa-encryption-decryption-functions-for-arduino

يمكن العثور على العديد منهم على الإنترنت، بعضها بالمناسبة موجود في مكتبات معروفة.

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

يقوم هذا الإثبات المبدئي بتنفيذ هجوم جانبي (هجوم تحليل استهلاك الطاقة) ضد تنفيذ سيء لروتين مساعد مستخدم في تنفيذ RSA (الأس السريع).

الهجوم الجانبي هو طريقة لاختراق نظام تشفير من خلال استغلال تسرب غير مباشر للمعلومات بدلاً من مهاجمة الخوارزمية أو البروتوكول التشفيري نفسه.

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

يمكن أن تكون هذه الهجمات فعالة للغاية في اختراق أنظمة التشفير مثل RSA دون أن يحتاج المهاجم إلى حل المشكلات الرياضية الأساسية التي تضمن أمن المخطط التشفيري (Kocher, Jaffe, & Jun, 1999).

ستقوم هذه الورقة بإجراء هجوم تحليل استهلاك الطاقة على ثغرة معروفة في تنفيذ خوارزمية RSA في برنامج ثابت لـ Arduino (Atmega328P).

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

هجمات تحليل استهلاك الطاقة

تتضمن هجمات تحليل استهلاك الطاقة قياس استهلاك الطاقة لجهاز ما أثناء العمليات التشفيرية.

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

يمكن استخدام تحليل الطاقة التفاضلي (DPA) وتحليل الطاقة البسيط (SPA) لاستخراج المفاتيح الخاصة من خلال تحليل الأنماط في استهلاك الطاقة أثناء عمليات حساب RSA.

يمكن لهذه الهجمات الكشف عن المفتاح الخاص من خلال تحديد أنماط استهلاك الطاقة المميزة المرتبطة ببتات المفتاح المختلفة (Kocher, Jaffe, & Jun, 1999).

RSA: مقدمة قصيرة

RSA (Rivest-Shamir-Adleman) هي خوارزمية تشفير بالمفتاح العام واسعة الاستخدام، سُميت على اسم مخترعيها: رون ريفست، عدي شامير، وليونارد أدلمان، الذين قدموها في عام 1977 (Paar & Pelzl, 2010).

تظل واحدة من أكثر الطرق أمانًا لنقل البيانات بشكل آمن عبر الإنترنت.

يكمن أحد أسس أمان RSA في صعوبة تحليل الأعداد المركبة الكبيرة إلى عواملها الأولية (Menezes, van Oorschot, & Vanstone, 1996).

هذه المشكلة، المعروفة بمشكلة التحليل، تتضمن إيجاد الأعداد الأولية التي تتضاعف لتكوين عدد كبير معين.

يعتمد تشفير RSA على افتراض أن مشكلة التحليل هذه صعبة من الناحية الحسابية بما يكفي لجعل كسر التشفير عن طريق تحليل المعامل إلى عوامله الأولية أمرًا غير عملي (Menezes, van Oorschot, & Vanstone, 1996).

مثال على RSA

يوضح الشكل 1 عملية تشفير وفك تشفير RSA باستخدام مثال بسيط.

RSA Example

الشكل 1 - مثال على RSA.

يرجى ملاحظة أنه في هذه الحالة، 3 و 33 عموميان. الرقم 7 في المثال هو المفتاح الخاص.

دالة Phi (N)، دالة أويلر (Euler's totient function)، تحسب جميع الأعداد الأولية نسبيًا في الفترة من 1 إلى 33.

القيمة 33 تم الحصول عليها من ضرب P و Q؛ في هذه الحالة، 11 مضروبًا في 3.

يتم الحصول على نتيجة دالة Phi بضرب (P - 1) في (Q - 1)؛ في هذه الحالة، 10 مضروبًا في 2.

العملية e<sup>-1</sup> mod 20 تشير إلى عملية المعكوس النمطي (Menezes, van Oorschot, & Vanstone, 1996).

ملاحظة: إذا كنت ترغب في التعمق في RSA، وهو أمر غير ضروري لفهم هذه الورقة. توجد مقدمة سريعة لعمليات نظرية الأعداد الأساسية هذه داخل هذا المستودع في ملف number_theory.md. يمكن أن يعزز الشرح فهمك لعمليات RSA.

المعدات

استخدمت التجربة راسم ذبذبات DS1102 (معروض في الشكل 2) من إنتاج Rigol.

يمكن العثور على دليل راسم الذبذبات في المراجع (RIGOL Technologies, Inc., 2017).

كما تم استخدام مصدر طاقة عام (معروض في الشكل 3).

osciloscope

الشكل 2 - راسم الذبذبات المستخدم في التجربة.

power_supply

الشكل 3 - مصدر الطاقة المستخدم في التجربة.

قياس الطاقة: مقدمة قصيرة

قانون أوم

قانون أوم هو مبدأ أساسي في مجال الهندسة الكهربائية والفيزياء.

ينص على أن التيار المار عبر موصل بين نقطتين يتناسب طرديًا مع الجهد عبر النقطتين وعكسيًا مع المقاومة بينهما (Boylestad, 2015).

يوضح الشكل 4 دائرة وقانون أوم.

ohm_law

الشكل 4 - توضيح قانون أوم.

يعني قانون أوم أنه إذا قمت بزيادة الجهد عبر موصل، فسيزيد التيار أيضًا، بشرط أن تظل المقاومة ثابتة (Johnson & Hilburn, 2013). يقدم الشكل 5 مثالاً على تطبيق قانون أوم حيث الهدف هو إيجاد التيار في الدائرة.

ohm_example

الشكل 5 - مثال على قانون أوم.

قانون كيرشوف للجهد (KVL)

قانون كيرشوف للجهد (KVL) هو مبدأ أساسي في الهندسة الكهربائية والفيزياء (Boylestad, 2015).

ينص على أن مجموع كل فروق الجهد الكهربائي حول أي شبكة أو حلقة مغلقة يساوي صفرًا (Boylestad, 2015).

يوضح الشكل 6 قانون كيرشوف للجهد.

kirchoff_lay

الشكل 6 - توضيح قانون كيرشوف.

يوجد مثال على تطبيق قانون كيرشوف في الشكل 7 من أجل إيجاد التيار عبر المقاومات R1 و R2.

kirchoff_example

الشكل 7 - مثال على قانون كيرشوف.

مقسم الجهد

مقسم الجهد هو نتيجة لقانون كيرشوف للجهد (KVL) ويوضح طريقة لحساب Vout وهو الجهد بين المقاومة R1 و R2.

صيغة مقسم الجهد معروضة في الشكل 8.

مثال على تطبيق مقسم الجهد معروض في الشكل 9.

voltage_divisor

الشكل 8 - توضيح مقسم الجهد.

voltage_divisor_example

الشكل 9 - مثال على مقسم الجهد.

مقاوم التحويل (Shunt Resistor)

مقاوم التحويل هو مقاومة ذات قيمة منخفضة توضع على التوالي مع مصدر طاقة الدائرة لقياس التيار المار عبر الدائرة.

استخدام مقاوم تحويل لقياس التيار هو إحدى التقنيات المستخدمة في أجهزة القياس المتعددة الحديثة (Boylestad, 2015).

قياس انخفاض الجهد عبر مقاوم التحويل ومعرفة مقاومته يعطي معلومات كافية لحساب التيار باستخدام قانون أوم.

لقياس استهلاك التيار لجهاز Arduino، من الضروري وضع مقاوم تحويل على التوالي مع VCC (الموجب).

الطريقة التي سيتم توصيلها بها معروضة في الشكل 10.

ملاحظة 1: يرجى ملاحظة أنه في الإثبات المبدئي، بدلاً من استخدام لوحة Arduino Uno، يتم نقل الهدف (المتحكم الدقيق atmega328p) إلى لوحة تجارب منفصلة كما هو معروض في الشكل 11. يسمح ذلك بمعالجة أسهل لتوصيلات المتحكم الدقيق دون الحاجة إلى لحام.

ملاحظة 2: إذا كنت لا تعرف كيفية القيام بذلك، فإن مقالتي السابقة التي تشرح كيفية عمل التشويش (glitching) تعلم كيفية ذلك ويمكن العثور عليها على https://github.com/lord-feistel/hardware_hacking_lab)

voltage_divisor_arduino

الشكل 10 - مقاوم تحويل مع Arduino.

تنزيل الأداة