庞 峰,窦立君
(南京林业大学网络安全和信息化办公室,江苏 南京 210037)
虽然信息技术的发展便捷了人类的工作与生活,但是随着网络交互的频繁性增加,网络安全形势变得愈加严峻。Web服务系统逐渐增多,使得身份认证系统存在众多安全隐患,如何保证信息安全成为了关键性的问题,访问控制是确保数据完整性与保密性的主要手段[1]。现如今有效提高密钥建立过程的通信性能,实现无线局域网中可信网络的接入,阻止恶意软件对密钥进行篡改一直以来都是业内研究的重点。
文献[2]采用角色和信任度关联的方法,用角色等级定义的角色权重与角色行为计算出信任度值,进而调节权重值来评价综合信任度,完成系统的细粒度访问控制。该方法具有较高的安全性,但没有对混合云这种情况加以考虑,具有一定的局限性。文献[3]为了加强新交换机与不相邻交换机间的密钥协商过程,生成了新交换机与服务器间的主密钥,并在预共享密钥鉴别与协商过程中增加了一种可信环境下的安全关联方案,用来加强设备平台的认证,有效增强网络的安全性。该方法可有效减少密钥建立过程的计算量,但兼容性较低。文献[4]通过传统保准协议中保留字段发送随机数的方法,结合图像密码系统,增加密钥的暴力破解难度,完成PSK的自动更新,该方法可以满足网络安全需求,但密钥的更新方法较为复杂。
基于以上研究,针对无线局域网安全问题,本文提出关于无线局域网多安全域间共享密钥生成方法。通过系统标签假名标识符对通信中的信息进行加密计算,减少存储空间的占用,并引入随机数增加攻击者的破解难度。
无线局域网可分为无转移、散步和漫游三种移动方式,在移动过程中,常常会伴随越区切换的情况。移动IP[5]协议推荐用户使用IPSec协议[6,7],但实际使用过程中IPSec协议并不适合移动IP,因此设计一种多安全域间的共享密钥协议。当存在跨安全域访问时,分别针对本地用户和移动用户与异地安全域的共享密钥问题提出解决方案。
协议中将跨域访问分为本地跨域访问和移动IP跨域访问两种形式。如图1所示。
图1 跨域访问形式
本地跨域访问是指用户归属本地安全域内,而通信范围超出本地安全域想访问其它安全域用户的情况。移动IP跨域访问是指无线用户的移动性会使无线用户漫游到其它安全域,这种情况需要使用一个IP地址完成对主机的识别。方案在设计过程中不仅要考虑无线局域网的安全性,还要考虑用户使用的设备与本地异地认证服务器间存在的不对称性,为解决本地与异地认证服务器的不对称性,协议中采用对称密码体制与公钥密码体制相结合的方法。其中本地与异地认证服务器间采用数字签名交换共享密钥,用户与异地认证服务器间采用对称密码实现共享密钥。
X=bxmoda
(1)
(2)
本地认证服务器也会计算出会话密钥,对接收的消息进行解密处理,同时对签名进行验证,然后把变量X和Y的签名用共享密钥加密后发送给异地认证服务器,异地认证服务器对消息进行解密处理并验证签名,这一整个过程便完成了本地与异地认证服务器间的交互认证工作,同时生成了共享密钥。
无线用户与异地安全域共享密钥过程如下。无线用户会向本地认证服务器发出访问异地安全域的请求(包含用户标识、地址和异地认证服务器的身份标识),当本地认证服务器接收到无线用户的请求后,通过无线用户标识和网络IP地址在密钥库中查找该无线用户的用户密钥,同时本地认证服务器随机产生无线用户访问异地认证服务器的会话密钥与票据,并将票据和用户密钥作为应答消息发送给无线用户。票据公式可表示为
Pvas=CKses[Kvas,ID,IDvas,Dval]
(3)
其中,Kvas表示无线用户访问异地认证服务器的会话密钥;ID是无线用户标识;IDvas是异地认证服务器标识;Dval是票据有效期。无线用户收到本地认证服务器发出的应答报文后,根据用户密钥进行解密,便完成本地认证服务器对无线用户的身份认证。然后无线用户向异地认证服务器出示票据,证明其具有访问异地认证服务器的权限,并通过从本地认证服务器与异地认证服务器的会话密钥生成验证码,验证码用公式可表示为
Vcode=CKvas[ID,IDvas,N3]
(4)
其中,N3表示随机数。异地认证服务器通过会话密钥对票据进行解密处理,通过解密验证码的内容验证无线用户的身份,若解密验证码一致,进而验证时间戳,通过会话密钥加密后作为应答报文发送给无线用户。
家乡域认证服务器和外地域认证服务器间的共享密钥采用数字签名的交换方法实现,移动中的移动主机与外地域认证服务器间的共享密钥过程如下。
移动中的移动主机会向外地域认证服务器提交注册请求(包含移动注意身份标识、家乡地址、转交地址等);当外地域认证服务器收到注册请求后,由于不能立即确认移动主机身份,会将该请求附上自己的身份标识与随机数转发给家乡域认证服务器;家乡域认证服务器收到附加的请求后,根据移动主机的身份标识和家乡地址查找该移动主机的用户密钥,生成移动主机与外地域认证服务器间的随机会话密钥和访问票据,并用移动主机的用户密钥加密后作为应答报文,这种方法处理后的报文具有唯一性,只能真正的移动主机才能解密该应答报文,以此验证移动主机身份的正确性。
当移动主机收到外地域认证服务器转发的报文回应后,通过自己的用户密钥进行解密并出示附上认证码的票据。外地域认证服务器对票据进行解密处理,得到与移动主机的会话密钥,然后通过会话密钥解密认证码,若验证码一致,则用户主机为合法用户。
一个完整的通信识别系统由标签、读写器和后台数据库三部分组成。系统通信过程中,读写器与后台数据库间通过安全的有限信道方式进行通信,而标签与读写器间通过不安全的无线信道方式进行通信[8,9]。动态的共享密钥生成前,标签中包含标签的标识符与标签的假名两种信息。读写器中包含第i个标签的标识符与第i个标签的假名两种信息。可将密钥生成过程分为3种情况讨论。
读写器向标签发出通信请求,标签通过计算将消息F发送给读写器。消息F用公式可表示为
F=IDr⊕IDSl
(5)
其中,IDr表示无线系统中标签标识符的右半部分;IDSl表示系统中标签假名的左半部分。读写器接收到消息后,会查找存放在系统中的第i个标签的标识符与第i个标签的假名,判断是否与消息F一致。若未找到,则停止查找;若找到,生成随机数g,进一步计算消息G、H和共享密钥,并将它们传给标签。消息G和H用公式可表示为
(6)
其中,IDSr表示标签假名的右半部分;IDl表示标签标识符的左半部分。标签接收到消息后,对消息G和H进行验证,若验证通过,则计算共享密钥Ksha;否则停止计算。共享密钥用公式可表示为
Ksha=(g⊕ID)⊕(g⊕IDS)
(7)
其中,ID表示标签标识符;IDS表示寻找的那个标签的假名。
单标签共享密钥的生成算法主要应用在单个读写器与单个标签进行通信时,生成唯一共享密钥的情况下。因为这种算法采用动态生成密钥的方式,所以不存在对密钥托管的现象,可以较好地满足用户自定义密钥的要求。在计算过程中采用“与”和“异或”的运算方法,不仅减少了存储空间,还大大降低了计算量。
多标签的密钥生成算法与单标签密钥生成算法的过程类似。不同点在于:当不同标签接收到读写器发送消息后,共享密钥的生成过程需要根据不同标签的标识符和假名信息生成属于自身的密钥,而其它过程一致,因此不一一阐述。
读写器向标签组发出广播通信请求后,系统中的第i个标签通过计算将第i个消息Ji发送给读写器。消息Ji用公式可表示为
Ji=IDi_r⊕IDSi_l
(8)
其中,IDi_r表示第i个标签标识符的右半部分;IDSi_l表示第i个标签假名的左半部分。
后台数据库查找存放在系统中信息是否与消息Ji一致。若不一致,说明有未做出反应的标签,发送第二次请求;若一致,生成随机数r,进一步计算唯一的共享密钥Ki_sha,并生成密钥因子αi_sha,将密钥因子发送给所有标签。共享密钥和密钥因子可表示为
(9)
其中,IDSi_r表示第i个标签假名的右半部分。第i个标签接收到消息后,将自身的标号与密钥因子进行对比,若不相等,则停止响应;若相等,进一步计算唯一的共享密钥Ki_sha,共享密钥用公式可表示为
Ki_sha=αi_sha⊕IDSi_r
(10)
算法的安全性一般从两方面进行分析。一方面,对算法抽象处理,采用逻辑化形式进行分析。另一方面,通过攻击方式对算法安全性进行分析。攻击方式主要分为包含监听的被动攻击和包含异步、重放、追踪等攻击方式的主动攻击两种形式。攻击者通过监听等方式获得用户通信消息的形式称为被动攻击,被动攻击一般是发生在用户不知晓的情况下。因此为确保通信的安全性,共享密钥的算法需要抵抗住攻击者的被动攻击,即攻击者无法破解通信过程中有用的隐私信息。同时面对攻击者发出的主动攻击时,通信实体通过双向认证可以鉴别出真伪。
对单一和多标签密钥算法进行被动与主动攻击分析。攻击者通过监听方式获得通信中的消息时,采用本文生成的密钥算法,攻击者并不能获得想要的信息。主要原因:首先攻击者不知道系统中标签的标识符和假名,从而无法根据消息逆推出共享密钥。其次在消息计算过程中,攻击者所获得的消息至少有两个变量是无法判断的。再次共享密钥计算过程中产生的随机数增加了破解难度。最后加密过程中涉及的参数值,在通信过程中没有明确规定过。因此基于以上分析,攻击者无法对单一和多标签密钥进行破解。
对群组标签密钥算法进行被动与主动攻击分析。攻击者通过监听方式获得通信中一个完整的消息时,采用本文生成的群组标签密钥生成算法,即使攻击者可获得消息和密钥因子,也无法获得想要的信息。主要原因:首先对第i个消息进行加密过程中,有两个变量攻击者无法获得。其次密钥因子仅是共享密钥的一个因子,由于密钥因子计算出的共享密钥需要各个标签对应的假名,因此即使攻击者获得该密钥因子,也无任何用处。共享密钥计算过程中加入的随机数,使共享密钥前后两次计算的数值并不一样,增加了破解难度。最后共享密钥计算过程中的各个标签假名,攻击者无法获得。因此基于以上分析,攻击者无法对多群组标签密钥算法进行破解。
将本文算法与其它算法进行安全性分析,结果如表1所示。
表1 安全性比较结果
从表中可以看出,采用本文方法生成的密钥可以对被动攻击与主动攻击进行很好地预防,大大增加了攻击者的破解难度,具有较高的安全性能。
本文选择单标签密钥算法为例进行性能分析,为了方便统计,“异或”运算用⊕表示,“与”运算用∧表示,移位运算用R表示,系统标签的标识符和假名长度均为L。将本文算法与其它算法进行性能分析,结果如表2所示。
表2 性能比较结果
从表中可以看出,综合三方面的性能分析,采用本文方法的计算量虽然较多,但与其它三种算法相比,在存储空间和通信量方面有了明显地改善,可以解决其它算法中存在的密钥复杂度与计算缺陷问题。
本文设计的关于无线局域网多安全域间共享密钥的生成方法主要由认证服务器与共享密钥组成,采用对称密码体制与带数字签名的方法解决认证服务器间的不对称性。为了避免密钥托管问题,并满足用户自定义共享密钥的需求,采取动态无线生成共享密钥机制,按位运算对密钥信息进行加密处理,减少整个算法的计算量,同时为了增加攻击者的破解难度,在通信消息传输过程中混入随机数,使前后消息发生改变,设计出三种不同场合的共享密钥生成算法。同时对算法的安全性和性能进行分析比较,结果表明,本文算法能够适应无线局域网多安全域间通信,并且具有较高的安全性,大大节省了存储空间。