CN101350044A - 一种虚拟环境信任构建方法 - Google Patents

一种虚拟环境信任构建方法 Download PDF

Info

Publication number
CN101350044A
CN101350044A CNA2008101192821A CN200810119282A CN101350044A CN 101350044 A CN101350044 A CN 101350044A CN A2008101192821 A CNA2008101192821 A CN A2008101192821A CN 200810119282 A CN200810119282 A CN 200810119282A CN 101350044 A CN101350044 A CN 101350044A
Authority
CN
China
Prior art keywords
tpm
virtual
context
territory
trust
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
Application number
CNA2008101192821A
Other languages
English (en)
Other versions
CN101350044B (zh
Inventor
冯等国
秦宇
聂晓伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN2008101192821A priority Critical patent/CN101350044B/zh
Publication of CN101350044A publication Critical patent/CN101350044A/zh
Application granted granted Critical
Publication of CN101350044B publication Critical patent/CN101350044B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种虚拟环境信任构建方法,属于信息安全中的可信计算领域。本发明使用单个TPM实现一个或多个虚拟域的信任,包含下列步骤:a)TPM依次度量硬件,虚拟层,管理虚拟域和一个或多个应用虚拟域,实现所述应用虚拟域的信任;b)接收并处理来自各个虚拟域的TPM命令请求,为各个虚拟域创建和维护TPM上下文。本发明的优势在于(1)通过完善的可信隔离机制加强了平台的安全性和可信性,更好的支持可信应用服务;(2)实现了各虚拟域对可信硬件根TPM的安全共享。

Description

