Bol niekoľko nových verzií kryptografických knižníc:
Uvoľnenie knižnice OpenSSL 3.4.0 s implementáciou protokolov SSL/TLS a rôznych šifrovacích algoritmov. Podpora OpenSSL 3.4 bude poskytovaná do októbra 2025. Podpora predchádzajúcich verzií OpenSSL 3.3, 3.2, 3.1 a 3.0 LTS potrvá do apríla 2026, novembra 2025, marca 2025 a septembra 2026. Kód projektu je distribuovaný pod licenciou Apache 2.0. Hlavné novinky:
- Pridaná podpora šifrovacieho súboru pre TLSv1.3, obmedzeného funkciami kontroly integrít dát (RFC 9150) a zahŕňajúceho algoritmy TLS_SHA256_SHA256 a TLS_SHA384_SHA384.
- Pridaná voliteľná možnosť použitia ďalšieho zdroja entropie na základe jitteru v generátore pseudonáhodných čísel, realizovaného pomocou knižnice jitterentropy. Tvorba entropie sa vykonáva meraním rozdielov v čase opakovaného vykonávania určitej sady inštrukcií na CPU, závislej od množstva vnútorných faktorov a nepředvídateľnej bez fyzickej kontroly nad CPU.
- Pridaná počiatočná podpora atribučných certifikátov (AC — Attribute Certificate, RFC 5755), ktoré obsahujú informácie o prístupových právach, oprávneniach a atribútoch držiteľa certifikátu, potvrdzujúcich možnosť vykonávať určité akcie. Napríklad AC-certifikát môže určiť právo pripojenia k určitej službe.
- Pridaná podpora rozšírení X.509v3, súvisiacich s atribučnými certifikátmi.
- V poskytovateľovi FIPS bola implementovaná podpora FIPS 140-3 Indicator API, umožňujúca určiť, či bola daná operácia vykonávaná v schválenej službe alebo nie.
- V API BIO (Basic Input/Output) bola vylepšená správa vstupu v formáte Base64.
- Pridaná podpora zostavy utilitky openssl v móde PIE (Position Independent Executable), umožňujúca používanie randomizácie adresného priestoru (ASLR).
- Pridaná podpora priamo vyťažených kombinovaných algoritmov digitálneho podpisu, ako sú RSA-SHA2-256.
- V PKCS#12 bola pridaná podpora PBMAC 1 (Password-Based Message Authentication Code 1, RFC 9579).
- Do utilitky openssl boli pridané možnosti ‘-not_before’ a ‘-not_after’ na explicitné určenie počiatočného a koncového času platnosti certifikátu.
- Bola pridaná možnosť používať predpočítané hodnoty pri inicializácii kryptografických algoritmov založených na eliptických krivkách P-256.
- Funkcie TS_VERIFY_CTX_set_* boli označené ako zastarané, pričom ich nahradili funkcie TS_VERIFY_CTX_set0_* s vylepšenou sémantikou.
- Funkcie SSL_SESSION_get_time(), SSL_SESSION_set_time() a SSL_CTX_flush_sessions() boli označené ako zastarané, namiesto toho sa majú používať SSL_SESSION_get_time_ex(), SSL_SESSION_set_time_ex() a SSL_CTX_flush_sessions_ex(), ktoré vyriešili problém s rokom 2038.
- Očakávaná podpora protokolu QIUC na strane OpenSSL 3.4 servera bola odložená na ďalšie vydanie.
Vydanie projektu LibreSSL 4.0.0, vychádzajúceho z OpenSSL, zameraného na poskytovanie vyššej úrovne bezpečnosti a kvalitnej podpory protokolov SSL/TLS s odstránením nadbytočnej funkčnosti, pridaním dodatočných ochranných prostriedkov a významným čistením a prepracovaním kódovej základne. Významná zmena čísla verzie súvisí s použitím desiatkovej číslovacej sústavy (po 3.9 nasleduje verzia 4.0). Najvýraznejšie zmeny sú:
- Pridaná počiatočná podpora zostavenia pomocou Emscripten, prekladača z C/C++ do WebAssembly.
- Do tímu 'openssl cms' bola pridaná možnosť CRLfile na určenie dodatočných zoznamov odvolaných certifikátov (CRL), ktoré budú použité pri overovaní.
- Podpora platformy mips32 bola ukončená.
- Přístup k funkciám napísaným v assembleri prostredníctvom verejného API bol ukončený (také funkcie sú teraz poskytované iba prostredníctvom obalových funkcií v jazyku C). Boli odstránené assemblerové implementácie zastaraných šifrov pre zastarané architektúry.
- Bola odstránená kód pre vyrovnávanie platnosti certifikátov, ktoré stratilo význam po optimalizácii výkonu.
- Bola vylepšená implementácia rozšírení X.509v3, unifikované metódy X.509v3 a vykonané čistenie súvisiacich API s X.509v3.
- Implementácia typu CRYPTO_EX_DATA bola úplne prepracovaná.
- Vo libcrypto funkcie atoi() a strtol() boli nahradené funkciou strtonum().
- Bol pridaný hlavičkový súbor crypto_arch.h, do ktorého bol presunutý kód špecifický pre hardvérové architektúry.
- Implementácia algoritmu DES bola prepracovaná a optimalizovaná.
- Boli odstránené hlavičkové súbory pem2.h, ssl2.h, ssl23.h a ui_compat.h.
- Podpora hashovacieho algoritmu Whirlpool bola odstránená.
- Funkcie HMAC_Init(), OPENSSL_load_builtin_modules(), X509_REQ_{get,set}_extension_nids(), X509_check_trust() boli odstránené.
- Typy PEM_USER, PEM_CTX, COMP_CTX, COMP_METHOD, X509_CRL_METHOD, STORE, STORE_METHOD a SSL_AEAD_CTX boli odstránené.
- Funkcie SSL_CTX_set1_cert_store() a SSL_CIPHER_get_handshake_digest() boli pridané do libssl.
Vydanie kryptografickej knižnice Botan 3.6.0, používané v projekte NeoPG, forku GnuPG 2, je dostupné. Knižnica poskytuje rozsiahlu zbierku hotových primitív používaných v protokole TLS, certifikátoch X.509, šifrách AEAD, moduloch TPM, PKCS#11, hashovaní hesiel a postkvantovej kryptografii (podpisovanie na základe hash a dohodovanie kľúčov na báze McEliece). Knižnica je napísaná v jazyku C++ a je dodávaná pod licenciou BSD. V novej verzii:
- Integrovaná nová knižnica s kryptografickými algoritmami založenými na eliptických krivkách, kde sú operácie na báze typových kriviek vykonávané 2-3 krát rýchlejšie. Taktiež bol ponúknutý nový API pre nízkoúrovňovú prácu s eliptickými krivkami.
- Pridaná podpora nedávno štandardizovaných algoritmov postkvantového šifrovania v NIST: FIPS 203 ML-KEM (Kyber), FIPS 204 ML-DSA (Dilithium) a FIPS 205 SLH-DSA (SPHINCS+).
- Pridaná podpora čipov TPM2.
- Rozšírené použitie výpočtov s konštantným časom vykonávania operácií na ochranu pred útokmi po stranách.
- Pridanie generovania dodatočnej entropie pomocou knižnice jitterentropy.
- Zvýšený výkon spracovania údajov v hexadecimálnom formáte a kódovaní base64.
- Pridaná podpora rozšírení procesorov AVX2-VAES a GFNI-AVX2.
- Pridané určovanie schopností CPU armv7, aarch64 a ppc64 na platforme OpenBSD.
- Pridaná možnosť zostavenia na vypnutie všetkých inline assemblerových vložení.
Vydanie projektu Rustls 0.23.15, rozvíjajúceho klientskú a serverovú implementáciu protokolov TLS1.2 a TLS1.3 pre projekty v jazyku Rust. Rustls neposkytuje vlastnú implementáciu kryptografických primitív, ale používa pripojiteľné poskytovatele kryptografických funkcií (podporované algoritmy ECDSA, Ed25519, RSA, ChaCha20-Poly1305, AES128-GCM a AES256-GCM). Predvolene Rustls používa kryptografického poskytovateľa založeného na knižnici aws-lc-rs, ktorú vyvíja spoločnosť Amazon a ktorá sa zakladá na C++ kóde AWS-LC, odvodenej od projektu BoringSSL (udržiavaného Google-om, fork OpenSSL). Ako kryptografický poskytovateľ môže byť použitá aj knižnica ring, čiastočne založená na BoringSSL a kombinujúca kód v assembleri, C++ a Rust.
Nová verzia sa vyznačuje výraznými optimalizáciami výkonu. Hovorí sa, že pri použití kryptoprimitívov knižnica aws-lc-rs v jazyku Rustls teraz predbehne knižnice OpenSSL a BoringSSL v testoch, ktoré merajú priepustnosť a rýchlosť nadväzovania / obnovenia pripojenia.

Zdroj: opennet.ru
