[计算机软件及应用]TCG体系结构概述.doc

上传人:sccc 文档编号:4561660 上传时间:2023-04-27 格式:DOC 页数:65 大小:1.30MB
返回 下载 相关 举报
[计算机软件及应用]TCG体系结构概述.doc_第1页
第1页 / 共65页
[计算机软件及应用]TCG体系结构概述.doc_第2页
第2页 / 共65页
[计算机软件及应用]TCG体系结构概述.doc_第3页
第3页 / 共65页
[计算机软件及应用]TCG体系结构概述.doc_第4页
第4页 / 共65页
[计算机软件及应用]TCG体系结构概述.doc_第5页
第5页 / 共65页
点击查看更多>>
资源描述

《[计算机软件及应用]TCG体系结构概述.doc》由会员分享,可在线阅读,更多相关《[计算机软件及应用]TCG体系结构概述.doc(65页珍藏版)》请在三一办公上搜索。

1、 体系结构概述TCG体系结构描述目 录1.本文描述范围和读者12.什么是TCG12.1.历史12.2.任务12.3.目标13.TCG的适用环境13.1.风险管理13.2.资源管理23.3.电子商务23.4.安全监控和紧急响应34.TCG体系结构34.1.可信平台的基本特性44.1.1.保护功能44.1.2.证明(签名)44.1.3.完整性的测量、存储和报告54.2.可信平台64.2.1.可信平台的构建模块64.2.2.可信边界74.2.3.可信传递74.2.4.完整性测量84.2.5.完整性报告94.2.6.通讯的端点TPM164.2.7.保护存储174.3.可信平台模块(TPM)部件214.

2、3.1.分离部件224.3.2.通讯接口234.3.3.防篡改(攻击)封装244.4.安全性的考虑244.4.1.TCG保护什么?244.4.2.TCG如何保护(平台的身份信息)?254.5.TCG执行模型254.5.1.TPM的运行状态(operational states)254.5.2.平台操作294.5.3.与TPM的接口和软件服务304.6.TCG编程接口424.6.1.命名约定424.6.2.命令序号及排序434.6.3.TCG命令及接口的总述455.TCG安全评估模型525.1.评估的语境525.2.评估的目标545.3.评估过程555.3.1.评估的输入555.3.2585.4

3、.认证595.4.1.已鉴定的产品的名单595.4.2.认证权威起源于哪里?595.5.鉴定595.5.1.保护profile作为安全策略605.5.2.Site-Specific(指定位置)的安全性政策605.5.3.鉴定和证明605.6.TCG规格说明的一致性606.TPM的制造及支持的implication616.1.抵制窜改的封装616.2.域升级616.3.国际密码系统的进口和出口616.4.密钥管理基础设施617.术语表622供内部使用 体系结构概述1. 本文描述范围和读者略2. 什么是TCG2.1. 历史略2.2. 任务通过计算机平台、软件和技术服务提供商的协作,共同为消费者开发

4、出一个基于增强了可信计算能力的硬件和操作系统的计算机平台标准。2.3. 目标TCG将发表在多种计算机平台上如何建立可信计算体制的执行规范及定义,包括:体系结构、功能、界面等。对于特定的计算平台,如:PC,PDA,蜂窝电话及其他计算设备,TCG将发表更详细的执行规范。基于TCG标准的计算平台,将符合更高可信标准的功能和可靠性标准。TCG将发表评估标准和准确的平台结构作为使用了TCG技术的设备的评估尺度。(可信计算系统)在投入使用后同样需要持续的操作完整性维护以达到可信度的持续改良。TCG将推荐系统投入使用后的(改良)程序和方法。3. TCG的适用环境3.1. 风险管理风险管理的目的是尽量减少信息

5、资源由于恶意攻击或偶然疏忽而造成的丢失或暴露。风险管理可以帮助评估和降低风险。风险管理的一个功能就是弱点评估。信息资源的拥有者希望清楚地知道他们所采用的保护资源的技术并且可以评估与此保护机制相关的弱点。TPM可信计算平台的“保护存储”技术可以用于降低信息资源丢失的风险。保护存储技术用于安全保护公、私钥和对称密钥,因为它们特别容易丢失,原因是窃取到它们就可以访问大部分的信息资源。由于TPM的“保护存储”机制是在一个孤立的子系统中实现的,密钥就可以减少受攻击的可能。TPM中保护信息资源的方法主要有:A 利用散列函数来探测完整性的丢失;B 用公钥和秘密密钥加密信息以防止未经授权的信息泄漏;C 使用数

