張帥領(lǐng),陳李蘭,曹 進(jìn),馬如慧,胡華鵬
(1.中國電子科技集團公司第三十研究所,四川 成都 610041;2.西安電子科技大學(xué),陜西 西安 710126)
國際電信聯(lián)盟ITU 于2015 年正式確定第5 代通信系統(tǒng)(5th Generation Mobile Networks,5G)的3 大典型應(yīng)用場景,分別是增強型移動寬帶、海量機器通信和超高可靠低時延通信。第三代合作伙伴計劃(3rd Generation Partnership Project,3GPP)于2016 年啟動了5G 標(biāo)準(zhǔn)化研究,并于2020 年7 月完成了5G 的第一個演進(jìn)版本標(biāo)準(zhǔn)完成,標(biāo)志著5G三大應(yīng)用場景核心支持標(biāo)準(zhǔn)已準(zhǔn)備就緒。已完成的第一個5G 演進(jìn)版本標(biāo)準(zhǔn)基本涵蓋用戶面向陸地網(wǎng)絡(luò)的通信需求,但面對??仗靺^(qū)域的融入5G 網(wǎng)絡(luò)仍在探索階段[1]。3GPP 于2019 年啟動了5G 第二個演進(jìn)版本標(biāo)準(zhǔn)的研究計劃,以實現(xiàn)5G 網(wǎng)絡(luò)的全方位、立體化多域覆蓋能力。近地型小型衛(wèi)星(Low Earth Orbit,LEO)相比傳統(tǒng)衛(wèi)星,制造成本更低,且傳輸時延更低,可以滿足5G 網(wǎng)絡(luò)立體化多域覆蓋的通信需求,近年來已經(jīng)引起了廣泛關(guān)注。3GPP在標(biāo)準(zhǔn)TS 22.261[2]中已經(jīng)將衛(wèi)星接入技術(shù)納入5G網(wǎng)絡(luò)的基本接入技術(shù)之一。中國在低軌衛(wèi)星通信方面,有中國正在規(guī)劃的2030 年國家科技創(chuàng)新重大專項“天地綜合信息網(wǎng)的低地軌道接入網(wǎng)”、航空航天科技集團策劃的“紅巖計劃”等[3]。
衛(wèi)星網(wǎng)絡(luò)已經(jīng)成為5G網(wǎng)絡(luò)不可缺少的一部分,在為用戶提供無處不在的接入功能的同時,給系統(tǒng)帶來了安全和性能方面的挑戰(zhàn)。
首先,由于衛(wèi)星網(wǎng)絡(luò)節(jié)點暴露,無線通信信道開放等特點使得用戶數(shù)據(jù)變得不安全,易受到監(jiān)聽、篡改、假冒等攻擊[4]。因此,終端接入5G 衛(wèi)星網(wǎng)絡(luò)需實現(xiàn)終端與5G 衛(wèi)星網(wǎng)絡(luò)間的相互認(rèn)證與密鑰協(xié)商。其次,衛(wèi)星與地面之間的高延遲以及衛(wèi)星較弱的處理能力,則使得認(rèn)證方案不能過于復(fù)雜。然后,衛(wèi)星相對于地面間的高速運動,導(dǎo)致用戶面臨著通信連續(xù)的困難,需要設(shè)計安全高效無縫的切換認(rèn)證機制,才能保證用戶在復(fù)雜多變的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中保障通信的安全穩(wěn)定性。此外,5G 網(wǎng)絡(luò)可以支持海量終端[4],但是目前3GPP 針對海量終端并發(fā)通過衛(wèi)星網(wǎng)絡(luò)接入地面網(wǎng)絡(luò)并未設(shè)計相應(yīng)的并發(fā)接入和切換認(rèn)證方案,而海量終端并發(fā)連入網(wǎng)絡(luò)采用單個終端接入或切換認(rèn)證協(xié)議會瞬時產(chǎn)生大量的通信開銷、信令開銷,進(jìn)而可能導(dǎo)致信令沖突、關(guān)鍵節(jié)點擁塞等問題。因此,需要設(shè)計適用于5G 衛(wèi)星網(wǎng)絡(luò)海量終端的并發(fā)接入和切換認(rèn)證方案。
從20 世紀(jì)末,人們就開始研究衛(wèi)星網(wǎng)絡(luò)接入認(rèn)證方案。傳統(tǒng)的衛(wèi)星網(wǎng)絡(luò)模型由單一用戶、單一衛(wèi)星和地面管理中心(Network Control Center,NCC)3 部分組成。Cruickshank[5]最早將公鑰密碼學(xué)知識應(yīng)用到GSM 衛(wèi)星認(rèn)證場景中。文獻(xiàn)[6-8]著重于如何使用更高效的密碼技術(shù)來實現(xiàn)認(rèn)證。文獻(xiàn)[6]用對稱密碼算法代替公鑰密碼算法,但方案存在會話密鑰泄露風(fēng)險。文獻(xiàn)[7]在文獻(xiàn)[6]的基礎(chǔ)上進(jìn)行改進(jìn),引進(jìn)哈希和異或等操作來彌補會話密鑰協(xié)商過程中的安全缺陷,但是并不能為用戶提供隱私保護,且不能抵御假冒攻擊。文獻(xiàn)[8]試圖改進(jìn)公鑰密碼系統(tǒng)PKC 和私鑰密碼系統(tǒng)SKC 給衛(wèi)星通信過程中帶來的高計算開銷和密鑰管理繁瑣等缺陷,提出了一種自驗證認(rèn)證方法,減少了地面基礎(chǔ)設(shè)施的部署,但由于模冪運算較多,認(rèn)證中心的計算負(fù)擔(dān)仍然較大。受文獻(xiàn)[8]思路的啟發(fā),文獻(xiàn)[9-10]等方案被提出,旨在使用更安全高效的哈希函數(shù)來減輕計算負(fù)擔(dān),改進(jìn)密鑰管理方法,但是還是存在不能抗重放攻擊、泄露認(rèn)證信息等缺點。文獻(xiàn)[11]在文獻(xiàn)[10]的基礎(chǔ)上加強了部分安全性,可抵抗DoS 攻擊、重放攻擊等,但仍未改善認(rèn)證信息泄露等問題,且增大了系統(tǒng)計算負(fù)擔(dān)。文獻(xiàn)[12]在文獻(xiàn)[10]的基礎(chǔ)上提出了一種不需要鏈表的方案,但是其智能卡丟失將無法保障安全。文獻(xiàn)[13]指出文獻(xiàn)[11]依舊存在重放攻擊、注入攻擊等缺陷,并提出了改進(jìn)方案。最近,ECC 被廣泛使用,文獻(xiàn)[14-16]均應(yīng)用了橢圓密碼曲線相關(guān)知識。其中,文獻(xiàn)[15-16]指出文獻(xiàn)[14]方案無法提供完美前向保密和無法防護智能卡丟失等缺陷,提出了改進(jìn)方案。但是,文獻(xiàn)[17]指出文獻(xiàn)[14-16]等方案存在3 個弱點,即無法抵抗離線密碼猜測攻擊、重放攻擊以及無法提供用戶的不可追溯性,提出了基于魯棒三因素的認(rèn)證協(xié)議。隨著衛(wèi)星的不斷發(fā)展,衛(wèi)星本身的計算能力得到提升,海量終端的接入認(rèn)證也在被挖掘思考。文獻(xiàn)[18]使用代理簽名方案,將NCC 驗證的部分轉(zhuǎn)移到衛(wèi)星上,減少了認(rèn)證時間。文獻(xiàn)[19]則提出使用組簽名來實現(xiàn)用戶匿名性,NCC 暫時充當(dāng)群管理員,同樣將驗證工作轉(zhuǎn)移至衛(wèi)星上,但是需要額外的可信第三方發(fā)放和管理密鑰對。此外,上述并沒有專門針對大量設(shè)備接入衛(wèi)星網(wǎng)絡(luò)設(shè)計認(rèn)證機制。當(dāng)大量用戶接入網(wǎng)絡(luò)時會產(chǎn)生堵塞情況。因此,文獻(xiàn)[20]提出一種支持單用戶和多用戶接入衛(wèi)星網(wǎng)絡(luò)的方案,使用基于格的困難問題,實現(xiàn)終端與衛(wèi)星網(wǎng)絡(luò)的相互認(rèn)證等各種安全特性。但是,該方案由于采用格理論密碼學(xué)耗費了大量通信開銷等,并不適用于當(dāng)前的5G 衛(wèi)星網(wǎng)絡(luò)。
此外,由于衛(wèi)星網(wǎng)絡(luò)的持續(xù)運轉(zhuǎn)特性以及終端的移動特性,終端需頻繁切換衛(wèi)星網(wǎng)絡(luò)。但是,衛(wèi)星網(wǎng)絡(luò)切換機制與地面網(wǎng)絡(luò)不同,目前關(guān)注較多的是在通信層面研究衛(wèi)星網(wǎng)絡(luò)的切換機制,但是在安全層面衛(wèi)星網(wǎng)絡(luò)切換認(rèn)證方案的研究還較少。文獻(xiàn)[21]提出一種基于預(yù)認(rèn)證的切換算法來實現(xiàn)LEO網(wǎng)絡(luò)下的安全切換,指出衛(wèi)星網(wǎng)絡(luò)切換不僅僅需要多種切換策略和算法來降低切換過程中的計算開銷和信令開銷,也要利用接入認(rèn)證機制來保護切換過程中的安全性。文獻(xiàn)[22]則提出空間信息網(wǎng)絡(luò)中高速移動的群組的安全高效接入和切換認(rèn)證需求,并基于密鑰分層、對稱密碼的思想提出了一種群組多用戶快速認(rèn)證協(xié)議。但是,因為是最先收到消息的用戶向組內(nèi)用戶傳播信息,所以組內(nèi)開銷過大,不能支持群組內(nèi)成員變動。文獻(xiàn)[23]則提出一種基于橢圓曲線的接入認(rèn)證機制,然后討論同一批次用戶在低速移動和高速移動兩種狀況下的切換方案,旨在進(jìn)行批驗證從而提高切換效率。但是,因為其將認(rèn)證大部分過程轉(zhuǎn)移到衛(wèi)星上,并沒有減少通信過程中的計算開銷和信令開銷。
綜上所述,目前國內(nèi)外所提出的接入認(rèn)證和切換認(rèn)證方案大多都是針對單個終端接入或切換,且已有的方案存在各種安全和性能缺陷,無法滿足海量終端并發(fā)接入或切換的安全和性能需求。因此,研究適用于5G 衛(wèi)星網(wǎng)絡(luò)海量終端的安全、高效的并發(fā)接入和切換認(rèn)證方案十分迫切。
另外,考慮到雖然3GPP 現(xiàn)階段5G 研發(fā)的目的之一在于實現(xiàn)所有設(shè)備終端不僅可以通過地面基站接入5G 核心網(wǎng),而且可以通過衛(wèi)星接入地面5G核心網(wǎng),以實現(xiàn)全球隨時隨地的立體多域全覆蓋。但是,當(dāng)前衛(wèi)星網(wǎng)絡(luò)相較于地面網(wǎng)絡(luò)的發(fā)展還稍有不足,且由于用戶終端電池能耗等方面受限,當(dāng)前大部分用戶終端僅支持通過基站方式接入5G 核心網(wǎng)絡(luò)或者僅支持通過衛(wèi)星方式接入地面5G核心網(wǎng)。將當(dāng)前的所有移動終端遷移至既可支持地面基站又可支持衛(wèi)星等接入方式的多接入終端,需要一個漫長的過程。為此,3GPP 提出了衛(wèi)星網(wǎng)絡(luò)中繼節(jié)點的概念[24]。中繼節(jié)點具有衛(wèi)星接入能力,且可作為普通接入點(例如基站)輔助無衛(wèi)星接入能力的終端在無基站覆蓋的區(qū)域通過衛(wèi)星接入至地面網(wǎng)絡(luò)。中繼節(jié)點的出現(xiàn),使得當(dāng)前無衛(wèi)星接入能力的終端隨時隨地接入5G 網(wǎng)絡(luò)成為可能。
因此,本文借助于3GPP 衛(wèi)星網(wǎng)絡(luò)場景中的中繼節(jié)點提出了一種適用于普通用戶終端的5G 衛(wèi)星網(wǎng)絡(luò)匿名群組認(rèn)證方案,特點如下。
(1)支持船舶大規(guī)模不具備衛(wèi)星接入能力的終端借助中繼節(jié)點通過衛(wèi)星網(wǎng)絡(luò)接入地面5G 核心網(wǎng),確保不具備衛(wèi)星接入能力的終端在無基站覆蓋區(qū)域的通信可能性。
(2)通過衛(wèi)星位置可預(yù)測機制,支持船舶大規(guī)模設(shè)備安全無縫切換至目標(biāo)衛(wèi)星,保障網(wǎng)絡(luò)服務(wù)的連續(xù)可靠性。
(3)支持通信過程中群組內(nèi)成員快速加入和退出,提高群組管理的靈活性。
(4)采用安全分析和性能分析,充分評估提出方案的安全性。在安全分析方面,采用BAN 邏輯和非形式化安全分析方法,充分證明了提出方案的安全性。在性能分析方面,從信令開銷、傳輸開銷以及計算開銷方面,通過與其他相關(guān)方案對比,評估了協(xié)議的性能。
如圖1 所示,遠(yuǎn)洋輪船上沒有衛(wèi)星接入能力的用戶終端,可以通過具有衛(wèi)星接入能力的船載中繼節(jié)點RN 接入衛(wèi)星網(wǎng)絡(luò),進(jìn)而連接至地面5G 核心網(wǎng)絡(luò)。
5G 衛(wèi)星網(wǎng)絡(luò)架構(gòu)[24]主要包括以下幾個部分。
(1)用戶終端。已注冊至5G 核心網(wǎng)實體身份管理系統(tǒng)中的普通用戶終端,可以通過地面基站接入5G 核心網(wǎng)絡(luò)。但是,由于它不具備衛(wèi)星接入能力,無法直接通過衛(wèi)星網(wǎng)絡(luò)接入5G 核心網(wǎng)絡(luò)。
(2)中繼節(jié)點。3GPP TR22.822 中,衛(wèi)星連接場景提出了中繼節(jié)點的概念[24]。固定安裝在輪船上的中繼節(jié)點先作為具有衛(wèi)星接入能力的衛(wèi)星終端接入衛(wèi)星網(wǎng)絡(luò),進(jìn)而作為接入點(基站)輔助輪船上的普通用戶終端接入衛(wèi)星網(wǎng)絡(luò)。中繼節(jié)點可轉(zhuǎn)發(fā)衛(wèi)星網(wǎng)絡(luò)與終端之間的消息。
(3)5G 衛(wèi)星接入網(wǎng)絡(luò)。衛(wèi)星作為5G 網(wǎng)絡(luò)的接入方式之一,具有一定的計算和存儲能力,且能夠轉(zhuǎn)發(fā)中繼節(jié)點與關(guān)口站之間的消息。關(guān)口站是連接衛(wèi)星網(wǎng)絡(luò)與地面5G 核心網(wǎng)絡(luò)的關(guān)鍵網(wǎng)關(guān)。
(4)地面5G 核心網(wǎng)絡(luò)。5G 核心網(wǎng)絡(luò)主要包括拜訪域和歸屬域。歸屬域的認(rèn)證鑒權(quán)系統(tǒng)AUSF和實體身份管理系統(tǒng)UDM 處于同一個服務(wù)器,負(fù)責(zé)用戶注冊管理和后續(xù)的接入鑒權(quán)。處于拜訪域的移動切換安全服務(wù)系統(tǒng)AMF 則負(fù)責(zé)用戶與衛(wèi)星間的安全切換過程的管理。移動切換安全服務(wù)系統(tǒng)、認(rèn)證鑒權(quán)系統(tǒng)、實體身份管理系統(tǒng)以及關(guān)口站之間,都通過已經(jīng)提前建立好的安全信道傳輸數(shù)據(jù)。
圖1 5G 衛(wèi)星網(wǎng)絡(luò)架構(gòu)
衛(wèi)星通信基于無線通信技術(shù)。針對無線通信,有兩種被人所熟知的威脅模型——Dolev-Yao(DY)模型和Canetti-Krawczyk(CK)模型。在DY 模型[25]中,信道會被監(jiān)聽,消息會被攻擊者更改、重放或攔截。CK 模型[26]中則會出現(xiàn)長期密鑰泄露或者臨時會話密鑰泄露的情況。因此,根據(jù)提出的系統(tǒng)模型,分析得到系統(tǒng)的安全需求如下。
(1)相互認(rèn)證。5G 網(wǎng)絡(luò)以及衛(wèi)星網(wǎng)絡(luò)能夠認(rèn)證用戶的身份合法性,阻止非法用戶接入,同時用戶也能認(rèn)證5G 網(wǎng)絡(luò)的合法性,防止假冒攻擊和中間人攻擊。
(2)數(shù)據(jù)機密性。用戶與5G 網(wǎng)絡(luò)在建立會話的過程中要協(xié)商出會話密鑰,以保證后續(xù)通信數(shù)據(jù)的安全性,同時為用戶與衛(wèi)星網(wǎng)絡(luò)之間提供會話密鑰。
(3)匿名性。除了核心網(wǎng)服務(wù)器能夠知道用戶的真實身份標(biāo)識外,其余通信過程中涉及到的實體均不能知道用戶真實身份標(biāo)識。
(4)前后密鑰分離。為了保護用戶接入網(wǎng)絡(luò)后的通信安全和切換認(rèn)證,實現(xiàn)前后密鑰分離,確保獲得已知會話密鑰不能幫助敵手獲得之前或之后的基礎(chǔ)密鑰,從而無法獲取之前或者之后的通信數(shù)據(jù)內(nèi)容。
針對5G 衛(wèi)星網(wǎng)絡(luò)場景需求,本文改進(jìn)了現(xiàn)有的5G 接入認(rèn)證協(xié)議,提出了一種適用于5G 衛(wèi)星網(wǎng)絡(luò)的群組認(rèn)證方案。此方案包括系統(tǒng)初始化階段、群組接入認(rèn)證階段、群組切換認(rèn)證階段、群成員加入和退出階段4 個階段。具體地,輪船上所有的用戶終端可以構(gòu)成一個固定群組,其中中繼節(jié)點作為群主。首先,當(dāng)首次接入衛(wèi)星網(wǎng)絡(luò)時,群主聯(lián)合群組成員執(zhí)行群組接入認(rèn)證過程。其次,由于衛(wèi)星和輪船的移動性,為保證用戶享受高質(zhì)量的網(wǎng)絡(luò)服務(wù),需執(zhí)行群組切換認(rèn)證過程,以從源衛(wèi)星切換至目標(biāo)衛(wèi)星。最后,為滿足群組動態(tài)變化的需求,當(dāng)群組成員動態(tài)加入和退出時,執(zhí)行群成員的加入與退出過程。表1 列舉了方案中使用到的符號及含義。
系統(tǒng)初始化階段,所有需要接入網(wǎng)絡(luò)的用戶終端需在地面實體身份管理系統(tǒng)中離線注冊成為合法用戶,步驟如下。
實體身份管理系統(tǒng)選擇一個隨機數(shù)sk∈Zq作為系統(tǒng)私鑰,并計算pk=sk*P作為系統(tǒng)公鑰,其中P為橢圓曲線上的一個生成元,q為一個大素數(shù)。終端通過離線注冊獲得永久身份標(biāo)識ID、預(yù)置主密鑰K以及系統(tǒng)公鑰pk。
表1 方案中使用的符號及其含義
當(dāng)首次接入衛(wèi)星網(wǎng)絡(luò)時,輪船上的海量用戶終端構(gòu)成一個固定群組。中繼節(jié)點匯聚所有群成員的接入認(rèn)證請求消息并轉(zhuǎn)發(fā)至衛(wèi)星,進(jìn)而傳輸至地面5G核心網(wǎng)絡(luò)。地面5G 核心網(wǎng)絡(luò)節(jié)點與固定群組成員基于預(yù)共享密鑰K完成認(rèn)證。協(xié)議流程如圖2 所示。
不失一般性,假設(shè)群成員的個數(shù)為n。具體過程如下。
步驟1:當(dāng)中繼節(jié)點監(jiān)測到需要接入衛(wèi)星網(wǎng)絡(luò)時,啟動定時器,設(shè)置定時器觸發(fā)值,并向周圍廣播群組接入認(rèn)證通知消息,其中消息內(nèi)容包括新生成的群組身份標(biāo)識GID。
步驟2:群成員收到通知后,需要接入網(wǎng)絡(luò)的終端首先生成一個素數(shù)zi和一個隨機數(shù)xi,并計算Xi=xi*P以及對稱密鑰SKi=h(xi*pk),然后使用對稱加密算法得到密文,隨后每個群成員向中繼節(jié)點發(fā)送{Ci,Xi}。
圖2 群組接入認(rèn)證過程
步驟3:中繼節(jié)點在定時器時間到達(dá)后,將收到的n個群組成員的認(rèn)證請求消息打包為{(C1,X1,C2,X2,…,Cn,Xn),GID}發(fā)送給衛(wèi)星。
步驟4:衛(wèi)星接收并轉(zhuǎn)發(fā)消息給地面關(guān)口站,關(guān)口站進(jìn)而轉(zhuǎn)發(fā)消息給移動切換安全服務(wù)系統(tǒng)。
步驟5:移動切換安全服務(wù)系統(tǒng)收到消息后,將消息附上其拜訪域身份標(biāo)識SNID后發(fā)送給接入鑒權(quán)系統(tǒng)和實體身份管理系統(tǒng)所在的服務(wù)器。
步驟6:收到消息后,服務(wù)器里的實體身份管理系統(tǒng)先采用其私鑰sk計算每個對稱密鑰SKi=h(Xi*sk),從而解密獲得IDi和zi,隨后實體身份管理系統(tǒng)驗證所有IDi的有效性。如果驗證成功,則根據(jù)GID生成一個群共享密鑰GK。實體身份管理系統(tǒng)選取一個隨機數(shù)R2,通過ID找到每個群成員的長期共享密鑰K。利用中國剩余定理計算消息驗證碼XMAC,具體如下:
實體身份管理系統(tǒng)利用密鑰導(dǎo)出函數(shù)KDF計算群組臨時共享密鑰TGK=KDF(GK,R2)、所有成員的確認(rèn)消息XRESi=h(Ki,R2)以及對應(yīng)的AMF密鑰。此外,為將群共享密鑰GK安全地分發(fā)給每個群成員,實體身份管理系統(tǒng)計算UKi=KDF(Ki,R2,zi),且采用UKi加密GK。每個終端的認(rèn)證向量構(gòu)成為。然后,實體身份管理系統(tǒng)將R2、GID、TGK、XMAC和認(rèn)證向量組發(fā)送給接入鑒權(quán)系統(tǒng)。接入鑒權(quán)系統(tǒng)計算出群組認(rèn)證確認(rèn)值XRESG=XRES1⊕…⊕XRESn,并對其進(jìn)行哈希運算得出HXRESG=h(R2,XRESG)。隨后,接入鑒權(quán)系統(tǒng)將認(rèn)證響應(yīng)消息傳輸給移動切換安全服務(wù)系統(tǒng),消息為(R2,GID,。
步驟8:衛(wèi)星收到消息后,提取并保存HXRESG、TIDi、KSat-i等相關(guān)信息,然后計算HXRESG=h(HXRESG),隨后將,HHXRESG}發(fā)送給中繼節(jié)點。
步驟9:中繼節(jié)點直接廣播消息給所有群成員。群成員收到后,驗證XMAC=h(SNID,Ki,zi)modzi。若通過,則計算RESi=h(Ki,R2)和UKi=KDF(Ki,R2,zi),進(jìn)而解密獲得群共享密鑰GK,計算出臨時群共享密鑰TGK=KDF(GK,R2)。最后,群成員向中繼節(jié)點發(fā)送RESi。
步驟10:中繼節(jié)點計算RESG=RES1⊕…⊕RESn和HHRESG=h[h(R2,RESG)],并驗證HHRESG是否等于衛(wèi)星發(fā)送的HHXRESG。如果相等,則表示衛(wèi)星網(wǎng)絡(luò)將成功認(rèn)證群組。因此,中繼節(jié)點將RESG發(fā)送給衛(wèi)星,同時給群組成員發(fā)送成功認(rèn)證通知消息。隨后,終端計算、終端臨時身份標(biāo)識以及與衛(wèi)星的基礎(chǔ)密鑰。至此,終端和衛(wèi)星共同擁有共享密鑰KSat-i。
步驟11:衛(wèi)星計算得到HRESG=h(R2,RESG),將HRESG與HXRESG進(jìn)行比較,若相等,則將RESG轉(zhuǎn)發(fā)給移動切換安全服務(wù)系統(tǒng)。此時,完成衛(wèi)星對群組的認(rèn)證。
步驟12:移動切換安全服務(wù)系統(tǒng)收到消息后,轉(zhuǎn)發(fā)給地面5G 核心網(wǎng)絡(luò)服務(wù)器。服務(wù)器驗證RESG和XRESG是否相等,如果相等,則群組成員成功入網(wǎng)。
完成群組接入認(rèn)證后,衛(wèi)星與每個群組成員將KSat-i作為基礎(chǔ)密鑰,將TIDi作為群成員的臨時標(biāo)識。
當(dāng)源衛(wèi)星信號變?nèi)跫磳o法為群組成員提供平滑的網(wǎng)絡(luò)通信時,輪船上的海量用戶終端執(zhí)行群組切換認(rèn)證方案。在本方案中,當(dāng)中繼節(jié)點監(jiān)測到源衛(wèi)星信號即將無法提供平滑通信時,啟動預(yù)切換過程,發(fā)送預(yù)切換請求給拜訪域的移動切換安全服務(wù)系統(tǒng)。移動切換安全服務(wù)系統(tǒng)利用衛(wèi)星節(jié)點軌跡可預(yù)測的特點,結(jié)合群組當(dāng)前的位置信息,決策出群組需要接入的下一個目標(biāo)衛(wèi)星,并提前向目標(biāo)衛(wèi)星發(fā)送認(rèn)證向量。當(dāng)終端進(jìn)入目標(biāo)衛(wèi)星范圍后,可直接與衛(wèi)星進(jìn)行快速認(rèn)證,降低切換時延。具體包括以下預(yù)切換過程和切換過程2 個步驟。
步驟1:預(yù)切換過程,即安全切換前的準(zhǔn)備工作,具體過程如圖3 所示。
步驟1-1:中繼節(jié)點廣播預(yù)切換通知消息給所有群成員,群成員將其臨時身份標(biāo)識TIDi發(fā)送給中繼節(jié)點,中繼節(jié)點生成隨機數(shù)R3,并將所有TIDi、R3、GID以及當(dāng)前輪船位置信息一并發(fā)給當(dāng)前衛(wèi)星SA1。
圖3 預(yù)切換過程
步驟1-2:當(dāng)前衛(wèi)星SA1將消息轉(zhuǎn)發(fā)給拜訪域中的移動切換安全服務(wù)系統(tǒng)。
步驟1-3:移動切換安全服務(wù)系統(tǒng)收到消息后,結(jié)合群組位置信息、衛(wèi)星軌跡信息等有效信息,預(yù)測出該群組即將接入的下一個衛(wèi)星SA2。隨后,移動安全切換服務(wù)系統(tǒng)選擇一個隨機數(shù)R4,根據(jù)每個群成員的TIDi找到對應(yīng)的共享密鑰,計算所有的消息認(rèn)證碼,計 算XMAC=XMAC1⊕…⊕XMACn。移動切 換安全服務(wù)系統(tǒng)更新每個群成員的基礎(chǔ)密鑰和群成員臨時標(biāo)識。最后,移動安全切換服務(wù)系統(tǒng)將、GID、XMAC和R4通過組網(wǎng)建立好的安全信道提前發(fā)送給目標(biāo)衛(wèi)星SA2。
步驟2:當(dāng)群成員進(jìn)入目標(biāo)衛(wèi)星的覆蓋范圍后,直接執(zhí)行正式切換過程,如圖4 所示。
圖4 切換執(zhí)行過程
具體步驟如下。
步驟2-1:中繼節(jié)點發(fā)送群組身份標(biāo)識GID給目標(biāo)衛(wèi)星SA2。
步驟2-2:目標(biāo)衛(wèi)星SA2收到消息后,根據(jù)每個IDi的以 及R4計 算,然后計算新的群組認(rèn)證向量值XRES0=XRESi⊕…⊕XRESn和HXRES=h(XRES0)。隨后,目標(biāo)衛(wèi)星給中繼節(jié)點發(fā)送XMAC、R4以及HXRES。
步驟2-3:中繼節(jié)點收到消息后,將R3和R4轉(zhuǎn)發(fā)給給群成員,隨后群成員由R3、R4更新計算得到新的基礎(chǔ)密鑰、臨時身份標(biāo)識以及消息認(rèn)證碼和認(rèn)證向量值R4),最后群成員將MACi以及RESi發(fā)送給中繼節(jié)點。
步驟2-4:中繼節(jié)點收到MACi和RESi后,計算群組消息認(rèn)證碼MAC=MAC1⊕…⊕MACn,并驗證MAC=XMAC。若驗證通過,則計算RES0=RESi⊕…⊕RESn和驗證HXRES=h(RES0)。若此驗證也通過,則表明目標(biāo)衛(wèi)星可成功認(rèn)證群組成員。隨后,中繼節(jié)點將RES0給目標(biāo)衛(wèi)星SA2,同時通知群成員切換成功。
步驟2-5:衛(wèi)星SA2將收到的RES0與本地存儲的XRES0進(jìn)行比對,若一致,則認(rèn)證通過。
需要注意,群切換認(rèn)證階段更新了衛(wèi)星與每個群組成員的基礎(chǔ)密鑰和群成員的臨時標(biāo)識TIDi*。
為了使方案富有彈性和靈活性,滿足群組成員的更替情況,還設(shè)計了群成員的加入和退出過程,在盡可能減小開銷的情況下滿足場景需求。
2.4.1 群成員加入階段
當(dāng)合法的新成員k請求加入群組時,如圖5 所示。成員k安全的發(fā)送身份標(biāo)識給實體身份管理系統(tǒng),實體身份管理系統(tǒng)驗證其身份標(biāo)識的有效性,然后生成新的群共享密鑰GK發(fā)送給所有的現(xiàn)有群成員。
圖5 群成員加入過程
具體過程如下。
步驟1:新成員k生成隨機數(shù)xk,并計算Xk=xk*P和SKk=h(xk*pk),隨后計 算出密文,并將GID,Ck,Xk發(fā)送給中繼節(jié)點。
步驟2:中繼節(jié)點收到消息后,首先選取隨機數(shù)R5,然后計算消息認(rèn)證碼s=h(GK,GID,Ck,R5,1)隨后將s、GID、Ck、Xk、R5發(fā)送給實體身份管理系統(tǒng)。
步驟3:實體身份管理系統(tǒng)由GID搜索到群組密鑰GK,然后驗證s的合法性。若驗證通過,則實體身份管理系統(tǒng)選擇一個隨機數(shù)R6,計算出對稱密鑰SKk=h(Xk*sk),使用SKk解密Ck得到成員k的身份標(biāo)識IDk,并搜索得到其對應(yīng)的長期共享密鑰Kk,然后計算消息認(rèn)證碼XMACk=h(SNID,Kk,R5)、認(rèn)證向量值XRESk=h(Kk,R6)以及密鑰,隨后實體身份管理系統(tǒng)將MACk和R6發(fā)送給中繼節(jié)點。中繼節(jié)點將MACk、R6以及R5轉(zhuǎn)發(fā)給新成員k。
步驟4:新成員k收到消息后,先驗證MACk。如果驗證成功,則計算認(rèn)證響應(yīng)值RESk=h(Kk,R6)并將RESk發(fā)送給中繼節(jié)點,再由中繼節(jié)點轉(zhuǎn)發(fā)給實體身份管理系統(tǒng)。
步驟5:實體身份管理系統(tǒng)收到后,首先驗證RESk=XRESk。若驗證成功,實體身份管理系統(tǒng)計算新的群組密鑰GK*=KDF(GK,R6,R5)、加密密鑰UKj=KDF(Kj,R6,R5)以及新的群組臨時密鑰TGK*=KDF(GK*,R6),其中j=1,…,n或j=k。然后,實體身份管理系統(tǒng)向移動切換安全服務(wù)系統(tǒng)發(fā)送。
步驟6:移動切換安全服務(wù)系統(tǒng)接收到后,為新加入的IDk計算相應(yīng)的臨時標(biāo)識TIDk且將所有IDj替換為相應(yīng)的TIDj。移動切換安全服務(wù)系統(tǒng)轉(zhuǎn)發(fā)消息給中繼節(jié)點。
步驟7:中繼節(jié)點將收到消息以及R5和R6一起發(fā)送給群組成員,群成員更新群組密鑰為GK*。
2.4.2 群成員退出階段
當(dāng)群組內(nèi)有群成員i想要退出群組時,如圖6所示,成員k直接將其臨時標(biāo)識發(fā)送給核心網(wǎng)節(jié)點,核心網(wǎng)節(jié)點驗證標(biāo)識有效后生成新的群共享密鑰GK,并且發(fā)送給所有現(xiàn)有群成員。
圖6 群成員退出過程
具體過程如下。
步驟1:群成員i向中繼節(jié)點發(fā)送退出請求消息。包括群組身份標(biāo)識GID、自己的臨時身份標(biāo)識TIDi、新生成的隨機數(shù)R7以及消息驗證碼s=h(GK,GID,IDi,R7,0)。
步驟2:中繼節(jié)點轉(zhuǎn)發(fā)退出請求消息給移動切換安全服務(wù)系統(tǒng)。移動切換安全服務(wù)系統(tǒng)替換TIDi為IDi,然后轉(zhuǎn)發(fā)給實體身份管理系統(tǒng)。
步驟3:實體身份管理系統(tǒng)收到消息后,首先根據(jù)GID搜索到相應(yīng)的GK,然后驗證s的合法性。若驗證通過,實體身份管理系統(tǒng)選擇一個隨機數(shù)R8和一個新的GK*,計算UKj=KDF(Kj,R8,R7),其中j=1,…,n且j ≠i以及群組臨時共享密鑰TGK*=KDF(GK*,R8)。隨后,實體身份管理系統(tǒng)通過安全信道向移動切換安全服務(wù)系統(tǒng)發(fā)送消息。
步驟4:移動切換安全服務(wù)系統(tǒng)轉(zhuǎn)(GID,TGK*,發(fā)給中繼節(jié)點。中繼節(jié)點將接收到的消息附著上R7后廣播給所有現(xiàn)有群成員?,F(xiàn)有群成員更新群組密鑰為GK*。
3.1.1 BAN 邏輯規(guī)則介紹
本文使用BAN 邏輯對提出的群組接入認(rèn)證方案進(jìn)行形式化分析。BAN 邏輯[27]是一種以知識和和信仰為基礎(chǔ)的形式化分析工具,具體分析過程如下。首先,將協(xié)議里的消息進(jìn)行理想化;其次,根據(jù)協(xié)議做出最初的假設(shè),提出方案的最終目標(biāo);最后,根據(jù)BAN 邏輯規(guī)則進(jìn)行推導(dǎo),若能推導(dǎo)出最終目標(biāo),則證明協(xié)議是安全的,否則協(xié)議存在漏洞。它的基本表達(dá)式說明如表2 所示。
表2 BAN 邏輯表達(dá)式說明
BAN 邏輯推理規(guī)則如下。
(1)消息含義規(guī)則(Message-Meaning Rule):
(2)信念規(guī)則(Belief Rules):
(3)接收消息規(guī)則(Seeing Rule):
(4)隨機數(shù)驗證消息規(guī)則(Nonce-Verification Rule):
(5)消息新鮮性驗證規(guī)則(Freshness Rule):
(6)管轄規(guī)則(Jurisdiction Rule):
3.1.2 方案證明過程
在此對群組接入認(rèn)證方案進(jìn)行形式化驗證,因為BAN 邏輯不支持證明保密性,因此對方案進(jìn)行理想化,去掉對推理過程沒有幫助的消息。
規(guī)定實體描述如下:群組成員Mi,衛(wèi)星SAT,移動切換安全服務(wù)系統(tǒng)SEAF,服務(wù)器AAA。
(1)提出的接入認(rèn)證方案所涉及的消息進(jìn)行理想化描述如下。
由S7、S12、S14 以 及S18 可 知,達(dá)到目 標(biāo)G1~G4。綜上所述,所提方案可以滿足群成員與5G核心網(wǎng)之間的雙向認(rèn)證,并且能夠協(xié)商出會話密鑰。
本節(jié)采用非形式安全分析方法證明了提出的群組接入認(rèn)證方案的安全性。
3.2.1 相互認(rèn)證
在執(zhí)行群組接入認(rèn)證的過程中,一方面群組成員可以根據(jù)XMAC認(rèn)證實體身份管理系統(tǒng)的合法性,另一方面網(wǎng)絡(luò)側(cè)可以通過群組產(chǎn)生的聚合后的RESG認(rèn)證所有群組成員。
3.2.2 匿名性
在執(zhí)行群組接入認(rèn)證的過程中,每個群成員將自己的身份標(biāo)識ID采用實體身份管理系統(tǒng)的公鑰pk加密,只有實體身份管理系統(tǒng)可以解密獲得ID。隨后,實體身份管理系統(tǒng)將群成員標(biāo)識通過安全通道發(fā)送給接入鑒權(quán)系統(tǒng)、移動切換安全服務(wù)系統(tǒng)等,因此攻擊者無法獲得群成員的身份標(biāo)識信息。
3.2.3 密鑰協(xié)商
在群組接入認(rèn)證過程中,由于預(yù)置主密鑰K只有終端側(cè)和實體身份管理系統(tǒng)側(cè)可以得到,實體身份管理系統(tǒng)根據(jù)K導(dǎo)出KAMFi,通過已經(jīng)提前建立好的安全通道發(fā)送給移動切換安全服務(wù)系統(tǒng),而移動切換安全服務(wù)系統(tǒng)和終端則根據(jù)KAMFi和公開傳輸?shù)碾S機數(shù)導(dǎo)出基礎(chǔ)密鑰KSat-i。隨后,移動切換安全服務(wù)系統(tǒng)將KSat-i通過安全通道發(fā)送給衛(wèi)星。因此,衛(wèi)星與終端之間可以安全協(xié)商出基礎(chǔ)密鑰。
3.2.4 前、后密鑰分離
在每次群組接入認(rèn)證過程中都會產(chǎn)生新的隨機數(shù)R2用于計算基礎(chǔ)密鑰KSat-i,因此密鑰彼此獨立。即使獲取了當(dāng)前基礎(chǔ)密鑰,攻擊者也不可能獲得之前或者之后的基礎(chǔ)密鑰。因此,本方案可實現(xiàn)前、后密鑰分離。
3.2.5 抵擋重放攻擊
在群組接入認(rèn)證過程中,每個群成員通過驗證XMAC來判斷消息是否重放,其中XMAC是實體身份管理系統(tǒng)根據(jù)每個群成員的隨機數(shù)zi生成的;而實體身份管理系統(tǒng)側(cè)可以通過驗證RESG判斷消息是否重放,其中RESG是群組根據(jù)實體身份管理系統(tǒng)的隨機數(shù)R2生成的。因此,本方案可以抵達(dá)重放攻擊。
3.2.6 抵抗假冒攻擊
在群組接入認(rèn)證過程中,由于終端側(cè)與網(wǎng)絡(luò)側(cè)實現(xiàn)了相互認(rèn)證,因此攻擊者無法假冒其中一方和另一方通信。
在性能分析階段,從信令開銷、通信開銷、計算開銷3 個方面將本文方案與標(biāo)準(zhǔn)中接入認(rèn)證方案5G-AKA[28]、5G 標(biāo)準(zhǔn)中N2 切換[29]以及文獻(xiàn)[23]的方案進(jìn)行比較,其中將標(biāo)準(zhǔn)中的基站單獨與衛(wèi)星進(jìn)行比較。不失一般性,假設(shè)群組成員的數(shù)量為n。為了公平起見,在相同的AES 128 bits 的安全等級下進(jìn)行比較[30]?;贓CC 的密鑰大小為256 bits,基于有限域加密的參數(shù),公鑰大小為3 072 bits,私鑰大小為256 bits。此外,密鑰生成函數(shù)輸出長度256 bits,散列函數(shù)輸出長度為128 bits,隨機數(shù)大小為128 bits,時間戳大小為32 bits,身份信息為128 bits,SNID為24 bits。
3.3.1 信令開銷
在信令開銷方面,將本文方案中群組接入認(rèn)證方案和5G-AKA、文獻(xiàn)[23]接入認(rèn)證方案進(jìn)行對比,將群組切換認(rèn)證方案與N2 切換、文獻(xiàn)[23]高速移動場景下的切換認(rèn)證方案進(jìn)行對比,結(jié)果如表3所示。
表3 信令開銷
圖7 和圖8 分別隨終端數(shù)量增加時,接入認(rèn)證和切換認(rèn)證所需要的信令開銷。本文方案相比5G-AKA和N2切換是有很大優(yōu)勢的,信令開銷較小。和文獻(xiàn)[23]的方案相比,群組成員數(shù)量越多,本文方案越有優(yōu)勢。因此,提出的方案可以有效避免海量終端并發(fā)認(rèn)證過程中的信令沖突問題。
圖7 接入認(rèn)證信令開銷對比
圖8 切換認(rèn)證信令開銷對比
3.3.2 通信開銷
本節(jié)將從接入認(rèn)證階段和切換認(rèn)證階段分別對比相關(guān)方案的通信開銷。為了公平起見,標(biāo)準(zhǔn)中5G-AKA 方案將加上基站參與的完整過程,文獻(xiàn)[23]的方案取高速切換方案。本文只列舉最終系統(tǒng)總的通信開銷,計算結(jié)果見表4 和表5。
表4 接入認(rèn)證階段通信開銷(單位:字節(jié))
表5 切換認(rèn)證階段通信開銷(單位:字節(jié))
圖9 和圖10 展示了隨終端數(shù)量的增加方案所需要的通信開銷。本方案與對照組方案相比,通信開銷是最小的。
圖9 接入認(rèn)證通信開銷對比
圖10 切換認(rèn)證通信開銷對比
3.3.3 計算開銷
在計算開銷時,只考慮以下這些計算操作的開銷,包括點乘運算TM、哈希運算TH、點加法運算TD、密鑰生成函數(shù)(HMAC-SHA256)TKDF以及對稱加解密運算TS。忽略拼接或異或等的計算時間,通過構(gòu)建一個仿真環(huán)境來測試相關(guān)數(shù)據(jù)。具體來說,選擇兩臺性能不同的計算機一臺處理器為Intel(R)Core(TM)m3-6Y30 CPU @0.9 GHz 作為資源受限群組/衛(wèi)星,另一臺處理器為Core(TM) i7-7500U CPU@2.70 GHz 作為認(rèn)證服務(wù)器,隨后在這兩臺電腦上編譯并運行openssl-1.0.2e 庫[30],最后分別測試這些密碼學(xué)運算的計算開銷。為了提高可靠性,對每一個密碼操作做了10 次實驗。在每個實驗中,要運行1 000 次獲取平均運行時間。相關(guān)數(shù)值如表6所示,接入認(rèn)證和切換認(rèn)證計算開銷計算結(jié)果如表7 和表8 所示。對于終端,比較的是對于每一臺終端。隨著認(rèn)證次數(shù)的增加,認(rèn)證計算開銷的消耗結(jié)果如圖11 和圖12 所示。而對于衛(wèi)星(基站)和認(rèn)證中心則是終端數(shù)量的改變,其總的計算開銷比較結(jié)果如圖13~圖16 所示。
表6 密碼學(xué)運算的計算開銷
表7 接入認(rèn)證階段計算開銷
表8 切換認(rèn)證階段計算開銷
圖11 終端接入認(rèn)證階段計算開銷
圖12 終端切換認(rèn)證階段計算開銷
圖13 衛(wèi)星接入認(rèn)證階段計算開銷
圖14 認(rèn)證中心接入認(rèn)證階段計算開銷
圖15 衛(wèi)星切換認(rèn)證階段計算開銷
圖16 切換中心切換認(rèn)證階段計算開銷
由此可以比較得出,本方案的接入認(rèn)證方案對終端帶來的計算負(fù)擔(dān)比文獻(xiàn)[23]的方案要小,略小于5G-AKA 方案,而給衛(wèi)星和認(rèn)證中心帶來的計算負(fù)擔(dān)遠(yuǎn)遠(yuǎn)小于文獻(xiàn)[23]的方案。同樣的,在切換方案對比中,所提方案更適合海量終端切換的場景。雖然切換中心的計算開銷大于N2 切換方案,但是所提方案提供了更好的安全性。綜上所述,本方案更切合實際應(yīng)用,在實際中為衛(wèi)星提供了安全性的保證和后續(xù)的通信安全性。而在切換階段,本文的計算開銷占優(yōu)勢,使用了計算開銷小的哈希類運算,更加適合復(fù)雜的衛(wèi)星網(wǎng)絡(luò)中的安全切換場景。
本文針對5G 衛(wèi)星網(wǎng)絡(luò)高速發(fā)展帶來的海量終端接入認(rèn)證問題以及由于衛(wèi)星網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)變化頻繁引起的終端切換認(rèn)證問題,提出了一種適用于5G 衛(wèi)星網(wǎng)絡(luò)的匿名群組認(rèn)證方案。所提方案基于3GPP 提出的5G 接入認(rèn)證協(xié)議,滿足衛(wèi)星網(wǎng)絡(luò)與地面網(wǎng)絡(luò)融合的前景,通過使用群組鑒權(quán)向量一次性完成群組的接入認(rèn)證,減少了通信過程中的信令開銷和計算開銷。通過對衛(wèi)星位置的實時預(yù)測,使用預(yù)認(rèn)證的方式來進(jìn)行切換認(rèn)證。為了提高認(rèn)證的高效性,采用哈希函數(shù)來減少計算開銷。為了實現(xiàn)群組的重構(gòu)性和抗冗余性,還設(shè)計了群成員加入和退出的階段。通過BAN 邏輯證明和理論分析得出方案能夠滿足系統(tǒng)間實體的相互認(rèn)證、匿名性、前后密鑰分離、抗重放等安全需求。通過與現(xiàn)有5G 標(biāo)準(zhǔn)的接入認(rèn)證和切換等方案以及現(xiàn)階段提出的接入和切換認(rèn)證方案對比,證明本協(xié)議在海量終端接入網(wǎng)絡(luò)中時有較小的通信開銷和計算開銷,且大大減少了系統(tǒng)中的信令,適合海量終端接入5G 衛(wèi)星網(wǎng)絡(luò)的場景,并實現(xiàn)了安全高效的切換。