CN105912953A - 一种基于可信启动的虚拟机数据保护方法 - Google Patents
一种基于可信启动的虚拟机数据保护方法 Download PDFInfo
- Publication number
- CN105912953A CN105912953A CN201610308395.0A CN201610308395A CN105912953A CN 105912953 A CN105912953 A CN 105912953A CN 201610308395 A CN201610308395 A CN 201610308395A CN 105912953 A CN105912953 A CN 105912953A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- magnetic disk
- virtual
- trusted module
- cryptographic hash
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密;虚拟机磁盘加密部分包括:对系统关键组件计算其哈希值并写入可信模块中;注册监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;虚拟机磁盘解密部分包括:开机时检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;将计算得出哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信;将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中。本发明的有益效果是:实现对虚拟机磁盘数据的加密存储;防止虚拟机监控器中的RootKit盗取虚拟机的磁盘解密密钥。
Description
技术领域
本发明涉及一种利用可信模块对虚拟机使用的虚拟机磁盘进行加解密的数据保护方法,具体的涉及一种基于可信启动的虚拟机数据保护方法,属于计算机应用领域。
背景技术
可信启动技术是指将一些关键的系统配置或是密钥信息和系统中关键组件的哈希值保存在可信模块中,在系统启动时再次计算系统关键组件的哈希值,如果与之前保存的数值相等则判定为当前系统为可信状态,之后将前保存的系统配置信息或是密钥信息写入平台配置寄存器中供系统正常启动使用;如果与之前保存的数字不相等,则判定发生了系统关键组件的非授权更改,之前保存的关键系统配置或密钥信息则会一直处于被保护状态,不向外界提供,这样系统就无法实现正常的启动。
目前在虚拟化环境中使用可信技术或是利用加密技术保护虚拟机的技术主要有以下两类:
第一,建立虚拟机可信模块,延长信任链。可信技术的基础是由硬件提供的可信模块。该类技术是指在虚拟机的硬件中添加虚拟机可信模块。在建立虚拟机监控器中的物理信任链之后加入以虚拟可信模块为基础的虚拟机信任链,从而建立从物理机启动到虚拟机启动的信任链。这种技术可以在一定程度上缓解来自于虚拟机内部的RootKit攻击,但是虚拟机自身的磁盘依旧以明文的形式保存,使得在获取其文件后可以随意读取其中数据。
第二,在虚拟机监控器中运行程序加密虚拟机的磁盘。这种技术使得虚拟机的磁盘通常以密文的形式保存,使得即使攻击者获得了磁盘文件也无法读取其中的数据。但是由于对虚拟机的磁盘的加解密操作是在虚拟机监控器中完成的,这使得存在于虚拟机监控器中的RootKit可以获取解密密钥。
为此,如何提供一种基于可信启动的虚拟机数据保护方法,提高虚拟机数据的安全性,是本发明研究的目的。
发明内容
为克服现有技术不足,本发明提供一种基于可信启动的虚拟机数据保护方法,应用Intel公司提供的可信执行技术(Trusted Execution Technology, TXT)实现可信启动,通过利用可信模块对虚拟机使用的虚拟机磁盘进行加密,如发现虚拟机器监视器中存在有RootKit则拒绝对虚拟机磁盘的解密,保证了虚拟机监控器被攻破后虚拟机数据的安全性。
为解决现有技术问题,本发明所采用的技术方案是:
一种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密两个部分;所述的虚拟机磁盘加密部分包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;
所述的虚拟机磁盘解密部分包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;步骤二,将计算得出的哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步,若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解密。
进一步的,所述的虚拟机磁盘加密部分是在监控器关闭状态下进行。
进一步的,所述的虚拟机磁盘解密部分是在监控器开启状态下进行。
进一步的,在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的哈希值的计算,可根据需要来选用不同的算法。
进一步的,所述的哈希值的算法可采用MD5、SHA1通用算法,或自主定义单向哈希值计算方法。
进一步的,在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的关键组件包括所有的虚拟机磁盘文件。
本发明的有益效果是:实现了对虚拟机磁盘数据的加密存储;防止了虚拟机监控器中的RootKit盗取虚拟机的磁盘解密的密钥。
具体实施方式
为了使本领域技术人员能更加理解本发明技术方案,下面结合具体实施例对本发明做进一步分析。
一种基于可信启动的虚拟机数据保护方法,包括虚拟机磁盘的加密和解密两个部分;虚拟机磁盘加密部分是在监控器关闭状态下进行,其包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中,哈希值的计算,可根据需要来选用不同的算法,哈希值的算法可采用MD5、SHA1通用算法,或自主定义单向哈希值计算方法;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;虚拟机磁盘解密部分是在监控器开启状态下进行,其包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件(包括所有的虚拟机磁盘文件),由可信模块在加载虚拟机监控器关键组件(包括所有的虚拟机磁盘文件)前计算其哈希值,哈希值的计算,可根据需要来选用不同的算法;步骤二,将计算得出的哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步,若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解密。
本发明所述的一种基于可信启动的虚拟机数据保护方法,是将intel的可信启动应用在虚拟机的数据保护方面,具体实现时体现为一个安全芯片,通过指令可以使用该芯片的功能,实现对虚拟机磁盘数据的保护。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了实施例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (6)
1.一种基于可信启动的虚拟机数据保护方法,其特征在于:包括虚拟机磁盘的加密和解密两个部分;所述的虚拟机磁盘加密部分包括:步骤一,对系统关键组件计算其哈希值并写入可信模块中;步骤二,注册虚拟机监控器关闭时的回调机制,使其在关闭时执行对虚拟机磁盘的加密并将解密密钥写入可信模块中;
所述的虚拟机磁盘解密部分包括:步骤一,根据虚拟机监控器的特性审定在开机时需要检查的关键组件,由可信模块在加载虚拟机监控器关键组件前计算其哈希值;步骤二,将计算得出哈希值与先前存储在可信模块中的哈希值进行比较,若两个值一致则判定启动可信,进入下一步, 若两个哈希值不一致,则判定启动不可信,终止启动流程;步骤三,将保存在可信模块中的虚拟机磁盘解密密钥写入可信模块的平台配置寄存器中,系统利用平台配置寄存器中的密钥对虚拟机磁盘文件进行解密。
2. 根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的虚拟机磁盘加密部分是在监控器关闭状态下进行。
3. 根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的虚拟机磁盘解密部分是在监控器开启状态下进行。
4. 根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的哈希值的计算,可根据需要来选用不同的算法。
5. 根据权利要求1和4所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:所述的哈希值,其算法可采用MD5、SHA1通用算法,或自主定义单向哈希值计算方法。
6. 根据权利要求1所述的一种基于可信启动的虚拟机数据保护方法,其特征在于:在所述的虚拟机磁盘加密和解密部分的步骤一中,所述的关键组件包括所有的虚拟机磁盘文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610308395.0A CN105912953B (zh) | 2016-05-11 | 2016-05-11 | 一种基于可信启动的虚拟机数据保护方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610308395.0A CN105912953B (zh) | 2016-05-11 | 2016-05-11 | 一种基于可信启动的虚拟机数据保护方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105912953A true CN105912953A (zh) | 2016-08-31 |
CN105912953B CN105912953B (zh) | 2019-04-30 |
Family
ID=56749032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610308395.0A Active CN105912953B (zh) | 2016-05-11 | 2016-05-11 | 一种基于可信启动的虚拟机数据保护方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105912953B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392030A (zh) * | 2017-07-28 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种检测虚拟机启动安全的方法及装置 |
CN108255542A (zh) * | 2018-01-05 | 2018-07-06 | 北京北信源信息安全技术有限公司 | 一种虚拟机的串口并口管控方法与装置 |
CN108572861A (zh) * | 2018-04-26 | 2018-09-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟可信根的保护方法、系统、设备及存储介质 |
CN108804203A (zh) * | 2018-06-15 | 2018-11-13 | 四川大学 | 基于标签的vTPM私密信息保护方法 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN109255236A (zh) * | 2018-09-28 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种虚拟机的开机检验方法及装置 |
CN110990120A (zh) * | 2019-11-28 | 2020-04-10 | 同济大学 | 虚拟机监视器分区间通信方法及装置、存储介质和终端 |
CN113157386A (zh) * | 2021-03-03 | 2021-07-23 | 中国科学院信息工程研究所 | 一种从物理机到虚拟机的信任链构建方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103701607A (zh) * | 2013-12-25 | 2014-04-02 | 国家电网公司 | 一种虚拟机环境下可信平台模块的虚拟化方法 |
US20150135311A1 (en) * | 2010-12-21 | 2015-05-14 | International Business Machines Corporation | Virtual machine validation |
CN104794394A (zh) * | 2015-04-30 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种虚拟机启动校验的方法及装置 |
-
2016
- 2016-05-11 CN CN201610308395.0A patent/CN105912953B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150135311A1 (en) * | 2010-12-21 | 2015-05-14 | International Business Machines Corporation | Virtual machine validation |
CN103701607A (zh) * | 2013-12-25 | 2014-04-02 | 国家电网公司 | 一种虚拟机环境下可信平台模块的虚拟化方法 |
CN104794394A (zh) * | 2015-04-30 | 2015-07-22 | 浪潮电子信息产业股份有限公司 | 一种虚拟机启动校验的方法及装置 |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107392030A (zh) * | 2017-07-28 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种检测虚拟机启动安全的方法及装置 |
CN108255542A (zh) * | 2018-01-05 | 2018-07-06 | 北京北信源信息安全技术有限公司 | 一种虚拟机的串口并口管控方法与装置 |
CN108255542B (zh) * | 2018-01-05 | 2021-08-10 | 北京北信源信息安全技术有限公司 | 一种虚拟机的串口并口管控方法与装置 |
CN108572861A (zh) * | 2018-04-26 | 2018-09-25 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟可信根的保护方法、系统、设备及存储介质 |
CN108804203A (zh) * | 2018-06-15 | 2018-11-13 | 四川大学 | 基于标签的vTPM私密信息保护方法 |
CN108804203B (zh) * | 2018-06-15 | 2019-06-21 | 四川大学 | 基于标签的vTPM私密信息保护方法 |
CN109165055A (zh) * | 2018-08-30 | 2019-01-08 | 百度在线网络技术(北京)有限公司 | 一种组件加载方法、装置、计算机设备及存储介质 |
CN109255236A (zh) * | 2018-09-28 | 2019-01-22 | 郑州云海信息技术有限公司 | 一种虚拟机的开机检验方法及装置 |
CN110990120A (zh) * | 2019-11-28 | 2020-04-10 | 同济大学 | 虚拟机监视器分区间通信方法及装置、存储介质和终端 |
CN110990120B (zh) * | 2019-11-28 | 2023-08-29 | 同济大学 | 虚拟机监视器分区间通信方法及装置、存储介质和终端 |
CN113157386A (zh) * | 2021-03-03 | 2021-07-23 | 中国科学院信息工程研究所 | 一种从物理机到虚拟机的信任链构建方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105912953B (zh) | 2019-04-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105912953A (zh) | 一种基于可信启动的虚拟机数据保护方法 | |
US8775784B2 (en) | Secure boot up of a computer based on a hardware based root of trust | |
EP1612666B1 (en) | System and method for protected operating systems boot using state validation | |
EP2795829B1 (en) | Cryptographic system and methodology for securing software cryptography | |
US8261063B2 (en) | Method and apparatus for managing a hierarchy of nodes | |
US11003781B2 (en) | Root key processing method and associated device | |
US8949586B2 (en) | System and method for authenticating computer system boot instructions during booting by using a public key associated with a processor and a monitoring device | |
US8843766B2 (en) | Method and system for protecting against access to a machine code of a device | |
Dewan et al. | A hypervisor-based system for protecting software runtime memory and persistent storage. | |
Götzfried et al. | Analysing Android's Full Disk Encryption Feature. | |
US10025954B2 (en) | Method for operating a control unit | |
Brekalo et al. | Mitigating password database breaches with Intel SGX | |
US10192047B2 (en) | Provisioning of identity information | |
US9122504B2 (en) | Apparatus and method for encryption in virtualized environment using auxiliary medium | |
US20230017231A1 (en) | Securely executing software based on cryptographically verified instructions | |
Jacob et al. | faulTPM: Exposing AMD fTPMs’ Deepest Secrets | |
CN116257889A (zh) | 数据完整性保护方法及相关装置 | |
US9177160B1 (en) | Key management in full disk and file-level encryption | |
US10796007B2 (en) | Method for operating semiconductor device, capable of dumping a memory with security | |
Wagner et al. | Lightweight attestation and secure code update for multiple separated microkernel tasks | |
JP4953385B2 (ja) | アプリケーションの実行ファイル及び構成ファイルの漏洩防止装置 | |
Covey et al. | An Advanced Trusted Platform for mobile phone devices | |
CN106934256B (zh) | 一种企业数据服务器的保护方法及装置 | |
Xingkui et al. | Research on data leak protection technology based on TPM | |
ES2798077T3 (es) | Sistema criptográfico y metodología para asegurar criptografía de software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |