一个比较理想化完美的在应用层保证数据安全的例子

假如现在 客户端服务器端 传送数字信息,为了保证信息传送的保密性、真实性、完整性和不可否认性,需要对传送的信息进行数字加密和签名,其传送过程为:
1.服务器端 生成 (RSA/SM2) 非对称加密密钥对,将公钥发送给客户端;
2.客户端 准备好要传送的数据报文(明文);
2.客户端 对数据报文进行哈希运算**(HMAC-SHA256/SM3),得到一个信息摘要;
3.客户端 用自己的私钥 (RSA/SM2) 对信息摘要进行加密得到 客户端 的数字签名,并将其附在数字信息上;
4.客户端 生成随机对称加密密钥
(3DES/AES/SM4)**,并用此密码对要发送的信息进行加密,形成密文;
5.客户端服务器端 的公钥对刚才随机产生的加密密钥进行加密,将加密后的 (3DES/AES/SM4) 密钥连同密文一起传送给 服务器端
6.服务器端 收到 客户端 传送来的密文和加密过的 (3DES/AES/SM4) 密钥,先用自己的私钥对加密的 (3DES/AES/SM4) 密钥进行解密,得到 客户端 随机产生的加密密钥;
7.服务器端 然后用随机密钥对收到的密文进行解密,得到明文的数字信息,然后将随机密钥抛弃;
8.服务器端客户端 的公钥对 客户端 的数字签名进行解密验签,得到信息摘要;
9.服务器端 用相同的哈希算法对解密得到的明文再进行一次哈希运算,得到一个新的信息摘要;
10.服务器端 将收到的信息摘要和新产生的信息摘要进行比较,如果一致,说明收到的信息没有被修改过。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值