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