What is the difference between ECDHE-RSA and DHE-RSA?
Iniziamo con le somiglianze.
- Entrambi i ciphersuites utilizzano le chiavi effimere per il processo Diffie-Hellman. (che è la "E" nel nome). Ciò garantisce la segretezza.
- Entrambi ciphersuites utilizzano RSA per firmare le chiavi emphermeral del server e quindi di proteggere lo scambio contro gli attacchi man-in-the-middle (cioè la RSA nel nome).
Ora per la differenza.
- ECDHE-RSA utilizza Diffie-Hellman su una curva ellittica gruppo mentre DHE-RSA utilizza Diffie-Hellman su un gruppo modulo-prime.
What upsides has ECDHE-RSA over DHE-RSA?
C'è un attacco ben noto che funziona per DH convenzionale ma non per ECDH.
Come risultato ottenere lo stesso livello di sicurezza ipotizzata * DH ha bisogno di un gruppo molto più grande di ECDH. Ciò significa calcoli più lenti e più traffico di rete.
Entrando nel mondo disordinato degli aspetti pratici alcuni clienti supportano solo il DHE convenzionale mentre altri client supportano solo ECDHE. Inoltre, Java 7 fallirà l'handshake se DHE viene usato con un primo più grande di 1024 bit **.
Quindi, se volete la compatibilità a livello client, crittografia strong e segretezza in avanti con il maggior numero di clienti possibile di quanto si dovrebbe usare ECDHE come l'opzione preferita e DHE (con un grande opportunamente primo) come la seconda scelta.
* Questa è la quantità di sforzo computazionale necessario per craccarla, dati i migliori attacchi attualmente noti.
** Nessuno ha ammesso pubblicamente di craccarlo ma si sospetta che gli aggressori dotati di risorse sufficienti possano farlo.