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á.
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
Para limitar as principais especificações que os diretores podem usar ao criar chaves KMS, use a chave kms: condition. KeySpec Você também pode usar a chave de kms:KeySpec
condição para permitir que os diretores chamem AWS KMS operações somente em chaves KMS com uma especificação de chave específica. Por exemplo, é possível negar permissão para programar a exclusão de qualquer chave do KMS com uma especificação de chave RSA_4096
.
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 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étricas recomendadas 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.
-
-
- SM2 especificação chave (criptografia e descriptografia -ou- assinatura e verificação -ou- derivação de segredos compartilhados)
-
-
SM2 (Somente regiões da China)
-
- Especificações de chave de HMAC
-
-
HMAC_224
-
HMAC_256
-
HMAC_384
-
HMAC_512
-
Especificação da chave SYMMETRIC_DEFAULT
A especificação de chave padrão, SYMMETRIC_DEFAULT, é a especificação de chave para chaves do KMS de criptografia simétrica. Quando você seleciona o tipo de chave simétrica e o uso da chave de criptografia e descriptografia no AWS KMS console, ele seleciona a especificação da chave. SYMMETRIC_DEFAULT
Na CreateKeyoperação, se você não especificar um KeySpec
valor, SYMMETRIC_DEFAULT será selecionado. Se você não tiver um motivo para usar uma especificação de chave diferente, SYMMETRIC_DEFAULT é uma boa escolha.
SYMMETRIC_DEFAULT representa o AES-256-GCM, um algoritmo simétrico com base no Advanced Encryption Standard
Os dados criptografados em AES-256-GCM está protegido agora e futuramente. Os criptógrafos consideram esse algoritmo como resistente a quânticos. Num futuro teórico, ataques de computação quântica em grande escala em textos cifrados criados sob chaves AES-GCM de 256 bits reduzem a segurança efetiva da chave para 128 bits
A única exceção nas regiões da China, onde SYMMETRIC_DEFAULT representa uma chave simétrica de 128 bits que usa criptografia. SM4 Você só pode criar uma SM4 chave de 128 bits nas regiões da China. Uma chave do KMS AES-GCM de 256 bits não pode ser criada nas regiões da China.
Você pode usar uma chave KMS de criptografia simétrica AWS KMS para criptografar, descriptografar e recriptografar dados e para proteger chaves de dados e pares de chaves de dados gerados. AWS os serviços integrados AWS KMS usam chaves KMS de criptografia simétrica para criptografar seus dados em repouso. 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 comparando as operações que podem ser executadas em chaves do KMS simétricas e assimétricas, consulte Comparar chaves do KMS simétricas e assimétricas.
Você pode usar uma chave KMS de criptografia simétrica AWS KMS para criptografar, descriptografar e recriptografar dados e gerar chaves de dados e pares de chaves de dados. Você pode criar chaves do KMS de criptografia simétrica de várias regiões, importar seu próprio material de chaves para uma chave do KMS de criptografia simétrica e criar chaves do KMS de criptografia simétrica em armazenamentos personalizados de chaves. Para obter uma tabela comparando as operações que podem ser realizadas em chaves do KMS de diferentes tipos, consulte Referência de tipos de chaves.
Especificações da chave RSA
Quando você usa uma especificação de chave RSA, AWS KMS cria uma chave KMS assimétrica com um par de chaves RSA. A chave privada nunca sai AWS KMS sem criptografia. Você pode usar a chave pública dentro AWS KMS ou baixar a chave pública para uso externo AWS KMS.
Atenção
Ao criptografar dados fora de AWS KMS, certifique-se de poder descriptografar seu texto cifrado. Se você usar a chave pública de uma chave do KMS que foi excluída do AWS KMS, a chave pública de uma chave do KMS configurada para assinatura e verificação ou um algoritmo de criptografia não compatível com a chave do KMS, os dados se tornarão irrecuperáveis.
Em AWS KMS, você pode usar chaves KMS assimétricas com pares de chaves RSA para criptografia e descriptografia, ou assinatura e verificação, mas não ambas. Essa propriedade, conhecida como uso de chave, é determinada separadamente da especificação de chave, mas você deve tomar essa decisão antes de escolher uma especificação de chave.
AWS KMS suporta as seguintes especificações de chave RSA para criptografia e decodificação ou assinatura e verificação:
-
RSA_2048
-
RSA_3072
-
RSA_4096
As especificações de chave RSA diferem no tamanho da chave RSA em bits. A especificação da chave RSA escolhida deve ser determinada pelos padrões de segurança ou pelos requisitos da tarefa. Em geral, use a maior chave que seja prática e acessível para sua tarefa. As operações criptográficas em chaves do KMS com diferentes especificações de chave RSA são cobradas de maneira diferente. Para obter informações sobre AWS KMS preços, consulte AWS Key Management Service Pricing
Especificações de chave RSA para criptografia e descriptografia
Quando uma chave do KMS RSA assimétrica é usada para criptografia e descriptografia, você criptografa com a chave pública e descriptografa com a chave privada. Quando você chama a Encrypt
operação AWS KMS para obter uma chave RSA KMS, AWS KMS usa a chave pública no par de chaves RSA e o algoritmo de criptografia que você especifica para criptografar seus dados. Para descriptografar o texto cifrado, chame a Decrypt
operação e especifique a mesma chave KMS e algoritmo de criptografia. AWS KMS em seguida, usa a chave privada no par de chaves RSA para descriptografar seus dados.
Você também pode baixar a chave pública e usá-la para criptografar dados externos. AWS KMS Certifique-se de usar um algoritmo de criptografia AWS KMS compatível com chaves RSA KMS. Para descriptografar o texto cifrado, chame a função Decrypt
com a mesma chave do KMS e o mesmo algoritmo de criptografia.
AWS KMS suporta dois algoritmos de criptografia para chaves KMS com especificações de chave RSA. Esses algoritmos, que são definidos no PKCS nº 1 v2.2
Algoritmo de criptografia | Descrição do algoritmo |
---|---|
RSAES_OAEP_SHA_1 | PKCS nº 1 v2.2, Seção 7.1. Criptografia RSA com preenchimento OAEP usando SHA-1 para o hash e na função de geração de MGF1 máscara junto com um rótulo vazio. |
RSAES_OAEP_SHA_256 | PKCS nº 1, Seção 7.1. Criptografia RSA com preenchimento OAEP usando SHA-256 para o hash e na função de geração de MGF1 máscara junto com um rótulo vazio. |
Não é possível configurar uma chave do KMS para usar um algoritmo de criptografia específico. No entanto, você pode usar a condição kms: EncryptionAlgorithm policy para especificar os algoritmos de criptografia que os principais podem usar com a chave KMS.
Para obter os algoritmos de criptografia de uma chave KMS, visualize a configuração criptográfica da chave KMS no AWS KMS console ou use a operação. DescribeKey AWS KMS também fornece a especificação da chave e os algoritmos de criptografia quando você baixa sua chave pública, seja no AWS KMS console ou usando a GetPublicKeyoperação.
Você pode escolher uma especificação de chave RSA com base no tamanho dos dados do texto não criptografado que pode ser criptografado em cada solicitação. A tabela a seguir mostra o tamanho máximo, em bytes, do texto não criptografado que pode ser criptografado em uma única chamada para a operação Encrypt. Os valores diferem de acordo com a especificação de chave e com o algoritmo de criptografia. Para fins comparativos, é possível usar uma chave do KMS de criptografia simétrica para criptografar até 4.096 bytes de uma vez.
Para calcular o tamanho máximo de texto simples em bytes para esses algoritmos, use a seguinte fórmula: (key_size_in_bits
/8) - (2 * hash_length_in_bits
/8) - 2. Por exemplo, para RSA_2048 com SHA-256, o tamanho máximo de texto não criptografado em bytes é de (2048/8) - (2 * 256/8) -2 = 190.
Algoritmo de criptografia | ||
---|---|---|
Especificação da chave | RSAES_OAEP_SHA_1 | RSAES_OAEP_SHA_256 |
RSA_2048 | 214 | 190 |
RSA_3072 | 342 | 318 |
RSA_4096 | 470 | 446 |
Especificações de chave RSA para assinatura e verificação
Quando uma chave do KMS RSA assimétrica é usada para assinatura e verificação, você gera a assinatura para uma mensagem com uma chave privada e verifica a assinatura com a chave pública.
Quando você chama a Sign
operação de uma chave KMS assimétrica, AWS KMS usa a chave privada no par de chaves RSA, a mensagem e o algoritmo de assinatura que você especifica para gerar uma assinatura. AWS KMS Para verificar a assinatura, chame a operação Verify. Especifique a assinatura, além da mesma chave KMS, mensagem e algoritmo de assinatura. AWS KMS em seguida, usa a chave pública no par de chaves RSA para verificar a assinatura. Você também pode baixar a chave pública e usá-la para verificar a assinatura fora do AWS KMS.
AWS KMS suporta os seguintes algoritmos de assinatura para todas as chaves KMS com uma especificação de chave RSA. É obrigatório especificar um algoritmo de assinatura ao chamar as operações Sign e Verify. É possível escolher um algoritmo diferente para cada solicitação. Ao assinar com pares de chaves RSA, os algoritmos RSASSA-PSS são preferidos. Incluímos algoritmos RSASSA- PKCS1 -v1_5 para compatibilidade com aplicativos existentes.
Algoritmo de assinatura | Descrição do algoritmo |
---|---|
RSASSA_PSS_SHA_256 | PKCS #1 v2.2, Seção 8.1, Assinatura RSA com preenchimento PSS usando SHA-256 para o resumo da mensagem e a função de geração de máscara junto com um sal de 256 bits MGF1 |
RSASSA_PSS_SHA_384 | PKCS #1 v2.2, Seção 8.1, Assinatura RSA com preenchimento PSS usando SHA-384 para o resumo da mensagem e a função de geração de máscara junto com um sal de 384 bits MGF1 |
RSASSA_PSS_SHA_512 | PKCS #1 v2.2, Seção 8.1, Assinatura RSA com preenchimento PSS usando SHA-512 para o resumo da mensagem e a função de geração de máscara junto com um sal de 512 bits MGF1 |
PKCS1RASSA_ _V1_5_SHA_256 | PKCS nº 1 v2.2, Seção 8.2, assinatura RSA com PKCS nº 1 v1.5 padding e SHA-256 |
PKCS1RASSA_ _V1_5_SHA_384 | PKCS nº 1 v2.2, Seção 8.2, assinatura RSA com PKCS nº 1 v1.5 padding e SHA-384 |
PKCS1RASSA_ _V1_5_SHA_512 | PKCS nº 1 v2.2, Seção 8.2, assinatura RSA com PKCS nº 1 v1.5 padding e SHA-512 |
Não é possível configurar uma chave do KMS para usar algoritmos de assinatura específicos. No entanto, você pode usar a condição kms: SigningAlgorithm policy para especificar os algoritmos de assinatura que os diretores podem usar com a chave KMS.
Para obter os algoritmos de assinatura de uma chave KMS, visualize a configuração criptográfica da chave KMS no AWS KMS console ou usando a operação. DescribeKey AWS KMS também fornece a especificação da chave e os algoritmos de assinatura quando você baixa sua chave pública, seja no AWS KMS console ou usando a GetPublicKeyoperação.
Especificações da chave de curva elíptica
Quando você usa uma especificação de chave de curva elíptica (ECC), AWS KMS cria uma chave KMS assimétrica com um par de chaves ECC para assinatura e verificação ou derivação de segredos compartilhados (mas não ambos). A chave privada que gera assinaturas ou deriva segredos compartilhados nunca sai descriptografada do AWS KMS . Você pode usar a chave pública para verificar as assinaturas dentro AWS KMS ou fazer o download da chave pública para uso AWS KMS externo.
AWS KMS suporta as seguintes especificações de chave ECC para chaves KMS assimétricas.
-
Pares de chaves de curva elíptica assimétricas recomendadas 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 usada para criptomoedas.
-
A especificação da chave ECC escolhida deve ser determinada pelos padrões de segurança ou pelos requisitos da tarefa. Em geral, use a curva com mais pontos que seja prática e acessível para sua tarefa.
Se você estiver criando uma chave do KMS assimétrica para derivar segredos compartilhados, use uma das especificação de chave de curva elíptica recomendada pelo NIST. O único algoritmo de acordo de chave compatível para derivar segredos compartilhados é o Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive
Se você estiver criando uma chave do KMS assimétrica para usar com criptomoedas, use a especificação de chave ECC_SECG_P256K1. Também é possível usar essa especificação de chave para outros fins, mas ela é exigida para Bitcoin e para outras criptomoedas.
As chaves do KMS com especificações de chave de ECC diferentes são cobradas de maneira diferente e estão sujeitas a diferentes cotas de solicitações. Para obter informações sobre AWS KMS preços, consulte AWS Key Management Service Preços
A tabela a seguir mostra os algoritmos de assinatura AWS KMS compatíveis com cada uma das principais especificações do ECC. Não é possível configurar uma chave do KMS para usar algoritmos de assinatura específicos. No entanto, você pode usar a condição kms: SigningAlgorithm policy para especificar os algoritmos de assinatura que os diretores podem usar com a chave KMS.
Especificação da chave | Algoritmo de assinatura | Descrição do algoritmo |
---|---|---|
ECC_NIST_P256 | ECDSA_SHA_256 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 para o resumo da mensagem. |
ECC_NIST_P384 | ECDSA_SHA_384 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-384 para o resumo da mensagem. |
ECC_NIST_P521 | ECDSA_SHA_512 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-512 para o resumo da mensagem. |
ECC_SECG_P256K1 | ECDSA_SHA_256 | NIST FIPS 186-4, Section 6.4, ECDSA signature using the curve specified by the key and SHA-256 para o resumo da mensagem. |
SM2 especificação chave (somente regiões da China)
A especificação SM2 chave é uma especificação chave de curva elíptica definida na série de especificações GM/T publicada pelo Escritório de Administração Estatal de Criptografia Comercial (OSCCA) da China
Cada chave do KMS pode ter apenas um uso de chave. Você pode usar uma chave SM2 KMS para assinar e verificar, criptografar e descriptografar ou derivar segredos compartilhados. Você deve especificar o uso da chave ao criar a chave do KMS, e não será possível alterá-lo após a criação da chave.
Se você estiver criando uma chave KMS assimétrica para derivar segredos compartilhados, use a especificação de chave. SM2 O único algoritmo de acordo de chave compatível para derivar segredos compartilhados é o Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive
AWS KMS suporta os seguintes algoritmos de SM2 criptografia e assinatura:
-
- SM2Algoritmo de criptografia PKE
-
SM2O PKE é um algoritmo de criptografia baseado em curva elíptica definido pela OSCCA no GM/T 0003.4-2012.
-
- SM2Algoritmo de assinatura DSA
-
SM2O DSA é um algoritmo de assinatura baseado em curva elíptica definido pela OSCCA no GM/T 0003.2-2012. SM2O DSA exige uma ID distintiva que seja codificada com o algoritmo de SM3 hash e depois combinada com a mensagem, ou resumo da mensagem, para a qual você passou. AWS KMS Esse valor concatenado é então codificado e assinado por. AWS KMS
Especificações de chave para chaves do KMS de HMAC
AWS KMS suporta chaves HMAC simétricas em comprimentos variados. A especificação de chave que você escolhe depende de seus requisitos regulatórios, de segurança ou de negócios. O comprimento da chave determina o algoritmo MAC usado nas GenerateMacVerifyMacoperações. Em geral, chaves mais longas são mais seguras. Use a chave mais longa que seja viável para o seu caso de uso.
Especificação de chave de HMAC | Algoritmo de MAC |
---|---|
HMAC_224 | HMAC_SHA_224 |
HMAC_256 | HMAC_SHA_256 |
HMAC_384 | HMAC_SHA_384 |
HMAC_512 | HMAC_SHA_512 |