多服务器架构下的三因子认证及密钥协商协议
2022-08-15王星迪徐红梅李冬梅
王星迪, 徐红梅, 李冬梅
(1. 延边大学 工学院, 吉林 延吉 133002; 2. 中国工商银行吉林省分行 金融科技部, 长春 130061)
0 引 言
网络的快速发展切实改变了人们的生活, 人们可以方便快捷地通过网络进行各类活动。然而, 公开的、 不安全的互联网环境存在巨大安全隐患。因此, 网络空间安全成为学界、 工业界近年来的关注焦点与重点。与此同时, 为保护网络参与者的信息隐私、 通信安全, 寻求一个安全且高效实用的身份认证及密钥协商协议势在必行[1]。
1981年, Lamport[2]首次提出了基于口令的身份认证协议, 虽然具有简单且容易实现的优点, 然而, 在认证过程中其验证信息可轻易被攻击者在不安全的公开信道中截取, 存在巨大安全隐患。此后, 一些学者将支持数据加密计算、 存储的智能卡引入至身份认证协议的设计中, 并提出许多基于口令和智能卡结合的双因子认证协议密钥协商协议[3-7]。由于口令空间的有限性以及用户智能卡易于丢失, 发现这些协议存在许多攻击漏洞。随着生物科技的发展, 人们发现, 用户的生物信息作为用户的重要“随身”数据, 拥有唯一性、 易获得、 不丢失等诸多优势, 为认证密钥协商协议的设计提供了新的方向。于是, 许多学者开始进行基于口令、 智能卡和生物信息的三因子认证密钥协商协议的研究[8-13]。
针对领域内提出的身份认证及密钥协商协议易出现的安全威胁与漏洞: 无法实现前向安全性、 匿名性及三因子安全性, 笔者提出了一种适用于多服务器网络架构的三因子身份认证及密钥协商协议, 并通过对新协议的性能分析, 证明了协议的安全和实用性。
1 相关概念
1.1 多服务器网络架构
在多服务器网络架构中, 存在许多用户和为用户提供各类服务的服务器以及一个可信的认证服务器(注册中心)。在系统完成初始化后, 用户与服务器都需要通过安全的网络信道与注册中心完成注册后才能进入网络系统。当系统中的合法用户试图访问网络服务时, 需与系统中的服务器相互认证, 并最终能生成用于未来通讯的会话密钥。其中用户与服务器之间的相互认证是在公开的、 不安全的通信信道中进行的, 并且此过程无需注册中心的参与。上述多服务器网络架构的网络模型如图1所示。
图1 多服务器网络架构模型
1.2 攻击者模型
对攻击者所具备的攻击能力作事先的假设, 即为攻击者模型。为分析协议的实用性, 需根据现实条件对攻击者能力作合理地假设。笔者假设攻击者具有以下能力:
1) 攻击者可对传播于公共信道的信息进行窃听、 截获、 修改、 删除或重放;
2) 攻击者可穷举所有可能的用户身份标识和用户密码;
3) 攻击者可利用边信道技术获取用户智能卡中的秘密信息;
4) 当评价协议的三因子安全性时, 攻击者可捕获3个认证因子(口令、 智能卡或生物特征)中的任意两个;
5) 当评价前向安全性时, 假设参与通信的一方或多方的私钥可被攻击者捕获。
2 三因子认证及密钥协商协议
笔者提出的认证及密钥协商协议各阶段的主要过程如下。
2.1 初始化阶段
注册中心RC(Registration Center)随机选择系统主密钥ms和s, 皆为大素数q的加法循环群G1,P是G1的生成元。同时, RC挑选一个安全的单向hash函数h(·)并将其公开发布。
2.2 服务器注册阶段
1) 首先, 服务器Sj选择身份标识Ij并发送给注册中心RC。
2) RC在收到Ij后生成一个随机整数aj, 并计算Rjp=ajP,Rjs=aj+msh(Ij,Rjp)。接着, RC通过安全信道将Rjp、Rjs和h(s)发回给服务器Sj。
3) 服务器Sj接收Rjp、Rjs和h(s), 并安全存储。
2.3 用户注册阶段
1) 用户Ui选择其身份标识Ii和口令Pj, 并录入生物信息Bi。之后, 生成随机数b; 计算PPWB=h(h(Ii‖Pj)‖b)和h(Pj‖b)。接着,Ui将{Ii,PPWB,h(Pj‖b)}通过私有信道发送给RC。
2) 收到{Ii,PPWB,h(Pj‖b)}后, RC生成一个随机整数ai, 并计算Rip=aiP,Ris=ai+msh(Ii,Rip),J=PPWB⊕Ris,Qj=h(s)P,PPWD=h(Ii‖h(Pj‖b)‖Rip)modn, 其中n表示(I,P)池容量的整数, 24≤n≤28。随后, RC将{Rip,J,Qj,PPWD}存储于智能卡SC中并将其发回给Ui。
3)Ui接收SC后, 计算E=b⊕H(Bi), 将其存于SC中。
2.4 登录与认证阶段
Ui与Sj将在本阶段作相互认证, 生成用于二者未来通讯的会话密钥, 如图2所示。此阶段过程如下。
图2 登录及认证阶段
2) 收到{Li,Mi,V}后, 服务器Sj计算r=h(s)Li, 并使用r解密V,Dr(V)=(Li,Rip,Ii); 之后Sj验证等式MiP?=Li+(Rip+h(Ii,Rip)msP)h(Ij,Li)是否成立; 若不成立,Sj终止会话; 否则,Sj随机生成整数xj和yj, 并计算Lj=xjP,Nj=yjP,Mj=xj+Rjsh(Ii,Nj),W=h(xjLi,Rjp,Li,Mi,V,Ii,Nj), 并将m2={Lj,Mj,Rjp,W,Ij,Nj}传回给用户Ui。
3) 收到m2后, 用户Ui计算并检查MjP?=Lj+(Rjp+h(Ij,Rjp)msP)h(Ii,Nj)和W?=h(xiLj,Rjp,Li,Mi,V,Ii,Nj)是否成立; 若存在其中之一不成立,Ui终止会话; 否则, 服务器Sj身份得到Ui的证实, 并且Ui计算Sji=h(xi·Nj‖Ii‖r‖Rip),Z=h(Sji,Rip,Li,Ii); 最后,Ui将m3={Z,Li}发送给Sj。
4)Sj接收m3, 计算Sij=h(yjLi‖Ii‖r‖Rip), 并验证Z?=h(Sij,Rip,Li,Ii)是否成立; 若不成立,Sj终止会话; 否则, 用户Ui身份也得到Sj的证实。至此, 用户Ui与服务器Sj完成双方的相互认证, 并计算得到可用于双方未来通信的会话密钥Sji=h(xiNj‖Ii‖r‖Rip)=h(yjLi‖Ii‖r‖Rip)=Sij。
2.5 用户口令修改阶段
用户Ui可通过以下过程修改其口令, 此过程无须注册中心RC参与。
3 协议的安全性分析及性能分析
3.1 BAN逻辑验证
下面通过BAN逻辑[14]对所提新协议作形式化安全分析。表1为BAN逻辑的基本符号及含义。
表1 BAN逻辑符号与含义
证明过程中涉及的BAN逻辑推理规则如下。
4) 管辖规则
协议安全分析的目标为:
将协议中传输的报文理想化:
m1:Ui→Sj: (Li,Mi,{Li,Rip,Ii}r);
m2:Sj→Ui: (Lj,{xj,Ii,Nj}K-1,Rjp,W,Ij,Nj);
m3:Ui→Sj: (Z,Li)。
同时, 对协议作如下初始化假设:
假设1 Ui≡Uir Sj;假设2 Sj≡Uir Sj;假设3 Ui≡K→Sj;假设4 Ui≡#(xi,xj,yj);假设5 Sj≡#(xi,xj,yj);假设6 Sj≡Ui⇒(xi,Rip,Ii);假设7 Ui≡Sj⇒(xj,yj,Nj); 假设8 Ui≡(xi,Ii,Rip);假设9 Sj≡(xj,yj)。
证明如下。
1) 由m1得:Sj◁(Li,Mi,{Li,Rip,Ii}r);
2) 由假设2、 消息含义规则, 可推出:Sj|≡Ui|~(Li,Rip,Ii);
3) 由假设5、 消息新鲜性规则, 可推出:Sj|≡#(Li,Rip,Ii);
4) 根据2)、 3)及临时值验证规则, 可得:Sj|≡Ui|≡(Li,Rip,Ii);
5) 根据4)、 假设6及管辖规则, 可得:Sj|≡(Li,Rip,Ii);
7) 由m2得:Ui◁(Lj,{xj,Ii,Nj}K-1,Rjp,W,Ij,Nj);
8) 由假设3、 消息含义规则, 推出:Ui|≡Sj|~(xj,Ii,Nj);
9) 由假设4、 消息新鲜性规则, 推出:Ui|≡#(xj,Ii,Nj);
10) 根据8)、 9)及临时值验证规则, 推出:Ui|≡Sj|≡(xj,Ii,Nj);
11) 由10)、 假设7和管辖规则, 推出:Ui|≡(xj,Nj);
3.2 非形式化安全性分析
1) 匿名性和不可追踪性。登录与认证阶段中, 攻击者可截取用户的登录请求信息与服务器的回应信息, 其中Mi,V,Z的生成有用户标识的参与;Mi=xi+Rish(Ij,Li),V=Er(Li,Rip,Ii),Z=h(Sji,Rip,Li,Ii)。因为有单向hash函数以及对称加密算法的共同保护, 用户身份标识显然是安全的。另一方面,r和Sij都受随机数的影响, 因此用户Ui在每次会话生成的Mi,V,Z都不是固定的。假设攻击者截取了Mi,V,Z, 也同样无法判断两个会话是否来自于同一用户, 亦无法追踪用户的访问行为。
2) 前向安全性。
Sj生成会话密钥的随机数yj仅用于计算Nj=yjP。即使攻击者获取了Sj的长期私钥Rjs和h(s), 在多项式时间内也无法计算得到yj。因此, 之前的会话密钥不会受到攻击者的捕获, 新协议的前向安全性得以实现。
4) 会话密钥协商。根据上文描述, 可以知道Ui与Sj作相互认证后, 可生成用于二者将来通讯的会话密钥Sji=h(xiNj‖Ii‖r‖Rip)=h(yjLi‖Ii‖r‖Rip)=Sij。
5) 抵御其他攻击。内部攻击: 假设注册中心RC的内部攻击者获取到用户数据{Ii,PPWB,h(Pj‖b)}, 其中PPWB=h(h(Ii‖Pj)‖b) , 这些数据的生成并没有生物信息Bi的参与, 因此攻击者无法获取用户生物信息Bi。同时, 由于参数b以及单向hash函数的安全性, 用户口令Pj也是安全的。
假冒用户攻击: 攻击者想要以用户Ui的身份与服务器Sj完成认证, 需要生成合法的登录请求信息; 然而, 唯有攻击者同时得到用户的口令Pj、 智能卡及生物信息Bi的情况下, 才能计算得到合法的参数b、PPWB、Ris, 从而进一步生成合法的登录请求信息。因此假冒用户攻击对本协议也是无效的。
假冒服务器攻击: 试图以服务器Sj的身份与用户Ui完成认证的攻击者, 需要生成合法的回应信息; 然而, 唯有攻击者得到Rjs才可能最终生成被用户认可的回应信息。因此假冒服务器攻击对本协议也是无效的。
智能卡盗取攻击与离线口令猜测攻击: 前文中已阐述改进方案能实现三因子安全, 即在智能卡和用户生物信息被攻击者盗取的情况下, 攻击者仍不能发起有效的离线口令猜测攻击; 因此, 智能卡盗取攻击与离线口令猜测攻击对本协议也是无效的。表2为笔者所提协议可实现的安全目标。
表2 协议所实现的的安全目标
3.3 性能分析
由于异或操作、 椭圆曲线上的加运算和乘运算计算开销很小, 在本节分析中忽略不计。以下符号表示相关运算的计算开销:
Tsm表示椭圆曲线上的一次点乘运算所需要的时间;
Tpa表示椭圆曲线上的一次点加运算所需要的时间;
Tm表示一次取模运算所需要的时间;
Th表示一次单向hash函数运算所需要的时间;
Te表示一次对称密码加/解密算法所需要的时间。
用户与服务器只需一次完成注册, 且用户对口令进行修改并不频繁。因此, 注册阶段和口令修改阶段的计算开销不在本节的讨论范围。表3为所提新协议在用户端与服务器端的计算开销。
表3 计算时间开销
4 结 语
身份认证及密钥协商协议能有效防止未经授权的非法用户对网络资源访问, 保护网络参与者的隐私与通信安全。因此, 身份认证及密钥协商协议的设计成为了近年来业内的研究热点。针对领域内已提出的部分身份认证及密钥协商协议易出现的安全威胁与漏洞, 笔者提出了一种适用于多服务器网络架构的三因子身份认证及密钥协商协议, 通过形式化安全分析BAN逻辑验证、 非形式化安全分析, 以及协议所实现的安全目标和计算开销分析, 可以发现, 笔者提出的协议具有强安全性和实用性。