Información general sobre Confidential Space


Confidential Space proporciona un entorno aislado para operar con datos sensibles de varias partes, de modo que los propietarios de esos datos puedan mantenerlos confidenciales. Los datos sensibles pueden incluir información personal identificable (IPI), información sanitaria protegida (PHI), propiedad intelectual, secretos criptográficos, modelos de aprendizaje automático (ML) u otros.

Puedes usar Espacio Confidencial para operar con datos sensibles que solo sean visibles para sus propietarios originales y una carga de trabajo acordada mutuamente. También puedes usarlo para ofrecer a los clientes finales una mayor privacidad de los datos, ya que el operador o el propietario de un entorno de Espacio Confidencial no pueden acceder a los datos que se están tratando.

Confidential Space usa un entorno de ejecución de confianza (TEE) que se puede usar para liberar tus secretos solo a cargas de trabajo autorizadas. Un proceso de certificación y una imagen del SO reforzada ayudan a proteger la carga de trabajo y los datos que procesa la carga de trabajo de un operador.

Para obtener más información sobre los casos prácticos y el modelo de seguridad de Confidential Space, consulta el artículo Descripción general de la seguridad de Confidential Space.

Componentes de Espacio confidencial

Un sistema de Espacio Confidencial tiene tres componentes principales:

  • Una carga de trabajo: una imagen en contenedores que contiene código que procesa los recursos protegidos. Se ejecuta sobre una imagen de Confidential Space, un sistema operativo reforzado basado en Container-Optimized OS. A su vez, se ejecuta en una VM confidencial, un TEE basado en la nube que ofrece aislamiento de hardware y funciones de certificación remota. La carga de trabajo suele estar en un proyecto independiente de los recursos protegidos.

  • El servicio de certificación: un verificador de certificación remota que devuelve pruebas de certificación en forma de tokens OpenID Connect (OIDC). Los tokens contienen atributos de identificación de la carga de trabajo. El servicio de certificación se ejecuta en la misma región que la carga de trabajo.

  • Recursos protegidos: recursos gestionados protegidos por un sistema de autenticación y autorización. Si los recursos están en Google Cloud, pueden ser recursos de nube gestionados, como claves de Cloud Key Management Service (Cloud KMS) o segmentos de Cloud Storage. Si los recursos no están en Google Cloud (por ejemplo, en un entorno local o en otra nube), pueden ser cualquier recurso.

Roles de Espacio confidencial

Los componentes de un sistema de espacio confidencial los gestionan personas con tres roles distintos:

  • Colaboradores de datos: las personas u organizaciones propietarias de los recursos protegidos en los que opera la carga de trabajo. Los colaboradores de datos pueden acceder a sus propios datos, definir permisos en esos datos y, en función de la salida de la carga de trabajo, acceder a los resultados basados en esos datos.

    Los colaboradores de datos no pueden acceder a los datos de los demás ni modificar el código de la carga de trabajo.

    Consulta Crear recursos confidenciales y conceder acceso a ellos para obtener más información sobre el rol de los colaboradores de datos.

  • Autor de la carga de trabajo: la persona que crea la aplicación que accede a los datos confidenciales y los procesa. Añaden la aplicación a una imagen contenerizada, por ejemplo, con Docker, y suben la imagen a un repositorio como Artifact Registry.

    El autor de la carga de trabajo no tiene acceso a los datos ni a los resultados, y tampoco puede controlar el acceso a ellos.

    Consulta el artículo Crear y personalizar cargas de trabajo para obtener más información sobre el rol del autor de la carga de trabajo.

  • Operador de la carga de trabajo: persona que ejecuta la carga de trabajo. El operador de cargas de trabajo suele tener privilegios de administrador completos en el proyecto en el que ejecuta la carga de trabajo. Por ejemplo, pueden gestionar recursos en su proyecto (como instancias, discos y reglas de redes de Compute Engine) e interactuar con cualquierGoogle Cloud API que actúe sobre ellos.

    El operador de la carga de trabajo no tiene acceso a los datos ni puede controlar el acceso a ellos. No pueden influir ni modificar el código de la carga de trabajo ni el entorno de ejecución.

    Consulta Desplegar cargas de trabajo para obtener más información sobre el rol del operador de cargas de trabajo.

