news 2026/7/5 14:32:24

Autosar KeyM模块

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Autosar KeyM模块

目录

7功能描述

https://mp.weixin.qq.com/s/E6Q5g-trHn_KkRuvXNbZgQ

7.1 Crypto keysubmodule

7.2 Certificate Submodule

7.2.1 通用行为

7.2.2初始化

7.2.3 Certificate 配置

7.2.4操作模式

7.3自定义处理

7.3.1处理自定义服务请求

7.4 Security Events

参考 Autosar CP-R24-11

7功能描述

密钥管理模块大致可以分为两个部分:加密密钥子模块和证书子模块。加密密钥子模块主要用于与密钥分发实体(密钥主控)交互,该实体负责生成密钥或直接提供密钥材料。这些密钥会分配给CSM的加密密钥,并存储在专用的NVM块中,或者可以存储为各自加密驱动的密钥。证书子模块允许配置证书链,提供存储和验证证书的接口。证书中包含的公钥还可以分配给CSM密钥,以便在加密任务中使用。

[SWS_KeyM_00001]

如果将 Key MCryptoKeyManagerEnabled 设置为 FALSE,则密钥管理器的加密密钥子模块应完全禁用。在这种情况下,不得提供任何功能,也不得分配其他操作不需要的资源。

[SWS_KeyM_00002] 上游需求:SRS_CryptoStack_00013, SRS_CryptoStack_00007

如果 KeyMCertificateManagerEnabled 设置为 FALSE,则密钥管理器中的证书子模块支持将被完全禁用。在这种情况下,与证书操作相关的功能将不可用,并且不会分配任何资源。

7.1 Crypto keysubmodule

加密密钥子模块用于初始化、更新和维护ECU的加密密钥材料。一个使用案例是为安全的车载通信提供密钥,这些密钥需要分发给相关的ECU。这些密钥应提供给CSM密钥,而CSM密钥分配给用于Secured I-PDU认证的加密任务。因此,从建模的角度来看,将key master 提供的密钥分配给用于相应Secured-I PDU的CSM密钥和任务是至关重要的。这是车辆中的一项整体任务,并以相同方式影响多个ECU。加密密钥子模块的一个目的就是支持这一操作。

key master 可以直接位于车辆内,以便内部协调密钥生成,例如作为某个特定的ECU。也可以使用云端的后端系统生成密钥材料,并以安全的方式将必要数据提供给ECU。通常,诊断命令用于密钥主控与加密密钥子模块之间的直接或间接通信。

[SWS_KeyM_00003] 上游需求:SRS_CryptoStack_00028, SRS_CryptoStack_00103

加密密钥子模块可以配置为以会话方式执行加密密钥操作。通过这种方式,诸如 KeyM_Prepare() 或 KeyM_Update() 的密钥操作仅在会话开启期间被接受。

[SWS_KeyM_00004] 上游要求:SRS_CryptoStack_00028

会话由调用 KeyM_Start() 启动。随后可以执行密钥操作,直到通过调用 KeyM_Finalize() 关闭会话。

[SWS_KeyM_00005] 上游要求:SRS_CryptoStack_00028 默认情况下,KeyM_Start() 函数不会考虑任何输入数据或长度信息,也不会提供任何输出数据,输出数据长度也不会被更改。

[SWS_KeyM_00006] 上游要求:SRS_CryptoStack_00115

如果配置选项 KeyMCryptoKeyHandlerStartFinalizeEnabled 设置为 TRUE,则可以选择调用密钥处理程序。KeyM_Start() 函数将依次调用 KeyM_KH_Start() 函数,并传入与 KeyM_Start() 相同的参数。KeyM_KH_Start() 的返回值将作为 KeyM_Start() 的返回值。

原理:KeyM_KH_Start() 函数可以执行 OEM 特定的检查,例如对任何输入数据进行签名验证,以证明密钥管理操作的真实性。注意:KeyMCryptoKeyHandlerStartFinalizeEnabled 的定义仅在 KeyMCryptoKeyStartFinalizeFunctionEnabled 设置为 TRUE 时才有效。

[SWS_KeyM_00007] 上游需求:SRS_CryptoStack_00013

如果配置选项 KeyMCryptoKeyStartFinalizeFunctionEnabled 设置为 FALSE,则密钥管理模块不会提供 KeyM_Start() 和 KeyM_Finalize() 函数。此时可以随时执行密钥更新操作。

