曹進,卜秋雨,楊元元,李暉,劉樵,馬懋德
(1.西安電子科技大學網絡與信息安全學院,陜西 西安 710071;2.卡塔爾大學工程學院,多哈 999043)
隨著地面5G 移動通信技術的快速發展,人們對面向6G 的未來通信場景提出了更高要求。作為地面通信網絡的補充,衛星網絡因其覆蓋范圍廣、吞吐量大、部署靈活等特點受到人們的廣泛關注[1]。利用衛星網絡保障用戶設備在偏遠山區、荒漠遠洋等地的安全接入,為電力勘測、應急救援等領域提供了技術上的支撐,有利于促進天地一體化信息網絡的高度融合與深度互聯[2-3]。
北斗導航衛星系統由我國自主研制,是繼美國的GPS、俄羅斯的GLONASS 之后第三個成熟、獨立的衛星導航系統,是我國重要的空間基礎設施[4]。其中,北斗三號衛星導航系統由24 顆中地球軌道(MEO,middle earth orbit)衛星、3 顆地球靜止軌道(GEO,geostationary earth orbit)衛星、3 顆傾斜地球同步軌道(IGSO,inclined geosynchronous orbit)衛星構成。MEO 衛星主要負責提供全球范圍內的定位導航、國際搜救、短報文通信等服務;GEO 衛星主要提供區域性的精密授時、位置報告等功能;IGSO 衛星可以對GEO 衛星進行區域互補[5]。
近年來,隨著信息網絡的快速發展,衛星網絡的用戶設備接入認證協議逐漸受到研究人員的關注。然而衛星通信具有網絡拓撲頻繁變化、衛星節點計算和存儲能力受限等特點。除此以外,天地一體化信息網絡容易受到敵手蓄意攻擊和破壞。因此傳統地面通信網絡等接入認證協議難以適用于衛星網絡[6]。綜上所述,構建天地一體化信息網絡的接入認證架構的重要性不言而喻。
用戶設備-衛星-地面控制中心是傳統用戶設備接入認證的常見架構,根據采用的密碼技術的不同,可以將其分為基于公鑰密碼、對稱密碼和輕量級算法的接入認證機制。
在基于公鑰密碼的接入認證機制中,Xue 等[7]提出了一種基于公鑰密碼算法的衛星用戶設備接入認證協議,在該協議中僅需要三次的星地交互即可完成用戶設備和地面控制中心的雙向認證,降低了信令開銷,但是協議中進行了大量的點乘操作,增大了計算開銷。Liu 等[8]提出了一種針對不同服務類型、服務場景的用戶設備接入認證協議,通過少量的信令交互即可完成雙向認證和密鑰協商;然而在用戶設備的接入認證過程中,大量的簽名和驗簽操作導致計算開銷巨大,難以適用于計算資源受限的衛星網絡。馬軍等[9]指出現有的北斗接入認證采用RSA 算法,導致認證時延較長,因此他們提出了一種基于SM2 算法的接入認證協議,認證所需的存儲空間較小、密鑰生成速度快,降低了用戶設備在接入認證過程中的認證時延。李昊鵬等[10]和趙東昊等[11]提出了在接入認證過程中加入位置信息來避免假冒攻擊的協議,但大量的簽名和驗簽操作會產生較大的計算開銷;另外,針對用戶設備的身份標識沒有進行隱私保護,可能導致用戶的身份隱私泄露問題,進而引起針對用戶身份的各種攻擊,因此該方案并不適合北斗衛星網絡。
公鑰密碼算法往往會帶來較大的計算開銷,于是研究人員將目光轉向對稱密碼算法。使用對稱密碼算法來設計用戶的接入認證協議,可以減少認證過程中所帶來的計算開銷,適用于資源受限的衛星網絡。朱輝等[12]基于演進的分組交換系統認證與密鑰協商(EPS-AKA,evolved packet system based authentication and key agreement)協議提出了一種基于令牌的接入認證機制,實現了用戶的隨遇接入,但是并沒有減少衛星節點的存儲開銷和地面控制中心的計算開銷。Chen 等[13]提出了一種基于離散對數困難問題的認證方案來保證實體之間的通信安全,實現了用戶的匿名性和不可追蹤性,可以抵抗智能卡被盜的攻擊。然而,Kumar 等[14]指出Chen 等[13]的接入認證協議存在缺陷,用戶設備無法向地面控制中心進行身份認證并建立安全的會話密鑰。針對此問題,Kumar 等[14]提出了一種移動衛星動態認證協議,協議中主要采用了對稱加密算法、哈希函數以及異或操作,認證過程中的信令開銷和計算開銷較小,在性能和安全需求之間達到了平衡。
Lin[15]提出了一種輕量級的移動衛星通信系統動態認證協議,該協議中地面控制中心不需要使用用戶的驗證表和更新表即可完成與衛星用戶設備的雙向認證,降低了通信系統的開銷。Liu 等[16]提出了一種臨時身份自我更新的策略,通過哈希函數、異或操作等完成了用戶和地面控制中心之間的雙向認證,計算成本較低。吳克河等[17]提出了一種輕量級哈希算法和證書相結合的認證協議,保證了消息來源的可靠性,然而協議中簽名和驗簽操作帶來了較大的計算開銷。Zhao 等[18]提出了一種基于北斗通信網絡的無人機接入認證協議,該協議使用單向哈希函數完成無人機和地面控制中心之間的雙向認證,計算開銷小。然而該協議并未考慮到無人機被捕獲時可能導致主密鑰泄露,因此攻擊者可以通過用戶設備直接接入北斗網絡中,進而引起嚴重的信息泄露問題。
基于上述技術分析,本文提出一種增強型用戶設備的接入認證協議,其特點如下。
1) 支持用戶設備接入北斗衛星網絡,實現用戶設備和北斗指控中心間的雙向認證和會話密鑰協商。
2) 在認證過程中,對用戶的身份標識信息、位置信息進行保護,滿足用戶身份隱私保護的需求,避免隱私泄露所帶來的安全問題。
3) 利用北斗位置報告的獨特性和主密鑰形成雙因子認證,增強認證的準確性,本文協議在一定程度上可以抵抗用戶設備被捕獲而造成的主密鑰泄露攻擊。
4) 采用安全分析和性能分析充分評估本文協議的安全性,使用形式化驗證工具Scyther 證明其安全性。在性能分析方面,從計算開銷、帶寬開銷以及存儲開銷3 個方面將本文協議與其他類似協議進行對比,協議分析結果表明,本文協議在性能開銷和安全需求之間達到了一種平衡,更加適用于節點資源受限的北斗衛星導航系統。
系統模型如圖1 所示,本文主要研究用戶設備在衛星網絡下的初始注冊和接入認證過程。系統架構主要包括以下實體:北斗衛星導航系統(BDS,Beidou satellite navigation system)、北斗指控中心(BDC,Beidou control)以及用戶設備(UE,user equipment)。

