AUTOSAR ASILD级别安全软件模块的安全机制介绍

目录

1 将具有不同安全级别的软件组件集成到一个ECU中

1.1 概述

1.2 将来自不同制造商的软件功能和混合的ASIL分类集成在一个ECU中

1.3 防止内存冲突

1.4 防止运行时干扰

1.5 输入/输出监视

1.6 总结


1 将具有不同安全级别的软件组件集成到一个ECU中

1.1 概述

新建立的汽车标准ISO 26262定义了开发与安全相关的ECU软件的过程。要求各个软件组件具有很高的内在安全性,以确保其组成的系统达到相应的安全目标,以防止在错误情况下发生潜在危险情况下而做出正确合理的Reaction

Image

在开发与安全相关的ECU时,主要重点在于保证客户功能的安全性。

但是有一个潜在的风险是:“经过验证的”客户的产品的正常功能必须与“诊断和其他非客户正常功能的辅助服务功能”(例如诊断程序或引导加载程序)和关键核心组件功能共存在同一版本软件中。并且它们必须符合所有功能安全要求符合ISO 26262的要求。

注意:对于新加进去“没有经过验证的”的功能的潜在风险,必须进行风险评估和分析,并根据该标准加以验证和实施。

潜在风险被归类为汽车安全完整性等级(ASIL)。当将各种分类级别分配给车辆功能时,会导致从QM(“质量管理”,无安全性)到ASIL D(最大安全性)的级别广泛分布。

ISO26262规定:在集成具有不同安全相关性级别的功能时,该标准要求必须确保不受干扰。基于质量管理流程开发的软件不得干扰与安全相关的功能的软件。

为了实现标准的要求,模块化软件平台是理想的选择。它可以保证在单个ECU集成不同生产商的软件模块和从QM到ASILD的不同安全等级的软件功能。AUTOSAR给出的解决方案见下面章节。对于客户而言,加入新的QM功能软件时,老的ASIL级别的软件功能无需进行大量的重复的验证工作,可以直接继承在一起, 同时保持最高级别的安全要求。

1.2 将来自不同制造商的软件功能和混合的ASIL分类集成在一个ECU中

ISO 26262要求在集成混合ASIL级别的软件时,要求与安全相关的软件不得被干扰或影响。“不受干扰”的概念包括三个子要求:

  • 不会对安全相关功能的存储器进行意外更改,例如它不会被“错误的指针访问”破坏。

  • 安全相关功能始终具有指定的执行时间,即不会错误地中断,启动得太晚等。

  • 安全相关功能接收或发送的数据不受影响-即不会被延迟,阻止,修改等。

以下描述了一种解决方案,该方案允许安全相关和非安全相关的并存一个ECU上的软件模块,例如安全相关的BMS绝缘检测监视单元和非安全相关的离线诊断模块。

开发新项目时,该标准并不绝对要求必须重新开发老的软件(例如AUTOSAR基本软件)以确保达到平台相应的安全等级,只要不对安全相关软件造成负面影响或干扰即可。

但是为了整个系统的安全要保证所有软件组件(最高等级ASILD)之间互不干扰。

如图1所示,这可以通过独立的安全模块内存访问,程序流和通信过程进行额外的软件组件保护来实现。

Image

图1 安全架构

下面分别介绍各种安全机制的实现。

1.3 防止内存冲突

支持内存保护机制的操作系统(尤其是可伸缩性级别3或4的操作系统,即AUTOSAR SC3 / SC4)可确保防止未经授权而访问安全相关软件组件的存储区。在这种情况下,内存保护单元(MPU)实现了内存保护机制。

注意:使用的MCU 必须支持MPU单元。

MICROSAR操作系统的软件部分(称为SafeContext)控制任务切换和中断时软件组件的隔离。这样可以防止一个软件组件未经允许写入另一软件组件的内存。

SafeContext是为ASIL D开发的,因此被授权在运行时可以重新配置由MPU保护的各种任务和中断的存储器范围。这种安排还确保在保存和还原上下文数据(包括MPU配置)时符合ASILD。

AUTOSAR中指定的OS应用程序的概念用于配置操作系统。这涉及对操作系统对象(例如任务和中断)进行逻辑分组,然后将它们分配给MPU配置。根据QM流程开发的基础软件模块组合在单独的OS应用程序中,并且与具有ASIL分类的软件隔离。这也可以防止基础软件覆盖ASIL软件的内存。

1.4 防止运行时干扰

安全看门狗管理器(SafetyWdgM)是负责监视时间和程序流监视的安全机制(图2)。监视与安全相关的功能,以确保以正确的顺序流程执行功能。

所有相关软件组件中的检查点都会定期向程序程序的安全监视程序管理器报告。这样可以可靠地检测所有类型的运行时干扰。如果未及时激活应用程序,中断或功能,则安全监视程序管理器将检测到此情况并启动对错误的响应。除了持续时间,还监视程序流程中的正确顺序。

具体的功能可参见我的上一篇文章《功能安全之看门狗WDGM 介绍》,WDGM安全看门狗管理器为独立的硬件看门狗提供服务,可以在发生错误的情况下将ECU重置为安全状态。如果没有正确激活安全看门狗管理器,则不会进行独立的看门狗喂狗操作,并启动相应的错误响应。

Image

图2 安全看门狗管理器机制

1.5 输入/输出监视

E2E库(E2ELib)保证了在Tx和Rx时通信的安全可靠(图3)。通过校验和保护数据,以检测是否有损坏数据内容。使用消息计数器可以检测不正确的消息序列,消息Timeout或不是预期的重复帧。

Image

图3 E2E实现的安全通信机制

1.6 总结

本文介绍的所有三个安全模块在功能上相互补充,并且一起实现了不受干扰的目的。它们满足ISO 26262的最高安全要求级别,可用于ASIL D ECU的开发。一般这三个软件库可以由Autosar 供应商 Vector或者ETAS提供,并要求他们提供第三方安全验证证书,可以不做修改的集成到你的开发平台上。

这种方法通过使用具有各种安全级别的软件并为这些软件组件提供不受干扰的软件,使ASIL级别的安全模块可以与根据QM标准开发的软件应用程序和AUTOSAR基础软件组件集成在一起,避免了在不必要的情况下将软件升级到更高的ASIL级别所需的开发工作。节省了大量的验证成本和时间成本,从而缩短开发周期。

猜你喜欢

转载自blog.csdn.net/usstmiracle/article/details/132621733