Udviklerne af OpenBSD-projektet har præsenteret en ny bærbar version af LibreSSL 3.9.0, som er en fork af OpenSSL, der sigter mod at sikre et højere sikkerhedsniveau. Projektet LibreSSL fokuserer på kvalitetsstøtte til SSL/TLS-protokoller ved at fjerne overflødig funktionalitet, tilføje yderligere beskyttelsesmidler og udføre betydelig oprydning og omarbejdning af kodebasen. Udgivelsen af LibreSSL 3.9.0 betragtes som eksperimentel, hvor funktioner, der vil indgå i OpenBSD 7.5, udvikles. Samtidig er der dannet en stabil udgave af LibreSSL 3.8.3, som retter flere specifikke Windows-fejl og styrker understøttelsen af CET (Control-flow Enforcement Technology).
Funktioner i LibreSSL 3.9.0:
- Understøttelse af ECDSA-baserede digitale signaturalgoritmer med SHA-3 hashes er tilføjet.
- Understøttelse af HMAC med forkortede SHA-2- og SHA-3-hashes som PBE PRF er tilføjet.
- Ændringer er foretaget for at forbedre portabiliteten på andre platforme. For at undgå problemer ved statisk linking er størstedelen af de eksportere symboler i LibreSSL, der anvendes til at sikre kompatibilitet, udstyret med præfikset «libressl_». I byggerier baseret på CMake er eksport af compat-symboler fra libcrypto stoppet.
- Ændringer er foretaget for at forbedre kompatibiliteten med OpenSSL. For eksempel er der tilføjet aliaser ChaCha20 og chacha20 for ChaCha-algoritmen, og funktionerne SSL_library_init() og OPENSSL_init_ssl() er harmoniseret, så de opfører sig som i OpenSSL; kald til EVP_{CIPHER,MD}_CTX_init() er også blevet ensartet.
- Der er tilføjet understøttelse af flagene «-new -force_pubkey», «-multivalue-rdn», «-set_issuer», «-set_subject» og «-utf8» til værktøjet openssl.
- Der er sket et skifte fra at bruge kaldet OBJ_bsearch_() til den standardfunktion bsearch().
- Implementeringen af funktionen by_file_ctrl(), EVP_Cipher{Init,Update,Final}() og API OBJ_* er forenklet.
- Der er foretaget en betydelig reorganisering af API EVP. Funktionen EVP_add_{cipher,digest}() er fjernet.
- Behandlingen af X509_TRUST er forenklet.
- Funktionerne BIO_dump*() er blevet omskrevet.
- Understøttelse af globale tabeller, der ikke er tilpasset til flertrådet brug, er stoppet. Dette betyder, at tildeling af aliaser til krypteringsmetoder og hashes, tilføjelse af brugerdefinerede strenge, metoder ASN.1, PKEY og CRL nu ikke understøttes.
- Funktionerne BIO_set(), BIO_{sn,v,vsn}printf(), sk_find_ex() og OBJ_bsearch_() er blevet fjernet, sammen med mange forældede CRYPTO API-funktioner.
- Offentlig adgang til API X509_CERT_AUX og X509_TRUST er stoppet.
- Understøttelse af GOST- og STREEBOG-algoritmer er stoppet.
- Understøttelsen af CET (Control-flow Enforcement Technology) er udvidet, anvendt til at beskytte mod udførelse af exploits bygget med metoder til retur-orienteret programmering (ROP, Return-Oriented Programming).
Kilde: opennet.ru
