馬卓然,馬建峰,,苗銀賓,孫 聰
(1. 西安電子科技大學 計算機學院,陜西 西安 710071;2. 西安電子科技大學 網(wǎng)絡與信息安全學院,陜西 西安 710071)
隨著無人機(Unmanned Aerial Vehicle, UAV)的快速發(fā)展,無人機網(wǎng)絡安全得到了學術(shù)界和企業(yè)界的廣泛關(guān)注. 在無人機網(wǎng)絡中,UAV節(jié)點包含飛行控制器、聲納傳感器、紅外線傳感器和相機等眾多資源模塊[1-3],而其中不同類型資源模塊的訪問控制需求各不相同,如圖1所示. 傳感器數(shù)據(jù)允許多個請求者同時訪問;相機資源禁止多個請求者在同一時間內(nèi)訪問;而飛行控制器為了完成對緊急情況的及時處理,必須保證時刻被主體訪問[4]. 同時由于無人機網(wǎng)絡資源的請求者眾多,比如,地面控制站終端和UAV自身的應用程序[5],在完成飛行任務的過程中,請求者會產(chǎn)生不同緊急程度的請求. 此外,無人機網(wǎng)絡具有高速移動的特點[6],隨著UAV的位置移動,授權(quán)者權(quán)限會發(fā)生改變.而且為了延長UAV的任務執(zhí)行時間,UAV之間存在任務轉(zhuǎn)移. 面對無人機網(wǎng)絡復雜的訪問控制環(huán)境,傳統(tǒng)的訪問控制方法無法針對眾多資源類型與權(quán)限變更而提供彈性的權(quán)限管理. 因此,無人機網(wǎng)絡亟需一種靈活且細粒度的訪問控制方案.
圖1 無人機網(wǎng)絡結(jié)構(gòu)圖
在已有的訪問控制方案中,文獻[7]在無人機群體中通過UAV位置信息與手勢識別技術(shù)提出基于身份的訪問控制(Identity-Based Access Control, IBAC)方案,用戶根據(jù)手勢識別實現(xiàn)對UAV飛行控制模塊的安全訪問,但無法應對無人機網(wǎng)絡眾多資源類型與授權(quán)者發(fā)生變更的情況; 文獻[8]在多用戶訪問多UAV的背景下提出具有獨占性的基于角色的訪問控制(Role-Based Access Control, RBAC)方案,克服了其他RBAC方案中因多個用戶同時訪問同一資源而引發(fā)的操作混亂問題,但RBAC方案未考慮UAV資源完整性的特點,而不能及時為此類資源分配權(quán)限,易導致完整性資源模塊不能及時得到監(jiān)控處理而威脅UAV的安全; 文獻[9]提出在多無人機系統(tǒng)中基于任務的訪問控制(Task-Based Access Control,TBAC)方案,通過中央任務管理器將任務分配到具體的UAV,方案中將訪問權(quán)限與任務相結(jié)合,每個任務都被看作主體使用權(quán)限訪問資源的過程,根據(jù)任務的緊急程度實現(xiàn)了主體的優(yōu)先級劃分,但未解決無人機網(wǎng)絡資源具有多種訪問控制需求的問題. 在其他領(lǐng)域的訪問控制中,文獻[10-11]根據(jù)資源被用戶訪問的情況而提出基于狀態(tài)的訪問控制模型(State-Based Access Control Model, SBACM),但該方案針對單一類型的資源,不能滿足無人機網(wǎng)絡資源類型復雜的實際場景. 為了解決以上問題,筆者提出一種基于狀態(tài)遷移的訪問控制模型(State Transition-Based Access Control Model,STBACM),實現(xiàn)對無人機網(wǎng)絡多種類型資源的安全訪問,而且確保了主體優(yōu)先級訪問控制. 表1給出該方案與其他方案的功能比較.
表1 不同方案的功能比較
在介紹文中方案之前,首先給出主體、客體、請求、權(quán)限、狀態(tài)以及狀態(tài)遷移6個術(shù)語的定義.
定義1 主體:系統(tǒng)中請求者的集合S. 其中S∈S,S= {Sid,Sp},S指系統(tǒng)中一個可以獨立訪問無人機網(wǎng)絡資源的主體,其由主體身份Sid和主體優(yōu)先級Sp組成.
定義2 客體:系統(tǒng)中可被請求者訪問的資源集合O. 其中O∈O,O= {Oid,A},客體O是由客體身份Oid和客體屬性集A= {A1,A2}構(gòu)成.A1表示資源的訪問性質(zhì),A2= {con,uncon},表示主體被訪問的情況(con表示客體已有主體訪問,uncon表示客體未被主體訪問).
定義3 請求: 系統(tǒng)為了變更權(quán)限而發(fā)起請求,請求集合R=RA×S×O. 授予或撤銷權(quán)限是由操作模式RA= {add,delete}所決定.r= {ra,S,O},表示r是由主體S發(fā)出的對客體O進行ra權(quán)限操作的請求,其中r∈R且ra∈RA.
定義4 權(quán)限: 權(quán)限P=S×O,是系統(tǒng)中的主體對客體進行訪問的許可. 其中,P∈P,P= (S,O),表示主體S訪問客體O的權(quán)限.
定義5 狀態(tài): 某個時間點內(nèi)系統(tǒng)中客體被系統(tǒng)主體授權(quán)的情況通過狀態(tài)表示,狀態(tài)集合表示為V. 其中,V∈V,V= {O,So},So表示系統(tǒng)當前授權(quán)訪問O的主體集,So?S.
根據(jù)系統(tǒng)中客體類型,定義了4條訪問性質(zhì),當且僅當客體滿足至少一條訪問性質(zhì)時為安全狀態(tài):
(1) 共享性訪問性質(zhì)(Shared Access Property, SAP): 共享性客體可被多個主體同時訪問且不發(fā)生訪問控制沖突. 共享性客體O∈O,O的狀態(tài)V= {O,So}滿足SAP. SAP表示如下:
SAP?V∈V,?S,S′∈S,S≠S′?S∈So∧S′∈So.
(2) 獨占性訪問性質(zhì)(Exclusive Access Property, EAP): 獨占性客體至多被一個主體所訪問. 獨占性客體O∈O,O的狀態(tài)V= {O,So}滿足EAP,EAP表示如下:
EAP?V∈V,?S,S′∈S,S≠S′?S∈So∧S′?So∪S?So∧S′∈So.
(3) 完整性訪問性質(zhì)(Completeness Access Property,CAP): 完整性客體必須保證至少被一個主體訪問. 當完整性客體出現(xiàn)沒有主體訪問的情況時,將被授權(quán)到默認主體Sd. 完整性客體O∈O,O的狀態(tài)V= {O,So}滿足CAP,CAP表示如下:
CAP???So.
(4) 非完整性訪問性質(zhì)(Incompleteness Access Property,IAP): 非完整性客體不需要保證始終被主體訪問.非完整性客體O∈O,O的狀態(tài)V= {O,So}滿足IAP,IAP表示如下:
IAP??∈So.
定義6 狀態(tài)遷移: trans:V×R→V,表示在請求觸發(fā)下客體從一個狀態(tài)到另一個狀態(tài)的遷移函數(shù).
圖2 系統(tǒng)模型
針對無人機網(wǎng)絡復雜的訪問控制情況[12],筆者提出基于狀態(tài)遷移的訪問控制模型,系統(tǒng)模型結(jié)構(gòu)如圖2所示,模型由主體、客體資源與訪問控制層組成. 其中系統(tǒng)通過主體發(fā)出請求的執(zhí)行次序滿足了主體優(yōu)先級,并根據(jù)客體訪問性質(zhì)實現(xiàn)對客體的分類,而且訪問控制層根據(jù)狀態(tài)遷移規(guī)則限制主體對資源的訪問. 模型在訪問控制層中引入訪問控制管理器(Access Control Manager, ACM)集中管理所有權(quán)限. 當請求出現(xiàn)異常時,ACM拒絕請求;否則,ACM將執(zhí)行狀態(tài)遷移,對請求進行處理. 由于主體和資源之間沒有靜態(tài)映射,該映射由ACM執(zhí)行. 在主體允許訪問一個資源模塊之前,需要在ACM中存儲相對應的權(quán)限. 模型中各模塊的作用將于下文中介紹.
在系統(tǒng)模型中,訪問控制的主體為請求者,其可以是地面控制站終端或UAV自身的應用程序[13-14],根據(jù)請求的緊急程度和重要程度對主體進行優(yōu)先級劃分. 主體可以發(fā)送訪問請求到ACM,在資源權(quán)限請求過程中,主體間可能會發(fā)生資源競爭. 此時,ACM根據(jù)主體優(yōu)先級決定執(zhí)行請求的次序,在主體間優(yōu)先級相同的情況下,將按照主體間請求發(fā)送的先后次序執(zhí)行請求,即先到先得規(guī)則.
圖3 無人機網(wǎng)絡資源性質(zhì)分類圖
系統(tǒng)模型中的客體為無人機網(wǎng)絡的整體資源,根據(jù)資源的訪問性質(zhì),系統(tǒng)對無人機網(wǎng)絡的資源進行分類,如圖3所示,客體資源分為4種類型.
在無人機網(wǎng)絡執(zhí)行飛行任務時,由于單個UAV的續(xù)航時間有限,為了延長UAV任務執(zhí)行時間并提供不間斷的服務,無人機網(wǎng)絡會將飛行任務從一架UAV轉(zhuǎn)交給另一架UAV[9],這個過程伴隨著權(quán)限轉(zhuǎn)移. 且隨著UAV的高速移動,系統(tǒng)中的請求者會發(fā)生變更. 如圖4所示,在權(quán)限轉(zhuǎn)移和授權(quán)者變更時將觸發(fā)一系列的客體狀態(tài)遷移,比如,系統(tǒng)將撤銷已退出系統(tǒng)的授權(quán)者的權(quán)限,并添加新加入系統(tǒng)的主體的權(quán)限. 在狀態(tài)遷移的過程中將根據(jù)客體狀態(tài)執(zhí)行訪問控制策略.
圖4 系統(tǒng)狀態(tài)遷移圖
系統(tǒng)狀態(tài)遷移如圖4所示,生成步驟如下:
步驟1 創(chuàng)建客體的初始狀態(tài):將系統(tǒng)客體集合中的一個客體O∈O和訪問該客體的主體集So?S視為該客體的初始狀態(tài)V0∈V.
步驟2 觸發(fā)狀態(tài)遷移:當無人機網(wǎng)絡中授權(quán)者發(fā)生變更和UAV間出現(xiàn)任務轉(zhuǎn)移時,需要進行一系列的權(quán)限變更. 在變更訪問客體O的權(quán)限時,主體發(fā)送的請求r∈R. 當r滿足狀態(tài)遷移規(guī)則的條件時,則生成一條由O當前狀態(tài)Vi∈V指向Vj∈V的有向邊trans(Vi,r)=Vj.其表示在請求r的觸發(fā)下,執(zhí)行訪問控制策略中的狀態(tài)遷移規(guī)則,響應請求r,客體O從狀態(tài)Vi遷移至狀態(tài)Vj.
步驟3 生成新狀態(tài):執(zhí)行狀態(tài)遷移后,訪問客體O的主體集發(fā)生改變,此時生成新狀態(tài),客體狀態(tài)遷移至新的狀態(tài)節(jié)點Vj.
ACM在處理請求和權(quán)限更新時需要訪問控制策略判斷是否接收請求以及如何執(zhí)行狀態(tài)遷移. 在STBACM中介紹了訪問控制策略中狀態(tài)遷移規(guī)則的具體實現(xiàn),相關(guān)參數(shù)的定義見表2.
表2 參數(shù)定義表
以下為STBACM的遷移規(guī)則,其中規(guī)則1定義如何添加共享性客體的權(quán)限,規(guī)則2定義如何添加獨占性客體的權(quán)限,規(guī)則3定義如何刪除非完整性客體的權(quán)限,而規(guī)則4是對完整性客體的權(quán)限撤銷的定義,確保完整性客體在撤銷權(quán)限后的完整性. 當請求r滿足狀態(tài)遷移規(guī)則條件時,將ACM按狀態(tài)遷移規(guī)則執(zhí)行遷移.其中ACM處理請求執(zhí)行狀態(tài)遷移規(guī)則的流程如圖5所示.
圖5 ACM處理請求流程圖
規(guī)則1 添加共享性客體權(quán)限.若主體S需要添加共享性客體O的權(quán)限,S發(fā)送請求r∈R,r= (add,S,O).如果r滿足狀態(tài)遷移規(guī)則條件1,ACM將執(zhí)行狀態(tài)遷移,調(diào)用函數(shù)addSAP(S,O)添加權(quán)限P= (S,O)到ACM,其中P∈P. 條件1可表示為
(1)
規(guī)則2 添加獨占性客體權(quán)限.若主體S需獲得獨占性客體O的權(quán)限,S發(fā)出的請求r∈R,r= (add,S,O).根據(jù)客體O的權(quán)限是否已授予給其他主體分為以下兩種情況:
規(guī)則2.1 當獨占性資源O尚無其他主體訪問時,則調(diào)用函數(shù)addUncontrolledExclusiveRes(S,O)將O的權(quán)限授予給主體S.如果滿足條件2.1,它將添加P= (S,O)到ACM,P∈P. 條件2.1可表示為
(2)
規(guī)則2.2 獨占性客體O此時已被主體S′訪問控制;如果S′優(yōu)先級小于S,則依次調(diào)用函數(shù)delPermiss(S′,O)和addUnconEAP(S,O),將O的權(quán)限授予給優(yōu)先級高的S,如果滿足條件2.2,則它將添加S到O的授權(quán)集中; 如果S′優(yōu)先級不低于S,則根據(jù)先到先得的策略,S將無法獲得O的權(quán)限. 條件2.2可表示為
(3)
規(guī)則3 撤銷非完整性客體權(quán)限.若主體S需要將非完整性客體O的權(quán)限進行撤銷.這由請求r∈R,r= (delete,S,O)所表示. 在這種情況下,調(diào)用一個函數(shù)delPermiss(S,O). 如果滿足條件3,它將從ACM中移除權(quán)限P= (S,O).條件3可表示為
(4)
規(guī)則4 撤銷完整性客體權(quán)限.若主體S需要將完整性客體O的權(quán)限進行撤銷. 這由請求r∈R,r= (delete,S,O)所表示. 若滿足條件4,它將在ACM中移除權(quán)限P= (S,O),并將O的權(quán)限授予給O默認的主體Sd,保證O的完整性訪問性質(zhì). 條件4可表示為
(5)
當且僅當主體發(fā)送的請求r滿足狀態(tài)遷移規(guī)則的條件時,才能夠調(diào)用相應的函數(shù),觸發(fā)狀態(tài)之間的遷移.
對STBACM方案的性能進行測試與評估.實驗在Eclipse 4.6.1(Windows 8,主頻為 2.30 GHz,內(nèi)存為 4.00 GB) 上計算了STBACM方案在仿真環(huán)境下處理請求時執(zhí)行狀態(tài)遷移的計算開銷. 為了對STBACM方案更好地進行分析,文中將實驗方案部署于由多個地面控制終端(Windows 8,主頻為 2.30 GHz,內(nèi)存為 4.00 GB) 和3個無人機(主處理器STM32F427,協(xié)處理器STM32F100)組成的無人機網(wǎng)絡上,并與RBAC方案進行對比,其中無人機網(wǎng)絡采用MAVLink協(xié)議[15]. 下面從系統(tǒng)客體和主體兩個角度來測試系統(tǒng)在不同數(shù)量規(guī)模主體|S|與客體|O|情況下的性能,并給出與RBAC方案性能的比較,實驗結(jié)果如圖6所示,其中圖6(a)和(b)為仿真環(huán)境下的STBACM的遷移規(guī)則執(zhí)行時間,圖6(c)和(d)對比了實際無人機網(wǎng)絡與仿真環(huán)境下STBACM和RBAC兩種方案的執(zhí)行時間. 在圖6(a)中發(fā)現(xiàn)客體規(guī)模 |O|= 50,|S|∈ [10,50]的情況下,規(guī)則執(zhí)行時間隨著|S|規(guī)模的擴大而增長趨勢逐漸變緩,在圖6(b)中得知,當主體規(guī)模 |S|= 10,|O|∈ [50,250]時,規(guī)則執(zhí)行時間隨著|O|規(guī)模的變化而呈近似線性的增長. 從圖6(a)和(b)中發(fā)現(xiàn)STBACM的遷移規(guī)則執(zhí)行時間與系統(tǒng)主體和客體數(shù)量規(guī)模相關(guān),其隨著主體和客體數(shù)量規(guī)模的增加而增加,且通過對方案中狀態(tài)遷移規(guī)則執(zhí)行時間的比較中發(fā)現(xiàn),在撤銷權(quán)限時,規(guī)則4由于需要保證客體資源的完整性,因而時間開銷高于規(guī)則3; 在對獨占性資源授權(quán)時,規(guī)則2.2需要比較主體間的優(yōu)先級,如果符合條件則執(zhí)行規(guī)則2.1,否則拒絕請求,所以平均執(zhí)行時間明顯低于規(guī)則2.1; 規(guī)則1對共享性資源進行權(quán)限授予,無需比較主體間的優(yōu)先級,因而計算時間介于規(guī)則2.1與規(guī)則2.2之間. 在圖6(c)和(d)中,STBACM和RBAC均隨著主體與客體數(shù)量規(guī)模的擴大執(zhí)行時間隨之增加.在仿真環(huán)境中,當主體 |S|= 10,客體 |O|= 50時,RBAC方案的時間開銷為 6.1 ms,STBACM方案的時間開銷為 11.5 ms;STBACM執(zhí)行時間略高于RBAC,這是因為STBACM方案是根據(jù)客體狀態(tài)和主體優(yōu)先級而進行彈性權(quán)限管理,彌補了RBAC方案無法保證客體資源的完整性和獨占性的不足,所以時間開銷略有增長,該增長可接受. 而且在無人機網(wǎng)絡中,當主體 |S|= 10,客體 |O|= 50時,RBAC方案的時間開銷為 8.3 ms,STBACM方案的時間開銷為 13.6 ms,從中可知,實際無人機網(wǎng)絡中方案的執(zhí)行時間高于仿真環(huán)境,其原因是在無人機網(wǎng)絡環(huán)境中需要通過系統(tǒng)創(chuàng)建階段為無人機網(wǎng)絡創(chuàng)建主體和客體,系統(tǒng)創(chuàng)建階段存在時間開銷和通信延遲. 無人機網(wǎng)絡中STBACM方案的時間開銷為 13.6 ms,這在實際無人機網(wǎng)絡應用場景中可行,因此,文中的STBACM方案在實際無人機網(wǎng)絡應用場景中是可行的.
圖6 請求執(zhí)行時間隨主體客體規(guī)模的變化趨勢
針對傳統(tǒng)訪問控制機制不能滿足無人機網(wǎng)絡中復雜的訪問控制環(huán)境及權(quán)限變更的需求,筆者提出了基于狀態(tài)遷移的訪問控制模型,并確保了細粒度的訪問權(quán)限管理和主體優(yōu)先級控制,且實驗性能測試表明文中方案在實際無人機網(wǎng)絡應用場景中具有可行性. 進一步研究工作將提高方案中遷移規(guī)則的執(zhí)行效率,并結(jié)合實際無人機網(wǎng)絡的上下文環(huán)境對文中方案進行擴展.