郭茂文,黎艷,張榮
(中國電信股份有限公司研究院,廣東 廣州 510630)
目前,全球范圍內普遍接受的V2X 車聯網通信技術主要包括專用短程通信DSRC 技術和基于移動蜂窩通信系統的C-V2X 技術。其中,基于LTE/5G 網絡的V2X 通信技術作為C-V2X 主流技術方案得到了全球運營商、汽車廠商的廣泛支持。
V2X 車聯網通信涉及車載OBU、行人、RSU 及云端業務平臺等實體,這些實體之間通過Uu 接口或PC5/V5直連通信接口等與車輛進行通信,如圖1 所示。根據通信方式的不同,C-V2X 車聯網系統包含蜂窩網通信和直連通信兩種場景。

圖1 C-V2X車聯網通信示意圖
蜂窩網通信場景下,車聯網終端(如:車載OBU、RSU 設備)通過Uu 接口上/ 下行鏈路與其他終端或網絡側業務平臺交互信息,實現長距離和大范圍的可靠通信,滿足車輛導航、車輛監控、信息娛樂等業務的需要。此外,蜂窩網還可提供V2N 下行業務數據廣播業務。
直連通信場景下,車載OBU 及路側RSU 等在專用工作頻段上通過PC5 和V5 接口采用廣播方式進行短距離信息交換,滿足提高交通效率及道路交通安全、自動化駕駛等車聯網業務的需要。
C-V2X 車聯網通信包括基于蜂窩網絡的通信和直連通信兩種模式,通過對這兩種通信模式的分析發現,其安全需求可以總結為網絡安全、信息與數據安全及車輛身份安全。
網絡安全主要是偽基站問題。攻擊者通過部署虛假網絡基站的方式,發射較強的無線信號吸引車載終端選擇并接入,造成車聯網終端的網絡數據連接中斷,直接危害車聯網業務安全。因此,接入過程中,車聯網終端與運營商移動網絡之間應支持雙向認證,確認對方身份的合法性,從而保證了車聯網終端網絡接入的安全性。
信息與數據安全主要是信息數據的完整性、保密性和可溯源性等。攻擊者可以利用Uu 接口或PC5/V5 接口的開放性惡意發布虛假交通信息、竊聽或者篡改網絡上傳輸的數據信息等,從而影響車聯網業務安全。這樣,車聯網終端與應用服務器,或者車聯網終端與車聯網終端之間的信息傳輸,就需要對消息來源進行認證,對消息的完整性與機密性進行保護,防止消息被偽造、篡改和竊聽,確保C-V2X 車聯網信息傳輸安全。
車輛身份安全主要是假冒車載終端及車輛隱私信息(如車輛標識、狀態、位置等)泄漏問題[1]。攻擊者可以利用認證系統的漏洞,利用非法終端冒充合法終端身份,接入網絡并獲取相應的服務,甚至是假冒合法終端身份,發布虛假的業務數據信息。另外,對于廣播業務來說,車輛標識、位置等敏感信息會被周圍其它車載終端獲取,進而造成車輛身份、位置等隱私信息泄露,嚴重時可導致車輛被非法跟蹤,威脅到車輛內用戶的人身安全。為了防止車輛隱私信息的泄露,車聯網終端在廣播業務時需要隱藏或匿名身份標識信息。
因此,C-V2X 車聯網需要通過密碼與身份認證等技術來保障其安全通信。
對于對稱密碼技術來說,通信的雙方必須有一個共同的對稱密鑰,而對于非對稱公鑰密碼技術來說,通信的雙方必須有非對稱密鑰。在C-V2X 車聯網通信系統中,涉及車聯網終端與基礎設施、車聯網終端與車聯網業務平臺,以及車聯網終端之間的大量通信,單一的密碼技術已無法滿足其多場景的安全通信要求。因此,車聯網安全通信一般需要多種密碼技術相結合來實現,包括重要信息(如高精度位置、控制指令等)的加密傳輸,傳輸信息的完整性、真實性以及可溯源性等。
目前,非對稱公鑰密碼技術比較成熟的有PKI 和IBC 兩種[2],對于基于PKI 的公鑰密碼技術來說,主要是引入有公信力的第三方CA 鑒定終端身份,并為其頒發公鑰證書[3]。終端在本地產生公私密鑰對,CA 通過證書安全地將終端身份和密鑰綁定在一起。舉例說明如下:
車載終端A(身份標識:“UE-A”)公鑰證書包含有以下內容:
M=(“UE-A”UE-A的公鑰Public-UE-A)和S=[M]CA (1)S 是CA 采用私鑰Private-CA 對M 進行的簽名,利用Public-CA 對S 進行驗簽和M 相比較,即可驗證UE-A的公鑰Public-UE-A 的合法性。這樣,車聯網終端只需提前存儲CA 的公鑰Public-CA 就可以和所有CA 頒發過證書的車聯網終端進行安全通訊。
基于PKI 的公鑰密碼技術已經得到了廣泛應用,但是在應用中面臨諸多問題,如證書申請和使用過程比較復雜,PKI 認證需通過信任鏈層層傳遞,影響車聯網效率,證書在網絡傳輸時存在被中間人替換的風險等。
為了降低密鑰管理和使用的復雜性,Shamir 提出基于IBC 的公鑰密碼技術。IBC 包含IBE 和IBS 兩個子方案,分別用于數據加密和身份認證。IBC 技術基于橢圓曲線密碼技術和二元線性配對數學理論,具有二元線性映射性質的有Weil 配對和Tate 配對[4],這種配對有如下性質:

即滿足交換律的性質,“·”運算符是橢圓曲線上的點積運算。與PKI 機制類似,IBC 也有一個可信第三方,稱為PKG(私鑰生產機構),負責生成主密鑰和全局系統參數。IBC 系統中所有用戶的私鑰都由身份標識、主密鑰和全局系統參數通過PKG 派生得出。IBC 系統中各用戶的身份就是公鑰,無需額外管理。在我國,IBC 采用SM9 算法。
IBC 具體的解決方案描述如下:
(1)Setup(主密鑰和公共參數生成模塊)
PKG 生成隨機數s作為主密鑰并保密,再生成一條安全的橢圓曲線,隨機選取橢圓曲線上的一個點P,將橢圓曲線的參數、P 和sP(“·”運算符是橢圓曲線上的點積運算)作為公共參數,系統將公共參數分發給所有用戶。
(2)Extract(私鑰生成模塊)
PKG 為用戶分發私鑰,該私鑰是s和用戶的身份標識進行點積運算得到的,例如對于用戶A,分發給他的私鑰即s·IDA。
(3)Encrypt&Decrypt(加解密模塊)
發送方A 選擇隨機數r,并且計算k:k=Pair(r·IDB,s·P),接著用k發送密文Ek[Message]和r·P 給B。
接收方B 接收到報文后,通過計算得到數值k:k=Pair(s·IDB,r·P),接著用k解密Ek[Message],得到明文,只有B 知道自己的s·IDB,別的用戶得不到k值。
(4)Sign&Verify(簽名驗證模塊)
發送方A選擇隨機數r,并且計算k:k=Pair(s·IDA,r·P),接著計算消息摘要e=SHA-1(Message),對消息的簽名即為(r·IDA,Ek(e)),并發送給B。
接收方B 接收到報文后,通過計算得到數值k:k=Pair(s·P,r·IDA),接著計算消息摘要e=SHA-1(Message),然后驗證e=Ek(Ek(e)),如果相等,則驗證成功。
從密鑰管理的復雜性來說,PKI 方案需要引入有公信力的第三方CA 鑒定終端身份,并為其頒發公鑰證書,而IBC 方案只需要基于終端身份通過PKG 為其生成私鑰。在使用效率方面,PKI 方案需要接收方在線聯網驗證發送方的公鑰證書,證書信任鏈需要層層傳遞,然后再進行驗簽,而IBC 方案只需要接收方在本地基于發送方的身份標識進行驗簽。因此,從密鑰管理的復雜性和認證效率來看,IBC 方案比PKI 方案都具有明顯優勢。當然,對PKI 和IBC 兩種方案來說,均需要通過安全通道將PKI公鑰證書或IBC 私鑰傳輸到終端本地。
當前,SIM 卡技術得到了快速發展,新型Java SIM卡除了提供蜂窩網絡的接入鑒權功能外,還具有獨特的安全特性,集成有安全芯片,支持包括國密算法在內的各種對稱密碼和非對稱公鑰密碼算法,其安全級別達到EAL4+。因此,對于C-V2X 車聯網來說,在車載終端身份認證和安全通信方面,SIM 卡是一種很好的安全載體。
SIM 卡可以提供身份令牌、動態口令以及與網絡協同的通用GBA 認證等多種認證解決方案,這里主要分析SIM 卡身份令牌認證和GBA 認證兩種方案。
SIM 卡身份令牌認證方案的基本思路是SIM 卡側和認證系統側基于相同的令牌運算因子(如SIM 卡號、會話ID、隨機數、時間戳等)和加密算法生成令牌token,并在認證系統進行令牌token 的一致性驗證。如果驗證通過,則身份令牌認證通過。
這種SIM 卡身份令牌認證方案比較簡單,但只實現了對終端的單向認證,而且缺乏后續的應用會話密鑰協商功能。因此,這種方案需要做進一步的擴展,增加終端對網絡側平臺的認證功能(如通過在SIM 卡預置平臺公鑰證書的方式),以及基于SIM 卡和平臺側共同參數/因子進行會話密鑰的衍生等。
與網絡協同的通用GBA 認證方案基于3GPP AKA 機制,利用用戶終端側(U)SIM 卡內與網絡側共享的對稱密鑰實現接入認證和會話密鑰協商。在已有移動網元的基礎上,GBA 引入了新網元BSF,用于從接HSS 獲取鑒權向量進而完成對用戶終端的驗證,同時用于根據運營商提供的中間密鑰推衍會話密鑰。GBA 中另一個重要的網元是應用服務器NAF,其主要功能是實現第三方應用服務從運營商網絡獲取會話秘鑰。整個GBA 架構如圖2 所示:

