AutoSAR E2E自学笔记
2022-10-4 18:17:27 Author: 谈思实验室(查看原文) 阅读量:114 收藏

点击上方蓝字谈思实验室

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

1. 简介

E2E 保护的概念:
保护运行时安全相关的数据交换,免受通信链路内故障的影响。
造成故障可能的原因包括:

  1. 硬件随机故障(CAN Trcv 的寄存器故障)

  2. 硬件EMC干扰

  3. 软件设计/运行故障
    为了保证接收端 能够接收到正确的数据,或者在收到错误的数据时能够进行识别。

E2E 模块提供了多种不同的E2E 范式,可以运用在不同的场景下。

  1. E2E P01

  2. E2E P02

  3. E2E P04

  4. E2E P05

  5. E2E P06

  6. E2E P07

  7. E2E P11

  8. E2E P12
    数字越大,可以保护的数据量越大。
    E2E 是通过对数据元素计算CRC 以及Counter 来进行保护,接收方在根据接收到数据来判断是否正确

    以报文DBC为例,在下图中受保护的数据实际是Signal ADCU_ACC_SYS_FAILURE
    但实际报文中还有Counter 以及 CheckSum 和DATA ID(报文ID)

    Counter 值随着报文的发送计数,Checksum 根据 DATA ID +Rollingcnt+ ADCU_ACC_SYS_FAILURE 计算得出。

2.1 P01 特性

P01的主要特性如下

  1. Counter的阈值 是0-14

  2. Timeout 监控

  3. DATA ID 16位

  4. CRC 采用 CRC-8-SAE J1850(非AUOTSAR 标准CRC8, 起始值和异或值都是0x0)

    Note: 有些主机厂的规范并不会按照AUTOSAR规范来实施,按需要修改代码即可。

2.2 E2E_P01ConfigType 介绍

E2E P01 通过E2E_P01ConfigType 以适配不同的被保护数据元素,如下图

E2E 保护数据的都是以数组的形式体现(连续的Bit位),如下图

因此需要通过E2E_P01ConfigType 来进行对应参数的配置

  1. CounterOffSet Counter 的起始Bit 位

  2. CrcOffset CRC 值的起始Bit 位

  3. DataIDNibbleOffset DataID 的起始Bit 位

  4. DataIDMode ID的CRC计算模式,有如下选项


4.1 E2E_P01_DATAID_BOTH DATA ID 两个Byte 都参与CRC计算
4.2 E2E_P01_DATAID_ALT 奇数Counter.Low Byte 参与计算,偶数Counter High Byte 参与计算
4.3 E2E_P01_DATAID_LOW 仅Low Byte 有效
4.4 E2E_P01_DATAID_NIBBLE Low Byte 参与CRC计算,高Byte的半个Byte+Low Byte 随着数据传递
5. MaxDeltaCounterInit 当前后两帧数据的Counter差值大于该值,就被判定为数据接收跳变
5. MaxnoNewOrRepeatedData 当接收到重复数据次数小于该配置参数,则接收端不需要执行数据同步处理
6. SyncCounterInit 当执行数据同步处理时,接收到正确数据次数必须大于该配置参数,才能将状态有同步状态转移到OK状态

2.3 E2E_P01CheckStateType 介绍

E2E 主要利用两个接口进行数据的保护和验证

  1. E2E_P01Protect 用于数据发送前的保护

  2. E2E_P01Check 用于数据接收后的校验

E2E P01通过 E2E_P01CheckStatusType 来表示当前E2E的状态。
一共有一下几个故障状态


将 E2E_P01CheckStateType 映射成 E2E_P01CheckStateType

E2E受保护的数据中所有的元素应保证Byte对齐

E2E 最典型的使用场景就是配合Com Tx /Rx Callout 进行报文的E2E计算与校验。

ComCallout E2E 发送

ComCallout E2E 接收

Com_ReceiveSignalGroup(SignalGroupA);Com_ReceiveSignal(SignalGroupA_Sig1, &SignalGroupBuffer->sig1Val);Com_ReceiveSignal(SignalGroupA_Sig2, &SignalGroupBuffer->sig2Val);Com_ReceiveSingal(SignalGroupA_Sig3, &SignalGroupBuffer->sig3Val);ret_u8 = E2E_P01Check                     ( Config_SignalGroupA                     , State_SignalGroupA                     , SignalGroupBuffer                     );
更多文章

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

软件如何「吞噬」汽车?

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

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

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

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

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

如何通过CAN破解汽

10月精品课程:AutoSec汽车网络安全高级工程师技术培训,仅限前15位,报满即止。

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

END

微信入群

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

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

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

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


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