用于证明虚拟机完整性的方法和设备技术

技术编号:23293567 阅读:76 留言:0更新日期:2020-02-08 22:37
本发明专利技术涉及一种通过证明服务器(230)来证明服务器(210)上运行的虚拟机监视器(hypervisor,简称HV)支持的虚拟机(virtual machine,简称VM)的完整性的方法。所述方法包括以下步骤:使用虚拟签注密钥(virtual endorsement key,简称vEK)加密第一随机数;向所述VM(212)发送VM证明请求,并向所述HV(214)发送HV证明请求,其中所述VM证明请求包括所述已加密第一随机数;从所述VM(212)接收VM证明报告并从所述HV(214)接收HV证明报告,其中所述VM证明报告和所述HV证明报告分别由所述VM(212)和所述HV(214)生成;验证所述VM证明报告是否基于所述第一随机数;基于所述VM证明报告的验证和所述HV证明报告确认所述VM(212)的完整性。此外,本发明专利技术还涉及相应的系统(200)以及相应的服务器(230、210)。

Methods and devices for proving the integrity of virtual machines

【技术实现步骤摘要】
【国外来华专利技术】用于证明虚拟机完整性的方法和设备
本专利技术大体涉及虚拟化计算机系统的证明领域。更具体地说,本专利技术涉及用于证明虚拟机完整性的方法和设备。
技术介绍
可信计算组织(trustedcomputinggroup,简称TCG)已经定义了一些手段,通过这些手段可以度量平台的软件完整性,并且随后由远程验证程序或证明服务器进行验证。验证平台完整性的过程称为证明或远程证明(请参阅“常规BIOS的TCGPC客户端特定实施规范”,http://www.trustedcomputinggroup.org/wp-content/uploads/TCG_PCClientImplementation_1-21_1_00.pdf),以便强调所述完整性度量的验证应该由不在将要证明的平台上运行的实体执行这一事实。随着虚拟化软件的出现,已经出现了远程证明研究的新方向,即虚拟平台的远程证明。尤其是,TCG已经定义了(参见“虚拟化可信平台架构规范”,http://www.trustedcomputinggroup.org/wpcontent/uploads/TCG_VPWG_Architecture_V1-0_R0-26_FINAL.pdf)虚拟平台远程证明的两个基本要求:深度证明和层绑定。为更好地说明如何执行虚拟平台的远程证明,图1示出了服务器不同组件的示意图,其中支持虚拟可信平台模块(virtualtrustedplatformmodule,简称vTPM)和虚拟可信度量核心根(virtualcorerootsoftrustformeasurement,简称vCRTM)的虚拟机监视器(hypervisor,简称HV)在支持物理可信度量核心根(physicalcorerootoftrustformeasurement,简称pCRTM)和物理可信平台模块(physicaltrustedplatformmodule,简称pTPM)的物理平台(计算节点)上运行。此外,两台虚拟机(virtualmachine,简称VM)将在所述虚拟机监视器上运行。所述虚拟机(virtualmachine,简称VM)依赖虚拟可信根(virtualrootoftrust,简称vRoT),其在软件中实现并且等同于物理平台的物理可信(physicalrootoftrust,简称pRoT)。所述vRoT在所述虚拟机监视器上运行,并协助执行分配给它们的虚拟机或平台的证明过程。它们在所述虚拟平台本身也被视为具有内在可信性,因为(如在pRoT的情况下)它们使用与其应该证明完整性的其中一种软件不同的执行域。对于所述pRoT,通过所述pRoT在不同芯片(即,pTPM)内执行这一事实提供执行域分离。对于所述vRoT,通过所述虚拟机监视器或虚拟化层的功能提供所述执行域分离,以将所述虚拟平台代码与执行所述vRoT的HV代码的执行分开。此外,所述pTPM和所述vTPM分别提供实现物理平台或虚拟平台远程证明所需的pRoT/vRoT实现方式。如上所述,所述vRoT是在与应予以证明的其中一种软件不同的执行环境中运行的软件组件。根据所述深度证明要求,对于虚拟平台或虚拟机的远程证明,不仅需要验证其软件度量,还需要验证实现所述vRoT的底层虚拟化层的度量。这可以通过对所述虚拟化层或HV和所述虚拟平台或VM使用远程证明来实现,并且仅基于其度量验证和虚拟化层的综合结果来判断后者的完整性状态。根据深度证明的要求,通过远程证明对虚拟化层度量的成功验证提供了一些保证,即所述vRoT(在所述虚拟化层或HV中实现)未被篡改,并且所述虚拟化层按预期方式运行。根据该验证结果,还可以推断出所述虚拟化层已经将正确的一组vRoT实例(例如,vCRTM和vTPM实例)分配给所述虚拟平台。然而,由于以下原因,这还不够。所述虚拟化层负责运行多个虚拟平台的vRoT实例集,但没有提供有关将特定vRoT实例集分配给特定虚拟平台的明确保证。甚至没有以下明确保证:分配给所述虚拟平台的vRoT实例集确实在该虚拟化层上运行。TCG还将此问题称为层绑定问题(请参阅上面提到的参考文件“虚拟化可信平台架构规范”)。应提供远程验证程序,证明所述虚拟平台正在使用在指定虚拟化层上运行的指定vRoT实例集。在没有这种证明的情况下,所述完整性验证结果的可靠性会降低,因为用于生成完整性报告的vRoT存在不确定性,并且验证结果本身无法完全可信。鉴于上述情况,不满足深度证明和层绑定要求的远程证明过程仍然能够计算虚拟平台的完整性状态,但是该状态的相关性可能会令人质疑。特别是,在缺乏深度证明和层绑定提供的保证的情况下,可能难以确定所述虚拟平台所依赖的虚拟可信根(virtualrootoftrust,简称vRoT)是否已被篡改或伪造。相反,满足深度证明和层绑定要求的远程证明过程可确保对所述vRoT(以及由它们生成的完整性报告)的信任,因为它们可以有效地成为从硬件RoT开始的信任链的一部分,例如,物理可信度量核心根(physicalcorerootoftrustmeasurement,简称pCRTM)和物理TPM(参见“TCG证明PTS协议:绑定到TNCIF-M”,http://www.trustedcomputinggroup.org/resources/tcg_attestation_pts_protocol_binding_to_tnc_ifm)。然而,尚未提供允许以有效的可扩展方式在软件级别实现深度证明和层绑定要求的解决方案。在WO2016085592A1中,描述了一种解决深度证明和层绑定问题的可扩展解决方案,其中该解决方案基于安全区域(即,英特尔SGX技术)以提供vTPM在指定HV上运行的证据。该解决方案可以同时扩展并满足深度证明和层绑定的要求,但是它高度依赖于所述物理平台中的特定硬件支持(即SGX支持、TXT支持、一次写入寄存器等)。因此,需要用于证明虚拟机完整性的改进方法和设备。
技术实现思路
本专利技术的目的在于提供用于证明虚拟机完整性的改进方法和设备。所述设备可以是计算设备,例如数据中心服务器、个人计算机或终端设备。在整个说明书中,“服务器”一词指的是上文定义的设备。上述和其它目的通过独立权利要求的主题来实现。根据从属权利要求、说明书以及附图,进一步的实现形式是显而易见的。根据第一方面,本专利技术涉及一种通过证明服务器来证明服务器上运行的虚拟机监视器(hypervisor,简称HV)支持的虚拟机(virtualmachine,简称VM)的完整性的方法。所述方法包括以下步骤:使用虚拟签注密钥(virtualendorsementkey,简称vEK)加密第一随机数;向所述VM发送VM证明请求并向所述HV发送HV证明请求,其中所述VM证明请求包括所述已加密第一随机数;从所述VM接收VM证明报告并从所述HV接收HV证明报告,其中所述VM证明报告和所述HV证明报告分别由所述VM和所述HV生成;验证所述VM证明报告是否基于所述第一随机数;基于所述VM证明报告的验证和所述HV证明报告确认所述VM的完整性。...

【技术保护点】
1.一种通过证明服务器(230)来证明服务器(210)上运行的虚拟机监视器(hypervisor,简称HV)(214)支持的虚拟机(virtual machine,简称VM)(212)的完整性的方法(700),其特征在于,所述方法(700)包括以下步骤:/n使用虚拟签注密钥(virtual endorsement key,简称vEK)加密(702)第一随机数;/n向所述VM(212)发送(704)VM证明请求并向所述HV(214)发送HV证明请求,其中所述VM证明请求包括所述已加密第一随机数;/n从所述VM(212)接收(706)VM证明报告并从所述HV(214)接收HV证明报告,其中所述VM证明报告和所述HV证明报告分别由所述VM(212)和所述HV(214)生成;/n验证(708)所述VM证明报告是否基于所述第一随机数;/n基于所述VM证明报告的验证和所述HV证明报告确认(710)所述VM(212)的完整性。/n

【技术特征摘要】
【国外来华专利技术】1.一种通过证明服务器(230)来证明服务器(210)上运行的虚拟机监视器(hypervisor,简称HV)(214)支持的虚拟机(virtualmachine,简称VM)(212)的完整性的方法(700),其特征在于,所述方法(700)包括以下步骤:
使用虚拟签注密钥(virtualendorsementkey,简称vEK)加密(702)第一随机数;
向所述VM(212)发送(704)VM证明请求并向所述HV(214)发送HV证明请求,其中所述VM证明请求包括所述已加密第一随机数;
从所述VM(212)接收(706)VM证明报告并从所述HV(214)接收HV证明报告,其中所述VM证明报告和所述HV证明报告分别由所述VM(212)和所述HV(214)生成;
验证(708)所述VM证明报告是否基于所述第一随机数;
基于所述VM证明报告的验证和所述HV证明报告确认(710)所述VM(212)的完整性。


2.根据权利要求1所述的方法(700),其特征在于,所述方法(700)还包括以下步骤:
验证所述HV证明报告是否包括所述vEK和所述第一随机数;
如果所述VM证明报告基于所述第一随机数且所述HV证明报告包括所述vEK和所述第一随机数,则确认所述VM(212)的完整性。


3.根据权利要求1或2所述的方法(700),其特征在于,根据可信计算组织(trustedcomputinggroup,简称TCG)定义的隐私CA(privacycertificateauthority,简称PCA)协议来执行所述第一随机数的加密。


4.一种通过服务器(210)上运行的虚拟机(virtualmachine,简称VM)(212)和虚拟机监视器(hypervisor,简称HV)(214)生成证明报告的方法(800),其特征在于,所述方法(800)包括以下步骤:
所述VM(212)接收(802)VM证明请求,且所述HV(214)接收HV证明请求,其中所述VM证明请求包括使用虚拟签注密钥(virtualendorsementkey,简称vEK)加密的已加密第一随机数;
所述HV(214)上运行的虚拟可信平台模块(virtualtrustedplatformmodule,简称vTPM)根据存储在所述vTPM中的vEK解密(804)所述已加密第一随机数,以响应来自所述VM(212)的解密请求;
所述VM(212)从所述vTPM接收(806)第一引用,其中所述第一引用使用存储在所述vTPM中的虚拟证明标识密钥(virtualattestationidentitykey,简称vAIK)签名并包括所述第一随机数;
所述VM(212)生成(808)有关所述VM(212)的VM证明报告,其中所述VM证明报告包括所述第一引用;
所述HV(214)生成(810)有关所述HV(214)的HV证明报告。


5.根据权利要求4所述的方法(800),其特征在于,所述方法(800)还包括以下步骤:
所述vTPM存储所述第一随机数和所述vEK,所述已存储的第一随机数和vEK可通过所述HV(214)访问;
所述HV(214)读取所述已存储的第一随机数和vEK,其中所述已生成的HV证明报告包括所述已存储的第一随机数和vEK。


6.根据权利要求4或5所述的方法(800),其特征在于,所述方法(800)还包括以下步骤:所述VM(212)对所述第一随机数进行散列;
所述VM(212)根据所述已散列的第一随机数生成第一引用;
所述HV(214)对所述第一随机数和所述vEK进行散列;
所述HV(214)从所述服务器(210)的物理可信平台模块(physicaltrustedplatformmodule,简称pTPM)接收第二引用,其中所述第二引用是基于所述已散列第一随机数和所述vEK生成的,所述第二引用使用物理证明标识密钥(physicalattestationidentitykey,简称pAIK)签名;
所述HV(214)将所述第二引用包含在有关所述HV(214)的HV证明报告中。


7.一种证明服务器(230),用于证明服务器(210)上运行的虚拟机监视器(hypervisor,简称HV)(214)支持的虚拟机(virtualmachine,简称VM)(212)完整性,其特征在于,所述证明服务器(230)包括:
处理器(232),用于使用虚拟签注密钥(virtualendorsementkey,简称vEK)加密第一随机数;
发送单元(234),用于向所述VM(212...

【专利技术属性】
技术研发人员:米哈伊·塞尔维亚伊万西尔维乌·弗勒斯恰努
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1