CN105027107A - 安全虚拟机迁移 - Google Patents

安全虚拟机迁移 Download PDF

Info

Publication number
CN105027107A
CN105027107A CN201480010597.6A CN201480010597A CN105027107A CN 105027107 A CN105027107 A CN 105027107A CN 201480010597 A CN201480010597 A CN 201480010597A CN 105027107 A CN105027107 A CN 105027107A
Authority
CN
China
Prior art keywords
host computing
computing equipment
request
key
virtual machine
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.)
Granted
Application number
CN201480010597.6A
Other languages
English (en)
Other versions
CN105027107B (zh
Inventor
埃里克·杰森·布兰德温
马修·肖恩·威尔逊
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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN105027107A publication Critical patent/CN105027107A/zh
Application granted granted Critical
Publication of CN105027107B publication Critical patent/CN105027107B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • G06F9/4856Task life-cycle, e.g. stopping, restarting, resuming execution resumption being on a different machine, e.g. task migration, virtual machine migration
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Computer And Data Communications (AREA)

Abstract

描述了一组规范化接口(例如,应用编程接口(API)),其使用如非对称(或对称)密码术的安全性方案,以便能够在多个主机计算设备之间进行虚拟机实例的安全迁移。通过接收迁移虚拟机的请求来执行所述迁移,其中所述请求包括用于源主机计算和目的地主机计算的公共密钥。所述源和目的地主机使用所述公共密钥来建立加密的会话,并然后使用所述加密的会话来迁移所述虚拟机。

Description

安全虚拟机迁移
背景技术
随着数量持续增加的应用和服务正在可通过如因特网的网络获得,数量持续增加的内容、应用和/或服务提供商转向如云计算的技术。一般,云计算是一种通过如Web服务的服务提供对电子资源的访问,其中用于支持这些服务的硬件和/或软件是可动态扩展的以便在任何给定时间满足对这些服务的需求。用户或客户通常将租用、租赁或以其他方式付费通过云的资源访问,并且因此无需购买和维护所需的硬件和/或软件。
许多云计算提供商利用虚拟化以使多个用户能够共享底层硬件和/或软件资源。虚拟化能够使计算服务器、存储设备或其他资源被分区成各为特定用户所拥有的多个隔离的实例(例如,虚拟机)。常常使用运行在主机计算设备上的管理程序来托管这些虚拟机。在此场景中,有时期望将虚拟机从一个主机计算设备迁移到不同的主机计算设备。
附图说明
将参考附图描述根据本公开的各种实施方案,其中:
图1A示出根据各种实施方案的使用多个迁移请求在两个主机计算设备之间安全地迁移虚拟机的示例;
图1B示出根据各种实施方案的使用单个迁移请求在两个主机计算设备之间安全地迁移虚拟机的示例;
图2示出根据各种实施方案的使用非对称密码术对提交到主机计算设备的迁移请求签名的示例;
图3示出根据各种实施方案的利用证书机构的示例;
图4示出根据各种实施方案的服务提供商的资源中心环境的示例;
图5示出根据各种实施方案的用于在多个主机计算设备之间安全地迁移虚拟机实例的示例过程;
图6示出根据各种实施方案的用于提供能够用于在管理程序或内核中执行如迁移请求的特权操作的API的示例过程;
图7示出根据各种实施方案的利用请求的加密的示例过程;
图8示出能够根据各种实施方案予以利用的示例计算设备的一组通用组件的逻辑布置;以及
图9示出用于实现根据各种实施方案的多个方面的环境的示例。
具体实施方式
在下文描述中,将在附图中通过举例而非限定形式图示各种实施方案。对本公开中各种实施方案的引述不一定是针对同一个实施方案,以及此类引述表示至少一个。虽然论述了多个特定实现方式和其他细节,但是要理解这仅是出于说明的目的。相关领域中的技术人员将认识到,在不背离所要求的主题的范围和精神的前提下可以使用其他组件和配置。
根据本公开的各种实施方案的***和方法可以克服用于迁移如虚拟机和其他安全信息(例如密钥库)的计算资源的常规方法中遇到的前述或其他缺点的其中一个或多个缺点。具体地,各种实施方案利用如非对称(或对称)密码术的安全性方案以便能够实现各个主机计算设备之间的虚拟机的安全(例如,加密)迁移。
在各种实施方案中,用于迁移虚拟机(VM)或其他安全信息的过程可以开始于选择源主机计算设备和目的地主机计算设备。在一个实施方案中,可以将迁移实例的单个请求寻址到两个不同的主机设备(源主机和目的地主机)。此请求可以包括两个主机计算设备的密钥。在另一个实施方案中,可以发出两个请求;一个请求发往源主机,另一个请求发往目的地主机。每个请求包括(例如,作为参数)另一个主机的公共密钥。因此,发往源主机计算设备的请求包括目的地主机计算设备的公共密钥,而发往目的地主机计算设备的请求包括源主机计算设备的公共密钥。
一旦源主机计算设备接收到请求,则源主机计算设备联系目的地主机计算设备,并执行相互认证。根据一个实施方案,这两个主机计算设备建立安全会话,并就将用于迁移的迁移密钥(例如,会话密钥)达成协议。使用作为迁移请求的一部分的提供到源主机计算设备和目的地主机计算设备的密钥来建立安全会话。虚拟机的迁移包括将状态信息(例如,磁盘状态、RAM状态等)从源主机计算设备传递到目的地主机计算设备。可以将状态数据通过该安全会话从源主机计算设备传送到目的地主机计算设备,并且可以使用协商的迁移密钥将该状态数据加密。传送的加密可以防止未获信任方读取、修改所传送的数据或以其他方式获得对所传送的数据的访问。
在一些实施方案中,启动迁移的初始请求可以自身加密和/或签名,以便防止任何中间方读取请求的参数和其他信息以及以便确保请求的真实性。可以使用允许请求能够安全地提供到主机计算设备上的内核和/或虚拟化层的一组规范化接口(例如,应用编程接口(API))将迁移VM的请求提交到内核或虚拟化层(例如,管理程序)。
在各种实施方案中,当在如主机计算设备的管理程序和/或OS内核的位置中执行特权操作时,可以在多租户共享资源环境(例如,云计算环境)中利用本文描述的安全性方案。在常规方式下,在此类型的环境中,主机计算设备利用虚拟化技术来提供与服务提供商(例如,云计算提供商)的不同客户关联的一个或多个虚拟机实例。这些虚拟机实例被托管在使用管理程序(或其他虚拟化技术)的计算设备上,并且每个虚拟机实例可以包含访客操作***,包括内核、设备驱动程序和其他OS组件。主机计算设备和用于托管虚拟机的其他物理资源通常由服务提供商提供,并驻留在如数据中心、服务器场、内容交付网络(CDN)在场点(POP)等的资源中心。在各种实施方案中,本文描述的安全性方案可使虚拟机实例能够在多个主机计算设备之间安全地迁移,从而允许服务提供商改善资源利用而不会在迁移过程期间有损数据安全性。因为迁移请求被签名,未获授权方无法发出作为欺诈性迁移的一部分的读取或写入。因为源与目的地之间的数据传输被加密,所以未获信任方无法读取正在传送的块数据。
根据一个实施方案,可以在多租户计算环境中提供一种服务,其中该服务发起迁移过程。在此实施方案中,该服务可以标识要迁移的虚拟机,确定虚拟机的目的地主机,并发出启动迁移过程的API调用。例如,该服务可以通过API调用将迁移请求与适当的密钥提交到主机计算设备和目的地主机。然后使用这些密钥建立安全迁移会话来执行迁移,正如先前描述的。
在一些实施方案中,并不迁移虚拟机,可以使用本文描述的安全性方案来远程读取虚拟机的存储器或使虚拟机复制到存储装置以在后来供检查(例如,监识专家)。例如,服务可以将API调用提交到托管虚拟机的主机计算设备,其中该API调用请求将虚拟机的存储器提供到该服务。作为备选,该服务可以请求主机计算设备将虚拟机复制到存储器中的指定位置,以供后来分析。该请求可以包括一个或多个密钥。响应于接收到该请求,托管该VM的主机计算设备可以使用该一个或多个密钥与请求计算设备建立安全会话,然后提供对该虚拟机存储器的访问或将该虚拟机的存储器写入到指定位置。
图1A示出根据各种实施方案的使用多个迁移请求在两个主机计算设备之间安全地迁移虚拟机的示例100。如图所示,获授权实体107可以选择源主机计算设备101和目的地主机计算设备102,并发起虚拟机108从源主机计算设备101到目的地主机计算设备102的迁移。获授权实体可以是被允许发出迁移请求的任何一方(例如,用户、应用、服务等),如具有执行迁移的特权访问的网络管理员或服务提供商的其他技术人员。
在图示的实施方案中,要开始迁移,获授权实体107发出两个请求(103、105)-向涉及的主机计算机设备中每一个发出一个请求。每个请求包括另一个主机计算设备的公共密钥。具体地,寻址到源主机设备101的请求103包括目的地主机计算设备102的公共密钥104,而请求105包括源主机计算设备101的公共密钥106。在一个实施方案中,对每个请求签名以便确保该请求的真实性。可以使用获授权实体107的私用密钥来对这些请求签名,正如将参考图2描述的。迁移请求的签名可以使主机计算设备能够验证这些请求是由适当的获授权实体107而非假冒者发起的。
一旦相应计算设备接收到这些请求,则源主机计算设备101联系目的地主机计算设备102,并执行相互认证以建立安全会话。在各种实施方案中,可以使用与传输层安全性(TLS)和安全套接字层(SSL)类似的技术来执行相互认证。具体地,可以由源主机计算设备101和目的地主机计算设备102使用两个主机的私用密钥和公共密钥实际地作为客户端和服务器证书以协商用于安全会话的会话密钥112来执行相互认证。在一个实施方案中,源主机计算设备101联系目的地主机计算设备102,其中源主机计算设备和目的地主机计算设备使用请求中提供的密钥来彼此认证。一旦被认证,则源主机计算设备和目的地主机计算设备就用于传送状态信息的会话密钥达成协议。在一个实施方案中,该密钥协议是Diffie-Hellman以便确保前向私密性(forward secrecy)。用于传送状态信息的批量加密可以是认证加密私密性Galois/Counter模式(AES-GCM)。在备选实施方案中,可以使用其他技术来协商密钥。再另一些实施方案中,还可以包括会话密钥作为初始迁移请求(103、105)的部分。
根据一个实施方案,可以将从源主机计算设备101传送到目的地主机计算设备102的数据加密到协商作为建立安全会话的一部分的会话密钥112。没有该密钥的多方无法将此数据解密,从而确保两个主机之间的安全数据传输。在各种实施方案中,将虚拟机(108、111)迁移到目的地主机计算设备102可以包括将状态信息(109、110)复制到目的地主机计算设备102。在一个实施方案中,源主机计算设备101上的读取接口可以连接到目的地主机计算设备102上的写入接口,并使用来用于虚拟机迁移。具体根据所涉及的迁移的类型,需要复制的状态信息109可以包括磁盘状态、随机存取存储器(RAM)状态、VM外的网络防火墙状态等。在一些实施方案中,可以需要依次复制状态信息的其中一些,如网络输入/输出(I/O)操作。
在备选实施方案中,可以使用一个或多个证书而不是密钥来安全地迁移虚拟机。在此实施方案中,发往源主机设备101的请求103可以包括目的主机计算设备102的证书,或它可以仅包括主机计算设备102的标识符。在接收到该请求时,主机计算设备101可以联系主机计算设备102,其中主机计算设备102预期有已签名的证书并执行标准证书验证。参考图3以及相关的文本,更详细地描述证书和证书机构的常见使用。
在一个实施方案中,源主机计算设备101可以执行虚拟机往目的地主机计算设备102的实时迁移。实时迁移意味着较之冷迁移或重新引导迁移,迁移完成时虚拟机继续在源主机计算设备101上运行,冷迁移或重新引导迁移包括首先在一个主机计算设备上关闭虚拟机,然后在另一个主机计算设备上启动该虚拟机。但是,应该注意,本文描述的许多实施方案不限于实时迁移,并且可以在本公开的范围内实现任何其他类型的迁移。
如果执行实时迁移,则源主机计算设备101可以开始将如RAM状态的数据复制到目的地主机计算设备102,而从始至终该虚拟机一直在源主机计算设备101上运行着。因为源主机计算设备101上的RAM可能是相当巨大的(例如,千兆字节),所以整个RAM状态的复制可能花费相当多的时间。因此,一旦完成复制,则状态的某些部分可能是无效的,因为在将RAM状态传送到目的地主机计算设备102的同时,状态数据持续地被运行虚拟机改变。为了解决这些无效部分,一旦整个RAM状态被传输,则源主机计算设备101可以再次从头开始,但是这次仅复制对RAM状态的变化。此过程然后可以重复多次,以便使源主机计算设备101与目的地主机计算设备102之间的无效状态数据的量最小化。随着此过程的重复,由于复制变化所花费的时间减小,需要复制到目的地主机计算设备102的状态数据的量在大小上持续变小。例如,为了复制整个RAM状态,可能需要发送千兆字节的数据,为了复制第一组变化,可能需要发送100兆字节,以及为了复制下一组变化,可能需要发送10兆字节,依此类推。可以重复此过程,直到达到预定的阈值为止,在此时点,可以在源主机计算设备101上停止该虚拟机,将变化复制到目的地主机计算设备102,并且在目的地主机计算设备102上启动该虚拟机111的新实例。在各种实施方案中,在整个实时迁移中,如先前所述,可以使用源和目的地之间已协商的会话密钥来将源主机计算设备101与目的地主机计算设备102之间正在传送的大量数据加密。以此方式,两个主机之间正在发送的敏感数据得以保密且不可能被源主机计算设备101和目的地主机计算设备102以外的任何其他方读取。
图1B示出根据各种实施方案的使用单个迁移请求在两个主机计算设备之间安全地迁移虚拟机的示例120。如图所示,获授权实体107可以采用与先前参考图1A描述的相似方式发起将虚拟机实例从源主机计算设备到目的地主机计算设备的迁移。但是,在图1B的实施方案中,获授权实体107可以生成一个请求103,而该一个请求103被寻址到两个不同主机:源主机计算设备101和目的地主机计算设备102。请求103包括这两个设备的密钥。例如,迁移请求103可以请求将虚拟机108从主机计算设备101迁移到主机计算设备102,并且该请求可以(例如,作为参数)包括主机101的密钥104和主机102的密钥106。可以使用获授权实体的私用密钥来对该请求签名。
根据一个实施方案,该请求同时被提供到源主机计算设备101和目的地主机计算设备102。因为签名的请求103中包括了这些密钥,所以每个主机计算设备信任这些密钥,就因为它们信任该请求的签名方。一旦接收到这些请求,源主机计算设备101和目的地主机计算设备102建立安全会话并协商会话密钥112以迁移虚拟机108并将状态信息109复制到目的地主机计算设备102,正如先前所描述的。
应该注意虽然附图和关联的文本描述了用于迁移虚拟机的各种技术,但是并不限制本文描述的所有实施方案。在各种备选实施方案中,可以使用本文描述的安全性方案将任何其他安全信息从源主机计算设备101迁移或传输到目的地主机计算设备102。例如,可以将包含多个密钥的密钥库从源主机计算设备101安全地迁移到目的地主机计算设备102。类似地,可以将源主机计算设备101的获信任平台模块(TPM)的状态迁移到目的地主机计算设备。以相同的方式,根据本文描述的各种实施方案,可以安全地迁移IP表、规则和其他信息。
图2示出根据各种实施方案的使用非对称密码术对提交到主机计算设备的迁移请求签名的示例200。在图示的实施方案中,主机计算设备201包括至少一个虚拟化层(图示为管理程序202和Dom0 205的组合)以及一个或多个访客211。访客可以是虚拟机实例,且各具有它们自己相应的操作***(OS)、内核206、设备驱动程序、调度程序等。Dom-0 205用于启动和管理主机计算设备201上的其他访客域。虽然在此附图中将虚拟化层图示为单独的组件,但是虚拟化层的其他实现方式也是可能的且在本公开的范围内。例如,可以将Dom0205的功能或这些功能的子集以及管理程序202影响的那些功能集成到单个组件中。在各种实施方案中,虚拟化层可以包括在硬件上直接运行上的类型1管理程序或操作***内运行的类型2管理程序。
根据一个实施方案,主机计算设备201提供能够用于提交签名和/或加密的请求以对主机计算设备201的内核206(例如,Dom-0内核)或管理程序202执行特权操作的一组API 108。该特权操作可以改变管理程序和/或内核的运行存储器映像。例如,特权操作可以将补丁施加到管理程序/内核、读取存储器中的位置、修改主机计算设备上执行的一个或多个变量、启动/停止主机计算设备上执行的虚拟机实例、将虚拟机迁移到另一个主机计算设备等。因为API请求被加密,所以内核/管理程序外的中间方无法读取该请求且不知道该请求打算执行什么。
根据一个实施方案,可以使用包括私用密钥和公共密钥的非对称密钥对来对该API的请求签名和验证。在一个实施方案中,将该API的至少一些(或全部)自变量规范化(canonicalized)并串行化,从而得到待签名字符串(string-to-sign)。然后可以通过基于哈希的消息认证码(HMAC)或非对称密码术对此字符串签名,并将其发送到API 208。因为发往该API的这些参数被包括在签名中,所以获取该请求(例如,发出请求的代码)的潜在攻击者无法改变该请求。
根据一些实施方案,该请求可以包含时间戳,从而提供基于时间窗口的重放保护,其中该请求仅有限持续时间保持有效。在一些实施方案中,该请求可以包括专门地与主机计算设备201关联的唯一值,如序列号或主机机器标识符(ID)。虽然这些值可能不是机密的,但是包括它们能够将请求绑定到特定主机计算设备201。在此情况中,潜在攻击者将被阻止对不同主机计算设备重放该请求。在一些实施方案中,可以由主机计算设备201中的获信任平台模块(TPM)(未示出)来认证请求,以便增加绑定到主机计算设备201的强度。
根据图示的实施方案中,这些请求被寻址到的主机计算设备201上不存在用于对API请求签名的私用密钥204。而是可以将私用密钥204存储在服务提供商的网络210上的安全位置203中或另一个获信任的位置中。因此,如果主机计算设备201上存在恶意代理,则它们无法使用私用密钥204伪造请求。
主机计算设备201可以包括能够用于验证已使用私用密钥204签名的请求的签名的公共密钥。在一个实施方案中,可以将公共密钥207编译到主机计算设备201的内核206中。在另一个实施方案中,可以将公共密钥209编译到管理程序202中。在一些实施方案中,内核206可以存储与管理程序202上所存储的公共密钥209不同的公共密钥207,而在另一些实施方案中,可以使用相同的公共密钥以便同时在管理程序202和内核206上验证请求。在又一些其他实施方案中,并不将实际的公共密钥存储在主机计算设备201上,而是可以将主机计算设备201配置成信任特定证书机构(CA)颁发的任何公共密钥。在那些实施方案中,主机计算设备201可以接收来自请求方的请求,其中该请求附带有包括该公共密钥的证书。该主机计算设备将信任CA的证书,并因此信任作为请求的一部分接收的公共密钥。无论将公共密钥存储在主机计算设备上还是连同证书一起提供,均可以使用公共密钥来验证使用私用密钥204已签名的API请求。例如,如果用户(例如,客户、服务提供商的技术人员、第三方等)期望对内核206上的某个代码部分施加更新,则他们可以获取私用密钥204的访问或获取私用密钥204的使用来对API请求签名以修改适当的代码部分。在接收到请求时,内核206可以尝试使用公共密钥验证该请求,并且如果验证成功,则执行必要的特权操作。
在备选实施方案(未示出)中,如果采用HMAC和对称密钥,则可以将该密钥编译到内核206或管理程序202中。在此情况中,密钥可能因每次构建而被混淆和改变,但是该密钥可以确切地存在于主机计算设备201上。可选地,可以将整个请求加密到编译进内核中的密钥,这样请求本身对于发出该请求的代码是不透明的。
在一些实施方案中,可以根据随请求提供的特定密钥(或根据拥有该密钥的一方)施加一个或多个限制性。例如,可以仅允许一些操作者签名的请求在主机计算设备201上启动/停止访客虚拟机或重新引导主机计算设备201。使用其他操作者(例如,服务提供商的OS团队)持有的密钥签名的请求可以被允许修改管理程序的运行代码。在一个实施方案中,主机计算设备201可以将多个不同的公共密钥存储于其上,其中将每个公共密钥与不同实体(例如,用户、团队等)所关联的私用密钥进行关联。具体根据哪个实体的私用密钥被用于对请求签名,可以准许或拒绝所请求的操作。在备选实施方案中,主机计算设备201可以仅存储与一个私用密钥关联的一个公共密钥,但是,请求可以包括提交请求的用户的身份。基于此身份,主机计算设备201可以对所请求的操作执行施加不同的限制。例如,主机计算设备201可以允许一个用户停止/启动访客,而另一个用户可以被允许修改或更新管理程序的代码。任何数量的此类限制(例如,基于每个密钥或基于每一方)均是可能的且在本文描述的实施方案的范围内。
图3示出根据各种实施方案的利用证书机构的示例300。在图示的实施方案中,主机计算设备(例如,主机计算设备301上的内核306和/或管理程序302)在引导时生成由非对称密钥对组成的加密身份。例如,主机计算设备301正在引导时,管理程序302生成包括私用密钥307和公共密钥309的密钥对。类似地,在加载Dom0 305时,内核306生成由私用密钥313和公共密钥314组成的密钥对。
在各种实施方案中,公共密钥(309、313)可以采用某种方式来发布。例如,可以将公共密钥提供到证书机构310。作为备选,可以将公共密钥直接提供给请求方。可以收集此公共密钥,并且可以使用此密钥将请求加密。在此实施方案中,主机设备301生成的私用密钥(307、314)从不会离开该主机且不会存在于任何其他地方。如果请求方能够可靠地从主机计算设备301获得公共密钥,则它能够保证使用该公共密钥签名的请求将发往该主机计算设备301(且仅发往该主机计算设备),因为该请求是使用公共密钥(309、314)签名的,该公共密钥(309、314)只能被从不离开主机计算设备301的私用密钥(307、313)解密。应该注意虽然图3示出了内核306和管理程序302签发它们各自相应的密钥对的示例,但是这不是对于所有实施方案的要求或限制。在一些实施方案中,仅管理程序302发放密钥对。在另一些实施方案中,仅内核306发放密钥对。再在其他一些实施方案中,管理程序302和内核306可以共享密钥对。
在一些实施方案中,主机计算设备301可以将公共密钥309提供到证书机构(CA)310。CA 310是将一个或多个数字证书(312、315)发放到适当的请求方(例如,签名方311)的实体。数字证书验证该方适当地拥有能够用于对API请求签名的公共密钥。在此实施方案中,使用CA使得请求方能够在一定确定性程度上确信私用密钥确实是用于主机计算设备301的。在一个实施方案中,该CA是服务提供商的且在该服务提供商的资源中心内运行的CA。下文将参考图4更详细地描述资源中心。在备选实施方案中,CA 310是依赖于该证书的签名方311和主机计算设备301都信任的获信任第三方。证书机构在本领域中是众所周知的,并且在许多公共密钥基础设施(PKI)方案中被使用。
在此实施方案中,一旦CA 310将证书312发放到请求方311,则请求方311可以使用该证书来发出在内核306或管理程序302的场景中执行特权操作的API请求。管理程序302和内核306然后可以验证特定CA签名且发放给特定方的任何证书是有效的,并且相应地能够执行该特权操作。
在各种实施方案中,图3所示的技术可以与图2所示的技术结合来使用。例如,图3的请求方311可以具有它自己的私用密钥,请求方可以使用其自己的私用密钥来对执行特权操作的请求签名。在此实施方案中,既对该请求签名以便确保真实性(即,主机计算设备确定性地知道请求方生成了该请求),还将其加密以便确保保密性(即,任何外部方无法解密该请求中包含的信息)。
图4示出根据各种实施方案的服务提供商的资源中心环境的示例400。在图示的实施方案中,服务提供商(例如,云计算资源提供商)可以维护存储服务提供商的物理资源(例如,主机服务器等)的一个或多个资源中心423(例如,数据中心、服务器场等)。这些物理资源可以用于托管可通过如因特网的网络402提供给用户401的多个虚拟机实例或虚拟服务器。例如,当用户期望使用服务提供商的物理资源来执行应用时,他或她可能请求服务提供商为用户提供虚拟机,该虚拟机将被用于部署和执行该应用。随着用户的应用需求增长,用户可以请求提供更多的虚拟机来平衡负荷、请求创建一个或多个虚拟专用网络(VPN)等。
在图示的示例中,服务提供商的资源中心423可以包括主机计算设备(406、407、408、409、410)的一个或多个机柜421、422,其中特定机柜上的每个主机计算设备连接到单个架顶式(TOR)交换机(404、405)。这些TOR交换机还可以连接到使主机计算设备能够连接到网络的一个或多个其他交换机(424、425)。正如本公开中通篇所使用的,网络可以是能够彼此通信的设备的任何有线或无线网络,包括但不限于因特网或其他广域网(WAN)、蜂窝网络、局域网(LAN)、存储区域网络(SAN)、内联网、外连网等。资源中心可以包括资源的任何物理或逻辑分组,如数据中心、服务器场、内容交付网络(CDN)在场点(POP)等。
根据一个实施方案,每个主机计算设备可以托管已为服务提供商的客户提供以便代这些客户执行各种应用和服务的一个或多个虚拟机实例(413、414、415、416、417、418、419)。每个虚拟机可以配有其自己的操作***(OS),包括内核、驱动程序、进程管理等。
当客户期望获得虚拟机实例时,客户可以首先向服务提供商提交请求,该请求指示他们希望使用的VM的类型。服务提供商可以执行提供虚拟机实例的过程,该虚拟机实例将托管在服务提供商的物理资源(例如,主机计算设备)上。然后可以使用该虚拟机实例代客户利用服务提供商的资源执行各种应用和服务。
根据一个实施方案,一旦虚拟机实例启动且运行,则可能存在各种情况需要将虚拟机实例从该主机计算设备移到另一个主机计算设备。例如,服务提供商可能确定托管该虚拟机所在的主机计算设备因其他虚拟机实例托管在同一个主机计算设备上,导致请求过载。在本文描述的各种实施方案中,本公开通篇描述的安全性方案使得服务提供商能够使用非对称(或对称)密码术将数据(以及VM)以加密和安全的方式从主机计算设备迁移到另一个主机计算设备。
图5示出根据各种实施方案的用于在多个主机计算设备之间安全地迁移虚拟机实例的示例过程500。虽然此附图可能按特定次序来说明功能性操作,但是这些过程不一定限于所图示的特定顺序或操作。本领域技术人员将认识到,此附图或其他附图中描述的各种操作可以改变、重新排列、并行地执行或以各种方式予以调适。再者,要理解,在不背离各种实施方案的范围的前提下可以对该过程增加或省略某些操作或操作序列。此外,本文包含的过程图示旨在向本领域技术人员演示过程流的原理,而非指定代码执行的实际次序,代码执行可以作为不同流或序列来实现,针对性能予以优化或以各种方式进行修改。
在操作501中,获授权方生成将虚拟机从一个主机计算设备迁移到另一个主机计算设备的请求。该请求可以使用应用编程接口(API)来生成,正如先前所述。在一个实施方案中,该请求可以包括源主机计算设备的密钥和目的地主机计算设备的另一个密钥。在备选实施方案中,获授权方可以生成两个请求:发往源主机计算设备且包括目的地主机计算设备的密钥的一个迁移请求,以及发往目的地主机计算设备且包括源主机计算设备的密钥的不同的迁移请求。
在操作502中,使用获授权方的私用密钥对该请求签名,正如先前所述。请求的签名确保请求的真实性。也就是说,向请求的任何接收方确保获授权方是真实生成该请求的一方。
在操作503中,将请求提供到源主机计算设备以及提供到目的地主机计算设备。可以使用API或通过本领域中其他一些技术将请求提交到主机设备。在操作504中,一旦这些设备接收到请求,则源主机计算设备联系目的地主机计算设备。在操作505中,源主机计算设备和目的地主机计算设备使用作为请求的一部分提供的密钥来认证源和目的地机器以建立安全会话。在一个实施方案中,建立安全会话可以包括协商会话密钥,该会话密钥将被用于加密将在源主机计算设备与目的地主机计算设备之间传送的数据。
在操作506中,使用该安全会话将虚拟机实例从源主机计算设备迁移到目的地主机计算设备。在一个实施方案中,迁移虚拟机包括将状态信息从源主机计算设备复制到目的地主机计算设备。可以使用协商作为建立安全会话的一部分的会话密钥来将两个设备之间传送的状态信息加密。以此方式,可能拦截或窃听传输的任何一方无法将其中包含的潜在敏感信息解密。
图6示出根据各种实施方案的用于提供能够用于在管理程序或内核中执行特权操作的API的示例过程600。
在操作601中,提供一个或多个应用编程接口(API),该一个或多个应用编程接口(API)可以用于将签名的和/或加密的请求提交到主机计算设备。主机计算设备可以包括虚拟化层(例如,与管理程序协同工作的虚拟机监视器或Dom0)和具有操作***内核的一个或多个虚拟机。
在操作602中,生成非对称密钥对,包括私用密钥和对应的公共密钥。可以使用私用密钥来对信息加密,并且可以使用公共密钥将使用私用密钥加密的信息解密。
在操作603中,将公共密钥存储在主机计算设备上。例如,可以将公共密钥编译到操作***的内核中或编译到管理程序中。作为备选,可以将密钥存储在主机计算设备的获信任平台模块(TPM)。
在操作604中,可以将私用密钥存储在相对于主机计算设备为外部的安全位置中。在此实施方案中,私用密钥不存在于主机计算设备上,使得其上驻留的任何恶意代理将不能访问私用密钥。
在操作605中,主机机器通过API接收到请求,其请求在管理程序和/或操作***内核上执行特权操作(例如,执行迁移请求)。根据一个实施方案,使用私用密钥对接收的请求签名。
在操作606中,主机计算设备(例如,内核或管理程序)尝试使用存储在主机计算设备上的公共密钥验证该请求的签名。如果请求的签名通过验证,则可以在管理程序/内核上执行特权操作,如操作607中所示。如果签名无法使用公共密钥通过验证,则特权操作失败(即,不被执行)。
图7示出根据各种实施方案的利用请求的加密的示例过程700。在操作701中,主机计算设备生成非对称密钥对。例如,主机计算设备上的引导进程可以生成公共密钥和对应的私用密钥。在操作702中,将公共密钥发布到获信任源。在一个实施方案中,可以将公共密钥直接提供到将使用该公共密钥来加密请求的请求方。在另一个实施方案中,可以将公共密钥提供到证书机构,其中证书机构可以将证书授予可能期望在内核或管理程序上执行特权操作的获认证方。在此实施方案中,证书机构可以将公共密钥嵌入在证书中并使用其自己的私用密钥对证书签名。因此,接收到证书的各方可以验证该公共密钥被CA确证确实来自该主机计算设备。
在操作703中,主机计算设备接收到执行特权操作的请求。主机计算设备然后尝试使用存储在主机计算设备上的私用密钥来解密请求,正如操作704中所示的。如果能够使用私用密钥将该请求解密,则主机计算设备能够在管理程序/内核上执行特权操作,如操作705中所示。
可以依据如下条款描述本公开的各种实施方案:
1.一种用于安全计算操作的计算机实现的方法,所述方法包括:
在配置有可执行指令的一个或多个计算机***的控制下,
接收将虚拟机从源主机计算设备迁移到目的地主机计算设备的至少一个请求,所述源主机计算设备和所述目的地主机计算设备各包括虚拟化层,其中由具有将所述虚拟机迁移的许可权的获授权方对所述至少一个请求签名,所述至少一个请求包括所述目的地主机计算设备的第一密钥;
验证所述获授权方对所述请求签名;
在所述虚拟化层内建立迁移密钥,所述迁移密钥通过使用所述源主机计算设备的发送到所述目的地主机计算设备以向所述目的地主机计算设备认证所述源主机计算设备的至少所述第一密钥和第二密钥来建立;以及
通过如下步骤将所述虚拟机从所述源主机计算设备迁移到所述目的地主机计算设备:
将与所述虚拟机关联的状态信息传送到所述源主机计算设备的所述虚拟化层外之前,使用协商的迁移密钥将所述状态信息加密;以及
将加密的状态信息传送到所述目的地主机计算设备,所述加密的状态信息是可被所述目的地主机计算设备解密。
2.如条款1所述的计算机实现的方法,其中接收迁移所述虚拟机的所述至少一个请求还包括:
由所述源主机计算设备接收第一请求;以及
其中所述目的地主机计算设备被配置成在第二请求中接收所述第二密钥。
3.如条款1所述的计算机实现的方法,其中迁移所述虚拟机还包括:
由所述源主机计算设备联系所述目的地主机计算设备;以及
由所述源主机计算设备和所述目的地主机计算设备使用至少所述第一密钥和所述第二密钥执行相互认证。
4.一种计算机实现的方法,其包括:
由主机计算设备接收将安全信息从源主机计算设备迁移到目的地主机计算设备的请求,所述请求包括所述目的地主机计算设备的目的地密钥;
由主机计算设备建立密钥,所述密钥通过所述源主机计算设备使用所述目的地密钥认证所述目的地主机计算设备并接收所述目的地主机计算设备使用所述源主机计算设备的源密钥认证所述源主机计算设备的指示来建立;以及
使用所述建立的密钥促使所述安全信息从所述源主机计算设备迁移到所述目的地主机计算设备。
5.如条款4所述的计算机实现的方法,其中所述安全信息是所述源主机计算设备上执行的虚拟机。
6.如条款5所述的计算机实现的方法,其中促使所述安全信息迁移还包括:
使用所述建立的密钥将随机存取存储器(RAM)状态信息的至少一部分从所述源主机计算设备复制到所述目的地主机计算设备;
在所述源主机计算设备上停止所述虚拟机;以及
向所述目的地主机计算设备发送在所述目的地主机计算设备上运行所述虚拟机的指示。
7.如条款4所述的计算机实现的方法,其中所述源密钥是在所述源主机计算设备的引导时间生成的密钥对的一部分的公共密钥,其中所述源主机计算设备将所述公共密钥发送到管理服务器,其中所述管理服务器可操作以使用所述公共密钥发出迁移所述安全信息的请求。
8.如条款4所述的计算机实现的方法,其中建立所述密钥是根据Diffie-Hellman密钥交换过程来执行。
9.如条款4所述的计算机实现的方法,其中促使所述安全信息迁移还包括:
将一组随机存取存储器(RAM)状态信息从所述源主机计算设备复制到所述目的地主机计算设备,其中所述复制花费一定持续时间来完成;
将所述RAM状态信息的一组变化从所述源主机计算设备传送到所述目的地主机计算设备,其中所述变化是在完成所述复制所花费的持续时间期间在所述源主机计算设备上作出。
10.如条款4所述的计算机实现的方法,其中对迁移所述安全信息的所述请求签名以防止未获授权方提交所述至少一个请求。
11.如条款4所述的计算机实现的方法,其中所述请求还包括如下主机计算设备中的至少一个的证书:所述源主机计算设备或所述目的地主机计算设备。
12.一种计算机实现的方法,其包括:
在配置有可执行指令的一个或多个计算机***的控制下,
选择源主机计算设备上执行的虚拟机,所述虚拟机要迁移到目的地主机计算设备;以及
使用应用编程接口(API)提交将所述虚拟机从所述源主机计算设备迁移到所述目的地主机计算设备的至少一个请求,所述至少一个请求包括至少一个密钥;
其中响应于所述至少一个请求,所述源主机计算设备和所述目的地主机计算设备通过使用所述至少一个密钥来认证所述源主机计算设备和所述目的地主机计算设备以建立安全会话;以及
其中响应于所述至少一个请求,使用所述安全会话将所述虚拟机从所述源主机计算设备迁移到所述目的地主机计算设备。
13.如条款12所述的计算机实现的方法,其中所述至少一个请求还包括:
与所述源主机计算设备关联的第一密钥,所述第一密钥被提供到所述目的地主机计算设备;以及
与所述目的地主机计算设备关联的第二密钥,所述第二密钥被提供到所述源主机计算设备。
14.如条款13所述的计算机实现的方法,其中提交所述至少一个请求还包括:
将第一请求提交到所述源计算设备,所述第一请求包括所述第二密钥;以及
将第二请求提交到所述目的地主机计算设备,所述第二请求包括所述第一密钥。
15.一种计算***,其包括:
至少一个处理器;以及
存储器,其包括指令,所述指令在被所述至少一个处理器执行时促使所述计算***:
接收将虚拟机从源主机计算设备迁移到目的地主机计算设备的至少一个请求,所述至少一个请求包括第一密钥和第二密钥;
在所述源主机计算设备与所述目的地主机计算设备之间建立安全会话,所述安全会话通过使用至少所述第一密钥和所述第二密钥建立;以及
响应于所述至少一个请求,使用所述安全会话将所述虚拟机从所述源主机计算设备迁移到所述目的地主机计算设备。
16.如条款15所述的计算***,其中迁移所述虚拟机还包括:
使用所述安全会话将随机存取存储器(RAM)状态信息的至少一部分从所述源主机计算设备复制到所述目的地主机计算设备;
在所述源主机计算设备上停止所述虚拟机;以及
在所述目的地主机计算设备上启动所述虚拟机的新实例。
17.如条款15所述的计算***,其中接收迁移所述虚拟机的所述请求还包括:
由所述源主机计算设备接收第一请求,所述第一请求包括所述第二密钥;以及
由所述目的地主机计算设备接收第二请求,所述第二请求包括所述第一密钥。
18.如条款15所述的计算***,其中建立所述安全会话还包括:
协商要用于所述安全会话期间在所述源主机计算设备与所述目的地主机计算设备之间传送状态信息的会话密钥;以及
使用所述会话密钥将所述源主机计算设备与所述目的地主机计算设备之间传送的信息加密。
19.如条款18所述的计算***,其中协商所述会话密钥是根据Diffie-Hellman密钥交换过程来执行。
20.如条款15所述的计算***,其中迁移所述虚拟机还包括:
将一组随机存取存储器(RAM)状态信息从所述源主机计算设备复制到所述目的地主机计算设备,其中所述复制花费一定持续时间来完成;
将所述RAM状态信息的一组变化从所述源主机计算设备传送到所述目的地主机计算设备,其中所述变化是由所述虚拟机在完成所述复制所花费的持续时间期间在所述源设备上作出。
21.一种存储一个或多个指令序列的非临时性计算机可读存储介质,所述一个或多个指令序列可被一个或多个处理器执行以便执行包括如下的一组操作:
接收读取或复制第一计算设备上的虚拟机所对应的存储器的至少一个请求,所述至少一个请求从第二计算设备接收,所述至少一个请求包括至少一个密钥;
在所述第一计算设备与所述第二计算设备之间建立安全会话,所述安全会话通过使用所述至少一个密钥建立;以及
执行如下步骤中的至少一个:使用所述第一计算设备和所述第二计算设备之间建立的所述安全会话来读取或复制所述第一计算设备上的所述虚拟机所对应的存储器。
22.如条款21所述的非临时性计算机可读存储介质,其还包括:将所述虚拟机所对应的所述存储器从所述第一主机计算设备复制到所述第二计算设备;以及
使所述虚拟机所对应的所述存储器在所述第二计算设备上被分析。
23.如条款21所述的非临时性计算机可读存储介质,其中接收所述至少一个请求包括:
由所述第一计算设备接收第一请求,所述第一请求包括与所述第二计算设备关联的密钥;以及
由所述第二计算设备接收第二请求,所述第二请求包括与所述第一计算设备关联的密钥。
24.如条款21所述的非临时性计算机可读存储介质,其中所述至少一个请求由用于读取所述第一计算设备上执行的虚拟机所对应的存储器的服务提交。
25.如条款21所述的非临时性计算机可读存储介质,其中建立所述安全会话是根据Diffie-Hellman密钥交换过程来执行。
图8示出示例计算设备800的一组通用组件的逻辑布置。在此示例中,该设备包括用于能够执行存储在存储器设备或元件804中的指令的处理器802。正如本领域技术人员将显见到的,该设备可以包括许多类型的存储器、数据存储装置或非临时性计算机可读存储介质,如用于处理器802执行的程序指令的第一数据存储装置、用于映像或数据的不同存储装置、用于与其他设备共享信息的可移动存储器。该设备通常将包括某种类型的显示元件806,如触摸屏或液晶显示器(LCD),当然如便携式媒体播放器的设备可以通过其他方式,如通过音频扬声器来送达信息。正如所论述,许多实施方案中的设备将包括能够从用户接收常规输入的至少一个输入元件808。此常规输入可以包括,例如按钮、触控板、触摸屏、滚轮、游戏杆、键盘、鼠标、小键盘或用户能够用于向该设备输入命令的任何其他此类设备或元件。但是,在一些实施方案中,此类设备可以完全不包括任何按钮,并且可以仅通过可视觉和音频命令的组合来予以控制,以使用户能够无需与该设备接触而控制该设备。在一些实施方案中,图8的计算设备800可以包括用于通过各种网络,如Wi-Fi、蓝牙、RF、有线或无线通信***来通信的一个或多个网络接口元件808。许多实施方案中的该设备可以与如因特网的网络通信,并且能够与其他此类设备通信。
正如所论述的,可以根据所描述的实施方案在各种环境中实现不同的方法。例如,图9示出用于实现根据各种实施方案的多个方面的环境900的示例。正如将认识到的,虽然出于解释的目的使用了基于Web的环境,但是可以按需使用不同的环境来实现各种实施方案。该***包括电子客户端设备902,电子客户端设备902可以包括可操作以通过适当的网络904发送和接收请求、消息或信息并将信息回送给设备的用户的任何适当设备。此类客户端设备的示例包括个人计算机、蜂窝电话、手持消息传送设备、膝上型计算机、机顶盒、个人数字助理、电子书阅读器等。该网络可以包括任何适当的网络,包括内联网、因特网、蜂窝网络、局域网或任何其他此类网络或其组合。用于此类***的组件可以至少部分地取决于所选定的网络和/或环境的类型。用于通过此类网络通信的协议和组件是众所周知的,并且本文将不予详细论述。通过网络的通信可以通过有线或无线连接及其组合来实现。在此示例中,该网络包括因特网,因为环境包括用于接收请求并对此响应来提供内容的Web服务器906,但是对于其他网络,可以使用服务于类似目的的备选设备,正如本领域技术人员应显见到的。
该说明性环境包括至少一个应用服务器908和数据存储910。应该理解的,可以存在可以链接或以其他方式配置的若干应用服务器、层或其他元件、进程或组件,其可以交互以执行如从适当的数据存储获取数据的任务。正如本文所使用的,术语“数据存储”是指能够存储、访问和检索数据的任何设备或设备的组合,其可以包括任何标准、分布式或聚集(clustered)环境中的任何组合和数量的数据服务器、数据库、数据存储设备和数据存储介质。该应用服务器可以包括用于按需与数据存储集成以便为客户端设备执行一个或多个应用的多个方面并处理应用的大多数数据访问和业务逻辑的任何适当的硬件和软件。该应用服务器与数据存储协作提供访问控制服务,并且能够生成要传递给用户的如文本、图形、音频和/或视频的内容,在本示例中,内容可以由Web服务器以HTML、XML或另一种适当的结构化语言的形式提供给用户。所有请求和响应的处理以及内容在客户端设备902与应用服务器908之间的交付可以由Web服务器906来处理。应该理解的,Web和应用服务器并非必需的而仅是示例组件,因为本文论述的结构化代码可以在任何适当的设备或主机机器上执行,正如本文其他地方论述的。
数据存储910可以包括若干单独的数据表、数据库或用于存储与特定方面相关的数据的其他数据存储机构和介质。例如,图示的数据存储包括用于存储生产数据912和用户信息916的机构,其可以用于提供用于生产侧的内容。数据存储已知还包括用于存储日志记录或会话数据914的机构。应该理解的,可以存在可能需要存储在数据存储中的许多其他方面,如页面图像信息和访问权信息,其可以按需存储在上文列述的机构中的任一机构中或存储在数据存储910中的附加机构中。数据存储910可通过与之关联的逻辑操作以从应用服务器908接收指令,并对此响应来获取、更新或以其他方式处理数据。在一个示例中,用户可以提交对某种类型的物品的搜索请求。在此情况中,数据存储可以访问用户信息以验证该用户的身份并可以访问目录详情信息以获取有关该类型的物品的信息。然后可以在如用户通过用户设备902上的浏览器查看的Web页面上的结果列示中,将该信息返回给用户。可以在浏览器的专用页面或窗口中查看所关注的特定物品的信息。
每个服务器通常将包括提供用于该服务器的通用管理和操作的可执行程序指令的操作***,以及通常将包括存储被服务器的处理器执行时使服务器能够执行其预设的功能的指令的计算机可读介质。用于服务器的操作***和通用功能性的适合实现方式是众所周知的或市售的,且容易地被本领域技术人员具体根据本文的公开来实现。
一个实施方案中的环境是采用若干计算机***和组件的分布式计算环境,这些计算机***和组件使用一个或多个计算机网络或直接连接通过通信链路互连。但是,本领域技术人员将认识到,此类***可以在具有比图9所示更少或更多数量的组件的***中同样良好地操作。因此,图9中的***900的描绘理应视为本质上是说明性的,而不应视为限制本公开的范围。
本文论述和提出的各种实施方案可以在范围广泛的各种工作环境中实现,在一些情况中,这些工作环境可以包括能够用于运行多个应用中任一个应用的一个或多个用户计算机、计算设备或处理设备。用户或客户端设备可以包括如运行标准操作***的台式计算机或膝上型计算机的多个通用个人计算机中的任一种,以及运行移动软件且能够支持各种联网和消息传送协议的蜂窝、无线和手持设备。此类***还可以包括运行各种市售操作***中的任一种以及用于如开发和数据库管理目的的其他公知应用的多个工作站。这些设备还可以包括其他电子设备,如虚拟终端(dummy terminal)、瘦客户机、游戏***和能够通过网络通信的其他设备。
大多数实施方案利用本领域技术人员熟知的用于支持使用各种市售协议,如TCP/IP、OSI、FTP、UPnP、NFS、CIFS和AppleTalk中任一种的通信的至少一个网络。该网络可以是例如,局域网、广域网、虚拟专用网络、因特网、内联网、外联网、公众交换电话网、红外线网络、无线网络以及其任何组合。
在利用Web服务器的实施方案中,Web服务器可以运行各种服务器或中间层应用中任一种,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。这些服务器还能够响应来自用户设备的请求执行程序或脚本,如通过执行可作为以任何编程语言或任何脚本语言以及其组合编写的一个或多个脚本或程序来实现的一个或多个Web应用,这些编程语言诸如C、C#或C++,这些脚本语言诸如Perl、Python或TCL。这些服务器还可以包括数据库服务器,包括且不限于来自 以及的市售的数据库服务器。
该环境可以包括正如上文论述的各种数据存储和其他存储器和存储介质。它们可以驻留在各种不同位置中,如一个或多个计算机本地的(和/或驻留在一个或多个计算机中的)存储介质上或相对于网络上的任一或全部计算机为远程的存储介质上。在一组特定实施方案中,该信息可以驻留在本领域技术人员熟知的存储区域网络(“SAN”)中。类似地,可以按需将用于执行这些计算机、服务器或其他网络设备所需的功能的任何必需的文件存储在本地和/或远程存储。在***包括计算机化设备的情况中,每个此类设备可以包括可通过总线电耦合的硬件元件,该元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)以及至少一个输出装置(例如,显示装置、打印机或扬声器)。此类***还可以包括一个或多个存储装置,如磁盘驱动器、光存储装置和如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置,以及可移动介质装置、存储卡、闪存卡等。
此类设备还包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外线通信装置等)以及如上文描述的工作存储器。该计算机可读存储介质读取器可以与计算机可读存储介质连接或配置成接纳计算机可读存储介质,该计算机可读存储介质表示用于临时性和/或更永久性地包含、存储、传送和检索计算机可读信息的远程、本地、固定和/或可移动存储装置以及存储介质。该***和各种设备还通常将包括多个软件应用、模块、服务或位于至少一个工作存储器装置内的其他元件,其包括操作***和如客户端应用或Web浏览器的应用程序。应了解,备选实施方案可以具有源于上文描述的许多变化。例如,还可以使用定制的硬件和/或可以采用硬件、软件(包括如applet的便携式软件)或二者兼有来实现特定元件。再者,可以采用至如网络输入/输出装置的其他计算装置的连接。
用于包含代码或代码的多个部分的存储介质和计算机可读介质可以包括本领域中公知或使用的任何适合适当的介质,包括存储介质和通信介质,诸如但不限于在用于存储和/或传输如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法或技术中实现的易失性和非易失性、可移动和不可移动介质,包括RAM、ROM、EEPROM、闪存存储器或其他存储器技术、CD-ROM、数字多功能光盘(DVD)或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备或能够用于存储期望的信息且能够被***设备访问的任何其他介质。基于本文提供的公开和教导,本领域技术人员将了解用于实现各种实施方案的其他方式和/或方法。
因此,本说明书和附图应视为说明性意义的而非限制性意义的。但是,显见到的是,在不背离权利要求中提出的本发明的更为宽泛的精神和范围的前提下可以对其进行各种修改和改变。

