Sunteți pe pagina 1din 62

Partea a II-a

4. Criptografie cu chei publice


(asimetrice)
4.1 Principii de baza (definire, sarcini)
4.2 Algoritmi asimetrici (RSA, Diffie-
Hellman, curbe eliptice)
4.3 Autentificare
4.4 Semnaturi digitale (SD)
4.5 Protocoale pentru SD

TSI - Criptografie asimetrica/1 1


4.1 Principii de baza/1
Principiul
• 1976 – punctul de început al criptografiei moderne
– W.Diffie şi M. Hellman, IEEE-IT:”New directions in
cryptography”
– Introducerea conceptului de PKC (Public Key
Cryptography)
• 1974 – Ralph Merkle – publicata doar in 1978

TSI - Criptografie asimetrica/2 2


4.1 Principii de baza/2
Necesitate si cerinte/1
• Necesitatea:
– Probleme criptografice convenţionale
• Distribuţia cheilor (KDC)
• Necesitatea semnăturilor digitale
• Cerinţele
1. 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)

TSI - Criptografie asimetrica/3 3


4.1 Principii de baza/3
Necesitate si cerinte/2
• Cerinţele
3. 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
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)

TSI - Criptografie asimetrica/4 4


4.1 Principii de baza/4
Baze matematice/1
• 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)
• 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)

TSI - Criptografie asimetrica/5 5


4.1 Principii de baza/5
Baze matematice/2
• 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ă
– Y=fk(X), uşor dacă k şi X se cunosc
– X = f k−1 (Y ) , uşor dacă k şi Y se cunosc
– X = f k−1 (Y ) , imposibil dacă Y se cunoaşte, dar k nu

TSI - Criptografie asimetrica/6 6


4.1 Principii de baza/6
Baze matematice/3
• Teoria numerelor
– Factorizarea unui produs de numere prime mari
(100 de cifre zecimale RSA) n=p*q
– 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
TSI - Criptografie asimetrica/7 7
4.1 Principii de baza/7
Sarcinile unui PKC/1
• Confidenţialitatea ~

M
Criptanaliza
~

DB
M = DB (C ) = DB ( E B ( M ))

M Alg. Alg.
A criptare decriptare B
C = EB (M )

EB DB
Generator
(EB, DB)

TSI - Criptografie asimetrica/8 8


4.1 Principii de baza/8
Sarcinile unui PKC/2
• Autentificarea
~
Criptanaliza
DA

M = E A (C ) = E A ( DA ( M )) = V

M Alg. Alg.
A criptare decriptare B

DA C = DA ( M ) = S EA
Generator
(EA, DA)

TSI - Criptografie asimetrica/9 9


4.1 Principii de baza/9
Sarcinile unui PKC/3
• Confidenţialitate şi autentificare
M = E A ( S ) = E A ( DA ( M ))

Alg. Alg. Alg. S Alg.


M S C(S) decriptare decriptare B
A criptare criptare

EB DB
Generator
(EB, DB)
DA EA
Generator
(EA, DA)

TSI - Criptografie asimetrica/10 10


4.2 Algoritmi asimetrici /1

• RSA (numit dupa inventatorii sai: Ron Rivest, Adi


Shamir si Leonard Adleman in 1977);
• 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
TSI - Criptografie asimetrica/11 11
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
management al cheilor şi semnături digitale
Algoritm Confidenţialitate Semnătură Schimb de chei
digitală
RSA X X X
Diffie Helman - - X
DSS - X -
TSI - Criptografie asimetrica/12 12
4.2 Algoritmi asimetrici/3
Protocol 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)
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
TSI - Criptografie asimetrica/13 13
4.2 Algoritmul 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)
• 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)
TSI - Criptografie asimetrica/14 14
4.2 RSA/2 - Descrierea 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)
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}

TSI - Criptografie asimetrica/15 15