6、字签名来验证传输的数据的正确性。由于TPM的“保护存储”机制是源于硬件的,因此可以很好的保护密钥、秘密信息和散列值。3.2. 资源管理资源管理试图避免偷窃及非授权的使用计算资源。“资源跟踪”是达到资源管理的有效手段。TPM允许资源管理者设置一个可信计算平台的所有权,从而控制用户执行作业的权限。通过对所有权的控制,TPM可以用于产生并保护系统资源的一致性,资源的一致性是不能物理删除或替换的。同时,我们可以建立资源数据库,从而保证平台的资源信息具有更高的可靠性。在可信平台上,即便信息资源丢失,偷窃者也不能获得对信息资源的访问权,也就不能通过使用或传递这些信息资源而获益。3.3. 电子商务在电子商务

7、中,消费者的诚实度和供应商的可信度是非常重要的因素。如果一个交易顺利完成,则供应商的信任度和消费者的诚实度可以得到确认。这样,如果消费者和供应商都能够重新获得他们正确交易时的文本资料,相互的新的交易就更可能发生。TPM可信计算平台提供了确认一个e-commerce的交易文本的能力。消费者可以确认进行交易时需要选择的参数,而供应商可以通过动态验证其与消费者进行联系时的交易文本,就可以确认消费者的本次消费是重复消费并且信任由消费者管理的属性。TPM可以通过报告平台配置的信息来完成此功能,该信息可以用于确定消费者的联系上下文。该报告是通过加密算法来验证的,因此双方都可以确认电子商务交易是基于先前建立

8、的联系。3.4. 安全监控和紧急响应IT管理者花费大量的时间应付病毒和窃取,紧急响应的队伍必须快速反应来隔离和修复易感染的系统。他们经常需要检查连接在系统中的所有设置和构造以确定哪个系统被修改了。TPM可以保证每个计算机以可信的方式报告其配置参数。平台的引导进程可以进而通过TPM测试系统中的每个器件(软、硬件)并且在TPM内部的PCR中安全保存测量结果。紧急响应的人员可以使用这些测量数据判断哪些计算机更易被病毒攻击;IT管理者可以安装使用TPM中PCR的系统进程,用于在系统引导阶段判断不安全的配置,从而避免由于疏忽进入不安全的模式。4. TCG体系结构作为例子,本文定义了一个一般的TCG体系结

9、构,也称为“参考体系结构”。例如:图4-1显示了一个PC上使用的参考体系结构。参考体系结构用于讨论和阐述各种TCG概念。图4-1所示的PC、PDA、蜂窝电话及其他计算平台的参考体系结构只是用于举例说明,不能用于特定系统的TCG结构分析或执行分析。图4-1 具有可信平台模块(TPM)的PC平台参考图4.1. 可信平台的基本特性在某些特定的用途里,需要一个设备的执行方式是可以信任的。一个可信平台至少需要提供三个基本特性:保护功能,证明,完整性测量和完整性报告。4.1.1. 保护功能保护功能是指只有拥有高级权限的命令集才可以访问屏蔽区域。屏蔽区域是指可以对敏感数据进行安全操作的区域(如内存或寄存器)

10、,这些区域只能通过保护功能来访问。TPM通过执行保护功能和使用屏蔽区域来保护和报告完整性测量的结果(这样的屏蔽区域称为:平台配置寄存器Platform Configuration Registers: PCR)。TPM同时存储了用于证明完整性报告的密钥。TPM保护功能也包括其他的安全功能如密钥管理,随机数发生器,结合系统状态对数据进行密封及其他被TCG成员认为是必要的功能。4.1.2. 证明(签名)证明是一个担保数据准确性的过程。通过证明,外部实体可以鉴别屏蔽区域、保护功能及根信任(Root of Trust)。平台也可以鉴别影响平台完整性(可信度)的平台特征描述。所有形态的证明都需要提供证明

11、的实体(attesting entity)的可信任证据。证明可以有多个层次的涵义:被TPM证明,对平台进行证明,平台提供的证明和平台的验证。被TPM证明是TPM对其已知的数据提供证据的过程。这个过程通过使用身份认证密钥(AIK)对TPM内部的明确数据进行数字签名来实现。验证方决定是否接受并认可数据完整性测量的结果和AIK本身的有效性。通过中立的CA或可信的证明协议可以得到AIK。对平台进行证明是指提供证据证明平台是可以被信任的,既其进行的完整性测量是可信的、此过程使用平台相关的证书集或证书子集,通常是提供一个AIK证书。平台提供的证明是提供一组平台完整性测量数据的证据的过程。这个过程通过使用T

