CN113544643A - 使用初始程序加载机制启动安全客户机 - Google Patents

使用初始程序加载机制启动安全客户机 Download PDF

Info

Publication number
CN113544643A
CN113544643A CN202080019271.5A CN202080019271A CN113544643A CN 113544643 A CN113544643 A CN 113544643A CN 202080019271 A CN202080019271 A CN 202080019271A CN 113544643 A CN113544643 A CN 113544643A
Authority
CN
China
Prior art keywords
hypervisor
host server
secure
memory
instruction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202080019271.5A
Other languages
English (en)
Inventor
V·米哈伊洛夫斯基
C·伊布伦达
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN113544643A publication Critical patent/CN113544643A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45545Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)
  • Hardware Redundancy (AREA)

Abstract

一种用于启动安全客户机的方法,包括由在主机服务器上执行的管理程序接收在主机服务器上分派虚拟机(VM)的请求。由管理程序在主机服务器上分派VM。VM包括重启指令。重启指令由管理程序触发以在安全模式中重启VM。

Description

使用初始程序加载机制启动安全客户机
背景技术
本发明一般涉及计算机技术,尤其涉及使用初始程序加载(IPL)机制来启动安全客户机。
云计算和存储向用户提供在第三方数据中心中存储和处理他们的数据的能力。云计算促进了快速且容易地为客户供应虚拟机(VM)而无需客户购买硬件或为物理服务器提供占地面积的能力。客户可以根据客户的变化的偏好或要求来扩展或收缩VM。通常,云计算提供商供应物理上驻留在提供商的数据中心处的服务器上的VM。客户通常关心VM中的数据的安全性,特别是因为计算提供商通常在同一服务器上存储一个以上客户的数据。客户可能期望其代码/数据与云计算提供商之间的安全性,以及其代码/数据与在提供商的位置处运行的其他VM的代码/数据之间的安全性。此外,客户可能期望来自提供商的管理员的安全性,以及抵御在机器上运行的其它代码中的潜在安全性破坏。
为了处理这种敏感情形,云服务提供商可以实现安全控制以确保适当的数据隔离和逻辑存储分离。在实现云基础设施中广泛使用虚拟化导致了对云服务的客户的独特安全问题,因为虚拟化改变了操作系统(OS)与底层硬件(无论是计算、存储还是甚至联网)之间的关系。这引入了虚拟化作为附加层,其本身必须被正确地配置、管理和保护。
发明内容
根据本发明的一个或多个实施例,非限制性示例方法包括由在主机服务器上执行的管理程序接收在主机服务器上分派虚拟机(VM)的请求。VM由管理程序分派在主机服务器上。VM包括重启指令。所述重启指令由所述管理程序触发以在安全模式中重启所述VM。一个或多个实施例的技术效果和益处可以包括使用由非安全VM执行的重启指令来启动安全VM的能力。
根据本发明的附加或替换实施例,重启指令利用初始程序加载(IPL)机制。技术效果和益处可以包括使用标准IPL机制来启动安全VM的能力。
根据本发明的附加或替代实施例,所述分派包括将VM的已加密镜像加载到主机服务器的存储器中,以及将包括重启指令的未加密引导程序组件加载到存储器中。技术效果和益处可以包括管理程序在非安全模式下启动VM而无需首先解密VM的镜像的能力。
根据本发明的附加或替代实施例,所述分派还包括将控制转移到所述未加密引导程序组件。技术效果和益处可以包括管理程序在非安全模式下启动VM而无需首先解密VM的镜像并且然后将控制转移到引导程序组件以便在安全模式下重启VM的能力。
根据本发明的附加或替代实施例,在分派之后VM包括已加密组件。技术效果和益处可以包括管理程序在非安全模式下启动VM而无需首先解密VM的镜像的能力。
根据本发明的附加或替代实施例,重启包括解密VM的已加密组件。技术效果和益处可以包括作为重启过程的一部分对加密的VM镜像进行解密。
根据本发明的附加或替代实施例,由管理程序分派的VM处于非安全模式,并且VM的数据可由管理程序访问。技术效果和益处可以包括管理程序在非安全模式下启动VM而无需首先解密VM的镜像的能力。
根据本发明的附加或替代实施例,基于所述VM处于所述安全模式的确定,阻止所述管理程序访问所述VM的任何数据。技术效果和益处可以包括提供安全VM环境的能力。
根据本发明的附加或替代实施例,主机服务器上的VM包括VM的已加密镜像。此外,触发重启指令包括管理程序调用安全接口控件以在安全模式下执行重启,管理程序指定VM的已加密镜像在主机服务器上的位置以及解密信息。
根据本发明的附加或替代实施例,执行重启包括由安全接口控件基于解密信息对VM进行解密。它还包括基于已解密的VM来重启所述VM,其中在所述重启之后,阻止所述管理程序访问所述VM的任何数据。
本发明的其它实施例在计算机系统和计算机程序产品中实现上述方法的特征。
通过本发明的技术实现额外特征及优点。本发明的其它实施例和方面在这里详细描述,并且被认为是本发明的一部分。为了更好地理解本发明的优点和特征,请参考说明书和附图。
附图说明
在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本发明的实施例的前述和其它特征和优点将变得显而易见,其中:
图1描绘了根据本发明的一个或多个实施例的用于使用初始程序加载(IPL)机制来启动客户机的系统的示意图;
图2描绘了根据本发明的一个或多个实施例的用于使用初始程序加载(IPL)机制来启动安全客户机的过程的流程图;
图3描绘了根据本发明的一个或多个实施例的包括被加载在主机服务器上的安全客户机的系统的示意图;
图4描绘了根据本发明的一个或多个实施例的用于启动安全客户机的IPL信息块;
图5描绘了根据本发明的一个或多个实施例的用于启动安全客户机的处理流程;
图6描绘了根据本发明的一个或多个实施例的云计算环境;
图7描绘了根据本发明的一个或多个实施例的抽象模型层;
图8描绘了根据本发明的一个或多个实施例的系统;以及
图9描绘了根据本发明的一个或多个实施例的处理系统。
这里描述的图是说明性的。在不脱离本发明的精神的情况下,可以对其中描述的图或操作进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦接”及其变型描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变型都被认为是说明书的一部分。
具体实施方式
根据本发明的一个或多个实施例,提供了一种新的初始程序加载(IPL)机制,以允许在主机服务器上执行的客户机或虚拟机(VM)请求转移到安全模式。当处于安全模式时,管理程序不能访问VM的数据。根据本发明的一个或多个实施例,当VM在安全模式中执行时,在硬件和/或固件中实现的安全接口控件被用于提供在安全客户机和在主机服务器上执行的其它客户机之间的隔离。
根据本发明的一个或多个实施例,VM的已加密镜像与未加密引导程序组件一起被加载到主机服务器的VM存储器中。引导程序组件可以访问关于VM的已加密镜像的所有存储器页的信息以及元数据结构,以在解密镜像时使用和在安全模式下(即,作为安全客户机)重启VM。根据本发明的一个或多个实施例,元数据结构还包括可以使用的操作系统镜像的连续区域的列表。如本领域所公知的,代替单独列出操作系统的所有存储器页,每个包括起始页和页数的区域列表可以节省空间并加速处理。例如,如果假设的操作系统镜像驻留在页0、1、2、3、6和7中,则这可被指定为(0,4)和(6,2)。
根据本发明的一个或多个实施例,引导程序组件通过准备新格式的IPL信息块来触发重启或重启操作;使用例如“诊断308子码5”设置IPL信息块;以及使用例如“诊断308子码3”或新码来执行IPL。IPL信息块可以包括:具有镜像密钥和完整性值的安全执行(SE)头;需要被解密的存储器区域的列表;以及初始化向量(IV),其已经用于已加密镜像的所有页。在传统环境中,IPL信息块包含引导源的标识,其可以是盘设备地址、类似CDROM的命名等。对于由本发明的一个或多个实施例实现的安全环境,引导源标识信息包括加密密钥和需要被解密的存储器区域。根据所使用的加密方法,本发明的一个或多个实施例实现IV以增加加密的随机性。可为所述存储器区域中的每一者提供唯一的IV。利用IV的这种类型的加密方法可以用于提高加密的质量。例如,如果两个相同的存储器页用相同的秘密密钥但用不同的IV加密,则加密的内容将是不同的,这使得对手不可能知道内容是相同的。
“诊断”是允许客户操作系统与管理程序交互的指令的示例。诊断指令由IBM z
Figure BDA0003249694200000051
使用,而诊断308专门用于程序引导的IPL(允许客户机请求重启)操作。子代码5用于设置IPL参数(例如要使用的启动设备),而子代码3用于触发从子代码5先前指定的启动设备的重启。请求来自操作系统内的重启的机制是依赖于体系结构的。在一些x86机器上,可以使用商业上可获得的软件工具来改变启动设备。
根据本发明的一个或多个实施例,管理程序使用来自IPL信息块的信息,包括调用安全接口控件(这里也被称为“超级监视器”)的SE头,以创建安全客户机配置,并执行对已加密的VM镜像的解包或解密。如果解包成功,则被解包的VM获得控制,以安全模式执行。如果解包失败,则VM进入非安全模式下的禁用等待状态。
在主机管理程序的控制下作为客户机运行的VM依赖于该管理程序为该客户机透明地提供虚拟化服务。这些服务可以应用于安全实体和另一个非受信实体之间的任何接口,该接口传统上允许该另一个实体访问安全资源。这些服务可以包括但不限于存储器管理、指令仿真和中断处理。例如,对于中断和异常注入,管理程序通常读取和/或写入客户机的前缀区域(低核)。如本文所使用的术语“虚拟机”或“VM”指的是物理机(计算设备、处理器等)及其处理环境(操作系统(OS)、软件资源等)的逻辑表示。VM作为在底层主机(物理处理器或处理器组)上执行的软件来被维护。从用户或软件资源的角度来看,VM看起来是它自己的独立物理机器。这里使用的术语“管理程序”和“VM监视器(VMM)”是指管理和允许多个VM在同一主机上使用多个(有时是不同的)OS来执行的处理环境或平台服务。应当理解,部署VM包括:VM的安装过程和VM的激活(或启动)过程。在另一个示例中,部署VM包括:VM的激活(或启动)过程(例如,在VM被事先安装或已经存在的情况下)。
然而,为了促进安全客户机,在管理程序和安全客户机之间需要附加的安全性的情况下存在技术挑战,使得管理程序不能从VM访问数据,并且因此不能提供诸如上述那些的服务。
在当前可用的技术方案中,管理程序(例如,由
Figure BDA0003249694200000061
或基于开源软件内核的虚拟机(KVM))通过发出开始解释执行(SIE)指令来启动物理处理单元或主机服务器上的新VM。VM的状态的一部分及其特征被保存在SIE指令的操作数(通常是第二操作数)所指向的控制块(作为状态描述或“SD”)中。在这种情况下,管理程序具有对VM的数据的控制,并且在一些情况下,需要这种控制来解释在VM上执行的指令。现有的管理程序依赖于通过SIE指令使用这样的接口来启动VM。
本文描述的安全执行提供了一种硬件机制,以保证安全存储装置和非安全存储装置之间以及属于不同安全用户的安全存储装置之间的隔离。对于安全客户机,提供在“非受信”管理程序和安全客户机之间的附加安全性。为了这样做,管理程序通常代表客户机所做的许多功能需要被结合到机器中。安全接口控件提供管理程序和安全客户机之间的安全接口。安全接口控件与硬件合作工作以提供这种附加的安全性。这里使用的术语超级监视器(UV)指的是可以由本发明的一个或多个实施例实现的安全接口控件的一个例子。
在一个示例中,安全接口控件在内部、安全和受信的硬件和/或固件中实现。对于安全客户机或实体,安全接口控件提供安全环境的初始化和维护以及这些安全实体在硬件上的分派的协调。当安全客户机正在活动地使用数据并且它驻留在主机存储装置中时,它被“不受阻碍地”保持在安全存储中。安全存储装置可以由该单个安全客户机访问,这由硬件严格执行。也就是说,安全接口控件阻止任何非安全实体(包括管理程序或其它非安全客户机)或不同的安全客户访问该数据。在该示例中,安全接口控件作为最低级别的固件的受信部分运行。最低级别或毫码(millicode)实际上是硬件的扩展,并且用于实现z/体系结构中定义的复杂指令和功能。毫码可以访问存储装置的所有部分,该存储装置在安全执行的上下文中包括其自己的安全UV存储装置、非安全管理程序存储装置、安全客户机存储装置和共享存储装置。这允许它提供安全客户机或支持该客户机的管理程序所需的任何功能。安全接口控件还具有对硬件的直接访问,这允许硬件在由安全接口控件建立的条件的控制下有效地提供安全检查。
本发明的一个或多个实施例提供了对利用已加密的VM镜像的现有系统的技术改进。现有的系统在主机机器上启动VM之前对已加密的VM镜像进行解密。这种方法的缺点在于,在管理程序中需要专用计算机指令来确定VM镜像是否被加密,并且在主机上分派或启动VM之前执行解密。本发明的一个或多个实施例不需要更新管理程序分派代码,或者不需要管理程序在VM在主机机器上启动之前知道VM镜像被加密。此外,管理程序可以被用于启动安全VM,即使在安全VM被启动之后,管理程序不能访问安全VM的任何数据。
本发明的一个或多个实施例通过提供用于在托管多个VM的主机服务器上执行VM的安全环境来提供对现有系统的技术改进。本发明的一个或多个实施例的实际应用包括阻止对在主机机器上执行的安全客户机的任何数据的未授权访问(有意或无意)的能力。
现在转到图1,根据本发明的一个或多个实施例,一般地示出了用于使用IPL机制启动安全客户机的系统100的示意图。图1所示的系统100包括主机服务器的客户机地址空间102、包括基本输入/输出系统(BIOS)104或加载器的主机磁盘、以及存储安全客户机的操作系统组件的客户机磁盘。术语“客户机”和“虚拟机”或“VM”在本文中可互换使用。图1所示的安全客户机的操作系统组件包括未加密的引导程序组件106和客户机的已加密镜像108。根据本发明的一个或多个实施例,在主机服务器上执行的管理程序被指示将客户机加载到客户地址空间102中。管理程序接收关于客户机的镜像在这种情况下位于客户机磁盘上的何处的信息,并启动BIOS 104以将操作系统组件加载到客户机地址空间102中。
当BIOS 104完成将操作系统组件加载到客户机地址空间102中时,客户机对于管理程序来说表现为非安全客户机。管理程序不知道客户机的镜像被加密并且当前不可操作。管理程序将控制转移到地址被指定的引导程序组件106,这触发了由超级监视器进行的在安全模式下对客户机的初始程序加载(IPL)或重启。在IBM
Figure BDA0003249694200000081
实现方式中,具有操作系统组件的磁盘包含隐藏的引导镜像文件,其描述组件驻留在磁盘上的何处、它们必须被加载到哪些存储器位置、以及在初始加载已经完成之后要执行的第一指令的地址(即,引导程序组件的起始地址)。一个或多个实施例可以由其他体系结构来实现,这些体系结构可以具有用于开始操作系统的执行的固定存储器地址。
如图1所示,引导程序组件106包括由管理程序执行以触发到安全模式的过渡的引导程序代码,以及包括由超级监视器使用的元数据以解密客户机108的已加密镜像的SE头。
现在转向图2,根据本发明的一个或多个实施例,一般地示出了用于使用初始程序加载(IPL)机制来启动安全客户机的过程200的流程图。图2所示的处理可以由在主机机器上执行的管理程序和超级监视器的组合来执行。在操作系统组件(例如图1的客户机108和引导程序组件106的已加密镜像)已经被加载到主机服务器的存储器(例如图1的客户机地址空间102)中,并且控制已经被转移到引导程序组件之后,执行图2所示的处理。
在框202,客户机(例如,在客户机中运行的引导程序代码)调用管理程序来设置IPL参数。IPL参数可以包括但不限于SE头、存储器区域和用于解密的初始化向量(IV)。如这里所使用的,术语“SE头”是指包含关于操作系统的敏感信息的数据结构,例如用于解密操作系统镜像的密钥。由于这个信息是敏感的,SE头的部分必须被加密,以便只有安全控件接口能够解密SE头中的这个数据。存储区域指定已加密镜像中的哪个(哪些)存储区域需要解密。根据本发明的一个或多个实施例,私钥/公钥对被用于执行加密和解密。可以使用执行加密的人或实体已知的公钥来加密VM镜像,并且可以使用超级监视器已知的私钥来解密VM镜像。本发明的一个或多个实施例可以实现本领域已知的任何加密/解密方案,并且私钥/公钥对仅仅是可以实现的方案的一个示例。由于SE头中包含的密钥是受保护的,因此镜像加密密钥也可以是对称密钥(并且也用于解密)。
在图2的框204,管理程序确定IPL参数是否有效。验证可以包括检查SE头的存在、至少一个存储器区域的存在以及确保多个存储器区域不重叠。在框204,管理程序执行有效性检查,并将参数存储在管理程序拥有且客户机不可访问的某个存储器位置中。因此,参数的存在是针对它们有效性的充分指示。
如果在框206确定IPL参数无效,则处理在框206继续,并且客户机继续在非安全模式下执行。如果在框206确定IPL参数有效,则处理在框208继续,其中客户机调用管理程序来执行重启。在框210,管理程序验证IPL参数已经被提供和检查。
如果在图2的框210确定IPL参数尚未被提供和检查,则处理在框206继续,并且客户机继续在非安全模式下执行。如果在框210确定IPL参数已经被提供和检查,则处理在框212继续。在框212,管理程序调用超级监视器以创建安全客户机配置,解包(例如,解密)已加密镜像,并开始客户机的安全执行。在框214,确定镜像是否被成功解密并可任选地被验证。根据本发明的一个或多个实施例,通过将在镜像上计算的校验和或散列与存储在SE头中的校验和进行比较来验证解密。如果镜像被解密并验证,则处理在框216继续,其中客户机在超级监视器的控制下在安全模式(即,作为安全客户机)运行。如果该镜像未被解密和验证,则处理在框218继续,其中客户机进入非安全模式下的禁用等待状态。
现在转向图3,根据本发明的一个或多个实施例一般地示出了包括被加载在主机服务器上的安全客户机的系统300的示意图。图3所示的系统300描述了在已加密镜像被解密并使用诸如图2所示的过程在主机机器上启动安全系统之后图1的系统100的状态。如图3所示,镜像308的未加密版本被加载到客户机地址空间102中,并且控制已被给予客户机的内核以启动安全客户机。
现在转到图4,根据本发明的一个或多个实施例,一般地示出了用于启动安全客户机的IPL信息块400的示意图。框402中所示的IPL信息块的整体布局是典型的IPL块布局,其包括用于指定以下各项的字段:块的长度(例如,以字节为单位);版本号;用于加载设备信息的参数块,所述设备信息诸如是磁盘设备地址、类似“CDROM”的通用引导设备命名或网络地址;以及用于附加系统控制参数(SCP)数据的参数块,如果引导方法需要不适合信息块的第一部分的参数,则可以使用该附加SCP数据。除了根据本发明的一个或多个实施例还包括作为正在执行的新类型的IPL的存储器(连同磁盘、网络等)的类型字段之外,用于加载设备信息404的参数块也是典型的IPL块布局。这允许IPL从已加密的VM镜像所在的主机服务器的存储器加载数据。此外,加载设备特定参数块包括由管理程序用于执行解密的新类型的信息:具有用于执行解密的信息的SE头406;以及镜像信息408,其可包括描述存储器中的镜像的结构的信息。
现在转到图5,根据本发明的一个或多个实施例,一般地示出了用于启动安全客户机的处理流程500。图5所示的处理可以由在主机服务器上执行的管理程序来执行。在框502,在主机服务器上执行的管理程序接收在主机服务器上分派VM的请求。在框504,VM在非安全模式被分派在主机服务器上。当VM处于非安全模式时,VM的数据可由管理程序访问。VM包括引导程序组件,该引导程序组件包含用于重启VM的重启指令。根据本发明的一个或多个实施例,所述分派包括将VM的已加密镜像加载到主机服务器的存储器中,以及将包括重启指令的未加密引导程序组件加载到存储器中。分派还包括将控制转移到引导程序组件。
在框506,根据本发明的一个或多个实施例,由引导程序组件发起安全重启。引导程序组件(1)设置IPL信息和(2)请求重启。管理程序截取(1)和(2)两者,管理程序响应于(2)将控制移交给超级监视器以进行解密。当解密完成时,超级监视器绕过管理程序将控制转移到现在安全的客户机。根据本发明的一个或多个实施例,重启包括解密VM的已加密组件。当VM处于安全模式时,阻止管理程序访问VM的任何数据。
应理解,尽管本公开包括关于云计算的详细描述,但本文中所述的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是服务交付的模型,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)能够以最小的管理成本或与服务提供商进行最少的交互来快速部署和释放。这种云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。
特征如下:
按需自助式服务:云的消费者在无需与服务提供商进行人为交互的情况下,能够单方面自动地按需部署计算能力,诸如服务器时间和网络存储。
广泛的网络接入:计算能力通过网络获得,并通过标准机制访问,该标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如,移动电话,膝上型电脑和PDA)的使用。
资源池:提供商的计算资源被归入资源池,以使用多租户模式为多个消费者提供服务,其中根据需求动态分配和重新分配不同的实体资源和虚拟资源。通常消费者不能控制或者并不知晓所提供的资源的确切位置,但是可能能够在更高抽象级别(例如,国家,州或数据中心)指定位置,因此具有位置无关性。
迅速弹性:可以迅速、有弹性地(有时是自动地)部署计算能力,以快速扩展,并且能迅速释放来快速缩小。对于消费者来说,用于部署的可用计算能力通常显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如,存储,处理,带宽和活跃用户帐户)的某种抽象级别的计量能力来自动控制和优化资源使用。可以监视,控制和报告资源使用,从而为所使用的服务的提供者和消费者提供透明度。
服务模型如下:
软件即服务(SaaS):提供给消费者的能力是使用提供商在云基础架构上运行的应用。可以通过诸如网络浏览器(例如,基于网络的电子邮件)的瘦客户机接口从各种客户机设备访问应用。消费者既不管理也不控制底层云基础架构,包括网络、服务器、操作系统、存储、甚至单个应用能力,可能的例外是有限的特定于用户的应用配置设置。
平台即服务(PaaS):提供给消费者的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用由提供商支持的编程语言和工具创建。消费者既不管理也不控制底层云基础架构,包括网络、服务器、操作系统或存储,但可以控制已部署的应用以及可能的应用托管环境配置。
基础架构即服务(IaaS):提供给消费者的能力是部署处理、存储、网络和其它基础计算资源,其中消费者能够部署和运行任意软件,该软件可以包括操作系统和应用。消费者既不管理也不控制底层云基础设施,而是具有对操作系统,存储,部署的应用的控制,以及具有可能的对选择的网络组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础架构单独为组织运行。它可以由组织或第三方管理,可以存在于该组织内部或外部。
共同体云:云基础架构由多个组织共享,并支持具有共同利害关系(例如,任务使命,安全要求,策略和合规考虑)的特定共同体。它可能由组织或第三方管理,并且可能存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供,并由销售云服务的组织所有。
混合云:云基础架构由两个或多个云(私有云,共同体云或公共云)组成,这些云仍然是独特的实体,但通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态,低耦合性,模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础设施。
现在参考图6,描绘了示意性的云计算环境50。如图所示,云计算环境50包括云的消费者使用本地计算设备可以与其通信的一个或多个云计算节点10,本地计算设备例如是个人数字助理(PDA)或蜂窝电话54A,台式计算机54B,膝上型计算机54C和/或汽车计算机系统54N。节点10可以彼此通信。它们可以在一个或多个网络中物理地或虚拟地分组(未示出),例如如上所述的私有云,共同体云,公共云或混合云,或其组合。这样,云的消费者无需维护本地计算设备上的资源就能够允许云计算环境50提供基础架构即服务、平台即服务和/或软件即服务。应该理解,图6中所示的计算设备54A-N的类型仅仅是示意性的,而计算节点10和云计算环境50可以(例如,使用网络浏览器)通过任何类型的网络和/或网络可寻址连接与任何类型的计算设备通信。
现在参考图7,示出了由云计算环境50(图6)提供的一组功能抽象层。应该事先理解图7中所示的组件、层和功能仅仅是示意性的,并且本发明的实施例不限于此。如图所示,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟层70提供抽象层,从该抽象层可以提供以下虚拟实体的示例:虚拟服务器71;虚拟存储72;虚拟网络73(包括虚拟私有网络);虚拟应用和操作系统74;和虚拟客户端75。
在一个示例中,管理层80可以提供下面描述的功能。资源供应功能81提供用于在云计算环境内执行任务的计算资源和其它资源的动态获取。计量和定价功能82在云计算环境内对资源的使用进行成本跟踪,并且提供用于消费这些资源的帐单或发票。在一个示例中,这些资源可以包括应用软件许可。安全功能为云的消费者和任务提供身份认证,以及为数据和其它资源提供保护。用户门户功能83为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84提供云计算资源的分配和管理,以满足所需的服务水平。服务水平协议(SLA)计划和履行功能85为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:地图绘制与导航91;软件开发和生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;和分派安全客户机96。可以理解,这些仅仅是一些示例,并且在其它实施例中,这些层可包括不同的服务。
现在转向图8,根据本发明的一个或多个实施例描绘了系统800。系统800包括经由网络165与一个或多个客户端设备20A-20C通信的示例节点10(例如,托管节点)。节点10可以是云计算提供商的数据中心或主机服务器。节点10执行管理程序12,其促进部署一个或多个VM 15(15A-15N)。节点10还包括硬件/固件层11,其促进管理程序12向VM 15提供一个或多个服务,在现有技术方案中,在管理程序12和硬件/固件层11之间存在通信;在硬件/固件层11和一个或多个VM 15之间存在通信;在管理程序12和一个或多个VM 15之间存在通信;以及存在通过硬件/固件层11从管理程序12到VM 15的通信。为了促进安全VM环境,根据本发明的一个或多个实施例的托管节点10不包括管理程序12与一个或多个VM 15之间的任何直接通信。
例如,节点10可以促进客户端设备20A部署VM 15A-15N中的一个或多个。VM 15A-15N可以响应于来自不同客户端设备20A-20C的相应请求而被部署。例如,VM 15A可由客户端设备20A部署,VM 15B可由客户端设备20B部署,并且VM 15C可由客户端设备20C部署。节点10还可以促进客户端提供物理服务器(而不作为VM运行)。这里描述的示例将节点10中的资源供应具体化为VM的一部分,然而,所描述的技术方案也可以应用于将资源供应为物理服务器的一部分。
在一个示例中,客户端设备20A-20C可以属于同一实体,诸如个人、企业、政府机构、公司内的部门或任何其他实体,并且节点10可以作为实体的私有云来操作。在这种情况下,节点10单独地托管由属于该实体的客户端设备20A-20C部署的VM 15A-15N。在另一个示例中,客户端设备20A-20C可以属于不同的实体。例如,第一实体可以拥有客户端设备20A,而第二实体可以拥有客户端设备20B。在这种情况下,节点10可以作为托管来自不同实体的VM的公共云来操作。例如,VM 15A-15N可以以其中VM 15A不促进对VM 15B的访问的受遮蔽方式来部署。例如,节点10可以使用IBM z
Figure BDA0003249694200000151
处理器资源/系统管理器(PR/SM)逻辑分区(LPAR)特征来覆盖VM 15A-15N。这些特征,例如PR/SM LPAR提供分区之间的隔离,从而促进节点10在不同的逻辑分区中针对同一物理节点10上的不同实体部署两个或更多个VM15A-15N。
来自客户端设备20A-20C的客户端设备20A是通信设备,例如计算机、智能电话、平板计算机、台式计算机、膝上型计算机、服务器计算机或请求由节点10的管理程序12部署VM的任何其它通信装置。客户端设备20A可以经由网络165发送请求以由管理程序接收。VM15A-15N中的VM 15A是管理程序12响应于来自客户端设备20A-20C中的客户端设备20A的请求而部署的VM镜像。管理程序12是VM监视器(VMM),其可以是创建并运行VM的软件、固件或硬件。管理程序12促进VM 15A使用节点10的硬件组件来执行程序和/或存储数据。通过适当的特征和修改,管理程序12可以是IBM z
Figure BDA0003249694200000152
甲骨文的VM服务器、Citrix的XenServer、Vmware的ESX、微软Hyper-V管理程序或任何其它管理程序。管理程序12可以是直接在节点10上执行的本机管理程序,或者是在另一管理程序上执行的被托管的管理程序。现在转到图9,根据本发明的一个或多个实施例示出了用于实现这里的教导的节点10。节点10可以是电子的计算机框架,其包括和/或采用任何数量的如本文所述的计算设备和利用各种通信技术的网络及其组合。节点10可以是容易地可缩放、可扩展的和模块化的,具有改变到不同服务或独立于其它特征重新配置一些特征的能力。
在该实施例中,节点10具有处理器901,其可以包括一个或多个中央处理单元(CPU)901a、901b、901c等。处理器901,也被称为处理电路、微处理器、计算单元,其经由系统总线902耦接到系统存储器903和各种其它组件。系统存储器903包括只读存储器(ROM)904和随机存取存储器(RAM)905。ROM 904耦接到系统总线902,并且可以包括基本输入/输出系统(BIOS),其控制节点10的某些基本功能,RAM是耦接到系统总线902以供处理器901使用的读写存储器。
图9的节点10包括硬盘907,其是可由处理器901执行的有形存储介质的示例。硬盘907存储软件908和数据909。软件908被存储为由处理器901在节点10上执行的指令,以执行诸如图1-图9的处理流程的处理。数据909包括以各种数据结构组织的一组定性或定量变量的值,以支持软件908的操作并由其使用。
图9的节点10包括一个或多个适配器(例如,硬盘控制器、网络适配器、图形适配器等),其互连和支持处理器901、系统存储器903、硬盘907和节点10的其他组件(例如,外围和外部设备)之间的通信。在本发明的一个或多个实施例中,一个或多个适配器可以连接到一个或多个I/O总线,该一个或多个I/O总线经由中间总线桥连接到系统总线902,并且该一个或多个I/O总线可以利用公共协议,例如外围部件互连(PCI)。
如图所示,节点10包括将键盘921、鼠标922、扬声器923和麦克风924互连到系统总线902的接口适配器920。节点10包括将系统总线902互连到显示器931的显示器适配器930。显示适配器930(和/或处理器901)可以包括图形控制器,以提供图形性能,例如GUI 932的显示和管理。通信适配器941将系统总线902与网络950互连,使得节点10能够与诸如服务器951和数据库952的其它系统、设备、数据和软件通信。在本发明的一个或多个实施例中,软件908和数据909的操作可由服务器951和数据库952在网络950上实现。例如,网络950、服务器951和数据库952可以组合以提供软件908和数据909的内部迭代作为平台即服务、软件即服务和/或基础设施即服务(例如,作为分布式系统中的网络应用)。
因此,如图10中所配置的,软件908和数据909(例如,节点10)的操作必然根植于处理器901和/或服务器951的计算能力中,以克服和解决在此描述的根据VM的已加密镜像来分派VM的常规方法的缺点。
本文描述的实施例必然根植于计算机技术,尤其是托管VM的计算机服务器。此外,本发明的一个或多个实施例通过促进托管VM的计算机服务器托管安全VM来促进对计算技术本身的操作的改进,特别是托管VM的计算机服务器,其中甚至管理程序也被禁止访问与安全VM相关联的存储器、寄存器和其他此类数据。此外,本发明的一个或多个实施例通过使用安全接口控件来提供朝向对托管计算服务器的VM的改进的重要步骤,所述安全接口控件包括硬件、固件(例如,毫码)或其组合以促进安全VM和管理程序的分离,并且因此维持由计算服务器托管的VM的安全性。安全接口控件提供轻量级中间操作以促进安全性,而不增加如本文所述的在VM的初始化/退出期间保护VM状态的实质开销。
这里公开的本发明的实施例可以包括使用IPL机制启动安全客户机的系统、方法和/或计算机程序产品(这里是系统)。注意,对于每个说明,对于不同附图的其他类似元件,元件的标识符被重复使用。
在此参考相关附图描述本发明的各种实施例。在不偏离本发明的范围的情况下,可以设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,这些连接和/或位置关系可以是直接的或间接的,并且本发明并不旨在在这方面进行限制。因此,实体的耦接可以指直接或间接耦接,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和过程步骤可被并入具有本文未详细描述的额外步骤或功能性的更综合的程序或过程中。
以下定义和缩写用于解释权利要求和说明书。如本文所用,术语“包含”、“包括”、“具有”、“含有”或其任何其它变型旨在涵盖非排他性的包括。例如,包括一系列元素的组合物、混合物、工艺、方法、制品或装置不一定仅限于那些元素,而是可以包括未明确列出的或此类组合物、混合物、工艺、方法、制品或装置固有的其他元素。
另外,术语“示例性”在本文中用于表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例或设计不一定被解释为比其它实施例或设计更优选或有利。术语“至少一个”和“一个或多个”可以被理解为包括大于或等于一的任何整数,即,一、二、三、四等。术语“多个”可以被理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”两者。
术语“约”、“基本上”、“大约”及其变体旨在包括与基于提交本申请时可用的设备的特定量的测量相关联的误差度。例如,“约”可以包括给定值的±8%或5%或2%的范围。
本发明可以是任何可能的技术细节集成级别的系统、方法和/或计算机程序产品。该计算机程序产品可以包括一个计算机可读存储介质(或多个计算机可读存储介质),其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。
计算机可读存储介质可以是有形设备,其可以保留和存储指令以供指令执行设备使用。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、记忆棒、软盘、诸如在其上记录有指令的打孔卡或凹槽内凸起结构的机械编码装置、以及前述的任何合适的组合。这里使用的计算机可读存储介质不应被解释为瞬时信号本身,诸如无线电波或其它自由传播的电磁波、通过波导或其它传输介质传播的电磁波(例如,通过光纤电缆传递的光脉冲)或通过电线传输的电信号。
本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如,因特网,局域网,广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括诸如Smalltalk,C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的过程编程语言。计算机可读程序指令可以完全在用户的计算机上执行、部分地在用户计算机上执行、作为独立的软件包执行、部分地在用户计算机上并且部分地在远程计算机上执行、或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者,可以连接到外部计算机(例如,利用互联网服务提供商来通过互联网连接)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来个性化定制电子电路,该电子电路执行计算机可读程序指令,以便执行本发明的各方面。
本文参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本发明的各方面。将理解,流程图图示和/或框图中的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器来生产出机器,以使得通过计算机的处理器或其它可编程数据处理装置执行的指令创建用于实现流程图和/或一个框图块或多个框图块中所指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,这些计算机可读程序指令可以使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,以使得具有存储在其中的指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或一个框图块或多个框图块中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机,其它可编程数据处理装置或其它设备上,以使得在计算机、其它可编程装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,这样在计算机、其它可编程装置或其它设备上执行的指令实现在流程图和/或一个框图块或多个框图块中指定的功能/动作。
附图中的流程图和框图示出根据本发明的各种实施例的系统,方法和计算机程序产品的可能实施方式的体系结构,功能和操作。在这方面,流程图或框图中的每个框可以表示模块、程序段或指令的一部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中所标注的功能可以不按图中所示的顺序发生。例如,连续示出的两个框实际上可以基本上并行地执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合可以由执行特定功能或动作,或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
本文使用的术语仅出于描述特定实施例的目的,并不意图限制本发明。如这里所使用的,单数形式“一”,“一个”和“该”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括”和/或“包含”指定所述特征、整数、步骤、操作、元素和/或组件的存在,但不排除存在或者添加一个或多个其它特征、整数、步骤、操作、元素、组件和/或它们的组合。
本文已经出于说明的目的呈现了对各种实施例的描述,但其并非旨在是穷尽性的或限于所公开的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。本文所使用的术语被选择为最好地解释实施例的原理、实际应用或对市场上存在的技术的技术改进,或使本领域的其他普通技术人员能够理解本文所公开的实施例。

