◆李 劍
?
安全計算機技術研究和應用
◆李 劍
(云南交通職業技術學院交通信息工程學院 云南 650505)
隨著計算機技術的發展和網絡攻擊風險的加劇,安全計算機技術越來越被重視,安全計算機技術能夠在系統發生故障和入侵的狀態下,將系統的輸出在故障狀態下導向安全側,因此在航空航天、軍工技術、軌道交通、尖端科學等領域有著廣泛的應用。安全計算機的獨特之處在于從設計階段就將故障考慮在內,將故障當作必然事件貫穿于系統始終。本文基于這一原則,對安全計算機技術的原理和應用進行了研究。
安全;計算機;技術;應用
21世紀是計算機的時代,隨著無人駕駛技術、智能機器人和智慧地球的發展,計算機越來越在人類生活中起到決定性的作用。未來不僅在高科技尖端領域承擔重要責任,而且住宅、行車等生活領域也會有著廣泛應用。在人類越來越依賴計算機的時代,其系統的安全可靠性關系到人們生命財產,也決定了未來計算機和智能產業能否獲得廣泛的市場。在任何領域,安全系統的核心都是安全計算機,要確保在故障發生時,系統的輸出必須處于安全狀態。早在上個世紀60年代,NASA就從硬件上設計故障-安全元器件,但是當時計算機發展條件有限,人們還沒有意識到軟件是決定系統故障的根本因素。
2010年華爾街股市曾因為電子控制系統故障發生創造歷史的閃電崩盤,道指瞬間急挫千點,專家普遍認為這是由計算機交易的系統性缺陷造成的,因為電腦程序帶來的止損行為而導致蝴蝶式非理性下跌。這就是電子系統接管交易的噩夢,也給人類敲響了警鐘,在大型商用、民用領域計算機系統一旦發生故障,其災難性后果不堪設想。針對于此各行各業都出臺了安全標準,歐洲鐵路行業制定了標準EN50126,規定負責軌道交通安全的安全計算機安全等級必須達到SIL4,國際電工委員會也提出了標準IEC61508,在行業內德國西門子技術處于領先地位,引領行業內公司開發自己的安全計算機結構的聯鎖系統。
第一種是結構雙機熱備,輸入單元A和B同時工作,各自有數據處理單元,輸出單元和回檢單元,獨立工作,以切換單元聯接。同步執行相同任務,主系對外輸出,備系會被切斷,當主系發生故障時,切換到備系,當雙系統都出現故障時,切斷所有輸出。雙機熱備也存在隱患,因為其技術關鍵在于自檢系統,一旦系統出現問題就會造成危險側輸出,針對這種情況,可以用互檢系統來提升安全概率。第二種是三取二結構,用三模冗余的容錯計算機提高安全性能,和雙機結構的不同在于采用三個相通的工作單元A、B、C,表決單元采取三取二機制,該系統在兩個單元及以上發生故障時,無法檢測。第三種是二乘二取二結構,A、B工作系各有兩個模塊,兩套子系統仿照雙機熱備結構,不同的是采用四通道模式。
第一是避錯技術,讓系統從根本上避免發生故障,綜合考慮軟硬件因素以及溫度、濕度、噪音等環境因素。在硬件上選擇可靠性的元件,嚴控質量,軟件上做好白盒測試和黑盒測試,修復漏洞,環境上確保主機安全,供電穩定,針對高低溫環境要有相應針對措施,做好防雷、防電磁、防輻射等環境保護技術。第二是容錯技術,容錯技術認為系統的故障不能避免,因此在故障發生時還要確保系統正常工作,目前以故障掩蔽技術和功能重組技術為主,其核心是冗余技術,前者是在系統中發生未檢測的功能模塊發生故障時,該故障被自動屏蔽掉,比如三取二表決,后者是當故障發生并被檢測到時,讓其它模塊快速接管,比如雙機熱備表決。第三是故障-安全技術,即故障倒向安全原則,簡稱F-S(Fail-Safe)原則,比如在交通軌道上發生故障時首先要讓列車停止運行,此時紅燈作為安全側。在硬件上注重輸入和輸出的安全防護,比如光電隔離技術、動態編碼輸入以及故障-安全型輸出,電路在軟件上注重軟件的程序設計。第四是故障檢測技術,這是容錯技術的基礎,以應對硬件的永久故障、瞬時故障和間歇性故障為主,一般來說,設計缺陷將會造成永久性故障,元器件老化和環境惡劣會造成模塊失效,人為操作會導致系統故障。故障檢測需要定位故障點,實時跟蹤模塊的工作狀態,一般可以采用自檢法、對比法和狀態監控法等。第五是同步機制,以軟件設計為基礎的時間范圍任務同步,以硬件設計為基礎的多路CPU使用共同的時鐘來源的指令同步。指令同步絕對同步使緊耦合冗余結構易發生共模錯誤,解決時鐘偏移問題需要復雜的電路,由于不同語言代碼不同,所以很多設計只能采用任務同步,但是同步頻率低,對處理器要求高。第六是主備切換技術,包括第三方主備切換單元、主備系協同辦理基于軟硬件結合兩種方式。比如在鐵路上經常應用繼電器互鎖技術,主備切換的關鍵是瞬間無擾完成工作。第六是表決與安全輸出技術,安全計算機數據可分為三類,輸入數據一致,輸出數據一致和輸入輸出數據都一致,第三種數據是關鍵的安全數據,采用安全與門電路或故障-安全型輸出電路。
系統采用二乘二取二方式,包括A、B兩系,有四個單機模塊和總線控制器。系統采用點對點通信進行首次信息表決,該架構系內同步方式和傳統方式相同,但是A、B兩系之間不同,兩種設置完全一致,系間任務實現同步。輸出表決采用二乘二取二、三取二、二取二三種模式,在表決任務前發出信號,使之實現同步。
總線控制器包括普通任務和表決任務,當收不到任何一個同步信號時,進行故障檢測,確認失效之后,分析故障碼,根據故障碼確認負責何種模式。總線控制器檢測接收和輸出的信息,根據對比的結構更新模式碼。工作狀態增加了三取二和準三取二兩種,在二取二狀態下發生單模故障和可測雙模故障,在三取二狀態下可測雙模、三模故障,視為故障安全,此時采用停機工作模式。在非停機模式下發生未檢測雙模,不可修復三取二模式下發生未檢測單模故障,視為危險故障。研究表明,三取二系統可靠性更高,但是由于轉移機制復雜,在工程過程中還需要進一步完善結構切換。
計軸系統的作用和軌道電路相似,對規定區段內的計軸點數據進行實時信息采集,由運算器進行集中處理。系統包括計軸點采集、運算處理、輸出控制三個部分,系統能夠滿足同步任務的通信功能,設計有4路不同的計軸點采集接口,能夠實現主備系的轉換。整個系統采用雙板設計,設計在一塊電路板上,為了提升主備切換的效率,加裝了主備切換驅動輸出板,同時切換板還作為兩個系統的信息交流通道,具有故障自檢、故障互檢、脈寬調制和驅動等功能。系統工作中從安全輸入接口采集信息,連接光耦隔離輸入模塊,板卡對信息數據進行處理,然后再輸出到外部設備。機箱設計本著安全、節約、模塊化的原則,力求高性能、低能耗,還應該把經濟因素考慮在內。
軟件的安全因素尤其要考慮在內,要將安全功能和非安全功能隔離,對功能模塊優先級進行調整,所有模塊的責任功能必須要明確,系統軟件要設計兩套,主機軟件具有調度功能。計算過程要滿一次清算一次,具體工作流程如下:接收到中斷,然后對中斷信息進行判斷,當A0計軸點等于0,而A1等于零時,A0+1=1,A1=0;當為否時,A1等于1,輪軸對+1,清零A0和A1,當再為否時,A0=1 A1=0。A1計軸點同理。在設計中要基于冗余設計原則,主系主機執行輸出,從系主機也具備相同功能。
安全計算機技術的發展依賴于硬件技術和軟件技術的共同發展,在實際工作中,任何系統都有故障率,必須要從硬件上實現根本改進,在軟件上不斷改進程序,提升系統安全性。
[1]Mukherjee A,Dhar A S.Real-time fault-tolerance with hot-standby topology for conditional sumadder[J]. Microelectr onics Reliability, 2015, 55(3–4):704-712.
[2]文俊, 蘇宏升, 沈強. 兩種鐵路信號系統雙機熱備結構可靠性與安全性分析[J]. 鐵道標準設計, 2015.
[3]楊啟亮,邢建春,王平.安全關鍵系統及其軟件方法[J].計算機應用與軟件,2011.