《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信与网络 > 业界动态 > 移动自组网络路由协议的安全性研究

移动自组网络路由协议的安全性研究

2008-04-09
作者:张险峰,蒋 凡

  摘 要: 分析了針對移動自組網(wǎng)" title="移動自組網(wǎng)">移動自組網(wǎng)絡(luò)(MANET)路由協(xié)議" title="路由協(xié)議">路由協(xié)議的攻擊方法,并基于優(yōu)化鏈路狀態(tài)路由協(xié)議(OLSR),提出了一種移動自組網(wǎng)絡(luò)路由協(xié)議的安全解決方案。實驗表明,增加安全模塊后對協(xié)議性能的影響在可接受的范圍之內(nèi)。
  關(guān)鍵詞: 移動Ad Hoc網(wǎng)絡(luò) 路由協(xié)議 網(wǎng)絡(luò)安全


1 Ad Hoc網(wǎng)絡(luò)的路由特點及安全問題

  移動自組網(wǎng)絡(luò)是一種新型的無線移動網(wǎng)絡(luò)。每個移動節(jié)點" title="移動節(jié)點">移動節(jié)點受其無線發(fā)射距離的限制,必須借助其他移動節(jié)點的轉(zhuǎn)發(fā)才能將數(shù)據(jù)包傳送到目的移動節(jié)點。因此,每個移動節(jié)點既充當(dāng)主機又充當(dāng)路由器。由于移動節(jié)點之間的連接不斷動態(tài)改變,所以,傳統(tǒng)固定網(wǎng)絡(luò)上的路由協(xié)議無法滿足其特殊要求,需要專門的路由協(xié)議來實現(xiàn)移動自組網(wǎng)中移動節(jié)點間的信息交換。
  目前,移動自組網(wǎng)的路由協(xié)議主要分為兩類:表驅(qū)動路由協(xié)議(如OLSR協(xié)議)和按需路由協(xié)議(如DSR和AODV協(xié)議)。這兩類路由協(xié)議都沒有考慮到安全性問題,而事實上由于Ad Hoc網(wǎng)絡(luò)所具有的特性,其面臨的安全威脅遠(yuǎn)大于固定網(wǎng)絡(luò),主要表現(xiàn)在:
  (1)攻擊者很容易通過無線鏈路竊聽、假冒、篡改和轉(zhuǎn)發(fā)在其上傳輸?shù)男畔ⅰ?BR>  (2)由于移動結(jié)點有可能漫游到敵對環(huán)境中(例如敵戰(zhàn)區(qū)),所以惡意攻擊不僅來自網(wǎng)絡(luò)的外部,而且也有可能來自內(nèi)部被攻破的移動節(jié)點。
  (3)由于MANET拓?fù)浣Y(jié)構(gòu)" title="拓?fù)浣Y(jié)構(gòu)">拓?fù)浣Y(jié)構(gòu)和移動節(jié)點數(shù)目不斷變化,所以,移動節(jié)點之間的信任關(guān)系也經(jīng)常改變,特別是檢測出被攻破移動節(jié)點以后,其他移動節(jié)點對它們的信任也隨之消失。
2 Ad Hoc路由協(xié)議的攻擊方式
  現(xiàn)有的用于Ad Hoc網(wǎng)絡(luò)的路由協(xié)議面臨著幾種不同方式的攻擊。通常在固定網(wǎng)絡(luò)上存在的攻擊方法同樣存在于移動自組網(wǎng)絡(luò)中,而由于Ad Hoc在安全方面的脆弱性,這些攻擊甚至變得更加容易和有效。
  對網(wǎng)絡(luò)安全的攻擊通常分為被動和主動兩種,而針對路由協(xié)議的攻擊主要為主動攻擊,這些攻擊可以劃為四類:偽裝、篡改或重放消息、偽造和拒絕服務(wù)(DoS)[1]。下面分別討論以上四種方法對Ad Hoc路由協(xié)議的攻擊。
