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

36
1 و ي م ق اء ر ض م ا و ي م ق اء ر ض م ا ت لصا ا ار ر ح ا هاي كل ت رو پ ت لصا ا ار ر ح ا هاي كل ت رو پ ي ندا ركلا پ ور ر ه& ب[email protected]

Upload: nen

Post on 12-Jan-2016

63 views

Category:

Documents


0 download

DESCRIPTION

امضاء رقمي و پروتكلهاي احراز اصالت. بهروز ترك‏لاداني [email protected]. 1. فهرست مطالب. امضاء رقمي پروتكلهاي احراز اصالت آ سيب پذيري پروتكل هاي رمزنگاري نسبت به حملات. امضاء رقمي. چرا به امضاء رقمي نياز داريم؟ - PowerPoint PPT Presentation

TRANSCRIPT

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

1

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

بهروز تركالداني [email protected]

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

2

فهرست مطالب

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

حمالت

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

3

امضاء رقمي

چرا به امضاء رقمي نياز داريم؟•

: گيرنده مي تواند يك پيغام جعلي توسط گيرندهجعل–را بسازد)با استفاده از كليد توافق شده( و آنرا به فرستنده

نسبت دهد!

: فرستنده مي تواند سناريوي توسط فرستندهانكار–فوق را بهانه قرار دهد و پيغام فرستاده شده را منكر شود!

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

4

امضاء رقمي

ويژگيها :•

زمان و تاريخ ارسال، فرستنده هويتامكان تصديق–

تصديق محتويات پيغام–

امكان تصديق توسط طرف سوم)در صورت بروز –اختالف(

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

5

امضاء رقمي

:نيازمنديها•

رشته بيتي توليد شده وابسته به پيام اصلي باشد.–از اطالعات منحصر به فرستنده استفاده شود)جلوگيري از جعل و –

