摘要认证和签名认证

18 篇文章 0 订阅
6 篇文章 3 订阅

常见的安全算法-整理 文章中介绍了各种安全算法,这一节整理下算法的使用场景。

  • 为什么需要认证[应对场景]
  • 摘要认证原理
  • 摘要认证实现
  • 签名认证原理
  • 签名认证实现

为什么需要认证-场景

经由Http协议进行通讯的数据大都是未经加密的明文,包括参数、返回值、cookie、head数据,外界通过对通信的监听,可以轻而易举的根据请求和响应的格式,伪造请求和响应。

http协议的攻击门槛低,通过插件可以清楚的看到http请求生成的参数及响应的body,甚至有时候都能看到用户请求的用户名和密码。

鉴于第三方可以模拟请求和响应,就相当于数据被中途拦截和修改,那么服务端就需要对传输的数据进行校验,来确保内容未经篡改。

摘要认证原理

摘要认证的目的是确保数据在网络传输过程中不被篡改。原理就是在传输的内容后面追加一个偏移量(secret),然后利用数字摘要算法,生成数字摘要,连同传输内容,一起传输到服务端。

服务端接收到数据后,对内容+secret也做摘要运算,将得到的摘要与接收的摘要进行对比,相同则表示内容未经修改。

整个过程中secret比较重要,一旦泄漏则无法保障安全。

摘要认证实现

摘要认证分为4个环节,3、4基本与1、2相同,不做介绍。

  • 1、客户端摘要生成;
  • 2、服务端摘要验证;
  • 3、服务端响应摘要生成;
  • 4、客户端响应摘要验证。

1、请求参数摘要生成过程
在这里插入图片描述

2、服务端摘要验证过程
在这里插入图片描述

签名认证原理

摘要认证能够在一定程度上防止通信内容的篡改,但算法的安全性取决于secret的安全性。因此最好能够不依赖单一的secret,就引出了签名认证,即客户端将内容的摘要信息进行分对称加密,形成签名;服务端利用公钥对签名进行解密,得到客户端摘要信息,然后生成服务端摘要信息,两者比较看是否被篡改。

签名认证实现

签名认证也分为4个环节,3、4基本与1、2相同,不做介绍。

  • 1、客户端签名生成;
  • 2、服务端签名验证;
  • 3、服务端响应签名生成;
  • 4、客户端响应签名验证。

1、客户端签名生成
在这里插入图片描述

2、服务端签名验证

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值