一種基于簽名的安全高效數(shù)據(jù)融合方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及軟件領(lǐng)域,具體涉及軟件數(shù)據(jù)融合。
【背景技術(shù)】
[0002] 無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是由部署在監(jiān)測(cè)區(qū)域內(nèi)大量 的廉價(jià)微型傳感器節(jié)點(diǎn)組成,通過(guò)無(wú)線通信的方式形成一個(gè)多跳的自組織網(wǎng)絡(luò)系統(tǒng)。目前 無(wú)線傳感器網(wǎng)絡(luò)的應(yīng)用越來(lái)越廣泛,如環(huán)境管理和軍事監(jiān)控等。然而,構(gòu)成無(wú)線傳感器網(wǎng)絡(luò) 的傳感器節(jié)點(diǎn)存在資源限制,如能量使用限制、計(jì)算能力和內(nèi)存空間的限制等。因此,為了 提高應(yīng)用服務(wù)的質(zhì)量,提高傳感器節(jié)點(diǎn)的能量效率就顯得尤為必要。在無(wú)線傳感器網(wǎng)絡(luò)中, 節(jié)點(diǎn)能量損耗和通信量都是巨大的,為了減少這些消耗,需對(duì)原始數(shù)據(jù)進(jìn)行處理,最好的方 法就是進(jìn)行數(shù)據(jù)融合。在節(jié)點(diǎn)對(duì)數(shù)據(jù)進(jìn)行融合處理的過(guò)程中,應(yīng)保證數(shù)據(jù)的安全性,主要保 證數(shù)據(jù)的機(jī)密性和完整性,以防止竊聽(tīng)和篡改等攻擊。
[0003] 現(xiàn)在的關(guān)于無(wú)線傳感器網(wǎng)絡(luò)的數(shù)據(jù)融合完整性檢驗(yàn)方法較少,主要是Wenbo He提 出的iPDA,一種保證隱私保護(hù)和數(shù)據(jù)完整性的數(shù)據(jù)融合機(jī)制。這個(gè)機(jī)制的基本思想是,通 過(guò)設(shè)計(jì)根植于查詢服務(wù)器的兩個(gè)不相交節(jié)點(diǎn)融合樹(shù)以保護(hù)數(shù)據(jù)的完整性,在該查詢服務(wù)器 中,每個(gè)節(jié)點(diǎn)都屬于一個(gè)單一的融合樹(shù)。這個(gè)數(shù)據(jù)融合方法按如下步驟進(jìn)行:
[0004] 步驟一:每個(gè)傳感器節(jié)點(diǎn)將其數(shù)據(jù)隨機(jī)切片成L塊,將其中的L-I塊數(shù)據(jù)加密并發(fā) 送至融合樹(shù)中隨機(jī)選擇的節(jié)點(diǎn),使得每個(gè)傳感器節(jié)點(diǎn)都保留一塊數(shù)據(jù)。
[0005] 步驟二:每個(gè)傳感器節(jié)點(diǎn)用另一棵融合樹(shù)完成同樣的過(guò)程。
[0006] 步驟三:所有接收到數(shù)據(jù)切片的節(jié)點(diǎn)利用共享密鑰解密這些數(shù)據(jù)塊,并與自身數(shù) 據(jù)合并,將這個(gè)合并值發(fā)送至相應(yīng)融合樹(shù)的父節(jié)點(diǎn)。同時(shí),另一傳感器節(jié)點(diǎn)集合的合并值通 過(guò)另一棵融合樹(shù)發(fā)送至查詢器。
[0007] 步驟四:最后,兩個(gè)不相交融合樹(shù)的融合數(shù)據(jù)到達(dá)基站并進(jìn)行對(duì)比。如果兩棵融合 樹(shù)的融合數(shù)據(jù)的差異不會(huì)偏離預(yù)定義的閾值,該查詢器接受此融合結(jié)果;否則,查詢器認(rèn)為 該數(shù)據(jù)被污染并丟棄此融合結(jié)果。
[0008] 上述機(jī)制在保護(hù)數(shù)據(jù)機(jī)密性方面會(huì)產(chǎn)生數(shù)據(jù)擁塞,導(dǎo)致通信量增大。在加密解密 過(guò)程中每個(gè)傳感器節(jié)點(diǎn)在接收到數(shù)據(jù)后需要先加密再融合,導(dǎo)致計(jì)算開(kāi)銷的增大。而且該 機(jī)制無(wú)法很好地保證數(shù)據(jù)完整性,檢測(cè)不出節(jié)點(diǎn)中數(shù)據(jù)是否被微小地篡改。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明要解決的技術(shù)問(wèn)題是克服現(xiàn)有的缺陷,提供了一種基于簽名的安全高效數(shù) 據(jù)融合方法,基于復(fù)數(shù)的代數(shù)性質(zhì),它不僅可以確保傳感器節(jié)點(diǎn)的敏感數(shù)據(jù)不會(huì)透露給任 何其他節(jié)點(diǎn)或?qū)κ?,也能夠?qū)崿F(xiàn)傳感數(shù)據(jù)的融合值的完整性檢測(cè)。
[0010] 為了解決上述技術(shù)問(wèn)題,本發(fā)明提供了如下的技術(shù)方案:
[0011] 本發(fā)明提供一種基于簽名的安全高效數(shù)據(jù)融合方法,包括如下步驟:
[0012] 步驟一:分配一個(gè)特殊類型的正整數(shù)2n給每個(gè)節(jié)點(diǎn)作為其ID,其中η = 0? BnX8-l,Bn為負(fù)載中可用的字節(jié)數(shù),宿節(jié)點(diǎn)通過(guò)這個(gè)節(jié)點(diǎn)ID的簽名知道傳輸數(shù)據(jù)的傳感 器節(jié)點(diǎn);
[0013] 步驟二:當(dāng)網(wǎng)絡(luò)接收到融合函數(shù)的查詢,每個(gè)節(jié)點(diǎn)的采樣數(shù)據(jù)首先與種子合并隱 藏在實(shí)部a中,這個(gè)種子是唯一的且為一個(gè)私有實(shí)數(shù),可從一個(gè)整數(shù)范圍內(nèi)選取,為了實(shí)現(xiàn) 數(shù)據(jù)完整性,傳感器節(jié)點(diǎn)通過(guò)一個(gè)整數(shù)b的不同區(qū)分前一檢測(cè)數(shù)據(jù)和當(dāng)前檢測(cè)數(shù)據(jù)。b、i和 a -起形成復(fù)數(shù)C = a+bi,其中a稱為實(shí)部,b稱為虛部,復(fù)數(shù)C可以進(jìn)行加減乘除操作;
[0014] 步驟三:父節(jié)點(diǎn)使用與子節(jié)點(diǎn)共享的密鑰解密接收到的數(shù)據(jù),對(duì)每個(gè)子節(jié)點(diǎn)而言, 父節(jié)點(diǎn)通過(guò)使用所存儲(chǔ)的先前的數(shù)據(jù)和從子節(jié)點(diǎn)處接收到的當(dāng)前數(shù)據(jù)計(jì)算兩個(gè)實(shí)部的差 值b' (b'的初始狀態(tài)為0),父節(jié)點(diǎn)記錄其子節(jié)點(diǎn)傳來(lái)的數(shù)據(jù)并不斷更新,父節(jié)點(diǎn)首先將 從當(dāng)前子節(jié)點(diǎn)處接收到的值的虛部b與計(jì)算所得的差值b'進(jìn)行比較,然后將該b與局部閥 值S作比較,若b = b'且δ,則父節(jié)點(diǎn)接收該子節(jié)點(diǎn)的數(shù)據(jù);否則父節(jié)點(diǎn)認(rèn)為子節(jié)點(diǎn) 的數(shù)據(jù)被污染拒絕接收;
[0015] 步驟四:宿節(jié)點(diǎn)從子節(jié)點(diǎn)處接收到所有的數(shù)據(jù)后,通過(guò)相應(yīng)密鑰對(duì)這些數(shù)據(jù)進(jìn)行 解密并計(jì)算最終的融合值SUMl ;
[0016] 步驟五:宿節(jié)點(diǎn)首先通過(guò)檢查接收到的疊加簽名的高位來(lái)得知參與節(jié)點(diǎn)的信息, 通過(guò)按位與運(yùn)算和預(yù)先存儲(chǔ)的特征碼文件或是網(wǎng)絡(luò)中所有節(jié)點(diǎn)的節(jié)點(diǎn)ID的疊加簽名來(lái)實(shí) 現(xiàn)。
[0017] 進(jìn)一步地,所述節(jié)點(diǎn)ID可以生成一定長(zhǎng)度的簽名。
[0018] 進(jìn)一步地,所述簽名的長(zhǎng)度取決于無(wú)線傳感器網(wǎng)絡(luò)的規(guī)模。
[0019] 進(jìn)一步地,所述節(jié)點(diǎn)均可以自行定制自身的數(shù)據(jù)。
[0020] 進(jìn)一步地,所述宿節(jié)點(diǎn)在接受SUM2之前會(huì)對(duì)SUM2進(jìn)行全局完整性校驗(yàn)。
[0021] 進(jìn)一步地,所述對(duì)SUM2進(jìn)行全局完整性校驗(yàn)方法包括如下步驟:
[0022] 步驟一:指定節(jié)點(diǎn)ID并生成ID的簽名;
[0023] 步驟二:從源節(jié)點(diǎn)中生成自定義數(shù)據(jù);
[0024] 步驟三:局部完整性校驗(yàn)和利用可加性復(fù)數(shù)獲得自定義數(shù)據(jù)的中間結(jié)果;
[0025] 步驟四:在宿節(jié)點(diǎn)處計(jì)算融合結(jié)果;
[0026] 步驟五:在宿節(jié)點(diǎn)處,確認(rèn)參與的傳感器節(jié)點(diǎn)、計(jì)算實(shí)際SUM并進(jìn)行全局完整性 校。
[0027] 進(jìn)一步地,所述步驟四中SUMl分成實(shí)部SUMlR和虛部SUMlI。
[0028] 進(jìn)一步地,所述SUMl的值是一個(gè)復(fù)數(shù)形式。
[0029] 進(jìn)一步地,所述SUMl的傳感數(shù)據(jù)隱藏在實(shí)部當(dāng)中。
[0030] 進(jìn)一步地,所述傳感器節(jié)點(diǎn)的采樣數(shù)據(jù)隱藏在實(shí)部當(dāng)中,宿節(jié)點(diǎn)從SUMlR中減去 SUM2R,得到真正的融合結(jié)果SUM2。
[0031] 一種基于簽名的安全高效數(shù)據(jù)融合方法,1、在本方案中每個(gè)節(jié)點(diǎn)可以自行定制它 的數(shù)據(jù),它不需要在網(wǎng)絡(luò)中產(chǎn)生額外的消息來(lái)保證數(shù)據(jù)機(jī)密性和校驗(yàn)完整性。而iPDA機(jī)制 會(huì)在網(wǎng)絡(luò)中產(chǎn)生六條額外的消息來(lái)保證其數(shù)據(jù)機(jī)密性和完整性。節(jié)點(diǎn)之間更多消息的交換 會(huì)使iPDA增加高數(shù)據(jù)沖突的可能。
[0032] 2、消息的傳輸和接收都需要一定的節(jié)點(diǎn)能量,通過(guò)仿真可知,本方案的能量消耗 總是低于iPDA。這是因?yàn)閕PDA機(jī)制會(huì)在網(wǎng)絡(luò)中產(chǎn)生不必要的消息以確保數(shù)據(jù)融合過(guò)程中 數(shù)據(jù)的完整性和隱私保護(hù),為了傳輸所有消息,每個(gè)節(jié)點(diǎn)需要工作更長(zhǎng)的時(shí)間。而本方案中 的節(jié)點(diǎn)可通過(guò)比較當(dāng)前復(fù)數(shù)和前一個(gè)復(fù)數(shù)來(lái)保證數(shù)據(jù)完整性和隱私性,由仿真結(jié)果可知, 本方案的能量消耗與iPDA相比能減少80%。
[0033] 3、由于iPDA會(huì)產(chǎn)生額外的消息,其數(shù)據(jù)傳播延遲比本方案高,同樣,其工作循環(huán) 時(shí)間(一個(gè)實(shí)體在總時(shí)間內(nèi)處于活躍狀態(tài)的時(shí)間)也更長(zhǎng)。
[0034] 4、在完整性校驗(yàn)方面,本方案能夠檢測(cè)出所有被污染的數(shù)據(jù),而iPDA只能檢測(cè)出 少于30%的被污染消息。這是因?yàn)楸痉桨笇?duì)每個(gè)節(jié)點(diǎn)數(shù)據(jù)都進(jìn)行完整性校驗(yàn),而iPDA只在 宿節(jié)點(diǎn)才對(duì)數(shù)據(jù)完整性進(jìn)行校驗(yàn)。
【具體實(shí)施方式】
[0035] 以下對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用 于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明。
[0036] 在無(wú)線傳感器網(wǎng)絡(luò)中利用復(fù)數(shù)的可加性融合檢測(cè)到的數(shù)據(jù)。復(fù)數(shù)(a+bi)的兩部 分中實(shí)部a用來(lái)隱藏傳感器節(jié)點(diǎn)從其鄰居節(jié)點(diǎn)和對(duì)手處得到的采樣數(shù)據(jù),虛部bi用來(lái)在 數(shù)據(jù)聚合節(jié)點(diǎn)和基站處檢測(cè)數(shù)據(jù)完整性。節(jié)點(diǎn)將數(shù)