李萃,王賾,吳秀虹
天津工業大學計算機科學與軟件學院,天津300387
在以往的認證機制中,節點的身份信息是決定其是否可靠的基本條件。然而,在實際的應用中單純的身份信息并不足以保證通信的安全性。例如,一旦無線網絡中收集周圍環境信息的某些節點脫離了目的地,即節點所處的位置無效了,那么這些節點所收集的信息就變得沒有意義了。另外,對于進行通信的兩個節點來說,如果其中的一個節點并不在另一個節點的通信范圍內,那么這次通信很可能存在著惡意的攻擊。所以,信息采集節點和通信節點的物理位置在一定程度上決定了其收集信息和通信的有效性。
要想使位置信息發揮其優勢,前提是位置的準確性要有所保障。當前,已經有許多的安全定位機制被提出[1-2],其中的信標節點被認為是完全可信的,普通節點的位置由信標節點來確定。而劉等人提出的檢測并移除受害信標節點的技術[3]使節點的定位機制更加完善。相對來說,檢驗節點聲明位置信息的準確性與定位節點位置信息又是不同的研究方向。前者注重的是已知位置的檢測,而后者是對未知位置的確認。也有一些研究者已經把位置信息作為安全認證的重要因素。
張等人利用位置信息與身份信息相結合建立密鑰的方式實現了傳感網絡中節點間的安全認證[4]。與此相類似,文獻[5]利用鄰近節點的身份作為位置信息建立了相關的認證機制。針對文獻[4]存在的密鑰受害偽造(KCI)攻擊,文獻[6]又建立了一種新的基于位置的認證機制。這些方法均利用節點的位置信息作為認證機制中的一個檢測因素,并且結果證明他們能夠很好地抵抗某些惡意的攻擊。然而這些機制均基于節點位置的不變性,在節點移動的動態網絡中這些機制就不能再發揮作用了。
不同于前面提到的安全定位技術和靜態傳感器網絡中基于位置的認證機制,重點在于:使位置信息在動態網絡的安全認證中也能發揮重要的作用。本文主要貢獻:在動態網絡中建立了基于位置的安全認證機制;證明了機制對普遍攻擊的抵抗性及有關性能上的優勢。
對的特性概述如下:p、q是兩個大素數;G1是加法群的q-階子群,G2是乘法群的q-階子群。假定在G1和G2中計算離散對數問題是困難的。對于一個映射ê:?G1×?G1→G2,具有三個特性。
(1)雙線性:ê(aP,bQ)=ê(P,Q)ab,?P,Q∈G1,?a,b∈Zq;
(2)非退化性:如果?P,Q∈G1且都不是G1的單位元,則?ê(P,Q)≠1;
(3)可計算性:如果?P,Q∈G1,則ê(P,Q)可以在多項式時間內有效計算。
雙線性映射ê可以由Weil映射和Tate映射得到。
網絡中涉及的參與者包括:權威機構(TA)、節點、錨節點(AN)、基站(BS)。
權威機構:主要完成部署階段的工作。
節點:通信范圍為R,具有定位能力,但是能量有限。
錨節點:為可信節點,通信范圍為r,r>R且整體性能優于普通節點,具有定位能力,可以對普通節點進行位置檢測;設定節點附近有足夠的錨節點來進行位置的檢測。
基站:攜帶主密鑰k,為節點提供密鑰更新。完備的硬件設備可以保證其安全性。
節點i的相關信息表示如下:身份信息IDi,當前位置Li,以及參與建立私鑰的位置信息li,移動速度范圍[0,vmax]。錨節點AN的身份為IDAN,當前位置LAN。網絡部署前,TA進行下面的操作:
(1)根據2.1節,生成對參數(p,q,E/Fp,G1,G2,ê),并選擇G1中的一個生成元W。
(2)選擇兩個加密hash函數:H,字符串映射到G1中的非零元素;h,任意的輸入映射到固定長度的輸出。
(4)為每個節點i計算基于身份的密鑰,IKi=kH(IDi)∈G1;錨節點AN的密鑰IKAN=kH(IDAN)∈G1。
每個節點預先攜帶公共系統參數:(p,q,E/Fp,G1,G2,,H,h,W,Wpub)以及基于身份的私鑰。由于在G1中解決DLP是困難的,所以由(W,Wpub)或是(ID,IKA)推斷k是不可行的。因此,即使節點受害,敵手也不能推斷出其他節點的私鑰。
節點i和錨節點AN在網絡中部署后,利用預先加載的網絡主密鑰k生成基于位置的密鑰LBK(Location-Based Key)LKi=kH(IDi||li),LKAN=kH(IDAN||lAN)之后將主密鑰擦出。
鄰近節點間的認證過程和文獻[4]中基于位置的鄰居認證過程是類似的。不同的是動態網絡中的節點持有兩個位置信息:一個為當前位置;另一個為建立密鑰對應的位置。
節點A和B的鄰近認證過程如下所示。
消息(1)A→*,消息內容:IDA,lA,nA
節點A廣播認證請求消息,包括身份信息IDA,與LBK相關的位置lA,隨機數nA。
消息(2)B→A,消息內容:IDB,lB,nB,hKB,A(nA||nB||1)
節點B接收到A的認證請求后,首先檢測不等式||lA-LB||≤R是否成立。如果不等式不成立,節點B認為節點A不在通信范圍內,放棄此次通信。而節點A??在某個時間段沒收到回復的話,將認為基于位置的私鑰需要更新,發出密鑰更新的請求(3.3節中進行討論)。如果不等式成立,節點B計算共享密鑰KB,A,接著將包括身份信息IDB、位置信息lB、隨機數nB和消息認證碼hKB,A(nA||nB||1)的信息發送給A?。其中:

