Po více než roce a půl vývoje byl vydán OpenSSL 3.1.0 s implementací protokolů SSL/TLS a různých šifrovacích algoritmů. Podpora OpenSSL 3.1 bude poskytována do března 2025. Podpora předchozích větví OpenSSL 3.0 a 1.1.1 potrvá do září 2026 a září 2023. Kód projektu je šířen pod licencí Apache 2.0.
Hlavní novinky OpenSSL 3.1.0:
- V modulu FIPS byla implementována podpora kryptografických algoritmů odpovídajících bezpečnostnímu standardu FIPS 140-3. Byl zahájen proces certifikace modulu na získání certifikátu podle požadavků FIPS 140-3. Do dokončení certifikace po aktualizaci OpenSSL na verzi 3.1 mohou uživatelé pokračovat v používání modulu FIPS certifikovaného pro FIPS 140-2. Mezi změnami v nové verzi modulu je zařazení algoritmů Triple DES ECB, Triple DES CBC a EdDSA, které zatím nebyly testovány na shodu s požadavky FIPS. Dále byly v nové verzi provedeny optimalizace pro zvýšení výkonu a byl zaveden přechod na spuštění interních testů při každém načtení modulu, nikoli pouze po instalaci.
- Byl přepracován kód OSSL_LIB_CTX. Nová verze se zbavila zbytečných zámků a umožňuje dosáhnout vyššího výkonu.
- Byl zvýšen výkon kódovacího a dekódovacího frameworku.
- Byla provedena optimalizace výkonu související s použitím interních struktur (hash tabulek) a kešováním.
- Byla zvýšena rychlost generování RSA klíčů v režimu FIPS.
- Pro různé architektury procesorů byly ve vykonávání algoritmů AES-GCM, ChaCha20, SM3, SM4 a SM4-GCM provedeny specifické assemblerové optimalizace. Například kód AES-GCM byl urychlen pomocí instrukcí AVX512 vAES a vPCLMULQDQ.
- Do KBKDF (Key Based Key Derivation Function) byla přidána podpora algoritmu KMAC (KECCAK Message Authentication Code).
- Různé funkce „OBJ_*“ byly přizpůsobeny pro použití v vícivláknovém kódu.
- Byla přidána možnost použití instrukce RNDR a registrů RNDRRS pro generaci pseudonáhodných čísel, které jsou dostupné v procesorech založených na architektuře AArch64.
- Funkce 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 byly převedeny do stavu zastaralosti. Bylo oznámeno, že makro DEFINE_LHASH_OF je zastaralé.
Zdroj: opennet.ru