Claims (22)

1.一种方法,包括:
由在主机服务器上执行的管理程序接收在所述主机服务器上分派虚拟机VM的请求;
由所述管理程序在所述主机服务器上分派所述VM,所述VM包括重启指令;以及
由所述管理程序触发所述重启指令以在安全模式下重启所述主机服务器上的所述VM。
2.根据权利要求1所述的方法,其中,所述重启指令利用初始程序加载IPL机制。
3.根据前述权利要求中任一项所述的方法,其中,所述分派包括:
将所述VM的已加密镜像加载到所述主机服务器的存储器中;以及
将包括所述重启指令的未加密引导程序组件加载到所述存储器中。
4.根据权利要求3所述的方法,其中,所述分派还包括将控制转移到所述未加密引导程序组件。
5.根据前述权利要求中任一项所述的方法,其中,在所述分派之后,所述VM包括已加密组件。
6.根据权利要求5所述的方法,其中,所述重启包括解密所述VM的所述已加密组件。
7.根据前述权利要求中任一项所述的方法,其中,由所述管理程序分派的所述VM处于非安全模式,并且所述VM的数据能够由所述管理程序访问。
8.根据前述权利要求中任一项所述的方法,其中,基于确定所述VM处于所述安全模式,阻止所述管理程序访问所述VM的任何数据。
9.根据前述权利要求中任一项所述的方法,其中:
所述主机服务器上的所述VM包括所述VM的已加密镜像;以及
触发所述重启指令包括:所述管理程序调用安全接口控件以在安全模式下执行所述重启,所述管理程序指定所述VM的所述已加密镜像在所述主机服务器上的位置以及解密信息。
10.根据权利要求9所述的方法,其中,执行所述重启包括:
由所述安全接口控件基于所述解密信息对所述VM进行解密;以及
基于经解密的VM来重启所述VM,其中,在所述重启之后,阻止所述管理程序访问所述VM的任何数据。
11.一种系统,包括:
存储器;
安全接口控件;以及
与所述存储器和所述安全接口控件耦接的处理单元,所述处理单元被配置为执行托管多个虚拟机VM的管理程序,当所述VM处于安全模式时,所述管理程序被禁止直接访问VM的任何数据,并且其中,所述管理程序被配置为执行:
由在主机服务器上执行的管理程序接收在所述主机服务器上分派VM的请求;
由所述管理程序在所述主机服务器上分派所述VM,所述VM包括重启指令;以及
由所述管理程序触发所述重启指令以在安全模式下重启所述主机服务器上的所述VM。
12.根据权利要求11所述的系统,其中,所述重启指令利用初始程序加载IPL机制。
13.根据权利要求11至12中任一项所述的系统,其中,所述分派包括:
将所述VM的已加密镜像加载到所述主机服务器的存储器中;以及
将包括所述重启指令的未加密引导程序组件加载到所述存储器中。
14.根据权利要求13所述的系统,其中,所述分派还包括将控制转移到所述未加密引导程序组件。
15.根据权利要求11至14中任一项所述的系统,其中,在所述分派之后,所述VM包括已加密组件。
16.根据权利要求15所述的系统,其中,所述重启包括解密所述VM的所述已加密组件。
17.根据权利要求11至16中任一项所述的系统,其中,由所述管理程序分派的所述VM处于非安全模式,并且所述VM的数据能够由所述管理程序访问。
18.一种计算机程序产品,包括计算机可读存储介质,所述计算机可读存储介质包括计算机可执行指令,所述计算机可执行指令在由处理单元执行时使得所述处理单元执行一种方法,所述方法包括:
由在主机服务器上执行的管理程序接收在所述主机服务器上分派虚拟机VM的请求;
由所述管理程序在所述主机服务器上分派所述VM,所述VM包括重启指令;以及
由所述管理程序触发所述重启指令以在安全模式下重启所述主机服务器上的所述VM。
19.根据权利要求18所述的计算机程序产品,其中,所述重启指令利用初始程序加载IPL机制。
20.根据权利要求18至19中任一项所述的计算机程序产品,其中,所述分派包括:
将所述VM的已加密镜像加载到所述主机服务器的存储器中;以及
将包括所述重启指令的未加密引导程序组件加载到所述存储器中。
21.根据权利要求20所述的计算机程序产品,其中,所述分派还包括将控制转移到所述未加密引导程序组件。
22.根据权利要求18至21中任一项所述的计算机程序产品,其中,在所述分派之后,所述VM包括已加密组件,并且所述重启包括解密所述VM的所述已加密组件。
CN202080019271.5A 2019-03-08 2020-03-06 使用初始程序加载机制启动安全客户机 Pending CN113544643A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/296,304 US10970100B2 (en) 2019-03-08 2019-03-08 Starting a secure guest using an initial program load mechanism
US16/296,304 2019-03-08
PCT/EP2020/055971 WO2020182642A1 (en) 2019-03-08 2020-03-06 Starting a secure guest using an initial program load mechanism

