QUICK REVIEW
[论文解读] Cryptanalysis of Song's advanced smart card based password authentication protocol
Juan Tapiador, Julio Hernández-Castro|arXiv (Cornell University)|Nov 11, 2011
Advanced Authentication Protocols Security参考文献 9被引用 15
一句话总结
本文对宋氏改进的基于智能卡的密码认证协议进行了密码分析,证明其未能实现所声称的安全属性。作者提出了一种离线密码猜测攻击,降低了密码熵,揭示了缺乏前向安全性,并暴露了由于加密密钥固定和增量哈希函数导致的漏洞,尽管协议设计声称安全,但其安全性仍被严重削弱。
ABSTRACT
Song \cite{Song10} proposed very recently a password-based authentication and key establishment protocol using smart cards which attempts to solve some weaknesses found in a previous scheme suggested by Xu, Zhu, and Feng \cite{XZF09}. In this paper, we present attacks on the improved protocol, showing that it fails to achieve the claimed security goals.
研究动机与目标
- 分析宋氏关于其改进密码认证协议所作的安全声明。
- 识别并利用协议中与声明安全目标相矛盾的漏洞。
- 证明该协议未能保护密码熵且缺乏前向安全性。
- 表明即使智能卡被攻破且消息被截获,攻击者仍可实现完全伪装和会话密钥恢复。
- 指出设计缺陷,如固定会话密钥和对增量哈希函数的不安全使用。
提出的方法
- 通过提取智能卡中存储的数据(包括 $B_A$ 和 $h(ID^x \mod p)$)进行离线密码猜测攻击,以恢复密码。
- 利用恢复得到的 $K_A = h(ID^x \mod p)$ 解密 $W_A = E_{K_A}(R_A \oplus T_A)$,并恢复 $R_A$。
- 通过重新计算 $C_A = h(T_A \parallel R_A \parallel W_A \parallel ID_A)$ 并与传输的 $C_A$ 比较,验证猜测密码的正确性。
- 利用增量哈希函数(如Merkle-Damgård)操纵 $C_S = h(ID_A \parallel R_A \parallel T_S)$,通过修改 $T_S$ 保持哈希输出不变。
- 证明 $K_A$ 在所有会话中重复使用,破坏了前向安全性,一旦 $K_A$ 被攻破,即可恢复所有历史会话密钥。
- 表明即使在密码更改后,攻击者仍可通过克隆智能卡实现用户伪装,因为 $K_A$ 固定不变。
实验结果
研究问题
- RQ1攻击者是否仅凭智能卡中存储的数据,就能对宋氏协议实施离线密码猜测攻击?
- RQ2尽管设计声称安全,协议是否仍能保持密码熵?
- RQ3由于使用了增量哈希函数,协议是否易受重放或伪造攻击?
- RQ4当密码或 $K_A$ 被攻破时,协议是否提供完美前向安全性?
- RQ5即使用户更改密码,攻击者是否仍能克隆智能卡并伪装成合法用户?
主要发现
- 由于协议降低了密码熵,离线密码猜测攻击是可行的;攻击者仅凭智能卡中存储的数据即可恢复密码。
- 协议不提供完美前向安全性,因为 $K_A = h(ID^x \mod p)$ 在所有会话中重复使用,一旦 $K_A$ 被攻破,所有历史会话密钥均可被恢复。
- 使用增量哈希函数(如Merkle-Damgård)使攻击者能够通过操纵时间戳 $T_S$ 伪造 $C_S$,导致会话密钥不匹配和通信失败。
- 即使在密码更改后,攻击者仍可伪装用户,因为固定不变的 $K_A$ 保持不变,导致密码重置无效。
- 该方案缺乏可修复性:没有机制可撤销或更新长期密钥 $K_A$,因此在被攻破后无法恢复安全性。
- 协议未能安全地实现相互认证和密钥协商,如攻击者可伪造消息并同时伪装成用户和服务器所示。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。