Gli sviluppatori della libreria hanno recentemente rilasciato OpenSSL 3.5, l’ultima versione disponibile a oltre cinque mesi dalla precedente 3.4, che introduce miglioramenti significativi i quali potenziano sicurezza e funzionalità.
OpenSSL 3.5: diverse migliorie alla crittografia e diverse altre novità
Uno dei cambiamenti più importanti di OpenSSL 3.5 è il cambio del cifrario predefinito per le applicazioni req, cms e smime, che passa da des-ede3-cbc a aes-256-cbc, un’opzione più robusta e moderna, in grado di garantire standard di protezione elevati. Viene poi aggiornata la lista dei gruppi TLS supportati, ora orientata a privilegiare gruppi KEM ibridi di crittografia post-quantistica (PQC), eliminando opzioni meno comuni.
Le keyshares TLS predefinite includono adesso X25519MLKEM768 e X25519, rafforzando le possibilità di instaurazione delle chiavi e preparando il terreno per resistere a futuri attacchi quantistici. Parallelamente, sono state deprecate le funzioni BIO_meth_get_(), spingendo gli sviluppatori a modernizzare il codice legato al livello BIO, nonostante ciò possa richiedere adattamenti. Chi fa molto uso di TLS, OpenSSL 3.5 offre a tal proposito supporto per keyshares multiple e una configurabilità avanzata dei gruppi di chiavi, garantendo flessibilità nei sistemi crittografici.
Una grande novità è poi il supporto lato server per QUIC (RFC 9000), compatibile con stack di terze parti e con 0-RTT per handshake più rapidi. La versione integra anche algoritmi PQC come ML-KEM, ML-DSA e SLH-DSA, consolidando la prontezza post-quantistica. Nuove opzioni di configurazione, come no-tls-deprecated-ec per disabilitare gruppi obsoleti e enable-fips-jitter per fonti di seed JITTER nel provider FIPS, arricchiscono inoltre il controllo disponibile.
La generazione centralizzata di chiavi in CMP e gli oggetti EVP_SKEY semplificano la gestione crittografica per i deployment complessi, mentre il supporto API per il pipelining nei cifrari ottimizza maggiormente le prestazioni. Un problema noto riguarda SSL_accept, che genera errori imprevisti con SSL_accept_connection; in questo caso, gli sviluppatori possono usare SSL_do_handshake come soluzione alternativa, in attesa di una soluzione che arriverà con OpenSSL 3.5.1. Per tutti i dettagli è possibile visionare la lista cambiamenti ufficiale.