CN110708154B - 一种虚拟机迁移方法、系统、终端及存储介质 - Google Patents

一种虚拟机迁移方法、系统、终端及存储介质 Download PDF

Info

Publication number
CN110708154B
CN110708154B CN201910819660.5A CN201910819660A CN110708154B CN 110708154 B CN110708154 B CN 110708154B CN 201910819660 A CN201910819660 A CN 201910819660A CN 110708154 B CN110708154 B CN 110708154B
Authority
CN
China
Prior art keywords
virtual machine
ciphertext
packet
source virtual
splitting
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.)
Active
Application number
CN201910819660.5A
Other languages
English (en)
Other versions
CN110708154A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201910819660.5A priority Critical patent/CN110708154B/zh
Publication of CN110708154A publication Critical patent/CN110708154A/zh
Application granted granted Critical
Publication of CN110708154B publication Critical patent/CN110708154B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/606Protecting data by securing the transmission between two devices or processes
    • 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • 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
    • 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/4555Para-virtualisation, i.e. guest operating system has to be modified

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Bioethics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种虚拟机迁移方法、系统、终端及存储介质,包括虚拟机迁出和虚拟机迁入两方面;在虚拟机迁出时:接收虚拟机迁移指令;监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;对监测到的将要迁出的数据划分分组,得到各分组对应的源虚拟机分组数据;加密各源虚拟机分组数据,得到各分组对应的分组密文;合并解密密钥及各分组密文构成加密密文并迁移。在虚拟机迁入时:接收源虚拟机中迁来的加密密文;对所述加密密文进行拆分,得到解密密钥及各分组密文;解密出各分组密文对应的源虚拟机分组数据;合并解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机的迁移。本发明用于增加虚拟机迁移的安全性。

Description

