2335404_zh-CN

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2335404_zh-CN

2335404_zh-CN

加密实现 密码块链接(CBC)-aes-tee 修改了提供给它的密钥。

你好

我看到内核加密实现密码块链接(CBC)-aes-tee(来自恩智浦OP-TEE)与其他密码块链接(CBC)-aes实现(密码块链接(CBC)-aes-ce、密码块链接(CBC)-aes-neonbs、密码块链接(CBC)-aes-generic)的行为有所不同。我使用的是 iMX93 和 linux-imx 6.12.20-2.0.0,yocto walnascar 和 optee 4.6。

我在尝试使用 RAUC 安装加密更新捆绑包时遇到了这个问题。RAUC 能够使用 openSSL 解密更新捆绑包,但无法使用 dm_crypt 加载捆绑包。我在 RAUC Github 页面上发现了一个问题,描述了这个问题。(第 1833 期,链接:https://github.com/rauc/rauc/issues/1833)

我确认这就是我面临的问题。问题在于 密码块链接(CBC)-aes-tee 不直接使用来自内核驱动程序的密钥传递,而是将其视为派生新密钥的盐。这与内核的预期(特别是 crypto_skcipher_setkey)背道而驰,也与其他 密码块链接(CBC)-aes 实现(密码块链接(CBC)-aes-ce、密码块链接(CBC)-aes-neonbs、密码块链接(CBC)-aes-neonbs、密码块链接(CBC)-aes-generic)不同。RAUC 的其他用户已经解决了这个问题,他们降低了 OP-TEE 对称密钥加密技术在内核加密 API 中的优先级,这样内核就会优先使用其他实现。这可以通过在 tee_skcipher.h 中将 TEE_CRYPTO_CRA_PRIORITY 设置为较低值来实现。这会导致内核在我的板上使用 cbc-aes-ce 而不是 cbc-aes-tee,这确实解决了 RAUC 和 dm_crypt 的直接问题。但是,我的同事认为这有点严厉,这并不能解决密码块链接(CBC)-aes-tee的问题。

我编写了一个小程序来演示这个问题。该程序使用 OpenSSL 加密消息,然后使用 密码块链接(CBC)-aes-ce、密码块链接(CBC)-aes-neonbs、密码块链接(CBC)-aes-generic,最后使用 密码块链接(CBC)-aes-tee 对其进行解密。密码块链接(CBC)-aes-tee 实现是唯一不起作用的实现,因为它不直接使用密钥。我附上了程序源代码、编译后的程序二进制文件(gzipped 这样我就可以上传了),以及程序在我的板上运行后的输出。

我很想修复这个问题,这样 密码块链接(CBC)-aes-tee 的行为与其他实现相同。如果我能帮上什么忙,请告诉我。

Re: Crypto implementation cbc-aes-tee modifies the key given to it.

与 AE 团队讨论。

Re: Crypto implementation cbc-aes-tee modifies the key given to it.

根据 R&D 团队的答复,这是一种预料之中的行为。

这种 TEE 卸载不是为了实现互操作性,即加密由 TEE 卸载完成,而相应的解密则由非 TEE 完成。


我已经筹集了一张 jira 票证 LF-17796 来建议 R & D 可以降低 "密码块链接(CBC)-aes-tee" 驱动程序的默认优先级。

让我们等待反馈吧。


Re: Crypto implementation cbc-aes-tee modifies the key given to it.

感谢您的反馈。

如果密码块链接(CBC)-aes-tee不打算与其他 密码块链接(CBC)(aes)实现兼容,那么我认为内核加密API不应该选择它作为密码块链接(CBC)(aes)的实现

Re: Crypto implementation cbc-aes-tee modifies the key given to it.

谢谢,如果团队有任何反馈,请告诉我。

Re: Crypto implementation cbc-aes-tee modifies the key given to it.

该补丁https://github.com/rauc/rauc/issues/1833#issuecomment-3632067956

正在审查中。

客户可以使用此补丁来解决问题。该问题将在以后的 电路板支持包 版本中修复。

Tags (1)
No ratings
Version history
Last update:
‎03-26-2026 03:34 AM
Updated by: