当前位置: 首页 > 专利查询>英特尔公司专利>正文

具有受保护的访客机验证主机控制的安全公共云制造技术

技术编号:18894194 阅读:33 留言:0更新日期:2018-09-08 10:49
在主机虚拟机监视器(VMM)不具有访问访客虚拟机(VM)内数据的能力或者直接访问控制所述访客VM的执行流的控制结构的能力的情况下,所述主机VMM“盲目地”运行。访客VM在甚至所述主机VMM都无法访问的受保护存储器区域(被称为密钥域)内执行。与所述访客VM的执行状态(例如,虚拟机控制结构(VMCS))和存储器映射(例如,扩展页表(EPT))有关的虚拟化数据结构也位于所述受保护存储器区域内并且也是使用所述密钥域密钥来加密的。不拥有其他密钥域的所述密钥域密钥的主机VMM和其他访客VM无法直接修改这些控制结构并且也无法访问所述受保护存储器区域。然而,所述主机VMM可以验证访客VM的控制结构的正确性。

A secure public cloud with protected guest machine validation host control.

When the host virtual machine monitor (VMM) does not have the ability to access data within the guest virtual machine (VM) or the ability to directly access the control structure that controls the execution flow of the guest VM, the host VMM operates \blindly\. Visitor VMs execute in protected memory areas (called key domains) that are not accessible even to the host VMM. The virtualized data structure associated with the execution state of the visitor VM (e.g., VMCS) and memory mapping (e.g., extended page table (EPT)) is also located in the protected memory area and is also encrypted using the key domain key. The host VMM and other visitor VMs that do not have the key of the key domain of the other key domains cannot directly modify these control structures and access the protected memory area. However, the host VMM can verify the correctness of the control structure of the visitor VM.