一种虚拟机迁移方法、系统、终端及存储介质
技术领域
本发明涉及虚拟机领域,具体涉及一种虚拟机迁移方法、系统、终端及存储介质,用于实现虚拟机中数据的迁移。
背景技术
云计算可以为用户提供灵活增减资源、按需付费等特色服务,已成为当前 的热门技术。虚拟化技术是云计算的基础核心,云计算往往在虚拟化环境中进行。虚拟化技术中,较为常用的有虚拟机迁移技术。虚拟机迁移,是指将虚拟机从一个主机或存储位置移至另一个主机或存储位置的过程。
虚拟化迁移日益完善,可随着越来越多的用户使用,虚拟机迁移过程中所涉及的虚拟机数据的迁移,安全问题随之而来。然而现有技术中的迁移,往往缺少安全防护。
为此,本发明提供一种虚拟机迁移方法、系统、终端及存储介质,用于解决上述问题。
发明内容
针对现有技术的上述不足,本发明提供一种虚拟机迁移方法、系统、终端及存储介质,用于提高虚拟机数据迁移的安全性。
第一方面,本发明提供一种虚拟机迁移方法,包括配合使用的虚拟机迁出步骤和虚拟机迁入步骤;所述的虚拟机迁出步骤,包括:
接收虚拟机迁移指令;
监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;
对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;
分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机迁移;各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同;
所述的虚拟机迁入步骤,包括:
监测并接收源虚拟机中迁来的加密密文;
对接收到的加密密文进行拆分,得到各所述分组密文以及所述的解密密钥;
使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;
合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机的迁移。
进一步地,在虚拟机迁出步骤中,采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
在虚拟机迁入步骤中,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
其中,所述的对称加密算法采用同态加密算法;
进一步地,所述的采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文,包括:
随机选取两个素数P和Q;
计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure BDA0002187172600000031
将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M,①
其中式①中,i表示第i个分组,i=1,2,...,n,n表示分组的个数,n>2,ki 表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
进一步地,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据,包括:
获取拆分所得到的解密密钥,所述的解密密钥与所述的加密密钥相同;
采用解密算式②,解密所述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Di mod P,②
其中式②中,i表示所述的第i个分组,Di是拆分所得的一个分组密文且是所述第i个分组对应的分组密文,ki表示解密出的分组密文Di对应的源虚拟机分组数据。
第二方面,本发明提供一种虚拟机迁移系统,该虚拟机迁移系统包括配合使用的虚拟机迁出单元和虚拟机迁入单元;
所述的虚拟机迁出单元,包括:
迁移指令接收模块,接收虚拟机迁移指令;
迁出监测模块,监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;
分组模块,对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;
分组加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
迁出模块,合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机迁移;各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同;
所述的虚拟机迁入单元,包括:
迁入监测模块,监测并接收源虚拟机中迁来的加密密文;
密文拆分模块,对接收到的加密密文进行拆分,得到各所述的分组密文以及所述的解密密钥;
密文解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;
源虚拟机数据恢复模块,合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机的迁移。
进一步地,所述的分组加密模块,采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
所述的密文解密模块,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
其中,所述的对称加密算法采用同态加密算法;
所述的分组加密模块,包括:
随机素数获取单元,随机选取两个素数P和Q;
计算单元,计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure BDA0002187172600000051
所述的随机数W,是整数且取值范围为
Figure BDA0002187172600000052
加密单元,将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M,①
式①中,i表示第i个分组,i=1,2,...,n,n表示分组的个数,n>2,ki表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
进一步地,所述的密文解密模块,包括:
密钥获取单元,获取拆分所得到的解密密钥,所述的解密密钥与所述的加密密钥相同;
解密单元,采用解密算式②,使用上述获取到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Di mod P,②
其中式②中,i表示所述的第i个分组,Di是拆分所得的一个分组密文且是所述第i个分组对应的分组密文,ki表示解密出的分组密文Di对应的源虚拟机分组数据。
第三方面,本发明提供一种终端,包括:
处理器、存储器,其中,
该存储器用于存储计算机程序,
该处理器用于从存储器中调用并运行该计算机程序,使得终端执行上述各方面的方法。
第四方面,本发明提供一种计算机存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。
本发明的有益效果在于,
本发明提供的虚拟机迁移方法、系统、终端及存储介质,在迁移前均对监测到的将要迁出的数据划分分组,之后对划分的各个分组对应的源虚拟机分组数据分别进行加密得到各个分组对应的分组密文,之后合并对应的解密密钥及各所述分组密文构成加密密文后向目标虚拟机迁移,其中各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同,不仅确保了源虚拟机迁移的数据在整个迁移过程中处于加密状态,且在整个迁移过程中在一定程度上打破了迁移数据原有的相对位置关系,一定程度上增加了虚拟机数据迁移的安全性。
此外,本发明设计原理可靠,结构简单,具有非常广泛的应用前景。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例的方法的示意性流程图。
图1(a)是本发明所述合并对应的解密密钥及各所述分组密文构成加密密文的一实施例的示意性流程图;
图1(b)是本发明所述合并对应的解密密钥及各所述分组密文构成加密密文的另一实施例的示意性流程图;
图1(c)是本发明所述合并对应的解密密钥及各所述分组密文构成加密密文的另一实施例的示意性流程图;
图2是本发明一个实施例的系统的示意性框图。
图3为本发明实施例提供的一种终端的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
下面对本发明中出现的关键术语进行解释。
图1是本发明一个实施例的方法的示意性流程图。
如图1所示,该方法100包括:
步骤110,虚拟机迁出步骤;
步骤120,虚拟机迁入步骤。
步骤110用于实现源虚拟机中数据的迁出,步骤120用于实现目标虚拟机中数据的迁入。步骤110和步骤120配合使用,用于将所述源虚拟机中的数据迁移到所述的目标虚拟机中。
其中,所述的虚拟机迁出步骤,包括:
步骤1101、接收虚拟机迁移指令。
虚拟机迁移指令中指明了源虚拟机中将要迁出的数据。
步骤1102、监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据。
步骤1103、对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据。
本实施例以预先设定划分10个分组为例,对方法100进行说明。分组的数量还可由本领域技术人员依据需要设定为其他数值,比如还可设定为2个、 3个,7个、8个等,为了简化后续步骤,可将分组数量设定为不超过15个。用变量i表述分组的序号,本实施例中i取值为1、2、3,...,10。
将监测到的将要迁出的数据用K表示,用ki表示第i个分组对应的源虚拟机分组数据,则K=k1+k2+...+k10。本实施例中将数据K顺序分割成10个分组,依序为k1、k2、...、k10。
需要说明的是,各个分组中对应的源虚拟机分组数据非空,各个分组中对应的源虚拟机分组数据的大小可以相等、也可以不相等,具体可由本领域技术人员依据实际需要选择设定。
步骤1104、分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文。
在本实施例中,步骤1104采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文。
在本实施例中,所述的对称加密算法采用同态加密算法。
进一步地,采用同态加密算法的加密模块,加密各所述源虚拟机分组数据得到各个分组对应的分组密文,包括步骤:
随机选取两个素数P和Q;
计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure BDA0002187172600000091
将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M,①
其中式①中,i表示第i个分组,i=1,2,...,n,n=10,ki表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
由此,本实施例中得到10个分组密文,即D1、D2、D3,...,D10。
步骤1105、合并对应的解密密钥及各所述分组密文构成加密密文,之后向目标虚拟机迁移。
同态加密算法的加密密钥与解密密钥相同。
将加密密文用字母d表示,则加密密文d=P+DI+D2+D3+...+D10。
加密密文d由P、D1、D2、D3,...,D10合并构成,但在本发明中,D1、 D2、D3,...,D10在构成加密密文d时的排布顺序,与分组密文D1、D2、 D3,...,D10各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同,比如图1(a)、图1(b)、图1(c)所示。具体实现时,可使用或参照图1(a)、图1(b)、图1(c)所示的情况,预先设定所述的 P、D1、D2、D3、...、D10在构成加密密文d时的排序。其中图1(a)、图 1(b)、图1(c)中所示的K,均为所述监测到的将要迁出的数据用K。
综上,本发明将各分组密文构成所述加密密文时的排序,设为与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同,不仅确保了源虚拟机迁移的数据在整个迁移过程中处于加密状态,且在整个迁移过程中在一定程度上打破了迁移数据原有的相对位置关系,一定程度上增加了虚拟机数据迁移的安全性。
相对应地,所述的虚拟机迁入步骤,包括:
步骤1201、监测并接收源虚拟机中迁来的加密密文。
在本实施例中,该步骤1201中所述的加密密文为上述加密密文d。
步骤1202、对接收到的加密密文进行拆分,得到各所述分组密文以及所述的解密密钥。
具体地,将加密密文d进行拆分后,得到解密密钥(即为所述的加密密钥 p)以及上述10个分组密文:D1、D2、D3,...,D10。
步骤1203、使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
相对应地,在本实施例中,该步骤1203采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据,具体步骤包括:
获取拆分所得到的解密密钥;
采用解密算式②,使用上述获取的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Di mod P,②
由此,通过上式②,由分组密文D1、D2、D3、...、D10解密出的源虚拟机分组数据依序为源虚拟机分组数据k1、k2、...、k10,其中k1+k2+...+k10=K。
步骤1204、合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机数据的迁移。
采用与上述拆分相对应地方式,合并解密出的源虚拟机分组数据k1、 k2、...、k10,得到源虚拟机中迁来的数据K。至此,完成对源虚拟机的迁移。
综上,本发明提供的虚拟机迁移方法,在迁出端对监测到的将要迁出的数据划分分组,之后对划分的各个分组对应的源虚拟机分组数据分别进行加密得到各个分组对应的分组密文,之后合并对应的解密密钥及各所述分组密文构成加密密文后向目标虚拟机迁移,不仅确保了源虚拟机的迁移数据在整个迁移过程中处于加密状态,且在整个迁移过程中在一定程度上打破了迁移数据原有的相对位置关系,一定程度上增加了虚拟机数据迁移的安全性。
实施例2:
如图2示,该虚拟机迁移系统200,包括虚拟机迁出单元201和虚拟机迁入单元202。其中,虚拟机迁出单元201和虚拟机迁入单元202配合使用,用于实现虚拟机数据的安全迁移。
其中,所述的虚拟机迁出单元201,包括:
迁移指令接收模块2011,接收虚拟机迁移指令;
迁出监测模块2012,监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;
分组模块2013,对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;
分组加密模块2014,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
迁出模块2015,合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机迁移。各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同。
虚拟机迁出单元201工作时:迁移指令接收模块2011,接收虚拟机迁移指令;迁出监测模块2012,监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;分组模块2013,对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;分组加密模块2014,加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;迁出模块2015,合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机中迁移。
可优选地,所述的分组加密模块2014,采用对称加密算法的加密模块,对分组模块2013得到的各个分组对应的源虚拟机分组数据分别进行加密,得到各个分组对应的分组密文。具体地,所述的对称加密算法采用同态加密算法。
其中,所述的分组加密模块2014,包括:
随机素数获取单元20141,随机选取两个素数P和Q;
计算单元20142,计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure BDA0002187172600000121
加密单元20143,将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M,①
式①中,i表示第i个分组,i=1,2,...,n,n表示分组的个数,n>2,ki表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
相对应地,所述的虚拟机迁入单元202,包括:
迁入监测模块2021,监测并接收源虚拟机中迁来的加密密文;
密文拆分模块2022,对迁入监测模块2021 接收到的加密密文进行拆分,得到各所述的分组密文以及所述的解密密钥;
密文解密模块2023,解密上述拆分得到的每个分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;
源虚拟机数据恢复模块2024,合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机数据的迁移。
虚拟机迁入单元202工作时:迁入监测模块2021,监测并接收源虚拟机中迁来的加密密文;密文拆分模块2022,对迁入监测模块2021 接收到的加密密文进行拆分,得到各所述的分组密文以及所述的解密密钥;密文解密模块 2023,解密上述拆分得到的每个分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;源虚拟机数据恢复模块2024,合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机数据的迁移。
进一步地,所述的密文解密模块2023,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
具体地,所述的密文解密模块2023,包括:
密钥获取单元20231,获取拆分所得到的解密密钥,所述的解密密钥与所述的加密密钥相同;
解密单元20232,采用解密算式②,使用上述获取到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Di mod P,②
其中式②中,i表示所述的第i个分组,Di是拆分所得的一个分组密文且是所述第i个分组对应的分组密文,ki表示解密出的分组密文Di对应的源虚拟机分组数据。
鉴于本实施例中所述的系统200与实施例1中的方法100相对应,本实施例中系统200的结构组成以及所能达到的技术效果可以参见实施例1中的描述,此处不再赘述。
实施例3:
图3为本发明实施例提供的一种终端300的结构示意图,该终端300可以用于执行本发明实施例1中提供的虚拟机迁移方法。
其中,该终端300可以包括:处理器310、存储器320及通信单元330。这些组件通过一条或多条总线进行通信,本领域技术人员可以理解,图中示出的结构并不构成对本发明的限定,它既可以是总线形结构,也可以是星型结构,还可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,该存储器320可以用于存储处理器310的执行指令,存储器320 可以由任何类型的易失性或非易失性存储终端或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器 (ROM),磁存储器,快闪存储器,磁盘或光盘。当存储器320中的执行指令由处理器310执行时,使得终端300能够执行以下上述方法实施例中的部分或全部步骤。
处理器310为存储终端的控制中心,利用各种接口和线路连接整个电子终端的各个部分,通过运行或执行存储在存储器320内的软件程序和/或模块,以及调用存储在存储器内的数据,以执行电子终端的各种功能和/或处理数据。所述处理器可以由集成电路(Integ rated Circuit,简称IC)组成,例如可以由单颗封装的IC所组成,也可以由连接多颗相同功能或不同功能的封装IC而组成。举例来说,处理器310可以仅包括中央处理器(Central ProcessingUnit,简称CPU)。在本发明实施方式中,CPU可以是单运算核心,也可以包括多运算核心。
通信单元330,用于建立通信信道,从而使所述存储终端可以与其它终端进行通信。接收其他终端发送的用户数据或者向其他终端发送用户数据。
实施例4:
本发明还提供一种计算机存储介质,其中,该计算机存储介质可存储有程序,该程序执行时可包括本发明提供的各实施例中的部分或全部步骤。所述的存储介质可为磁碟、光盘、只读存储记忆体(英文:read-only memory,简称:ROM)或随机存储记忆体(英文:random access memory,简称:RAM) 等。
本说明书中各个实施例之间相同相似的部分互相参见即可。
综上,本发明将分组加密思想用于虚拟机数据的迁移,一定程度上使得攻击者即便通过某种手段截获了迁移数据,也无法直接得到想要的数据文本,一定程度上保证了虚拟机数据迁移的机密性、安全性。
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内/任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种虚拟机迁移方法,其特征在于,包括配合使用的虚拟机迁出步骤和虚拟机迁入步骤;所述的虚拟机迁出步骤,包括:
接收虚拟机迁移指令;
监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;
对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;
分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机迁移;各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同;
所述的虚拟机迁入步骤,包括:
监测并接收源虚拟机中迁来的加密密文;
对接收到的加密密文进行拆分,得到各所述分组密文以及所述的解密密钥;
使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;
合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机的迁移。
2.根据权利要求1所述的虚拟机迁移方法,其特征在于,进一步地,在虚拟机迁出步骤中,采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
在虚拟机迁入步骤中,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
3.根据权利要求2所述的虚拟机迁移方法,其特征在于,所述的对称加密算法采用同态加密算法;
进一步地,所述的采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文,包括:
随机选取两个素数P和Q;
计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure FDA0002187172590000021
将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M, ①
其中式①中,i表示第i个分组,i=1,2,...,n,n表示分组的个数,n>2,ki表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
4.根据权利要求3所述的虚拟机迁移方法,其特征在于,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据,包括:
获取拆分所得到的解密密钥,所述的解密密钥与所述的加密密钥相同;
采用解密算式②,解密所述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Dimod P, ②
其中式②中,i表示所述的第i个分组,Di是拆分所得的一个分组密文且是所述第i个分组对应的分组密文,ki表示解密出的分组密文Di对应的源虚拟机分组数据。
5.一种虚拟机迁移系统,其特征在于,该虚拟机迁移系统包括配合使用的虚拟机迁出单元和虚拟机迁入单元;
所述的虚拟机迁出单元,包括:
迁移指令接收模块,接收虚拟机迁移指令;
迁出监测模块,监测所述虚拟机迁移指令对应的源虚拟机中将要迁出的数据;
分组模块,对监测到的将要迁出的数据划分分组,得到各个分组对应的源虚拟机分组数据;所述分组的数量至少为两个;
分组加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
迁出模块,合并对应的解密密钥及各所述分组密文构成加密密文,并向目标虚拟机迁移;各分组密文构成所述加密密文时的排序,与各分组密文各自对应的源虚拟机分组数据构成所述源虚拟机中将要迁出的数据时的排序不同;
所述的虚拟机迁入单元,包括:
迁入监测模块,监测并接收源虚拟机中迁来的加密密文;
密文拆分模块,对接收到的加密密文进行拆分,得到各所述的分组密文以及所述的解密密钥;
密文解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据;
源虚拟机数据恢复模块,合并上述解密出的各源虚拟机分组数据,恢复源虚拟机中迁来的数据,完成对源虚拟机的迁移。
6.根据权利要求5所述的虚拟机迁移系统,其特征在于,进一步地,所述的分组加密模块,采用对称加密算法的加密模块,分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文;
所述的密文解密模块,采用所述对称加密算法的解密模块,使用上述拆分所得到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据。
7.根据权利要求6所述的虚拟机迁移系统,其特征在于,所述的对称加密算法采用同态加密算法;所述的分组加密模块,包括:
随机素数获取单元,随机选取两个素数P和Q;
计算单元,计算上述素数P和Q的乘积M=P×Q,并生成随机数W;所述的随机数W,是整数且取值范围为
Figure FDA0002187172590000041
所述的随机数W,是整数且取值范围为
Figure FDA0002187172590000042
加密单元,将所述的素数P作为所述同态加密算法的加密密钥,通过算法公式①分别加密各所述源虚拟机分组数据,得到各个分组对应的分组密文:
Di=(ki+P×W)mod M, ①
式①中,i表示第i个分组,i=1,2,...,n,n表示分组的个数,n>2,ki表示第i个分组对应的源虚拟机分组数据,Di表示第i个分组对应的分组密文。
8.根据权利要求7所述的虚拟机迁移系统,其特征在于,所述的密文解密模块,包括:
密钥获取单元,获取拆分所得到的解密密钥,所述的解密密钥与所述的加密密钥相同;
解密单元,采用解密算式②,使用上述获取到的解密密钥解密上述拆分所得到的各分组密文,解密出拆分所得到每个分组密文各自对应的源虚拟机分组数据:
ki=Dimod P, ②
其中式②中,i表示所述的第i个分组,Di是拆分所得的一个分组密文且是所述第i个分组对应的分组密文,ki表示解密出的分组密文Di对应的源虚拟机分组数据。
9.一种终端,其特征在于,包括:
处理器;
用于存储处理器的执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-4任一项所述的方法。
10.一种存储有计算机程序的计算机可读存储介质,其特征在于,该程序被处理器执行时实现如权利要求1-4中任一项所述的方法。
CN201910819660.5A 2019-08-31 2019-08-31 一种虚拟机迁移方法、系统、终端及存储介质 Active CN110708154B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910819660.5A CN110708154B (zh) 2019-08-31 2019-08-31 一种虚拟机迁移方法、系统、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910819660.5A CN110708154B (zh) 2019-08-31 2019-08-31 一种虚拟机迁移方法、系统、终端及存储介质

