吉 佳,溫巧燕,張 華
(北京郵電大學(xué) 網(wǎng)絡(luò)與交換技術(shù)國(guó)家重點(diǎn)實(shí)驗(yàn)室,北京100876)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(WSNs)是一個(gè)通過(guò)傳感器感知物理世界的自組織網(wǎng)絡(luò)[1]。由于傳感器受到電量限制,其收集的大量數(shù)據(jù)需要通過(guò)聚合減小能耗[2]。對(duì)于位置[3]、時(shí)間[4]和壓力感知[5]等敏感信息,由于數(shù)據(jù)傳遞過(guò)程中存在諸多不安全因素,如數(shù)據(jù)被截獲、篡改等,易造成數(shù)據(jù)泄露、數(shù)據(jù)不完整等問(wèn)題。目前有文獻(xiàn)[6~9]致力于解決無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中數(shù)據(jù)聚合問(wèn)題。
He W 等 人 提 出 的CPDA(cluster-based private data aggregation)協(xié)議[1]基于分簇思想并利用多項(xiàng)式代數(shù)性質(zhì)聚合數(shù)據(jù),該協(xié)議計(jì)算量高且不能保證數(shù)據(jù)完整性。針對(duì)上述問(wèn)題,He W 等人提出了iCPDA 協(xié)議[10],該協(xié)議基于多方安全計(jì)算和簇內(nèi)監(jiān)督,但其主要缺點(diǎn)是通信量大。
Guo Hengzhi[10]提出了一種減小CPDA 計(jì)算和通信開(kāi)銷(xiāo)的協(xié)議,通過(guò)代入消元法聚合數(shù)據(jù)。Yao Jianbo 等人提出的DADPP(data aggregation different privacy-levels protection)[12]根據(jù)不同數(shù)量的節(jié)點(diǎn)對(duì)數(shù)據(jù)隱私保護(hù)的不同需求而進(jìn)行聚合。以上兩篇文獻(xiàn)均不能保證數(shù)據(jù)完整性。
本文提出一種基于分簇的數(shù)據(jù)聚合機(jī)制,能夠有效降低傳感器計(jì)算和通信的耗能,同時(shí)保護(hù)數(shù)據(jù)的隱私性和完整性。在簇內(nèi)聚合階段,節(jié)點(diǎn)使用計(jì)算量、通信量均較小的聚合方式將分片后的數(shù)據(jù)聚合。在簇間傳輸階段,每個(gè)簇的副簇首監(jiān)督該簇的簇首向上游簇的簇首傳遞的數(shù)據(jù)是否被篡改,篡改時(shí)進(jìn)行真實(shí)值替換。
本文將無(wú)線(xiàn)傳感器網(wǎng)絡(luò)建模為連通圖G(V,E),其中頂點(diǎn)v(v∈V)代表該無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn);邊e(e∈E)表示傳感器節(jié)點(diǎn)之間的無(wú)線(xiàn)鏈路。記無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中的傳感器節(jié)點(diǎn)個(gè)數(shù)為N=|V|。
基于分簇的數(shù)據(jù)聚合機(jī)制能夠在保證隱私數(shù)據(jù)完整性的同時(shí)降低數(shù)據(jù)聚合階段傳感器計(jì)算和通信的耗能。
簇內(nèi)數(shù)據(jù)聚合的密鑰采用CPDA 的密鑰生成方式。無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)從包含K 個(gè)密鑰的密鑰池中隨機(jī)選取k 個(gè)密鑰,含有相同密鑰的2 個(gè)節(jié)點(diǎn)則建立一條安全的通信鏈路。
簇間數(shù)據(jù)傳輸進(jìn)行身份驗(yàn)證所需非對(duì)稱(chēng)密鑰的建立過(guò)程如下:
1)副簇首選取2 個(gè)不相同的大素?cái)?shù),p 和q,計(jì)算n=p×q 和φ(n)=(p-1)(q-1),選取1 個(gè)隨機(jī)數(shù)d(1 <d <φ(n)),保證d 與φ(n)互質(zhì),由方程ed mod(p-1)(q-1)=1 計(jì)算出e。
2)副簇首將(n,d)作為公鑰發(fā)送給上游簇的簇首,將(p,q,e)作為私鑰自己保存。
簇的建立采用CPDA 中簇的建立方式:服務(wù)器發(fā)出查詢(xún)語(yǔ)句HELLO,每個(gè)收到消息的傳感器節(jié)點(diǎn)有pc的概率成為簇首。若一個(gè)節(jié)點(diǎn)成為簇首,它將HELLO 轉(zhuǎn)發(fā)給鄰居節(jié)點(diǎn);否則,該節(jié)點(diǎn)發(fā)送JOIN 隨機(jī)加入某一個(gè)簇成為其成員。反復(fù)該過(guò)程即可將所有節(jié)點(diǎn)分成若干個(gè)簇。
本文做出如下假設(shè):每個(gè)節(jié)點(diǎn)選1 個(gè)與其他節(jié)點(diǎn)不同的非零數(shù)字k(1≤k≤N)作為自身標(biāo)識(shí),為網(wǎng)絡(luò)中傳感器的個(gè)數(shù)。以一個(gè)含有4 個(gè)傳感器節(jié)點(diǎn)的簇為例:節(jié)點(diǎn)A 為簇首,節(jié)點(diǎn)B 為副簇首,節(jié)點(diǎn)C 和節(jié)點(diǎn)D 為簇內(nèi)成員。圖1描述了簇內(nèi)數(shù)據(jù)聚合階段的消息傳輸過(guò)程。
圖1 簇內(nèi)消息傳遞過(guò)程Fig 1 Message transmitting process within cluster
1)節(jié)點(diǎn)A,B,C,D 首先在簇內(nèi)廣播自己的k:kA,kB,kC,kD,然后分別將自己的隱私數(shù)據(jù)a,b,c,d 隨機(jī)分成n-1 片(n 是一個(gè)簇內(nèi)節(jié)點(diǎn)的總數(shù))。這里n=4,即,a=a1+a2+a3,b=b1+b2+b3,c=c1+c2+c3,d=d1+d2+d3。
2)節(jié)點(diǎn)A 計(jì)算
同樣,節(jié)點(diǎn)B,C,D 分別計(jì)算
3)節(jié)點(diǎn)A 使用其與節(jié)點(diǎn)B 的共享密鑰KAB加密VA-B,將E(VA-B,KAB)發(fā)送給節(jié)點(diǎn)B。同樣的,A 將E(VA-C,KAC)發(fā)送給節(jié)點(diǎn)C;B 將E(VB-A,KAB)和E(VB-C,KBC)分別發(fā)送給A 和C;C 將E(VC-A,KAC)和E(VC-B,KBC)分別發(fā)送給A和B;節(jié)點(diǎn)D 將E(VD-A,KAD),E(VD-B,KBD)和E(VD-C,KCD)分別發(fā)送給A,B 和C。其中,Kij表示節(jié)點(diǎn)i 和j 之間的共享密鑰。
4)A,B,C 分別計(jì)算RA,RB,RC,隨后C 將E(RC,KBC)發(fā)送給B,于是可得
5)B 計(jì)算RB+RC,并將E((RB+RC),KAB)發(fā)送給A,A將E(RA,KAB)發(fā)送給B,則有
由于kA,kB,kC和kD均已知,簇首A 在不清楚b,c,d 的值分別是多少的情況下,可以通過(guò)RA與RB+RC計(jì)算出a+b+c+d 的值,同樣,副簇首B 也可以得出a+b+c+d的值。
基站的最終目的是獲得正確的數(shù)據(jù)聚合結(jié)果,而不是獲得被攻擊節(jié)點(diǎn)的編號(hào)和該節(jié)點(diǎn)應(yīng)該發(fā)送的真實(shí)中間數(shù)據(jù)聚合值。這些真實(shí)的中間數(shù)據(jù)聚合值應(yīng)該被用來(lái)參與到上游簇的簇內(nèi)數(shù)據(jù)聚合中。本文通過(guò)下游簇的副簇首與上游簇的簇首通信的方式來(lái)保證數(shù)據(jù)完整性。
如圖2 所示,節(jié)點(diǎn)A,B,C,D 組成一個(gè)上游簇,A 是簇首,B 是副簇首;節(jié)點(diǎn)E,F(xiàn),G,H 和I,J,K,L 分別組成2 個(gè)下游簇。E 和I 分別為這2 個(gè)簇的簇首,F(xiàn) 和J 分別為這2 個(gè)簇的副簇首。以其中一個(gè)下游簇為例,副簇首F 監(jiān)聽(tīng)簇首E 傳給A 的中間數(shù)據(jù)聚合值,如果與F 所掌握的值相同,F(xiàn) 無(wú)任何動(dòng)作;否則,F(xiàn) 立即與A 通信,將正確的中間數(shù)據(jù)聚合值發(fā)送給A,A 通過(guò)數(shù)字簽名驗(yàn)證F 的身份無(wú)誤后,使用F 發(fā)送的中間數(shù)據(jù)聚合值進(jìn)行下一步的簇內(nèi)數(shù)據(jù)聚合。
圖2 簇間消息傳遞過(guò)程Fig 2 Message transmitting process between clusters
圖3 描述了數(shù)字簽名生成過(guò)程。
圖3 數(shù)字簽名生成過(guò)程Fig 3 Process of generation of digital signature
1)F 通過(guò)Hash 函數(shù)h 將中間數(shù)據(jù)聚合值DAV 生成消息摘要x=h(DAV)。
2)F 使用私鑰eF簽名x,生成數(shù)字簽名y=sigeF(x)=xeFmod n,其中,n 為F 選用的2 個(gè)不同的大素?cái)?shù)p 和q 的乘積。sigeF(x)代表F 的一個(gè)依賴(lài)于私鑰eF對(duì)消息摘要x簽名的簽名算法。
3)F 使用其與A 的共享密鑰KAF加密(DAV,y),生成z=EKAF(DAV,y),發(fā)送給A。
圖4 描述了數(shù)字簽名驗(yàn)證過(guò)程。
圖4 數(shù)字簽名驗(yàn)證過(guò)程Fig 4 Process of verification of digital signature
1)A 接收到z'后(z 的值有可能被攻擊者篡改,這里用z'來(lái)表示A 接收到的值),使用KAF解密,得到DAV'和y',并計(jì)算x'=h(DAV')。
2)A 使用F 的公開(kāi)驗(yàn)證函數(shù)x=ydF(mod n)來(lái)驗(yàn)證verdF(x',y')=true 是否成立,若成立,則說(shuō)明F 通過(guò)了身份認(rèn)證,且z'=z,DAV'=DAV,y'=y。verdF(x,y)為驗(yàn)證簽名是否有效的公開(kāi)驗(yàn)證算法,若有效,則返回該簽名為true;否則,返回false。
實(shí)驗(yàn)設(shè)定一個(gè)在400 m×400 m 的區(qū)域內(nèi)隨機(jī)分布600 個(gè)傳感器節(jié)點(diǎn)的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)。數(shù)據(jù)傳輸有效范圍是50 m。數(shù)據(jù)傳輸速率是1 Mbps。根據(jù)TinyOS[13]系統(tǒng)的要求,數(shù)據(jù)包頭部占56 bits,支持的最大數(shù)據(jù)負(fù)載是232 bits。
圖5 數(shù)據(jù)隱私保護(hù)性能對(duì)比Fig 5 Comparison of performance of data privacy protection
本節(jié)使用Matlab 分別對(duì)本文機(jī)制、CPDA 和iCPDA 的簇內(nèi)數(shù)據(jù)聚合過(guò)程仿真,計(jì)算一個(gè)簇的簇內(nèi)數(shù)據(jù)聚合耗時(shí)的均值,實(shí)驗(yàn)運(yùn)行105次。由圖6 得,在簇內(nèi)節(jié)點(diǎn)個(gè)數(shù)相同時(shí),本文機(jī)制的計(jì)算時(shí)間比CPDA 和iCPDA 少,這是因?yàn)樵摍C(jī)制能減少節(jié)點(diǎn)的計(jì)算量和加解密次數(shù)。
圖6 計(jì)算耗時(shí)對(duì)比Fig 6 Comparison of time-consuming of calculation
本文在OMNeT 基礎(chǔ)上,使用基于TAG[5]的數(shù)據(jù)聚合組件分別實(shí)現(xiàn)CPDA、iCPDA 和本文機(jī)制。通信開(kāi)銷(xiāo)的衡量標(biāo)準(zhǔn)為數(shù)據(jù)聚合過(guò)程中進(jìn)行通信的數(shù)據(jù)比特總數(shù)。圖7中數(shù)據(jù)為三種機(jī)制分別運(yùn)行70 次的平均結(jié)果。由圖7 得,本文機(jī)制在通信量上要遠(yuǎn)小于CPDA 和iCPDA;隨著pc增大,通信開(kāi)銷(xiāo)的增長(zhǎng)速率比CPDA 和iCPDA 緩慢。這是由于本文機(jī)制將節(jié)點(diǎn)數(shù)據(jù)分片,從而減少鏈路負(fù)載,同時(shí)簇內(nèi)數(shù)據(jù)聚合方法較另外兩種機(jī)制簡(jiǎn)化了步驟。
圖7 數(shù)據(jù)通信量總和對(duì)比Fig 7 Comparison of total of data traffic
實(shí)驗(yàn)在OMNet 基礎(chǔ)上分別對(duì)本文機(jī)制、CPDA 和iCPDA 在數(shù)據(jù)完整性方面進(jìn)行評(píng)估。測(cè)評(píng)標(biāo)準(zhǔn)為基站最終得到的數(shù)據(jù)聚合值與實(shí)際的數(shù)據(jù)聚合值之比。1 代表理想狀態(tài)下數(shù)據(jù)沒(méi)有丟失、被篡改的情況,但實(shí)際情況中,數(shù)據(jù)的丟失是難以避免的。由圖8 得,本文機(jī)制在數(shù)據(jù)完整性保護(hù)方面比CPDA 和iCPDA 更為完善。副簇首監(jiān)督機(jī)制使得上游簇的簇首獲得正確的中間數(shù)據(jù)聚合值,并進(jìn)行后續(xù)聚合計(jì)算,保障基站能夠最終獲得有價(jià)值的完整數(shù)據(jù)聚合值。
圖8 數(shù)據(jù)完整性對(duì)比Fig 8 Comparison of data integrity
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中傳感器電量消耗快、數(shù)據(jù)隱私性和完整性得不到較好保護(hù)等問(wèn)題不容忽視。針對(duì)以上問(wèn)題,本文提出了一種在無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中基于分簇的數(shù)據(jù)聚合機(jī)制。該機(jī)制首先運(yùn)用代數(shù)方程進(jìn)行數(shù)據(jù)聚合,較好地保護(hù)了數(shù)據(jù)隱私性,同時(shí)降低傳感器節(jié)點(diǎn)在計(jì)算和通信方面的能耗,延長(zhǎng)傳感器存活時(shí)間;采用副簇首監(jiān)督機(jī)制保障數(shù)據(jù)的完整性,使得基站能夠最終獲得有價(jià)值的數(shù)據(jù)聚合值。實(shí)驗(yàn)表明:本文提出的數(shù)據(jù)聚合機(jī)制能夠有效降低傳感器能耗,并保障數(shù)據(jù)的隱私性和完整性。
[1] He W,Liu X,Nguyen H,et al.Pda:Privacy-preserving data aggregation in wireless sensor networks[C]∥26th IEEE International Conference on Computer Communications,INFOCOM 2007,Anchorage,Alaska,USA:IEEE,2007:2045-2053.
[2] Ozdemir S,?am H.Integration of false data detection with data aggregation and confidential transmission in wireless sensor networks[J].IEEE/ACM TON,2010,18(3):736-749.
[3] Xi Y,Schwiebert L,Shi W.Preserving source location privacy in monitoring-based wireless sensor networks[C]∥20th International Parallel and Distributed Processing Symposium,IPDPS 2006,Rhodes Island,Greece:IEEE,2006:8.
[4] Kamat P,Xu W Y,Trappe W,et al.Temporal privacy in wireless sensor networks[C]∥Proceedings of the 27th International Conference on Distributed Computing Systems,Toronto,Ontario,Canada:IEEE,2007:23.
[5] Sivaraj R,Thangarajan R.Location and time-based clone detection in wireless sensor networks[C]∥4th Communication Systems and Network Technologies International Conference,CSNT 2014,Bhopal,India:IEEE,2014:133-137.
[6] Krishna M B,Vashishta N.Energy efficient data aggregation techniques in wireless sensor networks[C]∥5th International Conference on Computational Intelligence and Communication Networks,CICN 2013,Mathura,India:IEEE,2013:160-165.
[7] Jose J,Princy M.PEPPDA:Power efficient privacy preserving data aggregation for wireless sensor networks[C]∥International Conference on Emerging Trends in Computing,Communication and Nanotechnology,ICE-CCN 2013,Tirunelveli,India:IEEE,2013:330-336.
[8] Bista R,Yoo H K,Chang J W.A new sensitive data aggregation scheme for protecting integrity in wireless sensor networks[C]∥10th Computer and Information Technology,CIT 2010,Bradford,United Kingdom:IEEE,2010:2463-2470.
[9] Tang X,Xu J.Extending network lifetime for precision-constrained data aggregation in wireless sensor networks[C]∥INFOCOM 2006,Barcelona,Catalunya,Spain:IEEE,2006:1-12.
[10]He W,Liu X,Nguyen H,et al.A cluster-based protocol to enforce integrity and preserve privacy in data aggregation[C]∥Proceedings of the 29th IEEE International Conference on Distributed Computing Systems Workshops,Washington DC:IEEE Computer Society,2009:14-19.
[11]Guo Hongzhi.A modified scheme for privacy preserving data aggregation in WSNs[C]∥Proc of the 2nd International Conference on Consumer Electronics,Communications and Networks,Yichang,China:IEEE,2012:790-794.
[12]Yao Jianbo,Wen Guangjun.Protecting classification privacy data aggregation in wireless sensor networks[C]∥Proc of the 4th International Conference on Wireless Communications,Networking and Mobile Computing,DaLian,China:IEEE,2008:1-5.
[13]Karlof C,Sastry N,Wagner D.TinySec:A link layer security architecture for wireless sensor networks[C]∥Proceedings of the 2nd International Conference on Embedded Networked Sensor Systems,Baltimore,MD,USA:ACM,2004:162-175.
[14]Madden S,F(xiàn)ranklin M J,Hellerstein J M,et al.TAG:A tiny aggregation service for Ad-Hoc sensor networks[J].ACM SIGOPS Operating Systems Review,2002,36(SI):131-146.