Cifrado en reposo de datos de AzureAzure Data Encryption-at-Rest

Microsoft Azure incluye herramientas para proteger los datos de acuerdo con las necesidades de seguridad y cumplimiento de su empresa.Microsoft Azure includes tools to safeguard data according to your company’s security and compliance needs. Este documento se centra en:This paper focuses on:

  • Cómo se protegen los datos en reposo en Microsoft Azure.How data is protected at rest across Microsoft Azure
  • Describir los distintos componentes que forman parte de la implementación de protección de datos.Discusses the various components taking part in the data protection implementation,
  • Revisar las ventajas y desventajas de los distintos enfoques clave de protección de la administración.Reviews pros and cons of the different key management protection approaches.

El cifrado en reposo es un requisito de seguridad habitual.Encryption at Rest is a common security requirement. En Azure, las organizaciones pueden cifrar datos en reposo sin el riesgo o el costo de una solución de administración de claves personalizada.In Azure, organizations can encrypt data at rest without the risk or cost of a custom key management solution. Las organizaciones tienen la opción de permitir a Azure administrar completamente el cifrado en reposo.Organizations have the option of letting Azure completely manage Encryption at Rest. Además, las organizaciones tienen varias opciones para administrar con detenimiento el cifrado y las claves de cifrado.Additionally, organizations have various options to closely manage encryption or encryption keys.

¿Qué es el cifrado en reposo?What is encryption at rest?

El cifrado en reposo es la codificación (cifrado) de datos cuando se conserva.Encryption at Rest is the encoding (encryption) of data when it is persisted. Los diseños del cifrado en reposo de Azure utilizan cifrado asimétrico para cifrar o descifrar rápidamente grandes cantidades de datos según un modelo conceptual sencillo:The Encryption at Rest designs in Azure use symmetric encryption to encrypt and decrypt large amounts of data quickly according to a simple conceptual model:

  • Se usa una clave de cifrado simétrico para cifrar datos mientras se escriben en el almacenamiento.A symmetric encryption key is used to encrypt data as it is written to storage.
  • La misma clave de cifrado se utiliza para descifrar los datos tal y como se prepararon para su uso en la memoria.The same encryption key is used to decrypt that data as it is readied for use in memory.
  • Se pueden particionar datos y se pueden usar claves diferentes para cada partición.Data may be partitioned, and different keys may be used for each partition.
  • Las claves deben almacenarse en una ubicación segura con el control de acceso basado en identidades y directivas de auditoría.Keys must be stored in a secure location with identity-based access control and audit policies. Las claves de cifrado de datos se cifran a menudo con la clave de cifrado de claves en Azure Key Vault para limitar aún más el acceso.Data encryption keys are often encrypted with a key encryption key in Azure Key Vault to further limit access.

En la práctica, los escenarios de control y administración de la clave, así como las convicciones de escala y disponibilidad, requieren construcciones adicionales.In practice, key management and control scenarios, as well as scale and availability assurances, require additional constructs. A continuación se describen los componentes y conceptos del cifrado en reposo de Microsoft Azure.Microsoft Azure Encryption at Rest concepts and components are described below.

Propósito del cifrado en reposoThe purpose of encryption at rest

El cifrado en reposo proporciona protección de datos para los datos almacenados (en reposo).Encryption at rest provides data protection for stored data (at rest). Los ataques contra los datos en reposo incluyen intentos de obtener acceso físico al hardware en el que se almacenan los datos y, a continuación, poner en peligro los datos contenidos.Attacks against data at-rest include attempts to obtain physical access to the hardware on which the data is stored, and then compromise the contained data. En este tipo de ataque, la unidad del disco duro de un servidor puede utilizarse de forma incorrecta durante el mantenimiento permitiendo a un atacante eliminar la unidad de disco duro.In such an attack, a server’s hard drive may have been mishandled during maintenance allowing an attacker to remove the hard drive. Más adelante el atacante tendría que poner el disco duro en un equipo bajo su control para intentar obtener acceso a los datos.Later the attacker would put the hard drive into a computer under their control to attempt to access the data.

El cifrado en reposo está diseñado para evitar que el atacante obtenga acceso a los datos sin cifrar asegurándose de que los datos se cifran en el disco.Encryption at rest is designed to prevent the attacker from accessing the unencrypted data by ensuring the data is encrypted when on disk. Si un atacante obtiene una unidad de disco duro con datos cifrados pero no las claves de cifrado, el atacante debe anular el cifrado para leer los datos.If an attacker obtains a hard drive with encrypted data but not the encryption keys, the attacker must defeat the encryption to read the data. Este ataque es mucho más complejo y consume más recursos que el acceso a datos no cifrados en una unidad de disco duro.This attack is much more complex and resource consuming than accessing unencrypted data on a hard drive. Por este motivo, el cifrado en reposo es muy recomendable y es un requisito de alta prioridad para muchas organizaciones.For this reason, encryption at rest is highly recommended and is a high priority requirement for many organizations.

También se requiere el cifrado en reposo por necesidad de la organización de los esfuerzos de cumplimiento y gobernanza de datos.Encryption at rest may also be required by an organization’s need for data governance and compliance efforts. Las normas gubernamentales y del sector, como HIPAA, PCI y FedRAMP, diseñan las medidas de seguridad específicas a través de los requisitos de cifrado y la protección de datos.Industry and government regulations such as HIPAA, PCI and FedRAMP, lay out specific safeguards regarding data protection and encryption requirements. El cifrado en reposo es una medida obligatoria necesaria para el cumplimiento de algunas de esas regulaciones.Encryption at rest is a mandatory measure required for compliance with some of those regulations.

