1 / 36

امضاء رقمي و پروتكلهاي احراز اصالت

امضاء رقمي و پروتكلهاي احراز اصالت. بهروز ترك‏لاداني ladani@eng.ui.ac.ir. 1. فهرست مطالب. امضاء رقمي پروتكلهاي احراز اصالت آ سيب پذيري پروتكل هاي رمزنگاري نسبت به حملات. امضاء رقمي. چرا به امضاء رقمي نياز داريم؟

nen
Download Presentation

امضاء رقمي و پروتكلهاي احراز اصالت

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. امضاء رقمي و پروتكلهاي احراز اصالت بهروز ترك‏لاداني ladani@eng.ui.ac.ir 1

  2. فهرست مطالب • امضاء رقمي • پروتكلهاي احراز اصالت • آسيب پذيري پروتكل هاي رمزنگاري نسبت به حملات

  3. امضاء رقمي • چرا به امضاء رقمي نياز داريم؟ • جعل توسط گيرنده : گيرنده مي تواند يك پيغام جعلي را بسازد(با استفاده از كليد توافق شده) و آنرا به فرستنده نسبت دهد! • انكار توسط فرستنده : فرستنده مي تواند سناريوي فوق را بهانه قرار دهد و پيغام فرستاده شده را منكر شود!

  4. امضاء رقمي • ويژگيها : • امكان تصديق هويت فرستنده، زمان و تاريخ ارسال • تصديق محتويات پيغام • امكان تصديق توسط طرف سوم(در صورت بروز اختلاف)

  5. امضاء رقمي • نيازمنديها : • رشته بيتي توليد شده وابسته به پيام اصلي باشد. • از اطلاعات منحصر به فرستنده استفاده شود(جلوگيري از جعل و انكار) • به سادگي محاسبه شود • تشخيص و تاييد(verify) آن آسان باشد • جعل آن از نظر محاسباتي دست نيافتني باشد • امكان ذخيره آن روي فضاي ديسك وجود داشته باشد.

  6. امضاء رقمي • مولفه ها : • الگوريتم توليد کليد(Key Generation Alg) • بصورت تصادفی يک زوج کليد عمومی توليد می کند. • الگوريتم توليد امضاء(Signature Alg) • پيغام و کليد خصوصی فرستنده را به عنوان ورودی می گيرد و امضاء را توليد می کند. • الگوريتم تاييد امضا(Signature Verification Alg) • امضاء و کليد عمومی فرستنده را به عنون ورودی می گيرد و تاييديه امضاء را به عنوان خروجی برمی گرداند.

  7. نمونه امضاء رقمي

  8. امضاء رقمي • انواع • مستقيم(Direct) : • ضعف : به امنيت كليد خصوصي فرستنده وابسته است • فرستنده می تواند ارسال پيغام را انکار کند • استفاده از timestamp به تنهايی کافی نيست. ممکن است در زمان T، کليد خصوصی فرستنده لو رفته باشد. • باواسط(Arbitrated) • وجود يك سوم شخص مشكل تعلق پيغام به فرستنده را برطرف مي‌كند • امکان مراجعه به آن در صورت بروز اختلاف

  9. امضاء رقمي با واسط • سناريوي اول (رمز متقارن، واسط پيام ها را مي بيند): • XA : M, {IDX, h(M)}Kxa • AY : {IDX, M, {IDX, h(M)}Kxa, T}Kay • عدم رعايت محرمانگي پيغام • امکان تبانی واسط با فرستنده يا گيرنده

  10. امضاء رقمي با واسط • سناريوي دوم (رمز متقارن، واسط پيام ها را نمي بيند): • XA : IDX, {M}Kxy , {IDX, h({M}Kxy)}Kxa • AY : {IDX, {M}Kxy, {IDX, h({M}Kxy)}Kxa, T}Kay • امکان تبانی واسط با فرستنده يا گيرنده

  11. امضاء رقمي با واسط • سناريوي سوم (رمز نامتقارن، واسط پيام ها را نمي بيند): • XA : IDX, {IDX, {{M}KRx}KUy}KRx • AY : {IDX, {{M}KRx}KUy , T}KRa • نياز به هيچ توافقي قبل از ارتباط نيست • در صورت لو رفتن كليد خصوصي x، برچسب زماني درست است • متن پيام در معرض ديد واسط يا شخص ديگر نيست.

  12. پروتكل‌هاي احراز اصالت • احراز اصالت دو طرفه • هر دو طرف ارتباط بايد از هويت همديگر مطلع شوند. • احراز اصالت يک طرفه • لازم است تنها يک طرف ارتباط هويت خود را اثبات کند. • مورد استفاده : يک شخص يک پيام را در يک گروه عمومی منتشر می کند.

  13. پروتكل‌هاي احراز اصالت • احراز اصالت مقدمه تبادل كليدهاي نشست است • محرمانگي و صحت زماني دو نياز اصلي پروتكل هاي تبادل كليد است. • دو خطر اساسی تبادل امن کليدهای نشست را تهديد می کند: • شنود • حملات جعل و تكرار

  14. پروتكل‌هاي احراز اصالت انواع حملات جعل و تكرار (Replay Attacks) • Simple Replay : گرفتن پيغام و ارسال آن بعد از مدتي • Logged Replay : گرفتن پيغام و ارسال قبل از اتمام “پنجره زماني” • Undetected Replay : پيغام اصلي نمي رسد و فقط پيغام جعلي مي رسد • Backward Replay : پاسخ به پيغام ارسالي بجاي گيرنده • وقتي اتفاق مي افتد كه از رمزنگاري مرسوم استفاده مي كنيم و تفاوت بين پيغامهاي ارسالي و دريافتي با مقايسه محتواي آنها ممكن نيست

  15. پروتكل‌هاي احراز اصالت P EK(Seq) V روشهاي پايه مقابله با حملات جعل و تكرار • استفاده از اعداد متوالي(Sequence Number) • استفاده از برچسب زماني(TimeStamp) • Challenge/Response : قبل از ارسال هر پيغام، فرستنده يک Nonce ارسال می کند و انتظار دارد که گيرنده به آن پاسخ دهد. EK(T) P V N P V EK(N)

  16. احراز اصالت و تبادل كليد • استفاده از رمزنگاري متقارن • سلسله مراتب دو لايه اي كليدها (Session & Master keys) • مركز توزيع كليد (KDC) مطمئن • هر شخص كليد اصلي خود را با KDC به اشتراك مي گذارد • KDC كليد جلسه را توليد مي كند • كليدهاي اصلي براي انتقال كليد جلسه به طرفين بكار مي رود

  17. يك مثال • پروتكل Needham-Schroeder 1.A→KDC:IDA , IDB , N1 2. KDC→A: {Ks, IDB, N1 ,{Ks , IDA}Kb,kdc }Ka,kdc 3.A→B: {Ks , IDA}Kb,kdc 4.B→A: {N2}Ks 5.A→B: {f(N2)}Ks

  18. پروتكل Needham-Schroeder • پروتكل فوق نسبت به Replay Attack آسيب پذير است • ممکن است کليد جلسه قبلی لو رفته باشد و بتوان جلسه جديدی تشکيل داد. • راه حل : اضافه كردن برچسب زماني 1. A→KDC: IDA , IDB 2. KDC→A: {Ks , IDB ,T ,{Ks ,IDA ,T}Kb,kdc }Ka,kdc 3. A→B: {Ks ,IDA ,T}Kb,kdc 4. B→A: {N2}Ks 5. A→B: {f(N2)}Ks

  19. پروتكلهاي احراز اصالت • استفاده از رمزنگاري نامتقارن • طرفين نياز به دانستن كليد عمومي فعلي همديگر ندارند • كارگزار شناسايي(AS) علاوه بر توزيع کليد جلسه، وظيفه ايجاد گواهي كليد عمومي را بر عهده دارد • مانند رمزنگاري مرسوم، مي توان از برچسب زماني يا nonce استفاده كرد

  20. پروتكلهاي احراز اصالت كليد عمومي و برچسب زماني 1. A→AS : IDA, IDB 2. AS→A : {IDA ,KUa ,T }KRas , {IDB ,KUb ,T }KRas 3. A→B : {IDA,KUa,T}KRas ,{IDB,KUb,T}KRas,{{Ks,T}KRa }KUb مشكل : سنكرون بودن زمان سيستم هاي طرفين

  21. پروتكلهاي احراز اصالت • كليد عمومي و nonce (پروتكل Woo-Lam) 1. A→KDC : IDA , IDB 2. KDC→A : {IDb ,KUb }KRkdc 3. A→B : {Na ,IDA }KUb 4. B→KDC : IDB , IDA , {Na }KUkdc 5. KDC→B : {IDA ,KUa}KRkdc , { {Na, KS, IDA ,IDB}KRkdc }KUb 6. B → A : { {Na ,KS, IDA ,IDB}KRkdc , Nb}KUa 7. A → B : {Nb}Ks

  22. پروتكلهاي احراز اصالت • احراز اصالت يكطرفه • نمونه اي از مورد كاربرد : E-mail • نيازمنديها : • احراز اصالت(فرستنده) • محرمانگي • راه حل • رمزنگاري مرسوم • رمزنگاري با كليد عمومي

  23. پروتكلهاي احراز اصالت • استفاده از رمزنگاري متقارن A  KDC :IDA ,IDB , NA KDC  A: {KS ,IDB ,NA ,{KS ,IDA}KB,kdc }KA,kdc A B:{KS, IDA }KB,kdc , {M}KS

  24. پروتكلهاي احراز اصالت • استفاده از كليد عمومي • هدف : محرمانگي A B:{KS }KUb , {M}KS • هدف : احراز هويت A B:M , {h(M)}KRA • احراز هويت ، بدون اطلاع طرفين از كليد عمومي يكديگر A B: M , {h(M) }KRA , {T ,IDA ,KUA}KRAS

  25. 1 B A 2 3 پروتكل‌هاي احراز اصالت • يك پروتكل سادة احراز اصالت دو طرفه

  26. 1 EA B A 2 1’ EB 2’ 3 رخنه پذيري پروتكل‌هاي احراز اصالت • يك حملة نمونه:Oracle Session Attack

  27. 1 B A 2 3 رخنه پذيري پروتكل‌هاي احراز اصالت • اصلاح پروتكل ساده احراز اصالت دو طرفه • Parallel session attack ! • Offset attack !

  28. انواع رخنه‌ها در طراحي پروتكل‌ها • كلمات عبور قابل حدس(Password guessing flaws) • كاربران كلمات عبور به اندازة كافي بزرگ يا تصادفي انتخاب نمي‌كنند. • مثل پروتكل Kerberos (نشست بعدي) يا پروتكل‌هاي login • رخنه ناشي از تازه نبودن اجزاء(Freshless flaws) • نفوذي مي‌تواند بجاي يك عامل ديگر ايفاي نقش نمايد. • مثل پروتكل NSSK • رخنههاي اُراكل (Oracle flaws) • استفاده از يك عامل مجاز براي انجام برخي محاسبات و سوء استفاده از آنها • مثل پروتكل 3Pass (نشست بعدي)

  29. انواع رخنه‌ها در طراحي پروتكل‌ها • رخنه هاي نوع (Type flaws) • تعابير مختلف از رشته‌هاي بيتي در پروتكل • مثل پروتكل Newman-Stabelbine • رخنه هاي مربوط به زمان (Timing flaws) • ساعت هاي غير همزمان • مثل پروتكل Kerberos • رخنه هاي مربوط به سيستم رمز (Cryptosystem flaws) • مثل پروتكل 3Pass

  30. رخنة نوع • ضعف عوامل دريافت كننده پيام درتشخيص و تميز بين پيامهاي دريافتي، عدم توانايي آنها در تطبيق پيام دريافتي با وضعيت خاصي از پروتكل يا ضعف در فرضيات مربوط به نحوة تطبيق پيام با وضعيت هاي خاص پروتكل • شناسايي پيام هاي پروتكل هاي مختلف در محيط اجراي چندين پروتكل • تشخيص پيام هاي مربوط به اجرا هاي مختلف يك پروتكل • تشخيص و شناسايي پيام هاي ارسالي در قدم هاي مختلف يك پروتكل • تشخيص و تفاوت قائل شدن بين تكه هاي پيام در يك قدم انتقال از پروتكل • تشخيص نوع پيام هاي اتميك از طريق انتساب هر كلمه مجزا به نوع خود

  31. رخنة نوع • پروتكل احراز اصالت و توزيع كليد Newman-Stabelbine

  32. رخنة نوع • حمله به اين پروتكل بر اثر وجود رخنة نوع • جعل اصالت A براي B و مشترك شدن يك كليد با وي توسط نفوذي 1 . EAB : A , Na 2 . B  ES: B , { A , Na , Tb}kbs , Nb 3. حذف 4 . EAB : { A , Na( = kab ) , Tb}kbs, { Nb }Na( = kab )

  33. رخنة اراكل • پروتكل كليد عمومي Needham-Schroeder • A -> B: {Na, A}PUB • B -> A: {Na, Nb}PUA • A -> B: {Nb}PUB • Na و Nb نانس و PUA و PUB كليد عمومي هستند

  34. Session 1: A to X A -> X: {Na, A}PUX X -> A: {Na, Nb}PUA A -> X: {Nb}PUX Session 2: X (as A) to B A(X) -> B: {Na, A}PUB B -> A(X): {Na, Nb}PUA A(X) -> B: {Nb}PUB رخنة اراكل

  35. پروتكل Three pass • پروتكل Three pass • A و B مي خواهند يك مقدار مخفي را با يكديگر مبادله كنند بدون اينكه از قبل كليد مشتركي داشته باشند. • فرض بر اين است كه تابع رمز مورد استفاده جابجائي پذير است يعني:

  36. پروتكل Three pass • مشكل پروتكل Three pass:

More Related