CN104969234A - 用于虚拟机的测量的信任根 - Google Patents
用于虚拟机的测量的信任根 Download PDFInfo
- Publication number
- CN104969234A CN104969234A CN201380072400.7A CN201380072400A CN104969234A CN 104969234 A CN104969234 A CN 104969234A CN 201380072400 A CN201380072400 A CN 201380072400A CN 104969234 A CN104969234 A CN 104969234A
- Authority
- CN
- China
- Prior art keywords
- computing platform
- integrity measurement
- guests
- safety zone
- vrtm
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
- G06F12/1408—Protection against unauthorised use of memory or access to memory by using cryptography
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45587—Isolation or security of virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
- Measuring Volume Flow (AREA)
- Testing Of Engines (AREA)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
公开了与用于虚拟机(VM)的用于测量的信任根(RTM)相关联的技术和系统的实施例。在某些实施例中,计算平台可在该计算平台的第一安全区域中提供虚拟机RTM(vRTM)。该计算平台可被配置成用于执行该第一安全区域的完整性测量。该计算平台可在该计算平台的该第一安全区域外部提供用于宾客VM的虚拟机信任平台模块(vTPM)。该计算平台可发起在该vRTM和该宾客VM的资源之间的完整性测量链。可描述和/或要求保护其他实施例。
Description
技术领域
本公开总体上涉及计算系统领域,并且更具体地涉及安全计算平台。
背景
在某些安全模型中,一个或多个信任根(root-of-trust)用于支持信任执行平台。例如,在由信任计算小组呈现的某些安全模型中,使用三个信任根:用于存储的信任根(RTS);用于报告的信任根(RTR)和用于测量的信任根(RTM)。这些信任根在计算平台内的位置可改变。例如,某些信任平台包括在信任平台模块(TPM)中的RTR和RTS,做出动作以便检测对硬件和软件配置的篡改的物理组件(通常是芯片)。然而,这种平台中的RTM可由平台固件提供。具体地,当这种计算平台开始引导时,以不可变形式(诸如ROM)在设备的预BIOS中实现的核RTM(cRTM)测量有待执行的下一代码集合、密码地对这种测量进行散列并且将散列摘要值存储在TPM中。控制被传递到这个下一代码集合,其然后测量后续代码集合并且将测量的散列摘要值存储在TPM中。这个测量链继续直到引导完成并且OS被加载。可通过将TPM中所存储的散列值与其先前的值进行比较来检测引导阶段的配置变化(由于例如恶意软件或篡改)。作为初始测量组件,在执行之前不测量cRTM并且其被认为是设计正确的。
在虚拟化环境中,宾客虚拟机(VM)在由虚拟机管理器(VMM,也被称为管理程序)提供的基于软件的环境中运行。该环境可包括提供传统计算平台的多个物理组件的虚拟化版本的VM,诸如用于硬件的驱动器,以及为VM维护提供支持功能的VM,诸如可操纵宾客VM的存储器的VM。某些先前工作已经将TPM概念应用到虚拟化系统并且发展了虚拟机TPM(vTPM)。在某些这种系统中,每个宾客VM可与其自身的vTPM相关联,其充当用于相关联的宾客VM的测量链的RTS和RTR。可测量支持vTPM的VM和其他软件组件的RTM可被实现为相同管理程序上的VM。然而,这种RTM就像vTPM一样易于受到篡改,并且完全依赖于管理程序的可信任性。这可导致超大的信任计算基础以及因此易于受到管理程序或其他组件中的安全漏洞。
附图简要描述
将结合附图通过以下详细描述容易地理解实施例。为了方便本描述,相同的参考标号指示相同的结构元素。通过举例而非通过限制在附图的图式中示出实施例。
图1是根据各实施例包括安全区域(SE)中的用于测量的虚拟机信任根(vRTM)的计算平台的框图。
图2是根据各实施例用于在SE中的vRTM和宾客VM的资源之间发起完整性测量链的说明性过程的流程图。
图3是根据各实施例用于存储vRTM的完整性测量的说明性过程的流程图。
图4是根据各实施例用于与具有SE中的vRTM的计算平台进行通信的说明性过程的流程图。
图5是根据各实施例用于修改存储在平台配置寄存器中的值的说明性过程的流程图。
图6是根据各实施例适用于实践所公开的实施例的说明性计算平台的框图。
详细描述
公开了与用于虚拟机(VM)测量的信任根(RTM)相关联的技术和系统的实施例。在某些实施例中,计算平台可在该计算平台的第一安全区域中提供虚拟机RTM(vRTM)。该计算平台可被配置成用于执行该第一SE的完整性测量。该计算平台可对位于该计算平台的该第一SE外部的宾客VM提供虚拟机信任平台模块(vTPM)。该计算平台可在该vRTM和该宾客VM的资源之间发起完整性测量链。
在以下详细描述中,参考形成其一部分并且通过可实践的说明实施例示出的附图,其中,相同的标号指示相同的部件。应当理解可使用其他实施例以及可在不背离本公开的范围的情况下做出结构或逻辑改变。因此,不应以限制性的意义解释以下详细描述,并且实施例的范围由所附权利要求书及其等效方案定义。
各操作可被描述为按顺序的多个离散动作或操作,其方式为最有助于理解所要求保护的主题。然而,描述的顺序不应被解释为暗示这些操作必需依赖于顺序。具体而言,可不按展示顺序执行这些操作。可以用不同于所描述的实施例的顺序执行所描述的操作。可执行各附加操作和/或可在附加实施例中忽略所描述的操作。
为了本公开的目的,短语“A和/或B”是指(A)、(B)、或(A和B)。为了本公开的目的,短语“A、B和/或C”是指(A)、(B)、(C)、(A和B)、(A和C)、(B和C)或(A、B和C)。
本描述可使用短语“在实施例中”或“在多个实施例中”,其可各自指代相同或不同实施例中的一个或多个。此外,如结合本公开的实施例所使用的,术语“包括(comprising)”、“包括(including)”、“具有(having)”等等是同义的。如在此所使用的,术语“模块”或“逻辑”可指代、作为其一部分、或包括专用集成电路(“ASIC”)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用或分组)和/或存储器(共享、专用或分组)、组合式逻辑电路、和/或其他合适的提供所描述的功能性的组件。
现在参照图1,根据各实施例示出了包括SE中的vRTM的计算平台。
计算平台100可包括硬件102。硬件102可包括例如一个或多个处理设备和存储器设备(例如,系统存储器、高速缓存存储器、基于微处理器的存储器、位于处理器内部的存储器、位于处理器外部的存储器)。在某些实施例中,计算平台100可包括计算平台可与其他计算平台或设备通信所通过的通信接口。以下参照图6讨论可包括在计算平台100的硬件102内的硬件的进一步的示例。硬件102还可包括计算平台100的固件和微代码。例如,微代码可定义汇编语言指令的操作,并且因此可以用不可由计算平台100的终端用户修改的方式影响硬件组件的操作。
计算平台100可包括虚拟机监视器(VMM)104。VMM 104可将计算平台100的硬件102虚拟化以便提供虚拟操作平台从而允许VM(诸如vRTM 120、vTPM 106、宾客VM 110,等等)并发地在计算平台100上执行或运行。在VMM 104上运行的每个VM可将其虚拟操作平台感知为物理平台。尽管计算平台100的某些组件可被描述为“宾客VM”,术语“宾客VM”可包括在VMM 104上执行的可由vRTM 120测量的任何VM(包括例如支持VM 122)。
计算平台100可包括vTPM 106。在某些实施例中,计算平台100可包括其各自可与类似宾客VM 110的一个或多个宾客VM(以下讨论)相关联的类似vTPM 106的多个vTPM。为了容易说明,本公开的大部分将讨论单个vTPM,但是在此公开的全部系统和技术适用于与多个vTPM一起使用。vTPM 106可以包括可被配置为便于vTPM 106与宾客VM 110之间的通信的宾客接口模块108。vTPM 106可以包括可被配置为便于vTPM 106与管理VM(MVM)118(以下描述)之间的通信的管理接口模块116。
vTPM 106可安置在SE 134中。如在此所使用的,SE(诸如SE 134)可包括提供安全位置的一组存储器位置,模块(诸如VM)可在该安全位置中执行机器可读代码指令并存储数据。SE可因此提供用于计算平台100的硬件102保护某些存储器位置(诸如SE 134中的vTPM 106)的机制。具体地,SE 134可保护vTPM 106的秘密不受计算平台100的任何固件、VMM 104和/或在计算平台100上执行的其他进程影响。还可测量并存储SE的内容,从而使得可容易地检测内容的改变。
现在描述SE的多个示例实施例。在某些实施例中,SE中的VM可从区域页高速缓存运行,并且区域页可由计算平台100的操作系统(OS)加载到区域页高速缓存中。在某些实施例中,SE可由VMM或在VMM上运行的VM(例如,Xen管理程序中的域0)初始化。无论何时从区域页高速缓存移除SE中的VM的页,密码保护可用于保护页的机密性以及在页被加载回区域页高速缓存中时检测篡改。在区域页高速缓存内部,可使用访问控制机制保护区域数据,这些机制可由硬件102的处理设备提供,并且页高速缓存的页也可被加密。
在某些实施例中,用于SE中的VM的代码可暂时以加密状态存储在区域页高速缓存中。VM代码可被从区域页高速缓存取出、被解密并被放入处理设备高速缓存中,可从该高速缓存检索并执行代码,并且区域数据由计算平台100的处理设备访问。在某些实施例中,区域页高速缓存可位于计算平台100的物理地址空间内,并且可仅通过使用SE指令来访问区域页高速缓存,这些指令是由硬件102的处理设备执行的指令子集。区域页高速缓存可包含来自许多不同SE的页并且提供访问控制机制以便保护页的完整性和机密性。区域页高速缓存可以维持与可用于保留计算平台内的一致物理存储器访问的那些类似的一致性协议。
在某些实施例中,区域页高速缓存可使用区域页高速缓存映射,其可包含与区域页高速缓存中的每个页相关联的状态信息。状态信息可指示如下信息,诸如给定页所属于的特定区域、所加载的页的状态等等。当从区域页高速缓存移除页时,可通过从区域页高速缓存映射输出并保护状态信息(使用密码技术)对SE进行完整性测量。类似地,当给定区域页被重新加载到区域页高速缓存中时,可验证状态信息。在各实施例中,区域页高速缓存可存储在不同类型的存储器中(例如,特定处理设备的板上静态随机存取存储器(SRAM)),和/或作为安置在处理设备上或与其分离的动态随机存取存储器(DRAM)的一部分。在各实施例中,区域页高速缓存可被保护而免于来自外部计算平台100的未授权访问,同时允许计算平台100的其他组件仍安全地访问区域页高速缓存。
在某些实施例中,区域页高速缓存可以是加密存储器孔,其可提供使用DRAM创建密码地受保护的易失性存储的相对成本有效的机制。密码存储器孔可使用硬件102的中央处理单元(CPU)的处理核外部的区域内的一个或多个策略性放置的密码单元以便提供各种级别的保护。处理核外部的各个代理可被修改以便识别对密码存储器孔的存储器访问以及将这些访问路由到位于处理核内的密码控制器。依据所期望的保护级别,密码控制器可生成对平台DRAM的一个或多个存储器访问以便取出密文。取出的密文可然后由密码控制器处理以便生成明文从而满足原始的密码存储器孔请求。
在某些实施例中,区域页高速缓存可被保持为分离的容器,其可由包括在硬件102中的微代码管理。以此方式,当在SE外部执行时,该容器可能是不可访问的。当进入SE(诸如SE 134)时,控制可被转移到区域页高速缓存内部的区域代码,其可被包含在分离的容器中。在SE内部执行的同时发生的任何页故障或异常可由微代码反映给计算平台100的OS和/或反映给VMM 104。当计算平台100在任何SE的外部执行时,对区域页高速缓存的访问控制可由硬件102的SE范围寄存器提供。当在微代码内部运行时,计算平台100可因此提供防止访问不属于正在执行的SE的其他SE页高速缓存条目的页表级别保护。在某些实施例中,实现SE可包括使用硬件102的处理设备的微代码能力实现指令和保护。
除SE的各个示例的上述优点和特征之外,多个设计考虑因素也可获知可如何在计算平台中使用SE。例如,第三方硬件和设备(诸如例如网络接口卡)可不被配置成用于与在SE内部运行的VM或其他应用进行通信,并且因此即使这种设备可正确地与在SE外部运行的VM和应用接口连接,这种设备可能不正确地与在SE内部运行的VM或其他应用正确地接口连接。此外,SE的各实施例中所涉及的安全特征可要求大量开销(例如,在用于密钥管理的存储器和处理器周期方面),并且因此选择可将(如果有的话)哪些VM或其他应用适当地包含在SE中可要求考虑速度、存储器访问和其他问题。
仍参考图1,在某些实施例中,计算平台100可包括类似vTPM 106的多个vTPM,其各自可安置在不同的SE中。在某些实施例中,vTPM可不安置在SE中。vTPM 106可被配置成用于存储密码信息。在某些实施例中,vTPM 106可存储私钥和公钥对中的私钥(Rivset-Shamir-Adelman(RSA)密钥对或私钥和公共认证密钥对),其可唯一地标识vTPM 106和/或用这种密钥签名的证书。vTPM 106的密钥可不离开SE 134的边界;当与vTPM106相关联的宾客VM(例如,宾客VM 110)迁移时,vTPM 106可在平台之间携带密码信息。
vTPM 106可包括平台配置寄存器(PCR)136。在某些实施例中,PCR136可被配置成用于存储vRTM 120(以下讨论)和vTPM 106所支持的宾客VM(例如,以下讨论的宾客VM 110)的一个或多个资源之间的完整性测量链的一个或多个完整性测量。当执行特定宾客VM资源的完整性测量时,完整性测量可存储在与该宾客VM资源相关联的特定PCR中。当再次发起完整性测量链时,vTPM 106可(例如,从vRTM 120)接收改变存储在特定PCR中的值的命令。在某些实施例中,这种命令可包括用新完整性测量的密码散列来扩展存储在特定PCR中的值的命令。如在此所使用的,用新值“扩展”现有值可包括连结现有值与新值以及对结果进行散列(例如,使用SHA-1散列)。以此方式,宾客VM资源的完整性测量历史可维持在PCR 136中。在某些实施例中,仅当由MVM 118允许时才可改变存储在一个或多个PCR 136中的值,如下所述。
计算平台100可包括宾客VM 110。在某些实施例中,计算平台100可包括类似宾客VM 110的多个宾客VM;为了容易说明,本公开的大部分将讨论单个宾客VM。宾客VM 110可包括vTPM驱动器114,其可被配置成用于促成宾客VM 110和vTPM 106的宾客接口模块108之间的通信。在某些实施例中,vTPM驱动器114和宾客接口模块108之间的通信可通过VMM104发生。vTPM驱动器114可由可在宾客VM 110上运行的操作系统(OS)112控制。OS 112可控制用于物理和/或虚拟设备(例如,物理和/或虚拟打印机、显示设备或通信设备)的多个其他驱动器。OS 112还可支持多个应用,这些应用可在宾客VM 110上运行,如同宾客VM是隔离的物理机器。在某些实施例中,一个或多个附加VM可在宾客VM 110上运行。如在此所使用的,宾客VM的“资源”可包括在宾客VM上运行的任何模块或由宾客VM支持的其他数据,如驱动器、OS、应用和其他VM。
计算平台100可包括MVM 118。MVM 118可与一个或多个vTPM(诸如vTPM 106)相关联并且可被配置成用于管理该一个或多个vTPM的生命周期。在某些实施例中,MVM 118可存储用于与其相关联的vTPM(例如,vTPM 106)的私钥并且可被配置成用于使用该私钥来为相关联的vTPM对认证证书进行签名,从而使得当其他计算平台请求验证例如宾客VM(诸如宾客VM 110)的资源的安全性时,所签名的证书可用作认证证据。
MVM 118可安置在SE 132中。SE 132可以是不同于SE 134(vTPM 106可安置在其中)的SE。MVM 118可通过vTPM 106的管理接口模块108与vTPM 106进行通信。在某些实施例中,MVM 118和管理接口模块108之间的通信可通过VMM 104进行。如上所述,在某些实施例中,MVM 118可控制可改变vTPM 106的哪个PCR 136(例如,由vRTM 120)。具体地,MVM 118可向vTPM 106提供指示可或可不改变PCR 136中的一个特定PCR的修改符,并且因此向vTPM 106提供允许或不允许改变PCR 136中的一个或多个特定PCR的命令。在某些实施例中,vTPM 106可仅允许在从MVM 118接收到指示允许这种改变的修改符之后允许改变PCR 136中的一个特定PCR的值。MVM 118仅可提供用于在某些条件下改变PCR值的修改符;例如,当与宾客VM相关联的生命周期事件发生时。在某些实施例中,MVM 118可与vRTM 120进行通信(如下所述)。在某些实施例中,MVM 118和vRTM 120可包括在共同的SE中;在某些这种实施例中,MVM 118可以是vRTM并且包括vRTM 120的功能。在某些实施例中,MVM 118的修改符供应功能可包括在vRTM 120中,并且vRTM 120可经由安全信道向vTPM(诸如vTPM 106)提供修改符。前述实施例可通过仅当由SE 132中的MVM 118(或SE 130中的vRTM 120)允许时才允许修改PCR 136中的值来保护PCR 136不被例如VMM 104中的恶意进程修改。在某些实施例中,MVM 18可与数个支持VM 122中的任一个进行通信(如下所述)。
计算平台100可包括vRTM 120。vRTM 120可被配置成用于充当用于在VMM 104上执行的VM(诸如宾客VM 110)的资源的完整性测量的RTM。在某些实施例中,vRTM 120可被配置成用于发起VM的资源的完整性测量链。完整性测量可包括例如定义VM的资源的机器可读代码的散列。在某些实施例中,vRTM 120可向vTPM 106发布将散列值存储在PCR136中的一个PCR中(例如,存储在PCR 136中的与其机器可读代码被散列的宾客VM资源相关联的一个PCR中)的命令。在某些实施例中,存储散列值的命令可以是用散列值扩展PCR 136中的一个适当的PCR的命令(例如,当vTPM 120在之前发起并命令之前链的完整性测量的存储之后发起另一个测量链时)。
vRTM 120可安置在SE 130中。SE 130可以是不同于SE 132(MVM 118可安置在其中)和SE 134(vTPM 106可安置在其中)的SE。如上所述,计算设备100可被配置成用于执行一个或多个SE(包括SE 130)的完整性测量。在某些实施例中,SE 130(以及因此vRTM 120)的测量可从在与SE 130相关联的测量寄存器中的其初始存储报告出并且扩展到每个vTPM的PCR(诸如vTPM 106的PCR 136)中。在某些实施例中,vRTM 120可经由宾客接口模块108与vTPM 106进行通信。在某些实施例中,vRTM 120和vTPM 106之间的通信可通过VMM 104发生。如上所述,在某些实施例中,vTPM 106可不安置在SE中,并且具体地可安置在vRTM 120所安置在的SE 130外部。
计算平台可包括一个或多个支持VM 122。在某些实施例中,支持VM122可为vTPM(诸如vTPM 106)和宾客VM(诸如宾客VM 110)提供服务。图1中示出的支持宾客VM的示例包括迁移代理VM 124、域构建器VM 126和帮助器VM 128。在某些实施例中,迁移代理VM 124可被配置成用于通过例如管理宾客VM从计算平台100拷贝到宾客VM正被迁移到其上的另一个计算平台以及在宾客VM已经迁移之后删除宾客VM的拷贝,管理宾客VM的迁移(例如,宾客VM 110)。在某些实施例中,域构建器VM 126可被配置成用于通过为宾客VM初始化宾客OS、为宾客VM分配存储器和/或其他初始化任务,为宾客VM(例如,宾客VM 110)初始化环境。帮助器VM 128可表示可为宾客VM(例如,宾客VM 110)提供服务(诸如虚拟化驱动器服务)的一个或多个支持VM。在某些实施例中,支持VM 122中的一个或多个可作为vRTM 120和宾客VM 110之间的完整性测量链(以及因此vRTM 120和与vTPM 106相关联的宾客VM的资源(诸如宾客VM 110的资源)之间的完整性测量链)的一部分被测量。在某些实施例中,当vTPM 106未安置在SE中时,vRTM 120所发起的完整性测量链可包括测量vTPM 106本身;当vTPM 106安置在SE中时,vTPM 106所安置在的SE(例如SE 134)的测量可用来证实vTPM 106。
参照图2,提供了根据各实施例用于在SE中的vRTM和宾客VM的资源之间发起完整性测量链的过程200的流程图。可认识到,尽管过程200(以及在此描述的其他过程)的操作以特定顺序安排并一次展示每一个,在各实施例中,可重复、省略或不按次序执行这些操作中的一个或多个。为了说明性目的,过程200的操作可被描述为由计算平台100执行,但是过程200的操作(包括过程200的单独操作)可由计算平台100的任何适当配置的组件或组件组合执行。
过程200可在操作202开始,其中计算平台100可在SE(诸如SE 130)中提供vRTM(诸如vRTM 120)。如上所述,SE可包括计算平台的不可经由位于存储器区外部的执行指令访问的存储器域。在某些实施例中,计算平台100可被配置成用于执行vRTM所安置在的第一SE的完整性测量。
在操作204,计算平台100可在为vRTM所安置在的SE外部提供用于宾客VM(诸如宾客VM 110)的vTPM(诸如vTPM 106)。在某些实施例中,在操作204,计算平台100可在SE(诸如SE 134)中提供vTPM。vTPM可在操作204在其中提供的SE可不同于vTPM在操作202在其中提供的SE。
在操作206,计算平台100可发起(操作202的)vTPM和宾客VM的资源(例如,在宾客VM上运行的应用)之间的完整性测量链。在某些实施例中,宾客VM可安置在vTPM所安置在的SE外部。完整性测量链可包括vTPM的测量,并且可包括在引导或其他初始化序列中在vTPM之前发生的一个或多个支持VM的完整性测量。例如,在某些实施例中,一个或多个支持VM可在第一时刻被实例化,并且使用支持VM所提供的服务的宾客VM可在几周或几个月之后在第二时刻被实例化。在这种实施例中,完整性测量链可包括在第一时刻或第一时刻附近执行的支持VM的完整性测量,以及在第二时刻或第二时刻附近执行的宾客VM的完整性测量。
在操作208,计算平台100可确定是否存在有待为其执行完整性测量的附加宾客VM。如果是,计算平台100可进行到操作204并且为附加宾客VM提供vTPM,并且如上所述那样继续。如果计算平台100在操作208确定不存在有待为其执行完整性测量的附加宾客VM,过程400可就此结束。如上所述,过程400的操作顺序是纯说明性的;例如,在某些实施例中,所有宾客VM的vTPM可并行地或顺序地建立,在此之后,可进行宾客VM资源的完整性测量(再次,并行地或顺序地)。
现在参照图3,提供了根据各实施例用于存储vRTM的完整性测量的过程300的流程图。如以上参照vRTM 120和SE 130所讨论的,在某些实施例中,计算平台100可被配置成用于执行SE(诸如vRTM所安置在的SE)的完整性测量。通过执行包括vRTM的SE的完整性测量并且将这种完整性测量存储在计算平台100中(例如,存储在硬件102、固件或计算平台100的OS和/或VMM 104以其他方式不可访问的位置中),vRTM和宾客VM的资源之间的完整性测量链(例如,如在图2的操作206所发起的)可在计算平台100内在VMM 104之下成根(root)。这种更深的成根可改善完整性测量的可靠性。此外,因为可测量vRTM本身的完整性,有可能的是检测对vRTM的篡改以及因此进一步改善计算平台100的安全性。为了说明性目的,过程300的操作可被描述为由计算平台100执行,但是过程300的操作(包括过程300的单独操作)可由计算平台100的任何适当配置的组件或组件组合执行。
过程300可在操作302开始,其中计算平台100可存储vRTM(例如,vRTM 120)的完整性测量。在某些实施例中,vRTM的完整性测量可由微代码执行,并且计算平台100可将vRTM的完整性测量存储在与vRTM所安置在的SE的微代码(例如与SE 130相关联的微代码)相关联的硬件寄存器中。在某些实施例中,计算平台100还可将完整性测量存储在vTPM 106的PCR 136中的一个PCR中。
在操作304,计算平台100可将数据集封装到在操作302存储的vRTM的完整性测量中。如在此所使用的,“将数据集封装到”完整性测量可以指加密数据集,从而使得仅当完整性测量指示基础测量组件(诸如vRTM)从其原始地固定在SE中起尚未改变时才可解密数据集。在某些实施例中,数据集(诸如密钥)可被封装到vRTM的完整性测量中以便防止解密该数据,除非vRTM的完整性第一次被验证。例如,表示银行账户的口令的数据集可被封装到vRTM的完整性测量中,从而使得仅当vRTM的完整性测量与预期值或初始值相同时才能解密该密码;否则,vRTM可能已经被篡改,并且口令可保持加密。过程300可就此结束。
现在参照图4,提供了根据各实施例用于与在SE中具有vRTM的计算平台(例如,在SE 130中具有vRTM 120的计算平台100)进行通信的过程400的流程图。在某些实施例中,过程400可由希望例如确认vRTM所进行的并且存储在vTPM的完整性测量链的第一计算平台执行,并且第二计算平台的宾客VM的资源指示第二计算平台的宾客VM的资源尚未被篡改。
例如,在某些实施例中,第一计算平台可以是银行或医院服务器,而第二计算平台可包含金融或医疗记录;在第一计算平台与第二计算平台交换敏感信息之前,第一计算平台可能希望验证第二计算平台的特定资源尚未受到危害。在某些实施例中,第一计算平台可能希望验证第二计算平台的vRTM本身尚未受到危害。第一计算平台可以是或包括位于第二计算平台外部的实体(应用或互联网服务器,作为示例),并且可或可不被第二计算平台信任。
在以下讨论过程400,根据在此描述的用于计算平台100的任何实施例,第二计算平台可配置有安全区域中的vRTM。在某些实施例中,第一计算平台可如在此描述计算平台100的那样被配置或者可以是被配置成用于与类似计算平台100的计算平台进行通信的通用计算平台。
过程400可在操作402开始,其中第一计算平台向第二计算平台的处理设备传输命令以报告第二计算平台的包含vRTM的SE(例如,包含计算平台100的vRTM 120的SE 130)的完整性测量。如上所述,SE中的vRTM可被配置作为RTM,用于vRTM和第二计算平台的宾客VM(例如,计算平台100的宾客VM 110)的资源之间的完整性测量链。在某些实施例中,宾客VM可安置在包含vTPM的SE外部。
在操作404,第一计算平台可从第二计算平台接收包含vRTM的SE的完整性测量。在某些实施例中,完整性测量可从第二计算平台的vTPM传输(例如,从vTPM 106的PCR 136中的一个或多个检索)。在某些实施例中,在操作404接收的SE的完整性测量可用与第二计算平台相关联的密钥进行密码签名。例如,该密钥可以是可由信任方(例如,硬件的一个或多个组件的制造商)验证的硬件平台密钥。使用密码签名,第一计算平台可确认完整性测量是从正确的计算平台报告的并且在途中未被篡改。
在操作406,第一计算平台可将SE的完整性测量(在操作404接收)和预期值进行比较。在某些实施例中,预期值可基于定义vRTM的预期机器可读代码集合。例如,预期值可以是定义vRTM的预期机器可读代码集合的散列。如果第一计算平台在操作406确定SE的完整性测量与预期值不匹配,第一计算平台可进行到操作410并且向第一计算平台的另一个组件(例如,安全事件登录软件)、另一个计算平台(例如,安全事件登录服务器)和/或第二计算平台提供失配指示符(例如,以便通知其可能的安全漏洞)。过程400可就此结束。
如果第一计算平台在操作406确定SE的完整性测量与预期值匹配,第一计算平台可进行到操作408并且与第二计算平台的宾客VM的资源进行通信。在某些实施例中,在操作408与第二计算平台的宾客VM的资源进行通信之前,第一计算平台可确定表示vRTM和第二计算平台的宾客VM的资源之间的完整性测量链的数据(例如,该链的完整性测量的一个或多个散列值)是否与预期值匹配,并且可仅当确认匹配时才前进到与第二计算平台的宾客VM的资源进行通信。过程400可就此结束。
现在参照图5,提供了根据各实施例用于修改存储在PCR(诸如任何PCR 136)中的值的过程500的流程图。为了说明性目的,过程500的操作可被描述为由计算平台100执行,但是过程500的操作(包括过程500的单独操作)可由计算平台100的任何适当配置的组件或组件组合执行。
过程500可在操作502开始,其中计算平台100可在计算平台100的第一SE(诸如SE 132)中提供MVM(诸如MVM 118)。在操作504,计算平台100可在计算平台100的第二SE(诸如SE 134)中为宾客VM(诸如宾客VM 110)提供vTPM(诸如vTPM 106)。第二SE(操作504)可不同于第一SE(操作502)。在操作506,计算平台100可在计算平台100的第三SE(诸如SE 130)中提供vRTM(诸如vRTM 120),第三SE不同于第一和第二SE。在某些实施例中,在操作502提供的MVM可包括vRTM(例如,vRTM 120的功能),并且因此可不执行操作506。
在操作508,计算平台100可发起vRTM(例如,包括在MVM 118中的vRTM 120或vRTM)和宾客VM的资源之间的完整性测量链。在操作510,计算平台100可在vTPM(在操作504提供)接收改变存储在vTPM的PCR中的值的命令,该PCR与宾客VM的资源相关联。在某些实施例中,改变存储在PCR中的值的命令可响应于在操作508发起的完整性测量链而做出。在某些实施例中,改变存储在PCR中的值的命令可不源自完整性测量,而是源自另一个源(例如,另一个进程)。在某些实施例中,在操作510接收的命令可包括用与PCR相关联的宾客VM资源的完整性测量的密码散列扩展存储在该PCR中的值的指令。在操作510接收的命令可依赖于PCR的配置;例如,某些PCR可仅在vTPM复位时才被初始化为某个值,或者可仅被扩展而不是被设置为任意值。
在操作512,计算平台100可确定是否已经在vTPM从MVM接收到指示允许改变命令(在操作510接收)的修改符。在一些实施例中,MVM和vTPM可在操作512通过安全信道进行通信。由于MVM和vTPM各自安置在安全区域内(并且可因此被验证和信任),用于在两个信任点之间建立安全信道的本领域中已知的多种技术中的任一种可用于在MVM和vTPM之间建立安全信道。在某些实施例中,修改符可表示与PCR相关联的宾客VM的生命周期事件。如果尚未接收到合适的修改符,过程500可结束并且可不对PCR进行改变。如果计算平台100在操作510确定已经接收到修改符,计算平台100可进行到操作514并且改变存储在PCR中的值。过程500可就此结束。
现在参照图6,提供了适用于实践所公开的实施例的示例计算平台600的框图(例如,以上参照图1的计算平台讨论的实施例,以及以上参照图4讨论的第一和第二计算平台)。计算平台600可包括数个计算系统中的任一个或者是其一部分,诸如例如桌上计算机、便携式计算机、平板计算机、服务器、客户机、瘦客户机、蜂窝电话或智能电话。
如所示,计算设备600包括数个处理设备602和系统存储器604。处理设备602可包括一个或多个处理核或其他处理设备。此外,计算平台600可包括大容量存储设备606(诸如固态驱动器、磁盘、硬盘驱动器、致密盘只读存储器(CDROM)等等)、输入输出设备608(诸如显示器、键盘、光标控制、相机、麦克风、GPS接收机、运动检测器等等)和通信接口610(诸如网络接口卡、调制解调器、WiFi设备、蓝牙设备等等)。这些元件可经由表示一个或多个总线的系统总线612耦合到彼此。在多条总线的情况下,它们可由一个或多个总线桥(未示出)桥接。在此描述的技术可用于使计算平台的资源免受通过这些设备或通路中的任何一个或多个引入的漏洞。
这些元件各自可执行本领域已知的其常规功能。具体地,当由对应的处理设备602(在此统称为计算逻辑622)执行时,系统存储器604和大容量存储设备606可用于存储实现图2至图5中任一项的方法或其各部分的编程指令的工作副本和永久副本。各组件可由处理设备602所支持的汇编器指令或可编译到这种指令中的高级语言(诸如例如C)实现。
编程指令的永久副本可在出厂时通过例如机器可访问分布介质(未示出)(诸如致密盘(CD))或通过通信接口610(例如,从分布式服务器(未示出))被放入永久存储设备606中。也就是,具有代理程序的实现的一个或多个分布式介质可用于分布代理和对各计算设备进行编程。元件602-612的构成是已知的,并且因此将不进一步描述。
用于执行上述技术的机器可访问介质(包括非瞬态机器可读介质)、方法、系统和设备是在此公开的实施例的说明性示例。此外,上述交互中的其他设备可被配置成用于执行各种所公开的技术。
示例
示例1A是一种用于在计算平台上发起完整性测量链的方法,该方法包括:在计算平台的第一安全区域中向该计算平台提供vRTM,其中该计算平台被配置成用于执行该第二安全区域的完整性测量;在该第一安全区域外部向该计算平台提供用于宾客VM的vTPM;以及在该计算平台上发起在该vRTM和该宾客VM的资源之间的完整性测量链。
示例1B可包括示例1A所述的主题,并且进一步指定该第一安全区域包括该计算平台的存储器区,经由位于该存储器区外部的所执行指令不能访问该存储器区。
示例1C可包括示例1A-1B中任一项所述的主题,进一步包括在该vTPM中存储在该vRTM和该宾客VM的资源之间的完整性测量链的完整性测量。
示例1D可包括示例1A-1C中任一项所述的主题,并且进一步指定在该第一安全区域外部向该计算平台提供用于宾客VM的vTPM包括在该计算平台的第二安全区域内向该计算平台提供用于宾客VM的vTPM,其中该第二安全区域不同于该第一安全区域。
示例1E可包括示例1D所述的主题,并且进一步指定该宾客VM位于该第二安全区域外部。
示例1F可包括示例1A-1E中任一项所述的主题,并且进一步指定该完整性测量链包括该vTPM的完整性测量。
示例可包括示例1F所述的主题,并且进一步指定该完整性测量链包括向该宾客VM提供服务的支持VM的完整性测量。
示例1H可包括示例1A-1G中任一项所述的主题,并且进一步指定被配置成用于执行该第一安全区域的完整性测量包括将与该第一安全区域相关联的微代码配置成用于执行该第一安全区域的该完整性测量并且将该第一安全区域的该完整性测量存储在硬件寄存器中。
示例1I可包括示例1A-1H中任一项所述的主题,并且进一步指定该vTPM是第一vTPM,该宾客VM是第一宾客VM,并且该方法进一步包括:向该计算平台提供用于该第二宾客VM的第二vTPM;以及在该计算平台上发起该vRTM和该第二宾客VM的资源之间的完整性测量链。
示例1J是一种或多种包括指令的机器可读介质,响应于由计算平台的处理设备执行,该指令致使该计算平台执行如示例1A-1I中任一项所述的方法。
示例1K是一种包括一个或多个处理设备和一个或多个包括指令的机器可读介质的装置,响应于由该一个或多个处理设备执行,该指令致使该装置执行如示例1A-1I中任一项所述的方法。
示例1L是一种包括用于执行示例1A-1I中任一项所述的方法的操作的一个或多个装置的装置。
示例2A是一种用于计算的方法,该方法包括:在计算平台的第一安全区域中向该计算平平台提供MVM;向计算平台提供用于该计算平台的宾客VM的vTPM,该vTPM在该计算平台的不同于该第一安全区域的第二安全区域中提供;在该vTPM处接收改变存储在vTPM的PCR中的值的命令;在该vTPM处从该MVM通过安全信道接收指示允许该命令的修改符;以及在接收到该修改符之后,由该计算平台改变存储在该PCR中的该值。
示例2B可包括示例2A所述的主题,并且进一步指定该修改符表示与该PCR相关联的VM的生命周期事件。
示例2C可包括示例2A-2B中任一项所述的主题,并且进一步指定改变存储在该PCR中的该值的该命令是用与PCR相关联的VM资源的完整性测量的密码散列扩展存储在该PCR中的该值。
示例2D可包括示例2A-2C中任一项所述的主题,并且进一步指定该MVM包括vRTM。
示例2E包括示例2A-2C中任一项所述的主题,并且进一步包括:在该计算平台的第三安全区域中向该计算平台提供vRTM,其中该第三安全区域不同于该第一和第二安全区域;以及在该计算平台上发起该vRTM和该宾客VM的资源之间的完整性测量链。
示例2F是一种或多种包括指令的机器可读介质,响应于由计算平台的处理设备执行,该指令致使该计算平台执行如示例2A-2E中任一项所述的方法。
示例2G是一种包括一个或多个处理设备和一个或多个包括指令的机器可读介质的装置,响应于由该一个或多个处理设备执行,该指令致使该装置执行如示例2A-2E中任一项所述的方法。
示例2H是一种包括用于执行示例2A-2E中任一项所述的方法的操作的一个或多个装置的装置。
示例3A是一种用于接收完整性测量的方法,该方法包括:由第一计算平台向第二计算平台的处理设备传输报告该第二计算平台的安全区域的完整性测量的命令,其中该安全区域包含被配置作为用于该vRTM和布置在该安全区域外部的宾客VM的资源之间的完整性测量链的用于测量的信任根的vRTM;以及由该第一计算平台从该第二计算平台接收该安全区域的完整性测量。
示例3B可包括示例3A所述的主题,并且进一步包括由该第一计算平台将该安全区域的该完整性测量与预期值进行比较。
示例3C可包括示例3B所述的主题,并且进一步包括由该第一计算平台响应于指示该第二安全区域的该完整性测量匹配该预期值的该比较的结果与该宾客VM的该资源通信。
示例3D可包括示例3B-3C中任一项所述的主题,并且进一步指定该预期值基于定义该vRTM的预期机器可读代码集合。
示例3E可包括示例3A-3D中任一项所述的主题,并且进一步指定该安全区域的该完整性测量是用与该计算平台相关联的密钥签名的。
示例3F是一种或多种包括指令的机器可读介质,响应于由计算平台的处理设备执行,该指令致使该计算平台执行如示例3A-3E中任一项所述的方法。
示例3G是一种包括一个或多个处理设备和一个或多个包括指令的机器可读介质的装置,响应于由该一个或多个处理设备执行,该指令致使该装置执行如示例3A-3E中任一项所述的方法。
示例3H是一种包括用于执行示例3A-3E中任一项所述的方法的操作的一个或多个装置的装置。
Claims (25)
1.一种用于计算的装置,包括:
处理器,以及
与所述处理器耦合的存储器,指令存储在所述储存器中,其中所述指令被配置成用于由所述处理器操作以便致使所述装置:
在所述装置的第一安全区域中提供管理VM(MVM);
提供用于所述装置的宾客虚拟机(VM)的虚拟机信任平台模块(vTPM),所述vTPM在所述装置的不同于所述第一安全区域的第二安全区域中提供;
在所述vTPM处接收改变存储在所述vTPM的平台配置寄存器(PCR)中的值的命令;
在所述vTPM处通过安全信道从所述MVM接收指示所述命令被允许的修改符;以及
在接收到所述修改符之后,改变存储在所述PCR中的所述值。
2.如权利要求1所述的装置,其中,所述修改符表示与所述PCR相关联的VM的生命周期事件。
3.如权利要求1所述的装置,其中,改变存储在所述PCR中的所述值的所述命令是用与所述PCR相关联的VM资源的完整性测量的密码散列扩展存储在所述PCR中的所述值的命令。
4.如权利要求1所述的装置,其中,所述MVM包括用于测量的虚拟机信任根(vRTM)。
5.如权利要求1所述的装置,其中,所述指令被配置成用于由所述处理器操作以便致使所述装置:
在所述装置的第三安全区域中提供用于测量的虚拟机信任根(vRTM),其中所述第三安全区域不同于所述第一和第二安全区域;以及
发起在所述vRTM和所述宾客VM的资源之间的完整性测量链。
6.一种用于在计算平台上发起完整性测量链的方法,所述方法包括:
在所述计算平台的第一安全区域中向所述计算平台提供用于测量的虚拟机信任根(vRTM),其中所述计算平台被配置成用于执行所述第二安全区域的完整性测量;
在所述第一安全区域外部向所述计算平台提供用于宾客虚拟机(VM)的虚拟机信任平台模块(vTPM);以及
在所述计算平台上发起在所述vRTM和所述宾客VM的资源之间的完整性测量链。
7.如权利要求6所述的方法,其中,所述第一安全区域包括所述计算平台的存储器区,经由位于所述存储器区外部的所执行指令不能访问所述存储器区。
8.如权利要求6所述的方法,进一步包括:
在所述vTPM中存储在所述vRTM和所述宾客VM的所述资源之间的完整性测量链的完整性测量。
9.如权利要求6所述的方法,其中,在所述第一安全区域外部向所述计算平台提供用于宾客VM的vTPM包括在所述计算平台的第二安全区域内向所述计算平台提供用于宾客VM的vTPM,其中所述第二安全区域不同于所述第一安全区域。
10.如权利要求9所述的方法,其中,所述宾客VM位于所述第二安全区域外部。
11.如权利要求6所述的方法,其中,所述完整性测量链包括所述vTPM的完整性测量。
12.如权利要求11所述的方法,其中,所述完整性测量链包括向所述宾客VM提供服务的支持VM的完整性测量。
13.如权利要求6所述的方法,其中,被配置成用于执行所述第一安全区域的完整性测量包括将与所述第一安全区域相关联的微代码配置成用于执行所述第一安全区域的所述完整性测量并且将所述第一安全区域的所述完整性测量存储在硬件寄存器中。
14.如权利要求6所述的方法,其中,所述vTPM是第一vTPM并且所述宾客VM是第一宾客VM,所述方法进一步包括:
向所述计算平台提供用于第二宾客VM的第二vTPM;以及
在所述计算平台上发起在所述vRTM和所述第二宾客VM的资源之间的完整性测量链。
15.一种用于接收完整性测量的方法,所述方法包括:
由第一计算平台向第二计算平台的处理设备传输报告所述第二计算平台的安全区域的完整性测量的命令,其中所述安全区域包含用于测量的虚拟机信任根(vRTM),所述vRTM被配置作为用于所述vRTM和布置在所述安全区域外部的宾客虚拟机(VM)的资源之间的完整性测量链的用于测量的信任根;以及
由所述第一计算平台从所述第二计算平台接收所述安全区域的完整性测量。
16.如权利要求15所述的方法,进一步包括:
由所述第一计算平台将所述安全区域的所述完整性测量与预期值进行比较。
17.如权利要求16所述的方法,进一步包括:
由所述第一计算平台响应于指示所述安全区域的所述完整性测量匹配所述预期值的所述比较的结果,与所述宾客VM的所述资源通信。
18.如权利要求16所述的方法,其中,所述预期值基于定义所述vRTM的预期机器可读代码集合。
19.如权利要求15所述的方法,其中,所述安全区域的所述完整性测量是用与所述计算平台相关联的密钥签名的。
20.一种或多种包括指令的机器可读介质,响应于由计算平台的处理设备执行,所述指令致使所述计算平台执行如权利要求6至14所述的方法中的任一方法。
21.一种或多种包括指令的机器可读介质,响应于由计算平台的处理设备执行,所述指令致使所述计算平台执行如权利要求15至19所述的方法中的任一方法。
22.一种用于发起完整性测量链的设备,所述设备包括:
用于在所述计算平台的第一安全区域中提供用于测量的虚拟机信任根(vRTM)的装置,其中所述计算平台被配置成用于执行所述第二安全区域的完整性测量;
用于在所述第一安全区域外部提供用于宾客虚拟机(VM)的虚拟机信任平台模块(vTPM)的装置;以及
用于发起在所述vRTM和所述宾客VM的资源之间的完整性测量链的装置。
23.如权利要求22所述的设备,进一步包括:
用于在所述vTPM中存储在所述vRTM和所述宾客VM的所述资源之间的完整性测量链的完整性测量的装置。
24.一种用于接收完整性测量的设备,所述方法包括:
用于向第二计算平台的处理设备传输报告所述第二计算平台的安全区域的完整性测量的命令的装置,所述设备是第一计算平台,其中所述安全区域包含用于测量的虚拟机信任根(vRTM),所述vRTM被配置作为用于所述vRTM和布置在所述安全区域外部的宾客虚拟机(VM)的资源之间的完整性测量链的用于测量的信任根;以及
用于从所述第二计算平台接收所述安全区域的完整性测量的装置。
25.如权利要求24所述的设备,进一步包括:
用于将所述安全区域的所述完整性测量与预期值进行比较的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810461023.0A CN108762887B (zh) | 2013-03-06 | 2013-03-06 | 用于虚拟机的测量的信任根 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2013/029439 WO2014137338A1 (en) | 2013-03-06 | 2013-03-06 | Roots-of-trust for measurement of virtual machines |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810461023.0A Division CN108762887B (zh) | 2013-03-06 | 2013-03-06 | 用于虚拟机的测量的信任根 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104969234A true CN104969234A (zh) | 2015-10-07 |
CN104969234B CN104969234B (zh) | 2018-06-12 |
Family
ID=51489395
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810461023.0A Active CN108762887B (zh) | 2013-03-06 | 2013-03-06 | 用于虚拟机的测量的信任根 |
CN201380072400.7A Active CN104969234B (zh) | 2013-03-06 | 2013-03-06 | 用于虚拟机的测量的信任根 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810461023.0A Active CN108762887B (zh) | 2013-03-06 | 2013-03-06 | 用于虚拟机的测量的信任根 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9053059B2 (zh) |
EP (2) | EP3869332B1 (zh) |
JP (1) | JP6055561B2 (zh) |
KR (1) | KR101717263B1 (zh) |
CN (2) | CN108762887B (zh) |
WO (1) | WO2014137338A1 (zh) |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8494585B2 (en) | 2011-10-13 | 2013-07-23 | The Boeing Company | Portable communication devices with accessory functions and related methods |
US9992024B2 (en) * | 2012-01-25 | 2018-06-05 | Fujitsu Limited | Establishing a chain of trust within a virtual machine |
US10579405B1 (en) * | 2013-03-13 | 2020-03-03 | Amazon Technologies, Inc. | Parallel virtual machine managers |
US9819661B2 (en) | 2013-09-12 | 2017-11-14 | The Boeing Company | Method of authorizing an operation to be performed on a targeted computing device |
US10064240B2 (en) | 2013-09-12 | 2018-08-28 | The Boeing Company | Mobile communication device and method of operating thereof |
US9497221B2 (en) * | 2013-09-12 | 2016-11-15 | The Boeing Company | Mobile communication device and method of operating thereof |
US10063445B1 (en) * | 2014-06-20 | 2018-08-28 | Amazon Technologies, Inc. | Detecting misconfiguration during software deployment |
US9715597B2 (en) * | 2014-09-25 | 2017-07-25 | Mcafee, Inc. | Data verification using enclave attestation |
US10171427B2 (en) | 2015-01-29 | 2019-01-01 | WebCloak, LLC | Portable encryption and authentication service module |
US9667606B2 (en) | 2015-07-01 | 2017-05-30 | Cyphermatrix, Inc. | Systems, methods and computer readable medium to implement secured computational infrastructure for cloud and data center environments |
US10248791B2 (en) | 2015-07-20 | 2019-04-02 | Intel Corporation | Technologies for secure hardware and software attestation for trusted I/O |
US9673982B2 (en) | 2015-09-16 | 2017-06-06 | Sprint Communications Company L.P. | Efficient hardware trust verification in data communication systems that comprise network interface cards, central processing units, and data memory buffers |
CN109416718B (zh) * | 2015-12-24 | 2023-05-12 | 英特尔公司 | 云数据中心中应用容器的可信部署 |
US10528739B2 (en) | 2016-04-20 | 2020-01-07 | Sophos Limited | Boot security |
WO2018054466A1 (en) * | 2016-09-22 | 2018-03-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Virtualization of a trusted computing base |
US10324862B2 (en) * | 2016-09-30 | 2019-06-18 | Intel Corporation | Supporting oversubscription of guest enclave memory pages |
US10642972B2 (en) * | 2016-10-20 | 2020-05-05 | Intel Corporation | Extending packet processing to trusted programmable and fixed-function accelerators |
US10528721B2 (en) * | 2016-10-20 | 2020-01-07 | Intel Corporation | Trusted packet processing for multi-domain separatization and security |
US10819696B2 (en) * | 2017-07-13 | 2020-10-27 | Microsoft Technology Licensing, Llc | Key attestation statement generation providing device anonymity |
WO2019029817A1 (en) * | 2017-08-11 | 2019-02-14 | Huawei Technologies Co., Ltd. | DEVICES AND METHODS FOR KEY CERTIFICATE WITH MULTIPLE DEVICE CERTIFICATES |
US10621350B2 (en) | 2017-10-02 | 2020-04-14 | Microsoft Technology Licensing, Llc | System integrity using attestation for virtual trusted platform module |
US10587412B2 (en) * | 2017-11-07 | 2020-03-10 | International Business Machines Corporation | Virtual machine structure |
US11113400B1 (en) * | 2017-12-26 | 2021-09-07 | Virtuozzo International Gmbh | System and method for providing distributed compute platform on untrusted hardware |
US10970390B2 (en) * | 2018-02-15 | 2021-04-06 | Intel Corporation | Mechanism to prevent software side channels |
US11093272B2 (en) * | 2018-06-27 | 2021-08-17 | International Business Machines Corporation | Virtual machine allocation and migration between hardware devices by destroying and generating enclaves using transmitted datafiles and cryptographic keys |
CN110677250B (zh) | 2018-07-02 | 2022-09-02 | 阿里巴巴集团控股有限公司 | 密钥和证书分发方法、身份信息处理方法、设备、介质 |
CN110795742B (zh) | 2018-08-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 高速密码运算的度量处理方法、装置、存储介质及处理器 |
CN110795774B (zh) | 2018-08-02 | 2023-04-11 | 阿里巴巴集团控股有限公司 | 基于可信高速加密卡的度量方法、设备和系统 |
CN109165079B (zh) * | 2018-08-07 | 2021-07-27 | 郑州云海信息技术有限公司 | 基于虚拟化的云数据中心可信平台、信任链构建方法 |
CN110874478B (zh) | 2018-08-29 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 密钥处理方法及装置、存储介质和处理器 |
US11489827B2 (en) * | 2018-10-08 | 2022-11-01 | Oracle International Corporation | Dedicated network authentication and allocation for dedicated virtual machine host clusters |
CN110515699B (zh) * | 2019-08-20 | 2021-09-07 | 苏州浪潮智能科技有限公司 | 一种获取虚拟机所在平台可信状态的方法和设备 |
US11334670B2 (en) | 2020-01-28 | 2022-05-17 | Hewlett Packard Enterprise Development Lp | Integrity verification for a software stack or part of a software stack |
US11604671B2 (en) * | 2020-03-19 | 2023-03-14 | Red Hat, Inc. | Secure virtual machine and peripheral device communication |
CN114398156B (zh) * | 2022-03-24 | 2022-09-09 | 阿里云计算有限公司 | 数据通道构建方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094719A1 (en) * | 2005-05-13 | 2007-04-26 | Scarlata Vincent R | Method and apparatus for migrating virtual trusted platform modules |
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
US20070234412A1 (en) * | 2006-03-29 | 2007-10-04 | Smith Ned M | Using a proxy for endpoint access control |
US20080244569A1 (en) * | 2007-03-30 | 2008-10-02 | David Carroll Challener | System and Method for Reporting the Trusted State of a Virtual Machine |
US20120151209A1 (en) * | 2010-12-09 | 2012-06-14 | Bae Systems National Security Solutions Inc. | Multilevel security server framework |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7103771B2 (en) | 2001-12-17 | 2006-09-05 | Intel Corporation | Connecting a virtual token to a physical token |
US7133525B1 (en) * | 2002-05-17 | 2006-11-07 | Communication Security Apparatus Corp. | Communication security apparatus and method of using same |
US20050132367A1 (en) * | 2003-12-16 | 2005-06-16 | Vijay Tewari | Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management |
JP3945708B2 (ja) * | 2004-01-23 | 2007-07-18 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理システム、変換処理システム、逆変換処理システム、変換方法、変換プログラム、及び記録媒体 |
US7590867B2 (en) * | 2004-06-24 | 2009-09-15 | Intel Corporation | Method and apparatus for providing secure virtualization of a trusted platform module |
US20070056033A1 (en) | 2005-03-31 | 2007-03-08 | Grawrock David W | Platform configuration apparatus, systems, and methods |
US8566606B2 (en) * | 2006-04-21 | 2013-10-22 | Interdigital Technology Corporation | Apparatus and method for performing trusted computing integrity measurement reporting |
US20090204964A1 (en) * | 2007-10-12 | 2009-08-13 | Foley Peter F | Distributed trusted virtualization platform |
CN101350044B (zh) * | 2008-09-02 | 2010-07-14 | 中国科学院软件研究所 | 一种虚拟环境信任构建方法 |
CN102473224B (zh) * | 2009-12-22 | 2016-10-12 | 英特尔公司 | 提供安全应用执行的方法和装置 |
EP2702724B1 (en) * | 2011-04-26 | 2017-03-29 | Telefonaktiebolaget LM Ericsson (publ) | Secure virtual machine provisioning |
MY176908A (en) * | 2011-04-26 | 2020-08-26 | Mimos Berhad | An apparatus and method for determining level of integrity |
CN102244684B (zh) * | 2011-07-29 | 2013-07-17 | 电子科技大学 | 基于usbkey的efi可信云链引导方法 |
US20140007087A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
-
2013
- 2013-03-06 WO PCT/US2013/029439 patent/WO2014137338A1/en active Application Filing
- 2013-03-06 EP EP21169303.1A patent/EP3869332B1/en active Active
- 2013-03-06 EP EP13877112.6A patent/EP2815349B1/en active Active
- 2013-03-06 JP JP2015561311A patent/JP6055561B2/ja active Active
- 2013-03-06 US US13/997,138 patent/US9053059B2/en active Active
- 2013-03-06 CN CN201810461023.0A patent/CN108762887B/zh active Active
- 2013-03-06 CN CN201380072400.7A patent/CN104969234B/zh active Active
- 2013-03-06 KR KR1020157021062A patent/KR101717263B1/ko active IP Right Grant
-
2015
- 2015-05-29 US US14/725,903 patent/US9678895B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070094719A1 (en) * | 2005-05-13 | 2007-04-26 | Scarlata Vincent R | Method and apparatus for migrating virtual trusted platform modules |
US20070234412A1 (en) * | 2006-03-29 | 2007-10-04 | Smith Ned M | Using a proxy for endpoint access control |
US20080244569A1 (en) * | 2007-03-30 | 2008-10-02 | David Carroll Challener | System and Method for Reporting the Trusted State of a Virtual Machine |
CN101039186A (zh) * | 2007-05-08 | 2007-09-19 | 中国科学院软件研究所 | 系统日志的安全审计方法 |
US20120151209A1 (en) * | 2010-12-09 | 2012-06-14 | Bae Systems National Security Solutions Inc. | Multilevel security server framework |
Also Published As
Publication number | Publication date |
---|---|
EP2815349B1 (en) | 2021-04-21 |
CN108762887B (zh) | 2022-03-11 |
KR20150105390A (ko) | 2015-09-16 |
WO2014137338A1 (en) | 2014-09-12 |
US20140258733A1 (en) | 2014-09-11 |
JP2016509321A (ja) | 2016-03-24 |
EP2815349A1 (en) | 2014-12-24 |
KR101717263B1 (ko) | 2017-03-16 |
JP6055561B2 (ja) | 2016-12-27 |
US9053059B2 (en) | 2015-06-09 |
US9678895B2 (en) | 2017-06-13 |
EP3869332A2 (en) | 2021-08-25 |
EP3869332A3 (en) | 2021-11-17 |
CN108762887A (zh) | 2018-11-06 |
EP2815349A4 (en) | 2015-10-21 |
US20150286582A1 (en) | 2015-10-08 |
CN104969234B (zh) | 2018-06-12 |
EP3869332B1 (en) | 2023-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104969234A (zh) | 用于虚拟机的测量的信任根 | |
US9698988B2 (en) | Management control method, apparatus, and system for virtual machine | |
US8151262B2 (en) | System and method for reporting the trusted state of a virtual machine | |
CN104982005B (zh) | 实施虚拟化环境中的特权加密服务的计算装置及方法 | |
US9690947B2 (en) | Processing a guest event in a hypervisor-controlled system | |
US9264220B2 (en) | Secure virtual machine provisioning | |
US20140007087A1 (en) | Virtual trusted platform module | |
CN103270518A (zh) | 虚拟机验证 | |
US8108940B2 (en) | Method for protecting data from unauthorised access | |
GB2466071A (en) | Associating a Signing key with a Software Component of a Computing Platform | |
WO2015060858A1 (en) | Methods and apparatus for protecting software from unauthorized copying | |
Stumpf et al. | An approach to a trustworthy system architecture using virtualization | |
CN107704308B (zh) | 虚拟平台vTPM管理系统、信任链构建方法及装置、存储介质 | |
CN104268477B (zh) | 一种安全控制方法及网络设备 | |
CN111698091A (zh) | 一种基于可信计算的Docker平台动态防护方法 | |
CN110046495A (zh) | 数据结构测量结果比较 | |
Zegzhda et al. | Use of Intel SGX to ensure the confidentiality of data of cloud users | |
Bornträger et al. | Secure your cloud workloads with IBM Secure Execution for Linux on IBM z15 and LinuxONE III | |
Khan et al. | A protocol for preventing insider attacks in untrusted infrastructure-as-a-service clouds | |
Wang et al. | A security-enhanced vTPM 2.0 for cloud computing | |
Song et al. | TZ-IMA: Supporting Integrity Measurement for Applications with ARM TrustZone | |
CN114499867B (zh) | 可信根管理方法、装置、设备及存储介质 | |
US20240069943A1 (en) | Data-at-rest protection for virtual machines | |
Weiß et al. | Integrity verification and secure loading of remote binaries for microkernel-based runtime environments | |
CN118211239A (zh) | 一种安全架构系统、实现安全可信启动的方法和计算设备 |
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 |