Además de satisfacer los requisitos de cumplimiento y regulatorios, el cifrado en reposo proporciona protección de defensa en profundidad.In addition to satisfying compliance and regulatory requirements, encryption at rest provides defense-in-depth protection. Microsoft Azure proporciona una plataforma compatible para servicios, aplicaciones y datos.Microsoft Azure provides a compliant platform for services, applications, and data. También proporciona servicios completos y seguridad física, control de acceso a los datos y auditoría.It also provides comprehensive facility and physical security, data access control, and auditing. Sin embargo, es importante proporcionar medidas de seguridad "superpuestas" adicionales en caso de que se produzca un error en una de las otras medidas de seguridad y el cifrado en reposo proporciona dicha medida de seguridad.However, it's important to provide additional “overlapping” security measures in case one of the other security measures fails and encryption at rest provides such a security measure

Microsoft se compromete con el cifrado en las opciones de reposo a través de servicios en la nube y proporcionando a los clientes el control de las claves de cifrado y los registros de uso de claves.Microsoft is committed to encryption at rest options across cloud services and giving customers control of encryption keys and logs of key use. Además, Microsoft está trabajando para conseguir cifrar todos los datos en reposo de los clientes de forma predeterminada.Additionally, Microsoft is working towards encrypting all customer data at rest by default.

Componentes del cifrado en reposo de AzureAzure Encryption at Rest Components

Como se describe anteriormente, el objetivo del cifrado en reposo es que los datos que se guardan en el disco se cifren con una clave de cifrado secreta.As described previously, the goal of encryption at rest is that data that is persisted on disk is encrypted with a secret encryption key. Para lograr la creación de una clave segura para el objetivo, se debe proporcionar almacenamiento, control del acceso y administración de las claves del cifrado.To achieve that goal secure key creation, storage, access control, and management of the encryption keys must be provided. Aunque los detalles pueden variar, las implementaciones del cifrado en reposo de los servicios de Azure se pueden describir en los términos en los que se ilustran en el diagrama siguiente.Though details may vary, Azure services Encryption at Rest implementations can be described in terms illustrated in the following diagram.

Componentes

Azure Key VaultAzure Key Vault

La ubicación del almacenamiento de las claves de cifrado y el control de acceso a esas claves es fundamental para un modelo de cifrado en reposo.The storage location of the encryption keys and access control to those keys is central to an encryption at rest model. Las claves deben ser muy seguras pero fáciles de administrar por parte de los usuarios especificados y deben estar disponibles para servicios concretos.The keys need to be highly secured but manageable by specified users and available to specific services. Para los servicios de Azure, Azure Key Vault es la solución de almacenamiento de claves recomendada y proporciona una experiencia de administración habitual en los servicios.For Azure services, Azure Key Vault is the recommended key storage solution and provides a common management experience across services. Las claves se almacenan y administran en los almacenes de claves, y se puede proporcionar acceso a Key Vault a los usuarios o servicios.Keys are stored and managed in key vaults, and access to a key vault can be given to users or services. Azure Key Vault admite la creación del cliente de claves o importación de claves de cliente para su uso en escenarios de clave de cifrado administrada por el cliente.Azure Key Vault supports customer creation of keys or import of customer keys for use in customer-managed encryption key scenarios.

Azure Active DirectoryAzure Active Directory

Los permisos para usar las claves almacenadas en Azure Key Vault, además de para administrar o tener acceso a ellas para el cifrado en reposo y el descifrado, se pueden dar a las cuentas de Azure Active Directory.Permissions to use the keys stored in Azure Key Vault, either to manage or to access them for Encryption at Rest encryption and decryption, can be given to Azure Active Directory accounts.

Jerarquía de las clavesKey Hierarchy

