Chaves para fins especiais - 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 para fins especiais

AWS Key Management Service (AWS KMS) suporta vários tipos diferentes de teclas para diferentes usos.

Ao criar uma AWS KMS key, por padrão, você obtém uma chave KMS de criptografia simétrica. Em AWS KMS, uma chave KMS de criptografia simétrica representa uma chave AES-GCM de 256 bits usada para criptografia e descriptografia, exceto nas regiões da China, onde representa uma chave simétrica simétrica de 128 bits que usa criptografia SM4. O material de chave simétrica nunca sai AWS KMS sem criptografia. A menos que sua tarefa exija explicitamente criptografia assimétrica ou chaves HMAC, as chaves KMS de criptografia simétrica, que nunca saem AWS KMS sem criptografia, são uma boa opção. Além disso, os serviços da AWS que são integrados ao AWS KMS usam exclusivamente chaves do KMS de criptografia simétrica para criptografar seus dados. Esses serviços não fornecem suporte para criptografia com chaves do KMS assimétricas.

Você pode usar uma chave KMS de criptografia simétrica AWS KMS para criptografar, descriptografar e recriptografar dados, gerar chaves de dados e pares de chaves de dados e gerar cadeias de bytes aleatórias. Você pode importar seu próprio material de chave para uma chave do KMS de criptografia simétrica e criar chaves do KMS de criptografia simétrica em armazenamentos personalizados de chaves. Para acessar uma tabela comparativa das operações que você pode executar em chaves do KMS simétricas e assimétricas, consulte Referência de tipos de chaves.

AWS KMS também suporta os seguintes tipos de chaves KMS para fins especiais:

Escolha de um tipo de chave do KMS

AWS KMS suporta vários tipos de chaves KMS: chaves de criptografia simétricas, chaves HMAC simétricas, chaves de criptografia assimétricas e chaves de assinatura assimétricas.

As chaves do KMS diferem porque contêm diferentes materiais criptográficos de chave.

  • Chave do KMS de criptografia simétrica: representa uma única chave de criptografia AES-GCM de 256 bits, exceto nas regiões da China, em que ela representa uma chave de criptografia SM4 de 128 bits. O material de chave simétrica nunca sai AWS KMS sem criptografia. Para usar sua chave KMS de criptografia simétrica, você deve ligar. AWS KMS

    As chaves de criptografia simétrica, que são as chaves padrão do KMS, são ideais para a maioria dos usos. Se você precisar de uma chave KMS para proteger seus dados em um AWS service (Serviço da AWS), use uma chave de criptografia simétrica, a menos que seja instruído a usar outro tipo de chave.

  • Chave KMS assimétrica: representa um par matematicamente relacionado de chave pública e chave privada que você pode usar para criptografia e descriptografia, assinatura e verificação ou derivação de segredos compartilhados (você deve escolher um tipo de uso de chave). A chave privada nunca sai AWS KMS sem criptografia. Você pode usar a chave pública interna AWS KMS chamando as operações da AWS KMS API ou fazer o download da chave pública e usá-la fora dela AWS KMS.

  • Chave do KMS de HMAC (simétrica): representa uma chave simétrica de comprimento variável que é usada para gerar e verificar códigos de autenticação de mensagem por hash. O material de chave em uma chave do KMS de HMAC nunca sai descriptografado do AWS KMS . Para usar sua chave HMAC KMS, você deve ligar. AWS KMS

O tipo de chave do KMS criada depende em grande parte de como você planeja usar a chave do KMS e dos requisitos de segurança e de autorização. Ao criar sua chave do KMS, lembre-se de que a configuração criptográfica da chave do KMS, incluindo sua especificação de chave e uso de chave, é estabelecida ao criar a chave do KMS e não pode ser alterada.

Use as orientações a seguir para determinar o tipo de chave do KMS necessário com base no seu caso de uso.

Criptografar e descriptografar dados

