TPM核心功能PPT演示课件_第1页
TPM核心功能PPT演示课件_第2页
TPM核心功能PPT演示课件_第3页
TPM核心功能PPT演示课件_第4页
TPM核心功能PPT演示课件_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1,TPM核心功能,羌卫中,2,背景 (1),在包括关键任务的信息系统中,我们需要保护数据,并维护和提高使用Internet的信心 传统的安全计算难以使用、并且开销很大; 可信计算提供了为保护和处理隐私和秘密数据的优化计算平台,3,背景 (2),可信计算机提供了隔离环境,可以限制对在该隔离环境中被存储和使用的数据的访问; 在该隔离环境中存储和使用的数据不需要是安全的,但是系统可以保证只有在相同的环境中的应用程序可以访问该数据;,4,目前的状态 (1),目前的个人计算机(和相关的设备,如PDAs、智能手机,等)具有许多根本的安全和信任问题,包括: 用户无法知道他的计算机在做什么 用户无法知道其他

2、人在做什么 计算机消耗了越来越多的资源来扫描病毒或者攻击 用户很容易被欺骗以访问恶意虚假网站 笔记本信息的丢失 服务器信息的丢失,5,目前的状态 (2),这些问题的核心是基于这样一个事实:标准个人计算机结构不是专门为安全设计的; Just as a faster car needs better brakes and seat belts, a computer used for mission critical purposes needs better protection.,6,可信计算的根本目标,可信计算的根本目标就是解决上述问题 核心问题: 我们如何知道系统真正地在做我们认为它在做的

3、事情? 最终, 这个问题可以通过修改硬件,以提供良好的信任基来实现,因为软件总是可以被改变的。,7,可信计算解决的攻击,可信计算的目的是解决所有的软件攻击,但只解决部分硬件攻击 Nothing can be guaranteed to resist all hardware attacks unless it is physically isolated (in a locked room, surrounded by armed guards); A smartcard level of protection is all we can do at a reasonable price.,8

4、,当前的计算环境,平台 操作系统 应用程序 恶意软件 配置(Configuration),9,启动记录报告,本地报告 当挑战者要判断本地机器是否被攻陷,意味着本机有可能是不可信的。如果本机已经被攻击者控制,那么可信判断所得到的结果就会被攻击者篡改,挑战者就会受到欺骗; 所以必须借助TPM本身提供的机制来完成本地的安全报告。,10,启动记录报告,本地报告 PCR值是标志机器状态是否可信的标志 SEAL操作是将数据或密钥与一个或一组指定的PCR值绑定,只有当这个或这组PCR的值符合特定指定值时,这些数据和密钥才能够被释放出来。 Seal操作实际上是将数据的可访问性与机器状态绑定。操作系统或者用户能

5、够在特定的机器状态访问某些被Seal的数据,机器状态(PCR值)改变之后数据就将无法访问。 如何进行可信的本地报告: 可以将一个机密信息绑定到PCR值来标志一个可信的启动过程 当要判断机器的启动过程是否可信,用户可以要求TPM对这条秘密信息执行Unseal操作。如果这条被Seal的机密信息能够被释放,那么就表示相应PCR值都符合期望值,进而说明启动过程是安全的。,11,TPM-数据保护,TPM的保护能力是唯一一组许可访问保护区域(shielded locations)的命令; 保护区域是能够安全操作敏感数据的地方(比如内存,寄存器等)。通过建立平台的保护区域,实现对敏感数据的访问授权,从而控制

6、外部实体对这些敏感数据的访问; TPM通过实现保护能力和保护区域,以此来保护和报告完整性度量。 保护区域是一块可信平台模块中存放敏感信息的存储区;保护能力是可信平台模块提供的可以对被保护区域进行访问的功能,以命令的形式提供。,12,TPM-数据保护,TPM或多或少有些像智能卡,但它们之间一个显著的区别是:TPM附属了大量的非易失性存储器。所以可以存储大量与TPM相关的数据到这些非易失性存储器中。安全存储的一个目标就是利用非易失性存储器,保存一些重要的密钥和敏感数据。,13,TPM-数据保护,数据密封-Sealing 数据绑定-Binding 数据加密,14,Sealing,如果想获取M,必须先

