Se lanzó la biblioteca OpenSSL 4.0.0, que ofrece la implementación de los protocolos TLS y varios algoritmos de cifrado. OpenSSL 4.0 se clasifica como una versión con un ciclo de soporte normal, con actualizaciones lanzadas durante 13 meses. El soporte para versiones anteriores de OpenSSL 3.6, 3.5 LTS, 3.4 y 3.0 LTS continuará hasta noviembre de 2026, abril de 2030, octubre de 2026 y septiembre de 2026, respectivamente. El código del proyecto se distribuye bajo la licencia Apache 2.0.
Novedades principales:
- Se agregó soporte para la extensión TLS ECH (Encrypted ClientHello, RFC 9849), destinada a cifrar la información sobre los parámetros de las sesiones TLS, como el nombre de dominio solicitado. A diferencia de la extensión ESNI (Encrypted Server Name Indication), en ECH se cifra todo el mensaje TLS ClientHello en lugar de cifrar a nivel de campos individuales, lo que permite bloquear filtraciones a través de campos que no cubre ESNI, como el campo PSK (Pre-Shared Key).
- Se agregó soporte para ciertos algoritmos definidos en RFC 8998 que utilizan el conjunto de algoritmos criptográficos SM2 normalizado en China: el algoritmo de firma digital sm2sig_sm3, el grupo de intercambio de claves curveSM2 y el grupo postcuántico curveSM2MLKEM768.
- Se agregó la función criptográfica de hash cSHAKE, basada en el algoritmo SHA-3, que permite generar diferentes hashes a partir de los mismos datos de entrada para proteger contra ataques que manipulan la reutilización de datos.
- Se agregó el algoritmo híbrido 'ML-DSA-MU', que combina el algoritmo postcuántico de firma digital ML-DSA (CRYSTALS-Dilithium) con la función hash clásica SHAKE256.
- Se agregó soporte para las funciones de generación de claves SNMP KDF basadas en HMAC-SHA y SRTP KDF basadas en AES-CM, utilizadas en protocolos de red SNMPv3 y SRTP para crear claves criptográficas.
- Se agregó la opción '-defer_tests' al comando 'openssl fipsinstall', que permite posponer la ejecución de pruebas durante la instalación de módulos FIPS.
- Se implementó soporte en la plataforma Windows para usar el enlace estático o dinámico con Visual C++ Runtime.
- Se agregó soporte en TLS 1.2 para la negociación de intercambio de claves basada en el algoritmo FFDHE, de acuerdo con la RFC 7919.
- Se eliminó el soporte para SSLv3 y SSLv2 Client Hello.
- Se eliminó el soporte para motores cargables dinámicamente, y en su lugar, para extender la funcionalidad de OpenSSL, se debe utilizar el concepto de proveedores conectables.
- En TLS, se ha desactivado el soporte para curvas elípticas obsoletas en la etapa de compilación. Para volver a habilitarlo, se puede usar la opción «enable-tls-deprecated-ec».
- Se ha eliminado la utilidad c_rehash, que debe ser reemplazada por el comando «openssl rehash».
- Se ha eliminado la opción obsoleta «msie-hack» del comando «openssl ca».
- Se ha eliminado el soporte para los métodos personalizados EVP_CIPHER, EVP_MD, EVP_PKEY y EVP_PKEY_ASN1.
- Se han eliminado las funciones obsoletas de SSL/TLS vinculadas a versiones fijas de los protocolos, como «TLSv1_client_method()».
- Se han eliminado las funciones obsoletas ERR_get_state(), ERR_remove_state() y ERR_remove_thread_state().
- Se ha detenido el soporte para las plataformas objetivo darwin-i386{,-cc} y darwin-ppc{,64}{,-cc}.
Fuente: opennet.ru
