Wydano bibliotekę OpenSSL 4.0.0, która oferuje implementację protokołów TLS i różnych algorytmów szyfrowania. OpenSSL 4.0 należy do wydań o standardowym okresie wsparcia, którego aktualizacje będą wydawane przez 13 miesięcy. Wsparcie dla wcześniejszych gałęzi OpenSSL 3.6, 3.5 LTS, 3.4 i 3.0 LTS potrwa do listopada 2026 roku, kwietnia 2030 roku, października 2026 roku i września 2026 roku odpowiednio. Kod projektu jest rozpowszechniany na licencji Apache 2.0.
Główne nowości:
- Dodano wsparcie dla rozszerzenia TLS ECH (Encrypted ClientHello, RFC 9849), które ma na celu szyfrowanie informacji o parametrach sesji TLS, takich jak żądana nazwa domeny. W odróżnieniu od rozszerzenia ESNI (Encrypted Server Name Indication), w ECH szyfrowane jest całe TLS wiadomość ClientHello, co pozwala zablokować wycieki poprzez pola, które nie są objęte ESNI, na przykład pole PSK (Pre-Shared Key).
- Dodano wsparcie dla algorytmów określonych w RFC 8998, które używają standaryzowanego w Chinach zestawu algorytmów kryptograficznych SM2: algorytmu generowania podpisu cyfrowego sm2sig_sm3, grupy wymiany kluczy curveSM2 oraz grupy postkwantowej curveSM2MLKEM768.
- Dodano funkcję kryptograficzną haszowania cSHAKE, opartą na algorytmie SHA-3, pozwalającą na generowanie różnych hashy na podstawie tych samych danych wejściowych w celu ochrony przed atakami manipulującymi ponownym użyciem danych.
- Dodano hybrydowy algorytm „ML-DSA-MU”, łączący postkwantowy algorytm generowania podpisu cyfrowego ML-DSA (CRYSTALS-Dilithium) z klasyczną funkcją haszującą SHAKE256.
- Dodano wsparcie dla funkcji generowania kluczy SNMP KDF na bazie HMAC-SHA oraz SRTP KDF na bazie AES-CM, używanych w protokołach sieciowych SNMPv3 i SRTP do tworzenia kluczy kryptograficznych.
- Dodano opcję „-defer_tests” do polecenia „openssl fipsinstall”, która pozwala na opóźnienie uruchomienia testów podczas instalacji modułów FIPS.
- Dla platformy Windows dodano wsparcie dla użycia statycznego lub dynamicznego powiązania z Visual C++ Runtime.
- W TLS 1.2 dodano wsparcie dla uzgadniania wymiany kluczy opartego na algorytmie FFDHE, zgodne z RFC 7919.
- Zaprzestano wsparcia dla SSLv3 i SSLv2 Client Hello.
- Usunięto wsparcie dla dynamicznie ładowanych silników, zamiast tego rozszerzenie funkcjonalności OpenSSL powinno być realizowane za pomocą koncepcji modułowych dostawców.
- W TLS w fazie kompilacji wyłączono wsparcie dla przestarzałych krzywych eliptycznych. Aby je włączyć, można użyć opcji "enable-tls-deprecated-ec".
- Usunięto narzędzie c_rehash, zamiast którego należy używać polecenia "openssl rehash".
- Z polecenia "openssl ca" usunięto przestarzałą opcję "msie-hack".
- Usunięto wsparcie dla własnych metod EVP_CIPHER, EVP_MD, EVP_PKEY i EVP_PKEY_ASN1.
- Usunięto przestarzałe funkcje SSL/TLS, powiązane z konkretnymi wersjami protokołów, na przykład "TLSv1_client_method()".
- Usunięto przestarzałe funkcje ERR_get_state(), ERR_remove_state() i ERR_remove_thread_state().
- Wsparcie dla platform docelowych darwin-i386{,-cc} i darwin-ppc{,64}{,-cc} zostało zakończone.
Źródło: opennet.ru
