Cifrado

Para la mayoría de las organizaciones, los datos son el recurso más valioso e irreemplazable. El cifrado sirve como la última y más fuerte línea de defensa de una estrategia de seguridad por capas.

Contoso Shipping sabe que el cifrado es la única protección que tienen sus datos una vez que salen del centro de datos y se almacenan en dispositivos móviles que podrían ser pirateados o robados.

¿Qué es el cifrado?

El cifrado es el proceso para hacer que los datos aparezcan ilegibles e inútiles para visores no autorizados. Para usar o leer los datos cifrados, es necesario descifrarlos, lo que requiere el uso de una clave secreta. Hay dos tipos de cifrado de nivel superior: simétrico y asimétrico.

El cifrado simétrico usa la misma clave para cifrar y descifrar los datos. Piense por ejemplo en una aplicación de administración de contraseñas de escritorio. Cuando escriba las contraseñas, estas se cifran con su propia clave personal (su clave a menudo procede de la contraseña maestra). Cuando es necesario recuperar los datos, se usa la misma clave y se descifran los datos.

El cifrado asimétrico usa un par de claves pública y privada. Cualquiera de las dos puede cifrar, pero una sola no puede descifrar sus propios datos cifrados. Para descifrar se necesita la otra clave del par. El cifrado asimétrico se utiliza, por ejemplo, para Seguridad de la capa de transporte (TLS) (que se usa en HTTPS) y la firma de datos.

Tanto el cifrado simétrico como el asimétrico desempeñan un papel en la protección apropiada de los datos. Normalmente el cifrado se enfoca de dos maneras:

  1. Cifrado en reposo
  2. Cifrado en tránsito

Cifrado en reposo

Los datos en reposo son aquellos que se han almacenado en un medio físico. Puede tratarse de datos almacenados en el disco de un servidor, en una base de datos o en una cuenta de almacenamiento. Independientemente del mecanismo de almacenamiento, el cifrado de datos en reposo garantiza que los datos almacenados son ilegibles sin las claves y los secretos necesarios para descifrarlos. Si un atacante lograra obtener una unidad de disco duro con este tipo de datos cifrados pero no tuviera acceso a las claves del cifrado, no podría poner los datos en peligro con facilidad.

Los datos reales que se cifran pueden variar en su contenido, uso e importancia para la organización. Puede ser información financiera vital para el negocio, propiedad intelectual que ha desarrollado la empresa, datos personales de los clientes o empleados que almacena la empresa e, incluso, las claves y los secretos usados para el cifrado de los propios datos.

En este diagrama se muestra el aspecto de los datos de cliente cifrados en una base de datos.

Ilustración que muestra un ejemplo de cifrado en reposo Los datos se guardan en el almacenamiento en un formato cifrado al que solo se puede acceder con una clave.

Cifrado en tránsito

Los datos en tránsito son los que se están moviendo activamente de una ubicación a otra, por ejemplo por Internet o a través de una red privada. La transferencia segura se puede controlar mediante varias capas diferentes. Se puede hacer mediante el cifrado de los datos en el nivel de aplicación antes de enviarlos a través de una red. HTTPS es un ejemplo de nivel de aplicación en el cifrado en tránsito.

También puede configurar un canal seguro, como una red privada virtual (VPN), en un nivel de red, para transmitir datos entre dos sistemas.

El cifrado de datos en tránsito protege los datos de los observadores exteriores y proporciona un mecanismo para transmitirlos que limita el riesgo de exposición.

En este diagrama se muestra el proceso. En este caso, los datos de los clientes se cifran cuando se envían a través de la red. Solo el receptor tiene la clave secreta que permite descifrar los datos a un formato útil.

Ilustración en la que se muestra un ejemplo de cifrado en tránsito. Los datos se cifran antes de ser transferidos. Cuando llegan a su destino, los datos se descifran.

Cifrado en Azure

Echemos un vistazo a algunas formas que proporciona Azure para cifrar los datos en los servicios.

Imagen que representa almacenamiento cifrado

Almacenamiento sin formato cifrado

Azure Storage Service Encryption para datos en reposo ayuda a proteger los datos con el fin de cumplir con los compromisos de seguridad y de cumplimiento de la organización. Con esta característica, la plataforma de almacenamiento de Azure cifra automáticamente los datos antes de almacenarlos en Azure Managed Disks, Azure Blob Storage, Azure Files o Azure Queue Storage y los descifra antes de recuperarlos. El control del cifrado, el cifrado en reposo, el descifrado y la administración de claves en Storage Service Encryption son transparentes para las aplicaciones que usan los servicios.

Imagen que representa una máquina virtual cifrada

Discos de máquina virtual cifrados

Storage Service Encryption proporciona protección de cifrado de bajo nivel para los datos escritos en un disco físico pero, ¿cómo se protegen los discos duros virtuales (VHD) de las máquinas virtuales? Si algunos atacantes malintencionados han obtenido acceso a la suscripción de Azure y han obtenido los discos duros virtuales de las máquinas virtuales, ¿cómo se garantiza que no puedan acceder a los datos almacenados?

