"بروتوكولات التشفير": Diffie - Hellman، El-Gamal، MTI / A (0)، STS

مقدمة
سيكون هذا النص أحد الفصول المعاد كتابتها عن دليل حماية المعلومات في قسم هندسة الراديو وأنظمة التحكم ، وكذلك من قانون التدريب هذا ، قسم حماية المعلومات في MIPT (GU). البرنامج التعليمي الكامل متاح على جيثب (انظر أيضًا مسودات الإصدارات ). في قضية Habrir ، أخطط لوضع مقالات "كبيرة" جديدة ، أولاً ، لجمع التعليقات والملاحظات المفيدة ، وثانياً ، لإعطاء المجتمع المزيد من المواد النظرية العامة حول مواضيع مفيدة ومثيرة للاهتمام. الأقسام السابقة من فصل بروتوكولات التشفير: 1 ، 2 ، 3

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

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

ديفي - هيلمان البروتوكول


اقترح ديفي وهيلمان أول خوارزمية المفتاح العام في عام 1976 ، "الاتجاهات الجديدة في التشفير" ( بيلي ويتفيلد ديفي ، مارتن إدوارد هيلمان ، "اتجاهات جديدة في التشفير" ، [ديفي ، هيلمان 1976] ). كان هذا البروتوكول ، والذي يمكن تسميته أيضًا مخطط Diffie-Hellman ، أول من قام بتقليل متطلبات قناة الاتصال لإنشاء اتصال آمن دون تبادل المفاتيح أولاً.

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

سمح عع - عدد أولي كبير g - عنصر بدائي للمجموعة  mathbbZp . y=gx bmodp و عع . ذذ و g معروف مقدما. وظيفة y=gx bmodp نحن نعتبر أحادي الاتجاه ، أي أن حساب دالة ذات قيمة معروفة للوسيطة مهمة سهلة ، وانعكاسها (العثور على وسيطة) بقيمة معروفة للدالة أمر صعب. (عكس وظيفة x= loggy bmodp تسمى وظيفة لوغاريتم منفصلة. لا توجد حاليًا طرق سريعة لحساب مثل هذه الوظيفة البسيطة الكبيرة عع ).

يتكون بروتوكول التبادل من الإجراءات التالية.

تفاعل المشاركين في بروتوكول ديفي هيلمان


  1. أليس يختار عشوائي 2 leqa leqp1
    Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to BobAlice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to Bob
  2. بوب يختار عشوائي 2 leqb leqp1
    بوب يحسب مفتاح الجلسة K=Ab bmodp
    Bob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى AliceBob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى Alice
  3. أليس تحسب K=Ba bmodp

بهذه الطريقة ، يتم إنشاء مفتاح جلسة سرية مشتركة K . بسبب اختيار عشوائي للقيم دولادولا و بب في جلسة جديدة ، سيتم استلام مفتاح جلسة جديد.

يوفر البروتوكول فقط إنشاء مفاتيح جلسة جديدة (الهدف G10). في حالة عدم وجود جهة خارجية موثوق بها ، لا توفر مصادقة الأطراف (الهدف G1) ، نظرًا لعدم وجود ممرات مع تأكيد ملكية المفتاح ، لا يوجد مصادقة رئيسية (الهدف G8). ولكن نظرًا لأن البروتوكول لا يستخدم مفاتيح "رئيسية" طويلة الأمد ، فيمكننا القول إنه يمتلك خاصية السرية المباشرة الكاملة (الهدف G9).

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

تفاعل المشاركين في بروتوكول Diffie-Hellman في نموذج باستخدام أداة تشفير تشفير نشطة


  1. أليس يختار عشوائي 2 leqa leqp1
    Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ إلى Mellory ~ (Bob)Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ إلى Mellory ~ (Bob)
  2. مالوري يختار عشوائي 2 leqm leqp1
    يحسب مالوري مفتاح جلسة لقناة مع أليس

    KAM=Am bmodp=gam bmodp


    Mellory ~ (Alice) \ to \ left \ {M = g ^ m \ bmod p \ right \} \ to BobMellory ~ (Alice) \ to \ left \ {M = g ^ m \ bmod p \ right \} \ to Bob
    Mellory ~ (Bob) \ to \ left \ {M = g ^ m \ bmod p \ right \} \ إلى AliceMellory ~ (Bob) \ to \ left \ {M = g ^ m \ bmod p \ right \} \ إلى Alice
  3. تحسب أليس مفتاح الجلسة للقناة باستخدام Mallory (معتقدًا أن Mallory هو Bob)

    KAM=Ma bmodp=gam bmodp

  4. بوب يختار عشوائي 2 leqb leqp1
    يقوم بوب بحساب مفتاح الجلسة للقناة باستخدام Mallory (معتقدًا أن Mallory هو Alice)

    KBM=Mb bmodp=gbm bmodp


    Bob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى Mellory ~ (Alice)Bob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى Mellory ~ (Alice)
  5. يحسب مالوري مفتاح جلسة لقناة مع بوب

    KBM=Bm bmodp=gbm bmodp



نتيجةً لذلك ، تلقى Alice and Bob مفاتيح جديدة للجلسة ، لكنهما لم يؤسسا قناة اتصال "آمنة" مع بعضهما البعض ، ولكن مع مهاجم لديه الآن القدرة على ترحيل أو تغيير جميع الرسائل المرسلة بين Alice و Bob.

يختلف بروتوكول Diffie-Hellman عن معظم بروتوكولات التوزيع الرئيسية نظرًا لحقيقة أنه لا يستخدم بدائل تشفير أخرى (التشفير أو التوقيع الرقمي أو وظائف التجزئة) ، ولكن في حد ذاته يعتبر تشفيرًا بدائيًا لإنشاء بروتوكولات أكثر تعقيدًا. يوفر توليد أرقام عشوائي في نظام موزع بدون مركز موثوق. علاوة على ذلك ، لا يستطيع أي جانب إجبار الجانب الآخر على استخدام مفتاح الجلسة القديم ، على عكس بروتوكول Yahalom ، على سبيل المثال.

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

  1. اتفق الطرفان على مجموعة من نقاط المنحنى الإهليلجي  mathbbE مجموعة فرعية دوري  mathbbG القدرات n= | mathbbG | والمولد G مجموعة  mathbbG (أو على الأقل مجموعة فرعية كبيرة بما يكفي من المجموعة  mathbbG ).
  2. أليس يختار عشوائي 2 leqa leqn1
    Alice \ to \ left \ {A = a \ times G \ right \} \ to BobAlice \ to \ left \ {A = a \ times G \ right \} \ to Bob
  3. بوب يختار عشوائي 2 leqb leqn1
    بوب يحسب هذه النقطة K=b مرةAمرة
    Bob \ to \ left \ {B = g \ times G \ right \} \ إلى AliceBob \ to \ left \ {B = g \ times G \ right \} \ إلى Alice
  4. أليس تحسب النقطة ك=أ مراتبكأمراتب

كمفتاح جديد للجلسة ، يمكن للأطراف اختيار ، على سبيل المثال ، الإحداثيات الأولى للنقطة التي تم العثور عليها K .

بروتوكول الجمال


يوفر بروتوكول الجمل ( [الجمل ، 1984] ، [الجمل ، 1985] ) ، نظرًا للتوزيع الأولي للمفتاح العمومي لأحد الطرفين ، المصادقة على المفتاح لهذا الجانب. يمكن ضمان أن مالك المفتاح الخاص المقابل فقط يمكنه حساب مفتاح الجلسة. ومع ذلك ، فإن تأكيد استلام المفتاح (تحقيق الهدفين G1 و G8) ليس جزءًا من البروتوكول.

-


  1. أليس وبوب اختيار الخيارات المشتركة عع و g حيث عع هو عدد أولي كبير ، و g - عنصر الحقل البدائي  mathbbZp .
    يقوم بوب بإنشاء زوج من المفاتيح الخاصة والعامة بب و KB :

     تبدأarraylb:2 leqb leqp1،KB=gb bmodp. endarray

    تبدأ،


    المفتاح العام KB هو في متناول الجمهور مفتوحة لجميع الأطراف. لا يمكن أن يحل محله الشفرة - سيكون الاستبدال ملحوظًا.
  2. أليس تختار سرا x ويحسب مفتاح الجلسة K

    K=KxB=gbx bmodp.


    Alice \ to \ left \ {g ^ x \ bmod p \ right \} \ إلى Bob

    Alice \ to \ left \ {g ^ x \ bmod p \ right \} \ إلى Bob
  3. بوب يحسب مفتاح الجلسة

    K=(gx)b=gbx bmodp.


لا يضمن البروتوكول اختيار مفتاح جلسة جديد في كل جلسة بروتوكول (G10) ، واستخدام مفتاح "رئيسي" KB لنقل مفتاح الجلسة ، يسمح للمهاجم بحساب جميع مفاتيح الجلسة من الجلسات السابقة عند اختراق المفتاح الخاص بب (الهدف G9).

بروتوكول MTI / A (0)


في عام 1986 ، اقترح س. ماتسوموتو ( تسوتومو ماتسوموتو ) ، وإيه تاكاشيما ( يويتشي تاكاشيما ) وإش إيمي ( هيديكي إيماي ) عدة خوارزميات ، سميت فيما بعد عائلة بروتوكول إم تي آي ( [ماتسوموتو ، تسوتومو ، إيماي 1986] ). نظرًا للتوزيع الأولي للمفاتيح العامة لكلا الطرفين ، فقد قدما المصادقة الضمنية للمفتاح (الهدف G7). أي أنه لا يمكن ضمان تلقي مفتاح الجلسة إلا من قبل مالكي المفاتيح العامة المقابلة. سننظر في أحد ممثلي هذه العائلة - بروتوكول MTI / A (0).

سابقا ، اتفق الطرفان على المعايير العامة للنظام. عع و g حيث عع هو عدد أولي كبير ، و g - عنصر الحقل البدائي  mathbbZp .

MTI/A(0)

أنشأ كل طرف (Alice and Bob) زوجًا من المفاتيح الخاصة والعامة:

\ تبدأ {array} {ll} Alice: & ~ a، ~~ K_A = g ^ a \ bmod p، \\ Bob: & ~ b، ~~ K_B = g ^ b \ bmod p. \\ \ end {array}

\ تبدأ {array} {ll} Alice: & ~ a، ~~ K_A = g ^ a \ bmod p، \\ Bob: & ~ b، ~~ K_B = g ^ b \ bmod p. \\ \ end {array}


  1. ولدت أليس عدد عشوائي RA: 2 leqRA leqp1
    Alice \ to \ left \ {g ^ {R_A} \ bmod p \ right \} \ إلى BobAlice \ to \ left \ {g ^ {R_A} \ bmod p \ right \} \ إلى Bob
  2. بوب ولدت رقم عشوائي RB: 2 leqRB leqp1
    احسب بوب مفتاح الجلسة K=(gRA)b cdotKRBA bmodp
    Bob \ to \ left \ {g ^ {R_B} \ bmod p \ right \} \ إلى AliceBob \ to \ left \ {g ^ {R_B} \ bmod p \ right \} \ إلى Alice
  3. أليس حساب مفتاح الجلسة K=(gRB)a cdotKRAB bmodp

إذا كانت المفاتيح العامة KA و KB تطابق المفاتيح الخاصة بك دولادولا و بب ، ثم تطابق مفاتيح الجلسة المحسوبة بواسطة المشاركين:

\ تبدأ {array} {lll} (g ^ {R_A}) ^ b \ cdot K_A ^ {R_B} \ bmod p & = & g ^ {b R_A + a R_B} \ bmod p، \\ (g ^ { R_B}) ^ a \ cdot K_B ^ {R_A} \ bmod p & = & g ^ {a R_B + b R_A} \ bmod p. \ end {array}

\ تبدأ {array} {lll} (g ^ {R_A}) ^ b \ cdot K_A ^ {R_B} \ bmod p & = & g ^ {b R_A + a R_B} \ bmod p، \\ (g ^ { R_B}) ^ a \ cdot K_B ^ {R_A} \ bmod p & = & g ^ {a R_B + b R_A} \ bmod p. \ end {array}


نظرًا لتعقيد مهمة اللوغاريتم المنفصلة ، لن يتمكن المهاجم من الحصول عليها a،RA، أو b،RB، من الرسائل المرسلة ، والنشر الأولي للمفاتيح العامة يضمن أن المستخدمين الشرعيين فقط يحصلون على مفتاح الجلسة. اختيار عشوائي RA و RB يضمن أن كلا الطرفين يمكن التأكد من إنشاء مفتاح جلسة جديد في كل جلسة بروتوكول.

