Mecanismos de encapsulamento de chaves

Um mecanismo de encapsulamento de chaves (KEM) é um processo criptográfico usado para estabelecer um segredo compartilhado entre duas partes em um canal não confiável. Um mecanismo de encapsulamento de chaves envolve três algoritmos principais:

  • Geração de chaves: um par de chaves é gerado, consistindo em uma chave pública e uma chave privada.
  • Encapsulamento: a chave pública é usada para produzir uma senha secreta e um texto criptografado correspondente.
  • Decapsulação: a chave privada é usada para recuperar o segredo compartilhado do texto cifrado.

Os mecanismos de encapsulamento de chaves são um elemento fundamental para protocolos de troca de chaves e criptografia de chave pública híbrida (HPKE).

Fluxo de trabalho de encapsulamento e desencapsulamento

A seguir, descrevemos o processo de uso de um par de chaves KEM para encapsular e desencapsular dados. Os dois participantes desse fluxo de trabalho são um remetente e um destinatário. O remetente cria um texto criptografado e uma senha secreta usando a chave pública do destinatário. Em seguida, o destinatário descriptografa o texto criptografado usando a chave privada para recuperar a senha secreta. Somente alguém com conhecimento da chave privada pode desencapsular o texto criptografado para recuperar a senha secreta original.

  1. O remetente recupera a chave pública do destinatário.

  2. O remetente usa a chave pública para realizar a etapa de encapsulamento, que gera uma senha secreta e um texto criptografado correspondente.

  3. O remetente envia o texto cifrado para o destinatário.

  4. O destinatário usa a chave privada dele para desencapsular o texto criptografado. O destinatário e o remetente agora têm o mesmo segredo compartilhado.

Mecanismos de encapsulamento de chaves pós-quânticos (PQ-KEM)

Os computadores quânticos têm o potencial de descriptografar material criptografado por algoritmos de criptografia clássicos, como os amplamente usados RSA e ECDSA, o que pode tornar esse material vulnerável a ataques de "armazenar agora, descriptografar depois" (SNDL, na sigla em inglês). Nesses ataques, os adversários coletam dados criptografados de hoje que usam algoritmos de criptografia clássicos e os armazenam, com a intenção de descriptografá-los mais tarde, quando computadores quânticos potentes estiverem disponíveis. Os PQ-KEMs são projetados para serem resistentes a ataques quânticos, garantindo que os dados criptografados com eles hoje permaneçam seguros mesmo na era quântica, impedindo a descriptografia futura de informações armazenadas hoje.

O Cloud Key Management Service oferece suporte a ML-KEM-768 e ML-KEM-1024, que foram padronizados pelo NIST no FIPS-203, e ao X-Wing, um KEM híbrido que combina ML-KEM-768 com X25519. Esses algoritmos têm os seguintes valores de tamanho (em bytes):

Algoritmo Chave pública Texto criptografado Senha secreta
ML_KEM_768 1184 1.088 32
ML_KEM_1024 1568 1568 32
KEM_XWING 1216 1120 32

Recursos de KEMs do Cloud KMS

O Cloud KMS oferece os seguintes recursos relacionados a mecanismos de encapsulamento de chaves:

Para encapsular usando chaves do Cloud KMS, use SDKs e ferramentas disponíveis abertamente com a chave pública. O Cloud KMS não oferece recursos de encapsulamento.