馮小芳
(中國鐵道科學研究院集團有限公司 電子計算技術(shù)研究所,北京 100081)
2014 年,中華人民共和國國務(wù)院辦公廳印發(fā)相關(guān)文件,要求率先在金融領(lǐng)域?qū)崿F(xiàn)國產(chǎn)密碼(簡稱:國密)應(yīng)用突破,力爭到 2020 年實現(xiàn)國密全面應(yīng)用[1]。國密是自主可控技術(shù)的重要基礎(chǔ)。從2015 年起,國密應(yīng)用從金融領(lǐng)域拓展到其他重要領(lǐng)域,證券、廣電、能源、教育、公安、黨政等國民經(jīng)濟重大行業(yè)主管部門陸續(xù)實現(xiàn)基于國密的實施升級工作[2]。鐵路運輸是關(guān)乎國民經(jīng)濟發(fā)展的重要行業(yè),鐵路信息技術(shù)及信息化建設(shè)是保障鐵路安全運營、安全生產(chǎn)的重中之重,是國家要求盡快推進安全保障自主可控的重點行業(yè)之一。鐵路調(diào)度應(yīng)急指揮系統(tǒng)(簡稱:調(diào)度應(yīng)急系統(tǒng))中的一些重要的信息,如調(diào)度命令、行車信息、鐵路信號、客票數(shù)據(jù)等均通過網(wǎng)絡(luò)進行傳輸[3]。本文研究調(diào)度應(yīng)急系統(tǒng)中的國密應(yīng)用,為國密在鐵路運輸生產(chǎn)系統(tǒng)中的推廣提供參考。
國密算法是我國自主研發(fā)創(chuàng)新的一套數(shù)據(jù)加密算法,經(jīng)過多年的發(fā)展,已經(jīng)頒布多個算法標準,包括SM1、SM2、SM3、SM4、SM7、SM9、祖沖之密碼算法等,大致分為3 類,其中:SM1、SM4、SM7、祖沖之密碼是對稱加解密算法;SM2、SM9是非對稱加解密算法;SM3 是哈希雜湊算法[4]。
國密算法與國際密碼算法的對比[4-5]如下:
(1)SM4 算法是一種分組對稱加解密算法,與國際數(shù)據(jù)加密標準(DES,Data Encryption Standard)算法類似,兩者的目的都是為了加密保護靜態(tài)儲存和傳輸信道中的數(shù)據(jù)。SM4 算法采用基本輪函數(shù)(32 bit)加迭代算法,分組長度和密鑰長度均為128 bit,其安全性高于DES 算法。
(2)SM2 算法是一種非對稱加解密算法,和國際公鑰加密(RSA,Rivest-Shamir-Adleman)算法類似。SM2 算法基于橢圓曲線進行計算,RSA算法基于可逆冪運算;SM2 算法復雜度為完全指數(shù)級,RSA 算法復雜度為亞指數(shù)級。國密SM2 算法解決了RSA 算法中的亞指數(shù)級問題。在同等安全等級上,SM2 算法所需的密碼位數(shù)較少,且密鑰生成和解密速度都比RSA 算法快,實現(xiàn)較為容易,且加解密效率更高。
(3)SM3 算法是一種雜湊算法,與信息-摘要(MD5)算法、安全散列(SHA)-1 算法相似。SM3算法適用于商用密碼應(yīng)用中的數(shù)字簽名和驗證,是在SHA-256 基礎(chǔ)上改進實現(xiàn)的一種算法。SM3 算法消息分組長度為512 bit,摘要值長度為256 bit,設(shè)計更加復雜,安全性相對較高。
各類加密算法對應(yīng)的國密算法替換關(guān)系如表1所示[5-6]。

