it-swarm.it

Che cos'è ECDHE-RSA?

Qual è la differenza tra ECDHE-RSA e DHE-RSA?

So che DHE-RSA è (in una frase) Diffie Hellman firmato usando le chiavi RSA. Dove DH viene utilizzato per il segreto in avanti e le protezioni RSA contro il MITM, ma dove vengono esattamente utilizzate le curve ellittiche in ECDHE-RSA? Quali vantaggi ha ECDHE-RSA rispetto a DHE-RSA?

90
Hubert Kario

Le suite ECDHE usano lo scambio di chiavi diffie-hellman con curva ellittica, dove le suite DHE usano il normale diffie-hellman. Questo scambio è firmato con RSA, allo stesso modo in entrambi i casi.

Il vantaggio principale di ECDHE è che è significativamente più veloce di DHE. Questo articolo sul blog parla un po 'delle prestazioni di ECDHE vs. DHE nel contesto di SSL.

83
CodesInChaos

Per aggiungere un po 'di informazioni su ciò che dice @CodesInChaos:

Quando si utilizza ECDHE anziché DHE, è possibile ottenere i seguenti vantaggi:

  • Prestazioni migliori. ECDHE è più veloce, per un determinato livello di sicurezza; @CodesInChaos indica un articolo che fornisce cifre; vedi anche questa risposta per perché la curva ellittica offre prestazioni migliori.
  • Messaggi più piccoli. Una chiave pubblica ECDH, con una curva di 224 bit, verrà codificata su 56 byte, mentre una chiave pubblica DH classica con forza simile deve usa un modulo a 2048 bit e utilizzerà 256 byte. Poiché ci sono due di questi messaggi in un handshake SSL, ECDHE ti fa risparmiare circa 400 byte. Non è molto, ma può fare la differenza in alcuni contesti.
  • Biodiversità. ECDH si basa sulla durezza di un problema matematico che è distinto da quello usato per il DH classico. In una certa misura, il DH classico può essere visto come un sotto-caso molto specifico di ECDH (i calcoli modulo a prime sono isomorfi rispetto all'aggiunta del punto curva in una curva anomala) in modo da poter dare una mano al dibattito su come ECDH sia intrinsecamente forte almeno quanto DH (se ECDH è rotto, così è DH). In pratica, ci sono algoritmi sub-esponenziali (cioè più veloci) per risolvere logaritmo discreto , motivo per cui dobbiamo usare un modulo a 2048 bit invece di un modulo a 224 bit per DH semplice; mentre nessun algoritmo "più veloce" è noto per interrompere la variante della curva ellittica.
  • Moda. Le curve ellittiche sono cool. Questo è un vantaggio importante, sebbene sia espresso abitualmente con una terminologia più seria e noiosa ("conformità", "algoritmo approvato" ...).
  • Pulizia. Se imponi l'utilizzo dell'ECDHE, respingerai automaticamente le vecchie implementazioni che non sanno come eseguire l'ECDHE. Se usi ECDHE per il tuo server Web, non devi più preoccuparti di IE 6.0 o 7.0! Gli argomenti crittografici per ECDHE sono una buona scusa per uccidere tali dinosauri che avrebbero dovuto fossilizzarsi a lungo fa.
55
Thomas Pornin

Vedo due domande

"dove vengono esattamente usate le curve ellittiche in ECDHE-RSA?"

Vedo che è "Come vengono utilizzate le curve ellittiche quando è RSA in ECDHE_RSA?". Bene, controlla RFC 4492, Sezione 2, ECDHE_RSA - è abbastanza buono. In sostanza, il certificato del server è un certificato RSA (cioè con chiavi RSA a lungo termine) ma durante l'handshake TLS accetta invece un transitorio/temporaneo/ effimero ( the [~ # ~] e [~ # ~] è DHE) chiave pubblica EC con DH. Quindi l'autenticità a lungo termine viene confermata tramite la firma RSA del cert del server, ma le chiavi transitorie vengono derivate tramite chiavi EC effimere (che quindi generano la chiave simmetrica)

Quali vantaggi ha ECDHE-RSA rispetto a DHE-RSA?

Questo è già affrontato nelle altre risposte.

6
DeepSpace101

Qual è la differenza tra ECDHE-RSA e DHE-RSA?

Cominciamo con le somiglianze.

  • Entrambi i ciphersuites usano chiavi effimere per il processo Diffie-Hellman. (questa è la "E" nel nome). Ciò fornisce segretezza diretta.
  • Entrambe le ciphersuite usano RSA per firmare le chiavi emphermeral del server e quindi proteggere lo scambio dagli attacchi man-in-the-middle (ovvero RSA nel nome).

Adesso per la differenza.

  • ECDHE-RSA utilizza Diffie-Hellman su un gruppo di curve ellittiche mentre DHE-RSA utilizza Diffie-Hellman su un gruppo modulo-prime.

Quali vantaggi ha ECDHE-RSA rispetto a DHE-RSA?

Esiste un noto attacco che funziona per DH convenzionale ma non per ECDH.

Di conseguenza per ottenere lo stesso livello di sicurezza presunta * DH ha bisogno di un gruppo molto più grande di ECDH. Ciò significa calcoli più lenti e più traffico di rete.

Entrando nel disordinato mondo delle funzionalità, alcuni client supportano solo DHE convenzionale, mentre altri client supportano solo ECDHE. Inoltre Java 7 fallirà l'handshake se DHE viene utilizzato con un numero primo maggiore di 1024 bit **.

Quindi, se si desidera ampia compatibilità con i client, crittografia avanzata e segretezza con il maggior numero possibile di client, è necessario utilizzare ECDHE come opzione preferita e DHE (con un numero primo adeguatamente adeguato) come seconda scelta.

* Questa è la quantità di sforzo computazionale necessaria per risolverlo dato gli attacchi attualmente più conosciuti.
** Nessuno ha ammesso pubblicamente di decifrarlo, ma si sospetta che gli attaccanti dotati di risorse adeguate possano farlo.

2
Peter Green