0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

AUTOSAR E2E:车载通信的安全保障

上海控安 来源:上海控安 作者:上海控安 2023-10-27 15:32 次阅读

作者 | 沈平 上海控安可信软件创新研究院汽车网络安全组

来源 |鉴源实验室

社群 |添加微信号TICPShanghai”加入“上海控安51fusa安全社区”

随着汽车行业逐步走向电气化、智能化,车载系统的软件和硬件复杂度不断上升。如何确保这些复杂系统中的数据通讯安全和可靠,已成为业界关注的焦点。E2E(End-to-End)通讯常常指的是一个信息从发送端到接收端的完整传输过程,保障通讯中数据的完整性与安全性。AUTOSAR (AUTomotive Open System ARchitecture)是一个全球汽车工业的标准化项目,旨在为嵌入式汽车软件创造一个共同的标准。在AUTOSAR架构中,软件被分为三个主要层次:应用软件(ASW, Application Software),基础软件(BSW, Basic Software),以及运行时环境(RTE, Runtime Environment)。E2E通常是在ASW层实现的,它确保应用级的数据通信在发送和接收时的完整性。图1所示为在AUTOSAR架构中E2E保护示例图。在图1中E2E能够减轻BSW层软硬件以及ECU之间网络通讯的故障。

wKgaomU7Zy6AIEfnAAHn9N3SA5o125.png

图1通过E2E保护减轻故障的示例图

功能安全是关于硬件和软件系统在出现故障时仍然保持安全状态的能力。在车载系统中,例如ISO 26262标准定义了如何评估和确保汽车电子/电气系统的功能安全。当进行功能安全评估时,可以考虑E2E保护作为降低数据通信相关风险的一个措施。E2E之所以能够保证一定程度的功能安全是因为E2E保护的目标是确保数据在传输过程中的完整性,避免由于噪声、干扰或软件错误导致的数据损坏或失真。它包括两大核心要素:

1.通过计算和验证校验和或CRC(循环冗余校验),确保数据在传输过程中没有被篡改或损坏。如果一个关键系统(例如制动系统或转向系统)收到了损坏或篡改的数据,它可能会做出不正确的决策,从而导致功能失效甚至危险情况。E2E保护通过确保数据完整性来减少这种风险。

2.通过顺序计数器(Counter)来确保消息按预期的顺序到达,能够检测丢失的消息或重复的消息。如果接收端的计数器值与预期不符,这可能是由于消息丢失或者重复。对于某些功能安全关键的应用,如自动驾驶或紧急刹车,如果系统收到的数据是间断的,可能会导致不适当或延迟的响应。

接下里将结合AUTOSAR官方文档中的E2E Profile 1例子,具体阐述E2E是如何工作的。E2E Profile 1由以下四个组件构成:

CRC:循环冗余检查。Profile 1通常使用一个8位的CRC,采用CRC-8-SAE J1850-0x1D多项式计算。

Counter:计数器在每次消息发送时增加。对于Profile 1,这通常是一个4位的值,这意味着它的范围是从0到14。当达到最大值后,计数器会回绕到0。

Data ID:用来唯一标识数据元素或消息的标识符。对于Profile 1,这通常是16位的值,用来参与计算CRC,但不会进行实际的数据传输。

Timeout monitoring:超时监控是由E2E管理模块对counter的值计算得到。

需要注意的是E2E保护中的CRC不同于CAN或者FlexRay通讯协议的CRC校验。其中CAN或者FlexRay通讯协议的CRC是由通信控制器中的硬件支持提供,并不是由E2E管理模块生成的。E2E保护中的CRC是CAN或者FlexRay通讯协议中传输的数据段内容。另外Counter的值是0到14,值15是用来表示错误的。在AUTOSAR 官方文档中E2E Profile 1对于CRC以及Counter是可以自定义其起始位置的,在本文中将CRC起始位置定义为bit 0且长度为8,Counter起始位置定义为bit 8,且长度为4。如图2所示。

wKgaomU7ZzmAfrExAADcRVm9upY478.png

图2 E2E保护报文矩阵示意图

