田宏達 ,郭軍強 ,劉棟青 ,張 韋
(1.北京全路通信信號研究設計院集團有限公司,北京 100070;2.北京市高速鐵路運行控制系統工程技術研究中心,北京 100070)
ETCS 列控系統車地安全信號設備建立安全通信時,為保證雙方交互消息的真實性及完整性,需在每次對話開始時進行對端標識校驗和身份認證,并生成會話密鑰,通過會話密鑰對此次會話的消息進行保護。身份認證及會話密鑰生成是基于ETCS密鑰管理系統預先安裝的KMAC 密鑰,因此密鑰管理功能是安全信號設備間通信的安全基礎。
ETCS 密鑰管理系統負責ETCS 體系下安全信號設備之間的密鑰管理功能,密鑰管理包含的主要功能有:密鑰生成、存儲、安全分配、解除、銷毀和應用等操作。
ETCS 系統使用三級密鑰機制,密鑰等級劃分如表1 所示,密鑰管理主要涉及KMAC、KTRANS和K-KMC 密鑰。
ETCS 密鑰管理系統主要由密鑰管理中心KMC, 安全信號設備組成。安全信號設備為使用KMAC 密鑰的設備,所以在密鑰管理系統中稱之為KMAC 實體。三級密鑰在密鑰管理系統的產生及流向如圖1 所示。

表 1 ETCS系統密鑰等級劃分表Tab.1 Table for key grade division of ETCS system
如上所述,密鑰管理系統主要由密鑰管理中心KMC、數字證書中心CA 及KMAC 實體組成,一個KMAC 實體由一個KMC 負責為其管理密鑰,將該KMC 稱為KMAC 實體的Home KMC。密鑰管理系統組成如圖2 所示。

圖1 ETCS各分級密鑰的流向圖Fig.1 Flow graph for each grading key of ETCS system

圖2 ETCS密鑰管理系統組成Fig.2 The composition of ETCS key management system
KMC 作為密鑰管理的核心設備,由KMC 主機、操作顯示終端和密碼機組成。KMC 主機負責實現密鑰管理邏輯功能(生成、添加、刪除、更新、查詢及存儲密鑰等);操作顯示終端負責與操作人員交互進行密鑰管理操作與維護;密碼機負責生成密鑰,密碼機采用國家密碼管理局批準的硬件芯片生成高質量的真隨機數,保證密鑰的高強度。
CA 數字證書中心采用數字證書對KMC 及KMAC 實體進行身份認證,包括向KMC 和KMAC實體簽發用于TLS 連接的數字證書及數字證書狀態改變后(例如證書廢止)向TLS連接雙方反饋證書有效性。證書簽發應遵循CMP 協議,證書驗證應遵循OCSP 協議。ETCS 密鑰管理系統CA 體系結構如圖3 所示,采用分級結構。

圖3 CA體系結構Fig.3 CA architecture
密鑰管理中心可采用在線和離線兩種方式向KMAC 實體執行密鑰的增加、更新、查詢和刪除操作。
在線密鑰管理方式下,KMC 與KMAC 實體間、KMC 間接口遵循Subset-137 規范執行消息交互,通過網絡在線傳輸密鑰。為了防止傳輸過程中密鑰數據被監聽或篡改,在線密鑰管理通過KMC與KMAC 實體、KMC 間建立TLS 連接,來保證交互內容加密、身份認證和數據完整性。Subset-137規定TLS 應采用基于TLS-PSK 體系或基于TLSPKI 體系兩種方式進行密鑰管理系統內設備的身份認證,防止中間人攻擊,其中基于TLS-PSK 體系方式為基于TLS-PKI 體系的降級備份且不適用于KMC 間接口。基于TLS-PKI 體系的在線密鑰管理的具體算法及防御范圍如圖4 所示。