消息(3)A→B,消息內容:hKA,B(nA||nB||2)
A?接收到B的回復后,首先檢測不等式||LA-lB||≤R是否成立。如果不等式不成立,A?將放棄通信,暗示B需要更新密鑰。反之,A?將利用共享密鑰KA,B檢測消息認證碼。根據2.1節中對的性質,如果KA,B=KB,A,A?計算的消息認證碼和B發出的認證碼將保持一致,那么認定B為一個認證的鄰近節點。其中:
KA,B=ê(LKA,H(IDB,lB))
節點A?確定B為認證的鄰近節點后回復消息hKA,B(nA||nB||2)。B收到回復后,使用與A?相同的認證過程檢測A?是否為認證鄰近節點。
3.3.1 密鑰更新的必要性
在3.2節鄰近節點的認證過程中,如果節點A廣播消息后,在某個時間段內沒有收到其他節點的回復,A將認為基于位置的私鑰不再滿足通信的要求,需要進行基于位置的密鑰更新。
如圖1所示:實心圓處表示節點A建立LBK的位置;空心圓表示節點A移動后的位置;五角星表示節點B;箭頭指向的范圍為通信范圍R。在圖1中,節點A移動前的信息為:IDA,lA,LA,LKA,其中lA=LA,移動后的信息為:IDA,lA,L(A),LKA。當節點A與節點B進行相互認證時,節點B首先驗證不等式||lA-LB||≤R,其中lA為節點A建立LKA的位置,LB為節點B的當前位置。而節點A檢測的是B發送的建立LKB的lB與其當前位置LA之間的距離。從圖1可以看出,當節點A移動到空心圓處時,利用原來的信息IDA,lA,LKA是仍然可以和節點B進行通信的。也就是說與節點A移動前和移動后交叉的通信區域內的節點通信時,節點A不需要更新密鑰。而一旦交叉的范圍內沒有節點或是沒有交叉范圍時,節點A只能通過密鑰更新才能和其他節點再次通信。

