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

文档序号:8396103阅读:来源:国知局
统,其特征在于,所述虚拟机中包括配置信息收集模块,远程验证服务模块,以及可信任平台模块VTPM,该方法包括: 外部可信任实体向所述虚拟机的远程验证服务模块发送可信证据验证请求; 所述外部可信任实体接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的程序控制寄存器PCR中的PCR值;其中,所述配置信息列表中存储有所述虚拟机的操作系统内核中的配置信息收集模块保存的所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值;所述VTPM的PCR中的PCR值是由所述配置信息收集模块将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中得到的; 当所述外部可信任实体根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信。
5.如权利要求4所述的方法,其特征在于,所述外部可信任实体向所述虚拟机的远程验证服务模块发送可信证据验证请求,具体为: 当所述外部可信任实体监测到所述虚拟机启动或迁移时,所述外部可信任实体向所述虚拟机的远程验证服务模块发送可信证据验证请求;或, 当预设定时器超时时,所述外部可信任实体向所述虚拟机的远程验证服务模块发送可信证据验证请求。
6.如权利要求4所述的方法,其特征在于,所述可信证据验证请求中携带有随机数; 所述外部可信任实体接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的PCR中的PCR值,具体为: 所述外部可信任实体接收所述远程验证服务模块返回的配置信息列表,AIK证书,以及签名后的所述随机数、所述PCR值;其中,所述AIK证书,以及签名后的所述随机数、所述PCR值是由所述VTPM接收到所述远程验证服务模块转发的所述随机数,并对所述随机数,以及所述PCR值签名后,返回给所述远程验证服务模块的。
7.如权利要求6所述的方法,其特征在于,所述外部可信任实体根据所述PCR值确定所述配置信息列表未被修改,具体为: 所述外部可信任实体根据所述AIK证书对所述随机数、以及所述PCR值的签名进行验证,并当验证通过,且确定所述随机数与自身发送的可信证据验证请求中携带的随机数相同时,所述外部可信任实体对所述配置信息列表中包括的所述其他内核模块的hash值,以及可执行程序hash值和脚本的hash值按照加载到内存中执行的顺序进行模拟追加操作,并比较所述模拟追加操作的结果和所述PCR值,并当比较结果为相同时,确定所述配置信息列表未被修改。
8.如权利要求6所述的方法,其特征在于,所述外部可信任实体根据本地特征数据库对所述配置信息列表进行验证,具体为: 所述外部可信任实体在本地特征数据库中查询所述配置信息列表中包括的所述其他内核模块,以及可执行程序和脚本的hash值; 若在本地特征数据库中查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为可信任状态,则确定所述虚拟机可信; 若在本地特征数据库中未查询到匹配的内核模块,以及可执行程序和脚本的hash值,或查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为不可信任状态,则确定所述虚拟机不可信。
9.一种虚拟机,应用于包括外部可信任实体的系统其特征在于,其特征在于,所述虚拟机中包括远程验证服务模块,虚拟可信平台模块VTPM,以及虚拟机操作系统内核中的配置信息收集模块,其中: 所述配置信息收集模块,用于在配置信息列表中保存所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的程序控制寄存器PCR中; 所述远程验证服务模块,用于当接收到外部可信任实体发送的可信证据验证请求时,获取所述配置信息列表,和所述VTPM的PCR中保存的PCR值,并返回给所述外部可信任实体,以使所述外部可信任实体在根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可?目。
10.如权利要求9所述的虚拟机,其特征在于, 所述配置信息收集模块具体用于,在所述其他内核模块启动时,将所述其他内核模块的名称和hash值保存到所述配置信息列表中,并将所述其他内核模块的hash值追加到所述VTPM的PCR中;在所述虚拟机的操作系统运行后,将向内存中加载的可执行程序的名称和hash值和脚本的名称和hash值保存到所述配置信息列表中,并将所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中。
11.如权利要求9所述的虚拟机,其特征在于, 所述远程验证服务模块具体用于,将所述可信证据验证请求中携带的随机数转发给所述VTPM,以使所述VTPM对所述随机数,以及所述PCR值进行签名;接收所述VTPM返回的AIK证书,以及签名后的所述随机数、所述PCR值,并将所述配置信息列表,所述AIK证书,以及签名后的所述随机数、所述PCR值返回给所述外部可信任实体。
12.—种虚拟机运行时的可信验证设备,作为外部可信任实体应用于包括虚拟机的系统,其特征在于,所述虚拟机中包括配置信息收集模块,远程验证服务模块,以及可信任平台模块VTPM,该设备包括: 发送模块,用于向所述虚拟机的远程验证服务模块发送可信证据验证请求; 接收模块,用于接收所述远程验证服务模块返回的配置信息列表,以及所述虚拟机的VTPM的程序控制寄存器PCR中的PCR值;其中,所述配置信息列表中存储有所述虚拟机的操作系统内核中的配置信息收集模块保存的所述虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值;所述VTPM的PCR中的PCR值是由所述配置信息收集模块将所述其他内核模块的hash值,以及所述可执行程序的hash值和脚本的hash值追加到所述VTPM的PCR中得到的; 处理模块,用于当根据所述PCR值确定所述配置信息列表未被修改后,根据本地特征数据库对所述配置信息列表进行验证,并根据验证结果确定所述虚拟机是否可信。
13.如权利要求12所述的设备,其特征在于, 所述发送模块具体用于,当所述设备监测到所述虚拟机启动或迁移时,当所述外部可信任实体监测到所述虚拟机启动或迁移时;或,当预设定时器超时时,向所述虚拟机的远程验证服务模块发送可信证据验证请求。
14.如权利要求12所述的设备,其特征在于, 所述接收模块具体用于,接收所述远程验证服务模块返回的配置信息列表,AIK证书,以及签名后的所述随机数、所述PCR值;其中,所述AIK证书,以及签名后的所述随机数、所述PCR值是由所述VTPM接收到所述远程验证服务模块转发的所述随机数,并对所述随机数,以及所述PCR值签名后,返回给所述远程验证服务模块的。
15.如权利要求14所述的设备,其特征在于, 所述处理模块具体用于,根据所述AIK证书对所述随机数、以及所述PCR值的签名进行验证,并当验证通过,且确定所述随机数与自身发送的可信证据验证请求中携带的随机数相同时,对所述配置信息列表中包括的所述其他内核模块的hash值,以及可执行程序hash值和脚本的hash值按照加载到内存中执行的顺序进行模拟追加操作,并比较所述模拟追加操作的结果和所述PCR值,并当比较结果为相同时,确定所述配置信息列表未被修改。
16.如权利要求14所述的设备,其特征在于, 所述处理模块具体用于,在本地特征数据库中查询所述配置信息列表中包括的所述其他内核模块,以及可执行程序和脚本的hash值;若在本地特征数据库中查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为可信任状态,则确定所述虚拟机可信;若在本地特征数据库中未查询到匹配的内核模块,以及可执行程序和脚本的hash值,或查询到匹配的内核模块,以及可执行程序和脚本的hash值,且该匹配的内核模块,以及可执行程序和脚本为不可信任状态,则确定所述虚拟机不可?目。
【专利摘要】本发明公开了一种虚拟机运行时的可信验证方法和设备,该方法包括:配置信息收集模块在配置信息列表中保存虚拟机的操作系统内核中的其他内核模块的名称和hash值,以及向内存中加载的可执行程序和脚本的名称和hash值,并将其他内核模块的hash值,以及可执行程序的hash值和脚本的hash值追加到VTPM的PCR中;当远程验证服务模块接收到外部可信任实体发送的可信证据验证请求时,获取配置信息列表,和VTPM的PCR中保存的PCR值,并返回给外部可信任实体,以使外部可信任实体在根据PCR值确定配置信息列表未被修改后,根据本地特征数据库对配置信息列表进行验证,并根据验证结果确定虚拟机是否可信。在本发明中,提高了虚拟机可信验证的安全性和可实现性。
【IPC分类】G06F21-33, G06F9-455
【公开号】CN104715183
【申请号】CN201310686971
【发明人】王珂
【申请人】中国移动通信集团公司
【公开日】2015年6月17日
【申请日】2013年12月13日
当前第4页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1