鳳俊翔
FENG Jun-xiang
(江蘇科技大學(xué) 電子信息學(xué)院,鎮(zhèn)江 212003)
無線移動(dòng)自組網(wǎng)絡(luò)(Mobile Ad Hoc Network,MANET)是一種特殊的無線移動(dòng)通信網(wǎng)絡(luò),它由一組帶有無線通信收發(fā)裝置的移動(dòng)終端節(jié)點(diǎn)組成的一個(gè)多跳臨時(shí)無中心的網(wǎng)絡(luò),可以在任何時(shí)刻任何地點(diǎn)快速構(gòu)建的,并且不需要現(xiàn)有信息基礎(chǔ)網(wǎng)絡(luò)設(shè)施的支持,網(wǎng)絡(luò)中的每個(gè)終端可以自由移動(dòng)且地位相等[1]。網(wǎng)絡(luò)中的節(jié)點(diǎn)同時(shí)擔(dān)當(dāng)著主機(jī)和路由的功能,作為主機(jī),終端需要運(yùn)行面向用戶的應(yīng)用程序,作為路由器,終端需要運(yùn)行相應(yīng)的路由協(xié)議。這種網(wǎng)絡(luò)所具有的獨(dú)立組網(wǎng)、無中心、自組織及多跳路由特點(diǎn)較傳統(tǒng)的網(wǎng)絡(luò)有了更大的靈活性和自由度,使其能廣泛的應(yīng)用于緊急情況,偏遠(yuǎn)野外,臨時(shí)會(huì)議等各種對靈活性要求高的場合。但它在帶來這些優(yōu)點(diǎn)的同時(shí),也存在不可避免的問題,一方面是由于移動(dòng)終端本身的局限性,這種局限性主要體現(xiàn)在節(jié)點(diǎn)的能源有限,內(nèi)存較小,CPU的處理能力較低等,另一方面是網(wǎng)絡(luò)的局限性,由于Ad hoc網(wǎng)絡(luò)采用的是無線信道,有限電源,分布式控制等技術(shù),使其更容易受到被動(dòng)竊聽,拒絕服務(wù),剝奪“睡眠”等網(wǎng)絡(luò)攻擊,這些問題的存在嚴(yán)重影響了整個(gè)網(wǎng)絡(luò)運(yùn)行的質(zhì)量和效率。針對這些問題,目前ad hoc網(wǎng)絡(luò)研究的重點(diǎn)主要在網(wǎng)絡(luò)的路由,管理,節(jié)能及安全等方面。
安全問題是ad hoc網(wǎng)絡(luò)研究中的一個(gè)重要課題,在對安全敏感的應(yīng)用中尤其如此。其安全性目標(biāo)和傳統(tǒng)網(wǎng)絡(luò)相一致[1]:
1)可用性:即使當(dāng)網(wǎng)絡(luò)受到攻擊,節(jié)點(diǎn)仍然能夠在需要的時(shí)候提供有效服務(wù)。
2)機(jī)密性:能保證特定的信息不會(huì)泄露給未經(jīng)授權(quán)的用戶,比如在軍事戰(zhàn)場上。
3)完整性:就是保證信息在傳輸過程中不會(huì)被中斷,并且保證節(jié)點(diǎn)接收的信息應(yīng)與發(fā)送的信息完全一樣。
4)安全認(rèn)證:使每個(gè)節(jié)點(diǎn)能夠確認(rèn)與其通信節(jié)點(diǎn)的身份,同時(shí)能夠在沒有全局的認(rèn)證機(jī)構(gòu)的情況下實(shí)施對用戶的鑒別。
5)抗抵賴性:這個(gè)可以確保一個(gè)節(jié)點(diǎn)不能否認(rèn)是他發(fā)出的信息。
對移動(dòng)自組網(wǎng)的攻擊根據(jù)攻擊特性可分為主動(dòng)攻擊、自私性攻擊和被動(dòng)攻擊[2]。
被動(dòng)攻擊是指攻擊節(jié)點(diǎn)只是消極竊聽,竊聽的信息主要包括“通信的內(nèi)容”和“通信的路由”信息,單純的被動(dòng)攻擊只能獲取信息,并不造成網(wǎng)絡(luò)的癱瘓。主動(dòng)攻擊則指攻擊節(jié)點(diǎn)采用各種方式主動(dòng)入侵網(wǎng)絡(luò)各個(gè)環(huán)節(jié),降低網(wǎng)絡(luò)性能和可用性;主動(dòng)攻擊可以分為“外部攻擊”和“內(nèi)部攻擊”,外部攻擊指實(shí)施攻擊的節(jié)點(diǎn)設(shè)備沒有通過網(wǎng)絡(luò)驗(yàn)證,內(nèi)部攻擊是指攻擊設(shè)備已經(jīng)在網(wǎng)絡(luò)中獲得合法身份。而自私性攻擊是指網(wǎng)絡(luò)中部分節(jié)點(diǎn)可能由于資源有限和計(jì)算能量等原因而不愿承擔(dān)為其他節(jié)點(diǎn)的轉(zhuǎn)發(fā)任務(wù)。
對付網(wǎng)絡(luò)外部的攻擊者,可以使用身份安全認(rèn)證和密鑰策略[3]。比如自組織的公共密鑰機(jī)制,基于PKI的局部化認(rèn)證機(jī)制,異步分布式密鑰管理策略等。而對網(wǎng)絡(luò)內(nèi)部的攻擊者,認(rèn)證和密鑰無能為力,我們可以采用采用入侵檢測和行為檢測機(jī)制。主要是根據(jù)某個(gè)節(jié)點(diǎn)的行為來判斷節(jié)點(diǎn)是否是攻擊節(jié)點(diǎn)。
DSR[4](Dynamic Routing Protocol,動(dòng)態(tài)源路由協(xié)議)協(xié)議是一個(gè)典型的按需路由協(xié)議,也是最早采用按需路由思想的協(xié)議,DSR是基于源路由概念 的按需自適應(yīng)路由協(xié)議,移動(dòng)節(jié)點(diǎn)需要保留存儲(chǔ)節(jié)點(diǎn)所知的源路由的路由緩沖,當(dāng)新的路由被發(fā)現(xiàn)時(shí),緩沖內(nèi)地條目隨之更新,它的最大特點(diǎn)是使用源路由機(jī)制,每一個(gè)分組的頭部都包含整條路由信息。這種機(jī)制最初被IEEE802.5協(xié)議用在由網(wǎng)橋互連的多個(gè)令牌環(huán)網(wǎng)中尋找路由。DSR借鑒該機(jī)制,并結(jié)合了按需路由思想。DSR協(xié)議使用源路由,采用Cache(緩沖器)存放路由信息,且中間節(jié)點(diǎn)不必存儲(chǔ)轉(zhuǎn)發(fā)分組所需的路由信息,網(wǎng)絡(luò)開銷較少。
DSR路由協(xié)議包括兩個(gè)過程:路由發(fā)現(xiàn)和路由維護(hù)。
路由發(fā)現(xiàn):當(dāng)一個(gè)節(jié)點(diǎn)欲發(fā)送數(shù)據(jù)到目的節(jié)點(diǎn)時(shí),它首先查詢路由緩沖器看是否有到目的節(jié)點(diǎn)的路由,如果有,則采用此路由發(fā)送數(shù)據(jù),如果沒有,源節(jié)點(diǎn)就開始啟動(dòng)路由發(fā)現(xiàn)程序,路由發(fā)送過程使用泛洪路由。
路由維護(hù):DSR支持主動(dòng)應(yīng)答和被動(dòng)應(yīng)答兩種鏈路狀態(tài)監(jiān)測方法,路由維護(hù)通過路由錯(cuò)誤分組和確認(rèn)分組來實(shí)現(xiàn),一旦節(jié)點(diǎn)在發(fā)送數(shù)據(jù)時(shí)發(fā)現(xiàn)需要使用的鄰接鏈路斷開,它發(fā)送“路由出錯(cuò)”分組給這些斷開路由的源節(jié)點(diǎn),源節(jié)點(diǎn)收到分組后,將失效路由從路由表中刪除,沿途轉(zhuǎn)發(fā)“路由出錯(cuò)”的節(jié)點(diǎn)也從自己的路由表中刪除包含該斷開鏈路的所有路由。
除路由錯(cuò)誤分組外,確認(rèn)分組可以用來驗(yàn)證路由連接的正確運(yùn)行,路由維護(hù)過程中源節(jié)點(diǎn)檢測網(wǎng)絡(luò)拓?fù)涞淖兓粲凶兓瘜?dǎo)致源路由中斷,源節(jié)點(diǎn)就嘗試用緩存中的路由信息,如果不成功,就重啟路由發(fā)現(xiàn)過程,為減少路由開銷,節(jié)點(diǎn)緩存學(xué)習(xí)到底或用過的路由信息,并通過隨機(jī)收聽的方式來獲取路由信息。
由前面分析可知,DSR路由協(xié)議在構(gòu)建之初,并未考慮到網(wǎng)絡(luò)的安全性問題。網(wǎng)絡(luò)中的惡意節(jié)點(diǎn)可以利用中間任何環(huán)節(jié)發(fā)出攻擊,是數(shù)據(jù)不能正常傳輸。例如當(dāng)源節(jié)點(diǎn)向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)包時(shí),路由信息被加入到數(shù)據(jù)包的IP選項(xiàng)域,中間節(jié)點(diǎn)根據(jù)IP頭中的源路由信息轉(zhuǎn)發(fā)數(shù)據(jù)包。路由維護(hù)處理鏈路斷開的情況。這種路由情況下所暴露的問題是:在路由發(fā)現(xiàn)階段,中間節(jié)點(diǎn)需要將自己的路徑信息記錄在路由數(shù)據(jù)包中,惡意節(jié)點(diǎn)在這個(gè)過程中可能通過插入錯(cuò)誤的路徑信息,使路由包的傳輸路徑發(fā)生偏離和變更,繞過合法路徑;同時(shí)中間節(jié)點(diǎn)也可能丟棄路由包,使得路由包不能到達(dá)目的節(jié)點(diǎn);惡意節(jié)點(diǎn)可能會(huì)重復(fù)地轉(zhuǎn)發(fā)一個(gè)舊的路由請求包等。
為了提高路由協(xié)議的安全性,減少中間節(jié)點(diǎn)對數(shù)據(jù)的處理和可能的修改,保證數(shù)據(jù)的完整性,可以應(yīng)用單向散列函數(shù)[3]于數(shù)據(jù)中,hash函數(shù)將任意長的數(shù)字串M映射為定長的短數(shù)字串H=h(M),H稱為M的hash值,hash函數(shù)h(M)必須很容易計(jì)算,我們可以驗(yàn)證序列M和M'是否具有相同的hash值,卻不能從H求出來,由于hash函數(shù)這樣的特性,我們可以充分運(yùn)用它來驗(yàn)證我們數(shù)據(jù)傳輸過程中是否改變,但是僅僅通過字串的hash值,則只能用于檢測數(shù)據(jù)的完整性,現(xiàn)在我們在求hash值時(shí)加上密鑰控制,即H=h(k,m),則可以大大增加偽造消息的難度,這樣有密鑰控制的hash值也可用于認(rèn)證。源節(jié)點(diǎn)在數(shù)據(jù)傳輸時(shí)除了對數(shù)據(jù)進(jìn)行加密外,同時(shí)對數(shù)據(jù)進(jìn)行計(jì)算散列函數(shù),但并不傳輸,留在緩沖區(qū)內(nèi),而目的節(jié)點(diǎn)接收到數(shù)據(jù)后先解密,解密成功后計(jì)算數(shù)字摘要,并將數(shù)字摘要通過自己的反向路由回傳給源節(jié)點(diǎn),源節(jié)點(diǎn)會(huì)將接收到的數(shù)據(jù)和自己緩沖區(qū)的數(shù)據(jù)比較,如果是相同的,則繼續(xù)傳輸數(shù)據(jù),若不相同,則換一條路徑傳輸。
對于密鑰,我們采用對稱性加密算法,如每次數(shù)據(jù)傳輸前,先通過DH算法交換密鑰,待密鑰交換成功后再進(jìn)行傳輸,由于是每次傳輸時(shí)才會(huì)產(chǎn)生密鑰,所以不需要每個(gè)節(jié)點(diǎn)記下其他節(jié)點(diǎn)密鑰,在需要是進(jìn)行交換即可。
DH[6]密鑰交換算法是基于數(shù)論中的一個(gè)古典難題:離散對數(shù)問題。離散對數(shù)問題:若 p 是素?cái)?shù),p 已知,考慮方程 y = gx mod p,給定 g,x 求 y是簡單的,但給定 y,g 求 x,即求 x = logg,py mod p,在計(jì)算上是不可行的。
DH 密鑰交換算法的描述如下:已知公開的素?cái)?shù) p 和 p 的本原根 α
1)用戶 A 選擇秘密的 Xa<p,計(jì)算 Ya = αXa mod p,將其發(fā)送給 B。
2)用戶 B 選擇秘密的 Xb<p,計(jì)算 Yb = αXb mod p,將其發(fā)送給 A。
3)A 和 B 分別計(jì)算 Ka = (Yb)Xa mod p 和Kb = (Ya)Xb mod p,就同時(shí)得到了共享的密鑰K=Ka=Kb,然后就可以用 K 進(jìn)行加密傳輸了。DH密鑰交換算法的優(yōu)點(diǎn)在于:雙方在通信前不需要知道任何共享的密鑰,而是通過公開的 p 和 α 協(xié)商出一個(gè)密鑰來進(jìn)行加密通信。
通過前面分析,我們可以將DSR路由協(xié)議如下流程圖進(jìn)行改進(jìn)。

