APP下载

一种基于角色的WSN访问控制改进方案

2014-08-05邓盛源卢建朱杨菁菁

计算机工程 2014年5期
关键词:智能卡访问控制攻击者

邓盛源,卢建朱,杨菁菁,陈 婷

(暨南大学信息科学技术学院,广州 510 632)

一种基于角色的WSN访问控制改进方案

邓盛源,卢建朱,杨菁菁,陈 婷

(暨南大学信息科学技术学院,广州 510 632)

为提高无线传感器网络中访问控制的安全性和公平性,引入角色思想,提出一种改进的访问控制方案。利用角色授权机制和智能卡认证模式相结合的方法,提高基站密钥的安全性和会话密钥的公平性,同时改善系统权限管理的灵活性和复用性。通过相互认证策略使通信双方检测并拒绝不正确或不完整的交换信息。理论分析结果表明,与Das方案相比,该方案在通信成本方面减少了384 bit,并具有合理的计算成本和相近的存储成本,安全性更高。

无线传感器网络;基于角色的访问控制;认证;公平性;哈希函数;智能卡

1 概述

随着无线传感器网络(Wireless Sensor Ne twork, WSN)的广泛使用,其安全问题越来越受到人们的重视。访问控制是通过某种途径允许或禁止访问无线传感器网络的一种方法[1]。与传统的访问控制策略相比,基于角色的访问控制策略能有效地减少授权管理的复杂性,降低管理的开销,节约网络资源。

文献[2]提出了WSN中基于公钥密码系统的用户认证方案。但在该方案中,攻击者可以通过被捕获的节点获得合法身份访问无线传感器网络。文献[3]提出了基于椭圆曲线的公钥算法用户认证协议。但是该协议无法防范拒绝服务攻击。如果攻击者发送大量的伪造证书,节点无法快速识别而耗尽节点能量。文献[4]提出了一种动态的用户认证方案。文献[5]指出文献[4]存在安全缺陷:无法拒绝相同登录账号的多个用户登录的缺陷。文献[6]指出文献[5]是不安全的,无法实现相互认证。同时为解决这一问题,提出了一种鲁棒的相互认证协议。文献[7]指出相关协议存在安全问题,作出了相应的改进,提出了Das方案,设计一种用户实时访问无线传感器网络的协议。

本文在Das方案的基础上,提出一种改进的无线传感器网络访问控制方案。该方案引入角色的思想,采用基于角色的访问控制,以有效降低系统资源管理的开销,并在簇节点不可信的情况下,采用智能卡技术与单向的Hash函数,通过用户与簇节点的双向认证,实现用户对WSN聚集数据的访问控制。为应对破坏完整性攻击威胁,采用一次性的会话秘钥与消息认证码策略,使用户能够检测和拒绝不正确或不完整的簇节点响应信息。

2 系统模型

本文研究的WSN系统与Das方案有类似的结构,如图1所示。该系统主要由基站、簇节点、传感器节点和用户组成。若传感器节点性能较低,则电池和存储数据容量少,通信半径短;若簇节点性能较高,则电池和存储数据容量大,通信半径长。在同一簇节点下,传感器节点能够直接或通过簇节点相互进行通信,簇节点能够与基站和附近的簇节点进行通信。

图1 无线传感器网络模型

基于角色的访问控制[8-9]将访问控制过程分为2个部分:访问权限与角色相关联,角色与用户相关联,以实现用户与访问权限的逻辑分离[10]。基于角色的访问控制定义了不同的角色信息,每种角色可以访问一个或多个特定的簇节点。一个用户获得了某种角色,此用户可以访问该角色对应的簇节点子集[11]。

本文假设基站是一个安全可信的实体,而簇节点、传感器节点可能被攻击者捕获。通过捕获攻击,攻击者可得到保存在传感器中的敏感数据。此外,攻击者可收买或假冒用户,而用户的智能卡及其数据也可能被攻击者窃取。

3 Das方案的安全性分析

笔者对Das方案进行安全性分析,发现该方案有些方面有待进一步完善。具体体现在以下2个方面:

4 本文方案

针对上述问题,本节提出一种实现两层WSN中基于角色的访问控制的新方案。该方案由传感器节点的预处理、传感器节点的部署和初始化、用户访问的授权、用户登录与验证和智能化卡功能的扩展等阶段组成。

4.1 传感器节点的预处理

4.2 传感器节点的部署和初始化

