一種基于數(shù)據(jù)包動(dòng)態(tài)加密的無線傳感器網(wǎng)絡(luò)安全保護(hù)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是針對(duì)無線傳感器網(wǎng)絡(luò)易遭受攻擊的弱點(diǎn),提出對(duì)數(shù)據(jù)包進(jìn)行動(dòng)態(tài)加密的 方式,可以有效地對(duì)無線傳感網(wǎng)進(jìn)行保護(hù),本技術(shù)屬于無線傳感網(wǎng)防御攻擊領(lǐng)域。
【背景技術(shù)】
[0002] 近年來無線傳感器網(wǎng)絡(luò)在近年得到廣泛的應(yīng)用,特別是在醫(yī)療、軍事、智能家居等 方面應(yīng)用,但是在傳輸信息和節(jié)點(diǎn)的能耗上仍然存在較大的安全隱患。無線傳感器網(wǎng)絡(luò)是 基礎(chǔ)設(shè)施不足的網(wǎng)絡(luò),特別是由于有限的通信范圍和流動(dòng)性。不僅是節(jié)點(diǎn)由于受到能源儲(chǔ) 量低、體積小的限制,其計(jì)算能力、內(nèi)存的空間與普通計(jì)算機(jī)差別較大,數(shù)據(jù)處理能力和存 儲(chǔ)轉(zhuǎn)發(fā)能力也比較低,而且節(jié)點(diǎn)靠電池供電,能量有限,在使用過程中經(jīng)常是一次性的,不 能更換電池和隨意充電。因此,能耗問題是無線傳感器網(wǎng)絡(luò)中很主要的問題。另一方面,傳 感器中節(jié)點(diǎn)數(shù)量龐大造成大量數(shù)據(jù)發(fā)送造成網(wǎng)絡(luò)擁塞,產(chǎn)生拒絕睡眠攻擊。所以,由于節(jié)點(diǎn) 性能不足會(huì)導(dǎo)致無線傳感器網(wǎng)絡(luò)遭受許多攻擊。
[0003] 現(xiàn)如今無線傳感器網(wǎng)絡(luò)的兩大主流平臺(tái)是Micaz和TelosA,而它們兩大平臺(tái)的較 明顯的弱點(diǎn)是:節(jié)點(diǎn)的處理能力低;內(nèi)存??;帶寬低;能量有限。下表是主要運(yùn)用的2個(gè)平 臺(tái)的數(shù)據(jù)顯示:
[0004] 表 1
[0005]
[0006] 從以上數(shù)據(jù)可知這2種節(jié)點(diǎn)的能力比較低。這種節(jié)點(diǎn)就很容易被抓住能力低的弱 點(diǎn)進(jìn)行攻擊。
[0007] 針對(duì)無線傳感網(wǎng)節(jié)點(diǎn)的能量不足的缺點(diǎn),許多學(xué)者提出了降低無線傳感網(wǎng)能耗 的協(xié)議研究。目前針對(duì)無線傳感器網(wǎng)絡(luò)的能量協(xié)議研究主要集中在MAC層協(xié)議[3]、TinySec 協(xié)議等等。
[0008] 最早的SPINS安全協(xié)議框架是給資源受限的無線傳感器網(wǎng)絡(luò)平臺(tái)服務(wù)的,實(shí)現(xiàn)了 數(shù)據(jù)的機(jī)密性,可認(rèn)證性和新鮮性。通過加密方式產(chǎn)生一個(gè)數(shù)值,每收到一次信息該數(shù)值加 1,這樣通過數(shù)值的記錄可以抵抗重放攻擊。但是缺點(diǎn)也是很明顯的,當(dāng)一個(gè)報(bào)文被丟棄后 數(shù)值就亂了,必須重新建立"握手",并且這種抗重放機(jī)制 [5]需要周圍節(jié)點(diǎn)能夠儲(chǔ)存每一個(gè) 與之交流的節(jié)點(diǎn)的數(shù)值,這樣對(duì)于內(nèi)存低的節(jié)點(diǎn)來說不現(xiàn)實(shí)。
[0009] TinySec協(xié)議是廣泛應(yīng)用在傳感器網(wǎng)絡(luò)上的協(xié)議,它通過對(duì)一個(gè)加密的消息進(jìn)行 計(jì)算得出一個(gè)消息認(rèn)證碼來提供數(shù)據(jù)的機(jī)密性和精確性,但是它并不能阻止重放攻擊,也 不能阻止能量消耗攻擊。
[0010] S-MAC協(xié)議是旨在延長WSN的壽命來設(shè)計(jì)提出的。在同步周期內(nèi),S-MAC協(xié)議把一 個(gè)時(shí)間框架分為監(jiān)聽時(shí)間和睡眠時(shí)間,把監(jiān)聽時(shí)間進(jìn)一步劃分成同步周期和數(shù)據(jù)傳遞。同 步周期允許節(jié)點(diǎn)定期公布自己的睡眠時(shí)間表使得能夠與集群的其他節(jié)點(diǎn)監(jiān)聽和睡眠時(shí)間 同步。通過創(chuàng)建一個(gè)10%的活性占空比,節(jié)點(diǎn)的壽命可以顯著的擴(kuò)展。但是,S-MAC協(xié)議會(huì) 使得數(shù)據(jù)延遲較大,并且需要占用大量的存儲(chǔ)空間,還是沒有辦法完全抵御來自拒絕服務(wù) 攻擊中數(shù)據(jù)大量傳輸而導(dǎo)致的數(shù)據(jù)延遲。
[0011] T-MAC協(xié)議是一種高能效的協(xié)議,旨在最大限度地提高睡眠的機(jī)會(huì),采用了S-MAC 協(xié)議的睡眠方法,并且通過調(diào)整監(jiān)聽周期來增加了空閑監(jiān)聽的開銷,設(shè)置了一個(gè)每個(gè)周期 最小的空閑監(jiān)聽時(shí)間TA。但是T-MAC協(xié)議容易造成早睡的問題,即在多跳通信時(shí)接收節(jié)點(diǎn) 可能已經(jīng)進(jìn)入到了睡眠狀態(tài)。
[0012] 所以,SPINS安全框架、TinySec協(xié)議并不能解決無線傳感器網(wǎng)絡(luò)中節(jié)點(diǎn)的能量消 耗,而S-MAC與T-MAC協(xié)議能夠控制節(jié)點(diǎn)的睡眠來降低能量的消耗,但是也不能很好的降低 能量消耗,容易受到攻擊。
[0013] 介紹幾種常見的攻擊手段:
[0014] (1)消息截取:攻擊者能夠同時(shí)監(jiān)聽多個(gè)節(jié)點(diǎn)進(jìn)行消息的截取和流量分析,通過 捕獲傳輸中的消息進(jìn)行詳細(xì)的分析,對(duì)節(jié)點(diǎn)的通信協(xié)議、消息格式、發(fā)送、接收函數(shù)以及緩 存有了詳細(xì)的了解,這樣就可以制造出使用了相同的通信協(xié)議,然后可以DOS攻擊、偽裝攻 擊、重放攻擊等等。
[0015] (2)D0S攻擊:包括拒絕睡眠攻擊,泛洪攻擊,通過向無線傳感器網(wǎng)絡(luò)發(fā)送大量的 數(shù)據(jù)使得無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)一直處于頻繁的工作狀態(tài),節(jié)點(diǎn)的能量容易被消耗殆 盡。
[0016] (3)重放攻擊:攻擊者通過手段截獲在無線傳感網(wǎng)中傳輸?shù)臄?shù)據(jù)包,然后不斷地 利用這個(gè)數(shù)據(jù)包對(duì)節(jié)點(diǎn)進(jìn)行發(fā)送,造成節(jié)點(diǎn)一直收到相同的數(shù)據(jù)包。
[0017] 列表簡述現(xiàn)今無線傳感網(wǎng)的防御D0S、重放攻擊方法原理及優(yōu)缺點(diǎn)比較:
[0018] 表 2
[0019]
【發(fā)明內(nèi)容】
[0020] 技術(shù)問題:本發(fā)明的目的是提供一種基于數(shù)據(jù)包動(dòng)態(tài)加密的無線傳感器網(wǎng)絡(luò)安全 保護(hù)方法,針對(duì)無線傳感器網(wǎng)絡(luò)易遭受攻擊的弱點(diǎn),提出對(duì)數(shù)據(jù)包進(jìn)行動(dòng)態(tài)加密的方式,可 以有效地對(duì)無線傳感網(wǎng)進(jìn)行保護(hù)。針對(duì)數(shù)據(jù)包內(nèi)容的各個(gè)字段內(nèi)容對(duì)數(shù)據(jù)包進(jìn)行動(dòng)態(tài)加 密,這樣每次加密的密鑰都不固定,更加保證了數(shù)據(jù)包的安全性和無線傳感器網(wǎng)絡(luò)的安全。
[0021] 技術(shù)方案:在無線傳感器網(wǎng)絡(luò)中兩個(gè)節(jié)點(diǎn)之間的通信往往要經(jīng)過多跳才能完成消 息的傳送,簡要的無線傳感器網(wǎng)絡(luò)工作圖如圖1所示。采集節(jié)點(diǎn)A經(jīng)過中轉(zhuǎn)節(jié)點(diǎn)B的轉(zhuǎn)發(fā) 把數(shù)據(jù)包傳遞到基站C,通過基站傳遞到終端。數(shù)據(jù)包里記錄著如表3所示的目的地址,源 節(jié)點(diǎn)ID,以及數(shù)據(jù)強(qiáng)度等信息。
[0022] 數(shù)據(jù)包的消息格式如表3所示:
[0023]
[0024]表3
[0025] 但是,這種無線傳感器網(wǎng)絡(luò)如果在沒有進(jìn)行有效地保護(hù)的情況下,容易被攻擊者 進(jìn)行攻擊。攻擊者能夠在傳輸過程中能夠截獲并篡改消息。因?yàn)楣粽吣軌蛲ㄟ^捕獲傳輸 中的消息進(jìn)行詳細(xì)的分析,對(duì)節(jié)點(diǎn)的通信協(xié)議、消息格式、發(fā)送、接收函數(shù)以及緩存有了詳 細(xì)的了解,這樣就可以制造出使用了相同的通信協(xié)議。比如:中間人攻擊。
[0026]中間人攻擊的目標(biāo)是使得中轉(zhuǎn)節(jié)點(diǎn)無法正常工作后用攻擊節(jié)點(diǎn)代替中轉(zhuǎn)節(jié)點(diǎn)轉(zhuǎn) 發(fā)虛假信息。在該攻擊中,關(guān)鍵點(diǎn)是要將中轉(zhuǎn)節(jié)點(diǎn)的能量消耗很大導(dǎo)致其無法工作。攻擊 模型如圖2所示。
[0027] 采集節(jié)點(diǎn)A發(fā)送采集數(shù)據(jù)給中轉(zhuǎn)節(jié)點(diǎn)B,中轉(zhuǎn)節(jié)點(diǎn)B把信息轉(zhuǎn)發(fā)給基站C,這形成 了一個(gè)多跳的無線傳感器網(wǎng)絡(luò)。其中①和②:加入注入節(jié)點(diǎn)D和E,對(duì)中轉(zhuǎn)節(jié)點(diǎn)B發(fā)送大量 相同消息格式的虛假數(shù)據(jù)。通過對(duì)無線傳感器網(wǎng)絡(luò)的中轉(zhuǎn)節(jié)點(diǎn)發(fā)送大量的虛假數(shù)據(jù),造成 了數(shù)據(jù)時(shí)延,在經(jīng)過一段時(shí)間的發(fā)送后,伴隨著傳感器節(jié)點(diǎn)的能量消耗,造成中轉(zhuǎn)節(jié)點(diǎn)無法 完成相應(yīng)的轉(zhuǎn)發(fā)工作。③:加入攻擊節(jié)點(diǎn)F把注入節(jié)點(diǎn)發(fā)送的虛假數(shù)據(jù)轉(zhuǎn)發(fā)給基站C。
[0028] 如圖2所示采集節(jié)點(diǎn)A,中轉(zhuǎn)節(jié)點(diǎn)B以及基站C組成了一個(gè)小型的無線傳感器網(wǎng) 絡(luò),當(dāng)該網(wǎng)絡(luò)開始正常工作后,首先加入一個(gè)攻擊節(jié)點(diǎn)捕獲正在無線傳感器網(wǎng)絡(luò)中傳輸?shù)?消息,得到消息后進(jìn)行詳細(xì)的分析,發(fā)現(xiàn)消息格式,消息的目的地址,消息的源地址和消息 的組類型等等的信息,然后用NesC語言編寫一個(gè)節(jié)點(diǎn)消息發(fā)送的程序,采用相同的消息格 式,并且把光強(qiáng)度數(shù)據(jù)改成與真實(shí)情況相反,使用mts300傳感器采集光強(qiáng)度,與采集節(jié)點(diǎn)A 通過接口連接,設(shè)置每0.Is發(fā)送一次消息到中轉(zhuǎn)節(jié)點(diǎn)。攻擊流程圖如圖3所示。
[0029] 通過上述對(duì)中轉(zhuǎn)節(jié)點(diǎn)的攻擊,會(huì)造成中轉(zhuǎn)節(jié)點(diǎn)大量的能量消耗。根據(jù)研究可知,發(fā) 送節(jié)點(diǎn)的能量消耗不僅與數(shù)據(jù)包的長度有關(guān),還與節(jié)點(diǎn)之間的距離有關(guān),而接收節(jié)點(diǎn)的能 量消耗則只與數(shù)據(jù)包的長度有關(guān)。
[0030]發(fā)送節(jié)點(diǎn)的能量消耗ETxUid)=l*Es*d2,接收節(jié)點(diǎn)的能量消耗為ERx⑴=l*Ey其中 Es表示節(jié)點(diǎn)發(fā)送lbit數(shù)據(jù)所消耗的能量;E^表示節(jié)點(diǎn)接收lbit數(shù)據(jù)所消耗的能量;1為數(shù) 據(jù)包的長度;d為節(jié)點(diǎn)間的距離。節(jié)點(diǎn)的剩余能量表示為E=Ei-E^Ep
[0031] 其中Ei為節(jié)點(diǎn)的初始能量值。當(dāng)節(jié)點(diǎn)的能量低于發(fā)送一次數(shù)據(jù)包所需的能量時(shí), 該節(jié)點(diǎn)就不能完成轉(zhuǎn)發(fā)工作了。
[0032] 經(jīng)過測量,節(jié)點(diǎn)的初始能量即EiS0. 5J,節(jié)點(diǎn)放置在10m*10m的空間中,E3為 lOOpJ/bit/m^Ej^為30pJ/bit,每個(gè)數(shù)據(jù)包的總長度為128bit,可以得出當(dāng)攻擊節(jié)點(diǎn)頻繁地 發(fā)送虛假數(shù)據(jù)到達(dá)中轉(zhuǎn)節(jié)點(diǎn),再加上采集節(jié)點(diǎn)A把每次采集的真實(shí)數(shù)據(jù)發(fā)送給中轉(zhuǎn)節(jié)點(diǎn), 很快經(jīng)過