مثل غيره من ممثلي بروتوكولات التشفير ، لم يتم تطوير MTI مع الأخذ في الاعتبار إمكانية اختراق المفاتيح "الرئيسية" المغلقة دولادولا و بب (الهدف G9).

بروتوكول محطة إلى محطة


بروتوكول STS ( محطة إلى محطة ، [Diffie ، Oorschot ، Wiener 1992] ) مخصص لأنظمة الاتصالات المتنقلة. يستخدم أفكار بروتوكول Diffie-Hellman ونظام تشفير RSA. ميزة البروتوكول هي استخدام آلية التوقيع الإلكتروني للمصادقة المتبادلة للأطراف.

سابقا ، اتفق الطرفان على المعايير العامة للنظام. عع و g حيث عع هو عدد أولي كبير ، و g - عنصر الحقل البدائي  mathbbZp .

كل جانب دولادولا و B يمتلك زوج مفاتيح طويل الأجل: مفتاح خاص لفك تشفير وإنشاء توقيع إلكتروني K textpublic والمفتاح العمومي للتشفير والتحقق من التوقيع K textpublic .

\ تبدأ {array} {ll} A: K_ {A ، \ text {private}} ، K_ {A ، \ text {public}}: \ forall M: & \ text {Verify} _A (M، S_A (M )) = صواب ، \\ & D_A (E_A (M)) = M ، \\ B: K_ {B ، \ text {private}} ، K_ {B ، \ text {public}}: \ forall M: & \ text {Verify} _B (M، S_B (M)) = صواب ، \\ & D_B (E_B (M)) = M. \\ \ end {array}

\ تبدأ {array} {ll} A: K_ {A ، \ text {private}} ، K_ {A ، \ text {public}}: \ forall M: & \ text {Verify} _A (M، S_A (M )) = صواب ، \\ & D_A (E_A (M)) = M ، \\ B: K_ {B ، \ text {private}} ، K_ {B ، \ text {public}}: \ forall M: & \ text {Verify} _B (M، S_B (M)) = صواب ، \\ & D_B (E_B (M)) = M. \\ \ end {array}



حيث  textVerifyA( dots) إنها وظيفة التحقق من التوقيع الإلكتروني على مفتاح عمومي KA، textpublic، و DA - وظيفة فك التشفير باستخدام المفتاح الخاص KA، textprivate .

يتكون البروتوكول من أربعة تمريرات ، ثلاثة منها تشمل نقل الرسائل ( [Cheryomushkin 2009] ).

STS


  1. أليس تختار رقمًا عشوائيًا RA:2 leqRA leqp1 .
    Alice \ to \ left \ {A، m_A = g ^ {R_A} \ bmod p \ right \} \ إلى Bob
  2. بوب يختار رقم عشوائي RB:2 leqRB leqp1 .
    بوب يحسب مفتاح الجلسة K=mRBA bmodp .
    Bob \ to \ left \ {B، A، m_B = g ^ {R_B} \ bmod p، E_K (S_B (m_A، m_B)) \ right \} \ Alice
  3. أليس تحسب مفتاح الجلسة K=mRAB bmodp .
    تتحقق أليس من التوقيع في الرسالة EK(SB(mA،mB)) .
    Alice \ to \ left \ {A، B، E_K (S_A (m_A، m_B)) \ right \} \ to Bob
  4. يقوم بوب بالتحقق من التوقيع في الرسالة EK(SA(mA،mB)) .

يضمن البروتوكول ضمان تشكيل مفاتيح جديدة (G10) ، ولكن ليس السرية الكاملة المثالية (G9).

كما أظهر هجوم لوي 1996 ( [Lowe 1996] ) ، لا يمكن أن يضمن البروتوكول المصادقة على الموضوعات (الهدف G1) ، والمفاتيح (G7) ، وإثبات ملكية مفتاح الجلسة (G8). على الرغم من أن المهاجم لا يمكنه الوصول إلى مفتاح الجلسة الجديد إذا تم استخدام البروتوكول فقط لمصادقة الموضوعات ، إلا أن Alice يمكن أن تخطئ المهاجم في Bob.