【技术实现步骤摘要】
具有受保护的访客机验证主机控制的安全公共云本申请要求于2016年10月14日提交的序列号为15/293,967的美国专利申请的优先权,所述美国专利申请要求于2016年8月11日提交的申请人为大卫达勒姆(DavidDurham)、拉维萨希塔(RaviSahita)、巴里亨特利(BarryHuntley)和尼基尔M德什潘德(NikhilM.Deshpande)的名称为“SecurePublicCloud(安全公共云)”的第62/373,627号美国临时专利申请的优先权,所述申请的公开内容通过引用结合在此。
实施例涉及公共云的安全性,并且具体地使得公共云服务的消费者能够确保消费者的在云中执行的进程以及消费者的私有数据被保护免受其他人(包括公共云服务提供商)访问和修改。
技术介绍
术语“云计算(cloudcomputing)”用于描述基于网络的计算(通常在互联网上)。根据维基百科,“云计算根据需要向计算机和其他设备提供共享处理资源和数据。云计算是用于实现对可配置计算资源(例如,网络、服务器、存储设备、应用和服务)的共享池进行的无处不在的按需访问,所述可配置计算资源可以以最小管理努力被快速提供和释放。云计算和存储解决方案向用户和企业提供用于在第三方数据中心中存储和处理其数据的各种能力。云计算依赖于共享资源以便实现相干性和规模经济,类似于网络上的公共设施(像电网)。”(来源:维基百科,https://en.wikipedia.org/wiki/云_计算,2016年8月11日访问,引文省略)。大容量网络、低成本计算机和存储设备的当前可用性以及对硬件虚拟化、面向服务的架构和自主且实用的计算的广泛采用已经引起云计算的增长。公司可以随着计算需求增大通过从云服务提供商请求附加资源来扩大规模并且然后随着需求减小而再次缩小规模。云计算将资源作为服务来提供。“云计算提供商根据不同模型来提供其‘服务’,所述模型中的按照国家标准与技术研究所(NationalInstituteofStandardsandTechnology,NIST)的三个标准模型是基础设施即服务(InfrastructureasaService,IaaS)、平台即服务(PlatformasaService,PaaS)以及软件即服务(SoftwareasaService,SaaS)。这些模型提供增强的抽象性;因此它们经常扮演栈中的层,其中,基础设施即栈充当底层;平台即服务充当中间层;并且软件即服务充当顶层。这些层可以彼此独立地实施。例如,可以提供在物理机器(裸金属)上实施的SaaS,而不需要使用下面的PaaS或IaaS层;并且相反地,可以在IaaS上运行程序并且直接对其进行访问,而不需要将其包装为SaaS。”(来源:维基百科,https://en.wikipedia.org/wiki/云_计算,2016年8月11日访问,引文省略)。“NIST对云计算的定义将服务模型定义如下:软件即服务(SaaS)。提供给消费者的这种能力是使用在云基础架构上运行的提供商的应用。可以通过如网络浏览器(例如,基于网络的电子邮件)等瘦客户端接口、或程序接口从各种客户端设备访问应用。可能除了有限的特定于用户的应用配置设置之外,消费者并不管理或控制包括网络、服务器、操作系统、存储设备、或甚至各个应用能力的底层云基础架构。平台即服务(PaaS)。提供给消费者的这种能力是向云基础架构上部署消费者创建或获得的应用,这些应用是使用由提供商支持的编程语言、库、服务和工具来创建的。消费者并不管理或控制包括网络、服务器、操作系统或存储设备的底层云基础架构,但对部署的应用以及可能应用托管环境的配置设置具有控制权。基础设施即服务(IaaS)。提供给消费者的这种能力是供应处理、存储设备、网络和其他基本计算资源,其中消费者能够部署并运行可以包括操作系统和应用的任意软件。消费者并不管理或控制底层的云基础架构,但是对操作系统、存储设备和部署的应用具有控制权,并且对选择联网组件(例如,主机防火墙)可能具有有限的控制权。”(来源:维基百科,https://en.wikipedia.org/wiki/云_计算,2016年8月11日访问,引文省略)。一种用于云计算的实现技术是虚拟化。“虚拟化软件将物理计算设备分成一个或多个‘虚拟’设备,其中的每一个虚拟设备都可以很容易地使用和管理以便执行计算任务。硬件虚拟化是将计算机虚拟化为完整硬件平台、其元件部分的某些逻辑抽象、或者仅运行各种操作系统所需的功能。虚拟化向用户隐藏计算平台的物理特性,替代地呈现另一个抽象计算平台”,通常称为‘虚拟机’。(来源:维基百科,https://en.wikipedia.org/wiki/硬件_虚拟化,2016年8月11日访问,引文省略)。控制虚拟化的软件被称为“管理程序(hypervisor)”或“虚拟机监视器(virtualmachinemonitor)”。提供并执行管理程序/虚拟机监视器来创建代表消费者的虚拟机是由公共云服务提供商提供的服务的示例。附图说明图1是框图,示出了典型虚拟机环境。图2是框图,示出了根据本专利技术的一个实施例的虚拟机环境。图3是根据本专利技术的一个实施例的云服务环境的框图。图4是图示,示出了可以用于实施本专利技术的实施例的装置。图5是根据本专利技术的一个实施例的由云服务的消费者执行的方法的流程图。图6是根据本专利技术的一个实施例的由云服务提供商执行的方法的流程图。图7是图示,示出了根据本专利技术的一个实施例的消费者域镜像的组件。图8是图示,示出了根据本专利技术的一个实施例的数据物理地址。图9是图示,示出了根据本专利技术的一个实施例的虚拟到物理存储器映射。图10是图示,示出了根据本专利技术的一个实施例的另一个虚拟到物理存储器映射。图11是图示,示出了根据本专利技术的一个实施例的云服务提供商向消费者提供域镜像的初始步骤。图12是图示,示出了根据本专利技术的一个实施例的消费者与云服务提供商之间用于向消费者提供域镜像的消息。图13是图示,示出了根据本专利技术的一个实施例的消费者提供经加密域镜像。图14是图示,示出了根据本专利技术的一个实施例的云服务环境的组件之间用于对域镜像进行加密并且建立密钥域的消息。图15是图示,示出了根据本专利技术的一个实施例的云服务环境的组件之间用于将消费者的经加密域镜像加载到具备密钥域能力的服务器的存储器中的消息。图16是图示,示出了根据本专利技术的一个实施例的密钥域的初始化。图17是根据本专利技术的一个实施例的在执行创建密钥域操作时对具备密钥域能力的服务器的CPU进行操作的方法。图18是图示,示出了根据本专利技术的一个实施例的对域镜像的验证。图19是图示,示出了根据本专利技术的一个实施例的云服务环境的组件之间用于验证域镜像的消息。图20是根据本专利技术的一个实施例的在执行散列密钥域操作时对具备密钥域能力的服务器的CPU进行操作的方法的流程图。图21是图示,示出了根据本专利技术的一个实施例的密钥域之间的切换。图22是图示,示出了根据本专利技术的一个实施例的在密钥域内部执行时云服务环境的组件之间的消息。图23是根据本专利技术的一个实施例的在执行切换密钥域操作时对具备密钥域能力的服务器的CPU进行操作的方法的流程图。图24是根据本专利技术的一个实施例的在响应于页未命中而执行对分页结构的本文档来自技高网...

【技术保护点】
1.一种用于在公共云环境中安全地执行消费者工作负载的装置,所述装置包括:处理器;以及存储器,耦合至所述处理器;其中,所述处理器用于执行不可信主机虚拟机监视器以便管理由所述处理器对至少一个访客虚拟机的执行;所述不可信主机虚拟机监视器用于接收经加密密钥域密钥、由密钥域密钥加密的经加密访客代码镜像、以及由所述密钥域密钥加密的经加密访客控制结构,所述密钥域密钥是所述不可信主机虚拟机监视器不能够访问的;所述不可信主机虚拟机监视器用于向所述处理器发出用于创建第一密钥域的创建命令,所述第一密钥域包括所述存储器的待由所述密钥域密钥加密的区域,所述不可信主机虚拟机监视器用于进一步验证所述经加密访客控制结构;响应于接收到所述创建命令,所述处理器用于创建所述第一密钥域并且对所述经加密密钥域密钥进行解密以便产生所述密钥域密钥;所述不可信主机虚拟机监视器用于向所述处理器发出用于启动所述第一密钥域内的第一访客虚拟机的启动命令;并且响应于接收到所述启动命令,所述处理器用于:切换到所述第一密钥域,对所述经加密访客控制结构进行解密以便产生包含访客处理器状态信息的访客控制结构,对所述经加密访客代码镜像进行解密以便产生访客代码镜像,并且使用所述访客处理器状态信息来执行所述第一密钥域内的所述访客代码镜像。...

【技术特征摘要】
2017.02.28 US 15/444,7711.一种用于在公共云环境中安全地执行消费者工作负载的装置,所述装置包括:处理器;以及存储器,耦合至所述处理器;其中,所述处理器用于执行不可信主机虚拟机监视器以便管理由所述处理器对至少一个访客虚拟机的执行;所述不可信主机虚拟机监视器用于接收经加密密钥域密钥、由密钥域密钥加密的经加密访客代码镜像、以及由所述密钥域密钥加密的经加密访客控制结构,所述密钥域密钥是所述不可信主机虚拟机监视器不能够访问的;所述不可信主机虚拟机监视器用于向所述处理器发出用于创建第一密钥域的创建命令,所述第一密钥域包括所述存储器的待由所述密钥域密钥加密的区域,所述不可信主机虚拟机监视器用于进一步验证所述经加密访客控制结构;响应于接收到所述创建命令,所述处理器用于创建所述第一密钥域并且对所述经加密密钥域密钥进行解密以便产生所述密钥域密钥;所述不可信主机虚拟机监视器用于向所述处理器发出用于启动所述第一密钥域内的第一访客虚拟机的启动命令;并且响应于接收到所述启动命令,所述处理器用于:切换到所述第一密钥域,对所述经加密访客控制结构进行解密以便产生包含访客处理器状态信息的访客控制结构,对所述经加密访客代码镜像进行解密以便产生访客代码镜像,并且使用所述访客处理器状态信息来执行所述第一密钥域内的所述访客代码镜像。2.如权利要求1所述的装置,其中,响应于触发所述第一访客虚拟机的退出条件的事件,所述处理器用于从所述第一密钥域切换到第二密钥域。3.如权利要求1所述的装置,其中,响应于触发所述第一访客虚拟机的退出条件的事件,所述处理器用于将所述第一访客虚拟机的所述访客处理器状态信息保存在所述存储器的受保护位置中;所述不可信主机虚拟机监视器用于向所述处理器发出用于恢复所述第一访客虚拟机的恢复命令;并且响应于接收到所述恢复命令,所述处理器用于:切换到所述第一密钥域,从所述存储器的所述受保护位置处检索所述第一访客虚拟机的所述访客处理器状态信息,并且使用所述访客处理器状态信息来执行所述第一密钥域内的所述访客代码镜像。4.如权利要求1所述的装置,其中,所述访客代码镜像包括用于拦截中断的中断处理程序代码;所述处理器用于将所述第一访客虚拟机的退出条件转换为异常;所述访客代码镜像用于响应于所述中断和所述异常中的至少一个而将处理器寄存器信息保存到所述存储器的受保护位置;所述访客代码镜像用于在所述不可信主机虚拟机监视器不需要第一处理器寄存器时清除所述第一处理器寄存器;所述访客代码镜像用于在所述不可信主机虚拟机监视器需要第二处理器寄存器时有条件地暴露所述第二处理器寄存器;所述访客代码镜像用于调用所述不可信主机虚拟机监视器;并且所述第一访客虚拟机用于在所述不可信主机虚拟机监视器被调用时退出。5.如权利要求1所述的装置,其中,所述不可信主机虚拟机监视器用于:接收经加密的更新后访客控制结构,将所述经加密的更新后访客控制结构安装在所述存储器中,并且验证所述经加密的更新后访客控制结构;所述处理器用于对所述经加密的更新后访客控制结构进行解密以便产生更新后访客控制结构;响应于验证所述经加密的更新后访客控制结构,所述不可信主机虚拟机监视器用于向所述处理器发出用于使用所述更新后访客控制结构进入所述第一访客虚拟机的进入命令;并且响应于接收到所述进入命令,所述处理器用于使用所述更新后访客控制结构进入所述第一访客虚拟机。6.如权利要求5所述的装置,其中,所述不可信主机虚拟机监视器进一步用于接收经加密的更新后访客代码镜像并且将所述经加密的更新后访客代码镜像安装在所述存储器中;所述处理器用于对所述经加密的更新后访客代码镜像更新进行解密以便产生更新后访客代码镜像;并且所述处理器用于通过使用所述更新后访客控制结构执行所述更新后访客代码镜像来进入所述第一访客虚拟机。7.如权利要求1所述的装置,其中,所述不可信主机虚拟机监视器用于判定是否需要对所述访客控制结构进行改变;所述第一访客虚拟机用于验证对所述访客控制结构进行的所述改变不损害所述第一访客虚拟机的安全性;所述第一访客虚拟机用于使用所述密钥域密钥来产生结合所述改变的经加密的更新后访客控制结构;并且所述第一访客虚拟机用于经由所述存储器的由所述不可信主机虚拟机监视器和所述第一访客虚拟机共享的共享区域向所述不可信主机虚拟机监视器发送所述经加密的更新后访客控制结构。8.如权利要求7所述的装置,其中,所述不可信主机虚拟机监视器用于将所述经加密的更新后访客控制结构安装在所述存储器中;所述不可信主机虚拟机监视器用于验证所述经加密的更新后访客控制结构;所述处理器用于对所述经加密的更新后访客控制结构进行解密以便产生更新后访客控制结构;响应于验证所述经加密的更新后访客控制结构,所述不可信主机虚拟机监视器用于向所述处理器发出用于使用所述更新后访客控制结构进入所述第一访客虚拟机的进入命令;并且响应于接收到所述进入命令,所述处理器用于使用所述更新后访客控制结构进入所述第一访客虚拟机。9.如权利要求1所述的装置,其中,所述经加密访客代码镜像包括代理代码镜像;所述经加密访客控制结构包括代理控制结构;所述不可信主机虚拟机监视器用于验证所述代理控制结构;所述不可信主机虚拟机监视器用于向所述处理器发出用于启动所述第一密钥域内的第二访客虚拟机的第二启动命令,所述第二访客虚拟机用于提供代理以便代表所述第一密钥域内的所述不可信主机虚拟机监视器来起作用;并且响应于接收到所述第二启动命令,所述处理器用于:切换到所述第一密钥域,对所述经加密访客代码镜像进行解密以便产生所述代理代码镜像,对所述经加密访客控制结构进行解密以便产生包含代理处理器状态信息的所述代理控制结构,并且使用所述代理处理器状态信息来执行所述第一密钥域内的所述代理代码镜像。10.如权利要求9所述的装置,其中,所述不可信主机虚拟机监视器用于经由由所述代理和所述不可信主机虚拟机监视器共享的共享存储器区域来向所述代理传送用于修改所述第一访客虚拟机的所述访客控制结构的请求;...

【专利技术属性】
技术研发人员:D·M·杜汉姆G·尼格B·E·亨特利R·L·萨希塔B·V·帕特尔
申请(专利权)人:英特尔公司
类型:发明
国别省市:美国,US

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

1