文章横幅PC版
文章横幅iPad版
文章横幅手机版

可信计算包括什么

TIME:2019-03-21 14:32  click: 1074 次 来源: 未知

从目的上来看,可信计算就是在进行运算的同时进行安全防护,使计算结果总是和预期的一样,计算过程可测可控、不被干扰,从而保证平台的可信。从实现方式上讲,可信计算是以TPM或者TCM硬件芯片为可信根,可信根中存储原始度量值,这个度量值基于硬件保护,恶意程序无法篡改。在此基础上,从可信度量根开始,由系统加电层层度量,形成一条完整的可信链,直到整个计算机操作系统成功启动。从工作方式上看,操作系统启动过程中的度量为静态度量,它用于保证操作系统基础环境的完整可信;与之相对的是动态度量,它用于保证操作系统及应用程序在运行过程中的安全可靠。

可信计算平台包括以下几个部分:硬件TPM、可信软、件栈(TSs)、信任根和信任链机制、度量存储报告机制等。

(1)硬件TPM

TPM芯片是可信计算平台的信任根(可信存储根和可信报告根),一方面存储度量值,另一方面向上层提供安全性报告。之所以使用硬件芯片,一方面是因为硬件芯片处理速度快,能提高效率;另一方面是因为只要是软件就有漏洞,就有被绕过或者利用的可能,硬件可以较好地保障安全性。

其中1O部件完成总线协议的编码和译码,并实现TPM与外部的信息交换。密码协处理器用来实现加密、解密、签名和验证签名的硬件加速。

TPM采用RSA密码算法,也允许使用ECC或者DSA等密码算法。HMAC引擎是实现基于SHA-1的Hash函数消息认证码HMAC的硬件引擎。SHA-1引擎是Hash函数SHA-1的硬件执行引擎。密钥产生器用于产生RSA密钥对。随机数发生器是TPM内置的随机源,用于产生随机数。电源检测部件管理TPM的电源状态。执行引擎包含CPU和相应的嵌入式软件,通过软件的执行来完成TPM的任务。非易失性存储器主要用于存储嵌入式操作系统及其文件系统,存储密钥、证书、标识等重要数据。易失性存储器是用于TPM内部工作的存储器。

(2)可信软件栈(TSS)

TSS可信软件栈是可信计算平台上TPM的支撑软件。其主要功能是为操作系统和应用软件提供使用TPM的应用接口。TSS可以分为TSS服务提供层、TSS核心服务层和TSS设备驱动库,各个层次都定义了规范化的接口。TSP主要作为本地与远程应用的可信代理,TCS用于提供公共服务的集合,而TDDL负责与TPM的交互。

内核模式进程的核心软件是TPM设备驱动程序模块,它是直接驱动TPM的软件模块,由TPM的嵌入式操作系统确定。用户模式进程的核心软件是TSS设备驱动程序接口(TDDI)和TSS核心服务接口(TCSI)。其中TDDI是一个与TPM设备驱动程序进行交互的API库以方便与TPM的交互。例如,向TPM发送数据或者从TPM接收数据,查询TPM的状态等。TSS核心服务的主要功能是管理TPM的资源,例如上下文管理、密钥和证书管理、事件管理和TPM参数块产生等。用户程序层的核心软件是TSS服务提供者,TSP给应用提供最高层的API函数,以共享对象和动态链接库的方式被应用程序调用,使应用程序何可方便地使用TPM。工作流程如下:应用程序将数据和命令通过TSS服务提供的接口发给TSS服务提供者,TSS服务提供者处理后通过TSS核心服务接口再传给TSS设备驱动接口。TSS设备驱动接口处理后传给TPM设备驱动程序。TPM设备驱动程序处理并驱动TPM。TPM给出的响应反向经TPM设备驱动程序、TSS设备驱动程序接口、TSS核心服务接口、TSS服务提供者传给应用。

(3)信任根和信任链机制

信任根是可信计算机系统的基点。根据TCG的定义,一个可信计算平台必须包含三个信任根:可信度量根、可信存储根和可信报告根,分别用于对计算平台的可信性进行度量,对度量的可信值进行存储,当访问客体询问可信状态时提供报告。这一机制称为度量存储报告机制,这是可信计算机系统确保自身可信,并向外提供可信服务的一项重要机制。可信度量根是对平台进行可信度量的基点。可信存储根是平台可信性度量值的存储基点。可信报告根是平台向访问客体提供平台可信性状态报告的基点。

1) 度量

可信计算技术以BIOS Boot Block和TRM芯片为根,其中BIOS Boot Block是可信度量根TRM,TRM芯片是可信存储根RTS和可信报告根RTR。从BIOS Boot Block出发,经过BlOs,到 OSloader,再到OS,构成了一条信任链。沿着这个信任链,一级度量一级,从而确保整个平台系统资源的完整性。

对信任链的度量采用度量其中软硬件程序数据完整性的方法。而对系统数据完整性的度量,则采用密码学Hash函数来检测系统的数据完整性是否受到破坏。这需要在系统处于良好状态时(通常是系统初始化完成时),以其Hash值作为度量基准值并将其进行安全存储。在系统启动时,重新计算Hash值,并与基准值进行比较,如果不同,系统完整性被破坏。

2)存储

为了节省成本,TPM芯片只保留了有限的存储空间。为了节省存储空间,TPM采用种扩展计算Hash值的方式来进行信任链的度量,通过一个平台配置寄存器( Plat Configure

Register,PCR)来迭代计算存储信任链中各对象的Hash值,即将现有值与新值相连,再次计算Hash值并被作为新的度量值存储到平台配置寄存器PCR中。

New PCRi=Hash(Old PCri‖New Value)(其中符号‖表示连接)

除了将Hash扩展值存储到平台配置寄存器PCR中之外,还将各种资源的配置信息和操作记录作为日志存储到磁盘中。由于磁盘的存储空间很大并且很便宜,因此可以记录较为详细的日志。值得注意的是,存储在PCR中的Hash值与存储在磁盘中的日志是互相关联印证的。

PCR在TPM芯片内部,安全性高;日志在磁盘上,安全性低。但由于它们彼此的关联印证关系,即使攻击者篡改了磁盘上的度量日志,通过分析TPM中的PCR值也可以发现这种篡改。

3)报告

在度量、存储之后,当访问客体询问时,可以提供报告,供访问客体判断平台的可信状态。向访问客体提供的报告内容包括PCR值和日志。为了确保报告内容的安全,还必须采用加密、数字签名和认证技术。这一功能被称为平台远程证明。

 

上一篇:电子支付安全模型 下一篇:信息安全 不可否认性