在服务器管理协处理器子系统内封装tcpa可信平台模块功能的制作方法

文档序号:6422578阅读:201来源:国知局
专利名称:在服务器管理协处理器子系统内封装tcpa可信平台模块功能的制作方法
技术领域
本发明涉及计算机安全领域。具体地说,本发明涉及通过安全引导过程来保护服务器或个人计算机上的信息的系统。
背景技术
随着对基于电子、web或软件代理的交易的依赖越来越多,可靠确定代表特定计算机用户工作的计算机的身份正变得越来越重要。已开发出许多标准来允许在交易链的各方之间进行认证,所述交易链可从操作个人计算机的用户延伸到本地网络服务器、网关服务器、广域网或因特网,最后到目标计算机。为了成为网络中的“可信平台”,计算机必须被相信为不会被某些预引导(preboot)软件程序所扰乱,所述预引导软件程序可以改变所发送的基于硬件或软件的标识,或允许欺骗(spoofing)其他计算机系统。这一信任的基础是已知机构的声明,表明该计算机平台对于预期目的是可信任的。
可信计算平台联盟(TCPA)提供了一种可能的标准来用于将一个用户和计算机标识为值得信任的。在遵从该标准的典型的加电操作中,一个独立的硬件模块(使用加密哈希(hashing)技术)询问BIOS,以确定它是否可信任,而BIOS询问用户以确保该用户已被授权使用该平台。BIOS然后与操作系统(OS)加载器和所述硬件模块交互,以确定OS加载器是否可被信任。OS加载器发送信息到OS内核,以使得当OS内核加载时,它知道什么软件在它之前已经访问过系统。实际上这确立了从那时刻开始计算机系统完全受控于OS内核。如果使用了合适的网络认证技术,则用户和第三方二者都可确信计算机是“值得信任的”。不幸的是,独立的硬件模块的附加成本以及实现上的考虑限制了这一系统或类似系统的广泛使用。


