TPM 引导过程

信息安全 Rootkit 可信计算 开机
2021-09-02 02:39:24

假设 PC 操作系统和用户数据所在的文件分区由许多专用于 BIOS 测量的 PCR(平台配置寄存器)密封。如果 BIOS 被 root 工具包感染,在引导过程中会发生什么?

使用 TPM 引导信任:
当机器开机时,用于测量的信任根自动测量 BIOS,并使用该测量扩展 TPM 内的 PCR 寄存器。然后,控制权转移到 BIOS。接下来,BIOS 会在将控制权转移给引导加载程序之前对其进行测量。该过程继续加载操作系统内核。然后内核在将控制权转移给它之前测量所有加载执行的代码。

这意味着,BIOS 的第一次认证(计算的哈希值与以前不同,因为 BIOS 被 root 工具包感染)将失败。因此控制权没有转移到引导加载程序并且操作系统不会启动?

1个回答

TPM 不会停止引导。引导仍将继续,但 PCR 中的值将与以前不同(因为现在 BIOS 与以前不同)。结果,系统将无法解封密封的数据。当然,如果引导加载程序或内核无法解封密封分区,取决于它的写入方式,它可能无法在不访问密封数据的情况下继续执行。

背景:当您密封数据时,数据会在与 TPM 的特定状态关联的密钥下加密。随后,您只能在 TPM 处于相同状态时解封数据。当我说“状态”时,我指的是 PCR 的状态。

示例:假设您使用 BitLocker 加密您的驱动器。BitLocker 会密封硬盘驱动器上的数据,这些数据与 TPM 的特定状态相关联(即,与特定 BIOS、引导加载程序和内核相关联)。现在假设您稍后更改 BIOS。那么启动后 TPM 的状态会有所不同。BitLocker 将不再能够解封数据,并且您将无法再访问硬盘驱动器上的数据。您需要使用 BitLocker 的恢复密钥来访问您的数据。如果你忘记了你的恢复密钥……好吧,你真是太糟糕了。

更多信息:

  • 可信平台模块 (TPM) 和密封存储布莱恩·帕诺,2007。

  • 使用 TPM 了解和配置 BitLocker,Microsoft 认证专业杂志,2008 年。(请特别参阅“BitLocker 恢复密码”部分。)

  • Anti Evil Maid , Joanna Rutkowska, 2011。(特别是前几段,她解释说 TPM 不能阻止对 BIOS 的修改;它只能回顾性地检测到有修改。到那时,它将拒绝允许修改后的软件可以访问被先前软件密封的密封数据。)