Se usa más de una clave de cifrado en una implementación de cifrado en reposo.More than one encryption key is used in an encryption at rest implementation. Almacenar una clave de cifrado en Azure Key Vault garantiza el acceso de clave segura y la administración central de claves.Storing an encryption key in Azure Key Vault ensures secure key access and central management of keys. Sin embargo, el acceso local del servicio a las claves de cifrado es más eficaz para el cifrado y descifrado masivo que la interacción con Key Vault para cada operación de datos, lo que permite un cifrado más seguro y un mejor rendimiento.However, service local access to encryption keys is more efficient for bulk encryption and decryption than interacting with Key Vault for every data operation, allowing for stronger encryption and better performance. Si se limita el uso de una clave de cifrado única, se reduce el riesgo de que la clave se encuentre en peligro y el costo de volver a cifrar cuando se debe reemplazar una clave.Limiting the use of a single encryption key decreases the risk that the key will be compromised and the cost of re-encryption when a key must be replaced. Los modelos de cifrado en reposo de Azure utilizan una jerarquía de claves formada por los siguientes tipos de claves a fin de abordar las necesidades que se indican a continuación:Azure encryptions at rest models use a key hierarchy made up of the following types of keys in order to address all these needs:

  • Clave de cifrado de datos (DEK) : Una clave simétrica AES256 usada para cifrar una partición o un bloque de datos.Data Encryption Key (DEK) – A symmetric AES256 key used to encrypt a partition or block of data. Un único recurso puede tener muchas particiones y muchas claves de cifrado de datos.A single resource may have many partitions and many Data Encryption Keys. Cifrar cada bloque de datos con una clave diferente dificulta los ataques de análisis criptográficos.Encrypting each block of data with a different key makes crypto analysis attacks more difficult. Se necesita acceso a las DEK por la instancia de proveedor o aplicación de recursos que cifra y descifra un bloque específico.Access to DEKs is needed by the resource provider or application instance that is encrypting and decrypting a specific block. Cuando se reemplaza una DEK con una nueva clave, solo se deben volver a cifrar los datos de su bloque asociado con una nueva clave.When a DEK is replaced with a new key only the data in its associated block must be re-encrypted with the new key.
  • Clave de cifrado de claves (KEK) : una clave de cifrado utilizada para cifrar las claves de cifrado de datos.Key Encryption Key (KEK) – An encryption key used to encrypt the Data Encryption Keys. El uso de una clave de cifrado de claves que siempre permanece en Key Vault permite a las propias claves de cifrado de datos cifrarse y controlarse.Use of a Key Encryption Key that never leaves Key Vault allows the data encryption keys themselves to be encrypted and controlled. La entidad que tiene acceso a la KEK puede ser diferente de la entidad que requiere la DEK.The entity that has access to the KEK may be different than the entity that requires the DEK. Una entidad puede adaptar el acceso a la DEK para limitar el acceso de cada DEK a una partición específica.An entity may broker access to the DEK to limit the access of each DEK to a specific partition. Puesto que la KEK es necesaria para descrifrar la DEK, la KEK es de manera eficaz un punto único por el que se pueden eliminar de forma eficaz las DEK mediante la eliminación de la KEK.Since the KEK is required to decrypt the DEKs, the KEK is effectively a single point by which DEKs can be effectively deleted by deletion of the KEK.

Las claves de cifrado de datos cifradas con las claves de cifrado de claves se almacenan por separado y solo una entidad con acceso a la clave de cifrado de claves puede descifrar dichas claves de cifrado de datos.The Data Encryption Keys, encrypted with the Key Encryption Keys are stored separately and only an entity with access to the Key Encryption Key can decrypt these Data Encryption Keys. Se admiten diferentes modelos de almacenamiento de claves.Different models of key storage are supported. Analizaremos cada modelo con más detalle más adelante en la sección siguiente.We will discuss each model in more detail later in the next section.

Modelos de cifrado de datosData Encryption Models

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.An understanding of the various encryption models and their pros and cons is essential for understanding how the various resource providers in Azure implement encryption at Rest. Estas definiciones se comparten entre todos los proveedores de recursos en Azure para asegurar la taxonomía y el idioma común.These definitions are shared across all resource providers in Azure to ensure common language and taxonomy.

Hay tres escenarios para el cifrado del lado servidor:There are three scenarios for server-side encryption:

  • Cifrado del lado servidor mediante claves administradas del servicioServer-side encryption using Service-Managed keys

    • Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifradoAzure Resource Providers perform the encryption and decryption operations
    • Microsoft administra las clavesMicrosoft manages the keys
    • Funcionalidad de nube completaFull cloud functionality
  • Cifrado del lado servidor mediante claves administradas por el cliente en Azure Key VaultServer-side encryption using customer-managed keys in Azure Key Vault

    • Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifradoAzure Resource Providers perform the encryption and decryption operations
    • El cliente controla las claves mediante Azure Key VaultCustomer controls keys via Azure Key Vault
    • Funcionalidad de nube completaFull cloud functionality
  • Cifrado del lado servidor mediante claves administradas por el cliente en el hardware controlado por el clienteServer-side encryption using customer-managed keys on customer-controlled hardware

    • Los proveedores de recursos de Azure realizan las operaciones de cifrado y descifradoAzure Resource Providers perform the encryption and decryption operations
    • Claves de controles de cliente en el hardware controlado por el clienteCustomer controls keys on customer-controlled hardware
    • Funcionalidad de nube completaFull cloud functionality

Para el cifrado del lado cliente, tenga en cuenta lo siguiente:For client-side encryption, consider the following:

  • Los servicios de Azure no pueden ver los datos descifradosAzure services cannot see decrypted data
  • Los clientes administran y almacenan las claves en ubicaciones locales (o en otras ubicaciones seguras).Customers manage and store keys on-premises (or in other secure stores). Las claves no están disponibles para los servicios de AzureKeys are not available to Azure services
  • Funcionalidad de nube reducidaReduced cloud functionality

Los modelos de cifrado admitidos en Azure se dividen en dos grupos principales: "Cifrado del cliente" y "Cifrado del servidor" como se mencionó anteriormente.The supported encryption models in Azure split into two main groups: “Client Encryption” and “Server-side Encryption” as mentioned previously. Independientemente del modelo de cifrado en reposo utilizado, los servicios de Azure siempre recomiendan el uso de un transporte seguro como TLS o HTTPS.Independent of the encryption at rest model used, Azure services always recommend the use of a secure transport such as TLS or 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á.Therefore, encryption in transport should be addressed by the transport protocol and should not be a major factor in determining which encryption at rest model to use.

Modelo de cifrado del clienteClient encryption model

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.Client Encryption model refers to encryption that is performed outside of the Resource Provider or Azure by the service or calling application. 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.The encryption can be performed by the service application in Azure, or by an application running in the customer data center. 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.In either case, when leveraging this encryption model, the Azure Resource Provider receives an encrypted blob of data without the ability to decrypt the data in any way or have access to the encryption keys. 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.In this model, the key management is done by the calling service/application and is opaque to the Azure service.

Cliente

