您好,恩智浦技术支持、
我正在使用带有 Habv4 (CST 4.0.1) 的 RT1176 板。我目前使用 SRK1 对图像进行签名,但我需要改用 SRK2。(我们试图在撤销 SRK1 之前用 SRK2 测试图像)
在我目前的 CSF 文件中,我有
[Install SRK]
File ="..\..\crts\SRK_1_2_3_4_table.bin"
Source index = 0
[Install CSFK]
File ="CSF1_1_sha256_secp256r1_v3_usr_crt.pem"
[验证 CSF]
[Install Key]
Verification index = 0
Target index = 2
File ="IMG1_1_sha256_secp256r1_v3_usr_crt.pem"
[验证数据]
验证指数 = 2
引擎 = CAAM
引擎配置 = 0
区块 = 0x80000000 0x0 0x8000 "启动.bin"
请您解释一下:
从 SRK1 转到 SRK2 的最简单方法是什么?
我的 CSF 文件需要做哪些更改?
我是否只需要将 [Install SRK] 中的 源代码索引 从 0 改为 1?
感谢您的帮助。
我试着更改
[Install SRK]
File ="SRK_1_2_3_4_table.bin"
来源指数 = 1
[Install CSFK]
File ="CSF2_1_sha256_secp256r1_v3_usr_crt.pem"
[Install Key]
Verification index = 0
Target index = 2
File ="IMG2_1_sha256_secp256r1_v3_usr_crt.pem"
最终使用 SRK 2,但我遇到了这些事件
yosri_c_1-1765463880990.png
你好
是的,从使用 SRK1 到使用 SRK2 的最简单方法是修改 CSF 文件中 [Install SRK] 部分的源索引参数,从 0 改为 1。
在您当前的 CSF 文件中:
```
[Install SRK]
File ="..\..\crts\SRK_1_2_3_4_table.bin"
源索引 = 0
```
您应将其更改为:
```
[Install SRK]
File ="..\..\crts\SRK_1_2_3_4_table.bin"
Source index = 1
```
源索引参数决定将使用 SRK 表中的哪个键。索引 0 对应 SRK1,索引 1 对应 SRK2,以此类推。
你还需要在 CSF 文件中引用 CSF2 和 IMG2 的相应证书文件,而不是 CSF1 和 IMG1,替换:
-" csf1_1_sha256_secp256r1_v3_usr_crt.pem " 替换为 " CSF2_1_SHA256_secp256r1_v3_usr_crt.pem " " g1_1_sha256_secp256r1_v3_usr_crt.pem " 带有 " img2_1_SHA256_secp256_secp256r1_v3_
usr_crt.pem "
这种方法允许您在永久撤销 SRK1 之前使用 SRK2 进行测试。
此致
@Bio 感谢您之前的澄清。
在固件更新期间,我将对网络安全逻辑和 SRK 迁移过程进行重要的后续跟进。
我们当前的场景:正常启动:设备使用 SRK1(索引 0)启动。信任链已完全建立:ROM -> 引导加载程序 (SRK1) -> 应用程序 (SRK1)。
固件更新:当系统在 SRK1 的信任下运行时,我们将使用 SRK2(索引 1)签名的新完整映像(BS + 应用程序)下载到同步动态随机存取存储器(SDRAM)中。
验证:当前正在运行的 Bootloader 调用 hab_rvt.authenticate_image() 来验证 同步动态随机存取存储器(SDRAM) 中的新镜像。
我的问题是
1。关于运行时 SRK 切换:你能否确认 HAB 库允许在同一个电源周期内执行源索引 = 1 (SRK2) 的新 [安装 SRK] 命令,即使初始启动时使用了 SRK1?
2.关于在同一周期内撤销:是否有可能在更新过程中撤销 SRK1(通过烧录 SRK_REVOKE eFuse),然后安装 SRK2 并对新的 RAM 映像进行验证,所有这一切都在同一个电源周期内完成?谢谢
请您提供帮助,任何帮助都将是有益的
谢谢