首页 > 其他分享 >英飞凌HSM内核开发-软硬件架构

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

时间:2024-08-30 14:22:30浏览次数:11  
标签:veHsm 驱动程序 英飞凌 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核心上的密码库的数据流和队列-通道-驱动对象之间的关系。

标签:veHsm,驱动程序,英飞凌,HSM,密码,内核,模块,密钥
From: https://blog.csdn.net/qq_36750998/article/details/141716202

相关文章

  • Linux内核中断
    头文件在vscode中,进行tasklet和work中断实验的时候,对于包含的头文件如下两个一直爆红:#include<linux/irq.h>#include<linux/of_irq.h>一路追查下来,发现是缺少头文件:#include<linux/irq.h> ->#include<asm/irq.h> ->#include<mach/irqs.h>(该头文件无法找到)......
  • CentOS 7.9 内核从 3.10 升级到 5.4
    1.背景介绍环境需求:在搭建Kubernetes(K8S)环境时,内核版本最好大于4.4以支持K8S的所有特性。当前内核版本:CentOS7.9的默认内核版本为3.10.0-1160.el7.x86_64,不满足K8S的推荐内核版本要求。2.查看内核版本及相关包使用命令uname-r查看当前内核版本。使用命令r......
  • 内核模块踩内存问题定位利器- hardware breakpoint
    内核由于共享内存地址空间,如果没有合适的工具,很多踩内存的问题即使复现,也无法快速定位;在新的内核版本中引入了一个新工具hardwarebreakpoint,其能够监视对指定的地址的特定类型(读/写)的数据访问,有利于该类问题的定位;以下是一个使用该工具的例子(来自内核代码linux-3.10/sampl......
  • ubuntu20.04内核重新编译(5.15.x)
    一、源码获取方法1:gitclonegit://git.launchpad.net/~ubuntu-kernel/ubuntu/+source/linux/+git/focal方法2:#apt-cachesearchlinux-sourcelinux-source-LinuxkernelsourcewithUbuntupatcheslinux-source-5.4.0-Linuxkernelsourceforversion5.4.0with......
  • 树莓派CM4(四):树莓派镜像替换内核
    树莓派镜像替换内核1.为什么要替换内核树莓派官方提供的镜像中,自带的内核版本为6.6.31然而github上提供的内核源码为6.6.40,有些微差别此外,后续很有可能进行内核裁剪定制,替换内核是一个无法绕开的工作2.获取内核源码github地址:https://github.com/raspberrypi......
  • 【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)
    文章目录【JUC并发编程系列】深入理解Java并发机制:从用户态到内核态的探索(一、前置知识)1.用户态与内核态区别2.线程安全同步的方式3.传统锁有哪些缺点4.发生CPU上下文切换的原因5.如何避免上下文切换6.详细总结6.1用户态与内核态6.2线程安全同步方式6.3传统锁的......
  • 如何使用Kdrill检测Windows内核中潜在的rootkit
    关于KdrillKdrill是一款用于分析Windows64b系统内核空间安全的工具,该工具基于纯Python3开发,旨在帮助广大研究人员评估Windows内核是否受到了rootkit攻击。需要注意的是,该项目与Python2/3兼容,无其他依赖组件,无需Microsoft符号或网络连接即可执行安全检查。KDrill还......
  • 英飞凌TC3XX PFI模块
    文章目录概要一、功能概述二、功能详述1)传输类型2)传输过程3)FPI总线控制单元及总线仲裁三、故障检测及处理1)BCU诊断及处理2)EDC诊断及处理3)BCU报警机制概要本文主要对英飞凌TC3XX系列的PFI模块进行介绍,针对该芯片,系统的片上通信主要包括两种:1、SRI:共享资源互联(cros......
  • Linux内核——内核源码的探索+教你如何系统认识Linux内核源码树(推荐方式+推荐工具+推
    Linux全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,该操作系统是由LinusTorvalds于1991年10月5号首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。严格地讲,Linux单指操作系统的内核,加上用户空间的应用程......
  • Linux 内核源码分析---NIC 数据包接收与发送
    网络接口控制器(networkinterfacecontroller,NIC),又称网络接口控制器,网络适配器(networkadapter),网卡(networkinterfacecard),或局域网接收器(LANadapter),是一块被设计用来允许计算机在计算机网络上进行通信的计算机硬件。由于其拥有MAC地址,因此属于OSI模型的第2层。它使......