Este conteúdo foi atualizado pela última vez em fevereiro de 2025 e representa o estado do momento em que foi escrito. Os sistemas e as políticas de segurança do Google podem mudar no futuro, à medida que melhoramos continuamente a proteção dos clientes.
As chaves de criptografia fornecidas pelo cliente (CSEK, na sigla em inglês) são um recurso do Cloud Storage e do Compute Engine. Se você fornecer suas próprias chaves de criptografia, o Google as usará para proteger as chaves geradas pelo Google que criptografam e descriptografam seus dados.
Este documento descreve como os CSEKs funcionam e como eles são protegidos no Google Cloud.
Como os CSEKs funcionam com o Cloud Storage
Quando você usa CSEKs no Cloud Storage, as seguintes chaves fazem parte do processo de acondicionamento:
- CSEK bruta:você fornece uma CSEK bruta como parte de uma chamada de API. A chave CSEK bruta é transmitida do Google Front End (GFE) para a memória do sistema de armazenamento. Essa chave é a chave de criptografia de chaves (KEK) no Cloud Storage para seus dados.
- Chaves de bloco encapsuladas:a CSEK bruta é usada para encapsular as chaves de bloco encapsuladas.
- Chaves de bloco brutas:as chaves de bloco encapsuladas agrupam as chaves de bloco brutas na memória. As chaves de bloco bruto são usadas para criptografar os blocos de dados armazenados nos sistemas de armazenamento. No Cloud Storage, elas são utilizadas como chaves de criptografia de dados (DEKs, na sigla em inglês) para os dados do usuário.
O diagrama a seguir mostra o processo de encapsulamento de chave.
A tabela a seguir descreve as chaves.
Chaves | Armazenada em | Finalidade | Acessível até |
---|---|---|---|
CSEK bruta |
Memória do sistema de armazenamento |
Protege as chaves de bloco encapsuladas. |
A operação solicitada pelo cliente (por exemplo, |
Chaves de bloco encapsuladas |
Dispositivos de armazenamento |
Proteja as chaves de bloco bruto armazenadas em repouso. |
O objeto de armazenamento é excluído. |
Chaves de bloco brutas |
Memória dos dispositivos de armazenamento |
Proteja os dados que você lê ou grava no disco. |
A operação solicitada pelo cliente está concluída. |
Como as CSEKs funcionam com o Compute Engine
Ao usar CSEKs no Compute Engine, as seguintes chaves fazem parte do processo de acondicionamento:
- CSEK bruta:você fornece uma CSEK bruta ou uma chave encapsulada por RSA como parte de uma chamada de API. O CSEK é transmitido do GFE para o front-end interno do Cluster Manager. O gerenciador de clusters é um conjunto de processos executados sob uma identidade de gerenciador de clusters na infraestrutura de produção do Google que implementa a lógica para gerenciar recursos do Compute Engine, como discos e instâncias de VM.
- Chave de encapsulamento assimétrica do Google:se uma chave encapsulada por RSA for fornecida como a CSEK, ela será desencapsulada usando uma chave de encapsulamento assimétrica do Google.
Chave derivada da CSEK:a CSEK bruta é combinada com um valor de uso único criptográfico por disco permanente para gerar uma chave derivada da CSEK. Essa chave é usada como a KEK no Compute Engine para seus dados. No front-end do Cluster Manager, tanto a CSEK quanto a chave derivada da CSEK são mantidas somente na memória. A chave derivada da CSEK é usada na memória do Cluster Manager para desencapsular as chaves de disco encapsuladas que estão armazenadas nos metadados da instância do Cluster Manager e nos metadados do Instance Manager, quando a reinicialização automática está ativada (esses metadados não são os mesmos que os metadados de instância).
Chaves de disco brutas:a chave derivada da CSEK é usada para encapsular chaves de disco brutas ao criar um disco e desencapsular chaves de disco brutas ao acessar um disco. Os seguintes eventos ocorrem:
- Se o reinício automático estiver ativado, as chaves de disco encapsuladas serão armazenadas de forma persistente pelo gerenciador de cluster durante toda a vida útil da VM. Assim, será possível reiniciar a VM caso ocorra alguma falha. As chaves de disco são encapsuladas por uma chave de encapsulamento simétrica do Google. As permissões da chave de encapsulamento permitem que ela seja usada apenas pelo Compute Engine. Se a reinicialização automática estiver desativada, as chaves de disco encapsuladas serão excluídas usando o processo de exclusão descrito em Exclusão de dados em Google Cloud.
- Se a migração em tempo real estiver ativada, a chave de disco bruta será transmitida da memória da antiga instância da VM para a memória da nova instância, sem o envolvimento do Instance Manager ou do Cluster Manager na cópia da chave.
As chaves de disco brutas são transmitidas para a memória do Cluster Manager (CM), do Instance Manager e da VM. Essas chaves são usadas como DEKs no Compute Engine para seus dados.
O diagrama a seguir mostra como o empacotamento de chaves funciona.
Chaves | Retida por | Finalidade | Acessível até |
---|---|---|---|
CSEK bruta |
Front-end do Cluster Manager |
Gere a chave derivada da CSEK adicionando um valor de uso único criptográfico. |
A operação solicitada pelo cliente (por exemplo, |
CSEK encapsulada por chave pública (quando o encapsulamento de chave RSA é usado) |
Front-end do Cluster Manager |
Gere a chave derivada da CSEK primeiro desencapsulando com uma chave assimétrica do Google. |
A operação solicitada pelo cliente foi concluída. |
Chave assimétrica do Google (quando o encapsulamento de chaves por RSA é usado) |
Keystore |
Desencapsular a chave incorporada por RSA. |
Indefinidamente. |
Chave derivada da CSEK |
Front-end do Cluster Manager |
Encapsula chaves de disco. |
A operação de encapsulamento ou desencapsulamento da chave foi concluída. |
Chaves de disco encapsuladas pelo Google (quando a reinicialização automática é usada) |
Front-end do Cluster Manager |
Proteger as chaves de disco armazenadas em repouso, para discos anexados a instâncias em execução. Reinicie a instância quando a memória da VM for perdida (por exemplo, em caso de falha do host). |
A VM é interrompida ou excluída. |
Chaves de disco brutas |
Memória do monitor da máquina virtual (VMM, na sigla em inglês), memória do cluster manager |
Ler ou gravar dados no disco, migrar a VM em tempo real e realizar upgrades no local. |
A VM ser interrompida ou excluída. |
Chave derivada da CSEK encapsulada pelo Google |
Banco de dados do Cluster Manager |
Reinicia a operação em caso de falha. |
A operação solicitada pelo cliente está concluída. |
Como as CSEKs são protegidas
Esta seção fornece informações sobre como as CSEKs são protegidas no disco durante migrações na infraestrutura do Google Cloud e na memória.
As CSEKs brutas, as chaves derivadas da CSEK e as chaves de disco brutas nunca são armazenadas em discos não criptografados. As chaves de disco brutas são armazenadas com chaves derivadas de CSEK e com chaves do Google quando o reinício automático é usado. O Google não armazena permanentemente suas chaves nos servidores.
Todos os serviços usam recursos de gerenciamento de acesso fornecidos pela infraestrutura para especificar com que outros serviços eles podem se comunicar. O serviço é configurado com a lista de permissões das identidades de conta de serviço permitidas, e essa restrição de acesso é aplicada automaticamente pela infraestrutura Google Cloud. Para mais informações, consulte Identidade, integridade e isolamento de serviços.
A infraestrutura também oferece privacidade e integridade criptográfica para dados de RPC na rede. Os serviços podem configurar o nível de proteção criptográfica desejado para cada RPC da infraestrutura, e isso é ativado para CSEKs. Para mais informações, consulte Criptografia de comunicações entre cargas de trabalho.
O material da chave reside na memória de vários sistemas, incluindo a memória do Cluster Manager e do VMM. O acesso à memória desses sistemas é por exceção (por exemplo, como parte de um incidente) e gerenciado por listas de controle de acesso. O despejo de memória fica desativado nesses sistemas ou, então, é realizada uma verificação automática para detectar o material da chave na memória despejada. Para informações sobre as proteções desses trabalhos, consulte Como o Google protege os serviços de produção.
A seguir
Chaves de criptografia fornecidas pelo cliente no Cloud Storage
Chaves de criptografia fornecidas pelo cliente no Compute Engine