Biblioteca OpenSSL 3.5.0 a fost lansată, implementând protocoalele SSL/TLS și diverși algoritmi de criptare. OpenSSL 3.5 este o versiune cu suport pe termen lung (LTS), actualizările fiind lansate timp de 5 ani (până în aprilie 2030). Suportul pentru ramurile anterioare OpenSSL 3.3, 3.2 și 3.0 LTS va continua până în aprilie 2026, noiembrie 2025 și, respectiv, septembrie 2026. Codul proiectului este distribuit sub licența Apache 2.0.
Principalele inovații:
- S-a adăugat suport pentru algoritmi criptografici cuantici rezistenți la computer:
- ML-KEM (CRYSTALS-Kyber) este un algoritm de schimb de chei care folosește metode criptografice bazate pe rezolvarea problemelor de teorie a rețelei, al căror timp de rezolvare nu diferă la calculatoarele convenționale și cele cuantice.
- ML-DSA (CRYSTALS-Dilithium) este un algoritm de generare a semnăturilor digitale bazat pe teoria rețelelor.
- SLH-DSA (Sphincs+) este un algoritm pentru generarea de semnături digitale care utilizează metode criptografice bazate pe funcții hash. SLH-DSA este în urma ML-DSA în ceea ce privește dimensiunea și viteza semnăturii, dar se bazează pe principii matematice complet diferite, adică va rămâne eficient în cazul compromiterii algoritmilor teoretici ai rețelei.
- A fost implementat suport complet pentru protocolul QUIC (RFC 9000), care este acum disponibil nu numai pentru aplicațiile client, ci și pentru cele de server. QUIC este un strat deasupra UDP care acceptă multiplexarea conexiunilor multiple și oferă metode de criptare echivalente cu TLS. Protocolul QUIC este utilizat în HTTP/3 și a fost creat ca o alternativă la combinația TCP+TLS, care rezolvă problemele legate de timpul lung necesar pentru stabilirea și negocierea conexiunilor în TCP, precum și eliminarea întârzierilor în pierderea pachetelor în timpul transmiterii datelor.
- A fost adăugată posibilitatea de a utiliza stive terțe odată cu implementarea protocolului QUIC, inclusiv stive care acceptă modul 0-RTT (0 Round Trip Time), ceea ce vă permite să începeți imediat transmiterea datelor după trimiterea unui pachet de configurare a conexiunii.
- S-a adăugat suport pentru obiectele cheie simetrică opace (EVP_SKEY), care ascund detaliile de implementare ale cheii.
- S-a adăugat opțiunea „no-tls-deprecated-ec” pentru a dezactiva suportul pentru grupurile TLS depreciate de RFC-8422.
- A fost adăugat parametrul „enable-fips-jitter” pentru a permite furnizorului FIPS să utilizeze o sursă de entropie bazată pe jitter implementată folosind biblioteca jitterentropy. Entropia bazată pe jitter este generată prin măsurarea diferențelor în timpul necesar pentru reexecutarea unui set dat de instrucțiuni pe un procesor, care depinde de mulți factori interni și este imprevizibilă fără control fizic asupra procesorului.
- CMP (Certificate Management Protocol) acceptă acum generarea centralizată de chei (cheile publice și private pentru client sunt generate pe partea de server). Server).
- S-a adăugat suport pentru furnizarea mai multor partajări de chei pentru o singură conexiune TLS.
- S-a adăugat un API pentru pipelining, permițând procesarea simultană a mai multor blocuri de date atunci când se folosesc anumite cifruri, cum ar fi AES-GCM, care acceptă calculul paralel.
- În aplicațiile req, cms și smime, algoritmul de criptare implicit a fost modificat de la des-ede3-cbc la aes-256-cbc.
- Lista implicită de cifruri pentru TLS include și prioritizează grupurile hibride KEM (Key Encapsulation Mechanism) care sunt rezistente la forța brută pe un computer cuantic.
- Algoritmii X25519MLKEM768 și X25519 au fost adăugați la setul de chei (partajări de chei) utilizate implicit în TLS.
- Funcțiile BIO_meth_get_*() au fost depreciate.
Sursa: opennet.ru
