張 倩
(武警西安指揮學院教研部信息技術教研室,陜西西安 710038)
近年來,國內倍受關注的物聯網,使得無線傳感器網絡(WSNs)的應用范圍深入到了社會的各個領域,如軍事、環境和安全監視、設備跟蹤等。2010年11月,美國谷歌公司向外界公布了汽車在無人駕駛技術上取得的成果。車中裝載的各類傳感器識別車輛、行人及障礙物的無人駕駛系統,比精力不集中或者疲勞駕駛的司機更安全可靠。
與傳統網絡相比,WSNs具有節點分布密集、存儲空間和計算能力有限、周邊環境惡劣、易遭受物理破壞等特點。這使得在WSNs中進行節點間認證等安全協議變得非常困難。
本文提出了一種WSNs中的強實體認證協議。協議提供了基于秘密共享的認證服務,通過多個節點對用戶進行認證,能夠有效防止偽裝用戶加入網絡;同時,當單個或幾個節點被捕獲時,認證協議仍然可以執行,具有良好的抗攻擊能力。實驗分析結果表明:協議具有強認證的特性,能夠保障雙方實體相互認證,同時具有低計算量和存儲量。
王剛等人在文獻[1]中提出了基于身份的WSNs認證協議,該協議克服了公鑰密碼體制開銷大的缺點,適用于多播網絡,但對于普通的分布式網絡不是高效的。
WSNs分布式認證方案[2]中沒有使用復雜的密碼算法,而是采用了秘密共享和組群同意的密碼學概念,降低了認證方案中的計算復雜度和內存存儲量。
強用戶認證方案[3]中使用了密鑰長度更短,卻與RSA具有同等安全強度的橢圓曲線加密算法。方案中還采用了多個節點共同認證一個用戶的方法,有效地抵御了少數節點被捕獲的攻擊。但是方案中使用的ECC公鑰算法,計算量較大,而且當某個非法用戶發送偽造證書時,節點也要完成所有步驟才能發現,能量很容易被耗盡。
Shamir的門限秘密共享方案[4,5]通過構造一個k-1 次多項式,并將所要共享的秘密作為這個多項式的常數項,將秘密分成n個秘密份額分別分給k個參與者。k個或k個以上的參與者合作利用插值公式可以恢復出所共享的秘密,但少于k個參與者合作不能得到關于共享秘密的任何信息。
本文提出的認證協議中,合法用戶與基站共享秘密D。基站會以秘密D和網絡中各個節點的身份標識ID為參數,為每個節點計算其秘密份額。希望加入網絡的用戶只有計算出每個節點的秘密份額時才可以加入網絡。網絡中的每個節點將收到的秘密份額與自己存儲的份額相比較,如果相同,則通過對該用戶的認證;當有N個節點認證成功時,該用戶才可以正式加入網絡。
協議的系統模型由基站(BS)和大量功能相同的傳感器節點構成,每個節點擁有唯一的身份標識ID,如圖1。

