李一瑋
(鄭州市工程質(zhì)量監(jiān)督站,450018,鄭州 ∥ 高級(jí)工程師)
目前,地鐵ISCS(綜合監(jiān)控系統(tǒng))的通信數(shù)據(jù)流尚沒(méi)有額外的安全保護(hù)措施,故黑客通過(guò)數(shù)據(jù)掃描工具可以非常容易地監(jiān)測(cè)到網(wǎng)絡(luò)上ISCS的數(shù)據(jù)報(bào)文,不僅可以竊取數(shù)據(jù),也可以偽造TCP(傳輸控制協(xié)議)或UDP(用戶數(shù)據(jù)包協(xié)議)的數(shù)據(jù)包。一旦下發(fā)了經(jīng)過(guò)篡改或偽造的控制命令,對(duì)網(wǎng)絡(luò)上的設(shè)備發(fā)起攻擊,無(wú)疑會(huì)對(duì)系統(tǒng)的正常運(yùn)行造成損害。可見(jiàn),ISCS的網(wǎng)絡(luò)信息安全問(wèn)題存在重大隱患,亟需解決。本文提出ISCS通信加密方案,對(duì)ISCS的通信信息流進(jìn)行加密,提高ISCS的信息安全性。
ISCS由控制中心ISCS、車站級(jí)ISCS、車輛段ISCS、停車場(chǎng)ISCS、網(wǎng)絡(luò)管理系統(tǒng)、培訓(xùn)管理系統(tǒng)、維護(hù)管理系統(tǒng)等組成。在ISCS內(nèi)部存在多種通信鏈路。ISCS的系統(tǒng)數(shù)據(jù)、設(shè)備實(shí)時(shí)狀態(tài)、歷史歸檔信息、事項(xiàng)記錄、控制命令及結(jié)果反饋等信息數(shù)據(jù)具有不同的流向,形成眾多數(shù)據(jù)流。其中,控制數(shù)據(jù)流賦予了操作人員對(duì)監(jiān)控設(shè)備的控制功能。ISCS核心監(jiān)控功能處理的數(shù)據(jù)來(lái)源于各專業(yè)子系統(tǒng)??刂浦行膬?nèi)部、車站內(nèi)部,以及中心與車站之間的主要數(shù)據(jù)流如圖1所示。
圖1 ISCS的數(shù)據(jù)流示意圖
由圖1可見(jiàn),需加密的控制數(shù)據(jù)流對(duì)應(yīng)的通信鏈路主要有本地通信鏈路和網(wǎng)間通信鏈路。本地通信鏈路為:工作站→實(shí)時(shí)服務(wù)器→FEP。網(wǎng)間通信鏈路為控制中心控制車站設(shè)備時(shí)的跨局域網(wǎng)通信鏈路:控制中心工作站→控制中心實(shí)時(shí)服務(wù)器→車站FEP。
加密后控制命令采用密文形式傳輸,可減小信息在流通中失竊的機(jī)率,以保證網(wǎng)絡(luò)通信的安全。
不同的加密算法能解決的問(wèn)題不同,適用的應(yīng)用場(chǎng)景也不一樣。非對(duì)稱加密算法適用于少量數(shù)據(jù)的加密,其數(shù)據(jù)加密強(qiáng)度高,加密執(zhí)行速率低。對(duì)稱加密算法適用于大量數(shù)據(jù)的加密,其加解密速度快。ISCS數(shù)據(jù)量巨大,考慮其系統(tǒng)性能,應(yīng)使用對(duì)稱加密算法對(duì)控制類的通信數(shù)據(jù)進(jìn)行加密解密,并采用哈希算法來(lái)保證通信數(shù)據(jù)的完整性。
對(duì)稱加密算法的前提是通信雙方所使用的加密密鑰、解密密鑰須一致。這涉及了密鑰協(xié)商問(wèn)題。
密鑰協(xié)商有固定密鑰形式和動(dòng)態(tài)協(xié)商形式。
最初,ISCS通信加密采用固定密鑰形式。隨著密碼的廣泛應(yīng)用,固定密鑰的弊端逐漸暴露:固定密鑰存在泄露的風(fēng)險(xiǎn),無(wú)法更好地保障數(shù)據(jù)傳輸?shù)陌踩浴?/p>
后來(lái),ISCS通信加密采用了動(dòng)態(tài)協(xié)商形式。在通信前,通信的發(fā)起方先向?qū)Ψ皆儐?wèn)是否有有效密鑰,如有有效密鑰則通信繼續(xù),否則就進(jìn)行動(dòng)態(tài)協(xié)商,待協(xié)商出一個(gè)新密鑰后,雙方再繼續(xù)進(jìn)行數(shù)據(jù)通信。這進(jìn)一步提高了ISCS的安全性。
動(dòng)態(tài)密鑰協(xié)商的流程為:
1) 通信發(fā)送方調(diào)用SDK(軟件開(kāi)發(fā)工具包)軟件產(chǎn)生的隨機(jī)碼(MKey),使用SM 9(商用密碼算法9)標(biāo)識(shí)密碼算法,并采用接收方公鑰對(duì)MKey加密;之后,采用發(fā)送方的私鑰進(jìn)行簽名,并發(fā)送密鑰協(xié)商請(qǐng)求給接收方。
2) 接收方使用發(fā)送方公鑰進(jìn)行驗(yàn)簽。驗(yàn)簽通過(guò)后,接收方使用接收方私鑰進(jìn)行解密,并在解密成功后將驗(yàn)簽解密結(jié)果返回給發(fā)送方。發(fā)送方根據(jù)返回的驗(yàn)簽結(jié)果確定接收方身份。
3) 將MKey作為參數(shù),雙方調(diào)用密鑰派生函數(shù),返回?cái)?shù)據(jù)傳輸?shù)募用苊荑€SKey和認(rèn)證密鑰AKey。
在動(dòng)態(tài)密鑰協(xié)商過(guò)程中,加解密采用SM 9算法來(lái)確保數(shù)據(jù)安全,簽名驗(yàn)簽采用SM 9算法來(lái)實(shí)現(xiàn)數(shù)據(jù)身份認(rèn)證。SDK軟件由專業(yè)的商業(yè)密碼公司提供,須經(jīng)過(guò)國(guó)家密碼管理局認(rèn)證。
密鑰協(xié)商之后,通信雙方通過(guò)相同的密鑰素材派生出相同的加密密鑰SKey和AKey,分別用于SM 4算法的加密通信和SM 3算法的認(rèn)證簽名,以實(shí)現(xiàn)安全數(shù)據(jù)傳輸?shù)募咏饷芄ぷ鳌?/p>
從ISCS的網(wǎng)絡(luò)結(jié)構(gòu)及物理部署結(jié)構(gòu)上看,ISCS的網(wǎng)絡(luò)入侵點(diǎn)主要位于系統(tǒng)平臺(tái)的交互點(diǎn)上,具體為:控制中心監(jiān)控大廳的交換機(jī),控制中心的電力調(diào)度、總調(diào)度及環(huán)控調(diào)度等工作站,各站的車站控制室操作員工作站。
相應(yīng)的,需進(jìn)行加密的通信主要有:①車站工作站向車站服務(wù)器發(fā)送的控制命令;②車站服務(wù)器下發(fā)給車站FEP的控制命令;③控制中心工作站向控制中心服務(wù)器發(fā)送的控制命令;④控制中心服務(wù)器下發(fā)給中心FEP的控制命令;⑤控制中心服務(wù)器下發(fā)給車站FEP的控制命令。
ISCS通信加密解密的流程為:
1) 加密發(fā)送。通信發(fā)起方采用SM 3算法、使用認(rèn)證密鑰AKey對(duì)要傳輸?shù)臄?shù)據(jù)信息進(jìn)行哈希轉(zhuǎn)換,采用SM 4算法、使用密鑰SKey對(duì)傳輸?shù)臄?shù)據(jù)及哈希值進(jìn)行加密,并將密文信息發(fā)送給接收方。
2) 解密接收。接收方采用SM 4算法、使用密鑰SKey進(jìn)行解密,獲得原始數(shù)據(jù)和原始數(shù)據(jù)的哈希值,采用SM 3算法、使用認(rèn)證密鑰AKey對(duì)原始數(shù)據(jù)進(jìn)行哈希轉(zhuǎn)換,并將此哈希值和解密得到的哈希值比較,如果2個(gè)哈希值一致,則收到的數(shù)據(jù)是完整的。
綜上所述,在通信前,首先,應(yīng)采用SM 9算法進(jìn)行雙方身份的認(rèn)證,并動(dòng)態(tài)協(xié)商傳輸密鑰和認(rèn)證密鑰,以有效避免密鑰的泄露;然后,基于相同的傳輸密鑰和認(rèn)證密鑰,雙方采用SM 3算法和SM 4算法進(jìn)行控制命令信息的加密發(fā)送及解密接收,既能保證傳輸?shù)目刂泼钚畔⒌陌踩?,又能保證信息的完整性。
ISCS的1次完整的命令傳輸通常要經(jīng)過(guò)6次數(shù)據(jù)傳輸。當(dāng)ISCS增加國(guó)產(chǎn)加解密功能后,其命令傳輸時(shí)間不變,卻增加了數(shù)據(jù)加解密的時(shí)間,其1次完整的命令傳輸要經(jīng)過(guò)8次數(shù)據(jù)加解密(工作站2次,服務(wù)器4次,F(xiàn)EP 2次)。增加國(guó)產(chǎn)加解密功能后的ISCS數(shù)據(jù)傳輸如圖1所示。ISCS的命令數(shù)據(jù)包通常在1 kB以下。從對(duì)數(shù)據(jù)包的加解密測(cè)試情況來(lái)看,完成1次數(shù)據(jù)加密或解密的時(shí)間基本為0.05 ms,故8次數(shù)據(jù)加解密的總時(shí)間不足1.00 ms??梢?jiàn),增加國(guó)產(chǎn)加解密功能對(duì)命令傳輸時(shí)間的影響可以忽略。
ISCS的命令傳輸時(shí)間主要耗于網(wǎng)絡(luò)的傳輸交換和底層設(shè)備的反饋延時(shí)。故命令傳輸經(jīng)過(guò)的交換設(shè)備越多,命令傳輸時(shí)間就越多。
圖2 增加國(guó)產(chǎn)加解密功能后的ISCS數(shù)據(jù)傳輸
ISCS中的工作站和服務(wù)器是接入到1個(gè)交換設(shè)備上的。當(dāng)命令的發(fā)出方不同時(shí),F(xiàn)EP的邏輯接入也不同:①如車站工作站發(fā)出命令,則FEP的邏輯接入和工作站服務(wù)器處于同一個(gè)交換機(jī);②如控制中心工作站發(fā)出命令,則FEP的邏輯接入和控制中心工作站服務(wù)器處于不同的交換機(jī),命令需經(jīng)過(guò)環(huán)網(wǎng)中繼器傳輸。經(jīng)測(cè)試分析,車站工作站與控制中心工作站發(fā)出命令的傳輸時(shí)間如表1所示。
表1 傳輸時(shí)間表
采用通信加密方案的ISCS在先后通過(guò)實(shí)驗(yàn)室測(cè)試,以及河南863軟件評(píng)測(cè)中心的功能和性能測(cè)試后,在鄭州地鐵14號(hào)線的ISCS工程項(xiàng)目進(jìn)行了現(xiàn)場(chǎng)檢驗(yàn)?,F(xiàn)場(chǎng)檢驗(yàn)結(jié)果如表2 所示。
表2 采用通信加密方案的ISCS性能現(xiàn)場(chǎng)檢驗(yàn)結(jié)果
由表2可知,增加了國(guó)產(chǎn)加密功能的ISCS性能指標(biāo)仍然符合GB/T 50636—2018《城市軌道交通綜合監(jiān)控系統(tǒng)工程技術(shù)標(biāo)準(zhǔn)》要求。
隨著ISCS和計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展,ISCS的網(wǎng)絡(luò)信息安全防護(hù)措施也應(yīng)不斷完善和健全。ISCS的通信加密應(yīng)用方案通過(guò)了現(xiàn)場(chǎng)檢驗(yàn)?,F(xiàn)場(chǎng)檢驗(yàn)結(jié)果表明,該方案強(qiáng)化了網(wǎng)絡(luò)的安全管理,完善了信息安全防范體系,實(shí)現(xiàn)了信息安全傳遞,提升了ISCS的安全性。