一种改进的适用于多服务器架构的匿名认证协议
余宜诚, 胡亮, 迟令, 初剑峰
吉林大学 计算机科学与技术学院,长春 130012
通信作者:初剑峰(1978-),男,副教授,博士.研究方向:信息安全.E-mail:chujf@jlu.edu.cn

作者简介:余宜诚(1990-),男,博士研究生.研究方向:网络与信息安全.E-mail:yycitb@vip.qq.com

摘要

针对Guo等提出的三因子认证密钥协商协议无法实现前向安全性且不支持用户的生物特征更新等安全缺陷,引入Diffie-Hellman密钥交换技术,提出了改进的匿名认证密钥协商协议。分析表明,改进协议在弥补原方案的安全缺陷的同时,满足多服务器架构网络环境的安全需求,能够抵御各类已知的攻击方法。

关键词: 计算机系统结构; 认证; 多服务器架构; 匿名; 密钥协商
中图分类号:TP309 文献标志码:A 文章编号:1671-5497(2018)05-1586-07
Improved anonymous authentication protocol for multi-server architectures
YU Yi-cheng, HU Liang, CHI Ling, CHU Jian-feng
College of Computer Science and Technology, Jilin University, Changchun 130012, China
Abstract

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.

Keyword: computer system architecture; authentication; multi-server architecture; anonymous; key agreement
0 引 言