圖1 協議系統模型Fig 1 Protocol system module
具體模型如下:
1)基站(BS)可以看成是可信第三方,在BS中保存了合法傳感器用戶表和合法節點列表。BS負責選取秘密D,并計算秘密份額。在節點被部署到監測區域前,BS為每個節點載入身份標識IDi和秘密份額ShIDi。在秘密更新時,BS還負責重新隨機選取秘密并將秘密發送給節點。
2)在網絡中,每個節點被載入相同的程序,對周圍的環境進行監測和數據收集,并將收集到的數據傳送給節點。每個節點屬于一個子群,子群中節點的數量是確定的,而群內的節點可以是動態的。節點負責對新加入的用戶進行身份認證。
3)用戶(user,U)可以是手機、節點、PC機等,它們擁有比一般節點更強的計算能力。當用戶希望加入網絡時,它需要與子群中的節點進行交互,只有節點對用戶認證成功后,用戶才可以加入網絡,進行數據查詢、收集等操作。
4)協議中,攻擊者能夠捕獲一個或多個傳感器節點。攻擊者能得到被捕獲節點內的所有信息,包括ID號,秘密份額等;攻擊者還可以對節點內的信息和程序進行篡改。
5)協議采用了典型的“詢問—應答”模式進行身份認證。協議中使用Shamir的基于拉格朗日插值多項式的秘密共享方案。用戶加入傳感器網絡時,它首先向通信范圍內的N個節點廣播請求信息。節點收到請求信息后,向用戶發送身份標識ID。以節點ID為參數,用戶分別計算出節點的份額ShIDi,并將份額分別傳送給節點;節點收到ShIDi后與自己存儲的份額ShIDi進行比較,如果相同,認為用戶是合法的,否則,拒絕用戶加入網絡。當至少有t個節點認證成功,用戶才可以加入網絡。
初始化階段時,BS首先選取秘密D和多項式系數a1,a2,…,ak-1,并發送給合法用戶。用戶在加入傳感器網絡時會利用D計算各個節點的份額。其次,BS用以下方式將秘密分為份額:
1)在GF(q)中隨機選擇k-1 個數:a1,a2,…,ak-1;
2)令f(x)=D+a1x+a2x2+ … +ak-1xk-1;
3)在GF(q)中隨機選擇n個不同的數x1,x2,…,xn,并計算ShIDi=f(IDi),1≤IDi≤N。
1)首先,用戶向通信范圍內的N個節點廣播請求信息:IDU‖RU;
2)節點收到用戶的請求后,向用戶回復消息:IDi‖IDU‖RU‖Ri;
3)用戶收到節點的身份信息后,利用Shamir的門限秘密共享方案計算節點的份額Sh'IDi=f'(IDi),1≤IDi≤N,發送ShIDi給節點;
4)節點將ShIDi'與自己存有的秘密份額ShIDi進行比較,如果相同,則認為該用戶合法,否則,拒絕該用戶加入網絡。最后,至少有t個節點認為該用戶合法,該用戶才可以正式加入WSNs。具體的強實體認證協議過程如下:

3)U計算份額f(x)=D+a1x+a2x2+ … +ak-1xk-1.令Sh'IDi=f'(IDi),1≤IDi≤N;
4)U→SIDi:IDi‖Ri‖RU‖MACIDi‖IDi'(ShIDi'‖IDU‖Ri‖RU),1≤IDi≤N;
5)SID i:計算MACIDU‖IDi(ShIDi‖IDU‖Ri‖RU),認證MAC(*)?MAC'(*)。
協議中使用隨機數Ri,RU不僅保證了數據的新鮮性,而且達到了雙方相互確認身份的目的。同時,消息中加入的用戶和節點的身份信息達到了實體認證的目的。
由于WSNs是不安全的,因此,必須周期性地更新使用的秘密D。秘密更新在動態認證中是非常重要的階段,當一個或多個節點失效或被捕獲時,BS需要及時更新信息,以防止由于節點中的信息泄露,導致整個網絡的不安全。為了更新秘密D,BS需要隨機選擇一個秘密并將它分為N個份額,這里考慮2種情況:
1)被動更新:當一個節點或多個節點被捕獲了,BS查找成員列表,刪除被捕獲節點的ID,向整個網絡廣播刪除該節點的信息,并分別發送新的秘密和份額給合法用戶和節點;
2)主動更新:當網絡正常運行時,BS定時選取新的秘密D,然后分別發送新的秘密和份額給用戶和節點。
1)強認證性
協議中,用戶在加入網絡之前,必須向傳感器網絡中的N個節點發送請求信息,當至少t個節點對用戶認證成功時,用戶才可以加入網絡進行信息收集。此時,攻擊者必須同時捕獲t個節點才能成功加入網絡,增加了網絡攻擊的難度;另一方面,方案中并不是通過單一節點來認證用戶,如果這個節點是不安全的,那么,非法用戶都可以通過該節點加入網絡。方案通過N個節點對用戶同時認證來判定用戶的合法性,如果1個或d個節點失效或被捕獲,只要d<N-t,協議仍可以對用戶進行驗證,從而實現了強認證性。
2)雙方認證
協議在認證階段,進行通信的用戶和傳感器節點能夠進行相互認證。現有的很多WSNs中的實體認證方案都只能是普通節點對用戶進行認證,用戶卻無法確定節點的身份。通過在方案中建立雙方認證形式,用戶和節點可以確信它們的通信對方正是它們所聲明的。
3)抗節點捕獲性
比起單一節點認證用戶的方法,方案采用多個節點共同認證用戶的方法,當有1個或幾個節點失效或被捕獲時,只要數量不超過N-t,就不會影響方案的正常執行。一個非法用戶要想加入網絡,它必須能夠捕獲足夠多的節點,這無疑增加了難度,因此,增強了傳感器網絡的魯棒性。
實驗編寫了nesC程序來實現協議中的算法,并加載到IRIS 節點(Atmegal 1281 處理器,7.37MHz,8bit,128program Memory,SRAM 8kB)上,作為用戶實體請求加入網絡。用戶的計算量與子群中的節點個數N和多項式的指數k相關,表1列出了不同的N與k下用戶的執行時間。
根據表1中的數據,當k值一定時,作出了子群中節點數量N與計算時間T的關系曲線如圖2所示。
當N值一定時,多項式指數k與用戶計算時間的關系曲線如圖3。
圖2中選取k=5,6,7作為樣本,可以看出:隨著N的增大,用戶的計算時間呈線性增長;圖3中選取N=20,30,40,50作為樣本,用戶計算時間隨k的增加呈指數增長。與基于公鑰算法的實體認證方案比較,本協議大大降低了計算量,更能適應受限的傳感器網絡。此外,實驗編寫的程序經過編譯后加載到IRIS上,實際僅占用ROM 3124字節,RAM為408字節(N=55時),存儲上占用的空間相對較小。

