论文部分内容阅读
随着网络技术的发展和云计算、大数据、物联网等技术的广泛应用,社会进入了信息化时代,各种信息系统正在彻底改变着人们的工作和生活方式,给人们带来极大便利。人们越来越多地在远程服务器上(或云端)存储和利用资源,使用远程服务器(云端)提供的各种服务。为了保护用户在远程服务器上(云端)的数据安全,防止攻击者假冒合法用户,服务器需要对用户进行身份或权限认证,确保该用户具有合法的访问权限。口令具有容易记忆的特点,利用口令来验证用户的身份或权限是目前最常用的认证技术,而基于口令的认证密钥交换协议除了可以认证用户和服务器的身份,还可以使用户和服务器建立一个共享的高强度会话密钥,用来保证用户和服务器后续通信的安全,因此基于口令的密钥交换协议能使人们以容易记忆的方式使用高强度会话密钥,为安全通信提供方便、安全的方式。基于口令的认证密钥交换协议最初由Bellovin和Merrittin于1992年提出,此协议可使通信双方建立一个共享的高强度的密钥并对通信双方进行身份认证,而两个通信方只共享一个短的口令作为认证因子。口令通常较短,容易记忆,而且使用方便,既不需要部署公钥基础设施,也不需要智能卡等硬件设备存储密钥。公钥基础设施的去除意味着避免了公钥注册、管理和撤销等一系列费时费力的操作。基于口令的认证密钥交换协议一直是密码学研究领域里的一个热点问题。在网络使用过程中,越来越多的个人隐私信息在网络中传输、存储和处理,在使用各种网络服务的同时,用户自然希望能够尽量少的泄露额外隐私信息。既能充分享受服务,又能尽可能保护隐私信息,是密码学安全协议设计的重要课题之一。匿名性是实现用户个人信息保护的一种有效的手段。通过在通信过程中隐藏用户的个人身份信息,使攻击者和服务器都无法获得用户个人身份与其它信息之间的关联,可以在一定程度上保护用户的个人隐私。匿名口令认证密钥交换协议使得用户以匿名的方式与服务器建立会话密钥,同时实现服务器对用户的访问权限认证,而用户与服务器之间只共享一个低熵的口令。本文对匿名口令认证密钥交换协议、三方口令认证密钥交换协议和匿名双因子认证密钥交换协议进行研究,取得以下三个方面的研究成果:一、基于验证元的匿名口令认证密钥交换协议目前大部分的匿名口令认证密钥交换协议都是在随机谕言模型下设计和分析的,仅有少量协议是在标准模型下可证安全。随机谕言模型是一种理想模型,随机谕言函数在实际应用中只能通过具有良好密码学性质的哈希函数来替代,但是这可能会给协议带来安全隐患。此外,在大多数的基于口令的匿名认证密钥交换协议中,服务器通常存储用户的明文口令,如果服务器遭到攻击,存储在服务器上的口令和其它信息将会泄露。为了减少这一缺陷带来的损失,研究者提出了口令的非对称模型,即服务器不再存储用户的明文口令,而只存储称为验证元的口令验证信息。如果攻击者获得了验证元,则需要进行离线字典攻击才能得到正确的口令,采用加盐等策略可以很好的对口令进行防护。基于以上原理,我们提出了一个基于验证元的匿名口令认证密钥交换协议的通用框架,并给出了协议的一个实例化方案。该协议以目前最高效的单轮口令认证密钥交换协议为基础,将两方口令认证密钥交换协议与n选1茫然传输(不经意传输)相结合,实现了用户的匿名性。该协议在标准模型下是可证安全的。该协议只需要两轮交互,实现了匿名口令认证密钥交换协议的双向隐式认证的最优轮数。如果需要实现用户与服务器的双向显示认证,只需要再增加一轮交互。二、基于验证元的三方口令认证密钥交换协议在大规模的端到端应用中,如果两个通信方使用两方口令认证密钥交换协议产生会话密钥,那么每一个通信方都需要与另一方共享一个单独的口令,用户需要记忆的口令数量将与通信方的数量成线性关系。大量的口令将超出用户的记忆能力,密钥管理将变得非常困难。研究者提出了三方口令认证密钥交换协议,即两个用户分别与可信的服务器共享口令,双方在服务器的帮助下建立共同的会话密钥。现有的大多数三方口令认证密钥交换协议均基于随机谕言模型来实现,并且假设服务器拥有公钥。只有少数协议仅以口令作为认证方式,并且在标准模型下是可证明安全的。另外在大多数三方口令认证密钥交换协议中,口令以明文的形式存储在服务器上,一旦服务器信息泄露,敌手获得用户口令后伪装成合法用户与服务器通信,对用户的数据安全造成极大的危害。针对以上不足,本文利用平滑投射哈希函数构造了基于验证元的三方口令认证密钥交换协议。该协议仅以口令作为认证方式,不依赖服务器拥有公钥,并且在标准模型下是可证明安全的。三、匿名双因子认证密钥交换协议人们通常使用口令作为认证方式,但是口令通常选自一个小的集合,容易遭受字典攻击。随着口令破解硬件和算法的不断提升,敌手破解口令的能力也逐渐加强。此外,口令还可以通过社会工程,肩窥和键盘窃听等方式恢复。单因子认证不符合在某些特定应用中提供更强的安全保护的目标。研究者提出了双因子认证密钥交换协议,使用智能卡和口令是目前最常用的双因子认证方式。匿名性是一种重要的安全属性,用来保护用户的个人身份信息不被暴露。为了实现双因子认证和用户身份的匿名性,研究者提出了基于动态ID的匿名双因子认证密钥交换协议。传统的基于动态ID的匿名双因子认证密钥交换协议仅针对外部攻击者实现用户的匿名性,并且只有少数协议实现了用户身份的不可追踪性。在用户/服务器场景中,服务器可以识别用户的身份,从而跟踪用户的活动,并且分析用户的个人偏好以获得不正当的经济利益(例如,向广告商销售用户的购物行为分析数据)。本文对匿名双因子认证密钥交换协议进行了研究,提出了强匿名性的概念。强匿名性是指服务器或外部敌手都不能获得用户身份的任何信息。服务器只知道它正在与属于合法的用户群组的用户进行交互,而不知道该用户的任何身份信息。本文提出了一个具有强匿名性的匿名的双因子认证密钥交换协议,并在随机谕言模型下证明了协议的安全性。在协议的构造中,使用n选1茫然传输来保证用户的匿名性。此协议不需要时钟同步,不需要服务器存储用户的口令列表,并且实现了会话密钥的语义安全性,用户对服务器和敌手的匿名性和不可追踪性。