AUTOSAR的四种功能安全机制

2023-05-16

虽然AUTOSAR不是一个完整的安全解决方案,但它提供了一些安全机制用于支持安全关键系统的开发。本文用于介绍AUTOSAR支持的四种功能安全机制:

  1. 内存分区(Memory Partitioning)

  2. 时间监控(Timing Monitoring)

  3. 逻辑监督(Logical Supervision)

  4. 端到端保护(End-2-End Protection)

这些安全机制中,内存分区用于实现不同ASIL等级,安全相关组件和非安全相关组件的彼此独立,时间监控和逻辑监控是软件运行时序错误的常用检测方法,端到端保护实现了安全相关应用在非受信网络或存储之间数据交互的安全。

  1. 内存分区

内存分区用于解决不同软件组件之间的互相干扰,造成对内存存储的数据段或代码段的篡改,需要限制对内存和内存映射的硬件外设的访问。

在AUTOSAR架构下,分区是以OS-Application为对象划分的,属于一个OS-Application内的任务可以互相访问,一个OS-Application包括多个任务Task,软件组件SW-C的实现由一组可运行实体Runnable组成,Runnables在其调用者OS-Task的上下文中被循环执行和/或以事件作为触发。下图是OS-Application、Task、Runnable、SW-C之间的关系。

AUTOSAR 操作系统将OS-Application放入独立的内存区域,由操作系统实现不同应用免受内存故障干扰,这种机制称为内存分区。

由于在一个OS-Application的内存分区中执行的代码不能修改其他内存区域,因此OS-Application之间相互保护。

具有不同 ASIL等级的软件组件不应分配给同一个 OS-Application。操作系统只是防止其他 OS-Application进行不适当的访问。一个有问题的软件组件不会被阻止修改同一 OS-Application中其他软件组件的内存区域。同一软件组件不能分配到不同的OS-Application中。

内存分区的实现方案是通过CPU的supervisor/ user mode进行分区

基础应用任务运行于supervisor mode

普通应用任务运行于user mode

所有的基本软件模块都在一个trusted/supervisor 模式的内存分区中执行(红色)。

一些软件组件在逻辑上被分组,放在单独的non-trusted/user模式的内存分区中(绿色)。

选定的软件组件属于与基本软件模块相同的受信任/监督者模式内存分区(见图8中第四个SW-C以红色突出显示)。可能有几个非信任/用户模式分区,每个分区包含一个或多个软件组件。

内存分区功能需要专用硬件支持MPU(memory protection unit),MPU允许非受信的应用访问微控制器地址空间的多个部分,访问控制定义为Read/ Write/Execute访问的组合。MPU的配置只允许在supervisor模式下进行。硬件由操作系统进行适当的配置,以检测和防止错误的内存访问,然后监控在非受信/user模式内存分区中软件组件的执行。

错误处理策略:

如在非受信/user模式分区中出现内存访问违规或CPU指令违规,错误的访问将被阻止,并由微控制器硬件提出一个异常。操作系统和RTE通过执行分区关闭或重新启动该分区的所有SW-C来处理错误的软件分区。

2.时间监控

避免软件组件之间出现的执行阻塞、死锁、活锁、执行时间的不正确分配、软件元素之间的不同步,需要对软件的运行时间进行监控,以确定软件运行的正确时序

受监督的软件实体可以是软件组件、基础软件模块或CDD中的一个SW-C或Runnable。受监督实体中的重要位置被定义为checkpoint。受监督实体的代码与看门狗管理器的函数调用交错在一起。这些调用用于向看门狗管理器报告达到了一个checkpoint。

看门狗管理器实现两种监督方式:Alive supervisionDeadline supervision

  • Alive Supervision: 周期检查被监督实体的checkpoint是否在给定的范围内到达。这意味着看门狗管理器检查被监督实体的运行频率是否过高或过低

  • Deadline Supervision:非周期性或偶发性的被监督实体对两个checkpoint之间的时间有单独的约束。

通过Deadline Supervision,看门狗管理器检查被监督实体的两个checkpoint之间的转换时间。

这意味着看门狗管理器检查被监督实体的某些步骤所需时间是否在配置的最小和最大范围内。

错误处理策略:

当检测到错误时,看门狗管理器将启动以下错误处理策略的一种:

  1. 被监督实体内的错误处理:如果被监督实体是SW-C或CDD,看门狗管理器可以通过RTE模式机制通知被监督实体监督失败的情况,然后,被监督实体可以采取其行动从该故障中恢复。

  2. 分区关闭:如果看门狗管理模块检测到位于非信任分区的被监督实体的监督失败,看门狗管理模块可以通过调用BswM请求分区关闭。

  3. 由硬件看门狗复位:看门狗管理器向看门狗接口指示看门狗接口何时应不再触发硬件看门狗。在硬件看门狗超时后,硬件看门狗对ECU或MCU进行复位。这将导致ECU和/或MCU硬件的重新初始化和软件的完全重新初始化

  4. 立即MCU复位:如果有必要对监控故障做出立即的、全局的反应,看门狗管理器可以直接导致MCU复位。这将导致MCU硬件和整个软件的重新初始化。通常情况下,MCU复位不会重新初始化ECU的其他硬件。

3.逻辑监督

逻辑监督用于检查软件是否按照正确的逻辑顺序执行。如果一条或多条程序指令以不正确的顺序被处理,或者甚至根本没有被处理,就会发生不正确的控制流。

例如,控制流错误会导致数据不一致、数据损坏或其他软件故障。程序序列的逻辑监测是ISO26262、IEC61508、MISRA所要求或建议提出。

与时间监控一样,受监督的软件实体可以是软件组件、基础软件模块或CDD中的一个SW-C或Runnable。

逻辑监督同样基于checkpoint进行检查,每个被监督实体都有一个或多个checkpoint。一个被监督实体的checkpoint之间的转换形成一个图。

一个图可以有一个或多个初始checkpoint和一个或多个最终checkpoint。假设checkpoint属于同一个图,那么从任何初始checkpoint开始到任何最终checkpoint结束的任何顺序都是正确的。

错误处理策略:逻辑监督的故障处理策略与时间监控的处理策略一致。

4.端到端保护

在一个分布式系统中,发送方和接收方之间的数据交互可能会影响功能安全,如果其安全行为的安全性取决于这些数据的完整性。因此,此类数据的传输应使用保护机制,以防止通信链路内的故障影响。

数据传输存在以下故障类型:

  • 信息的重复:一种通信故障,即信息被接收一次以上
  • 信息的丢失:一种通信故障,即信息或部分信息从传输的信息流中被删除
  • 信息的延迟:一种通信故障,即信息的接收比预期的晚
  • 信息的插入:一种通信故障,即在传输的信息流中插入额外的信息
  • 信息的伪装:一种通信故障,即非真实的信息被传输者当作真实的信息接受。
  • 信息的不正确的寻址:一种通信故障,即信息被不正确的发送者或不正确的接收者所接受。
  • 信息的不正确顺序:一种通信故障,它修改了传输信息流中的信息顺序
  • 信息的破坏:一种通信故障,它改变了信息。
  • 从一个发送方发送至多个接收方的不对称信息:一种通信故障,即接收者确实从同一个发送者那里收到不同的信息
  • 从一个发送方发出的信息只被一个子集的接收方收到:一种通信故障,一些接收者没有收到信息
  • 阻断对一个通信通道的访问:一种通信故障,即对通信通道的访问被阻断。

这些故障类型存在于一个ECU内部的不同软件组件、OS-Application,也存在于不同ECU硬件之间。

实现端到端保护的方法是在通信协议中,数据发送方增加端到端控制信息,控制信息通常包含

一个校验和

一个计数器

其他选项。

扩展后的数据元素被提供给RTE进行传输。

