尚文利,邢祥宇,劉賢達,尹 隆,高恩陽
(1.中國科學院沈陽自動化研究所 網絡化控制系統重點實驗室,遼寧 沈陽 110016;2.沈陽建筑大學信息與控制工程學院,遼寧 沈陽 110168;3.中國科學院機器人與智能制造創新研究院,遼寧 沈陽 110016;4.中國科學院大學,北京 100049)
“全艦計算環境”(Total Ship Computing Environment,TSCE)是一個分布于全艦范圍的開放式系統環境,其可兼容戰術用途和非戰術用途,開放式系統使系統的重用不再困難,互操作性更高[1]。我軍第3 代信息系統發展缺少開放體系結構設計理念,采用的集成方式為自頂向下,計算設備具有“專機專用”的特點,靈活性和可擴展性較TSCE 明顯不足[2]。
全艦計算環境為我軍建立集中式信息系統集成模式提供了很好的參考,但是同時全艦計算環境也面臨著諸多的挑戰[3-4]。全艦計算環境自提出之日起,其理論與實踐就備受關注,國內學者也針對TSCE 進行了詳盡的分析。董曉明[5-6]從體系結構和系統集成框架的角度對TSCE 進行了分析;金剛[4]從安全體系結構角度進行了研究;鄭志蓉[3]從TSCE 安全服務架構角度進行了分析;裴曉黎[2]著重分析了TSCE 對我軍信息系統集成的影響。
全艦計算環境下的安全環境構建,保證全艦計算環境下的操作是安全的,但是全艦計算的可信賴性未知,這是一個關鍵的問題。目前的全艦計算環境的相關技術并沒有回答這一問題。
為了全面提高操作的可信賴性,提出“可信全艦計算環境”的概念。“可信全艦計算環境”就是在傳統“全艦計算環境”的基礎上,考慮可信計算[7-9]的相關手段,提高全艦計算環境的安全程度,從而構建一個可信的艦船計算環境。
出于安全考慮,全艦計算環境的數據流考慮從2個方面建立:
1)從實時性角度考慮,根據實時性需求的不同,將實時應用與非實時應用進行區分,從邏輯上建立2條總線,通過面向服務架構提供不同協議之間的轉換,實現在全艦計算環境中的數據交換。
現場總線作為一種能夠減少可編程邏輯控制器(PLC)負載并減少響應時間的通信技術得到廣泛使用。全艦計算環境的控制系統需要高實時性,實現高實時性的一個關鍵就是使用商用成品的現場總線技術作為實時數據總線[9]。企業服務總線(ESB)是大型分布式系統連通性最重要的架構模式。ESB 在節點交互中是一種邏輯中介一樣的存在,主要的功能有協議轉換、 提供消息路由、 解析和處理數據和數據轉換[6]。
2)考慮數據流功能,可以將系統看做控制網絡和管理網絡,控制網絡和管理網絡之間采用分布方式適配處理器(DAP)實現協議的轉換。
在控制網絡層,以智能化儀表和智能性傳感器為主,一般采用現場總線接口,能夠方便實現設備控制信號輸出和數據采集需求。通常控制網絡與管理網絡采用不同的協議、引入數據交換過程。數據交換通常采用中間層技術、動態數據交換或加入轉換接口等[6]。
全艦計算環境基礎設施分為顯示層、核心層和適配層3 個層面。各種多功能的前端設備通過適配層連接到全艦計算環境的核心,適配層支持多種標準接口的物理和協議轉換,并且具備較強的接口擴展能力。
適配處理識別是TSCE 基礎設施的重要組成部分,提供必要的數據轉換和處理功能。DAP 的設計遵循開放式體系結構,采用統一的技術標準規范,目前的主流方案是采用現成的商用處理器,應用系統上采用實時操作系統,具有數據協議轉換處理能力、標準的物理接口和其他輔助功能,為集成作戰系統和各分系統提供了統一的技術途徑,具有開放、通用和標準的特點[6]。
全艦計算環境的設計遵循4 個設計理念:架構開放、需求主導、應用透明和統籌管理。這4 種設計理念必須從頂層設計開始,為了實現更高程度的系統集成,全艦計算環境從功能集成、數據集成和物理集成方面進行了頂層設計[10-11]。
功能集成是指運用分析手段構建和組織功能系統的過程。這些手段主要包括系統需求分析、組織和運用模式分析、業務流程的確定,信息處理需求的明確。功能集成面向主要用戶的使用,其次是應用的執行,由3 個層次構成,分別是構件、服務和任務,如圖1 所示。

圖1 全艦計算環境功能集成框架Fig.1 TSCE function integration framework
構件、服務和任務構成了一個遞進關系,構件作為服務的基礎,服務作為任務的基礎,互相依賴,但是耦合程度較未采用功能集成的應用系統明顯降低。
數據集成主要解決數據的分布性和異構性問題,這些數據具有不同的來源和不同的數據格式,需要進行統一管理,支持應用與服務、應用與數據庫之間的數據統一訪問和描述,建立高效的數據共享機制,支持應用和服務在安全權限內快速高效的訪問數據。考慮應用的實時性需求,從邏輯上建立2條數據總線,一是實時數據總線,二是企業服務總線,如圖2 所示。

圖2 全艦計算環境數據集成Fig.2 TSCE data integration
從長遠發展趨勢來看,實時應用和非實時應用,控制網絡和管理網絡采用統一協議是不現實的,更加實際的是采用多種符合標準的數據協議。因此,橋接機制的使用成為必然,但由此帶來的數據驗證、數據處理開銷、數據傳輸開銷、吞吐量與延遲等問題必須考慮[12-13]。
通過對全艦計算環境的技術架構、數據需求、設備需求、系統集成等角度的分析,本文認為全艦計算環境作為一種最先進的艦船設計理念,仍然存在一些不足,這些問題主要是:
1)數據轉換過程中缺少對數據完整性、安全性和可靠性的校驗。關鍵服務數據的完整、安全性和可靠性無法得到保障。
關鍵服務數據的可靠性決定了關鍵服務的功能是否能夠順利完成,關乎著關鍵服務的計算結果是否可信。增加安全手段雖然能夠保證數據的完整性、安全性和可靠性,在構建時需要考慮延遲問題。
不同的數據分發技術采用的數據驗證手段也存在著一定的差別,這些數據驗證手段之間的互信程度如何值得探討。數據中心如何處理不同分發技術獲取的數據,全艦計算環境并沒有給出安全可靠的解決方案。
2)設備的抗偽造能力不足,無法判斷新增或更換硬件的安全性和可靠性。適配處理設備接口的安全性沒有得到保護。
3 個層次對應大量硬件設備,為了實現關鍵部件的自主可更換性,對設備的身份認證需要進行大量的設計,但是全艦計算環境并沒有考慮這方面的設計,設備的抗偽造能力不足,無法判斷新增或更換的硬件的安全性和可靠性。同時采用網關型適配器通常會預留一部分接口,這些接口的安全性并沒有得到保護,這都是在未來的改進中需要解決的問題。
3)缺少底層構件的程序級訪問控制手段,導致一旦某個構件受到修改,將會威脅上層服務的可用性。
目前的結構存在著明顯的缺點:底層構件的重用程度高,一旦某一構件受到攻擊,會造成大面積的影響。而全艦計算環境對底層構件的程序級訪問控制并沒有進行設計,導致一旦某個構件受到修改,其上層服務的安全性會受到嚴重影響。在完整性方面沒有完善的手段保障構件的完整性需求,由完整性帶來的影響會反映在程序的可用性上。艦船作為一個作戰單位其可靠性十分關鍵,而全艦計算環境本身并沒有涉及可靠性的提升手段。對底層構件的保護能夠有效地控制攻擊程序對系統重要文件的修改,保護文件的安全,提高系統的安全性。
這些問題正是可信計算要研究的主要問題。可信計算作為一種新型的安全手段,在數據的完整性、安全性和可靠性方面較傳統安全手段有著巨大的優勢。
為了彌補全艦計算環境的不足,提高全艦計算環境的安全性,提出可信全艦計算環境的概念,可信全艦計算環境是指采用可信計算的手段,提高全艦計算環境的可信性,構建安全可信的全艦計算環境。
TCG 用實體行為的預期性來定義“可信”:如果一個實體的行為是以預期的方式符合預期的目標,則該實體可信[14]。張煥國[15]認為可信計算系統是能夠提供系統的可靠性、可用性、安全性的計算機系統,通俗地稱為:可信≈可靠+安全。
構建可信全艦計算環境從可靠和安全2 個角度出發,因此,本文提出采用可信計算對全艦計算環境進行安全增強主要的手段有以下3 種:
1)針對數據轉換過程中缺少對數據完整性、安全性和可靠性的校驗問題,一方面,通過完整性度量確保數據采集設備和數據轉換服務的可信性,保證數據獲取設備的可信,并保證轉換服務可信,在一定程度上就可以保障數據的可靠性;另一方面,建立經驗數據庫,通過與經驗數據庫的比對,判斷數據是否符合預期要求。
2)針對設備的抗偽造能力不足,無法判斷新增或更換的硬件的安全性和可靠性問題,采用基于設備特征的完整性校驗方法,對全艦計算環境中設備進行安全增強。可信計算的完整性校驗方法通常都存在著一個弊端,就是面對設備增加需求時,修改校驗過程繁瑣。而基于設備不變屬性的完整性校驗方法能夠一定程度上緩解這一問題。
3)針對全艦計算環境缺少底層構件的程序級訪問控制問題,采用可信計算組織(TCG)可信軟件棧構建新的領域應用設計架構,增加用戶服務可信引擎,和擴展支持模塊,對底層構件的訪問進行控制。
采用2 種策略對數據進行安全加固,如圖3 所示。

