Modelos de cifrado de datos
La comprensión de los distintos modelos de cifrado y sus ventajas y desventajas es fundamental para entender cómo los distintos proveedores de recursos en Azure implementan el cifrado en reposo. Estas definiciones se comparten entre todos los proveedores de recursos en Azure para asegurar la taxonomía y el idioma común.
Hay tres escenarios para el cifrado del lado servidor:
Cifrado del lado servidor mediante claves administradas del servicio
- Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifrado
- Microsoft administra las claves
- Funcionalidad de nube completa
Cifrado del lado servidor mediante claves administradas por el cliente en Azure Key Vault
- Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifrado
- El cliente controla las claves mediante Azure Key Vault
- Funcionalidad de nube completa
Cifrado del lado servidor mediante claves administradas por el cliente en el hardware controlado por el cliente
- Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifrado
- Claves de controles de cliente en el hardware controlado por el cliente
- Funcionalidad de nube completa
Los modelos de cifrado del lado servidor hacen referencia al cifrado que se realiza mediante el servicio de Azure. En este modelo, el proveedor de recursos realiza las operaciones de cifrado y descifrado. Por ejemplo, Azure Storage podría recibir datos en operaciones de texto sin formato y realizar el cifrado y el descifrado internamente. El proveedor de recursos podría utilizar claves de cifrado que están administradas por Microsoft o por el cliente en función de la configuración proporcionada.
Cada uno de los modelos de cifrado en reposo del lado servidor implica características distintivas de administración de claves. Esto incluye dónde y cómo se crean y almacenan las claves de cifrado, así como los modelos de acceso y los procedimientos de rotación de claves.
Para el cifrado del lado cliente, tenga en cuenta lo siguiente:
- Los servicios de Azure no pueden ver los datos descifrados
- Los clientes administran y almacenan las claves en ubicaciones locales (o en otras ubicaciones seguras). Las claves no están disponibles para los servicios de Azure
- Funcionalidad de nube reducida
Los modelos de cifrado admitidos en Azure se dividen en dos grupos principales: "Cifrado del cliente" y "Cifrado del servidor" como se mencionó anteriormente. Independientemente del modelo de cifrado en reposo utilizado, los servicios de Azure siempre recomiendan el uso de un transporte seguro como TLS o HTTPS. Por lo tanto, el cifrado de transporte debe tratarse con el protocolo de transporte y no debe ser un factor importante para determinar qué modelo de cifrado en reposo se utilizará.
Modelo de cifrado del cliente
El modelo de cifrado del cliente hace referencia al cifrado que se realiza fuera del proveedor de recursos o Azure mediante el servicio o la aplicación que realiza la llamada. El cifrado puede realizarse mediante la aplicación de servicio de Azure o por una aplicación que se ejecuta en el centro de datos del cliente. En cualquier caso, cuando se saca provecho de este modelo de cifrado, el proveedor de recursos de Azure recibe un blob cifrado de datos sin la capacidad de descifrar los datos de ninguna forma ni tener acceso a las claves de cifrado. En este modelo, la administración de claves se realiza mediante el servicio o aplicación que realiza la llamada y es opaca para el servicio de Azure.
Cifrado del lado servidor mediante claves administradas del servicio
Para muchos clientes, el requisito esencial es asegurarse de que los datos se cifran siempre que estén en reposo. El cifrado del lado servidor mediante las claves administradas del servicio habilita este modelo al permitir a los clientes marcar el recurso específico (cuenta de almacenamiento, SQL Database, etc.) para el cifrado y dejar todos los aspectos de la administración de claves, como la emisión de claves, la rotación y la copia de seguridad a Microsoft. La mayoría de los servicios de Azure que admiten cifrado en reposo normalmente admiten este modelo de descarga de la administración de las claves de cifrado de Azure. El proveedor de recursos de Azure crea las claves, las coloca en un almacenamiento seguro y las recupera cuando es necesario. Esto significa que el servicio tiene acceso completo a las claves y el servicio tiene control total sobre la administración del ciclo de vida de las credenciales.
Por lo tanto, el cifrado del lado servidor mediante las claves administradas del servicio satisface rápidamente la necesidad de que tengan el cifrado en reposo con poca sobrecarga al cliente. Cuando esté disponible, un cliente abrirá con normalidad Azure Portal para la suscripción de destino y el proveedor de recursos y comprobará un cuadro que indica si desearía que los datos se cifraran. El cifrado del lado servidor de algunas instancias de Resource Manager con las claves administradas del servicio se encuentra activado de forma predeterminada.
El cifrado del lado servidor con las claves de Microsoft administradas implica que el servicio tiene acceso completo para almacenar y administrar las claves. Aunque es posible que algunos clientes quieran administrar las claves porque sienten que obtienen mayor seguridad, el costo y el riesgo asociados a una solución de almacenamiento de claves personalizada se deben tener en cuenta al evaluar este modelo. En muchos casos, una organización podría determinar que las restricciones de recursos o los riesgos de una solución local podrían ser mayores que el riesgo de la administración en la nube de las claves de cifrado en reposo. Sin embargo, este modelo podría no ser suficiente para las organizaciones que tienen requisitos para controlar la creación o el ciclo de vida de las claves de cifrado o tener personal diferente para administrar las claves de cifrado de un servicio al que administra el servicio (es decir, la segregación de la administración de claves de todo el modelo de administración para el servicio).
Acceso a la clave
Cuando se usa el cifrado del lado servidor con las claves administradas del servicio, el servicio administra la creación de claves, el almacenamiento y el acceso al servicio. Normalmente, los proveedores fundamentales de recursos de Azure almacenarán las claves de cifrado de datos en un almacén que se encuentra cerca de los datos y está rápidamente disponible y accesible mientras las claves de cifrado de clave se almacenan en un almacén interno seguro.
Ventajas
- Instalación simple
- Microsoft administra la rotación de claves, la copia de seguridad y la redundancia
- El cliente no tiene el costo asociado con la implementación o el riesgo de un esquema personalizado de administración de claves.
Desventajas
- No hay control al cliente sobre las claves de cifrado (revocación, ciclo de vida, especificación de clave, etc.)
- La administración de la clave no se puede separar del modelo de administración global para el servicio
Cifrado del lado servidor mediante claves administradas por el cliente en Azure Key Vault
Para escenarios donde el requisito es cifrar los datos en reposo y controlar los clientes de las claves de cifrado, los clientes pueden usar el cifrado de lado servidor mediante las claves almacenadas por el cliente en Key Vault. Algunos servicios pueden almacenar solo la clave de cifrado de claves raíz en Azure Key Vault y almacenar la clave de cifrado de datos cifrada en una ubicación interna más cercana a los datos. En este escenario, los clientes pueden aportar sus propias claves a Key Vault (BYOK: aportar su propia clave), o generar nuevas y usarlas para cifrar los recursos deseados. Mientras que el proveedor de recursos realiza las operaciones de cifrado y descifrado, usa la clave de cifrado de claves configurada como clave raíz para todas las operaciones de cifrado.
La pérdida de claves de cifrado de claves significa también la pérdida de los datos. Por esta razón, no se deben eliminar las claves. Se debe realizar una copia de seguridad de las claves cada vez que se creen o giren. La protección contra eliminación temporal y purga debe habilitarse en cualquier almacén que guarde claves de cifrado de claves a fin de proteger contra el borrado criptográfico accidental o malintencionado. En lugar de eliminar una clave, se recomienda establecer el valor Enabled en false en la clave de cifrado de claves. Use controles de acceso para revocar el acceso a usuarios o servicios individuales en Azure Key Vault o HSM administrado.
Acceso a la clave
El modelo de cifrado del lado servidor con claves administradas del cliente en Azure Key Vault implica el servicio de acceso a las claves para cifrar y descifrar según sea necesario. Las claves del cifrado en reposo son accesibles para un servicio a través de una directiva de control de acceso. Esta directiva concede el acceso de identidad de servicio para recibir la clave. Un servicio de Azure que se ejecuta en nombre de una suscripción asociada puede configurarse con una identidad dentro de esa suscripción. El servicio puede realizar la autenticación Microsoft Entra y recibir un token de autenticación identificándose como ese servicio actuando en nombre de la suscripción. A continuación, se puede presentar ese token al Key Vault para obtener una clave a la que se le haya dado acceso.
Para las operaciones con claves de cifrado, una identidad de servicio puede tener acceso a cualquiera de las siguientes operaciones: descifrar, cifrar, unwrapKey, wrapKey, comprobar, iniciar sesión, obtener, enumerar, actualizar, crear, importar, eliminar, backup y restaurar.
Para obtener una clave para usar al cifrar o descifrar datos en reposo, la identidad de servicio con la que se ejecutará la instancia de Resource Manager debe tener UnwrapKey (para obtener la clave de descifrado) y WrapKey (para insertar una clave en el almacén de claves al crear una nueva clave).
Nota
Para obtener más detalles sobre la autorización del Key Vault, vea la protección de la página del almacén de claves en la documentación de Azure Key Vault.
Ventajas
- Control total sobre las claves usadas: las claves de cifrado se administran en la instancia de Key Vault del cliente bajo el control del cliente.
- Capacidad de cifrar varios servicios en un patrón
- Puede separar la administración de la clave del modelo de administración global para el servicio
- Puede definir el servicio y la ubicación de la clave en regiones
Desventajas
- El cliente tiene responsabilidad total para la administración de acceso a las claves
- El cliente tiene responsabilidad total para la administración del ciclo de vida de las claves
- Sobrecarga de configuración e instalación adicional
Cifrado del lado servidor mediante claves administradas por el cliente en el hardware controlado por el cliente
Algunos servicios de Azure permiten el modelo de administración de claves Host Your Own Key (HYOK). Este modo de administración es útil en escenarios donde hay una necesidad para cifrar los datos en reposo y administrar las claves en un repositorio patentado fuera del control de Microsoft. En este modelo, el servicio debe usar la clave de un sitio externo para cifrar la clave de cifrado de datos (DEK). Las garantías de rendimiento y disponibilidad se ven afectadas y la configuración es más compleja. Además, puesto que el servicio tiene acceso a la DEK durante las operaciones de cifrado y descifrado de las garantías de seguridad general de este modelo son similares a cuando las claves son administradas en Azure Key Vault por el cliente. Como resultado, este modelo no es adecuado para la mayoría de las organizaciones a menos que tengan requisitos específicos de administración de claves. Debido a estas limitaciones, la mayoría de los servicios de Azure no admiten el cifrado del lado del servidor mediante claves administradas por el cliente en el hardware controlado por el cliente. Una de las dos claves del cifrado de doble clave sigue este modelo.
Acceso a la clave
Cuando se usa el cifrado del lado del servidor mediante las claves administradas por el cliente en el hardware controlado por el cliente, las claves del cifrado de claves se mantienen en un sistema configurado por el cliente. Los servicios de Azure que admiten este modelo proporcionan un medio para establecer una conexión segura en un almacén de claves proporcionado por el cliente.
Ventajas
- Control total sobre la clave raíz usada: una tienda proporcionada por el un cliente administra las claves de cifrado
- Capacidad de cifrar varios servicios en un patrón
- Puede separar la administración de la clave del modelo de administración global para el servicio
- Puede definir el servicio y la ubicación de la clave en regiones
Desventajas
- Responsabilidad total para la disponibilidad, rendimiento, seguridad y almacenamiento de claves
- Responsabilidad total para la administración de acceso a las claves
- Responsabilidad total para la administración del ciclo de vida de las claves
- Costos significativos de mantenimiento en curso, instalación y configuración
- Dependencia aumentada sobre la disponibilidad de la red entre el centro de datos del cliente y los centros de datos de Azure.
Servicios que admiten claves administradas por el cliente (CMK)
Estos son los servicios que admiten el cifrado del lado servidor mediante claves administradas por el cliente:
* Este servicio no conserva los datos. Las memorias caché transitorias, si las hay, se cifran con una clave de Microsoft.
** Este servicio admite el almacenamiento de datos en su propia instancia de Key Vault, cuenta de almacenamiento u otro servicio de persistencia de datos que ya admita el cifrado del lado servidor con una clave administrada por el cliente.
*** Los datos transitorios almacenados temporalmente en el disco, como archivos de página o archivos de intercambio, se cifran con una clave de Microsoft (todos los niveles) o una clave administrada por el cliente (mediante los niveles Enterprise y Enterprise Flash). Para obtener más información, consulta Configuración del cifrado de disco en Azure Cache for Redis.