摘 要:傳統(tǒng)的無(wú)人機(jī)跨域身份認(rèn)證的方案大多依賴公鑰基礎(chǔ)設(shè)施 (public key infrastructure,PKI)。該模型高度依賴于可信第三方,易造成單點(diǎn)故障且認(rèn)證效率低下。據(jù)此,提出基于區(qū)塊鏈的無(wú)人機(jī)網(wǎng)絡(luò)跨域身份認(rèn)證協(xié)議方案,該方案不但可以有效實(shí)現(xiàn)無(wú)人機(jī)的跨域認(rèn)證,且可以改善傳統(tǒng)基于PKI模型面臨的諸多安全問(wèn)題。同時(shí),為了實(shí)現(xiàn)無(wú)人機(jī)網(wǎng)絡(luò)跨域認(rèn)證的隱私保護(hù),提出了可實(shí)現(xiàn)無(wú)人機(jī)跨域身份認(rèn)證身份標(biāo)識(shí)的匿名化的方法。安全性分析與仿真實(shí)驗(yàn)的結(jié)果表明,該方案不但可抵御常見(jiàn)網(wǎng)絡(luò)攻擊,在認(rèn)證效率和時(shí)間開(kāi)銷上也有明顯提升。
關(guān)鍵詞:公鑰基礎(chǔ)設(shè)施; 無(wú)人機(jī)網(wǎng)絡(luò); 可信第三方; 區(qū)塊鏈; 跨域身份認(rèn)證; 隱私保護(hù)
中圖分類號(hào):TP309 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1001-3695(2024)07-005-1959-06
doi:10.19734/j.issn.1001-3695.2023.11.0532
Research on cross-domain identity authentication of unmanned aerialvehicle network based on blockchain
Abstract:Most traditional drone cross-domain authentication schemes rely on PKI, which are highly dependent on trusted third parties and prone to single points of failure and low authentication efficiency. Accordingly, this paper proposed a blockchain-based UAV network cross-domain identity authentication protocol scheme, which not only effectively realized the cross-domain authentication of UAVs, but also improved many security problems faced by the traditional PKI-based model. At the same time, to discover the privacy protection of UAV network cross-domain authentication, this paper proposed a method to anonymize the UAV cross-domain identity authentication identity. The results of security analysis and simulation experiments show that the scheme can not only resist common network attacks, but also significantly improve authentication efficiency and reduce time overhead.
Key words:PKI; UAV; trusted third parties; blockchain; cross-domain identity authentication; privacy protection
0 引言
無(wú)人機(jī)在交通、物流、治安等領(lǐng)域發(fā)揮著重要作用[1]。由于其具有高移動(dòng)性,無(wú)人機(jī)在未來(lái)將會(huì)產(chǎn)生跨域采集數(shù)據(jù)等需求,隨著無(wú)人機(jī)跨域任務(wù)的增多,保護(hù)無(wú)人機(jī)跨域數(shù)據(jù)安全傳輸給授權(quán)服務(wù)器,是無(wú)人機(jī)網(wǎng)絡(luò)面對(duì)的首要問(wèn)題[2]。作為保護(hù)跨域數(shù)據(jù)安全的第一道防線,無(wú)人機(jī)的跨域身份認(rèn)證已經(jīng)成為亟待解決的問(wèn)題。目前無(wú)人機(jī)的身份認(rèn)證方法采用傳統(tǒng)的集中式身份管理方案。文獻(xiàn)[3]針對(duì)無(wú)人機(jī)網(wǎng)絡(luò)環(huán)境設(shè)計(jì)了基于對(duì)稱加密算法的輕量級(jí)身份認(rèn)證協(xié)議, 但該方案缺乏匿名性,容易造成隱私泄露。文獻(xiàn)[4]提出了基于橢圓曲線密碼學(xué)的協(xié)議,實(shí)現(xiàn)了無(wú)人機(jī)和地面站之間的雙向身份認(rèn)證和密鑰協(xié)商協(xié)議。文獻(xiàn)[5]基于身份密碼體制設(shè)計(jì),通過(guò)門限密鑰技術(shù)實(shí)現(xiàn)了身份認(rèn)證與密鑰協(xié)商。文獻(xiàn)[6]針對(duì)無(wú)人機(jī)網(wǎng)絡(luò)提出基于橢圓曲線和生物特征的認(rèn)證密鑰協(xié)商協(xié)議。文獻(xiàn)[7]改進(jìn)了文獻(xiàn)[6]方案中存在的無(wú)人機(jī)私鑰泄露攻擊、無(wú)人機(jī)偽裝攻擊和會(huì)話密鑰泄露攻擊等嚴(yán)重安全問(wèn)題。但以上方案均依靠中心節(jié)點(diǎn)進(jìn)行身份認(rèn)證,存在重復(fù)認(rèn)證、證書管理效率低等問(wèn)題[8] ,一旦中央管理機(jī)構(gòu)遭到惡意入侵,則無(wú)法進(jìn)行正常的身份認(rèn)證流程。傳統(tǒng)基于PKI模型的身份認(rèn)證方案不適合移動(dòng)物聯(lián)網(wǎng)設(shè)備跨域身份認(rèn)證[9]。
區(qū)塊鏈技術(shù)的出現(xiàn)為跨域身份認(rèn)證提供了一種新范式[10]。區(qū)塊鏈具有分布式、去中心化、不可竄改等特性,可以解決中心化節(jié)點(diǎn)出現(xiàn)單點(diǎn)故障、認(rèn)證效率低等缺點(diǎn),其分布式特征與跨域場(chǎng)景更加契合,同時(shí)具有更高的信任性與健壯性[11]。因此,研究一種基于區(qū)塊鏈技術(shù)的安全、高效的跨域身份認(rèn)證方案是當(dāng)前國(guó)內(nèi)外學(xué)者研究的重點(diǎn)。
目前,已有學(xué)者基于區(qū)塊鏈研究身份認(rèn)證方案[12,13]。文獻(xiàn)[14]提出了一種基于區(qū)塊鏈的高效匿名跨域身份驗(yàn)證方案,以實(shí)現(xiàn)跨域工業(yè)物聯(lián)網(wǎng)設(shè)備之間的可靠通信,通過(guò)結(jié)合區(qū)塊鏈和動(dòng)態(tài)累加器技術(shù)實(shí)現(xiàn)了快速認(rèn)證。文獻(xiàn)[15]采用無(wú)證書的跨域身份認(rèn)證方案,并通過(guò)以太坊聯(lián)盟鏈輔助跨域身份認(rèn)證。但以上方案均針對(duì)固定物聯(lián)網(wǎng)設(shè)備且跨域認(rèn)證方案認(rèn)證開(kāi)銷較高,不適用于移動(dòng)物聯(lián)網(wǎng)設(shè)備。文獻(xiàn)[16]針對(duì)無(wú)人機(jī)組的身份認(rèn)證,提出了基于區(qū)塊鏈的身份認(rèn)證方案,但是該方案未討論無(wú)人機(jī)跨域身份認(rèn)證。文獻(xiàn)[17]針對(duì)無(wú)人機(jī)網(wǎng)絡(luò)提出基于區(qū)塊鏈的訪問(wèn)控制方案,但該方案無(wú)法實(shí)現(xiàn)用戶身份匿名且計(jì)算量非常大。文獻(xiàn)[18,19]提出了閾值共享的多重簽名的方案并采用私有鏈與聯(lián)盟鏈結(jié)合的方法來(lái)完成無(wú)人機(jī)跨域身份認(rèn)證流程,但由于跨鏈方案導(dǎo)致其身份認(rèn)證效率以及密鑰協(xié)商計(jì)算開(kāi)銷較大,該方案跨域場(chǎng)景為不同信任域之間的無(wú)人機(jī)網(wǎng)絡(luò),而對(duì)于移動(dòng)物聯(lián)網(wǎng)設(shè)備自身跨域身份認(rèn)證研究較少。文獻(xiàn)[20]提出了一種基于區(qū)塊鏈技術(shù)的車聯(lián)網(wǎng)自身跨域身份認(rèn)證協(xié)議,但是缺乏對(duì)所提跨域身份認(rèn)證協(xié)議的形式化安全性分析,也沒(méi)有協(xié)商會(huì)話密鑰。本文采用區(qū)塊鏈技術(shù)研究無(wú)人機(jī)從注冊(cè)域移動(dòng)到非注冊(cè)域的跨域身份認(rèn)證協(xié)議。
1 預(yù)備知識(shí)
1.1 跨域身份認(rèn)證
無(wú)人機(jī)的跨域身份認(rèn)證[9]即無(wú)人機(jī)在多個(gè)信任域之間完成一致的身份認(rèn)證。保證在跨域任務(wù)中無(wú)人機(jī)在初始信任域身份認(rèn)證成功后,實(shí)現(xiàn)多信任域內(nèi)對(duì)無(wú)人機(jī)身份及時(shí)認(rèn)證與管理。在傳統(tǒng)跨域身份認(rèn)證場(chǎng)景下,三種跨域身份認(rèn)證方案被應(yīng)用,分別是基于對(duì)稱密鑰技術(shù)設(shè)計(jì)認(rèn)證方案、基于公鑰基礎(chǔ)設(shè)施跨域認(rèn)證方案和基于身份密碼學(xué)設(shè)計(jì)認(rèn)證方案。這三種架構(gòu)所采用的密碼學(xué)技術(shù)適用于不同場(chǎng)景。但是對(duì)于目前新興的無(wú)人機(jī)網(wǎng)絡(luò),以上三種方案難以滿足無(wú)人機(jī)對(duì)跨域身份認(rèn)證安全高效、低時(shí)延的要求。故本文基于區(qū)塊鏈技術(shù)實(shí)現(xiàn)無(wú)人機(jī)的跨域身份認(rèn)證,其跨域場(chǎng)景及其模型由四個(gè)實(shí)體組成,如圖1所示,即無(wú)人機(jī)(unmanned aerial vehicle,UAV)、邊緣服務(wù)器(edge server,ES)、區(qū)塊鏈網(wǎng)絡(luò)(blockchain)、可信機(jī)構(gòu)(trust agency,TA)。當(dāng)無(wú)人機(jī)在區(qū)域1(domain1)的邊緣服務(wù)器中注冊(cè)成功后,邊緣服務(wù)器通過(guò)智能合約,將無(wú)人機(jī)的認(rèn)證信息存儲(chǔ)到區(qū)塊鏈系統(tǒng)中,當(dāng)無(wú)人機(jī)進(jìn)入到一個(gè)新的非注冊(cè)域(如domain3)后,只需查找區(qū)塊鏈系統(tǒng)是否有對(duì)應(yīng)的身份認(rèn)證信息后進(jìn)行身份認(rèn)證。
1.2 以太坊平臺(tái)
以太坊[21]是基于區(qū)塊鏈加智能合約實(shí)現(xiàn)的,是一個(gè)基于交易的狀態(tài)機(jī)。本文區(qū)塊鏈平臺(tái)采用以太坊官方客戶端Geth為實(shí)驗(yàn)平臺(tái),并設(shè)計(jì)了相關(guān)的智能合約部署到以太坊。通過(guò)Geth平臺(tái)模擬跨域?qū)嶒?yàn)。在以太坊內(nèi)部采用PoA(proof of authority)共識(shí)算法,通過(guò)PoA共識(shí)算法將需要發(fā)布的信息存儲(chǔ)到整個(gè)區(qū)塊鏈系統(tǒng),從而構(gòu)建以太坊區(qū)塊鏈。本文使用的Geth平臺(tái)版本為1.9.10,Geth部分信息如圖2所示。
1.3 安全威脅模型
本文提出的無(wú)人機(jī)跨域身份認(rèn)證通信模型如圖3所示,無(wú)人機(jī)在注冊(cè)域注冊(cè)時(shí)是離線注冊(cè),在安全信道上完成。當(dāng)飛行至非注冊(cè)域后在公共信道上進(jìn)行認(rèn)證。
本模型定義的攻擊者具有完全監(jiān)控整個(gè)網(wǎng)絡(luò)的能力,這與Dolev-Yao[22]威脅模型中的網(wǎng)絡(luò)攻擊者能力相似。具體來(lái)說(shuō),本文威脅模型的攻擊者具備以下能力:
a)攻擊者能夠捕獲無(wú)人機(jī)與邊緣服務(wù)器之間通過(guò)無(wú)線鏈路傳輸?shù)臄?shù)據(jù)。
b)攻擊者可以通過(guò)無(wú)線鏈路向無(wú)人機(jī)和邊緣服務(wù)器發(fā)送任意數(shù)據(jù),但攻擊者不具備猜測(cè)隨機(jī)數(shù)的能力,無(wú)法在密鑰未知的情況下將密文還原成明文,也無(wú)法解決橢圓曲線上的離散對(duì)數(shù)問(wèn)題。
2 協(xié)議描述
2.1 符號(hào)及描述
在介紹本文方案之前,先介紹本文中所用到的密碼學(xué)符號(hào),如表1所示。
2.2 系統(tǒng)模型
無(wú)人機(jī)網(wǎng)絡(luò)跨域身份認(rèn)證模型如圖1所示,每個(gè)區(qū)域都是由某一邊緣服務(wù)器覆蓋,并提供遠(yuǎn)程數(shù)據(jù)通信服務(wù)。在該模型中,無(wú)人機(jī)在注冊(cè)域(domain1)中注冊(cè)并存儲(chǔ)自己的身份認(rèn)證信息,當(dāng)其從一個(gè)注冊(cè)域移動(dòng)至另一個(gè)非注冊(cè)域(domain3)時(shí),無(wú)人機(jī)要先進(jìn)行跨域身份認(rèn)證后,才能實(shí)現(xiàn)數(shù)據(jù)的相互傳輸。該場(chǎng)景中,無(wú)人機(jī)與邊緣服務(wù)器通過(guò)無(wú)線鏈路建立鏈接,實(shí)現(xiàn)相互的身份認(rèn)證。其模型由以下四個(gè)實(shí)體組成,每個(gè)實(shí)體功能如下:
a)邊緣服務(wù)器(ES):為無(wú)人機(jī)節(jié)點(diǎn)提供身份認(rèn)證注冊(cè)服務(wù)和數(shù)據(jù)交互服務(wù),在身份認(rèn)證過(guò)程中,若認(rèn)證通過(guò),為無(wú)人機(jī)節(jié)點(diǎn)提供安全數(shù)據(jù)通信服務(wù),邊緣服務(wù)器也是組成區(qū)塊鏈的一個(gè)節(jié)點(diǎn),不同注冊(cè)域的邊緣服務(wù)器組成一個(gè)區(qū)塊鏈,并且將身份數(shù)據(jù)信息上鏈,由于PoA共識(shí)算法的特點(diǎn),邊緣服務(wù)區(qū)是可信的。
b)區(qū)塊鏈網(wǎng)絡(luò)(blockchain):無(wú)人機(jī)需要訪問(wèn)的服務(wù)器以及信任機(jī)構(gòu)作為區(qū)塊鏈中的一個(gè)節(jié)點(diǎn),不同信任域中的邊緣服務(wù)器組成了一個(gè)區(qū)塊鏈系統(tǒng)。
c)無(wú)人機(jī)(UAV):向邊緣服務(wù)器發(fā)送身份認(rèn)證請(qǐng)求,實(shí)現(xiàn)無(wú)人機(jī)節(jié)點(diǎn)與邊緣服務(wù)器之間的身份認(rèn)證。其具有一定的存儲(chǔ)與計(jì)算功能,可以支持實(shí)時(shí)交互,允許其存儲(chǔ)一些數(shù)據(jù),執(zhí)行簡(jiǎn)單計(jì)算。
d)信任機(jī)構(gòu)(TA):實(shí)現(xiàn)整個(gè)無(wú)人機(jī)網(wǎng)絡(luò)跨域身份認(rèn)證系統(tǒng)的初始化,生成系統(tǒng)的相關(guān)參數(shù),為邊緣服務(wù)器提供注冊(cè)服務(wù)。
2.3 基于區(qū)塊鏈的跨域身份認(rèn)證協(xié)議
1)系統(tǒng)初始化
a)第三方信任機(jī)構(gòu)(TA)首先初始化相應(yīng)參數(shù)并公布,TA基于ECDSA的橢圓曲線E并選取一個(gè)生成元P。
b)TA選擇隨機(jī)數(shù)r作為自身私鑰SKT并生成對(duì)應(yīng)的公鑰PKT=SKT·P。
c)定義哈希函數(shù)如下:H1:H({0,1}*)→{0,1}l,H2:H({0,1}*)→{0,1}k。其中l(wèi)是身份標(biāo)識(shí)的長(zhǎng)度,K是會(huì)話密鑰的密鑰長(zhǎng)度。
d)TA公布公有參數(shù)(E,P,PKT,H1,H2)。
2)注冊(cè)階段
邊緣服務(wù)器向信任機(jī)構(gòu)進(jìn)行身份注冊(cè)并且獲取偽身份,無(wú)人機(jī)向邊緣服務(wù)器進(jìn)行身份注冊(cè)并獲取偽身份。本文采用PoA共識(shí)組成以太坊聯(lián)盟鏈,PoA共識(shí)機(jī)制中,每個(gè)區(qū)塊節(jié)點(diǎn)具有嚴(yán)格的準(zhǔn)入機(jī)制,邊緣服務(wù)器必須通過(guò)權(quán)威節(jié)點(diǎn)的認(rèn)證通過(guò)后,才能成為區(qū)塊鏈節(jié)點(diǎn),邊緣服務(wù)器是可信任的實(shí)體。同時(shí)本文注冊(cè)階段均離線完成,整個(gè)注冊(cè)階段是安全的。注冊(cè)流程如圖4所示,首先是邊緣服務(wù)器的注冊(cè),邊緣服務(wù)器注冊(cè)借助TA完成。
a)邊緣服務(wù)器將身份信息以及時(shí)間戳(IDE,TE)傳輸至TA。
b)TA接收到(IDE,TE)。首先計(jì)算邊緣服務(wù)器的偽身份PIDE=H1(IDE‖TE)。TA選擇一個(gè)隨機(jī)數(shù)SKE作為邊緣服務(wù)器的私鑰。其公鑰PKE=SKE·P。
c)TA將{PIDE,SKE,PKE}返回邊緣服務(wù)器,并刪除SKE。
d)邊緣服務(wù)器計(jì)算H1(PIDE)并存儲(chǔ){H1(PIDE),SKE,PKE},并將{PIDE,PKE}傳輸至區(qū)塊鏈系統(tǒng)。
e)區(qū)塊鏈系統(tǒng)將認(rèn)證信息存儲(chǔ)至身份信息表,如表2所示。
無(wú)人機(jī)向邊緣服務(wù)器注冊(cè)步驟如下:
a)無(wú)人機(jī)將真實(shí)身份標(biāo)識(shí)與時(shí)間戳{IDU,TU}通過(guò)安全信道傳送至邊緣服務(wù)器。
b)邊緣服務(wù)器收到信息后提取IDU與TU,驗(yàn)證時(shí)間戳TU是否在允許時(shí)間范圍。
c)邊緣服務(wù)器計(jì)算無(wú)人機(jī)偽身份PIDU=H1(IDU‖TU),同時(shí)選擇一個(gè)隨機(jī)數(shù)SKU作為無(wú)人機(jī)的私鑰。其公鑰PKU=SKU·P。
d)邊緣服務(wù)器將{PIDU,SKU,PKU}返回給無(wú)人機(jī),刪除SKU。同時(shí)邊緣服務(wù)器計(jì)算H1(PIDU),將{H1(PIDU),PKU}存儲(chǔ)至區(qū)塊鏈系統(tǒng)中身份信息表中,如表2所示。
e)無(wú)人機(jī)接收{(diào)PIDU,SKU,PKU},保持SKU的秘密性。
3)認(rèn)證階段
無(wú)人機(jī)具有簡(jiǎn)單的計(jì)算與存儲(chǔ)功能,當(dāng)無(wú)人機(jī)移動(dòng)到一個(gè)新的信任域后,與邊緣服務(wù)器通信之前,需要向邊緣服務(wù)器進(jìn)行身份認(rèn)證,其過(guò)程如圖5所示。
b)無(wú)人機(jī)向邊緣服務(wù)器發(fā)送請(qǐng)求認(rèn)證消息Auth1,Auth1=(Ru,SIG(Nu,SKU),Du,T1),將其傳送給邊緣服務(wù)器。
邊緣服務(wù)器向無(wú)人機(jī)身份認(rèn)證過(guò)程與以上過(guò)程類似:
b)無(wú)人機(jī)向邊緣服務(wù)器發(fā)送請(qǐng)求認(rèn)證消息Aut/lkxA9bmuQjsSax9YY5YQujPhCnEX1QJpt4Joeo12pQ=h2,Auth2=(Re,SIG(Ne,SKe),De,T2),將其傳送給邊緣服務(wù)器。
4)會(huì)話密鑰協(xié)商
當(dāng)雙方認(rèn)證成功后若無(wú)人機(jī)想與邊緣服務(wù)器進(jìn)行一些機(jī)密數(shù)據(jù)的通信,則必須實(shí)現(xiàn)會(huì)話密鑰的協(xié)商,加快雙方的通信效率,無(wú)人機(jī)收到Auth1后得到隨機(jī)數(shù)Nu,同時(shí)邊緣服務(wù)器收到認(rèn)證信息Auth2后得到隨機(jī)數(shù)Ne。此時(shí)無(wú)人機(jī)與移動(dòng)邊緣服務(wù)器都得到了Nu與Ne,并且都驗(yàn)證了隨機(jī)數(shù)。無(wú)人機(jī)計(jì)算Keyue=H2(Nu‖Ne),邊緣服務(wù)器計(jì)算Keyeu=H2(Nu‖Ne)后,隨后無(wú)人機(jī)利用Keyue將{nonce}Key加密后傳輸給服務(wù)器。若邊緣服務(wù)器利用Keyeu解密后得到nonce,隨后服務(wù)器利用Keyeu將{nonce}Key傳輸至無(wú)人機(jī),得到的隨機(jī)數(shù)nonce′與服務(wù)器生成的隨機(jī)數(shù)nonce進(jìn)行比較。若隨機(jī)數(shù)nonce=nonce′則驗(yàn)證成功,將Keyeu=Keyue作為會(huì)話密鑰參與后續(xù)通信。
3 安全性證明與分析
3.1 安全性分析
1)隱私保護(hù)
本文方案所設(shè)計(jì)的偽身份是通過(guò)身份標(biāo)識(shí)和時(shí)間戳生成PID=H1(ID‖T)。攻擊者若想從假名中得到真實(shí)的身份標(biāo)識(shí)信息,必須解開(kāi)哈希函數(shù),而在本文的攻擊能力中,攻擊者不具備這項(xiàng)能力,所以無(wú)人機(jī)與邊緣服務(wù)器的真實(shí)身份信息得到了保護(hù)。
2)抗假冒攻擊
假設(shè)攻擊者假冒一個(gè)合法無(wú)人機(jī)發(fā)送消息。攻擊者想發(fā)起假冒攻擊,需要假冒一個(gè)能夠通過(guò)身份驗(yàn)證的請(qǐng)求信息,在本方案中攻擊者只能通過(guò)偽造PIDU來(lái)假冒正常的無(wú)人機(jī)。本文通過(guò)偽身份的哈希值H1(PIDU)來(lái)驗(yàn)證無(wú)人機(jī)的身份是否合法,攻擊者也只能獲取到H1(PIDU)。由于哈希函數(shù)的單向性特點(diǎn),即便有攻擊者獲得哈希值,也無(wú)法解密其中的PIDU,保證了PIDU的安全性,從而實(shí)現(xiàn)了無(wú)人機(jī)跨域認(rèn)證的安全性。同理,假冒邊緣服務(wù)器也不會(huì)實(shí)現(xiàn)。
3)抗中間人攻擊
對(duì)于中間人攻擊而言,由于中間人必須假冒邊緣節(jié)點(diǎn)或者無(wú)人機(jī)的身份,但是本方案中攻擊者無(wú)法實(shí)施假冒攻擊將自己偽裝為合法身份,所以無(wú)法實(shí)施中間人攻擊竊取信息。
4)抗重放攻擊
本方案所設(shè)計(jì)的認(rèn)證協(xié)議,請(qǐng)求方發(fā)送跨域身份認(rèn)證請(qǐng)求消息時(shí)會(huì)加入時(shí)間戳。接收方查看時(shí)間戳后,驗(yàn)證認(rèn)證消息的新鮮度,若該請(qǐng)求信息被竊取后重新發(fā)送,該請(qǐng)求信息由于時(shí)間戳的時(shí)效性導(dǎo)致失敗,所以能夠抵抗重放攻擊,同時(shí)每次密鑰協(xié)商后更新,可以防止重復(fù)應(yīng)用共享密鑰。
5)系統(tǒng)的健壯性
該方案繼承了區(qū)塊鏈具有極佳健壯性的特點(diǎn)。因?yàn)楸痉桨咐枚鄠€(gè)服務(wù)器構(gòu)建以太坊區(qū)塊鏈,即使攻擊者侵入了無(wú)人機(jī)所在域的邊緣服務(wù)器,無(wú)人機(jī)仍然可以通過(guò)其他服務(wù)器維護(hù)的分布式賬本查詢到正確的身份信息,攻擊者若想竄改區(qū)塊鏈上的信息,需要攻破鏈上超過(guò)51%的節(jié)點(diǎn),這很難實(shí)現(xiàn),使得該系統(tǒng)健壯性大大增強(qiáng)。
6)前向安全性
本文在跨域的無(wú)人機(jī)設(shè)備與新的信任域邊緣服務(wù)器之間進(jìn)行新的密鑰協(xié)商時(shí)考慮會(huì)話密鑰的前向安全性。假設(shè)攻擊者已經(jīng)獲得了當(dāng)前會(huì)話的密鑰Keyue=H2(Nu‖Ne),其中Nu和Ne是通信雙方隨機(jī)選擇的隨機(jī)數(shù),均為通信雙方私有。由哈希函數(shù)特性可知,攻擊者很難破解出keyue,很難獲取到其中的隨機(jī)數(shù),而在這之前的會(huì)話密鑰同樣也很難獲得,基于此,可以保證會(huì)話協(xié)商過(guò)程在跨域身份認(rèn)證的前向安全性。
7)存儲(chǔ)數(shù)據(jù)的保密性和完整性
區(qū)塊鏈中的數(shù)據(jù)除被認(rèn)證的無(wú)人機(jī)訪問(wèn)外,其他的節(jié)點(diǎn)無(wú)法訪問(wèn),實(shí)現(xiàn)了無(wú)人機(jī)信息的保密性存儲(chǔ)。由于哈希函數(shù)不可逆性以及極難碰撞性,將區(qū)塊鏈用哈希指針進(jìn)行鏈接,鏈中數(shù)據(jù)則無(wú)法竄改,保證鏈中存儲(chǔ)的無(wú)人機(jī)中信息的完整性與真實(shí)性。
3.2 BAN邏輯證明
1)基本術(shù)語(yǔ)
本文采用BAN邏輯[23]證明協(xié)議的安全性,其涉及的基本術(shù)語(yǔ)如表3所示。
2)所用規(guī)則
本文所使用的規(guī)則如下:
a)消息含義規(guī)則:若K是A與B之間的密鑰,當(dāng)A收到K加密后的密文X后,可以得到A相信B曾經(jīng)發(fā)送過(guò)X。
b)臨時(shí)值驗(yàn)證規(guī)則:若A相信X是新鮮的,且A相信B曾經(jīng)發(fā)送過(guò)X,可以知道A相信B相信X。
c)仲裁規(guī)則:若A相信B對(duì)X有仲裁權(quán),且A相信B相信X,可以得到A相信X。
d)信仰規(guī)則:若A相信X并且A相信Y,則可以知道A相信X和Y的組合。若A相信B,B相信X,則可以知道A相信B相信X。
3)假設(shè)條件
本文假設(shè)以下假設(shè)條件成立:
a)無(wú)人機(jī)相信其與邊緣服務(wù)器共享的會(huì)話密鑰是安全的。
b)無(wú)人機(jī)與邊緣服務(wù)器相信密鑰是新鮮的。
A2:Uav|≡#(SK),ES|≡#(SK)
c)邊緣服務(wù)器相信無(wú)人機(jī)也相信其與無(wú)人機(jī)協(xié)商的會(huì)話密鑰是安全的。
4)證明目標(biāo)
本文需要證明的目標(biāo)如下:
無(wú)人機(jī)相信邊緣服務(wù)器也相信協(xié)商出的會(huì)話密鑰。
邊緣服務(wù)器相信無(wú)人機(jī)也相信協(xié)商出的會(huì)話密鑰。
5)協(xié)議理想化過(guò)程
無(wú)人機(jī)與邊緣服務(wù)器之間的信息交互:
在不安全的信道上傳播,將其轉(zhuǎn)換成對(duì)應(yīng)的理想化形式為
6)證明過(guò)程
a)目標(biāo)G1的證明過(guò)程。
根據(jù)A1與M3通過(guò)R1規(guī)則可得Q1:
又由Q1與A2通過(guò)R2規(guī)則可得G1:
b)目標(biāo)G2的證明過(guò)程。
根據(jù)A3與M4通過(guò)R1規(guī)則可得Q2:
又由Q2與A2通過(guò)R2規(guī)則可得G2:
3.3 安全性比較
將本文與文獻(xiàn)[19,20]進(jìn)行安全性對(duì)比,從身份匿名、會(huì)話密鑰建立、輕量級(jí)認(rèn)證協(xié)議、跨域認(rèn)證、去中心化進(jìn)行比較,具體分析如表4所示。
4 實(shí)驗(yàn)及性能分析
本文提出一種基于區(qū)塊鏈技術(shù)的無(wú)人機(jī)跨域身份認(rèn)證與密鑰協(xié)商協(xié)議。為評(píng)估本文方案的實(shí)驗(yàn)性能,實(shí)驗(yàn)平臺(tái)操作系統(tǒng)為Windows 10,Intel CoreTM i7-6700 CPU @ 3.40 GHz ,內(nèi)存為8 GB。為方便對(duì)比,本文選擇橢圓曲線數(shù)字簽名算法以及橢圓曲線加密算法,本章暫不考慮各方案區(qū)塊鏈讀寫時(shí)間。根據(jù)文獻(xiàn)[23]可知,其中哈希算法Th=0.320 ms,加密算法Te=4.406 ms, 解密算法Td=7.761 ms,簽名時(shí)間Ts=2.165 ms,解簽名算法Tv=4.33 ms,隨機(jī)數(shù)生成Tr=1.185 ms,雙線性對(duì)Tbp=12.261 ms,指數(shù)運(yùn)算Tg=5.828 ms,橢圓曲線點(diǎn)乘運(yùn)算Tm=4.107 ms。
4.1 計(jì)算開(kāi)銷分析
本文方案與文獻(xiàn)[19,20]相比,減少了雙線性對(duì)運(yùn)算以及公鑰加解密計(jì)算次數(shù)。計(jì)算開(kāi)銷對(duì)比如表5所示。
經(jīng)過(guò)計(jì)算,本文方案計(jì)算開(kāi)銷28.718 ms,文獻(xiàn)[19]計(jì)算開(kāi)銷為69.152 ms,文獻(xiàn)[20]計(jì)算開(kāi)銷是49.299 ms。顯然本文方案認(rèn)證效率較高,適用于無(wú)人機(jī)的跨域身份認(rèn)證模型,本文方案與文獻(xiàn)[19,20]計(jì)算耗時(shí)對(duì)比如圖6所示。
4.2 通信開(kāi)銷分析
本文參考文獻(xiàn)[6]設(shè)置標(biāo)識(shí)長(zhǎng)度,服務(wù)器身份標(biāo)識(shí)長(zhǎng)度為128 bit,無(wú)人機(jī)身份標(biāo)識(shí)與偽身份標(biāo)識(shí)為16 bit,隨機(jī)數(shù)長(zhǎng)度為128 bit,時(shí)間戳長(zhǎng)度為32 bit ,哈希函數(shù)輸出長(zhǎng)度為256 bit,ECC算法長(zhǎng)度為320 bit,區(qū)塊鏈地址長(zhǎng)度為160 bit。文獻(xiàn)[19]涉及跨鏈的通信,消息個(gè)數(shù)較多,通信開(kāi)銷較大。文獻(xiàn)[20]通信開(kāi)銷與參數(shù)k的取值相關(guān)??傮w來(lái)說(shuō),本文通信開(kāi)銷較低。通信開(kāi)銷對(duì)比如表6所示。
4.3 存儲(chǔ)開(kāi)銷分析
針對(duì)無(wú)人機(jī)設(shè)備存儲(chǔ)能力有限的問(wèn)題:對(duì)本文方案的存儲(chǔ)開(kāi)銷進(jìn)行分析。在本方案中,無(wú)人機(jī)僅存儲(chǔ)自身生成的公私鑰對(duì)、偽身份PID的哈希值以及會(huì)話密鑰。文獻(xiàn)[19]中,無(wú)人機(jī)額外還存儲(chǔ)了用于身份認(rèn)證的身份憑證,增加了存儲(chǔ)開(kāi)銷。雖然文獻(xiàn)[20]的方案存儲(chǔ)開(kāi)銷較小,但是該方案并未討論會(huì)話密鑰的協(xié)商,其物聯(lián)網(wǎng)設(shè)備并未存儲(chǔ)會(huì)話密鑰等信息。本文參考文獻(xiàn)[23]設(shè)置存儲(chǔ)開(kāi)銷,自身公鑰的存儲(chǔ)開(kāi)銷為320 bit,私鑰為64 bit,隨機(jī)數(shù)與身份標(biāo)識(shí)64 bit,會(huì)話密鑰256 bit,并且本文采用了區(qū)塊鏈技術(shù),認(rèn)證信息可以存儲(chǔ)在區(qū)塊鏈上,使得無(wú)人機(jī)設(shè)備的存儲(chǔ)開(kāi)銷降低。對(duì)比如表7所示。
4.4 區(qū)塊鏈實(shí)驗(yàn)仿真
本文采用以太坊Geth架構(gòu)為實(shí)驗(yàn)平臺(tái),智能合約代碼在Remix平臺(tái)開(kāi)發(fā)編譯及部署,智能合約開(kāi)發(fā)使用Solidity 0.8.0版本。如圖7所示,以太坊Geth平臺(tái)模擬出3個(gè)不同端口所代表的不同節(jié)點(diǎn)(如node1),每個(gè)節(jié)點(diǎn)表示一個(gè)服務(wù)器,每個(gè)服務(wù)器節(jié)點(diǎn)代表不同的信任域。node1節(jié)點(diǎn)代表domain1,node2與node3代表domain2與domain3,通過(guò)Remix平臺(tái)設(shè)計(jì)并編譯了存儲(chǔ)身份認(rèn)證信息智能合約以及查詢智能合約。本實(shí)驗(yàn)通過(guò)模擬存儲(chǔ)身份認(rèn)證信息,將偽身份哈希H1(PID)以及公鑰PK通過(guò)智能合約存儲(chǔ)上鏈。
信任域構(gòu)建完畢后,需要將node1、node2與node3三個(gè)節(jié)點(diǎn)分別加入?yún)^(qū)塊鏈系統(tǒng)。節(jié)點(diǎn)共識(shí)時(shí)間如圖8所示,隨著節(jié)點(diǎn)數(shù)量的增加,共識(shí)時(shí)間略有增加,但毫秒級(jí)的共識(shí)時(shí)間非常適合無(wú)人機(jī)網(wǎng)絡(luò)。區(qū)塊鏈系統(tǒng)具有很好的擴(kuò)展性,可以滿足不同信任域的節(jié)點(diǎn)加入?yún)^(qū)塊鏈系統(tǒng),共識(shí)時(shí)間極短。
當(dāng)以太坊多節(jié)點(diǎn)區(qū)塊鏈構(gòu)建完畢后,在node1節(jié)點(diǎn)部署存儲(chǔ)無(wú)人機(jī)認(rèn)證信息的智能合約。本文通過(guò)Remix編寫智能合約,同時(shí)部署到Geth平臺(tái)。測(cè)試得到智能合約部署時(shí)間如圖9所示,其部署時(shí)間為2.008 s。考慮到在注冊(cè)階段無(wú)人機(jī)對(duì)時(shí)延的要求不高,本文方案仍然具備實(shí)用性。
無(wú)人機(jī)在node3節(jié)點(diǎn)中查詢智能合約的時(shí)間為59.837 ms,即使隨著區(qū)塊鏈系統(tǒng)中加入節(jié)點(diǎn)數(shù)的增多,查詢智能合約的查詢時(shí)間也沒(méi)有較大變化,非常適合無(wú)人機(jī)的跨域身份認(rèn)證。通過(guò)調(diào)用智能合約檢索其身份信息,從而查詢出其所對(duì)應(yīng)的公鑰,隨后通過(guò)公鑰解簽名隨機(jī)數(shù),達(dá)到身份認(rèn)證成功的目的。
Gas值是衡量以太坊性能的重要參數(shù)。通過(guò)Remix平臺(tái)可以查詢合約部署的gas。以太坊部署、調(diào)用智能合約均需要消耗gas,通過(guò)gas、gaslimit等數(shù)值的分析,可以分析出以太坊的吞吐量等指標(biāo)。本文方案gaslimit值在初始化以太坊的創(chuàng)世區(qū)塊文件中設(shè)置為0x2fefd8。部署智能合約時(shí),gas成本為940 281,如圖10所示,認(rèn)證階段調(diào)用2次智能合約的功能函數(shù)消耗gas為33 334,吞吐量約為66 tps??梢灶A(yù)見(jiàn),當(dāng)區(qū)塊鏈節(jié)點(diǎn)足夠多時(shí),其吞吐量會(huì)進(jìn)一步增強(qiáng)。與文獻(xiàn)[12] gas成本37 832和文獻(xiàn)[20]的gas成本為45 828相比,本文方案在調(diào)用智能合約的gas成本上有所降低。
5 結(jié)束語(yǔ)
針對(duì)目前存在的無(wú)人機(jī)跨域認(rèn)證復(fù)雜且效率低的問(wèn)題,本文通過(guò)服務(wù)器設(shè)備對(duì)其進(jìn)行認(rèn)證,采用區(qū)塊鏈技術(shù)進(jìn)行無(wú)人機(jī)跨域身份認(rèn)證,并且對(duì)認(rèn)證與密鑰協(xié)商協(xié)議應(yīng)有的安全性進(jìn)行了分析。針對(duì)無(wú)人機(jī)高速的移動(dòng)性等特點(diǎn),重點(diǎn)關(guān)注了無(wú)人機(jī)進(jìn)入到一個(gè)新的信任域內(nèi)的身份認(rèn)證方法。但是本文方案還未考慮到無(wú)人機(jī)易被劫持極易導(dǎo)致私鑰泄露以及誠(chéng)實(shí)但不可信的無(wú)人機(jī)注冊(cè)并導(dǎo)致信息泄露等風(fēng)險(xiǎn),這是無(wú)人機(jī)網(wǎng)絡(luò)跨域身份認(rèn)證未來(lái)亟待解決的問(wèn)題。
參考文獻(xiàn):
[1]Maghazei O, Netland T. Drones in manufacturing: exploring opportunities for research and practice[J]. Journal of Manufacturing Technology Management, 2020,31(6): 1237-1259.
[2]Lin Chao, He Debiao, Kumar N, et al. Security and privacy for the Internet of drones: challenges and solutions[J]. IEEE Communications Magazine, 2018,56(1): 64-69.
[3]Srinivas J, Das A K, Kumar N, et al. TCALAS: temporal credential-based anonymous lightweight authentication scheme for Internet of drones environment[J]. IEEE Trans on Vehicular Technology, 2019, 68(7): 6903-6916.
[4]朱輝, 張業(yè)平, 于攀, 等. 面向無(wú)人機(jī)網(wǎng)絡(luò)的密鑰管理和認(rèn)證協(xié)議[J]. 工程科學(xué)與技術(shù), 2019,51(3): 158-166. (Zhu Hui, Zhang Yeping, Yu Pan, et al. Key management and authentication protocol for UAV network[J]. Advanced Engineering Sciences, 2019, 51(3): 158-166.)
[5]蹇奇芮, 陳澤茂, 武曉康. 面向無(wú)人機(jī)通信的認(rèn)證和密鑰協(xié)商協(xié)議[J]. 計(jì)算機(jī)科學(xué), 2022,49(8): 306-313. (Jian Qirui,Chen Zemao,Wu Xiaokang. Authentication and key agreement protocol for UAV communication[J]. Computer Science, 2022,49(8):306-313.)
[6]Hussain S, Chaudhry S A, Alomari O A, et al. Amassing the security: an ECC-based authentication scheme for Internet of drones[J]. IEEE Systems Journal, 2021,15(3): 4431-4438.
[7]張敏, 許春香, 張建華. 無(wú)人機(jī)網(wǎng)絡(luò)中基于多因子的認(rèn)證密鑰協(xié)商協(xié)議研究[J]. 信息網(wǎng)絡(luò)安全, 2022,22(9): 21-30. (Zhang Min, Xu Chunxiang, Zhang Jianhua. Research on authentication key agreement protocol based on multi-factor in Internet of drones[J]. Netinfo Security, 2022,22(9): 21-30.)
[8]張亞兵, 邢鑌. 基于多層區(qū)塊鏈的跨域認(rèn)證方案[J]. 計(jì)算機(jī)應(yīng)用研究, 2021, 38(6): 1637-1641. (Zhang Yabing, Xing Bin. Cross domain authentication scheme based on multi layer blockchain[J]. Application Research of Computers, 2021,38(6): 1637-1641.)
[9]陳安林, 潘進(jìn), 郭超, 等. 移動(dòng)自組網(wǎng)中跨域兩方認(rèn)證密鑰協(xié)商協(xié)議研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2011, 28(7): 2734-2737. (Chen Anlin, Pan Jin, Guo Chao, et al. Research on authenticated key agreement protocol in cross-domain two-party for mobile Ad hoc network[J]. Application Research of Computers, 2011,28(7): 2734-2737.)
[10]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL].(2008). https://bitcoin.org/en/bitcoin-paper.
[11]Ferrag M A, Derdour M, Mukherjee M, et al. Blockchain technologies for the Internet of Things: research issues and challenges[J]. IEEE Internet of Things Journal, 2019, 6(2): 2188-2204.
[12]Mao Wenze, Jiang Peng, Zhu Liehuang. BTAA: blockchain and TEE assisted authentication for IoT Systems[J]. IEEE Internet of Things Journal, 2023,10(14): 12603-12615.
[13]Liu Yizhong, Liu Andi, Xia Yu, et al. A blockchain-based cross-domain authentication management system for IoT devices[J]. IEEE Trans on Network Science and Engineering, 2024,11(1): 115-127.
[14]Cui Jie, Liu Nan, Zhang Qingyang, et al. Efficient and anonymous cross-domain authentication for IIoT based on blockchain[J]. IEEE Trans on Network Science and Engineering, 2023,10(2): 899-910.
[15]Dong Jingnan, Xu Guangxia, Ma Chuang, et al. Blockchain-based certificate-free cross-domain authentication mechanism for Industrial Internet[J]. IEEE Internet of Things Journal, 2024,11(2): 3316-3330.
[16]Tan Yawen, Wang Jiadai, Liu Jiajia, et al. Blockchain-assisted distributed and lightweight authentication service for industrial unmanned aerial vehicles[J]. IEEE Internet of Things Journal, 2022,9(18): 16928-16940.
[17]Bera B, Chattaraj D, Das A K. Designing secure blockchain-based access control scheme in IoT-enabled Internet of drones deployment[J]. Computer Communications, 2020,153: 229-249.
[18]Liu Bin, Yu Keping, Feng Chaosheng, et al. Cross-domain authentication for 5G-enabled UAVs: a blockchain approach[C]//Proc of the 4th ACM MobiCom Workshop on Drone Assisted Wireless Communications for 5G and Beyond. New York: ACM Press, 2021: 25-30.
[19]Feng Chaosheng, Liu Bin, Guo Zhen, et al. Blockchain-based cross-domain authentication for intelligent 5G-enabled Internet of drones[J]. IEEE Internet of Things Journal, 2021,9(8): 6224-6238.
[20]Yao Yingying, Chang Xiaolin, Miic'J, et al. BLA: blockchain-assisted lightweight anonymous authentication for distributed vehicular fog services[J]. IEEE Internet of Things Journal, 2019, 6(2): 3775-3784.
[21]Buterin V. A next-generation smart contract and decentralized application platform[R/OL].(2014). https://github.com/ethereum/wiki/wiki/White-Paper.
[22]Dolev D, Yao A. On the security of public key protocols[J]. IEEE Trans on Information Theory, 1983,29(2): 198-208.
[23]Zheng Jing, Wang Xiaoliang, Yang Qing, et al. A blockchain-based lightweight authentication and key agreement scheme for Internet of Vehicles[J]. Connection Science, 2022,34(1): 1430-1453.
[24]Burrows M, Abadi, Needham R M. A logic of authentication[J]. Proc of the Royal Society A, 1989,426(1871): 233-271.