周 健,施文君,殷紅彩,孫麗艷
1.安徽財經(jīng)大學(xué) 管理科學(xué)與工程學(xué)院,安徽 蚌埠 233041
2.北京郵電大學(xué) 計算機(jī)學(xué)院,北京 100083
飛行器自組網(wǎng)絡(luò)(flyingAd Hoc network,F(xiàn)AHN)[1-3]是無線網(wǎng)絡(luò)的一種,是由空域內(nèi)多個飛行器連接建立的移動自組織網(wǎng)絡(luò),飛行器通過單跳或多跳通信轉(zhuǎn)發(fā)成員和地面的數(shù)據(jù)和控制指令[4]。FAHN中的節(jié)點(diǎn)通信無需固定的基礎(chǔ)網(wǎng)絡(luò)設(shè)施或中心控制節(jié)點(diǎn),飛行器群比單個飛行器具有更多的優(yōu)勢,通過合作與協(xié)作飛行器群成員可以有效地減少資源開銷,增強(qiáng)生存能力和任務(wù)執(zhí)行效率,具有可擴(kuò)展性、自組織、自恢復(fù)和抗毀性[5]。FAHN具有能夠被快速部署到復(fù)雜環(huán)境中的優(yōu)點(diǎn),在軍事和民用中得到廣泛的應(yīng)用,如無人機(jī)群、衛(wèi)星群、配置傳感器的鳥群等[6-7],成為當(dāng)前研究熱點(diǎn)。然而多個飛行器組成的飛行器群最大的挑戰(zhàn)是通信問題,與地面Ad Hoc網(wǎng)絡(luò)相比較,不僅具有無中心節(jié)點(diǎn)、鏈路可靠性差、節(jié)點(diǎn)能力有限等共性問題[8-9],而且還具有覆蓋面積大、三維空間部署、高速移動、高動態(tài)的拓?fù)浣Y(jié)構(gòu)、頻繁的網(wǎng)絡(luò)分割和合并、外部環(huán)境多變、多普勒效應(yīng)、節(jié)點(diǎn)密度低的特有問題[10]。因此,F(xiàn)AHN與傳統(tǒng)Ad Hoc網(wǎng)絡(luò)相比具有許多新的問題與挑戰(zhàn)[11]。特別是FAHN通信完全暴露在空中,而且覆蓋面積較大,飛行器很容易被捕獲或摧毀,安全管理策略尤為重要,其中密鑰管理是一個無線網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)[12],決定了FAHN的安全性能。
群組密鑰管理[13-14]是FAHN安全問題的重要內(nèi)容,為飛行器成員間的通信建立安全信道和身份認(rèn)證。然而飛行器網(wǎng)絡(luò)的密鑰管理受到嚴(yán)格限制。飛行器的載重和空間是有限的,導(dǎo)致飛行器的計算能力、能量水平和存儲能力也受到限制[15],減少計算開銷、存儲開銷和消息開銷是FAHN群組密鑰管理的重要目標(biāo)。但是相對計算開銷和存儲開銷,減少飛行器間交互延時和消息開銷更為重要。一方面,隨著硬件性能的不斷提升,目前飛行器攜帶的存儲器和計算器的性能已經(jīng)顯著提高,可持續(xù)性的大容量電池進(jìn)一步緩解了能量消耗問題;另一方面,目前飛行器的機(jī)動性越來越高,飛機(jī)的飛行速度在500~1000km/h,軍用飛機(jī)的速度可達(dá)3.5 Mach,高速、多變的飛行對交互延時提出苛刻要求,高速度使得成員快速脫離成員無線覆蓋區(qū)域,多飛行器網(wǎng)絡(luò)快速合并和分裂,已經(jīng)無法容忍密鑰更新的多次交互。特殊情況下,飛行器網(wǎng)絡(luò)的機(jī)會通信容忍的延時更為苛刻[16]。高速移動對網(wǎng)絡(luò)的連通性和協(xié)議的延時產(chǎn)生了嚴(yán)重影響。
目前,根據(jù)密鑰中加密密鑰和解密密鑰之間的關(guān)系,動態(tài)群組密鑰管理主要分為兩大類:共享密鑰群組管理方案和非共享式群組密鑰管理方案[17]。在共享密鑰群組管理方案中,所有群成員共享相同的密鑰,群密鑰不具有密鑰獨(dú)立性,單個成員的妥協(xié)導(dǎo)致整個網(wǎng)絡(luò)安全失敗[18],在成員的加入和退出中為保護(hù)前向和后向安全性,所有群成員參與密鑰更新[19-20],如 方 案 GDH(group Diffie-Hellman)[21]、Octopus[22]、DHLKH(logical key hierarchy based Diffie-Hellman protocol)[23]。在非共享式群組密鑰管理方案中,密鑰包括加密密鑰和解密密鑰,不同成員間的解密密鑰具有密鑰獨(dú)立性[24],在密鑰更新中非更新成員的解密密鑰無需更新,減少了成員計算開銷,但是非更新成員參與交互過程從而引發(fā)1-affect-n問題[25],增加了消息延時,如基于中國剩余定理的方案SLP(secure locks protocol)[26]、基于門限密鑰的單加密密鑰多解密密鑰協(xié)議OMEDP(one-encryption-keymulti-decryptionkey encryption decryption key)[27-28]、基于雙線性對的AGKM(automatic group key management)[17-29]、不滿足前向安全性的PKM(polynomial-based key management)[30]?;谏矸莸娜航M密鑰管理方案[31]存在不支持前向和后向安全性問題,方案[32]中密鑰更新需要重新執(zhí)行協(xié)議,至少群成員間需要一輪交互過程。因此,研究非交互式群組密鑰管理對FAHN具有重要意義。
針對上述問題,本文提出一種非交互式動態(tài)群組密鑰管理方案。初始化階段,地面可信中心生成公開加密密鑰,并通過安全信道為群成員分配具有密鑰獨(dú)立性的私有解密密鑰,當(dāng)有成員加入、退出網(wǎng)絡(luò)時,或者網(wǎng)絡(luò)發(fā)生分裂或合并時,非更新成員的私有解密密鑰保持不變,只需更新公開加密密鑰,加密解密過程隱含身份認(rèn)證,密鑰更新無須交互過程,減少了時間延時,提高了密鑰更新效率。該方式適合于延時受限的飛行器自組織網(wǎng)絡(luò)。
高速的飛行狀態(tài)和頻繁的拓?fù)渥兓瘎荼厥沟萌簝?nèi)的成員狀態(tài)產(chǎn)生變化,加入和退出不可避免。為了協(xié)作完成某些任務(wù),飛行器網(wǎng)絡(luò)在運(yùn)行過程中可能分裂為多個子網(wǎng)或者合并成一個較大的網(wǎng)絡(luò)[33]。為了保證動態(tài)變化的群成員安全,群密鑰管理必須更新密鑰以保障前向和后向安全性,密鑰更新的性能決定安全策略的性能[34]。動態(tài)群組密鑰操作主要包括4種:密鑰加入操作(key joining operation)、密鑰退出操作(key leaving operation)、密鑰合并操作(key merging operation)、密鑰分裂操作(key partition operation)。
飛行器自組織網(wǎng)絡(luò)部署在覆蓋面積較大,空間部署為三維的環(huán)境中。建議方案運(yùn)行在如下環(huán)境中,地面存在一個可靠的密鑰管理中心或可信中心,該中心通過衛(wèi)星發(fā)布公開信息,如群身份ID、公開加密密鑰等信息,且在衛(wèi)星上發(fā)布的信息不可篡改。飛行器網(wǎng)絡(luò)覆蓋面積較大,且可能在短時間內(nèi)飛行器飛出無線信號最大傳輸距離,如圖1所示,由此飛行器網(wǎng)絡(luò)成員間的交互過程可能無法實現(xiàn)。同時,飛行器網(wǎng)絡(luò)的成員與控制中心的距離超過傳輸距離,可能無法與地面控制中心取得及時的聯(lián)系,因此該成員可通過衛(wèi)星獲得必要的公開信息。
Fig.1 Topology of flyingAd Hoc networks圖1 飛行器自組網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
建議方案支持安全信道建立和動態(tài)群組密鑰操作。協(xié)議分為3個階段,協(xié)議中的實體包括可信中心(trust center)生成的公鑰和私鑰,飛行器組成的自組織網(wǎng)絡(luò),規(guī)模為 n,每個群成員 useri,1≤ i≤ n,在可信中心的注冊身份IDi,1≤i≤n。
可信中心生成素數(shù)q,生成價為q的兩個循環(huán)群G1和G2,G1為加法循環(huán)群,G2為乘法循環(huán)群,以及一個有效的雙線性映射e:G1×G1→G2,可信中心任意選擇一個生成元P∈G1,選取n個不同的隨機(jī)數(shù){xi,1≤i≤n},構(gòu)造一元n次方程式:
系數(shù)ai滿足如下公式:
計算公鑰為PK={aiP,0≤i≤n},選擇兩個哈希函數(shù)和H2:G2→{0,1}N,可信中心在公告板如衛(wèi)星上發(fā)布公開信息{PK,H1,H2}。
可信中心為成員useri計算QIDi=H1(IDi),計算解密私鑰通過安全信道發(fā)送給成員,如在執(zhí)行任務(wù)前通過人工方式。
發(fā)送方需要將明文m發(fā)送給飛行器群成員useri,發(fā)送者從公開的公告板如衛(wèi)星上獲取公開加密秘鑰,PK={aiP,0≤ i≤ n},選擇一個隨機(jī)數(shù)計算u={raiP,1≤ i≤ n},QIDi=H1(IDi)和 gIDi=e(QIDi,a0P)。發(fā)送方加密明文c=m⊕H2(e(QIDi,a0P)r),然后發(fā)布(u,c)。
接受者useri收到信息(u,c),使用私鑰 xi計算
使用公式解密:
當(dāng)有成員離開群時,為保護(hù)前向安全性,群密鑰管理執(zhí)行群密鑰離開操作。設(shè)離開的群成員為usern,身份為IDn。可信中心重新構(gòu)造一元n-1次方程式:
系數(shù)ai滿足如下公式:
可信中心在公告板重新發(fā)布公鑰為PK′={aiP,1≤i≤n-1},未離開成員useri的解密私鑰保持不變,仍舊為加密階段和解密階段如3.2節(jié)和3.3節(jié)描述。
當(dāng)有新成員加入群時,為保護(hù)后向安全性,群密鑰管理執(zhí)行群密鑰加入操作。設(shè)新加入的群成員為usern+1,身份為IDn+1。新加入成員在加入網(wǎng)絡(luò)前通過安全信道從可信中心獲取秘密解密秘鑰1≤ j≤ n+1。
可信中心重新構(gòu)造一元n+1次方程式:
系數(shù)ai滿足如下公式:
可信中心在公告板重新發(fā)布公鑰為PK″={aiP,1≤i≤n+1},成員useri的解密私鑰保持不變,仍舊為加密階段和解密階段如3.2節(jié)和3.3節(jié)描述。
當(dāng)兩個子群合并為一個群時,群密鑰管理執(zhí)行群密鑰合并操作。設(shè)合并的兩個群為A群和B群,規(guī)模分別為n1、n2,可信中心為A群構(gòu)造的一元n1次方程為可信中心為B群構(gòu)造的一元n2次方程為則可信中心合并兩個方程的根集合{xi,1≤i≤n1}和{xi,1≤i≤n2}得到 {xi,1≤ i≤ n1+n2},通過集合{xi,1≤ i≤ n1+n2}重新構(gòu)造一元n1+n2次方程:
則系數(shù)ai滿足如下公式:
可信中心在公告板重新發(fā)布公鑰為PK″={aiP,1≤i≤n1+n2},A群和B群中成員useri的解密私鑰保持不變,仍舊為加密階段和解密階段如3.2節(jié)和3.3節(jié)描述。
當(dāng)一個群分裂為兩個子群時,群密鑰管理執(zhí)行群密鑰分裂操作,設(shè)分裂后的兩個群為A群和B群,規(guī)模分別為n1、n2,分裂前可信中心利用集合{xi,1≤i≤ n1+n2}構(gòu)造一元 n1+n2次方程則分裂后的A群擁有集合{xi,1≤i≤n1},可信中心為A群構(gòu)造一元n1次方程:
則系數(shù)ai滿足如下公式:
分裂后的B群擁有集合{xi,1≤i≤n2},可信中心為B群構(gòu)造方程一元n2次方程:
則系數(shù)ai滿足如下公式:
可信中心在公告板重新發(fā)布A群和B群的公鑰為 PKA={aiP,1≤ i≤ n1},PKB={aiP,n1≤ i≤ n1+n2},A群和B群中成員useri的解密私鑰保持不變,仍舊為加密階段和解密階段如3.2節(jié)和3.3節(jié)描述。
具有合法解密秘鑰的成員能夠成功解密密文,合法成員對應(yīng)的解密私鑰滿足如下的性質(zhì):
因此
群密鑰離開操作需要保證前向安全性,退出的群成員不能成功解密退出后的加密信息。退出節(jié)點(diǎn)的私鑰為退出前加密的信息為m⊕H2(e(QIDi,a0P)r),退出后可信中心更新了公開加密密鑰,公開加密密鑰PK={aiP}的系數(shù)ai由
更新為:
群密鑰加入操作需要保證后向安全性,新加入的群成員不能成功解密加入前的加密信息。新加入節(jié)點(diǎn)的私鑰為,退出前加密的信息為m⊕H2(e(QIDi,a0P)r),退出后可信中心更新了公開加密密鑰,公開加密密鑰PK={aiP}的系數(shù)ai由
更新為:
攻擊者從公開信道獲得的信息包括公開加密密鑰 PK={aiP}和加密信息({raiP},m⊕H2(e(QIDi,a0P)r))。攻擊者已知{raiP,1≤i≤n}、QIDi、a0P,無合法解密密鑰的攻擊者或者從{raiP,1≤i≤n}獲取r,計算gIDi=e(QIDi,a0P)r,需要破解離散對數(shù)難解問題;或者從公鑰集合{aiP,0≤i≤n}中根據(jù)ai系數(shù)獲取合法解密密鑰值xi,該問題也規(guī)約到破解離散對數(shù)難解問題,因此加密的信息具有私密性。
每個成員具有的解密密鑰互不相同,可信中心為成員useri和userj隨機(jī)選取秘密值xi和xj,并計算秘密密鑰和和xj不存在關(guān)聯(lián)性,由此也不存在關(guān)聯(lián)性,即useri不能通過獲取也不能通過獲取因此合法成員的解密密鑰具有密鑰獨(dú)立性。
攻擊者從公開加密密鑰中獲取PK″={aiP,1≤i≤n+1},必須破解離散對數(shù)難解問題得到系數(shù)ai,從而構(gòu)造一元n次方程式計算方程式的根得到合法成員的秘密解密密鑰。
初始化階段,可信中心計算多項式系數(shù)使用簡單的數(shù)學(xué)運(yùn)算,因此其計算開銷可以忽略。可信中心生成公鑰需要計算n次模乘運(yùn)算,為每個成員計算私鑰需要計算(1+n)n/2次模乘運(yùn)算。加密階段執(zhí)行n+1次模乘運(yùn)算,一次雙線性對運(yùn)算。解密階段執(zhí)行n次雙線性對運(yùn)算。公鑰密鑰生成的計算開銷與群規(guī)模呈線性關(guān)系,解密密鑰生成的計算開銷與群規(guī)模呈多項式關(guān)系。
在群動態(tài)操作中,為更新加密密鑰,密鑰離開操作中公開加密密鑰為離開前公開加密密鑰的子集,因此需n-1次模乘運(yùn)算。密鑰加入操作中,可信中心執(zhí)行n次雙線性對模乘運(yùn)算。密鑰分裂操作中,公開加密密鑰為離開前公開加密密鑰的子集,因此需n+m次模乘運(yùn)算。密鑰合并操作中,可信中心最多執(zhí)行n+m次雙線性對模乘運(yùn)算。4種密鑰動態(tài)操作中,群成員無需更新自己的私有密鑰,因此計算開銷為0??尚胖行牡挠嬎汩_銷與群規(guī)模相關(guān),而動態(tài)成員的計算開銷與群規(guī)模無關(guān)??尚胖行耐ㄟ^更新公開加密密鑰撤銷退出成員的私鑰合法性。
初始化階段,可信中心在公開板上發(fā)布公鑰,并通過安全信道為每個成員發(fā)送秘密解密密鑰。在群動態(tài)操作中,離開或加入的成員發(fā)送一條加入或退出的信息,非加入或退出成員的秘密解密密鑰保持不變,因此消息開銷為1。同理,合并或分裂的成員發(fā)送一條合并或分裂的信息,合并或分裂的成員的秘密解密密鑰保持不變,因此消息開銷為1。消息開銷與群規(guī)模無關(guān)。密鑰更新過程中沒有交互過程,可信第三方和群成員之間無需建立安全信道,群成員之間也無需交互。
公鑰的存儲復(fù)雜度為n+1,加密消息的存儲復(fù)雜度為n+1,每個成員的秘密解密密鑰復(fù)雜度為n+1。公鑰和私鑰的存儲復(fù)雜度與群規(guī)模相關(guān)。
GKM(group key management)和LKH(logical key hierarchy)是自組織網(wǎng)絡(luò)中應(yīng)用較多的方案,其中DHLKH是基于Diffie-Hellman密鑰交互協(xié)議設(shè)計的一種LKH典型協(xié)議,密鑰協(xié)商過程滿足自組織網(wǎng)絡(luò)需要,但是上述兩種方案在密鑰更新中存在1-affectn問題,導(dǎo)致拓?fù)渥兓枰w成員參與密鑰更新過程,多次交互過程引發(fā)較長的延時,不能滿足飛行器自組織網(wǎng)絡(luò)的密鑰管理需要。
如表1~表4所示,建議方案在4種群組密鑰動態(tài)操作中的計算開銷與網(wǎng)絡(luò)的規(guī)模相關(guān),但是考慮到實際承擔(dān)計算任務(wù)的是可信中心,因此網(wǎng)絡(luò)成員無需為更新密鑰消耗網(wǎng)絡(luò)資源。同時,建議方案的消息開銷與群規(guī)模無關(guān),對比其他方案在延時上具有較大的優(yōu)勢。
如表5所示,GKM和LKH方案不支持身份認(rèn)證,需要添加身份認(rèn)證機(jī)制,因此需要更多的交互過程,建議方案無需身份認(rèn)證,隱含在加密/解密過程中。GKM和LKH方案無需可信中心支持,而建議方案在更新公開加密密鑰時,需要可信中心和公告板支撐,在飛行器網(wǎng)絡(luò)中可以通過衛(wèi)星進(jìn)行部署。建議方案的最大優(yōu)勢是飛行器非更新網(wǎng)絡(luò)成員無需參與密鑰更新過程,即在保證私有解密密鑰合法性前提下,無需為密鑰更新付出計算開銷和消息開銷,而GDH、DHLKH的非更新成員需要為密鑰更新付出計算開銷和消息開銷。
Table 1 Comparison on group key joining operation表1 群密鑰加入操作性能比較
Table 2 Comparison on group key leaving operation表2 群密鑰離開操作性能比較
Table 3 Comparison on group key division operation表3 群密鑰分裂性能比較
Table 4 Comparison on group key merging operation表4 群密鑰合并性能比較
Table 5 Comparison on group key schemes表5 群密鑰方案
在C語言環(huán)境中模擬飛行器網(wǎng)絡(luò)群組密鑰管理,統(tǒng)計3種方案(建議方案NIGKM、GDH、DHLKH)密鑰更新中的延時時間。在場景中隨機(jī)部署規(guī)模為n(5,10,15,20,30)的飛行器群,群成員間保持連通性,群成員間交互最多2跳距離,每跳的延時為10 ms,分別統(tǒng)計信道可靠情況下,成員加入和退出的延時時間,以及信道非可靠情況下(信道的連通概率為0.8),成員加入和退出的延時時間。
Fig.2 Time delay of member joining or leaving under reliable channel圖2 可靠信道下節(jié)點(diǎn)加入更新延時和退出更新延時
Fig.3 Time delay of member joining or leaving under non-reliable channel圖3 非可靠信道下節(jié)點(diǎn)加入更新延時和退出更新延時
如圖2和圖3所示,建議方案NIGKM密鑰更新延時與網(wǎng)絡(luò)規(guī)模無關(guān),由于密鑰更新中成員間無需通過信道進(jìn)行交互,信道狀態(tài)對密鑰管理延時不產(chǎn)生影響,因此延時最少,僅為常數(shù)級。然而GDH和DHLKH的密鑰更新延時與網(wǎng)絡(luò)規(guī)模相關(guān),且信道的非可靠狀態(tài)進(jìn)一步加劇了密鑰更新延時,這是因為GDH和DHLKH的密鑰更新過程需要成員間交互,隨著信道連通性的降低,密鑰更新需要的延時進(jìn)一步增加。
本文提出了一種適合高速飛行器自組織網(wǎng)絡(luò)的群組密鑰管理方法,通過公鑰結(jié)構(gòu)改變解密密鑰的關(guān)系,優(yōu)化群組密鑰管理策略,具有密鑰獨(dú)立性的解密密鑰無需參與密鑰更新過程,通過綁定身份的方式進(jìn)一步減少了因身份認(rèn)證交互過程帶來的延時,提高了飛行器自組織網(wǎng)絡(luò)應(yīng)對動態(tài)拓?fù)渥兓哪芰Α?/p>