谈安全系统设计中的冗余技术
2023-2-6 18:1:27 Author: 谈思实验室(查看原文) 阅读量:15 收藏

点击上方蓝字谈思实验室

获取更多汽车网络安全资讯

在安全系统设计中,为防护硬件随机性故障造成的功能失效,会用到不同于一般电子产品的设计方法,这些设计方法在功能安全标准如IEC61508、ISO26262有推荐的方法列表,根据电子系统的不同组成部分,可以应用不同的设计方法。本文来谈谈应用比较多的冗余技术,具体有硬件冗余、信息冗余、软件冗余。

硬件冗余:

硬件冗余是将多个硬件单元复制作为一个整体来提供功能。从组成部分来看,多个硬件单元可以是相同的,也可以是不同的,如使用相同的硬件,但是操作系统和应用不同,或者只有应用不同的。从最终输出来看,可以没有独立的表决器,由其中一个处理单元准备输出,也可以有独立的表决器。下面介绍几种典型的冗余架构:

主/从控制架构:以一个计算单元作为主控制输出,另一个计算单元作为从控制。在下面的架构中,主控制单元和从控制单元都对输入数据进行处理,并进行互相交互的校核,当从控制单元检查主控制单元的输出存在故障时,对主控制单元进行复位。该架构中当从控制单元的检查存在时间上的延迟,需要对故障输出的延迟时间影响增加分析。

双核锁步架构:芯片内的双核锁步架构冗余技术,每条CPU指令都由两个处理器独立地执行,每个处理器读取、写入数据后执行下一条指令,主处理器控制总线,从控制器控制一个监控器,当两个处理器发生不一致时,监控器用来使芯片输出导向安全,输出报警给外部的监控芯片。为了防止外部瞬态的电磁干扰,两个处理器在执行的时序上采用分时执行的方法。

NooM架构:由两个硬件计算单元构成的2oo2架构,由2个以上的计算单元可以构成2*2oo2或2oo3架构。2oo2架构能检查单个单元的故障,但是无法容错。它的共因故障是需要避免的,软件要具备硬件同样等级的安全性水平,硬件设计避免有共用部分,对CPU、内存应引入自检机制,以避免潜伏故障。

2oo2架构的一种近似架构是1oo2D架构,它也是由两个处理单元组成,每个处理单元都有对应的故障检测模块,比如说独立的看门狗,看门狗的输出用来控制选择开关,授权哪个处理单元对外输出。

多个处理单元的NooM架构有2oo3,兼顾了安全性和可用性。对于单个处理单元的故障,通常是将其导向安全侧输出,但也有设计为故障后进行重置,分享其状态给其它处理单元。举Boeing 777中的飞控计算机为例,由三个处理单元PFC(Primary Flight Computer)组成,PFC之间通过独立三个通信网络进行通信,每个PFC内部有三个异构的处理器Intel、Motorola和AMD,从而避免处理器的共因故障。每个处理单元在三种状态之间转换:控制、待机和监视,执行器对处理单元的输出进行选择。

信息冗余:

信息冗余增加多余的信息码,用于检测传输数据的错误,也可用于纠错,应用于内存,数据总线和通信网络的数据错误。常用的有奇偶校验,CRC校验,海明码和算术码。奇偶校验只能检测单bit错误,无法检测双重bit错误。CRC校验还可以应用于校验存储在内存中的数据或程序是否被篡改。

海明码用于存储或传输数据时检测和纠正错误,通过增加额外的奇偶校验位实现。标准汉明码只能检测和纠正单bit错误。对于双重bit错误,可以添加一个额外的总体奇偶校验位,以可靠地检测两位中的错误。这称为单纠错/双纠错检测 (SECDED)。

