تبادل مفاتيح ديفي-هيلمان

يُعدّ تبادل مفاتيح ديفي-هيلمان ( DH ) [ ملاحظة 1 ] طريقةً رياضيةً لتوليد مفتاح تشفير متناظر بشكل آمن عبر قناة عامة، وكان من أوائل البروتوكولات التي ابتكرها رالف ميركل وسُمّيت نسبةً إلى ويتفيلد ديفي ومارتن هيلمان . [ 1 ] يُعتبر تبادل مفاتيح ديفي-هيلمان من أوائل الأمثلة العملية لتبادل المفاتيح العامة في مجال التشفير. نُشر هذا العمل عام 1976 من قِبل ديفي وهيلمان، وهو أقدم عمل معروف علنًا اقترح فكرة المفتاح الخاص والمفتاح العام المقابل له.
تقليديًا، كان تأمين الاتصالات المشفرة بين طرفين يتطلب تبادل المفاتيح أولًا عبر وسيلة مادية آمنة، مثل قوائم المفاتيح الورقية التي ينقلها ساعي موثوق . أما طريقة تبادل مفاتيح ديفي-هيلمان، فتتيح لطرفين لا يعرف أحدهما الآخر مسبقًا إنشاء مفتاح سري مشترك عبر قناة غير آمنة . ويمكن استخدام هذا المفتاح لتشفير الاتصالات اللاحقة باستخدام تشفير المفتاح المتناظر .
يُستخدم بروتوكول ديفي-هيلمان لتأمين مجموعة متنوعة من خدمات الإنترنت . ومع ذلك، تشير الأبحاث المنشورة في أكتوبر 2015 إلى أن المعايير المستخدمة في العديد من تطبيقات ديفي-هيلمان على الإنترنت في ذلك الوقت لم تكن قوية بما يكفي لمنع الاختراق من قبل مهاجمين ذوي تمويل ضخم، مثل أجهزة الأمن في بعض الدول. [ 2 ]
نُشر المخطط بواسطة ويتفيلد ديفي ومارتن هيلمان في عام 1976، [ 3 ] ولكن في عام 1997 كُشف أن جيمس إتش إليس ، [ 4 ] وكليفورد كوكس ، ومالكولم جيه ويليامسون من مقر الاتصالات الحكومية البريطانية (GCHQ) ، كانوا قد أظهروا سابقًا في عام 1969 [ 5 ] كيفية تحقيق التشفير بالمفتاح العام. [ 6 ]
على الرغم من أن بروتوكول تبادل مفاتيح ديفي-هيلمان هو بروتوكول غير موثق لتبادل المفاتيح ، إلا أنه يُشكل أساسًا للعديد من البروتوكولات الموثقة، ويُستخدم لتوفير سرية تامة في أوضاع التشفير المؤقتة لطبقة النقل (المشار إليها اختصارًا بـ EDH أو DHE حسب مجموعة التشفير). وتتحقق السرية التامة من خلال استخدام المفاتيح المؤقتة: حيث تُحذف المفاتيح الخاصة بمجرد اكتمال عملية تبادل المفاتيح، مما يجعلها آمنة من الاختراق لاحقًا. وتُعد المفاتيح المؤقتة عمليةً نظرًا لانخفاض تكلفة إنشاء أزواج المفاتيح العامة والخاصة المناسبة للاستخدام مع بروتوكول تبادل ديفي-هيلمان.
وقد تبعت هذه الطريقة بعد ذلك بوقت قصير نظام التشفير RSA ، وهو تطبيق للتشفير بالمفتاح العام باستخدام خوارزميات غير متماثلة.
تصف براءة الاختراع الأمريكية المنتهية الصلاحية رقم 4200770 [ 7 ] الصادرة عام 1977 الخوارزمية التي أصبحت الآن متاحة للجميع. وتنسب البراءة اختراعها إلى هيلمان وديفي وميركل.
اسم
في عام 2006، اقترح هيلمان تسمية الخوارزمية بتبادل مفاتيح ديفي-هيلمان-ميركل تقديراً لمساهمة رالف ميركل في اختراع التشفير بالمفتاح العام (هيلمان، 2006)، وكتب:
أصبح هذا النظام يُعرف منذ ذلك الحين باسم تبادل مفاتيح ديفي-هيلمان. ورغم أن هذا النظام وُصف لأول مرة في ورقة بحثية من تأليفي أنا وديفي، إلا أنه نظام لتوزيع المفاتيح العامة، وهو مفهوم طوره ميركل، ولذا ينبغي تسميته "تبادل مفاتيح ديفي-هيلمان-ميركل" إذا ما أُريد ربط الأسماء به. آمل أن تُسهم هذه المقدمة الموجزة في هذا المسعى للاعتراف بمساهمة ميركل المتساوية في ابتكار التشفير بالمفتاح العام. [ 8 ]
وصف
نظرة عامة