Publications (1)

Publication Number Publication Date
CN113544643A true CN113544643A (zh) 2021-10-22

Family

ID=70189895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080019271.5A Pending CN113544643A (zh) 2019-03-08 2020-03-06 使用初始程序加载机制启动安全客户机

Country Status (14)

Country Link
US (1) US10970100B2 (zh)
EP (1) EP3935498A1 (zh)
JP (1) JP7418093B2 (zh)
KR (1) KR102672577B1 (zh)
CN (1) CN113544643A (zh)
AU (1) AU2020235010B2 (zh)
BR (1) BR112021017782B1 (zh)
CA (1) CA3132756A1 (zh)
IL (1) IL285225B2 (zh)
MX (1) MX2021010584A (zh)
SG (1) SG11202105430SA (zh)
TW (1) TWI734379B (zh)
WO (1) WO2020182642A1 (zh)
ZA (1) ZA202106314B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11308215B2 (en) * 2019-03-08 2022-04-19 International Business Machines Corporation Secure interface control high-level instruction interception for interruption enablement
US11205003B2 (en) * 2020-03-27 2021-12-21 Intel Corporation Platform security mechanism
CN113434372B (zh) * 2021-06-10 2023-07-18 浙江大华技术股份有限公司 一种定位指示的方法、设备、系统及存储介质
US11874776B2 (en) 2021-06-25 2024-01-16 Intel Corporation Cryptographic protection of memory attached over interconnects
WO2024005143A1 (ja) * 2022-06-29 2024-01-04 セーラ・ネットワークス株式会社 演算処理装置、演算処理システム、演算処理方法、及び演算処理プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4245302A (en) 1978-10-10 1981-01-13 Magnuson Computer Systems, Inc. Computer and method for executing target instructions
US5155809A (en) * 1989-05-17 1992-10-13 International Business Machines Corp. Uncoupling a central processing unit from its associated hardware for interaction with data handling apparatus alien to the operating system controlling said unit and hardware
US6138236A (en) 1996-07-01 2000-10-24 Sun Microsystems, Inc. Method and apparatus for firmware authentication
US6658562B1 (en) * 2000-08-25 2003-12-02 International Business Machines Corporation Method, system, and program for customizing a basic input/output system (“BIOS”) configuration according to the type of user
US7356677B1 (en) * 2001-10-19 2008-04-08 Flash Vos, Inc. Computer system capable of fast switching between multiple operating systems and applications
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
WO2005036806A2 (en) * 2003-10-08 2005-04-21 Unisys Corporation Scalable partition memory mapping system
US9086913B2 (en) 2008-12-31 2015-07-21 Intel Corporation Processor extensions for execution of secure embedded containers
US8387114B2 (en) 2009-01-02 2013-02-26 International Business Machines Corporation Secure workload partitioning in a server environment
JP2011048661A (ja) 2009-08-27 2011-03-10 Nomura Research Institute Ltd 仮想サーバ暗号化システム
US8639783B1 (en) 2009-08-28 2014-01-28 Cisco Technology, Inc. Policy based configuration of interfaces in a virtual machine environment
US8856504B2 (en) * 2010-06-07 2014-10-07 Cisco Technology, Inc. Secure virtual machine bootstrap in untrusted cloud infrastructures
JP5904505B2 (ja) 2010-12-09 2016-04-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 仮想ディスクを暗号化及び復号するためのコンピュータ可読ストレージ媒体
US20120179904A1 (en) 2011-01-11 2012-07-12 Safenet, Inc. Remote Pre-Boot Authentication
TW201535145A (zh) * 2013-12-04 2015-09-16 Insyde Software Corp 使用保護讀取儲存器安全地儲存韌體數據之系統及方法
US9785801B2 (en) * 2014-06-27 2017-10-10 Intel Corporation Management of authenticated variables
US10599458B2 (en) 2015-01-23 2020-03-24 Unisys Corporation Fabric computing system having an embedded software defined network
US20190095357A1 (en) * 2017-09-28 2019-03-28 Intel Corporation Hardware support for static mode of protected memory management on flexibly-convertible enclave platform

