2019年信息安全工程师案例分析真题与答案试题三(共12分)
阅读下列说明,回答问题1至问题5,将解答填入答题纸的对应栏内。
【说明】
假设用户A和用户B为了互相验证对方的身份,设计了如下通信协议:
1.A→B:RA
2.B→A:f(PAB||RA)
3. A→B: f(PAB|| )
其中:RA、RB是随机数,PAB是双方事先约定并共享的口令,“||”表示连接操作。f是哈希函数。
【问题1】(2分)身份认证可以通过用户知道什么、用户拥有什幺和用户的生理特征等方法来验证。请问上述通信协议是采用哪种方法实现的?
参考答案:基于用户知道什么实现身份验证。
参考解析:口令是接收双方预先约定的秘密数据,它用来验证用户知道什么。
【问题2】(2分)根据身份的互相验证需求,补充协议第3步的空白内容。
参考答案:RB或者RB || RA
【问题3】(2分)通常哈希函数f需要满足下列性质:单向性、抗弱碰撞性、抗强碰撞性。如果某哈希函数f具备:找到任何满足f(x)=f(y)的偶对(x,y)在计算上是不可行的,请说明其满足哪条性质。
参考答案:抗强碰撞性
参考解析:抗弱碰撞性:对于任意给定的分块x,找到满足y≠x且H(x)=H(y)的y在计算上是不可行的;抗强碰撞性:找到任何满足H(x)=H(y)的偶对(x,y)在计算上是不可行的。
【问题4】(2分)上述协议不能防止重放攻击,以下哪种改进方式能使其防止重放攻击?
(1)在发送消息加上时间参量。
(2)在发送消息加上随机数。
参考答案:(1)
参考解析:预防重放攻击的方式包括时间戳、 nonce、序号等。
【问题5】(4分)如果将哈希函数替换成对称加密函数,是否可以提高该协议的安全性?为什么?
参考答案:不能(1分)对称加密方式密钥存在分发和管理困难问题;同时不具备哈希函数的单向性。(3分)