论文部分内容阅读
口令认证密钥交换(PAKE)协议使得参与通信的用户用一个低熵的口令就可以实现实体认证,并能通过不安全的信道安全地生成共享的高熵会话密钥。它们避免了一般认证协议要求存在公钥基础设施或用户存储对称密钥等前提假设,有着较强的实用性因而受到了广泛关注。密码学研究者通过在传统两方PAKE(简记为2PAKE)协议中引入第三方可信服务器,提出了三方口令认证密钥交换(简记为3PAKE)协议的概念。在3PAKE协议中,每个用户都和可信的服务器共享一个便于记忆的口令,任意两个用户都可以在服务器的帮助下安全地协商生成高熵的共享密钥,从而使得每个用户只需要记住一个口令就可以和多个用户安全地进行通信。 3PAKE协议与传统的2PAKE协议相比,不仅解决了“客户-服务器-客户”下应用框架的密钥交换问题,而且避免了大规模通信系统中使用2PAKE协议所带来的用户需要记忆的口令数随着其通信伙伴数量成线性增长的问题。3PAKE的解决方式非常实用,但是却为协议的设计和证明带来了更大的挑战,协议参与方数量的增加和通信方式的变化使得设计3PAKE协议时需要比2PAKE协议的设计要考虑更多的威胁和攻击。由于设计和证明上的困难性,已知的大部分3PAKE协议的设计仅依赖于对前人提出3PAKE协议的改进,缺乏足够的安全性分析,导致已有大部分协议都无法抵抗对3PAKE协议危害最大的不可检测的在线字典攻击。所以如何设计可证明安全的强安全性的3PAKE协议是本文所研究的重点之一。 本文重点关注于3PAKE协议的设计方法及其可证明安全理论。在3PAKE协议的设计、分析与证明方面主要完成了以下几方面的工作: 1.对现有的典型3PAKE协议进行了安全性分析。针对Lu、Kim等人提出的S-3PAKE协议及其若干改进协议进行了安全性分析,给出了若干攻击方式,并指出还指出了这些协议设计或证明中的被疏忽之处,为其它同类协议的分析与设计提供了参考和借鉴。 2.设计了一种满足强安全性要求的3PAKE协议。在总结了前人工作的基础上,本文从3PAKE协议设计中需要满足的基本安全属性为基本点出发,以RFC5996中提出的高效且可证明安全的两方下AugPAKE协议为蓝本,设计了一个新的具有强安全性的3PAKE协议,并在Real-or-Random模型下证明了协议的语义安全性,并且该协议还满足了对服务器的密钥保密性以及客户端与服务器端的双向认证等性质。与其它同类型协议以及与3PAKE协议的通用构造相比较,该协议不仅减少了通信的轮数,还具有较低的计算复杂性,同时协议的安全性是基于SDH、DDH等安全假设,可信度较高。 3.研究了多服务器模型下跨域的PAKE协议的设计。本文将3PAKE协议中的单服务器模型扩展至多服务器跨域的模型,并给出了一个高效且可证明安全的C2C-PAKE协议。经分析表明,该协议满足了多种安全属性并且具有较低的计算复杂性。