實時功能完整性檢查系統的制作方法
【專利摘要】本發(fā)明公開了一種實時功能完整性檢查系統,包括兩個以上的CPU,且在CPU之間存在通信使其可以交換數據;每個CPU上除了運行安全功能軟件F1…Fn外,還運行完整性檢查功能FSupervision,當前CPU的安全功能Fn,由當前CPU的完整性檢查功能實現完整性檢查,當前CPU的完整性檢查功能FSupervision,由其他CPU的完整性檢查功能實現完整性檢查。本發(fā)明運行額外的功能完整性檢查任務,來實現對自身CPU和其他CPU上運行的安全功能進行執(zhí)行路徑完整性檢查和執(zhí)行時間完整性檢查,能夠實時發(fā)現由于隨機故障和系統故障導致的系統安全功能失效,使引導系統導向安全,防止安全事故發(fā)生。
【專利說明】實時功能完整性檢查系統
【技術領域】
[0001]本發(fā)明屬于安全檢查領域,具體涉及一種用于計算機的檢查系統。
【背景技術】
[0002]在工業(yè)控制系統和安全信號系統(應用于航空電子、鐵路信號、核電等行業(yè))中,軟件系統一般在多個CPU上運行,CPU并不能保證安全軟件能夠正確的運行。為了確保安全軟件的執(zhí)行正確性和功能完整性,必須采用有效的措施來檢測軟件功能的完整性,以避免由來自CPU和存儲器的隨機故障引發(fā)系統功能失效、甚至安全事故的發(fā)生。該方法可以提高系統的安全性,避免安全事故的發(fā)生。
[0003]以目前軌道交通信號系統行業(yè)為例,安全系統采用2取2或者3取2架構,軟件在多個CPU之上運行,運算結果最后經過硬件表決輸出,保證能夠故障導向安全。但該方式有如下缺點:
[0004]1.對具有表決功能的硬件設計要求很高,因為該表決硬件是保證輸出安全的關鍵。
[0005]2.由于CPU上面運行的安全軟件功能是相同的,容易出現系統性故障,錯誤的得到危險側輸出,并在2取2表決后輸出危險輸出。
[0006]3.如果某個CP U上運行的安全軟件由于隨機故障導致軟件跑飛,另外一個CPU卻不能以及得知該故障,會導致軟件功能喪失,可能錯誤的得到危險側輸出。
【發(fā)明內容】
[0007]本發(fā)明所要解決的技術問題是提供一種實時功能完整性檢查系統,它可以運行額外的功能完整性檢查任務,來實現對自身CPU和其他CPU上運行的安全功能進行執(zhí)行路徑完整性檢查和執(zhí)行時間完整性檢查,能夠實時發(fā)現由于隨機故障和系統故障導致的系統安全功能失效,使引導系統導向安全,防止安全事故發(fā)生。
[0008]為了解決以上技術問題,本發(fā)明提供了一種實時功能完整性檢查系統,包括兩個以上的CPU,且在CPU之間存在通信使其可以交換數據;每個CPU上除了運行安全功能軟件匕…Fn外,還運行完整性檢查功能FSupOTVisim,當前CPU的安全功能Fn,由當前CPU的完整性檢查功能實現完整性檢查,當前CPU的完整性檢查功能Fsupwvisim,由其他CPU的完整性檢查功能實現完整性檢查;安全功能Fn會根據自身的運行不斷的發(fā)送執(zhí)行報告REm。到當前CPU的完整性檢查功能Fsupwvisim ;完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告Rex6cj來監(jiān)控安全功能的執(zhí)行路徑和執(zhí)行時間完整性,完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告REm。,通過CRC算法產生功能執(zhí)行校驗字WE_ehk ;該校驗字WE_ehk將通過CPU之間的通信發(fā)送到其他的CPU,實現通過其他CPU上完整性檢查功能Fsupwvisim對當前CPU上完整性檢查功能Fsupwvisim的監(jiān)控。
[0009]本發(fā)明的有益效果在于:運行額外的功能完整性檢查任務,來實現對自身CPU和其他CPU上運行的安全功能進行執(zhí)行路徑完整性檢查和執(zhí)行時間完整性檢查,能夠實時發(fā)現由于隨機故障和系統故障導致的系統安全功能失效,使引導系統導向安全,防止安全事故發(fā)生。適合不同類型的CPU,適合實時性要求較高的系統,實現方式簡單,檢查算法具有較高的實時性和可靠性,采用多種軟件安全技術。
[0010]完整性檢查功能Fsupwvisim包括4個模塊:當前CPU功能執(zhí)行路徑監(jiān)控M0jmse ;當前CPU功能執(zhí)行時間監(jiān)控;其他CPU功能執(zhí)行路徑監(jiān)控M_xe。―;其他CPU功能執(zhí)行時間監(jiān)控M
OthExecTime°
[0011]不同的CPU對當前CPU執(zhí)行路徑完整性的檢查采取不同的方式,來實現軟件控制流差異化,例如部分CPU使用自動機狀態(tài)轉換的方式,其他CPU使用自動機真值表查表的方式。
[0012]不同的CPU對當前CPU執(zhí)行時間完整性的檢查采取不同的方式,來實現軟件控制流差異化。例如部分CPU使用系統提供的定時器實現定時,其他CPU使用執(zhí)行報告的時間戳進行周期檢查實現定時。
[0013]不同的CPU進行循環(huán)冗余校驗CRC運行時采用不同的循環(huán)冗余校驗CRC多項式?!緦@綀D】
【附圖說明】
[0014]下面結合附圖和【具體實施方式】對本發(fā)明作進一步詳細說明。
[0015]圖1是多CPU實時功能完整性檢查方案示意圖。
[0016]圖2是功能執(zhí)行報告產生方式示意圖。
[0017]圖3是某安全功能的功能流程圖。
[0018]圖4是某安全功能的自動機狀態(tài)遷移圖。
【具體實施方式】
[0019]本發(fā)明可以應用在不同類型的CPU,并適合實時性和安全性的較高的系統。本發(fā)明包括:在安全系統采用的2取2或者3取2架構中,在能夠相互通信的多個CPU上,運行額外的功能完整性檢查任務,來實現對自身CPU和其他CPU上運行的安全功能進行執(zhí)行路徑完整性檢查和執(zhí)行時間完整性檢查,能夠實時發(fā)現由于隨機故障和系統故障導致的系統安全功能失效,使引導系統導向安全,防止安全事故發(fā)生。本發(fā)明適合不同類型的CPU,適合實時性要求較高的系統,實現方式簡單,檢查算法具有較高的實時性和可靠性,采用多種軟件安全技術。
[0020]本發(fā)明所述用于安全系統軟件的實時功能完整性檢查算法能夠應用于包括但并不局限于信號系統、工業(yè)控制系統等領域。
[0021 ] 下面以軌道交通信號控制為例。
[0022]該算法包括下面5個部分:
[0023]1.功能執(zhí)行報告的產生;
[0024]2.對當前CPU的功能執(zhí)行路徑檢查;
[0025]3.對當前CPU的功能執(zhí)行時間檢查;
[0026]4.對其他CPU的功能執(zhí)行路徑檢查;
[0027]5.對其他CPU的功能執(zhí)行時間檢查;
[0028]本發(fā)明的實施方案 如下(見圖1):[0029]1.在安全系統中,存在兩個以上的CPU,且在CPU之間存在通信使其可以交換數據。
[0030]2.在每個CPU上除了運行安全功能軟件F1..Fn外,還運行完整性檢查功能
Fsupervision?
所述η為正整數。
[0031]a)當前CPU的安全功能Fn,由當前CPU的完整性檢查功能實現完整性檢查;
[0032]b)當前CPU的完整性檢查功能FSupOTvisim,由其他CPU的完整性檢查功能實現完整性檢查;
[0033]3.安全功能Fn會根據自身的運行不斷的發(fā)送執(zhí)行報告REm。到當前CPU的完整性檢查功能FSupOTVisim。
[0034]4.完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告REm。,來監(jiān)控安全功能的執(zhí)行路徑和執(zhí)行時間完整性。包括下面的4個模塊:
[0035]a)當前CPU功能執(zhí)行路徑監(jiān)控MCurExec;Case ;
[0036]b)當前CPU功能執(zhí)行時間監(jiān)控MCurExec;Time ;
[0037]c)其他CPU功能執(zhí)行路徑監(jiān)控M
OthExecCase ?
[0038]d)其他CPU功能執(zhí)行時間監(jiān)控MothExec;Time ;
[0039]5.完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告REm。,通過CRC算法產生功能執(zhí)行校驗字WEMC;aik。該校驗字Wemc^將通過CPU之間的通信發(fā)送到其他的CPU,實現通過其他CPU上完整性檢查功能Fsupwvisim對當前CPU上完整性檢查功能Fsupwvisim的監(jiān)控。
[0040]本發(fā)明的實施方案中,為了滿足軟件安全需求,可以采用:
[0041]1.不同的CPU對當前CPU執(zhí)行路徑完整性的檢查采取不同的方式,來實現軟件控制流差異化。例如=CPUl使用自動機狀態(tài)轉換的方式,CPU2使用自動機真值表查表的方式。
[0042]2.不同的CPU對當前CPU執(zhí)行時間完整性的檢查采取不同的方式,來實現軟件控制流差異化。例如=CPUl使用系統提供的定時器實現定時,CPU2使用執(zhí)行報告的時間戳進行周期檢查實現定時。
[0043]3.不同的CPU進行CRC運行時采用不同的循環(huán)冗余校驗CRC多項式,以實現軟件數據差異化,防止共模隨機故障和共模隨機故障的產生。
[0044]4.不同的CPU將自身的校驗字互相傳輸并檢查,實現軟件表決。
[0045]功能執(zhí)行報告產生的實施方式:
[0046]安全功能可以被分割成若干個處理步驟,每個處理步驟的結果可能對整個處理流程產生分支作用。這樣可以在每個步驟開始,步驟結束,步驟分支等其他需要的地方的地方產生一個功能執(zhí)行報告RExe。(如圖2)。
[0047]執(zhí)行報告至少需要包含下面的內容:
[0048]1.處理步驟的名稱:用來指示是哪個功能的哪一處理步驟;
[0049]2.處理步驟的結果:用來指示之前執(zhí)行的結果,或者接下來的分支路徑;
[0050]3.產生的時間戳:用來進行時間檢查;
[0051]功能校驗字產生的實施方式:
[0052]為了減少功能監(jiān)控對CPU之間通信資源的占用,當前CPU的完整性檢查功能,對收到執(zhí)行報告序列進行校驗字計算。校驗字算法采用可循環(huán)運算的循環(huán)冗余校驗CRC算法。參與循環(huán)冗余校驗CRC運算的時候,應該處理步驟的名稱和結果等設計時確定的數據,而不包括時間信息等動態(tài)的數據。
[0053]當前CPU的完整性檢查功能,在每次收到某功能的執(zhí)行報告REm。時,將該執(zhí)行報告Rex6c和該功能之前的校驗字進行循環(huán)冗余校驗CRC運行,得出新的校驗字WE_ak。
[0054]當前CPU的完整性檢查功能,在某功能執(zhí)行完成之后,通過CPU間的通信通道,將最后的執(zhí)行校驗字wE_ak,發(fā)送的其他的CPU進行監(jiān)控。
[0055]當前CPU功能執(zhí)行路徑監(jiān)控的實施方式
[0056]當前CPU功能執(zhí)行路徑監(jiān)控M01-e模塊,為每個安全功能維護一個自動機,自動機根據收到的執(zhí)行報告rEm。的內容從一個狀態(tài)遷移到另一個狀態(tài)。如果收到的執(zhí)行報告RExe。不是當前狀態(tài)能夠處理的,則說明被監(jiān)控的功能出現錯誤,整個系統應該立刻導向安全。
[0057]例如:下面描述某安全功能(見圖3)的執(zhí)行路徑檢查的實施。
[0058]圖4是上述功能在執(zhí)行路徑監(jiān)控模塊中對應的自動機狀態(tài)遷移圖。
[0059]表1是上述功能在執(zhí)行路徑監(jiān)控模塊中對應的自動機真值表。
[0060]
【權利要求】
1.一種實時功能完整性檢查系統,其特征在于,包括兩個以上的CPU,且在CPU之間存在通信使其可以交換數據; 每個CPU上除了運行安全功能軟件F^-Fn外,還運行完整性檢查功能Fsupwvisim,當前CPU的安全功能Fn,由當前CPU的完整性檢查功能實現完整性檢查,當前CPU的完整性檢查功能FSupOTVisim,由其他CPU的完整性檢查功能實現完整性檢查; 安全功能Fn會根據自身的運行不斷的發(fā)送執(zhí)行報告REm。到當前CPU的完整性檢查功目匕 ^Supervision ? 完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告Rem。,來監(jiān)控安全功能的執(zhí)行路徑和執(zhí)行時間完整性,完整性檢查功能Fsupwvisim負責根據當前CPU內的執(zhí)行報告REm。,通過CRC算法產生功能執(zhí)行校驗字WE!rec£hk ;該校驗字WEx^hk將通過CPU之間的通信發(fā)送到其他的CPU,實現通過其他CPU上完整性檢查功能Fsupwvisim對當前CPU上完整性檢查功能^Supervision
的監(jiān)控。
2.如權利要求1所述的實時功能完整性檢查系統,其特征在于,完整性檢查功能Fsupervision包括4個模塊:當前CPU功能執(zhí)行路徑監(jiān)控M01-e ;當前CPU功能執(zhí)行時間監(jiān)控^CurExecTime 他CPU功目匕執(zhí)彳丁路控M()thExec:c:ase 他CPU功目匕執(zhí)彳丁時間JA控M
OthExecTime°
3.如權利要求1所述的實時功能完整性檢查系統,其特征在于,不同的CPU對當前CPU執(zhí)行路徑完整性的檢查采取不同`的方式,來實現軟件控制流差異化。
4.如權利要求3所述的實時功能完整性檢查系統,其特征在于,部分CPU使用自動機狀態(tài)轉換的方式,其他CPU使用自動機真值表查表的方式。
5.如權利要求1所述的實時功能完整性檢查系統,其特征在于,不同的CPU對當前CPU執(zhí)行時間完整性的檢查采取不同的方式,來實現軟件控制流差異化。
6.如權利要求5所述的實時功能完整性檢查系統,其特征在于,部分CPU使用系統提供的定時器實現定時,其他CPU使用執(zhí)行報告的時間戳進行周期檢查實現定時。
7.如權利要求1所述的實時功能完整性檢查系統,其特征在于,不同的CPU進行循環(huán)冗余校驗CRC運行時采用不同的循環(huán)冗余校驗CRC多項式。
【文檔編號】G06F11/10GK103885851SQ201310064783
【公開日】2014年6月25日 申請日期:2013年3月1日 優(yōu)先權日:2013年3月1日
【發(fā)明者】沈雪亮, 吳昊 申請人:上海富欣智能交通控制有限公司