单片机/MCU论坛
直播中

硕达科讯

9年用户 966经验值
私信 关注
[问答]

eFUSE内存是如何组织的?

目前,我正在研究TRAVEO™ 2G - CYT4EN。
我想了解一些与 eFUSE 相关的主题。
1. eFUSE 是控制器访问的物理芯片还是 SOC 的一部分?
2. eFUSE内存是如何组织的?
3.如何读写eFUSE?
4. 我看到 eFUSE 提供了 1024 位。其中有多少是工厂融合的并可用于融合用户数据?
5. 存储生命周期阶段(SECURE)、SECURE HASH、DAP CONFIG 设置和其他参数需要注意哪些位?
6. 访问 eFUSE 内存需要配置哪些寄存器?如果是,请提供详细信息。
7. eFUSE 中可以融合哪些用户定义的参数?
8. 我们可以使用用户定义的键吗?
9. eFuse 位有可能损坏吗?如果是的话,如何处理这种情况?
请提供一些额外的信息来帮助我开发安全启动概念,因为这是我第一次研究这个概念。

回帖(1)

study875

2025-8-4 17:36:07

很高兴看到你在深入研究 TRAVEO™ T2G CYT4EN 系列微控制器的 eFUSE。理解 eFUSE 至关重要,特别是在涉及安全启动、密钥存储、设备生命周期管理和安全配置等方面。下面针对你的问题,结合该芯片系列的典型设计(主要基于其技术参考手册 TRM)进行解答:  




? 1. eFUSE 是物理芯片还是 SoC 的一部分?



  • SOC 的一部分。CYT4EN 中,eFUSE 是集成在芯片内部的一个专用非易失性存储单元,不属于外部独立芯片。它与主 Flash、SRAM 等共同构成 SoC。访问通常通过特定的系统控制器(如 SPC、SRSS) 实现的。




?️ 2. eFUSE 内存是如何组织的?


CYT4EN 的 eFUSE 主要提供 1024 位(128 字节) 的存储空间。组织方式的关键点如下:



  • 按功能分区:这 1024 位被预先定义为多个功能字段,每个字段存储特定的配置、密钥、哈希值或状态。

  • 字段固定长度:常见字段包括固定长度的位段(如 UUID 为 128 位,Secure Hash 为 256 位)。

  • 关键分区包括

    • 设备唯一标识符 (UUID):128 位,工厂编程(部分)。

    • 安全生命周期状态 (SLS/LCS):几位关键状态位(如 SECURE, DEBUG OPEN 等)。

    • 安全启动 Hash (Secure Hash / Boot Hash):256 位,存储对安全启动流程中使用的公钥/信任根计算得到的哈希值。

    • 调试访问端口配置 (DAP CONFIG):若干位,控制 JTAG/SWD 端口在安全模式下的可访问性和权限。

    • 用户可编程 eFUSE:128-384 位(不同型号可用空间不同),预留给客户存储密钥或其他配置信息。

    • 其他控制位:例如:

    • 是否从 eFUSE 加载 PUF 辅助数据 (PUF_REKEY)

    • 用户可编程区域的保护锁定位 (FUSE_WR_LOCK)

    • TOC3 校验使能位(用于安全启动 ROM 阶段的配置)

    • Crypto 相关配置(如是否使能 HSM Crypto)

    • Boot Mode Select 相关位




⚠️ 重要:具体字段长度、偏移量及名称需严格参考 CYT4EN 的技术参考手册 (TRM) 第 28 章(eFUSE 控制器)和第 20 章(系统安全性)





✍️ 3. 如何读写 eFUSE?


读操作:



  1. 通过 eFUSE 控制器寄存器 请求读取特定行。

  2. 控制器内部逻辑执行读取并返回数据到数据寄存器。

  3. CPU 通过 AHB 总线读取数据寄存器。

    • 特点:相对简单,但需遵循地址映射访问寄存器。

      写操作(熔丝,即编程至 0/未熔断=1):



  4. 准备写数据:配置 eFUSE 控制寄存器中的地址和数据。

  5. 启动编程:向命令寄存器写入特定序列(如 0x3A5)触发熔丝操作。

  6. 验证与上锁(关键步骤)

    • 编程操作不可逆:熔丝一旦熔断(0),无法恢复为 1。

    • 保护机制:通过写 FUSE_WR_LOCK 位锁定部分区域防止意外写入。

    • 硬件参与:部分安全区域(如 Secure Hash、SLS)写入由硬件状态机严格管控。




? 警告: eFUSE 写入需要精确的电压/时序控制,必须使用官方库函数或参考 TRM 示例执行。





