Claves de encriptado proporcionadas por el cliente

Este contenido se actualizó por última vez en febrero del 2025 y representa la situación en el momento en que se redactó. Las políticas y los sistemas de seguridad de Google pueden cambiar en el futuro, ya que mejoramos constantemente la protección que proporcionamos a nuestros clientes.

Las claves de encriptado proporcionadas por el cliente (CSEK) son una función de Cloud Storage y Compute Engine. Si proporcionas tus propias claves de cifrado, Google las usará para proteger las claves generadas por Google que cifran y descifran tus datos.

En este documento se describe cómo funcionan las CSEKs y cómo se protegen enGoogle Cloud.

Cómo funcionan las CSEKs con Cloud Storage

Cuando usas CSEKs en Cloud Storage, las siguientes claves forman parte del proceso de envoltorio:

  • CSEK sin procesar: proporcionas una CSEK sin procesar como parte de una llamada a una API. La clave CSEK sin procesar se transmite desde Google Front End (GFE) a la memoria del sistema de almacenamiento. Esta clave es la clave de cifrado de claves (KEK) de Cloud Storage para tus datos.
  • Claves de fragmentos encapsuladas: la CSEK sin procesar se usa para encapsular las claves de fragmentos encapsuladas.
  • Claves de fragmentos sin procesar: las claves de fragmentos encapsuladas encapsulan las claves de fragmentos sin procesar en la memoria. Las claves de fragmento sin procesar se usan para cifrar los fragmentos de datos que se almacenan en los sistemas de almacenamiento. y también como claves de encriptado de datos (DEKs) para gestionar los datos en Cloud Storage.

En el siguiente diagrama se muestra el proceso de envoltorio de claves.

CSEK en Cloud Storage.

En la siguiente tabla se describen las claves.

Claves Almacenamiento Objetivo Límite de acceso

CSEK sin procesar

Memoria del sistema de almacenamiento

Protege las claves de fragmentos encapsuladas.

Una vez que se complete la operación que haya solicitado el cliente (por ejemplo, insertObject o getObject).

Clave de fragmentos encapsulada

Dispositivo de almacenamiento

Se utiliza para proteger las claves de fragmentos sin procesar almacenadas en reposo.

Una vez que se elimine el objeto de almacenamiento.

Clave de fragmentos sin procesar

Memoria de los dispositivos de almacenamiento

Protege los datos que lees o escribes en el disco.

Una vez que se complete la operación que haya solicitado el cliente.

Cómo funcionan las CSEKs con Compute Engine

Cuando usas CSEKs en Compute Engine, las siguientes claves forman parte del proceso de envoltorio:

  • CSEK sin procesar: proporcionas una CSEK sin procesar o una clave encapsulada con RSA como parte de una llamada a una API. La CSEK se transmite del GFE al frontend del gestor de clústeres interno. El gestor de clústeres es un conjunto de procesos que se ejecuta en una identidad de gestor de clústeres dentro de la infraestructura de producción de Google y que implementa la lógica para gestionar recursos de Compute Engine, como discos e instancias de máquina virtual.
  • Clave de encapsulado asimétrica de Google: si se proporciona una clave encapsulada con RSA como CSEK, se desencapsula con una clave de encapsulado asimétrica de Google.
  • Clave derivada de CSEK: la CSEK sin procesar se combina con un nonce criptográfico de disco persistente para generar una clave derivada de CSEK. Esta clave se usa como KEK en Compute Engine para gestionar tus datos. En el frontend del gestor de clústeres, tanto la CSEK como la clave derivada de la CSEK se almacenan únicamente en la memoria del gestor de clústeres. La clave derivada de la CSEK se usa en la memoria del gestor de clústeres para desencapsular las claves de disco encapsuladas que están almacenadas en los metadatos de la instancia del gestor de clústeres y del gestor de instancias, siempre que se haya habilitado el reinicio automático. Estos metadatos no son los mismos que los metadatos de las instancias.

  • Claves de disco sin procesar: la clave derivada de la CSEK se utiliza para encapsular claves de disco sin procesar a la hora de crear discos, así como para desencapsular claves de disco sin procesar cuando se accede a los discos. Se producen los siguientes eventos:

    • Si se ha habilitado el reinicio automático, el gestor de clústeres almacena las claves de disco encapsuladas de forma persistente durante la vida útil de la máquina virtual para poder reiniciarla en caso de que falle. Las claves de disco encapsuladas se encapsulan con una clave de encapsulamiento simétrica de Google. Los permisos de la clave de envoltorio permiten que solo Compute Engine pueda usarla. Si el reinicio automático está desactivado, las claves de disco encapsuladas se eliminan mediante el proceso de eliminación que se describe en Eliminación de datos enGoogle Cloud.
    • Si se ha habilitado la migración activa, la clave de disco sin procesar se transfiere de la memoria de la instancia anterior de máquina virtual a la memoria de la nueva instancia. Ni el gestor de instancias ni el de clústeres participan en este proceso de copia de claves.

