Importação de chaves

Este tópico aborda informações conceptuais sobre a importação de chaves para o Cloud Key Management Service como novas versões de chaves. Para ver instruções passo a passo, consulte o artigo sobre a importação de uma versão de chave.

Introdução

Pode estar a usar chaves criptográficas existentes que foram criadas nas suas instalações ou num sistema de gestão de chaves externo. Se migrar uma aplicação para o Google Cloud ou adicionar suporte criptográfico a uma aplicação Google Cloud existente, pode importar as chaves relevantes para o Cloud KMS.

  • Pode importar para chaves do Cloud HSM ou chaves de software no Cloud KMS.
  • O material da chave é envolvido para proteção em trânsito. Pode usar a Google Cloud CLI para encapsular automaticamente a chave ou pode encapsular a chave manualmente.
  • Google Cloud tem acesso à chave de união apenas no âmbito da tarefa de importação. Para chaves do Cloud HSM, a chave de encapsulamento nunca reside fora do Cloud HSM.

Este tópico fornece detalhes sobre as limitações e os requisitos para a importação de chaves, e apresenta uma vista geral de como funciona a importação de chaves.

Limitações e requisitos

Reveja estas secções para verificar se as suas chaves podem ser importadas para o Cloud KMS.

Formatos de chaves suportados

  • Chaves simétricas para encriptação: As chaves simétricas importadas têm de ter 16 bytes (apenas para encriptação simétrica não processada) ou 32 bytes de dados binários e não podem ser codificadas. Se a sua chave estiver codificada em hexadecimal ou Base64, tem de descodificá-la antes de tentar importá-la.
  • Chaves simétricas para assinatura (chaves MAC): as chaves de assinatura HMAC importadas têm de ter um comprimento igual ao comprimento de saída da função de hash criptográfico que está a ser usada (por exemplo, as chaves HMAC-SHA256 têm de ter um comprimento de 32 bytes) e não podem ser codificadas. Se a sua chave estiver codificada em hexadecimal ou codificada em base64, tem de descodificá-la antes de tentar importá-la.
  • Chaves assimétricas para encriptação ou assinatura: as chaves assimétricas importadas têm de estar no formato PKCS #8 e têm de ser codificadas em DER. O formato PCKS #8 está definido no RFC 5208. A codificação DER é definida na União Internacional das Telecomunicações X.680. As chaves assimétricas têm de usar uma das combinações de comprimento e algoritmo suportadas pelo Cloud KMS.

Alguns aspetos de uma chave, como o comprimento da chave, não podem ser alterados depois de a chave ser criada. Nestes casos, não é possível importar a chave para o Cloud KMS.

Para validar e reformatar a chave para importação, consulte o artigo Formatar chaves para importação.

Níveis de proteção suportados

Pode importar uma chave para uma chave do Cloud KMS ou uma chave do Cloud HSM, definindo o nível de proteção da chave como SOFTWARE ou HSM. As chaves do Cloud HSM incorrem em custos adicionais. Não pode importar para uma chave do Cloud External Key Manager.

Tamanhos de chaves de encapsulamento suportados

Quando cria uma tarefa de importação, pode controlar o tamanho da chave de encapsulamento usada para proteger a sua chave em trânsito para o Google Ads definindo o método de importação da tarefa de importação. Google Cloud O tamanho predefinido da chave de encapsulamento é 3072. Se tiver requisitos específicos, pode configurar a tarefa de importação para usar uma chave de 4096 bits.

Pode saber mais acerca dos algoritmos usados para a encriptação de chaves ou acerca da configuração de uma tarefa de importação.

Como funciona a importação de chaves

Esta secção ilustra o que acontece quando importa uma chave. Algumas partes do fluxo são diferentes se usar a união automática ou unir manualmente a chave. Recomendamos a utilização da quebra automática de linhas. Para ver instruções específicas, consulte o artigo Importe uma versão da chave. Para instruções específicas sobre como encapsular manualmente a chave antes da importação, consulte o artigo Encapsular uma chave com o OpenSSL no Linux.

O diagrama seguinte ilustra o processo de importação de chaves através da união automática de chaves. As fases apresentadas no diagrama são descritas nesta secção.

Fluxo de importação, descrito nesta secção

  1. Prepare-se para importar chaves.

    1. Primeiro, crie um conjunto de chaves de destino e uma chave que, eventualmente, vai conter a tarefa de importação e o material de chaves importado. Neste momento, a chave de destino não contém versões da chave.

    2. Em seguida, crie uma tarefa de importação. A tarefa de importação define o conjunto de chaves e a chave de destino para o material da chave importada. A tarefa de importação também define o método de importação, que é o algoritmo usado para criar a chave de encapsulamento que protege o material da chave durante os pedidos de importação.

      • A chave pública é usada para encapsular a chave a importar no cliente.
      • A chave privada é armazenada em Google Cloud e é usada para desembrulhar a chave depois de chegar ao projeto Google Cloud .

      Esta separação impede que a Google possa desembrulhar o seu material de chaves fora do âmbito da tarefa de importação.

    3. A chave tem de ser envolvida criptograficamente antes de ser transmitida à Google. A maioria dos utilizadores pode usar a CLI gcloud para encapsular, transmitir e importar automaticamente a chave, conforme descrito no passo seguinte. Se tiver requisitos regulamentares ou de conformidade para aplicar a união à chave manualmente, pode fazê-lo neste momento. Para encapsular a chave manualmente no sistema local:

      1. Configure o OpenSSL.
      2. Uma vez por tarefa de importação, transfira a chave de união associada à tarefa de importação.
      3. Uma vez por chave, defina várias variáveis de ambiente e envolva a chave.
  2. Durante um máximo de três dias, até a tarefa de importação expirar, pode usá-la para fazer pedidos de importação para importar uma ou mais chaves. Durante um pedido de importação:

    1. Se a chave não tiver sido envolvida manualmente, a Google Cloud CLI transfere a chave pública da tarefa de importação de Google Cloud para o sistema local e, em seguida, usa a chave pública, juntamente com uma chave privada associada ao cliente, para envolver o material da chave local.
    2. O material da chave envolvida é transmitido para o projeto Google Cloud
    3. O material da chave é desembrulhado através da chave privada da tarefa de importação e é inserido como uma nova versão da chave de destino no conjunto de chaves de destino. Esta é uma operação atómica.
    4. Para chaves simétricas, define a versão da chave importada como a versão da chave principal.

Depois de o pedido de importação ser concluído com êxito, pode usar a versão da chave importada para proteger os dados no Google Cloud.

O que se segue?