双向认证协议安全性分析及改进方案
考虑下面的双向认证协议,客户端 Alice 与服务端 Bob 共享秘钥为 KAB,H 为公开的安全 Hash() 函数。
-
试分析一个恶意的攻击者即使不知道 KAB 也能够发起并行会话攻击假冒 Alice。
-
Alice (Client)->Bob (Server): Challenge1
-
Bob (Server)-> Alice (Client) : Hash (KAB ⊕ Challenge1), Challenge2
-
Alice (Client)->Bob (Server): Hash (KAB ⊕ Challenge2)
-
按照上述协议的格式回答如何改进该协议以避免上述缺陷。
在原有协议的基础上,可以加入时间戳或随机数来增加安全性,具体改进如下:
- Alice (Client)->Bob (Server): Challenge1, Timestamp1
- Bob (Server)-> Alice (Client) : Hash (KAB ⊕ Challenge1 ⊕ Timestamp1), Challenge2, Timestamp2
- Alice (Client)->Bob (Server): Hash (KAB ⊕ Challenge2 ⊕ Timestamp2)
原文地址: https://www.cveoy.top/t/topic/f0Bx 著作权归作者所有。请勿转载和采集!