رمزنگاري كليد عمومي

49
1 ي م و م ع د ي ل ك گاري ن ز م ر ي م و م ع د ي ل ك گاري ن ز م ر ي ندا ركلا ت ور ر ه# ب[email protected]

description

رمزنگاري كليد عمومي. بهروز ترك‏لاداني [email protected]. 1. اهداف. آشنا يي با مفاه ي م و کاربردها ي رمزنگار ي کل ي د عموم ي مقا ي سه روشها ي رمزنگار ي کل ي د عموم ي با رمز نگار ي متقارن بررسی يک نمونه از کاربرد کليد عمومی در روش توزيع کليد DH. فهرست مطالب. - PowerPoint PPT Presentation

Transcript of رمزنگاري كليد عمومي

Page 1: رمزنگاري كليد عمومي

1

رمزنگاري كليد عموميرمزنگاري كليد عمومي

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

Page 2: رمزنگاري كليد عمومي

2

اهداف

د ي کلي رمزنگاريم و کاربردهاي با مفاهييآشنا•يعموم

با يد عمومي کلي رمزنگاريسه روشهايمقا• متقارنيرمز نگار

بررسی يک نمونه از کاربرد کليد عمومی در •DHروش توزيع کليد

Page 3: رمزنگاري كليد عمومي

3

مطالبفهرست

مباني رمزنگاري کليد عمومي•مقايسه رمزنگاري متقارن و رمزنگاري کليد •

عموميكاربردهاي رمزنگاري کليد عمومي •توابع يك طرفه•يد عموميتم کلي چند الگوريمعرف•وست هايپ•

Page 4: رمزنگاري كليد عمومي

4

اري کليد عموميگمباني رمزن

8 با انگرمزنگاري کليد عمومي• دن به يزه رسي اساسا شد:يدو هدف طراح

ديع کليحل مساله توز•تاليجي ديامضا•

ه ي ارا1976ن راه حل را در ي و هلمن اوليفيد•دادند.

Page 5: رمزنگاري كليد عمومي

5

متفاوت اما يي رمزگذاری و رمزگشايد هايکل•مرتبط هستند.

د رمزگذاری از ي از کلييد رمزگشايدن به کليرس• باشد.ي ناممکن ميلحاظ محاسبات

8 ني مي همگانيرمزگذاری امر• به يازيباشد و اساسااشتراک گذاشتن اطالعات محرمانه ندارد.

بوده و ي اختصاصيگر امري از طرف دييرمز گشا•ماند.يامها محفوظ مي پيمحرمانگ

اري کليد عموميگرمزن

Page 6: رمزنگاري كليد عمومي

6

رمزگذاری کليد عمومي

ر را ي زي گامهايد عمومي کلي رمز نگاريبرا•م:يداريبرم کند.يد مي تولييد رمزگذاری و رمز گشايک زوج کليهر کاربراعالن يد رمزگذاری خود را به صورت عموميکاربران کل

باشد.ي مي مخفييد رمز گشاي که کليکنند درحاليمهر کاربر دلخواه يام رمز شده برايهمگان قادر به ارسال پ

باشند.ي( او ميد رمزگذاری )عموميبا استفاده از کل( ي )خصوصييد رمزگشايتواند با کمک کلي هر کاربر م

( او رمز شده يد رمزگذاری )عمومي که با کلييامهايپ کند.ييرمزگشا

Page 7: رمزنگاري كليد عمومي

7

رمزگذاری کليد عمومي

Page 8: رمزنگاري كليد عمومي

8

مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي

رمزنگاري مرسوم )کليد خصوصي( •استفاده از يك كليد يکسان و مخفي براي رمزگذاري •

و رمزگشاييمشكل مديريت كليدها•

نياز به توافق بر روي كليد پيش از برقراري ارتباط براي ارتباطn نفر باهم به n(n-1)/2كليد احتياج داريم

عدم پشتيباني از امضاء الكترونيكي• با كليد عموميرمزگذاریسريع تر از الگوريتمهاي •

Page 9: رمزنگاري كليد عمومي

9

رمزگذاری مرسوم )کليد متقارن( •د:ي امن بودن بايبرا•

.كليد مخفي نگه داشته شوداز متن رمز شده يام واضح از رويدن به پيرس

. باشدنا ممکننظر محاسباتي رمز اطالع از الگوريتم و داشتن نمونه هايي از پيغام

. كليد كافي نباشدنييتعبراي شده

مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي

Page 10: رمزنگاري كليد عمومي

10

ملزومات امنيتي)رمزگذاری با كليد عمومي(• بايد مخفي بماند كليددويكي از تنهابا ي متن رمز شده حتيام واضح از رويدن به پيرس

نا ممکناز نظر محاسباتي يد عموميداشتن کل. باشد

داشتن يكي از كليدها و نيز ،اطالع از الگوريتم براي ی رمزشده پيغام ها دراختيار داشتن نمونه.باشدنتعيين كليد دوم كافي

مقايسه رمزنگاري مرسوم و رمزنگاري کليد عمومي

Page 11: رمزنگاري كليد عمومي

11

؟كميلت اي جايگزيني

رمزگذاری با كليد عمومي ،از نظر كاربردي•بيش از آنكه جايگزيني براي رمزگذاری

حل يبرامرسوم باشد, نقش مكمل آنرا د.بازي مي كن توزيع كليدمشکالت

Page 12: رمزنگاري كليد عمومي

12

Misconceptions!

دو تصور اشتباه درباره کليد عمومی•!رمزنگاری با کليد عمومی امن تر است

.در هر دو روش رمزنگاری امنيت به طول کليد وابسته است

مسئله توزيع کليد در رمزنگاری با کليد عمومی برطرف •شده است

چگونه مطمئن شويم کليد عمومی لزوما متعلق به شخصادعاکننده است؟!

.توزيع کليد عمومی آسانتر است، ولی بديهی نيست

Page 13: رمزنگاري كليد عمومي

13

نمادها و قراردادها

د رمزگذاریي: کليد عموميکل•شخص يد را براين کليا a با KUaم.يدهي نشان م

ييد رمز گشاي: کليد خصوصيکل•شخص يد را براين کليا aبا KRa م.يدهي نشان م

Page 14: رمزنگاري كليد عمومي

14

محرمانگي و احراز هويت به صورت همزمان

ت به ي و احراز هوي: محرمانگيد عمومي کلرمزگذاریصورت همزمان

Page 15: رمزنگاري كليد عمومي

15

رمزگذاری کليد كاربردهاي عمومي

دسته بندي كلي كاربردها•

ي حفظ محرمانگيبرايي : / رمز گشارمزگذاری

: ن يام و معي حفظ اصالت پيبراامضاء رقمي

ام با امضاء يوند دادن پيام )پينمودن فرستنده پ

