趙聃,周文輝,魏驍,段冉陽
(華北計算機系統(tǒng)工程研究所,北京 100083)
衛(wèi)星通信是指利用衛(wèi)星作為中繼站進行數(shù)據(jù)中繼,實現(xiàn)兩個或多個地球站間數(shù)據(jù)通信的通信方式。相較于傳統(tǒng)地面通信網(wǎng)絡(luò),衛(wèi)星通信網(wǎng)絡(luò)具有覆蓋范圍廣、抗毀能力強、通信靈活等特點,可以不受地形限制為海島、沙漠等偏遠地區(qū)實現(xiàn)網(wǎng)絡(luò)覆蓋,通過多顆衛(wèi)星組網(wǎng)還可以實現(xiàn)衛(wèi)星網(wǎng)絡(luò)全球覆蓋,為移動用戶提供無縫銜接的網(wǎng)絡(luò)服務(wù),廣泛應(yīng)用在軍事、航海、抗災(zāi)救險[1]、應(yīng)急通信等多個領(lǐng)域,引起廣泛的關(guān)注和研究。
同時,由于衛(wèi)星設(shè)備處在復(fù)雜、開放的太空環(huán)境中,衛(wèi)星通信網(wǎng)絡(luò)中可能發(fā)生用戶接入攻擊、鏈路惡意攔截、通信數(shù)據(jù)竊取等問題[2]。因此,安全的接入認證機制是保證衛(wèi)星通信網(wǎng)絡(luò)中信息實體間的安全通信的首要問題。此外,衛(wèi)星網(wǎng)絡(luò)普遍存在信道質(zhì)量差、傳輸延時高等問題,用戶終端在接入衛(wèi)星網(wǎng)絡(luò)時經(jīng)常面臨認證等待時間長、通信中斷的情況[3]。為保證衛(wèi)星通信網(wǎng)絡(luò)認證效率,提升用戶的通信體驗,應(yīng)盡量縮短認證等待時間。綜上,衛(wèi)星通信網(wǎng)絡(luò)中的認證方案的設(shè)計應(yīng)該在保證安全性的前提下,盡可能滿足較小的計算開銷和較低的認證時延。
針對上述問題,國內(nèi)外學者提出一些解決方案。在衛(wèi)星通信網(wǎng)絡(luò)中的身份認證方面,1996年,Cruickshank[4]提出了一種用于衛(wèi)星網(wǎng)絡(luò)的安全認證協(xié)議,認證過程中需要復(fù)雜的流程交互和計算開銷,且用戶信息傳遞過程中得不到安全保護;趙東昊等[5]的方案提出使用傳統(tǒng)的證書加密結(jié)合位置信息來抵抗常見的攻擊方式,但并沒有對用戶身份標識進行隱私保護,存在身份信息泄露問題;朱輝等人[6]提出一種基于Token 的動態(tài)接入認證協(xié)議,使用哈希函數(shù)和對稱加密體制為用戶身份提供匿名性和防止認證消息被破解;文獻[7]提出一種基于橢圓曲線加密(Elliptic Curve Cryptography,ECC)的安全匿名認證方案;Qi 等人[8]提出一種基于橢圓曲線密碼和對稱密碼的匿名認證方案,并通過安全性分析證明具有完善的安全屬性,具備抵御已知攻擊的能力;Kumar等[9]提出了一種基于對稱加密算法、哈希函數(shù)以及異或操作的動態(tài)協(xié)議認證方案,該方案在保障安全性的條件下減少了計算開銷和信令開銷。
在減少計算開銷和降低認證時延方面,Hwang等[10]提出了一種預(yù)置密鑰的認證方案,降低了計算開銷和交互次數(shù),但需要地面網(wǎng)絡(luò)控制中心(Network Control Center,NCC)保存大量的用戶驗證信息;文獻[11]提出一種簡單高效的移動衛(wèi)星通信系統(tǒng)認證方案,該方案僅基于異或哈希進行認證,計算開銷較??;2015年,Zhang等人[12]分析了文獻[11],并對其方案進行改進,提出通過用戶到NCC 進行第三方認證,衛(wèi)星在認證過程中只起到中轉(zhuǎn)作用而不參與計算的認證方案;文獻[10-12]都選擇NCC 參與生成更新主密鑰和管理實體的注冊信息,當NCC 負載過大時,容易造成單點故障問題,且“終端-衛(wèi)星-地面”架構(gòu)中存在被破壞的風險,地面NCC 遭到惡意毀壞時,會導(dǎo)致終端通信受阻。
基于對上述文獻的分析,本文提出一種多模式的身份認證方案,該方案采用星上指揮控制中心與地面指揮控制中心雙中心協(xié)同工作方式,支持星上認證和地面認證模式切換。星上認證模式下,用戶通過星上指揮控制中心進行實現(xiàn)快速認證,減少對地面NCC 的依賴,降低認證時延;當星上認證失效異常時,可切換至地面認證模式,保證認證過程安全穩(wěn)定;對用戶終端的身份信息進行保護,滿足對用戶隱私保護的需求。
針對上述安全需求,本文對提出的多模式衛(wèi)星通信身份認證系統(tǒng)進行模型設(shè)計。系統(tǒng)架構(gòu)模型如圖1 所示,系統(tǒng)中主要包括衛(wèi)星網(wǎng)絡(luò)、用戶終端,地面控制中心和星載控制中心(Satellite Control Center,SCC)。
圖1 身份認證系統(tǒng)框架
衛(wèi)星網(wǎng)絡(luò)主要負責用戶終端設(shè)備注冊和用戶與控制中心、用戶與用戶間的數(shù)據(jù)傳輸。用戶終端通過衛(wèi)星網(wǎng)絡(luò)獲取相應(yīng)通信服務(wù),主要包括手持、車載、機載、艦載等地面終端設(shè)備。地面控制中心包含地面網(wǎng)絡(luò)控制中心和密鑰生成中心,地面網(wǎng)絡(luò)控制中心在身份認證過程中負責生成和校驗用戶身份,維護認證信息,密鑰生成中心負責用戶注冊、管理用戶數(shù)據(jù)。星載控制中心包括星載網(wǎng)絡(luò)控制中心和星載密鑰生成中心,部署在衛(wèi)星網(wǎng)絡(luò)中,具備地面控制中心注冊、管理、維護用戶信息等功能。
不同于地面網(wǎng)絡(luò),太空存在輻射效應(yīng)和溫度變化影響,衛(wèi)星設(shè)備計算與存儲能力都受到限制,且設(shè)備管理與配置對硬件的依賴性強,因此,高性能、小型化的要求對于衛(wèi)星設(shè)備尤為重要。傳統(tǒng)的商用級元器件在太空中無法正常工作,而宇航級元器件的工作頻率和存儲能力通常較小,因此,衛(wèi)星設(shè)備多采用CPU 與FPGA 相結(jié)合的方式應(yīng)對衛(wèi)星網(wǎng)絡(luò)復(fù)雜的計算和高額的通信開銷,該方法目前應(yīng)用于收集遙測信息、遙感圖像[13]等多個航天任務(wù)中,實踐證明系統(tǒng)性能良好且具有較高的可靠性。
本方案設(shè)計為星上認證和地面認證結(jié)合的方式,地面認證采用僅使用高性能CPU 作為處理器的方式,解決系統(tǒng)的數(shù)據(jù)處理與計算開銷問題。而星上認證存在計算開銷和硬件設(shè)計等方面的要求,因此采用CPU 和FPGA 控制與計算相結(jié)合的方式完成身份認證過程,該架構(gòu)充分利用了CPU 控制靈活和FPGA 計算高效的特點,能夠滿足本文中星上認證的要求,保證星上控制系統(tǒng)工作狀態(tài)穩(wěn)定和認證過程安全可靠。
本方案提出的多模式身份認證方案分為初始預(yù)分配階段和終端身份認證階段。終端接入可通過星上認證和地面認證兩種方式,星上依據(jù)策略向地面同步認證數(shù)據(jù),正常使用下使用星上認證模式進行終端接入,當星上模式出現(xiàn)故障時,通過模式切換功能使用地面認證方式進行終端接入,保證終端安全接入,衛(wèi)星通信穩(wěn)定運行。協(xié)議中使用的部分符號及其對應(yīng)的含義如表1所示。
本階段用戶終端根據(jù)設(shè)備信息向控制中心進行離線用戶身份注冊,控制中心檢查終端設(shè)備身份信息合法后,為設(shè)備生成唯一的身份標識信息ID,預(yù)置密鑰K,選擇一個橢圓曲線E上的循環(huán)群G,G的階為q。選擇一個隨機數(shù)sk∈Z*q,計算pk=sk·P作為控制中心公鑰,sk 作為私鑰保存,ID||K||pk 保存至用戶設(shè)備。至此,控制中心將用戶終端預(yù)分配所需的資源通過離線注冊方式存儲到終端設(shè)備,具體過程如圖2 所示。
圖2 用戶終端資源預(yù)分配過程
衛(wèi)星網(wǎng)絡(luò)選擇不同模式進行認證時,終端設(shè)備認證的方式不同,分為星上認證方式和地面認證方式兩種,下面介紹兩種認證方式的認證過程。
2.2.1 星上接入認證過程
針對用戶終端認證過程需要星地交互,認證時延高,為降低認證過程對地面歸屬網(wǎng)絡(luò)的依賴,結(jié)合衛(wèi)星網(wǎng)絡(luò)抗毀能力強的特點,設(shè)計星載控制中心在保證安全性的前提下,降低星地接入認證的時延問題,過程如圖3所示。
圖3 星上接入認證過程
(1)用戶終端生成隨機數(shù)a∈Z*q,當前時間T1,計算對稱密鑰D=a·pk和A=a·P,通過對稱加密算法對用戶身份進行匿名保護生成匿名身份cID,生成隨機數(shù)R1,消息驗證碼MAC1=h(K,cID||T1)、認證向量AV1=cID||A||MAC1||T1,將包含cID和A的認證請求消息AV1發(fā)送至衛(wèi)星網(wǎng)絡(luò)。
(2)衛(wèi)星收到用戶發(fā)來的認證請求消息,連同自身身份標識IDS發(fā)送給星載控制中心。
(3)星載控制中心檢查時間戳T1的有效性,若時間差在有效范圍內(nèi),則對該認證請求進行處理,計算出對稱密鑰D=sk·A,對稱解密獲取用戶真實身份標識ID 和隨機數(shù)R1,并查找用戶終端預(yù)置密鑰K,計算消息認證碼HMAC1=h(K,cID||T1)與收到的MAC1是否相等,若相等則獲取當前的時間T2,生成隨機數(shù)R2,計算臨時身份標識TID=h(R2,ID),消息驗證碼HMAC2=h(K,TID||T2),會話密鑰SK=f(ID||R1||R2),認證響應(yīng)值XRES=h(K,SK||R1||R2||IDS),生成認證響應(yīng)消息AV2=TID||T2||R2||HMAC2,將認證響應(yīng)向量AV2和認證響應(yīng)值XRES 發(fā)送給衛(wèi)星。
(4)衛(wèi)星收到認證響應(yīng)消息后,將自身身份標識IDS與認證向量AV2發(fā)送給終端。
(5)用戶終端接收到認證響應(yīng)消息后,檢查T2的有效性,若有效,計算MAC2=h(K,TID||T2),比較MAC2與從認證響應(yīng)向量中提取的HMAC2是否相等,對比一致則表示該消息由衛(wèi)星發(fā)出,完成對衛(wèi)星節(jié)點的校驗。計算會話密鑰SK=f(ID||R1||R2),認證響應(yīng)值 RES=h(K,SK||R1||R2||IDS)和TID=h(R2,ID),將認證響應(yīng)值發(fā)送給衛(wèi)星,完成用戶側(cè)認證過程。
(6)衛(wèi)星收到用戶終端認證消息后,將RES 與XRES將進行比較,結(jié)果一致則將認證成功的結(jié)果發(fā)給星載控制中心。
(7)星載控制中心確認認證成功結(jié)果,并存儲SK、ID和TID,用于保障后續(xù)用戶數(shù)據(jù)的安全傳輸。
2.2.2 地面接入認證過程
當需要使用地面認證模式進行身份認證時,用戶終端通過衛(wèi)星網(wǎng)絡(luò)轉(zhuǎn)發(fā)接入地面網(wǎng)絡(luò)的認證過程,采用哈希算法和對稱密鑰算法進行終端與地面指控中心的雙向認證,生成后續(xù)通信所需的會話密鑰,簡化認證過程計算量,降低計算開銷。步驟如圖4 所示。
圖4 地面接入認證過程
(1)用戶終端生成隨機數(shù)a∈Z*q,當前時間T1,計算對稱密鑰D=a·pk和A=a·P,生成匿名身份標識cID,將包含cID和A的認證請求向量AV1發(fā)送至衛(wèi)星;衛(wèi)星收到認證消息后轉(zhuǎn)添加自身信息標識,經(jīng)衛(wèi)星鏈路透傳發(fā)送給地面控制中心。
(2)地面控制中心接收到認證請求后,用對稱密鑰解密得到ID 和隨機數(shù)R1,與已存儲的星地同步用戶信息進行比較,識別用戶終端狀態(tài),獲得用戶信息ID、K,比較T1,校驗HMAC1的有效性后,生成R2、T2,計算臨時身份標識、消息驗證碼、會話密鑰和認證響應(yīng)值,生成AV2和XRES 的認證響應(yīng)消息發(fā)給衛(wèi)星節(jié)點;衛(wèi)星接收消息后轉(zhuǎn)發(fā)AV2和自身認證標識IDS給用戶終端。
(3)用戶終端判斷認證響應(yīng)消息的有效性,校驗成功后,計算會話密鑰SK與RES,發(fā)送認證確認,完成認證過程;衛(wèi)星收到認證確認后進行校驗,校驗成功后轉(zhuǎn)發(fā)給地面控制中心;地面控制中心接收確認消息,整個地面認證過程完成。
2.2.3 認證信息星地同步過程
地面接入認證過程在星上接入認證過程失效或主動進行地面模式切換時發(fā)生。當系統(tǒng)工作在星上接入模式時,地面指控中心作為星上指控中心的熱備節(jié)點存在,星上指控中心可按策略定期向地面指控中心發(fā)送數(shù)據(jù)同步信息,保證整個系統(tǒng)入網(wǎng)數(shù)據(jù)的安全,星上用戶信息向地面同步過程如圖5 所示。
圖5 用戶信息星地同步過程
星上控制中心會保存星上接入終端的身份標識ID、預(yù)置密鑰K等用戶信息,根據(jù)策略定期發(fā)送包含身份標識ID、預(yù)置密鑰K、會話密鑰SK、終端用戶狀態(tài)ST 等在內(nèi)的星地同步數(shù)據(jù){ID||K||SK||ST}給地面控制中心;當?shù)孛婵刂浦行氖盏酵綌?shù)據(jù)后,向星上控制中心發(fā)送星地同步響應(yīng)數(shù)據(jù);星上控制中心收到響應(yīng)信息,表示星地同步過程完成,地面控制中心獲得星上接入認證的用戶信息。
3.1.1 非形式化安全性分析
(1)防重放攻擊分析
在認證過程中,用戶端和指揮控中心端都通過獲取時間戳判斷當前接收的認證消息是否有效,當時間間隔超過設(shè)定的最大忍受時延,將不會對發(fā)送端的認證消息進行響應(yīng),有效避免了重放攻擊。
(2)通信數(shù)據(jù)的完整性與機密性分析
在用戶接入過程中,通信雙方會對傳輸?shù)臄?shù)據(jù)進行哈希值計算HMAC1=h(K,ID||T1),將計算值與接收到的哈希值MAC1進行比較,保證數(shù)據(jù)具有完整性后才進行響應(yīng);認證過程使用會話密鑰,對通信數(shù)據(jù)進行加密,第三方在不知道會話密鑰的情況下無法獲取會話內(nèi)容,能夠?qū)崿F(xiàn)會話的機密性。
(3)前后向安全性
在本方案中生成的會話密鑰SK=f(ID||R1||R2)中包含隨機數(shù)R1、R2,每次選擇的隨機數(shù)都不相同,每次生成的SK也不同,使得通信時會話密鑰相互獨立,即使獲取當前密鑰,也無法推出前后會話的密鑰,能夠保證前后向通信內(nèi)容的安全性。
(4)用戶匿名性
在終端認證過程中,通過對稱加密對用戶身份進行匿名保護,用戶終端的身份標識ID 加密傳輸,且在接入網(wǎng)絡(luò)后通信過程中,用戶終端使用臨時身份標識TID 進行數(shù)據(jù)通信,使用完成后立即更新,可以實現(xiàn)用戶身份匿名性。
3.1.2 安全性對比
本文協(xié)議和其他協(xié)議安全性對比分析結(jié)果如表2 所示。文獻[5]提出的方案中沒有考慮對于用戶終端隱私信息的保護,不具備用戶匿名性的要求;文獻[9]動態(tài)協(xié)議認證方案中,存在后向會話密鑰容易推斷出的問題,后向安全性難以保證。本方案通過認證消息中添加時間戳信息,認證過程中終端的真實身份標識均被加密后傳輸,且協(xié)商密鑰在后續(xù)通信中不斷更新,有效地保障了交互過程的安全性和可靠性。
表2 安全性對比
從執(zhí)行運算的復(fù)雜度方面進行分析,結(jié)合文獻[14]中對常用密碼操作開銷的計算,計算開銷如表3所示[14]。
表3 常用密碼算法計算開銷 (μs)
對于星上認證測試環(huán)境,終端和衛(wèi)星采用Intel Core m3-6Y30 CPU@0.9 GHz 的處理器進行模擬,星載控制中心采用BM3823 CPU@200 MHz 和Virtex5 BQ5VSX130T FPGA 的處理器作為服務(wù)器,使用CPU 進行基本邏輯功能實現(xiàn),利用FPGA 計算效率高的特點進行密碼算法計算,模擬驗證獲取基本密碼算法的計算開銷如表4 所示。
表4 星載常用密碼算法計算開銷(μs)
由表5 本方案與其他協(xié)議計算開銷比較來看,本方案的計算開銷較小,可以提供與地面認證計算開銷相同的認證能力;從認證交互的傳輸時延上看,文獻[5]與文獻[9]都是用戶終端-衛(wèi)星-地面NCC 的認證過程,需要將認證消息從衛(wèi)星通過星地鏈路發(fā)送給地面控制中心,接收后再通過原鏈路返回響應(yīng),本方案采用星上交互認證,衛(wèi)星與星載控制中心認證時,通過有線信道傳輸消息,減少3 次星地間數(shù)據(jù)傳輸,在傳輸時延上明顯小于其他方案。綜上分析,本方案具有總體較低的計算開銷。
表5 本方案與其他相關(guān)協(xié)議的計算開銷比較
本文設(shè)計了一種在衛(wèi)星通信中多模式的身份認證方案,從減少認證時延的方向考慮,采用主用星上接入認證,備用地面接入認證的方式,星上認證能夠有效解決星地認證過程的高時延問題,減少認證時延,提高認證效率。同時為保證系統(tǒng)穩(wěn)定運行,采用多模式的設(shè)計思路,設(shè)計地面認證模式作為補充,提高系統(tǒng)的安全性與穩(wěn)定性。
綜上,本文設(shè)計的多模式的認證方案在一定程度上能夠抵抗被破壞的風險,可以滿足防重放攻擊、數(shù)據(jù)完整性、前后安全性和用戶匿名性等安全需求。同時,本方案在地面認證模式下在減少交互過程的信令開銷上還有一定的優(yōu)化空間,如何在終端-衛(wèi)星-地面?zhèn)鹘y(tǒng)架構(gòu)上保證高安全性的同時降低信令開銷[15]是本方案值得改進的方向。