鄧盛源,盧建朱,楊菁菁,陳 婷
(暨南大學信息科學技術學院,廣州 510 632)
一種基于角色的WSN訪問控制改進方案
鄧盛源,盧建朱,楊菁菁,陳 婷
(暨南大學信息科學技術學院,廣州 510 632)
為提高無線傳感器網絡中訪問控制的安全性和公平性,引入角色思想,提出一種改進的訪問控制方案。利用角色授權機制和智能卡認證模式相結合的方法,提高基站密鑰的安全性和會話密鑰的公平性,同時改善系統(tǒng)權限管理的靈活性和復用性。通過相互認證策略使通信雙方檢測并拒絕不正確或不完整的交換信息。理論分析結果表明,與Das方案相比,該方案在通信成本方面減少了384 bit,并具有合理的計算成本和相近的存儲成本,安全性更高。
無線傳感器網絡;基于角色的訪問控制;認證;公平性;哈希函數;智能卡
隨著無線傳感器網絡(Wireless Sensor Ne twork, WSN)的廣泛使用,其安全問題越來越受到人們的重視。訪問控制是通過某種途徑允許或禁止訪問無線傳感器網絡的一種方法[1]。與傳統(tǒng)的訪問控制策略相比,基于角色的訪問控制策略能有效地減少授權管理的復雜性,降低管理的開銷,節(jié)約網絡資源。
文獻[2]提出了WSN中基于公鑰密碼系統(tǒng)的用戶認證方案。但在該方案中,攻擊者可以通過被捕獲的節(jié)點獲得合法身份訪問無線傳感器網絡。文獻[3]提出了基于橢圓曲線的公鑰算法用戶認證協(xié)議。但是該協(xié)議無法防范拒絕服務攻擊。如果攻擊者發(fā)送大量的偽造證書,節(jié)點無法快速識別而耗盡節(jié)點能量。文獻[4]提出了一種動態(tài)的用戶認證方案。文獻[5]指出文獻[4]存在安全缺陷:無法拒絕相同登錄賬號的多個用戶登錄的缺陷。文獻[6]指出文獻[5]是不安全的,無法實現相互認證。同時為解決這一問題,提出了一種魯棒的相互認證協(xié)議。文獻[7]指出相關協(xié)議存在安全問題,作出了相應的改進,提出了Das方案,設計一種用戶實時訪問無線傳感器網絡的協(xié)議。
本文在Das方案的基礎上,提出一種改進的無線傳感器網絡訪問控制方案。該方案引入角色的思想,采用基于角色的訪問控制,以有效降低系統(tǒng)資源管理的開銷,并在簇節(jié)點不可信的情況下,采用智能卡技術與單向的Hash函數,通過用戶與簇節(jié)點的雙向認證,實現用戶對WSN聚集數據的訪問控制。為應對破壞完整性攻擊威脅,采用一次性的會話秘鑰與消息認證碼策略,使用戶能夠檢測和拒絕不正確或不完整的簇節(jié)點響應信息。
本文研究的WSN系統(tǒng)與Das方案有類似的結構,如圖1所示。該系統(tǒng)主要由基站、簇節(jié)點、傳感器節(jié)點和用戶組成。若傳感器節(jié)點性能較低,則電池和存儲數據容量少,通信半徑短;若簇節(jié)點性能較高,則電池和存儲數據容量大,通信半徑長。在同一簇節(jié)點下,傳感器節(jié)點能夠直接或通過簇節(jié)點相互進行通信,簇節(jié)點能夠與基站和附近的簇節(jié)點進行通信。
圖1 無線傳感器網絡模型
基于角色的訪問控制[8-9]將訪問控制過程分為2個部分:訪問權限與角色相關聯,角色與用戶相關聯,以實現用戶與訪問權限的邏輯分離[10]?;诮巧脑L問控制定義了不同的角色信息,每種角色可以訪問一個或多個特定的簇節(jié)點。一個用戶獲得了某種角色,此用戶可以訪問該角色對應的簇節(jié)點子集[11]。
本文假設基站是一個安全可信的實體,而簇節(jié)點、傳感器節(jié)點可能被攻擊者捕獲。通過捕獲攻擊,攻擊者可得到保存在傳感器中的敏感數據。此外,攻擊者可收買或假冒用戶,而用戶的智能卡及其數據也可能被攻擊者竊取。
筆者對Das方案進行安全性分析,發(fā)現該方案有些方面有待進一步完善。具體體現在以下2個方面:
針對上述問題,本節(jié)提出一種實現兩層WSN中基于角色的訪問控制的新方案。該方案由傳感器節(jié)點的預處理、傳感器節(jié)點的部署和初始化、用戶訪問的授權、用戶登錄與驗證和智能化卡功能的擴展等階段組成。
4.1 傳感器節(jié)點的預處理
4.2 傳感器節(jié)點的部署和初始化
假設簇節(jié)點與基站之間可直接建立通信。對于一個給定的區(qū)域,可使用飛機或其他方式隨機撒播傳感器節(jié)點,部署WSN。部署后,每個簇節(jié)點CHj及其所屬的傳感器節(jié)點Sj, l執(zhí)行初始化操作,該過程的最后刪除預加載的多項式f( x, y)。在初始化執(zhí)行中,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)。類似地,簇內的傳感器節(jié)點之間也可建立共享的通信密鑰。
4.3 用戶訪問的授權
對具有角色Ri的用戶Ui的授權申請,BS按如下方式為共享信息h( IDi||Xs)生成智能卡數據:首先,Ui選擇一個隨機數y,利用自己的身份信息IDi和口令PWi,計算偽口令RPWi=h( y||PWi),并通過安全通道發(fā)送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可訪問的簇節(jié)點子集Yi?Y)進行設置。對每個簇節(jié)點CHij∈Yi,BS利用Ui身份信息IDi、簇節(jié)點CHij的身份信息CIDij及其共享密鑰HKij實現用戶對簇節(jié)點的訪問控制。為此,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是它與簇節(jié)點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想訪問的簇節(jié)點CHj發(fā)送信息{IDi, Ci′ , T2,Maci}。BS利用與CHj的共享密鑰HKj生成密文Ci′ =EHKj(h( T1||h( IDi||Xs))),其中,T2是基站系統(tǒng)的當前時戳。然后,BS計算對應信息{IDi, Ci′, T2}的消息認證碼Maci=hHKj(IDi||Ci′ ||T2)。
4)簇節(jié)點CHj認證所接收的信息,并對有效的請求發(fā)送應答信息。假設CHj在時刻T2*收到信息{IDi, Ci′, T2, Maci},那么ΔT是所允許的最大時延。CHj首先根據T2*-T2≤ΔT檢查網絡傳輸時延的有效性,再利用消息認證
碼Maci與BS共享的密鑰HKj驗證所接收信息的完整性。若上述2個驗證不全成立,則簇節(jié)點CHj丟棄所接收的消息。否則,CHj計算一個與用戶Ui共享的會話密鑰SK=h( CIDj||h( T1||h( IDi||Xs))||T3),并生成驗證信息Macj=hSK(IDi||CIDj||T3),其中,T3是CHj系統(tǒng)的當前時戳。最后,簇節(jié)點CHj向用戶Ui發(fā)送響應信息{CIDj, T3, Macj},并保存會話密鑰信息{IDi, SK}以備未來使用。
5)用戶Ui確認會話密鑰SK的正確性。收到CHj的響應消息后,Ui先計算一個與該簇節(jié)點共享的會話密鑰SK=h( CIDj||h( T1||(ei⊕x))||T3),然后驗證會話密鑰SK是否滿足Macj=hSK(IDi||CIDj||T3)。若上述等式不成立,Ui向CHj發(fā)送會話密鑰創(chuàng)建失敗的信息,隨后CHj將刪除會話密鑰記錄{IDi, SK};否則,Ui將成功創(chuàng)建的會話密鑰SK保存。
4.5 智能卡的功能擴展
類似Das方案,本文可在智能卡中存儲m個備用的簇節(jié)點信息{(CIDij,Ki j)|n+1≤j ≤n+m},用于滿足用戶對新簇節(jié)點的授權訪問需求。此外,智能卡的口令修改和掛失等操作也可依照常規(guī)的方法實現。由于篇幅的限制,本文不再贅述。
本文方案以基站為橋梁,實現用戶與簇節(jié)點的雙向認證,其安全性是基于單向安全的Hash函數。本文方案除具有Das方案指出的安全性外,還克服了其存在的不足(參見第3節(jié))。由于本文方案與Das方案具有類似的結構,有關相同登錄賬號的多個登錄用戶、校驗值丟失、口令猜測、口令更新、節(jié)點捕獲、拒絕服務、假冒攻擊和重放攻擊等的安全性分析請參見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)攻擊者想獲取用戶、簇節(jié)點與基站的共享密鑰面臨求解單向安全的Hash函數。
用戶Ui與基站有2個共享密鑰XA和h( IDi||Xs),其中XA保存在用戶的智能卡,h( IDi||Xs)用于生成給BS和簇節(jié)點的請求信息。在用戶給BS的請求信息中,攻擊者要冒充用戶Ui,需要同時獲取這2個密鑰,生成合法的登錄請求信息;雖然攻擊者可竊取用戶智能卡上的第一個共享密鑰XA及其有關數據y和ei,但不知道口令PWi;這樣,攻擊者想從h( IDi||Xs)=ei⊕h( h( y||PWi)||XA)求解出第2個共享密鑰h( IDi||Xs),面臨求解比單向Hash函數更難的問題。在BS給簇節(jié)點的請求信息中,攻擊者利用捕獲的CHj可從Ci′=EHKj(h( T1||h( IDi||Xs)))解密得到h( T1||h( IDi||Xs))對應的值V1;但攻擊者從V1=h( T1|| h( IDi||Xs))求解h( IDi||Xs),面臨求解單向安全的Hash函數。
簇節(jié)點與基站的共享密鑰HKj以密文形式Kj= EXs(IDi||CIDj||HKj)保存在授權用戶智能卡中,并輔助BS與簇節(jié)點建立安全的通信。面對安全的對稱加密算法EXs(·),攻擊者不知道加密密鑰Xs,很難獲取明文信息中的HKj。在BS向簇節(jié)點CHj發(fā)送有關用戶Ui的請求信息時,共享密鑰HKj用于計算密文Ci′=EHKj(h( T1||h( IDi|| Xs)))和認證信息Maci=hHKj(IDi||Ci′ ||T2);由安全的對稱加密算法E(·)(·)和消息認證碼h(·)(·)可知,攻擊者很難獲取其對應的密鑰HKj。
(3)實現用戶與簇節(jié)點的雙向認證。
因假設基站BS是用戶Ui和簇節(jié)點CHj的可信第三方,本文通過BS對用戶Ui的認證來實現簇節(jié)點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是一個合法的授權用戶,并向訪問的簇節(jié)點CHj發(fā)送信息{IDi, Ci′, T2, Maci};否則,拒絕該請求。當簇節(jié)點CHj確信有關用戶身份信息IDi的BS信息是有效的(依據共享密鑰HKj驗證等式Maci=hHKj(IDi|| Ci′ ||T2)),則表明該用戶Ui已通過基站BS的認證。
依據用戶與被訪問簇節(jié)點CHj之間的一次會話密鑰SK的正確性,實現用戶對CHj的認證。收到簇節(jié)點的響應信息{CIDj, T3, Macj},用戶利用與基站共享的密鑰h( IDi||Xs)計算會話密鑰SK=h( CIDj||h( T1||h( IDi| Xs))|| T3),并用會話密鑰SK驗證是否滿足Macj=hSK(IDi|| CIDj||T3),若成立,用戶實現了對訪問簇節(jié)點CHj的認證。通過雙向認證,用戶與被訪問的傳感器節(jié)點建立了一種互信關系。
(4)會話密鑰的公平性。
本文方案使用單向的Hash函數、字符串的異或和串接等操作,實現用戶與簇節(jié)點的雙向認證,具有合理的計算成本。筆者采用統(tǒng)計不同階段實現的相關操作次數,來分析本文方案的計算成本,并與Das方案進行比較,具體情況見表1。其中,h表示Hash函數;⊕表示異或操作;E表示對稱加密算法;D表示對稱解密算法;Mac表示消息驗證碼。在用戶訪問的授權階段,用戶執(zhí)行Hash操作1次;基站執(zhí)行Hash操作3次、異或操作1次和對稱加密1次;在登錄階段,用戶執(zhí)行Hash操作4次和對稱加密1次;在驗證階段,基站執(zhí)行Hash操作3次、異或操作1次、對稱加密2次、對稱解密1次和消息驗證碼1次;簇節(jié)點執(zhí)行Hash操作1次、對稱解密1次和消息驗證碼2次;用戶執(zhí)行Hash操作1次、異或操作1次和消息驗證碼1次。與Das方案相比較,在認證階段本文方案增加4次消息驗證碼,其中基站1次、簇節(jié)點2次,用戶1次;用戶執(zhí)行一次消息驗證碼主要用戶驗證會話秘鑰的正確性,筆者認為這是許多實際應用需要的;對于沒有該應用需求的應用,本文方案可去掉這一計算,其用戶計算成本與Das方案相同;而基站和簇節(jié)點通常有較大的計算能力,因此,本文方案的計算成本是合理的。
本文選取輸出長度為256 bit的Hash函數SHA-256,并用它生成長度256 bit的隨機數;然后,設置時間戳長度為60 bit,而身份標識符、用戶口令和角色的長度各為128 bit。分析本文方案在不同階段的通信成本,并與Das方案進行比較,結果如表2所示。在登錄階段,用戶向基站發(fā)送信息{ID|| CID|| C};在驗證階段,基站向簇節(jié)點發(fā)送信息{ID, C, T, Mac},簇節(jié)點向用戶發(fā)送確認信息{CID, T, Mac}。與Das方案相比,在登錄階段,用戶向基站少傳輸了ID和 CID;在驗證階段,基站向簇節(jié)點少傳輸了ID、2個CID、T和1個Hash函數,簇節(jié)點向用戶多傳輸了CID,T和Mac??傮w來說,本文方案可減少傳輸384 bit。
表1 計算成本對比
表2 通信成本對比 bit
在存儲成本方面,本文計算用戶、基站和簇節(jié)點存儲數據的容量來分析存儲成本,并將其與Das方案進行比較。用戶秘密保存口令PW,智能卡存儲ID,y,R,r,e,XA,(CID, K),SK,E(·)(·)和h(·);基站保存Xs,XA,(CID, HK),E(·)(·)、D(·)(·)和h(·);簇節(jié)點保存HK,SK,D(·)(·)和h(·)。與Das方案相比,智能卡只是多存儲了角色R。因為本文方案是基于角色的訪問控制策略,認為智能卡存儲角色是有必要的,所以該方案與Das方案具有相近的存儲成本。
綜上所述,利用本文方案實現WSN中基于角色的訪問控制策略是可行的。
本文提出一種WSN中改進的基于角色的訪問控制方案,其安全性基于單向的Hash函數。該方案采用角色授權的機制,減少了資源管理上的開銷,彌補了其基站密鑰易泄露和會話密鑰不公平的缺陷。授權用戶和簇節(jié)點通過基站實現雙向認證,建立會話密鑰,能夠檢測和拒絕不正確或不完整的響應信息。此外,該方案具有計算效率高和通信成本低的特性,滿足一般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