کننده(

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

يمخف

Page 16: رمزنگاري كليد عمومي

16

يتمهاي الگوري برخيکاربردهايد عموميکل

توزيع كليد امضاء رقمي/ رمزگذاری

ييرمز گشا تميالگور

√ √ √ RSA

√× ×

Diffie Hellman

× √ × DSS

Page 17: رمزنگاري كليد عمومي

17

رمزگذاری کليد يگاه عمليجاعمومي

تر از يار طوالنيتمها بسين نوع از الگوري ايدهايکل•باشند.يد متقارن( مي مرسوم )کليتمهايالگور

الگوريتمRSA امنيتی در حد يتي ب1024 با پيمانه دارد. يتي ب80الگوريتمهای متقارن با کليدهای

ي تمهاياز الگوري کليد عمومي تمهايالگورسرعت •ن تر است.يي پارمزگذاری مرسوم

RSA8 ي تقر د متقارن ي کليبار کند تر از رمزها 1000باباشد. يکسان( ميت ي)با امن

Page 18: رمزنگاري كليد عمومي

18

رمزگذاری کليد يگاه عمليجاعمومي

تمها به حل مساله ين الگوريامروزه کاربرد اشود. يتال محدود ميجي ديد و امضايع کليتوز

( يه طراحي اوليزه هاي)مطابق اهداف و انگ

Page 19: رمزنگاري كليد عمومي

19

طرفه توابع يك

افتن مقدار يم اگر ييک طرفه گوي را ).(fک طرفه: تابع يتابع • ي از لحاظ محاسباتي مقدار خروجي تابع از رويورود

ناممکن باشد. کند!ين چرخ گوشت عمل ميک طرفه همانند ماشيک تابع ي•

ي را بازسازي توان ورودي )گوشت چرخ شده ( نمي خروجي از رو کرد.

Page 20: رمزنگاري كليد عمومي

20

چهيدر

ک ي تابع يم تا ورودياز داري کاربردها نياما در برخ•م...ين کنيطرفه را مع

که با يچه در تابع: اطالعات اضافيک دريوجود • کارا معکوس يم تابع را به روشيتوانيدانستن آنها م

م. يکن

Page 21: رمزنگاري كليد عمومي

21

چه داري درطرفه توابع يك

به طوريكه :).(fkمجموعه اي از توابع معكوس پذير •

محاسبه y= fk(x) با دانستن k و xآسان باشد

محاسبه fk-1(y) x= با دانستنk و yآسان باشد

محاسبه fk-1(y) x= با دانستن y و مخفي بودن k

امكانپذير نباشد

Page 22: رمزنگاري كليد عمومي

22

چه دار به ي درطرفه توابع يكک ابزار يعنوان

ي براي مناسبي ابزارهاتوابع يك طرفه دريچه دار•

تال يجي دي رمزگذاری و امضايتمهاي الگوريطراح

باشند.يم

توابع يك طرفه شود وجود يقت ثابت ميدر حق•

وجود ي براي شرط الزم و کافدريچه دار

تال امن يجي دي رمزگذاری و امضايتمهايالگور

باشد. يم

Page 23: رمزنگاري كليد عمومي

23

RSA يتم رمز نگاري الگوركليات

كليات• توسطAdleman- Shamir- Rivest در 1977در سال MIT

ارائه شد مشهورترين و پركاربردترين الگوريتم رمزگذاری كليد

عمومي ييمانه ايپمبتني بر توان رسانياستفاده از اعداد طبيعي خيلي بزرگکه امنيت آن ناشي از دشوار بودن تجزيه اعداد بزرگ ،

حاصلضرب دو عامل اول بزرگ هستند، می باشد. مستندات مربوط به آن تحت عنوانPKCS استاندارد

شده است.

Page 24: رمزنگاري كليد عمومي

24

RSA نمادگذاري

•Nمانه محاسباتي : پ

•eرمزگذاری ي: نما

•dيي رمزگشاي: نما

•Mح متعلق بهيام ، عدد صحي: پ

باشد.ي مdچه تابع همان ي: درRSAتابع •

تابع معکوس:•

NZ

Nxx e mod

Nxx d mod

Page 25: رمزنگاري كليد عمومي

25

RSAمباني رياضي

Medمي خواهيم: • mod N = M

يك نتيجة فرعي از قضية اولر:• داشته باشيم به نحوي كهn و m و دو عدد صحيح q و pاگر دو عدد اول –

n=p.q 0 و <m < n:داريم ، mk.(n)+1 mod n = mk.(p-1)(q-1)+1 mod n = m mod n

است n تعداد اعداد کوچکتر از (n) يك عدد صحيح دلخواه و kكه در آن .( (n)=(p-1)(q-1)) اول هستند nکه نسبت به

:بنابر اين بايد داشته باشيم•e.d = k. (n) +1

e.d = 1 (mod (n) ) يا به عبارت ديگر

gcd((n), e) =1بنابر اين بايد •

Page 26: رمزنگاري كليد عمومي

26

RSA Key generation

Page 27: رمزنگاري كليد عمومي

27

RSA Encryption and Decryption

Page 28: رمزنگاري كليد عمومي

28

RSA و پرتکل قراردادها

را مي دانندNهم فرستنده و هم گيرنده مقدار • را مي داندeفرستنده مقدار •

( : کليد عمومیN , e)

را مي داندdتنها گيرنده مقدار •( : کليد خصوصیN, d)

:نيازمنديها• محاسبهMe و Cdآسان باشد محاسبهd غيرممكن باشدکليد عمومی با دانستن

Page 29: رمزنگاري كليد عمومي

29

RSA مثال-

p = 17, q = 11, n = p*q= 187

(n) = 16*10 =160, pick e=7, d.e=1 mod (n) d = 23

Page 30: رمزنگاري كليد عمومي

30

محاسبه نماي کارا برايروشها

ابداع ي متفاوتيتمهاي الگورab (mod N) محاسبه يبرا•شده است.

د يفرض کنbkbk-1…b0عدد 2 يش مبناي نما b .باشد م داشت:ين خواهيبنابرا

0

22

0

i

iib

b

i

b aaa

nnananai

i

i

i

bb

b modmodmodmod0

2

0

2

Page 31: رمزنگاري كليد عمومي

31

تم توان و ضربيالگور

نمود:ير را طراحيتم زيتوان الگورين مبنا ميبر ا•

Page 32: رمزنگاري كليد عمومي

32

تم توان و ي الگوريمثال عددضرب

ab ي براييمانه ايع پيتم توان رساندن سريجه الگورينت•mod nر ي که مقادa،b و n:عبارتند از

•a=7,b=560=(1000110000)2,n=561

Page 33: رمزنگاري كليد عمومي

33

RSAحمالت وارد بر

(Brute Forceآزمون جامع)حمله •طول كليد با پيدايش هر نسل جديد از پردازنده ها افزايش مي يابد،

ضمن اينكه قدرت پردازشي هكرها زياد مي شود!(طول کليد معادل تعداد بيتهای پيمانه محاسباتN.می باشد )

ياضيرحمالت •مانه يه پيتجزN محاسبه(N) براي Nهاي بزرگ محاسبهd

حمله زماني• را يتواند اطالعاتي مواگشايي رمزا يات رمزگذاری يعملزمان اجراي

د افشاء کند.يدر مورد کل

Page 34: رمزنگاري كليد عمومي

34

RSA ياضيرحمالت

( :وستيپ )Stanfordدر دانشگاه Dan Bonehمقاله •Twenty Years of Attacks on the RSA Cryptosystem 1999

Page 35: رمزنگاري كليد عمومي

35

ياضي حمالت ريراه حل برا

م.يينمايش پردازش ميام را پي پRSAقبل از اعمال تابع •

OAEP: Optimal Asymmetric Encryption Paddingتم يالگور•ر ي( با کمک اعمال توابع درهم ساز ومقادPKCS#1 V.2)استاندارد

(3 وستيپکند. )يام را پردازش مي پيتصادف

Page 36: رمزنگاري كليد عمومي

36

به راههاي مقابله با حمله زمانيRSA

. با زمان ثابت محاسباتي رساندناستفاده از توان•

اضافه كردن تاخيرهاي تصادفي•

قرار دادن اعمال اضافی و گمراه کننده در بين •محاسبات

Page 37: رمزنگاري كليد عمومي

37

Diffie Hellmanتم يالگور

د.ي تبادل کليبرا•DHت برمفروضات يامن•کنند.ي توافق م و pر ي مقاديبر رو••q ک عدد اول و ي باشد. ين عدد مي ايک مولد براي

Page 38: رمزنگاري كليد عمومي

38

Diffie - Hellmanتم يالگور

Alice Bob

کندي را انتخاب مXA يمقدار تصادف کندي را انتخاب مXBيمقدار تصادف

qY AXA mod

qY BXB mod

qYK AXBAB mod qYK BX

AAB mod

د مشترک عبارت است ازيکل qBA XX mod

α , q : عمومی

Page 39: رمزنگاري كليد عمومي

39

انیيحمله مرد م

ن يان طرفي ميمهاجم به عنوان کانال ارتباط•کند.يعمل م

شوديحمله فعال محسوب م•

را تهديد می کند.Diffie-Hellmanتم يالگور•

Page 40: رمزنگاري كليد عمومي

40

انهي در ميحمله مرد

Alice

YA

YK

Kevin Bob

YK’

YB

qK KA XX mod1

qK KA XX mod'2

Alice گمان د يکند کليم

K1 را با Bob به

اشتراک گذاشته

است

Bob گمان K2د يکند کليم

به Aliceرا با اشتراک

گذاشته است

Page 41: رمزنگاري كليد عمومي

41

وست هايپ

Page 42: رمزنگاري كليد عمومي

42

1وست يپ

ک طرفهيتوابع

Page 43: رمزنگاري كليد عمومي

43

ک طرفهيتوابع

م اگر:ييک طرفه گوي را ).(fف: تابع يتعر•کسان باشد.ي ي و خروجيطول ورود–

– f).(باشد قابل محاسبه ييدر زمان چند جمله ا.

–f-1).(قابل محاسبه ي تصادفي در زمان چند جمله ا .نباشد

,Pr [ ( ( )) where ( ) ( )]n

R

k

M wM k N n N M f w y f y f w n

,

Pr [ ( ( )) where ( ) ( )]nR

k

M wM k N n N M f w y f y f w n

توجه: f).( 8 تابع• ست.يک نيک به ي لزوماw 8 و yمقدار • ست.يکسان ني لزوما

Page 44: رمزنگاري كليد عمومي

44

…يري معکوس پذيسخت

ن ي هر ماشيبراMنگ يتور

Mن ي ماشيانتخابها

را حد اکثر بر ).(f تابع Mنيماش ها معکوس ي از ورودn-k يرو

کند.يم

, Pr [ ( ( )) where ( ) ( )]n

R

k

M wM k N n N M f w y f y f w n

, Pr [ ( ( )) where ( ) ( )]n

R

k

M wM k N n N M f w y f y f w n

يعي هر ثابت طبيبراk

به ي هاn يبرا بزرگياندازه کاف

ر محاسبه ي زي فضاياحتمال بر رو:شوديم

w يانتخاب تصادف

Page 45: رمزنگاري كليد عمومي

45

1وست يپ

RSA ياضيرحمالت

Page 46: رمزنگاري كليد عمومي

46

Factoring Large integer

• Open Problem: Is breaking RSA as hard as factoring:

Fact: Let N,e be an RSA public key. Given the private key d, one can efficiently factor the modulus N=pq, Conversely, given the factorization of N, one can efficiently recover d.

Page 47: رمزنگاري كليد عمومي

47

Low Private Exponent

• Fast decryption requires small d.• Theorem(M. Wiener)

– Let N=pq with qp2q. Let dN0.25/3. Given N,e with ed=1 mod (N), Marvin can efficiently recover d.

• Solutions.– Large e: using N,e , where e= e+t(N) for some large t .

Usually, eN1.5 is sufficient.– Using CRT to accelerate decryption. However, given N,e, there

exists an attack to factor N in O(min(dp1/2, dq

1/2)). Hence dp,dq cannot be too small.

Page 48: رمزنگاري كليد عمومي

48

3وست يپ

OOptimal ptimal AAsymmetric symmetric EEncryption ncryption PPaddingadding

Page 49: رمزنگاري كليد عمومي

49

OAEP

s t

r

G

H

0k1M r :يمقدار تصادفMامي: پ:0k1 ک رشته شامل يk1عدد صفر

G و Hتوابع در هم ساز :

به هم t وsدر انتها دو رشته RSAالحاق شده و به تابع

شوند.يخورانده م

به راحتی عمليات t و sبا دانستن معکوس ميشوند.

r = H(s) + tM|| 0k1 = G(r) + s