Modelo de cifrado del lado servidorServer-side encryption model

Los modelos de cifrado del lado servidor hacen referencia al cifrado que se realiza mediante el servicio de Azure.Server-side Encryption models refer to encryption that is performed by the Azure service. En este modelo, el proveedor de recursos realiza las operaciones de cifrado y descifrado.In that model, the Resource Provider performs the encrypt and decrypt operations. Por ejemplo, Azure Storage puede recibir datos en las operaciones de texto sin formato y llevará a cabo el cifrado y descifrado internamente.For example, Azure Storage may receive data in plain text operations and will perform the encryption and decryption internally. 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.The Resource Provider might use encryption keys that are managed by Microsoft or by the customer depending on the provided configuration.

Server

Modelos de administración de claves de cifrado del lado servidorServer-side encryption key management models

Cada uno de los modelos de cifrado en reposo del lado servidor implica características distintivas de administración de claves.Each of the server-side encryption at rest models implies distinctive characteristics of key management. 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.This includes where and how encryption keys are created, and stored as well as the access models and the key rotation procedures.

Cifrado del lado servidor mediante claves administradas del servicioServer-side encryption using service-managed keys

Para muchos clientes, el requisito esencial es asegurarse de que los datos se cifran siempre que estén en reposo.For many customers, the essential requirement is to ensure that the data is encrypted whenever it is at rest. 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.Server-side encryption using service-managed Keys enables this model by allowing customers to mark the specific resource (Storage Account, SQL DB, etc.) for encryption and leaving all key management aspects such as key issuance, rotation, and backup to 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.Most Azure Services that support encryption at rest typically support this model of offloading the management of the encryption keys to Azure. El proveedor de recursos de Azure crea las claves, las coloca en un almacenamiento seguro y las recupera cuando es necesario.The Azure resource provider creates the keys, places them in secure storage, and retrieves them when needed. 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.This means that the service has full access to the keys and the service has full control over the credential lifecycle management.

administrado

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.Server-side encryption using service-managed keys therefore quickly addresses the need to have encryption at rest with low overhead to the customer. 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.When available a customer typically opens the Azure portal for the target subscription and resource provider and checks a box indicating, they would like the data to be encrypted. El cifrado del lado servidor de algunas instancias de Resource Manager con las claves administradas del servicio se encuentra activado de forma predeterminada.In some Resource Managers server-side encryption with service-managed keys is on by default.

El cifrado del lado servidor con las claves de Microsoft administradas implica que el servicio tiene acceso completo para almacenar y administrar las claves.Server-side encryption with Microsoft-managed keys does imply the service has full access to store and manage the keys. Aunque algunos clientes podrían desear administrar las claves porque creen que pueden conseguir mayor seguridad, se deben tener en cuenta los costos y riesgos asociados a una solución de almacenamiento de claves personalizadas al evaluar este modelo.While some customers may want to manage the keys because they feel they gain greater security, the cost and risk associated with a custom key storage solution should be considered when evaluating this model. En muchos casos, una organización podría determinar que los riesgos o restricciones de recursos de una solución local pueden ser mayores que el riesgo de administración en la nube de las claves de cifrado en reposo.In many cases, an organization may determine that resource constraints or risks of an on-premises solution may be greater than the risk of cloud management of the encryption at rest keys. 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 administración de claves de todo el modelo de administración para el servicio).However, this model might not be sufficient for organizations that have requirements to control the creation or lifecycle of the encryption keys or to have different personnel manage a service’s encryption keys than those managing the service (that is, segregation of key management from the overall management model for the service).

Acceso a la claveKey access

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.When Server-side encryption with service-managed keys is used, the key creation, storage, and service access are all managed by the service. 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.Typically, the foundational Azure resource providers will store the Data Encryption Keys in a store that is close to the data and quickly available and accessible while the Key Encryption Keys are stored in a secure internal store.

VentajasAdvantages

  • Instalación simpleSimple setup
  • Microsoft administra la rotación de claves, la copia de seguridad y la redundanciaMicrosoft manages key rotation, backup, and redundancy
  • El cliente no tiene el costo asociado con la implementación o el riesgo de un esquema personalizado de administración de claves.Customer does not have the cost associated with implementation or the risk of a custom key management scheme.

DesventajasDisadvantages

  • No hay control al cliente sobre las claves de cifrado (revocación, ciclo de vida, especificación de clave, etc.)No customer control over the encryption keys (key specification, lifecycle, revocation, etc.)
  • La administración de la clave no se puede separar del modelo de administración global para el servicioNo ability to segregate key management from overall management model for the service

Cifrado del lado servidor mediante claves administradas por el cliente en Azure Key VaultServer-side encryption using customer-managed keys in 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.For scenarios where the requirement is to encrypt the data at rest and control the encryption keys customers can use server-side encryption using customer-managed Keys in Key Vault. Algunos servicios solo pueden almacenar la clave de cifrado de clave de raíz en Azure Key Vault y almacenar la clave de cifrado de datos cifrada en una ubicación interna cercana a los datos.Some services may store only the root Key Encryption Key in Azure Key Vault and store the encrypted Data Encryption Key in an internal location closer to the data. 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.In that scenario customers can bring their own keys to Key Vault (BYOK – Bring Your Own Key), or generate new ones, and use them to encrypt the desired resources. 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.While the Resource Provider performs the encryption and decryption operations, it uses the configured key encryption key as the root key for all encryption operations.