7、获取K,这就需要由TPM用KPRI-S对KPUB-SVPCR-x,K进行解密,此时,TPM检查GPCR-x的值是否与VPCR-x相等,只有在相等的情况下,TPM才提供K,否则,不提供K。 PCR寄存器组GPCR-x的值VPCR-x也称为TPM的一个状态(或一个配置),因此密封把信息M与TPM的一个状态关联了起来,只有当TPM的状态与密封时的状态相同时,才有可能把密封过的信息KM恢复为原来的信息M。换言之,当且仅当密封时的TPM状态与解密封时的TPM状态相同时,解密封操作才能成功。,15,Sealing,密封的签名:设实体ES拟对信息M进行签名,ES的公钥和私钥分别为KPUB-ES和KPRI-E

8、S,某TPM的一组PCR寄存器GPCR-x的值是VPCR-x,密封的签名的含义是: 把M和VPCR-x连接起来,得到M|VPCR-x; 计算M|VPCR-x的哈希值,得到H(M|VPCR-x); 用KPRI-ES对H(M|VPCR-x)进行签名,得到H(M|VPCR-x)KPRI-ES。 验证签名时,验证方只需使用ES的公钥KPUB-ES对H(M|VPCR-x)KPRI-ES进行验证,就可以判断该签名是不是在TPM的指定状态VPCR-x下实施的。,16,TPM-Binding,绑定:设实体ES拟把信息M发送给实体ER,ER的公钥和私钥分别是KPUB-ER和KPRI-ER,用KPUB-ER对M进

9、行加密得到KPUB-ERM,就相当于把M和ER绑定在一起,因为只有用KPRI-ER才能对KPUB-ERM进行解密,而只有ER才拥有PPRI-ER。如果实体ER是一个TPM,则是把信息M绑定到特定的TPM上。其中, ER称为绑定密钥。,17,Attestation,证明者利用AIK对挑战者指定的PCR值进行签名后,附加上对应的度量日志(SML)表项和AIK证书一起发送给挑战者。 接下来挑战者对证明值进行验证。验证过程包括根据度量日志重新计算哈希值(期望值)、对AIK证书进行验证以及将签名值和期望值进行匹配三个步骤。,18,Attestation,(1)远程挑战者产生一个随机数nonce对可信平台

10、客户端发起挑战请求,指定要求的PCR寄存器编号。为了以防止重放攻击,挑战者同时发送一个密码学随机数给客户端。由于客户端可在数字签名的摘要中加入nonce,挑战者可以验证签名的新鲜性。 (2)配备TPM的客户端与TSS交互,载入AIK,调用Tspi_TPM_Quote接口对制定的PCR进行签名。 首先,将PCR寄存器值和nonce串联并用SHA1算法求出度量值,度量值为160比特,然后使用RSA算法用AIK的私钥对此度量值进行数字签名。 Tspi_TPM_Quote接口的输入包括TPM对象句柄,签名密钥对象的句柄, PCR组件对象(含需要签名的PCR索引号)以及对PCR签名的相关信息。对PCR签

11、名的相关信息包含输入数据和输出数据,输入数据指定完成签名需要的额外数据如nonce,用于防止重放攻击;输出数据记录签名成功后获取到的TSS_PCRS_STRUCT_INFO结构和签名的PCR值。 最后,经过签名的PCR值和对应的度量日志的摘要和AIK证书被反馈给挑战者。,19,Attestation,(3)挑战者验证摘要数据块的签名,检查nonce。这一步骤验证AIK签名的合法性。挑战者从TSS_PCRS_STRUCT_INFO中获取到PCR值,与nonce串联后计算其哈希值,得到SHA1(PCR|nonce);另外使用AIK证书的公钥解密已签名的PCR值 ,得到RSA_DecAIK(Quot

12、e),如果SHA1(PCR|nonce)= RSA_DecAIK(Quote)则AIK签名是合法的,否则PCR值是已被篡改的或者nonce不是新鲜的。 (4)挑战者验证存AIK证书的合法性。AIK证书的合法性是由第三方CA来给出证明的,即验证AIK证书是否为CA所签发。另外还需确认AIK证书不在证书作废列表当中,即AIK证书仍在有效期内。,20,Attestation,(5)挑战者基于客户端状态做出下一步动作的决定,即对比PCR摘要值是否与期望值相符。其关键是用户读取度量日志(SML)重新计算期望值的过程。 挑战者读取SML,其中包含每次度量得到的度量值,模仿PCR扩展操作,按扩展的顺序对度量