Use uma chave do KMS simétrica para a maioria dos casos de uso que exigem criptografia e descriptografia dos dados. O algoritmo de criptografia simétrica usado pelo AWS KMS é rápido, eficiente e garante a confidencialidade e a autenticidade dos dados. Ele oferece suporte à criptografia autenticada com dados adicionais autenticados (ADD), definidos como um contexto de criptografia. Esse tipo de chave KMS exige que o remetente e o destinatário dos dados criptografados tenham AWS credenciais válidas para ligar. AWS KMS

Se seu caso de uso exigir criptografia externa AWS por usuários que não podem ligar AWS KMS, as chaves KMS assimétricas são uma boa opção. Você pode distribuir a parte pública da chave do KMS assimétrica para permitir que esses usuários criptografem dados. Além disso, as aplicações que precisam descriptografar esses dados podem usar a chave privada da chave do KMS assimétrica no AWS KMS.

Assinar mensagens e verificar assinaturas

Para assinar mensagens e verificar assinaturas, é necessário usar uma chave do KMS assimétrica. É possível usar uma chave do KMS com uma especificação de chave que representa um par de chaves RSA, um par de chaves de curva elíptica (ECC) ou um par de chaves SM2 (somente nas regiões da China). A especificação de chave escolhida é determinada pelo algoritmo de assinatura que você deseja usar. Os algoritmos de assinatura ECDSA compatíveis com os pares de chaves ECC são recomendados em vez dos algoritmos de assinatura RSA. No entanto, talvez seja necessário usar uma especificação de chave e um algoritmo de assinatura específicos para oferecer suporte aos usuários que verificam assinaturas fora do. AWS

Criptografe com pares de chaves assimétricas

Para criptografar dados com um par de chaves assimétrico, você deve usar uma chave KMS assimétrica com uma especificação de chave RSA ou uma especificação de chave SM2 (somente regiões da China). Para criptografar dados AWS KMS com a chave pública de um par de chaves KMS, use a operação Criptografar. Também é possível fazer download da chave pública e compartilhá-la com as partes que precisam criptografar dados fora do AWS KMS.

Ao baixar a chave pública de uma chave do KMS assimétrica, é possível usá-la fora do AWS KMS. Mas ele não está mais sujeito aos controles de segurança que protegem a chave KMS. AWS KMS Por exemplo, você não pode usar políticas ou concessões de AWS KMS chaves para controlar o uso da chave pública. Você também não pode controlar se a chave é usada somente para criptografia e decodificação usando os algoritmos de criptografia compatíveis. AWS KMS Para obter mais detalhes, consulte Considerações especiais sobre o download de chaves públicas.

Para descriptografar dados que foram criptografados com a chave pública externa AWS KMS, chame a operação Decrypt. Ocorrerá falha na operação do Decrypt se os dados tiverem sido criptografados em uma chave pública de uma chave do KMS com um uso de chave de SIGN_VERIFY. Também falhará se for criptografado usando um algoritmo que não AWS KMS suporta a especificação de chave que você selecionou. Para obter mais informações sobre especificações de chaves e algoritmos com suporte, consulte Especificações de chaves assimétricas.

Para evitar esses erros, qualquer pessoa que use uma chave pública fora dela AWS KMS deve armazenar a configuração da chave. O AWS KMS console e a GetPublicKeyresposta fornecem as informações que você deve incluir ao compartilhar a chave pública.

Obtenha segredos compartilhados

Para derivar segredos compartilhados, use uma chave KMS com curva elíptica recomendada pelo NIST ou material de chave SM2 (somente regiões da China). AWS KMS usa o cofator de criptografia de curva elíptica Diffie-Hellman Primitive (ECDH) para estabelecer um acordo de chave entre dois pares, derivando um segredo compartilhado de seus pares de chaves público-privadas de curva elíptica. Você pode usar o segredo compartilhado bruto que a DeriveSharedSecretoperação retorna para derivar uma chave simétrica que pode criptografar e descriptografar dados enviados entre duas partes ou gerar e verificar HMACs. AWS KMS recomenda que você siga as recomendações do NIST para derivação de chaves ao usar o segredo compartilhado bruto para derivar uma chave simétrica.

