En esta página, se analizan los conceptos clave y la terminología de Confidential VM. Para comenzar a usar Confidential VM, consulta la guía de inicio rápido.
Confidential Computing
Confidential Computing es la protección de los datos en uso con entorno de ejecución confiable (TEE) basado en hardware. Los TEE son entornos seguros y aislados que evitan el acceso o la modificación no autorizados de aplicaciones y datos mientras están en uso. El Consorcio de Confidential Computing define este estándar de seguridad.
Encriptación de extremo a extremo
La encriptación de extremo a extremo se compone de tres estados.
- La encriptación en reposo protege tus datos mientras se almacenan.
- La encriptación en tránsito protege tus datos cuando se mueven entre dos puntos.
- La encriptación en uso protege tus datos mientras se procesan.
Confidential Computing proporciona la última parte de la encriptación de extremo a extremo: encriptación en uso.
Confidential VM
Una Confidential VM es un tipo de VM de Compute Engine que garantiza que los datos y las aplicaciones permanezcan privados y encriptados incluso mientras se usan. Puedes usar una Confidential VM como parte de tu estrategia de seguridad para no exponer datos ni cargas de trabajo sensibles durante el procesamiento.
Confidential VM se ejecuta en hosts con procesadores AMD EPYC que incluyen Secure Encrypted Virtualization (SEV) de AMD. La incorporación de SEV en Confidential VM proporciona los siguientes beneficios y funciones.
Aislamiento: Secure Processor (SP) de AMD genera claves de encriptación durante la creación de la VM, las que residen solo dentro del sistema en chip (SoC) de AMD. Ni siquiera Google puede acceder a estas claves, lo que ofrece un aislamiento mejorado.
Certificación: Confidential VM usa la certificación del Módulo de plataforma segura virtual (vTPM). Cada vez que se inicia una Confidential VM basada en SEV de AMD, se genera un evento de informe de certificación de inicio.
Alto rendimiento: SEV de AMD ofrece alto rendimiento para tareas de procesamiento exigentes. Habilitar Confidential VM tiene un impacto leve o nulo en la mayoría de las cargas de trabajo, con una degradación del rendimiento del 0 al 6% solamente.
Habilita Confidential VM
Puedes habilitar Confidential Computing cada vez que crees una VM nueva. La creación de una Confidential VM solo requiere una casilla de verificación adicional o 1 o 2 líneas de código más que la creación de una VM estándar. Puedes seguir usando las otras herramientas y flujos de trabajo con los que ya estás familiarizado. Agregar Confidential Computing no requiere cambios en tus aplicaciones existentes.
Confidential Space
El espacio confidencial está diseñado para permitir que las partes compartan datos sensibles con una carga de trabajo acordada mutuamente, mientras conservan la confidencialidad y la propiedad de esos datos. Estos datos pueden incluir información de identificación personal (PII), información de salud protegida (PHI), propiedad intelectual, secretos criptográficos y mucho más. Confidential Space ayuda a crear aislamiento a fin de que los datos solo sean visibles para la carga de trabajo y los propietarios originales de los datos.
Confidential Space usa un TEE diseñado para lanzar secretos solo a las cargas de trabajo autorizadas. Un proceso de certificación y una imagen de SO endurecida ayudan a proteger la carga de trabajo y los datos que procesa la carga de trabajo desde un operador no confiable.
Un sistema de Confidential Space tiene tres componentes principales:
- Una carga de trabajo: una imagen en contenedores se ejecuta sobre la imagen de espacio confidencial, un SO endurecido basado en Container-Optimized OS. Se ejecuta en Confidential Computing, un TEE basado en la nube que ofrece aislamiento de hardware y capacidades de certificación remota.
- Un servicio de certificación: Es un proveedor de tokens OpenID Connect (OIDC) que verifica las certificaciones para el TEE y las versiones de los tokens de autenticación. Los tokens contienen atributos de identificación para la carga de trabajo.
- Un recurso protegido: un recurso de nube administrado, como una clave de Cloud Key Management Service (Cloud KMS) o un bucket de Cloud Storage. El recurso está protegido por una política de permisos que otorga acceso a tokens de identidad federada autorizados. Un paso intermedio, mediante el uso de grupos de Workload Identity, transforma los tokens de OIDC en tokens de identidad federada que IAM puede consumir, siempre que se cumplan ciertas condiciones.
En un sistema de espacio confidencial, hay tres tipos de roles:
- El autor de la carga de trabajo, que crea una imagen alojada en contenedores que incluye una aplicación que tiene acceso a los recursos protegidos. El autor no tiene acceso ni puede controlar el acceso a los datos o los resultados.
- El operador de la carga de trabajo, que ejecuta la carga de trabajo en un proyecto de Google Cloud. Por lo general, el operador tiene privilegios administrativos completos en el proyecto. El operador puede administrar recursos como las instancias de Compute Engine, los discos y las reglas de red, y puede interactuar con cualquier API de Google Cloud que actúe en ellos. El operador no tiene acceso ni puede controlar el acceso a los datos o los resultados, y no puede influir o modificar el código de la carga de trabajo o el entorno de ejecución.
- Los propietarios de los recursos (o colaboradores de datos), que poseen el recurso protegido. El propietario de un recurso puede acceder a sus propios datos, configurar permisos en esos datos y acceder a los resultados de la carga de trabajo en función de esos datos. No puede acceder a los datos del otro propietario del recurso ni modificar el código de la carga de trabajo por sí mismo.
Confidential Space admite un modelo de confianza en el que el autor de la carga de trabajo, el operador de la carga de trabajo y los propietarios de recursos son partes independiente, que no confían entre sí. En el siguiente diagrama, se muestran los componentes y partes del sistema. La carga de trabajo se encuentra en un proyecto separado del recurso protegido.
Para obtener más detalles sobre los casos de uso de Confidential Space y cómo funciona, consulta Descripción general de seguridad de Confidential Space.
Imagen del espacio confidencial
La imagen de Confidential Space que ejecuta la carga de trabajo es un SO mínimo y de un solo propósito. Se basa en las mejoras de seguridad existentes de Container-Optimized OS y agrega los siguientes beneficios:
- Particiones de disco encriptadas con protección de integridad
- Conexiones de red autenticadas y encriptadas
- Varias medidas de inicio
- Inhabilitación del acceso remoto y herramientas específicas de la nube
- Transiciones de estado reducidas
La imagen de Confidential Space está disponible en dos variantes: producción y depuración. La versión de depuración se considera insegura y se usa para probar tu carga de trabajo con datos que no son de producción. Se diferencia de la imagen de producción de las siguientes maneras:
- SSH está habilitado.
- Una instancia de VM que ejecuta la imagen de depuración no se detiene después de que se completa la carga de trabajo.
Para obtener más información sobre cómo especificar qué imagen usas, consulta Opciones de VM de Confidential Space.
Requisitos
Confidential Space requiere Confidential Computing y Certificate Authority Service para funcionar. Estos servicios están disponibles en las ubicaciones detalladas en los siguientes vínculos:
Otros servicios de Confidential Computing
Google Cloud también ofrece los siguientes servicios de Confidential Computing:
Confidential Google Kubernetes Engine Node aplican el uso de Confidential VM en todos tus nodos de GKE.
Dataproc Confidential Compute cuenta con clústeres de Dataproc que usan Confidential VM.
¿Qué sigue?
Para crear con rapidez una instancia de Confidential VM, prueba la guía de inicio rápido.
Para obtener instrucciones detalladas sobre cómo crear una instancia de Confidential VM, consulta Crea una instancia de Confidential VM.
Obtén más información sobre SEV en el informe de AMD, AMD Memory Encryption.