湯紫霖,肖立志,伍 岳,周雪冬
(湖南中車時代通信信號有限公司,長沙 410119)
列車運行監控裝置 (LKJ) 是鐵路機車、動車的重要組成部分,是用于防止列車冒進信號、運行超速事故,輔助機車、動車組司機提高操縱能力的重要行車設備[1]。LKJ 車載數據是LKJ 控制功能實現的基礎和進行運行分析的依據。隨著運行線路、運輸機車及行車方式的不同,LKJ 數據也不同[2]。而這些LKJ 基礎數據往往需要采用人工上車用IC 卡等方式將數據寫入LKJ 裝置的芯片中[3-4]。在換裝工作較多時,這種換裝方式耗費大量的人力和物力,涉及電務、機務、調度、工務等多部門協調,且跨路局換裝成為換裝工作的一個難點和痛點[5]。
近年來,基于遠程無線網絡(4G/3G)進行LKJ 無線數據換裝成為一種全新的換裝方式,具備快速、便捷、減少人員投入、減少協調等優點[6]。但是同時也面臨網絡安全問題,LKJ 數據無線換裝涉及LKJ 列控裝置,十分關鍵,一旦數據被破壞或者篡改,將可能危及行車安全,造成人生傷害乃至危害國計民生、公共利益,因此LKJ 安全通信裝置就具有非常重要的作用[7]。
LKJ 無線數據無線換裝系統由地面換裝系統和車載LKJ 安全通信裝置組成,LKJ-15 主機通過安全通信裝置與地面換裝系統進行遠程無線通信(3G/4G)。安全通信裝置在與地面換裝系統通過公網建立IPsecVPN 通道后,從地面換裝服務器獲取LKJ 換裝數據,并進行解密、解壓、校驗、暫存并對LKJ 主機進行換裝等工作,如圖1 所示。

圖1 LKJ無線數據換裝系統組成圖Fig.1 LKJ wireless data reloading system composition diagram
LKJ 安全通信裝置的總體設計如圖2 所示,以實現防護的需求,包括硬件功能和軟件功能,其中軟件功能又分為網絡層功能和應用層功能[8]。為LKJ 換裝數據建立可信任的網絡區域間通信的模型,采用白名單的安全策略,過濾一切非法訪問,保證只有可信任的設備能夠接入鐵路網絡,只有可信任的數據可以在網絡上傳輸,為機車內部數據與鐵路局段管理的LKJ 換裝數據通信連接提供安全保障。從多個層面對LKJ 換裝數據的完整性、可靠性的進行保護。

圖2 LKJ安全通信裝置的功能設計圖Fig.2 Functional design diagram of LKJ security communication device
本文設計一種基于ARM 處理器的安全通信裝置,具備嵌入式防火墻功能。采用的處理器為飛思卡爾公司的多核ARM CORTEXTM-A9 處理器IMX6 芯片,該芯片具有處理速度快、資源豐富、功耗低、溫升低等特點,符合作為機車嵌入式裝置的主處理器需求。256 kB 指令和數據L1 緩存,帶一個錯誤檢測與校正位,針對指令和數據緩存提供ECC 保護,每個內核256 kB 的一致性L2緩存,帶一個錯誤檢測與校正位,提供ECC 保護。無線安全通信裝置的主板硬件架構原理如圖3 所示。其組成包括:CPU 核心電路(時鐘、電源管理電路、看門狗電路以及調試接口)、DDR、NOR flash、eMMC、國密芯片、FPGA、無線通信電路等部分組成。IMX6 自帶1 個64 bit 的DDR 控制 器,具 備SATA、PCIe 接 口/ 集 成EIM 控 制器和RGMII 接口。本文設計中采 用4 片MT41K256M16 芯 片,DDR3 容量2 GB,作為大容量數據緩存。采用128 MB 并行NOR Flash,采取寫保護措施,作為文件系統和防火墻程序、應用程序存儲介質,并進行分區存儲。用SATA 接口外掛一片8 GB eMMC存儲芯片,作為系統日志、換裝數據和應用日志存儲的存儲空間,并進行分區存儲和壞塊管理,提高可靠性。通過RGMII 接口獲得1 路千兆以太網口,作為主業務網口。另外還通過PCIe 接口的擴展轉換為多路以太網接口。FPGA 采用XC6SLX16-3C,通過EIM總線與IMX6 連接。IMX6 通過USB 的高速接口與國密芯片通信,國密芯片采用32 位高性能密碼安全SOC 芯片,支持國密算法:SM1、SM2、SM3、SM4; 國 際 算 法:AES、DES/TDES、RSA、SHA、SSF33。移動通信模組選用芯訊通的無線通信模組SIMCOM7100,與IMX6 之間采用USB2.0 高速接口通信。此外還通過I IC 接口連接溫度傳感器和RTC 芯片,實時監控裝置板載溫度,并提供系統時間。

圖3 安全通信裝置硬件架構原理圖Fig.3 Schematic diagram of hardware architecture of security communication device
安全通信裝置的軟件架構如圖4 所示,軟件包括U-Boot引導程序、Linux 內核程序和應用軟件3 個部分。U-Boot 引導程序負責初始化硬件并加載linux 內核,完成文件系統的掛載;通過TFTP 來下載內核鏡像uImge、設備樹DTB、文件系統rootfs,并完成NOR Flash 的燒寫;另外還可以通過shell 命令直接訪問相應的硬件,進行硬件功能測試、環境變量的設置。Linux 內核由進程調度、虛擬文件系統、內存管理、進程間通信和網絡接口等子系統組成,為網絡防護和應用程序提供系統調用接口,并驅動硬件工作。應用程序負責網絡安全防護 (防火墻)程序、無線通信網絡的撥號與維持、與地面換裝系統的通信、數據的解密、解壓、校驗、暫存、對LKJ 主機進行換裝。

圖4 軟件結構框圖Fig.4 Software structure diagram
當地面系統與安全通信裝置進行通信和數據傳輸時,安全通信裝置的應用軟件將進行通信全過程的管理和控制。如網絡地址檢測、網絡端口檢測、網絡協議分析、數據解密、數據協議分析、數據內容檢測等多項操作,確保異常報文將被阻斷,異常數據被丟棄。對進出的所有網絡報文和數據都要進行監控和處理。這種獨特的兩層保護可以有效地防止未授權的接入和訪問,阻止各種非法數據報文進出LKJ-15 主機,保護現場設備。LKJ 換裝數據的上下行流程和防護軟件設計如圖5、6 所示。

圖5 網絡安全控制軟件下行流程圖Fig.5 Network security control software downlink flow chart

圖6 網絡安全控制軟件數據上行流程圖Fig.6 Network security control software uplink flow chart
本文主要介紹一種基于ARM 平臺的安全通信裝置的設計與實現,解決傳統人工換裝費時費力、且需多方協調、配合的問題,并可有效避免普通遠程無線網絡(4G/3G)換裝存在被攻擊和數據被篡改風險的問題。無線安全通信裝置在LKJ 換裝中具有快速、方便、安全、高可信度的特點。該裝置自2017 年來在多個路局的機車上開始了現場運行,多次的換裝結果表明,該裝置能夠提高LKJ 換裝的自動化水平,并具備網絡防護作用。