数据元素在接收方通过处理端到端控制信息的内容与应用数据进行验证。在收到的数据元素被处理并接受为正确后,控制信息被删除,应用数据被提供给目标软件组件,错误处理是在接收方进行的。

端到端的数据保护机制包括:

  • CRC校验和,用于检验数据是否被破坏

  • 顺序计数器,在每次传输请求时递增,该值在接收方检查是否正确递增,用于检查数据是否丢失、插入、顺序混乱;

  • 在每个传输请求中增加的alive counter,如果它有任何变化,在接收方检查其值,但不检查正确的增量;

  • ID:通过端口发送的每一个端口数据元素都有一个特定的ID(对系统来说是全局的,因为系统可能包含几个ECU);

  • 超时检测,接收器通信超时和发送器确认超时

AUTOSAR 4.2.1 版还引入了一个状态机,帮助确定所收到的应用数据是否可以接受,并且更加详细。通信状态机用于接收方接收到正确数据、错误数据以及可恢复、不可恢复的状态转换。

端到端保护以软件库的方式提供,可以有不同的解决方案。它们可能取决于RTE、COM或其他基本软件模块的完整性,以及其他SW/HW机制的使用(例如,内存分区)。

错误处理策略:端到端通信保护功能在 AUTOSAR 4.0 中作为标准库实现。

这个库提供了End-2-End通信保护机制,使发送方能够在传输前保护数据,接收方能够在运行时检测和处理通信链路中的错误。当接收方检测到通信错误后,将向应用提供错误类型,数据处理方式(丢弃/使用上周期/重启)。

从软件应用层来看,端到端通信保护是一个点对点的连接,但为了达到多点通信的灵活适用性和互通性,300多页的端到端设计规范可以看出,在通信协议的设计上需要考虑很多

总结:

以上是AUTOSAR架构提供的四种功能安全机制,用于在

  • 内存保护
  • 软件执行的时间
  • 逻辑顺序
  • 数据交互需要考虑的安全机制

这些内容更多是规范性方面的要求,不涉及具体的实现方法,例如时间和顺序监控中,看门狗的checkpoint应该设置多少个,监督检测到错误应该采用何种处理,由各厂商在遵循AUTOSAR框架下去具体实现,为保证互通性,AUTOSAR仅提供统一的外部调用接口;

这些安全措施作为ISO26262中的通用性安全要求,应予以遵循,但AUTOSAR没有从系统层进行结构化的安全分析,这些安全要求并不完备,也没有ASIL等级,还应结合具体的相关项定义进行补充和规定。

从应用方角度来看,安全功能的设计实现不是应用方所关注的,已在AUTOSAR架构中予以实现,应用只要实现对这些功能进行参数配置,按照给定手册中的要求进行调用即可,简化了安全功能的实现过程,另一方面来说,由于对接口做了封装,也了解不到具体的实现细节。

本文主要内容来自于AUTOSAR官方文档《Overview of Functional Safety Measures in AUTOSAR》,如有疏漏,以原文为准。

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

