馬詩雨,張俊偉,張興隆,盧笛,馬建峰
1.西安電子科技大學,陜西 西安 710071
2.航空工業自控所 飛行器控制一體化技術國防科技重點實驗室,陜西 西安 710065
在無人機網絡中,無人機通過數據通信鏈路傳輸飛行數據給地面站,用于進一步分析。地面站通過數據通信鏈路將飛控指令發送給無人機,以便執行任務軌跡更新、飛行姿態調整等操作。因此,數據通信鏈路通常需要完整的通信協議,以便無人機和地面站進行消息報文的解析和封裝。然而,無人機的消息傳輸常采用廣播網絡,其開放性也使得系統安全性遭到嚴重威脅,如指令偽造、數據重放、信號劫持等攻擊,因此,無人機組網下的安全問題備受關注。
在無人機場景下,一方面,無人機將自身的數據發送給地面站,以供后續分析,這些數據與無人機自身的行為及其所處的環境特征相關,因此需要保證這些數據的機密性,為保證無人機所傳輸的數據被正確地發送給地面站,需要保證這些數據的完整性;另一方面,地面站將飛控指令發送給無人機,無人機需要驗證該指令是否被篡改或破壞,以及該指令是否來自合法的地面站,即需要保證飛控指令的完整性。
目前,無人機系統的安全通信機制主要有兩種思路:一是在物理層使用軌跡優化方法來抵抗竊聽攻擊,從而保護無人機所傳輸的數據的機密性[1-2];二是使用加密和數字簽名等密碼學的方法保護數據的機密性和完整性[3-11]。然而,相關研究僅提出了數據安全保護機制,沒有針對飛控指令的安全性問題提出解決方案。
目前,針對無人機飛行控制的相關研究主要關注無人機的位姿測量[12]、自主降落[13]以及抗干擾控制[14]等方面。然而,現有研究未關注飛控指令的完整性保護需求,因此未針對數據和飛控指令分別設計相應的保護機制。
本文針對無人機網絡中數據傳輸和飛控指令傳遞的不同安全需求,提出了數控分離的安全傳輸機制。針對數據傳輸的機密性和完整性需求,在接入認證、群組安全管理、多域異構融合的基礎上,基于協商的會話密鑰,建立基于分組加密和消息認證碼的安全傳輸通道,保障數據傳輸的機密性和完整性;針對飛控指令完整性的安全需求,基于哈希函數和哈希鏈構造飛控指令的可靠傳輸機制,在保證生成飛控指令的設備真實性同時,實現對控制信令完整性的驗證,提出基于AES-CCM 加密模式的數據安全通信協議以及基于一次簽名的飛控廣播認證協議。
隨著國內外學者對無人機網絡的安全問題的日益關注,目前已經出現了一系列針對無人機網絡的安全通信機制的研究。而無人機經常采用廣播網絡進行消息傳輸,因此,可使用廣播認證協議實現無人機系統中高效的消息認證。
目前,針對無人機網絡中的安全通信,已經存在一系列研究[15]。其中,許多研究旨在保護無人機系統中消息的機密性和完整性。
一些方法使用無人機軌跡優化的方式來抵御非法信道上的竊聽攻擊,從而保護無人機數據的機密性。徐煜軒等[1]針對無人機網絡中信息在物理層的機密性保護問題,提出了一種基于概率視距信道模型的安全通信優化方法。Zhang等[2]提出了一種物理層的安全方法,通過無人機主動優化軌跡來提高合法信道的增益或削弱非法信道,從而抵御竊聽攻擊。
另一些工作通過密碼學手段保護無人機數據的機密性和完整性。郭晶晶等[3]提出了一種無人機自組網中的拓撲消息完整性保護方案,該方案通過數字簽名和區塊鏈技術保護網絡拓撲建立過程中消息的完整性。張凌浩等[4]提出了一種基于MAVLink協議的無人機系統安全通信方案,該方案基于對稱密鑰協商完成對地面站的身份認證和加密通信。張敏等[5]提出了一種基于安全概略算法的多因子認證密鑰協商協議,能夠抵抗密鑰竊取、會話密鑰泄露攻擊、無人機偽裝攻擊和由第三方服務器發起的合謀攻擊。賀蕾等[6]提出了一種面向無人機網絡的屬性代理簽名方案,能夠保護指揮機構向無人機發送的命令的完整性,提供認證,并保護簽名者的隱私。王宇晨等[7]提出了一種基于區塊鏈和智能合約的無人機數據安全共享和協同決策方法,能夠保證數據的機密性、完整性和可用性。Li 等[8]提出了一種針對無人機網絡的高效節能的安全傳輸方法,該方法基于SM4輕量級對稱國密算法和密鑰協商機制保護通信內容的機密性,基于改進的聚合BLS簽名和默克爾哈希樹保護數據的完整性和真實性。Alladi 等[9]提出了一種基于物理不可克隆函數的無人機身份認證機制,能夠抵抗偽裝、中間人攻擊重放攻擊等攻擊手段。針對地面竊聽者破壞數據機密性的攻擊,Yang等[10]提出了一種基于零信任的無人機認證方式,實現了無人機群在數據交換和共享中的快速認證,保證消息的可靠性。Kim等[11]針對無人機數據竊聽和非法獲取控制權等攻擊,提出了一種保護無人機通信數據和存儲信息的模塊,保護數據的機密性和完整性。
然而,上述的無人機網絡安全通信機制相關研究僅僅關注無人機系統中數據的安全需求,沒有重點關注飛控指令的完整性需求,因此沒有針對無人機數據和飛控指令的不同安全需求分別設計安全通信機制。
廣播認證協議能夠使發送者將認證的消息廣播給整個網絡,敵手無法篡改廣播的消息。對于很多應用,如路由樹的建立、軟件升級、時間同步等,廣播認證都是一個基本且十分重要的安全服務。
基于一次簽名的廣播認證具有效率高、即時認證、不需要時間同步、不可否認性的優點。Lamport[16]首先提出了一次簽名的概念,隨后一些一次簽名方案也陸續被提出。Bos等[17]以及 Bleichenbacher等[18]研究了基于非循環圖的一次簽名的問題。Even等[19]將公鑰簽名和一次簽名結合提出了在線/離線簽名。Hevia等[20]提出了可證安全的基于圖論的一次簽名。以上方案的計算量和通信開銷都較大,不適合資源受限的網絡。Perrig[21]首次提出了一個高效的一次簽名方案,即BiBa。隨后,Mitzenmacher 等[22]改進了BiBa[21]并提出了Powerball簽名。然而,BiBa[21]和Powerball[22]僅能在隨機預言機(RO)模型下證明是安全的。HORS[23]是一個高效的一次簽名方案,其安全性基于單向函數和子集彈性哈希函數。由于子集彈性哈希函數是一個較強的安全假設,針對HORS[23]出現了一些基于較弱安全假設的改進方案,如Pieprzyk 等[24]設計了一個基于單向函數和非覆蓋族可證安全的一次簽名方案,但其通信開銷和密鑰長度都比HORS[23]大很多,不適合低能量設備。
廣播認證協議被廣泛應用于無線網絡中。蔣毅等[25]提出了一種基于默克爾樹的廣播認證策略,支持無線傳感器網絡中存在大規模廣播發送節點的情況。姚宣霞等[26]提出了一種基于Nyberg快速單向累加器的廣播認證算法,并將其應用于無線傳感器網絡中。Hsiao 等[27]提出了快速認證和選擇性認證兩種廣播認證方案,該方案能夠應對車聯網場景下的簽名泛洪導致無法在截止時間前驗證簽名的問題。Maidhili 等[28]提出了一種基于橢圓曲線公鑰密碼的廣播認證機制,在無線傳感器網絡中可以實現低能耗的通信。
本文所提出的數據安全傳輸協議使用計數器和密文分組鏈接消息認證碼(CCM)模式的認證加密和高級加密標準(AES)分組加密模式,所提出的飛控廣播認證協議使用基于哈希函數的一次簽名算法。因此本節分別對AES分組加密算法、哈希函數和一次簽名進行介紹。
AES 分組加密算法主要由4 種運算組成:字節代換層(SubBytes)、行移位層(ShiftRows)、列混淆層(MixColumns)和輪密鑰加層(AddRoundKey)。本文采用分組大小與密鑰長度均為128 位的AES 算法,因此明密文塊和密鑰均由16個字節組成,按照從上到下、從左到右的順序排列成一個4 × 4 的矩陣,加密輪數為 10 輪,除了第 10 輪執行的操作外,其余 9 輪執行相同的四步運算。每輪加密后更新矩陣,直到得到密文。
哈希函數H:{0,1}*→{0,1}v具有如下性質:
(1)單向性
對于任意概率多項式時間的敵手A,存在一個可忽略的概率vA使得對于足夠大的k,滿足式(1)
(2)抗碰撞性
對于任意概率多項式時間的敵手A,存在一個可忽略概率vA,使得對于足夠大的k,滿足式(2)
一次簽名算法是指使用一個公私鑰對僅能對一條消息進行簽名的簽名算法。一個一次簽名算法Σ由三個子算法組成,即Σ =(Gen,Sig,Ver),其中Gen 為密鑰生成算法,Sig為簽名生成算法,Ver為簽名驗證算法。其算法描述如下:Gen(1κ):密鑰生成算法輸入安全參數κ,輸出公私鑰對(pk,sk)。Sig(m,sk):簽名算法輸入消息m和私鑰sk,輸出消息m的一次簽名σ。Ver(m,σ,pk):簽名驗證算法輸入消息m,簽名σ和公鑰pk,輸出驗證結果。若驗證結果正確,則輸出1,否則輸出0。
本節首先給出所提方案考慮的無人機網絡的系統模型,之后對敵手的行為作出假設,提出敵手模型,最后提出本文的設計目標。
本文所考慮的無人機網絡由一個地面站和一個由若干無人機組成的無人機群所組成,系統模型如圖1 所示。一方面,地面站將飛控指令發送給無人機,無人機隨后驗證該指令的完整性以及其是否真正來自合法的地面站;另一方面,無人機執行地面基站發送的指令,并將各項機體信息和監測數據傳輸給地面站,以供后續分析。
本文所提出的方案適用于由數量不限的無人機組成的無人機群。在數據傳輸方面,在僅有一架無人機的情況下,該無人機使用其與地面站之間的對稱密鑰執行數據安全傳輸協議;在有多架無人機的情況下,所有無人機組成一個集群,使用預共享的群組密鑰,以群組整體的形式執行數據安全傳輸協議,因此,無人機群向地面站發送的數據量獨立于無人機的數量。在飛控指令傳輸方面,地面站以廣播認證的方式向無人機群發送飛控指令,即地面站僅需廣播一個飛控指令,即可控制多架無人機,因此,地面站發送飛控指令的數據量獨立于無人機的數量。綜上所述,所提出的方案不受無人機集群規模的限制,因此適用于任意規模的無人機群。