一种虚拟环境信任构建方法
技术领域
本发明涉及一种虚拟环境信任构建方法,具体地说,本发明涉及一种将可信计算和虚拟技术相结合,通过完善的信任链传递机制构建可信虚拟平台的安全应用解决方法,属于信息安全中的可信计算领域。该方法支持各个虚拟域对可信硬件根的安全共享,为分布式安全应用提供可靠服务。
背景技术
随着信息技术的发展,计算机系统所处的环境进一步复杂化和多样化,传统的基于软件的安全解决方案(如防火墙、入侵检测、防病毒),往往很难抵挡住黑客,病毒,内部窃密者的侵袭。针对这些问题,为了增强计算机平台的内部免疫力,近年来以可信平台模块(Trusted Platform Module,TPM)为核心的可信计算平台技术迅速发展,可信计算提供了基于可信硬件提供的可信度量、可信证明、可信封装等安全功能,构建从“硬件-系统-应用”的信任框架体系,保证了平台的完整性、机密性和可用性。由国际大型IT公司(如Intel,IBM,Microsoft等)组成的可信计算组织(TCG)自成立以来,一直致力于可信计算的规范化和应用的推广,提出了面向多个分布式环境的基于可信平台的解决方案,极大地扩展了可信计算技术的应用范围,同时诸多科研机构和学术机构也将可信计算作为重点研究课题,可信计算已经成为信息安全中最热门的技术之一。
另一方面,应用的复杂性对于计算机系统的性能和功能有了更高的要求,传统的单机系统往往体现出功能单一的缺陷,难以满足系统服务多样化的要求.在一个硬件平台上支持多个操作系统的虚拟技术应运而生。可信虚拟系统中,对硬件实现虚拟或半虚拟功能的虚拟机监控层(VMM)提供隔离机制,支持多个操作系统并发执行。虚拟机监控层上运行的操作系统之间彼此互相隔离,可以支持不同的异构环境,对系统的性能影响较小。市场的驱动催生了支持虚拟技术(VT)的CPU芯片,Intel,AMD相继发布支持VT的CPU。支持VT的CPU大大提升了虚拟机监控器对虚拟机的掌控灵活性和粒度,而且充分考虑了如何有效减小虚拟机的开销,使得创建完全虚拟化实现方案成为可能。剑桥大学在此基础上,研发了基于半虚拟化的Xen技术,其特点为支持开源、系统性能影响小,支持更多的硬件驱动。
将可信技术和虚拟技术相结合而成的可信虚拟技术,可以构建可信虚拟层,保证进程间的可信隔离,同时可以为各个虚拟操作系统提供可信平台支持,增强系统的安全性。Standford大学提出的Terra系统,建立一个以可信硬件为信任根的可信虚拟层(TVMM),同时对应用程序实施认证,但其中软件升级和更新存在不安全因素,同时证书撤销机制复杂。Intel和IBM针对可信虚拟平台首先提出了VTPM体系结构,对物理TPM实施虚拟化,解决各虚拟域对TPM的共享问题,但VTPM采取对TPM虚拟化的方式,为每个虚拟域提供基于软件的信任根,无法支持各虚拟域基于硬件的证明和加密机制。IBM针对可信虚拟平台中各个虚拟域的安全共享,提出了sHype结构,基于安全策略STE和Chinese Wall对各个虚拟域的安全共享实施访问控制。sHype对各个虚拟域实施访问控制粒度较粗,不能支持基于可信平台属性的访问控制。IBM在VTPM和sHype技术的基础上提出面向分布式Web服务的可信虚拟域技术(TVD),但在安全性和扩展性方面存在一定局限性。目前的可信虚拟平台构建的信任链机制,主要集中在某一方面,同时存在不足,难以构建完整和完善的虚拟环境信任链机制。
发明内容
本发明的目的是在虚拟环境中构建完整和完善的信任系统,该信任系统贯穿于平台的启动、加载、应用过程中,可以较好的支持各个虚拟域对外提供可信服务,满足分布式环境的安全需求,虚拟机信任构建过程主要包括如下两个环节:
(1)虚拟环境的信任建立:在虚拟平台硬件加电启动、虚拟层加载、虚拟域启动和创建阶段,提供完整性度量机制,并保证度量值的完整性,是平台对外证明自身可信性的依据,构成可信虚拟平台的信任前提和依据。
(2)各虚拟域对TPM的安全共享:在可信虚拟域建立后的可信应用阶段,接收和处理来自虚拟域的TPM命令请求,为每个虚拟域创建并维护相应的TPM上下文,实现基于虚拟域的TPM资源可信隔离,构成可信虚拟平台运行的可信环境。
根据上述内容,本发明设计了虚拟环境信任构建系统,系统的核心是运行于虚拟机监控器层的TPM信任构建器(TPM Trust Builder),如图1所示,主要包括虚拟域信任建立模块、TPM上下文管理模块。这两个模块共同完成虚拟环境的信任构建过程:虚拟域信任建立模块主要建立从硬件启动、虚拟层加载、虚拟域启动的信任传递机制;TPM上下文管理模块为每个虚拟域创建和维护对应的TPM上下文,为虚拟域运行环境提供可信的密码服务、密钥管理服务、虚拟机完整性管理服务、远程证明服务等。上述虚拟域信任建立模块和TPM上下文管理模块都建立在TPM物理芯片之上,通过TPM驱动程序调用TPM安全芯片。
上述两个模块运行于平台运行的不同阶段,完成信任链的最终建立:首先,虚拟域信任建立模块执行于系统启动、虚拟机新创建和运行、虚拟机状态恢复阶段,主要用来度量系统过程中加载的内核模块、可执行文件、各种库文件,保证可信虚拟平台启动过程的可信;然后,虚拟平台TPM上下文管理模块执行在虚拟域操作TPM命令阶段,主要接受来自每个虚拟域的TPM命令请求,为每个虚拟域创建和维护TPM上下文,保证虚拟域在运行过程中的可信。
下面对上述两个模块分别阐述如下:
虚拟域信任建立模块
该部分根据可信虚拟平台体系结构,分两阶段对虚拟域启动、加载、建立过程实施度量,同时保证度量值的完整性,可以作为可信证明的基础和依据,如图2所示。
(1)系统启动阶段
系统启动阶段完成硬件、固件、可信引导器、虚拟机监控器的完整性检查。主要过程为:
a)从系统加电启动开始,TPM度量硬件BIOS并将度量值扩展存入PCR中;
b)TPM度量引导系统(BootLoader)并将其度量值扩展存入PCR中,将启动控制权转移给引导系统;
c)TPM度量虚拟层(VMM)并将其度量值扩展存入PCR中,将启动控制权转移给虚拟层(VMM);
d)TPM度量加载的管理虚拟域(Management VM)内核并将其度量值扩展存入PCR中,将启动控制权转移给管理虚拟域(Management VM);
e)在管理虚拟域(Management VM)启动的过程中,调用TPM对加载的内核模块、库文件、可执行文件实施度量验证,并将度量值扩展存入PCR中。
第一阶段保证信任机制从可信硬件TPM扩展至管理虚拟域(Management VM),是构成第二阶段信任的基础。
(2)虚拟机运行阶段
虚拟机运行阶段完成虚拟机运行的信任建立,主要过程为:
a)管理虚拟域(Management VM)调用TPM对启动的各个应用虚拟域(Guest VM)内核进行度量验证,并将度量值扩展PCR存入为各个应用虚拟域建立的虚拟PCR,即VPCR,中,开启应用虚拟域(Guest VM)的启动;
b)在应用虚拟域(Guest VM)启动过程中,对加载的内核模块、库文件、可执行文件实施度量验证,并将度量值扩展存入VPCR中。
第二阶段的信任是在第一阶段的基础上把信任机制进一步扩展至应用空间,满足可信安全应用。在两阶段信任建立的同时,必须保证度量值的完整性。第一阶段完整性度量值直接通过扩展进入实际硬件TPM中的平台配置寄存器(PCR)。第二阶段主要通过建立每个虚拟域对应的虚拟平台配置寄存器(VPCR)和实际PCR的映射关系保证其的完整性。
虚拟域信任建立模块是整个信任系统信任链传递的前提,其保证了从系统启动、虚拟层加载、虚拟域启动过程的可信性,为对外信任证明提供了客观、真实的依据。
TPM上下文管理模块
TPM上下文管理模块主要为每个Guest VM创建和维护相应的TPM上下文,实现每个虚拟域对可信硬件根TPM的安全共享,保证可信硬件根TPM的唯一性,支持每个虚拟域基于硬件的数据封装和远程证明。
TPM上下文管理模块包括:TPM命令接口,TPM上下文接口和TPM处理接口,如图3所示。
对VM的TPM请求处理包含三个阶段:TPM命令接收和解析、TPM上下文的创建和维护、TPM命令处理,处理流程具体如下:
(1)TPM命令的接收和解析,主要由TPM命令接口完成
TPM命令接口接受来自虚拟域的TPM命令请求,实施分析,判定TPM命令的流向,具体来说:
a)TPM命令接口对来自虚拟域的TPM命令请求实施解析,判定TPM命令的类型和对应的虚拟域标识符(DomainID);
b)对于来自于Guest VM的TPM命令请求,TPM命令接口依据每个Guest VM对TPM命令的访问权限,判定其对TPM命令的执行权限,若无权执行则放弃该请求,有权执行则将TPM命令请求发送至TPM上下文接口。对于来自于管理虚拟域的TPM命令请求则直接获得执行权限并发送至TPM上下文接口,从而实现基于虚拟域的TPM命令访问控制;
c)获得执行权限的TPM命令请求可分为两类:
i.与TPM上下文无关的命令,任何VM都可以发布此类命令,其执行没有冲突;
ii.与TPM上下文相关的命令,主要包括虚拟域启动或关闭时发出的创建或删除TPM上下文命令请求、命令的执行与每个TPM上下文中的资源如密钥(Key)和平台配置寄存器(PCR)等关联。
其中与TPM上下文无关的命令直接发给TPM处理接口,交由硬件TPM执行,和TPM上下文相关的命令由步骤(2)TPM上下文接口执行,根据情况再进一步发给TPM处理接口执行。
(2)TPM上下文的创建及维护,主要由TPM上下文接口完成
对来自Guest VM的和TPM上下文相关的命令,为每个Guest VM创建、维护、管理相应的TPM上下文,主要包括:TPM上下文的安全存储、TPM上下文的维护,分别描述如下:
1)TPM上下文的安全存储:为每个Guest VM维护相应的TPM上下文,主要内容包括:虚拟平台配置寄存器(VPCR)、TPM状态、关联接口状态、TPM的密钥句柄、会话句柄,对其的具体表示和存储方式表示如下:
a)VPCR:VPCR直接存储了每个Guest VM所对应平台度量值。对于VPCR的完整性保护,主要通过杂凑树的运算将Guest VM中的各个度量点的度量值汇聚成该Guest VM的度量值,并建立实际硬件PCR和VPCR的对应关系,如图4所示。该杂凑树中,每个根节点是每个Guest VM所对应的VPCR,称为VPCRi(对应第i个Guest VM,i应在允许的虚拟域最大数目范围内)和TPM的PCRJ(对应第j个PCR,j应在PCR的数目范围)建立映射,用TREE表示图4所示杂凑数算法,对应关系可以表示为:
PCR J = VPCR i = TREE ( VPCR i 0 . . . VPCR i pn )
其中pn表示Guest VM对应平台配置寄存器数目。
b)TPM及关联接口状态:为每个Guest VM建立对应的虚拟的TPM状态,同时根据每个Guest VM对应的TPM驱动连接(TPM Frontend和Backend)状态实施保存,作为该Guest VM可否执行TPM命令的依据。
c)TPM密钥及会话句柄。为每个Guest VM将其创建的密钥及会话句柄实施记录,建立每个Guest VM和密钥及会话句柄的对应关系。
TPM上下文通过TPM处理接口提供的数据封装机制实施保护。
2)TPM上下文的维护。对TPM命令接口传来的和TPM上下文相关的命令,对于相应的TPM上下文实施处理,主要包括:
a)分配和清除TPM上下文资源。当Guest VM启动或关闭时,为其分配相应的TPM上下文资源,返回TPM命令接口。
b)验证和记录TPM上下文的实体资源。对TPM命令中需要访问的实体资源,首先根据所维护TPM上下文实施验证,如果验证通过,则进一步发给TPM处理接口处理。
(3)TPM命令的处理,主要由TPM处理接口完成
主要对TPM命令请求,验证其的完整性,交由硬件TPM实施处理,进一步协助TPM完成可能引起TPM冲突的操作,减轻TPM负载能力,同时还对TPM上下文提供数据封装,保护TPM上下文的安全。主要处理以下命令:
1)来源于TPM命令接口,即经过分析判断后直接送由TPM执行的命令,如Get Capability命令,SHA1操作命令等,该类命令和TPM上下文无关,不会引起资源冲突。同时还有Management VM发布的只有TPM Owner才能执行的管理TPM的命令,也是直接传递给TPM硬件执行,命令执行完成后返回。
2)来源于TPM上下文接口,主要处理访问TPM上下文资源的命令以及TPM上下文发出的安全存储需求,分别有:
a)处理访问TPM上下文资源的命令。主要针对TPM命令接口发出的和TPM上下文资源相关的命令,由TPM上下文接口验证通过后,根据TPM命令的不同类型实施处理,主要包括直接对TPM上下文操作、再进一步发给TPM硬件执行,同时针对从硬件TPM返回的结果,需要在TPM上下文中实施记录,便于下次访问。
b)处理TPM上下文发出的安全存储命令。针对TPM上下文发出的安全存储命令,采取密码机制,提供数据封装/解封操作,保证TPM上下文的安全性。
TPM上下文管理模块为虚拟机提供了可信的运行环境,其接收来自虚拟域的TPM命令请求,创建和维护TPM上下文和虚拟域的对应关系,较好的支持各虚拟域基于硬件的数据封装和远程证明,进一步将基于硬件根TPM的信任机制扩展至每个虚拟域中。
以上两个核心模块完成了虚拟环境下从系统启动到应用服务的信任构建。
此外,本发明还可配置虚拟平台日志、虚拟平台迁移、可信平台管理等扩展部件,实现TPM上下文模块的管理功能。TPM上下文管理操作只能由特权管理域的管理员完成,其他普通虚拟域的用户无权执行管理操作。
TPM上下文模块的管理操作流程具体步骤如下:
1)TPM上下文模块接收到来自管理虚拟域的管理员的管理操作请求。
2)TPM上下文模块分析管理请求的类型,根据不同的请求类型执行相应的处理。
a)如果是日志管理请求,TPM上下文模块提供相关虚拟域操作日志供管理员查询、删除、归档。
b)如果是访问控制策略管理请求,TPM上下文模块提供访问控制策略的创建、修改、删除、取消。
c)如果是平台迁移管理操作请求,TPM上下文模块提供虚拟域上下文的存档,传输密钥的协商,上下文存储镜像的加密传输。
d)如果是密钥迁移操作请求,TPM上下文模块修改密钥所属的虚拟域上下文属性,实现密钥在同一平台不同虚拟域之间的密钥迁移。
3)TPM上下文模块将管理请求结果返回给管理员。
本发明针对虚拟环境,构建了完整和完善的信任系统,实现更为安全的分布式应用,优点主要表现在:
(1)完善的可信隔离机制。在可信硬件根TPM提供可信度量和可信证明的基础上,构建两层度量体系,保证平台启动和建立过程中的可信性,在此基础上,对应用级别的虚拟域提供了可信隔离机制。相比其他信任体系结构,加强了平台的安全性和可信性,更好的支持可信应用服务。
(2)安全的共享TPM。在为每个虚拟域创建和维护TPM上下文的基础上,实现了各虚拟域对可信硬件根TPM的安全共享。解决了其他的对TPM虚拟化的解决方案的中软件信任根的平台身份认证问题,有效的支持各虚拟域基于硬件的数据封装和远程证明。
附图说明
图1是本发明虚拟环境信任构建系统示意图;
图2是本发明虚拟环境的两层度量体系结构示意图;
图3是本发明TPM上下文管理模块结构示意图;
图4是本发明基于Hash Tree的VPCR结构;
图5是本发明实施例基于Xen的可信虚拟环境示意图。
具体实施方式
下面通过具体实施例结合附图对本发明作进一步描述。
本实施例对虚拟环境中的信任系统实施构建主要是建立在Xen技术的基础上,Xen建立在半虚拟化技术(Para Virtualization)之上,其中的虚拟层(VMM)中的系统管理程序(XenHypervisor)对内存、CPU、I/O实施虚拟化,在此基础上,对各虚拟域提供了地址空间隔离机制,提高系统性能。为了更好的实现安全应用,Xen将管理虚拟域和应用虚拟域分别实现为Domain0和DomainU,其中Domain0对DomainU的运行、操作实施管理。目前,Xen对于DomainU发出的TPM命令请求,主要由Domain0和DomainU之间采取Event Channel通信机制,由Domain0接受来自DomainU的TPM命令请求,为每个DomainU维护相应的TPM实例,但该种方案不能支持各虚拟域基于硬件的数据封装和可信证明。
基于Xen的信任构建系统如图5所示,整个系统的核心是执行在Xen层的TPM信任构建器,其基于可信硬件TPM,保证从系统启动、虚拟域加载、虚拟域运行各部分的可信性,共包括两个核心模块:可信虚拟平台信任模块主要提供了从BIOS启动、BootLoader启动、Xen加载、Domain0启动,DomainU启动的两层度量机制,保证平台信任链的建立,在此基础上,TPM上下文管理模块负责接收来自DomainU传来的TPM命令,为每个DomainU维护相应的TPM上下文(TPM Context),实现各虚拟域对可信硬件TPM的安全共享。下面对上述两个主要模块的具体实施分别描述如下:
虚拟域信任建立模块
虚拟域建立模块随着平台启动而被加载,主要基于TPM的可信度量功能,对加载的虚拟层、虚拟域启动中加载的模块、可执行文件、库文件实施度量,并扩展到相应的平台配置寄存器中,构成信任的前提。根据所处的不同阶段,度量过程分为系统启动度量和虚拟机运行度量,分别实施如下:
(1)系统启动度量
可信启动部分:主要通过对系统引导管理器的修改,采取BIOS度量Grub,在加载Xen之前,对Xen的代码实施度量,保证平台启动环境的可信性。该操作及功能实现都是在引导系统的过程中完成的,尚未进入操作系统,所以其中用到的TPM操作,都是通过在实模式下调用BIOS的中断来实现的。具体实施运用AT&T汇编语言来实现这些函数,这些函数必须清晰明确,可以供上层代码直接调用。函数主要有TPM状态查询函数、TPM的hash操作函数、PCR读取函数、PCR扩展函数、TPM日志函数等,分别实现对TPM相关状态查询、对度量内容的Hash(Sha1算法)、对度量值扩展至相应的PCR中,记录相应的扩展操作。这部分实现对BIOS,Xen层的度量,将BIOS的度量值存入PCR[0]-PCR[6],将Xen层的度量值存入PCR[7]。
Domain0启动部分:主要通过在Domain0内核中插入度量点,对Domain0中启动的内核模块、动态加载库、可执行文件实施度量。其中度量点的插入主要通过在系统调用中插入LSM Hook方式,具体可以分为:内核模块hook、动态加载库hook,可执行文件hook。具体实施采取C语言实现这些函数,函数功能同可信启动部分。这部分实现对Domain0加载部分的度量,将对Domain0的度量值存入PCR[8]。
可信启动和Domain0启动两部分构成第一层完整的信任体系构建机制。
(2)虚拟机运行度量
主要实现对DomainU启动过程中的内核模块、动态加载库、可执行文件实施度量,度量方式同Domain0启动部分,将DomainU的度量值存入每个TPM执行上下文对应的VPCR中,对VPCR的保护通过和实际TPM建立基于Hash Tree的映射方式实现。
整个度量过程贯穿虚拟环境的启动、建立、运行,构成信任建立的前提条件。
TPM上下文管理模块
具体实施中,TPM上下文管理模块主要负责和DomainU通讯,接收来自DomainU的TPM命令,维护相应的TPM上下文,实现各虚拟域对TPM的安全共享。管理模块主要采取C语言对来自DomainU的TPM命令处理流程如下:
(1)TPM命令的接收和解析
采取TPM命令接口实现,主要在原有的虚拟域间的通信机制(Event Channel)中插入截获机制,可以获取从DomainU处传来的TPM数据包,对该数据包实施解析和处理,在此基础上对TPM命令实施访问控制,转发TPM命令给其他部分,步骤如下:
1)获取从DomainU处传来的数据包,对数据包实施解析,得到TPM命令。
2)根据TPM的命令及对应虚拟域,实施访问控制。根据TPM标准规范提供命令管理函数,可以由安全管理员设置DomainU对应命令的标志位,允许或禁止该DomainU使用对应TPM命令,保证DomainU对于TPM命令的安全使用。如果允许使用,则继续执行,否则返回拒绝结果。
3)根据命令的不同类型,实施分析如下:
如果TPM命令和TPM Context无关,则直接由TPM处理接口发给硬件TPM直接执行,并返回执行结果。
如果TPM命令和TPM上下文相关,则发给TPM上下文接口进一步对TPM上下文实施操作。
上述处理步骤中,各个接口的通信方式采取进程间通信中的管道的通信方式。
(2)TPM上下文的创建与维护
采取TPM上下文接口实现,主要创建和维护每个虚拟域对应的TPM上下文,保证各虚拟域对TPM资源的正确访问,主要包括TPM上下文的安全存储和操作,分别实施如下:
1)TPM上下文安全存储。创建TPM静态资源,主要包括:虚拟平台配置寄存器(VPCR)、TPM状态及关联接口状态、TPM的密钥句柄、会话句柄,具体内容如下:
a)VPCR。建立Hash Tree数据结构,分别包括:根节点、节点、静态PCR。其中,静态PCR对应虚拟平台信任模块中第一层度量值(PCR[0]~PCR[8]),节点对应虚拟域的VPCR值及中间Hash结果,根节点则是最终VPCR的最终Hash结果,其中的关系构建按照Hash Tree数据结构构建(可以参照图4)。提供的函数主要有:初始化函数、更新函数、重置函数、映射函数,签名函数、分别实现对Hash Tree的初始化、在VPCR变化后的更新、重置、和实际PCR的映射、采取TPM的签名功能实施签名。该函数实现了为每个虚拟域维护相应的VPCR值,同时建立和实际硬件TPM的PCR的映射,保证完整性。
b)TPM状态及关联接口状态函数。为每个DomainU建立TPM状态(Enable/Disable),同时为每个DomainU建立TPM驱动链接状态(Connected/Disconnected)。该函数根据每个DomainU对应的相应状态,判定DomainU的TPM命令执行。
c)TPM的密钥及会话句柄函数。在每个虚拟域创建密钥和会话时,将相应的密钥及会话加载至TPM中,记录对应的返回密钥句柄和会话句柄,使每个虚拟域可以且仅可以使用自身创建的句柄资源。该函数保证了每个虚拟域对于相应的TPM密钥和会话安全使用。
对TPM上下文的存储采取TPM处理接口提供的封装机制实施保护。
2)TPM上下文操作。主要针对TPM命令接口传来的和TPM上下文相关的命令请求,对TPM上下文实施操作,主要包括:
a)对于创建和撤销虚拟域的TPM上下文请求。在静态TPM资源中分配或者清空对应虚拟域的TPM上下文资源。
b)对于和每个虚拟域上下文相关的TPM命令。主要涉及每个虚拟域的PCR、密钥句柄、会话句柄,先对TPM命令所访问的TPM上下文资源及虚拟域进行检验,保证其的对应关系,再进一步交由TPM处理接口,经过硬件TPM处理,返回执行结果。
(3)TPM命令的处理
采取TPM命令接口实现,主要协助硬件TPM完成TPM请求的处理和响应,同时对TPM上下文的存储实施保护,主要包括:
1)安全存储。主要对来自TPM上下文发出的保护请求,实现密码算法库实施封装和解封,主要密码机制包括:SHA-1算法,RSA算法,RC4对称密钥算法,HMAC算法。
2)TPM请求处理。对TPM上下文接口传来的和上下文相关的TPM命令,分别对应如下函数:
a)PCR处理函数。对和数据完整性相关的TPM命令,依据TPM上下文接口建立的VPCR结构,实施如下:
对VPCR的读取,通过读取对应虚拟域的VPCR结构完成。
对VPCR的扩展,首先对对应虚拟域的VPCR值实施扩展,更新对应的Hash树结构,再将Hash树的根节点写入TPM硬件对应PCR寄存器。
对VPCR的验证。主要针对数据解封操作,首先对相应的VPCR实施验证,如果验证通过,则进一步发给TPM硬件实施解封操作。
会话处理函数。主要针对会话的创建、使用、删除,首先对TPM上下文中的会话资源实施验证,保证虚拟域和资源的对应,进一步发给TPM处理,同时在TPM上下文中记录返回结果。

