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 compartilhada e um texto cifrado 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 para usar 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 criptografado e um segredo compartilhado usando a chave pública do destinatário. Em seguida, o destinatário descriptografa o texto criptografado usando a chave privada dele para recuperar o segredo compartilhado. Somente alguém com conhecimento da chave privada pode desencapsular o texto cifrado para recuperar o segredo compartilhado original.
O remetente recupera a chave pública do destinatário.
O remetente usa a chave pública para realizar a etapa de encapsulamento, que gera uma senha secreta compartilhada e um texto criptografado correspondente.
O remetente envia o texto cifrado para o destinatário.
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ânticas (PQ-KEM)
Os computadores quânticos podem descriptografar material criptografado por algoritmos clássicos, como os algoritmos RSA e ECDSA, que são amplamente usados. Isso pode tornar o material criptografado vulnerável a ataques de "coletar agora, descriptografar depois". Nesses ataques, os adversários coletam e armazenam dados criptografados atuais que usam algoritmos de criptografia clássicos, com a intenção de descriptografá-los mais tarde, quando computadores quânticos potentes estiverem disponíveis. Os PQ-KEMs são projetados para resistir a ataques quânticos, garantindo que os dados criptografados com eles hoje permaneçam seguros mesmo na era quântica, evitando a descriptografia futura das informações coletadas 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 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:
Criar uma chave KEM com a finalidade de
KEY_ENCAPSULATION
e um algoritmo de encapsulamento de chave.Recuperar a chave pública de uma chave KEM.
Decapsular um segredo compartilhado usando a chave privada de uma chave KEM.
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.