謝滿德,張國萍
(1.浙江工商大學計算機與信息工程學院 杭州 310018;2.浙江理工大學信息電子學院 杭州310018)
無線傳感器網(wǎng)絡(wireless sensor network,WSN)是由部署在監(jiān)測區(qū)域內(nèi)部或附近的大量廉價的、具有通信、感測及計算能力的微型傳感器節(jié)點通過自組織構(gòu)成的智能測控網(wǎng)絡,是近年來興起的新型網(wǎng)絡。其在國防軍事、農(nóng)業(yè)、環(huán)境監(jiān)測、生態(tài)保護、醫(yī)療衛(wèi)生、工業(yè)、智能交通、建筑物監(jiān)測、空間探索等領域有著廣闊的應用前景和巨大的應用價值,被認為是未來改變世界的10大技術(shù)之一。無線傳感器網(wǎng)絡應用的特點決定了傳感器節(jié)點一旦部署完畢通常將會長期工作于無人看守的環(huán)境中。隨著時間的推移,經(jīng)常需要增加一些功能或者修復軟件中存在的問題,這就需要對整個網(wǎng)絡進行重編程。在一些網(wǎng)絡規(guī)模較大或者是節(jié)點部署環(huán)境較惡劣的情況下,如深海、核輻射區(qū)、沙漠等,人工手動地對所有節(jié)點編程將是一項非常耗時、耗力甚至是不可能完成的任務。因此在WSN中需要一種機制能夠通過無線的方式遠程對節(jié)點軟件進行更新。WSN在線代碼分發(fā)(online code dissemination)技術(shù)(又稱網(wǎng)絡重編程(network reprogramming)技術(shù))就是一種有效的解決途徑。WSN在線代碼分發(fā)是在傳感器網(wǎng)絡首次部署完成后對其進行遠程任務再分配、節(jié)點軟件更新和網(wǎng)絡功能再配置的過程。由于WSN的無線特性,使得其在線代碼分發(fā)技術(shù)迥異于有線網(wǎng)絡,其相關(guān)算法研究面臨著巨大的挑戰(zhàn),尤其是安全和節(jié)能方面更是受到了國內(nèi)外眾多學者的廣泛關(guān)注,并迅速成為了業(yè)內(nèi)研究的熱點。
Culler等[1]提出的增量式多跳代碼分發(fā)算法Deluge,是早期代碼分發(fā)算法的代表。其很多思想,比如對更新程序進行分頁、分組處理的策略,頁按序傳輸、頁內(nèi)數(shù)據(jù)分組允許亂序傳輸,通過NACK請求數(shù)據(jù)分組以及Advertise-Request-Update的3步工作過程等思想被后面的算法所廣泛采用。然而,Deluge沒有考慮任何安全方面的問題。為此,很多基于Deluge框架的、考慮抗多種攻擊的安全在線代碼分發(fā)算法被提了出來。Lanigan等[2]在WSN中最先提出了網(wǎng)絡代碼分發(fā)安全認證方案Sluice。Sluice利用散列函數(shù)的單向性來確保更新代碼的完整性和正確性,利用數(shù)字簽名來認證更新代碼的合法性。Sluice能一定程度上防御網(wǎng)絡中節(jié)點被俘獲的內(nèi)部攻擊,某種程度上,滿足了WSN的特點。但是,由于Sluice方案采用粗粒度的“頁級”散列方法,認證失敗后將被迫重傳整個頁。Dutta等[3]提出了與Sluice類似的代碼分發(fā)安全認證方案。不同于Sluice方案,Dutta等采用了細粒度的“分組級”散列。然而Dutta要求數(shù)據(jù)分組必須有序到達。但是,WSN中分組丟失和分組亂序到達卻是一種常見現(xiàn)象。Deng等[4]針對這種分組的亂序到達問題,提出了一個基于散列樹的代碼分發(fā)安全認證方案。這種方法需要為更新代碼這樣的大數(shù)據(jù)對象構(gòu)建一棵散列樹,而且需要保留大量的內(nèi)存空間來存儲樹中的節(jié)點值。更重要的是這種方法為了保證散列樹的正確傳輸,要求對其逐層傳輸,所以它們沒有完全解決分組的亂序到達問題。雖然這些文獻沒有完全解決代碼分發(fā)中的安全問題,但是他們卻反映了安全代碼分發(fā)的演變過程,很多思想在隨后的研究中包括本文所廣為采用,比如代碼映像分發(fā)前的預處理思想和分發(fā)框架。
[6~11]針對代碼分發(fā)中的DoS(deny of service)攻擊提出了多種解決方法。Park等[5]提出了一個應用增補散列的方法來增強無線傳感器網(wǎng)絡代碼分發(fā)的安全性,然而它增大了通信負載,且只部分解決了時延認證問題。Shaheen等[6]提出了一個利用單向密鑰鏈來對更新程序進行加密的代碼分發(fā)協(xié)議,然而該算法只能處理單跳的代碼分發(fā),另外算法易受多種DoS攻擊。Dong等[7]針對基于數(shù)字簽名的DoS攻擊,提出了基于群和基于密鑰鏈的兩種過濾方法,但是這兩種過濾方法都嚴重依賴于發(fā)送者和接收者之間密鑰對的建立,而這將引入新的安全風險。Tan等[8]針對WSN中的代碼信息可能具有敏感性的特點,提出了同時考慮機密性和抗DoS攻擊的多跳代碼分發(fā)協(xié)議。針對代碼分發(fā)中的DoS攻擊,Sangwon等[9,10]提出了一個安全的抗DoS攻擊的代碼分發(fā)算法。算法通過引入Merkle散列樹來進行數(shù)據(jù)分組的即時認證,通過引入MSP(message special puzzle)弱認證機制來防御針對數(shù)字簽名的DoS攻擊。近來也有基于網(wǎng)絡編碼的在線代碼分發(fā)算法被提出來[12~14]。Wang[11]和Hou[12]主要是利用網(wǎng)絡編碼的思想來降低代碼分發(fā)過程中的能耗和均衡負載。Law[13]和Zhang[14]則進一步考慮了安全性。Law提出了一個安全的無率Deluge算法,算法能有效抵御污染攻擊,Zhang在參考文獻[10]的基礎上提出了一個LR-Seluge算法,算法除了有Seluge的安全屬性外,還能有效抵御分組丟失攻擊等。參考文獻[12~14]與本文最為相關(guān),受益于它們的啟發(fā),本文針對在線代碼分發(fā)設計了一種新的網(wǎng)絡編碼方案,并提出了一個基于網(wǎng)絡編碼的安全在線代碼分發(fā)算法。為了防御DoS攻擊,算法在網(wǎng)絡編碼方案中集成并改進了參考文獻[6~11]提出的多種技術(shù),比如計數(shù)技術(shù)、MSP弱認證機制等。
XSeluge以Seluge為安全框架,也采用Advertise-Request-Update的3步工作流程。在進行代碼分發(fā)之前,發(fā)起代碼分發(fā)的節(jié)點(通常是基站)首先對待分發(fā)的程序映像進行預處理,然后通過一個數(shù)字簽名來發(fā)起真正的數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸過程中,節(jié)點根據(jù)收到的NACK請求,進行編碼、發(fā)送;節(jié)點接收到數(shù)據(jù)分組后解碼,并進行即時的數(shù)據(jù)分組驗證。為了防止惡意節(jié)點,故意地反復請求數(shù)據(jù)分組或多次傳送偽造的數(shù)據(jù)分組,XSeluge引入了計數(shù)器機制。接下來將詳細介紹XSeluge的幾個關(guān)鍵思想。
對代碼映像的預處理,XSeluge采用了Seluge[11]方法。為了保證內(nèi)容的自包含性,這里對代碼映像的處理方法進行簡要描述。Seluge算法也基于Deluge框架,基站首先將代碼映像分成固定大小的頁,每一個頁進一步被分成固定大小的數(shù)據(jù)分組。然后基站從最后一個頁面開始,通過選定的散列函數(shù)計算頁內(nèi)每個數(shù)據(jù)分組的散列值,不過每個分組的散列值不是內(nèi)嵌到前一個數(shù)據(jù)分組,而是內(nèi)嵌到前一頁位置相對應的分組中,如此重復直到第一頁,其工作過程如圖1所示。當算法處理到第一頁的時候,Seluge在第一頁所有分組的散列值基礎上,建立一個Merkle散列樹,其建立過程如圖2所示。首先通過聯(lián)合操作,將固定數(shù)量的散列值聯(lián)合成一個數(shù)據(jù)分組,并計算該數(shù)據(jù)分組的散列值。然后,將剛計算出來的散列值,兩兩聯(lián)合成一個數(shù)據(jù)分組,并計算散列值。這個過程不斷重復,直到最后只剩一個散列值,將該散列值嵌入到數(shù)字簽名分組,并通過數(shù)字簽名分組來發(fā)起一次代碼分發(fā)。如圖2所示,將H(Pkt1,1)到H(Pkt1,6)6個散列值聯(lián)合得到一個數(shù)據(jù)分組V0,1,其散列值為e1。然后將e1和e2聯(lián)合,并計算其散列值得到e1~2,這個過程不斷重復直到得到e1~8。另外Seluge算法還引入了MSP(message special puzzle)弱認證機制,以避免節(jié)點進行無謂的數(shù)字簽名認證操作,有效防御針對數(shù)字簽名的DoS攻擊。
為了減少節(jié)點傳輸和接收的數(shù)據(jù)量,XSeluge引入了網(wǎng)絡編碼的思想。節(jié)點首先對待發(fā)送的數(shù)據(jù)分組進行編碼,再發(fā)送編碼后的數(shù)據(jù)分組。假定節(jié)點的鄰居數(shù)為n,分別記為:P1,P2,…,Pn,一個待分發(fā)的代碼頁被分成了t個固定大小的數(shù)據(jù)分組,分別記為:M1,M2,…,Mt。節(jié)點引入一個鄰居節(jié)點表來記錄鄰居節(jié)點的狀態(tài),每個鄰居在表格中對應一條記錄,該記錄包含一個長度為t的位向量,其中每一位對應一個消息,如果該鄰居沒有相應的消息,該位置為1,否則置為0。為了不失一般性,記鄰居節(jié)點Pi的位向量為:Pi(mi1,mi2,…,mit),mij∈(0,1),i=1,2,…,n,j=1,2,…,t。最終每個節(jié)點維護一個表1所示的鄰居節(jié)點表。初始狀態(tài)該表為空,當接收到鄰居節(jié)點的NACK請求后,首先檢查該表中是否已經(jīng)有了對應的記錄,如果沒有則添加一條記錄,如果有則更新相應的記錄。
表1 節(jié)點維護的鄰居記錄
基于上述鄰居節(jié)點表,算法采用XOR的異或網(wǎng)絡編碼方法。假設d1和d2為待分發(fā)的數(shù)據(jù)分組,異或編碼的總體思想是:節(jié)點一次發(fā)送數(shù)據(jù)分組d1茌d2,這樣有d1數(shù)據(jù)分組的節(jié)點可以通過簡單的異或操作d1茌d1茌d2,解碼得到d2數(shù)據(jù)分組,有d2數(shù)據(jù)分組的節(jié)點,則可以通過簡單的異或操作d2茌d1茌d2,解碼得到d1數(shù)據(jù)分組。因此,發(fā)送一個數(shù)據(jù)分組,不同的節(jié)點能獲得不同的數(shù)據(jù)分組,從而在總體上減少數(shù)據(jù)分組的傳送數(shù)量。接下來,詳細闡述基于上述鄰居節(jié)點表,怎樣確定最佳的異或編碼方案。
3.2.1 編碼問題建模
為了描述的方便,首先給出以下定義。
定義1 編碼方案k,指該編碼方案中,參與異或編碼的消息個數(shù)為k。比如編碼方案1指該異或編碼方案只選擇了1個消息參與編碼,編碼方案2指該異或編碼方案選擇了2個消息參與編碼,依此類推。編碼方案只與選擇參與編碼的消息個數(shù)有關(guān),與消息的順序無關(guān),因此對于有t個消息的情況,編碼方案最多有t種。
論文中引入的其他符號的含義如表2所示。
基于上述定義和符號說明,可以將最優(yōu)化編碼方案的優(yōu)化目標形式化為:
約束條件為:
在優(yōu)化目標中,式(1)表示采用編碼方案k編碼組合s情況下,所有節(jié)點能成功解碼數(shù)據(jù)分組的個數(shù);式(2)表示在編碼方案k的所有編碼組合中,所有節(jié)點能成功解碼數(shù)據(jù)分組的最大個數(shù);式(3)表示在所有編碼方案中,所有節(jié)點能成功解碼數(shù)據(jù)分組的最大個數(shù)。因此優(yōu)化目標可總結(jié)為:從所有編碼方案的所有編碼組合中,找出能成功解碼出一個數(shù)據(jù)分組的節(jié)點個數(shù)最多的方案。
約束條件中,式(4)是確保在編碼方案k中,參與編碼的消息分組的個數(shù)為k;式(5)是確保如果一個消息分組已經(jīng)被所有節(jié)點成功接收,則不參與編碼;式(6)指出節(jié)點能成功解碼一個消息分組的條件之一是該消息分組已經(jīng)被當前編碼方案選中,而且是該節(jié)點目前所沒有接收到的消息;式(7)指出節(jié)點能成功解碼一個消息分組的另一個條件是被選中參與編碼的消息分組只有一個還沒有被成功接收,否則根據(jù)異或編碼理論節(jié)點就不能正確接受該消息;式(8)是確保任何節(jié)點最多能成功解碼一個消息分組,因為根據(jù)異或編碼的原理,一個節(jié)點一次最多能成功解碼一個數(shù)據(jù)分組。
3.2.2 編碼問題復雜度
樸素的搜索最優(yōu)編碼方案的方法為枚舉法,即搜索所有可能編碼方案的所有可能編碼組合。如上所述,編碼方案1的可能編碼組合數(shù)為,編碼方案2的可能編碼組合數(shù)為,以此類推,編碼方案k的可能編碼組合數(shù)為。因此,總的編碼組合數(shù)為:
其中t為待分發(fā)代碼頁的數(shù)據(jù)分組數(shù),在進行代碼分發(fā)之前,就是一個確定的常量,因此,該問題是一個P問題。
3.2.3 問題樣例
假設節(jié)點的當前鄰居表快照如表3所示,采用的編碼方案為3。根據(jù)式(4),可以設定編碼方案3的第一種的編碼組合為向量X13=[0 1 0 1 1],也就是消 息 M2,M4,M5參與編碼。根據(jù)式(6)和(7),可以獲得如表4所示的各鄰居節(jié)點成功解碼的消息。根據(jù)式(8),在表3所示的快照情況下,M3不可能參與編碼,因為其已經(jīng)被所有節(jié)點全部接收。根據(jù)表4,可以計算出Y13=2。由于不能參與編碼,所以==4。在 X23=[1 0 0 1 1],X33=[1 1 0 1 0],X43=[1 1 0 0 1]情況下,可以分別計算出:Y23=2,Y33=2,Y43=2。因此,Y3=2。按照同樣的方法可計算出Y2=5,Y4=0,Y2=5對應的編碼組合為X12=[1 1 0 0 0],這就是對應表3所示鄰居表快照的最優(yōu)編碼方案。
表3 鄰居表快照
由于安全框架基本沿用了Seluge,所以除了需要無縫地集成數(shù)據(jù)分組解碼操作以外,整體的數(shù)據(jù)分組驗證流程基本與Seluge相似。源節(jié)點通過一個包含了Merkle散列樹根節(jié)點的數(shù)字簽名分組來發(fā)起代碼分發(fā)。之后,源節(jié)點首先傳輸?shù)谝粋€頁面所有數(shù)據(jù)分組的散列值,為了保證每個數(shù)據(jù)分組散列值能得到即時驗證,如圖2所示,算法每次傳輸Merkle散列樹的葉子節(jié)點V0,i和該葉子節(jié)點到根節(jié)點路徑上每層的兄弟節(jié)點。當收到一個數(shù)據(jù)分組,驗證時只需從Merkle散列樹的葉子節(jié)點開始計算散列值,再結(jié)合同層的兄弟節(jié)點不斷進行散列值計算,直到樹根,最后將計算出來的樹根值與數(shù)字簽名中收到的該值進行比較,即可進行認證。例如傳輸V0,1時,傳輸?shù)臄?shù)據(jù)分組是:V0,1||e2||e3~4||e5~8。當節(jié)點收到數(shù)據(jù)分組時,依次計算各散列值:e1=Hash(V0,1),e1~2=Hash(e1||e2),e1~4=Hash(e1~2||e3~4),e1~8=Hash(e1~4||e5~8),e1~8就是散列樹的根節(jié)點,只要比較它與通過數(shù)字簽名分組收到的值是否一致就可以了。通過這種方法可以保證第一個代碼頁所有數(shù)據(jù)分組的值都能正確驗證。
表4 對應表3的成功解碼
在接下來傳輸?shù)谝粋€代碼頁中的數(shù)據(jù)分組時,傳輸節(jié)點在最優(yōu)編碼方案確定后,將參與編碼的數(shù)據(jù)分組編號進行MAC保護后,連接到異或編碼后的數(shù)據(jù)分組末尾。節(jié)點接收到數(shù)據(jù)分組后,首先解析出參與編碼的數(shù)據(jù)分組編號,再進行異或解碼得到數(shù)據(jù)分組。由于數(shù)據(jù)分組的散列值都已經(jīng)事先正確接收,所以第一個代碼頁的所有數(shù)據(jù)分組都能得到即時的驗證。依次類推,由于代碼頁按序傳輸,所以在傳輸Pagei時,頁Pagei-1必定已經(jīng)可靠接收。在傳輸Pagei時,任何一個數(shù)據(jù)分組設其為Pkti,k接收后,可以通過判斷H(Pkti,k)是否與存儲在頁Pagei-1第k個數(shù)據(jù)分組中的該值相等來驗證。擴展后的鄰居表見表5。
表5 擴展后的鄰居表
代碼分發(fā)過程中,如果存在惡意節(jié)點,不斷地重復向某個節(jié)點請求數(shù)據(jù)分組,或不斷地向其他節(jié)點分發(fā)偽造的數(shù)據(jù)分組,則節(jié)點能量將很快耗盡,將不能工作。針對這種類型的攻擊,算法引入了計數(shù)器的方法。算法首先在3.2節(jié)的鄰居表的基礎上,額外引入了兩個域SC和RC分別表示向?qū)泥従庸?jié)點發(fā)送消息的個數(shù)和從對應鄰居節(jié)點接收消息的個數(shù),如果SC或RC超過了某個閾值,則將該節(jié)點標記為惡意節(jié)點,將其阻塞一段時間,在這段時間都不向該節(jié)點發(fā)送消息或接收消息,該方法只是在原有鄰居表的基礎上添加了兩個域,因此具有較小的開銷。
本文通過MATLAB對算法進行了仿真,以驗證算法的性能。安全方面,像上面分析的一樣,算法能進行即時的數(shù)據(jù)分組驗證,從而能有效防御基于時延的DoS攻擊;通過引入MSP弱認證機制,能有效防御針對數(shù)字簽名的DoS攻擊;通過引入接收和發(fā)送計數(shù)器,能有效防御基于重復請求的DoS攻擊。由于基于Seluge安全框架,所以安全性能基本與Seluge相似,不需要通過實驗進一步驗證。接下來,將主要驗證編碼方法的有效性。
為了進行有效性比較,本實驗中,引入了另外兩個算法:一個是沒有采用任何編碼策略的代碼分發(fā)算法,簡稱為Dissem_WC;一個是采用隨機編碼策略的代碼分發(fā)算法,簡稱為Dissem_RC;主要測試了兩個性能指標:一個是在一個時間槽內(nèi),隨節(jié)點總數(shù)的變化,接收到一個新數(shù)據(jù)分組的實際節(jié)點數(shù),一個是隨著代碼映像尺寸的變化,完成整個代碼分發(fā)需要傳送的總的數(shù)據(jù)分組數(shù)。在第一個實驗中,假定每個數(shù)據(jù)分組的負載為102 byte(滿足IEEE 802.15.4規(guī)范),總的數(shù)據(jù)分組數(shù)為60個(代碼映像總共被分成了10個代碼頁,每個代碼頁進一步被分成了6個數(shù)據(jù)分組),假設每個時間槽內(nèi),節(jié)點數(shù)在10~45范圍變化。進一步,為了模擬無線數(shù)據(jù)傳輸?shù)牟豢煽啃?,假定傳輸過程中分組丟失的概率為20%。實驗結(jié)果如圖3所示。XSeluge具有最好的性能,遠遠高于Dissem_RC和Dissem_WC,Dissem_RC 次之,Dissem_WC 最差。
第二個實驗中,假定節(jié)點個數(shù)為20個,同樣為了模擬通信的不可靠性,假定分組丟失率為20%,待傳送的代碼映像數(shù)據(jù)分組在60~100 byte變化。實驗結(jié)果如圖4所示。XSeluge需要的數(shù)據(jù)分組最少,遠遠低于Dissem_RC和Dissem_WC,Dissem_RC次之,Dissem_WC需要的數(shù)據(jù)最多。
無線傳感器網(wǎng)絡在線代碼分發(fā)由于其傳輸中的無線特性,相關(guān)算法的研究面臨著巨大的挑戰(zhàn)。本論文以Seluge為安全框架,結(jié)合XOR網(wǎng)絡編碼提出了一個安全的在線代碼分發(fā)算法XSeluge。XSeluge也采用Advertise-Request-Update的3步工作流程。在進行代碼分發(fā)之前,發(fā)起代碼分發(fā)的節(jié)點(通常是基站)首先對待分發(fā)的程序映像進行預處理,包括分頁、分組以及用于驗證的分組散列值計算和放置,然后通過一個數(shù)字簽名來發(fā)起真正的數(shù)據(jù)傳輸。在數(shù)據(jù)傳輸過程中,節(jié)點根據(jù)收到的NACK請求,建立鄰居節(jié)點表,并基于此確定最優(yōu)的編碼方案,以最大化每次能成功解碼的數(shù)據(jù)分組的個數(shù);節(jié)點接收到數(shù)據(jù)分組后解碼,通過散列值計算和比較進行即時的數(shù)據(jù)分組驗證。為了防止惡意節(jié)點故意地反復請求數(shù)據(jù)分組或多次傳送偽造的數(shù)據(jù)分組,XSeluge在擴展原有鄰居節(jié)點表結(jié)構(gòu)的基礎上引入了計數(shù)器機制。論文最后給出了實驗驗證。XSeluge安全性能方面與Seluge相似,但是能大大地減少代碼分發(fā)過程總的數(shù)據(jù)分組的傳輸。本文工作中留待解決的兩個開放性問題是:更有效的編碼方案;在編碼方案確定情況下,更多先進安全方案的集成或有針對性的安全方案的提出。這也是下一步工作的方向。
參考文獻
1 HuiJW,CullerD.The dynamic behaviorofa data dissemination protocolfor network programming atscale.Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems (SenSys’04),Baltimore,MD,United States,November 2004:81~94
2 Lanigan P E,GandhiR,Narasimhan P.Sluice:secure dissemination ofcode updatesin sensornetworks.IEEE InternationalConference on Distributed Computing Systems(ICDCS’06),Lisbon,Portu2gal,July 2006
3 Dutta P K,Hui J W,Chu D C,et al.Securing the deluge network programming system.Proceedings of the 5th International Conference on Information Processing in SensorNetworks(IPSN’06),Nashville,TN,United States,April 2006:326~333
4 Deng J,Han R,Mishra S.Secure code distribution in dynamically programmable wireless sensor networks.ACM/IEEE Conference on Information Processing in SensorNetworks,Nashville,TN,April 2006:292~300
5 Park K,Lee J H,Kwon T Y,et al.Secure dynamic network reprogramming using supplementary hash in wireless sensor networks.Proceedings of Ubiquitous Intelligence and Computing-4th International Conference(UIC’07),2007:653~662
6 Shaheen J,Ostry D,Sivaraman V,et al.Confidential and secure broadcast in wireless sensor networks.Proceedings of IEEE 18th International Symposium on Personal,Indoor and Mobile Radio Communications(PIMRC’07),Hong Kong,July 2007:653~662
7 Dong Q,Liu D G,Ning P.Pre-authentication filters:providing DoS-resistance for signature-based broadcast authentication in sensor networks.Proceedings of the First ACM Conference on Wireless Network Security (WiSec’08),New York,NY,USA,March 2008:2~13
8 Tan H L,Ostry D,Zic J,et al.A confidential and DoS-resistant multi-hop code dissemination protocol for wireless sensor networks.Proceedings of the 2nd ACM Conference on Wireless Network Security(WiSec’09),Zurich,Switzerland,March 2009:245~252
9 Hyun S W,Ning P,Liu A,et al.Du.Seluge:secure and DoS-resistant code dissemination in wireless sensor networks.Proceedings of the 5th International Conference on Information Processing in Sensor Networks(IPSN’08),St Louis,MO,United States,April 2008:445~456
10 Ning P,Liu A,Du W L.Mitigating DoS attacks against broadcast authentication in wireless sensor networks.ACM Trans Sen Netw,2008,4(1):1~35
11 Wag X M,Wang J P,Xu Y L.Data dissemination in wireless sensor networks with network coding.EURASIP Journal on Wireless Communications and Networking,2010,27(3):1~14
12 Hou I H,Tsai Y,Tarek F A,et al,AdapCode:adaptive network coding for code updates in wireless sensor networks(INFOCOM 2008),Phoenix,AZ,United States,April 2008:2189~2197
13 Law Y W,Zhang Y,Jin J,et al.Secure rateless deluge:pollution-resistant reprogramming and data dissemination for wireless sensor networks.EURASIP Journalon Wireless Communications and Networking,2011(5):1~22
14 Zhang R,Zhang Y C.LR-Seluge:loss-resilient and secure code dissemination in wireless sensor networks.Proceedings of 31st International Conference on Distributed Computing Systems (ICDCS 2011),Minneapolis,MN,United States,June 2011:497~506