4.2 RSA/3 - Descrierea algoritmului si
caracteristici
II. Criptarea
• M<n
• C=Me mod n
III. Decriptarea
• 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
TSI - Criptografie asimetrica/16 16
4.2 RSA/4 - Exemplu
1. Se aleg p=7 si q=17, numere prime
2. Se calculeaza: n=p*q=7*17=119
3. Se calculeaza Φ(n)=(p-1)(q-1)=6*16=96
4. Se alege e<119 si relativ prim cu 96. Fie e=5
5. 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}
TSI - Criptografie asimetrica/17 17
4.2 RSA/5 - Exemplu
• Criptarea:
– Fie mesajul M=19
– Memodn=195mod119=2476099mod119=20807
+66mod119 => C=66
• Decriptarea:
– Cdmodn=6677mod119=1,06*10138+19 mod119
=> M=19

TSI - Criptografie asimetrica/18 18


4.2 Algoritmul Diffie-Hellman/1
• 1976 – primul algoritm PKC
• Scopul ; schimb de chei secrete
• 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

TSI - Criptografie asimetrica/19 19


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
• 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

TSI - Criptografie asimetrica/20 20


4.2 Algoritmul Diffie-Hellman/3
- Exemplu
I. Elemente publice globale
• q=97, ∝=5
II. A
• XA =36 cheia privata
• 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=(YB)XAmod 97=4436 mod 97=75mod97
V. B: KX=(YA)X mod q=5058 mod 97= 75mod97
B

TSI - Criptografie asimetrica/21 21


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
– Provocare la RSA
– IEEE P1363 Standard PKC ce utilizeaza ECC
• Avantajul: la aceeasi securitate cheie mai scurta =>viteza
mare, spatiu redus

TSI - Criptografie asimetrica/22 22


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)
• 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.
TSI - Criptografie asimetrica/23 23
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)
• 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

TSI - Criptografie asimetrica/24 24


4.3 Functii de autentificare/1
Criptarea simetrica
A→ B: Ek(M)=C
– Confera confidentialitate
• 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
TSI - Criptografie asimetrica/25 25
4.3 Functii de autentificare/2
Criptarea asimetrica/1
A→ B: EB(M)
– 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

TSI - Criptografie asimetrica/26 26


4.3 Functii de autentificare/3
Criptarea asimetrica/2
A→ B: DA(M)
– Confera autentificarea lui A si semnatura
– 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
TSI - Criptografie asimetrica/27 27
4.3 MAC – Message Authentication
Code – Cryptographic checksum
• A→ B; C=: functie publica; K – cheia
criptografica
• A calculeaza MAC= CK(M)
• 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

TSI - Criptografie asimetrica/28 28


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

TSI - Criptografie asimetrica/29 29


4.3 Autentificare (cu MAC) si
confidentialitate
• Autentificatorul legat de mesajul in clar

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

TSI - Criptografie asimetrica/30 30


4.3 Autentificare (cu MAC) si
confidentialitate
• Autentificatorul legat de mesajul criptat

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

TSI - Criptografie asimetrica/31 31


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
– 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
TSI - Criptografie asimetrica/32 32
4.3 Functii hash in autentificare
H(M)=h ~ MAC = CK(M)

A→ B: EK(M||H(M))
– Confera autentificare: H(M) este criptata
– Confera confidentialitate: A si B au K

TSI - Criptografie asimetrica/33 33


4.3 Functii hash in autentificare

A→ B: M|| EK(H(M))
– Confera autentificare: H(M) este criptata
TSI - Criptografie asimetrica/34 34
4.3 Functii hash in autentificare

A→ B: M|| DA(H(M))
– Confera autentificare si semnatura digitala
• H(M) este criptata
• A semneaza H(M) prin criptare cu DB
TSI - Criptografie asimetrica/35 35
4.3 Functii hash in autentificare

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

TSI - Criptografie asimetrica/36 36


4.3 Functii hash in autentificare

A→ B: M|| H(M||S); S – mesaj secret


– Confera autentificare
– Doar A si B au mesajul secret S

TSI - Criptografie asimetrica/37 37


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
• 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

TSI - Criptografie asimetrica/38 38


4.3 Functii hash in autentificare

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

TSI - Criptografie asimetrica/39 39