La pérdida de claves de cifrado de claves significa también la pérdida de los datos.Loss of key encryption keys means loss of data. Por esta razón, no se deben eliminar las claves.For this reason, keys should not be deleted. Se debe realizar una copia de seguridad de las claves cada vez que se creen o giren.Keys should be backed up whenever created or rotated. La eliminación temporal debe estar habilitada en cualquier almacén que almacene claves de cifrado de claves.Soft-Delete should be enabled on any vault storing key encryption keys. En lugar de eliminar una clave, establezca la opción Habilitado en "false" o defina la fecha de expiración.Instead of deleting a key, set enabled to false or set the expiry date.

Acceso a la claveKey Access

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.The server-side encryption model with customer-managed keys in Azure Key Vault involves the service accessing the keys to encrypt and decrypt as needed. Las claves del cifrado en reposo son accesibles para un servicio a través de una directiva de control de acceso.Encryption at rest keys are made accessible to a service through an access control policy. Esta directiva concede el acceso de identidad de servicio para recibir la clave.This policy grants the service identity access to receive the key. Un servicio de Azure que se ejecuta en nombre de una suscripción asociada puede configurarse con una identidad dentro de esa suscripción.An Azure service running on behalf of an associated subscription can be configured with an identity in that subscription. El servicio puede realizar la autenticación de Azure Active Directory y recibir un token de autenticación que se identifica como el servicio que actúa en nombre de la suscripción.The service can perform Azure Active Directory authentication and receive an authentication token identifying itself as that service acting on behalf of the subscription. A continuación, se puede presentar ese token al Key Vault para obtener una clave a la que se le haya dado acceso.That token can then be presented to Key Vault to obtain a key it has been given access to.

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.For operations using encryption keys, a service identity can be granted access to any of the following operations: decrypt, encrypt, unwrapKey, wrapKey, verify, sign, get, list, update, create, import, delete, backup, and restore.

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).To obtain a key for use in encrypting or decrypting data at rest the service identity that the Resource Manager service instance will run as must have UnwrapKey (to get the key for decryption) and WrapKey (to insert a key into key vault when creating a new key).

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.For more detail on Key Vault authorization see the secure your key vault page in the Azure Key Vault documentation.

VentajasAdvantages

  • Control total sobre las claves usadas: Las claves de cifrado se administran en Key Vault del cliente bajo el control del cliente.Full control over the keys used – encryption keys are managed in the customer’s Key Vault under the customer’s control.
  • Capacidad de cifrar varios servicios en un patrónAbility to encrypt multiple services to one master
  • Puede separar la administración de la clave del modelo de administración global para el servicioCan segregate key management from overall management model for the service
  • Puede definir el servicio y la ubicación de la clave en regionesCan define service and key location across regions

DesventajasDisadvantages

  • El cliente tiene responsabilidad total para la administración de acceso a las clavesCustomer has full responsibility for key access management
  • El cliente tiene responsabilidad total para la administración del ciclo de vida de las clavesCustomer has full responsibility for key lifecycle management
  • Sobrecarga de configuración e instalación adicionalAdditional Setup & configuration overhead

Cifrado del lado servidor mediante claves administradas del servicio en el hardware controlado por el clienteServer-side encryption using service-managed keys in customer-controlled hardware

Algunos servicios de Azure permiten el modelo de administración de claves Host Your Own Key (HYOK).Some Azure services enable the Host Your Own Key (HYOK) key management model. 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.This management mode is useful in scenarios where there is a need to encrypt the data at rest and manage the keys in a proprietary repository outside of Microsoft’s control. En este modelo, el servicio debe recuperar la clave de un sitio externo.In this model, the service must retrieve the key from an external site. Las garantías de rendimiento y disponibilidad se ven afectadas y la configuración es más compleja.Performance and availability guarantees are impacted, and configuration is more complex. 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.Additionally, since the service does have access to the DEK during the encryption and decryption operations the overall security guarantees of this model are similar to when the keys are customer-managed in Azure Key Vault. 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.As a result, this model is not appropriate for most organizations unless they have specific key management requirements. Debido a estas limitaciones, la mayoría de los servicios de Azure no admiten el cifrado del lado del servidor mediante claves de servidor administradas en el hardware controlado por el cliente.Due to these limitations, most Azure Services do not support server-side encryption using server-managed keys in customer-controlled hardware.

Acceso a la claveKey Access

Cuando se usa el cifrado del lado servidor mediante las claves administradas del servicio en el hardware controlado del cliente, las claves se mantienen en un sistema configurado por el cliente.When server-side encryption using service-managed keys in customer-controlled hardware is used the keys are maintained on a system configured by the customer. 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.Azure services that support this model provide a means of establishing a secure connection to a customer supplied key store.

VentajasAdvantages

  • Control total sobre la clave raíz usada: una tienda proporcionada por el un cliente administra las claves de cifradoFull control over the root key used – encryption keys are managed by a customer provided store
  • Capacidad de cifrar varios servicios en un patrónAbility to encrypt multiple services to one master
  • Puede separar la administración de la clave del modelo de administración global para el servicioCan segregate key management from overall management model for the service
  • Puede definir el servicio y la ubicación de la clave en regionesCan define service and key location across regions

DesventajasDisadvantages

  • Responsabilidad total para la disponibilidad, rendimiento, seguridad y almacenamiento de clavesFull responsibility for key storage, security, performance, and availability
  • Responsabilidad total para la administración de acceso a las clavesFull responsibility for key access management
  • Responsabilidad total para la administración del ciclo de vida de las clavesFull responsibility for key lifecycle management
  • Costos significativos de mantenimiento en curso, instalación y configuraciónSignificant setup, configuration, and ongoing maintenance costs
  • Dependencia aumentada sobre la disponibilidad de la red entre el centro de datos del cliente y los centros de datos de Azure.Increased dependency on network availability between the customer datacenter and Azure datacenters.

