TPM 2.0规范解读系列——Part 1体系结构第(一)读:几个概念

11 篇文章 2 订阅
11 篇文章 5 订阅

前言

TPM 2.0第1部分包含对TPM属性、功能和方法的叙述描述。本篇主要基于TPM 2.0规范Part 1的第9章(Trusted Platforms)的内容,对几个重要的概念进行解释。



一、可信构建块(Trusted Building Block, TBB)

可信构建块(TBB)是实例化可信根(信任根)所需的组件或组件集合。 通常,特定于平台的TBB是没有屏蔽位置的可信根的一部分。

TBB的一个例子是CRTM(核心可信度量根),CRTM是存储和主板之间的连接,CRTM存储和CPU之间的路径,TPM和主板之间的连接,以及CPU和TPM之间的路径。 此组合包括RTR(可信报告根)。

TBB是一种行为不会损害受信任平台目标的组件。

二、可信计算基(Trusted Computing Base, TCB)

可信计算基(TCB)是负责维护系统安全策略的系统资源(硬件和软件)的集合。 TCB的一个重要属性是,它能够防止自己受到不属于TCB的任何硬件或软件的损害。

TPM不是系统的可信计算基础。 相反,TPM是一个组件,它允许一个独立的实体确定TCB是否已被破坏。 在某些情况下,如果TCB不能正确实例化,TPM可以帮助防止系统启动。

三、信任边界(Trust Boundaries)

可信构建块(TBB)和可信根(Root of Trust)的组合形成了一个信任边界,在这个边界内,可以通过最小的配置完成测量、存储和报告。 在更复杂的系统中,CRTM可能需要建立对其他代码的信任,方法是对其他代码进行度量,并将度量结果记录在PCR中。

  1. 如果CRTM将控制转移到其他代码,无论度量结果如何,那么信任边界都会扩展。
  2. 如果CRTM不运行该代码,除非它的度量值是期望值,那么信任边界保持不变。

因为被度量的代码是CRTM的预期扩展。

四、传递信任(Transitive Trust)

传递信任是这样一个过程:信任根建立可执行功能的可信性,然后利用对该功能的信任来建立下一个可执行功能的可信性。
传递信任可以通过以下两种方式实现:

  1. 知道某个功能在允许后续功能控制TCB之前实施了可信策略。
  2. 使用后续功能的度量——独立评估以建立信任。

TPM可以支持这两种方法中的任何一种。

五、信任权威(Trust Authority)

所谓信任权威,是指信任根自身的可信性如何保证的问题。
当RTM开始执行CRTM时,能够保证TBB正确性的实体就是创建TBB的实体。 对于典型的系统,这是平台制造商。 换句话说,制造商是使得TBB有效的权威,它的声誉使人们能够信任给定的TBB。

当系统转换到CRTM之外的代码时,通过对代码的度量来维护可传递的信任链。 如果代码的执行与否取决于它的度量,那么代码的权威保持不变。 也就是说,只要平台制造商的CRTM不在CRTM之外运行代码(除非该代码具有特定的测量值),那么无论谁提供了该代码,平台制造商都仍然是可信的权威。

在现代体系结构中,固件和软件组件来自许多不同的供应商,对于平台制造商来说,了解在一个平台上运行的所有代码的签名者通常是不可行的。 因此,他们可能不会在平台上保持很长时间的权威。 记录在RTS中的测量结果确定当前系统状态的(信任)权威链。

两种不同的方法允许对平台的信任权威进行评估。

  1. 代码被度量(哈希),它的值被记录在RTS中。如果代码运行(而不考虑它的度量),则信任的权威是RTR报告的代码摘要。 也就是说,度量证明了自己——验证者既需要知道构成可信代码的度量,也需要知道表明恶意代码或易受攻击代码的度量。
  2. 代码被签名后,便可以知道代码的权威的身份。 如果这个身份被记录在RTS中,则评估方式可以被改变。 它可以基于代码签名者的身份,而不是基于对代码摘要的了解。

两种提供信任权威的方法通常混合使用,且通常需要支持信任撤销。

六、可信平台模块(TPM)

TPM是一个系统组件,其状态与它所报告的系统(主机系统)是分离的。 TPM与主机系统之间的惟一交互是通过本规范中定义的接口进行的。

TPM直接或间接地在物理资源上实现。 可以使用永久和专门用于TPM的物理资源构造TPM,和/或使用临时分配给TPM的物理资源。 一个TPM的所有物理资源可能位于相同的物理边界内,或者不同的物理资源可能位于不同的物理边界内。实现方式可分为两种:

  1. 一些TPM被实现为使用低性能接口(如Low Pin Count, LPC)连接到系统(通常是PC)的单芯片组件。 TPM组件包含处理器、RAM、ROM和Flash memory。 与这些tpm的惟一交互是通过LPC总线。 主机系统不能直接修改TPM内存中的值,只能通过接口的I/O缓冲区进行修改。
  2. TPM的另一种合理实现是,当处理器处于特殊执行模式时,让代码在主机处理器上运行。 对于这些TPM,系统内存的一部分是由硬件划分的,因此TPM所使用的内存一般是不能被主机处理器访问的,除非它处于这种特殊模式。 有几种不同的方法可以实现这种模式切换,包括系统管理模式、信任区域处理器虚拟化。

定义主机和TPM之间的交互是本规范的主要目标。 指定的命令指示TPM对TPM保存的数据执行指定的操作。 这些命令的主要目的是确定平台的信任状态。 TPM实现其目标的能力取决于可信根的正确实施。

总结

本文主要对几个基本概念进行了解释,最后引出“可信平台模块(TPM)”,了解这些概念是我们学习TPM规范和理解TPM理论逻辑的基础。
下一篇文章将会详细阐述TPM信任的核心——可信根

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值