重新启动时,插入 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)、Options ROM (2) 和 Options ROM 配置 (3)。
从我读到的选项 ROM 包含在 POST 启动过程中加载的固件。如果在签署 TPM 时系统状态发生任何更改,TPM 将不允许系统在没有密码的情况下启动。由于 U 盘的固件可能会在启动过程中加载,我最初认为只绑定到 PCR 值 0 和 1,即没有选项 ROM,可以解决问题。这没有用。
任何关于为什么它不能从带有 USB 记忆棒的 TPM 引导的建议将不胜感激。
我们已经确定了在插入 USB 记忆棒并重新启动系统后哪个 PCR 值发生了变化。通过不绑定到那个 PCR 值,我们设法在插入 USB 记忆棒的情况下启动了 TPM。
在我们的例子中,当插入 USB 记忆棒并重新启动系统时,PCR 1(BIOS 配置)不断变化。
我们用来查询 PCR 值的命令是
tpm2_pcrread
. 这列出了 sha1 和 sha256 中的 PCR 值。我们将 PCR 值的标准输出重定向到更改前后的文件,并使用diff
命令监控每个文件之间的更改。