Cifrado en reposo en servicios en la nube de MicrosoftEncryption at rest in Microsoft cloud services

Los Servicios en la nube de Microsoft se utilizan en los tres modelos de la nube: IaaS, PaaS, SaaS.Microsoft Cloud services are used in all three cloud models: IaaS, PaaS, SaaS. A continuación encontrará ejemplos de cómo encajan en cada modelo:Below you have examples of how they fit on each model:

  • Servicios de software, que se conocen como software como servicio o SaaS, que tienen la aplicación proporcionada por la nube, como Office 365.Software services, referred to as Software as a Server or SaaS, which have application provided by the cloud such as Office 365.
  • Servicios de la plataforma de los que los clientes sacan provecho en la nube en sus aplicaciones, que usan la nube para tareas como almacenamiento, análisis y funcionalidad de bus de servicio.Platform services which customers leverage the cloud in their applications, using the cloud for things like storage, analytics, and service bus functionality.
  • Servicios de infraestructura o infraestructura como servicio (IaaS) en los que el cliente implementa sistemas operativos y aplicaciones que se hospedan en la nube y, posiblemente, saca provecho de otros servicios en la nube.Infrastructure services, or Infrastructure as a Service (IaaS) in which customer deploys operating systems and applications that are hosted in the cloud and possibly leveraging other cloud services.

Cifrado en reposo para clientes de SaaSEncryption at rest for SaaS customers

Los clientes del software como servicio (SaaS) suelen tener el cifrado en reposo habilitado o disponible en cada servicio.Software as a Service (SaaS) customers typically have encryption at rest enabled or available in each service. Office 365 dispone de varias opciones para que los clientes comprueben o habiliten el cifrado en reposo.Office 365 has several options for customers to verify or enable encryption at rest. Para información sobre los servicios de Office 365, vea Cifrado en Office 365.For information about Office 365 services, see Encryption in Office 365.

Cifrado en reposo para clientes PaaSEncryption at rest for PaaS customers

Los datos del cliente de la plataforma como servicio (PaaS) residen normalmente en un servicio de almacenamiento como Blob Storage, pero también pueden estar guardados en caché o almacenados en el entorno de ejecución de la aplicación, como una máquina virtual.Platform as a Service (PaaS) customer’s data typically resides in a storage service such as Blob Storage but may also be cached or stored in the application execution environment, such as a virtual machine. Para ver las opciones disponibles del cifrado en reposo, examine la tabla siguiente para las plataformas de aplicación y almacenamiento que utiliza.To see the encryption at rest options available to you, examine the table below for the storage and application platforms that you use.

Cifrado en reposo para clientes de IaaSEncryption at rest for IaaS customers

Los clientes de la infraestructura como servicio (IaaS) pueden tener una variedad de servicios y aplicaciones en uso.Infrastructure as a Service (IaaS) customers can have a variety of services and applications in use. Los servicios de IaaS pueden habilitar el cifrado en reposo en sus discos duros virtuales y máquinas virtuales que se hospedan en Azure mediante Azure Disk Encryption.IaaS services can enable encryption at rest in their Azure hosted virtual machines and VHDs using Azure Disk Encryption.

Almacenamiento cifradoEncrypted storage

Al igual que PaaS, las soluciones IaaS pueden sacar provecho de otros servicios de Azure que almacenan los datos que se cifran en reposo.Like PaaS, IaaS solutions can leverage other Azure services that store data encrypted at rest. En estos casos, puede habilitar el cifrado en el soporte del cifrado en reposo como proporciona cada servicio consumido de Azure.In these cases, you can enable the Encryption at Rest support as provided by each consumed Azure service. La siguiente tabla enumera las principales plataformas de aplicación, servicios y almacenamiento y el modelo de cifrado en reposo admitido.The below table enumerates the major storage, services, and application platforms and the model of Encryption at Rest supported.

Compute de cifradoEncrypted compute

Todos los discos, instantáneas e imágenes administrados están cifrados mediante Storage Service Encryption con una clave administrada por servicio.All Managed Disks, Snapshots, and Images are encrypted using Storage Service Encryption using a service-managed key. Una solución de cifrado en reposo más completa requiere que los datos no se conserven nunca en un formato no cifrado.A more complete Encryption at Rest solution ensures that the data is never persisted in unencrypted form. Al procesar los datos en una máquina virtual, los datos se pueden conservar en el archivo de paginación de Windows o el archivo de intercambio de Linux, un archivo de volcado o en un registro de aplicaciones.While processing the data on a virtual machine, data can be persisted to the Windows page file or Linux swap file, a crash dump, or to an application log. Para asegurarse de que estos datos se cifran en reposo, las aplicaciones IaaS pueden usar Azure Disk Encryption en una máquina virtual de IaaS de Azure (Windows o Linux) y un disco virtual.To ensure this data is encrypted at rest, IaaS applications can use Azure Disk Encryption on an Azure IaaS virtual machine (Windows or Linux) and virtual disk.

Cifrado de datos en reposo personalizadoCustom encryption at rest

