1 背景
鐵路應(yīng)用程序產(chǎn)品通常具有很長(zhǎng)的使用壽命,而其所用半導(dǎo)體硬件的生命周期卻相對(duì)較短。這種差異對(duì)于制造商和運(yùn)營(yíng)商而言是一個(gè)挑戰(zhàn):一方面,客戶要求半導(dǎo)體產(chǎn)品制造商具有長(zhǎng)期的后續(xù)交付能力;另一方面,摩爾定律預(yù)測(cè)半導(dǎo)體性能每2年提高1倍,這導(dǎo)致舊硬件和新硬件在功能和處理速度方面的差距會(huì)日益增大,使既有硬件存在過(guò)時(shí)的問(wèn)題。此外,半導(dǎo)體價(jià)格還會(huì)持續(xù)下降。
隨著鐵路領(lǐng)域數(shù)字化的發(fā)展,對(duì)于軟件的要求不斷提高,使用新型硬件的需求也日益增長(zhǎng)。因此,產(chǎn)生了以下問(wèn)題:
(1)運(yùn)營(yíng)商和制造商如何解決上述矛盾,并從未來(lái)半導(dǎo)體組件的快速發(fā)展中獲得更多收益;
(2)如何在不斷變化的應(yīng)用環(huán)境中長(zhǎng)期安全地運(yùn)行現(xiàn)有應(yīng)用程序軟件;
(3)如何使軟件改寫(xiě)和開(kāi)發(fā)的成本最小化和易管理。
而在云計(jì)算平臺(tái)(以下簡(jiǎn)稱“云平臺(tái)”)中,之前為特定硬件編制的軟件無(wú)需更改即可在商用現(xiàn)貨(COTS)硬件上運(yùn)行,這有助于解決上述問(wèn)題,并且能夠充分利用新硬件的價(jià)格優(yōu)勢(shì),是創(chuàng)新性的解決方案。
2 云平臺(tái)概述
近年來(lái),云平臺(tái)已在信息技術(shù)(IT)中逐步發(fā)展起來(lái)。德國(guó)聯(lián)邦信息安全局(BSI)給云計(jì)算的定義是,根據(jù)需求通過(guò)網(wǎng)絡(luò)提供、使用和計(jì)費(fèi)的IT服務(wù),此類服務(wù)的提供和使用僅通過(guò)規(guī)定的技術(shù)接口和協(xié)議實(shí)現(xiàn)。其服務(wù)范圍涵蓋整個(gè)IT領(lǐng)域,包括基礎(chǔ)架構(gòu)(如計(jì)算能力、存儲(chǔ)空間)、平臺(tái)和軟件。云計(jì)算服務(wù)可提高分布式軟件的運(yùn)行效率、可用性和可擴(kuò)展性。其基礎(chǔ)是將功能強(qiáng)大的硬件完全虛擬化,以降低硬件資源的成本,通過(guò)應(yīng)用程序的冗余運(yùn)行實(shí)現(xiàn)其高可用性,并實(shí)現(xiàn)在不中斷應(yīng)用程序運(yùn)行的前提下隨時(shí)更換硬件的目標(biāo),使程序的維護(hù)和修改得以簡(jiǎn)化。目前,此類服務(wù)相關(guān)的主要研究方向是其可用性,即可靠性、可維護(hù)性及信息安全性之間的相互關(guān)系和作用。
圖1展示了典型的云計(jì)算基礎(chǔ)架構(gòu)。其中,淺灰色部分是COTS硬件和軟件,黑色部分是適用于特定應(yīng)用程序的軟件,紅色部分是云平臺(tái)基礎(chǔ)設(shè)施,具體包括以下模塊。
(1)前端。前端是用戶控制云平臺(tái)的管理界面,用戶可通過(guò)該界面啟動(dòng)和停止應(yīng)用程序,更改資源配置,如主內(nèi)存、中央處理器(CPU)內(nèi)核數(shù)等。
(2)云控制器。該功能實(shí)現(xiàn)了從平臺(tái)到云的轉(zhuǎn)變。云控制器的功能是控制和協(xié)調(diào)云計(jì)算,負(fù)責(zé)控制虛擬機(jī)(VM)在現(xiàn)有物理主機(jī)上的部署。此服務(wù)可以實(shí)現(xiàn)許多功能,例如,將1個(gè)應(yīng)用程序(APP)冗余地部署到2 個(gè)VM上。
(3)數(shù)據(jù)存儲(chǔ)器。數(shù)據(jù)存儲(chǔ)器用于保存VM的鏡像備份,以及提供網(wǎng)絡(luò)存儲(chǔ)服務(wù)。
(4)網(wǎng)絡(luò)服務(wù)。網(wǎng)絡(luò)服務(wù)可確保每個(gè)VM僅根據(jù)其配置進(jìn)行通信,并在必要時(shí)獲取自己的IP地址。為此,需要通過(guò)虛擬局域網(wǎng)(VLAN)或軟件定義網(wǎng)絡(luò)(SDN)創(chuàng)建虛擬網(wǎng)絡(luò),該網(wǎng)絡(luò)僅允許在規(guī)定的VM之間進(jìn)行消息路由。除此之外,動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)和域名系統(tǒng)(DNS)也是示例性的網(wǎng)絡(luò)服務(wù)。DHCP無(wú)須手動(dòng)配置網(wǎng)絡(luò)接口便可將客戶端連接到現(xiàn)有網(wǎng)絡(luò)中,如果相應(yīng)客戶端的操作系統(tǒng)支持,則可自動(dòng)分配諸如IP地址、網(wǎng)絡(luò)掩碼、網(wǎng)關(guān)、域名等必要信息。由于IP地址可以在網(wǎng)絡(luò)中動(dòng)態(tài)更改,因此用于解析域名的DNS也是最重要的服務(wù)之一。
(5)表決器(voter)。表決器是一個(gè)與平臺(tái)相關(guān)的服務(wù),可通過(guò)網(wǎng)絡(luò)服務(wù)進(jìn)行配置。表決器的功能是驗(yàn)證所有消息的準(zhǔn)確性及其執(zhí)行情況是否正常,從這一點(diǎn)上看,它也是一種網(wǎng)絡(luò)服務(wù),可保障云平臺(tái)的安全性。
(6)VM。VM通常由應(yīng)用程序和運(yùn)行該應(yīng)用程序的操作系統(tǒng)組成。
(7)管理程序。管理程序是構(gòu)建VM的關(guān)鍵,它將硬件劃分為多個(gè)虛擬組件。為提高軟件的執(zhí)行速度,機(jī)器指令通常設(shè)置為本地執(zhí)行;但與程序代碼的本地執(zhí)行不同,此處可使用仿真器,在軟件中模擬真實(shí)CPU的指令集。這意味著,為特定硬件編制的軟件無(wú)須更改便可在其他硬件上運(yùn)行,這對(duì)于解決硬件過(guò)時(shí)的問(wèn)題非常有利。
(8)主機(jī)操作系統(tǒng)(Host OS)。Host OS是主機(jī)上的操作系統(tǒng),在圖1中是COTS組件。
云平臺(tái)服務(wù)分為公有云和私有云2類。其中,公有云服務(wù)一般由供應(yīng)商提供,供公眾或大型集團(tuán)/團(tuán)體(如整個(gè)工業(yè)部門(mén))使用;而私有云中的云基礎(chǔ)設(shè)施則僅供某個(gè)機(jī)構(gòu)單獨(dú)使用,可由該機(jī)構(gòu)或第三方組織和管理,建立在自有或第三方計(jì)算中心基礎(chǔ)上。由于鐵路是重要的基礎(chǔ)設(shè)施,必須確保第三方未經(jīng)授權(quán)不能對(duì)其進(jìn)行訪問(wèn),因此鐵路行業(yè)在這一點(diǎn)上達(dá)成了共識(shí),即鐵路應(yīng)用程序應(yīng)在私有云中運(yùn)行。
3 鐵路應(yīng)用云平臺(tái)的優(yōu)勢(shì)
鐵路應(yīng)用云平臺(tái)的使用對(duì)運(yùn)營(yíng)商具有以下優(yōu)勢(shì):
(1) 軟件的運(yùn)行與硬件(仿真器)的開(kāi)發(fā)分離,可解決現(xiàn)有硬件過(guò)時(shí)的問(wèn)題;
(2) COTS硬件平臺(tái)的購(gòu)置成本較低,可通過(guò)使用標(biāo)準(zhǔn)IT設(shè)備實(shí)現(xiàn)規(guī)模經(jīng)濟(jì)效益;
(3) 可將仿真器遷移到任意服務(wù)器基礎(chǔ)設(shè)施上,因此云平臺(tái)的可維護(hù)性顯著提高,維護(hù)活動(dòng)也集中在少數(shù)中央服務(wù)器基礎(chǔ)設(shè)施上;
(4) 冗余服務(wù)器可以自動(dòng)轉(zhuǎn)移故障,從而使系統(tǒng)具有更高的可用性,如可以在自然災(zāi)害后快速恢復(fù);而且當(dāng)一個(gè)物理硬件發(fā)生故障時(shí),另一個(gè)物理硬件可立刻接管相應(yīng)功能。
4 鐵路應(yīng)用云平臺(tái)的安全防護(hù)措施
4.1 設(shè)置冗余VM
為保障鐵路應(yīng)用程序安全地運(yùn)行,可以在云平臺(tái)中通過(guò)使用一個(gè)或多個(gè)(通常是相同的)冗余VM維持系統(tǒng)的容錯(cuò)能力,其具體功能如下。
(1)避免物理硬件發(fā)生故障,如硬盤(pán)、內(nèi)存(RAM)、CPU,以及計(jì)算機(jī)的電源系統(tǒng)。常用解決方案是,通過(guò)云控制器將冗余VM設(shè)置在不同的物理硬件上,必要時(shí),也可將其分配到多個(gè)計(jì)算中心(跨地域復(fù)制)中。通過(guò)對(duì)各個(gè)物理硬件進(jìn)行冗余的不間斷供電,解決電源引起的故障。
(2)避免在COTS硬件和軟件中出現(xiàn)系統(tǒng)性錯(cuò)誤,如CPU命令、操作系統(tǒng)、管理程序或仿真器錯(cuò)誤。為能夠在COTS軟件(主機(jī)操作系統(tǒng))中檢測(cè)系統(tǒng)錯(cuò)誤,可以在應(yīng)用程序中設(shè)置具有所需安全完整性等級(jí)的監(jiān)控措施,如通過(guò)接口監(jiān)視COTS軟件(即系統(tǒng)調(diào)用);為避免COTS硬件出現(xiàn)系統(tǒng)錯(cuò)誤,可以通過(guò)多種方式重新設(shè)計(jì)COTS硬件,如使用Intel公司或AMD公司生產(chǎn)的不同處理器。
(3)利用VM在云平臺(tái)中的異步性識(shí)別系統(tǒng)錯(cuò)誤。由于各個(gè)VM并非同步執(zhí)行,因此短期的影響(如電壓波動(dòng))不會(huì)對(duì)應(yīng)用程序、管理程序和操作系統(tǒng)處于同一狀態(tài)的所有主機(jī)產(chǎn)生干擾。這導(dǎo)致各VM對(duì)系統(tǒng)錯(cuò)誤的反應(yīng)不同,系統(tǒng)錯(cuò)誤也因此可以被識(shí)別。
4.2 系統(tǒng)錯(cuò)誤檢測(cè)
對(duì)危險(xiǎn)系統(tǒng)錯(cuò)誤的檢測(cè)可以通過(guò)特定的監(jiān)視程序(監(jiān)視器)實(shí)現(xiàn)。該監(jiān)視器在冗余VM中運(yùn)行,而VM必須定期向監(jiān)視器報(bào)告,如果監(jiān)視器未收到報(bào)告,則說(shuō)明系統(tǒng)出現(xiàn)錯(cuò)誤。設(shè)置監(jiān)示器時(shí),必須確保其與被監(jiān)視的應(yīng)用程序不在同一物理硬件上。然而,云平臺(tái)面臨的挑戰(zhàn)是存在一個(gè)異步網(wǎng)絡(luò),因此無(wú)法保證報(bào)告消息能夠在規(guī)定的時(shí)間范圍內(nèi)到達(dá),這使系統(tǒng)組件間的時(shí)間同步變得困難。此時(shí),可利用其他方式解決這一問(wèn)題,如消息ID所包含的邏輯時(shí)間或COTS CPU的時(shí)鐘生成器,但這2種方式并不十分精確。絕大多數(shù)情況下,消息傳輸時(shí)間都較為穩(wěn)定且足夠短,因此有充足的時(shí)間用于處理超時(shí);但是在極少數(shù)情況下,可能會(huì)出現(xiàn)誤報(bào),即系統(tǒng)無(wú)故障卻檢測(cè)到超時(shí)。
4.3 表決器的安全通信連接
一個(gè)程序要生效和執(zhí)行,必須經(jīng)過(guò)大多數(shù)VM的許可,這一點(diǎn)通過(guò)表決器實(shí)現(xiàn)。在云平臺(tái)上,由于虛擬機(jī)是通過(guò)虛擬網(wǎng)絡(luò)與表決器連接的,因此需要采取其他措施確保各組件之間的通信安全,具體如下。
(1)防篡改。通常使用檢錯(cuò)碼(如奇偶校驗(yàn)位、CRC32、MDS、SHA256)或糾錯(cuò)碼(漢明碼、里德-所羅門(mén)碼、BCH碼、卷積碼)檢測(cè)數(shù)據(jù)存儲(chǔ)器或消息中數(shù)據(jù)的損壞。
(2)防插入、重新排序、重復(fù)和遺漏。通常通過(guò)增加消息計(jì)數(shù)器實(shí)現(xiàn)。
(3)防延遲。如果消息的發(fā)送時(shí)間過(guò)長(zhǎng),則可以為其設(shè)置時(shí)間戳,使其在一定時(shí)限內(nèi)有效。對(duì)此的基本要求是系統(tǒng)時(shí)間同步功能正常。
(4)防人為操控。為防止人為攻擊,通常使用加密密鑰或一次性密碼簿(OTP),這些技術(shù)可防篡改,微小的改動(dòng)就會(huì)產(chǎn)生極易識(shí)別、令人難以置信的數(shù)據(jù)。對(duì)于中間人攻擊(即攻擊者攔截消息,并將其任意篡改,再轉(zhuǎn)發(fā)出去),可以使用加密簽名的方法解決。每個(gè)發(fā)件人擁有一個(gè)只有自己知道的私鑰,可以用它簽署自己發(fā)出的消息。而所有接收者都有來(lái)自發(fā)送者的對(duì)應(yīng)公鑰(預(yù)先使用Diffie-Hellman密鑰交換算法等進(jìn)行交換),以此可驗(yàn)證發(fā)送者是否正確。
5 結(jié)語(yǔ)與展望
鐵路應(yīng)用程序是保障鐵路安全、順暢運(yùn)營(yíng)的重要一環(huán),傳統(tǒng)的解決方案存在硬件資源利用率低、管理及維護(hù)成本高等問(wèn)題,而云平臺(tái)解決方案則為其發(fā)展提供了一個(gè)新的方向。對(duì)于云平臺(tái)面臨的安全方面的考驗(yàn),可通過(guò)采取各種安全防護(hù)措施得以解決。相信在未來(lái),鐵路應(yīng)用云平臺(tái)必將得到完善和廣泛應(yīng)用。
參考文獻(xiàn)
[1]Arthur Martens, Bj?rn Cassens, Lars Schnieder. L?sung von Obsoleszenzproblemen durch verl?ssliche Cloud-Plattformen[J]. Signal+Draht,112(6):38-44.
收稿日期 2020-08-25
責(zé)任編輯 蘇靖棋