CN112579255B - 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 - Google Patents

虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 Download PDF

Info

Publication number
CN112579255B
CN112579255B CN202011457891.5A CN202011457891A CN112579255B CN 112579255 B CN112579255 B CN 112579255B CN 202011457891 A CN202011457891 A CN 202011457891A CN 112579255 B CN112579255 B CN 112579255B
Authority
CN
China
Prior art keywords
migration
data
migrated
configuration information
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.)
Active
Application number
CN202011457891.5A
Other languages
English (en)
Other versions
CN112579255A (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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011457891.5A priority Critical patent/CN112579255B/zh
Publication of CN112579255A publication Critical patent/CN112579255A/zh
Application granted granted Critical
Publication of CN112579255B publication Critical patent/CN112579255B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services

Abstract

本发明提供虚拟机迁移的压缩保护方法、迁入迁出加速器模块和SOC芯片。虚拟机迁移的压缩保护方法:请求发送步骤,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息;判断步骤,安全子系统的安全处理器基于配置信息来判断迁移请求是迁入请求还是迁出请求;启动步骤,安全子系统的安全处理器根据判断步骤中的判断结果来将配置信息写给迁入迁出加速器模块,启动迁入迁出加速器模块;以及迁移步骤,在迁出请求的情况下,进行待迁出数据的加密及压缩并输出,在迁入请求的情况下,进行待迁入数据的解压缩和解密并写入内存目标地址。本发明能够大幅提高的数据迁移速度,并且能够保证数据安全。

Description

虚拟机迁移的压缩保护方法、迁入迁出加速器模块和SOC芯片
技术领域
本发明涉及计算机领域,具体涉及虚拟机迁移的压缩保护方法、迁入迁出加速器模块和SOC芯片。
背景技术
在大型计算机系统中(比如,各种云计算),通常会布置大量的虚拟机(VM),为了管理、维护的需要,服务提供商有时需要做虚拟机迁移(将虚拟机从一个计算资源迁移到另一个计算资源)。在这个迁移过程中,大量的内存数据需要进行传输(中间可能会存在多次的转存)。存在将虚拟机数据快速安全地迁移的需求。
发明内容
发明要解决的课题
本发明针对现有技术中的上述需求,目的在于提供一种虚拟机迁移的压缩保护方法、迁入迁出加速器模块和SOC芯片,用于将虚拟机数据快速安全地迁移。
用于解决课题的手段
本发明的一个技术方案提供一种虚拟机迁移的压缩保护方法,
包括以下步骤:
请求发送步骤,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给迁入迁出加速器模块,启动所述迁入迁出加速器模块;以及
迁移步骤,在判断为所述迁移请求是迁出请求的情况下,从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,并进行压缩而得到压缩后数据,将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址。
本发明的一个技术方案提供一种虚拟机迁移的压缩保护方法,
包括以下步骤:
请求发送步骤,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给迁入迁出加速器模块,启动所述迁入迁出加速器模块;以及
迁移步骤,在判断为所述迁移请求是迁入请求的情况下,从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,对所述待迁入数据进行解压缩而得到解压缩后数据,根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,将解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址。
本发明的一个技术方案提供一种虚拟机迁移用的迁入迁出加速器模块,用于从虚拟机管理器接收虚拟机迁移请求和配置信息,并在虚拟机数据进行迁移时进行数据压缩保护,
加解密模块,用于进行加密及解密的;以及
加解压模块,用于进行压缩和解压缩,
所述迁入迁出加速器模块接收迁移请求和配置信息,
在所述迁移请求是迁出请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,所述加解密模块根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,所述加解压模块对所述加密后数据进行压缩而得到压缩后数据,所述迁入迁出加速器模块将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址。
本发明的一个技术方案提供一种虚拟机迁移用的迁入迁出加速器模块,用于从虚拟机管理器接收虚拟机迁移请求和配置信息,并在虚拟机数据进行迁移时进行数据压缩保护,
加解密模块,用于进行加密及解密的;以及
加解压模块,用于进行压缩和解压缩,
所述迁入迁出加速器模块接收迁移请求和配置信息,
在所述迁移请求是迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,所述加解压模块对所述待迁入数据进行解压缩而得到解压缩后数据,所述加解密模块根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,所述迁入迁出加速器模块将所述解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址。
本发明的一个技术方案提供一种SOC芯片,包括安全子系统,所述安全子系统包括安全处理器和所述的虚拟机迁移用的迁入迁出加速器模块。
发明效果
本发明的虚拟机迁移的压缩保护方法通过迁入迁出加速器模块将虚拟机数据压缩并加密地迁移,能够大幅提高的数据迁移速度,并且能够保证数据安全。
附图说明
图1是表示本发明的虚拟机迁移的压缩保护装置的一个示例的示意图。
图2是示出本发明的迁入迁出加速器模块的一个例子的框图。
图3是示出本发明的虚拟机迁移的压缩保护装置的迁出工作过程的框图。
图4是示出本发明的虚拟机迁移的压缩保护装置的迁入工作过程的框图。
图5是示出了对虚拟机迁出数据进行加密保护和完整性保护的情况下的流程图。
图6是示出了对虚拟机迁入数据进行解密和完整性校验的情况下的流程图。
具体实施方式
下面将结合附图具体说明本发明的示例性实施方式,应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。本发明中提供示例性实施例是为了说明本发明的各方面,而不应被解释为限制本发明的范围。当参考框图或流程图描述示例性实施例时,每个框可以表示用于执行方法步骤的方法步骤或装置元件。根据实现方式,相应的装置元件可以配置为硬件、软件、固件或其组合。
在上述的虚拟机迁移过程中,大量的内存数据需要进行传输(中间可能会存在多次的转存),这时通常会面临以下问题:
(1)大量数据迁移,需要占用较大内存带宽、网络带宽,从而造成各种瓶颈。
(2)在数据传输过程,存在被窃取、篡改的安全隐患。
为了保护迁移虚拟机的数据安全,虚拟机管理器(VMM)会对待迁移数据进行加密和完整性保护,有些也会做压缩处理,但是这是一种软件行为,会带来以下问题:
(3)造成很大CPU开销(无论是加、解密,完整性保护,还是压缩算法,都需要很大的CPU开销)。
(4)造成额外的、很大的延迟(加解密,完整性保护,数据压缩都需要较长时间)。
(5)由虚拟机管理器(VMM)本身来主导的加解密、完整性保护、数据压缩,与已有的一些安全虚拟机管理方式并不兼容(比如,安全虚拟机方式)。
针对上述的问题,本发明提供一种能够高效地安全地进行虚拟机迁移的压缩保护方法、迁入迁出加速器模块、以及SOC芯片,虚拟机迁移的压缩保护方法可以运行在各种计算机设备中,具体地包括但不限于服务器、台式计算机、平板电脑、笔记本电脑等。以下,详细地进行说明。
[虚拟机迁移的压缩保护装置]
图1是表示本发明的虚拟机迁移的压缩保护装置的一个示例的示意图。如图1所示,作为一个例子,虚拟机迁移的压缩保护装置基于SOC上的安全子系统11(例如处理器中的PSP子系统,Platform Security Processor,平台安全处理器)来构建,包括作为控制处理器的安全处理器12、以及虚拟机数据的迁入迁出加速器模块(简称为迁入迁出加速器模块)13。
图3是示出本发明的虚拟机迁移的压缩保护装置的迁出工作过程的框图。图4是示出本发明的虚拟机迁移的压缩保护装置的迁入工作过程的框图。如图3和图4所示,SOC系统中的安全子系统11的安全处理器12从外部(例如,VMM或主CPU)接收虚拟机迁移请求以及配置信息,协助虚拟机管理器(VMM,运行在主CPU上)完成迁入数据的解密、完整性校验、以及数据解压缩,并完成迁出数据的加密、完整性保护、数据压缩。这些配置包括以下信息的一部分或者全部,但不限于以下信息:
待迁入数据的目标内存地址,或者,待迁出数据的内存源地址;
待迁入数据的内存源地址,或者,迁出数据的内存目标地址;
待迁入数据的完整性保护信息的源地址,或者,待迁出数据的完整性保护信息的目标地址;
当前虚拟机的标签(VM ID);
用以表示数据迁入、迁出方向的标识;
用以表示加解密算法的标识;
用以标识完整性保护算法的标识;以及
用以表示压缩算法的标识。
VMM向安全子系统11的安全处理器12发送虚拟机数据的迁移请求,并提供上述的配置信息(箭头1)。安全子系统11的安全处理器12接收来自VMM的虚拟机数据的迁移请求以及上述的配置信息。安全子系统11的安全处理器12根据所述配置信息中的用以表示数据迁入、迁出方向的标识来判断所述迁移请求是迁入请求还是迁出请求之后,将配置信息写给的迁入迁出加速器模块13(箭头2),并启动迁入迁出加速器模块13。由迁入迁出加速器模块13进行虚拟机迁出数据的加密、完整性校验保护信息计算、压缩、数据输出,或者进行虚拟机迁入数据的解压缩、解密、完整性校验以及数据写入(箭头3),并将“完成数据迁出”、“完成数据迁入”反馈给安全子系统11的安全处理器12(箭头4),安全子系统11的安全处理器12向VMM反馈“完成数据迁出”、“完成数据迁入”(箭头5)。具体细节将在后文中详细说明。
[迁入迁出加速器模块]
图2示出本发明的迁入迁出加速器模块的一个例子。如图2所示,迁入迁出加速器模块13用于从虚拟机管理器接收虚拟机迁移请求和配置信息,并在虚拟机数据进行迁移时进行数据压缩保护,包括:DMA控制器131(Direct Memory Access Controller,DMAC,存储器直接访问控制器),其可以访问内存,向内存写入数据或从内存读出数据;加密解密模块132,其对由DMA控制器131从内存读出的迁出数据进行加密、或对迁入数据进行解密;完整性保护模块133,对迁出数据计算完整性保护信息,对迁入数据计算完整性保护信息并与从指定位置读取的完整性保护信息进行比较从而进行完整性校验;以及加解压模块134,对迁出数据进行压缩,对迁入数据进行解压缩。以下,具体说明各模块的工作。
如图3和图4所示,迁入迁出加速器模块13接收迁移请求和配置信息。
在迁移请求是迁出请求的情况下,迁入迁出加速器模块13从由配置信息指定的待迁出数据的内存源地址读出待迁出数据(箭头3a)。加解密模块132根据由配置信息指定的加密算法对待迁出数据进行加密。完整性保护模块133根据由配置信息指定的完整性保护算法对待迁出数据计算完整性保护信息,并输出到由配置信息指定的待迁出数据的完整性保护信息的目标地址。加解压模块134对待迁出数据进行压缩而得到迁出压缩数据。迁入迁出加速器模块13将迁出压缩数据输出到由配置信息中的迁出数据的内存目标地址指定的地址(箭头3c)。
在迁移请求是迁入请求的情况下,迁入迁出加速器模块13从由配置信息中的待迁入数据的内存源地址读出待迁入数据。加解压模块134对待迁入数据进行解压缩。加解密模块132根据由配置信息指定的解密算法对解压缩后的数据进行解密。迁入迁出加速器模块13从由配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,完整性保护模块133根据由配置信息指定的完整性保护算法对待迁入数据计算完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对待迁入数据进行完整性校验,如果相等,则记为“完整性校验成功”,否则,记为“完整性校验失败”。如果结果为“完整性校验成功”,迁入迁出加速器模块13将解密后得到的数据写入到由配置信息中的迁入数据的内存目标地址指定的地址(箭头3c)。
加解密模块132在对虚拟机数据进行加解密时,可以采用DES算法、AES算法、PBE算法、DH算法、RSA算法等中任一种算法得到秘钥,但不限于这些方法,可以根据整个系统适当选择已知的算法。
完整性保护模块133在对虚拟机数据进行完整性校验时,可以采用奇偶校验、CRC校验、LRC校验、格雷码校验、校验和、异或校验等中任一种算法累积计算完整性保护信息并进行校验,但不限于这些方法,可以根据整个系统适当选择已知的校验方法。
需要说明的是,以上说明了迁入迁出加速器模块13具备完整性保护模块133的情况,但是,也可以不包括该完整性保护模块133,在此情况下,不影响迁入迁出加速器模块13的其它部分的功能的实现。即,加解密模块132和完整性保护模块133这两者可以一起作为数据保护处理单元而发挥作用,也可以是其中之一单独作为数据保护处理单元而发挥作用。
在本发明中,作为一个优选的实施例,加解密模块132具备用于进行加解密运算的专用的集成电路,完整性保护模块133具备用于累积计算完整性保护信息和比较完整性保护信息(完整性校验)的专用的集成电路。但是,加解密运算和完整性保护不限于仅由专用集成电路(硬件)来完成,也可是其中之一或者两者由软件来完成。
[虚拟机迁移的压缩保护方法]
以下,结合附图5、6的流程图具体说明利用本发明的上述的虚拟机迁移的压缩保护装置进行的虚拟机迁移的压缩保护方法的实施例。对虚拟机迁移数据的保护分为对迁入数据的保护压缩、和对迁出的保护压缩两部分。
首先,说明虚拟机迁出数据的保护压缩。图5中,作为一个实施例,示出了对虚拟机迁出数据进行加密保护和完整性保护的情况下的流程图。此外,也可以仅进行加密保护和完整性保护这两者中的一个,在此情况下,省略图5中的相应的步骤或者某个步骤中的一部分执行内容即可。如图5所示,本发明的虚拟机迁移的压缩保护方法在迁出数据时,执行以下的步骤:
请求发送步骤S501,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息。
在此,配置信息包括但不限于:
待迁出数据的内存源地址;
迁出数据的内存目标地址(用于存放待迁出数据);
待迁出数据的完整性信息的目标地址;
待迁出虚拟机的标签(VM ID);
迁入迁出方向的标识为:迁出;
用以标识加密算法的标识;
用以标识完整性保护算法的标识;
用以标识压缩算法的标识;
其它消息传递所必要信息(独立于本发明之外)。
判断步骤S502,安全子系统的安全处理器基于配置信息来判断迁移请求是迁入请求还是迁出请求,在本例中,判断为迁出请求。
启动步骤S503,安全子系统的安全处理器根据判断步骤中的判断结果来将配置信息写给迁入迁出加速器模块,启动迁入迁出加速器模块;以及
迁移步骤S504,从由配置信息指定的待迁出数据的内存源地址读出待迁出数据,根据由配置信息指定的加密算法对待迁出数据进行加密而得到加密后数据,根据由配置信息指定的完整性保护算法对待迁出数据计算完整性保护信息,并输出到由配置信息指定的待迁出数据的完整性保护信息的目标地址,对加密后数据进行压缩而得到压缩后数据,将压缩后数据输出到由配置信息中的迁出数据的内存目标地址指定的地址。
在此,读出待迁出数据时,根据SOC的架构、设置不同,可能包括原数据的解密过程(比如,安全虚拟机方式已经启用了针对ASID的页面数据加密)。这个解密过程,独立于本发明之外。另外,读出待迁出数据时,在包含DMA控制器的装置中,可以经由DMA控制器来进行,在不包含DMA控制器的装置中也可以不使用DMA控制器。
在加密过程中,按照一定方法得到或者计算出加密所使用的key(如何算出或者得到这个key,独立于本发明之外,比如,安全处理器直接配置,或者查表得到等)。使用得到的加密key,按照由配置信息中的用以标识加密算法的标识指定的加密算法,对读出的源数据进行加密。
在完整性保护信息计算中,按照由配置信息中的用以标识完整性保护算法的标识指定的完整性保护算法,对待迁出数据累积计算完整性保护信息。
在压缩过程中,按照由配置信息中的用以标识压缩算法的标识指定的压缩方法,对加密后数据进行压缩。可以是边加密、压缩边输出,也可以加密、压缩完成之后一起输出。
反馈步骤S505,迁入迁出加速器模块反馈“完成数据迁出”的信息给安全子系统的安全处理器,安全子系统的安全处理器反馈“完成数据迁出”的信息给虚拟机管理器。
下面,说明虚拟机迁入数据的保护压缩。图6中,作为一个实施例,示出了对虚拟机迁入数据进行解密和完整性校验的情况下的流程图。此外,也可以仅进行加密保护和完整性保护这两者中的一个,在此情况下,省略图6中的相应的步骤或者某个步骤中的一部分执行内容即可。如图6所示,本发明的虚拟机迁移的压缩保护方法在迁入数据时,执行以下的步骤:
请求发送步骤S601,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息。
在此,配置信息包括但不限于:
待迁入数据的目标内存地址;
待迁入数据的内存源地址(用于待迁入数据);
待迁入数据的完整性信息的源地址;
当前虚拟机的标签(VM ID);
迁入迁出方向的标识为:迁入;
用以标识解密算法的标识;
用以标识完整性保护算法的标识;
用以表示压缩算法的标识;
其它消息传递所必要信息(独立于本专利之外)。
判断步骤S602,安全子系统的安全处理器基于配置信息来判断迁移请求是迁入请求还是迁出请求,在本例中,判断为迁入请求。
启动步骤S603,安全子系统的安全处理器根据判断步骤中的判断结果来将配置信息写给迁入迁出加速器模块,启动迁入迁出加速器模块;以及
迁移步骤S604,从由配置信息指定的待迁入数据的内存源地址读出待迁入数据,根据由配置信息指定的压缩算法对待迁入数据进行解压缩得到解压后数据,根据由配置信息指定的解密算法对解压后数据进行解密得到解密后数据,根据由配置信息指定的完整性保护算法对解密后数据计算完整性保护信息,从由配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对待迁入数据进行完整性校验,如果完整性校验成功,则将解密后数据写入到由配置信息中的待迁入数据的目标内存地址指定的地址。
在此,读出待迁入数据时,在包含DMA控制器的装置中,可以经由DMA控制器来进行,在不包含DMA控制器的装置中也可以不使用DMA控制器。
在解密过程中,按照一定方法得到或者计算出解密所使用的key(如何算出或者得到这个key,独立于本发明之外,比如,安全处理器直接配置,或者查表得到等)。使用得到的加密key,按照由配置信息中的用以标识解密算法的标识指定的解密算法,对读出的待迁入数据进行解密。
在完整性保护信息计算中,按照由配置信息中的用以标识完整性保护算法的标识指定的完整性保护算法,对解密后数据累积计算完整性保护信息。对计算出的完整性保护信息和读取的完整性保护信息进行比较,如果相等,则记为“完整性校验成功”,否则,记为“完整性校验失败”。
反馈步骤S505,如果“完整性校验成功”,则迁入迁出加速器模块反馈“完成数据迁入”的信息给安全子系统的安全处理器,安全子系统的安全处理器反馈“完成数据迁入”的信息给虚拟机管理器。
上面以虚拟机迁移的压缩保护装置和方法为例介绍了本发明,但是包含上述安全子系统的SOC芯片,以及存储有用于计算机执行本发明的内存页面换入换出的保护方法的计算机可读取存储介质同样属于本发明的保护范围内。另外,与本发明的装置以及方法等同的技术方案当然也包括在本发明的保护范围内。
另外,以上以基于安全子系统来配置迁入迁出加速器模块的情况为例进行了说明,但是,迁入迁出加速器模块并不限于在安全子系统环境下使用,也可以在非安全子系统环境下使用。但是,在具备安全子系统的环境下,数据及指令的传送安全得以保证,不容易受到恶意程序的攻击。
以下,说明本发明的实施方式的迁入迁出加速器模块、虚拟机迁移的压缩保护方法的技术效果。
本发明的迁入迁出加速器模块13包括DMA控制器131,其能够直接对内存存取数据,与通过总线间接存取数据的方式相比,能够大幅提高的数据存取速度。
本发明的迁入迁出加速器模块13包括加解密模块132、完整性保护模块133和加解压模块134,三者都包括用于实现其功能的硬件电路,与通过调用软件程序执行加解密、完整性保护和加解压的方式相比,能够大幅提高运算速度,而且不占用CPU运算能力,减小了整个系统的负担。
本发明能对虚拟机迁移数据(包括迁入、迁出)做全面、高效保护,同时与现有的安全虚拟机技术、及SOC(System-On-Chip)架构有很好的兼容性。本发明适用于虚拟机数据高效的迁移及保护,使得虚拟机系统得到更高的运行效率、及更好的防攻击效果。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,用于从虚拟机管理器接收虚拟机迁移请求和配置信息,并在虚拟机数据进行迁移时进行数据压缩保护,
加解密模块,用于进行加密及解密的;以及
加解压模块,用于进行压缩和解压缩,
所述迁入迁出加速器模块接收迁移请求和配置信息,
在所述迁移请求是迁出请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,所述加解密模块根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,所述加解压模块对所述加密后数据进行压缩而得到压缩后数据,所述迁入迁出加速器模块将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
还具备完整性保护模块,
在所述迁移请求为迁出请求的情况下,所述完整性保护模块根据由所述配置信息指定的完整性保护算法对所述待迁出数据计算完整性保护信息,并输出到由所述配置信息指定的待迁出数据的完整性保护信息的目标地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,用于从虚拟机管理器接收虚拟机迁移请求和配置信息,并在虚拟机数据进行迁移时进行数据压缩保护,
加解密模块,用于进行加密及解密的;以及
加解压模块,用于进行压缩和解压缩,
所述迁入迁出加速器模块接收迁移请求和配置信息,
在所述迁移请求是迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,所述加解压模块对所述待迁入数据进行解压缩而得到解压缩后数据,所述加解密模块根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,所述迁入迁出加速器模块将所述解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
还具备完整性保护模块,
在所述迁移请求为迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,所述完整性保护模块根据由所述配置信息指定的完整性保护算法对所述解密后数据计算完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对所述待迁入数据进行完整性校验。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
所述加解密模块由专用电路构成。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
所述加解压模块由专用电路构成。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
所述完整性保护模块由专用电路构成。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移用的迁入迁出加速器模块,
还具备DMA控制器,用于从内存读取数据和向内存写入数据。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移的压缩保护方法,
包括以下步骤:
请求发送步骤,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给迁入迁出加速器模块,启动所述迁入迁出加速器模块;以及
迁移步骤,在判断为所述迁移请求是迁出请求的情况下,从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,并进行压缩而得到压缩后数据,将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移的压缩保护方法,
在所述迁移步骤中,所述迁入迁出加速器模块根据由所述配置信息指定的完整性保护算法对所述待迁出数据计算完整性保护信息,并输出到由所述配置信息指定的待迁出数据的完整性保护信息的目标地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移的压缩保护方法,
包括以下步骤:
请求发送步骤,虚拟机管理器向安全子系统的安全处理器发送虚拟机数据的迁移请求,并提供配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给迁入迁出加速器模块,启动所述迁入迁出加速器模块;以及
迁移步骤,在判断为所述迁移请求是迁入请求的情况下,从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,对所述待迁入数据进行解压缩而得到解压缩后数据,根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,将解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址。
根据本发明的一个或多个实施例,提供了一种虚拟机迁移的压缩保护方法,
在所述迁移步骤中,所述迁入迁出加速器模块从由所述配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,根据由所述配置信息指定的完整性保护算法对所述解密后数据计算完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对所述待迁入数据进行完整性校验。
根据本发明的一个或多个实施例,提供了一种SOC芯片,包括安全子系统,所述安全子系统包括安全处理器和所述的虚拟机迁移用的迁入迁出加速器模块。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本发明的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。

Claims (11)

1.一种虚拟机迁移的压缩保护方法,其特征在于,
包括借助具有安全处理器和迁入迁出加速器模块的安全子系统完成的以下步骤:
请求接收步骤,安全子系统的安全处理器从虚拟机管理器接收虚拟机数据的迁移请求和配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给所述迁入迁出加速器模块,启动所述迁入迁出加速器模块;
迁移步骤,在判断为所述迁移请求是迁出请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,并进行压缩而得到压缩后数据,将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址;以及
反馈步骤,所述迁入迁出加速器模块反馈“完成数据迁出”的信息给所述安全子系统的安全处理器,所述安全子系统的安全处理器反馈“完成数据迁出”的信息给所述虚拟机管理器。
2.根据权利要求1所述的虚拟机迁移的压缩保护方法,其特征在于,
在所述迁移步骤中,所述迁入迁出加速器模块根据由所述配置信息指定的完整性保护算法对所述待迁出数据计算完整性保护信息,并输出到由所述配置信息指定的待迁出数据的完整性保护信息的目标地址。
3.一种虚拟机迁移的压缩保护方法,其特征在于,
包括借助具有安全处理器和迁入迁出加速器模块的安全子系统完成的以下步骤:
请求接收步骤,安全子系统的安全处理器从虚拟机管理器接收虚拟机数据的迁移请求和配置信息;
判断步骤,所述安全子系统的安全处理器基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求;
启动步骤,所述安全子系统的安全处理器根据所述判断步骤中的判断结果来将所述配置信息写给迁入迁出加速器模块,启动所述迁入迁出加速器模块;
迁移步骤,在判断为所述迁移请求是迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,对所述待迁入数据进行解压缩而得到解压缩后数据,根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,将解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址;以及
反馈步骤,所述迁入迁出加速器模块反馈“完成数据迁入”的信息给所述安全子系统的安全处理器,所述安全子系统的安全处理器反馈“完成数据迁入”的信息给所述虚拟机管理器。
4.根据权利要求3所述的虚拟机迁移的压缩保护方法,其特征在于,
在所述迁移步骤中,所述迁入迁出加速器模块从由所述配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,根据由所述配置信息指定的完整性保护算法对所述解密后数据计算完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对所述待迁入数据进行完整性校验。
5.一种SOC芯片,包括安全子系统,所述安全子系统包括安全处理器和虚拟机迁移用的迁入迁出加速器模块,其特征在于,
加解密模块,用于进行加密及解密的;以及
加解压模块,用于进行压缩和解压缩,
所述安全子系统的安全处理器从虚拟机管理器接收虚拟机数据的迁移请求和配置信息,基于所述配置信息来判断所述迁移请求是迁入请求还是迁出请求,根据判断结果来将所述配置信息写给所述迁入迁出加速器模块,启动所述迁入迁出加速器模块,
在所述迁移请求是迁出请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁出数据的内存源地址读出待迁出数据,所述加解密模块根据由所述配置信息指定的加密算法对所述待迁出数据进行加密而得到加密后数据,所述加解压模块对所述加密后数据进行压缩而得到压缩后数据,所述迁入迁出加速器模块将所述压缩后数据输出到由所述配置信息中的迁出数据的内存目标地址指定的地址,
所述迁入迁出加速器模块反馈“完成数据迁出”的信息给所述安全子系统的安全处理器,所述安全子系统的安全处理器反馈“完成数据迁出”的信息给所述虚拟机管理器。
6.根据权利要求5所述的SOC芯片,其特征在于,
在所述迁移请求是迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息中的待迁入数据的内存源地址读出待迁入数据,所述加解压模块对所述待迁入数据进行解压缩而得到解压缩后数据,所述加解密模块根据由所述配置信息指定的解密算法对所述解压缩后数据进行解密而得到解密后数据,所述迁入迁出加速器模块将所述解密后数据写入到由所述配置信息中的迁入数据的内存目标地址指定的地址,
所述迁入迁出加速器模块反馈“完成数据迁入”的信息给所述安全子系统的安全处理器,所述安全子系统的安全处理器反馈“完成数据迁入”的信息给所述虚拟机管理器。
7.根据权利要求5或6所述的SOC芯片,其特征在于,
还具备完整性保护模块,
在所述迁移请求为迁出请求的情况下,所述完整性保护模块根据由所述配置信息指定的完整性保护算法对所述待迁出数据计算完整性保护信息,并输出到由所述配置信息指定的待迁出数据的完整性保护信息的目标地址,
在所述迁移请求为迁入请求的情况下,所述迁入迁出加速器模块从由所述配置信息指定的待迁入数据的完整性保护信息的源地址读入待迁入数据的完整性保护信息,所述完整性保护模块根据由所述配置信息指定的完整性保护算法对解密后数据计算完整性保护信息,对读入的完整性保护信息和计算出的完整性保护信息进行比较,从而对所述待迁入数据进行完整性校验。
8.根据权利要求5或6所述的SOC芯片,其特征在于,
所述加解密模块由专用电路构成。
9.根据权利要求5或6所述的SOC芯片,其特征在于,
所述加解压模块由专用电路构成。
10.根据权利要求7所述的SOC芯片,其特征在于,
所述完整性保护模块由专用电路构成。
11.根据权利要求5或6所述的SOC芯片,其特征在于,
还具备DMA控制器,用于从内存读取数据和向内存写入数据。
CN202011457891.5A 2020-12-10 2020-12-10 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片 Active CN112579255B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011457891.5A CN112579255B (zh) 2020-12-10 2020-12-10 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011457891.5A CN112579255B (zh) 2020-12-10 2020-12-10 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片

Publications (2)

Publication Number Publication Date
CN112579255A CN112579255A (zh) 2021-03-30
CN112579255B true CN112579255B (zh) 2023-03-24

Family

ID=75132138

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011457891.5A Active CN112579255B (zh) 2020-12-10 2020-12-10 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片

Country Status (1)

Country Link
CN (1) CN112579255B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455942A (zh) * 2010-12-02 2012-05-16 中标软件有限公司 一种广域网虚拟机动态迁移方法及系统
WO2015081766A1 (zh) * 2013-12-04 2015-06-11 蓝盾信息安全技术有限公司 一种基于sdn的虚拟机安全策略迁移的系统及方法
CN111124599A (zh) * 2019-11-08 2020-05-08 海光信息技术有限公司 虚拟机内存数据迁移方法、装置、电子设备及存储介质
CN111949372A (zh) * 2020-08-17 2020-11-17 海光信息技术有限公司 一种虚拟机迁移方法、通用处理器及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455942A (zh) * 2010-12-02 2012-05-16 中标软件有限公司 一种广域网虚拟机动态迁移方法及系统
WO2015081766A1 (zh) * 2013-12-04 2015-06-11 蓝盾信息安全技术有限公司 一种基于sdn的虚拟机安全策略迁移的系统及方法
CN111124599A (zh) * 2019-11-08 2020-05-08 海光信息技术有限公司 虚拟机内存数据迁移方法、装置、电子设备及存储介质
CN111949372A (zh) * 2020-08-17 2020-11-17 海光信息技术有限公司 一种虚拟机迁移方法、通用处理器及电子设备

Also Published As

Publication number Publication date
CN112579255A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
CN107077428B (zh) 保护应用秘密的方法、电子系统和计算机存储介质
US9703723B2 (en) Method and apparatus for performing mapping within a data processing system having virtual machines
US10810138B2 (en) Enhanced storage encryption with total memory encryption (TME) and multi-key total memory encryption (MKTME)
US20100153749A1 (en) Device-access control program, device-access control process, and information processing apparatus for controlling access to device
CN106610863B (zh) 虚拟机可信迁移方法及装置
JP2016517241A (ja) ストレージデバイスによって支援されるインライン暗号化および暗号化解除
CN103988467A (zh) 确保软件加密技术安全的加密系统和方法
CN104160407A (zh) 利用存储控制器总线接口以确保存储设备和主机之间的数据传输安全
US9256756B2 (en) Method of encryption and decryption for shared library in open operating system
US11086986B2 (en) Processing control apparatus, processing control method, and non-transitory recoding medium
CN111967065B (zh) 一种数据保护方法、处理器及电子设备
CN114936373A (zh) 一种可信安全芯片、可信数据处理系统及方法
CN111949372B (zh) 一种虚拟机迁移方法、通用处理器及电子设备
EP4332810A1 (en) Method for realizing virtualized trusted platform module, and secure processor and storage medium
CN114296873B (zh) 一种虚拟机镜像保护方法、相关器件、芯片及电子设备
CN114238185A (zh) 直接存储访问及命令数据传输方法、装置及相关设备
US8972745B2 (en) Secure data handling in a computer system
CN104639313B (zh) 一种密码算法的检测方法
CN113342473A (zh) 数据处理方法、安全虚拟机的迁移方法及相关装置、架构
CN112579255B (zh) 虚拟机迁移的压缩保护方法、迁入迁出加速器模块和soc芯片
CN114077739A (zh) 快速外设组件互联设备启动方法、装置以及存储介质
CN112749383A (zh) 软件认证方法和相关产品
CN116204211A (zh) 一种信息处理方法、装置、设备和计算机可读存储介质
CN112363801B (zh) 虚拟机迁移方法、处理方法、系统、装置、芯片及介质
WO2016068996A1 (en) Security record transfer in a computing system

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