列表

详情


阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
假设用户A和用户B为了互相验证对方的身份,设计了如下通信协议:

其中:是随机数,是双方事先约定并共享的口令,“||”表示连接操作。f是哈希函数。

【问题1】(2分)
身份认证可以通过用户知道什么、用户拥有什么和用户的生理特征等方法来验证。请问上述通信协议是采用哪种方法实现的?
【问题2】(2分)
根据身份的互相验证需求,补充协议第3步的空白内容。
【问题3】(2分)
通常哈希函数f需要满足下列性质:单向性、抗弱碰撞性、抗强碰撞性。如果某哈希函数f具备:找到任何满足f(x)=f(y)的偶对(x,y)在计算上是不可行的,请说明其满足哪条性质。
【问题4】(2分)
上述协议不能防止重放攻击,以下哪种改进方式能使其防止重放攻击?
(1)在发送消息加上时间参量。
(2)在发送消息加上随机数。
【问题5】(4分)
如果将哈希函数替换成对称加密函数,是否可以提高该协议的安全性?为什么?  

参考答案:

【问题1】  
通过用户知道什么来验证。
【问题2】  

【问题3】 
抗强碰撞性。
【问题4】   
(1)或者“加入时间参量”。
【问题5】   
没有提高安全性。
尽管加密函数也可以实现认证功能,但是从单向性要求上,加密函数显然没有哈希函数的安全性高。


详细解析:

【问题1】  
口令是接收双方预先约定的秘密数据,它用来验证用户知道什么。  
【问题2】   
第3步中用户A将共享口令和随机值   用hash函数加密后,发送给用户B,以便用户B对其身份进行验证。
【问题3】    
Hash 函数满足以下性质:
单向性:对任何给定的 hash 函数值 h, 找到满足 H(x)等于h的 x 在计算上是不可行的。 

抗弱碰撞性:对任何给定的分组 x, 找到满足y不等于x且 H(x)=H(y)的 y 在计算上是不可行的。
抗强碰撞性:找到任何满足 H(x)=H(y)的偶对(x,y)在计算上是不可行的。 

【问题4】   
重放攻击是指入侵者从网络上截取主机A发送给主机B的报文,并把由A加密的报文发送给B,使主机B误以为入侵者就是主机A,然后主机B向伪装成A的入侵者发送应当发送给A的报文。防止重放攻击的方法是使用不重数;如加随机数、加时间戳、加流水号等。 
【问题5】   
对称加密体制中,密钥的管理和分发非常困难,不够安全。在数据传送前,发送方和接收方必须商定好密钥,然后双方都必须要保存好密钥,如果一方的密钥被泄露,那么加密信息也就不安全了。另外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的唯一密钥,这会使得收、发双方所拥有的钥匙数量巨大,密钥管理成为双方的负担。

上一题