Ya fue liberada la nueva version de OpenSSL 3.3.0

abril 23, 2024 0 Comments

OpenSSL

Openssl es una api que proporciona un entorno adecuado para encriptar los datos enviados

La nueva versión de OpenSSL 3.3.0 ya fue liberada y en este lanzamiento se han implementado una serie de mejoras para el protocolo QUIC, asi como también mejoras de soporte para diferentes arquitecturas, correcciones de errores y más.

OpenSSL es una biblioteca de código abierto esencial para la seguridad en comunicaciones en red que proporciona herramientas para cifrar y descifrar datos, generar claves y certificados digitales, implementar protocolos de seguridad como SSL/TLS, y realizar hashing y firmas digitales.

¿Qué hay de nuevo en OpenSSL 3.3.0?

En esta nueva versión, que se presenta de OpenSSL 3.3.0 una de las novedades más importantes, son las mejoras implementadas en el soporte para el protocolo QUIC (RFC 9000), complementario al protocolo UDP utilizado en HTTP/3. Entre las adiciones en la nueva versión se encuentra:

  • Soporte para qlog que es un formato de registro estándar utilizado para rastrear conexiones QUIC.
  • Se han agregado API para permitir configurar el tiempo de espera de inactividad negociado en conexiones QUIC, lo cual es útil para ajustar el comportamiento de las conexiones según los requisitos específicos de la aplicación.
  • Ahora es posible deshabilitar el procesamiento de eventos QUIC implícitos para objetos QUIC SSL utilizando nuevas API.
  • Se agregaron API para permitir consultar el tamaño y la utilización del búfer de escritura en una secuencia QUIC.
  • Se introdujo una nueva API llamada SSL_write_ex2, que se puede utilizar específicamente para enviar una condición de fin de flujo (FIN) de manera optimizada al utilizar QUIC. Esto mejora la eficiencia en la transmisión de datos utilizando QUIC.
  • Se ha agregado soporte limitado para el sondeo de conexiones QUIC y objetos de transmisión sin bloqueo. Esto puede mejorar la eficiencia y el rendimiento en entornos donde se requiere un manejo eficiente de múltiples conexiones QUIC.

Otro de los cambios que se destaca de esta nueva versión, es la implementación de extensiones al protocolo de gestión de certificados CMP (Certificate Management Protocol) según las especificaciones RFC 9480 y RFC 9483, asi como también que se añadió la capacidad de deshabilitar la función atexit en la etapa de construcción, una variante de la API SSL_SESSION para evitar el problema del año 2038 en sistemas de 32 bits, y la función EVP_PKEY_fromdata para obtener automáticamente parámetros del teorema del resto chino.

Además de ello, se agregó una nueva API llamada EVP_DigestSqueeze() que permite reducir múltiples veces con diferentes tamaños de salida al utilizar el algoritmo SHAKE, asi como también el soporte para ignorar nombres de algoritmos de firma desconocidos, configurar el uso prioritario de claves PSK en un servidor TLS 1.3,

Se implementaron mejoras en la capacidad de exportar archivos de compilación para CMake en sistemas Unix y Windows, junto con optimizaciones de rendimiento específicas para diversas arquitecturas y chips, como el funcionamiento optimizado del algoritmo AES-GCM en dispositivos Azure Cobalt 100, aceleración de AES-CTR en ARM Neoverse V1 y V2, optimizaciones AES y SHA3 en sistemas Apple con chips M3, y la implementación del ensamblador de md5 para CPU Loongarch64.

De los demás cambios que se destacan:

  • Se corrigieron problemas de seguridad, como el crecimiento ilimitado de la memoria en el manejo de sesiones en TLSv1.3, identificado como CVE-2024-2511. Además, se realizaron mejoras en la estabilidad y la confiabilidad del kit de herramientas OpenSSL.
  • Varias optimizaciones para rutinas criptográficas utilizando extensiones criptográficas vectoriales RISC-V
  • Implementación de compilacion agregada para md5 en loongarch64
  • Los ajustes de configuración de activación y carga suave para proveedores en openssl.cnf se han actualizado para requerir un valor de [1|yes|true|on] (en minúsculas o MAYÚSCULAS) para habilitar la configuración. Por el contrario, un valor de [0|no|false|off] deshabilitará la configuración.
  • En «openssl speed», se cambió la función hash predeterminada utilizada con «hmac» de «md5» a «sha256».

Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.

¿Como instalar OpenSSL en Linux?

Para los que estén interesados en instalar OpenSSL en su distribucion, pueden seguir los pasos que compartimos dependiendo de la distribución específica que estés utilizando:

Ubuntu, Debian y derivados de estos pueden hacerlo abriendo una terminal y ejecutando el siguiente comando:

sudo apt install openssl

Fedora
En distribuciones basadas en Red Hat, como Fedora, puedes instalar OpenSSL usando dnf:

sudo dnf install openssl

Para usuarios de Arch Linux o distribuciones basadas en Arch:

sudo pacman -S openssl

Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.