Una persona puede asumir uno o varios de estos roles. Para ofrecer la máxima seguridad, Confidential Space admite un modelo de confianza en el que los colaboradores de datos, los autores de cargas de trabajo y los operadores de cargas de trabajo son partes independientes que no confían entre sí. Todos los roles deben colaborar entre sí para obtener los resultados que necesitan.

Ejemplo de flujo de Espacio confidencial

Espacio Confidencial utiliza varios Google Cloud servicios para ayudar a que la información privada se gestione de forma confidencial. Por lo general, la configuración de un espacio confidencial puede ser similar al siguiente proceso:

  1. Varios colaboradores de datos almacenan datos confidenciales cifrados en sus propios proyectos aislados Google Cloud , a menudo en organizaciones diferentes. Quieren comparar y procesar esos datos sin revelarlos entre sí ni a terceros. Los datos cifrados pueden estar en Cloud Storage, BigQuery u otro servicio.

  2. Los colaboradores de datos crean datos simulados y no confidenciales para que funcione una carga de trabajo de prueba. Estos datos pueden ser archivos diferentes o estar en otro lugar, como un segmento de Cloud Storage independiente.

  3. Los colaboradores de datos crean un grupo de identidades de carga de trabajo (WIP). Más adelante, una carga de trabajo que se ejecute en el proyecto independiente y aislado de un operador de carga de trabajo puede usar ese WIP para acceder a los datos confidenciales de los colaboradores.

  4. El autor de la carga de trabajo escribe el código para procesar los datos confidenciales. En un proyecto independiente de los colaboradores de datos y del operador de cargas de trabajo, crea una imagen contenerizada con Docker y la sube a Artifact Registry.

  5. El operador de la carga de trabajo crea una cuenta de servicio en un proyecto aislado que tiene acceso de lectura a la ubicación donde se almacenan los datos confidenciales cifrados de los colaboradores de datos y acceso de escritura a una ubicación (por ejemplo, un segmento de Cloud Storage) para generar el resultado de la operación con los datos descifrados. Más adelante, esta cuenta de servicio se adjunta a una VM confidencial que ejecuta la carga de trabajo.

  6. Los colaboradores de datos añaden un proveedor a sus grupos de identidades de carga de trabajo. Añaden detalles al proveedor, como el servicio de certificación que se debe usar, las asignaciones de atributos para crear un registro de auditoría en los registros y las condiciones de los atributos. Estos detalles verifican las afirmaciones realizadas por la imagen de Espacio confidencial, el contenedor de la carga de trabajo y la instancia de VM de la carga de trabajo. Si la carga de trabajo supera esta verificación, podrá acceder a los datos confidenciales y descifrarlos.

  7. La carga de trabajo se prueba con los datos no confidenciales iniciando una instancia de VM confidencial en el proyecto del operador de la carga de trabajo. La VM se basa en una versión de depuración de la imagen de Confidential Space que carga la carga de trabajo en contenedores.

    Una vez que se hayan verificado las certificaciones de la VM y la carga de trabajo cumpla las condiciones de los colaboradores de datos, la cuenta de servicio asociada a la VM podrá acceder a los datos confidenciales, procesarlos y generar un resultado.

  8. Una vez que se hayan completado la monitorización y la depuración, la carga de trabajo se actualizará para su uso en producción. Los colaboradores de datos actualizan y protegen aún más sus proveedores de identidades de carga de trabajo, si es necesario, y pueden optar por probar la carga de trabajo de producción con datos no confidenciales primero.

  9. Todas las partes dan su conformidad con la carga de trabajo de producción y está lista para empezar a trabajar con datos confidenciales.

Requisitos

Espacio confidencial requiere que la VM confidencial funcione. Las instancias de VM confidenciales deben usar AMD SEV, Intel TDX o Intel TDX con Confidential Computing de NVIDIA (versión preliminar) como tecnología de Confidential Computing. Consulta las configuraciones admitidas para obtener información sobre las opciones de configuración de hardware y las ubicaciones en las que se pueden crear instancias de VM confidenciales.

Siguientes pasos