柴 涌,汪小勇,李春梅
(卡斯柯信號(hào)有限公司,上海 200071)
城市軌道交通信號(hào)系統(tǒng)一般由列車自動(dòng)控制系統(tǒng)、計(jì)算機(jī)聯(lián)鎖控制系統(tǒng)、列車自動(dòng)監(jiān)控系統(tǒng)、通信傳輸系統(tǒng)以及外圍通用信號(hào)設(shè)備組成,它是城市軌道交通系統(tǒng)中保證行車安全,縮短列車運(yùn)行間隔,提高列車運(yùn)行質(zhì)量的先進(jìn)控制設(shè)備。其中,列車監(jiān)控系統(tǒng)與列車控制系統(tǒng)之間通過基于自由無線(FREE-Wi-Fi)或長期演進(jìn)(Long Term Evolution,LTE)的車地?zé)o線系統(tǒng)進(jìn)行通信,交互列車狀態(tài)請(qǐng)求與報(bào)告信息,其傳輸介質(zhì)為開放的物理空間,存在包括竊聽、假冒、篡改、越權(quán)以及否認(rèn)等危險(xiǎn)在內(nèi)的信息安全威脅。雖然目前車地?zé)o線通信的網(wǎng)絡(luò)層采用了一些通用加密技術(shù),但應(yīng)用層上尚無密碼技術(shù)應(yīng)用,且一般采用歐美制定的加密算法,無法滿足國家對(duì)關(guān)鍵系統(tǒng)、設(shè)備的安全、自主、可控需求,因此進(jìn)行車地?zé)o線通信的信號(hào)系統(tǒng)也應(yīng)該使用密碼算法和協(xié)議,解決上述安全問題。
本方案提供了一種在列車監(jiān)控系統(tǒng)中應(yīng)用國產(chǎn)加密技術(shù)的方法,使用國密橢圓曲線公鑰(SM2)算法建立通信關(guān)聯(lián)關(guān)系和通信授權(quán),并采用動(dòng)態(tài)密鑰進(jìn)行管理;使用國密分組標(biāo)準(zhǔn)對(duì)稱(SM1)算法對(duì)車地?zé)o線通信的數(shù)據(jù)進(jìn)行加解密;并使用國密雜湊(SM3)算法對(duì)車地?zé)o線通信數(shù)據(jù)進(jìn)行完整性校驗(yàn),使車地?zé)o線通信數(shù)據(jù)得到可鑒別性保護(hù)、不可否認(rèn)性保護(hù)、機(jī)密性保護(hù)和完整性保護(hù),提升了車地?zé)o線通信的信息安全水平。
本方案系統(tǒng)結(jié)構(gòu)如圖1 所示,信號(hào)系統(tǒng)應(yīng)用層設(shè)備由列車監(jiān)控系統(tǒng)(ATS),列車控制系統(tǒng)(ATC)組成,為圖1 中黃色部分,在應(yīng)用層設(shè)備上增加國產(chǎn)密碼加密卡。通信層設(shè)備由通信傳輸系統(tǒng)(DCS)組成,為圖1 中綠色部分。本方案在信號(hào)系統(tǒng)既有架構(gòu)的基礎(chǔ)上,增加公鑰基礎(chǔ)設(shè)施(Public Key Infrastructure,PKI)/認(rèn)證權(quán)威機(jī)構(gòu)(Certification Authority,CA)服務(wù)器,為圖1中紅色部分。
圖1 系統(tǒng)結(jié)構(gòu)Fig.1 System structure
PKI/CA 服務(wù)器:數(shù)字證書和身份認(rèn)證的基礎(chǔ)設(shè)施,理論上可以分為CA、注冊權(quán)威機(jī)構(gòu)(Registration Authority,RA)、數(shù)據(jù)庫、終端實(shí)體等幾個(gè)部分,支持證書格式為X.509V3,主要提供設(shè)備信息注冊、證書簽發(fā)、證書更新、證書廢除,證書吊銷列表(Certificate Revocation List,CRL)及CA 證書保存、下載等功能。
應(yīng)用設(shè)備:即接入系統(tǒng),本方案中為圖1 中黃色設(shè)備,安裝國產(chǎn)密碼加密卡,支持SM1、SM2、SM3 等商用密碼算法,可以實(shí)現(xiàn)通信雙方身份的互相認(rèn)證,動(dòng)態(tài)協(xié)商會(huì)話密鑰,實(shí)時(shí)建立安全通信鏈路,保證信息傳輸?shù)目设b別性、不可抵賴性、機(jī)密性和完整性。
本方案首先在ATS 負(fù)責(zé)對(duì)外通信的設(shè)備上安裝具有國產(chǎn)密碼算法的加密卡,該加密卡接口為PCI-E 接口,包含支持SM1,SM2 和SM3 等國產(chǎn)密碼算法的芯片,當(dāng)位于通信兩端的設(shè)備都具備國產(chǎn)密碼技術(shù)時(shí),即可通過啟用國產(chǎn)密碼功能,實(shí)現(xiàn)端到端的應(yīng)用層數(shù)據(jù)加密。ATS 安裝國產(chǎn)密碼加密卡后,系統(tǒng)工作流程主要分為使用SM2 算法進(jìn)行身份驗(yàn)證與會(huì)話密鑰協(xié)商以及使用SM1 算法進(jìn)行應(yīng)用層數(shù)據(jù)加解密兩大部分,SM3 算法進(jìn)行完整性檢驗(yàn)則貫穿兩個(gè)部分,在所有的通信過程中實(shí)現(xiàn)。
1) 身份驗(yàn)證功能:功能示意如圖2 所示。
a.線下準(zhǔn)備:國產(chǎn)密碼加密卡在安裝到ATS相應(yīng)設(shè)備前,在線下由PKI/CA 系統(tǒng)服務(wù)器生成并灌裝私有身份證書及CA 服務(wù)器的公有身份證書,并由CA 服務(wù)器將其身份維護(hù)在數(shù)據(jù)庫中。完成灌裝后,即可安裝到ATS 負(fù)責(zé)與ATC 通信的網(wǎng)關(guān)服務(wù)器中。
b.線上更新:ATS 應(yīng)用軟件啟動(dòng)時(shí),主動(dòng)調(diào)用國產(chǎn)密碼加密卡,向CA 服務(wù)器請(qǐng)求更新身份證書吊銷列表,并在啟動(dòng)后的運(yùn)行時(shí)間內(nèi)周期向CA 服務(wù)器請(qǐng)求更新。
圖2 身份驗(yàn)證功能示意圖Fig.2 Schematic diagram of authentication function
CA 服務(wù)器應(yīng)即時(shí)更新數(shù)據(jù)庫中的身份證書吊銷列表,以保持其準(zhǔn)確性。CA 服務(wù)器收到ATS 應(yīng)用軟件請(qǐng)求后,將數(shù)據(jù)庫中的身份證書吊銷列表發(fā)送給應(yīng)用軟件。
若ATS 應(yīng)用軟件成功收到CA 服務(wù)器回復(fù)的身份證書吊銷列表,則將此身份證書吊銷列表更新到國產(chǎn)密碼加密卡中保存;若ATS 應(yīng)用軟件未能收到CA 服務(wù)器回復(fù)的身份證書吊銷列表,則將繼續(xù)使用之前保存在國產(chǎn)密碼加密卡中身份證書吊銷列表,視其為最新。
c.線上校驗(yàn):ATS 應(yīng)用軟件在與ATS 建立通信前,都需要確認(rèn)通信對(duì)端的設(shè)備身份證書仍然有效,才能繼續(xù)進(jìn)行密鑰協(xié)商功能以及之后的加解密功能。否則將阻止通信連接,后續(xù)功能將均不可用。具體確認(rèn)過程集成在密鑰協(xié)商功能的步驟中,詳見密鑰協(xié)商功能第b.c.步驟。以上步驟流程如圖3 所示。
2) 會(huì)話密鑰協(xié)商功能:會(huì)話密鑰協(xié)商階段,列車監(jiān)控系統(tǒng)應(yīng)用軟件總是作為服務(wù)端,列車控制系統(tǒng)總是作為客戶端進(jìn)行會(huì)話密鑰協(xié)商。其功能示意如圖4 所示。
a.設(shè)備上電啟動(dòng),應(yīng)用軟件初始化,服務(wù)端和客戶端各自創(chuàng)建會(huì)話接口。初始化后,客戶端向服務(wù)端發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求,請(qǐng)求消息中包含客戶端的身份證書。
圖3 列車監(jiān)控系統(tǒng)身份驗(yàn)證功能流程圖Fig.3 Flow diagram of authentication function of train monitoring system
圖4 會(huì)話密鑰協(xié)商功能示意圖Fig.4 Schematic diagram of conversation key negotiation function
b.服務(wù)端收到客戶端請(qǐng)求,則開始驗(yàn)證客戶端證書(CRL、有效期、簽發(fā)者關(guān)系、以及簽名數(shù)據(jù)),若驗(yàn)證通過則使用客戶端證書,服務(wù)端證書及服務(wù)端本地生成的隨機(jī)數(shù),根據(jù)SM2 算法生成會(huì)話密鑰,響應(yīng)會(huì)話密鑰協(xié)商請(qǐng)求,向客戶端發(fā)送會(huì)話密鑰協(xié)商回復(fù),回復(fù)消息中包含了服務(wù)端的身份證書;若客戶端證書驗(yàn)證未通過,則不再響應(yīng)該請(qǐng)求。
c.如果客戶端收到服務(wù)端回復(fù),則開始驗(yàn)證服務(wù)端證書(CRL、有效期、簽發(fā)者關(guān)系、以及簽名數(shù)據(jù)),若驗(yàn)證通過則使用客戶端的證書,服務(wù)器證書及客戶端本地生成的隨機(jī)數(shù),根據(jù)SM2 算法生成會(huì)話密鑰,響應(yīng)會(huì)話密鑰協(xié)商回復(fù),向服務(wù)端發(fā)送會(huì)話密鑰協(xié)商確認(rèn),確認(rèn)消息中包含客戶端產(chǎn)生的會(huì)話密鑰;若服務(wù)端證書驗(yàn)證未通過,則客戶端重復(fù)a.步驟,重新發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求。
如果客戶端在發(fā)出請(qǐng)求后的一定時(shí)間內(nèi),未收到服務(wù)端回復(fù),則客戶端重復(fù)a.步驟,重新發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求。
d.服務(wù)端收到客戶端確認(rèn),則對(duì)會(huì)話密鑰協(xié)商確認(rèn)進(jìn)行確認(rèn),確認(rèn)服務(wù)端與客戶端產(chǎn)生的會(huì)話密鑰一致。若一致,則響應(yīng)會(huì)話密鑰協(xié)商確認(rèn),向客戶端發(fā)送會(huì)話密鑰協(xié)商成功,成功消息中包含服務(wù)端產(chǎn)生的會(huì)話密鑰;若不一致,則不再響應(yīng)該請(qǐng)求。
e.如果客戶端收到服務(wù)端成功,則對(duì)會(huì)話密鑰協(xié)商成功進(jìn)行確認(rèn),確認(rèn)服務(wù)端與客戶端產(chǎn)生的會(huì)話密鑰一致。若一致,則默認(rèn)確認(rèn)會(huì)話密鑰協(xié)商成功,會(huì)話密鑰協(xié)商過程完成結(jié)束;若不一致,則客戶端重復(fù)a.步驟,重新發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求。
如果客戶端在發(fā)出確認(rèn)后的一定時(shí)間內(nèi),未收到服務(wù)端成功,則客戶端重復(fù)a.步驟,重新發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求。以上步驟流程如圖5 所示。
3) 應(yīng)用層通信數(shù)據(jù)加解密功能:功能示意如圖6所示。
客戶端/服務(wù)端將應(yīng)用數(shù)據(jù)通過國產(chǎn)密碼加密卡進(jìn)行SM1 加密,完成后將加密數(shù)據(jù)發(fā)送至服務(wù)端/客戶端。
客戶端/服務(wù)端收到加密數(shù)據(jù)后,先通過國產(chǎn)密碼加密卡進(jìn)行SM1 解密,完成后再進(jìn)行應(yīng)用數(shù)據(jù)處理。
本文描述的ATS 應(yīng)用設(shè)備,在設(shè)備上電啟動(dòng)后,首先與CA 服務(wù)器請(qǐng)求更新身份證書吊銷列表,并在啟動(dòng)后的運(yùn)行時(shí)間內(nèi)周期向CA 服務(wù)器請(qǐng)求更新。然后,ATS 作為服務(wù)器端,等待作為客戶端的ATC 發(fā)起會(huì)話密鑰協(xié)商請(qǐng)求,收到ATC 的會(huì)話密鑰協(xié)商請(qǐng)求后,ATS 響應(yīng)會(huì)話密鑰協(xié)商回復(fù),收到ATC 的會(huì)話密鑰協(xié)商確認(rèn)后,ATS 響應(yīng)會(huì)話密鑰協(xié)商成功,由此經(jīng)過車地兩端設(shè)備的兩次握手,動(dòng)態(tài)生成唯一的會(huì)話密鑰。最后,ATS 與ATC 在車地通信過程中對(duì)收發(fā)數(shù)據(jù)進(jìn)行加解密并完成相應(yīng)業(yè)務(wù)處理。
圖5 列車監(jiān)控系統(tǒng)會(huì)話密鑰協(xié)商功能流程圖Fig.5 Flow diagram of conversation key negotiation function of train monitoring system
圖6 應(yīng)用數(shù)據(jù)加解密功能示意圖Fig.6 Schematic diagram of encryption and decryption function of application data
本文提出了一種在ATS 中應(yīng)用國產(chǎn)加密技術(shù)的方法,加密算法使用國產(chǎn)密碼SM1/SM2/SM3 算法,加密設(shè)備使用國產(chǎn)密碼加密卡,使得車地?zé)o線通信數(shù)據(jù)得到可鑒別性保護(hù)、不可否認(rèn)性保護(hù)、機(jī)密性保護(hù)和完整性保護(hù),提升了車地?zé)o線通信的信息安全水平。實(shí)際應(yīng)用結(jié)果表明,與現(xiàn)有技術(shù)相比本方法具有以下優(yōu)點(diǎn)。
1) 加密算法使用國產(chǎn)密碼SM1/SM2/SM3 算法,加密設(shè)備使用國產(chǎn)密碼加密卡,符合國家在重點(diǎn)行業(yè)中推廣國產(chǎn)密碼應(yīng)用的趨勢,有利于自主可控。
2) 在ATS 的應(yīng)用層設(shè)備上使用數(shù)據(jù)加密技術(shù),極大的提升了車地?zé)o線通信的信息安全防護(hù)能力。
3) 通信鏈路采用動(dòng)態(tài)密鑰協(xié)商機(jī)制,相較于固定密碼實(shí)時(shí)性更強(qiáng),安全性更高。
4) 通信過程同時(shí)集成身份鑒權(quán)機(jī)制,增加對(duì)設(shè)備和權(quán)限的驗(yàn)證。
5) 保持信號(hào)系統(tǒng)既有架構(gòu)、功能、安全等級(jí)不受影響。