Las claves de disco sin procesar se transfieren a la memoria del gestor de clústeres (CM), del gestor de instancias y de la máquina virtual. Estas claves se utilizan como DEKs en Compute Engine para gestionar tus datos.

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

CSEK en Compute Engine.

Claves Guardadas por Objetivo Límite de acceso

CSEK sin procesar

Frontend del gestor de clústeres

Deriva la clave derivada de la CSEK añadiendo un nonce criptográfico.

Una vez que se complete la operación que haya solicitado el cliente (por ejemplo, instances.insert, instances.attachDisk).

CSEK encapsulada con una clave pública

(si se utiliza el encapsulado de claves RSA)

Frontend del gestor de clústeres

Se desencapsula la clave con una clave asimétrica de Google para crear una clave derivada de una CSEK.

Una vez que se complete la operación que haya solicitado el cliente.

Clave asimétrica propiedad de Google

(si se utiliza el encapsulado de claves RSA)

Almacén de claves

Desencapsula la clave encapsulada con RSA.

Indefinidamente.

Clave derivada de CSEK

Frontend del gestor de clústeres

Encapsula las claves de disco.

Una vez que se complete la operación de encapsulado o desencapsulado.

Claves de disco encapsuladas por Google

(si se ha habilitado el reinicio automático)

Frontend del gestor de clústeres

Se utiliza para proteger las claves de discos vinculadas a instancias en ejecución que estén almacenadas en reposo.

Reinicia la instancia cuando se pierde la memoria de las máquinas virtuales (por ejemplo, si falla el host).

Una vez que se detenga o elimine la máquina virtual.

Claves de disco sin procesar

Memoria del monitor de máquinas virtuales (VMM) y memoria del gestor de clústeres

Permite leer o escribir datos en los discos, migrar de forma activa las máquinas virtuales y llevar a cabo actualizaciones.

Una vez que se detenga o elimine la máquina virtual.

Clave derivada de una CSEK encapsulada por Google

Base de datos del gestor de clústeres

Reinicia las operaciones si se producen fallos.

Una vez que se complete la operación que haya solicitado el cliente.

Cómo se protegen las claves CSEK

En esta sección se explica cómo se protegen en los discos las claves de encriptado proporcionadas por el cliente, tanto en su paso por la infraestructura de Google Cloud como en la memoria.

Las claves CSEK sin procesar, las claves derivadas de CSEK y las claves de disco sin procesar nunca se almacenan en discos sin cifrar. Las claves de disco sin procesar se almacenan encapsuladas con claves derivadas de CSEK y con claves de Google si se ha habilitado el reinicio automático. Google no almacena tus claves en sus servidores de forma permanente.

Todos los servicios usan las funciones de gestión de acceso que proporciona la infraestructura para especificar exactamente qué otros servicios pueden comunicarse con ellos. El servicio se configura con la lista de permitidos de las identidades de las cuentas de servicio permitidas para que la infraestructura de Google Cloudaplique esta restricción de acceso automáticamente. Para obtener más información, consulta Gestión del aislamiento, la integridad y las identidades de los servicios.

La infraestructura también ofrece integridad y privacidad criptográficas para los datos de RPC de la red. Los servicios pueden configurar el nivel de protección criptográfica que quieren aplicar a cada infraestructura de RPC, las cuales se habilitan para las CSEKs. Para obtener más información, consulta Encriptación de la comunicación entre cargas de trabajo.

El material de las claves se almacena en la memoria de varios sistemas, incluida la memoria del gestor de clústeres y la del monitor de máquinas virtuales. Solo se puede acceder a la memoria de estos sistemas si se dan determinadas excepciones (por ejemplo, si se produce un incidente o si el acceso se gestiona mediante una lista de control de acceso). Estos sistemas tienen los volcados de memoria inhabilitados o buscan automáticamente material de claves en los volcados de memoria. Para obtener información sobre las protecciones de estos trabajos, consulta Cómo protege Google sus servicios de producción.

Siguientes pasos