Linux Adictos Pablinux  

OpenSSL 3.6 llega con refuerzos en seguridad y mejoras de rendimiento

OpenSSL 3.6

La nueva rama OpenSSL 3.6 ya está disponible, seis meses después de la anterior, como actualización de gran calado del popular conjunto de librerías criptográficas de código abierto. Llega con cambios funcionales, mejoras de seguridad y optimizaciones de rendimiento que impactan tanto a servidores como a aplicaciones cliente.

Además de incorporar soporte para tecnologías recientes y ajustes exigidos por estándares, esta versión introduce utilidades y APIs que simplifican la integración. En el plano práctico, se endurecen comprobaciones internas, se mejora la interoperabilidad y se afinan rutas críticas de cifrado en varias arquitecturas.

Novedades clave en funciones y protocolos de OpenSSL 3.6

Entre los cambios más visibles destaca la verificación de firmas LMS conforme a NIST SP 800-208 en los proveedores FIPS y por defecto, junto con la llegada de objetos de clave simétrica opacos EVP_SKEY para los métodos de derivación e intercambio de claves, accesibles vía EVP_KDF_CTX_set_SKEY(), EVP_KDF_derive_SKEY() y EVP_PKEY_derive_SKEY().

  • CMS incorpora KEMRecipientInfo (RFC 9629) y soporte ML-KEM (borrador draft-ietf-lamps-cms-kyber), facilitando el uso de criptografía resistente a futuros adversarios cuánticos.
  • El servidor puede habilitar OCSP multi-stapling en TLS 1.3, mejorando la entrega de estado de revocación para cadenas con múltiples certificados.
  • Se permite definir un «free function thunk» en los tipos de pila OPENSSL_sk, dando más control sobre la liberación de recursos.

Seguridad y cumplimiento FIPS

La versión refuerza las garantías en modo validado con Pruebas de Autocomprobación (PCT) FIPS 140-3: en generación de claves DH, en importación de claves para SLH-DSA cuando se usa FIPS, y en el proveedor FIPS al importar claves RSA, EC y ECX, cumpliendo la guía IG 10.3.

También se añade a dicho proveedor el soporte de generación determinista de firmas ECDSA según FIPS 186-5, y se incorporan categorías de seguridad NIST para objetos PKEY, lo que facilita clasificar y aplicar políticas en función del nivel criptográfico requerido.

Rendimiento y optimizaciones por arquitectura en OpenSSL 3.6

En x86_64, OpenSSL 3.6 incorpora optimizaciones Intel AVX-512 y VAES para AES-CFB128, con mejoras notables en cargas de trabajo intensivas. En AArch64 (ARM de 64 bits) llega el soporte del algoritmo entrelazado AES-CBC+HMAC-SHA, pensado para acelerar escenarios de cifrado autenticado.

La arquitectura LoongArch recibe una implementación en ensamblador de SHA-2 para aumentar el rendimiento, mientras que el stack QUIC añade una notificación cuando todos los FIN de los flujos han sido reconocidos, adelantando información útil al plano de la aplicación.

Cambios en compilación y herramientas

El proyecto abandona definitivamente los compiladores ANSI-C: a partir de ahora es necesario un toolchain con características C99 para construir OpenSSL. Junto a ello, se añade la utilidad openssl configutl, pensada para procesar el archivo de configuración y volcar uno equivalente.

En el terreno de mantenimiento, se elimina el soporte para VxWorks y quedan obsoletas las funciones relacionadas con EVP_PKEY_ASN1_METHOD. Además, la aplicación incluye nuevas opciones CRYPTO_MEM_SEC y CRYPTO_MEM_SEC_MINSIZE para inicializar memoria segura de forma explícita.

Formatos, interoperabilidad y robustez

Se incrementa el parámetro por defecto PKCS12 macsaltlen de 8 a 16 (alineado con NIST SP 800-132) y se mejora la interoperabilidad de nuevos almacenes PKCS12 entre implementaciones FIPS y no FIPS, reduciendo fricciones en migraciones y auditorías.

En la capa de utilidades, openssl req ya no genera certificados con la lista de extensiones vacía cuando SKID/AKID se establecen a «none». Además, se añade una comprobación ausente para endurecer la operación pública RSA «encrypt»: el búfer de salida indicado por el llamador debe ser, como mínimo, del tamaño del módulo en bytes.

El manejo de claves HMAC deja de utilizar reservas de memoria segura (evitando sobrecostes innecesarios para este caso), y el API CRYPTO_THREAD__local se amplía para disminuir la dependencia de variables TLS específicas del sistema operativo.

Disponibilidad y soporte

La publicación de OpenSSL 3.6 se considera final y estable, con soporte de ciclo regular durante dos años. El equipo del proyecto agradece las contribuciones de la comunidad; las notas de la versión y el código fuente están disponibles en el repositorio oficial para quien desee compilar desde origen.

Esta entrega consolida el pilar de seguridad con controles FIPS más estrictos, amplía capacidades en protocolos como CMS y TLS, y exprime el rendimiento en arquitecturas populares; a la vez, moderniza el entorno de compilación y simplifica la administración con nuevas utilidades y ajustes de interoperabilidad.

Leave A Comment

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.