启动可信共存环境的方法和装置的制作方法

文档序号:6612330阅读:168来源:国知局
专利名称:启动可信共存环境的方法和装置的制作方法
启动可信共存环境的方法和装置技术领域[oooii本发明涉及计算机安全领域。更具体地讲,本发明涉及启动两个或更多个不同的可信并且共存环境的方法和装置。
背景技术
0002存储在计算机上的数据在以金钱衡量和/或竞争或商务能力上 可能具有较高价值。数据可以包括商业秘密(例如解密代码和安全进 程)、其它保密商务数据或个人信息(例如社会保险号码和信用卡号 码)。为了增强这种数据在不同的处理系统中的安全性,作为非盈利 工业标准组织的可信计算小组(Trusted Computing Group, TCG)制定 并通过了更安全的计算环境规范。TCG规范包括,例如,2006年3 月29日的TCG可信平台模块(TPM)规范版本1.2修订本94,第一 部分设计原理(TCG trusted platform module (TPM) Specification Version 1.2 Revision 94, Part I Design Principles, dated March 29, 2006),以及TCG主规范版本Ub (TCG Main Specification Version l.lb)。
在建立受保护的核心后,诸如BIOS、 EFI或UEFI之类的固件 可以测量处理系统的当前运行时间配置,并将当前运行时间配置与 TPM的可信运行时间配置进行比较。如果当前运行时间配置的完整 性被损坏或被更改,则拒绝或忽略对敏感数据的访问。此外,如果访 问时的运行时间配置与可信配置的运行时间足够相似从而值得信赖 的话,则可信处理系统可以允许访问敏感数据。00081虽然受保护的核心提供数据和代码的基于硬件的安全防护,但 仅仅采用以上所述是不够的。经由网络或因特网提供的无所不在的服 务继续增加对进程的保护和执行的需求,以避免受到恶意用户、软件 病毒或其它因素的影响。换句话讲,处理系统的单一受保护的核心或 分区是不够的。此外,当前的趋势是向更多数量的处理器核心的方向 发展,但当前的OS软件无法支持超过8个的处理器核心。
当MAE标识符162不表示系统100处于经制造商核准的环境 时,可以使用PCR7的内容对嵌入式分区142的完整性度量应用散列 法,以确定嵌入式分区142运行时间环境是可信的还是需要经认证 的。如果嵌入式分区142的运行时间环境的散列信息核实了环境的完 整性,则TMP 190将HPA 186中的受保护内容144的密钥提供给EP 装载器146。随后EP装载器146可以将存储在HPA 186中的所有或 部分数据和进程装载入EP存储器170中。另一方面,如果散列信息 表示运行时间环境受到了损害,则TPM 190不会解封密钥。此外, 分区管理器159或180可以以相似方式基本上同时或根据定义的序列 来启动嵌入式分区138或140。
受保护的存储访问器254可以从完整性度量测量器252接收完 整性度量,以及将该度量与受保护的存储器260中的度量进行核实, 或者将度量存储在受保护的存储器260中。例如,如果经核准的环境 (AE)标识符270表明运行时间环境(例如嵌入式环境232)是用于 存储可信完整性度量262的经核准的环境,则密钥生成器272可以生 成密钥263用于对受保护的内容242进行加密,以及受保护的存储访 问器254的加密模块258可以使用完整性度量262对密钥263进行加 密。于是,受保护的存储访问器254可以在受保护的存储器260中存 储密钥263。00631另一方面,如果AE标识符没有将嵌入式环境232识别为测量 可信完整性度量262的经核准的环境,则受保护的存储访问器254的 解密模块256可以将嵌入式环境232的测量结果的完整性度量与完整 性度量262进行比较,以确定是否给嵌入式环境提供密钥263。如果 当前完整性度量与完整性度量262不匹配,则不会将密钥263返回给 嵌入式环境232。
图4示出了便于同时启动一个或多个可信分区的实施例的流 程图400。流程图400描述了在处理系统上或由处理系统执行的操作, 所述操作用于建立各种环境的可信完整性度量以在处理系统上共存。 流程图400起始于激活经制造商核准的环境(步骤410)。例如,激 活经制造商核准的环境涉及将处理系统的主板上的两个或更多个触 点相互电连接,在主板的特定点上引入特定的信号或信号模式,或其 它过程。[0076
在激活MAE或与建立MAE基本上同时激活MAE后,处理 系统可以启动第一运行时间环境的可信版本(步骤415)。例如,可 以将光盘(CD)插入处理系统的驱动器中,以配置第一环境并为第 一环境安装干净、可信的软件版本。处理系统的TPM可以随后测量 第一环境的完整性度量(步骤420)并生成第一环境的第一密钥。在 生成第一密钥后,TPM在诸如PCR7之类的平台配置寄存器(PCR) 中用第一环境的完整性度量密封第一密钥(步骤425)。在一些实施200710153796.4说明书第20/21页例中,第一环境的完整性度量可以被存储在PCR7中,这是因为PCR7 的内容基本上用于控制处理系统或至少其重要组件(例如处理器和芯 片组)的制造。[0077
在激活MAE或与建立MAE基本上同时激活MAE后,处理 系统还可以启动第二运行时间环境的可信版本(步骤430)。例如, 光盘(CD)也可以配置第二环境并为第二环境安装干净、可信的软 件版本。随后,处理系统的TPM可以测量第二环境的完整性度量(步 骤435)并生成第二环境的第二密钥。在生成第二密钥后,TPM在诸 如PCR4之类的平台配置寄存器(PCR)中用第二环境的完整性度量 密封第二密钥(步骤440)。[0078将本发明的另一个实施例实现为程序产品,该程序产品与系统 一起使用以执行过程,例如结合

图1所示的系统100或图2-4中的其 它实施例所描述的过程。程序产品的程序定义了实施例的功能(包括 本文所描述的方法),其被包含在各种数据和/或信号承载媒体(通常 被称作机器可访问媒体)上。示例性的数据和/或信号承载媒体包括 但不限于(i)永久存储在不可写存储媒体上的信息(例如计算机内 的只读存储器设备,像可由CD-ROM驱动器读取的CD-ROM盘); (ii)存储在可写存储媒体上的可改写信息(例如,通用串行总线 (USB)闪存驱动器或硬盘驱动器);(iii)通过通信介质(例如通过 包括无线通信在内的计算机或电话网络)传输给计算机的信息。后一 实施例特别包括从因特网和其它网络下载的信息。当这种数据和/或 信号承载媒体带有实现本发明的功能的计算机可读指令时,其表示本 发明的实施例。0079通常而言,用于实现本发明的实施例的程序可以是操作系统或 特定应用、组件、程序、模块、对象或指令序列的一部分。本发明的 计算机程序一般包括大量的指令,这些指令被计算机翻译成机器可读 格式的可执行的指令。而且,程序包括变量和数据结构,所述变量和 数据结构宿于本地的程序中,或宿于存储器或存储设备中。此外,权 利要求书中描述的各种程序可以基于应用程序而被识别,在本发明的 特定实施例中针对应用而实施程序。但是,应该理解的是,仅为了方27
便而使用了权利要求书中的特定程序的命名,因此本发明并不限于仅 使用由这种命名表示和/或表明的任何特定应用。[0080通过阅读本文,本领域技术人员显然可以理解,本发明涵盖了 在处理系统上启动可信、共存的运行时间环境的系统和装置。应该理 解的是,所展示和描述的本发明的形式以及说明书和附图仅作为示 例。应以广义的方式解释所附的权利要求书,以涵盖所披露的实施例 的所有变化。[00811尽管前面已经详细地描述了本发明的一些实施例,但应该理解 的是,在不背离由所附的权利要求界定的本发明精神和保护范围的前 提下,可以对这些实施例进行各种各样的更改、替换和替代。尽管本 发明的实施例可以实现多个目的,但不是落入所附的权利要求的范围 内的每一实施例都获得了每一目的。此外,本发明的范围并不受限于 本文中描述的过程、机器、制造、物质组合、模块、方法和步骤的特 定实施例。本领域普通技术人员通过阅读本文很容易理解的是,与本 文中描述的相应实施例相比,当前存在或日后发展的过程、机器、制 造、物质组合、模块、方法和步骤执行基本上相同的功能或实现基本 上相同的结果,其均可以根据本发明而使用。因此,所附的权利要求 包括落入其范围内的诸如过程、机器、制造、物质组合、模块、方法 和步骤之类的所有内容。
权利要求
1、一种在处理系统上启动多个运行时间环境的方法,所述方法包括配置第一运行时间环境,所述第一运行时间环境基于预定的完整性度量来管理对所述第一运行时间环境的受保护内容的访问;用所述第一运行时间环境的可信完整性度量来核实所述第一运行时间环境的当前完整性度量;响应于所述核实,对所述第一运行时间环境的受保护内容进行解密;在核实所述第一运行时间环境的当前完整性度量之后,启动第二运行时间环境,如果核实了所述第二运行时间环境的当前完整性度量,所述第二运行时间环境就与所述第一运行时间环境共存于所述处理系统上。
2、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括执行分区管理器。
3、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括将资源分配给所述第一运行时间环境, 将分配给所述第一运行时间环境的资源隐藏起来。
4、 如权利要求1所述的方法,其中,配置所述第一运行时间环 境包括建立通向所述第一运行时间环境中的可信通信信道。
5、 如权利要求1所述的方法,其中,用所述第一运行时间环境的可信完整性度量来核实所述第一运行时间环境的当前完整性度量包括测量所述第一运行时间环境的当前完整性度量; 将所述当前完整性度量扩展到可信平台模块的平台配置寄存器7 (PCR7)中,以便将所述当前完整性度量与所述可信完整性度量进 行比较。
6、 如权利要求l所述的方法,其中,对所述受保护内容进行解 密包括对密钥进行解密,用所述密钥对所述受保护内容进行解密。
7、 如权利要求1所述的方法,其中,启动所述第二运行时间环境包括配置所述第二运行时间环境;用所述第二运行时间环境的可信完整性度量来核实所述第二运 行时间环境的当前完整性度量;响应于对所述第二运行时间环境的当前完整性度量进行所述核 实,对所述第二运行时间环境的受保护要素进行解密。
8、 如权利要求l所述的方法,其中,启动所述第二运行时间环 境包括将对所述处理系统的资源的控制权让渡给所述第二运行时间环 境的操作系统。
9、 如权利要求1所述的方法,其中,启动所述第二运行时间环 境包括配置与所述第一运行时间环境共存的主运行时间环境; 测量所述主运行时间环境;将所述主运行时间环境的散列信息扩展到可信平台模块的PCR4中。
10、 如权利要求l所述的方法,其中,启动所述第二运行时间环 境包括配置与所述第一运行时间环境共存的嵌入式运行时间环境; 测量其它嵌入式运行时间环境;将所述其它嵌入式运行时间环境的散列信息扩展到PCR7中。
11、 一种初始化处理系统以启动两个或更多个运行时间环境的方 法,所述方法包括激活经核准的环境; 启动第一运行时间环境的可信版本;测量所述第一运行时间环境的可信版本的可信完整性度量,其 中,所述可信版本的可信度基于所述经核准的环境的激活;用所述可信完整性度量将第一密钥密封在可信平台模块的第一 平台配置寄存器中;用第二运行时间环境的完整性度量将第二密钥密封在所述可信 平台模块的另一个平台配置寄存器中。
12、 如权利要求ll所述的方法,还包括针对一个或多个其它的运行时间环境,将一个或多个其它的密钥 密封在所述第一平台配置寄存器中,其中,将对所述第一平台配置寄 存器的内容的控制权指定给所述处理系统的制造商。
13、 如权利要求11所述的方法,其中,激活所述经核准的环境 包括将所述处理系统的电路板上的触点相连接。
14、 如权利要求11所述的方法,其中,密封所述第一密钥包括:使用所述第一运行时间环境的可信版本的散列信息来加密所述 第一密钥。
15、 如权利要求14所述的方法,其中,密封所述第一密钥包括将所述第一运行时间环境的可信版本的散列信息扩展到平台配 置寄存器7 (PCR7)中。
16、 如权利要求ll所述的方法,其中,密封所述第二密钥包括:将所述第二运行时间环境的可信版本的散列信息扩展到平台配置寄存器4 (PCR4)中。
17、 如权利要求ll所述的方法,其中,启动所述可信版本包括对于分配给所述第一运行时间环境的资源,实现硬件强制隔离方案。
18、 一种启动可信的共存环境的系统,所述系统包括至少支持第一环境和第二环境的分区的资源,所述资源包括具有第一受保护区域和第二受保护区域的数据存储器;包括第一寄存器和第二寄存器的可信度核实模块,所述可信度核 实模块响应于对所述第一环境的测量结果的核实而将第一密钥解封 和响应于对所述第二环境的测量结果的核实而将第二密钥解封;分区管理器,请求将所述第一环境的测量结果扩展到所述第一寄 存器中,用所述第一密钥对所述第一受保护区域中的数据进行解密, 请求将所述第二环境的测量结果扩展到所述第二寄存器中,用所述第 二密钥对所述第二受保护区域中的数据进行解密。
19、 如权利要求18所述的系统,其中,所述数据存储器包括 硬盘的主机保护访问(HPA)区。
20、 如权利要求18所述的系统,其中,所述可信度核实模块包括具有多个平台配置寄存器的可信平台模块,其中,所述第一寄存 器包括平台配置寄存器7 (PCR7)。
21、 如权利要求20所述的系统, 台配置寄存器4 (PCR4)。
22、 如权利要求18所述的系统,件。
23、 如权利要求18所述的系统, 述系统中的处理器的微代码。其中,所述第二寄存器包括平 其中,所述分区管理器包括固 其中,所述分区管理器包括所
24、 如权利要求18所述的系统,其中,所述分区管理器包括 在将对剩余资源的控制权让渡给所述第二环境中的操作系统之前启动所述第一环境和一个或多个其它共存环境的逻辑。
25、 一种包括指令的机器可访问介质,所述指令当被存储设备执 行时,使所述存储设备执行多项操作,所述操作包括在处理系统上配置第一环境,所述第一环境用于管理对所述第一环境的受保护内容的访问;测量所述第一运行时间环境的当前完整性度量; 将所述第一环境的当前完整性度量扩展到第一寄存器中,以将所述第一环境的当前完整性度量与所述第一环境的可信完整性度量进行比较,从而在对所述第一环境的当前完整性度量进行核实后访问第一密钥;用所述第一密钥对所述第一环境的受保护内容进行解密; 在对所述第一环境的当前完整性度量进行核实后,启动第二环境,如果核实了所述第二环境的当前完整性度量,所述第二环境就与所述第一环境共存于所述处理系统上。
26、 如权利要求25所述的机器可访问介质,其中,所述操作还 包括在扩展一个或多个其它环境的当前完整性度量之后,接收一个或 多个其它运行时间环境的一个或多个其它密钥。
27、 如权利要求25所述的机器可访问介质,其中,配置所述第 一运行时间环境包括.-将分配给所述第一运行时间环境的资源隐藏起来。
28、 如权利要求25所述的机器可访问介质,其中,扩展所述第一环境的当前完整性度量包括-将所述当前完整性度量扩展到可信平台模块的平台配置寄存器7 (PCR7)中。
29、 如权利要求25所述的机器可访问介质,其中,启动所述第 二运行时间环境包括配置与所述第一运行时间环境共存的主运行时间环境; 测量所述主运行时间环境;将所述主运行时间环境的散列信息扩展到可信平台模块的PCR4中。
30、 如权利要求25所述的机器可访问介质,其中,启动所述第 二运行时间环境包括配置与所述第一运行时间环境共存的嵌入式运行时间环境; 测量其它嵌入式运行时间环境;将所述其它嵌入式运行时间环境的散列信息扩展到PCR7中。
全文摘要
本发明披露了启动多个不同的可信且共存环境的方法和装置。实施例可以在具有较高安全性的OS前空间中启动不同的可信且共存的环境。硬件强制隔离方案可以将各分区隔离开,以便于代码和数据的存储和执行。在许多实施例中,系统可以启动分区管理器,以建立嵌入式分区和主分区。嵌入式分区对主OS来讲可能是不可见的,其可以容纳关键的操作。主分区可以容纳通用OS和用户应用,并可以管理未分配给嵌入式分区的资源。通过将运行时间环境的完整性度量与嵌入式分区的可信运行时间环境的完整性测量结果进行比较(例如用完整性度量将加密密钥密封在可信平台模块中),从而确定嵌入式分区的启动中的可信度。本文亦描述和主张了其它实施例。
文档编号G06F21/00GK101154256SQ20071015379
公开日2008年4月2日 申请日期2007年9月25日 优先权日2006年9月26日
发明者L·库尔, V·齐默 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1