2.1 偽裝
  惡意節(jié)點可以修改自己發(fā)出的消息包中的MAC或IP地址,偽裝成別的節(jié)點,從而影響和破壞網(wǎng)絡(luò)中其他節(jié)點的路由生成與維護。下面就OLSR協(xié)議舉例說明偽裝是如何形成路由環(huán)路從而破壞Ad Hoc路由的,AODV協(xié)議與DSR協(xié)議也存在著類似的情況。
  偽裝攻擊方式示例圖如圖1所示。圖中目的節(jié)點為X,帶箭頭的直線指向該節(jié)點通往X的路由的下一跳節(jié)點。


  M是惡意節(jié)點,由于OLSR是鏈路狀態(tài)協(xié)議,M知道當(dāng)前網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)以及各節(jié)點的路由情況,它可以采取如下的方法使ABCD四個節(jié)點形成一個環(huán)路,從而都不能到達目標(biāo)節(jié)點X。在圖1(a)中,M首先將自己的IP地址改成A的,并遠(yuǎn)離A而向D靠近,并且在發(fā)給D的拓?fù)湎?tc_message)中聲稱目標(biāo)節(jié)點X就是自己的下一跳,因此D就將自己通往X的下一跳路由由C改為A,如圖1(b)。然后M將自己的地址改為D,以同樣的方式欺騙C,將自己的下一跳改為D,從而形成了如圖1(c)顯示的環(huán)路,使ABCD到X的路由中斷。
2.2 篡改或重放消息
  惡意節(jié)點可以通過修改路由協(xié)議中的消息包內(nèi)容來錯誤定向自組網(wǎng)中某節(jié)點通往目標(biāo)節(jié)點的路由。節(jié)點M惡意應(yīng)答示例圖如圖2所示。在圖2(a)中,惡意節(jié)點M收到一條B轉(zhuǎn)發(fā)的A要求到D路由的RREQ消息,然后它向B發(fā)送一條RREP消息,此消息包含了比D發(fā)出的RREP消息大得多的序列號。當(dāng)B同樣接收到D發(fā)回的真正的RREP消息時,由于其序列號較小而將其丟棄,從而使B將自己通往D的下一跳改為M如圖2(b)所示。通常惡意節(jié)點可以通過修改路由消息的序列號或者路由消息的跳數(shù)來達到此目的。


2.3 偽造
  惡意節(jié)點可以通過偽造虛假的路由消息來攻擊Ad Hoc網(wǎng)絡(luò)中的各節(jié)點,使之錯誤路由或造成DoS。例如在一些按需路由協(xié)議(如AODV、DSR中),當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,節(jié)點通過發(fā)送一種路由錯誤消息來重新建造路由。如果路由協(xié)議屬于鏈路狀態(tài)協(xié)議(如OLSR),惡意節(jié)點可以偽造虛假的tc_message,使節(jié)點得到錯誤的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),從而計算出錯誤的路由。
2.4 拒絕服務(wù)
  上節(jié)已經(jīng)提到通過偽造路由錯誤消息來實現(xiàn)拒絕服務(wù)攻擊,下面說明在源路徑選路的路由協(xié)議中如何進行DoS攻擊。這種攻擊通常通過修改消息包頭部的源路由來實現(xiàn)。拒絕服務(wù)攻擊方式示例圖如圖3所示。


  源節(jié)點A到達目的節(jié)點的路由為{A,B,M,C,D,E}。假設(shè)惡意節(jié)點M要實現(xiàn)DoS攻擊,它只需修改A發(fā)出的到達它的數(shù)據(jù)包頭部的源路由信息(比如刪除D節(jié)點),再轉(zhuǎn)發(fā)給C。而C由于在包頭部的源路由信息中找不到下一跳D,就向上游發(fā)出一個路由錯誤消息,這條消息首先被M接收到,它只需將其丟棄,這樣A收不到該消息就不會重新尋找路由,從而實現(xiàn)了拒絕服務(wù)攻擊。
3 安全解決方案
  Ad Hoc網(wǎng)絡(luò)的安全需要主要集中在路由消息的保密性、完整性(即不可被篡改)、網(wǎng)內(nèi)節(jié)點的鑒別(保證惡意節(jié)點不能假冒合法節(jié)點)以及網(wǎng)絡(luò)路由的可用性,這主要包括保證路由的正確性和路由協(xié)議的運行性能,防止DoS攻擊。
  一個好的安全方案可以使Ad Hoc路由協(xié)議避免前面所列舉的各種攻擊,提供可靠的路由安全服務(wù),阻止任何惡意節(jié)點對網(wǎng)絡(luò)中各節(jié)點路由的生成與維護。具體需要做到以下幾點:
  (1)路由簽名不會被假冒;
  (2)被偽造過的路由消息不被協(xié)議接受;
  (3)路由消息在傳輸過程中不能被非法修改;
  (4)防止被惡意攻擊造成路由環(huán)路;
  (5)抵御拒絕服務(wù)攻擊;
  (6)未被認(rèn)證的節(jié)點被排除在路由發(fā)現(xiàn)和計算之外。
  已有文獻對安全路由算法進行了研究,并給出關(guān)于滿足以上幾點安全方案的建議[2~5]。本文在OLSR協(xié)議的基礎(chǔ)上,設(shè)計增加了相應(yīng)的安全機制,并通過仿真試驗進行性能測試。
