Vývojáři projektu OpenBSD představili vydání přenosné edice balíku LibreSSL 3.9.0, v rámci kterého se rozvíjí fork OpenSSL zaměřený na zajištění vyšší úrovně bezpečnosti. Projekt LibreSSL se orientuje na kvalitní podporu protokolů SSL/TLS s odstraněním nadbytečné funkčnosti, přidáním dalších bezpečnostních opatření a provedením výrazného úklidu a přepracování kódové základny. Vydání LibreSSL 3.9.0 je považováno za experimentální, ve kterém se rozvíjejí funkce, které se stanou součástí OpenBSD 7.5. Současně byl vytvořen stabilní vydání LibreSSL 3.8.3, které opravilo několik specifických chyb pro Windows a posílilo podporu mechanismu ochrany CET (Control-flow Enforcement Technology).
Vlastnosti LibreSSL 3.9.0:
- Byla přidána podpora algoritmů digitálního podpisu založených na ECDSA s hashovacími funkcemi SHA-3.
- Byla přidána podpora HMAC s zkrácenými hashe SHA-2 a SHA-3 jako PBE PRF.
- Byly provedeny změny pro zlepšení přenositelnosti na jiné platformy. Aby se předešlo problémům při statickém linkování, většina používaných symbolů zajišťujících kompatibilitu exportovaných v LibreSSL je opatřena prefixem „libressl_“. V sestaveních založených na CMake byl zastaven export compat-symbolů libcrypto.
- Byly provedeny změny zaměřené na zlepšení kompatibility s OpenSSL. Například byly přidány aliasy ChaCha20 a chacha20 pro algoritmus ChaCha, sjednocena práce funkcí SSL_library_init() a OPENSSL_init_ssl(), byly přizpůsobeny chování OpenSSL volání EVP_{CIPHER,MD}_CTX_init().
- Do utilitky openssl byla přidána podpora příznaků „-new -force_pubkey“, „-multivalue-rdn“, „-set_issuer“, „-set_subject“ a „-utf8“.
- Byl proveden přechod z použití volání OBJ_bsearch_() na standardní funkci bsearch().
- Byla zjednodušena implementace funkce by_file_ctrl(), EVP_Cipher{Init,Update,Final}() a API OBJ_*.
- Byla provedena velká reorganizace API EVP. Byly odstraněny funkce EVP_add_{cipher,digest}().
- Byla zjednodušena obsluha X509_TRUST.
- Funkce BIO_dump*() byly přepsány.
- Byla ukončena podpora globálních tabulek, které nejsou přizpůsobeny pro vícestandardní použití. V důsledku toho již není podporováno přiřazení aliasů šifrovacím a hashovacím funkcím, přidání vlastních řetězců, metod ASN.1, PKEY a CRL.
- Byly odstraněny funkce BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() a OBJ_bsearch_(), stejně jako množství zastaralých funkcí API CRYPTO.
- Byl ukončen veřejný přístup k API X509_CERT_AUX a X509_TRUST.
- Podpora algoritmů GOST a STREEBOG byla ukončena.
- Rozšířena podpora mechanismu CET (Control-flow Enforcement Technology), který se používá k ochraně před exploity založenými na technikách návratového orientovaného programování (ROP, Return-Oriented Programming).
Zdroj: opennet.ru
