点击上方蓝字谈思实验室
获取更多汽车网络安全资讯
功能安全必提的E2E保护是什么?在E2E保护概念没有正式推出之前,其实我们早已经接触过,即在CAN通讯矩阵或DBC文件中每条报文中的Checksum和Rolling Counter。通过Checksum判断CAN报文传输是否出错,通过Rolling counter 判断报文传输过程是否出现丢帧或漏帧,这是E2E保护的常用方法。除此之外,还有哪些方法?本文根据AUTOSAR E2E模块对此进行详细介绍。
01
E2E的基本概念
AUTOSAR E2E保护模块全称为端到端通信保护(End-to-End Communication Protection)。为什么会设计这样一个模块?这得从汽车控制器ECU说起。
1.1 笼统的通讯失效危害
汽车上任何电子器件都存在失效或故障的可能性,它们可能发生随机的硬件失效,也可能受到电磁干扰而发生故障。ECU也不例外,对于ECU通讯功能,不管是ECU之间的通信还是ECU内部不同模块之间的通信都有可能因为外界的这些干扰因素而产生失效。
假如出现通讯功能失效,如果没有对通信数据做保护,那么将可能对乘车人员和车辆造成严重的危害和伤害,比如车辆正在紧急制动规避碰撞前车,此时通讯失效,导致制动信号归零不再进行制动,就有可能导致车辆追尾前车。因此,我们无法接受通信数据内容异常或不受控的状态,必须采取对通讯数据采取一些保护措施。
1.2 笼统的通讯失效原因
应该采取怎么样的保护措施?需要先了解有哪些失效,才能因地制宜。对于ECU通讯功能失效,通常由瞬态故障、随机硬件故障和软件故障引起。
-
瞬态故障:由外部影响或环境应力引起,包括EMI、ESD、湿度、腐蚀、温度或机械应力等。
-
随机硬件故障:由电气过载、退化、老化或暴露于硬件部件的外部干扰因素引起。随机硬件故障无法完全避免,但可以评估其概率并进行故障诊断处理。
-
软件故障:通信协议栈,RTE等软件模块可能存在bug,而这些bug是系统性的,可能发生在系统生命周期的规范,设计,制造,运行和维护的任一阶段,其后果可能导致通信失败,比如发送数据中断,接收器溢出等故障。
1.3 基于AUTOSAR架构的通讯失效分析
对于上述的这些失效,如果采用AUTOSAR进行软件实现,那么基于AUTOSAR功能实现链路可以将它们细分为软硬件导致的通信失效,分析如下图所示:
其中,硬件导致的通信失效有:
-
H1:通信的物理网络存在故障;
-
H2:是通信网络的接口存在电磁兼容性问题;
-
H3:微控制器故障,例如上下文切换时寄存器失效等。
软件导致的通讯失效有:
-
S1: RTE生成代码出错
-
S2: COM服务层代码出错;
-
S3: 通信接口层和通信的驱动层之间可能存在问题;
-
S4:IOC或OS生成出错。
为了在系统运行过程中,动态地识别软硬件故障引起通信失效,保证ECU之间以及ECU内部不同核之间,不同SWC之间数据的安全通信,因此基于AUTOSAR的E2E通信保护协议被提出来了。
1.4 AUTOSAR E2E要解决哪些通讯失效
AUTOSAR的E2E通信保护是为了解决下列的这些通讯失效,包括:
-
信息重复:多次收到同一条信息;
-
信息丢失:传输的信息流中,信息或部分信息被移除;
-
信息延迟:信息接收比预期晚;
-
信息插入:传输的信息流中,额外信息被插入;
-
伪装:非真实信息被接收方接收为真实信息;
-
不正确寻址:接收了不正确的发送方的信息或被不正确的接收方接收了信息;
-
信息序列不正确:修改了传输的信息流中的信息序列;
-
信息损坏:改变信息;
-
从发送方发送到多个接收方的非对称信息:接收方从同一发送方接收到了不同信息;
-
来自发送方的信息仅由一部分接收方接收:有些接收方没有接收到信息;
-
阻塞访问通信通道:通信通道的访问被阻塞。
02
AUTOSAR E2E机制
在信息交换中,为了检测出上述的各种失效状态,AUTOSAR E2E保护通过对通信数据增加DataID、CRC、Counter等控制字段,使得软件可以在运行时检测和处理通信链路故障的方式来实现。简而言之,E2E保护可以实现:
-
通过附加的控制数据来保护要通过RTE发送的安全相关的数据元素。
-
通过控制数据来验证从RTE接收到的安全相关的数据元素。
-
当接收到的安全相关的数据元素发生错误时,可以发出通知并相关的SWC处理。
也就是说,E2E只能检测出通信数据的失效,失效的处理是由应用SW-C来实现。
为了实现E2E保护,AUTOSAR E2E采用了哪些机制,如下表所示:
这些机制可以检测通讯故障有:
这些机制具体的通讯故障原理是怎样的?
这里简单说明一下。比如:
-
使用counter可以检测出信息重复故障。具体场景就是接收方连续接收到两个相同的counter,那明显是数据发送重复,也就是“信息重复”故障。
-
使用Data ID + CRC,Data ID一般不显式传输,其信息包含在CRC中。具体场景是接收方检测出接收的CRC校验不对,经分析数据内容相同,Data ID不一致,这说明发送方传输数据给接收方,Data ID发生了变化,即检测出了信息伪装或信息的不正确寻址的通讯故障。
为了满足能够检测出信息交换的11种失效模式,根据功能安全中信息交互的具体需求来,AUTOSAR E2E模块采用了上述的这些机制,设计了5种profile,它们分别是P01、P02、P04、P05和P06 ,每种 Profile 提供不同的保护策略。
在具体E2E的实现过程是:
发送方填写counter,计算出的CRC等信息,发送给接收方,然后接收方需要对接收到的数据进行CRC校验,counter连续性判断等操作。
来源: 谦益行
AutoSec 安全之星 2024 网络投票火热进行中……
专业社群
精品活动推荐
原文始发于微信公众号(谈思实验室):AUTOSAR E2E保护基础
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论