Publications (2)

Publication Number Publication Date
CN110708154A CN110708154A (zh) 2020-01-17
CN110708154B true CN110708154B (zh) 2022-05-10

Family

ID=69193952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910819660.5A Active CN110708154B (zh) 2019-08-31 2019-08-31 一种虚拟机迁移方法、系统、终端及存储介质

Country Status (1)

Country Link
CN (1) CN110708154B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111949372B (zh) * 2020-08-17 2021-07-06 海光信息技术股份有限公司 一种虚拟机迁移方法、通用处理器及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027107A (zh) * 2013-01-22 2015-11-04 亚马逊技术有限公司 安全虚拟机迁移
CN106095525A (zh) * 2016-06-06 2016-11-09 浪潮电子信息产业股份有限公司 一种虚拟机动态迁移安全防护方法
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端
CN107015844A (zh) * 2015-12-18 2017-08-04 英特尔公司 虚拟机批量在线迁移
CN107733904A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 一种虚拟机数据加密和解密的方法、装置及平台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10860359B2 (en) * 2018-02-28 2020-12-08 Red Hat, Inc. Key management for encrypted virtual machines

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105027107A (zh) * 2013-01-22 2015-11-04 亚马逊技术有限公司 安全虚拟机迁移
CN107015844A (zh) * 2015-12-18 2017-08-04 英特尔公司 虚拟机批量在线迁移
CN106095525A (zh) * 2016-06-06 2016-11-09 浪潮电子信息产业股份有限公司 一种虚拟机动态迁移安全防护方法
CN106341228A (zh) * 2016-11-01 2017-01-18 广东浪潮大数据研究有限公司 一种虚拟机迁移方法、系统及虚拟机迁入端和迁出端
CN107733904A (zh) * 2017-10-24 2018-02-23 郑州云海信息技术有限公司 一种虚拟机数据加密和解密的方法、装置及平台

