TPM 是不是也在运行时进行测量?

Posted

技术标签:

【中文标题】TPM 是不是也在运行时进行测量?【英文标题】:Does TPM also takes measurements at run time?TPM 是否也在运行时进行测量? 【发布时间】:2016-03-01 21:21:28 【问题描述】:

我了解到 TPM 会测量所有关键组件,并在启动时将其哈希值写入其 PCR 寄存器。

TPM 是否也在运行时或在这些组件运行期间进行测量?

【问题讨论】:

【参考方案1】:

TPM 本身根本不进行任何测量。也不在启动时。这是一个启用信任的代码片段可以以防篡改方式存储测量值的地方。

在启动期间,固件(Bios、UEFI)会进行测量并存储在 TPM 中。可以通过在固件完成后进行额外测量的方式配置您的系统。就像一个受信任的引导加载程序。

如果您有兴趣将信任链进一步扩展到每个已执行的代码位,IBM 的Integrity Measurement Architecture 等项目值得一看。但是,我认为这些测量毫无意义。你用这些做什么?很少有您可以真正验证某个测量链是否可信的情况。

您还可以编写自己的软件来存储任何给定时间的测量结果,或使用jTSS、TrouSerS 或IBM's libtpm tools 等工具。

【讨论】:

感谢您的澄清。我开始了解基于 Linux 的工具,称为可信启动 (tboot) sourceforge.net/projects/tboot 似乎该工具仅在启动时测量哈希值并填充 TPM PCR 值。你知道任何可以在运行时进行测量的工具吗?

以上是关于TPM 是不是也在运行时进行测量?的主要内容,如果未能解决你的问题,请参考以下文章

在测量性能时是不是需要防止抢占

如何启用 TPM 测量启动并在 Windows 10 中查看 pcr 值? [关闭]

如何测量 C# 控制台应用程序运行时间?

测量运行时python中每行花费的时间

测量程序启动时动态链接所花费的时间?

在没有所有者密码的情况下清除 TPM