12、PM中的AIK对一组PCR进行数字签名实现。平台的验证提供了一个声明了的平台身份的证据。声明了的身份可能与用户或其执行的任何操作有关或无关。平台的验证通过使用任何不可移植的签名密钥来实现。被鉴定了的密钥(也就是使用AIK进行签名的密钥)在可证明性上有着更多的语义。因为TPM拥有的不可移植的签名密钥的数量不受限制,因此可以被验证的身份的数量也是不受限制的。4.1.3. 完整性的测量、存储和报告完整性的测量由以下步骤实现:1 获得那些影响平台完整性(可信度)的平台特征的测量值;2 存储这些测量值;3 将这些测量值的信息摘要存储在PCR中。测量的开始点称为可信测量的根。一个静态的可信测量的根开始于机

13、器的起始状态(如上电自检)进行的测量。一个动态的可信测量的根是以一个不被信任的状态变为可信状态的测量作为起始点。完整性存储是完整性测量和完整性报告的中间步骤。完整性存储包括了存储完整性测量值的日志和在PCR中存储这些测量值的信息摘要。完整性报告用于证实完整性存储的内容。完整性测量、存储和报告的基本原理是:一个平台可能会被允许进入任何状态,包括不必要的或是不安全的状态,但是平台不能对其是否进入或退出了这种状态进行隐瞒和修改。一个独立的进程可以对完整性的状态进行评估并据此作出正确的响应。4.2. 可信平台在TCG系统中,根信任是那些必须给予信任的部分,因为这些部分的不良性能是无法被检测到的。一个完

14、整的根信任集合至少要包含用于描述影响平台可信度的平台特征的功能。一个可信平台上,应该包含三个根信任:用于测量的根信任(RTM);用于存储的根信任(RTS);用于报告的根信任(RTR);RTM是一个有能力进行初始的、可靠的完整性测量的计算引擎。典型的如:受控于核心根信任测量(CRTM)的常规计算引擎。当CRTM作为RTM运行时,是平台上执行的一串指令。RTM同时也作为信任传递链的根(参见4.2.3节)。RTS是能够保存完整性信息摘要的正确记录和信息摘要序列的计算部件。RTR是能正确报告RTS所保存信息的可靠性的计算部件。在没有外部监督的情况下,每一个根都应是可信的。对于根信任的可信度可以通过不同

15、的途径进行评估来保证,但首先应包括有能力的专家的评估。4.2.1. 可信平台的构建模块可信构建模块(Trusted Building Blocks ,TBB)是根信任中不包含屏蔽区域或保护功能的部分。一般来讲,TBB只包含了用于RTM的指令和TPM初始化的功能(复位等)。这些是不同平台所特有的。一个TBB的构成示例如图4-2,包括了CRTM, CRTM存储器在主板上的连接, TPM在主板上的连接以及判断物理存在的机制。图4-2 加粗的框表示了一个可信平台中的TBBTBB是可信的,意味着它的运行不会对可信平台造成危害。4.2.2. 可信边界TBB和根信任的组合形成了一个可信边界,在其中可以对PC

16、机的最小配置进行完整性的测量、存储和报告。更复杂的系统需要除了CRTM以外的ROM代码来进行测量。为此,必须建立对这些ROM代码的信任。因此,在把控制权交给这段ROM代码之前,必须先对其进行可信度测量。在可信链尚未建立之前,TBB必须建立,以保证其他的测量代码不会不经意的超出TBB的可信边界。4.2.3. 可信传递可信传递也被称为“可信传导”。可信传递是根信任对于第二组功能给出可信描述的过程。基于这种描述,一个需要访问这组功能的实体可以确定其可信度。当该实体确认了这组功能的可信度是可以接受的,可信边界从根信任扩展到了包含第二组功能的范围。此过程是可以迭代的,即第二组功能可以对第三组功能给出可信

17、度描述,等等。可信传递用于对平台特征给出可信度描述,并可以证明不可移植的密钥的不可移植性。图4-3 系统从一个静态的根信任引导时的可信传递在图4-3中,如果在一个从静态根信任开始引导的系统中应用可信传递,可信边界可以扩展到没有驻留在根信任范围内的程序代码。在每一次可信边界的扩展过程中,首先对目标代码进行可信度测量,然后才将运行控制权交与这段代码。4.2.4. 完整性测量测量的核心程序产生测量事件。一个测量事件包含两类数据:1)测量值:用于表示嵌入式的数据或程序代码;2)测量的信息摘要:测量值的hash结果。测量的核心程序通过扫描数据产生信息摘要。信息摘要是(当前)机器运行状态的快照。测量值和测

