Avaldatud on mitu uut krüptograafia raamatukogu versiooni:
OpenSSL 3.4.0 väljaanne, mis sisaldab SSL/TLS protokollide ja erinevate krüpteerimisalgoritmide teostust. OpenSSL 3.4 toetust jätkatakse kuni oktoobrini 2025. Aastate 3.3, 3.2, 3.1 ja 3.0 LTS eelkäijate toetamine kestab kuni aprilli 2026, novembri 2025, märtsi 2025 ja septembri 2026 vastavalt. Projekti kood on saadaval Apache 2.0 litsentsi alusel. Peamised uuendused:
- Lisatud tugi TLSv1.3 krüptograafia komplektile, mis on piiratud andmete terviklikkuse kontrollimise funktsioonidega (RFC 9150) ja sisaldab TLS_SHA256_SHA256 ja TLS_SHA384_SHA384 algoritme.
- Lisatud valikuline võimalus kasutada valejuhuslike arvude generaatoris täiendavat entropiaallikat, mis põhineb jitteril, mille on teostanud jitterentropy raamatukogu. Entropia moodustamine toimub juhuslike viivituste mõõtmise abil teatud käsurea komplekti kordamise ajal CPU-l, mis sõltub paljusid sisemisi tegureid ja on ettearvamatu ilma füüsilise kontrollita CPU üle.
- Lisatud algne tugi autoriseerimissertifikaatidele (AC — Attribute Certificate, RFC 5755), mis sisaldavad teavet juurdepääsuõiguste, volituste ja sertifikaadi omaniku atribuutide kohta, mis tõendavad teatud toimingute teostamiseõigust. Näiteks võib AC-sertifikaat määratleda õiguse ühenduda teatud teenusega.
- Lisatud tugi X.509v3 laienditele, mis on seotud autoriseerimissertifikaatidega.
- FIPS-provideeri juures on rakendatud FIPS 140-3 Indicator API, mis võimaldab tuvastada, kas teatud toiming toimus heakskiidetud teenuses või mitte.
- API BIO (Basic Input/Output) sisendi töötlemist Base64 formaadis on parandatud.
- Lisatud tugi openssl utiliidi kokkupanekuks PIE (Position Independent Executable) režiimis, mis võimaldab aadressiruumi randomiseerimist (ASLR).
- Lisatud tugi otse eemaldatavate komposiitdigitaalse allkirjastamise algoritmide, nagu RSA-SHA2-256, jaoks.
- PKCS#12-s 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 algus- ja lõpuaja selgeks määramiseks.
- Kryptograafiliste algoritmide P-256 elliptsete kõverate baasil initsialiseerimiseks on saadud võimalus kasutada eelnevalt arvutatud väärtusi.
- Funktsioonid TS_VERIFY_CTX_set_* on tunnistatud aegunuks, nende asemel on kasutusele võetud funktsioonid TS_VERIFY_CTX_set0_* parema semantika gegurust.
- Funktsioonid SSL_SESSION_get_time(), SSL_SESSION_set_time() ja SSL_CTX_flush_sessions() on tunnistatud aegunuks, nende asemel tuleb kasutada SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() ja SSL_CTX_flush_sessions_ex(), mis on 2038. aasta probleemi vabastanud.
- Oodatud OpenSSL 3.4 toe QIUC protokolli poole serverile on edasi lükatud järgmisse väljaandesse.
LibreSSL 4.0.0 projekti väljaanne, mis on OpenSSLi haru, mis keskendub kõrgema turvalisuse taseme pakkumisele ja SSL/TLS protokollide kvaliteetse toe tagamisele, eemaldades liigse funktsionaalsuse, lisades täiendavaid kaitsevahendeid ning läbiviides ulatuslikku koodibaasi puhastust ja ümberkorraldust. Suur versiooni muutmine on seotud kümnendate numbrite kasutamisega (3.9 järel järgneb versioon 4.0). Tuleb esile välja toovad muudatused:
- Algne toetus Emscripteni abil koostamisele, kompilaatorist C/C++ WebAssemblyni, on lisatud.
- Komandile «openssl cms» on lisatud valik CRLfile, et määrata täiendavad tühistatud sertifikaatide loendid (CRL), mida kasutatakse kontrollimisel.
- Platvormi mips32 toetus on lõpetatud.
- Avaliku API kaudu on lõpetatud juurdepääs assembleri keeles kirjutatud funktsioonidele (sellised funktsioonid on nüüd saadaval ainult C-keele mähisfunktsioonide kaudu). Ajalooliste arhitektuuride jaoks on eemaldatud vananenud krüpteerimise assembleri rakendused.
- Eemaldatud sertifikaatide kehtivuse vahemälu kode, mis mõtte kaotas pärast jõudluse optimeerimist.
- X.509v3 laiendite rakendust on täiustatud, X.509v3 meetodid on ühtlustatud ja X.509v3 API-le on tehtud puhastus.
- CRYPTO_EX_DATA tüüpi rakendus on täielikult ümber kirjutatud.
- Libcrypto-s on funktsioonid atoi() ja strtol() asendatud strtonum()-ga.
- Lisatud päisefail crypto_arch.h, kuhu on viidud ülesanne, mis on spetsiifiline riistvaraarhitektuuridele.
- DES algoritmi rakendust on ümber töötatud ja optimeeritud.
- Eemaldatud päisefailid pem2.h, ssl2.h, ssl23.h ja ui_compat.h.
- Whirlpooli hash-algoritmi toetus on eemaldatud.
- Eemaldatud funktsioonid HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust().
- Eemaldatud tüübid PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD ja SSL_AEAD_CTX.
- Libssl-i on lisatud funktsioonid SSL_CTX_set1_cert_store() ja SSL_CIPHER_get_handshake_digest().
Kättesaadav on krüptograafia raamatukogu Botan 3.6.0, mida kasutatakse projektis NeoPG, GnuPG 2 forkis. Raamatukogu pakub suurt kogumit valmis primitiividest, mida kasutatakse TLS protokollis, X.509 sertifikaatides, AEAD krüptodes, TPM moodulites, PKCS#11, paroolide hajutamises ja postkvantse krüptograafias (allkirjad, mis põhinevad hajutamisel, ja võtmeseondusega McEliece põhjal). Raamatukogu on kirjutatud C++ keeles ja antakse välja BSD litsentsi alusel. Uues versioonis:
- Integreeritud uus raamatukogu, mis põhineb elliptilistel kõveratel ja mille operatsioonid standardsete kõveratega toimivad 2-3 korda kiiremini. Samuti on pakutud uus API madala taseme tööks elliptiliste kõveratega.
- Lisatud tugi NIST-i poolt hiljuti standardiseeritud postkvantse krüptimise algoritmidele: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) ja FIPS 205 SLH-DSA (SPHINCS+).
- Lisatud tugi TPM2 kiipidele.
- Kohandatud on pideva täitmise aegade kasutamine operatsioonide teostamiseks, et kaitsta küljekanalite rünnakute eest.
- Jitterentropy teegi abil on lisatud täiendava entropia genereerimine.
- Hex-formaadis ja base64 kodeeringus andmete töötlemise jõudlus on paranenud.
- Toetatud on AVX2-VAES ja GFNI-AVX2 protsessori laiendused.
- OpenBSD platvormil on lisatud CPU armv7, aarch64 ja ppc64 võimekuse määramine.
- Lisatud on kompileerimisvalik, et keelata kõik assembleri inline-sisestused.
Rustls projekti 0.23.15 väljaanne, mis arendab TLS1.2 ja TLS1.3 protokollide kliendi ja serveri teostust Rusti projektide jaoks. Rustls ei paku oma krüptograafiliste primitiivide teostust, vaid kasutab pluginaid, mis pakuvad krüptograafilisi funktsioone (toetatakse algoritme ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM ja AES256-GCM). Vaikimisi kasutab Rustls krüptopakkujana aws-lc-rs teeki, mille on arendanud Amazon ja mis põhineb AWS-LC C++ koodil, mis on pärit BoringSSL projektist (Google'i fork OpenSSL-ist). Krüptopakkujana saab kasutada ka ring teeki, mis on osaliselt BoringSSL-i põhine ja ühendab assembleri, C++ ja Rust koodi.
Uus versioon paistab silma märkimisväärsete jõudluse optimeerimistega. Teatada on, et kasutades krüpto-primitiiwe, on aws-lc-rs teek Rustls nüüd testides üle OpenSSL ja BoringSSL teekide, mis mõõdavad läbilaskevõimet ja ühenduse kokkuleppe / taastamise kiirus.

Allikas: opennet.ru