假设簇节点与基站之间可直接建立通信。对于一个给定的区域,可使用飞机或其他方式随机撒播传感器节点,部署WSN。部署后,每个簇节点CHj及其所属的传感器节点Sj, l执行初始化操作,该过程的最后删除预加载的多项式f( x, y)。在初始化执行中,CHj先捕获自己所处位置的坐标(xj,yj),然后利用f( x, y)生成多项式f( LIDj,y),其中LIDj=h( HIDj||xj||yj)。同理,每个Sj, l利用初始化操作过程中捕获的位置坐标(xj, l,yj, l),计算LIDi, l= h( IDi, l||xi, l||yi, l),并生成多项式f( LIDj, l,y),l=1, 2,…,q。根据对称性f( x, y)=f( y, x),CHj和Sj, l可建立一个共享的通信密钥kj, l=f( LIDj, l,LIDj)=f( LIDj, LIDj, l)。类似地,簇内的传感器节点之间也可建立共享的通信密钥。

4.3 用户访问的授权

对具有角色Ri的用户Ui的授权申请,BS按如下方式为共享信息h( IDi||Xs)生成智能卡数据:首先,Ui选择一个随机数y,利用自己的身份信息IDi和口令PWi,计算伪口令RPWi=h( y||PWi),并通过安全通道发送y,IDi,Ri和RPWi给BS。根据接收的请求信息,BS利用密钥Xs计算ei=h( IDi||Xs)⊕x ,ri=h( y|| x),其中,x=h( RPWi|| XA);XA是Ui与BS共享的密钥。BS将参数y,IDi,Ri,ri,ei,XA和h(·)存入为Ui准备的智能卡中。BS为用户Ui的访问资源(即角色Ri可访问的簇节点子集Yi⊆Y)进行设置。对每个簇节点CHij∈Yi,BS利用Ui身份信息IDi、簇节点CHij的身份信息CIDij及其共享密钥HKij实现用户对簇节点的访问控制。为此,BS利用其密钥Xs加密上述3个信息,生成密文Kij=EXs(IDi||CIDij||HKi j), j= 1,2,…,n。将数组{(CIDij,Ki j)|1≤j≤n}存入为Ui准备的智能卡中。最后BS通过安全渠道将智能卡传送给用户Ui。

4.4 用户登录与验证

当用户Ui试图访问WSN时,需进行以下操作:

(1)登录阶段

用户Ui将智能卡插入设备中,键入口令PWi。智能卡首先验证用户的合法性,然后对合法用户生成请求信息。

(2)验证阶段

本文方案通过双向认证来保证通信的安全可靠。BS和用户Ui的认证操作如下:

1)假设BS在时刻T*1收到请求信息{IDi||CIDj||Ci},其最大时延是ΔT。BS首先利用自己的密钥Xs计算Kj=EXs(IDi||CIDj||HKj),其中HKj是它与簇节点CHj共享的密钥。BS用Kj解密Ci,得到DKj(Ci)=(Ni||ei||T1);然后检查T1*-T1≤ΔT 是否成立。若不成立,则BS拒绝该请求。

2)BS利用解密结果Ni认证请求信息由Ui的授权智能卡生成。BS用自己的密钥Xs计算Y=ei⊕h( IDi||Xs)和Z=h( Y||T1),然后验证Z=Ni是否成立。若验证为假,则拒绝Ui的请求。

3)BS向Ui想访问的簇节点CHj发送信息{IDi, Ci′ , T2,Maci}。BS利用与CHj的共享密钥HKj生成密文Ci′ =EHKj(h( T1||h( IDi||Xs))),其中,T2是基站系统的当前时戳。然后,BS计算对应信息{IDi, Ci′, T2}的消息认证码Maci=hHKj(IDi||Ci′ ||T2)。

4)簇节点CHj认证所接收的信息,并对有效的请求发送应答信息。假设CHj在时刻T2*收到信息{IDi, Ci′, T2, Maci},那么ΔT是所允许的最大时延。CHj首先根据T2*-T2≤ΔT检查网络传输时延的有效性,再利用消息认证

码Maci与BS共享的密钥HKj验证所接收信息的完整性。若上述2个验证不全成立,则簇节点CHj丢弃所接收的消息。否则,CHj计算一个与用户Ui共享的会话密钥SK=h( CIDj||h( T1||h( IDi||Xs))||T3),并生成验证信息Macj=hSK(IDi||CIDj||T3),其中,T3是CHj系统的当前时戳。最后,簇节点CHj向用户Ui发送响应信息{CIDj, T3, Macj},并保存会话密钥信息{IDi, SK}以备未来使用。