圖1 改進(jìn)的DSR安全路由協(xié)議
本文在DSR路由協(xié)議的基礎(chǔ)上采用對稱加密機(jī)制防止數(shù)據(jù)傳輸時(shí)中間節(jié)點(diǎn)的篡改,添加,并使用密鑰交換算法實(shí)現(xiàn)傳輸前密鑰的交換,以及利用數(shù)字摘要回傳比較方法抵御中間某些知道密鑰的節(jié)點(diǎn)而修改數(shù)據(jù),從而進(jìn)一步保證數(shù)據(jù)的安全性。
[1]鄭相全.無線自組網(wǎng)技術(shù)實(shí)用教程[M].北京:清華大學(xué)出版社.2004,3-4,307
[2]王建新,拉米.移動(dòng)自組網(wǎng)的安全性研究[J].技術(shù)縱橫,2004,5.
[3]姜海,何永明,程時(shí)昕.移動(dòng)Ad Hoc網(wǎng)絡(luò)關(guān)鍵技術(shù)研究[J].中興通訊高級論壇,2001,(7) :61-65
[4]D.B.Johnson and D.A.Maltz,"Dynamic source routing in adhoc wireless network, mobile computing,"In Mobile Computing,edited by Tomasz Imieliski and Hank Korth,Kluwer Academie Publishers,1996,151-181,
[5]蔣睿,胡愛群,等.網(wǎng)絡(luò)信息安全理論與技術(shù)[M].湖北:華中科技大學(xué)出版社,2007.
[6]http://bbs.cisps.org/viewtopic.php?p=64863.