انكار(به سادگي محاسبه شود–( آن آسان باشدverifyتشخيص و تاييد)–جعل آن از نظر محاسباتي دست نيافتني باشد–امكان ذخيره آن روي فضاي ديسك وجود داشته باشد.–

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

6

امضاء رقمي

:مولفه ها•(Key Generation Algالگوريتم توليد کليد)–

بصورت تصادفی يک زوج کليد عمومی توليد می کند.•

(Signature Algالگوريتم توليد امضاء)–پيغام و کليد خصوصی فرستنده را به عنوان ورودی می •

گيرد و امضاء را توليد می کند.

(Signature Verification Alg) الگوريتم تاييد امضا–امضاء و کليد عمومی فرستنده را به عنون ورودی می •

گيرد و تاييديه امضاء را به عنوان خروجی برمی گرداند.

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

7

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

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

8

امضاء رقمي

انواع•

( :Directمستقيم)–ضعف : به امنيت كليد خصوصي فرستنده وابسته است•

فرستنده می تواند ارسال پيغام را انکار کند–، کليد T به تنهايی کافی نيست. ممکن است در زمان timestampاستفاده از –

خصوصی فرستنده لو رفته باشد.

(Arbitratedباواسط)–وجود يك سوم شخص مشكل تعلق پيغام به فرستنده را برطرف مي كند•امکان مراجعه به آن در صورت بروز اختالف•

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

9

با واسطامضاء رقمي

سناريوي اول )رمز متقارن، واسط پيام ها را مي بيند(:•

XA : M, {IDX, h(M)}Kxa

AY : {IDX, M, {IDX, h(M)}Kxa, T}Kay

عدم رعايت محرمانگي پيغام•امکان تبانی واسط با فرستنده يا گيرنده–

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

10

با واسطامضاء رقمي

سناريوي دوم )رمز متقارن، واسط پيام ها را نمي بيند(:•

XA : IDX, {M}Kxy , {IDX, h({M}Kxy)}Kxa

AY : {IDX, {M}Kxy, {IDX, h({M}Kxy)}Kxa, T}Kay

امکان تبانی واسط با فرستنده يا گيرنده–

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

11

با واسطامضاء رقمي

سناريوي سوم )رمز نامتقارن، واسط پيام ها را نمي بيند(:•

XA : IDX, {IDX, {{M}KRx}KUy}KRx

AY : {IDX, {{M}KRx}KUy , T}KRa

نياز به هيچ توافقي قبل از ارتباط نيست– برچسب زماني درست است،xدر صورت لو رفتن كليد خصوصي –متن پيام در معرض ديد واسط يا شخص ديگر نيست.–

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

12

پروتكل هاي احراز اصالت

دو طرفهاحراز اصالت•هر دو طرف ارتباط بايد از هويت همديگر مطلع شوند.–

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

منتشر می کند.

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

13

پروتكل هاي احراز اصالت

احراز اصالت مقدمه تبادل كليدهاي نشست است•محرمانگي و صحت زماني دو نياز اصلي پروتكل •

هاي تبادل كليد است.دو خطر اساسی تبادل امن کليدهای نشست را •

:تهديد می کندشنود–حمالت جعل و تكرار–

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

14

پروتكل هاي احراز اصالت

(Replay Attacks جعل و تكرار )انواع حمالت

•Simple Replay : گرفتن پيغام و ارسال آن بعد از مدتي

•Logged Replay : ”گرفتن پيغام و ارسال قبل از اتمام “پنجره زماني

•Undetected Replay : پيغام اصلي نمي رسد و فقط پيغام جعلي ميرسد

•Backward Replay : پاسخ به پيغام ارسالي بجاي گيرندهوقتي اتفاق مي افتد كه از رمزنگاري مرسوم استفاده مي كنيم و تفاوت –

بين پيغامهاي ارسالي و دريافتي با مقايسه محتواي آنها ممكن نيست

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

15

پروتكل هاي احراز اصالت

جعل و تكرارروشهاي پايه مقابله با حمالت

(Sequence Numberاستفاده از اعداد متوالي)–

(TimeStampاستفاده از برچسب زماني)–

–Challenge/Response: ،قبل از ارسال هر پيغام

ارسال می کند و انتظار Nonce فرستنده يک

دارد که گيرنده به آن پاسخ دهد.

N

P EK(N) V

PEK(Seq)

V

PEK(T)

V

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

16

احراز اصالت و تبادل كليد

استفاده از رمزنگاري متقارن•( Session & Master keysسلسله مراتب دو اليه اي كليدها )–( مطمئنKDCمركز توزيع كليد )–

به اشتراك مي گذاردKDCهر شخص كليد اصلي خود را با ••KDCكليد جلسه را توليد مي كند كليدهاي اصلي براي انتقال كليد جلسه به طرفين بكار مي •

رود

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

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

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

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

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

19

پروتكلهاي احراز اصالت

استفاده از رمزنگاري نامتقارن•طرفين نياز به دانستن كليد عمومي فعلي همديگر –

ندارند

( عالوه بر توزيع کليد جلسه، ASكارگزار شناسايي)– را بر عهده داردگواهي كليد عموميوظيفه ايجاد

مانند رمزنگاري مرسوم، مي توان از برچسب زماني يا –nonceاستفاده كرد

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

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

: سنكرون بودن زمان سيستم هاي طرفينمشكل

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

21

پروتكلهاي احراز اصالت

( Woo-Lam )پروتكل nonceكليد عمومي و •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

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

22

پروتكلهاي احراز اصالت

احراز اصالت يكطرفه•E-mailمورد كاربرد : نمونه اي از –نيازمنديها :–

احراز اصالت)فرستنده(•محرمانگي•

راه حل–رمزنگاري مرسوم•رمزنگاري با كليد عمومي•

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

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

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

24

پروتكلهاي احراز اصالت

استفاده از كليد عمومي•هدف : محرمانگي–

A B : {KS }KUb , {M}KS

هدف : احراز هويت–A B: M , {h(M)}KRA

احراز هويت ، بدون اطالع طرفين از كليد عمومي يكديگر–

A B: M , {h(M) }KRA , {T ,IDA ,KUA}KRAS

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

25

پروتكل هاي احراز اصالت

A

3

2

1AN

ABKAB NN ,

ABKBN

B

يك پروتكل سادة احراز اصالت دو طرفه

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

26

رخنه پذيري پروتكل هاي احراز اصالت

:يك حملة نمونه Oracle Session Attack

2

11N

ABKNN 12 ,

BEAAEB

2N

ABKNN 23 ,

1’

2’

3 ABKN2

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

27

رخنه پذيري پروتكل هاي احراز اصالت

اصالح پروتكل ساده احراز اصالت دو طرفه

A

3

2

1 AN

ABAB KBKA NN ,

BN

B

Parallel session attack !Offset attack !

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

28

انواع رخنه ها در طراحي پروتكل ها

(Password guessing flaws)كلمات عبور قابل حدس•كrاربران كلمrات عبrور بrه انrدازة كrافي بrزرگ يrا تصrادفي انتخrاب –

نمي كنند.login )نشست بعدي( يا پروتكل هاي Kerberos مثل پروتكل •

(Freshless flaws)رخنه ناشي از تازه نبودن اجزاء• نفوذي مي تواند بجاي يك عامل ديگر ايفاي نقش نمايد.–

NSSK مثل پروتكل •

uراكل رخنه• (Oracle flaws)هاي ااسrتفاده از يrك عامrل مجrاز بrراي انجrام بrرخي محاسrبات و سrوء –

استفاده از آنها )نشست بعدي(3Pass مثل پروتكل •

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

29

انواع رخنه ها در طراحي پروتكل ها

(Type flaws)رخنه هاي نوع • تعابير مختلف از رشته هاي بيتي در پروتكل–

Newman-Stabelbineمثل پروتكل •

(Timing flaws)رخنه هاي مربوط به زمان • ساعت هاي غير همزمان–

Kerberos مثل پروتكل •

Cryptosystem)رخنه هاي مربوط به سيستم رمز •flaws)3Pass مثل پروتكل •

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

