Rotação de chaves

Rotação no Cloud KMS

No Cloud KMS, uma rotação de chave é representada pela geração de uma nova versão de chave, que depois é marcada como a versão principal.

A criação de uma versão de chave gera o novo material da chave criptográfica. Ao marcá-la como principal, ela é usada para criptografar quaisquer dados novos. Todas as chaves têm uma versão principal designada em qualquer momento, que é usada pelo Cloud KMS para criptografar dados por padrão.

Fazer a rotação de uma chave não desativa ou destrói versões anteriores. As versões de chave anteriores não serão mais a primária, mas permanecem disponíveis para descriptografar dados.

Motivos para fazer a rotação de uma chave

A rotação de chaves facilita o cumprimento de práticas de segurança padronizadas, como os requisitos do Payment Card Industry Data Security Standard (PCI DSS). A rotação regular de chaves é uma prática recomendada de segurança pelos seguintes motivos.

  • Para limitar o número de mensagens criptografadas disponíveis para criptoanálise de uma versão de chave específica. De maneira similar, limitar o número total de bytes codificados disponíveis para criptoanálise de uma versão de chave específica. As recomendações de ciclo de vida da chave são específicas do algoritmo e se baseiam no número de mensagens produzidas ou no número total de bytes codificados. Por exemplo, o ciclo de vida de chaves recomendado para chaves simétricas no Modo de contador Galois (GCM, na sigla em inglês) é baseado no número de mensagens criptografadas, conforme especificado em https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf (em inglês).

  • Para garantir que seu sistema esteja preparado no caso de você precisar mudar para um algoritmo mais forte. Se a rotação de chaves não fizer parte da sua operação contínua, um sistema tende a se tornar dependente de chaves específicas, o que torna muito difícil iniciar a rotação de chaves após um incidente.

    Da mesma maneira, para garantir que seu sistema esteja preparado se uma chave vazar. Você não deve tentar a rotação de uma chave pela primeira vez durante a recuperação em tempo real de um incidente.

  • Para reduzir o volume do texto criptografado que ficaria desprotegido se uma versão da chave fosse comprometida.

  • Para evitar o uso de uma versão de chave que está comprometida ou suspeita de estar comprometida.

Frequência da rotação da chave

A rotação das chaves de criptografia é feita de duas maneiras:

  • Rotação regular: faça regularmente a rotação da chave de criptografia usada, limitando a quantidade de dados protegidos por uma única chave. Essa rotação regular é necessária para a conformidade interna dos negócios.
  • Rotação irregular: rotação específica após um incidente suspeito, como uma medida temporária adicional. Os dados criptografados com a versão anterior da chave também precisam ser criptografados novamente.

Ter uma programação de rotação regular, a cada 90 dias, por exemplo, oferece certa segurança sem muita complexidade. As vantagens da rotação regular são: limitar a quantidade de dados criptografados com uma única chave, evitar o bloqueio da chave quando for preciso efetuar a rotação irregular e usar a desativação da versão de chave para restringir o acesso a dados mais antigos.

Uma implementação mais rigorosa e complexa também conta com uma programação de desativação para recriptografar dados mais antigos e desativar as chaves após um determinado período. Por exemplo, 20 versões de chave ativadas para até 5 anos de dados. Essa implementação é difícil de ser feita de forma segura e correta.

Não é recomendável confiar unicamente na rotação irregular, mas sim usá-la, caso seja necessário, em conjunto com um programa de rotação regular.

Rotação automática

Ao fornecer uma programação de rotação, o Cloud KMS efetua automaticamente a rotação das chaves para você. Use a ferramenta de linha de comando gcloud ou o Console do Google Cloud Platform para configurar uma programação de rotação de chave.

Ela é definida por um período de rotação e pelo tempo da próxima rotação. O período de rotação é o intervalo entre a geração automática de novas versões de chaves e precisa ser de no mínimo um dia. O tempo da próxima rotação é a data da próxima rotação programada, no futuro. A rotação automática terá início no tempo da próxima rotação e ocorrerá a cada período de rotação subsequente.

Se apenas o tempo da próxima rotação for especificado, sem período de rotação, a chave será programada para uma única rotação nessa data, no ponto em que o campo for apagado. Ocorrerá um erro se você especificar apenas o período de rotação sem o tempo da próxima rotação.

As rotações de chave realizadas manualmente pelos métodos CreateCryptoKeyVersion e UpdateCryptoKeyVersion não afetam a programação de rotação de uma chave.

Ao ativar a rotação automática com a ferramenta de linha de comando gcloud, especifique qualquer intervalo de tempo para o período de rotação. Quando você ativa a rotação automática no Console do GCP, o período de rotação exibe opções comuns, por exemplo, 30 dias. No entanto, também é possível configurá-lo para um número de dias personalizado.

Rotação manual

A rotação manual é usada para as rotações de chaves irregular e regular, gerenciadas fora do Cloud KMS. É possível efetuar a rotação manual das chaves com a ferramenta de linha de comando gcloud ou o Console do GCP.

Considerações de rotação

  • Quando você utiliza os comandos de rotação de chaves acima, a rotação NÃO recriptografa dados já criptografados com a nova versão de chave gerada. Se você suspeitar de uso não autorizado de uma chave, recriptografe os dados protegidos por ela e, em seguida, desative ou programe a destruição da versão de chave anterior.
Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…

Documentação do Cloud KMS