论文部分内容阅读
摘要:基于口令和智能卡的双因子远程用户身份认证已经成为保障公共网络数据安全的重要手段之一,可用于在线支付和在线医疗等领域。为解决Tsai等提出的方案存在的不能提供前向安全、存在内部攻击和拒绝服务攻击等缺陷,Ma等基于RSA密码体制提出了一种动态ID身份认证协议。简要回顾了Ma等的方案,并进行了安全性分析。分析结果表明Ma等的方案仍然存在不能抵抗离线猜测攻击、不能提供前向安全性等缺陷,并给出了具体攻击步骤。
关键词:认证;RSA;分析;智能卡;口令
中图分类号:TP309.08 文献标识码:A 文章编号:1009-3044(2017)01-0031-04
Abstract: Two-factor remote user authentication scheme based on password and smart card is the most popular way to protect secure data exchange over insecure channel. It can be used in online payment system and online medical system. Tsai et al. proposed a dynamic ID authentication scheme, which is vulnerable to denial of service attack and insider attack. To overcome these security flaws, Ma et al. propose an enhanced dynamic ID-based authentication scheme based on RSA. This paper reviews Ma et al.’s authentication scheme and conduct a cryptanalysis. The analysis shows that the Ma et al.’s scheme is still vulnerable to an offline guessing attack and unable to provide the forward secrecy. Then the concrete attack steps are given correspondingly.
Key words: authentication; RSA; cryptanalysis; smart card; password
1 背景
随着互联网技术的快速发展,针对远程用户的身份认证技术已经成为保证信息安全的重要手段之一。远程身份认证可用于在线支付[1]和在线医疗[2]等领域,是一种常用的保护合法用户安全的访问远程服务器的方法。基于口令的身份认证协议由于口令简单易记、使用便捷和无需额外设备支持等特点,已成为一种应用普遍的身份认证协议。1981年Lamport[3]提出了在不安全的通信中,采用口令表认证远程用户的方案。在Lamport的方案中,一旦口令表被恶意用户窃取,系统毫无安全性可言。此外,维护口令表的资源开销也较大。为了解决这一问题,2000年Hwang等[4]提出了一种基于智能卡的远程身份认证方案,Hwang等的方案不需要在服务器保存口令表,但Hwang等的方案被验证是不安全的。此后,研究人员提出了大量的协议用于增强身份认证的安全性和提高效率。为提高安全性,研究人员采用了双因子技术来加强身份认证的安全性。双因子身份认证,通常是将“用户所知道的”和“用户所拥有的”这两个认证因子结合使用。基于智能卡和口令的双因子认证协议是研究热点之一,大量基于智能卡的双因子认证协议被提出,主要包括:基于椭圆曲线密码机制[5]、基于混沌密码机制[6]、基于ElGamal密码机制[7]和基于RSA密码机制[8] 等。其中,基于RSA的双因子认证技术,由于加密运算量小非常适合在远程身份认证协议中使用[8]。在计算能力相对较弱的客户端执行加密操作,在计算能力较强的服务器端执行解密操作。
早期的智能卡与口令双因子认证方案中,用户的身份(ID)是靜态的。当攻击者控制通信信道后,身份ID很容易被攻击者从登录消息中获取,从而导致用户被追踪,不能满足身份匿名的安全需求。这在很多身份隐私要求较高的系统中是不可行的,如在线医疗系统中,必须确保病人的身份信息不被泄露。2004年Das等[9]首次提出了基于智能卡的动态身份认证协议,Das等宣称他们的协议可以达到用户匿名。然而,Das等的协议是不安全的,不能实现身份匿名、容易遭受拒绝服务攻击和离线猜测攻击,协议也没有提供用户和服务器之间的双向认证。此后,为提高动态身份认证协议的安全性,研究者们又开展了大量工作。Wang等[10]提出了一种动态身份认证协议,并宣称他们的方案在保持了Das协议特性的基础上,更为安全和有效。Tsai等[11]指出Wang的方案不能提供用户匿名,不能抵抗仿冒攻击,并提供了一种改进的方案。Ma等[12]指出Tsai的方案不能提供前向安全,并存在内部攻击和拒绝服务攻击。为了解决Tsai方案的缺陷,Ma等提出了一种基于RSA的动态ID口令认证协议,宣称他们的方案可以抵抗离线口令猜测攻击、仿冒攻击、拒绝服务攻击、重放攻击和并行会话攻击等,并达到前向安全、用户匿名和双向认证等目标。然而,我们的分析指出Ma等的方案依然不能提供前向安全,并容易遭受离线猜测攻击。
本文结构安排如下。第2节给出了安全假设模型和定义,第3节简单回顾了Ma等提出的方案,第4节分析了Ma等的提出方案并指出了存在的问题,第5节是结束语。
2 预备知识
本节给出了基于智能卡和口令的动态ID认证协议相关知识和安全假设模型。本文所分析协议安全的安全假设模型基于Dolev-Yao模型[13]拓展,协议采用RSA密码机制设计。相关定义及模型描述如下:
关键词:认证;RSA;分析;智能卡;口令
中图分类号:TP309.08 文献标识码:A 文章编号:1009-3044(2017)01-0031-04
Abstract: Two-factor remote user authentication scheme based on password and smart card is the most popular way to protect secure data exchange over insecure channel. It can be used in online payment system and online medical system. Tsai et al. proposed a dynamic ID authentication scheme, which is vulnerable to denial of service attack and insider attack. To overcome these security flaws, Ma et al. propose an enhanced dynamic ID-based authentication scheme based on RSA. This paper reviews Ma et al.’s authentication scheme and conduct a cryptanalysis. The analysis shows that the Ma et al.’s scheme is still vulnerable to an offline guessing attack and unable to provide the forward secrecy. Then the concrete attack steps are given correspondingly.
Key words: authentication; RSA; cryptanalysis; smart card; password
1 背景
随着互联网技术的快速发展,针对远程用户的身份认证技术已经成为保证信息安全的重要手段之一。远程身份认证可用于在线支付[1]和在线医疗[2]等领域,是一种常用的保护合法用户安全的访问远程服务器的方法。基于口令的身份认证协议由于口令简单易记、使用便捷和无需额外设备支持等特点,已成为一种应用普遍的身份认证协议。1981年Lamport[3]提出了在不安全的通信中,采用口令表认证远程用户的方案。在Lamport的方案中,一旦口令表被恶意用户窃取,系统毫无安全性可言。此外,维护口令表的资源开销也较大。为了解决这一问题,2000年Hwang等[4]提出了一种基于智能卡的远程身份认证方案,Hwang等的方案不需要在服务器保存口令表,但Hwang等的方案被验证是不安全的。此后,研究人员提出了大量的协议用于增强身份认证的安全性和提高效率。为提高安全性,研究人员采用了双因子技术来加强身份认证的安全性。双因子身份认证,通常是将“用户所知道的”和“用户所拥有的”这两个认证因子结合使用。基于智能卡和口令的双因子认证协议是研究热点之一,大量基于智能卡的双因子认证协议被提出,主要包括:基于椭圆曲线密码机制[5]、基于混沌密码机制[6]、基于ElGamal密码机制[7]和基于RSA密码机制[8] 等。其中,基于RSA的双因子认证技术,由于加密运算量小非常适合在远程身份认证协议中使用[8]。在计算能力相对较弱的客户端执行加密操作,在计算能力较强的服务器端执行解密操作。
早期的智能卡与口令双因子认证方案中,用户的身份(ID)是靜态的。当攻击者控制通信信道后,身份ID很容易被攻击者从登录消息中获取,从而导致用户被追踪,不能满足身份匿名的安全需求。这在很多身份隐私要求较高的系统中是不可行的,如在线医疗系统中,必须确保病人的身份信息不被泄露。2004年Das等[9]首次提出了基于智能卡的动态身份认证协议,Das等宣称他们的协议可以达到用户匿名。然而,Das等的协议是不安全的,不能实现身份匿名、容易遭受拒绝服务攻击和离线猜测攻击,协议也没有提供用户和服务器之间的双向认证。此后,为提高动态身份认证协议的安全性,研究者们又开展了大量工作。Wang等[10]提出了一种动态身份认证协议,并宣称他们的方案在保持了Das协议特性的基础上,更为安全和有效。Tsai等[11]指出Wang的方案不能提供用户匿名,不能抵抗仿冒攻击,并提供了一种改进的方案。Ma等[12]指出Tsai的方案不能提供前向安全,并存在内部攻击和拒绝服务攻击。为了解决Tsai方案的缺陷,Ma等提出了一种基于RSA的动态ID口令认证协议,宣称他们的方案可以抵抗离线口令猜测攻击、仿冒攻击、拒绝服务攻击、重放攻击和并行会话攻击等,并达到前向安全、用户匿名和双向认证等目标。然而,我们的分析指出Ma等的方案依然不能提供前向安全,并容易遭受离线猜测攻击。
本文结构安排如下。第2节给出了安全假设模型和定义,第3节简单回顾了Ma等提出的方案,第4节分析了Ma等的提出方案并指出了存在的问题,第5节是结束语。
2 预备知识
本节给出了基于智能卡和口令的动态ID认证协议相关知识和安全假设模型。本文所分析协议安全的安全假设模型基于Dolev-Yao模型[13]拓展,协议采用RSA密码机制设计。相关定义及模型描述如下: