AUTOSAR的E2E通信安全

2023-05-16

AUTOSAR标准的安全通信为支持功能安全,AUTOSAR标准结合ISO 26262功能安全标准,在基础软件层从安全执行、安全通信以及安全内建测试三个方面做出了规范,并规范

AUTOSAR标准的安全通信

为支持功能安全,AUTOSAR标准结合ISO 26262功能安全标准,在基础软件层从安全执行、安全通信以及安全内建测试三个方面做出了规范,并规范了使用方法,本文主要介绍其安全通信部分。

1.安全通信组成部分

为了支持安全通信,AUTOSAR提供了三种机制,数据顺序控制、PDU复制和K/N的投票机制以及端到端的保护机制。其中数据顺序控制在COM中实现;PDU复制和N分之K(简称K/N)的投票机制涉及到COM和PduR模块;端到端的保护机制借助于端到端保护库(E2E库)来实现。

1.1 COM模块

COM模块为应用程序提供基于信号的数据服务接口,并根据信号自身预定义的发送类型来发送报文。本模块还提供了附加的服务接口可用于检测是否成功发送报文、成功接收报文以及报文是否超时等。对于多个通信通道的ECU,本模块还提供了一个用于不同通信总线之间的信号路由即信号网关的功能。

同时,为了支持安全通信,本模块提供了两种机制,数据顺序控制和K/N的投票机制来增强通信的安全。

1.2 PduR模块

PduR模块主要提供两类服务:

承上启下衔接上层和下层:发送时派发从高层模块的PDU到低层模块,并支持上层到下层的1对多映射即多播机制;接收时派发从底层模块如If或者TP接收的PDU给高层模块(COM,PduR)。

通信网络中的网关功能:网关功能有两种:从一个接口层到另外一个相同或者不同总线类型的接口层;从一个TP到另外一个相同或者不同总线类型的TP层。其中,路由协议基于一个静态的路由表和PDU ID的概念。

1.3 E2E保护库

E2E是一个端到端的通信保护库,只依赖于循环校验(简称CRC)库。为确保软件的开放分层,应当考虑如下的通信故障检测:

1) 点对点通信的丢帧。

2) 无意义的重复发送相同的消息。

3) 发送过程中的消息丢失。

4) 接收到伪装正确源地址的消息。

5) 接收到的消息序号和发送的消息序号不一致。

6) 消息在传输过程中损坏。

7) 未在指定的时间内接收到消息。

8) 防止数据总线被错误节点过度请求服务。

9) 一个故障节点的损坏导致整个总线的故障。

E2E支持的通信故障源包括:

1)软件故障

例如COM通信协议栈和RTE的软件模块,因为系统性质本身可能包含隐藏的错误。系统故障可能发生在规范、设计、制造、操作、维护的任何阶段的系统生命周期。他们出现的情况总是相同的(如触发源的条件)。软件故障可能会导致中断通信,接收溢出,发送空消息等。为防止软件故障的产生,应当采取适当的程序监控或E2E技术措施进行检查和处理是必要的。

2)硬件随机故障

硬件随机故障通常源自硬件电气过载,退化,老化或受外部条件(例如环境压力)影响。一个硬件随机故障不能完全避免,但其概率可以通过适当的技术措施(例如诊断)评估。

3)外部环境因素

这些因素包括电磁干扰(EMI),静电放电(ESD),空气湿度,腐蚀,温度,机械应力(如震动)等等。

2.安全通信关键技术

本章分别介绍SmartSAR Core在AUTOSAR的安全通信实现中,采用的三个关键技术,分别是数据顺序控制机制、PDU复制和K/N的投标机制、端对端的保护机制。

2.1 数据顺序控制机制

AUTOSAR COM模块基于PDU计数器提供了数据顺序控制机制,乱序的PDU,比如重复的或者在丢失的PDU之后接收到的PDU就能被检测出来并丢弃。这种机制需要发送端和接收端配合使用。

1)发送端

