文档简介:
相比对称加密,非对称密钥通常用于在信任程度不对等的系统之间,实现数字签名验签或者加密传递敏感信息。
非对称密钥由一对密钥组成,分别是公开密钥(public key,简称公钥)和私有密钥(private key,简称私钥)。公钥可以任意对外发布,私钥必须由用户自行严格秘密保管。非对称密钥具有双向性,即公钥和私钥中的任一个均可用作加密,此时另一个则用作解密。
密钥管理服务(KMS)支持主流的非对称密钥算法并且提供足够的安全强度,保证数据加密和数字签名的安全性。
KMS支持的非对称密钥类型
非对称密钥支持的算法类型如下:
算法 |
密钥规格 |
保护级别 |
RSA |
RSA_2048 |
|
SM2 |
Ctyun_SM2 |
|
非对称密钥功能特性
由于非对称密钥公、私钥使用场景的特殊性,KMS不支持对非对称的用户主密钥进行自动轮转。您可以自主在指定用户主密钥中创建新的密钥版本,生成全新的一对公钥和私钥。
非对称密钥区分公钥运算和私钥运算,公钥主要用于数据加密和验签,私钥主要用于数字签名和数据解密。
功能 |
功能描述 |
创建密钥版本 |
支持自主创建新密钥版本,不支持设置自动轮转策略。 区别于对称密钥,非对称密钥无密钥主版本概念,则在调用非对称密码运算API接口时,在指定使用的用户主密钥(CMK)的同时,还需指定使用的密钥版本(keyVersion)。 |
公钥运算 |
大多数情况下,您可以调用GetPublicKey接口获取公钥,之后分发给公钥使用者。使用者在业务端通过OpenSSL、Java JCE等常用的密码运算库在本地进行加密、验签处理。 密钥管理服务(KMS)也提供公钥运算的非对称密钥加密接口(asymmetricEncrypt)和数字签名验签接口(asymmetricVerify),满足特定的业务需求。 |
私钥运算 |
由于私钥的不公开性,用户仅能通过调用KMS提供的私钥运算的产生数字签名接口(asymmetricSign)和非对称密钥解密接口(asymmetricDecrypt),实现签名、解密处理。 |
非对称密钥应用场景
场景 |
场景描述 |
签名验签 |
|
数据加解密 |
|