Se recomienda que siempre que sea posible, las aplicaciones IaaS saquen provecho de las opciones de cifrado en reposo y Azure Disk Encryption proporcionadas por los servicios de Azure consumidos.It is recommended that whenever possible, IaaS applications leverage Azure Disk Encryption and Encryption at Rest options provided by any consumed Azure services. En algunos casos, como requisitos de cifrado irregulares o almacenamiento que no se basa en Azure, un desarrollador de una aplicación de IaaS podría necesitar implementar el cifrado en reposo.In some cases, such as irregular encryption requirements or non-Azure based storage, a developer of an IaaS application may need to implement encryption at rest themselves. Las soluciones de los desarrolladores de IaaS podrían integrarse mejor con las expectativas de administración y del cliente de Azure mediante el aprovechamiento de ciertos componentes de Azure.Developers of IaaS solutions can better integrate with Azure management and customer expectations by leveraging certain Azure components. En concreto, los desarrolladores deben usar el servicio Azure Key Vault para proporcionar almacenamiento seguro de claves, así como proporcionar a sus clientes opciones de administración de claves coherentes con la mayoría de los servicios de la plataforma de Azure.Specifically, developers should use the Azure Key Vault service to provide secure key storage as well as provide their customers with consistent key management options with that of most Azure platform services. Además, las soluciones personalizadas deben usar identidades de servicio administradas de Azure para habilitar las cuentas de servicio para tener acceso a las claves de cifrado.Additionally, custom solutions should use Azure-Managed Service Identities to enable service accounts to access encryption keys. Para encontrar información para desarrolladores sobre Azure Key Vault y las identidades de servicio administradas, consulte sus respectivos SDK.For developer information on Azure Key Vault and Managed Service Identities, see their respective SDKs.

Compatibilidad con modelo de cifrado de proveedores de recursos de AzureAzure resource providers encryption model support

Los servicios de Microsoft Azure admitir uno o más modelos de cifrado en reposo.Microsoft Azure Services each support one or more of the encryption at rest models. Para algunos servicios, sin embargo, podrían no ser aplicables uno o varios de los modelos de cifrado.For some services, however, one or more of the encryption models may not be applicable. Para los servicios que admiten escenarios clave administrados por el cliente, puede que estos solo admitan un subconjunto de los tipos de clave que admite Azure Key Vault para las claves de cifrado de claves.For services that support customer-managed key scenarios, they may support only a subset of the key types that Azure Key Vault supports for key encryption keys. Además, los servicios pueden liberar compatibilidad para estos escenarios y tipos de claves en distintas programaciones.Additionally, services may release support for these scenarios and key types at different schedules. Esta sección describe el soporte del cifrado en reposo en el momento de redactar este artículo para cada uno de los servicios de almacenamiento de datos principales de Azure.This section describes the encryption at rest support at the time of this writing for each of the major Azure data storage services.

Azure Disk EncryptionAzure disk encryption

Cualquier cliente mediante las características de la infraestructura de Azure como servicio (IaaS) puede lograr el cifrado en reposo para sus discos y máquinas virtuales de IaaS y discos mediante Azure Disk Encryption.Any customer using Azure Infrastructure as a Service (IaaS) features can achieve encryption at rest for their IaaS VMs and disks through Azure Disk Encryption. Para más información sobre Azure Disk Encryption, vea la documentación de Azure Disk Encryption.For more information on Azure Disk encryption, see the Azure Disk Encryption documentation.

Almacenamiento de AzureAzure storage

Todos los servicios de Azure Storage (Blob Storage, Queue Storage, Table Storage y Azure Files) admiten el cifrado en reposo en el lado servidor; algunos servicios admiten además el cifrado de las claves administradas por el cliente y el cifrado del lado cliente.All Azure Storage services (Blob storage, Queue storage, Table storage, and Azure Files) support server-side encryption at rest; some services additionally support customer-managed keys and client-side encryption.

Azure SQL DatabaseAzure SQL Database

Azure SQL Database admite actualmente el cifrado en reposo para escenarios de cifrado en el lado cliente y en el lado servicio administrados por Microsoft.Azure SQL Database currently supports encryption at rest for Microsoft-managed service side and client-side encryption scenarios.

Actualmente, la compatibilidad con el cifrado del servidor se proporciona a través de una característica de SQL denominada Cifrado de datos transparente.Support for server encryption is currently provided through the SQL feature called Transparent Data Encryption. Una vez que un cliente de Azure SQL Database habilita la clave TDE, se crea y administra automáticamente para él.Once an Azure SQL Database customer enables TDE key are automatically created and managed for them. El cifrado en reposo puede habilitarse en los niveles de base de datos y servidor.Encryption at rest can be enabled at the database and server levels. Desde junio de 2017, el cifrado de datos transparente (TDE) se habilita de forma predeterminada en las bases de datos recién creadas.As of June 2017, Transparent Data Encryption (TDE) is enabled by default on newly created databases. Azure SQL Database admite claves RSA de 2048 bits administradas por el cliente en Azure Key Vault.Azure SQL Database supports RSA 2048-bit customer-managed keys in Azure Key Vault. Para más información, consulte Cifrado de datos transparente con BYOK (Bring Your Own Key) para Azure SQL Database y Azure SQL Data Warehouse.For more information, see Transparent Data Encryption with Bring Your Own Key support for Azure SQL Database and Data Warehouse.

