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