CN101488173B - 支持零宕机的可信虚拟域启动文件完整性度量的方法 - Google Patents
支持零宕机的可信虚拟域启动文件完整性度量的方法 Download PDFInfo
- Publication number
- CN101488173B CN101488173B CN2009100763929A CN200910076392A CN101488173B CN 101488173 B CN101488173 B CN 101488173B CN 2009100763929 A CN2009100763929 A CN 2009100763929A CN 200910076392 A CN200910076392 A CN 200910076392A CN 101488173 B CN101488173 B CN 101488173B
- Authority
- CN
- China
- Prior art keywords
- virtual
- virtual domain
- boot
- domain
- file
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及支持零宕机的可信虚拟域启动文件完整性度量的方法。本方法通过修改特权域的虚拟域管理工具和虚拟域引导管理器,实现可信虚拟域***启动文件在被加载时才进行完整性度量,克服了计算机启动时就对这些文件进行完整性度量所带来的安全和可扩展问题,增强了***的灵活性,允许在计算机运行过程中动态地进行可信虚拟域部署,包括虚拟域内核***的重新定制或升级,实现了可信虚拟域的启动不会间断同一硬件平台上的其它虚拟域的数据业务。可度量的启动文件包括了虚拟域配置文件、虚拟域引导配置文件以及该文件指定的需要度量的文件。本方法可以与虚拟环境下的其他可信计算技术协同工作来建立完整的虚拟域启动可信链。
Description
技术领域
本发明涉及计算机信息安全可信计算领域,特别是指支持零宕机的可信虚拟域启动文件完整性度量的方法。通过增强Xen虚拟机环境下的客户虚拟域管理工具和虚拟域引导管理器的功能,实现可信虚拟域***启动文件在被加载时才进行完整性度量。
背景技术
虚拟机技术应用整机虚拟化的概念,解除了实体机兼容性和硬件资源对应用程序的约束,实现同一硬件平台上多操作***的并行运行。Xen虚拟机是一个成熟的开放源代码虚拟化产品,Xen虚拟机包括一个虚拟机监控器、一个特权虚拟计算域和多个客户虚拟计算域,见图1。每个计算域运行一个操作***,虚拟机监控器位于***硬件平台与虚拟计算域操作***软件之间,负责监控下层硬件,并将硬件抽象成可管理调度的实体供上层计算域使用,通过为上层计算域提供有效的隔离机制,使得各个计算域能得以资源隔离、性能隔离、故障隔离。一个Xen虚拟机至少要运行虚拟机监控器和特权域,即Xen虚拟机启动后,特权域是必须而且首先进入的操作***,然后再根据具体情况启动客户虚拟域;特权计算域具有最高的权限,特权域利用虚拟域管理工具管理客户计算域,包括创建、删除、访问物理设备等。图2给出了从计算机开机启动到客户虚拟域启动完毕的流程。
特权域的虚拟域管理工具根据客户虚拟域的虚拟域配置文件来启动相应的客户虚拟域,该配置文件中指定了要启动的虚拟域的CPU、内存、磁盘、网络等设备资源信息,同时还包括虚拟域的内核等启动信息。客户虚拟域操作***的内核启动文件可以存放在特权域,也可以存放在虚拟域的存储空间,后种方式更为通用,其启动需要虚拟域***引导管理器的参与,图3给出了后种方式下,虚拟域***引导管理器在虚拟域启动过程的工作流程以及vTPM设备的初始化过程。虚拟域管理工具根据虚拟域配置文件的信息将控制权交给虚拟域***引导管理器;虚拟域***引导管理器访问客户虚拟域的磁盘镜像文件,从中找到客户虚拟域的引导配置信息并加以分析,然后将启动选项输出并提供用户选择,然后根据用户的选择结果,将相应的内核启动文件存放到特权域中,并将内核启动文件的路径信息反馈给虚拟域管理工具,然后虚拟域管理工具继续虚拟域的启动工作。
网络化时代对PC的安全性和易用性提出了越来越高的要求,传统的PC***结构以效率优先而不是以安全优先原则设计的,因此现有的PC***越来越容易遭受黑客、间谍软件和病毒的攻击。为了解决PC机结构上的不安全问题,从根本上提高其可信性,可信计算平台联盟TCPA(后来更名为TCG)提出通过增强现有的终端体系结构的安全性来保证整个***的安全,主要思路是在各种终端(包含PC、手机以及其它移动智能终端等)硬件平台上引入具有安全存储和加密功能的可信平台模块(又称为可信芯片)TPM;将启动操作***的过程分为几个相对独立的层,以TPM作为可信计算平台的信任根,下层先度量验证上层完整性,并将度量结果存入TPM芯片的PCR寄存器中,然后传递***的运行控制权,层层迭代,直至控制权传予操作***内核,构建一条完善的信任链,见图4。TPM寄存器的数据在计算机启动后不能直接修改,也不能清空。用户可以根据相应PCR寄存器的数值判断当前运行环境是否可信,是否存在某些环节出现安全问题。信任链中各个阶段进行完整性度量是由不同软件完成的:(1)BIOS、可选ROM以及操作***引导管理器的初始部分的度量软件由硬件厂商提供,(2)操作***引导管理器的剩余部分以及操作***内核的度量由TrustGrub(开源软件)完成,(3)操作***启动以后的软件度量由IBM公司开发的IMA软件完成。
基于虚拟化技术与可信计算技术的终端平台安全解决方案的有效实施必须解决两个问题:一是如何为客户虚拟域提供TPM设备,图5给出了支撑客户虚拟域基于纯软件的虚拟TPM进行可信计算的***框架图;二是如何完成客户虚拟域的可信链各个阶段的完整性度量。TrustGrub是一个开源软件,可以完成虚拟机监控器和特权域操作***内核的完整性度量;IMA是IBM公司开发的软件,可以完成特权域中各种应用程序的完整性度量;通过将IMA软件整合到客户虚拟域操作***内核,可以实现对客户虚拟域应用程序的度量。由于虚拟域管理工具和虚拟域引导管理器缺乏度量功能,客户虚拟域操作***启动文件的完整性度量只能在整个计算机启动的时候,由TrustGrub来进行。这种方法有以下缺陷:(1)安全隐患,(2)可信虚拟域部署必须在计算机启动之前完成,可信虚拟域内核在计算机启动之后的任何修改都需要重新启动计算机后才能起作用,影响了其它虚拟域的运行,使得整个***缺乏灵活性,降低了Xen虚拟技术的优势。
发明内容
本发明的目的在于避免上述现有技术不足之处而提供支持零宕机的可信虚拟域启动文件完整性度量的方法,通过修改虚拟域管理工具和虚拟域引导管理器,实现了可信虚拟域***启动文件在虚拟域***启动时才进行完整性度量。
本发明的目的可以通过以下措施来达到:
支持零宕机的可信虚拟域启动文件完整性度量的方法,通过修改特权域的虚拟域管理工具和虚拟域引导管理器,实现可信虚拟域***启动时才进行虚拟域启动文件的完整性度量,该方法部署方式如下:
(1)、首先虚拟域管理工具根据虚拟域配置文件启动客户虚拟域;
(2)、虚拟域管理工具首先为该客户虚拟域分配惟一标识号,然后对该配置文件进行完整性度量并缓存度量值,并将缓存度量值以十六进制ASCII的形式存放到特权域/var/run/xend/boot/vm_boot_hash_%s文件中,这里的%s是该虚拟域的惟一标识号;
(3)、虚拟域管理工具根据虚拟域配置文件中的虚拟域引导管理器路径信息,调用虚拟域***引导管理器,并将虚拟域标识号、磁盘镜像文件信息传递给虚拟域***引导管理器;
(4)、虚拟域***引导管理器访问虚拟域的磁盘镜像文件,从中提取虚拟域引导配置文件信息并解析,包括对新增加的measure参数的解析,然后将启动选项输出到终端并等待用户的选择;
(5)、用户选择之后,虚拟域引导管理器按照measure参数列出的文件顺序对这些文件依次进行完整性度量,然后将度量结果以十六进制ASCII的形式存放到/var/run/xend/boot/vm_boot_hash_%s文件中,同时将引导配置文件指定的PCR序号也写入/var/run/xend/boot/vm_boot_hash_%s文件,这里的%s是该虚拟域标识号;最后虚拟域引导管理器将选择项指定的内核启动文件复制到特权域的/var/run/xend/boot/目录下并重命名,并将重命名后的文件名以及选择项指定的启动参数通过管道文件传递给虚拟域管理工具;
(6)、虚拟域管理工具从管道获取信息后,分配***资源、启动虚拟域并发出创建vTPM设备的指令;
(7)、虚拟域的虚拟TPM设备启动并开始工作后,首先根据通过自身的vTPM惟一标识号到XenStore中去查找对应的虚拟域标识号,然后并根据该标识号找到位于/var/run/xend/boot/路径下的vm_boot_hash_%s文件,这里的%s是查找到的对应该vTPM的虚拟域标识号;
(8)、vTPM设备程序读取文件中的度量结果,并将其通过TPM_Extend方法记录到文件指定的PCR寄存器中。
通过上述方法的部署,可信虚拟域内核在计算机运行的情况下可以做随意的修改然后再启动,每次可信虚拟域启动的时候,该虚拟域的配置文件、内核等启动文件进行完整性度量,度量结果存放到虚拟TPM设备的PCR寄存器中;可信虚拟域重新启动不影响在该硬件平台运行的其他虚拟域。
本发明相比现有技术具有如下优点:
1、本发明首次提出了对虚拟域配置文件的度量,增强了虚拟域的可信度。
2、本发明极大缩短了虚拟域启动文件的完整性度量与使用之间的间隔时间,增强了虚拟域的安全性。
3、本发明在实现可信虚拟域的同时,保持了Xen虚拟技术的优势,允许在计算机运行过程中动态地进行可信虚拟域部署,包括虚拟域内核***的重新定制或升级,实现了可信虚拟域启动不会间断同一硬件平台上的其它虚拟域的数据业务。
4、本发明与现有的虚拟环境下的其他可信计算技术不冲突,能够与这些技术协同工作,建立完整的虚拟域启动可信链。
附图说明
图1为Xen虚拟机框架图
图2给出了计算机开机启动到客户虚拟域启动完毕的过程
图3给出了虚拟域启动过程中虚拟域***引导管理器的工作流程以及vTPM设备的初始化过程
图4给出了计算机启动过程中执行流和度量流
图5给出了支撑客户虚拟域基于虚拟TPM进行可信计算的***框架图
图6是本发明中具有虚拟域启动文件完整性度量功能的虚拟域启动流程图。
具体实施方式
本发明通过修改虚拟域管理工具和虚拟域引导管理器,实现了可信虚拟域***启动文件在虚拟域***启动时才进行完整性度量。启动文件包括虚拟域配置文件、虚拟域引导配置文件以及该文件指定的需要度量的文件。
启动文件的完整性度量的过程如下:
(1)虚拟域管理工具开始启动客户虚拟域。
(2)虚拟域管理工具度量虚拟域配置文件并保存结果。
(3)虚拟域管理工具调用虚拟域***引导管理器。
(4)虚拟域***引导管理器读取并解析引导配置文件,对measure关键词指定的的文件进行完整性度量并保存结果,同时保存引导配置文件所指定的PCR序号。
(5)虚拟域***引导管理器继续一些初始化工作,然后将控制权给虚拟域管理工具。
(6)虚拟域管理工具发出创建vTPM设备的命令
(7)vTPM设备程序,在初始化完成之后读取虚拟域管理工具和虚拟域***引导管理器两个程序对虚拟域配置文件和用户指定的文件的度量结果,并将结果存储到指定的PCR寄存器中。
下面根据图6对本发明中涉及的各组件的工作流程进行详细说明:
1、首先虚拟域管理工具根据虚拟域配置文件启动客户虚拟域。
2、虚拟域管理工具首先为该客户虚拟域分配惟一标识号,然后对该配置文件进行完整性度量并缓存度量值,并将缓存度量值以十六进制ASCII的形式存放到特权域/var/run/xend/boot/vm_boot_hash_%s文件中。这里的%s是该虚拟域的惟一标识号,这样可以用于区别不同的虚拟域的度量结果。
3、虚拟域管理工具根据虚拟域配置文件中的虚拟域引导管理器路径信息,调用虚拟域***引导管理器,并将虚拟域标识号、磁盘镜像文件等信息传递给虚拟域***引导管理器。
4、虚拟域***引导管理器访问虚拟域的磁盘镜像文件,从中提取虚拟域引导配置文件信息并解析,包括对新增加的measure参数的解析,然后将启动选项输出到终端并等待用户的选择。
5.用户选择之后,虚拟域引导管理器按照measure参数列出的文件顺序对这些文件依次进行完整性度量,然后将度量结果以十六进制ASCII的形式存放到/var/run/xend/boot/vm_boot_hash_%s文件中,同时将引导配置文件指定的PCR序号也写入/var/run/xend/boot/vm_boot_hash_%s文件,这里的%s是该虚拟域标识号;最后虚拟域引导管理器将选择项指定的内核启动文件复制到特权域的/var/run/xend/boot/目录下并重命名,并将重命名后的文件名以及选择项指定的启动参数通过管道文件传递给虚拟域管理工具。
6、虚拟域管理工具从管道获取信息后,分配***资源、启动虚拟域并发出创建vTPM设备的指令。
7、虚拟域的虚拟TPM设备程序启动并开始工作后,首先根据自身的vTPM惟一标识号到XenStore中去查找对应的虚拟域标识号,然后并根据虚拟域标识号找到位于/var/run/xend/boot/路径下的vm_boot_hash_%s文件,这里的%s是查找到的对应该vTPM的虚拟域标识号。
8、vTPM设备程序读取/var/run/xend/boot/vm_boot_hash_%s文件中的度量结果,并将其通过TPM_Extend方法记录到文件指定的PCR寄存器中。
通过上述方法,可以实现在不重新启动计算机的情况下,对可信虚拟域的内核进行修改后再启动;虚拟域启动过程中,对该虚拟域的配置文件、内核、策略等重要文件进行完整性度量,并记录到相应的虚拟TPM设备中;而这一过程对其他虚拟域不会造成任何影响,保证了可信虚拟域的启动不会间断同一硬件平台上的其它虚拟域的数据业务;完整性度量结果可以在虚拟域启动完成之后通过TPM工具进行查看和分析。
Claims (2)
1.支持零宕机的可信虚拟域启动文件完整性度量的方法,其特征在于:在特定的Xen虚拟机环境下,本方法通过修改特权域的虚拟域管理工具和虚拟域引导管理器,实现可信虚拟域***启动时才进行虚拟域启动文件的完整性度量,该方法部署方式如下:
(1)、首先虚拟域管理工具根据虚拟域配置文件发出启动客户虚拟域的命令;
(2)、虚拟域管理工具首先为该客户虚拟域分配惟一标识号,然后对该配置文件进行完整性度量并缓存度量值,并将缓存度量值以十六进制ASCII的形式存放到特权域/var/run/xend/boot/vm_boot_hash_%s文件中,这里的%s是该虚拟域的惟一标识号;
(3)、虚拟域管理工具根据虚拟域配置文件中的虚拟域引导管理器路径信息,调用虚拟域引导管理器,并将虚拟域标识号、磁盘镜像文件信息传递给虚拟域引导管理器;
(4)、虚拟域引导管理器访问虚拟域的磁盘镜像文件,从中提取虚拟域引导配置文件信息并解析,包括对新增加的measure参数的解析,然后将启动选项输出到终端并等待用户的选择;
(5)、用户选择之后,虚拟域引导管理器按照measure参数列出的文件顺序对这些文件依次进行完整性度量,然后将度量结果以十六进制ASCII的形式存放到/var/run/xend/boot/vm_boot_hash_%s文件中,同时将引导配置文件指定的PCR序号也写入/var/run/xend/boot/vm_boot_hash_%s文件,这里的%s是该虚拟域标识号;最后虚拟域引导管理器将用户选择的启动项指定的内核启动文件复制到特权域的/var/run/xend/boot/目录下并重命名,并将重命名后的文件名以及选择项指定的启动参数通过管道文件传递给虚拟域管理工具;
(6)、虚拟域管理工具从管道获取信息后,分配***资源、启动客户虚拟域并发出创建虚拟TPM设备的指令,其中TPM代表可信平台模块;
(7)、虚拟域的虚拟TPM设备启动并开始工作后,首先根据通过自身的虚拟TPM设备惟一标识号到XenStore中去查找对应的虚拟域标识号,然后并根据该标识号找到位于/var/run/xend/boot/路径下的vm_boot_hash_%s文件,这里的%s是查找到的对应该虚拟TPM设备的虚拟域标识号;
(8)、虚拟TPM设备程序读取文件中的度量结果,并将其通过TPM_Extend方法记录到文件指定的PCR寄存器中。
2.根据权利要求1所述的支持零宕机的可信虚拟域启动文件完整性度量的方法,其特征在于:通过上述方法的部署,可信虚拟域内核在计算机运行的情况下可以做随意的修改然后再启动,每次可信虚拟域启动的时候,对该启动虚拟域的启动文件进行完整性度量,度量结果存放到虚拟TPM设备的PCR寄存器中;可信虚拟域重新启动不影响在该虚拟域所运行的硬件平台上运行的其他虚拟域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100763929A CN101488173B (zh) | 2009-01-15 | 2009-01-15 | 支持零宕机的可信虚拟域启动文件完整性度量的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2009100763929A CN101488173B (zh) | 2009-01-15 | 2009-01-15 | 支持零宕机的可信虚拟域启动文件完整性度量的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101488173A CN101488173A (zh) | 2009-07-22 |
CN101488173B true CN101488173B (zh) | 2010-10-27 |
Family
ID=40891059
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2009100763929A Expired - Fee Related CN101488173B (zh) | 2009-01-15 | 2009-01-15 | 支持零宕机的可信虚拟域启动文件完整性度量的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101488173B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101834860B (zh) * | 2010-04-22 | 2013-01-30 | 北京交通大学 | 一种远程动态验证客户端软件完整性的方法 |
WO2013032442A1 (en) * | 2011-08-30 | 2013-03-07 | Hewlett-Packard Development Company , L.P. | Virtual high privilege mode for a system management request |
CN102750470B (zh) * | 2012-05-22 | 2014-10-08 | 中国科学院计算技术研究所 | 全虚拟化环境下启动加载器的可信验证方法和*** |
GB2513826A (en) | 2012-06-29 | 2014-11-12 | Ibm | Trusted boot of a virtual machine |
US8954965B2 (en) * | 2012-08-03 | 2015-02-10 | Microsoft Corporation | Trusted execution environment virtual machine cloning |
CN104216743B (zh) * | 2014-08-27 | 2017-08-25 | 中国船舶重工集团公司第七0九研究所 | 可配置的虚拟机启动完整性维护的方法及*** |
US20160350534A1 (en) * | 2015-05-29 | 2016-12-01 | Intel Corporation | System, apparatus and method for controlling multiple trusted execution environments in a system |
CN107357908B (zh) * | 2017-07-17 | 2020-07-03 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟机***文件的检测方法与装置 |
CN107392030A (zh) * | 2017-07-28 | 2017-11-24 | 浪潮(北京)电子信息产业有限公司 | 一种检测虚拟机启动安全的方法及装置 |
CN107563186A (zh) * | 2017-08-30 | 2018-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种安全启动方法和装置 |
CN109165079B (zh) * | 2018-08-07 | 2021-07-27 | 郑州云海信息技术有限公司 | 基于虚拟化的云数据中心可信平台、信任链构建方法 |
CN111831609B (zh) * | 2020-06-18 | 2024-01-02 | 中国科学院数据与通信保护研究教育中心 | 虚拟化环境中二进制度量值统一管理和分发的方法和*** |
-
2009
- 2009-01-15 CN CN2009100763929A patent/CN101488173B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101488173A (zh) | 2009-07-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101488173B (zh) | 支持零宕机的可信虚拟域启动文件完整性度量的方法 | |
US9996374B2 (en) | Deployment and installation of updates in a virtual environment | |
US11017074B2 (en) | Credential safety management for software containers | |
US9852001B2 (en) | Compliance-based adaptations in managed virtual systems | |
US9563460B2 (en) | Enforcement of compliance policies in managed virtual systems | |
US9710482B2 (en) | Enforcement of compliance policies in managed virtual systems | |
US11050623B2 (en) | Managing virtual network functions | |
EP2530591B1 (en) | Control and management of virtual systems | |
US8448219B2 (en) | Securely hosting workloads in virtual computing environments | |
US9038062B2 (en) | Registering and accessing virtual systems for use in a managed system | |
US8949826B2 (en) | Control and management of virtual systems | |
US9086917B1 (en) | Registering and accessing virtual systems for use in a managed system | |
US8458695B2 (en) | Automatic optimization for virtual systems | |
US20140025961A1 (en) | Virtual machine validation | |
CN107704308B (zh) | 虚拟平台vTPM管理***、信任链构建方法及装置、存储介质 | |
EP2619701A1 (en) | Attesting use of an interactive component during a boot process | |
US20130219499A1 (en) | Apparatus and method for providing security for virtualization | |
CN101488175B (zh) | 基于轮询机制的防止可信客户虚拟域启动崩溃的方法 | |
US20230130897A1 (en) | Distributed Data Center | |
US12001303B2 (en) | Data center restoration and migration | |
Wu et al. | A Linux Cluster Automatic Deployment Method Under X86 Architecture | |
Wang et al. | Research on the Trusted Enhancement Technology Based on Bare Metal Model Virtual Machine | |
Aderholdt et al. | Review of enabling technologies to facilitate secure compute customization | |
Sun | Runtime detection and recovery infrastructure for embedded systems= Kumikomi shisutemu muke no ijo kenchi to shufuku infurasutorakucha |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20101027 Termination date: 20120115 |