非对称密钥加密通信的过程类似于对称加密,区别在于需要使用公钥进行数据加密,使用私钥进行数据解密。
由于密文只有通过私钥才可以解密,而私钥是不公开的,所以即使由于传输介质的安全性比较低而导致信息泄露,拿到密文的人也无法将其破译,从而保证了敏感信息的安全。这种敏感信息传递的方式,被广泛用于各类密钥交换场景。
操作流程
- 信息接收者通过KMS控制台或者调用KMS的CreateKey接口,创建一个非对称的用户主密钥(CMK)。
- 信息接收者通过调用KMS的getPublicKey接口获取到公钥,并将公钥分发给消息发送者。
- 信息发送者使用公钥在本地通过OpenSSL等方式对数据进行加密。特殊需求场景下,也可通过调用KMS的asymmetricEncrypt接口,使用CMK进行加密。
- 信息发送者将密文数据传递给信息接收者。
- 信息接收者拿到密文数据之后,可调用KMS的asymmetricDecrypt接口,使用私钥进行数据解密。
相关API
您可以调用以下KMS API,完成对敏感数据传输中的加解密处理。
API名称 | 说明 |
---|---|
createKey | 创建用户主密钥(CMK)。 |
getPublicKey | 获取非对称密钥的公钥,可用于离线验证数字签名,或者加密数据。 |
asymmetricEncrypt | 非对称密钥的公钥运算:加密数据。 |
asymmetricDecrypt | 非对称密钥的私钥运算:解密公钥加密的数据。 |