帮我看看这个认证协议有啥可以改进的 缺点肯定很多 谢谢大家
密钥交换协议,没看到A对B的认证。
针对第二步的攻击:
由于k被B明文发送回来,所以攻击者可以在中途截获k,自己选择t\u0026#39;, 然后依次计算 h\u0026#39; = hash(t\u0026#39;||k),
c1\u0026#39; = r\u0026#39;G, c2\u0026#39; = S‘ + r\u0026#39;Q. (话说Q是什么?)
A将对此毫无察觉,第3步中的认证无用。(malicious acceptance !)
改进建议:
【帮我看看这个认证协议有啥可以改进的 缺点肯定很多 谢谢大家】 使用数字签名,B用自己的签名密钥签在((k, h) (c1, c2))上
=========补充一点如何理论检验一个协议的安全性的方法==============
完全的理论研究方法可以参考这篇论文中的ACCE模型
https://www.nds.ruhr-uni-bochum.de/media/nds/veroeffentlichungen/2012/08/22/main.pdf
朴素的检验方法可以分为下面几步:
1. 检验所有的Nonce的有效长度和随机程度;
若有小于多项式长度的Nonce,则不安全
2. 检验所有hash、prf和prp的模式,以及数据签名的安全程度:
比如这个例子里,若hash是类似CBC模式,则第二步把h(t||k)改成h(k||t)会导致安全问题
3. 检查所有和验证有关的步骤的前一步。
逐个替换消息中的参数,看会不会导致
3.1 malicious acceptance, 这个中文可能可以翻译为“非法接受”
具体在题主这个协议里是说,在改变了验证信息之后,A在接下来的验证中无法发现。
3.2 distinguishable keys,意思是说,最后产生的session key对于攻击者来说不是随机的
这个安全要求比较高,直观而言,就是攻击者可以通过篡改A、B间的通信内容,对session key产生影响。
我在下面这个问题的回答末尾提到了一个例子,攻击者可以让A使用一个固定的session key
已知部分明文和密文和加密方式怎么攻击protocol然后得到全部明文? - 用户的回答
如果以上都没有问题,那么这个协议在随机数不冲突、hash安全、数字签名安全且交换方法安全的情况下基本是安全的。
推荐阅读
- 如果你的多肉出现这个长势,要注意这个细节,多肉才会越来越美!
- 『活动』让孩子们欢欢喜喜过新年 这个元旦好有爱!南京聋校举办多种形式庆祝活动
- 免费“单人套餐”背后的故事:爱心让这个冬天不再寒冷
- 夫子庙■“秦淮灯会”“夫子庙小吃”等非遗重点保护 护航夫子庙,这个法明年施行
- 气温■@江苏人,这个周末天气晴!温度缓慢回升,早晚依旧“冻”人
- 装置■一天效益百万的国产装置见过没?一起去大修现场看看吧
- 黄金时间■黄金时间丨哪种产品最节水?购买产品请注意这个标识!
- 『黄金时间』请认准这个蓝色的标志! 黄金时间丨同行业中用水最少的企业
- 汽车|评测 | 懂你所想,予你所需!依维柯欧胜2021款这个“搭档”可还行?
- 电动车|这个月,原来小编们这么拼