30

رخنة نوع

تشخيص و تميز ضعف عوامل دريافت كننده پيام در•بين پيامهاي دريافتي، عدم توانايي آنها در تطبيق پيام

دريافتي با وضعيت خاصي از پروتكل يا ضعف در فرضيات مربوط به نحوة تطبيق پيام با وضعيت هاي

خاص پروتكل شناسايي پيام هاي پروتكل هاي مختلف در محيط اجراي چندين پروتكل–

تشخيص پيام هاي مربوط به اجرا هاي مختلف يك پروتكل– تشخيص و شناسايي پيام هاي ارسالي در قدم هاي مختلف يك –

پروتكل تشخيص و تفاوت قائل شدن بين تكه هاي پيام در يك قدم انتقال از –

پروتكل تشخيص نوع پيام هاي اتميك از طريق انتساب هر كلمه مجزا به –

نوع خود

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

31

رخنة نوع

aNABA ,:.1

2 . : , , , ,B S B A N T Na b kbs b

3 . : , , , , , , ,S A B N kab T A kab T Na b kas b kbs b

4 . : , , ,A B A kab T Nb kbs b kab

-Newmanپروتكل احراز اصالت و توزيع كليد •Stabelbine

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

32

رخنة نوع

حمله به اين پروتكل بر اثر وجود رخنة نوع• و مشترك شدن يك كليد با وي توسط نفوذيB براي A جعل اصالت–

1 . EA B : A , Na

2 . B ES : B , { A , Na , Tb }kbs , Nb

حذف .3

E . 4A B } :A , Na = )kab ( T ,b {kbs , }Nb{ Na( kab = )

. 1EA B :A , Na

. 2 BE S : , B }A , NaT , b {kbs , Nb

حذف3.

4 . EA B : { A , Na ( = kab ) , Tb }kbs , { Nb }Na( = kab )

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

33

رخنة اراكل

Needham-Schroeder پروتكل كليد عمومي •

A -> B: {Na, A}PUB

B -> A: {Na, Nb}PUA

A -> B: {Nb}PUB

A -> B: {Na, A}PUB

B -> A: {Na, Nb}PUA

A -> B: {Nb}PUB

•Na و Nb نانس و PUA و PUB كليد عمومي

هستند

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

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

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

35

Three passپروتكل

Three passپروتكل •– A و B مي خواهند يك مقدار مخفي را با يكديگر مبادله

كنند بدون اينكه از قبل كليد مشتركي داشته باشند.مز مورد استفاده جابجائي رفرض بر اين است كه تابع –

پذير است يعني:

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

36

Three passپروتكل

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