(六)可信计算知识点

一、可信计算与TCG

1.     可信计算概念:如果针对某个特定的目的,实体的行为与预期的行为相符,则称针对这个目的,该实体是可信的。

2.     对建立可信计算环境的需求

商业运行、社会基础设施运行、个人越来越依赖于IT计算环境。

IT计算环境面临越来越多的安全威胁。

安全可信问题已经成为普适计算、云计算等新型计算模式真正实现的瓶颈。

现技术因成本、可管理性、向后兼容性、性能、可移植性等问题无法被广泛采纳。

3.     可信计算可以从几个方面来理解:

用户的身份认证:这是对使用者的信任。

平台软硬件配置的正确性:这体现了使用者对平台运行环境的信任。

应用程序的完整性和合法性:这体现了应用程序运行的可信。

平台之间的可验证性:指网络环境下平台之间的相互信任。

4.     TCG制定的规范中定义了可信计算的三个属性

可鉴别:计算机系统的用户可以确定与他们进行通信的对象身份。

完整性:用户确保信息能被正确传输。

私密性:用户相信系统能保证信息的私密性。            


5.TCG发展

1999年10月,由HP、IBM、Intel和Microsoft等公司牵头组织  TCPA(Trusted Computing Platform Alliance),发展成员约200家,遍布全球各大洲主力厂商,TCPA专注于从计算平台体系结构上增强其安全性。

2001年1月,TCPA组织发布了TPM主规范(v1.1)

2003年3月,改组为TCG (Trusted Computing Group),同年10月,发布了TPM主规范(v1.2)

2009年,TCG与ISO/IEC 的合作形成国际标准ISO/IEC 11889-X: 2009

2013年3月,TCG组织发布了TPM主规范(v2.0)

成立目的:在计算和通信系统中广泛使用基于硬件安全模块支持下的可信计算平台,以提高整体的安全性。

TCG的使命:发展并推动开放的、厂商中立的、多种平台间的可信计算构造单元及软件接口的业界标准规范

6.TCG的解决方案

       将平台转变为可信计算环境

       使平台能够证明给定的网络环境是一个受保护的环境

       在正确的平台环境下,秘密才会被释放出来

       将TPM作为产品中的可信构造块

7.TCG规范的设计原则

安全性原则:对指定的关键安全数据进行受控的访问,可靠的度量并报告系统的安全性质

             报告机制要在所有者的完全控制之下

私密性原则:设计实现时考虑私密性需求

可互操作性原则:在保证安全性的前提下,不引入新互操作障碍

数据的可移植性原则:规范的部署应该支持在数据所有权方面已建立的原则及惯例

可控性原则:所有者对属于它们的TCG功能的使用及操作能够进行有效的选择和控制

易用性原则:非技术用户也可以理解和使用TCG功能

8.当前应用

       带有TPM的PC、Server、IoT设备

       第三方软件使用TPM提供数据保护、网络访问、标识管理、认证

       网络产品:Radius认证服务器、病毒保护、策略管理

9. TCG组织介绍

10.TCG现有标准规范介绍

二、TPM

1. TPM的核心设计思想。

第一个设计原则:安全性原则。比如说在TPM规范的设计过程当中,必须考虑如下三个内容。第一个就是对指定的一些关键的数据,要进行一些受控的一些访问。第二呢,就是说对可靠的一些度量。就是对我们的数据要做一个可靠的度量,并且呢,来报告这个系统的安全性质。第三呢,就是报告机制是要求在所有者的完全控制之下来完成。

第二个设计原则:私密性原则。

大家知道,这可行计算TPM芯片如果在一个物理机上有这样一个芯片的话。不应该因为它是一个唯一的一个芯片,如果一旦被恶意用户知道的话,那么就没有办法保护这个平台的这个可行性。所以对于这个在设计的时候,比如说对平台进行将来做验证的时候,不只是要保证它的安全性,还要保证它的私密性。

第三个设计原则:可互操作性原则。

在前面的安全性的这个前提之下,不应该引入一些使得我们进行互操作,带来不方便的一些障碍。

第四个设计原则:数据的可移植性原则。那么大家知道,每一个数据都有所有者。那么所有者对数据的存放,它是有自己的一些就是意愿的。比如说,在建立这个TCG的规范的时候,不应该让这个数据。就是说,只能够在这个平台上存放,而不能让所有者去随意的迁移。

理论上应该允许用户从一个平台上迁移到另一个平台上。

第五个原则:可控性的原则。

比如说,所有者,就是这个平台的所有者,他应该可以对这个需不需要这个平台使用TPM这样的规范,或者需不需要开启这个TPM的功能, 自己有一个选择权和控制权。

第六个原则:可用性原则,或者易用性的原则。就是说让所有的非技术性的用户,都可以去理解,还可以方便的去使用我们所提供的,或TPM所提供的这样的功能。

