張光華,楊耀紅,龐少博,陳振國
(1.綜合業(yè)務網(wǎng)理論及關(guān)鍵技術(shù)國家重點實驗室(西安電子科技大學),西安 710071; 2.河北科技大學 信息科學與工程學院,石家莊 050000;3.華北科技學院 河北省物聯(lián)網(wǎng)數(shù)據(jù)采集與處理工程技術(shù)研究中心,河北 三河 065201)
物聯(lián)網(wǎng)(Internet of Things, IoT)[1-2]實際上是一個大型的異構(gòu)網(wǎng)絡,它將大量終端設備(射頻識別(Radio Frequency Identification, RFID)設備和傳感器等)通過感知技術(shù)連接到互聯(lián)網(wǎng)中,實現(xiàn)任何物體之間的智能化通信,幾乎不需要人為干預就能完成日常任務。然而,物聯(lián)網(wǎng)中的這些設備常常暴露在公共場合,通過無線傳輸信道進行通信,因此很容易受到惡意攻擊[2-4],這就給物聯(lián)網(wǎng)的安全帶來了巨大的挑戰(zhàn);同時,物聯(lián)網(wǎng)中的各節(jié)點均是能量有限的,故不能一味地提高網(wǎng)絡的安全性,而忽略網(wǎng)絡中節(jié)點的能量消耗問題;因此,既保證物聯(lián)網(wǎng)所需的安全環(huán)境又能夠減少節(jié)點能量的消耗,成為了國際研究界關(guān)注的熱點。
為了減少物聯(lián)網(wǎng)中各節(jié)點的能耗,同時又保留一定的安全措施,自適應安全[5-6]的概念就被提出了。自適應安全的優(yōu)勢在于能夠根據(jù)安全威脅等級動態(tài)地調(diào)整安全措施,從而減少不必要的能量消耗。文獻[7]為泛在移動網(wǎng)絡和Green IT(Green Information Technology)提出了基于自治和信任系統(tǒng)的自適應安全模型,該模型削減了一些安全措施,每個節(jié)點只傳送必要的數(shù)據(jù)包。文獻[8]為無線傳感器網(wǎng)絡的多跳能量采集提出了按需訪問控制的自適應安全機制,節(jié)點可利用基站來發(fā)布其當前的安全措施,這有助于發(fā)送節(jié)點依據(jù)其安全需求選擇合適的接收節(jié)點。文獻[9]提出了物聯(lián)網(wǎng)中的動態(tài)信任模型,其中安全措施的調(diào)整取決于路由度量中節(jié)點的置信度(丟包率、介質(zhì)訪問沖突等)。然而,這些自適應安全機制大多是由節(jié)點的能量等級來觸發(fā)的,缺少有效的風險評估,這很有可能使惡意節(jié)點利用網(wǎng)絡安全措施的削減而發(fā)起惡意攻擊。
對于自適應安全中存在的安全風險,信任評估[10-11]是一種較好的解決方法。信任評估能夠有效防御網(wǎng)絡節(jié)點的內(nèi)部攻擊,已被廣泛用于檢測那些已經(jīng)通過加密和認證屏障的惡意攻擊。目前,采用信任評估解決物聯(lián)網(wǎng)節(jié)點內(nèi)部攻擊的方式很多,主要是針對誹謗攻擊[12]和共謀攻擊[13]等一般性攻擊,對于節(jié)點表現(xiàn)時好時壞的On-off攻擊研究較少,主要原因是:1)在On-off攻擊中,惡意節(jié)點存在on和off兩種狀態(tài)。在on狀態(tài)時,節(jié)點表現(xiàn)不正常,具有攻擊性;在off狀態(tài)時,節(jié)點和正常節(jié)點一樣,表現(xiàn)正常。惡意節(jié)點不斷地在on狀態(tài)和off狀態(tài)間交替轉(zhuǎn)換,這就導致On-off攻擊的on狀態(tài)與off狀態(tài)很難被預測到,不利于防御者找到On-off攻擊規(guī)律進行防護。2)On-off節(jié)點的信任值降低的速度很慢但增加的速度卻很快,信任閾值機制很難發(fā)現(xiàn)On-off節(jié)點的存在。文獻[14-15]均針對On-off攻擊的特點提出了快速降低節(jié)點信任值和緩慢恢復節(jié)點信任值的方法,但都需要消耗節(jié)點大量的能量。文獻[16]提出了物聯(lián)網(wǎng)中分布式信任管理框架,該機制通過信任分配方法來自動鑒別物聯(lián)網(wǎng)中的惡意節(jié)點,從而防止可能發(fā)生的On-off攻擊,但該方案是通過直接觀察節(jié)點行為而得到各節(jié)點信任值,沒有考慮鄰居節(jié)點的推薦信息。文獻[17]提出了一種基于信任和能量意識的路由補救算法,解決了On-off攻擊在消息轉(zhuǎn)發(fā)過程中造成的丟包問題。雖然,上述這些方案均給出了解決On-off攻擊的思路,但是這些方法并不適用于解決基于信任閾值的自適應安全中存在的On-off攻擊。此外,信任評估機制一般只用于解決節(jié)點自私性和節(jié)點內(nèi)部攻擊問題,很少用于完成加密服務。
綜上所述,現(xiàn)有的自適應安全缺乏有效的風險評估,而信任評估機制多用于解決節(jié)點的內(nèi)部攻擊,很少用于輔助加密和認證機制。因此,在給定的數(shù)據(jù)源認證機制的前提下,本文提出了物聯(lián)網(wǎng)環(huán)境下基于信任的自適應安全機制以及一種檢測On-off攻擊的自適應檢測算法,能夠在節(jié)省中繼節(jié)點的能量開銷的同時防御On-off攻擊的發(fā)生。此外,本方案能夠?qū)?shù)據(jù)源認證機制起到較好的輔助作用。
本方案所考慮的是一個資源受限的異構(gòu)網(wǎng)絡,在網(wǎng)絡中,正常節(jié)點會合法地將消息發(fā)布到網(wǎng)絡中,而一些惡意節(jié)點會在網(wǎng)絡中非法地發(fā)布任何消息(包括真實消息和虛假消息)。為了防止惡意節(jié)點在網(wǎng)絡中注入虛假消息或者篡改消息,傳統(tǒng)靜態(tài)安全機制的做法是在合法節(jié)點所發(fā)布的消息中添加消息認證碼,以便于中繼節(jié)點進行數(shù)據(jù)源認證,確保數(shù)據(jù)的完整性,盡可能地拒絕虛假消息。雖然該方法可以通過數(shù)據(jù)源認證來防止虛假數(shù)據(jù)的注入和消息被惡意篡改,但是中繼節(jié)點需要驗證收到的全部消息,這將造成大量的資源浪費,因此傳統(tǒng)靜態(tài)安全機制并不適用于動態(tài)且低功耗的物聯(lián)網(wǎng)環(huán)境。
為了避免惡意節(jié)點在物聯(lián)網(wǎng)中注入虛假消息或者篡改消息,同時又降低中繼節(jié)點的能量消耗,本文將在中繼節(jié)點對接收到的消息進行數(shù)據(jù)源認證前,采用基于信任的評估方法全面地評估發(fā)送節(jié)點的可信度,避免不必要的認證開銷。該方法將節(jié)點的直接經(jīng)驗值、直接觀察值和鄰居推薦值這三個信任值分別加權(quán)并求和,得到節(jié)點的總體信任值。中繼節(jié)點會通過比較發(fā)送節(jié)點的總體信任值與信任閾值之間的大小,進而判斷是否驗證該消息,這樣便可減少中繼節(jié)點進行不必要數(shù)據(jù)源認證的次數(shù),降低中繼節(jié)點的能源浪費。這里的發(fā)送節(jié)點既可以是源節(jié)點也可以是中繼節(jié)點。為了便于下文中的描述,將信任閾值設置為t。
定義1 總體信任值是指直接經(jīng)驗值、直接觀察值和鄰居推薦值這三種信任值的合成,即主體A對客體B的綜合信任評價。節(jié)點Pi(主體)對節(jié)點Pj(客體)的總體信任值,記為Tij。
節(jié)點總體信任值Tij的計算方法,如式(1)所示??傮w信任值Tij是實數(shù),其取值為0≤Tij≤1。其值為0,則表明節(jié)點Pi完全不信任節(jié)點Pj;其值為1,則表明節(jié)點Pi完全信任節(jié)點Pj。
Tij=αEij+βOij+γRij
(1)
其中:Eij、Oij、Rij分別代表節(jié)點的直接經(jīng)驗值、直接觀察值、鄰居推薦值。α、β、γ分別表示這三個信任值的權(quán)重因子,它們滿足以下兩個條件:其一,0<γ≤β<α<1;其二,α+β+γ=1。總體信任值Tij是節(jié)點i對節(jié)點j的綜合信任程度,由直接經(jīng)驗值Eij、直接觀察值Oij和鄰居推薦值Rij分別加權(quán)并求和得到。直接經(jīng)驗值Eij來自于實體間的直接交互,是主體對客體的直接感知,最為可靠;直接觀察值Oij來自于主體對客體與其他實體進行信息交互時行為表現(xiàn)的觀察,是主體對客體的間接感知,較為可靠;鄰居推薦值Rij來自于第三方實體的間接推薦,容易受到惡意推薦實體的攻擊,可靠性較差。因此,在總體信任值的計算過程中,α的取值最大,β的取值次之,γ的取值最小(γ的最大值不超過β的最小值),而各個權(quán)重因子的具體大小由實際網(wǎng)絡的應用要求確定。本方案將采用遞歸的方法計算節(jié)點的直接經(jīng)驗值、直接觀察值和鄰居推薦值這三個信任值,具體計算方法如下。
1)直接經(jīng)驗值。
定義2 直接經(jīng)驗值是指通過實體間的直接交互經(jīng)驗而得到的主體A對客體B的信任值。節(jié)點Pi(主體)對節(jié)點Pj(客體)的直接信任值,記為Eij。
直接經(jīng)驗值Eij的大小與發(fā)送節(jié)點Pj發(fā)送的消息能否通過中繼節(jié)點Pi的數(shù)據(jù)源認證有關(guān)。如果來自節(jié)點Pj的消息通過了中繼節(jié)點Pi的數(shù)據(jù)源認證,這會對Eij產(chǎn)生一個積極的影響;如果中繼節(jié)點Pi接收到的來自節(jié)點Pj的消息沒有通過驗證,則會對Eij產(chǎn)生一個消極的影響。一般情況下,如果發(fā)送節(jié)點Pj的總體信任值Tij高于信任閾值t,但節(jié)點Pj發(fā)送了錯誤消息,那么造成這一現(xiàn)象的主要原因通常是節(jié)點Pj的能量受到限制。
為了對節(jié)點的能量狀況進行分類,本文中,用c表示節(jié)點能量受限的臨界值,ci表示節(jié)點Pi的自身能量。若ci 直接經(jīng)驗值Eij的計算方法,如式(2)所示。直接經(jīng)驗值Eij的當前值取決于前一個直接經(jīng)驗值Eij′和新產(chǎn)生的經(jīng)驗值。如果中繼節(jié)點Pi接收到來自節(jié)點Pj的消息通過了數(shù)據(jù)源認證,那么新產(chǎn)生的經(jīng)驗值為1;如果中繼節(jié)點Pi接收到來自節(jié)點Pj的消息沒有通過驗證,但節(jié)點Pj滿足Tij>t和cj 由式(2)可知,當ηe的值較小時,Eij的取值更依賴于新產(chǎn)生的經(jīng)驗值,而Eij′對Eij的影響則較小。例如:Eij′和Eij這兩個經(jīng)驗值間隔的時間較長,或者消息延時超過規(guī)定時間,這均將導致Eij與Eij′之間幾乎沒有聯(lián)系,此時,Eij的值則完全取決于新產(chǎn)生的經(jīng)驗值。 (2) 2)直接觀察值。 定義3 直接觀察值是指主體A通過直接觀察客體B與其他實體之間進行信息交互時的行為表現(xiàn)而獲得的信任值。節(jié)點Pi(主體)對節(jié)點Pj(客體)的直接觀察值,記為Oij。 在物聯(lián)網(wǎng)中信息通過無線方式傳輸,各個節(jié)點均可以洞察到其通信范圍內(nèi)其他節(jié)點信息交互過程中的狀況,也就是說,中繼節(jié)點Pi可以直接觀察到發(fā)送節(jié)點Pj在信息交互中的表現(xiàn),并能夠根據(jù)節(jié)點Pj表現(xiàn)的好壞獲得相應的直接觀察值Oij。一般來說,當接收到的消息通過了數(shù)據(jù)源認證時,中繼節(jié)點應該轉(zhuǎn)發(fā)此消息并且不對消息內(nèi)容作任何修改。同樣地,當接收到的消息沒有通過數(shù)據(jù)源認證時,中繼節(jié)點通常不會轉(zhuǎn)發(fā)這樣的消息,但是如果中繼節(jié)點轉(zhuǎn)發(fā)了此類消息,中繼節(jié)點也應該不對消息內(nèi)容作任何修改。如果中繼節(jié)點更改了接收到的消息內(nèi)容并且轉(zhuǎn)發(fā)出去,那么其他節(jié)點對該中繼節(jié)點的直接觀察值將會降低。 在本文中,用Retransji(m)表示節(jié)點Pj轉(zhuǎn)發(fā)節(jié)點Pi的消息的狀況。如果節(jié)點Pj轉(zhuǎn)發(fā)了來自節(jié)點Pi的消息m且不對其消息內(nèi)容作任何修改,那么Retransji(m)的值為1;如果節(jié)點Pj沒有轉(zhuǎn)發(fā)來自節(jié)點Pi的消息m,那么Retransji(m)的值為0;如果節(jié)點Pj轉(zhuǎn)發(fā)了來自節(jié)點Pi的消息m,但修改了其消息內(nèi)容,那么Retransji(m)的值為-1。 直接觀察值Oij的計算公式,如式(3)所示。直接觀察值Oij的當前值是由上一個直接觀察值Oij′和新產(chǎn)生的觀察值所決定的。如果節(jié)點Pj能夠準確無誤地轉(zhuǎn)發(fā)了來自節(jié)點Pi的消息,那么新產(chǎn)生的觀察值為1;如果節(jié)點Pj的能量受到限制,且沒有轉(zhuǎn)發(fā)來自節(jié)點Pi發(fā)送的消息,那么新產(chǎn)生的觀察值為b(0 (3) 3)鄰居推薦值。 定義4 鄰居推薦值是指通過第三方實體的間接推薦,主體A獲得的關(guān)于客體B的信任值。節(jié)點Pi(主體)獲得的關(guān)于節(jié)點Pj(客體)的鄰居推薦值,記為Rij。 鄰居推薦值Rij是由節(jié)點Pj的鄰居節(jié)點發(fā)送給中繼節(jié)點Pi的推薦信息計算而得的,Rij的計算方法,如式(4)所示。Rij的當前值是由兩部分所決定的,即前一個鄰居推薦值Rij′和節(jié)點Pi新獲得的關(guān)于節(jié)點Pj的推薦信息r。新產(chǎn)生的推薦信息r和ηr的取值分別為0≤r≤1,0<ηr<1,其中ηr是權(quán)重因子。 (4) 假設節(jié)點Pk是節(jié)點Pj的鄰居節(jié)點,那么鄰居節(jié)點Pk所發(fā)送的關(guān)于節(jié)點Pj的推薦信息r是由節(jié)點Pk對節(jié)點Pj的直接經(jīng)驗值Ekj和直接觀察Okj分別加權(quán)并求和得到的。r的計算公式,如式(5)所示。其中η是一個權(quán)重因子,其值為0<η<1,用于權(quán)衡Ekj和Okj這兩個值。 r=ηEkj+(1-η)Okj (5) 為了節(jié)省中繼節(jié)點的能量消耗,在消息傳輸?shù)倪^程中,中繼節(jié)點一般不會對接收到的所有消息都進行數(shù)據(jù)源認證,只會認證那些需要認證的消息。最簡單的自適應安全機制就是設定一個信任閾值,將節(jié)點的總體信任值與信任閾值作比較,進而判斷是否驗證該消息。在該方案中,當發(fā)送節(jié)點的總體信任值高于信任閾值時,中繼節(jié)點將默認該節(jié)點是完全可信的,不再對該節(jié)點傳來的消息進行數(shù)據(jù)源認證;當發(fā)送節(jié)點的總體信任值低于信任閾值時,中繼節(jié)點才會對該節(jié)點傳來的消息進行數(shù)據(jù)源認證。該方案雖然降低了中繼節(jié)點執(zhí)行數(shù)據(jù)源認證所產(chǎn)生的能量開銷,但存在著一個很嚴重的安全漏洞,即總體信任值超過信任閾值的節(jié)點并不一定都是可信節(jié)點,也可能是惡意節(jié)點。 假如一個惡意節(jié)點Pj為了贏得其他節(jié)點的信任,會故意在信息交互中表現(xiàn)良好,一旦它取得了某個中繼節(jié)點(假定是節(jié)點Pi)的信任,將只發(fā)送錯誤的數(shù)據(jù)包給這個中繼節(jié)點Pi,但是由于惡意節(jié)點Pj與中繼節(jié)點Pi之間的總體信任值Tij大于信任閾值t,中繼節(jié)點Pi會默認來自節(jié)點Pj的消息都是可靠的,并不對其消息進行驗證。如此以來,中繼節(jié)點Pi對惡意節(jié)點Pj的直接經(jīng)驗值Eij就不會改變。另外,如果惡意節(jié)點Pj一直與節(jié)點Pi之外的其他節(jié)點在信息交互過程中均保持良好的表現(xiàn),那么中繼節(jié)點Pi對惡意節(jié)點Pj的直接觀察值Oij也就不會改變;甚至中繼節(jié)點Pi收到的關(guān)于惡意節(jié)點Pj的鄰居推薦信息也都是積極的,這就意味著Rij不會改變。同樣,惡意節(jié)點Pj與中繼節(jié)點Pi之間的總體信任值Tij也將不變。長此以往,惡意節(jié)點Pj將只對中繼節(jié)點Pi發(fā)送錯誤信息,中繼節(jié)點Pi也會對惡意節(jié)點Pj發(fā)送的消息不加認證地傳送,這不僅會使目的節(jié)點作出錯誤的判斷,而且會消耗網(wǎng)絡資源。上述這種惡意攻擊就是On-off攻擊,它能夠輕易地逃脫信任閾值的檢測。由此可見,僅通過簡單的信任閾值機制判決是否對接收到的消息進行數(shù)據(jù)源認證,無法抵御惡意節(jié)點的On-off攻擊。為了解決這一問題,本文在信任閾值機制的基礎上,提出了抗On-off攻擊的自適應安全機制。 為了檢測總體信任值超過信任閾值的節(jié)點中是否存在惡意節(jié)點,本文提出了基于信任的自適應檢測算法,具體算法流程如圖1所示。本算法的主要思想是當總體信任值Tij小于給定的信任閾值t時,系統(tǒng)直接返回false;如果總體信任值Tij超過了給定的信任閾值t,系統(tǒng)將會周期性地返回false,但這個周期是隨機變化的。其中,信任閾值t作為自適應檢測算法初步判斷中繼節(jié)點是否對接收到的消息進行數(shù)據(jù)源認證的分界值,若被設置得過高,則會起不到節(jié)約中繼節(jié)點能量的作用;若被設置得過低,則無法檢測出惡意節(jié)點的On-off攻擊。因此,信任閾值t需根據(jù)實際網(wǎng)絡的應用要求確定。 圖1 基于信任的自適應檢測算法 Fig. 1 Trust-based adaptive detection algorithm 本算法能夠?qū)崟r地檢測已經(jīng)贏得中繼節(jié)點Pi信任的節(jié)點(比如是節(jié)點Pj)行為,其以隨機的方式給發(fā)送節(jié)點Pj分配一個檢測周期periodj=random()%qj,設節(jié)點Pj的初始檢測周期值為0。其中,qj是一個與節(jié)點Pj能量有關(guān)的值,節(jié)點能量cj越高,qj的值就越大。這是因為節(jié)點Pj有充足的能量時,其妥協(xié)的可能性就較小,所以系統(tǒng)返回false的時間應該長一些,也就是節(jié)點Pj被檢測的周期應該長些或者檢測節(jié)點Pj的頻率應該低些。當檢測周期結(jié)束時,如果節(jié)點的總體信任值Tij超過信任閾值t且系統(tǒng)返回了false,那就表明中繼節(jié)點Pi接收到的消息是非法的,也表明發(fā)送節(jié)點Pj有可能是惡意節(jié)點并取得了中繼節(jié)點Pi的信任。這樣的檢測結(jié)果將導致qj的值減小,縮短對發(fā)送節(jié)點Pj的檢測周期,增加數(shù)據(jù)源認證次數(shù),進而判斷節(jié)點Pj是否頻繁轉(zhuǎn)發(fā)錯誤消息。 本算法不定期地返回false,對總體信任值超過信任閾值的節(jié)點進行隨機的數(shù)據(jù)源認證,有助于進一步確定節(jié)點Pj是否是惡意節(jié)點,從而防御惡意節(jié)點的On-off攻擊。如果節(jié)點Pj的總體信任值高于信任閾值并且被證明長時間發(fā)送錯誤信息,那么中繼節(jié)點Pi將停止觀察節(jié)點Pj的行為且停止收發(fā)關(guān)于節(jié)點Pj的推薦信息,但是中繼節(jié)點Pi將繼續(xù)保留關(guān)于節(jié)點Pj的直接經(jīng)驗信息,以便于提防該節(jié)點再次恢復信任。事實上,如果中繼節(jié)點Pi一直驗證惡意節(jié)點Pj的消息,并觀察節(jié)點Pj的行為和收發(fā)關(guān)于節(jié)點Pj的推薦信息,這樣會導致采用本方案所消耗的能量多于采用傳統(tǒng)靜態(tài)安全機制所消耗的能量,因此,在本方案中,對于此類節(jié)點,中繼節(jié)點將只保留該節(jié)點的直接經(jīng)驗值。 本方案中,中繼節(jié)點在接收到消息后,會根據(jù)自適應檢測算法的返回值,決定是否驗證接收到的消息,具體操作流程如圖2所示。中繼節(jié)點Pi接收到來自節(jié)點Pj的消息后,首先通過自適應檢測算法,依據(jù)返回值決定是否驗證該消息。如果返回值為true,那么中繼節(jié)點Pi將不對接收到的消息進行驗證,并會把該消息發(fā)送給下一跳節(jié)點;如果返回值為false,中繼節(jié)點將會對接收到的消息進行驗證。如果該消息通過了驗證,那么中繼節(jié)點Pi將會把該消息發(fā)送給下一跳節(jié)點;如果該消息沒有通過驗證,中繼節(jié)點Pi將會丟棄該消息。 圖2 中繼節(jié)點處理接收到的消息的過程 Fig. 2 Process of a relay node processing received messages 本文采用Contiki操作系統(tǒng)下的Cooja網(wǎng)絡仿真器[18]進行仿真實驗,結(jié)合tinyDTLS(Datagram Transport Layer Security)庫[19]采用HMAC MD5算法產(chǎn)生消息認證碼并進行數(shù)據(jù)源認證。仿真所用的網(wǎng)絡拓撲結(jié)構(gòu)如圖3所示,圖中黑色節(jié)點表示根節(jié)點,其他顏色及形狀不同的節(jié)點表示它們的供電方式不同,白色節(jié)點表示采用電池供電,雙環(huán)形節(jié)點表示該節(jié)點能夠進行能量收集(如:太陽能供電),灰色節(jié)點表示由線路供電。在該網(wǎng)絡拓撲中根節(jié)點會通過中繼節(jié)點周期性地發(fā)送消息給末端節(jié)點,末端節(jié)點也會通過中繼節(jié)點周期性地反饋消息給根節(jié)點。 圖3 網(wǎng)絡拓撲 Fig. 3 Network topology 在仿真中,設置qj為從0~10的整數(shù)。在仿真過程中不考慮信息延時情況,那么在當前信任值中前一個信任值和新產(chǎn)生的信任值同等重要,故設置權(quán)重因子ηe、ηo、ηr均為0.5。為了防止直接經(jīng)驗值比重過高而不能全面評估節(jié)點總體信任值,因此,α<β+γ;同時又滿足0<γ≤β<α<1,故設置權(quán)重因子α、β、γ分別為0.4、0.3、0.3。因為正常節(jié)點誤傳消息的概率很低,所以在仿真過程中忽略正常節(jié)點由于誤傳消息而導致總體信任值下降的情況。在上述條件下,通過仿真實驗得到網(wǎng)絡拓撲中所有節(jié)點在無惡意攻擊的情況下,總體信任值趨于平穩(wěn)時的最小值約為0.9。為了防御惡意節(jié)點的On-off攻擊,提高網(wǎng)絡安全性,需選擇總體信任值較高的節(jié)點通過自適應檢測算法的初步篩選,因此,仿真中設置信任閾值t為0.9。 3.2.1 能量開銷分析 本仿真采用Cooja仿真器中的energest.h庫函數(shù)對中繼節(jié)點的能量消耗情況進行分析,它能夠通過比較中繼節(jié)點的整體執(zhí)行時間來衡量節(jié)點的能量消耗情況。在相同時間內(nèi)節(jié)點的整體執(zhí)行時間越短,其能量消耗就越少,節(jié)點的壽命就越長。圖4是在惡意鄰居節(jié)點數(shù)目不同的情況下,中繼節(jié)點5在5 min(300 s)內(nèi)采用本方案與采用傳統(tǒng)靜態(tài)安全機制所用執(zhí)行時間的比較。中繼節(jié)點5有5個鄰居節(jié)點,且這些鄰居節(jié)點均給它發(fā)送數(shù)據(jù)包。 圖4 節(jié)點5在惡意鄰居節(jié)點數(shù)目不同時所用整體執(zhí)行時間 Fig. 4 Overall execution time of node 5 with different number of malicious neighbor nodes 由圖4可見,節(jié)點的整體執(zhí)行時間與仿真時間近乎成正比。為了便于衡量采用本方案與采用傳統(tǒng)靜態(tài)安全機制,節(jié)點能量消耗狀況的差別,本文定義了一個參數(shù)τ=tan1/tan2,其中,tan1表示采用本方案節(jié)點的整體執(zhí)行時間的正切值,它表示采用本方案單位時間內(nèi),節(jié)點整體執(zhí)行時間的多少;tan2是采用傳統(tǒng)靜態(tài)安全機制節(jié)點的整體執(zhí)行時間的正切值。參數(shù)τ意味著采用本方案的節(jié)點壽命是采用傳統(tǒng)靜態(tài)安全機制節(jié)點壽命的τ倍。由圖4(a)可得,當中繼節(jié)點5的鄰居節(jié)點中無惡意節(jié)點時,τ的值約為1.7,這表明中繼節(jié)點5采用本方案比采用傳統(tǒng)靜態(tài)安全機制減少了41.18%的能量消耗。即便有一些鄰居節(jié)點是惡意節(jié)點,那么中繼節(jié)點5在采用本方案的情況下仍然比采用傳統(tǒng)靜態(tài)安全機制的情況下消耗的能量少。由圖4(b)和圖4(c)可得,當有一個惡意鄰居節(jié)點時,τ的值約為1.4,當有兩個惡意鄰居節(jié)點時,τ的值約為1.2。不過,當所有鄰居節(jié)點都是惡意節(jié)點時,中繼節(jié)點5將對所有鄰居節(jié)點傳來的消息進行數(shù)據(jù)源認證,因此采用本方案與采用傳統(tǒng)靜態(tài)安全機制能量消耗情況基本一致,不過,從圖4(d)中可以看出,采用本方案節(jié)點的能量消耗略微高于采用傳統(tǒng)靜態(tài)安全機制的能量消耗,這是因為本方案在剛開始的時候,計算總體信任值產(chǎn)生能量消耗。 本文還對網(wǎng)絡中其他節(jié)點的能量消耗進行了評估,其能量消耗狀況與圖4所示的情況相似,不過τ值是不同的。經(jīng)過比較,發(fā)現(xiàn)τ的取值與中繼節(jié)點單位時間內(nèi)接收到的數(shù)據(jù)包數(shù)量多少有關(guān)。表1總結(jié)了5 min內(nèi)幾個不同節(jié)點在無惡意鄰居節(jié)點時τ值的情況。從表1中可以看出,在無惡意鄰居節(jié)點時,節(jié)點12所接收到的數(shù)據(jù)包數(shù)量最多,它的τ值超過了2,表明采用本方案所消耗的能量低于采用傳統(tǒng)靜態(tài)安全機制所消耗能量的一半。另外,當一些鄰居節(jié)點妥協(xié)時,τ的值是介于1與表中所給出的值之間的。由此可見,與傳統(tǒng)靜態(tài)安全機制相比,當中繼節(jié)點單位時間內(nèi)接收到的數(shù)據(jù)包越多時,采用本方案中繼節(jié)點節(jié)省的能量就越多。 表1 不同節(jié)點在無惡意鄰居節(jié)點時的τ值情況Tab. 1 τ value of different nodes with no malicious neighbor node 3.2.2 安全性分析 為了驗證本方案的安全性,假設被信任的節(jié)點存在On-off攻擊。圖5展示了接收節(jié)點受到On-off攻擊過程中,總體信任值與自適應檢測算法返回值的變化情況,圖中用1表示自適應檢測算法返回值是true,用0表示自適應檢測算法返回值是false。在仿真過程中,節(jié)點6是接收節(jié)點,節(jié)點5是具有On-off攻擊的發(fā)送節(jié)點。由圖5可以看出,當節(jié)點5的總體信任值高于信任閾值時,自適應檢測算法會以隨機的方式返回false,并對來自節(jié)點5的消息進行數(shù)據(jù)源認證,然而,節(jié)點5不知道系統(tǒng)什么時候返回false,也就無法確定所發(fā)送的消息能否避免數(shù)據(jù)源認證。 與以往的自適應安全機制相比,本方案能夠通過實時追蹤節(jié)點行為,有效地防御惡意節(jié)點的On-off攻擊。即使節(jié)點5試圖恢復信任并發(fā)送正常消息,自適應檢測算法也會給節(jié)點5分配一個較小的檢測周期,因為節(jié)點5已經(jīng)被懷疑具有On-off攻擊。如果節(jié)點5長期表現(xiàn)良好,那么檢測周期也會逐漸增加。雖然,進行On-off攻擊的惡意節(jié)點總是在發(fā)送正常消息與錯誤消息之間轉(zhuǎn)換,但是自適應檢測算法能夠以隨機的方式返回false,對接收到的消息進行數(shù)據(jù)源認證,這會讓惡意節(jié)點找不到系統(tǒng)返回false的規(guī)律,無從防備,從而達到防御On-off攻擊的目的。 圖5 節(jié)點6受到On-off攻擊時總體信任值和 自適應檢測算法返回值的變化情況 Fig. 5 Change of total trust value and change of returned value by adaptive detection algorithm, when node 6 is attacked by On-off attack 為了給開放式的物聯(lián)網(wǎng)提供一個安全且低功耗的環(huán)境,本文提出了一個適用于物聯(lián)網(wǎng)的基于信任的自適應安全機制。本機制將信任評估與自適應安全相結(jié)合,中繼節(jié)點可以根據(jù)自適應檢測算法的返回值,進而判斷是否驗證接收到的消息。仿真實驗結(jié)果表明本方案在降低中繼節(jié)點的能量開銷的同時,對On-off攻擊起到一定的防御作用。由于本方案在進行信任評估時,沒有考慮鄰居節(jié)點的誹謗攻擊,下一步工作將在此方案的基礎上,考慮不可信的推薦消息進一步優(yōu)化信任評估模型,此外,還會將本方案進一步擴展到有損網(wǎng)絡或者其他拓撲結(jié)構(gòu)的網(wǎng)絡。 參考文獻(References) [1] GUO J, CHEN I R, TSAI J J P. A survey of trust computation models for service management in Internet of things systems [J]. Computer Communications, 2017, 97(C): 1-14. [2] WANG P, ZHANG P. A review on trust evaluation for Internet of things [C]// MobiMedia ’16: Proceedings of the 9th EAI International Conference on Mobile Multimedia Communications. Brussels: ICST, 2016: 34-39. [3] SICARI S, RIZZARDI A, GRIECO L A, et al. Security, privacy and trust in Internet of things: the road ahead [J]. Computer Networks, 2015, 76(C): 146-164. [4] WHITMORE A, AGARWAL A, XU L D. The Internet of things — a survey of topics and trends [J]. Information Systems Frontiers, 2015, 17(2): 261-274. [5] AROUCHA C, ABDELOUAHAB Z, LOPES D, et al. Adaptive security mechanism: a study on the different approaches to mobile devices [J]. Journal of Information Sciences and Computing Technologies, 2015, 2(2): 147-153. [6] GHOSH S, SEETHARAMAN S. Mechanism for adaptive and context-aware inter-IoT communication [C]// ANTS 2015: Proceedings of the 2015 IEEE International Conference on Advanced Networks and Telecommunications Systems. Piscataway, NJ: IEEE, 2016: 1-6. [7] EL-MALIKI T, SEIGNEUR J M. Security adaptation based on autonomic and trust systems for ubiquitous mobile network and green IT [EB/OL]. [2017- 04- 02]. http://iaria.org/conferences2013/awardsUBICOMM13/ubicomm2013_a6.pdf. [8] MAURO A D, FAFOUTIS X, DRAGONI N. Adaptive security in ODMAC for multihop energy harvesting wireless sensor networks [J]. International Journal of Distributed Sensor Networks, 2015, 2015(3): 1-10. [9] FERNANDEZ-GAGO C, MOYANO F, LOPEZ J. Modelling trust dynamics in the Internet of things [J]. Information Sciences, 2017, 396(8): 72-82. [10] MOUSA H, MOKHTAR S B, HASAN O, et al. Trust management and reputation systems in mobile participatory sensing applications: a survey [J]. Computer Networks, 2015, 90(C): 49-73. [11] HE D, CHAN S, GUIZANI M. User privacy and data trustworthiness in mobile crowd sensing [J]. IEEE Wireless Communications, 2015, 22(1): 28-34. [12] JIANG J, HAN G, WANG F, et al. An efficient distributed trust model for wireless sensor networks [J]. IEEE Transactions on Parallel and Distributed Systems, 2015, 26(5): 1228-1237. [13] BHARGAVI S, GORANTHALA V P. The impact of collusion attacks in WSN with secure data aggregation system [J]. Neuropathology, 2015, 31(6): 648-653. [14] 房衛(wèi)東, 石志東, 單聯(lián)海, 等. 一種基于BETA分布抗On-off攻擊的信任機制[J].系統(tǒng)仿真學報,2015,27(11):2722-2728.(FANG W D, SHI Z D, SHAN L H, et al. Trusted scheme for defending On-off attack based on BETA distribution [J]. Journal of System Simulation, 2015, 27(11): 2722-2728.) [15] 李姍姍.基于監(jiān)督機制的WSN安全數(shù)據(jù)融合算法設計[D].沈陽:東北大學,2011:19-40.(LI S S. Design of secure data aggregation algorithm based on monitoring mechanism in WSN[D]. Shenyang: Northeastern University, 2011: 19-40.) [16] MENDOZA C V L, KLEINSCHMIDT J H. Mitigating On-off attacks in the Internet of things using a distributed trust management scheme [J]. International Journal of Distributed Sensor Networks, 2015, 2015(11): 1-8. [17] 胡蓉華,董曉梅,王大玲. 一種信任和能量意識的WSN補救路由算法[J].控制與決策,2016,31(3):435-440.(HU R H, DONG X M, WANG D L. A trust and energy aware remedy routing algorithm for wireless sensor networks [J]. Control and Decision, 2016,31(3):435-440.) [18] THOMSON C, ROMDHANI I, AL-DUBAI A, et al, Cooja Simulator Manual [EB/OL]. (2016- 06) [2017- 04- 11]. https://www.researchgate.net/publication/304572240_Cooja_Simulator_Manual. [19] BERGMANN O. Tinydtls: a library for datagram transport layer security [EB/OL]. (2016- 02- 11) [2017- 04- 18]. https://sourceforge.net/projects/tinydtls/. The work is partially supported by the National Natural Science Foundation of China (61572255), the China Postdoctoral Science Foundation (2015M582622), the Open Fund of Hebei Engineering Technology Research Center for IoT Data Acquisition and Processing in 2016 (2016KF05). ZHANGGuanghua, born in 1979, Ph. D., associate professor. His research interests include trust management, network security. YANGYaohong, born in 1992, M. S. candidate. Her research interests include network security. PANGShaobo, born in 1992, M. S. candidate. His research interests include network security. CHENZhenguo, born in 1976, Ph. D., associate professor. His research interests include Internet of things security.2 抗On-off攻擊的自適應安全機制
2.1 基于信任閾值的自適應安全機制
2.2 抗On-off攻擊的自適應安全
3 仿真實驗與結(jié)果分析
3.1 仿真環(huán)境設置
3.2 仿真結(jié)果分析
4 結(jié)語