هجوم عيد الميلاد

هجوم عيد الميلاد هو هجوم تصادم يعتمد على القوة الغاشمة، ويستغل الرياضيات الكامنة وراء مسألة عيد الميلاد في نظرية الاحتمالات . يمكن استخدام هذا الهجوم لإساءة استخدام الاتصال بين طرفين أو أكثر. يعتمد الهجوم على احتمالية التصادمات الأعلى بين محاولات الهجوم العشوائية ودرجة ثابتة من التباديل ( التوزيعات ).ح{\textstyle H}ليكن عدد القيم الممكنة لدالة التجزئة، معح=2ل{\textstyle H=2^{l}}باستخدام هجوم عيد الميلاد، من الممكن إيجاد تصادم لدالة تجزئة مع50%{\textstyle 50\%}فرصة في2ل=2ل/2،{\textstyle {\sqrt {2^{l}}}=2^{l/2},} أينل{\textstyle l}يمثل طول البتات لمخرجات التجزئة، [ 1 ] [ 2 ] ومع2ل-1{\textstyle 2^{l-1}}باعتبارها أمان مقاومة الصورة المسبقة الكلاسيكي بنفس الاحتمالية. [ 2 ] هناك نتيجة عامة (وإن كانت محل خلاف [ 3 ] ) مفادها أن الحواسيب الكمومية يمكنها تنفيذ هجمات عيد الميلاد، وبالتالي كسر مقاومة التصادم، في2ل3=2ل/3{\textstyle {\sqrt[{3}]{2^{l}}}=2^{l/3}}[ 4 ]

على الرغم من وجود بعض الثغرات الأمنية في التوقيع الرقمي المرتبطة بهجوم عيد الميلاد، إلا أنه لا يمكن استخدامه لكسر نظام التشفير بشكل أسرع من هجوم القوة الغاشمة . [ 5 ] : 36

فهم المشكلة

مقارنة بين مشكلة عيد الميلاد (1) وهجوم عيد الميلاد (2):
في (1)، تم العثور على تصادمات ضمن مجموعة واحدة، في هذه الحالة، 3 من أصل 276 زوجًا من رواد الفضاء القمريين الـ 24.
في (2)، تم العثور على تصادمات بين مجموعتين، في هذه الحالة، 1 من أصل 256 زوجًا من البايتات الأولى فقط من تجزئات SHA-256 لـ 16 متغيرًا لكل من العقود الحميدة والخبيثة.

كمثال، لنفترض سيناريو يقوم فيه معلم لديه فصل دراسي مكون من 30 طالبًا (ن = 30) بسؤال كل طالب عن تاريخ ميلاده (لتبسيط الأمر، نتجاهل السنوات الكبيسة ) لتحديد ما إذا كان أي طالبين لهما نفس تاريخ الميلاد (وهو ما يُعرف بتصادم التجزئة كما هو موضح لاحقًا). قد يبدو هذا الاحتمال ضئيلاً للوهلة الأولى. ولكن على عكس المتوقع، فإن احتمال أن يكون لطالب واحد على الأقل نفس تاريخ الميلاد مع أي طالب آخر في أي يوم يبلغ حوالي 70% (عندما ن = 30)، وذلك وفقًا للصيغة التالية:1-365!(365-ن)!365ن{\displaystyle 1-{\frac {365!}{(365-n)!\cdot 365^{n}}}}[ 6 ]

إذا اختار المعلم يومًا محددًا (مثلاً، 16 سبتمبر)، فإن احتمال أن يكون طالب واحد على الأقل قد وُلد في ذلك اليوم المحدد هو1-(364/365)30{\displaystyle 1-(364/365)^{30}}حوالي 7.9%.

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

العلاقة بمشكلة وضع الكرات في الصناديق

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

الرياضيات

