Crittografia trasparente dei dati (TDE) del database Oracle con AWS CloudHSM - AWS CloudHSM

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crittografia trasparente dei dati (TDE) del database Oracle con AWS CloudHSM

Transparent Data Encryption (TDE) viene utilizzato per crittografare i file di database. Utilizzando TDE, il software del database crittografa i dati prima di archiviarli su disco. I dati nelle colonne o negli spazi della tabella del database vengono crittografati con una chiave di tabella o una chiave di spazio di tabella. Alcune versioni del software del database di Oracle offrono TDE. In Oracle TDE, queste chiavi sono crittografate con una chiave di crittografia principale TDE. È possibile ottenere una maggiore sicurezza archiviando la chiave di crittografia principale TDE HSMs nel cluster AWS CloudHSM .

Archiviare la chiave di crittografia principale di Oracle TDE in AWS CloudHSM.

In questa soluzione, si utilizza Oracle Database installato su un'istanza Amazon EC2. Oracle Database si integra con la libreria AWS CloudHSM software per PKCS #11 per memorizzare la chiave master TDE nel HSMs cluster.

Importante
  • Consigliamo di installare Oracle Database su un'istanza Amazon EC2.

Completare la procedura seguente per effettuare l'integrazione di Oracle TDE con AWS CloudHSM.

Passaggio 1. Imposta i prerequisiti

Per realizzare l'integrazione con Oracle TDE con AWS CloudHSM, è necessario quanto segue:

  • Un AWS CloudHSM cluster attivo con almeno un HSM.

  • Un'istanza Amazon EC2 che esegue il sistema operativo Amazon Linux con il seguente software installato:

    • Il AWS CloudHSM client e gli strumenti da riga di comando.

    • La libreria AWS CloudHSM software per PKCS #11.

    • Database Oracle. AWS CloudHSM supporta l'integrazione con Oracle TDE. Client SDK 5.6 e le versioni successive supportano Oracle TDE per Oracle Database 19c. Client SDK 3 supporta Oracle TDE per Oracle Database versione 11g e 12c.

  • Un utente crittografico (CU) che possiede e gestisce la chiave di crittografia principale TDE presente nel HSMs cluster.

Completa la procedura seguente per impostare tutti i prerequisiti.

Per configurare i prerequisiti per l'integrazione di Oracle TDE con AWS CloudHSM
  1. Completa le fasi descritte in Nozioni di base. Dopo aver completato questa fase, avrai un cluster attivo con un HSM. Avrai inoltre un'istanza Amazon EC2 che esegue il sistema operativo Amazon Linux. Verranno inoltre installati e configurati gli strumenti AWS CloudHSM client e da riga di comando.

  2. (Facoltativo) HSMs Aggiungine altri al cluster. Per ulteriori informazioni, consulta Aggiungere un HSM a un cluster AWS CloudHSM.

  3. Connettiti alla tua istanza del client Amazon EC2 ed esegui le operazioni descritte di seguito:

    1. Installa la libreria AWS CloudHSM software per PKCS #11.

    2. Installa Oracle Database. Per ulteriori informazioni, consulta la documentazione relativa a Oracle Database. Client SDK 5.6 e le versioni successive supportano Oracle TDE per Oracle Database 19c. Client SDK 3 supporta Oracle TDE per Oracle Database versione 11g e 12c.

    3. Utilizza lo strumento a riga di comando cloudhsm_mgmt_util per creare un utente di crittografia (CU) sul tuo cluster. Per ulteriori informazioni sulla creazione di un CU, consulta la pagina Come gestire gli utenti HSM con CMU e Utenti HSM.

Fase 2: Aggiornare la configurazione del database Oracle

Per aggiornare la configurazione di Oracle Database per utilizzare un HSM nel cluster come modulo di sicurezza esterno, attieniti alla seguente procedura. Per informazioni sui moduli di sicurezza esterni, vedi la sezione Introduction to Transparent Data Encryption nella Oracle Database Advanced Security Guide.

