Arquitectura de Cloud HSM

Este contenido se actualizó por última vez en noviembre de 2023 y representa el statu quo en el momento de su redacción. Es posible que en el futuro cambien las políticas y los sistemas de seguridad de Google, ya que mejoramos la protección de nuestros clientes de forma continua.

Para ayudarte a cumplir con las regulaciones corporativas y de cumplimiento, Cloud HSM te permite generar tus claves de encriptación y realizar operaciones criptográficas en los módulos de seguridad de hardware (HSM) certificados con el nivel 3 del estándar FIPS 140-2.

En este documento se describe la arquitectura de Cloud HSM, incluido cómo se administra y se crean las claves y el hardware.

Descripción general

Las operaciones criptográficas incluyen la encriptación de datos en reposo y la protección de las claves privadas de Certificate Authority Service y la protección de las claves de encriptación de datos, de modo que puedan almacenarse junto con los datos encriptados. Cloud HSM usa Marvell LiquidSecurity HSM (modelos CNL3560-NFBE-2.0-G y CNL3560-NFBE-3.0-G) con la versión de firmware 3.4 compilación 09. Para obtener más información sobre nuestra certificación, consulta Certificado #3718.

Cloud HSM está completamente administrado para que puedas proteger tus cargas de trabajo sin la sobrecarga operativa de administrar un clúster de HSM. El servicio proporciona las siguientes ventajas:

  • Disponibilidad global
  • Una API coherente y unificada
  • Ajuste de escala automático según tu uso
  • Administración centralizada y cumplimiento de las normativas

Cloud HSM está disponible en todas las regiones de Google Cloud en todo el mundo, incluidas las multirregiones que abarcan ubicaciones geográficas más grandes. En cuanto habilites Cloud HSM, puedes crear y usar claves respaldadas por HSM para proteger tus datos, incluidos los datos que almacenas en otros servicios de Google Cloud, como BigQuery, Cloud Storage y Persistent Disk.

Debido a que Cloud HSM y el hardware de HSM se administran mediante Google, no necesitas administrar las claves respaldadas por HSM, en producción. Cuando usas Cloud HSM, tus datos están estrictamente aislados de otros usuarios y servicios en Google Cloud. La API del plano de datos de Cloud HSM, que forma parte de la API de Cloud Key Management Service, te permite administrar las claves respaldadas por HSM de manera programática.

Cloud HSM admite las claves de encriptación administradas por el cliente (CMEK) respaldadas por HSM, en las que las claves CMEK son compatibles con Google Cloud. Por ejemplo, puedes encriptar datos en buckets de Cloud Storage o tablas de Cloud SQL mediante una clave de Cloud HS que administras.

Administración de Cloud HSM

Dentro de Cloud HSM, los ingenieros de confiabilidad de sitios (SRE) y los técnicos que trabajan en cada ubicación de los centros de datos de Google Cloud mantienen los clústeres de los HSM. Google se encarga de la seguridad física, la seguridad lógica, la infraestructura, la planificación de la capacidad, la expansión geográfica y la planificación de recuperación ante desastres del centro de datos.

Abstracción de hardware de HSM

Por lo general, las aplicaciones se comunican directamente con HSM mediante PKCS#11 y una API de administración de clústeres. Esta comunicación requiere que mantengas un código especializado para cargas de trabajo que usan o administran claves respaldadas por HSM.

Cloud HSM abstrae la comunicación del HSM mediante el proxy de solicitudes para claves respaldadas por HSM, a través de la API de Cloud Key Management Service. La abstracción reduce la necesidad de código específico de HSM. Cloud HSM hereda la integración estrecha con Cloud KMS.

La integración estrecha con Cloud KMS proporciona importantes beneficios de seguridad. La API de Cloud Key Management Service reduce significativamente la amplitud de la interfaz de HSM disponible, lo que reduce el riesgo en caso de una violación de la seguridad del cliente. Por ejemplo, un atacante no podría limpiar los HSM completos. De forma predeterminada, los intentos de destruir claves individuales se mitigan mediante un período de seguridad de 24 horas predeterminado. Puedes configurar el política de la organización constraints/cloudkms.minimumDestroyScheduledDuration para aplicar una longitud mínima programada para la duración de la destrucción de las claves nuevas y la política de la organización constraints/cloudkms.disableBeforeDestroy para borrar versiones de clave solo cuando están inhabilitadas. Para obtener más información, consulta Controla la destrucción de la versión de clave.

