專利名稱:安全有效的無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種程序動態(tài)更新方法,屬于無線通信領(lǐng)域。
背景技術(shù):
近年來,無線傳感器網(wǎng)絡(luò)因其具有廣闊的應(yīng)用前景而引起了大量研究者的關(guān)注。 在大多數(shù)情況下,基站需要更新傳感器節(jié)點(diǎn)上的程序。這里的基站是指連接著傳感器網(wǎng)絡(luò) 并且資源不受限的服務(wù)器。最近,許多無線傳感器網(wǎng)絡(luò)安全動態(tài)程序更新機(jī)制已經(jīng)被提出, 其中一些機(jī)制因?yàn)槭褂昧藬?shù)字簽名這一高能耗的操作而不適用于資源受限的傳感器網(wǎng)絡(luò), 一些其他機(jī)制已經(jīng)被人指出存在安全漏洞。因此,到目前為止,還沒有出現(xiàn)一種安全有效的 無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種安全有效的無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是該安全有效的無線傳感器網(wǎng)絡(luò)程序 動態(tài)更新方法主要包括以下步驟 1)在傳感器節(jié)點(diǎn)部署前,基站進(jìn)行以下操作 確定一個(gè)歐氏空間,并將該歐氏空間分解為兩個(gè)正交的第一子空間和第二子空 間;隨機(jī)選擇第一子空間的一個(gè)標(biāo)準(zhǔn)正交基,并為每一個(gè)傳感器節(jié)點(diǎn)從第二子空間中隨機(jī) 選擇一個(gè)向量; 確定一個(gè)哈希函數(shù),并為所有的傳感器節(jié)點(diǎn)選擇一個(gè)相同的隨機(jī)數(shù)作為簇密鑰;
將所述向量、簇密鑰和哈希函數(shù)安裝到每一個(gè)傳感器節(jié)點(diǎn)中; 2)在傳感器節(jié)點(diǎn)部署后,當(dāng)基站對所有傳感器節(jié)點(diǎn)上的程序進(jìn)行更新時(shí),基站向 傳感器網(wǎng)絡(luò)廣播程序更新消息,該程序更新消息中包括消息發(fā)送的時(shí)間戳、更新后的程序、 程序版本號、程序的標(biāo)識符、以簇密鑰作為輸入的哈希函數(shù)值和用來檢驗(yàn)程序更新消息的 有效性的輔助信息; 3)每個(gè)傳感器節(jié)點(diǎn)收到程序更新消息后,驗(yàn)證該消息的有效性,若該程序更新消 息有效,則傳感器節(jié)點(diǎn)接受該程序更新消息并更新自身的程序;否則拒絕該程序更新消息。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是 (1)本發(fā)明通過矩陣正交原理來實(shí)現(xiàn)系統(tǒng)的安全性,簡單可靠,因此特別適用于資 源受限的無線傳感器網(wǎng)絡(luò); (2)傳感器節(jié)點(diǎn)對程序更新消息進(jìn)行了周密的驗(yàn)證從而能夠有效地抵御各
種襲擊,特別是簇密鑰的使用,能夠有效抵御蟲洞攻擊; (3)為了更新所有傳感器節(jié)點(diǎn)上的程序,基站僅需要發(fā)送唯一一個(gè)廣播消息即可。
(4)本發(fā)明中的程序更新信息的長度是固定的,與傳感器網(wǎng)絡(luò)的節(jié)點(diǎn)數(shù)目無關(guān),從 而適用于大規(guī)模的無線傳感器網(wǎng)絡(luò)程序更新。
圖1是本發(fā)明無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法的工作流程圖。
具體實(shí)施例方式有關(guān)的技術(shù)術(shù)語如下
M程序xPid程序M的標(biāo)識符^ver程序M的版本h單路的哈希函數(shù)④異或操作
A B矩陣A和矩陣B的點(diǎn)積AT矩陣A的轉(zhuǎn)置A.在傳感器節(jié)點(diǎn)部署前,基站選擇一個(gè)n維的歐氏空間V,并且將V分解為兩個(gè)正交的第-一子空間K和第二子空間、,其中K是k維,L是n-k維。基站再隨機(jī)選擇K的一個(gè)標(biāo)準(zhǔn)正交基{QpQ^... ,QJ ;并且為每個(gè)傳感器節(jié)點(diǎn)i選擇一個(gè)向量Ci, i = 1,2K,k,其 中&是屬于V2的元素?;敬_定一個(gè)哈希函數(shù),再為所有的傳感器節(jié)點(diǎn)選擇一個(gè)相同的m 位的隨機(jī)數(shù)xB作為簇密鑰,m應(yīng)該足夠大,例如256,也就是說xB是一個(gè)高信息熵的隨機(jī)數(shù)。 然后,向量&、哈希函數(shù)h和簇密鑰xB被裝載到每個(gè)傳感器節(jié)點(diǎn)中。 B.在傳感器節(jié)點(diǎn)部署后,當(dāng)需要更新程序時(shí),基站向所有的傳感器節(jié)點(diǎn)發(fā)送程序 更新消息Mddv(j),M=^^■,M,義,X附,/^C;V,,M,J^w,;re xs),^9J},其中J = l,2Kk, j
表示程序更新序號,是用來檢驗(yàn)程序更新消息的有效性的一個(gè)輔助信息;tj表示消息Mddv(j) 發(fā)送的時(shí)間戳;M表示更新后的程序,XPid表示程序的標(biāo)識符,rsr表示程序版本號,|3是滿 足關(guān)系h(j, tj, M, Xpid, XVCT, Xb) |3 = 0的向量。 C.當(dāng)任一傳感器節(jié)點(diǎn)i接收到消息Mddv(j)時(shí),進(jìn)行下面關(guān)于程序更新消息的有效 性驗(yàn)證的操作 1)驗(yàn)證j的有效性如果j小于或者等于存貯在傳感器節(jié)點(diǎn)中的j*時(shí),傳感器節(jié) 點(diǎn)拒絕該消息;否則,傳感器節(jié)點(diǎn)認(rèn)為j是新鮮的并且用j替換掉f(初始時(shí),傳感器節(jié)點(diǎn) 存貯的j* = 0),并進(jìn)行下一步操作。 2)驗(yàn)證tj的有效性傳感器節(jié)點(diǎn)的當(dāng)前時(shí)間為Clock,如果IClock-tjl < At,進(jìn) 行下一步驟;否則傳感器節(jié)點(diǎn)拒絕該消息。這里At為預(yù)先設(shè)置好的時(shí)間延遲閾值;
3)接著,傳感器節(jié)點(diǎn)利用所存儲的簇密鑰xB計(jì)算h(j, tj, M, Xpid, XVCT, xB),將所計(jì) 算得到的h(j, tj, M, Xpid, XVCT, xB)與Madv(j)中對應(yīng)的哈希函數(shù)值h(j, tj, M, Xpid, XVCT, xB)進(jìn) 行比較,如果兩者不相等,則傳感器節(jié)點(diǎn)拒絕該消息;如果兩者相等,則進(jìn)行下一步驟。
4)傳感器節(jié)點(diǎn)計(jì)算h (j , tj, M, Xpid, XVCT, xB) t |3 0/,如果等于0,進(jìn)行下一步驟;否則
傳感器節(jié)點(diǎn)拒絕該消息; 5)傳感器節(jié)點(diǎn)隨機(jī)從13 0/中選擇一個(gè)非零的行向量R/,將R/和存儲在節(jié)點(diǎn)i中 的&相乘,如果結(jié)果為O,繼續(xù)下一步驟;否則傳感器節(jié)點(diǎn)拒絕該消息;6)傳感器節(jié)點(diǎn)檢查Rj是否為&, R2 K Rj—工的線性組合,如果不是,則存儲Rj,將Rj
插入到向量集合{&,1 21( Rj—J中,接受該消息;否則拒絕該消息。
每個(gè)傳感器節(jié)點(diǎn)對收到的程序更新消息都進(jìn)行以上一系列關(guān)于程序更新消息的 有效性的檢驗(yàn)的操作,若該消息能夠通過全部的檢驗(yàn),則該傳感器節(jié)點(diǎn)接受該程序更新消 息,進(jìn)行程序的動態(tài)更新;否則,該傳感器節(jié)點(diǎn)拒絕該程序更新消息。
權(quán)利要求
一種安全有效的無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法,其特征在于包括以下步驟1)在傳感器節(jié)點(diǎn)部署前,基站進(jìn)行以下操作確定一個(gè)歐氏空間,并將該歐氏空間分解為兩個(gè)正交的第一子空間和第二子空間;隨機(jī)選擇第一子空間的一個(gè)標(biāo)準(zhǔn)正交基,并為每一個(gè)傳感器節(jié)點(diǎn)從第二子空間中隨機(jī)選擇一個(gè)向量;確定一個(gè)哈希函數(shù),并為所有的傳感器節(jié)點(diǎn)選擇一個(gè)相同的隨機(jī)數(shù)作為簇密鑰;將所述向量、簇密鑰和哈希函數(shù)安裝到每一個(gè)傳感器節(jié)點(diǎn)中;2)在傳感器節(jié)點(diǎn)部署后,當(dāng)基站對所有傳感器節(jié)點(diǎn)上的程序進(jìn)行更新時(shí),基站向傳感器網(wǎng)絡(luò)廣播程序更新消息,該程序更新消息包括消息發(fā)送的時(shí)間戳、更新后的程序、程序版本號、程序的標(biāo)識符、以簇密鑰作為輸入的哈希函數(shù)值和用來檢驗(yàn)程序更新消息的有效性的輔助信息;3)每個(gè)傳感器節(jié)點(diǎn)收到程序更新消息后,利用所存儲的簇密鑰,驗(yàn)證該消息的有效性,若該程序更新消息有效,則傳感器節(jié)點(diǎn)接受該程序更新消息并更新自身的程序;否則拒絕該程序更新消息。
全文摘要
本發(fā)明公開了一種安全有效的無線傳感器網(wǎng)絡(luò)程序動態(tài)更新方法,屬無線通信領(lǐng)域。該方法包括以下步驟在傳感器節(jié)點(diǎn)部署前,基站確定一個(gè)歐氏空間,并將它分解為兩個(gè)正交的第一子空間和第二子空間;隨機(jī)選擇第一子空間的一個(gè)標(biāo)準(zhǔn)正交基,并為每一個(gè)傳感器節(jié)點(diǎn)從第二子空間中隨機(jī)選擇一個(gè)向量;確定一個(gè)哈希函數(shù),并為所有的傳感器節(jié)點(diǎn)選擇一個(gè)相同的隨機(jī)數(shù)作為簇密鑰;將所述向量、簇密鑰和哈希函數(shù)安裝到每一個(gè)傳感器節(jié)點(diǎn)中;當(dāng)基站需要更新所有傳感器節(jié)點(diǎn)上的程序時(shí),基站向傳感器網(wǎng)絡(luò)廣播程序更新消息,由各傳感器節(jié)點(diǎn)驗(yàn)證該消息的有效性,若該程序更新消息有效,則傳感器節(jié)點(diǎn)接受該程序更新消息并更新自身的程序;否則拒絕該程序更新消息。
文檔編號H04W12/00GK101742490SQ20091015512
公開日2010年6月16日 申請日期2009年12月2日 優(yōu)先權(quán)日2009年12月2日
發(fā)明者何道敬, 卜佳俊, 尹明劍, 陳純 申請人:浙江大學(xué)