i.MX93 A1 ele 固件(v2.0.4)是否支持通用加密 API?
Imx-secure-enclave git 仓库在 sab_msg.def 中表明固件支持通用加密。RM00284 在第 3.44 节中也有提及。然而,每次尝试使用该功能都导致响应指示器为 0x0000f429。这要么意味着消息无效,要么(如果按照 SAB 错误代码路径)意味着该功能已被禁用。
hsm_test.c其中包括以下内容,这表明该功能仅适用于 IMX95 和 IMX8ULP。
if ((se_get_soc_id() == SOC_IMX95 && se_get_soc_rev() < SOC_REV_B0) ||
se_get_soc_id() == SOC_IMX8ULP)
gc_cipher_test(hsm_session_hdl);这与 RM00284 相矛盾:
3.45 i.MX 95
不支持通用加密 API。
不支持SM3和SM4。
目前为止,密钥库调用工作正常,ele_hsm_test 也运行正常。生命周期目前是开放的,安全启动尚未启用。
由于通用加密调用不使用密钥库,它们是否需要会话句柄?如果不是,那么消息单元与 SAB ID 的关系又是什么呢?我这样问是因为我的固件用户指南在HSM通用命令下没有找到会话句柄的字段。
设置概要:
SoC:i.MX93 A1
构建系统:Yocto walnascar
内核版本:6.12.49
谢谢,
黏土
能否提供一下您提到的代码路径或链接(如下所示),以便我再次确认?
if ((se_get_soc_id() == SOC_IMX95 && se_get_soc_rev() < SOC_REV_B0) ||
se_get_soc_id() == SOC_IMX8ULP)
gc_cipher_test(hsm_session_hdl);
关于您的第一个请求,我已核实,通过 i.MX93 上的 CR RSA 解密支持,ELE 固件团队移除了通用加密 API。
hsm_test.c中的 gc_cipher_test() 函数在第 840 行启动。测试本身位于 test/common/ test_gc_cipher.c下。
文档中哪里提到通用加密 API 已被移除?
那是不是意味着,如果不想使用密钥库,就必须使用第三方加密库?
例如,如果我只想导出特定于 soc 的密钥(可能由 HUK 生成),并对存储在文件系统中的几个字节进行加密/解密,那么预期路径是什么?
谢谢,
黏土
公开文档中没有提到这一点,您可以参考 2.0.4 ele 用户指南,您有这份指南吗?如果没有,您可以从 nxp.com 申请。
点击“文档”中的“安全”,即可找到新的命令 ID,您可以参考 4.3.2 版本。密码与密钥属性