Efter halvandet års udvikling blev OpenSSL 3.1.0-biblioteket frigivet med implementering af SSL/TLS-protokollerne og forskellige krypteringsalgoritmer. Support til OpenSSL 3.1 fortsætter indtil marts 2025. Support til ældre OpenSSL 3.0- og 1.1.1-grene vil fortsætte indtil henholdsvis september 2026 og september 2023. Projektkoden distribueres under Apache 2.0-licensen.
Vigtigste innovationer i OpenSSL 3.1.0:
- FIPS-modulet implementerer understøttelse af kryptografiske algoritmer, der overholder FIPS 140-3 sikkerhedsstandarden. Modulcertificeringsprocessen er begyndt for at opnå FIPS 140-3-overensstemmelsescertificering. Indtil certificeringen er fuldført efter opgradering af OpenSSL til 3.1-grenen, kan brugere fortsætte med at bruge et FIPS-modul, der er certificeret til FIPS 140-2. Af ændringerne i den nye version af modulet bemærkes inklusion af Triple DES ECB, Triple DES CBC og EdDSA algoritmerne, som endnu ikke er testet for overensstemmelse med FIPS-kravene. Også i den nye version er der foretaget optimeringer for at forbedre ydeevnen, og der er lavet en overgang til at køre interne test med hver modulbelastning, og ikke kun efter installation.
- Omarbejdet OSSL_LIB_CTX kode. Den nye mulighed er fri for unødvendige låse og giver dig mulighed for at opnå højere ydeevne.
- Forbedret ydeevne af encoder- og dekoderrammerne.
- Udførte ydelsesoptimering relateret til brug af interne strukturer (hash-tabeller) og caching.
- Forbedret hastighed for generering af RSA-nøgler i FIPS-tilstand.
- AES-GCM, ChaCha20, SM3, SM4 og SM4-GCM algoritmer har specifikke assembler-optimeringer til forskellige processorarkitekturer. For eksempel accelereres AES-GCM-koden ved hjælp af instruktionerne AVX512 vAES og vPCLMULQDQ.
- Understøttelse af KMAC (KECCAK Message Authentication Code) algoritmen er blevet tilføjet til KBKDF (Key Based Key Derivation Function).
- Forskellige "OBJ_*"-funktioner er blevet tilpasset til brug i flertrådskode.
- Tilføjet muligheden for at bruge RNDR-instruktionen og RNDRRS-registrene, der er tilgængelige i processorer baseret på AArch64-arkitekturen til at generere pseudo-tilfældige tal.
- Funktionerne OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio og OPENSSL_LH_node_usage_stats_bio er blevet forældet. Forældet DEFINE_LHASH_OF makro.
Kilde: opennet.ru