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

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

يؤسس تبادل المفاتيح Diffie–Hellman سرًا مشتركًا بين طرفين يمكن استخدامه للاتصال السري لتبادل البيانات عبر شبكة عامة. يوضح القياس مفهوم تبادل المفاتيح العامة باستخدام الألوان بدلاً من الأرقام الكبيرة جدًا:
تبدأ العملية بجعل الطرفين، أليس وبوب ، يتفقان علنًا على لون بداية عشوائي لا يلزم إبقاؤه سرًا. في هذا المثال، اللون هو الأصفر. يختار كل شخص أيضًا لونًا سريًا يحتفظ به لنفسه - في هذه الحالة، الأحمر والسماوي. الجزء الحاسم من العملية هو أن أليس وبوب يمزجان كل منهما لونه السري مع اللون المشترك بينهما، مما ينتج عنه مزيج برتقالي-بني وأزرق فاتح على التوالي، ثم يتبادلان اللونين المختلطين علنًا. أخيرًا، يخلط كل منهما اللون الذي تلقاه من الشريك بلونه الخاص. والنتيجة هي مزيج لوني نهائي (أصفر-بني في هذه الحالة) مطابق لمزيج اللون النهائي لشريكهما.
إذا استمع طرف ثالث إلى التبادل، فلن يعرف سوى اللون المشترك (الأصفر) والألوان المختلطة الأولى (البرتقالي-البني والأزرق الفاتح)، ولكن سيكون من الصعب جدًا عليه معرفة اللون السري النهائي (الأصفر-البني). وبإعادة القياس إلى تبادل حقيقي باستخدام أرقام كبيرة بدلاً من الألوان، فإن هذا التحديد مكلف حسابيًا. ومن المستحيل إجراء عملية حسابية في فترة زمنية عملية حتى بالنسبة لأجهزة الكمبيوتر العملاقة الحديثة .
شرح تشفيري
إن أبسط وأصيل تنفيذ، [2] تم صياغته رسميًا لاحقًا باسم Finite Field Diffie–Hellman في RFC 7919 ، [9] للبروتوكول يستخدم المجموعة المضاعفة للأعداد الصحيحة modulo p ، حيث p هو عدد أولي ، و g هو جذر بدائي modulo p . يتم اختيار هاتين القيمتين بهذه الطريقة لضمان أن السر المشترك الناتج يمكن أن يأخذ أي قيمة من 1 إلى p -1. فيما يلي مثال للبروتوكول، مع القيم غير السرية باللون الأزرق ، والقيم السرية باللون الأحمر .
- اتفقت أليس وبوب علنًا على استخدام معامل p = 23 والقاعدة g = 5 (وهو جذر بدائي معامل 23).
- تختار أليس عددًا صحيحًا سريًا a = 4، ثم ترسل إلى بوب A = g a mod p
- أ = 5 4 mod 23 = 4 (في هذا المثال، كل من أ و أ لهما نفس القيمة 4، ولكن هذا ليس هو الحال عادةً)
- يختار بوب عددًا صحيحًا سريًا b = 3، ثم يرسل إلى أليس B = g b mod p
- ب = 5 3 تعديل 23 = 10
- تحسب أليس s = B a mod p
- س =10 4 تعديل23=18
- يحسب بوب s = A b mod p
- س =4 3 تعديل23=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 رقم على الأقل، فلن تتمكن حتى أسرع أجهزة الكمبيوتر الحديثة التي تستخدم أسرع خوارزمية معروفة من العثور على g و p و g a mod p فقط . تسمى هذه المشكلة مشكلة اللوغاريتم المنفصل . [3] يُعرف حساب g a mod p باسم الأس المعياري ويمكن إجراؤه بكفاءة حتى للأعداد الكبيرة. لاحظ أن g لا يلزم أن يكون كبيرًا على الإطلاق، وفي الممارسة العملية يكون عادةً عددًا صحيحًا صغيرًا (مثل 2، 3، ...).
مخطط السرية
يوضح الرسم البياني أدناه ما لا يعرفه أحد، مرة أخرى مع القيم غير السرية باللون الأزرق ، والقيم السرية باللون الأحمر . هنا، إيف هي متنصتة - فهي تراقب ما يتم إرساله بين أليس وبوب، لكنها لا تغير محتويات اتصالاتهما.
- g ، قاعدة عامة (جذر بدائي)، معروفة لدى أليس وبوب وإيف. g = 5
- ص ، معامل عام (أولي)، معروف لدى أليس وبوب وإيف. ص = 23
- أ ، مفتاح خاص لأليس، معروف فقط لأليس. أ = 6
- ب ، مفتاح بوب الخاص معروف لبوب فقط. ب = 15
- أ ، مفتاح أليس العام، المعروف لدى أليس وبوب وإيف. أ = g a mod p = 8
- ب ، المفتاح العام لبوب، والمعروف لدى أليس وبوب وإيف. ب = 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 ab = g ba ، والذي يمكن أن يعمل كمفتاح سري مشترك. تلبي المجموعة G الشرط المطلوب للاتصال الآمن طالما لا توجد خوارزمية فعالة لتحديد g ab مع العلم أن g a و g b .
على سبيل المثال، يعد بروتوكول Diffie–Hellman للمنحنى الإهليلجي أحد المتغيرات التي تمثل عنصرًا من G كنقطة على منحنى إهليلجي بدلاً من كونه عددًا صحيحًا modulo n. كما تم اقتراح متغيرات تستخدم منحنيات إهليلجية مفرطة . يعد تبادل المفاتيح المتماثل الفائق أحد متغيرات Diffie–Hellman التي تم تصميمها لتكون آمنة ضد أجهزة الكمبيوتر الكمومية ، ولكن تم كسرها في يوليو 2022. [11]
مفاتيح مؤقتة و/أو ثابتة
يمكن أن تكون المفاتيح المستخدمة إما مفاتيح مؤقتة أو ثابتة (طويلة الأمد)، ولكن يمكن أن تكون مختلطة، وهو ما يسمى بـ DH شبه الثابتة. تتمتع هذه المتغيرات بخصائص مختلفة وبالتالي حالات استخدام مختلفة. يمكن العثور على نظرة عامة على العديد من المتغيرات وبعض المناقشات أيضًا في NIST SP 800-56A على سبيل المثال. [12] قائمة أساسية:
- مؤقت، مؤقت: يستخدم عادة للاتفاق على المفتاح. يوفر سرية متقدمة ، ولكن بدون مصداقية .
- ثابت، ثابت: من شأنه أن يولد سرًا مشتركًا طويل الأمد. لا يوفر سرية أمامية، بل أصالة ضمنية. نظرًا لأن المفاتيح ثابتة، فلن توفر الحماية ضد هجمات الإعادة على سبيل المثال .
- مؤقت، ثابت: على سبيل المثال، يستخدم في تشفير ElGamal أو مخطط التشفير المتكامل (IES) . إذا تم استخدامه في اتفاق المفتاح، فيمكنه توفير أصالة ضمنية من جانب واحد (يمكن للجانب المؤقت التحقق من أصالة الجانب الثابت). لا يتم توفير سرية أمامية.
من الممكن استخدام مفاتيح مؤقتة وثابتة في اتفاقية مفتاح واحدة لتوفير المزيد من الأمان كما هو موضح على سبيل المثال في NIST SP 800-56A، ولكن من الممكن أيضًا دمجها في تبادل مفتاح DH واحد، والذي يُطلق عليه بعد ذلك DH الثلاثي (3-DH).
تريبل ديفي-هيلمان (3-DH)
في عام 1997، تم اقتراح نوع من DH الثلاثي من قبل سيمون بليك ويلسون، دون جونسون، وألفريد مينيزيس في عام 1997، [13] والذي تم تحسينه من قبل سي كودلا وكيه جي باترسون في عام 2005 [14] وأثبت أنه آمن.
يتم الإشارة إلى المفاتيح السرية طويلة المدى لـ Alice وBob بالرمزين a و b على التوالي، مع المفاتيح العامة A و B ، بالإضافة إلى أزواج المفاتيح المؤقتة x وX و y وY. إذن البروتوكول هو:
| أليس ( ) | بوب ( ) | |
|---|---|---|
يجب نقل المفاتيح العامة طويلة الأجل بطريقة ما. يمكن القيام بذلك مسبقًا في قناة منفصلة موثوقة، أو يمكن تشفير المفاتيح العامة باستخدام بعض اتفاقيات المفاتيح الجزئية للحفاظ على عدم الكشف عن الهوية. لمزيد من هذه التفاصيل بالإضافة إلى التحسينات الأخرى مثل حماية القناة الجانبية أو تأكيد المفتاح الصريح ، بالإضافة إلى الرسائل المبكرة ومصادقة كلمة المرور الإضافية، راجع على سبيل المثال براءة اختراع الولايات المتحدة "المصافحة المعيارية المتقدمة لاتفاقية المفاتيح والمصادقة الاختيارية". [15]
نسخة موسعة من Triple Diffie–Hellman (X3DH)
تم اقتراح X3DH في البداية كجزء من خوارزمية Double Ratchet المستخدمة في بروتوكول الإشارة . يوفر البروتوكول سرية متقدمة وإمكانية إنكار التشفير. يعمل على منحنى إهليلجي. [16]
يستخدم البروتوكول خمسة مفاتيح عامة. لدى أليس مفتاح هوية IK A ومفتاح مؤقت EK A. لدى بوب مفتاح هوية IK B ومفتاح مسبق موقّع SPK B ومفتاح مسبق لمرة واحدة OPK B. [16] ينشر بوب أولاً مفاتيحه الثلاثة على خادم، والذي تقوم أليس بتنزيله والتحقق من التوقيع عليه. ثم تبدأ أليس التبادل مع بوب. [16] مفتاح OPK اختياري. [ 16]
عملية مع أكثر من طرفين
لا تقتصر اتفاقية مفتاح ديفي-هيلمان على التفاوض على مفتاح مشترك بين مشاركين اثنين فقط. يمكن لأي عدد من المستخدمين المشاركة في اتفاقية من خلال تنفيذ تكرارات لبروتوكول الاتفاقية وتبادل البيانات الوسيطة (والتي لا يلزم في حد ذاتها أن تبقى سرية). على سبيل المثال، يمكن لأليس وبوب وكارول المشاركة في اتفاقية ديفي-هيلمان على النحو التالي، مع اعتبار جميع العمليات modulo 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 b c mod p وترسلها إلى أليس.
- تحسب أليس ( g bc ) mod p = g bca mod p = g abc mod p وتستخدمه كسر لها.
- تحسب كارول g c mod p وترسلها إلى أليس.
- تحسب أليس ( g c ) 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 باستخدام أسلوب تقسيم وغزو ، الموضح هنا لثمانية مشاركين:
- يقوم كل من المشاركين A وB وC وD بإجراء عملية أس واحدة، مما ينتج عنه g abcd ؛ يتم إرسال هذه القيمة إلى E وF وG وH. وفي المقابل، يتلقى المشاركون A وB وC وD g efgh .
- يقوم كل من المشاركين A وB بإجراء عملية أس واحدة، مما ينتج عنه g efghab ، والذي يرسلانه إلى C وD، بينما يقوم C وD بنفس الشيء، مما ينتج عنه g efghcd ، والذي يرسلانه إلى A وB.
- يقوم المشارك A بإجراء عملية الأسس، مما يؤدي إلى ظهور g efghcda ، والذي يرسله إلى B؛ وعلى نحو مماثل، يرسل B g efghcdb إلى A. ويقوم C وD بنفس الشيء.
- يقوم المشارك أ بإجراء عملية الرفع الأسي النهائية، مما يؤدي إلى الحصول على السر g efghcdba = g abcdefgh ، بينما يقوم المشارك ب بنفس الشيء للحصول على g efghcdab = g abcdefgh ؛ مرة أخرى، يقوم المشاركان ج و د بنفس الشيء.
- يقوم المشاركون من E إلى H بأداء نفس العمليات في وقت واحد باستخدام g abcd كنقطة بداية.
بمجرد اكتمال هذه العملية، سيحصل جميع المشاركين على السر g abcdefgh ، ولكن كل مشارك سيكون قد أجرى أربعة أسيات معيارية فقط، بدلاً من الثمانية التي يتضمنها الترتيب الدائري البسيط.
الاعتبارات الأمنية والعملية
يعتبر البروتوكول آمنًا ضد المتنصتين إذا تم اختيار G و g بشكل صحيح. على وجه الخصوص، يجب أن يكون ترتيب المجموعة G كبيرًا، وخاصةً إذا تم استخدام نفس المجموعة لكميات كبيرة من حركة المرور. يجب على المتنصت حل مشكلة ديفي-هيلمان للحصول على g ab . يُعتبر هذا صعبًا حاليًا للمجموعات التي يكون ترتيبها كبيرًا بما يكفي. ستجعل الخوارزمية الفعّالة لحل مشكلة اللوغاريتم المنفصل من السهل حساب a أو b وحل مشكلة ديفي-هيلمان، مما يجعل هذا والعديد من أنظمة التشفير بالمفتاح العام الأخرى غير آمنة. قد تكون الحقول ذات الخصائص الصغيرة أقل أمانًا. [17]
يجب أن يكون لترتيب G عامل أولي كبير لمنع استخدام خوارزمية Pohlig–Hellman للحصول على a أو b . لهذا السبب، يتم استخدام عدد أولي Sophie Germain q أحيانًا لحساب p = 2 q + 1 ، والذي يسمى عددًا أوليًا آمنًا ، لأن ترتيب G لا يقبل القسمة إلا على 2 و q . في بعض الأحيان يتم اختيار g لتوليد المجموعة الفرعية من الترتيب q لـ G ، بدلاً من G ، بحيث لا يكشف رمز Legendre لـ g a أبدًا عن البت ذي الترتيب المنخفض لـ a . على سبيل المثال، البروتوكول الذي يستخدم مثل هذا الاختيار هو IKEv2 . [18]
غالبًا ما يكون المولد g عددًا صحيحًا صغيرًا مثل 2. ونظرًا للقابلية للاختزال الذاتي العشوائي لمشكلة اللوغاريتم المنفصل، فإن g الصغير يكون آمنًا بنفس القدر مثل أي مولد آخر لنفس المجموعة.
إذا استخدم أليس وبوب مولدات أرقام عشوائية لا تكون مخرجاتها عشوائية تمامًا ويمكن التنبؤ بها إلى حد ما، فسيكون التنصت أسهل كثيرًا.
في الوصف الأصلي، لا يوفر تبادل ديفي-هيلمان في حد ذاته مصادقة للأطراف المتواصلة ويمكن أن يكون عرضة لهجوم الرجل في المنتصف . قد تنشئ مالوري (المهاجم النشط الذي ينفذ هجوم الرجل في المنتصف) تبادلين رئيسيين متميزين، أحدهما مع أليس والآخر مع بوب، متنكرة فعليًا في هيئة أليس لبوب، والعكس صحيح، مما يسمح لها بفك تشفير الرسائل المتبادلة بينهما، ثم إعادة تشفيرها. لاحظ أن مالوري يجب أن تكون في المنتصف منذ البداية وتستمر في ذلك، وتقوم بفك تشفير الرسائل وإعادة تشفيرها بنشاط في كل مرة تتواصل فيها أليس وبوب. إذا وصلت بعد إنشاء المفاتيح وبدء المحادثة المشفرة بين أليس وبوب بالفعل، فلن ينجح الهجوم. إذا غابت في أي وقت، فسيتم الكشف عن وجودها السابق لأليس وبوب. سيعرفان أن جميع محادثاتهما الخاصة قد تم اعتراضها وفك تشفيرها بواسطة شخص ما في القناة. في معظم الحالات لن يساعدهم ذلك في الحصول على المفتاح الخاص لمالوري، حتى لو استخدمت نفس المفتاح لكلا التبادلين.
عادةً ما تكون هناك حاجة إلى طريقة للتحقق من هوية الأطراف المتواصلة فيما بينها لمنع هذا النوع من الهجمات. يمكن استخدام متغيرات Diffie–Hellman، مثل بروتوكول STS ، بدلاً من ذلك لتجنب هذه الأنواع من الهجمات.
هجوم رفض الخدمة
كشف ثغرة أمنية مشتركة تم إصدارها في عام 2021 ( CVE-2002-20001 ) عن هجوم رفض الخدمة (DoS) ضد متغيرات البروتوكول التي تستخدم مفاتيح مؤقتة، تسمى هجوم D(HE)at. [19] يستغل الهجوم أن تبادل مفاتيح Diffie-Hellman يسمح للمهاجمين بإرسال أرقام عشوائية ليست في الواقع مفاتيح عامة، مما يؤدي إلى إجراء حسابات أسي معيارية باهظة الثمن من جانب الضحية. كشف ثغرة أمنية مشتركة أخرى تم إصدارها في عام 2022 ( CVE-2022-40735 ) أن تنفيذات تبادل مفاتيح Diffie-Hellman قد تستخدم أُسًا خاصة طويلة يمكن القول إنها تجعل حسابات الأسي المعيارية باهظة الثمن بشكل غير ضروري. [20] يمكن للمهاجم استغلال كلتا الثغرتين معًا.
هجمات عملية على حركة المرور على الإنترنت
تتكون خوارزمية غربال حقل الأعداد ، والتي تعد الأكثر فعالية بشكل عام في حل مشكلة اللوغاريتم المنفصل ، من أربع خطوات حسابية. تعتمد الخطوات الثلاث الأولى فقط على ترتيب المجموعة G، وليس على الرقم المحدد الذي يُطلب لوغاريتمه المحدود. [21] اتضح أن الكثير من حركة الإنترنت تستخدم مجموعة من المجموعات القليلة التي تبلغ رتبتها 1024 بت أو أقل. [3] من خلال الحساب المسبق للخطوات الثلاث الأولى من غربال حقل الأعداد للمجموعات الأكثر شيوعًا، يحتاج المهاجم فقط إلى تنفيذ الخطوة الأخيرة، والتي تكون أقل تكلفة حسابيًا بكثير من الخطوات الثلاث الأولى، للحصول على لوغاريتم محدد. استخدم هجوم Logjam هذه الثغرة الأمنية لاختراق مجموعة متنوعة من خدمات الإنترنت التي سمحت باستخدام مجموعات كان ترتيبها عددًا أوليًا مكونًا من 512 بت، وهو ما يسمى بدرجة التصدير . احتاج المؤلفون إلى عدة آلاف من نوى وحدة المعالجة المركزية لمدة أسبوع للحساب المسبق للبيانات لعدد أولي واحد مكون من 512 بت. بمجرد القيام بذلك، يمكن حل اللوغاريتمات الفردية في حوالي دقيقة واحدة باستخدام معالجين مركزيين من نوع Intel Xeon يحتويان على 18 نواة. [3]
وفقًا لتقديرات المؤلفين الذين يقفون وراء هجوم Logjam، فإن الحساب المسبق الأكثر صعوبة المطلوب لحل مشكلة السجل المنفصل لأعداد أولية بطول 1024 بت سيكلف حوالي 100 مليون دولار، وهو ما يقع ضمن ميزانية وكالة استخبارات وطنية كبيرة مثل وكالة الأمن القومي الأمريكية (NSA). يتكهن مؤلفو Logjam بأن الحساب المسبق للأعداد الأولية DH بطول 1024 بت المعاد استخدامها على نطاق واسع هو السبب وراء الادعاءات في وثائق NSA المسربة بأن NSA قادرة على كسر الكثير من التشفير الحالي. [3]
لتجنب هذه الثغرات الأمنية، أوصى مؤلفو Logjam باستخدام تشفير المنحنى الإهليلجي ، والذي لا يُعرف عنه أي هجوم مماثل. وفي حالة الفشل في ذلك، أوصوا بأن يكون ترتيب مجموعة Diffie-Hellman، p ، 2048 بت على الأقل. ويقدرون أن الحساب المسبق المطلوب لعدد أولي بطول 2048 بت أصعب بنحو 10 9 مرات من حساب عدد أولي بطول 1024 بت. [3]
استخدامات أخرى
التشفير
تم اقتراح مخططات تشفير المفتاح العام القائمة على تبادل مفتاح ديفي-هيلمان. أول مخطط من هذا القبيل هو تشفير ElGamal . وهناك متغير أكثر حداثة وهو مخطط التشفير المتكامل .
السرية المسبقة
إن البروتوكولات التي تحقق السرية الأمامية تولد أزواج مفاتيح جديدة لكل جلسة وتتخلص منها في نهاية الجلسة. إن تبادل المفاتيح Diffie–Hellman هو خيار شائع لمثل هذه البروتوكولات، وذلك بسبب توليده السريع للمفاتيح.
اتفاقية مفتاح المصادقة بكلمة مرور
عندما يتشارك أليس وبوب كلمة مرور، فقد يستخدمان نموذج اتفاقية المفتاح المعتمد على كلمة المرور (PK) من Diffie–Hellman لمنع هجمات الرجل في المنتصف. أحد المخططات البسيطة هو مقارنة تجزئة s المتسلسلة بكلمة المرور المحسوبة بشكل مستقل على كلا طرفي القناة. إحدى ميزات هذه المخططات هي أنه لا يمكن للمهاجم اختبار كلمة مرور واحدة محددة فقط في كل تكرار مع الطرف الآخر، وبالتالي يوفر النظام أمانًا جيدًا بكلمات مرور ضعيفة نسبيًا. تم وصف هذا النهج في توصية ITU-T X.1035 ، والتي يستخدمها معيار الشبكات المنزلية G.hn.
ومن الأمثلة على هذا البروتوكول بروتوكول كلمة المرور البعيدة الآمنة .
المفتاح العام
من الممكن أيضًا استخدام Diffie–Hellman كجزء من البنية التحتية للمفتاح العام ، مما يسمح لبوب بتشفير رسالة بحيث تتمكن أليس فقط من فك تشفيرها، دون أي اتصال مسبق بينهما بخلاف معرفة بوب الموثوقة بالمفتاح العام لأليس. المفتاح العام لأليس هو . لإرسال رسالة لها، يختار بوب مفتاحًا عشوائيًا b ثم يرسل إلى أليس (غير مشفرة) مع الرسالة المشفرة بالمفتاح المتماثل . يمكن فقط لأليس تحديد المفتاح المتماثل وبالتالي فك تشفير الرسالة لأنها وحدها التي تمتلك ( المفتاح الخاص). يمنع المفتاح العام المشترك مسبقًا أيضًا هجمات الرجل في المنتصف.
في الممارسة العملية، لا يتم استخدام Diffie–Hellman بهذه الطريقة، حيث تكون RSA هي خوارزمية المفتاح العام السائدة. ويرجع هذا إلى حد كبير إلى أسباب تاريخية وتجارية، [ بحاجة لمصدر ] وهي أن RSA Security أنشأت هيئة إصدار شهادات لتوقيع المفاتيح والتي أصبحت Verisign . لا يمكن استخدام Diffie–Hellman، كما هو موضح أعلاه، بشكل مباشر لتوقيع الشهادات. ومع ذلك، ترتبط خوارزميات التوقيع ElGamal و DSA بها رياضيًا، بالإضافة إلى MQV و STS ومكون IKE من مجموعة بروتوكولات IPsec لتأمين اتصالات بروتوكول الإنترنت .
انظر أيضا
- تبادل المفاتيح ديفي-هيلمان على شكل منحنى إهليلجي
- تبادل مفتاح التماثل المتماثل الفائق
- السرية المسبقة
- مشكلة ديفي-هيلمان
- الأس المعياري
- هجوم رفض الخدمة
- ديفي-هيلمان الممتدة بعد الكم
ملحوظات
- ^ تتضمن مرادفات تبادل المفاتيح ديفي-هيلمان ما يلي:
- تبادل المفاتيح ديفي-هيلمان-ميركل
- اتفاقية ديفي-هيلمان الرئيسية
- تأسيس مفتاح ديفي-هيلمان
- مفاوضات مفتاح ديفي-هيلمان
- تبادل المفتاح الأسّي
- بروتوكول ديفي-هيلمان
- مصافحة ديفي-هيلمان
مراجع
- ^ Merkle, Ralph C. (أبريل 1978). "الاتصالات الآمنة عبر القنوات غير الآمنة". اتصالات ACM . 21 (4): 294–299. CiteSeerX 10.1.1.364.5157 . doi :10.1145/359460.359473. S2CID 6967714.
تم الاستلام في أغسطس 1975؛ تمت المراجعة في سبتمبر 1977
- ^ abc Diffie, Whitfield ; Hellman, Martin E. (November 1976). "New Directions in Cryptography" (PDF) . IEEE Transactions on Information Theory . 22 (6): 644–654. CiteSeerX 10.1.1.37.9720 . doi :10.1109/TIT.1976.1055638. مؤرشف من الأصل (PDF) في 2014-11-29.
- ^ abcdef Adrian, David; et al. (October 2015). "Imperfect Forward Secrecy: How Diffie–Hellman Fails in Practice" (PDF) . مؤرشف من الأصل (PDF) في 2015-09-06.
- ^ Ellis, JH (January 1970). "The probability of Non-Secret digitalcoding" (PDF) . تقرير بحثي صادر عن CESG . مؤرشف من الأصل (PDF) في 2014-10-30 . تم استرجاعه في 2015-08-28 .
- ^ "احتمال التشفير الرقمي السري الآمن" (PDF) . مؤرشف من الأصل (PDF) في 2017-02-16 . تم استرجاعه في 2017-07-08 .
- ^ "ثلاثي GCHQ معروف بمفتاحه لتأمين التسوق عبر الإنترنت". BBC News . 5 أكتوبر 2010. مؤرشف من الأصل في 10 أغسطس 2014. تم الاسترجاع في 5 أغسطس 2014 .
- ^ براءة اختراع أمريكية رقم 4200770
- ^ Hellman, Martin E. (May 2002), "An Overview of public key cryptography" (PDF) , IEEE Communications Magazine , 40 (5): 42–49, CiteSeerX 10.1.1.127.2652 , doi :10.1109/MCOM.2002.1006971, S2CID 9504647, تم أرشفة النسخة الأصلية (PDF) في 2016-04-02
- ^ وونغ، ديفيد (2021). "معايير تبادل المفاتيح". التشفير في العالم الحقيقي. مانينغ. رقم ISBN 9781617296710- عبر كتب Google.
- ^ Buchmann, Johannes A. (2013). Introduction to Cryptography (Second ed.). Springer Science+Business Media. ص 190-191. ISBN 978-1-4419-9003-7.
- ^ كاستريك، ووتر؛ ديكرو، توماس (أبريل 2023). "هجوم فعال لاستعادة المفتاح على SIDH" (PDF) . المؤتمر الدولي السنوي حول نظرية وتطبيقات تقنيات التشفير : 423-447. مؤرشف من الأصل (PDF) في 2024-09-26.
- ^ باركر، إلين؛ تشين، ليلي؛ روجينسكي، ألين؛ فاسيليف، أبوستول؛ ديفيس، ريتشارد (2018-04-16). توصية بشأن مخططات إنشاء المفتاح الثنائي باستخدام التشفير اللوغاريتمي المنفصل (تقرير). المعهد الوطني للمعايير والتكنولوجيا.
- ^ بليك ويلسون، سيمون؛ جونسون، دون؛ مينيزيس، ألفريد (1997)، بروتوكولات الاتفاق الرئيسية وتحليل أمنها ، CiteSeerX 10.1.1.25.387 ، doi :10.1007/BFb0024447
- ^ كودلا، كارولين؛ باترسون، كينيث ج. (2005). "إثباتات الأمان المعيارية لبروتوكولات اتفاق المفاتيح". في روي، بيمال (المحرر). التقدم في علم التشفير - ASIACRYPT 2005 (PDF) . مذكرات محاضرات في علوم الكمبيوتر. المجلد 3788. برلين، هايدلبرغ: سبرينغر. ص 549-565. doi : 10.1007/11593447_30 . ISBN 978-3-540-32267-2.
- ^ US11025421B2، Fay، Bjorn، "مصافحة معيارية متقدمة لاتفاقية المفتاح والمصادقة الاختيارية"، صدر في 2021-06-01
- ^ abcd "المواصفات >> بروتوكول اتفاقية مفتاح X3DH". Signal Messenger .
- ^ Barbulescu, Razvan; Gaudry, Pierrick; Joux, Antoine; Thomé, Emmanuel (2014). "A Heuristic Quasi-Polynomial Algorithm for Discrete Logarithm in Finite Fields of Small Characteristic" (PDF) . التقدم في علم التشفير – EUROCRYPT 2014. وقائع المؤتمر الدولي السنوي الثالث والثلاثين حول نظرية وتطبيقات تقنيات التشفير. محاضرات في علوم الكمبيوتر. المجلد 8441. كوبنهاجن، الدنمارك. ص. 1-16. doi :10.1007/978-3-642-55220-5_1. ISBN 978-3-642-55220-5. مؤرشف من الأصل (PDF) في 2020-03-22.
- ^ "بروتوكول تبادل المفاتيح عبر الإنترنت (IKEv2) RFC 4306". Internet Engineeringrg/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 . مؤرشف من الأصل في 2024-04-22.
- ^ van Oorschot, PC; Wiener, MJ (1996). "On Diffie-Hellman Key Convention with Short Exponents". Advances in Cryptology — EUROCRYPT '96 . Springer, Berlin, Heidelberg (published 2001). pp. 332–343. doi :10.1007/3-540-68339-9_29. مؤرشف من الأصل في 2023-02-19.
- ^ ويتفيلد ديفي، وبول سي فان أورشوت، ومايكل جيه وينر "المصادقة وتبادل المفاتيح المعتمدة"، في التصميمات والرموز والتشفير، 2، 107-125 (1992)، القسم 5.2، متاح كملحق ب لبراءة الاختراع الأمريكية 5,724,425
المراجع العامة
- جولمان، ديتر (2011). أمن الكمبيوتر (الطبعة الثانية). غرب ساسكس، إنجلترا: جون وايلي وأولاده، المحدودة. رقم ISBN 978-0470741153.
- ويليامسون، مالكولم ج. (21 يناير 1974). التشفير غير السري باستخدام حقل محدود (PDF) (تقرير فني). مجموعة أمن إلكترونيات الاتصالات. مؤرشف (PDF) من الأصل في 2017-03-23 . تم الاسترجاع في 2017-03-22 .
- ويليامسون، مالكولم ج. (10 أغسطس 1976). أفكار حول التشفير غير السري الأرخص (PDF) (تقرير فني). مجموعة أمن إلكترونيات الاتصالات. مؤرشف (PDF) من الأصل في 2004-07-19 . تم الاسترجاع في 2015-08-25 .
- تاريخ التشفير غير السري JH Ellis 1987 (ملف PDF بحجم 28 كيلو بايت) (نسخة HTML)
- السنوات العشر الأولى من التشفير بالمفتاح العام ويتفيلد ديفي، وقائع معهد مهندسي الكهرباء والإلكترونيات، المجلد 76، العدد 5، مايو 1988، ص: 560-577 (ملف PDF بحجم 1.9 ميجا بايت)
- Menezes, Alfred ; van Oorschot, Paul ; Vanstone, Scott (1997). Handbook of Applied Cryptography Boca Raton, Florida: CRC Press. ISBN 0-8493-8523-7 . (متاح على الإنترنت)
- سينغ، سيمون (1999) كتاب الشفرات: تطور السرية من ماري ملكة اسكتلندا إلى التشفير الكمي نيويورك: دوبلداي ISBN 0-385-49531-5
- نظرة عامة على التشفير بالمفتاح العام مارتن إي. هيلمان، مجلة IEEE Communications، مايو 2002، ص 42-49. (ملف PDF بحجم 123 كيلو بايت)
روابط خارجية
قد لا يتوافق استخدام هذه المقالة للروابط الخارجية مع سياسات ويكيبيديا أو إرشاداتها . ( مارس 2016 ) |
- مقابلة تاريخية شفوية مع مارتن هيلمان، معهد تشارلز باباج ، جامعة مينيسوتا. يناقش الباحث الرائد في مجال التشفير مارتن هيلمان الظروف والرؤى الأساسية لاختراعه التشفير بالمفتاح العام مع زملائه ويتفيلد ديفي ورالف ميركل في جامعة ستانفورد في منتصف سبعينيات القرن العشرين.
- RFC 2631 – طريقة اتفاقية مفتاح ديفي-هيلمان . إي. ريسكورلا. يونيو 1999.
- RFC 3526 – مجموعات Diffie–Hellman ذات النسق الأسي الأكثر وحدانية (MODP) لتبادل المفاتيح عبر الإنترنت (IKE) . T. Kivinen, M. Kojo, SSH Communications Security. May 2003.
- ملخص ANSI X9.42: اتفاق المفاتيح المتماثلة باستخدام التشفير اللوغاريتمي المنفصل (ملف PDF بحجم 64 كيلو بايت) (وصف معايير ANSI 9)
- محاضرة ألقاها مارتن هيلمان في عام 2007، مقطع فيديو على اليوتيوب
- فريق الأحلام في مجال التشفير Diffie & Hellman يفوز بجائزة Turing لعام 2015 (المعروفة أيضًا باسم "جائزة نوبل في الحوسبة") بقيمة مليون دولار
- عرض توضيحي لـ Diffie–Hellman مكتوب بلغة Python3 – يدعم هذا العرض التوضيحي بشكل صحيح البيانات الرئيسية الكبيرة جدًا ويفرض استخدام الأعداد الأولية عند الحاجة.
