CN111949372A - 一种虚拟机迁移方法、通用处理器及电子设备 - Google Patents
一种虚拟机迁移方法、通用处理器及电子设备 Download PDFInfo
- Publication number
- CN111949372A CN111949372A CN202010828276.4A CN202010828276A CN111949372A CN 111949372 A CN111949372 A CN 111949372A CN 202010828276 A CN202010828276 A CN 202010828276A CN 111949372 A CN111949372 A CN 111949372A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- migrated
- data
- input
- internal bus
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7839—Architectures of general purpose stored program computers comprising a single central processing unit with memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/4557—Distribution of virtual machine instances; Migration and load balancing
Abstract
本申请涉及一种虚拟机迁移方法、通用处理器及电子设备,属于计算机技术领域。该方法应用于虚拟机迁出设备,虚拟机迁出设备包括:输入输出设备和通用处理器,通用处理器包括设置在通用处理器内部总线上的硬件加解密模块。方法包括:输入输出设备通过输入输出控制器经内部总线获取待迁移虚拟机对应的待迁移数据;硬件加解密模块对经内部总线传输的待迁移数据进行加密,并将加密后的待迁移数据经内部总线传输给输入输出控制器;输入输出设备将经输入输出控制器获取的加密后的待迁移数据发送给虚拟机迁入设备。该方法使得虚拟机在迁移过程中虚拟机数据可以实时的加解密,不需要借助安全处理器进行加密和解密,极大地提高了迁移效率。
Description
技术领域
本申请属于计算机技术领域,具体涉及一种虚拟机迁移方法、通用处理器及电子设备。
背景技术
虚拟机迁移是指将虚拟机从一个物理平台迁移到另一个物理平台,虚拟机迁移过程中若不对迁移的数据流进行控制,则容易造成敏感数据泄露。而加密则可以防止网路监听盗取虚拟机数据,所以在有安全虚拟的虚拟机进行迁移时往往需要对虚拟机的数据进行加密。
当有虚拟机需要进行迁移时,对于不支持安全加密虚拟化(Secure EncryptedVirtualization,SEV)的虚拟机,由安全中心随机生成一个256bit的密钥并告知源主机的虚拟机管理器,虚拟机管理器先从内存中读取出要加密的数据,然后调用加密部件(安全处理器的加密指令)对虚拟机的数据进行加密,并将加密的数据放到指定的内存(由于安全处理器不能直接进行IO访问,因此需要回写入内存),然后再启动输入输出设备(例如,网卡)进行加密数据搬移。目的主机将接收的数据在临时缓存区中先行缓存,然后调用加密部件对加密的数据进行解密,从而得到明文数据,最后再搬移至内存。对于支持安全加密虚拟化SEV的虚拟机的迁移,由于虚拟机在内存中的数据本身就是加密的,并且虚拟机管理器无法对虚拟机的内存进行解密。在SEV虚拟机迁移过程中,源主机和目的主机通过安全认证,源主机的安全处理器使用一个与目的主机共享的密钥对虚拟机数据进行加密放到内存,源主机的虚拟机管理器直接启动输入输出设备导出加密的虚拟机数据,目的主机接收到虚拟机数据后由安全处理器先使用共享的密钥进行解密,之后再由内存加解密模块使用目的主机安全处理器分配的密钥进行虚拟机数据加密。
现有虚拟机迁移存在以下缺陷,对于非SEV虚拟机迁移,对要迁移的虚拟机数据至少需要在内存做两次搬移,占用内存的带宽,且无法对迁移的虚拟机数据进行实时加密,消耗虚拟机迁移的时间。对SEV虚拟机迁移,需要借助安全处理器进行软件加密和解密,占用安全处理器的资源。
发明内容
鉴于此,本申请的目的在于提供一种虚拟机迁移方法、通用处理及电子设备,以改善现有虚拟机迁移方法需要借助安全处理器进行加密和解密,不仅占用安全处理器的资源,而且还存在消耗的时间额外,从而导致迁移效率不高的问题。
本申请的实施例是这样实现的:
第一方面,本申请实施例提供了一种虚拟机迁移方法,应用于虚拟机迁出设备,所述虚拟机迁出设备包括:输入输出设备和通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上还连接有输入输出控制器;所述方法包括:所述输入输出设备通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据;所述硬件加解密模块对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器;其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;所述输入输出设备将经所述输入输出控制器获取的所述加密后的待迁移数据发送给所述虚拟机迁入设备。本申请实施例中,通过在通用处理器内部的内部总线上新增硬件加解密模块,使得硬件加解密模块能对经总线迁出的数据进行实时的加密,使得不再需要安全处理器进行软件加密,从而不需要数据多次出入内存,能够减少内存带宽消耗,极大地提高了迁移效率。
结合第一方面实施例的一种可能的实施方式,所述虚拟机迁出设备还包括:安全处理器;在所述输入输出设备通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据之前,所述方法还包括:所述安全处理器将所述第一密钥分配给所述硬件加解密模块。本申请实例中,通过安全处理器为硬件加解密模块分配共享密钥,使得硬件加解密模块能实时的对经内部总线传输的待迁移数据进行加密的同时,通过分配密钥以此来保证每次加密所使用的密钥不同,从而提高安全性。
结合第一方面实施例的一种可能的实施方式,不同虚拟机对应的所述第一密钥不同,所述内部总线上还连接有内存控制器;所述硬件加解密模块对经所述内部总线传输的所述待迁移数据进行加密,包括:所述硬件加解密模块根据所述输入输出设备通过所述输入输出控制器经所述内部总线获取所述待迁移数据时,向所述内存控制器发送的读指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行加密,其中,不同的虚拟机ID对应的第一密钥不同。本申请实施例中,利用输入输出设备通过输入输出控制器经所内部总线向内存控制器发送的读指令中携带的虚拟机ID,来获取共享密钥,使得硬件加解密模块可以存储多个密钥,避免每次迁移不同虚拟机时,都需要为硬件加解密模块分配密钥,从而可以进一步提高效率。
第二方面,本申请实施例还提供了一种虚拟机迁移方法,应用于虚拟机迁入设备,所述虚拟机迁入设备包括:输入输出设备和通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上连接有输入输出控制器和内存控制器;所述方法包括:所述输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器;其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;所述输入输出设备通过所述输入输出控制器经所述内部总线向所述内存控制器发送写指令;所述内存控制器响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。本申请实施例中,通过在通用处理器内部的内部总线上新增硬件加解密模块,使得硬件加解密模块能对经总线写入内存的数据进行实时的加解密,使得不再需要安全处理器进行软件解密,从而能够减少内存带宽消耗,极大地提高了迁移效率。
结合第二方面实施例的一种可能的实施方式,所述虚拟机迁出设备还包括:安全处理器;在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密之前,所述方法还包括:所述安全处理器将所述第一密钥分配给所述硬件加解密模块。本申请实例中,通过安全处理器为输入输出设备通过输入输出控制器经内部总线获取待迁移虚拟机对应的待迁移数据之前,为硬件加解密模块分配密钥,以便于硬件加解密模块能实时的对经内部总线传输的待迁移数据进行解密,以保证效率。
结合第二方面实施例的一种可能的实施方式,不同虚拟机对应的所述第一密钥不同;所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密,包括:所述硬件加解密模块根据所述写指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行解密,其中,不同的虚拟机ID对应的第一密钥不同。本申请实施例中,利用输入输出设备通过输入输出控制器经所内部总线向内存控制器发送的写指令中携带的虚拟机ID,来获取共享密钥,使得硬件加解密模块可以存储多个密钥,避免每次迁移不同虚拟机时,都需要为硬件加解密模块分配密钥,从而可以进一步提高效率。
第三方面,本申请实施例还提供了一种通用处理器,应用于虚拟机迁出设备,所述虚拟机迁出设备还包括与所述通用处理器连接的输入输出设备,所述通用处理器包括:内部总线,与所述内部总线连接的输入输出控制器;设置在所述内部总线上的硬件加解密模块;所述输入输出控制器,用于经所述内部总线获取待迁移虚拟机的对应的待迁移数据;所述硬件加解密模块,用于对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器,其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为所述虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;所述输入输出控制器,还用于将所述加密后的待迁移数据经所述输入输出设备发送给所述虚拟机迁入设备。
结合第三方面实施例的一种可能的实施方式,所述通用处理器还包括:安全处理器,所述安全处理器,用于将所述第一密钥分配给所述硬件加解密模块。
结合第三方面实施例的一种可能的实施方式,不同虚拟机对应的所述第一密钥不同所述内部总线上还连接有内存控制器;所述硬件加解密模块,用于根据所述输入输出设备通过所述输入输出控制器经所述内部总线获取所述待迁移数据时,向所述内存控制器发送的读指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行加密,其中,不同的虚拟机ID对应的第一密钥不同。
第四方面,本申请实施例还提供了一种通用处理器,应用于虚拟机迁入设备,所述虚拟机迁入设备还包括与所述通用处理器连接的输入输出设备,所述通用处理器包括:内部总线,与所述内部总线连接的输入输出控制器和内存控制器;设置在所述内部总线上的硬件加解密模块;所述输入输出控制器,用于缓存所述输入输出设备发送的待迁移数据,其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;所述输入输出控制器,用于将所述输入输出设备发送的写指令经所述内部总线发送给所述内存控制器;所述内存控制器,用于响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
结合第四方面实施例的一种可能的实施方式,所述通用处理器还包括:安全处理器,所述安全处理器,用于将所述第一密钥分配给所述硬件加解密模块。
结合第四方面实施例的一种可能的实施方式,不同虚拟机对应的所述第一密钥不同;所述硬件加解密模块,用于根据所述写指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行解密,其中,不同的虚拟机ID对应的第一密钥不同。
第五方面,本申请实施例还提供了一种电子设备,包括内存和执行上述第三方面实施例和/或结合第三方面实施例的任一种可能的实施方式提供的通用处理器,或者,如执行上述第四方面实施例和/或结合第四方面实施例的任一种可能的实施方式提供的通用处理器。
第六方面,本申请实施例还提供了一种电子设备,包括:通用处理器、输入输出设备;所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上还连接有输入输出控制器;所述输入输出设备,用于通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据;所述硬件加解密模块,用于对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器;其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;所述输入输出设备,还用于将经所述输入输出控制器获取的所述加密后的待迁移数据发送给所述虚拟机迁入设备。
第七方面,本申请实施例还提供了一种电子设备,包括:通用处理器、输入输出设备;所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上连接有输入输出控制器和内存控制器;所述输入输出设备,用于接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器;其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;所述输入输出设备,还用于通过所述输入输出控制器经所述内部总线向所述内存控制器发送写指令;所述内存控制器,用于响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例而了解。本申请的目的和其他优点可通过在所写的说明书以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。通过附图所示,本申请的上述及其它目的、特征和优势将更加清晰。在全部附图中相同的附图标记指示相同的部分。并未刻意按实际尺寸等比例缩放绘制附图,重点在于示出本申请的主旨。
图1示出了本申请实施例提供的一种基于虚拟机迁移系统结构示意图。
图2示出了本申请实施例提供的一种非SEV虚拟机的迁移过程的原理示意图。
图3示出了本申请实施例提供的一种SEV虚拟机的迁移过程的原理示意图。
图4示出了本申请实施例提供的一种应用于虚拟机迁出设备的虚拟机迁移方法的流程示意图。
图5示出了本申请实施例提供的一种应用于虚拟机迁入设备的虚拟机迁移方法的流程示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中诸如“第一”、“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
再者,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
鉴于现有虚拟机迁移存在的缺陷,即对于非SEV虚拟机迁移,对要迁移的虚拟机数据至少需要在内存做两次搬移,占用内存的带宽,且无法对迁移的虚拟机数据进行实时加密,消耗虚拟机迁移的时间。对SEV虚拟机迁移,需要借助安全处理器进行软件加密和解密,占用安全处理器的资源。基于此,本申请实施例提供一种能在虚拟机迁移过程中对数据实时加密的虚拟机迁移方法,并且不需要借助安全处理器进行软件加密和解密,从而能够减少内存带宽的浪费,并且减少虚拟机迁移的时间。
下面将结合图1所示的虚拟机迁移系统进行说明,该虚拟机迁移系统包括:虚拟机迁入设备、虚拟机迁出设备和安全中心。其中,安全中心分别与虚拟机迁入设备和虚拟机迁出设备连接,用于为虚拟机迁入设备和虚拟机迁出设备下发共享密钥。虚拟机迁入设备和虚拟机迁出设备均包括:通用处理器、输入输出设备(例如网卡,内含直接访问控制器(Direct Memory Access Controller,DMAC))和内存。其中,通用处理器分别与内存和输入输出设备连接,虚拟机迁入设备与虚拟机迁出设备之间通过彼此的输入输出设备连接,实现数据互通。
该通用处理器包括:内核(处理器核)、安全处理器、内存控制器(包含内存加解密模块)、输入输出控制器(也即IO控制器)、硬件加解密模块(为新增模块)以及用于将上述各元器件连接的内部总线(如高级微控制器总线架构(Advanced Microcontroller BusArchitecture,ABMA)总线)。本申请实施例中,通过在通用处理器内部的内部总线上新增硬件加解密模块,使得该硬件加解密模块可以对经内部总线传输的数据进行加解密,例如,在启动虚拟机迁移的过程中,该硬件加解密模块能对经总线迁出的数据进行实时的加密,使得不再需要安全处理器进行软件加密,从而不需要数据多次出入内存,能够减少内存带宽,同时能对迁入内存的数据进行实时的解密,使得不再需要安全处理器进行软件解密。通过本申请提供的方式,虚拟机在迁移过程中只需要进行一次内存的搬移,并且适用于SEV虚拟机的迁移过程,不需要使用安全处理器进行加解密操作。
其中,该硬件加解密模块可通过总线获得:虚拟机ID(该虚拟机ID与SEV机制中使用的虚拟机ID位相同)、是否需要加解密的标志,与传统的内存机密技术使用的标志位不同,可通过扩展地址位或其他总线控制位实现。这样使得硬件加解密模块可以根据是否需要加解密的标志来决定是否需要对读出的数据进行加密以及对写入的数据进行解密。其中,该虚拟机ID可以用于在加解密时选择与该ID对应的密钥进行加解密,其中,不同的虚拟机ID对应的密钥不同。
其中,需要说明的是,该硬件加解密模块也可以设置在内存控制器或IO控制器中,与传统的内存加密模块串联。此外,安全处理器也可以不集成在该通用处理器中,而是为与通用处理器并列存在的且相互独立的集成芯片,此时,该虚拟机迁出设备(虚拟机迁入设备)包括:通用处理器、安全处理器、输入输出设备以及内存。其中,通用处理器、安全处理器、IO控制器、输入输出设备以及内存可以均集成在同一个基板上,构成一个集成器件(如SOC芯片),其中,SOC(System on Chip)指的是片上系统,也称为系统级芯片。
其中,内核上部署有虚拟机监视器(Virtual Machine Monitor,VMM),在硬件虚拟化技术中,使用VMM来隔离虚拟系统与宿主硬件。VMM也可称为虚拟机管理器,其可直接运行在系统硬件上,也可以运行在宿主操作系统上。VMM实现了从虚拟资源到物理资源的映射,并利用本地物理资源进行计算。当虚拟系统访问系统资源时,VMM将接管这个请求,并将处理结果返回给虚拟机系统,这样就实现了多个硬件设备的虚拟,保证虚拟系统的有效隔离。
其中,上述的通用处理器可以是中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、加速处理器(Accelerated ProcessingUnit)等,也还可以是其他类型的处理器,如网络处理器(Network Processor,NP)、应用处理器,当然在某些产品中,应用处理器就是CPU。
上述的内存用于暂时存放通用处理器需要的运算数据,以及与硬盘等外部存储器交换的数据,该内存可以是双倍速率同步动态随机存储器(Double Data Rate,DDR),也还可以是其他的存储器,如随机存取存储器(Random Access Memory,RAM),动态随机存储器(Dynamic Random Access Memory,DRAM)等。
其中,需要说明的是,本申请实施例中,虚拟机迁出设备以及虚拟机迁入设备中的处理器的内核的数量为至少一个,以提高运算能力及提高系统的稳定性等,即便是某个处理器核损坏时,也能保证稳定运行。
对非SEV虚拟机的迁移过程如图2所示,当部署在虚拟机迁出设备(如内核或操作系统)上的虚拟机需要迁移时,由安全中心为虚拟机迁出设备(源主机)和虚拟机迁入设备(目的主机)分配共享密钥,安全处理器在接收到该共享密钥后,将其下发给硬件加解密模块,并对该共享密钥进行保管。在迁移时,虚拟机迁出设备中的输入输出设备通过输入输出控制器经内部总线获取待迁移虚拟机对应的待迁移数据,期间,硬件加解密模块对经内部总线传输的待迁移数据进行加密(硬件加解密模块对待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和虚拟机迁出设备之间约定好的第一密钥),并将加密后的待迁移数据经内部总线传输给输入输出控制器,最后由输入输出设备将经输入输出控制器获取的加密后的待迁移数据发送给虚拟机迁入设备。虚拟机迁入设备中的输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将待迁移数据保存至输入输出控制器的临时存储区,输入输出设备通过输入输出控制器经内部总线向内存控制器发送写指令,内存控制器响应写指令从临时存储区经内部总线将待迁移数据写入虚拟机迁入设备的物理内存,期间,硬件加解密模块利用第一密钥对经内部总线传输的待迁移数据进行解密,目的主机内存中存储的迁移数据为明文(未加密)。
其中,在迁移时,虚拟机迁出设备中的虚拟机监视器扫描待迁移虚拟机的内存页信息(包括物理地址(包括源地址和目的地址)和对应的数据长度),并根据该内存页信息向输入输出设备发送虚拟机迁出指令,其中该指令中携带有获取待迁移数据的源地址(指向内存)和目的地址(指向目的主机)以及数据长度。虚拟机迁出设备中的输入输出设备(包含DMAC)响应虚拟机监视器发送的指令,向IO控制器发送DMA读指令,IO控制器执行DMA操作,经总线向内存控制器发送读操作(该操作中包括源地址和数据长度),以使内存控制器从源地址指向的内存空间中读取与数据长度对应的待迁移数据,该待迁移数据经总线传输给IO控制器和硬件加解密模块,期间,由硬件加解密模块来决定是否对该待迁移数据进行加密。其中,硬件加解密模块通过IO控制器经总线发送的源地址中携带的标识(是否需要加密的)来决定是否对待迁移数据进行加密,若该标识表征需要加密,则使用事先配置的虚拟机迁入设备和虚拟机迁出设备之间约定好的第一密钥进行加密,加密后的待迁移数据经总线回到IO控制器,IO控制器再将其经输入输出设备发送到目的主机。
目的主机的输入输出设备在接收到对端传输的待迁移数据后,将其存储在IO控制器的临时缓存区,并告知虚拟机监视器,虚拟机监视器获悉这一情况后,向输入输出设备发送写指令,该写指令中携带有(从临时缓存区中获取待迁移数据的源地址以及将其写入内存的目的地址),输入输出设备响应虚拟机监视器发送的写指令,向IO控制器发送DMA写指令,IO控制器执行DMA操作,经总线向内存控制器发送写操作(该操作中包括源地址和目的地址),以使内存控制器经总线从源地址指向的临时缓存区中读取待迁移数据,并将其写入源地址指向的内存空间,期间,由硬件加解密模块来决定是否对该待迁移数据进行解密。其中,硬件加解密模块通过IO控制器经总线发送的目的地址中携带的标识(是否需要解密的)来决定是否对待迁移数据进行解密,若该标识表征需要解密,则使用事先配置的虚拟机迁入设备和虚拟机迁出设备之间约定好的第一密钥进行解密,解密后的待迁移数据经总线传输到内存控制器,内存控制器再将其写入内存。
其中,不同的虚拟机对应的第一密钥(共享密钥)不同,例如,虚拟机1对应的第一密钥为密钥1,虚拟机2对应的第一密钥为密钥2……。为了保证硬件加解密模块能选择与待迁移虚拟机对应的密钥进行加解密,一种实施方式下,可以是在每次迁移时,由安全中心为虚拟机迁入设备和虚拟机迁出设备分配共享密钥,各自的安全处理器将该共享密钥分配给各自的硬件加解密模块,使得在迁移过程中,虚拟机迁出设备的硬件加解密模块选择该共享密钥对待迁移数据进行加密,虚拟机迁入设备的硬件加解密模块选择该共享密钥对对端发送的待迁移数据进行解密。为了避免每次迁移时,都需要安全中心为虚拟机迁入设备和虚拟机迁出设备分配共享密钥,一种实施方式下,可以是在迁移开始阶段,安全中心为待迁移的各个虚拟机分配共享密钥,比如有5个虚拟机,则分配5个密钥(不同的虚拟机对应的密钥不同),各自的安全处理器将各个虚拟机的密钥以及虚拟机ID与密钥的对应关系分配给各自的硬件加解密模块,迁移开始时,通过在读写内存地址中携带虚拟机ID,硬件加解密模块通过获取该地址中携带的虚拟机ID来查找对应的密钥,然后对数据进行加解密,以保证硬件加解密模块能选择与待迁移虚拟机对应的密钥进行加解密。
其中,需要说明的是,该内存页信息还可以包括其他信息如校验码(用于校验数据的完整性和一致性)、虚拟机物理地址(用于对数据进行加扰或解扰),该部分内容已经为本领域技术人员所熟知的内容,为了避免累赘,此处不在介绍。
对支持SEV功能的虚拟机的迁移过程如图3所示,当部署在虚拟机迁出设备(如内核或操作系统)上的虚拟机需要迁移时,由安全中心为虚拟机迁出设备(源主机)和虚拟机迁入设备(目的主机)分配共享密钥,安全处理在接收到该共享密钥后,将其下发给硬件加解密模块,并对该共享密钥进行保管。在迁移时,虚拟机迁出设备中的输入输出设备通过输入输出控制器经内部总线获取待迁移虚拟机对应的待迁移数据,在该过程中,内存加解密模块根据虚拟机ID查找虚拟机的密钥进行内存解密,得到虚拟机的明文数据,之后硬件加解密模块对经内部总线传输的待迁移数据(未加密)进行加密(硬件加解密模块对待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和虚拟机迁出设备之间约定好的第一密钥),并将加密后的待迁移数据经内部总线传输给输入输出控制器,最后由输入输出设备将经输入输出控制器获取的加密后的待迁移数据发送给虚拟机迁入设备。虚拟机迁入设备中的输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将待迁移数据保存至输入输出控制器的临时存储区,输入输出设备通过输入输出控制器经内部总线向内存控制器发送写指令,内存控制器响应写指令从临时存储区经内部总线将待迁移数据写入虚拟机迁入设备的物理内存,期间,硬件加解密模块利用第一密钥对经内部总线传输的待迁移数据进行解密,内存加解密模块根据虚拟机ID查找虚拟机的密钥对硬件加解密模块解密得到的数据进行加密,使得最终写入所述物理内存的数据为加密数据。
SEV虚拟机和非SEV虚拟机迁移过程的不同之处:对于非SEV虚拟机来说,其内存中存储的待迁移数据为明文,而对于SEV虚拟机来说,其内存中存储的待迁移数据为密文(加密时所使用的密钥是本地的,不能透露给别的主机),因此在迁移时,不能直接发送出去,需要先利用内存加解密模块利用本地密钥进行解密,然后再由硬件加解密模块利用共享密钥进行加密,然后发送出去,同样的,目的主机接收到对端发送的待迁移数据后,先由硬件加解密模块利用共享密钥进行解密,然后在写入内存的过程中,由内存加解密模块利用本地密钥进行加密,得到密文。
其中,示例性的,上述的加密或解密所用到的算法包括但不限于:数字签名算法(Digital Signature Algorithm,DSA)、高级加密标准(Advanced Encryption Standard,AES)、数据加密标准(Data Encryption Standard,DES)、MD5算法等。
本申请实施例还提供了一种应用于虚拟机迁出设备的虚拟机迁移方法,下面将结合图4,对本申请实施例提供的虚拟机迁移方法进行说明。
步骤S101:所述输入输出设备通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据。
虚拟机监视器扫描待迁移虚拟机的内存页信息,并根据该内存页信息向输入输出设备发送虚拟机迁出指令,输入输出设备响应虚拟机监视器发送的指令,向IO控制器发送DMA读指令,IO控制器执行DMA操作,经总线向内存控制器发送读操作,以使内存控制器从内存空间中读取待迁移虚拟机对应的待迁移数据。
其中,若存储在内存空间中的虚拟机数据为密文,则在内存控制器从内存空间中读取待迁移虚拟机对应的待迁移数据时,还利用内存加解密模块根据该读操作中携带的虚拟机ID对应的本地密钥对其进行解密。
步骤S102:所述硬件加解密模块对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器。
其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为所述虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥(共享密钥)。一种实施方式下,该硬件加解密模块中仅存储有一个第一密钥,可以是在每次迁移时,由安全处理器将该共享密钥分配给硬件加解密模块;又一种实施方式下,该硬件加解密模块中存储有第一密钥有多个,通过在读内存地址中携带虚拟机ID,硬件加解密模块通过获取该地址中携带的虚拟机ID来查找对应的密钥,然后对数据进行加解密,以保证硬件加解密模块能选择与待迁移虚拟机对应的密钥进行加解密。
步骤S103:所述输入输出设备将经所述输入输出控制器获取的所述加密后的待迁移数据发送给所述虚拟机迁入设备。
本申请实施例还提供了一种应用于虚拟机迁入设备的虚拟机迁移方法,如图5所示,下面将结合图5,对本申请实施例提供的虚拟机迁移方法进行说明。
步骤S201:所述输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器。
所述输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器的临时存储区。其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据。
步骤S202:所述输入输出设备通过所述输入输出控制器经所述内部总线向所述内存控制器发送写指令。
输入输出设备在将接收到的待迁移数据保存至输入输出控制器的临时存储区后,并告知虚拟机监视器,虚拟机监视器获悉这一情况后,向输入输出设备发送写指令,该写指令中携带有(从临时缓存区中获取待迁移数据的源地址以及将其写入内存的目的地址)。
步骤S203:所述内存控制器响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
输入输出设备响应虚拟机监视器发送的写指令,向IO控制器发送DMA写指令,IO控制器执行DMA操作,经总线向内存控制器发送写操作(该操作中包括源地址和目的地址),以使内存控制器经总线从源地址指向的临时缓存区中读取待迁移数据,并将其写入源地址指向的内存空间,期间,由硬件加解密模块利用第一密钥对经内部总线传输的待迁移数据进行解密。
其中,若该设备支持SEV功能,内存控制器经总线从源地址指向的临时缓存区中读取待迁移数据,并将其写入源地址指向的内存空间,期间,由硬件加解密模块该待迁移数据进行解密,之后数据达到内存控制器,再要利用内存加解密模块利用本地密钥进行加密。
本申请实施例所提供的虚拟迁移方法,其实现原理及产生的技术效果和前述装置实施例相同,为简要描述,方法实施例部分未提及之处,可参考前述装置实施例中相应内容。
本申请实施例还提供了一种非易失性计算机可读取存储介质(以下简称存储介质),该存储介质上存储有计算机程序,该计算机程序被计算机如上述的虚拟机迁出设备运行时,执行上述图4所示的虚拟机迁移方法,或者,计算机程序被计算机如上述的虚拟机迁入设备运行时,执行上述图5所示的虚拟机迁移方法。该存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。其中,上述的虚拟机迁出设备或迁入设备,包括但不限于计算机、平板电脑、服务器等。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,笔记本电脑,服务器,或者电子设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (15)
1.一种虚拟机迁移方法,其特征在于,应用于虚拟机迁出设备,所述虚拟机迁出设备包括:输入输出设备和通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上还连接有输入输出控制器;所述方法包括:
所述输入输出设备通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据;
所述硬件加解密模块对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器;其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;
所述输入输出设备将经所述输入输出控制器获取的所述加密后的待迁移数据发送给所述虚拟机迁入设备。
2.根据权利要求1所述的方法,其特征在于,所述虚拟机迁出设备还包括:安全处理器;在所述输入输出设备通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据之前,所述方法还包括:
所述安全处理器将所述第一密钥分配给所述硬件加解密模块。
3.根据权利要求1或2所述的方法,其特征在于,不同虚拟机对应的所述第一密钥不同,所述内部总线上还连接有内存控制器;所述硬件加解密模块对经所述内部总线传输的所述待迁移数据进行加密,包括:
所述硬件加解密模块根据所述输入输出设备通过所述输入输出控制器经所述内部总线获取所述待迁移数据时,向所述内存控制器发送的读指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行加密,其中,不同的虚拟机ID对应的第一密钥不同。
4.一种虚拟机迁移方法,其特征在于,应用于虚拟机迁入设备,所述虚拟机迁入设备包括:输入输出设备和通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上连接有输入输出控制器和内存控制器;所述方法包括:
所述输入输出设备接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器;其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;
所述输入输出设备通过所述输入输出控制器经所述内部总线向所述内存控制器发送写指令;
所述内存控制器响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
5.根据权利要求4所述的方法,其特征在于,所述虚拟机迁出设备还包括:安全处理器;在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密之前,所述方法还包括:
所述安全处理器将所述第一密钥分配给所述硬件加解密模块。
6.根据权利要求4或5所述的方法,其特征在于,不同虚拟机对应的所述第一密钥不同;所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密,包括:
所述硬件加解密模块根据所述写指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行解密,其中,不同的虚拟机ID对应的第一密钥不同。
7.一种通用处理器,其特征在于,应用于虚拟机迁出设备,所述虚拟机迁出设备还包括与所述通用处理器连接的输入输出设备,所述通用处理器包括:
内部总线,与总线连接的输入输出控制器;
设置在所述内部总线上的硬件加解密模块;
所述输入输出控制器,用于经所述内部总线获取待迁移虚拟机的对应的待迁移数据;
所述硬件加解密模块,用于对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器,其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为所述虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;
所述输入输出控制器,还用于将所述加密后的待迁移数据经所述输入输出设备发送给所述虚拟机迁入设备。
8.根据权利要求7所述的通用处理器,所述通用处理器还包括:安全处理器,所述安全处理器,用于将所述第一密钥分配给所述硬件加解密模块。
9.根据权利要求7或8所述的通用处理器,不同虚拟机对应的所述第一密钥不同,所述内部总线上还连接有内存控制器;
所述硬件加解密模块,用于根据所述输入输出设备通过所述输入输出控制器经所述内部总线获取所述待迁移数据时,向所述内存控制器发送的读指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行加密,其中,不同的虚拟机ID对应的第一密钥不同。
10.一种通用处理器,其特征在于,应用于虚拟机迁入设备,所述虚拟机迁入设备还包括与所述通用处理器连接的输入输出设备,所述通用处理器包括:
内部总线,与所述内部总线连接的输入输出控制器和内存控制器;
设置在所述内部总线上的硬件加解密模块;
所述输入输出控制器,用于缓存所述输入输出设备发送的待迁移数据,其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;
所述输入输出控制器,还用于将所述输入输出设备发送的写指令经所述内部总线发送给所述内存控制器;
所述内存控制器,用于响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
11.根据权利要求10所述的通用处理器,其特征在于,所述通用处理器还包括:安全处理器,所述安全处理器,用于将所述第一密钥分配给所述硬件加解密模块。
12.根据权利要求10或11所述的通用处理器,其特征在于,不同虚拟机对应的所述第一密钥不同;所述硬件加解密模块,用于根据所述写指令中携带的虚拟机ID,获取与所述虚拟机ID对应的第一密钥,并利用所述虚拟机ID对应的第一密钥对所述待迁移数据进行解密,其中,不同的虚拟机ID对应的第一密钥不同。
13.一种电子设备,包括内存和如权利要求7-9任一项所述的通用处理器,或者,如权利要求10-12任一项所述的通用处理器。
14.一种电子设备,其特征在于,包括:
通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上还连接有输入输出控制器;
输入输出设备,用于通过所述输入输出控制器经所述内部总线获取待迁移虚拟机对应的待迁移数据;
所述硬件加解密模块,用于对经所述内部总线传输的所述待迁移数据进行加密,并将加密后的待迁移数据经所述内部总线传输给所述输入输出控制器;其中,所述硬件加解密模块对所述待迁移数据进行加密时,所使用的加密密钥为虚拟机迁入设备和所述虚拟机迁出设备之间约定好的第一密钥;
所述输入输出设备,还用于将经所述输入输出控制器获取的所述加密后的待迁移数据发送给所述虚拟机迁入设备。
15.一种电子设备,其特征在于,包括:
通用处理器,所述通用处理器包括设置在所述通用处理器内部总线上的硬件加解密模块,所述内部总线上连接有输入输出控制器和内存控制器;
输入输出设备,用于接收虚拟机迁出设备发送的待迁移数据,并将所述待迁移数据保存至所述输入输出控制器;其中,所述待迁移数据为所述虚拟机迁出设备在将待迁移虚拟机的数据迁出时,利用所述虚拟机迁入设备和所述虚拟机迁出设备之间约定的第一密钥进行加密的数据;以及还用于通过所述输入输出控制器经所述内部总线向所述内存控制器发送写指令;
所述内存控制器,用于响应所述写指令,从所述输入输出控制器读出所述待迁移数据,并经所述内部总线将所述待迁移数据传输给所述硬件加解密模块;并在所述硬件加解密模块利用所述第一密钥对经所述内部总线传输的所述待迁移数据进行解密后,将解密后的待迁移数据写入所述虚拟机迁入设备的物理内存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010828276.4A CN111949372B (zh) | 2020-08-17 | 2020-08-17 | 一种虚拟机迁移方法、通用处理器及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010828276.4A CN111949372B (zh) | 2020-08-17 | 2020-08-17 | 一种虚拟机迁移方法、通用处理器及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111949372A true CN111949372A (zh) | 2020-11-17 |
CN111949372B CN111949372B (zh) | 2021-07-06 |
Family
ID=73343647
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010828276.4A Active CN111949372B (zh) | 2020-08-17 | 2020-08-17 | 一种虚拟机迁移方法、通用处理器及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111949372B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416526A (zh) * | 2020-11-27 | 2021-02-26 | 海光信息技术股份有限公司 | 一种直接存储访问方法、装置及相关设备 |
CN112579255A (zh) * | 2020-12-10 | 2021-03-30 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN115795519A (zh) * | 2023-01-18 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 数据加解密处理方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103516728A (zh) * | 2013-10-14 | 2014-01-15 | 武汉大学 | 一种防止云平台虚拟机非法启动的镜像加解密方法 |
US20140089658A1 (en) * | 2012-09-27 | 2014-03-27 | Yeluri Raghuram | Method and system to securely migrate and provision virtual machine images and content |
CN106127024A (zh) * | 2016-07-20 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种高效的vm迁移数据保护方案 |
CN106341228A (zh) * | 2016-11-01 | 2017-01-18 | 广东浪潮大数据研究有限公司 | 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端 |
CN108155988A (zh) * | 2017-12-22 | 2018-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种保护密钥的迁移方法、装置、设备及可读存储介质 |
CN110708154A (zh) * | 2019-08-31 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种虚拟机迁移方法、系统、终端及存储介质 |
CN111124616A (zh) * | 2019-12-23 | 2020-05-08 | 海光信息技术有限公司 | 一种虚拟机迁移方法、处理器及电子设备 |
-
2020
- 2020-08-17 CN CN202010828276.4A patent/CN111949372B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140089658A1 (en) * | 2012-09-27 | 2014-03-27 | Yeluri Raghuram | Method and system to securely migrate and provision virtual machine images and content |
CN103516728A (zh) * | 2013-10-14 | 2014-01-15 | 武汉大学 | 一种防止云平台虚拟机非法启动的镜像加解密方法 |
CN106127024A (zh) * | 2016-07-20 | 2016-11-16 | 浪潮电子信息产业股份有限公司 | 一种高效的vm迁移数据保护方案 |
CN106341228A (zh) * | 2016-11-01 | 2017-01-18 | 广东浪潮大数据研究有限公司 | 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端 |
CN108155988A (zh) * | 2017-12-22 | 2018-06-12 | 浪潮(北京)电子信息产业有限公司 | 一种保护密钥的迁移方法、装置、设备及可读存储介质 |
CN110708154A (zh) * | 2019-08-31 | 2020-01-17 | 苏州浪潮智能科技有限公司 | 一种虚拟机迁移方法、系统、终端及存储介质 |
CN111124616A (zh) * | 2019-12-23 | 2020-05-08 | 海光信息技术有限公司 | 一种虚拟机迁移方法、处理器及电子设备 |
Non-Patent Citations (2)
Title |
---|
拱长青等: "云计算安全研究综述", 《沈阳航空航天大学学报》 * |
林宇冰: "数据中心虚拟化安全的研究与应用", 《中国优秀硕士论文全文数据库》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416526A (zh) * | 2020-11-27 | 2021-02-26 | 海光信息技术股份有限公司 | 一种直接存储访问方法、装置及相关设备 |
CN112416526B (zh) * | 2020-11-27 | 2023-02-17 | 海光信息技术股份有限公司 | 一种直接存储访问方法、装置及相关设备 |
CN112579255A (zh) * | 2020-12-10 | 2021-03-30 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN112579255B (zh) * | 2020-12-10 | 2023-03-24 | 海光信息技术股份有限公司 | 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 |
CN115795519A (zh) * | 2023-01-18 | 2023-03-14 | 苏州浪潮智能科技有限公司 | 数据加解密处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111949372B (zh) | 2021-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230110230A1 (en) | Technologies for secure i/o with memory encryption engines | |
CN111949372B (zh) | 一种虚拟机迁移方法、通用处理器及电子设备 | |
EP3602376B1 (en) | Monitoring of memory page transitions between a hypervisor and a virtual machine | |
JP6067757B2 (ja) | ストレージ装置とホスト間でデータ伝送を保護するためのストレージ・コントローラ・バス・インターフェースの使用 | |
US9734357B2 (en) | Process authenticated memory page encryption | |
US10560262B2 (en) | Information-processing system, information-processing apparatus, management apparatus, and processing method | |
CN111090869B (zh) | 一种数据加密方法、处理器及计算机设备 | |
US10372628B2 (en) | Cross-domain security in cryptographically partitioned cloud | |
CN111124616B (zh) | 一种虚拟机迁移方法、处理器及电子设备 | |
US10938559B2 (en) | Security key identifier remapping | |
US8799673B2 (en) | Seamlessly encrypting memory regions to protect against hardware-based attacks | |
KR101323858B1 (ko) | 가상화 시스템에서 메모리 접근을 제어하는 장치 및 방법 | |
CN106716435B (zh) | 设备与安全处理环境之间的接口 | |
CN111967065B (zh) | 一种数据保护方法、处理器及电子设备 | |
CN111124956B (zh) | 一种容器保护方法、处理器、操作系统及计算机设备 | |
US20180053017A1 (en) | Programmable logic device, information processing apparatus, and processing method | |
CN111290830B (zh) | 一种虚拟机迁移方法、处理器及电子设备 | |
CN112468300B (zh) | 具有旁通通道的金钥管理装置及处理器芯片 | |
KR20090059602A (ko) | 세션 메모리 버스를 구비한 암호화 장치 | |
EP4202740A1 (en) | Process object re-keying during process creation in cryptographic computing | |
JP7457842B2 (ja) | 情報処理装置、情報処理システム、及び情報処理方法 | |
CN116860666A (zh) | 一种gpu内存保护方法、装置、芯片及电子设备 | |
KR20190091606A (ko) | Gpu를 이용한 파일 시스템 레벨 암호화 장치 및 방법 |
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 | ||
CB02 | Change of applicant information |
Address after: 300450 Tianjin Binhai New Area Huayuan Industrial Zone Haitai West Road 18 North 2-204 Industrial Incubation-3-8 Applicant after: Haiguang Information Technology Co., Ltd Address before: 300450 Tianjin Binhai New Area Huayuan Industrial Zone Haitai West Road 18 North 2-204 Industrial Incubation-3-8 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |