不可信云基础设施中的安全虚拟机引导制造技术

技术编号:8629601 阅读:180 留言:0更新日期:2013-04-26 18:31
描述了用于在不可信云基础设施中安全地启动和执行虚拟机(VM)镜像的技术。多核处理器可以配置有附加的硬件组件(被称为信任锚)。所述信任锚可以配备有私有/公共密钥对,其允许所述多核CPU当能够在不可信云基础设施中安全地启动和执行虚拟机(VM)镜像时进行自身认证。

【技术实现步骤摘要】
【国外来华专利技术】不可信云基础设施中的安全虚拟机引导
本公开中所提出的实施例一般地涉及用于为虚拟化服务器提供计算基础 设施的技术,并且更特别地,涉及一种用于在不可信云基础设施(untrusted cloud infrastructure)中安全地启动虚拟机(VM)的方法和装置。
技术介绍
服务器虚拟化技术允许多个虚拟机在单个物理计算系统上同时运行。目前,数据 中心环境被用来创建这样的物理计算系统(通常被称为服务器)的大集群,其中,每个服务 器都运行多个虚拟机(VM)。该方法已经导致了能够供应大量计算能力的数据中心。若干供 应商目前允许用户供应虚拟机实例以在由数据中心的运营商所提供的虚拟化服务器上运 行。在各种形式下,这个通用计算模型逐渐被称为“云计算”或“基础设施即服务”(IaaS), 因为用户在抽象硬件平台上简单地运行他们的虚拟机实例,而不必拥有或者管理该硬件平 台。若非成百上千的虚拟机,该方法允许给定用户快速地扩增几十倍以响应对于计算资源 的需求变化。同时,云计算和IaaS供应商所面对的主要障碍是需要用户信任云供应商和管理 在服务器上运行的多个VM的管理程序(hypervisor)(或虚拟机管理器,(VMM))的实施。目 前,这个通过云供应商针对安全性定制的操作流程的检查和理解来完成。这导致信任感,但 没有强大的机制来保证在相同的中央处理单元(CPU)套接字服务器中执行的VM之间的有 效分离。属于不同企业的VM被并置在相同的服务器中的事实能够导致侧面攻击和安全问 题。例如,当属于不同企业的VM被在相同CPU的不同核中执行时,它们经由L3缓存共享对 存储器的访问(或者绕过由管理程序所设置的存储器保护)。在技术人员的手中,这能够导 致信息从一个VM泄漏到另一个VM。也就是说,来自一个企业的恶意VM能够设法获得对代 表另一个企业运行的VM的存储器的访问。另一个问题是管理程序本身。即使管理程序被设计为执行不同VM之间的分离,由 于管理程序漏洞或由于直接针对管理程序本身的显式攻击,数据也仍然能够从一个VM泄 漏到另一个VM。而且,作为云供应商人员的一部分的恶意管理员能够发起另一组攻击。附图说明所以,以可以详细理解本公开的上述特征的方式,可以参照实施例对以上概述的 本公开进行更为具体的描述,其中一些实施例在附图中示出。然而,要注意的是,附图仅举 例说明了本公开的典型实施例并且因此将不认为限制其范围,因为本公开可以许可其他同 等有效的实施例。图1A至图1B是图示了根据本公开的某些实施例的用于基础设施即服务(IaaS) 云环境中的可信执行的不同安全模型的框图。图2是图示了根据本公开的某些实施例的被配置成在IaaS环境中提供多个VM的可信执行的虚拟化服务器的组件的框图。图3是图示了根据本公开的某些实施例的被配置成在IaaS环境中提供可信虚拟 机执行的处理器架构的示例的框图。图4进一步图示了根据本公开的某些实施例的图3中首先示出的CPU架构的方面。图5图示了根据本公开的某些实施例的用于安全地启动VM实例的方法。图6图示了根据本公开的某些实施例的用于不可信云基础设施中的安全虚拟机 引导的方法。图7图示了根据本公开的某些实施例的用于从储存器中提取VM镜像的加密部分 的方法。图8A至图8E描绘了根据本公开的某些实施例的用来使用图6和图7的方法在不 可信云基础设施中安全地启动虚拟机的处理器架构的示例。具体实施方式概述本文所述的一个实施例包括一种方法。所述方法一般地可以包括通过具有多个处 理核的中央处理单元(CPU)上的信任锚接收虚拟机(VM)镜像。当接收到VM镜像时,使用 VM镜像加密密钥对所述VM镜像进行加密。所述方法还可以包括获得VM镜像加密密钥并且 用该VM镜像加密密钥来配置第一加密/解密块。所述方法还可以包括生成存储器会话密 钥并且用该存储器会话密钥来配置第二加密/解密块。所述方法还可以包括将所述VM镜 像的一个或多个页提取到可被多个处理核访问的存储器中。每个提取的页都可以由第一加 密/解密块使用VM镜像加密密钥来解密,并且随后由第二加密/解密块使用存储器会话密 钥来加密。在一个具体实施例中,所述方法还可以包括获得VM镜像加密密钥可以包括用嵌 入在信任锚中的私有密钥来对该VM镜像加密密钥的第一加密拷贝进行签名;将经签名的、 加密的VM镜像加密密钥的拷贝传送到密钥服务,以便认证信任锚在CPU上的存在;以及响 应于所述认证,接收VM镜像加密密钥的第二加密拷贝,其中,VM镜像加密密钥的第二加密 拷贝使用信任锚的公共密钥来加密。本文所述的另一个实施例包括一种计算系统。所述系统可以包括具有多个处理核 的CPU、可被所述多个处理核访问的存储器以及信任锚。所述信任锚一般地可以被配置成 获得VM镜像加密密钥,用该VM镜像加密密钥来配置第一加密/解密块,生成存储器会话密 钥,以及用该存储器会话密钥来配置第二加密/解密块。所述计算系统还可以包括存储器 控制器,所述存储器控制器被配置成将所述VM镜像的一个或多个页提取到存储器中。每个 提取的页可以由第一加密/解密块使用VM镜像加密密钥来解密,并且随后当被写入到存储 器时,由第二加密/解密块使用存储器会话密钥来加密。本文所述的又一个实施例包括一种计算机可读存储介质,所述计算机可读存储介 质存储由具有多个处理核的中央处理单元(CPU)上的信任锚执行的代码。当被信任锚执行 时,所述代码可以执行操作。并且所述操作本身一般地可以包括接收已经使用VM镜像加密 密钥加密的虚拟机(VM)镜像。所述操作还可以包括获得VM镜像加密密钥;用该VM镜像加密密钥来配置第一加密/解密块;生成存储器会话密钥;用该存储器会话密钥来配置第 二加密/解密块。一旦所述加密/解密块由信任锚配置,VM镜像的页就被提取到可被所述 多个处理核访问的存储器中,并且其中,每个提取的页由第一加密/解密块使用VM镜像加 密密钥来解密,并且随后当被写入到存储器时,由第二加密/解密块使用存储器会话密钥 来加密。示例实施例的描述本文所述的实施例提供了用于在不可信云基础设施中安全地启动和执行虚拟机 (VM)镜像的技术。例如,本文所述的一个实施例提供了用来启动和执行VM镜像的计算架 构。所述计算架构可以是具有附加的硬件组件(被称为信任锚)的多核处理器。所述信任 锚可以被配置成管理由本文所述的安全引导过程所使用的加密密钥。在一个实施例中,信任锚与多核处理器嵌入在一起并且可以在制造时配备有私有 /公共密钥对和公共密钥基础设施(PKI)证书,所述证书将信任锚标识绑定到在该证书中 所列出的公共密钥。CPU模型和制造商可以被列出为该证书的属性。有利地,将信任锚嵌入 CPU内允许企业在不用信任BIOS载入器/BI0S/0S载入器/管理程序链的元件中的任何一 个的情况下安全地引导VM。在启动加密VM镜像之前,信任锚从事安全协议以向企业进行自身认证并且获得 用来对加密VM镜像进行解密的VM镜像加密密钥。如在本文中更详细地描述的那样,信任 锚用该VM镜像加密密钥配置磁盘控制块。信任锚还生成存储器会话密钥,所述存储器会话 密钥被用来配置在每个处理核上的L3缓存与存储器之间和在L3缓存与L2缓存之间的缓 存线中的加密/解密块。一旦CPU上的加密/解密块被配置,VM镜像就可以本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】2010.06.07 US 12/795,4661.一种方法,包括 通过具有多个处理核的中央处理单元(CPU)上的信任锚接收虚拟机(VM)镜像,其中,所述VM镜像使用VM镜像加密密钥来加密; 获得所述VM镜像加密密钥; 用所述VM镜像加密密钥来配置第一加密/解密块; 生成存储器会话密钥; 用所述存储器会话密钥来配置第二加密/解密块;以及 将所述VM镜像的一个或多个页提取到可由所述多个处理核访问的存储器中,其中,每个提取的页由所述第一加密/解密块使用所述VM镜像加密密钥来解密,并且随后由所述第二加密/解密块使用所述存储器会话密钥的来加密。2.如权利要求1所述的方法,其中,获得所述VM镜像加密密钥包括 用嵌入在所述信任锚中的私有密钥来对所述VM镜像加密密钥的第一加密拷贝进行签名; 将经签名的、加密的所述VM镜像加密密钥的拷贝传送到密钥服务,以便认证所述信任锚在所述CPU上的存在;以及 响应于所述认证,接收所述VM镜像加密密钥的第二加密拷贝,其中,所述VM镜像加密密钥的第二加密拷贝使用所述信任锚的公共密钥来加密。3.如权利要求2所述的方法,其中,所述VM镜像加密密钥的第一加密拷贝使用与所述密钥服务相关联的公共密钥来加密。4.如权利要求1所述的方法,其中,所述页被从磁盘存储库中提取,并且其中,所述第一解密/解密块和所述第二加密/解密块被布置在可由所述多个处理核访问的所述磁盘存储库与所述存储器之间的I/O路径中。5.如权利要求1所述的方法,还包括 用所述存储器会话密钥来配置第三加密/解密块,其中,所述第三加密/解密块存在于所述CPU上的第一缓存与第二缓存之间,并且其中,所述第一缓存对于所述CPU上的所述处理核中的一个而言是本地的,而所述第二缓存由所述CPU上的所述多个处理核共享。6.如权利要求5所述的方法,还包括 标识数据的存储器地址以从所述存储器读取到所述第一缓存中; 从所述存储器将与所述存储器地址相关联的数据写入到所述第二缓存中; 从所述存储器将与所述存储器地址相关联的随机数写入到所述第二缓存中; 至少使用所述存储器会话密钥、所述随机数以及所述存储器地址来生成密钥流,以及使用所生成的密钥流来解密与所述存储器地址相关联同时正被从所述第二缓存读取到所述第一缓存的所述数据。7.如权利要求1所述的方法,其中,所述VM镜像的一个或多个页通过在所述处理核中的一个上执行的管理程序而被提取到所述存储器中以便启动所述VM镜像。8.一种计算系统,包括 ...

【专利技术属性】
技术研发人员:法彼奥·R·麦诺皮瑞·曼克鲁斯大卫·A·麦格鲁罗伯特·T·贝尔史蒂芬·约瑟夫·里奇
申请(专利权)人:思科技术公司
类型:
国别省市:

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

1