圖1 系統模型
北斗導航衛星系統是由不同軌道、不同類型的衛星組成的多層次天基信息網絡,計算、存儲能力有限,主要負責用戶設備和北斗指控中心之間的信息交互。
北斗指控中心由主控站、監測站等構成,是北斗衛星導航系統的主要管理者,負責北斗衛星導航系統的運行控制、實時檢測、數據處理等任務[5]。北斗指控中心一般具有較高的計算能力和存儲能力,可以承擔大量、復雜的運算。
用戶設備指各種類型的用戶設備,如手持用戶設備,可以通過北斗衛星導航系統接入北斗衛星網絡,并獲得相應的網絡服務。
根據所述架構,用戶設備通過北斗衛星與地面通信的場景屬于無線通信領域,該領域中有2 種常見的攻擊模型:DY(Dolev-Yao)模型和 CK(Canetti-Krawczyk)模型。DY 模型是指攻擊者可以對信息網絡中的消息進行截獲、重放、篡改,并且可以假冒網絡中的任意合法實體進行通信。CK模型指對實體內部的攻擊,出現主密鑰泄露、會話密鑰泄露造成非法用戶獲得相應的網絡服務。用戶設備的接入認證具有以下安全需求。
1) 雙向認證。網絡中的實體需要進行相互認證,BDC 需要確認UE 的身份,防止非法的用戶實體接入網絡并獲得相應的服務;同時,UE 需要確定BDC 的身份,防止中間人、假冒攻擊等造成用戶的相關隱私信息泄露。
2) 密鑰協商。在接入認證之后,UE 需要和BDC 協商出一個會話密鑰,便于保障后續通信消息的完整性和機密性。
3) 條件隱私性。用戶的條件隱私性主要是針對UE 的真實身份標識和位置信息進行保護。BDC 生成UE 臨時身份標識,對UE 的真實身份標識進行匿名保護,且各個臨時身份標識之間不具有相關性,保證后續認證消息中UE 身份的獨立性。除此以外,采用臨時身份保護序列傳遞下一次接入認證的臨時身份標識,避免惡意實體的追蹤行為,增強認證過程的安全性;對UE 的位置信息進行加密處理,保證位置信息的機密性。
4) 可追責。由于用戶隱私保護的需求,本文協議中其他實體和攻擊者無法得知UE 的真實身份標識。然而當UE 存在惡意行為時,應該具有追責的能力來保障天地一體化信息網絡的安全。
5) 前后向安全性。為了保證UE 在后續通信過程中會話的機密性和完整性,應當實現密鑰的前后向安全性。這意味著即使當前的密鑰泄露,攻擊者也不能推出之前的會話和將來的會話中使用的密鑰,從而無法破解出更多的通信內容。
除此以外,協議還應該能抵抗常見的攻擊,如中間人攻擊、重放攻擊、假冒攻擊等。
針對上述的安全需求,本節提出了一種基于位置密鑰的增強型用戶設備接入認證協議,主要分為以下2 個過程:用戶設備注冊過程和用戶設備接入認證過程。
在注冊階段,UE 首先向BDC 發起注冊請求,BDC 收到UE 的請求之后,通過安全信道下發主密鑰key 和臨時身份標識PIDu,臨時身份標識會在初始接入認證時進行更新,便于下一次接入認證時使用。在初始接入認證階段,UE 和BDC 利用主密鑰key 派生加密密鑰CK 和位置密鑰AK,CK 用于用戶設備的位置信息的機密性保護,AK 用于完成實體之間的雙向認證。除此以外,認證過程中主要采用了單向哈希函數和對稱加密算法SM4,通過引入隨機數、時間戳、消息認證碼、認證響應值,實現了用戶設備的接入認證和會話密鑰的協商。表1 列舉了用戶設備在認證過程中使用的符號及其含義。

