Chaves de HMAC no AWS KMS - AWS Key Management Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Chaves de HMAC no AWS KMS

As chaves do KMS de código de autenticação de mensagem por hash (HMAC) são chaves simétricas que você usa para gerar e verificar HMACs no AWS KMS. O material exclusivo de chave associado a cada chave do KMS de HMAC fornece a chave secreta exigida pelos algoritmos de HMAC. Você pode usar uma chave do KMS de HMAC com as operações GenerateMac e VerifyMac para verificar a integridade e a autenticidade dos dados no AWS KMS.

Os algoritmos de HMAC combinam uma função de hash criptográfica e uma chave secreta compartilhada. Eles pegam uma mensagem e uma chave secreta, como o material da chave em uma chave do KMS de HMAC, e retornam um código ou etiqueta exclusiva e de tamanho fixo. Se até mesmo um caractere da mensagem mudar, ou se a chave secreta não for idêntica, a etiqueta resultante será totalmente diferente. Ao exigir uma chave secreta, o HMAC também fornece autenticidade; é impossível gerar uma etiqueta idêntica de HMAC sem a chave secreta. Algumas vezes, os HMACs são chamados de assinaturas simétricas, pois eles funcionam como assinaturas digitais, mas usam somente uma chave para assinatura e verificação.

As chaves do KMS de HMAC e os algoritmos de HMAC que o AWS KMS usa estão em conformidade com os padrões do setor definidos no RFC 2104. A operação GenerateMAC do AWS KMS gera tags HMAC padrão. As chaves do KMS de HMAC são geradas em módulos de segurança de hardware do AWS KMS certificados sob o Programa de validação de módulos criptográficos FIPS 140-2 (exceto nas regiões China [Pequim] e China [Ningxia]) e nunca saem descriptografadas do AWS KMS. Para usar uma chave do KMS de HMAC, é necessário chamar o AWS KMS.

Você pode usar chaves do KMS de HMAC para determinar a autenticidade de uma mensagem, como um JSON Web Token (JWT), informações tokenizadas de cartão de crédito ou uma senha enviada. Eles também podem ser usados como Key Derivation Functions (KDFs – Funções de derivação de chave) seguras, especialmente em aplicações que exigem chaves determinísticas.

As chaves do KMS de HMAC fornecem uma vantagem sobre os HMACs de software de aplicação, pois o material da chave é inteiramente gerado e usado no AWS KMS, estando sujeito aos controles de acesso que você definiu na chave.

dica

As práticas recomendadas sugerem que você limite o tempo durante o qual qualquer mecanismo de assinatura, inclusive um HMAC, permanece vigente. Isso dissuade um ataque no qual o protagonista usa uma mensagem assinada para estabelecer a validade repetidamente ou muito depois que a mensagem é substituída. As etiquetas de HMAC não incluem um carimbo de data/hora, mas você pode incluir um carimbo de data/hora no token ou na mensagem para ajudar você a detectar quando está na hora de atualizar o HMAC.

Operações criptográficas compatíveis

As chaves do KMS de HMAC só são compatíveis com as operações criptográficas GenerateMac e VerifyMac. Você não pode usar chaves do KMS de HMAC para criptografar dados ou assinar mensagens, nem usar nenhum outro tipo de chave do KMS em operações de HMAC. Ao usar a operação GenerateMac, você fornece uma mensagem de até 4.096 bytes, uma chave do KMS de HMAC e o algoritmo de Message authentication code (MAC – Código de autenticação de mensagem) compatível com a especificação de chave de HMAC, e GenerateMac calcula a etiqueta de HMAC. Para verificar uma etiqueta de HMAC, você deve fornecer a etiqueta de HMAC e a mesma mensagem, a chave do KMS de HMAC e o algoritmo de MAC que GenerateMac usou para calcular a etiqueta original de HMAC. A operação VerifyMac calcula a etiqueta de HMAC e verifica se ela é idêntica à etiqueta de HMAC fornecida. Se as etiquetas de HMAC recebidas e calculadas não forem idênticas, a verificação falhará.

As chaves do KMS de HMAC não são compatíveis com alternância automática de chaves e não é possível criar uma chave do KMS de HMAC em um armazenamento personalizado de chaves.

Se você estiver criando uma chave do KMS para criptografar dados em um serviço da AWS, use uma chave de criptografia simétrica. Não é possível usar uma chave do KMS de HMAC.

Regiões

AS chaves do KMS de HMAC têm suporte em todas as Regiões da AWS compatíveis com o AWS KMS.

Saiba mais