Udgivelser af de kryptografiske biblioteker OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 og Rustls 0.23.15

Flere nye versioner af de kryptografiske biblioteker er blevet offentliggjort:

Udgivelsen af biblioteket OpenSSL 3.4.0 med implementering af SSL/TLS protokoller og forskellige krypteringsalgoritmer. Support til OpenSSL 3.4 vil være tilgængelig indtil oktober 2025. Support til tidligere versioner af OpenSSL 3.3, 3.2, 3.1 og 3.0 LTS vil vare indtil april 2026, november 2025, marts 2025 og september 2026 henholdsvis. Koden til projektet distribueres under Apache 2.0 licensen. Hovedopdateringerne:

  • Tilføjet support for cipher-sættet til TLSv1.3, begrænset af dataintegritetscheck-funktioner (RFC 9150) og indeholdende algoritmerne TLS_SHA256_SHA256 og TLS_SHA384_SHA384.
  • Tilføjet valgfri mulighed for at bruge en ekstra kilde til tilfældighed i genereringen af tilfældige tal baseret på jitter, implementeret med jitterentropy-biblioteket. Genereringen af tilfældighed sker ved at måle tidsforskelle ved gentagen udførelse af et bestemt sæt instruktioner på CPU'en, hvilket afhænger af mange interne faktorer og er uforudsigeligt uden fysisk kontrol over CPU'en.
  • Indledende support for attributcertifikater (AC — Attribute Certificate, RFC 5755) er tilføjet, som indeholder information om rettigheder, beføjelser og attributter for certifikatindehaveren, der bekræfter muligheden for at udføre bestemte handlinger. For eksempel kan et AC-certifikat definere retten til at oprette forbindelse til en bestemt tjeneste.
  • Support for X.509v3-udvidelser, der er relateret til attributcertifikater, er tilføjet.
  • I FIPS-udbyderen er support for FIPS 140-3 Indicator API implementeret, som muliggør at afgøre, om en given operation blev udført i en godkendt tjeneste.
  • I BIO API (Basic Input/Output) er behandlingen af input i Base64-format forbedret.
  • Support for kompilering af openssl værktøjet i PIE (Position Independent Executable) tilstand, der muliggør brug af adresse-randomisering (ASLR), er tilføjet.
  • Support for direkte udtrækbare kombinerede digitale signaturalgoritmer, såsom RSA-SHA2-256, er tilføjet.
  • I PKCS#12 er support for PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579) tilføjet.
  • I openssl værktøjet er mulighederne ‘-not_before’ og ‘-not_after’ tilføjet for eksplicit at angive start- og sluttidspunktet for certifikatets gyldighed.
  • Muligheden for at anvende forudberegnede værdier ved initialisering af kryptografiske algoritmer baseret på elliptiske kurver P-256 er blevet tilføjet.
  • Funktionerne TS_VERIFY_CTX_set_* er blevet erklæret forældede og er blevet erstattet af TS_VERIFY_CTX_set0_* funktioner med forbedret semantik.
  • Funktionerne SSL_SESSION_get_time(), SSL_SESSION_set_time() og SSL_CTX_flush_sessions() er blevet erklæret forældede. I stedet skal SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() og SSL_CTX_flush_sessions_ex() bruges, som er fri for Y2K38 problemet.
  • Den forventede understøttelse af QIUC-protokollen i OpenSSL 3.4 på siden server er blevet udsat til næste udgave.

