CN109388474A - 一种Qemu虚拟可信根数据完整性的检测方法及系统 - Google Patents
一种Qemu虚拟可信根数据完整性的检测方法及系统 Download PDFInfo
- Publication number
- CN109388474A CN109388474A CN201811119609.5A CN201811119609A CN109388474A CN 109388474 A CN109388474 A CN 109388474A CN 201811119609 A CN201811119609 A CN 201811119609A CN 109388474 A CN109388474 A CN 109388474A
- Authority
- CN
- China
- Prior art keywords
- data
- virtual credible
- credible root
- root
- integrity
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
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
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- 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/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了一种Qemu虚拟可信根数据完整性的检测方法及系统,该方法包括:根据虚拟可信根状态数据生成完整性数据;将虚拟可信根状态数据和完整性数据写入磁盘文件中;读取磁盘文件并将其内容加载至虚拟可信根内存中;计算虚拟可信根内存中数据的摘要值;判断虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;如果是,判定Qemu虚拟可信根数据完整;虚拟可信根将内存中的数据映射至内存数据结构中。该系统包括完整性数据生成模块、磁盘文件初始化模块、虚拟可信根初始化模块、完整性验证模块和映射模块。通过本申请的方法和系统,能够使Qemu在初始化虚拟可信根阶段及时发现数据完整性问题,防止数据崩溃,有利于提高数据的安全性和稳定性。
Description
技术领域
本申请涉及虚拟化信息安全技术领域,特别是涉及一种Qemu虚拟可信根数据完整性的检测方法及系统。
背景技术
信息安全是云计算应用与发展中的重要内容,云计算中的信息安全主要是指:云数据中心基础设施的安全性,云数据中心虚拟机租户数据及信息的完整性,云服务提供商与云服务租户之间的信任等。可信计算作为一种从硬件平台出发、从体系结构入手,解决计算平台信息安全的安全技术,已成为提升云数据中心基础设施安全及租户信任问题的关键技术手段。可信计算中比较常见的是基于Qemu的虚拟机可信根技术,主要是利用Qemu中的QOM机制模拟可信根功能。因此,如何在利用Qemu中的QOM机制模拟可信根功能时,提高数据的安全性,是个重要问题。
目前,Qemu中虚拟可信根数据由虚拟可信根产生,然后通过Qemu的BlockDrive机制写入磁盘文件中,每次启动Qemu读取数据至内存中,由虚拟可信根解析析该内容,并将其映射至虚拟可信根运行时的状态数据中。
然而,由于目前的Qemu中并不对虚拟可信根数据完整性进行校验,如果数据一旦被破坏,加载数据时即会产生异常,甚至导致Qemu直接崩溃。因此,目前的Qemu中数据安全性和稳定性不够高。
发明内容
本申请提供了一种Qemu虚拟可信根数据完整性的检测方法及系统,以解决目前的Qemu中数据安全性和稳定性不够高的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种检测Qemu虚拟可信根数据完整性的方法,所述方法包括:
根据虚拟可信根状态数据生成完整性数据;
将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中;
读取所述磁盘文件并将其内容加载至虚拟可信根的内存中;
计算虚拟可信根内存中数据的摘要值;
判断所述虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;
如果是,判定Qemu虚拟可信根数据完整;
虚拟可信根将内存中的数据映射至内存数据结构中。
可选地,所述方法还包括:
当所述虚拟可信根内存中数据的摘要值与完整性数据不完全一致时,判定Qemu虚拟可信根数据不完整;
Qemu中断虚拟可信根初始化,并返回完整性异常的信息。
可选地,所述根据虚拟可信根状态数据生成完整性数据,包括:
虚拟可信根生成虚拟可信根状态数据;
虚拟可信根通过回调机制调用Qemu的数据保存过程;
Qemu的数据保存过程中,利用Hash算法计算获取到的所述虚拟可信根状态数据的摘要值;
以所述虚拟可信根状态数据的摘要值作为完整性数据。
可选地,所述完整性数据为Hash值。
可选地,所述虚拟可信根将内存中的数据映射至内存数据结构中之后,所述方法还包括:
虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中。
可选地,所述虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中,包括:
虚拟可信根加载当前的虚拟可信根状态数据;
虚拟可信根通过回调机制调用Qemu的数据保存过程;
Qemu的数据保存过程中,利用Hash算法计算当前的虚拟可信根状态数据的摘要值;
将所述当前的虚拟可信根状态数据的摘要值添加至所述当前的虚拟可信根状态数据中;
Qemu调用BlockDrive中的bdrv_write,将所述当前的虚拟可信根状态数据和当前的虚拟可信根状态数据的摘要值写入虚拟可信根磁盘文件中。
一种检测Qemu虚拟可信根数据完整性的系统,所述系统包括:
完整性数据生成模块,用于根据虚拟可信根状态数据生成完整性数据;
磁盘文件初始化模块,用于将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中;
虚拟可信根初始化模块,用于读取所述磁盘文件并将其内容加载至虚拟可信根的内存中;
完整性验证模块,用于计算虚拟可信根内存中数据的摘要值,并判断所述虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;
映射模块,用于当所述完整性验证模块判定Qemu虚拟可信根数据完整时,将内存中的数据映射至内存数据结构中。
可选地,所述系统还包括:信息返回模块,用于当所述完整性验证模块判定Qemu虚拟可信根数据不完整时,返回完整性异常的信息。
可选地,所述完整性数据生成模块包括:
状态数据生成单元,用于通过虚拟可信根生成虚拟可信根状态数据;
数据保存调用单元,用于通过虚拟可信根利用回调机制调用Qemu的数据保存过程;
摘要值计算单元,用于在Qemu的数据保存过程中,利用Hash算法计算获取到的所述虚拟可信根状态数据的摘要值。
可选地,所述系统还包括同步模块,所述同步模块用于在虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,将内存中的当前数据同步至虚拟可信根的磁盘文件中。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种检测Qemu虚拟可信根数据完整性的方法,该方法首先根据虚拟可信根状态数据生成完整性数据,然后将完整性数据添加至虚拟可信根状态数据中,将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中,完成磁盘文件初始化。其次,读取磁盘文件并其内容加载至虚拟可信根的内存中,执行虚拟可信根初始化,且在虚拟可信根初始化过程中计算虚拟可信根内存中数据的摘要值,判断虚拟可信根内存中数据的摘要值与完整性数据是否完全一致,如果是,判定Qemu虚拟可信根数据完整;当判定数据完整时,虚拟可信根将内存中的数据映射至内存数据结构中,完成虚拟可信根初始化。该方法贯穿于虚拟可信根磁盘文件初始化阶段和虚拟可信根初始化阶段,通过生成完整性数据,将该完整性数据添加到可信根状态数据中并同步至磁盘文件,为完整性验证提供依据,通过比对虚拟可信根内存中数据的摘要值与完整性数据的一致性,实现虚拟可信根的完整性验证。通过本申请的方法,能够在虚拟可信根的初始化阶段验证数据的完整性,每次Qemu启动读取虚拟可信根磁盘数据时,首先判断虚拟可信根数据完整性是否遭受破坏,一旦检测到完整性被破坏,便终止Qemu启动过程,并返回数据完整性被破坏的提示信息,帮助用户定位异常。当虚拟可信根数据遭到篡改时,能够保证Qemu在初始化虚拟可信根阶段及时发现并提示用户,防止后续过程紊乱甚至数据崩溃,有利于提高数据的安全性和稳定性。
本申请中的方法还包括虚拟可信根运行期间,当数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中。在数据运行阶段,虚拟机上传应用改变数据中的值时,能够及时将改变后的数值写入磁盘文件中,有利于进一步提高数据完整性验证的准确性,从而进一步提高数据的额安全性和稳定性。
本申请还提供一种检测Qemu虚拟可信根数据完整性的系统,该系统包括完整性数据生成模块、磁盘文件初始化模块、虚拟可信根初始化模块、完整性验证模块和映射模块。在磁盘文件初始化阶段,通过完整性数据生成模块生成完整性数据,并通过磁盘文件初始化模块将虚拟可信根状态数据和完整性数据写入磁盘文件中;在虚拟可信根初始化阶段,通过虚拟可信根初始化模块读取磁盘文件并将磁盘文件中的内容加载至虚拟可信根的内存中,再通过完整性验证模块计算虚拟可信根内存中数据的摘要值,并判断所述虚拟可信根内存中数据的摘要值与完整性数据是否完全一致,当两者完全一致时,通过映射模块将内存中的数据映射至内存数据结构中。通过本申请中的系统,能够在虚拟可信根的初始化阶段验证数据的完整性,每次Qemu启动读取虚拟可信根磁盘数据时,通过完整性验证模块判断虚拟可信根数据完整性是否遭受破坏,一旦检测到完整性被破坏,便终止Qemu启动过程,并返回数据完整性被破坏的提示信息,帮助用户定位异常。当虚拟可信根数据遭到篡改时,能够保证Qemu在初始化虚拟可信根阶段及时发现并提示用户,防止后续过程紊乱甚至数据崩溃,有利于提高数据的安全性和稳定性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种检测Qemu虚拟可信根数据完整性的方法的流程示意图;
图2为本申请实施例所提供的另一种检测Qemu虚拟可信根数据完整性的方法的流程示意图;
图3为本申请实施例所提供的一种检测Qemu虚拟可信根数据完整性的系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种检测Qemu虚拟可信根数据完整性的方法的流程示意图。由图1可知,本实施例中检测Qemu虚拟可信根数据完整性的方法主要包括如下过程:
S01:根据虚拟可信根状态数据生成完整性数据。
为实现虚拟可信根数据完整性验证,本实施例在虚拟可信根磁盘文件初始化阶段,首先生成完整性数据。具体地,步骤S1包括如下过程:
S011:虚拟可信根生成虚拟可信根状态数据。
虚拟可信根磁盘文件初始化阶段也即:数据初始化阶段,此时虚拟可信根的数据为空,需要先生成默认的有效数据,即虚拟可信根状态数据,以供虚拟可信根加载使用,然后再写入磁盘文件中。
本实施例中,虚拟可信根按照初始模块生成状态数据。对于一些唯一性的数据,虚拟可信根调用密码学算法生成相应的值,并将该相应的值填充至状态数据结构中。
S012:虚拟可信根通过回调机制调用Qemu的数据保存过程。
虚拟可信根通过回调机制调用Qemu的数据保存过程,将数据的存储操作权限交给Qemu。
S013:Qemu的数据保存过程中,利用Hash算法计算获取到的虚拟可信根状态数据的摘要值。
S014:以虚拟可信根状态数据的摘要值作为完整性数据。
生成完整性数据后,执行步骤S2:将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中。
具体地,步骤S02包括:
S021:将完整性数据添加至虚拟可信根状态数据中,获取待保存信息。
本实施例中利用Hash算法计算虚拟可信根状态数据的摘要值,该摘要值即完整性数据,完整性数据为Hash值。
将完整性数据添加至虚拟可信根状态数据中的方法:可以将完整性数据添加至虚拟可信根状态数据的头部,只要将两份数据连接即可。如:先将完整性数据存储至文件中,然后再将虚拟可信根状态数据追加到完整性数据的后面,具体数据连接连接的方式,只要能够确保加载数据时可以将这两份数据区别开来即可。
S022:调用BlockDrive中的bdrv_write,将待保存信息写入虚拟可信根磁盘文件中。
通过以上步骤S021和S022,将完整性数据追加到虚拟可信根状态数据中,并将完整性数据和虚拟可信根数据一起写入虚拟可信根磁盘文件中,以便于后续进行数据完整性验证。
S03:读取磁盘文件并将其内容加载至虚拟可信根的内存中。
磁盘文件初始化完毕后,进入虚拟可信根初始化阶段,即:读取磁盘文件并将其内容加载至虚拟可信根的内存中。
S04:计算虚拟可信根内存中数据的摘要值。
S05:判断虚拟可信根内存中数据的摘要值与完整性数据是否完全一致。
S06:如果是,判定Qemu虚拟可信根数据完整。
通过以上步骤S04-S06,在虚拟可信根初始化阶段,实现数据完整性验证。将磁盘文件的内容加载到虚拟可信根内存中后,首先获取虚拟可信根内存中数据的摘要值,通过比对内存中数据的摘要值和磁盘文件初始化过程中完整性数据是否一致,来进行虚拟可信根数据完整性验证。当虚拟可信根内存中数据的摘要值与完整性数据一致时,判定虚拟可信根初始化合格,虚拟可信根初始化合格就说明Qemu虚拟可信根数据完整。
当虚拟可信根初始化合格后,执行步骤S09:虚拟可信根将内存中的数据映射至内存数据结构中。虚拟可信根即可正常运行了。
进一步地,本实施例中的方法还包括:
S07:当虚拟可信根内存中数据的摘要值与完整性数据不完全一致时,判定Qemu虚拟可信根数据不完整。
当虚拟可信根内存中数据的摘要值与完整性数据不完全一致时,判定虚拟可信根初始化不合格,虚拟可信根初始化不合格即说明Qemu虚拟可信根数据不完整。
S08:Qemu中断虚拟可信根初始化,并返回完整性异常的信息。
综上所述,本实施例在磁盘初始化过程中生成完整性信息;在虚拟可信根初始化过程中,根据完整性信息进行完整性校验。每次Qemu启动读取虚拟可信根磁盘数据时,首先通过比对虚拟可信根内存中数据的摘要值与完整性数据,判断虚拟可信根数据是否完整,当检测到数据完整性被破坏时,便通过中断虚拟可信根初始化,中断Qemu的启动过程,并返回相关提示信息,以便帮助用户定位异常状况。因此,本实施例中的方法能够保证Qemu在初始化虚拟可信根阶段及时发现并提示用户,防止后续过程紊乱甚至数据崩溃,有利于及时发现数据完整性问题,提高数据的安全性和稳定性。
实施例二
在图1所示实施例的基础之上参见图2,图2为本申请实施例所提供的另一种检测Qemu虚拟可信根数据完整性的方法的流程示意图。
由图2可知,在步骤S09:虚拟可信根将内存中的数据映射至内存数据结构中之后,还包括如下过程:
S10:虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中。
在虚拟可信根运行阶段,虚拟机上层使用虚拟可信根时,虚拟可信根接收到指令后执行指令,指令执行完毕会引起虚拟可信根内存中的数据发生变化,一旦触发虚拟可信根内存中的数据值发生改变,即执行步骤S10。将虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中,从而实现对虚拟可信根磁盘文件中数据的更新,虚拟可信根根据该更新后的磁盘文件内容生成新的完整性数据,有利于提高数据完整性验证的准确性,从而进一步提高数据的安全性和稳定性。
具体地,步骤S11包括如下过程:
S101:虚拟可信根加载当前的虚拟可信根状态数据。
S102:虚拟可信根通过回调机制调用Qemu的数据保存过程。
S103:Qemu的数据保存过程中,利用Hash算法计算当前的虚拟可信根状态数据的摘要值。
S104:将当前的虚拟可信根状态数据的摘要值添加至当前的虚拟可信根状态数据中。
S105:Qemu调用BlockDrive中的bdrv_write,将当前的虚拟可信根状态数据和当前的虚拟可信根状态数据的摘要值写入虚拟可信根磁盘文件中。
虚拟可信根调用Qemu BlockDrive中的bdrv_write接口,将当前的虚拟可信根状态数据和当前的虚拟可信根状态数据的摘要值写入磁盘文件中。
本实施例的步骤S01和S02中,将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中的过程,在虚拟可信根磁盘文件初始化阶段进行,此时磁盘文件中数据为空,需要先生成数据,属于数据初始化过程,在本实施例中数据初始化的这个过程只执行一次;而步骤S101-S105中,将虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中的过程,是在虚拟可信根运行阶段执行,此时的数据为加载的步骤S02中磁盘文件中的数据,只要检测到内存中数据发生变化,立刻执行步骤S10,将改变后的数值写入磁盘文件中进行保存。
该实施例未详细描述的部分,可以参照图1所示的实施例一,两个实施例之间可以互相参考,在此不再赘述。
实施例三
在图1和图2所示实施例的基础之上参见图3,图3为本申请实施例所提供的一种检测Qemu虚拟可信根数据完整性的系统的结构示意图。
由图3可知,本实施例的系统中主要包括:完整性数据生成模块、磁盘文件初始化模块、虚拟可信根初始化模块、完整性验证模块和映射模块五个部分。其中,完整性数据生成模块用于根据虚拟可信根状态数据生成完整性数据;磁盘文件初始化模块用于将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中;虚拟可信根初始化模块用于读取磁盘文件并将其内容加载至虚拟可信根的内存中;完整性验证模块用于计算虚拟可信根内存中数据的摘要值,并判断虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;映射模块用于当完整性验证模块判定Qemu虚拟可信根数据完整时,将内存中的数据映射至内存数据结构中。
进一步地,完整性数据生成模块包括:状态数据生成单元、数据保存调用单元和摘要值计算单元。其中,状态数据生成单元用于通过虚拟可信根生成虚拟可信根状态数据;数据保存调用单元用于通过虚拟可信根利用回调机制调用Qemu的数据保存过程;摘要值计算单元用于在Qemu的数据保存过程中,利用Hash算法计算获取到的所述虚拟可信根状态数据的摘要值。
本实施例的系统还包括信息返回模块,所述信息返回模块用于当完整性验证模块判定Qemu虚拟可信根数据不完整时,返回完整性异常的信息。信息返回模块的设置,能够及时发送完整性异常信息,以帮助用户定位故障,有利于提高数据完整性检测效率。
在磁盘文件初始化阶段,通过完整性数据生成模块生成完整性数据,并通过磁盘文件初始化模块将虚拟可信根状态数据和完整性数据写入磁盘文件中;在虚拟可信根初始化阶段,通过虚拟可信根初始化模块读取磁盘文件并将磁盘文件中的内容加载至虚拟可信根的内存中,再通过完整性验证模块计算虚拟可信根内存中数据的摘要值,并判断虚拟可信根内存中数据的摘要值与完整性数据是否完全一致,当两者完全一致时,通过映射模块将内存中的数据映射至内存数据结构中。通过本申请中的系统,能够在虚拟可信根的初始化阶段验证数据的完整性,每次Qemu启动读取虚拟可信根磁盘数据时,通过完整性验证模块判断虚拟可信根数据完整性是否遭受破坏,一旦检测到完整性被破坏,便终止Qemu启动过程,并返回数据完整性被破坏的提示信息,帮助用户定位异常。当虚拟可信根数据遭到篡改时,能够保证Qemu在初始化虚拟可信根阶段及时发现并提示用户,防止后续过程紊乱甚至数据崩溃,有利于提高数据的安全性和稳定性。
进一步地,本实施例的系统中还包括有同步模块。同步模块用于在虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,将内存中的当前数据同步至虚拟可信根的磁盘文件中。
在虚拟可信根运行阶段,虚拟机上层使用虚拟可信根时,通常会改变虚拟可信根内存中的数据,一旦虚拟可信根内存中的数据值发生改变,立即触发同步模块,同步模块将虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中,从而实现对虚拟可信根磁盘文件中数据的更新,虚拟可信根根据该更新后的磁盘文件内容生成新的完整性数据,有利于提高数据完整性验证的准确性,从而进一步提高数据的安全性和稳定性。
本实施例中检测Qemu虚拟可信根数据完整性的系统的工作原理和工作方法,在图1和图2所示的实施例中已经详细阐述,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述方法包括:
根据虚拟可信根状态数据生成完整性数据;
将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中;
读取所述磁盘文件并将其内容加载至虚拟可信根的内存中;
计算虚拟可信根内存中数据的摘要值;
判断所述虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;
如果是,判定Qemu虚拟可信根数据完整;
虚拟可信根将内存中的数据映射至内存数据结构中。
2.根据权利要求1所述的一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述方法还包括:
当所述虚拟可信根内存中数据的摘要值与完整性数据不完全一致时,判定Qemu虚拟可信根数据不完整;
Qemu中断虚拟可信根初始化,并返回完整性异常的信息。
3.根据权利要求1所述的一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述根据虚拟可信根状态数据生成完整性数据,包括:
虚拟可信根生成虚拟可信根状态数据;
虚拟可信根通过回调机制调用Qemu的数据保存过程;
Qemu的数据保存过程中,利用Hash算法计算获取到的所述虚拟可信根状态数据的摘要值;
以所述虚拟可信根状态数据的摘要值作为完整性数据。
4.根据权利要求1所述的一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述完整性数据为Hash值。
5.根据权利要求1-4中任一所述的一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述虚拟可信根将内存中的数据映射至内存数据结构中之后,所述方法还包括:
虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中。
6.根据权利要求5所述的一种检测Qemu虚拟可信根数据完整性的方法,其特征在于,所述虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,虚拟可信根将内存中的当前数据同步至虚拟可信根的磁盘文件中,包括:
虚拟可信根加载当前的虚拟可信根状态数据;
虚拟可信根通过回调机制调用Qemu的数据保存过程;
Qemu的数据保存过程中,利用Hash算法计算当前的虚拟可信根状态数据的摘要值;
将所述当前的虚拟可信根状态数据的摘要值添加至所述当前的虚拟可信根状态数据中;
Qemu调用BlockDrive中的bdrv_write,将所述当前的虚拟可信根状态数据和当前的虚拟可信根状态数据的摘要值写入虚拟可信根磁盘文件中。
7.一种检测Qemu虚拟可信根数据完整性的系统,其特征在于,所述系统包括:
完整性数据生成模块,用于根据虚拟可信根状态数据生成完整性数据;
磁盘文件初始化模块,用于将虚拟可信根状态数据和完整性数据写入虚拟可信根的磁盘文件中;
虚拟可信根初始化模块,用于读取所述磁盘文件并将其内容加载至虚拟可信根的内存中;
完整性验证模块,用于计算虚拟可信根内存中数据的摘要值,并判断所述虚拟可信根内存中数据的摘要值与完整性数据是否完全一致;
映射模块,用于当所述完整性验证模块判定Qemu虚拟可信根数据完整时,将内存中的数据映射至内存数据结构中。
8.根据权利要求7所述的一种检测Qemu虚拟可信根数据完整性的系统,其特征在于,所述系统还包括:信息返回模块,用于当所述完整性验证模块判定Qemu虚拟可信根数据不完整时,返回完整性异常的信息。
9.根据权利要求7所述的一种检测Qemu虚拟可信根数据完整性的系统,其特征在于,所述完整性数据生成模块包括:
状态数据生成单元,用于通过虚拟可信根生成虚拟可信根状态数据;
数据保存调用单元,用于通过虚拟可信根利用回调机制调用Qemu的数据保存过程;
摘要值计算单元,用于在Qemu的数据保存过程中,利用Hash算法计算获取到的所述虚拟可信根状态数据的摘要值。
10.根据权利要求7-9中任一所述的一种检测Qemu虚拟可信根数据完整性的系统,其特征在于,所述系统还包括同步模块,所述同步模块用于在虚拟可信根运行期间,当虚拟可信根内存中的数据发生变化时,将内存中的当前数据同步至虚拟可信根的磁盘文件中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811119609.5A CN109388474A (zh) | 2018-09-25 | 2018-09-25 | 一种Qemu虚拟可信根数据完整性的检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811119609.5A CN109388474A (zh) | 2018-09-25 | 2018-09-25 | 一种Qemu虚拟可信根数据完整性的检测方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109388474A true CN109388474A (zh) | 2019-02-26 |
Family
ID=65418238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811119609.5A Pending CN109388474A (zh) | 2018-09-25 | 2018-09-25 | 一种Qemu虚拟可信根数据完整性的检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388474A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110601846A (zh) * | 2019-08-30 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种校验虚拟可信根的系统及方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888251A (zh) * | 2014-04-11 | 2014-06-25 | 北京工业大学 | 一种云环境中虚拟机可信保障的方法 |
CN105354493A (zh) * | 2015-10-22 | 2016-02-24 | 中国人民解放军装备学院 | 基于虚拟化技术的终端可信增强方法及系统 |
CN106293535A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种nas的性能优化方法及装置 |
CN106775716A (zh) * | 2016-12-15 | 2017-05-31 | 中国科学院沈阳自动化研究所 | 一种基于度量机制的可信plc启动方法 |
CN106874785A (zh) * | 2017-01-13 | 2017-06-20 | 北京元心科技有限公司 | 多操作系统的系统文件访问方法及装置 |
US20180113610A1 (en) * | 2014-05-12 | 2018-04-26 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
CN108170567A (zh) * | 2017-12-25 | 2018-06-15 | 北京航空航天大学 | 基于写时复制特性的虚拟机中存储区域完整性检测方法 |
-
2018
- 2018-09-25 CN CN201811119609.5A patent/CN109388474A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103888251A (zh) * | 2014-04-11 | 2014-06-25 | 北京工业大学 | 一种云环境中虚拟机可信保障的方法 |
US20180113610A1 (en) * | 2014-05-12 | 2018-04-26 | The Research Foundation For The State University Of New York | Gang migration of virtual machines using cluster-wide deduplication |
CN105354493A (zh) * | 2015-10-22 | 2016-02-24 | 中国人民解放军装备学院 | 基于虚拟化技术的终端可信增强方法及系统 |
CN106293535A (zh) * | 2016-08-12 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种nas的性能优化方法及装置 |
CN106775716A (zh) * | 2016-12-15 | 2017-05-31 | 中国科学院沈阳自动化研究所 | 一种基于度量机制的可信plc启动方法 |
CN106874785A (zh) * | 2017-01-13 | 2017-06-20 | 北京元心科技有限公司 | 多操作系统的系统文件访问方法及装置 |
CN108170567A (zh) * | 2017-12-25 | 2018-06-15 | 北京航空航天大学 | 基于写时复制特性的虚拟机中存储区域完整性检测方法 |
Non-Patent Citations (2)
Title |
---|
OIKAWA S: "Non-volatile main memory management methods based on a file system", 《SPRINGERPLUS》 * |
李海威,范博,李文锋: "一种可信虚拟平台构建方法的研究和改进", 《信息网络安全》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110601846A (zh) * | 2019-08-30 | 2019-12-20 | 苏州浪潮智能科技有限公司 | 一种校验虚拟可信根的系统及方法 |
CN110601846B (zh) * | 2019-08-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种校验虚拟可信根的系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108399329B (zh) | 一种提高可信应用程序安全的方法 | |
US9626512B1 (en) | Validating using an offload device security component | |
US10521861B1 (en) | Decentralized asset custody and clearing platform system | |
JP2023126499A (ja) | ブロックチェーン技術をデジタルツインと結合するための、コンピュータにより実施されるシステム及び方法 | |
US10243739B1 (en) | Validating using an offload device security component | |
CN110647740B (zh) | 一种基于tpm的容器可信启动方法及装置 | |
US10211985B1 (en) | Validating using an offload device security component | |
CN111428208B (zh) | 一种应用软件授权方法、装置及存储介质 | |
CN108345805B (zh) | 验证固件的方法及装置 | |
EP3317875A1 (en) | Virtual machine integrity | |
US20210035120A1 (en) | Adaptive and verifiable bill of materials | |
CN111177797A (zh) | 基于区块链的数据处理方法及装置、电子设备 | |
CN110766410B (zh) | 基于默克尔树的可信跨链事件构造与验证方法和设备 | |
CN108363918A (zh) | 处理器操作系统的引导启动方法、装置及处理器系统 | |
CN110809876A (zh) | 对智能合约执行链外测试的方法和设备 | |
CN110109773A (zh) | 一种虚拟机磁盘一致性的检测方法及系统 | |
KR20170089352A (ko) | 가상화 시스템에서 수행하는 무결성 검증 방법 | |
CN113572619B (zh) | 一种基于notary的容器云镜像可信实现方法及系统 | |
CN112511306A (zh) | 一种基于混合信任模型的安全运行环境构建方法 | |
CN102282564B (zh) | 信息处理设备和信息处理方法 | |
CN109388474A (zh) | 一种Qemu虚拟可信根数据完整性的检测方法及系统 | |
Nawab | Wedgechain: A trusted edge-cloud store with asynchronous (lazy) trust | |
CN111597269A (zh) | 一种基于区块链的合约实现方法、装置及设备 | |
CN108985049A (zh) | 防回滚方法及系统 | |
CN110751486B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190226 |
|
RJ01 | Rejection of invention patent application after publication |