算术编码用包含两个字段的编码替代原来的数据:数据部分和编码部分。能够检测三种类型的错误:

  1. operation error(操作数错误):计算机使用预期操作符处理操作数得到了错误的结果 。这种类型的错误,非常类似于传输错误,但不会给代码设计带来新的约束。
  2. operator error(操作符错误):计算机使用好的操作数,但有一个非预期的运算符。例如,如果一个加法运算符被替换成乘法运算符,结果是假的,即使乘法计算的结果是正确的。对这种类型的错误的检测,不是数据传输通道存在的错误,需要对运算符增加编码。
  3. operand error(操作错误):一种情况是地址错误,相当于用一个变量替换了另一个变量。这种类型的错误发生在传输系统中,在不同的通道之间发生了串扰。类似于传输过程中收到了发送到另一个接收者的数据。另一种情况是存储错误,存储的数据变化或者没有被更新,是过时的数据。

软件冗余:

软件在同一个处理器执行两次,由外部设备进行表决,可以用于检测内存错误。需要将软件分别加载到不同的内存区域,因此,各种内存的故障如RAM、ROM、EPROM,都可以在运行过程中检测出来。但软件冗余属于执行程序的冗余,对于共享的硬件处理器故障无法检测。
可以在执行过程中加入指令的自测试,对不一致的数据进行比较,对处理器进行全面的功能测试。为了进行有效的检测,测试覆盖率必须足够(覆盖应用指令等),并且必须在正确的时间执行(初始化,在每个周期内,定期,在任务结束时)。这种做的缺点是增加了处理器的性能开销。
软件冗余相比硬件冗余更简单,但检测错误的有效性需要应用其它技术进行弥补,采用软件的多样化和自检测技术可以作为很好的补充。另外,由于软件的冗余执行,执行时间较长,适用于对时间性能要求不高的系统。

总结

以上是三种冗余技术的介绍,都是通过增加冗余的资源以实现故障的检测,有硬件资源的冗余,数据信息的冗余和软件执行层的冗余,通过一些简单的示例进行了说明。在实际系统的设计中,往往不仅仅采用单一的技术,而是多种冗余技术相结合。同时,冗余技术在于它对随机故障的检测有效性,与异构多样化相结合,实际使用可以提高对系统性故障的检测能力。

码上报名

2023第六届无人驾驶及智能驾舱中国峰会,5月11-12日,上海

码上报名

AutoSec 7周年年会暨中国汽车网络安全与数据安全合规峰会,5月11-12日,上海

更多文章

智能网联汽车信息安全综述

软件如何「吞噬」汽车?

汽车信息安全 TARA 分析方法实例简介

汽车FOTA信息安全规范及方法研究

联合国WP.29车辆网络安全法规正式发布

滴滴下架,我却看到数据安全的曙光

从特斯拉被约谈到车辆远程升级(OTA)技术的合规

如何通过CAN破解汽

会员权益: (点击可进入)谈思实验室VIP会员

END

微信入群

谈思实验室专注智能汽车信息安全、预期功能安全、自动驾驶、以太网等汽车创新技术,为汽车行业提供最优质的学习交流服务,并依托强大的产业及专家资源,致力于打造汽车产业一流高效的商务平台。

每年谈思实验室举办数十场线上线下品牌活动,拥有数十个智能汽车创新技术的精品专题社群,覆盖BMW、Daimler、PSA、Audi、Volvo、Nissan、广汽、一汽、上汽、蔚来等近百家国内国际领先的汽车厂商专家,已经服务上万名智能汽车行业上下游产业链从业者。专属社群有:信息安全功能安全自动驾驶TARA渗透测试SOTIFWP.29以太网物联网安全等,现专题社群仍然开放,入满即止。

扫描二维码添加微信,根据提示,可以进入有意向的专题交流群,享受最新资讯及与业内专家互动机会。

谈思实验室,为汽车科技赋能,推动产业创新发展!


文章来源: http://mp.weixin.qq.com/s?__biz=MzIzOTc2OTAxMg==&mid=2247518387&idx=1&sn=ec2d70dd81b18a9e862c30c3b9112b16&chksm=e927cc68de50457e8bc929ebf76cce267923ef38eff25b6a7afd6d77f79a1fba9f34f77d9b7e#rd
如有侵权请联系:admin#unsafe.sh