摘要:
針對現(xiàn)有移動自組網(wǎng)安全路由協(xié)議難以兼顧數(shù)據(jù)完整性和機(jī)密性的問題,提出了一種結(jié)合數(shù)據(jù)完整性保護(hù)和數(shù)據(jù)機(jī)密性保護(hù)的安全路由協(xié)議。在數(shù)據(jù)完整性保護(hù)方面,采用單向hash函數(shù)和密鑰生成消息認(rèn)證碼,鑒別路由中數(shù)據(jù)的完整性;在數(shù)據(jù)機(jī)密性保護(hù)方面,采用μTESLA協(xié)議傳輸加密數(shù)據(jù)包,在不同的時段傳輸不同的密鑰,通過對稱密鑰的延遲透露模擬非對稱機(jī)制,降低認(rèn)證廣播的資源消耗。仿真實(shí)驗(yàn)表明,該方法不僅在安全性方面優(yōu)于現(xiàn)有的路由協(xié)議,而且在報文送達(dá)率、路由開銷和端到端平均時延評價指標(biāo)上也優(yōu)于現(xiàn)有路由協(xié)議。
0 引言
移動自組網(wǎng)(Mobile Ad Hoc Network,MANET)由許多可以相互通信的移動設(shè)備組成,網(wǎng)絡(luò)中的節(jié)點(diǎn)可以自由移動,形成一個無縫連接的自組織網(wǎng)絡(luò),其不需要任何基礎(chǔ)通信設(shè)施協(xié)助,在軍事通信、救災(zāi)搶險、環(huán)境監(jiān)測等領(lǐng)域有著廣泛應(yīng)用[1]。由于MANET網(wǎng)絡(luò)中的節(jié)點(diǎn)可以自由移動,導(dǎo)致網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)經(jīng)常變化,通信鏈路存在中斷風(fēng)險,導(dǎo)致包丟失率增大。當(dāng)路由中斷后,重新尋找路由需要耗費(fèi)時間,造成端到端傳輸時延增大,并降低了網(wǎng)絡(luò)的吞吐量。同時,由于MANET網(wǎng)絡(luò)中的設(shè)備的功率、內(nèi)存和存儲容量有限,網(wǎng)絡(luò)中的所有設(shè)備需要共享帶寬,這要求路由設(shè)計(jì)時需考慮能量損耗問題。因此,最優(yōu)路由選擇是目前移動自組網(wǎng)面臨的主要挑戰(zhàn)[2-4]。
目前,結(jié)合MANET的網(wǎng)絡(luò)特性,已提出了許多有意義的路由協(xié)議,如AODV[5-8]、DSR[9-11]等。這些路由協(xié)議結(jié)合報文送達(dá)率、端到端傳輸時延、包丟失率、網(wǎng)絡(luò)吞吐量等性能指標(biāo),提出了最優(yōu)的路由選擇策略。在多跳網(wǎng)絡(luò)中,各個節(jié)點(diǎn)無法獨(dú)立完成數(shù)據(jù)傳輸任務(wù),多節(jié)點(diǎn)之間的通信極易受到攻擊,安全性成為移動自組網(wǎng)路由協(xié)議亟待解決的重要問題之一[12]。
為增強(qiáng)路由協(xié)議的安全性,許多路由協(xié)議對各節(jié)點(diǎn)發(fā)送和接收的數(shù)據(jù)進(jìn)行加密和鑒別。如SEAD[13]路由協(xié)議采用單向hash鏈鑒別路由表更新報文中的序列號等信息,驗(yàn)證報文的可靠性。Ariadne[14]在DSR路由協(xié)議的基礎(chǔ)上增加數(shù)字簽名技術(shù),可以阻止多種類型的拒絕服務(wù)(Denial of Service,DoS)攻擊。ARAN[15]在AODV路由協(xié)議的基礎(chǔ)上采用公共密鑰加密和鑒別IP地址,防止路由被復(fù)制。SAODV[16]也是在AODV路由協(xié)議上增加安全措施來增強(qiáng)路由的安全性,具體是采用數(shù)字簽名鑒別報文的不變部分,采用hash鏈保護(hù)跳數(shù)信息。然而,現(xiàn)有的安全路由協(xié)議主要關(guān)注信息認(rèn)證,而忽略了路由發(fā)現(xiàn)之后數(shù)據(jù)的機(jī)密性。
本文提出一種兼顧數(shù)據(jù)完整性和機(jī)密性的安全路由協(xié)議,采用消息認(rèn)證碼(MAC)和加密密鑰算法認(rèn)證源節(jié)點(diǎn)、目的節(jié)點(diǎn)和中間節(jié)點(diǎn),采用μTESLA協(xié)議[17]保護(hù)數(shù)據(jù)的機(jī)密性,采用單向hash函數(shù)降低帶寬占用率和運(yùn)算復(fù)雜度,可以在保證路由基本性能要求的前提下防范多種網(wǎng)絡(luò)攻擊,提高路由的安全性能。
1 自組網(wǎng)路由協(xié)議的安全性
移動自組網(wǎng)中常用的路由協(xié)議是AODV和DSR。這兩種協(xié)議都是按需路由協(xié)議,網(wǎng)絡(luò)中的節(jié)點(diǎn)只在通信需要時才會交換路由信息。但這些協(xié)議并沒有考慮通信的安全性,在傳輸過程中沒有保護(hù)節(jié)點(diǎn)之間的位置等信息,所有通信范圍內(nèi)的無線設(shè)備都可以獲取網(wǎng)絡(luò)中傳輸?shù)膬?nèi)容,極易受到冒充身份、修改數(shù)據(jù)包內(nèi)容等攻擊。
對路由協(xié)議的攻擊主要分為兩類:主動攻擊和被動攻擊。被動攻擊只會偷聽網(wǎng)絡(luò)中傳輸?shù)臄?shù)據(jù),不會擾亂網(wǎng)絡(luò)。主動攻擊會復(fù)制、修改和刪除節(jié)點(diǎn)之間交換的數(shù)據(jù),降低網(wǎng)絡(luò)性能甚至破壞網(wǎng)絡(luò),影響更為惡劣。按照攻擊所使用的工具進(jìn)行分類,還可將攻擊分為外部攻擊和內(nèi)部攻擊。外部攻擊是典型的主動攻擊,試圖阻塞網(wǎng)絡(luò)、傳播錯誤路由信息甚至關(guān)閉整個網(wǎng)絡(luò)。這些攻擊通常需要采用防火墻、加密等安全措施來防范。內(nèi)部攻擊主要由惡意節(jié)點(diǎn)發(fā)起,此類攻擊更加隱蔽[18-20]。表1列出了一些常用的攻擊類型和防范措施。
對各節(jié)點(diǎn)發(fā)送和接收的數(shù)據(jù)進(jìn)行加密和鑒別是保證通信安全性的主要途徑。常用的加密方式有hash鏈和數(shù)字簽名兩種。表2列出了現(xiàn)有的常用安全路由協(xié)議及加密方式。
2 兼顧數(shù)據(jù)完整性和機(jī)密性的安全路由協(xié)議
本文假定無線網(wǎng)絡(luò)中的網(wǎng)絡(luò)連接是雙向的,所有節(jié)點(diǎn)都有同步時鐘,在寬松的時鐘同步下使用間隔密鑰。加密密鑰在節(jié)點(diǎn)之間生成和發(fā)布,這樣網(wǎng)絡(luò)中的每兩個節(jié)點(diǎn)之間都共享一個加密密鑰,如源節(jié)點(diǎn)S和目標(biāo)節(jié)點(diǎn)D之間共享的加密密鑰是KSD。本文采用μTESLA協(xié)議保證數(shù)據(jù)的機(jī)密性,信息認(rèn)證使用消息認(rèn)證碼和加密密鑰方式。
2.1 μTESLA協(xié)議
一般地,認(rèn)證廣播需要一個非對稱機(jī)制,然而非對稱密碼機(jī)制的運(yùn)算量大、存儲空間耗費(fèi)多,難以應(yīng)用于資源緊張的設(shè)備上。μTESLA協(xié)議采用一個延遲透露的對稱密鑰來解決上述問題,是一種高效的廣播認(rèn)證方案。在μTESLA協(xié)議中,密鑰鏈中的每一個密鑰與一個時段相對應(yīng),該時段內(nèi)發(fā)送的所有數(shù)據(jù)包采用相同的密鑰鑒別。譬如,假設(shè)數(shù)據(jù)包P1和P2在時段1發(fā)送,采用密鑰K1加密;P3在時段2發(fā)送,采用密鑰K2加密。當(dāng)接收到這些數(shù)據(jù)包之后,首先通過一個單向函數(shù)K0=F(K1)鑒別K1,如果鑒別成功,接收端采用密鑰K1解密數(shù)據(jù)包P1和P2。同樣地,在其他時段,只要節(jié)點(diǎn)接收到前一個時段的密鑰Kj,就采用一組單向函數(shù)Ki=Fj-i(Kj)來鑒別密鑰Kj。鑒別成功則授權(quán)新的密鑰Kj,用于解密時段i和j之間接收到的所有數(shù)據(jù)包。這里,單向函數(shù)采用hash函數(shù)。
在這一策略中,將密鑰透露從數(shù)據(jù)包廣播中獨(dú)立出來,只與時段相關(guān)聯(lián),當(dāng)前密鑰通過專有的數(shù)據(jù)包周期性地進(jìn)行廣播。
2.2 路由認(rèn)證
幾乎所有的路由攻擊都是由惡意入侵或者假冒攻擊來改變路由數(shù)據(jù)。為了阻止這些攻擊,負(fù)責(zé)解釋路由信息的每一個節(jié)點(diǎn)必須鑒別數(shù)據(jù)的原始性和完整性。本文結(jié)合密鑰和單向hash函數(shù)生成消息認(rèn)證碼,依據(jù)消息認(rèn)證碼對路由中各節(jié)點(diǎn)進(jìn)行認(rèn)證。
2.2.1 路由請求
如圖1所示,源節(jié)點(diǎn)S想要建立其與目的節(jié)點(diǎn)D之間的路由,這樣源節(jié)點(diǎn)開啟朝向目的節(jié)點(diǎn)的路由發(fā)現(xiàn),向其一跳鄰居廣播一個路由發(fā)現(xiàn)包。
每一個節(jié)點(diǎn)沿著路徑重復(fù)以上步驟,更新數(shù)據(jù)包和轉(zhuǎn)發(fā)廣播至目的節(jié)點(diǎn)。數(shù)據(jù)包中,(h0,h1,…,hn)包含了用于中間節(jié)點(diǎn)鑒別的地址和節(jié)點(diǎn)序列號信息。
2.2.2 路由應(yīng)答
當(dāng)接收到路由請求數(shù)據(jù)包之后,目的節(jié)點(diǎn)沿著相反的路徑發(fā)送一個應(yīng)答數(shù)據(jù)包(REP)給源節(jié)點(diǎn)。
第一個中間節(jié)點(diǎn)接收到從目的節(jié)點(diǎn)D到源節(jié)點(diǎn)S的應(yīng)答數(shù)據(jù)包為:
同樣地,其他中間節(jié)點(diǎn)也將自身的MAC密鑰附在REP包上,不斷地轉(zhuǎn)發(fā)給前一跳。最終,REP包到達(dá)源節(jié)點(diǎn)的形式為:
當(dāng)源節(jié)點(diǎn)接收到路由應(yīng)答包后,采用中間節(jié)點(diǎn)的MAC密鑰和HD來鑒別報文。
2.2.3 路由維護(hù)
自組織無線網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)經(jīng)常變化,網(wǎng)絡(luò)中的節(jié)點(diǎn)可能增加或者減少,這樣路由可能中斷。當(dāng)路由中斷之后,路由錯誤報文(RERR)將從錯誤發(fā)生位置發(fā)送到源節(jié)點(diǎn),然后初始化一個新的路由請求。
如圖2所示,假設(shè)節(jié)點(diǎn)C脫離了節(jié)點(diǎn)B的傳輸范圍,這樣節(jié)點(diǎn)B就會生成一個路由錯誤報文,并通過中間節(jié)點(diǎn)B和A發(fā)送給源節(jié)點(diǎn)A,方式為:
當(dāng)源節(jié)點(diǎn)S接收到RERR報文之后,依據(jù)中間節(jié)點(diǎn)的MAC密鑰鑒別這些MAC。鑒別成功后,源節(jié)點(diǎn)重新請求路由發(fā)現(xiàn)去尋找一個新的路由。
2.2.4 數(shù)據(jù)機(jī)密性
現(xiàn)有的自組織網(wǎng)絡(luò)安全路由協(xié)議主要關(guān)注于認(rèn)證,很少考慮路由發(fā)現(xiàn)之后的數(shù)據(jù)機(jī)密性。本文利用μTESLA協(xié)議中的單向函數(shù)保護(hù)數(shù)據(jù)的機(jī)密性。在路由階段,P通過中間節(jié)點(diǎn)的路由請求包傳送到目的節(jié)點(diǎn),采用源節(jié)點(diǎn)和中間節(jié)點(diǎn)的加密密鑰解密。
單向函數(shù)的初始密鑰K0分布在所有節(jié)點(diǎn)之間,目的節(jié)點(diǎn)可以采用單向函數(shù)鑒別Ki,表示為:
這樣,接收端可以解碼時段i發(fā)送的所有數(shù)據(jù)包。當(dāng)時段i結(jié)束之后,密鑰Ki消失,源節(jié)點(diǎn)發(fā)送新的密鑰Ki+1。目的節(jié)點(diǎn)接收包含新密鑰的報文后,仍采用單向函數(shù)鑒別密鑰Ki+1,鑒別成功后用其解密所有在i+1時段發(fā)送的數(shù)據(jù)包。
3 仿真分析
3.1 仿真環(huán)境與評價指標(biāo)
本文選用國際上通用的NS2仿真平臺[21](主要仿真參數(shù)見表3),將本文路由協(xié)議與AODV[5]、ARAN[15]、SAODV[16]路由協(xié)議進(jìn)行對比,從抗攻擊能力方面定性對比不同協(xié)議的性能,從報文送達(dá)率、路由開銷和端到端平均時延3個方面定量評價不同協(xié)議的性能。
定量評價指標(biāo)為[22]:
(1)報文送達(dá)率:目的節(jié)點(diǎn)接收到的數(shù)據(jù)包與實(shí)際發(fā)送的數(shù)據(jù)包的比率;
(2)路由開銷:路由包與數(shù)據(jù)包的比率;
(3)端到端平均延遲:從源節(jié)點(diǎn)發(fā)出報文到目的節(jié)點(diǎn)接收到報文所用的時間的平均值。
3.2 安全性分析
表4對比了不同方法采用的安全措施和抗攻擊能力。其中,AODV協(xié)議沒有采用安全措施,故難以抵抗各種攻擊;ARAN采用數(shù)字簽名進(jìn)行信息認(rèn)證,可以抵抗黑洞攻擊;SAODV采用數(shù)字簽名和hash鏈結(jié)合的方式進(jìn)行信息認(rèn)證,可以抵抗DOS和黑洞攻擊。本文方法除了采用密鑰和單向hash函數(shù)生成的消息認(rèn)證碼進(jìn)行信息認(rèn)證之外,還采用μTESLA協(xié)議保證數(shù)據(jù)的機(jī)密性,可以抵抗目前主流的DoS、黑洞和蟲洞3種攻擊。
3.3 性能評測
圖3顯示了4種路由協(xié)議在不同節(jié)點(diǎn)數(shù)量下的報文送達(dá)率對比情況,圖4顯示了4種路由協(xié)議在不同節(jié)點(diǎn)數(shù)量下的路由開銷對比情況,圖5顯示了4種路由協(xié)議在不同節(jié)點(diǎn)數(shù)量下的端對端平均時延對比情況。
從圖3可以看出,節(jié)點(diǎn)數(shù)量越多,報文送達(dá)率越低。與其他方法對比,本文方法的報文送達(dá)率下降最緩慢,且當(dāng)節(jié)點(diǎn)數(shù)量相同時,本文方法的報文送達(dá)率高于其他方法。
從圖4可以看出,隨著節(jié)點(diǎn)數(shù)量的增加,4種方法的路由開銷也都增大,但本文方法的增速較慢,且當(dāng)節(jié)點(diǎn)數(shù)量超過50之后本文方法的路由開銷最小。
從圖5可以看出,端到端平均時延也會隨著節(jié)點(diǎn)數(shù)量的增加而增大。本文方法的平均時延低于ARAN和SAODV兩種增加安全措施的路由協(xié)議,盡管高于AODV協(xié)議的端到端平均時延,但安全性能得到了很大提升。
4 結(jié)束語
本文提出了一種基于MAC和μTESLA的安全路由協(xié)議,可以解決現(xiàn)有移動自組網(wǎng)安全路由協(xié)議難以兼顧數(shù)據(jù)完整性和機(jī)密性的難題。該方法包括兩個部分:(1)信息認(rèn)證,主要措施是采用單向hash函數(shù)和密鑰生成消息認(rèn)證碼,依據(jù)消息認(rèn)證碼進(jìn)行信息認(rèn)證,保護(hù)數(shù)據(jù)的完整性;(2)數(shù)據(jù)機(jī)密性保護(hù),采用μTESLA協(xié)議傳輸加密后的數(shù)據(jù)包,該協(xié)議采用對稱密鑰的延遲透露策略實(shí)現(xiàn)非對稱密碼機(jī)制,可以有效降低廣播認(rèn)證的資源消耗。通過與現(xiàn)有的AODV、ARAN和SAODV等主流路由協(xié)議進(jìn)行定性和定量對比分析,證實(shí)本文方法不僅抗攻擊能力強(qiáng)于其他路由協(xié)議,而且報文送達(dá)率、路由開銷和端到端時延等路由評價指標(biāo)也優(yōu)于其他路由協(xié)議。
-
無線網(wǎng)絡(luò)
+關(guān)注
關(guān)注
6文章
1420瀏覽量
65844 -
自組網(wǎng)
+關(guān)注
關(guān)注
1文章
115瀏覽量
19483 -
數(shù)據(jù)完整性
+關(guān)注
關(guān)注
0文章
14瀏覽量
5094
原文標(biāo)題:【學(xué)術(shù)論文】基于改進(jìn)的MAC和μTESLA的MANET安全路由算法
文章出處:【微信號:ChinaAET,微信公眾號:電子技術(shù)應(yīng)用ChinaAET】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論