电子电气架构 -- ASIL D安全实现策略

news2024/11/25 10:53:07

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

所有人的看法和评价都是暂时的,只有自己的经历是伴随一生的,几乎所有的担忧和畏惧,都是来源于自己的想象,只有你真的去做了,才会发现有多快乐。人就应该满脑子都是前途,不再在意别人的看法不再害怕别人讨厌自己,不再畏手畏脚忧心忡忡也不会在睡前反回忆白天的行为,是否让对方产生误解用你那精神内耗的态度去搞学习搞事业搞钱,然后用躺平和摆烂的态度对待人际关系,烦恼能消失一大半。
无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。

时间不知不觉中,快要来到元旦。2024快要结束,2025又开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

在这里插入图片描述

一、背景信息

ASIL D安全是指汽车行业中的最高安全完整性等级,全称为Automotive Safety Integrity Level D(汽车安全完整性等级D)。这一等级是在ISO 26262(道路车辆功能安全标准)中定义的,用于评估和管理汽车电子系统的安全性。

其定义与背景:

ASIL D是ISO 26262标准中定义的最高安全等级,适用于对人身伤害有极高要求的系统、功能或元件。

随着汽车电子系统的日益复杂,功能安全成为确保车辆安全性的关键因素。ISO 26262标准旨在通过定义不同的安全等级,帮助汽车制造商评估和管理汽车电子系统的安全性。

适用系统与要求

适用系统:ASIL D等级的系统通常包括关键的驾驶辅助系统、制动系统、转向系统等,这些系统直接关系到车辆的操控和安全性能。

要求:ASIL D等级的系统必须具备可靠性和强大的故障防范能力,以防止任何故障导致严重伤害或生命危险。实现这一级别的安全性需要进行严格的分析、验证和确认,并采取相应的安全措施,如冗余设计、错误检测和纠正机制、失败安全策略等。

开发流程与文档记录

开发流程:ASIL D等级的系统开发需要遵循严格的开发流程,包括需求分析、设计、实现、验证和确认等阶段。

文档记录:为确保设计和开发过程符合标准的要求,需要建立详细的文档记录,包括设计文档、验证报告、确认报告等。

在这里插入图片描述

二、如何实现ASIL D安全?

在企业中建立定义和践行安全关键型产品开发的安全文化,包括任命一名独立的功能安全(FuSa)组织经理,该经理对产品开发团队具有独立权限。安全监督和开发活动包括所记录的定义和对安全计划的遵守以及安全要求的定义/文件。

安全计划和安全规范包括功能硬件/软件安全机制,如 ECC、奇偶校验、双核互锁机制和其他功能。这些机制由设计团队按照安全概念规范中的要求实施。

将硬件/软件安全机制设计到安全关键型SoC的汽车IP产品中,需要对IP产品进行评估和验证,实现ADAS功能的最新SoC处理器采用的汽车级IP必须符合特定 ISO 26262 汽车安全完整性等级 (ASIL),并符合安全关键型SoC的ISO 26262功能安全开发流程。

除了硬件/软件安全开发(包括针对这些硬件/软件安全机制随机故障的功能安全评估),汽车行业最佳方式还要求对所有安全关键型产品的系统开发流程进行安全评估。

系统开发流程涉及产品的所有开发阶段,例如规划阶段、开发阶段、验证/确认阶段、评估和产品发布以及持续维护和产品监控。在以上各个阶段中,安全关键型产品的开发需要FuSa安全管理团队和产品开发团队执行多个步骤和审查(包括持续监控),以确保遵循ISO 26262 系统开发流程(如图 )。

在这里插入图片描述

1、对于公司需要建立安全文化

高层领导的支持:

高层领导应明确表达对安全文化的重视,并将其纳入企业的核心价值观中。提供必要的资源和资金,确保安全文化的实施和持续改进。

任命独立的功能安全(FuSa)组织经理,该经理应具备丰富的功能安全知识和经验,对产品开发团队具有独立权限。负责制定和监督功能安全策略、计划和实施,确保所有开发活动符合ISO 26262标准。

安全监督和开发活动:

设立专门的安全监督团队,对产品开发过程进行全程监督。确保所有开发活动都记录在案,并符合安全计划的要求。对安全要求进行明确定义和文件记录,确保团队成员对安全要求有清晰的认识。

2、安全计划和安全规范

功能硬件/软件安全机制,设计团队应根据安全概念规范中的要求,实施如ECC(错误检测和纠正)、奇偶校验、双核互锁机制等硬件安全机制。

软件安全机制应包括错误处理、异常检测和恢复等策略。