18、量摘要分开存储。测量摘要通过RTR和RTS功能存储在TPM中。测量值(通常指测量的存储日志Stored Measurement Log -SML)可以由测量的核心程序存储在其认可的任何位置。事实上,测量值根本不必存储,而只是在需要连续表达的时候能够重新进行计算。测量数据描述了被测量部件的属性和特征。对于编写测量核心程序的程序员而言,它必须熟知被测量事件的语法和语义的每一个细节,以产生适于测量事件使用者的编码(测量范围内的)。程序员决定了这些事件的数据如何被分割。平台特征规范中包含了平台配置的更多描述、表示方法及对期望的测量使用者的描述。测量的存储日志SML(Stored Measurement

19、 Log (SML))包含了相关的测量值的若干个序列,每一个序列共享一个公共的测量信息摘要。新的测量值被添加进信息摘要中并重新进行hash,因此更像是信息摘要的扩展。这样的扩展必须保证相关的测量值不能被忽略并且保留操作顺序。所谓共享就是指的摘要的扩展,既不是每次新加入数据后就产生一个独立的摘要,而是附加在已有的摘要上。TPM中有一组称为平台配置寄存器(PCR)的寄存器组用于保存测量的摘要。更新PCR的数学表达式为:PCRnSHA-1(PCRn+measured data)。PCR的值在系统重新引导时将被重置,因此PCR的值只是临时性数据。对测量事件的验证需要重新创建测量摘要并与PCR中的值进行

20、比较。TCG并不定义SML内容的编码规则,但是推荐使用类似XML语言的编码标准以保证其可以被广泛接受。尽管如此,不同的平台也许需要不同的表达方式,因此,平台特征规范(例如:PC平台特征规范)就可能需要定义其他的编码规则。SML的容量可能会非常大,因此,SML不存储在TPM的内部。因为当SML受到攻击时,攻击是可以被检测到的,所以SML不需要受到TPM的保护。但是,由于SML还易受到拒绝服务攻击,实施者应对SML进行复制备份或重新生成日志。4.2.5. 完整性报告用于完整性报告的根信任(RTR)有两个功能:l 在屏蔽区域存储完整性测量的结果;l 证实基于可信平台身份的存储数据的正确性;存储完整性

21、报告摘要的PCR可以使用易失性存储器或非易失性存储器。PCR必须保证不能受到软件攻击,同时也要考虑如何防止物理干扰的攻击。TPM使用AIK对完整性报告摘要(PCR值)进行数字签名,以保证外部实体可以验证PCR的值。为防止重放攻击,参与PCR签名的数据中应包含nonce。TPM产生并管理AIK。TPM可以拥有很多AIK。当考虑到冲突时,不同的AIK用于保护不同的隐私。TPM在出厂时,可以内置一个称为背书密钥(Endorsement Key,EK)的嵌入式密钥。EK用于签发AIK证书的过程和确立平台的拥有者。平台的拥有者可以创建一个存储根密钥(SRK)。存储根密钥用于加密其他TPM密钥。在4.2.

22、5.2,4.2.7和4.4节中描述了关于EK的更多细节。(1) 完整性报告协议完整性报告用于验证平台的当前配置。图4-4中显示了一个完整性测量报告的协议。图4-4 证书验证协议和信息交换验证协议包含了如下6个步骤:1. 请求者向平台请求一个或多个PCR的值;2. 一个包含TPM的平台执行机构查找相应的SML入口地址;3. 平台执行机构从TPM得到PCR的值;4. TMP使用AIK为PCR的值签名;5. 平台执行机构查找TPM所担保的证书,然后将签名后的PCR的值,SML入口和证书返回给请求者;6. 请求者验证请求,然后对证书进行评估并对PCR的签名进行验证,测量摘要经重新计算后与PCR的值比较

23、。协议与传输机制的实现是独立的,现有的通讯协议、消息传递和远程访问机制都可以用来传递验证消息。(2) 身份和隐私证明的目标之一是允许访问者确定某个TPM已经对一个消息进行了签名,同时也可以用来确定“哪个”TPM对消息进行的签名。通过中立的CA签署的AIK证书可以保证在向访问者证明平台可信度的同时又不会将EK唯一的值泄漏给访问者。TPM在中立的CA那里登记了自己的AIK公钥,中立的CA为这个AIK签署了一个证书。在中立的CA处进行登记时,TPM需要证明AIK是绑定在特定的TPM上的。平台通过使用在TPM中保存的EK私钥解密AIK证书的方式来实现这个要求。只有拥有EK私钥的TPM才能够完成对证书的

