مقدمةسيكون هذا النص أحد الفصول المعاد كتابتها عن دليل حماية المعلومات في قسم هندسة الراديو وأنظمة التحكم ، وكذلك من قانون التدريب هذا ، قسم حماية المعلومات في MIPT (GU). البرنامج التعليمي الكامل متاح على جيثب (انظر أيضًا مسودات الإصدارات ). في قضية Habrir ، أخطط لوضع مقالات "كبيرة" جديدة ، أولاً ، لجمع التعليقات والملاحظات المفيدة ، وثانياً ، لإعطاء المجتمع المزيد من المواد النظرية العامة حول مواضيع مفيدة ومثيرة للاهتمام. الأقسام السابقة من فصل بروتوكولات التشفير: 1 ، 2 ، 3
مثل مُنشئي بروتوكولات التمريرات الثلاثة من
القسم السابق ، اعتبرها مؤلفو الخوارزميات التالية ليس فقط الإنشاءات الرياضية التي وفرت بعض العمليات الأولية (على سبيل المثال ، تشفير المفتاح العمومي) ، لكنهم حاولوا إنشاء نظام توزيع مفاتيح كامل حول صيغة أو صيغتين. يتم استخدام بعض هذه الإنشاءات ، التي تم تحويلها ، حتى الآن (على سبيل المثال ، بروتوكول Diffie-Hellman) ، وبعضها يبقى فقط في تاريخ التشفير وحماية المعلومات.
في وقت لاحق في التسعينيات ، سيتم فصل الأوليات الرياضية غير المتماثلة (التشفير والتوقيع الإلكتروني) والبروتوكولات ، وسيتم استخدام هذه البدائل ، والتي سيتم عرضها في القسم الخاص بالبروتوكولات غير المتماثلة.
ديفي - هيلمان البروتوكول
اقترح ديفي وهيلمان أول خوارزمية المفتاح العام في عام 1976 ، "الاتجاهات الجديدة في التشفير" (
بيلي ويتفيلد ديفي ، مارتن إدوارد هيلمان ، "اتجاهات جديدة في التشفير" ،
[ديفي ، هيلمان 1976] ). كان هذا البروتوكول ، والذي يمكن تسميته أيضًا
مخطط Diffie-Hellman ، أول من قام بتقليل متطلبات قناة الاتصال لإنشاء اتصال آمن دون تبادل المفاتيح أولاً.
يسمح البروتوكول للطرفين بإنشاء مفتاح جلسة مشتركة باستخدام قناة اتصال يمكن للمهاجم الاستماع إليها ، ولكن على افتراض أن الأخير لا يمكنه تغيير محتويات الرسائل.
سمح
ع - عدد أولي كبير
g - عنصر بدائي للمجموعة
mathbbZ∗p .
y=gx bmodp و
ع .
ذ و
g معروف مقدما. وظيفة
y=gx bmodp نحن نعتبر أحادي الاتجاه ، أي أن حساب دالة ذات قيمة معروفة للوسيطة مهمة سهلة ، وانعكاسها (العثور على وسيطة) بقيمة معروفة للدالة أمر صعب. (عكس وظيفة
x= loggy bmodp تسمى وظيفة لوغاريتم منفصلة. لا توجد حاليًا طرق سريعة لحساب مثل هذه الوظيفة البسيطة الكبيرة
ع ).
يتكون بروتوكول التبادل من الإجراءات التالية.
- أليس يختار عشوائي 2 leqa leqp−1
Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to BobAlice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ to Bob - بوب يختار عشوائي 2 leqb leqp−1
بوب يحسب مفتاح الجلسة K=Ab bmodp
Bob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى AliceBob \ to \ left \ {B = g ^ b \ bmod p \ right \} \ إلى Alice - أليس تحسب K=Ba bmodp
بهذه الطريقة ، يتم إنشاء مفتاح جلسة سرية مشتركة
K . بسبب اختيار عشوائي للقيم
دولا و
ب في جلسة جديدة ، سيتم استلام مفتاح جلسة جديد.
يوفر البروتوكول فقط إنشاء مفاتيح جلسة جديدة (الهدف G10). في حالة عدم وجود جهة خارجية موثوق بها ، لا توفر مصادقة الأطراف (الهدف G1) ، نظرًا لعدم وجود ممرات مع تأكيد ملكية المفتاح ، لا يوجد مصادقة رئيسية (الهدف G8). ولكن نظرًا لأن البروتوكول لا يستخدم مفاتيح "رئيسية" طويلة الأمد ، فيمكننا القول إنه يمتلك خاصية السرية المباشرة الكاملة (الهدف G9).
لا يمكن استخدام البروتوكول إلا مع قنوات الاتصال التي لا يمكن أن يتدخل فيها محلل تشفير نشط. خلاف ذلك ، يصبح البروتوكول عرضة "لهجوم متوسط" بسيط.