Puedes controlar el acceso a los recursos de HSM mediante Identity and Access Management (IAM). Es menos probable que la configuración de IAM tenga errores de configuración y errores que una solución de HSM personalizada.

Diagrama de la arquitectura de Cloud HSM

Separación geográfica estricta por diseño

En Cloud HSM, puedes elegir hacer que las claves estén disponibles de forma global o aplicar restricciones geográficas estrictas en las claves que requieren restricciones.

A menudo, los HSM se dividen en particiones, de modo que un solo dispositivo físico pueda funcionar como varios dispositivos lógicos. Puedes usar particiones para reducir los costos de implementación en los casos en los que necesites separar la administración de HSM y las claves.

Cada ubicación regional de Cloud HSM está asociada con una clave de unión separada. La clave de unión se clona en una partición en cada HSM en la ubicación, pero nunca deja el HSM en la ubicación. La clonación permite que los HSM en la misma región entreguen el mismo conjunto de claves de cliente y garantizan que los HSM fuera de la región no puedan entregar esas claves.

Cloud HSM también crea multirregiones con claves de unión. Todas las claves de cliente de una multirregión se unen con una clave de unión presente en una partición en todas las ubicaciones que constituyen la multirregión. El servicio usa el mismo hardware para multirregiones, pero proporciona el mismo aislamiento sólido entre las regiones y las multirregiones que existen entre las diferentes regiones.

Diagrama de la ubicación geográfica de Cloud HSM

El esquema de regionalización requiere que las claves de unión solo se repliquen en particiones adecuadas. Varios miembros del equipo de Cloud HSM deben aprobar cada cambio de configuración antes de que se active. Los técnicos de los centros de datos no pueden acceder a una configuración, al entorno de ejecución ni al almacenamiento de HSM en el campo.

Administración centralizada

En un centro de datos tradicional que aloja HSM, la administración de los HSM y sus recursos es completamente independiente de la administración de otros recursos criptográficos. Cloud HSM está estrechamente integrado a Google Cloud, lo que te permite administrar sin problemas tus recursos de Cloud HSM. Por ejemplo, puedes administrar lo siguiente:

  • Administra tus recursos respaldados por HSM junto con tus otras claves en Cloud KMS y las claves administradas de forma externa en Cloud External Key Manager (Cloud EKM).
  • Administra el acceso a los recursos respaldados por HSM dentro de IAM.
  • Los informes de costos para las operaciones criptográficas que usan claves respaldadas por HSM se informan en Facturación de Cloud.
  • Puedes usar claves respaldadas por HSM con transparencia en todos los servicios de Google Cloud que admiten la encriptación de recursos mediante CMEK. Las integraciones de CMEK requieren la clave CMEK y los datos que encripta para ubicarse en ubicaciones geográficas compatibles. Debido a la restricción geográfica estricta de las claves de Cloud HSM, toda encriptación y desencriptación de los datos de CMEK también están restringidas geográficamente.
  • Las operaciones administrativas en los recursos respaldados por HSM siempre se registran en la capa de la API en Registros de auditoría de Cloud. También puedes optar por habilitar el registro de acceso a los datos. Para obtener más información, consulta Información de registro de auditoría de Cloud KMS.
  • Google se asocia directamente con el fabricante de HSM para mantener el hardware y el software actualizados en cada HSM, y encontrar y solucionar problemas en tiempo real. En el caso de un ataque de cero días en el HSM, Google puede inhabilitar de manera selectiva las rutas del código afectadas en los clústeres de HSM afectados hasta que el problema se corrija.

Experiencia del desarrollador y del usuario

Debido a que Google es responsable de la administración de HSM, Cloud HSM ofrece importantes beneficios para los desarrolladores y usuarios finales.

