实时功能完整性检查系统.pdf

上传人:bo****18 文档编号:6112301 上传时间:2019-04-12 格式:PDF 页数:11 大小:5.04MB
返回 下载 相关 举报
摘要
申请专利号:

CN201310064783.5

申请日:

2013.03.01

公开号:

CN103885851A

公开日:

2014.06.25

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 11/10申请日:20130301|||公开

IPC分类号:

G06F11/10

主分类号:

G06F11/10

申请人:

上海富欣智能交通控制有限公司

发明人:

沈雪亮; 吴昊

地址:

201203 上海市浦东新区张江高科技园区亮秀路112号2号楼4层

优先权:

专利代理机构:

上海浦一知识产权代理有限公司 31211

代理人:

孙大为

PDF下载: PDF下载
内容摘要

本发明公开了一种实时功能完整性检查系统,包括两个以上的CPU,且在CPU之间存在通信使其可以交换数据;每个CPU上除了运行安全功能软件F1…Fn外,还运行完整性检查功能FSupervision,当前CPU的安全功能Fn,由当前CPU的完整性检查功能实现完整性检查,当前CPU的完整性检查功能FSupervision,由其他CPU的完整性检查功能实现完整性检查。本发明运行额外的功能完整性检查任务,来实现对自身CPU和其他CPU上运行的安全功能进行执行路径完整性检查和执行时间完整性检查,能够实时发现由于随机故障和系统故障导致的系统安全功能失效,使引导系统导向安全,防止安全事故发生。

权利要求书

权利要求书
1.  一种实时功能完整性检查系统,其特征在于,包括两个以上的CPU,且在CPU之间存在通信使其可以交换数据;
每个CPU上除了运行安全功能软件F1…Fn外,还运行完整性检查功能FSupervision,当前CPU的安全功能Fn,由当前CPU的完整性检查功能实现完整性检查,当前CPU的完整性检查功能FSupervision,由其他CPU的完整性检查功能实现完整性检查;
安全功能Fn会根据自身的运行不断的发送执行报告RExec到当前CPU的完整性检查功能FSupervision;
完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,来监控安全功能的执行路径和执行时间完整性,完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,通过CRC算法产生功能执行校验字WExecChk;该校验字WExecChk将通过CPU之间的通信发送到其他的CPU,实现通过其他CPU上完整性检查功能FSupervision对当前CPU上完整性检查功能FSupervision的监控。

2.  如权利要求1所述的实时功能完整性检查系统,其特征在于,完整性检查功能FSupervision包括4个模块:当前CPU功能执行路径监控MCurExecCase;当前CPU功能执行时间监控MCurExecTime;其他CPU功能执行路径监控MOthExecCase;其他CPU功能执行时间监控MOthExecTime。

3.  如权利要求1所述的实时功能完整性检查系统,其特征在于,不同的CPU对当前CPU执行路径完整性的检查采取不同的方式,来实现软件控制流差异化。

4.  如权利要求3所述的实时功能完整性检查系统,其特征在于,部分CPU使用自动机状态转换的方式,其他CPU使用自动机真值表查表的方式。

5.  如权利要求1所述的实时功能完整性检查系统,其特征在于,不同的CPU对当前CPU执行时间完整性的检查采取不同的方式,来实现软件控制流差异化。

6.  如权利要求5所述的实时功能完整性检查系统,其特征在于,部分CPU使用系统提供的定时器实现定时,其他CPU使用执行报告的时间戳进行周期检查实现定时。

7.  如权利要求1所述的实时功能完整性检查系统,其特征在于,不同的CPU进行循环冗余校验CRC运行时采用不同的循环冗余校验CRC多项式。

说明书

说明书实时功能完整性检查系统
技术领域
本发明属于安全检查领域,具体涉及一种用于计算机的检查系统。
背景技术
在工业控制系统和安全信号系统(应用于航空电子、铁路信号、核电等行业)中,软件系统一般在多个CPU上运行,CPU并不能保证安全软件能够正确的运行。为了确保安全软件的执行正确性和功能完整性,必须采用有效的措施来检测软件功能的完整性,以避免由来自CPU和存储器的随机故障引发系统功能失效、甚至安全事故的发生。该方法可以提高系统的安全性,避免安全事故的发生。
以目前轨道交通信号系统行业为例,安全系统采用2取2或者3取2架构,软件在多个CPU之上运行,运算结果最后经过硬件表决输出,保证能够故障导向安全。但该方式有如下缺点:
1.对具有表决功能的硬件设计要求很高,因为该表决硬件是保证输出安全的关键。
2.由于CPU上面运行的安全软件功能是相同的,容易出现系统性故障,错误的得到危险侧输出,并在2取2表决后输出危险输出。
3.如果某个CPU上运行的安全软件由于随机故障导致软件跑飞,另外一个CPU却不能以及得知该故障,会导致软件功能丧失,可能错误的得到危险侧输出。
发明内容
本发明所要解决的技术问题是提供一种实时功能完整性检查系统,它可以运行额外的功能完整性检查任务,来实现对自身CPU和其他CPU上运行的安全 功能进行执行路径完整性检查和执行时间完整性检查,能够实时发现由于随机故障和系统故障导致的系统安全功能失效,使引导系统导向安全,防止安全事故发生。
为了解决以上技术问题,本发明提供了一种实时功能完整性检查系统,包括两个以上的CPU,且在CPU之间存在通信使其可以交换数据;每个CPU上除了运行安全功能软件F1…Fn外,还运行完整性检查功能FSupervision,当前CPU的安全功能Fn,由当前CPU的完整性检查功能实现完整性检查,当前CPU的完整性检查功能FSupervision,由其他CPU的完整性检查功能实现完整性检查;安全功能Fn会根据自身的运行不断的发送执行报告RExec到当前CPU的完整性检查功能FSupervision;完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,来监控安全功能的执行路径和执行时间完整性,完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,通过CRC算法产生功能执行校验字WExecChk;该校验字WExecChk将通过CPU之间的通信发送到其他的CPU,实现通过其他CPU上完整性检查功能FSupervision对当前CPU上完整性检查功能FSupervision的监控。
本发明的有益效果在于:运行额外的功能完整性检查任务,来实现对自身CPU和其他CPU上运行的安全功能进行执行路径完整性检查和执行时间完整性检查,能够实时发现由于随机故障和系统故障导致的系统安全功能失效,使引导系统导向安全,防止安全事故发生。适合不同类型的CPU,适合实时性要求较高的系统,实现方式简单,检查算法具有较高的实时性和可靠性,采用多种软件安全技术。
完整性检查功能FSupervision包括4个模块:当前CPU功能执行路径监控MCurExecCase;当前CPU功能执行时间监控MCurExecTime;其他CPU功能执行路径监控MOthExecCase;其他CPU功能执行时间监控MOthExecTime。
不同的CPU对当前CPU执行路径完整性的检查采取不同的方式,来实现软件控制流差异化,例如部分CPU使用自动机状态转换的方式,其他CPU使用自动机真值表查表的方式。
不同的CPU对当前CPU执行时间完整性的检查采取不同的方式,来实现软件控制流差异化。例如部分CPU使用系统提供的定时器实现定时,其他CPU使用执行报告的时间戳进行周期检查实现定时。
不同的CPU进行循环冗余校验CRC运行时采用不同的循环冗余校验CRC多项式。
附图说明
下面结合附图和具体实施方式对本发明作进一步详细说明。
图1是多CPU实时功能完整性检查方案示意图。
图2是功能执行报告产生方式示意图。
图3是某安全功能的功能流程图。
图4是某安全功能的自动机状态迁移图。
具体实施方式
本发明可以应用在不同类型的CPU,并适合实时性和安全性的较高的系统。本发明包括:在安全系统采用的2取2或者3取2架构中,在能够相互通信的多个CPU上,运行额外的功能完整性检查任务,来实现对自身CPU和其他CPU上运行的安全功能进行执行路径完整性检查和执行时间完整性检查,能够实时发现由于随机故障和系统故障导致的系统安全功能失效,使引导系统导向安全,防止安全事故发生。本发明适合不同类型的CPU,适合实时性要求较高的系统,实现方式简单,检查算法具有较高的实时性和可靠性,采用多种软件安全技术。
本发明所述用于安全系统软件的实时功能完整性检查算法能够应用于包括 但并不局限于信号系统、工业控制系统等领域。
下面以轨道交通信号控制为例。
该算法包括下面5个部分:
1.功能执行报告的产生;
2.对当前CPU的功能执行路径检查;
3.对当前CPU的功能执行时间检查;
4.对其他CPU的功能执行路径检查;
5.对其他CPU的功能执行时间检查;
本发明的实施方案如下(见图1):
1.在安全系统中,存在两个以上的CPU,且在CPU之间存在通信使其可以交换数据。
2.在每个CPU上除了运行安全功能软件F1..Fn外,还运行完整性检查功能FSupervision,所述n为正整数。
a)当前CPU的安全功能Fn,由当前CPU的完整性检查功能实现完整性检查;
b)当前CPU的完整性检查功能FSupervision,由其他CPU的完整性检查功能实现完整性检查;
3.安全功能Fn会根据自身的运行不断的发送执行报告RExec到当前CPU的完整性检查功能FSupervision。
4.完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,来监控安全功能的执行路径和执行时间完整性。包括下面的4个模块:
a)当前CPU功能执行路径监控MCurExecCase;
b)当前CPU功能执行时间监控MCurExecTime;
c)其他CPU功能执行路径监控MOthExecCase;
d)其他CPU功能执行时间监控MOthExecTime;
5.完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec,通过CRC算法产生功能执行校验字WExecChk。该校验字WExecChk将通过CPU之间的通信发送到其他的CPU,实现通过其他CPU上完整性检查功能FSupervision对当前CPU上完整性检查功能FSupervision的监控。
本发明的实施方案中,为了满足软件安全需求,可以采用:
1.不同的CPU对当前CPU执行路径完整性的检查采取不同的方式,来实现软件控制流差异化。例如:CPU1使用自动机状态转换的方式,CPU2使用自动机真值表查表的方式。
2.不同的CPU对当前CPU执行时间完整性的检查采取不同的方式,来实现软件控制流差异化。例如:CPU1使用系统提供的定时器实现定时,CPU2使用执行报告的时间戳进行周期检查实现定时。
3.不同的CPU进行CRC运行时采用不同的循环冗余校验CRC多项式,以实现软件数据差异化,防止共模随机故障和共模随机故障的产生。
4.不同的CPU将自身的校验字互相传输并检查,实现软件表决。
功能执行报告产生的实施方式:
安全功能可以被分割成若干个处理步骤,每个处理步骤的结果可能对整个处理流程产生分支作用。这样可以在每个步骤开始,步骤结束,步骤分支等其他需要的地方的地方产生一个功能执行报告RExec(如图2)。
执行报告至少需要包含下面的内容:
1.处理步骤的名称:用来指示是哪个功能的哪一处理步骤;
2.处理步骤的结果:用来指示之前执行的结果,或者接下来的分支路径;
3.产生的时间戳:用来进行时间检查;
功能校验字产生的实施方式:
为了减少功能监控对CPU之间通信资源的占用,当前CPU的完整性检查功能,对收到执行报告序列进行校验字计算。校验字算法采用可循环运算的循环冗余校验CRC算法。参与循环冗余校验CRC运算的时候,应该处理步骤的名称和结果等设计时确定的数据,而不包括时间信息等动态的数据。
当前CPU的完整性检查功能,在每次收到某功能的执行报告RExec时,将该执行报告RExec和该功能之前的校验字进行循环冗余校验CRC运行,得出新的校验字WExecChk。
当前CPU的完整性检查功能,在某功能执行完成之后,通过CPU间的通信通道,将最后的执行校验字WExecChk,发送的其他的CPU进行监控。
当前CPU功能执行路径监控的实施方式
当前CPU功能执行路径监控MCurExecCase模块,为每个安全功能维护一个自动机,自动机根据收到的执行报告RExec的内容从一个状态迁移到另一个状态。如果收到的执行报告RExec不是当前状态能够处理的,则说明被监控的功能出现错误,整个系统应该立刻导向安全。
例如:下面描述某安全功能(见图3)的执行路径检查的实施。
图4是上述功能在执行路径监控MCurExecCase模块中对应的自动机状态迁移图。
表1是上述功能在执行路径监控MCurExecCase模块中对应的自动机真值表。

