張 明
(民航西北空管局培訓(xùn)中心,陜西西安 710082)
由于無線傳感器網(wǎng)絡(luò)結(jié)構(gòu)的特殊性,它比傳統(tǒng)網(wǎng)絡(luò)面臨更多的安全威脅。傳感器網(wǎng)絡(luò)的安全,在文獻[1]中被歸納為兩方面,外部安全和內(nèi)部安全。其中外部安全是指WSN與外部用戶之間的安全通信,這個外部用戶可以是新加入的節(jié)點,也可以是訂購了WSN服務(wù)的合法用戶。內(nèi)部安全指的是在WSN中傳感器節(jié)點之間的安全通信以及傳感器節(jié)點與基站之間的安全通信。文中主要關(guān)注于無線傳感器網(wǎng)絡(luò)中的外部安全,即用戶認(rèn)證問題。
雖然Lee-Chun Ko的方案通過對于時延的嚴(yán)格控制和對于認(rèn)證通過信息的簽名方式解決了Wong和Tseng方案中的不足,但是依然有其安全性缺陷。由于這一方案在每一個登錄節(jié)點上都分配了N這一重要信息,一旦信息泄漏,將導(dǎo)致重大的安全問題。同時由于每一個登錄節(jié)點都要保存所有用戶的N,很有可能導(dǎo)致安全威脅的擴大。針對這一問題給出了一種攻擊方式。這一攻擊方式默認(rèn)無線傳感器網(wǎng)絡(luò)中部署的節(jié)點都是易于捕獲的。由于無線傳感器網(wǎng)絡(luò)節(jié)點大量播撒的特性,無線傳感器網(wǎng)絡(luò)的研究者一般都對節(jié)點易于捕獲的特點達成共識。
由于動態(tài)用戶認(rèn)證協(xié)議都需要在網(wǎng)關(guān)部分完成認(rèn)證計算,因此在動態(tài)用戶認(rèn)證協(xié)議中普遍存在著對于網(wǎng)關(guān)的拒絕服務(wù)攻擊的可能。在Lee-Chun Ko的協(xié)議中,拒絕登錄的消息并沒有像登錄消息一樣給予安全保護。因此基于此,惡意節(jié)點可以在無線傳感器網(wǎng)絡(luò)區(qū)域內(nèi)偽裝網(wǎng)關(guān)向登錄節(jié)點發(fā)送消息Msg(REJ_LOGIN),由于登錄節(jié)點無法判斷此消息是否來自網(wǎng)關(guān),所以會接受這一消息。因此當(dāng)任何用戶試圖登錄時,登錄節(jié)點都會根據(jù)這一消息拒絕用戶登錄。
鑒于以上提出的動態(tài)用戶認(rèn)證協(xié)議可能出現(xiàn)的安全問題,針對Lee-Chun Ko提出的改進協(xié)議對動態(tài)用戶認(rèn)證協(xié)議給出了改進方案,在不影響其高效的前提下,提高了對偽裝網(wǎng)關(guān)重放攻擊和針對網(wǎng)關(guān)的拒絕服務(wù)攻擊的安全強度。
改進的動態(tài)用戶認(rèn)證方案同樣包括以下4個階段:
(1)注冊階段。
Step1用戶擁有UID,選擇口令PW。通過安全信道向網(wǎng)關(guān)提交以下數(shù)據(jù)(UID,hash(PW))。
Step2網(wǎng)關(guān)在數(shù)據(jù)庫中存儲(UID,T,hash(PW),TS),并向各登錄節(jié)點用安全方式分發(fā)其子集(UID,T,TS),其中TS為有效時戳,T為最近一次的登錄時間,初始化為用戶注冊時刻。
Step3網(wǎng)關(guān)通知用戶注冊成功。
(2)登錄階段。
Step1用戶計算
之后向登錄節(jié)點提交登錄信息(UID,A,t1),其中t1為當(dāng)前時刻。
Step2登錄節(jié)點檢查UID是否存在,若不存在則向用戶發(fā)送UID錯誤消息Msg(ID_WRONG)。如UID存在,檢查是否Δt<t1-T,其中,Δt為最小有效登錄間隔,如果登錄時間差<Δt,則證明用戶登錄頻繁,將請求棄置,拒絕用戶登錄;否則判斷tc-t1是否超過最大傳輸時延,tc為當(dāng)前時刻,檢查是否超時。超時則發(fā)送超時Msg(OVERTIME)消息,拒絕用戶登錄。否則進行以下計算
其中,S為登錄節(jié)點與網(wǎng)關(guān)的共享秘密,不同的登錄節(jié)點各不相同;t2為進行計算時的當(dāng)前時刻。修改T=t1。之后登錄節(jié)點向網(wǎng)關(guān)提交(UID,C,D,t1,t2)。
(3)認(rèn)證階段。
Step1網(wǎng)關(guān)檢查(UID,t1)是否存在,如(UID,t1)已經(jīng)存在,則棄置此請求。檢查是否Δt<t1<T,并判斷tc-t2是否超出最大傳輸時延,如果登錄頻繁或者超過時延,則棄置此請求。如不超時,依照式(4)進行計算。
并判斷D'是否和D相等,如不相等,認(rèn)為登錄節(jié)點為偽裝或登錄節(jié)點出錯,拒絕登錄,不發(fā)送任何信息,并在收到此類包達到一定閾值時啟動對節(jié)點中惡意節(jié)點的排除。否則依照式(5)和式(6)繼續(xù)計算
判斷與C'與C是否相等,如不相等發(fā)送拒絕登錄消息,否則認(rèn)為用戶認(rèn)證成功。網(wǎng)關(guān)保存T=t1,計算網(wǎng)關(guān)對消息的簽名
之后網(wǎng)關(guān)向登錄節(jié)點發(fā)送接受認(rèn)證消息
Step2登錄節(jié)點首先檢查tc-t4是否超過最大傳輸時延,t3為當(dāng)前時刻。如超時,則放棄這。如不超時則依照式(7)計算,之后再按式(9)計算。
并驗證是否hash(MAu)=hash(MA'u),驗證失敗則認(rèn)為消息為偽造,不做處理。否則向登錄用戶發(fā)送(Msg(ACC_LOGIN),hash(MAu⊕t5),t5);如登錄節(jié)點收到拒絕登錄消息,同樣首先計算是否超時,如不超時則計算驗證h(MAsn)=h(MA'sn),如正確則發(fā)送拒絕登錄消息(Msg(REJ_LOGIN),hash(MAu⊕t5),t5)
Step3用戶接受來自登錄節(jié)點的消息登錄消息并驗證
如驗證成功,則接受登錄節(jié)點的通知。
(4)更新階段。
Step1用戶產(chǎn)生新的口令PW',并通過當(dāng)前安全通道向網(wǎng)關(guān)提交
(UID,hash(hash(PW')),hash(hash(PW)),hash(PW)⊕hash(PW'))
Step2網(wǎng)關(guān)根據(jù)自己儲存的用戶口令哈希值判斷hash(hash(PW))是否正確,之后計算
如hash(hash(PW″))=hash(hash(PW')),則認(rèn)為發(fā)送正確,將hash(PW″)作為新的用戶口令哈希存儲,并按照注冊階段進行操作。
在之前的動態(tài)用戶認(rèn)證協(xié)議中,并沒有對網(wǎng)關(guān)發(fā)送給登錄節(jié)點的允許登錄消息Msg(ACC_LOGIN)和拒絕登錄消息Msg(REJ_LOGIN)的具體格式給出說明。通過對協(xié)議的分析可知,用戶實際接入無線傳感器網(wǎng)絡(luò)是依靠登錄節(jié)點。因此網(wǎng)關(guān)的登錄消息必須保證不能被偽造,否則如果攻擊者可以對某一登錄節(jié)點進行控制,那么可以不通過網(wǎng)關(guān)進行認(rèn)證,使控制的登錄節(jié)點直接偽造登錄消息,讓用戶通過認(rèn)證。鑒于以上分析,應(yīng)當(dāng)對協(xié)議中的網(wǎng)關(guān)的登錄消息給出一種具體格式。
如之前所提到的,動態(tài)用戶認(rèn)證協(xié)議是一種基于強口令的輕量級無線傳感器網(wǎng)絡(luò)認(rèn)證協(xié)議。這個協(xié)議與目前其他無線傳感器網(wǎng)絡(luò)的認(rèn)證協(xié)議相比,有以下特點:(1)除了單向哈希函數(shù)和異或運算,并沒有使用其他復(fù)雜的密碼算法。(2)整體認(rèn)證速度比較快。(3)協(xié)議的安全首先需要網(wǎng)關(guān)的安全。
如圖1所示,用戶可以在不同的物理位置通過所在網(wǎng)絡(luò)接入無線傳感器網(wǎng)進行認(rèn)證。如果用戶使用有支持無線傳感器網(wǎng)絡(luò)通信協(xié)議的設(shè)備,可以通過登錄節(jié)點使用改進型協(xié)議進行登錄。如果用戶在其他形式的網(wǎng)絡(luò)內(nèi)希望通過傳感器網(wǎng)絡(luò)的認(rèn)證,那么其接入點只要和網(wǎng)關(guān)之間擁有一個共享的秘密就可以完成登錄節(jié)點的工作,協(xié)助用戶完成認(rèn)證。由于登錄節(jié)點所做的工作量很小,可以通過簡單的模塊實現(xiàn),因此不必對這些設(shè)備進行大的改造,而且由于進行一次認(rèn)證的速度較快。
圖1 改進的動態(tài)用戶認(rèn)證協(xié)議的應(yīng)用場景
提出了一種基于Lee-Chun Ko等人的動態(tài)用戶認(rèn)證協(xié)議的改進的用戶認(rèn)證協(xié)議。動態(tài)用戶認(rèn)證協(xié)議作為一種輕量級的快速用戶認(rèn)證協(xié)議,應(yīng)用于無線傳感器網(wǎng)絡(luò)中具有認(rèn)證速度快,計算量小等優(yōu)勢。
[1] 周賢偉,施德軍,覃伯平.無線傳感器網(wǎng)絡(luò)認(rèn)證機制的研究[J].計算機應(yīng)用研究,2006(7):108-111.
[2] WATRO R,KONG D.TinyPK:securing sensor networks with public key technology[C].Proceedings of the 2nd ACM Workshop on Security of Ad hoc and Sensor Networks,ACM Press,2004:59-64.
[3] ZINAIDA B,NILS G,OSSI R.Realizing robust user authentication in sensor networks[J].Workshop on Real-World Wireless Sensor Networks(REALWSN),2005,26(9):135-142.
[4] 趙玉華,李志剛,李志民.無線傳感器網(wǎng)絡(luò)用戶認(rèn)證技術(shù)綜述[J].計算機測量與控制,2009,17(12):2348-2351.
[5] WONG K H,ZHENG Y,CAO J M.A Dynamic user authentication scheme for wireless sensor networks[C].In Proc.of the IEEE International Conference on Sensor Networks, Ubiquitous, and Trustworthy Computing(SUTC'06),2006:244-251.
[6] LEE C Y,LIN C H,Chang C C.An improved low communication cost user authentication[C].Taiwan:Scheme for Mobile Communication,Proceedings of the IEEE 19th International Conference on Advanced Information Networking and Applications(AINA 2005),2005:249-252.
[7] TSENG H R,JAN R H,YANG W.An improved dynamic user authentication scheme for wireless sensor networks[C].In Proc.of the IEEE Global Communications Conference(GLOBECOM'07),2007:986-990.
[8] BINOD V,JORGE S S,JOEL J P,et al.Robust dynamic user authentication scheme for wireless sensor networks[C].ACM Q2SWinet'09,2009:28-29.
[9] LEE C K.A novel dynamic user authentication scheme for wireless sensor networks[C].Wireless Communication Systems,ISWCS'08,2008:608 -612.
[10] CAO Zhen,ZHOU Xia,XU Maoxing.Enhancing base station security against dos attacks in wireless sensor networks[C].Wireless Communications,Networking and Mobile Computing 2006 International Conference,2006:1-4.