Azure Disk Encryption es una funcionalidad que ayuda a cifrar los discos de las máquinas virtuales de IaaS Windows y Linux. Azure Disk Encryption aprovecha la característica estándar del sector BitLocker de Windows y la característica dm-crypt de Linux para ofrecer cifrado de volumen para los discos de datos y del sistema operativo. La solución se integra con Azure Key Vault para ayudar a controlar y administrar los secretos y las claves de cifrado de discos (y puede usar las identidades de servicio administradas para acceder a Key Vault).

En el caso de Contoso Shipping, el uso de máquinas virtuales fue uno de sus primeros movimientos hacia la nube. El cifrado de todos los discos duros virtuales es una manera muy fácil y de bajo impacto de garantizar que se hace todo lo posible por proteger los datos de una empresa.

Imagen que representa una base de datos cifrada

Bases de datos cifradas

El cifrado de datos transparente (TDE) ayuda a proteger Azure SQL Database y Azure Data Warehouse frente a la amenaza de actividad malintencionada. También realiza cifrado y descifrado de la base de datos en tiempo real, copias de seguridad asociadas y archivos de registro de transacciones en reposo sin necesidad de efectuar cambios en la aplicación. De forma predeterminada, TDE está habilitado para todas las instancias de Azure SQL Database recién implementadas.

TDE cifra el almacenamiento de una base de datos completa mediante el uso de una clave simétrica denominada clave de cifrado de base de datos. De forma predeterminada, Azure proporciona una clave de cifrado única por cada instancia lógica de SQL Server y controla todos los detalles. También se admite el servicio Bring Your Own Key (BYOK) con las claves almacenadas en Azure Key Vault (vea a continuación).

Como TDE está habilitado de forma predeterminada, tiene la seguridad de que Contoso Shipping tiene los mecanismos de protección adecuados para los datos almacenados en las bases de datos de la empresa.

Imagen que representa un secreto cifrado

Cifrado de secretos

Hemos visto que todos los servicios de cifrado usan claves para cifrar y descifrar datos pero, ¿cómo garantizamos la protección de las propias claves? Las empresas también pueden tener contraseñas, cadenas de conexión u otros elementos de información confidenciales que tienen que almacenar de forma segura. En Azure, se puede usar Azure Key Vault para proteger los secretos.

Azure Key Vault es un servicio centralizado en la nube para almacenar secretos de aplicación. Key Vault ayuda a controlar los secretos de la aplicación al mantenerlos en una sola ubicación centralizada y al proporcionar funcionalidades de acceso seguro, control de permisos y registro de acceso. Resulta útil para una serie de escenarios:

  • Administración de secretos. Puede usar Azure Key Vault para almacenar de forma segura y controlar de manera estricta el acceso a tokens, contraseñas, certificados, claves de interfaz de programación de aplicaciones (API) y otros secretos.
  • Administración de claves. También se puede usar Key Vault como solución de administración de claves. Key Vault facilita la creación y el control de las claves de cifrado usadas para cifrar los datos.
  • Administración de certificados. Key Vault permite aprovisionar, administrar e implementar certificados públicos y privados de Capa de sockets seguros y de Seguridad de la capa de transporte (SSL/TLS) para los recursos de Azure, y sus recursos conectados internamente, con más facilidad.
  • Almacenamiento de secretos respaldado por módulos de seguridad de hardware (HSM). Las claves y los secretos se pueden proteger mediante software o mediante dispositivos HSM validados por FIPS 140-2 nivel 2.

Las ventajas del uso de Key Vault incluyen:

  • Secretos de aplicación centralizados. La centralización del almacenamiento de secretos de aplicación permite controlar su distribución y reduce las posibilidades de que se puedan filtrar accidentalmente.
  • Secretos y claves almacenados de forma segura. Azure usa algoritmos estándar del sector, longitudes de clave y HSM, y el acceso requiere autorización y autenticación correctas.
  • Supervisión del acceso y el uso. Con Key Vault, puede supervisar y controlar el acceso a los secretos de la empresa.
  • Administración simplificada de secretos de aplicación. Key Vault facilita la inscripción y la renovación de certificados de entidades de certificación (CA) públicas. También puede escalar verticalmente y replicar contenido dentro de las regiones y usar herramientas de administración de certificados estándar.
  • Integración con otros servicios de Azure. Puede integrar Key Vault con cuentas de almacenamiento, registros de contenedor, centros de eventos y muchos más servicios de Azure.

Dado que a las identidades de Azure AD se les puede conceder acceso para usar secretos de Azure Key Vault, las aplicaciones con identidades de servicio administradas habilitadas pueden adquirir de forma automática y sin problemas los secretos que necesiten.

Resumen

Como seguramente sabrá, por lo general el cifrado es la última capa de defensa frente a los atacantes y, por tanto, una parte importante del enfoque por capas para proteger los sistemas. Azure proporciona funcionalidades y servicios integrados para cifrar y proteger los datos de una exposición no deseada. La protección de datos del cliente almacenados dentro de los servicios de Azure es de gran importancia para Microsoft y debe incluirse en cualquier diseño. Servicios fundamentales, como Azure Storage, Azure Virtual Machines, Azure SQL Database y Azure Key Vault, pueden ayudar a proteger el entorno mediante el cifrado.