AUTOSAR的四种功能安全机制 的相关文章

  • [C++11 并发编程] 17 超时等待 - clock和duration

    之前我们看到的所有等待机制都是不会超时的 xff0c 也就是说 xff0c 等待某个同步事件的线程会一直挂起 有些情况下 xff0c 我们希望设置一个最长等待时间 xff0c 使得程序可以继续与用户进行交互 xff0c 使得用户可以取消这个
  • 激光雷达和相机感知融合简介

    本文介绍激光雷达和相机融合的两种方法 xff1a 前融合 xff1a 融合原始数据 xff08 点云和像素 目标框 xff09 后融合 xff1a 融合目标框 前融合 前融合一般指融合原始数据 xff0c 最容易 最普遍的方式是将点云投影到
  • 聚焦芯片:GPU,CPU,SOC,DSP,FPGA,ASIC,MCU,MPU,GPP,ECU等都是什么?

    先上部分概念 xff1a CPU xff1a 中央处理器 xff08 Central Processing Unit xff09 是一块超大规模的集成电路 xff0c 是一台计算机的运算核心 xff08 Core xff09 和控制核心 x
  • 怎么样实现车辆信息安全

    1 车载IDS 正成为持续网络安全保护的核心要素 持续的网络信息安全风险管理正成为VTA的要求 通过IDS车载入侵检测可以为整个车队提供信息安全保护 但是 xff0c 分布式IDS的指导原则是什么 xff1f 为了满足UNECE WP29法
  • SOA通信架构和SOME/IP-SD的主要功能

    1 SOA面向服务的通信交互 如上图所示 xff0c 女神去热水澡堂洗澡 xff0c 想搓背 xff08 find服务 xff09 xff0c 于是她付要付搓背钱给澡堂老板 xff0c 这时澡堂老板知道通过小王和小明的毛遂自荐 xff08
  • OTA升级的实现原理

    一 简介 1 1 概念 OTA xff1a Over the Air Technology xff0c 即空中下载技术 OTA升级 xff1a 通过OTA方式实现固件或软件的升级 只要是通过无线通信方式实现升级的 xff0c 都可以叫OTA
  • 为什么特斯拉自动驾驶汽车不需要激光雷达

    光 糖果Autosar 2022 02 14 08 08 特斯拉仪表板 打造全自动驾驶汽车所需的技术堆栈是什么 xff1f 公司和研究人员对该问题的答案存在分歧 自动驾驶的方法范围从相机和计算机视觉到计算机视觉和高级传感器的组合 特斯拉一直
  • 架构与中台

    做架构工作最重要的是练好内功 什么是内功 xff1f 大局观 认知层次 xff0c 思维方式 xff0c 方法论 概念抽象能力等等都属于内功 零件设计主外 xff0c 架构设计主内 零件设计五花八门 xff0c 紧随新技术新热点 架构设计苦
  • UDS服务简易教程

    本文主要以简单易懂的描述向大家介绍CAN诊断基础知识 xff0c 本文主要介绍CAN诊断中UDS服务的基本内容 xff0c 主要参考文件ISO15765 2 ISO15765 3 ISO14229 1 xff0c 读完本篇文章后希望进一步了
  • 五万字读懂c++

    const作用 修饰变量 xff0c 说明该变量不可以被改变 xff1b 修饰指针 xff0c 分为指向常量的指针 xff08 pointer to const xff09 和自身是常量的指针 xff08 常量指针 xff0c const
  • 在AP_EM上的骚操作

    最近大家都对AP兴趣很大 xff0c 也不知CP大家玩转了木有 xff0c 反正咱也不知道咱也不敢问 xff0c 这次楼主就扯下AP中的状态管理SM和执行管理EM部分 言归正传 xff1a AP的应用 xff0c 在通过工具配置后 xff0
  • 编译型语言和解释型语言的区别

    我们编写的源代码是人类语言 xff0c 我们自己能够轻松理解 xff1b 但是对于计算机硬件 xff08 CPU xff09 xff0c 源代码就是天书 xff0c 根本无法执行 xff0c 计算机只能识别某些特定的二进制指令 xff0c
  • 什么情况下需要加extern “C“,通俗易懂

    下午看了一些关于extern 34 C 34 的博客 xff0c 都写得很啰嗦 xff0c 看来看去还是有一些细节不怎么了解 xff0c 自己开了个程序测试了一下 xff0c 总结了什么情况下需要加入extern C 首先c 43 43 和
  • POSIX介绍

    POSIX表示可移植操作系统接口 xff08 Portable Operating System Interface of UNIX xff0c 缩写为 POSIX xff09 xff0c POSIX标准定义了操作系统应该为应用程序提供的接
  • Linux crond 命令使用实例

    每一分钟调用一次 ls l etc gt tmp to txt crontab e 进行编辑 1 ls l etc gt tmp to txt 1 代表每一分钟执行一次 1 第二个 代表一天中的某个小时 案例2 xff1a 写一个脚本 vi
  • DoIP诊断技术一点通

    DoIP的全称是Diagnostic Over Internet Protocol xff0c 即基于TCP IP协议的诊断协议 随着以太网技术在车载领域的应用范围逐步扩大 xff0c 越来越多的控制器支持通过以太网进行诊断通信 xff0c
  • 嵌入式必备基础一

    嵌入式必备知识 Oliver H的博客 CSDN博客 一 进程与线程 1 1 进程和线程的概念 1 1 1 什么是进程 线程 xff0c 各自有什么优点 概念 xff1a 进程是对运行时程序的封装 xff0c 是系统进行资源调度和分配的的基
  • 嵌入式基础二——C/C++

    二 C C 43 43 2 1 c和c 43 43 区别 概念相关面试题 2 1 1 new和malloc的区别 属性 xff1a new delete是C 43 43 关键字 xff0c 需要编译器支持 malloc free是库函数 x
  • ​Linux 黑话解释:什么是 POSIX?

    POSIX xff0c 你肯定在各种在线论坛和文章中 xff0c 听到过这个缩写 xff0c 或读到过关于它的信息 程序员和系统开发人员似乎最关心这个问题 它听起来很神秘 xff0c 虽然有很多关于这个主题的好资料 xff0c 但一些讨论区
  • 科研进阶篇——论文完结

    终于完成了人生的第一篇学术论文 xff0c 对这次的科研做个总结 xff0c 画上一个完美的问号 xff0c 让我们快乐的继续进阶 xff0c 投了会议 xff0c 中了的话应该会推荐到CCF C期刊 虽然还没出结果 xff0c 还是为自己

