Wydanie biblioteki kryptograficznej OpenSSL 3.5.0

Została wydana biblioteka OpenSSL 3.5.0 z realizacją protokołów SSL/TLS oraz różnych algorytmów szyfrowania. OpenSSL 3.5 jest zaliczana do wydań o długoterminowym wsparciu (LTS), dla których aktualizacje są wydawane przez 5 lat (do kwietnia 2030 roku). Wsparcie dla poprzednich gałęzi OpenSSL 3.3, 3.2 i 3.0 LTS będzie trwać do kwietnia 2026 roku, listopada 2025 roku i września 2026 roku, odpowiednio. Kod projektu jest rozpowszechniany na licencji Apache 2.0.

Główne nowości:

  • Dodano wsparcie dla algorytmów kryptograficznych odpornych na ataki za pomocą komputerów kwantowych:
    • ML-KEM (CRYSTALS-Kyber) — algorytm wymiany kluczy, który wykorzystuje metody kryptografii opartej na rozwiązywaniu problemów teorii krat, czas rozwiązania których nie różni się na komputerach klasycznych i kwantowych.
    • ML-DSA (CRYSTALS-Dilithium) — algorytm generowania podpisów cyfrowych, który opiera się na teorii krat.
    • SLH-DSA (Sphincs+) — algorytm generowania podpisów cyfrowych, który stosuje metody kryptografii opartej na funkcjach skrótu. SLH-DSA jest wolniejszy od ML-DSA pod względem rozmiaru podpisów i prędkości działania, ale opiera się na całkowicie różnych zasadach matematycznych, co oznacza, że pozostanie skuteczny w przypadku kompromitacji algorytmów opartych na teorii krat.
  • Zrealizowano pełne wsparcie dla protokołu QUIC (RFC 9000), który jest teraz dostępny nie tylko dla aplikacji klienckich, ale także dla serwerowych. QUIC jest rozszerzeniem protokołu UDP, które obsługuje multiplexing wielu połączeń i zapewnia metody szyfrowania równoważne TLS. Protokół QUIC jest stosowany w HTTP/3 i został stworzony jako alternatywa dla połączenia TCP+TLS, rozwiązując problemy związane z długim czasem ustanawiania i negocjacji połączeń w TCP oraz eliminując opóźnienia podczas utraty pakietów w trakcie przesyłu danych.
  • Dodano możność korzystania z zewnętrznych stosów realizujących protokół QUIC, w tym stosy wspierające tryb 0-RTT (0 Round Trip Time), umożliwiający natychmiastowe rozpoczęcie przesyłania danych po wysłaniu pakietu ustanawiającego połączenie.
  • Dodano wsparcie dla nieprzezroczystych (opaque) obiektów kluczy symetrycznych (EVP_SKEY), które ukrywają szczegóły realizacji klucza.
  • Dodano parametr „no-tls-deprecated-ec” do wyłączenia wsparcia dla grup TLS uznanych za przestarzałe w RFC-8422.
  • Dodano parametru „enable-fips-jitter”, który w providerze FIPS włącza korzystanie z entropii opartej na jitterze, realizowanej przy użyciu biblioteki jitterentropy. Tworzenie entropii na podstawie jittera odbywa się poprzez mierzenie różnic w czasie ponownego wykonania określonego zestawu instrukcji na CPU, uzależnionego od wielu wewnętrznych czynników i nieprzewidywalnego bez fizycznej kontroli nad CPU.
  • W CMP (Certificate Management Protocol) dodano wsparcie dla centralnego generowania kluczy (klucz publiczny i prywatny dla klienta są generowane po stronie) serwera).
  • Dodano wsparcie dla dostarczania wielu zestawów kluczy (keyshares) dla jednego połączenia TLS.
  • Dodano API dla przetwarzania w trybie pipelining, umożliwiające jednoczesne przetwarzanie wielu bloków danych przy użyciu niektórych szyfrów, takich jak AES-GCM, wspierających obliczenia równoległe.
  • W aplikacjach req, cms i smime domyślny algorytm szyfrowania zmieniono z des-ede3-cbc na aes-256-cbc.
  • Do domyślnej listy szyfrów dla TLS dodano i wybrano jako priorytetowe hybrydowe grupy KEM (Key Encapsulation Mechanism), odporne na łamanie przez komputer kwantowy.
  • Do zestawu kluczy (keyshares) używanych domyślnie w TLS dodano algorytmy X25519MLKEM768 i X25519.
  • Ogłoszono przestarzałymi funkcje BIO_meth_get_*().

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster