OpenSSL 3.0.0 include una serie di importanti modifiche e miglioramenti

Dopo tre anni di sviluppo e 19 versioni di prova è stato recentemente annunciato il rilascio della nuova versione di OpenSSL 3.0.0 che ha più di 7500 modifiche contributo di 350 sviluppatori e che rappresenta anche un cambiamento significativo nel numero di versione e ciò è dovuto al passaggio alla numerazione tradizionale.

D'ora in poi, la prima cifra (Major) nel numero di versione cambierà solo quando viene violata la compatibilità a livello API/ABI, e la seconda (Minor) quando la funzionalità viene aumentata senza modificare l'API/ABI. Gli aggiornamenti correttivi verranno forniti con una modifica della terza cifra (patch). Il numero 3.0.0 è stato scelto subito dopo 1.1.1 per evitare collisioni con il modulo FIPS in sviluppo per OpenSSL, che era numerato 2.x.

Il secondo grande cambiamento per il progetto è stato il passaggio da una doppia licenza (OpenSSL e SSLeay) a una licenza Apache 2.0. La licenza OpenSSL nativa utilizzata in precedenza era basata sulla licenza legacy Apache 1.0 e richiedeva una menzione esplicita di OpenSSL nei materiali promozionali quando si utilizzavano le librerie OpenSSL e una nota speciale se OpenSSL era fornito con il prodotto.

Questi requisiti hanno reso la precedente licenza incompatibile con la GPL, rendendo difficile l'uso di OpenSSL nei progetti con licenza GPL. Per aggirare questa incompatibilità, i progetti GPL sono stati costretti a far rispettare accordi di licenza specifici, in cui il testo principale della GPL è stato integrato con una clausola che consente esplicitamente all'applicazione di collegarsi alla libreria OpenSSL e menzionando che la GPL non si applica al legame a OpenSSL .

Novità di OpenSSL 3.0.0

Per la parte delle novità che vengono presentate in OpenSSL 3.0.0 possiamo trovare che è stato proposto un nuovo modulo FIPS, che include l'implementazione di algoritmi crittografici che soddisfano lo standard di sicurezza FIPS 140-2 (il processo di certificazione del modulo dovrebbe iniziare questo mese e la certificazione FIPS 140-2 è prevista per il prossimo anno). Il nuovo modulo è molto più facile da usare e la connessione a molte applicazioni non sarà più difficile che cambiare il file di configurazione. Per impostazione predefinita, FIPS è disabilitato e richiede l'abilitazione dell'opzione enable-fips.

In libcrypto è stato implementato il concetto di fornitori di servizi connessi che ha sostituito il concetto di motori (l'API ENGINE è stata deprecata). Con l'aiuto dei fornitori, puoi aggiungere le tue implementazioni di algoritmi per operazioni come crittografia, decrittografia, generazione di chiavi, calcolo MAC, creazione e verifica di firme digitali.

Si evidenzia inoltre che aggiunto supporto per CMP, che Può essere utilizzato per richiedere certificati dal server CA, rinnovare certificati e revocare certificati. Il lavoro con CMP è svolto dalla nuova utility openssl-cmp, che implementa anche il supporto per il formato CRMF e la trasmissione di richieste su HTTP/HTTPS.

Anche È stata proposta una nuova interfaccia di programmazione per la generazione delle chiavi: EVP_KDF (Key Derivation Function API), che semplifica l'incorporazione di nuove implementazioni KDF e PRF. La vecchia API EVP_PKEY, attraverso la quale erano disponibili gli algoritmi scrypt, TLS1 PRF e HKDF, è stata ridisegnata come livello intermedio implementato sulle API EVP_KDF e EVP_MAC.

E nell'attuazione del protocollo TLS offre la possibilità di utilizzare il client e il server TLS integrati nel kernel Linux per velocizzare le operazioni. Per abilitare l'implementazione TLS fornita dal kernel Linux, è necessario abilitare l'opzione "SSL_OP_ENABLE_KTLS" o l'impostazione "enable-ktls".

D'altra parte si è detto che una parte significativa dell'API è stata spostata nella categoria deprecata- L'utilizzo di chiamate deprecate nel codice del progetto genererà un avviso durante la compilazione. Il API di basso livello legato a determinati algoritmi sono stati dichiarati ufficialmente obsoleti.

Il supporto ufficiale in OpenSSL 3.0.0 è ora fornito solo per API EVP di alto livello, tratte da alcuni tipi di algoritmi (questa API include, ad esempio, le funzioni EVP_EncryptInit_ex, EVP_EncryptUpdate e EVP_EncryptFinal). Le API obsolete verranno rimosse in una delle prossime versioni principali. Le implementazioni di algoritmi legacy, come MD2 e DES, disponibili tramite l'API EVP, sono state spostate in un modulo "legacy" separato, disabilitato per impostazione predefinita.

Infine se sei interessato a saperne di più, puoi controllare i dettagli nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.