veHsm硬件和软件架构概述
1. 软件硬件架构
veHsm是一个嵌入式硬件安全模块,它通过硬件提供的安全区域来增强安全性,这个区域包括:
- 专用核心:负责执行安全操作。
- 安全内存:用于存储敏感数据,如密钥和资产,这部分内存仅对专用核心可访问。
- 密码硬件加速器:硬件组件,用于加速密码算法的执行。
veHsm的软件架构设计为:
- 应用程序:使用veHsm提供的安全服务的软件。
- 引导程序:启动系统和veHsm的软件。
- veHsm:包含密码机制的核心软件,以及与这些机制相关的必要模块。
2. 软件架构和功能原理
veHsm(Vector嵌入式硬件安全模块软件栈)提供了包括资产存储和密码算法在内的多种安全服务。该固件由特定于veHsm的模块以及符合AUTOSAR规范的标准化模块组成。
veHsm利用AUTOSAR概念,以实现在基于AUTOSAR的ECU中的无缝集成。
文档和资源
- AUTOSAR_EXP_UtilizationOfCryptoServices.pdf
-提供Crypto Stack的概述和基本思路。 - AUTOSAR_SWS_CryptoServiceManager.pdf
- AUTOSAR_SWS_CryptoInterface.pdf
- AUTOSAR_SWS_CryptoDriver.pdf
-描述Crypto Stack的各个模块。
密码驱动程序
veHsm包括多个密码驱动程序,提供不同的功能,例如:
- 安全启动实现。
- 访问可用的硬件加速器。
- 密钥存储。
内存基础设施
由于HSM的一个基本用例是数据的安全存储,veHsm利用可用的内存基础设施。通常,HSM内部D-Flash或等效存储用于存储密钥和资产,不同平台使用不同的存储机制。
处理器间通信(IPC)
HSM核心通过软件定义的IPC接口(位于共享RAM中)与应用程序核心通信。这些接口提供与外部世界的通信所需的驱动程序和协议。
3.HSM固件组成模块
CRYPTO
- 主要功能:密码操作的执行。
- 组成模块:
- Csm:密码服务管理器,负责管理密码服务。
- CryIf:密码接口,提供与密码硬件交互的标准接口。
- 密码驱动程序:多个驱动程序,用于执行具体的密码功能。
- vSecPrim:Vector密码算法库,包含一系列密码算法实现。
OS
- 功能:根据选择的配置,提供不同级别的密码作业处理能力。
- 基础支持:
- vHsm 模块:提供基本的任务和优先级支持。
- 扩展支持:
- 利用实时操作系统(RTOS),这是AUTOSAR OS的一个简化版本,用于更复杂的密码作业处理。
RTE(BRE)
- 功能:
- 支持服务层模块的类型定义生成。
- 提供生成独占区域的支持,以确保数据和操作的安全性。
SYS
- vHsm 模块:提供一系列核心技术系统功能,与硬件无关。
- 处理器间通信(IPC)处理。
- 作业处理。
- 密钥管理。
MEM
- 功能:负责密钥和证书的存储。
- NvM:非易失性存储器模块,用于持久化存储。
- MemIf:内存接口模块,提供内存访问接口。
- Fee:可能指文件系统或其他存储相关的模块。
- 附加要求:需要Flash驱动程序以实现存储功能。
- 特点:veHsm对内存硬件的选择具有独立性。
MCAL
- vMem 或 FlsDrv:内存驱动程序,提供对内存的底层访问和控制。
内部架构
HSM固件的内部架构与AUTOSAR密码栈相对应,包括以下组件:
- CryIf通道:提供密码服务的通信接口。
- 驱动对象:管理密码硬件和软件资源的实体。
- 密码原语:基本的密码操作,如加密、解密、散列等。
- 密钥、密钥类型和密钥元素:定义密钥的结构和管理方式。
veHsm是一个自包含的软件包,它将提供的服务暴露给在应用程序核心上执行的软件。
注意事项
- 核心数据和代码保护:HSM核心的数据和代码段必须不能从其他核心访问。
- 推荐措施:强烈推荐使用保护措施,例如HSM专用标志,以确保安全性。这些措施取决于所使用的硬件架构。
4.Host端架构
主机核心的密码模块
就安全性而言,主机核心必须运行符合AUTOSAR标准的密码模块。Csm、CryIf和Crypto(veHsm)模块是必不可少的。
Crypto管理器CSM
Crypto管理器CSM为更高层次的模块提供接口,并将服务请求分配到适当的队列中。
CryIf
CryIf将密码服务请求转发给相应的密码驱动程序。
Crypto(veHsm)
Crypto(veHsm)是与HSM核心通信的驱动程序。它提供IPC(进程间通信)通信。此外,它还提供了HSM功能的抽象,即指定了HSM中可用的密码原语和存储的密钥。
Csm模块的JOB
在Csm模块发出的Job可以是同步或异步的。当密码job完成时,通过轮询或中断通知主机模块。
上图展示了从主机应用程序到HSM核心上的密码库的数据流和队列-通道-驱动对象之间的关系。
标签:veHsm,驱动程序,英飞凌,HSM,密码,内核,模块,密钥 From: https://blog.csdn.net/qq_36750998/article/details/141716202