Gerar e verificar códigos de HMAC

Para gerar e verificar códigos de autenticação de mensagem por hash, use uma chave do KMS de HMAC. Quando você cria uma chave HMAC AWS KMS, AWS KMS cria e protege seu material de chave e garante que você use os algoritmos MAC corretos para sua chave. Também é possível usar os códigos de HMAC como números pseudo-aleatórios e para assinatura simétrica e tokenização em determinados cenários.

As chaves do KMS de HMAC são chaves simétricas. Ao criar uma chave do KMS de HMAC no console do AWS KMS , escolha o tipo de chave Symmetric.

Use com AWS serviços

Para criar uma chave KMS para uso com um AWS serviço integrado AWS KMS, consulte a documentação do serviço. AWS os serviços que criptografam seus dados exigem uma chave KMS de criptografia simétrica.

Além dessas considerações, as operações criptográficas em chaves do KMS com diferentes especificações de chave têm preços e cotas de solicitação diferentes. Para obter informações sobre AWS KMS preços, consulte AWS Key Management Service Preços. Para obter mais informações sobre cotas de solicitações, consulte Cotas de solicitações.

Selecionar o uso de chave

O uso de chave de uma chave do KMS determina se a chave do KMS será usada para criptografia e descriptografia ou para assinatura e verificação ou para geração e verificação de etiquetas de HMAC. Cada chave do KMS pode ter apenas um uso. O uso de uma chave do KMS para mais de um tipo de operação torna o produto de todas as operações mais vulnerável a ataques.

Cada chave do KMS pode ter apenas um uso de chave. Conforme apresentado na tabela a seguir, as chaves do KMS de criptografia simétrica só podem ser usadas para criptografia e descriptografia. As chaves do KMS de HMAC só podem ser usadas para gerar e verificar códigos de HMAC. Você precisa tomar uma decisão de uso de chaves KMS assimétricas. As chaves KMS assimétricas com pares de chaves RSA podem ser usadas para criptografar ou descriptografar dados ou assinar e verificar mensagens (mas não ambas). Chaves KMS assimétricas com pares de chaves de curva elíptica recomendados pelo NIST podem ser usadas para assinar e verificar mensagens ou derivar segredos compartilhados (mas não ambos). As chaves KMS assimétricas com ECC_SECG_P256K1 pares de chaves só podem ser usadas para assinar e verificar mensagens. Chaves KMS assimétricas com pares de chaves SM2 (somente regiões da China) podem ser usadas para criptografar e descriptografar dados, assinar e verificar mensagens ou derivar segredos compartilhados (você deve escolher um tipo de uso de chave).

Uso de chave válido para tipos de chaves do KMS
Tipo de chave do KMS Criptografar e descriptografar

ENCRYPT_DECRYPT

Assinar e verificar

SIGN_VERIFY

Gerar e verificar MAC

GENERATE_VERIFY_MAC

Obtenha segredos compartilhados

ACORDO_CHAVE

Chaves do KMS de criptografia simétrica
Chaves do KMS de HMAC (simétrica)
Chaves do KMS assimétricas com pares de chaves RSA
Chaves do KMS assimétricas com pares de chaves de ECC

Você deve usar uma chave KMS assimétrica com o material de chave de curva elíptica recomendado pelo NIST para derivar segredos compartilhados.

Chaves do KMS assimétricas com pares de chaves SM2 (somente nas regiões da China)

No AWS KMS console, primeiro você escolhe o tipo de chave (simétrica ou assimétrica) e depois o uso da chave. O tipo de chave escolhido determina quais opções de uso de chave são exibidas. O uso de chave escolhido determina quais especificações de chave são exibidas, se for o caso.

