Se lanzó la biblioteca OpenSSL 3.5.0 con la implementación de los protocolos SSL/TLS y varios algoritmos de cifrado. OpenSSL 3.5 se clasifica como una versión de soporte a largo plazo (LTS), con actualizaciones que se lanzan durante 5 años (hasta abril de 2030). El soporte para las versiones anteriores OpenSSL 3.3, 3.2 y 3.0 LTS continuará hasta abril de 2026, noviembre de 2025 y septiembre de 2026, respectivamente. El código del proyecto se distribuye bajo la licencia Apache 2.0.
Novedades principales:
- Se añadió soporte para algoritmos criptográficos resistentes a la computación cuántica:
- ML-KEM (CRYSTALS-Kyber) — un algoritmo de intercambio de claves que utiliza métodos de criptografía basados en la solución de problemas de teoría de redes, cuyo tiempo de resolución no difiere entre las computadoras clásicas y cuánticas.
- ML-DSA (CRYSTALS-Dilithium) — un algoritmo de generación de firmas digitales que se basa en la teoría de redes.
- SLH-DSA (Sphincs+) — un algoritmo de generación de firmas digitales que aplica métodos de criptografía basados en funciones hash. SLH-DSA tiene firmas de mayor tamaño y velocidad de operación más lentas que ML-DSA, pero se basa en principios matemáticos completamente diferentes, es decir, seguirá siendo efectivo en caso de compromiso de los algoritmos basados en la teoría de redes.
- Se implementó soporte completo para el protocolo QUIC (RFC 9000), que ahora está disponible no solo para aplicaciones de cliente, sino también para aplicaciones de servidor. QUIC es una extensión del protocolo UDP, que soporta la multiplexión de múltiples conexiones y proporciona métodos de cifrado equivalentes a TLS. El protocolo QUIC se utiliza en HTTP/3 y fue creado como una alternativa a la combinación TCP+TLS, abordando problemas como el largo tiempo de establecimiento y negociación de conexiones en TCP, y eliminando retrasos por pérdida de paquetes durante la transmisión de datos.
- Se añadió la capacidad de utilizar pilas externas con implementación del protocolo QUIC, incluidas las pilas que soportan el modo 0-RTT (0 Round Trip Time), que permite iniciar la transmisión de datos inmediatamente después de enviar el paquete de establecimiento de conexión.
- Se añadió soporte para objetos opacos (opaque) de claves simétricas (EVP_SKEY) que ocultan los detalles de la implementación de la clave.
- Se añadió el parámetro «no-tls-deprecated-ec» para desactivar el soporte para grupos TLS declarados obsoletos en RFC-8422.
- Se ha añadido el parámetro «enable-fips-jitter», que habilita en el proveedor FIPS el uso de una fuente de entropía basada en jitter, implementada mediante la biblioteca jitterentropy. La generación de entropía basada en jitter se realiza midiendo las diferencias en el tiempo de ejecución repetido de un conjunto específico de instrucciones en la CPU, dependiendo de numerosos factores internos y siendo impredecible sin un control físico sobre la CPU.
- En CMP (Protocolo de Gestión de Certificados) se ha añadido soporte para la generación centralizada de claves (la clave pública y privada para el cliente se generan del lado servidores).
- Se ha añadido soporte para proporcionar varios conjuntos de claves (keyshares) para una misma conexión TLS.
- Se ha añadido una API para el procesamiento en canalizaciones (pipelining), que permite procesar varios bloques de datos simultáneamente al usar ciertos cifrados, como AES-GCM, que admiten cálculos paralelos.
- En las aplicaciones req, cms y smime, se ha cambiado el algoritmo de cifrado predeterminado de des-ede3-cbc a aes-256-cbc.
- El grupo de cifrados predeterminado para TLS ha incluido y seleccionado como prioritarias las grupos híbridos KEM (Mecanismo de Encapsulación de Claves), resistentes a los ataques de computadoras cuánticas.
- Se han añadido los algoritmos X25519MLKEM768 y X25519 al conjunto de claves (keyshares) utilizados por defecto en TLS.
- Se han declarado obsoletas las funciones BIO_meth_get_*().
Fuente: opennet.ru
