(4)Criptografie_asimetrica

62
Partea a II-a 4. Criptografie cu chei publice (asimetrice) 4.1 Principii de baza (definire, sarcini) 4.2 Algoritmi asimetrici (RSA, Diffie- TSI - Criptografie asimetrica/1 1 Hellman, curbe eliptice) 4.3 Autentificare 4.4 Semnaturi digitale (SD) 4.5 Protocoale pentru SD

description

criptografie

Transcript of (4)Criptografie_asimetrica

Page 1: (4)Criptografie_asimetrica

Partea a II-a4. Criptografie cu chei publice

(asimetrice)4.1 Principii de baza (definire, sarcini)

4.2 Algoritmi asimetrici (RSA, Diffie-

TSI - Criptografie asimetrica/1 1

Hellman, curbe eliptice)

4.3 Autentificare

4.4 Semnaturi digitale (SD)

4.5 Protocoale pentru SD

Page 2: (4)Criptografie_asimetrica

4.1 Principii de baza/1

• 1976 – punctul de început al criptografiei moderne– W.Diffie şi M. Hellman, IEEE-IT:”New directions in

cryptography”

– Introducerea conceptului de PKC (Public Key

Principiul

TSI - Criptografie asimetrica/2 2

– Introducerea conceptului de PKC (Public Key Cryptography)

• 1974 – Ralph Merkle – publicata doar in 1978

Page 3: (4)Criptografie_asimetrica

4.1 Principii de baza/2

• Necesitatea:– Probleme criptografice convenţionale

• Distribuţia cheilor (KDC)

• Necesitatea semnăturilor digitale

Necesitate si cerinte/1

TSI - Criptografie asimetrica/3 3

• Necesitatea semnăturilor digitale

• Cerinţele1. Un corespondent B trebuie să poată genera uşor o pereche de

chei EB (cheie publică), DB (cheie privată)

2. Să fie uşor pentru un emiţător A ce cunoaşte cheia publică a lui B să cripteze un mesaj M, C=EB(M)

Page 4: (4)Criptografie_asimetrica

• Cerinţele3. Să fie uşor de decriptat de B mesajul criptat trimis

de A, M=DB(C)=DB(EB(M))4. Să fie imposibil pentru un oponent să determine

4.1 Principii de baza/3 Necesitate si cerinte/2

TSI - Criptografie asimetrica/4 4

4. Să fie imposibil pentru un oponent să determine cheia privată DB dacă ştie cheia publică EB şi C

5. Să fie imposibil pentru un oponent să determine M dacă ştie C şi cheia publică EB

6. Funcţiile de criptare şi decriptare să poată fi folosite în orice ordine M= EB(DB(M)) (necesar numai pentru SD)

Page 5: (4)Criptografie_asimetrica

• Aceste cerinţe impun necesitatea unei funcţii neinversibile cu trapă (one way trap door function)– Uşor de făcut C=f(M)

– Imposibil M=f -1(M)

4.1 Principii de baza/4 Baze matematice/1

TSI - Criptografie asimetrica/5 5

– Imposibil M=f -1(M)

• Observaţie:– Uşor – calculul în timp polinomial funcţie de lungimea

de intrare, dacă intrarea are n biţi, timpul de calcul este na , a=ct., rezultă algoritm de clasă P (polinomial)

– Imposibil – concept fuzzy – timpul de calcul >P(na)

Page 6: (4)Criptografie_asimetrica

• Funcţie neinversabilă cu trapă– Este o funcţie uşor de calculat într-o direcţie şi

imposibil în direcţia inversă fără cunoaşterea unei informaţii secrete = trapă

4.1 Principii de baza/5 Baze matematice/2

TSI - Criptografie asimetrica/6 6

informaţii secrete = trapă

– Y=fk(X), uşor dacă k şi X se cunosc

– , uşor dacă k şi Y se cunosc

– , imposibil dacă Y se cunoaşte, dar k nu

)(1 YfX k−=

)(1 YfX k−=

Page 7: (4)Criptografie_asimetrica

• Teoria numerelor– Factorizarea unui produs de numere prime mari

(100 de cifre zecimale RSA) n=p*q– Calcularea logaritmilor discreţi în câmpuri

4.1 Principii de baza/6 Baze matematice/3

TSI - Criptografie asimetrica/7 7

– Calcularea logaritmilor discreţi în câmpuri finite (logaritmul modulo un număr prim GF(q) cu q foarte mare dintr-un număr) – alg Diffie Hellman de schimb de chei

– Problema rucsacului (R. Merkle si M. Hellman)

• Teoria curbelor eliptice

Page 8: (4)Criptografie_asimetrica

• Confidenţialitatea

4.1 Principii de baza/7 Sarcinile unui PKC/1

==

M~

BD~

Criptanaliza

TSI - Criptografie asimetrica/8 8

M

)(MEC B=

))(()( MEDCDM BBB ==

A

Alg. criptare B

Alg. decriptare

EB DB

Generator(EB, DB)

Page 9: (4)Criptografie_asimetrica

• Autentificarea

4.1 Principii de baza/8 Sarcinile unui PKC/2

VMDECEM === ))(()(

CriptanalizaAD

~

TSI - Criptografie asimetrica/9 9

SMDC A == )(

A

Alg. criptare B

Alg. decriptare

VMDECEM AAA === ))(()(

M

DA EA

Generator(EA, DA)

Page 10: (4)Criptografie_asimetrica

• Confidenţialitate şi autentificare

Alg. criptare

Alg. criptare

Alg. decriptare

Alg. decriptareA BM S C(S) S

))(()( MDESEM AAA ==

4.1 Principii de baza/9 Sarcinile unui PKC/3

TSI - Criptografie asimetrica/10 10

criptare criptareA B

EB DB

Generator(EB, DB)

DA EA

Generator(EA, DA)

Page 11: (4)Criptografie_asimetrica

4.2 Algoritmi asimetrici /1/1

• RSA (numit dupa inventatorii sai: Ron Rivest, Adi Shamir si Leonard Adleman in 1977);

• Diffie - Hellman (numit tot dupa inventatorii sai

TSI - Criptografie asimetrica/11 11

• Diffie - Hellman (numit tot dupa inventatorii sai Whitfield Diffie si Martin Hellman 1976);

• Elgamal (numit dupa inventatorul sau Taher Elgamal);

• DSA/DSS - Digital Signature Algorithm (inventat de David Kravitz);

• LUC

Page 12: (4)Criptografie_asimetrica

4.2 Algoritmi asimetrici/2–Aplicaţii

• Observaţie:– PKC nu vine să înlocuiască criptografia simetrică, ci să

o completeze

• 1988 Diffie – restrângerea PKC la aplicaţii de

TSI - Criptografie asimetrica/12 12

• 1988 Diffie – restrângerea PKC la aplicaţii de management al cheilor şi semnături digitale

Algoritm Confidenţialitate Semnătură digitală

Schimb de chei

RSA X X X

Diffie Helman - - X

DSS - X -

Page 13: (4)Criptografie_asimetrica

4.2 Algoritmi asimetrici/3Protocol pentru sisteme hibride

1. B trimite lui A cheia sa publica EB

2. A genereaza o cheie de sesiune K pe care o cripteaza cu cheia publica a lui B EB(K)

TSI - Criptografie asimetrica/13 13

o cripteaza cu cheia publica a lui B EB(K)3. B decripteaza mesajul de la A utilizand

cheia privata DB si afla cheia de sesiune K DB(EB(K))=K

4. A si B vor comunica confidential utilizand un algoritm simetric si cheia K

Page 14: (4)Criptografie_asimetrica

4.2 Algoritmul RSA/1Algoritmul RSA/1

Reprezinta unul dintre cei mai folositi algoritmi cu cheie publica, atat pe plan guvernamental, cat si pe plan comercial.

Utilizare:

• in criptarea comunicatiilor electronice pe internet, inclus in utilitarul “pretty good privacy” (PGP)

TSI - Criptografie asimetrica/14 14

in utilitarul “pretty good privacy” (PGP)

• este implementat pentru browserele “internet explorer” si “Netscape navigator” – in cadrul “secure sockets layer” (SSL)

• este implementat de Mastercard si VISA in protocoalele de tranzactii electronice “secure electronic transactions” (SET)

Page 15: (4)Criptografie_asimetrica

4.2 RSA/2RSA/2 -- Descrierea algoritmuluiDescrierea algoritmului

I. Generarea perechii de chei {E,D}1. alege p si q numere prime (foarte mari: sute de digiti)

2. calculeaza n=p*q

3. calculeaza Φ(n)=(p-1)(q-1)

TSI - Criptografie asimetrica/15 15

3. calculeaza Φ(n)=(p-1)(q-1)

4. alege un intreg e<n si relativ prim cu Φ(n)

5. calculeaza d<n astfel incat d*emodΦ(n)=1 => d=e-1modΦ(n)

6. cheia publica este: E={e,n}

7. cheia privata este: D={d,n}

Page 16: (4)Criptografie_asimetrica

4.2 RSA/3RSA/3 -- Descrierea algoritmului si Descrierea algoritmului si caracteristicicaracteristici

II. Criptarea• M<n

• C=Memod n

III. Decriptarea• M=Cd mod n

TSI - Criptografie asimetrica/16 16

• M=Cd mod n

Caracteristici• Momentan este foarte dificil• Descoperirea unei metode de factorizare a numerelor prime

mari ar “sparge” RSA• EX: nr prime pe 512biti sunt ccc 10150

• Pentru implementare obisnuita, sunt necesari n2 pasi cu cheia publica, n3 pasi cu cheia privata iar generarea cheilor necesita n4 pasi, unde n=p*q

Page 17: (4)Criptografie_asimetrica

4.2 RSA/4 RSA/4 -- ExempluExemplu

1. Se aleg p=7 si q=17, numere prime2. Se calculeaza: n=p*q=7*17=1193. Se calculeaza Φ(n)=(p-1)(q-1)=6*16=964. Se alege e<119 si relativ prim cu 96. Fie e=5

TSI - Criptografie asimetrica/17 17

4. Se alege e<119 si relativ prim cu 96. Fie e=55. Se calculeaza d astfel incat d*e=1mod96 si d<96

d*5=1mod96 => d=77 pentru ca 77*5=385 = 4*96+1

6. Cheia publica: E={e,n}={5,119}7. Cheia privata: D={d,n}={77,119}

Page 18: (4)Criptografie_asimetrica

4.2 RSA/5 RSA/5 -- ExempluExemplu

• Criptarea:– Fie mesajul M=19

– Memodn=195mod119=2476099mod119=20807

TSI - Criptografie asimetrica/18 18

– M modn=19 mod119=2476099mod119=20807+66mod119 => C=66

• Decriptarea:– Cdmodn=6677mod119=1,06*10138+19 mod119

=> M=19

Page 19: (4)Criptografie_asimetrica

4.2 Algoritmul Diffie-Hellman/1

• 1976 – primul algoritm PKC

• Scopul ; schimb de chei secrete

• Principiul:

TSI - Criptografie asimetrica/19 19

• Principiul:I. Elemente publice globale

• q-nr prim,

• ∝ - radacina primitiva a lui q

II. Generarea perechii de chei de catre A• XA - cheia privata a lui A, aleasa de A

• YA = ∝XA mod q – cheia publica a lui A

Page 20: (4)Criptografie_asimetrica

4.2 Algoritmul Diffie-Hellman/2

• Principiul (continuare):III. Genearrea perechilor de chei de catre B

• XB - cheia privata a lui B, aleasa de B

TSI - Criptografie asimetrica/20 20

• XB - cheia privata a lui B, aleasa de B

• YB = ∝XB mod q – cheia publica a lui B

IV. Generarea cheii secrete K de A• KX=(YB)XAmod q=∝XBXA mod q

V. Generarea cheii secrete K de B• KX=(YA)XBmod q=∝XAXB mod q

Page 21: (4)Criptografie_asimetrica

4.2 Algoritmul Diffie-Hellman/3 - Exemplu

I. Elemente publice globale• q=97, ∝=5

II. A• XA =36 cheia privata

TSI - Criptografie asimetrica/21 21

A

• YA = ∝XA mod q = 536 mod 97=50mod97– cheia publica

III. B• XB =58 cheia privata

• YB = ∝XB mod q = 558 mod 97=44mod97– cheia publica

IV. A: K=(Y B)XAmod 97=4436 mod 97=75mod97

V. B: KX=(YA)XBmod q=5058 mod 97= 75mod97

Page 22: (4)Criptografie_asimetrica

4.2 Criptografie publica pe curbe eliptice(ECC – Eliptic Curves Cryptography)

De ce curbe eliptice?• Algoritmii PKC, RSA, Diffie – Hellman au chei lungi

(sute, mii de biti) => foarte lenti in aplicatii

• ECC

TSI - Criptografie asimetrica/22 22

– Provocare la RSA

– IEEE P1363 Standard PKC ce utilizeaza ECC

• Avantajul: la aceeasi securitate cheie mai scurta =>viteza mare, spatiu redus

Page 23: (4)Criptografie_asimetrica

4.3 Autentificare

• De ce este necesara?– Ca sa stim identitatea corespondentului– Ca sa stim ca mesajul este autentic, nu a fost modificat (content

modification), nu a suferit modificari temporale (replay, delay)– Nu este un mesaj fabricat introdus fraudulos (mascarade)

TSI - Criptografie asimetrica/23 23

– Nu este un mesaj fabricat introdus fraudulos (mascarade)

• Cum se realizeaza?– Nivel inferior – functii de produc autentificatori

» Criptare (simetrica, asimetrica)» Cod de autentificare a mesajului MAC» Functii hash

– Nivel superior – protocoale de autentificare ce utilizeaza autentificatorii nivelului inferior si permite receptorului verificarea autenticitatii mesajului receptionat.

Page 24: (4)Criptografie_asimetrica

4.3 Functii ce produc autentificari

1. Functii de criptare: C=E(M): doar cel ce are cheia poate descifra C si stie de cine a fost trimis.

2. Codul de autentificare a mesajului (MAC)

TSI - Criptografie asimetrica/24 24

2. Codul de autentificare a mesajului (MAC)• fk – functie publica• k cheie secreta => fk (M)=MAC => o valoare exprimata pe o

lungime fixa (identificator a lui M)

3. Functii hash => H(M)=h → serveste ca autentificator ↓

functie publica

Page 25: (4)Criptografie_asimetrica

4.3 Functii de autentificare/1

Criptarea simetricaA→ B: Ek(M)=C – Confera confidentialitate

• A si B au aceasi cheie

TSI - Criptografie asimetrica/25 25

• A si B au aceasi cheie

– Confera un grad de autentificare• C poate veni doar de la A• Nu s-a putut modifica in transmisiune (pt ca M n-ar mai avea

inteles)

– N u confera semnatura• B poate modifica M• A poate nega M

Page 26: (4)Criptografie_asimetrica

4.3 Functii de autentificare/2

Criptarea asimetrica/1

A→ B: EB(M)– Confera confidentialitate

TSI - Criptografie asimetrica/26 26

– Confera confidentialitate• Numai B are DB pentru decriptare

– Nu confera autentificare• Oricine poate folosi EB pentru a cripta un mesaj si

pretinde ca este A

Page 27: (4)Criptografie_asimetrica

4.3 Functii de autentificare/3

Criptarea asimetrica/2

A→ B: DA(M)– Confera autentificarea lui A si semnatura

TSI - Criptografie asimetrica/27 27

– Numai A are DA pentru criptare

– Nu se modifica in transmisiune

– Oricine poate verifica semnatura lui A utilizand EA

A→ B: EB(DA(M))

– Confera confidentialitate prin EB

– Confera autentificare prin DA

Page 28: (4)Criptografie_asimetrica

4.3 MAC – Message Authentication Code – Cryptographic checksum

• A→ B; C=: functie publica; K – cheia criptografica

• A calculeaza MAC= CK(M)

TSI - Criptografie asimetrica/28 28

K

• B calculeaza MAC= CK(M) si-l compara cu cel transmis de A; daca coincid s-a facut autentificarea

• MAC ~ criptarea, doar ca MAC nu trebuie sa fie reversibil => mai putin vulnerabil la spargere

Page 29: (4)Criptografie_asimetrica

4.3 MAC – pentru autentificare

A→ B: M||CK(M)– Confera autentificare: doar A si B cunosc K

TSI - Criptografie asimetrica/29 29

Page 30: (4)Criptografie_asimetrica

4.3 Autentificare (cu MAC) si confidentialitate

• Autentificatorul legat de mesajul in clar

TSI - Criptografie asimetrica/30 30

• A→ B: EK2[(M)||CK1(M)]– Confera autentificare: doar A si B cunosc K1– Confera confidentialitate: doar A si B cunosc K2

Page 31: (4)Criptografie_asimetrica

4.3 Autentificare (cu MAC) si confidentialitate

• Autentificatorul legat de mesajul criptat

TSI - Criptografie asimetrica/31 31

• A→ B: EK2(M)||CK1(EK2(M))– Confera autentificare: utilizeaza K1– Confera confidentialitate: utilizeaza K2

Page 32: (4)Criptografie_asimetrica

4.3 De ce se foloseste MAC daca criptarea poate oferi autentificare?

Pentru ca:– Sunt aplicatii in care acelasi mesaj este difuzat la mai

multi destinatari – semnal de alarma intr-un centru de control militar

TSI - Criptografie asimetrica/32 32

control militar– Intr-o comunicare una din parti are un flux mare de

mesaje si nu-si permite sa le decripteze pe toate => autentificarea se face selectiv

– Separarea functiilor de autentificare si confidentialitate confera flexibilitate

Obs: MAC nu constitue o semnatura digitala pentru ca ambii corespondenti au aceeasi cheie

Page 33: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

H(M)=h ~ MAC = CK(M)

TSI - Criptografie asimetrica/33 33

A→ B: EK(M||H(M))– Confera autentificare: H(M) este criptata

– Confera confidentialitate: A si B au K

Page 34: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

TSI - Criptografie asimetrica/34 34

A→ B: M|| EK(H(M))– Confera autentificare: H(M) este criptata

Page 35: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

TSI - Criptografie asimetrica/35 35

A→ B: M|| DA(H(M))– Confera autentificare si semnatura digitala

• H(M) este criptata• A semneaza H(M) prin criptare cu DB

Page 36: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

TSI - Criptografie asimetrica/36 36

A→ B: EK(M)|| DA(H(M))– Confera autentificare si semnatura digitala

– Confera confidentialitate: A si B utilizeaza K

Page 37: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

TSI - Criptografie asimetrica/37 37

A→ B: M|| H(M||S); S – mesaj secret– Confera autentificare– Doar A si B au mesajul secret S

Page 38: (4)Criptografie_asimetrica

4.3 Aplicatii

• Criptarea soft este lenta• Criptarea hard este scumpa; exista implementari

hard pentru DES ieftine, dar costurile cresc daca in toate nodurile unei retele au aceasta facilitate

TSI - Criptografie asimetrica/38 38

in toate nodurile unei retele au aceasta facilitate• Algoritmii criptografici sunt in cea mai mare parte

legati de patente, deci costurile utilizarii cresc prin costul licentei (ex. RSA)

• Algoritmii de criptare sunt controlati la exportul din SUA

Page 39: (4)Criptografie_asimetrica

4.3 Functii hash in autentificare

TSI - Criptografie asimetrica/39 39

A→ B: EK(M||H(M)||S)– Confera autentificare: doar A si B au S

– Confera confidentialitate: doar A si B au K

Page 40: (4)Criptografie_asimetrica

4.3 MAC cu DESDAA (Data Authentication Algorithm) – Standard X9.17• Utilizeaza modul de operare CBC (chiper block chaining) al

DES avand IV=0 (vectorul de initializare)

• Datele ce urmeaza a fi autentificate se impart in grupe de 64 biti: D1, …, DN, (daca este necesar se completeaza cu 0 la dreapta “padding” ) O1=Ek(D1), …, ON=Ek(DN⊕⊕⊕⊕ON-1)

TSI - Criptografie asimetrica/40 40

dreapta “padding” ) O1=Ek(D1), …, ON=Ek(DN⊕⊕⊕⊕ON-1)

Page 41: (4)Criptografie_asimetrica

4.3 Functii hash utilizand ⊕⊕⊕⊕

Bit 1 Bit 2 … Bit n

Bloc 1 b11 b21 bn1

Bloc 2 b121 b22 bn2

TSI - Criptografie asimetrica/41 41

Ci=bi1⊕ bi2⊕… ⊕bim

Bloc 2 b121 b22 bn2

.

.

.Bloc m b1m b2m bnm

Cod hash C1 C2 Cn

Page 42: (4)Criptografie_asimetrica

4.3 Functii hash

• Functii hash definite prin rotirea cu 1 bit a valorii hash dupa

TSI - Criptografie asimetrica/42 42

valorii hash dupa procesarea fiecarui bloc

Page 43: (4)Criptografie_asimetrica

4.4 Semnături digitale/1

• Semnătura olografă (S)– Definiţie– Proprietăţi:

1. Semnătura să fie autentică

2. Nerefolosibilă

TSI - Criptografie asimetrica/43 43

2. Nerefolosibilă

3. Documentul semnat nu poate fi modificat

4. Nu poate fi repudiată (irepudiabilă).

• Semnătura digital ă (SD)– Din proprietăţile 1 ÷ 4 ⇒ 2 proprietăţi fundamentale

1. Să depindă de mesaj (3+4)

2. Să depindă de emiţător (1+2)

Page 44: (4)Criptografie_asimetrica

4.4 Semnături digitale/2

• Semnătura digital ă (SD)– Definiţie: o succesiune de biţi obţinută din

transformarea mesajului (m) şi a unei informaţii secrete ştiute doar de emiţător (A).

TSI - Criptografie asimetrica/44 44

ştiute doar de emiţător (A).

• transformarea de semnare pentru entitatea A (secretă)

• transformarea de verificarea a semnăturii lui A (publică)

AS

AV

Page 45: (4)Criptografie_asimetrica

4.4 Semnături digitale/3

• Semnarea:s(s,m)

• Verificarea: 1. B verifică semătura lui A: v=VA(m,s)2. B acceptă că s∈A, dacă v=adevărat şi o refuză

=transmite

mSs A )(

TSI - Criptografie asimetrica/45 45

2. B acceptă că s∈A, dacă v=adevărat şi o refuză

dacă este fals.

s2

m1

m2

s1

(m1, s1)

(m1, s2)

(m2, s1)

(m2, s2)

adevărat

fals

v = VA(mi, si)

Aplicaţii:• Autentificare• Integritatea datelor• Nerepudiere• Certificarea cheilor

publice

Page 46: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/1

• Protocol de semnare a documentelor cu criptosisteme simetrice

Ik

( )IAkB MMECB

+=

TSI - Criptografie asimetrica/46 46

A

I

B

C

kA

)( AkAA MEC =

kC

kB

( )IAkI MMECC

+=

( )IAkBI MMEC +=

Page 47: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/2

A semnează un mesaj digital şi vrea să-l transmită lui B(1) A→I:(2) I decriptează CA şi adaugă o declaraţie de autentificare că a primit mesajul de la A: Mi şi criptează cu kB→B(3) B decriptează CB şi poate citi MA cât şi certificarea lui I

1.)( AkA MEC

A=

)( IAkB MMECB

+=

MMCD +=)(

TSI - Criptografie asimetrica/47 47

B vrea să-i arate lui C mesajul MA

(1) B →I:(2) I decriptează CB:(3) I verifică în baza sa de date dacă ∃ MA

(4) I criptează cu kC mesajul MA şi certificarea MI şi trimite la C

(5) C decriptează CI şi citeşte pe MA precum şi certificarea MI

IABk MMCDB

+=)(

2.)( IAkB MMEC

B+=

IABk MMCDB

+=)(

IAIk MMCDC

+=)(

)( IAkI MMECCB

+=

Page 48: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/3

• Protocol de semnare cu chei publice– Protocol de semnare (fără criptare):

(1) A semneazămesajul M cu cheia sa privată:( )MDS AA =

TSI - Criptografie asimetrica/48 48

(2) A transmite SA lui B (necriptat)

(3) B verifică SA folosind cheia publică a lui A:

– Observaţie:Acest protocol este superior celui cu chei simetrice pentru că nu

necesită arbitraj.

( )MDS AA =

( ) ( )( ) MMDESEV AAAAA ===

Page 49: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/4

• Protocol de semnare ale criptosistemelor cu chei publice– Protocol de semnare cu criptare:

• RSA poate fi utilizat atât pentru semnare cât şi pentru criptare• Dacă (publică) şi (privată) ⇒ algoritmul public

poate fi utilizat şi pentru semnare şi pentru criptare.AA EV = AA DS =

TSI - Criptografie asimetrica/49 49

poate fi utilizat şi pentru semnare şi pentru criptare.

– Protocolul de semnare cu criptare se desfăşoară astfel:(1) A semnează mesajul M cu cheia privată :(2) A cripteazămesajul criptat cu cheia publică a lui B şi îl trimite acestuia(3) B decriptează C1 cu cheia privată:(4) B verifică semnătura lui A cu cheia sa publică EA:

AD

( ) ( )( )MDESEC ABAB ==1

( ) ( )( ) AABBB SSEDCD ==1

( )( ) ( )( ) MMDEMSV AAAA ==

( )MDS AA =

Page 50: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/5

• Retransmiterea mesajului ca o confirmare de primire– Se face parcurgând următorii paşi:

(5) B, după verificarea lui , retransmite M semnat ( ) la A cu o confirmare de primire:

BS

( )( )MSEC BA=2

AS

TSI - Criptografie asimetrica/50 50

o confirmare de primire:

(6) A decriptează cu cheia sa privată, verifică cu cheia publicăa lui B şi dacăM este acelaşi cu cel transmis de el, A ştie că B a primit mesajul:

identic cu cel transmis de A

( )( )MSEC BA=2

BS

( ) ( ) ( )MDMSCD BBA ==2

( ) ( )( ) MMDESV BBBB ==

Page 51: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/6

• Atacul de retransmitere– Ipoteză: H (atacatorul) este un utilizator legitim al

sistemului deci are o pereche de chei publică-privată.– Atacul constă din următorii pa şi:

TSI - Criptografie asimetrica/51 51

– Atacul constă din următorii pa şi:(1) H înregistreazămesajul lui A către B în pasul (2)

(2) După un anumit timp, H trimite acest mesaj lui B pretinzând că vine de la H (dar nesemnat)(3) B decripteazămesajul fara sensşi verifică semnătura lui H(4) B continuă protocolul şi retransmite mesajul lui H

( )( ) ( )( )MDEMSE ABAB =

( )( )MDE AB

( )( )( ) ( )MDMDED AABB =( )( )MDEV AHH =

( )( )( )MDEDS AHBB = ( ) ( )( )( )( )MDEDESE AHBHBH =

Page 52: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/7

• Atacul de retransmitere– Atacul constă din următorii pa şi (continuare):

(5) H decripteazămesajul:

(6) H aplică cheia publică a lui B( )( ) ( )( )( )MDEDSED AHBBHH =

TSI - Criptografie asimetrica/52 52

(6) H aplică cheia publică a lui B

(7) H decriptează încă o dată cu cheia sa privată

(8) H aplică cheia publică a lui A şi obţine pe M

şi aşa H poate citi corespondenţa.

( )( )( )( ) ( )( )MDEMDEDE AHAHBB =

( )( )( ) ( )MDMDED AAHH =

( )( ) MMDE AA =

Page 53: (4)Criptografie_asimetrica

4.5 Protocoale pt. semnături digitale/8

• Contracararea atacului de retransmisie– Se poate face prin:

• operaţii distincte (chiar dacă apropiate) pentru

TSI - Criptografie asimetrica/53 53

• operaţii distincte (chiar dacă apropiate) pentru criptare respectiv semnătură

• chei diferite pentru criptare şi semnătură

• algoritmi diferiţi pentru criptare şi semnătură

• certificare temporală care fac ca semnătura de intrare să fie diferită de cea de ieşire

• semnături digitale cu funcţii hash.

Page 54: (4)Criptografie_asimetrica

4.5 Protocol de semnare cu chei publice si functii hash/1

Paşii protocolului de semnare sunt:(1) A çi B convin asupra algoritmului de semnåturå digitala sia functieihash folosite.(2) A calculeaza valoareahash a lui M: h = H(M);(3) A semneaza peh cu cheia sa privata:(4) A trimite M si catreB, criptatcucheiapublicaa lui B:

( )hDS AA =

TSI - Criptografie asimetrica/54 54

(4) A trimite M si catreB, criptatcucheiapublicaa lui B:

(5) B decripteaza si gaseste M si dupa care determina peh siîl compara cu cel decriptat

(a)(b)

dacå (a) este echivalent cu (b) atunci este validatå.

( ) ( )( )MhDEMSEC ABABB +=+=

( ) MSCD ABB +=

calculatcalculat hMH =)(

( ) ( ) ( )( ) decriptatAAAAAA hhDESESV ===

Page 55: (4)Criptografie_asimetrica

4.5 Protocol de semnare cu chei publice si functii hash/2

Avantaje• vitezå mare;• securitate sporita: probabilitatea de a avea două valori

hash identiceeste, 2n unden reprezinta lungimeavalorii

TSI - Criptografie asimetrica/55 55

hash identiceeste, 2n unden reprezinta lungimeavaloriihash în biti;

• SA poate fi pastrata separat de documentul M, ocupând omemorie mult mai mica.

Utilizari:• sisteme de arhivare fara citirea documentelor;• obtinerea dreptului de autor prin pastrarea secretului

documentului.

Page 56: (4)Criptografie_asimetrica

4.5 Protocoale pentru semnături multiple/1

• Fara functii hash– A si B semneaza câte o copie (separat) a documentului

M, deci mesajul rezultat, având ambele copii, estedublu ca dimensiune. Un astfel de protocol are doi paşi:

• (1) A semneazaprimul documentulM:

TSI - Criptografie asimetrica/56 56

• (1) A semneazaprimul documentulM:

• (2) B semneaza al doilea:

– Verificarea semnaturii lui A:

este imposibila fara verificarea semnaturii lui B.

( )MDS AA =

( )MSDS ABB +=

( ) MSEV AAA ==

Page 57: (4)Criptografie_asimetrica

• Cu functii hash– În acest caz protocolul va arăta astfel:

(1) A semneaza valoareahash a lui M:

(2) B semneazavaloarehash a lui M:

4.5 Protocoale pentru semnături multiple/2

( )( )MHDS AA =

TSI - Criptografie asimetrica/57 57

(2) B semneazavaloarehash a lui M:

(3) B trimite SA lui A

(4) A trimite către C pe

(5) C verifica SA si SB

( )( )MHDS BB =

( )BA SS +

Page 58: (4)Criptografie_asimetrica

• A semneaza mesajul: SA;• A genereaza un antet de identificare (AI), concateneaza

antetul cu SA, semneazå totul:

si trimite arbitrului I;

• Arbitrul I verifica SA si confirma informatiile de identificare AI. I adauga o certificare temporala (TS) la

4.5 Protocoale pentru SD şi nerepudiere

( )AISDS AAA +=′

TSI - Criptografie asimetrica/58 58

AI. I adauga o certificare temporala (TS) la

SA +AI, semneaza totul si trimite la A si B;

• B verifica SI, identificând pe AI si SA;• A verifica SI, deci mesajul trimis de I lui B. Daca nu-si

gaseste propria semnatura SA apare o disputa.• Observatie: Aceasta problema poate fi solutionata si de

protocoale adjudecate; propunem cititorului ca exercitiu aceasta a doua cale.

( )TSAISDS AII ++=

Page 59: (4)Criptografie_asimetrica

• Semnaturi complet în alb(completely blind signatures)– Fie exemplul:

• B - notar public

• A - doreste ca B sa semneze un document, dar nu doreçte ca B sa stie continutul documentului; pe B nu-l intereseaza continutul documentului, doar certifica ca acesta a fost notarizat.

4.5 Semnături în alb/1

TSI - Criptografie asimetrica/59 59

documentului, doar certifica ca acesta a fost notarizat.

– Protocolul de semnare se desfasoara astfel:• A ia documentul si îl aleatorizeaza; aceasta valoare aleatoare se

numeçte factor de ascundere (blinding factor);

• A trimite documentul “ascuns ” (blinded) lui B;

• B semneaza documentul “ascuns”;

• A înlatura factorul de ascundere (dezaleatorizeaza documentul), obtinând documentul original semnat de B

Page 60: (4)Criptografie_asimetrica

• Proprietatile unei semnaturi complet în alb:– semnatura lui B pe document este valida ; semnatura este dovada

ca B a semnat documentul si are toate proprietatile unei semnaturi digitale.

– B nu poate corela documentul semnat cu actul de semnare propriu-

4.5 Semnături în alb/2

TSI - Criptografie asimetrica/60 60

zis ; chiar daca el ar tine o copie a tuturor semnaturilor în alb acordate, el nu ar putea determina când anume a semnat un anumit document.

• Riscul semnaturilor complet în alb:– A îl poate face pe B sa semneze orice, de exemplu “B datoreaza lui

A 1.000.000 $”.

Page 61: (4)Criptografie_asimetrica

• Semnaturi în alb (blind signatures)

• Principiul folosit este: taie si alege (cut and choose), ilustrat de exemplul controlului vamal.

4.5 Semnături în alb/3

TSI - Criptografie asimetrica/61 61

choose), ilustrat de exemplul controlului vamal. Controlul se face utilizând o solutie probabilistică adica se controleaza o persoana din 10 [Scheneier] celelalte 9 nefiind controlate. Pedeapsa în cazul unei fraude este atât de mare încât sa descurajeze tentativa de frauda.

Page 62: (4)Criptografie_asimetrica

4.5 Semnături în alb/4

• Protocolul de semnare în alb decurge astfel:1. B pregateçte n nume, fiecare cu alt nume de acoperire, care îi

confera imunitate diplomatica

2. B aleatorizeaza fiecare document cu un factor de ascundere diferit.

3. B trimite cele n documente ascunse lui A.

TSI - Criptografie asimetrica/62 62

4. A alege (n-1) documente la întâmplare si îi solicita lui B factorii de ascundere

5. B trimite lui A cei (n-1) factori de ascundere solicitati

6. A deschide cele (n-1) plicuri, deci înlatura factorul de ascundere si se asigura de continutul acestora

7. A semneaza ultimul document nedeschis si-l trimite lui B

8. B înlatura factorul de ascundere si citeste noul nume de acoperire ce-i asigura imunitate diplomatica: Ion Ionescu.