Claims (8)

1.一种虚拟环境信任构建方法,其特征在于,使用单个TPM实现一个或多个虚拟域的信任,包含下列步骤:
a)TPM依次度量硬件,虚拟层,管理虚拟域和一个或多个应用虚拟域,实现所述应用虚拟域的信任;
b)接收并处理来自各个虚拟域的TPM命令请求,为各个虚拟域创建和维护TPM上下文。
2.如权利要求1所述的方法,其特征在于,步骤a)通过下述步骤实现所述应用虚拟域的信任:
所述TPM依次对BIOS,引导系统,虚拟层,管理虚拟域,以及管理虚拟域加载的内核模块、库文件和可执行文件实施度量,每次度量后将度量值扩展存入PCR,实现所述TPM到所述管理虚拟域的信任传递;
所述TPM依次对一个或多个应用虚拟域以及各个应用虚拟域加载的内核模块、库文件和可执行文件实施度量,每次度量后将度量值扩展存入VPCR,实现所述管理虚拟域到所述应用虚拟域的信任传递。
3.如权利要求1所述的方法,其特征在于,步骤b)所述接收来自各个虚拟域的TPM命令请求时,依据设定的规则判断所述虚拟域是否具有执行所述TPM命令请求所对应的TPM命令的权限,若是则接受所述TPM命令请求。
4.如权利要求1所述的方法,其特征在于,步骤b)所述接收来自各个虚拟域的TPM命令请求时,依据设定的规则判断所述虚拟域中的应用虚拟域是否具有执行所述TPM命令请求所对应的TPM命令的权限,若是则接受所述TPM命令请求,对于管理虚拟域的TPM命令请求则直接接受。
5.如权利要求3或4所述的方法,其特征在于,所述管理虚拟域的TPM命令请求被接受后,判定其是否属于管理员的管理请求,若否则直接交由TPM处理所述TPM命令请求对应的TPM命令;若是则分析所述管理请求的类型,根据不同的类型执行相应的管理操作。
6.如权利要求5所述的方法,其特征在于,所述的管理请求类型若为日志管理类型,则执行虚拟域日志的查询、删除、归档等操作;所述的管理请求类型若为访问控制管理类型,则执行控制策略的创建、修改、删除、取消等操作;所述的管理请求类型若为平台迁移管理类型,则执行虚拟域上下文的存档、传输密钥协商,上下文存储镜像加密传输;所述的管理请求类型若为密钥迁移管理类型,则修改密钥所属的虚拟域上下文属性。
7.如权利要求3或4所述的方法,其特征在于,所述应用虚拟域的TPM命令请求被接受后,判断所述TPM命令请求对应的TPM命令是否和所述应用虚拟域的TPM上下文有关,若否,则交由TPM处理所述TPM命令请求对应的TPM命令,若是,则在TPM处理所述TPM命令请求对应的TPM命令的同时对所述应用虚拟域的TPM上下文作相应的更新。
8.如权利要求1所述的方法,其特征在于,所述TPM上下文包括:虚拟平台配置寄存器、TPM状态、关联接口状态、和TPM的密钥句柄和会话句柄。
CN2008101192821A 2008-09-02 2008-09-02 一种虚拟环境信任构建方法 Active CN101350044B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2008101192821A CN101350044B (zh) 2008-09-02 2008-09-02 一种虚拟环境信任构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2008101192821A CN101350044B (zh) 2008-09-02 2008-09-02 一种虚拟环境信任构建方法