Se admite el cifrado del lado cliente de los datos de Azure SQL Database a través de la característica Always Encrypted.Client-side encryption of Azure SQL Database data is supported through the Always Encrypted feature. Always Encrypted utiliza una clave que el cliente crea y almacena.Always Encrypted uses a key that created and stored by the client. Los clientes pueden almacenar la clave maestra en el almacén de certificados de Windows, Azure Key Vault, o un módulo de seguridad de hardware.Customers can store the master key in a Windows certificate store, Azure Key Vault, or a local Hardware Security Module. Al usar SQL Server Management Studio, los usuarios de SQL eligen qué clave que les gustaría usar para cifrar cada columna.Using SQL Server Management Studio, SQL users choose what key they’d like to use to encrypt which column.

Tabla de modelo de cifrado y administración de clavesEncryption Model and key management table

Modelo de cifrado y administración de clavesEncryption Model and Key Management
Cifrado del lado servidor mediante claves administradas del servicioServer-Side Using Service-Managed Key Lado servidor mediante claves administradas por el clienteServer-Side Using Customer-Managed Key Lado cliente mediante claves administradas por el clienteClient-Side Using Client-Managed
Inteligencia artificial y aprendizaje automáticoAI and Machine Learning
Azure SearchAzure Search Yes - -
Servicio Azure Machine LearningAzure Machine Learning Service Yes - -
Azure Machine Learning StudioAzure Machine Learning Studio Yes Versión preliminar, RSA de 2048 bitsPreview, RSA 2048-bit -
Power BIPower BI Yes Versión preliminar, RSA de 2048 bitsPreview, RSA 2048-bit -
AnalyticsAnalytics
Azure Stream AnalyticsAzure Stream Analytics Yes - -
Event HubsEvent Hubs Yes Versión preliminar, todas las longitudes de RSA.Preview, all RSA Lengths. -
Azure Analysis ServicesAzure Analysis Services Yes - -
Azure Data CatalogAzure Data Catalog Yes - -
Apache Kafka en Azure HDInsightApache Kafka on Azure HDInsight Yes Todas las longitudes de RSA.All RSA Lengths. -
Explorador de datos de AzureAzure Data Explorer Yes - -
Azure Data FactoryAzure Data Factory Yes - -
Azure Data Lake StoreAzure Data Lake Store Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
ContenedoresContainers
Azure Kubernetes ServiceAzure Kubernetes Service Yes - -
Container RegistryContainer Registry Yes - -
ProcesoCompute
Virtual MachinesVirtual Machines Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
Conjunto de escalado de máquinas virtualesVirtual Machine Scale Set Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
SAP HANASAP HANA Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
Bases de datosDatabases
SQL Server en máquinas virtualesSQL Server on Virtual Machines Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Azure SQL DatabaseAzure SQL Database Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Azure SQL Database for MariaDBAzure SQL Database for MariaDB Yes - -
Azure SQL Database for MySQLAzure SQL Database for MySQL Yes - -
Azure SQL Database for PostgreSQLAzure SQL Database for PostgreSQL Yes - -
Azure SQL Data WarehouseAzure SQL Data Warehouse Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
SQL Server Stretch DatabaseSQL Server Stretch Database Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Table StorageTable Storage Yes - Yes
Azure Cosmos DBAzure Cosmos DB Yes - -
DevOpsDevOps
Azure DevOpsAzure DevOps Yes - Yes
Azure ReposAzure Repos Yes - Yes
IdentidadIdentity
Azure Active DirectoryAzure Active Directory Yes - -
Azure Active Directory Domain ServicesAzure Active Directory Domain Services Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
IntegraciónIntegration
Azure Service BusService Bus Yes - Yes
Event GridEvent Grid Yes - -
API ManagementAPI Management Yes - -
Servicios IoTIoT Services
IoT HubIoT Hub Yes - Yes
Administración y gobernanzaManagement and Governance
Azure Site RecoveryAzure Site Recovery Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Elementos multimediaMedia
Media ServicesMedia Services Yes - Yes
StorageStorage
Blob StorageBlob Storage Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Disk StorageDisk Storage Yes - -
Disk Storage administradoManaged Disk Storage Yes - -
File StorageFile Storage Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
Queue StorageQueue Storage Yes - Yes
Avere vFXTAvere vFXT Yes - -
Azure NetApp FilesAzure NetApp Files Yes - -
Archive StorageArchive Storage Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit -
StorSimpleStorSimple Yes Sí, RSA de 2048 bitsYes, RSA 2048-bit Yes
Azure BackupAzure Backup Yes - Yes
Data BoxData Box Yes - Yes

ConclusiónConclusion

La protección de datos del cliente almacenados dentro de los servicios de Azure es de gran importancia para Microsoft.Protection of customer data stored within Azure Services is of paramount importance to Microsoft. Todos los servicios hospedados en Azure se comprometen a proporcionar opciones de cifrado en reposo.All Azure hosted services are committed to providing Encryption at Rest options. Los servicios fundamentales como Azure Storage, Azure SQL Database y análisis e inteligencia de las claves proporcionan ya opciones de cifrado en reposo.Foundational services such as Azure Storage, Azure SQL Database, and key analytics and intelligence services already provide Encryption at Rest options. Algunos de estos servicios admiten claves controladas por el cliente y cifrado del lado cliente, así como cifrado y claves administradas del servicio.Some of these services support either customer controlled keys and client-side encryption as well as service-managed keys and encryption. Los servicios de Microsoft Azure están mejorando ampliamente la disponibilidad del cifrado en reposo y se planean nuevas opciones para la versión preliminar y la versión de disponibilidad general en los próximos meses.Microsoft Azure services are broadly enhancing Encryption at Rest availability and new options are planned for preview and general availability in the upcoming months.