13、值执行扩展操作。通过上面的计算即可得到期望的PCR值,如果期望的PCR值和客户端返回的值相等则可以证实客户端的环境配置是值得信任的,否则不然。,21,Creation of AIK Credential,该流程与一般PKI体系中证书的创建流程大致相同。但需要指出的不相同的地方是: 该流程中客户端与PCA的交互是在线的,也就是说AIK证书的创建过程是自动进行的; 而一般PKI体系中,证书的创建需要证书注册机构RA(Register Authority)对证书请求进行审核,而该审核过程一般是通过离线的方式进行的,如证书请求者需要向RA寄送书面请求报告等。 需要说明的是,AIK证书的在线创建主要得益

14、于“TPM是可信的”这个前提,正因为TPM是可信的,那么由TPM所创建的AIK密钥也是可信的,所以由RA进行的证书请求审核过程就自然可以不需要了。,22,Problems of Attestation with Privacy CA,但是,使用Privacy CA进行远程证明(Attestation)具有一些缺点。 首先,验证方(Verifier)进行AIK证书验证时需要验证Privacy CA证书的合法性,那么Privacy CA和验证方的可能进行合谋,从而导致TPM平台的身份被泄露,因为Privacy CA是了解AIK证书所对应的EK证书的; 其次,TPM使用者需要与Privacy CA进

15、行交互以获得AIK证书,而TPM可能会有大数量的AIK,那么Privacy CA将服务大规模数量的AIK证书请求,从而导致了可用性问题。 Solution: Direct Anonymous Attestation (DAA) BrCaCh2004,Brik2007,23,Direct Anonymous Attestations (DAA) protocol,直接匿名证明(DAA,Direct Anonymous Attestation)协议基于TPM平台、DAA签署方(Issuer)、DAA验证方(Verifier)三个实体。DAA协议包括加入(Join)和签名/验证(Sign/Verif

16、y)两个步骤: 在Join步骤,签署方验证TPM平台,并为TPM平台签署DAA证书; 在Sign步骤,TPM平台使用DAA证书与验证方进行交互,通过“零知识证明”,验证方可以在不违反TPM平台隐私性的前提下对DAA证书进行验证。DAA协议支持黑名单的功能,这样验证方可以将那些被攻陷的TPM识别出来。,24,TPM-Keys,TPM/TCM提供密钥管理的功能,用户可以通过该功能生成密钥、使用密钥进行加密或者签名操作。可信计算平台中密钥包括多种类型,不同类型密钥具有不同的安全需求,特别体现在密钥的产生、传输、存储、备份、销毁等主要环节。,25,可迁移密钥与不可迁移密钥,在整个TPM/TCM的密钥体

17、系中,每个密钥在开始创建的时候都需要指定密钥属性。密钥按照属性不同分为:可迁移密钥(Migratable Key) 、不可迁移密钥(Non-Migratable Key)。 可迁移存储密钥并不局限于某个特定平台,可以由平台用户的控制下在平台之间迁移。 不可迁移密钥则永久地与某个指定平台关联。不可迁移密钥能够用来加密保护可迁移密钥,反之则不行。,26,可迁移密钥,由于系统升级或者其他原因用户需要改变系统,密钥需要由一个平台上的密钥空间转移到另外一个平台的密钥空间。 另一方面,也是最主要的,可迁移密钥设计可用于在多个平台上使用(即解密)同一密钥所加密的数据。这种密钥的优点是可以将关键数据复制(备份

18、并恢复)到另一个平台上使用,这样可以为用户提供便利,如有些用户使用多个平台,或者数据需要供使用不同平台的多个用户使用。 举个例子,假如一个密钥被用来对E-mail签名,这个密钥的使用者可能希望不管是在工作还是在家,都可以使用这个密钥来签发电子邮件。可迁移密钥的另一个优点是,可以将数据从一个发生故障的平台备份并恢复到一个新的平台上。,27,不可迁移密钥,虽然可迁移密钥对用户提供了很多方便,但是在某些场景可能无法提供特定应用所需的适当保护级别。 例如用户希望将数据限定为只在一个平台上使用,这时就需要不可迁移密钥。 TPM内部产生,在TPM产生后被打上了TPM的标记。 不可迁移密钥的本质是,它可用于