Claims (15)

1.一种计算机实现的方法,其包括:
由主机计算设备接收将安全信息从源主机计算设备迁移到目的地主机计算设备的请求,所述请求包括所述目的地主机计算设备的目的地密钥;
由主机计算设备建立密钥,所述密钥通过所述源主机计算设备使用所述目的地密钥认证所述目的地主机计算设备并接收所述目的地主机计算设备使用所述源主机计算设备的源密钥认证所述源主机计算设备的指示来建立;以及
使用所述建立的密钥促使所述安全信息从所述源主机计算设备迁移到所述目的地主机计算设备。
2.如权利要求1所述的计算机实现的方法,其中所述安全信息是所述源主机计算设备上执行的虚拟机。
3.如权利要求2所述的计算机实现的方法,其中促使所述安全信息迁移还包括:
使用所述建立的密钥将随机存取存储器(RAM)状态信息的至少一部分从所述源主机计算设备复制到所述目的地主机计算设备;
在所述源主机计算设备上停止所述虚拟机;以及
向所述目的地主机计算设备发送在所述目的地主机计算设备上运行所述虚拟机的指示。
4.如权利要求1所述的计算机实现的方法,其中所述源密钥是在所述源主机计算设备的引导时间生成的密钥对的一部分的公共密钥,其中所述源主机计算设备将所述公共密钥发送到管理服务器,其中所述管理服务器可操作以使用所述公共密钥发出迁移所述安全信息的请求。
5.如权利要求1所述的计算机实现的方法,其中建立所述密钥是根据Diffie-Hellman密钥交换过程来执行。
6.如权利要求1所述的计算机实现的方法,其中促使所述安全信息迁移还包括:
将一组随机存取存储器(RAM)状态信息从所述源主机计算设备复制到所述目的地主机计算设备,其中所述复制花费一定持续时间来完成;
将所述RAM状态信息的一组变化从所述源主机计算设备传送到所述目的地主机计算设备,其中所述变化是在完成所述复制所花费的持续时间期间在所述源主机计算设备上作出。
7.如权利要求1所述的计算机实现的方法,其中对迁移所述安全信息的所述请求签名以防止未获授权方提交所述至少一个请求。
8.如权利要求1所述的计算机实现的方法,其中所述请求还包括下列各项中的至少一个的证书:所述源主机计算设备或所述目的地主机计算设备。
9.一种计算***,其包括:
至少一个处理器;以及
存储器,其包括指令,所述指令在被所述至少一个处理器执行时促使所述计算***:
接收将虚拟机从源主机计算设备迁移到目的地主机计算设备的至少一个请求,所述至少一个请求包括第一密钥和第二密钥;
在所述源主机计算设备与所述目的地主机计算设备之间建立安全会话,所述安全会话通过使用至少所述第一密钥和所述第二密钥建立;以及
响应于所述至少一个请求,使用所述安全会话将所述虚拟机从所述源主机计算设备迁移到所述目的地主机计算设备。
10.如权利要求9所述的计算***,其中迁移所述虚拟机还包括:
使用所述安全会话将随机存取存储器(RAM)状态信息的至少一部分从所述源主机计算设备复制到所述目的地主机计算设备;
在所述源主机计算设备上停止所述虚拟机;以及
在所述目的地主机计算设备上启动所述虚拟机的新实例。
11.如权利要求9所述的计算***,其中接收迁移所述虚拟机的所述请求还包括:
由所述源主机计算设备接收第一请求,所述第一请求包括所述第二密钥;以及
由所述目的地主机计算设备接收第二请求,所述第二请求包括所述第一密钥。
12.如权利要求9所述的计算***,其中建立所述安全会话还包括:
协商要用于所述安全会话期间在所述源主机计算设备与所述目的地主机计算设备之间传送状态信息的会话密钥;以及
使用所述会话密钥将所述源主机计算设备与所述目的地主机计算设备之间传送的信息加密。
13.如权利要求12所述的计算***,其中协商所述会话密钥是根据Diffie-Hellman密钥交换过程来执行。
14.如权利要求9所述的计算***,其中迁移所述虚拟机还包括:
将一组随机存取存储器(RAM)状态信息从所述源主机计算设备复制到所述目的地主机计算设备,其中所述复制花费一定持续时间来完成;
将所述RAM状态信息的一组变化从所述源主机计算设备传送到所述目的地主机计算设备,其中所述变化是由所述虚拟机在完成所述复制所花费的持续时间期间在所述源设备上作出。
15.如权利要求9所述的计算***,其还包括:
第二计算设备,所述第二计算设备包括至少一个第二处理器;以及第二存储器,其包括第二指令,所述第二指令在被所述至少一个第二处理器执行时促使所述第二:
选择用于迁移到所述目的地主机计算设备的在所述源主机计算设备上执行的所述虚拟机;以及
使用应用编程接口(API)提交迁移所述虚拟机的所述至少一个请求,所述至少一个请求包括所述第一密钥和所述第二密钥。
CN201480010597.6A 2013-01-22 2014-01-22 迁移计算资源的计算机实现的方法及计算*** Active CN105027107B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/746,702 US9729517B2 (en) 2013-01-22 2013-01-22 Secure virtual machine migration
US13/746,702 2013-01-22
PCT/US2014/012606 WO2014116745A1 (en) 2013-01-22 2014-01-22 Secure virtual machine migration

