徐嘉慧
(昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500)
得益于集成感測(cè)、信息處理以及無(wú)線(xiàn)通信技術(shù)的快速發(fā)展和日趨成熟[1],無(wú)線(xiàn)傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)漸漸成為信息物理融合系統(tǒng)(Cyber Physical Systems)中的研究熱點(diǎn)。傳感器節(jié)點(diǎn)的部署通常具有無(wú)人值守的特性,低成本要求使得其部署環(huán)境和通信過(guò)程缺少安全保護(hù),因此物理節(jié)點(diǎn)容易受到攻擊和干擾[2]。隨著人們對(duì)WSN功能的需求越來(lái)越多樣化,需要在指定區(qū)域內(nèi)部署大量節(jié)點(diǎn)以實(shí)現(xiàn)需求,因此近年來(lái)針對(duì)WSN節(jié)點(diǎn)的安全檢測(cè)方案不斷涌現(xiàn)。
WSN入侵攻擊包括外部和內(nèi)部?jī)煞N方式,其中內(nèi)部攻擊更加難以檢測(cè)和處理。內(nèi)部攻擊包括節(jié)點(diǎn)捕獲、重新部署及發(fā)起攻擊3個(gè)階段[3]。歷年來(lái),對(duì)內(nèi)部攻擊的研究著重于對(duì)第2個(gè)階段和第3個(gè)階段的檢測(cè)。Song提出一種對(duì)節(jié)點(diǎn)重新部署后物理位置是否發(fā)生變化的檢測(cè)方法[4],Ioannis[5]和Ren等人[6]分別提出了一種選擇性轉(zhuǎn)發(fā)攻擊的檢測(cè)方法。Song通過(guò)丟包率超過(guò)閾值時(shí)生成的警報(bào)消息數(shù)量比例來(lái)判斷節(jié)點(diǎn)狀態(tài);Ioannis和Ren根據(jù)數(shù)據(jù)包丟失與預(yù)期的差值來(lái)判斷節(jié)點(diǎn)狀態(tài),并且推導(dǎo)最優(yōu)閾值。Dong提出了一種新穎的WSN分布式低存儲(chǔ)克隆檢測(cè)協(xié)議(LSCD)[7],規(guī)定任何兩條檢測(cè)路徑之間的距離必須小于見(jiàn)證者路徑長(zhǎng)度,以此確保了檢測(cè)路徑必須遇到見(jiàn)證者路徑。
將節(jié)點(diǎn)(被捕獲節(jié)點(diǎn)或克隆節(jié)點(diǎn))重新部署到WSN中并通過(guò)該節(jié)點(diǎn)發(fā)起攻擊會(huì)帶來(lái)很大的危害與損失。對(duì)第1階段即節(jié)點(diǎn)捕獲階段的攻擊檢測(cè)能夠盡可能早地發(fā)現(xiàn)節(jié)點(diǎn)危險(xiǎn)狀態(tài),從而降低對(duì)后續(xù)階段的安全威脅,保證WSN的安全運(yùn)行。因此,優(yōu)化WSN內(nèi)部攻擊第1階段的檢測(cè)方案對(duì)于WSN的信息和網(wǎng)絡(luò)安全至關(guān)重要。
如果節(jié)點(diǎn)只根據(jù)自身信息來(lái)判斷是否被捕獲,系統(tǒng)會(huì)出現(xiàn)很高的誤報(bào)率,因此很多典型的節(jié)點(diǎn)捕獲檢測(cè)方案都根據(jù)鄰居節(jié)點(diǎn)的反饋[8]來(lái)進(jìn)行綜合判斷。例如,Lin提出一種CAT(Couple-based node compromise detection)檢測(cè)方案[9],通過(guò)鄰居節(jié)點(diǎn)之間建立耦合來(lái)交互信標(biāo)(Beacon)消息,從而確認(rèn)彼此是否處于被捕獲的危險(xiǎn)狀態(tài)。然而,CAT只能互相監(jiān)控,當(dāng)局部區(qū)域內(nèi)大量節(jié)點(diǎn)被捕獲時(shí),WSN無(wú)法檢測(cè)到危險(xiǎn)。Ding等人通過(guò)一種簡(jiǎn)單有效的FSD(First Stage Detection)[10]協(xié)議來(lái)檢測(cè)節(jié)點(diǎn),如果節(jié)點(diǎn)未接收到鄰居節(jié)點(diǎn)預(yù)期數(shù)量的連續(xù)問(wèn)候消息則懷疑鄰居節(jié)點(diǎn)已被捕獲。在這些方法中,為了保證能夠時(shí)刻交互消息,節(jié)點(diǎn)需要一直處于工作狀態(tài),因此能耗過(guò)高。Ding進(jìn)一步提出了一種通過(guò)節(jié)點(diǎn)定期廣播hello消息來(lái)證明自己未被捕獲的LDCFSD(Low Duty Cycle FSD)[11]檢測(cè)方案,方案加入了休眠機(jī)制,但是需要額外的同步機(jī)制使全部節(jié)點(diǎn)同步休眠。Mohamed提出一種基于重疊組的受損節(jié)點(diǎn)檢測(cè)方案[12],通過(guò)在局部區(qū)域中的鄰居節(jié)點(diǎn)之間建立鏈?zhǔn)紾roup,從而形成重疊的Group以檢測(cè)攻擊威脅。
方案針對(duì)WSN內(nèi)部攻擊中第1個(gè)階段中分布式節(jié)點(diǎn)被捕獲的問(wèn)題進(jìn)行檢測(cè)。假設(shè)在一個(gè)固定區(qū)域內(nèi)均勻部署靜態(tài)傳感器節(jié)點(diǎn)N={N1,N2,N3,…,Nn},并且在部署階段,所有節(jié)點(diǎn)都處于安全狀態(tài)。WSN中每個(gè)節(jié)點(diǎn)的通信都是雙向的,即在該區(qū)域內(nèi),任意兩個(gè)節(jié)點(diǎn)可以相互通信,且節(jié)點(diǎn)之間消息通信過(guò)程所用時(shí)間忽略不計(jì)。該方案將WSN中的節(jié)點(diǎn)N分為底層節(jié)點(diǎn)(Bottom Node,BN)、監(jiān)控節(jié)點(diǎn)(Monitoring Node,MN)及決策節(jié)點(diǎn)(Decision Node,DN)3類(lèi)。1個(gè)BN、2個(gè)MN及1個(gè)DN共同構(gòu)成三級(jí)體系(Three Hierarchy System,THS)。1個(gè)通信結(jié)構(gòu)至少包含2個(gè)不相鄰的THS,因此一個(gè)完整的通信結(jié)構(gòu)至少由7個(gè)節(jié)點(diǎn)構(gòu)成。
通過(guò)多輪詢(xún)機(jī)制[13],BN會(huì)周期性地向其任意一個(gè)MN發(fā)送自身狀態(tài)消息,當(dāng)出現(xiàn)異?,F(xiàn)象時(shí),MN向BN發(fā)送詢(xún)問(wèn)消息。MN與BN交互信息后判斷BN當(dāng)前安全是否受到威脅,若MN判斷BN處于危險(xiǎn)狀態(tài)時(shí)向其他MN發(fā)送自身狀態(tài)消息,各個(gè)MN節(jié)點(diǎn)根據(jù)詢(xún)問(wèn)信息將判斷結(jié)果發(fā)送給決策節(jié)點(diǎn)DN。當(dāng)DN收到安全信息時(shí)保持正常工作,當(dāng)DN收到非安全信息時(shí),與判斷同一個(gè)BN安全狀態(tài)的其他DN交互信息,協(xié)同決策該BN的狀態(tài)是否已被捕獲,并將狀態(tài)信息和節(jié)點(diǎn)唯一ID上報(bào)基站(Base Station,BS),由BS處理該被捕獲節(jié)點(diǎn)。
WSN節(jié)點(diǎn)捕獲檢測(cè)方案最難以解決的問(wèn)題是誤報(bào)和漏報(bào)導(dǎo)致的檢測(cè)準(zhǔn)確度降低。該方案采用多輪詢(xún)的通信方式,以BN、MN及DN組成的多個(gè)THS共同構(gòu)成蛛網(wǎng)結(jié)構(gòu)(Cobweb),在節(jié)點(diǎn)安全狀態(tài)被威脅時(shí),能夠完成多次協(xié)同決策,有效降低了誤報(bào)情況的發(fā)生。
節(jié)點(diǎn)同步休眠時(shí),每個(gè)節(jié)點(diǎn)都始終處于喚醒狀態(tài),因此節(jié)點(diǎn)能夠捕捉到每一個(gè)信息交互時(shí)間點(diǎn),但是需要占用并且消耗更多的資源,在應(yīng)用上會(huì)有一定的限制。
異步休眠機(jī)制中,節(jié)點(diǎn)不需要同步喚醒和休眠,因此不需要同步機(jī)制,但BN與MN之間需要通過(guò)hello(問(wèn)候)消息和heart(心跳)消息來(lái)確定BN的安全狀態(tài),之后由MN上報(bào)DN,由屬于同一個(gè)BN的DN交互信息,共同決定是否上報(bào)BS。
假設(shè)Cobweb的通信周期為C,每個(gè)節(jié)點(diǎn)的工作周期為T(mén),通信周期由3個(gè)T構(gòu)成。在一個(gè)T中,工作時(shí)間為T(mén)w,休眠時(shí)間為T(mén)s,令Tw取值大于Ts,保證節(jié)點(diǎn)工作效率;假設(shè)每個(gè)節(jié)點(diǎn)被捕獲的時(shí)間為T(mén)c,令Tc取值小于T,使得如果BN在任意一個(gè)T內(nèi)被捕獲,那么MN都無(wú)法接收到BN發(fā)送的消息,MN會(huì)發(fā)送給BN詢(xún)問(wèn)消息并將信息發(fā)送給DN,由DN之間協(xié)同決策后上報(bào)給BS。
CAT[9]檢測(cè)方案通過(guò)節(jié)點(diǎn)兩兩結(jié)對(duì)的方式相互通信,兩個(gè)節(jié)點(diǎn)互為彼此的BN與MN,且每個(gè)節(jié)點(diǎn)都能成為DN,通信模型如圖1(a)所示。因?yàn)榇朔桨钢械腄N無(wú)法協(xié)同決策,所以隨著被捕獲節(jié)點(diǎn)數(shù)量的增加,相互監(jiān)控的兩個(gè)節(jié)點(diǎn)同時(shí)被捕獲的概率增大,DN角色缺失,誤報(bào)率隨之增加。
圖1 通信模型
Group檢測(cè)方案[12]通過(guò)節(jié)點(diǎn)與鄰居節(jié)點(diǎn)建立鏈?zhǔn)紾roup。Group之間通過(guò)一個(gè)關(guān)鍵節(jié)點(diǎn)連接,最終形成鏈?zhǔn)浇Y(jié)構(gòu)的通信模型,如圖1(b)所示。鏈?zhǔn)浇Y(jié)構(gòu)中,兩個(gè)Group互為彼此的BN與MN。當(dāng)Group中任意一個(gè)節(jié)點(diǎn)被捕獲,該Group通信結(jié)構(gòu)被破壞,此時(shí)鏈?zhǔn)浇Y(jié)構(gòu)中與其相鄰的Group充當(dāng)DN的角色。由于鏈?zhǔn)浇Y(jié)構(gòu)中的關(guān)鍵節(jié)點(diǎn)被捕獲時(shí),此方案無(wú)法判斷被捕獲的節(jié)點(diǎn)處于哪一個(gè)相鄰Group,因此誤報(bào)率將大大提升。
本文提出的方案采用多輪詢(xún)的通信方式,其基本通信單元是由1個(gè)BN、2個(gè)MN和1個(gè)DN共同組成的THS,通信模型如圖1(c)所示。由于各個(gè)THS的BN可以為同一節(jié)點(diǎn),因此BN、MN及DN之間的通信形成了類(lèi)似蛛網(wǎng)的結(jié)構(gòu)(即Cobweb)。當(dāng)Cobweb由6個(gè)THS構(gòu)成時(shí),其通信模型如圖2所示。
1個(gè)Cobweb可分解為6個(gè)THS,THS={THS1,THS2,THS3,…,THS6},其 中THS1={BNa,MNb,MNc,…,DNb}。當(dāng)MNb或MNc在T內(nèi)沒(méi)有收到由BNa發(fā)送的hello消息時(shí),該節(jié)點(diǎn)會(huì)在下一個(gè)通信周期向BNa發(fā)送heart消息來(lái)詢(xún)問(wèn)BNa是否存活,確認(rèn)后MNb將結(jié)果發(fā)送給DNm和DNh,MNc將結(jié)果發(fā)送給DNh與DNi,在該結(jié)構(gòu)中消息傳輸時(shí)間忽略不計(jì)。若MNb與MNc中有1個(gè)或2個(gè)認(rèn)為BNa處于危險(xiǎn)狀態(tài),則BNa向其他MN發(fā)送hello消息。當(dāng)在THS1中DNh無(wú)法根據(jù)MNb和MNc發(fā)送的信息來(lái)判斷BNa是否處于安全狀態(tài)時(shí),DNh將會(huì)向其他DN進(jìn)行問(wèn)詢(xún)。MNb和MNc中有一個(gè)向DNh發(fā)送BNa危險(xiǎn)信息時(shí),DNh則判斷BNa處于待定狀態(tài);MNb和MNc中有兩個(gè)向DNh發(fā)送BNa危險(xiǎn)信息時(shí),DNh則判斷BNa處于危險(xiǎn)狀態(tài)。當(dāng)全部DN都處于待定狀態(tài)或一半與一半以上DN都判斷BN處于危險(xiǎn)狀態(tài)時(shí),DNh認(rèn)為BNa已經(jīng)被捕獲并報(bào)告給BS。
圖2 蛛網(wǎng)結(jié)構(gòu)
在該方案中,BNa不再按照傳統(tǒng)的多輪詢(xún)方式向MNb、MNc、MNd、MNe、MNf及MNg以一定周期依次發(fā)送消息,而是在第一個(gè)T內(nèi)同時(shí)向相鄰的MNb和MNc發(fā)送消息。若BNa處于待定或者危險(xiǎn)狀態(tài),則BNa在第2個(gè)T內(nèi)向相其他MN發(fā)送消息,從而保證了該通信模型的周期在一個(gè)C內(nèi)。此外,該方案提出的Cobweb通信模型通過(guò)兩次協(xié)同決策來(lái)降低通信模型的誤報(bào)率,提升了檢測(cè)率的準(zhǔn)確度。
在異步休眠機(jī)制中,當(dāng)節(jié)點(diǎn)處于休眠狀態(tài)時(shí),該節(jié)點(diǎn)將無(wú)法發(fā)送、接收到任何消息,使得MN、DN錯(cuò)過(guò)若干hello和heart消息,DN做出錯(cuò)誤決策,最終導(dǎo)致大量誤報(bào)和漏報(bào)現(xiàn)象。因此,該方案針對(duì)WSN節(jié)點(diǎn)捕獲問(wèn)題對(duì)異步休眠機(jī)制做出了相應(yīng)的改進(jìn),保證節(jié)點(diǎn)在保留異步休眠機(jī)制的同時(shí)在Tw不會(huì)錯(cuò)過(guò)鄰居節(jié)點(diǎn)傳達(dá)的信息。
在隨機(jī)抓取的同一個(gè)時(shí)間T內(nèi),節(jié)點(diǎn)間工作時(shí)間Tw與休眠時(shí)間Ts是異步的,即在同一T內(nèi)Tw、Ts分配在不同的時(shí)間段。該方案將全部異步休眠節(jié)點(diǎn)分為N1,N2,N3,…,N6共計(jì)6類(lèi)異步休眠節(jié)點(diǎn),Cobweb中的BN和MN可能不屬于同一類(lèi)異步休眠節(jié)點(diǎn)。
BN在節(jié)點(diǎn)由休眠狀態(tài)轉(zhuǎn)為工作狀態(tài)后的第一時(shí)刻向其全部MN發(fā)送第1次hello消息,在Tw進(jìn)行一半時(shí)向其全部MN發(fā)送第2次hello消息,在Tw即將結(jié)束的最后一刻向其全部MN發(fā)送第3次hello消息。無(wú)論當(dāng)前MN屬于哪一類(lèi)異步休眠節(jié)點(diǎn),保證在其Tw中都能接收到至少1次hello消息。
如果在一個(gè)工作周期T中,MN沒(méi)有接收到任何BN發(fā)送的hello消息,那么當(dāng)下一個(gè)Tw開(kāi)始時(shí),在與BN向MN發(fā)送hello消息相同的時(shí)刻,MN向BN發(fā)送3次heart消息來(lái)確認(rèn)MN當(dāng)前的安全狀態(tài)。該方案保證在BN的Tw中,BN可以接收到至少1次heart消息。
以BN為N1的情況為例,分析當(dāng)對(duì)應(yīng)的MN分別為N1,N2,N3,…,N6時(shí),BN與MN之間hello消息的3次通信情況,如圖3所示。
圖3 節(jié)點(diǎn)異步休眠
在一個(gè)固定區(qū)域中,若干靜態(tài)傳感器節(jié)點(diǎn)共同組成Cobweb。Cobweb可拆分為若干個(gè)THS。在1個(gè)THS中,有且只有1個(gè)BN,若干MN,有且只有1個(gè) DN。其中MN={MN1,MN2,MN3,…,MNn}。
當(dāng)MN1與BN同屬于異步休眠節(jié)點(diǎn)類(lèi)型N1時(shí),如圖3(a)所示,在此特殊情況下可將MN1與BN看作同步休眠周期節(jié)點(diǎn),BN向MN1發(fā)送的3次hello消息皆可在MN1的Tw內(nèi),即MN1能夠成功接收到BN全部的hello消息。與此相對(duì)應(yīng),當(dāng)MN1在1個(gè)工作周期T中沒(méi)有接收到任何hello消息時(shí),BN疑似被捕獲,MN1在當(dāng)前Ts結(jié)束后立即向BN發(fā)送3次heart消息。如果BN未被捕獲,BN將成功接收3次heart消息并回應(yīng),從而證明該BN節(jié)點(diǎn)并未被捕獲,仍然處于安全狀態(tài)。
當(dāng)MN2屬于異步休眠節(jié)點(diǎn)類(lèi)型N2時(shí),如圖3(b)所示,BN向MN2發(fā)送的3次hello消息中有1次在MN1的Tw內(nèi),有2次hello消息在MN2的Ts內(nèi),即MN2能夠成功接收到BN1次hello消息。同上,當(dāng)MN2沒(méi)有接收到hello消息時(shí),向BN發(fā)送的3次heart消息中有1次在BN的Tw內(nèi)。
當(dāng)MN3屬于異步休眠節(jié)點(diǎn)類(lèi)型N3時(shí),如圖3(c)所示,MN3能夠成功接收到BN2次hello消息,MN3沒(méi)有接收到hello消息時(shí),BN成功接收2次MN3的heart消息。
當(dāng)MN4屬于異步休眠節(jié)點(diǎn)類(lèi)型N4時(shí),如圖3(d)所示,MN4能夠成功接收到BN2次hello消息,MN4沒(méi)有接收到hello消息時(shí),BN成功接收2次MN4的heart消息。
當(dāng)MN5屬于異步休眠節(jié)點(diǎn)類(lèi)型N5時(shí),如圖3(e)所示,MN5能夠成功接收到BN一次hello消息,MN5沒(méi)有接收到hello消息時(shí),BN成功接收1次MN5的heart消息。
當(dāng)MN6屬于異步休眠節(jié)點(diǎn)類(lèi)型N6時(shí),如圖3(f)所示,MN6能夠成功接收到BN2次hello消息,MN6沒(méi)有接收到hello消息時(shí),BN成功接收1次MN6的heart消息。
在固定區(qū)域中由一個(gè)BS與若干節(jié)點(diǎn)N={N1,N2,N3,…,Nn}(n≥7)共同組成WSN,每個(gè)N都有且只有一個(gè)ID,在部署后記錄自己相對(duì)應(yīng)的BN、MN、DN,并且在初始化時(shí)同步給BS。針對(duì)WSN中節(jié)點(diǎn)捕獲入侵檢測(cè)問(wèn)題,該方案將全部N拆解為若干個(gè)Cobweb。為了保證兩次協(xié)同決策正常運(yùn)行,1個(gè)Cobweb必須包含至少2個(gè)不相鄰的THS,其中至少包含1個(gè)BN、4個(gè)MN與2個(gè)DN。
在檢測(cè)過(guò)程中,MN對(duì)BN進(jìn)行監(jiān)控并將監(jiān)控結(jié)果發(fā)送給對(duì)應(yīng)DN,每個(gè)DN根據(jù)對(duì)應(yīng)的2個(gè)MN發(fā)送的信息來(lái)做出決策。當(dāng)?shù)玫降男畔⒉蛔阋耘袛嘣揃N是否被捕獲時(shí),DN向其它的DN進(jìn)行問(wèn)詢(xún),最終做出本地協(xié)同決策。當(dāng)決策結(jié)果為該節(jié)點(diǎn)已被捕獲時(shí),DN通過(guò)多跳路由向BS發(fā)出信息,由BS通告區(qū)域內(nèi)全部節(jié)點(diǎn),給出對(duì)策并采取措施。
在該方案中,假設(shè)有n(n≥7)個(gè)節(jié)點(diǎn),其中,有h(h≥4)個(gè)MN、k(k≥2)個(gè)DN與1個(gè)BN,設(shè)立節(jié)點(diǎn)捕獲指數(shù)Ci代表節(jié)點(diǎn)被捕獲的可能性,Ci取值范圍為[0,1],取值越接近1表示該節(jié)點(diǎn)被捕獲可能性越大。
具體流程如下:
(1)初始化Cobweb,底層節(jié)點(diǎn)BN被喚醒時(shí)全部對(duì)應(yīng)的h個(gè)MN處于監(jiān)控狀態(tài)。BN根據(jù)3.2節(jié)采用多輪詢(xún)方式向MNi發(fā)送hello消息,此時(shí)節(jié)點(diǎn)捕獲指數(shù)Ci為0。
(2)BN與MNi采用3.3節(jié)異步休眠機(jī)制相互通信,如果在第一個(gè)T內(nèi)MNi收到hello消息,MNi認(rèn)為BN未被捕獲并向?qū)?yīng)的DNi發(fā)送該消息。如果在第一個(gè)T內(nèi)MNi沒(méi)有收到hello消息,MNi在第2個(gè)周期向BN發(fā)送heart消息,若BN回應(yīng)heart消息,則依舊認(rèn)為BN未被捕獲,若MNi未收到回應(yīng),則認(rèn)為BN已被捕獲并向?qū)?yīng)的DNi發(fā)送該消息。
(3)DNi收到對(duì)應(yīng)的2個(gè)MNi所發(fā)送的消息,并進(jìn)行第1次協(xié)同決策。如果2個(gè)MNi發(fā)送的皆為未捕獲消息,則重復(fù)執(zhí)行步驟(1),直至DNi收到已捕獲消息后廣播給其他DN。與此同時(shí),DNi接收其他DN廣播的消息并與自身所得到的消息進(jìn)行驗(yàn)證,進(jìn)行第2次協(xié)同決策后共接收到j(luò)(j≤n)個(gè)已捕獲消息,Ci=Ci+j/n。
(4)計(jì)算當(dāng)前Ci,當(dāng)Ci≤1/2時(shí)認(rèn)為當(dāng)前BN并未被捕獲,則重復(fù)執(zhí)行步驟(1),直至Ci>1/2時(shí),DNi向BS發(fā)送已被捕獲節(jié)點(diǎn)BN的ID,BS接收到該消息后做出相應(yīng)處理,當(dāng)前流程結(jié)束。該方案的流程如圖4所示。
在MATLAB仿真環(huán)境下,將該檢測(cè)方案與CAT檢測(cè)方案和GROUP檢測(cè)方案分別在誤報(bào)率、漏報(bào)率及檢測(cè)率3方面進(jìn)行實(shí)驗(yàn)分析。
在100 m×100 m的實(shí)驗(yàn)場(chǎng)地中隨機(jī)均勻部署一個(gè)BS與100個(gè)靜態(tài)傳感器節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)此時(shí)都處于安全狀態(tài)且相互正常通信,通信距離為30 m。實(shí)驗(yàn)中設(shè)定被捕獲的節(jié)點(diǎn)Nc={N1,N2,N3,…,N30}不會(huì)超過(guò)節(jié)點(diǎn)總量的30%,并以每增加5個(gè)被捕獲節(jié)點(diǎn)時(shí)對(duì)應(yīng)的誤報(bào)率、漏報(bào)率及檢測(cè)率變化得出圖像,結(jié)果分別如圖5、圖6及圖7所示。
圖4 方案流程圖
為了保證實(shí)驗(yàn)的一般性,設(shè)定1 min即60 s為節(jié)點(diǎn)被捕獲所需時(shí)間Tc,每個(gè)節(jié)點(diǎn)工作周期T為T(mén)c的1/4即15 s,每個(gè)周期中工作時(shí)間Tw為10 s,休眠時(shí)間Ts為5 s。該方案最長(zhǎng)使用3T完成檢測(cè)即45 s,且45 s<Tc,滿(mǎn)足節(jié)點(diǎn)捕獲時(shí)間大于節(jié)點(diǎn)周期的條件。1個(gè)節(jié)點(diǎn)以自身作為BN,選取6個(gè)周邊部署的鄰居節(jié)點(diǎn)作為MN,選取6個(gè)相鄰MN節(jié)點(diǎn)的6個(gè)共同鄰居節(jié)點(diǎn)為DN。
從圖5可以看出,CAT檢測(cè)方案、GROUP檢測(cè)方案及本文檢測(cè)方案的檢測(cè)率皆隨著被捕獲Nc的數(shù)量增多而下降。其中,CAT檢測(cè)方案的檢測(cè)率由100%下降到79.6%,GROUP檢測(cè)方案的檢測(cè)率由100%下降到86.7%,本文檢測(cè)方案的檢測(cè)率由100%下降到94.6%。
圖5 不同方案的檢測(cè)率
由于本文方案將節(jié)點(diǎn)組成THS與Cobweb結(jié)構(gòu),并采用多輪詢(xún)的通信方式來(lái)完成協(xié)同決策,節(jié)點(diǎn)異步休眠機(jī)制的引入保證了信息的通信暢通,因此即使Nc的數(shù)量逐漸增多,該方案依然能夠保證檢測(cè)率平緩下降。GROUP檢測(cè)方案在鏈?zhǔn)綑z測(cè)的體系下,隨著Nc數(shù)量的增多,鏈狀結(jié)構(gòu)關(guān)鍵節(jié)點(diǎn)全部被捕獲的概率增大,且并未考慮休眠機(jī)制,消息丟失與誤報(bào)的概率增大。CAT檢測(cè)方案在結(jié)對(duì)互相檢測(cè)的體系下,當(dāng)兩個(gè)節(jié)點(diǎn)同時(shí)被捕獲,兩個(gè)節(jié)點(diǎn)被捕獲的消息將無(wú)法傳達(dá)給基站,且與GROUP檢測(cè)方案一樣并未考慮休眠機(jī)制。因此隨著Nc數(shù)量的增多,結(jié)對(duì)的節(jié)點(diǎn)同時(shí)被捕獲的可能性也更大,檢測(cè)率下降的也更加明顯。
從圖6可以看出,CAT檢測(cè)方案、GROUP檢測(cè)方案及本文檢測(cè)方案的誤報(bào)率皆隨著被捕獲Nc的數(shù)量增多而上升。其中,GROUP檢測(cè)方案的檢測(cè)率由15.8%上升到36.2%,CAT檢測(cè)方案的檢測(cè)率由12.5%上升到24.9%,該檢測(cè)方案的檢測(cè)率由0.8%上升到6.4%。
由于本文方案采用THS與Cobweb結(jié)構(gòu)來(lái)保證協(xié)同決策的穩(wěn)定性和準(zhǔn)確性,因此該方案誤報(bào)率上升趨勢(shì)更為平緩。由于沒(méi)有考慮休眠機(jī)制,盡管CAT檢測(cè)方案在結(jié)對(duì)互相檢測(cè)的體系下需要監(jiān)控的節(jié)點(diǎn)比GROUP檢測(cè)方案少,但是仍會(huì)存在將處在Ts時(shí)的節(jié)點(diǎn)誤報(bào)為Nc的情況,因此CAT檢測(cè)方案誤報(bào)率上升得比本文方案更加明顯。GROUP檢測(cè)方案需要監(jiān)控的節(jié)點(diǎn)更多,也會(huì)有更多將Ts時(shí)的節(jié)點(diǎn)誤報(bào)為Nc的情況,因此誤報(bào)率上升最為明顯。
圖6 不同方案的誤報(bào)率
從圖7可以看出,CAT檢測(cè)方案、GROUP檢測(cè)方案及本文檢測(cè)方案的漏報(bào)率皆隨著被捕獲Nc的數(shù)量增多而上升。其中,CAT檢測(cè)方案的漏報(bào)率由0%上升到16.4%,GROUP檢測(cè)方案的漏報(bào)率由0%上升到8.6%,本文檢測(cè)方案的漏報(bào)率由0%上升到4.2%。
圖7 不同方案的漏報(bào)率
3種方案由于一些邊緣的孤兒節(jié)點(diǎn)無(wú)法支撐檢測(cè)的體系,皆會(huì)造成漏報(bào)的情況。由于本文方案的檢測(cè)體系種各個(gè)節(jié)點(diǎn)分工明確,包容性更強(qiáng),孤兒節(jié)點(diǎn)出現(xiàn)的更少,因此該方案的漏報(bào)率上升得更為平緩。GROUP檢測(cè)方案在一組鏈?zhǔn)浇Y(jié)構(gòu)節(jié)點(diǎn)間隔被捕獲時(shí),無(wú)法判斷處在間隔中的節(jié)點(diǎn)是否被捕獲,因此隨著Nc數(shù)量的增多,漏報(bào)率也會(huì)有一些提升。在CAT檢測(cè)方案中,若是兩個(gè)結(jié)對(duì)的節(jié)點(diǎn)同時(shí)被捕獲則會(huì)造成漏報(bào)情況,同時(shí)也會(huì)影響檢測(cè)率,因此隨著Nc數(shù)量的增多,漏報(bào)率明顯上升。
為了降低異步休眠框架中WSN節(jié)點(diǎn)捕獲檢測(cè)方案的誤報(bào)率與漏報(bào)率,本文提出了一種融合多輪詢(xún)機(jī)制與節(jié)點(diǎn)協(xié)同決策的檢測(cè)方案。將目標(biāo)檢測(cè)區(qū)域節(jié)點(diǎn)分為BN、MN及DN共3種,每1個(gè)BN、1個(gè)DN及2個(gè)MN組成一個(gè)THS,由節(jié)點(diǎn)分布密度決定由n(n≥2)個(gè)THS構(gòu)成一個(gè)Cobweb結(jié)構(gòu),節(jié)點(diǎn)之間采用多輪詢(xún)機(jī)制通信。若一個(gè)Cobweb結(jié)構(gòu)里沒(méi)有節(jié)點(diǎn)被捕獲,則隨機(jī)的THS始終在第1個(gè)周期里工作,節(jié)點(diǎn)之間協(xié)同決策來(lái)降低誤報(bào)率;與此同時(shí),本文改善了異步休眠機(jī)制來(lái)應(yīng)對(duì)節(jié)點(diǎn)異步休眠方式中信息丟失的問(wèn)題,無(wú)論節(jié)點(diǎn)的工作時(shí)間Tw與休眠時(shí)間Ts在一個(gè)周期T中如何分布,都能夠保證消息正常地發(fā)送與接收,從而降低了方案的誤報(bào)率。仿真實(shí)驗(yàn)結(jié)果表明,本文所提出的檢測(cè)方案通過(guò)降低誤報(bào)率與漏報(bào)率,很好地提升了檢測(cè)率的準(zhǔn)確度。然而,由于本文檢測(cè)方案需要精細(xì)的Cobweb結(jié)構(gòu)支持,因此在目標(biāo)區(qū)域節(jié)點(diǎn)密度過(guò)小時(shí)無(wú)法完成檢測(cè),下一步的研究方向是如何在低節(jié)點(diǎn)密度的情況下優(yōu)化檢測(cè)方案。