Avaldatud on mitu uut krüptograafiliste raamatukogude versiooni:
OpenSSL 3.4.0 väljaanne, mis sisaldab SSL/TLS protokollide ja erinevate šifreerimisalgoritmide rakendust. OpenSSL 3.4 toetamine jätkub kuni 2025. aasta oktoobrini. Varasemate versioonide OpenSSL 3.3, 3.2, 3.1 ja 3.0 LTS toetamist jätkatakse vastavalt kuni 2026. aasta aprillini, novembrini 2025, märtsini 2025 ja septembrini 2026. Projekti kood on litsentseeritud Apache 2.0 all. Peamised uuendused:
- Lisandunud on tugi TLSv1.3 šifrite komplektile, mis on piiratud andmete terviklikkuse kontrollimise funktsioonide (RFC 9150) ja sisaldab algoritme TLS_SHA256_SHA256 ja TLS_SHA384_SHA384.
- Lisatud on valikuline võimalus kasutada pseudojuhuslike numberite generaatoris täiendavat entropiaallikat, mis põhineb jitter'il, mida rakendatakse jitterentropy raamatukogu kaudu. Entropia genereerimine toimub teatud juhiste komplekti täitmise aja erinevuste mõõtmise kaudu CPU-l, mis sõltub paljusid sisemisi tegureid ja on etteennustamatu ilma füüsilise kontrollita CPU üle.
- Lisatud on algne tugi autoriseerimissertifikaatidele (AC — Attribute Certificate, RFC 5755), mis sisaldavad teavet juurdepääsuõiguste, volituste ja sertifikaadi omaniku atribuutide kohta, mis tõendavad võimalust teatud toimingute sooritamiseks. Näiteks võib AC-sertifikaat määrata õiguse ühenduda mingi teenusega.
- Lisatud on tugi X.509v3 laienditele, mis on seotud autoriseerimissertifikaatidega.
- FIPS pakkujas on rakendatud FIPS 140-3 Indikaatori API, mis võimaldab määrata, kas mingit operatsiooni kasutati heakskiidetud teenuses või mitte.
- API BIO (Basic Input/Output) on parendatud Base64 formaadis sisendi töötlemist.
- Lisatud on tugi openssl utiliidi koostamiseks PIE (Position Independent Executable) režiimis, mis võimaldab aadressiruumi randomiseerimist (ASLR).
- Lisatud on tugi otseekstrakteeritavatele kombineeritud digitaalsete allkirjade algoritmidele, nagu RSA-SHA2-256.
- PKCS#12 on lisatud tugi PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579).
- OpenSSL utiliidile on lisatud valikud ‘-not_before’ ja ‘-not_after’ sertifikaadi kehtivuse alguse ja lõpu aja selgeks määramiseks.
- Kryptograafiliste algoritmide algseadistuse käigus on võimalik kasutada ette arvutatud väärtusi, mis põhinevad elliptsetel kõveratel P-256.
- Funktsioonid TS_VERIFY_CTX_set_* on kuulutatud aegunuks, nende asemele on tulnud funktsioonid TS_VERIFY_CTX_set0_* koos täiustatud semantikaga.
- Funktsioonid SSL_SESSION_get_time(), SSL_SESSION_set_time() ja SSL_CTX_flush_sessions() on kuulutatud aegunuks, nende asemel tuleb kasutada SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() ja SSL_CTX_flush_sessions_ex(), mis on vabastatud 2038 aasta probleemist.
- OpenSSL 3.4 oodatud tugi QIUC protokollile poolel serverid on lükatud järgmisse väljaandesse.
LibreSSL 4.0.0 projekti väljalaskmine, mis on OpenSSL-i haru, mille eesmärk on pakkuda kõrgemat turvalisuse taset ja kvaliteetset SSL/TLS protokollide tuge, eemaldades liigse funktsionaalsuse, lisades täiendavaid kaitsemeetmeid ning tehes olulisi koodibaasi puhastusi ja ümberstruktureerimist. Versiooni numbri olulise muutumise põhjuseks on kümnendküsimuse numbreerimise kasutamine (3.9-st järgneb versioon 4.0). Kõige märkimisväärsemad muudatused:
- Algne tugi koostamiseks Emscripteniga, mis muudab C/C++ WebAssemblyks, on lisatud.
- Käsku «openssl cms» on lisatud variant CRLfile, et määrata täiendavaid tühistamissertifikaatide loendeid (CRL), mida kasutatakse verifitseerimisel.
- Tugi mips32 platvormile on lõpetatud.
- Avalikku API-sse ei saa enam juurde pääseda assembler keeles kirjutatud funktsioonidele (sellised funktsioonid on nüüd saadaval ainult C keeles kirjutatud mähisfunktsioonide kaudu). Vananenud arhitektuuride vananenud krüpteerimisalgoritmi assembleri teostused on eemaldatud.
- Eemaldatud sertifikaatide kehtivuse vahemiku koodi, mis kaotas oma mõtte jõudluse optimeerimise tõttu.
- X.509v3 laienduse teostust on parendatud, X.509v3 meetodid on ühtlustatud ja X.509v3 API on puhastatud.
- CRYPTO_EX_DATA tüübi teostus on täielikult ümber kirjutatud.
- libcrypto-s on funktsioonid atoi() ja strtol() asendatud strtonum()-iga.
- Seotud spetsiifilise riistvaraarhitektuuriga kood on välja tõstetud pealkirja crypto_arch.h.
- DES algoritmi teostus on ümber töötatud ja optimeeritud.
- Pealkirjad pem2.h, ssl2.h, ssl23.h ja ui_compat.h on eemaldatud.
- Whirlpooli ründe algoritm on eemaldatud.
- Funktsioonid HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust() on eemaldatud.
- Eemaldatud on tüübid PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD ja SSL_AEAD_CTX.
- Libsslis on lisatud funktsioonid SSL_CTX_set1_cert_store() ja SSL_CIPHER_get_handshake_digest().
Saadaval on krüptograafilise raamatukogu Botan 3.6.0 väljaanne, mida kasutatakse projektis NeoPG, GnuPG 2 forki. Raamatukogu pakub suurt kogumit valmis primitiive, mida kasutatakse TLS protokollis, X.509 sertifikaatides, AEAD krüpteeringutes, TPM moodulites, PKCS#11, paroolide hajutamises ja postkvantkryptograafias (hash-põhised allkirjad ja võtme kokkulepped McEliece'i alusel). Raamatukogu on kirjutatud C++ keeles ja on välja antud BSD litsentsi alusel. Uues versioonis:
- Integreeritud on uus raamatukogu, mis sisaldab elliptsete kõverate põhiseid krüptograafilisi algoritme, mille operatsioonid standardsetel kõveratel toimuvad 2–3 korda kiiremini. Pakutakse ka uut API madala taseme töötamiseks elliptsete kõveratega.
- Lisatud on tugi NISTi poolt hiljuti standardiseeritud postkvantkryptograafia algoritmidele: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) ja FIPS 205 SLH-DSA (SPHINCS+).
- Lisatud on tugi TPM2 kiipidele.
- Laienenud on pideva täitmise ajaga arvutuste kasutamine, et kaitsta külgkanali rünnakute eest.
- Lisatud on täiendava entropia genereerimine jitterentropy raamatukogu abil.
- Parandatud on andmete töötlemise efektiivsust heksadesimaalses formaadis ja base64 koodimises.
- Lisatud on toetus protsessori laiendustele AVX2-VAES ja GFNI-AVX2.
- Lisatud on CPU armv7, aarch64 ja ppc64 võimekuste määramine OpenBSD platvormil.
- Lisatud on kompileerimisvõimalus kõigi assembler inline-insertide väljalülitamiseks.
Rustls projekti 0.23.15 väljaanne, mis arendab TLS1.2 ja TLS1.3 protokollide kliendi- ja serveri rakendusi Rusti projektide jaoks. Rustls ei paku oma krüptograafiliste primitiivide rakendust, vaid kasutab pluginaid krüptograafiliste funktsioonide jaoks (toetatakse algoritme ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ja AES256-GCM). Rustls loobub vaikimisi krüptoprovideerijast, mis põhineb aws-lc-rs raamatukogul, mille arendab Amazon ja mis põhineb C++ koodil AWS-LC, mis on forkitud BoringSSL projektist (mille haldab Google OpenSSL fork). Krüptoprovideerijana võib kasutada ka ring raamatukogu, mis põhineb osaliselt BoringSSL-il ja mis kombineerib koodi assembleris, C++ ja Rustis.
Uus versioon on silmapaistev märkimisväärsete jõudluse optimeerimiste poolest. Öeldakse, et kasutades krüpto primitiive, ületab aws-lc-rs Rustls raamatukogu nüüd OpenSSL ja BoringSSL raamatukogusid ribalaiuse ja ühenduse kokkulepimise/taaselustamise testides.

Allikas: opennet.ru
