密钥管理类型和密钥规格

阿里云KMS支持常见的对称密钥规格和非对称密钥规格,并且提供足够的安全强度,以保证数据加密的安全性。本文介绍不同的密钥管理类型支持的密钥规格等信息。

支持的对称密钥规格

对称密钥加密是最常用的敏感数据加密保护方式之一,加密过程和解密过程使用相同的密钥内容,KMS可以安全保管对称密钥的密钥材料以防止被非法窃取或使用,确保被加密数据的安全。

密钥规格

对称密钥主要用于数据的加密保护场景,不同的密钥管理类型支持的密钥规格等信息请参见下表。

密钥管理类型

密钥规格

支持的加密算法

填充模式

默认密钥

Aliyun_AES_256

GCM(默认值)

不涉及

软件密钥

Aliyun_AES_256

GCM(默认值)

不涉及

硬件密钥

  • Aliyun_AES_256

  • Aliyun_AES_192

  • Aliyun_AES_128

GCM(默认值)、ECB、CBC

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

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

Aliyun_SM4

GCM(默认值)

不涉及

外部密钥

Aliyun_AES_256

GCM(默认值)、ECB、CBC

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

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

Aliyun_SM4

GCM(默认值)

不涉及

说明

通过CreateKey接口创建密钥时,如果您未指定具体的密钥规格(KeySpec),KMS默认创建“Aliyun_AES_256”密钥规格的对称密钥。

遵循的技术规范

支持的非对称密钥规格

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

说明

您在KMS创建的非对称密钥,可通过GetPublicKey接口或控制台获取公钥内容;私钥内容由KMS确保安全性,且KMS不提供导出非对称密钥私钥的接口。

非对称密钥通常用于实现数字签名验签或者加密传递对称密钥等数据量较小的机密信息,您可以在创建非对称密钥时设定密钥用途。

  • 当密钥用途为ENCRYPT/DECRYPT时:您可通过KMS的加密(Encrypt)接口使用公钥进行加密,通过解密(Decrypt)接口使用私钥进行解密。

  • 当密钥用途为SIGN/VERIFY时:您可通过KMS的数字签名(Sign)接口使用私钥进行数字签名计算,通过数字签名验证(Verify)接口使用公钥进行签名验证。

说明

因非对称加解密运算量比较大,使用非对称密钥进行加解密时,在实际应用通常用于安全分发对称密钥等仅需要加解密小块数据的场景。

密钥规格

不同的密钥管理类型支持的密钥规格等信息请参见下表。

密钥管理类型

密钥规格

支持的加密算法

支持的签名算法

软件密钥

RSA_2048、RSA_3072

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(默认值)

硬件密钥

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(默认值)

遵循的技术规范

加密算法说明

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