安全评估和验证,对硬件/软件安全机制进行严格的评估和验证,确保其符合ISO 26262标准。采用模拟、测试、分析等手段,验证安全机制的有效性。

3、安全关键型SoC的汽车IP产品设计和验证

IP产品评估和验证:对用于安全关键型SoC的汽车IP产品进行严格的评估和验证。确保其符合ISO 26262汽车安全完整性等级(ASIL)的要求。

符合ISO 26262功能安全开发流程,遵循ISO 26262功能安全开发流程,确保SoC处理器的设计和开发符合安全标准。在开发过程中,注重硬件/软件安全机制的集成和验证。

4、系统开发流程的安全评估

全程安全评估:除了硬件/软件安全开发外,还对系统开发流程进行安全评估。评估内容包括但不限于规划阶段、开发阶段、验证/确认阶段、评估和产品发布以及持续维护和产品监控。

多个步骤和审查:在系统开发流程的各个阶段中,FuSa安全管理团队和产品开发团队应执行多个步骤和审查。包括但不限于需求分析、设计审查、测试验证、安全确认等。

持续监控:设立持续监控机制,确保系统开发流程始终符合ISO 26262标准。对发现的问题和隐患进行及时整改和纠正。

5、阶段汇总

建立并践行安全关键型产品开发的安全文化是一个长期而持续的过程。它需要高层领导的支持、独立的功能安全组织经理的引领、安全监督和开发活动的严格执行以及系统开发流程的安全评估等多个方面的共同努力。只有这样,才能确保安全关键型产品的开发始终符合ISO 26262标准,为用户提供安全可靠的产品和服务。

三、ISO 26262 FuSa 系统开发流程

ISO 26262标准定义了功能安全(FuSa)系统开发流程,该流程是确保汽车电子系统安全性的基础。这个流程包括了从规划阶段到产品发布和持续监控的所有阶段,每个阶段都有其特定的任务和目标。

1、ASIL评估的选择

仅遵循ASIL随机硬件/软件故障评估:这可能适用于安全要求较低的系统,但可能不足以确保ASIL D等级系统的安全性。

同时遵循ASIL随机硬件/软件故障和ASIL D系统故障评估:这是行业普遍最认可的做法,特别是对于ASIL D等级的系统。这种双重评估提供了更全面的安全保障,确保了系统在面临各种故障模式时都能保持安全。

2、严格的程序和多重制衡

对于同时遵循两种评估的产品,开发团队需要确保所有方面都经过严格的程序,并具有多重制衡。这包括多次审核和批准流程迭代,以及内部审计和可选的第三方独立检查/审计。这些程序旨在确保开发过程的完整性和准确性,从而提高产品的安全性。

3、质量管理体系 (QMS)

制定汽车行业最先进的质量管理体系(QMS)是确保执行、记录和审核所有步骤的关键。QMS系统应包括从要求设置到执行和确认的完整要求跟踪,以确保所有工作成果/可交付成果都符合标准。

4、开发阶段的工作成果

规划阶段:定义和跟踪产品的每个工作成果,确保开发过程有明确的目标和计划。

开发阶段:完成大多数工作成果/可交付成果,包括设计、实现和测试等。

验证/确认阶段:生成多个工作成果,包括验证报告、确认报告等,以确保系统符合安全要求。

评估和产品发布阶段:进行最终评估,生成产品发布文档,确保产品可以安全地交付给客户。

5、QMS系统中的报告跟踪

在每个开发阶段,都应在QMS系统中创建和独立跟踪确认审核报告、功能安全审计报告和功能安全评估报告。这些报告是证明开发过程合规性和产品安全性的重要依据。

6、安全工作成果/可交付成果的数量

ASIL D系统开发流程通常会产生大量的安全工作成果/可交付成果,可能超过80种。这些成果涵盖了从需求分析到产品发布的所有阶段,确保了系统的安全性和合规性。

ISO 26262 FuSa 系统开发流程的重要性

ISO 26262标准定义了汽车电子系统开发的功能安全要求,以确保在车辆使用过程中,即使系统发生故障,也不会导致对乘客或道路使用者造成伤害。这一标准中的系统开发流程是整个产品合规性的基础,涵盖了从需求分析到产品发布和维护的所有阶段。

ASIL评估的选择:在ISO 26262标准中,根据系统的安全关键性和潜在危害程度,将汽车电子系统分为不同的安全完整性等级(ASIL),从A到D,其中ASIL D是最高等级。开发团队在评估系统时,可以选择仅遵循ASIL随机硬件/软件故障评估,但这样做可能不足以满足ASIL D等级系统的安全性要求。因此,行业普遍最认可的做法是同时遵循ASIL随机硬件/软件故障和ASIL D系统故障评估,以确保系统在面临各种故障模式时都能保持安全。