表1 國密與國際密碼對應(yīng)關(guān)系
國密技術(shù)在既有系統(tǒng)改造和新系統(tǒng)建設(shè)中的典型應(yīng)用場景如下。
(1)電子認證服務(wù)系統(tǒng)
傳統(tǒng)公鑰基礎(chǔ)設(shè)施(PKI,Public Key Infrastructure)及應(yīng)用安全產(chǎn)品都是基于國際RSA 算法,無法兼容國密算法,根據(jù)國家密碼管理局要求,全國大部分電子認證服務(wù)機構(gòu)目前已完成了電子認證服務(wù)系統(tǒng)公鑰密碼算法升級,支持SM2 算法。
(2)安全網(wǎng)關(guān)
通過對安全網(wǎng)關(guān)進行升級,使其支持與客戶端建立基于國密SM4 算法的雙向安全套接層(SSL,Secure Sockets Layer)加密鏈路,并使用支持國密算法的OpenSSL 支撐庫[5],提高SSL 協(xié)議傳輸?shù)募用軓姸取?/p>
(3)簽名驗簽服務(wù)
簽名驗簽服務(wù)器作為底層硬件密碼設(shè)備,為應(yīng)用服務(wù)器提供硬件密碼生成和核驗服務(wù),需支持對國密SM 系列算法密鑰的加密和解密。
(4)客戶端硬件
客戶端硬件設(shè)備選用內(nèi)置國密算法的USB Key設(shè)備,同時該設(shè)備作為數(shù)字證書的載體需兼容國密算法的數(shù)字證書。
鐵路調(diào)度應(yīng)急指揮工作是指,在運輸調(diào)度指揮過程中,當鐵路線路、通信信號、供電等固定設(shè)施,機車、車輛、動車組等移動設(shè)備發(fā)生故障或遭遇惡劣天氣等自然災(zāi)害和突發(fā)客流等突發(fā)事件時,借助相關(guān)設(shè)備、設(shè)施和支撐系統(tǒng),制定應(yīng)急處置方案,指揮應(yīng)急處置實施,努力恢復運輸秩序,減少突發(fā)事件影響的過程[7]。調(diào)度應(yīng)急系統(tǒng)在中國國家鐵路集團有限公司(簡稱:國鐵集團)集中統(tǒng)一部署,為國鐵集團、鐵路局集團有限公司(簡稱:鐵路局)及站段三級提供應(yīng)用,同時集成了大量的運輸生產(chǎn)核心數(shù)據(jù),包含大量的數(shù)據(jù)交互和傳輸。系統(tǒng)的安全架構(gòu)設(shè)計極為關(guān)鍵,對于身份認證和安全傳輸方面的安全防護需求極為強烈。
用戶通過統(tǒng)一的用戶授權(quán)和校驗后,方可訪問相應(yīng)的系統(tǒng)應(yīng)用。系統(tǒng)采用統(tǒng)一的消息傳輸通道,為參與調(diào)度應(yīng)急工作的國鐵集團各部門和各鐵路局各部門之間提供消息共享和傳遞[7]。系統(tǒng)主要有調(diào)度應(yīng)急輔助、應(yīng)急處置過程管理、應(yīng)急值守、應(yīng)急決策支撐、應(yīng)急演練、應(yīng)急基礎(chǔ)資料管理、應(yīng)急預案管理、應(yīng)急移動App、應(yīng)急智能通信、系統(tǒng)管理10 個模塊[7-8]。系統(tǒng)的應(yīng)用架構(gòu)如圖1 所表示。

圖1 系統(tǒng)應(yīng)用架構(gòu)
國密在調(diào)度應(yīng)急系統(tǒng)中的應(yīng)用主要從安全架構(gòu)、身份認證和安全傳輸3 方面進行研究。系統(tǒng)為用戶提供USB Key,通過認證機構(gòu)(CA,Certificate Authority)頒發(fā)用戶國密證書進行用戶簽名認證,建立互聯(lián)網(wǎng)協(xié)議安全(IPSec,Internet Protocol Security)通道,實現(xiàn)傳輸安全。
調(diào)度應(yīng)急系統(tǒng)基于國密的安全架構(gòu)包含物理安全、網(wǎng)絡(luò)安全、主機安全、應(yīng)用安全和數(shù)據(jù)安全等方面。系統(tǒng)安全架構(gòu)按照統(tǒng)一標準、頂層設(shè)計、分步實施的原則,其整體安全架構(gòu)設(shè)計如圖2 所示。

