張 杰,杜金華,劉 立,韓光潔,錢玉潔
(河海大學(xué) 常州市智慧河湖物聯(lián)網(wǎng)技術(shù)重點(diǎn)實(shí)驗(yàn)室,江蘇 常州 213022)
實(shí)現(xiàn)海洋信息化是推動(dòng)海洋科技,建設(shè)海洋強(qiáng)國(guó)不可缺少的關(guān)鍵.繼而,面向海洋數(shù)據(jù)的采集、傳輸、匯聚、挖掘的水下通信網(wǎng)絡(luò)技術(shù)正迅速崛起.水下通信網(wǎng)絡(luò)于海洋信息化提供重要的技術(shù)支持,已然在海底科學(xué)勘察、海洋經(jīng)濟(jì)開(kāi)發(fā)、海防軍事安全、海洋生態(tài)保護(hù)等方面展現(xiàn)著巨大的應(yīng)用前景[1].例如:結(jié)合水下傳感器與水下通信網(wǎng)絡(luò)監(jiān)測(cè)、分析近海洋流運(yùn)動(dòng)、海底地震波等數(shù)據(jù),實(shí)時(shí)預(yù)防沿海地區(qū)的臺(tái)風(fēng)、海嘯等自然災(zāi)害;在領(lǐng)海漁業(yè)區(qū)域布置聲納探測(cè)儀與水下通信網(wǎng)絡(luò),有效打擊鄰國(guó)非法漁船,保護(hù)國(guó)家海洋資源;利用超聲波傳感器定位白海豚,通過(guò)水下通信網(wǎng)絡(luò)共享各海域的白海豚棲息分布,分析、監(jiān)控、保護(hù)相應(yīng)海域的生態(tài)環(huán)境等.然而,嚴(yán)峻的水下通信環(huán)境使水下通信網(wǎng)絡(luò)的設(shè)計(jì)與應(yīng)用面臨著諸多的挑戰(zhàn).其中,水下網(wǎng)絡(luò)空間的信息安全直接影響著水下通信網(wǎng)絡(luò)的應(yīng)用可行性,而復(fù)雜信道特性、動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)等水下通信條件使傳統(tǒng)安全通信協(xié)議及標(biāo)準(zhǔn)難適用于水下環(huán)境,為亟待解決的關(guān)鍵問(wèn)題.
水下通信環(huán)境可采用電、光、聲3種媒介承載物理信號(hào).其中,電磁波信號(hào)在水下環(huán)境具有強(qiáng)衰減特性(如:導(dǎo)電率為4秒/m的海水中,500KHz電磁波的衰減率約28dB/m),僅能實(shí)現(xiàn)超短距離(<10米)水下通信;可見(jiàn)光信號(hào)(如:藍(lán)綠波段光速)具備較高的數(shù)據(jù)承載能力及高速率數(shù)據(jù)傳輸能力,但受限于視距傳播(Line of Sight:LOS)約束,較難適用于三維復(fù)雜水下環(huán)境的大規(guī)模數(shù)據(jù)傳輸;相對(duì)低衰減的聲波信號(hào)正被普遍認(rèn)知為大規(guī)模、中長(zhǎng)傳播距離水下信號(hào)的最優(yōu)傳播媒介[2,3],但其數(shù)據(jù)承載能力較低.
截至目前,水下通信網(wǎng)絡(luò)鮮有標(biāo)準(zhǔn)的安全體系或安全協(xié)議.究其原因,首先,接入認(rèn)證、密鑰管理、證書發(fā)放等現(xiàn)代安全協(xié)議均基于節(jié)點(diǎn)間的多次握手[4],而在具有高延遲、低吞吐量、高誤碼率、多徑效應(yīng)、多普勒效應(yīng)等嚴(yán)峻通信環(huán)境的水下聲信道中,傳統(tǒng)握手機(jī)制將消耗高額的信道成本,從而大幅度降低數(shù)據(jù)通信的信道利用率,降低水下數(shù)據(jù)通信的實(shí)踐可行性;其次,復(fù)雜洋流結(jié)構(gòu)、不規(guī)則海底地形、動(dòng)態(tài)障礙物等水下環(huán)境因素使水下節(jié)點(diǎn)間形成復(fù)雜、多變的拓?fù)滏溌方Y(jié)構(gòu),繼而難以保障水下節(jié)點(diǎn)地理位置信息的實(shí)時(shí)性及可靠性,使水下節(jié)點(diǎn)較難通過(guò)高速率水下可見(jiàn)光通信交互安全協(xié)議數(shù)據(jù),并使其易受網(wǎng)絡(luò)層攻擊.
水下通信網(wǎng)絡(luò)的安全體系需兼?zhèn)鋵?duì)于數(shù)據(jù)的機(jī)密性、完整性的保護(hù)以及對(duì)網(wǎng)絡(luò)系統(tǒng)可用性的支持.據(jù)此,本文首先從節(jié)點(diǎn)特征、通信技術(shù)、環(huán)境約束等方面介紹水下通信網(wǎng)絡(luò)系統(tǒng)的典型網(wǎng)絡(luò)模型及安全假設(shè)條件;隨后,根據(jù)水下網(wǎng)絡(luò)特征、常用通信技術(shù)及安全需求,提出一種基于公鑰加密體制的多跳水下通信網(wǎng)絡(luò)安全數(shù)據(jù)傳輸方法.
本文的主要貢獻(xiàn)包括以下兩個(gè)方面:
1)提出了一種基于移動(dòng)CA(Certification Authority)的水下公鑰證書發(fā)放策略.傳統(tǒng)基于多次握手的集中/分布式公鑰證書發(fā)放策略難適用于通信資源受限的水下通信網(wǎng)絡(luò).提出策略利用移動(dòng)節(jié)點(diǎn)作為水面基站的代理,通過(guò)短距離可見(jiàn)光通信在遍歷過(guò)程中認(rèn)證水下節(jié)點(diǎn),從而提示了一種實(shí)踐可行的水下節(jié)點(diǎn)公鑰管理模式.
2)提出了一種基于空間驗(yàn)證的公鑰管理策略.受洋流影響,多跳水下通信網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)存在時(shí)變性,且因水聲通信的長(zhǎng)延時(shí)特性,傳統(tǒng)的復(fù)雜公鑰管理策略難滿足實(shí)時(shí)性需求.提出策略對(duì)水下通信環(huán)境進(jìn)行分層,并利用鏈?zhǔn)浇Y(jié)構(gòu)安全參數(shù)生成各層空間的組密鑰對(duì),由此優(yōu)化公鑰管理所需的握手成本,提高公鑰加密體制在水下通信環(huán)境的可用性.
水下網(wǎng)絡(luò)空間的信息安全技術(shù)是保障水下通信網(wǎng)絡(luò)可用性的基礎(chǔ)及核心,正逐漸被認(rèn)知為下一代網(wǎng)路的核心技術(shù)之一[5,6],已然成為近年國(guó)內(nèi)外學(xué)者的研究焦點(diǎn).
國(guó)際方面,Xu Ming等[7]提出了一種面向水下移動(dòng)通信網(wǎng)絡(luò)的安全框架,該框架包含了基于立方體集群結(jié)構(gòu)的密鑰交換、基于高階多項(xiàng)式的節(jié)點(diǎn)喚醒及密鑰更新、基于確定性量化(deterministic quantization)的物理層密鑰生成等三層安全結(jié)構(gòu),可在水下移動(dòng)通信網(wǎng)絡(luò)中有效進(jìn)行密鑰交換及節(jié)點(diǎn)認(rèn)證;Roee Diamant等[8]提出了一種水下通信網(wǎng)絡(luò)的協(xié)作式認(rèn)證方法,該方法利用可信節(jié)點(diǎn)集和基于信道特征的信任管理模型,評(píng)估發(fā)送者的真實(shí)性及數(shù)據(jù)的完整性,繼而判斷匯聚節(jié)點(diǎn)接收到的數(shù)據(jù)是否合法;Abbas Yazdinejad等[9]利用區(qū)塊鏈技術(shù)原理,提出了一種穩(wěn)定、透明、節(jié)能的水下物聯(lián)網(wǎng)分散認(rèn)證機(jī)制,目的在于使身份認(rèn)證技術(shù)適用于能量、計(jì)算、通信能力有限的水下設(shè)備;Xiao Liang等[10]提出了基于強(qiáng)化學(xué)習(xí)的水下通信網(wǎng)絡(luò)物理層認(rèn)證框架,用于檢查水下通信網(wǎng)絡(luò)的欺騙攻擊行為;Muhammad Khalid等[11]利用水下信道的時(shí)變、多徑特性,提出了一種基于特定位置中信道脈沖響應(yīng)時(shí)變性分析的節(jié)點(diǎn)認(rèn)證及物理信號(hào)認(rèn)證方法;Waqas Aman等[12]分析了水下聲信道中惡意節(jié)點(diǎn)的假冒攻擊行為對(duì)水下信道容量的影響,及其對(duì)水聲通信服務(wù)質(zhì)量的影響;Muhammad Khalid等[13]采用有限高斯混合模型建立了水下通信網(wǎng)絡(luò)惡意節(jié)點(diǎn)的馬氏距離模型,并通過(guò)測(cè)量水聲信號(hào)的到達(dá)角,進(jìn)行了水聲信號(hào)的物理層認(rèn)證;Zhang Shuailiang等[14]提出了一種基于混沌映射的水下用戶認(rèn)證和密鑰協(xié)商方法,該方采用單向散列函數(shù)的混沌映射實(shí)現(xiàn)了水下聲通信網(wǎng)絡(luò)的輕量級(jí)密鑰交換及身份認(rèn)證;Chhagan Lal等[15]從節(jié)點(diǎn)層面及網(wǎng)絡(luò)層面分別考慮水下通信網(wǎng)絡(luò)的安全策略,面向物理層安全、軟件定義網(wǎng)絡(luò)、上下文感知等下一代水下通信網(wǎng)絡(luò)技術(shù),提出了一種基于多級(jí)智能決策的混合網(wǎng)絡(luò)安全體系結(jié)構(gòu).
國(guó)內(nèi)方面,曾玲等[16]根據(jù)水下通信信道的特征,針對(duì)性分析了水下傳感器網(wǎng)絡(luò)的安全風(fēng)險(xiǎn),概述了水下傳感器網(wǎng)絡(luò)應(yīng)具備的安全體系架構(gòu);叢鍵等[17]針對(duì)水下網(wǎng)絡(luò)面臨的主要安全問(wèn)題,提出了水下網(wǎng)絡(luò)信譽(yù)系統(tǒng)、基于逐跳身份認(rèn)證的安全路由、分布式密鑰管理機(jī)制等水下通信網(wǎng)絡(luò)的安全防護(hù)設(shè)計(jì)方案;劉景美等[18]針對(duì)水下無(wú)人艇的物理層通信安全,提出了一種結(jié)合信道探測(cè)協(xié)議和自適應(yīng)通信保護(hù)間隔量化方法的水下聲信道物理層密鑰生成方案,其信道探測(cè)協(xié)議通過(guò)基于時(shí)分雙工水下聲通信系統(tǒng)的導(dǎo)頻輔助保障了水聲信道的互易性,一定程度上提高了水聲信道物理層密鑰生成技術(shù)的可行性;徐明等[19]提出了一種基于水下噪聲信道不確定性的保密通信方案,該方案在密鑰協(xié)商握手過(guò)程中利用哥德?tīng)柧幋a優(yōu)化了密鑰序列的比較次數(shù),并利用一種r-循環(huán)托普利茲矩陣增強(qiáng)了水下噪聲環(huán)境下的密鑰安全性.
以上研究在一定程度上提示了水下通信網(wǎng)絡(luò)的安全設(shè)計(jì)需求,大部分工作涉及了“輕量級(jí)”安全技術(shù),從而支撐水下通信網(wǎng)絡(luò)的可用性需求.然而,基于密鑰交換的加密及認(rèn)證技術(shù),基于機(jī)器學(xué)習(xí)、信任管理的安全機(jī)制等均需多次的信息交互,在信道資源受限的水下通信環(huán)境消耗額外的通信成本,降低其網(wǎng)絡(luò)性能.據(jù)此,本文提出一種針對(duì)優(yōu)化水下通信網(wǎng)絡(luò)通信成本的水下公鑰證書發(fā)放及管理策略,為水下網(wǎng)絡(luò)空間的安全設(shè)計(jì)提供一定的理論支持.
本文針對(duì)研究大規(guī)模、長(zhǎng)距離通信距離需求的水下通信網(wǎng)絡(luò)模型,該模型用于海洋數(shù)據(jù)的周期性采集與匯聚,形成從水中由下至上的數(shù)據(jù)轉(zhuǎn)發(fā),例如:石油管道監(jiān)測(cè)、領(lǐng)海軍事布防等,圖1為模型示例.
圖1 水下通信網(wǎng)絡(luò)模型示例
該網(wǎng)絡(luò)模型由傳感器節(jié)點(diǎn)、移動(dòng)節(jié)點(diǎn)以及浮標(biāo)節(jié)點(diǎn)組成,通信方式及功能如表1所示.其中,傳感器節(jié)點(diǎn)密集部署在水中,周期性采集數(shù)據(jù)并通過(guò)多跳轉(zhuǎn)發(fā)將數(shù)據(jù)發(fā)送至水面,可用水下聲/光通信;移動(dòng)節(jié)點(diǎn)相對(duì)少量部署在水中,包括水下自主航行器(Autonomous Underwater Vehicles:AUV)[20]、水下滑翔機(jī)(Autonomous Underwater Gliders:AUG)[21]等,主要負(fù)責(zé)進(jìn)行傳感器節(jié)點(diǎn)的感知、認(rèn)證、密鑰管理等網(wǎng)絡(luò)維護(hù)行為,可用水下聲/光通信,并在浮出水面時(shí)使用陸地電磁波通信;浮標(biāo)節(jié)點(diǎn)部署在水面,可用水下聲/光通信匯聚水下節(jié)點(diǎn)的數(shù)據(jù),并通過(guò)電磁波通信將數(shù)據(jù)發(fā)送至水面岸站.水下傳感器、AUV等水下節(jié)點(diǎn)的制備成本一般較高、體積較大,相比陸地上常用的傳感器節(jié)點(diǎn),一般可以配備性能較高的計(jì)算組件,缺點(diǎn)是通信能力受限.因此,安全水下通信模型較利于應(yīng)用計(jì)算成本高、通信成本較低的公鑰密碼體系.
表1 水下通信網(wǎng)絡(luò)節(jié)點(diǎn)類型
根據(jù)節(jié)點(diǎn)類型及數(shù)據(jù)傳輸結(jié)構(gòu),本文的水下通信網(wǎng)絡(luò)模型需滿足以下安全需求.
1)水下傳感器節(jié)點(diǎn)利用強(qiáng)公鑰加密算法進(jìn)行機(jī)密數(shù)據(jù)傳輸及消息認(rèn)證.
2)水下傳感器節(jié)點(diǎn)間需通過(guò)CA發(fā)布的公鑰證書驗(yàn)證公鑰的完整性及節(jié)點(diǎn)的真實(shí)性.
3)水下傳感器節(jié)點(diǎn)周期性向一跳鄰居節(jié)點(diǎn)廣播公鑰及公鑰證書;水下傳感器節(jié)點(diǎn)無(wú)人值守,因此需周期性更新密鑰對(duì)及公鑰證書,防止物理攻擊導(dǎo)致的私鑰泄露.
4)水下通信網(wǎng)絡(luò)利用多跳路由自底向上發(fā)送數(shù)據(jù),因此需預(yù)防網(wǎng)絡(luò)層路由信息欺騙攻擊.
4.1.1 公鑰加密體制
公鑰加密體制一般包含3個(gè)算法PKE=(G,E,D).其中,G為密鑰生成算法,輸入安全參數(shù)S,輸出密鑰對(duì)G(S)→ {PU,PR};E為加密算法,輸入明文M及密鑰PU或PR,生成密文C=E(PU,M)或C=E(PR,M);D為解密算法,輸入密文C及密鑰PR或PU,還原明文M=D(PR,C=E(PU,M))或M=D(PU,C=E(PR,M)).
4.1.2 公鑰證書
公鑰證書用于保護(hù)節(jié)點(diǎn)的真實(shí)性,由公鑰加密算法生成.節(jié)點(diǎn)n的公鑰證書CERTn=E(PRCA,Hash(PUn‖INFOCA‖IDn)),由第三方CA利用公鑰加密算法E及強(qiáng)抗碰撞散列算法Hash生成,用于保護(hù)節(jié)點(diǎn)的真實(shí)性及其公鑰的完整性.節(jié)點(diǎn)n向鄰居節(jié)點(diǎn)廣播公鑰及公鑰證書PUn‖CERTn;鄰居節(jié)點(diǎn)利用CA的公鑰PUCA解密節(jié)點(diǎn)n的公鑰證書獲得H=D(PUCA,CERTn)=Hash(PUn‖INFOCA‖IDn),從而驗(yàn)證IDn及PUn.
4.1.3 安全通信模型
安全水下通信提供數(shù)據(jù)機(jī)密性及數(shù)據(jù)完整性的保護(hù),分別如下.
數(shù)據(jù)機(jī)密性保護(hù):發(fā)送方s利用接收方公鑰PUr加密數(shù)據(jù)M,生成密文C=E(PUr,M),發(fā)送C;接收方r利用自身私鑰PRr解密密文C,還原M=D(PRr,C).
數(shù)據(jù)完整性保護(hù):發(fā)送方s利用自身私鑰PRs生成數(shù)據(jù)M的驗(yàn)證碼MAC=E(PRs,Hash(M)),發(fā)送M‖MAC;接收方r利用接收方公鑰PUs還原Hash(M)=D(PUs,MAC),后通過(guò)收到的數(shù)據(jù)M生成Hash(M)′,比較Hash(M)與Hash(M)′,驗(yàn)證數(shù)據(jù)的完整性.
根據(jù)水下通信網(wǎng)絡(luò)特征,定義以下安全假設(shè):
1)所有節(jié)點(diǎn)利用聲/光信道進(jìn)行水下通信.其中,水聲信號(hào)全向擴(kuò)散,延遲較高(約1500米/秒),存在竊聽(tīng)、重放攻擊、路由信息欺騙等安全威脅;可見(jiàn)光信號(hào)定向擴(kuò)散,延遲極小,無(wú)該類安全威脅.
2)水下數(shù)據(jù)通信基于強(qiáng)公鑰加密算法及強(qiáng)抗碰撞散列算法.
3)水下傳感器節(jié)點(diǎn)與水面基站間具備固有的對(duì)稱初始密鑰;水下傳感器節(jié)點(diǎn)間需通過(guò)公鑰證書進(jìn)行身份認(rèn)證;水下傳感器節(jié)點(diǎn)存在破壞、捕獲等物理攻擊威脅,潛在密鑰泄露隱患.
4)水下移動(dòng)節(jié)點(diǎn)由水面基站實(shí)時(shí)控制,無(wú)密鑰泄露隱患;水下移動(dòng)節(jié)點(diǎn)可直接認(rèn)證傳感器節(jié)點(diǎn).
面向多跳水下通信網(wǎng)絡(luò)的安全數(shù)據(jù)通信,本文提出一種基于公鑰加密體制的水下通信網(wǎng)絡(luò)安全數(shù)據(jù)傳輸方法.多跳水下通信網(wǎng)絡(luò)的密鑰管理中普遍存在的問(wèn)題為:
P1.高延時(shí)、高誤碼率等水聲信道特性使水面基站較難作用于CA,集中式分配各水下傳感器節(jié)點(diǎn)的公鑰證書;
P2.水下傳感器節(jié)點(diǎn)可通過(guò)鄰居發(fā)現(xiàn)獲取單跳鄰居的公鑰及公鑰證書,但較難直接獲取多跳外節(jié)點(diǎn)的公鑰及公鑰證書;
P3.常用于水下通信網(wǎng)絡(luò)的機(jī)會(huì)路由[22]較難采用基于公鑰加密算法保護(hù)數(shù)據(jù)機(jī)密性.
據(jù)此,提出的安全數(shù)據(jù)傳輸方法由基于移動(dòng)CA的公鑰證書發(fā)放及基于空間驗(yàn)證的公鑰管理等兩個(gè)策略試解決水下通信網(wǎng)絡(luò)的公鑰管理問(wèn)題.
基于移動(dòng)CA的公鑰證書發(fā)放主要針對(duì)解決P1.首先,移動(dòng)節(jié)點(diǎn)(如:AUV等水下航行器)在水面得到基站的授權(quán),獲取所有水下傳感器節(jié)點(diǎn)的初始對(duì)稱密鑰.由此移動(dòng)節(jié)點(diǎn)作為水面基站的代理,隨后,作用于移動(dòng)CA,在水下遍歷的過(guò)程中通過(guò)初始密鑰認(rèn)證水下傳感器節(jié)點(diǎn),采用水下可見(jiàn)光通信于水下傳感器節(jié)點(diǎn)發(fā)放公鑰證書,如圖2所示.
圖2 基于移動(dòng)CA的公鑰證書發(fā)放示例
圖2中,PU、PR分別為公、私鑰;CERT為公鑰證書;K為CA保留的水下傳感器節(jié)點(diǎn)初始密鑰;INFOCA為CA的基本信息;Nonce為隨機(jī)數(shù).單個(gè)或多個(gè)移動(dòng)節(jié)點(diǎn)在遍歷過(guò)程中,攜帶從水面基站獲取的PRCA及所有水下傳感器節(jié)點(diǎn)的對(duì)稱密鑰K,于各水下傳感器節(jié)點(diǎn)生成、發(fā)放公鑰證書及浮標(biāo)節(jié)點(diǎn)的公鑰,如水下傳感器節(jié)點(diǎn)獲得多個(gè)冗余的證書,優(yōu)先保留有效期(LifeTime)最長(zhǎng)的證書.已獲取證書的水下傳感器節(jié)點(diǎn)周期性向鄰居節(jié)點(diǎn)廣播公鑰及公鑰證書;未獲得證書的節(jié)點(diǎn)僅進(jìn)行鄰居發(fā)現(xiàn)等網(wǎng)絡(luò)維護(hù)行為,繼續(xù)等待移動(dòng)CA的證書發(fā)放.移動(dòng)CA周期性浮上水面,從水面基站通過(guò)電磁波通信獲取密鑰對(duì)的更新;潛入海底時(shí),更新水下傳感器節(jié)點(diǎn)的公鑰證書.
基于移動(dòng)CA的公鑰證書發(fā)放策略可以在一定程度上解決水下通信網(wǎng)絡(luò)的公鑰證書發(fā)放問(wèn)題,但多跳水下通信網(wǎng)絡(luò)的高延時(shí)水聲信道使水下節(jié)點(diǎn)需消耗大量通信成本獲取多跳外節(jié)點(diǎn)的公鑰及公鑰證書(P2).此外,由于動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)、節(jié)點(diǎn)的移動(dòng)性、多普勒效應(yīng)等通信環(huán)境約束,水下通信網(wǎng)絡(luò)通常采用機(jī)會(huì)路由模式進(jìn)行多跳數(shù)據(jù)轉(zhuǎn)發(fā)[23],機(jī)會(huì)路由的工作模式簡(jiǎn)要如下:
1)源節(jié)點(diǎn)周圍滿足一定條件(例如:深度淺于源節(jié)點(diǎn))的鄰居節(jié)點(diǎn)成為轉(zhuǎn)發(fā)候選節(jié)點(diǎn),源節(jié)點(diǎn)向轉(zhuǎn)發(fā)候選節(jié)點(diǎn)組播數(shù)據(jù);
2)轉(zhuǎn)發(fā)候選節(jié)點(diǎn)通過(guò)自身的地理位置、剩余能量、信道質(zhì)量等信息計(jì)算轉(zhuǎn)發(fā)效益,轉(zhuǎn)發(fā)效益用于計(jì)算待轉(zhuǎn)發(fā)數(shù)據(jù)的保持時(shí)間;
3)所有轉(zhuǎn)發(fā)候選節(jié)點(diǎn)根據(jù)轉(zhuǎn)發(fā)效益計(jì)算保持時(shí)間,轉(zhuǎn)發(fā)效益最高的候選節(jié)點(diǎn)得出最短的保持時(shí)間,保持時(shí)間經(jīng)過(guò)以后向其鄰居節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)(重復(fù)過(guò)程(1)),其他保持時(shí)間內(nèi)的候選節(jié)點(diǎn)則丟棄數(shù)據(jù);
4)由此,源節(jié)點(diǎn)的數(shù)據(jù)將經(jīng)過(guò)一次次的組播傳遞,最終匯聚至浮標(biāo)節(jié)點(diǎn).
機(jī)會(huì)路由模式中,發(fā)送方的所有鄰居節(jié)點(diǎn)均具備一定條件成為轉(zhuǎn)發(fā)節(jié)點(diǎn),因此如采用常規(guī)基于握手的點(diǎn)對(duì)點(diǎn)身份認(rèn)證,發(fā)送方則需要認(rèn)證所有的轉(zhuǎn)發(fā)候選節(jié)點(diǎn),消耗大量的通信成本(P3).此外,機(jī)會(huì)路由中各候選節(jié)點(diǎn)的轉(zhuǎn)發(fā)優(yōu)先度取決于由轉(zhuǎn)發(fā)效益計(jì)算的保持時(shí)間,較好的轉(zhuǎn)發(fā)效益使節(jié)點(diǎn)在成功轉(zhuǎn)發(fā)數(shù)據(jù)前等待較短的保持時(shí)間.因此,惡意節(jié)點(diǎn)可通過(guò)路由信息欺騙等網(wǎng)絡(luò)層攻擊偽造轉(zhuǎn)發(fā)效益,從而吸引數(shù)據(jù)流的走向.
根據(jù)上述問(wèn)題,本文提出一種基于空間驗(yàn)證的公鑰管理策略,簡(jiǎn)要如下:水下傳感器節(jié)點(diǎn)根據(jù)離水面浮標(biāo)節(jié)點(diǎn)的通信跳數(shù),設(shè)置自身空間等級(jí),如圖3所示;浮標(biāo)節(jié)點(diǎn)由上至下向各空間等級(jí)的節(jié)點(diǎn)發(fā)放鏈?zhǔn)浇Y(jié)構(gòu)安全參數(shù);各水下傳感器節(jié)點(diǎn)利用移動(dòng)CA發(fā)放的公鑰證書認(rèn)證鄰居節(jié)點(diǎn),與其交換安全參數(shù);各水下傳感器節(jié)點(diǎn)利用收到的鏈?zhǔn)浇Y(jié)構(gòu)安全參數(shù)生成密鑰對(duì),使得空間等級(jí)相同的水下傳感器節(jié)點(diǎn)保留相同的空間組密鑰;最終,發(fā)送方節(jié)點(diǎn)將上個(gè)等級(jí)的空間組密鑰作為公鑰,利用公鑰加密算法進(jìn)行機(jī)會(huì)路由的數(shù)據(jù)組播.
圖3 安全參數(shù)傳遞及空間密鑰生成示例
以下算法1描述基于空間驗(yàn)證的公鑰管理過(guò)程.
算法1.基于空間驗(yàn)證的公鑰管理
//傳遞安全參數(shù)
If 網(wǎng)絡(luò)初始化‖更新空間密鑰對(duì)
Fori∈浮標(biāo)節(jié)點(diǎn)
C=0;
獲取鄰居水下傳感器節(jié)點(diǎn)的公鑰及公鑰證書;
單播安全參數(shù)Si_C至鄰居水下傳感器節(jié)點(diǎn);
End For
End If
//生成空間密鑰對(duì)
Forj∈水下傳感器節(jié)點(diǎn)
j.Class=∞;
Whilej監(jiān)聽(tīng)鄰居數(shù)據(jù)包
Ifj收到Si_C&&{PUi_C,PRi_ C}==NULL &&j.Classi>C
{PUi_C,PRi_C} ←G(Si_C);
temp=Si_ C;
j.Classi=C+1;
Si_ C=GS(temp+1);
獲取鄰居水下傳感器節(jié)點(diǎn)的公鑰及公鑰證書;
單播安全參數(shù)Si_C至鄰居水下傳感器節(jié)點(diǎn);
End If
End While
End For
根據(jù)基于空間驗(yàn)證的公鑰管理策略,水下通信網(wǎng)絡(luò)合理地形成由上至下的密鑰分發(fā)結(jié)構(gòu)及自底向上的數(shù)據(jù)傳輸結(jié)構(gòu),密鑰分發(fā)過(guò)程具體如下:
1)各浮標(biāo)節(jié)點(diǎn)生成鏈?zhǔn)浇Y(jié)構(gòu)安全參數(shù)的初始值Si_0,其中,i為浮標(biāo)節(jié)點(diǎn)的固有編號(hào),通過(guò)安全鏈路單播至所有鄰居傳感器節(jié)點(diǎn),各浮標(biāo)節(jié)點(diǎn)一跳范圍內(nèi)鄰居節(jié)點(diǎn)根據(jù)Si_0生成空間密鑰對(duì){PUi_0,PRi_0}←G(Si_0),并將自身對(duì)應(yīng)浮標(biāo)節(jié)點(diǎn)i的空間等級(jí)設(shè)置為Class 1.
2)Class 1的節(jié)點(diǎn)計(jì)算符合公鑰生成規(guī)格的下一個(gè)安全參數(shù)Si_1=GS(Si_0+1),其中,GS為鏈?zhǔn)桨踩珔?shù)生成算法(例如,RSA算法所需的安全參數(shù)可以選取接近Hash(Si_0+1)的最大素?cái)?shù)).Class 1的節(jié)點(diǎn)將Si_1通過(guò)安全鏈路發(fā)送至所有鄰居節(jié)點(diǎn),收到的鄰居節(jié)點(diǎn)生成空間密鑰對(duì){PUi_1,PRi_1},設(shè)置自身的空間等級(jí)為Class 2.
3)所有浮標(biāo)節(jié)點(diǎn)持續(xù)進(jìn)行上述過(guò)程.最終,所有水下傳感器節(jié)點(diǎn)計(jì)算自身對(duì)應(yīng)各浮標(biāo)節(jié)點(diǎn)的空間密鑰,設(shè)置自身對(duì)應(yīng)各浮標(biāo)節(jié)點(diǎn)的空間等級(jí).
水下通信網(wǎng)絡(luò)周期性執(zhí)行基于空間驗(yàn)證的公鑰更新.同時(shí),各源節(jié)點(diǎn)利用自身的唯一私鑰及上個(gè)等級(jí)空間組密鑰進(jìn)行安全數(shù)據(jù)通信.源節(jié)點(diǎn)j選擇浮標(biāo)節(jié)點(diǎn)k,生成數(shù)據(jù)C=PUj‖CERTj‖E(PRj,Hash(M))‖E(PUk_l,M),其中,l為節(jié)點(diǎn)k的空間等級(jí).源節(jié)點(diǎn)j將數(shù)據(jù)組播至所有l(wèi)+1空間等級(jí)的鄰居節(jié)點(diǎn).各鄰居節(jié)點(diǎn)還原數(shù)據(jù)M,驗(yàn)證PUj的真實(shí)性、完整性及數(shù)據(jù)M的完整性,計(jì)算自身向浮標(biāo)節(jié)點(diǎn)k轉(zhuǎn)發(fā)數(shù)據(jù)時(shí)的轉(zhuǎn)發(fā)效益.轉(zhuǎn)發(fā)效益的計(jì)算一般以節(jié)點(diǎn)與浮標(biāo)節(jié)點(diǎn)的歐式距離、節(jié)點(diǎn)剩余能耗、鄰居節(jié)點(diǎn)數(shù)、信道質(zhì)量等影響節(jié)點(diǎn)傳輸能力的網(wǎng)絡(luò)參數(shù)為輸入,得出保持時(shí)間.以節(jié)點(diǎn)深度與節(jié)點(diǎn)剩余能量為例,轉(zhuǎn)發(fā)效益的計(jì)算利用以下式(1):
(1)
其中,i為當(dāng)前節(jié)點(diǎn)編號(hào);Fi為節(jié)點(diǎn)i的轉(zhuǎn)發(fā)效益;R為各節(jié)點(diǎn)的最大通信半徑;di→D為節(jié)點(diǎn)i到目的地(浮標(biāo))D的歐氏距離;dS→D為源節(jié)點(diǎn)S到目的地(浮標(biāo))D的歐氏距離;hci為節(jié)點(diǎn)i到源節(jié)點(diǎn)的跳數(shù)(hop count);N為常數(shù),由網(wǎng)絡(luò)的節(jié)點(diǎn)密度而定;ni為節(jié)點(diǎn)i可轉(zhuǎn)發(fā)的鄰居節(jié)點(diǎn)數(shù),僅包括深度比節(jié)點(diǎn)i淺的鄰居節(jié)點(diǎn);w為0-1的權(quán)重系數(shù),由網(wǎng)絡(luò)流量而定.
隨后,計(jì)算節(jié)點(diǎn)的轉(zhuǎn)發(fā)保持時(shí)間,如式(2)所示:
(2)
其中,HTi為節(jié)點(diǎn)i的轉(zhuǎn)發(fā)保持時(shí)間;C為常數(shù),默認(rèn)值為1,根據(jù)網(wǎng)絡(luò)流量調(diào)整;b為CSMA/CA(Carrier Sense Multiple Access)機(jī)制的回退時(shí)間(back-off time);Ki為大于等于1的安全權(quán)重系數(shù),由待轉(zhuǎn)發(fā)數(shù)據(jù)的安全需求而定,如節(jié)點(diǎn)i的公鑰已認(rèn)證且在有效期內(nèi),則Ki=1,其他情況按需增加K值,據(jù)此,已通過(guò)公鑰認(rèn)證的節(jié)點(diǎn)具備較高的轉(zhuǎn)發(fā)優(yōu)先級(jí).
各節(jié)點(diǎn)收到數(shù)據(jù)后,等待保持時(shí)間,更換E(PUk_l,M)為E(PUk_l+1,M)繼續(xù)進(jìn)行機(jī)會(huì)路由,經(jīng)過(guò)多跳的數(shù)據(jù)轉(zhuǎn)發(fā),最終使數(shù)據(jù)到達(dá)浮標(biāo)節(jié)點(diǎn)k.以下算法2描述基于機(jī)會(huì)路由的安全數(shù)據(jù)轉(zhuǎn)發(fā)過(guò)程.
算法2.基于機(jī)會(huì)路由的安全數(shù)據(jù)轉(zhuǎn)發(fā)
If 源節(jié)點(diǎn)n待發(fā)數(shù)據(jù)
n選擇浮標(biāo)節(jié)點(diǎn)f;
Fork∈n的鄰居節(jié)點(diǎn)
Ifk滿足轉(zhuǎn)發(fā)條件
k加入n的轉(zhuǎn)發(fā)候選集;
k查看公鑰有效期及認(rèn)證狀態(tài);
k計(jì)算轉(zhuǎn)發(fā)效益;
End If
End For
End If
n獲取PUf_n.Class-1;
n生成安全數(shù)據(jù)PUn‖CERTn‖E(PRn,Hash(M))‖E(PUf_n.Class-1,M)并組播至轉(zhuǎn)發(fā)候選集;
Fork′∈n的轉(zhuǎn)發(fā)候選集
k′利用CERTn驗(yàn)證PUn的真實(shí)性;
k′利用PUf_n.Class-1還原數(shù)據(jù)M;
k′利用PUn解密E(PRn,Hash(M)),從而驗(yàn)證M的完整性;
k′生成安全數(shù)據(jù)n‖PUk′‖CERTk′‖E(PRk′,Hash(M))‖E(PUf_k′.Class-1,M);
k′根據(jù)轉(zhuǎn)發(fā)效益計(jì)算保持時(shí)間,等待保持時(shí)間;
k′監(jiān)聽(tīng)鄰居,如感知任意的合法n‖PU*‖CERT*‖*,則丟棄數(shù)據(jù);
k′的保持時(shí)間結(jié)束,進(jìn)行機(jī)會(huì)數(shù)據(jù)轉(zhuǎn)發(fā);
End For
本文提出的方法涉及以下3個(gè)方面的安全保護(hù).
1)基于移動(dòng)CA的公鑰證書發(fā)放:該過(guò)程基于水下可見(jiàn)光通信,水下光速=折射率/光速,一般在20~30×105m/秒,可以忽略傳播延時(shí),且因水下可見(jiàn)光通信的定向特性及證書發(fā)放過(guò)程的單跳式握手模式,無(wú)竊聽(tīng)、假冒等被動(dòng)攻擊威脅和篡改、干擾等主動(dòng)攻擊威脅.
2)浮標(biāo)節(jié)點(diǎn)的空間密鑰安全參數(shù)傳遞:該過(guò)程基于公鑰加密算法及點(diǎn)對(duì)點(diǎn)公鑰認(rèn)證,安全性能取決于現(xiàn)有公鑰加密算法的安全強(qiáng)度及密鑰大小.
3)基于空間組密鑰的機(jī)會(huì)式數(shù)據(jù)傳輸:機(jī)會(huì)路由模式中,攻擊者可以通過(guò)偽造轉(zhuǎn)發(fā)效益,優(yōu)先轉(zhuǎn)發(fā)數(shù)據(jù)并抑制其他候選轉(zhuǎn)發(fā)節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā),從而形成網(wǎng)絡(luò)層攻擊.假設(shè)攻擊者未獲得移動(dòng)CA的公鑰證書,則不能通過(guò)鏈?zhǔn)浇Y(jié)構(gòu)安全參數(shù)并生成空間密鑰對(duì),無(wú)法利用空間私鑰解密待轉(zhuǎn)發(fā)數(shù)據(jù)并生成上一個(gè)空間等級(jí)的加密數(shù)據(jù);因此,如轉(zhuǎn)發(fā)候選節(jié)點(diǎn)的最大保持時(shí)間大于攻擊者破譯待轉(zhuǎn)發(fā)數(shù)據(jù)所需時(shí)間,攻擊者則無(wú)法抑制其余候選轉(zhuǎn)發(fā)節(jié)點(diǎn)的數(shù)據(jù)轉(zhuǎn)發(fā),從而預(yù)防網(wǎng)絡(luò)層攻擊.
上述過(guò)程均利用強(qiáng)公鑰加密算法,需要較高的計(jì)算成本,但消耗較少的通信成本,較適用于通信環(huán)境惡劣的水下通信環(huán)境.首先,移動(dòng)CA的公鑰證書僅用于安全參數(shù)的傳遞,因此可以保留較長(zhǎng)的更新周期;其次,節(jié)點(diǎn)間的數(shù)據(jù)傳輸僅需鄰居節(jié)點(diǎn)間的空間密鑰,發(fā)送方可以通過(guò)任意鄰居節(jié)點(diǎn)的空間公鑰加密數(shù)據(jù)并進(jìn)行機(jī)會(huì)式數(shù)據(jù)轉(zhuǎn)發(fā),因此可以投入較少的鄰居身份認(rèn)證及公鑰廣播成本.
本文利用水下通信的仿真實(shí)驗(yàn),分析了提出方法的可用性.仿真環(huán)境為1000m×1000m×500m的三維水下空間,源節(jié)點(diǎn)、轉(zhuǎn)發(fā)節(jié)點(diǎn)、浮標(biāo)節(jié)點(diǎn)分別按照3:6:1的比例布置在水底、水中及水面.源節(jié)點(diǎn)使用RSA公鑰加密算法加密數(shù)據(jù),并采用GEDAR[24]機(jī)會(huì)路由模式,通過(guò)轉(zhuǎn)發(fā)節(jié)點(diǎn)將密文數(shù)據(jù)傳輸至水面浮標(biāo)節(jié)點(diǎn).仿真環(huán)境中,水下聲速為1500m/秒,水聲通信的半徑為200m;所有節(jié)點(diǎn)利用CSMA機(jī)制回避信號(hào)沖突,并周期性廣播256、512、1024、2048、3072位RSA公鑰.圖4-圖7為網(wǎng)絡(luò)性能的比較分析結(jié)果,分析要素為數(shù)據(jù)包投遞率與逐跳(hop-by-hop)傳輸延遲.此外,根據(jù)章節(jié)4.2假設(shè)條件的1)、2),本文未計(jì)及可見(jiàn)光通信及公鑰加密算法的安全性分析.
圖4 不同公鑰強(qiáng)度下的數(shù)據(jù)包投遞率與平均傳播延遲比較(公鑰廣播周期:10秒)
圖5 不同公鑰強(qiáng)度下的數(shù)據(jù)包投遞率與平均傳播延遲比較(公鑰廣播周期:15秒)
圖4-圖7中,節(jié)點(diǎn)密度的增加加強(qiáng)了網(wǎng)絡(luò)的連通性,隨之提高了投遞率與逐跳延遲.而隨著公鑰強(qiáng)度的增加,數(shù)據(jù)包投遞率呈現(xiàn)下降趨勢(shì).原因在于,根據(jù)常規(guī)的RSA算法,生成的密文長(zhǎng)度等于密鑰長(zhǎng)度,較大數(shù)據(jù)包的傳輸增加了傳輸過(guò)程中數(shù)據(jù)包的丟失概率,繼而降低了整體網(wǎng)絡(luò)的數(shù)據(jù)包投遞率.此外,公鑰長(zhǎng)度的加大降低了逐跳傳播延遲,原因在于,較大的密鑰長(zhǎng)度間接增加了單個(gè)密文中可容納的數(shù)據(jù)量,因此減少了整體網(wǎng)絡(luò)的數(shù)據(jù)傳輸次數(shù),繼而減少了基于CSMA的信道競(jìng)爭(zhēng)現(xiàn)象,提高了鄰居節(jié)點(diǎn)見(jiàn)的信道利用率,間接降低了逐跳延遲.圖7為無(wú)公鑰廣播模式下的網(wǎng)絡(luò)性能,可以看出,公鑰廣播周期到達(dá)20秒/次(圖6)時(shí),其網(wǎng)絡(luò)性能較接近于無(wú)公鑰更新模式(圖7),一定程度上提示了該網(wǎng)絡(luò)模型下較為理想的最小公鑰更新周期.
圖6 不同公鑰強(qiáng)度下的數(shù)據(jù)包投遞率與平均傳播延遲比較(公鑰廣播周期:20秒)
圖7 不同公鑰強(qiáng)度下的數(shù)據(jù)包投遞率與平均傳播延遲比較(無(wú)公鑰更新)
苛刻的水下通信條件及復(fù)雜的水下信道特性使傳統(tǒng)網(wǎng)絡(luò)空間安全技術(shù)較難適用于水下通信網(wǎng)絡(luò).據(jù)此,本文針對(duì)提高安全數(shù)據(jù)通信在水下通信網(wǎng)絡(luò)的實(shí)踐可行性,提出了一種基于公鑰加密體制,結(jié)合CA認(rèn)證與機(jī)會(huì)式數(shù)據(jù)轉(zhuǎn)發(fā)的水下安全數(shù)據(jù)傳輸方法.提出方法面向水下通信環(huán)境中安全數(shù)據(jù)通信的復(fù)雜性,分別針對(duì)水下可見(jiàn)光通信及水下聲通信的信道特征,引入了一種基于移動(dòng)CA的公鑰證書發(fā)放策略及一種基于空間驗(yàn)證的公鑰管理策略,試解決具備動(dòng)態(tài)拓?fù)浣Y(jié)構(gòu)、復(fù)雜信道特性的水下通信網(wǎng)絡(luò)公鑰管理及安全通信問(wèn)題.