Megjelent az OpenSSL 3.5.0 könyvtár, amely megvalósítja az SSL/TLS protokollokat és különböző titkosítási algoritmusokat. Az OpenSSL 3.5 a hosszú távú támogatású (LTS) kiadások közé tartozik, amelyek 5 éven át frissítéseket kapnak (2030 áprilisáig). A korábbi OpenSSL 3.3, 3.2 és 3.0 LTS verziók támogatása 2026 áprilisáig, 2025 novemberéig, illetve 2026 szeptemberéig tart. A projekt kódja az Apache 2.0 licenc alatt érhető el.
Fő újdonságok:
- Hozzáadva a kvantumszámítógépekkel szembeni ellenálló kriptográfiai algoritmusok támogatása:
- ML-KEM (CRYSTALS-Kyber) — a kulcscsere algoritmus, amely a rácselmélet alapú kriptográfiai problémák megoldásának módszereit használja, amelyekre a megoldási idő normál és kvantumszámítógépeken egyaránt hasonló.
- ML-DSA (CRYSTALS-Dilithium) — a digitális aláírások létrehozására szolgáló algoritmus, amely a rácselméleten alapul.
- SLH-DSA (Sphincs+) — a digitális aláírások létrehozására szolgáló algoritmus, amely a hash-funkciókra alapuló kriptográfiai módszereket alkalmaz. Az SLH-DSA aláírásainak méretében és sebességében elmarad az ML-DSA-tól, de teljesen más matematikai elvekre épül, így hatékony marad a rácselméleten alapuló algoritmusok kompromittálása esetén is.
- Teljes körű támogatást kapott a QUIC protokoll (RFC 9000), amely mostantól nemcsak kliens, hanem szerver alkalmazások számára is elérhető. A QUIC az UDP protokollra épül, támogatja a több kapcsolat egyidejű multiplexelését, és olyan titkosítást biztosít, amely az TLS-nek felel meg. A QUIC protokoll az HTTP/3-ban található, és alternatívaként jött létre a TCP+TLS kombinációnak, amely a TCP-ban a kapcsolat létesítésének és tárgyalásának hosszú idejével kapcsolatos problémákat, valamint a csomagok elvesztése miatti késleltetéseket hivatott orvosolni.
- Hozzáadva a harmadik fél QUIC protokollt megvalósító stackjeinek használatának lehetősége, beleértve az 0-RTT (0 Round Trip Time) módot támogató stackeket, amelyek lehetővé teszik az adatok azonnali továbbítását a kapcsolat létesítési csomag elküldése után.
- Hozzáadva az átlátszatlan (opaque) szimmetrikus kulcsobjektumok (EVP_SKEY) támogatása, amelyek elrejtik a kulcs megvalósítási részleteit.
- Hozzáadva a „no-tls-deprecated-ec” paraméter, amely lehetővé teszi a TLS-csoportok támogatásának letiltását, amelyeket a RFC-8422-ben elavultnak nyilvánítottak.
- Hozzáadtuk az "enable-fips-jitter" paramétert, ami lehetővé teszi a FIPS-en belüli jitter alapú entropia forrás használatát a jitterentropy könyvtár segítségével. A jitter alapú entropia létrehozása adott utasítások végrehajtása közötti időbeli eltérések mérésével történik a CPU-n, amely számos belső tényezőtől függ, és fizikális ellenőrzés nélkül kiszámíthatatlan.
- A CMP-ben (Certificate Management Protocol) hozzáadtuk a központosított kulcsgenerálás támogatását (a nyilvános és privát kulcs a kliensek oldalán generálódik). a szerver).
- Hozzáadtuk a több kulcskészlet (keyshares) biztosításának támogatását egy TLS kapcsolat számára.
- Hozzáadtunk egy API-t a csövekes feldolgozáshoz (pipelining), amely lehetővé teszi több adatblokk egyidejű kezelését bizonyos titkosítások, például az AES-GCM használata mellett, amelyek támogatják a párhuzamos számítást.
- A req, cms és smime alkalmazásokban az alapértelmezett titkosítási algoritmust des-ede3-cbc-ról aes-256-cbc-ra módosítottuk.
- A TLS alapértelmezett titkosítási listájába bekerültek és prioritásként kiválasztották a kvantumszámítógép ellenálló hibrid KEM (Key Encapsulation Mechanism) csoportokat.
- A TLS-ben alapértelmezés szerint használt kulcskészletekhez (keyshares) hozzáadtuk az X25519MLKEM768 és X25519 algoritmusokat.
- A BIO_meth_get_*() függvények elavultnak lettek nyilvánítva.
Forrás: opennet.ru
