远程验证执行中的应用程序

时间:2013-10-27 00:42:57

标签: intel tpm trusted-computing

是否有可能向远程方证明我在我的系统中运行的应用程序与我声称我正在使用DRTM或SRTM运行相同?如果是,那么如何?

1 个答案:

答案 0 :(得分:2)

理论上:是的。这个概念称为远程证明。

基本思想是:首先,您的平台上建立了健全的信任链,例如:

BIOS  ==>  Boot loader  ==>  OS  ==>  Applications

得到的测量值存储在PCR中。

现在,您可以让TPM签署这组PCR,即quote

您可以将此报价提交给远程实体。这里的问题开始了:

  1. 如何证明报价是由硬件TPM而非模拟器签署的?

    可能的解决方案:预共享密钥或某种CA.

  2. 如何确定PCR值代表可信系统状态?

    那并不容易。如果你有SRTM,你必须考虑每种可能的组合 系统如何加载组件。例如。在BIOS阶段,顺序是 选项ROM加载?

    在这里,DRTM来救援,但这让事情变得更加轻松。使用DRTM 你可以忘记所有DRTM前的东西。如果您有一个小的可信环境, 比如 flicker ,那么你将拥有一套可管理的可信配置。 如果你有一个功能齐全的操作系统,那就太难了。

    首先,你必须找到一个测量一切的操作系统。 IBM的IMA用于Linux 内核就是一个例子。

    然后,加载组件顺序的最微小差异将导致 不同的PCR值。进一步考虑所有状态的组合 可能有不同的已安装软件包。

    可能的解决方案是限制代表a的可能的PCR值集 有效配置。例如,您可以测量整个操作系统映像而不是每个映像 二进制文件。一个例子是几年前发布的acTvSM platform

  3. 结论:没有简单的现成解决方案,但您可以设计一个符合您要求的系统。