陈金木,黄朝阳
(厦门海洋职业技术学院 信息工程学院,福建 厦门 361102)
互联网的高速发展加快了信息时代的前进步伐,手机、电脑的普及方便了人们对信息的获取,人们对信息的时效性比以往也有着更高的要求。现在越来越多的人都会随时随地通过手机等移动设备访问不同类型的应用程序服务器。如:在线购物、电子商务、政务网站等领域,这些服务器的使用频率就会相对较高。然而,在为用户提供这些在线服务的同时,如何保护这些敏感数据是一个较为重要的问题。作为一种防范措施,认证密钥协议被普遍应用于保护信息和抵御威胁上,帮助网络用户在确保个人信息安全的同时享用各种在线服务。密钥协商是在用户及服务商之间建立一个共同的会话密钥,用来确保其在开放网络中的通信安全。
早在1981 年,文献[2]中就首次提出了基于口令的认证方案,但该方案无法提供密钥协议、且需要维护用户验证列表,这反而为黑客远程入侵造成了可乘之机。文献[3-5]中提出了改进的基于口令和密钥认证方案,但这些只采用口令的密钥交换协议普遍存在一些共同缺点。如:弱口令、容易受到窃取验证表攻击等等。文献[6-8]提出的基于口令和智能卡的身份认证方案,也存在口令被暴力破解、或者木马窃取以及智能卡丢失的风险。文献[9-10]中提出的基于混沌映射的认证密钥协商协议,虽能在一定程度上提高密钥的保密性,但却缺乏实用性。
为进一步提升远程身份认证协议的安全性能,本文提出了一种基于生物特征的身份认证和密钥协商协议,通过在多服务器体系结构下执行,在保证用户享受网络服务的同时,能确保敏感数据的安全性。
本文提出方案由服务器注册、用户注册、登录、认证、密码更改和用户撤销/重新注册等6 个阶段组成。
抗碰撞哈希函数根据任意长度的二进制字符串输出固定长度的二进制字符串,即():0,1→0,1。对于给定的输入,求任意输入≠使()()在计算上是不可行的。基于生物特征信息通过过程,输出一个不可预测的二进制字符串∈{0,1}和一个辅助二进制字符串∈{0,1}。借助这个辅助二进制字符串和另一个生物特征信息,通过过程进行再生验算。当()→〈,〉 和(,) ≤保持时,恢复一个对应的不可预测二进制串,用(,) →表示。方案中应用的符号及说明,见表1。
表1 符号说明Tab.1 Symbols description
1.2.1 服务器注册
服务器S通过安全通道向注册中心申请进行服务器注册。当收到加入请求消息时,注册中心授权服务器S,并根据安全信道,应用密钥交换协议(IKEv2)向服务器S发送预共享密钥和主密钥。授权服务器S接收到预共享密钥和主密钥后,在认证阶段采用这些共享数据(如和()),来验证用户U的合法性。
1.2.2 用户注册
用户U通过安全通道向注册中心提交用户注册信息。具体实现步骤如下:
用户U通过传感器输入个人生物特征信息BIO,并利用传感器内置设备绘制用户U的生物特征BIO。从(BIO) →(R,P) 中提取(R,P),并将用户U的辅助二进制字符串P存储在存储器中;接下来,用户U选择其身份ID和密码PW,并计算RPW=h (R‖PW) ;最后用户U通过安全通道,向注册中心提交其注册请求消息{ID,RPW}。
获得注册请求消息后,向其内部数据库中添加一个新的条目〈ID,N=1〉。其中,N表示用户U的注册次数。然后,选择随机数u,并计算A=h (ID‖)、B=h()⊕u、C=h (‖u) ⊕ID以及V=h (ID‖RPW) 。最后,通过安全通道发送用户U的智能卡SC,该SC包括{A,B,C,V,(·)}。
收到SC后,U计算E=B⊕(R),并用E代替B。此后,U将其辅助二进制字符串P存储到SC中,并初始化登录和身份验证环境。
1.2.3 登录
在登录阶段,智能卡SC能够通过应用用户U的身份、密码和生物特征信息立即发现错误。具体实现步骤如下:
SC计算RPW=h (R‖PW),并验证(ID‖RPW)=V是否有效。如果有效,则SC进一步计算K=h (SID‖(ID⊕C)) 。
SC产生随机数,并计算⊕K、=ID⊕K、=RPW⊕K、B=E⊕(R)、D=h (‖RPW‖A‖T) 。其中,T是附加的时间戳。
SC通过开放通道,向S提交其登录请求消息{,,,B,D,T}。
1.2.4 认证
在认证阶段,服务器S确认登录请求消息的来源并进行认证。具体实现步骤如下:
S收到用户U的登录请求消息后,检查T -T≤。其中,表示时间间隔,是S收到用户U登录请求消息的时间。若条件成立,S继续执行以下步骤;否则,登录请求将被拒绝。
S检索u=B⊕()、 K=h (SID‖(‖u))、=K⊕、ID=K⊕、RPW=K⊕、 A=h (ID‖),以验证(‖RPW‖A‖T)=D是否有效。
如果此验证有效, S将生成另一个随机数,并计算U和S之间的会话密钥SK=h (ID‖SID‖‖) 。
S计算⊕(A‖RPW‖)和(SID‖‖‖ID),并通过一个开放通道将其身份验证请求消息{,} 发送到用户U。
当获得S的认证请求消息时,SC检索(A‖RPW‖) ⊕,并检查(SID‖‖‖ID) 是否与一致。若一致,SC将计算 SK= h(ID‖SID‖‖)和(SK‖‖)。然后SC通过公共信道向S发送用户的身份验证答复{}。
S进一步验证(SK‖‖)是否有效。如果有效,S在之后的通信中将采用此会话密钥SK与用户U通信;否则,认证将被中止。
方案中用户注册、登录、认证各阶段具体实现过程如图1 所示。
图1 用户注册、登录、认证实现过程Fig.1 User registration phase,login phase and authentication phase
1.2.5 密码更改
在密码更改阶段,用户U可随意更新个人密码,而不需要服务器或注册中心的任何帮助。具体实现步骤如下:
SC计算RPW=h (R‖PW),并验证(ID‖RPW)=V是否有效。如果此验证成立,SC将向用户询问新密码;否则, SC将立即终止密码更改。
1.2.6 用户撤销/重新注册
当用户的智能卡被盗或丢失时,用户撤销/重新注册模块将帮助用户撤销其权限或重新注册,使该方案在功能上更加健壮。
当用户需要撤销其特权时,可通过安全通道向注册中心发送撤销请求消息、智能卡和验证消息{RPW}。若注册中心检查用户有效,则进一步设置〈ID,N=0〉 来修改相应条目。与用户注册功能类似,在通过安全信道获得重新注册请求消息后,注册中心执行1.2.2 节中提到的步骤,并将〈ID,N=N +1〉 替换为〈ID,N〉,帮助用户U重新注册。
方案中的认证和密钥协商协议必须满足安全性、功能性和高效率的要求。以下针对本文方案设计,分别从安全性、功能性和效率进行全面分析说明。
(1)抵抗重放攻击。该方案利用时间戳和随机数来抵抗重放攻击。虽然攻击者通过窃听,得到用户U先前的登录请求消息{,,,B,D,T},并将其发送给服务器S,但服务器S可以通过式(1)验证时间戳T的及时性和随机数的正确性,来检查该消息的合法性。公式(1)的数学表达见如下:
其中,时间戳T和随机数对于每个会话都是不同的,因此攻击者会被服务器S拒绝。
(2)抵抗拒绝服务攻击。当攻击者试图通过窃听和重复发送用户以前的登录请求消息,来削弱或消除服务器的能力时,服务器会验证时间戳T的新鲜性,同时检查D=h (‖RPW‖A‖T) 是否成立。此时,服务器会将攻击者视为恶意黑客并终止此会话,以此抵抗拒绝成立服务攻击。
(3)抵抗密码猜测攻击。攻击者利用SPA 或DPA 等侧通道攻击,从用户的智能卡中提取敏感数据A、C、E、V和P。但是,在没有生物特征信息BIO、预共享密钥、主密钥和随机数的情况下,无法验证用户的密码PW是否正确。在该方案中,是由具有较高熵的不可预测的二进制字符串R保护用户U的密码PW。因此,本文协议对密码猜测攻击是安全的。
(4)抵抗智能卡攻击。在没有密码PW或生物特征信息BIO的情况下,攻击者发起智能卡攻击,以收集存储在智能卡SC中的一些敏感数据,并实现服务器S的身份验证。在该方案中,攻击者能够通过SPA 或DPA 获取用户U中保存在智能卡SC中的敏感数据A、C、E、V和P。用户U和服务器S之间的会话密钥SK计算如下:
攻击者通过一个公共信道获取和是可行的。但是,检索随机数或是相当困难的。因此,本文协议能够抵御智能卡攻击。
(5)抵抗用户模拟攻击。在用户模拟攻击中,攻击者试图在没有密码PW或生物特征信息BIO的情况下模拟用户U。在该方案中,攻击者即使窃听用户U先前的登录请求消息{,,,B,D,T} 也无法获取()。虽能通过SPA 或DPA从智能卡SC中提取用户U的敏感数据,但不能检索随机数、或会话密钥SK。因此,本文协议对用户模拟攻击是安全的。
(6)抵抗特权内部攻击。假设攻击者是恶意内部人员,具有访问授权系统的特权,试图模拟用户U。为了达到这一目的,攻击者收集用户U的注册请求消息{ID,RPW} 并窃取其智能卡SC,但是却无法获得() 和B。即使从用户U的智能卡SC中提取敏感数据,攻击者也无法传递正确的登录请求消息{,,,B,D,T},并无法检索密码PW或生物特征信息BIO。因此,本文协议能够抵抗特权内部攻击。
(7)抵抗服务器欺骗攻击。假设攻击者是恶意的内部人员,并试图伪装成服务器S,通过收集敏感数据来欺骗用户U。但是由于() 难以检索,使得攻击者无法被用户U成功认证,并无法获得随机数和有效的身份验证请求消息{,}。因此,本文协议能够抵抗服务器欺骗攻击。
(8)提供匿名性保护。在该方案登录阶段,用户U生成其动态身份=ID⊕K。其中,K无法被攻击者从任何请求或回复消息中检索到。因此,攻击者没有能力获取用户U的身份ID。然而,当接收到用户U的登录请求消息时,授权服务器S计算u= B⊕(),并进一步计算 K=h (SID‖(‖u)),以便用户U匿名地实现服务器S的认证。这表明,用户U的真实身份ID不会被任何未经授权的参与者泄露。因此,本文协议能够提供有效匿名性。
(9)具备前向保密性。在该方案中即使长期密钥被检索,仍具有前向保密性保护会话密钥。生成会话密钥SK的计算如下:
虽然攻击者能够计算出长期密钥(),但却无法计算一些敏感数据(如:RPW、K和等),且无法获得随机数或。另外,攻击者也很难检索用户U和服务器S之间的会话密钥SK。因此,本文协议能提供前向保密性。
(1)相互认证功能。方案中,用户U和服务器S利用一些敏感数据(如,,K,T和SK)进行认证。特别是,服务器S检 查(‖RPW‖A‖T)=D和(SK‖‖)是否有效。类似地,用户U验证(SID‖‖‖ID) 是否与一致,实现了相互认证功能。
(2)会话密钥协商功能。在身份验证阶段,建立了服务器S和用户U之间的会话密钥SK=h (ID‖SID‖‖),以保护后续通信。由于、在每个认证阶段都会发生变化,因此会话密钥SK在每个会话期间都是不同的。对于攻击者来说,这将很难检索到会话密钥SK。因此,本文协议具有会话密钥一致性。
(3)用户撤销/重新注册功能。方案中,注册中心通过安全通道获取到用户的撤销/重新注册请求消息时,通过修改〈ID,N〉 帮助用户实现用户撤销/重新注册功能。
(4)生物特征信息保护功能。在传统方案中,用户U将生物特征信息BIO直接存储在其智能卡SC中,而没有适当的保护。因此,攻击者能够通过侧通道进行攻击,从丢失或被盗的智能卡SC中提取用户U的生物特征BIO。由于不可预测的二进制字符串R可由抗碰撞哈希函数进行保护,文中利用抗碰撞哈希函数可保护不可预测的二进制字符串R这个特性机制,来保存用户U的生物特征信息BIO。因此,攻击者将无法提取用户U的生物特征信息,使协议达到生物特征信息的保护功能。
本文方案在存储需求、通信开销和计算开销方面的效率分析如下:
(1)存储要求。对于存储需求,可将这些存储在用户U的智能卡SC中的消息作为存储开销。如果采用SHA-1 算法,则和的字节长度都为20,用户U的标识ID的字节长度为20,时间戳T的字节长度为2,抗碰撞哈希函数输出的字节长度为20。因此就可以计算所提的方案中存储数据的字节长度,所有保存的消息{A,C,E,V,P} 共需要20+20+20+20+20=100(bytes)。
(2)通信开销。为估计通信开销,需要在登录阶段将用户U的登录请求消息{,,,B,D,T} 提交给服务器S。根据上述假设,该消息的长度为20+20+20+20+20+2=102(bytes)。服务器S的认证请求消息{,} 和用户U的认证应答{} 的通信开销为20+20+20=60(bytes)。因此,本文协议的总通信开销为102+60=162(bytes)。
(3)成本计算。考虑到计算复杂度,文中将抗碰撞哈希函数的频率作为计算代价。在CPU 为3.7 GHz、RAM 为4 GB 的环境中,执行抗碰撞哈希函数平均需要0.002 1 ms。在该方案中,分别在登录和认证阶段执行了3 次和10 次抗碰撞哈希函数。最终本文协议共需要0.010 9+0.026 8=0.037 7 ms的计算开销。
为了证明本文协议在相关方面均有良好的表现,特将本文方案与文献[11-14]中各方案在安全性、功能性和效率等方面做了相关比较。比较结果见表2~表5。
表2 本协议与其他协议的安全性比较Tab.2 Security comparison between this agreement and other agreements
从表2 中可以看出,文献[11]的方案无法抵抗拒绝服务攻击、用户模拟攻击、特权内部攻击、智能卡攻击和服务器欺骗攻击,其方案无法提供匿名性保护和前向保密性。文献[12]的方案无法抵抗用户模拟攻击和服务器欺骗攻击,方案不具有匿名性保护。文献[13]的方案不能防止用户模拟攻击、特权内部攻击和服务器欺骗攻击,其方案也无法实现前向保密性。文献[14]中提出的方案对拒绝服务攻击是不安全的,并且不能提供前向保密性。结果表明,本文协议具有更高的安全性能。
从表3 中可见,文献[11]、文献[12]中提出的方案均不能提供用户撤销/重新注册。结果表明,本文协议提供了更多的功能属性。
表3 本协议与其他协议的功能性比较Tab.3 Functional comparison between this agreement and other agreements
由表4 可见,在相同的存储需求下,本文协议在通信开销上表现出了令人满意的性能。
表4 本协议与其他协议的通信开销与存储需求比较Tab.4 Comparison of communication overhead and storage requirements between this protocol and other protocols bytes
表5 本协议与其他协议的计算成本比较Tab.5 Comparison of calculated costs between this agreement and other agreements
表5 中,T表示抗碰撞哈希函数的计算时间;T表示基于椭圆曲线的点乘计算时间;T表示对称加/解密计算时间; T表示Chebyshev 混沌映射计算时间。总体可见,本文协议所需的计算成本相对较低。
综上所述,本文协议能抵抗多种常见网络攻击,同时能提供用户匿名性与前向保密性。与其它方案相比,本文提出的方案能进一步降低计算复杂度,并以独特的方式提供更多的功能。在通信开销和存储需求相同的情况下,本方案在计算复杂度方面具有明显的优势。
本文在现有的基于口令及智能卡身份认证协议基础上,通过应用抗碰撞哈希函数、二进制异或运算和级联操作保障协议的安全性能,提出了一种基于生物特征的身份认证和密钥协商协议,协议适用于多服务器体系结构及分布式网络。经过与其它方案的安全与效率对比分析,证明本文方案能抵抗各种攻击并且提供匿名性,更具有安全性和实用性。