Claves de encriptación proporcionadas por el cliente

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

Las claves de encriptación proporcionadas por el cliente (CSEK) son una función de Cloud Storage y Compute Engine. Si proporcionas tus propias claves de encriptación, Google usa tu clave para proteger las que genera Google y se usan en la encriptación y desencriptación de tus datos.

En este documento, se describe cómo funcionan los CSEK y cómo se protegen enGoogle Cloud.

Cómo funcionan los CSEK con Cloud Storage

Cuando usas CSEK en Cloud Storage, las siguientes claves forman parte del proceso de unión:

  • CSEK sin procesar: Proporcionas una CSEK sin procesar como parte de una llamada a la API. La clave CSEK sin procesar se transmite del frontend de Google (GFE) a la memoria del sistema de almacenamiento. Esta clave es la clave de encriptación de claves (KEK) en Cloud Storage para tus datos.
  • Claves de fragmentos unidos: La CSEK sin procesar se usa para unir las claves de fragmentos unidos.
  • Claves de fragmento sin procesar: Las claves de fragmento unidas unen las claves de fragmento sin procesar en la memoria. Las claves de fragmentos sin procesar se usan para encriptar los fragmentos de datos que se almacenan en los sistemas de almacenamiento. Estas claves se usan como las claves de encriptación de datos (DEK) en Cloud Storage para tus datos.

En el siguiente diagrama, se muestra el proceso de unión de claves.

CSEK de Cloud Storage

En la siguiente tabla, se describen las claves.

Claves Almacenadas en Propósito Accesible hasta

CSEK sin procesar

Memoria del sistema de almacenamiento

Protege las claves de fragmento unido.

Completar la operación solicitada por el cliente (por ejemplo, insertObject o getObject)

Claves de fragmento unido

Dispositivos de almacenamiento

Proteger las claves de fragmento sin procesar almacenadas en reposo

Se borra el objeto de almacenamiento.

Claves de fragmento sin editar

Memoria de los dispositivos de almacenamiento

Protege los datos que lees o escribes en el disco.

Completar la operación que solicita el cliente

Cómo funcionan los CSEK con Compute Engine

Cuando usas CSEK en Compute Engine, las siguientes claves forman parte del proceso de unión:

  • CSEK sin procesar: Proporcionas una CSEK sin procesar o una clave unida con RSA como parte de una llamada a la API. El CSEK se transmite del GFE al frontend interno del administrador de clústeres. El administrador de clústeres es un grupo de procesos que se ejecutan con una identidad de administrador de clústeres en la infraestructura de producción de Google que implementa la lógica para administrar recursos de Compute Engine, como instancias de VM y discos.
  • Clave de unión asimétrica de Google: Si se proporciona una clave unida con RSA como la CSEK, la clave se desune con una clave de unión asimétrica de Google.
  • Clave derivada de CSEK: La CSEK sin procesar se combina con un nonce criptográfico por disco persistente para generar una clave derivada de CSEK. Esta clave se usa como la KEK en Compute Engine para tus datos. En el frontend del Administrador de clústeres, la CSEK y la clave derivada de CSEK se conservan solo en la memoria del Administrador de clústeres. La clave derivada de CSEK se usa en la memoria del Administrador de clústeres para desunir las claves de disco unidas que se almacenan en los metadatos de la instancia del Administrador de clústeres y en los metadatos del Administrador de instancias, cuando se habilita el reinicio automático (estos metadatos no son los mismos que los metadatos de instancia).

  • Claves de disco sin procesar: La clave derivada de CSEK se usa para unir las claves de disco sin procesar cuando se crea un disco y a fin de desunirlas cuando se accede a un disco. Ocurren los siguientes eventos:

    • Si se habilita el reinicio automático, el administrador de clústeres almacena de forma persistente las claves de disco unidas durante la vida útil de la VM, de modo que la VM pueda reiniciarse en caso de falla. Las claves de disco unidas se unen con una clave de unión simétrica de Google. Los permisos de la clave de unión permiten que solo Compute Engine la use. Si se desactiva el reinicio automático, las claves de disco unidas se borran con el proceso de eliminación que se describe en Borrado de datos enGoogle Cloud.
    • Si se habilita la migración en vivo, la clave de disco sin procesar se pasa de la memoria de la instancia de VM anterior a la memoria de la instancia de VM nueva sin que el Administrador de instancias o el Administrador de clústeres participen en la copia de clave.