圖2 GBA架構示意圖
GBA 認證方案主要包括初始化、引導、安全關聯三個階段[5]。其中,初始化階段用于終端和應用服務器互相確認使用GBA 來進行認證;引導階段則是終端與BSF交互進行雙向驗證,且終端、BSF 分別推衍出了GBA 會話中間密鑰;而在安全關聯階段,終端和BSF 基于中間密鑰為具體應用生成會話密鑰,用戶訪問該應用服務器時,應用服務器就可以通過安全通道(如TLS、專線)向BSF 獲取該會話密鑰;使用會話密鑰作為臨時密鑰、B-TID 作為用戶臨時身份,就可以進行用戶身份認證、通信通道安全加密、以及后續業務交互。
GBA 認證方案可用于終端與第三方服務相互認證及提供安全會話通道,解決了應用層密鑰分發和管理的難題,具有較強的安全擴展性,應用可根據需要在不同層級啟動安全通信機制。但這種方案對網絡、終端和SIM卡有一定的要求,移動網絡需要增加部署BSF 網元,終端和SIM 卡均需要支持GBA AKA 功能。
通過前面對密碼技術和SIM 卡認證技術的分析,從安全需求、技術成熟度、兼顧車聯網通信效率來看,GBA 認證與IBC 公鑰密碼相結合是一種比較好的C-V2X安全通信解決方案,如圖3 所示。

