Chiffrement transparent des données de base de données Oracle (TDE) avec AWS CloudHSM - AWS CloudHSM

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Chiffrement transparent des données de base de données Oracle (TDE) avec AWS CloudHSM

Le chiffrement transparent des données (TDE) est utilisé pour chiffrer les fichiers de base de données. En utilisantTDE, le logiciel de base de données chiffre les données avant de les stocker sur le disque. Les données contenues dans les colonnes et les espaces de table de la base de données sont chiffrées avec une clé de table ou une clé d'espace de table. Certaines versions du logiciel de base de données d'Oracle proposentTDE. Dans OracleTDE, ces clés sont chiffrées à l'aide d'une clé de chiffrement TDE principale. Vous pouvez améliorer la sécurité en stockant la clé de chiffrement TDE principale HSMs dans votre AWS CloudHSM cluster.

Stockez la clé de chiffrement TDE principale Oracle dans AWS CloudHSM.

Dans cette solution, vous utilisez la base de données Oracle installée sur une EC2 instance Amazon. Oracle Database s'intègre à la bibliothèque AWS CloudHSM logicielle PKCS #11 pour stocker la clé TDE principale HSMs dans votre cluster.

Important
  • Nous recommandons d'installer Oracle Database sur une EC2 instance Amazon.

Procédez comme suit pour réaliser TDE l'intégration d'Oracle avec AWS CloudHSM.

Étape 1. Configurez les prérequis

Pour réaliser TDE l'intégration avec Oracle AWS CloudHSM, vous avez besoin des éléments suivants :

  • Un AWS CloudHSM cluster actif avec au moins unHSM.

  • Une EC2 instance Amazon exécutant le système d'exploitation Amazon Linux avec les logiciels suivants installés :

    • Le AWS CloudHSM client et les outils de ligne de commande.

    • La bibliothèque AWS CloudHSM logicielle pour PKCS #11.

    • Base de données Oracle. AWS CloudHSM prend en charge TDE l'intégration Oracle. Le client SDK 5.6 et les versions ultérieures prennent en charge Oracle TDE pour Oracle Database 19c. Le client SDK 3 prend en charge TDE les versions 11g et 12c d'Oracle pour Oracle Database.

  • Un utilisateur cryptographique (CU) qui possède et gère la clé de chiffrement TDE principale HSMs de votre cluster.

Exécutez les étapes suivantes pour installer tous les prérequis.

Pour configurer les conditions préalables à l'TDEintégration d'Oracle avec AWS CloudHSM
  1. Suivez les étapes de Premiers pas. Une fois cela fait, vous aurez un cluster actif avec unHSM. Vous disposerez également d'une EC2 instance Amazon exécutant le système d'exploitation Amazon Linux. Le AWS CloudHSM client et les outils de ligne de commande seront également installés et configurés.

  2. (Facultatif) Ajoutez-en HSMs d'autres à votre cluster. Pour de plus amples informations, veuillez consulter Ajouter un HSM à un AWS CloudHSM cluster.

  3. Connectez-vous à votre instance EC2 client Amazon et procédez comme suit :

    1. Installez la bibliothèque AWS CloudHSM logicielle pour PKCS #11.

    2. Installez Oracle Database. Pour plus d'informations, consultez la documentation Oracle Database. Le client SDK 5.6 et les versions ultérieures prennent en charge Oracle TDE pour Oracle Database 19c. Le client SDK 3 prend en charge TDE les versions 11g et 12c d'Oracle pour Oracle Database.

    3. Utilisez l'outil de ligne de commande cloudhsm_mgmt_util pour créer un utilisateur de chiffrement (CU) sur votre cluster. Pour plus d'informations sur la création d'une CU, consultez Comment gérer HSM les utilisateurs avec CMU etHSMutilisateurs.

Étape 3 : générer la clé de chiffrement TDE principale Oracle

Pour générer la clé TDE principale Oracle HSMs dans votre cluster, suivez les étapes de la procédure suivante.

Pour générer la clé principale
  1. Utilisez la commande suivante pour ouvrir Oracle SQL *Plus. Lorsque vous y êtes invité, saisissez le mot de passe système que vous avez défini lors de l'installation d'Oracle Database.

    sqlplus / as sysdba
    Note

    Pour le client SDK 3, vous devez définir la variable d'CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSEenvironnement chaque fois que vous générez une clé principale. Cette variable n'est nécessaire que pour la génération de la clé principale. Pour plus d'informations, consultez « Problème : Oracle définit l'attribut PCKS #11 CKA_MODIFIABLE lors de la génération de la clé principale, mais HSM ne le prend pas en charge » dans Problèmes connus liés à l'intégration d'applications tierces.

  2. Exécutez l'SQLinstruction qui crée la clé de chiffrement principale, comme indiqué dans les exemples suivants. Utilisez l'instruction qui correspond à votre version d'Oracle Database. Remplacez <CU user name> avec le nom d'utilisateur de l'utilisateur cryptographique (CU). Remplacez <password> avec le mot de passe CU.

    Important

    Exécutez la commande suivante une seule fois. Chaque fois que la commande est exécutée, elle crée une nouvelle clé de chiffrement principale.

    • Pour Oracle Database version 11, exécutez l'SQLinstruction suivante.

      SQL> alter system set encryption key identified by "<CU user name>:<password>";
    • Pour Oracle Database versions 12 et 19c, exécutez l'SQLinstruction suivante.

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

    Si la réponse est « System altered ou »keystore altered, vous avez correctement généré et défini la clé principale pour OracleTDE.

  3. (Facultatif) Exécutez la commande suivante pour vérifier le statut du portefeuille Oracle.

    SQL> select * from v$encryption_wallet;

    Si le portefeuille n'est pas ouvert, utilisez l'une des commandes suivantes pour l'ouvrir. Remplacez <CU user name> avec le nom de l'utilisateur cryptographique (CU). Remplacez <password> avec le mot de passe CU.

    • Pour Oracle 11, exécutez la commande suivante pour ouvrir le portefeuille.

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

      Pour fermer manuellement le portefeuille, exécutez la commande suivante.

      SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
    • Pour Oracle 12 et Oracle 19c, exécutez la commande suivante pour ouvrir le portefeuille.

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

      Pour fermer manuellement le portefeuille, exécutez la commande suivante.

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