
Google 工程师 Eric Biggers 从他对现代 Intel 和 AMD CPU 的 Linux 内核进行令人印象深刻的加密性能优化中抽出时间,将时间花在主线内核中对硬件包装的内联加密密钥的支持。Google 的 Android 内核多年来一直提供此功能,以帮助增强安全性,现在也将在主线内核中找到,用于支持支持的平台。
Eric Biggers 在 Linux 6.16 的 FSCRYPT 拉取请求中解释了这个新的硬件包装的内联加密密钥功能:
“向 fscrypt 添加对”硬件包装的内联加密密钥“的支持。在支持的平台上启用此功能后,此功能可保护文件内容键免受某些攻击,例如冷启动攻击。
此功能使用在 6.15 中合并的对包装密钥的块层支持。包装密钥支持在 Android 中已经存在了很长时间,现在有一个平台可以与上游端到端工作,它终于为上游做好了准备。具体来说,它适用于 Qualcomm SM8650 HDK,使用 Qualcomm ICE(内联加密引擎)和 HWKM(硬件密钥管理器)。相应的驱动程序支持包含在 6.16 的 SCSI 树中。
支持硬件包装密钥的 FSCRYPT 补丁进一步解释了此功能:
“向 fscrypt 添加对硬件包装密钥的支持。此类密钥受到保护,免受某些攻击,例如冷启动攻击。
…
为了在 fscrypt 中支持硬件包装的密钥,我们允许对 fscrypt 主密钥进行硬件包装。文件内容加密是通过 blk-crypto 将包装的密钥传递给内联加密硬件来完成的。其他 fscrypt操作(如文件名加密)继续由内核使用硬件派生的“软件密钥”完成。
…
请注意,此功能不需要任何特定于文件系统的更改。但是,它确实依赖于内联加密支持,因此目前它仅适用于 ext4 和 f2fs。此补丁引入的此功能版本与 2020 年以来 Android 内核下游存在的版本基本等效。但是,包括一些修复。
截至昨天,硬件包装的密钥支持现在是今年夏天 Linux 6.16 版本的 Linux 内核的主线。
转自 Linux 6.16 Upstreams Support For Hardware-Wrapped Encryption Keys – Phoronix
Linuxeden开源社区