˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/slides/chap10-ap&ds-v3.pdfkug kua (b) dss...

20
1 10 " #$ Network Security, Principles and Practice,3 rd Ed. % &’ ( : * ’+, http://mehr.sharif.edu/~shahriari 2 -’. DSS

Upload: others

Post on 26-Feb-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

1���� ���� ��� ���

و امضاء رقميپروتكلهاي هويت شناسي

كتاباز10 فصلمبتني بر

Network Security, Principles and Practice,3rd Ed.

شهرياريحميد رضا: ويرايش شده توسطhttp://mehr.sharif.edu/~shahriari

2 ���� ���� ��� ���

فهرست مطالب

امضاء رقمي�پروتكلهاي هويت شناسي�DSS استاندارد امضاء رقمي�

Page 2: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

3 ���� ���� ��� ���

امضاء رقمي

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

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

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

4 ���� ���� ��� ���

امضاء رقمي

: ويژگيها�

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

محتويات پيغامعدم تغيير�

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

Page 3: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

5 ���� ���� ��� ���

امضاء رقمي

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

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

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

6 ���� ���� ��� ���

امضاء رقمي

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

در. مبتني است) كليد عمومي(امضاء رقمي صرفا بر رمزنگاري نامتقارن�و گيرنده نمي توان ند واقع براي پشتيباني از سرويس عدم انكار، فرستنده

. استفاده كنند كليد مشترك از يك

Page 4: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

7 ���� ���� ��� ���

امضاء رقمي

:مولفه ها�)Key Generation Alg( الگوريتم توليد كليد�

.بصورت تصادفي يك زوج كليد عمومي توليد مي كند�)Signature Alg( الگوريتم توليد امضاء�

و امضاء را� و كليد خصوصي فرستنده را به عنوان ورودي مي گيرد پيغام.توليد مي كند

)Signature Verification Alg( الگوريتم تاييد امضا�و تاييديه ام� و كليد عمومي فرستنده را به عنون ورودي مي گيرد ضاء امضاء

. را به عنوان خروجي برمي گرداند

Sharif Network Security Center 8

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

Page 5: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

9 ���� ���� ��� ���

امضاء رقمي

انواع�: Direct( مستقيم� (

. فقط دو طرف ارتباط دخيل هستند�به امنيت كليد خصوصي فرستنده وابسته است: ضعف�

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

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

. پيام جعل كندTدر اين صورت مهاجم مي تواند براي قبل از زمان�

)Arbitrated( باواسط�

وجود يك سوم شخص مشكل تعلق پيغام به فرستنده را برطرف مي كند�امكان مراجعه به آن در صورت بروز اختلاف�

Sharif Network Security Center 10

(a) Conventional Encryption, Arbiter Sees Message

(1) X Æ A: M || EKxa

IDX|| H M( )[ ]

(2) A Æ Y: EKayIDX M EKxa

IDX H M( )[ ] T[ ](b) Conventional Encryption, Arbiter Does Not See Message

(1) X Æ A: IDX || EKxyM[ ] || EKxa

IDX || H EKxyM[ ]( )[ ]

(2) A Æ Y: EKayIDX EKxy

M[ ] EKxaIDX H EKxy

M[ ]( )[ ] TÈ Î Í

˘ ˚ ˙

(c) Public-Key Encryption, Arbiter Does Not See Message

(1) X Æ A: IDX || EKRxIDX || EKUy

EKRxM[ ]( )[ ]

(2) A Æ Y: EKRa IDX || EKUyEKRx

M[ ][ ] ||T[ ]

Notation:X = sender M = messageY = recipient T = timestampA = Arbiter

→→

��ا,+$ء ر)'& %$ و�$#" وا�

Page 6: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

11 ���� ���� ��� ���

امضاء رقمي

: ضعف سناريوي اول�عدم رعايت محرمانگي پيغام�امكان تباني واسط با فرستنده يا گيرنده�

: ضعف سناريوي دوم�امكان تباني واسط با فرستنده يا گيرنده�

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

12 ���� ���� ��� ���

پروتكل هاي هويت شناسي

هويت شناسي دو طرفه�. هر دو طرف ارتباط بايد از هويت همديگر مطلع شوند�

هويت شناسي يك طرفه�.لازم است تنها يك طرف ارتباط هويت خود را اثبات كند�مي: مورد استفاده� يك شخص يك پيام را در يك گروه عمومي منتشر

.كند

Page 7: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

13 ���� ���� ��� ���

پروتكل هاي هويت شناسي

دو خطر اساسي تبادل امن كليدهاي جلسه را تهديد مي كند�

شنود�

حملات تكرار�

14 ���� ���� ��� ���

پروتكل هاي هويت شناسي

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

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

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

�Undetected Replay :و فقط قابل شناسايي نيست زيرا پيغام اصلي نمي رسدپيغام جعلي مي رسد

�Backward Replay without modification :پاسخ به پيغام ارساليبجاي گيرنده

Page 8: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

15 ���� ���� ��� ���

پروتكل هاي هويت شناسي

روشهاي مقابله

)Sequence Number(استفاده از اعداد متوالي�در:)TimeStamp(استفاده از برچسب زماني� گيرنده به پيغام اعتماد مي كند اگر

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

m||T YX

�Challenge/Response:Yاز بهX كه انتظار يك پيام نو X دارد، يك نانسو انتظار دارد كه پيامي كه دريافت مي كند همراه آن نا .نس باشدارسال مي كند

NYX

m||N YX

16 ���� ���� ��� ���

پروتكلهاي هويت شناسي

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

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

Page 9: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

17 ���� ���� ��� ���

پروتكلهاي هويت شناسي

Needham-Schroederپروتكل�

1. A→KDC: IDA || IDB || N1

2. KDC→A: EKa[Ks || IDB || N1 || EKb[Ks || IDA]]3. A→B: EKb[Ks || IDA]4. B→A: EKs[N2]5. A→B: EKs[f(N2)]

��ا� ����؟5و4��ا� ���� ا�� ��و���؟

18 ���� ���� ��� ���

پروتكلهاي هويت شناسي

آسيب پذير استReplay Attackپروتكل فوق نسبت به�و بتوان جلسه جديدي� ممكن است كليد جلسه قبلي لو رفته باشد

.تشكيل داد

اضافه كردن برچسب زماني: راه حل�

1. A→KDC: IDA || IDB

2. KDC→A: EKa[Ks || IDB || T || EKb[Ks || IDA || T]]3. A→B: EKb[Ks || IDA || T]4. B→A: EKs[N1]5. A→B: EKs[f(N1)]

Page 10: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

19 ���� ���� ��� ���

پروتكلهاي هويت شناسي

�Bاز طريق زير به تازه بودن پيام پي مي برد:

� |clock-T| < ∆t1+ ∆t2�∆t2, ∆t1به ترتيب اختلاف ساعت محلي باKDC و ميزان تاخير

. مورد انتظار در شبكه هستند

مهاجم ميتواند حمله! اگر ساعت فرستنده جلوتر از ساعت گيرنده باشد�! تكرار داشته باشد

20 ���� ���� ��� ���

پروتكلهاي هويت شناسي

و مقابله با آن Suppress-replayحمله� آسيب پذير Suppress_replayپروتكل فوق نسبت به حمله�

. استو گيرنده ناشي مي clockاين حمله از سنكرون نبودن� هاي فرستنده

. گيرنده باشدclock فرستنده جلوتر از clock وقتي.شود

: روشهاي مقابله�KDCچك كردن متناوب با زمان�nonceتوافق از طريق�

Page 11: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

21 ���� ���� ��� ���

پروتكلهاي هويت شناسي

-Suppressجهت مقابله با حمله(پروتكل بهبوديافتهAttack (

1. A→B: IDA|| Na

2. B→KDC: IDB || Nb || EKb[IDA || Na || Tb]3. KDC→A: EKa[IDB || Na || Ks || Tb] ||

EKb[IDA || Ks || Tb] || Nb

4. A→B: EKb[IDA || Ks || Tb] || EKs[Nb]

22 ���� ���� ��� ���

پروتكلهاي هويت شناسي

استفاده از رمزنگاري كليد عمومي�

طرفين نياز به دانستن كليد فعلي هم ندارند�

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

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

Page 12: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

23 ���� ���� ��� ���

پروتكلهاي هويت شناسي

و برچسب زماني كليد عمومي1. A→AS : IDA || IDB2. AS→A : EKRas[IDA|| KUa|| T] || EKRas[IDB||KUb||T] 3. A→B :EKRas[IDA|| KUa || T] ||

EKRas[IDB|| KUb || T] || EKUb[EKRa[Ks||T]]

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

24 ���� ���� ��� ���

پروتكلهاي هويت شناسي

و� nonceكليد عمومي

1. A→KDC : IDA || IDB2. KDC→A : EKRauth [IDb||KUb]3. A→B : EKUb[Na||IDA]4. B→KDC : IDB || IDA || EKUauth[Na]5. KDC→B :

EKRauth [IDA||KUa]||EKUb[EKRauth[Na||IDA||IDB]]

6. B → A : EKUa[EKRauth[Na||IdA||IDB||Nb]]7. A → B : EKs[Nb]

Page 13: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

25 ���� ���� ��� ���

پروتكلهاي هويت شناسي

هويت شناسي يكطرفه�E-mail: مورد كاربرد نمونه اي از�: نيازمنديها�

) فرستنده(هويت شناسي�محرمانگي�

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

26 ���� ���� ��� ���

پروتكلهاي هويت شناسي

استفاده از رمزنگاري مرسوم�

A � KDC IDA||IDB||N1

KDC � A EKA[KS||IDB||N1||EKB[KS||IDA]]

A � B EKB[KS,IDA]||EKS[M]

Page 14: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

27 ���� ���� ��� ���

پروتكلهاي هويت شناسي

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

A � B EKub [KS]||EKS[M]

احراز هويت: هدف�A � B M||EKRA[H(M)]

، بدون اطلاع طرفين از كليد عمومي يكديگر� احراز هويت A � B M||EKRA[H(M)]||EKRAS[T||IDA||KUA]

28 ���� ���� ��� ���

استاندارد امضاء رقميDigital Signature Standard

�DSS :استانداردشده توسطNIST FIPS 186مشهورترين استاندارد امضاء رقمي محسوب مي شود�

�EL Gamal

�RSA Digital Signature :استاندارد شده توسط�ISO 9776�ANSI X9.31�CCITT X.509

Page 15: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

29 ���� ���� ��� ���

DSSاستاندارد امضاء رقمي

DSSي ويژگيها� به عنوان استاندارد امضاء رقمي NISTپذيرفته شده توسط� براي توليد چكيده پيغام SHAاستفاده از الگوريتم�و كليد خصوصي فرستنده براي رمزكردن DSAاستفاده از الگوريتم�

چكيده توليد شدهو تبادل كليد� با( عدم پشتيباني از رمزنگاري )RSAدر مقايسه است متركRSA از DSAسرعت اجراي�امنيت آن به دشوار بودن محاسبه لگاريتم هاي گسسته مرتبط است�

Sharif Network Security Center 30

M

H

| |

KRa

(a) RSA Approach

M

EKRa[ H(M) ]

E D

H

CompareKUa

M

H

| |

KRaKUG

M

Sig Ver

H

Compare

k

s

rKUa

KUG

(b) DSS Approach

Page 16: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

31 ���� ���� ��� ���

استاندارد امضاء رقمي

پارامترهاي الگوريتم�

� p,q,g – global public-key Components� x - user private key� y - user public key� k - user per-message secret number

� r = (gk mod p) mod q� s = [k-1(H(M) + xr)] mod q� Signature = (r,s)� precompute gk, k-1

32 ���� ���� ��� ���

استاندارد امضاء رقمي

الگوريتم توليد امضاء�و ديگر مورد(kتوليد يك كليد تصادفي� كه بايد بعد از يكبار استفاده از بين رفته

)استفاده قرار نگيرد

بصورت زير محاسبه مي شوند) r,s(سپس زوج مرتب امضاء�� r = (gk mod p) mod q� s = [k-1(H(M) + xr)] mod q

�H(M) :از SHA-1 با استفاده از الگوريتمMمقدار درهم توليد شده

�)r,s (به پيغامMو فرستاده مي شود الحاق شده

Page 17: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

Sharif Network Security Center 33

Signing

34 ���� ���� ��� ���

استاندارد امضاء رقمي

تصديق امضاء�را دريافت مي كند (’r’,s)و’Mگيرنده�: مقادير زير را محاسبه مي كند�

w = (s’)-1 mod q u1= H(M’)w mod q u2= (r’)w mod q v = (gu1yu2 mod p) mod q

، امضاء معتبر است ’v=rاگر�

Page 18: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

Sharif Network Security Center 35

Verifying

Sharif Network Security Center 36

Page 19: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

37 ���� ���� ��� ���

استاندارد امضاء رقمي

تصديق امضاء�را دريافت مي كند (’r’,s)و’Mگيرنده�: مقادير زير را محاسبه مي كند�

w = (s’)-1 mod q u1= H(M’)w mod q u2= (r’)w mod q v = (gu1yu2 mod p) mod q

، امضاء معتبر است ’v=rاگر�

38 ���� ���� ��� ���

استاندارد امضاء رقمي

: نكاتي درباره الگوريتم�

مستقل از پيغام محاسبه مي شودrمقدار� پارامتر عمومي بستگي دارد3وkبه�

از نظر محاسباتي دست نيافتني استs از رويx يا محاسبهr از رويkمحاسبه�دشواري محاسبه لگاريتم هاي گسسته�

سبه مي الگوريتم امضاء سريع مي باشد، چون خيلي از مقدارها از پيش قابل محا�.باشند

Page 20: ˘ˇce.sharif.edu/courses/84-85/2/ce442/resources/root/Slides/Chap10-AP&DS-v3.pdfKUG KUa (b) DSS Approach. 31 -’.˙ 6˙" 7ˇ (# ˙ˇ 8 p,q,g – global public-key Components x -

39 ���� ���� ��� ���

استاندارد امضاء رقمي

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