表1 用戶計算時間Tab 1 Computing time of user

圖2 N與用戶計算耗時關系Fig 2 Relationship between N and computing time of user

圖3 k與用戶計算時間的關系Fig 3 Relationship between k and computing time of user
文獻[2]中,挑戰者群內的所有節點都需要重構秘密,增加了計算量,而在本方案中每個認證節點只要對比接收到的秘密份額與存儲的份額是否相同即可,計算量相對較小;另一方面,Szewczyk R等人的研究[6]表明:使用Micadot節點發送一個字節數據的能耗可以用來執行800條指令。在文獻[2]中,節點不但要進行廣播通信,而且群內所有節點要相互協同通信,能量消耗大,且容易造成信息碰撞。本方案中用戶與節點間只進行了“三次握手”便完成了認證,減小了通信耗能。
與文獻[3]提出的基于ECC的強認證方案相比,本方案采用的是秘密共享機制,用戶和節點之間認證所需的計算時間和內存占用量都遠遠小于文獻[3]中的方案。
3種方案的能量消耗對比如圖4。

圖4 三種認證方案能量消耗對比Fig 4 Energy consumption contrast of three authentication schemes
本文提出了一種WSNs中的強實體認證協議,協議中的用戶加入網絡時必須提供合法的秘密D。協議具有以下2個特點:1)協議采用有效的機制實現了可交互式的實體認證;2)當有幾個節點被捕獲時,方案的強認證性能夠保證協議的正常執行。實驗分析結果表明:協議具有較高的認證效率,同時具有較低的計算量和存儲量。
[1]王 剛,溫 濤,郭 權,等.WSNs中基于身份的高效多播認證協議[J].通信學報,2009,30(6):64 -69.
[2]Bauer K,Lee H.A distributed authentication scheme for a wireless sensing system[C]//Proceedings of the 2nd International Workshop on Networked Sensing Systems,2005:210.
[3]Benenson Z,Gedicke N,Raivio O.Realizing robust user authentication in sensor networks[C]//Workshop on Real-World Wireless Sensor Networks,2005:135.
[4]Shamir A.How to share a secret[J].Communications of the ACM,1979,22(11):612.
[5]Blakley G.Safeguarding cryptographic keys[C]//Proceedings of the National Computer Conference,1979:313.
[6]Szewczyk R,Ferencz A.Energy implications of network sensor designs.[EB/OL][2005—10—12].http://www.cs.Berkeley.edu/~ szewczyk/cs252/paper.pdf.