Soporte de los certificados ECC: ¿Ya ha llegado su hora?

19/2/2020 | Jindřich Zechmeister

Los certificados ECC (Elliptic Curve Cryptography) fueron presentados ya hace unos años como futuros sucesores de los certificados con las claves RSA; no obstante, hasta ahora no han llegado a ser importantes en tal medida que se pueda hablar de un sustituto. Examinemos el soporte de los certificados ECC desde el punto de vista de los clientes (navegadores) y también la manera de conseguir un certificado ECC.

¿Qué es la criptografía ECC?

La criptografía de la clave pública se basa matemáticamente en una alta complejidad de la resolución de un problema matemático concreto. Es eficaz solo cuando resolver el problema matemático en cuestión no es posible porque con el rendimiento computacional actual tardaría mucho tiempo (decenas, centenares, miles de años). Así se garantiza que nadie en la Tierra es capaz de solucionar prácticamente este problema y romper el nivel de aseguramiento dado (el nivel quiere decir la fuerza del cifrado utilizada y la longitud de las claves).                                                                                               

En cuanto a las claves RSA, el problema matemático es la imposibilidad de calcular rápidamente dos coeficientes a partir de su producto (factorización); se trata de un número primo grande. La criptografía ECC se basa en la suposición de que encontrar el logaritmo discreto de un punto aleatorio de la curva elíptica con respecto al punto básico conocido es imposible. 

Pues bien, la criptografía ECC es una denominación para el uso de las claves que se basan en las curvas elípticas. En la infraestructura PKI se utilizan normalmente sobre todo las claves RSA y la ECC es un sucesor más moderno, sin embargo, con un algoritmo diferente. Las claves EC utilizadas para el cifrado son más cortas (cuando se mantiene el mismo grado de la seguridad) y esta diferencia se nota incluso en una mayor velocidad del cifrado y ante todo en la primera conexión del cliente con el servidor. Dicho simplemente, el servidor tiene que hacer “menos cálculos”.       Por ejemplo, una clave EC de 256 bits es equivalente a una clave RSA de 3072 bits y una clave EC de 384 bits equivale incluso a una clave RSA de 7680 (en las claves RSA se utiliza normalmente la longitud de 2048 bits).

Los navegadores podrán con la clave EC 

Cuando los certificados ECC fueron introducidos al mercado era relativamente arriesgado instalar un certificado con la clave EC como inicial para un sitio web. La teoría de ECC nació ya en el año 1985, en la siguiente década se estandarizó y los primeros certificados con el uso de la criptografía ECC empezaron a ser emitidos comercialmente aproximadamente con posterioridad al año 2010. En aquella época  seguía predominando en el mercado el sistema operativo Windows XP, que no soporta los algoritmos y principios de seguridad modernos. La mayoría de prestadores de los servidores estaba obligada a mantener un compromiso entre la seguridad y una compatibilidad retrasada para los visitantes de su sitio web. 

Sin embargo, hoy en día, la situación es totalmente diferente y en esencia, la criptografía ECC no es limitada por nada. Los datos de los productores del software hablan claro: si su visitante no utiliza un sistema operativo extraordinariamente antiguo sin soporte del productor, se conectará sin problemas a una web asegurada con el certificado ECC. Más abajo encontrará una lista de las versiones de software que eran las primeras en el soporte de la criptografía ECC: 

Windows: Vista y más recientes

Apple: OSX 10.6 y más recientes

Chrome: depende de Windows porque utiliza librerías del sistema. El navegador mismo desde la versión 24. 

Firefox: versión 18, la única opción en Windows XP

Android – versión 4 y más recientes

Pues bien, en la actualidad, usted no tiene por qué tener miedo a utilizar la criptografía ECC en el sitio web. Sin embargo, si a pesar de todo insiste en asegurar la compatibilidad con un dispositivo antiguo es posible conseguir gratis con un certificado ECC (de la AC DigiCert) un duplicado junto con la clave RSA.

Es fácil obtener un certificado ECC

En el momento de redacción de este artículo soportan las claves EC todos los certificados DigiCert, RapidSSL y algunos de los certificados GeoTrust (es decir, todos los certificados emitidos mediante una nueva PKI de DigiCert). Poco a poco, el soporte de la criptografía ECC será posible en todos los certificados de nuestra oferta). 

Para los certificados premium Symantec Secure Site en la variante Pro ha sido introducida la criptografía ECC desde su puesta en venta comercial; en la actualidad somos capaces de emitir todos los certificados Secure Site con la clave EC. 

El algoritmo de la clave pública en el pedido del certificado está determinado por la clave pública en la CSR. Es decir, si quiere conseguir un certificado ECC es imprescindible generar también la CSR usando este algoritmo. En el pedido no encontrará ninguna opción a elegir. 

Al generar la CSR es importante elegir una curva ECC apropiada. DigiCert soporta actualmente la curva NIST P-256 (o bien prime256v1); estas opciones las encontrará en el software que utiliza para generar la CSR ( y Windows Server). La CSR que generará la utilizará en nuestro pedido igual que en cualquier otro certificado.  

¡Prúebelo!

El funcionamiento del certificado ECC lo puede probar en nuestra web de prueba. Verá que funciona sin problema, se carga super rápido y la diferencia en el algoritmo de la clave en el certificado no la percibirá para nada negativamente. 

Más información aquí:

1. Elliptic Curve Cryptography (ECC), disponible en DigiCert.com

2. Ensuring compatibility without compromising security: the case of ECC/RSA hybrid certificates, disponible en DigiCert.com