Después de un año y medio de desarrollo, se lanzó la biblioteca OpenSSL 3.1.0 con implementación de los protocolos SSL/TLS y varios algoritmos de cifrado. El soporte para OpenSSL 3.1 se mantendrá hasta marzo de 2025. El soporte para las versiones anteriores OpenSSL 3.0 y 1.1.1 continuará hasta septiembre de 2026 y septiembre de 2023, respectivamente. El código del proyecto se distribuye bajo la licencia Apache 2.0.
Principales novedades de OpenSSL 3.1.0:
- En el módulo FIPS se ha implementado el soporte para los algoritmos criptográficos que cumplen con el estándar de seguridad FIPS 140-3. Se ha iniciado el proceso de certificación del módulo para obtener el certificado de conformidad con los requisitos de FIPS 140-3. Hasta que se complete la certificación tras la actualización de OpenSSL a la versión 3.1, los usuarios pueden seguir utilizando el módulo FIPS, certificado para FIPS 140-2. Entre los cambios en la nueva versión del módulo se incluyen la adición de los algoritmos Triple DES ECB, Triple DES CBC y EdDSA, que aún no han sido verificados para cumplir con los requisitos de FIPS. También se han realizado optimizaciones en la nueva versión para mejorar el rendimiento y se ha hecho la transición a la ejecución de pruebas internas en cada carga del módulo, y no solo después de la instalación.
- Se ha reescrito el código de OSSL_LIB_CTX. La nueva versión elimina bloqueos innecesarios y permite lograr un rendimiento más alto.
- Se ha mejorado el rendimiento de los frameworks de codificación y decodificación.
- Se ha optimizado el rendimiento relacionado con el uso de estructuras internas (tablas hash) y caching.
- Se ha incrementado la velocidad de generación de claves RSA en modo FIPS.
- Para diversas arquitecturas de procesadores se han implementado optimizaciones específicas en ensamblador para los algoritmos AES-GCM, ChaCha20, SM3, SM4 y SM4-GCM. Por ejemplo, el código AES-GCM se ha acelerado utilizando instrucciones AVX512 vAES y vPCLMULQDQ.
- En el KBKDF (Key Based Key Derivation Function) se ha añadido soporte para el algoritmo KMAC (KECCAK Message Authentication Code).
- Se han adaptado varias funciones 'OBJ_*' para su uso en código multihilo.
- Se ha añadido la posibilidad de utilizar para la generación de números pseudoaleatorios la instrucción RNDR y los registros RNDRRS, disponibles en procesadores basados en la arquitectura AArch64.
- Se han declarado obsoletas las funciones OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio y OPENSSL_LH_node_usage_stats_bio. Se ha declarado obsoleta la macro DEFINE_LHASH_OF.
Fuente: opennet.ru
