TPM 2.0第1部分包含对TPM属性、功能和方法的叙述描述。
本篇主要基于TPM 2.0规范Part 1的第9章(Trusted Platforms)的内容,对几种可信根概念进行解释。这里要提示大家的是,可信根概念的划分是逻辑划分,与之对应的实体并不是棱角分明的,因此不用对概念做过多的纠结,理解思想即可。
TCG定义的方法依赖于可信根。 这些可信根是必须信任的系统元素,因为可信根中的不当行为是无法被检测到的。 TCG所需的根集提供了描述影响平台可信度的特征所需的最小功能集合。
虽然无法确定可信根是否行为正确,但可以知道根是如何实现的。证书提供了确保可信根由一种可信任的方式实现的保证。 例如,证书可以标识TPM的制造商和评估保证水平(Evaluated Assurance Level, EAL)。 此认证提供了对TPM中实现的可信根的信任。 此外,来自平台制造商的证书可以保证TPM已正确安装在符合TCG规范的机器上,因此平台提供的可信根很可能是可信的。
TCG要求在一个可信平台上需要三个信任根:
对可信根的信任可以通过多种手段实现,但预计将包括主管专家的技术评价。
RTM向RTS发送与完整性相关的信息(度量值)。 通常,RTM是由可信度量核心根(CRTM)控制的CPU。 CRTM是建立新的信任链时执行的第一组指令。 当系统复位时,CPU开始执行CRTM。 之后CRTM向RTS发送指示其身份的值。 这为信任链建立了起点。
简而言之,分为两种情况:
一句话,TPM中用于可信度量的组件(软件和硬件)就叫可信度量根。
这里还有一个重要概念CRTM(可信度量核心根)。CRTM和RTM的区别主要在用途上:CRTM是平台上初始执行的一段被信任的代码(如BIOS),它是可信构建块(TBB)的一个(重要组成)部分;RTM是可信状态下具备控制权的平台CPU(假定是独立的硬件TPM)。这两个概念的使用场景不同,可以说CRTM是RTM的基础和条件,两个概念不具备可比性。
TPM存储对TPM以外的任何实体屏蔽访问。 由于TPM可以被信任(防止对其内存的不当访问),所以TPM可以充当RTS。
TPM内存中的一些信息是非敏感的,TPM不保护它们(不被泄露)。 非敏感数据的一个例子是包含摘要的平台配置寄存器(PCR)的当前内容。 其一些他信息是敏感的,TPM不允许在没有适当权限的情况下访问这些信息。 屏蔽位置中敏感数据的一个示例是非对称密钥的私有部分。
有时,TPM使用一个屏蔽位置的内容来决定是否允许访问另一个屏蔽位置。 例如,对用于签名的私钥的访问(使用)可能取决于PCR具有特定的值。
一句话:可以屏蔽TPM外部实体访问TPM存储的实体就叫可信存储根。一般情况下,可信存储根就是TPM本身。
可信报告根报告可信存储根的内容。 RTR报告通常是TPM中所选值内容的数字签名摘要。
说明:并非所有“屏蔽位置”都可直接访问。 例如,密钥和授权的私有部分的值位于TPM不会报告的屏蔽位置。
RTR报告通常所包含的值: >
•PCR中平台配置的证据(例如,TPM2_Quote())
•审计日志(如TPM2_GetCommandAuditDIgest ())
•关键属性(如TPM2_Certification())>
RTR和RTS之间的相互作用至关重要。 这种交互的设计和实现能够降低妨碍RTR报告准确性的干扰。 RTS和RTR的实例化将会:
种子可以用来生成多个非对称密钥,所有这些密钥都代表相同的TPM和RTR。
TPM包含RTR密码可验证的身份。 这种身份是以来自同一种子的非对称的其它形式(背书密钥)的形式出现的。 每个种子值及其别名在统计学上对于一个TPM应该是唯一的。 也就是说,两个TPMs具有相同EK的概率应该是微乎其微的。
种子可以用来生成多个非对称密钥,所有这些密钥都代表相同的TPM和RTR。
TPM通过引用PCR值来报告平台的状态。 为了保证这些PCR值能够准确反映这种状态,有必要建立RTR和平台之间的结合。 平台证书(Platform Certificate)以提供此绑定的证明。 平台证书是来自认证机构的平台(RTM)和RTR之间物理绑定的保证。
EK的唯一性及其密码可验证性引发了直接使用该身份是否会导致活动日志聚合的问题。 对聚合活动的分析可能会揭示出平台用户本来不会批准向聚合者分发的个人信息。
为了防止不必要的聚合,TCG鼓励使用特定于域的签名密钥,并限制使用EK。 隐私管理员控制EK的使用,包括将另一个密钥绑定到该EK的过程。
这段的意思是说,EK一般不直接使用,而根据不同应用场景生成新的密钥来证明平台的身份。
注:隐私管理员对EK的控制与所有者对RTS的控制不同,后者提供了TPM的安全和身份使用的分离。
除非EK是由可信实体认证的,否则它的信任和隐私属性与任何其他可以通过纯软件方法生成的非对称密钥没有什么不同。 因此,就其本身而言,EK的公开部分并不敏感。
一句话:TPM中生成可信报告的部件就是可信报告根。
以上就是今天要讲的内容。本文介绍了TPM规范中定义的3种可信根,分别是:可信度量根、可信存储根和可信报告根。其中,可信度量根的一个实例是“CRTM控制的CPU”,可信存储根的一个实例是“TPM模块”,可信报告根可以理解成TPM中生成可信报告(如PCR寄存器值、审计日志和关键属性等)的部件。
下一篇我们将探讨基础可信平台模块的特点。