Pärast poolteist aastat arendustööd jõudis välja OpenSSL 3.1.0 teek, mis rakendab SSL/TLS protokolle ja erinevaid krüpteerimisalgoritme. OpenSSL 3.1 toe pakkumine kestab kuni märtsini 2025. Ajavahemikud OpenSSL 3.0 ja 1.1.1 jätkuvad kuni septembrini 2026 ja septembrini 2023 vastavalt. Projekti kood on litsentseeritud Apache 2.0 alla.
OpenSSL 3.1.0 peamised uuendused:
- FIPS moodulis on rakendatud krüptograafiliste algoritmide tugi, mis vastab FIPS 140-3 turvastandardile. Mooduli sertifitseerimise protsess on alanud FIPS 140-3 nõuete täitmiseks. Enne sertifitseerimise lõppu pärast OpenSSL 3.1 versioonile üleminekut saavad kasutajad jätkata FIPS-i mooduli kasutamist, mis on sertifitseeritud FIPS 140-2 jaoks. Uue versiooni muudatuste seas on Triple DES ECB, Triple DES CBC ja EdDSA algoritmide lisamine, mis pole veel FIPS-i nõuetele vastavust veel kontrollitud. Samuti on uut versiooni optimeeritud jõudluse tõhustamiseks ning ülemineku tõttu siseste testide käivitamisele igal mooduli laadimisel, mitte ainult paigaldamise ajal.
- OSSL_LIB_CTX kood on ümber töötatud. Uus variant on vabanenud liigsest lukustamisest ja võimaldab saavutada kõrgemat jõudlust.
- Kooderimis- ja dekooderimisraamide jõudlust on parendatud.
- Jõudluse optimeerimist on läbi viidud, mis on seotud sisemiste struktuuride (rippmenüüde) ja vahemällu salvestamise kasutamisega.
- RSA võtmete genereerimise kiirus FIPS-režiimis on suurenenud.
- Erinevates protsessori arhitektuurides on rakendatud algoritmide AES-GCM, ChaCha20, SM3, SM4 ja SM4-GCM jaoks spetsiifilised assamblee optimeerimised. Näiteks on AES-GCM koodi kiirus suurendatud AVX512 vAES ja vPCLMULQDQ käskude abil.
- KBKDF (Key Based Key Derivation Function) on lisatud tugi KMAC (KECCAK Message Authentication Code) algoritmile.
- Erinevad "OBJ_*" funktsioonid on kohandatud mitme lõimega koodis kasutamiseks.
- Pseudojuhuslike numbrite genereerimiseks on lisatud võimalus kasutada RNDR käsku ja RNDRRS registreid, mis on saadaval AArch64 arhitektuuriga protsessorites.
- Funktsioonid OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio ja OPENSSL_LH_node_usage_stats_bio on klassifitseeritud vananenud. Makro DEFINE_LHASH_OF on kuulutatud vananenuks.
Allikas: opennet.ru