24、解密。中立的CA应该是足够可信的,它是不会泄漏敏感信息的,包括EK的公钥或其中的PII(个人身份验证信息)部分,同时它也不会误传平台用来生成AIK的可信属性。TPM可以被设置为在参与签署AIK证书协议前需要所有者的授权。TPM也可以被设置成禁用或不激活。(3) 平台的证明平台的证明用于评估使用AIK对一个平台(的可信度)的证明是否可信。此时,需要TPM和平台制造商签发的证书来确认与特定的AIK相关的可信度判断。(4) TCG证书TCG定义了五类证书,每类都被用于为特定操作提供必要的信息。证书格式在ASN.1进行了明确的说明,并且是PKI的一个元素。证书的种类包括:l 背书(EK)证书l 符合性

25、证书l 平台证书l 认证证书l 身份认证(AIK)证书(5) 背书证书背书证书由产生EK的设备签发。EK在生产过程中产生,应该由TPM的供应商产生EK。无论如何,EK应在(TPM)提供给最终用户前的任何时刻生成,生产商才可以声明EK已经完整的生成并嵌入到一个有效的TPM中。如果EK密钥对在平台交付用户后再生成,密钥生成的环境将影响可提供的背书。背书证书包含下列信息:l TPM生产商的名称l TPM型号l TPM的版本l EK公钥EK公钥虽然是公开的,但也是一个秘密的敏感信息,因为EK与TPM是一一对应的,并用于平台的扩展。TCG指定每一个TPM都必须拥有一个EK证书。(6) 符合性证书符合性证

26、书由有足够能力评估一个TPM或包含TPM的平台的任何实体签署。评估可以由平台的生产商、供应商或中立的第三方完成。符合性证书说明了评估者按照已制定的评估指导方针证实了TBB的设计和实现。通过对证书的数字签名,评估者可以证实其评估结果及所有被评估的细节。TCG定义了丰富的评估标准和指导方针以便于评估。一个平台可能有多个符合性证书:一个是TPM的,其他的是不同TBB部件的。(参见图4-5)。符合性证书包含下列信息:l 评估者的名称l 平台生产商的名称l 平台型号l 平台版本(若可用)l TPM生产商的名称l TPM型号l TPM版本符合性证书并不包含可以唯一标志一个特定平台的信息。TCG认为,一个平

27、台型号可能拥有多个符合性证书,但对于相同的产品和型号只需要一个(组)证书。(7) 平台证书平台证书由平台的生产商、供应商或有足够可信度的任何实体签发。它用于确认平台生产商的身份并且描述了平台的特性。它同时索引TPM相关的背书证书和符合性证书(参见图4-5的A)。证书的索引还包括所有索引的证书的信息摘要。平台证书应是私密的:因为平台证书是与一个特定的平台相关的,而与同一类的其他平台不同。平台证书包括下列信息:l 平台生产商的名称l 平台型号l 平台版本(若可用)l 背书证书l 符合性证书(可能是多个)平台证书可以证明平台中包含了背书证书所描述的TPM。TCG认为:一个平台的实体应与一个平台证书一

28、一对应。(8) 认证证书TCG认为:可测量的部件(硬件或软件)的生产商,应提供测量的参考值。测量参考值是被测部件在正确的工作流程下生产时测量的信息摘要,一般是在功能测试之后。不是所有的部件都需要提供认证证书。只有被认为是可能对系统安全造成威胁的部件需要进行检查。如果用户信任“无尘室”操作者的声明,“无尘室”测量可以在任何时刻进行。参考测量值可以与实时检测的测量值进行比较。带有所期望的参考测量值,用于描述部件结构的被签名的文档称为认证证书。认证证书应包含的部件例如:l 显示适配器l 磁盘存储适配器l 内存控制器l 通讯控制器/网络适配器l 处理器l 键盘和鼠标l 软件认证证书是由一个认证实体签署

29、的。任何一个希望且有能力进行测量同时可以证实测量值的实体都可以被看作是认证实体。部件生产商是最具代表性的认证实体。部件描述的任何部分都可以作为判定可信度的依据。无论怎样,需要被签署认证证书的部件是最容易对安全形成威胁的。部件描述至少应包含以下各元素:l 认证实体的名称l 部件生产商的名称l 部件型号l 部件版本l 测量值(一个或多个)部件描述也可以包含:l 部件性能(不可改变的)证书可能是签署给每一个型号、每一个型号系列或者根据带有数字签名的唯一性信息单独签署。被认为是适合进行签署证书的任何设备都可以分配和签署(发布)认证证书。证书最好以电子的形式提供以便于自动工具的识别。(9) 部件升级和域

30、升级拥有认证证书的部件可能需要修改BUG,升级部件或升级那些与原有认证证书相关的可能引起不可预知结果的部分。TCG认为认证证书的产生和部件升级的过程应由供应商制定。平台特征规范只涉及器件和认证证书的一致性问题。(10) 身份验证证书AIK证书证明用于对PCR的值进行签名的AIK私钥。AIK证书包括AIK公钥和证书签署人认为必要的任何信息。可以验证不同证书的中立的可信服务(service)用来签发AIK证书。在签发AIK证书时,签名者通过校对TPM提供的事实来证实TPM。证实的目标是确认TPM拥有一个AIK并且已和有效的背书证书、平台证书和符合性证书绑定。签发AIK证书的可信方除了保持中立,还应

31、保护在登记过程中用户所暴露的个人身份信息。身份认证证书还索引了其他的证书,如:l 图4-5中C所表示的TPM生产商和型号描述,但没有敏感信息EK。l 图4-5中D所表示的平台生产商和型号描述。注意,索引并不是引用了平台证书本身,而只是引用了平台证书中的非敏感信息部分。l 图4-5中E表示了向请求者说明如何调用TPM和平台的符合性证书。请求者可以使用这些信息及证书提供的其他信息通过验证协议确认平台的可信度。图4-5 证书和证书间的关系框图(11) 证书的可信度和隐私在以上对每一个证书的描述中,都对秘密敏感度进行了阐述。每一个证书对证明平台的可信度都是必须的,TCG规范规定平台的生产商为了保护用户

32、的隐私必须保证这些证书的保密性。有很多种方法可以发布证书,其中包括:l 在平台上直接发布通过CD或磁介质。l 站点下载连接到生产商的网页。l 第三方服务例如搜索引擎或目录服务。无论使用那种发布证书的机制,证书的发布者应满足平台所有者所要求的中立。4.2.6. 通讯的端点TPM当考虑系统间交换数据时,安全分布式系统必须对通讯的端点进行身份认证。对整个安全系统,端点的组成和构建与通讯协议有着同样的重要性。TCG设计者认为,端点的最小组成包括:不对称密钥、密钥存储和保护协议数据项的进程。经典的基于非对称密钥的信息交换,使用接收者的公钥对信息进行加密。此外应使用发送者的私钥对信息进行签名以防止被篡改。

33、密钥是通讯的终点,对密钥的不慎管理和节点的构造不合理都会导致泄密。TPM通过密钥管理和配置管理两种方法来增强保密性(如:数据的保护存储,测量和报告)。这些方法可以组合成为“密封”密钥和平台配置从而使得端点的定义更加强壮。TCG定义了四种保护信息交换的加密方法:绑定、签名、“密封”绑定(也就是“密封”)和密封签名。(1) 绑定绑定是使用公钥进行信息加密的一种传统操作。发送者使用接收者的公钥对信息进行加密。信息只可以使用接收者的私钥进行解密。当TPM将该私钥作为“不可移动的”密钥来管理,那么只有该TPM才能产生和使用这个私钥。因此,使用相应的公钥加密的信息与特定的TPM“绑定”在一起。由于可能会产

34、生在多TPM设备中传递的“可移动的”的私钥,因此,这样的绑定除了加密以外没有更多的用途。(2) 签名签名同样是传统的操作。使用密钥对信息进行签名以保证信息的完整性。TPM将一些管理密钥标记为签名密钥,这些密钥只能用来完成签名数据的hash计算并加密hash结果,因此这些密钥不能被认为是加密密钥。(3) 密封密封不一定要在不同平台间传递数据时使用,更多指在一台PC机上加密数据时使用。故平台的配置信息必须匹配时才可以解密数据。与平台相对应的加密密封比绑定多做了一步:密封的信息是与信息发送者指定的平台测量值绑定在一起的。解密前,必须确认平台的当前配置状态与平台测量值相符。密封的操作与加密信息(实际上

35、是使用对称密钥进行加密)的关联关系是一组PCR值和一个不可移动的非对称密钥。密封信息的过程是:首先选择一定范围内的PCR寄存器的值,附加对称密钥(用来加密信息的),然后使用非对称密钥进行加密。只有当平台配置与发送者指定的PCR寄存器的值匹配时,拥有非对称解密密钥的TPM才可以解密对称密钥。密封是TPM的一个强大的特点。它保证了只有在一个平台运行于一个非常确定的已知配置的状态下,加密的信息才能够被解密。(4) 密封签名签名也可以与PCR寄存器关联使用,以更好的保证平台的签名是在一个特定的配置需求下完成的。验证者要求一个签名必须包含一个详细的PCR寄存器(信息)。签名者在签名的过程中收集指定的PC