2.TPM是什么?

TCG技术的核心内容就是为计算平台提供了一整套基于TPM及平台中TBB(平台可信构造块)的信任建立及可信性证实方法和机制


TPM是和CPU是在同一个芯片在同一个主板上的,有一定的计算和存储能力。所以理论上来讲,它是一个小型的计算系统。在BIOS和这个操作系统工作之前已经开始工作。它不能够去使用这个计算机本身的内存和外存。也就是说它是一个独立的一个计算系统,所以它只能够用自己内部的存储,和内部的计算能力。它内部计算能力主要是采取一些公开的一些算法,比如说密码的一些运算。所以它需要提供一些标准的接口,还有提供一些相关的安全操作,来支持这样的一些密码计算。

3.TPM其实需要包括四个主要功能。

① 对称/非对称加密;② 安全存储;③ 完整性度量;④ 签名认证。

第一个就是要去支持我们的加密,包括对称和非对称的加密,非对称加密和签名的认证是通过RSA算法来实现的。

第二个就是要帮助我们去做安全存储, 它要提供一些密钥的管理方案,

来帮助我们对本地的数据做一个安全的存储。

第三个就是要去验证我们的平台的完整性,需要第一,要度量平台的完整性状态是什么。

然后我们还要去做验证。完整性度量则是通过高效的SHA-1散列算法来完成的。

第四个就是要做签名认证,这个主要是对完整性积极验证的时候。

对称加密呢其实在这里可以采用任意的一个算法。 既可以使用专用协处理器,也可以使用软件来完成

4. 受保护的功能:是一组命令,只有它们才能访问被屏蔽的位置

被隔离的位置:是内存,寄存器等,满足:(1)在这些位置上操作敏感数据是安全的(2)访问数据的位置只能是受保护的功能。

 

5.     TPM体系结构

互操作性:为了符合TCG规范,TPM必须支持的算法有:RSA、SHA-1、 HMAC。

TPM还可以支持其他算法,所有TPM中的算法和协议必须包含在TPM及平台信任状

中。对算法进行规定有两方面的目的:一方面是知道和了解所选算法的安全属性;对

密钥大小进行标识,以便在协议中正确使用;另一个是为交互定义算法的基本级别。

DIR数据完整性寄存器:在规范的1.1版本中定义的DIR,在1.2版本中将其移到了一

般目的的非易失存储区域。 TPM仍应该支持非易失存储区域中的DIR寄存器功能。

(TPM必须提供至少一个DIR;DIR必须是160比特的值,必须保存在屏蔽位置;

DIR必须是非易失的)

PCR平台配置寄存器:一个典型TPM中一般有24个PCR寄存器,每个寄存器都存储

特定的散列值。 0~7用于系统启动,8~15供操作系统使用,16~23用于动态可信根

的建立。

PCR平台配置寄存器:

• 1个PCR是1个160比特的存储位置,用来存储离散的完整性度量值。

• 所有的PCR寄存器都在屏蔽位置,且在TPM中。

•PCR被设计为在一个寄存器中保存不限数量的度量值。它通过使用密码哈希来达到这一点,计算的伪码为PCRi New= HASH ( PCRi Old value || 需要增加的值)。

• 有两个与PCR构造相关的密码哈希的性质:

• 一个是顺序,即对PCR的更新并不是可交换的(A-B, B-A结果不同);

• 一个是单向性,即给定PCR值,攻击者要想确定输入信息在计算上是不可能的,而且如果不知道原来PCR的值或者从上次复位后对PCR寄存器的所有输入信息也不可能确定对PCR的后续更新

TPM组件:(以下均为TPM组件)


I/O器件:负责管理信息在通信总线上的传送,它的任务包括执行与内部和外部总线通信相应的编码/解码协议,将消息发送给相应的目标器件。

密码协处理器:实现加密、解密、签名和签名验证。 TPM使用常规的方法来进行加密操作,包括:非对称密钥对产生(RSA)、非对称加密/解密(RSA)、哈希(SHA-1)、随机数产生(RNG)。TPM也可以在内部使用对称加密体制,但是不能向一般用户暴露任何对称算法函数。 TCG最新的技术规范中要求TPM必须能提供2048位的RSA算法。

密钥产生器:负责生成对称密钥和非对称密钥对。对于RSA算法的密钥生成过程而言,密钥生成器将利用随机数发生器随机产生随机数,并在自身完成对该随机数的大素数测试。

HMAC引擎:提供数据认证码和消息认证码两部分信息来分别保证数据和命令消息的完整性。 HMAC引擎仅仅提供运算功能,不提供传输数据的命令和机制。 HMAC运算参数遵照RF2104中提出的标准,使用20字节的密钥和64字节的数据块长度。

非易失性存储器:用来存储永久标识(如EK)以及和TPM相关的状态。

