一种基于可信启动的虚拟机数据保护方法

文档序号:10553258阅读:293来源:国知局
一种基于可信启动的虚拟机数据保护方法
【专利摘要】本发明涉及一种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密;虚拟机磁盘加密部分包括:对系统关键组件计算其哈希值并写入可信模块中;注册监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;虚拟机磁盘解密部分包括:开机时检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;将计算得出哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信;将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中。本发明的有益效果是:实现对虚拟机磁盘数据的加密存储;防止虚拟机监控器中的RootKit盗取虚拟机的磁盘解密密钥。
【专利说明】
一种基于可信启动的虚拟机数据保护方法
技术领域
[0001]本发明涉及一种利用可信模块对虚拟机使用的虚拟机磁盘进行加解密的数据保护方法,具体的涉及一种基于可信启动的虚拟机数据保护方法,属于计算机应用领域。
【背景技术】
[0002]可信启动技术是指将一些关键的系统配置或是密钥信息和系统中关键组件的哈希值保存在可信模块中,在系统启动时再次计算系统关键组件的哈希值,如果与之前保存的数值相等则判定为当前系统为可信状态,之后将前保存的系统配置信息或是密钥信息写入平台配置寄存器中供系统正常启动使用;如果与之前保存的数字不相等,则判定发生了系统关键组件的非授权更改,之前保存的关键系统配置或密钥信息则会一直处于被保护状态,不向外界提供,这样系统就无法实现正常的启动。
[0003]目前在虚拟化环境中使用可信技术或是利用加密技术保护虚拟机的技术主要有以下两类:
第一,建立虚拟机可信模块,延长信任链。可信技术的基础是由硬件提供的可信模块。该类技术是指在虚拟机的硬件中添加虚拟机可信模块。在建立虚拟机监控器中的物理信任链之后加入以虚拟可信模块为基础的虚拟机信任链,从而建立从物理机启动到虚拟机启动的信任链。这种技术可以在一定程度上缓解来自于虚拟机内部的RootKit攻击,但是虚拟机自身的磁盘依旧以明文的形式保存,使得在获取其文件后可以随意读取其中数据。
[0004]第二,在虚拟机监控器中运行程序加密虚拟机的磁盘。这种技术使得虚拟机的磁盘通常以密文的形式保存,使得即使攻击者获得了磁盘文件也无法读取其中的数据。但是由于对虚拟机的磁盘的加解密操作是在虚拟机监控器中完成的,这使得存在于虚拟机监控器中的RootKit可以获取解密密钥。
[0005]为此,如何提供一种基于可信启动的虚拟机数据保护方法,提高虚拟机数据的安全性,是本发明研究的目的。

【发明内容】

[0006]
为克服现有技术不足,本发明提供一种基于可信启动的虚拟机数据保护方法,应用Intel公司提供的可信执行技术(Trusted Execut1n Technology,TXT)实现可信启动,通过利用可信模块对虚拟机使用的虚拟机磁盘进行加密,如发现虚拟机器监视器中存在有RootKit则拒绝对虚拟机磁盘的解密,保证了虚拟机监控器被攻破后虚拟机数据的安全性。
[0007 ]为解决现有技术问题,本发明所采用的技术方案是:
一种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密两个部分;所述的虚拟机磁盘加密部分包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中; 所述的虚拟机磁盘解密部分包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;步骤二,将计算得出的哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步,若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解密。
[0008]进一步的,所述的虚拟机磁盘加密部分是在监控器关闭状态下进行。
[0009]进一步的,所述的虚拟机磁盘解密部分是在监控器开启状态下进行。
[0010]进一步的,在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的哈希值的计算,可根据需要来选用不同的算法。
[0011]进一步的,所述的哈希值的算法可采用MD5、SHA1通用算法,或自主定义单向哈希值计算方法。
[0012]进一步的,在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的关键组件包括所有的虚拟机磁盘文件。
[0013]本发明的有益效果是:实现了对虚拟机磁盘数据的加密存储;防止了虚拟机监控器中的R00 tK i t盗取虚拟机的磁盘解密的密钥。
【具体实施方式】
[0014]为了使本领域技术人员能更加理解本发明技术方案,下面结合具体实施例对本发明做进一步分析。
[0015]—种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密两个部分;虚拟机磁盘加密部分是在监控器关闭状态下进行,其包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中,哈希值的计算,可根据需要来选用不同的算法,哈希值的算法可采用MD5、SHA1通用算法,或自主定义单向哈希值计算方法;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;虚拟机磁盘解密部分是在监控器开启状态下进行,其包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件(包括所有的虚拟机磁盘文件),由可信模块在加载虚拟机监控器关键组件(包括所有的虚拟机磁盘文件)前计算其哈希值,哈希值的计算,可根据需要来选用不同的算法;步骤二,将计算得出的哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步,若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解
LU O
[0016]本发明所述的一种基于可信启动的虚拟机数据保护方法,是将intel的可信启动应用在虚拟机的数据保护方面,具体实现时体现为一个安全芯片,通过指令可以使用该芯片的功能,实现对虚拟机磁盘数据的保护。
[0017]以上对本申请所提供的技术方案进行了详细介绍,本文中应用了实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
【主权项】
1.一种基于可信启动的虚拟机数据保护方法,其特征在于:包括虚拟机磁盘的加密和解密两个部分;所述的虚拟机磁盘加密部分包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中; 所述的虚拟机磁盘解密部分包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;步骤二,将计算得出哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步,若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解密。2.根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的虚拟机磁盘加密部分是在监控器关闭状态下进行。3.根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的虚拟机磁盘解密部分是在监控器开启状态下进行。4.根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的哈希值的计算,可根据需要来选用不同的算法。5.根据权利要求1和4所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的哈希值,其算法可采用MD5、SHAl通用算法,或自主定义单向哈希值计算方法。6.根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的关键组件包括所有的虚拟机磁盘文件。
【文档编号】G06F21/62GK105912953SQ201610308395
【公开日】2016年8月31日
【申请日】2016年5月11日
【发明人】党艳平, 阳晓宇, 刘生
【申请人】北京北信源软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1