圖1 利用原來的LBK通信示意圖(節點A移動后)
3.3.2 密鑰更新過程
節點A移動后想要發起新的通信,首先要計算一下最近一次建立LBK的位置信息lA與當前位置信息L(A)的距離,根據距離的不同將密鑰更新的時機分為兩種情況。
(1)當||lA-L(A)||<2R時:節點A在一段時間內沒有收到回復信息,將發起密鑰更新請求。
(2)當||lA-L(A)||≥2R時:節點A確定距離后直接發起密鑰更新請求。
節點A密鑰更新過程如下:
消息(1)A→AN,消息內容:?IDA,lA,L(A),nA
節點A向錨節點發出密鑰更新請求信息,包括身份信息IDA、建立密鑰的位置信息lA、當前位置信息L(A)以及隨機數nA。
消息(2)AN→BS,消息內容:?IDA,LA,T
利用相關定位技術[7]或檢測技術[8],錨節點確定節點A當前位置L(A)的準確性。如果L(A)可靠,錨節點則記錄時間T,并將節點的相關信息發給BS;反之,則放棄更新請求。
消息(3)BS→A,消息內容:?LKA
接收到更新請求后,BS利用攜帶的主密鑰k為請求更新的節點A生成新的基于位置的密鑰LKA=kH(IDA||L(A)),然后經加密后發送給節點A。
4.1.1 蟲洞攻擊
在蟲洞攻擊中,攻擊者并不危害任何節點而是與遠距離的攻擊者相勾結建立一條蟲洞鏈路。這條鏈路一般是建立在網絡中兩個遠距離位置間的超帶寬、低延時信道。通過擾亂路由選擇操作達到最終的攻擊目的。雖然有很多方案能抵抗這種攻擊,但是這些方案不是受限于嚴格的時間同步,需要強大的硬件支持[2],就是需要復雜的計算驗證。而基于位置的認證機制要相對簡單得多,只接收來自認證節點的路由選擇消息就能排除攻擊的危害。
4.1.2 節點復制攻擊
當一個良性節點被攻陷后,攻擊者很可能會發起節點復制攻擊。如果網絡不具有抵抗節點復制攻擊的能力,大量的復制節點部署到網絡中,必定會使整個網絡癱瘓。因為攻擊者持有節點全部的私鑰信息,所以節點復制攻擊的危害是非常嚴重的。
文獻[9]從時間域和空間域兩個角度建立了抵抗節點復制攻擊的機制SDD和TDD,在正確的參數設置后能夠有效地檢測出節點復制攻擊是否存在的。但是SDD和TDD機制要求節點必須記錄移動過程中遇到的所有鄰近節點的信息,并且每次將記錄加入到表之前都要驗證是否存在矛盾信息。這勢必會給能量有限的節點帶來不小的開銷。而在基于位置的安全認證機制中,將節點復制攻擊的檢測任務轉移給了BS,節省了節點在這方面的開銷。根據3.3.1小節密鑰更新的必要性,網絡中的節點在移動一段距離后必定要提交密鑰更新請求,BS在對其進行密鑰更新前根據表1中記錄的信息判斷出節點復制攻擊是否存在。如果節點復制攻擊存在就會放棄此次節點的更新請求。
假設對節點A進行節點復制攻擊的檢測,方法即是判斷表1中節點A的記錄信息是否存在矛盾。這里遵循的準則是:節點A兩次更新密鑰時兩個位置間的距離不可能大于以最大速度vmax在這個對應時間段內通過的距離。用不等式表示為:

BS對每個需要密鑰更新的節點進行信息的記錄,如表1所示。

表1 BS對請求密鑰更新的節點記錄表
4.1.3 位置偽造攻擊和女巫攻擊
為了和網絡中的某個節點通信,攻擊者可能會偽造一個在節點通信范圍內的位置希望能夠通過驗證。雖然攻擊者聲稱的位置能夠通過不等式的驗證,但是缺少位置對應的LBK就沒有辦法通過后面的認證了。
女巫攻擊表現為一個節點偽裝成多個節點或是簡單的聲明多個假身份。它會嚴重影響網絡的很多方面,如路由選擇、資源分配、數據聚合還有分布式存儲等。然而在此機制中女巫攻擊并不會帶來威脅,因為惡意節點在企圖偽造合法節點時并不會擁有基于節點的身份信息和位置信息建立的LBK,也就不能通過與合法節點間的相互認證。因此,女巫攻擊在此機制中能夠很容易地被抵抗。
4.2.1 有效性分析
大部分基于對的加密系統需要滿足的條件如下[10]:一個橢圓曲線E(Fq)的子群,具有足夠大的素數階p;一個足夠大的有限域Fqk,其中q是定義橢圓曲線的域的大小,k是階。為了確保DLP在G1和G2的難解性,需要滿足p>2160并且qk>21024。
認證階段:由于基站和錨節點具有更完備的硬件設施,因此本文主要考慮最底層的節點在基于位置的認證機制中的計算開銷。在鄰近節點認證階段,節點主要的計算開銷是1個對運算和1個映射到點的哈希運算。采用M IRACL庫中的Tate對,在配置為主頻1.60 GHz,內存1 GB的計算機上,對512 bit的數據進行對運算和映射到點的哈希運算的時間分別為20.766 m s和2.65 ms。這對于實時的操作來說是完全可以接受的。
密鑰更新階段:從節點發出密鑰更新請求到獲得新的密鑰需要經過4個階段,分別是AN對節點位置信息的檢測;AN轉發請求消息到BS;BS為節點生成新的密鑰,并進行加密發送給節點;節點解密獲得新的密鑰。這里認為網絡具有足夠大的帶寬,忽略通信延遲對密鑰更新過程的影響。針對不同的方法,對節點位置信息準確檢測需要的時間也會有所不同。為了簡單起見,設想檢測方法為:判斷兩點之間的距離是否滿足要求。相對于密碼學中大數的計算,這將占用很少的時間。在AN對節點進行位置檢測前需要對節點進行認證,因此需要1個對運算和1個映射到點的哈希運算。BS為節點生成新的密鑰,需要進行1個映射到點的哈希運算和1個點乘運算,加密過程中需要進行1個點乘,1個SHA-1,1個映射到點的哈希,1個異或運算。節點解密的過程中需要進行1個點乘運算,1個SHA-1,1個異或運算。按照前面的實驗環境,密鑰更新的過程大約需要48.46m s。這對需要通信的節點并不會造成困擾。
因此,基于位置的安全認證機制在保證網絡中節點有效通信的前提下,實現了位置信息在動態網絡認證中的優勢。
4.2.2 對比分析
如表2所示,在認證階段節點的計算開銷和文獻[4-5]是一樣的,雖然文獻[6]中解決了文獻[4]存在的密鑰受害偽造(KCI)攻擊,并且利用標量乘法代替對和哈希函數的計算達到了計算開銷的減少,但是它對動態節點并不適用。而本機制中的密鑰更新使得KCI攻擊變得沒有意義。因為,即使基于位置的密鑰泄露,密鑰更新后也不會威脅到以后的通信。