4.3 MAC cu DES
DAA (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


4.3 Functii hash utilizand ⊕
Bit 1 Bit 2 … Bit n
Bloc 1 b11 b21 bn1
Bloc 2 b121 b22 bn2
.
.
.Bloc m b1m b2m bnm
Cod hash C1 C2 Cn

Ci=bi1⊕ bi2⊕… ⊕bim


TSI - Criptografie asimetrica/41 41
4.3 Functii hash
• Functii hash definite
prin rotirea cu 1 bit a
valorii hash dupa
procesarea fiecarui
bloc

TSI - Criptografie asimetrica/42 42


4.4 Semnături digitale/1
• Semnătura olografă (S)
– Definiţie
– Proprietăţi:
1. Semnătura să fie autentică
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)

TSI - Criptografie asimetrica/43 43


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).

• S A transformarea de semnare pentru entitatea A


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

TSI - Criptografie asimetrica/44 44


4.4 Semnături digitale/3
• Semnarea:  s = S A ( m)

transmite 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ă
 dacă este fals. Aplicaţii:
(m1, s1) adevărat • Autentificare
m1 s1 • Integritatea datelor
(m1, s2)
m2 v = VA(mi, • Nerepudiere
s2 (m2, s1) si)
• Certificarea cheilor
(m2, s2) fals publice

TSI - Criptografie asimetrica/45 45


4.5 Protocoale pt. semnături
digitale/1
• Protocol de semnare a documentelor cu
criptosisteme simetrice
C B = E k B (M A + M I )
I
kA kB
kC
C A = EkA ( M A )
A C I = E kB (M A + M I ) B
C I = E kC (M A + M I )

TSI - Criptografie asimetrica/46 46


4.5 Protocoale pt. semnături
digitale/2
1. A semnează un mesaj digital şi vrea să-l transmită lui B
(1) A→I:C A = E k ( M A )
A

(2) I decriptează CA şi adaugă o declaraţie de autentificare că a


primit mesajul de la A: Mi şi criptează
C B = E k ( Mcu M →B
A +k BI
)B

(3) B decriptează CB şi poate citi MA cât şi certificarea lui I


Dk B (C B ) = M A + M I
2. B vrea să-i arate lui C mesajul MA
(1) B →I: C B = E k ( M A + M I )
B

(2) I decriptează CB: Dk (C B ) = M A + M I


B

(3) I verifică în baza sa de date dacă ∃ MA


(4) I criptează cu kC mesajul MA şi certificarea MI şi trimite la C
C I = E kCB ( M A + M I )
(5) C decriptează CI şi citeşte pe MA precum şi certificarea MI
DkC (C I ) = M A + M I
TSI - Criptografie asimetrica/47 47
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ă:
S A = D A (M )

(2) A transmite SA lui B (necriptat)


(3) B verifică SA folosind cheia publică a lui A:
V A = E A (S A ) = E A (D A (M )) = M
– Observaţie:
Acest protocol este superior celui cu chei simetrice pentru că nu
necesită arbitraj.

TSI - Criptografie asimetrica/48 48


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ă VA = E A (publică) şi S A = DA (privată) ⇒ algoritmul public
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ă D A : S A = D A (M )
(2) A criptează mesajul criptat cu cheia publică a lui B şi îl trimite
acestuia C1 = E B (S A ) = E B (D A (M ))
(3) B decriptează C1 cu cheia privată: D B (C1 ) = D B (E B (S A )) = S A
(4) B verifică semnătura lui A cu cheia sa publică EA:
V A (S A (M )) = E A (D A (M )) = M

TSI - Criptografie asimetrica/49 49


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 S A , retransmite M semnat ( S B) la A cu
o confirmare de primire: C2 = E A (S B (M ))
(6) A decriptează cu cheia sa privată, verifică S B cu cheia publică
a lui B şi dacă M este acelaşi cu cel transmis de el, A ştie că B a
primit mesajul:
D A (C 2 ) = S B (M ) = D B (M )
VB (S B ) = E B (DB (M )) = M
identic cu cel transmis de A

TSI - Criptografie asimetrica/50 50


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:
(1) H înregistrează mesajul lui A către B în pasul (2)
E B (S A (M )) = E B (D A (M ))

(2) După un anumit timp, H trimite acest mesaj lui B


pretinzând că vine de la H (dar nesemnat) E B (D A (M ))
(3) B decriptează mesajul D B (E B (D A (M ))) = D A (M ) fara sens
şi verifică semnătura lui H V H = E H (D A (M ))
(4) B continuă protocolul şi retransmite mesajul lui H
S B = D B (E H (D A (M ))) E H (S B ) = E H (D B (E H (D A (M ))))