3.1 OLSR協(xié)議簡介
  優(yōu)化鏈路狀態(tài)路由協(xié)議OLSR(Optimized Link State Routing)是一個表驅(qū)動的主動Ad Hoc路由協(xié)議,已經(jīng)被IETF接受為標(biāo)準(zhǔn)(RFC 3626)。OLSR采用UDP協(xié)議進行通信,采用統(tǒng)一的包格式,具有可擴展性。OLSR協(xié)議并未采用安全機制,在RFC3626中提到了本協(xié)議可能面臨的安全問題,主要包括以下三個方面:
  (1)機密性。作為一個主動的路由協(xié)議,OLSR周期性地傳播拓?fù)湫畔?,但由于Ad Hoc使用了不安全的無線鏈路,其控制消息很容易被監(jiān)聽,從而暴露了網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。而在某些情況下,這種拓?fù)湫畔⑹切枰C艿?,因此需要將控制消息加密,只有?jīng)過授權(quán)的節(jié)點才能讀取和解析。
  (2)完整性。在OLSR中,所有節(jié)點通過轉(zhuǎn)發(fā)hello消息(hello_message)和tc_message為網(wǎng)絡(luò)提供拓?fù)湫畔ⅰ5钱?dāng)某節(jié)點發(fā)生故障或惡意節(jié)點對網(wǎng)絡(luò)進行攻擊時,會提供錯誤的消息,從而破壞完整性,影響網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的生成,因此需要對消息進行安全認(rèn)證。為解決此問題,可以利用數(shù)字簽名等信息安全技術(shù)來保證路由消息的完整性。
  (3)節(jié)點惟一性。OLSR并沒有對節(jié)點地址做出任何假定,這就意味著可能會存在多個節(jié)點具有相同的IP地址或一個節(jié)點具有多個IP地址的情況,這給系統(tǒng)的身份認(rèn)證帶來很大麻煩。
3.2 安全的OLSR
  為解決上述安全問題,必須在Ad Hoc網(wǎng)絡(luò)中引入路由安全機制,包括使用公開密鑰密碼學(xué)的方法(如RSA算法)提供簽名和認(rèn)證保證其完整性, 以及采用DES等加密算法對消息內(nèi)容加密傳輸以保證機密性。系統(tǒng)需要一個認(rèn)證機構(gòu),該機構(gòu)可以是一個被所有節(jié)點信任的認(rèn)證中心(CA),也可以利用門檻加密算法讓網(wǎng)絡(luò)中的n個節(jié)點聯(lián)合認(rèn)證[6],將這個認(rèn)證服務(wù)機構(gòu)記為server-T。server-T將自己的公鑰" title="公鑰">公鑰eT分發(fā)給所有節(jié)點,而每個節(jié)點K必須向server-T申請一對認(rèn)證密鑰,包括公鑰eK和私鑰dK以及系統(tǒng)各成員共享的數(shù)據(jù)加密密鑰sK,并且節(jié)點必須存儲著其他各節(jié)點的公鑰。下面詳細(xì)敘述安全路由協(xié)議的工作過程。
  (1)節(jié)點申請加入網(wǎng)絡(luò)
  任何節(jié)點在加入網(wǎng)絡(luò)之前必須向server-T提出注冊申請,server-T收到申請后,檢查其IP,如果與網(wǎng)絡(luò)中已有的IP沖突則拒絕申請(這解決了節(jié)點身份惟一性的問題)。如果申請成功,則erver-T返回給申請者一對認(rèn)證密鑰(dK,eK)供其使用,并記錄下將該節(jié)點的IP和對應(yīng)的公鑰eT,同時將系統(tǒng)公用的DES加密密鑰sK提供給申請者。
  (2)節(jié)點生成協(xié)議消息
  節(jié)點生成OLSR協(xié)議安全報文,操作如下:
  ①節(jié)點使用DES算法,用密鑰sK加密消息(hello_message或tc_message),并在報文中只加入加密后的消息,從而保證了消息的機密性;
 ?、谑褂肦SA算法用自己的私鑰dK加密本節(jié)點IP,得到待認(rèn)證的簽名Originator Address Certification(OAC)=(IP)dK mod n;
 ?、郯l(fā)送者必須填寫Sender Address Certification(SAC)域,這里SAC=OAC。
  (3)節(jié)點接收和轉(zhuǎn)發(fā)報文
  節(jié)點在收到一個協(xié)議報文后,進行如下操作:
  ①檢查報文發(fā)送者的身份,根據(jù)IP首部提供的發(fā)送者IPS,查找出本地存放的該IP對應(yīng)的公鑰eS,通過計算IPS=(SAC)eS mod n驗證發(fā)送者的身份,若相等則進行下一步,否則丟棄該報文。
 ?、卺槍笪闹械拿恳粭l消息,根據(jù)OAC驗證其產(chǎn)生者的真?zhèn)?,先找到Originator Address對應(yīng)的公鑰eOA,再計算 Originator Address=(OAC)eOA mod n,如相等則轉(zhuǎn)至③,不等則丟棄該消息。
 ?、墼隍炞C完消息的來源后,使用共享的DES密鑰sK解密被加密的消息后,再作出相應(yīng)的處理。
  ④節(jié)點在處理完報文后,如果需要轉(zhuǎn)發(fā),首先計算自己的身份簽名,并取代原來的SAC域,報文的其余部分不變(除了根據(jù)OLSR協(xié)議本身的要求做出修改),將新的報文轉(zhuǎn)發(fā)。
  (4)系統(tǒng)密鑰的維護與更新
 ?、訇P(guān)于系統(tǒng)共享的DES密鑰
  本密鑰sK由系統(tǒng)安全服務(wù)機構(gòu)server-T產(chǎn)生、維護和更新。系統(tǒng)中各節(jié)點都同步保存著一份副本,用于傳輸消息時的加密,以防止消息被監(jiān)聽解析后,暴露網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)。server-T定期或根據(jù)需要(如密鑰泄漏)更新sK,并用自己的RSA私鑰dT對sK簽名后(CsK=sKdT mod n),再將(sK,CsK)發(fā)送給各節(jié)點,節(jié)點收到后用server-T的公鑰eT驗證簽名后更新自己保存的sK。
 ?、陉P(guān)于節(jié)點認(rèn)證密鑰
  每個節(jié)點K在獲準(zhǔn)加入Ad Hoc網(wǎng)絡(luò)時,都從server-T處得到一對認(rèn)證密鑰(dK,eK),同時server-T也記下該節(jié)點的(IP,eK)對,并發(fā)送給其他節(jié)點。所有節(jié)點都在本地保存著一張(IP,eK)表,當(dāng)收到屬于某個節(jié)點的消息時,在該表中找出對應(yīng)的eK進行驗證。
  server-T定期將自己的(IP,eK)表廣播并附上自己的簽名,各個節(jié)點在收到該表并驗證簽名后更新本地的(IP,eK)表。