表1 用戶設備在認證過程中使用的符號及其含義
為實現用戶設備注冊過程,用戶設備進行離線注冊,北斗指控中心分發主密鑰、生成用戶接入認證的臨時身份標識等相關安全參數,具體過程如圖2所示。

圖2 用戶設備注冊過程
1) UE 根據用戶自身的IDu標識發起注冊請求至BDC。
2) BDC 生成隨機數r、用戶設備的臨時身份標識PIDu,結合基礎密鑰K,導出用戶設備的主密鑰key=f(r||K),BDC 保存用戶設備的真實身份標識IDu、臨時身份標識PIDu和主密鑰key,并將用戶設備的臨時身份標識PIDu和主密鑰key 分發至用戶設備。
3) UE 將收到的用戶設備的主密鑰key 寫入密碼模塊。
針對天地一體化信息網絡的星地交互時延高、衛星節點資源受限等特點,本節設計了一種基于哈希的輕量級認證協議,如圖3 所示。該協議僅需要少量哈希算法和對稱密鑰算法就可以完成實體之間的雙向認證以及會話密鑰協商,降低了系統的計算開銷。

圖3 用戶設備接入認證過程

2) BDS 收到認證向量AV1,連同自身 IDBDS標識發送至BDC。



本節采用非形式化的方法分析本文協議的安全性,并討論抵御各種攻擊類型的能力。
1) 雙向認證。在上述用戶設備接入認證過程中,用戶設備和北斗指控中心可以進行雙向的身份認證。用戶設備通過將本地計算的 MAC2和收到的消息驗證碼 HMAC2進行比較來鑒別北斗指控中心的身份;北斗指控中心通過本地計算的消息驗證碼HMAC1和收到的消息驗證碼 MAC1是否相等來鑒別用戶設備的身份,實現了兩方實體的身份認證。
2) 條件隱私性。條件隱私性分為用戶設備身份的匿名性和用戶設備位置信息的機密性。UE 的匿名性通過注冊過程中生成的臨時身份標識PIDu實現,并且在接入認證過程中由北斗指控中心重新生成新的臨時身份標識PID′u,來保障下一次的用戶設備接入認證過程中UE 身份的匿名性。BDS 中不會存儲用戶的真實身份標識和臨時身份標識的映射表,且單向哈希算法不能通過反向求解獲得用戶的真實身份。因此對于BDS 以及其他用戶和敵手,可以實現用戶身份匿名性。位置信息的機密性通過在接入認證過程中生成加密密鑰CK 對位置信息進行加密,對于其他用戶和敵手來說,因為其不持有正確IDu,無法計算出正確的加密密鑰,所以無法解密獲得用戶設備的位置。
3) 可追責與不可鏈接性。BDC 本地存儲著與臨時身份標識PIDu相對應的真實身份標識IDu,所以BDC 可以獲得用戶的真實身份,實現用戶設備惡意行為的可追蹤性。因為鏈路的開放性,公共信道中的消息容易被攻擊者所捕獲,而攻擊者有可能從多次相同的認證信息中鏈接到某個實體。而在本文協議中,傳遞的認證消息在每一步驟后均進行了更新,對于攻擊者來說是完全隨機的,因此不可能從消息中完成對于實體身份的關聯。
4) 抵抗重放攻擊。在用戶設備接入認證過程中,UE 發送的認證向量 AV1=PIDu||SM4(CK,N u||Lu)||MAC1||T1和BDC 發送的認證向量 AV2=PID*||Ns||HMAC2||T2中加入了時間戳,保證了消息的新鮮性。認證雙方實體可以通過是否含有相同時間戳消息來快速鑒別出攻擊者的攻擊行為,因此,本文協議可以抵抗重放攻擊。
5) 抵抗中間人攻擊。在本文協議中,只有用戶和北斗指控中心知曉用戶的真實身份和對應的主密鑰,用戶在認證請求消息中使用匿名身份標識PIDu,攻擊者無法獲得用戶設備的真實身份標識IDu和主密鑰key。攻擊者無法根據截獲的消息解密用戶和北斗指控中心的會話內容,也就無法假冒其中一方與另一方進行通信。因此,本文協議可以抵抗中間人攻擊。
6) 前后向安全。在本文協議中,生成會話密鑰時都使用新的隨機數,各會話密鑰之間獨立。攻擊者并不能推出之前的會話和將來的會話中的密鑰,無法破解出更多的通信內容。因此,本文協議可以實現前后向安全。
7) 雙因子認證。本文協議結合北斗位置報告服務,利用用戶設備的位置信息和主密鑰形成雙因子,在一定程度上避免了在認證過程中用戶設備被俘獲可能導致的主密鑰泄露的安全問題,實現了用戶設備和北斗指控中心之間的雙向認證和會話密鑰的協商。
本節采用形式化工具Scyther驗證本文協議的安全性,該工具用于識別協議中常見的漏洞,形成攻擊輸出圖[19]。Scyther 內部設置單向哈希函數、對稱加解密等操作,方便將協議轉換為spdl(安全協議描述)語言。本文涉及用戶注冊和接入認證2 個階段,由于用戶離線完成注冊流程,因此該流程不進行形式化驗證。
首先,聲明協議名和角色集;其次,聲明角色中的變量、收發認證消息和具有的安全屬性;最后,運行協議進行形式化驗證[20]。Scyther 中各個角色從自身角度檢測是否得到滿足,若滿足該安全需求,驗證輸出結果中的Status(狀態)為Verfied(通過);否則為Falsified(失敗)。
針對用戶設備的接入認證流程,本文使用Scyther 工具進行形式化驗證。協議中涉及三方實體,即UE、BDC 和BDS。對通信實體的安全屬性,如Secret(機密性)、Alive(存活性)、Weakagree(弱一致性)、Niagree(非單射一致攻擊)和Nisynch(前向安全)等進行聲明,驗證結果如圖4 所示。

