¿Cuál es la diferencia entre ECDHE-RSA y DHE-RSA?
Empecemos con las similitudes.
- Ambos conjuntos de claves utilizan claves efímeras para el proceso Diffie-Hellman. (Esa es la "E" en el nombre). Esto proporciona secreto hacia adelante.
- Ambos conjuntos de claves utilizan RSA para firmar las claves enferales del servidor y, por lo tanto, protegen el intercambio contra ataques de intermediarios (que es el RSA en el nombre).
Ahora por la diferencia.
- ECDHE-RSA usa Diffie-Hellman en un grupo de curvas elípticas, mientras que DHE-RSA usa Diffie-Hellman en un grupo de módulo principal.
¿Qué ventajas tiene ECDHE-RSA sobre DHE-RSA?
Hay un ataque conocido que funciona para DH convencional pero no para ECDH.
Como resultado, para obtener el mismo nivel de seguridad asumido * DH necesita un grupo mucho más grande que ECDH. Eso significa cálculos más lentos y más tráfico de red.
Al entrar en el desordenado mundo de los aspectos prácticos, algunos clientes solo admiten DHE convencional, mientras que otros solo admiten ECDHE. Además, Java 7 fallará en el protocolo de enlace si se usa DHE con un primo mayor que 1024 bits **.
Entonces, si desea una amplia compatibilidad con el cliente, una criptografía sólida y un secreto hacia adelante con la mayor cantidad de clientes posible, debería usar ECDHE como su opción preferida y DHE (con un número primo adecuado) como la segunda opción.
* Esa es la cantidad de esfuerzo computacional necesario para resolverlo, dados los mejores ataques conocidos actualmente.
** Nadie ha admitido públicamente que lo ha descifrado, pero se sospecha que los atacantes con recursos suficientes podrían hacerlo.