CRC的计算过程中,一般会对整个报文传输的数据进行校验。其中未使用的bit位用0xFF代替。根据图2报文矩阵定义,CRC的计算如图3计算示意图所示,在图3中CRC计算的结果填充在了报文的第一个Byte,Counter值填充在了报文第二个Byte的低位。

wKgZomU7Z0OAex_tAAB9CdHl1qw396.png

图3 CRC计算示意图

E2E保护的工作原理,作为发送端需要对每一条消息增加顺序计数器的值,使用Data ID、Counter以及传输数据计算CRC,将Counter和CRC添加到消息中并发送。作为接收方使用接收到的Data和Counter计算CRC,检查计算出的CRC是否与接收到的CRC匹配,检查Counter值以确定消息的连续性。如果在接收端CRC不匹配,这意味着数据可能已经被损坏。根据系统的需求,可以选择触发一个错误报告或者采取其他的错误处理措施。如果Counter值不是预期的(例如,如果它比上一条消息的值小),这可能意味着消息是过时的或者已经被重复。同样,可以根据具体情境进行处理,如丢弃数据或者触发一个警告。对于Counter校验机制如图4所示。

wKgaomU7Z02AVGEnAAISnpS_ptM188.png

图4 counter校验机制

在图4中,会根据配置的参数对counter进行校验,配置项包括允许最大的丢帧的数量,允许重复的计数器的数量等。通过对计数器的校验,会导致8种E2E状态:

E2E_P01STATUS_OK:Counter计数器正确并且CRC校验正确。

E2E_P01STATUS_NONEWDATA:一个报文周期内未接收到该E2E报文。

E2E_P01STATUS_WRONGCRC:CRC校验失败。

E2E_P01STATUS_SYNC:在收到期望之外的Counter后,收到了一个正确的CRC与合理的Counter。

E2E_P01STATUS_INITIAL:初始化阶段。

E2E_P01STATUS_REPEATED:收到的Counter是重复的。

E2E_P01STATUS_OKSOMELOST:接收到的E2E报文连续两帧之间的Counter差值大于1但小于MaxDeltaCounterInit。

E2E_P01STATUS_WRONGSEQUENCE:接收到的E2E报文连续两帧之间的Counter差值大于MaxDeltaCounterInit。

以上,本文对E2E保护机制的核心概念以及实现原理进行了简单的阐述。如果想对E2E保护机制在AUTOSAR中如何进行配置,需要进一步阅读AUTOSAR官方文档。

参考文献:

AUTOSAR.(2022).E2E Protocol Specification. AUTOSAR Standard Working Specification.

AUTOSAR.(2022).pecification of SW-C End-to End Communication Protection Library. AUTOSAR Standard Working Specification.

审核编辑:汤梓红

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

    关注

    9

    文章

    330

    浏览量

    21138
  • 车载系统
    +关注

    关注

    1

    文章

    126

    浏览量

    27039
  • 车载通信
    +关注

    关注

    0

    文章

    40

    浏览量

    13374
