LibreSSL 3.9.0 llega con mejoras de soporte, correcciones y mas
Se dio a conocer el lanzamiento de la nueva versión de LibreSSL 3.9.0 y en esta nueva versión y rama de desarrollo de la implementación, se presentan diversas correcciones de errores, asi como también mejoras en la documentación, se realizó limpieza interna en algunos componentes y más.
Para quienes desconocen de LibreSSL, deben saber que esta es una implementación de código abierto del protocolo TLS que desarrolla una bifurcación de OpenSSL destinada a proporcionar un mayor nivel de seguridad. LibreSSL se desarrolló inicialmente como un reemplazo previsto para OpenSSL en OpenBSD y se transfirió a otras plataformas una vez que se estabilizó una versión simplificada de la biblioteca.
El proyecto LibreSSL se centra en el soporte de alta calidad para los protocolos SSL/TLS con la eliminación de funciones innecesarias, la adición de funciones de seguridad adicionales y una limpieza y reelaboración significativas del código base.
Principales novedades de LibreSSL 3.9.0
Esta nueva version que se presenta de LibreSSL 3.9.0 se destaca por implementar el soporte para algoritmos de firma digital basados en ECDSA con hashes SHA-3.
Otro de los cambios que se destaca de esta nueva versión, son los cambios para mejorar la portabilidad a otras plataformas, como la adición de prefijos «libressl_» a los símbolos exportados de LibreSSL para evitar problemas con los enlaces estáticos y mejorar la compatibilidad.
Ademas de ello en LibreSSL 3.9.0 se realizaron ajustes para mejorar la compatibilidad con OpenSSL, como la inclusión de alias para el algoritmo ChaCha, unificación de funciones relacionadas con SSL, ajustes en las llamadas a ciertas funciones, entre otros cambios.
Ahora, libcrypto no exporta símbolos de compatibilidad en compilaciones de cmake, se corrigieron varias advertencias en Windows ya que se eliminaron las ventanas emergentes de afirmación con compilaciones de depuración de Windows y se corrigieron fallas y bloqueos en las compilaciones de Windows ARM64.
Por otra parte, la utilidad openssl ahora admite varios indicadores nuevos para diferentes propósitos, como la generación de claves públicas forzadas, manipulación de estructuras de certificados, y manejo de codificación UTF-8 y se reescribieron los componentes internos de BIO_dump para mejorar su funcionamiento.
Hubo cambios en la implementación de varias funciones API, incluyendo la reorganización de la API de EVP, eliminación de funciones obsoletas, y simplificación de ciertas funciones relacionadas con cifrados y digestiones.
De los demás cambios que se destacan de esta nueva versión:
- Se ha interrumpido la compatibilidad con algunas características y algoritmos obsoletos o no adecuados para uso en entornos de subprocesos múltiples, como el soporte para tablas globales no adaptadas, algoritmos GOST y STREEBOG, entre otros.
- Se amplió el soporte para el mecanismo CET (Control-flow Enforcement Technology), utilizado para proteger contra la ejecución de exploits utilizando técnicas de programación orientada al retorno (ROP).
- SSL_library_init() ahora tiene el mismo efecto que OPENSSL_init_ssl().
- Se eliminaron EVP_add_{cipher,digest}() y las tablas globales no seguras para subprocesos.
- Se eliminaron varias funciones y métodos que ya no son compatibles o necesarios.
- ASN1_STRING_TABLE_get() y X509_PURPOSE_get0*() ahora devuelven constante punteros.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.
¿Como instalar la nueva versión de LibreSSL?
Para los interesados en poder instalar esta nueva versión, deben saber que de momento no ha llegado a la mayoría de las distribuciones de Linux por lo que la instalación en este momento disponible es realizado la compilación del paquete por su cuenta.
Pero no te preocupes, la compilación de LibreSSL es muy sencilla y para ello solo tienes que abrir una terminal y ejecutar los siguientes comandos (debes contar con las siguientes dependencias automake, autoconf, git, libtool, perl y git).
Lo primero es obtener el código fuente, lo cual puedes hacer con este comando:
git clone https://github.com/libressl/portable.git
Hecho esto ahora vamos a preparar el camino para realizar la compilación, para ello entramos la carpeta que contiene el código fuente de LibreSSL y vamos a teclear:
cd portable ./autogen.sh ./dist.sh
Hecho esto procedemos a realizar la compilación con:
./configure make check make install
Otra de las formas de compilar LibreSSl es con CMake y para ello basta con teclear los siguiente:
mkdir build cd build cmake .. make make test