Em cenários como criptografia de dados e assinaturas digitais, selecione o tipo de gerenciamento de chaves e a especificação de chave adequados com base em requisitos de conformidade (como conformidade com criptografia nacional), necessidades de desempenho ou níveis de segurança. Após adquirir o módulo de software de criptografia nacional, as chaves protegidas por software passam a ser compatíveis com a especificação Aliyun_SM4. Este tópico descreve as especificações de chaves compatíveis com cada tipo de gerenciamento de chaves.
Especificações de chaves simétricas compatíveis
A criptografia de chave simétrica usa a mesma chave para criptografar e descriptografar. O KMS armazena o material da chave com segurança para impedir acessos não autorizados e garantir a confidencialidade dos seus dados criptografados.
Especificações de chaves
A tabela a seguir lista as especificações de chaves compatíveis com cada tipo de gerenciamento de chaves para chaves simétricas.
Ao chamar a operação CreateKey para criar uma chave sem especificar KeySpec, o KMS cria uma chave simétrica com a especificação Aliyun_AES_256 por padrão.
As chaves HMAC exigem a versão 4.1.0 ou posterior da instância do KMS. Caso contrário, o console solicitará a atualização da imagem da instância. Chaves HMAC não são compatíveis com rotação automática de chaves.
|
Tipo de gerenciamento de chaves |
Especificação da chave |
Algoritmo de criptografia compatível |
Uso da chave compatível |
Modo de preenchimento |
|
Chave padrão |
Aliyun_AES_256 |
GCM (padrão) |
ENCRYPT/DECRYPT |
N/A |
|
Chave protegida por software |
Aliyun_AES_256 |
GCM (padrão) |
ENCRYPT/DECRYPT |
N/A |
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
N/A |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
Chave protegida por hardware |
|
GCM (padrão), ECB, CBC |
ENCRYPT/DECRYPT |
|
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
N/A |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
Chave externa |
Aliyun_AES_256 |
GCM (padrão), ECB, CBC |
ENCRYPT/DECRYPT |
|
Padrões técnicos
Aliyun_AES_256: chave AES de 256 bits. Compatível com o padrão técnico "Advanced Encryption Standard (AES)" (FIPS PUB 197).
Aliyun_AES_192: chave AES de 192 bits. Compatível com o padrão técnico "Advanced Encryption Standard (AES)" (FIPS PUB 197).
Aliyun_AES_128: chave AES de 128 bits. Compatível com o padrão técnico "Advanced Encryption Standard (AES)" (FIPS PUB 197).
HMAC_224: chave HMAC que usa o algoritmo de hash SHA-224 com saída MAC de 224 bits. Compatível com o padrão técnico "The Keyed-Hash Message Authentication Code (HMAC)" (FIPS 198-1).
HMAC_256: chave HMAC que usa o algoritmo de hash SHA-256 com saída MAC de 256 bits. Compatível com o padrão técnico "The Keyed-Hash Message Authentication Code (HMAC)" (FIPS 198-1).
HMAC_384: chave HMAC que usa o algoritmo de hash SHA-384 com saída MAC de 384 bits. Compatível com o padrão técnico "The Keyed-Hash Message Authentication Code (HMAC)" (FIPS 198-1).
HMAC_512: chave HMAC que usa o algoritmo de hash SHA-512 com saída MAC de 512 bits. Compatível com o padrão técnico "The Keyed-Hash Message Authentication Code (HMAC)" (FIPS 198-1).
Especificações de chaves assimétricas compatíveis
Uma chave assimétrica consiste em um par de chaves pública e privada relacionadas criptograficamente. A chave pública pode ser distribuída livremente, enquanto a chave privada deve permanecer protegida e acessível apenas ao proprietário ou a partes confiáveis.
Para chaves assimétricas criadas no KMS, obtenha a chave pública por meio da operação GetPublicKey ou pelo console do KMS. O KMS garante a segurança das chaves privadas e não fornece nenhuma operação para exportá-las.
Chaves assimétricas são geralmente usadas para verificação de assinatura digital ou para criptografar e distribuir pequenas quantidades de dados, como chaves simétricas. Defina o uso da chave ao criar uma chave assimétrica.
ENCRYPT/DECRYPT: use a chave pública para criptografar dados por meio da operação Encrypt e a chave privada para descriptografar dados por meio da operação Decrypt.
SIGN/VERIFY: use a chave privada para calcular assinaturas digitais por meio da operação Sign e a chave pública para verificar assinaturas por meio da operação Verify.
Devido ao alto custo computacional das operações criptográficas assimétricas, use chaves assimétricas apenas para pequenos blocos de dados, como na distribuição segura de chaves simétricas.
Especificações de chaves
A tabela a seguir lista as especificações de chaves compatíveis com cada tipo de gerenciamento de chaves para chaves assimétricas.
|
Tipo de gerenciamento de chaves |
Especificação da chave |
Algoritmo de criptografia compatível |
Algoritmo de assinatura compatível |
|
Chave protegida por software |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (padrão) |
RSA_PSS_SHA_256 (padrão), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (padrão) |
ECDSA_SHA_256 (padrão) |
|
|
Ed25519 |
Não compatível |
EdDSA |
|
|
Chave protegida por hardware |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (padrão) |
RSA_PSS_SHA_256 (padrão), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (padrão) |
ECDSA_SHA_256 (padrão) |
Padrões técnicos
RSA_2048: par de chaves RSA com comprimento de módulo de 2048 bits. Compatível com o padrão técnico "PKCS #1: RSA Cryptography Specifications Version 2.2".
RSA_3072: par de chaves RSA com comprimento de módulo de 3072 bits. Compatível com o padrão técnico "PKCS #1: RSA Cryptography Specifications Version 2.2".
RSA_4096: par de chaves RSA com comprimento de módulo de 4096 bits. Compatível com o padrão técnico "PKCS #1: RSA Cryptography Specifications Version 2.2".
EC_P256: par de chaves de Criptografia de Curva Elíptica (ECC) que usa a curva P-256 recomendada pelo NIST, também conhecida como secp256r1 ou ANSI prime256v1 em outros padrões. Compatível com o padrão técnico "NIST SP800-186 Recommendations for Discrete Logarithm-based Cryptography".
EC_P256K: par de chaves de Criptografia de Curva Elíptica (ECC) que usa a curva secp256k1 recomendada pelo SECG. Compatível com o padrão técnico "SEC 2: Recommended Elliptic Curve Domain Parameters".
Algoritmos de criptografia
RSAES_OAEP_SHA_256: criptografia RSA que usa o modo RSAES-OAEP conforme definido na RFC 3447/PKCS#1, com MGF1 e SHA-256.
ECIES_DH_SHA_1_XOR_HMAC: compatível com o padrão SEC 1: Elliptic Curve Cryptography, Version 2.0. Usa ECDH para acordo de chaves, KDF2 com SHA-1 para derivação de chaves, HMAC-SHA-1 como algoritmo MAC e XOR para criptografia simétrica.
Algoritmos de assinatura
RSA_PSS_SHA_256: calcula o hash SHA-256 dos dados e a assinatura usando o algoritmo RSASSA-PSS conforme definido na RFC 3447/PKCS#1, com MGF1 (SHA-256).
RSA_PKCS1_SHA_256: calcula o hash SHA-256 dos dados e a assinatura usando o algoritmo RSASSA-PKCS1-v1_5 conforme definido na RFC 3447/PKCS#1.
ECDSA_SHA_256: assinatura digital ECDSA que usa o algoritmo de hash SHA-256.