3.2 可信计算平台的基本特性
在TCG的定义中,可信是对一个实体为了实现特定的目标而按照特定的方式进行工作的一种期望。这个定义将可信计算和当前的安全技术分开:可信强调行为可预期,但并不等于行为是安全的,这是两个不同的概念。
根据英特尔公司的密码与信息安全专家大卫·格劳洛克(David Grawrock)的说法,如果你知道自己的计算机中有病毒,知道这些病毒会在什么时候发作,了解发作后会产生怎样的后果,同时病毒也确实是这么运行的,那么这台计算机就是可信的。
一个可信计算平台要达到可信的目标,最基本的原则就是必须真实报告系统的状态,同时,决不暴露秘密信息,尽量不表露自己的身份。这就需要三个必要的基础特征:
● 保护能力(Protected Capabilities);
● 对外证明(Attestation);
● 完整性度量、存储和报告。
3.2.1 保护能力
保护能力是一组具有对保护区域进行访问的特定权限的命令,保护区域指的是可在其中安全地操作敏感数据的地方(如内存、寄存器等),是只有保护能力才能访问的数据区域。
TPM实现保护能力和用于保护和报告完整性度量信息的保护区域,这样的保护区域通常体现为平台配置寄存器(PCR,Platform Configuration Register)。
TPM也存储用于对报告提供的度量结果信息进行认证的密钥。
此外,TPM的保护能力还可以包括其他安全功能,如密钥管理、随机数生成、用系统状态封装数据等。
3.2.2 对外证明
定义3.2 对外证明是证明实体完整性相关性质的过程。
外部实体可以对保护区域、保护能力和信任根进行证明。平台可以对影响平台完整性的平台特性的描述进行证明。所有的对外证明都要求证明方提供可靠的证据。
对外证明具有多种不同层面的含义:由TPM提供的证明、对平台进行的证明、由平台进行的证明和平台的认证。
由TPM提供的证明指的是这样一种操作,该操作为TPM所掌握的数据提供证明,实际上,就是使用TPM的工作身份密钥(AIK,Attestation Identity Key)对TPM的特定内部数据进行数字签名。完整性度量结果和AIK本身的可接受性和有效性由某个证明方确定。AIK可以借助TPM的真实身份密钥(EK,Endorsement Key)来生成。
对平台进行的证明指的是这样一种操作,该操作证明平台能够可信地报告完整性度量结果,该操作的实施需要使用平台的相关凭证(Credential)集合或该集合的子集,该操作用于发放AIK凭证。
由平台进行的证明指的是这样一种操作,该操作为平台的一组完整性度量结果提供证明,实际上,就是用TPM的AIK对一组PCR进行数字签名。
平台的认证指的是为平台的身份提供证据,该身份可以与某个用户或其行为有关,也可以无关。平台的认证使用的是不可迁移的签名密钥。已被证明的密钥(即由AIK签名的密钥)拥有“可以被证明”的附加语义。由于有无数的不可迁移密钥与一个TPM关联,所以,可以被认证的身份是无数的。
3.2.3 完整性度量、存储和报告
定义3.3 完整性度量指的是获取影响平台完整性(可信性)的平台特性的度量值并把该度量值的摘要存放到PCR寄存器中的过程。
度量的起始点称为度量的信任根。度量的静态信任根从一个众所周知的起始状态(如上电自检状态)开始度量,度量的动态信任根从一个非可信状态转移到一个可信状态。
定义3.4 完整性存储指的是存储完整性的度量值,以备后用,度量值通常存储在PCR寄存器中。
定义3.5 完整性报告指的是对外证明记录在PCR寄存器中的完整性度量结果的过程。
完整性存储是介于完整性度量与完整性报告之间的步骤。应该进行完整性存储,不然,为了解释PCR寄存器的值,将需要再次进行完整性度量。
完整性度量、存储和报告的理念是:可以允许平台进入任何可能的状态,包括不受欢迎的状态和不安全的状态,但是,不允许平台谎报它所处的状态。可以通过独立的过程来评估完整性状态并确定合理的响应。