Per aggiornare la configurazione di Oracle
  1. Esegui la connessione all'istanza del client Amazon EC2. Si tratta dell'istanza in cui è installato Oracle Database.

  2. Crea una copia di backup del file sqlnet.ora. Per informazioni sul percorso del file, consulta la documentazione Oracle.

  3. Usare un editor di testo per modificare il fine denominato sqlnet.ora. Aggiungi la seguente riga. Se una linea esistente nel file inizia con encryption_wallet_location, sostituiscila con quella riportata di seguito.

    encryption_wallet_location=(source=(method=hsm))

    Salvare il file.

  4. Eseguire il comando seguente per creare la directory in cui Oracle Database prevede di trovare il file di libreria per la libreria software AWS CloudHSM PKCS #11.

    sudo mkdir -p /opt/oracle/extapi/64/hsm
  5. Esegui il comando seguente per copiare la libreria AWS CloudHSM software per il file PKCS #11 nella directory creata nel passaggio precedente.

    sudo cp /opt/cloudhsm/lib/libcloudhsm_pkcs11.so /opt/oracle/extapi/64/hsm/
    Nota

    La directory /opt/oracle/extapi/64/hsm deve contenere solo un file della libreria. Rimuovi tutti gli altri file presenti in tale directory.

  6. Esegui il seguente comando per modificare le proprietà della directory /opt/oracle e del relativo contenuto.

    sudo chown -R oracle:dba /opt/oracle
  7. Avvia Oracle Database.

Fase 3: Generazione della chiave di crittografia principale Oracle TDE

Per generare la chiave master Oracle TDE sul HSMs cluster, completare i passaggi della procedura seguente.

Per generare la chiave principale
  1. Utilizza il comando seguente per aprire Oracle SQL*Plus. Quando richiesto, immetti la password di sistema impostata al momento dell'installazione di Oracle Database.

    sqlplus / as sysdba
    Nota

    Per Client SDK 3 è necessario impostare la variabile di ambiente CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE ogni volta che si genera una chiave principale. Questa variabile è necessaria solo per la generazione di chiavi principali. Per ulteriori informazioni, consulta "Problema: Oracle imposta l'attributo PCKS #11 CKA_MODIFIABLE durante la generazione della chiave principale, ma HSM non lo supporta" in Problemi noti per l'integrazione di applicazioni di terze parti.

  2. Esegui l'istruzione SQL che crea la chiave di crittografia principale, come mostrato negli esempi di seguito. Utilizza l'istruzione corrispondente alla versione in uso di Oracle Database. Sostituire <CU user name> con il nome utente dell'utente crittografico (CU). Sostituire <password> con la password CU.

    Importante

    Esegui il seguente comando solo una volta. Ogni volta che lo esegui, il comando crea una nuova chiave di crittografia principale.

    • In Oracle Database versione 11, esegui la seguente istruzione SQL.

      SQL> alter system set encryption key identified by "<CU user name>:<password>";
    • In Oracle Database versione 12 e 19c, esegui la seguente istruzione SQL.

      SQL> administer key management set key identified by "<CU user name>:<password>";

    Se la risposta è System altered oppure keystore altered, la creazione della chiave principale di Oracle TDE è stata completata senza errori.

  3. (Opzionale) Esegui il seguente comando per verificare lo stato di Oracle Wallet.

    SQL> select * from v$encryption_wallet;

    Se il wallet non è aperto, utilizza uno dei seguenti comandi per aprirlo. Sostituire <CU user name> con il nome dell'utente crittografico (CU). Sostituire <password> con la password CU.

    • In Oracle 11, esegui il seguente comando per aprire il wallet.

      SQL> alter system set encryption wallet open identified by "<CU user name>:<password>";

      Per chiudere manualmente il wallet, esegui il seguente comando.

      SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
    • In Oracle 12 e Oracle 19c, esegui il seguente comando per aprire il wallet.

      SQL> administer key management set keystore open identified by "<CU user name>:<password>";

      Per chiudere manualmente il wallet, esegui il seguente comando.

      SQL> administer key management set keystore close identified by "<CU user name>:<password>";