يُنشئ تبادل مفاتيح ديفي-هيلمان سرًا مشتركًا بين طرفين، يُمكن استخدامه للتواصل السري وتبادل البيانات عبر شبكة عامة. ويمكن توضيح مفهوم تبادل المفاتيح العامة باستخدام الألوان بدلًا من الأرقام الكبيرة جدًا.
تبدأ العملية باتفاق الطرفين، أليس وبوب ، علنًا على لون ابتدائي عشوائي، ليس من الضروري إخفاؤه. في هذا المثال، اللون هو الأصفر. يختار كل منهما أيضًا لونًا سريًا يحتفظ به لنفسه، وهو في هذه الحالة الأحمر والأزرق السماوي. الجزء الأساسي من العملية هو أن أليس وبوب يمزجان لونهما السري مع اللون المشترك، لينتج عنهما مزيج برتقالي مائل للبيج وأزرق فاتح على التوالي، ثم يتبادلان اللونين علنًا. أخيرًا، يمزج كل منهما اللون الذي حصل عليه من شريكه مع لونه الخاص. والنتيجة هي مزيج لوني نهائي (أصفر مائل للبني في هذه الحالة) مطابق تمامًا لمزيج اللون النهائي لشريكه.
لو استمع طرف ثالث إلى المحادثة، لما عرف سوى اللون المشترك (الأصفر) والألوان المختلطة الأولى (البرتقالي المائل للبيج والأزرق الفاتح)، لكن سيكون من الصعب عليه للغاية معرفة اللون السري الأخير (الأصفر المائل للبني). وبالعودة إلى مثال المحادثة الواقعية باستخدام أعداد كبيرة بدلًا من الألوان، فإن تحديد هذا اللون يتطلب موارد حاسوبية هائلة؛ إذ يستحيل حسابه في وقت معقول حتى بالنسبة لأجهزة الحاسوب العملاقة الحديثة .
شرح التشفير
يستخدم أبسط تطبيق أصلي للبروتوكول [ 3 ] ، والذي تمّت صياغته لاحقًا كبروتوكول ديفي-هيلمان للحقول المنتهية في RFC 7919 [ 9 ] ، المجموعة الضربية للأعداد الصحيحة بتردد p ، حيث p عدد أولي ، و g جذر أولي بتردد p . وللحماية من الثغرات الأمنية المحتملة، يُنصح باستخدام أعداد أولية بطول 2048 بت على الأقل. يزيد هذا من صعوبة حساب اللوغاريتم المنفصل واختراق السر المشترك بالنسبة للمهاجم. تم اختيار هاتين القيمتين بهذه الطريقة لضمان أن السر المشترك الناتج يمكن أن يأخذ أي قيمة من 1 إلى p − 1. فيما يلي مثال على البروتوكول، حيث تمثل القيم غير السرية باللون الأزرق ، والقيم السرية باللون الأحمر .
- اتفق أليس وبوب علنًا على استخدام معامل p = 23 وأساس g = 5 (وهو جذر بدائي modulo 23).
- تختار أليس عددًا صحيحًا سريًا a = 4، ثم ترسل إلى بوب A = g a mod p
- A = 5 4 mod 23 = 4 (في هذا المثال، كل من A و a لهما نفس القيمة 4، ولكن هذا ليس هو الحال عادةً)
- يختار بوب عددًا صحيحًا سريًا b = 3، ثم يرسل إلى أليس B = g b mod p
- ب = 5 3 mod 23 = 10
- أليس تحسب s = B a mod p
- s =10 4 mod23= 18
- يحسب بوب قيمة s = A b mod p
- s =4 3 mod23= 18
- تتشارك أليس وبوب الآن سرًا (الرقم 18).
توصلت كل من أليس وبوب إلى نفس القيم لأنه في ظل mod p ،
وبشكل أكثر تحديداً،
يُحتفظ فقط بالقيمتين a و b سرًا. أما باقي القيم - p و g و g a mod p و g b mod p - فتُرسل بشكل غير مشفر. تكمن قوة هذه الطريقة في أن حساب g ab mod p = g ba mod p يستغرق وقتًا طويلاً للغاية باستخدام أي خوارزمية كلاسيكية معروفة، وذلك بمعرفة p و g و g a mod p و g b mod p فقط . تُسمى هذه الدالة، التي يسهل حسابها ويصعب عكسها، بالدالة أحادية الاتجاه . بمجرد أن يحسب أليس وبوب السر المشترك، يمكنهما استخدامه كمفتاح تشفير، لا يعرفه سواهما، لإرسال الرسائل عبر قناة الاتصال المفتوحة نفسها.
بالطبع، ستكون هناك حاجة إلى قيم أكبر بكثير لـ a و b و p لجعل هذا المثال آمنًا، نظرًا لوجود 23 نتيجة ممكنة فقط لـ n mod 23. مع ذلك، إذا كان p عددًا أوليًا مكونًا من 600 رقم على الأقل، فلن تتمكن حتى أسرع الحواسيب الحديثة، باستخدام أسرع خوارزمية معروفة، من إيجاد قيمة a بمعرفة g و p فقط ، و g a mod p . تُسمى هذه المشكلة بمسألة اللوغاريتم المنفصل . [ 2 ] يُعرف حساب g a mod p بالأس المعياري ، ويمكن إجراؤه بكفاءة حتى للأعداد الكبيرة. تجدر الإشارة إلى أن g ليس بالضرورة أن يكون كبيرًا على الإطلاق، وفي الواقع العملي عادةً ما يكون عددًا صحيحًا صغيرًا (مثل 2، 3، ...).
مخطط السرية
يوضح الرسم البياني أدناه من يعلم ماذا، مع تمثيل القيم غير السرية باللون الأزرق ، والقيم السرية باللون الأحمر . هنا، إيف متنصتة - فهي تراقب ما يُرسل بين أليس وبوب، لكنها لا تُغير محتوى اتصالاتهما.
- g ، قاعدة عامة (جذر بدائي)، معروفة لأليس وبوب وإيف. g = 5
- p ، وهو معامل عام (أولي)، معروف لأليس وبوب وإيف. p = 23
- a هو المفتاح الخاص بأليس، والذي لا تعرفه إلا أليس. a = 6
- b ، المفتاح الخاص بـ Bob والذي لا يعرفه إلا Bob. b = 15
- A هو المفتاح العام لأليس، وهو معروف لأليس وبوب وإيف. A = g a mod p = 8
- B هو المفتاح العام لبوب، وهو معروف لأليس وبوب وإيف. B = g b mod p = 19
|
|
|
الآن، s هو المفتاح السري المشترك، وهو معروف لكل من أليس وبوب، ولكنه غير معروف لإيف. لاحظ أنه ليس من المفيد لإيف حساب AB ، الذي يساوي g a + b mod p .
ملاحظة: ينبغي أن يكون من الصعب على أليس إيجاد المفتاح الخاص لبوب، أو على بوب إيجاد المفتاح الخاص لأليس. إذا لم يكن من الصعب على أليس إيجاد المفتاح الخاص لبوب (أو العكس)، فبإمكان المتنصتة، إيف ، استبدال زوج مفاتيحها الخاص/العام، وإدخال مفتاح بوب العام في مفتاحها الخاص، وإنشاء مفتاح سري مشترك وهمي، ثم إيجاد المفتاح الخاص لبوب (واستخدامه لإيجاد المفتاح السري المشترك). قد تحاول إيف اختيار زوج مفاتيح عام/خاص يسهل عليها إيجاد المفتاح الخاص لبوب.
التعميم على المجموعات الدورية المنتهية
فيما يلي وصف أكثر عمومية للبروتوكول: [ 10 ]
- يتفق أليس وبوب على عدد طبيعي n وعنصر مولد g في المجموعة الدورية المنتهية G من الرتبة n . (يتم ذلك عادةً قبل وقت طويل من بقية البروتوكول؛ يُفترض أن جميع المهاجمين يعرفون g و n ). تُكتب المجموعة G بطريقة الضرب.
- تختار أليس عددًا طبيعيًا عشوائيًا a بحيث يكون 1 < a < n ، وترسل العنصر g a من G إلى بوب.
- يختار بوب عددًا طبيعيًا عشوائيًا b بحيث يكون 1 < b < n ، ويرسل العنصر g b من G إلى أليس.
- تقوم أليس بحساب العنصر ( g b ) a = g ba من G.
- يحسب بوب العنصر ( g a ) b = g ab من G.
أصبح كل من أليس وبوب يمتلكان الآن عنصر المجموعة g <sub>ab</sub> = g<sub> ba</sub> ، والذي يمكن استخدامه كمفتاح سري مشترك. تحقق المجموعة G الشرط اللازم للاتصال الآمن طالما لا توجد خوارزمية فعالة لتحديد g <sub>ab </sub> بمعلومية g <sub> a </sub> و g<sub> b</sub> .
على سبيل المثال، يُعد بروتوكول ديفي-هيلمان للمنحنى الإهليلجي أحد المتغيرات التي تُمثل عنصرًا من G كنقطة على منحنى إهليلجي بدلًا من كونه عددًا صحيحًا بتردد n. كما تم اقتراح متغيرات أخرى تستخدم منحنيات فوق إهليلجية . يُعد تبادل مفاتيح التماثل الفائق التفرد أحد متغيرات ديفي-هيلمان التي صُممت لتكون آمنة ضد الحواسيب الكمومية ، ولكن تم اختراقها في يوليو 2022. [ 11 ]
مفاتيح مؤقتة و/أو ثابتة
يمكن أن تكون المفاتيح المستخدمة مؤقتة أو ثابتة (طويلة الأمد)، بل ويمكن أن تكون مختلطة، فيما يُعرف بـ "مفتاح ديفي-هيلمان شبه الثابت". تتميز هذه الأنواع بخصائص مختلفة، وبالتالي حالات استخدام مختلفة. يمكن الاطلاع على نظرة عامة على العديد من الأنواع، بالإضافة إلى بعض المناقشات، في NIST SP 800-56A على سبيل المثال. [ 12 ] قائمة أساسية:
- مؤقت، مؤقت: يُستخدم عادةً للاتفاق على المفاتيح. يوفر سرية تامة ، لكنه لا يضمن المصداقية .
- ثابت، ثابت: سيؤدي ذلك إلى إنشاء سر مشترك طويل الأمد. لا يوفر هذا النوع من التشفير سرية تامة، ولكنه يوفر مصداقية ضمنية. وبما أن المفاتيح ثابتة، فلن يحمي، على سبيل المثال، من هجمات إعادة الإرسال .
- مؤقت، ثابت: على سبيل المثال، يُستخدم في تشفير ElGamal أو نظام التشفير المتكامل (IES) . عند استخدامه في اتفاقية المفاتيح، فإنه يوفر مصداقية ضمنية من جانب واحد (حيث يمكن للجانب المؤقت التحقق من مصداقية الجانب الثابت). ولا يوفر أي سرية أمامية.
من الممكن استخدام المفاتيح المؤقتة والثابتة في اتفاقية مفاتيح واحدة لتوفير المزيد من الأمان كما هو موضح على سبيل المثال في NIST SP 800-56A، ولكن من الممكن أيضًا الجمع بين تلك في تبادل مفاتيح DH واحد، والذي يسمى حينها DH الثلاثي (3-DH).
تريبل ديفي-هيلمان (3-DH)
في عام 1997 تم اقتراح نوع من DH الثلاثي بواسطة سيمون بليك ويلسون ودون جونسون وألفريد مينيزيس، [ 13 ] والذي تم تحسينه بواسطة سي. كودلا وكي جي باترسون في عام 2005 [ 14 ] وثبت أنه آمن.
يُرمز إلى المفاتيح السرية طويلة الأمد لأليس وبوب بالرمزين a و b على التوالي، مع المفاتيح العامة A و B ، بالإضافة إلى أزواج المفاتيح المؤقتة ( x , X ) و ( y , Y ). إذن، البروتوكول هو:
| أليس () | بوب () | |
|---|---|---|
يجب نقل المفاتيح العامة طويلة الأمد بطريقة ما. يمكن القيام بذلك مسبقًا عبر قناة منفصلة وموثوقة، أو يمكن تشفير المفاتيح العامة باستخدام اتفاقية مفاتيح جزئية للحفاظ على إخفاء الهوية. لمزيد من التفاصيل حول هذه الأمور، بالإضافة إلى تحسينات أخرى مثل حماية القنوات الجانبية أو تأكيد المفتاح الصريح ، فضلًا عن الرسائل المبكرة ومصادقة كلمة المرور الإضافية، انظر على سبيل المثال براءة الاختراع الأمريكية "مصافحة معيارية متقدمة لاتفاقية المفاتيح والمصادقة الاختيارية". [ 15 ]
تسلسل ديفي-هيلمان الثلاثي الممتد (X3DH)
تم اقتراح بروتوكول X3DH في البداية كجزء من خوارزمية السقاطة المزدوجة المستخدمة في بروتوكول الإشارة . يوفر هذا البروتوكول سرية تامة وإمكانية إنكار التشفير. ويعمل على منحنى إهليلجي. [ 16 ]
يستخدم البروتوكول خمسة مفاتيح عامة. تمتلك أليس مفتاح هوية IK A ومفتاحًا مؤقتًا EK A. يمتلك بوب مفتاح هوية IK B ، ومفتاحًا مسبقًا موقّعًا SPK B ، ومفتاحًا مسبقًا للاستخدام لمرة واحدة OPK B. [ 16 ] ينشر بوب أولًا مفاتيحه الثلاثة على خادم، تقوم أليس بتنزيلها والتحقق من التوقيع عليها. ثم تبدأ أليس عملية التبادل مع بوب. [ 16 ] المفتاح المسبق للاستخدام لمرة واحدة (OPK) اختياري. [ 16 ]
عملية مع أكثر من طرفين
لا يقتصر اتفاق مفتاح ديفي-هيلمان على التفاوض على مفتاح مشترك بين طرفين فقط. يمكن لأي عدد من المستخدمين المشاركة في الاتفاق من خلال تنفيذ تكرارات لبروتوكول الاتفاق وتبادل البيانات الوسيطة (التي لا يلزم إبقاؤها سرية). على سبيل المثال، يمكن لأليس وبوب وكارول المشاركة في اتفاق ديفي-هيلمان على النحو التالي، مع اعتبار جميع العمليات بتردد p :
- يتفق الطرفان على معلمات الخوارزمية p و g .
- تقوم الأطراف بإنشاء مفاتيحها الخاصة، والتي تسمى a و b و c .
- تقوم أليس بحساب g a mod p وترسلها إلى بوب.
- يقوم بوب بحساب ( g a ) b mod p = g ab mod p ويرسلها إلى كارول.
- تقوم كارول بحساب ( g ab ) c mod p = g abc mod p وتستخدمها كسرها.
- يقوم بوب بحساب g b mod p ويرسلها إلى كارول.
- تقوم كارول بحساب ( g b ) c mod p = g bc mod p وترسلها إلى أليس.
- تقوم أليس بحساب ( g bc ) a mod p = g bca mod p = g abc mod p وتستخدمه كسرها.
- تقوم كارول بحساب g c mod p وترسلها إلى أليس.
- تقوم أليس بحساب ( g c ) a mod p = g ca mod p وترسلها إلى بوب.
- يقوم بوب بحساب ( g ca ) b mod p = g cab mod p = g abc mod p ويستخدمها كسره.
تمكن المتنصت من رؤية g a mod p و g b mod p و g c mod p و g ab mod p و g ac mod p و g bc mod p ، لكنه لا يستطيع استخدام أي تركيبة من هذه لإعادة إنتاج g abc mod p بكفاءة .
ولتوسيع نطاق هذه الآلية لتشمل مجموعات أكبر، يجب اتباع مبدأين أساسيين:
- بدءًا من مفتاح "فارغ" يتكون فقط من g ، يتم إنشاء السر عن طريق رفع القيمة الحالية إلى الأس الخاص بكل مشارك مرة واحدة، بأي ترتيب (أول عملية رفع للأس تؤدي إلى المفتاح العام الخاص بالمشارك).
- يمكن الكشف علنًا عن أي قيمة وسيطة (بعد تطبيق ما يصل إلى N − 1 من الأسس، حيث N هو عدد المشاركين في المجموعة)، لكن القيمة النهائية (بعد تطبيق جميع الأسس N ) تُشكّل السر المشترك، وبالتالي يجب عدم الكشف عنها علنًا أبدًا. لذا، يجب على كل مستخدم الحصول على نسخته من السر بتطبيق مفتاحه الخاص أخيرًا (وإلا لما كان بإمكان آخر مُساهم إيصال المفتاح النهائي إلى مُستلمه، إذ سيكون هذا المُساهم الأخير قد حوّل المفتاح إلى السر الذي ترغب المجموعة في حمايته).
تتيح هذه المبادئ خيارات متعددة لاختيار ترتيب مساهمة المشاركين في المفاتيح. الحل الأبسط والأكثر وضوحًا هو ترتيب المشاركين (عددهم N) في دائرة، ثم تدوير N مفتاحًا حولها، حتى يُساهم جميع المشاركين (عددهم N) في كل مفتاح (وينتهي الأمر بمالكه)، ويُساهم كل مشارك في N مفتاحًا (وينتهي الأمر بمفتاحه الخاص). مع ذلك، يتطلب هذا من كل مشارك إجراء N عملية أسية نمطية.
باختيار ترتيب أكثر ملاءمة، والاعتماد على حقيقة أنه يمكن تكرار المفاتيح، فمن الممكن تقليل عدد عمليات الأسس المعيارية التي يقوم بها كل مشارك إلى log 2 ( N ) + 1 باستخدام أسلوب فرق تسد ، كما هو موضح هنا لثمانية مشاركين:
- يقوم كل من المشاركين أ، ب، ج، د بإجراء عملية أسية واحدة، مما ينتج عنه g abcd ؛ يتم إرسال هذه القيمة إلى هـ، و، ز، ح. في المقابل، يتلقى المشاركون أ، ب، ج، د g efgh .
- يقوم كل من المشاركين A و B بإجراء عملية أسية واحدة، مما ينتج عنه g efghab ، والتي يرسلونها إلى C و D، بينما يقوم C و D بنفس الشيء، مما ينتج عنه g efghcd ، والتي يرسلونها إلى A و B.
- يقوم المشارك أ بإجراء عملية أسية، مما ينتج عنه g efghcda ، والذي يرسله إلى ب؛ وبالمثل، يرسل ب g efghcdb إلى أ. ويفعل كل من ج ود الشيء نفسه.
- يقوم المشارك أ بإجراء عملية أسية نهائية واحدة، مما ينتج عنه السر g efghcdba = g abcdefgh ، بينما يقوم ب بنفس الشيء للحصول على g efghcdab = g abcdefgh ؛ ومرة أخرى، يقوم كل من ج ود بنفس الشيء.
- يقوم المشاركون من E إلى H في نفس الوقت بتنفيذ نفس العمليات باستخدام g abcd كنقطة بداية لهم.
بمجرد اكتمال هذه العملية، سيمتلك جميع المشاركين السر g abcdefgh ، ولكن كل مشارك سيكون قد أجرى أربع عمليات أسية نمطية فقط، بدلاً من الثمانية التي ينطوي عليها الترتيب الدائري البسيط.
الاعتبارات الأمنية والعملية
يُعتبر البروتوكول آمنًا ضد التنصت إذا تم اختيار G و g بشكل صحيح. على وجه الخصوص، يجب أن تكون رتبة المجموعة G كبيرة، خاصةً إذا تم استخدام المجموعة نفسها لكميات كبيرة من البيانات. يتعين على المتنصت حل مسألة ديفي-هيلمان للحصول على g ab . يُعتبر هذا الأمر صعبًا حاليًا بالنسبة للمجموعات ذات الرتبة الكبيرة بما يكفي. من شأن خوارزمية فعالة لحل مسألة اللوغاريتم المنفصل أن تُسهّل حساب a أو b وحل مسألة ديفي-هيلمان، مما يجعل هذا النظام والعديد من أنظمة التشفير بالمفتاح العام الأخرى غير آمنة. قد تكون الحقول ذات الخصائص الصغيرة أقل أمانًا. [ 17 ]
يجب أن يكون لرتبة G عامل أولي كبير لمنع استخدام خوارزمية بوهليغ-هيلمان للحصول على a أو b . لهذا السبب، يُستخدم أحيانًا عدد أولي من نوع صوفي جيرمان q لحساب p = 2q + 1 ، ويُسمى هذا العدد الأولي الآمن ، لأن رتبة G حينها لا تقبل القسمة إلا على 2 و q . في بعض الأحيان ، يُختار g لتوليد المجموعة الفرعية من الرتبة q من G ، بدلًا من G نفسها ، بحيث لا يكشف رمز ليجندر g a أبدًا عن البت ذي الرتبة الأدنى من a . ومن البروتوكولات التي تستخدم هذا الاختيار بروتوكول IKEv2 على سبيل المثال . [ 18 ]
غالباً ما يكون المولد g عددًا صحيحًا صغيرًا مثل 2. نظرًا لإمكانية الاختزال الذاتي العشوائي لمسألة اللوغاريتم المنفصل، فإن قيمة g الصغيرة آمنة بنفس القدر مثل أي مولد آخر لنفس المجموعة.
إذا استخدمت أليس وبوب مولدات أرقام عشوائية لا تكون مخرجاتها عشوائية تمامًا ويمكن التنبؤ بها إلى حد ما، فسيكون من الأسهل بكثير التنصت.
في الوصف الأصلي، لا يوفر تبادل ديفي-هيلمان وحده توثيقًا للأطراف المتصلة، وقد يكون عرضةً لهجوم الوسيط . قد تُنشئ مالوري (مهاجمة نشطة تُنفذ هجوم الوسيط) تبادلين منفصلين للمفاتيح، أحدهما مع أليس والآخر مع بوب، مُنتحلةً شخصية أليس أمام بوب، والعكس صحيح، مما يسمح لها بفك تشفير الرسائل المتبادلة بينهما، ثم إعادة تشفيرها. تجدر الإشارة إلى أن مالوري يجب أن تكون وسيطةً منذ البداية، وأن تستمر في ذلك، حيث تقوم بفك تشفير الرسائل وإعادة تشفيرها في كل مرة يتواصل فيها أليس وبوب. إذا وصلت بعد إنشاء المفاتيح وبدء المحادثة المشفرة بين أليس وبوب، فلن ينجح الهجوم. أما إذا غابت، فسيُكشف وجودها السابق لأليس وبوب، وسيعلمان أن جميع محادثاتهما الخاصة قد تم اعتراضها وفك تشفيرها من قِبل شخص ما في قناة الاتصال. في معظم الحالات، لن يساعدهم ذلك في الحصول على المفتاح الخاص لمالوري، حتى لو استخدمت نفس المفتاح لكلا عمليتي التبادل.
عادةً ما تكون هناك حاجة إلى طريقة للتحقق من هوية الأطراف المتصلة لمنع هذا النوع من الهجمات. ويمكن استخدام بدائل لبروتوكول ديفي-هيلمان، مثل بروتوكول STS ، لتجنب هذه الأنواع من الهجمات.
هجوم حجب الخدمة
كشفت ثغرة أمنية ( CVE-2002-20001 ) نُشرت عام 2021 عن هجوم حجب الخدمة (DoS) ضد بروتوكولات تبادل المفاتيح ديفي-هيلمان التي تستخدم مفاتيح مؤقتة، ويُعرف هذا الهجوم باسم هجوم D(HE)at. [ 19 ] يستغل هذا الهجوم ثغرة تسمح للمهاجمين بإرسال أرقام عشوائية ليست في الواقع مفاتيح عامة، مما يؤدي إلى عمليات حسابية مكلفة للأس المعياري على جانب الضحية. كما كشفت ثغرة أمنية أخرى ( CVE-2022-40735 ) أن تطبيقات تبادل المفاتيح ديفي-هيلمان قد تستخدم أسسًا خاصة طويلة، مما يجعل عمليات حساب الأس المعياري مكلفة بشكل غير ضروري [ 20 ] ، أو قد تتحقق بشكل غير ضروري من المفتاح العام للطرف الآخر ( CVE-2024-41996 )، وهو ما يتطلب موارد مماثلة لحساب المفتاح باستخدام أس طويل. [ 21 ] يمكن للمهاجم استغلال كلا الثغرتين معًا.
هجمات عملية على حركة مرور الإنترنت
تتألف خوارزمية غربلة حقل الأعداد ، وهي الأكثر فعالية عمومًا في حل مسألة اللوغاريتم المنفصل ، من أربع خطوات حسابية. تعتمد الخطوات الثلاث الأولى فقط على رتبة المجموعة G، وليس على العدد المحدد المطلوب حساب لوغاريتمه المحدود. [ 22 ] وقد تبيّن أن جزءًا كبيرًا من حركة مرور الإنترنت يستخدم إحدى مجموعات قليلة رتبتها 1024 بت أو أقل. [ 2 ] وبحساب الخطوات الثلاث الأولى من غربلة حقل الأعداد مسبقًا للمجموعات الأكثر شيوعًا، لا يحتاج المهاجم إلا إلى تنفيذ الخطوة الأخيرة، وهي أقل تكلفة حسابية بكثير من الخطوات الثلاث الأولى، للحصول على لوغاريتم محدد. استغل هجوم Logjam هذه الثغرة الأمنية لاختراق مجموعة متنوعة من خدمات الإنترنت التي سمحت باستخدام مجموعات رتبتها عدد أولي 512 بت، وهو ما يُعرف بدرجة التصدير . احتاج مبتكرو الهجوم إلى آلاف من أنوية المعالجات المركزية لمدة أسبوع لحساب البيانات مسبقًا لعدد أولي واحد 512 بت. وبمجرد الانتهاء من ذلك، يمكن حل اللوغاريتمات الفردية في حوالي دقيقة واحدة باستخدام معالجين من نوع Intel Xeon بـ 18 نواة. [ 2 ]
بحسب تقديرات مطوري هجوم Logjam، فإن الحساب المسبق الأكثر تعقيدًا اللازم لحل مسألة اللوغاريتم المنفصل لعدد أولي طوله 1024 بت سيكلف حوالي 100 مليون دولار، وهو مبلغ يقع ضمن ميزانية وكالة استخبارات وطنية كبيرة مثل وكالة الأمن القومي الأمريكية (NSA). ويتكهن مطورو Logjam بأن الحساب المسبق باستخدام أعداد أولية من نوع DH طولها 1024 بت، والتي يُعاد استخدامها على نطاق واسع، هو السبب وراء الادعاءات الواردة في وثائق مسربة لوكالة الأمن القومي بأن الوكالة قادرة على اختراق جزء كبير من أنظمة التشفير الحالية. [ 2 ]
لتجنب هذه الثغرات الأمنية، يوصي مؤلفو Logjam باستخدام تشفير المنحنيات الإهليلجية ، الذي لا يُعرف له هجوم مماثل. وفي حال تعذر ذلك، يوصون بأن يكون رتبة مجموعة ديفي-هيلمان ، p ، 2048 بت على الأقل. ويقدرون أن الحساب المسبق المطلوب لعدد أولي طوله 2048 بت أصعب بمقدار 10⁹ مرة من الحساب المسبق المطلوب لعدد أولي طوله 1024 بت. [ 2 ]
الحماية ضد الحواسيب الكمومية
تستطيع الحواسيب الكمومية اختراق أنظمة التشفير بالمفتاح العام، مثل RSA وDH للحقول المحدودة وDH للمنحنيات الإهليلجية، باستخدام خوارزمية شور لحل مسائل التحليل إلى عوامل أولية ، واللوغاريتم المنفصل ، وإيجاد الدورة. وقد طُرح في عام 2023 نسخة ما بعد الكمومية من خوارزمية ديفي-هيلمان ، تعتمد على مزيج من بروتوكول CRYSTALS-Kyber المقاوم للكم، بالإضافة إلى بروتوكول X25519 القديم للمنحنيات الإهليلجية .
استخدامات أخرى
التشفير
تم اقتراح أنظمة تشفير بالمفتاح العام تعتمد على تبادل مفاتيح ديفي-هيلمان. أول هذه الأنظمة هو تشفير إلجامال . أما النسخة الأحدث منه فهي نظام التشفير المتكامل .
السرية الأمامية
تُنشئ البروتوكولات التي تحقق سرية البيانات الأمامية أزواج مفاتيح جديدة لكل جلسة وتتخلص منها في نهاية الجلسة. ويُعدّ تبادل مفاتيح ديفي-هيلمان خيارًا شائعًا لهذه البروتوكولات، نظرًا لسرعة توليد المفاتيح فيه.
اتفاقية مفاتيح مصادق عليها بكلمة مرور
عندما يتشارك أليس وبوب كلمة مرور، يمكنهما استخدام بروتوكول ديفي-هيلمان (Diffie-Hellman) المعتمد على مصادقة كلمة المرور (PK) لمنع هجمات الوسيط. إحدى الطرق البسيطة هي مقارنة تجزئة سلسلة نصية ( s) متسلسلة مع كلمة المرور المحسوبة بشكل مستقل على طرفي القناة. من مميزات هذه الطرق أن المهاجم لا يستطيع اختبار سوى كلمة مرور واحدة محددة في كل دورة مع الطرف الآخر، وبالتالي يوفر النظام أمانًا جيدًا حتى مع كلمات مرور ضعيفة نسبيًا. هذا النهج موصوف في توصية ITU-T X.1035 ، المستخدمة في معيار الشبكات المنزلية G.hn.
ومن الأمثلة على هذا البروتوكول بروتوكول كلمة المرور الآمنة عن بعد .
المفتاح العام
من الممكن أيضًا استخدام خوارزمية ديفي-هيلمان كجزء من بنية المفتاح العام ، مما يسمح لبوب بتشفير رسالة بحيث لا تتمكن من فك تشفيرها إلا أليس، دون أي اتصال مسبق بينهما باستثناء معرفة بوب الموثوقة بالمفتاح العام لأليس. المفتاح العام لأليس هولإرسال رسالة إليها، يختار بوب حرفًا عشوائيًا (ب) ثم يرسله إلى أليس.(غير مشفرة) بالإضافة إلى الرسالة المشفرة باستخدام مفتاح متماثلأليس وحدها من تستطيع تحديد المفتاح المتناظر، وبالتالي فك تشفير الرسالة، لأنها الوحيدة التي تمتلك المفتاح الخاص. كما أن المفتاح العام المشترك مسبقًا يمنع هجمات الوسيط.
عمليًا، لا يُستخدم بروتوكول ديفي-هيلمان بهذه الطريقة، إذ يُعدّ RSA خوارزمية المفتاح العام السائدة. ويعود ذلك في الغالب لأسباب تاريخية وتجارية، وتحديدًا أن شركة RSA Security أنشأت هيئة إصدار شهادات لتوقيع المفاتيح، والتي أصبحت فيما بعد Verisign . وكما ذُكر سابقًا، لا يُمكن استخدام ديفي-هيلمان مباشرةً لتوقيع الشهادات. مع ذلك، ترتبط خوارزميات التوقيع ElGamal و DSA به رياضيًا، وكذلك MQV و STS ومكوّن IKE من مجموعة بروتوكولات IPsec لتأمين اتصالات بروتوكول الإنترنت .
انظر أيضاً
ملحوظات
- ↑ تشمل مرادفات تبادل مفاتيح ديفي-هيلمان ما يلي:
- تبادل مفاتيح ديفي-هيلمان-ميركل
- اتفاقية ديفي-هيلمان الرئيسية
- تحديد مفتاح ديفي-هيلمان
- مفاوضات ديفي-هيلمان الرئيسية
- تبادل المفاتيح الأسي
- بروتوكول ديفي-هيلمان
- مصافحة ديفي-هيلمان
مراجع
- ↑ ميركل، رالف سي. (أبريل 1978). "اتصالات آمنة عبر قنوات غير آمنة". اتصالات رابطة آلات الحوسبة . 21 (4): 294-299 . CiteSeerX 10.1.1.364.5157 . doi : 10.1145/359460.359473 . S2CID 6967714.
استُلمت في أغسطس 1975؛ نُقحت في سبتمبر 1977
. - 1 2 3 4 5 6 أدريان، ديفيد؛ وآخرون . (أكتوبر 2015). "السرية الأمامية غير الكاملة: كيف يفشل بروتوكول ديفي-هيلمان عمليًا" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 2015-09-06.
- 1 2 ديفي، ويتفيلد ؛ هيلمان، مارتن إي. (نوفمبر 1976). "اتجاهات جديدة في علم التشفير" (ملف PDF) . معاملات IEEE في نظرية المعلومات . 22 (6): 644-654 . Bibcode : 1976ITIT...22..644D . CiteSeerX 10.1.1.37.9720 . doi : 10.1109/TIT.1976.1055638 . مؤرشف (ملف PDF) من الأصل بتاريخ 29-11-2014.
- ↑ إليس، جيه إتش (يناير 1970). "إمكانية التشفير الرقمي غير السري" (ملف PDF) . تقرير بحثي صادر عن مركز أبحاث الأمن السيبراني . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 30 أكتوبر 2014. تم الاطلاع عليه بتاريخ 28 أغسطس 2015 .
- ↑ "إمكانية التشفير الرقمي السري الآمن" (ملف PDF) . مؤرشف (ملف PDF) من الأصل بتاريخ 16 فبراير 2017. تم الاطلاع عليه بتاريخ 8 يوليو 2017 .
- ↑ «ثلاثي من مقر الاتصالات الحكومية البريطانية يُكرّمون لابتكارهم مفتاحًا للتسوق الآمن عبر الإنترنت» . بي بي سي نيوز . 5 أكتوبر 2010. مؤرشف من الأصل في 10 أغسطس 2014. تم الاطلاع عليه في 5 أغسطس 2014 .
- ↑ براءة اختراع أمريكية رقم 4200770
- ↑ هيلمان، مارتن إي. (مايو 2002)، "نظرة عامة على التشفير بالمفتاح العام" (ملف PDF) ، مجلة IEEE للاتصالات ، 40 (5): 42-49 ، Bibcode : 2002IComM..40e..42H ، CiteSeerX 10.1.1.127.2652 ، doi : 10.1109/MCOM.2002.1006971 ، S2CID 9504647 ، مؤرشف (ملف PDF) من الأصل بتاريخ 2016-04-02
- ↑ وونغ، ديفيد (2021). "معايير تبادل المفاتيح". التشفير في العالم الحقيقي . مانينغ. ISBN 9781617296710– عبر كتب جوجل.
{{cite book}}: CS1 maint: deprecated archiveal service ( link ) - ↑ بوخمان، يوهانس أ. (2013). مقدمة في علم التشفير ( الطبعة الثانية). سبرينغر ساينس + بيزنس ميديا. الصفحات 190-191 . ISBN 978-1-4419-9003-7.
- ↑ كاستريك، ووتر؛ ديكرو، توماس (أبريل 2023). "هجوم فعال لاستعادة المفاتيح على بروتوكول SIDH" (ملف PDF) . المؤتمر الدولي السنوي لنظرية وتطبيقات تقنيات التشفير : 423-447 . مؤرشف من النسخة الأصلية (ملف PDF) بتاريخ 26 سبتمبر 2024.
- ↑ باركر، إيلين؛ تشين، ليلي؛ روجينسكي، ألين؛ فاسيليف، أبوستول؛ ديفيس، ريتشارد (16 أبريل 2018). توصية بشأن مخططات إنشاء المفاتيح الثنائية باستخدام تشفير اللوغاريتم المنفصل (تقرير). المعهد الوطني للمعايير والتكنولوجيا.
- ↑ بليك-ويلسون، سيمون؛ جونسون، دون؛ مينيزيس، ألفريد (1997)، "بروتوكولات اتفاقية المفاتيح وتحليل أمنها"، التشفير والترميز ، سلسلة محاضرات في علوم الحاسوب، المجلد 1355، الصفحات 30-45 ، CiteSeerX 10.1.1.25.387 ، doi : 10.1007/BFb0024447 ، ISBN 978-3-540-63927-5
- ↑ كودلا، كارولين؛ باترسون، كينيث ج. (2005). "براهين أمنية معيارية لبروتوكولات اتفاقية المفاتيح". في روي، بيمال (محرر). التطورات في علم التشفير - ASIACRYPT 2005 (ملف PDF) . سلسلة محاضرات في علوم الحاسوب. المجلد 3788. برلين، هايدلبرغ: سبرينغر. الصفحات 549-565 . doi : 10.1007/11593447_30 . ISBN 978-3-540-32267-2.
- ↑ US11025421B2 ، فاي، بيورن، "مصافحة معيارية متقدمة لاتفاقية المفاتيح والمصادقة الاختيارية"، صدرت في 2021-06-01
- 1 2 3 4 "المواصفات >> بروتوكول اتفاقية مفتاح X3DH" . برنامج Signal Messenger .
- ↑ باربوليسكو، رازفان؛ غودري، بييريك؛ جو، أنطوان؛ تومي، إيمانويل (2014). "خوارزمية شبه متعددة الحدود استدلالية للوغاريتم المنفصل في الحقول المنتهية ذات الخاصية الصغيرة" (ملف PDF) . التطورات في علم التشفير - يورو كريبت 2014. وقائع المؤتمر الدولي السنوي الثالث والثلاثين حول نظرية وتطبيقات تقنيات التشفير. سلسلة محاضرات في علوم الحاسوب. المجلد 8441. كوبنهاغن، الدنمارك. الصفحات 1-16 . doi : 10.1007/978-3-642-55220-5_1 . ISBN 978-3-642-55220-5تمت أرشفة الملف (PDF) من النسخة الأصلية بتاريخ 22-03-2020.
- ↑ "بروتوكول تبادل مفاتيح الإنترنت (IKEv2) RFC 4306". هندسة الإنترنت rg/web/20150107073645/ http://www.ietf.org/rfc/rfc4306.txt .
- ↑ فايفر، زيلارد؛ تيهاني، نوربرت (25 ديسمبر 2023). "D(HE)at: هجوم عملي لحجب الخدمة على تبادل مفاتيح ديفي-هيلمان في الحقل المحدود" . IEEE Access . 12 : 957-980 . doi : 10.1109/ACCESS.2023.3347422 . hdl : 10831/121503 .
- ↑ فان أورشوت، بي سي؛ وينر، إم جيه (1996). "حول اتفاقية مفاتيح ديفي-هيلمان مع الأسس القصيرة" . التطورات في علم التشفير - يورو كريبت 96. سلسلة محاضرات في علوم الحاسوب. المجلد 1070. سبرينغر، برلين، هايدلبرغ (نُشر عام 2001). الصفحات 332-343 . doi : 10.1007/3-540-68339-9_29 . ISBN 978-3-540-61186-8تمت أرشفة النسخة الأصلية بتاريخ 19-02-2023 .
- ↑ إيلين باركر؛ ليلي تشين؛ ألين روجينسكي؛ أبوستول فاسيليف؛ ريتشارد ديفيس (2018). "توصيات لأنظمة إنشاء المفاتيح الثنائية باستخدام تشفير اللوغاريتم المنفصل" . المعهد الوطني للمعايير والتكنولوجيا. doi : 10.6028/NIST.SP.800-56Ar3 .
- ↑ ويتفيلد ديفي، بول سي. فان أورشوت، ومايكل جيه. وينر "المصادقة وتبادل المفاتيح الموثقة"، في التصاميم والرموز والتشفير، 2، 107-125 (1992)، القسم 5.2، متاح كملحق ب لبراءة الاختراع الأمريكية رقم 5,724,425
مراجع عامة
- جولمان، ديتر (2011). أمن الحاسوب ( الطبعة الثانية). غرب ساسكس، إنجلترا: جون وايلي وأولاده المحدودة. ISBN 978-0470741153.
- ويليامسون، مالكولم ج. (21 يناير 1974). التشفير غير السري باستخدام حقل منتهٍ (ملف PDF) (تقرير فني). مجموعة أمن الاتصالات والإلكترونيات. مؤرشف (ملف PDF) من الأصل بتاريخ 23 مارس 2017. تم الاطلاع عليه بتاريخ 22 مارس 2017 .
- ويليامسون، مالكولم ج. (10 أغسطس 1976). أفكار حول التشفير غير السري الأرخص (ملف PDF) (تقرير فني). مجموعة أمن الاتصالات والإلكترونيات. مؤرشف (ملف PDF) من الأصل بتاريخ 19 يوليو 2004. تم الاطلاع عليه بتاريخ 25 أغسطس 2015 .
- تاريخ التشفير غير السري، جيه إتش إليس، 1987 (ملف PDF بحجم 28 كيلوبايت) ( نسخة HTML )
- السنوات العشر الأولى من التشفير بالمفتاح العام، ويتفيلد ديفي، وقائع معهد مهندسي الكهرباء والإلكترونيات، المجلد 76، العدد 5، مايو 1988، الصفحات: 560-577 (ملف PDF بحجم 1.9 ميجابايت)
- مينيز، ألفريد ؛ فان أورشوت، بول ؛ فانستون، سكوت (1997). دليل التشفير التطبيقي. بوكا راتون، فلوريدا: مطبعة سي آر سي. رقم ISBN 0-8493-8523-7( متوفر عبر الإنترنت )
- سينغ، سيمون (1999) كتاب الشفرات: تطور السرية من ماري ملكة اسكتلندا إلى التشفير الكمي، نيويورك: دابلداي، رقم ISBN 0-385-49531-5
- نظرة عامة على التشفير بالمفتاح العام، مارتن إي. هيلمان، مجلة IEEE للاتصالات، مايو 2002، الصفحات 42-49. (ملف PDF بحجم 123 كيلوبايت)
روابط خارجية
- مقابلة تاريخية شفهية مع مارتن هيلمان ، معهد تشارلز باباج ، جامعة مينيسوتا. يناقش مارتن هيلمان، الباحث البارز في علم التشفير، الظروف والرؤى الأساسية لاختراعه لتشفير المفتاح العام مع المتعاونين ويتفيلد ديفي ورالف ميركل في جامعة ستانفورد في منتصف سبعينيات القرن الماضي.
- RFC 2631 – طريقة اتفاقية مفاتيح ديفي-هيلمان . إي. ريسكورلا. يونيو 1999.
- RFC 3526 – مجموعات ديفي-هيلمان الأسية المعيارية الأكثر (MODP) لتبادل مفاتيح الإنترنت (IKE) . تي. كيفينين، إم. كوجو، أمن اتصالات SSH. مايو 2003.
- بروتوكولات اتفاقية المفاتيح
- التشفير بالمفتاح العام