[SWS_KeyM_00008] 上游需求:SRS_CryptoStack_00118

会话通过调用 KeyM_Finalize() 关闭。在调用过程中,任何在会话中更新过的密钥都将通过调用 Csm_KeySetValid() 设置为有效。在该函数完成其操作后,不再接受进一步的密钥更新操作。

[SWS_KeyM_00009] 上游需求:SRS_CryptoStack_00119, SRS_CryptoStack_00096

函数 KeyM_Finalize() 应验证所有已更新的密钥,即使其中一个密钥验证失败,也不应中止操作。

[SWS_KeyM_00010] 上游需求:SRS_CryptoStack_00013

如果配置选项 KeyMCryptoKeyPrepareFunctionEnabled 设置为 TRUE,则提供函数 KeyM_Prepare()。该函数目前没有任何功能性行为。如果配置选项设置为 FALSE,则不会提供功能接口。

[SWS_KeyM_00011] 上游需求:SRS_CryptoStack_00108、SRS_CryptoStack_00115、toStack_00118、SRS_CryptoStack_00110

如果配置选项 KeyMCryptoKeyHandlerPrepareEnabled 设置为 TRUE,则对 KeyM_Prepare() 的调用将依次传递给 KeyM_KH_Prepare(),并且参数和返回值将相应传递

其目的是在密钥更新会话启动后,在开始时调用一次 KeyM_Prepare()。调用的诊断服务可以向密钥处理程序提供执行后续密钥更新操作所需的特定数据。例如,它可用于提取密钥管理器所需的特定加密驱动程序信息,这些信息从(SHE)硬件中提取并再次在输出缓冲区中提供。或者,它可以启动一个 OEM 特定的密钥协商过程,其结果在之后的密钥更新过程中是必要的。另一种可能性是,在准备过程中密钥管理器提供一个(加密的)公共密钥。特定的密钥处理程序能够将密钥(解密后)存储到 CSM 中。这会生成一个分配给 CSM 密钥的公共密钥,并且可以进一步用于从中派生其他密钥。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/2 1:16:08

构建生态壁垒:只对你开放高级TRT优化接口

构建生态壁垒:只对你开放高级TRT优化接口 在AI模型越来越“重”的今天,推理性能早已不再是实验室里的数字游戏。真实世界中,一个推荐系统响应慢了200毫秒,可能就意味着用户流失;一条视频分析流水线吞吐量不足&#xff…

作者头像 李华
网站建设 2026/7/2 1:16:51

深度解析MIPS架构:曾与ARM比肩的精简指令集巨头

深度解析MIPS架构:曾与ARM比肩的精简指令集巨头 在精简指令集(RISC)架构的发展史上,有这样一位“元老”——它曾与ARM并驾齐驱,在嵌入式设备、网络通信、高端计算等领域占据重要地位;它的设计理念影响了一代…

作者头像 李华
网站建设 2026/6/26 8:34:39

WarcraftHelper终极指南:魔兽争霸III现代化兼容性优化方案

WarcraftHelper终极指南:魔兽争霸III现代化兼容性优化方案 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 项目价值与痛点解析 魔兽争霸I…

作者头像 李华
网站建设 2026/7/2 1:19:39

Display Driver Uninstaller:彻底清理显卡驱动的终极工具

Display Driver Uninstaller:彻底清理显卡驱动的终极工具 【免费下载链接】display-drivers-uninstaller Display Driver Uninstaller (DDU) a driver removal utility / cleaner utility 项目地址: https://gitcode.com/gh_mirrors/di/display-drivers-uninstall…

作者头像 李华
网站建设 2026/7/2 2:37:46

罗技鼠标宏终极压枪配置:从零到精通的完整指南

还在为绝地求生中难以控制的武器后坐力而困扰吗?罗技鼠标宏压枪功能能够帮你实现稳定射击,告别枪口上跳的烦恼。本指南将手把手教你从安装到实战的全流程配置,即使是零基础的新手也能轻松掌握。 【免费下载链接】logitech-pubg PUBG no recoi…

作者头像 李华
网站建设 2026/7/2 2:40:10

SMUDebugTool完整使用教程:解锁AMD Ryzen处理器的终极性能潜力

SMUDebugTool完整使用教程:解锁AMD Ryzen处理器的终极性能潜力 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: ht…

作者头像 李华