英飞凌 TC3XX单片机HSM内核开发-Secure Boot(四)

HSM系统架构

硬件安全模块(HSM)概述

硬件安全模块(HSM)是 AURIX 控制器系列的一个可选外设模块。HSM 主要用于以下应用:

  • 安全启动:确保系统启动过程的安全性,防止未授权的代码运行。
  • 调校保护:保护校准数据的完整性,确保调校数据未被篡改。
  • 安全传感器通信:对传感器数据进行认证和完整性保护,确保数据来源和内容的可靠性。
  • 身份验证:实施身份验证措施,确保只有授权用户或系统能够访问特定功能或数据。
  • 安全闪存加载:保护闪存中的数据加载过程,防止未授权访问或篡改。
  • 防盗保护:通过阻止未经授权的操作来保护车辆或设备免受盗窃。
  • 安全日志记录:确保日志记录过程的安全性,防止日志数据被篡改或伪造。
  • 安全调试认证:在调试过程中提供安全认证,确保调试访问的合法性。

HSM 的功能提升了 AURIX系列微控制器的安全性,为各种关键应用提供了强大的保护机制。
在这里插入图片描述

CPU

HSM 核心基于 ARMv7-M 架构,支持两种操作模式:线程模式(Thread)和处理程序模式(Handler)。

  • 线程模式(Thread Mode):这是 HSM 启动时的默认模式,处理大多数应用程序代码。在退出 BOS(Boot Operating System)后,处理器会以线程特权模式执行。
  • 处理程序模式(Handler Mode):用于处理中断和异常,具有更高的优先级和权限。

在处理器的控制寄存器(CONTROL register)中,可以配置线程模式的特权级别,将其更改为非特权模式。

内存保护单元(MPU)

内存保护单元(MPU)负责强制执行特权规则、分离进程,并执行内存访问规则。MPU 的主要用途包括:

  • 执行特权规则:确保只有具有适当权限的代码和进程可以访问指定的内存区域。
  • 进程分离:将不同的进程和任务隔离开来,以防止它们之间的干扰或数据泄露。
  • 执行访问规则:规定和限制对内存区域的访问权限。

在与 HSM 一起使用时,MPU 存在一些限制:

  • 地址范围限制:ARMv7-M 架构中,地址范围 A000 0000H - FFFF FFFFH 被设置为“不可执行”(Execute Never,XN)。MPU 无法更改此设置。因此,代码必须从 HSM 的内部 SRAM 或 AURIX 的缓存内存范围中运行。
  • 位带别名区域限制:设置为位带别名区域的 MPU 区域会被忽略。应使用相应的本地 RAM 地址范围。
  • MPU 配置位限制:MPU 区域的 C(可缓存)、S(可共享)位以及 TEX(传输扩展)位字段被忽略,即没有功能。因此,只能配置 B(缓冲区)位和 XN 位。
  • 重叠保护区域:支持重叠保护区域,并按区域优先级升序排列,即区域编号 7 具有最高优先级。

桥接模块

桥接模块的主要目的是将硬件安全模块(HSM)子系统连接到 TriCore(主机)并启用两个系统之间的通信。所有 HSM 和主机之间的交互都通过桥接模块进行。

桥接模块功能
  • 通信同步:桥接模块包括特殊功能寄存器(SFRs),这些寄存器允许主机和 HSM 之间的通信同步。这包括两侧的中断生成。
  • 访问限制:主机系统对 HSM 资源的访问是有限的。当 HSM 不处于调试模式或内存测试时,主机无法访问所有内部 HSM 内存和外设。一些 HSM 桥接寄存器(如通信寄存器)对主机是可访问的。
  • HSM 完全访问:HSM 对桥接的 TriCore(主机)侧具有完全访问权限,以及对其自身内存空间的访问。
  • 时钟频率控制:桥接模块允许独立于主机控制 HSM 的时钟频率(尽管它只能将 SPB 频率进行分频),并提供识别和处理系统特定错误(如总线故障、访问违规和 ECC 错误)的手段。
  • 数据访问模式:桥接模块支持单次访问和突发模式访问(4x32 位突发)。HSM 的突发访问内存范围为 0000 0000H - 9FFF FFFFH。地址范围 0000 0000H - DFFF FFFFH 通过缓存以 16 字节粒度访问。对于主机可以在后续访问中更改的数据,HSM 需要使用 64KB 窗口直接访问主机内存,从而绕过 HSM 缓存(或在操作之前清理缓存)。
注意事项
  • SAHMEM 访问:桥接模块允许通过基础寄存器在 64KB 内存窗口中进行单字节、半字和字访问,使用 SAHMEM 而不涉及缓存。通过 SAHMEM 访问有两个组件;高16 位由基础寄存器 SAHBASE 的内容定义,低 16 位由 HSM 中地址的正偏移(段 15)定义。

桥接模块可以将最多 32 个外部中断映射到嵌套向量中断控制器(NVIC)的一个中断节点。例如,这些位包括来自 MCMCAN0 外设的中断。这些中断可以用来在 HSM 上运行一个简单的 CAN 堆栈,从而支持 CAN (FD) 通信。

在这里插入图片描述
信息交换
在这里插入图片描述

直接通过桥接寄存器:
在通信单元中使用桥接寄存器进行数据交换。

共享内存区域:
对于较大数据量的交换,可以利用主系统中的共享内存区域。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

美好生活丶

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

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

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

打赏作者

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

抵扣说明:

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

余额充值