圖4 用戶設備接入認證流程Scyther 驗證結果
由圖4 可知,在Scyther 聲明的Secret、Alive、Weakagree、Niagree 和Nisynch 屬性范圍內均沒有發現任何攻擊。結果表明,本文協議實現了雙向認證和用戶身份的隱私保護,具有前后向安全性,并且可以抵抗常見的協議攻擊,如中間人攻擊、重放攻擊等,保證了通信的機密性和完整性。
在性能分析階段,本文首先從多個安全屬性的角度對本文協議和其他相似協議進行分析對比;然后從計算開銷、帶寬開銷、存儲開銷3 個方面對本文協議和其他相似協議進行分析。
本節針對本文協議和其他相似協議進行了安全性對比,分析結果如表2 所示。從表2 可以看出,文獻[11]、文獻[17]協議并沒有對用戶的真實身份標識進行保護,容易造成用戶隱私信息的泄露。文獻[12]、文獻[14]針對天地一體化信息網絡場景下提出的接入認證協議不具有后向安全性,可以推斷出未來的會話密鑰,帶來了嚴重的安全問題。文獻[8]、文獻[12]協議不能抵抗主密鑰泄露攻擊,甚至可以計算出當前的會話密鑰,通信信息的機密性和完整性將受到威脅。本文協議利用北斗位置報告的獨特性,將用戶設備的位置信息和主密鑰相結合形成雙因子,并將位置信息加入認證密鑰當中,在一定程度上可以抵抗由于用戶設備被捕獲而造成主密鑰泄露攻擊的情況,有效地保障了通信過程中協議的安全性和可靠性。