STS


  1. أليس تختار رقمًا عشوائيًا RA:2 leqRA leqp1 .
    Alice \ to \ left \ {A، m_A = g ^ {R_A} \ bmod p \ right \} \ إلى Mellory ~ (Bob)
  2. Mellory \ to \ left \ {M، m_A \ right \} \ to Bob
  3. بوب يختار رقم عشوائي RB:2 leqRB leqp1 .
    بوب يحسب مفتاح الجلسة K=mRBA bmodp .
    Bob \ to \ left \ {B، M، m_B، E_K (S_B (m_A، m_B)) \ right \} \ Mellory
  4. Mellory ~ (Bob) \ to \ left \ {B، A، E_K (S_B (m_A، m_B)) \ right \} \ إلى Alice
  5. أليس تحسب مفتاح الجلسة K=mRAB bmodp .
    تتحقق أليس من التوقيع في الرسالة EK(SB(mA،mB)) .
    Alice \ to \ left \ {A، B، E_K (S_A (m_A، m_B)) \ right \} \ to Mellory ~ (Bob)

بعد الانتهاء من البروتوكول بنجاح ، أصبحت أليس واثقة من أنها تتواصل مع بوب.

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

أدب


  • [ديفي ، هيلمان 1976] ديفي دبليو ، هيلمان مي اتجاهات جديدة في تشفير // نظرية المعلومات ، معاملات IEEE جرا. - 1976. - نوفمبر - ر 22 ، رقم 6. - ص. 644-654. - ISSN 0018-9448. - DOI: 10.1109 / TIT.1976.1055638.
  • [El Gamal، 1984] El Gamal T. A Cryptosystem key and Signature Scheme on Based Discrete Logsith // Proceedings of CRYPTO 84 on Advances in Cryptology. - سانتا باربرا ، كاليفورنيا ، الولايات المتحدة الأمريكية: Springer-Verlag New York، Inc. ، 1985. - ص. 10-18. - ISBN 0-387-15658-5. - عنوان URL: dl.acm.org/citation.cfm؟id=19478.19480 .
  • [الجمل ، 1985] El Gamal T. نظام تشفير المفتاح العمومي ونظام توقيع يستند إلى لوغاريتمات منفصلة // معاملات IEEE على نظرية المعلومات. - 1985. - يوليو. - ر 31 ، رقم 4. - ص. 469-472. - DOI: 10.1109 / TIT.1985.1057074.
  • [Matsumoto، Tsutomu، Imai 1986] Matsumoto T.، Takashima Y.، Imai H. On البحث عن أنظمة التوزيع الذكية publickey // Trans. انست. الإلكترون. COMMUN. المهندس JPN. الفرع E. T. 69. المسألة 2. - 02.1986. - مع 99-106.
  • [Diffie، Oorschot، Wiener 1992] Diffie W.، Van Oorschot PC، Wiener MJ Authentication
    والتبادلات الرئيسية المصادقة // التصميمات والرموز والتشفير. - 1992. - يونيو. - ر 2 ، رقم 2. - ص. 107-125. - ISSN 1573-7586. - DOI: 10.1007 / BF00124891.
  • [Lowe 1996] Lowe G. بعض الهجمات الجديدة على بروتوكولات الأمان // CSFW '96 وقائع ورشة العمل IEEE التاسعة حول أسس أمان الكمبيوتر. —واشنطن ، DC ، الولايات المتحدة الأمريكية: IEEE Computer Society ، 1996. - ص. 162.
  • [Cheremushkin 2009] Cheremushkin A. V. بروتوكولات التشفير: الخصائص الأساسية ونقاط الضعف // الرياضيات التطبيقية المنفصلة. - 2009. - نوفمبر - القضية. 2. - ص. 115-150. - عنوان URL: cyberleninka.ru/article/n/kriptograficheskieprotokoly-osnovnye-svoystva-i-uyazvimosti.pdf .

خاتمة
سيكون المؤلف ممتنًا للتعليقات الواقعية وغيرها من التعليقات على النص.

Source: https://habr.com/ru/post/ar476106/


All Articles