5)用户Ui确认会话密钥SK的正确性。收到CHj的响应消息后,Ui先计算一个与该簇节点共享的会话密钥SK=h( CIDj||h( T1||(ei⊕x))||T3),然后验证会话密钥SK是否满足Macj=hSK(IDi||CIDj||T3)。若上述等式不成立,Ui向CHj发送会话密钥创建失败的信息,随后CHj将删除会话密钥记录{IDi, SK};否则,Ui将成功创建的会话密钥SK保存。

4.5 智能卡的功能扩展

类似Das方案,本文可在智能卡中存储m个备用的簇节点信息{(CIDij,Ki j)|n+1≤j ≤n+m},用于满足用户对新簇节点的授权访问需求。此外,智能卡的口令修改和挂失等操作也可依照常规的方法实现。由于篇幅的限制,本文不再赘述。

5 安全性分析

本文方案以基站为桥梁,实现用户与簇节点的双向认证,其安全性是基于单向安全的Hash函数。本文方案除具有Das方案指出的安全性外,还克服了其存在的不足(参见第3节)。由于本文方案与Das方案具有类似的结构,有关相同登录账号的多个登录用户、校验值丢失、口令猜测、口令更新、节点捕获、拒绝服务、假冒攻击和重放攻击等的安全性分析请参见Das方案。下面主要讨论密钥、共享密钥、双向认证和会话密钥的公平性。

(1)攻击者获取基站的密钥Xs和用户的口令PWi,面临求解单向的Hash函数。

在用户访问的授权时,BS用自己的密钥Xs计算ei=h( IDi||Xs)⊕x 和Kij=EXs(IDi||CIDij||HKi j)。EXs(·)是安全的对称加密算法,攻击者根据密文Kij通常很难得到加密密钥Xs。恶意用户想从智能卡的数据ei、y、XA和自己的PWi,可得到h( IDi||Xs)=ei⊕x,其中,x=h( h( y||PWi)||XA)。但从h( IDi||Xs)获取Xs,攻击者面临求解单向的Hash函数。用户的口令PWi只在用户访问的授权和登录认证时使用。在用户访问的授权时,用户采用随机数y和自己的共享密钥XA计算x=h( h( y|| PWi)||XA),用于生成数据ri=h( y||x)和ei=h( IDi|| Xs)⊕x。攻击者即使窃取用户智能卡的数据y,XA,ri和ei,从ri获取PWi面临求解3次单向的Hash函数。从ei求解PWi至少面临2次单向的Hash函数。

(2)攻击者想获取用户、簇节点与基站的共享密钥面临求解单向安全的Hash函数。

用户Ui与基站有2个共享密钥XA和h( IDi||Xs),其中XA保存在用户的智能卡,h( IDi||Xs)用于生成给BS和簇节点的请求信息。在用户给BS的请求信息中,攻击者要冒充用户Ui,需要同时获取这2个密钥,生成合法的登录请求信息;虽然攻击者可窃取用户智能卡上的第一个共享密钥XA及其有关数据y和ei,但不知道口令PWi;这样,攻击者想从h( IDi||Xs)=ei⊕h( h( y||PWi)||XA)求解出第2个共享密钥h( IDi||Xs),面临求解比单向Hash函数更难的问题。在BS给簇节点的请求信息中,攻击者利用捕获的CHj可从Ci′=EHKj(h( T1||h( IDi||Xs)))解密得到h( T1||h( IDi||Xs))对应的值V1;但攻击者从V1=h( T1|| h( IDi||Xs))求解h( IDi||Xs),面临求解单向安全的Hash函数。

簇节点与基站的共享密钥HKj以密文形式Kj= EXs(IDi||CIDj||HKj)保存在授权用户智能卡中,并辅助BS与簇节点建立安全的通信。面对安全的对称加密算法EXs(·),攻击者不知道加密密钥Xs,很难获取明文信息中的HKj。在BS向簇节点CHj发送有关用户Ui的请求信息时,共享密钥HKj用于计算密文Ci′=EHKj(h( T1||h( IDi|| Xs)))和认证信息Maci=hHKj(IDi||Ci′ ||T2);由安全的对称加密算法E(·)(·)和消息认证码h(·)(·)可知,攻击者很难获取其对应的密钥HKj。

(3)实现用户与簇节点的双向认证。