圖3 GBA認證與IBC公鑰密碼相結合的C-V2X車聯網安全通信架構圖
其中,PKG 為密鑰管理中心,負責生成主密鑰和全局系統參數,及用戶私鑰的生成和托管;GBA 架構(含BSF 及HSS 等功能)負責C-V2X 終端與PKG 之間的雙向認證并提供終端私鑰、IBC 公共參數等信息的安全傳輸通道。
申請IBC 密鑰的車聯網終端主體,首先通過GBA 認證授權系統基于USIM 中的用戶標識及根密鑰與PKG 進行雙向身份認證,成功后為PKG 提供與終端建立安全關聯的GBA 共享會話密鑰。憑借GBA 共享會話密鑰,車聯網終端可與PKG 安全交互,實現IBC 密鑰分發。主要流程如圖4 所示。

圖4 GBA認證流程
IBC 密鑰管理主要涉及PKG 初始化、車聯網終端IBC 密鑰生成及分發。
PKG初始化的主要作用是生成主密鑰和系統公共參數。
車聯網終端IBC 密鑰生成的功能由PKG 完成,主要基于車聯網終端身份標識、主密鑰等生成對應車聯網終端的IBC 私鑰。
密鑰分發主要是PKG 通過GBA 認證生成的會話密鑰,將IBC 私鑰以及系統參數安全地分發到車聯網終端。
主要流程如圖5 所示。這里需要說明的是,PKG 將終端私鑰和系統公共參數發送給車載終端時,需要對GBA 認證生成的會話密鑰進行衍生,生成多個應用層密鑰,用于對要傳輸的信息進行加密和完整性保護等。而在車聯網終端側,同樣需要對GBA 認證生成的會話密鑰進行衍生,生成多個應用層密鑰,對接收到的IBC 私鑰和系統公共參數等信息進行驗證并解密。

圖5 IBC密鑰管理流程
前面分析過,C-V2X 車聯網通信包括基于蜂窩網絡的通信和直連通信兩種模式,在直連通信模式下主要是廣播方式。下面分別針對單播和廣播兩種通信場景來說明其應用層的安全通信方案。
C-V2X 車聯網單播通信場景下,C-V2X 車聯網單播通信場景下,假設車聯網終端A 為發送方,其身份標識為IDA,車聯網終端B 為接收方,其身份標識為IDB,車聯網終端A 待發送的消息為M,且需要進行加密。其安全通信的主要流程如圖6 所示。

圖6 單播場景的安全通信流程
C-V2X 車聯網廣播通信場景下,假設車聯網終端A身份標識為IDA,需要廣播消息M,車聯網終端B 可以接收廣播消息M。其安全通信的流程如圖7 所示。

圖7 廣播場景的安全通信流程
這里需要說明的是,車聯網終端在廣播業務時需要隱藏或匿名身份標識信息,因此,PKG 在為車聯網終端基于身份標識生成私鑰時,還需要通過衍生算法為該車聯網終端生成若干匿名身份標識(如Anonymous_IDA1、Anonymous_IDA2 等)及其對應的若干私鑰,發送給車聯網終端,并在PKG 建立真實身份標識與匿名身份標識之間的映射關系。當車聯網終端需要廣播消息時,選擇其中一個未使用的匿名身份標識(如Anonymous_IDAn)及其對應的私鑰對廣播消息進行數字簽名[6]。
當前,C-V2X 車聯網安全通信是業界的熱點話題,并且也有很多相關的解決方案,對于運營商來說,充分利用其網絡優勢為C-V2X 車聯網提供安全通信具有重大戰略意義。本文在分析基于SIM 卡的密碼和認證技術的基礎上,提出了一種基于GBA 和IBC 公鑰密碼機制相結合的安全通信解決方案。通過GBA 的雙向認證和應用層密鑰衍生特性,保證了車聯網的身份認證和應用層安全通道能力,同時,通過IBC 公鑰密碼機制又可以提升車聯網的安全通信效率,并達到車輛身份信息隱私保護的目的。但該方案還需在實際場景中進行進一步的驗證。