IMA 无法检测到现有的 TPM,即使它存在并正常运行

问题描述

我目前正在尝试使用 TPM (SLB 9670) 在 Raspberry Pi 3 型号 B+ 上执行完整性测量。 我已经安装了 TPM 并且工作正常,因为我可以执行一些基本命令,比如 tpm2_getrandom() 等等。现在我想使用 IMA 执行完整性测量,并且我已经使用以下配置重新编译了新内核:

CONFIG_SECURITY=y
CONFIG_SECURITYFS=y
CONFIG_INTEGRITY=y
CONFIG_IMA=y
CONFIG_IMA_MEASURE_PCR_IDX=10
CONFIG_IMA_AUDIT=y
CONFIG_IMA_LSM_RULES=y
CONFIG_IMA_WRITE_POLICY=y
CONFIG_IMA_READ_POLICY=y
CONFIG_IMA_APPRAISE=y
CONFIG_IMA_APPRAISE_BOOTPARAM=y
CONFIG_HW_RANDOM_TPM=y
CONFIG_TCG_TPM=y
CONFIG_TCG_TIS_CORE=y
CONFIG_TCG_TIS=y

但 ima 由于某种原因仍然没有检测到 TPM 并给出错误:

enter image description here

我做了一些研究,发现这可能是因为 ima 在 TPM 之前被初始化,所以我也尝试编译另一个版本的内核,在那里我更改了 devices/clk 中的代码行/bcm/clk-bcm2835: 来自:

postcore_initcall(__bcm2835_clk_driver_init);

subsys_initcall(__bcm2835_clk_driver_init);

但是还是不行。 请帮忙!

解决方法

您走在正确的道路上,我相信缺少的是 SPI 和 TPM 内核模块必须配置为内置。查看此 doc 了解详细步骤。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...