Skip to main content
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 生成,并经人工编辑审核。