杜志強,沈玉龍,馬建峰,周利華
(1.西安電子科技大學 計算機學院,陜西 西安 710071;2.西安電子科技大學 計算機網(wǎng)絡與信息安全教育部重點實驗室,陜西 西安 710071)
無線傳感器網(wǎng)絡由大量具有感知能力的節(jié)點構成,以ad hoc方式自組成網(wǎng),為用戶提供數(shù)據(jù)的收集、處理、傳輸?shù)确?。訪問控制機制用于保護傳感器網(wǎng)絡數(shù)據(jù),控制合法用戶的訪問權限,禁止非法用戶的訪問,是傳感器網(wǎng)絡的基本安全服務之一。
現(xiàn)有的傳感器網(wǎng)絡訪問控制機制分為3類:①基于公鑰密碼機制的。Benenson等提出能夠抵抗節(jié)點捕獲攻擊的分布式機制[1~3],Jiang等提出基于SCK密碼系統(tǒng)的機制[4],Wang等提出基于現(xiàn)實攻擊模型的分布式機制[5]。該類機制存在開銷大,認證延遲長,對于DoS攻擊非常脆弱的缺點。②基于對稱密碼機制的。Banerjee等提出完全基于對稱密碼學的訪問控制機制[6],Zhang等提出一系列限制和撤銷用戶權限的機制[7],Maccari等提出基于門限密碼的訪問控制機制[8]。該類機制的特點是運算效率較高。③其他類型。Yoon等提出能夠保護用戶隱私的用戶認證方案[9],Woon等提出動態(tài)的用戶認證方案[10]。上述機制均要求用戶在訪問網(wǎng)絡時處于靜止狀態(tài),不適用存在隨機移動用戶的傳感器網(wǎng)絡。
傳感器網(wǎng)絡中用戶的移動通常是隨機的,不受網(wǎng)絡控制,例如戰(zhàn)場中的士兵、坦克等。本文首次提出適用于隨機移動用戶的傳感器網(wǎng)絡訪問控制機制。實驗和分析表明,該機制既適用移動用戶,也適用靜止用戶,計算、通信、存儲開銷低,能夠抗節(jié)點捕獲、重放、DoS等攻擊。
本文的研究基于以下假設:①傳感器節(jié)點不具備抵抗物理攻擊的能力;②用戶不可攻破;③網(wǎng)絡已設計密鑰預分發(fā)機制,節(jié)點間加密通信;④網(wǎng)絡采用支持用戶移動性的路由協(xié)議[11,12]。
由于傳感器網(wǎng)絡存在節(jié)點捕獲攻擊,基于單一節(jié)點的訪問控制模式存在極大的安全隱患[2]。集中式的訪問控制模式需要節(jié)點頻繁轉(zhuǎn)發(fā)數(shù)據(jù),易導致某些節(jié)點的資源被快速耗盡。為抵抗節(jié)點捕獲攻擊,均衡節(jié)點開銷,本文采取分布式的訪問控制模式,由用戶單跳節(jié)點構成臨時網(wǎng)關對用戶進行訪問控制,并轉(zhuǎn)發(fā)用戶的訪問請求及應答數(shù)據(jù)。
網(wǎng)絡模型:傳感器網(wǎng)絡由大量靜止節(jié)點構成,用戶僅能與其單跳節(jié)點通信,將用戶的通信半徑記做R,該值根據(jù)具體用戶的通信能力確定。用戶的位置隨用戶的移動不斷變化,如圖1所示,稱以用戶當前位置為圓心、以R為半徑的圓形區(qū)域為用戶當前區(qū)域,記做 COMMU。COMMU隨用戶的移動而變化。將COMMU內(nèi)的節(jié)點稱為用戶本地節(jié)點,記作sc,假設sc的個數(shù)為n。由sc構成傳感器網(wǎng)絡的臨時網(wǎng)關對用戶進行訪問控制。稱COMMU以外用戶兩跳通信范圍以內(nèi)的區(qū)域為信息覆蓋區(qū)域,記作COMMR-2hop。用戶認證信息將被sc周期性地擴散到COMMR-2hop,將此區(qū)域內(nèi)的節(jié)點記作sR-2hop。由于傳感器網(wǎng)絡通常部署在較為廣闊的地理區(qū)域,攻擊者無法捕獲大量節(jié)點,本文假設被攻擊者捕獲的本地節(jié)點數(shù)量至多為p(p≤n/2)個。
圖1 網(wǎng)絡模型
首先歸納出當傳感器網(wǎng)絡中存在隨機移動的用戶時,設計訪問控制機制將面臨的問題。然后設計THC算法,采用周期性信息覆蓋的方式,給出問題的解決方案。定義 THC算法中的變量如下:
U:網(wǎng)絡用戶;
vmax:用戶最快移動速度;
T:用戶有效期。為某一時間段,例如1 000s;
td:認證延遲或者用戶位置信息廣播周期,td<<T;
tc:節(jié)點本地時間;
LU:用戶位置信息。
對于傳感器網(wǎng)絡中的隨機移動用戶,由于認證延遲,設計訪問控制機制將面臨2個問題:①合法用戶在移動時無法獲得認證。以圖1為例,假設用戶U在位置i發(fā)起認證請求,認證結束時移動到位置j。U在位置i時的本地節(jié)點持有其認證信息,但在位置j時將有部分本地節(jié)點沒有其認證信息,若這部分節(jié)點的數(shù)量大于本地節(jié)點總數(shù)的 1/2,即使合法用戶也無法獲得網(wǎng)絡的認證。②用戶的移動將導致重復認證。以圖1為例,假設U在位置i獲得認證,在有效期T內(nèi),當U移動到位置j并訪問網(wǎng)絡時,因部分本地節(jié)點沒有其認證信息,若這部分節(jié)點的數(shù)量大于本地節(jié)點總數(shù)的1/2,將導致U的合法身份無法延續(xù)。想要訪問網(wǎng)絡,U必須重新獲得認證,重復認證將浪費大量的網(wǎng)絡資源。
THC算法分為2部分:THC1和THC2,分別針對上節(jié)問題①和②進行設計。算法基于以下假設:vmaxtd≤R,即時間td內(nèi),用戶最大移動距離不超過其通信半徑R。
THC1:用戶認證時,若本地節(jié)點 sc成功認證用戶U,sc分別將本地時間tc保存為to,并把PU發(fā)送到信息覆蓋區(qū)域COMMR-2hop,節(jié)點sR-2hop收到PU后將其保存,并各自把tc保存為to。
THC2:獲得認證后,在有效期T內(nèi),U每隔td(若該時間內(nèi)用戶的位移x>0)周期性地向COMMU廣播LU。收到LU后,COMMU內(nèi)首次落入用戶通信區(qū)域的節(jié)點將PU中的T替換為(T-(tc-to)),并將PU擴散到首次進入用戶COMMR-2hop區(qū)域的節(jié)點,這些節(jié)點收到PU后將其保存,并各自將tc保存為to。
本機制分為初始化和訪問控制2個階段。初始化階段用于基站(BS)構建單向鏈和 Merkle散列樹等訪問控制所需的安全機制。訪問控制階段實現(xiàn)對用戶的認證和授權。以下“H”均表示無限門單向函數(shù)。
利用H,BS首先構造n(n>0)條單向鏈,分別記作ki(i∈[1,n]),然后構建一棵Merkle散列樹,樹的葉子節(jié)點由用戶參數(shù)PU經(jīng)過H運算生成。其中PU由訪問控制列表ACL和單向鏈的鏈頭ki,0構成,ACL包含用戶的ID、有效期T、授權訪問的數(shù)據(jù)類型DT等信息。稱此樹中從PU到樹根這條路徑上所有節(jié)點的兄弟節(jié)點構成的集合為用戶證書,記作PCert。網(wǎng)絡部署之前,BS將樹根R預分發(fā)給所有網(wǎng)絡節(jié)點。如圖2所示,以PU=S4為例,其用戶證書PCert={S4,K3,K12,K58}。節(jié)點根據(jù)樹根 K18和等式 H(H(H(H(S4)‖K3)‖K12)‖K58)=K18即可驗證用戶的合法性。
圖2 8個用戶參數(shù)的Merkle樹
4.2.1 認證
出示證書:用戶U從BS處獲得證書PCert(以圖 2中 PCert={S4,K3,K12,K58}為例)和單向鏈(以ki為例)后,在訪問網(wǎng)絡時首先廣播PCert。
認證:收到 PCert后,本地節(jié)點 sc根據(jù)等式H(H(H(H(S4)‖K3)‖K12)‖K58)=K18判斷證書的合法性,并將各自的判斷結果投票,若證書有效,投“pass”票,否則不投票。投票在COMMU內(nèi)轉(zhuǎn)發(fā),sc各自收集“pass”票,若票數(shù) m≥n/2(n為 sc的個數(shù)),則承認U合法,并保存用戶參數(shù)S4。認證成功后,根據(jù)THC算法,sc各自將本地時間tc保存為to,并將S4擴散到區(qū)域COMMR-2hop。sR-2hop收到PU后將其保存,并同樣將tc保存為to。
4.2.2 授權
訪問請求:獲得認證后,U將訪問請求Q連同ID以及ki,1用ki,0加密,將Eki,0(Q‖ID‖ki,1)廣播到網(wǎng)絡中。如果用戶U是第i次訪問網(wǎng)絡,則將鏈值ki,0和ki,1分別替換為ki,i-1和ki,i即可。本文密碼運算采用RC5算法[13]。
授權:sc將Eki,0(Q‖ID‖ki,1)’解密,得到(Q’‖ID’‖ki,1’)后,首先根據(jù) ki,0以及等式 ki,0=H(ki,1’)驗證 ki,1’,若等式不成立,拒絕用戶訪問。若成立,sc將該用戶PU中的ki,0替換成ki,1。然后根據(jù)ACL,利用tc≤to+T判斷U是否在有效期內(nèi),利用DT判斷Q’的合法性,若有一項不符,拒絕用戶訪問。
轉(zhuǎn)發(fā)用戶訪問請求與應答數(shù)據(jù):對于合法的Q,確定目的訪問節(jié)點sq后,根據(jù)路由算法,在sc中選取一節(jié)點作為轉(zhuǎn)發(fā)節(jié)點,如sci,然后用與sq共享的密鑰Ksci,sq將Q加密,將EKsci,sq(Q)轉(zhuǎn)發(fā)給sq。收到EKsci,sq(Q)后,sq將其解密,并確定應答數(shù)據(jù) Res,并根據(jù)U的位置選一本地節(jié)點為目的節(jié)點,如scj,利用Ksq,scj將Res加密發(fā)送給scj,scj收到EKsq,scj(Res)并解密后,將Res轉(zhuǎn)發(fā)給U。
基于 THC算法,本文提出基于信息覆蓋的傳感器網(wǎng)絡訪問控制機制。本節(jié)對 THC算法以及基于信息覆蓋的訪問控制機制的性能進行分析。
5.1.1 對用戶移動性的支持
THC算法采取信息覆蓋的方式,擴展傳感器網(wǎng)絡對移動用戶的訪問控制能力。算法通過周期性地將用戶認證信息擴散到其當前通信區(qū)域,使用戶本地節(jié)點始終持有用戶認證信息,從而在用戶移動過程中既能對其進行認證,又能在認證成功后維持其合法身份,對用戶的移動性提供了充分的支持。此外,THC算法能夠與現(xiàn)有的分布式訪問控制機制[1~6]相結合,擴展此類機制對移動用戶的訪問控制能力。
5.1.2 時間控制
信息覆蓋過程中,若節(jié)點收到用戶參數(shù),則把當前時間保存為to。若發(fā)送用戶參數(shù),則用(T-(tc-to))更新用戶參數(shù)中的T后再發(fā)送。根據(jù)接收用戶參數(shù)的時間 to,以及發(fā)送用戶參數(shù)的時間tc,節(jié)點間能夠有效控制用戶的剩余有效期,無需時間同步。
5.1.3 節(jié)點數(shù)量估計
1) 估計用戶兩跳通信范圍的節(jié)點數(shù)量
如圖3(a)所示,設j是用戶U的單跳(1-hop)鄰居節(jié)點,兩者距離為 x(0≤x≤R),R表示U的單跳通信半徑。據(jù)文獻[14]可知,距離x的概率分布函數(shù)是F(x)=P r(d isance≤x)=x2R2,因此其概率密度函數(shù)f(x)=F'(x)=2xR2。用戶兩跳通信范圍的覆蓋面積 S2-hop=π(x+R)2,其平均值為
圖3 節(jié)點數(shù)量估計
2) 估計用戶移動時參與用戶信息覆蓋的節(jié)點數(shù)量
如圖3(b)所示,設經(jīng)過td后用戶從位置i移動到 j,移動距離為 x(0≤x≤R)。區(qū)域abcd已在td之前進入用戶單跳通信范圍,因此不參與用戶信息覆蓋,只有首次落入用戶單跳通信區(qū)域的節(jié)點(區(qū)域bcde內(nèi)的節(jié)點)才需發(fā)送用戶參數(shù)。設區(qū)域bcde面積為Sbcde。用戶的移動距離為x,其概率密度函數(shù)為f(x)=F '(x)=2xR2,據(jù)此計算區(qū)域 abcd的面積為
其平均值為
因此,區(qū)域 bcde的平均面積Sbcde=πR2-Sabcd≈0.4315πR2,由此可知信息覆蓋過程中參與發(fā)送用戶參數(shù)的本地節(jié)點數(shù)該值不足本地節(jié)點總數(shù)的一半。同樣,只有首次進入用戶兩跳通信范圍的節(jié)點,即圖 3(b)中區(qū)域b’ed’e’中的節(jié)點才需接收并保存用戶參數(shù),按照同樣的方法,計算可得信息覆蓋時接收用戶參數(shù)的節(jié)點數(shù) nr=0.4315 ·n2-hop=1.246 3n 。
5.2.1 安全性
訪問控制機制作為傳感器網(wǎng)絡的基本安全服務之一,其安全性尤為重要。表1給出了本機制與現(xiàn)有機制的部分安全性分析結果。
1) 認證與授權
機制利用Merkle散列樹認證用戶的合法性,利用單向鏈驗證用戶訪問請求的新鮮性,根據(jù)ACL判斷用戶的有效期及其訪問請求的合法性,確保只有合法的用戶才能訪問授權的數(shù)據(jù),能夠抵抗重放以及針對節(jié)點的DoS攻擊。本機制自身的安全性完全依賴Merkle樹和單向鏈機制。
表1 安全性
2) 抗節(jié)點捕獲攻擊
傳感器網(wǎng)絡中存在節(jié)點捕獲攻擊,攻擊者捕獲節(jié)點后能夠完全控制其行為?;趩我还?jié)點的訪問控制模式中由一個節(jié)點構成網(wǎng)絡的訪問控制網(wǎng)關,若該節(jié)點被捕獲,攻擊者通過控制該節(jié)點能夠隨意訪問網(wǎng)絡數(shù)據(jù),存在很大的安全隱患。為抵抗這類節(jié)點捕獲攻擊,本方案采用由本地節(jié)點構成訪問控制網(wǎng)關的方式,由n個節(jié)點共同對用戶進行訪問控制,能夠容忍最多p(p≤n/2)個節(jié)點被捕獲,對于抵抗節(jié)點捕獲攻擊非常有效。
3) 加密通信
無線通信易遭攻擊者竊聽、篡改甚至插入惡意信息[15],本文采取將用戶與節(jié)點以及節(jié)點間的通信全部加密的方式,保證通信數(shù)據(jù)的保密性和完整性。
5.2.2 開銷
開銷是設計傳感器網(wǎng)絡協(xié)議時首要考慮的問題,主要包括:通信開銷、存儲開銷、計算開銷等。為便于分析,假設文中BS構造的Merkle樹具有t(t≥1 024)個葉子節(jié)點,節(jié)點大小均為m bit;假設PU中用戶ID、有效期T、所能訪問的數(shù)據(jù)類型DT均為l bit,單向鏈值為m bit;假設LU為l bit。因此,|PCert|=mlgtbit,|PU|=(m+3l)bit。
1) 通信開銷
不失一般性,以下以單一用戶傳感器網(wǎng)絡為例進行說明。傳感器節(jié)點發(fā)送和接收數(shù)據(jù)時所消耗能量不同[16],假設節(jié)點發(fā)送和接收1bit數(shù)據(jù)消耗的能量分別為Es和Er。
用戶認證過程中,本地節(jié)點產(chǎn)生的總通信開銷為(nmErlgt+n(m+3l)Es),其中包括:①接收用戶證書PCert產(chǎn)生的開銷n|PCert|Er=nmErlgt;②發(fā)送用戶參數(shù)產(chǎn)生的開銷 n|PU|Es=n(m+3l)Es。用戶兩跳鄰居節(jié)點的通信開銷為1.883n|PU|Er=1.883n(m+3l)Er,主要用于接收用戶參數(shù)。用戶一旦獲得認證,有效期T內(nèi),其身份無需重復認證,相對于頻繁認證用戶身份的機制[2,5],本機制節(jié)省認證開銷。
訪問網(wǎng)絡過程中,用戶移動越頻繁,信息覆蓋所產(chǎn)生的通信開銷越大。完成一次信息覆蓋的總通信開銷為CCs=0.431 5n(m+3l) Es+1.2463n(m+3l)Er。其中本地節(jié)點的開銷為(nlEr+0.4315n(m+3l)Es),包括:①接收用戶位置信息產(chǎn)生n|LU|Er=nlEr;②擴散用戶參數(shù)產(chǎn)生ns|PU|Es=0.431 5n(m+3l)Es。兩跳節(jié)點的開銷為nr|PU|Er=1.246 3n(m+3l)Er,主要用于接收用戶參數(shù)。對于靜止用戶,節(jié)點間不需要覆蓋用戶信息,開銷為0。而對于一直處于移動狀態(tài)的用戶,通信開銷達到最大值,為(T/td)CCs。
信息覆蓋所產(chǎn)生的通信開銷將被均衡到所有曾進入用戶通信區(qū)域的節(jié)點上。以一個1 000m×1 000m,存在200個靜態(tài)節(jié)點,節(jié)點通信半徑為70m的傳感器網(wǎng)絡為例。圖 4給出了某隨機移動用戶在訪問該網(wǎng)絡時的移動軌跡。設m=64bit,l=32bit,以曾進入該用戶通信區(qū)域的節(jié)點 a、b、c為例,在用戶訪問過程中,用于覆蓋用戶信息所產(chǎn)生的通信開銷分別為(320Er+224Es)、224Er、(256Er+224Es)。因只有進入用戶兩跳通信范圍內(nèi)的節(jié)點參與信息覆蓋,兩跳通信范圍外節(jié)點不產(chǎn)生開銷。
圖4 用戶的移動軌跡
2) 存儲開銷
單一用戶時,節(jié)點的存儲開銷為(2m+3l)bit,包括①一個mbit的Merkle樹的根,②(m+3l)bit的用戶參數(shù)。當并發(fā)用戶數(shù)為q時,開銷增至((q+1)m+3ql)bit。以q=600,m=64bit,l=32bit為例,節(jié)點需存儲96 064bit,約11.8kbyte的用戶認證信息。
3) 計算開銷
表2給出在單一用戶時,本機制與現(xiàn)有部分機制的節(jié)點計算開銷,其中h表示單向散列運算,VSig表示數(shù)字簽名驗證計算,XOR表示XOR運算,SK表示對稱密鑰運算。
表2 計算開銷
用戶認證時,以一棵具有 t個葉子節(jié)點的Merkle樹為例,采用本機制節(jié)點的計算開銷為(1+lgt)h。用戶訪問網(wǎng)絡時,節(jié)點根據(jù)等式ki=Hm(ki+m)驗證用戶訪問請求的合法性,需m次單向函數(shù)運算,其中 m=tdf,f表示用戶訪問網(wǎng)絡的頻率。因單向函數(shù)的運算效率很高,相對于現(xiàn)有機制[2,5,7,9,10],本機制的計算開銷非常小。
上述分析表明,本機制具有以下優(yōu)點:①能夠?qū)σ苿又械挠脩暨M行訪問控制,抵抗節(jié)點捕獲、重放、DoS等攻擊;②相對于現(xiàn)有機制,各項開銷均較低。
本文首先提出 THC算法,擴展傳感器網(wǎng)絡對隨機移動用戶的訪問控制能力?;?THC算法以及單向鏈和Merkle散列樹機制,提出基于信息覆蓋的傳感器網(wǎng)絡訪問控制機制。據(jù)了解,此機制是第一個能夠適用隨機移動用戶的傳感器訪問控制機制。分析和實驗表明,本機制既適用移動用戶,也適用靜止用戶,具有計算、通信、存儲開銷低,抗節(jié)點捕獲、重放、DoS等攻擊的特性。本文的進一步工作是通過控制 THC算法中的參數(shù)擴散方式節(jié)省通信開銷。
[1] BENENSON Z,GARTNER F C,KESDOGAN D.An algorithmic framework for robust access control in wireless sensor networks[A].Second European Workshop on Wireless Sensor Networks[C].2005.158-165.
[2] BENENSON Z,GEDICKE N,RAIVIO O.Realizing robust user authentication in sensor networks[A].Workshop on Real-World Wireless Sensor Networks[C].Stockholm Sweden,2005.135-142.
[3] BENENSON Z.Authenticated querying in sensor networks[A].Per-Com Workshops 2006[C].Karlstad Sweden,2006.644-647.
[4] JIANG C M,LI.B,XU H X.An efficient scheme for user authentication in wireless sensor networks[A].21st International Conference on Advanced Information Networking and Applications Workshops[C].Niagara Falls,Canada,2007.438-442.
[5] WANG H,LI Q.Distributed user access control in sensor networks[A].IEEE International Conference on Distributed Computing in Sensor Systems[C].San Francisco,CA.USA,2006.305-320.
[6] BANERJEE S,MUKHOPADHYAY D.Symmetric key based authenticated querying in wireless sensor networks[A].Proceedings of the First International Conference on Integrated Internet Ad Hoc and Sensor Networks[C].Nice France,2006.
[7] ZHANG W S,SONG H,CAO G H.Least privilege and privilege deprivation: towards tolerating mobile sink compromises in wireless sensor networks[A].MobiHoc’05[C].2005.378-389.
[8] MACCARI L,MAINARDI L,MARCHITT M A,et al.Lightweight,distributed access control for wireless sensor networks supporting mobility[A].ICC '08[C].2008.1441-1445.
[9] YOON S,LEE H,JI S,et al.A user authentication scheme with privacy protection for wireless sensor networks[A].The 2nd Joint Workshop on Information Security[C].Tokyo,Japan,2007.
[10] WONG K H,ZHENG Y.CAO J N,et al.A dynamic user authentication scheme for wireless sensor networks[A].Proceedings of the IEEE International Conference on Sensor Networks,Ubiquitous,and Trustworthy Computing[C].2006.244-251.
[11] HUANG Q,BAI Y,CHEN L.An efficient route maintenance scheme for wireless sensor networks with mobile sink[A].Vehicular Technology Conference[C].2007.155-159.
[12] CHOI Y,PARK S,LEE E,et al.Passive data dissemination scheme for supporting inquirer mobility in wireless sensor networks[A].Consumer Communications and Networking conference[C].2008.333-337.
[13] KARLOF C,SASTRY N,WAGNER D.TinySec: a link layer security architecture for wireless sensor networks[A].ACM SenSys[C].2004.162-175.
[14] CHAN H W,PERRIG A,SON D.Random key predistribution schemes for sensor networks[A].IEEE Symposium on Security and Privacy[C].Berkeley,California,2003.197-213.
[15] 裴慶祺,沈玉龍,馬建峰.無線傳感器網(wǎng)絡安全技術綜述[J].通信學報,2007,28(8): 113-122.PEI Q Q,SHEN Y L,MA J F.Survey of wireless sensor network security techniques[J].Journal on Communications,2007,28(8): 113-122.
[16] 馬祖長,孫怡寧,梅濤.無線傳感器網(wǎng)絡綜述[J].通信學報,2004,25(4): 114-124.MA Z C,SUN Y N,MEI T.Survey on wireless sensor networks[J].Journal on Communications,2004,25(4): 114-124.