用于安全代码启动的动态加载测量环境制造技术

技术编号:12813899 阅读:50 留言:0更新日期:2016-02-05 13:51
“安全代码启动器”建立平台可信性(即,可信计算基础(TCB)),并且使用基于硬件或固件的组件来安全地启动一个或多个软件组件。安全代码启动器通过与集成到计算设备中的一个或多个基于硬件或固件的组件的安全扩展功能对接来测量并加载软件组件。例如,安全代码启动器的各种实施例包括基于固件的组件,这些基于固件的组件与集成到计算设备的安全扩展功能对接以测量并加载引导管理器、操作系统(OS)加载器或包括OS内核的其他OS组件。类似地,安全代码启动器能够测量和加载负责安装OS实例的软件组件。另外,安全代码启动器的各种实施例提供测量并加载管理程序的管理程序加载器,该管理程序进而测量并加载包括虚拟机的操作系统组件。

【技术实现步骤摘要】
【国外来华专利技术】【专利说明】用于安全代码启动的动态加载测量环境 背景 可信计算基础(TCB)通常被定义为系统中依靠其来实施计算平台的安全策略的 那部分。随着时间的流逝,现代TCB已变得复杂,由此使得越来越难以证明或以其他方式验 证TCB是针对特定计算平台适当且安全地建立的。当无法建立平台固件或BIOS的可信性 时,对平台状态的安全性和完整性的评估也是困难的。 用于解决TCB验证问题的现有技术一般依靠对二进制代码和系统配置元素的静 态测量。不幸的是,此类解决方案往往是脆弱的,这意味着对系统状态的任何改变(不论重 要性)都需要重新评估和测量。现有技术还限于平台启动以及引导路径中的软件组件。 如对于本领域技术人员是公知的,术语"测量"在相对于可信计算使用时指的是 评估或测量软件二进制代码或其他代码以使得测量结果既独特又指示可执行文件中的变 更。用于执行软件测量的一种常见方法是对软件应用密码散列算法。此类算法将产生不同 结果,其中甚至出现对所测软件的一位改变。密码散列算法通常还产生足够大以使得冲突 (其中两个散列值相同)的可能性极其小的输出。由此,将已知散列值与所测软件的散列值 进行比较可被用来确定该软件是否已从已知或期望状态改变。结果,这些类型的测量对于 许多TCB场景而言是非常有用的。 概述 提供本概述以便以简化形式介绍概念的选集,所述概念在以下详细描述中被进一 步描述。该概述不旨在标识所要求保护的主题的关键特征或基本特征,也不旨在被用来帮 助确定所要求保护的主题的范围。进而,尽管本文中可能指出并讨论了现有技术的某些缺 点,然而所要求保护的主题不旨在限于可解决或针对那些现有技术中的任何或全部缺点的 实现。 -般而言,如本文描述的"安全代码启动器"提供了用于降低为任意计算平台提供 可信计算基础(TCB)的复杂性的各种技术,该TCB进一步提供用以毫无疑义地将平台置于 可信状态的机制。更具体而言,安全代码启动器通过使用基于硬件或固件的组件来测量并 加载一个或多个软件组件来建立任意计算平台的可信性。有利的是,使用集成到计算设备 中的一个或多个基于硬件或固件的组件的安全扩展功能来测量此类代码允许安全代码启 动器从不可信固件、不可信BIOS或其他不可信存储中加载此类代码,同时在代码执行、启 动或安装之前建立该代码和计算平台的可信性。 例如,在各种实施例中,安全代码启动器的固件或软件组件与集成到计算设备中 的一个或多个处理器的安全扩展功能对接以测量并加载操作系统(OS)的软件组件。在这 些实施例中,用于发起计算设备的引导过程的代码(例如,出于讨论的目的而在此被统称 为"引导初始化器"的引导管理器、引导加载器、管理程序加载器等)从不可信固件、不可信 BIOS或其他不可信存储中加载。引导初始化器然后执行用以加载OS加载器的动作,该OS 加载器用于调用将被加载的OS内核组件。然而,安全代码启动器截取来自OS加载器的调 用并且然后使用集成到计算设备中的一个或多个基于硬件或固件的组件的安全扩展功能 来执行OS内核组件的安全程序启动,而不是允许OS加载器直接发起OS内核组件的加载。 更具体而言,安全代码启动器执行对OS内核组件的测量并且然后将控制权传递 给测量启动环境(MLE)和动态加载测量环境(DLME),MLE和DMLE确定系统状态可信,之后 将控制权传递给操作系统内核以完成内核启动。在各种实施例中使用类似过程来在任意计 算平台上安装OS的安全或可信实例。 在相关实施例中,安全代码启动器提供管理程序在任意计算平台上的安全或可信 加载。换言之,安全代码启动器通过与集成到计算设备中的一个或多个处理器的安全扩展 功能对接来提供用以测量和加载管理程序的管理程序加载器,该管理程序进而测量和加载 包括虚拟机的操作系统组件。注意,也被称为虚拟机管理器(VMM)的管理程序是在计算设 备上创建并运行一个或多个虚拟机实例的计算机软件、固件或硬件片段。 更具体而言,在此类实施例中,OS加载器加载并执行管理程序加载器。进而,管理 程序加载器执行初始化步骤并准备管理程序执行环境和状态,并且测量和加载管理程序映 像。控制权然后返回到OS加载器,OS加载器然后加载其他内核组件。操作系统加载器然 后执行安全程序启动,并且控制权传递给管理程序的DLME。管理程序的DLME然后确保计算 平台处于可信状态并将系统控制权转移至管理程序。管理程序然后启用虚拟化(即,初始 化虚拟机)并且将控制权返回给OS加载器并最终返回给OS内核。 鉴于以上概述,本文描述的安全代码启动器提供了用于通过使用基于硬件或固件 的组件来安全地启动一个或多个软件组件来建立任意计算平台的可信性的各种技术是清 楚的。除了刚才所描述的好处之外,当结合附图所考虑时,根据以下详细描述,安全代码启 动器的其它优点将是显而易见的。 附图简述 参考以下描述、所附权利要求书以及附图,将更好地理解所要求保护的主题的具 体特征、方面和优点,附图中: 图1提供示出此处描述的用于实现安全代码启动器的各实施例的程序模块的示 例性体系结构流程图。 图2示出了如本文描述的用于执行操作系统内核从不可信BIOS或其他固件中的 安全加载和启动的示例性过程。 图3示出了如本文描述的用于执行操作系统从不可信BIOS或其他固件中的安全 加载和启动的示例性过程。 图4示出了如本文描述的用于执行管理程序加载器从不可信BIOS或其他固件中 的安全加载和启动的示例性过程。 图5示出了一总系统流程图,该总系统流程图示出如本文所述的用于实现安全代 码启动器的各实施例的示例性方法。 图6是描绘本文中描述的具有用于实现安全代码启动器的各实施例的简化计算 和1/0能力的简化通用计算设备的概括系统图。 详细描述 在对所要求保护的主题的各实施例的以下描述中,对附图进行了参考,附图构成 了实施例的一部分且在其中作为说明示出了可在其中实践所要求保护的主题的各具体实 施例。应当理解,可以利用其他实施例,并且可以作出结构上的改变而不背离所要求保护的 主题的范围。 1.0 引言: -般而言,如本文描述的"安全代码启动器"建立平台可信性(即,可信计算基础 (TCB)),并且使用基于硬件或固件的组件来安全地启动一个或多个软件组件。安全代码启 动器通过与集成到计算设备中的一个或多个基于硬件或固件的组件的安全扩展功能对接 来测量并加载软件组件。更具体而言,在各种实施例中,安全代码启动器使用集成到计算机 处理器的安全扩展(诸如例如Dynamic Root of Trust for Measurement (动态测量信任 根,DRTM)和丨ntel? Trusted Execution Technology (可信执行技术,TXT))来建立用于安 全程序启动的平台可信性。 例如,安全代码启动器的各种实施例包括基于固件的组件,这些基于固件的组件 与集成到计算设备的安全扩展功能对接以测量并加载引导管理器、操作系统(OS)加载器 或包括OS内核的其他OS组件。类似地,安全代码启动器能够测量和加载负责安装OS实例 的软件组件。另外,安全代码启动器的各种实施例提供测量并加载管理程序的管理程序加 载器,该管理程序进而测量并加载包括虚拟机的操作系统组件。 用于使用集成到处理器的安全扩展硬件的常规本文档来自技高网...

【技术保护点】
一种用于在计算设备中提供安全程序启动的方法,包括:在所述计算设备的预引导环境中实例化事件处理程序;在所述计算设备的预引导环境中实例化引导初始化器;使用所述事件处理程序来截取所述引导初始化器发出的软件加载命令;对于所截取的每一加载命令,发起相应软件组件的软件测量;以及在每一次测量后,执行所测量的相应软件组件的安全程序启动。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:P·英格兰A·马罗奇科D·马顿D·R·伍藤
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1