Cifrado de datos transparente (TDE) de Oracle Database con AWS CloudHSM - AWS CloudHSM

Cifrado de datos transparente (TDE) de Oracle Database con AWS CloudHSM

El cifrado de datos transparente (TDE) se usa para cifrar archivos de bases de datos. Con TDE, el software de base de datos cifra los datos antes de almacenarlos en el disco. Los datos de las columnas de la tabla o de los espacios de tabla de la base de datos se cifran con una clave de tabla o de espacio de tabla. Algunas versiones del software de bases de datos de Oracle ofrecen TDE. En Oracle TDE, estas claves se cifran con la clave de cifrado maestra de TDE. Puede lograr una mayor seguridad almacenando la clave de cifrado maestra de TDE en los HSM de su clúster de AWS CloudHSM.

Almacene la clave de cifrado maestra TDE de Oracle en AWS CloudHSM.

En esta solución, su Oracle Database está instalado en una instancia Amazon EC2. Oracle Database se integra con la biblioteca de software de AWS CloudHSM para PKCS # 11 para almacenar la clave maestra de TDE en los HSM de su clúster.

importante
  • Recomendamos instalar Oracle Database en una instancia de Amazon EC2.

Siga los pasos que se describen a continuación para realizar la integración del cifrado TDE de Oracle en AWS CloudHSM.

Paso 1. Configurar los requisitos previos

Para llevar a cabo la integración del cifrado TDE de Oracle con AWS CloudHSM, necesita lo siguiente:

  • Un clúster de AWS CloudHSM activo que tenga como mínimo un HSM.

  • Una instancia de Amazon EC2 que ejecute el sistema operativo Linux y tenga el siguiente software instalado:

    • El cliente y las herramientas de línea de comandos de AWS CloudHSM.

    • La biblioteca de software de AWS CloudHSM para PKCS #11.

    • Oracle Database. AWS CloudHSM es compatible con la integración del cifrado TDE de Oracle. La versión del SDK 5.6 de cliente y las versiones posteriores admiten el cifrado TDE de Oracle para la versión 19c de Oracle Database. El SDK 3 de cliente es compatible con el cifrado TDE de Oracle para las versiones 11g y 12c de Oracle Database.

  • Un usuario criptográfico (CU) que sea el propietario de la clave de cifrado maestra del cifrado TDE y la administre en los HSM de su clúster.

Complete los siguientes pasos para configurar todos los requisitos previos.

Para configurar los requisitos previos necesarios para integrar el cifrado TDE de Oracle con AWS CloudHSM
  1. Realice los pasos que se indican en Introducción. A continuación, tendrá un clúster activo con un HSM. También tendrá una instancia de Amazon EC2 que se ejecuta en el sistema operativo de Amazon Linux. También se instalarán y configurarán las herramientas de línea de comandos y el cliente de AWS CloudHSM.

  2. (Opcional) Añada más HSM a su clúster. Para obtener más información, consulte Agregar un HSM a un clúster de AWS CloudHSM.

  3. Conéctese a la instancia de cliente de Amazon EC2 y haga lo siguiente:

    1. Instale la biblioteca de software de AWS CloudHSM para PKCS #11.

    2. Instale Oracle Database. Para obtener más información, consulte la documentación de Oracle Database. La versión del SDK 5.6 de cliente y las versiones posteriores admiten el cifrado TDE de Oracle para la versión 19c de Oracle Database. El SDK 3 de cliente es compatible con el cifrado TDE de Oracle para las versiones 11g y 12c de Oracle Database.

    3. Utilice la herramienta de línea de comandos cloudhsm_mgmt_util para crear un usuario criptográfico (CU) en su clúster. Para obtener más información sobre la creación de un CU, consulte Cómo administrar a los usuarios de HSM con una CMU y Usuarios de HSM.

Paso 3: generar la clave de cifrado maestra del TDE de Oracle

Para generar la clave maestra de TDE de Oracle en los HSM en su clúster, complete los pasos que se indican en el siguiente procedimiento.

Para generar la clave maestra
  1. Utilice el siguiente comando para abrir Oracle SQL*Plus. Cuando se le solicite, escriba la contraseña del sistema que configuró cuando instaló Oracle Database.

    sqlplus / as sysdba
    nota

    Para SDK 3 de cliente, debe establecer la variable de entorno CLOUDHSM_IGNORE_CKA_MODIFIABLE_FALSE cada vez que genere una clave maestra. Esta variable solo es necesaria para generar claves maestras. Para obtener más información, consulte "Problemas: Oracle establece el atributo CKA_MODIFIABLE de PCKS #11 durante la generación de claves maestras, pero HSM no admite esto" en Problemas conocidos para integrar aplicaciones de terceros.

  2. Ejecute la instrucción SQL que crea la clave de cifrado maestra tal y como se muestra en los siguientes ejemplos. Utilice la declaración que se corresponde con la versión de Oracle Database. Reemplace <nombre de usuario CU> por el nombre del usuario criptográfico (CU). Reemplace <password> por la contraseña del CU.

    importante

    Ejecute el siguiente comando solo una vez. Cada vez que se ejecuta el comando, se crea una nueva clave de cifrado maestra.

    • Para Oracle Database versión 11, ejecute la siguiente instrucción SQL.

      SQL> alter system set encryption key identified by "<CU user name>:<password>";
    • Para Oracle Database versión 12 y versión 19c, ejecute la siguiente instrucción SQL.

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

    Si la respuesta es System altered o keystore altered, entonces ha generado correctamente y establecido la clave maestra para Oracle TDE.

  3. (Opcional) Ejecute el siguiente comando para comprobar el estado del monedero de Oracle.

    SQL> select * from v$encryption_wallet;

    Si el wallet no está abierto, utilice uno de los siguientes comandos para abrirlo. Reemplace <nombre de usuario CU> por el nombre del usuario criptográfico (CU). Reemplace <password> por la contraseña del CU.

    • Para Oracle 11, ejecute el siguiente comando para abrir el wallet.

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

      Para cerrar manualmente el wallet, ejecute el siguiente comando.

      SQL> alter system set encryption wallet close identified by "<CU user name>:<password>";
    • Para Oracle 12 y Oracle 19c, ejecute el siguiente comando para abrir el wallet.

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

      Para cerrar manualmente el wallet, ejecute el siguiente comando.

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