相比对称加密,非对称密钥通常用于在信任程度不对等的系统之间,实现数字签名验签或者加密传递敏感信息。
非对称密钥由一对公钥和私钥组成,他们在密码学上互相关联,其中的公钥可以被分发给任何人,而私钥必须被安全的保护起来,只有受信任者可以使用。
KMS支持对非对称密钥类型的用户主密钥生成证书签名请求CSR(Certificate Signing Request)文件,证书申请者提交CSR给证书颁发机构后,证书颁发机构使用其CA私钥为用户签发数字证书。签发的数字证书可以用于安全电子邮件、安全终端保护、代码签名保护、可信网站服务、身份授权管理等。
KMS支持的非对称密钥算法类型如下:
| 算法 | 密钥规格 | 说明 | 用途 |
|---|---|---|---|
| RSA | RSA_2048RSA_3072 | RSA非对称密码 | 数据的加解密运算数字签名 |
| ECC | EC_P256:NIST推荐的椭圆曲线P-256EC_P256K:SECG椭圆曲线secp256k1 | 椭圆曲线密码(Elliptic Curve Cryptography) | 数字签名 |
| SM2 | EC_SM2 | 标准GBT32918定义的椭圆曲线密码 | 数据的加解密运算数字签名 |
非对称密钥用于数据加密,通常适用于传递敏感信息,典型场景如下:
由于解密的私钥只有信息接收者可以使用,因此可以确保敏感信息的明文在传递过程中不被恶意者截获。这种敏感信息传递的方式,被广泛用于各类密钥交换场景。例如:在TLS中交换会话密钥、在不同的密码机之间导入导出加密密钥。
非对称密钥更广泛的用途是数字签名,即使用私钥对消息或者信息产生签名。由于私钥受到严格保护,只有受信者可以使用私钥来产生签名,使用公钥验证签名可以实现以下目的:
典型的签名验签场景如下:
数字签名被广泛用于数据防篡改、身份认证等相关技术领域。