ChinaAutoRegs|GB/T英文版翻译 智能网联汽车 车控操作系统技术要求及试验方法
Intelligent and connected vehicle—Vehicle-control operating system technical requirements and test method
1 范围
本文件规定了智能网联汽车车控操作系统的一般要求、通用技术要求、信息安全要求、功能安全 要求和试验方法。
本文件适用于M和N类车辆,其他类型的车辆可参考使用。
2 规范性引用文件
下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文 件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适 用于本文件。
GB 44495—2024 汽车整车信息安全技术要求
GB 44496—2024 汽车软件升级通用要求
GB/T 17548—2008 信息技术 POSIX标准符合性的测试方法规范和测试方法实现的要求和指南 GB/T 34590 道路车辆 功能安全
GB/T 40429—2021 汽车驾驶自动化分级 GB/T 44373—2024 智能网联汽车 术语和定义 GB/T XXXXXXX 道路车辆 信息安全工程 GM/T 0005—2021 随机性检测规范
3 术语和定义
GB/T 40429—2021和GB/T 44373—2024界定的以及下列术语和定义适用于本文件。
3.1
车载智能计算基础平台 on-board intelligent computing base platform
支撑智能网联汽车驾驶自动化等功能实现的软硬件一体化平台,包括芯片、模组、接口等硬件以
及系统软件(3.5)和功能软件(3.6)。
3.2
车控操作系统 vehicle-control operating system
运行于车载智能计算基础平台(3.1)硬件及汽车电子控制单元硬件之上,支撑智能网联汽车驾驶 自动化功能实现和安全可靠运行的软件集合。车控操作系统由智能驾驶操作系统(3.3)和安全车控操 作系统(3.4)组成。
3.3
智能驾驶操作系统 intelligent driving operating system
车控操作系统(3.2)中支撑智能网联汽车驾驶自动化功能实现的软件集合,包括系统软件(3.5) 和功能软件(3.6)。
3.4
安全车控操作系统 safety vehicle-control operating system
车控操作系统(3.2)中支撑智能网联汽车安全可靠运行的软件集合,包括系统软件(3.5)和功能 软件(3.6)。
3.5
系统软件 system software
嵌入式系统运行环境的软件集合,车控操作系统(3.2)中主要支撑驾驶自动化功能实现,包括内 核、虚拟化管理和中间件等。
3.6
功能软件 function software
车控操作系统(3.2)中面向智能驾驶核心共性需求形成的智能驾驶共性服务软件集合,支撑驾驶 自动化功能开发,包括数据抽象、功能软件通用框架、智能驾驶通用模型和应用软件接口等。
3.7
数据抽象 data abstraction
对车端传感器、执行器、自车状态、地图以及云端数据进行规范化处理,实现驾驶自动化功能开 发与传感器、底层硬件等设备的解耦。
3.8
硬件虚拟化 hardware virtualization
通过硬件平台提供对特殊指令的截获和重定向的支持来实现虚拟化功能。
3.9
动态编排 dynamic orchestration
通过自动化和智能化的方式,根据系统内部实时的场景和条件,动态地协调和管理任务的分配和
调度过程。
3.10
安全审计 security audit
对信息系统记录与活动的独立评审和考察,以测试系统控制的充分程度,确保对于既定安全策略 和运行规程的符合性,发现安全违规,并在控制、安全策略和过程三方面提出改进建议。
[来源:GB/T 25069—2022,3.24]
3.11
密钥管理 key management
在密钥全生存周期,根据安全策略,对密钥的产生、分发、存储、使用、更新、归档、撤销、备 份、恢复和销毁等进行的管理。
[来源:GB/T 25069—2022,3.401]
3.12
硬实时 hard real-time
严格遵循时间约束,超出时间限制会造成严重的系统失效。
[来源:《计算机科学技术名词(第三版)》]
4 缩略语
下列缩略语适用于本文件。 API:应用程序编程接口(Application Programming Interface) ASIL:汽车安全完整性等级(Automotive Safety Integrity Level) CAN:控制器局域网络(Controller Area Network)
CAN-FD:可变速率控制器局域网络(Controller Area Network Flexible Data-Rate) CPU:中央处理单元(Central Processing Unit)
CRC:循环冗余校验(Cyclic Redundancy Check)
C-V2X:无线通信技术(Cellular Vehicle to Everything) DDS:数据分发服务(Data Distribution Service) DoS:拒绝服务(Denial of Service) ECU:电子控制单元(Electronic Control Unit) GIC:通用中断控制器(Generic Interrupt Controller) GNSS:全球导航卫星系统(Global Navigation Satellite System) Guest OS:客户操作系统(Guest Operating System) HMI:人机界面(Human Machine Interface) ID:身份标识号码(Identity Document) IMU:惯性测量单元(Inertial Measurement Unit) I/O:输入输出(Input Output)
IOMMU:输入输出的内存管理单元(Input/Output Memory Management Unit) IP:互联网协议(Internet Protocol)
IPC:进程间通讯(Inner-process Communication) LIN:局域通讯网络(Local Interconnect Network) LPC:本地过程调用(Local Procedure Call) MCU:微控制单元(Micro Control Unit) ODD:设计运行域(Operational Design Domain) OTA:空中下载(Over the Air)
POSIX:可移植操作系统接口(Portable Operating System Interface of UNIX) SEooC:独立于环境的安全要素(Safety Element out of Context) SMMU:系统内存管理单元(System Memory Manage Unit) SOA:面向服务的架构(Service-Oriented Architecture)
SOME/IP:基于IP的可扩展的面向服务的中间件(Scalable service-Oriented Middleware over IP) SSH:安全外壳协议(Secure Shell)
SYN:同步序列编号(Synchronize Sequence Numbers) TCP:传输控制协议(Transmission Control Protocol) UDP:用户数据报协议(User Datagram Protocol) VLAN:虚拟局域网(Virtual Local Area Network) V2X:车联网通信(Vehicle to Everything)
5 一般要求
车控操作系统满足以下一般要求:
a) 应符合 GB/TXXXXXX(引用国标《道路车辆 信息安全工程》标准号)的要求; b) 应符合 GB/T 34590 的功能安全要求;
c) 应支持在不同硬件平台的移植与应用软件开发。
6 通用技术要求
6.1 智能驾驶操作系统
6.1.1 系统软件
6.1.1.1 内核
智能驾驶操作系统系统软件的内核满足以下要求:
a) 应支持绑核和不绑核两种方式,并根据上层应用需求进行选择与执行; b) 应具备多核管理、运行和同步功能;
c) 应支持进程或者任务调度功能,例如基于优先级的调度方式、基于优先级和公平调度结合的 调度方式、进程 CPU 时间片预算的约束配置功能等;
d) 应支持抢占功能;
e) 应支持进程间通信功能;
f) 应支持外设中断、处理器内部异常和软件中断的注册与处理; g) 应支持信号管理和通知功能;
h) 应支持时钟管理功能; i) 应支持锁与同步机制;
j) 应支持多任务(进程)管理,包含多任务(进程)的创建、运行、暂停和销毁等;
k) 应支持不同任务(进程)之间的资源隔离,各任务(进程)可以独立运行,且不互相影响; l) 应支持内存管理功能和非易失性存储管理功能,例如进程的内存预算约束配置功能等;
m) 应提供符合 GB/T 17548-2008 要求的接口; n) 应支持用户态与内核态模式;
o) 宜支持异构核间通信;
p) 可支持将特定类型的外部中断绑定到特定核上。
6.1.1.2 虚拟化管理
智能驾驶操作系统系统软件的虚拟化管理满足以下要求: a) 应支持同时加载运行多个 Guest OS;
b) 应实现系统资源的隔离保护;
c) 应具备多核管理、运行和同步功能; d) 应提供虚拟机间通信的机制;
e) 应支持功能安全和信息安全的安全机制; f) 应支持虚拟机的生命周期管理;
g) 应支持虚拟机事件记录功能;
h) 应至少支持 I/O、内存、CPU、中断、网络的虚拟化; i) 应支持通用的指令集架构和对硬件的管理;
j) 可提供资源共享机制,实现 Guest OS 资源共享。
6.1.1.3 中间件
6.1.1.3.1 系统中间件
智能驾驶操作系统系统软件的系统中间件满足以下要求: a) 应支持系统时间同步;
b) 应具备数据管理和存储功能,且支持易失性与非易失性存储介质; c) 应支持进程和功能组件等的状态管理与生命周期管理;
d) 应提供网络管理服务; e) 应提供诊断管理服务; f) 应提供日志管理服务; g) 应提供软件升级服务。
6.1.1.3.2 分布式通信中间件
智能驾驶操作系统系统软件的分布式通信中间件满足以下要求: a) 应支持发布-订阅、请求-响应通信模型;
b) 应支持节点发现功能,且节点之间的发现应避免单点故障或瓶颈; c) 应支持多种通信协议,以及自决策的传输策略;
d) 应支持数据的序列化和反序列化功能;
e) 应支持操作系统内进程间,以及操作系统间的实时通信; f) 宜支持服务质量设置和各进程网络资源占用监控。
6.1.1.4 性能要求
智能驾驶操作系统系统软件应满足以下性能要求: a) 同步时间精度<1 ms;
b) 从内核开始被加载至第一个用户态进程开始执行的时间<3 s;
c) 在 CPU 负载 80%,内存占用 80%,网络带宽 60%的情况下,应满足:
•平均中断响应时延<20 μs,最大中断响应延迟<200 μs;
•平均线程切换时延<50 μs,实时线程的最大切换时延<1 ms;
•平均进程切换时延<50 μs,最大进程切换时延<1 ms;
•平均系统抢占时延<50 μs,最大系统抢占时延<1 ms。 d) 通信时延应满足:
•多节点下的进程间平均通信时延<1 ms;
•单节点内的 IPC 信号量平均通信时延<50 μs;
•单节点内的 IPC 消息队列平均通信时延<50 μs。
e) 在通信能力达到网络物理接口的 80%的情况下,UDP 丢包率<1%;
f) 在通信能力达到网络物理接口的 80%且丢包率<1%的情况下,UDP 协议吞吐量>800 Mbps; g) 虚拟化层导致的 CPU 性能损失<5%。
6.1.2 功能软件
6.1.2.1 数据抽象
智能驾驶操作系统功能软件的数据抽象满足以下要求:
a) 应支持通信中间件抽象,并向数据流框架提供统一的 SOA 通信接口; b) 应支持传感器抽象和执行器抽象,并定义和使用统一的数据接口;
c) 传感器抽象和执行器抽象的处理算法应独立于处理机制,可按需进行配置、插扩和复用;
d) 宜支持通用计算平台抽象,可通过硬件虚拟化和软件虚拟化实现,对外提供计算平台资源的 统一访问接口;
e) 宜支持车载操作系统抽象,定义车载和车控操作系统所需交换的信息范围、数据格式和交换 协议;
f) 可支持地图抽象,提供统一的地图基础服务,并且支持不同的地图格式及引擎接口;
g) 可支持 AI 抽象,通过 AI 框架建立对不同平台 AI 计算单元的适配通道,优化并调度硬件资源, 屏蔽硬件技术细节。
6.1.2.2 功能软件通用框架
6.1.2.2.1 数据流框架
智能驾驶操作系统功能软件的数据流框架满足以下要求:
a) 应提供统一的算法和基础服务节点抽象,支持算法和服务节点以线程、进程等方式进行本地、 跨域、跨板、跨机混合部署,支持多种方式进行数据路由和服务调用;
b) 应支持算法和服务节点编排,可支持动态编排和节点内多算法的动态切换;
c) 宜针对智能驾驶算法和基础服务定义统一的数据接口,且该接口支持主流编程语言数据定义 生成和不同标准数据格式的转换;
d) 可支持以进程、线程或协程等方式来实现算法节点和服务节点,以及根据任务优先级、所需 计算资源、任务截止时间的调度方式。
6.1.2.2.2 基础服务
智能驾驶操作系统功能软件的基础服务满足以下要求:
a) 应至少包含信息安全服务、网联云控服务、数据回传服务、OTA 服务、HMI 服务; b) 应根据服务分类提供服务接口。
6.1.2.3 智能驾驶通用模型
6.1.2.3.1 环境模型
智能驾驶操作系统功能软件的环境模型满足以下要求: a) 应定义环境数据的抽象语义级别和表达;
b) 宜对所运行算法的适用条件、感知能力和算力消耗等进行跟踪和管理,并对外提供功能和场 景驱动的感知能力订阅接口。
注:感知能力可包括感知范围、对象类别、语义层次、感知精度和服务确定性等。
6.1.2.3.2 规划模型
智能驾驶操作系统功能软件的规划模型应支持态势认知、场景认知和决策机制,并满足以下要求: a) 态势认知应包括车路关系、车车关系、自车与其它交通参与者的关系、其它交通参与者之间
以及与道路之间的关系;
b) 场景认知应支持与典型智能驾驶任务和道路环境相关联的场景识别;
c) 决策机制应建立态势-场景-功能之间的关联,宜支持基于状态机、行为决策树的规则决策机 制和 AI 决策机制;
d) 决策过程宜留存关键决策逻辑和证据,具有可解释性。
6.1.2.3.3 控制模型
智能驾驶操作系统功能软件的控制模型满足以下要求:
a) 应支持对实时计算环境中部署的控制算法的配置和更新; b) 应支持场景驱动的控制算法仲裁;
c) 宜支持控制算法前后台切换;
d) 可支持控制算法的在线参数标定。
6.1.2.4 应用软件接口
6.1.2.4.1 一般要求
智能驾驶操作系统功能软件的应用软件接口应提供数据抽象接口、感知接口、融合接口、定位接 口、预测接口、决策规划接口和控制接口,可提供配置接口和自定义接口等,其中数据抽象接口应提 供传感器抽象接口和执行器抽象接口,可提供地图接口。
6.1.2.4.2 数据抽象接口 6.1.2.4.2.1 传感器抽象接口
传感器抽象接口满足以下要求:
a) 应接收传感器数据,包括原始数据或处理后的目标数据等,宜提供数据校验和错误机制; b) 应输出图像数据、点云数据、目标数据等。
6.1.2.4.2.2 执行器抽象接口
执行器抽象接口分为执行器反馈接口和执行器控制接口两类:
a) 执行器反馈接口应接收车身数据和底盘数据,底盘数据应包括车辆的运动状态信息; b) 执行器控制接口应输出车身控制数据和底盘控制数据。 注1:车身控制数据包括但不限于灯光等。 注2:底盘控制数据包括但不限于汽车转向、驱动、刹车、档位等。
6.1.2.4.2.3 地图接口
地图接口可输出当前位置的道路数据。
注:道路数据包含人行道信息、路口信息、道路片段信息、车道片段信息、停止标准、信号灯、禁停区、减速带、 停车位等信息。
6.1.2.4.3 感知接口
感知接口满足以下要求:
a) 应接收传感器数据,如摄像头、毫米波雷达、激光雷达等; b) 应输出目标物的位置、类型、状态、置信度等数据。
6.1.2.4.4 融合接口
融合接口满足以下要求:
a) 应接收感知模块的数据,支持单传感器感知数据的跟踪以及多传感器数据的融合; b) 应输出目标的位置、状态、类型、置信度和历史信息等数据。
6.1.2.4.5 定位接口
定位接口满足以下要求:
a) 应接收 GNSS、IMU、摄像头和激光雷达的传感器数据,且支持基于地球全局坐标系的绝对 定位或局部坐标系的相对定位;
b) 应输出自车的位置、角度、运动状态和置信度等数据。
6.1.2.4.6 预测接口
预测接口满足以下要求:
a) 应接收感知模块、融合模块、定位模块数据;
b) 应输出目标车辆行驶的轨迹点序列,且包含位置和时间信息。
6.1.2.4.7 决策规划接口
决策规划接口满足以下要求:
a) 应接收自车的周边环境信息; b) 应输出自车行驶的轨迹点序列。
6.1.2.4.8 控制接口
控制接口满足以下要求:
a) 应接收决策规划、车身和定位等数据;
b) 应输出纵向控制(驱动或制动)、横向控制(转角)、档位、灯光控制等数据。
6.2 安全车控操作系统
6.2.1 系统软件
6.2.1.1 内核
安全车控操作系统系统软件的内核满足以下要求: a) 应支持基于优先级的任务调度策略;
b) 应支持不可抢占任务调度策略;
c) 应支持多核管理功能,包括多核任务并行处理; d) 应支持中断处理功能;
e) 应支持异核间的调度同步功能; f) 应支持资源管理功能;
g) 宜支持基于时间的任务间同步功能,提供多核数据同步机制,并能预防死锁; h) 宜使用绑核方式;
i) 可支持用户态和内核态;
j) 可提供时间保护或者空间保护功能; k) 可支持跨应用、跨核的任务通信机制。
6.2.1.2 中间件
安全车控操作系统系统软件的中间件满足以下要求:
a) 应支持应用程序运行的系统服务和功能,例如通信管理、时间同步等; b) 应支持非易失性数据的存储管理功能;
c) 应支持车内网络通信能力,包括但不限于以太网、CAN、CAN-FD、LIN、FlexRay 等,可支 持 SOME/IP、DDS 等通信协议;
d) 应支持日志管理功能; e) 应支持故障诊断功能;
f) 应支持网络管理功能;
g) 应支持多种硬件抽象,包括但不限于通信、存储、I/O 等; h) 宜支持车间网络通信能力,例如 C-V2X、无线通信等。
6.2.1.3 性能要求
安全车控操作系统系统软件应满足以下要求: a) 同步时间精度<1 ms;
b) 系统从上电开始到第一帧 CAN 报文发出时间<200 ms; c) 调度时延应满足:
•任务切换时延<5 μs;
•任务抢占时延<5 μs;
•系统二类中断时延<5 μs。 d) 通信时延和抖动应满足:
•CAN 通信时延<10 μs;
•DDS 和 SOME/IP 通信时延<10 ms。 e) 吞吐量>100 Mbps。
6.2.2 功能软件
安全车控操作系统功能软件应提供满足以下要求的接口:
a) 提供车辆动力系统、转向系统和制动系统的运行状态信息; b) 接收控制指令,并执行车辆控制。
7 信息安全要求
7.1 智能驾驶操作系统
7.1.1 系统软件
7.1.1.1 内核
7.1.1.1.1 安全启动
智能驾驶操作系统的安全启动满足以下要求: a) 系统应支持基于硬件可信根的安全启动;
b) 系统应支持基于安全 BootLoader(引导加载程序)的安全启动;
注:系统包括硬件和固件。
c) 应使用安全的完整性保护算法;
d) 安全启动信任链应延伸至 BootLoader; e) 安全启动信任链应延伸至内核;
f) 应默认开启;
g) 安全启动信任链宜延伸至系统软件;
h) 宜支持在应用程序安装时进行完整性保护的能力; i) 宜支持在应用程序启动时进行完整性保护的能力; j) 安全启动信任链可延伸至应用软件。
7.1.1.1.2 系统完整性保护和保密性保护
智能驾驶操作系统的完整性保护和系统保密性保护满足以下要求: a) 内核加载时应进行完整性保护;
b) 安全环境应对接口进行访问控制,基于威胁分析结果实现权限最小化; c) 安全环境应与其他非安全环境进行安全隔离;
注: 安全环境包括硬件安全模块、可信执行环境、可信平台模块等。
d) 内核运行时宜进行完整性保护; e) 宜对控制流进行完整性保护;
f) 运行时宜对内核中关键数据(例如进程数据、进程访问地址限制等)进行完整性保护。
7.1.1.1.3 访问控制
智能驾驶操作系统的访问控制机制满足以下要求: a) 应限制进程可执行的系统调用范围;
b) 应限制用户和进程的特权范围; c) 应支持强制访问控制。
7.1.1.1.4 内核态-用户态安全隔离
智能驾驶操作系统应隔离内核态和用户态的程序,限制用户程序对内核资源的访问。
7.1.1.1.5 漏洞防利用
智能驾驶操作系统的漏洞防利用满足以下要求: a) 应支持用户态和内核态地址随机化;
b) 应禁止数据内存具备执行权限;
c) 应限制代码段、无需修改的关键数据段不可写; d) 应支持栈保护;
e) 宜支持特权模式不可执行用户态程序; f) 宜支持特权模式不可访问用户态数据。
7.1.1.2 虚拟化管理
智能驾驶操作系统系统软件虚拟化管理满足以下要求:
a) 应提供分域安全隔离的能力,例如虚拟化分域隔离,即支持应用运行在不同域,不同信任域 中的应用访问共享资源需受控,且具备防范不同域内系统发生无意或恶意的越界读写等非 法操作的能力;
b) 应提供非可信执行环境与可信执行环境之间的资源访问控制能力。
7.1.1.3 中间件
7.1.1.3.1 系统中间件及服务资源隔离
智能驾驶操作系统系统中间件及服务资源隔离满足以下要求: a) 不同功能的系统中间件及服务应以独立进程隔离;
b) 内部处理和外部通信进程应进行隔离,并且权限应最小化。
7.1.1.3.2 安全通信协议
智能驾驶操作系统应支持安全的通信协议,保护系统和远程服务之间的通信,满足GB 44495— 2024中对远程访问点的安全技术要求。
7.1.1.3.3 协议栈安全
智能驾驶操作系统系统软件的协议栈安全应具备TCP/IP会话流状态检查的功能,并中断状态异常 的会话。
7.1.1.3.4 升级安全
智能驾驶操作系统系统软件应支持安全的升级,满足GB 44495—2024中的软件升级安全要求。
7.1.1.3.5 密码服务
智能驾驶操作系统系统软件的密码服务满足以下要求:
a) 系统应支持关键文件或数据(例如密码配置文件等)进行加密存储和完整性保护; b) 系统应提供密钥管理功能,对用户的密钥进行统一的管理和安全存储;
c) 系统应支持密钥管理对调用者的身份认证与访问权限控制; d) 应基于安全环境保护密钥;
e) 应基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
f) 应使用符合 GM/T 0005—2021 要求的安全随机数,保证随机数由已验证、安全的随机数生成 器产生;
g) 应具备对证书的可信根签名和发送方签名真实性验证的能力; h) 应对根证书进行完整性保护;
i) 应提供设备证书有效期管理功能; j) 应提供证书状态维护功能;
k) 应确保证书更新成功,在失败时使用现有有效证书; l) 应提供证书校验机制;
m) 系统宜支持对数据或者数据分区的加密,对关键的数据分区进行加密和完整性保护; n) 系统宜支持对只读分区的文件系统的只读挂载或者只读保护;
o) 宜基于安全环境对其他密钥和密码算法的运算过程进行保护;
p) 宜限制各调用者可执行的加解密算法范围,使用已验证、安全的算法; q) 宜限制各调用者加解密操作可使用的密钥范围;
r) 可实现对调用者的身份认证与访问权限控制。
7.1.1.3.6 系统接入认证
智能驾驶操作系统系统软件的接入认证满足以下要求: a) 应支持关闭登录功能,例如 SSH 等;
b) 应支持设备身份认证功能。
7.1.1.3.7 网络访问控制列表
智能驾驶操作系统系统软件应支持满足GB 44495—2024要求的网络访问控制列表功能。
7.1.2 功能软件
7.1.2.1 安全管理
7.1.2.1.1 安装
智能驾驶操作系统功能软件的安装满足以下信息安全要求:
a) 应遵循最小化原则,移除不必要的服务程序,关闭不需要的端口和服务,仅保留系统必须的 账号;
b) 应移除开发、编译、调测类和网络嗅探类的服务和工具; c) 不应存在任何后门和隐藏接口;
d) 不宜安装、显示和调整系统安全策略的服务和工具。
7.1.2.1.2 访问权限
智能驾驶操作系统功能软件的访问权限应满足最小化授权原则,不应超出正常业务范围。最小化 授权原则满足以下要求:
a) 应对 Root 进程进行排查,将不需要全部 Root 权限的功能拆离到其他进程; b) 应对所有进程按需配置权限。
7.1.2.1.3 安全审计
智能驾驶操作系统功能软件应提供信息安全审计所需的数据和日志保护功能,记录通信行为和重 要安全事件,包括但不限于事件的日期、类型、成功与否等审计相关信息。
7.1.2.2 应用软件接口
7.1.2.2.1 接口 API 安全
智能驾驶操作系统功能软件所提供的API接口的信息安全满足以下要求: a) 应提供最小的应用程序访问接口;
b) 宜具备消息校验功能,丢弃应用发送和声明不一致的消息; c) 宜具备身份认证功能,阻止非法应用的接入;
d) 高资源开销类 API 运行时宜限制调用者身份以及调用频率,以防止系统资源被耗尽。
7.1.2.2.2 传感器模块安全
智能驾驶操作系统功能软件传感器模块的信息安全满足以下要求: a) 传感器模块宜对所接入的传感器进行身份认证;
b) 传感器模块和传感器间数据通信宜通过加密通道进行传输,抵御报文构造、报文分析、报文 重放等攻击;
c) 传感器模块和传感器间数据通信宜支持认证、校验、签名机制。
7.1.2.3 功能软件通用框架
7.1.2.3.1 功能软件通用框架安全
智能驾驶操作系统功能软件通用框架的信息安全满足以下要求:
a) 应对加载的算法子模块间的通信进行管控,对通信的发起方、接收方、通信模式以及通信主 题进行控制,阻止不在预置通信矩阵中的访问会话;
b) 应提供针对算法子模块的安全隔离能力,限制其对系统和其他模块的资源的访问,包括但不 限于进程标识、用户、文件系统、网络协议栈等;
c) 在检测到严重的信息安全事件发生时(例如功能算法的完整性遭到破坏等),功能软件通用 框架应支持降级运行,阻断恶意应用的消息,并通知应用进行降级;
d) 宜对加载的算法子模块进行签名验证。
7.1.2.3.2 网联/云控模块安全
智能驾驶操作系统功能软件网联/云控模块的信息安全满足以下要求: a) 应提供留存网络日志和可审计能力;
b) 宜采用数据加密、身份认证等技术建立车与车、车与路、车与云、车与设备之间的安全通信。
7.1.2.3.3 OTA 服务安全
智能驾驶操作系统OTA服务的信息安全满足以下要求: a) 应满足 GB 44495—2024 中的软件升级安全要求; b) 应满足 GB 44496—2024 中的软件升级安全要求。
7.1.2.4 入侵检测
智能驾驶操作系统入侵检测满足以下要求:
a) 应具备主机异常检测能力,包括但不限于对系统配置文件、系统日志的监控及异常发现和告 警能力;
b) 应具备将安全事件发送至云端服务器的能力;
c) 宜支持基于 IP 和端口的黑白名单安全策略机制的以太网防火墙。
7.1.2.5 异常行为监测
智能驾驶操作系统异常行为监测满足以下要求:
a) 应监测并记录智能驾驶操作系统异常事件,用于后续进行安全审计,包括但不限于操作系统 资源使用量过高等;
b) 应监测并记录应用软件的异常事件,用于后续进行安全审计,包括但不限于异常退出、降级、 资源使用量过高等。
7.1.2.6 信息安全服务
智能驾驶操作系统信息安全服务满足以下要求:
a) 宜提供整车系统和应用信息安全监控服务,监控车辆系统、网络和服务的信息安全状态;
b) 宜记录信息安全事件,当信息安全事件严重威胁功能安全时,进入安全状况,提醒系统降级 和驾驶员介入。
7.2 安全车控操作系统
7.2.1 系统软件
7.2.1.1 内核
7.2.1.1.1 安全启动
安全车控操作系统系统软件的安全启动满足以下要求: a) 系统应支持基于硬件可信根的安全启动;
b) 应使用安全的完整性保护算法; c) 应默认开启。
7.2.1.1.2 安全隔离
安全车控操作系统系统软件安全隔离满足以下要求:
a) 应提供分域隔离的能力,不同信任域中的应用访问共享资源需受控,且具备防止不同域内的 系统发生无意或恶意越界读写等非法操作的能力;
b) 宜支持以太网络VLAN技术,对不同VLAN子网进行隔离;
c) 宜隔离用户态的程序,限制用户程序对内核资源的访问;
d) 宜满足不同功能的系统服务,支持内存权限和CPU权限隔离。
7.2.1.1.3 漏洞防利用
安全车控操作系统系统软件的漏洞防利用满足以下要求: a) 应禁止数据内存具备执行权限;
b) 应限制代码段、无需修改的关键数据段不可写; c) 应支持栈保护。
7.2.1.2 中间件
7.2.1.2.1 系统保密性保护和完整性保护
安全车控操作系统的系统保密性保护和完整性保护满足以下要求:
a) 系统应提供密钥管理功能,对用户的密钥进行统一的管理和安全存储; b) 应基于安全环境保护密钥;
c) 应基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
d) 应使用符合 GM/T 0005—2021 要求的安全随机数,保证随机数由已验证、安全的随机数生成 器产生;
e) 宜基于安全环境对其他密钥和密码算法的运算过程进行保护;
f) 系统宜支持关键文件或数据(例如密码配置文件等)进行加密存储和完整性保护; g) 系统宜支持对数据或者数据分区的加密,对关键的数据分区进行加密和完整性保护; h) 宜限制各调用者可执行的加解密算法范围,使用已验证、安全的算法;
i) 宜限制各调用者加解密操作可使用的密钥范围; j) 宜在应用程序升级时进行完整性保护;
k) 宜在驱动程序下载安装时进行完整性保护。
7.2.1.2.2 身份和访问权限控制
安全车控操作系统系统软件的身份和访问权限控制满足以下要求: a) 应具备对证书的可信根签名和发送方签名真实性验证的能力; b) 应对根证书进行完整性保护;
c) 应提供设备证书有效期管理功能;
d) 应提供证书查询、状态更新等维护功能;
e) 应确保证书更新成功,在失败时使用现有有效证书; f) 应提供证书校验机制;
g) 接入认证应提供安全接入服务;
h) 应提供接口访问控制功能,例如黑/白名单机制; i) 可实现对调用者的身份认证与访问权限控制。
7.2.1.2.3 协议栈安全
安全车控操作系统系统软件的协议栈安全满足以下要求:
a) 应具备 TCP/IP 协议的报文检查机制,包括但不限于源 IP、目的 IP、端口等;
b) 应具备 TCP/IP 协议的防 DoS 攻击机制,包括但不限于 Socket buffer 限流、限定 TCP/UDP 的 连接数量、限定 ARP 条目和 IP 分片存储数量等;
c) 应具备 TCP/IP 协议的 SYNC Cookie 机制,防止 SYN 攻击。
7.2.1.2.4 网络访问控制列表
安全车控操作系统的网络访问控制列表功能应满足本文件7.1.1.3.7所述要求。
7.2.1.2.5 安全通信协议
安全车控操作系统的安全通信协议应满足本文件7.1.1.3.2所述要求。
7.2.1.2.6 升级安全
安全车控操作系统的升级安全应满足本文件7.1.1.3.4所述要求。
7.2.2 功能软件
7.2.2.1 安全管理
安全车控操系统功能软件安全管理满足本文件7.1.2.1所述要求。
7.2.2.2 入侵检测
安全车控操作系统的入侵检测应具备将安全事件发送至云端服务器的能力。
7.2.2.3 异常行为监测
安全车控操作系统的异常行为监测宜监测并通知功能软件和应用软件的异常事件,用于后续进行 安全审计,包括但不限于异常退出、通信异常、诊断异常等。
8 功能安全要求
8.1 通用要求
车控操作系统ASIL等级应由整车层面的ASIL等级需求进行分解确定。如果没有上层需求作为输入, 可采用SEOOC方法进行安全假设(参见附录B),从而明确各个模块的ASIL等级。根据整车层面的 ASIL等级进行分配的示例如表B.1所示。
8.2 智能驾驶操作系统
8.2.1 系统软件
8.2.1.1 安全要求
智能驾驶操作系统系统软件的安全要求宜满足ASIL B。
8.2.1.2 安全机制
8.2.1.2.1 内核
智能驾驶操作系统系统软件内核的安全机制要求如下:
a) 应避免优先级反转,可采用优先级天花板协议、优先级继承协议等; b) 应支持死锁检测;
c) 应支持安全隔离机制,例如内核态和用户态的安全隔离、进程隔离等;
d) 应支持内存保护机制,例如运行时堆栈监测、内存访问检测、内存配额检测等; e) 应支持错误检测机制,例如 Hook 机制等;
f) 应支持错误处理机制,能够在运行时通知任何检测到的错误,返回对应错误码并通知上层应 用,例如检测到 POSIX 标准中规定的不正确接口调用时,返回相应错误码并通知上层应用;
g) 应支持内核资源配置功能;
h) 应支持内核资源统计和监控功能;
i) 应支持安全通信功能,包括任务间、多核间的安全通信;
j) 应支持内核或关键系统进程异常复位机制,例如采用看门狗功能等; k) 宜支持任务调度的超时保护机制;
l) 宜支持系统崩溃场景数据收集机制,且该数据可以用于后期现场恢复和问题定位。
8.2.1.2.2 虚拟化管理
智能驾驶操作系统系统软件虚拟化管理的安全机制要求如下:
a) 应支持硬件辅助 CPU 虚拟化机制,防止虚拟机非法访问物理 CPU 干扰虚拟化软件的运行; b) 应支持基于内存虚拟化的分区机制,使虚拟机间内存访问隔离;
c) 应支持中断虚拟化功能,使虚拟机间中断隔离;
d) 应支持基于 I/O 虚拟化的设备隔离机制,防止虚拟机在访问共享设备时的相互干扰;
e) 应支持基于虚拟 CPU 机制的虚拟机间运行隔离机制,防止虚拟机在执行上的无序干扰;
f) 应支持基于 I/O 地址空间隔离的 IOMMU/SMMU 机制,确保虚拟机在设备访问时的地址空间 隔离;
g) 应支持虚拟机的健康管理机制,对虚拟机的运行状态进行监控和恢复。
8.2.1.2.3 中间件
智能驾驶操作系统系统软件中间件的安全机制要求如下:
a) 应支持安全执行机制,例如时间监测机制、逻辑监测机制、利用率监测机制、存储空间监测 机制、低内存监测机制、环境温度监测机制、进程状态监测机制等;
b) 应支持安全存储机制,例如 A/B 面备份机制、数据文件 CRC 校验等;
c) 应支持安全通信机制,例如 CRC 校验、顺序计数器、特定 ID、超时检测、握手机制等; d) 应支持安全配置机制,例如内存安全划分、磁盘安全分区、进程及线程调度配置等。
8.2.2 功能软件
8.2.2.1 安全要求
智能驾驶操作系统功能软件的安全要求宜满足ASIL B。
8.2.2.2 安全机制
8.2.2.2.1 数据抽象
智能驾驶操作系统功能软件数据抽象的安全机制要求如下:
a) 应支持配置文件检测机制,对配置文件的加载结果、正确性、合法性进行检查,检测到失败 时执行上报,并进行相应的异常处理,例如值域范围检查、CRC 校验等;
b) 应支持进程检测机制,对服务或应用的加载、运行、卸载的结果以及正确性、逻辑顺序、时 效性进行检查,检测到异常时执行上报,并进行相应的异常处理;
c) 应支持通信安全机制,对通信数据的正确性、顺序性、时效性进行检查,检测到异常时执行 上报,并进行相应的异常处理,例如序列号、时间戳、CRC 校验等;
d) 应支持数据抽象检测机制,对数据抽象转换结果的正确性、时效性进行检查,检测到异常时 执行上报,并进行相应的异常处理。
8.2.2.2.2 功能软件通用框架
智能驾驶操作系统功能软件通用框架的安全机制要求如下: a) 应满足本文件 8.2.2.2.1 a)所描述的要求;
b) 应支持进程检测机制,对进程、算法或服务的加载、运行、卸载的结果以及正确性、逻辑顺 序、时效性进行检查,检测到异常时执行上报,并进行相应的异常处理;
c) 应满足本文件 8.2.2.2.1 c)所描述的要求;
d) 应支持异常监测和处理机制,对所有受控对象进行管理,并提供异常发布、订阅和处理策略, 例如心跳监测、资源监控、逻辑顺序监测、超时监测等异常监测机制,以及故障报警、提示 接管、安全停车等异常处理机制。
8.2.2.2.3 智能驾驶通用模型
智能驾驶操作系统功能软件智能驾驶通用模型的安全机制要求如下: a) 针对符合 GB/T 40429—2021 要求的 1 级、2 级驾驶自动化功能:
1) 宜持续对车辆状态的安全相关输入信号的状态和有效性进行监控,具体信号包括但不限 于车速信号、纵向加速度信号、滑移率信号等,当信号的状态或有效性发生故障时,进 入附录 B 表 B.2 中的安全状态 1;
2) 宜持续接收车身稳定性状态有关信号,当该信号显示不稳定或无效时,进入附录 B 表
B.2 中的安全状态 1;
3) 宜持续对驾驶有效性状态进行判定,当驾驶有效性状态显示为无效时,进入附录 B 表
B.2 中的安全状态 2;
4) 宜持续对前方目标物置信度进行监控,当前方目标物置信度不足时,进入附录 B 表 B.2
中的安全状态 3;
5) 宜持续对加速踏板开度进行监控,当加速踏板显示被踩下时,进入附录 B 表 B.2 中的安 全状态 4。
b) 针对符合 GB/T 40429—2021 要求的 3 级、4 级驾驶自动化功能,安全机制设计方法参见附录
B.3。
8.3 安全车控操作系统
8.3.1 系统软件
8.3.1.1 安全要求
安全车控操作系统系统软件的安全要求应满足 ASIL D。
8.3.1.2 安全机制
8.3.1.2.1 内核
安全车控操作系统系统软件内核的安全机制要求如下:
a) 应支持将特定类型的外部中断绑定到特定核上的能力,支持中断的确定性监控机制,例如中 断频率监控、中断超时监控等;
b) 应避免优先级反转,可采用优先级天花板协议、优先级继承协议等; c) 应支持死锁检测机制;
d) 应支持安全隔离机制,包括分区的故障隔离、检测和恢复,例如安全应用与非安全应用、不 同安全等级之间的应用隔离分区等;
e) 应支持内存保护,例如运行时堆栈检测、内存访问检测、内存配额检测等; f) 应支持错误检测机制,例如 Hook 机制等;
g) 应支持错误处理机制,能够在运行时通知任何检测到的错误,返回对应错误码并通知上层应 用;
h) 应支持安全通信功能,包括任务间、多核间的安全通信; i) 应支持任务调度的超时保护机制;
j) 宜支持确定性的调度机制。
8.3.1.2.2 中间件
安全车控操作系统系统软件中间件的安全机制要求如下:
a) 应支持安全通信机制,例如 CRC 校验、顺序计数器、特定 ID、超时检测等; b) 应支持安全存储机制,例如 CRC 校验、写验证等;
c) 应支持安全看门狗管理机制,例如保活监控、截止时间监控、程序流监控等;
d) 应支持驱动层的相关安全机制的实现,例如电源管理监控、时间监控、存储器监控、模拟及 数字输入输出监控、处理器监控等。
8.3.2 功能软件
安全车控操作系统功能软件的安全要求如下: a) 横纵向控制应满足 ASIL D;
b) 应用软件接口应至少满足 ASIL B,宜满足 ASIL D。
9 其他要求
车控操作系统满足以下其他要求:
a) 开发符合 GB/T 34590 要求的应用程序时,系统所使用的编译器应符合 GB/T 34590 第 8 部分 第 11 章节的要求;
b) 可支持不同语言的开发环境,包括但不限于 C、C++等。
10 试验方法
10.1 试验环境
被测车控操作系统应开放接口和权限,并可恢复,确保测试数据可记录、可导出,宜基于部件产 品、OEM整车进行测试。
10.2 通用技术试验方法
10.2.1 智能驾驶操作系统
10.2.1.1 系统软件
10.2.1.1.1 内核功能试验方法
智能驾驶操作系统系统软件的内核功能试验方法应按照下列流程和要求依次进行:
a) 系统启动,获取被测系统的接口,包含内存管理、中断管理、调度管理、时间管理、信号管 理、文件系统等;
b) 通过调用 CPU 亲和性绑定接口,并绑定不同任务到不同核上,检测被测系统的绑核功能是否 正常;
c) 通过启动多个进程或者任务,检测系统对多核资源管理和多个核上任务同时访问共享资源时 的同步功能;
d) 通过调用进程或任务调度接口,检测被测系统是否支持进程或任务的调度功能; e) 通过调用任务相关接口,设置不同的调度优先级,检测调度优先级是否符合预期; f) 通过调用进程间通信接口,检测被测系统是否支持进程间通信功能;
g) 通过调用中断相关接口,检查被测系统中断管理功能;
h) 通过调用信号管理相关接口,检测被测系统的信号管理功能; i) 通过调用时钟管理相关接口,检测被测系统的时钟管理功能;
j) 通过在线程或进程中调用系统提供的锁与同步接口,检测被测系统是否支持锁与同步机制; k) 通过调用进程管理相关接口,测试被测系统进程管理功能;
l) 通过启动两个任务(进程),在一个任务(进程)中访问另一个任务(进程)中数据的内存 地址,检测被测系统的任务(进程)间资源隔离功能;
m) 通过分别调用内存访问接口和文件管理接口,检查被测系统内存管理功能和非易失性存储管 理功能;
n) 通过调用系统标准化接口,检测被测系统在对接口的基本定义及接口功能实现是否符合 GB/T 17548—2008 要求;
o) 通过检测操作系统支持对特定系统资源的受限访问,测试被测系统支持用户态、内核态模式; p) 通过调用异构核间通信接口,检测被测系统是否支持异构核间通信;
q) 通过在系统中设置特定类型的外部中断,将中断绑定到不同核上,检测被测系统是否支持将 特定类型的外部中断绑定到特定核上的能力。
智能驾驶操作系统的内核功能试验预期结果如下: a) 系统启动,获取被测系统的接口;
b) 支持绑定任务到不同核上;
c) 具备多核管理、运行和同步功能;
d) 支持进程或者任务调度功能,例如基于优先级的调度方式、基于优先级和公平调度结合的调 度方式、进程 CPU 时间片预算的约束配置功能等;
e) 优先级高的任务抢占优先级低的任务,优先执行; f) 支持进程间通信功能;
g) 支持软硬中断的创建、删除、使能、去使能,支持断点保护,能在中断服务完成后返回原断 点;
h) 系统可以正确响应和处理信号;
i) 支持时钟设置,获取时间;支持定时器创建、定时器到期回调; j) 支持锁与同步机制;
k) 支持进程的创建、取消、挂起、休眠和唤醒,并且可以进行进程间同步和通信; l) 支持不同任务(进程)间的资源隔离功能;
m) 支持内存分配、回收,支持访问权限控制,提供内存保护机制,支持内存地址映射机制;支 持文件的创建,删除,编辑,支持目录的创建,删除,编辑,支持对于最大文件大小限制, 支持文件完整性检测和修复;
n) 接口符合 GB/T 17548—2008 要求; o) 支持用户态与内核态;
p) 支持异构核间通信功能;
q) 支持将特定类型的外部中断绑定到特定核上的能力。
10.2.1.1.2 虚拟化管理功能试验方法
智能驾驶操作系统系统软件的虚拟化管理功能试验方法应按照下列流程和要求依次进行:
a) 获取验证单板和配置工具,对于操作系统进行资源配置,并通过内存加载方式加载多个
Guest OS;
b) 在 Guest OS 1 上创建线程访问 Guest OS 2 的资源(例如 CPU、内存、硬盘等),检查被测系 统是否能正常访问;
c) 通过在 Guest OS 1 上启动多个进程或者任务,检测系统对多核资源管理和多个核上任务同时 访问共享资源时的同步功能;
d) 在两个实例操作系统上分别创建进程,通过调用操作系统通信接口提供通信,检查被测系统 是否能够正常通信;
e) 检测虚拟化管理层在分析与设计阶段对功能安全与信息安全实施的软件需求分析,是否完备 实现;
f) 对单个系统实例进行维护、销毁操作后,检查其他系统实例是否受影响;
g) 通过调用虚拟化管理层提供的接口或工具,检测是否支持查看指定时间范围的虚拟机事件并 可以进行性能优化分析;
h) 检查是否支持 I/O、内存、CPU、中断、网络的虚拟化;
i) 通过将虚拟化管理层部署到通用指令集架构的硬件平台(例如 X86、IA64、ARM 等),并创 建多个 Guest OS,检测虚拟化管理层支持通用的指令集架构;
j) 检查虚拟化管理层是否提供一套资源共享机制,实现 Guest OS 资源共享。 智能驾驶操作系统系统软件的虚拟化管理功能试验预期结果如下:
a) 被测系统可以正常运行,资源配置正常; b) 被测系统不能正常访问;
c) 被测系统中具备多核管理、运行和同步功能; d) 被测系统能够正常通信;
e) 虚拟化管理模块能实现分析与设计阶段对功能安全与信息安全的软件需求;
f) 检查其他 Guest OS 不受影响;
g) 支持查看指定时间范围的虚拟机事件并可以进行性能优化分析; h) 支持 I/O 的虚拟化、内存虚拟化、CPU、中断、网络的虚拟化; i) 支持通用的指令集架构,以及对硬件的管理;
j) 提供一套资源共享机制,实现 Guest OS 资源共享。
10.2.1.1.3 中间件
10.2.1.1.3.1 系统中间件试验方法
智能驾驶操作系统系统软件中间件试验方法应按照下列流程和要求依次进行:
a) 在不同节点创建两个进程,分别设置主从,检查被测系统中间件是否可以进行时间同步;
b) 在非易失性存储介质存储控制设备的测试驱动程序(如创建一个数据文件,调用文件读写接 口),执行以检查被测系统的易失性与非易失性存储介质能否正常支撑程序运行;
c) 通过进行应用的创建,启动,删除,检查被测系统的生命周期管理状态和响应;
d) 调用网络管理服务进程,检查被测系统是否可以正常管理网络状态;
e) 调用诊断服务进程,通过诊断工具软件检查被测系统是否可以正常响应诊断服务; f) 创建进程,检查被测系统的日志系统是否可以正常记录相关日志;
g) 创建软件升级请求,检查被测系统是否可以正常升级。 智能驾驶操作系统系系统软件中间件试验预期结果如下: a) 可以进行时间同步;
b) 被测系统的的易失性与非易失性存储介质能正常支撑程序运行; c) 可以正常检测进程的状态并响应;
d) 被测系统可以正常管理网络状态; e) 被测系统可以正常响应诊断服务;
f) 被测系统的日志系统可以正常记录相关日志; g) 被测系统可以正常升级。
10.2.1.1.3.2 分布式通信中间件试验方法
智能驾驶操作系统系统软件通信中间件试验方法应按照下列流程和要求依次进行:
a) 在多个节点上分别创建多个进程,选定一个进程进行服务发布,检查被测系统服务发布是否 成功,其他进程是否可以进行正常服务发现-订阅及请求-响应通信;
b) 在多个节点上分别创建多个进程,分配多个服务发布端,多个服务订阅端,设置单个节点故 障或检测被测系统是否因为单点故障或瓶颈影响节点之间的发现;
c) 在多个节点上分别创建多个进程,设置不同进程的通信协议,检测通信端点之间是否支持多 种通信协议并可自决策传输策略;
d) 检查通信端点中的通信数据是否支持序列化和反序列化功能;
e) 创建多个进程,分别设置多个进程在一个操作系统上和多个进程在不同的操作系统上,检查 是否正常通信;
f) 在多个节点上分别创建多个进程进行通信,并设置不同服务质量需求,调节通信行为。 智能驾驶操作系统系统软件的通信中间件试验预期结果如下:
a) 被测系统服务发布成功,其他进程可以进行正常服务发现-订阅及请求-响应通信; b) 被测系统支持节点发现,且不会因为单点故障或瓶颈影响节点之间的发现;
c) 被测系统通信中间件支持多种通信协议并可自决策传输策略; d) 支持数据的序列化和反序列化功能;
e) 被测系统的通信正常,支持操作系统内进程间通信及操作系统间通信; f) 被测系统的通信正常,且支持通信服务质量的设置。
10.2.1.1.4 系统软件性能试验方法
智能驾驶操作系统系统软件性能试验方法应按照下列流程和要求依次进行:
a) 在 CPU 负载 80%,内存占用 80%,网络带宽 60%的情况下,通过计算时间同步后,从节点 和主节点的时间差值,连续测试次数不少于 1000 次,并得到时间差值的最大值,即是时间同 步精度;
b) 通过在内核代码开始执行处和内核开始拉起用户态进程处添加记录时间的日志,并在系统启 动后查看系统启动日志获取被测系统从内核开始加载到操作系统启动完毕的时间;
c) 调度时延试验方法:
• 在 CPU 负载 80%,内存占用 80%背景下,构造中断,在发送中断前获取时间 t1,中断 函数入口获取时间 t2,t2-t1 为中断响应时延,连续测量次数不少于 10 万次,计算出时 延的平均值和最大值;
• 在 CPU 负载 80%和内存占用 80%背景下,创建同一个进程里相同优先级的两个线程, 连续触发线程切换次数不少于 10 万次,分别记录切换前的时间点和切换后的时间点,然 后根据统计的数值计算出时延的平均值和最大值,如多核情况下,将两个线程绑定到同 一个核上,优先级在当前核上设为最高,且正在执行的线程主动释放 CPU 资源;
• 在 CPU 负载 80%和内存占用 80%背景下,创建相同优先级的两个进程,连续触发进程 切换次数不少于 10 万次,分别记录切换前的时间点和切换后的时间点,然后根据统计的 数值计算出时延的平均值和最大值,如在多核情况下,将两个线程绑定到同一个核上进 行测试;
• 在 CPU 负载 80%和内存占用 80%背景下,创建两个不同优先级线程,连续触发高优先 级的线程抢占低优先级的线程次数不少于 10 万次,分别记录抢占前的时间点和抢占后的 时间点,然后根据统计的数值计算出时延的平均值和最大值,如在多核情况下,将两个 线程绑定到同一个核上,优先级在当前核上分别设为次高和最高,且在次高优先级进程中 触发高优先级线程的执行。
d) 通信时延试验方法:
• CANFD:使用工具发送 CANFD 报文(payload64B)给测试系统,带宽 5Mbps 占用达到 80%,测量从报文发出到接收到响应报文的时延的平均值、最大值;TCP/UDP:请求报 文和响应报文 payload 长度为 1000 字节,发包频率 30Hz,客户端发出请求报文到收到服 务端响应的时间的平均值、最大值;SOME/IP、DDS:请求报文和响应报文 payload 长 度为 1000 字节,发包频率 30Hz,订阅节点 1 个,从订阅节点应用层发出到订阅阶段应 用层收到响应的时间的平均值、最大值(跨 SOC 测试);
• 在 CPU 负载 80%和内存占用 80%背景下,创建两个进程及信号量。在多核情况下,将 两个进程绑定到同一个核上。进程 1 等待信号量而进入休眠,进程 2 释放信号量,记录 为时间点 t1,然后进程 1 获取信号量后唤醒,记录为时间点 t2,t2-t1 为信号量通信时延, 测量 10 万次,计算时延的平均值;
• 在 CPU 负载 80%和内存占用 80%背景下,创建两个进程及一个消息队列。进程 1 读取消 息队列阻塞,进程 2 开始写入消息,记录为时间点 t1;进程 1 被唤醒并完成读操作,记 录为时间点 t2,t2-t1 为消息队列通信时延,测量 10 万次,计算时延的平均值。
e) 在至少执行 3 次,每次至少 60 秒时长的要求下,采用 UDP 方式发送数据,数据包大小为 56
KB,发包频率 1800 Hz,通过统计出发送的报文数与接收的报文数,计算出丢包率;
f) 在至少执行 3 次,每次至少 60 秒时长的要求下,采用 UDP 方式发送数据,数据包大小为 56
KB,发包频率 1800 Hz,通过计算单位时间内数据的发送和接收量,得到系统的发送和接收 吞吐量;
g) 通过测试虚拟层的中断响应时延、任务调度时延与非虚拟化环境相比,检测虚拟化层的性能 损失。
智能驾驶操作系统系统软件性能试验预期结果如下: a) 同步时间精度<1 ms;
b) 系统启动时间应<3 s; c) 调度时延试验预期结果:
• 平均中断响应时延应<20 μs,最大中断响应延迟应<200 μs;
• 平均线程切换时延<50 μs,实时线程的最大切换时延<1 ms;
• 平均进程切换时延<50 μs,最大进程切换时延<1 ms;
• 平均系统抢占时延<50 μs,最大系统抢占时延<1 ms。 d) 通信时延试验预期结果:
• 多节点下进程间通信时延<1 ms;
• 信号量通信时延(平均值)<50 μs;
• 消息队列通信时延(平均值)<50 μs。
e) 在通信能力达到网络物理接口的 80%的情况下,UDP 丢包率<1%;
f) 在通信能力达到网络物理接口的 80%且丢包率<1%的情况下,UDP 协议吞量>800 Mbps; g) 虚拟化层的性能损失<5%。
10.2.1.2 功能软件
10.2.1.2.1 数据抽象试验方法
智能驾驶操作系统功能软件的数据抽象试验方法应按照下列流程和要求依次进行: a) 通过不同进程发送数据,检查被测系统是否以统一接口提供数据通信;
b) 测试不同种别的传感器和执行器,检查被测系统是否以统一的数据接口输出探测、特性、目 标、态势四级感知语义和动作、指令两级执行语义;
c) 通过动态配置,插扩不同的传感器和执行器,检查被测系统是否支持配置、插扩和复用;
d) 通过查看通用计算平台是否运行在虚拟化管理平台上,检查通用计算平台抽象通过硬件虚拟 化和软件虚拟化实现;
e) 通过发送数据给车机,检查被测系统是否满足车载和车控系统所需交换的信息范围、数据格 式和交换协议;
f) 针对不同地图,调用统一的地图基础服务接口,检查被测系统是否能支持地图服务; g) 通过 AI 资源抽象接口,为不同平台 AI 计算单元优化并调度硬件资源。
智能驾驶操作系统功能软件的数据抽象试验预期结果如下: a) 被测系统以统一接口提供数据通信;
b) 被测系统以统一的数据接口输出探测、特性、目标、态势四级感知语义和动作、指令两级执 行语义;
c) 被测系统支持配置、插扩和复用;
d) 被测系统的通用计算平台抽象可通过硬件虚拟化和软件虚拟化实现;
e) 被测系统满足车载和车控系统所需交换的信息范围、数据格式和交换协议; f) 被测系统可支持地图服务;
g) 被测系统支持为不同平台的 AI 计算单元优化并调度硬件资源,屏蔽硬件技术细节。
10.2.1.2.2 功能软件通用框架试验方法
10.2.1.2.2.1 数据流框架试验方法
智能驾驶操作系统功能软件的数据流框架试验方法应按照下列流程和要求依次进行:
a) 通过使用一套/一个组合的仿真框架,运行不同服务节点和算法节点,检查被测系统算法和服 务节点是否支持本地、跨域、跨板、跨机混合部署,是否支持多种方式进行数据路由和服务 调用;
b) 通过使用一套/一个组合的仿真框架,运行测试用例要求的一组服务节点和算法节点,检查被 测系统是否支持算法和服务节点编排,是否支持动态编排;
c) 通过编写不同主流编程语言(C++、Python 等)的接口调用代码,以及准备不同标准数据格 式(ASAM OpenDRIVE 等)的文件,检测是否使用统一的数据接口;
d) 通过以进程、线程或协程方式运行算法节点和服务节点,并且设置算法节点和服务节点的调 度优先级、所需计算资源及任务截止时间,检测被测系统算法和服务节点运行时序是否符合 调度策略。
智能驾驶操作系统功能软件的数据流框架试验预期结果如下:
a) 被测系统提供统一的算法和基础服务节点抽象,算法和服务节点支持本地、跨域、跨板、跨 机混合部署,支持多种方式进行数据路由和服务调用;
b) 被测系统支持算法和服务节点编排,支持动态编排;
c) 被测系统使用统一的数据接口,且支持主流编程语言数据定义生成和不同标准数据格式的转 换;
d) 被测系统算法和服务节点支持以进程、线程或协程方式部署,且支持根据任务优先级、所需 计算资源和任务截止时间的调度方式。
10.2.1.2.2.2 基础服务试验方法
智能驾驶操作系统功能软件的基础服务试验方法应按照下列流程和要求依次进行:
a) 通过设置不同的应用场景,检查被测系统是否包含信息安全服务、网联云控服务、数据回传 服务、OTA 服务和 HMI 服务;
b) 通过对各类服务节点进行服务调用,检测各类服务接口是否他提供相应接口,以及接口定义 是否合理。
智能驾驶操作系统功能软件的基础服务试验预期结果如下:
a) 被测系统包含信息安全服务、网联云控服务、数据回传服务、OTA 服务和 HMI 服务; b) 各类服务有相应接口,且服务调用结果符合接口定义。
10.2.1.2.3 智能驾驶通用模型试验方法
10.2.1.2.3.1 环境模型试验方法
智能驾驶操作系统功能软件的智能驾驶环境模型试验方法应按照下列流程和要求依次进行: a) 通过测试环境感知功能,检查被测系统是否实现环境数据的抽象语义级别和表达;
b) 通过测试环境感知功能,检查被测系统是否实现了对所运行算法的适用条件、是否能对感知 能力和算力消耗等进行跟踪和管理、是否提供感知能力订阅接口。
智能驾驶操作系统功能软件的智能驾驶环境模型试验预期结果如下: a) 被测系统实现环境数据的抽象语义级别和表达;
b) 被测系统实现了对所运行算法的适用条件、能对感知能力和算力消耗等进行跟踪和管理、提 供感知能力订阅接口。
10.2.1.2.3.2 规划模型试验方法
智能驾驶操作系统功能软件的智能驾驶规划模型试验方法应按照下列流程和要求依次进行:
a) 通过测试不同场景;功能,检查态势认知是否支持车路关系、车车关系、自车与其它交通参 与者的关系;
b) 通过测试不同场景功能,检查场景认知是否支持与典型智能驾驶任务和道路环境相关联的场 景识别;
c) 通过测试不同场景功能,检查决策机制是否建立了态势-场景-功能之间的关联;
d) 通过测试不同场景功能,检查决策过程中是否留存关键决策逻辑和证据,具有可解释性。 智能驾驶操作系统功能软件的智能驾驶决策模型试验方法预期结果如下:
a) 态势认知支持车路关系、车车关系、自车与其它交通参与者的关系; b) 场景认知支持与典型智能驾驶任务和道路环境相关联的场景识别; c) 决策机制建立了态势-场景-功能之间的关联;
d) 决策过程中宜留存关键决策逻辑和证据,具有可解释性。
10.2.1.2.3.3 控制模型试验方法
智能驾驶操作系统功能软件的智能驾驶控制模型试验方法应按照下列流程和要求依次进行: a) 系统运行中,实时更新计算环境中部署的控制算法,检查被测系统是否正常工作;
b) 通过测试不同场景功能,检查被测系统是否支持场景驱动的控制算法仲裁;
c) 通过设置控制算法的前后台运行方式,检测被测系统是否支持控制算法的前后台切换;
d) 针对被测系统,检查被测系统是否有控制算法的在线参数标定功能。 智能驾驶操作系统功能软件的智能驾驶控制模型试验预期结果如下:
a) 被测系统正常工作;
b) 被测系统支持场景驱动的控制算法仲裁; c) 被测系统支持控制算法的前后台切换;
d) 被测系统有控制算法的在线参数标定功能。
10.2.1.2.4 应用软件接口试验方法
10.2.1.2.4.1 数据抽象接口试验方法
智能驾驶操作系统功能软件的数据抽象接口试验方法应按照下列流程和要求依次进行:
a) 通过调用传感器抽象接口,检测被测系统:是否能读取到传感器数据,包括原始数据或处理 后的目标数据,同时,通过输入故障数据,检测是否能输出关于数据校验和错误检测机制提 供的报警信息,是否支持输出图像数据、点云数据、目标数据等;
b) 通过调用执行器抽象接口,检测被测系统:车辆反馈接口是否能输入灯光等车身数据和汽车 转向、驱动、刹车、档位等底盘数据,车辆控制接口是否能输出灯光等车身控制数据和汽车 转向、驱动、刹车、档位等底盘控制数据;
c) 通过调用地图接口,检测被测系统是否可输出当前位置的人行道信息、路口信息、道路片段 信息、车道片段信息、停止标准、信号灯、禁停区、减速带、停车位等道路数据。
智能驾驶操作系统功能软件的数据抽象接口试验预期结果如下:
a) 被测系统传感器抽象接口能读取到传感器数据,能输出关于数据校验和错误检测机制提供的 报警信息,支持输出图像数据,点云数据,目标数据等;
b) 被测系统执行器抽象接口能输入车身数据和底盘数据,车辆控制接口能输出车身控制数据和 底盘控制数据;
c) 被测系统地图接口能输出当前位置的道路数据。
10.2.1.2.4.2 感知接口试验方法
智能驾驶操作系统功能软件的感知接口试验方法应按照下列流程和要求依次进行:
a) 通过调用感知接口,检测被测系统接口:是否能接收传感器数据,如摄像头、毫米波雷达、 激光雷达等;
b) 通过调用感知接口,检测被测系统接口:是否能输出目标物的位置、类型、状态、置信度等 数据。
智能驾驶操作系统功能软件的感知接口试验预期结果如下:
a) 被测系统感知接口能接收传感器数据,如摄像头、毫米波雷达、激光雷达等; b) 被测系统感知接口能输出目标物的位置、类型、状态、置信度等数据。
10.2.1.2.4.3 融合接口试验方法
智能驾驶操作系统功能软件的融合接口试验方法应按照下列流程和要求依次进行:
a) 通过调用单传感器(相机、激光、毫米波等)模块接口、多传感器融合模块接口,检测被测 系统是否能接收单传感器的跟踪数据、多传感器的融合数据;
b) 通过调用融合接口,检测被测系统接口:是否能输出目标的位置、状态、类型、置信度和历 史信息等数据等。
智能驾驶操作系统功能软件的融合接口试验预期结果如下:
a) 被测系统融合接口能接收单传感器的跟踪数据、多传感器的融合数据;
b) 被测系统融合接口能输出目标的位置、状态、类型、置信度和历史信息等数据。
10.2.1.2.4.4 定位接口试验方法
智能驾驶操作系统功能软件的定位接口试验方法应按照下列流程和要求依次进行:
a) 通过调用定位接口,检测被测系统接口:是否能接收 GNSS、IMU、摄像头和激光雷达的传 感器数据,是否支持基于地球全局坐标系的绝对定位或局部坐标系的相对定位;
b) 通过调用定位接口,检测被测系统接口:是否能输出自车的位置、角度、运动状态和置信度 等数据等。
智能驾驶操作系统功能软件的定位接口试验预期结果如下:
a) 被测系统定位接口能接收 GNSS、IMU、摄像头和激光雷达的传感器数据,支持基于地球全 局坐标系的绝对定位或局部坐标系的相对定位;
b) 被测系统定位接口能输出自车的位置、角度、运动状态和置信度等数据。
10.2.1.2.4.5 预测接口试验方法
智能驾驶操作系统功能软件的预测接口试验方法应按照下列流程和要求依次进行:
a) 通过调用目标预测接口,检测被测系统接口:是否能接收感知模块、融合模块、定位模块等 数据;
b) 是否能输出目标车辆行驶的轨迹点序列,且包括位置和时间信息。 智能驾驶操作系统功能软件的预测接口试验预期结果如下:
a) 被测系统预测接口能接收感知模块、融合模块、定位模块数据;
b) 被测系统预测接口能输出目标车辆行驶的轨迹点序列,且包含位置和时间信息。
10.2.1.2.4.6 决策规划接口试验方法
智能驾驶操作系统功能软件的决策规划接口试验方法应按照下列流程和要求依次进行: a) 通过调用决策规划接口,检测被测系统接口:是否能接收自车的周边环境数据; b) 通过调用决策规划接口,检测被测系统接口:是否能输出自车行驶的轨迹点序列。 智能驾驶操作系统功能软件的决策规划接口试验预期结果如下:
a) 被测系统决策规划接口能接收自车的周边环境数据; b) 被测系统决策规划接口能输出自车行驶的轨迹点序列。
10.2.1.2.4.7 控制接口试验方法
智能驾驶操作系统功能软件的控制接口试验方法应按照下列流程和要求依次进行:
a) 通过调用控制接口,检测被测系统接口:是否能接收决策规划数据、车身数据和定位数据等; b) 通过调用控制接口,检测被测系统接口:是否能输出纵向控制(驱动或制动)、横向控制
(转角)、档位、灯光控制等数据。 智能驾驶操作系统功能软件的决策规划接口试验预期结果如下:
a) 被测系统控制接口能接收决策规划数据、车身数据和定位数据;
b) 被测系统控制接口能输出纵向控制(驱动或制动)、横向控制(转角)、档位、灯光控制等 数据。
10.2.2 安全车控操作系统
10.2.2.1 系统软件
10.2.2.1.1 内核试验方法
安全车控操作系统系统软件的内核功能试验方法应按照下列流程和要求依次进行:
a) 任务中设置事件权限,通过在测试任务中等待事件和发送事件,检查被测系统高优先级事件 的等待事件是否会触发优先级任务调度;
b) 设置多个不同优先级任务和资源,在测试任务中获取和释放资源,检查被测系统低优先级任 务获取资源后是否提升至天花板优先级;
c) 设置不同的任务归属不同的核,创建两个任务运行在不同核,通过模拟通信,检测被测系统 的多核间通信是否正常及多核管理是否正常;
d) 设置多个不同优先级的中断,创建一个测试任务,模拟不同优先级的中断,检查被测系统高 优先级中断响应的优先级是否高于被测系统的低优先级中断;设置不同的中断归属不同的分 区,创建一个测试任务,模拟相同/不同分区的中断,检查被测系统是否正确响应相同/不同 分区的中断;
e) 通过设置异构核上任务的周期性触发机制和事件触发机制,检测被测系统是否支持异构核上 任务间同步;
f) 通过设置任务和资源,在任务中申请和释放资源,检测是否支持资源管理功能;
g) 设置不同的任务归属不同的核,创建两个任务运行在不同核,通过测试不同核上不同任务对 共享数据的加锁访问,检测被测系统的多核数据同步机制及防死锁功能是否正常;
h) 通过设置任务在单个核上运行,检测是任务是否正常运行;
i) 通过创建用户态的任务,并且在用户态任务中调用需要在特权指令模式下执行的功能函数, 检测被测系统是否能够支持用户态和内核态;
j) 通过设置时间保护机制与空间保护机制,构造对应的触发场景,检测是否支持时间保护和空 间保护功能;
k) 通过设置跨核任务间的通信接口,并运行任务,检查任务间的通信正常。
安全车控操作系统系统软件的内核功能试验预期结果如下:
a) 被测系统高优先级事件的等待事件会触发优先级任务调度; b) 被测系统低优先级任务获取资源后提升至天花板优先级; c) 被测系统的多核间通信正常及多核管理正常;
d) 被测系统高优先级中断响应的优先级高于被测系统的低优先级中断,被测系统正确响应相同/ 不同分区的中断;
e) 被测系统支持异核间的任务间同步;
f) 被测系统任务中可以正常申请和释放资源;
g) 被测系统多核数据同步机制正常并能预防死锁; h) 被测系统可以支持任务绑核调度运行;
i) 在用户态下无法调用需要在特权指令模式下执行的功能函数,被测系统支持用户态和内核态; j) 被测系统时间保护和空间保护功能正常;
k) 跨任务间、跨核通信正常。
10.2.2.1.2 中间件试验方法
安全车控操作系统系统软件中间件试验方法应按照下列流程和要求依次进行:
a) 设置被测系统时间管理模块、存储模块、网络管理模块、诊断模块、日志模块、通信管理模 块等预置条件,启动被测系统;
b) 创建测试应用,调用非易失性存储器读写接口,检查被测系统的数据读写是否正常;
c) 创建测试应用,通过模拟车内网络的通信数据收发,检测被测系统的车内网络通信(以太网、
CAN、CAN-FD、LIN、FlxRay、SOME/IP、DDS 等)功能;
d) 调用日志管理模块,观测报文收发,检查被测系统是否能通过日志系统正常生成相关日志; e) 调用诊断管理模块,模拟诊断报文,观测报文收发,检查被测系统是否能正常响应诊断服务; f) 调用网络管理模块,观测报文收发,检查被测系统是否能正常管理网络状态;
g) 通过调用通信,存储等的硬件抽象接口,检查被测系统是否支持多种硬件抽象;
h) 创建测试应用,模拟通信数据收发,设置不同服务质量需求,数据包加时间戳,检查被测系 统的通信时延和吞吐量;通过模拟车间网络的通信,检测被测系统的车间网络通信(C-V2X/ 无线通信等)功能。
安全车控操作系统系统软件中间件试验预期结果如下:
a) 被测系统启动正常,通过外部报文收发工具观测报文收发正常; b) 被测系统的数据读写正常;
c) 被测系统应支持车内网络通信能力,包括以太网、CAN、CAN-FD、LIN、FlxRay、SOME/IP、
DDS 等通信协议;
d) 被测系统能通过日志系统正常记录相关日志; e) 被测系统能正常响应诊断服务;
f) 被测系统能正常管理网络状态;
g) 被测系统支持多种硬件抽象,包括不限于通信,存储等;
h) 被测系统的通信时延和吞吐量正常,被测系统宜支持车间网络通信(C-V2X/无线通信等)能 力。
10.2.2.1.3 性能试验方法
安全车控操作系统系统软件的性能试验方法应按照下列流程和要求依次进行:
a) 在 CPU 负载 80%,内存占用 80%,网络带宽 60%的情况下,通过计算时间同步后,从节点 和主节点的时间差值,连续测试次数不少于 1000 次,并得到时间差值的最大值,即是同步时 间精度;
b) 通过测试从上电开始到第一帧报文发出时间,检测系统启动时间; c) 调度时延试验方法如下:
• 通过创建两个任务,在任务运行过程中切换至另外一个任务所需的时间,循环该任务切 换不少于 10 万次,并计算平均值,检测系统任务切换时延;
• 创建两个不同优先级任务,在低优先级任务中激活高优先级任务开始,并等待高优先级 任务进入运行状态的时间,循环该任务切换不少于 10 万次,并计算平均值,检测任务抢 占时延;
• 通过模拟触发二类中断,在触发中断到中断子程序入口分别打点记录时间,使用外设时 钟记录计数器时间,循环触发不少于 10 万次,并计算平均值,检测系统中断时延。
d) 通信时延和时延抖动试验方法:
• CAN:通过模拟空载情况下的节点间通信,CAN 通信发送 CAN 报文(8 字节)计算出 测试数据从网络驱动层接收数据传递到应用层,再经由应用层到驱动层的时间间隔的平 均值,检测系统 CAN 通信时延;
• DDS 和 SOME/IP:SOA 通信从订阅节点应用层发出到订阅阶段应用层收到响应的时间 即通信时延,DDS 和 SOME/IP 均采用请求报文和响应报文 payload 长度为 1000 字节, 订阅节点 1 个;
e) 采用 UDP 方式发送数据,数据包大小为 10 KB,通过计算单位时间内数据的发送量得到系统 的吞吐量。
安全车控操作系统系统软件的性能试验预期结果如下: a) 同步时间精度<1 ms;
b) 系统启动时间<200 ms;
c) 调度时延试验预期结果如下:
• 任务切换时延<5 μs;
• 系统抢占时延<5 μs;
• 系统二类中断时延<5 μs;
d) 通信时延和时延抖动试验预期结果;
• CAN 通信时延<10 μs;
• DDS 和 SOME/IP 通信时延<10 ms。 e) 吞吐量>100 Mbps。
10.2.2.2 功能软件试验方法
安全车控操作系统的功能软件试验方法应按照下列流程和要求进行:
a) 通过调用运行状态信息接口,检测被测系统是否能输出动力系统、转向系统和制动系统的状 态信息;
b) 通过调用控制接口,模拟汽车转向、驱动、刹车等指令,检测被测系统是否输出相应的动力 系统、转向系统和制动系统的控制数据。
安全车控操作系统的功能软件试验预期结果如下:
a) 能够正确提供车辆动力系统、转向系统和制动系统的运行状态信息; b) 接收控制命令,并正确输出车辆控制指令。
10.3 信息安全试验方法
10.3.1 智能驾驶操作系统
10.3.1.1 系统软件
10.3.1.1.1 内核
10.3.1.1.1.1 安全启动试验方法
智能驾驶操作系统软件的安全启动试验方法应按照下列流程和要求依次进行:
a) 根据被测主机安全启动可信根存储区域访问方法和地址范围说明,使用软件或硬件调试工具 写入数据,重复多次验证是否可将数据写入该存储区域;
b) 使用软件调试工具对该 Bootloader 程序的签名数据进行破坏并使用安全刷写工具对破坏签名 后的 Bootloader 程序进行刷写,如成功写入到被测主机内的指定区域,检测车载终端是否校 验 Bootloader 程序签名,并在校验不成功时停止加载下一阶段系统镜像;
c) 通过查看被测主机设计文档,检查是否使用了安全的完整性保护算法;
d) 使用软件调试工具对 BootLoader 程序镜像(不含签名数据)进行篡改,将修改后的 BootLoader
写入到被测主机内的指定区域内,检查是否正常工作;
e) 使用软件调试工具对内核进行篡改,检查被测主机是否正常工作;
f) 通过查看被测主机设计文档,检查系统的安全启动状态确认是否为开启状态;
g) 使用软件调试工具破坏系统镜像的受保护的关键代码段,并将破坏后的系统镜像写入被测主 机,检测加载破坏后的系统镜像的主机是否能正常工作;
h) 使用软件调试工具破坏应用程序的受保护到代码段,并将破坏后的应用程序进行安装,检测 应用程序是否可以正常安装;
i) 使用软件调试工具破坏应用程序的受保护到代码段,并将破坏后的应用程序进行安装,如正 常安装,则启动应用程序,检测应用程序是否可以正常启动;
j) 使用软件调试工具破坏应用软件的受保护的关键代码段,并将破坏后的应用软件写入被测主 机,检测加载破坏后的应用软件的主机是否能正常工作。
智能驾驶操作系统软件的安全启动试验预期结果如下: a) 无法将数据写入存储区域;
b) 基于硬件实现安全启动,无法使用安全刷写工具对破坏签名后的 Bootloader 程序完成刷写, 或刷写成功后校验 Bootloader 程序签名失败,停止加载下一阶段系统镜像;基于软件实现安 全启动,被测主机禁止将篡改或替换后的 Bootloader 程序写入到被测主机内的指定区域;
c) 使用了安全的完整性保护算法; d) 无法正常工作;
e) 安全启动默认开启。 f) 无法正常工作;
g) 应用程序无法正常工作; h) 应用程序无法正常安装; i) 无法正常工作。
10.3.1.1.1.2 系统完整性保护和保密性保护试验方法
智能驾驶操作系统系统软件的完整性保护试验方法应按照下列流程和要求依次进行: a) 损坏文件,验证内核是否可以正常加载;
b) 验证安全环境接口访问控制机制是否有效,排查非必要权限是否均已关闭; c) 验证储存在安全环境中的数据是否能在非安全环境中读取或篡改;
d) 在内核运行时,损坏内核文件,验证是否成功;
e) 执行的恶意代码修改控制流地址,验证是否阻止进一步运行;
f) 运行时执行的恶意代码修改检查是否对内核中关键数据(例如进程数据、进程访问和地址限 制等),验证是否阻止进一步运行。
智能驾驶操作系统系统软件的完整性保护试验的预期结果: a) 内核无法正常加载;
b) 接口访问控制机制有效,非必要权限均已关闭;
c) 储存在安全环境中的数据不能在非安全环境中读取或篡改; d) 无法在运行时损害内核文件;
e) 控制流进一步运行被阻止;
f) 运行时修改内核中关键数据(例如进程数据、进程访问地址限制等)被禁止。
10.3.1.1.1.3 访问控制试验方法
智能驾驶操作系统的访问控制机制试验方法应按照下列流程和要求依次进行: a) 启动进程调用非授权的文件和数据库,查看是否可以成功调用;
b) 启动进程特权调用非授权的文件和数据库,查看是否可以调用,用户特权访问非授权的文件、 数据库、服务,查看是否可以成功访问;
c) 验证内核是否支持强制访问控制。 智能驾驶操作系统的访问控制机制试验预期结果如下: a) 进程无法成功调用非授权的文件、数据库;
b) 进程和用户无法特权调用非授权的文件和数据库; c) 内核支持强制访问控制。
10.3.1.1.1.4 内核态-用户态隔离试验方法
智能驾驶操作系统系统软件的内核态-用户态隔离试验方法应按照下列流程和要求依次进行: a) 查看厂商提供文档,检查系统是否隔离内核态和用户态的程序;
b) 用户态程序访问内核资源,验证其访问控制机制是否有效。 系统软件的内核态-用户态隔离试验预期结果如下:
a) 系统隔离内核态和用户态的程序; b) 用户态程序无法访问内核资源。
10.3.1.1.1.5 漏洞防利用试验方法
智能驾驶操作系统软件的漏洞防护利用试验方法应按照下列流程和要求依次进行:
a) 在用户态中,多次启动同一个应用程序,查看分配的地址是否相同;在内核态,查看物理地 址是否转化为虚拟地址;
b) 执行数据内存,检查被测系统是否禁止;
c) 在被测系统代码段、关键数据段写入数据,验证是否可将数据写入; d) 分配内存大于设置的栈保护区大小,验证是否成功;
e) 在特权模式下,验证是否可以执行用户态程序; f) 在特权模式下,验证是否可以访问用户态数据。
智能驾驶操作系统软件的漏洞防护利用试验预期结果如下: a) 被测系统支持用户态和内核态地址随机化;
b) 被测系统禁止执行数据内存;
c) 无法将数据写入被测系统代码段、关键数据段; d) 被测系统支持栈保护;
e) 被测系统不可执行用户态程序; f) 被测系统不可访问用户态数据。
10.3.1.1.2 虚拟化管理试验方法
智能驾驶操作系统软件虚拟化管理分域隔离试验方法应按照下列流程和要求依次进行: a) 查看厂商提供文档,检查系统软件是否采用虚拟化分域隔离机制;
b) 验证不同信任域中的应用访问共享资源是否受控,验证是否具备防止不同域内的系统发生无 意或恶意越界读写等非法操作的能力;
c) 验证车控操作系统是否可以支持可信执行环境,用以执行高安全要求的操作。 智能驾驶操作系统软件虚拟化管理分域隔离试验预期结果如下:
a) 系统软件采用虚拟化分域隔离机制;
b) 不同信任域中的应用访问共享资源受控,具备防止不同域内的系统发生无意或恶意越界读写 等非法操作的能力;
c) 可以支持可信执行环境。
10.3.1.1.3 中间件
10.3.1.1.3.1 系统中间件及服务资源隔离试验方法
智能驾驶操作系统系统中间件及服务资源隔离试验方法应按照下列流程和要求依次进行: a) 查看厂商提供文档,检查不同功能的系统中间件及服务是否以独立进程隔离;
b) 查看厂商提供文档,检查同一功能的内部处理和外部通信进程是否隔离,非必要通信权限是 否禁用。
智能驾驶操作系统系统中间件及服务资源隔离试验预期结果如下: a) 不同功能的系统中间件及服务全部以独立进程隔离;
b) 同一功能的内部处理和外部通信进程隔离,非必要通信权限全部禁用。
10.3.1.1.3.2 安全通信协议试验方法
智能驾驶操作系统系统软件安全通信协议的试验方法为通过验证厂商提交与测试主机通信的车辆 生产企业云平台及通信协议是否满足GB 44495—2024中对远程访问点的安全技术要求。
智能驾驶操作系统系统软件安全通信协议试验预期结果:厂商所提交相关内容满足GB 44495— 2024中对远程访问点的安全技术要求。
10.3.1.1.3.3 协议栈安全试验方法
智能驾驶操作系统系统软件协议栈安全试验方法应按照下列流程和要求依次进行: a) 采用网络数据抓包工具进行数据抓包,解析通信报文数据;
b) 检查被测主机是否采用会话认证等机制为进出数据流进行状态检查,并终断状态异常的会话。 智能驾驶操作系统软件的协议栈安全试验预期结果:被测主机采用会话认证等机制为进出数据流
进行状态检查,并终断状态异常的会话。
10.3.1.1.3.4 升级安全试验方法
智能驾驶操作系统系统软件升级安全试验方法为通过验证厂商提交与测试主机通信的车辆生产企 业云平台、通信协议及软件升级的方式及工具是否满足GB 44495—2024中对软件升级安全的安全技术 要求。
智能驾驶操作系统系统软件升级安全试验预期结果:厂商所提交相关内容满足GB 44495—2024中 对软件升级安全的安全技术要求。
10.3.1.1.3.5 密码服务试验方法
智能驾驶操作系统系统软件的密码服务试验方法应按照下列流程和要求依次进行: a) 直接查看关键的文件或数据(例如密码配置文件等),验证是否为加密存储; b) 验证系统是否提供密钥管理服务;
c) 检查是否可以以非授权身份对密钥进行修改; d) 检查是否通过安全环境进行密钥管理;
e) 检查日志,验证是否基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
f) 验证使用的随机数是否符合 GM/T 005—2021 等随机数相关标准,检查随机数生成器是否均 安全、已验证;
g) 验证系统使用伪造证书是否可以正常启动及运行; h) 验证是否对根证书等证书的安全存储;
i) 验证过期设备证书是否可以通过验签;
j) 检查是否有对证书状态运维管理功能,如日志;
k) 验证当证书更新失败时,现有证书是否可以正常使用; l) 检查是否提供证书校验机制。
m) 对数据或数据分区进行加密,直接访问数据或数据分区,验证是否进行加密和完整性保护; n) 对只读分区的文件系统的只读挂载或者只读保护,验证是否可以对只读分区的文件系统进行
改写;
o) 是否基于安全环境对其他密钥和密码算法的运算过程进行保护;
p) 验证调用者的加解密算法范围的限制机制是否有效,检查系统是否使用了不安全的加解密算 法;
q) 验证调用者的加解密操作可使用的密钥范围的限制机制是否有效;
r) 验证以非授权用户权限是否可以访问、修改存储的设备证书和根证书。 智能驾驶操作系统系统软件的密码服务试验预期结果如下:
a) 关键的文件或数据(例如密码配置文件等)显示密文或无法直接访问; b) 系统提供密钥管理服务;
c) 以非授权身份无法修改密钥; d) 密钥管理在安全环境中进行;
e) 基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
f) 随机数符合标准,随机数生成器均安全、已验证,且符合 GM/T 0005—2021 要求; g) 测试系统使用伪造证书不可以正常启动;
h) 设备证书、根证书等证书采用安全存储; i) 当有效期逾期,设备证书失效;
j) 有对证书状态运维管理功能;
k) 当证书更新失败时,现有证书可以正常使用; l) 提供证书校验机制;
m) 加密数据分区显示密文或无法直接访问,全部关键数据分区进行了加密和完整性保护; n) 无法对只读分区的文件系统进行改写;
o) 基于安全环境对其他密钥和密码算法的运算过程进行保护;
p) 调用者的加解密算法范围的限制机制有效,使用的加解密算法均安全、已验证; q) 调用者的加解密操作可使用的密钥范围的限制机制有效;
r) 非授权用户权限无法可以访问、修改存储的设备证书和根证书。
10.3.1.1.3.6 系统接入认证试验方法
智能驾驶操作系统系统软件的系统接入认证试验方法应按照下列流程和要求依次进行: a) 验证是否关闭登录功能;
b) 验证非授权设备是否可以接入。 智能驾驶操作系统系统软件的系统接入认证试验预期结果如下: a) 登录功能关闭;
b) 非授权设备无法接入。
10.3.1.1.3.7 网络访问控制列表试验方法
智能驾驶操作系统系统软件的网络访问控制列表试验方法为通过验厂商提交主机内部通信方案及 通信矩阵样例,是否满足GB 44495—2024中对访问控制的功能要求。
智能驾驶操作系统系统软件的网络访问控制列表试验预期结果:厂商所提交相关内容满足GB 44495—2024中对访问控制的功能要求。
10.3.1.2 功能软件
10.3.1.2.1 安全管理 10.3.1.2.1.1 安装试验方法
智能驾驶操作系统功能软件的安装试验方法应按照下列流程和要求依次进行:
a) 检查系统中非必要的服务程序是否全部移除,非必要的端口和服务是否全部关闭,非必要账 户是否全部删除;
b) 检查系统是否保留开发、编译、调测类、网络嗅探类服务和工具; c) 根据被禁用功能列表,检查被禁用功能是否已关闭;
d) 检查是否安装、显示和调整系统安全策略的服务和工具。 智能驾驶操作系统功能软件的安装试验预期结果如下:
a) 系统无非必要的服务程序,非必要的端口和服务全部关闭,无非必要账户; b) 系统无开发、编译、调测类、网络嗅探类服务和工具;
c) 被禁用功能全部关闭;
d) 未安装、显示和调整系统安全策略的服务和工具。
10.3.1.2.1.2 访问权限试验方法
智能驾驶操作系统功能软件的权限试验方法应按照下列流程和要求进行:
a) 查看 Root 进程,检查是否拆离或按需配置不需要全部 Root 权限的功能; b) 排查进程,检查权限是否按需配置。 智能驾驶操作系统功能软件的权限试验预期结果如下:
a) 不需要全部 Root 权限的功能全部拆离或按需配置; b) 全部进程权限按需配置。
10.3.1.2.1.3 安全审计试验方法
智能驾驶操作系统功能软件的安全审计试验方法为通过检查安全审计日志,查看是否记录通信行 为和重要安全事件,包括事件的日期、类型、成功与否及其他审计相关信息。
智能驾驶操作系统功能软件的安全审计试验预期结果:安全审计日志记录通信行为和重要安全事 件,包括事件的日期、类型、成功与否及其他审计相关信息。
10.3.1.2.2 应用软件接口 10.3.1.2.2.1 接口 API 安全试验方法
智能驾驶操作系统功能软件的接口API信息安全试验方法应按照下列流程和要求依次进行: a) 审查应用程序访问接口列表,验证非必要的访问接口是否全部禁用或移除;
b) 模拟应用发送的和声明不一致的消息,测试 API 接口是否进行校验并丢弃; c) 测试非授权设备是否可以成功调用被测 API 接口;
d) 核验系统是否设置访问控制策略,如限制单位时间内调用次数,超过设置的调用次数,系统 是否会拒绝服务并进行提示。
智能驾驶操作系统功能软件的接口API安全试验预期结果如下: a) 非必要的访问接口全部禁用或移除;
b) 测试 API 接口对消息进行校验并丢弃与声明不一致的消息; c) 非授权用户无法调用被测 API 接口;
d) 系统设置访问控制策略,超过设置的调用次数,系统会拒绝服务并进行提示。
10.3.1.2.2.2 传感器模块安全试验方法
智能驾驶操作系统功能软件的传感器模块安全试验方法应按照下列流程和要求依次进行: a) 测试非授权传感器设备接入时系统是否拒绝;
b) 核查在通信过程中是否采取保密措施,抓包通信的数据,验证数据是否加密;
c) 篡改传感器数据向传感器模块传输,验证传感器模块和传感器间数据通讯认证、校验、签名 机制是否有效。
智能驾驶操作系统功能软件的传感器模块安全试验预期结果如下: a) 系统拒绝非授权传感器设备接入;
b) 通信数据加密;
c) 传感器模块和传感器间数据通讯认证、校验、签名机制有效。
10.3.1.2.3 功能软件通用框架
10.3.1.2.3.1 功能软件通用框架安全试验方法
智能驾驶操作系统功能软件的功能软件通用框架安全试验方法应按照下列流程和要求依次进行: a) 发起算法子模块未预置在通信矩阵中的访问会话,查看是否会被阻止;
b) 查看算法子模块间是否采用虚拟划分域隔离机制,通过上层应用调用或数据处理等方式验证 各算法是否隔离;
c) 核查在检测到严重的信息安全事件发生时(如功能算法的完整性遭到破坏时)是否发起报警, 并通知应用进行降级;
d) 安装具有无效签名的算法子模块,查看是否会被阻止。 智能驾驶操作系统功能软件的功能软件通用框架安全试验预期结果如下: a) 算法子模块未预置在通信矩阵中的访问会话被阻止;
b) 算法子模块间采用虚拟划分域隔离机制;
c) 严重的信息安全事件发生时(如功能算法的完整性遭到破坏时)发起报警,并通知应用进行 降级;
d) 无效签名的算法子模块被阻止安装。
10.3.1.2.3.2 网联/云控模块安全试验方法
智能驾驶操作系统功能软件的网联/云控模块安全试验方法应按照下列流程和要求依次进行: a) 检查网络日志,及网络日志是否集中管理;
b) 采用抓包工具获取通信的数据,验证车与车、车与路、车与云、车与设备之间的通信是否进 行加密。
智能驾驶操作系统功能软件的网联/云控模块安全试验预期结果如下: a) 网络日志集中管理;
b) 车与车、车与路、车与云、车与设备之间的通信为密文。
10.3.1.2.3.3 OTA 服务安全试验方法
智能驾驶操作系统功能软件的OTA服务安全试验方法应按照下列流程和要求依次进行:
a) 厂商提交与测试主机通信的车辆生产企业云平台、通信协议及软件升级的方式及工具,验证 是否满足 GB 44495—2024 中对软件升级安全的安全技术要求;
b) 厂商提交与测试主机通信的车辆生产企业云平台、通信协议及软件升级的方式及工具,验证 是否满足 GB 44496—2024 中对软件升级安全的安全技术要求。
智能驾驶操作系统功能软件的OTA服务安全试验预期结果如下: a) 满足 GB 44495—2024 中对软件升级安全的安全技术要求; b) 满足 GB 44496—2024 中对软件升级安全的安全技术要求。
10.3.1.2.4 入侵检测试验方法
智能驾驶操作系统功能软件的入侵检测试验方法应按照下列流程和要求依次进行: a) 被测系统引入异常状况,检查被测系统是否会对异常情况进行检测和告警; b) 审查文档,验证被测系统是否设定了将日志上传至服务器的策略;
c) 调用以太网防火墙的非白名单指令,检查被测系统是否针对发送和接收到的指令进行白名单 过滤。
智能驾驶操作系统功能软件的入侵检测试验预期结果如下: a) 被测系统会对异常情况进行检测和告警;
b) 被测系统设定了将日志上传至服务器的策略;
c) 被测系统会对发送和接收到的非白名单指令进行白名单过滤,具备基于 IP 和端口的黑/白名 单安全策略机制的以太网络防火墙。
10.3.1.2.5 异常行为监测试验方法
智能驾驶操作系统功能软件的异常行为监测试验方法应按照下列流程和要求依次进行:
a) 构建系统资源使用量过高的异常事件,检查被测系统是否存在操作系统资源异常日志,应记 录该异常事件;
b) 构建应用异常退出、降级、资源使用量过高等异常事件,检查操作系统是否存在应用异常日 志,应记录该异常事件。
智能驾驶操作系统功能软件的异常行为监测试验预期结果如下: a) 被测系统监测并记录系统资源使用量过高的异常事件;
b) 被测系统监测并记录应用的异常日志并记录异常事件。
10.3.1.2.6 信息安全服务
智能驾驶操作系统功能软件的信息安全服务试验方法应按照下列流程和要求依次进行: a) 查看是否提供整车系统和应用信息安全监控功能;
b) 测试验证当系统受到信息安全攻击时是否进行报警,并自动实施功能降级,提示驾驶员介入。 智能驾驶操作系统功能软件的信息安全服务试验预期结果如下:
a) 提供整车系统和应用信息安全监控设备;
b) 当系统受到网络攻击时进行报警,并自动实施功能降级,提示驾驶员介入。
10.3.2 安全车控操作系统
10.3.2.1 系统软件
10.3.2.1.1 内核
10.3.2.1.1.1 安全启动试验方法
安全车控操作系统软件的安全启动试验方法应按照下列流程和要求依次进行:
a) 根据被测主机安全启动可信根存储区域访问方法和地址范围说明,使用软件或硬件调试工具 写入数据,重复多次验证是否可将数据写入该存储区域;
b) 通过查看被测主机设计文档,检查是否使用了安全的完整性保护算法;
c) 通过查看被测主机设计文档,并检查系统的安全启动状态确认是否为开启状态。 安全车控操作系统软件的安全启动试验预期结果如下:
a) 无法将数据写入存储区域; b) 使用了安全的数字签名算法; c) 安全启动默认开启。
10.3.2.1.1.2 安全隔离试验方法
安全车控操作系统系统软件的安全隔离试验方法应按照下列流程和要求依次进行: a) 查看厂商提供文档,检查系统软件是否采用虚拟化分域隔离机制;
b) 运行应用并查看不同信任域中的应用访问共享资源是否受控,验证是否具备防止不同域内的 系统发生无意或恶意越界读写等非法操作的能力;
c) 验证是否支持以太网络 VLAN 技术,非授权访问 VLAN 子网,验证是否成功; d) 查看厂商提供文档,验证系统是否隔离用户态的程序;
e) 用户态程序访问内核资源,验证其访问控制机制是否有效;
f) 调用系统服务的进程访问非授权的内存字段,查看是否能够成功访问。 安全车控操作系统系统软件的分域隔离试验预期结果如下:
a) 系统软件采用虚拟化分域隔离机制;
b) 不同信任域中的应用访问共享资源受控,具备防止不同域内的系统发生无意或恶意越界读写 等非法操作的能力;
c) 支持以太网络 VLAN 技术,无法非授权访问 VLAN 子网; d) 系统隔离用户态的程序;
e) 用户态程序无法访问内核资源; f) 无法成功访问非授权的内存字段。
10.3.2.1.1.3 漏洞防利用试验方法
安全车控操作系统软件的漏洞防护利用试验方法应按照下列流程和要求依次进行: a) 执行数据内存,验证是否禁止执行数据内存;
b) 在被测系统代码段、关键数据段写入数据,验证是否可将数据写入; c) 分配内存大于设置的栈保护区大小,验证是否成功。 安全车控操作系统软件的漏洞防护利用试验预期结果如下:
a) 被测系统禁止执行数据内存;
b) 无法将数据写入被测系统代码段、关键数据段; c) 被测系统支持栈保护。
10.3.2.1.2 中间件
10.3.2.1.2.1 系统保密性和完整性保护试验方法
安全车控操作系统的系统保密性和完整性保护试验方法应按照下列流程和要求依次进行: a) 检查系统是否提供密钥管理服务;
b) 检查是否通过安全环境进行密钥管理;
c) 检查日志,验证是否基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
d) 验证使用的随机数是否符合 GM/T 005—2021 等随机数相关标准,检查随机数生成器是否均 安全、已验证;
e) 检查日志,验证是否基于安全环境对其他密钥和密码算法的运算过程进行保护; f) 直接访问关键的文件或数据(例如密码配置文件等),验证是否为加密存储;
g) 对数据或数据分区进行加密,直接访问数据或数据分区;对关键的数据分区进行排查,验证 是否进行加密和完整性保护;
h) 验证调用者的加解密算法范围的限制机制是否有效,检查系统是否使用了不安全的加解密算 法;
i) 验证调用者的加解密操作可使用的密钥范围的限制机制是否有效; j) 检查应用程序升级时是否进行完整性校验;
k) 检查驱动程序下载安装时是否进行完整性校验; 安全车控操作系统的系统保密性和完整性保护试验预期结果如下: a) 系统提供统一的密钥管理服务;
b) 密钥管理在安全环境中进行;
c) 基于安全环境对主密钥运算、密钥派生等关键过程进行保护;
d) 随机数符合标准,随机数生成器均安全、已验证,且符合 GM/T 0005—2021 要求; e) 基于安全环境对其他密钥和密码算法的运算过程进行保护;
f) 关键的文件或数据(例如密码配置文件等)显示密文或无法直接访问;
g) 加密数据分区显示密文或无法直接访问,全部关键数据分区进行了加密和完整性保护; h) 调用者的加解密算法范围的限制机制有效,使用的加解密算法均安全、已验证;
i) 调用者的加解密操作可使用的密钥范围的限制机制有效; j) 检查应用程序升级时进行完整性校验;
k) 驱动程序下载安装时进行完整性校验。
10.3.2.1.2.2 身份和访问权限控制试验方法
安全车控操作系统系统软件的身份和访问权限控制试验方法应按照下列流程和要求依次进行: a) 验证系统使用伪造证书是否可以正常启动及运行;
b) 检查是否对设备证书、根证书等证书的安全存储; c) 验证有效期逾期的设备证书是否成功验签;
d) 检查是否有对证书状态运维管理功能,例如证书状态查询、日志等; e) 当证书更新失败时,现有有效证书是否可以正常使用;
f) 检查是否提供证书校验机制; g) 验证安全接入服务功能;
h) 验证是否具有接口访问控制功能;
i) 验证以非授权用户权限是否可以访问、修改存储的设备证书和根证书。 安全车控操作系统系统软件的身份和访问权限控制试验预期结果如下:
a) 测试系统使用伪造证书不可以正常启动; b) 设备证书、根证书等证书采用安全存储; c) 当有效期逾期,设备证书失效;
d) 有对证书状态运维管理功能;
e) 当证书更新失败时,现有有效证书可以正常使用; f) 提供证书校验机制;
g) 安全接入服务功能正确; h) 具有接口访问控制功能;
i) 非授权用户权限无法可以访问、修改存储的设备证书和根证书。
10.3.2.1.2.3 协议栈安全试验方法
安全车控操作系统系统软件的协议栈安全试验方法应按照下列流程和要求进行:
a) 核查被测系统的报文检查规则,验证被控操作系统是否对 TCP/IP 协议报文进行检查;
b) 检测设备对被测系统发送 Socket 攻击报文、TCP/UDP 泛洪攻击报文、ARP 泛洪攻击报文、ip 分片泛洪攻击报文,检查被测主机功能是否受到影响,是否对检测到的攻击数据包进行处理;
c) 检测设备对被测系统发送 SYN 攻击报文,检查被测主机功能是否受到影响,是否对检测到的 攻击数据包进行处理。
安全车控操作系统系统软件的协议栈安全试验预期结果如下: a) 被测系统存在对 TCP/IP 协议报文检查的规则;
b) 被测系统未受到 Socket 攻击报文、TCP/UDP 泛洪攻击报文、ARP 泛洪攻击报文、ip 分片泛 洪攻击报文的影响;
c) 被测系统未受到 SYN 攻击报文的影响。
10.3.2.1.2.4 网络访问控制列表试验方法
安全车控操作系统系统软件的网络访问控制列表试验方法应按照本文件10.3.1.1.3.7所描述的试验 方法进行。
10.3.2.1.2.5 安全通信协议试验方法
安全车控操作系统系统软件的安全通信协议试验方法应按照本文件10.3.1.1.3.2所描述的试验方法 进行。
10.3.2.1.2.6 升级安全试验方法
安全车控操作系统系统软件的升级安全试验方法应按照本文件10.3.1.1.3.4所描述的试验方法进行。
10.3.2.2 功能软件
10.3.2.2.1 安全管理试验方法
安全车控操作系统功能软件安全管理试验方法应按照本文件10.3.1.2.1所描述的试验方法进行。
10.3.2.2.2 入侵检测试验方法
安全车控操作系统功能软件的入侵检测试验方法为通过审查文档,验证被测系统是否设定了将日 志上传至服务器的策略。
安全车控操作系统功能软件的入侵检测试验预期结果:被测系统设定了将日志上传至服务器的策
略。
10.3.2.2.3 异常行为监测试验方法
安全车控操作系统功能软件异常行为监测试验方法应按照下列流程和要求进行: a) 构造功能软件和应用异常退出、通信系统、诊断异常等安全事件;
b) 检查操作系统是否监测该事件并进行通知。 安全车控操作系统功能软件异常行为检测试验预期结果:操作系统对功能软件和应用异常退出、
通信系统、诊断异常等安全事件进行监测并通知。
10.4 功能安全试验方法
10.4.1 功能安全试验流程
车控操作系统功能安全试验流程应根据GB/T34590 第6部分相关要求完成各阶段试验验证工作,包 含单元测试、集成测试及嵌入式软件测试。
10.4.2 智能驾驶操作系统
10.4.2.1 系统软件
10.4.2.1.1 内核的安全机制 10.4.2.1.1.1 避免优先级反转试验方法
智能驾驶操作系统系统软件的避免优先级反转试验方法应按照下列流程和要求进行: a) 设置三个不同优先级的任务 A、B、C,其中优先级 A>B>C;
b) 模拟任务 C 向任务 A 发送同步数据,任务 C 发送同步数据时,任务 A 阻塞等待任务 C 发送 完成,并在任务 C 发送数据时触发任务 B 运行;
c) 检测任务 B 是否会抢占任务 C 运行。 智能驾驶操作系统系统软件的避免优先级反转试验预期结果:任务B未抢占任务C运行。
10.4.2.1.1.2 支持死锁检测试验方法
智能驾驶操作系统系统软件的支持死锁检测试验应按照下列流程和要求依次进行:
a) 在系统中同时启动两个进程,两个进程已各持有一种资源,使两个进程因为需要对方进程已 持有的资源而陷入阻塞造成死锁;
b) 检测系统是否能够发现死锁、拦截或解除死锁。 智能驾驶操作系统系统软件的支持死锁检测试验预期结果:系统在故障容错时间内,系统检查到
死锁后关闭其中的一个死锁状态的进程,来解除死锁状态,系统恢复正常状态。
10.4.2.1.1.3 安全隔离机制试验方法
智能驾驶操作系统系统软件的安全隔离机制试验方法应按照下列流程和要求依次进行:
a) 地址空间隔离测试:判断用多个应用对相同地址的内存进行读写操作时,他们之间是否会相 互影响;
b) 用户和内核空间隔离测试:检测用户程序是否能直接访问操作系统内核数据结构和代码,例 如打印内核空间的某些数据结构的地址,检测用户程序是否能通过该地址访问该数据结构。
智能驾驶操作系统系统软件的安全隔离机制试验预期结果如下: a) 不同的应用操作同一内存地址时,可正常工作,互不影响; b) 用户程序不能直接访问内核的数据结构和代码。
10.4.2.1.1.4 内存保护试验方法
智能驾驶操作系统系统软件的内存保护试验方法应按照下列流程和要求进行: a) 应用执行非代码段内存上的内容;
b) 检测系统是否对特定的内存进行访问权限的划分,如应用程序的代码段,数据段,应当具有 不同的访问权限。
智能驾驶操作系统系统软件的内存保护试验预期结果:应用尝试执行非代码段内存上的内容,应 用程序被终止。
10.4.2.1.1.5 错误检测机制试验方法
智能驾驶操作系统系统软件的错误检测机制试验方法为:通过在程序中注入错误(例如分区破坏、 内存越界访问等),检查内核在运行时是否能够检测到相关错误(例如进入Hook状态)。
智能驾驶操作系统系统软件的错误检测机制试验预期结果:当发生错误时(例如分区破坏、内存 越界访问等),能够检测到错误。
10.4.2.1.1.6 错误处理机制试验方法
智能驾驶操作系统系统软件的错误处理机制试验方法为:通过在程序中注入错误(如错误调用
POSIX接口),检查是否返回相应错误码并通知上层应用。 智能驾驶操作系统系统软件的错误处理机制试验预期结果:当发生错误时(如错误调用POSIX接
口),返回相应错误码并通知上层应用。
10.4.2.1.1.7 内核资源配置检测试验方法
智能驾驶操作系统系统软件的内核资源配置检测试验方法应按照下列流程和要求进行: a) 根据测试参数创建不同数量、类型的任务、信号量等(详见表 1);
b) 对比资源实际使用情况与创建的测试参数是否一致。
表 1 资源类型及测试参数
资源类型 测试参数
任务 调度策略
优先级
个数
允许使用的 CPU(affinity)
CPU 时间使用量
信号量 个数
中断 优先级
允许使用的 CPU(affinity)
智能驾驶操作系统系统软件的内核资源配置检测试验预期结果:确认检测到的资源实际使用情况 和测试参数一致。
10.4.2.1.1.8 内核资源统计和监控功能试验方法
智能驾驶操作系统系统软件的内核资源统计和监测功能试验方法为:确认是否可以通过工具获取 系统全局以及各个进程/线程的资源使用情况,并检查数据是否准确,资源类型可参见表2。
表 2 资源类型
资源类型 全局统计 分进程 分线程
CPU 使用率 内核态 √ √ √
用户态√√√
中断√—-
虚拟内存用量 — √ —
物理内存用量 √ √ —
共享内存用量 √ √ —
注:√表示适用,–表示不适用。
智能驾驶操作系统系统软件的内核资源统计和监测试验预期结果:可以正确获取不同资源的使用 情况。
10.4.2.1.1.9 安全通信功能试验方法
智能驾驶操作系统系统软件的安全通信功能试验方法应按照下列流程和要求依次进行:
a) 当发送方发送通讯请求后,判断是否通过 ACK 机制确认接收方的响应,接收方是否通过校 验机制验证接收内容的正确性;
b) 当发送方发送通信请求后,注入接收方不响应此次请求的故障,检测是否报错或进入安全模 式。
智能驾驶操作系统系统软件的安全通信功能试验预期结果如下: a) 发送方有响应,接收方有校验,且接收内容正确;
b) 通讯报错或进入安全状态。
10.4.2.1.1.10 内核或关键系统进程异常复位机制试验方法
智能驾驶操作系统系统软件的内核或关键系统进程异常复位机制试验方法应按照下列流程和要求 依次进行:
a) 通过看门狗进程监控内核或关键系统进程异常信息; b) 编写特定测试程序,触发内核或关键系统进程异常。
智能驾驶操作系统系统软件的内核或关键系统进程异常复位机制试验预期结果:看门狗触发系统 复位,并记录内核或关键系统进程异常信息。
10.4.2.1.1.11 任务调度的超时保护机制试验方法
智能驾驶操作系统系统软件的调度超时检测机制试验方法为: a) 设置调度超时检测周期阈值(宜高于系统的时钟周期); b) 设置待检测的目标进程;
c) 打开调度超时检测开关;
d) 添加系统负载压力(以提高触发调度超时事件的概率)。 智能驾驶操作系统系统软件任务的调度超时检测机制测试试验预期结果:任务的调度超时检测机
制已开启,并能接收到目标进程调度超时事件的信息。
10.4.2.1.1.12 系统崩溃场景数据收集机制试验方法
智能驾驶操作系统系统软件系统崩溃场景数据收集机制试验方法为通过触发系统崩溃条件,查看 数据收集是否及时、准确、完整。
智能驾驶操作系统系统软件系统崩溃场景数据收集机制试验预期结果:收集的系统崩溃场景数据 及时、准确、完整,符合要求定义。
10.4.2.1.2 虚拟化安全机制
10.4.2.1.2.1 基于硬件辅助 CPU 虚拟化机制试验方法
智能驾驶操作系统系统软件的基于CPU硬件辅助虚拟化的试验方法应按照如下流程和要求进行: a) 编写嵌入式汇编代码,访问 CPU 特性寄存器;
b) 检查寄存器的虚拟化支持标志位是否被置位。
智能驾驶操作系统系统软件的基于硬件辅助CPU虚拟化机制试验预期结果:硬件辅助虚拟化扩展 被置位。
注1:arm64 的 CPU 特 性 寄 存 器 为 processor Feature Register 0 ( PFR0 ) , x86_64 的 虚 拟 化 特 性 寄 存 器 为
MSR_IA32_VMX_BASIC。
注2:CPU特性寄存器均为特权级寄存器,需要在CPU特权级模式下访问。
10.4.2.1.2.2 基于内存虚拟化的分区机制试验方法
智能驾驶操作系统系统软件的基于内存虚拟化的分区机制的试验方法应按照下列流程和要求进行: a) 将被测虚拟机原先内存所划分的内容全部写入一遍;
b) 在过程中监控其他虚拟机中的内存是否被修改。 智能驾驶操作系统系统软件基于内存虚拟化的分区机制试验预期结果:其他虚拟机中的内存没有
修改。
10.4.2.1.2.3 中断虚拟化功能试验方法
智能驾驶操作系统系统软件的中断虚拟化功能试验方法为:通过配置中断给到测试虚拟机,查看 其他虚拟机是否收到此中断。
智能驾驶操作系统系统软件的中断虚拟化功能试验预期结果:其他虚拟机无法收到此中断。
10.4.2.1.2.4 基于 I/O 虚拟化的设备隔离机制试验方法
智能驾驶操作系统系统软件的基于I/O虚拟化的设备隔离机制试验方法应按照下列流程和要求进行: a) 虚拟机 A 读写操作其所对应磁盘 I/O;
b) 其他虚拟机查看所对应的磁盘 I/O 是否被修改。 智能驾驶操作系统系统软件的基于I/O虚拟化的设备隔离机制试验预期结果:其他虚拟机所对应的
磁盘I/O不应被修改。
10.4.2.1.2.5 基于虚拟 CPU 机制的虚拟机间运行隔离机制试验方法
智能驾驶操作系统系统软件的基于虚拟CPU机制的虚拟机间运行隔离机制试验方法应按照下列流 程和要求进行:
a) 编写特定 CPU 指令运行测试程序;
b) 确认虚拟机是否按照对应程序的 CPU 指令运行。 智能驾驶操作系统系统软件的基于虚拟CPU机制的虚拟机间运行隔离机制试验预期结果:按对应
程序的CPU指令运行。
10.4.2.1.2.6 基于 I/O 地址空间隔离的 IOMMU/SMMU 机制试验方法
智能驾驶操作系统系统软件基于I/O地址空间隔离的IOMMU/SMMU机制试验方法应按照下列流程 和要求进行:
a) 虚拟机 A 和虚拟机 B 同时对某一个虚拟地址进行设备操作;
b) 查看此时操作的对象是否满足映射的设备。 智能驾驶操作系统系统软件基于I/O地址空间隔离的IOMMU/SMMU机制试验预期结果:满足映射
的设备。
10.4.2.1.2.7 虚拟机的健康管理机制试验方法
智能驾驶操作系统系统软件虚拟机的健康管理机制试验方法为:通过故障注入,使虚拟机进入异 常状态后,确认健康管理机制是否响应。
智能驾驶操作系统系统软件虚拟机的健康管理机制试验预期结果:健康管理机制响应。
10.4.2.1.3 中间件的安全机制 10.4.2.1.3.1 安全执行机制试验方法
智能驾驶操作系统系统软件的安全执行机制试验方法应按照下列流程和要求依次进行: a) 调整某个进程运行时间长度,确认时间监测机制是否同步发现该时间长度变化;
b) 以不正确的顺序处理单个或多个程序指令,形成不正确的程序流,检测逻辑监测机制是否响 应;
c) 修改利用率监控资源的使用情况,使用对应的监控工具观察利用率的变化是否对应; d) 修改当前存储数据的使用大小,使用对应的监控工具观察存储空间是否变化;
e) 将内存使用达到产品说明书所规定的阈值,确认低内存监测机制是否响应; f) 改变环境温度,确认环境温度监测机制是否响应;
g) 改变当前进程运行状态,确认进程状态监测机制是否响应。 智能驾驶操作系统系统软件的安全执行机制试验预期结果如下: a) 能够发现进程运行时间长度变化;
b) 逻辑监测机制响应;
c) 使用对应的监控工具,能够观察利用率的对应变化; d) 使用对应的监控工具,能够观察存储空间变化;
e) 低内存监测机制响应; f) 环境温度监测机制响应; g) 进程状态监测机制响应。
10.4.2.1.3.2 安全存储机制试验方法
智能驾驶操作系统系统软件的安全存储机制试验方法应按照下列流程和要求依次进行: a) 写入特定数据,查看 A/B 面是否同步备份;
b) 修改文件内容,查看文件对象 CRC 检验机制是否响应。 智能驾驶操作系统系统的软件安全存储机制试验预期结果如下: a) A/B 面同步备份;
b) 文件对象 CRC 检验机制响应。
10.4.2.1.3.3 安全通信机制试验方法
智能驾驶操作系统系统软件的安全通信机制试验方法为:通过注入通信故障,检测安全通信机制 是否响应。
智能驾驶操作系统系统软件的安全通信机制试验预期结果:安全通信机制响应。
10.4.2.1.3.4 安全配置机制试验方法
智能驾驶操作系统系统软件的安全配置机制试验方法为:根据安全配置表,检查实际内存、磁盘 以及进程及线程调度策略是否符合安全配置表的要求。
智能驾驶操作系统系统软件的安全配置机制试验预期结果:符合安全配置表的要求。
10.4.2.2 功能软件
10.4.2.2.1 数据抽象安全机制试验方法
智能驾驶操作系统功能软件数据抽象安全机制试验方法应按照下列流程和要求依次进行:
a) 编写配置文件,配置文件中可包含错误情况,临界情况和超临界情况;在目标环境中加载配 置文件,并记录系统运行数据;
注1:错误情况可包括:配置文件不存在、配置文件格式错误、数值类型不正确、CRC校验不通过等。 注2:临界情况可包括:数据范围达到阈值。
注3:超临界情况可包括:数据范围超出阈值。
b) 目标环境下,在进程的初始化、运行、销毁时,以超时、异常退出、加载错误进程等形式进 行故障的注入,记录系统运行数据;
c) 在目标环境中,修改数据的序列号、时间戳或数据内容,记录系统运行数据;
d) 在目标环境中,按照设计极限,加载大量数据,并长时间运行。记录系统运行数据。 智能驾驶操作系统功能软件数据抽象安全机制试验预期结果如下:
a) 针对错误情况,系统应在要求时间内上报异常并进行异常处理。针对临界情况,系统应正确 加载配置数据。针对超临界状态,系统应在要求时间内上报异常并进行异常处理;
b) 系统应按照正确的逻辑顺序和时效性,加载、运行和卸载进程、算法或服务,如果加载、运 行或卸载过程中出现异常,应在要求时间内检测到异常,上报异常并进行异常处理;
c) 系统应在要求时间内检测到数据顺序性、时效性和正确性异常,上报异常并进行异常处理; d) 系统应正确、及时进行数据转换,如果发生转换异常,应在要求时间内检测到异常,上报异
常并进行异常处理。
10.4.2.2.2 功能软件通讯框架安全机制试验方法
智能驾驶操作系统功能软件通用框架安全机制试验方法应按照下列流程和要求依次进行:
a) 编写配置文件,配置文件中可包含错误情况,临界情况和超临界情况,在目标环境中加载配 置文件,并记录系统运行数据;
b) 在目标环境中,加载最大数量的进程、算法或服务,运行进程、算法或服务,卸载进程、算 法或服务,记录系统运行数据;
注:长时间运行,以进行正向压力测试。
c) 在目标环境中,修改数据的序列号、时间戳或数据内容,记录系统运行数据;
d) 针对心跳检测机制,可采用故障注入测试,在目标环境中,运行调用心跳检测机制的进程, 杀死测试进程,记录系统运行数据;
e) 针对逻辑顺序监控,可采用基于需求的测试,在目标环境中,运行调用逻辑顺序监控机制的 进程,记录系统运行数据。
注:异常监测和异常处理机制测试可采用基于需求的测试和故障注入测试,验证异常检测。步骤 d)和步骤 e)是 对 8.3.1.2.2 中列举的异常监控进行举例说明。
智能驾驶操作系统功能软件通用框架安全机制试验预期结果如下:
a) 针对错误情况,系统应在要求时间内上报异常并进行异常处理。针对临界情况,系统应正确 加载配置数据。针对超临界状态,系统应在要求时间内上报异常并进行异常处理;
b) 系统应按照正确的逻辑顺序和时效性,加载、运行和卸载进程、算法或服务,如果加载、运 行或卸载过程中出现异常,应在要求时间内检测到异常,上报异常并进行异常处理;
c) 系统应在要求时间内检测到数据顺序性、时效性和正确性异常,上报异常并进行异常处理; d) 系统应在要求时间内检测到测试进程心跳丢失,上报异常并进行异常处理;
e) 系统应有成功进行逻辑顺序监控的日志记录。
10.4.2.2.3 智能驾驶通用模型安全机制试验方法
针对符合GB/T 40429—2021要求的1级、2级驾驶自动化功能,安全机制试验方法应按照下列流程 和要求依次进行:
a) 在目标环境中,修改安全相关输入信号的状态和有效性,记录系统运行数据; b) 在目标环境中,修改车身稳定性状态信号为无效值,记录系统运行数据;
c) 在目标环境中,修改驾驶有效性状态信号为无效值,记录系统运行数据;
d) 在目标环境中,修改前方目标物置信度,使得目标物置信度不足,记录系统运行数据;
e) 在目标环境中,修改加速踏板信号,使得加速踏板信号含义为“踩下”,记录系统运行数据。 针对符合GB/T 40429—2021要求的1级、2级驾驶自动化功能,安全机制试验预期结果如下:
a) 系统应在要求时间内检测到安全相关输入信号异常,并进入附录 B 表 B.2 中的安全状态 1; b) 系统应在要求时间内检测到车身稳定状态信号异常,并进入附录 B 表 B.2 中的安全状态 1; c) 系统应在要求时间内检测到驾驶有效性状态异常,并进入附录 B 表 B.2 中的安全状态 2; d) 系统应在要求时间内检测到前方目标物置信度异常,并进入附录 B 表 B.2 中的安全状态 3; e) 系统应在要求时间内检测到加速踏板状态位“踩下”,并附录 B 表 B.2 中的安全状态 4。
10.4.3 安全车控操作系统
10.4.3.1 系统软件
10.4.3.1.1 内核安全机制
10.4.3.1.1.1 外部中断绑定能力试验方法
安全车控操作系统系统软件外部中断绑定能力试验方法应按照下列流程和要求依次进行,至少执 行其中一条:
a) 引入外部(例如网卡、时钟等)产生的中断,观察中断处理函数是否在绑定的核上运行; b) 查看内核空间和用户空间通信机制,是否能记录中断的运行情况。 安全车控操作系统系统软件外部中断绑定能力试验预期结果如下:
a) 中断函数应在特定核上运行;
b) 内核函数应能记录中断的运行情况。
10.4.3.1.1.2 确定性的调度机制试验方法
安全车控操作系统系统软件确定性的调度机制试验方法应按照下列流程和要求依次进行,至少执 行其中一条:
a) 创建低、中、高三种不同优先级的线程,判断当高优先级线程到来时,系统应停止正在执行 的线程,将处理器分配给高优先级线程,使之执行;
b) 创建相同优先级的三个线程,当一个时间片用完后,便停止该线程的执行而重新进行调度。 安全车控操作系统系统软件确定性的调度机制试验预期结果如下:
a) 高优先级线程获得执行;
b) 相同优先级线程按照时间片顺序运行。
10.4.3.1.1.3 其他试验方法
安全车控操作系统系统软件内核安全机制其他要求试验方法如下所示:
a) 避免优先级反转的试验方法应按照本文件 10.4.2.1.1.1 所描述的试验方法进行; b) 死锁检测机制的试验方法应按照本文件 10.4.2.1.1.2 所描述的试验方法进行;
c) 支持安全隔离机制的试验方法应按照本文件 10.4.2.1.1.3 所描述的试验方法进行; d) 内存保护的试验方法应按照本文件 10.4.2.1.1.4 所描述的试验方法进行;
e) 错误检测机制的试验方法应按照本文件 10.4.2.1.1.5 所描述的试验方法进行; f) 错误处理机制的试验方法应按照本文件 10.4.2.1.1.6 所描述的试验方法进行; g) 安全通信功能的试验方法应按照本文件 10.4.2.1.1.9 所描述的试验方法进行;
h) 任务调度的超时保护机制的试验方法应按照本文件 10.4.2.1.1.11 所描述的试验方法进行。
10.4.3.1.2 中间件安全机制 10.4.3.1.2.1 安全通信机制试验方法
安全车控操作系统系统软件的安全通信机制试验方法应按照下列流程和要求依次进行:
a) 当发送方发送通信请求后,执行故障注入(例如向 MCU 刷写损坏的标定参数),检查接收 方是否能检测到相关通信错误并发送通知;
b) 当发送方发送通信请求后,注入接收方不响应此次请求的故障,检查中间件是否报错或进入 安全状态。
安全车控操作系统系统软件的安全通信机制试验预期结果如下: a) 接收方能够校验出错误并将错误进行通知;
b) 通信报错或进入安全状态。
10.4.3.1.2.2 安全存储机制试验方法
安全车控操作系统系统软件的安全存储机制试验方法应按照下列流程和要求进行: a) 系统中间件运行相关进程(例如数据读写);
b) 执行故障注入(例如注入错误的缓存数据),检查中间件是否能检测到数据错误并发送通知。 安全车控操作系统系统软件的安全存储机制试验预期结果:当数据发生错误时,能够报错或进入
安全状态。
10.4.3.1.2.3 安全看门狗管理机制试验方法
安全车控操作系统系统软件的安全看门狗管理机制试验方法应按照下列流程和要求进行: a) 向系统注入故障代码(例如无条件的死循环)以引起喂狗中断;
b) 检查系统是否进入中断处理程序或强制系统复位。 安全车控操作系统系统软件的安全看门狗管理机制试验预期结果:系统应执行中断处理程序或强
制系统复位。
10.4.3.1.2.4 驱动层相关的安全机制试验方法
安全车控操作系统系统软件的驱动层相关的安全机制试验方法为:通过向硬件注入驱动程序故障, 检查系统中间件是否能检测到错误代码并通知相关服务或进入安全状态。
安全车控操作系统系统软件的驱动层相关的安全机制试验预期结果:当驱动故障发生时,系统中 间件能支持检测到错误代码并通知相关服务或进入安全状态。
附 录 A
(资料性) 车控操作系统架构
A.1 总体架构
车控操作系统是自动驾驶相关功能开发的共性及核心软件平台。其中安全车控操作系统是指在经 典车控ECU的主控MCU芯片上装载运行的嵌入式实时操作系统。
车控操作系统采用纵向分层、横向分区式架构,并在逻辑层次上包含系统软件和功能软件框架, 是车载智能计算基础平台安全、实时、高效的核心和基础。系统软件创建复杂嵌入式系统运行环境, 功能软件根据中国智能网联汽车应用特点,以及各类辅助驾驶/自动驾驶功能的核心共性需求,明确定 义和实现各共性子模块,并进行通用模块定义和实现。
在参考并吸收国内外主流车控操作系统架构的基础上,提出基于“中国方案”的车控操作系统参 考架构,如图A.1所示。
图 A.1 车控操作系统参考架构
A.2 系统软件层
系统软件是针对汽车场景定制的复杂大规模嵌入式系统运行环境。系统软件一般包含操作系统内 核、虚拟化管理(如Hypervisor)、POSIX、系统中间件及服务等。
图 A.2 系统软件架构
A.2.1 操作系统内核
车控操作系统内核支持异构芯片,需考虑功能安全、实时性能要求。当前异构分布硬件架构各单 元所加载的内核系统安全等级有所不同,AI单元内核系统QM~ASIL B,计算单元内核系统QM~ASIL D,控制单元内核系统ASIL D,因而出现不同安全等级的多内核设计或单内核支持不同安全等级应用 的设计。保证差异化功能安全要求的同时满足性能要求,是车控操作系统系统软件设计的关键。另外, 车载智能计算基础平台的复杂性也要求内核对功能软件及应用软件的库支持和高度可编程性。
A.2.2 虚拟化管理
虚拟化管理技术是实现跨平台应用、提高硬件利用率的重要途径,Hypervisor是一种硬件虚拟化技 术,管理并虚拟化硬件资源(如CPU、内存和外围设备等),提供给运行在Hypervisor之上的多个内核 系统。车控操作系统是基于异构分布硬件,在物理层面共享CPU,要求通过虚拟化管理实现有效的资 源整合和隔离。
A.2.3 POSIX
POSIX能够很好地适应自动驾驶所需要的高性能计算和高带宽通信等需求。车控操作系统系统软 件基于实时嵌入式软件单元架构,可在不同内核系统采用POSIX API与应用软件、功能软件交互。
A.2.4 系统中间件及服务
系统中间件及服务主要用来为上层应用提供基础的系统服务,例如分布式通信服务等。车控操作 系统应具备建立跨多内核、多CPU、多板的通用、高速、高效的DDS机制的能力。
A.2.5 实时安全域
实时安全域操作系统是系统软件层上运行在MCU上的安全车控操作系统。主要包含硬件抽象层、 基础软件、实时操作系统内核和运行时环境等模块,最基本的要求是高实时性,系统具备硬实时特性, 需要在规定时间内完成资源分配、任务并发、同步等指定动作。
A.3 功能软件层
功能软件是车控操作系统中根据面向服务的架构设计理念,通过提取智能驾驶核心共性需求,形 成智能驾驶各共性服务功能模块,高效实现驾驶自动化功能开发的软件模块,由应用软件接口、智能 驾驶通用模型、功能软件通用框架以及数据抽象组成。
图 A.3 功能软件架构
A.3.1 应用软件接口
应用软件接口提供统一的开发环境和工具,体现为各种不同形式的SDK(例如环境模型、功能配 置和各种算法SDK等)和包括应用开发所必要的工具链、软件包、开发接口、开发文档、示范应用及 配置等。应用软件接口可以是基于面向服务的订阅形式架构,也可以是使用统一开发接口函数调用的 形式,使用这些应用软件接口和SDK可以进行高效、灵活、敏捷的定制化开发。
A.3.2 智能驾驶通用模型
智能驾驶通用模型是对智能驾驶中智能认知、智能决策和智能控制等过程的模型化抽象。智能驾 驶通用模型由环境模型、规划模型以及控制模型组成。
环境模型作为智能认知框架,为智能决策和智能控制提供模型化的广义环境信息描述。环境模型 调度各类感知、融合和定位算法,对传感器探测信息、车-路及车-车协同信息、高精地图先验信息进 行处理加工,提供探测、特性、对象、态势、场景等各级语义的道路交通环境和自车状态信息。
规划模型根据环境模型、自车定位、个性化设置和自车状态反馈等信息,为自车提供未来一段时 间内的行驶轨迹,主要分为行为预测、行为决策和运动规划三大部分。行为预测是根据感知和地图数 据对其他交通参与者未来的行驶轨迹进行预测,为行为决策提供更全面、可靠的参考信息;行为决策 为自车提供行为策略,同时为运动规划提供相应的规划约束条件,保证规划结果不仅满足交通法规等 硬性要求,同时更加符合人的驾驶策略;运动规划根据以上信息,为自车规划未来一段时间内的安全、 舒适、正确的轨迹。
控制模型主要由常规工况和降级工况组成,其中常规工况主要针对ODD以内的动态驾驶任务,降 级工况主要针对发生系统性失效或者超出ODD以外的动态驾驶任务,均需要进行输入处理、状态决策、 控制计算及执行输出等。
A.3.3 功能软件通用框架
功能软件通用框架是承载智能驾驶通用模型的基础,分为数据流框架和基础服务两部分。 数据流框架向下封装不同的智能驾驶系统软件和中间件服务,向智能驾驶通用模型中的算法提供
与底层系统软件解耦的算法框架。数据流框架的主要作用是对智能驾驶通用模型中的算法进行抽象、 部署、驱动,解决跨域、跨平台部署和计算的问题。
基础服务是功能软件层共用的基本服务,其主要服务于智能驾驶通用模型或功能应用,但其本身 不局限于智能驾驶。基础服务平台主要包含信息安全服务、网联云控服务等。
A.3.4 数据抽象
数据抽象通过对传感器、执行器、自车状态、地图以及来自云端的接口等数据进行标准化处理, 为上层的智能驾驶通用模型提供各种不同的数据源进而建立异构硬件数据抽象,达到功能和应用开发 与底层硬件的解耦和依赖。
附 录 B
(资料性) 车控操作系统功能安全相关说明和定义
B.1 安全需求分配示例
表 B.1 安全需求分配示例
驾驶自动化等级a 操作系统 承载上层安全需求举例 ASIL等级
0级/1级 智能驾驶操作系统 安全车控操作系统 盲点告警QM 车道告警QM 应满足QM
可满足ASIL Db
2 级
智能驾驶操作系统
障碍物监测ASIL B
车道线监测ASIL B 应满足QM(B),但整体技术安全方案
必须满足ASIL 分解成立的要求c
宜满足ASIL B
可满足ASIL Db
安全车控操作系统 车辆状态监控ASIL B
驾驶员接管操作监控ASIL B
车辆横纵向指令请求ASIL B 应满足ASIL B
可满足ASIL Db
车辆纵向控制ASIL C应满足ASIL C
宜满足ASIL Db
车辆横向控制ASIL D应满足ASIL D
3级/4级
智能驾驶操作系统 感知ASIL B(D)
融合ASIL B(D) 定位ASIL B(D) 应满足ASIL B(D)
可满足ASIL Db
安全车控操作系统 轨迹仲裁ASIL D
ODD结果仲裁ASIL D 自动驾驶模式管理ASIL D 车辆横纵向控制ASIL D
应满足ASIL D
a 符合 GB/T 40429—2021 要求的驾驶自动化等级。
b 进一步降低了操作系统的系统性失效概率。
c 详见国标 GB/T 34590 第 9 部分。
B.2 基于 SEooC 的车控操作系统功能安全相关开发过程
汽车行业会为不同的客户和不同的应用开发通用的要素,这些通用的产品是在不同的组织中独立 开发出来的。在此种情况下,需要先做出关于需求以及设计的假定。这些假定包括了通过更高设计层 级以及要素外部设计而得到的分配到要素的安全要求。
如此开发出来的要素可以当作是独立于环境的安全要素(SEooC)。SEooC是与安全相关的要素, 并非是为一个特定相关项而开发的。
车控操作系统作为通用软件组件,可按照SEooC进行开发,具体步骤参见本文件B.2.1~B.2.4。
B.2.1 对于车控操作系统的范围的假设
本步骤用于陈述关于车控操作系统的目的、范围、环境以及功能的相关假设。
示例 1:集成车控操作系统到一个给定的软件层级架构中。
示例 2:由车控操作系统引起的任何潜在干涉是在其环境中监测和处理的。 示例 3:车载操作系统提供下列功能:功能性软件要求清单。
B.2.2 对于车控操作系统安全要求的假设
本步骤用于假设对车控操作系统具有潜在影响的更高层级的软件要求,以便导出软件安全需求。 例如假设一组给定的由车控操作系统输出的数据具备ASIL X,则由此得到的分配到SEooC的软件安全 要求可以是:
a) 车控操作系统对于下列输入数据检测任何数据损害:输入数据清单(ASIL X); b) 车控操作系统提示下列错误条件:输入数据清单(ASIL X);
c) 返回一个默认值,带有一个检测到任何错误情况的故障状态(ASIL X); d) 车控操作系统返回经 CRC 编码的下列结果,以及返回一个状态(ASIL X)。 注: X 可为 A、B、C、D。
B.2.3 车控操作系统的开发
在对车控操作系统的必要假设得到清晰定义后,针对 SEooC 的 ASIL 能力,根据 GB/T 34590 第 6 部分的要求进行开发。完成所有适用的工作成果,包括与假设的软件安全要求的验证相关的工作成果, 以用于不同环境中的进一步集成。
B.2.4 全新特定环境下的车控操作系统的集成
车控操作系统与其他软件组件在全新特定环境下进行集成之前,检查SEooC所有的全部假设在该 环境下有效性,包括假设的带ASIL能力的软件安全要求,和所有关于车载操作系统的目的、边界、环 境以及功能的假设。
如果发生某个SEooC的假设与该新环境不匹配,按照GB/T 34590第8部分变更管理的要求开展从影 响分析开始的变更管理活动,影响分析的可能结果包括:
a) 根据软件架构设计层面所适用的安全要求的达成情况,差异是可接受的,没有采取进一步行 动的必要;
b) 差异影响到了软件架构设计层面所适用的安全要求的达成情况。针对特定情况,执行对软件 组件或者软件架构设计层面所适用的软件要求的变更。
B.3 面向 3 级/4 级驾驶自动化功能设计方法
面向3级/4级驾驶自动化功能设计方法具体如下:
a) 采用“1oo2”方法,智能驾驶通用模型中各通用模块可分为主控通道和副控通道两个独立的 通道,且主控通道和副控通道的独立性设计需满足 GB/T 34590 第 9 部分要求(如环境模型和 规划模型可有 A 和 B 两套算法,并分别运行在主控通道和副控通道);
注:A、B 两套算法宜使用不同的传感器作为输入,或在相同传感器方案中考虑使用不同权重来保证异构算法设计。
b) 对轨迹模型输出的每一条轨迹进行量化的安全度量,可以考虑但不限于以下几个方面:
• 与周围动态车辆发生碰撞的风险;
• 与周围静态目标物发生碰撞的风险;
• 与周围动态目标物和道路使用者发生碰撞的风险;
• 驶出 ODD 的风险。
B.4 安全状态定义
安全状态定义如表B.2所示。
表 B.2 安全状态定义
序号 安全状态
1 自动驾驶辅助功能“退出”或“禁止激活”
2 部分自动驾驶辅助功能“退出”或“禁止激活”
3 车速降低幅度超过15km/h时,紧急制动功能将退出
4 紧急制动功能将“退出”或“禁止激活”
B.5 最小风险状态与最小风险策略定义
针对3级/4级驾驶自动化功能,安全车控操作系统支持告警和降级模式控制,并进入的最小风险状 态包括但不限于表B.3,具体最小风险策略包括但不限于表B.4。
表 B.3 最小风险状态
序号 最小风险状态 定义
1 驾驶员接管 驾驶员完成了接管任务。
2 受限运行 车辆仍在能力不足的状态下运行,具体受限取决于剩余能力的情况。
3 停止运行 该状态下,自动驾驶功能可以安全关闭。
表 B.4 最小风险策略
序号 最小风险策略 定义 目标状态
1 驾驶员接管请求 请求驾驶员接管车辆 驾驶员接管
2 功能受限 转移到受限运行状态,具体可能会细分不同的策略 受限运行
3 舒适停车 舒适的转移到停止运行 停止运行
4 安全停车 由于严重失效,根据驾驶情况和周围环境,接下来需要
停止运行 停止运行
5 紧急停车 由于严重失效,为了避免意外风险需要立刻停止运行 停止运行
6 恢复 功能受限问题被解决,重新回到正常状态 正常状态
附 录 C
(资料性) 车控操作系统试验环境实例
C.1 智驾操作系统硬件测试平台参考参数
表 C.1 智能驾驶操作系统硬件平台参考参数
序号 硬件类型 主要参数
1
CPU 型号:Cortex-A55 Armv8.2(64位处理器)
主频:1.2GHz 核心数量:4
2
CACHE L1:ICache 32KB / Dcache 32KB
L2:128KB L3:2MB
3 GIC 型号:ARM GIC-600
4
DDR 速率:4266MT/S
位宽:64bit 容量:8GB
C.2 安全车控操作系统硬件测试平台参考参数
表 C.2 安全车控操作系统硬件测试平台参考参数
序号 硬件类型 主要参数
1
CPU 型号:Cortex-R5F
主频:300MHz 核心数量:3
2 CACHE L1:32KB
3 Interrupt Controller 型号:VIC
4 SRAM 容量:1MB
参 考 文 献
[1] 汽 标 委 智 能 网 联 汽 车 分 标 委 车 控 操 作 系 统 架 构 研 究 报 告 [R/OL][2023-07- 09].http://www.catarc.org.cn/upload/202109/202109221128569901.pdf
[2] 汽 标 委 智 能 网 联 汽 车 分 标 委 车 控 操 作 系 统 总 体 技 术 要 求 研 究 报 告 [R/OL][2023-07- 09].http://www.catarc.org.cn/upload/202109/202109221130345380.pdf;
[3] 全国科学技术名词审定委员会.《计算机科学技术名词(第三版)》[M]北京:科学出版社,2018 [4] 全 国 网 络 安 全 标 准 化 技 术 委 员 会 . 信 息 安 全 技 术 术 语 : GB/T 25069 — 2022[L80][2022-03-
09].https://openstd.samr.gov.cn/bzgk/gb/newGbInfo?hcno=56123482721B1AC3CEDCD3B5C022CA D8
下单前可任取样页验证译文质量。
免费提供正规普通增值税数电发票。
请联系手机/微信: 13306496964/Email: standardtrans@foxmail.com 获取完整译文。
本英文译本为纯人工专业精翻版本,保证语法术语准确率和专业度!
专业源于专注|ChinaAutoRegs 始终专注于汽车标准翻译领域!
「中国汽车标准译文库」已收录上千个现行汽车国家标准和行业标准的英文版译本,涵盖传统燃油车、新能源汽车和摩托车标准化体系!独家打造千万级汽车专业术语库和记忆库。
The English Translation of this document is readily available, and delivered immediately upon payment.
Sample pages may be requested to your preference before placing order.
Please contact standardtrans@foxmail.com for the complete PDF version in English.
Our well-established database has included almost all Chinese automotive standards in effect, providing one-stop, up-to-date, efficient and professional solution.
免费提供正规普通增值税数电发票。
请联系手机/微信: 13306496964/Email: standardtrans@foxmail.com 获取完整译文。
本英文译本为纯人工专业精翻版本,保证语法术语准确率和专业度!
专业源于专注|ChinaAutoRegs 始终专注于汽车标准翻译领域!
「中国汽车标准译文库」已收录上千个现行汽车国家标准和行业标准的英文版译本,涵盖传统燃油车、新能源汽车和摩托车标准化体系!独家打造千万级汽车专业术语库和记忆库。
The English Translation of this document is readily available, and delivered immediately upon payment.
Sample pages may be requested to your preference before placing order.
Please contact standardtrans@foxmail.com for the complete PDF version in English.
Our well-established database has included almost all Chinese automotive standards in effect, providing one-stop, up-to-date, efficient and professional solution.