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

Preview:

DESCRIPTION

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

Citation preview

1

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

بهروز تركالداني ladani@eng.ui.ac.ir

2

فهرست مطالب

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

حمالت

3

امضاء رقمي

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

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

نسبت دهد!

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

4

امضاء رقمي

ويژگيها :•

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

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

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

5

امضاء رقمي

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

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

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

6

امضاء رقمي

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

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

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

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

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

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

7

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

8

امضاء رقمي

انواع•

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

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

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

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

9

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

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

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

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

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

10

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

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

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

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

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

11

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

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

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

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

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

12

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

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

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

منتشر می کند.

13

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

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

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

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

14

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

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

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

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

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

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

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

15

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

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

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

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

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

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

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

N

P EK(N) V

PEK(Seq)

V

PEK(T)

V

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

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

( 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

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

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

A

3

2

1AN

ABKAB NN ,

ABKBN

B

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

26

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

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

2

11N

ABKNN 12 ,

BEAAEB

2N

ABKNN 23 ,

1’

2’

3 ABKN2

27

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

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

A

3

2

1 AN

ABAB KBKA NN ,

BN

B

Parallel session attack !Offset attack !

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 مثل پروتكل •

29

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

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

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

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

Kerberos مثل پروتكل •

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

30

رخنة نوع

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

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

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

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

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

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

نوع خود

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

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 )

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 كليد عمومي

هستند

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مشكل پروتكل •

Recommended