OpenSSL 3.0 arriva con il nuovo modulo FIPS, cambio di licenza e altro

Diversi giorni fa Matteo Caswell, membro del team di sviluppo del progetto OpenSSL, ha annunciato il rilascio di OpenSSL 3.0 che arriva dopo 3 anni di sviluppo, 17 versioni alfa, 2 versioni beta, più di 7500 conferme e contributi di più di 350 autori diversi.

Ed è che OpenSSL Ho avuto la fortuna di avere diversi ingegneri a tempo pieno che ha lavorato su OpenSSL 3.0, finanziato in vari modi. Alcune aziende hanno firmato contratti di supporto con il team di sviluppo di OpenSSL, che ha sponsorizzato funzioni specifiche come il modulo FIPS che aveva in programma di ripristinarne la convalida con OpenSSL 3.0, tuttavia hanno riscontrato ritardi significativi e, come i test FIPS 140-2 terminati a settembre 2021, OpenSSL ha finalmente deciso di concentrare i propri sforzi anche sugli standard FIPS 140-3.

Una caratteristica fondamentale di OpenSSL 3.0 è il nuovo modulo FIPS. Il team di sviluppo di OpenSSL sta testando il modulo e raccogliendo i documenti necessari per la convalida FIPS 140-2. L'utilizzo del nuovo modulo FIPS nei progetti di sviluppo di applicazioni può essere semplice come apportare alcune modifiche al file di configurazione, sebbene molte applicazioni debbano apportare altre modifiche. La pagina man del modulo FIPS fornisce informazioni su come utilizzare il modulo FIPS nelle applicazioni.

Va inoltre notato che da OpenSSL 3.0, OpenSSL è passato alla licenza di Apache 2.0. Le vecchie licenze "doppie" per OpenSSL e SSLeay si applicano ancora alle versioni precedenti (1.1.1 e precedenti). OpenSSL 3.0 è una versione principale e non è completamente compatibile con la versione precedente. La maggior parte delle applicazioni che hanno funzionato con OpenSSL 1.1.1 continueranno a funzionare invariate e dovranno semplicemente essere ricompilate (possibilmente con molti avvisi di compilazione sull'utilizzo di API obsolete).

Con OpenSSL 3.0 è possibile specificare, a livello di codice o tramite un file di configurazione, quali provider l'utente desidera utilizzare per una determinata applicazione. OpenSSL 3.0 viene fornito di serie con 5 diversi provider. Nel tempo, terze parti possono distribuire provider aggiuntivi che possono essere integrati con OpenSSL. Tutte le implementazioni di algoritmi disponibili presso i fornitori sono accessibili tramite API "di alto livello" (ad esempio, funzioni con prefisso EVP). Non è possibile accedervi utilizzando API di "basso livello".

Uno dei provider standard disponibili è il provider FIPS che fornisce algoritmi crittografici convalidati FIPS. Il provider FIPS è disabilitato per impostazione predefinita e deve essere abilitato esplicitamente durante la configurazione utilizzando l'opzione enable-fips. Se abilitato, il provider FIPS viene creato e installato in aggiunta ad altri provider standard.

L'utilizzo del nuovo modulo FIPS nelle applicazioni può essere semplice quanto apportare alcune modifiche al file di configurazione, sebbene molte applicazioni debbano apportare altre modifiche. Le applicazioni scritte per utilizzare il modulo FIPS OpenSSL 3.0 non devono utilizzare alcuna API o funzionalità legacy che ignorino il modulo FIPS. Ciò include in particolare:

  • API crittografiche di basso livello (si consiglia di utilizzare API di alto livello, come EVP);
    motori
  • tutte le funzioni che creano o modificano metodi personalizzati (ad esempio, EVP_MD_meth_new (), EVP_CIPHER_meth_new (), EVP_PKEY_meth_new (), RSA_meth_new (), EC_KEY_METHOD_new ()).

Inoltre la libreria crittografica OpenSSL (libcrypto) implementa un'ampia gamma di algoritmi crittografici utilizzati in vari standard Internet. Le funzionalità includono la crittografia simmetrica, la crittografia a chiave pubblica, l'accordo sulle chiavi, la gestione dei certificati, le funzioni di hashing crittografico, i generatori di numeri pseudo-casuali crittografici, i codici di autenticazione dei messaggi (MAC), le funzioni di derivazione delle chiavi (KDF) e varie utilità. I servizi forniti da questa libreria vengono utilizzati per implementare molti altri prodotti e protocolli di terze parti. Ecco una panoramica dei concetti chiave di libcrypto di seguito.

Le primitive crittografiche come l'hash SHA256 o la crittografia AES sono chiamate "algoritmi" in OpenSSL. Ogni algoritmo può avere più implementazioni disponibili. Ad esempio, l'algoritmo RSA è disponibile come implementazione "predefinita" adatta per l'uso generale e come implementazione "fips" che è stata convalidata rispetto agli standard FIPS per situazioni in cui è importante. È anche possibile che una terza parte aggiunga ulteriori implementazioni, ad esempio in un modulo di sicurezza hardware (HSM).

Infine se ti interessa sapere di più a riguardo, 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 del trattamento: AB Internet Networks 2008 SL
  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.