NÄgra nya versioner av kryptografiska bibliotek har publicerats:
UtgÄvan av biblioteket OpenSSL 3.4.0 med implementering av SSL/TLS-protokoll och olika krypteringsalgoritmer. Stödet för OpenSSL 3.4 kommer att fortsÀtta till oktober 2025. Stödet för tidigare versioner av OpenSSL 3.3, 3.2, 3.1 och 3.0 LTS kommer att pÄgÄ till april 2026, november 2025, mars 2025 och september 2026 respektive. Projektkoden distribueras under Apache 2.0-licensen. Huvudnyheterna:
- Stöd för en cipher suite för TLSv1.3, begrÀnsad till funktioner för dataintegritetskontroll (RFC 9150) och inklusive algoritmerna TLS_SHA256_SHA256 och TLS_SHA384_SHA384 har lagts till.
- En valfri funktion för anvÀndning av en extra kÀlla för entropi baserad pÄ jitter har lagts till i den pseudorandomiska talgeneratorn, implementerad med biblioteket jitterentropy. Entropin genereras genom att mÀta skillnader i tid för Äterkörning av ett visst uppsÀttning instruktioner pÄ CPU, beroende av mÄnga interna faktorer och oförutsÀgbar utan fysisk kontroll över CPU:n.
- Inledande stöd för attributcertifikat (AC â Attribute Certificate, RFC 5755) har lagts till, vilket inkluderar information om behörighet, befogenheter och attribut hos certifikatets Ă€gare som verifierar möjligheten att utföra vissa Ă„tgĂ€rder. Till exempel kan ett AC-certifikat definiera rĂ€tten att ansluta till en viss tjĂ€nst.
- Stöd för X.509v3-tillÀgg relaterade till attributcertifikat har lagts till.
- I FIPS-leverantören har stöd för FIPS 140-3 Indicator API implementerats, vilket gör det möjligt att avgöra om en viss operation utfördes i en godkÀnd tjÀnst eller inte.
- I API BIO (Basic Input/Output) har hanteringen av indata i Base64-format förbÀttrats.
- Stöd för kompilering av verktyget openssl i PIE-lÀget (Position Independent Executable) har lagts till, vilket möjliggör anvÀndning av adressrymd-randomisering (ASLR).
- Stöd för direkt extraherade kombinerade algoritmer för digital signatur, sÄsom RSA-SHA2-256, har lagts till.
- I PKCS#12 har stöd för PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579) lagts till.
- I verktyget openssl har alternativen '-not_before' och '-not_after' lagts till för att uttryckligen ange start- och sluttid för certifikatets giltighet.
- Möjlighet att anvÀnda förberÀknade vÀrden vid initiering av kryptografiska algoritmer baserade pÄ elliptiska kurvor P-256 har tillhandahÄllits.
- Funktionerna TS_VERIFY_CTX_set_* har deprecierats, och har ersatts av funktionerna TS_VERIFY_CTX_set0_* med förbÀttrad semantik.
- Funktionerna SSL_SESSION_get_time(), SSL_SESSION_set_time() och SSL_CTX_flush_sessions() har deprecierats och bör ersÀttas med SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() och SSL_CTX_flush_sessions_ex(), som Àr fria frÄn 2038-problemet.
- Det förvÀntade stödet för QIUC-protokollet i OpenSSL 3.4 servern har skjutits upp till nÀsta version.
Utgivningen av projektet LibreSSL 4.0.0, som Àr en vidareutveckling av OpenSSL, syftar till att erbjuda en högre nivÄ av sÀkerhet och kvalitativt stöd för SSL/TLS-protokoll genom att ta bort överflödig funktionalitet, lÀgga till extra skydd och genomföra betydande stÀdning och omarbetning av kodbasen. Den betydande versionsÀndringen beror pÄ anvÀndningen av decimalnummerering (efter 3.9 kommer version 4.0). De mest anmÀrkningsvÀrda förÀndringarna:
- Inledande stöd för byggnation med hjÀlp av Emscripten, en kompilator som omvandlar C/C++ till WebAssembly, har lagts till.
- Kommandot "openssl cms" har fÄtt alternativet CRLfile för att ange ytterligare listor med Äterkallade certifikat (CRL) som kommer att anvÀndas vid verifiering.
- Stödet för plattformen mips32 har upphört.
- TillgÄngen till funktioner skrivna i assembler via det offentliga API:t har upphört (sÄdana funktioner erbjuds nu endast genom wrapper-funktioner pÄ C). Assemblerimplementationer av förÄldrade algoritmer för förÄldrade arkitekturer har tagits bort.
- Koden för att cachea giltigheten av certifikat som förlorat sin mening efter prestandaoptimering har tagits bort.
- Implementeringen av X.509v3-tillÀgg har förbÀttrats, metoderna för X.509v3 har enhetliggjorts och relaterat API för X.509v3 har stÀdats upp.
- Implementeringen av typen CRYPTO_EX_DATA har skrivits om helt.
- I libcrypto har funktionerna atoi() och strtol() bytts ut mot strtonum().
- En header-fil crypto_arch.h har lagts till, som innehÄller kod specifik för hÄrdvaruarkitektur.
- Implementeringen av DES-algoritmen har omarbetats och optimerats.
- header-filerna pem2.h, ssl2.h, ssl23.h och ui_compat.h har tagits bort.
- Stödet för hash-algoritmen Whirlpool har tagits bort.
- Funktionerna HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust() har tagits bort.
- Typerna PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD och SSL_AEAD_CTX har tagits bort.
- Funktionerna SSL_CTX_set1_cert_store() och SSL_CIPHER_get_handshake_digest() har lagts till i libssl.
Den kryptografiska biblioteket Botan 3.6.0 Àr tillgÀnglig, anvÀnd i projektet NeoPG, en fork av GnuPG 2. Biblioteket erbjuder en stor samling av fÀrdiga primitiva operationer som anvÀnds i TLS-protokollet, X.509-certifikat, AEAD-krypteringsalgoritmer, TPM-moduler, PKCS#11, lösenordshashering och post-kvantkryptografi (hash-baserade signaturer och nyckelutbyte baserat pÄ McEliece). Biblioteket Àr skrivet i C++ och distribueras under BSD-licensen. I den nya versionen:
- Ett nytt bibliotek med kryptografiska algoritmer baserade pÄ elliptiska kurvor har integrerats, dÀr operationer pÄ standardkurvor utförs 2-3 gÄnger snabbare. Dessutom har ett nytt API föreslagits för lÄg nivÄ arbete med elliptiska kurvor.
- Stöd för nyligen standardiserade NIST-algoritmer för post-kvantkryptografi har lagts till: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) och FIPS 205 SLH-DSA (SPHINCS+).
- Stöd för TPM2-chips har lagts till.
- AnvÀndningen av tidskonstant berÀkningar för att skydda mot sidokanalsattacker har utökats.
- Generering av ytterligare entropi med hjÀlp av biblioteket jitterentropy har lagts till.
- Prestandan vid behandling av data i hexadecimalt format och base64-kodning har förbÀttrats.
- Stöd för processorarkitekturens AVX2-VAES och GFNI-AVX2 har lagts till.
- Möjligheterna för CPU armv7, aarch64 och ppc64 pÄ OpenBSD-plattformen har lagts till.
- En byggalternativ för att inaktivera alla inline-assemblerinsatser har lagts till.
UtgĂ„van av projektet Rustls 0.23.15, som utvecklar klient- och serverimplementeringen av TLS1.2 och TLS1.3-protokollen för projekt pĂ„ Rust-sprĂ„ket. Rustls tillhandahĂ„ller inte sin egen implementering av kryptografiska primitiva, utan anvĂ€nder plug-in-leverantörer för kryptografiska funktioner (stödjer algoritmer som ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM och AES256-GCM). Som standard anvĂ€nder Rustls en kryptoleverantör baserad pĂ„ biblioteket aws-lc-rs, som utvecklas av Amazon och bygger pĂ„ C++-koden frĂ„n AWS-LC, som Ă€r en avknoppning av BoringSSL-projektet (som underhĂ„lls av Google-forken av OpenSSL). Ăven biblioteket ring, delvis baserat pĂ„ BoringSSL och kombinerande kod i assembler, C++ och Rust, kan anvĂ€ndas som kryptoleverantör.
Den nya versionen kÀnnetecknas av betydande prestandaoptimeringar. Det pÄstÄs att med anvÀndning av kryptoprimitive aws-lc-rs övertrÀffar Rustls-biblioteket nu OpenSSL och BoringSSL-biblioteken i tester som mÀter genomströmning och hastighet för anslutningsöverenskommelse/ÄterstÀllning.

KĂ€lla: opennet.ru
