工具/软件:
尊敬的 TI:
我们在 AM62A 上的 HSM 遇到与安全代理异步通信和TRNG 可靠性相关的关键问题、需要 TI 的专业知识进行调查。 下面是问题的摘要以及如何推断这些问题。 请注意、在我们不使用异步通信的情况下、这些安全代理问题均不会发生、即 A53和 MCU-R5可 同时在 while 循环中成功请求 HSM 服务。
1、问题1:保护代理异步通信异常
1.1单核异步请求损坏
设置:
- MCU-R5内核 通过安全代理向 HSM 发送异步请求:
- TX:安全代理 ID 12 (R5→HSM)
- RX:安全代理 ID 13 (HSM→R5)
- HSM 通过安全代理 ID 0接收请求并通过 ID 4发送响应。
重现步骤:
- R5发送 请求1 通过 ID 12→HSM 进行处理并发送 回答1 至 ID 4。
- R5 不读取 来自 ID 13的响应。
- R5发送 请求2 再次通过 ID 12。
观察到的行为:
- HSM 收到的数据 响应1. 而不是请求2。
- 预期: HSM 应接收请求2。
1.2交叉内核干扰
设置:
- A53内核 使用安全代理 ID:
- TX:ID 10 (A53→HSM)
- RX:ID 11 (HSM→A53)
- R5内核 使用 ID 12 (TX)和13 (RX)。
重现步骤:
- R5通过 ID 12 和发送异步请求1 不读取 来自 ID 13的响应1。
- A53通过 ID 10发送请求2、并轮询 ID 11以获取响应。
观察到的行为:
- HSM 收到的数据 响应1. 而不是请求2、与问题1.1相同。
- A53发现 ID 11为空、但 R5找到 A53的请求 2在 ID 13.
- 预期: A53和 R5应具有隔离的通信通道。
请注意、HSM 代码本身不会将来自主机内核的任何请求消息馈送到安全代理。
2、问题2:培训的可靠性和质量
2.1 TRNG 在应力测试下失败
设置:
- 通过初始化 HSM TRNG
sa2ul_rng_setup_eip76()
。 - 压力测试:连续调用
sa2ul_rng_read()
以收集随机数据。
观察到的行为:
- 经过 N 次电源循环(随机发生)后、
sa2ul_rng_read()
返回失败-EFAIL
()、直至完全重新引导。 - 预期: TRNG 应在不需要重新启动的情况下恢复。
调试尝试次数:
-
sa2ul_rng_setup_eip76()
和SA3UL_rngSetup()
MCU_PLUS_SDK 中的工作代码保持一致。 没有改进。
2.2 TRNG 未通过 NIST 统计测试
设置:
- 使用 HSM CARE Package TRNG 驱动程序来收集 15KB 数据。
- 通过 NIST 测试进行验证。
观察到的行为:
- 失败 NIST 测试中完成。
- 比较: 使用时通过相同的测试 MCU PLUS SDK 的 SA3UL_rng 示例。
假设:
与 MCU PLUS SDK 相比、HSM Care Package 的 TRNG 驱动器不完整。
3.请求
我们面临的挑战 HSM Care Package 驱动程序中的关键缺陷 这会严重影响客户商用产品的稳定性。 这些问题与安全代理、TRNG 和的低级驱动程序直接相关 需要 TI 补丁 避免项目故障和安全风险。 我们紧急请求 TI:
- 检查并验证 HSM Care Package 中安全代理和 TRNG 的驱动程序。
- 提供修补程序以解决问题。
此致、
Yang