专利名称:一种存储设备数据的加解密方法、系统及虚拟机监控器的制作方法
技术领域:
本发明属于计算机技术领域,尤其涉及一种存储设备数据的加解密方法、系统及 虚拟机监控器。
背景技术:
随着计算机普及率的提高,信息安全已经变得非常重要,因此,作为计算机系统中 的信息关键载体的存储设备,当其失窃或遗失后,存储在存储设备的数据就容易被窃取,导 致数据的泄露,给存储设备用户带来损失。
发明内容
本发明实施例的目的在于提供一种存储设备数据的加解密方法,旨在解决现有技 术的存储设备在失窃或遗失后,存储设备数据容易泄露的问题。本发明实施例是这样实现的,一种存储设备数据的加解密方法,所述方法包括下 述步骤虚拟机监控器对操作系统的存储设备数据的读写操作请求进行监控;当监控到有读写操作请求时,从存储设备获取解密后第一数据密钥,所述第一数 据密钥以密文的方式存储在存储设备;根据所述解密后的第一数据密钥,对存储设备的读写操作数据进行加解密操作。本发明实施例的另一目的在于提供一种存储设备数据的加解密系统,所述存储设 备数据的加解密系统内置于虚拟机监控器,所述系统包括监控模块,用于对操作系统的存储设备数据的读写操作请求进行监控;第一数据密钥获取模块,用于当所述监控模块监控到有读写操作请求时,从存储 设备获取解密后第一数据密钥,所述第一数据密钥以密文的方式存储在存储设备;以及加解密操作控制模块,用于根据所述第一数据密钥获取模块获取到的解密后的第 一数据密钥,控制对存储设备的读写操作数据进行加解密操作。本发明实施例的另一目的在于提供一种包括存储设备数据的加解密系统的虚拟 机监控器。在本发明实施例中,虚拟机监控器对操作系统的存储设备的读写操作请求进行监 控;当监控到有读写操作请求时,从存储设备读取解密后第一数据密钥,所述第一数据密钥 以密文的方式存储在存储设备;根据所述解密后的第一数据密钥,对存储设备的读写操作 数据进行加解密操作,解决了存储设备数据被泄露的问题,保护了存储设备数据的安全。
图1是本发明实施例提供的存储设备数据的加解密方法的实现流程图;图2是本发明实施例提供的存储设备数据的加解密系统的结构框图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对 本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并 不用于限定本发明。在本发明实施例中,虚拟机监控器对操作系统的存储设备的读写操作请求进行监 控;当监控到有读写操作请求时,从存储设备读取解密后第一数据密钥,所述第一数据密钥 以密文的方式存储在存储设备;根据所述解密后的第一数据密钥,对存储设备的读写操作 数据进行加解密操作。图1示出了本发明实施例提供的存储设备数据的加解密方法的实现流程图,其具 体的步骤如下所述在步骤SlOl中,虚拟机监控器对操作系统的存储设备的读写操作请求进行监控。在本发明实施例中,虚拟机监控器在主机操作系统启动之前被启动,当操作系统 启动后,虚拟机监控器处于后台监控位置,在此的后台监控是指对存储设备数据的读写操 作请求的监控,当然,该虚拟机监控器可以对其他操作进行监控,在此不再赘述,但不用以 限制本发明。其中,本发明实施例中的存储设备可以是指计算机存储设备,即硬盘,当然也可以 是其他存储设备,在此不用以限制本发明。在步骤S102中,判断虚拟机监控器是否监控到对存储设备数据的读写操作请求, 是则执行步骤S103,否则结束。在步骤S103中,当监控到有读写操作请求时,取出存储在存储设备中以密文的方 式存储的第一数据密钥,以及对所述第一数据密钥进行加密的第二密钥。在本发明实施例中,上述第一数据密钥是指对存储设备数据进行加解密的密钥, 该第一数据密钥由随机数生成种子,经过加密算法函数变换,转换成长度固定的密钥;而第 二密钥是指对该第一数据密钥进行加解密的密钥,该第二密钥由系统ID和随机数组成,经 过变换函数进行变换得到。在此,第一数据密钥和第二密钥可以采用其他命名方式,但不用以限制本发明。第一数据密钥和第二密钥存储在存储设备的数据存储区的特殊位置,其中,第一 数据密钥以密文的方式存储,其加密密钥为该第二密钥。在步骤S104中,根据第二密钥对以密文的方式存储的第一数据密钥进行解密,获 取解密后的第一数据密钥。在本发明实施例中,当虚拟机监控器监控到对操作系统的存储设备的读写操作请 求时,根据取出的第二密钥对取出的以密文方式存储的第一数据密钥进行解密,得到明文 方式存在的第一数据密钥。在步骤S105中,根据解密后的第一数据密钥,对存储设备的读写操作数据进行加 解密操作。在本发明实施例中,根据解密后的第一数据密钥,对存储设备的读写操作的明文 数据进行加密,或,对存储设备的读写操作的密文数据进行解密。在本发明实施例中,存储设备数据的加密过程为读取以密文方式存在的第一数 据密钥,然后通过第二密钥对以密文方式存在的第一数据密钥进行解密,得到以明文方式存在的第一数据密钥,然后根据以明文方式存在的第一数据密钥对明文数据进行加密,并 将加密后的存储设备数据存储在存储设备的用户存储区;存储设备数据的解密过程为读取以密文方式存在的第一数据密钥,然后通过第 二密钥对以密文方式存在的第一数据密钥进行解密,得到以明文方式存在的第一数据密 钥,然后根据以明文方式存在的第一数据密钥对密文数据进行解密,并控制将解密后的存 储设备数据读出。上述仅为本发明的一个具体实施例,但不用以限制本发明。在本发明实施例中,上述第一数据密钥和第二密钥都是在系统部署时生成并保存 在存储设备中,所以在后续存储设备数据的读取时,只需要确认用户身份后获取一次以明 文方式存在的第一数据密钥即可,因此,保证了数据的读取的安全性以及系统的损耗。作为本发明的一个实施例,为保证存储设备数据的加解密方案的安全性,在加解 密过程中,需要控制禁止对控制存储设备数据加解密操作代码的静态分析和动态跟踪,其 中,该控制存储设备数据加解密操作代码属于虚拟机监控器代码一部分,下述以虚拟机监 控器代码(VMM代码)为例进行说明。禁止对VMM代码的静态分析的实施具体为1. VMM中的主要代码研所存放在UEFI ROM中,UEFI\BI0S把VMM代码加载到内存 之后,VMM代码的解压程序根据代码运行的需要,分步解压主要的代码。2. VMM代码解压缩代码本身加入了花指令和自生成代码,以增加VMM代码的伪装性。3. VMM代码中对字符串信息做编码转换,在静态代码中不能看到字符串的信息,预 防通过字符串信息对代码处理的分析。禁止对VMM代码的动态跟踪的具体实施为1.由于VMM代码本身包含一个微内核,对计算机硬件进行管理,不要求操作系统 的支持,也无法在操作系统环境中运行,通用的调试跟踪软件无法对VMM代码进行动态跟
S示ο2.同时VMM代码在运行过程中,对自身代码进行校验,防止对代码的非法修改。上述禁止对VMM代码的静态分析和动态跟踪的描述仅为本发明的一个具体实施 例,但不用以限制本发明。图2示出了本发明实施例提供的存储设备数据的加解密系统的结构框图,为了便 于说明,图中仅给出了与本发明实施例相关的部分,该存储设备数据的加解密系统内置于 虚拟机监控器的软件单元。监控模块11对操作系统的存储设备数据的读写操作请求进行监控;当所述监控 模块11监控到有读写操作请求时,读取模块12取出存储在存储设备中以密文的方式存储 的第一数据密钥,以及对所述第一数据密钥进行加密的第二密钥,第一数据密钥获取模块 13根据所述第二密钥,从存储设备获取解密后第一数据密钥,第一数据密钥以密文的方式 存储在存储设备;加解密操作控制模块14根据第一数据密钥获取模块13获取到的解密后 的第一数据密钥,控制对存储设备的读写操作数据进行加解密操作。在本发明实施例中,加解密操作控制模块14的具体实现流程为根据解密后的第 一数据密钥(明文方式存在的第一数据密钥),对存储设备的读写操作的明文数据进行加密,或,对存储设备的读写操作的密文数据进行解密,在此不用以限制本发明。在本发明实施例中,第一控制模块15控制禁止对控制存储设备数据加解密操作 代码的静态分析,第二控制模块16控制禁止对控制存储设备数据加解密操作代码的动态 跟踪,其具体的实现如上述实施例所述,在此不再赘述,但不用以限制本发明。在本发明实施例中,虚拟机监控器对操作系统的存储设备的读写操作请求进行监 控;当监控到有读写操作请求时,从存储设备读取解密后第一数据密钥,所述第一数据密钥 以密文的方式存储在存储设备;根据所述解密后的第一数据密钥,对存储设备的读写操作 数据进行加解密操作,解决了存储设备数据被泄露的问题,保护了存储设备数据的安全;同 时,采用禁止对代码的静态分析和动态跟踪的方式,有效保证了存储设备数据的安全。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精 神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种存储设备数据的加解密方法,其特征在于,所述方法包括下述步骤 虚拟机监控器对操作系统的存储设备数据的读写操作请求进行监控;当监控到有读写操作请求时,从存储设备获取解密后第一数据密钥,所述第一数据密 钥以密文的方式存储在存储设备;根据所述解密后的第一数据密钥,对存储设备的读写操作数据进行加解密操作。
2.如权利要求1所述的方法,其特征在于,所述当监控到有读写操作请求时,从存储设 备读取解密后第一数据密钥,所述第一数据密钥以密文的方式存储在存储设备的步骤具体 还包括当监控到有读写操作请求时,取出存储在存储设备中以密文的方式存储的第一数据密 钥,以及对所述第一数据密钥进行加密的第二密钥;根据所述第二密钥对所述以密文的方式存储的第一数据密钥进行解密,获取解密后的 第一数据密钥。
3.如权利要求2所述的方法,其特征在于,所述根据所述解密后的第一数据密钥,控制 对存储设备的读写操作数据进行加解密操作的步骤具体包括根据解密后的第一数据密钥,对存储设备的读写操作的明文数据进行加密; 根据解密后的第一数据密钥,对存储设备的读写操作的密文数据进行解密。
4.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤 控制禁止对控制存储设备数据加解密操作代码的静态分析。
5.如权利要求1所述的方法,其特征在于,所述方法还包括下述步骤 控制禁止对控制存储设备数据加解密操作代码的动态跟踪。
6.一种存储设备数据的加解密系统,其特征在于,所述存储设备数据的加解密系统内 置于虚拟机监控器,所述系统包括监控模块,用于对操作系统的存储设备数据的读写操作请求进行监控; 第一数据密钥获取模块,用于当所述监控模块监控到有读写操作请求时,从存储设备 获取解密后第一数据密钥,所述第一数据密钥以密文的方式存储在存储设备;以及加解密操作控制模块,用于根据所述第一数据密钥获取模块获取到的解密后的第一数 据密钥,控制对存储设备的读写操作数据进行加解密操作。
7.如权利要求6所述的系统,其特征在于,所述系统还包括读取模块,用于当监控到有读写操作请求时,取出存储在存储设备中以密文的方式存 储的第一数据密钥,以及对所述第一数据密钥进行加密的第二密钥。
8.如权利要求6所述的系统,其特征在于,所述方系统还包括第一控制模块,用于控制禁止对控制存储设备数据加解密操作代码的静态分析。
9.如权利要求6所述的系统,其特征在于,所述系统还包括第二控制模块,用于控制禁止对控制存储设备数据加解密操作代码的动态跟踪。
10.一种包括权利要求6至9任一项所述的存储设备数据的加解密系统的虚拟机监控ο
全文摘要
本发明适用于计算机技术领域,提供了一种存储设备数据的加解密方法、系统及虚拟机监控器,所述方法包括下述步骤虚拟机监控器对操作系统的存储设备数据的读写操作请求进行监控;当监控到有读写操作请求时,从存储设备获取解密后第一数据密钥;根据解密后的第一数据密钥,对存储设备的读写操作数据进行加解密操作。在本发明实施例中,虚拟机监控器对操作系统的存储设备的读写操作请求进行监控;当监控到有读写操作请求时,从存储设备读取解密后第一数据密钥;根据所述解密后的第一数据密钥,对存储设备的读写操作数据进行加解密操作,解决了存储设备数据被泄露的问题,保护了存储设备数据的安全。
文档编号G06F12/14GK102103551SQ20091018922
公开日2011年6月22日 申请日期2009年12月22日 优先权日2009年12月22日
发明者刘欣房, 宋靖, 林诗达, 王淼, 贾兵, 顾文锦 申请人:中国长城计算机深圳股份有限公司