Transcript
Page 1: על מפתחות ופרוטוקולים

04/20/23 1

על מפתחות ופרוטוקולים

Page 2: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 2

על מפתחות

פרמטרים לבחירה אורך המפתח

תלוי באלגוריתם ההצפנה

זמן החיים של המפתחנמדד בזמן או בכמות תעבורה מוצפנת

שיקולים בבחירת אורך המפתחסוג המידע המוצפן

מידע שעובר על קו תקשורת לעומת מידע מאוחסן בקובץזמן החיים של המסמך המוצפן

תכנית התקפה על יעד למחר•מסמך משפטי שתקף עשר שנים•

Page 3: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 3

על מפתחות

שיקולים בבחירת זמן חיים של מפתחמשך הזמן שבו המפתח נמצא בשימוש

-ברור שצריך להיות קטן משמעותית מהwork factor

כמות המידע שמוצפן בעזרת אותו מפתחברור שצריך להיות קטן משמעותית ממספר בלוקי הקלט האפשריים

הנזק שיגרם במידה ומפתח ייחשף

Page 4: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 4

ניהול מפתחות

יצור בטוח של מפתחות ולא אקראיים מפתחות חייבים להיות(

אקראיים-לכאורה( רצוי לייצר מפתח פרטי )מתוך זוג מפתחות( באמצעי

פיסי מאובטח. רצוי שהמפתח הפרטי לעולם לא יעזוב את האמצעי הפיסי.

-המפתח הציבורי חייב להיות מלווה בCertificate

הפצה של מפתחותאחסון בטוח של מפתחות

Page 5: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 5

ניהול מפתחות )המשך(עדכון מפתחות

במערכות מפתח ציבורי, יש לאמת את המפתח הציבוריבמערכות סימטריות, דרוש פרוטוקול הסכמה על מפתחות

במידת הצורך, מפתחות צריכים להיות מגוביםRevocation שלילת מפתחות -

במערכות מפתח ציבורי, ליוצר המפתח בד”כ אין שליטה עלמספר העותקים המופצים של המפתח הציבורי. דרוש ליצר

“רשימה שחורה” של מפתחות.CRL – Certificate Revocation List

Page 6: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 6

הסכמה על מפתחות

אלגוריתם מפתח ציבורי לכל אחד מהצדדים מפתח ציבורי ומפתח

פרטי כל אחד מהצדדים יוצר סוד משותף, על

ידי שימוש במפתח הפרטי שלו, ובמפתח הציבורי של הצד השני

Diffie-Hellman

Page 7: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 7

Diffie-Hellman

אלגוריתם להסכמה על מפתחותטכנולוגית מפתח ציבורי יהיp ראשוני מספר יהיg(* יוצר של GF)p החבורה הכפלית של ,

(GF)pאליס ובוב המשתתפים באלגוריתםמסתמכים על הקושי לחשב לוגריתם דיסקרטי

Page 8: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 8

בובאליס

1)x,gx(mod p) y,gy(mod p)

2)gx(mod p) gy(mod p)

3)(gy)x=gyx(mod p) (gx)y=gxy(mod p)

DH Protocol )agree on secret symmetric key(

Page 9: על מפתחות ופרוטוקולים

Diffie-Hellman Algorithm

Page 10: על מפתחות ופרוטוקולים

Diffie-Hellman Examplehave

prime number q = 353 primitive root = 3

A and B each compute their public keysA computes YA = 397 mod 353 = 40B computes YB = 3233 mod 353 = 248

then exchange and compute secret key:for A: K = )YB(XA mod 353 = 24897 mod 353 = 160for B: K = )YA(XB mod 353 = 40233 mod 353 = 160

attacker must solve:3a mod 353 = 40 which is harddesired answer is 97, then compute key as B does

Page 11: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 11

פרוטוקולDiffie-Hellman חשוף להתקפת “האיש שבאמצע” )מחליף גם את אליס וגם את

בוב (: פתרון

-שימוש בCertificates עבור מפתחות DH חתימה על המפתח הציבורי באמצעות אלגוריתם

(DSAאו RSA ) חתימה דיגיטלית

Page 12: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 12

-Authenticationאימות זהוי

Authentication הוא תהליך שבאמצעותו ניתן לוודא לגבי מידע מסוים

)את זהות השולח )או יוצר המידע - את מקוריות המידעAuthenticity - את שלימות המידעIntegrityאת הזמן שבו נשלח המידע

Page 13: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 13

Authenticationסוגי

Authentication)של אדם או קבוצה )עסק Authentication ,של מכונה )מחשב IP,

URL) Authentication- של הודעה – שימוש ב