圖3 關鍵服務數據校驗方法Fig.3 Key service data verification method
1)確保數據采集設備和DAP 的完整性。通過保證數據采集設備,數據傳輸和數據轉換各環節的硬件和軟件完整性,確保數據采集的可信性[16]。
2)設置經驗數據庫。收集既往數據采集設備數據,建立經驗數據庫,通過經驗數據庫建立異常檢測模型。異常檢測的內容可以包括數據范圍檢測、趨勢偏離等。異常檢測還可以用來發現數據缺失,保證數據的完整性,一旦發現異常值,應自動進入異常處理機制,確定錯誤源頭。
設備不變屬性的完整性校驗方法,通過基于設備不變屬性的完整性校驗方法加強設備的抗偽造能力,在節點中添加的設備都將受到嚴格的完整性校驗,出現設備文件修改、不可信設備時不能通過完整性校驗,系統將不允許現場設備的使用,從而保護的全艦計算環境的設備安全。
基于設備不變屬性的完整性校驗方法的實質是尋找一種能夠表征設備完整性狀態的不變屬性[17]。固有屬性是設備的本身身份標識,是設備最基本的完整性表征;賦予屬性是為防止固有屬性被拷貝,給予設備節點秘鑰等不變屬性,是設備完整性增強的表征;派生屬性是采用屬性融合算法對固有屬性與賦予屬性進行融合壓縮,是設備完整性具有實用性、可操作性的屬性表征,如圖4 所示。

圖4 完整性表征圖Fig.4 Integrity representation
固有屬性是設備本身身份標識,其屬性值在設備工作期間保持不變,偽造和替換都會使屬性發生變化。賦予屬性是為了防止固有屬性被克隆,給予設備節點秘鑰等不變屬性,節點秘鑰由TPM 進行控制,采用TPM 控制秘鑰具有更加安全的特點,受TPM 控制的秘鑰泄露可能性極低,從而保證節點秘鑰的安全[18]。對于不同的設備固有屬性、賦予屬性和屬性融合算法,將產生不同的派生屬性,在TPM 的使用中,常采用SHA-1 算法進行屬性融合。
可信軟件棧(TSS)能夠實現2 個方面的設計,首先能夠控制底層構件的完整性,其次通過領域應用設計框架,能夠進行構件訪問的控制。TSS 是一種為上層的可信計算應用提供訪問TPM 接口的軟件系統,起到了連接硬件與應用的重要作用[19]。TSS 起到了連接應用程序和TPM 的功能,應用程序訪問TPM 的操作經由TSS 轉發,再由TSS 直接管理TPM。
在整個可信計算平臺體系中,可信軟件棧(TSS)是必不可少的系統組件[20]。TSCE 的軟件可以分為領域應用和基礎設施,基礎設計采用商用現成產品,目前主流軟件產品均已經支持TCG 的TSS,而領域應用通常專門為艦船定制,這些產品具有一定的特殊性。為此,提出如圖5 所示的基于TSS 的領域應用設計架構,從底層進行TSS 的設計,從而保證底層構件的訪問受到控制。
系統底層主要由TPM 硬件構成,負責提供基本的TPM 組件服務。TSS 是TPM 的的支撐軟件,TSS 通常采用通用版本,但是同樣支持根據特殊情況進行重新編寫,提供基于TPM 的應用開發平臺[21]。

圖5 基于TSS 的領域應用設計架構Fig.5 TSS-based domain application design architecture
擴展支持模塊實現對底層功能的封裝,避免更高層的軟件直接調用底層核心代碼,降低代碼的耦合性。同時,對擴展支持模塊的代碼進行更加細致的審核,使代碼的可用性更高。擴展支持模塊是用戶軟件與TPM 之間的中轉站。
用戶服務可信引擎起到訪問控制的目的。用戶服務引擎利用TPM 中的秘鑰生成、加/解密算法等部件實現判斷可訪問性,如果出現未被許可服務,用戶服務可信引擎可以對服務提出拒絕。
全艦計算環境作為一種先進的艦船設計理念,對海軍建設有著積極的意義。本文通過分析現有全艦計算環境的安全威脅,全面地認識全艦計算環境的安全風險,針對這些缺點,提出了基于可信計算方法的改進方法,為進一步建設現代化艦船系統提供新思路。