收藏 人收藏

    评论

    相关推荐

    以前的E2E社区的资料

    以前的E2E社区合到这边来了,那以前的视频资料哪里能找到阿,我想找Tommy song的C64+的视频教程~~麻烦,谢谢!
    发表于 06-21 00:43

    “网络物理系统(CPS) - 面向安全关键应用的未来异构多核E / E架构”

    平台 -用于智能功能安全和信息安全的汽车软件框架的开发进程”包括挑战和应用案例,自适应式平台18-10的发布,在功能安全,信息安全和人工智能背景下的
    发表于 09-26 01:27

    电子发烧友E2E线下30城活动 | 让技术成就梦想,谁将是梦想领航人呢?

    去拼搏努力…………没有关系,当你看到了这篇文章,你会知道,我们一直在寻找的就是你电子发烧友E2E 30城技术沙龙,让技术成就梦想!什么是电子发烧友E2E 30城技术沙龙?电子发烧友
    发表于 12-20 17:19

    电子发烧友E2E首场粉丝见面会,畅谈如何提升产品可靠性?

    `E2E技术活动在这里集圈内实战高手纯干货技术分享你可以结识更多技术工程师,切身在充满技术氛围里成长你可以与每一位工程师尽情交流,探讨即时热点技术相关的各类问题还可以,很多,更多......1月19
    发表于 01-11 15:03

    电子发烧友E2E线下30城活动 | 让技术成就梦想,谁将是梦想领航人呢?

    拼搏努力…………没有关系,当你看到了这篇文章,你会知道,我们一直在寻找的就是你电子发烧友E2E 30城技术沙龙,让技术成就梦想!什么是电子发烧友E2E 30城技术沙龙?电子发烧友
    发表于 03-06 12:00

    应用层通信安全

    `欢迎工程师的我们!电子发烧友E2E技术沙龙-北京站,本期讨论主题是关于“应用层通信安全E2E活动北京站活动链接~~http://url.elecfans.com/u/
    发表于 03-18 17:55

    HarmonyOS应用开发-HelloWorld应用开发E2E体验

    世界!5. 恭喜您您已经成功完成了HelloWorld应用开发E2E体验,并学到了: 如何创建一个HarmonyOSProject 编译构建hap包 将hap包部署到智慧屏远程模拟器上并运行
    发表于 09-24 11:10

    汽车显示屏E-MARK证书E1E2E3E4E5E6E7E8E9E24

    `各国的证书有相应的编号:E1—德国 E2—法国 E3—意大利 E4—荷兰 E5—瑞典E6—比利
    发表于 05-20 13:31

    介绍AUTOSAR支持的四种功能安全机制

    1、AUTOSAR的四种功能安全机制虽然AUTOSAR不是一个完整的安全解决方案,但它提供了一些安全机制用于支持
    发表于 06-10 17:33

    AUTOSAR功能安全机制之内存分区与实现

    1、AUTOSAR功能安全机制之内存分区与实现  在AUTOSAR架构中,应用软件位于RTE上方,由互连的AUTOSAR SWC组成,这些组件以原子方式封装了应用软件功能的各个组成部分
    发表于 09-19 15:55

    AUTOSAR信息安全框架和关键技术相关资料介绍

    越来越多的关注和重视。AUTOSAR作为目前全球范围普遍认可的汽车嵌入式软件架构,已经集成的相关信息安全模块对实现信息安全需求有着充分的支持,例如保护车内通信或保护机密数据。由于CP
    发表于 11-24 16:51

    E:\NXP\AUTOSAR\S32K_AUTOSAR_OS_4_0_98_RTM_1_0_0sample\standard\sc1”编译时无法生成sample1_cfg.o怎么解决?

    你好:我用例子“E:\NXP\AUTOSAR\S32K_AUTOSAR_OS_4_0_98_RTM_1_0_0sample\standard\sc1”编译时,总是出现无法生成
    发表于 04-06 07:42

    汽车系统安全组件在车载网络通信架构的应用

    通信的功能安全需遵循E2E(End to End,端到端)的理念,无论从系统功能安全的角度还是从软件功能安全的角度,接入分布化及计算集中化
    发表于 12-02 10:50 393次阅读

    Autosar E2E介绍及其实现

    E2E(End-to-End)保护存在于安全性较高的信号,在信号传递的过程中,受软硬件的影响,发送端和接收端的数据可能不一致,此时E2E的作用就体现出来,系统可以快速检测出E2E异常,
    的头像 发表于 09-22 10:28 1189次阅读
    <b class='flag-5'>Autosar</b> <b class='flag-5'>E2E</b>介绍及其实现

    AUTOSAR SecOC:保障汽车通信安全

    在现代汽车行业中,随着电子控制单元(ECUs)的普及以及车与车之间通信的不断增加,确保通信安全变得尤为关键。AUTOSAR (Automotive Open System Archit
    的头像 发表于 10-09 16:37 607次阅读
    <b class='flag-5'>AUTOSAR</b> SecOC:<b class='flag-5'>保障</b>汽车<b class='flag-5'>通信</b>的<b class='flag-5'>安全</b>