بالنظر إلى دالةو{\displaystyle f}الهدف من الهجوم هو إيجاد مدخلين مختلفينx1،x2{\displaystyle x_{1},x_{2}}بحيثو(x1)=و(x2){\displaystyle f(x_{1})=f(x_{2})}مثل هذا الزوجx1،x2{\displaystyle x_{1},x_{2}}يُطلق على هذا اسم التصادم. وتتمثل الطريقة المستخدمة لإيجاد التصادم ببساطة في تقييم الدالة.و{\displaystyle f}بالنسبة لقيم الإدخال المختلفة التي يمكن اختيارها عشوائيًا أو شبه عشوائيًا حتى يتم العثور على نفس النتيجة أكثر من مرة. نظرًا لمشكلة عيد الميلاد، يمكن أن تكون هذه الطريقة فعالة للغاية. على وجه التحديد، إذا كانت الدالةو(x){\displaystyle f(x)}ينتج أي منح{\displaystyle H}مخرجات مختلفة باحتمالية متساوية وح{\displaystyle H}إذا كانت القيمة كبيرة بما يكفي، فإننا نتوقع الحصول على زوج من الوسائط المختلفةx1{\displaystyle x_{1}}وx2{\displaystyle x_{2}}معو(x1)=و(x2){\displaystyle f(x_{1})=f(x_{2})}بعد تقييم الدالة لحوالي1.25ح{\displaystyle 1.25{\sqrt {H}}}حجج مختلفة في المتوسط.

نُجري التجربة التالية. من مجموعة H من القيم، نختار n قيمة عشوائيًا وبشكل منتظم، مما يسمح بالتكرار. لنفترض أن p ( n ; H ) هي احتمالية اختيار قيمة واحدة على الأقل أكثر من مرة خلال هذه التجربة. يمكن تقريب هذه الاحتمالية كما يلي: 

ص(ن؛ح)1-هـ-ن(ن-1)/(2ح)1-هـ-ن2/(2ح){\displaystyle p(n;H)\approx 1-e^{-n(n-1)/(2H)}\approx 1-e^{-n^{2}/(2H)}}[ 7 ]

أينن{\displaystyle n}يمثل عدد القيم المختارة (المدخلات) وح{\displaystyle H}يمثل عدد النتائج المحتملة (مخرجات التجزئة المحتملة).

لنفترض أن n ( p ; H ) هو أصغر عدد من القيم التي يجب علينا اختيارها، بحيث يكون احتمال حدوث تصادم على الأقل p . وبقلب هذا التعبير أعلاه، نجد التقريب التالي:  

ن(ص؛ح)2حln11-ص{\displaystyle n(p;H)\approx {\sqrt {2H\ln {\frac {1}{1-p}}}}}

وبإسناد احتمال 0.5 للتصادم، نصل إلى

ن(0.5؛ح)1.1774ح{\displaystyle n(0.5;H)\approx 1.1774{\sqrt {H}}}

لنفترض أن Q ( H ) هو العدد المتوقع للقيم التي يتعين علينا اختيارها قبل العثور على أول تصادم. يمكن تقريب هذا العدد بواسطة

سؤال(ح)π2ح{\displaystyle Q(H)\approx {\sqrt {{\frac {\pi }{2}}H}}}

على سبيل المثال، إذا تم استخدام تجزئة 64 بت، فسيكون هناك ما يقارب1.8 × 10 ^ 19 ناتجًا مختلفًا. إذا كانت جميع هذه النواتج متساوية الاحتمال (وهو أفضل سيناريو)، فسيتطلب الأمر حوالي 5 مليارات محاولة فقط.5.38 × 10⁹ ) لتوليد تصادم باستخدام القوة الغاشمة. [ 8 ] تُسمى هذه القيمة حد عيد الميلاد [ 9 ] ويمكن تقريبها بـ 2l / 2 ، حيث l هو عدد البتات في H. [ 10 ] أمثلة أخرى هي كما يلي:

