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

文档序号:8396103阅读:来源:国知局
块、程序或文件经过外部可信任实体认证的,可以信任的,那么表明虚拟机是可信的;如果在特征数据库中没有相应记录,则是不可信的,或者云提供商需要向外部可信任实体注册登记这些程序或文件;如果在特征数据库中发现是恶意程序,则说明虚拟机被攻破运行有恶意程序,不能被信任。
[0064]通过以上描述可以看出,在本发明实施例提供的技术方案中,虚拟机的操作系统内核中的配置信息收集模块在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将该其他内核模块的hash值,以及该可执行程序和脚本的hash值追加到VTPM的PCR中;当虚拟机的远程验证服务模块接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信,在不影响云计算本身操作数据的功能的前提下,提高虚拟机可信验证的安全性和可实现性。
[0065]基于相同的技术构思,本发明实施例还提供了一种虚拟机,可以应用于上述方法实施例。
[0066]如图4所示,为本发明实施例提供的一种虚拟机的结构示意图,该虚拟机可应用于包括外部可信任实体的系统,该虚拟机可以包括:远程验证服务模块41,虚拟可信平台模块VTPM42,以及虚拟机操作系统内核中的配置信息收集模块43 ;其中:
[0067]所述配置信息收集模块43,用于在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM42的程序控制寄存器PCR中;
[0068]所述远程验证服务模块41,用于当接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM42的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可/[目。
[0069]其中,所述配置信息收集模块43具体用于,在所述其他内核模块启动时,将所述其他内核模块的名称和hash值保存到所述配置信息列表中,并将所述其他内核模块的hash值追加到所述VTPM42的PCR中;在所述虚拟机的操作系统运行后,将向内存中加载的可执行程序的名称和hash值和脚本的名称和hash值保存到所述配置信息列表中,并将所述可执行程序的hash值和脚本的hash值追加到所述VTPM42的PCR中。
[0070]其中,所述远程验证服务模块41具体用于,将所述可信证据验证请求中携带的随机数转发给所述VTPM42,以使所述VTPM42对所述随机数,以及所述PCR值进行签名;接收所述VTPM42返回的AIK证书,以及签名后的所述随机数、所述PCR值,并将所述配置信息列表,所述AIK证书,以及签名后的所述随机数、所述PCR值返回给所述外部可信任实体。
[0071]基于相同的技术构思,本发明实施例还提供了一种虚拟机运行时的可信验证设备,可以应用于上述方法实施例。
[0072]如图5所示,为本发明实施例提供的一种虚拟机运行时的可信验证设备的结构示意图,该设备可以作为外部可信任实体应用于包括虚拟机的系统,所述虚拟机中包括配置信息收集模块,远程验证服务模块,以及可信任平台模块VTPM,该设备包括:
[0073]发送模块51,用于向所述虚拟机的远程验证服务模块发送可信证据验证请求;
[0074]接收模块52,用于接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的程序控制寄存器PCR中的PCR值;其中,所述配置信息列表中存储有所述虚拟机的操作系统内核中的配置信息收集模块保存的所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值;所述VTPM的PCR中的PCR值是由所述配置信息收集模块将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中得到的;
[0075]处理模块53,用于当根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信。
[0076]其中,所述发送模块51具体用于,当所述设备监测到所述虚拟机启动或迁移时,当所述外部可信任实体监测到所述虚拟机启动或迁移时;或,当预设定时器超时时,向所述虚拟机的远程验证服务模块发送可信证据验证请求。
[0077]其中,所述接收模块52具体用于,接收所述远程验证服务模块返回的配置信息列表,AIK证书,以及签名后的所述随机数、所述PCR值;其中,所述AIK证书,以及签名后的所述随机数、所述PCR值是由所述VTPM接收到所述远程验证服务模块转发的所述随机数,并对所述随机数,以及所述PCR值签名后,返回给所述远程验证服务模块的。
[0078]其中,所述处理模块52具体用于,根据所述AIK证书对所述随机数、以及所述PCR值的签名进行验证,并当验证通过,且确定所述随机数与自身发送的可信证据验证请求中携带的随机数相同时,对所述配置信息列表中包括的所述其他内核模块的hash值,以及可执行程序hash值和脚本的hash值按照加载到内存中执行的顺序进行模拟追加操作,并比较所述模拟追加操作的结果和所述PCR值,并当比较结果为相同时,确定所述配置信息列表未被修改。
[0079]其中,所述处理模块53具体用于,在本地特征数据库中查询所述配置信息列表中包括的所述其他内核模块,以及可执行程序和脚本的hash值;若在本地特征数据库中查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为可信任状态,则确定所述虚拟机可信;若在本地特征数据库中未查询到匹配的内核模块,以及可执行程序和脚本的hash值,或查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为不可信任状态,则确定所述虚拟机不可信。
[0080]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
[0081]以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
【主权项】
1.一种虚拟机运行时的可信验证方法,应用于包括虚拟机和外部可信任实体的系统,其特征在于,所述虚拟机中包括远程验证服务模块,虚拟可信平台模块VTPM,以及虚拟机操作系统内核中的配置信息收集模块,该方法包括: 虚拟机的操作系统内核中的配置信息收集模块在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的程序控制寄存器PCR中; 当所述虚拟机的远程验证服务模块接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信。
2.如权利要求1所述的方法,其特征在于,所述配置信息收集模块在所述其他内核模块启动时,将所述其他内核模块的名称和hash值保存到所述配置信息列表中,并将所述其他内核模块的hash值追加到所述VTPM的PCR中; 所述配置信息收集模块在所述虚拟机的操作系统运行后,将向内存中加载的可执行程序的名称和hash值和脚本的名称和hash值保存到所述配置信息列表中,并将所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中。
3.如权利要求1所述的方法,其特征在于,所述远程验证服务模块获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,具体为: 所述远程验证服务模块将所述可信证据验证请求中携带的随机数转发给所述VTPM,以使所述VTPM对所述随机数,以及所述PCR值进行签名; 所述远程验证服务模块接收所述VTPM返回的AIK证书,以及签名后的所述随机数、所述PCR值,并将所述配置信息列表,所述AIK证书,以及签名后的所述随机数、所述PCR值返回给所述外部可信任实体。
4.一种虚拟机运行时的可信验证方法,应用于包括虚拟机和外部可信任实体的系
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1