圖1 無人機網絡系統模型Fig.1 System model of UAV network
以下定義敵手的行為,并限制了敵手在資源受限的無人機網絡中的能力:(1)敵手可以監聽網絡上任意一條消息;(2)敵手可以是該方案中的任意一個合法參與方,能夠與任意一方建立協議通信,發送消息,或接收任意一方發送的消息;(3)敵手可以偽裝成協議中任何一個參與方,向其他任意的參與方發送消息;(4)敵手在計算上的能力受限,其破解哈希函數的概率是可忽略的。
針對上述對敵手行為的假設,定義以下三類敵手:(1)敵手A1:試圖獲得無人機發送的數據;(2)敵手A2:試圖篡改無人機發送的數據,或偽裝為合法的無人機,向地面站發送虛假數據;(3)敵手A3:試圖篡改地面站發送的飛控指令,或偽裝為合法的地面站,向無人機發送飛控指令。
針對無人機網絡面臨的以上安全威脅,本文擬設計一種針對無人機網絡的數控分離的安全傳輸機制,達到以下設計目標:(1)數據的機密性,即無人機向地面站傳輸的數據無法被敵手獲得;(2)數據的完整性,即無人機向地面站傳輸的數據無法被敵手篡改或偽造;(3)飛控指令的完整性,即地面站向無人機發送的飛控指令無法被敵手篡改或偽造;(4)高效性,即本文所提出的方案在性能上應具有較高的運行效率。
基于第一節對無人機網絡中數據和飛控指令安全需求的分析,本文針對二者不同的安全需求,提出了數控分離的安全傳輸機制。針對無人機向地面站發送的數據,本文提出了一種基于AES-CCM 的數據安全傳輸協議;針對地面站向無人機發送的飛控指令,本文提出了一種基于一次簽名的飛控廣播認證協議。
本文所提出的數控分離的安全傳輸機制的系統流程如圖2 所示。針對無人機到地面站的數據傳輸,本文采用了基于AES-CCM認證加密機制的數據安全傳輸協議,其中,使用計數器(CTR)模式的AES-128 分組加密生成密文數據,使用CBC-MAC 和AES-128 分組加密生成消息認證碼。針對地面站向無人機發送的飛控指令,本文設計了基于一次簽名的廣播認證協議。
針對無人機向地面站發送的數據,本文設計了基于AES-CCM 認證加密機制的數據安全傳輸協議,對數據提供機密性和完整性保證。該協議的過程如算法1所示。

