Kibővítettük a kriptográfiai könyvtárak új verzióit:
Megjelent az OpenSSL 3.4.0 könyvtár, amely az SSL/TLS protokollokat és különféle titkosítási algoritmusokat valósít meg. Az OpenSSL 3.4 támogatása 2025 októberéig tart. Az OpenSSL 3.3, 3.2, 3.1 és 3.0 LTS korábbi ágainak támogatása 2026 áprilisáig, 2025 novemberéig, 2025 márciusáig és 2026 szeptemberéig lesz biztosítva. A projekt kódját Apache 2.0 licenc alatt terjesztik. Főbb újdonságok:
- Támogatás került a TLSv1.3 titkosítási készlethez, amely korlátozott adatintegritás-ellenőrző funkciókkal (RFC 9150) rendelkezik, és tartalmazza a TLS_SHA256_SHA256 és TLS_SHA384_SHA384 algoritmusokat.
- Lehetővé vált, hogy a pszeudo véletlenszám-generátor használhasson egy további entrópiaforrást, amely jitter alapú (jitter), amit a jitterentropy könyvtár segítéségével valósítanak meg. Az entrópia generálása a CPU-n végrehajtott, meghatározott instrukciósorozat végrehajtásának időbeli eltéréseinek mérésével történik, amely számos belső tényezőtől függ, és fizikális vezérlés nélkül kiszámíthatatlan.
- Kezdeti támogatás került bevezetésre az Akreditált Tanúsítványok (AC — Attribute Certificate, RFC 5755) számára, amelyek információkat tartalmaznak a jogosultságokról, hatáskörökről és a tanúsítvány birtokosának attribútumairól, igazolva ezzel bizonyos műveletek végrehajtásának lehetőségét. Például az AC tanúsítvány meghatározhatja a jogosultságot egy szolgáltatáshoz való csatlakozásra.
- Támogatást nyújtanak a hitelesítési tanúsítványokkal kapcsolatos X.509v3 kiterjesztések.
- A FIPS szolgáltatóban megvalósult a FIPS 140-3 Indicator API támogatása, amely lehetővé teszi annak meghatározását, hogy egy adott műveletet jóváhagyott szolgáltatás keretében hajtottak-e végre.
- A BIO (Basic Input/Output) API-ban javult a Base64 formátumú bemenet kezelése.
- Támogatás került az openssl eszköz PIE (Position Independent Executable) módú összeállítására, amely lehetővé teszi a címke véletlenszerűsítés (ASLR) használatát.
- Támogatás került közvetlenül kinyerhető, kombinált digitális aláírás algoritmusokhoz, mint például az RSA-SHA2-256.
- A PKCS#12-hez hozzáadódott a PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579) támogatás.
- Az openssl eszközhöz hozzáadták a '-not_before' és '-not_after' opciókat a tanúsítvány kezdő és záró időpontjának egyértelmű megadására.
- Az előre kiszámított értékek használatának lehetősége biztosított az elliptikus görbék P-256 alapú kriptográfiai algoritmusok inicializálásakor.
- Elavultnak nyilvánították a TS_VERIFY_CTX_set_* funkciókat, amelyek helyébe a TS_VERIFY_CTX_set0_* funkciók léptek a javított szemantikával.
- Elavultnak nyilvánították az SSL_SESSION_get_time(), SSL_SESSION_set_time() és SSL_CTX_flush_sessions() funkciókat, helyettük az SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() és SSL_CTX_flush_sessions_ex() funkciókat kell használni, amelyek megszabadulnak a 2038-as problémától.
- Az OpenSSL 3.4-ben várt QIUC protokoll támogatás a a szerver következő kiadásra halasztva.
A LibreSSL 4.0.0 projekt kiadása, amely az OpenSSL ága, célja egy magasabb biztonsági szint és a SSL/TLS protokollok minőségi támogatása, a felesleges funkciók eltávolításával, további védelmi eszközök hozzáadásával és jelentős tisztítással és a kódalap újraírásával. A jelentős verziószám-változás a tizedes számozás bevezetésével kapcsolatos (a 3.9 után a 4.0 verzió következik). A legszembetűnőbb változások:
- Megkezdődött a kezdeti támogatás az Emscripten használatával végzett fordításhoz, amely a C/C++ WebAssembly-á történő fordítására szolgáló fordító.
- Az 'openssl cms' parancshoz hozzáadva a CRLfile opció, amely lehetővé teszi további visszavont tanúsítványok (CRL) megadását, amelyeket a verifikáció során használnak.
- Megszűnt a mips32 platform támogatása.
- Megszűnt az assembly nyelven írt funkciók elérhetősége a nyilvános API-n keresztül (az ilyen funkciók most már csak C nyelvű wrapper funkciókon keresztül érhetők el). Az elavult architektúrák elavult titkosító algoritmusainak assembly implementációit eltávolították.
- Eltávolították a tanúsítványok érvényességének gyorsítótárazásához szükséges kódot, amely értelmét vesztette a teljesítmény optimalizálása után.
- Javították az X.509v3 kiterjesztések implementációját, egységesítették az X.509v3 módszereket és megtisztították a kapcsolódó X.509v3 API-t.
- Teljesen újraírták a CRYPTO_EX_DATA típus implementációját.
- A libcrypto-ban az atoi() és strtol() funkciókat a strtonum() funkcióra cserélték.
- Hozzáadva a crypto_arch.h fejlécfájl, amelybe a hardverarchitektúrákra specifikus kód került.
- Újra lett tervezve és optimalizálva a DES algoritmus implementációja.
- Eltávolították a pem2.h, ssl2.h, ssl23.h és ui_compat.h fejlécfájlokat.
- Eltávolították a Whirlpool hash algoritmus támogatását.
- Eltávolították az HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust() funkciókat.
- Eltávolítva PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD és SSL_AEAD_CTX típusok.
- A libssl-hez új függvények kerültek be: SSL_CTX_set1_cert_store() és SSL_CIPHER_get_handshake_digest().
Elérhető a Botan 3.6.0 kriptográfiai könyvtár kiadása, amely a NeoPG projektben, a GnuPG 2 forkjában kerül felhasználásra. A könyvtár széles körű, előre elkészített primitíveket biztosít TLS protokollokhoz, X.509 tanúsítványokhoz, AEAD titkosításhoz, TPM, PKCS#11 modulokhoz, jelszó hash-eléshez és posztkvantum kriptográfiához (hash-alapú aláírások és kulcsmegosztás McEliece alapú). A könyvtár C++ nyelven íródott és BSD licenc alatt érhető el. Az új verzióban:
- Beépítésre került egy új könyvtár elliptikus görbéken alapuló kriptoalgoritmusokhoz, amelyben a standard görbék alatti műveletek 2-3-szor gyorsabban hajthatók végre. Emellett egy új API is elérhető az alacsony szintű elliptikus görbékkel való munkához.
- Hozzáadva a nemrégiben a NIST által standardizált posztkvantum titkosító algoritmusok támogatása: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) és FIPS 205 SLH-DSA (SPHINCS+).
- Hozzáadva a TPM2 chipek támogatása.
- Bővítettük a konstans végrehajtási idővel rendelkező számítások használatát a csatornákon keresztüli támadások elleni védelem érdekében.
- Hozzáadva a jitterentropy könyvtárral történő további entrópia generálás.
- Javítottuk a hexadecimális formátumú és base64 kódolású adatok feldolgozási teljesítményét.
- Hozzáadva az AVX2-VAES és GFNI-AVX2 processzor-kiterjesztések támogatása.
- Hozzáadva a CPU armv7, aarch64 és ppc64 lehetőségek meghatározása az OpenBSD platformon.
- Hozzáadva egy fordítási lehetőség, amely letiltja az összes inline assembler beillesztést.
A Rustls 0.23.15 projekt kiadása, amely a TLS1.2 és TLS1.3 protokollok kliens- és szerverimplementációját fejleszti Rust nyelvű projektekhez. A Rustls nem biztosít saját kriptográfiai primitív implementációt, hanem plug-in kriptográfiai függvények szolgáltatóit használja (támogatott algoritmusok: ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM és AES256-GCM). A Rustls alapértelmezés szerint az aws-lc-rs könyvtárra építi a kriptográfiai szolgáltatót, amelyet az Amazon fejlesztett és az AWS-LC C++ kódjára alapoz, amely a BoringSSL projektből származik (a Google által karbantartott OpenSSL fork). A ring könyvtár is használható kriptográfiai szolgáltatóként, amely részben a BoringSSL-en alapul és assembláló, C++ és Rust kódot kombinál.
Az új verzió figyelemre méltó teljesítményoptimalizálásokkal rendelkezik. Azt állítják, hogy a crypto primitívek használatával az aws-lc-rs Rustls könyvtár most már megelőzi az OpenSSL és BoringSSL könyvtárakat a sávszélesség és a kapcsolat létrehozásának/újraindításának sebességét mérő tesztekben.

Forrás: opennet.ru
