Másfél év fejlesztés után megjelent az OpenSSL 3.1.0 könyvtár, amely az SSL/TLS protokollokat és különböző titkosítási algoritmusokat valósít meg. Az OpenSSL 3.1 támogatása 2025 márciusáig folyik. A korábbi OpenSSL 3.0 és 1.1.1 ágak támogatása 2026 szeptemberéig, illetve 2023 szeptemberéig tart.
Az OpenSSL 3.1.0 fő újdonságai:
- A FIPS modulban megvalósították a FIPS 140-3 biztonsági szabványnak megfelelő kriptográfiai algoritmusok támogatását. Megkezdődött a modul tanúsítási folyamata, hogy megfeleljen a FIPS 140-3 követelményeinek. A tanúsítás befejezéséig a felhasználók továbbra is használhatják a FIPS 140-2 tanúsítvánnyal rendelkező FIPS modult az OpenSSL 3.1 ágra való frissítést követően. Az új verzióban a Triple DES ECB, Triple DES CBC és EdDSA algoritmusok is szerepelnek, amelyek egyelőre nem kerültek auditálásra a FIPS követelményei szerint. Az új verzióban optimalizálásokat is végrehajtottak a teljesítmény növelése érdekében, és áttértek a belső tesztek minden alkalommal történő futtatására a modul betöltésekor, nem csupán telepítés után.
- Átdolgozták az OSSL_LIB_CTX kódot. Az új változat megszabadult a felesleges blokkolásoktól, így magasabb teljesítményt tesz lehetővé.
- Fokozódott a kódoló és dekódoló keretrendszerek teljesítménye.
- Teljesítményoptimalizálást végeztek el a belső struktúrák (hash táblák) és a gyorsítótárazás tekintetében.
- Fokozották az RSA kulcsok generálásának sebességét FIPS módban.
- Különböző processzorarchitektúrák számára az AES-GCM, ChaCha20, SM3, SM4 és SM4-GCM algoritmusok megvalósításán specifikus assembler-optimalizálásokat végeztek. Például az AES-GCM kódot az AVX512 vAES és vPCLMULQDQ utasításokkal gyorsították.
- A KBKDF (Key Based Key Derivation Function) támogatja az KMAC (KECCAK Message Authentication Code) algoritmust.
- A különböző "OBJ_*" funkciókat több szálú kód használatára optimalizálták.
- Lehetővé vált a véletlenszám-generálásra az RNDR parancs és az AArch64 architektúrájú processzorokban elérhető RNDRRS regiszterek használata.
- Az OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio és OPENSSL_LH_node_usage_stats_bio funkciók elavultnak minősültek. A DEFINE_LHASH_OF makró is elavultnak lett nyilvánítva.
Forrás: opennet.ru