在发送端,对于配置了计数器的PDU,在COM初始化时或者PDU组以TRUE的方式启动时设置计数器为0。以后,在每次发送PDU之前,都会递增这个计数器。如果调用PduR的向下发送服务返回失败,则执行减一操作,也就是对于一个PDU每成功发送一次,则对这个它的顺序控制计数器执行加一操作。

2)接收端

在接收端,对于配置了计数器的PDU,在COM初始化时或者PDU组以TRUE的方式启动时设置计数器为0。以后,无论顺序计数器的值怎样,都应接受到来PDU。一旦接受一个包含顺序计数器的PDU,COM模块应设置下一个期待的值为接收到的计数器的下一个值。

如果一个顺序计数器是4位的,它有从0到15这16个可能值。如果一个接收到一个PDU,并且接收到的计数器是15,则下一个期待的值应为0。不论接收到的值是否和实际期待的值相等,新的期待的值都应被更新。

接收到一个包含顺序计数器的PDU时,COM应先设置下一个期待的值,然后丢弃这个PDU,当且仅当这个PDU符合以下条件:

收到的PDU的顺序计数器小于期待的PDU计数器,或者接收到的PDU顺序计数器大于期待的PDU计数器和一个配置的容错阈值的和。

如果发生顺序计数器不匹配,COM可以调用这个PDU的一个回调函数来通知用户。

PDU顺序计数器是4位,配置的容错阈值为1,则匹配情况如下表 1所示。

表 1 顺序计数器为4位,容错阈值为1的样例表

2.2 PDU复制和K/N的投票机制

安全相关的PDU可能需要在下层被复制来防止数据的损坏或丢失。在AUTOSAR中,PDU的复制在PduR中以多播的形式来实现。复制的PDU的比较和投票机制在COM中实现。由于复制的PDU没有校验或者签证以供比较使用,就需要在接收方存储并比较整个PDU。

1)发送端

在发送端,只需要在PduR中为对应的PDU配置多播路径即可。但是,必须要确保复制的PDU配置有顺序计数器,为了在接收端基于顺序计数器来进行投票。

对于K/N的投票机制,应确保复制N份PDU发送出去。

2)接收端

在接收端,负责对接收到的复制的PDU进行投票,并只向RTE传递成功发送的一直的PDU的消息。复制的PDU要配置有顺序计数器。然而,建议配置容错阈值为0,避免情况太复杂。

对于K/N的投票机制,至少接收到相同的K份数据才保证数据是可靠的,才能提交这个PDU的消息给RTE。

2.3 端到端的保护机制

端到端的保护需要发送端和接收端的配合使用才能检查出错误。

发送端的流程如图 1所示。首先,PDU的发送方初始化配置结构体和状态结构体;然后用最新的信号的值更新PDU;取得PDU的数据;根据这些参数调用E2E_PXXProtect,执行E2E的逻辑,加入CRC校验信息,加入数据计数器信息,最后把数据一起发送到总线上。其中CRC校验信息可用来检查一位到两位错等硬件错误,数据计数器信息可以辅助检查到顺序出错等问题。


图 1 E2E的发送方

接收端的流程如图 2所示。首先,PDU的接收方初始化配置结构体和状态结构体;然后接收PDU;取得PDU的数据;根据这些参数调用E2E_PXXCheck,执行E2E的逻辑,检查CRC校验信息,检查数据计数器信息,如果都没有错误才把收到的PDU中的数据提交给应用。其中CRC校验信息可用来检查一位到两位错等硬件错误,数据计数器信息可以辅助检查到顺序出错等问题。



图2 E2E的接收方

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

