Schimbul de chei criptate ( EKE ) este un protocol dezvoltat de Steve Bellovin și Michael Merritt [1] . EKE funcționează cu condiția ca utilizatorii să aibă un secret partajat înainte de începerea protocolului. Protocolul vă permite să generați o cheie de sesiune pentru a stabili o conexiune sigură. O nouă cheie de sesiune este generată pentru fiecare sesiune.
Acest protocol folosește criptarea simetrică și asimetrică. În fiecare sesiune a protocolului, o cheie publică este generată aleatoriu și criptată folosind cheia secretă disponibilă părților. Utilizarea a două tipuri de criptare este principala caracteristică a acestui protocol. O parolă poate acționa ca un secret partajat în schemă, ceea ce face ca acest protocol să fie convenabil pentru utilizarea în sistemele în care secretul partajat este o parolă.
Alice și Bob împărtășesc un P secret. Folosind protocolul EKE, ei au capacitatea de a genera o cheie de sesiune partajată K.
Ca urmare a funcționării protocolului, criptoanalistul pasiv Eve poate accesa doar și , precum și mesajele criptate cu cheia de sesiune partajată k. Deoarece algoritmul folosește o schemă de criptare asimetrică și cheile K’ și k sunt alese aleatoriu, Eve nu poate ghici P. Astfel, secretul partajat P poate fi o simplă parolă pe care o persoană și-o poate aminti.
Pașii 3-6 oferă confirmare. La pașii 3-5, Alice se asigură că Bob cunoaște cheia de sesiune partajată. La pașii 4-6, Bob se asigură că Alice cunoaște cheia de sesiune partajată. Aceeași sarcină este rezolvată în protocolul Kerberos prin schimbul de marcaje temporale.
La implementarea acestui protocol, este posibil să se utilizeze mulți algoritmi cu chei publice, dar trebuie să se țină seama și de faptul că limitările metodelor de criptare asupra cheilor pot oferi unui atacator oportunități suplimentare pentru atacuri. Utilizarea unor secvențe aleatorii în acest protocol va face imposibil un atac cu forță brută.
Când se utilizează schema ElGamal [2] , este posibil să se simplifice protocolul principal.
InițializareValorile g - elementul părinte al grupului și p - modulul pentru care se fac calculele sunt alese pentru toți utilizatorii protocolului. De asemenea, conform protocolului EKE, utilizatorii au un secret r partajat. Apoi cheia publică.
Protocol de operareLa implementarea EKE folosind protocolul Diffie-Hellman [4] , cheia K este generată automat de către participanții la protocol în timpul execuției sale.
BeneficiiCând se utilizează protocolul DH-EKE, este rezolvată vulnerabilitatea protocolului Diffie-Hellman subiacent la un atac man-in-the-middle (MITM). Dacă criptoanalistul nu cunoaște secretul partajat al utilizatorilor, atunci nu va putea [3] să ghicească cheia, deoarece valorile aleatorii sunt criptate.
InițializareValorile g - elementul părinte al grupului și n - modulul pentru care se fac calculele sunt alese pentru toți utilizatorii protocolului. Conform protocolului EKE, utilizatorii au un secret comun P.
Protocol de operareSteve Bellovin și Michael Merritt [1] au propus consolidarea unei părți a protocolului cerere-răspuns. Această consolidare permite [3] să evite compromisul datelor, cu condiția ca criptoanalistul să aibă valoarea cheii de sesiune comună anterioare k.
Cu acest protocol, Alice și Bob pot calcula o cheie de sesiune partajată -- . Mai târziu, această cheie este folosită pentru a stabili o conexiune sigură, cheia k este folosită ca cheie de schimb de chei.
Să presupunem că Eve a avut acces la valoarea S, dar funcționarea protocolului este concepută astfel încât să nu-i ofere Evei informații despre secretul partajat P. În plus, deoarece numai datele aleatoare sunt criptate pe cheia K, abordări criptografice pentru recuperarea acestuia nu sunt aplicabile.