Also Published As

Publication number Publication date
CN110708154A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
US11784801B2 (en) Key management method and related device
CN104205117B (zh) 设备文件的加解密方法及装置
CN103067157B (zh) 利用随机排序和随机块大小的安全数据传输
US9086819B2 (en) System and method for combining deduplication and encryption of data
US10484170B2 (en) Custom encryption function for communications between a client device and a server device
CN113302871B (zh) 通信方法、通信系统、网络接口控制器
US11374975B2 (en) TLS integration of post quantum cryptographic algorithms
TW202113646A (zh) 非對稱密鑰中的私鑰生成和使用方法、裝置和設備
CN108197439B (zh) 一种文件加密方法、装置及服务器
CN110058843B (zh) 伪随机数的生成方法、装置和服务器
CN110661748B (zh) 一种日志的加密方法、解密方法及装置
US11824999B2 (en) Chosen-plaintext secure cryptosystem and authentication
CN108199847B (zh) 数字安全处理方法、计算机设备及存储介质
CN114157415A (zh) 数据处理方法、计算节点、系统、计算机设备和存储介质
CN108229192B (zh) 一种文件解密方法、装置及客户端
WO2017006118A1 (en) Secure distributed encryption system and method
CN110378128A (zh) 数据加密方法、装置及终端设备
CN115801220A (zh) 加速设备、计算系统及加速方法
CN110708154B (zh) 一种虚拟机迁移方法、系统、终端及存储介质
US20210273790A1 (en) Client device
US11496287B2 (en) Privacy preserving fully homomorphic encryption with circuit verification
CN113645235A (zh) 分布式数据加解密系统及加解密方法
CN111949996A (zh) 安全私钥的生成方法、加密方法、系统、设备及介质
CN115801221A (zh) 加速设备、计算系统及加速方法
CN112637233B (zh) 一种基于多用户数据的安全求均值方法

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
GR01 Patent grant
GR01 Patent grant