随机数发生器:负责产生各种密钥生成和签名中所需要的随机数,它通过一个内部的状态机和单项散列函数将一个不可预测的输入变成32字节长度的随机数,其输入数据源可以由软件或硬件产生,如噪音、时钟、温度等,该数据源对外不可见。 TPM中的随机数发生器也可以利用伪随机数生成算法。

SHA-1引擎:负责完成基本的哈希运算。其哈希接口对外暴露,以便平台在启动时进行完整性验证。TCG并未规定SHA-1的最低吞吐量要求。

电源监测模块:根据可信计算平台电源状态数据管理TPM的电源,在监测到电源状态发生变化时帮助TPM采取适当的限制措施。

分支选择器(Opt-In):实现了TCG策略中TPM内部功能可以被开启与关闭的机制。它通过改变一些永久性的可变标志位来实现TPM内部功能的关闭、停用和完全激活。但这种设置必须是TPM的所有者或经所有者授权的情况下才能进行,原则上不允许进行远程设置。

执行引擎:包含CPU和嵌入式软件,运行经过I/O传送给TPM的命令,并执行TPM初始化和监测操作。


6.     可信平台中的有关密钥介绍:

• Endorsement Key(EK):由厂商交付给用户之前生成,是TPM的唯一标识。帮助获得所有权、生成AIK.

• Attestation IdentityKeys(AIK):是EK的别名,在一个TPM中可以有多个,为了保护EK的私密性而生成的替代品

• Storage Root Key(SRK):存储根密钥,每个可信计算平台只对应一个惟一的SRK。在改变所有者时会改变

7.     平台的信任的建立:

在TPM及平台制造中,在TPM中保存EK(Endorsement Key),由制造厂商提供认可信任状(与EK绑定)、平台信任状;在TCG评估机构评估后,由评估机构提供Conformance Credential。

• 在此基础上,平台的RTR(可信报告根)EK、 RTM(可信度量根)TBB、 RTS(可信

存储根)EK已经建立起来。

• 可信报告根:提供密码机制对TPM的状态及信息进行数字签名

• 可信存储根:提供密码机制保护保存在TPM之外的信息(数据和密钥)

• 可信度量根:由平台提供的对平台的状态进行度量的机制

• 交付用户后,可信平台的所有者获得TPM的所有权,同时生成存储根密钥。

• 平台所有者发起AIK请求时,在EK及平台CA的帮助下获得AIK信任状。

8.     可信平台中的有关信任状:

• 认可信任状( Endorsement or EKcredential ):颁发者证明对应EK所在的TPM是他们生产的

• 平台信任状(Platformcredential ):颁发者证明带有某一特征的平台是他们生产的。

• 一致性信任状(Conformancecredential):证明某个带有TPM的可信平台符合TCG的相关规范

• 确认信任状( Validationcredential ):证明可信平台的某个组件是他们生产的

• 证实标识信任状( AttestationIdentity or AIK credential ):证明带有对应AIK密钥的平台经证明已经确认是一个可信平台

9.     平台所有权的获得:

• 可信平台最初交付时都没有所有者

• 获得所有权的过程实际上是将一个共享秘密插入TPM的屏蔽位置,插入时考虑:(1)机密性:用TPM的PUBEK进行加密,只有相应TPM可以获得(2)完整性、可验证性:插入后,由TPM提供插入值的证明(3)可远程执行:通过机密性和完整性实现

• 在获得所有权的同时,TPM生成新的SRK和一个新的TPMProof值,供可信存储根机制使用。

• 获得所有权后,TPM的所有者提供与TPM之间的共享秘密就可以执行一些特权命令。

• “物理存在”:TPM中的可信路径,平台提供机制证明用户目前是在平台上直接操作,而不是通过网络连接。

• TPM所有权的清除:可以由所有者进行,也可以通过“物理存在”来进行。获得所有权后,可以禁止进行TPM所有权清除工作。

• TPM所有者可以将特权命令委托给持有其他共享秘密的实体使用。

10. 完整性度量、存储、报告机制:

目的:允许平台进入任何状态,但这些状态都被忠实的记录下来,供其它过程参考

完整性度量:是获得与平台完整性相关的平台特性的度量值的方法

度量值的存储:(1)由TPM内的PCR及TPM外的SML(StoredMeasurement Log)共同完成(2)完整性度量值保存在SML中,完整性度量值的摘要扩充到PCR中

完整性报告:对完整性存储的内容进行证实的过程。

11. 信任链产生:在可信体系中,信任链以可信根(TPM)为起点而建立,在此基础上再将信任关系逐级传递到系统的各个模块,从而建立整个系统的信任关系。所以信任根必须是一个能够被信任的组件,通常在一个可信平台中有三个可信根:

可信报告根(Root of Trust for Reporting,RTR):提供密码机制对TPM的状态及信息进行数字签名

