TPM核心功能专题知识课件.ppt

上传人(卖家):ziliao2023 文档编号:7028601 上传时间:2023-08-30 格式:PPT 页数:42 大小:213.50KB
下载 相关 举报
TPM核心功能专题知识课件.ppt_第1页
第1页 / 共42页
TPM核心功能专题知识课件.ppt_第2页
第2页 / 共42页
TPM核心功能专题知识课件.ppt_第3页
第3页 / 共42页
TPM核心功能专题知识课件.ppt_第4页
第4页 / 共42页
TPM核心功能专题知识课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

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

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

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

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

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

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

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

8、I-ES,某TPM的一组PCR寄存器GPCR-x的值是VPCR-x,密封的签名的含义是:l把M和VPCR-x连接起来,得到M|VPCR-x;l计算M|VPCR-x的哈希值,得到H(M|VPCR-x);l用KPRI-ES对H(M|VPCR-x)进行签名,得到H(M|VPCR-x)KPRI-ES。l验证签名时,验证方只需使用ES的公钥KPUB-ES对H(M|VPCR-x)KPRI-ES进行验证,就可以判断该签名是不是在TPM的指定状态VPCR-x下实施的。TPM-Bindingl绑定:设实体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称为绑定密钥。Attestationl证明者利用AIK对挑战者指定的PCR值进行签名后,附加上对应的度量日志(SML)表项和AIK证书一起发送给挑战者。l接下来挑战者对证明值进行验证。验证过程包括根据度量日志重新计算哈希值(期望值)、对AIK证书进行验证以及将签名值和期望值进行匹配三个步骤。Attestationl(1)远程挑战者产生一个随机数nonce对可信平台客户端发起挑战请求,

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

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

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

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

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

15、那么Privacy CA将服务大规模数量的AIK证书请求,从而导致了可用性问题。lSolution:Direct Anonymous Attestation(DAA)BrCaCh2004,Brik2007Direct Anonymous Attestations(DAA)protocoll直接匿名证明(DAA,Direct Anonymous Attestation)协议基于TPM平台、DAA签署方(Issuer)、DAA验证方(Verifier)三个实体。DAA协议包括加入(Join)和签名/验证(Sign/Verify)两个步骤:l在Join步骤,签署方验证TPM平台,并为TPM平台签署D

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

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

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

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

20、绑定、普通和继承密钥。对称密钥被单独分类为验证密钥,非对称密钥大多要求 2048 位的RSA密钥。TPM Key ObjectStorage Keysl存储密钥(Storage Keys)是用来加密数据和其它密钥的通用非对称密钥,这里的其它密钥可以是另一个存储密钥、也可以是绑定密钥或者是签名密钥。它本身是长度为2048比特的RSA私钥;它既可以是可迁移密钥,也可以是不可迁移密钥。Storage Keysl存储根密钥(Storage Root Key,SRK)是存储密钥的一个特例。整个系统拥有一个最高权限的存储密钥,这个最高级密钥也就是存储根密钥。它很特殊,在每个用户创建的时候生成,管理着这个用

21、户的所有数据,也就是存储可信根(Root of Trust for Storage,RTS)。它签署密钥(Endorsement Key,EK)一样,一个TPM仅存在唯一一个。所有其他的密钥都在存储根密钥的保护之下。Signing keys l签名密钥(Signing Key):是非对称密钥,用于对应用数据和信息签名。签名密钥可以是可迁移或者不可迁移的。可迁移密钥能够在TPM之间传递,通过迁移密钥传递保密数据。TPM中的签名密钥都遵循RSA签名密钥的标准,它们有若干种不同的长度。TPM能够正确地进行处理的最大密钥长度是2048比特。Attestation Identity Keys(AIK),

22、),EK l签署密钥(Endorsement Key,EK)是一个TPM平台的不可迁移的解密密钥,它是一个2048 bits的RSA密钥对。l它生成于平台的生产过程中,代表着每个平台的真实身份,每个平台都拥有唯一的一个。在确立平台所有者时,用于解密所有者的授权数据,还有解密与生成AIK相关的数据。l签署密钥从不用作数据加密和签名。签署密钥的主要功能是生成身份证明密钥(AIK)和建立TPM平台的所有者,由TPM的所有者来生成存储根密钥SRK(Storage Root Key),使用SRK来加密、存储其他的密钥。EKlEK可以通过密钥生成服务器,采用两种方法来产生:l一是使用TPM命令,TCG规范

23、定义了一组背书密钥操作命令,其中创建背书密钥对的命令为:TPM_CreateEndorsementKeyPair,产生密钥长度要求至少2048位;l另一种方法是密钥“注入”技术,在信任制造商的前提下,由TPM制造商产生背书密钥对,然后采用人工方式注入,注入的方法有:键盘输入、软盘输入、专用密钥枪输入等。EKl对比这两种方法,前者必须依赖硬件中提供受保护的功能(Protected Capability)和被隔离的位置(Shielded Location),从而保证在设备内部产生密钥对,而且密钥对是在篡改保护的环境下产生,能够很好地减少密钥对泄露的风险;l后者则对环境、管理和操作方法要求较高,首先

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

25、。每个用户可以拥有多个AIK,每个AIK的生成都需要可信第三方的支持。Binding Keysl绑定密钥(Binding Key):用于在一个平台中加密小规模数据(如对称密钥),然后在另一个 TPM 平台上进行解密。由于使用平台所特有的密钥加密,所以与该平台绑定。这个密钥的用法同传统非对称密钥加密相同。Sealing Keysl内置了TPM的计算机可以创建一个密钥,该密钥不仅被绑定,而且还被连接到特定硬件或软件条件,这称为密封密钥。首次创建密封密钥时,TPM将记录配置值和文件哈希的快照。仅在这些当前系统值与快照中的值相匹配时才解封或释放密封密钥。Legacy Keysl遗留密钥(Legacy

26、Keys)在TPM之外生成,它们被定义为可迁移的,在被用来签名或加密之后才会载入TPM。这些密钥用在一些需要在平台之间传递数据的场合。l保证密钥版本规范的向下兼容性Authentication Keysl鉴别密钥(Authentication Keys)是用来保护涉及TPM传输会话的对称密钥。TPM-Key HierarchyTPM-Key HierarchyKey Managementl为了更有效地管理存放在TPM外边的密钥,引进一种密钥缓冲管理机制(Key Cache Manager),它主要管理TPM中受限制的资源,并且对应用程序调用隐藏这些限制。l应用程序可以通过利用KCM来载入密钥到TPM中,并假定此密钥可以进一步利用。KCM负责保证当应用程序某个命令需要密钥时,这个已经被应用程序载入的密钥存在于TPM中。如果所有TPM资源被占用,KCM需要释放资源将不经常使用的密钥从TPM芯片里取出来,以便为那些经常进出TPM的密钥腾出空间,将需要的密钥放人TPM应用程序需要利用KCM来将密钥装载到TPM 中。

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

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(TPM核心功能专题知识课件.ppt)为本站会员(ziliao2023)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|