張成陽,王金成,黃翌虹,方志剛,唐丕強,卓 鵬
隨著計算機技術(shù)的發(fā)展,互聯(lián)網(wǎng)攻擊和病毒類型越來越多,針對工業(yè)控制系統(tǒng)的信息篡改和數(shù)據(jù)盜取情況層出不窮,中國列車運行控制系統(tǒng)在保護行車數(shù)據(jù)信息安全性和機密性方面也面臨著新的挑戰(zhàn)。
目前,高速鐵路列控系統(tǒng)等級主要有基于軌道電路的CTCS-2級和基于GSM-R無線通信的CTCS-3級。CTCS-2/3 級列控系統(tǒng)定義了2 種安全通信協(xié)議:RSSP-Ⅰ/Ⅱ(Railway Signal Saftety Protocol-Ⅰ/Ⅱ)。RSSP-Ⅰ協(xié)議規(guī)定了封閉式傳輸系統(tǒng)環(huán)境下鐵路信號設備之間進行安全信息交互的基本要求,主要應用于列控中心外部通信接口及計算機聯(lián)鎖外部通信接口;RSSP-Ⅱ協(xié)議規(guī)定了開放式傳輸系統(tǒng)環(huán)境下鐵路信號設備之間進行安全信息交互的基本要求,主要應用于無線閉塞中心及臨時限速服務器外部通信接口。
RSSP-Ⅰ協(xié)議報文設置“安全校驗域”,安全校驗域內(nèi)序列號用以防止重復、刪除、插入等威脅。由于RSSP-Ⅰ協(xié)議在封閉環(huán)境中使用,因此連接的雙方默認是可信的,通過來源識別碼(source identi?fier,SID)信息驗證發(fā)送方與接收方的合法性,但未采用加密技術(shù),所以無法有效防止發(fā)送和接收端標識信息被偽造。RSSP-Ⅱ[1?3]協(xié)議報文中設置消息鑒定安全層(Message Authentication Safety Lay?er,MASL),其主要功能是通過通信報文消息鑒別碼(Message Authentication Code,MAC),實現(xiàn)對通信報文數(shù)據(jù)源鑒別及完整性保護,防范可能的偽造和篡改,MAC 加密解密算法使用改進的三重DES(Triple Data Encryption Standard,3DES)算法;設置安全中間子層(Safe Application Inter?mediate sub_layer,SAI)為通信數(shù)據(jù)增加序列號、執(zhí)行周期計數(shù)器或三重時間戳校驗標識符,防范對通信數(shù)據(jù)包的重復、亂序、刪除、插入和延遲等威脅。
然而RSSP-Ⅰ/Ⅱ協(xié)議應用層數(shù)據(jù)是以明文形式傳輸,數(shù)據(jù)容易被竊聽;且RSSP-Ⅱ中雖然使用3DES 算法得出消息數(shù)據(jù)的MAC,但是DES 或3DES 算法存在短密鑰的缺陷,導致其容易被破解。為此開展基于國家商用密碼算法(簡稱“國密算法”)實現(xiàn)列控系統(tǒng)數(shù)據(jù)傳輸加密技術(shù)研究,采用自主可控的國密算法對RSSP-Ⅰ和RSSP-Ⅱ協(xié)議數(shù)據(jù)進行加密[4],不但可以改善依賴國際通用密碼算法體系及相關標準的狀態(tài),而且可以實現(xiàn)信息安全設備自主可控,進而降低信號系統(tǒng)算法和平臺開發(fā)、維護等方面的成本。
國密算法是指由中國國家密碼管理局發(fā)布的加密算法標準,也被稱為國內(nèi)商用密碼算法((Na?tional Commercial Cryptographic Algorithm, NC?CA),主要有SM1、SM2、SM3、SM4 等不同類型。其中SM3 提供數(shù)據(jù)完整性算法,SM1、SM2和SM4 提供數(shù)據(jù)保密性算法。SM1 算法是分組對稱密碼算法,算法不公開,僅以IP 核的形式存在于芯片中,調(diào)用算法需要通過加密芯片的接口進行;SM2 算法是公鑰密碼算法,用于實現(xiàn)數(shù)字簽名密鑰協(xié)商和數(shù)據(jù)加密等功能;SM3 算法是密碼雜湊算法,適用于商用密碼應用中的數(shù)字簽名和驗證;SM4[5]算法是分組對稱密碼算法,用于實現(xiàn)數(shù)據(jù)的加密/解密運算,以保證數(shù)據(jù)和信息的機密性。
列控系統(tǒng)RSSP-Ⅰ協(xié)議未采用3DES 算法,RSSP-Ⅱ協(xié)議采用3DES算法對MAC加密。3DES算法和SM4 算法都能實現(xiàn)通過加密保護傳輸信道傳輸數(shù)據(jù),但SM4 算法增加了非線性變換結(jié)構(gòu),提高了算法的安全性。綜上所述,SM4 算法不但可用于實現(xiàn)類似3DES 算法對MAC 的加密運算,而且可以實現(xiàn)列控系統(tǒng)數(shù)據(jù)的傳輸加密/解密運算。故本方案重點研究SM4 算法,以保證列控系統(tǒng)通信數(shù)據(jù)和信息的機密性。
SM4 密碼算法分組長度為128 bit,密鑰長度為128 bit。加密算法與密鑰擴展算法均采用非線性迭代結(jié)構(gòu),運算輪數(shù)均為32輪。
SM4 加密算法由32 次迭代運算和1 次反序變換R組成。設為比特長度為32 的二進制序列集合;明文輸入為(X0,X1,X2,X3)密文輸出為(Y0,Y1,Y2,Y3)輪密鑰為···,31,則
式中,F(xiàn)為輪函數(shù)。
產(chǎn)教融合的實質(zhì)是將學生的在校學習與將來工作有機聯(lián)合,體現(xiàn)著終身教育的特征。而終身教育是貫穿人的一生的教育,因此,產(chǎn)教融合也應該體現(xiàn)在基礎教育和高等教育中。在《國務院辦公廳關于深化產(chǎn)教融合的若干意見》中就提到要將工匠精神培育融入基礎教育,組織開展“大國工匠進校園”活動[4]。在高等教育領域,引導學術(shù)人才和應用人才分類培養(yǎng),并探索在研究生教育層次開展產(chǎn)教融合的探索。
數(shù)據(jù)解密和數(shù)據(jù)加密的算法結(jié)構(gòu)相同,只是輪密鑰的使用順序相反,解密輪密鑰是加密輪密鑰的逆序。
加密過程使用的輪密鑰由加密密鑰生成,加密密鑰MK=(MK0,MK1,MK2,MK3)∈(Z322)4,加密過程中的輪密鑰生成過程為
式中:T’為將合成置換T的線性變換L替換為L’;B=(b0,b1,b2,b3,)∈(Z82)4;FK 為系統(tǒng)參數(shù)(取值固定);CK 為固定參數(shù)(取值固定);⊕為32位異或;<<<i為32位循環(huán)左移i位。
根據(jù)列控系統(tǒng)通信現(xiàn)狀及RSSP 協(xié)議潛在的威脅,對列控系統(tǒng)設備特點及應用場景的安全性進行分析,在設計加密方案時需要進行如下考慮。
1) 兼顧加密強度與效率。由于簡單的加密機制(相同報文加密后產(chǎn)生相同的密文)會被破解,所以加密技術(shù)應注重加密強度即安全性,實現(xiàn)相同的明文生成不同密文。同時需兼顧加密效率,由于列控系統(tǒng)采用的安全平臺運算能力有限,因此選擇的加密算法復雜度應適中。
2) 保證密鑰唯一并動態(tài)更新。為降低會話密鑰被竊取的風險,加密技術(shù)中會話密鑰應動態(tài)更新。為保證不同通信接口采用不同的會話密鑰,應保證密鑰的唯一性,同時驗證密鑰的正確性和有效性。
3) 適配網(wǎng)絡結(jié)構(gòu)與應用協(xié)議。為提高加密技術(shù)的通用性,加密技術(shù)應適配封閉式和開放式網(wǎng)絡結(jié)構(gòu)中應用的安全通信協(xié)議。
4) 便于開發(fā)移植與應用維護。為降低研發(fā)成本,加密技術(shù)應具有可移植性和可維護性。為方便實施,減小對鐵路列車運營的影響,在既有車站改造升級加密技術(shù)時不應改變既有的系統(tǒng)硬件結(jié)構(gòu)。
常見的加密方式分為硬件加密和軟件加密。
硬件加密是指采用專用的硬件芯片來實現(xiàn)加密解密功能。該加密方式安全性高,因為密鑰等關鍵信息存儲在專用芯片內(nèi)部,不易被攻擊者竊取。同時,硬件加密的速度很快,不會對系統(tǒng)性能造成較大影響。但是,硬件加密需要額外的硬件支持,成本較高,并且升級維護比較復雜。
軟件加密是指借助計算機軟件實現(xiàn)加密。相對于硬件加密而言,軟件加密成本更低,維護升級也更便捷。但密鑰等關鍵信息通常存儲在計算機系統(tǒng)中,所以,軟件加密對系統(tǒng)的安全性能也有影響。
考慮到列控系統(tǒng)不但要保證新建工程項目硬件加密一次性上線實施,同時也要兼容既有工程項目軟件加密升級改造分階段實施的需求,因此提出了使用軟件加密結(jié)合硬件加密的方法,實現(xiàn)列控系統(tǒng)核心網(wǎng)絡的數(shù)據(jù)加密。軟件加密使用SM4 三重加密算法對應用數(shù)據(jù)進行加密,硬件加密采用外置密碼機對數(shù)據(jù)幀加密,兩種方式可分別實施,也可疊加實施,加密技術(shù)方案見圖1。
圖1 加密技術(shù)方案
硬件加密通過在信號安全數(shù)據(jù)網(wǎng)子網(wǎng)內(nèi)或子網(wǎng)間串接密碼機實現(xiàn),見圖2。圖2中,車站1-1與車站1-2屬于子網(wǎng)1,車站2-1屬于子網(wǎng)2。車站1-2列控中心與車站2-1 列控中心間設置密碼機實現(xiàn)跨子網(wǎng)傳輸加密;車站1-1、車站1-2 列控中心與聯(lián)鎖系統(tǒng)間設置密碼機實現(xiàn)子網(wǎng)內(nèi)傳輸加密。
圖2 硬件加密結(jié)構(gòu)
密碼機提供通信處理、密碼服務、業(yè)務處理及安全管理功能,其硬件核心是一塊控制板,內(nèi)插入MINI PCI-E 密碼卡??刂瓢逯邪幚砥鳌?nèi)存、存儲部件、以太網(wǎng)接口、人機交互接口等部件。密碼機在部署前需通過管理中心進行注冊,完成初始化配置后上線運行,進行各種功能自檢。自檢完成后,密碼機通過網(wǎng)絡通信模塊的自學習功能,連接管理中心,安全獲取加密策略、明文/密文策略和工作密鑰。密碼機正常開展網(wǎng)絡報文加/解密封裝處理,根據(jù)明文/密文策略來判斷當前經(jīng)過密碼機的報文是否需要加/解密,若需要,則根據(jù)加密策略取出對應的密鑰進行加/解密。
密碼機與傳統(tǒng)的加密協(xié)議封裝格式不同。傳統(tǒng)加密方式采用互聯(lián)網(wǎng)安全協(xié)議實現(xiàn)遠程接入虛擬專用網(wǎng)絡,采用封裝安全載荷隧道模式或傳輸模式隱藏內(nèi)網(wǎng)中被保護的IP 段。密碼機在安裝過程中無需額外配置固定IP,數(shù)據(jù)包經(jīng)過密碼機時利用國密算法進行包頭封裝加密,再經(jīng)過對側(cè)密碼機解密成明文,路由可達即可通信。根據(jù)《密碼模塊安全技術(shù)要求》(GM/T 0028—2014)[6],密碼機使用SM4 算法對數(shù)據(jù)載荷進行加密,使用SM3 算法對數(shù)據(jù)進行簽名驗簽,使用SM2 算法對身份認證進行非對稱運算[7?8]。因此使用密碼機后,信號系統(tǒng)業(yè)務主機雙方對加密過程透明無感,業(yè)務主機雙方接收和發(fā)送的數(shù)據(jù)均可為明文。
軟件加密不改變網(wǎng)絡結(jié)構(gòu)及傳輸協(xié)議,可對既有傳輸系統(tǒng)中的應用數(shù)據(jù)進行加密。
1)設備間通信總體結(jié)構(gòu)。在通信功能模塊和安全功能模塊基礎上新增加密/解密模塊,完成數(shù)據(jù)加/解密過程,并實現(xiàn)安全功能模塊與通信功能模塊間加/解密數(shù)據(jù)交互,見圖3。
圖3 設備間通信總體結(jié)構(gòu)
2)安全通信協(xié)議加密前后示意。軟件加密不改變數(shù)據(jù)報文格式,將RSSP-Ⅰ、RSSP-Ⅱ結(jié)構(gòu)的應用報文明文加密成密文[9?11],見圖4。
圖4 軟件加密結(jié)構(gòu)
3)軟件加密、解密流程??紤]到列控系統(tǒng)廠家產(chǎn)品間加密算法差異、密鑰獨立及接口設備使用不同的密鑰通信的需求,同時兼顧加密的效率和安全性,軟件加密方案設計提供以下配置策略:①配置一重SM4 加密或三重SM4 加密;②配置獨立的接收和發(fā)送密鑰;③配置不同的通信ID。
由于接口通信協(xié)議封裝在安全平臺中不易被修改,因此將多種加密策略封裝成庫,接口廠家調(diào)用庫函數(shù),通信雙方約定通過配置的方式選取加密策略。在實際應用中,可根據(jù)需要組合選取不同的加密策略。
首先初始化會話密鑰并獲取加密數(shù)據(jù),檢查數(shù)據(jù)合法性后根據(jù)加密配置選擇加密策略。加密配置為一重加密策略時,輸入數(shù)據(jù)使用SM4算法加密,輸出密文。
加密配置為三重加密策略時:首先,使用數(shù)據(jù)映射轉(zhuǎn)換裝置離散輸入數(shù)據(jù),實現(xiàn)第一次加密;其次,將離散的數(shù)據(jù)再次使用SM4 算法加密,實現(xiàn)第二次加密,提高數(shù)據(jù)加密強度;最后,在發(fā)送數(shù)據(jù)前再次使用數(shù)據(jù)映射轉(zhuǎn)換裝置進行數(shù)據(jù)離散,完成第三次加密。加密流程見圖5,加密流程數(shù)據(jù)見表1。解密過程是加密的逆向流程。
表1 加密流程數(shù)據(jù)
圖5 加密流程
4)會話密鑰更新策略。會話密鑰(session key)也稱為數(shù)據(jù)加密密鑰或者工作密鑰,是兩系統(tǒng)間通過安全通信會話而隨機產(chǎn)生的加密和解密密鑰,驗證信號設備間通過安全連接傳輸數(shù)據(jù)的正確性。該密鑰在安全連接期間生成并僅在此期間有效。
在系統(tǒng)應用過程中,會話密鑰會初始化為固定的數(shù)值,兩系統(tǒng)進行數(shù)據(jù)交互時,通過內(nèi)部協(xié)商的非公開協(xié)議,傳輸變化的序列,發(fā)送方根據(jù)非公開協(xié)議格式組成序列幀,并傳輸給對應接口的傳輸系統(tǒng),接收方收到后根據(jù)非公開協(xié)議更新會話密鑰,用于數(shù)據(jù)加密和解密。
軟件加密過程中,會話密鑰的更新時機是信號系統(tǒng)間進行信息(如聯(lián)鎖與列控中心)交互時,通過傳輸變化的序列更新對應的會話密鑰序列。正常通信過程中不會傳遞會話密鑰,這樣處理的優(yōu)點為:①由于交互數(shù)據(jù)中沒有會話密鑰,即使被竊取方抓取到數(shù)據(jù),也很難將數(shù)據(jù)破譯;②即便竊取了兩系統(tǒng)初始化時的會話密鑰,由于變化的序列數(shù)據(jù)持續(xù)更新導致對應的會話密鑰變化,故竊取者得到的初始化的會話密鑰無效。
1)數(shù)據(jù)加密測試。硬件加密模式可選擇明通模式或加密模式,數(shù)據(jù)解析見表2。
表2 硬件加密數(shù)據(jù)解析
2)吞吐量和時延測試。搭建測試環(huán)境,在列控系統(tǒng)子網(wǎng)內(nèi)、子網(wǎng)間接入硬件加密設備,見圖6。因既有工程項目存在子網(wǎng)間無防火墻的現(xiàn)狀,測試按照先施加防火墻后接入加密機順序,觀察對網(wǎng)絡吞吐量及時延的影響,見表3。
表3 吞吐量測試結(jié)果
圖6 硬件加密測試環(huán)境
由表3 可知,環(huán)網(wǎng)邊界在增加防火墻前后吞吐量沒有明顯變化,時延符合大數(shù)據(jù)包延遲更長的規(guī)律;環(huán)網(wǎng)邊界在增加防火墻且疊加密碼機后吞吐量有所下降,但不會對信號系統(tǒng)與交換機間鏈路產(chǎn)生影響;時延最大增長1.3 ms(幀長1 518 字節(jié)),符合密碼機時延的性能指標要求,對于運行周期為250~500 ms的列控系統(tǒng)無影響。
3)功能測試。在列控系統(tǒng)子網(wǎng)間與子網(wǎng)內(nèi)增加加密硬件,利用列控中心與聯(lián)鎖、臨時限速服務器與相鄰臨時限速服務器進行部分真機環(huán)境驗證,結(jié)果表明系統(tǒng)間通信正常,系統(tǒng)區(qū)間改變運行方向、臨時限速命令下達等功能抽測正常。
1)數(shù)據(jù)加密測試。發(fā)送方完成數(shù)據(jù)加密,接收方進行數(shù)據(jù)解密,實現(xiàn)傳輸加/解密過程。發(fā)送方采用RSSP-Ⅰ安全通信協(xié)議發(fā)送的通信數(shù)據(jù)解析見表4,采用RSSP-Ⅱ安全通信協(xié)議發(fā)送的通信數(shù)據(jù)解析見表5。
表4 RSSP-I數(shù)據(jù)解析
表5 RSSP-II數(shù)據(jù)解析
2)加密耗時統(tǒng)計??紤]到列控中心外部接口對應的通信數(shù)據(jù)量不同,測試時選擇與通信數(shù)據(jù)量接近的加密數(shù)據(jù)長度80~464 字節(jié)數(shù)進行測試,統(tǒng)計次數(shù)為1 000 次,具體加密耗時統(tǒng)計見表6。實施加密算法測試時具體配置策略為三重SM4算法,接收和發(fā)送密鑰獨立,會話密鑰通信ID 為0x0001(取值范圍1~16)。
表6 加密耗時統(tǒng)計
根據(jù)以上數(shù)據(jù)統(tǒng)計分析,以每16 字節(jié)為一組進行傳輸加密,每組平均耗時為350 μs左右。當加密數(shù)據(jù)組數(shù)為29 組(列控中心與計算機聯(lián)鎖交互數(shù)據(jù)長度)時,包含4 個通信對象,加密耗時為10 ms。加密算法耗時在系統(tǒng)允許范圍內(nèi)。
本文提出了一種基于國密算法實現(xiàn)列車控制系統(tǒng)核心網(wǎng)絡加密技術(shù)的實施方案。采用SM4 算法實現(xiàn)列控系統(tǒng)數(shù)據(jù)加/解密,并在仿真環(huán)境及部分真機環(huán)境中進行了驗證。試驗結(jié)果表明:在加密效率方面,硬件加密時延較小,軟件加密平臺耗時較??;密鑰更新方面,密碼機通過智能化軟件實現(xiàn)密鑰、通信策略更新和時間同步,軟件加密根據(jù)變化的序列更新對應的會話密鑰,保證會話密鑰動態(tài)變化;應用協(xié)議方面,密碼機實現(xiàn)了將明文數(shù)據(jù)轉(zhuǎn)換為密文數(shù)據(jù),軟件加密驗證了RSSP-Ⅰ與RSSP-Ⅱ2 種加密協(xié)議,均對列控系統(tǒng)功能無影響;工程應用方面[12],選擇采用硬件、軟件疊加加密的部署策略或單獨實施硬件、軟件加密的部署策略,可根據(jù)實際工程項目平衡系統(tǒng)運算耗時及硬件加密配置復雜度。
試驗驗證了SM4 算法實現(xiàn)密文傳輸方案在現(xiàn)有車站可行有效,能夠在不影響列控系統(tǒng)業(yè)務處理能力的前提下,滿足傳輸效率要求,并提高傳輸機密性,為列控系統(tǒng)穩(wěn)定可靠運行、提高運輸效率提供了有力支撐。