随着硬件性能的提高和无线通信技术的发展, 移动互联网用户可以随时随地访问网络服务, 如网络购物和移动支付。用户对网络服务需求的不断增长使得传统的单服务器架构演变成多服务器架构[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等的协议不具备前向安全性, 具有安全隐患, 并且协议不支持用户的生物特征更新功能。为此, 本文提出了一种新的改进协议, 克服原有协议的安全缺陷并完善了协议的生物特征更新功能。

1 相关基础知识
1.1 计算性Diffie-Hellman问题(CDH问题)

g为以大素数q为阶的循环群G的一个生成元; 给定g, ga, gbG(a, b未知), 计算 gabG算法C在多项式时间内成功解决CDH问题的概率定义为 Pr[C(g, ga, gb)=gab|a, bZq* ], 概率取决于算法C的随机选择及ab的随机选取。

CDH假设:对于任意多项式时间算法C, 解决CDH问题的概率可忽略不计。

1.2 网络模型

多服务器网络架构通常由用户、服务器及注册中心RC三方参与者组成。

注册中心RC被认为是可信的第三方, 负责系统参数的生成。同时, 根据用户与服务器的身份标识, RC为用户与服务器生成私钥。用户与服务器通过向RC注册入网, 当用户与服务器完成相互认证之后, 用户可以访问服务器提供的移动服务。网络模型如图1所示。

图1 网络模型Fig.1 Network model

1.3 安全需求

匿名性:为保护用户的隐私, 认证协议应实现用户匿名性, 即攻击者无法通过截取的信息提取用户的真实身份。

不可追踪性:为了进一步保护用户的隐私, 认证协议应实现不可追踪性, 即攻击者无法分辨两个会话是否为同一用户参与。

相互认证:为确保会话参与双方的合法性, 认证协议应实现会话双方的相互认证。

会话密钥协商:为确保参与双方未来通信的安全性, 认证协议需要实现会话双方协商生成用于未来通信加密的会话密钥。

前向安全性:认证协议应保证, 当一方或多方的长期私钥被攻击者捕获, 攻击者无法得到此前所建立的会话密钥。

n因子安全:当攻击者捕获任意n-1个认证因子(口令、智能卡、生物特征), 协议需保证剩余的那个认证因子仍然是安全的。

抵御各类攻击:基于网络环境的性质, 协议需要能够抵御内部攻击、离线密码猜测攻击、假冒用户攻击、假冒服务器攻击、智能卡丢失攻击、重放攻击、窃听攻击等多种攻击。

2 Guo等提出的协议回顾

Guo等[15]的协议涉及三方参与者:用户Ui、服务器Sj、注册中心RCRC负责系统参数的生成。RC随机生成一个系统密钥PSK并选择两个安全的Hash函数 H(·)h(·)最后, RC公布系统参数{H(· ), h(· )}。

协议由5个阶段组成:用户注册阶段、服务器注册阶段、登录阶段、认证阶段以及口令修改阶段。

2.1 服务器注册阶段

当一个新服务器Sj想要加入多服务器网络系统时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:

(1)首先Sj设定选取代表自己的唯一身份标识SIDj, 并将SIDj和其公钥Pubj发送给注册中心RC

(2)收到 {SIDj, Pubj}后, 注册中心RC通过安全信道将系统密钥PSK送给服务器Sj, 并公布Sj的公钥Pubj

2.2 用户注册阶段

当一个新用户Ui想要访问服务器时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:

(1)首先Ui选取代表自己的唯一身份标识IDi与口令PWi, 并输入生物特征BIOi; 计算 IDBi=h(IDiH(BIOi)), PWDi=h(PWiH(BIOi)); 最后Ui{h(IDi), PWDi, IDBi}发送给注册中心RC

(2)收到 {h(IDi), PWDi, IDBi}后, 注册中心RC计算 Vi=h(h(IDi)PWDi), Wi=h(h(IDi)PSK)IDBi, 并将存储了参数 {Vi, Wi, H(·), h(·)}的智能卡安全地传递给用户Ui

2.3 登录阶段

完成注册阶段后, 用户Ui可使用其智能卡进行登录, 执行过程如下:

(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、口令PWi及物特征BIOi; 智能卡计算 PWDi=h(PWiH(BIOi)), 并检查等式 Vi?=h(h(IDi)PWDi)是否成立; 若等式不成立, 智能卡终止协议。

(2)若等式成立, 智能卡选择随机数n1, 获取当前的时间戳T1, 并计算:

IDBi=h(IDiH(BIOi)),

K=h((WiIDBi)h(IDin1)),

M1=EPubj(IDin1), Zi=h(n1IDiKT1),

最后将请求信息 {M1, Zi, T1}通过公共信道发送给服务器Sj

2.4 认证阶段

(1)服务器Sj收到用户Ui的登录请求后, Sj先验证 |Tc-T1|ΔT时间戳的有效性。若有效, Sj使用其私钥解密M1, (IDin1)=EPrij(M1), 计算 K=h(h(h(IDi)PSK)h(IDin1)), 并验证等式 Zi?=h(n1IDiKT1)是否成立; 若成立, Sj接受Ui的登录请求; 否则, Sj终止会话。

(2)Sj生成一个随机数n2, 获取当前的时间戳T2, 并计算M2=n2􀱇K, M3=h(IDin1n2KT2), SKij=h(n1n2KIDi); Sj{M2, M3, T2}传回Ui

(3)Ui收到 {M2, M3, T2}后, 检测T2的有效性后, 计算 n2=M2K, 并验证等式 M3?=h(IDin1n2KT2)是否成立; 若成立, Ui完成对Sj的认证, 计算 SKij=h(n1n2KIDi), M4=h(SKijIDin2T3), T3为当前的时间戳, 并将 {M4, T3}发送给服务器Sj

(4)Sj收到 {M4, T3}后, 检测T3的有效性, 验证等式 M4?=h(SKijIDin2T3)是否成立, 进一步认证Ui身份的合法性。若成立, UiSj计算得到两者间用于未来通信的会话密钥SK=h(n1n2KIDi)。

2.5 口令修改阶段

当用户Ui想将其口令PWi修改为PWnew时, 执行如下过程:

(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、旧口令PWi、新口令PWnew及生物特征BIOi; 智能卡计算 PWDi=h(PWiH(BIOi)), 并验证 Vi?=h(IDiPWDi)是否成立; 若不成立, 智能卡终止协议。

(2)若等式成立, 智能卡计算 PWDi* =h(PWnewH(BIOi)), Vi* =h(IDiPWDi* )之后, 智能卡将 Vi* 替换原有的参数Vi

3 Guo等提出的协议缺陷
3.1 前向安全性失效

通过对Guo等[15]的协议的分析发现, 其协议并不能实现协议的前向安全性, 即当攻击者 A捕获或偶然得到任意服务器Sj的长期私钥Prij和系统密钥PSK时, A可以通过之前截获的用户Ui与服务器Sj的登录请求信息及回应信息, 推导出之前的会话密钥, 攻击过程如下:

(1)假设攻击者 A捕获得到服务器Sj的长期私钥Prij和系统密钥PSK。并且, A保留有之前截获的用户Ui与服务器Sj的登录请求信息 {M1, Zi, T1}及回应信息 {M2, M3, T2}

(2) A根据登录请求信息 {M1, Zi, T1}, 使用Prij解密M1, (IDin1)=EPrij(M1)得到IDin1, 计算得到K=h(h(h(IDi)‖ PSK)􀱇h(IDin1))。

(3) A根据服务器回应信息 {M2, M3, T2}, 计算得 n2=M2K, 其中K由上一步计算得到。

(4) A推导出会话密钥SK=h(n1n2KIDi)。

3.2 生物特征无法更新

在Guo等[15]的协议中, 仅支持用户对其口令的修改。然而, 实际应用中当用户的生物特征被攻击者获取或者用户需要转让账户时, 都需要对生物特征进行更新, 因此协议支持用户对生物特征的更新是必要的。

4 改进的协议

为弥补Guo等[15]的协议在第3节中提到的协议缺陷, 本文设计了一个新的改进协议。协议同样涉及三方参与者:用户Ui、服务器Sj、注册中心RCRC负责系统参数的生成。RC选择以大素数p为模的循环群, 并选择g为原根; RC随机生成一个系统密钥PSK, 并选择两个安全的Hash函数 H(·)h(·)最后, RC公布系统参数{g, p, H(· ), h(· )}。

协议也同样包含5个阶段:服务器注册阶段、用户注册阶段、登录阶段、认证阶段以及口令与生物特征修改阶段。

4.1 服务器注册阶段

当一个新服务器Sj想要加入多服务器网络系统时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:

(1)首先Sj设定选取代表自己的唯一身份标识SIDj, 并将SIDj和其公钥Pubj发送给注册中心RC

(2)收到 {SIDj, Pubj}后, 注册中心RC通过安全信道将系统密钥PSK送给服务器Sj, 并公布Sj的公钥Pubj

4.2 用户注册阶段

当一个新用户Ui想要访问服务器时, 需要先通过安全信道向注册中心RC申请注册, 执行过程如下:

(1)Ui选取代表自己的唯一身份标识IDi与口令PWi, 并输入生物特征BIOi; 计算 IDBi=h(IDiH(BIOi)), PWDi=h(PWiH(BIOi)); 最后Ui{h(IDi), PWDi, IDBi}发送给注册中心RC

(2)收到 {h(IDi), PWDi, IDBi}后, 注册中心RC计算 Vi=h(h(IDi)PWDi), Wi=h(h(IDi)PSK)IDBi, 并将存储了参数 {Vi, Wi, H(·), h(·)}的智能卡安全地传递给用户Ui

4.3 登录阶段

完成注册阶段后, 用户Ui可使用其智能卡进行登录, 执行过程如下:

(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、口令PWi及物特征BIOi; 智能卡计算 PWDi=h(PWiH(BIOi)), 并检查等式 Vi?=h(h(IDi)PWDi)是否成立; 若等式不成立, 智能卡终止协议。

(2)若等式成立, 智能卡选择随机数x, 获取当前的时间戳T1, 并计算:

Xi=gx, IDBi=h(IDiH(BIOi)),

K=h((WiIDBi)h(IDiXi)),

M1=EPubj(IDiXi), Zi=h(XiIDiKT1),

最后将请求信息 {M1, Zi, T1}通过公共信道发送给服务器Sj

4.4 认证阶段

(1)服务器Sj收到用户Ui的登录请求后, Sj先验证 |Tc-T1|ΔT时间戳的有效性。若有效, Sj使用其私钥解密M1, (IDiXi)=EPrij(M1), 计算 K=h(h(h(IDi)PSK)h(IDiXi)), 并验证等式 Zi?=h(XiIDiKT1)是否成立; 若成立, Sj接受Ui的登录请求; 否则, Sj终止会话。

(2)Sj生成一个随机数y, 获取当前的时间戳T2, 并计算:

Yj=gy, M2=YjK, M3=h(IDiXiYjKT2),

SKji=h(XiYjXiyKIDi),

Sj{M2, M3, T2}传回Ui

(3)Ui收到 {M2, M3, T2}后, 检测T2的有效性后, 计算 Yj=M2K, 并验证等式 M3?=h(IDi|XiYjKT2)是否成立; 若成立, Ui完成对Sj的认证, 计算 SKij=h(XiYjYjxKIDi), M4=h(SKijIDiYjT3), T3为当前的时间戳, 并将 {M4, T3}发送给服务器Sj

(4)Sj收到 {M4, T3}后, 检测T3的有效性, 验证等式 M4?=h(SKjiIDiYjT3)是否成立, 进一步认证Ui身份的合法性。若成立, UiSj计算得到两者间用于未来通信的会话密钥:SKij=h(XiYjYjxKIDi)=h(XiYjXiyKIDi)=SKji改进协议的登录与认证阶段如图2所示。

图2 改进协议的登录与认证阶段Fig.2 Login and authentication phases of proposed scheme

4.5 口令与生物特征修改阶段

当用户Ui需要修改其口令或者生物特征时, 执行如下过程:

(1)用户Ui将其智能卡插入终端, 输入自己的身份标识IDi、旧口令PWi及旧生物特征BIOi; 智能卡计算 PWDi=h(PWiH(BIOi)), 并验证 Vi?=h(IDiPWDi)是否成立; 若不成立, 智能卡终止协议。

(2)若等式成立, 用户输入新口令PWnew和新的生物特征BIOnew, 智能卡计算 IDBi=h(IDiH(BIOi)), PWDi* =h(PWnewH(BIOnew)), Vi* =h(IDiPWDi* ), Wi* =WiIDBih(IDiH(BIOnew))之后, 智能卡将 Vi* Wi* 替换原有的参数 Vi, Wi

5 安全性分析

改进方案在继承了原方案优良特性的情况下, 有效地弥补了原方案的缺陷。根据下面的安全性分析可知, 改进的方案具有匿名性、不可追踪性、前向安全性, 能给实现会话密钥协商、三因子安全, 且对内部攻击、离线密码猜测攻击、假冒用户攻击、假冒服务器攻击、智能卡丢失攻击、重放攻击、窃听攻击也十分有效。

5.1 匿名性及不可追踪性

用户Ui请求登录服务器Sj并相互认证的过程中, 攻击者仅可以截取到与用户身份IDi有关的数据 M1=EPubj(IDiXi), Zi=h(XiIDiKT1), M3=h(IDiXiYjKT2), M4=h(SKijIDiYjT3); 由于非对称加密E以及Hash函数 h(·)的安全性, 攻击者无法得到用户的身份IDi。同时, 由于XiYj分别由随机数xy通过计算 Xi=gx, Yj=gy得到, {M1, Zi, M3, M4}在每次登录与认证过程中都是不固定的, 攻击者无法判断两个会话是否为同一用户发起, 因此无法对用户的访问行为进行追踪。

5.2 前向安全性

3.1节中提到了Guo等[15]的协议不具备前向安全性, 并叙述了攻击方法。而在改进的方案中, 用户Ui和服务器Sj通过认证得到会话密钥: SKij=h(XiYjYjxKIDi)=h(XiYjXiyKIDi)=SKji即使攻击者通过捕获的信息计算推导得到了 {Xi, Yj, K, IDi}, 要计算 XiyYjx得到会话密钥将是一个CDH难题。所以, 改进协议能够实现前向安全性。

5.3 会话密钥协商

根据协议的描述, 显然用户Ui和服务器Sj达成了密钥协商, 得到了用于未来通信的会话密钥:

SKij=h(XiYjYjxKIDi)=h(XiYjXiyKIDi)=SKji

5.4 三因子安全

假设攻击者捕获或拾到用户的智能卡, 通过边信道技术[16]提取其中的数据 {Vi, Wi, H(·), h(·)}; 同时攻击者也通过某种方法得到了用户的生物特征BIOi, 由于IDiPSK的保护, 攻击者无法通过 Vi=h(h(IDi)h(PWiH(BIOi))), Wi=h(h(IDi)PSK)h(IDiH(BIOi))得到用户口令PWi。同样地, 当攻击者捕获用户的智能卡和口令或者攻击者捕获用户的口令和生物特征, 都无法得出剩下的安全因子(生物特征或智能卡信息)。

5.5 抵御各类攻击

在实现以上安全要求的情况下, 改进协议能够抵御各类已知的攻击, 包括内部攻击、离线密码猜测攻击、智能卡丢失攻击、假冒用户攻击、假冒服务器攻击、重放攻击。

内部攻击:假设RC的内部攻击者得到用户数据 {h(IDi), PWDi, IDBi}, 由于不知道用户身份IDi和生物特征BIOi, 内部攻击者无法发起有效的攻击。

离线密码猜测攻击、智能卡丢失攻击:5.4节中说明了改进协议具备三因子安全性, 所以即使攻击者得到用户的智能卡和生物特征, 也无法实施有效的离线密码猜测攻击和智能卡丢失攻击。

假冒用户攻击:对于用户的登录请求信息, 攻击者无法生成合法的K, 因此服务器可以通过验证 Zi?=h(XiIDiKT1)判断伪造的登录信息。

假冒服务器攻击:由于没有服务器私钥和系统密钥PSK, 攻击者无法伪造合法的回应信息, 用户可以通过验证 M3?=h(IDiXiYjKT2)判断伪造的服务器回应信息。

重放攻击:由于用户与服务器间传递的消息都包含有时间戳信息, 因此用户与服务器都能够检测到攻击者的重放攻击。

表1给出了改进协议与Guo等[15]提出的协议的安全性和功能对比的结果。

表1 安全性和功能比较 Table 1 Security and functionality comparison
6 效率比较

对改进协议与Guo等[15]提出的协议作了安全性能对比, 表2给出了协议的安全性能对比结果。

表2 计算开销比较 Table 2 Computation cost comparison

由于RC通常被认为是各方面性能强大的设备, 效率比较仅对用户与服务器执行协议的登录与认证阶段的计算开销作比较。相关符号定义如下:Th为执行一次Hash函数所需时间; Trsa-e为执行一次RSA加密所需时间; Trsa-d为执行一次RSA解密所需时间; Te为执行一次幂运算所需时间。在Guo等[15]的协议中, 用户执行了11次Hash函数和1次RSA加密操作, 计算开销为 11×Th+Trsae; 服务器行了8次Hash函数和1次RSA解密操作, 计算开销为 8×Th+Trsad为保证协议能够实现前向安全性, 改进的协议中在原方案的基础上, 用户与服务器分别执行了两次幂运算; 用户和服务器的计算开销分别为 11×Th+Trsae+2×Te8×Th+Trsad+2×Te尽管改进的协议在计算开销上高于原协议, 但是改进的协议有效地实现了前向安全性。

7 结束语

针对Guo等提出协议不具备前向安全性, 具有安全隐患, 并且协议不支持用户的生物特征更新功能的问题, 本文提出了一种新的改进协议, 克服了原有协议的安全缺陷, 并完善了协议的生物特征更新功能。通过安全分析可知, 改进协议满足多服务器网络环境的安全需求, 能够抵御各种已知攻击方法。

The authors have declared that no competing interests exist.

参考文献
[1] Jiang Q, Ma J, Li G, et al. An enhanced authentication scheme with privacy preservation for roaming service in global mobility networks[J]. Wireless Personal Communications, 2013, 68(4): 1477-1491. [本文引用:1]
[2] Lamport L. Password authentication with insecure communication[J]. Communications of the ACM, 1981, 24(11): 770-772. [本文引用:1]
[3] Chand rakar P, Om H. A secure and robust anonymous three-factor remote user authentication scheme for multi-server environment using ECC[J]. Computer Communications, 2017, 110: 26-34. [本文引用:1]
[4] Irshad A, Sher M, Ahmad H F, et al. An improved multi-server authentication scheme for distributed mobile cloud computing services[J]. TIIS, 2016, 10(12): 5529-5552. [本文引用:1]
[5] Chatterjee K, De A. A novel multi-server authentication scheme for e-commerce applications using smart card[J]. Wireless Personal Communications, 2016, 91(1): 293-312. [本文引用:1]
[6] Yeh K H. A provably secure multi-server based authentication scheme[J]. Wireless Personal Communications, 2014, 79(3): 1621-1634. [本文引用:1]
[7] Tan Z. A secure privacy-preserving remote user authentication scheme using smart cards for multi-server environment[J]. International Journal on Information, 2012, 15(4): 1547-1558. [本文引用:1]
[8] Kim H, Jeon W, Lee K, et al. Cryptanalysis and improvement of a biometrics-based multi-server authentication with key agreement scheme[C]∥ICCSA'12 Proceedings of the 12th international conference on Computational Science and Its Applications. Berlin: Springer, 2012: 391-406. [本文引用:1]
[9] Wang B, Ma M. A smart card based efficient and secured multi-server authentication scheme[J]. Wireless Personal Communications, 2013, 68(2): 361-378. [本文引用:1]
[10] Yang D, Yang B. A biometric password-based multi-server authentication scheme with smart card[C]∥International Conference on Computer Design and Applications, IEEE, 2010: 554-559. [本文引用:1]
[11] Mishra D, Das A K, Mukhopadhyay S. A secure user anonymity-preserving biometric-based multi-server authenticated key agreement scheme using smart cards[J]. Expert Systems with Applications, 2014, 41(18): 8129-8143. [本文引用:2]
[12] Sood S K, Sarje A K, Singh K. A secure dynamic identity based authentication protocol for multi-server architecture[J]. Journal of Network and Computer Applications, 2011, 34(2): 609-618. [本文引用:1]
[13] Li X, Xiong Y, Ma J, et al. An efficient and security dynamic identity based authentication protocol for multi-server architecture using smart cards[J]. Journal of Network and Computer Applications, 2012, 35(2): 763-769. [本文引用:1]
[14] Chuang M C, Chen M C. An anonymous multi-server authenticated key agreement scheme based on trust computing using smart cards and biometrics[J]. Expert Systems with Applications, 2014, 41(4): 1411-1418. [本文引用:1]
[15] Guo H, Wang P, Zhang X, et al. A robust anonymous biometric-based authenticated key agreement scheme for multi-server environments[J]. PloS One, 2017, 12(11): e0187403. [本文引用:9]
[16] He D, Gao Y, Chan S, et al. An enhanced two-factor user authentication scheme in wireless sensor networks[J]. Ad Hoc & Sensor Wireless Networks, 2010, 10(4): 361-371. [本文引用:1]