注:内容为“-”的表格代表完整性丢失
表1某安全功能的自动机真值表
如果发现在当前状态,收到了无法处理的执行报告,则说明当前功能执行路径完整性丢失,整个系统应该立刻导向安全。
当前CPU功能执行时间监控的实施方式:
在安全功能上报的执行报告的内容中,包含了报告产生时的时间戳。所以当前CPU功能执行时间监控MCurExecTime模块,可以根据时间戳来完成对执行时间的监控。
例如:某安全功能(见图3)的步骤1要求在10ms内处理完成。
1.当MCurExecTime模块收到“任务调度,结果OK”时,开启一个10ms的定时器。
2.当MCurExecTime模块收到“步骤1完成,结果Y”或者“步骤1完成,结果N”时,关闭10ms定时器。
3.如果10ms定时器超时,说明该安全功能完整性丢失,整个系统应该 立刻导向安全。
这里的时间戳有2个用处:
1.在有系统定时器可用时,计算定时器超时时间的偏差值。
2.在没有定时器可用时,根据报告时间戳,和当前时间戳,通过周期性时间检查来实现类似定时器的功能。
其他CPU功能执行路径监控的实施方式:
其他CPU功能执行路径监控MOthExecCase模块,通过CPU间通信接收到来自其他CPU的功能执行校验字WExecChk,来实现对其他CPU的功能执行路径完整性进行检查。
功能执行校验字WExecChk采用循环冗余校验CRC算法,将安全功能执行过程中产生的执行报告中的处理步骤的名称和结果进行循环迭代计算,得出校验字。
例如:某安全功能的某条正常执行路径校验字可以通过下面的描述计算得出。
WExecChk=循环冗余校验CRC(“任务调度”,“结果OK”,“步骤1完成”,“结果Y”,“步骤3完成”,“结果B”,“步骤5完成”,“结果OK”)
所以,每一个执行路径的校验字都是唯一的。
当MOthExecCase模块收到校验字时,可以在软件设计时产生的执行路径校验字表格中进行对照检查(见表1)。如果收到校验字的没有在对应功能的校验字表中存在,说明其他CPU的功能执行路径完整性丢失,整个系统应该立刻导向安全。
其他CPU功能执行时间监控的实施方式
其他CPU功能执行时间监控MOthExecTime模块,通过CPU间通信接收到来自其他CPU的功能执行校验字WExecChk,实现对其他CPU的功能执行时间完整性进行检查。
该检查仅能针对其他CPU的功能整体执行时间或时间间隔进行检查。因为 要检查其他CPU的功能内部细节的执行时间检查,会耗费大量的CPU资源和通信资源,且该检查已经由其所在的CPU完成。
例如:MOthExecTime模块监控某安全功能(见图3)是否10ms正常执行一次。
1.当收到校验字时,进行查表检查(见表2),看校验字是否表示该功能在其他CPU上是按照正常执行路径执行的。

表2某安全功能的执行路径校验字
2.如果校验字表示功能正常完成(可以是不同的正常执行路径),则重启10ms定时器。
3.如果10ms定时器超时,则说明其他CPU上的某安全功能执行时间完整性丢失,系统应该立刻导向安全。
综上所述,本发明能够实时发现由于随机故障和系统故障导致的系统安全功能失效,使引导系统导向安全。因此满足工业控制系统和安全信号系统(应用于航空电子、铁路信号、核电等行业)的软件系统安全需求。
本发明并不限于上文讨论的实施方式。以上对具体实施方式的描述旨在于为了描述和说明本发明涉及的技术方案。基于本发明启示的显而易见的变换或替代也应当被认为落入本发明的保护范围。以上的具体实施方式用来揭示本发明的最佳实施方法,以使得本领域的普通技术人员能够应用本发明的多种实施 方式以及多种替代方式来达到本发明的目的。

实时功能完整性检查系统.pdf_第1页
第1页 / 共11页
实时功能完整性检查系统.pdf_第2页
第2页 / 共11页
实时功能完整性检查系统.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述

《实时功能完整性检查系统.pdf》由会员分享,可在线阅读,更多相关《实时功能完整性检查系统.pdf(11页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 103885851 A (43)申请公布日 2014.06.25 CN 103885851 A (21)申请号 201310064783.5 (22)申请日 2013.03.01 G06F 11/10(2006.01) (71)申请人 上海富欣智能交通控制有限公司 地址 201203 上海市浦东新区张江高科技园 区亮秀路 112 号 2 号楼 4 层 (72)发明人 沈雪亮 吴昊 (74)专利代理机构 上海浦一知识产权代理有限 公司 31211 代理人 孙大为 (54) 发明名称 实时功能完整性检查系统 (57) 摘要 本发明公开了一种实时功能完整性检查系 统, 包括。

2、两个以上的 CPU, 且在 CPU 之间存在通 信使其可以交换数据 ; 每个 CPU 上除了运行安 全功能软件 F1Fn外, 还运行完整性检查功能 FSupervision, 当前 CPU 的安全功能 Fn, 由当前 CPU 的 完整性检查功能实现完整性检查, 当前 CPU 的完 整性检查功能FSupervision, 由其他CPU的完整性检查 功能实现完整性检查。本发明运行额外的功能完 整性检查任务, 来实现对自身CPU和其他CPU上运 行的安全功能进行执行路径完整性检查和执行时 间完整性检查, 能够实时发现由于随机故障和系 统故障导致的系统安全功能失效, 使引导系统导 向安全, 防止安全事。

3、故发生。 (51)Int.Cl. 权利要求书 1 页 说明书 6 页 附图 3 页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书1页 说明书6页 附图3页 (10)申请公布号 CN 103885851 A CN 103885851 A 1/1 页 2 1. 一种实时功能完整性检查系统, 其特征在于, 包括两个以上的 CPU, 且在 CPU 之间存 在通信使其可以交换数据 ; 每个 CPU 上除了运行安全功能软件 F1Fn外, 还运行完整性检查功能 FSupervision, 当前 CPU 的安全功能 Fn, 由当前 CPU 的完整性检查功能实现完整性检查, 当前 CP。

4、U 的完整性检查 功能 FSupervision, 由其他 CPU 的完整性检查功能实现完整性检查 ; 安全功能 Fn会根据自身的运行不断的发送执行报告 RExec到当前 CPU 的完整性检查功 能 FSupervision; 完整性检查功能 FSupervision负责根据当前 CPU 内的执行报告 RExec, 来监控安全功能的执 行路径和执行时间完整性, 完整性检查功能FSupervision负责根据当前CPU内的执行报告RExec, 通过 CRC 算法产生功能执行校验字 WExecChk; 该校验字 WExecChk将通过 CPU 之间的通信发送到 其他的 CPU, 实现通过其他 CP。

5、U 上完整性检查功能 FSupervision对当前 CPU 上完整性检查功能 FSupervision的监控。 2. 如权利要求 1 所述的实时功能完整性检查系统, 其特征在于, 完整性检查功能 FSupervision包括4个模块 : 当前CPU功能执行路径监控MCurExecCase; 当前CPU功能执行时间监控 MCurExecTime; 其他 CPU 功能执行路径监控 MOthExecCase; 其他 CPU 功能执行时间监控 MOthExecTime。 3. 如权利要求 1 所述的实时功能完整性检查系统, 其特征在于, 不同的 CPU 对当前 CPU 执行路径完整性的检查采取不同的。

6、方式, 来实现软件控制流差异化。 4.如权利要求3所述的实时功能完整性检查系统, 其特征在于, 部分CPU使用自动机状 态转换的方式, 其他 CPU 使用自动机真值表查表的方式。 5. 如权利要求 1 所述的实时功能完整性检查系统, 其特征在于, 不同的 CPU 对当前 CPU 执行时间完整性的检查采取不同的方式, 来实现软件控制流差异化。 6.如权利要求5所述的实时功能完整性检查系统, 其特征在于, 部分CPU使用系统提供 的定时器实现定时, 其他 CPU 使用执行报告的时间戳进行周期检查实现定时。 7.如权利要求1所述的实时功能完整性检查系统, 其特征在于, 不同的CPU进行循环冗 余校验。

7、 CRC 运行时采用不同的循环冗余校验 CRC 多项式。 权 利 要 求 书 CN 103885851 A 2 1/6 页 3 实时功能完整性检查系统 技术领域 0001 本发明属于安全检查领域, 具体涉及一种用于计算机的检查系统。 背景技术 0002 在工业控制系统和安全信号系统 (应用于航空电子、 铁路信号、 核电等行业) 中, 软 件系统一般在多个 CPU 上运行, CPU 并不能保证安全软件能够正确的运行。为了确保安全 软件的执行正确性和功能完整性, 必须采用有效的措施来检测软件功能的完整性, 以避免 由来自 CPU 和存储器的随机故障引发系统功能失效、 甚至安全事故的发生。该方法可以。

8、提 高系统的安全性, 避免安全事故的发生。 0003 以目前轨道交通信号系统行业为例, 安全系统采用 2 取 2 或者 3 取 2 架构, 软件在 多个 CPU 之上运行, 运算结果最后经过硬件表决输出, 保证能够故障导向安全。但该方式有 如下缺点 : 0004 1. 对具有表决功能的硬件设计要求很高, 因为该表决硬件是保证输出安全的关 键。 0005 2. 由于 CPU 上面运行的安全软件功能是相同的, 容易出现系统性故障, 错误的得 到危险侧输出, 并在 2 取 2 表决后输出危险输出。 0006 3. 如果某个 CPU 上运行的安全软件由于随机故障导致软件跑飞, 另外一个 CPU 却 不。

9、能以及得知该故障, 会导致软件功能丧失, 可能错误的得到危险侧输出。 发明内容 0007 本发明所要解决的技术问题是提供一种实时功能完整性检查系统, 它可以运行额 外的功能完整性检查任务, 来实现对自身 CPU 和其他 CPU 上运行的安全功能进行执行路径 完整性检查和执行时间完整性检查, 能够实时发现由于随机故障和系统故障导致的系统安 全功能失效, 使引导系统导向安全, 防止安全事故发生。 0008 为了解决以上技术问题, 本发明提供了一种实时功能完整性检查系统, 包括两个 以上的 CPU, 且在 CPU 之间存在通信使其可以交换数据 ; 每个 CPU 上除了运行安全功能软件 F1Fn外, 。

10、还运行完整性检查功能 FSupervision, 当前 CPU 的安全功能 Fn, 由当前 CPU 的完整性 检查功能实现完整性检查, 当前 CPU 的完整性检查功能 FSupervision, 由其他 CPU 的完整性检查 功能实现完整性检查 ; 安全功能 Fn会根据自身的运行不断的发送执行报告 RExec到当前 CPU 的完整性检查功能 FSupervision; 完整性检查功能 FSupervision负责根据当前 CPU 内的执行报告 RExec, 来监控安全功能的执行路径和执行时间完整性, 完整性检查功能FSupervision负责根据当 前 CPU 内的执行报告 RExec, 通过。

11、 CRC 算法产生功能执行校验字 WExecChk; 该校验字 WExecChk将通 过 CPU 之间的通信发送到其他的 CPU, 实现通过其他 CPU 上完整性检查功能 FSupervision对当 前 CPU 上完整性检查功能 FSupervision的监控。 0009 本发明的有益效果在于 : 运行额外的功能完整性检查任务, 来实现对自身 CPU 和 其他 CPU 上运行的安全功能进行执行路径完整性检查和执行时间完整性检查, 能够实时发 说 明 书 CN 103885851 A 3 2/6 页 4 现由于随机故障和系统故障导致的系统安全功能失效, 使引导系统导向安全, 防止安全事 故发生。

12、。 适合不同类型的CPU, 适合实时性要求较高的系统, 实现方式简单, 检查算法具有较 高的实时性和可靠性, 采用多种软件安全技术。 0010 完整性检查功能 FSupervision包括 4 个模块 : 当前 CPU 功能执行路径监控 MCurExecCase; 当前CPU功能执行时间监控MCurExecTime; 其他CPU功能执行路径监控MOthExecCase; 其他CPU功能 执行时间监控 MOthExecTime。 0011 不同的 CPU 对当前 CPU 执行路径完整性的检查采取不同的方式, 来实现软件控制 流差异化, 例如部分CPU使用自动机状态转换的方式, 其他CPU使用自动。

13、机真值表查表的方 式。 0012 不同的 CPU 对当前 CPU 执行时间完整性的检查采取不同的方式, 来实现软件控制 流差异化。例如部分 CPU 使用系统提供的定时器实现定时, 其他 CPU 使用执行报告的时间 戳进行周期检查实现定时。 0013 不同的 CPU 进行循环冗余校验 CRC 运行时采用不同的循环冗余校验 CRC 多项式。 附图说明 0014 下面结合附图和具体实施方式对本发明作进一步详细说明。 0015 图 1 是多 CPU 实时功能完整性检查方案示意图。 0016 图 2 是功能执行报告产生方式示意图。 0017 图 3 是某安全功能的功能流程图。 0018 图 4 是某安全。

14、功能的自动机状态迁移图。 具体实施方式 0019 本发明可以应用在不同类型的CPU, 并适合实时性和安全性的较高的系统。 本发明 包括 : 在安全系统采用的 2 取 2 或者 3 取 2 架构中, 在能够相互通信的多个 CPU 上, 运行额 外的功能完整性检查任务, 来实现对自身 CPU 和其他 CPU 上运行的安全功能进行执行路径 完整性检查和执行时间完整性检查, 能够实时发现由于随机故障和系统故障导致的系统安 全功能失效, 使引导系统导向安全, 防止安全事故发生。 本发明适合不同类型的CPU, 适合实 时性要求较高的系统, 实现方式简单, 检查算法具有较高的实时性和可靠性, 采用多种软件 。

15、安全技术。 0020 本发明所述用于安全系统软件的实时功能完整性检查算法能够应用于包括但并 不局限于信号系统、 工业控制系统等领域。 0021 下面以轨道交通信号控制为例。 0022 该算法包括下面 5 个部分 : 0023 1. 功能执行报告的产生 ; 0024 2. 对当前 CPU 的功能执行路径检查 ; 0025 3. 对当前 CPU 的功能执行时间检查 ; 0026 4. 对其他 CPU 的功能执行路径检查 ; 0027 5. 对其他 CPU 的功能执行时间检查 ; 0028 本发明的实施方案如下 (见图 1) : 说 明 书 CN 103885851 A 4 3/6 页 5 0029。

16、 1. 在安全系统中, 存在两个以上的 CPU, 且在 CPU 之间存在通信使其可以交换数 据。 0030 2. 在每个 CPU 上除了运行安全功能软件 F1Fn外, 还运行完整性检查功能 FSupervision, 所述 n 为正整数。 0031 a) 当前 CPU 的安全功能 Fn, 由当前 CPU 的完整性检查功能实现完整性检查 ; 0032 b) 当前 CPU 的完整性检查功能 FSupervision, 由其他 CPU 的完整性检查功能实现完整 性检查 ; 0033 3. 安全功能 Fn会根据自身的运行不断的发送执行报告 RExec到当前 CPU 的完整性 检查功能 FSupervi。