表2 安全性對比分析結果
本文在計算開銷方面忽略級聯、異或操作時間,只考慮以下計算時間:哈希運算TH、對稱加解密運算Ts、非對稱加密運算Tenc、非對稱解密運算Tdec、簽名運算Tsig、驗簽運算Tver、密鑰生成函數運算TKDF、點乘運算Tmul,通過構建一個仿真平臺來測試以上密碼學算法的開銷。
選擇兩臺性能不同的計算機,一臺處理器為Intel(R)Core(TM)m3-6Y30 CPU @0.9 GHz,模擬計算資源、存儲資源受限的用戶設備/衛星;另一臺處理器為Core(TM)i7-7500U CPU @2.70 GHz,模擬地面控制中心。所有密碼算法基于openssl-1.0.2e[21]實現,將每個密碼學算法運行1 000 次,然后取平均運行時間作為該密碼學算法的計算開銷,如表3所示[22]。各協議的計算開銷如表4 所示。

表3 每個密碼學算法的平均運行時間

表4 基于密碼學算法的計算開銷
圖5 繪制了各協議在接入認證階段計算開銷隨認證次數增加時的變化。本文協議與文獻[8]、文獻[11]、文獻[14]、文獻[17]協議相比具有較大優勢。本文協議基于哈希函數、KDF 算法、對稱加密機制,避免了公鑰密碼體制的簽名驗簽、點乘操作,雖然計算開銷略高于文獻[12]協議,但是在存儲開銷、帶寬開銷方面相比文獻[12]協議具有顯著優勢。

圖5 各協議在接入認證階段計算開銷隨認證次數增加時的變化
為了公平起見,本節將各協議的帶寬開銷在AES-128 bit 同等安全級別進行比較。對稱加密算法的密鑰長度為SM4-128 bit;公鑰密碼算法的公鑰長度為3 072 bit,私鑰長度為256 bit;橢圓曲線的密鑰長度為320 bit;哈希函數的輸出長度為128 bit;KDF的輸出長度為SM3-256 bit;用戶設備身份標識、臨時身份標識的長度為128 bit;衛星身份標識的長度為32 bit;隨機數的長度為128 bit;位置信息的長度為128 bit;時間戳的長度為32 bit。各協議的帶寬開銷對比如表5 所示。

表5 各協議的帶寬開銷對比
為了更加直觀地展現各協議的帶寬開銷,本節將其繪制成對數形式的折線,結果如圖6 所示。從圖6 可以看出,文獻[8]、文獻[11]協議中的帶寬開銷較大,因為這2 種協議主要采用了公鑰密碼算法,通信過程需要發送相關簽名數據、點乘運算結果等,增加了協議所需的帶寬開銷。與其他協議相比,本文協議的帶寬開銷最低,更加適用于資源受限的用戶設備/衛星的天地一體化信息網絡。

圖6 各協議的帶寬開銷對比
本節將計算在接入認證過程中所要花費的存儲開銷,協議中需要存儲的相關身份標識、會話密鑰等關鍵信息便于后續完成雙向認證。為了公平起見,在AES-128 bit 同等安全級別進行比較,具體的各種密碼學操作所需要的開銷與4.3 節中的定義保持一致。各協議在接入認證階段的存儲開銷對比如表6所示。

表6 各協議在接入認證階段的存儲開銷對比
各協議的存儲開銷對比如圖7 所示。從圖7 可以看到,文獻[8]、文獻[11]、文獻[17]協議因為采用公鑰密碼算法,需要存儲實體的私鑰和公鑰,產生了較大的存儲開銷。本文協議采用輕量級算法,在用戶設備側存儲臨時身份標識和會話密鑰;在北斗指控中心側存儲用戶設備的真實身份標識、臨時身份標識、會話密鑰,存儲開銷遠低于其他協議,更加適用于資源受限的衛星節點/用戶設備的天地一體化信息網絡。

圖7 各方案的存儲開銷對比
本文針對現有的用戶設備接入認證協議的不足和安全需求,提出了一種基于位置密鑰的增強型用戶設備接入認證協議,使用戶設備安全高效地接入網絡獲取服務。在認證過程中,利用北斗位置報告的獨特性和主密鑰形成雙因子認證,增強了認證的準確性,一定程度上可以抵抗用戶設備被捕獲而造成的主密鑰泄露攻擊。通過Scyther 進行形式化驗證可以看出,本文協議可以抵抗各種協議攻擊并且滿足用戶的條件隱私性、抗重放攻擊等安全需求。此外,本文協議僅使用哈希算法和對稱加密算法來實現用戶設備和北斗指控中心之間的雙向認證,可以有效地降低協議的認證開銷,因此更加適用于節點資源受限的北斗衛星導航系統。