圖4 ETCS在線密鑰管理防御措施Fig.4 Defensive measures of ETCS on-line key management
基于TLS-PKI 體系的在線密鑰管理方式主要通過非對稱加密、對稱加密及散列算法3 種加密技術保證密鑰傳輸的安全性,非對稱加密采用基于RSA公私鑰對的ECDHE 密鑰交換算法實現身份認證和對稱密鑰協商,對稱加密采用非對稱加密協商的對稱密鑰并利用AES_256_GCM 算法對交互數據加密,基于SHA384 散列算法用于驗證交互數據完整性。
當KMAC 實體為軌旁設備時,其為TLS 響應方;當KMAC 實體為車載設備時,其為TLS 發起方;KMC 設備間需由運營規程約定TLS 發起方。KMAC 實體與KMC 建立TLS 連接后即可進行密鑰管理應用消息交互,TLS 消息將應用消息加密為密文。KMAC 實體與KMC 交互密鑰管理消息采用應答交互方式,即發送命令后只有收到對方回復才可進行下一條命令的發送。基于TLS-PKI 體系的在線密鑰交互流程如圖5 所示。
在離線密鑰管理方式KMC 將密鑰管理命令消息寫入可移動設備,由操作人員離線傳遞至KMAC實體,完成密鑰的增加、更新和刪除操作。離線密鑰管理KMC 間接口遵循Subset-038 規范 ,KMC與KMAC 實體間接口遵循Subset-114 規范。
離線密鑰管理方式為了密鑰傳輸過程的安全,密鑰傳輸過程中需要使用傳輸密鑰對驗證密鑰進行加密。傳輸密鑰KTRANS 保證KMC 與KMAC實體間交互消息,由KTRANS1 和KTRANS2 組成,KTRANS1 負責保證交互消息的真實性和完整性,KTRANS2 用于加密交互的KMAC。傳輸密鑰K-KMC 負責保證KMC 之間交互消息,由K-KMC1 和K-KMC2 組 成,K-KMC1 負責保證KMC 之間交互消息的真實性和完整性,K-KMC2負責加密KMC 之間交互的KMAC。離線密鑰管理利用3DES 算法使用傳輸密鑰對KMAC 進行加解密,如圖6 所示。

圖5 ETCS在線密鑰管理交互流程Fig.5 Interactive process of ETCS on-line key management
離線密鑰管理傳輸密鑰為明文, 因此還需制定額外管理規程保證離線密鑰傳輸的安全性。管理規程應確保傳輸密鑰和加密后的KMAC 的存儲媒介必須獨立,在密鑰實施開展前以及密鑰實施完成后,都應禁止二者被合并保管或傳送。
本節以向屬于不同Home KMC 的對端KMAC 實體添加密鑰為例子,說明密鑰管理過程。為實施在線密鑰管理,KMAC 實體與KMC 需在有密鑰任務前,預先申請CA 數字證書,CA 數字證書中心體系結構需遵循圖3 結構。
根據Subset-114 規定,當使用密鑰的兩個對端KMAC 實體屬于不同Home KMC 時,均需在軌旁KMAC實體的Home KMC 完成操作。當有密鑰任務需求時,密鑰管理員首先在軌旁KMAC 實體的Home KMC 下達密鑰管理命令;然后Home KMC 將命令通過在線或離線方式(管理員據實際情況選擇)下達給KMAC 實體;若密鑰涉及相鄰KMC 管轄的KMAC 實體時,需Home KMC 向相鄰KMC 發起請求,再由相鄰KMC 向其域內的KMAC 實體下達命令。
管理員優先選擇在線下達密鑰,在線下達密鑰后,若KMAC 實體為軌旁設備,需要KMC 主動發起TLS 連接;若KMAC 實體為車載設備,需周期或維護人員操作由KMAC 實體發起TLS 連接。TLS 安全連接建立后,按照圖7、8 消息流向,執行2.2 節在線交互流程。因網絡或CA等原因,不具備在線密鑰管理條件時,可采用離線方式按照圖7、8 消息流向,執行2.3 節離線密鑰管理流程。

圖6 ETCS利用KTRANS加密KMAC示意圖Fig.6 KMAC schematic diagram of ETCS system used by KTRANS encryption

圖7 ETCS密鑰管理應用示意-增加車載設備Fig.7 Schematic diagram for application of ETCS key management-adding on-board equipment

圖8 ETCS密鑰管理應用示意-增加軌旁設備Fig.8 Schematic diagram for application of ETCS key management-adding wayside equipment
最后Home KMC 綜合KMAC 實體及相鄰KMC 在線或離線下達命令的狀態回復結果,刷新數據庫中KMAC 實體密鑰執行狀態。
密鑰管理其他如刪除、更新等操作,與添加密鑰步驟類似,可參照上述添加密鑰過程執行。對端KMAC 實體屬于同一個Home KMC 時,去除圖7、8 中的KMC 間消息交互即可。
本文從系統組成、系統接口及應用舉例等方面總結了ETCS 離線密鑰管理實現方式,可為ETCS系統及其他列控系統密鑰管理系統研制提供參考,經過室內測試驗證表明,本文描述的方案切實可行,可保證列控系統密鑰安全可靠高效傳輸。