AUTOSAR的E2E通信安全 的相关文章

  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    7 AUTOSAR MCAL入门 实战 xff1a I O驱动组 在第三节中有介绍AUTOSAR 把MCAL 抽象分为4个驱动组 xff0c 分别为 xff1a 微控制器驱动组 xff0c 存储器驱动组 xff0c 通信驱动组 输入 输出驱
  • Adaptive AutoSAR 标准介绍

    关于自适应AutoSAR 平台 自适应autosar 平台实现了adaptive applications的运营环境 它提供了两种接口 xff0c 一种是service 一种是API 平台功能分成两部分 xff1a service部分和ad
  • 一文读懂AUTOSAR SecOC通讯

    为什么用SecOC 在车载网络中 xff0c CAN总线作为常用的通讯总线之一 xff0c 其大部分数据是以明文方式广播发送且无认证接收 这种方案具有低成本 高性能的优势 xff0c 但是随着汽车网联化 xff0c 智能化的业务需要 xff
  • 3.Adaptive AUTOSAR 架构详解

    3 1 逻辑层架构 下面显示了AP的逻辑架构 xff0e AA xff08 adaptive application 在ARA AUTOSAR Runtime for Adaptive Applications 上运行 ARA包含了所有功能
  • AUTOSAR —— S32K144 的 Fls 和 Fee 模块配置

    本文来简要介绍一下如何在EB中配置AUTOSAR Fls和Fee模块 Fls模块是Flash的驱动 xff0c 执行具体的Flash擦写读取等操作 Fee模块的全称是FlashEEPROMEmulation xff0c 即Flash模拟EE
  • AUTOSAR ComM模块介绍

    AUTOSAR ComM模块介绍 Autosar ComM概述 Autosar ComM 全称是 Autosar Communication Manager 顾名思义就是用来管理通讯的 ComM 模块位于 BSW 中 Systme Serv
  • 【AUTOSAR】【信息安全】CSM

    目录 一 概述 二 依赖模块 三 功能描述 3 1 基本体系结构 3 2 通用行为 3 2 1 正常操作 3 2 2 设计说明 3 3 错误分类 3 3 1 开发错误 3 3 2 运行时错误 四 API接口 4 1 通用接口 4 2 加密接
  • AUTOSAR架构的故事(干货)

    1 AUTOSAR架构概览 在新世纪 xff0c 汽车产业蓬勃发展 xff0c 欧洲大陆的车企们 xff0c 瞄准了这是一块大蛋糕 xff0c 于是在2002年成立了一个联盟 xff0c 搞了个叫AUTOSAR的标准 xff0c 以期一统天
  • AUTOSAR_DCM&DEM(UDS&OBD)

    1 术语与缩写 术语 DCM Diagnostic Communication Manager DEM Diagnostic Event Manager UDS Unified diagnostic services OBD On Boar
  • 一万字解读CP AUTOSAR

    导读 xff1a AUTOSAR旨在改善汽车电子系统软件的更新与交换 xff0c 同时更方便有效地管理日趋复杂的汽车电子软件系统 AUTOSAR规范的运用使得不同结构的电子控制单元的接口特征标准化 xff0c 应用软件具备更好的可扩展性以及
  • ETAS Adaptive AUTOSAR 自适应平台示例视频教程

    ETAS AP AUTOSAR自适应平台示例视频教程 本系列文章旨在提供一个详细的操作指南 xff0c 以构建ETAS AP AUTOSAR自适应平台的示例 实践练习的目标是加强AUTOSAR自适应平台中的理论概念 xff0c 并更好地理解
  • 从Adaptive AUTOSAR的角度看SOA

    前言 身处汽车行业的我们深知 xff0c 新技术的应用或者新概念的提出 xff0c 一定是事出有因的 通常是为了抢夺新技术高地 xff0c 让汽车更好地满足未来的需求 那么 xff0c 汽车电子电气架构领域掀起的这股SOA热潮是由什么导致的
  • AP AUTOSAR——Security Management

    11 Security Management 11 1 What is Security Management 安全管理是自适应平台体系结构中的一个功能集群 作为一个功能集群 xff0c 安全管理由多个模块组成 xff0c 这些模块向在Ad
  • Adaptive AUTOSAR——Update and Configuration Management(VRTE 3.0 R21-11)

    16 1 What is Update and Configuration Management 更新和配置管理 xff08 UCM xff09 是自适应平台服务中的一个功能集群 作为一种自适应平台服务 xff0c UCM实现了自适应平台的
  • AUTOSAR E2E & SecOC Comparison

    AUTOSAR E2E amp SecOC Comparison 前面已经介绍过了E2E 和 SecOC CMAC 了 xff0c 既然2者都可以进行数据完整性保护 xff0c 那么2者有什么区别呢 下面基于我的经验所总结 欢迎补充 xff
  • 【AUTOSAR】【通信安全】CRC

    目录 一 概述 二 功能说明 2 1 通用行为 2 2 8位CRC计算 2 2 1 8位SAE J1850 CRC计算 2 2 2 8位0x2F多项式CRC计算 2 3 16位CRC计算 2 3 1 16位CCITT FALSE CRC16
  • 7、AUTOSAR MCAL入门-实战:I/O驱动组

    7 AUTOSAR MCAL入门 实战 xff1a I O驱动组 在第三节中有介绍AUTOSAR 把MCAL 抽象分为4个驱动组 xff0c 分别为 xff1a 微控制器驱动组 xff0c 存储器驱动组 xff0c 通信驱动组 输入 输出驱
  • AutoSAR 学习笔记2:AutoSAR架构

    1 应用层 ASW 2 运行时环境层 RTE RTE 是专门为应用软件 AutoSAR 软件组件和 或 AutoSAR 传感器 执行器组件 提供通信服务的层 在 RTE 之上 软件架构风格从 分层 转变为 组件风格 AutoSAR 软件组件
  • 【AUTOSAR】CCP协议的代码分析与解读(四)----CCP协议数据下载和上传

    数据下载 DNLOAD DNLOAD指令负责将CRO中的数据下载到ECU中 起始地址为先前设定的MTA0 下载完毕后MTA0指针自增 自增的字数为下载的字节数 DNLOAD命令的CRO数据场结构 如下所示 位 置 类 型 描 述 0 字节
  • SOTA机制详解

    1 SOTA的定义 SOTA即软件在线升级 Software updates Over The Air 是指在不连接烧写器的情况下 通过CAN UART或其它通讯方式 实现应用程序的更新 在进行SOTA时 需要把旧的应用程序擦除 把新的应用

