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

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核心上的密码库的数据流和队列-通道-驱动对象之间的关系。

  • 13
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

美好生活丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值