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