作者简介:余宜诚(1990-),男,博士研究生.研究方向:网络与信息安全.E-mail:yycitb@vip.qq.com
针对Guo等提出的三因子认证密钥协商协议无法实现前向安全性且不支持用户的生物特征更新等安全缺陷,引入Diffie-Hellman密钥交换技术,提出了改进的匿名认证密钥协商协议。分析表明,改进协议在弥补原方案的安全缺陷的同时,满足多服务器架构网络环境的安全需求,能够抵御各类已知的攻击方法。
The three-factor authentication and key agreement protocol proposed by Guo et al can not achieve perfect forward secrecy and can not support the update of user's biometric. In order to remedy these flaws, we propose an improved authentication protocol for multi-server architecture by use of Diffie-Hellman key exchange technology. Analysis shows that the proposed protocol is able to remedy the security flaws of the original scheme, meet the security requirements of multi-server environment and is able to withstand various possible attacks.
随着硬件性能的提高和无线通信技术的发展, 移动互联网用户可以随时随地访问网络服务, 如网络购物和移动支付。用户对网络服务需求的不断增长使得传统的单服务器架构演变成多服务器架构[1]。在多服务器架构中, 用户可以通过无线网络访问不同服务器提供的多种网络服务。
由于公共信道的不安全性, 攻击者可以窃听、截取、分析、删除和修改无线网络中传输的数据[2]。因此, 为了保护网络中合法用户的隐私、防止非法用户危害网络的安全性, 设计一种有效安全的认证协议来保证网络的通信安全是极其必要的。迄今, 研究者们提出了许多适用于多服务器架构的认证协议[3, 4, 5, 6, 7, 8, 9], 然而其中大多数协议存在着不同的安全缺陷。Yang等[10]结合智能卡、用户口令和生物特征提出了一种多服务器架构认证协议, 但是Mishra等[11]指出该协议易受到内部攻击且计算开销较大。Sood等[12]提出了一种多服务器架构下基于动态身份的认证协议, 然而他们的协议无法抵御智能卡丢失攻击和认证表攻击丢失[13]。Chuang等[14]提出了一种多服务器架构下基于可信计算的匿名认证协议。然而Mishra等[11]分析指出该协议无法抵御智能卡丢失攻击和DOS攻击。
2017年, Guo等[15]提出了一种适用于多服务器架构的、具有鲁棒性的三因子认证密钥协商协议, 并称其协议高效安全且满足多服务器架构的所有安全需求。然而, 通过分析, 发现Guo等的协议不具备前向安全性, 具有安全隐患, 并且协议不支持用户的生物特征更新功能。为此, 本文提出了一种新的改进协议, 克服原有协议的安全缺陷并完善了协议的生物特征更新功能。
令g为以大素数q为阶的循环群G的一个生成元; 给定g, ga, gb∈ G(a, b未知), 计算
CDH假设:对于任意多项式时间算法C, 解决CDH问题的概率可忽略不计。
多服务器网络架构通常由用户、服务器及注册中心RC三方参与者组成。
注册中心RC被认为是可信的第三方, 负责系统参数的生成。同时, 根据用户与服务器的身份标识, RC为用户与服务器生成私钥。用户与服务器通过向RC注册入网, 当用户与服务器完成相互认证之后, 用户可以访问服务器提供的移动服务。网络模型如图1所示。
匿名性:为保护用户的隐私, 认证协议应实现用户匿名性, 即攻击者无法通过截取的信息提取用户的真实身份。
不可追踪性:为了进一步保护用户的隐私, 认证协议应实现不可追踪性, 即攻击者无法分辨两个会话是否为同一用户参与。
相互认证:为确保会话参与双方的合法性, 认证协议应实现会话双方的相互认证。
会话密钥协商:为确保参与双方未来通信的安全性, 认证协议需要实现会话双方协商生成用于未来通信加密的会话密钥。
前向安全性:认证协议应保证, 当一方或多方的长期私钥被攻击者捕获, 攻击者无法得到此前所建立的会话密钥。
n因子安全:当攻击者捕获任意n-1个认证因子(口令、智能卡、生物特征), 协议需保证剩余的那个认证因子仍然是安全的。
抵御各类攻击:基于网络环境的性质, 协议需要能够抵御内部攻击、离线密码猜测攻击、假冒用户攻击、假冒服务器攻击、智能卡丢失攻击、重放攻击、窃听攻击等多种攻击。
Guo等[15]的协议涉及三方参与者:用户Ui、服务器Sj、注册中心RC。RC负责系统参数的生成。RC随机生成一个系统密钥PSK并选择两个安全的Hash函数
协议由5个阶段组成:用户注册阶段、服务器注册阶段、登录阶段、认证阶段以及口令修改阶段。
当一个新服务器Sj想要加入多服务器网络系统时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:
(1)首先Sj设定选取代表自己的唯一身份标识SIDj, 并将SIDj和其公钥Pubj发送给注册中心RC。
(2)收到
当一个新用户Ui想要访问服务器时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:
(1)首先Ui选取代表自己的唯一身份标识IDi与口令PWi, 并输入生物特征BIOi; 计算
(2)收到
完成注册阶段后, 用户Ui可使用其智能卡进行登录, 执行过程如下:
(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、口令PWi及物特征BIOi; 智能卡计算
(2)若等式成立, 智能卡选择随机数n1, 获取当前的时间戳T1, 并计算:
最后将请求信息
(1)服务器Sj收到用户Ui的登录请求后,
(2)Sj生成一个随机数n2, 获取当前的时间戳T2, 并计算M2=n2K, M3=h(IDi‖ n1‖ n2‖ K‖ T2), SKij=h(n1‖ n2‖ K‖ IDi); Sj将
(3)Ui收到
(4)Sj收到
当用户Ui想将其口令PWi修改为PWnew时, 执行如下过程:
(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、旧口令PWi、新口令PWnew及生物特征BIOi; 智能卡计算
(2)若等式成立, 智能卡计算
通过对Guo等[15]的协议的分析发现, 其协议并不能实现协议的前向安全性, 即当攻击者
(1)假设攻击者
(2)
(3)
(4)
在Guo等[15]的协议中, 仅支持用户对其口令的修改。然而, 实际应用中当用户的生物特征被攻击者获取或者用户需要转让账户时, 都需要对生物特征进行更新, 因此协议支持用户对生物特征的更新是必要的。
为弥补Guo等[15]的协议在第3节中提到的协议缺陷, 本文设计了一个新的改进协议。协议同样涉及三方参与者:用户Ui、服务器Sj、注册中心RC。RC负责系统参数的生成。RC选择以大素数p为模的循环群, 并选择g为原根; RC随机生成一个系统密钥PSK, 并选择两个安全的Hash函数
协议也同样包含5个阶段:服务器注册阶段、用户注册阶段、登录阶段、认证阶段以及口令与生物特征修改阶段。
当一个新服务器Sj想要加入多服务器网络系统时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:
(1)首先Sj设定选取代表自己的唯一身份标识SIDj, 并将SIDj和其公钥Pubj发送给注册中心RC。
(2)收到
当一个新用户Ui想要访问服务器时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:
(1)Ui选取代表自己的唯一身份标识IDi与口令PWi, 并输入生物特征BIOi; 计算
(2)收到
完成注册阶段后, 用户Ui可使用其智能卡进行登录, 执行过程如下:
(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、口令PWi及物特征BIOi; 智能卡计算
(2)若等式成立, 智能卡选择随机数x, 获取当前的时间戳T1, 并计算:
最后将请求信息
(1)服务器Sj收到用户Ui的登录请求后, Sj先验证
(2)Sj生成一个随机数y, 获取当前的时间戳T2, 并计算:
Sj将
(3)Ui收到
(4)Sj收到
当用户Ui需要修改其口令或者生物特征时, 执行如下过程:
(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、旧口令PWi及旧生物特征BIOi; 智能卡计算
(2)若等式成立, 用户输入新口令PWnew和新的生物特征BIOnew, 智能卡计算
改进方案在继承了原方案优良特性的情况下, 有效地弥补了原方案的缺陷。根据下面的安全性分析可知, 改进的方案具有匿名性、不可追踪性、前向安全性, 能给实现会话密钥协商、三因子安全, 且对内部攻击、离线密码猜测攻击、假冒用户攻击、假冒服务器攻击、智能卡丢失攻击、重放攻击、窃听攻击也十分有效。
用户Ui请求登录服务器Sj并相互认证的过程中, 攻击者仅可以截取到与用户身份IDi有关的数据
3.1节中提到了Guo等[15]的协议不具备前向安全性, 并叙述了攻击方法。而在改进的方案中, 用户Ui和服务器Sj通过认证得到会话密钥:
根据协议的描述, 显然用户Ui和服务器Sj达成了密钥协商, 得到了用于未来通信的会话密钥:
假设攻击者捕获或拾到用户的智能卡, 通过边信道技术[16]提取其中的数据
在实现以上安全要求的情况下, 改进协议能够抵御各类已知的攻击, 包括内部攻击、离线密码猜测攻击、智能卡丢失攻击、假冒用户攻击、假冒服务器攻击、重放攻击。
内部攻击:假设RC的内部攻击者得到用户数据
离线密码猜测攻击、智能卡丢失攻击:5.4节中说明了改进协议具备三因子安全性, 所以即使攻击者得到用户的智能卡和生物特征, 也无法实施有效的离线密码猜测攻击和智能卡丢失攻击。
假冒用户攻击:对于用户的登录请求信息, 攻击者无法生成合法的K, 因此服务器可以通过验证
假冒服务器攻击:由于没有服务器私钥和系统密钥PSK, 攻击者无法伪造合法的回应信息, 用户可以通过验证
重放攻击:由于用户与服务器间传递的消息都包含有时间戳信息, 因此用户与服务器都能够检测到攻击者的重放攻击。
表1给出了改进协议与Guo等[15]提出的协议的安全性和功能对比的结果。
对改进协议与Guo等[15]提出的协议作了安全性能对比, 表2给出了协议的安全性能对比结果。
由于RC通常被认为是各方面性能强大的设备, 效率比较仅对用户与服务器执行协议的登录与认证阶段的计算开销作比较。相关符号定义如下:Th为执行一次Hash函数所需时间; Trsa-e为执行一次RSA加密所需时间; Trsa-d为执行一次RSA解密所需时间; Te为执行一次幂运算所需时间。在Guo等[15]的协议中, 用户执行了11次Hash函数和1次RSA加密操作, 计算开销为
针对Guo等提出协议不具备前向安全性, 具有安全隐患, 并且协议不支持用户的生物特征更新功能的问题, 本文提出了一种新的改进协议, 克服了原有协议的安全缺陷, 并完善了协议的生物特征更新功能。通过安全分析可知, 改进协议满足多服务器网络环境的安全需求, 能够抵御各种已知攻击方法。
The authors have declared that no competing interests exist.