HSM a la escala de Google

Cuando dependes de hardware que existe de forma local o en centros de datos, el hardware puede crear un cuello de botella en el rendimiento o convertirse en un punto único de fallo. Cloud HSM está diseñado para ser extremadamente resiliente a las cargas de trabajo y las fallas de hardware impredecibles. El backend de Cloud HSM usa un grupo de HSM en cada región para garantizar una alta disponibilidad y escalabilidad. Este grupo de HSM permite que Cloud HSM también proporcione una alta capacidad de procesamiento. Para obtener más información, consulta Supervisa y ajusta las cuotas de Cloud KMS.

Todas las claves de cliente se almacenan unidas con una clave de unión regional en la base de datos de Cloud KMS y solo pueden separarse mediante un HSM en la región como parte de una operación criptográfica. Esta unión tiene los siguientes beneficios:

  • La durabilidad de una clave no está vinculada a un HSM o subconjunto específico de HSM en una región.
  • Cada cliente de Cloud HSM experimenta la escala y disponibilidad completas de los clústeres de Cloud HSM que entregan sus claves.
  • Cloud HSM puede manejar un conjunto de claves mucho más grande que se puede almacenar en un HSM.
  • Agregar o reemplazar un HSM es rápido y seguro.

Diseño de API unificado

Cloud HSM y Cloud KMS comparten una API común de administración y plano de datos. Los detalles internos de la comunicación con un HSM se abstraen del emisor.

En consecuencia, no se requieren cambios de código para actualizar una aplicación existente que usa claves de software en Cloud KMS a fin de admitir claves respaldadas por HSM. En su lugar, actualiza el nombre del recurso de la clave que se usará.

Compatibilidad con PKCS#11

Puedes usar la API de Cloud Key Management Service para conectar tus aplicaciones existentes a Cloud HSM a fin de administrar las claves criptográficas. La biblioteca PKCS#11 te permite usar claves respaldadas por HSM para firmar tus objetos binarios y entregar sesiones web de TLS.

Seguridad y cumplimiento de las normativas

Cloud HSM obtuvo el cumplimiento de varias regulaciones, incluidas FedRAMP High, C5:2020 y OSPAR. Además, Cloud HSM te ayuda a aplicar el cumplimiento normativo para tus cargas de trabajo en la nube.

Certificación de claves criptográficas

Cada vez que generas o importas una clave de Cloud HSM, el HSM genera una declaración de certificación que se firma con una clave de firma asociada con la partición. La instrucción contiene información sobre los atributos de tu clave. La clave de firma está respaldada por cadenas de certificados raíz en Google y el fabricante de HSM. Puedes descargar la declaración de certificación y los certificados para verificar la autenticidad de la declaración y validar las propiedades de la clave y el HSM que la generó o importó.

La cadena de certificados te permite verificar lo siguiente:

  • El hardware y firmware de HSM son genuinos.
  • Google administra la partición de HSM y HSM.
  • HSM está en modo de operación FIPS.

El contenido de la declaración de certificación te permite verificar lo siguiente:

  • La clave no se puede extraer.
  • La clave se generó para tu CryptoKeyVersion.
  • La clave pública en un par de claves asimétricas corresponde a una clave privada respaldada por HSM.
  • El material de clave de una clave simétrica importada coincide con el valor que uniste.

Importación de claves seguras directamente a HSM

Puedes importar claves existentes de forma segura a Cloud HSM para mantener una copia de seguridad del material de la clave fuera de Google Cloud o simplificar la migración de ciertas cargas de trabajo a Google Cloud. El proceso de importación de claves no permite que Google acceda de forma directa al material de la clave separado. Cloud HSM te proporciona una declaración de certificación para la clave de unión generada por HSM para validar que no se produjo el acceso.

Debido a que la importación de claves podría generar riesgos de seguridad y cumplimiento, ya que permite que los usuarios traigan claves de fuentes desconocidas, los roles de IAM separados permiten un control detallado sobre quién puede importar claves a un proyecto. Las claves importadas se pueden distinguir por la declaración de certificación que el HSM genera en la importación.