MAC ראינו כבר בפרק זה נדבר על אמות זהוי באמצעות

פרוטוקולים קריפטוגרפיים. אמצעים אחרים בפרק הבא.

Page 14: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 4 14

Protocols for Authentication and Key Distribution

1.The goal of the protocol is usually the mutual authentication of the two parties and the exchange of a new symmetric key

2.The particular algorithm is usually not important

Page 15: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 4 15

Protocols for Key Distribution1.Symmetric, only Two Parties.

1. Secure channel or Diffie-Helman 2. Symmetric, using third party – Key

Distribution Center – KDC )Needham protocol next(

P likes to communicate with R KP and KR are symmetric keys with KDC

P sends to KDC )P, R, ID(

KDC to P: E))ID, R, KPR, E))KPR,P(,KR((, KP(

P sends to RDisadvantage: every new session needs KDC, replay.

Page 16: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 16

Needham Protocol )symmetric(Problem - replay step 3

Page 17: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 17

Denning’s Protocol

1. A KDC: IDAIDB

2. KDC A: Eka[KSIDBTEKb

[KSIDAT]]

3. A B: Ekb[KSIDAT]

4. B A: Eks[N1] - Challenge

5. A B: Eks[f)N1(] - Response

B can check the difference between his clock and the timestamp in step 3

Problem – synchronizing clocks

Page 18: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 18

Protocol Newman

1. A B: IDANa

2. B KDC: IDBNbEkb[IDANaTb]

3. KDC A: Eka[IDBNaKsTb]EKb

[IDA KSTb]Nb

4. A B: Ekb[IDAKsTb]Eks

[Nb]All protocols until now used symmetric keys

Page 19: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 19

Protocols For Key Distribution

3. Asymmetric, without third partyP to R: ER )DP)K(

R to P: E)n, K(P to R E)n+1, K(

disadvantage: need to know public keys!Solution – send your key?No! man in the middle problem!

Page 20: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 4 20

4. Using third party to get public keys. KDC to P: EP)DC)R public key((KDC to R: ER)DC)P public key((

continue as before!

How both P and R know that Dc is the signature of KDC?

Answer: Certificates!

Protocols For Key Distribution

Page 21: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 21

Protocol Woo-Lam1. A -> KDC: IDA IDB

A מפתח ציבורי של קיבל B חתום ע"יKDC

2. KDC-> A: EKRauth [IDB KUb]

A -3שולח אתגר ל .A -> B: EKUb [Na || IDa ] B

4. B-> KDC: IDBIDAEKUauth[NA]

5. KDC-> B: EKRauth[IDAKua]EKUb[EKRauth

[NaKsIDB]]

B -מקבל מKDC את המפתח הסימטרי ואת האתגר של Aמוצפן במפתח שלו

6. B -> A: EKUa[EKRauth

[NaKsIDB]Nb]

B -שולח חזרה לA את האתגר של Aוכן שולח אתגר שלו

7. A -> B: Eks[Nb]

A -שולח ל Bאת האתגר שלו מוצפן במפתח הסימטרי היא עכשוית KDC ו- B שהתקשורת בין A מבטיחים ל- 3, 4, 5, 6שים לב שצעדים

.B שלח ל- Aואוטנטית ושהוחזר האתגר ש-

Page 22: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 22

Other Protocols

1. Mental poker2. Electronic voting3. Oblivious transfer4. Secret sharing

Page 23: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 23

Mental Poker

Page 24: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 24

Mental Poker – Key Distribution

Suppose Bill wants to update its public key Without the KDC knowing the pair

((Kb,Kb-1

KDC will send a stream of encrypted pairs.Bill will select a pair encrypt it with old key and send to KDC. KDC will decrypt it and send back to Bill who will decrypt it

Page 25: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 25

Electronic Voting

Page 26: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 3 26

Oblivious Transfer

Page 27: על מפתחות ופרוטוקולים

04/20/23Prof. Ehud Gudes Security

Ch 4 27

Zero Knowledge proofs

Zero knowledge example Fiat-Shamir proof of identity

A trusted center chooses n=pq, and publishes n but keeps p and q secret .

2 .Each prover A chooses a secret s with gcd(s,n)=1, and publishes v=s2 mod n.

3 .A proves knowledge of s to B by repeating :(a )A c hooses randomr a nd sends r2 m od n toB .

(b )B {0,1}, c hooses random e in and sends it toA .(c )A =r esponds with a rse m od n .

(d )B c hecks if a2 = ve r2 m od n .1 .if A follows the protocol and knows s, then B's check will always work

2. if A does not know s, then they can only answer the question with

probability 1/2 .

x