هجوم بيكليك
هجوم البيكليك هو أحد أشكال أسلوب تحليل التشفير القائم على الالتقاء في المنتصف (MITM [ 1 ] ) . يستخدم هذا الهجوم بنية البيكليك لزيادة عدد الجولات التي يمكن استهدافها بواسطة هجوم MITM. وبما أن تحليل التشفير بالبيكليك يعتمد على هجمات MITM، فإنه قابل للتطبيق على كلٍ من تشفيرات الكتل ودوال التجزئة (المتكررة) . من المعروف أن هجمات البيكليك قد أضعفت كلاً من تشفير AES الكامل [ 2 ] وتشفير IDEA الكامل [ 3 ] ، وإن كان ذلك بميزة طفيفة فقط على أسلوب القوة الغاشمة. كما طُبقت هذه الهجمات على تشفير KASUMI ومقاومة الصورة المسبقة لدوال التجزئة Skein-512 و SHA-2 [ 4 ] .
لا يزال هجوم الزمرة الثنائية قائماً ( حتى أبريل 2019).) أفضل هجوم معروف علنًا باستخدام مفتاح واحد على خوارزمية التشفير المتقدمة (AES) . التعقيد الحسابي لهذا الهجوم هو،وبالنسبة لـ AES128 وAES192 وAES256 على التوالي. وهو الهجوم الوحيد المعروف علنًا على AES باستخدام مفتاح واحد والذي يستهدف العدد الكامل من الجولات. [ 2 ] استهدفت الهجمات السابقة متغيرات ذات جولات مخفضة (عادةً متغيرات مخفضة إلى 7 أو 8 جولات).
نظراً لأن التعقيد الحسابي للهجوم هوعلى الرغم من أن هذا الهجوم نظري، إلا أنه يعني أن أمان خوارزمية التشفير المتقدمة (AES) لم يُخترق، وأن استخدامها لا يزال آمنًا نسبيًا. ومع ذلك، يُعد هجوم "بيكليك" هجومًا مثيرًا للاهتمام، إذ يُشير إلى نهج جديد لتحليل التشفير على خوارزميات التشفير الكتلية. كما كشف هذا الهجوم عن معلومات إضافية حول خوارزمية AES، حيث أثار تساؤلات حول هامش الأمان في عدد الجولات المستخدمة فيها.
تاريخ
اقترح ديفي وهيلمان هجوم الوسيط (MITM ) لأول مرة عام 1977، عندما ناقشا الخصائص التحليلية لخوارزمية DES. [ 5 ] جادلا بأن حجم المفتاح صغير جدًا، وأن إعادة تطبيق DES عدة مرات بمفاتيح مختلفة قد يكون حلاً لمشكلة حجم المفتاح؛ ومع ذلك، نصحا بعدم استخدام DES المزدوج واقترحا DES الثلاثي كحد أدنى، نظرًا لهجمات الوسيط (يمكن تطبيق هجمات الوسيط بسهولة على DES المزدوج لتقليل مستوى الأمان).إلى مجرد، حيث يمكن للمرء بشكل مستقل اختراق تشفير DES الأول والثاني باستخدام أسلوب التجربة والخطأ إذا كان لديه النص الأصلي والنص المشفر).
منذ أن اقترح ديفي وهيلمان هجمات الوسيط، ظهرت العديد من الصيغ المختلفة المفيدة في الحالات التي لا يُمكن فيها تطبيق هجوم الوسيط الأساسي. اقترح ديمتري خوفاتوفيتش وريشبيرغر وسافيلييفا أولًا صيغة هجوم الثنائيات لاستخدامها مع تحليل التشفير باستخدام دوال التجزئة. [ 6 ] ومع ذلك، كان بوغدانوف وخوفاتوفيتش وريشبيرغر هم من أوضحوا كيفية تطبيق مفهوم الثنائيات على إعدادات المفتاح السري، بما في ذلك تحليل تشفير الكتل، عندما نشروا هجومهم على معيار التشفير المتقدم (AES). قبل ذلك، لم تحظَ هجمات الوسيط على معيار التشفير المتقدم (AES) والعديد من تشفيرات الكتل الأخرى باهتمام يُذكر، ويعود ذلك في الغالب إلى الحاجة إلى بتات مفتاح مستقلة بين "تشفيرَي الوسيط الفرعيين" لتسهيل هجوم الوسيط - وهو أمر يصعب تحقيقه مع العديد من جداول المفاتيح الحديثة، مثل جدول مفاتيح معيار التشفير المتقدم (AES).
الشلل الثنائي
للحصول على شرح عام لماهية بنية البيكليك، انظر مقالة البيكليك .
في هجوم الوسيط، تكون بتات المفتاحويجب أن تكون القيم الوسيطة، التي تنتمي إلى التشفير الفرعي الأول والثاني، مستقلة؛ أي يجب أن تكون مستقلة عن بعضها البعض، وإلا فلن يكون من الممكن حساب القيم الوسيطة المتطابقة للنص الأصلي والنص المشفر بشكل مستقل في هجوم الوسيط (توجد أنواع مختلفة من هجمات الوسيط، حيث يمكن أن تشترك الكتل في بتات المفتاح. انظر هجوم الوسيط بثلاث مجموعات فرعية ). غالبًا ما يصعب استغلال هذه الخاصية على مدى عدد كبير من الجولات، نظرًا لانتشار التشفير المستهدف.
ببساطة: كلما زاد عدد جولات الهجوم، زادت قوة التشفيرات الفرعية. وكلما زادت قوة التشفيرات الفرعية، قلّ عدد بتات المفاتيح المستقلة التي يجب فك تشفيرها بشكل مستقل بين التشفيرات الفرعية. بالطبع، يعتمد العدد الفعلي لبتات المفاتيح المستقلة في كل تشفير فرعي على خصائص انتشار جدول المفاتيح.
تتمثل الطريقة التي تساعد بها المجموعة الثنائية في معالجة ما سبق في أنها تسمح، على سبيل المثال، بمهاجمة 7 جولات من AES باستخدام هجمات MITM، ثم باستخدام بنية المجموعة الثنائية بطول 3 (أي أنها تغطي 3 جولات من التشفير)، يمكنك تعيين الحالة الوسيطة في بداية الجولة 7 إلى نهاية الجولة الأخيرة، على سبيل المثال 10 (إذا كان AES128)، وبالتالي مهاجمة العدد الكامل من جولات التشفير، حتى لو لم يكن من الممكن مهاجمة هذا العدد من الجولات بهجوم MITM أساسي.
يكمن معنى "الثنائية" في بناء بنية فعّالة قادرة على ربط قيمة وسيطة في نهاية هجوم الوسيط بالنص المشفر النهائي. ويعتمد النص المشفر الذي تُربط به الحالة الوسيطة في النهاية على المفتاح المستخدم في التشفير. ويستند المفتاح المستخدم لربط الحالة بالنص المشفر في الثنائية إلى بتات المفتاح التي تم اختراقها في الشفرة الفرعية الأولى والثانية من هجوم الوسيط.
لذا، فإن جوهر هجمات البيكليك، بالإضافة إلى هجوم الوسيط، هو القدرة على بناء بنية بيكليك بشكل فعال، وذلك اعتمادًا على بتات المفاتيح.ويمكن ربط حالة وسيطة معينة بالنص المشفر المقابل.
كيفية بناء الزمرة الثنائية
القوة الغاشمة
يحصل[ 7 ] حالات وسيطة [ 8 ] وبعد ذلك، يتم حساب المفاتيح التي تربط قيمة وسيطة واحدة بجميع النصوص المشفرة [ 9 ] . ثم تُكرر عملية ربط المفاتيح "من واحد إلى متعدد" لجميع القيم الوسيطة.
تتطلب عملية رسم الخرائط هذهعمليات استعادة المفاتيح، حيث يجب ربط كل حالة وسيطة بجميع النصوص المشفرة (وليس بنص مشفر واحد فقط). [ 10 ]
الفروق الرئيسية المستقلة ذات الصلة
(تم اقتراح هذه الطريقة من قبل بوغدانوف وخوفراتوفيتش وريشبيرغر في ورقتهم البحثية: تحليل التشفير الثنائي لخوارزمية AES الكاملة [ 2 ] )
تمهيد: تذكر أن وظيفة المجموعة الثنائية هي تعيين القيم الوسيطة،، إلى قيم النص المشفر،، بناءً على المفتاحبحيث:
الإجراء: الخطوة الأولى: حالة وسيطة (), نص مشفر() ومفتاح(يتم اختيار ) بحيث:، أينهي الدالة التي تربط حالة وسيطة بنص مشفر باستخدام مفتاح معين. ويُشار إلى هذا باسم الحساب الأساسي.
الخطوة الثانية: مجموعتان من المفاتيح ذات الصلة بحجميتم اختيارها. يتم اختيار المفاتيح بحيث:
- المجموعة الأولى من المفاتيح هي مفاتيح، والتي تفي بالمتطلبات التفاضلية التالية علىفيما يتعلق بالحساب الأساسي:
- أما المجموعة الثانية من المفاتيح فهي مفاتيح، والتي تفي بالمتطلبات التفاضلية التالية علىفيما يتعلق بالحساب الأساسي:
- يتم اختيار المفاتيح بحيث تكون آثار ...- و-التفاضلات مستقلة - أي أنها لا تشترك في أي مكونات غير خطية نشطة.
بمعنى آخر: يجب أن يُقابل فرق الإدخال الذي يساوي صفرًا فرقًا في الإخراج يساويفي ظل اختلاف رئيسي يتمثل فيجميع الفروقات تتعلق بالحساب الأساسي. فرق الإدخال هوينبغي أن يُقابل ذلك فرقًا في المخرجات يساوي صفرًا في ظل فرق رئيسي قدرهجميع الاختلافات تتعلق بالحساب الأساسي.
الخطوة الثالثة: بما أن المسارات لا تشترك في أي مكونات غير خطية (على سبيل المثال، المسارات التي لا تشترك في أي صناديق S )، يمكن دمج المسارات للحصول على: ، وهو ما يتوافق مع تعريفات كلا التفاضلين من الخطوة 2. من السهل ملاحظة أن المجموعة [ 11 ]انطلاقًا من الحساب الأساسي، يتوافق أيضًا بحكم التعريف مع كلا التفاضلين، كما هو الحال بالنسبة للتفاضلين بالنسبة للحساب الأساسي. بالتعويضسيؤدي إدخال أي من التعريفين إلىمنذووهذا يعني أنه يمكن أيضًا تطبيق عملية XOR على مجموعة البيانات الخاصة بالحساب الأساسي مع المسارات المدمجة :
الخطوة الرابعة: من السهل ملاحظة ما يلي: إذا تم استبدال هذا في مسارات التفاضل المجمعة أعلاه، فستكون النتيجة كالتالي: وهو نفس التعريف الذي ورد سابقًا أعلاه للثنائية:
وبالتالي، من الممكن إنشاء مجموعة ثنائية من الحجم(منذ كليمكن دمج مفاتيح المجموعة الأولى من المفاتيح مع(مفاتيح من المجموعة الثانية من المفاتيح). وهذا يعني مجموعة ثنائية من الحجميمكن إنشاؤها باستخدامحسابات التفاضلاتوزيادة. لولثم جميع المفاتيحسيكون الأمر مختلفًا أيضًا في المجموعة الثنائية.
بهذه الطريقة يتم بناء المجموعة الثنائية في هجوم المجموعة الثنائية الرائد على معيار التشفير المتقدم (AES). توجد بعض القيود العملية في بناء المجموعات الثنائية باستخدام هذه التقنية. فكلما زاد طول المجموعة الثنائية، زاد عدد الجولات التي يجب أن تغطيها مسارات التشفير التفاضلية. ولذلك، تلعب خصائص انتشار التشفير دورًا حاسمًا في فعالية بناء المجموعة الثنائية.
طرق أخرى لبناء الزمرة الثنائية
يصف بوغدانوف وخوفراتوفيتش وريشبيرغر أيضًا طريقة أخرى لإنشاء biclique، تسمى "التشابك بين المسارات التفاضلية ذات المفاتيح ذات الصلة" في المقالة: "تحليل التشفير Biclique لـ AES الكامل [ 2 ] ".
إجراء تحليل التشفير Biclique
الخطوة الأولى: يقوم المهاجم بتجميع جميع المفاتيح الممكنة في مجموعات فرعية من المفاتيح بحجمبالنسبة للبعض، حيث يتم فهرسة المفتاح في المجموعة على النحو التاليفي مصفوفة بحجميقوم المهاجم بتقسيم الشفرة إلى شفرتين فرعيتين.و(بحيثكما هو الحال في هجوم الوسيط العادي. مجموعة المفاتيح لكل تشفير فرعي لها عدد من العناصر.ويسمىويتم التعبير عن المفتاح المدمج للشفرات الفرعية باستخدام المصفوفة المذكورة أعلاه.
الخطوة الثانية: يقوم المهاجم ببناء ثنائيات لكل مجموعة منالمفاتيح. المجموعة الثنائية هي من البعد د، لأنها تُسقطالدول الداخلية،، لالنصوص المشفرة،، استخدامالمفاتيح. يقترح قسم "كيفية بناء المجموعة الثنائية" كيفية بناء المجموعة الثنائية باستخدام "التفاضلات المستقلة ذات المفاتيح المرتبطة". في هذه الحالة، تُبنى المجموعة الثنائية باستخدام تفاضلات مجموعة المفاتيح.و، التي تنتمي إلى الشفرات الفرعية.
الخطوة الثالثة: المهاجم يأخذالنصوص المشفرة المحتملة،ويطلب من وسيط فك التشفير تزويده بالنصوص الأصلية المطابقة،.
الخطوة الرابعة: يختار المهاجم حالة داخلية،والنص الأصلي المقابل،وينفذ هجوم الوسيط المعتاد علىوعن طريق الهجوم من الحالة الداخلية والنص الصريح.
الخطوة الخامسة: كلما تم العثور على مرشح رئيسي مطابقمعيتم اختبار هذا المفتاح على زوج آخر من النص العادي/المشفر. إذا تم التحقق من صحة المفتاح على الزوج الآخر، فمن المرجح جدًا أنه المفتاح الصحيح.
مثال على الهجوم
يستند المثال التالي إلى هجوم "البيكليك" على خوارزمية AES، والوارد في ورقة بحثية بعنوان "تحليل تشفير البيكليك لخوارزمية AES الكاملة [ 2 ] ". يستخدم المثال المصطلحات نفسها التي استخدمها واضعو الهجوم (مثل أسماء المتغيرات، إلخ). ولتبسيط الأمر، سنتناول أدناه الهجوم على نسخة AES128. يتكون الهجوم من سبع جولات من نوع MITM، حيث يغطي هجوم البيكليك الجولات الثلاث الأخيرة.
تقسيم المفاتيح
يتم تقسيم مساحة المفاتيح إلىمجموعات من المفاتيح، حيث تتكون كل مجموعة منالمفاتيح. لكل منهاالمجموعات، مفتاح أساسي فريديتم اختيار الحساب الأساسي. يحتوي المفتاح الأساسي على بايتين محددين مضبوطين على الصفر، كما هو موضح في الجدول أدناه (والذي يمثل المفتاح بنفس الطريقة التي يمثل بها AES المفتاح في مصفوفة 4x4 لـ AES128):
ثم يتم تعداد الـ 14 بايت المتبقية (112 بت) من المفتاح. وهذا ينتج عنهمفاتيح أساسية فريدة؛ مفتاح واحد لكل مجموعة مفاتيح. المفاتيح العاديةثم يتم اختيار المفاتيح في كل مجموعة بناءً على مفتاحها الأساسي. ويتم اختيارها بحيث تكون متطابقة تقريبًا مع المفتاح الأساسي، ولا تختلف عنه إلا في بايتين فقط (إما's أو الـ's) من البايتات الأربعة الموضحة أدناه:
هذا يعطيو، وهو ما يعطي مجتمعاًمفاتيح مختلفة،. هؤلاءتشكل المفاتيح المفاتيح الموجودة في المجموعة لمفتاح أساسي معين.
بناء ثنائي
يتم بناء ثنائيات المفاتيح باستخدام تقنية "التفاضلات المستقلة ذات المفاتيح المرتبطة"، كما هو موضح في قسم "كيفية بناء ثنائيات المفاتيح". ويشترط لاستخدام هذه التقنية ألا تشترك مسارات التفاضل الأمامية والخلفية التي يجب دمجها في أي عناصر غير خطية فعالة. كيف يُعرف أن هذا هو الحال؟ نظرًا للطريقة التي يتم بها اختيار المفاتيح في الخطوة 1 بالنسبة للمفتاح الأساسي، فإن مسارات التفاضلباستخدام المفاتيحلا تشارك أبدًا أي صناديق S نشطة (وهي المكون غير الخطي الوحيد في AES)، مع المسارات التفاضليةباستخدام المفتاحوبالتالي، من الممكن إجراء عملية XOR على المسارات التفاضلية وإنشاء المجموعة الثنائية.
هجوم الوسيط
عند إنشاء المجموعات الثنائية، يمكن البدء تقريبًا في هجوم الوسيط. قبل تنفيذ هجوم الوسيط،القيم الوسيطة من النص الأصلي: ، الالقيم الوسيطة من النص المشفر: والحالات الوسيطة والمفاتيح الفرعية المقابلة.أوومع ذلك، يتم حسابها مسبقًا وتخزينها.
الآن يمكن تنفيذ هجوم الوسيط. لاختبار مفتاح، من الضروري فقط إعادة حساب أجزاء الشفرة، وهو أمر معروف أنه سيختلف بينو. للحساب العكسي منلهذا يعني وجود 4 صناديق استبدال (S-boxes) تحتاج إلى إعادة حساب. بالنسبة للحساب الأمامي منل، إنها مجرد 3 (يمكن العثور على شرح مفصل لمقدار إعادة الحساب المطلوبة في ورقة "Biclique Cryptanalysis of the full AES [ 2 ] "، حيث تم أخذ هذا المثال منها).
عندما تتطابق القيم الوسيطة، يصبح المرشح مفتاحًا رئيسيًابينويتم العثور على المفتاح المرشح. ثم يتم اختباره على زوج آخر من النص العادي/المشفر.
نتائج
يقلل هذا الهجوم من التعقيد الحسابي لخوارزمية AES128 إلىوهو أسرع من أسلوب القوة الغاشمة بمقدار 3 إلى 5 مرات. أما تعقيد البيانات في الهجوم فهووتعقيد الذاكرة هو.
مراجع
- ↑ لا ينبغي الخلط بينه وبين هجوم الوسيط، والذي يُشار إليه أيضًا باسم MITM
- 1 2 3 4 5 6 بوغدانوف، أندريه؛ خوفراتوفيتش، ديمتري؛ ريشبيرغر، كريستيان. "تحليل التشفير الثنائي لخوارزمية AES الكاملة" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 14-06-2012.
- ^ خوفراتوفيتش، ديمتري. لوران، غايتان؛ ريشبيرجر ، كريستيان (2012). "Bicliques الضيقة: تحليل تشفير الفكرة الكاملة" . يوروكريبت 2012 . ص 392 – 410. CiteSeerX 10.1.1.352.9346 .
- ↑ ثنائيات الصور الأولية: هجمات على Skein-512 وعائلة SHA-2
- ↑ ديفي، ويتفيلد؛ هيلمان، مارتن إي. "تحليل تشفيري شامل لمعيار تشفير البيانات التابع للمكتب الوطني للمعايير" (ملف PDF) . مؤرشف من الأصل (ملف PDF) بتاريخ 3 مارس 2016. تم الاطلاع عليه بتاريخ 11 يونيو 2014 .
- ↑ خوفراتوفيتش، ديمتري؛ ريشبيرغر، كريستيان؛ سافيليفا، ألكسندرا. "المجموعات الثنائية للصور الأولية: هجمات على Skein-512 وعائلة SHA-2" (PDF) .
- ↑يُفترض أن يكون الطول (كما هو مُستنتج منجزء،(بوحدات البتات أو البايتات ) لنص مشفر واحد، والذي، لأسباب تتعلق بالراحة في الغالب، يفترض أيضًا أن يكون له نفس طول الحالة الوسيطة التي أنشأت النص المشفر.
- ↑ أي، عمليات تشفير جزئية (قيد التنفيذ) لنص ما
- ↑ أي، عمليات تشفير كاملة لنص ما
- ↑ يبلغ التعقيد المكاني تقريبًا على نطاق، أينهي كمية النصوص المشفرة (و(وهو مرة أخرى طول النص المشفر). كمامع ازدياد حجم الذاكرة المطلوبة لتخزين هذه القيم بشكل طفيف، يزداد حجم الذاكرة المطلوبة لتخزينها بشكل كبير.
- ↑ باللغة الإنجليزية البسيطة، فإن tuple هو "قائمة من الأشياء" (ولكن حيث يكون ترتيب الأشياء مهمًا).
- الهجمات المشفرة