严格的程序和多重制衡:对于同时遵循两种评估的产品,开发团队需要确保开发的所有方面都经过严格的程序,并具有多重制衡。这包括但不限于:

多次审核和批准流程迭代:在开发过程中,每个阶段都需要经过多次审核和批准,以确保工作成果符合安全要求。这些审核和批准流程应该是迭代的,即每次迭代都需要对之前的工作进行回顾和验证。

内部审计:内部审计是确保开发过程符合ISO 26262标准和公司政策的重要手段。它可以帮助开发团队发现潜在的问题和风险,并及时采取措施进行纠正。

第三方独立检查/审计:除了内部审计外,还可以选择进行第三方独立检查/审计。这可以提供额外的保障,确保开发过程和产品符合行业标准和法规要求。

遵循最佳实践:为了确保开发过程的有效性和产品的安全性,开发团队应该遵循最佳实践,包括但不限于:

使用成熟的技术和工具:选择经过验证的技术和工具,可以降低开发过程中的风险,提高产品的可靠性。

建立有效的沟通机制:团队成员之间应该建立有效的沟通机制,确保信息及时传递和共享。这有助于发现潜在的问题和风险,并及时采取措施进行解决。

持续监控和改进:开发过程应该是持续监控和改进的过程。通过收集和分析数据,可以发现潜在的问题和改进点,并及时采取措施进行改进。

搁笔分享完毕!

愿你我相信时间的力量

做一个长期主义者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2247245.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

禁止Chrome的自动升级

一、需求分析 因为用Chromeselenium做了网页自动化填写任务,如果Google Chrome浏览器自动升级,就会导致chromedriver加载失败,自动化任务失效,因此需要禁止Chrome浏览器的自动升级。 二、当前环境 三、实际配置 运行注册表编辑…

C0034.在Ubuntu中安装的Qt路径

Qt安装路径查询 在终端输入qmake -v如上中/usr/lib/x86_64-linux-gnu就是Qt的安装目录;

C++从零到满绩——类和对象(中)

目录 1>>前言 2>>构造函数(我称之为初始化函数) 3>>析构函数(我称之为销毁函数) 4>>拷贝构造函数(我称之为复制函数) 5>>运算符重载 5.2>>赋值运算符重载 ​编辑…

oracle 12c查看执行过的sql及当前正在执行的sql

V$SQL 提供了已经执行过及正在执行的SQL语句的信息。 一 查看共享池中所有sql的统计信息 #统计共享池中某类sql执行次数,总体执行时长,平均执行时长等信息,并按总体执行时长降序排序 SELECT INST_ID,SQL_ID,SQL_TEXT,SQL_FULLTEXT,EXECUTI…

解锁PPTist的全新体验:Windows系统环境下本地部署与远程访问

文章目录 前言1. 本地安装PPTist2. PPTist 使用介绍3. 安装Cpolar内网穿透4. 配置公网地址5. 配置固定公网地址 前言 在Windows系统环境中,如何本地部署开源在线演示文稿应用PPTist,并实现远程访问?本文将为您提供详细的部署和配置指南。 P…

C语言中的指针和字符串的赋值

前言&#xff1a;温习下以前学过的C语言知识&#xff0c;温故而知新。 实例说明 本文用一段实例代码阐述指针和字符串的联系。 #include <iostream> #include <cstring> int main() {using namespace std;char animal[20] "bear";const char * bird …

Linux高阶——1117—TCP客户端服务端

目录 1、sock.h socket常用函数 网络初始化函数 首次响应函数 测试IO处理函数 获取时间函数 总代码 2、sock.c SOCKET() ACCEPT()——服务端使用这个函数等待客户端连接 CONNECT()——客户端使用这个函数连接服务端 BIND()——一般只有服务端使用 LISTEN()——服务端…

物体网格弹性变形---Unity中实现

在游戏引擎场景中的3D物体是由一定数量的点、面组成的&#xff0c;如下图&#xff1a; 要使这些物体变形就是改变3D物体每个顶点状态。 1.首先在Unity场景中增加一个球体&#xff0c;如下图 3D组件默认拥有MeshFilter、meshRenderer、Collider组件&#xff0c;分别用来获取Mes…

【ArcGISPro】根据yaml构建原始Pro的conda环境

使用场景 我们不小心把原始arcgispro-py3的conda环境破坏了,我们就可以使用以下方法进行修复 查找文件 在arcgis目录下找到yaml文件 如果没找到请复制以下内容到新的yaml文件 channels: - esri - defaults dependencies: - anyio=4.2.0=py311haa95532_0 - appdirs=1.4.4=p…