Publications (2)

Publication Number Publication Date
CN105027107A true CN105027107A (zh) 2015-11-04
CN105027107B CN105027107B (zh) 2019-03-15

Family

ID=51208714

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480010597.6A Active CN105027107B (zh) 2013-01-22 2014-01-22 迁移计算资源的计算机实现的方法及计算***

Country Status (9)

Country Link
US (1) US9729517B2 (zh)
EP (1) EP2948864B1 (zh)
JP (1) JP6165883B2 (zh)
KR (1) KR101701664B1 (zh)
CN (1) CN105027107B (zh)
AU (1) AU2014209472B2 (zh)
CA (1) CA2898908C (zh)
SG (1) SG11201505652UA (zh)
WO (1) WO2014116745A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、***及虚拟机迁入端和迁出端
CN106598713A (zh) * 2016-11-24 2017-04-26 上海交通大学 虚拟机安全动态迁移的方法及***
CN109067823A (zh) * 2018-06-11 2018-12-21 中国平安人寿保险股份有限公司 一种数据迁移方法、装置、计算机设备及存储介质
CN110708154A (zh) * 2019-08-31 2020-01-17 苏州浪潮智能科技有限公司 一种虚拟机迁移方法、***、终端及存储介质
CN110932842A (zh) * 2018-09-19 2020-03-27 微安科技有限公司 用于执行虚拟专用网络功能的片上***及包含该片上***的***

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US9503268B2 (en) 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations
US9729517B2 (en) 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US10579405B1 (en) * 2013-03-13 2020-03-03 Amazon Technologies, Inc. Parallel virtual machine managers
US9141424B2 (en) * 2013-03-14 2015-09-22 International Business Machines Corporation Achieving continuous availability for planned workload and site switches with no data loss
CN104252375B (zh) * 2013-06-25 2017-07-28 国际商业机器公司 用于位于不同主机的多个虚拟机共享USB Key的方法和***
US9251160B1 (en) * 2013-06-27 2016-02-02 Symantec Corporation Data transfer between dissimilar deduplication systems
US20150096031A1 (en) * 2013-09-27 2015-04-02 Justin H. N. Benoit System and method for providing simplified end-to-end security for computing devices in standalone, lan, wan or internet architectures
US9542216B2 (en) * 2013-10-15 2017-01-10 At&T Intellectual Property I, L.P. Richer model of cloud app markets
KR101762376B1 (ko) * 2014-01-10 2017-07-27 한국전자통신연구원 모바일 인증 시스템 및 방법
US9563419B2 (en) * 2014-02-20 2017-02-07 International Business Machines Corporation Managing deployment of application pattern based applications on runtime platforms
US20150254092A1 (en) * 2014-03-08 2015-09-10 Vmware, Inc. Instant xvmotion using a hypervisor-based client/server model
US9753768B2 (en) 2014-03-08 2017-09-05 Vmware, Inc. Instant xvmotion using a private storage virtual appliance
US9882825B2 (en) * 2014-03-14 2018-01-30 Citrix Systems, Inc. Method and system for securely transmitting volumes into cloud
KR101683251B1 (ko) * 2014-03-27 2016-12-06 한국전자통신연구원 센서 네트워크에서 센서 노드 설정 방법, 보안 설정 방법 및 이를 포함하는 센서 네트워크 시스템
DK3127300T3 (da) * 2014-05-12 2019-10-07 Google Llc Håndtering af nic-krypterede flows til at migrere gæster eller opgaver
US10491568B1 (en) * 2014-05-21 2019-11-26 Amazon Technologies, Inc. Management of encrypted data storage
US9584492B2 (en) * 2014-06-23 2017-02-28 Vmware, Inc. Cryptographic proxy service
WO2016046222A1 (en) * 2014-09-26 2016-03-31 British Telecommunications Public Limited Company Secure virtualised data volumes
JP6398559B2 (ja) * 2014-10-02 2018-10-03 富士通株式会社 情報共有プログラム、情報共有システム及び情報共有方法
GB2531770A (en) * 2014-10-30 2016-05-04 Ibm Confidential Extracting System Internal Data
US10303879B1 (en) * 2014-11-06 2019-05-28 Amazon Technologies, Inc. Multi-tenant trusted platform modules
CN104580208B (zh) * 2015-01-04 2018-11-30 华为技术有限公司 一种身份认证方法及装置
US9712503B1 (en) 2015-03-23 2017-07-18 Amazon Technologies, Inc. Computing instance migration
US9667606B2 (en) 2015-07-01 2017-05-30 Cyphermatrix, Inc. Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments
US10050951B2 (en) * 2015-07-20 2018-08-14 Cisco Technology, Inc. Secure access to virtual machines in heterogeneous cloud environments
US9767318B1 (en) * 2015-08-28 2017-09-19 Frank Dropps Secure controller systems and associated methods thereof
US20170093966A1 (en) * 2015-09-28 2017-03-30 International Business Machines Corporation Managing a shared pool of configurable computing resources having an arrangement of a set of dynamically-assigned resources
US9792143B1 (en) * 2015-10-23 2017-10-17 Amazon Technologies, Inc. Platform secure execution modes
US10628192B2 (en) * 2015-12-24 2020-04-21 Intel Corporation Scalable techniques for data transfer between virtual machines
US10990690B2 (en) 2016-01-29 2021-04-27 British Telecommunications Public Limited Company Disk encryption
US10719346B2 (en) 2016-01-29 2020-07-21 British Telecommunications Public Limited Company Disk encryption
US11537723B2 (en) 2016-01-29 2022-12-27 British Telecommunications Public Limited Company Secure data storage
EP3408778B1 (en) 2016-01-29 2020-08-19 British Telecommunications public limited company Disk encryption
KR102484606B1 (ko) * 2016-03-11 2023-01-05 삼성전자주식회사 전자장치 및 그 제어방법
US10083282B2 (en) 2016-03-24 2018-09-25 Paypal, Inc. Operating system based authentication
US10601779B1 (en) * 2016-06-21 2020-03-24 Amazon Technologies, Inc. Virtual private network (VPN) service backed by eventually consistent regional database
US10346641B2 (en) * 2016-09-23 2019-07-09 Intel Corporation Processors, methods, systems, and instructions to determine whether to load encrypted copies of protected container pages into protected container memory
US10447668B1 (en) * 2016-11-14 2019-10-15 Amazon Technologies, Inc. Virtual cryptographic module with load balancer and cryptographic module fleet
US11182203B2 (en) 2016-12-06 2021-11-23 Vmware, Inc. Systems and methods to orchestrate infrastructure installation of a hybrid system
US10462123B2 (en) 2016-12-06 2019-10-29 Vmware, Inc. Systems and methods for cloning an agent in a distributed environment
US11153297B2 (en) * 2016-12-06 2021-10-19 Vmware, Inc. Systems and methods to facilitate certificate and trust management across a distributed environment
US10509733B2 (en) 2017-03-24 2019-12-17 Red Hat, Inc. Kernel same-page merging for encrypted memory
US10209917B2 (en) 2017-04-20 2019-02-19 Red Hat, Inc. Physical memory migration for secure encrypted virtual machines
US11165589B2 (en) * 2017-05-11 2021-11-02 Shapeshift Ag Trusted agent blockchain oracle
US10379764B2 (en) * 2017-05-11 2019-08-13 Red Hat, Inc. Virtual machine page movement for encrypted memory
JP6918576B2 (ja) * 2017-05-24 2021-08-11 キヤノン株式会社 システム、情報処理装置、方法及びプログラム
US10771439B2 (en) 2017-06-28 2020-09-08 Microsoft Technology Licensing, Llc Shielded networks for virtual machines
US11354420B2 (en) 2017-07-21 2022-06-07 Red Hat, Inc. Re-duplication of de-duplicated encrypted memory
US11726813B2 (en) * 2017-08-01 2023-08-15 Cable Television Laboratories, Inc. Systems and methods for establishing scalable credential creation and access
US10534921B2 (en) 2017-08-23 2020-01-14 Red Hat, Inc. Copy and decrypt support for encrypted virtual machines
US11010387B2 (en) 2017-10-06 2021-05-18 Microsoft Technology Licensing, Llc Join operation and interface for wildcards
US10673716B1 (en) 2017-10-31 2020-06-02 Amazon Technologies, Inc. Graph-based generation of dependency-adherent execution plans for data center migrations
US10757082B2 (en) * 2018-02-22 2020-08-25 International Business Machines Corporation Transforming a wrapped key into a protected key
WO2019206524A1 (en) 2018-04-25 2019-10-31 British Telecommunications Public Limited Company Data message sharing
WO2019223980A1 (en) 2018-05-24 2019-11-28 British Telecommunications Public Limited Company Cryptographic key generation using multiple random sources
EP3804211A1 (en) 2018-05-24 2021-04-14 British Telecommunications public limited company Cryptographic key generation and storage
US10824728B2 (en) * 2018-05-30 2020-11-03 Nec Corporation Reliable detection of co-located virtual machines in the cloud using a trusted execution environment
US10768837B2 (en) * 2018-10-31 2020-09-08 EMC IP Holding Company LLC Non-disruptive migration of a virtual volume in a clustered data storage system
CN109684037A (zh) * 2018-12-18 2019-04-26 北京可信华泰信息技术有限公司 一种虚拟机安全迁移方法
CN109921902B (zh) 2019-03-22 2020-10-23 创新先进技术有限公司 一种密钥管理方法、安全芯片、业务服务器及信息***
EP4032226A4 (en) * 2019-09-17 2023-06-14 Microsoft Technology Licensing, LLC CENTRALIZED REMOTE MIGRATION CUSTOMER CREDENTIAL MANAGEMENT
US11614956B2 (en) 2019-12-06 2023-03-28 Red Hat, Inc. Multicast live migration for encrypted virtual machines
US11507408B1 (en) * 2020-01-21 2022-11-22 Amazon Technologies, Inc. Locked virtual machines for high availability workloads
CN113849261A (zh) * 2020-06-28 2021-12-28 华为技术有限公司 处理数据的方法、主机及装置
US11809568B2 (en) 2021-05-12 2023-11-07 International Business Machines Corporation Hypervisor having local keystore
US20230171233A1 (en) * 2021-11-30 2023-06-01 Oracle International Corporation Secure transfer of workloads across security regions
CN115189928B (zh) * 2022-06-25 2023-10-17 中国人民解放军战略支援部队信息工程大学 一种密码服务虚拟机动态安全迁移方法及***
CN114944917B (zh) * 2022-07-21 2022-10-14 国开启科量子技术(北京)有限公司 使用量子密钥迁移虚拟机的方法、装置、介质和设备
CN115499385B (zh) * 2022-09-21 2023-09-12 中电云数智科技有限公司 一种vDPA虚机热迁移不丢包的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266383A1 (en) * 2006-05-15 2007-11-15 Anthony Richard Phillip White Method and system for virtual machine migration
US20080046960A1 (en) * 2006-08-16 2008-02-21 Bade Steven A Computer workload management with security policy enforcement
CN101382906A (zh) * 2007-09-06 2009-03-11 戴尔产品有限公司 处理器架构之间的虚拟机迁移
US20100257602A1 (en) * 2009-04-01 2010-10-07 Kevin Kettler Method And Apparatus To Secure Contents On A Consumer Vital Appliance
CN101897211A (zh) * 2007-12-17 2010-11-24 微软公司 计算机秘密的迁移
CN101937357A (zh) * 2009-07-01 2011-01-05 华为技术有限公司 一种虚拟机迁移决策方法、装置及***
US20110066597A1 (en) * 2009-09-14 2011-03-17 Vmware, Inc. Method and System for Performing Live Migration of Persistent Data of a Virtual Machine

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2870163B2 (ja) * 1990-09-07 1999-03-10 松下電器産業株式会社 認証機能付き鍵配送方式
KR0172003B1 (ko) * 1995-03-28 1999-03-30 김광호 컴퓨터 시스템 및 그 제어방법
US5638541A (en) * 1995-08-25 1997-06-10 Intel Corporation System and method for managing power on desktop systems
US7020880B2 (en) * 1997-01-08 2006-03-28 International Business Machines Corporation Modular application collaborator for providing inter-operability between applications and monitoring errors to trigger execution of required compensating actions to undo interrupted transaction
US6704871B1 (en) 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
CA2255285C (en) * 1998-12-04 2009-10-13 Certicom Corp. Enhanced subscriber authentication protocol
US6826715B1 (en) * 1999-10-28 2004-11-30 Hewlett-Packard Development Company, L.P. Automatic capture and comparison of computer configuration data
US6826690B1 (en) 1999-11-08 2004-11-30 International Business Machines Corporation Using device certificates for automated authentication of communicating devices
JP3938852B2 (ja) 2001-06-20 2007-06-27 富士通株式会社 監視サービス価格提示方法,監視サービス価格提示プログラム,監視サービス価格提示装置
US6944300B2 (en) 2001-06-22 2005-09-13 International Business Machines Corporaton Method for migrating a base chip key from one computer system to another
JP2003051838A (ja) * 2001-08-07 2003-02-21 Sony Corp アドレス管理システム、インタフェースid設定処理装置、通信端末装置、およびアドレス管理方法、並びにコンピュータ・プログラム
US7272832B2 (en) 2001-10-25 2007-09-18 Hewlett-Packard Development Company, L.P. Method of protecting user process data in a secure platform inaccessible to the operating system and other tasks on top of the secure platform
EP1520217A2 (en) 2002-06-06 2005-04-06 Dick C. Hardt Distributed hierarchical identity management
US20040064691A1 (en) 2002-09-26 2004-04-01 International Business Machines Corporation Method and system for processing certificate revocation lists in an authorization system
US8295484B2 (en) 2004-12-21 2012-10-23 Broadcom Corporation System and method for securing data from a remote input device
EP1866825A1 (en) 2005-03-22 2007-12-19 Hewlett-Packard Development Company, L.P. Methods, devices and data structures for trusted data
US7636442B2 (en) 2005-05-13 2009-12-22 Intel Corporation Method and apparatus for migrating software-based security coprocessors
US8364638B2 (en) 2005-09-15 2013-01-29 Ca, Inc. Automated filer technique for use in virtualized appliances and applications
US8429630B2 (en) * 2005-09-15 2013-04-23 Ca, Inc. Globally distributed utility computing cloud
JP2007122303A (ja) 2005-10-27 2007-05-17 Hitachi Ltd 論理区画式計算機システム
JP5054317B2 (ja) 2006-02-08 2012-10-24 株式会社アイ・オー・データ機器 暗号鍵設定方法、ネットワークシステム、管理装置、情報処理端末、および暗号鍵設定プログラム
CA2648780C (en) * 2006-04-25 2013-07-16 Stephen Laurence Boren Dynamic distributed key system and method for identity management, authentication servers, data security and preventing man-in-the-middle attacks
US8407699B2 (en) 2008-03-10 2013-03-26 Citrix Systems, Inc. System and method for managing code isolation
JP5446860B2 (ja) * 2007-03-27 2014-03-19 日本電気株式会社 仮想マシン運用システム、仮想マシン運用方法およびプログラム
US9112681B2 (en) * 2007-06-22 2015-08-18 Fujitsu Limited Method and apparatus for secure information transfer to support migration
KR100953092B1 (ko) * 2007-11-06 2010-04-19 한국전자통신연구원 Sso서비스 방법 및 시스템
US8259948B2 (en) * 2007-12-29 2012-09-04 Intel Corporation Virtual TPM key migration using hardware keys
US7882070B2 (en) * 2007-12-31 2011-02-01 Sap Ag System and method for UDDI data migration using standard UDDI v3 API
US8353015B2 (en) 2008-01-09 2013-01-08 Microsoft Corporation Trusted internet identity
US8489873B2 (en) * 2008-02-25 2013-07-16 Panasonic Corporation Migration apparatus, method and system for transferring data protected within a first terminal device to a second terminal device
US8595723B2 (en) 2008-06-10 2013-11-26 Hewlett-Packard Development Company, L.P. Method and apparatus for configuring a hypervisor during a downtime state
WO2009155574A1 (en) 2008-06-19 2009-12-23 Servicemesh, Inc. Cloud computing gateway, cloud computing hypervisor, and methods for implementing same
US9075957B2 (en) * 2008-08-04 2015-07-07 Sandisk Il Ltd. Backing up digital content that is stored in a secured storage device
US9715401B2 (en) * 2008-09-15 2017-07-25 International Business Machines Corporation Securing live migration of a virtual machine from a secure virtualized computing environment, over an unsecured network, to a different virtualized computing environment
US8336079B2 (en) 2008-12-31 2012-12-18 Hytrust, Inc. Intelligent security control system for virtualized ecosystems
US8738932B2 (en) 2009-01-16 2014-05-27 Teleputers, Llc System and method for processor-based security
US8438256B2 (en) 2009-06-26 2013-05-07 Vmware, Inc. Migrating functionality in virtualized mobile devices
JP2011035573A (ja) 2009-07-31 2011-02-17 Victor Co Of Japan Ltd 音信号処理装置および音信号処理方法
KR20110035573A (ko) * 2009-09-30 2011-04-06 주식회사 케이티 클라우드 컴퓨팅 환경에서 안전한 가상 머신 설치를 제공하는 방법
US8631404B2 (en) 2010-02-18 2014-01-14 Red Hat Israel, Ltd. Mechanism for downloading hypervisor updates via a virtual hardware device using existing virtual machine-host channels
US8417885B2 (en) 2010-02-24 2013-04-09 Avaya Inc. Method and apparatus for high availability (HA) protection of a running virtual machine (VM)
JP5467461B2 (ja) 2010-03-17 2014-04-09 曙ブレーキ工業株式会社 ブリーダプラグ
US8473557B2 (en) * 2010-08-24 2013-06-25 At&T Intellectual Property I, L.P. Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network
US8800050B2 (en) 2010-11-09 2014-08-05 Microsoft Corporation Security system for computing resources pre-releases
US8880667B2 (en) * 2011-02-09 2014-11-04 Microsoft Corporation Self regulation of the subject of attestation
JP5648544B2 (ja) 2011-03-15 2015-01-07 富士通株式会社 スケジューリングプログラム、および情報処理装置
JP5050114B1 (ja) * 2011-04-28 2012-10-17 株式会社東芝 情報記録装置
US20120324446A1 (en) 2011-06-17 2012-12-20 Microsoft Corporation Virtual machine image composition and signing
US8732462B2 (en) 2011-07-07 2014-05-20 Ziptr, Inc. Methods and apparatus for secure data sharing
EP2587715B1 (en) 2011-09-20 2017-01-04 BlackBerry Limited Assisted certificate enrollment
US9413538B2 (en) * 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US8688984B2 (en) 2012-04-27 2014-04-01 Google Inc. Providing content to a user across multiple devices
US10255089B2 (en) 2012-07-31 2019-04-09 Ca, Inc. Self-deleting virtual machines
US10063380B2 (en) 2013-01-22 2018-08-28 Amazon Technologies, Inc. Secure interface for invoking privileged operations
US9729517B2 (en) 2013-01-22 2017-08-08 Amazon Technologies, Inc. Secure virtual machine migration
US9503268B2 (en) 2013-01-22 2016-11-22 Amazon Technologies, Inc. Securing results of privileged computing operations

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266383A1 (en) * 2006-05-15 2007-11-15 Anthony Richard Phillip White Method and system for virtual machine migration
US20080046960A1 (en) * 2006-08-16 2008-02-21 Bade Steven A Computer workload management with security policy enforcement
CN101382906A (zh) * 2007-09-06 2009-03-11 戴尔产品有限公司 处理器架构之间的虚拟机迁移
CN101897211A (zh) * 2007-12-17 2010-11-24 微软公司 计算机秘密的迁移
US20100257602A1 (en) * 2009-04-01 2010-10-07 Kevin Kettler Method And Apparatus To Secure Contents On A Consumer Vital Appliance
CN101937357A (zh) * 2009-07-01 2011-01-05 华为技术有限公司 一种虚拟机迁移决策方法、装置及***
US20110066597A1 (en) * 2009-09-14 2011-03-17 Vmware, Inc. Method and System for Performing Live Migration of Persistent Data of a Virtual Machine

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、***及虚拟机迁入端和迁出端
CN106341228B (zh) * 2016-11-01 2019-06-04 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、***及虚拟机迁入端和迁出端
CN106598713A (zh) * 2016-11-24 2017-04-26 上海交通大学 虚拟机安全动态迁移的方法及***
CN109067823A (zh) * 2018-06-11 2018-12-21 中国平安人寿保险股份有限公司 一种数据迁移方法、装置、计算机设备及存储介质
CN110932842A (zh) * 2018-09-19 2020-03-27 微安科技有限公司 用于执行虚拟专用网络功能的片上***及包含该片上***的***
CN110708154A (zh) * 2019-08-31 2020-01-17 苏州浪潮智能科技有限公司 一种虚拟机迁移方法、***、终端及存储介质
CN110708154B (zh) * 2019-08-31 2022-05-10 苏州浪潮智能科技有限公司 一种虚拟机迁移方法、***、终端及存储介质

