使用单个可信平台模块测量平台部件的制作方法

文档序号:6532631阅读:204来源:国知局
使用单个可信平台模块测量平台部件的制作方法
【专利摘要】根据一些实施例,每平台单个可信平台模块可以用于处理常规的可信平台任务以及在常规系统中存在主要可信平台模块之前出现的那些任务。因而,一个单个可信平台模块可以处理所述平台的包括基板管理控制器的所有方面的测量。在一些实施例中,使用嵌入在诸如平台控制器集线器的芯片集中的只读存储器作为信任根,查验管理引擎图像。在基板管理控制器(BMC)被允许启动之前,它必须查验其闪存的完整性。但是BMC图像可以被存储在按照能够被平台控制器集线器(PCH)查验的方式耦合到该PCH的存储器中。
【专利说明】使用单个可信平台模块测量平台部件

【技术领域】
[0001] 本发明通常涉及可信平台模块。

【背景技术】
[0002] 可信平台模块使能密码密钥的安全生成以及对它们的使用的限制。它可以包括诸 如远程认证和密封存储的能力。远程认证创建硬件和/或软件配置的几乎不可伪造的哈希 密钥概要。
[0003] 可信平台模块的主要功能是确保平台的"完整性",其中,完整性是指确保平台将 按照期望运转。平台是包括服务器或个人计算机、蜂窝电话或者任何其它基于处理器的设 备的任意计算机平台。
[0004] 可信平台模块(TPM)可以包括平台配置寄存器(PCR),其允许安全存储或者安全 相关度量的报告。这些度量可以用于检测对先前配置的改变并且决定如何做出处理。
[0005] 对于一些用户来说,在平台上使用的任何固件都必须被验证。为了验证固件,它必 须关于诸如可信平台模块的信任根被测量。平台可以包括基板管理控制器(BMC),该BMC在 基于主机的可信平台模块存在于所述平台上之前执行。
[0006] 许多制造商在平台上放置两个可信平台模块(包括主要和次要模块)。一个模块 用于主机域,包括基本输入/输出系统(BIOS)和操作系统。另一个模块用于可管理性软件。 用于主机域的模块不能够测量在基板管理控制器上运行的固件。这增加了平台成本和复杂 度。

【专利附图】

【附图说明】
[0007] 参照下面的附图来描述一些实施例:
[0008] 图1是根据一个实施例用于平台的固件布局;并且
[0009] 图2是本发明一个实施例的流程图。

