Razvijalci projekta OpenBSD so predstavili prenosno različico paketa LibreSSL 3.9.0, v okviru katerega se razvija fork OpenSSL, usmerjen k zagotavljanju višje ravni varnosti. Projekt LibreSSL je osredotočen na kakovostno podporo protokolov SSL/TLS z odstranitvijo odvečne funkcionalnosti, dodajanjem dodatnih zaščitnih sredstev in izvedbo obsežnega čiščenja ter predelave programske kode. Izdaja LibreSSL 3.9.0 se obravnava kot eksperimentalna, v kateri se razvijajo možnosti, ki bodo vključene v OpenBSD 7.5. Hkrati je bila oblikovana stabilna izdaja LibreSSL 3.8.3, v kateri so bile odpravljene nekatere specifične napake za Windows in okrepljena podpora mehanizmu zaščite CET (Control-flow Enforcement Technology).
Značilnosti LibreSSL 3.9.0:
- Dodana podpora za algoritme digitalnega podpisa na osnovi ECDSA z hash funkcijami SHA-3.
- Dodana podpora HMAC z obrezanimi hash funkcijami SHA-2 in SHA-3 kot PBE PRF.
- Izvršene so bile spremembe za izboljšanje prenosljivosti na druge platforme. Da bi se izognili težavam pri statičnem povezovanju, je večina eksportiranih simbolov LibreSSL, uporabljenih za zagotavljanje združljivosti, označena s predpono „libressl_“. V gradnjah na osnovi CMake je prenehan izvoz compat-simbolov libcrypto.
- Izvršene so bile spremembe, namenjene izboljšanju združljivosti z OpenSSL. Na primer, dodana sta bila psevdonima ChaCha20 in chacha20 za algoritem ChaCha, poenoteno delovanje funkcij SSL_library_init() in OPENSSL_init_ssl(), ter k vedenju OpenSSL prilagojeni klici EVP_{CIPHER,MD}_CTX_init().
- V orodje openssl dodana podpora za zastavice „-new -force_pubkey“, „-multivalue-rdn“, „-set_issuer“, „-set_subject“ in „-utf8“.
- Izvršen je prehod z uporabe klica OBJ_bsearch_() na standardno funkcijo bsearch().
- Poenostavljena je bila izvedba funkcij by_file_ctrl(), EVP_Cipher{Init,Update,Final}() in API OBJ_*.
- Izvedena je bila velika reorganizacija API EVP. Odstranjene so bile funkcije EVP_add_{cipher,digest}().
- Poenostavljena je bila obravnava X509_TRUST.
- Prepisane so bile funkcije BIO_dump*().
- Prenehana je podpora za globalne tabele, ki niso bile prilagojene za večnitno uporabo. Zaradi tega zdaj ni podprto dodeljevanje psevdonimov šifram in hash funkcijam, dodajanje lastnih nizov, metod ASN.1, PKEY in CRL.
- Odstranjene so bile funkcije BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() in OBJ_bsearch_(), pa tudi številne zastarele funkcije API CRYPTO.
- Prekinjen je javni dostop do API X509_CERT_AUX in X509_TRUST.
- Prenehana je podpora za algoritme GOST in STREEBOG.
- Razširjena podpora za mehanizem CET (Control-flow Enforcement Technology), ki se uporablja za zaščito pred izkoriščanjem ranljivosti, ki temeljijo na tehnikah programiranja z vrnitevjo (ROP, Return-Oriented Programming).
Izvor: opennet.ru
