由于互联网所具有的信息共享,使用便利等特点已经使它成为人们生活的一部分,互联网已经成为信息传输和资源共享的主要载体。但是,随着互联网与各种利益关联越来越紧密,使得安全威胁与安全使用的矛盾愈加尖锐。在网络环境中,每个人都想知道自己的电脑在经过一段时间的网络活动后是否还可以继续相信它没有被黑客利用;网络服务提供商也非常想确认在允许一个终端接入到它的服务系统前,这个终端是否可信;网上银行的客户也希望知道在他把钱通过网络汇入一个银行的服务系统时,这个系统能否被客户所信任;云计算的使用者同样非常关心云计算的服务器是否可信。由此可见,在分布式计算环境中对于主机的安全性要求越来越高,针对这种情况,如何证明相互通信的终端安全可信,已经成为计算机安全领域中研究的重要课题,计算平台可信证明(Remote Attestation)技术正是针对于该课题的前沿研究方向。
近年来,可信计算技术迅速发展,通过利用这些技术能够在本地主机上建立一套可信的运行环境,为应用提供保障。由微软、HP、IBM等多家IT大公司发起的国际可信计算组织(TCG,Trusted Computing Group)已联合了世界数百家企业,共同制定了一系列与可信计算相关的标准,这些标准中包括可信计算模块(TPM,Trusted Platform Module)、可信软件栈(TSS, Trusted Software Stack)、可信计算平台等内容。其中,TPM是可信计算技术中的基础,它是嵌入在硬件平台上的安全芯片,其内部预置了一个支撑安全体系的密钥树的存储根。通过合理利用各种可信计算技术,能够实现以TPM可信根为起点,逐步扩展到整个硬件平台,构建基于硬件的信任链,最终完成从底层硬件到上层系统的可信传递。通过上述方法能够有效的在本地主机上搭建起一套可信的计算环境,但是,对于与其通信的外部主机而言并不能确定其具备可信的计算环境,更不能确定与其通信是否安全,这个问题尤其在网络环境中(如P2P,网格计算等)更加明显。另外,可信证明机制也是TCB的重要部分,证明机制能与度量机制、控制机制共同协作来为计算平台提供基础的安全服务。证明机制通过度量机制对计算平台关键属性进行度量,然后根据度量得到的度量值和系统实施的规则,可以推断出计算平台是否可信的结论。另外,利用远程证明技术外部的质询方能够根据证明方安全属性等内容的度量来判断出证明方是否具备可信状态,质询方可以根据证明方的状态来提供相应的服务,另外,也可以对不可信的主机进行隔离。因此,通过研究证明机制能够为保障计算平台的安全可靠提供依据,并且利用可信远程证明技术能够有效的解决网络环境中通信主机是否可信的证明问题,在一定程度上有利于改善网络环境的安全威胁状况。
可信计算是当前信息安全领域的研究热点,证明问题是可信计算最为重要的问题之一。因为可信基于证明,只有证明才能在不可信的环境中建立信任关系。国内外可信计算技术的迅速发展也促使对于证明问题研究的不断深入,这些研究工作所涉及的范围非常广泛,从计算平台到应用程序,从整体架构到具体协议,从上层系统到底层硬件都被包含到了可信证明的研究中。TCG提出的远程证明(Remote Attestation)的概念使得对于证明问题的研究就成为信息安全领域中前沿热点问题。在TCG规范中,证明(Attestation)是可信计算平台的三个基础特征之一。针对平台身份和平台配置状态的验证,TCG将证明分为两种形式,其一是针对平台身份的证明(Attestation of Identity)。一个平台可以通过提供与平台相关的证书来证明平台是可以被信任的实体。背书证书是平台相关证书的一种,其作用是提供平台嵌入有合法的TPM的证据。另外一种是对平台配置信息的证明,称为对平台的证明(Attestation of Platform),是一种报告计算平台配置寄存器(Platform Configruation Rigester,PCR)中完整性度量值的机制。在TCG规范中所描述的证明过程中,TPM使用保存在其中的RSA签名算法中的私钥签名PCR值,并且将度量报告一起发送给质询方。质询方使用公钥获取PCR值,并且利用度量报告重新计算PCR值,然后与获得的PCR值进行比较,以此来证明计算平台的完整性是否被破坏。然而,TCG架构下的证明方案不能够适应复杂的计算环境,阻碍了可信计算在分布式环境中的发展。随后,针对于TCG证明方案存在的问题先后有大批科研工作者进行了大量研究工作,这些努力将证明问题从简单的基于二级制的证明方法逐步发展为更加适合复杂环境下的基于动态特征的证明问题研究。对于证明问题,美国国家安全局(National Security Agency,简称NSA)也高度重视,针对当前TCG中证明方案缺乏灵活性等不足,NSA在技术报告《Attestation:Evidence and Trust》中重新定义了证明方案的框架和原则,给出了设计证明系统的参考方案.
对于可信证明过程而言,证明方需要提供与可信性相关的可信证据,可信证据包括证明方的实际行为,证明方的完整性信息等内容,而质询方在获得可信证据后,需要与预期的行为或者完整性信息进行验证,根据验证的结果推理出证明方是否具备可信性。简单说,可信是目标,证明是手段,例如用户希望知道远端或者本地计算机是否可信,通过证明技术作为达到这种目标的手段途径。