دانشگاه صنعتی شریف
دانشکده مهندسی کامپیوتر
آزمایشگاه امنیت داده و شبکه
http://dnsl.ce.sharif.edu
درس :8طراحی پروتکلهای رمزنگاری
محمد صادق دوستی
1 / 61
امنیت داده و شبکه
محمد صادق دوستی
مقدمه
پروتکلهای رمزنگاری :پروتکلهایی که در آنها از الگوریتمهای رمز
استفاده میشود.
مثال :تصدیق هویت ،توزیع کلید ،رأیگیری الکترونیکی ،پرداختت
الکترونیکی ،امضای قرارداد... ،
در این درس به پروتکلهای توزیع کلید میپردازیم.
2 / 61
امنیت داده و شبکه
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
3 / 61
امنیت داده و شبکه
محمد صادق دوستی
مدیریت کلید چیست؟
مدیریت کلید عبارت است از مجموعه فرآینتدهای تولیتد ،تبتادل،
نگهداری ،استفاده ،امحا و جایگزینی کلیدهای موجود در سیستم.
کلیدها میتوانند عمومی یا خصوصی باشند.
4 / 61
امنیت داده و شبکه
محمد صادق دوستی
اهمیت مدیریت کلید
اکثر حمالت به رمزنگاری یک سیستم امنیتی ،در بخت
متدیریت
کلید است.
چرا که طرفهای ارتباط ،امکان ارتباط فیزیکی بترای تبتادل کلیتد
امن را با یکدیگر ندارند.
در حقیقت برخی این مسأله را دشوارترین جزء یک سیستتم امتن
میدانند.
5 / 61
امنیت داده و شبکه
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
6 / 61
امنیت داده و شبکه
محمد صادق دوستی
کلید اصلی و کلید جلسه
کلید اصلی ()Master Key
یا کلید طوالنی مدت ( Long-Term Keyیا )LTK
کلیدی که برای رمزگذاری و/یا تصدیق هویت کلیدهای دیگر مورد
استفاده قرار میگیرد.
از کلید جلسه (نشست) برای رمزنگتاری و تصتدیق هویتت پیامهتا
استفاده میکنیم.
رمزنگاری متقارن
7 / 61
امنیت داده و شبکه
محمد صادق دوستی
سلسله مراتب کلیدها
خسارت در
حجم
عمر
نوع کلید
صورت لو رفتن
اطالعات
خیلی زیاد
کلید اصلی خیلی کم طوالنی
زیاد
کوتاه
کم
کلید جلسه
بسته به کاربرد
زیاد
داده
8 / 61
امنیت داده و شبکه
نحوه محافظت
محافظت فیزیکی
با رمزنگاری
با رمزنگاری
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
9 / 61
امنیت داده و شبکه
محمد صادق دوستی
تولید کلید
کلیدهای تولیدی باید کامالً تصادفی باشند.
کامپیوتر نمیتواند اعداد تصادفی واقعی تولید نماید.
استفاده از منابع تصادفی بیرونی (تعامل با کاربر و )...
تولید یک بذر ( )seedتصادفی
گستتتترذ بتتتذر تصتتتادفی بتتته یتتتک مقتتتدار شتتتبهتصتتتادفی
()pseudorandom
غیر قابل تمیز از مقدار تصادفی واقعی
نیاز به الگوریتمهای مولد اعداد شبه تصادفی ()PRNG
10 / 61
امنیت داده و شبکه
محمد صادق دوستی
PRNG
بذر تصادفی
011001100111100011
خروجی شبهتصادفی
0100001101111000011010011100010101110101
PRNG
الگوریتم قطعی
(غیر تصادفی)
الگوریتم تمیز دهنده
؟؟؟
0011010110011001101111011011100011100100
مقدار تصادفی واقعی
11 / 61
امنیت داده و شبکه
محمد صادق دوستی
طول عمر کلید جلسه
اگر طول عمر کوتاه باشد:
امنیت باال
• حجم داده برای تحلیل رمز ناچیز است.
• میزان استفاده کم است.
• حتی پس از افشای کلید ،زمان زیادی برای سوء استفاده موجود نیست.
کارایی کم
• دائما باید کلید را بروز کنیم.
اگر طول عمر زیاد باشد:
کارایی باال ،امنیت کم
12 / 61
یک مصالحه میان امنیت و
کارایی بر سر تعیین طول
عمر کلید جلسه برقرار است.
امنیت داده و شبکه
محمد صادق دوستی
روشهای تبادل کلید جلسه ()Key Distribution
توافق کلید ()Key Agreement
هر دو طرف در انتخاب کلید تاثیرگذار هستند.
مثال :روذ Diffie-Hellman
انتقال کلید ()Key Transport
یکی از دو طرف کلید را معین کرده و به دیگری ارسال مینماید.
13 / 61
امنیت داده و شبکه
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
14 / 61
امنیت داده و شبکه
محمد صادق دوستی
دو رویکرد در اشتراک کلید جلسه
بدون واسطه (همتا به همتا)
k
B
A
با واسطه (مرکز توزیع کلید یا )KDC
Key Distribution Center
KDC
KDC
k
k k
B
15 / 61
KDC:
B
A
امنیت داده و شبکه
()3
k
A
محمد صادق دوستی
روش همتا به همتا در توزیع کلید
مزیت :بدون نیاز به اعتماد به یک شخص ثالث
عیب :مشتکل مقیتاسپتذیری؛ نیتاز بته کلیتد اصتلی بتین هتر دو
موجودیت
برای ارتباط nنفر باهم به n(n1)/2کلید اصلی احتیاج داریم.
16 / 61
امنیت داده و شبکه
محمد صادق دوستی
روش با واسطه توزیع کلید
هر کاربر یک کلید اصلی با KDCبه اشتراک گذاشته است.
KDCیک شخص ثالث مورد اعتماد است.
کلیدهای اصلی با یک روذ امتن (متثالً مراجعته فیزیکتی) توزیتع
شدهاند.
هر بار که کاربری قصد ارتباط با دیگران را داشته باشتد از KDC
یک کلید جلسه درخواست میکند.
کلید جلسه به صورت تصدیق هویت شتده در اختیتار متقا تی (و
بعضاً مخاطب) قرار میگیرد.
17 / 61
امنیت داده و شبکه
محمد صادق دوستی
روش متمرکز توزیع کلید
نکات مثبت:
تعداد کلید کمتر و قابلیت مقیاسپذیری
نکات منفی:
نیاز به اعتماد به شخص ثالث
KDCتک نقطه خرابی ( )SPOFاست.
ترافیک باال در KDCگلوگاه کارایی سیستم است.
نیاز به یک کارگزار برخط داریم .دخالت کتارگزار در برقتراری هتر
ارتباط روری است.
18 / 61
امنیت داده و شبکه
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
19 / 61
امنیت داده و شبکه
محمد صادق دوستی
جایگاه رمزنگاری کلید عمومی
الگوریتمهای نامتقارن بسیار کندتر از الگوریتمهای متقارن هستند
از الگوریتمهای نامتقارن جهت توزیع کلید جلسه (و نه رمزگذاری)
استفاده میشود.
با استفاده از رمزنگاری کلید عمومی:
نیازی به تبادل کلیدهای اصلی و حفظ محرمانگی آنها نیست.
اما کلید عمومی باید به روشی امن منتقل شود (مثالً .)PKI
نیازی به کارگزار بر خط نیست.
20 / 61
امنیت داده و شبکه
محمد صادق دوستی
فهرست
مدیریت کلید
مفاهیم اساسی مدیریت کلید
سلسله مراتب کلید
تولید کلید و طول عمر کلید
اشتراک کلید مبتنی بر رمز متقارن
اشتراک کلید مبتنی بر رمز کلید عمومی
طراحی پروتکلهای تبادل کلید
21 / 61
امنیت داده و شبکه
محمد صادق دوستی
عالئم و نمادها – 1
عاملها/طرفهای ارتباط
Aو Bبا شناسه های IDAو IDB
Tشخص ثالث مورد اعتماد
KAT و KBTکلید طوالنی مدت بین Aو Tو بین Bو T
ks کلید جلسه ()Session
22 / 61
امنیت داده و شبکه
محمد صادق دوستی
عالئم و نمادها – 2
مُهر زمانی ()Timestamp
tAمُهر زمانی تولید شده توسط A
طرفین ساعتهای خود را به کمک پروتکلی هماهنگ نگه میدارند.
نانس ()Nonce
مقداری تصادفی که تنها یک بار مورد استفاده قرار میگیرند.
nAنانس تولید شده توسط A
23 / 61
امنیت داده و شبکه
محمد صادق دوستی
عالئم و نمادها – 2
{M ║ IDA ║ IDB}KAT
AB:
A فرستنده و Bگیرنده
ترکیب ( Mپیام) ،شناسته Aو شناسته Bبتا کلیتد KATرمتز و
تصدیق هویت شده است (مثال :روذ ترکیب .)EtA
اگر فقط قصد تصدیق هویت پیامی را داشته باشیم:
M ║ IDA ║ IDBKAT
24 / 61
امنیت داده و شبکه
AB:
محمد صادق دوستی
اهداف و خصوصیات پروتکلهای تبادل کلید – 1
تازگی کلید ()Freshness
کلید جلسه توسط اجرای جاری پروتکل تولید شده باشد (و نه اجراهای
قبلی).
محرمانگی پیشرو ()Forward Secrecy
با لو رفتن کلید بلند مدت (اصلی) ،کلیدهای جلسه قبلی امن بمانند.
استحکام در برابر کلید فاذ شده ()Known-Key Resilience
مهاجمی که به کلید یک جلسه دست یافته ،نتواند در مورد کلید اصتلی
یا کلید جلسات دیگر اطالعی به دست آورد.
25 / 61
امنیت داده و شبکه
محمد صادق دوستی
اهداف و خصوصیات پروتکلهای تبادل کلید – 2
تصدیق هویت کلید ()Key Authentication
یک طرف مطمئن است که هیچ کس جتز طترف دوم (و احتمتاالً ستایر
معتمدین) نمیتواند به کلید جلسه دسترسی داشته باشد.
تأیید کلید ()Key Confirmation
یک طرف مطمئن است که طرف دوم واقعتاً کلیتد جلسته را در اختیتار
دارد.
تصدیق هویت صریح کلید ()Explicit Key Authentication
تصدیق هویت کلید تأیید کلید
26 / 61
امنیت داده و شبکه
محمد صادق دوستی
اهداف و خصوصیات پروتکلهای تبادل کلید – 3
تصدیق هویت یک طرفه ()Unilateral
تنها یک طرف ارتباط ،هویت خود را اثبات میکند.
مثال :یک شخص یک پیام را در یک گروه عمومی منتشر میکند.
تصدیق هویت دو طرفه ()Mutual
هر دو طرف ارتباط هویت خود را اثبات میکنند.
27 / 61
امنیت داده و شبکه
محمد صادق دوستی
انواع حمالت به پروتکلهای تبادل کلید
شنود ()Eavesdropping
مهاجم اطالعتات و پیامهتای تبتادل شتده در پروتکتل را دریافتت
مینماید.
تغییر ()Modification
مهاجم اطالعات ارسالی را تغییر میدهد.
منع سرویس ()Denial of Service
مهاجم مانع از کامل شدن پروتکل توسط طرفهای مجاز میشود.
28 / 61
امنیت داده و شبکه
محمد صادق دوستی
برخی گونههای مهم از «حمله تغییر»
تکرار ()Replay
مهاجم پیامهای ارسالی در طی پروتکل را ثبت نمتوده ،ستپس بته
اجرای پروتکل با ارسال مجدد آنها میپردازد.
مرد میانی ()Man in the Middle
مهاجم نق
Aرا برای Bو نق
Bرا برای Aبازی میکند.
دستکاری گواهی ()Certificate Manipulation
مهاجم اطالعات گواهی را تغییر میدهد.
29 / 61
امنیت داده و شبکه
محمد صادق دوستی
روشهای مقابله با تکرار – 1
استفاده از مُهر زمانی ()Timestamp
گیرنده به پیام اعتماد میکند اگر در محدوده زمانی قابتل قبتولی
باشد.
30 / 61
رورت همگامی ساعتها.
امنیت داده و شبکه
محمد صادق دوستی
روشهای مقابله با تکرار – 2
استفاده از چال -پاسخ ()Challenge-Response
Aانتظار یک پیام نو از Bدارد.
Aیک چال
یا نانس به Bارسال میکند.
Aانتظار دارد که پیامی که دریافت میکنتد حتاوی تغییتر یافتته
(رمزشده) چال
31 / 61
یا نانس موردنظر باشد.
امنیت داده و شبکه
محمد صادق دوستی
روشهای مقابله با تکرار – 3
استفاده از توالی شمار ()Sequence Number
پیامهای اجرای Nاُم پروتکل باید حاوی عدد Nباشند.
طرفین باید همواره مقدار Nرا نگه دارند.
مشکالت در همگام نگه داشتن طرفین
32 / 61
امنیت داده و شبکه
محمد صادق دوستی
طراحی پروتکل
در اسالیدهای بعد چگونگی طراحی پروتکلی برای اشتتراک کلیتد
بین دو طرف Aو Bرا بررسی مینماییم.
با معرفی هر پروتکتل ،مشتکالت موجتود در آن را بررستی نمتوده،
سعی میکنیم در طراحی پروتکل بعدی آنها را مرتفع نماییم.
33 / 61
امنیت داده و شبکه
محمد صادق دوستی
مبنای طراحی پروتکلهای سری اول
مبتنی بر رمز متقارن :استفاده از ( KDCبا نام )T
Tکلید جلسه را تولید میکند.
کلیدهای اصلی (بین هر طرف با )Tبرای انتقال کلید جلسه بکتار
میرود.
تصدیق هویت دو طرفه
34 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 1
AT: IDA ║ IDB
1.
TA: ks
2.
AB: ks ║ IDA
3.
عیب:
مهاجم میتواند با شنود کلید جلسه ksرا به دست آورد.
راه حل :نیاز به رمزگذاری و تصدیق هویت کلید داریم.
35 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 2
AT: IDA ║ IDB
1.
TA: {ks}KAT ║ {ks}KBT
2.
AB: {ks}KBT ║ IDA
3.
عیب :1پروتکل تصدیق هویت طرفین ندارد.
مهاجم Xمیتواند مانع رسیدن پیام سوم به Bشود.
به جای IDAدر آن IDX ،خودذ را قرار دهد و پیام را بفرستد.
Bفکر میکند که باید با Xصحبت کند.
36 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 2
AT: IDA ║ IDB
1.
TA: {ks}KAT ║ {ks}KBT
2.
AB: {ks}KBT ║ IDA
3.
عیب :2پروتکل تازگی پیام را بررسی نمیکند.
مهاجم Xمانع رسیدن پیام 2و 3پروتکل میشود.
مهاجم Xپیام 2و 3را از اجراهای قبلی پروتکل ارسال میکند.
37 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 2
AT: IDA ║ IDB
1.
TA: {ks}KAT ║ {ks}KBT
2.
AB: {ks}KBT ║ IDA
3.
عیب :3پروتکل در برابر حمله MITMآسیبپذیر است.
مهاجم Xپیام اول را عوض کرده و به جای IDX ،IDBمیگذارد.
توصیف حمله در اسالید بعد.
38 / 61
امنیت داده و شبکه
محمد صادق دوستی
2 به پروتکلMITM حمله
AT:
IDA ║ IDB
TA:
{ks}KAT ║ {ks}KBT
AB:
{ks}KBT ║ IDA
IDA ║IDB
IDA ║IDX
T
A
X
{ks}KAT ║ {ks}KXT
{ks}KAT ║ {ks}KXT
{ks}KXT ║ IDA
محمد صادق دوستی
امنیت داده و شبکه
39 / 61
پروتکل 3
AT: IDA ║ IDB
1.
TA: {ks ║ IDB}KAT ║ {ks ║ IDA}KBT
2.
AB: {ks ║ IDA}KBT
3.
خصوصیات :شناسه مخاطب ارتباط و کلید جلسه بتا کلیتد اصتلی
رمز و تصدیق هویت میشوند.
عیب :کماکان تازگی پیام وارسی نمیشود.
40 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 4
AT: IDA ║ IDB ║ nA
1.
TA:
2.
AB: {ks ║ IDA}KBT
3.
{nA ║ ks ║ IDB ║ {ks ║ IDA}KBT}KAT
خصوصیات:
تازگی کلید برای ( Aو نه )Bبا استفاده از نانس تصدیق میگردد.
41 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 4
AT: IDA ║ IDB ║ nA
1.
TA:
2.
AB: {ks ║ IDA}KBT
3.
{nA ║ ks ║ IDB ║ {ks ║ IDA}KBT}KAT
معایب:
طرف Aمطمئن نیست که طرف Bکلید را دریافت کرده و زنتده
است.
طرف Bنیز نمیداند که واقعاً طترف Aکلیتد را متیدانتد و زنتده
است (ممکن است پیغام سوم دریافتی ،قدیمی و تکراری باشد).
42 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل Needham–Schroeder
یکی از نخستین پروتکلهای تبادل کلید ()1978
شناسایی حمله تکرار توسط Denningو )1981( Sacco
ابداع منطقی توسط Abadi ،Burrowsو Needhamبرای
وارسی خودکتار پروتکلهتا و جلتوگیری از حمتالت مشتابه (منطتق
)BANدر سال .1990
کاربرد نسخه اصالح شده:
Kerberos
Active Directory
43 / 61
Michael Schroeder
) – (1945
امنیت داده و شبکه
Roger Needham
)(1935 – 2003
محمد صادق دوستی
پروتکل Needham–Schroeder
AT: IDA ║ IDB ║ nA
1.
TA: {nA ║ ks ║ IDB ║ {ks ║ IDA}KBT}KAT
2.
AB: {ks ║ IDA}KBT
3.
BA: {nB}ks
4.
AB: {nB 1}ks
5.
در نسخه اصلی پروتکل ،نانس فقط رمز
میشد و تصدیق هویت نمیشد.
خصوصیات:
دو گام آخر برای تأیید کلید (از سوی )Bاست.
44 / 61
امنیت داده و شبکه
محمد صادق دوستی
معایب پروتکل Needham–Schroeder
این پروتکل نسبت به حمله تکرار آسیب پذیر است.
مهاجم میتواند پیام 3پروتکل را تکرار کند.
Denning و Saccoعتتالوه بتتر یتتافتن عیتتب فتتوق ،پروتکتتل
جدیدی را بر مبنای مهر زمانی پیشنهاد کردند.
ایراد دیگر A :نمیتواند از زنده بودن Bو دریافت کلید توسط وی
مطمئن باشد.
پیام 4مقداری تصادفی است (رمز شده یک نانس تصتادفی) و بته
Aاطالع خاصی نمیدهد.
45 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل Denning–Sacco
IDA ║ IDB
AT:
1.
{ ks║IDB║tT║ {ks║IDA║tT}KBT }KAT
TA:
2.
{ks ║ IDA ║ tT}KBT
AB:
3.
{nB}ks
BA:
4.
{nB 1}ks
AB:
5.
استفاده از مُهر زمانی برای جلوگیری از حمله تکرار؛ ولی:
همچنان Aاز زنده بودن Bنمیتواند مطمئن شود.
پیام 3را میتوان بالفاصله فرستاد B دو بار ksرا میپذیرد.
46 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل Denning–Sacco
A و Bاز طریق زیر به تازه بودن پیام پی میبرند:
tT| < ∆t1 + ∆t2
|NOW
:∆t1اختالف ساعت محلی با T
:∆t2میزان تأخیر مورد انتظار در شبکه.
حمله :Gongوقتی ساعت Tجلوتر از ساعت Aیا Bباشد.
مهاجم میتواند پیام را نگه داشته و وقتی زمان Aیتا Bبتا زمتان
ارسال پیام یکی شد ارسال نماید.
معروف به حمله منع – تکرار (.)Suppress-Replay
47 / 61
امنیت داده و شبکه
محمد صادق دوستی
حمله منع – تکرار و مقابله با آن
پروتکتل Denning–Saccoنستبت بته حملته منتع – تکترار
آسیبپذیر است.
روشهای مقابله
همگام سازی زمان در ابتدای پروتکل با زمان T
توافق از طریق نانس به جای توافق از طریق زمان
ترکیب نانس و زمان پروتکل ( Neumanنیتاز بته همگتامی
ساعتها ندارد؛ فقط از ساعت Bاستفاده میشود)
48 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل Neuman
AB: IDA ║ nA
1.
BT: IDB ║ nB ║ {IDA ║ nA ║ B}KBT
2.
║ TA: {IDB ║ nA ║ ks ║ B}KAT
3.
{IDA ║ ks ║ B}KBT ║ nB
AB: {IDA ║ ks ║ B}KBT ║ {nB}ks
4.
B مدت زمان مجاز استفاده از ( ksبر حسب ساعت )Bاست.
در این مدت ،نیاز به تماس مجدد بتا Tبترای دریافتت ksجدیتد
نیست.
49 / 61
امنیت داده و شبکه
محمد صادق دوستی
مفهوم «بلیت» در پروتکل Neuman
عبارت {IDA ║ ks ║ B}KBTبرای ( Aشروع کننده پروتکل)
مثل بلیت عمل میکند.
مادام که برحسب ساعت Bبه زمان Bنرسیدهایم A ،میتواند بتا
استفاده از بلیت و ksنشست جدیدی را آغاز کند:
50 / 61
AB: {IDA ║ ks ║ B}KBT ║ n’A
1.
BA: n’B ║ {n’A}ks
2.
AB: {n’B}ks
3.
امنیت داده و شبکه
محمد صادق دوستی
مبنای طراحی پروتکلهای سری دوم
مبتنی بر رمز متقارن
بدون شخص ثالث معتمد
هتتر دو موجودیتتت ،از قبتتل کلیتتد طتتوالنی متتدتی را بتته اشتتتراک
گذاردهاند.
تصدیق هویت دو طرفه
51 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل انتقال کلید ()Key Transfer
IDA ║ nA
AB:
1.
{ ks ║ IDA ║ IDB ║ nA ║ nB }KAB
BA:
2.
{nB}ks
AB:
3.
پیام 2به Aاطمینان میدهتد کته Bزنتده استت و کلیتد KABرا در
اختیار دارد (چرا که Bنانس Aرا با این کلید تصدیق هویت میکند).
همچنین Bکلید ksرا دارد ،چون آن را تصدیق هویت نموده است.
پیام 3به Bاطمینان میدهد که Aزنده است و کلیتدهای KABو ks
را در اختیار دارد (چرا که Aنانس Bرا با ksتصدیق هویت میکند ،و
ksفقط توسط کسی که KABرا دارد قابل خواندن است).
52 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل توافق کلید ()Key Agreement
فقط تصدیق هویت پیام
(بدون محرمانگی)
AB: IDA ║ nA
1.
BA: IDB ║ nAks ║ nB
2.
AB: IDA ║ nBks
3.
در گام 2و ،3مقدار ksبا اعمال تابع ویژه fبه مقادیر nB ،nAو
KABبدست میآید.
مثالً fمیتواند HMACباشد:
) 𝐵𝑛 || 𝐴𝑛( 𝐵𝐴𝐾𝑘𝑠 = HMAC
53 / 61
امنیت داده و شبکه
محمد صادق دوستی
دیفی – هلمن تصدیق هویت شده ( - )ADHتالش 1
gℤp* عنصری از مرتبه اول .qکلیه محاسبات به پیمانه .p
1. AB: IDA ║ g
2. BA: IDB ║ g ║ gKAB
3. AB: IDA ║ g ║ gKAB
مقدار کلید نشست ( )ksبا استفاده از روذ دیفی – هلمن بدستت
میآید:
ks = g
54 / 61
امنیت داده و شبکه
محمد صادق دوستی
ایراد تالش 1
1. AB: IDA ║ g
2. BA: IDB ║ g ║ gKAB
3. AB: IDA ║ g ║ gKAB
نه Aو نه Bکلید ksرا تأیید ( )confirmنمیکنند.
55 / 61
امنیت داده و شبکه
محمد صادق دوستی
دیفی – هلمن تصدیق هویت شده ( - )ADHتالش 2
1. AB: IDA ║ g
IDB ║ g ║ gKAB ks
2. BA:
IDA ║ g ║ gKAB ks
3. AB:
خاصیت مهم :ADH
برقراری امنیت پیشرو ()Forward Secrecy
هزینه :محاسبات زمانبر دیفی -هلمن
56 / 61
امنیت داده و شبکه
محمد صادق دوستی
)Key Transfer( پروتکل انتقال کلید
1.
AB: IDA ║ nA
2.
BA: Msg ║ Sign(PRB , E(PUA , ks ║ Msg))
3.
AB:
IDA ║ Sign(PRA, nB)
Msg = IDB ║ nA ║ nB
محمد صادق دوستی
امنیت داده و شبکه
57 / 61
با تصدیق هویت توسط کلید عمومیADH
1. AB: IDA ║ g
2. BA: IDB ║ g ║
Sign(PRB, IDB ║ g ║ g)ks
3. AB: IDA ║ Sign(PRA, IDA ║ g ║ g)ks
محمد صادق دوستی
امنیت داده و شبکه
58 / 61
پروتکل 1 – HMQV
اهداف:
اجرای دیفی – هلمن بدون هیچگونه سربار ارتباطی
مقاومت در برابر حمله MITM
بدون تأیید کلید ( )Key Confirmationو تصدیق هویت دو
جانبه.
x و yبه ترتیب کلید خصوصی Aو B
کلیدهای عمومی به صورت X = gxو Y = gy
H یک تابع درهمساز (تصادفی) که برد آن ℤqاست.
59 / 61
امنیت داده و شبکه
محمد صادق دوستی
پروتکل 2 – HMQV
کلید خصوصیy :
B
کلیدهای عمومی:
X = gx, Y = gy
IDA, D = g
IDB, E = g
کلید خصوصیx :
A
)d = H(D ║ IDB
)e = H(E ║ IDA
ks = (DXd) + ey
60 / 61
=
امنیت داده و شبکه
ks = (EYe) + dx
محمد صادق دوستی
پایان
صفحه درس:
http://ce.sharif.edu/courses/94-95/1/ce442-1/
مراجعه حضوری جهت رفع اشکال :شنبهها 15الی 16
(طبقه پنجم دانشکده ،درب شیشهای جنب آسانسور)
یا در زمانهای دیگر با قرار قبلی
یا به وسیله رایانامهdousti@ce :
61 / 61
امنیت داده و شبکه
محمد صادق دوستی
© Copyright 2025 Paperzz