阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。 [说明] 用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极其重要。以下过程给出了实现用户B对用户A身份的认证过程。 1.A->B:A 2.B->A:{B,Nb}p

admin2017-11-28  35

问题 阅读下列说明,回答问题1至问题4,将解答写在答题纸的对应栏内。
[说明]
用户的身份认证是许多应用系统的第一道防线,身份识别对确保系统和数据的安全保密极其重要。以下过程给出了实现用户B对用户A身份的认证过程。
1.A->B:A
2.B->A:{B,Nb}pk(A)
3.A->B:h(Nb)
此处A和B是认证实体,Nb是一个随机值,pk(A)表示实体A的公钥,{B,Nb}pk(A)表示用A的公钥对消息B,Nb进行加密处理,h(Nb)表示用哈希算法h对Nb计算哈希值。
[问题4]
上述协议存在什么安全缺陷?请给出相应的解决思路。

选项

答案存在重放攻击和中间人攻击的安全缺陷。针对重放攻击的解决思路是加入时间戳、验证码等信息;针对中间人攻击的解决思路是加入针对身份的双向验证。

解析 本题主要考查密码协议的安全性,要求对密码协议所要求完成的各项安全功能有明确的设计思路,例如双方身份的相互确认、数据如何加密、如何防止各种重放或者中间人劫持攻击等等。
[问题1]
认证主要是对参与双方身份信息的核实和验证,而加密则是对数据的一种变换,确保实现保密性、完整性和可用性的安全目的。
[问题2]
Nb是一个随机值,一方面确保B发给A的数据包无法预测,另一方面使用用户A的公钥加密,确保只有用户A才能解开,攻击者无法解开。
[问题3]
用户A收到2号数据包以后回复h(Nb),用于告诉用户B用户A已经收到上述消息,而且能得到Nb说明用户A的身份是真实的。用哈希值h(Nb)回复也可以确保攻击者无法恢复Nb。攻击者无法得知№的任何信息。
[问题4]
上述协议只有用户A的身份是经过验证的,攻击者可以重复发送第二个数据包给A消耗计算资源。攻击者可以截获第一个包,伪造A的身份,给B发送包声称自己是C,结果用户B会以用户C的公钥来加密,攻击者以C的私钥解出数据包内容,得到Nb的产生信息。
转载请注明原文地址:https://kaotiyun.com/show/7wTZ777K
0

相关试题推荐
最新回复(0)