Po roku a pol vývoja bola vydaná knižnica OpenSSL 3.1.0 s implementáciou protokolov SSL/TLS a rôznych šifrovacích algoritmov. OpenSSL 3.1 bude podporovaný do marca 2025. Podpora pre minulé pobočky OpenSSL 3.0 a 1.1.1 bude pokračovať do septembra 2026 a septembra 2023. Kód projektu je distribuovaný pod licenciou Apache 2.0.
Hlavné inovácie OpenSSL 3.1.0:
- Modul FIPS podporuje kryptografické algoritmy, ktoré sú v súlade s bezpečnostným štandardom FIPS 140-3. Začal sa proces certifikácie modulu na získanie certifikátu zhody s požiadavkami FIPS 140-3. Kým nebude certifikácia dokončená, po aktualizácii OpenSSL na vetvu 3.1 môžu používatelia naďalej používať modul FIPS, ktorý je certifikovaný podľa FIPS 140-2. Medzi zmeny v novej verzii modulu patrí zahrnutie algoritmov Triple DES ECB, Triple DES CBC a EdDSA, ktoré ešte neboli testované na zhodu s požiadavkami FIPS. Nová verzia obsahuje aj optimalizácie na zlepšenie výkonu a prechod na spúšťanie interných testov pri každom načítaní modulu, a to nielen po inštalácii.
- Kód OSSL_LIB_CTX bol prepracovaný. Nová možnosť odstraňuje zbytočné blokovanie a umožňuje vyšší výkon.
- Vylepšený výkon rámcov kodéra a dekodéra.
- Uskutočnila sa optimalizácia výkonu súvisiaca s používaním interných štruktúr (hashovacích tabuliek) a ukladania do vyrovnávacej pamäte.
- Rýchlosť generovania RSA kľúčov v režime FIPS bola zvýšená.
- Pre rôzne architektúry procesorov boli zavedené špecifické optimalizácie zostavy pri implementácii algoritmov AES-GCM, ChaCha20, SM3, SM4 a SM4-GCM. Napríklad kód AES-GCM je zrýchlený pomocou inštrukcií AVX512 vAES a vPCLMULQDQ.
- KBKDF (Key Based Key Derivation Function) teraz podporuje algoritmus KMAC (KECCAK Message Authentication Code).
- Rôzne funkcie "OBJ_*" sú prispôsobené na použitie vo viacvláknovom kóde.
- Pridaná možnosť použiť inštrukciu RNDR a registre RNDRRS, dostupné v procesoroch založených na architektúre AArch64, na generovanie pseudonáhodných čísel.
- Funkcie OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio a OPENSSL_LH_node_usage_stats_bio boli zastarané. Makro DEFINE_LHASH_OF bolo zastarané.
Zdroj: opennet.ru