随机推荐

  • 如何从普通员工成为一个领导者

    how to become a company leader from one employee 要想成为一个领导或者领导 xff08 影响别人 xff09 首先需要基本的领导基本功 这里分享一些我的心得体会 自我反省 xff1a 要不断自
  • 读书笔记1

    第七期主题词 xff1a 告别 1 我们最终都要远行 xff0c 最终都要与稚嫩的自己告别 xff0c 告别是通向成长的苦行之路 海子 2 我和谁都不争 xff0c 和谁争我都不屑 xff0c 我的双手烤着生命之火取暖 xff0c 火萎了
  • 武志红《为何爱会伤人》

    最近读武志红 为何爱会伤人 xff0c 让我们从另一个角度去理解爱情 xff0c 本书从全新的视角解读爱情 xff0c 提出从 认识自己内心 的角度来看待爱情 xff0c 什么是迷恋 xff1f 什么是一见钟情 xff1f 如何获得真爱等问
  • 关于如何去寻找自己的另一半和我的爱情观

    用这个题目 xff0c 我自己都没想到 xff0c 因为目前我还是单身 xff0c 虽然谈过几次恋爱 xff0c 但最后都成了白月光 下面我给出了自己的反思 xff0c 也找了我的领导谈心 xff0c 也看了一些书 xff0c 想找到为什么
  • 一篇文章完全讲解C语言指针

    指针对于C来说太重要 然而 xff0c 想要全面理解指针 xff0c 除了要对C语言有熟练的掌握外 xff0c 还要有计算机硬件以及操作系统等方方面面的基本知识 所以本文尽可能的通过一篇文章完全讲解指针 为什么需要指针 xff1f 指针解决
  • MySQL定时备份

    MySQL定时备份实例 xff1a 每周一晚上3 00 xff0c 备份数据库服务器上webdb库的所有数据到系统的 mysqlbak目录中 xff0c 使用系统日期做备份文件名 xff01 span class token operato
  • 一篇文章完全讲解C语言指针

    https mp weixin qq com s biz 61 MzU3NDU5NDczMw 61 61 amp mid 61 2247504309 amp idx 61 5 amp sn 61 5421ee86fb1be92b43d99f
  • 读懂Adaptive Autosar架构-基础应用篇

    对于Adaptive AUTOSAR xff0c 咱们经常会看到这句话 xff1a Write once Adopt everywhere 但实际上理想很丰满 xff0c 现实很骨感 毕竟Classic Platform xff08 后面简
  • 软件架构的定义

    一 软件架构的定义 我们先讨论一下什么是软件架构 xff1f 对于软件架构并没有一个标准的定义 xff0c 但是你和软件工程师谈到架构的时候 xff0c 他们会知道这些都会是架构的内容 是不是要分层 xff0c 如何处理事件 xff0c 如
  • 一文了解V2X技术栈及其产业链

    C V2X会给未来出行交通带来怎样的改变 xff1f 会在哪些场景下发挥作用 xff1f 这条产业链里面的公司又是哪些 xff1f 大厂们在V2X上的投入又是如何呢 xff1f 本文可以给你一个答案 1 为什么需要V2X 随着C V2X及5
  • 精力管理分享

    你是否长时间工作却没有时间休息 是否总是感到压力很大 xff0c 时间不够用 xff1f 是否经常觉得很疲惫 xff0c 怎么调整都找不到状态 xff1f 然而 xff0c 不论是工作还是生活 xff0c 我们每个人都需要进行自我能量的调节
  • 目标管理

    业务能力很突出 xff0c 管理能力跟不上 xff0c 怎么办 xff1f 这节课帮你补全管理必修模块 xff0c 掌握全面的管理视角 学了很多管理手段 xff0c 总是用不上怎么办 xff1f 用工具统一管理语言 xff0c 拿来就能用
  • 深入浅出理解SOME/IP

    详解SOME IP协议文档 1 知乎 知乎 xff0c 中文互联网高质量的问答社区和创作者聚集的原创内容平台 xff0c 于 2011 年 1 月正式上线 xff0c 以 让人们更好地分享知识 经验和见解 xff0c 找到自己的解答 为品牌
  • SOME/IP-SD 深入浅出

    文章中 xff0c 我们了解了一条完整的SOME IP报文应该长什么样子 xff0c 但这显然是不够的 xff0c 至少还有以下这几个问题并没有得到明确的解决 xff1a Client如何发现服务 当服务不可用时 xff0c 如何通知Cli
  • Segmentation Fault错误原因总结

    一 什么是 Segmentation fault in Linux 所谓的段错误就是指访问的内存超过了系统所给这个程序的内存空间 xff0c 通常这个值是由gdtr来保存的 xff0c 他是一个48位的寄存器 xff0c 其中的32位是保存
  • 漫谈QNX(架构/进程,线程,同步,进程间通信IPC)

    1 架构 说起Blackberry的QNX操作系统 想必大家都听说过 xff0c 但到底为什么QNX能如此有名 xff1f 难道微软的Windows和Linux都不能与之抗衡 xff1f 美国NASA的太空接驳飞船也使用QNX操作系统 QN
  • Linux系统安装后需要做什么?

    安装完linux系统之后需要做的事情 以centos7为例 xff1a 1 用root用户登录 2 tab键补全安装包 yum span class token operator span y install bash span class
  • ETAS Adaptive AUTOSAR 自适应平台示例视频教程

    ETAS AP AUTOSAR自适应平台示例视频教程 本系列文章旨在提供一个详细的操作指南 xff0c 以构建ETAS AP AUTOSAR自适应平台的示例 实践练习的目标是加强AUTOSAR自适应平台中的理论概念 xff0c 并更好地理解
  • 什么是微内核,看这一篇就够了

    微内核是将服务转移到进程上的一种内核模式 宏内核是一种传统的内核结构 xff0c 它将进程管理 xff0c 内存管理等各项服务功能都放到内核中去 xff0c 通常用在通用式的内核上 xff0c 如unix xff0c linux等 两个系统
  • AUTOSAR的E2E通信安全

    AUTOSAR标准的安全通信为支持功能安全 xff0c AUTOSAR标准结合ISO 26262功能安全标准 xff0c 在基础软件层从安全执行 安全通信以及安全内建测试三个方面做出了规范 xff0c 并规范 AUTOSAR标准的安全通信