Encrypted Key Exchange
![](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f8/EKE_scheme.svg/330px-EKE_scheme.svg.png)
Encrypted Key Exchange (anche detta EKE) è una famiglia di metodi di interazione tra due o più partecipanti per l'autenticazione e la condivisione di una chiave crittografica di sessione. Basati sulla conoscenza condivisa di una comune password, sono stati descritti da Steven M. Bellovin e Michael Merritt.[1] Alcune varianti di EKE presenti nella pubblicazione originale hanno mostrato diverse debolezze, ma altre sue varianti, migliorate e potenziate, hanno reso EKE il primo metodo efficace per ricavare una chiave di sessione condivisa e l'autenticazione mutua mediante una password condivisa.
Requisiti
Un protocollo EKE per essere considerato sicuro deve poter garantire la robustezza nei confronti di diversi attacchi:
- anche se le due parti condividono una password debole il protocollo deve essere forte rispetto attacchi off-line (dizionario, forza bruta) sui pacchetti scambiati;
- il protocollo deve essere robusto nei confronti dei replay attack.
DH-EKE
Una delle versioni presenti nella pubblicazione originale ed effettivamente sicura è basata sul metodo di scambio di chiavi Diffie-Hellman. Si riporta di seguito il protocollo. Si supponga che sia il client, sia il server e sia con funzione crittografica di hash.
con indichiamo la cifratura con un algoritmo a chiave simmetrica di con la chiave
calcola K come e sceglie un nonce
può decifrare il challenge selezionare un nuovo nonce . In questo modo invia un challenge al server e nel contempo mostra di conoscere autenticandosi come verso il server
il server risponde al challenge autenticandosi verso . Di qui in poi i due attori del protocollo sono autenticati e dispongono di una chiave di sessione. Si noti che un attacco brute force sui messaggi cifrati con sono inattuabili poiché un attaccante non può verificare (se non per tentativi on-line) che la decifratura è andata a buon fine. La quantità è infatti casuale. Lo stesso motivo (la scelta di quantità e casuali mette al sicuro il protocollo nei confronti di reply-attack).
Vulnerabilità di DH-EKE
DH-EKE è vulnerabile ad un attacco di discovery sul database del server. Se infatti un malintenzionato riuscisse a rubare l'hash potrebbe inscenare un protocollo di autenticazione sia camuffandosi da server, che da client.
Augmented-EKE
Per eliminare la vulnerabilità precedente si fa in modo che il server conservi non la password, ma una quantità derivata da una funzione one-way applicata sulla stessa. In questo modo un attaccante anche rubando le informazioni presenti sul server non può utilizzarle per rimpiazzare il client.
Note
- ^ S. M. Bellovin e M. Merritt, Encrypted Key Exchange: Password-Based Protocols Secure Against Dictionary Attacks, Proceedings of the I.E.E.E. Symposium on Research in Security and Privacy, Oakland, maggio 1992.
Collegamenti esterni
- http://www.cs.columbia.edu/~smb/papers/aeke.ps
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/Ambox_padlock_green.svg/25px-Ambox_padlock_green.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Gnome-system-lock-screen.svg/25px-Gnome-system-lock-screen.svg.png)