圖2 本文的系統流程Fig.2 Workflow of this paper
在基于AES-CCM 的認證加密機制中,每架無人機和地面站共享一個AES的對稱密鑰K。無人機首先使用隨機數Nonce和計數器生成的序列ct0,ct2,…,ctn-1,通過CTR模式的AES分組加密對消息m加密,生成密文c1,c2, …,cn,其過程如圖3 所示;之后使用基于CBC-MAC 和AES 分組密碼的消息認證碼機制生成消息認證碼MAC,其過程如圖4所示。無人機將密文c1,c2,…,cn和消息認證碼MAC發送給地面站。地面站接收上述消息后,使用CTR模式的AES解密算法解密消息,并使用基于CBC-MAC和AES分組密碼的消息認證碼機制生成消息認證碼MAC′。之后,比較MAC 和MAC′,若二者相等,則消息認證碼驗證通過,接收無人機發送的消息m;否則,拒絕接收無人機發送的消息。
針對地面站發送給無人機的飛控指令,本文提出了一種基于一次簽名的飛控廣播認證協議,用于保護飛控指令的完整性。該協議包含三個算法:密鑰生成算法Gen、簽名算法Sig和簽名驗證算法Ver,具體協議如算法2所示。
算法2 中,基于一次簽名的廣播認證協議使用了哈希鏈,其構造方法如圖5所示。其中,在密鑰生成階段Gen,地面站利用哈希函數f生成d層的單向鏈,選取鏈尾的s0,0,s1,0,…,st-1,0作為初始公鑰v,并將其上一層s0,1,s1,1,…,st-1,1作為初始私鑰s。在簽名階段Sig,地面站使用哈希函數F和H對消息m進行轉換,并將帶有簽名σ和飛控指令m的消息發送給相應的無人機,之后進行密鑰更新,更新過程如圖6所示。地面站將簽名值中使用過的公鑰中的sij,r用其對應的私鑰sij,r+1進行替換,并將更新后的公鑰上層的值sij,r+2作為新的私鑰,在驗證階段Ver,無人機首先使用當前的公鑰驗證收到的簽名,即驗證簽名σ中的每個是否滿足f()=vij,若滿足,則簽名通過驗證,再按照如圖6所示的方式對公鑰進行更新。

本節基于第三節中所提出的敵手模型和相關假設,分別對所提出的數據安全傳輸協議和飛控廣播認證協議進行安全性分析。

圖3 CTR模式的AES-128Fig.3 AES-128 in CTR mode

圖4 基于AES-128的CBC-MACFig.4 CBC-MAC based on AES-128
對于算法1 中的數據安全傳輸協議,以下分析該協議能夠保證數據的機密性和完整性。
5.1.1 數據的機密性

本文所提出的數據安全傳輸機制能夠保證數據的機密性。在算法1 中,無人機通過CTR 模式的AES-128 分組加密,使用和地面站共享的對稱密鑰K對消息m進行加密。由于AES-128的安全性和密鑰的安全性,敵手A1根據密文c1,c2,…cn獲得明文m的概率可以忽略,即滿足式(3)
因此,算法1 的數據安全傳輸機制能夠保護無人機數據的機密性。

圖5 基于哈希鏈的一次簽名構造Fig.5 Construction of one-time signature based on Hash chains

圖6 密鑰更新過程Fig.6 Key updating procedure
5.1.2 數據的完整性
本文所提出的數據安全傳輸機制能夠保證數據的完整性。在算法1 中,無人機通過CBC-MAC 和AES-128 分組加密機制生成對消息m的消息認證碼MAC。一方面,由于AES-128 的安全性和CBC 分組加密體制對錯誤的傳播性質,敵手A2針對偽造的消息m′(m′ ≠m),生成消息認證碼MAC′,使得MAC′ = MAC的概率可以忽略,即滿足式(4)
另一方面,由于密鑰K僅由無人機和地面站共享,AES-128 密鑰空間為2128,敵手A2猜測密鑰K,進而偽裝成合法的無人機發送數據的概率為1/2128,這一數值可以忽略。因此,本文所提出的數據安全傳輸機制能夠保證無人機數據的完整性。
綜上所述,本文所提出的數據安全傳輸機制能夠保證無人機數據的機密性和完整性。
本文所提出的飛控廣播認證協議能夠保護地面站發送的飛控指令的完整性。
(1)在密鑰生成階段,地面站基于哈希函數f生成矩陣S,并將最低一層的v作為公鑰,將其上一層的s作為私鑰。由于哈希函數f具有單向性,則敵手A3根據公鑰v成功推斷私鑰s的概率是可以忽略的,即滿足式(5)
(2)在簽名階段,地面站首先會生成消息m的哈希函數值n=F(m)。由于哈希函數F具有抗碰撞性,敵手A3對一個偽造的消息m'(m'≠m)生成一個哈希函數值n′,使得n′ =n的概率是可以忽略的,即滿足式(6)
(3)在簽名階段,地面站計算h=H(m‖n)。由于哈希函數H具有抗碰撞性,敵手A3對一個偽造的消息m′生成h' =H(m'‖n),使得h′ =h的概率是可忽略的,即滿足式(7)
(4)在簽名階段,地面站輸出消息m及其簽名σ=(si1,si2,…,sik)。敵手A3試圖對偽造的消息m′生成簽名σ′,使 得σ′ =σ。由 于sij的 長 度 為l,則 敵 手A3偽 造σ′ =,使得σ′ =σ的概率可由式(8)表示
通常情況下,l≥80,因此這一概率可以忽略。
綜合上述分析,敵手A3偽裝為地面站發送飛控指令,或篡改地面站的飛控指令,使得簽名可以通過無人機的驗證的概率是可忽略的,因此,本文所提出的基于一次簽名的飛控廣播認證協議能夠保護飛控指令的完整性。
本文通過仿真試驗來對所提出的方案進行性能測試。目前主流的無人機機載計算機包括樹莓派和Jetson等。由于樹莓派具有體積小、成本低、可編程和可擴展的特點,在無人機系統的搭建與開發中,經常使用樹莓派作為無人機機載計算機,因此,本文使用樹莓派模擬無人機的程序執行。無人機地面站通常由計算機、顯示器、遙控器和數據鏈路4類硬件設備組成,其中,計算機需要有足夠的運算和存儲能力。由于本文重點關注地面站參與執行數據安全傳輸和飛控廣播認證協議的開銷,方案中使用了對稱加密和哈希函數等計算開銷相對較小的密碼學技術,因此,本文使用PC 模擬地面站的程序執行,能夠滿足所設計的協議的執行。使用C語言,基于OpenSSL庫進行性能測試。
本文對數據安全傳輸協議和廣播認證協議的性能分別進行如下測試:
(1)對于數據安全傳輸協議,本文評估了方案的加密與消息認證碼生成,以及解密與驗證過程的運行時間。其中,AES-CCM 模式的分組大小和密鑰長度為128bits,分別統計了數量N為100、1000、10000和10萬的100B和1KB的消息時,執行認證加密模塊所需的時間tae和執行驗證解密模塊所需的時間tvd,單位為s。其中,消息選取100B和1KB的全0比特串。
(2)對于廣播認證協議,本文評估了該協議使用不同的哈希函數的情況下各階段的運行時間。具體地,本文統計了當分組數量k分別取2、4、8、16、32、64、128 和256 時,使用MD5、SHA-1、SHA-256 和SHA-512 的哈希函數時的簽名生成時間和簽名驗證時間,單位為ms。仿真地面站發送一個1MB的飛控指令給無人機。
6.2.1 數據安全傳輸協議性能測試
無人機對100B 和1KB 的數據執行認證加密模塊所需的時間tae如圖7所示。無人機對100B的數據進行100次認證加密耗時0.09s,進行1000 次認證加密耗時0.64s,進行10000 次認證加密耗時3.74s,進行105次認證加密耗時40.9s。無人機對1KB 的數據進行100 次認證加密耗時0.09s,進行1000次認證加密耗時0.5s,進行10000次認證加密耗時3.79s,進行105次認證加密耗時43.02s。
地面站執行驗證解密模塊所需的時間tvd如圖8 所示。地面站對100B的數據進行100次驗證解密耗時0.06s,進行1000 次驗證解密耗時0.6s,進行10000 次驗證解密耗時3.6s,進行105次驗證解密耗時38.88s。地面站對1KB 的數據進行100次驗證解密耗時0.06s,進行1000次驗證解密耗時0.45s,進行10000次驗證解密耗時3.72s,進行105次驗證解密耗時40.54s。

圖7 AES-CCM認證加密模塊的運行時間Fig.7 Running time of the authenticated encryption module of AES-CCM

圖8 AES-CCM驗證解密模塊的運行時間Fig.8 Running time of the verification and decryption module of AES-CCM
由上述數據可以分析得出,由于本文所提出的數據安全傳輸協議基于對稱密碼體制,發送100B 和1KB 的消息時,平均每個消息的認證加密時間和解密驗證時間均不超過1ms,數據安全傳輸協議的開銷較小。
6.2.2 飛控廣播認證協議性能測試
本文所提出的飛控廣播認證協議在分組數量k取不同的值和使用不同的哈希函數的情況下,地面站的簽名生成時間ts如圖9 所示。當哈希函數為MD5,對一個大小為1MB的飛控指令生成一次簽名,選取分組數量k為2時,耗時2.6ms;k為4 時,耗時2.52ms;k為8 時,耗時2.58ms;k為16 時,耗時2.54ms;k為32 時,耗時2.58ms。當哈希函數為SHA-1,對一個大小為1MB 的飛控指令生成一次簽名,選取分組數量k為2 時,耗時1.03ms;k為4 時,耗時1.02ms;k為8時,耗時1.01ms;k為16時,耗時1.02ms;k為32時,耗時1ms。當哈希函數為SHA-256,對一個大小為1MB 的飛控指令生成一次簽名,選取分組數量k為2 時,耗時1.17ms;k為4 時,耗時1.18ms;k為8 時,耗時1.22ms;k為16 時,耗時1.23ms;k為32 時,耗時1.19ms;k為64 時,耗時1.19ms;k為128時,耗時1.2ms。當哈希函數為SHA-512,對一個大小為1MB的飛控指令生成一次簽名,選取分組數量k為2時,耗時2.52ms;k為4時,耗時2.65ms;k為8時,耗時2.49ms;k為16 時,耗時2.55ms;k為32 時,耗時2.63ms;k為64 時,耗時2.59ms;k為128時,耗時2.63ms;k為256時,耗時2.65ms。

圖9 簽名生成時間Fig.9 Running time of signature generation
當k取不同的值,選擇不同的哈希函數,無人機的簽名驗證時間tv如圖10 所示。當哈希函數為MD5,對一個大小為1MB 的飛控指令進行簽名驗證,選取分組數量k為2 時,耗時2.6ms;k為4時,耗時2.52ms;k為8時,耗時2.58ms;k為16 時,耗時2.54ms;k為32 時,耗時2.58ms。當哈希函數為SHA-1,對一個大小為1MB的飛控指令進行簽名驗證,選取分組數量k為2 時,耗時1.03ms;k為4 時,耗時1.02ms;k為8時,耗時1.01ms;k為16時,耗時1.02ms;k為32時,耗時1ms。當哈希函數為SHA-256,對一個大小為1MB 的飛控指令進行簽名驗證,選取分組數量k為2 時,耗時1.17ms;k為4 時,耗時1.18ms;k為8時,耗時1.22ms;k為16時,耗時1.23ms;k為32 時,耗時1.19ms;k為64 時,耗時1.19ms;k為128 時,耗時1.2ms。當哈希函數為SHA-512,對一個大小為1MB的飛控指令進行簽名驗證,選取分組數量k為2時,耗時2.52ms;k為4 時,耗時2.65ms;k為8 時,耗時2.49ms;k為16 時,耗時2.55ms;k為32 時,耗時2.65ms;k為64 時,耗時2.6ms;k為128時,耗時2.67ms;k為256時,耗時2.7ms。

圖10 簽名驗證時間Fig.10 Running time of signature verification
由上述數據可以分析得出,由于本文中選取的飛控指令的長度較大(1MB),在對其進行簽名的生成和驗證時,飛控指令的大小對運行時間的影響相對較大,而分組數量k的值對運行時間的影響相對較小。此外,選取不同的哈希函數和分組數量k值,對大小為1MB 的飛控指令進行簽名生成和驗證的時間總體上較小,為1~2.7ms。因此,本文所提出的基于一次簽名的飛控廣播認證協議具有高效性。
本文提出了一種無人機網絡中數控分離的安全傳輸機制,針對無人機網絡的數據通信鏈路提出了一種基于AESCCM認證加密機制的數據安全傳輸協議;針對無人機網絡的飛控指令提出了一種基于一次簽名的飛控廣播認證協議;安全性分析結果表明所提出的數據安全傳輸協議能夠保證無人機發送給地面站的數據的機密性和完整性,所提出的飛控廣播認證協議能夠保證飛控指令的完整性。仿真試驗結果表明,所提出的數據安全傳輸協議在發送100B和1KB 的消息時,平均每個消息的認證加密時間和解密驗證時間均不超過1ms;所提出的飛控廣播認證協議在使用不同的哈希函數時,對1MB的飛控指令生成簽名和驗證簽名的時間約為1~2.7ms,在無人機網絡的應用中具有高效性。