Las claves de disco sin procesar se pasan a la memoria del Administrador de clústeres (CM), el Administrador de instancias y la VM. Estas se usan como las DEK en Compute Engine para tus datos.

En el siguiente diagrama, se muestra cómo funciona el enlace de claves.

CSEK de Compute Engine

Claves Guardadas por Propósito Accesible hasta

CSEK sin procesar

Frontend del administrador de clústeres

Deriva la clave derivada de CSEK agregando un nonce criptográfico.

Se completó la operación solicitada por el cliente (por ejemplo, instances.insert, instances.attachDisk).

CSEK unida de clave pública

(cuando se usa unión de clave RSA)

Frontend del Administrador de clústeres

Deriva la clave derivada de CSEK desuniendo primero con una clave asimétrica de Google.

Se completó la operación que solicitó el cliente.

Clave asimétrica propiedad de Google

(cuando se usa unión de clave RSA)

Almacén de claves

Desune la clave unida con RSA.

Indefinidamente.

Clave derivada de CSEK

Frontend del administrador de clústeres

Une las claves de disco.

Se completó la operación de unión o desunión de clave.

Claves de disco unidas por Google

(cuando se usa el reinicio automático)

Frontend del administrador de clústeres

Proteger las claves de disco almacenadas en reposo, para discos adjuntos a instancias en ejecución

Reiniciar la instancia en casos en los que se pierde la memoria de la VM (por ejemplo, falla un host)

Se detuvo o borró la VM.

Claves de disco sin procesar

Memoria del supervisor de máquina virtual (VMM), memoria del administrador de clústeres

Leer o escribir datos en el disco, migrar en vivo la VM y realizar actualizaciones en el lugar.

Detener o borrar la VM

Clave derivada de CSEK unida por Google

Base de datos del Administrador de clústeres

Reiniciar la operación en caso de falla.

Completar la operación que solicita el cliente

Cómo se protegen las CSEK

En esta sección, se proporciona información sobre cómo se protegen las CSEK en el disco, cuando se mueven por la infraestructura de Google Cloud y en la memoria.

Las CSEK sin procesar, las claves derivadas de CSEK y las claves de disco sin procesar nunca se almacenan en disco sin encriptar. Las claves de disco sin procesar se almacenan unidas con claves derivadas de CSEK y con claves de Google cuando se usa el reinicio automático. Google no almacena tus claves de forma permanente en sus servidores.

Cada servicio usa funciones de administración de acceso proporcionadas por la infraestructura para especificar exactamente cuáles de los otros servicios pueden comunicarse con este. El servicio se configura con la lista de entidades permitidas de las identidades de cuenta de servicio permitidas, y la infraestructura de Google Cloudaplica la restricción de acceso automáticamente. Para obtener más información, consulta identidad, integridad y aislamiento de los servicios.

La infraestructura también proporciona integridad y privacidad criptográfica para los datos de RPC en la red. Los servicios pueden configurar el nivel de protección criptográfica que desean para cada RPC de infraestructura, y estas se habilitan en las CSEK. Para obtener más información, consulta Encriptación de la comunicación entre cargas de trabajo.

El material de claves se almacena en la memoria de varios sistemas, incluida la memoria del Administrador de clústeres y la memoria del VMM. El acceso a la memoria de estos sistemas está disponible por excepción (por ejemplo, como parte de un incidente) y las listas de control de acceso lo administran. Estos sistemas tienen inhabilitados los volcados de memoria o los escanean automáticamente para detectar material de claves. Para obtener información sobre las protecciones de estos trabajos, consulta Cómo protege Google sus servicios de producción.

¿Qué sigue?