插入 USB 磁盘后无法启动 TPM

插入 USB 磁盘后无法启动 TPM

重新启动时,插入 USB 记忆棒后,TPM 将不允许服务器的无密码启动。通过插入 USB HDD,可以实现服务器的无密码启动。

我们的服务器运行的是 Centos 8.3,Linux 内核版本为 4.18.0-240。 TPM2 模块与 LVM 组的 LUKS 版本 1 加密一起使用,该 LVM 组由多个分区(包括 / /home 交换区等)组成。LUKS 标头插槽 0 用于密码,插槽 1 用于 TPM。

LUKS 标头插槽 1 绑定到 PCR 值 0、1、2 和 3。因此 BIOS (0)、BIOS 配置 (1)、选项 ROM (2) 和选项 ROM 配置 (3)。

据我了解,Options ROM 由 POST 启动过程中加载的固件组成。如果 TPM 签名时系统状态发生任何更改,TPM 将不允许系统在没有密码的情况下启动。由于 USB 记忆棒具有可能在启动过程中加载的固件,因此我最初认为仅绑定到 PCR 值 0 和 1(即没有选项 ROM)就可以解决问题。这不起作用。

任何关于为什么它无法从连接 USB 记忆棒的 TPM 启动的建议将不胜感激。

答案1

我们已经弄清楚插入 U 盘并重新启动系统后 PCR 值会发生变化。通过不绑定到该 PCR 值,我们成功地在插入 USB 记忆棒的情况下启动了 TPM。

在我们的例子中,当插入 USB 记忆棒并重新启动系统时,PCR 1(BIOS 配置)不断变化。

我们用来查询 PCR 值的命令是tpm2_pcrread。这列出了 sha1 和 sha256 中的 PCR 值。我们将 PCR 值的标准输出重定向到更改前后的文件,并使用diff命令监视每个文件之间的更改。

相关内容