虚拟机文件保护方法和用户终端的制作方法

文档序号:6516280阅读:248来源:国知局
虚拟机文件保护方法和用户终端的制作方法
【专利摘要】本发明提供一种虚拟机文件保护方法和用户终端,其中,该方法包括:用户终端在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥;根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。通过本发明提供的虚拟机文件保护方法和用户终端,实现了通过对虚拟机中的操作系统文件和用户文件进行了绑定保护,避免恶意用户从其他可控的操作系统破译攻击虚拟机中的用户文件,提高了用户文件的安全性。
【专利说明】虚拟机文件保护方法和用户终端
【技术领域】
[0001]本发明实施例涉及计算机【技术领域】,尤其涉及一种虚拟机文件保护方法和用户终端。
【背景技术】
[0002]随着云计算时代的到来,越来越多的企业把员工的计算机通过虚拟机的方式移到云中,员工通过一个很便宜的客户机来访问远程虚拟机的桌面,这样可以大大的降低对于员工计算机的维护成本。
[0003]虚拟机的虚拟硬盘以文件的形式存在云中,特别是对于保存敏感数据的员工的虚拟机,存在很大的信息安全威胁,恶意用户很容易就可以从客户机访问虚拟机,获取存储在虚拟硬盘中的文件或者任意修改里面的文件。而现有的解决方法是用户仅对虚拟机中的用户文件进行加密,无法避免恶意用户从其他操作系统进入该虚拟机破译攻击该虚拟机中的用户文件。

【发明内容】

[0004]针对现有技术的上述缺陷,本发明实施例提供一种虚拟机文件保护方法和用户终端。
[0005]本发明一方面提供一种虚拟机文件保护方法,包括:
[0006]用户终端在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥;
[0007]所述用户终端根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
[0008]本发明另一方面提供一种用户终端,包括:
[0009]获取模块,用于在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥;
[0010]处理模块,用于根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
[0011]本发明实施例提供的虚拟机文件保护方法和用户终端,通过用户终端在运行虚拟机的操作系统内核文件的过程中获取对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥,若根据该密钥验证用户发送的解密密钥合法,则对操作系统主文件和用户文件进行解密处理,实现了通过对虚拟机中的操作系统文件和用户文件进行了绑定保护,避免恶意用户从其他可控的操作系统破译攻击虚拟机中的用户文件,提高了用户文件的安全性。【专利附图】

【附图说明】
[0012]图1为本发明实施例提供的一个虚拟机文件保护方法的流程图;
[0013]图2为本发明实施例提供的另一个虚拟机文件保护方法的流程图;
[0014]图3为本发明实施例提供的一个用户终端的结构示意图。
【具体实施方式】
[0015]图1为本发明实施例提供的一个虚拟机文件保护方法的流程图,如图1所示,该方法包括:
[0016]步骤100,用户终端在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥;
[0017]存储在云端的虚拟机中存储有操作系统主文件和用户文件,为了避免恶意用户很容易地从其他可控制的操作系统访问虚拟机,获取存储在虚拟机中的文件或者任意修改里面的文件,需要对虚拟机中存储的操作系统主文件和用户文件进行整体加密处理,并将加密处理所用的密钥嵌入在操作系统内核文件中,并将虚拟机操作系统的入口地址修改为操作系统的内核文件。其中,需要说明的是,可以根据实际应用需要通过多种方式将用于对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥嵌入在操作系统内核文件中,比如通过用户终端或者虚拟机管理平台,以用户终端举例说明如下:当合法用户通过用户终端访问相应的虚拟机完成用户文件处理工作之后,向用户终端发送包括密钥的加密操作,当用户终端接收用户发送的包括密钥的加密操作后,调用预设的磁盘加密程序,应用该密钥对虚拟机的操作系统主文件和用户文件进行加密处理,且将密钥嵌入在虚拟机的操作系统内核文件中,并对处理后的操作系统主文件、用户文件和操作系统内核文件进行云存储。
[0018]用户通过客户机来访问经过上述加密处理的虚拟机的过程如下,用户终端根据虚拟机操作系统的入口地址将虚拟机的操作系统内核文件加载到内存中,然后运行该操作系统内核文件并获取密钥,该密钥是预先对虚拟机中的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥。
[0019]步骤101,所述用户终端根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
[0020]当用户终端运行完该操作系统内核文件后,会通过界面提示用户输入解密密钥,用户根据提示信息通过用户终端输入解密密钥,从而用户终端接收用户通过用户终端发送的包括解密密钥的解密指令,该解密指令用于对预先经过加密处理的操作系统主文件和用户文件进行解密处理。用户终端将通过运行操作系统内核文件获取的密钥与用户发送的解密指令中的解密密钥进行比较以验证解密密钥是否合法,若比较结果一致,则说明解密密钥合法,用户终端对操作系统主文件和用户文件进行解密处理,从而用户终端加载虚拟机的操作系统主文件到内存,然后运行操作系统主文件从而启动虚拟机的操作系统,操作系统启动后,用户可以正常访问虚拟机根据自身的需求获取用户文件。
[0021]本实施例提供的虚拟机文件保护方法,通过用户终端在运行虚拟机的操作系统内核文件的过程中获取对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥,若根据该密钥验证用户发送的解密密钥合法,则对操作系统主文件和用户文件进行解密处理,实现了通过对虚拟机中的操作系统文件和用户文件进行了绑定保护,避免恶意用户从其他可控的操作系统破译攻击虚拟机中的用户文件,提高了用户文件的安全性。
[0022]基于上述实施例,本领域技术人员可以理解的是,根据不同的操作系统程序设计将用于对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥嵌入在操作系统内核文件中的具体表现形式不局限于一种,比如:分层调用、壳程序调用等,下面通过以壳程序调用的方式为例,通过图2所示实施例具体说明,图2为本发明实施例提供的另一个虚拟机文件保护方法的流程图,如图2所示,本实施例中通过虚拟机管理平台将用于对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥嵌入在操作系统内核文件中,该方法包括:
[0023]步骤200,用户终端向虚拟机管理平台发送包括虚拟机标识信息的加密操作,以供所述虚拟机管理平台根据本地预先存储的用户注册信息获取与所述虚拟机标识信息对应的密钥,应用所述密钥对云存储中与所述虚拟机标识信息对应的虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理,并将所述密钥嵌入在所述虚拟机的操作系统内核文件中;
[0024]当合法用户通过用户终端访问相应的虚拟机完成用户文件处理工作之后,向虚拟机管理平台发送包括虚拟机标识信息的加密操作,虚拟机管理平台对获取的加密操作进行解析获取虚拟机标识信息,然后根据本地预先存储的用户注册信息获取与用户终端发送的虚拟机标识信息对应的密钥,应用该密钥通过添加壳程序对云存储中与该虚拟机标识信息对应的虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理,并将该壳程序嵌入在操作系统内核文件中,并将操作系统第一扇区的信息修改为壳程序的入口地址,其中,该壳程序包括获取密钥的子程序、解密子程序和加密子程序,其中,获取密钥的子程序用于获取对操作系统主文件和用户文件进行加密处理所用的密钥;解密子程序用于对操作系统主文件和用户文件进行解密的解密子程序;加密子程序用于应用对操作系统主文件和用户文件进行加密处理所用的密钥对待存储到虚拟机中的用户文件进行加密处理的加密子程序。
[0025]步骤201,所述用户终端在运行所述操作系统内核文件的过程中跳转到预设的所述壳程序的入口点,调用密钥获取子程序获取所述密钥;
[0026]用户终端将虚拟机中的操作系统内核文件加载到内存中,然后运行该操作系统内核文件,在运行该操作系统内核文件的过程中跳转到预设的壳程序的入口点,并运行壳程序中获取密钥的子程序获取密钥,所获取的密钥是虚拟机管理平台预先对虚拟机中的操作系统主文件和用户文件进行加密处理所用的密钥。
[0027]步骤202,所述用户终端根据所述密钥验证用户发送的解密密钥是否合法,若是,则运行用于对所述操作系统主文件和所述用户文件进行解密的解密子程序;
[0028]当用户终端运行完该操作系统内核文件后,会通过界面提示用户输入解密密钥,用户根据提示信息通过用户终端输入解密密钥,从而用户终端接收用户终端发送的包括解密密钥的解密指令,用户终端将通过运行密钥获取子程序获取的密钥与解密指令中的解密密钥进行比较以验证解密密钥是否合法,若比较结果一致,则说明解密密钥合法,用户终端运行用于对操作系统主文件和用户文件进行解密的解密子程序,从而用户终端加载操作系统主文件到内存,然后运行操作系统主文件从而启动操作系统,操作系统启动后,用户可以正常访问虚拟机根据自身的需求获取用户文件。
[0029]步骤203,用户终端在所述操作系统启动之后,根据用户通过用户终端发送的存储指令,调用所述加密子程序应用所述密钥对待存储到所述虚拟机中的用户文件进行加密处理。
[0030]用户终端加载完操作系统主文件并启动操作系统后,用户可以通过用户终端进行文件处理,当用户终端接收到用户发送的存储指令,则运行壳程序中的加密子程序,从而应用之前对操作系统主文件和用户文件进行加密处理所用的密钥对待存储到虚拟机中的用户文件进行加密处理后再存储到虚拟机中。
[0031]本实施例提供的虚拟机文件保护方法,通过预先对虚拟机中的操作系统主文件和用户文件添加壳程序进行加密处理,并且把壳程序嵌入在操作系统内核文件中,用户终端通过运行操作系统内核文件中的壳程序获取密钥,若根据密钥验证用户通过用户终端发送的解密密钥合法,则通过运行壳程序中的解密子程序进行解密,并且可以通过运行壳程序中的加密子程序对待存储到虚拟机中的文件进行加密处理。实现了通过对虚拟机中的操作系统文件和用户文件进行了绑定保护,避免恶意用户从其他可控的操作系统破译攻击虚拟机中的用户文件,提高了用户文件的安全性。
[0032]本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一用户终端可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0033]图3为本发明实施例提供的一个用户终端的结构示意图,如图3所示,该用户终端包括:获取模块11和处理模块12,其中,获取模块11用于在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥;处理模块12用于根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
[0034]本实施例提供的用户终端中各模块的功能和处理流程,可以参见上述图1所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
[0035]需要说明的是,可以根据实际应用需要通过多种方式将用于对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥嵌入在操作系统内核文件中,举例说明如下:
[0036]情况一:当执行主体为虚拟机管理平台时,合法用户通过用户终端访问相应的虚拟机完成用户文件处理工作之后,处理模块12还用于:向虚拟机管理平台发送包括虚拟机标识信息的加密操作,以供所述虚拟机管理平台根据本地预先存储的用户注册信息获取与所述虚拟机标识信息对应的密钥,应用所述密钥对云存储中与所述虚拟机标识信息对应的虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理,并将所述密钥嵌入在所述虚拟机的操作系统内核文件中。
[0037]情况二:当执行主体为用户终端时,合法用户通过用户终端访问相应的虚拟机完成用户文件处理工作之后,处理模块12还用于:接收用户发送的包括密钥的加密操作;调用预设的磁盘加密程序,应用所述密钥对所述操作系统主文件和所述用户文件进行加密处理,且将所述密钥嵌入在所述虚拟机的操作系统内核文件中,并对处理后的所述操作系统主文件、所述用户文件和所述操作系统内核文件进行云存储。
[0038]基于上述实施例,本领域技术人员可以理解的是,根据不同的操作系统程序设计将用于对虚拟机的操作系统主文件和存储在虚拟机中的用户文件进行加密处理所用的密钥嵌入在操作系统内核文件中的具体表现形式不局限于一种,比如:分层调用、壳程序调用等,下面通过以壳程序调用的方式为例具体说明:即操作系统内核文件中包括壳程序,所述壳程序中包括:密钥获取子程序和解密子程序,则获取模块11具体用于:
[0039]在运行所述操作系统内核文件的过程中跳转到预设的所述壳程序的入口点;
[0040]调用所述密钥获取子程序获取所述密钥;
[0041 ] 处理模块12具体用于:
[0042]若根据所述密钥验证所述解密密钥合法,则调用所述解密子程序对所述操作系统主文件和所述用户文件进行解密处理。
[0043]进一步地,所述壳程序中还包括:加密子程序;
[0044]在所述对所述操作系统主文件和所述用户文件进行解密处理之后,处理模块12还用于:根据所述用户发送的存储指令调用所述加密子程序,应用所述密钥对待存储的用户文件进行加密处理后存储到所述虚拟机中。
[0045]本实施例提供的用户终端中各模块的功能和处理流程,可以参见上述图2所示的方法实施例,其实现原理和技术效果类似,此处不再赘述。
[0046]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【权利要求】
1.一种虚拟机文件保护方法,其特征在于,包括: 用户终端在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥; 所述用户终端根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
2.根据权利要求1所述的虚拟机文件保护方法,其特征在于,在所述获取密钥之前,所述方法还包括: 所述用户终端向虚拟机管理平台发送包括虚拟机标识信息的加密操作,以供所述虚拟机管理平台根据本地预先存储的用户注册信息获取与所述虚拟机标识信息对应的密钥,应用所述密钥对云存储中与所述虚拟机标识信息对应的虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理,并将所述密钥嵌入在所述虚拟机的操作系统内核文件中。
3.根据权利要求1所述的虚拟机文件保护方法,其特征在于,在所述获取密钥之前,所述方法还包括: 所述用户终端接收用户发送的包括密钥的加密操作; 所述用户终端调用预设的磁盘加密程序,应用所述密钥对所述操作系统主文件和所述用户文件进行加密处理,且将所述密钥嵌入在所述虚拟机的操作系统内核文件中,并对处理后的所述操作系统主文件、所述用户文件和所述操作系统内核文件进行云存储。
4.根据权利要求1-3任一所述的虚拟机文件保护方法,其特征在于,所述操作系统内核文件中包括壳程序,所述壳程序中包括:密钥获取子程序和解密子程序;· 所述用户终端在运行虚拟机的操作系统内核文件的过程中获取密钥具体包括: 所述用户终端在运行所述操作系统内核文件的过程中跳转到预设的所述壳程序的入口点; 所述用户终端调用所述密钥获取子程序获取所述密钥; 所述进行解密处理包括: 所述用户终端若根据所述密钥验证所述解密密钥合法,则调用所述解密子程序对所述操作系统主文件和所述用户文件进行解密处理。
5.根据权利要求4所述的虚拟机文件保护方法,其特征在于,所述壳程序中还包括:加密子程序; 在所述对所述操作系统主文件和所述用户文件进行解密处理之后,所述方法还包括: 所述用户终端根据所述用户发送的存储指令调用所述加密子程序,应用所述密钥对待存储的用户文件进行加密处理后存储到所述虚拟机中。
6.一种用户终端,其特征在于,包括: 获取模块,用于在运行虚拟机的操作系统内核文件的过程中获取密钥,其中,所述密钥是对所述虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理所用的密钥; 处理模块,用于根据所述密钥验证用户发送的解密密钥是否合法,若是,则对所述操作系统主文件和所述用户文件进行解密处理。
7.根据权利要求6所述的用户终端,其特征在于,在所述获取密钥之前,所述处理模块还用于: 向虚拟机管理平台发送包括虚拟机标识信息的加密操作,以供所述虚拟机管理平台根据本地预先存储的用户注册信息获取与所述虚拟机标识信息对应的密钥,应用所述密钥对云存储中与所述虚拟机标识信息对应的虚拟机的操作系统主文件和存储在所述虚拟机中的用户文件进行加密处理,并将所述密钥嵌入在所述虚拟机的操作系统内核文件中。
8.根据权利要求6所述的用户终端,其特征在于,在所述获取密钥之前,所述处理模块还用于: 接收用户发送的包括密钥的加密操作; 调用预设的磁盘加密程序,应用所述密钥对所述操作系统主文件和所述用户文件进行加密处理,且将所述密钥嵌入在所述虚拟机的操作系统内核文件中,并对处理后的所述操作系统主文件、所述用户文件和所述操作系统内核文件进行云存储。
9.根据权利要求6-8任一所述的用户终端,其特征在于,所述操作系统内核文件中包括壳程序,所述壳程序中包括:密钥获取子程序和解密子程序,所述获取模块具体用于: 在运行所述操作系统内核文件的过程中跳转到预设的所述壳程序的入口点; 调用所述密钥获取子程序获取所述密钥; 所述处理模块具体用于: 若根据所述密钥验证所述解密密钥合法,则调用所述解密子程序对所述操作系统主文件和所述用户文件进行解密处理。
10.根据权利要求9所述的用户终端,其特征在于,所述壳程序中还包括:加密子程序; 在所述对所述操作系统主文件和所述用户文件进行解密处理之后,所述处理模块还用于: 根据所述用户发送的存储指令调用所述加密子程序,应用所述密钥对待存储的用户文件进行加密处理后存储到所述虚拟机中。
【文档编号】G06F9/455GK103530572SQ201310500662
【公开日】2014年1月22日 申请日期:2013年10月22日 优先权日:2013年10月22日
【发明者】田新雪, 马书惠 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1