[发明专利]一种验证虚拟机硬件资源完整的方法和装置在审
申请号: | 201811127640.3 | 申请日: | 2018-09-27 |
公开(公告)号: | CN109358945A | 公开(公告)日: | 2019-02-19 |
发明(设计)人: | 刘海伟 | 申请(专利权)人: | 郑州云海信息技术有限公司 |
主分类号: | G06F9/455 | 分类号: | G06F9/455 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450018 河南省郑州市*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 虚拟硬件 虚拟机 方法和装置 硬件资源 度量 验证 虚拟化平台 虚拟机启动 日志 追溯 记录 安全 管理 | ||
1.一种验证虚拟机硬件资源完整的方法,其特征在于,包括以下步骤:
S10,在操作系统引导阶段,度量将要加载的虚拟硬件,把度量值扩展到平台配置寄存器PCR中,同时把所述度量值记录到高级配置与电源接口ACPI Table中;
S20,在操作系统启动之后,读取所述PCR中的度量扩展值,同时从所述ACPI Table中解析出虚拟硬件度量日志VHML;
S30,在操作系统启动之后,逐个比较读取的所述度量扩展值与基准度量扩展值,当比较结果都相同时,则表明当前虚拟硬件资源是完整可信的,当任何一个比较结果不相同时,逐个遍历虚拟硬件度量日志VHML来判定不可信的虚拟硬件。
2.根据权利要求1所述的方法,其特征在于,在所述步骤S10中,按照如下公式把度量值扩展到PCR寄存器中:
PCRM[N]=Hash(PCRM[N-1]||Hash(EventData)),其中:
PCRM[N]:表示当前N状态要扩展的值;
PCRM[N-1]:表示扩展前N-1状态时PCRM中的值;
M:表示PCR0-PCR7的索引,取值为0-7;
N:表示扩展后的时刻,N-1:表示扩展前的时刻;
||:表示将两个值拼接成一个值;
Hash(EventData):表示对将要加载的虚拟硬件做哈希计算。
3.根据权利要求2所述的方法,其特征在于,把度量值扩展到平台配置寄存器PCR中包括以下步骤:
对将要加载的虚拟硬件EventData做哈希计算得到Hash(EventData);
按照EventData与PCR寄存器的对应关系,确定该虚拟硬件将要扩展到的PCR寄存器,读取该PCR中原有的值PCRM[N-1];
将PCRM[N-1]与Hash(EventData)拼接成一个值“PCRM[N-1]||Hash(EventData)”;
对“PCRM[N-1]||Hash(EventData)”值再做一次哈希,存入PCRM寄存器中。
4.根据权利要求3所述的方法,其特征在于,把度量值记录到ACPI Table中包括以下步骤:
申请AddressRangeACPI类型、VHML最大长度的内存,得到该内存的起始地址LASA(LogArea Start Address)、当前的日志区域大小LADL(Log Area Data Length),把把LASA与LADL记录到TCPA签名的ACPI Table表中;
确定EventData需要扩展到PCR寄存器的索引值PCRIndex和EventType;
计算EventData的大小,得到EventSize;
按照单条硬件度量日志的格式记录到所述LASA内存起始位置,并且LADL增加该条日志的大小LogSize;
逐个记录加载的虚拟硬件的度量值,追加到起始地址为LASA,偏移为LADL处,直至所有虚拟硬件被加载完毕。
5.根据权利要求4所述的方法,其特征在于,所述步骤S10进一步包括以下步骤:
S101,遍历虚拟机的虚拟硬件,并加载虚拟硬件EventData;
S102,把虚拟硬件的度量值扩展到PCR寄存器中;
S103,把度量值记录到ACPI Table中;
S104,检查虚拟硬件是否加载完毕,加载完毕之后则退出,否则返回步骤S101继续执行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州云海信息技术有限公司,未经郑州云海信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811127640.3/1.html,转载请声明来源钻瓜专利网。