石魯生,朱慧博
(1.宿遷學(xué)院計(jì)算機(jī)科學(xué)系,江蘇宿遷 223800;2.南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇南京 210016)
無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(wireless sensor networks,WSN)是由隨機(jī)分布的集成了傳感器、數(shù)據(jù)處理單元和通信單元的微小節(jié)點(diǎn)通過(guò)自組織方式構(gòu)成的智能系統(tǒng)[1]。數(shù)據(jù)收集是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)投入實(shí)際應(yīng)用后的主要功能,由于資源受限的特征突出,各種收集方法一直將如何延長(zhǎng)網(wǎng)絡(luò)生命周期、降低能耗作為重要的設(shè)計(jì)目標(biāo)。
收集數(shù)據(jù)時(shí),數(shù)據(jù)聚集是WSN一項(xiàng)重要的節(jié)能技術(shù)[2]。由于傳統(tǒng)的數(shù)據(jù)聚集方法如TAG[3]等在降低能耗的同時(shí)沒(méi)有解決聚集過(guò)程中的安全問(wèn)題,不具備實(shí)用價(jià)值,因此各種安全聚集算法應(yīng)運(yùn)而生。例如DADPP[4]通過(guò)向原始數(shù)據(jù)中添加隨機(jī)種子和私有隨機(jī)數(shù)進(jìn)行擾動(dòng),達(dá)到隱私保護(hù)目的,ESPART[5]通過(guò)對(duì)原始數(shù)據(jù)的切片和加密傳輸來(lái)保護(hù)數(shù)據(jù)隱私,SIES[6]算法使用同態(tài)加密函數(shù)保護(hù)數(shù)據(jù)隱私,并可驗(yàn)證聚集結(jié)果的完整性,iCPDA[7]算法在隱私保護(hù)和完整性驗(yàn)證中分別使用了安全多方計(jì)算方法和同行監(jiān)督機(jī)制,但安全的聚集算法帶來(lái)了新的問(wèn)題,一是原本降低了的通信開(kāi)銷(xiāo)大增;二是聚集類(lèi)型受限嚴(yán)重,很多算法僅支持SUM一種。
可恢復(fù)數(shù)據(jù)的安全數(shù)據(jù)聚集算法RSDA(recoverable security data aggregation),在保護(hù)數(shù)據(jù)隱私以及提供有效的數(shù)據(jù)完整性和真實(shí)性驗(yàn)證基礎(chǔ)上,特別設(shè)計(jì)了數(shù)據(jù)恢復(fù)機(jī)制,從而使聚集節(jié)點(diǎn)在得到聚集結(jié)果的同時(shí),能夠精確、有效地恢復(fù)聚集前的原始數(shù)據(jù)。這些原始數(shù)據(jù)的獲得讓其他后續(xù)聚集操作在執(zhí)行時(shí),類(lèi)型不再受限,同時(shí)也降低了網(wǎng)絡(luò)總的能耗開(kāi)銷(xiāo)。
1.1網(wǎng)絡(luò)模型
由于層次化(分簇)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)具有更好的擴(kuò)展性和能量有效性[8],RSDA算法中基于分簇的兩層網(wǎng)絡(luò)結(jié)構(gòu)模型如下:
(1)一個(gè)基站(Base Station,BS),它擁有強(qiáng)大的計(jì)算和通信能力,足夠大的存儲(chǔ)空間,穩(wěn)定的電力供應(yīng),并采取了嚴(yán)密的防護(hù)措施。
(2)簇頭節(jié)點(diǎn)(H-Sensors,HS),負(fù)責(zé)收集簇內(nèi)節(jié)點(diǎn)采集到的數(shù)據(jù),然后聚集轉(zhuǎn)發(fā)給基站。令網(wǎng)絡(luò)中簇的數(shù)目為,簇頭節(jié)點(diǎn)集合為。
(3)簇成員節(jié)點(diǎn)(L-Sensors,LS),負(fù)責(zé)采集監(jiān)測(cè)區(qū)域內(nèi)的感知數(shù)據(jù),再發(fā)送至簇頭。簇頭為的簇成員節(jié)點(diǎn)表示為,其原始感知數(shù)據(jù)用表示。
1.2攻擊模型
鑒于BS不易被捕獲,假設(shè)其是安全可信的,則將攻擊依照嚴(yán)重程度分為以下3種:
(1)竊聽(tīng)無(wú)線(xiàn)通信。攻擊者未捕獲任何節(jié)點(diǎn),但通過(guò)竊聽(tīng)網(wǎng)絡(luò)中的無(wú)線(xiàn)通信獲取或偽造數(shù)據(jù)。
(2)捕獲LS。攻擊者可以獲取或篡改被捕獲LS的感知數(shù)據(jù),當(dāng)然亦可攻擊其轉(zhuǎn)發(fā)的感知數(shù)據(jù)。
(3)捕獲HS。攻擊者可以獲取被捕獲HS所在簇內(nèi)所有LS的感知數(shù)據(jù),并可篡改HS上報(bào)給基站的中間聚集結(jié)果。
1.3密鑰預(yù)分配
異構(gòu)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)部署前,BS首先根據(jù)EC-EG[9]方案生成密鑰對(duì)(PBS,RBS)再根據(jù)Boneh[10]等的方案為Hi生成密鑰對(duì)(PHi,RHi)。其中PBS為所有BS和HS共享的公鑰,PHi是BS與Hi共享的公鑰,RBS和RHi則分別為BS和Hi的私鑰。
BS預(yù)先裝載自身的密鑰對(duì)(PBS,RBS)和每個(gè)Hi的公鑰PHi。Hi除裝載自身的密鑰對(duì)(PHi,RHi)外,還將裝載PBS和一個(gè)用于驗(yàn)證簽名的哈希函數(shù)H()。
待網(wǎng)絡(luò)部署完畢,各分簇形成后,為保護(hù)每個(gè)簇成員Lij和其簇頭Hi之間的通信,同樣由基站為它們生成一個(gè)密鑰對(duì)P(Lij,RLij)。
RSDA算法由三部分組成:簇內(nèi)數(shù)據(jù)收集和聚集;簇頭加密和簽名傳輸;基站聚集和安全驗(yàn)證。
2.1簇內(nèi)數(shù)據(jù)收集和聚集
(1)Lij發(fā)送加密的dij和簽名sij給對(duì)應(yīng)的Hi;
(2)Hi接收到加密信息后,利用Lij的簽名sij驗(yàn)證dij的真實(shí)性;
(3)在一定時(shí)間周期內(nèi),Hi收集簇內(nèi)所有dij,執(zhí)行簇內(nèi)聚集,并將聚集結(jié)果di作為自身數(shù)據(jù)。
2.2簇頭加密和簽名傳輸
(1)加密簇頭Hi的di∶mi=di‖0t,其中‖為簡(jiǎn)單連接,0t為t個(gè)0組成的二進(jìn)制數(shù),l為傳輸信息中有效感知數(shù)據(jù)的bit位數(shù),t=l×(i-1)。
(2)計(jì)算Hi的密文:ci=(ri,ai)=(ki×G,Mi+ki×Y),其中ki為[1,Z]內(nèi)的隨機(jī)數(shù),Mi=map(mi)=mi×G,map()為一個(gè)將值m映射為橢圓曲線(xiàn)點(diǎn)M的函數(shù),滿(mǎn)足加法同態(tài)性質(zhì),Z,G,Y∈PBS。
(3)計(jì)算Hi的簽名:si=RHi×H(di),其中H()為Hi預(yù)裝的哈希函數(shù)。
(4)Hi將數(shù)據(jù)對(duì)(ci,si)向基站發(fā)送。
2.3基站聚集和安全驗(yàn)證
(1)并非所有簇頭的聚集結(jié)果都一跳直接傳輸至基站,當(dāng)一個(gè)簇頭接收到其他一個(gè)或多個(gè)簇頭的聚集結(jié)果時(shí),它將把接收到的所有密文和簽名與對(duì)應(yīng)的自身密文和簽名求和,得到新的密文、簽名數(shù)據(jù)對(duì),再向基站發(fā)送。在基站聚集后將得到最終結(jié)果(C,S),即
(3)從M′獲得m′∶m′=rmap(M′)=m1+m2+…+mn,其中rmap()為map()的反函數(shù)。
(4)恢復(fù)di:利用解密函數(shù)
Decode(m′,n,l)∶di=m′[(i-1)×l,i×l-1]
恢復(fù)并獲取di。其中di為二進(jìn)制數(shù)m′的第(i-1)×l位至i×l-1位上的數(shù)字所構(gòu)成的二進(jìn)制數(shù),i=1,2,…,n。
2.4數(shù)據(jù)恢復(fù)示例
一個(gè)基于分簇的兩層無(wú)線(xiàn)傳感器網(wǎng)絡(luò)如圖1所示,其中BS為基站,H1、H2、H3和H4分別為4個(gè)簇頭,每個(gè)簇包含數(shù)量不等的LS。如H2所在簇,共有L21L22、L23、L24和L255個(gè),其他簇類(lèi)似。
假設(shè)BS發(fā)出一個(gè)AVERAGE請(qǐng)求,啟動(dòng)數(shù)據(jù)聚集。令H2所在簇內(nèi)5個(gè)LS的感知數(shù)據(jù)d21=5、d22=6、d23=4、d24=3、d25=2。H2收集到這些加密數(shù)據(jù)后,執(zhí)行簇內(nèi)AVERAGE聚集,得d2=4。其他簇類(lèi)似可得d1=5、d3=2和d4=7。
l=3可滿(mǎn)足d1、d2、d3和d4有效數(shù)據(jù)的傳輸需求,則H2加密d2得:m2=d2‖03=(100)2‖(000)2=(100000)2,再計(jì)算密文和簽名對(duì)(c2,s2)發(fā)往。其他簇同理可得m1=(101)2、m3=(010000000)2、m4=(111000000000)2。
BS聚集所有HS的密文和簽名后,得到(C,S),解密C可得M′=M1+M2+M3+M4,再利用rmap函數(shù)得m′=m1+m2+m3+m4=(111010100101)2,則可恢復(fù)d1、d2、d3和d4:
d1=m′[(1-1)×3,1×3-1]=(111010100101)2[0,2]=(101)2=5
d2=m′[(2-1)×3,2×3-1]=(111010100101)2[3,5]=(100)2=4
d3=m′[(3-1)×3,3×3-1]=(111010100101)2[6,8]=(010)2=2
d4=m′[(4-1)×3,4×3-1]=(111010100101)2[9,11]=(111)2=7
3.1安全性
根據(jù)2.2節(jié)攻擊模型,分析RSDA算法的安全性。
(1)無(wú)線(xiàn)通信遭竊聽(tīng)。此時(shí)算法的安全性能夠得到保障。因簇內(nèi)或簇間的通信都進(jìn)行了加密,只竊聽(tīng)無(wú)線(xiàn)通信,攻擊者無(wú)法破解。此外由于算法要求所有傳輸信息必須具備相應(yīng)的簽名,而攻擊者沒(méi)有密鑰無(wú)法偽造簽名,因而不可能在通信鏈路中篡改信息或注入虛假信息。
(2)LS被捕獲。如果攻擊者將被捕獲LS偽裝成正常節(jié)點(diǎn)或發(fā)送較為合理的偽裝數(shù)據(jù)參與聚集,目前算法都無(wú)法檢測(cè)此類(lèi)攻擊,不過(guò)這種攻擊危害性很小。在RSDA算法中,除被捕獲LS外,攻擊者無(wú)法假冒其他節(jié)點(diǎn)的信息,也不能篡改被捕獲節(jié)點(diǎn)轉(zhuǎn)發(fā)的信息,其原因是無(wú)法偽造相應(yīng)的簽名。
(3)HS被捕獲。如果攻擊者捕獲了HS,情況將比較嚴(yán)重。而RSDA算法中使用了橢圓曲線(xiàn)加密技術(shù),簇內(nèi)聚集時(shí),沒(méi)有關(guān)于橢圓曲線(xiàn)點(diǎn)的加法函數(shù),聚集無(wú)法完成,所以對(duì)橢圓曲線(xiàn)構(gòu)造方法一無(wú)所知的攻擊者,將無(wú)法完成任何未經(jīng)授權(quán)的聚集。
此外,在應(yīng)對(duì)共謀攻擊方面,由于采用了共享密鑰以及簽名機(jī)制,即使在網(wǎng)絡(luò)節(jié)點(diǎn)平均密度較低時(shí),RSDA算法仍然較容易發(fā)現(xiàn)共謀攻擊,而且節(jié)點(diǎn)密度越大,發(fā)現(xiàn)共謀攻擊的能力越強(qiáng)。假設(shè)網(wǎng)絡(luò)中的節(jié)點(diǎn)均勻分布,當(dāng)節(jié)點(diǎn)通信半徑R=50 m,平均節(jié)點(diǎn)密度取不同值時(shí),RSDA算法與iCPDA算法無(wú)法檢測(cè)出共謀攻擊的概率[7]如圖2所示。
圖2 RSDA算法與iCPDA算法應(yīng)對(duì)共謀攻擊的能力
通過(guò)以上分析可以看出,在各種攻擊面前,算法表現(xiàn)出了非常好的安全性能。特別值得指出的是,與iCPDA算法只能驗(yàn)證聚集結(jié)果的完整性不同,RSDA算法通過(guò)簽名機(jī)制可以驗(yàn)證所有原始數(shù)據(jù)的真實(shí)性和完整性,這為數(shù)據(jù)恢復(fù)后其他操作的進(jìn)行提供了可靠的保障。
3.2數(shù)據(jù)恢復(fù)
2.4節(jié)的示例表明,基站在獲得最終結(jié)果的同時(shí),可以恢復(fù)所有簇頭的聚集結(jié)果。因此在一些精度要求不高的應(yīng)用環(huán)境中,許多后續(xù)操作可以直接在基站執(zhí)行。因?yàn)橥淮貎?nèi)的地理位置相近,所采集數(shù)據(jù)在數(shù)值上相似甚至重復(fù)的情況非常普遍,如令各簇的聚集結(jié)果如平均值作為本簇值的代表,基站可輕松獲得全部感知數(shù)據(jù)近似的最值或總和。
在精度要求較高的場(chǎng)合,可以借助HS的幫助完成各種后續(xù)操作。這是由于在簇內(nèi)聚集過(guò)程中,HS同樣可以還原簇內(nèi)各LS的原始數(shù)據(jù),并進(jìn)行驗(yàn)證,因此基站只要命令每個(gè)HS節(jié)點(diǎn)執(zhí)行指定聚集函數(shù)即可。
數(shù)據(jù)恢復(fù)功能完全突破了以往各種安全聚集算法對(duì)聚集類(lèi)型的限制,同時(shí)也節(jié)省了執(zhí)行后續(xù)聚集工作的計(jì)算和通信開(kāi)銷(xiāo),進(jìn)而從總體上降低了網(wǎng)絡(luò)中的能量消耗,延長(zhǎng)了網(wǎng)絡(luò)壽命。
3.3查詢(xún)周期
通過(guò)最終聚集結(jié)果的準(zhǔn)確性可以衡量算法查詢(xún)周期的長(zhǎng)短,即時(shí)間效率。記AR為基站聚集結(jié)果與由真實(shí)數(shù)據(jù)所得聚集結(jié)果的比值,理想情況下,AR=1。在現(xiàn)實(shí)環(huán)境中,如果所有數(shù)據(jù)的收集、傳輸、加密和聚集工作都能在指定查詢(xún)周期內(nèi)順利完成,則AR值應(yīng)接近或達(dá)到1,但因在指定查詢(xún)周期內(nèi)一些數(shù)據(jù)的處理工作沒(méi)完成,必導(dǎo)致準(zhǔn)確性降低,且查詢(xún)周期越短,準(zhǔn)確性越差。而較長(zhǎng)的查詢(xún)周期可以減少因無(wú)線(xiàn)信道內(nèi)的碰撞而造成的數(shù)據(jù)丟失,進(jìn)而提高準(zhǔn)確性。因此,如果某時(shí)間點(diǎn)之后,算法的AR值一直穩(wěn)定在1附近,則該時(shí)間點(diǎn)就是算法近似的最小查詢(xún)周期。
利用TOSSIM仿真環(huán)境,將500個(gè)傳感器節(jié)點(diǎn)隨機(jī)部署在一個(gè)指定的區(qū)域內(nèi),分別模擬執(zhí)行TAG、iCPDA(取0.1,0.2,0.3)和RSDA算法(n取50,100,150)各50次,計(jì)算平均值,得查詢(xún)周期和通信開(kāi)銷(xiāo)的結(jié)果分別如圖3和圖4所示。其中pc為iCPDA算法中節(jié)點(diǎn)成為簇頭的概率,n為RSDA算法中簇頭的個(gè)數(shù)。當(dāng)pc分別取0.1、0.2和0.3時(shí),RSDA算法中簇頭個(gè)數(shù)n分別為50、100和150。仿真中假定簇頭擁有遠(yuǎn)高于一般簇成員的計(jì)算和存儲(chǔ)能力。
圖3 TAG、iCPDA和RSDA算法的查詢(xún)周期
如圖3,對(duì)RSDA算法,在n=150時(shí),查詢(xún)周期大約為20 s,基本與不帶隱私保護(hù)和完整性驗(yàn)證功能的TAG算法相當(dāng),這是因?yàn)榇藭r(shí)網(wǎng)內(nèi)HS數(shù)量較多,每個(gè)簇的成員較少,借助簇頭強(qiáng)大的計(jì)算能力,簇內(nèi)數(shù)據(jù)收集、加密、聚集等工作能在較短時(shí)間內(nèi)完成,從而縮短了整個(gè)網(wǎng)絡(luò)的查詢(xún)周期。當(dāng)n=100和50時(shí),RSDA算法的查詢(xún)周期分別增大至和附近,說(shuō)明隨著數(shù)量的減少,簇內(nèi)數(shù)據(jù)收集和處理的工作量增大,延長(zhǎng)了查詢(xún)周期。iCPDA和RSDA算法的查詢(xún)周期分別隨pc和n值的增大而減小,趨勢(shì)相同,但對(duì)應(yīng)的查詢(xún)周期RSDA算法更短,且優(yōu)勢(shì)明顯。
3.4通信開(kāi)銷(xiāo)
由于無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中數(shù)據(jù)通信的能量消耗遠(yuǎn)大于計(jì)算,因此可以用通信開(kāi)銷(xiāo)來(lái)衡量整個(gè)網(wǎng)絡(luò)的能耗。
圖4 TAG、iCPDA和RSDA算法的通信開(kāi)銷(xiāo)
如圖4所示,3種算法的通信開(kāi)銷(xiāo)都與查詢(xún)周期關(guān)系不大,其中功能最簡(jiǎn)單的TAG算法通信開(kāi)銷(xiāo)最低。iCPDA與RSDA算法的通信開(kāi)銷(xiāo)分別隨著和值的增大而增大,因?yàn)榛蛑档脑龃笠馕吨懈嗟拇?,需要更多的?shù)據(jù)傳輸??梢?jiàn)在分簇的無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中,并非越多越好。除n=50以外,RSDA算法的通信開(kāi)銷(xiāo)只多出對(duì)應(yīng)iCPDA算法少許,相差不大。這主要是由于RSDA算法中所傳輸?shù)臄?shù)據(jù)包信息豐富,長(zhǎng)度較長(zhǎng)所致??紤]到RSDA算法可以提供更高級(jí)別的安全保障,以及數(shù)據(jù)恢復(fù)為后續(xù)工作節(jié)省的能量消耗,首次聚集過(guò)程中的通信開(kāi)銷(xiāo)是可以接受的,多次聚集后,總的通信開(kāi)銷(xiāo)優(yōu)于iCPDA算法。
RSDA算法較好的實(shí)現(xiàn)了數(shù)據(jù)的隱私保護(hù),并具備驗(yàn)證數(shù)據(jù)真實(shí)性和完整性的功能。算法的數(shù)據(jù)恢復(fù)能力,使聚集節(jié)點(diǎn)能夠恢復(fù)聚集前的原始數(shù)據(jù)。性能分析和仿真實(shí)驗(yàn)的結(jié)果驗(yàn)證了算法的安全性和高效性,雖然首次聚集通信量稍大,但多次聚集后,總體能耗令人滿(mǎn)意。
目前的RSDA算法對(duì)于簇內(nèi)成員為一般傳感器節(jié)點(diǎn),簇頭為計(jì)算、存儲(chǔ)、通信等能力遠(yuǎn)高于一般簇成員的高資源傳感器節(jié)點(diǎn)的異構(gòu)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)顯然更加適用,如何使其更具通用性以及如何進(jìn)一步降低首次聚集過(guò)程中的能耗開(kāi)銷(xiāo)將是今后努力的方向。
參考文獻(xiàn):
[1]馮延蓬,仵博,鄭紅燕.異構(gòu)無(wú)線(xiàn)傳感器網(wǎng)絡(luò)中基于POMDP的實(shí)時(shí)調(diào)度算法.儀表技術(shù)與傳感器,2012(8):101-104.
[2]王翥,魏德寶,王玲.傳感器網(wǎng)絡(luò)數(shù)據(jù)聚合時(shí)機(jī)控制算法.儀表技術(shù)與傳感器,2012(5):75-78.
[3]MADDEN S,F(xiàn)RANKLIN M J,HELLERSTEIN J M.TAG:A Tiny Aggregation Service for Ad hoc Sensor Networks.Proceedings of the 5th Symposium on Operating Systems Design and Implementation.NewYork,USA,2002:131-146.
[4]YAO Jian-Bo,WEN Guang-Jum.Protecting classification priracy data aggregation in wireless sensor networks.Proceedings of the 4th International Conference on Wireless Communication.Networking and Mobile Computing (WiCOM).Dalian:China,2008:1-5.
[5]楊庚,王安琪,陳正宇,等.一種低耗能的數(shù)據(jù)融合隱私保護(hù)算法.計(jì)算機(jī)學(xué)報(bào),2011,34(5):792-800.
[6]Stavrns Papadopoulos,Aggelos Kiayias,Dimitris Papadias.Secure and efficient in-network processing of exact SUM queries.Proceedings of the 27th International Conference on Data Engineering(ICDE).Hannover:Germany,2011:517-528.
[7]HE W,LIU X,NGUYEN H,et al.A cluster-based protocol to enforce integrity and preserve privacy in data aggregation.Proceedings of the 29th IEEE International Conference on Distributed Computing Systems Workshops.Montreal:QC,Canada,2009:14-19.
[8]張金榮,王越,王東,等.組合能量圓分布無(wú)線(xiàn)傳感器網(wǎng)絡(luò)分簇路由與拓?fù)湫纬伤惴ǎ畠x表技術(shù)與傳感器,2009(1):61-64.
[9]MYKLETUN E,GIRAO J,WESTHOFF D.Public Key Based Cryptoschemes for Data Concealment in Wireless Sensor Networks.Proc.of the 2006 IEEE International Conference on Communications(ICC2006),Istanbul:Turkey,2006:2288-2295.
[10]BONEH D,GENTRY C,LYNN B,et al.Aggregate and Verifiably Encrypted Signatures from Bilinear Maps.Proc of the 22nd International Conference on Theory and Applications of Cryptographic Techniques (Eurocrypt2003),Warsaw:Poland,2003:416-432.