可信存储根(Root of Trust for Storage,RTS):提供密码机制保护保存在TPM之外的信息(数据和密钥)

可信度量根(Root of Trust for Measurement,RTM):由平台提供的对平台的状态进行度量的机制


12. 完整性报告:

(1)     远程报告:可信平台使用AIK对当前平台的PCR值进行签名,报告给远程挑战者,以证明其平台状态的可信性。这一过程使用挑战-应答协议完成。

(2)     本地报告:借助TPM本身提供的Seal操作(将数据或密钥与一个或一组指定的PCR值绑定,只有当这个或这组PCR值符合特定的指定值时,这些数据和密钥才能够被释放出来)来完成本地的安全报告。

当挑战者要判断本地机器是否被攻陷,意味着本机有可能是不可信的。那么本机的验证会被攻击者篡改,挑战者会受到欺骗。

13. 远程证实协议:远程证实时,一个平台(挑战方)向另一个平台(证实方)发送一个挑战证实的消息和一个随机数,要求获得一个或多个PCR值,以便对证实者的平台状态进行验证。


14. AIK证书的合法性 – EK和AIK

(1)     背书密钥 EK(Endorsement Key):

每个TPM拥有唯一的EK

TPM出厂时,由TPM厂商签发EK证书,来唯一标识可信平台的身份。

(2)     身份认证密钥 AIKs(Attestation Identity Keys)

TCG规定,EK不直接用于身份认证,而使用AIK作为EK的别名(多个)。

TPM使用EK生成AIK,并通过CA签发的AIK证书来完成身份认证。

要解决认证过程的匿名性(隐私性)问题:

1)除TPM及所在平台外,任何实体不能确定EK与AIK的绑定关系,不然获得AIK证书的实体就可能掌握TPM的PII(私密性标识信息)

2)AIK证书只是让其他实体相信,用AIK签名的信息确实来自一个可信平台,但不知道具体是哪一个TPM,在平台层次实现对私密性的保护。

15. AIK证书的合法性 – Privacy CA方法


Privacy CA方案采用一次一密的签名方式实现认证过程的匿名性

TPM为每次认证产生一对不同的RSA签名密钥AIK ,并引入Privacy CA对AIK公钥进行证明。

每次认证时,TPM只要将用AIK 签名的,PCR、以及Privacy CA对AIK的证明发送给验证者即可。

由于每次认证时TPM向验证者出示的AIK 公钥各不相同,因而验证者无法分辨对方是否是同一个TPM,平台用户的行为也就无法被跟踪。

16. 可信平台要可信,必须真实的报告系统的状态,同时不能暴露密钥,也要尽量不能暴露自己的身份。数据安全保护是可信平台的核心功能之一:通过密钥对数据采用特定的保护方式:(1)用于数据安全保护的密钥分为对称密钥和非对称密钥(2)被保护的数据可以是任何数据(3)数据安全保护方式包括数据加解密、数据封装等方式。

17. 秘密的类型:

密钥:指可信平台中要用到的、需要受保护的存储机制进行保护的非对称密钥.

数据:受保护的存储结构不对其内容进行解析的秘密,除真正的秘密数据外,还包括对称密钥(TPM将对称加密的任务交给主机平台完成,所以不对对称密钥进行解析),它们只能是受保护的存储结构中的叶子节点。

存储密钥:用来进行加密的非对称密钥,可以作为受保护的存储结构中的非叶子节点,可以对其它密钥进行封装保护。

签名密钥:用来进行签名的非对称密钥,只能作为受保护存储结构的叶子节点。

特殊的签名密钥AIK:作为SRK的直接叶子节点。

18. 密钥是否可迁移:

不可迁移密钥:(1)在TPM中生成的密钥,私钥不离开TPM,受TPM完全控制(2)是TPM可鉴定的密钥(3)TPM的父密钥必须也是“不可迁移”密钥,不能是“可迁移”密钥。(4)TPM能够区分可迁移密钥和不可迁移密钥,因此它会拒绝迁移一个不可迁移密钥

可迁移不可鉴定密钥:(1)在TPM之外生成,受TPM保护的密钥。(2)由于其私钥在TPM之外存在,也没有权威方对它在TPM之外使用的可信性进行证明,所以对TPM来说,它是不可鉴定的。

可迁移可鉴定密钥:(1)在TPM内部或外部生成,并由任何存储密钥、可迁移密钥或不可迁移密钥进行加密。(2)只有当密钥的所有者授权迁移,TPM才会迁移一个密钥(3)终端用户可以使用一个不可迁移密钥作为父密钥,则不用担心对其子孙密钥未授权的迁移行为(4)如果祖先密钥发生迁移,则所有子孙密钥都同时发生迁移。

19. 可信平台软件架构


20. 

 

  • 16
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

康雨城

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值