Dans des scénarios tels que le chiffrement des données et les signatures numériques, sélectionnez un type de gestion de clés et une spécification de clé adaptés aux exigences de conformité (telles que la conformité à la cryptographie nationale), aux besoins en matière de performances ou aux niveaux de sécurité. Après l'achat du module logiciel de cryptographie nationale, les clés protégées par logiciel prennent en charge la spécification Aliyun_SM4. Cette rubrique décrit les spécifications de clés prises en charge par chaque type de gestion de clés.
Spécifications de clés symétriques prises en charge
Le chiffrement par clé symétrique utilise la même clé pour le chiffrement et le déchiffrement. KMS stocke le matériel de clé de manière sécurisée afin d'empêcher tout accès non autorisé, garantissant ainsi la confidentialité de vos données chiffrées.
Spécifications de clés
Le tableau suivant répertorie les spécifications de clés prises en charge par chaque type de gestion de clés pour les clés symétriques.
Lorsque vous appelez l'opération CreateKey pour créer une clé sans spécifier KeySpec, KMS crée par défaut une clé symétrique avec la spécification Aliyun_AES_256.
Les clés HMAC nécessitent la version 4.1.0 ou ultérieure de l'instance KMS. Dans le cas contraire, la console vous invite à mettre à niveau l'image de l'instance. Les clés HMAC ne prennent pas en charge la rotation automatique des clés.
|
Type de gestion de clés |
Spécification de clé |
Algorithme de chiffrement pris en charge |
Utilisation de clé prise en charge |
Mode de remplissage |
|
Clé par défaut |
Aliyun_AES_256 |
GCM (par défaut) |
ENCRYPT/DECRYPT |
S/O |
|
Clé protégée par logiciel |
Aliyun_AES_256 |
GCM (par défaut) |
ENCRYPT/DECRYPT |
S/O |
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
S/O |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
Clé protégée par matériel |
|
GCM (par défaut), ECB, CBC |
ENCRYPT/DECRYPT |
|
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
S/O |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
Clé externe |
Aliyun_AES_256 |
GCM (par défaut), ECB, CBC |
ENCRYPT/DECRYPT |
|
Normes techniques
Aliyun_AES_256 : clé AES, 256 bits. Conforme à la norme technique « Advanced Encryption Standard (AES) » (FIPS PUB 197).
Aliyun_AES_192 : clé AES, 192 bits. Conforme à la norme technique « Advanced Encryption Standard (AES) » (FIPS PUB 197).
Aliyun_AES_128 : clé AES, 128 bits. Conforme à la norme technique « Advanced Encryption Standard (AES) » (FIPS PUB 197).
HMAC_224 : clé HMAC utilisant l'algorithme de hachage SHA-224 avec une sortie MAC de 224 bits. Conforme à la norme technique « The Keyed-Hash Message Authentication Code (HMAC) » (FIPS 198-1).
HMAC_256 : clé HMAC utilisant l'algorithme de hachage SHA-256 avec une sortie MAC de 256 bits. Conforme à la norme technique « The Keyed-Hash Message Authentication Code (HMAC) » (FIPS 198-1).
HMAC_384 : clé HMAC utilisant l'algorithme de hachage SHA-384 avec une sortie MAC de 384 bits. Conforme à la norme technique « The Keyed-Hash Message Authentication Code (HMAC) » (FIPS 198-1).
HMAC_512 : clé HMAC utilisant l'algorithme de hachage SHA-512 avec une sortie MAC de 512 bits. Conforme à la norme technique « The Keyed-Hash Message Authentication Code (HMAC) » (FIPS 198-1).
Spécifications de clés asymétriques prises en charge
Une clé asymétrique se compose d'une paire de clés publique et privée cryptographiquement liées. La clé publique peut être librement distribuée, tandis que la clé privée doit rester protégée de manière sécurisée et accessible uniquement au propriétaire ou aux parties de confiance.
Pour les clés asymétriques créées dans KMS, la clé publique peut être obtenue via l'opération GetPublicKey ou la console KMS. KMS garantit la sécurité des clés privées et ne fournit aucune opération permettant de les exporter.
Les clés asymétriques sont généralement utilisées pour la vérification de signature numérique ou pour chiffrer et distribuer de petites quantités de données, telles que des clés symétriques. Définissez l'utilisation de la clé lors de la création d'une clé asymétrique.
ENCRYPT/DECRYPT : utilisez la clé publique pour chiffrer les données via l'opération Encrypt, et la clé privée pour déchiffrer les données via l'opération Decrypt.
SIGN/VERIFY : utilisez la clé privée pour calculer les signatures numériques via l'opération Sign, et la clé publique pour vérifier les signatures via l'opération Verify.
En raison du coût de calcul élevé des opérations cryptographiques asymétriques, utilisez les clés asymétriques uniquement pour de petits blocs de données, tels que la distribution sécurisée de clés symétriques.
Spécifications de clés
Le tableau suivant répertorie les spécifications de clés prises en charge par chaque type de gestion de clés pour les clés asymétriques.
|
Type de gestion de clés |
Spécification de clé |
Algorithme de chiffrement pris en charge |
Algorithme de signature pris en charge |
|
Clé protégée par logiciel |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (par défaut) |
RSA_PSS_SHA_256 (par défaut), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (par défaut) |
ECDSA_SHA_256 (par défaut) |
|
|
Ed25519 |
Non pris en charge |
EdDSA |
|
|
Clé protégée par matériel |
RSA_2048, RSA_3072, RSA_4096 |
RSAES_OAEP_SHA_256 (par défaut) |
RSA_PSS_SHA_256 (par défaut), RSA_PKCS1_SHA_256 |
|
EC_P256, EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (par défaut) |
ECDSA_SHA_256 (par défaut) |
Normes techniques
RSA_2048 : paire de clés RSA avec une longueur de module de 2048 bits. Conforme à la norme technique « PKCS #1: RSA Cryptography Specifications Version 2.2 ».
RSA_3072 : paire de clés RSA avec une longueur de module de 3072 bits. Conforme à la norme technique « PKCS #1: RSA Cryptography Specifications Version 2.2 ».
RSA_4096 : paire de clés RSA avec une longueur de module de 4096 bits. Conforme à la norme technique « PKCS #1: RSA Cryptography Specifications Version 2.2 ».
EC_P256 : paire de clés ECC (Elliptic Curve Cryptography) utilisant la courbe P-256 recommandée par le NIST, également connue sous le nom de secp256r1 ou ANSI prime256v1 dans d'autres normes. Conforme à la norme technique « NIST SP800-186 Recommendations for Discrete Logarithm-based Cryptography ».
EC_P256K : paire de clés ECC (Elliptic Curve Cryptography) utilisant la courbe secp256k1 recommandée par SECG. Conforme à la norme technique « SEC 2: Recommended Elliptic Curve Domain Parameters ».
Algorithmes de chiffrement
RSAES_OAEP_SHA_256 : chiffrement RSA utilisant le mode RSAES-OAEP tel que défini dans RFC 3447/PKCS#1, avec MGF1 et SHA-256.
ECIES_DH_SHA_1_XOR_HMAC : conforme à la norme SEC 1: Elliptic Curve Cryptography, Version 2.0. Utilise ECDH pour l'accord de clé, KDF2 avec SHA-1 pour la dérivation de clé, HMAC-SHA-1 comme algorithme MAC et XOR pour le chiffrement symétrique.
Algorithmes de signature
RSA_PSS_SHA_256 : calcule le hachage SHA-256 des données et la signature à l'aide de l'algorithme RSASSA-PSS tel que défini dans RFC 3447/PKCS#1, avec MGF1 (SHA-256).
RSA_PKCS1_SHA_256 : calcule le hachage SHA-256 des données et la signature à l'aide de l'algorithme RSASSA-PKCS1-v1_5 tel que défini dans RFC 3447/PKCS#1.
ECDSA_SHA_256 : signature numérique ECDSA utilisant l'algorithme de hachage SHA-256.