打印
[AURIX™]

英飞凌HSM内核开发-软硬件架构

[复制链接]
58|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
tpgf|  楼主 | 2024-10-12 12:41 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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核心上的密码库的数据流和队列-通道-驱动对象之间的关系。
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/qq_36750998/article/details/141716202

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1791

主题

15320

帖子

10

粉丝