Publications (2)

Publication Number Publication Date
CN101350044A true CN101350044A (zh) 2009-01-21
CN101350044B CN101350044B (zh) 2010-07-14

Family

ID=40268833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008101192821A Active CN101350044B (zh) 2008-09-02 2008-09-02 一种虚拟环境信任构建方法

Country Status (1)

Country Link
CN (1) CN101350044B (zh)

Cited By (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101615236B (zh) * 2009-07-24 2011-07-20 北京工业大学 一种基于强制访问控制技术的可信应用环境构建方法
CN102314373A (zh) * 2011-07-07 2012-01-11 李鹏 一种基于虚拟化技术实现安全工作环境的方法
CN101599022B (zh) * 2009-07-07 2012-07-04 武汉大学 用于虚拟机系统的可信计算基裁剪方法
CN101599025B (zh) * 2009-07-07 2012-07-18 武汉大学 可信密码模块安全虚拟化方法
CN103038746A (zh) * 2010-05-27 2013-04-10 思科技术公司 用于基础设施即服务云环境中的可信执行的方法和装置
CN103069749A (zh) * 2010-08-26 2013-04-24 惠普发展公司,有限责任合伙企业 虚拟环境中的问题的隔离
JP2014112892A (ja) * 2010-03-05 2014-06-19 Interdigital Patent Holdings Inc 機器にセキュリティを提供する方法および装置
CN103902884A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 虚拟机数据保护系统和方法
CN103929422A (zh) * 2014-04-08 2014-07-16 北京工业大学 基于sdn的可信域间安全认证协议
CN104539622A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 虚拟机的深度证明方法、计算设备和计算机系统
CN105095768A (zh) * 2015-08-20 2015-11-25 浪潮电子信息产业股份有限公司 一种基于虚拟化的可信服务器信任链的构建方法
CN105357005A (zh) * 2015-11-16 2016-02-24 国网智能电网研究院 一种pci/pci-e接口的电力可信计算密码模块
CN105930199A (zh) * 2016-04-14 2016-09-07 浪潮集团有限公司 一种虚拟机监控器本地完整性检测的系统及实现方法
CN106105146A (zh) * 2014-02-24 2016-11-09 亚马逊科技公司 在密码证明资源处保护客户端指定凭证
CN106354550A (zh) * 2016-11-01 2017-01-25 广东浪潮大数据研究有限公司 一种保护虚拟机安全的方法、装置及系统
CN106911814A (zh) * 2017-05-11 2017-06-30 成都四象联创科技有限公司 大规模数据分布式存储方法
CN107179936A (zh) * 2016-03-11 2017-09-19 中国电子科技集团公司电子科学研究院 一种基于特权分离的虚拟化隔离方法
CN107454961A (zh) * 2016-04-25 2017-12-08 深圳前海达闼云端智能科技有限公司 一种虚拟化系统监测方法和装置
CN107465689A (zh) * 2017-09-08 2017-12-12 大唐高鸿信安(浙江)信息科技有限公司 云环境下的虚拟可信平台模块的密钥管理系统及方法
CN108762887A (zh) * 2013-03-06 2018-11-06 英特尔公司 用于虚拟机的测量的信任根
US10177984B2 (en) 2010-08-26 2019-01-08 Entit Software Llc Isolation of problems in a virtual environment
CN109710386A (zh) * 2019-01-03 2019-05-03 北京工业大学 一种虚拟机的虚拟可信根实例的整体动态迁移方法
CN109800050A (zh) * 2018-11-22 2019-05-24 海光信息技术有限公司 一种虚拟机的内存管理方法、装置、相关设备及系统
CN109871694A (zh) * 2019-03-14 2019-06-11 沈昌祥 一种基于双体系结构可信计算平台的静态度量方法
CN110413351A (zh) * 2019-07-05 2019-11-05 北京可信华泰信息技术有限公司 一种可信免疫力检测方法
CN113711532A (zh) * 2019-01-30 2021-11-26 诺基亚通信公司 分布式或云计算系统信息
CN114462051A (zh) * 2022-04-12 2022-05-10 中电云数智科技有限公司 一种基于可信计算环境的可信计算系统及方法
CN114491565A (zh) * 2022-03-31 2022-05-13 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101599022B (zh) * 2009-07-07 2012-07-04 武汉大学 用于虚拟机系统的可信计算基裁剪方法
CN101599025B (zh) * 2009-07-07 2012-07-18 武汉大学 可信密码模块安全虚拟化方法
CN101615236B (zh) * 2009-07-24 2011-07-20 北京工业大学 一种基于强制访问控制技术的可信应用环境构建方法
US8949997B2 (en) 2010-03-05 2015-02-03 Interdigital Patent Holdings, Inc. Method and apparatus for providing security to devices
JP2016146631A (ja) * 2010-03-05 2016-08-12 インターデイジタル パテント ホールディングス インコーポレイテッド 機器にセキュリティを提供する方法および装置
US9380024B2 (en) 2010-03-05 2016-06-28 Interdigital Patent Holdings, Inc. Method and apparatus for providing security to devices
JP2014112892A (ja) * 2010-03-05 2014-06-19 Interdigital Patent Holdings Inc 機器にセキュリティを提供する方法および装置
CN103038746A (zh) * 2010-05-27 2013-04-10 思科技术公司 用于基础设施即服务云环境中的可信执行的方法和装置
CN103038746B (zh) * 2010-05-27 2017-03-29 思科技术公司 用于基础设施即服务云环境中的可信执行的方法和装置
CN103069749A (zh) * 2010-08-26 2013-04-24 惠普发展公司,有限责任合伙企业 虚拟环境中的问题的隔离
US9122784B2 (en) 2010-08-26 2015-09-01 Hewlett-Packard Development Company, L.P. Isolation of problems in a virtual environment
CN103069749B (zh) * 2010-08-26 2016-02-24 惠普发展公司,有限责任合伙企业 虚拟环境中的问题的隔离的方法和系统
US10177984B2 (en) 2010-08-26 2019-01-08 Entit Software Llc Isolation of problems in a virtual environment
CN102314373A (zh) * 2011-07-07 2012-01-11 李鹏 一种基于虚拟化技术实现安全工作环境的方法
CN102314373B (zh) * 2011-07-07 2013-12-18 胡建斌 一种基于虚拟化技术实现安全工作环境的方法
CN103902884A (zh) * 2012-12-28 2014-07-02 中国电信股份有限公司 虚拟机数据保护系统和方法
CN103902884B (zh) * 2012-12-28 2017-03-15 中国电信股份有限公司 虚拟机数据保护系统和方法
CN108762887B (zh) * 2013-03-06 2022-03-11 英特尔公司 用于虚拟机的测量的信任根
CN108762887A (zh) * 2013-03-06 2018-11-06 英特尔公司 用于虚拟机的测量的信任根
CN106105146B (zh) * 2014-02-24 2019-11-22 亚马逊科技公司 在密码证明资源处保护客户端指定凭证
CN106105146A (zh) * 2014-02-24 2016-11-09 亚马逊科技公司 在密码证明资源处保护客户端指定凭证
CN103929422B (zh) * 2014-04-08 2017-01-25 北京工业大学 基于sdn的可信域间安全认证协议
CN103929422A (zh) * 2014-04-08 2014-07-16 北京工业大学 基于sdn的可信域间安全认证协议
CN104539622A (zh) * 2014-12-31 2015-04-22 华为技术有限公司 虚拟机的深度证明方法、计算设备和计算机系统
CN104539622B (zh) * 2014-12-31 2018-01-23 华为技术有限公司 虚拟机的深度证明方法、计算设备和计算机系统
CN105095768A (zh) * 2015-08-20 2015-11-25 浪潮电子信息产业股份有限公司 一种基于虚拟化的可信服务器信任链的构建方法
CN105095768B (zh) * 2015-08-20 2018-03-02 浪潮电子信息产业股份有限公司 一种基于虚拟化的可信服务器信任链的构建方法
CN105357005A (zh) * 2015-11-16 2016-02-24 国网智能电网研究院 一种pci/pci-e接口的电力可信计算密码模块
CN107179936A (zh) * 2016-03-11 2017-09-19 中国电子科技集团公司电子科学研究院 一种基于特权分离的虚拟化隔离方法
CN105930199A (zh) * 2016-04-14 2016-09-07 浪潮集团有限公司 一种虚拟机监控器本地完整性检测的系统及实现方法
CN107454961A (zh) * 2016-04-25 2017-12-08 深圳前海达闼云端智能科技有限公司 一种虚拟化系统监测方法和装置
CN106354550A (zh) * 2016-11-01 2017-01-25 广东浪潮大数据研究有限公司 一种保护虚拟机安全的方法、装置及系统
CN106911814A (zh) * 2017-05-11 2017-06-30 成都四象联创科技有限公司 大规模数据分布式存储方法
CN107465689A (zh) * 2017-09-08 2017-12-12 大唐高鸿信安(浙江)信息科技有限公司 云环境下的虚拟可信平台模块的密钥管理系统及方法
CN107465689B (zh) * 2017-09-08 2020-08-04 大唐高鸿信安(浙江)信息科技有限公司 云环境下的虚拟可信平台模块的密钥管理系统及方法
CN109800050A (zh) * 2018-11-22 2019-05-24 海光信息技术有限公司 一种虚拟机的内存管理方法、装置、相关设备及系统
CN109710386A (zh) * 2019-01-03 2019-05-03 北京工业大学 一种虚拟机的虚拟可信根实例的整体动态迁移方法
CN109710386B (zh) * 2019-01-03 2020-08-28 北京工业大学 一种虚拟机的虚拟可信根实例的整体动态迁移方法
CN113711532A (zh) * 2019-01-30 2021-11-26 诺基亚通信公司 分布式或云计算系统信息
CN109871694A (zh) * 2019-03-14 2019-06-11 沈昌祥 一种基于双体系结构可信计算平台的静态度量方法
CN110413351A (zh) * 2019-07-05 2019-11-05 北京可信华泰信息技术有限公司 一种可信免疫力检测方法
CN110413351B (zh) * 2019-07-05 2022-12-02 北京可信华泰信息技术有限公司 一种可信免疫力检测方法
CN114491565A (zh) * 2022-03-31 2022-05-13 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
CN114491565B (zh) * 2022-03-31 2022-07-05 飞腾信息技术有限公司 固件安全启动方法、装置、计算设备和可读存储介质
CN114462051A (zh) * 2022-04-12 2022-05-10 中电云数智科技有限公司 一种基于可信计算环境的可信计算系统及方法

Also Published As

Publication number Publication date
CN101350044B (zh) 2010-07-14

Similar Documents

Publication Publication Date Title
CN101350044B (zh) 一种虚拟环境信任构建方法
US8108668B2 (en) Associating a multi-context trusted platform module with distributed platforms
US7865876B2 (en) Multiple trusted computing environments
US8201239B2 (en) Extensible pre-boot authentication
CN103907101B (zh) 用于管理器环境中的内核rootkit防护的系统和方法
KR100930218B1 (ko) 소프트웨어 기반 보안 코프로세서를 제공하는 방법, 장치및 처리 시스템
US8909940B2 (en) Extensible pre-boot authentication
US10917243B2 (en) Secure server and compute nodes
US20170033970A9 (en) Migration of full-disk encrypted virtualized storage between blade servers
US20150193252A1 (en) Method and apparatus for remotely provisioning software-based security coprocessors
US20020194482A1 (en) Multiple trusted computing environments with verifiable environment identities
US20070094719A1 (en) Method and apparatus for migrating virtual trusted platform modules
CN105022954A (zh) 飞腾cpu上三态操作系统安全内核服务动态运行方法
CN103270518A (zh) 虚拟机验证
JP2002092221A (ja) コンピューティングプラットフォームにおけるサービスの実行
CN104871174A (zh) 用于“自带”管理的引导机制
CN103347027A (zh) 一种可信网络连接方法和系统
CN112433822A (zh) 基于三权分立的跨域网络终端虚拟机的实现方法
Atamli-Reineh et al. Securing application with software partitioning: A case study using sgx
US20080104711A1 (en) System and method for an isolated process to control address translation
Muñoz et al. A survey on the (in) security of trusted execution environments
Yu et al. A trusted architecture for virtual machines on cloud servers with trusted platform module and certificate authority
Brasser et al. Trusted container extensions for container-based confidential computing
CN112182560B (zh) 针对Intel SGX内部高效的隔离方法、系统及介质
Park et al. A tiny hypervisor-based trusted geolocation framework with minimized TPM operations

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