? 4. 1024 位中有多少是工厂融合?用户可用空间?



  • 工厂预留位:

    ≈50%~70% — 包含 UUID、初始 Secure Hash(可选)、DAP 默认配置等。

  • 用户可用空间:

    通常有 128~384 位(因型号和预配置不同而异)专供用户存储以下信息:

    • 加解密密钥(对称或非对称)

    • 自定义设备配置参数

    • 锁定计数器值

    • PUF 辅助数据(结合 PUF 技术存储)




? 提示:最终可用空间需查手册确认,例如 CYT4EN 系列某型号用户空间为 256 位。





? 5. 关键配置位说明


下表总结了 CYT4EN 中最关键的可融合位:























































功能区域 字段/位名 作用 可写性
生命周期阶段 (SECURE) LCS(多bit) 控制设备生命周期状态(如 Open、Secure、Closed) ROM 引导时锁定
安全引导 Hash SECURE_HASH[255:0] 存放关键公钥哈希值 Protected 模式熔断
DAP 配置 DBG_LOCK[2:0] 限制调试端口访问权限 用户或工厂可设
保护锁定 FUSE_WR_LOCK 封锁用户可编程区域防写 仅熔断一次
启动模式 BOOT_MODE 选择启动来源(如 BootROM, SMIF) ★ 可修改
PUF 配置 PUF_REKEY 指示使用 eFUSE 存放 PUF 重生成辅助数据 ★ 可熔断
用户密钥区 USER_FUSE[255:0] 存储用户自定义密钥/参数 可多步熔断


: 表示在特定生命周期阶段可写。





⚙️ 6. eFUSE 访问寄存器配置


访问 eFUSE 依赖以下寄存器组(位于 SPC/SRSS 模块):



  1. 控制寄存器 (CPUSS_SYSARG, CPUSS_SYSCS):配置操作地址、数据。

  2. 命令寄存器 (CPUSS_SYSREQ):写入 0x3A5 触发熔丝操作。

  3. 状态寄存器 (CPUSS_STATUS):检查操作结果(成功/失败)。

  4. 保护寄存器 (FUSE_CTL): 包含 FUSE_WR_LOCK 位,锁定区域写入权限。


⚠️ 编程时必须按手册时序操作寄存器,否则可能导致损坏。




? 7. 用户可融合的参数


用户可编程 eFUSE 常用于存储:



  • 加密密钥:AES-128/256、HMAC、RSA/ECC 私钥(需注意位空间)

  • 设备唯一配置:序列号、版本号、功能标志

  • 安全计数器值:防止回滚攻击

  • PUF 重生成数据:绑定物理不可克隆函数 (PUF) 使用

  • 自定义熔断位:做永久激活选项或硬件锁




?️ 8. 用户自定义密钥的使用


可以! 这正是用户 eFUSE 区域的主要用途:



  1. 生成密钥后,通过熔丝操作写入 USER_FUSE 区域。

  2. 启用 FUSE_WR_LOCK 锁定密钥防止泄露。

  3. 在程序中将密钥用于:

    • Flash 加密

    • 固件签名验证

    • TLS 通信证书

    • HSM 加解密加速器




? 提示:配合硬件加速引擎(CRYPTO/HSM) 使用密钥更安全高效。





❗ 9. eFUSE 会损坏吗?如何应对?


风险存在


可能的故障包括:



  1. 物理位损坏:因电磁干扰、封装应力等导致个别位翻转。

  2. 编程失败:电压不稳或违反时序造成位未正确熔断。

  3. 锁定异常FUSE_WR_LOCK 锁定位错误。


应对方案



  1. 冗余存储:对关键数据(如密钥)在多位置保存副本。

  2. 添加 ECC:英飞凌在部分 eFUSE 中使用错误校正码技术。

  3. 熔断后验证:写入后需读取校验成功状态。

  4. 解锁保护:操作 FUSE_WR_LOCK 前严格检查流程。



工业建议:生产前用小批量芯片验证 eFUSE 编程流程,确保成功率 ≥99.9%。





? 总结


TRAVEO™ T2G - CYT4EN 的 eFUSE 是芯片安全体系的核心模块,通过分区管理实现生命周期状态控制、安全启动绑定、密钥存储等功能。最关键的是:



  1. 严格遵循 TRM 编程时序操作寄存器;

  2. 用户可融合空间用于存储密钥,需及时上锁;

  3. 物理损坏风险虽存在但可管理;

  4. 一切操作应以手册的安全章节为最终依据。


建议下载最新的 CYT4EN Technical Reference Manual (TRM),仔细阅读 Chapter 20: System SecurityChapter 28: eFUSE Controller,其中包含完整的位定义、操作流程和安全约束 ? Infineon Developer Center 是获取资源的首选。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分