密钥管理类型和密钥规格

更新时间:
复制 MD 格式

在数据加密、数字签名等业务场景中,可根据合规要求(如国密合规)、性能需求或安全等级,选择合适的密钥管理类型和密钥规格。购买国密软模块后,软件密钥支持 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

硬件密钥

  • Aliyun_AES_256

  • Aliyun_AES_192

  • Aliyun_AES_128

GCM(默认值)、ECB、CBC

ENCRYPT/DECRYPT

  • 数据加密模式为 GCM 时:不涉及填充模式

  • 数据加密模式为 ECB/CBC 时:填充模式为 PKCS7_PADDING 或 NO_PADDING 。

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

  • 数据加密模式为 GCM 时:不涉及填充模式

  • 数据加密模式为 ECB/CBC 时:填充模式为 PKCS7_PADDING 或 NO_PADDING 。

Aliyun_SM4

GCM(默认值)

ENCRYPT/DECRYPT

不涉及

遵循的技术规范

支持的非对称密钥规格

非对称密钥由一对公钥和私钥组成,它们在密码学上互相关联,其中的公钥可以被分发给任何人,而私钥必须被安全地保护起来,只有拥有者或受信任者可以使用。

说明

在 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_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 部分:数字签名算法》。