Troca de chaves

Este tópico aborda a rotação de chaves no Cloud Key Management Service. Para receber instruções específicas sobre como fazer a rotação de uma chave, consulte Como fazer rotação de chaves.

Por que fazer a rotação de chaves?

Para criptografia simétrica, as chaves periódicas e de rotação automática são uma prática recomendada de segurança. Alguns padrões do setor, como o Padrão de segurança de dados do setor de cartões de pagamento (PCI DSS, na sigla em inglês), exigem a rotação regular de chaves.

O Cloud Key Management Service não é compatível com rotação automática de chaves assimétricas. Consulte as considerações para chaves assimétricas abaixo.

A rotação de chaves oferece vários benefícios. Veja alguns deles abaixo:

  • Limitar o número de mensagens criptografadas com a mesma versão de chave ajuda a evitar ataques ativados pela criptoanálise. As recomendações do ciclo de vida da chave dependem do algoritmo da chave, bem como do número de mensagens produzidas ou do número total de bytes criptografados com a mesma versão de chave. Por exemplo, o ciclo de vida de chaves recomendado para chaves de criptografia 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).

  • Caso uma chave seja comprometida, a rotação regular limitará o número de mensagens vulneráveis a comprometidas.

    Se você suspeitar de que uma versão de chave está comprometida, desative-a e revogue o acesso a ela assim que possível.

  • A rotação regular de chaves garante que o sistema seja resiliente à rotação manual, seja devido a uma violação de segurança ou à necessidade de migrar seu aplicativo para um algoritmo criptográfico mais forte. Valide os procedimentos de rotação de chaves antes que ocorra um incidente de segurança real.

Também é possível fazer a rotação manual de uma chave porque ela está comprometida ou modificar seu aplicativo para que ele use um algoritmo diferente.

Com que frequência fazer a rotação de chaves

Recomendamos que você faça a rotação de chaves automaticamente em uma programação regular. A programação de rotação define a frequência da rotação e, opcionalmente, a data e a hora em que ela ocorre pela primeira vez. O agendamento de rotação pode ser baseado na idade da chave ou no número ou volume de mensagens criptografadas com uma versão da chave.

Alguns regulamentos de segurança exigem rotação de chaves periódica e automática. A rotação automática de chaves em um período definido, como a cada 90 dias, aumenta a segurança com complexidade administrativa mínima.

Também é necessário fazer a rotação de uma chave manualmente se você acha que ela foi comprometida ou quando as diretrizes de segurança exigem a migração de um aplicativo para um algoritmo de chave mais forte. É possível programar uma rotação manual para uma data e hora no futuro. Fazer a rotação manual de uma chave não pausa, modifica ou afeta uma programação de rotação automática atual dela.

Não confie em rotação irregular ou manual como um componente principal da segurança do aplicativo.

Considerações para chaves assimétricas

O Cloud KMS não é compatível com a rotação automática para chaves assimétricas, porque são necessárias mais etapas para que você possa usar a nova versão de chave assimétrica.

  • Para chaves assimétricas usadas para assinatura, você precisa distribuir a parte da chave pública da nova versão de chave. Depois disso, é possível especificar a nova versão da chave nas chamadas para o método CryptoKeyVersions.asymmetricSign para criar uma assinatura e atualizar os aplicativos para usar a nova versão da chave.

  • Para chaves assimétricas usadas para criptografia, você precisa distribuir e incorporar a parte pública da nova versão de chave em aplicativos que criptografam dados e concedem acesso à parte privada da nova versão da chave para aplicativos que descriptografam dados.

A seguir