【具体实施方式】
[0010] 根据一些实施例,每平台单个可信平台模块可以用于处理常规的可信平台任务以 及在常规系统中存在主要可信平台模块之前出现的那些任务。因而,一个单个可信平台模 块可以处理包括基板管理控制的平台的所有方面的测量。
[0011] 在一些实施例中,使用嵌入在诸如平台控制器集线器的芯片集中的只读存储器作 为信任根,查验管理引擎图像。在基板管理控制器(BMC)被允许启动之前,它必须查验其闪 存的完整性。但是,BMC图像可以被存储在按照能够被平台控制器集线器(PCH)查验的方 式耦合到该PCH的存储器中。
[0012] 在一些实施例中,增强串并行接口(eSPI)提供通过SIP总线以隧道化方式传输低 引脚数(LPC)总线信号的一种机制并且还支持到平台控制器集线器(PCH)的SPI控制器的 上游存储器访问。结果,在一些实施例中,额外的可信平台模块的成本将被消除。
[0013] 为了改善计算机安全,建立了可信计算群组(TCG),一个工业标准组织,目标在于 增强不同的计算机平台中的计算环境的安全。TCG建立并且正式通过了用于更多安全计算 机的规范。TCG规范定义了可信计算机平台,S卩,为了特殊目的可以按照特定方式运转的计 算机平台。可信平台可以提供诸如数据加密和解密以及数据存储的数据安全功能。可信平 台的关键部件是可信平台模块(TPM),S卩,可以执行密码哈希计算以便检测完整性的丢失、 公钥和私钥加密以便防止数据的未授权公开,并且执行数字签名以便验证所传输的信息。 可以被启动在硬件中的TCG保护存储机制可以用于保护密钥、秘密和哈希值。
[0014] 通过提供配置的测量,当可信平台访问机密数据时,该可信平台也可以证明它在 安全的配置中操作。TCG规范规定测量计算机平台的部件,硬件和软件二者,并且规定存储 测量的结果。配置的测量可以被进行哈希计算并且被存储在平台配置寄存器(PCR)中。可 信平台可以仅在该可信平台的特定配置下才允许对数据的访问。TPM密封操作可以对数据、 PCR值的集合以及授权或唯一标识符进行加密。为了解封所述数据,并且从而获得对它们的 访问,必须提供授权,并且存储在PCR中的值的集合必须与在封装操作中使用的集合相匹 配。类似地,签名密钥可以被封装到PCR值的集合。
[0015] 因而参照图1,平台10可以包括一个或多个中央处理器单元(CPU) 12和平台控制 器集线器(PCH) 14。也可以预期可以使用其它芯片集代替PCH的其它架构。该平台也可以 包括BMC 24。在一些实施例中,BMC可以通过SPI总线22耦合到PCH 14。在一个实施例 中,总线22可以是增强SPI总线或者eSPI总线。
[0016] PCH可以包括管理引擎(ME)和创新引擎(IE) 16。管理引擎是在操作系统下操作 的独立的且被保护的计算机硬件。创新引擎使BMC使能BMC到芯片集中的集成。耦合到 PCH 14的可以是与SPI总线19相关联的闪存20。闪存20可以存储基本输入/输出系统 (BIOS)代码28、BMC代码30、管理引擎代码32以及创新引擎代码34。由于这些代码耦合 至IJ PCH,因此他们能够使用相同的可信平台模块通过相同的信任根被验证。
[0017] BMC 24可以包括微控制器,该微控制器监控板上仪器(温度传感器、CPU状态、风 扇速度、电压)、提供远程重启或功率循环能力、当发生故障时发送警报并且使能对BIOS配 置或操作系统控制台信息的远程访问。BMC24可以用作平台硬件和管理软件之间的接口。 BMC可以能够与CPU 12和操作系统分离地操作。BMC 24可以与底层管理监控器通信,报告 情况并且接收命令。
[0018] 安全系统测量管理引擎并且将其值录入PCR 42中,或者用于固件TPM (例如在PCH 内)或者用于物理TPM 34。嵌入在PCH中的只读存储器(ROM) 18能够测量管理引擎代码。 因而,管理引擎测量创新引擎的图像,如果存在,并且最终测量BMC代码。最后,它提供一种 操作系统通过其能够看到对于平台上所有固件部件的测量的解决方案。
[0019] TPM 34可以提供包括被保护的存储设备、平台的软件配置的测量和认证以及密码 功能的安全功能。TPM 34可以仅在授权使被保护的存储设备中的数据可用时才允许通过程 序访问该数据。TPM 34可以执行密码密钥生成、加密和解密。在一些实施例中,TPM 34可 以被实现在硬件中。在进一步的实施例中,TPM 34可以由类似于智能卡的模块构成。在其 它实施例中,TPM 34可以被实现在软件中。这样的实现被称为虚拟TPM。在这样的实现中, 软件机制可以用于使物理存在生效/失效。
[0020] 图1中说明的计算机和部件用于解释而非限制的目的。在一些其它实施例中,包 含TPM的嵌入式系统、PDA、蜂窝电话以及其它TPM设备可以对通过可信网络连接接收到消 息做出响应而向TPM通过信号的方式传输物理存在。在许多其它实施例中,芯片集可以包 括本领域技术人员熟知的可替换部件或者附加部件。在一些进一步的实施例中,TPM可以 被集成到另一设备中("集成TPM")。例如,TPM和BIOS可以被集成到超级I/O芯片中。 在其它进一步的实施例中,TPM可以被集成到PCH芯片、网络接口卡或者计算机的其它部件 中。在这些许多其它实施例中,适合的总线可以用于使物理存在生效/失效。在几个其它 实施例中,与芯片集通信的部件可以与在图2中说明的部件不同。
[0021] 可选实施例的一个示例由根据Intel?活动管理技术(Intel?AMT)构建的计算机构 成。Intel? AMT是硬件、固件和软件的组合,其可以规定独立于系统状态的用于管理对客户 端系统的访问的带外通信。AMT使能的计算机可以包括集成TPM和平台系统管理模块而不 是BMC。此外,AMT使能的计算机可以使用硬件机制而不是通用输入/输出(GPI0)线来从 平台系统管理模块向TPM发送信号。
[0022] 在一些实施例中,BMC 24可以包括其自己的SPI总线控制器36。BMC闪存37可 以包括BMC操作图像38和SPI图像40。
[0023] 可以使用创新引擎并且管理引擎仍然能够直接测量BMC,同时图像仍然被存储在 闪存20中。一旦BMC固件被认证,该BMC固件就能够被从附接到PCH的SPI总线取回。此外, 在进行正确的识别之后,可以使能经过SPI总线被以隧道化方式传输的特征或者利用管理 部件传输协议(MCTP)的其它管理业务。参见可从Distributed Management Task Force, Inc.获得的MCTP基本规范版本1. 1. 0, 2010-04-22。
[0024] 在一些实施例中,可以使用诸如相变存储器(PCM)的新颖数据存储设备以及其它 潜在的用例,例如迁移和管理引擎二进制或者其它这样的固件元件,例如预启动固件上下 文等等。此外,能够添加诸如PCR等等的TPM资源的附加存储库,这依次能够被映射到诸如 BIOS固件的固件用例类型。
[0025] 因而在一些实施例中,尽管存在对于BMC和管理引擎的分离的域,但是也仅需要 一个TPM。在一些实施例中,这避免了对于管理引擎的分离TPM的需求并且允许固件可信平 台模块用于所有服务器用例。
[0026] 参照图2,序列可以被实现在软件、固件和/或硬件中:在软件和固件实施例中,它 可以通过由计算机可执行并且被存储在一个或多个非暂态计算机可读介质中的指令实现, 该计算机可读介质例如是磁、光学或半导体存储设备。在一些实施例中,可以使用多于一个 存储设备。
[0027] 如在块50指示的,该序列开始于PCH的功率施加。由管理引擎硬件16执行的PCH ROM代码18验证对于存储在闪存20中的管理引擎图像30的签名。接着,如在块52指示 的,该被验证的图像的测量被存储在可信平台模块PCH 42中。所以,现在管理引擎已经被 验证并且它能够用于验证闪存20中的其它图像。
[0028] 菱形块54处的检查确定签名是否有效。如果有效,则管理引擎固件图像30开始 执行(块56)。管理引擎16验证创新引擎固件32的签名。如在块56指示的,管理引擎将 图像32的测量存储在可信平台模块的PCR中。所以,现在创新引擎固件也已经被验证,并 且能够用于验证其它图像。
[0029] 菱形块58处的检查确定创新引擎签名是否有效。如果有效,则如在块60指示的, 管理引擎固件图像32(通常由原始设备制造商拥有)认证BMC的固件图像28。所以,现在 BMC图像也已经被验证。
[0030] 菱形块62处的检查确定BMC签名是否有效。如果有效,则如在块78中指示的,BMC 固件测量被存储在TPM PCR中。接着,如在块80中指示的,BMC硬件被允许经由SPI总线获 取被验证的BMC固件。接下来,如在块82中指示的,当从ROM 18到管理引擎固件30部署 的链被查验时,所有BMC功能被授权。接着,如在块84中指示的,接着发生正常管理业务。
[0031] 如果菱形块54处的签名检查指示所述签名是无效的,则系统进入修复模式,并且 允许系统启动但是不使能任何附加的可管理性固件,如在块74中指示的。接着,可以发起 原始设备制造商定义的行为。芯片集制造商的固件检查跨越所有重启的有效图像,如在块 76中指示的。
[0032] 如果在菱形块58处的签名是无效的,则在块68处,管理引擎继续启动并且支持被 分配到该管理引擎的功能。没有被查验的创新引擎固件实体将不被允许提供安全服务,如 在块70中指不的。接着,在块72中,原始设备制造商定乂的彳丁为继续进彳丁。如在块72中 指示的,芯片集固件检验跨越所有重启的有效图像。
[0033] 下面的条款和/或示例涉及进一步的实施例:
[0034] 一个示例实施例可以是一种用于提供平台的方法,所述方法包括:与基板管理控 制器一起的芯片集,并且使用单个可信平台模块用于所述平台。所述方法也可以包括使用 增强串并行接口总线耦合所述芯片集和所述基板管理控制器。所述方法可以包括将串并行 接口存储器直接连接到所述芯片集以便存储用于所述基板管理控制器的代码。所述方法可 以包括用于所述芯片集的可信平台模块。所述方法可以包括提供直接连接到所述芯片集的 物理可信平台模块。所述方法可以包括在所述芯片集内提供固件可信平台模块。所述方法 可以包括在所述芯片集中提供存储代码以便验证管理引擎的签名的嵌入式只读存储器。所 述方法可以包括使用所述管理引擎验证创新引擎的签名。所述方法可以包括使用所述创新 引擎验证被存储在直接连接到芯片集的闪存中的基板管理控制器的固件图像。所述方法还 可以包括使能基板管理控制器以便经由增强串并行接口总线获得被验证的固件。
[0035] 另一示例实施例可以是计算机可读介质,存储指令以便使能包括与基板管理控制 器一起的芯片集的平台来使用对于所述平台的单个可信平台模块。所述介质可以存储指令 以便使用增强串并行接口总线耦合所述芯片集和所述基板管理控制器。所述介质可以存储 指令以便将串并行接口存储器直接连接到所述芯片集来存储对于所述基板管理控制器的 代码。所述介质可以存储指令以便将物理可信平台模块直接连接到所述芯片集。所述介质 可以存储指令以便在所述芯片集内提供固件可信平台模块。所述介质可以存储指令以便提 供存储代码的位于所述芯片集中的嵌入式只读存储器来验证管理引擎的签名。所述介质可 以存储指令以便使用管理引擎来验证创新引擎的签名。所述介质可以存储指令以便使用所 述创新引擎来认证存储在直接连接到所述芯片集的闪存中的基板管理控制器的固件图像。 所述介质可以存储指令以便使用基板管理控制器来经由增强串并行接口总线获得被验证 的固件。
[0036] 另一示例实施例可以是一种装置,包括芯片集、耦合到所述芯片集的基板管理控 制器以及用于所述芯片集和所述基板管理控制器的单个可信平台模块。所述装置可以包括 耦合到所述芯片集的中央处理单元。所述装置可以包括耦合到所述芯片集的所述受信平台 模块。所述装置可以包括耦合到所述芯片集的串并行接口闪存。所述装置还可以包括所述 串并行接口以便存储基本输入输出装置、对于基板管理控制器的图像、对于管理引擎的图 像以及对于创新引擎的图像。所述装置可以包括位于所述芯片集中的嵌入式只读存储器以 便验证管理引擎图像的签名。所述装置可以包括经由增强串并行接口总线耦合到所述基板 管理控制器的所述芯片集。所述装置还可以包括连接到所述芯片集的串并行接口存储器以 便存储对于所述基板管理控制器的代码。所述装置可以包括管理引擎以便验证创新引擎的 签名。所述装置可以包括创新引擎以便验证存储在直接连接到所述芯片集的闪存中的固件 图像。所述装置还可以包括所述基板管理控制器以便经由增强串并行接口总线获得被验证 的固件。
[0037] 在整个说明书中对"一个实施例"或者"实施例"的引用意味着与结合该实施例描 述的特定特征、结构或特性被包括在包含在本发明内的至少一个实现中。因而,短语"一个 实施例"或者"在实施例中"的出现不必指代相同的实施例。而且,所述特定特征、结构或特 性可以按照除了所说明的特定实施例之外的其它合适的形式进行构建,并且所有这样的形 式都包含在本申请的权利要求内。
[0038] 尽管关于有限数量的实施例描述了本发明,但是本领域技术人员将意识到根据其 的各种修改和变化。期望所附权利要求涵盖落入本发明的真实精神和范围内的所有这样的 修改和变化。
【权利要求】
1. 一种方法,包括: 提供包括与基板管理控制器一起的芯片集的平台;以及 使用对于所述平台的单个可信平台模块。
2. 如权利要求1所述的方法,包括使用增强串并行接口总线耦合所述芯片集和所述基 板管理控制器。
3. 如权利要求1所述的方法,包括将串并行接口存储器直接连接到所述芯片集以便存 储对于所述基板管理控制器的代码。
4. 如权利要求1所述的方法,包括提供对于所述芯片集的可信平台模块。
5. 如权利要求4所述的方法,包括提供直接连接到所述芯片集的物理可信平台模块。
6. 如权利要求4所述的方法,包括提供位于所述芯片集内的固件可信平台模块。
7. 如权利要求1所述的方法,包括提供位于所述芯片集中的嵌入式只读存储器,所述 嵌入式只读存储器存储代码以便验证管理引擎的签名。
8. 如权利要求1所述的方法,包括使用所述管理引擎来验证创新引擎的签名。
9. 如权利要求8所述的方法,包括使用所述创新引擎来认证存储在直接连接到所述芯 片集的闪存中的基板管理控制器的固件图像。
10. -个或多个计算机可读介质,存储有指令以便使包括与基板管理控制器一起的芯 片集的平台能够执行根据权利要求1-9中的任意一项所述的方法。
11. 一种装置,包括: 芯片集; 耦合到所述芯片集的基板管理控制器;以及 对于所述芯片集和所述基板管理控制器的单个可信平台模块。
12. 如权利要求11所述的装置,包括耦合到所述芯片集的中央处理单元。
13. 如权利要求11所述的装置,其中,所述可信平台模块耦合到所述芯片集。
14. 如权利要求11所述的装置,进一步包括耦合到所述芯片集的串并行接口闪存。
15. 如权利要求14所述的装置,所述串并行接口存储基本输入输出系统、对于基板管 理控制器的图像、对于管理引擎的图像以及对于创新引擎的图像。
16. 如权利要求11所述的装置,包括位于所述芯片集中的嵌入式只读存储器以便验证 管理引擎图像的签名。
17. 如权利要求11所述的装置,所述芯片集经由增强串并行接口总线耦合到所述基板 管理控制器。
18. 如权利要求11所述的装置,包括连接到所述芯片集的串并行接口存储器以便存储 对于所述基板管理控制器的代码。
19. 如权利要求11所述的装置,包括管理引擎以便验证创新引擎的签名。
20. 如权利要求19所述的装置,所述创新引擎认证存储在直接连接到所述芯片集的闪 存中的固件图像。
【文档编号】G06F21/50GK104160403SQ201380004612
【公开日】2014年11月19日 申请日期:2013年8月29日 优先权日:2012年9月4日
【发明者】R·C·斯旺森, P·沙提库马尔, M·布鲁苏, R·B·巴恩森 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1