36、R寄存器的信息并将信息添加到原有的信息中,作为被签名的信息摘要的一部分。验证者审查被签名的信息中的PCR的值,就等同于审查签名时的平台配置。4.2.7. 保护存储用于存储的根信任RTS保护委托给TPM的密钥和数据。在签名和解密数据时,RTS管理一小部分易失性存储器用于存储密钥。(参见图4-6中的密钥组)。不使用的密钥可能会被加密保存到片外,为正在使用的密钥让出更多的空间。密钥高速缓冲区管理器(KCM)在TPM外部起到管理密钥高速缓冲区的作用。KCM接口与存储器相连,存储了当前不使用的密钥。RTS比一般的保密存储服务额外提供了存储保密数据的功能。RTS被优化为存储小规模数据,大概是一个非对称密钥

37、减去一般的开销(如:210字节的有效载荷)。可以存储多种类型的数据,如:对称和非对称密钥,口令,cookies,验证结果和保密数据等。对于TPM而言,有三种类型的密钥是透明的(已知的,不保密的):AIK密钥;签名密钥;存储密钥;密钥的类型将在后面详细讨论。如图4-6中所示:TPM中嵌入了两个密钥,存储根密钥(SRK)和背书密钥(EK)。这些密钥不能从TPM中删除。在创建一个新的平台拥有者的时候,同时创建一个新的SRK。这对使用原来的SRK加密的数据有副作用。图4-6用于存储的根信任的结构SRK由TPM产生,当确定一个TPM的所有者时,使用EK将SRK的口令加密。SRK用于保护存储在TPM外部的

38、密钥。(1) 密钥的属性密钥的移动可以保证如更换PC机的时候,以前的信息仍能被访问。RTS管理的密钥都有“可移动的”或是“不可移动的”属性。密钥的属性决定了该密钥是否可以从一个TPM传递到另一个TPM。属性值在密钥产生时就确定了且不可改变。也就是说,一个不可移动的密钥永远与一个特定的TPM关联在一起。移动一个不可移动的密钥,会产生一个平台伪装成另一个的结果。AIK就是一个很好的永不可移动的密钥的例子。AIK密钥就是不可移动的。可移动的密钥可以在不同的TPM设备间交换。这样,无论使用者使用什么设备,密钥对就可以一直跟随着他(她),即便计算平台改变时,个体间交换的信息仍旧可以被访问。密钥的属性不能

39、作为不透明的数据使用。当秘密数据想要扩展为不可移动的特性时,数据应通过RTS使用一个不可移动的密钥进行加密存储。这样,加密的数据是受TPM所控制的,它不能在其他的地方被解密。也就是说,一旦一个数据可以在TPM外部被解密,它显然是可以在系统中任意移动的。(2)密钥的类型TCG定义了7种密钥类型。每种类型都附加了一些约束条件以限制其应用。TCG的密钥可以粗略的分类为签名密钥和存储密钥。更进一步的分类有:平台、身份认证、绑定、普通和继承密钥。对称密钥被单独分类为验证密钥7种密钥类型如下:l 签名密钥:非对称通用密钥,用于对应用数据和信息签名。签名密钥可以是可移动的或不可移动的。可移动的密钥可以在TP

40、M设备间输入、输出。TPM可以对应用数据进行签名并加以是否可移动的限制。l 存储密钥:非对称通用密钥,用于对数据或其他密钥进行加密。存储密钥用于对外部处理的数据和密钥进行包装(加密)。l 身份认证密钥:(也称作AIK密钥)专用于对TPM产生的数据(如TPM功能、PCR寄存器的值等)进行签名的不可移动的密钥。l 背书密钥:平台的不可移动的解密密钥。在确立平台所有者时,用于解密所有者的授权数据和与产生AIK相关的数据。背书密钥从不用作数据加密和签名。l 绑定密钥:用于加密小规模数据(如对称密钥),这些数据将在另一个TPM平台上进行解密。l 继承密钥:在TPM外部生成,在用于签名和加密的时候输入到T

41、PM中,继承密钥是可以移动的。l 验证密钥:用于保护引用TPM完成的传输会话的对称密钥。(3) 外部存储和密钥快速缓存管理TPM是用于消费类计算平台,面向低成本应用的设备。所以,TPM本身只有有限的易失性和非易失性存储器。出于无限存储的假定,TCG定义了外部存储和密钥快速缓存管理。因此16KB的EEPROM和4KB的RAM应该就是可以的了1) 外部存储为了可以使用无限的密钥和存储空间,RTS将在外部存储的密钥打包成为加密的密钥模块(blobs)。对于TPM外部而言,密钥模块是不透明的(加密的),可以存储于任何存储设备(如Flash,磁盘,网络文件服务器)密钥模块的结构捆绑于特定的TPM,并且可

