闫丽丽,昌 燕,张仕斌
(成都信息工程大学网络空间安全学院 成都 610225)
随着无线网络技术的发展,无线通信的应用范围越来越广泛。但是由于无线用户在公开的信道上交换信息,其安全性无法得到保障。而认证和密钥协商协议可以提供数据的隐私保护,保证数据的保密传输。因此,在无线网络应用方面,密钥协商协议的研究变得尤其重要[1]。
1976年,Diffie-Hellman首次提出了密钥协商的概念,随后研究者基于Diffie-Hellman协议做了大量研究。传统的密钥协商协议主要是通过公钥证书的方式实现协议协商过程中的身份认证。基于公钥的密钥协商协议具有许多优点,但是公钥认证和证书管理相当复杂,不适用于资源限制性的网络环境。由于扩展的混沌映射算法具有高效和安全的特性,最近研究者将其应用于安全协议设计上,提出了大量的两方[2-17]和三方认证[18-26]密钥协商协议,本文主要关注三方密钥协商协议。2010年,文献[18]基于混沌算法提出了一个三方密钥协商协议。但该协议存在很多缺陷,如协议采用时间戳,需要严格的时钟同步机制;协议运行需要较多的计算,而且攻击者可以非法篡改传输消息而不被发现[19]。2012年,文献[20]基于混沌算法提出了一个三方认证协议,但该协议不能抵御内部用户发起的攻击[21]。且该协议没有提供用户密钥的更新[25],而一个密钥使用的时间越长,其安全性必然会变得越来越低。该协议还存在重放攻击,攻击者可以伪装成合法用户,将监听到的信息重新发送给接收者,而接收者却无法发现,而且协议中的智能卡无法检测用户输入的密钥是否正确[25]。2013年,文献[21]提出了一个三方密钥协商协议。但该协议被发现缺少密钥更新功能,而且如果智能卡丢失,攻击者可以提取出智能卡中的信息,伪装成合法用户[25]。2013年,一个基于扩展混沌算法的三方密钥协商协议被提出[22],但仍然存在诸多问题,如:1) 存在内部用户攻击[25];2) 攻击者可以实现在协议运行成功的基础上,造成通信双方协商出一个不一致的密钥等[26];3) 使用了公钥机制,在协议运行前,需要先构造一个公钥基础设施,加重了服务器的负担。2014年,文献[24]提出了一个三方密钥协商协议,该协议不需要智能卡,也不需要公开密钥和对称密钥体制。但是,该协议需要较大的计算量。最近,文献[25]使用扩展的混沌算法,提出了一个基于密钥的三方认证和密钥协商协议。然而,该协议也需要时间戳和对称密钥体系。
本文基于扩展的混沌映射算法,提出了一个三方认证和密钥协商协议。在可信服务器的帮助下,该协议可为通信双方协商一个会话密钥,用于信息的安全传输。该协议无需建立公钥基础设施,整个协议只包含Chebyshev多项式和哈希函数,具有较低的计算消耗,而且可以抵御网络中典型的恶意攻击,适用于资源限制性的网络。
定义 1 n维Chebyshev多项式 Tn(x) :[-1 ,1]→[-1,1]定义为 Tn(x) = cos(n a rccos(x )),其中:n为整数,x为实数且 x ∈[-1 ,1]。
定义 2 令n∈Z,变量 x ∈[- 1 ,1],Chebyshev多项式 Tn(x) :[-1 ,1]→ [-1 ,1]的迭代关系式为Tn(x) = 2 x Tn-1(x)-Tn-2(x), n≥2,且T0(x)=1,T1(x)=x。最初的几个Chebyshev多项式为T2(x) = 2 x2-1,T3(x) = 4 x3-3 x ,T4(x) = 8 x4-8 x2+1, …。
当n>1,n维Chebyshev多项式 Tn(x) :[-1 ,1]→[-1,1]是一个典型的混沌映射。该映射唯一绝对连续的不变测度为n维Chebyshev多项式的Lyaounov指数为lnn>0。当n>1时,Chebyshev多项式即为Logistic映射。
定义 3 Chebyshev多项式的半群属性定义为Tn(x) ≡ (2 x Tn-1(x)-Tn-2(x) )modp , 其 中n>1,x∈(- ∞,+ ∞ ),p是一个大素数,由半群性质可知Chebyshev多项式映射可转换为 Tr( Ts( x) ) ≡ Tsr(x)≡Ts( Tr(x) )modp,s,r∈Z。
扩展的Chebyshev多项式的两个问题被认为是多项式时间难解的。
定义 4 离散对数问题(discrete logarithm problem, DLP)。给定x、 y 和 p,找到一个整数r,使得 y =Tr(x) mod p 在计算上不可行。
定义 5 计算Diffie-Hellman问题(computation Diffie-Hellman problem, CDHP)。给定x、Tr(x)、Ts(x)和p,无法计算 Trs(x)。
该协议包含一个可信服务器S,一个信息发送者Ui和一个响应者Uj。Ui和Uj之间需要在S的帮助下协商一个安全的会话密钥。初始化阶段,Ui和Uj需要到服务器S上注册,获得一个有效的智能卡(smart card),该注册阶段可在智能卡出厂时,一次设置完成,然后分发给用户使用。本文提出的协议包含注册、登录和密钥协商、密钥更新3个阶段。表1列出了文中需要的变量和符号。
表1 协议中变量和符号说明
在协议运行前,由服务器为移动网络生成基本参数:一个大素数p,一个实数 z ∈ (- ∞, + ∞) ,一个哈希函数h()和服务器的保密密钥Xs。
用户需在服务器处注册,才能成为网络中的合法用户。用户Ui输入其IDi和密钥PWi,同时产生一个随机数 Ni。Ui使用哈希函数 h1()计算随后将消息{IDi, fi}通过安全的通道发送给服务器S。
用户在收到smart card后,将h1()、Ni和h(PWi)加入到smart card中。至此,用户获得了自己的smart card。用户注册的过程如图1所示。
图1 用户注册阶段
当Ui要与其他移动用户进行通信时,执行如下操作。Ui插入他的smart card,输入密钥PWi′。smart card计算h(PWi′),并与自己存储的h(PWi)进行比较,如果相等,smart card选择随机数kx和N1,计算M2=Tkx(SPUB)mod p 和 t1=h( IDi||IDj||M1||M2||Pi||N1)。其中N1是一个自增长的随机数,通过一个随机数发生器生成,使得用户每次产生的随机数都比前一次的值大。由于用户和服务器都具有同一个随机数发生器函数,因此它们可以通过使用该随机数抵御重放攻击。
Ui将消息{IDi, IDj, M1, t1, N1}发送给Uj。
Uj收到消息后,插入自己的smart card,然后输入PWj′。由smart card计算是否h(PWj) = h(PWj′)。如果成立,smart card选择一个随机数ky和N2,计算和Pj||N2),其中N2是一个自增长的随机数。
Uj发送消息{ IDi, IDj, M1, t1, N1, M3, t2, N2}给S。
当Ui收到消息后,根据IDj获得M2和N1,计算通过判断t3=t′3来确认S和Uj的身份,如果成立,获得会话密钥K =
当Uj收到消息后,同样根据IDi获得M4和N2,计算并通过判断 t4= t4′来确认S和Ui的身份,如果成立,获得会话密钥K =协议的登陆和密钥协商过程如图2所示。
为了保证用户的安全,用户可根据需要更新自己的密钥。在密钥更新阶段,无需服务器的协助,每个合法用户都可以自主地改变密钥。
当用户需要更新密钥时,用户Ui插入他的smart card,输入旧密码PWi′和一个新密码。由smart card使用用户输入的旧密码计算h(PWi′),并与其存储的h(PWi)进行比较。如果相等,smart card根据卡里存储的Ni和ei,计算并生成一个新的随机数,再计算=最后smart card将Ni替换成,h(PWi)替换成h(),ei替换成,至此完成了密钥的更新。
本节将针对典型的攻击方式,采用非形式化的方式分析协议的安全性。
1) 密钥猜测攻击(on-line and off-line password guessing attack):攻击者可以通过监听的方式,截获Ui、Uj和S之间传递的信息,并发起密钥猜测攻击。在本协议中,会话密钥 K =Tky(M1)modp=根据定义1.4和1.5,由于kx和ky并不包含在传递的消息内容中,因此即使攻击者获得了M1和M3,他也无法计算出会话密钥K。
2) 窃取smart card攻击(stolen smart card attack):当攻击者窃取到合法用户的smart card后,他可以获得卡中存储的信息{ IDi, ei, x, p, SPUB, h(), h1(), Ni,h(PWi) }。但是,攻击者如果想冒充合法用户,他需要输入用户密钥PWi,由smart card计算h(PWi),并与存储在智能卡中的值进行比较,只有比较相等smart card才继续执行协商协议。但是由于攻击者无法获得用户密钥PWi,所以即使攻击者窃取了smart card也无法冒充合法用户。
图2 协议登录和密钥协商过程
当用户发现智w能卡丢失后,需要向服务器提出申请,通过服务器重新注册后,生成新的智能卡,旧的智能卡被撤销。
3) 重放攻击(replay attack):在协议中,所有的消息都包含一个随机数N,而且该随机数是一个自增长的值。协议每执行一次,用户和服务器中对应该用户的随机数发生器都会同步产生一个随机数。如果有重放数据包,数据到到达后,用户和服务器可以通过数据包中的随机数,与自己对应的随机数进行对比,来发现重放攻击。
4) 已知密钥攻击(known-key security):由于每次通信的会话密钥K =Tkykx(z)都是由本次通信的随机数kx和ky计算获得,即使攻击者知道上次会话或将来会话的某个密钥,也无法推断出本次会话密钥。
5) 伪造和假冒攻击(forgery and impersonation attack):如果一个攻击者冒充合法用户,他需要发送消息{IDi, IDj, M1, t1, N1},其中和但是攻击者无法获得用户密钥PWi,因此他就无法冒充合法用户。
6) 中间人攻击(man-in-the-middle attack):从上面分析可以发现,由于攻击者无法实现重放、伪造和假冒攻击,因此他也无法实施中间人攻击。
7) 特权用户攻击(privileged insider attack):由于在协议中传递的消息不包含Ui和Uj的密钥,因此协议能够抵御特权用户攻击。
表2列出了本协议与相关协议在安全性方面的比较结果。其中Yes表示,协议具有相应功能,或可以抵御对应攻击。
本节将本协议的执行效率与相关工作进行对比,结果显示本协议的通信和计算开销都较小。由于异或运算的计算量较少,在进行计算量评估时可忽略不计。表3列出了本协议与相关协议[18-25]在计算开销方面的比较结果,其中TC、TS和Th分别表示Chebyshev多项式、对称加、解密运算和哈希函数的计算执行时间。
表2 本文协议和相关协议安全性比较
表3 本文协议和相关协议计算效率比较
在3.2 GHz处理器3.0 G RAM环境下,Th的执行时间是0.2 ms,TS的执行时间是0.45 ms,TC的执行时间是32.2 ms[13],表4列出了本协议和相关协议[18-25]的执行时间。
表4 本协议和相关协议的执行时间
从上面分析结果可以发现,本协议具有较低的计算开销。与文献[25]提出的协议相比,本协议需要4次通信,而文献[25]中的协议需要8次,而且本协议不需要复杂的网络时钟同步技术。
本文基于扩展的混沌算法设计了一个适用于无线网络的三方用户认证和密钥协商协议。在可信第三方服务器的协助下,协议实现了双向用户的认证和密钥协商功能,而且协议提供了便捷的密钥更新机制,提高了用户密钥的安全性。通过安全性分析和效率分析可得出,与现有相关协议相比,本协议具有较高的安全性和较低的通信、计算开销,更适用于无线传感器网络。