Para obtener más información, consulta Importa una clave a Cloud Key Management Service.

Procedimientos de seguridad estrictos que protegen el hardware de HSM

Tal como lo exige el nivel 3 del estándar FIPS 140-2, los dispositivos HSM tienen mecanismos integrados para ofrecer protección contra la manipulación física y proporcionar evidencia de estos.

Además de las garantías proporcionadas por el hardware de HSM, la infraestructura de Cloud HSM se administra de acuerdo con la descripción general del diseño de seguridad de la infraestructura de Google.

Los procedimientos documentados y auditables protegen la integridad de cada HSM durante el aprovisionamiento, la implementación y la producción:

  • Todos los SRE de Cloud HSM deben verificarse mediante todas las configuraciones de HSM antes de implementarlas en un centro de datos.
  • Después de que un HSM se activa, solo los SRE de Cloud HSM pueden iniciar y verificar un cambio de configuración.
  • Un HSM solo puede recibir firmware firmado por el fabricante de HSM.
  • El hardware de HSM no está expuesto de forma directa a ninguna red.
  • No se permite la ejecución de procesos no autorizados de los servidores que alojan hardware de HSM.

Las obligaciones para los operadores de sistemas se definen en procedimientos operativos estándar. A los operadores del sistema se les impide acceder, usar o extraer material de la clave de cliente mientras realizan sus tareas.

Aislamiento de usuario y servicio

La arquitectura de Cloud HSM garantiza que los HSM estén protegidos de la interferencia maliciosa o involuntaria de otros servicios o usuarios.

Un HSM que forma parte de esta arquitectura acepta solicitudes solo desde Cloud HSM, y el servicio de Cloud HSM acepta solicitudes solo desde Cloud KMS. Cloud KMS exige que los emisores tengan los permisos de IAM adecuados en las claves que intentan usar. Las solicitudes no autorizadas no llegan a los HSM.

Las claves respaldadas por HSM también están sujetas a cuotas para operaciones criptográficas. Estas cuotas protegen tu capacidad para ejecutar las cargas de trabajo, ya que ayudan a prevenir intentos involuntarios o maliciosos de sobrecargar el servicio. Las cuotas predeterminadas, 3,000 QPM para operaciones criptográficas asimétricas y 30,000 QPM para operaciones criptográficas simétricas, se basan en patrones de uso observados. Las cuotas están por debajo de la capacidad del servicio y pueden aumentarse a pedido.

Flujos de solicitudes

En esta sección, se muestra cómo se aplican los aspectos destacados de la arquitectura anteriores en la práctica, ya que se muestran los pasos para diferentes tipos de solicitudes. Estos flujos destacan las partes de Cloud HSM. Para obtener más información sobre los pasos comunes a todas las claves, consulta el análisis detallado de Cloud Key Management Service.

Crea claves

Cuando creas una clave respaldada por HSM, la API de Cloud Key Management Service no crea el material de clave, pero solicita que el HSM lo cree.

Un HSM solo puede crear claves en ubicaciones que admita. Cada partición en un HSM contiene una clave de unión correspondiente a una ubicación de Cloud KMS. La clave de unión se comparte entre todas las particiones que admiten la ubicación de Cloud KMS. El proceso de creación de claves se ve de la siguiente manera:

  1. El Google Front End Service (GFE) enruta la solicitud de creación de claves a un servidor de Cloud KMS en la ubicación que corresponde a la solicitud.
  2. La API de Cloud Key Management Service verifica la identidad del emisor, su permiso para crear claves en el proyecto y que tenga suficiente cuota de solicitudes de escritura.
  3. La API de Cloud Key Management Service reenvía la solicitud a Cloud HSM.
  4. Cloud HSM interactúa directamente con el HSM. El HSM:
    1. Crea la clave y la une con la clave de unión específica de la ubicación.
    2. Crea la declaración de certificación para la clave y la firma con la clave de firma de partición.
  5. Después de que Cloud HSM muestra la clave unida y la certificación a Cloud KMS, la API de Cloud Key Management Service une la clave unida con HSM según la jerarquía de claves de Cloud KMS. Luego, la escribe en el proyecto.

