Vydání kryptografických knihoven OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 a Rustls 0.23.15

Byly zveřejněny nové verze kryptografických knihoven:

Vydání knihovny OpenSSL 3.4.0 s implementací protokolů SSL/TLS a různých šifrovacích algoritmů. Podpora OpenSSL 3.4 bude trvat do října 2025. Podpora předchozích verzí OpenSSL 3.3, 3.2, 3.1 a 3.0 LTS potrvá do dubna 2026, listopadu 2025, března 2025 a září 2026. Kód projektu je distribuován pod licencí Apache 2.0. Hlavní novinky:

  • Byla přidána podpora šifrovacích sad pro TLSv1.3, omezená funkcemi ověřování integrity dat (RFC 9150) a zahrnující algoritmy TLS_SHA256_SHA256 a TLS_SHA384_SHA384.
  • Byla přidána volitelná možnost použití dalšího zdroje entropie na základě jitteru v generátoru pseudonáhodných čísel, implementovaného pomocí knihovny jitterentropy. Entropie se vytváří měřením rozdílů v čase opakovaného provádění určitého souboru instrukcí na CPU, závislého na mnoha vnitřních faktorech a nepředvídatelného bez fyzické kontroly nad CPU.
  • Byla přidána počáteční podpora autorizovaných certifikátů (AC – Attribute Certificate, RFC 5755), které zahrnují informace o přístupových právech, oprávněních a atributech držitele certifikátu, potvrzujících možnost provádět určité akce. Například certifikát AC může definovat právo na připojení k určité službě.
  • Byla přidána podpora rozšíření X.509v3, souvisejících s autorizovanými certifikáty.
  • V poskytovateli FIPS byla implementována podpora FIPS 140-3 Indicator API, která umožňuje určit, zda byla daná operace provedena ve schválené službě, či nikoliv.
  • V API BIO (Basic Input/Output) byla vylepšena podpora zpracování vstupu ve formátu Base64.
  • Byla přidána podpora kompilace utilit openssl v režimu PIE (Position Independent Executable), což umožňuje použití randomizace adresního prostoru (ASLR).
  • Byla přidána podpora pro přímo vyjímatelné kombinované algoritmy digitálního podpisu, jako je RSA-SHA2-256.
  • V PKCS#12 byla přidána podpora PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579).
  • Do utilit openssl byly přidány možnosti ‘-not_before’ a ‘-not_after’ pro explicitní určení počátečního a koncového času platnosti certifikátu.
  • Byla poskytnuta možnost využití předem vypočítaných hodnot při inicializaci kryptografických algoritmů na základě elliptických křivek P-256.
  • Funkce TS_VERIFY_CTX_set_* byly označeny jako zastaralé, nahrazeny funkcemi TS_VERIFY_CTX_set0_* s vylepšenou sémantikou.
  • Funkce SSL_SESSION_get_time(), SSL_SESSION_set_time() a SSL_CTX_flush_sessions() byly označeny jako zastaralé a měly by být nahrazeny funkcemi SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() a SSL_CTX_flush_sessions_ex(), které odstranily problém roku 2038.
  • Očekávaná podpora protokolu QIUC ve verzi OpenSSL 3.4 serveru byla odložena až na další vydání.