42、能用特定的平台配置密封。密钥模块的内容利用其hash运算结果索引(引用)。对于KCM(Key Cache Manager)和执行存储功能的应用程序而言,索引可以用于区分密钥模块。外部存储的内容还包括密钥的类型和密钥的属性。2)密钥快速缓存管理(KCM)TPM将接口公开以便于外部的程序能够管理TPM中有限的存储资源。管理功能和应用是独立的,即快速存取密钥和使用密钥的功能是分离的。KCM只是处理密钥的快速存储,应用程序只关心密钥的应用。唯一的例外是用于加密其他密钥的存储密钥。KCM同时负责存储密钥的快速存取和使用。使用特定平台配置状态进行密封(sealed)的密钥可能在平台不处于特定状态时被读取,

43、从而提供了在平台就绪状态下获得密钥的灵活性。此时,安全性是保证的,因为在每一次使用密钥时,都会对平台配置进行检查,因此读取(密钥的操作)不需要被检查。在图4-6中,KCM作为外部程序承担了在TPM中易失性存储器中的密钥段和外部存储设备中的非易失性存储器间密钥交换的工作。KCM找到适当的密钥段,然后决定何时用外部密钥替换内部密钥。当密钥段已满或应用程序需要使用一个特定密钥时,TPM并不作出预先通知。因此,外部应用程序应通知TPM以上的事件何时会发生或者KCM作为TPM的接口层,用于应用程序获得TPM的服务。(将KCM作为TPM的代理,可能会引起不经意的安全隐患。KCM可能会成为密钥使用的口令(p

44、assphrases)的关键点,因而成为被攻击的核心)。TPM提供在TPM和存储设备间传递(密钥)时准备密钥的接口。KCM决不能将密钥公开。KCM可以执行一个在KCM管理的存储设备上进行索引、存储和重新获得密钥段的模型。同时可能包含使用TPM密钥的必要的口令管理。4.3. 可信平台模块(TPM)部件本节描述了TPM和它的部件的逻辑框架。TPM可以由硬件或软件实现。在平台特征描述文档中说明实现的细节。模型中更多的倾向于TPM规格描述中硬件的解释,但过于抽象,因此不排除使用软件实现。图4-7是一个支持RTR和RTS的TPM的结构框图。作为可信平台的构建模块,TPM的部件的正常工作是可信的。这样的信

45、任源自很好的工程实践、生产过程和工业评审。工程实践和工业评审的结论体现在CCC认证的结果中(参见5.3.2评估结果)。图4-7 TPM部件体系结构4.3.1. 分离部件(1) 输入/输出(IO)输入/输出部件处理通讯总线上的数据流。它完成适合于内部和外部总线通讯协议的编、解码操作,并将信息发送给适当的部件。与其他TPM功能需要访问控制一样,Opt-in部件严格控制着I/O部件的访问规则(2) 非易失性存储器非易失性存储器用于存储背书密钥EK,存储根密钥SRK,拥有者的授权数据和永久标志。PCR可以使用非易失性存储器或易失性存储器实现。在系统启动或下电时,PCR被复位。TCG指定PCR的最小数量

46、为16,寄存器07保留给TPM使用,815供操作系统和应用程序使用。至少16个PCR(3) 身份认证密钥AIKAIK必须是永久不变的,但是推荐将AIK作为密钥段存储在永久不变的外部存储设备中,而不是永久不变的存储在TPM内部的非易失性存储器中。TCG希望TPM可以提供足够的易失性存储器空间用于同时读取多个AIK密钥段以加快计算速度。和以前的理解不一致(4) 程序代码程序代码包括用于测量平台设备的固件。逻辑上讲,这就是用于测量的核心根信任(CRTM)。在理想的状态下,CRTM是存储在TPM的内部,但根据实现的需要,它可能需要装载于其他固件中。(5) 随机数发生器(RNG)TPM应包含一个真随机数位发生器用于产生随机数发生器的种子。RNG用于密钥的生成,产生nonce和增强口令访问的熵。(6) Sha-1加速器Sha-1信息摘要加速器用于计算数字签名,产生密钥段和其他常规应用。(7) RSA密钥产生器TCG将RSA算法作为TPM中使用的标准算法。当前公开的RSA版本和长久的应用历史使得TCG将RSA算法最为最好的选择。RSA密钥产生器用于产生签名和存储密钥。TCG需要TPM支持到2048位模数的RSA密钥,并且要求几个密钥(如SRK和AIK)必须至少是2048位模数的。(8) RSA加

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教育教学 > 成人教育


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号