圖2 系統(tǒng)安全架構(gòu)
系統(tǒng)安全架構(gòu)分為密碼設(shè)備層、國密算法層、支撐系統(tǒng)層及密碼支撐安全服務(wù)層,以保障系統(tǒng)的網(wǎng)絡(luò)和信息安全。
(1)密碼設(shè)備層
該層提供服務(wù)器加密機、簽名驗證服務(wù)器、USB Key、時間戳服務(wù)器、IPSec 虛擬專用網(wǎng)(VPN,Virtual Private Network)安全網(wǎng)關(guān)、SSL VPN 安全網(wǎng)關(guān)等設(shè)備。通過服務(wù)器加密機,可以解決密鑰分配、密鑰管理、加密和解密計算等問題;時間戳服務(wù)器和簽名驗證服務(wù)器可以輔助實現(xiàn)系統(tǒng)的抗抵賴性,保證數(shù)據(jù)的真實性;通過USB Key 下載和安裝基于國密算法的用戶數(shù)字證書,完成重要用戶的身份認證;IPSec VPN 安全網(wǎng)關(guān)、SSL VPN 安全網(wǎng)關(guān)可進行通道隔離,保障傳輸通道的可靠性和數(shù)據(jù)完整性。
(2)國密算法層
利用國密算法去研發(fā)和改造既有應(yīng)用系統(tǒng)中的加密程序。同時,利用支撐國密算法的設(shè)備、服務(wù)器等,對各子系統(tǒng)提供統(tǒng)一的密碼服務(wù)。
(3)支撐系統(tǒng)層
研發(fā)基于國密算法的支撐系統(tǒng),包括身份認證、加密傳輸、加密存儲、密碼管理等。
(4)密碼支撐安全服務(wù)層
基于通信網(wǎng)絡(luò)安全提供身份鑒別、傳輸保護服務(wù);基于計算環(huán)境安全提供授權(quán)認證、存儲保護、訪問控制、可信時間服務(wù);基于網(wǎng)絡(luò)邊界安全提供安全設(shè)計、日志管理、軌跡跟蹤、信息過濾等密碼安全服務(wù)。
調(diào)度應(yīng)急系統(tǒng)身份認證過程為:客戶端將獲取到的用戶輸入賬號、密碼信息連同客戶端IP 一起發(fā)送給服務(wù)器,服務(wù)器從數(shù)據(jù)庫獲取對應(yīng)用戶信息進行校驗,若校驗通過,則登錄成功,否則登錄失敗。
系統(tǒng)采用非對稱加密算法和對稱加密算法結(jié)合的方式對用戶信息進行保護。客戶端使用服務(wù)器生成的公鑰對密碼進行加密,服務(wù)器則可以通過私鑰解密來獲取真實的用戶信息。為了避免用戶信息明文存儲,系統(tǒng)使用對稱算法對用戶數(shù)據(jù)進行加密存取。系統(tǒng)加解密過程為:
(1)客戶端請求獲取服務(wù)器的SM2 公鑰,使用公鑰對用戶輸入的密碼進行加密,并將賬號、密碼密文、IP 信息發(fā)送給服務(wù)器;
(2)服務(wù)器使用SM2 私鑰對密文進行解密,獲取賬號、明文密碼、IP 信息;
(3)服務(wù)器從數(shù)據(jù)庫中獲取用戶信息,使用本地存儲的SM4 密鑰對密碼進行解密,獲取明文密碼,執(zhí)行校驗。
身份認證過程中,調(diào)度應(yīng)急系統(tǒng)根據(jù)服務(wù)器生成SM2 密鑰的不同,產(chǎn)生不同的加密結(jié)果,還為核心崗位提供支持國密算法的用戶數(shù)字證書來解決用戶身份認證的問題。
3.3.1 安全傳輸通道設(shè)計

圖3 安全傳輸通道架構(gòu)
系統(tǒng)中的數(shù)據(jù)傳輸協(xié)議并不僅限于Http 協(xié)議,還包括基于TCP/IP 的Java 遠程調(diào)用協(xié)議和Java 消息服務(wù)。為了支持國密算法,系統(tǒng)采用IPSec 網(wǎng)絡(luò)傳輸協(xié)議來建立安全通道,安全通道架構(gòu)如圖3 所示。CA 系統(tǒng)為VPN 網(wǎng)關(guān)頒發(fā)國密證書,VPN 網(wǎng)關(guān)基于IPSec 協(xié)議建立安全通道。數(shù)據(jù)在安全通道中傳輸時,在IP 層進行加密,即便傳輸數(shù)據(jù)被截取,也無法對其進行解密解讀,從而保證傳輸過程中數(shù)據(jù)的安全性。選擇支持國密算法的IPSec VPN 網(wǎng)關(guān)[1]建立傳輸通道,實現(xiàn)服務(wù)器之間的安全傳輸。在客戶端安裝VPN 軟件,利用Open SSL 解決方案來實現(xiàn)客戶端與服務(wù)器之間的安全傳輸[9]。
3.3.2 數(shù)據(jù)傳輸安全設(shè)計
對調(diào)度應(yīng)急信息進行安全傳輸?shù)臄?shù)字簽名方案設(shè)計[10]如圖4 所示。

