简单聊聊E2E能保护什么错误

描述

最近做项目感觉很疲惫,而且有种深深的无力感,这个状态估计要持续到五月底了。好久不更新了,趁着假期放松时间,简单聊一聊E2E相关内容。

(一)

在汽车控制器研发过程中,控制器与控制器之间(或者同一个产品主板与从板之间)的通讯必不可少。发送方与接收方在数据交换过程中,如果数据完整性被破坏,那么正常的通讯功能可能出现问题,进而影响安全相关的功能。

(二)

这里我们先来看下通讯相关的故障都有哪些,以及如何去理解这些故障模式。大家也可以自行查看ISO-26262标准,Part5-附录D, Table D.1 -》D6 Communication bus 或者Part6-附录D, D.2.4 Exchange of information

Repetition of information; -》 信息是否被多次收到?

Loss of information; -》 信息或者部分信息是否从传输的信息流中被移除?

Delay of information; -》 信息是否晚于预期收到的时间?

Insertion of information; -》 额外的信息是否被插入到传输的信息流中?

Masquerade or incorrect addressing of information; -》 Masquerade 非真实的信息是否被接收方认为是真实信息? -》 incorrect addressing 信息是否从不正确的发送方或者接收方接受了信息?

Incorrect sequence of information; -》 信息顺序是否被改变?

Corruption of information; -》信息是否被损坏,从而改变了信息?

Asymmetric information sent from a sender to multiple receivers; -》 接收方是否从同一发送方接收到了不对称/不同的信息?

Information from a sender received by only a subset of the receivers; or -》 信息是否只被部分接收方收到?

Blocking access to a communication channel. -》 通信通道访问是否被阻止?

汽车控制器

(图片源于Autosar 官网文件)

(三)

26262中对通讯的保护,要求使用E2E (End-2-End protection)机制。E2E保护的概念是假设安全相关的数据交换在运行时应该被保护,进而免受通讯链路内故障的影响。此类故障的例子--随机硬件失效(e.g. CAN收发器的寄存器损坏),干扰(e.g. EMC因素),ECU内部 (e.g. IOC, RTE, COM和网络堆栈)实现VFB通讯的软件内的系统故障;当然也有外部的故障,比如,网关。

这里我们借鉴AUTOSAR对E2E的描述:从软件组见角度看,通过RTE传输数据的行为类似于简单的点到点连接。但是,这种抽象的实现,需要一个由应用层,通讯堆栈,驱动程序 和底层硬件组成的高复杂度的基础设施。随着复杂性的增加,潜在故障源的数量也在增加。E2E保护机制的使用假设在通讯期间必须保持安全相关数据的完整性,保护数据免受通讯链路内故障的影响。E2E保护最重要的方面是保护能力的标准化和机制的灵活运用。

(四)

E2E保护的架构实现如下,由应用数据组成的数据元素在发送方扩展了附加的控制信息,即E2E header。控制信息通常包含Checksum, Counter和其他选项。扩展数据元素被提供给RTE进行传输,如下图所示。展示了E2E基本的原理。通过根据应用数据处理E2E header的内容,在接收方验证数据元素。在接收到的数据元素被处理并被接受为正确之后,控制信息被移除并且应用数据被提供给目标软件组件。错误处理在接收器处执行。

汽车控制器

(五)

对于E2E的配置文件,这里依然借用AUTOSAR的描述。E2E的配置文件使用如下的数据保护机制的子集:

1)- CRC checksum,由CRC库提供;

2)- Sequence Counter 在每次传输请求时递增,在接收端检查该值是否正确递增;

3)- Alive Counter 在每次传输请求时递增,如果它发生变化,则在接收端检查该值,但不检查正确的递增。

4)- A specific ID 通过端口发送的每个端口数据元素的特定ID(全局到系统,其中系统可能包含多个ECU);

5)- Timeout Detection 接收方通讯超时和发送方确认超时;

AUTOSAR中一共提出了3种 E2E 配置文件 (其中配置1 有两个variants)。

Note: 一般情况下,都是只应用标准的配置文件。非标准的E2E配置文件只能用于特殊场景,比如 legacy software。

下面我们来看看各配置文件的保护机制:

汽车控制器

汽车控制器

汽车控制器

Note: E2E profile4专门为符合ASIL-D标准的长数据传输而设计。

本文主要是简单聊聊E2E能保护什么错误。关于E2E保护,还涉及E2E的状态机,E2E保护包装,E2E传输管理,RTE数据传输,检测和响应等,这里不再过多阐述。感兴趣的小伙伴可以到AUTOSAR官网去查看下相关资料。

审核编辑 :李倩

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分