[发明专利]基于TPM模块的虚拟化度量方法及装置有效
申请号: | 201810153962.9 | 申请日: | 2018-02-22 |
公开(公告)号: | CN108446564B | 公开(公告)日: | 2020-11-03 |
发明(设计)人: | 刘建伟;黑一鸣 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57 |
代理公司: | 北京清亦华知识产权代理事务所(普通合伙) 11201 | 代理人: | 张润 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 tpm 模块 虚拟 度量 方法 装置 | ||
1.一种基于TPM模块的虚拟化度量方法,其特征在于,包括以下步骤:
通过TPM模块的度量外部运算模块和请求调度模块将度量结果与之前存放在PCR中的值进行对比,且在不一致时,更新所述外部运算模块和所述请求调度模块后再次度量;
在一致时,通过所述TPM模块发送加密信息至CPU,使得所述CPU允许所述外部运算模块和所述请求调度模块启动;
在所述请求调度模块接受来自于操作系统层和应用层的度量请求后,通过调度算法将最需要度量的请求发送到与之相匹配的度量模块中;
在所述相匹配的度量模块接收相应度量请求之后,获取相应的度量结果,且对于外部度量模块,发送所述度量结果至所述TPM模块;
通过所述TPM模块查找之前存取在PCR的度量值进行对比,其中,如果一致,则度量通过,否则该请求度量失败;
通过所述TPM模块发送加密后的最终度量结果至所述CPU,使得所述CPU解密获取所述最终度量结果,以决定是否允许请求对应程序的运行;
通过所述TPM模块发送所述请求度量完成的消息给所述请求调度模块,使得所述请求调度模块删除对应请求的记录,并将相应运算模块的工作状态做更新,以保证运算模块可以接受下一个度量任务。
2.根据权利要求1所述的基于TPM模块的虚拟化度量方法,其特征在于,
所述TPM模块中保留其原本的密码算法和存储特性,具体包括:
检测度量所述请求调度模块的完整性,并对所述请求调度模块进行完整性度量后与存储在TPM中的哈希值进行对比操作,以在对比通过之后,允许所述请求调度模块运行;
度量所述外部运算模块的完整性,并对所述外部运算模块进行完整性度量,以在通过之后,允许所述外部运算模块运行;
接收度量所述请求调度模块分配的请求,以完成请求的度量,且当度量完成之后,发送消息给所述请求调度模块,并删除度量记录;接收所述外部运算模块发来的度量结果,并与之前存储好的哈希值进行比对,如果对比一致,也将消息发送给所述请求调度模块并删除此记录。
3.根据权利要求1所述的基于TPM模块的虚拟化度量方法,其特征在于,
所述外部运算模块采用SHA1杂凑算法,所述外部运算模块用于接收所述调度模块发来的对预设ID的度量请求,并对度量目标进行完整性度量,以在度量完成后,将度量结果和对应的ID号发送给所述TPM模块。
4.根据权利要求1所述的基于TPM模块的虚拟化度量方法,其特征在于,
所述请求调度模块,具体包括:
接收度量请求,根据所述度量请求的性质由所述度量模块的算法确定该请求的等级,并给予所述请求一个非重复ID号;
根据所述等级划分情况,查找此时空闲的最佳度量模块,根据分配算法将度量任务派给所述最佳度量模块;
当度量开始时,给相应的运算模块的工作状态位置1;度量完成后,将对应运算模块的工作状态位置0。
5.根据权利要求4所述的基于TPM模块的虚拟化度量方法,其特征在于,
所述分配算法具体包括:
根据所述度量模块中每个请求的等级和特殊需求划分两个队列,第一队列要求只能使用所述TPM模块进行测量操作,第二队列要求可以采用多种方式进行完整性度量;
在队列分配完成后,找到请求对应的数据结构,取出安全等级和到达次序两个数据,求解安全等级A与到达次序O的倒数的k倍之和,数值大的会被优先给分配完整性运算模块;
根据所述请求调度模块中所述运算模块的工作情况,只要所述运算模块有空闲,就将其对应队列的首元素分给所述请求调度模块。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810153962.9/1.html,转载请声明来源钻瓜专利网。