أجزاءالمخرجات المحتملة (H)الاحتمالية المطلوبة للتصادم العشوائي (برقمين معنويين) (p)
10 −1810-1510 −1210 −910 −60.1%1%25%50%75%
162 16 (~6.5 × 10 4 )<2<2<2<2<21136190300430
322 32 (~4.3 × 10 9 )<2<2<23932900930050,00077000110,000
642 64 (~1.8 × 10^ 19 )61906100190,0006,100,0001.9 × 10 86.1 × 10 83.3 × 10 95.1 × 10 97.2 × 10 9
962 96 (~7.9 × 10 28 )4.0 × 10 51.3 × 10 74.0 × 10 81.3 × 10 104.0 × 10 111.3 × 10 134.0 × 10 132.1 × 10 143.3 × 10 144.7 × 10 14
1282 128 (~3.4 × 10 38 )2.6 × 10 108.2 × 10 112.6 × 10 138.2 × 10 142.6 × 10 168.3 × 10 172.6 × 10 181.4 × 10 192.2 × 10 193.1 × 10 19
1922 192 (~6.3 × 10 57 )1.1 × 10 203.7 × 10 211.1 × 10 233.5 × 10 241.1 × 10 263.5 × 10 271.1 × 10 286.0 × 10 289.3 × 10 281.3 × 10 29
2562256 ( ~1.2 × 10 77 )4.8 × 10 291.5 × 10 314.8 × 10 321.5 × 10 344.8 × 10 351.5 × 10 374.8 × 10 372.6 × 10 384.0 × 10 385.7 × 10 38
3842384 ( ~3.9 × 10^ 115 )8.9 × 10 482.8 × 10 508.9 × 10 512.8 × 10 538.9 × 10 542.8 × 10 568.9 × 10 564.8 × 10 577.4 × 10 571.0 × 10 58
5122512 ( ~1.3 × 10 154 )1.6 × 10 685.2 × 10 691.6 × 10 715.2 × 10 721.6 × 10 745.2 × 10 751.6 × 10 768.8 × 10 761.4 × 10 771.9 × 10 77
يوضح الجدول عدد التجزئات n ( p ) اللازمة لتحقيق احتمال النجاح المحدد، بافتراض أن جميع التجزئات متساوية الاحتمالية. للمقارنة،10 −18 إلىيبلغ معدل الخطأ غير القابل للتصحيح في البتات لقرص صلب نموذجي 10⁻¹⁵ . [ 11 ] من الناحية النظرية، يجب أن تبقى تجزئات MD5 أو معرّفات UUID ، التي يبلغ طولها حوالي 128 بت، ضمن هذا النطاق حتى حوالي 820 مليار مستند، حتى لو كانت مخرجاتها المحتملة أكبر بكثير.

من السهل ملاحظة أنه إذا كانت مخرجات الدالة موزعة بشكل غير متساوٍ، فسيُمكن العثور على تصادم بشكل أسرع. يُحدد مفهوم "توازن" دالة التجزئة مدى مقاومة الدالة لهجمات عيد الميلاد (التي تستغل التوزيع غير المتساوي للمفاتيح). مع ذلك، يتطلب تحديد توازن دالة التجزئة عادةً حساب جميع المدخلات الممكنة، وبالتالي فهو غير عملي بالنسبة لدوال التجزئة الشائعة مثل عائلتي MD وSHA. [ 12 ] التعبير الفرعيln11-ص{\displaystyle \ln {\frac {1}{1-p}}}في معادلة لـن(ص؛ح){\displaystyle n(p;H)}لا يتم حسابها بدقة للقيم الصغيرةص{\displaystyle p}عند ترجمتها مباشرةً إلى لغات البرمجة الشائعة، قد log(1/(1-p))تفقد بعض الأرقام دلالتها . عند log1pتوفرها (كما هو الحال في C99-log1p(-p) على سبيل المثال)، يجب استخدام التعبير المكافئ بدلاً منها. [ 13 ] إذا لم يتم ذلك، فسيتم حساب العمود الأول من الجدول أعلاه على أنه صفر، وستفتقر العديد من العناصر في العمود الثاني إلى رقم معنوي واحد صحيح.

تقريب بسيط

تُعد العلاقة قاعدة عامة جيدة يمكن استخدامها في الحساب الذهني

