动态与静态信任根

信息安全 相信 可信计算 开机 tpm
2021-08-21 18:30:43

在 TCG 规范(针对 TPM 设备)中,它们指定了如何使用安全启动和受信任启动来建立静态信任根。另一种方法似乎是使用英特尔 TXT 技术的英特尔动态启动。我只是想从安全的角度来看哪个更可取,主要区别是什么?谢谢

1个回答

情况很复杂。

两者都是测量的信任根,这意味着它们可用于测量运行环境。

SRTM 的主要问题是您需要保持对整个平台启动顺序(BIOS 配置、第 3 方启动 ROM(例如网卡)等)的测量,这包括大量代码。对此的任何改变都需要新的测量。

DRTM 的目的是通过提供在系统运行时从头开始执行代码的能力(无需像 SRTM 那样重新启动)来避免所有这些。然而,事实并非如此,因为 TXT 容易受到恶意SMM(系统管理模式 / ring -2)或 Intel 的ME/AMT(管理引擎 / Active Management Technology / ring -3)的攻击。简而言之,这意味着 SMM 和 ME 代码没有与后期启动隔离,并且恶意代码可以访问已测量的启动环境,即使它没有被测量 - 不是一个真正干净的石板。

这些是仅由研究人员 (ITL) 证明的非常复杂的攻击,但它们是可能的。我这么说是因为他们仍然认为 TXT 是有价值的,即使它很脆弱。

可以推荐使用 SRTM 和 DRTM 来测量 SMM 代码,因为它包含在 SRTM 测量 (PCR 0-1) 中。从理论上讲,这将确保您几乎不需要维护 SRTM,并且代码确实来自制造商......但这并不意味着它不是恶意的(例如 computrace?)。

据我所知,Intel ME/AMT 无能为力。如果有人发现新漏洞并插入恶意软件,安全模型就会中断。请记住,据说这非常困难。此外,自从 ITL 的研究/攻击以来,英特尔的 ME 安全模型得到了改进。

总之,DRTM 不能比 SRTM 更安全使用它们可能是最好的设置。假设没有缺陷,这意味着您需要信任英特尔(这是给定的)和平台制造商(BIOS/SMM)。这可以通过Tboot使用 TXT 轻松完成:使用 PCONF (0-1)、SINIT (17) 和 MLE 策略 (18))。看到这个

有关SRTM 和 DRTM 工作原理的概述,请参阅此内容。