一种虚拟机运行时的可信验证方法和设备的制造方法

文档序号:8396103阅读:329来源:国知局
一种虚拟机运行时的可信验证方法和设备的制造方法
【技术领域】
[0001]本发明涉及通信技术领域,尤其涉及一种虚拟机运行时的可信验证方法和设备。
【背景技术】
[0002]用户使用基础设施云计算系统时需将自己的资料和应用部署在运行于远端物理机器上的虚拟机上,为了保证资料和应用的安全且不影响使用,用户需要信任云计算服务提供者本身,对该虚拟机在运行时的可信性(即,虚拟机是否正确运行了它所声称的功能,包括:虚拟机上所有的程序文件如核心系统、配置文件、脚本、可执行程序等是否被篡改,虚拟机中是否有其它危险程序在运行等)有需求,因此有必要在虚拟机运行时,采集和验证虚拟机系统的可信性。
[0003]TPM (Trusted Platform Module,可信平台模块)是 TCG (Trusted ComputingGroup,可信计算组织)定义的一个可信模块。TPM芯片是指根据TPM规范实现TPM功能的安全芯片。TPM有三个功能:安全存储、平台完整性报告以及平台验证。TPM密钥的作用是提供加解密和数字签名的功能,保证数据的安全性和平台身份的可验证性。TPM密钥主要包括EK、SRK (Storage Root Key,存储根密钥)和身份验证密钥AIK。其中,EK和SRK永久的存储在TPM芯片内部,AIK可在CPU中使用。EK是一个TPM的唯一标识,SRK是2048比特的RSA密钥对,一般情况下会使用AIK来执行EK的某些操作。
[0004]现有技术,为了保证在虚拟机运行时,采集和验证虚拟机系统的可信性,通常采用以下方式:
[0005]1、直接对自己的资料进行加密保护,防止云计算提供商本身篡改资料;
[0006]2、引入审计模块,如日志,记录云提供商的行为用来在未来某个时间点对云进行评估;
[0007]3、直接构建一个可信的云平台,并直接向用户证明其可信性:用户处保有正确的配置信息,当向云平台发送可信验证请求时,基于TPM技术,虚拟机、节点控制器、存储控制器相应采集各自的运行程序、正在运行的VM镜像、绑定的虚拟存储等信息并发送给用户来验证;
[0008]4、引入一个名为可信完整性验证者(TIV)的可信第三方,确保用户的虚拟机只能在满足完整性验证的物理节点上启动。该平台只考虑了虚拟机启动和迁移时的物理节点的可信性,没有考虑虚拟机运行过程中因为不可信威胁所弓I起的状态变化。
[0009]在实现本发明的过程中,本发明发现现有技术中至少存在以下问题:
[0010]1、直接对自己的资料进行加密保护,无法发挥在云平台上部署的各种云服务的对数据进行有效计算、管理和挖掘的优势;
[0011]2、审计功能的顺利实现需要计算模型中下层的可信性支持,如果下层的虚拟化层将系统调用篡改了,则审计和访问控制模块,是很容易被破坏或绕过的;
[0012]3、直接构建一个可信的云平台,并直接向用户证明其可信性,在验证过程中会暴露所有物理节点的软硬件配置信息、IP地址等,这给云平台带来很大的安全威胁;另外每个用户端都需要维护一个包含所有可能配置的特征数据区以确定云平台的可信性,难于管理并且缺少可扩展性;
[0013]4、引入一个名为可信完整性验证者(TIV)的可信第三方,确保用户的虚拟机只能在满足完整性验证的物理节点上启动。该平台只考虑了虚拟机启动和迁移时的物理节点的可信性,没有考虑虚拟机运行过程中因为不可信威胁所弓I起的状态变化。

【发明内容】

[0014]本发明提供了一种虚拟机运行时的可信验证方法和设备,用以在不影响云计算本身操作数据的功能的前提下,提高虚拟机可信验证的安全性和可实现性。
[0015]为了达到以上目的,本发明实施例提供了一种虚拟机运行时的可信验证方法,应用于包括虚拟机和外部可信任实体的系统,所述虚拟机中包括远程验证服务模块,虚拟可信平台模块VTPM,以及虚拟机操作系统内核中的配置信息收集模块,该方法包括:
[0016]虚拟机的操作系统内核中的配置信息收集模块在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的程序控制寄存器PCR中;
[0017]当所述虚拟机的远程验证服务模块接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可/[目。
[0018]本发明实施例还提供了一种虚拟机运行时的可信验证方法,应用于包括虚拟机和外部可信任实体的系统,所述虚拟机中包括配置信息收集模块,远程验证服务模块,以及可信任平台模块VTPM,该方法包括:
[0019]外部可信任实体向所述虚拟机的远程验证服务模块发送可信证据验证请求;
[0020]所述外部可信任实体接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的程序控制寄存器PCR中的PCR值;其中,所述配置信息列表中存储有所述虚拟机的操作系统内核中的配置信息收集模块保存的所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值;所述VTPM的PCR中的PCR值是由所述配置信息收集模块将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中得到的;
[0021]当所述外部可信任实体根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可?目。
[0022]本发明实施例还提供了一种虚拟机,应用于包括外部可信任实体的系统其特征在于,所述虚拟机中包括远程验证服务模块,虚拟可信平台模块VTPM,以及虚拟机操作系统内核中的配置信息收集模块,其中:
[0023]所述配置信息收集模块,用于在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的程序控制寄存器PCR中;
[0024]所述远程验证服务模块,用于当接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可?目。
[0025]本发明实施例还提供了一种虚拟机运行时的可信验证设备,作为外部可信任实体应用于包括虚拟机的系统,所述虚拟机中包括配置信息收集模块,远程验证服务模块,以及可信任平台模块VTPM,该设备包括:
[0026]发送模块,用于向所述虚拟机的远程验证服务模块发送可信证据验证请求;
[0027]接收模块,用于接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的程序控制寄存器PCR中的PCR值;其中,所述配置信息列表中存储有所述虚拟机的操作系统内核中的配置信息收集模块保存的所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值;所述VTPM的PCR中的PCR值是由所述配置信息收集模块将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中得到的;
[0028]处理模块,用于当根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信。
[0029]本发明上述实施例中,虚拟机的操作系统内核中的配置信息收集模块在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将该其他内核模块的hash值,以及该可执行程序的hash值和脚本的hash值追加到VTPM的PCR中;当虚拟机的远程验证服务模块接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信,在不影响云计算本身操作数据的功能的前提下,提高虚拟机可信验证的安全性和可实现性。
【附图说明】
[0030]图1为本发明实施例提供的一种虚拟机可信验证方法的流程示意图;
[0031]图2为本发明实施例提供的一种具体应用场景的系统架构图;
[0032]图3为本发明实施例提供的一种虚拟机运行时可信证据采集的示意图;
[0033]图4为本发明实施例提供的一种虚拟机的结构示意图;
[0034]图
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1