遲 凱
(中國(guó)電子科技集團(tuán)公司第二十研究所 電子信息網(wǎng)絡(luò)實(shí)驗(yàn)室,陜西 西安 710068)
可信網(wǎng)絡(luò)是下一代網(wǎng)絡(luò)安全研究的熱點(diǎn),旨在通過“主動(dòng)防御”的方式來(lái)應(yīng)對(duì)安全和服務(wù)質(zhì)量保證等挑戰(zhàn)??尚啪W(wǎng)絡(luò)的概念最初來(lái)源于可信計(jì)算,1999年由IBM、HP等著名IT企業(yè)發(fā)起成立了可信計(jì)算平臺(tái)聯(lián)盟(Trusted Computing Platform Alliance,TCPA),2003年TCPA改組為可信計(jì)算組織(Trusted Computing Group,TCG)。可信計(jì)算組織制定了關(guān)于可信平臺(tái)模塊、可信存儲(chǔ)等一系列技術(shù)規(guī)范,可信網(wǎng)絡(luò)連接分組(TNC Sub Group,TNC-SG)制定了一個(gè)基于可信計(jì)算技術(shù)的可信網(wǎng)絡(luò)連接架構(gòu),它本質(zhì)上就是要從終端的完整性開始建立可信連接??尚啪W(wǎng)絡(luò)關(guān)鍵技術(shù)包括可信計(jì)算、可信模型、網(wǎng)絡(luò)架構(gòu)等[1],可信網(wǎng)絡(luò)技術(shù)被認(rèn)為是應(yīng)對(duì)網(wǎng)絡(luò)攻擊、提升網(wǎng)絡(luò)安全的重要手段。在可信網(wǎng)絡(luò)理論學(xué)術(shù)研究方面,林闖等人[4]提出了可信網(wǎng)絡(luò)的理論概念,揭示了其基本屬性,通過改進(jìn)網(wǎng)絡(luò)體系結(jié)構(gòu)的安全機(jī)制來(lái)保障網(wǎng)絡(luò)的可控性、安全性和可生存性,以及信息的機(jī)密性、完整性、真實(shí)性和可用性。張煥國(guó)等人[5]指出現(xiàn)階段可信性主要關(guān)注兩個(gè)屬性:一個(gè)是可靠性;另一個(gè)是安全性,并且要同時(shí)解決網(wǎng)絡(luò)接入、傳輸以及數(shù)據(jù)共享的可信問題。
無(wú)線Ad Hoc網(wǎng)絡(luò)是一種多跳中繼網(wǎng)絡(luò),數(shù)據(jù)傳輸時(shí)面臨如何選擇一條快速、穩(wěn)定、高效的最佳路徑問題,中繼節(jié)點(diǎn)的可信程度對(duì)整個(gè)網(wǎng)絡(luò)的安全與效能至關(guān)重要[2]。通過在中繼節(jié)點(diǎn)中增加信任值評(píng)估能夠有效的解決節(jié)點(diǎn)失效或者惡意入侵帶來(lái)的路由安全問題[3]。針對(duì)Ad Hoc網(wǎng)絡(luò)的可信技術(shù)研究具有廣泛的軍事應(yīng)用價(jià)值,尤其需要建立以準(zhǔn)確、動(dòng)態(tài)、高效的可信度量模型為依據(jù)的可信Ad Hoc網(wǎng)絡(luò)架構(gòu)。其中,信任度量模型是其基礎(chǔ)和關(guān)鍵。
信任模型最早來(lái)源于分布式多代理系統(tǒng)中,1994年,Marsh在解決多代理系統(tǒng)中實(shí)體間的信任合作問題時(shí),系統(tǒng)的闡述了信任的抽象化問題,為信任模型在計(jì)算機(jī)網(wǎng)絡(luò)信息系統(tǒng)中應(yīng)用奠定了基礎(chǔ)。在這基礎(chǔ)上,相關(guān)的信任管理、可信認(rèn)證與信任評(píng)估理論相繼提出。其中,信任模型的雛形是Blaze等人于1996年提出的“信任管理(Trust Management)”概念,A Abdulrahman等以信任的設(shè)計(jì)概念為基礎(chǔ),對(duì)信任的內(nèi)容與程度進(jìn)行等級(jí)劃分,考慮信任的主觀性,提出了信任度量的數(shù)學(xué)模型[8]。近年來(lái),學(xué)者們使用了不同的數(shù)學(xué)模型和工具對(duì)可信度量展開研究,但到目前為止,還沒有形成較為公認(rèn)的度量基準(zhǔn),其中比較典型的有:文獻(xiàn)[6]采用改進(jìn)的證據(jù)理論(D-S theory)對(duì)可信關(guān)系進(jìn)行建模,可信度評(píng)估采用概率加權(quán)平均方法。文獻(xiàn)[7]基于貝葉斯網(wǎng)絡(luò)提出了一種使用Kalman方法的簡(jiǎn)化模型,通過引入衰減及獎(jiǎng)懲機(jī)制,使模型具有一定的動(dòng)態(tài)適應(yīng)性。文獻(xiàn)[9]給出了一種P2P網(wǎng)絡(luò)下的可信度量模型。文獻(xiàn)[10]給出一種多代理環(huán)境下的可信度量模型。文獻(xiàn)[11]將風(fēng)險(xiǎn)評(píng)估引入到可信度計(jì)算中,提出了適用于普適計(jì)算網(wǎng)絡(luò)環(huán)境下基于可信度的安全服務(wù)發(fā)現(xiàn)模型。文獻(xiàn)[12]提出了一種普適計(jì)算網(wǎng)絡(luò)環(huán)境下通用的、基于交互上下文的可信度計(jì)算模型。
在集中式網(wǎng)絡(luò)中,有專門的管理節(jié)點(diǎn)負(fù)責(zé)信任評(píng)估和管理,結(jié)構(gòu)簡(jiǎn)單,易于實(shí)現(xiàn)。而在類似于Ad Hoc的分布式網(wǎng)絡(luò)中,沒有信任管理中心,這樣由中心依賴性導(dǎo)致的脆弱問題能夠得到良好解決,然而分布式的信任監(jiān)督和交流機(jī)制較集中式更為復(fù)雜。當(dāng)前針對(duì)分布式信任模型的研究成為信任管理和評(píng)估領(lǐng)域的熱點(diǎn),比較典型的有T Beth提出的采用概率的方法來(lái)描述信任度的信任模型[13], A Josang提出的基于主觀邏輯的信任模型[14],和Y Wang等提出的在P2P網(wǎng)絡(luò)中基于交互信息進(jìn)行信任評(píng)估的信任模型[15]。針對(duì)Ad Hoc網(wǎng)絡(luò)的動(dòng)態(tài)安全問題,YL Sun等人[16]提出了基于信息論的信任模型,以信心論中熵的計(jì)算方法來(lái)度量信任的不確定性,同時(shí)對(duì)信任的傳遞、合成進(jìn)行了規(guī)則性約束。
雖然這些研究成果有效推動(dòng)了可信度量的研究與發(fā)展,但是仍然存在一些問題。首先,基于概率統(tǒng)計(jì)的模型,缺少靈活性,并且在建模過程中以各種假設(shè)為前提,使得模型在具體網(wǎng)絡(luò)中的適應(yīng)性不高。其次,針對(duì)Ad Hoc網(wǎng)絡(luò)多跳通信普遍存在,拓?fù)浣Y(jié)構(gòu)復(fù)雜的情況缺乏良好的適應(yīng)性策略,影響模型的可用性。針對(duì)研究現(xiàn)狀,本文結(jié)合網(wǎng)絡(luò)信息理論中多址接入信道容量域理論,提出了一種面向Ad Hoc網(wǎng)絡(luò),適用于多跳路由的可信路徑度量方法,能夠在分布式路徑選擇過程中提高自適應(yīng)性和靈活性,降低沖突概率,在保證安全性的前提下提高網(wǎng)絡(luò)性能。
網(wǎng)絡(luò)信息論近些年發(fā)展較快,拓展了香農(nóng)的點(diǎn)到點(diǎn)通信基礎(chǔ)理論,適用于多信源、多信宿共享資源的一般網(wǎng)絡(luò)模型,雖然一些理論還沒完全成熟,但已在現(xiàn)實(shí)網(wǎng)絡(luò)中展現(xiàn)出很大的生命力。其中在多個(gè)用戶多信道通信的情況下,以容量域的概念代替了單一信道的容量概念,以多址信道最為典型。
在兩個(gè)用戶的離散無(wú)記憶多址接入信道(DM-MAC)模型表述如下:
包含3個(gè)有限集合X1,X2,Y以及定義在Y上的條件概率分布p(y|x1,x2)。
兩個(gè)消息集合:[1:2nR1]和[1:2nR2]。
(1)
兩個(gè)用戶各自最大的可達(dá)速率分別為
C1=maxx2,p(x1)I(X1;Y|X2=x2)
(2)
C2=maxx1,p(x2)I(X2;Y|X1=x1)
(3)
合速率的上界為
R1+R2≤C12=maxp(x1),p(x2)I(X1,X2;Y)
(4)
例如輸入X1和X2為二進(jìn)制符號(hào),輸出Y=X1+X2則為三進(jìn)制符號(hào)。容易驗(yàn)證C1=C2=1,C12=3/2。
在Sun Y L等人所提出的基于信息論的信任模型中,Ad Hoc網(wǎng)絡(luò)中的節(jié)點(diǎn)在多跳路由轉(zhuǎn)發(fā)分組時(shí),能夠根據(jù)鄰居節(jié)點(diǎn)對(duì)自已所發(fā)出業(yè)務(wù)分組的歷史轉(zhuǎn)發(fā)情況判斷鄰居節(jié)點(diǎn)的可信程度。Sun Y L等人結(jié)合信息論中熵的計(jì)算定義了可信程度的度量:
(5)
H(p)=-plog2p-(1-p)log2(1-p)
(6)
概率p表征了鄰居節(jié)點(diǎn)的可信程度,通過p=Nretran/Nsend來(lái)不斷進(jìn)行估計(jì),其中Nretran為轉(zhuǎn)發(fā)的分組數(shù),Nsend為源節(jié)點(diǎn)發(fā)送的分組數(shù),多條路徑的信任度量為每條路徑信任度量的乘積。根據(jù)式(5)的定義,節(jié)點(diǎn)對(duì)轉(zhuǎn)發(fā)率大于0.5的鄰居節(jié)點(diǎn)可信度量為 區(qū)間內(nèi)的正值,而對(duì)轉(zhuǎn)發(fā)率小于0.5的鄰居節(jié)點(diǎn)可信度量為 區(qū)間內(nèi)的負(fù)值,被認(rèn)為是“惡意節(jié)點(diǎn)”。這樣,在選擇路徑的時(shí)候源節(jié)點(diǎn)能夠主動(dòng)規(guī)避“惡意節(jié)點(diǎn)”,并對(duì)比多條路徑的可信度量值選擇具有最大信任度量值的路徑。
通過引入熵的概念計(jì)算得出每個(gè)鄰居節(jié)點(diǎn)的可信度量的方法簡(jiǎn)單,便于實(shí)施。然而在Ad Hoc網(wǎng)絡(luò)中,拓?fù)浣Y(jié)構(gòu)復(fù)雜且時(shí)變,端到端路由往往是多跳的,多個(gè)節(jié)點(diǎn)可能在同一時(shí)刻選擇相同的鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)分組,在中繼節(jié)點(diǎn)發(fā)送隊(duì)列緩存有限的情況下,大量的轉(zhuǎn)發(fā)多個(gè)源節(jié)點(diǎn)的分組不但會(huì)引起端到端時(shí)延的增加,更可能因?yàn)槌^中繼節(jié)點(diǎn)的緩存容限導(dǎo)致丟包。并且由于Ad Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)能源往往是受限的,大量的轉(zhuǎn)發(fā)分組也會(huì)導(dǎo)致中繼節(jié)點(diǎn)活動(dòng)壽命的減少。即引發(fā)由于負(fù)載不均衡導(dǎo)致資源分配不合理,網(wǎng)絡(luò)性能下降等問題。而根據(jù)式(5)的定義,轉(zhuǎn)發(fā)多個(gè)源節(jié)點(diǎn)的分組超過中繼節(jié)點(diǎn)的緩存能力時(shí),中繼節(jié)點(diǎn)的信任度量會(huì)迅速下降,此時(shí)信任度量值的改變并不是因?yàn)橹欣^節(jié)點(diǎn)自身狀態(tài)的改變(如故障、受攻擊等影響),不能真實(shí)的衡量節(jié)點(diǎn)的工作狀態(tài),而且源節(jié)點(diǎn)在選擇新的中繼節(jié)點(diǎn)后仍然可能出現(xiàn)同樣的問題。
圖1 多跳Ad Hoc網(wǎng)絡(luò)
如圖1所示,在一個(gè)由7個(gè)節(jié)點(diǎn)組成的Ad Hoc網(wǎng)中,源節(jié)點(diǎn)S希望建立到達(dá)目的節(jié)點(diǎn)F的路由,有3條路徑可供源節(jié)點(diǎn)S選擇,path1{S,A,C,F}, path2{S,B,C,F},path3{S,D,E,F}。假定其中節(jié)點(diǎn)S到節(jié)點(diǎn)A、B、C的信任度量TSA=TSB=TSD,節(jié)點(diǎn)C和E到節(jié)點(diǎn)F的信任度量TCF=TEF,在這種情況下,選擇哪條路徑取決于TAC,TBC,TDE的值。假設(shè)TBC>TDE>TAC,則根據(jù)單一路徑的信任度量結(jié)果可知源節(jié)點(diǎn)S會(huì)選擇path2來(lái)發(fā)送分組。此時(shí)如果節(jié)點(diǎn)A同時(shí)有分組發(fā)送至節(jié)點(diǎn)F,節(jié)點(diǎn)A只有選擇path{A,C,F}進(jìn)行發(fā)送,則節(jié)點(diǎn)C會(huì)同時(shí)處理來(lái)自節(jié)點(diǎn)A和節(jié)點(diǎn)S的轉(zhuǎn)發(fā)分組。如果單位時(shí)間內(nèi)轉(zhuǎn)發(fā)分組的數(shù)量超過了節(jié)點(diǎn)C的轉(zhuǎn)發(fā)隊(duì)列緩存,則會(huì)造成節(jié)點(diǎn)S和節(jié)點(diǎn)A的分組丟失??梢宰⒁獾剑绻湃味攘縏DE只是略小于TBC,則節(jié)點(diǎn)S選擇path3才是最優(yōu)選。
針對(duì)這種情況,節(jié)點(diǎn)S發(fā)給節(jié)點(diǎn)B的分組,將會(huì)從之前的兩種動(dòng)作:{Action=0,不轉(zhuǎn)發(fā);Action=1,直接轉(zhuǎn)發(fā)},更改為3種動(dòng)作,即:{Action=0,不轉(zhuǎn)發(fā);Action=1,直接轉(zhuǎn)發(fā);Action=2,入緩存隊(duì)列}。參考多址信道容量域理論,定義雙路徑可信度量模型DPET(Double Path Entropy-based Trust model)為
T{subject1,subject2:agent,Doublepath}=
1.5+(1-p1)(1-p2)log2(1-p1)(1-p2)+
[p1(1-p2)+p2(1-p1)]log2[p1(1-p2)+p(1-p1)]+
p1p2log2(p1p2)
(7)
其中P1≥0.5,P2≥0.5。
T{subject1,subject2:agent,Doublepath}=
-(1-p1)(1-p2)log2[(1-p1)(1-p2)]-
[p1(1-p2)+p2(1-p1)]log2[p1(1-p2)+p2(1-p1)]-
p1p2log2(p1p2)-0.5
(8)
其中P1<0.5,P2<0.5。
當(dāng)兩個(gè)節(jié)點(diǎn)有著相同的下一跳節(jié)點(diǎn)時(shí),若兩個(gè)節(jié)點(diǎn)對(duì)下一跳節(jié)點(diǎn)路徑的可信度量值全為正時(shí),即Pi>0.5,Pj (j≠i)>0.5時(shí),通過式(7)計(jì)算兩節(jié)點(diǎn)總共的信任度量值。而當(dāng)兩個(gè)節(jié)點(diǎn)對(duì)下一跳節(jié)點(diǎn)路徑的可信度量值全為負(fù)時(shí),通過式(8)得出下一跳節(jié)點(diǎn)的不可信度量值。當(dāng)兩個(gè)節(jié)點(diǎn)對(duì)下一跳節(jié)點(diǎn)路徑的可信度量不全為正時(shí),將度量為負(fù)的節(jié)點(diǎn)排除在可選范圍之外。
根據(jù)多址信道容量域理論中合速率的上界R1+R2≤C12=maxp(x1),p(x2)I(X1,X2;Y),此時(shí)對(duì)于圖1節(jié)點(diǎn)A和節(jié)點(diǎn)B對(duì)節(jié)點(diǎn)C的度量為:
(9)
(10)
一般的,Ad Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)采用DPET-DSR更新鄰居節(jié)點(diǎn)信任度量的步驟如下:
(1)在設(shè)定的時(shí)間內(nèi),節(jié)點(diǎn)i統(tǒng)計(jì)鄰居節(jié)點(diǎn)j的成功轉(zhuǎn)發(fā)次數(shù)Nretran,計(jì)算成功轉(zhuǎn)發(fā)概率Pij,由式(5)、式(6)更新出此鄰居節(jié)點(diǎn)的信任度:Tij=T{i,j,action=0,1};
(2)節(jié)點(diǎn)i收到路由請(qǐng)求ROUTE REQUEST時(shí),如果自己是目的節(jié)點(diǎn),回復(fù)ROUTE REPLY消息,報(bào)告自己所有鄰居節(jié)點(diǎn)的Pij和Tij:Tij=T{i,j,action=0,1}。如果自己不是目的節(jié)點(diǎn),轉(zhuǎn)發(fā)此ROUTE REQUEST消息。
(3)節(jié)點(diǎn)i收到ROUTE REPLY消息,如果自己不是發(fā)起路由請(qǐng)求ROUTE REQUEST的節(jié)點(diǎn),則將自己所有鄰居節(jié)點(diǎn)的信任度量添加至ROUTE REPLY消息中;如果自己是發(fā)起路由請(qǐng)求ROUTE REQUEST的節(jié)點(diǎn),則:
a.查詢路徑中的所有度量,若度量值全為正則執(zhí)行b;全為負(fù)則執(zhí)行c;同時(shí)存在正負(fù)度量值,則首先排除具有負(fù)度量值的路徑,再執(zhí)行b。
d.形成路徑度量Tpath=∏i,j∈path|Tij|,選擇具有最小Tpath值的路徑,結(jié)束。
e.形成路徑度量Tpath=∏i,j∈pathTij, 選擇具有最大Tpath值的路徑,結(jié)束。
仿真場(chǎng)景為由10個(gè)節(jié)點(diǎn)所組成Ad Hoc網(wǎng)絡(luò),節(jié)點(diǎn)之間只有在彼此的傳輸距離內(nèi)方能通信,節(jié)點(diǎn)的最大傳輸距離為4 km,每個(gè)節(jié)點(diǎn)單位時(shí)間內(nèi)產(chǎn)生業(yè)務(wù)分組數(shù)服從均值為5的泊松分布,包長(zhǎng)為1 000 bit,目的節(jié)點(diǎn)為隨機(jī)產(chǎn)生。信任度量模型采用DPET模型,路由建立過程采用DSR路由算法,源節(jié)點(diǎn)選擇最具有信任值的路徑建立路由。
在DPET-DSR路由中,源節(jié)點(diǎn)產(chǎn)生并發(fā)送的路由請(qǐng)求消息ROUTE REQUEST被非目的節(jié)點(diǎn)的中繼節(jié)點(diǎn)收到時(shí),中繼節(jié)點(diǎn)將廣播一次此路由請(qǐng)求消息。如果被目的節(jié)點(diǎn)收到,目的節(jié)點(diǎn)將回復(fù)最多5條路由回復(fù)消息ROUTE REPLY至對(duì)應(yīng)的ROUTE REQUEST消息,可回溯形成從源節(jié)點(diǎn)目的節(jié)點(diǎn)的多條可用路徑供源節(jié)點(diǎn)選擇。每條路徑最大跳數(shù)限制為10跳。
如圖2所示,當(dāng)某一時(shí)刻節(jié)點(diǎn)1試圖發(fā)送分組至節(jié)點(diǎn)10時(shí),由單一路徑信任度量模型得到的路徑為path1{1,3,5,9,10},如圖3所示,由雙路徑信任度量模型得到的路徑為path2{1,2,6,8,10},這是因?yàn)槁窂?上的節(jié)點(diǎn)3,5,9是多個(gè)節(jié)點(diǎn)的下一跳節(jié)點(diǎn),在仿真運(yùn)行的過程中會(huì)轉(zhuǎn)發(fā)多個(gè)源節(jié)點(diǎn)的分組,存在超過緩存容限導(dǎo)致丟包的可能。路徑2上只有節(jié)點(diǎn)2,8是多個(gè)節(jié)點(diǎn)的下一跳節(jié)點(diǎn),計(jì)算信任度量值時(shí),路徑上不容易隊(duì)列緩存緊張的中繼節(jié)點(diǎn)能夠?yàn)檎麄€(gè)路徑的信任度量值加成。
圖2 節(jié)點(diǎn)1路由選擇(a)
圖3 節(jié)點(diǎn)1路由選擇(b)
如圖4所示,整個(gè)Ad Hoc網(wǎng)絡(luò)吞吐量表明采用基于信任度量的DSR路由協(xié)議比傳統(tǒng)的采用距離(或跳數(shù))為路徑度量的DSR路由協(xié)議吞吐性能要好(Distance-based),這是因?yàn)楣?jié)點(diǎn)在選路的過程中能夠有效避免“惡意節(jié)點(diǎn)”,增大分組成功轉(zhuǎn)發(fā)的概率。而采用DPET(Double Path Entropy-based)度量模型比單鏈路信任度量模型(Single Path Entropy-based)性能要好,是因?yàn)槟軌虮苊饩哂休^優(yōu)位置的中繼節(jié)點(diǎn)承擔(dān)大量轉(zhuǎn)發(fā)分組責(zé)任,引起緩存隊(duì)列溢出從而導(dǎo)致丟包的發(fā)生,在一定程度上能夠達(dá)到負(fù)載均衡的效果,從而提高網(wǎng)絡(luò)吞吐量。
圖4 10節(jié)點(diǎn)Ad Hoc網(wǎng)絡(luò)吞吐量
本文提出了基于信息論的多路徑可信度量模型,充分考慮了多跳Ad Hoc網(wǎng)絡(luò)中的可信路由與負(fù)載均衡,通過引入多址信道容量域理論,在根據(jù)信任度量模型建立路由過程中,能夠?qū)I(yè)務(wù)分組在網(wǎng)絡(luò)中均衡,有效避免位置較優(yōu)的中繼節(jié)點(diǎn)大量承擔(dān)轉(zhuǎn)發(fā)任務(wù),從而在轉(zhuǎn)發(fā)隊(duì)列緩存有限的情況產(chǎn)生丟包,影響網(wǎng)絡(luò)性能。仿真結(jié)果表明,本模型在多跳Ad Hoc網(wǎng)絡(luò)中能夠根據(jù)信任度量值選擇最優(yōu)路徑,避免中繼節(jié)點(diǎn)緩存隊(duì)列溢出丟包,有效提高網(wǎng)絡(luò)吞吐率,為進(jìn)一步研究Ad Hoc網(wǎng)絡(luò)中可信連接、可信路由管理建立了基礎(chǔ)。下一步的工作是對(duì)本模型做進(jìn)一步的完善,并對(duì)基于可信路徑的可信網(wǎng)絡(luò)管理展開研究,本項(xiàng)技術(shù)在對(duì)安全與可信要求極高的軍用Ad Hoc自組織網(wǎng)絡(luò)中具有較高的潛在應(yīng)用價(jià)值。