Para escolher o uso de uma chave no AWS KMS console:

  • Para chaves do KMS de criptografia simétrica (padrão), escolha Encrypt and decrypt (Criptografar e descriptografar).

  • Para chaves do KMS de HMAC, escolha Generate and verify MAC (Gerar e verificar MAC).

  • Para chaves KMS assimétricas com material de chave de curva elíptica (ECC) recomendado pelo NIST, escolha Assinar e verificar ou Contrato de chave.

  • Para chaves KMS assimétricas com material de ECC_SECG_P256K1 chave, escolha Assinar e verificar.

  • Para chaves do KMS assimétricas com material de chave RSA, selecione Encrypt and decrypt (Criptografar e descriptografar) ou Sign and verify (Assinar e verificar).

  • Para chaves KMS assimétricas com material de chave SM2, escolha Criptografar e descriptografar, Assinar e verificar ou Contrato de chave. A especificação de chave SM2 está disponível somente nas regiões da China.

Para permitir que os diretores criem chaves KMS somente para um determinado uso de chave, use a chave de condição kms: KeyUsage. Também é possível usar a chave de condição kms:KeyUsage para permitir que as entidades principais chamem operações de API para uma chave do KMS baseada em seu uso de chave. Por exemplo, apenas será possível conceder permissão para desabilitar uma chave do KMS se o seu uso de chave for SIGN_VERIFY.

Selecionar a especificação de chave

Ao criar uma chave do KMS assimétrica ou uma chave do KMS de HMAC, selecione sua especificação de chave. A especificação da chave, que é uma propriedade de cada AWS KMS key, representa a configuração criptográfica da sua chave KMS. Você escolhe a especificação de chave ao criar a chave do KMS e não pode alterá-la. Se você tiver escolhido a especificação de chave errada, exclua a chave do KMS e crie outra.

nota

A especificação de chave para uma chave do KMS era conhecida como “especificação de chave mestra do cliente”. O CustomerMasterKeySpec parâmetro da CreateKeyoperação está obsoleto. Em vez disso, use o parâmetro KeySpec. A resposta das DescribeKeyoperações CreateKey e inclui um CustomerMasterKeySpec membro KeySpec e com o mesmo valor.

A especificação da chave determina se a chave KMS é simétrica ou assimétrica, o tipo de material da chave na chave KMS e os algoritmos de criptografia, algoritmos de assinatura ou algoritmos de código de autenticação de mensagem (MAC) que AWS KMS suportam a chave KMS. A especificação de chave escolhida normalmente é determinada pelo caso de uso e pelos requisitos regulatórios. No entanto, as operações criptográficas em chaves do KMS com especificações de chave diferentes são cobradas de maneira diferente e estão sujeitas a cotas diferentes. Para obter detalhes sobre os preços, consulte AWS Key Management Service Pricing (Preços do ). Para obter mais informações sobre cotas de solicitações, consulte Cotas de solicitações.

Para determinar as principais especificações que os diretores da sua conta podem usar para chaves KMS, use a chave de condição kms:. KeySpec

AWS KMS suporta as seguintes especificações principais para chaves KMS:

Especificações da chave de criptografia simétrica (padrão)
  • SYMMETRIC_DEFAULT

Especificações de chave de HMAC
  • HMAC_224

  • HMAC_256

  • HMAC_384

  • HMAC_512

Especificações de chave RSA (criptografia e descriptografia ou assinatura e verificação)
  • RSA_2048

  • RSA_3072

  • RSA_4096

Especificações da chave de curva elíptica
  • Pares de chaves de curva elíptica assimétrica recomendados pelo NIST (assinatura e verificação ou derivação de segredos compartilhados)

    • ECC_NIST_P256 (secp256r1)

    • ECC_NIST_P384 (secp384r1)

    • ECC_NIST_P521 (secp521r1)

  • Outros pares de chaves de curva elíptica assimétricas (assinatura e verificação)

    • ECC_SECG_P256K1 (secp256k1), normalmente usado para criptomoedas.

Especificação da chave SM2 (criptografia e descriptografia -ou- assinatura e verificação -ou- derivação de segredos compartilhados)
  • SM2 (somente nas regiões da China)