秦秋陽,江凌云
(南京郵電大學(xué),江蘇 南京 210003)
近年來,物聯(lián)網(wǎng)技術(shù)飛速發(fā)展,使得越來越多的物理節(jié)點(diǎn)被部署到物聯(lián)網(wǎng)。大量具有計(jì)算、傳感、執(zhí)行能力的節(jié)點(diǎn)連接到網(wǎng)絡(luò)中,在不需要人類干預(yù)的情況下,這些物聯(lián)網(wǎng)節(jié)點(diǎn)可以完成各種任務(wù),為人類提供極大的便利。但是,使用這些物聯(lián)網(wǎng)節(jié)點(diǎn)的前提是這些節(jié)點(diǎn)能夠安全接入服務(wù)器或網(wǎng)關(guān),否則將會(huì)帶來各種危險(xiǎn)甚至災(zāi)難。而在通信間斷、中斷以及受限(Disconnected、Interrupted、Limited,DIL)的網(wǎng)絡(luò)環(huán)境中,想要保證終端的安全接入更加困難[1]。
在疏散、搜救以及軍事行動(dòng)等戰(zhàn)術(shù)環(huán)境下,物聯(lián)網(wǎng)節(jié)點(diǎn)經(jīng)常處于不停歇的移動(dòng)中。移動(dòng)的方向和速度存在較大的隨機(jī)性,且處于DIL的通信環(huán)境。終端移動(dòng)后需要選擇合適的網(wǎng)關(guān)接入,而即將接入的網(wǎng)關(guān)和路由的安全性如何是一個(gè)需要特別關(guān)注的問題。此外,加密認(rèn)證是節(jié)點(diǎn)安全接入網(wǎng)關(guān)的常用方法,但是這種認(rèn)證方法需要消耗較多能量,而資源受限是物聯(lián)網(wǎng)普遍存在的問題,所以需要在保證終端安全接入的同時(shí)盡量減少資源的損耗。
基于信任的評估策略是一種有效且計(jì)算耗能非常少的輔助方案。終端通過對其他終端和網(wǎng)關(guān)的性能和安全進(jìn)行評估,量化路由的安全性,在移動(dòng)后將信任指標(biāo)作為主要參數(shù)來選擇合適的網(wǎng)關(guān)連接。在系統(tǒng)運(yùn)行過程中,認(rèn)定信任指標(biāo)過低的節(jié)點(diǎn)直接丟棄。此外,信任指標(biāo)還可以為終端是否相信其他節(jié)點(diǎn)發(fā)送的重要消息提供依據(jù)。
現(xiàn)有的評估策略主要是對服務(wù)質(zhì)量和能力的評價(jià),雖然是決定節(jié)點(diǎn)安全性的重要因素,但是顯然不夠,于是社交關(guān)系的評估被提出。社交關(guān)系包括誠實(shí)度、親密度、連接性、相似性以及自私性等。但是,使用服務(wù)質(zhì)量和社交關(guān)系進(jìn)行信任評估的策略很少應(yīng)用于軍事環(huán)境,更缺少基于DIL環(huán)境下應(yīng)對通信不穩(wěn)定情況的分析,沒有考慮到連接性在信任指標(biāo)中的重要作用,也沒有針對不同等級的節(jié)點(diǎn)提供的信任指標(biāo)賦予不同的權(quán)重。此外,這些方案仍然存在一些安全隱患沒有解決,如不能抵抗機(jī)會(huì)服務(wù)攻擊、開關(guān)攻擊等。
本文的組成結(jié)構(gòu)如下:第1章簡要介紹現(xiàn)有的關(guān)于評估策略的相關(guān)工作;第2章主要介紹本文所研究的戰(zhàn)術(shù)環(huán)境的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu);第3章詳細(xì)介紹信任指標(biāo)的計(jì)算方法,并分析在戰(zhàn)術(shù)環(huán)境下信任指標(biāo)的相關(guān)應(yīng)用;第4章通過與其他文獻(xiàn)的方案對比分析該方案的安全性與能耗;第5章對本文進(jìn)行總結(jié)。
物聯(lián)網(wǎng)系統(tǒng)中保證節(jié)點(diǎn)的安全性一直是一個(gè)重要話題,但是目前對戰(zhàn)術(shù)環(huán)境中安全性的研究還有所欠缺。文獻(xiàn)[2]提出了戰(zhàn)術(shù)環(huán)境下終端安全接入網(wǎng)關(guān)的方案,但是不能解決信任托管和終端與網(wǎng)關(guān)之間相互認(rèn)證等問題。文獻(xiàn)[3]首次提出基于無證書密鑰的加密認(rèn)證方案,且之后的文獻(xiàn)[4-6]將該方案進(jìn)一步完善,通過將其應(yīng)用到戰(zhàn)術(shù)環(huán)境,解決了上述安全問題。但是,加密認(rèn)證計(jì)算復(fù)雜,需要消耗更多的能量和時(shí)間。本文所提方案將減少加密認(rèn)證的計(jì)算次數(shù),節(jié)省能量損耗。
文獻(xiàn)[7]提出了基于信任指標(biāo)的安全性評估方案,之后文獻(xiàn)[8]通過數(shù)據(jù)包轉(zhuǎn)發(fā)率、傳遞率、能量損耗等衡量服務(wù)質(zhì)量(Quality of Service,QoS)來進(jìn)行安全性評估,但僅僅評估了服務(wù)質(zhì)量與能力,不夠全面。Chen等引入了社會(huì)關(guān)系的概念,與QoS結(jié)合來評估安全性[9-11],使得對節(jié)點(diǎn)安全性的評估更加全面、準(zhǔn)確,但是主要適用于民用物聯(lián)網(wǎng)。文獻(xiàn)[12]考慮到了軍事應(yīng)用中的安全性評估,但是沒有考慮通信穩(wěn)定性這一重要因素,而且沒有具體分析節(jié)點(diǎn)發(fā)現(xiàn)安全問題后的解決措施,同時(shí)存在不能抵抗機(jī)會(huì)服務(wù)攻擊、開關(guān)攻擊的問題。
文獻(xiàn)[13-15]基于信任指標(biāo)完善了安全路由選擇的方案,文獻(xiàn)[16]基于信任指標(biāo)解決了開關(guān)攻擊問題。本文改進(jìn)Chen等提出的計(jì)算信任指標(biāo)方案,引入通信穩(wěn)定性作為計(jì)算信任指標(biāo)的影響因子,并且考慮了連接跳數(shù)對信任指標(biāo)計(jì)算的影響,解決了其中存在的安全性問題,有效降低了能量損耗。
圖1為本文具體的戰(zhàn)術(shù)環(huán)境網(wǎng)絡(luò)結(jié)構(gòu)示意圖。在戰(zhàn)術(shù)環(huán)境中,通信不穩(wěn)定的情況經(jīng)常出現(xiàn),所以本文是基于網(wǎng)絡(luò)中節(jié)點(diǎn)與云端斷開連接的模型展開討論的。此時(shí),網(wǎng)絡(luò)中主要存在終端、網(wǎng)關(guān)和主控節(jié)點(diǎn)3種節(jié)點(diǎn)。
圖1 戰(zhàn)術(shù)環(huán)境下的網(wǎng)絡(luò)拓?fù)?/p>
無人機(jī)、無人車以及士兵攜帶各種功能的節(jié)點(diǎn)以及一臺(tái)Android節(jié)點(diǎn),且所有功能節(jié)點(diǎn)會(huì)與Android節(jié)點(diǎn)連接。該Android作為終端與其他終端、網(wǎng)關(guān)以及主控節(jié)點(diǎn)連接,主要完成匯總、處理、傳輸以及接收數(shù)據(jù)的功能,并對其他節(jié)點(diǎn)進(jìn)行安全評估。終端需要與網(wǎng)關(guān)連接,完成數(shù)據(jù)上傳。如果終端不能直接與網(wǎng)關(guān)、主控節(jié)點(diǎn)連接,則與其他終端連接通過多跳的方式連接到網(wǎng)關(guān)、主控節(jié)點(diǎn)。一般而言,一個(gè)終端只能與一個(gè)網(wǎng)關(guān)連接,但是可以和多個(gè)終端連接。圖1中箭頭表示終端的移動(dòng)方向。
具有更高性能、更多能量、更強(qiáng)計(jì)算能力的節(jié)點(diǎn)可以作為網(wǎng)關(guān),如圖1所示。網(wǎng)關(guān)可以是較大型的無人機(jī)、無人車,或者該節(jié)點(diǎn)直接由固定人員攜帶。每個(gè)網(wǎng)關(guān)都有各自的信號覆蓋范圍,在該范圍之內(nèi)的終端可以和該網(wǎng)關(guān)連接。網(wǎng)關(guān)也需要和其他可通信的網(wǎng)關(guān)、主控節(jié)點(diǎn)連接,并互相進(jìn)行評估。網(wǎng)關(guān)也是可以移動(dòng)的,但是網(wǎng)關(guān)的移動(dòng)性相比終端較小,且也可以類比為終端的相對移動(dòng)。所以,本文只考慮終端的移動(dòng)。
主控節(jié)點(diǎn)是所有網(wǎng)關(guān)中移動(dòng)性相對較小、處理數(shù)據(jù)能力相對較大的網(wǎng)關(guān),可以是一個(gè)大型的戰(zhàn)車、臨時(shí)指揮所等。主控節(jié)點(diǎn)會(huì)對所有上傳的數(shù)據(jù)進(jìn)行匯總、分析,也只有主控節(jié)點(diǎn)可以決定是否丟棄某個(gè)終端或網(wǎng)關(guān),具有最大的權(quán)力。但是,終端和網(wǎng)關(guān)也會(huì)對主控節(jié)點(diǎn)進(jìn)行安全評估。如果最終判定主控節(jié)點(diǎn)遭到入侵,將會(huì)選取新的主控節(jié)點(diǎn)。
在戰(zhàn)術(shù)環(huán)境中,終端移動(dòng)性較高,經(jīng)常離開當(dāng)前連接網(wǎng)關(guān)的信號覆蓋范圍,并進(jìn)入其他網(wǎng)關(guān)的信號覆蓋區(qū)域。所有節(jié)點(diǎn)之間需要互相評估安全性,以應(yīng)對可能存在的安全問題。為了表述方便,A表示評估的終端,B表示被評估的終端,GA表示評估的網(wǎng)關(guān),GB表示被評估的網(wǎng)關(guān),R表示主控節(jié)點(diǎn)。
在戰(zhàn)術(shù)環(huán)境中,主要存在終端、網(wǎng)關(guān)以及主控節(jié)點(diǎn)3種節(jié)點(diǎn)。所有終端會(huì)對可通信的終端、網(wǎng)關(guān)以及主控節(jié)點(diǎn)進(jìn)行信任評估,而網(wǎng)關(guān)與主控節(jié)點(diǎn)同理。為方便敘述,本節(jié)主要介紹終端計(jì)算其他終端信任指標(biāo)的方法。信任指標(biāo)主要是基于節(jié)點(diǎn)的服務(wù)質(zhì)量和社交關(guān)系兩方面的能力計(jì)算獲得。本文中,服務(wù)質(zhì)量主要使用節(jié)點(diǎn)能量代替,即節(jié)點(diǎn)能量越大,服務(wù)質(zhì)量越高;社交關(guān)系主要包括親密度、誠實(shí)度、自私性和連接性4個(gè)因子。
3.1.1 信任指標(biāo)的計(jì)算
終端會(huì)周期性地評估另一個(gè)終端的安全性。設(shè)A對B的安全信任指標(biāo)為TAB(t),則計(jì)算公式如下:
設(shè)在該周期內(nèi)終端A評估終端B某種指標(biāo)X(X可為其密度、誠實(shí)度、自私性、連接性和能量)的數(shù)值為則有:
對于終端A和終端B之間是通過一跳還是非一跳的連接方式,本文采用等式(2)的兩種方式計(jì)算指標(biāo)X的評估數(shù)值。如果A和B是一跳連接,則評估數(shù)值由上一周期求得的評估數(shù)值和當(dāng)前周期的直接評估數(shù)值決定。等式(2)中,Δt表示評估周期,表示當(dāng)前周期的評估數(shù)值,α用于權(quán)衡當(dāng)前周期評估數(shù)值與上一周期評估數(shù)值的關(guān)系。如果A和B是非一跳的方式連接,即A和B可能多跳連接也可能不連接,則對應(yīng)的評估數(shù)值由上一周期的信任指標(biāo)和當(dāng)前周期其他終端的間接信任指標(biāo)決定,其中,C表示給A間接信任指標(biāo)的任意終端,表示當(dāng)前周期終端C發(fā)送給終端A的關(guān)于B的推薦信任指標(biāo),且如果已知C是受損或入侵終端,則C不帶入上述計(jì)算公式。β表示權(quán)衡上一周期信任指標(biāo)與當(dāng)前周期間接信任指標(biāo)的參數(shù)。C與B的連接跳數(shù)越大,則C對B的評估就越可能不準(zhǔn)確。所以,通過hCB這個(gè)參數(shù)減少連接跳數(shù)對評估不確定性的影響。這里hCB表示C到B的跳數(shù)。當(dāng)A計(jì)算B的信任指標(biāo)小于某一閾值的時(shí)候,需要和A進(jìn)行完整的加密認(rèn)證,以判斷B是否安全[21-22]。
3.1.2 信任指標(biāo)的影響因子
(1)親密度
終端A與終端B交互的次數(shù)即為親密度。交互包括A和B之間提出請求、傳遞消息和監(jiān)聽信息等。一般而言,在某一周期內(nèi)A與B交互的次數(shù)越多,則兩者的親密度越高。A評估B的數(shù)值越高,A認(rèn)為B越安全。文獻(xiàn)[17]關(guān)于親密度的計(jì)算比較主觀。本文基于A和B交互的具體次數(shù),修改了親密度值的求解公式。
如果A和B一跳連接,A和B當(dāng)前周期交互次數(shù)與之前周期內(nèi)的交互次數(shù)和當(dāng)前周期A與其他終端交互次數(shù)相關(guān)。兩者的親密度值計(jì)算如下:
式中,QAB是根據(jù)A和B之前每個(gè)周期內(nèi)交互次數(shù)得出的等級值。例如:如果當(dāng)前周期兩者交互次數(shù)在所有周期交互次數(shù)中排在前50%,則等級值設(shè)置為1;排在前85%,等級值設(shè)置為0.75,其他排名設(shè)置為0.5。該等級值作為參數(shù)可以根據(jù)實(shí)際情況進(jìn)行調(diào)節(jié)。此外,對于受損或入侵節(jié)點(diǎn)B,等級值統(tǒng)一設(shè)置為0。RAB是根據(jù)當(dāng)前周期A與其他終端交互次數(shù)得出的等級值。αint用于權(quán)衡這兩個(gè)等級值之間的關(guān)系。
如果A和B多跳連接,則A與B的親密度值主要通過其他終端的建議計(jì)算,通過式(4)的結(jié)果進(jìn)行排序:
(2)誠實(shí)度
通過A與B的信息傳輸判斷B是否遵守某些規(guī)則,否則判定B有不誠實(shí)的行為,具體評判標(biāo)準(zhǔn)可以參考文獻(xiàn)[18]。這些需要遵守的規(guī)則包括間隔規(guī)則、轉(zhuǎn)發(fā)規(guī)則、路徑規(guī)則、延遲規(guī)則、重復(fù)規(guī)則、干擾規(guī)則以及異常規(guī)則等。間隔規(guī)則指A接收到B的兩條連續(xù)消息的時(shí)間不能大于或小于某個(gè)閾值;轉(zhuǎn)發(fā)規(guī)則指A傳輸信息給B要求其轉(zhuǎn)發(fā),B需要完整轉(zhuǎn)發(fā);路徑規(guī)則指B接收到A的消息并轉(zhuǎn)發(fā),需要保證轉(zhuǎn)發(fā)路徑與A設(shè)置的初始路徑一致;延遲規(guī)則指B轉(zhuǎn)發(fā)A的消息必須在規(guī)定時(shí)間內(nèi)完成;重復(fù)規(guī)則指同一條消息只能被鄰居終端轉(zhuǎn)發(fā)有限次數(shù);干擾規(guī)則指B在給A發(fā)送消息的過程中,噪聲干擾必須小于指定次數(shù);異常規(guī)則指B給A傳輸?shù)臄?shù)據(jù)經(jīng)過融合處理后不能出現(xiàn)異常,如對某一區(qū)域的傳感器讀數(shù)不能出現(xiàn)異常值。
A統(tǒng)計(jì)B的不誠實(shí)行為的次數(shù)為n,設(shè)置ζhon為不誠實(shí)行為次數(shù)不可超過的閾值,則不誠實(shí)度的計(jì)算公式為:
(3)自私性
自私是指B沒有毫無保留地完成A發(fā)布的任務(wù),判斷標(biāo)準(zhǔn)是B是否按照管理要求嚴(yán)格執(zhí)行,如忠實(shí)地發(fā)送、上傳、報(bào)告、轉(zhuǎn)發(fā)數(shù)據(jù)等,對自私性的要求可以具體參考文獻(xiàn)[19]。B可能為了節(jié)省自身能量,并且在考慮到其他連接的無私終端的數(shù)量時(shí),減少或停止向A傳遞數(shù)據(jù)信息,使自身變得自私;自私終端也可能因?yàn)橹車运浇K端較多,在平衡自身需求和整個(gè)系統(tǒng)需求后再次積極地傳遞數(shù)據(jù)消息,使自己變得無私。
與誠實(shí)度值的計(jì)算類似,需要設(shè)定閾值,并統(tǒng)計(jì)B沒有按照協(xié)議忠實(shí)執(zhí)行任務(wù)的次數(shù)。自私性值的具體計(jì)算公式如下:
式中,m為B沒有忠實(shí)執(zhí)行任務(wù)的次數(shù);ξsel為設(shè)定的閾值;M為A與B按照協(xié)議執(zhí)行所有任務(wù)的交互次數(shù)。此處與誠實(shí)度計(jì)算公式不同的原因是誠實(shí)度與安全性的相關(guān)性更為密切,而自私性可以根據(jù)B能量的多少適度變化,所以對于評估終端是否自私不像評估終端是否誠實(shí)一樣要求較高。相應(yīng)的,閾值ξsel的設(shè)定也要隨著B的能量變化,具體設(shè)定公式如下:
式中,E為當(dāng)前B剩余的能量,Einitial為B的初始能量,ξinitial為初始設(shè)置的閾值,e為設(shè)定的閾值參數(shù)。此外,當(dāng)已知B為受損或入侵終端,則誠實(shí)度值設(shè)為0。
(4)連接性
連接性是指B與A是否在評估周期內(nèi)保持通信穩(wěn)定。比如,戰(zhàn)術(shù)環(huán)境中,通信不穩(wěn)定的情況時(shí)常發(fā)生,B可能與A發(fā)生短暫的通信斷連,之后又重新連接。一般而言,B的通信越穩(wěn)定,B處于安全狀態(tài)的可能性越高。當(dāng)B與A斷開連接的次數(shù)、一次斷開連接的時(shí)間或者總共斷開連接的時(shí)間中有一項(xiàng)超過設(shè)定煩人閾值,則連接性的信任指標(biāo)設(shè)為0。
連接性指標(biāo)的計(jì)算公式如下:
式中,nc為B與A斷開連接的次數(shù);tc為B與A斷開連接的最長時(shí)間;tn為B與A斷開連接的總時(shí)長;分別為對應(yīng)的閾值;u1、u2、u3是權(quán)衡上述3個(gè)變量的參數(shù),且u1+u2+u3=1。
(5)能量
B的剩余能量是用于評估B服務(wù)質(zhì)量的主要因子。B在向A傳輸數(shù)據(jù)的過程中需要告知A自身的剩余能量,一般只要能量剩余沒有超過一個(gè)閾值,都可以將B的能量信任指標(biāo)設(shè)置為1。
式中,ξE為設(shè)定的閾值。此外,為了防止B虛報(bào)能量,則A可以通過監(jiān)聽B傳輸數(shù)據(jù)的時(shí)延,判斷該時(shí)延是否在正常范圍內(nèi),即用正常傳輸時(shí)延的次數(shù)與傳輸總次數(shù)的比值來評估B能量值,具體方案可以參考文獻(xiàn)[20]。
在戰(zhàn)術(shù)環(huán)境中會(huì)經(jīng)常遇到通信中斷、間斷以及受限等情況,雖然本文在信任指標(biāo)中添加了連接性作為計(jì)算該指標(biāo)的一個(gè)因子,但是DIL環(huán)境中出現(xiàn)通信不穩(wěn)定的情況有很大的不確定性,而信任指標(biāo)提供了一個(gè)判斷節(jié)點(diǎn)安全性的依據(jù)。本小節(jié)將介紹在戰(zhàn)術(shù)環(huán)境下利用信任指標(biāo)進(jìn)行安全性評估的方案。其中,終端、網(wǎng)關(guān)以及主控節(jié)點(diǎn)之間需要相互進(jìn)行安全性評估,不同節(jié)點(diǎn)之間評估方法略有不同。此外,需要使用算法抵抗機(jī)會(huì)服務(wù)攻擊和開關(guān)攻擊,減少安全評估過程中這些攻擊造成的干擾。
3.2.1 終端、網(wǎng)關(guān)、主控節(jié)點(diǎn)之間的評估
式中,χ為權(quán)重參數(shù)。
基于網(wǎng)關(guān)與終端的連接關(guān)系,終端A只會(huì)對與自己相連接的網(wǎng)關(guān)進(jìn)行評估,但是會(huì)轉(zhuǎn)發(fā)其他網(wǎng)關(guān)的數(shù)據(jù)信息。網(wǎng)關(guān)相比終端有著更高的安全性與性能,所以網(wǎng)關(guān)給A的推薦信任指標(biāo)比終端給A的推薦信任指標(biāo)占有更大的權(quán)重。此外,β隨著χ的增加而增加,則對網(wǎng)關(guān)給A的推薦信任指標(biāo)需要將χ設(shè)置較大一些。
網(wǎng)關(guān)GA會(huì)對終端、網(wǎng)關(guān)和主控節(jié)點(diǎn)進(jìn)行評估,且網(wǎng)關(guān)需要對所有終端上傳的評估數(shù)據(jù)進(jìn)行匯總,并再轉(zhuǎn)發(fā)給主控節(jié)點(diǎn)。GA計(jì)算B的匯總信任指標(biāo)SGAB(t)公式為:
式中,C為上傳數(shù)據(jù)給GA的任意終端,TGAC(t)表示GA計(jì)算C的信任指標(biāo),ξT是設(shè)定的閾值。TCB(t)≥ξT表示只有GA認(rèn)為C是安全的,才能代入式(11)來匯總計(jì)算B的信任指標(biāo)。TCB(t)表示C上傳給GA的關(guān)于B的信任指標(biāo);NC表示上傳給GA信任指標(biāo)并符合安全要求的終端總數(shù);GC表示發(fā)送數(shù)據(jù)給GA的任意網(wǎng)關(guān);TGCB(t)表示GC計(jì)算B的信任指標(biāo);NGC表示所有發(fā)送數(shù)據(jù)給GA的網(wǎng)關(guān)總數(shù);v是權(quán)重參數(shù)。式(11)中沒有添加信任指標(biāo)的閾值判斷,主要是因?yàn)榫W(wǎng)關(guān)數(shù)量較少,且網(wǎng)關(guān)安全性相比終端較高。
網(wǎng)關(guān)GA對GB的評估類似于終端A對B的評估,且GA會(huì)將評估結(jié)果上傳給主控節(jié)點(diǎn),具體可以類比3.1節(jié)的信任指標(biāo)計(jì)算方法。主控節(jié)點(diǎn)會(huì)對所有終端和網(wǎng)關(guān)進(jìn)行評估,并且會(huì)匯總所有終端和網(wǎng)關(guān)上傳的它們對其他終端和網(wǎng)關(guān)的評估結(jié)果。主控節(jié)點(diǎn)評估終端和網(wǎng)關(guān)的方法與3.1節(jié)介紹的方法相同,匯總終端與網(wǎng)關(guān)的信任指標(biāo)與式(11)提供的方法相同。
3.2.2 抵抗開關(guān)攻擊的算法
通過計(jì)算信任指標(biāo),A可以對B的安全性進(jìn)行評估。但是,假設(shè)B是惡意節(jié)點(diǎn),B大多數(shù)時(shí)候表現(xiàn)良好,使自己被計(jì)算的信任指標(biāo)維持在一個(gè)閾值以上,但隨機(jī)或者某些重要時(shí)刻對A發(fā)布錯(cuò)誤信息,使A遭受到開關(guān)攻擊或機(jī)會(huì)服務(wù)攻擊。為了應(yīng)對這種攻擊,提高安全性評估準(zhǔn)確性,本文采用一種檢測算法。算法的主要流程如圖2所示。
圖2 開關(guān)攻擊檢測流程
該算法的具體步驟為:A計(jì)算對B的信任指標(biāo)T(t),并設(shè)置初始周期參數(shù)pe=0。先判斷T(t)是否大于設(shè)定閾值,若不大于則認(rèn)為B可能不安全,A對B進(jìn)行完整的加密認(rèn)證。如果T(t)大于閾值,再判斷pe=0是否成立。pe=0不成立,則pe=pe-1,并認(rèn)為B是可信任的,在下一個(gè)評估周期到來,A繼續(xù)對B進(jìn)行安全評估。如果pe=0成立,則計(jì)算pe=random%q,并對B進(jìn)行一次額外的完整加密認(rèn)證。其中,random為隨機(jī)數(shù);q是事先設(shè)定的數(shù)值,與T(t)正相關(guān),即對B信任指標(biāo)越大,則認(rèn)為B越可能是安全的,所以對B進(jìn)行額外加密認(rèn)證的頻率越小。節(jié)點(diǎn)A在評估節(jié)點(diǎn)B的過程中,會(huì)根據(jù)節(jié)點(diǎn)B的能量不定期地與B進(jìn)行加密認(rèn)證。如果加密認(rèn)證沒有通過,B就會(huì)被認(rèn)為是不良節(jié)點(diǎn)。
通過上述檢測算法,將有效抵抗機(jī)會(huì)服務(wù)攻擊和開關(guān)攻擊,因?yàn)閷?shí)施這兩種攻擊的攻擊者不知道攻擊對象何時(shí)會(huì)進(jìn)行加密認(rèn)證。該算法的具體仿真驗(yàn)證過程可以參考文獻(xiàn)[16]。
本節(jié)主要從安全性和性能角度分析方案的優(yōu)勢。從安全性出發(fā),本節(jié)分析了該方案與文獻(xiàn)[12,15]的方案比較檢測惡意節(jié)點(diǎn)的能力。此外,在4.2節(jié)與直接使用加密認(rèn)證的方案進(jìn)行對比,比較性能上的優(yōu)勢。
本文利用MATLAB仿真節(jié)點(diǎn)移動(dòng)的過程,采用隨機(jī)漫步模型。由于本文戰(zhàn)術(shù)環(huán)境中的節(jié)點(diǎn)有無人機(jī),且在山區(qū)、高樓等地點(diǎn)節(jié)點(diǎn)也會(huì)經(jīng)常高出水平面,所以本文使用二維和三維兩種模型的仿真。
二維模型是在400 m×400 m的戰(zhàn)術(shù)環(huán)境中有100個(gè)終端隨機(jī)運(yùn)動(dòng)。在該移動(dòng)模型中,終端會(huì)隨機(jī)選擇上下左右任意方向移動(dòng)[0,2X]的距離,其中X為可以設(shè)置的參數(shù)。每秒平均的移動(dòng)距離為X,當(dāng)X=1 m時(shí),二維移動(dòng)模型如圖3所示。
圖3中每個(gè)“*”標(biāo)志表示總共的25個(gè)網(wǎng)關(guān),每種顏色的曲線表示終端移動(dòng)軌跡。
對于三維模型,在400 m×400 m×400 m的網(wǎng)絡(luò)環(huán)境中有100個(gè)終端進(jìn)行隨機(jī)運(yùn)動(dòng)??偣?4個(gè)網(wǎng)關(guān),假設(shè)網(wǎng)關(guān)分布的水平坐標(biāo)為(0,100)、(0,300)、(400,100)、(400,300)、(100,0)、(100,400)、(300,0)、(300,400),垂直方向坐標(biāo)為100、200和300。當(dāng)X=1 m時(shí),三維移動(dòng)模型如圖4所示。
圖3 隨機(jī)漫步模型二維仿真結(jié)果
圖4 隨機(jī)漫步模型三維仿真結(jié)果
基于以上環(huán)境和模型,將本文方案與文獻(xiàn)[12,15]進(jìn)行對比。為了更直觀地對比3種方案的安全性,根據(jù)文獻(xiàn)[11]簡化環(huán)境模型,使用MATLAB建立簡單模型,對比3種方案在圖5的三維移動(dòng)模型下檢測出惡意節(jié)點(diǎn)的能力。假設(shè)網(wǎng)關(guān)的信號傳輸范圍是150 m,終端信號傳輸范圍是50 m,其他的參數(shù)設(shè)置如表1所示。
代入上述參數(shù),比較三維移動(dòng)模型下3種方案檢測惡意終端能力對比的示意圖,如圖5所示。
由圖5曲線可以看出,本文方案和文獻(xiàn)[12]方案發(fā)現(xiàn)惡意節(jié)點(diǎn)的能力明顯強(qiáng)于文獻(xiàn)[15],且本文方案比文獻(xiàn)[12]方案稍有優(yōu)勢,同時(shí)本文方案解決了文獻(xiàn)[15]沒有解決的機(jī)會(huì)服務(wù)攻擊問題和開關(guān)攻擊問題。所以,相比于文獻(xiàn)[15],本文方案可以抵抗更多已知攻擊,安全性更高。
表1 參數(shù)設(shè)置
相比于直接使用加密認(rèn)證檢驗(yàn)節(jié)點(diǎn)安全性的方案,本文方案采用計(jì)算量更輕便的信任指標(biāo)檢驗(yàn)其他節(jié)點(diǎn)的安全性。文獻(xiàn)[21]分析了不需要及與信任指標(biāo)的安全評估的性能,即在該文獻(xiàn)中統(tǒng)計(jì)終端在不同速度下需要完成完整加密認(rèn)證的次數(shù)。由文獻(xiàn)[4]可知,由于ECC算法的負(fù)責(zé)性,加密認(rèn)證是主要的耗能過程,且生成主配對密鑰大約是生成加密密鑰耗能的2 000倍。本文和該文獻(xiàn)對比,系統(tǒng)部署完成后二維移動(dòng)模型下一天之內(nèi)終端在不同移動(dòng)速度下進(jìn)行完整加密認(rèn)證的次數(shù),仿真結(jié)果如圖6所示。
圖5 3種方案檢測惡意終端能力對比
圖6 加密認(rèn)證次數(shù)比較
從圖6可以看出,本文的方案有效減少了加密認(rèn)證的次數(shù)。雖然經(jīng)常使用完整的加密認(rèn)證方案可以更好地保證節(jié)點(diǎn)認(rèn)證的安全性,但是對于能量的損耗也是巨大的,而本文在安全性和能耗之間進(jìn)行了很好地權(quán)衡。
在戰(zhàn)術(shù)環(huán)境中,節(jié)點(diǎn)需要面臨各種通信不穩(wěn)定的情況。本文基于所有節(jié)點(diǎn)與云端斷開連接的場景進(jìn)行安全分析。由于缺少功能強(qiáng)大的云端的支撐,網(wǎng)絡(luò)中的節(jié)點(diǎn)需要依靠自己和其他節(jié)點(diǎn)的互相監(jiān)測來保證安全性。本文改進(jìn)的信任指標(biāo)計(jì)算方式在保證網(wǎng)絡(luò)安全性的同時(shí),減少了加密認(rèn)證的次數(shù),大大降低了能耗,同時(shí)分析了在DIL環(huán)境下面對安全問題的解決方法。但是,本文仍然存在一些缺點(diǎn),如由于篇幅限制,沒有詳細(xì)討論方案中計(jì)算信任指標(biāo)時(shí)各個(gè)參數(shù)的最佳設(shè)置。本文中應(yīng)用的隨機(jī)漫步模型也不能完全模擬現(xiàn)實(shí)戰(zhàn)場環(huán)境的所有情況,所以以后的研究方向可以根據(jù)不同移動(dòng)模型為信任指標(biāo)的計(jì)算選取最佳的參數(shù)。此外,本文在分析各種安全問題的解決方案時(shí)有些討論還不夠詳細(xì),如主控節(jié)點(diǎn)的選取。不僅需要考慮候選網(wǎng)關(guān)的信任指標(biāo),還要考慮它們的位置、移動(dòng)性、周圍受損節(jié)點(diǎn)的數(shù)量等因素。因此,以后也可以在這些方面展開研究。