Partekatu honen bidez:


Cifrado de datos con claves administradas por el cliente

SE APLICA A: Azure Cosmos DB for PostgreSQL (con tecnología de la extensión de base de datos de Citus en PostgreSQL)

Los datos almacenados en el clúster de Azure Cosmos DB for PostgreSQL se cifran de forma automática y sin problemas con claves administradas por Microsoft. Estas claves se conocen como claves administradas por el servicio. Azure Cosmos DB for PostgreSQL usa el cifrado de Azure Storage para cifrar datos en reposo de manera predeterminada mediante claves administradas por el servicio. Opcionalmente, puede optar por agregar una capa adicional de seguridad habilitando el cifrado con claves administradas por el cliente.

Claves administradas por el servicio

El servicio Azure Cosmos DB for PostgreSQL usa el módulo criptográfico con validación FIPS 140-2 para el cifrado del almacenamiento de los datos en reposo. Todos los datos, incluidos las copias de seguridad y los archivos temporales creados mientras se ejecutan las consultas, se cifran en el disco. El servicio usa el cifrado AES de 256 bits que se incluye en el cifrado de almacenamiento de Azure y las claves las administra el sistema. El cifrado de almacenamiento siempre está activado y no se puede deshabilitar.

Claves administradas por el cliente

Muchas organizaciones requieren un control total sobre el acceso a los datos mediante una clave administrada por el cliente (CMK). El cifrado de datos con claves administradas por el cliente para Azure Cosmos DB for PostgreSQL le permite traer su propia clave para la protección de datos en reposo. También permite a las organizaciones implementar la separación de tareas en la administración de claves y datos. Con el cifrado administrado por el cliente, el usuario es responsable y tiene el control total del ciclo de vida de una clave, los permisos de uso y la auditoría de operaciones.

El cifrado de datos con claves administradas por el cliente para Azure Cosmos DB for PostgreSQL se establece en el nivel de servidor. Los datos, incluidos las copias de seguridad, se cifran en el disco. Este cifrado incluye los archivos temporales creados durante la ejecución de consultas. En un clúster determinado, se usa una clave administrada por el cliente, denominada clave de cifrado de claves (KEK), para cifrar la clave de cifrado de datos (DEK) del servicio. KEK es una clave asimétrica almacenada en una instancia de Azure Key Vault administrada por el cliente y de su propiedad.

Descripción
Clave de cifrado de datos (DEK) Una clave de cifrado de datos es una clave simétrica AES256 usada para cifrar una partición o un bloque de datos. Cifrar cada bloque de datos con una clave diferente dificulta los ataques de análisis criptográficos. El proveedor de recursos o la instancia de aplicación que está cifrando y descifrando un bloque específico necesita acceder a las DEK. Cuando se reemplaza una DEK por una nueva clave, solo se deben volver a cifrar los datos de su bloque asociado con la nueva clave.
Clave de cifrado de claves (KEK) Una clave de cifrado de clave es una clave de cifrado que se usa para cifrar las DEK. Una KEK que nunca abandona un almacén de claves permite el cifrado y control de las DEK. La entidad que tiene acceso a la KEK puede ser diferente de aquella que necesita la DEK. Puesto que la KEK es necesaria para descifrar las DEK, la KEK es de manera eficaz un único punto y la eliminación de la KEK elimina de manera eficaz las DEK.

Nota

Azure Key Vault es un sistema de administración de claves basado en la nube. Presenta alta disponibilidad y ofrece almacenamiento seguro y escalable para claves criptográficas RSA, respaldadas opcionalmente por módulos de seguridad de hardware (HSM) con certificación FIPS 140. Un almacén de claves no permite acceso directo a una clave almacenada, pero proporciona servicios de cifrado y descifrado a entidades autorizadas. Un almacén de claves puede generar la clave, importarla o hacer que se transfiera desde un dispositivo HSM local.

Las DEK, cifradas con las KEK, se almacenan por separado. Solo una entidad con acceso a la KEK puede descifrar estas DEK. Para más información, consulte Seguridad del cifrado en reposo.

Funcionamiento del cifrado de datos con una clave administrada por el cliente

Para que un clúster pueda usar claves administradas por el cliente almacenadas en Key Vault para el cifrado de la DEK, un administrador de Key Vault debe conceder los siguientes derechos de acceso al servidor:

Descripción
get Permite recuperar la parte pública y las propiedades de la clave del almacén de claves.
wrapKey Habilita el cifrado de la DEK. La DEK cifrada se almacena en Azure Cosmos DB for PostgreSQL.
unwrapKey Habilita el descifrado de la DEK. Azure Cosmos DB for PostgreSQL requiere que la DEK descifrada cifre o descifre los datos.

El administrador del almacén de claves también puede habilitar el registro de eventos de auditoría de Key Vault, de forma que se puedan auditar más adelante. Cuando el clúster Azure Cosmos DB for PostgreSQL está configurado para usar la clave administrada por el cliente que se almacena en el almacén de claves, el clúster envía a este la DEK para que la cifre. Key Vault devuelve las DEK cifradas, que se almacenan en la base de datos del usuario. De igual modo, cuando es necesario, el servidor envía la DEK protegida al almacén de claves para que la descifre. Los auditores pueden usar Azure Monitor para revisar los registros de eventos de auditoría de Key Vault, si está habilitado el registro.

Captura de pantalla de la arquitectura de cifrado de datos con claves administradas por el cliente.

Ventajas

El cifrado de datos con claves administradas por el cliente para Azure Cosmos DB for PostgreSQL proporciona las siguientes ventajas:

  • Controla por completo el acceso a los datos con la posibilidad de eliminar la clave y hacer que la base de datos sea inaccesible.
  • Control total sobre el ciclo de vida de la clave, incluida la rotación de esta para cumplir con las directivas corporativas específicas.
  • Organización y administración central de las claves en Azure Key Vault.
  • Posibilidad de implementar la separación de tareas entre los responsables de seguridad y los administradores del sistema y de las bases de datos.
  • La habilitación del cifrado no tiene ningún efecto de rendimiento adicional con o sin claves administradas por el cliente. Azure Cosmos DB for PostgreSQL se basa en Azure Storage para el cifrado de datos en escenarios de claves administradas por el cliente y administradas por el servicio.

Pasos siguientes