在数据加密、数字签名等业务场景中,可根据合规要求(如国密合规)、性能需求或安全等级,选择合适的密钥管理类型和密钥规格。购买国密软模块后,软件密钥支持 Aliyun_SM4 规格。本文介绍不同的密钥管理类型支持的密钥规格等信息。
支持的对称密钥规格
对称密钥加密是最常用的敏感数据加密保护方式之一,加密过程和解密过程使用相同的密钥内容, KMS 可以安全保管对称密钥的密钥材料以防止被非法窃取或使用,确保被加密数据的安全。
密钥规格
对称密钥主要用于数据的加密保护场景,不同的密钥管理类型支持的密钥规格等信息请参见下表。
-
通过CreateKey接口创建密钥时,如果未指定具体的密钥规格( KeySpec ), KMS 默认创建“Aliyun_AES_256”密钥规格的对称密钥。
-
HMAC 密钥要求 KMS 实例版本 ≥ 4.1.0,否则控制台将提示「实例镜像升级」。HMAC 密钥不支持自动密钥轮转。
|
密钥管理类型 |
密钥规格 |
支持的加密算法 |
支持的密钥用途 |
填充模式 |
|
默认密钥 |
Aliyun_AES_256 |
GCM(默认值) |
ENCRYPT/DECRYPT |
不涉及 |
|
软件密钥 |
Aliyun_AES_256 |
GCM(默认值) |
ENCRYPT/DECRYPT |
不涉及 |
|
Aliyun_SM4 说明
需购买国密模块。 |
GCM(默认值) |
ENCRYPT/DECRYPT |
不涉及 |
|
|
HMAC_224 |
HMAC_SHA_224 |
SIGN/VERIFY |
不涉及 |
|
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
HMAC_384 |
HMAC_SHA_384 |
SIGN/VERIFY |
||
|
HMAC_512 |
HMAC_SHA_512 |
SIGN/VERIFY |
||
|
硬件密钥 |
|
GCM(默认值)、ECB、CBC |
ENCRYPT/DECRYPT |
|
|
Aliyun_SM4 |
GCM(默认值) |
ENCRYPT/DECRYPT |
不涉及 |
|
|
HMAC_SM3 |
HMAC_SM3 |
SIGN/VERIFY |
||
|
HMAC_256 |
HMAC_SHA_256 |
SIGN/VERIFY |
||
|
外部密钥 |
Aliyun_AES_256 |
GCM(默认值)、ECB、CBC |
ENCRYPT/DECRYPT |
|
|
Aliyun_SM4 |
GCM(默认值) |
ENCRYPT/DECRYPT |
不涉及 |
遵循的技术规范
-
Aliyun_AES_256 : AES 密钥, 256 比特。遵循技术规范《Advanced Encryption Standard (AES)》( FIPS PUB 197 )。
-
Aliyun_AES_192 : AES 密钥, 192 比特。遵循技术规范《Advanced Encryption Standard (AES)》( FIPS PUB 197 )。
-
Aliyun_AES_128 : AES 密钥, 128 比特。遵循技术规范《Advanced Encryption Standard (AES)》( FIPS PUB 197 )。
-
Aliyun_SM4 : SM4 密钥, 128 比特。遵循技术规范《GB/T 32907-2016 信息安全技术 SM4 分组密码算法》、《 GM/T 0002-2012 SM4 分组密码算法》
-
HMAC_224 :HMAC 密钥,使用 SHA-224 杂凑算法,MAC 输出 224 比特。遵循技术规范《The Keyed-Hash Message Authentication Code (HMAC)》( FIPS 198-1 )。
-
HMAC_256 :HMAC 密钥,使用 SHA-256 杂凑算法,MAC 输出 256 比特。遵循技术规范《The Keyed-Hash Message Authentication Code (HMAC)》( FIPS 198-1 )。
-
HMAC_384 :HMAC 密钥,使用 SHA-384 杂凑算法,MAC 输出 384 比特。遵循技术规范《The Keyed-Hash Message Authentication Code (HMAC)》( FIPS 198-1 )。
-
HMAC_512 :HMAC 密钥,使用 SHA-512 杂凑算法,MAC 输出 512 比特。遵循技术规范《The Keyed-Hash Message Authentication Code (HMAC)》( FIPS 198-1 )。
-
HMAC_SM3 :HMAC 密钥,使用 SM3 杂凑算法。遵循技术规范《The Keyed-Hash Message Authentication Code (HMAC)》( FIPS 198-1 )及《 GM/T 0004-2012 SM3 密码杂凑算法》。
支持的非对称密钥规格
非对称密钥由一对公钥和私钥组成,它们在密码学上互相关联,其中的公钥可以被分发给任何人,而私钥必须被安全地保护起来,只有拥有者或受信任者可以使用。
在 KMS 创建的非对称密钥,可通过GetPublicKey接口或控制台获取公钥内容;私钥内容由 KMS 确保安全性,且 KMS 不提供导出非对称密钥私钥的接口。
非对称密钥通常用于实现数字签名验签或者加密传递对称密钥等数据量较小的机密信息,可在创建非对称密钥时设定密钥用途。
-
当密钥用途为ENCRYPT/DECRYPT时:可通过 KMS 的加密( Encrypt )接口使用公钥进行加密,通过解密( Decrypt )接口使用私钥进行解密。
-
当密钥用途为SIGN/VERIFY时:可通过 KMS 的数字签名( Sign )接口使用私钥进行数字签名计算,通过数字签名验证( Verify )接口使用公钥进行签名验证。
因非对称加解密运算量比较大,使用非对称密钥进行加解密时,在实际应用通常用于安全分发对称密钥等仅需要加解密小块数据的场景。
密钥规格
不同的密钥管理类型支持的密钥规格等信息请参见下表。
|
密钥管理类型 |
密钥规格 |
支持的加密算法 |
支持的签名算法 |
|
软件密钥 |
RSA_2048 、 RSA_3072 、 RSA_4096 |
RSAES_OAEP_SHA_256 (默认值) |
RSA_PSS_SHA_256 (默认值)、 RSA_PKCS1_SHA_256 |
|
EC_P256 、 EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (默认值) |
ECDSA_SHA_256 (默认值) |
|
|
Ed25519 |
不支持 |
EdDSA |
|
|
硬件密钥 |
RSA_2048 、 RSA_3072 、 RSA_4096 |
RSAES_OAEP_SHA_256 (默认值) |
RSA_PSS_SHA_256 (默认值)、 RSA_PKCS1_SHA_256 |
|
EC_P256 、 EC_P256K |
ECIES_DH_SHA_1_XOR_HMAC (默认值) |
ECDSA_SHA_256 (默认值) |
|
|
EC_SM2 |
SM2PKE (默认值) |
SM2DSA (默认值) |
遵循的技术规范
-
RSA_2048 : RSA 密钥对,模( modulus )长 2048 比特。遵循技术规范《PKCS #1: RSA Cryptography Specifications Version 2.2》。
-
RSA_3072 : RSA 密钥对,模( modulus )长 3072 比特。遵循技术规范《PKCS #1: RSA Cryptography Specifications Version 2.2》。
-
RSA_4096 : RSA 密钥对,模( modulus )长 4096 比特。遵循技术规范《PKCS #1: RSA Cryptography Specifications Version 2.2》。
-
EC_P256 :椭圆曲线密码 Elliptic Curve Cryptography (ECC) 密钥对,采用 NIST 推荐使用的曲线之一 P-256 ,该曲线在其他标准中也称为 secp256r1 或 ANSI prime256v1 。遵循技术规范《NIST SP800-186 Recommendations for Discrete Logarithm-based Cryptography 》。
-
EC_P256K :椭圆曲线密码 Elliptic Curve Cryptography (ECC) 密钥对,采用 Secg 推荐的曲线之一 secp256k1 。遵循技术规范《SEC 2: Recommended Elliptic Curve Domain Parameters》。
-
EC_SM2 : SM2 算法密钥对,遵循技术规范《GB/T 32918-2016 信息安全技术 SM2 椭圆曲线公钥密码算法》、《 GM/T 0003-2012 SM2 椭圆曲线公钥密码算法》。
加密算法说明
-
RSAES_OAEP_SHA_256 : RSA 加密,按照 RFC 3447/PKCS#1 中定义的 RSAES-OAEP 模式,使用 MGF1 和 SHA-256 。
-
ECIES_DH_SHA_1_XOR_HMAC :遵循SEC 1: Elliptic Curve Cryptography, Version 2.0标准,密钥协商算法采用 ECDH ,密钥派生算法采用 KDF2 with SHA-1 , MAC 算法采用 HMAC-SHA-1 ,对称加密算法采用 XOR 。
-
SM2PKE : SM2 椭圆曲线公钥加密算法,符合标准《GM/T 0003.4 SM2 椭圆曲线公钥密码算法 第 4 部分:公钥加密算法》
签名算法说明
-
RSA_PSS_SHA_256 :对数据使用 SHA-256 算法计算杂凑值,按照 RFC 3447/PKCS#1 中定义的 RSASSA-PSS 算法计算签名, MGF1 ( SHA-256 )。
-
RSA_PKCS1_SHA_256 :对数据使用 SHA-256 算法计算杂凑值,按照 RFC 3447/PKCS#1 中定义的 RSASSA-PKCS1-v1_5 算法计算签名。
-
ECDSA_SHA_256 : ECDSA 数字签名,使用 SHA-256 杂凑算法。
-
SM2DSA : SM2 椭圆曲线数字签名算法,符合标准《GM/T 0003.2 SM2 椭圆曲线公钥密码算法 第 2 部分:数字签名算法》。