Efter halvandet års udvikling er biblioteket OpenSSL 3.1.0 blevet frigivet med implementering af SSL/TLS-protokoller og forskellige krypteringsalgoritmer. Supporten for OpenSSL 3.1 vil blive opretholdt indtil marts 2025. Supporten for de tidligere versioner OpenSSL 3.0 og 1.1.1 vil vare til september 2026 og september 2023 henholdsvis. Koden til projektet distribueres under Apache 2.0 licensen.
De vigtigste nyheder i OpenSSL 3.1.0:
- FIPS-modulet har implementeret støtte til kryptografiske algoritmer, der overholder FIPS 140-3 sikkerhedsstandarden. Certificeringsprocessen for modulet er påbegyndt for at opnå en overensstemmelsescertificering i forhold til FIPS 140-3. Indtil certificeringen er afsluttet, kan brugere fortsætte med at anvende FIPS-modulet, der er certificeret til FIPS 140-2 efter opdateringen af OpenSSL til version 3.1. Nye algoritmer som Triple DES ECB, Triple DES CBC og EdDSA er blevet tilføjet i den nye version af modulet, men de er endnu ikke blevet kontrolleret for overensstemmelse med FIPS-kravene. Der er også blevet foretaget optimeringer for at forbedre ydeevnen, og der er sket et skift til at køre interne tests ved hver indlæsning af modulet i stedet for kun efter installation.
- Koden til OSSL_LIB_CTX er blevet omarbejdet. Den nye version er blevet befriet for unødvendige låsninger og gør det muligt at opnå højere ydeevne.
- Ydeevnen for kodeks- og dekode frameworks er blevet forbedret.
- Ydeevnen er blevet optimeret i relation til brugen af interne strukturer (hash-tabeller) og caching.
- Hastigheden for generering af RSA-nøgler i FIPS-tilstand er blevet øget.
- Der er blevet foretaget specifikke assembleroptimeringer til forskellige processorarkitekturer i implementeringen af algoritmerne AES-GCM, ChaCha20, SM3, SM4 og SM4-GCM. For eksempel er koden til AES-GCM blevet accelereret ved hjælp af AVX512 vAES og vPCLMULQDQ instruktioner.
- KMBKDF (Key Based Key Derivation Function) har fået support til algoritmen KMAC (KECCAK Message Authentication Code).
- Forskellige "OBJ_*" funktioner er blevet tilpasset til brug i multitrådede koder.
- Muligheden for at bruge instruktionen RNDR og registrene RNDRRS til generering af pseudo-tilfældige tal er blevet tilføjet og er tilgængelig i processorene baseret på AArch64-arkitekturen.
- 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 anset for forældede. Makroet DEFINE_LHASH_OF er blevet erklæret forældet.
Kilde: opennet.ru
