面向兩層WSNs的最值查詢方法
【專利摘要】本發(fā)明公開了一種面向兩層WSNs的最值查詢方法,包含步驟:1)匯聚節(jié)點產(chǎn)生隨機數(shù)并通過秘密信道傳送給傳感節(jié)點;2)傳感節(jié)點使用隨機數(shù)對采樣數(shù)據(jù)進行隱私化處理,得到隱私數(shù)據(jù),將隱私數(shù)據(jù)加密后傳送給存儲節(jié)點;3)存儲節(jié)點查找隱私數(shù)據(jù)最值,并對隱私數(shù)據(jù)最值加密后傳遞給匯聚節(jié)點;(4)匯聚節(jié)點還原隱私數(shù)據(jù)獲得采樣數(shù)據(jù)最值。本發(fā)明在保證最值查詢正確性的前提下,有效保護了數(shù)據(jù)隱私性;同時,無太復雜計算,且計算后產(chǎn)生的數(shù)據(jù)量小,不會大幅增加節(jié)點計算負荷和網(wǎng)絡通信負荷,適用于無線傳感器網(wǎng)絡。
【專利說明】面向兩層WSNs的最值查詢方法
【技術領域】
[0001]本發(fā)明屬于無線傳感器網(wǎng)絡安全【技術領域】,具體涉及一種面向兩層WSNs (無線傳感器網(wǎng)絡)的最值查詢方法。
【背景技術】
[0002]WSNs (無線傳感器網(wǎng)絡)作為物聯(lián)網(wǎng)底層和信息收集的源頭,能夠在無人值守區(qū)域進行數(shù)據(jù)采集、監(jiān)控,并通過無線網(wǎng)絡將采集的數(shù)據(jù)發(fā)送到服務端,廣泛應用于軍事、環(huán)境監(jiān)測、醫(yī)療、農(nóng)業(yè)等領域。
[0003]兩層WSNs是對WSNs的一種改進,其通過在匯聚節(jié)點和傳感節(jié)點間增加存儲節(jié)點,將WSNs分為兩層。傳感節(jié)點通過存儲節(jié)點向匯聚節(jié)點發(fā)送傳感數(shù)據(jù),匯聚節(jié)點通過存儲節(jié)點向傳感節(jié)點發(fā)送控制指令。存儲節(jié)點具有良好的數(shù)據(jù)存儲能力,通過對傳感數(shù)據(jù)進行暫時存儲,有效解決了大量傳感數(shù)據(jù)傳輸造成的網(wǎng)絡擁塞問題。同時,存儲節(jié)點還具有較強的計算能力,可實現(xiàn)查詢操作和數(shù)據(jù)融合。
[0004]然而,在兩層WSNs中,由于存儲大量的傳感數(shù)據(jù),并執(zhí)行匯聚節(jié)點發(fā)送來的控制指令,存儲節(jié)點極易成為攻擊目標。此外,傳感節(jié)點也易被捕獲成為竊取數(shù)據(jù)的工具,因此需要針對存儲節(jié)點和傳感節(jié)點數(shù)據(jù)進行隱私保護。
[0005]在一些預報、預警的應用環(huán)境中,傳輸最大或最小的最值傳感數(shù)據(jù)比傳輸全部傳感數(shù)據(jù)的意義更大。最值查詢的目的是為了獲得某區(qū)域內(nèi)傳感數(shù)據(jù)的最大或最小值。但是,查詢過程容易暴露傳感數(shù)據(jù),對于一些數(shù)據(jù)安全性要求高的應用,尤其需要在查詢過程中對數(shù)據(jù)進行隱私保護。目前針對查詢的隱私保護研究主要集中在范圍查詢,對于隱私保護最值查詢的研究較少。
【發(fā)明內(nèi)容】
[0006]本發(fā)明的目的是提供一種面向兩層WSNs的最值查詢方法,該方法在保證傳感數(shù)據(jù)最值查詢正確性的同時,還可以保護數(shù)據(jù)隱私。
[0007]為達到上述目的,本發(fā)明采用如下的技術方案:
[0008]面向兩層WSNs的最值查詢方法,所述的兩層WSNs包括匯聚節(jié)點、存儲節(jié)點和傳感節(jié)點,包括步驟:
[0009]步驟1,匯聚節(jié)點產(chǎn)生對存儲節(jié)點保密的大于O的第一隨機數(shù),并通過其與傳感節(jié)點間的秘密信道將第一隨機數(shù)傳遞給傳感節(jié)點;
[0010]步驟2,傳感節(jié)點根據(jù)第一隨機數(shù)產(chǎn)生大于O小于第一隨機數(shù)的第二隨機數(shù),采用第一隨機數(shù)和第二隨機數(shù)隱私化處理采樣數(shù)據(jù)獲得隱私數(shù)據(jù),使得隱私數(shù)據(jù)最值對應采樣數(shù)據(jù)最值,采用傳感節(jié)點和存儲節(jié)點間的通信密鑰對隱私數(shù)據(jù)加密后傳遞給存儲節(jié)點;
[0011]步驟3,存儲節(jié)點獲得查詢單元內(nèi)各傳感節(jié)點的隱私數(shù)據(jù),比較隱私數(shù)據(jù)獲得隱私數(shù)據(jù)最值,將隱私數(shù)據(jù)最值加密后發(fā)送給匯聚節(jié)點;
[0012]步驟4,匯聚節(jié)點獲得隱私數(shù)據(jù)最值并采用隱私化處理的逆運算還原隱私數(shù)據(jù)最值,即獲得查詢單元內(nèi)傳感節(jié)點的采樣數(shù)據(jù)最值。
[0013]步驟I中,匯聚節(jié)點使用其與傳感節(jié)點間的共享密鑰加密第一隨機數(shù),并傳遞給存儲節(jié)點,存儲節(jié)點將接收消息包向查詢單元內(nèi)各傳感節(jié)點廣播。
[0014]步驟2中,所述的采用第一隨機數(shù)和第二隨機數(shù)隱私化處理采樣數(shù)據(jù)采用如下公式Xi = Θ Vi+ δ ,進行,其中,Vi為按預設精度整數(shù)化采樣數(shù)據(jù)Cli獲得的整數(shù)噸為t采樣時刻的采樣數(shù)據(jù)Ai為Vi經(jīng)隱私化處理后獲得的隱私數(shù)據(jù)分別為第一隨機數(shù)和第二隨機數(shù)。
[0015]步驟3中,存儲節(jié)點采用匯聚節(jié)點的公鑰加密隱私數(shù)據(jù)最值,并發(fā)送給匯聚節(jié)點。
[0016]步驟4中,匯聚節(jié)點采用自己的私鑰解密存儲節(jié)點發(fā)送的包括隱私數(shù)據(jù)最值的消息包,獲得隱私數(shù)據(jù)。
[0017]步驟4中,匯聚節(jié)點還原隱私數(shù)據(jù)最值,具體為:
[0018]將隱私數(shù)據(jù)最值除以第一隨機數(shù),所得整數(shù)部分即為采樣數(shù)據(jù)整數(shù)化后的最值,根據(jù)預設采樣數(shù)據(jù)精度,采用采樣數(shù)據(jù)整數(shù)化處理的逆運算處理采樣數(shù)據(jù)整數(shù)化后的最值,即獲得采樣數(shù)據(jù)最值。
[0019]本發(fā)明在保證最值查詢正確性、且盡可能減小能耗的前提下,還可達到以下安全目標:
[0020](I)傳感節(jié)點除了獲知自己采集的采樣數(shù)據(jù)外,無法獲取其他傳感節(jié)點采集的采樣數(shù)據(jù);
[0021](2)存儲節(jié)點無法獲取到任何傳感節(jié)點的采樣數(shù)據(jù)。
[0022]和現(xiàn)有技術相比,本發(fā)明具有如下優(yōu)點:
[0023](I)最值查詢過程中可避免采樣數(shù)據(jù)被竊取,保證了數(shù)據(jù)安全。
[0024](2)無太復雜計算,且計算后產(chǎn)生的數(shù)據(jù)量小,不會大幅增加節(jié)點計算負荷和網(wǎng)絡通信負荷,適用于無線傳感器網(wǎng)絡。
【專利附圖】
【附圖說明】
[0025]圖1是兩層WSNs的網(wǎng)絡模型示例;
[0026]圖2是本發(fā)明具體實施例的流程圖;
[0027]圖3是本發(fā)明具體實施例的數(shù)據(jù)交換示例圖,其中,Sink表示匯聚節(jié)點,SN表示存儲節(jié)點,Si表示傳感節(jié)點。
【具體實施方式】
[0028]本發(fā)明主要包括隨機調(diào)制參數(shù)傳遞、隱私數(shù)據(jù)處理、最值查詢和最值數(shù)據(jù)還原四個階段,參見圖2,具體步驟如下:
[0029]1、隨機調(diào)制參數(shù)傳遞
[0030]匯聚節(jié)點產(chǎn)生大于O的第一隨機數(shù)Θ,第一隨機數(shù)Θ通過匯聚節(jié)點和查詢單元內(nèi)傳感節(jié)點間的秘密信道傳遞給傳感節(jié)點,存儲節(jié)點無法獲取第一隨機數(shù)Θ值。傳感節(jié)點根據(jù)接收的第一隨機數(shù)Θ對采樣數(shù)據(jù)進行調(diào)制,匯聚節(jié)點根據(jù)第一隨機數(shù)Θ還原采樣數(shù)據(jù)。
[0031]2、隱私數(shù)據(jù)處理
[0032]各傳感節(jié)點收到第一隨機數(shù)Θ后,根據(jù)第一隨機數(shù)Θ分別產(chǎn)生第二隨機數(shù)Si,SiG (O, Θ)。對于t采樣時刻的采樣數(shù)據(jù)di,按預設精度整數(shù)化采樣數(shù)據(jù)Cli得到Vi,采用第一隨機數(shù)Θ和第二隨機數(shù)δ i處理Vi,得到采樣數(shù)據(jù)Cli對應的隱私數(shù)據(jù)Xi = θν,+ δ i。采用傳感節(jié)點Si與存儲節(jié)點之間的通信密鑰將Xi加密后傳送給存儲節(jié)點。
[0033]3、最值查詢 [0034]最值查詢在存儲節(jié)點內(nèi)進行。存儲節(jié)點收集到查詢單元內(nèi)各傳感節(jié)點發(fā)送來的數(shù)據(jù),解密得到t采樣時刻的隱私數(shù)據(jù)集{Xi,X2,, XJ,其中,η為查詢單元內(nèi)傳感節(jié)點總數(shù)。比較隱私數(shù)據(jù)集氏,X2,, XJ中各隱私數(shù)據(jù),將隱私數(shù)據(jù)的最值Xmaxadn加密后傳輸給匯聚節(jié)點。
[0035]4、最值數(shù)據(jù)還原
[0036]匯聚節(jié)點收到存儲節(jié)點發(fā)送的消息包后,解密得到隱私數(shù)據(jù)最值ΧΜΧ/ΜΙΝ。根據(jù)Xi=Θ Vi+ δ i還原隱私數(shù)據(jù),即可獲得查詢單元內(nèi)t采樣時刻的采樣數(shù)據(jù)的最值dmx/MIN。
[0037]在最值查詢階段,對于隱私數(shù)據(jù)Xi = Θ Vi+ δ i和Xj = Θ Vj+ δ」,Θ e R+,δ i,δ j e (0, θ ),Vi, Vj e Ζ,R+為非零正實數(shù)集,Z為整數(shù)集。若X1-Xj≤O,則Vi≤Vj ;若X1-Xj ^ O,則Vi ^ 因此,隱私數(shù)據(jù)最值對應的采樣數(shù)據(jù)即為采樣數(shù)據(jù)最值。
[0038]下面將對“隱私數(shù)據(jù)最值對應的采樣數(shù)據(jù)即為采樣數(shù)據(jù)最值”的正確性進行詳細推理說明。
[0039]對于隱私數(shù)據(jù)Xi = Θ Vi+ δ j 和 Xj = Θ Vj+ δ jr X1-Xj = Θ (V1-Vj)+ ( δ 廠 δ」);當Vi 關 Vj 時,(V1-Vj) e (- OO,I] U [1,+ °° ),且(V1-Vj)為整數(shù);當 Vi = Vj 時,Θ (V1-Vj)=O0
[0040]當X廠Xj < O 時,Θ (vj-Vj) + ( δ j- δ j) ^ 0,此時,(δ「δ』)e (O, θ )或(δ 廠 δ j e (- θ , O]:
[0041](I)若(δδ j) e (O, θ),由于(V1-Vj) e, I] U [l,+ m),那么當且僅當(V1-Vj) e (-OO,-1]時,g|] Θ (V1-Vj) < - Θ 時,才有 Θ (V1-Vj) + ( δ J- δ j) < O 成立,此時
Vi < VjO
[0042](2)若(δ ^ δ j) e (- θ,O],由于(V1-Vj) e (- οο,I] U [I, + 00 ),那么當且僅當(v「vj) e (- OO,-1]或 = O,即 Θ (v「vj) < - Θ 時,才有 Θ (V1-Vj) + ( δ「δ j)≤ O成立,此時Vi ( V」。
[0043]綜上所述,當X1-Xj < O時,Vi < V」。
[0044]同理,當X1-Xj≥O時,可以得出Vi≥V」。
[0045]下面將結(jié)合圖3和實施例,進一步說明本發(fā)明的【具體實施方式】。
[0046]首先,無線傳感器網(wǎng)絡節(jié)點部署:
[0047]( I)所有節(jié)點均知其他節(jié)點的身份標識號。
[0048](2)所有傳感節(jié)點及匯聚節(jié)點都有自己的公鑰和私鑰。
[0049](3)匯聚節(jié)點和查詢單元內(nèi)所有傳感節(jié)點存在一個秘密信道,擁有一個共享密鑰,共享密鑰對存儲節(jié)點保密,使用共享密鑰的加密操作記為Ep。
[0050](4)每個傳感節(jié)點和存儲節(jié)點間數(shù)據(jù)需要進行保密通信,保證數(shù)據(jù)不被其他傳感節(jié)點獲得。傳感節(jié)點和存儲節(jié)點間的保密通信可使用對稱密碼或公鑰密碼實現(xiàn),適用于WSN的對稱密碼和公鑰密碼均為較成熟的公知技術,在此不作贅述。傳感節(jié)點Si與存儲節(jié)點(Storage Node,記為SN)間的通信加密操作記為見-sv。[0051](5)部署匯聚節(jié)點和傳感節(jié)點時,需設定采樣數(shù)據(jù)的精度。
[0052]然后,基于上述網(wǎng)絡部署,執(zhí)行最值查詢:
[0053]隨機數(shù)傳遞階段,匯聚節(jié)點產(chǎn)生一個大于O的第一隨機數(shù)Θ,使用匯聚節(jié)點和傳感器節(jié)點間的秘密信道將第一隨機數(shù)Θ傳送給查詢單元內(nèi)各傳感節(jié)點。具體實施中,使用匯聚節(jié)點與各傳感節(jié)點之間的共享密鑰將Θ加密后得到Ερ(θ),見圖3,匯聚節(jié)點先將包含有匯聚節(jié)點身份標識號IDsink和加密數(shù)據(jù)Ερ( Θ )的消息包< IDsink, Ερ(θ) >發(fā)送給存儲節(jié)點,存儲節(jié)點驗證匯聚節(jié)點身份標識號IDsink后,將消息包內(nèi)的IDsink替換為存儲節(jié)點SN的身份標識符1%,后,在查詢單元內(nèi)廣播。存儲節(jié)點擁有良好的通信能力,可以在一跳將消息包傳送至查詢區(qū)域中所有傳感節(jié)點。傳感節(jié)點收到消息包后,驗證存儲節(jié)點身份標識符IDsn,解密Ep ( Θ ),即可得到第一隨機數(shù)Θ。
[0054]數(shù)據(jù)隱私處理階段,傳感節(jié)點Si獲取傳感數(shù)據(jù)后,按照預設的采樣數(shù)據(jù)精度將采樣數(shù)據(jù)放大IOk倍后得到對應的整數(shù)Vi,例如,預設的采樣數(shù)據(jù)精度為采樣數(shù)據(jù)保留小數(shù)點后兩位,假設采樣數(shù)據(jù)值為3.14,則將采樣數(shù)據(jù)放大IO2倍得到對應的整數(shù)314。然后,對Vi進行隨機數(shù)調(diào)制:傳感節(jié)點Si根據(jù)第一隨機數(shù)Θ產(chǎn)生第二隨機數(shù)δ y δ i e (0,Θ );采用第一隨機數(shù)Θ和第二隨機數(shù)Si處理采樣數(shù)據(jù)屯,得到隱私數(shù)據(jù)Xi= 0Vi+5iO采用傳感節(jié)點和存儲節(jié)點之間的通信密鑰加密隱私數(shù)據(jù)Xi,得到將傳感節(jié)點Si的身份標識符IDs1、采樣時刻 和加密數(shù)據(jù)'L(A)組成消息包< IDs,i,£;i(X;) >,根據(jù)路由
規(guī)則,將消息包〈Ε? (O >發(fā)送相鄰傳感節(jié)點,相鄰傳感節(jié)點根據(jù)路由表轉(zhuǎn)發(fā)接收的消息包,直至將消息包傳送至存儲節(jié)點。
[0055]最值查詢階段在存儲節(jié)點內(nèi)進行。存儲節(jié)點收到查詢單元內(nèi)各傳感節(jié)點傳送的消息包,驗證傳感節(jié)點身份標識符后解密得到采樣時刻t時各傳感節(jié)點的隱私數(shù)據(jù){H..MXJ,η為查詢單元內(nèi)傳感節(jié)點的數(shù)量。存儲節(jié)點在隱私數(shù)據(jù)IX1, X2,, XJ中找出隱私數(shù)據(jù)的最值χΜΧ/ΜΙΝ,采用傳感節(jié)點的公鑰對隱私數(shù)據(jù)最值加密得到Esink(ΧΜΧ/ΜΙΝ),并附加上存儲節(jié)點的身份標識符IDsn、查詢類型P及采樣時間組成消息包< IDsv,φ, U E5m (^μαχ/μιν ) >,查詢類型包括最大值查詢和最小值查詢,當查詢類型P取值為O時,表示最小值查詢;當查詢類型P取值為I時,表示最大值查詢;將消息包< IDsv,^, t, Esjji {^μαχ/μιν ) > 發(fā)送匯聚 Tl 點。
[0056]最值還原節(jié)點在匯聚節(jié)點進行。匯聚節(jié)點收到存儲節(jié)點傳送來的消息包,驗證存儲節(jié)點身份標識符IDsn后使用傳感節(jié)點的私鑰解密Esink(ΧΜΧ/ΜΙΝ)得到隱私數(shù)據(jù)的最值ΧΜΧ/ΜΙΝ。將Χμμ/μ?除以Θ,得到的整數(shù)部分即為原始傳感數(shù)據(jù)整數(shù)化后的最值Vmax/min,根據(jù)預設采樣數(shù)據(jù)精度,將數(shù)據(jù) VMAX/MIN 縮小IOk倍,即獲得傳感數(shù)據(jù)最值
^ΜΑΧ/ΜΙΝ ° 匯聚節(jié)點根據(jù)消息
包中查詢類型P值即可知所獲傳感數(shù)據(jù)最值是最大值還是最小值。
[0057]本發(fā)明最值查詢過程中,要獲取原始采樣數(shù)據(jù),必須同時知道Xi和Θ的數(shù)值。第一隨機數(shù)Θ傳遞過程中,匯聚節(jié)點使用與傳感節(jié)點間的秘密信道傳遞第一隨機數(shù)Θ,只有擁有共享密鑰的節(jié)點才能解密得到第一隨機數(shù)Θ,而共享密鑰對存儲節(jié)點保密,存儲節(jié)點無法獲取第一隨機數(shù)Θ。雖然最值查詢階段存儲節(jié)點可獲取隱私數(shù)據(jù)Xi,但由于存儲節(jié)點不知第一隨機數(shù)Θ,因此,當存儲節(jié)點被監(jiān)聽時,監(jiān)聽者無法獲知傳感數(shù)據(jù)。[0058]當傳感節(jié)點被監(jiān)聽時,各傳感節(jié)點將經(jīng)過處理后的隱私數(shù)據(jù)Xi傳送給存儲節(jié)點時,使用各自與存儲節(jié)點間的通信密鑰進行加密。而加密算法是安全的,故監(jiān)聽者無法通過解密獲得傳感節(jié)點的隱私數(shù)據(jù)Xi。即使在已知第一隨機數(shù)Θ的情況下,監(jiān)聽者也無法獲知原始傳感數(shù)據(jù)。
[0059]本具體實施中,針對隱私保護,傳感節(jié)點僅增加一次解密計算、一次數(shù)值變化計算和一次加密計算,整個最值查詢過程產(chǎn)生的附加數(shù)據(jù)量僅有第一隨機數(shù)Θ,不會大幅增加節(jié)點計算負荷和網(wǎng)絡通信負荷。
【權利要求】
1.面向兩層WSNs的最值查詢方法,所述的兩層WSNs包括匯聚節(jié)點、存儲節(jié)點和傳感節(jié)點,其特征在于,包括步驟: 步驟1,匯聚節(jié)點產(chǎn)生對存儲節(jié)點保密的大于O的第一隨機數(shù),并通過其與傳感節(jié)點間的秘密信道將第一隨機數(shù)傳遞給傳感節(jié)點; 步驟2,傳感節(jié)點根據(jù)第一隨機數(shù)產(chǎn)生大于O小于第一隨機數(shù)的第二隨機數(shù),采用第一隨機數(shù)和第二隨機數(shù)隱私化處理采樣數(shù)據(jù)獲得隱私數(shù)據(jù),使得隱私數(shù)據(jù)最值對應采樣數(shù)據(jù)最值,采用傳感節(jié)點和存儲節(jié)點間的通信密鑰對隱私數(shù)據(jù)加密后傳遞給存儲節(jié)點; 步驟3,存儲節(jié)點獲得查詢單元內(nèi)各傳感節(jié)點的隱私數(shù)據(jù),比較隱私數(shù)據(jù)獲得隱私數(shù)據(jù)最值,將隱私數(shù)據(jù)最值加密后發(fā)送給匯聚節(jié)點; 步驟4,匯聚節(jié)點獲得隱私數(shù)據(jù)最值并采用隱私化處理的逆運算還原隱私數(shù)據(jù)最值,即獲得查詢單元內(nèi)傳感節(jié)點的采樣數(shù)據(jù)最值。
2.如權利要求1所述的面向兩層WSNs的最值查詢方法,其特征在于: 步驟I中,匯聚節(jié)點使用其與傳感節(jié)點間的共享密鑰加密第一隨機數(shù),并傳遞給存儲節(jié)點,存儲節(jié)點將接收消息包向查詢單元內(nèi)各傳感節(jié)點廣播。
3.如權利要求1所述的面向兩層WSNs的最值查詢方法,其特征在于: 步驟2中,所述的采用第一隨機數(shù)和第二隨機數(shù)隱私化處理采樣數(shù)據(jù)采用如下公式Xi=Θ Vi+ δ i進行,其中,Vi為按預設精度整數(shù)化采樣數(shù)據(jù)Cli獲得的整數(shù);屯為t采樣時刻的采樣數(shù)據(jù)Ai為Vi經(jīng)隱私化處理后獲得的隱私數(shù)據(jù)分別為第一隨機數(shù)和第二隨機數(shù)。
4.如權利要求1所述的面向兩層WSNs的最值查詢方法,其特征在于: 步驟3中,存儲節(jié)點采用匯聚節(jié)點的公鑰加密隱私數(shù)據(jù)最值,并發(fā)送給匯聚節(jié)點。
5.如權利要求1所述的面向兩層WSNs的最值查詢方法,其特征在于: 步驟4中,匯聚節(jié)點采用自己的私鑰解密存儲節(jié)點發(fā)送的包括隱私數(shù)據(jù)最值的消息包,獲得隱私數(shù)據(jù)。
6.如權利要求3所述的面向兩層WSNs的最值查詢方法,其特征在于: 步驟4中,匯聚節(jié)點還原隱私數(shù)據(jù)最值,具體為: 將隱私數(shù)據(jù)最值除以第一隨機數(shù),所得整數(shù)部分即為采樣數(shù)據(jù)整數(shù)化后的最值,根據(jù)預設采樣數(shù)據(jù)精度,采用采樣數(shù)據(jù)整數(shù)化處理的逆運算處理采樣數(shù)據(jù)整數(shù)化后的最值,即獲得采樣數(shù)據(jù)最值。
【文檔編號】H04W28/08GK103596295SQ201310660187
【公開日】2014年2月19日 申請日期:2013年12月9日 優(yōu)先權日:2013年12月9日
【發(fā)明者】劉樹波, 劉泓暉, 劉夢君, 蔡朝暉 申請人:武漢大學