Uso de los certificados con la clave RSA y ECDSA conjuntamente

¿Le gustaría poner a disposición de sus clientes un cifrado de clave moderno y rápido, pero aún le preocupa la compatibilidad con los navegadores antiguos? Ya no tiene de qué preocuparse. Puede configurar dos certificados conjuntamente en su servidor web y RSA servirá como fallback. En este tutorial aprenderá a utilizar ambos certificados con la clave RSA y CE al mismo tiempo en el mismo dominio.

Los servidores web pueden hacer esto desde hace algún tiempo; así que si por motivos de compatibilidad de los visitantes tiene dudas sobre si es el momento adecuado para cambiar a un certificado de clave elíptica (CE), puede configurar ambos. Los navegadores modernos soportan el uso de la clave elíptica, y su comunicación con el servidor será más rápida. Los navegadores que no puedan utilizar la criptografía de curva elíptica (ECC) dispondrán de un certificado RSA clásico como fallback.

Principio del funcionamiento de los dos certificados en un servidor web

El funcionamiento de dos certificados con algoritmos diferentes de manera conjunta es sencillo. Basta con añadir el segundo certificado a la configuración del servidor web y dejar que éste decida cuál utilizar.

Habrá dos certificados disponibles, cada uno con un algoritmo de clave diferente, y su uso será determinado por una lista de claves ordenadas por orden de preferencia (y, por supuesto, por la preferencia del navegador que se conecte). Se preferirá el certificado ECC, que contiene una clave más corta y cuya criptografía es más potente que RSA.

El orden de los certificados se determina por la preferencia de los algoritmos de encriptado que se configuran para el dominio en el servidor web. En la lista de algoritmos preferidos (y prohibidos), los algoritmos se ordenan según el orden que queramos que el servidor pruebe tras recibir una solicitud.

Fallback de ECC a RSA

Si el servidor y el cliente no se ponen de acuerdo sobre los cifrados de clave de CE, cambiará a los cifrados RSA, que el navegador definitivamente soporta. Así que el fallback al certificado RSA clásico está asegurado. Esto hace que el uso de la configuración dual sea seguro y usted no tenga que preocuparse de que un cliente con un navegador antiguo no pueda acceder a su sitio web.

Configuración de la preferencia de encriptado

Es necesario definir los encriptados preferidos para cada servidor de web; para ello recomendamos utilizar el servicio moz://a SSL Configuration Generator o Cipherli.st. Así obtendrá una lista de encriptados adecuados recomendados por los expertos de seguridad y evitará tener que crear dicha lista manualmente.

Cómo obtener un duplicado del certificado

En SSLmarket, obtendrá por defecto un certificado con el algoritmo utilizado en formato CSR. Si desea obtener gratuitamente un duplicado del certificado actual (con un algoritmo diferente), póngase en contacto con nuestro servicio de atención al cliente. Para el uso dual de RSA y ECC, no es necesario comprar dos veces el mismo certificado.

Apache

Tiene que añadir la localización del segundo certificado o la clave privada en la configuración del vhost de un sitio web en concreto. Este segundo certificado tendrá un algoritmo distinto de la clave del primero; suponemos que usted esté añadiendo el certificado ECC al certificado RSA actual.

Solo añadirá el segundo par de claves en la configuración. Su uso dependerá de las preferencias de los algoritmos en ciphersuites.

SSLCertificateFile /etc/ssl/certs/ssl-rsa.crt
SSLCertificateKeyFile /etc/ssl/private/pkey-rsa.pem

SSLCertificateFile /etc/ssl/certs/ssl-ecc.pem
SSLCertificateKeyFile /etc/ssl/private/pkey-ecc.pem

Si tiene permitida la directiva SSLCACertificateFile en la configuración, no dude en eliminarla o comentarla. No es necesario especificar el certificado intermedio (certificado CA Intermediate) por separado, puesto que ya se encuentra en el archivo del certificado de dominio.

Lógicamente, los algoritmos de encriptado que utilizan ECC deberían encabezar la lista con mayor prioridad. Puede configurar los protocolos y la lista de encriptado en el archivo ssl.conf (por defecto en el directorio /mods-enabled). Ejemplo tomado de ssl-config.mozilla.org:

SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
SSLCipherSuite ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384
SSLHonorCipherOrder off
SSLSessionTickets off

Nginx

Nginx puede utilizar el certificado RSA y ECC al mismo tiempo desde la versión 1.11.0, publicada en 2016. La lógica de la configuración de nginx es la misma que la de Apache. Solamente tiene que añadir el segundo certificado en la configuración y dejar que el servidor decida.

server {
listen 443 ssl default_server;
server_name dominio.es www.dominio.es;
# RSA certificado
ssl_certificate /var/ssl/dominio.es/certs/fullchain.rsa.pem;
ssl_certificate_key /var/ssl/dominio.es/private/privkey.rsa.pem;
# ECDSA certificado
ssl_certificate /var/ssl/dominio.es/certs/fullchain.ecc.pem;
ssl_certificate_key /var/ssl/dominio.es/private/privkey.ecc.pem;

# Other directives
}

Configuración de los protocolos y la lista de encriptados (tomado de ssl-config.mozilla.org):

ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;

Verificación de instalación correcta

Puede verificar la instalación correcta del certificado SSL utilizando nuestra herramienta. Para más información lea Control de la instalación del certificado SSL/TLS.

Fuentes e información adicional


Pomoc s SSL certifikáty

¿Preguntas?

Escríbanos
info@sslmarket.es
 Formulario de contacto
¿Le resultó útil este artículo?