通过密钥管理服务(KMS)创建非对称密钥,签名者通过调用密码运算API使用私钥计算消息签名,同时获取公钥并分发至消息接收者,接收者使用公钥对消息进行签名验证。
场景特点
用于信任程度不对等的系统之间,实现敏感信息的安全传递。
优势
应用广泛:通过非对称密钥实现签名验签,广泛用于数据防篡改、身份认证等相关技术领域;
安全保障:支持主流的非对称密钥算法并且提供足够的安全强度,保证数字签名的安全性。
场景示意图
操作流程
1. 信息发送者通过KMS控制台或者调用CreateKey接口,创建一个非对称的用户主密钥(CMK);
2. 信息发送者通过调用KMS的getPublicKey接口获取到公钥,并将公钥分发给消息接收者;
3. 信息发送者通过调用KMS的asymmetricSign接口,使用创建的CMK私钥对需要传输的数据生成签名;
4. 信息发送者将签名和数据传递给信息接收者;
5. 信息接收者拿到签名和数据之后,在本地通过gmssl、openssl、密码库、KMS 的国密 Encryption SDK 等验签方法,使用信息发送者分发的公钥进行验证。特殊需求场景下,也可调用KMS的asymmetricVerify接口,使用CMK进行签名校验。