ص(ن)ن22ح{\displaystyle p(n)\approx {n^{2} \over 2H}}

والتي يمكن كتابتها أيضاً على النحو التالي

حن22ص(ن){\displaystyle H\approx {n^{2} \over 2p(n)}}.

أو

ن2ح×ص(ن){\displaystyle n\approx {\sqrt {2H\times p(n)}}}.

هذا يعمل بشكل جيد بالنسبة للاحتمالات الأقل من أو تساوي 0.5.

تُعدّ طريقة التقريب هذه سهلة الاستخدام بشكل خاص عند التعامل مع الأسس. على سبيل المثال، لنفترض أنك تقوم بإنشاء تجزئات 32 بت (ح=232{\displaystyle H=2^{32}}ونريد أن تكون فرصة الاصطدام واحدة في المليون على الأكثر (ص2-20{\displaystyle p\approx 2^{-20}})، كم عدد المستندات التي يمكن أن نمتلكها على الأكثر؟

ن2×232×2-20=21+32-20=213=26.590.5{\displaystyle n\approx {\sqrt {2\times 2^{32}\times 2^{-20}}}={\sqrt {2^{1+32-20}}}={\sqrt {2^{13}}}=2^{6.5}\approx 90.5}

وهو قريب من الإجابة الصحيحة وهي 93.

قابلية التوقيع الرقمي للاختراق

قد تتعرض التوقيعات الرقمية لهجوم تاريخ الميلاد، أو بشكل أدق، لهجوم تصادم البادئة المختارة. رسالةم{\displaystyle m}يتم التوقيع عادةً بواسطة عملية حسابية أولىو(م){\displaystyle f(m)}، أينو{\displaystyle f}هي دالة تجزئة تشفيرية ، ثم يتم استخدام مفتاح سري للتوقيعو(م){\displaystyle f(m)}لنفترض أن مالوري تريد خداع بوب لحمله على توقيع عقد مزور . تقوم مالوري بإعداد عقد عادل.م{\displaystyle m}وواحدة احتياليةم{\displaystyle m'}ثم تجد عدداً من الوظائف حيثم{\displaystyle m}يمكن تغييرها دون تغيير المعنى، مثل إضافة الفواصل، أو الأسطر الفارغة، أو مسافة واحدة أو مسافتين بعد الجملة، أو استبدال المرادفات، وما إلى ذلك. ومن خلال الجمع بين هذه التغييرات، يمكنها إنشاء عدد هائل من الاختلافات فيم{\displaystyle m}وهي جميعها عقود عادلة.

وبالمثل، ابتكر مالوري أيضاً عدداً هائلاً من الصيغ المختلفة للعقد الاحتياليم{\displaystyle m'}ثم تقوم بتطبيق دالة التجزئة على جميع هذه الاختلافات حتى تجد نسخة من العقد العادل ونسخة من العقد الاحتيالي لهما نفس قيمة التجزئة.و(م)=و(م){\displaystyle f(m)=f(m')}تُقدّم مالوري النسخة العادلة لبوب للتوقيع. بعد توقيع بوب، تأخذ مالوري التوقيع وتُلصقه بالعقد المُزوّر. يُثبت هذا التوقيع أن بوب قد وقّع على العقد المُزوّر.

تختلف الاحتمالات قليلاً عن مسألة عيد الميلاد الأصلية، إذ لا يحقق مالوري أي فائدة من إيجاد عقدين عادلين أو عقدين احتياليين بنفس قيمة التجزئة. تتمثل استراتيجية مالوري في توليد أزواج من عقد عادل وعقد احتيالي. بالنسبة لدالة تجزئة معينة2ل{\displaystyle 2^{l}}يمثل عدد التجزئات الممكنة، حيثل{\displaystyle l}يمثل طول البتات لمخرجات التجزئة. لا تنطبق معادلات مسألة عيد الميلاد هنا تمامًا. للحصول على احتمال 50% لحدوث تصادم، ستحتاج مالوري إلى توليد ما يقارب2(ل/2)+1{\displaystyle 2^{(l/2)+1}}التجزئة، وهو ضعف العدد المطلوب لحدوث تصادم بسيط في ظل مشكلة عيد الميلاد الكلاسيكية.

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

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

تُعد خوارزمية بولارد رو للوغاريتمات مثالاً على خوارزمية تستخدم هجوم عيد الميلاد لحساب اللوغاريتمات المنفصلة .

الهجوم العكسي

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

انظر أيضاً

ملحوظات

  1. "تجنب التصادمات، دوال التجزئة التشفيرية" (ملف PDF) . أسس التشفير، قسم علوم الحاسوب، كلية ويليسلي .
  2. 1 2 دانغ، كيو إتش (2012). توصيات للتطبيقات التي تستخدم خوارزميات التجزئة المعتمدة (تقرير). غايثرسبيرغ، ماريلاند: المعهد الوطني للمعايير والتكنولوجيا. doi : 10.6028/nist.sp.800-107r1 .
  3. دانيال ج. بيرنشتاين. "تحليل تكلفة تصادمات التجزئة : هل ستجعل الحواسيب الكمومية خوارزمية SHARCS عتيقة؟" (ملف PDF) . Cr.yp.to. تاريخ الاسترجاع: 29 أكتوبر 2017 . 
  4. براسارد، جيل؛ هوير، بيتر؛ تاب، آلان (20 أبريل 1998). "التحليل التشفيري الكمي للوظائف الخالية من التجزئة والوظائف الخالية من المخالب". LATIN'98: المعلوماتية النظرية . سلسلة محاضرات في علوم الحاسوب. المجلد 1380. سبرينغر، برلين، هايدلبرغ. الصفحات 163-169 . arXiv : quant-ph/9705002 . doi : 10.1007/BFb0054319 . ISBN   978-3-540-64275-6. S2CID 118940551 . 
  5. ر. شيري (أغسطس 2007). معجم أمن الإنترنت، الإصدار 2. مجموعة عمل الشبكة. doi : 10.17487/RFC4949 . RFC 4949 .معلوماتي.
  6. "مشكلة عيد الميلاد" . Brilliant.org . Brilliant_(موقع إلكتروني) . تم الاطلاع عليه بتاريخ 28 يوليو 2023 .
  7. بيلار، ميهير؛ روغاواي، فيليب (2005). "مشكلة عيد الميلاد". مقدمة في التشفير الحديث (ملف PDF) . الصفحات 273-274 . تاريخ الاسترجاع: 31 مارس 2023 . 
  8. ^ فلاجوليه، فيليب. أودليزكو، أندرو م. (1990). "إحصائيات الخرائط العشوائية" . في كويسكواتر، جان جاك؛ فاندوال، جوس (محرران). التقدم في علم التشفير — EUROCRYPT '89 . ملاحظات محاضرة في علوم الكمبيوتر. المجلد. 434. برلين، هايدلبرغ: سبرينغر. ص 329 – 354. دوى : 10.1007 / 3-540-46885-4_34 . رقم ISBN   978-3-540-46885-1.
  9. انظر إلى الحدود العليا والسفلى .
  10. جاك باتارين، أودري مونتريل (2005). "إعادة النظر في مخططات بينيس والفراشة" ( PostScript ، PDF ) . جامعة فرساي . تاريخ الاسترجاع: 15 مارس 2007 .{{cite journal}}يتطلب الاستشهاد بالمجلة ( مساعدة )|journal=
  11. غراي، جيم؛ فان إنجن، كاثرين (25 يناير 2007). "القياسات التجريبية لمعدلات فشل القرص ومعدلات الخطأ". arXiv : cs/0701166 .
  12. "CiteSeerX" . مؤرشف من الأصل بتاريخ 23-02-2008 . تم الاطلاع عليه بتاريخ 02-05-2006 .
  13. "احسب لوغاريتم (1+س) بدقة للقيم الصغيرة لـ س" . Mathworks.com . مؤرشف من الأصل في 30 أغسطس 2012. تم الاطلاع عليه في 29 أكتوبر 2017 .

مراجع