Udgivelsen af projektet LibreSSL 4.0.0, som er et udviklingsforløb af OpenSSL med fokus på at levere et højere sikkerhedsniveau og kvalitetsunderstøttelse af SSL/TLS protokoller ved at fjerne unødvendig funktionalitet, tilføje ekstra sikkerhedsforanstaltninger og foretage en betydelig oprydning og omstrukturering af kodebasen. Den markante ændring i versionsnummeret skyldes brugen af decimal nummerering (efter 3.9 følger version 4.0). De mest bemærkelsesværdige ændringer:

  • Indledende understøttelse af bygning ved hjælp af Emscripten, en compiler fra C/C++ til WebAssembly, er blevet tilføjet.
  • Der er tilføjet en CRLfile mulighed til 'openssl cms' kommandoen til at angive yderligere lister over tilbagekaldte certifikater (CRLs), som vil blive brugt ved validering.
  • Understøttelsen af mips32 platformen er afsluttet.
  • Adgangen til funktioner skrevet i assembler er blevet ophørt gennem det offentlige API (sådanne funktioner leveres nu kun via C-wrap funktioner). Assemblerimplementeringer af forældede krypteringsmetoder for forældede arkitekturer er blevet fjernet.
  • Koden til caching af certifikatvaliditet, som har mistet sin mening efter præstationsoptimering, er blevet fjernet.
  • Implementeringen af X.509v3 udvidelser er blevet forbedret, metoderne til X.509v3 er blevet ensartede, og API relateret til X.509v3 er blevet oprenset.
  • Implementeringen af typen CRYPTO_EX_DATA er blevet skrevet helt om.
  • I libcrypto er funktionerne atoi() og strtol() blevet erstattet med strtonum().
  • Der er tilføjet en headerfil crypto_arch.h, hvor koden specifik for hardwarearkitekturer er blevet flyttet.
  • Implementeringen af DES-algoritmen er blevet omarbejdet og optimeret.
  • Headerfilerne pem2.h, ssl2.h, ssl23.h og ui_compat.h er blevet fjernet.
  • Understøttelsen af hash-algoritmen Whirlpool er blevet fjernet.
  • Funktionerne HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust() er blevet fjernet.
  • Fjernede typerne PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD og SSL_AEAD_CTX.
  • Nye funktioner SSL_CTX_set1_cert_store() og SSL_CIPHER_get_handshake_digest() er tilføjet i libssl.

Cryptobiblioteket Botan 3.6.0 er tilgængeligt, anvendt i projektet NeoPG, en fork af GnuPG 2. Biblioteket tilbyder en omfattende samling af færdige primitiv typer, der anvendes i TLS-protokoller, X.509-certifikater, AEAD-krypteringsmetoder, TPM-moduler, PKCS#11, password hashing og postquantum-kryptografi (signaturer baseret på hashing og nøgleudveksling baseret på McEliece). Biblioteket er skrevet i C++ og leveres under BSD-licensen. I den nye version:

  • Integreret et nyt bibliotek med kryptografiske algoritmer baseret på elliptiske kurver, operationer baseret på typiske kurver udføres 2-3 gange hurtigere. Der tilbydes også et nyt API til lavniveauarbejde med elliptiske kurver.
  • Tilføjet support for nyligt standardiserede NIST postquantum kryptografialgoritmer: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) og FIPS 205 SLH-DSA (SPHINCS+).
  • Tilføjet support for TPM2-chips.
  • Udvidet brug af tidskonstant beregninger for at beskytte mod sidekanalangreb.
  • Tilføjet generering af ekstra entropi ved hjælp af jitterentropy-biblioteket.
  • Forbedret ydeevne ved behandling af data i hex-format og base64-kodning.
  • Tilføjet support for processorudvidelserne AVX2-VAES og GFNI-AVX2.
  • Tilføjet bestemmelse af CPU-funktioner for armv7, aarch64 og ppc64 på OpenBSD-platformen.
  • Tilføjet en build-option for at deaktivere alle inline assemblerindsættelser.

Udgivelse af Rustls 0.23.15, der udvikler klient- og serverimplementeringen af TLS1.2- og TLS1.3-protokollerne til projekter på Rust-sprog. Rustls leverer ikke sin egen implementering af kryptografiske primitiv typer, men bruger plug-in kryptografiske funktioner (algoritmerne ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM og AES256-GCM er understøttet). Som standard anvender Rustls en kryptoleverandør baseret på aws-lc-rs-biblioteket, som udvikles af Amazon og baseres på C++-koden fra AWS-LC, der er en aflægger af BoringSSL-projektet (vedligeholdt af Google, som er en fork af OpenSSL). Som kryptoleverandør kan også ring-biblioteket anvendes, som delvist er baseret på BoringSSL og kombinerer kode i assembler, C++ og Rust.

Den nye version er bemærkelsesværdig for betydelige ydeevneoptimeringer. Det hævdes, at ved brug af kryptoprimtiverne aws-lc-rs, overgår Rustls-biblioteket nu OpenSSL- og BoringSSL-bibliotekerne i tests, der måler båndbredde og hastighed af forbindelse og genoprettelse. Udgivelser af de kryptografiske biblioteker OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 og Rustls 0.23.15 Udgivelser af de kryptografiske biblioteker OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 og Rustls 0.23.15

Kilde: opennet.ru

Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere 🔥 Køb pålidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster