Troca de chaves

Este tópico discute 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, a rotação periódica e automática de chaves é uma prática de segurança recomendada. 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 de força bruta ativados pela criptografia. As recomendações de 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 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 limita o número de mensagens reais vulneráveis a comprometimento.

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

  • A rotação regular de chaves garante que seu sistema seja resiliente à rotação manual, seja por causa de uma violação de segurança ou da necessidade de migrar seu aplicativo para um algoritmo criptográfico mais forte. Valide seus 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ê gire as chaves automaticamente de maneira regular. Uma programação de rotação define a frequência de rotação e, opcionalmente, a data e a hora em que ocorre a primeira rotação. A programação de rotação pode ser baseada na idade da chave ou no número ou volume de mensagens criptografadas com uma versão de chave.

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

Também é necessário fazer a rotação de uma chave manualmente se você suspeitar que ela foi comprometida ou quando as diretrizes de segurança exigirem 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 nem 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 assinaturas, você precisa distribuir a parte da chave pública da nova versão de chave. Depois, é possível especificar a nova versão da chave nas chamadas para o método [CryptoKeyVersions.asymmetricSign][6] a fim de criar uma assinatura e atualizar os aplicativos envolvidos na validação de assinatura.

  • Para chaves assimétricas usadas na criptografia, é preciso distribuir e incorporar a parte pública da nova versão da chave em aplicativos que descriptografam dados, bem como conceder acesso à parte privada da nova versão da chave para aplicativos que descriptografam dados.

A seguir