随机推荐

  • AP AUTOSAR 平台设计总体框架全解

    AP AUTOSAR 平台设计总体框架全解 01 简介 1 1内容 本规范描述技术范围和方法 AP的背景 逻辑和物理视图的架构 xff0c 是AUTOSAR自适应平台设计的总体框架 全文32000余字 xff0c 建议收藏阅读 02 技术范
  • 谈谈Bootloader自更新

    目录 01 Supplier Boot SB 43 Customer Boot CB 02 将Boot先放到RAM中运行 xff0c 然后更新Boot的Flash区域 03 两个CB 43 minBoot 04 小结 汽车控制器的BootL
  • E2E通信保护协议学习笔记

    E2E通信保护协议学习笔记 最近在做功能安全方面工作 xff0c 想了解E2E保护的问题 本文试着说明两个点 xff1a 功能安全需要考虑通信失效造成的影响 xff0c 因此E2E通信保护协议被提出 xff0c 以满足功能安全要求 xff1
  • TSN(时间敏感网络)介绍

    1 前言 TSN是时间敏感网络 xff08 Time Sensitive Network xff09 的英文缩写 xff0c 是IEEE 802 1 TSN工作组开发的一系列数据链路层协议规范的统称 xff0c 用于指导和开发低延迟 低抖动
  • 汽车OTA是个什么鬼?

    OTA xff1a Over the Air Technology 这描述的是手机吧 xff01 不过一开始的手机也是不可以直接OTA的 1997年之前所有汽车都是一个独立的机械个体 xff0c 一个方向盘 xff0c 一组踏板 xff0c
  • Hypervisor简介

    从头开始了解和使用Hypervisor xff08 第4部分 xff09 嘶吼 RoarTalk 回归最本质的信息安全 互联网安全新媒体 4hou com 根据 Hypervisor 的不同类型 xff0c 我们将虚拟化分为I 型和 II
  • 使用repo下载google源码,跟编译 ,遇到的错误解决

    最近一直想下载android的源码看看 xff0c 但是按照官方的文档下载 xff0c 遇到了问题 在执行的curl http commondatastorage googleapis com git repo downloads repo
  • S32V234 Linux yocto开发环境搭建

    一 主机环境 主机 xff1a Ubuntu 16 04 5 64bit S32V bsp infomation xff1a Bsp version auto yocto bsp 19 0 Linux Kernel version 4 13
  • NXP S32G2开发

    https blog csdn net bigzhizhi article details 123069235 导言 Linux BSP是一组源代码 xff0c 可用于为受支持的板卡创建U Boot引导加载程序 Linux内核映像 根文件系
  • 简单解决Please install the gcc make perl packages from your distribution问题 and VirtualBox安装增强功能失败

    在vbox安装ubantu增强功能 xff0c 出现下面这种情况 xff1a Please install the gcc make perl packages from your distribution 在这里插入图片描述 把需要的包都
  • 图形学就业方向&&春招部份纪实

    以下分几个模块分别介绍图形学 xff1a 1 图形学未来方向以及需要的技术 2 个人找工作情况 xff0c 具体介绍 图形学未来方向以及需要的技术 最近GAMES论坛搞了一个计算机图形学走进高校企业活动 xff0c 可以简称图形学招聘活动
  • SOME/IP 消息的布局

    1 SOME IP 消息的布局 前面两篇文章 SOME IP概述 分层结构及要实现的需求 SOME IP概述2 SOME IP的主要中间件功能 43 SOME IP报文PDU的封装 讲述了SOME IP的基本概念 需求及架构在以太网的4层模
  • 什么才是软件定义汽车?

    Software Defined Vehicle The Eclipse Foundation 导读 xff1a 移动出行时代 xff0c 汽车逐渐由机械驱动的硬件向软件驱动的电子产品过渡 xff0c 软件定义汽车趋势愈发明显 这一过程中汽
  • 一文看懂四大汽车总线:LIN、CAN、FlexRay、MOST

    前言 随着汽车工业的发展 xff0c 汽车各系统的控制逐步向自动化和智能化转变 xff0c 汽车电气系统变得日益复杂 传统的电气系统大多采用点对点的单一通信方式 xff0c 相互之间少有联系 xff0c 这样必然会形成庞大的布线系统 据统计
  • 浅谈ASIL: 汽车安全性等级

    目录 ASIL 表示汽车安全性等级 ASIL的确定 1 严重度 2 暴露度 3 可控度 ASIL 故障分析手段 ASIL 表示汽车安全性等级 这是 ISO 26262 标准针对道路车辆的功能安全性定义的风险分类系统 ASIL 根据伤害的可能
  • SOA中间件DDS(数据分发服务-Data Distribution Service)

    DDS协议 高可靠性 实时性 DDS Data Distribution Service for Real Time Systems xff0c 是一种面向实时系统的数据分发服务 xff0c 由OMG提供 xff0c 它的权威性可以证明该协
  • MQTT与DDS的比较

    MQTT VS DDS MQTT协议 三种服务质量 QoS xff1a 最多一次 Sender 发送的一条消息 xff0c Receiver 最多能收到一次 xff0c 也就是说 Sender 尽力向 Receiver 发送消息 xff0c
  • R-Car H3系列SOC芯片与R-Car M3 R8A77961JBP0BA区别

    RENESAS推出的 xff1a R Car H3 系列 SOC 芯片 R8A77951JA00BA xff03 YJ1 xff0c R Car M3 系列 SOC 芯片 R8A77960JA60BG xff03 YJ5 在内核上 xff1
  • PTP(IEEE1588),TSN时间同步方法

    本文首先简要介绍主流的时间同步方式GNSS xff0c NTP xff0c PTP 然后通过NTP和PTP对比 xff0c 解释PTP性能更优秀的原因 xff1b 并对算法公式进行了推导 0 Why need time synchroniz
  • AUTOSAR的四种功能安全机制

    虽然AUTOSAR不是一个完整的安全解决方案 xff0c 但它提供了一些安全机制用于支持安全关键系统的开发 本文用于介绍AUTOSAR支持的四种功能安全机制 xff1a 内存分区 xff08 Memory Partitioning xff0