Másfél éves fejlesztés után megjelent az OpenSSL 3.1.0 könyvtár az SSL/TLS protokollok és különféle titkosítási algoritmusok megvalósításával. Az OpenSSL 3.1 2025 márciusáig lesz támogatott. Az OpenSSL 3.0 és 1.1.1 korábbi ágainak támogatása 2026 szeptemberéig, illetve 2023 szeptemberéig folytatódik. A projekt kódja az Apache 2.0 licenc alatt kerül terjesztésre.
Az OpenSSL 3.1.0 főbb újításai:
- A FIPS modul támogatja a FIPS 140-3 biztonsági szabványnak megfelelő kriptográfiai algoritmusokat. A modul tanúsítási folyamata megkezdődött a FIPS 140-3 követelményeinek való megfelelőségi tanúsítvány megszerzéséhez. A tanúsítás befejezéséig az OpenSSL 3.1-es ágra történő frissítése után a felhasználók továbbra is használhatják a FIPS 140-2 tanúsítvánnyal rendelkező FIPS modult. A modul új verziójának változásai között említik a Triple DES ECB, Triple DES CBC és EdDSA algoritmusok beépítését, amelyeket még nem teszteltek a FIPS követelményeknek való megfelelés szempontjából. Az új verzió optimalizálásokat is tartalmaz a teljesítmény javítása érdekében, és áttér a belső tesztek futtatására minden alkalommal, amikor a modul betöltődik, és nem csak a telepítés után.
- Az OSSL_LIB_CTX kódot átdolgoztuk. Az új opció kiküszöböli a szükségtelen blokkolásokat, és nagyobb teljesítményt tesz lehetővé.
- A kódoló és dekódoló keretrendszer jobb teljesítménye.
- A belső struktúrák (hash táblák) használatához és a gyorsítótárazáshoz kapcsolódó teljesítményoptimalizálás megtörtént.
- Az RSA-kulcsok FIPS módban történő előállításának sebessége megnőtt.
- Különböző processzorarchitektúrák esetében speciális összeállítás-optimalizálásokat vezettek be az AES-GCM, ChaCha20, SM3, SM4 és SM4-GCM algoritmusok megvalósításában. Például az AES-GCM kód felgyorsítása az AVX512 vAES és vPCLMULQDQ utasításokkal történik.
- A KBKDF (Key Based Key Derivation Function) mostantól támogatja a KMAC (KECCAK Message Authentication Code) algoritmust.
- Különféle "OBJ_*" funkciók alkalmasak többszálú kódban való használatra.
- Az AArch64 architektúrán alapuló processzorokban elérhető RNDR utasítás és RNDRRS regiszterek használatának lehetősége hozzáadva álvéletlen számok generálásához.
- 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_bio függvények megszűntek. A DEFINE_LHASH_OF makró elavult.
Forrás: opennet.ru