孔 飛,吳學(xué)文,宋亞男
(1.河海大學(xué) 計(jì)算機(jī)與信息學(xué)院,江蘇 南京211100 2.南京郵電大學(xué) 計(jì)算機(jī)、軟件學(xué)院,江蘇 南京 210003)
移動(dòng)Ad Hoc網(wǎng)絡(luò)是一種無中心、自組織、多跳、對等式的無線移動(dòng)通信網(wǎng)絡(luò),可實(shí)現(xiàn)快速靈活的布網(wǎng),隨時(shí)隨地的通信,廣泛應(yīng)用于軍事、交通、救災(zāi)、物聯(lián)網(wǎng)等領(lǐng)域[1]。然而,安全問題一直是移動(dòng)Ad Hoc網(wǎng)絡(luò)面臨的巨大難題,由于Ad Hoc網(wǎng)絡(luò)無中心、自組織、多跳的特點(diǎn),同時(shí)無線信道的開放性,使惡意節(jié)點(diǎn)有了可乘之機(jī),其中路由安全和數(shù)據(jù)安全問題尤為突顯。
在移動(dòng)Ad Hoc網(wǎng)絡(luò)中,網(wǎng)絡(luò)由節(jié)點(diǎn)自組織,節(jié)點(diǎn)既是主機(jī)又是路由器,節(jié)點(diǎn)間需要相互協(xié)作建立多跳路由實(shí)現(xiàn)數(shù)據(jù)通信[2]。因此,路由安全依賴于各節(jié)點(diǎn)都能夠合理正常工作,一旦出現(xiàn)惡意節(jié)點(diǎn),其很容易利用路由機(jī)制的缺陷進(jìn)行看似“合法”的操作,偽造、篡改路由信息,制造虛假路由,使得源節(jié)點(diǎn)無法獲得到目的節(jié)點(diǎn)的正確路由,這就是Ad hoc網(wǎng)絡(luò)的路由安全問題。如篡惡意節(jié)點(diǎn)改路由請求報(bào)文RREQ和路由應(yīng)答報(bào)文RREP攻擊、黑洞(Blackhole)攻擊[3]等。數(shù)據(jù)安全問題,即惡意節(jié)點(diǎn)竊聽、偽造、篡改、重放通信中的數(shù)據(jù)。在移動(dòng)Ad Hoc網(wǎng)絡(luò)中,主要體現(xiàn)為兩類情況,一類是惡意節(jié)點(diǎn)處于路由鏈路中,源節(jié)點(diǎn)發(fā)往目的節(jié)點(diǎn)的數(shù)據(jù)都要經(jīng)過它轉(zhuǎn)發(fā),它便可以隨意進(jìn)行一系列的數(shù)據(jù)安全攻擊,如蟲洞(Wormhole)攻擊[4]。另一類是惡意節(jié)點(diǎn)處于路由鏈路之外,其利用無線信道的開放性進(jìn)行數(shù)據(jù)安全攻擊,如竊聽重要的數(shù)據(jù)信息造成信息泄露。
Ad Hoc網(wǎng)絡(luò)路由和數(shù)據(jù)安全攻擊往往非常隱蔽,難以覺察且難以防范。針對路由安全,有不少研究觀點(diǎn),對于RREQ、RREP攻擊,有學(xué)者提出對報(bào)文進(jìn)行加密和數(shù)字簽名,但是RREQ、RREP的傳播數(shù)量大,算法的復(fù)雜度、開銷大。對于黑洞攻擊,有學(xué)者提出了路由測試認(rèn)證機(jī)制[5],即源節(jié)點(diǎn)發(fā)送測試消息到目的節(jié)點(diǎn)進(jìn)行路由認(rèn)證,但忽略了惡意節(jié)點(diǎn)可能會(huì)偽造測試應(yīng)答消息來欺騙源節(jié)點(diǎn),難以保證路由認(rèn)證的有效性。對于數(shù)據(jù)安全,慣用方法是進(jìn)行復(fù)雜度小、加解密快速的對稱數(shù)據(jù)加密,但對稱加密需要一條絕對安全的信道將密鑰發(fā)送給解密方,這在Ad Hoc網(wǎng)絡(luò)中很難保證,一旦密鑰泄露,加密便失去了作用。
針對上述Ad Hoc網(wǎng)絡(luò)路由安全和數(shù)據(jù)安全問題,本文深入分析了路由和數(shù)據(jù)安全各自的特征,設(shè)計(jì)了一種簡易、安全、的解決方案。巧妙地將非對稱加密和對稱加密技術(shù)應(yīng)用于路由和數(shù)據(jù)安全保護(hù)中,同時(shí)使用GloMoSim進(jìn)行實(shí)驗(yàn)仿真,對本方案的有效性進(jìn)行驗(yàn)證。
Ad Hoc網(wǎng)絡(luò)路由安全攻擊的目的是惡意節(jié)點(diǎn)制造虛假路由信息,使源節(jié)點(diǎn)無法得到到目的節(jié)點(diǎn)的正確路由。因此,在新路由建立后,只需要對該路由進(jìn)行端到端的測試認(rèn)證即可,源節(jié)點(diǎn)發(fā)送路由測試消息到目的節(jié)點(diǎn),目的節(jié)點(diǎn)回復(fù)相應(yīng)的應(yīng)答確認(rèn)消息,源節(jié)點(diǎn)根據(jù)能否收到應(yīng)答消息及其正確性便可判斷該路由的有效性。為了防止惡意節(jié)點(diǎn)竊取并偽造應(yīng)答確認(rèn)消息來欺騙源節(jié)點(diǎn),因此路由測試認(rèn)證中消息的可靠傳輸是關(guān)鍵。對于Ad Hoc網(wǎng)絡(luò)數(shù)據(jù)安全攻擊的防范,即保護(hù)通信中數(shù)據(jù)的安全性和完整性。相對于路由安全認(rèn)證,路由安全認(rèn)證只需源節(jié)點(diǎn)和目的節(jié)點(diǎn)之間的一次雙向數(shù)據(jù)傳輸,數(shù)據(jù)量少,而數(shù)據(jù)安全防范中通信數(shù)據(jù)傳輸頻繁,且數(shù)據(jù)量大。
對稱加密是較為成熟的加密技術(shù),數(shù)據(jù)的加解密只使用一個(gè)密鑰,發(fā)收信雙方都使用這個(gè)密鑰進(jìn)行加解密,這就要求加密方事先將密鑰傳送給對方。對稱加密的安全性依賴于密鑰的保密性。因此,密鑰的保密性至關(guān)重要。對稱加密的優(yōu)點(diǎn)是算法計(jì)算量小,加解密速度快,缺點(diǎn)是密鑰的安全性低,適用于數(shù)據(jù)量大、實(shí)時(shí)性要求高的場合,代表性的算法有DES、3DES、Blowfish、RC5 等。 非對稱加密,又名“公開密鑰加密算法”,需要兩個(gè)密鑰“公鑰”和“私鑰”。 公鑰對外公開,私鑰自己保留,兩者互為一對。如果用公鑰加密,只有對應(yīng)的私鑰才能解密,反之亦然。非對稱加密的優(yōu)點(diǎn)是安全性高,無需像對稱加密那樣傳輸對方密鑰。缺點(diǎn)是算法復(fù)雜度高,加解密速度慢,適用于數(shù)據(jù)量小、實(shí)時(shí)性要求不高的場合,代表性的算法有 RSA、Elgamal、Rabin、D-II、ECC 等。
Ad Hoc網(wǎng)絡(luò)資源和能源受限,因此,對于數(shù)據(jù)傳輸頻率低且數(shù)據(jù)量少的路由安全認(rèn)證,采用算法復(fù)雜度高、安全性強(qiáng)的非對稱加密技術(shù)來保障路由測試認(rèn)證消息的可靠傳輸。對于數(shù)據(jù)傳輸頻高且數(shù)據(jù)量大的數(shù)據(jù)安全防護(hù),采用算法復(fù)雜度小,加解密速度快的對稱加密技術(shù)來保障通信數(shù)據(jù)的安全,以節(jié)省網(wǎng)絡(luò)開銷。并且在路由認(rèn)證測試消息中封裝用于對稱加密的密鑰進(jìn)行非對稱加密后一起發(fā)送給目的節(jié)點(diǎn),以較小的代價(jià)同時(shí)實(shí)現(xiàn)了路由測試消息和對稱加密密鑰的安全傳遞,克服了對稱加密密鑰安全性的缺陷,增強(qiáng)了對稱加密的安全性,利用非對稱加密的長處彌補(bǔ)了非對稱加密的不足,增強(qiáng)了數(shù)據(jù)安全性。
在Ad Hoc網(wǎng)絡(luò)初始化階段,各節(jié)點(diǎn)產(chǎn)生各自用于非對稱加密的公鑰 Kp(i)和私鑰KS(i),(其中 i=0……N,i為節(jié)點(diǎn) i的編號(hào),N為網(wǎng)絡(luò)節(jié)點(diǎn)總數(shù)),公鑰Kp(i)對其他所有節(jié)點(diǎn)公開,私鑰自己保留。當(dāng)源節(jié)點(diǎn)S(S∈[0,N])通過路由發(fā)現(xiàn)建立好到目的節(jié)點(diǎn)D(D∈[0,N])的路由時(shí),首先對該路由進(jìn)行安全測試認(rèn)證。源節(jié)點(diǎn)首先產(chǎn)生測試消息單元RTMU(Route Test Message Unit)及接下來數(shù)據(jù)通信中需要的對稱加密密鑰Sk(S),并將兩者封裝為路由測試消息分組RTMP(Route Test Message Package),具體數(shù)據(jù)格式如圖1所示。
圖1 路由測試消息分組Fig.1 Route testmessae package RTMP
其中,SNA、DNA用于目的節(jié)點(diǎn)確認(rèn)該測試消息的來源和是否發(fā)送給自己。Type用于表征消息類型為RTRP。測試碼TC由源節(jié)點(diǎn)S隨機(jī)產(chǎn)生,用于路由認(rèn)證,目的節(jié)點(diǎn)只需將TC原封不動(dòng)地加入到應(yīng)答消息中回送給源節(jié)點(diǎn)即可,由源節(jié)點(diǎn)驗(yàn)證其前后的一致性。Sk(S)用于之后數(shù)據(jù)通信的對稱加解密。
RTMP封裝好后,源節(jié)點(diǎn)S利用目的節(jié)點(diǎn)D的公鑰KP(D)對RTMP進(jìn)行非對稱加密變成KP(D)(RTMP),然后經(jīng)由待驗(yàn)證的路由發(fā)送給目的節(jié)點(diǎn)D,同時(shí)啟動(dòng)定時(shí)器Timer來等待目的節(jié)點(diǎn)的應(yīng)答。目的節(jié)點(diǎn)D接受到KP(D)(RTMP)后,用自己的私鑰KS(D)進(jìn)行解密KS(D)(KP(D)(RTMP))得到RTMP。若解密失敗,說明該路由可能存在風(fēng)險(xiǎn),直接丟棄,不做處理。解密成功后,在對RTMP中Type、SNA、DNA各項(xiàng)參數(shù)驗(yàn)證無誤后,目的節(jié)點(diǎn)D首先保存接下來用于數(shù)據(jù)通信的對稱加密密鑰Sk(S),然后產(chǎn)生路由測試應(yīng)答分組RTRP(Route Test Reply Package),并用源節(jié)點(diǎn)S的公鑰KP(S)對RTRP進(jìn)行非對稱加密KP(S)(RTRP),回送給源節(jié)點(diǎn)S,測試應(yīng)答分組的數(shù)據(jù)格式圖2所示。
圖2 路由測試應(yīng)答分組Fig.2 Route test reply package RTRP
其中DNA、SNA用于源節(jié)點(diǎn)S確認(rèn)該測試消息的來源和是否發(fā)送給自己。Type用于表征消息類型為RTRP。測試碼TC,用于路由認(rèn)證,其值應(yīng)與RTMP中TC值一致,由源節(jié)點(diǎn)進(jìn)行比較驗(yàn)證。
源節(jié)點(diǎn)S若在定時(shí)器Timer超時(shí)后仍未收到KP(S)(RTRP),則認(rèn)為該路由無效,刪除該路由。若在定時(shí)器Timer設(shè)定時(shí)間內(nèi)接收到KP(S)(RTRP),用自己的私鑰 KS(S)進(jìn)行解密KS(S)(KP(S)(RTRP)得到RTRP。若解密失敗,說明該路由可能存在風(fēng)險(xiǎn),同樣刪除該路由。解密成功后,在對RTRP中Type、SNA、DNA各項(xiàng)參數(shù)驗(yàn)證無誤后,進(jìn)行TC測試碼一致性認(rèn)證,若RTRP和RTMP中TC值相同,則路由認(rèn)證成功,否則認(rèn)證失敗,刪除該路由。由于采用非對稱加密,除了目的節(jié)點(diǎn),其他任何節(jié)點(diǎn)都無法獲取RTMP里的內(nèi)容及TC的值,較好地解決了惡意節(jié)點(diǎn)偽造RTRP欺騙源節(jié)點(diǎn)的問題,因此本路由認(rèn)證方案具備較高安全性。路由認(rèn)證成功后,源節(jié)點(diǎn)S便可利用之前發(fā)送給目的節(jié)點(diǎn)D的對稱加密密鑰Sk(S)進(jìn)行通信數(shù)據(jù)的對稱加密,和目的節(jié)點(diǎn)D進(jìn)行安全的數(shù)據(jù)通信。同樣,因?yàn)槊荑€Sk(S)封裝在RTMP中并采用非對稱加密保護(hù),除了目的節(jié)點(diǎn),其他任何節(jié)點(diǎn)都無法獲取密鑰Sk(S),所以數(shù)據(jù)安全得到了較好的保障。
本方案的算法設(shè)計(jì)流程圖3、圖4如下,分別由源節(jié)點(diǎn)S和目的節(jié)點(diǎn)D的兩部分組成。
圖3 源節(jié)點(diǎn)方案設(shè)計(jì)流程圖Fig.3 Flow chart the solution design of source node S
為驗(yàn)證本方案的有效性,本文以經(jīng)典的Ad Hoc網(wǎng)絡(luò)AODV協(xié)議為基礎(chǔ),引入本方案。對于路由安全認(rèn)證,采用RSA非對稱加密算法;對于數(shù)據(jù)安全防護(hù),采用DES對稱加密算法。使用GloMoSim2.03(GlobalMobile Information System Simulator)網(wǎng)絡(luò)仿真平臺(tái)來驗(yàn)證本方案的安全有效性[6]。仿真場景選取50個(gè)節(jié)點(diǎn)隨機(jī)分布在1 500m 1 000m的二維矩形區(qū)域內(nèi),其中存在一定數(shù)量的惡意節(jié)點(diǎn)。節(jié)點(diǎn)的傳輸半徑為250 m,節(jié)點(diǎn)移動(dòng)模型采用Random Waypoint模型,節(jié)點(diǎn)的最大移動(dòng)速度分別為[5:5:60]m/s。網(wǎng)絡(luò)以TCP/IP協(xié)議棧體系結(jié)構(gòu)為基礎(chǔ)實(shí)現(xiàn),MAC層采用802.11協(xié)議,網(wǎng)絡(luò)層采用IP協(xié)議,路由協(xié)議采用AODV協(xié)議,傳輸層采用 UDP協(xié)議,應(yīng)用層選取10條CRB數(shù)據(jù)業(yè)務(wù)流,每秒發(fā)送5個(gè)數(shù)據(jù)包,數(shù)據(jù)包大小為512字節(jié),仿真時(shí)間為600 s,仿真結(jié)果如圖5所示。
圖4 目的節(jié)點(diǎn)方案設(shè)計(jì)流程圖Fig.4 Flow chart the solution design of destination node D
圖5 實(shí)驗(yàn)仿真結(jié)果Fig.5 Experiment and simulation result
圖5是在3種場景下網(wǎng)絡(luò)數(shù)據(jù)包正確投遞率仿真結(jié)果??梢钥闯觯诖嬖趷阂夤?jié)點(diǎn)的情況下引進(jìn)本方案后,網(wǎng)絡(luò)數(shù)據(jù)包正確投遞率明顯提高,接近于無惡意節(jié)點(diǎn)時(shí)的數(shù)據(jù)包正確投遞率。這源自兩方面原因,一是在數(shù)據(jù)通信之前,本方案針對路由安全,采用了基于非對稱加密的路由測試認(rèn)證策略,保障了節(jié)點(diǎn)能夠獲取正確安全的路由,從源頭上保證了數(shù)據(jù)通信鏈路的可靠。其次,針對數(shù)據(jù)安全,采用了基于對稱加密的數(shù)據(jù)加密策略,并且在路由測試認(rèn)證中巧用非對稱加密進(jìn)一步加強(qiáng)了數(shù)據(jù)對稱加密的安全性。雙重機(jī)制保護(hù),很大程度上解決了惡意節(jié)點(diǎn)攻擊帶來的路由和數(shù)據(jù)安全隱患,網(wǎng)絡(luò)數(shù)據(jù)包正確投遞率得到有效的保障。
文中將非對稱加密和對稱加密技術(shù)運(yùn)用于路由和數(shù)據(jù)安全防范中,兩種加密技術(shù)各取其長,節(jié)省了Ad Hoc網(wǎng)絡(luò)的開銷。并且利用非對稱加密技術(shù)增強(qiáng)了對稱加密的安全性,進(jìn)一步增強(qiáng)了數(shù)據(jù)安全。本方案簡易可行,可廣泛應(yīng)用于Ad Hoc網(wǎng)絡(luò)中,實(shí)驗(yàn)結(jié)果表明在Ad Hoc網(wǎng)絡(luò)路由和數(shù)據(jù)安全方面具備較高的安全性。
[1]余海蕓,張秋余.Ad Hoc網(wǎng)絡(luò)安全問題及對策研究[J].信息技術(shù),2012(7):179-181.YU Hai-yun,ZHANG Qiu-yu.Ad Hoc network security problems and countermeasures[J].Information Technology,2012(7):179-181.
[2]易平,蔣嶷川,張世永,等.移動(dòng)ad hoc網(wǎng)絡(luò)安全綜述[J].電子學(xué)報(bào),2005,33(5):893-899.YIPing,JIANG Yi-chuan,ZHANG Shi-yong,etc.A Survey of Security for Mobile Ad Hoc Networks[J].Acta Electronica Sinica,2005,33(5):893-899.
[3]沈明玉,劉俊龍.移動(dòng)Ad hoc網(wǎng)絡(luò)中黑洞問題的研究[J].合肥工業(yè)大學(xué)學(xué)報(bào):自然科學(xué)版,2011,34(1):87-90.SHEN Ming-yu,LIU Jun-long.Research on black hole problem in mobile ad hoc networks[J].Journal of Hefei University of Technology:Natural Science,2011,34(1):87-90.
[4]季曉君,田暢,張毓森.Ad hoc網(wǎng)絡(luò)路由安全[J].解放軍理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,7(4):341-345.JI Xiao-jun,TIAN Chang,ZHANG Yu-sen.Routing Security of ad hoc network[J].Journal of PLA University of Science and Technology:Natural Science Edition,2006,7(4):341-345.
[5]胡海燕,吳蒙.AODV路由協(xié)議安全性改進(jìn)與GloMoSim仿真[J].南京郵電學(xué)院學(xué)報(bào),2005,25(3):59-63.HU Hai-yan,WU Meng.Security enancement of AODV and GloMoSim simulation[J].Journal of Nanjing University of Posts and Telecommunications,2005,25(3):59-63.
[6]高振國.GloMoSim網(wǎng)絡(luò)仿真 [M].北京:人民郵電出版社,2003.