英飞凌HSM模块介绍

本文介绍了HSM在MCU中的应用,特别是英飞凌TC397系列的AURIXMCU中的HSM架构,包括其内部CPU、硬件加速器、加密算法支持以及与主机CPU的通信机制,强调了HSM在增强安全性方面的角色。
摘要由CSDN通过智能技术生成

1 HSM概述

      HSM(Hardware Security Module),是MCU上专门用于实现加解密算法的一个外设,它一般会有一个独立的CPU,专门用来进行加解密运算,还有一些针对特定算法的硬件加速器(如AES-128、SHA-256等)。

    有了HSM模块,程序中就可以把加解密运算交给HSM来执行,主CPU就可以去做其他工作,一段时间后来查询结果,或等待HSM计算完成后通过中断等方式通知主CPU计算结果即可。

    HSM通常还拥有单独的存储区,包括RAM和NVM,HSM的存储区在正常运行状态下应只允许HSM核读写,主核不能读写。这样就可以把算法秘钥等重要数据存储在HSM存储区,与主核进行隔离,进一步加强安全性。此外HSM模块还会带有真随机数生成器等加密算法常用外设。

2 英飞凌AURIX系列MCU的HSM

    我们以TC397为例来了解一下AUTIX系列单片机的HSM。下图为TC397的架构图,HSM作为外设之一,挂载在单片机的SPB系统外设总线上:

    下图为HSM的架构图,HSM有一个基于ARM Cortex-M3的CPU,有随机数生成器TRNG,和AES、Hash、PKC(公钥加密整数)算法的硬件加速器,以及中断、Timer等组成部分。

TC3XX系列的HSM支持以下算法:
对称加密:AES-128:支持硬件实现,支持ECB、CBC两种模式;
摘要算法:MD5(128 bits)SHA-1(160 bits)、SHA-2(224 bits)、SHA-2(256 bits)、SHA-2(384 bits)、   SHA-2(512 bits):其中MD5(128 bits)SHA-1(160 bits)、SHA-2(224 bits)、SHA-2(256 bits)支持硬件实现,SHA-2(384 bits)、SHA-2(512 bits)可以用软件实现。
非对称加密:RSA、ECC等,是否支持硬件实现待验证,可用软件实现。

3 HSM PFLASH地址

      HSM核的程序代码可以存放于PFlash0的S0-S39这40个16K的PFlash块中,手册中对该区域的定义如下,我们暂时先考虑右侧“HSM only”的情况,先不管TP

4 HSM DFlash地址

HSM核可以操作DFlash1,地址如下:

5 HSM相关的UCB和寄存器

5.1 UCB_HSMCFG

USB存储在DFlash中,每次上电时,芯片自带的Boot Firmware会读取UCB中的值,判断状态,并加载到相应的寄存器中,地址如下:

寄存器定义如下:

读写规则:

由英飞凌出厂时填充内容。当Confirmation为unlocked时master(主核)可以写入数据,当Confirmation为unlocked时主核和HSM核都可以读取,当状态为confirmed或errored时,只有HSM核可读。

涉及的DMU寄存器

5.2 UCB_HSMCOTP0/1

地址如下:

 涉及的寄存器

5.2.1 SF_PROCONUSR

在启动的时候从UCB赋值。

5.2.2 SP_PROCONHSMCBS

该寄存器表示从Flash启动后存储在UCB_HSMCOTP配置集中的所有引导扇区选择项的组合。

该寄存器包含BOOTSEL0-3,BOOTSEL即Boot Sector Selection,控制哪个HSM代码扇区(HSM code sector)被查找作为启动代码。BOOTSEL的定义如下:

5.2.3 SP_PROCONHSMCX0/1

该寄存器用来表示PFlash的某个扇区是否被排除在HSM之外(HSM_exclusive)。

5.2.4 SP_PROCONHSMCOTP0/1

该寄存器用来表示PFlash的某个扇区是否被配置为HSM永久锁定。

5.2.5 SP_PROCONHSMCFG

5.2.6 UCB Confirmation

5.3 UCB_HSM

地址如下:

涉及的寄存器:

5.3.1 SP_PROCONHSM

 5.4 UCB_PFLASH_ORIG and UCB_PFLASH_COPY

配置PFlash sector是否被读写保护

配置PFlash sector是否被写保护

5.5 UCB_DFLASH_ORIG and UCB_DFLASH_COPY

配置RAM区是否被初始化

6 HSM相关的DMU寄存器

7 HOST 与 HSM 通信

    HSM 的实现是由于片内集成了一个 arm 核。HSM 有单独的一个 ARM 核,实际使用过 程中 HSM 核 与主 CPU Tricore 核之间需要进行通信。通常 CPU Tricore 被称作 HOST。 TC3XX 系列 MCU 有一块 RAM 空间被预留了出来,用于在主核和 HSM 核之间互相传递 数据,被称为主核与 HSM 核之间的“桥梁”(Bridge)

  • 23
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要查询英飞凌(Infineon)的硬件安全模块HSM)是否使能,可以按照以下步骤进行操作: 1. 连接到英飞凌HSM设备:首先,确保计算机与HSM设备正确连接,并建立通信。 2. 安装相关驱动程序和工具:根据英飞凌的要求,安装适当的驱动程序和工具,以便与HSM设备进行通信和配置。 3. 打开HSM管理工具:启动英飞凌提供的HSM管理工具,它通常被称为HSM管理控制台或者类似的名称。 4. 连接到HSM设备:在HSM管理工具中,选择连接到目标HSM设备的选项。这可能涉及到选择正确的通信接口(如USB或网络连接),并提供必要的连接参数。 5. 登录到HSM设备:一旦连接成功,使用合适的身份凭证(用户名和密码)登录到HSM设备中。 6. 导航到设置界面:在HSM管理工具中,找到用于配置HSM设备的设置界面。通常,这些设置以菜单或选项卡的形式呈现。 7. 查询HSM使能状态:在设置界面中,查找与HSM使能状态相关的选项或参数。这通常称为HSM状态或使能状态。 8. 检查HSM使能状态:查看相关选项或参数的值,以确定HSM设备的使能状态。通常,使能状态可以是“已使能”或“已禁用”。 通过以上步骤,您应该能够查询英飞凌HSM设备是否处于使能状态。请注意,确切的步骤和界面可能会因HSM设备型号和管理工具的版本而有所不同,因此请参考相关的英飞凌文档和指南,以获取准确的操作细节。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值