o protocol
un algoritm ce specifica pasii prin care doua sau mai multe entitati conclucreaza pentru atingerea unui obiectiv
o distribuirea cheilor
un protocol prin care un secret partajat devine disponibil 555j99f partilor spre uz criptografic viitor
multe dintre protocoalele de distribuire a cheilor implica existenta unei entitati centrale sau a unei entitati de incredere. Aceasta entitate se poate intalni sub diferite denumiri
trusted third party
trusted server
authentication server
key distribution center (KDC)
key translation center (KTC)
certification authority (CA)
o transportul cheilor
un protocol prin care partile creeaza sau obtin un secret pe care il transfera intr-un mod sigur intre ele
o acordul asupra cheilor
un protocol prin care partile deduc un secret partajat in baza informatiilor asociate fiecarei parti ai nici una dintre parti nu poate prezice rezultatul
o schema de predistribuire a cheilor
un caz particular de distribuire a cheilor in care cheile sunt determinate a priori din informatia asociata partilor
o distribuirea dinamica a cheilor
un caz particular de distribuire a cheilor in care cheile variaza de la o sesiune la alta
o autentificarea cheii
o entitate se asigura ca nici o alta entitate in afara entitatii/entitatilor identificate nu are acces la o anumita cheie secreta
o confirmarea cheii
o entitate se asigura ca o alta entitate (posibil neidentificata) este in posesia unei anumite chei secrete
o autentificarea explicita a cheii
sunt simultan valabile autentificarea cheii si confirmarea cheii
o distribuirea cheii autentificate
un protocol care asigura autentificarea cheii
o distribuirea cheilor bazata pe identitate
un protocol de distribuire a cheilor in care informatia de identificare a entitatii se foloseste drept cheie publica
o distribuirea independenta de mesaj a cheilor
un protocol de distribuire a cheilor in care sunt implicate doar doua entitati si in care mesajele schimbate intre acestea nu depind de informatia de sesiune
o caracteristici ale protocoalelor de distribuire a cheilor
natura autentificarii
o combinatie a urmatoarelor
autentificarea entitatii
autentificarea cheii
confirmarea cheii
reciprocitatea autentificarii
fiecare dintre autentificarile de mai sus pot fi unilaterale sau mutuale
prospetimea cheii
din punctul de vedere al unei entitati o cheie proaspata este o cheie ce nu a mai fost utilizata
controlul cheii
o entitate alege o cheie
cheia este derivata din informatioa asociata partilor si nici o parte nu poate o poate prevedea
eficienta
a. numarul de mesaje schimbate intre parti
b. latimea de banda necesara
c. complexitatea calculelor
d. posibilitatea de a face calcule off-line
cerinte privitoare la o terta parte
. existenta, on-line sau off-line sau inexistenta unei terte parti
a. gradul de incredere cerut unei terte parti
tipul de certificat utilizat daca este cazul
maniera de distributie a informatiei initiale
nonrepudierea
un protocol trebuie sa asigure o confirmare a primirii cheii
o atac pasiv
atacul realizat de catre un adversar care inregistreaza traficul si apoi incearca analiza
o atac activ
atacul realizat de catre un adversar ce modifica sau injecteaza mesaje
o confidentialitate perfecta inainte
se spune despre un protocol ca are aceasta proprietate daca compromiterea cheilor de lunga durata nu duce la compromiterea cheilor din sesiunile din trecut
o vulnerabil la atac cu cheie cunoscuta
se spune despre un protocol ca are aceasta proprietate daca compromiterea cheilor de sesiune din trecut permite unui adversar activ sa compromita cheile de sesiune din viitor sau impersonalizarea in viitor realizata de catre un adversar activ
o transportul cheilor prin criptare simetrica
derivarea si transportul cheilor in lipsa unui server
actualizarea punct-la-punct a cheii prin criptare simetrica
actualizarea punct-la-punct a cheii prin prin derivarea cheii si functii neinversabile
transportul cheii fara chei partajate initiale
Kerberos si protocoale cu server
protocolul de autentificare Kerberos
sunt implicate trei entitati: A(client), B(server si verificator)
si T(server de autentificare Kerberos)
initial A si B nu partajeaza nici un secret in timp ce T partajeaza cate un
secret cu fiecare
scopul lui B este acela de a verifica identitatea lui A si ca efect colateral,
stabilirea unei chei partajate
optional A si B se autentifica reciproc si stabilesc o cheie secreta care nu
este cunoscuta de T
A cere lui T referinte care sa-i permita sa se autentifice fata de B
T returneaza lui A o cheie de sesiune criptata pentru A si un tichet criptat
pentru B
A transmite lui B tichetul si identitatea lui A
A se autentifica fata de B print-un mesaj, ce contine un marcaj de timp,
criptat cu cheia de sesiune
E este un algoritm de criptare simetrica
NA este o informatie aleasa de A; TA este un marcaj de timp dedus din ceasul local al lui A
L este durata de validitate
A si T partajeaza cheia KAT iar B si T partajeaza cheia KBT; tichetB = EKBT(k, A, L); autentificator = Ek(A, TA, Asubcheie)
A T: A, B, NA
A T: tichetB, EKAT(k, NA, L, B)
A B: tichetB, autentificator
A B: Ek(TA, Bsubcheie)
actiunile
a. A genereaza informatia NA si trimite lui T mesajul
b. T genereaza o cheie de sesiuen k, defineste o perioada de validitate, L, a tichetului (timp de expirare, optional timp de incepere); cripteaza cheia, informatia primita de la A, durata de validitate si identitatea lui B utilizand cheia lui A; T creeaza un tichet criptat cu cheia lui B ce contine cheia,k, identitatea lui A si durata de validitate; ambele sunt transmise lui A
c. A decripteaza partea de mesaj ce-i este adresata si recupreaza cheia, k, informatia transmisa initial, NA, durata de validitate, L si identitatea lui B; A verifica ca identitatea lui B si informatia, NA sunt cele transmisie initila lui T si salveaza L; T cripteaza propria identitate, un marcaj de timp si optional un secret, Asubcheie utilizand cheia de sesiune si transmite lui B
d. B decripteaza tichetul utilizand cheia, KBT si recupreaza cheia de sesiuen, k pe care o foloseste pentru decriptarea autentificatorului si verifica
i. ca identitatea lui A din tichet si din autentificator corespunf
ii. daca marcajul de timp din autentificator este valid
iii. daca timpul local propriu este in intervalul specificat prin L
e. (optional autentificare mutuala) B cripteaza marcajul de timp al lui A si o subcheie (care sa permita o negociere ulterioara a unei subcehi de sesiune) cu cheia de sesiune, k, si trimite lui A
f. A decripteza si recupereaza subcheia lui B, daca marcajul de timp corespunde
protocolul cu chei partajate Needham-Schroeder
protocolul Otway-Rees
o acordul asupra cheilor prin tehnici simetrice
sistem de distribuire chei (KDS - key distribution system) este o metoda prin
care, in timpul unei perioade de initializare, un server de incredere genereaza
si distribuie date secrete utilizatorilor ai orice pereche de utilizatori poate
sa calculeze o cheie partajata, necunoscuta altor utilizatori, exceptie facand
serverul
pentru o pereche de chei fixate, KDS este o scheme de predistributie
KDS j-sigur pentru o pereche de utilizatori, orice coalitie de j sau mai putin utilizatori ce partajeaza datele proprii nu pot calcula cheia partajata de perechea initiala mai bine decat simpla ghicire
limita Blom pentru KDS intr-un KDS j-sigur ce asigura perechi de chei pe m biti, datele secrete stocate de catre fiecare utilizator trebuie sa aiba cel putin m(j+1) biti
sistemul simetric Blom de predistribuire a cheii
o transportul cheilor prin criptare cu cheie publica
protocoale fara semnaturi
Needham-Schroeder cu cheie publica
protocoale cu semnaturi
criptarea cheilor semnate
criptare si semnare separat
semnarea cheilor criptate
protocoale de autentificare X.509
este in categoria protocoalelor cu semneaza cheile criptate; recomandarea defineste protocoale de autentificare 'strong two-way' si 'strong three-way' (cu doua si trei treceri) cu autentificarea mutuala a entitatilor si transportul optional al cheilor, cu marcaje de timp si intrebare-raspuns ai sa raspunda urmatoarelor cerinte:
inf. criptografice primite de entitatea B au fost construite de catre entitatea A, care nu le poate altera ulterior
inf. criptografice primite de entitatea B sunt destinate lui B
inf. criptografice primite de entitatea B sunt proaspete
secretul mutual al cheilor transferate
protocol cu doua treceri
A
trimite lui B un mesaj si B raspunde cu un mesaj
in caz de reusita, ambele entitati sunt mutual autentificate si se face
transportul cheilor autentificate
Notatie
PA(x) este rezultatul aplicarii cheii publice a lui A la datele x
SA(x) este rezultatul aplicarii cheii private de semnare a lui A la datele x
rA si rB sunt numere ce nu se refolosesc
certA este un certificat ce asociaza entitatea A la o cheie publica adecvata atat pentru criptare cat si pentru verificarea semnaturii
initializarea sistemului
. fiecare entitate are propria pereche de chei pentru criptare si semnare
a. entitatea A trebuie sa obtina si sa autentifice cheia publica de criptare a lui B
mesajele protocolului
fie DA = (tA, rA, B, date1, PB(k1))
si DB = (tb, rB, A, rA, date2,
PA(k2))
A B: certA, DA, SA(DA)
A B: certB, DB, SB(DB)
actiunile
. A obtine marcajul de timp tA care indica timpul de expirare, genereaza rA si optional cheia simetrica k1; date1 sunt date optionale pentru care se doreste autentificarea originii
a. B verifica autenticitatea lui certA, extrage cheia publica de semnare a lui A si verifica semnatura lui A pe blocul DA; B verifica ca el este destinatarul mesajului, ca marcajul de timp este valid si ca rA nu a fost inlocuit (rA contime o secventa pe care B o compara cu o informatie de stare locala in ceea ce priveste unicitatea pentru intervalul de validitate definit prin tA)
b.
daca verificarile au succes B dautentifica pe A, decripteaza k1
utilizand propria cheie privata si o salveaza; A este autentificat
daca se doreste autentificare mutuala, B obtine tB, genereaza rB
si trimite lui A un mesaj similar
c. A parcurge aceeasi secventa de actiuni; A si B sunt mutual autentificate; A si B partajeaza sceretele mutual k1 si k2
se foloseste aceeasi pereche de chei pentru semnare si criptare; deoarece nu se folosesc identificatori, DA = DA ( PB() ) nu exista garantia ca entitatatea care semneaza, SA(DA) este sursa
protocol cu trei treceri
A si B schimba 3 mesaje; protocolul difera de cel anterior dupa cum urmeaza:
marcajele de timp tA si tB sunt setate la zero si nu se verifica
A verifica ca rA este acelasi ca in primul mesaj
A trimite un al treilea mesaj catre B
A B: (rB,
B), SA(rB, B)
B verifica semnatura cu mesajul in clar, corectitudinea identitatii B si ca rB este acelasi cu cel initial
protocoale hibride
aceste protocoale aplica o criptare simetrica peste criptarea cu cheie publica si peste semnatura
protocolul Beller-Yacobi
asigura autentificarea mutuala a entitatilor si autentificarea explicita a
cheii
a fost prioectat pentru aplicatiile in care exista un dezchilibru intre
puterile de calcul ale celor doua parti pentru a minimiza cerintele de putere
de calcul ale partii mai slabe; identitatea partii mai slabe ramane ascunsa
adversarului
fie A entitatea mai slaba si B entitatea mai puternica; A se autentifica lui B
prim semnarea unei intraberi in timp ce B se autentifica lui A demonstrand
cunoasterea unei chei pe care numai B insusi o poate recupera
o acordul asupra cheilor prin tehnici asimetrice
Diffie-Helllman si protocoale inrudite
acordul Diffie-Hellman asupra cheilor
a fost prima solutie practica la problema distributiei cheilor care a permis
celor doua parti sa partajeze un secret fara a cunoaste a priori o alta
informatie, pe un canal deschis
A si B trimit cate un mesaj peste un canal deschis, la final A si B partajeaza secretul K
pas premergator, o singura data
se selecteaza un numar prim p si un generator α al lui Zp*
si se publica
mesaje
A B: αx mod p
A B: αy mod p
actiuni
. A selecteaza aleator un secret x, 1 ≦ x ≦ p-2 si trimite lui B
a. B selecteaza aleator un secret x, 1 ≦ x ≦ p-2 si trimite lui A
b. B calculeaza K = (αx)y mod p
c. A calculeaza K = (αy)x mod p
acordul ElGamal intr-o singura trecere
protocoale MTI cu doua treceri
protocolul STS (Station-to-Station)
Chei publice certificate implicit
Gunther
Girault
Protocoale Diffie-Hellman cu chei certificate implicit
|