Mecanismos de encapsulamento de chaves

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

  • Geração de chaves: é gerado um par de chaves que consiste numa chave pública e numa chave privada.
  • Encapsulamento: a chave pública é usada para produzir um segredo partilhado e um texto encriptado correspondente.
  • Decapsulação: a chave privada é usada para recuperar o segredo partilhado do texto encriptado.

Os mecanismos de encapsulamento de chaves são uma base fundamental para os protocolos de troca de chaves e a encriptação de chaves públicas híbrida (HPKE).

Fluxo de trabalho de encapsulamento e desencapsulamento

A descrição seguinte descreve o processo de utilização de um par de chaves KEM para encapsular e desencapsular dados. Os dois participantes neste fluxo de trabalho são um remetente e um destinatário. O remetente cria um texto cifrado e um segredo partilhado através da chave pública do destinatário e, em seguida, o destinatário desencripta o texto cifrado através da chave privada do destinatário para obter o segredo partilhado. Apenas alguém com conhecimento da chave privada pode desencapsular o texto cifrado para obter o segredo partilhado original.

  1. O remetente obtém a chave pública do destinatário.

  2. O remetente usa a chave pública para executar o passo de encapsulamento, que gera um segredo partilhado e um texto cifrado correspondente.

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

  4. O destinatário usa a chave privada do destinatário para desencapsular o texto cifrado. O destinatário e o remetente têm agora o mesmo segredo partilhado.

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

Os computadores quânticos têm o potencial de desencriptar material encriptado por algoritmos de encriptação clássicos, como os algoritmos RSA e ECDSA amplamente usados, o que pode tornar esse material encriptado vulnerável a ataques de "recolher agora, desencriptar mais tarde". Em tais ataques, os adversários recolhem os dados encriptados atuais que usam algoritmos de encriptação clássicos e armazenam-nos, com a intenção de os desencriptar mais tarde, quando estiverem disponíveis computadores quânticos potentes. Os PQ-KEMs foram concebidos para serem resistentes a ataques quânticos, garantindo que os dados encriptados com eles hoje permanecem seguros mesmo na era quântica, impedindo a desencriptação futura de informações recolhidas hoje.

O Cloud Key Management Service suporta ML-KEM-768 e ML-KEM-1024, que foram padronizados pela NIST na FIPS-203, e o X-Wing, um KEM híbrido que combina ML-KEM-768 com X25519. Estes algoritmos têm os seguintes valores de tamanho (em bytes):

Algoritmo Chave pública Texto encriptado Segredo partilhado
ML_KEM_768 1184 1088 32
ML_KEM_1024 1568 1568 32
KEM_XWING 1216 1120 32

Capacidades de KEMs do Cloud KMS

O Cloud KMS oferece as seguintes capacidades relacionadas com mecanismos de encapsulamento de chaves:

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