- أليس يختار عشوائي 2 leqa leqp−1
Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ إلى Mellory ~ (Bob)Alice \ to \ left \ {A = g ^ a \ bmod p \ right \} \ إلى Mellory ~ (Bob) - مالوري يختار عشوائي 2 leqm leqp−1
يحسب مالوري مفتاح جلسة لقناة مع أليس
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 - تحسب أليس مفتاح الجلسة للقناة باستخدام Mallory (معتقدًا أن Mallory هو Bob)
KAM=Ma bmodp=gam bmodp
- بوب يختار عشوائي 2 leqb leqp−1
يقوم بوب بحساب مفتاح الجلسة للقناة باستخدام 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) - يحسب مالوري مفتاح جلسة لقناة مع بوب
KBM=Bm bmodp=gbm bmodp
نتيجةً لذلك ، تلقى Alice and Bob مفاتيح جديدة للجلسة ، لكنهما لم يؤسسا قناة اتصال "آمنة" مع بعضهما البعض ، ولكن مع مهاجم لديه الآن القدرة على ترحيل أو تغيير جميع الرسائل المرسلة بين Alice و Bob.
يختلف بروتوكول Diffie-Hellman عن معظم بروتوكولات التوزيع الرئيسية نظرًا لحقيقة أنه لا يستخدم بدائل تشفير أخرى (التشفير أو التوقيع الرقمي أو وظائف التجزئة) ، ولكن في حد ذاته يعتبر تشفيرًا بدائيًا لإنشاء بروتوكولات أكثر تعقيدًا. يوفر توليد أرقام عشوائي في نظام موزع بدون مركز موثوق. علاوة على ذلك ، لا يستطيع أي جانب إجبار الجانب الآخر على استخدام مفتاح الجلسة القديم ، على عكس بروتوكول Yahalom ، على سبيل المثال.
يمكن تغيير البروتوكول بحيث بدلاً من المجموعة المضاعفة من الضرب البسيط ، استخدم المجموعة المضافة لإضافة نقاط من المنحنى الإهليلجي. في هذه الحالة ، سيظل الطرفان يختاران بعض الأعداد الصحيحة العشوائية ، لكن لا ترفع رقم المولد إلى قوة ، ولكن تضرب نقطة المولد بالرقم المرغوب.
- اتفق الطرفان على مجموعة من نقاط المنحنى الإهليلجي mathbbE مجموعة فرعية دوري mathbbG القدرات n= | mathbbG | والمولد G مجموعة mathbbG (أو على الأقل مجموعة فرعية كبيرة بما يكفي من المجموعة mathbbG ).
- أليس يختار عشوائي 2 leqa leqn−1
Alice \ to \ left \ {A = a \ times G \ right \} \ to BobAlice \ to \ left \ {A = a \ times G \ right \} \ to Bob - بوب يختار عشوائي 2 leqb leqn−1
بوب يحسب هذه النقطة K=b مرةA
Bob \ to \ left \ {B = g \ times G \ right \} \ إلى AliceBob \ to \ left \ {B = g \ times G \ right \} \ إلى Alice - أليس تحسب النقطة ك=أ مراتب
كمفتاح جديد للجلسة ، يمكن للأطراف اختيار ، على سبيل المثال ، الإحداثيات الأولى للنقطة التي تم العثور عليها
K .
بروتوكول الجمال
يوفر بروتوكول الجمل (
[الجمل ، 1984] ،
[الجمل ، 1985] ) ، نظرًا للتوزيع الأولي للمفتاح العمومي لأحد الطرفين ، المصادقة على المفتاح لهذا الجانب. يمكن ضمان أن مالك المفتاح الخاص المقابل فقط يمكنه حساب مفتاح الجلسة. ومع ذلك ، فإن تأكيد استلام المفتاح (تحقيق الهدفين G1 و G8) ليس جزءًا من البروتوكول.
- أليس وبوب اختيار الخيارات المشتركة ع و g حيث ع هو عدد أولي كبير ، و g - عنصر الحقل البدائي mathbbZ∗p .
يقوم بوب بإنشاء زوج من المفاتيح الخاصة والعامة ب و KB :
تبدأarraylb:2 leqb leqp−1،KB=gb bmodp. endarray
المفتاح العام KB هو في متناول الجمهور مفتوحة لجميع الأطراف. لا يمكن أن يحل محله الشفرة - سيكون الاستبدال ملحوظًا. - أليس تختار سرا x ويحسب مفتاح الجلسة K
K=KxB=gbx bmodp.
Alice \ to \ left \ {g ^ x \ bmod p \ right \} \ إلى Bob
Alice \ to \ left \ {g ^ x \ bmod p \ right \} \ إلى Bob
- بوب يحسب مفتاح الجلسة
K=(gx)b=gbx bmodp.
لا يضمن البروتوكول اختيار مفتاح جلسة جديد في كل جلسة بروتوكول (G10) ، واستخدام مفتاح "رئيسي"
KB لنقل مفتاح الجلسة ، يسمح للمهاجم بحساب جميع مفاتيح الجلسة من الجلسات السابقة عند اختراق المفتاح الخاص
ب (الهدف G9).
بروتوكول MTI / A (0)
في عام 1986 ، اقترح س. ماتسوموتو (
تسوتومو ماتسوموتو ) ،
وإيه تاكاشيما (
يويتشي تاكاشيما )
وإش إيمي (
هيديكي إيماي ) عدة خوارزميات ، سميت فيما بعد عائلة بروتوكول إم تي آي (
[ماتسوموتو ، تسوتومو ، إيماي 1986] ). نظرًا للتوزيع الأولي للمفاتيح العامة لكلا الطرفين ، فقد قدما المصادقة الضمنية للمفتاح (الهدف G7). أي أنه لا يمكن ضمان تلقي مفتاح الجلسة إلا من قبل مالكي المفاتيح العامة المقابلة. سننظر في أحد ممثلي هذه العائلة - بروتوكول MTI / A (0).
سابقا ، اتفق الطرفان على المعايير العامة للنظام.
ع و
g حيث
ع هو عدد أولي كبير ، و
g - عنصر الحقل البدائي
mathbbZ∗p .
أنشأ كل طرف (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}
- ولدت أليس عدد عشوائي RA: 2 leqRA leqp−1
Alice \ to \ left \ {g ^ {R_A} \ bmod p \ right \} \ إلى BobAlice \ to \ left \ {g ^ {R_A} \ bmod p \ right \} \ إلى Bob - بوب ولدت رقم عشوائي RB: 2 leqRB leqp−1
احسب بوب مفتاح الجلسة K=(gRA)b cdotKRBA bmodp
Bob \ to \ left \ {g ^ {R_B} \ bmod p \ right \} \ إلى AliceBob \ to \ left \ {g ^ {R_B} \ bmod p \ right \} \ إلى Alice - أليس حساب مفتاح الجلسة 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 - عنصر الحقل البدائي
mathbbZ∗p .
كل جانب
دولا و
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] ).
- أليس تختار رقمًا عشوائيًا RA:2 leqRA leqp−1 .
Alice \ to \ left \ {A، m_A = g ^ {R_A} \ bmod p \ right \} \ إلى Bob - بوب يختار رقم عشوائي RB:2 leqRB leqp−1 .
بوب يحسب مفتاح الجلسة 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 - أليس تحسب مفتاح الجلسة K=mRAB bmodp .
تتحقق أليس من التوقيع في الرسالة EK(SB(mA،mB)) .
Alice \ to \ left \ {A، B، E_K (S_A (m_A، m_B)) \ right \} \ to Bob - يقوم بوب بالتحقق من التوقيع في الرسالة EK(SA(mA،mB)) .
يضمن البروتوكول ضمان تشكيل مفاتيح جديدة (G10) ، ولكن ليس السرية الكاملة المثالية (G9).
كما أظهر هجوم لوي 1996 (
[Lowe 1996] ) ، لا يمكن أن يضمن البروتوكول المصادقة على الموضوعات (الهدف G1) ، والمفاتيح (G7) ، وإثبات ملكية مفتاح الجلسة (G8). على الرغم من أن المهاجم لا يمكنه الوصول إلى مفتاح الجلسة الجديد إذا تم استخدام البروتوكول فقط لمصادقة الموضوعات ، إلا أن Alice يمكن أن تخطئ المهاجم في Bob.
- أليس تختار رقمًا عشوائيًا RA:2 leqRA leqp−1 .
Alice \ to \ left \ {A، m_A = g ^ {R_A} \ bmod p \ right \} \ إلى Mellory ~ (Bob)
- Mellory \ to \ left \ {M، m_A \ right \} \ to Bob
- بوب يختار رقم عشوائي RB:2 leqRB leqp−1 .
بوب يحسب مفتاح الجلسة K=mRBA bmodp .
Bob \ to \ left \ {B، M، m_B، E_K (S_B (m_A، m_B)) \ right \} \ Mellory
- Mellory ~ (Bob) \ to \ left \ {B، A، E_K (S_B (m_A، m_B)) \ right \} \ إلى Alice
- أليس تحسب مفتاح الجلسة 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 .
خاتمةسيكون المؤلف ممتنًا للتعليقات الواقعية وغيرها من التعليقات على النص.