本发明的特征和优点从下面对本发明的详细描述中将变得清楚,其中图1是具有通过基板管理控制器提供的加密服务的计算平台的一个实施方案;图2是支持多处理器和多BIOS映像的实施方案,其利用了智能平台管理协议、IPMI(英特尔平台管理接口)和兼容的基板管理控制器;图3示出了支持多处理器的基板管理控制器;以及图4示出了在基板管理控制器系统中实现加密服务模块的过程。
具体实施例方式
参考图1可看出,计算平台10包括处理器12,其适合于执行编程代码(包括基本输入/输出系统(BIOS)指令、操作系统指令以及应用代码),并链接到独立的基板管理控制器。该链路连接可以是通用信息输入/输出线路,或者可以是专用数据端口18。基板管理控制器14还包括存储器和/或支持内部加密服务模块16的逻辑。另外,基板管理控制器14接收来自各个传感器系统20的信息,可包括但不局限于熵(entropic)数据例如热或电压水平、按键数据或功率损耗数据。
在操作时,密码服务由与基板管理控制器14集成在一起的内部加密服务模块16所支持。基板管理控制器具有相对于主处理器而隔离的执行和存储器,并在基板管理控制器和主处理器之间传送加密信息以验证BIOS完整性。这可通过更安全的引导过程来实现对计算平台安全的增强的保护,所述引导过程将一段BIOS代码绑定到它的平台和当前配置(例如平台内的硬件配置)。
将会认识到,计算平台10包括执行操作来对平台的引导过程进行后续分析和验证的任何产品。计算平台10的实施例包括但不局限于或被限制于计算机(例如桌面计算机、膝上型计算机、服务器、刀片服务器、工作站、个人数字助理等等)或与其相关联的任何外设;通信设备(例如手持电话机、寻呼机等等);电视机顶盒等等。“链路”一般地定义了逻辑或物理通信路径,例如电线、光纤、缆、总线迹线(trace),或甚至是使用红外线、射频(RF)或任何其他无线信令机制的无线信道。另外,术语“信息”定义为一个或多个数据比特、地址和/或控制。“代码”包括被执行时执行特定功能的软件或固件。代码的实施例包括应用、小应用程序或任何其他的指令序列。
一般地,基板管理控制器14管理系统管理软件和平台管理硬件之间的接口,提供自主监控、事件记日志和恢复控制,并用作为系统管理软件和所支持的互连平台组件的总线系统之间的通路。基板管理控制器可集成到具有不同管理功能的多种计算平台中,并可包括主板上的单个集成组件,或者可由多个离散控制器一起构成的分布式系统所代表。例如,企业级服务器中复杂的多板集可使用多个管理控制器来监控不同的子系统,例如冗余电源供应监视和控制、RAID、扩展I/O等等。在操作中,基板管理控制器14工作为策略代理,其确定对哪个处理器实施加电复位、何时断言INIT和NMI等等。实施策略决策的通常输入包括硬件的物理完整性(即检错、BIST失败、按键数据、CPU不响应等等)以及与在先引导相关的状态的测量。加密模块提供额外的策略变量,即计算平台的加密完整性。
可进一步认识到,“加密操作”是执行来通过扰乱(obfuscation)、完整性保护等等来增强数据安全性的操作。理想地,加密操作在隔离计算引擎上执行,所述隔离引擎的处理是可信的,这是因为它们不能被改变或轻易地替换。可信处理可包括受保护的存储、数字签名和PKI(公钥基础设施)密钥支持。另外,加密操作可包括数据保护(例如密钥),并可涉及将内部生成的非对称密钥对相对于特定计算平台配置绑定或密封。其他加密操作可包括哈希,即信息到称为哈希值的固定长度表示的单向转换。即,“哈希值”在大小上远小于原始信息。可以认识到,在一些情形下,哈希可包括1∶1转换。一种类型的哈希函数称为安全哈希算法(SHA-1),由国家技术标准研究所规定。实际上,加密服务模块16所支持的各种可能的加密操作可用于例如通过确保ROM中的BIOS映像的真实性来增强计算平台的安全性。
图2示意性地示出了一个通用处理,用于在例如参考图1所描述的基板管理控制器中实现加密服务模块。处理30包括启动引导过程32,其中由基板管理控制器承担的加密校验34来验证BIOS映像的完整性。如果加密校验失败(方框36),则通过合适的事件标志来通知操作系统,表明不能确保计算平台的安全性。相反,如果通过了加密校验(方框38),则通过合适的事件标志通知操作系统,表明可以信任计算平台的安全性。
在图3中可看出,描述了一个特定的实施方案50,其适合于与用于多个处理器51、52、53和54的服务器管理基板控制器结合使用,可选地向所述多个处理器提供了多个BIOS映像。在图中可看出,服务器管理基板控制器,例如具有TCPA(可信计算机平台体系结构-www.trustedpc.org)1.0兼容系统所需的功能的英特尔标准高容量(SHV)服务器主板中的IPMI(英特尔平台管理接口)兼容的基板管理控制器56(BMC 56),可以用作为在BMC 56上执行的固件的可信平台模块58(TPM 58)来增强,以支持加密服务。
可以理解到,IPMI兼容系统一般使用智能平台管理(IMP)来用于实现在平台管理硬件和固件中的自主监控和恢复功能。智能平台管理的关键特征在于独立于主处理器、BIOS和操作系统,都可获得盘存(inventory)、监控、记日志和恢复控制功能。当系统处于掉电状态中时,也可使得平台管理功能可用。当系统管理软件和常规“带内”(in-band)管理机制不可用时,可以获得平台状态信息并启动恢复动作。通过IPMI而可用的独立的监控、记日志和访问功能提供了内建于计算平台硬件中的可管理性。当没有系统管理软件可用于特定的操作系统时,或当终端用户决定不加载或不使能(enable)系统管理软件时,这可以支持系统。
IPMI在与运行在操作系统下的系统管理软件结合时可最好地被使用。这通过提供对IPMI管理信息的带内访问和将IPMI与管理应用和操作系统(OS)提供的额外的管理功能集成在一起,而提供了增强的可管理性级别。系统管理软件和OS可提供一定级别的精妙控制、错误处理和警告,优于由平台管理子系统直接提供。IPMI是“中立于管理软件的”硬件级别的接口规范,提供了可通过标准管理软件接口例如DMI、WMI、CIM、SNMP等等而向外暴露的监视和控制功能。
作为硬件级别的接口,IPMI位于BMC 56至上的典型管理软件栈的底部。BMC 56管理系统管理软件和平台管理硬件之间的接口,提供自主监控、事件写日志和恢复控制,并用作为系统管理软件和IPMB以及任何其他通常可获得的总线系统(例如智能底板管理总线(ICMB))之间的通路。IPMI通过使用IPMB将额外的管理控制器连接到系统来支持平台管理的扩展。IPMB是基于I2C的串行总线,其在主要系统模块之间路由。它用于到管理控制器以及管理控制器之间的通信。这提供了标准化的方式来将底板功能与主板集成到一起。由于额外的管理控制器通常分布在系统内“中央”BMC之外的其他板卡上,因此它们有时称为卫星控制器。通过标准化所述互连,可容易地将基板集成到具有不同管理功能的多种底板上。IPMI对多管理控制器的支持还意味着体系结构是可扩缩的(scalable)。企业级服务器中的复杂多板集可使用多个管理控制器来用于监控不同子系统,例如冗余电源监视和控制、RAID、扩展I/O等等。入门级系统可将所有管理功能集成到BMC中。IPMI还包括“低级”I2C访问命令,可用来访问LPC或可通过基板管理控制器访问的其他专用总线上的“非智能”I2C设备(不处理IPMI命令的设备)。
在IPMI兼容环境例如所述环境中执行的TPM 58可确保安全性,因为执行是被隐藏的,并且存储也对主微处理器复合体(IA32或IPF系列SMP)隐蔽。实际上,BMC 56支持的TPM 58模块的专用存储器和硬件可防止病毒、出错的驱动器和其他在主微处理器复合体上执行的非可信代码损害TPM的机密。这些机密包括加密密钥、执行代码的哈希值等等。TPM 58在BMC 56上的实现对SHV平台增加了安全功能,同时最小化了伴随独立的TPM专用协处理器的开销。
通过TPM 58的子系统封装到TPM 58的通信可通过隧道传送IPMI协议中的TCPA命令集,或通过使协处理器导出专门为TCPA消息传递预留的命令-数据端口来进行。前者是优选的,因为它无需对采用这一服务器管理和安全协处理器的混杂式功能的早些代的系统进行硬件改变。另外,TCPA的防篡改需求可由下述系统供应商满足,所述系统供应商增强了协处理器的物理包封以表明是否有未授权方试图损害子系统的物理完整性。
TPM 58具有适度的非易失性存储需求(最少8k字节)。另外,TPM中的加密服务不是时间关键性的,可以实现为软件(即TPM将存储机密和机密处理,例如对摘要签名,而大量的加密例如SSL可由主处理器完成),因此可用这些功能来增强服务器管理协处理器。另外,安全性度量例如按键速率、电压和TPM 58可使用和收集的其他熵相关的数据现在由BMC 56收集,并且所述信息在TPM 58上传递(即BMC测量温度和电压以用于告警)。与伪随机数生成器的算术软件实现方式相对比,这一熵收集(例如对温度传感器的读数)允许实现改进的随机数生成(RNG)。另外,由于TMP需要了解并跟踪功率损耗,因此BMC 58必须跟踪功率损耗数据,并实际限制(qualify)到微处理器复合体的加电良好信号。
图4具体示出了一项通用过程70,用于在基板管理控制器系统例如参考图3所描述的系统中实现加密服务模块。在BMC(首个)和引导系统的初始复位(72)后,执行硬件自检(74)。如果成功,则测试(80)引导块描述符以看它是否构成安全(可信系统)的一部分。如果是,则将引导块读入TPM(82),并执行哈希和其他加密服务以验证BIOS完整性(86)。如果它被认证(88),则将已认证(安全)状态发送到操作系统(90),否则将失败写入日志(76)。或者,如果硬件自检失败则引导过程可能失败(76和90),或者如果计算平台不是可信系统的一部分,则可将“不安全”状态标志传递给操作系统(84)。BMC在这里是基本的代理,因为它控制到主CPU复合体的加电复位信令,因此它甚至可在从主CPU的首次取代码之前执行这一认证过程(即不将主CPU带出复位,直到认证逻辑在较慢的BMC/TPM微处理器中完成)。实际上,是使断言这些到主CPU的控制线的安全限定到位。
实施前述方法和系统的软件可存储在计算机平台或系统的存储器中,作为要执行的指令集。另外,执行上述方法和系统的指令也可以可替换地存储在其他形式的机器可读介质上,包括闪存、磁盘或光盘。例如,本发明的方法可存储在机器可读介质上,例如磁盘或光盘,其可通过盘驱动器(或计算机可读介质驱动器)访问。而且,所述指令可通过数据网络,以压缩或可执行版本的形式下载到计算设备中。
或者,执行上述方法和系统的逻辑可实现在额外的计算机和/或机器可读介质中,例如作为大规模集成电路(LSI)的离散硬件组件、专用集成电路(ASIC)或诸如电可擦除可编程只读存储器(EEPROM)等固件;或通过电、光、声或其他形式的传播信号(例如无线电波或红外光信号)来中继信息的空间上分开的计算机。
说明书中对“实施方案”、“一个实施方案”、“一些实施方案”或“其他实施方案”的引用意味着结合所述实施方案描述的特定特征、结构或特性被包括在本发明的至少一些实施方案中,但未必包括在所有实施方案中。各处出现的“实施方案”、“一个实施方案”或“一些实施方案”未必指相同的实施方案。
如果说明书声明某个组件、特征、结构或特性“可以”、“或许”或“可能”被包含,则该特定的组件、特征、结构或特性不是必须被包括。如果说明书或权利要求提到“某个”元件,这并非意味着只有一个该元件。如果说明书或权利要求书提到“额外的”元件,这并非排除存在多于一个的额外的元件。
本领域的普通技术人员在阅读所公开的内容后将会认识到,可在本发明的范围内对前面的描述做出许多其他变体。因此,定义本发明范围的是所附的包括对其的任何修改的权利要求书。
权利要求
1.一种方法,包括在独立于主处理器的基板管理控制器上执行加密服务,所述基板管理控制器具有相对于所述主处理器的隔离执行和存储器;以及在所述基板管理控制器和所述主处理器之间传送加密信息,以验证BIOS完整性。
2.如权利要求1所述的方法,其中所述基板管理控制器工作为可信平台模块(TPM)协处理器。
3.如权利要求1所述的方法,其中所述基板管理控制器通过隧道传送英特尔平台管理接口(IPMI)协议中的TCPA命令集来与所述主处理器通信。
4.如权利要求1所述的方法,其中所述基板管理控制器通过预留专用于TCPA消息传递的额外的命令-数据端口来与所述主处理器通信。
5.如权利要求1所述的方法,还包括多个主处理器连接到所述基板管理控制器。
6.如权利要求1所述的方法,其中多个BIOS映像被验证。
7.如权利要求1所述的方法,其中熵相关数据由所述基板管理控制器收集以提供安全性度量。
8.如权利要求1所述的方法,其中功率损耗数据由所述基板管理控制器收集以提供TPM功能。
9.如权利要求1所述的方法,其中所述基板管理控制器计算引导块的加密哈希值,以检测不可信任的BIOS映像。
10.如权利要求1所述的方法,其中所述基板管理控制器将密钥保留在隔离存储器中。
11.一种制品,包括其上存储指令的存储介质,所述指令被机器执行时使得在独立于主处理器的基板管理控制器上执行加密服务,所述基板管理控制器具有相对于所述主处理器的隔离执行和存储器;以及在所述基板管理控制器和所述主处理器之间传送加密信息,以验证BIOS完整性。
12.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中所述基板管理控制器工作为可信平台模块(TPM)协处理器。
13.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中所述基板管理控制器通过隧道传送英特尔平台管理接口(IPMI)协议中的TCPA命令集来与所述主处理器通信。
14.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中所述基板管理控制器通过预留专用于TCPA消息传递的额外的命令-数据端口来与所述主处理器通信。
15.如权利要求11所述的包括其上存储了指令的存储介质的制品,还包括多个主处理器连接到所述基板管理控制器。
16.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中多个BIOS映像被验证。
17.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中熵相关数据由所述基板管理控制器收集以提供安全性度量。
18.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中功率损耗数据由所述基板管理控制器收集以提供TPM功能。
19.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中所述基板管理控制器计算引导块的加密哈希值,以检测不可信任的BIOS映像。
20.如权利要求11所述的包括其上存储了指令的存储介质的制品,其中所述基板管理控制器将密钥保留在隔离存储器中。
21.一种系统,包括可在独立于主处理器的基板管理控制器上执行的加密服务模块,所述基板管理控制器具有相对于所述主处理器的隔离执行和存储器;以及用于在所述基板管理控制器和所述主处理器之间传送加密信息,以验证BIOS完整性的数据通道。
22.如权利要求21所述的系统,其中所述基板管理控制器工作为可信平台模块(TPM)协处理器。
23.如权利要求21所述的系统,其中所述基板管理控制器通过隧道传送英特尔平台管理接口(IPMI)协议中的TCPA命令集来与所述主处理器通信。
24.如权利要求1所述的方法,其中所述基板管理控制器通过预留专用于TCPA消息传递的额外的命令-数据端口来与所述主处理器通信。
25.如权利要求21所述的系统,还包括连接到所述基板管理控制器的多个主处理器。
26.如权利要求21所述的系统,其中多个BIOS映像被验证。
27.如权利要求21所述的系统,其中熵相关数据由所述基板管理控制器收集以提供安全性度量。
28.如权利要求21所述的系统,其中功率损耗数据由所述基板管理控制器收集以提供TPM功能。
29.如权利要求21所述的系统,其中所述基板管理控制器计算引导块的加密哈希值,以检测不可信任的BIOS映像。
30.如权利要求21所述的系统,其中所述基板管理控制器将密钥保留在隔离存储器中。
全文摘要
一种系统,用于在独立于主处理器的基板管理控制器上执行加密服务,所述基板管理控制器具有相对于所述主处理器的隔离执行和存储器。在所述基板管理控制器和主处理器之间传送加密信息,以验证BIOS完整性,并提供与可信计算机平台体系结构一致的功能。
文档编号G06F12/14GK1723425SQ200380105401
公开日2006年1月18日 申请日期2003年10月7日 优先权日2002年10月9日
发明者文森特·齐默 申请人:英特尔公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1