Wydanie biblioteki kryptograficznej OpenSSL 3.1.0

Po półtora roku prac wydano bibliotekę OpenSSL 3.1.0 z implementacją protokołów SSL/TLS i różnych algorytmów szyfrowania. OpenSSL 3.1 będzie obsługiwany do marca 2025 r. Wsparcie dla poprzednich wersji OpenSSL 3.0 i 1.1.1 będzie kontynuowane odpowiednio do września 2026 i września 2023. Kod projektu rozpowszechniany jest na licencji Apache 2.0.

Główne innowacje OpenSSL 3.1.0:

  • Moduł FIPS obsługuje algorytmy kryptograficzne zgodne ze standardem bezpieczeństwa FIPS 140-3. Rozpoczął się proces certyfikacji modułu w celu uzyskania certyfikatu zgodności z wymaganiami FIPS 140-3. Do czasu zakończenia certyfikacji, po aktualizacji OpenSSL do wersji 3.1, użytkownicy mogą nadal korzystać z modułu FIPS posiadającego certyfikat FIPS 140-2. Wśród zmian w nowej wersji modułu zwraca się uwagę na dodanie algorytmów Triple DES ECB, Triple DES CBC i EdDSA, które nie zostały jeszcze przetestowane pod kątem zgodności z wymaganiami FIPS. Nowa wersja zawiera także optymalizacje poprawiające wydajność oraz przejście do uruchamiania testów wewnętrznych przy każdym załadowaniu modułu, a nie tylko po instalacji.
  • Kod OSSL_LIB_CTX został przerobiony. Nowa opcja eliminuje niepotrzebne blokowanie i pozwala na wyższą wydajność.
  • Poprawiona wydajność frameworków kodera i dekodera.
  • Przeprowadzono optymalizację wydajności związaną z wykorzystaniem struktur wewnętrznych (tablice skrótów) i buforowania.
  • Zwiększono szybkość generowania kluczy RSA w trybie FIPS.
  • Dla różnych architektur procesorów wprowadzono specyficzne optymalizacje montażu w implementacji algorytmów AES-GCM, ChaCha20, SM3, SM4 i SM4-GCM. Na przykład kod AES-GCM jest przyspieszany za pomocą instrukcji AVX512 vAES i vPCLMULQDQ.
  • KBKDF (funkcja wyprowadzania klucza na podstawie klucza) obsługuje teraz algorytm KMAC (kod uwierzytelnienia wiadomości KECCAK).
  • Różne funkcje „OBJ_*” są przystosowane do użycia w kodzie wielowątkowym.
  • Dodano możliwość wykorzystania instrukcji RNDR oraz rejestrów RNDRRS, dostępnych w procesorach opartych na architekturze AArch64, do generowania liczb pseudolosowych.
  • Funkcje OPENSSL_LH_stats, OPENSSL_LH_node_stats, OPENSSL_LH_node_usage_stats, OPENSSL_LH_stats_bio, OPENSSL_LH_node_stats_bio i OPENSSL_LH_node_usage_stats_bio zostały uznane za przestarzałe. Makro DEFINE_LHASH_OF jest przestarzałe.

Źródło: opennet.ru

Dodaj komentarz