Este diseño garantiza que la clave no se pueda separar o usar fuera de un HSM, no se pueda extraer de este y exista en su estado separado solo dentro de las ubicaciones especificadas.

En el siguiente diagrama, se muestran las diferencias cuando se crean claves de Cloud HSM y claves de software en Cloud KMS.

Diagrama de la creación de claves de HSM

Operaciones criptográficas

Cuando realizas una operación criptográfica en Cloud KMS, no necesitas saber si usas una clave de software o respaldada por HSM. Cuando la API de Cloud Key Management Service detecta que una operación involucra una clave respaldada por HSM, reenvía la solicitud a un HSM en la misma ubicación. A continuación, se describen los pasos para una operación criptográfica:

  1. El GFE enruta la solicitud a un servidor de Cloud KMS en la ubicación adecuada. La API de Cloud Key Management Service verifica la identidad del emisor, su permiso para acceder a la clave y realizar la operación, y la cuota del proyecto para las operaciones criptográficas.
  2. La API de Cloud Key Management Service recupera la clave unida del almacén de datos y desencripta un nivel de encriptación mediante la clave maestra de Cloud KMS. La clave aún está unida con la clave de unión de HSM para la ubicación de KMS.
  3. La API de Cloud Key Management Service detecta que el nivel de protección es HSM y envía la clave parcialmente separada, junto con las entradas a la operación criptográfica, a Cloud HSM.
  4. Cloud HSM interactúa directamente con el HSM. HSM completa las siguientes operaciones:
    1. Comprueba que la clave unida y sus atributos no se hayan modificado.
    2. Separa la clave y la carga en el almacenamiento de HSM.
    3. Realiza la operación criptográfica y muestra el resultado.
  5. La API de Cloud Key Management Service pasa el resultado al emisor.

Las operaciones criptográficas que usan claves respaldadas por HSM se realizan completamente dentro de un HSM en la ubicación configurada, y solo el resultado es visible para el emisor.

En este diagrama, se muestra la diferencia entre crear claves de Cloud HSM y claves de software en Cloud KMS.

Diagrama de operaciones de encriptación de HSM.

Integraciones de CMEK

CMEK y Cloud HSM te permiten proteger tus datos en servicios de Google Cloud seleccionados con claves de HSM. Configurar un servicio habilitado para CMEK para usar claves de Cloud HSM es tan simple como elegir una clave con un nivel de protección de HSM cuando sigues las instrucciones específicas del servicio.

Cuando el emisor lee o escribe datos en un servicio habilitado para CMEK, el emisor no necesita permiso directo para usar la clave y no necesita saber si la clave está almacenada en un HSM.

El flujo de una operación de CMEK es muy similar al de una operación criptográfica normal, con las siguientes excepciones:

  • La solicitud del servicio habilitado para CMEK se inicia dentro de la red de Google y no necesita atravesar el GFE.
  • La API de Cloud Key Management Service verifica que la cuenta de servicio del servicio habilitado para CMEK tenga los permisos adecuados para usar la clave. La API de Cloud Key Management Service no valida los permisos en el usuario final del servicio habilitado para CMEK.

Cloud HSM es el servicio de administración de claves de hardware de Google Cloud. Ofrece una serie de ventajas distintivas a los usuarios que buscan proteger sus datos en reposo con claves de HSM. El servicio se diseñó con los principios del acceso a la API bloqueado en los HSM, el escalamiento sin esfuerzo y la regionalización estricta de las claves.

Cloud HSM ofrece compatibilidad con CMEK para los servicios y la presencia más importantes de Cloud HSM en cada región de Google Cloud (incluidas las regiones múltiples y las globales). El servicio está diseñado para que puedas proteger tus datos sensibles con facilidad, dondequiera que esté, con una clave protegida por dispositivos nivel 3 del estándar FIPS 140-2.

¿Qué sigue?

Para obtener más información, explora los siguientes recursos: