張 闖,楊 昆
(鄭州科技學(xué)院信息工程學(xué)院,鄭州 450064)
隨著科技進(jìn)步與無(wú)人機(jī)(unmanned aerial vehicle,UAV)技術(shù)逐漸成熟,UAV 在戰(zhàn)場(chǎng)偵察、智慧農(nóng)業(yè)以及智能交通領(lǐng)域廣泛使用[1]。由于部署靈活、成本低廉,常將UAV 作為空中基站,為地面用戶提供可靠通信服務(wù)[2]。文獻(xiàn)[3]將UAV 應(yīng)用于空中應(yīng)急通信,并討論了空中應(yīng)急通信網(wǎng)絡(luò)中基于多屬性的關(guān)鍵節(jié)點(diǎn)識(shí)別。文獻(xiàn)[4]討論了無(wú)人機(jī)自組網(wǎng)問(wèn)題,并利用無(wú)人機(jī)作為回傳終端。這些基于無(wú)人機(jī)作為空中通信的研究只關(guān)注了通信問(wèn)題,并沒(méi)有關(guān)注通信安全。
作為空中基站,UAV 不僅要與地面基站建立控制鏈路,還需要根據(jù)具體任務(wù)獲取航空?qǐng)D像數(shù)據(jù),并建立數(shù)據(jù)鏈路,完成數(shù)據(jù)轉(zhuǎn)發(fā)。不論控制鏈路,還是數(shù)據(jù)鏈路均需高的安全性。若控制鏈路被干擾甚至竊聽(tīng),UAV 可能存在被控制隱患;若數(shù)據(jù)鏈路被干擾,UAV 可能無(wú)法及時(shí)將數(shù)據(jù)包傳輸至終端用戶,甚至?xí)G失數(shù)據(jù)包。
認(rèn)證是維護(hù)UAV 通信安全、確保UAV 完成任務(wù)的有效安全機(jī)制。認(rèn)證是指通信實(shí)體在通信前,先驗(yàn)證通信實(shí)體是否為有效設(shè)備[5-6],進(jìn)而建立安全密鑰。只有系統(tǒng)認(rèn)可、已認(rèn)證的設(shè)備才允許通信,未經(jīng)認(rèn)證的設(shè)備可能是攻擊者,攻擊者可能對(duì)UAVs 進(jìn)行重編程,修改UAV 內(nèi)在的固件。被篡改后的固件可能會(huì)導(dǎo)致UAV 無(wú)法按期完成任務(wù)。而通過(guò)引用認(rèn)證機(jī)制,阻攔非法節(jié)點(diǎn)加入網(wǎng)絡(luò),降低UAV 網(wǎng)絡(luò)遭受攻擊的概率。
文獻(xiàn)[7]針對(duì)UAV 網(wǎng)絡(luò),提出輕量級(jí)的用戶認(rèn)證協(xié)議(lightweight user authentication protocol,LUAP)。LUAP 僅使用高效的單向加密Hash 函數(shù)和按位異或(XOR)操作完成用戶與UAV 間的相互認(rèn)證,降低開(kāi)銷(xiāo)。文獻(xiàn)[8]提出基于短暫證書(shū)的匿名輕量級(jí)用戶認(rèn)證協(xié)議(temporal credential based anonymous lightweight user authentication protocol,TCAA)。TCAA 協(xié)議引用real-or-random 模型,并通過(guò)頒發(fā)臨時(shí)證書(shū),提高用戶與UAV 間的通信安全
文獻(xiàn)[9]提出基于短-證書(shū)的代理簽名協(xié)議(shortcertificate-based proxy signature,SCPS)。SCPS 協(xié)議采用基于ACMIA 的安全模型,并設(shè)計(jì)短證書(shū)。通過(guò)給合法用戶頒發(fā)短證書(shū),阻止非法用戶加入網(wǎng)絡(luò)。文獻(xiàn)[10]提出基于權(quán)重散列和對(duì)稱加密/解密操作的輕量級(jí)認(rèn)證協(xié)議(weight hash and symmetric encryption/decryption-based light authentication,WHEA)。
盡管上述研究工作充分考慮了認(rèn)證開(kāi)銷(xiāo),并從不同層面提出降低認(rèn)證開(kāi)銷(xiāo)的策略,但是未考慮傳輸認(rèn)證消息的路徑問(wèn)題。為此,本文提出基于最優(yōu)路徑的可擴(kuò)展安全認(rèn)證協(xié)議(scalable security authentication protocol based on optimal path,SCOP)。SCOP 協(xié)議先利用Christofides 算法構(gòu)建傳輸認(rèn)證消息的最優(yōu)路徑,基站再沿著此路徑傳輸組合的認(rèn)證消息,進(jìn)而降低認(rèn)證開(kāi)銷(xiāo),通過(guò)BAN 邏輯證明SCOP 協(xié)議的正確性。性能分析表明,提出的SCOP協(xié)議可有效地降低認(rèn)證開(kāi)銷(xiāo)。
物理不可克隆函數(shù)(physical unclonable functions,PUFs)有兩個(gè)參數(shù)[11]:挑戰(zhàn)和響應(yīng)。一個(gè)挑戰(zhàn)對(duì)應(yīng)一個(gè)響應(yīng),它們成為挑戰(zhàn)- 響應(yīng)對(duì)(challenge response pair,CRP)。對(duì)于任意一個(gè)PUF,CRP 具有唯一性。因此,SCOP 協(xié)議通過(guò)引用PUF 函數(shù),增加UAV 通信安全。
考慮如圖1 所示的網(wǎng)絡(luò)結(jié)構(gòu),由N 架UAVs 和地面基站構(gòu)成。N 架UAVs 構(gòu)成UAV 集。每架UAV 需向基站注冊(cè),注冊(cè)完后,基站存儲(chǔ)每架UAV 的CRP。令CRPi表示第i 架UAV(Ui)的CRP,其中,i=1,2,…,N。,其中,Ci表示挑戰(zhàn),Ri表示對(duì)應(yīng)的響應(yīng)。
圖1 網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Network structure
這群UAVs 與基站通信。假定基站絕對(duì)可信,而每架UAV 需周期地被認(rèn)證和證明,進(jìn)而從這群UAVs 中檢測(cè)攻擊節(jié)點(diǎn)。
假定至少有一架UAV 在基站通信范圍內(nèi),其他的UAVs 通過(guò)多跳方式與基站通信。每架UAV 配備PUF 芯片,將其作為安全識(shí)別UAV 的基礎(chǔ),阻止設(shè)備被篡改。
攻擊者能夠發(fā)動(dòng)常見(jiàn)的網(wǎng)絡(luò)攻擊,如中間人攻擊(MITM)、重放攻擊、偽裝攻擊。
SCOP 協(xié)議主要由最優(yōu)路徑構(gòu)成和認(rèn)證兩個(gè)階段。先通過(guò)Christofides 算法建立Hamiltonian 路徑,基站通過(guò)此路徑傳輸認(rèn)證消息。UAVs 接收到消息后進(jìn)行認(rèn)證,并沿著回復(fù)消息,進(jìn)而降低認(rèn)證開(kāi)銷(xiāo)。
為了減少認(rèn)證階段所產(chǎn)生的開(kāi)銷(xiāo),SCOP 協(xié)議利用Christofides 算法[12]構(gòu)建由基站向所有UAVs傳輸認(rèn)證消息的最優(yōu)路徑。先將UAVs 網(wǎng)絡(luò)形成一個(gè)圖G,圖G 中的頂點(diǎn)是UAV 的位置,圖G 的邊是兩架UAVs 間的連接。算法1 給出生成最優(yōu)路徑的過(guò)程。
?
圖2 給出生成最優(yōu)路徑的示例。圖2(a)中5 架UAVs,它們隨機(jī)分布。將它們生成圖G,然后再利用Kruskal 算法生成最小生成樹(shù)(minimum spanning tree,MST)[13-14],如圖2(b)所示。然后,生成完全子圖G*,并保持G*的頂點(diǎn)數(shù)為偶數(shù),如圖2(c)所示,圖中紅色點(diǎn)表示度數(shù)為奇數(shù)的點(diǎn)。再利用三角不等式原理,生成歐拉環(huán)路,如圖2(d)所示。最終,生成如圖2(e)所示的Hamiltonian 路徑。
圖2 生成最優(yōu)路徑示例Fig.2 Example of constructing optimal path
為了后續(xù)的驗(yàn)證,基站依據(jù)2.1 節(jié)建立的最優(yōu)路徑P 向所有UAVs 傳輸組合消息Mes。基站為每架UAV 產(chǎn)生一條認(rèn)證消息。N 條消息構(gòu)成組合消息,其中,Mi表示基站為Ui產(chǎn)生的認(rèn)證消息。
認(rèn)證消息Mi的定義如式(1)所示:
式中,Ts表示時(shí)間戳;表示加密函數(shù);NB 為隨機(jī)數(shù);表示用參數(shù)Ri對(duì)進(jìn)行加密。
然后,基站就沿此路徑P 傳輸消息Mes。UAV收到消息Mes 后,UAV 就從Mes 中提取屬于自己的消息,再轉(zhuǎn)發(fā)至路徑P 中下一個(gè)UAV。
接下來(lái),以Ui為例,闡述UAV 認(rèn)證Mi的過(guò)程,步驟如下。
Step 1 收到消息Mes 后,Ui從中提取屬于自己的消息Mi,并從中提取參數(shù):挑戰(zhàn)Ci、時(shí)間戳Ts和:
Step 7 丟棄認(rèn)證消息Mi,宣告認(rèn)證失敗。
每個(gè)節(jié)點(diǎn)從Mes 中提取屬于自己的消息,并通過(guò)上述步驟生成回復(fù)消息Rei,i=1,2,…,N。路徑中最后一節(jié)點(diǎn)沿著路徑P 向基站傳輸回復(fù)消息,并將路徑中各UAV 的消息進(jìn)行合并,一起傳輸至基站。
BAN 邏輯是證明認(rèn)證策略正確性的有效工具[15]。采用如表1 所示的BAN 邏輯的邏輯構(gòu)件以及其對(duì)應(yīng)說(shuō)明。
表1 BAN 邏輯的邏輯構(gòu)件Table 1 Notations of BAN-logic
在初始階段或者認(rèn)證階段,BS 存儲(chǔ)每個(gè)Ui的CRP,i=1,2,…,N。Ui知曉Ri是它與BS 間共享的密鑰;在通信階段,Ui能夠通過(guò)Ri獲取NB。引用表1的BAN 邏輯,可表述為:
依據(jù)BAN 的認(rèn)證規(guī)則,并結(jié)合S1和S2可得:Ui知曉BS 利用密鑰Ri對(duì)NB加密:
Ui相信BS 能夠完全地保密NB。因此,由BS 產(chǎn)生的隨機(jī)數(shù)NB必須是新鮮的,且未使用:
BS 產(chǎn)生隨機(jī)數(shù)NB,并利用Ri對(duì)NB進(jìn)行加密。因此,Ui相信除了BS 外,其他實(shí)體未能掌握NB:
引用S5和S6,可得:
通過(guò)上述分析可證實(shí):Ui信任Ui與BS 間共享的密鑰NB。
為了更好地分析SCOP 協(xié)議的性能,選擇LUAP、TCAA、SCPS、WEHA 協(xié)議作為基準(zhǔn)算法,對(duì)比分析它們運(yùn)算時(shí)間性能。在Windows 7 操作系統(tǒng)、64 GB 內(nèi)存,core i11 CPU 的PC 運(yùn)行算法,并記錄運(yùn)算時(shí)間。
下頁(yè)表2 給出這協(xié)議在加密操作階段上所消耗的時(shí)間。由表2 可知,LUAP、TCAA 和WHEA 協(xié)議執(zhí)行Hash 操作所消耗的時(shí)間占整個(gè)加密操作時(shí)間的比例分別為83.75%、72.6%和65%。相反,SCOP協(xié)議僅在認(rèn)證階段采用了Hash 操作。
表2 加密操作階段所消耗的時(shí)間Table 2 Consumption time of cryptographic operation phase
SCOP 協(xié)議采用AES 加密策略。執(zhí)行一次AES算法需約61.6 μs。執(zhí)行一次加密和解密操作,SCOP算法共消耗了約123 μs。此外,SCOP 協(xié)議利用PRNG 函數(shù)產(chǎn)生隨機(jī)數(shù),所消耗的時(shí)間約40.6 μs。相比之下,LUAPA、TCAA、SCPS 和WHEA 協(xié)議利用PRNG 產(chǎn)生隨機(jī)數(shù)的操作所消耗的時(shí)間約20.3 μs。
此外,SCPS 協(xié)議采用乘法運(yùn)算,而不是XOR 操作和PRNG 操作,SCPS 算法執(zhí)行乘法運(yùn)算所消耗的時(shí)間約60 μs。
由表2 可知,LUAP、TCAA、SCPS 協(xié)議、WEHA算法在加密操作所消耗的總時(shí)間分別為394 μs、355 μs、525 μs、265 μs 和354 μs。相比之下,WEHA算法的加密操作所消耗的時(shí)間最少。而SCOP 協(xié)議執(zhí)行加密操作所消耗的總時(shí)間約196 μs。
為此,選擇WEHA 協(xié)議,對(duì)比分析SCOP 協(xié)議和SCPS 協(xié)議的總運(yùn)算時(shí)間,如下頁(yè)圖3 所示。
圖3 SCOP 協(xié)議和WEHA 協(xié)議的總運(yùn)算時(shí)間Fig.3 Total execution time of SCOP and WEHA protocol
圖3 給出UAVs 數(shù)對(duì)總運(yùn)算時(shí)間的變化情況。由圖3 可知,UAVs 數(shù)的增加,提升了總運(yùn)算時(shí)間,相比于WEHA,SCOP 協(xié)議減少了總運(yùn)算時(shí)間。例如,當(dāng)UAVs 數(shù)從25 增加至100 時(shí),SCOP 協(xié)議的總運(yùn)算時(shí)間從50.95 ms 增加到153.37 ms,而SCOP 算法的總運(yùn)算時(shí)間從113.025 ms增加到347.80 ms。
圖4 分析了SCOP 算法和WEHA 算法的認(rèn)證時(shí)間隨著UAV 內(nèi)存單元容量的變化情況,其中,UAVs 數(shù)為50。
圖4 SCOP 協(xié)議和WEHA 協(xié)議的認(rèn)證時(shí)間Fig.4 Authentication time of SCOP protocol and WEHA protocol
由圖4 可知,SCOP 協(xié)議和WEHA 協(xié)議的認(rèn)證時(shí)間隨著內(nèi)存單元容量的增加而上升。由2.2 節(jié)Step 5 可知,csum(·)函數(shù)產(chǎn)生的序列值與內(nèi)存單元容量密切相關(guān)。相比于WEHA 協(xié)議,SCOP 協(xié)議降低了認(rèn)證時(shí)間。例如,當(dāng)內(nèi)存單元容量從128 KB 增加至1 MB 時(shí),SCOP 協(xié)議的認(rèn)證時(shí)間從50.1 μs 上升至0.507 ms。相應(yīng)地,WEHA 協(xié)議的認(rèn)證時(shí)間從0.222 ms 上升至1.59 ms。此外,即使內(nèi)存單元容量達(dá)到1 MB 時(shí),SCOP 協(xié)議的認(rèn)證時(shí)間也只有0.507 ms,這說(shuō)明SCOP 協(xié)議具有較好的擴(kuò)展性。
本節(jié)對(duì)比分析LUAP、TCAA、SCPS、WEHA 和SCOP 協(xié)議的安全性能,如表3 所示?!啊獭北硎揪哂写税踩阅埽弧啊痢北硎静痪哂写税踩阅?。主要從相互認(rèn)證、隱私保護(hù)、防御中間人攻擊(man-inthe-middle,MITM)和防御偽造攻擊4 方面性能分析SCOP 的性能。
表3 安全性能Table 3 Security performance
由表2 可知,這些協(xié)議均具有相互認(rèn)證功能。由于SCPS 協(xié)議未采用隱私保護(hù)策略,該協(xié)議不具有隱私保護(hù)。而SCOP協(xié)議通過(guò)加密策略,增強(qiáng)了防御隱私泄露的風(fēng)險(xiǎn)。此外,由于SCOP 協(xié)議有消息中融入時(shí)間戳,抵御MITM 和偽造攻擊的能力,而LUAP 協(xié)議不能防御MITM 攻擊。
針對(duì)UAV 集群網(wǎng)絡(luò)的安全問(wèn)題,提出可擴(kuò)展的基站與UAVs 間相互認(rèn)證協(xié)議SCOP。SCOP 協(xié)議利用Christofides 算法建立最優(yōu)路徑,通過(guò)此路徑傳輸認(rèn)證消息,進(jìn)而降低認(rèn)證開(kāi)銷(xiāo)。同時(shí),SCOP 協(xié)議引用PUF,確保物理安全。并通過(guò)BAN 邏輯證明了SCOP 的安全性。性能分析表明,提出的SCOP協(xié)議縮短了認(rèn)證時(shí)間和運(yùn)算開(kāi)銷(xiāo)。