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