摘要:就Ad hoc網(wǎng)絡(luò)環(huán)境下基于消息認(rèn)證碼的源認(rèn)證技術(shù)進(jìn)行了研究和分析,針對TESLA源認(rèn)證方案給出了一個新的源認(rèn)證引導(dǎo)方案,并采用間接引導(dǎo)方式來適應(yīng)Ad hoc網(wǎng)絡(luò)。實驗數(shù)據(jù)表明,新的引導(dǎo)方案可以在較大程度上減輕系統(tǒng)的負(fù)擔(dān),從而提高認(rèn)證的效率。
關(guān)鍵詞:自組網(wǎng); 組播源認(rèn)證; TESLA; 消息認(rèn)證碼; 無線自組網(wǎng)
中圖法分類號:TP309文獻(xiàn)標(biāo)識碼:A
文章編號:1001-3695(2007)01-0291-03
無線自組網(wǎng)[1~3](Mobile Ad hoc Network, MANET)是一個由幾十到上百個節(jié)點組成,采用無線的通信方式,動態(tài)組網(wǎng)的多跳的移動性對等網(wǎng)絡(luò)。其目的是通過動態(tài)路由和移動管理技術(shù)來傳輸具有服務(wù)質(zhì)量要求的多媒體或信息流。
MANET使用了無線通信技術(shù)來傳輸數(shù)據(jù),因此它具有無線通信系統(tǒng)信道質(zhì)量低、帶寬有限、節(jié)點通信距離有限和能量有限等特點[3,4]。為了充分利用有限的帶寬和計算資源,節(jié)點均以組播的通信方式來執(zhí)行某項任務(wù),因此組播在MANET中就顯得非常重要。目前,國外已經(jīng)提出了幾種針對MANET的組播路由算法和協(xié)議[4~6]。由于MANET大都用于軍事或災(zāi)后重建等,現(xiàn)有的點對點通信模式中的數(shù)據(jù)源認(rèn)證技術(shù)已不能滿足組播傳輸?shù)囊蟆0踩珕栴},尤其是對數(shù)據(jù)源認(rèn)證的問題就非常重要。因為在組播通信中,如果發(fā)送方和所有接收方共享一個密鑰,每一個接收方均可以使用共享密鑰去欺騙其他接收者,因此使用數(shù)字簽名的方案既可以達(dá)到對數(shù)據(jù)源認(rèn)證的目的,還提供數(shù)據(jù)源的非否認(rèn)性。然而,數(shù)字簽名在運算及網(wǎng)絡(luò)通信流量方面的巨大開銷阻礙了該方案的實施,這在MANET中是不允許的[3,7]。
最近,IETF提出了一種新的組播源認(rèn)證技術(shù)——TESLA[8]。它是基于消息認(rèn)證碼的認(rèn)證技術(shù),具有計算量小、帶寬要求低等特點,非常適合MANET。通過改進(jìn)TESLA的引導(dǎo)方式,以可靠組播修復(fù)樹的思想為基礎(chǔ),提出了一種基于引導(dǎo)樹的數(shù)據(jù)源認(rèn)證引導(dǎo)方式,即將由引導(dǎo)所帶來的計算與其他開銷分?jǐn)傇谝龑?dǎo)樹上,以便最大限度地提高引導(dǎo)效率并減輕數(shù)據(jù)源認(rèn)證中發(fā)送方的負(fù)擔(dān),從而提高認(rèn)證效率。
1TESLA工作原理及其使用的引導(dǎo)方式
對于每個新加入的成員來說,必須用一個經(jīng)過數(shù)字簽名的數(shù)據(jù)包對其進(jìn)行引導(dǎo)。這個簽名的數(shù)據(jù)包主要包含以下關(guān)于時間間隔和密鑰鏈信息:一個特定的時間間隔Tj開始時間以及時間間隔的標(biāo)記Ij;時間間隔的持續(xù)時間Tint;密鑰的公開延遲時間間隔d(單位時間間隔);一個密鑰鏈中密鑰Ki(i 2間接引導(dǎo)方式 由于MANET所固有的特點,就必須盡可能地減少由認(rèn)證帶來的計算和帶寬開銷。本文使用了類似可靠組播修復(fù)樹[11]的方式來進(jìn)行新加入成員的引導(dǎo),稱其為引導(dǎo)樹,這種方式也稱為間接引導(dǎo)(Indirect Bootstrap,IDB)。也就是,在整個移動節(jié)點組成的組播樹中,選擇某些節(jié)點來作為輔助的引導(dǎo)節(jié)點(Bootstrap Node,BN),功能與發(fā)送方的引導(dǎo)相同。具體過程如下:發(fā)送方使用數(shù)字簽名方案發(fā)送相應(yīng)的引導(dǎo)數(shù)據(jù)給有引導(dǎo)請求的引導(dǎo)節(jié)點。引導(dǎo)節(jié)點驗證發(fā)送方的數(shù)據(jù),然后同樣使用數(shù)字簽名方案在其所維護(hù)的分組中廣播引導(dǎo)數(shù)據(jù),分組中的成員驗證數(shù)據(jù)從而完成引導(dǎo),具體過程如下: (1)發(fā)送方(Sender)通過安全的方式,將引導(dǎo)數(shù)據(jù)發(fā)送給引導(dǎo)節(jié)點(BN)。 (2)BN解密引導(dǎo)數(shù)據(jù)并進(jìn)行驗證。 (3)BN計算引導(dǎo)數(shù)據(jù)包以及散列值,并使用私鑰對其進(jìn)行簽名,然后廣播引導(dǎo)數(shù)據(jù)和簽名。 (4)BN所管轄的分組新加入的成員得到引導(dǎo)數(shù)據(jù)并進(jìn)行驗證,從而完成對其源認(rèn)證的引導(dǎo)過程。 解決問題的關(guān)鍵是如何構(gòu)建引導(dǎo)樹。在組播的初始階段,隨著成員的加入,發(fā)送者根據(jù)通信組的規(guī)模以及網(wǎng)絡(luò)分布選擇網(wǎng)絡(luò)條件和位置比較好的多個主機(jī)作為輔助的引導(dǎo)節(jié)點。在組播樹完成后,發(fā)送者通過組播相應(yīng)的信息來觸發(fā)引導(dǎo)樹的構(gòu)建。這些信息包含了引導(dǎo)廣播間隔(Bootstrap Advertisement Interval, BAI),BAI確定了在引導(dǎo)節(jié)點發(fā)送引導(dǎo)廣播(BA)的速率。通信組中的輔助成員也就是引導(dǎo)節(jié)點接收到這些消息后,開始按照它所給出的發(fā)送速率周期性地發(fā)送引導(dǎo)廣播,這個發(fā)送包括發(fā)送者本身。在通信群組不再允許新成員加入時,包括發(fā)送者,所有的引導(dǎo)節(jié)點將停止廣播BA。當(dāng)一個非引導(dǎo)節(jié)點成員接收到BAI后,它等待一個BA偵聽間隔(Listen Interval,BALI)接收BA信息。BALI由BALI=min((3×BAI),60s)決定。在BALI結(jié)束時,假如還沒有接收到BA消息,那么接收者繼續(xù)偵聽下一個BALI;當(dāng)接收者獲得一個或者多個BA消息后,整個偵聽過程結(jié)束。在這多個BA消息中,接收者應(yīng)該選擇最適合自己的引導(dǎo)節(jié)點。選擇的標(biāo)準(zhǔn)是從接收成員到引導(dǎo)節(jié)點,TTL距離最小,并且擁有最多的成員數(shù)量。一旦選擇了引導(dǎo)節(jié)點,接收者發(fā)送給所選擇BN一個單播引導(dǎo)綁定(Bootstrap Bind, BB)消息。在接收到BB后,引導(dǎo)節(jié)點通過單播的方式發(fā)送接收或者拒絕該成員的消息。拒絕消息的發(fā)送是因為引導(dǎo)節(jié)點不再接收成員或者它要放棄自己的引導(dǎo)責(zé)任。在發(fā)送了綁定消息后,接收方等待一定的時間間隔來接收引導(dǎo)節(jié)點的響應(yīng),如果收到拒絕消息后,它將從BA消息中選擇其他的引導(dǎo)節(jié)點并發(fā)送BB,或者重新偵聽已發(fā)現(xiàn)更好的引導(dǎo)節(jié)點。如果收到接收消息,則可以進(jìn)行引導(dǎo)過程。 由于引導(dǎo)節(jié)點狀態(tài)的變化,對于引導(dǎo)樹可靠有效的管理非常重要。在管理過程中,有以下幾種消息被用到: (1)Hello。它是一個在整個通信組中廣播的消息,由發(fā)送者發(fā)送,且TTL被限定在可到達(dá)最遠(yuǎn)引導(dǎo)節(jié)點。 (2)HelloUnicast。發(fā)送者發(fā)送給特定引導(dǎo)節(jié)點的單播Hello消息。 (3)ACK。引導(dǎo)節(jié)點向發(fā)送者發(fā)送的單播控制消息。 發(fā)送者周期性地向通信組組播Hello消息。Hello消息的作用是告訴引導(dǎo)節(jié)點,發(fā)送者依然可以接收新的成員。假如在一兩個Hello消息周期后,引導(dǎo)節(jié)點沒有接收到Hello消息,那么引導(dǎo)節(jié)點在其下一個ACK消息中設(shè)置標(biāo)志以表示其未收到Hello消息,如果兩個如此的ACK消息沒有響應(yīng),這個引導(dǎo)節(jié)點將不再進(jìn)行新加入成員源認(rèn)證的引導(dǎo)。如果發(fā)送者接收到了包含有標(biāo)志(沒有接收到Hello)的ACK消息,它將立即發(fā)送一個HelloUnicast消息告訴引導(dǎo)節(jié)點,還可以接收新的成員。同時,發(fā)送者也使用下列機(jī)制來監(jiān)控引導(dǎo)節(jié)點。在每個確認(rèn)周期內(nèi),每個引導(dǎo)節(jié)點必須至少發(fā)送一個ACK消息。如果發(fā)送者在一個確認(rèn)周期后,仍然沒有接收到某個引導(dǎo)節(jié)點的ACK消息。引導(dǎo)節(jié)點將把這個成員增加到一個列表中,在下一個Hello消息的構(gòu)建中將列表加入。引導(dǎo)節(jié)點發(fā)現(xiàn)它自己在列表中,將立即向引導(dǎo)節(jié)點發(fā)送ACK消息。如果如此的上述Hello消息超過兩次,發(fā)送者還沒有接收到引導(dǎo)消息的ACK消息,它將重新選擇一個新的引導(dǎo)節(jié)點。 在引導(dǎo)節(jié)點的管理中,為了節(jié)省帶寬,發(fā)送者應(yīng)該以較小的TTL值來組播引導(dǎo)樹控制消息。然而,為了能夠使所有引導(dǎo)節(jié)點接收到管理信息,TTL值又要相對較大。因此,選擇一個合適的TTL對于引導(dǎo)的效率有很大的影響。在初始階段,每個引導(dǎo)節(jié)點根據(jù)接收到的發(fā)送方信息得到TTL值,并將其ACK消息發(fā)給發(fā)送者。發(fā)送者使用最大的TTL值作為管理消息的TTL。在引導(dǎo)節(jié)點與發(fā)送者路徑發(fā)生變化后,相應(yīng)的TTL值也應(yīng)當(dāng)變化。下面給出了調(diào)整TTL值的機(jī)制: (1)當(dāng)發(fā)送者管理消息TTL值不夠時,某些引導(dǎo)節(jié)點將不能接收到Hello消息。這些引導(dǎo)節(jié)點將通過ACK來匯報相應(yīng)的情況。 (2)發(fā)送者將通過單播HelloUnicast來響應(yīng)這些ACK消息,以告知引導(dǎo)節(jié)點其狀態(tài)。然后在下一個廣播Hello消息中增加TTL值。 這兩個步驟連續(xù)執(zhí)行直到所有的引導(dǎo)節(jié)點在其發(fā)送的ACK消息中不再包含TTL值過小的標(biāo)志。另外,在引導(dǎo)節(jié)點的ACK消息中,如果發(fā)送者發(fā)現(xiàn)目前所使用的TTL值偏大,它將減少TTL值以節(jié)省帶寬。 通過使用新的引導(dǎo)機(jī)制,能夠在很大程度上降低由于對新加入成員源認(rèn)證引導(dǎo)在發(fā)送方所帶來的負(fù)擔(dān),這一點可以在實驗結(jié)果中得以驗證,從而提高組播系統(tǒng)瓶頸資源的利用效率。 3試驗環(huán)境和性能評價指標(biāo) 在TESLA源認(rèn)證試驗中,使用了基于離散事件的NS2[12]網(wǎng)絡(luò)模擬器,并且使用了CMU大學(xué)的無線擴(kuò)展模塊;使用了IEEE 802.11分布式協(xié)調(diào)功能作為NS2的介質(zhì)訪問控制協(xié)議;每個節(jié)點的最遠(yuǎn)傳輸距離為150m,帶寬為1.5Mbps;通信組的大小為100;試驗使用MAODV(Multicast Ad hoc OnDemand Distance Vector)協(xié)議[4]作為MANET組播路由協(xié)議。 每次試驗根據(jù)所使用的時間同步方式的不同分為兩種引導(dǎo)方式,即直接引導(dǎo)方式和間接引導(dǎo)方式。對于直接引導(dǎo)來說,當(dāng)成員發(fā)送請求數(shù)據(jù)包后,它設(shè)置一個計數(shù)器以監(jiān)視引導(dǎo)過程,如果在計數(shù)器溢出后成員依然沒有獲得響應(yīng)數(shù)據(jù)包,那么它將重新發(fā)出請求數(shù)據(jù)包并且復(fù)位計數(shù)器,試驗中將計數(shù)器設(shè)為0.5s。成員請求數(shù)據(jù)包最多發(fā)送次數(shù)為10次。對于間接時間同步,相當(dāng)于對于接收方間接的引導(dǎo)。假設(shè)成員加入后已經(jīng)獲得了引導(dǎo)信息,僅需要的就是一個時間的同步信息,這可以根據(jù)不同的第三方時間服務(wù)器而采用不同的方法。 數(shù)據(jù)載荷的認(rèn)證頭主要包含了密鑰公開位、間隔ID、序列號以及數(shù)據(jù)包頭和數(shù)據(jù)內(nèi)容的MAC值。直接時間同步的請求數(shù)據(jù)包頭包含源地址和Nonce。響應(yīng)數(shù)據(jù)包包含了源地址和目的地址、發(fā)送的時間、響應(yīng)序列號以及簽名。 圖1給出了接收方源認(rèn)證緩存區(qū)的數(shù)據(jù)結(jié)構(gòu)。 圖1接收方源認(rèn)證緩存區(qū)的數(shù)據(jù)結(jié)構(gòu) 我們定義了以下幾個主要的性能評價指標(biāo)來評估TESLA和改進(jìn)型組播源認(rèn)證方案的性能: (1)緩沖比(Buffered/Received)。它被定義為成員所緩存的數(shù)據(jù)包與接收到的數(shù)據(jù)包的比值。緩沖比所反映的其實就是在所有接收到的數(shù)據(jù)包中,滿足Tesla源認(rèn)證安全條件數(shù)據(jù)包的比重。這個主要是由網(wǎng)絡(luò)延遲和初始的一些引導(dǎo)信息所決定的。 (2)認(rèn)證比(Authenticated/Received)。它被定義為成員進(jìn)行源認(rèn)證并且提交給應(yīng)用的數(shù)據(jù)包與所接收到的數(shù)據(jù)包的比值。實質(zhì)上,認(rèn)證比也就是在成員所接收到的數(shù)據(jù)包中通過源認(rèn)證并提交給應(yīng)用的數(shù)據(jù)包的比重。 (3)丟棄比(Droped/Received)。它被定義為成員所丟棄的數(shù)據(jù)包與其所接收的數(shù)據(jù)包的比值,丟棄比等于1減去認(rèn)證比。 4實驗結(jié)果及其分析 首先描述一下實驗具體參數(shù)的設(shè)置。實驗網(wǎng)絡(luò)包含了100個成員和1個發(fā)送者的通信組;發(fā)送數(shù)據(jù)包的大小為64Bytes;發(fā)送方以固定速率10 Packets/s發(fā)送數(shù)據(jù)包。當(dāng)發(fā)送者想要發(fā)送數(shù)據(jù)時,它通知路由算法對所使用的組播地址建立路由關(guān)系。每次模擬執(zhí)行300s。在模擬中使用了不同的模擬間隔時間Tint,分別為0.1s,0.2s,0.5s,并且對于密鑰的公開,也使用了不同的延遲間隔d,分別為1,2,3,4。每次根據(jù)不同的引導(dǎo)方式分為兩次執(zhí)行。圖2中DB表示直接引導(dǎo)方式,IDB表示間接引導(dǎo)方式。 圖2給出了在發(fā)送速率為每秒十個數(shù)據(jù)包、一個發(fā)送者的情況下,在不同時間同步方式下的認(rèn)證比、丟棄比以及緩沖比。由圖2可知,間隔時間越大,認(rèn)證所花費的時間越長,并且緩存時間和認(rèn)證延遲越大。同時,接收數(shù)據(jù)包滿足TESLA安全條件的可能性就越高。在間接引導(dǎo)方式中,比較合適的密鑰公開延遲間隔在10 Packets/s的值應(yīng)該為2。圖2中的數(shù)據(jù)也表明,間接的引導(dǎo)方式的源認(rèn)證對比與直接引導(dǎo)方式來說,在三個性能指標(biāo)方面均取得了較好的性能。前者相比較于平均的性能來說,提高了大約百分之二十左右。在當(dāng)前的發(fā)送速率下,所有被緩沖的數(shù)據(jù)包幾乎均得到了認(rèn)證,從而表明所有通信組的成員幾乎都接收到了大多數(shù)攜帶公開密鑰的數(shù)據(jù)包。 5結(jié)束語 本文詳細(xì)地討論和分析了無線自組網(wǎng)的組播源認(rèn)證的問題,并描述了TESLA源認(rèn)證的基本原理還介紹了它所采用的引導(dǎo)方式。以可靠組播修復(fù)樹的思想為基礎(chǔ),提出了一種基于引導(dǎo)樹的數(shù)據(jù)源認(rèn)證引導(dǎo)方式,將引導(dǎo)所帶來的計算和其他開銷分?jǐn)傇谡麄€MANET所形成的引導(dǎo)樹上。實驗數(shù)據(jù)表明,新的組播源認(rèn)證引導(dǎo)方式在動態(tài)的Ad hoc網(wǎng)絡(luò)環(huán)境下,比TESLA所采用的直接引導(dǎo)方式,不論是引導(dǎo)效率、還是認(rèn)證效率均有較大程度的提高。 圖2在發(fā)送速率為10 Packets/s下的三種性能指標(biāo)的實驗結(jié)果 參考文獻(xiàn): [1]L Zhou, Z J Haas. Securing Ad hoc Networks[J]. IEEE Network Magazine,1999,13(6):2430. [2]S Jacobs, M S Corson. MANET Authentication Architecture[R]. IETF,1998. [3]JP Hubaux, L Buttyan, S Capkun. The Quest for Security in Mobile Ad hoc Networks[C]. Proceedings of ACM Symposium on Mobile Ad hoc Networking and Computing (MOBIHOC), 2001. [4]E Royer, C E Perkins. Multicast Operation of Ad hoc OnDemand Distance Vector Routing Protocol[C]. Seattle, WA: Proceedings of ACM/IEEE International Conference on Mobile Computing and Networking (MobiCom), 1999.201218. [5]SJ Lee, W Su, M Gerla. On Demand Multicast Routing Protocol (ODMRP) for Ad hoc Networks[R]. Draftietfmanetodmrp01.txt,199906. [6]P Sinha, R Sivakumar, V Bharghavan. MCEDAR: Multicast Core Extraction Distributed Ad hoc Routing[C]. Proceedings of the Wireless Communications and Networking Conference, 1999. [7]Kruus P. A Survey of Multicast Security Issues and Architectures[C]. VA: The 21st National Information Systems Security Conf. Rlington, 1998. [8]Perrig A, Canetti R, Briscoe B. TESLA: Multicast Source Authentication Transform[EB/OL]. http://www.securemulticast.org/ msecbof5Perrigteslaietfbof.PDF, 2000. [9]A Perrig, R Canetti, D Tygar, et al. The TESLA Broadcast Authentication Protocol[J]. RSA CryptoBytes, 2002, 5(2):213. [10]A Perrig, R Canetti, J D Tygar,et al. Efficient Authentication and Signing of Multicast Streams over Lossy Channels[C]. IEEE Symposium on Security and Privacy, 2000. [11]Maihofer C, Rothermel K. Optimal Branching Factor for Treebased Reliable Multicast Protocols[J]. Computer Communications, 2002,25(11):10181027. [12]Network Simulator, ns version 2[EB/OL]. http://ns2.netlab.cse.yzu.edu.tw/,200312. 作者簡介: 趙安軍(1975),男,陜西大荔人,講師,博士后,主要研究方向為網(wǎng)絡(luò)安全和分布式網(wǎng)絡(luò)計算; 徐邦海(1974),男,重慶璧山人,博士研究生,主要研究方向為Ad hoc網(wǎng)絡(luò)安全以及組播安全; 郭雷(1954),男,山東人,教授,博導(dǎo),博士,主要研究方向為圖像處理和信息安全。 注:本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文