Also Published As

Publication number Publication date
US9729517B2 (en) 2017-08-08
EP2948864B1 (en) 2019-05-08
CA2898908A1 (en) 2014-07-31
AU2014209472A1 (en) 2015-08-27
AU2014209472B2 (en) 2016-11-10
CN105027107B (zh) 2019-03-15
CA2898908C (en) 2017-09-26
SG11201505652UA (en) 2015-08-28
EP2948864A1 (en) 2015-12-02
US20140208111A1 (en) 2014-07-24
WO2014116745A1 (en) 2014-07-31
JP2016509806A (ja) 2016-03-31
EP2948864A4 (en) 2016-09-28
KR20150110712A (ko) 2015-10-02
KR101701664B1 (ko) 2017-02-01
JP6165883B2 (ja) 2017-07-19

Similar Documents

Publication Publication Date Title
CN105027107A (zh) 安全虚拟机迁移
US11997083B2 (en) Secure authentication of a device through attestation by another device
WO2022206349A1 (zh) 一种信息验证的方法、相关装置、设备以及存储介质
US11558372B2 (en) Authentication of a client device based on entropy from a server or other device
US11228449B2 (en) Secure interface for invoking privileged operations
US10397778B2 (en) Computer network providing secure mobile device enrollment features and related methods
EP2992658B1 (en) Secured access to resources using a proxy
US20190058706A1 (en) Extending Single-Sign-On to Relying Parties of Federated Logon Providers
CN114788226B (zh) 用于建立分散式计算机应用的非托管工具
KR102266206B1 (ko) 합의 노드와 클라이언트 노드 간의 통신을 관리하는 방법
CN105027096A (zh) 保护特权计算操作的结果

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant