一种芯片安全自动纠错的方法
文献发布时间:2023-06-19 11:05:16
技术领域
本发明涉及芯片安全技术领域,具体涉及一种芯片安全自动纠错的方法。
背景技术
航海航空航天自动驾驶等对安全可靠性要求极高的应用场景中,芯片安全是在正确性稳定性和低功耗之外的一大指标。芯片安全目前是通过功能验证的方法发现和填补设计漏洞。这个方法有两大问题。一是关于安全隐患的理解和描述往往比较复杂,以人工方式输入到验证工具的规程容易出错。二是安全漏洞通常存在于芯片和SOC级别的大规模系统中,现有的验证工具往往无法胜任。在市场或任务时间窗口的压力下,芯片不可避免的带着安全隐患投入使用,给对于安全性高度敏感的应用场景带来风险。
发明内容
本发明的目的在于提供一种芯片安全自动纠错的方法,用以解决芯片运行安全的问题。
为解决上述技术问题,本发明采用了以下方案:
一种芯片安全自动纠错的方法,包括以下步骤:
S1:安全属性断言:对被监测系统进行安全分析,找出多条安全属性,并确定关键的安全属性,并对多条安全属性进行描述;
S2:生成属性自动机:对安全属性进行自动综合生成属性自动机;
S3:生成约束自动机:将属性自动机转换为约束自动机,并赋予自动纠错功能;
S4:生成联合约束自动机,检查属性兼容性;
S5:联合约束自动机与被监测系统合成自动纠错系统。
优选的,在步骤S1中,采用严格的形式逻辑断言对多条安全属性进行描述,通过多条断言联合综合进行判断,确定各安全属性之间的兼容性,使得各安全属性之间不会发生冲突。
优选的,在步骤S2中,所述属性自动机起监测作用,当违反安全属性的行为发生时属性自动机发出警报信号。
4、根据权利要求1所述的一种芯片安全自动纠错的方法,其特征在于,在步骤S3中,所述约束自动机在基于属性自动机发出报警信号的状态下,对违反安全属性的行为发生时赋予约束自动机自动进行纠错的功能,约束自动机覆盖被监测系统的错误输出。
优选的,所述约束自动机通过子集构造从属性自动机获得。
优选的,在步骤S5中,所述被监测系统为Mealy状态机,由外部输入,内部处理和控制,及控制输入组成,外部输入的同时也输入到约束自动机,约束自动机将约束控制输出行为,若输出满足约束时将传输到下一级系统,否则约束自动机的输出将传输到下一级系统。
本发明具有的有益效果:
1、本发明提出对于安全运行模式的建模和优化,安全运行模式往往比正常运行模式更抽象和简洁,省略掉正常模式中的一些优化和细节,但是保持了基本功能并满足安全要求,安全运行模式以高级语言描述并进行综合自动生成电路,与现有监测电路不同的是,安全运行模式电路会在监测电路报警情况下接管芯片运行,监测电路在安全模式下会继续运行,直到报警解除,然后安全运行电路会将运行权交还原芯片电路。
2、安全属性库和相应的安全运行库可以以软IP的方式在芯片设计过程中融入到芯片本体,这种用法即适合ASIC也适合FPGA芯片,另一种方式是作为协处理器和被监控芯片并行运行。
附图说明
图1为本发明的流程示意图;
图2为合成自动纠错系统的示意图;
图3为红绿灯为例中多个属性自动机合并状态示意图;
图4为红绿灯为例中属性自动机示意图;
图5为红绿灯为例中子集构造的约束自动机示意图;
图6为实施例2中属性一的属性自动机示意图;
图7为实施例2中属性一的约束自动机示意图;
图8为实施例2中属性二的属性自动机示意图;
图9为实施例2中属性二的约束自动机示意图;
图10为图7和图9中约束自动机的联合自动机示意图。
附图标记:。
具体实施方式
下面结合实施例及附图,对本发明作进一步的详细说明,但本发明的实施方式不限于此。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖向”、“纵向”、“侧向”、“水平”、“内”、“外”、“前”、“后”、“顶”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
在本发明的描述中,还需要说明的是,除非另有明确的规定和限定,术语“设置”、“开有”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
如图1所示,一种芯片安全自动纠错的方法,包括以下步骤:
S1:安全属性断言:对被监测系统进行安全分析,找出多条安全属性,并确定关键的安全属性,对多条安全属性进行描述;安全属性是一个系统对于安全性的具体需求,可以通过断言的形式来描述,是通过人工生成的,关键的安全属性即为最重要或最基础的安全属性,如交通灯控制系统,南北和东西向不能同时亮绿灯,这条安全属性是所有类似系统必须遵守的。
S2:生成属性自动机:对安全属性进行自动联合综合生成属性自动机;属性断言转换为状态机需要根据断言的种类(比如正则表达式)来决定算法。本发明并不局限于某种断言,而不同断言的转换为自动机为已知算法,再次不做赘述。
S3:生成约束自动机:将属性自动机转换为约束自动机,并赋予自动纠错功能;
S4:生成联合约束自动机,检查属性兼容性;
S5:联合约束自动机与被监测系统合成自动纠错系统。
具体的,对于S1中,采用严格的形式逻辑断言对多条安全属性进行描述,安全属性的描述是系统必须规避的场景,把系统设为Mealy状态机(Mealy状态机为现有技术,其电路结构图无需经过努力便可获得,即输出不仅和状态有关而且和输出有关系),某些输出组合在所有可能的输入组合下都不应该发生,比如交通灯控制两个走向的输出不应该同时为绿色,通过多条断言联合综合后的自动机是否为空来对各安全属性之间的兼容性进行判断,使得各安全属性之间不会发生冲突,若自动机步为空表明两个安全属性兼容,否则不兼容。如交通灯的另一条安全属性,红绿灯转换必须经过黄灯,该条安全属性不能与步骤S1中的南北和东西向不能同时亮绿灯的安全属性冲突,必须两者都满足。在联合综合过程中,相应于多个属性的自动机会进行状态合并,如果状态合并发冲突,则视为相应的属性不兼容。如图3所示,以红绿信号灯为例,合并两条关于红灯停车后允许行为的属性时发生冲突:属性0规定红灯情况下只能保持停车状态,属性1规定红灯可以保持停车也可以右转。状态合并过程中,被合并状态(stop0和stop1)在相同输入条件下(red)所到达的状态集合,即属性0的stop0及属性1的stop1和turn right要进行逻辑与其结果是stop0和stop1兼容合并为stop,stop0和turn right冲突相互抵消,最后合并结果为stop,两个属性在红灯是否能右转发生冲突,做了不同的规定。
所述属性自动机起监测作用,当违反安全属性的行为发生时属性自动机发出警报信号。
所述约束自动机在基于属性自动机发出报警信号的状态下,对违反安全属性的行为发生时赋予约束自动机自动进行纠错的功能,约束自动机覆盖被监测系统的错误输出,从而有效避免灾难性时间发生。
所述约束自动机通过子集构造从属性自动机获得。属性自动机可能带有不确定状态迁移,即从一个状态出发,在相同输入条件下可能到达多个状态。比如图3中从stop1在红灯情况下即可以停车,也可以右转。约束自动机必须要消除这种不确定性,其方法本质上是把同一条件下的多个状态以逻辑或的方式组合为一个状态,这个状态是属性自动机全部状态集合的一个子集,所以称为子集构造法。比如图3中stop1红灯下可以到达状态子集{stop1,turn right}。
子集从属性自动机的初始状态开始,按上述方法进行递归,即把当前被处理状态当作一个子集,对于每一个独特的输入条件,把该子集内的每个状态所能到达的状态组合为一个新子集,作为约束状态机在这一条件下从当前状态到达的状态,如图4(属性自动机)和图5(子集构造的约束自动机)所示,子集构造的算法为现有技术。
如图2所示,所述监测系统为Mealy状态机,由外部输入,内部处理和控制,及控制输入组成,外部输入的同时也输入到约束自动机,约束自动机将约束控制输出行为,若输出满足约束时将传输到下一级系统,若不满足约束时,约束自动机通过自动纠错功能变成纠错自动机并将输出纠错,然后将纠错后的输出将传输到下一级系统,这样系统就变向的获取了自动纠错功能,本发明提出对于安全运行模式的建模和优化,安全运行模式往往比正常运行模式更抽象和简洁,省略掉正常模式中的一些优化和细节,但是保持了基本功能并满足安全要求,安全运行模式以高级语言描述并进行综合自动生成电路,与现有监测电路不同的是,安全运行模式电路会在监测电路报警情况下接管芯片运行,监测电路在安全模式下会继续运行,直到报警解除,然后安全运行电路会将运行权交还原芯片电路;安全属性库和相应的安全运行库可以以软IP的方式在芯片设计过程中融入到芯片本体,这种用法即适合ASIC也适合FPGA芯片,另一种方式是作为协处理器和被监控芯片并行运行。
实施例2
本实施例以两个红绿灯安全属性为例:
属性一:绿灯之后仍是绿灯或跳转为黄灯(禁止绿灯直接跳转到红灯)。属性表达式为:G→next(G or Y),其中G,Y分别代表绿灯和黄灯。
属性二:红灯之后仍是红灯或跳转为黄灯(禁止红灯直接跳转到绿灯)。属性表达式为:R→next(R or Y),其中R,Y分别代表红灯和黄灯。
图6和图7对应于属性一的属性自动机和约束自动机。可以看出,附图7中,初始状态0等待绿灯出现,这也是属性一的先决条件。不出现绿灯则自动机停留在状态0。出现绿灯,则跳转到状态1。状态1允许绿灯和黄灯,但是红灯触发到出错状态,状态3的跳转。此时自动机报错并强制发出绿灯或黄灯(只要不是被禁止的红灯)。注意,状态1出现黄灯后跳转回状态0解除了对红灯的强制禁止,因为状态0允许任何灯的出现,只是绿灯后进入状态1禁止红灯。而且在状态1只要还是绿灯,自动机会停止在该状态并禁止红灯,直到黄灯出现回到初始状态。所以图7的约束自动机准确实施了安全属性一的要求。
图8和图9对应于属性二的属性自动机和约束自动机。其实施过程和附图6和7类似,只是将绿灯和红灯对换。
图10是图7和图9约束自动机的联合自动机。可以看出图7和图9的初始状态及出错状态分别合并为图10的初始及出错状态。而图7的红灯禁止状态(状态1)成为图10具有同样功能的状态2,图9的绿灯禁止状态(状态1)成为图10中具有同样功能的状态3。这样图10完整的实现了两个约束自动机的功能。而两个约束自动机状态在图10中的保留也说明两个属性的兼容性。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,依据本发明的技术实质,在本发明的精神和原则之内,对以上实施例所作的任何简单的修改、等同替换与改进等,均仍属于本发明技术方案的保护范围之内。
- 一种芯片安全自动纠错的方法
- 一种以太接口前向纠错模式自动选择方法、芯片及设备