TSI - Criptografie asimetrica/51 51


4.5 Protocoale pt. semnături
digitale/7
• Atacul de retransmitere
– Atacul constă din următorii paşi (continuare):
(5) H decriptează mesajul: D H (E H (S B )) = D B (E H (D A (M )))
(6) H aplică cheia publică a lui B
E B (D B (E H (D A (M )))) = E H (D A (M ))
(7) H decriptează încă o dată cu cheia sa privată
D H (E H (D A (M ))) = D A (M )
(8) H aplică cheia publică a lui A şi obţine pe M
E A (D A (M )) = M
şi aşa H poate citi corespondenţa.

TSI - Criptografie asimetrica/52 52


4.5 Protocoale pt. semnături
digitale/8
• Contracararea atacului de retransmisie
– Se poate face prin:
• 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.
TSI - Criptografie asimetrica/53 53
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 si a functiei hash folosite.
(2) A calculeaza valoarea hash a lui M: h = H(M);
(3) A semneaza pe h cu cheia sa privata: S A = D A (h )
(4) A trimite M si catre B, criptat cu cheia publica a
lui B: C B = E B (S A + M ) = E B (D A (h ) + M )

(5) B decripteaza si D B (C B ) = S A + M M si
gaseste dupa care
determina
H ( M )pe h =sihcalculat
calculat îl compara cu cel decriptat
(a)V A (S A ) = E A (S A ) = E A (D A (h )) = hdecriptat
(b)
dacå (a) este echivalent cuasimetrica/54
TSI - Criptografie (b) atunci este validatå.
54
4.5 Protocol de semnare cu chei publice
si functii hash/2
Avantaje
• vitezå mare;
• securitate sporita: probabilitatea de a avea două
valori hash identice este , 2n unde n reprezinta
lungimea valorii hash în biti;
• SA poate fi pastrata separat de documentul M,
ocupând o memorie mult mai mica.
Utilizari:
• sisteme de arhivare fara citirea documentelor;
• obtinerea dreptului de autor prin pastrarea
secretului documentului.
TSI - Criptografie asimetrica/55 55
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, este dublu ca dimensiune. Un
astfel de protocol are doi paşi:
S A = D A (M ) primul documentul M:
• (1) A semneaza

S B = D B (S Aal+ doilea:
• (2) B semneaza M)
V A = E A (S A ) = M
– Verificarea semnaturii lui A:
este imposibila fara verificarea semnaturii lui
B.
TSI - Criptografie asimetrica/56 56
4.5 Protocoale pentru semnături
multiple/2

• Cu functii hash
– În acest caz protocolul va arăta astfel:
(1) A semneaza valoarea hash a lui = D A (H (M ))
S A M:
(2) B semneaza valoare hash a luiS BM: = DB (H (M ))
(3) B trimite SA lui A
(4) A (S A + S B )
trimite către C pe
(5) C verifica SA si SB

TSI - Criptografie asimetrica/57 57


4.5 Protocoale pentru SD şi nerepudiere
• A semneaza mesajul: SA;
• A genereaza un antet de identificare (AI),
′ = D (S + AI )
concateneaza antetul cu SSA,Asemneazå
A A totul:

si trimite arbitrului I;
• Arbitrul I verifica SA si confirma informatiile de
identificare AI. I adauga o certificare temporala
(TS) la S = D (S + AI + TS )
I I A
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.
TSI - Criptografie asimetrica/58 58
• Observatie: Aceasta problema poate fi solutionata
4.5 Semnături în alb/1
• 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.
– 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
TSI - Criptografie asimetrica/59original semnat de B 59
4.5 Semnături în alb/2

• 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-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 $”.

TSI - Criptografie asimetrica/60 60


4.5 Semnături în alb/3

• Semnaturi în alb (blind signatures)


• Principiul folosit este: taie si alege (cut
and 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 TSItentativa de frauda.
- Criptografie asimetrica/61 61
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.
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
TSI - asigura
Criptografieimunitate
asimetrica/62 diplomatica: Ion 62
Ionescu.

S-ar putea să vă placă și