圖4 數(shù)字簽名方案流程
(1)調(diào)度臺終端與調(diào)度傳輸安全模塊建立握手消息;
(2)調(diào)度傳輸安全模塊向調(diào)度臺終端發(fā)送握手完成消息;
(3)調(diào)度臺終端向調(diào)度傳輸安全模塊發(fā)送基于SM2 算法加密的認證請求;
(4)調(diào)度傳輸安全模塊加密機作為代理驗證基于SM2 算法加密的認證信息;
(5)調(diào)度傳輸安全模塊加密機作為代理發(fā)送基于SM2 算法加密的認證請求;
(6)調(diào)度臺終端向調(diào)度傳輸安全模塊發(fā)送SM2算法加密的認證信息;
(7)調(diào)度臺終端向調(diào)度傳輸安全模塊發(fā)送基于SM1、SM3/SM4、SM3 算法加密的數(shù)據(jù)請求;
(8)調(diào)度傳輸安全模塊解密SM1、SM3/SM4、SM3 算法加密的數(shù)據(jù)請求;
(9)調(diào)度傳輸安全模塊與系統(tǒng)服務(wù)器采用Http明文轉(zhuǎn)發(fā);
(10)系統(tǒng)服務(wù)器與調(diào)度傳輸安全模塊采用Http明文回復;
(11)調(diào)度傳輸安全模塊基于SM1、SM3/SM4、SM3 算法加密數(shù)據(jù);
(12)調(diào)度傳輸安全模塊回復基于SM1、SM3/SM4、SM3 算法加密的數(shù)據(jù)。
3.3.3 安全傳輸過程
安全傳輸過程包含3 個階段:客戶端密鑰注冊、數(shù)據(jù)加密傳輸和客戶端密鑰注銷。
(1)客戶端密鑰注冊
客戶端生成SM4 密鑰對用戶輸入的密碼信息進行加密,請求服務(wù)器SM2 公鑰對客戶端SM4 密鑰進行加密,并將賬號、密碼密文、IP、SM4 密鑰密文發(fā)送給服務(wù)器。服務(wù)器接收數(shù)據(jù)后,使用SM2 私鑰對SM4 密鑰密文進行解密,獲取客戶端SM4 密鑰,對密碼密文進行解密并對用戶信息進行校驗。
(2)數(shù)據(jù)加密傳輸
客戶端使用SM4 密鑰對數(shù)據(jù)進行加密,將加密后的數(shù)據(jù)發(fā)送到服務(wù)器。服務(wù)器接收加密數(shù)據(jù)后,使用客戶端SM4 密鑰對數(shù)據(jù)進行解密,執(zhí)行業(yè)務(wù)處理,并用客戶端SM4 密鑰對處理結(jié)果進行加密處理后,發(fā)送給客戶端。客戶端接收響應(yīng)信息后,使用SM4密鑰對數(shù)據(jù)進行解密,讀取真實信息。
(3)客戶端密鑰注銷
客戶端發(fā)起注銷請求,服務(wù)器接收請求后,執(zhí)行注銷邏輯,同時移除對應(yīng)客戶端密鑰信息,并返回處理結(jié)果給客戶端,客戶端執(zhí)行注銷操作。
本文研究了國產(chǎn)密碼技術(shù)在鐵路調(diào)度應(yīng)急系統(tǒng)的安全架構(gòu)、身份認證和安全傳輸3 個方面的應(yīng)用。可為鐵路運輸生產(chǎn)系統(tǒng)利用國產(chǎn)密碼技術(shù)構(gòu)建安全架構(gòu)設(shè)計提供參考。國產(chǎn)密碼在鐵路信息化領(lǐng)域的運用才剛剛起步,對其軟硬件支撐產(chǎn)品的可靠性和穩(wěn)定性仍需進行大量的探索,還需制定相應(yīng)的升級改造規(guī)劃和分期改造過渡方案,做到自主、安全、可控的同時,穩(wěn)步有序推進[11]。