19、一个并且只能用于一个TPM。如果系统或 TPM 发生故障,所有不可迁移密钥以及与它们关联的所有数据将不可访问,而且无法恢复。 不可迁移密钥本身的安全性要比可迁移密钥高,因为不可迁移密钥全部是由TPM内部产生并且从产生到销毁整个周期私钥部分都不会离开TPM(除非不可迁移密钥转化为可迁移密钥,这个时候安全级别也会降低,注意的是由于可迁移密钥安全级别低所以无法转化成为不可迁移密钥)。同时不可迁移密钥可以被TPM签名,从而可以向挑战者或者用户证明其不可迁移的属性,从而证明其安全性。,28,TPM-Keys,功能分类: TCG定义了7种密钥类型。每种类型都附加了一些约束条件以限制其应用。 TCG 的密钥

20、可以粗略的分类为签名密钥和存储密钥。更进一步的分类有:平台、身份认证、绑定、普通和继承密钥。对称密钥被单独分类为验证密钥,非对称密钥大多要求 2048 位的RSA密钥。,29,TPMKeyObject,30,Storage Keys,存储密钥(Storage Keys)是用来加密数据和其它密钥的通用非对称密钥,这里的其它密钥可以是另一个存储密钥、也可以是绑定密钥或者是签名密钥。它本身是长度为2048比特的RSA私钥;它既可以是可迁移密钥,也可以是不可迁移密钥。,31,Storage Keys,存储根密钥(Storage Root Key,SRK)是存储密钥的一个特例。整个系统拥有一个最高权限的

21、存储密钥,这个最高级密钥也就是存储根密钥。它很特殊,在每个用户创建的时候生成,管理着这个用户的所有数据,也就是存储可信根 (Root of Trust for Storage,RTS)。它签署密钥(Endorsement Key,EK)一样,一个TPM仅存在唯一一个。所有其他的密钥都在存储根密钥的保护之下。,32,Signing keys,签名密钥(Signing Key):是非对称密钥,用于对应用数据和信息签名。签名密钥可以是可迁移或者不可迁移的。可迁移密钥能够在TPM之间传递,通过迁移密钥传递保密数据。TPM中的签名密钥都遵循RSA签名密钥的标准,它们有若干种不同的长度。TPM能够正确地进

22、行处理的最大密钥长度是2048比特。,33,Attestation Identity Keys(AIK),EK,签署密钥(Endorsement Key,EK)是一个TPM平台的不可迁移的解密密钥,它是一个2048 bits的RSA密钥对。 它生成于平台的生产过程中,代表着每个平台的真实身份,每个平台都拥有唯一的一个。在确立平台所有者时,用于解密所有者的授权数据,还有解密与生成AIK相关的数据。 签署密钥从不用作数据加密和签名。签署密钥的主要功能是生成身份证明密钥(AIK)和建立TPM平台的所有者,由TPM的所有者来生成存储根密钥SRK(Storage Root Key),使用SRK来加密、存

23、储其他的密钥。,34,EK,EK可以通过密钥生成服务器,采用两种方法来产生: 一是使用TPM命令,TCG规范定义了一组背书密钥操作命令,其中创建背书密钥对的命令为:TPM_CreateEndorsementKeyPair,产生密钥长度要求至少2048位; 另一种方法是密钥“注入”技术,在信任制造商的前提下,由TPM制造商产生背书密钥对,然后采用人工方式注入,注入的方法有:键盘输入、软盘输入、专用密钥枪输入等。,35,EK,对比这两种方法,前者必须依赖硬件中提供受保护的功能(Protected Capability)和被隔离的位置(Shielded Location),从而保证在设备内部产生密钥

24、对,而且密钥对是在篡改保护的环境下产生,能够很好地减少密钥对泄露的风险; 后者则对环境、管理和操作方法要求较高,首先密钥的装入过程应当在一个封闭的环境下进行,不存在可能被窃听装置接收的电磁泄露或其它辐射,所有接近密钥注入工作的人员应该绝对可靠。采用密钥枪或密钥软盘应与键盘输入的口令相结合,并建立一定的接口规范,只有在输入了合法的加密操作口令后,才能激活密钥枪或软盘里的密钥信息。在密钥装入后,应将使用过的存储区清零,防止一切可能导出密钥残留信息的事件发生。,36,AIK,平台身份认证密钥(Attestation Identity Key,AIK)是不可迁移密钥。专用于对TPM产生的数据(如TPM功能、PCR寄存器的值等)进行签名,用来证明平台的身份和平台的环境配置,凡是经过AIK签名的实

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论