ECDH e inoltro segreto

6

Ho appena letto su ECDH e mentre ottenevo una panoramica del processo, ho notato che questo metodo di scambio di chiavi non fornisce alcuna segretezza di inoltro, né protegge da attacchi di replay, perché il segreto condiviso sarà lo stesso per ogni sessione. Esistono metodi comuni che estendono ECDH per supportare queste funzionalità di sicurezza?

    
posta cooky451 26.03.2013 - 16:15
fonte

1 risposta

13

Per ottenere Perfect Forward Secrecy , devi utilizzare chiavi effimere .

Con Diffie-Hellman statico (curva ellittica o no, non è questo il problema), Alice e Bob possiedono entrambi una coppia di chiavi DH: la chiave privata di Alice è a , la chiave pubblica è aG (notazione di curve ellittiche, G è il "punto base" convenzionale per la curva); La chiave privata di Bob è b , la chiave pubblica è bG . Quando Alice e Bob vogliono parlare tra loro, fanno la cosa DH, il che significa che finiscono con il valore segreto condiviso abG . Hanno sempre questo esatto segreto condiviso. Se un utente malintenzionato riesce a sottrarre la chiave privata di Alice ( a ), può ricalcolare il segreto condiviso e quindi decrittografare tutte le conversazioni passate e future tra Alice e Bob.

Effemerale Diffie-Hellman tratta di generare coppie di chiavi DH "al volo" e non registrare le chiavi private da nessuna parte (le chiavi private sono conservate solo nella RAM e solo per la durata della conversazione) . Non essere mai registrati dovrebbe rendere queste chiavi private immuni da ulteriori furti; ecco da dove viene PFS. Questo è usato in SSL / TLS con le suite di crittografia "DHE" (e "ECDHE"): il server possiede un privato / coppia di chiavi pubbliche, con la chiave pubblica in un certificato e adatta per firme (ad es. quella coppia di chiavi è di tipo RSA o DSA). Quando un client si connette, sia il client che il server generano nuove coppie di chiavi DH; il server firma la sua chiave pubblica DH appena generata con la sua chiave di firma (il client verifica la firma e convalida il certificato del server). La chiave che viene effettivamente utilizzata per crittografare i dati è quella derivata dall'algoritmo Diffie-Hellman.

Con le suite di crittografia DHE, se la chiave privata del server viene rubata, il ladro guadagna solo il potere di calcolare firme contraffatte. Il ladro può quindi impersonare il server e mettere in pericolo le comunicazioni future eseguendo un Man-in -l'attacco centrale , ma le connessioni passate sono state crittografate per quanto riguarda le chiavi DH, che sono state a lungo perse e pertanto non verranno decifrate dall'attaccante. Quello è PFS.

    
risposta data 26.03.2013 - 17:47
fonte

Leggi altre domande sui tag