表2 計算比較
與其他的動態網絡機制相比,本機制的優勢在于引入了基于位置的認證機制,使得網絡更加安全可靠,正如4.1安全分析中所示。例如:與動態網絡[9]中的機制相比,達到成功檢測攻擊的同時并將節點的計算開銷和存儲開銷轉移給了BS。這對于能量有限的節點來說減少了很大的負擔。對于蟲洞攻擊,本機制避免了通常安全機制所依靠的時間同步。只要節點只與鄰近節點通信就能自然避免蟲洞攻擊的威脅。因為機制建立的密鑰是與位置綁定的,位置偽造攻擊與女巫攻擊也不能對網絡產生攻擊。由此可以看出位置信息在網絡安全中所表現出的突出貢獻。
由于移動網絡中節點位置信息的可變性,將位置信息作為認證條件變得很困難,文中基于位置的動態網絡安全認證機制彌補了這方面的不足。此機制不僅適用于節點移動的網絡,也可以應用到靜態的網絡,并且具有良好的可擴展性。當然,動態網絡的安全認證機制中表現出的優勢也是需要代價的。從硬件方面來說,節點需要具有定位的能力;從網絡部署上來說,引入了可信的錨節點和集中式的BS。在今后的工作中,將會對這些方面進行更深入的分析。
首次提出了基于位置的動態網絡安全認證機制,發揮出了動態節點位置信息的優勢。分析了認證機制對蟲洞攻擊、節點復制攻擊、位置偽造攻擊以及女巫攻擊的抵抗能力,并說明了本文認證機制的良好性能。
[1]He D,Cui L,Huang H.Design and verification of enhanced secure localization scheme in wireless sensor networks[J].IEEE Transactions on Parallel and Distributed Systems,2009,20(7):1050-1058.
[2]Zhang Y,Liu W,Fang Y,et al.Secure localization and authentication in ultra-wide band sensor networks[J].IEEE JSelected Areas in Communications,2006,24(4):829-835.
[3]Liu D,Ning P,Du W.Detecting malicious beacon nodes for secure location discovery in wireless sensor networks[C]//Proc the 25th Int’l Conf on Distributed Computing Systems(ICDCS’05),2005:609-619.
[4]Zhang Y,Liu W,Fang Y.Location-based compromise-tolerant security mechanisms for wireless sensor networks[J].IEEE Journal on Selected Areas in Communications,2006,24(2):247-260.
[5]Xue K,Xiong W,Hong P,et al.NBK:A novel neighborhood based key distribution scheme for wireless sensor networks[C]//Proceedings of International Conference on Networking and Services,2009.
[6]Duan M,Xu J.An efficient location-based com promise tolerant key manament scheme for sensor networks[J].Information Processing Letters,2011,111(11):503-507.
[7]葉阿勇,馬建峰,裴慶祺.無線傳感器網絡節點定位安全研究進展[J].通信學報,2009,30(10A):76-84.
[8]Chiang J,Haas J,Hu Y.Secure and precise location verification using distance bounding and simultaneous multilateration[C]//Proceedings of ACM Conference on Wireless Network Security Supersedes Wise and SASN,2009.
[9]Xing K,Cheng X.From time domain to space domain:detecting replica attacks in mobile ad hoc networks[C]//Proceedings of Technical Program at IEEE INFOCOM,2010.
[10]Sun J,Zhang C,Zhang Y,et al.SAT:a security architecture achieving anonymity and traceability in wireless mesh networks[J].IEEE Transactions on Dependable And Secure Computing,2011,8(2):295-307.