Vydání projektu LibreSSL 4.0.0, vyvíjeného jako fork OpenSSL, zaměřeného na poskytování vyšší úrovně zabezpečení a kvalitní podporu protokolů SSL/TLS s odstraněním nadbytečné funkčnosti, přidáním dalších ochranných prostředků a provedením značného úklidu a přepracování kódové základny. Značná změna čísla verze souvisí s používáním desetinného číslování (po 3.9 následuje verze 4.0). Nejvýraznější změny:

  • Byla přidána počáteční podpora pro sestavení s použitím Emscripten, překladače z C/C++ do WebAssembly.
  • Týmu 'openssl cms' byla přidána možnost CRLfile k určení dalších seznamů odvolaných certifikátů (CRL), které budou použity při ověřování.
  • Podpora platformy mips32 byla ukončena.
  • Byl ukončen přístup k funkcím napsaným v assembleru prostřednictvím veřejného API (takové funkce jsou nyní poskytovány pouze prostřednictvím wrapper funkcí v jazyce C). Byly odstraněny assemblerové implementace zastaralých šifrovacích algoritmů pro zastaralé architektury.
  • Byl odstraněn kód pro kešování platnosti certifikátů, který ztratil smysl po optimalizaci výkonu.
  • Byla vylepšena implementace rozšíření X.509v3, sjednoceny metody X.509v3 a proveden úklid souvisejícího X.509v3 API.
  • Implementace typu CRYPTO_EX_DATA byla zcela přepracována.
  • V libcrypto byly funkce atoi() a strtol() nahrazeny funkcí strtonum().
  • Byl přidán hlavičkový soubor crypto_arch.h, do kterého byl vyčleněn kód specifický pro hardwarové architektury.
  • Implementace algoritmu DES byla přepracována a optimalizována.
  • Byly odstraněny hlavičkové soubory pem2.h, ssl2.h, ssl23.h a ui_compat.h.
  • Podpora pro hashovací algoritmus Whirlpool byla odstraněna.
  • Byly odstraněny funkce HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust().
  • Byly odebrány typy PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD a SSL_AEAD_CTX.
  • Do libssl byly přidány funkce SSL_CTX_set1_cert_store() a SSL_CIPHER_get_handshake_digest().

Byla uvolněna verze kryptografické knihovny Botan 3.6.0, používané v projektu NeoPG, forku GnuPG 2. Knihovna poskytuje velkou sbírku hotových primitiv používaných v protokolu TLS, certifikátech X.509, šifrách AEAD, modulech TPM, PKCS#11, hashování hesel a postkvantové kryptografii (podpisy na základě hash a dohodnutí klíčů na základě McEliece). Knihovna je napsána v jazyce C++ a je dodávána pod licencí BSD. V nové verzi:

  • Byla integrovaná nová knihovna s kryptografickými algoritmy na bázi eliptických křivek, jejíž operace na základě typových křivek probíhají 2-3krát rychleji. Také byl navržen nový API pro nízkoúrovňovou práci s eliptickými křivkami.
  • Byla přidána podpora nedávno standardizovaných v NIST algoritmů postkvantového šifrování: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) a FIPS 205 SLH-DSA (SPHINCS+).
  • Byla přidána podpora čipů TPM2.
  • Bylo rozšířeno použití výpočtů s konstantním časem provádění operací pro ochranu před útoky pomocí bočních kanálů.
  • Byla přidána generace dodatečné entropie pomocí knihovny jitterentropy.
  • Byla zvýšena výkonnost zpracování dat v hexadecimálním formátu a kódování base64.
  • Byla přidána podpora procesorových rozšíření AVX2-VAES a GFNI-AVX2.
  • Bylo přidáno určení schopností CPU armv7, aarch64 a ppc64 na platformě OpenBSD.
  • Byla přidána konfigurační volba pro vypnutí všech inline assemblerových vložek.

Byla uvolněna verze projektu Rustls 0.23.15, vyvíjející klientskou a serverovou implementaci protokolů TLS1.2 a TLS1.3 pro projekty v jazyce Rust. Rustls neposkytuje vlastní implementaci kryptografických primitiv, ale používá připojitelné poskytovatele kryptografických funkcí (podporované algoritmy ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM a AES256-GCM). Ve výchozím nastavení používá Rustls kryptoprovodce na základě knihovny aws-lc-rs, která je vyvíjena společností Amazon a vychází z C++ kódu AWS-LC, odvozeného od projektu BoringSSL (udržovaného Googlem, fork OpenSSL). Jako kryptoprovodce může být také použita knihovna ring, která je částečně založena na BoringSSL a kombinuje kód v assembleru, C++ a Rust.

Nová verze vyniká významnými optimalizacemi výkonu. Tvrdí se, že při používání kryptoprimitivů knihovna aws-lc-rs nyní překonává knihovny OpenSSL a BoringSSL v testech měřících propustnost a rychlost dojednání/obnovení spojení. Vydání kryptografických knihoven OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 a Rustls 0.23.15 Vydání kryptografických knihoven OpenSSL 3.4, LibreSSL 4.0, Botan 3.6 a Rustls 0.23.15

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster