Despois de ano e medio de desenvolvemento, lanzouse a biblioteca OpenSSL 3.1.0 coa implementación dos protocolos SSL/TLS e varios algoritmos de cifrado. OpenSSL 3.1 será compatible ata marzo de 2025. O soporte para as anteriores ramas de OpenSSL 3.0 e 1.1.1 continuará ata setembro de 2026 e setembro de 2023, respectivamente. O código do proxecto distribúese baixo a licenza Apache 2.0.
Principais novidades de OpenSSL 3.1.0:
- O módulo FIPS admite algoritmos criptográficos que cumpren o estándar de seguridade FIPS 140-3. O proceso de certificación do módulo comezou a obter un certificado de conformidade cos requisitos da FIPS 140-3. Ata que se complete a certificación, despois de actualizar OpenSSL á rama 3.1, os usuarios poden seguir usando un módulo FIPS certificado conforme a FIPS 140-2. Entre os cambios na nova versión do módulo, destaca a inclusión dos algoritmos Triple DES ECB, Triple DES CBC e EdDSA, que aínda non foron probados para cumprir cos requisitos FIPS. A nova versión tamén inclúe optimizacións para mellorar o rendemento e unha transición á execución de probas internas cada vez que se carga o módulo, e non só despois da instalación.
- O código OSSL_LIB_CTX foi reelaborado. A nova opción elimina o bloqueo innecesario e permite un maior rendemento.
- Mellora do rendemento dos cadros de codificador e decodificador.
- Realizouse a optimización do rendemento relacionada co uso de estruturas internas (táboas hash) e caché.
- Aumentouse a velocidade de xeración de claves RSA no modo FIPS.
- Para varias arquitecturas de procesadores, introducíronse optimizacións de ensamblaxe específicas na implementación dos algoritmos AES-GCM, ChaCha20, SM3, SM4 e SM4-GCM. Por exemplo, o código AES-GCM acelerase coas instrucións AVX512 vAES e vPCLMULQDQ.
- KBKDF (Key Based Key Derivation Function) agora admite o algoritmo KMAC (KECCAK Message Authentication Code).
- Varias funcións "OBJ_*" están adaptadas para o seu uso en código multiproceso.
- Engadida a posibilidade de usar a instrución RNDR e os rexistros RNDRRS, dispoñibles en procesadores baseados na arquitectura AArch64, para xerar números pseudoaleatorios.
- Desprecedéronse as funcións OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio e OPENSSL_LH_node_usage_stats_bio. A macro DEFINE_LHASH_OF quedou en desuso.
Fonte: opennet.ru