考虑下面的双向认证协议,客户端 Alice 与服务端 Bob 共享秘钥为 KAB,H 为公开的安全 Hash() 函数。

  1. 试分析一个恶意的攻击者即使不知道 KAB 也能够发起并行会话攻击假冒 Alice。

  2. Alice (Client)->Bob (Server): Challenge1

  3. Bob (Server)-> Alice (Client) : Hash (KAB ⊕ Challenge1), Challenge2

  4. Alice (Client)->Bob (Server): Hash (KAB ⊕ Challenge2)

  5. 按照上述协议的格式回答如何改进该协议以避免上述缺陷。

在原有协议的基础上,可以加入时间戳或随机数来增加安全性,具体改进如下:

  1. Alice (Client)->Bob (Server): Challenge1, Timestamp1
  2. Bob (Server)-> Alice (Client) : Hash (KAB ⊕ Challenge1 ⊕ Timestamp1), Challenge2, Timestamp2
  3. Alice (Client)->Bob (Server): Hash (KAB ⊕ Challenge2 ⊕ Timestamp2)
双向认证协议安全性分析及改进方案

原文地址: https://www.cveoy.top/t/topic/f0Bx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录