OpenSSL 3.5: Nuevos algoritmos poscuánticos y mejoras en TLS y QUIC
El proyecto OpenSSL ha lanzado la versión 3.5.0, una actualización destacada de su popular biblioteca criptográfica de código abierto, ampliamente utilizada para garantizar la seguridad en la transmisión de datos en aplicaciones y sitios web. Esta versión no solamente representa un paso adelante en ciberseguridad, sino también un movimiento estratégico para hacer frente a los desafíos que plantea la computación cuántica.
Publicada el 8 de abril de 2025, OpenSSL 3.5.0 trae consigo innovaciones clave como soporte para criptografía poscuántica, implementación del protocolo QUIC del lado servidor y ajustes importantes en configuraciones TLS, lo que convierte a esta versión en una de las más significativas en años recientes.
OpenSSL 3.5 presenta avances en criptografía poscuántica (PQC)
OpenSSL 3.5.0 estrena compatibilidad con algoritmos criptográficos diseñados para resistir ataques de futuros ordenadores cuánticos, alineándose con los estándares propuestos por el NIST (Instituto Nacional de Estándares y Tecnología de EE.UU.). Se han incorporado tres algoritmos fundamentales:
- ML-KEM (antes conocido como CRYSTALS-Kyber) para el intercambio de claves.
- ML-DSA (antes CRYSTALS-Dilithium), un algoritmo robusto de firma digital.
- SLH-DSA, basado en SPHINCS+, que ofrece una alternativa segura y sin estado a otras firmas digitales.
Estos métodos fueron aprobados como estándares FIPS (203, 204 y 205) en 2024 tras un extenso proceso de evaluación iniciado en 2016, en el que participaron varios expertos internacionales, incluidos investigadores alemanes. Para conocer más sobre los estándares de ciberseguridad, puedes consultar el impacto de Wolfsbane en la ciberseguridad moderna.
Soporte completo para QUIC del lado del servidor
Otra de las novedades destacadas es la integración de soporte para QUIC (Quick UDP Internet Connections) como servidor, de acuerdo al RFC 9000. Este protocolo de nueva generación, que promete conexiones más rápidas y seguras que TCP, ahora está completamente disponible en OpenSSL. Además:
- Se admite la compatibilidad con pilas externas de QUIC, ampliando las posibilidades de implementación.
- Se incorpora soporte para conexiones 0-RTT, lo que permite establecer comunicaciones sin necesidad de varios intercambios iniciales, agilizando notablemente el proceso.
Cambios en parámetros predeterminados y de seguridad
La versión 3.5.0 también redefine elementos que afectan al comportamiento por defecto de la biblioteca, lo que podría requerir ajustes por parte de los desarrolladores:
- El cifrado por defecto para las aplicaciones
req
,cms
ysmime
ahora esaes-256-cbc
, reemplazando al ya obsoletodes-ede3-cbc
. - Se ajusta la lista de grupos soportados en TLS para priorizar KEM híbridos poscuánticos, eliminando aquellos grupos con escasa o nula utilización.
- Los grupos de keyshares en TLS se han modificado; ahora se ofrecen X25519MLKEM768 junto con X25519 por defecto, fortaleciendo el intercambio de claves.
- Se deprecaron todas las funciones
BIO_meth_get_*()
, en un paso hacia la modernización de la API BIO.
Opciones de configuración y nuevas capacidades en OpenSSL 3.5
OpenSSL 3.5 incluye nuevas opciones que permiten un mayor control sobre el comportamiento de la biblioteca, especialmente en entornos regulados o donde la seguridad es crítica:
no-tls-deprecated-ec
: desactiva el soporte para curvas elípticas obsoletas definidas en el RFC 8422.enable-fips-jitter
: permite al proveedor FIPS utilizar una fuente de entropía JITTER, mejorando la aleatoriedad en la generación de claves.- Introducción de
EVP_SKEY
: permite manejar claves simétricas opacas, lo que incrementa la seguridad al abstraer el acceso directo a las claves. - Soporte para generación de claves centralizadas en CMP, facilitando la gestión de certificados.
- Implementación de compatibilidad API para canalización en algoritmos de cifrado, optimizando operaciones criptográficas.
Errores conocidos y próximos pasos
Actualmente se ha identificado un error relacionado con la función SSL_accept
cuando se utiliza sobre objetos retornados de SSL_accept_connection
. En lugar de avanzar el handshake, como se espera, no tiene efecto. Los desarrolladores recomiendan utilizar SSL_do_handshake
como solución temporal mientras se trabaja en una corrección que se espera para la versión 3.5.1.
Se ha confirmado que OpenSSL 3.5 es una versión LTS (Long-Term Support), con soporte garantizado hasta abril de 2030. La siguiente versión (3.6) ya está prevista para octubre de 2025.
Esta evolución de OpenSSL pone de relieve el esfuerzo continuado de la comunidad por garantizar una infraestructura segura de cara al futuro. Incorporar algoritmos resistentes a la computación cuántica, mejorar protocolos modernos como QUIC y modernizar configuraciones predeterminadas son señales claras de un compromiso con la adaptabilidad y la seguridad en un mundo digital cada vez más cambiante.