Zhvilluesit e projektit OpenBSD prezantuan versionin e portueshëm të paketës LibreSSL 3.9.0, në kuadër të cilit zhvillohet fork-i OpenSSL, me qëllim ofrimin e një niveli më të lartë sigurie. Projekti LibreSSL fokusohet në mbështetje të cilësisë për protokollet SSL/TLS duke eliminuar funksionalitetin e tepërt, duke shtuar mjete të reja mbrojtjeje dhe duke bërë një pastrim të konsiderueshëm dhe riorganizim të kodit. Çlirimi i LibreSSL 3.9.0 konsiderohet si eksperimental, në të cilin zhvillohen mundësitë që do të përfshihen në OpenBSD 7.5. Në të njëjtën kohë, është formuar një version stabil i LibreSSL 3.8.3, në të cilin janë rregulluar disa gabime specifike për Windows dhe është forcuar mbështetja për mekanizmin CET (Control-flow Enforcement Technology).
Karakteristikat e LibreSSL 3.9.0:
- Është shtuar mbështetje për algoritmet e nënshkrimit digjital të bazuar në ECDSA me hash SHA-3.
- Është shtuar mbështetje HMAC me hash të prera SHA-2 dhe SHA-3 si PBE PRF.
- Janë bërë ndryshime për të përmirësuar portueshmërinë në platformat e tjera. Për të shmangur probleme gjatë lidhjes statike, shumica e simboleve të eksportuara për të siguruar përputhshmërinë e LibreSSL janë pajisur me prefiksin "libressl_". Në ndërtimet e bazuara në CMake është ndaluar eksporti i simboleve compat të libcrypto.
- Janë bërë ndryshime që synojnë përmirësimin e përputhshmërisë me OpenSSL. Për shembull, janë shtuar emrat e pseudonimeve për ChaCha20 dhe chacha20 për algoritmin ChaCha, janë unifikuar funksionet SSL_library_init() dhe OPENSSL_init_ssl(), dhe thirrjet EVP_{CIPHER,MD}_CTX_init() janë sjellë në sjelljen e OpenSSL.
- Utileta openssl ka marrë mbështetje për flamujt "-new -force_pubkey", "-multivalue-rdn", "-set_issuer", "-set_subject" dhe "-utf8".
- Ka kaluar nga përdorimi i thirrjes OBJ_bsearch_() në funksionin standard bsearch().
- Është thjeshtuar implementimi i funksionit by_file_ctrl(), EVP_Cipher{Init,Update,Final}() dhe API OBJ_*.
- Është bërë një reorganizim i madh i API EVP. Janë hequr funksionet EVP_add_{cipher,digest}().
- Është thjeshtuar trajtimi i X509_TRUST.
- Janë rishkruar funksionet BIO_dump*().
- Ka ndaluar mbështetjen e tabelave globale, të cilat nuk janë të përshtatshme për përdorim në shumë drejtime. Si rezultat, tani nuk mbështetet emërimi i pseudonimeve për algoritmet dhe hash-ët, shkrimi i vargjeve të përdoruesve, metoda ASN.1, PKEY dhe CRL.
- Janë hequr funksionet BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() dhe OBJ_bsearch_(), si dhe një sërë funksionesh të vjetruara API CRYPTO.
- Ka ndaluar aksesin publik në API X509_CERT_AUX dhe X509_TRUST.
- Ka ndaluar mbështetje për algoritmet GOST dhe STREEBOG.
- Është zgjeruar mbështetja për mekanizmin CET (Control-flow Enforcement Technology), i përdorur për të mbrojtur nga ekzekutimi i exploit-eve të ndërtuara me teknikat e programimit të orientuar në kthim (ROP, Return-Oriented Programming).
Burimi: opennet.ru
