一種可檢測數(shù)據(jù)完整性的隱私數(shù)據(jù)融合方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及到無線傳感網(wǎng)絡(luò)技術(shù)和無線通信技術(shù)領(lǐng)域,具體是無線傳感器網(wǎng)絡(luò)數(shù) 據(jù)融合中節(jié)點數(shù)據(jù)的隱私保護和完整性檢測。
【背景技術(shù)】
[0002] 無線傳感器網(wǎng)絡(luò)(WirelessSensorNetwork,WSN)是物聯(lián)網(wǎng)的重要組成部分, 它通過網(wǎng)絡(luò)中隨機分布的大量節(jié)點收集信息,并返回給所在區(qū)域供查詢用戶進行分析和處 理。由于WSN中每個節(jié)點的能量和資源受限,難以傳輸大量的傳感數(shù)據(jù),在信息收集的過程 中采用各個節(jié)點單獨傳送數(shù)據(jù)到QS的方法是不合適的,即會增加通信開銷,又會降低采集 信息的效率。因此,為了能夠有效地減少WSN中的能耗,一般采用有效的數(shù)據(jù)融合技術(shù)。數(shù) 據(jù)融合是傳感器網(wǎng)絡(luò)中一種高效的數(shù)據(jù)查詢處理方案,它將多份數(shù)據(jù)進行處理,組合出更 有效、更符合用戶需求的數(shù)據(jù)。在日常生活中數(shù)據(jù)融合技術(shù)被廣泛應(yīng)用,例如在森林防火的 應(yīng)用中,需要對多個溫度傳感器探測到的環(huán)境溫度數(shù)據(jù)進行融合;在目標自動識別應(yīng)用中, 需要對圖像監(jiān)測傳感器采集的圖像數(shù)據(jù)進行融合處理。在傳感器應(yīng)用中,大多數(shù)時候只關(guān) 心監(jiān)測結(jié)果,并不需要收到大量原始數(shù)據(jù),數(shù)據(jù)融合是實現(xiàn)此目的的重要手段。
[0003] 傳感器網(wǎng)絡(luò)中收集到的信息作為物聯(lián)網(wǎng)應(yīng)用的基礎(chǔ),是物聯(lián)網(wǎng)的重要資源之一, 由于QS不可能直接獲取所有節(jié)點收集到的數(shù)據(jù),其安全性一直是該領(lǐng)域的一大挑戰(zhàn)。安全 性問題不僅局限于隱私保護方面,還包括信息的完整性。在TAG算法中,節(jié)點通過無線信道 將數(shù)據(jù)沿著融合樹向上傳遞并融合,最終QS得到需要的融合數(shù)據(jù)。然而,由于無線傳輸?shù)?特性,節(jié)點間傳輸?shù)臄?shù)據(jù)容易被捕獲或偷聽。信任父節(jié)點會獲取子節(jié)點的數(shù)據(jù),如果父節(jié)點 或者鏈路被監(jiān)聽以至捕獲,數(shù)據(jù)的隱私性會被破壞。因此,在數(shù)據(jù)融合中對數(shù)據(jù)進行隱私保 護是有必要的。
[0004] 數(shù)據(jù)的完整性檢測是安全性問題的另一重要方面。通過完整性檢測可以準確地判 斷獲取的數(shù)據(jù)跟節(jié)點收集的原始數(shù)據(jù)是否一致,以防止在傳輸過程中注入虛假或者被篡改 的數(shù)據(jù)。經(jīng)過數(shù)據(jù)融合后的信息是用來供用戶分析與處理,或制定相應(yīng)的解決方案的,數(shù)據(jù) 的正確與否直接影響著用戶的判斷。如果信息的完整性被破壞,融合后的信息將與原始信 息不一致,用戶依賴此信息進行的分析將會有偏差。所以,在數(shù)據(jù)融合中對數(shù)據(jù)進行完整性 檢測是非常重要的。
[0005] 目前,已提出了一些檢測數(shù)據(jù)完整性的隱私數(shù)據(jù)融合方法,雖然聚合結(jié)果精確度 高,但計算開銷和通信開銷都太大,且完整性檢測機制還不完善,使用范圍有局限性。
【發(fā)明內(nèi)容】
[0006] 針對現(xiàn)有技術(shù)中的不足,本發(fā)明的目的在于提供一種使用范圍廣、完整性檢測全 面且通信開銷和計算開銷都較小的方法,本發(fā)明的技術(shù)方案如下:一種可檢測數(shù)據(jù)完整性 的隱私數(shù)據(jù)融合方法,其包括以下步驟:
[0007]101、在無線傳感器網(wǎng)絡(luò)中,所述無線傳感器網(wǎng)絡(luò)具有若干節(jié)點及查詢服務(wù)器QS, 查詢服務(wù)器QS采用隨機密鑰分配機制為每個節(jié)點進行端到端的密鑰分配,具體為分配給 每個節(jié)點私有密鑰k及公開到整個無線傳感器網(wǎng)絡(luò)中的素數(shù)C,同時QS存儲所有節(jié)點的ID 和私有密鑰k;查詢服務(wù)器QS發(fā)送包含有共享密鑰m的hello信號包給每個節(jié)點;
[0008] 102、在無線傳感器網(wǎng)絡(luò)的某個區(qū)域S內(nèi),構(gòu)建一個簇群,簇群包括一個簇頭節(jié)點 及若干簇內(nèi)節(jié),并為每個簇頭節(jié)點分配一個數(shù)組J[N],用于存儲同一個簇內(nèi)所有節(jié)點的切 片數(shù),數(shù)組J[N]的索引號與所有節(jié)點的ID-一對應(yīng),如果某節(jié)點不屬于該簇,則該節(jié)點ID 相對應(yīng)的數(shù)組索引號所對應(yīng)的值始終為0 ;
[0009] 103、對簇群內(nèi)包括簇頭節(jié)點及若干簇內(nèi)節(jié)點的所有節(jié)點進行數(shù)據(jù)等量切分得到 切片數(shù)據(jù),即簇(^有ni個成員,即簇的大小為np則這個簇的一個節(jié)點將發(fā)送ni-1份切片 數(shù)據(jù)給這個簇內(nèi)的其他節(jié)點,每個節(jié)點自身保留1份切片數(shù)據(jù),其余的h-1份切片數(shù)據(jù)發(fā) 送給簇內(nèi)其它節(jié)點,其中發(fā)送給其它節(jié)點的數(shù)據(jù)是經(jīng)過加密后的數(shù)據(jù),經(jīng)過加密后的數(shù)據(jù) 包括切片數(shù)據(jù)和消息驗證碼MAC值;
[0010] 104、當簇Ci內(nèi)的ni個成員節(jié)點均接受其他節(jié)點轉(zhuǎn)發(fā)來的經(jīng)過加密后的數(shù)據(jù),并 對經(jīng)過加密后的數(shù)據(jù)進行解密后,將自身保留的私有數(shù)據(jù)和解密后的數(shù)據(jù)進行簇內(nèi)數(shù)據(jù)同 態(tài)性融合;然后節(jié)點將經(jīng)過簇內(nèi)數(shù)據(jù)同態(tài)性融合的數(shù)據(jù)經(jīng)過加密再廣播給簇頭節(jié)點,然后 簇頭節(jié)點對簇內(nèi)融合數(shù)據(jù)進行解密,并將自身融合數(shù)據(jù)與解密后的簇內(nèi)融合數(shù)據(jù)進行同態(tài) 性融合計算得到融合結(jié)果,完成簇內(nèi)節(jié)點數(shù)據(jù)融合;
[0011] 105、簇頭節(jié)點把計算出的融合結(jié)果沿著數(shù)據(jù)融合算法TAG建立的路由樹傳送至 查詢服務(wù)器QS;簇頭數(shù)據(jù)聚合完成后,此時查詢服務(wù)器QS獲得網(wǎng)絡(luò)最終融合結(jié)果,并進行 數(shù)據(jù)的完整性檢測;
[0012] 106、如果數(shù)據(jù)的完整性有誤,簇頭節(jié)點不再按照融合樹上傳數(shù)據(jù),而是直接將數(shù) 據(jù)上傳給查詢服務(wù)器QS,單獨進行數(shù)據(jù)完整性檢測,直到找出所有數(shù)據(jù)完整性被破壞的簇 頭節(jié)點,將該被破壞的簇頭節(jié)點反饋給用戶。
[0013] 進一步的,步驟103所述的消息驗證碼MAC值為,假設(shè)WSN中只建立一顆融合樹,, 對于節(jié)點~modC1,其中a為節(jié)點的原始數(shù)據(jù),設(shè)定三個密鑰k、m、 C,k為每個節(jié)點的私有密鑰,只有節(jié)點自身和QS節(jié)點知道,N表示一顆融合樹中有N個節(jié) 點,就會產(chǎn)生k1~kN*N個密鑰;m是一顆網(wǎng)絡(luò)區(qū)域融合樹的共享密鑰,同一顆融合樹中節(jié) 點的共享密鑰相同;C是一個素數(shù)被公開到網(wǎng)絡(luò)中的每個節(jié)點。
[0014] 進一步的,當步驟103中簇(;的1^為3時,即簇內(nèi)節(jié)點分別是:X、Y和Z,并假設(shè)節(jié) 點Z為這個簇的簇頭,口八了八^口八了八^口八了^分別代表三個節(jié)點的私有數(shù)據(jù)"交節(jié)點乂的私有數(shù) 據(jù)被切分為三片,表示為DATAX=seedx+seedXY+seedxz,其中seedx為節(jié)點自身保留的私有數(shù) 據(jù),seedxY為節(jié)點X發(fā)送給Y的切片數(shù)據(jù),seedxz為節(jié)點X發(fā)送給Z的切片數(shù)據(jù),經(jīng)過加密,節(jié) 點X最終發(fā)給節(jié)點Y的切片數(shù)據(jù)為IDX |seek|MAC(see、kx),此時DATAX=DATAx-SeedXY〇
[0015] 進一步的,當步驟104中的解密后包括以下步驟:當節(jié)點Y接收X發(fā)送來的切 片數(shù)據(jù),通過鏈路通信共享密鑰解密后,進行如下操作:計算RECy=RECY+seedXY,MACy= MACy?MAC(seedXY,kx),RECy表示節(jié)點Y接收到的數(shù)據(jù),MACy表示節(jié)點Y數(shù)據(jù)的消息驗證 碼,十:表示融合,當簇內(nèi)的所有節(jié)點發(fā)送及接受切片數(shù)據(jù)完成后,節(jié)點進行如下計算以節(jié) 點X為例:MACX=MACx ?MAC(DATAx,kA) ;DATAX=DATAX+RECX;AGGx=AGGX+DATAX;DMACx= DMACX?MACX。
[0016] 本發(fā)明的優(yōu)點及有益效果如下:
[0017] 由于現(xiàn)有的一些檢測數(shù)據(jù)完整性的隱私數(shù)據(jù)融合方法,雖然聚合結(jié)果精確度高, 但在檢測的過程中通信開銷和計算開銷都比較大,且完整性檢測機制還不完善,使用范圍 有局限性。為了克服上述現(xiàn)有技術(shù)中存在的缺陷同時滿足數(shù)據(jù)的隱私保護,本發(fā)明提出了 一種可進行數(shù)據(jù)完整性和隱私保護的數(shù)據(jù)融合方法,通過在節(jié)點進行數(shù)據(jù)混合的過程中加 入同態(tài)消息驗證碼,使節(jié)點的真實密鑰與相應(yīng)生成的MAC都隨著存儲數(shù)據(jù)的改變而改變, 而節(jié)點自身的存儲密鑰不發(fā)生改變。即使攻擊者同時捕獲了節(jié)點的密鑰和數(shù)據(jù),但也無法 獲取節(jié)點真實密鑰,因此可以同時滿足數(shù)據(jù)的完整性和隱私保護。如果QS檢測出數(shù)據(jù)的完 整性有錯,可以回溯到相關(guān)節(jié)點進行完整性檢測,并由QS計算出的真實密鑰來判斷