因假设基站BS是用户Ui和簇节点CHj的可信第三方,本文通过BS对用户Ui的认证来实现簇节点CHj对它的认证。用户Ui键入口令PWi,利用智能卡生成请求信息{IDi||CIDj||Ci}。接收该请求信息后,基站BS用自己的密钥Xs计算Kj=EXs(IDi||CIDj||HKj),解密Ci得到Ni||ei||T1,然后计算Y=ei⊕h( IDi||Xs);若h( Y|| T1)=Ni成立,BS认证Ui是一个合法的授权用户,并向访问的簇节点CHj发送信息{IDi, Ci′, T2, Maci};否则,拒绝该请求。当簇节点CHj确信有关用户身份信息IDi的BS信息是有效的(依据共享密钥HKj验证等式Maci=hHKj(IDi|| Ci′ ||T2)),则表明该用户Ui已通过基站BS的认证。

依据用户与被访问簇节点CHj之间的一次会话密钥SK的正确性,实现用户对CHj的认证。收到簇节点的响应信息{CIDj, T3, Macj},用户利用与基站共享的密钥h( IDi||Xs)计算会话密钥SK=h( CIDj||h( T1||h( IDi| Xs))|| T3),并用会话密钥SK验证是否满足Macj=hSK(IDi|| CIDj||T3),若成立,用户实现了对访问簇节点CHj的认证。通过双向认证,用户与被访问的传感器节点建立了一种互信关系。

(4)会话密钥的公平性。

6 性能分析

本文方案使用单向的Hash函数、字符串的异或和串接等操作,实现用户与簇节点的双向认证,具有合理的计算成本。笔者采用统计不同阶段实现的相关操作次数,来分析本文方案的计算成本,并与Das方案进行比较,具体情况见表1。其中,h表示Hash函数;⊕表示异或操作;E表示对称加密算法;D表示对称解密算法;Mac表示消息验证码。在用户访问的授权阶段,用户执行Hash操作1次;基站执行Hash操作3次、异或操作1次和对称加密1次;在登录阶段,用户执行Hash操作4次和对称加密1次;在验证阶段,基站执行Hash操作3次、异或操作1次、对称加密2次、对称解密1次和消息验证码1次;簇节点执行Hash操作1次、对称解密1次和消息验证码2次;用户执行Hash操作1次、异或操作1次和消息验证码1次。与Das方案相比较,在认证阶段本文方案增加4次消息验证码,其中基站1次、簇节点2次,用户1次;用户执行一次消息验证码主要用户验证会话秘钥的正确性,笔者认为这是许多实际应用需要的;对于没有该应用需求的应用,本文方案可去掉这一计算,其用户计算成本与Das方案相同;而基站和簇节点通常有较大的计算能力,因此,本文方案的计算成本是合理的。

本文选取输出长度为256 bit的Hash函数SHA-256,并用它生成长度256 bit的随机数;然后,设置时间戳长度为60 bit,而身份标识符、用户口令和角色的长度各为128 bit。分析本文方案在不同阶段的通信成本,并与Das方案进行比较,结果如表2所示。在登录阶段,用户向基站发送信息{ID|| CID|| C};在验证阶段,基站向簇节点发送信息{ID, C, T, Mac},簇节点向用户发送确认信息{CID, T, Mac}。与Das方案相比,在登录阶段,用户向基站少传输了ID和 CID;在验证阶段,基站向簇节点少传输了ID、2个CID、T和1个Hash函数,簇节点向用户多传输了CID,T和Mac。总体来说,本文方案可减少传输384 bit。

表1 计算成本对比

表2 通信成本对比 bit

在存储成本方面,本文计算用户、基站和簇节点存储数据的容量来分析存储成本,并将其与Das方案进行比较。用户秘密保存口令PW,智能卡存储ID,y,R,r,e,XA,(CID, K),SK,E(·)(·)和h(·);基站保存Xs,XA,(CID, HK),E(·)(·)、D(·)(·)和h(·);簇节点保存HK,SK,D(·)(·)和h(·)。与Das方案相比,智能卡只是多存储了角色R。因为本文方案是基于角色的访问控制策略,认为智能卡存储角色是有必要的,所以该方案与Das方案具有相近的存储成本。

综上所述,利用本文方案实现WSN中基于角色的访问控制策略是可行的。

7 结束语

本文提出一种WSN中改进的基于角色的访问控制方案,其安全性基于单向的Hash函数。该方案采用角色授权的机制,减少了资源管理上的开销,弥补了其基站密钥易泄露和会话密钥不公平的缺陷。授权用户和簇节点通过基站实现双向认证,建立会话密钥,能够检测和拒绝不正确或不完整的响应信息。此外,该方案具有计算效率高和通信成本低的特性,满足一般WSN的性能要求。下一步将研究如何降低该方案的计算成本和存储成本,并在实际应用中进行实现。

