(4)Criptografie_asimetrica
-
Upload
onitiu-emanuel -
Category
Documents
-
view
14 -
download
0
description
Transcript of (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
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
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)
• 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)
• 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)
• 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−=
• 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
• 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)
• 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)
• 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)
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
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 -
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
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)
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}
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
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}
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
4.3 Functii hash in autentificare
TSI - Criptografie asimetrica/34 34
A→ B: M|| EK(H(M))– Confera autentificare: H(M) este criptata
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
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
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
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
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
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)
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
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
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)
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
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
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 +=
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
+=
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 ===
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 =
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 ==
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 =
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 =
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.
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 ===
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.
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 ==
• 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 +
• 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 ++=
• 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
• 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 $”.
• 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.
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.