CN101473329B - 用于执行可信计算完整性测量报告的用户设备 - Google Patents
用于执行可信计算完整性测量报告的用户设备 Download PDFInfo
- Publication number
- CN101473329B CN101473329B CN200780022804XA CN200780022804A CN101473329B CN 101473329 B CN101473329 B CN 101473329B CN 200780022804X A CN200780022804X A CN 200780022804XA CN 200780022804 A CN200780022804 A CN 200780022804A CN 101473329 B CN101473329 B CN 101473329B
- Authority
- CN
- China
- Prior art keywords
- platform
- pcr
- tpm
- ground state
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Abstract
本发明公开了一种通过使用可信平台模块(TPM)来执行多个子系统的完整性测量的设备和方法。在启动之后,平台配置寄存器(PCR)的状态是作为系统基态来保存的。在另一个实施方式中,所要检验的应用将会请求从系统基态开始扩展其状态。当接收到此类请求时,该系统的状态将会直接从基态PCR内容而不是从系统状态开始扩展。在另一个实施方式中使用了虚拟PCR,其中与常规TPM为物理PCR提供的存储器空间相比,该虚拟PCR通过使用外部受保护存储器上的加密存储而使用了更大的存储器空间。
Description
技术领域
本发明涉及跨越多个平台(即子系统)的可信计算(即计算机安全性)。更特别地,本发明涉及用于执行可信计算完整性测量报告的设备和方法。
背景技术
平台配置寄存器(PCR)是可信平台模块(TPM)内部用于存储数据散列(hash)的存储器位置。事实上,TPM存储器既可以是易失的,也可以是非易失的。
常规的可信计算组织(TCG)规范允许读取、扩展和引用那些由TPM对PCR执行的操作。读取操作被用于读取指定的PCR值。扩展操作则通过用新内容扩展旧内容而被用于修改PCR值。这样做允许质询方(challenger)了解最终的PCR摘要(digest)是如何被构建成的。引用操作被用于完整性报告,其中PCR值是由TPM使用身份证明密钥(AIK)加密的。在这上下文中的证明指的是向该信息的内部或外部质询方或请求方提供系统可信度测量的活动。所述完整性报告可以用于确定平台的当前配置。
当TPM通过执行操作来产生完整性量度以便以后用于在实施关于已散列的一段代码或数据的完整性检验时,TPM并不会只简单计算目标数据或代码的最近值的散列,并且随后将该值输入PCR。取而代之的是,TPM会将PCR的当前已有值与所要测量的系统组件的新值级联,并且对该被级联的数据执行安全散列算法(SHA),以便执行扩展操作,以及将结果输入到目标PCR中。
在每次扩展PCR时,在TCG事件日志中还会产生日志条目。TCG事件日志也被称为测量存储日志(SML),该日志是一个关于在TPM驻留的平台上发生的事件的日志。SML是一个与包含TPM的系统平台中的组件的被测值(例如一段代码)相关的日志。TPM对在TPM驻留的平台中发生的事件进行测量(例如加载特定应用软件(SW))。测量核心是控制TPM的平台操作系统(OS)的可信部分,并且该测量核心会在OS发出请求的时候产生测量事件。应该指出的是,“测量事件”并不是在平台自身内部发生的事件,而是一个用于表示为在平台中发生的事件执行的“测量”活动或事件的术语。这种平台事件的实例是在系统存储器中读取一段软件代码。测量事件由两类数据构成:1)测量值——内置数据或程序代码的表示;以及2)测量摘要——这些值的SHA散列。TPM对数据进行扫描,其中该TPM将会产生消息摘要。这些摘要则是机器工作状态的快照。这两种数据元素(测量值和测量摘要)是分开存储的。测量摘要保存在TPM的PCR中。而测量值则可以保存在几乎任何地方,并且一般被保存在SML中,但是这些测量值必须以加密方式存储。实际上,测量值也可以根本不保存,而是在需要串行化表示的时候重新计算。测量数据描述的是被测组件的属性和特性。SML包含了相关测量值的序列。每一个序列都共享了一个公共测量摘要。而测量值则被附加于这个公共测量摘要,并且将被重新散列。这种处理更常见的是被称为扩展摘要。这种扩展处理将会确保不会忽略相关测量值,并且确保可以保持操作顺序。
在代数上,在任何时间t+1,更新至第n个PCR的处理是如下进行的:
PCR[n](t+1)=SHA-1(PCR[n](t)+测量数据(t+1)) 等式(1)
该PCR值是临时性的,并且它会在系统重新启动时被重置。对测量事件的检验需要重新创建测量摘要以及对摘要值进行简单比较(使用PCR作为比较器之一)。TCG并未规定用于SML内容的数据编码规则,但是建议了可扩展标记语言(XML)之类的后续恰当标准,以便确保广泛的可存取性。
图1显示了一个由系统100实施的常规的TCG证明过程(即协议),其 中该系统包括质询方105、平台代理110、TPM 115以及存储库120。
质询方105从平台代理110那里请求一个或多个PCR值(步骤125)。平台代理110收集SML条目,其中所述SML条目即为完整性测量值(步骤130)。该平台代理110从TPM115请求PCR值(步骤135)。这些PCR值则是完整性测量值的测量摘要(也就是完整性测量值的已签名散列)。TPM115使用AIK来对PCR值进行签名(步骤140),并且将已签名的PCR值发送到平台代理110(步骤145)。此外,平台代理110还从存储库120收集用于担保TPM115的证书(步骤150,155)。该平台代理110将已签名的PCR值、SML条目以及证书发送到质询方105(步骤160)。然后,质询方105对平台配置进行验证(步骤165)。为了执行验证,质询方105从接收到的SML条目中计算一个测量摘要,并且将计算得到的测量摘要与PCR值相比较。此外,质询方105还会评估平台证书并检查签名。
PCR值是在每次执行测量的时候扩展的,并且该信息由TPM 115记入日志。这种扩展处理将会确保测量顺序得以保留,并且将会确保顾及所有测量值。与扩展PCR值的处理相关联的一个难题在于:平台状态会在执行任何测量的时候发生变化,因此,如果PCR是由不与当前应用相关的某个应用来扩展的,那么系统状态未必精确。
当前,除了为启动处理保留的PCR之外,尚没有一种将PCR指定给应用的标准指定方式。由此可能导致一个以上的应用使用同一PCR的状况,出于下述原因,这种状况是存在问题的。
举个例子,如果在可信数字权限管理(DRM)应用之前加载可信的浏览器应用,那么,倘若这两个应用全都使用同一PCR,则DRM应用需要的系统状态未必与预期状态相匹配。由于系统状态并不是所期望的系统状态,因此,这种情形有可能导致无法加载所述应用。此外,DRM应用的质询方还会获得浏览器正在运行的信息。而这将会危及用户隐私。
举个例子,图2显示了一个由系统200执行的常规TCG过程,其中该系统包括第一质询方205、第二质询方210以及用户设备215,并且该用户设备包括平台代理220以及TPM 225,由此,不同的应用会在不知道彼此扩展操作的情况下从不同状态扩展PCR。如果第一质询方205与第二质询方210请求对PCR值做出相同改变,那么即使平台配置有效,第二质询方210执行的平台配置检验也会失败。
参考图2,第一质询方205发送请求以用于从平台代理220得到平台配置(步骤230),然后,平台代理220在常驻的TPM 225上扩展PCR(步骤235),并且从TPM 225请求PCR的已签名值(步骤240),所述TPM 225则将已签名的PCR值(由TPM 225使用AIK来签名)回送到平台代理220(步骤245)。然后,第一质询方205接收来自平台代理220的平台配置(步骤250)。应该指出的是,在该处理中(步骤250),第一质询方205通常还会接收已签名PCR值以及SML条目(这其中的任何一个都未在图2中显示),并且使用平台配置数据、已签名PCR值以及接收到的SML条目来检验平台配置(步骤255)。
第二质询方210可以单独请求(步骤260)并且在以后接收(步骤280)来自平台代理220的平台配置,该平台代理则会在TPM 225中扩展同一PCR(步骤265),并且从TPM 225请求和接收(步骤275)已签名的PCR值。然后,第二质询方210可以检验其接收的平台配置(步骤285)。第一质询方205和第二质询方210有可能并不知道对方,此外,由于当前TCG规范没有规定一种系统方法来以安全和保护隐私的方式指定可以用于记录那些适合并有益于不同质询方的测量摘要的TCG,因此,同一PCR有可能会被用于记录这两个不相关质询方的测量摘要。这样将会产生一个问题,那就是第二质询方210未必知道使用第一质询方205的测量结果扩展的PCR值所表示的系统状态。由此,从第二质询方210的角度来看,除非它已经追踪到同一 PCR业已因为第一质询方205的测量和检验而被改变的事实,否则第二质询方210有可能会在其检验处理中来比较错误的数据集合,这是因为它在自身的PCR检验之前未必接收到用于创建PCR扩展顺序所需要的所有SML。作为替换,由于这些SML有可能会在多次PCR扩展迭代之后变得过大,因此,第二质询方210有可能会耗尽所有处理能力来处理所有先前的SML条目,以便重新创建最近的PCR状态。
图2的TCG过程还有可能导致隐私信息泄露,其中所述隐私信息只允许公开给一个质询方,而不允许公开给其他质询方。此外,当前的过程还有可能导致发生无保证的检验(在不应该进行检验的时候),或者在质询方一端有可能做出不进行检验的非预期决定(在应该进行检验的时候)。当前,这个问题是通过使用下列方法中的一种或多种方法来解决的:
保留PCR:由于系统状态是用PCR表示的,因此可以将某些PCR指定给某些应用。这种方法的缺点在于:依据成本和尺寸方面的考虑因素,TPM中的PCR数量通常约为16(TCG标准并未限制PCR的数量)。由此将会限制把固定的PCR指定给每一个应用类型的能力。
使用PCR事件日志:PCR值的任何改变都被TPM记入日志。该日志可以与PCR值一起使用,以便查看系统是否处于正确状态。但是,该方法的问题是所述日志有可能包含了不与所论述的应用直接关联的信息,由此可能危及用户隐私。
如果在启动过程中按照预定顺序加载所有应用,那么同样可以消除这个问题。但是,由于必须在启动过程中检验和加载所有应用,因此,启动时间将会变长,由此使得该方法的使用变得不切实际。
这些方法在限制可信平台功能方面或是在用户隐私损失方面都存在着严重缺陷。
发明内容
本发明涉及一种通过使用TPM来进行多个子系统的完整性测量的方法和设备。启动之后的PCR的状态是作为系统的基态(base state)来保存的。在这个上下文中,基态被定义成是系统启动完成时的系统状态,并且只有在核心级加载新软件时,该状态才可以改变。该状态本身可以被报告给有兴趣检验操作系统(OS)完整性的质询方。
在本发明的另一个实施方式中,通过在外部受保护存储器上使用加密存储,可以使用虚拟PCR,其中该虚拟PCR使用的存储器空间大于常规TPM为物理PCR提供的存储器空间。
在本发明的又一个实施方式中,将要检验的应用请求从系统基态开始扩展其状态。在接收到此类请求时,系统状态将会直接从基态的PCR内容开始扩展,而不是从系统状态开始扩展。
此外,对充当系统状态的测量和检验处理的基准起始点的基态来说,其声明将被递送到某个系统,并且将会以基准基本状态证书的形式存储。在这里将会执行测量,并且系统状态的测量结果(通常采用摘要形式)将会与这些证书中描述的基态值相比较,此外,在这里是将声明而不是原始测量摘要值扩展成物理PCR或虚拟PCR。
本发明提供一种用户设备,该用户设备包括:
证书储存库,具有指示基态且包含第一散列值的已签名基准基态证书;
平台代理,被配置成接收来自第一质询方的第一命令,以便获取从由基态规定的起始配置中计算得到的平台配置,其中该基态与质询方要检验完整性的已加载应用相适应;以及
可信平台模块,被配置成接收第二命令,以便检查与所述质询方要检验完整性的应用相适应的已签名基准基态证书,从而从所述证书储存库获已签名基准基态证书,其中:
所述平台代理还被配置成构造具有第二散列值的声明,并向所述可信平台模块发布第三命令,以便执行检验扩展操作;和
所述可信平台模块还被配置成在检验出所述第一散列值与所述第二散列值相同后,对特定平台配置寄存器进行扩展,该特定平台配置寄存器受所 述可信平台模块控制并且特定于为了所述质询方而正被检验完整性的应用。
在本发明的另一个实施方式中,所述可信平台模块使用标识证明密钥(AIK)来对平台配置寄存器值进行签名,并且将已签名的平台配置寄存器值发送到所述平台代理。
在本发明的另一个实施方式中,所述平台代理将包含已签名平台配置寄存器值的平台配置信息发送到所述质询方。
在本发明的另一个实施方式中,所述质询方检验是否已从所述已签名基准基态证书指示的正确基准系统状态中正确加载了所述应用,而没有损害到该应用。
附图说明
从以下关于优选实施例的描述中可以更详细地了解本发明,这些优选实施例是作为实例给出的,并且可以结合附图而被理解,其中:
图1显示的是在包含质询方、平台代理、TPM和存储库的系统中实施的常规TCG证明过程;
图2显示的是在包含两个质询方以及用户设备的系统中实施并且由此不同应用在不知道彼此扩展操作的情况下从不同状态开始扩展PCR的常规TCG过程;
图3显示的是根据本发明并且在包含两个质询方以及用户设备的系统中通过使用从公共基态开始的状态扩展来实施的TCG过程;
图4对现有技术以及本发明进行了比较,由此为不同的质询方实施不同的扩展状态;
图5显示的是根据本发明而在不同PCR上分配不同扩展状态的处理;
图6显示的是根据本发明而在包含两个质询方和用户设备的系统中通过使用具有基准基态(RBS)证书的基态扩展实施的TCG过程;
图7描述的是根据本发明的选择性测量请求;以及
图8显示的是根据本发明的虚拟PCR以及如何可以使用具有TPM和虚拟PCR的系统来为质询方的平台配置完整性检验提供数据,其中该虚拟PCR使用的是受物理TPM的加密能力保护的外部存储器。
图3和4显示的是根据本发明并且相对于基态来检索PCR的信号图。
图3显示的是由系统300实施并且由此使用了从公共基态开始的状态扩展的TCG过程,其中该系统包括第一质询方305、第二质询方310以及包含了平台代理320和TPM 325的用户设备315。参考图3,第一质询方305从平台代理320那里请求从基态中计算得到的平台配置(步骤330),然后,平台代理320在TPM 325上从基态开始扩展(步骤335)PCR,并且随后(步骤340)从TPM 325请求已签名的PCR值,所述TPM 325则会将已签名的PCR值回送到(步骤345)平台代理320。然后,第一质询方305接收来自平台代理320的平台配置(步骤350)。之后,第一质询方305会将其在步骤350中接收的平台配置数据与其自身计算的值相比较,并且检验平台配置(步骤355)。
第二质询方310可以在以后单独请求并且在以后单独接收(步骤380)从基态值中计算得到的平台配置,其中该基态与在步骤335中使用的基态相同,但是它是用适合第二质询方310及其检验目标和目的的不同测量值扩展的。由此,一旦从第二质询方310发出请求,那么平台代理320将会扩展同一PCR(步骤365),其中该PCR并不是从其最后一个值开始扩展的,而是从步骤335中使用的相同基态开始扩展的。然后,平台代理320从TPM 325请求(步骤370)并且接收(步骤375)已签名的PCR值(由TPM 325使用AIK来签名),之后,第二质询方305可以检验其接收的平台配置(步骤385)。由于第一质询方305和第二质询方310全都接收到的是从基态中结合其自身测量值而被独立计算的平台配置数据,因此,图3描述的过程可以避开那些在图2的常规过程中描述的问题。
图4将现有技术与本发明进行了比较,由此为不同质询方实施不同的扩展状态。如图4所示,系统被描述成已经完成启动405,并且已经达到基态410。在现有技术中,在加载第一应用并且随后由质询方对其进行检验时,系统状态315将会改变,以便反映这个第一应用的加载。接下来,在加载第二应用425并且需要由另一个质询方对该应用进行检验时,系统状态420现在将会反映从系统状态415开始的变化,而不是反映从基态410开始的变化。
根据本发明,由于分配给不同质询方的PCR(或虚拟PCR)都会从基态开始扩展,因此,所有质询方都仅仅是结合专门需要其检验的应用加载处理的净效应(net effect)来检验其目标状态的。在本实例中描述了两个这样的质询方,即质询方1和质询方2,并且这两个质询方都对从基态410独立开始扩展的派生目标状态(用于质询方1的派生状态425和用于质询方2的派生状态430)进行检验。
根据本发明的第一实施方式,TPM在系统重启过程中会将PCR值重置成其默认值。这里引用的系统可以是任何平台,例如个人计算机(PC)、个人数据助理(PDA)、嵌入式系统、移动电话、具有嵌入式系统的外周设备、网络元件、以及配备了TCG技术的其他平台,尤其是配备了能够使用TPM或等价实体或是能够通过使用TPM或等价实体而被启用的功能和服务。PCR值是针对TPM的已知基态而被报告的。优选地,TPM的这个基态保存在TPM中,并且可以在必须测量新应用的时候使用。TPM的基态可以代表系统启动完成时的状态,并且每一个应用的状态是针对这个基态来计算的。
TPM基态是一个不同于系统基态的概念。根据本发明,当前TPM的附加功能将被定义,由此它们不会在启动时重置所有PCR值,取而代之的是,它们会将某些可以代表‘成功启动时的TPM状态’的值作为‘TPM的基态’,并且将这些值保存在TPM自身内部的受屏蔽的非易失存储器中。应该指出的是,这种非易失存储器与PCR不同,它同样会在启动时重置。由于TPM基态是一个代表了在收容该TPM的系统成功启动时的TPM状态的值,因此,该基态可以间接表示系统自身的‘清洁’状态。此外,这种TPM基态可以是非易失的,并且可以在启动时返回这种基态,以便充当PCR扩展操作的基态。为了在TPM内部存储基态,附加的受屏蔽(也就受保护)非易失存储器是必需的,此去还需要传输控制协议(TCP)软件栈(TSS)的指示,以便表明当前状态必须从系统基态中计算。
TSS是能够启动和控制这种在TPM外部但却在平台自身(例如平台OS)或其代理(也就是图3中的平台代理320)内部进行或是受其控制的完整性测量、报告和检验过程的软件栈(例如图3中描述的步骤330、335、340、345以及350)。
根据第一实施方式,TPM基态被安全地保存在TPM自身内部,并且是在启动通过TSS而被TPM外部、也就是平台代理或平台OS而被得知的,由此,质询方可以使用这种“TPM基态”作为基准基态,并且从中可以构建质询方需要检验的应用的完整性测量。在TPM中只需要固定数量的存储容量(与TPM包含的PCR数量相等)。这个已知的基态会在系统加载新应用的时候使用,由此允许以预期的方式来执行完整性测量。举个例子,当TPM具有数量为X的PCR时,这时同样具有X个“TPM基态”,其中每一个基态都与X个PCR中的一个PCR相对应。所存储的TPM基态被用于扩展每一个PCR,并且每一个都被分配用于测量某个已加载应用的完整性。由此,通过这种方式,可以追踪和测量至多X个不同应用的加载处理完整性。
根据本发明的第二实施方式,系统可能具有的PCR的数量是没有固定大小的限制的。但是在实践中,大多数实施方式中的数量约为16个PCR。用PCR标识号衡量的可扩展性(PCR地址的范围可以是从0到232-1,其中大于230的值是保留供以后使用的)可以用于创建虚拟PCR的概念,其中所述虚拟PCR并未物理存在于TPM中,其本质上是虚拟的。这些虚拟PCR内容可以作为加密数据存储在外部存储器或TPM自身之上。这些虚拟PCR值的内容只能从其他PCR值开始扩展。这样做允许应用根据PCR值可以扩展的内容来定义基态。优选地,每一个应用都给出了一个或多个虚拟数字,并且该虚拟数字可以用于执行完整性测量。这样做允许将PCR数字分配给应用,这与将端口号码分配给公知的因特网应用的处理是相似的。
由此,根据第二实施方式,可以由平台创建且经过加密并受到保护的存储空间将会与TPM的密码加密功能结合使用,以此替换由硬件实施的PCR。由于为PCR保留的地址空间很大,并且其阶次约为232,因此,我们可以使用地址空间来指定平台系统中任何受密码加密保护的存储器部件(例如随机存取存储器(RAM)),以此来替换PCR。这样一来,我们可以具有比现实的硬件PCR更多的虚拟PCR。由此,我们还可以使用这些多出很多的“虚拟PCR”来追踪多出很多的应用加载以及其他“值得测量的”事件的完整性。
根据本发明的第三实施方式,所有PCR内容都会在系统启动过程中重置。与在如上所述的第二实施例中一样,如果存在很多虚拟或现实PCR,那么指定给一个或多个应用的PCR优选是从已被初始化的状态中直接计算的。这样做需要将固定的PCR分配给应用,但是不需要保存基态。
根据本发明的第三实施方式,当我们在系统中具有很多现实或虚拟PCR时,我们可以将其基本分组,然后,每一组PCR都被预先分配,以便追踪某一个应用的完整性测量,而在不属于为该特定应用指定的群组的实际或虚拟PCR中是不会记录其他应用的测量的。这样一来,即使重置了所有的PCR,并且没有用以构建完整性测量历史记录的特定基态,也可以使用来自每一组的一个PCR作为系统所具有的启动后的“清洁的初始状态”,并且随后可以采用预定的顺序方式来使用同一组中的其他PCR,以便记录事件历史记录的详细快照(例如加载同一应用的不同版本)。由此,我们未必需要将所有事件扩展到同一PCR中,相反,我们可以仅仅将这些扩展的快照记录到不同的PCR中,而不必实际扩展单个的PCR。此外,我们还可以使用大量PCR(所有这些PCR全都属于同一群组)及其值以及已更新PCR的顺序的知识来创建完整性测量摘要的历史记录,其中所述摘要的快照将会保存在附属于该群组的每一个PCR中,并且仅仅适用于结合该平台的特定应用的历史记录。
图5显示了这样一种PCR配置,其中用于应用1和应用2的PCR是用完即可丢弃的。PCR的内容可以在每次需要测量应用的时候重置,并且PCR内容可以从这个已被初始化的状态开始扩展。指定给操作系统和驱动器的PCR内容以及为应用计算的PCR值可以被发送到质询方,以便检验系统完整性。
如上给出的所有这三个实施方式全都有助于质询方检验平台状态是否即为所期望的状态,而不会危及用户隐私。
所有这三个实施方式还可以通过使用基准完整性量度(RIM)证书来增强。常规的RIM证书被定义成用于为移动电话的启动处理提供声明的特定 方法。这种常规的RIM证书包含了关于系统应该在启动之后达到的基准状态的声明。在启动之后,如果系统确定其已经达到RIM证书中规定的相同状态,那么该系统将会请求TPM更新其PCR0(第一PCR),以便获取该声明的SHA散列操作值,其中所述声明说明的是同样也被检验的已达到状态。
根据本发明,在这里使用了一个基准基态(RBS)证书。对常规的RIM证书来说,它只能为一个通常适用于所有应用的平台OS的单个公共启动后状态提供声明,与之不同的是,新的RBS证书被用于提供特定应用的基准基态的声明。这种概念上的差别同样导致这样的事实,即对使用RBS证书的系统来说,平台在任何指定时间都可以适应多个不同的RBS证书,其中每一个RBS证书都规定了不同应用或应用群组的基态。这与只支持RIM证书的系统形成了对比,由此在任何指定时间,该平台都只能与一个RIM证书合作。同样,我们可以具有多个RBS证书,其中每一个证书都被调整成为众多不同应用的事件(例如加载)规定基准基态,并且每一个证书都被平台适应并且以同时时间为基础而被用于应用特有的基态基准。从PCR的方面来说,每一个RBS证书都需要至少一个为之专用的PCR(现实或虚拟的)。这种专用的PCR依据的是每一个RBS证书,并且它们将被用于记录由平台OS构造以便指示与系统实际状态与基态之间的检查处理的检验或非检验状态相关的信息的散列值。该散列值会在平台代理借助TPM检验系统实际状态与基态的同等性的时候被记录,其中该基态是在RBS证书包含的状态相关声明中指示的。
这种声明的一个实例可以是“经核实,实际系统状态与基态相同”。现在,这种声明的散列被记录在RBS证书的专用PCR中,它不但可以提供用于这个专用PCR的进一步扩展操作的起始点,而且还可以提供其他任何能被用于所指定的应用或应用群组的完整性测量检验的PCR。应该指出的是,RBS证书还包含了所构建的这个“状态检查声明”的散列。由此,通过将散 列操作结果与保存在同一RBS证书的不同部分或是不同RBS证书中的同一声明的散列值相比较,可以为平台OS提供一种用于从能在外部证实的起始点值开始扩展PCR的手段,其中该散列操作是在由OS构建并且用以指示系统状态是否匹配基态的声明上执行的,并且该PCR是为特定应用或应用群组的完整性测量摘要存储指定的。同样,所述值是与在系统实际状态以及相关联的RBS证书中指示的基态之间进行的检查优选的声明所具有的SHA-1散列。
RIM证书传递的是关于核心OS软件的完整性量度以及所述OS的相关信息,例如版本号。然后,对平台TPM的特定PCR、即PCR0来说,在对照实际测量检查了证书内部包含的完整性基准值之后,它被指定成传递用于RIM证书的“检查或未检查”声明。
本发明使用的基态可以包含不同的“状态检查声明”,这些声明可以对照各种不同证书中包含的声明来进行比较。这其中的每一个证书都可以包括关于不同基态的信息,并且每一个都属于特定应用、特定应用组或其他上下文。
图6显示了一个由系统600实施的TCG过程,其中该系统包括第一质询方605、第二质询方610以及用户设备615,并且该用户设备615包括平台代理620、TPM 625以及RBS证书630。如图6所示,第一质询方605可以向平台代理620发布一个命令,以便获取从基态规定的起始配置中计算得到的平台配置(步骤635),其中所述基态适用于第一质询方605在检验完整性的过程中关注的已加载应用。然后,平台代理620向TPM 625发布命令(步骤640),以便检查与第一质询方605希望为之检验完整性状态的应用相适应的RBS状态。TPM 625获取同样经过签名的RBS证书630(步骤650)。然后,平台代理620向TPM 625发布命令(步骤655),以便执行验证和扩展操作。在该操作中,TPM625将会扩展一个受TPM625控制并且特定于应 用的特定PCR(现实或虚拟的),其中该应用是为了第一质询方605而被实施完整性检验的,但是这种扩展是在其核实了某个声明的散列与RBS证书中包含的散列值相同之后进行的,其中该声明是平台代理620在核实系统状态与基态(在RBS证书中指示)相同之后构造的。然后,TPM 625使用AIK来对PCR值进行签名,并且将其发送到平台代理620(步骤660)。之后,平台代理620可以将包含已签名PCR值的平台配置信息发送到第一质询方605(步骤665)。然后,第一质询方605可以使用它从平台代理620接收的平台配置数据来核实(步骤670)是否从RBS证书中指示的正确基础系统状态中加载了它所关注的应用,并且没有对该应用造成损害。
当另一个质询方(也就是第二质询方610)希望核实它所关注的应用的完整性时,它可以借助平台代理620(该平台代理620执行步骤680、692和694)和TPM625(该TPM 625执行步骤685、690和694)但是使用不同的RBS证书而以相似方式、尤其是以基本相同的过程(步骤675和698)来执行这个特定于所述第二质询方610所关注的应用的处理。
图6描述的是结合了所提出的RBS证书的第二实施方式的增强。虚拟PCR被用于存储关于基态的信息;这种处理并不是通过存储需要扩展的实际完整性测量来进行的,而是通过保存关于“检查”或“未检查”的声明来进行的,这与当前在移动可信模块(MTM)中使用RIM证书的处理相同。应该指出的是,与单方面扩展PCR不同,在这里应该使用一个不同的命令(也就是说,如果模拟的扩展结果检查除RBS证书中包含的状态,则扩展PCR)。此外,在PCR中扩展的值并不是实际测量结果,而是一个表明在将实际扩展与RBS证书中包含的状态信息相比较的时候发生的是“检查”还是“未检查”事件的声明。
应该指出的是,在图6中,不同质询方可以为特定于质询方的配置检验处理的检验使用公共的单个RBS证书或是不同的RBS证书,其中每一个RBS 证书都对应于特定的质询方。
在远端实体用以请求未经标准定义的系统状态的过程中还存在着某些特性。其中一个这样的特性是远端实体如何请求测量。
图7显示的是使用主列表和子列表的实施方式的框图。优选地,请求方从主列表中选择一个或多个实体,然后从子列表中选择其希望接收测量的一个或多个部件。如果没有规定子列表,则可以假设主列表中的所有实体的测量值都被发送到请求方。该请求可以具有请求[x][y]的形式,其中x代表的是主列表的标识信息,y标识的是子列表中的部件。如先前所指,y是请求结构中的一个可选部件。这个请求可以使用任何机制来产生,以便传递主列表和子列表的部件,这其中包括使用可扩展标记语言(XML)之类的语言。
如下显示的XML实例被用于请求网络浏览器和媒体播放器应用的测量值。
1.<?xml version=”1.0”,encoding=”UTF-8”?>
2.<RequestPCRValues>
i.<MasterList>
ii.<Id>Applications</Id>
1.<Sublist>
iii.<Id>Internet_Explorer</Id>
iv.<Id>Media_Player</Id>
1.</SubList>
v.</MasterList>
3.<RequestPCRValues>
根据所公开的实施方式,虚拟PCR数字将被指定给应用。优选地,这些值是任何标识符(例如全局唯一标识符(GUID)或是通用唯一标识符(UUID)等等),并且TPM与实际PCR指定之间的映射表优选保存在TPM存储器中。在这种情况下,请求PCR值的应用不知道指定给应用的PCR值, 并且将会使用在多个平台有效的唯一标识符来执行请求。
图8通过结合上述方法显示了如何可以使用具有TPM和虚拟PCR的用户设备系统来向质询方提供用于检验平台配置完整性的数据。图8显示了一个在系统800中执行的TCG过程,其中该系统包括质询方805和用户设备810,并且该用户设备810包括平台代理815、TPM 820以及虚拟PCR 825。应该指出的是,用户设备系统可以具有约为232的虚拟PCR。
如图8所示,质询方805请求(步骤830)平台代理815获取稍后将被用于检验平台完整性的平台配置数据。平台代理815向TPM 820发布命令(步骤835),以便从基准基态开始扩展PCR。平台代理815未必需要规定其希望TPM 820扩展的PCR是一个物理PCR还是虚拟PCR。然后,TPM 820扩展虚拟PCR的值,并且使用保存在TPM 820自身内部的加密密钥或是保存在TPM外部但受保存在TPM820自身内部的密钥保护的密钥来加密具有新扩展值的虚拟PCR 825(步骤840)。稍后,平台代理815命令TPM 820对PCR值进行签名,并且将其发送到平台代理815(步骤845)。然后,TPM820访问虚拟PCR 825,并且从虚拟PCR 825获取经过加密的PCR值(步骤850和855)。之后,TPM对经过加密的虚拟PCR值进行解密(步骤860)。然后,TPM 820对虚拟PCR值重新签名,重新对其进行加密(使用与质询方805具有的密钥不同的密钥),并且将其发送(步骤865)到平台代理815。该平台代理815则会组成包括了来自虚拟PCR 825的数据在内的平台配置数据,并且将其发送到质询方805(步骤870)。然后,质询方805将会使用接收到的平台配置数据来检验用户设备805的完整性状态(或是平台配置)(步骤875)。
实施例
1.一种在包含具有可信平台模块(TPM)、平台代理以及基准基态(RBS)证书的用户设备的计算机系统中的方法,该方法包括:
质询方向平台代理发布命令,以便获取从基态规定的起始配置中计算得到的平台配置,其中所述基态与质询方有兴趣检验完整性的已加载应用相适应。
2.根据实施例1所述的方法,该方法还包括:
平台代理向TPM发布命令,以便检查与质询方有兴趣检验完整性的应用相适合的RBS证书;
TPM获取用于指示基态的已签名RBS证书;以及
平台代理向TPM发布命令,以便执行检验和扩展操作,由此TPM对特定平台配置寄存器(PCR)进行扩展,该特定PCR受所述TPM控制并且特定于为了所述质询方而正被检验完整性的应用。
3.根据实施例2所述的方法,该方法还包括:
检验系统状态与基态是否相同;以及
平台代理检验声明的散列与RBS证书中包含的散列值是否相同。
4.根据实施例3所述的方法,该方法还包括:
TPM使用标识证明密钥(AIK)来对PCR值进行签名;
TPM将已签名的PCR值发送到平台代理;以及
平台代理将包含已签名PCR值的平台配置信息发送到质询方。
5.根据实施例1~4中任一实施例所述的方法,该方法还包括:
质询方检验是否已从所述RBS证书中指示的正确基础系统状态正确加载了所述应用,而没有损害到该应用。
6.一种用户设备,该用户设备包括:
至少一个基准基态(RBS)证书;
平台代理,被配置成接收来自第一质询方的第一命令,以便获取从由基态规定的起始配置中计算得到的平台配置,其中该基态与质询方有兴趣检验完整性的已加载应用相适应;以及
可信平台模块(TPM),被配置成接收第二命令,以便检查与质询方有兴趣检查完整性的应用相适应的RBS证书,从而获取指示基态的已签名RBS证书,其中平台代理向TPM发布第三命令,以便执行检验扩展操作,由此TPM将会对特定平台配置寄存器(PCR)进行扩展,该特定PCR受所述TPM控制并且特定于为了所述质询方而正被检验完整性的应用。
7.根据实施例6所述的用户设备,其中如果系统的状态和基态已被检验出是相同的,那么平台代理检验声明散列与RBS证书中包含的散列值是否相同。
8.根据实施例7所述的用户设备,其中TPM使用标识证明密钥(AIK)来对PCR值进行签名,并且将已签名的PCR值发送到平台代理。
9.根据实施例8所述的用户设备,其中平台代理将包含已签名PCR值的平台配置信息发送到质询方。
10.根据实施例6~9中任一实施例所述的用户设备,其中质询方检验是否已从RBS证书指示的正确基准系统状态中正确加载了应用,而没有损害到该应用。
11.一种用于检验应用的可信平台模块(TPM),该TPM包括:
受屏蔽的非易失存储器,该存储器包括:
第一存储器区域,用于存储多个平台配置寄存器(PCR),其中TPM在系统重启过程中将PCR值重置成默认值;以及
第二存储器区域,用于在成功完成系统启动过程时存储代表平台状态的多个基态,其中至少一个应用的状态是对照基态而被计算的。
12.根据实施例11的TPM,其中系统是从包含下列各项的群组中选出的:个人计算机(PC)、个人数据助理(PDA)、嵌入式系统、移动电话、具有嵌入式系统的外围设备、网络部件、以及其他配备了可信计算群组(TCG)技术的平台,尤其是通过使用TPM而被启用或是允许使用TPM的功能和服 务。
13.一种在包含具有可信平台模块(TPM)和平台代理的用户设备的计算机系统中的方法,所述TPM具有受屏蔽的非易失存储器,并且所述存储器存储多个平台配置寄存器(PCR),该方法包括:
第一质询方发送用于要求来自平台代理且从特定基态计算得到的平台配置的请求;
平台代理使用第一测量值来从特定基态开始扩展TPM的特定平台配置寄存器(PCR);
平台代理从TPM请求特定PCR的已签名值;
TPM将已签名的TPM值发送到平台代理;
第一质询方接收来自平台代理的平台配置;以及
第一质询方将平台配置数据与该第一质询方自己计算的值相比较,并且检验平台配置。
14.根据实施例13所述的方法,还包括:
第二质询方请求和接收从特定基态再次计算得到的平台配置;
平台代理使用与第一测量值不同的第二测量值来扩展特定PCR;
平台代理从TPM请求和接收特定PCR的已签名值;以及
第二质询方对该第二质询方接收的平台配置进行检验。
15.根据实施例14所述的方法,其中第一质询方和第二质询方两者都接收各自的平台配置数据,所述平台配置数据是从基态中但使用该第一质询方和第二质询方各自的测量值独立计算得到的。
16.一种在具有受屏蔽的非易失存储器的可信平台模块(TPM)中的方法,其中该存储器存储了多个平台配置寄存器(PCR),该方法包括:
将PCR划分成组;以及
预先分配每一组PCR,以便追踪应用的完整性测量,其中在不属于指定 给特定应用的组的任何PCR中都不能记录其他应用测量。
17.根据实施例16所述的方法,其中在重置所有PCR时,这时使用来自每一组的一个PCR作为用于系统启动后的“清洁初始状态”的状态保持空间。
18.根据实施例17所述的方法,该方法还包括:
使用所述组中的其他PCR来以预定的顺序方式记录事件的历史记录的详细快照。
19.根据实施例18所述的方法,其中这些事件包括对同一应用的不同版本进行加载。
20.根据实施例18所述的方法,该方法还包括:
将PCR扩展的快照记录在不同PCR中,而不是实际扩展单独的PCR。
21.一种在包含具有可信平台模块(TPM)、平台代理以及虚拟平台配置寄存器(PCR)的用户设备的计算机系统中,用于向质询方提供用于检验平台配置完整性的平台配置数据的方法,该方法包括:
质询方请求平台代理获取平台配置数据,并且该平台配置数据稍后将被用于检验平台完整性;
平台代理向TPM发送命令,以便从基准基态开始扩展PCR;
TPM扩展虚拟PCR的值;以及
TPM使用保存在该TPM自身内部的加密密钥或是保存在该TPM外部但受保存在该TPM内部的密钥保护的密钥来加密具有新扩展值的虚拟PCR。
22.根据实施例21所述的方法,该方法还包括:
平台代理命令TPM对PCR的值进行签名,并且将已签名的PCR值发送到平台代理;
TPM访问虚拟PCR,并且从虚拟PCR中获取已加密的PCR值;以及 TPM解密已加密的虚拟PCR值。
23.根据实施例22所述的方法,该方法还包括:
TPM对已解密的虚拟PCR值进行签名;
TPM使用与质询方具有的密钥不同的密钥来重新加密已解密的PCR值;以及
TPM将重新加密的PCR值发送到平台代理。
24.根据实施例23所述的方法,还包括:
平台代理构造平台配置数据,其中该平台配置数据包括来自虚拟PCR的数据;
平台代理将所构造的数据发送到质询方;以及
质询方使用所构造的数据来检验用户设备的完整性状态或平台配置状态。
虽然在特定组合的优选实施例中描述了本发明的特征和部件,但是这其中的每一个特征和部件都可以在没有优选实施例中的其他特征和部件的情况下单独使用,并且每一个特征和部件都可以在具有或不具有本发明的其他特征和部件的情况下以不同的组合方式来使用。本发明提供的方法或流程图可以在由通用计算机或处理器执行的计算机程序、软件或固件中实施,其中所述计算机程序、软件或固件以有形方式包含在计算机可读存储介质中,关于计算机可读存储介质的实例包括只读存储器(ROM)、随机存取存储器(RAM)、寄存器、缓冲存储器、半导体存储设备、诸如内部硬盘和可移动磁盘之类的磁介质、磁光介质以及CD-ROM碟片和数字多用途光盘(DVD)之类的光介质。
举例来说,适当的处理器包括:通用处理器、专用处理器、常规处理器、数字信号处理器(DSP)、多个微处理器、与DSP核心相关联的一个或多个微处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)电路、任何一种集成电路(IC)和/或状态机。
Claims (4)
1.一种用户设备,该用户设备包括:
证书储存库,具有指示基态且包含第一散列值的已签名基准基态证书;
平台代理模块,被配置成接收来自第一质询方的第一命令,以便获取从由基态规定的起始配置中计算得到的平台配置,其中该基态与质询方要检验完整性的已加载应用相适应;以及
可信平台模块,被配置成接收第二命令,以便检查与所述质询方要检验完整性的应用相适应的已签名基准基态证书,从而从所述证书储存库获已签名基准基态证书,其中:
所述平台代理模块还被配置成构造具有第二散列值的声明,并向所述可信平台模块发布第三命令,以便执行检验扩展操作;和
所述可信平台模块还被配置成在检验出所述第一散列值与所述第二散列值相同后,对特定平台配置寄存器进行扩展,该特定平台配置寄存器受所述可信平台模块控制并且特定于为了所述质询方而正被检验完整性的应用。
2.根据权利要求1所述的用户设备,其中所述可信平台模块还被配置成使用标识证明密钥来对平台配置寄存器值进行签名,并且将已签名的平台配置寄存器值发送到所述平台代理模块。
3.根据权利要求2所述的用户设备,其中所述平台代理模块还被配置成将包含已签名平台配置寄存器值的平台配置信息发送到所述质询方。
4.根据权利要求3所述的用户设备,其中所述质询方被配置成检验是否已从所述已签名基准基态证书指示的正确基准系统状态中正确加载了所述应用,而没有损害到该应用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US79416506P | 2006-04-21 | 2006-04-21 | |
US60/794,165 | 2006-04-21 | ||
PCT/US2007/009713 WO2007124091A1 (en) | 2006-04-21 | 2007-04-23 | Apparatus and methods for performing trusted computing integrity measurement reporting |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101473329A CN101473329A (zh) | 2009-07-01 |
CN101473329B true CN101473329B (zh) | 2013-05-01 |
Family
ID=38516167
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200780022804XA Expired - Fee Related CN101473329B (zh) | 2006-04-21 | 2007-04-23 | 用于执行可信计算完整性测量报告的用户设备 |
Country Status (7)
Country | Link |
---|---|
US (1) | US8566606B2 (zh) |
EP (1) | EP2013808B1 (zh) |
JP (1) | JP5038396B2 (zh) |
KR (2) | KR20090006876A (zh) |
CN (1) | CN101473329B (zh) |
ES (1) | ES2664413T3 (zh) |
WO (1) | WO2007124091A1 (zh) |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8799447B2 (en) * | 2006-10-18 | 2014-08-05 | International Business Machines Corporation | Notarizing packet traces |
US8117429B2 (en) * | 2006-11-01 | 2012-02-14 | Nokia Corporation | System and method for a distributed and flexible configuration of a TCG TPM-based local verifier |
WO2008156392A1 (en) * | 2007-06-18 | 2008-12-24 | Telefonaktiebolaget Lm Ericsson (Publ) | Security for software defined radio terminals |
JP4956292B2 (ja) * | 2007-06-25 | 2012-06-20 | パナソニック株式会社 | 情報セキュリティ装置およびカウンタ制御方法 |
WO2009134270A1 (en) * | 2008-05-02 | 2009-11-05 | Hewlett-Packard Development Company, L.P. | Binding data to a computing platform through use of a cryptographic module |
JP5178341B2 (ja) * | 2008-06-23 | 2013-04-10 | パナソニック株式会社 | オプショナルなコンポーネントを伴うセキュアブートの方法 |
US8572692B2 (en) | 2008-06-30 | 2013-10-29 | Intel Corporation | Method and system for a platform-based trust verifying service for multi-party verification |
US8161285B2 (en) * | 2008-09-26 | 2012-04-17 | Microsoft Corporation | Protocol-Independent remote attestation and sealing |
US8732445B2 (en) | 2008-10-10 | 2014-05-20 | Panasonic Corporation | Information processing device, information processing method, information processing program, and integrated circuit |
US8738932B2 (en) * | 2009-01-16 | 2014-05-27 | Teleputers, Llc | System and method for processor-based security |
US8732444B2 (en) | 2009-02-18 | 2014-05-20 | Panasonic Corporation | Information processing device and information processing method |
US9596989B2 (en) | 2009-03-12 | 2017-03-21 | Raytheon Company | Networked symbiotic edge user infrastructure |
US8892862B2 (en) | 2009-07-01 | 2014-11-18 | Panasonic Corporation | Secure boot method for executing a software component including updating a current integrity measurement based on whether the software component is enabled |
EP2348444B1 (en) * | 2009-12-16 | 2014-03-19 | Nxp B.V. | Data processing apparatus |
CN102763113B (zh) * | 2010-02-16 | 2015-10-07 | 诺基亚公司 | 对移动可信模块中的平台配置寄存器进行复位的方法和设备 |
GB2482652B (en) * | 2010-05-21 | 2016-08-24 | Hewlett Packard Development Co Lp | Extending integrity measurements in a trusted device using a policy register |
US9208318B2 (en) * | 2010-08-20 | 2015-12-08 | Fujitsu Limited | Method and system for device integrity authentication |
MY155582A (en) * | 2011-01-13 | 2015-11-03 | Mimos Berhad | System and method to provide integrity measurement of a machine without tpm using trusted agent |
US8903308B2 (en) | 2011-01-14 | 2014-12-02 | Covidien Lp | System and method for patient identification in a remote monitoring system |
US8855550B2 (en) | 2011-01-14 | 2014-10-07 | Covidien Lp | Wireless relay module having emergency call functionality |
US9495511B2 (en) | 2011-03-01 | 2016-11-15 | Covidien Lp | Remote monitoring systems and methods for medical devices |
US9020419B2 (en) | 2011-01-14 | 2015-04-28 | Covidien, LP | Wireless relay module for remote monitoring systems having power and medical device proximity monitoring functionality |
US8897198B2 (en) | 2011-01-14 | 2014-11-25 | Covidien Lp | Medical device wireless network architectures |
US20120324236A1 (en) * | 2011-06-16 | 2012-12-20 | Microsoft Corporation | Trusted Snapshot Generation |
US9058190B2 (en) * | 2011-06-25 | 2015-06-16 | International Business Machines Corporation | Comparing system engram with product engram to determine compatibility with system |
US8930939B2 (en) * | 2011-06-25 | 2015-01-06 | International Business Machines Corporation | Comparing system engram with product engram to determine compatibility of product with system |
US9014023B2 (en) | 2011-09-15 | 2015-04-21 | International Business Machines Corporation | Mobile network services in a mobile data network |
US8971192B2 (en) | 2011-11-16 | 2015-03-03 | International Business Machines Corporation | Data breakout at the edge of a mobile data network |
US8793504B2 (en) * | 2012-02-22 | 2014-07-29 | International Business Machines Corporation | Validating a system with multiple subsystems using trusted platform modules and virtual platform modules |
JP5980050B2 (ja) * | 2012-08-29 | 2016-08-31 | キヤノン株式会社 | 情報処理装置 |
CA2884437C (en) | 2012-09-13 | 2019-02-26 | Covidien Lp | Docking station and enteral feeding pump system |
US8782401B2 (en) * | 2012-09-26 | 2014-07-15 | Intel Corporation | Enhanced privacy ID based platform attestation |
US9152793B2 (en) * | 2012-09-28 | 2015-10-06 | Intel Corporation | Methods, systems and apparatus to self authorize platform code |
WO2014072579A1 (en) * | 2012-11-08 | 2014-05-15 | Nokia Corporation | Partially virtualizing pcr banks in mobile tpm |
US9747471B2 (en) * | 2012-12-12 | 2017-08-29 | Cisco Technology, Inc. | Secure switch between modes |
WO2014137338A1 (en) * | 2013-03-06 | 2014-09-12 | Intel Corporation | Roots-of-trust for measurement of virtual machines |
US9201642B2 (en) * | 2013-03-15 | 2015-12-01 | International Business Machines Corporation | Extending platform trust during program updates |
US10073966B2 (en) * | 2013-04-29 | 2018-09-11 | Sri International | Operating system-independent integrity verification |
USD746441S1 (en) | 2013-09-13 | 2015-12-29 | Covidien Lp | Pump |
US9542568B2 (en) * | 2013-09-25 | 2017-01-10 | Max Planck Gesellschaft Zur Foerderung Der Wissenschaften E.V. | Systems and methods for enforcing third party oversight of data anonymization |
US9519498B2 (en) | 2013-12-24 | 2016-12-13 | Microsoft Technology Licensing, Llc | Virtual machine assurances |
US9652631B2 (en) | 2014-05-05 | 2017-05-16 | Microsoft Technology Licensing, Llc | Secure transport of encrypted virtual machines with continuous owner access |
US10229272B2 (en) | 2014-10-13 | 2019-03-12 | Microsoft Technology Licensing, Llc | Identifying security boundaries on computing devices |
US9584317B2 (en) | 2014-10-13 | 2017-02-28 | Microsoft Technology Licensing, Llc | Identifying security boundaries on computing devices |
US9608825B2 (en) * | 2014-11-14 | 2017-03-28 | Intel Corporation | Trusted platform module certification and attestation utilizing an anonymous key system |
US9519787B2 (en) | 2014-11-14 | 2016-12-13 | Microsoft Technology Licensing, Llc | Secure creation of encrypted virtual machines from encrypted templates |
JP6494373B2 (ja) * | 2015-03-31 | 2019-04-03 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、およびコンピュータプログラム |
EP3495979A1 (de) * | 2017-12-08 | 2019-06-12 | Siemens Aktiengesellschaft | Verfahren und bestätigungsvorrichtung zur integritätsbestätigung eines systems |
EP3561709B1 (en) * | 2018-04-25 | 2020-07-29 | Siemens Aktiengesellschaft | Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus |
US11017090B2 (en) | 2018-12-17 | 2021-05-25 | Hewlett Packard Enterprise Development Lp | Verification of a state of a platform |
RU2706873C1 (ru) * | 2018-12-28 | 2019-11-21 | Акционерное общество "Лаборатория Касперского" | Система и способ проверки ЭЦП файла |
US11372970B2 (en) * | 2019-03-12 | 2022-06-28 | Hewlett Packard Enterprise Development Lp | Multi-dimensional attestation |
CN111866044A (zh) * | 2019-04-29 | 2020-10-30 | 华为技术有限公司 | 数据采集方法、装置、设备及计算机可读存储介质 |
US11360784B2 (en) | 2019-09-10 | 2022-06-14 | Hewlett Packard Enterprise Development Lp | Integrity manifest certificate |
EP3869367A1 (de) * | 2020-02-18 | 2021-08-25 | Siemens Aktiengesellschaft | Computergestütztes verfahren zum speichern eines integritätsstatus, integritätsstatusvorrichtung und computerprogrammprodukt |
US11820239B1 (en) * | 2022-07-20 | 2023-11-21 | Jan Morava | System and method for mitigation of intrusive electromagnetic fields |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545243A (zh) * | 2003-11-24 | 2004-11-10 | 华中科技大学 | 一种身份认证的方法和系统 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963859B2 (en) * | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
US7480806B2 (en) * | 2002-02-22 | 2009-01-20 | Intel Corporation | Multi-token seal and unseal |
JP3863447B2 (ja) | 2002-03-08 | 2006-12-27 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 認証システム、ファームウェア装置、電気機器、及び認証方法 |
US7343493B2 (en) * | 2002-03-28 | 2008-03-11 | Lenovo (Singapore) Pte. Ltd. | Encrypted file system using TCPA |
US7165181B2 (en) | 2002-11-27 | 2007-01-16 | Intel Corporation | System and method for establishing trust without revealing identity |
GB2399906B (en) * | 2003-03-22 | 2006-10-04 | Hewlett Packard Development Co | Method and system for delegating authority and access control methods based on delegated authority |
US7269747B2 (en) * | 2003-04-10 | 2007-09-11 | Lenovo (Singapore) Pte. Ltd. | Physical presence determination in a trusted platform |
US7634807B2 (en) * | 2003-08-08 | 2009-12-15 | Nokia Corporation | System and method to establish and maintain conditional trust by stating signal of distrust |
JP4064914B2 (ja) * | 2003-12-02 | 2008-03-19 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置、サーバ装置、情報処理装置のための方法、サーバ装置のための方法および装置実行可能なプログラム |
US7421588B2 (en) | 2003-12-30 | 2008-09-02 | Lenovo Pte Ltd | Apparatus, system, and method for sealing a data repository to a trusted computing platform |
US20050177749A1 (en) * | 2004-02-09 | 2005-08-11 | Shlomo Ovadia | Method and architecture for security key generation and distribution within optical switched networks |
JP4599852B2 (ja) * | 2004-02-23 | 2010-12-15 | ソニー株式会社 | データ通信装置および方法、並びにプログラム |
US7318150B2 (en) * | 2004-02-25 | 2008-01-08 | Intel Corporation | System and method to support platform firmware as a trusted process |
US7653727B2 (en) * | 2004-03-24 | 2010-01-26 | Intel Corporation | Cooperative embedded agents |
US7574600B2 (en) * | 2004-03-24 | 2009-08-11 | Intel Corporation | System and method for combining user and platform authentication in negotiated channel security protocols |
JP4144880B2 (ja) * | 2004-04-09 | 2008-09-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | プラットフォーム構成測定装置、プログラム及び方法、プラットフォーム構成認証装置、プログラム及び方法、プラットフォーム構成証明装置、プログラム及び方法、並びに、プラットフォーム構成開示装置、プログラム及び方法 |
US20050251857A1 (en) * | 2004-05-03 | 2005-11-10 | International Business Machines Corporation | Method and device for verifying the security of a computing platform |
GB0411654D0 (en) * | 2004-05-25 | 2004-06-30 | Hewlett Packard Development Co | A generic trusted platform architecture |
US20060005009A1 (en) * | 2004-06-30 | 2006-01-05 | International Business Machines Corporation | Method, system and program product for verifying an attribute of a computing device |
EP1617587A1 (en) * | 2004-07-12 | 2006-01-18 | International Business Machines Corporation | Method, system and computer program product for privacy-protecting integrity attestation of computing platform |
US20060015860A1 (en) * | 2004-07-15 | 2006-01-19 | Sony Corporation And Sony Electronics, Inc. | System and method for storing attributes in a file for processing an operating system |
JP4562464B2 (ja) * | 2004-09-07 | 2010-10-13 | 富士通株式会社 | 情報処理装置 |
US7653819B2 (en) | 2004-10-01 | 2010-01-26 | Lenovo Singapore Pte Ltd. | Scalable paging of platform configuration registers |
US7836299B2 (en) * | 2005-03-15 | 2010-11-16 | Microsoft Corporation | Virtualization of software configuration registers of the TPM cryptographic processor |
US7613921B2 (en) * | 2005-05-13 | 2009-11-03 | Intel Corporation | Method and apparatus for remotely provisioning software-based security coprocessors |
US20070079120A1 (en) * | 2005-10-03 | 2007-04-05 | Bade Steven A | Dynamic creation and hierarchical organization of trusted platform modules |
-
2007
- 2007-04-23 US US12/297,966 patent/US8566606B2/en not_active Expired - Fee Related
- 2007-04-23 JP JP2009506616A patent/JP5038396B2/ja not_active Expired - Fee Related
- 2007-04-23 EP EP07755830.2A patent/EP2013808B1/en not_active Not-in-force
- 2007-04-23 WO PCT/US2007/009713 patent/WO2007124091A1/en active Application Filing
- 2007-04-23 ES ES07755830.2T patent/ES2664413T3/es active Active
- 2007-04-23 KR KR1020087030238A patent/KR20090006876A/ko not_active Application Discontinuation
- 2007-04-23 CN CN200780022804XA patent/CN101473329B/zh not_active Expired - Fee Related
- 2007-04-23 KR KR1020087028515A patent/KR101041543B1/ko not_active IP Right Cessation
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1545243A (zh) * | 2003-11-24 | 2004-11-10 | 华中科技大学 | 一种身份认证的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
ES2664413T3 (es) | 2018-04-19 |
JP2009534749A (ja) | 2009-09-24 |
CN101473329A (zh) | 2009-07-01 |
EP2013808B1 (en) | 2018-01-10 |
KR20080112404A (ko) | 2008-12-24 |
US8566606B2 (en) | 2013-10-22 |
KR101041543B1 (ko) | 2011-06-17 |
US20090307487A1 (en) | 2009-12-10 |
WO2007124091A1 (en) | 2007-11-01 |
KR20090006876A (ko) | 2009-01-15 |
EP2013808A1 (en) | 2009-01-14 |
JP5038396B2 (ja) | 2012-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101473329B (zh) | 用于执行可信计算完整性测量报告的用户设备 | |
EP3265950B1 (en) | Device attestation through security hardened management agent | |
CN107077574B (zh) | 用于客户端设备的信任服务 | |
US7752465B2 (en) | Reliability platform configuration measurement, authentication, attestation and disclosure | |
US10423791B2 (en) | Enabling offline restart of shielded virtual machines using key caching | |
US8667263B2 (en) | System and method for measuring staleness of attestation during booting between a first and second device by generating a first and second time and calculating a difference between the first and second time to measure the staleness | |
US7748042B2 (en) | Security vulnerability determination in a computer system | |
US9405912B2 (en) | Hardware rooted attestation | |
US20060161790A1 (en) | Systems and methods for controlling access to data on a computer with a secure boot process | |
US11829469B2 (en) | Software integrity checking systems and methods | |
US9129097B2 (en) | Systems and methods for auditing software usage using a covert key | |
US11533331B2 (en) | Software release tracking and logging | |
Berbecaru et al. | Counteracting software integrity attacks on IoT devices with remote attestation: a prototype | |
CN114785677B (zh) | 日志管理方法、装置、计算机设备、存储介质和程序产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130501 Termination date: 20180423 |