Also Published As

Publication number Publication date
BR112021017782A2 (zh) 2021-11-23
AU2020235010A1 (en) 2021-06-17
KR102672577B1 (ko) 2024-06-07
MX2021010584A (es) 2022-03-31
BR112021017782B1 (pt) 2022-08-30
TW202101207A (zh) 2021-01-01
US20200285492A1 (en) 2020-09-10
IL285225B2 (en) 2024-03-01
KR20210118130A (ko) 2021-09-29
IL285225A (en) 2021-09-30
SG11202105430SA (en) 2021-06-29
AU2020235010B2 (en) 2022-12-01
IL285225B1 (en) 2023-11-01
EP3935498A1 (en) 2022-01-12
CA3132756A1 (en) 2020-09-17
JP2022522643A (ja) 2022-04-20
JP7418093B2 (ja) 2024-01-19
US10970100B2 (en) 2021-04-06
WO2020182642A1 (en) 2020-09-17
ZA202106314B (en) 2022-07-27
TWI734379B (zh) 2021-07-21

Similar Documents

Publication Publication Date Title
AU2020235010B2 (en) Starting a secure guest using an initial program load mechanism
JP7373578B2 (ja) セキュア仮想マシン環境におけるストレージ保護ハードウェアのテスト方法、システム、プログラム
US10956188B2 (en) Transparent interpretation of guest instructions in secure virtual machine environment
EP3935510B1 (en) Secure interface control secure storage hardware tagging
JP2022522678A (ja) セキュア実行ゲスト所有者環境制御
JP7465046B2 (ja) 割り込み及び例外をセキュア仮想マシンにインジェクトする
CN113544646B (zh) 安全存储隔离
AU2020234887B2 (en) Dispatch of a secure virtual machine

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40057635

Country of ref document: HK