3.3 協(xié)議性能影響分析
  在OLSR協(xié)議中加入安全模塊后,會對性能造成一定影響,主要因為對報文加解密需要耗費時間。因此在NS-2中進行了該協(xié)議的仿真試驗,主要測試增加了安全機制后給路由協(xié)議帶來的性能影響。
  在實驗中,分別驗證Secure OLSR、OLSR、DSR路由協(xié)議的包傳輸率性能。所有節(jié)點的初始位置都是隨機的,然后生成33個UDP連接。每個連接都申請了25kbps的帶寬資源,并且在一定的時刻開始使用建成的連接發(fā)送數(shù)據(jù),發(fā)送速率為20kbps。所有節(jié)點隨機移動。丟包率比較如圖4所示。


  實驗表明Secure OLSR協(xié)議比OLSR協(xié)議性能下降約10%,與DSR大致相當(dāng),基本符合移動Ad hoc路由協(xié)議的性能要求。
  本文在總結(jié)分析了各種對移動自組網(wǎng)絡(luò)路由協(xié)議的攻擊方式,針對一種典型的表驅(qū)動型路由協(xié)議——OLSR協(xié)議,提出了協(xié)議安全解決方案,提高了移動自組網(wǎng)路由的安全性。并通過實驗證明其滿足網(wǎng)絡(luò)的性能要求。
參考文獻
1 Stallings W.Cryptography and network security:Principles and practice.Prentice Hall,1998
2 Sanzgiri K,Dahilly B,Leviney B N et al.A secure routing protocol for Ad Hoc networks.In:Proceedings of the 10th IEEE International conference on network protocols,2002
3 Hu Y C,Perrig A,Johnson D B.Ariadne:A secure on demand routing protocol for Ad Hoc networks.In:MobiCom′02, Atlanta,GA,2002
4 Zapata M G,Asokan N.Securing Ad Hoc Routing Protocols. In:1st ACM WiSe,Atlanta,GA,2002
5 Papadimitratos P,Haas Z J.Secure link state routing for mobile Ad Hoc networks.In:2003 symposium on applications and the Internet workshops(SAINT 2003),Orlando,F(xiàn)L,USA, 2003
6 Zhou L,Haas Z J.Securing Ad Hoc networks.IEEE Network Magazine,1999;13(6)

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。

相關(guān)內(nèi)容