Verificar uma versão de chave importada

Este tópico mostra como verificar uma versão de chave assimétrica import para o Cloud KMS ou o Cloud HSM.

Para mais detalhes sobre como a importação funciona, incluindo limitações e restrições, consulte Importação de chaves.

Limitações na verificação de chaves importadas

Dados criptografados fora do Cloud KMS

A melhor maneira de testar uma chave importada é descriptografar dados que foram criptografados antes da importação ou criptografar dados usando a chave importada e descriptografá-la usando a chave antes da importação.

No Cloud KMS ou no Cloud HSM, isso só é possível quando você importa uma chave assimétrica. Isso ocorre porque, quando os dados são criptografados usando uma chave simétrica do Cloud KMS ou do Cloud HSM, metadados extras sobre a versão da chave de criptografia são salvos, criptografados e com os dados criptografados. Esses metadados não estão presentes em dados criptografados fora do Cloud KMS.

Verificar atestados

É possível verificar atestados sobre as chaves do Cloud HSM. Esses atestados afirmam que a chave é uma chave HSM, que o módulo HSM pertence ao Google e outros detalhes sobre a chave. Esses atestados não estão disponíveis para chaves de software.

Antes de começar

  • Importe uma chave assimétrica para o Cloud KMS ou o Cloud HSM. Use o Cloud HSM se quiser verificar os atestados da chave.
  • Se possível, conclua as tarefas neste tópico usando o mesmo sistema local em que você importou a chave, para que o sistema local já tenha a Google Cloud CLI instalada e configurada.
  • Criptografe um arquivo usando a chave local ou copie um arquivo criptografado com essa chave para o sistema local.

Verificar se o material da chave é idêntico

Depois de importar uma chave assimétrica para o Cloud KMS ou o Cloud HSM, o material da chave é idêntico à chave local. Para verificar se isso é verdade, você pode usar a chave importada para descriptografar dados que foram criptografados usando a chave antes da importação.

Para descriptografar um arquivo usando uma chave do Cloud KMS ou do Cloud HSM:

gcloud kms decrypt \
  --location=location  \
  --keyring=key-ring-name \
  --key=key-name \
  --ciphertext-file=filepath-and-file-to-decrypt \
  --plaintext-file=decrypted-filepath-and-file.dec

Se o arquivo apontado pela sinalização --plaintext-file contiver os dados descriptografados corretos, o material da chave externa e importada será idêntico.

Para saber mais, consulte Como criptografar e descriptografar dados.

Verificar atestados para uma chave do Cloud HSM

Depois que uma chave é importada para um HSM, é possível visualizar atestados para verificar se ele pertence ao Google. O procedimento é diferente para verificar chaves simétricas do Cloud HSM e chaves assimétricas.

Os atestados não estão disponíveis para chaves de software no Cloud KMS.

Chaves simétricas do Cloud HSM

Você pode usar o atributo de chave Extended Key Checksum Value (EKCV) para verificar o material de chave importado de uma chave do Cloud HSM. Esse valor é calculado seguindo a seção 2 do RFC 5869 (link em inglês). O valor é extraído da função de derivação de chaves com base em HMAC (HKDF, na sigla em inglês) de extração e expansão com base em SHA-256, com zero byte em um número inteiro 32 como sal, e expandido com a string fixa Valor de verificação de chave como informação. Para recuperar esse valor, você pode atestar a chave.

Chaves assimétricas do Cloud HSM

Quando você faz a solicitação de importação para uma chave assimétrica, inclui a chave privada encapsulada. A chave privada contém informações suficientes para o Cloud KMS derivar a chave pública. Depois que a chave for importada, recupere a chave pública e verifique se ela corresponde à chave pública armazenada localmente. Para mais informações sobre como verificar o atributo de chave pública, consulte Para verificar a chave pública.

Você pode verificar a verificação EKCV para chaves assimétricas. Nesse caso, o valor é o resumo de SHA-256 da chave pública codificada em DER. É possível recuperar esse valor analisando o atestado da chave. Para mais informações sobre como verificar o atributo de chave EKCV, consulte Para verificar as propriedades das chaves.

Para mais informações sobre como atestar chaves importadas, consulte Como atestar uma chave

A seguir