[1] 沈海波, 洪 帆. 访问控制模型研究综述[J]. 计算机应用研究, 2005, 6(3): 9-11.

[2] Watro R, Kong D, Cuti S, et al. TinyPK: S ecuring Sensor Networks with Public Key Technology[C]//Proc. of the 2nd ACM Workshop on Security of Ad-hoc Networks and Sensor Networks. Washington D. C., USA: ACM Press, 2004: 59-64.

[3] Benenson Z, Gedicke N, Ra ivio O. Realizing Ro bust User Authentication in Sensor Networks[C]//Proc. of REALWSN’05. Stockholm, Sweden: [s. n.], 2005: 20-21.

[4] Wong K H M, Zhen g Yuan, Cao Jiannong, et al. A Dynamic User Authentication Scheme for Wireless Sensor Networks[C]// Proc. of I EEE International Conference on Sensor Networks, Ubiquitous, and T rustworthy Co mputing. T aichung, China: [s. n.], 2006: 5-7.

[5] Das M L. T wo-factor User Authentication in Wireless Sensor Networks[J]. IEEE Transactions on Wireless Communications, 2009, 8(3): 1086-1090.

[6] Chen T H, Shih W K. A Robust Mutual Authentication Protocol for Wireless Sensor Networks[J]. ETRI Journal, 2010, 32(5): 704-712.

[7] Das A K, Sharma P, Chatterjee S, et al. A Dynamic Passwordbased User Authentication Scheme for Hierarchica l Wireless Sensor Net works[J]. Journal of Network and Computer Applications, 2012, 35(5): 1646-1656.

[8] Ferraiolo D, Kuhn R. Role-based Access Control[C]//Proc. of the 15th National C omputer Security C onference. Baltimore, USA: [s. n.], 1992: 554-563.

[9] Sandhu R, Coyne E, F einstein H, et al. Role-based Access Control Models[J]. IEEE Computer, 1996, 29(2): 38-47.

[10] 宋善德, 刘 伟. 基于任务-角色的访问控制模型[J]. 计算机工程与科学, 2005, 27(6): 4-9.

[11] 吴洁明, 王吉栋. 基于角色的访问控制在Struts2中的应用[J]. 计算机安全, 2012, (2): 23-25.

[12] Huang H F, Chang Y F, Liu C H. Enhancement of Two-factor User Authentication in Wireless Sensor Networks[C]//Proc. of the 6th International Conference on Intelligent Information Hiding and Multimedia Signal Processing. Darmstadt, Germany: [s. n.], 2010: 27-30.

编辑 金胡考

An Improved Role-based Access Control Scheme in Wireless Sensor Network

DENG Sheng-yuan, LU Jian-zhu, YANG Jing-jing, CHEN Ting

(College of Information Science and Technology, Jinan University, Guangzhou 510632, China)

In order to improve the security and fairness of access control in Wireless Sensor Network(WSN) and introduce role theory, this paper proposes an improved role-based acce ss control sch eme in WS N. Combining the role authorization with the smart car d authentication model, this scheme improve s the security and the fai rness of the session key as well as the flexibility and reus ability of system permissions management. Mutual authentication is provided for two parties to detect and reject incorrect or incomplete e xchange information. Through theoretical analysis and eval uation, it prove s that this scheme reduces 384 bit in communication costs and has a reasonable calculation cost as well as analogical storage cost compared with Das scheme, and it is more secure.

Wireless Sensor Network(WSN); role-based access control; authentication; fairness; Hash function; smart card

10.3969/j.issn.1000-3428.2014.05.027

国家自然科学基金资助项目(61070164);广东省自然科学基金资助项目(S2011010002708);广东省教育部产学研结合基金资助项目(2012B091000038)。

邓盛源(1988-),男,硕士研究生,主研方向:无线网络安全;卢建朱,副教授、博士;杨菁菁、陈 婷,硕士。

2013-01-05

2013-05-13E-mail:dengshingyuan@gmail.com

1000-3428(2014)05-0129-05

A

TP309

猜你喜欢

智能卡访问控制攻击者
基于微分博弈的追逃问题最优策略设计
东方磁卡李晓东:进击的智能卡研发巨子
正面迎接批判
基于STC89 单片机的非接触智能卡读写机设计
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
临沂机顶盒智能卡升级方案介绍
有限次重复博弈下的网络攻击行为研究