- 1、本文档共61页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
动态可信度量
提纲 静态可信度量根 动态可信度量根 Flicker: Minimal TCB Code Execution 静态可信度量的问题 2006年,德国Dresden大学的研究者发现现有的静态可信度量根存在着如下缺陷: 引导装载程序(Bootloader)中存在bug Dartmouth的Bear project的可信引导程序装载不完整 IBM IMA把加载内核镜像和度量并扩展PCR分开 Trusted GRUB在硬盘损坏或光盘启动时不扩展PCR 无法抵御BIOS攻击 BIOS可刷写,机器启动时不对BIOS进行度量 TPM的重启攻击 对LPC总线攻击在平台没有重启情况下重启TPM 静态可信度量根 动态可信度量根 Flicker: Minimal TCB Code Execution 动态可信度量根 作为TPM 1.2规范的一部分,TCG定义了一种新机制来度量系统的启动过程:动态可信度量根。 动态可信度量根 动态可信度量根由CPU发出一条新增安全指令出发,告诉TPM芯片开始要创建一个受控的和可信的执行环境 信任链由该条新增指令开始重置动态平台寄存器,TPM 1.2规范中规定的8个新增PCR 16~23平台寄存器,以此为基础开始构建信任链而且不需要重启整个平台 不像静态信任根,动态可信度量根使得可以在任意时刻开始构建信任链并且可以按照需要多次创建可信执行环境而不用重启整个平台 动态可信度量根 对比SRTM把BIOS核心不可修改的部分作为静态核心度量根,简称S-CRTM,那么这里新增的CPU指令就是动态核心可信度量根,简称D-CRTM。 目前Intel的TXT技术,以及AMD的SVM技术都是采用动态可信度量根作为基础的安全技术 当然这两项技术不仅仅只是DRTM,还包括DMA保护等等一些其他安全特性,但是DRTM无疑是这些系统最核心的信任基础、信任根。 动态可信度量根 动态可信度量的信任链移除了BIOS及其配置,可选ROM及其配置以及前面提到的由于bugs带来漏洞的Boot loaders 不会受到上述提到的缺陷1和缺陷2所带来的威胁。 而且动态可信度量可以开始于任意时刻且不用重新启动整个平台 不存在度量的时机问题这个不足了,也不会影响到用户体验,对不可间断服务的影响也大大的降低。 Locality 动态可信度量根的主要目的是引导一个可信的操作系统,并且该操作系统能支持创建多个相互隔离的安全域,在安全域中再运行客户操作系统或者是应用程序。 然而当可信操作系统、客户操作系统和应用程序都使用同一个TPM时,就出现了问题: TPM作为一个被动的接受指令的硬件,它如何能区分度量值、命令是源自可信操作系统、客户操作系统还是应用程序呢? Locality 在TPM 1.1规范中TPM拥有16个平台配置寄存器PCR,在TPM 1.2规范中增加了8个共计24个平台配置寄存器PCR。 静态可信度量为了保证PCR度量值的可信,在TPM设计的时候要求PCR寄存器仅仅在平台重启的时候才可以被重置到初始值 而动态可信度量为了能够不影响用户体验或者是服务的连续性可以在任意时刻重置动态PCR寄存器(PCR 16~23)到初始值 为了使TPM区分TPM指令来源于可信硬件、可信操作系统、可信操作系统中的应用程序还是普通环境(由S-CRTM及其信任链构建的传统环境),TPM 1.2规范限制了可以重置PCR 16~23的Locality。 Locality Locality 由于引入了Locality概念以及多个Locality级别,DRTM的保护可以做得更加安全。 比如说用户可以设置某个密钥只可以在Locality 1下被unseal出来并seal到可信操作系统的PCR上,那么在普通非可信操作系统中,恶意软件无法偷取到这个密钥; 而当恶意软件启动DRTM进入Locality时,因为DRTM信任链更加安全,恶意软件很难进入可信操作系统,或者是让不可信系统得到与可信系统相同的度量值。各个Locality的空间相互隔离,用户不需要去担心敏感信息被不可信的操作系统所窃取。 TXT 类似于AMD的SKINIT,Intel在06年提出了Lagrande Technology (LT),后来叫做TXT 首先是TXT增加了一个认证的代码模块authenticated code module (AC module,又称为SINIT ACM),在指令GETSEC[SENTER]执行后这个代码模块首先被认证,因为该模块是经过签名的并包含一个公钥,在Intel的CPU中含有这个公钥的hash值,所以首先CPU将认证这个公钥,然后再用这个公钥去对AC module进行认证。 在认证完了之后才会执行AC module,而之后AC module将加载经过度量后的启动环境MLE (Measured
文档评论(0)