OpenSSL 3.3 porta il supporto esteso a QUIC e capacità avanzate dell'API
OpenSSL 3.3 debutta con funzionalità QUIC avanzate, funzioni API migliorate, nuove opzioni crittografiche e altro ancora.
La nuovissima versione 3.3 di OpenSSL, appena rilasciata, di questa fondamentale libreria per le comunicazioni sicure introduce molte funzionalità, ottimizzazioni e miglioramenti per aumentare la funzionalità, la sicurezza e l'efficienza di OpenSSL. Quindi, diamo un'occhiata a queste novità.
Novità in OpenSSL 3.3?
- Supporto migliorato del protocollo QUIC: OpenSSL 3.3 supporta QUIC, un moderno protocollo di rete del livello di trasporto. Le aggiunte principali includono il supporto a qlog per il tracciamento delle connessioni QUIC, API per la gestione dei timeout di inattività delle connessioni QUIC, la creazione di stream e la disattivazione dell'elaborazione implicita degli eventi QUIC.
- Gestione dei flussi e connettività migliorate: L'introduzione dell'API
SSL_write_ex2consente una segnalazione ottimizzata di fine flusso all'interno di QUIC, completando la nuova capacità di interrogare le dimensioni e l'utilizzo dei buffer dei flussi QUIC. Questa versione permette anche un polling limitato degli oggetti di connessione e dei flussi QUIC in modalità non bloccante, migliorando ulteriormente la reattività dell'applicazione. - Miglioramenti della crittografia: OpenSSL 3.3 amplia le sue capacità crittografiche con diverse funzionalità importanti. La nuova API EVP_DigestSqueeze() consente dimensioni di output variabili per gli algoritmi di digest SHAKE. Inoltre, l'algoritmo di hashing BLAKE2s supporta ora lunghezze di output configurabili, rispecchiando la flessibilità di BLAKE2b. Inoltre, EVP_PKEY_fromdata migliora le funzionalità di derivazione delle chiavi, incluso il supporto per i parametri del teorema dei resti cinesi.
- Miglioramenti nella Build e nella Configurazione: Questa versione introduce un esportatore per CMake sia su Unix che su Windows, facilitando l'integrazione e la distribuzione. Aggiunge inoltre un nuovo interruttore di configurazione atexit per gestire OPENSSL_cleanup alla disattivazione della libreria, insieme a miglioramenti nell'attivazione dei provider e nelle impostazioni di caricamento.
- Ottimizzazioni di Sicurezza e Protocollo: OpenSSL 3.3 include una serie di ottimizzazioni mirate a diverse piattaforme, tra cui Microsoft Azure Cobalt 100, ARM Neoverse, Apple Silicon M3 e architetture RISC-V. Queste ottimizzazioni garantiscono che OpenSSL rimanga all'avanguardia in termini di prestazioni e sicurezza su diversi ambienti hardware.
- Rifiniture di API e funzionalità: Tra le numerose migliorie, questa versione offre nuove API per la gestione del tempo di sessione, l'ignoranza delle voci sconosciute nelle configurazioni degli algoritmi di firma TLS e una gestione più efficace dei certificati X509 in scenari multi-thread. Inoltre, introduce un limite sugli header delle risposte HTTP per migliorare la sicurezza del client.
Affrontare la compatibilità e la sicurezza
OpenSSL 3.3 affronta anche potenziali problemi di compatibilità e preoccupazioni per la sicurezza. Introduce controlli per le lunghezze minime delle stringhe di input secondo gli standard ITU-T, modifica la gestione delle impostazioni di configurazione e fissa nuovi limiti per le intestazioni dei client HTTP. Inoltre, migra la funzione hash predefinita da MD5 a SHA256 per le operazioni HMAC.
Correzione dei bug e oltre
Questa versione risolve bug specifici, come la limitazione del limite massimo della funzione BIO_get_new_index(), garantendo che OpenSSL rimanga affidabile e robusto. Per gli sviluppatori e gli utenti interessati a sfruttare le nuove funzionalità di QUIC, il team di OpenSSL consiglia di consultare il file README di QUIC, che offre documentazione preziosa e codice di esempio.
L'elenco dettagliato di tutte le modifiche in OpenSSL 3.3 può essere trovato nel changelog del progetto.