【Y20030007】基于java+servlet+mysql的垃圾分类网站的设计与实现(附源码 配置 文档)

网垃圾分类网站的设计与实现 1.摘要2.开发目的和意义3.系统功能设计4.系统界面截图5.源码获取 1.摘要 随着全球环境保护意识的提升&#xff0c;垃圾分类已成为一项紧迫且重要的任务。为了有效推动垃圾分类的实施&#xff0c;提升公众的环保意识和参与度&#xff0c;垃圾分类已…

【Python爬虫五十个小案例】爬取豆瓣电影Top250

博客主页&#xff1a;小馒头学python 本文专栏: Python爬虫五十个小案例 专栏简介&#xff1a;分享五十个Python爬虫小案例 &#x1fab2;前言 在这篇博客中&#xff0c;我们将学习如何使用Python爬取豆瓣电影Top250的数据。我们将使用requests库来发送HTTP请求&#xff0c;…

C++ 优先算法 —— 长度最小的子数组(滑动窗口)

目录 题目&#xff1a;长度最小的子数组 1. 题目解析 2. 算法原理 Ⅰ. 暴力枚举 Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 滑动窗口正确性 3. 代码实现 Ⅰ. 暴力枚举(会超时&#xff09; Ⅱ. 滑动窗口&#xff08;同向双指针&#xff09; 题目&#xff1a;长…

C++设计模式——Singleton单例模式

一、单例模式的定义 单例模式&#xff0c;英文全称Singleton Pattern&#xff0c;是一种创建型设计模式&#xff0c;它保证一个类在程序中仅有一个实例&#xff0c;并对外提供一个访问的该类实例的全局接口。 单例模式通常用于需要控制对象资源的开发场景&#xff0c;一个类…

【Linux系统】—— 基本指令(三)

【Linux系统】—— 基本指令&#xff08;三&#xff09; 1 一切皆文件2 重定向操作2.1 初始重定向2.2 重定向的妙用2.3 追加重定向2.4 输入重定向2.5 一切皆文件与重定向结合 3 Linux 中的文件类型4 日志5 「more」命令6 「less」命令7 「head」与「tail」7.1 查看文件开头和结…

探索 Python 任务自动化的新境界:Invoke 库揭秘

文章目录 探索 Python 任务自动化的新境界&#xff1a;Invoke 库揭秘背景&#xff1a;为何选择 Invoke&#xff1f;什么是 Invoke&#xff1f;如何安装 Invoke&#xff1f;5个简单的库函数使用方法1. 定义任务2. 带参数的任务3. 运行 Shell 命令4. 任务参数化5. 列出任务 场景应…

【C++】list模拟实现(详解)

本篇来详细说一下list的模拟实现&#xff0c;list的大体框架实现会比较简单&#xff0c;难的是list的iterator的实现。我们模拟实现的是带哨兵位头结点的list。 1.准备工作 为了不和C库里面的list冲突&#xff0c;我们在实现的时候用命名空间隔开。 //list.h #pragma once #…

shell脚本(6)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;shell(6)if条件判断与for循环结构_哔哩哔哩_bilibili 本文主要讲解shell脚本中的if条件判断和for循环结构。 一、if语句 Shell 脚本中的 if 语句…

JavaScript基础 document.write()方法

JavaScript基础 document.write方法 1.简单认识document.write()2.document.write() 的使用 1.简单认识document.write() document.write() 是一种 JavaScript 方法&#xff0c;用于将内容直接写入到 HTML 文档中。它可以用来动态地在页面加载时插入文本、HTML 代码、图片等内…

Linux笔记---进程:进程切换与O(1)调度算法

1. 补充概念 1.1 并行与并发 竞争性&#xff1a;系统进程数目众多&#xff0c;而CPU资源只有少量&#xff0c;甚至只有1个&#xff0c;所以进程之间是具有竞争属性的。为了高效完成任务&#xff0c;更合理竞争相关资源&#xff0c;便具有了优先级。独立性&#xff1a;多进程运…

使用ENSP实现浮动静态路由

一、项目拓扑 二、项目实现 1.路由器AR1配置 进入系统试图 sys将路由器命名为R1 sysname R1关闭信息中心 undo info-center enable 进入g0/0/0接口 int g0/0/0将g0/0/0接口IP地址配置为1.1.1.1/24 ip address 1.1.1.1 24进入g0/0/1接口 int g0/0/1将g0/0/1接口IP地址配置为2.…