您好,
我有一个已签名的加密引导加载程序,HAB 已启用但未密封。使用 NXP 的安全配置工具进行刷写时,运行正常。同样地,当我将 FCB + 填充 + 已签名和加密的引导加载程序 + 密钥 blob 连接起来时(其中密钥 blob 是通过在终端中执行以下命令生成的):
blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"也行得通。但是,如果我在调试会话中使用自定义固件运行此过程(仅用于生成密钥 blob),则生成的 blob 文件不被接受,引导加载程序执行失败。两种情况下,DEK 值保持不变。
两者都生成了 .bin 文件。文件仅在 blob 偏移地址处不同。
安全配置工具提供的 flashloader.bin 与公开可用的源代码(MCU 启动)之间有什么区别?
“官方”刷机工具报告的版本号为:
blhost -u 0x15A2,0x0073 -- get-property 1 Response status = 0
(0x0) Success. Response word 1 = 1258424320 (0x4b020800)
Current Version = K2.8.0根据 bl_version.h,源代码应该一致,安全配置工具版本为 25.09。
该自定义固件使用了来自 flashloader 源代码(具体位于 bl_keyblob_dcp.c 中)的代码片段,所有依赖项均来自同一来源。此实现仅供内部使用,因此从固件中提取 DEK 不是问题。
感谢您抽出时间。
嗨@JordanSt ,
我理解您已使用 iMXRT1052 进行了如下测试?
1. 从NXP 的安全配置工具加载闪存加载器,并使用以下命令生成 dek.bin 和 blob.bin 文件。
blhost -t 5000 -u 0x15A2,0x0073 -j -- generate-key-blob "dek.bin" "blob.bin"
2. 使用 iMXRT1052 上的 flashloader 的 sdk 演示代码运行自定义固件,并使用与上面相同的命令生成 dek.bin 和 blob.bin。
3. 生成的 dek.bin 文件相同,但 blob.bin 文件不同。
如果我理解正确,您是否尝试过在步骤 2 中使用 SDK 中的 flashloader?结果是否相同?
祝你有美好的一天,
坎
-------------------------------------------------------------------------------
笔记:
- 如果此回复解答了您的问题,请点击“标记为正确答案”按钮。谢谢你!
- 我们会持续关注帖子,从最后一条回复发出后持续7周,之后的回复将被忽略。
如果您之后有相关问题,请另开新帖并引用已关闭的帖子。
-------------------------------------------------------------------------------