文 長沙市麓山國際實(shí)驗(yàn)學(xué)校G1606班 劉潤澤
一次偶然的機(jī)會,我在軍事雜志上看到有關(guān)“猛禽”戰(zhàn)斗機(jī)的介紹,得知它如此強(qiáng)悍是由于在機(jī)身配備了無線傳感器網(wǎng)絡(luò)(簡稱WSN),自此我對WSN產(chǎn)生了濃厚的興趣。
在老師的指導(dǎo)下,我逐漸了解了WSN的內(nèi)涵,尤其是WSN中假包注入攻擊引起了我的關(guān)注。假包注入攻擊是指,WSN通常被部署在無人地帶,攻擊者可截取傳感器并偽造假冒事件,意圖欺騙終端用戶。
通過查閱文獻(xiàn)得知,研究者針對該問題做了一些識別假包的研究,在識別概率上取得了不錯的效果。但在大多數(shù)算法中,假包須在發(fā)送路徑中傳輸很遠(yuǎn)的距離后才能被識別,從而造成能量浪費(fèi)。有專家提出,利用對稱密鑰技術(shù)識別假包的辦法(下文簡稱SEF)在包中加入驗(yàn)證碼,由中間節(jié)點(diǎn)驗(yàn)證。有的專家則提出利用上游節(jié)點(diǎn)加密、下游節(jié)點(diǎn)驗(yàn)證的協(xié)作方法,還有的專家提出利用多條路徑同時轉(zhuǎn)發(fā)驗(yàn)證的思想以適應(yīng)網(wǎng)絡(luò)結(jié)構(gòu)變化。
我提出一種基于雙重加密的假包識別方案DFR,在節(jié)點(diǎn)間建立關(guān)聯(lián),以形成密集認(rèn)證區(qū)域,并將密鑰與所在簇捆綁,然后由轉(zhuǎn)發(fā)節(jié)點(diǎn)對兩類MAC以及位置關(guān)系進(jìn)行校驗(yàn),從而提高識別概率,并有效檢測由不同區(qū)域被俘節(jié)點(diǎn)共同偽造的假包。
節(jié)點(diǎn)撒下之前,預(yù)先通過機(jī)器人將一個密鑰分組分發(fā)給節(jié)點(diǎn)。密鑰服務(wù)器共包含n個分組,稱為R類密鑰。節(jié)點(diǎn)撒下后自動組織成團(tuán),責(zé)任節(jié)點(diǎn)聚集團(tuán)內(nèi)節(jié)點(diǎn)信息,生成初始包 hi:(z,head ,c1 ,c2 ,...,cz)。其中 z為始值,等于團(tuán)內(nèi)節(jié)點(diǎn)數(shù)量的計(jì)數(shù)器。
接下來,責(zé)任節(jié)點(diǎn)將hi消息向目的地發(fā)送。每個節(jié)點(diǎn)收到hi消息后,將其中最末的數(shù)據(jù)刪除并記錄,該節(jié)點(diǎn)與被刪節(jié)點(diǎn)形成對偶節(jié)點(diǎn)。同時,將節(jié)點(diǎn)ID插入hi消息中,z減小1,變?yōu)榱憬K止。對偶節(jié)點(diǎn)通過交換密鑰共享密鑰對,該類密鑰叫A類密鑰。最后,責(zé)任節(jié)點(diǎn)收集團(tuán)內(nèi)節(jié)點(diǎn)兩類密鑰,并發(fā)送給目標(biāo)節(jié)點(diǎn)。
如果區(qū)域內(nèi)有事情發(fā)生,責(zé)任節(jié)點(diǎn)聯(lián)合其他團(tuán)內(nèi)節(jié)點(diǎn)一起產(chǎn)生數(shù)據(jù),數(shù)據(jù)中要加上每個團(tuán)內(nèi)節(jié)點(diǎn)的兩類驗(yàn)證碼,共T個節(jié)點(diǎn)。形成的數(shù)據(jù)格式如下:
report:{C;event;R1,MR1;...;RT,MRT;A1,MAC1;...;AT,MACT}.
一方面,中間的傳感器如果碰巧預(yù)先存儲了與數(shù)據(jù)中相同的一個R類密鑰,那么能以一定的幾率對假包進(jìn)行識別;另一方面,“混合驗(yàn)證區(qū)”傳感器存儲了與組內(nèi)節(jié)點(diǎn)商定的密鑰,也能對假包進(jìn)行第二層識別。中途節(jié)點(diǎn)接收到數(shù)據(jù)后,識別步驟如圖1所示。
(1)先查驗(yàn)數(shù)據(jù)中有沒有T個{Rk,MRk}和{Ak,MACk},如果沒有包含上述元素,說明是敵對者構(gòu)造的假包,節(jié)點(diǎn)將它扔掉。
(2)再查驗(yàn)數(shù)據(jù)中R類密鑰是否屬于不同的組,如果沒有包含這類密鑰,節(jié)點(diǎn)將它扔掉。
(3)利用存儲的R類密鑰重新產(chǎn)生驗(yàn)證碼并驗(yàn)證數(shù)據(jù)中的驗(yàn)證碼,驗(yàn)證通過便轉(zhuǎn)發(fā),否則將它扔掉。
(4)利用存儲的A類密鑰重新產(chǎn)生驗(yàn)證碼并驗(yàn)證數(shù)據(jù)中的驗(yàn)證碼,驗(yàn)證通過便轉(zhuǎn)發(fā),否則將它扔掉。
(5)若上述驗(yàn)證都通過,轉(zhuǎn)發(fā)數(shù)據(jù)到下一個傳感器。
圖1 假包識別過程
為進(jìn)一步檢驗(yàn)DFR方案的性能,本文利用C++語言建立了模擬仿真平臺。
我將實(shí)驗(yàn)區(qū)域設(shè)置為20×20m2,通信距離和感應(yīng)距離分別為2m、5m,密鑰組為10個,傳感器發(fā)包的間隔為2s,共發(fā)包16個。
圖2 SEF與DFR識別概率
通過仿真實(shí)驗(yàn)數(shù)據(jù),從圖2得出,隨著傳輸跳數(shù)的增大,SEF和DFR的識別概率都增大。這是因?yàn)镾EF和DFR中每個轉(zhuǎn)發(fā)節(jié)點(diǎn)都能以一定概率對假包進(jìn)行檢驗(yàn),因此,隨著傳輸跳數(shù)增大,識別概率也相應(yīng)增大。
在此,以Nc=2為例進(jìn)行分析,可以看到,當(dāng)傳輸跳數(shù)h=1時,SEF和DFR的識別概率分別為0.0517和0.3672。當(dāng)傳輸跳數(shù)h=3時,SEF和DFR的識別概率分別為0.1493和1。h大于3時DFR的識別概率已經(jīng)為1,而SEF在h=19時識別概率才0.6426,顯然DFR的識別能力強(qiáng)于SEF。
從圖中還可以看到,隨著被俘節(jié)點(diǎn)的增多,DFR與SEF識別假包的概率均有所降低,但SEF方案降低程度更明顯,而且對于DFR方案,只要被俘節(jié)點(diǎn)不超過組內(nèi)節(jié)點(diǎn)數(shù),它的識別概率均為1。顯然,DFR方案在妥協(xié)節(jié)點(diǎn)較多時比SEF方案優(yōu)勢更明顯。
傳感器網(wǎng)絡(luò)是一些先進(jìn)設(shè)備的核心智能技術(shù),是物聯(lián)網(wǎng)的重要組成部分。本文針對敵對者通過截取傳感器偽造假包的行為進(jìn)行研究,在已有算法的基礎(chǔ)上,通過構(gòu)造混合驗(yàn)證區(qū),可以快速提高識別假包的能力。
本文提出的算法也是基于對稱密鑰的技術(shù),這種技術(shù)雖然容易在傳感器上實(shí)現(xiàn),但安全性不夠,因此,今后我將繼續(xù)研究安全性更強(qiáng)的假包識別技術(shù)。