17、sion。 0034 4. 完整性检查功能 FSupervision负责根据当前 CPU 内的执行报告 RExec, 来监控安全功 能的执行路径和执行时间完整性。包括下面的 4 个模块 : 0035 a) 当前 CPU 功能执行路径监控 MCurExecCase; 0036 b) 当前 CPU 功能执行时间监控 MCurExecTime; 0037 c) 其他 CPU 功能执行路径监控 MOthExecCase; 0038 d) 其他 CPU 功能执行时间监控 MOthExecTime; 0039 5. 完整性检查功能 FSupervision负责根据当前 CPU 内的执行报告 RExec, 。

18、通过 CRC 算法 产生功能执行校验字 WExecChk。该校验字 WExecChk将通过 CPU 之间的通信发送到其他的 CPU, 实 现通过其他 CPU 上完整性检查功能 FSupervision对当前 CPU 上完整性检查功能 FSupervision的监 控。 0040 本发明的实施方案中, 为了满足软件安全需求, 可以采用 : 0041 1. 不同的 CPU 对当前 CPU 执行路径完整性的检查采取不同的方式, 来实现软件控 制流差异化。 例如 : CPU1使用自动机状态转换的方式, CPU2使用自动机真值表查表的方式。 0042 2. 不同的 CPU 对当前 CPU 执行时间完整性。

19、的检查采取不同的方式, 来实现软件控 制流差异化。例如 : CPU1 使用系统提供的定时器实现定时, CPU2 使用执行报告的时间戳进 行周期检查实现定时。 0043 3. 不同的 CPU 进行 CRC 运行时采用不同的循环冗余校验 CRC 多项式, 以实现软件 数据差异化, 防止共模随机故障和共模随机故障的产生。 0044 4. 不同的 CPU 将自身的校验字互相传输并检查, 实现软件表决。 0045 功能执行报告产生的实施方式 : 0046 安全功能可以被分割成若干个处理步骤, 每个处理步骤的结果可能对整个处理流 程产生分支作用。 这样可以在每个步骤开始, 步骤结束, 步骤分支等其他需要的。

20、地方的地方 产生一个功能执行报告 RExec(如图 2) 。 0047 执行报告至少需要包含下面的内容 : 0048 1. 处理步骤的名称 : 用来指示是哪个功能的哪一处理步骤 ; 0049 2. 处理步骤的结果 : 用来指示之前执行的结果, 或者接下来的分支路径 ; 0050 3. 产生的时间戳 : 用来进行时间检查 ; 0051 功能校验字产生的实施方式 : 0052 为了减少功能监控对CPU之间通信资源的占用, 当前CPU的完整性检查功能, 对收 到执行报告序列进行校验字计算。校验字算法采用可循环运算的循环冗余校验 CRC 算法。 说 明 书 CN 103885851 A 5 4/6 页。

21、 6 参与循环冗余校验 CRC 运算的时候, 应该处理步骤的名称和结果等设计时确定的数据, 而 不包括时间信息等动态的数据。 0053 当前CPU的完整性检查功能, 在每次收到某功能的执行报告RExec时, 将该执行报告 RExec和该功能之前的校验字进行循环冗余校验 CRC 运行, 得出新的校验字 WExecChk。 0054 当前 CPU 的完整性检查功能, 在某功能执行完成之后, 通过 CPU 间的通信通道, 将 最后的执行校验字 WExecChk, 发送的其他的 CPU 进行监控。 0055 当前 CPU 功能执行路径监控的实施方式 0056 当前 CPU 功能执行路径监控 MCurE。

22、xecCase模块, 为每个安全功能维护一个自动机, 自 动机根据收到的执行报告 RExec的内容从一个状态迁移到另一个状态。如果收到的执行报 告 RExec不是当前状态能够处理的, 则说明被监控的功能出现错误, 整个系统应该立刻导向 安全。 0057 例如 : 下面描述某安全功能 (见图 3) 的执行路径检查的实施。 0058 图 4 是上述功能在执行路径监控 MCurExecCase模块中对应的自动机状态迁移图。 0059 表 1 是上述功能在执行路径监控 MCurExecCase模块中对应的自动机真值表。 0060 0061 注 : 内容为 “-” 的表格代表完整性丢失 0062 表 1。

23、 某安全功能的自动机真值表 0063 如果发现在当前状态, 收到了无法处理的执行报告, 则说明当前功能执行路径完 整性丢失, 整个系统应该立刻导向安全。 0064 当前 CPU 功能执行时间监控的实施方式 : 0065 在安全功能上报的执行报告的内容中, 包含了报告产生时的时间戳。 所以当前CPU 功能执行时间监控 MCurExecTime模块, 可以根据时间戳来完成对执行时间的监控。 0066 例如 : 某安全功能 (见图 3) 的步骤 1 要求在 10ms 内处理完成。 0067 1. 当 MCurExecTime模块收到 “任务调度, 结果 OK” 时, 开启一个 10ms 的定时器。 。

24、说 明 书 CN 103885851 A 6 5/6 页 7 0068 2. 当 MCurExecTime模块收到 “步骤 1 完成, 结果 Y” 或者 “步骤 1 完成, 结果 N” 时, 关 闭 10ms 定时器。 0069 3. 如果 10ms 定时器超时, 说明该安全功能完整性丢失, 整个系统应该立刻导向安 全。 0070 这里的时间戳有 2 个用处 : 0071 1. 在有系统定时器可用时, 计算定时器超时时间的偏差值。 0072 2. 在没有定时器可用时, 根据报告时间戳, 和当前时间戳, 通过周期性时间检查来 实现类似定时器的功能。 0073 其他 CPU 功能执行路径监控的实施。

25、方式 : 0074 其他 CPU 功能执行路径监控 MOthExecCase模块, 通过 CPU 间通信接收到来自其他 CPU 的功能执行校验字 WExecChk, 来实现对其他 CPU 的功能执行路径完整性进行检查。 0075 功能执行校验字 WExecChk采用循环冗余校验 CRC 算法, 将安全功能执行过程中产生 的执行报告中的处理步骤的名称和结果进行循环迭代计算, 得出校验字。 0076 例如 : 某安全功能的某条正常执行路径校验字可以通过下面的描述计算得出。 0077 WExecChk= 循环冗余校验 CRC(“任务调度” ,“结果 OK” ,“步骤 1 完成” ,“结果 Y” ,“。

26、步骤 3 完成” ,“结果 B” ,“步骤 5 完成” ,“结果 OK” ) 0078 所以, 每一个执行路径的校验字都是唯一的。 0079 当 MOthExecCase模块收到校验字时, 可以在软件设计时产生的执行路径校验字表格中 进行对照检查 (见表 1) 。如果收到校验字的没有在对应功能的校验字表中存在, 说明其他 CPU 的功能执行路径完整性丢失, 整个系统应该立刻导向安全。 0080 其他 CPU 功能执行时间监控的实施方式 0081 其他 CPU 功能执行时间监控 MOthExecTime模块, 通过 CPU 间通信接收到来自其他 CPU 的功能执行校验字 WExecChk, 实现。

27、对其他 CPU 的功能执行时间完整性进行检查。 0082 该检查仅能针对其他 CPU 的功能整体执行时间或时间间隔进行检查。因为要检查 其他CPU的功能内部细节的执行时间检查, 会耗费大量的CPU资源和通信资源, 且该检查已 经由其所在的 CPU 完成。 0083 例如 : MOthExecTime模块监控某安全功能 (见图 3) 是否 10ms 正常执行一次。 0084 1. 当收到校验字时, 进行查表检查 (见表 2) , 看校验字是否表示该功能在其他 CPU 上是按照正常执行路径执行的。 0085 说 明 书 CN 103885851 A 7 6/6 页 8 0086 表 2 某安全功能。

28、的执行路径校验字 0087 2. 如果校验字表示功能正常完成 (可以是不同的正常执行路径) , 则重启 10ms 定 时器。 0088 3. 如果 10ms 定时器超时, 则说明其他 CPU 上的某安全功能执行时间完整性丢失, 系统应该立刻导向安全。 0089 综上所述, 本发明能够实时发现由于随机故障和系统故障导致的系统安全功能失 效, 使引导系统导向安全。因此满足工业控制系统和安全信号系统 (应用于航空电子、 铁路 信号、 核电等行业) 的软件系统安全需求。 0090 本发明并不限于上文讨论的实施方式。 以上对具体实施方式的描述旨在于为了描 述和说明本发明涉及的技术方案。 基于本发明启示的显而易见的变换或替代也应当被认为 落入本发明的保护范围。以上的具体实施方式用来揭示本发明的最佳实施方法, 以使得本 领域的普通技术人员能够应用本发明的多种实施方式以及多种替代方式来达到本发明的 目的。 说 明 书 CN 103885851 A 8 1/3 页 9 图 1 说 明 书 附 图 CN 103885851 A 9 2/3 页 10 图 2 图 3 说 明 书 附 图 CN 103885851 A 10 3/3 页 11 图 4 说 明 书 附 图 CN 103885851 A 11 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1