CN105493099A - 用于托管虚拟机的加密证实资源 - Google Patents
用于托管虚拟机的加密证实资源 Download PDFInfo
- Publication number
- CN105493099A CN105493099A CN201480047807.9A CN201480047807A CN105493099A CN 105493099 A CN105493099 A CN 105493099A CN 201480047807 A CN201480047807 A CN 201480047807A CN 105493099 A CN105493099 A CN 105493099A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- computing device
- host computing
- user
- intensive measurement
- 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
- 238000005259 measurement Methods 0.000 claims abstract description 153
- 238000000034 method Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 24
- 230000002093 peripheral effect Effects 0.000 claims description 6
- 238000013459 approach Methods 0.000 abstract 1
- 230000008569 process Effects 0.000 description 24
- 238000004891 communication Methods 0.000 description 23
- 238000012544 monitoring process Methods 0.000 description 14
- 230000015654 memory Effects 0.000 description 12
- 238000013500 data storage Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 230000007246 mechanism Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012358 sourcing Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000012141 concentrate Substances 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000013011 mating Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000003716 rejuvenation Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000003936 working memory Effects 0.000 description 1
Classifications
-
- 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
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- 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/1416—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
- G06F12/145—Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being virtual, e.g. for virtual blocks or segments before a translation mechanism
-
- 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/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/10—Providing a specific technical effect
- G06F2212/1052—Security improvement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Abstract
使代表用户用于执行虚拟机的计算资源的配置能够被加密证实或验证的方法。当用户请求供应虚拟机时,虚拟化计算环境的操作人员可以初始虚拟机的两相启动。在第一相中,操作人员在主机计算设备上供应虚拟机,并且获取在主机计算设备上的软件和/或硬件资源的加密测量。操作人员可随后将那些加密测量提供到请求虚拟机的用户。如果用户认可加密测量,那么操作人员可继续进行第二相并在主机上实际启动虚拟机。在一些情况下,操作人员可将加密测量与一列认可的测量比较以确定主机计算设备对于托管虚拟机是否是可接受的。
Description
相关申请的交叉引用
本申请要求2013年7月1日提交的标题为“CRYPTOGRAPHICALLYATTESTEDRESOURCESFORHOSTINGVIRTUALMACHINES”的美国非临时专利申请序列号13/932,828的优先权,所述专利申请特此以引用的方式全文并入本文并且用于所有目的。
背景技术
随着越来越多的应用和服务在诸如互联网的网络上变得可用,越来越多的内容、应用、和/或服务提供商转向诸如云计算的技术。一般来说,云计算是通过诸如网络服务的服务提供对电子资源的访问的方法,其中用于支持那些服务的硬件和/或软件是动态可扩展的,以便在任何给出的时间满足服务的需要。用户或客户通常将通过云租用、租出、或另外支付对资源的访问,并且因此不必须购买和维持需要的硬件和/或软件。
在这种情况下,许多云计算供应商利用虚拟化来允许多用户共享基础硬件和/或软件资源。虚拟化可以允许计算服务器、存储设备或其他资源被划分为与特定用户(例如,客户)相关联(例如,拥有)的多个孤立的实例(即虚拟机)。每一个虚拟机常规地包括它本身的操作系统,所述操作系统能够代表用户执行一个或多个应用。虚拟化可以因此使各种用户能够远程地运行他们的应用,在云计算提供商或操作人员的资源(例如,主机服务器等)上使用。然而,提供常规虚拟计算环境具有许多限制。例如,某些客户可对由于在远程资源上执行虚拟机可产生的安全问题特别敏感。因为客户不具有对这些资源的物理访问,所以许多客户想要获取资源没有被恶意用户篡改或者以其他方式被盗用的某种加密保证。
附图说明
将参照附图描述根据本公开的各个实施方案,在附图中:
图1示出可以根据各种实施方案使用的电子资源环境的实例;
图2示出根据各种实施方案,获取在其上供应虚拟机的主机计算设备上的资源的加密测量的实例;
图3示出根据各种实施方案,将加密测量与已经被可信实体证实的一列认可的测量比较的实例;
图4示出根据各种实施方案,使用管理程序利用一个虚拟化技术的实例;
图5示出根据各种实施方案,提供可以被用来确保虚拟化计算环境的物理资源的服务提供商的资源中心的实例;
图6示出根据各种实施方案,可以在虚拟化计算环境中对用户提供的多个虚拟机的虚拟网络的实例;
图7示出根据各种实施方案,用于证实被配置来托管虚拟机的计算资源过程的实例;
图8示出根据各种实施方案,用于编译一列认可的加密测量并将所述列提供到可信第三方的过程的实例;
图9示出可以根据各种实施方案被利用的示例性计算设备的一组通用部件的逻辑布置;并且
图10示出用于根据各种实施方案实现各方面的环境的实例。
具体实施方式
在以下描述中,将在附图的图式中作为实例而非作为限制示出各种实施方案。对在本公开中的各种实施方案的参考对于相同的实施方案是不必要的,并且此类参考意味着至少一个。尽管讨论了指定的实现和其他细节,应理解,仅仅为了示例性目的执行这个。相关领域的技术人员将意识到在不背离所要求保护的主题的范围和精神的情况下,可使用其他部件和配置。
根据本公开的各种实施方案的系统和方法可克服在用于加密证实计算资源的常规方法中经历的前述缺点和其他缺点中的一个或多个。具体来说,各种实施方案使虚拟化多组织计算环境的操作人员能够加密证实和/或验证用来代表用户(例如,客户、客户端等)执行一个或多个虚拟机的计算资源的配置。当用户请求对于用户供应虚拟机时,虚拟化计算环境(例如,云计算服务提供商)的操作人员可以开始虚拟机的两相启动。在第一相中,操作人员可在主机计算设备上供应虚拟机,并且随后获取在主机计算设备上的软件和/或硬件资源的加密测量。加密测量可使用可信平台模块(TPM)来获取,并存储在TPM的平台配置寄存器(PCR)中。操作人员可随后将加密测量提供到请求虚拟机的用户。如果用户认可加密测量,那么操作人员可继续进行第二相并在主机计算设备上实际启动(即,开始执行)虚拟机。在一些实施方案中,替代(或除了)将加密测量提供到用户,操作人员可将加密测量与已知测量或一列认可的测量(例如,“白名单”)或其他参考值比较,以便确定主机计算设备对托管虚拟机是否是可接受的。所述列的认可的加密测量可由用户提供作为对供应虚拟机的请求的一部分,或可由可信实体(例如,可信第三方)提供。
根据实施方案,用户通过使用一个或多个应用程序编程接口(API)(诸如由虚拟化多组织计算环境的操作人员提供的网络服务API)提交对虚拟机的请求。在一些实施方案中,作为提交请求的一部分,当供应虚拟机时,用户可指定主机计算设备的特定配置或提供待使用的一列认可的加密测量。响应于接收来自用户的这种请求,操作人员(例如,在服务器上的服务)可以开始对用户供应虚拟机。具体来说,供应虚拟机可包括选择主机计算设备;解压包含虚拟机配置的机器图像;以及执行任何其他必要步骤来对用户供应虚拟机。一旦虚拟机已经被供应并且准备在主机计算设备上被启动(即,执行),那么可暂停过程并且可以获取在主机计算设备上的各种软件和/或硬件资源的一个或多个加密测量。例如,在主机计算设备上的可信平台模块(TPM)或其他加密模块可被用来创建主机计算设备的软件配置的散列测量。可以通过读取在某些存储器位置中的值并将散列函数应用到那些值来生成散列测量而创建散列测量。存储器位置可与主机计算设备的基本输入/输出系统(BIOS)、在主机计算设备上的管理程序(或虚拟机管理器)、虚拟机的客体操作系统的配置、硬件配置寄存器、在外围部件互连(PCI)卡上的固件以及其他的相关联。在一个实施方案中,散列测量是存储在TPM的PCR中的安全散列算法1(SHA-1)测量。
一旦已经获取加密测量,那么它们可以被用来确定在主机计算设备上的资源是否处在可接受的状态来启动虚拟机。在一个实施方案中,虚拟化多组织计算环境的操作人员可将加密测量(例如,SHA-1)提供到请求虚拟机的用户,并且用户可在启动虚拟机之前认可或拒绝加密测量。在另一个实施方案中,如果用户已经指定主机计算设备的特定配置作为请求的一部分,那么操作人员可将主机的加密测量与对应于指定配置的已知和认可的加密测量(例如,已知的SHA-1)比较。在另一个实施方案中,如果用户已经将一列认可的加密测量提供到操作人员(例如,作为虚拟机的请求的一部分或在不同的时间处),那么操作人员可将加密测量与所述列的认可的测量比较来确定是否认可启动虚拟机或拒绝它。在一些实施方案中,可由可信第三方证实所述列的认可的测量,诸如由多用户通过(例如,在互联网上)公布所述列。
在各种实施方案中,如果操作人员确定主机计算设备的配置的加密测量不匹配任何认可的参考值,那么操作人员可以卷回恢复或撤销在主机计算设备上供应虚拟机的过程。或者,操作人员可能以其他方式不将虚拟机提供到用户,诸如通过防止虚拟机加入用户的虚拟网络。
图1示出可以根据各种实施方案使用的电子资源环境100的实例。在这个实例中,终端用户的计算设备102被展示能够进行呼叫通过至少一个网络106(例如,互联网、蜂窝网络、无线网络、局域网络(LAN)等)到控制平面108中,以便执行诸如来在数据平面110中供应数据储存库或启动虚拟机的任务。例如,用户或应用104可以直接通过数据平面110的接口访问储存库和/或虚拟机。尽管出于解释的目的使用终端用户计算设备和应用,但是应理解,如在各种实施方案中适当的,任何适当的用户、应用、服务、设备、部件或资源可以访问控制平面和/或数据平面的接口。此外,尽管部件被分成控制和数据“平面”,但是应理解这可指用来提供各自功能性的至少一些资源(例如,硬件和/或软件)的逻辑上或地理上的真实或虚拟分离。
在这个实例中的控制平面108基本上是处理控制和管理行动(诸如供应、实例化、启动、缩放、复制等)的硬件和软件部件的虚拟层。在这个实施方案中的控制平面包括网络服务层112,或可以包括例如,与计算机可执行软件、应用服务器或其他此类部件一起的至少一个网络服务器的层。网络服务层还可以包括用于从跨过至少一个网络106接收网络服务呼叫或请求的一组API132(或其他此类接口)。每一个API可被提供来接收对相对于数据环境待执行的至少一个指定行动的请求。在接收对一个API的请求时,网络服务层可以解析或者另外分析请求来确定需要作用于或处理呼叫的步骤或行动。例如,可能接收包括对启动虚拟机的请求的网络服务呼叫。在这个实例中,网络服务层可以解析请求来确定待创建的虚拟机的类型、请求的硬件的类型(如果存在的话)、或其他此类方面。请求的信息可以被写入到管理(Admin)数据存储,或其他适当的存储体位置或作业队列,用于随后的处理。
在一个实施方案中的网络服务层包括可扩展的一组面向客户服务器,所述面向客户服务器可以提供各种控制平面API并基于API规范返回适当的响应。网络服务层还可以包括至少一个API服务层,所述API服务层在一个实施方案中由处理面向外部客户API的无状态、复制服务器组成。网络服务层可以对网络服务前端特征负责,诸如基于证书验证客户;授权客户;将客户请求限流到API服务器;验证用户输入;以及封送或解封送请求和响应。API层还可以响应于API呼叫,对从管理数据存储读取配置数据/将配置数据写入到管理数据存储负责。在很多实施方案中,网络服务层和/或API服务层将是唯一外部可见的部件,或对于控制服务的客户可见,并可被控制服务的客户访问的唯一部件。如在本领域中已知的,网络服务层的服务器可以是无状态的和水平缩放的。API服务器,以及持久性数据存储,可以在区域中传遍多数据中心,例如,以使得服务器对单一数据中心故障是弹性的。API或其他此类部件的功能或配置可以由至少一个系统管理部件114或其他此类系统或服务管理。
在这个实施方案中的控制平面108包括至少一个主机监测部件116。主机监测部件可以包括硬件和/或软件的任何适当的组合,所述硬件和/或软件包括用于监测数据平面的方面的指令。例如,主机监测部件可以包括专用主机、跨许多机器分布的过程、或网络服务,在其他此类选择中。当在数据平面中创建虚拟机(VM)时,可以将VM的信息写到在控制平面中的数据存储,诸如监测数据存储120。应理解,监测数据存储可以是单独的数据存储,或可以是另一个数据存储的一部分(诸如在Admin数据存储122中的一组不同表格),或其他适当的储存库。主机监测部件116可以访问在监测数据存储中的信息,以便确定有效VM、资源实例、或在数据平面110中的其他此类资源或部件134。主机监测部件还可以执行其他任务,诸如收集来自控制平面和/或数据平面(诸如网络服务层和各种主机管理器128)的多部件的日志和/或事件信息。出于诸如实现面向客户的API的目的,使用此类事件信息,监测部件可以暴露客户可见的事件。监测部件可以不断监测控制平面的所有运行储存库和/或实例的健康;检测这些实例中的任何的故障;以及开始适当的恢复过程。
在数据平面中的每一个虚拟机实例134可以包括用于机器的至少一个数据存储126以及主机管理器部件128,从而提供对数据存储的访问。在一个实施方案中的主机管理器是应用或软件代理,所述应用或软件代理在实例和/或诸如Tomcat或Java应用服务器的应用服务器上执行,被编程来管理诸如软件部署和数据存储操作的任务,以及监测数据存储和/或各自实例的状态。在一个实施方案中的主机管理器监听端口,所述端口仅可以从内部系统部件到达,并且不可用于客户或其他外部实体。在一些实施方案中,主机管理器不可以开始到控制平面层中的任何呼叫。主机管理器可以对管理和/或执行诸如建立新储存库的实例的任务负责,所述任务包括建立逻辑卷和文件系统;安装数据库二进制文件和种子;以及开始或停止储存库。主机管理器可以监测数据存储的健康,以及针对诸如I/O错误或数据存储错误的错误状况监测数据存储,并且如果必需的话可以重新启动数据存储。主机管理器还可以执行和/或管理软件补丁和升级的安装,以及对配置(即,指定的虚拟机图像)或固件的更新等。主机管理程序还可以收集相关的量度,诸如可涉及CPU、存储器和I/O使用。
在控制平面108中的主机监测部件116可以与用于监测的虚拟机实例134的每一个主机管理器128周期性地通信,诸如通过发送指定的请求或通过监测来自主机管理器的心跳,以便确定每一个主机的状态。在一个实施方案中,监测部件包括一组事件处理器(或监测服务器),所述事件处理器(或监测服务器)被配置来将命令发布到每一个主机管理器,诸如来得到特定主机和/或虚拟机实例的状态。在至少一些实施方案中,部署监测器部件118也可以与主机、实例和其他此类部件通信,以便尝试确定版本或配置何时被部署或更新;通信被何时发送;以及其他此类信息。部署监测器可以是主机监测器的一部分或与主机监测器分开,如都可被提供作为控制平面的监测服务的一部分。
如讨论的,一旦虚拟机实例被供应并且用户被设置有DNS地址或其他地址或位置,那么用户可以使用Java数据库连通(JDBC)或其他此类客户端通过网络将请求“直接”发送到数据平面110,以便与那个实例134直接交互。在一个实施方案中,数据平面采取云计算环境(或至少包括或是其的一部分),或一组网络服务和资源的形式,所述一组网络服务和资源提供跨硬件和/或软件部件的“云”或动态网络的数据存储和访问。DNS地址在此类动态云环境中是有利的,例如像实例或可用性故障可以通过可编程地将DNS地址重新映射到用户的任何适当替代实例被遮蔽。例如,从用户102或应用104中接收的请求可以指的是网络地址翻译(NAT)路由器124或其他适当的部件,其可以将请求指向真实实例134或对应于请求DNS的主机。如讨论的,此类方式允许实例在不需要用户或应用改变被用来访问实例的DNS或其他地址的情况下被动态移动、更新、复制等。如讨论的,例如,每一个实例134可以包括主机管理器128和数据存储126,并可以在持久性存储130中具有至少一个备份实例或拷贝。使用此类方法,一旦实例已经被配置通过控制平面,那么用户、应用、服务或部件可以通过对数据平面的请求,在不必须访问控制平面108的情况下直接与实例交互。例如,用户可以通过DNS地址直接发布SQL或涉及在实例中的数据的其他此类命令。如果用户想执行诸如扩展实例的存储容量的任务,用户将仅仅必须访问控制平面。在至少一个实施方案中,控制平面108的功能性可以由可能或可能不涉及数据平面110的提供商的提供商提供作为至少一个服务,但是可以仅是可以被用来在数据平面中供应并管理虚拟机实例的第三方服务,并还可以检测并确保在单独的数据平面110中的那些实例的可用性。
图2示出根据各种实施方案,获取在其上供应虚拟机的主机计算设备上的资源的加密测量的实例200。某些用户,诸如用户201,当请求在多组织环境(例如,云计算环境)中供应虚拟机时可对安全问题尤其敏感。例如,对于这些用户,他们能够在启动虚拟机之前,测量运行虚拟机(即,管理程序、硬件等)的资源堆叠可能是重要的。这是因为甚至已经从未篡改的机器图像中启动但是在盗用的主机计算设备上执行的完全有效的虚拟机可仍然是有问题的,并可仍然盗用用户的基础设施。
对于这些类型的用户,多组织环境的操作人员可以提供BIOS、管理程序308、主机域名207、客户虚拟机308、启动操作系统(OS)、硬件配置寄存器、在外围部件互连(PCI)卡上的固件和/或在主机计算设备204上的其他资源处于特定配置的加密保证。如果这与一列认可的配置或其他参考值结合,那么用户301能够验证在主机计算设备上的资源基础设施是未被盗用的并对于托管虚拟机是可接受的。
在一个实施方案中,可以实现两相启动过程用于供应虚拟机。在第一相中,用户201使用诸如网络服务API202的API请求虚拟机。请求可指定在主机计算设备上的资源的特定配置,其中配置具有与其相关联的对应的已知和认可的测量值。响应于请求,操作人员(例如,供应在服务器上运行的服务203)可以通过选择将虚拟机放置到其上的主机计算设备204;解压缩机器图像等开始过程用于供应虚拟机的过程。一旦供应并准备好启动虚拟机,可以获取在主机计算设备204上的资源配置的一个或多个加密测量。例如,TPM205可以被用来生成管理程序206、主机域名207、和/或客户虚拟机208的配置的散列测量。可以响应于用户的请求将这些加密测量提供到用户。如果用户认可加密测量,那么他们可接受虚拟机的启动(例如,点击“继续”)并且实例启动完成。或者,用户可拒绝测量(例如,点击“放弃”)并且供应虚拟机的过程是未完成的,或者另外没有将虚拟机提供到用户。
在用户已经指定应将他们的虚拟机托管在其上的特定配置的实施方案中,多组织环境的操作人员可检索与指定配置相关联的已知和认可的加密测量。这种认可的测量还可由可信第三方证实,以便提供测量是准确的用户保证。在这些实施方案中,不是需要用户认可或拒绝加密测量,操作人员可检索已知/认可的测量并将它与主机计算设备的加密测量比较。可随后将关于比较的信息提供到用户。或者,用户可仍然被设置有认可或拒绝请求的选择,与获取的加密测量是否匹配已知/认可的测量的指示一起。
图3示出根据各种实施方案,将加密测量与已经被可信实体证实的一列认可的测量比较的实例300。如先前参照图2讨论的,用户301可使用API302来提交对待供应的虚拟机的请求。供应服务303可以选择主机计算设备304并将虚拟机308供应在主机计算设备上。在启动虚拟机之前,中止过程并且获取资源(例如,硬件和/或软件源)的加密测量,诸如通过利用在主机计算设备304上的TPM305。例如,TPM305可在获取托管虚拟机308的软件堆叠的散列测量309中使用,包括但不限于管理程序306和主机域名307。
一旦获取加密测量309,将它提供到网络管理器312。网络管理器312可以检索一列认可的加密测量315并且将加密测量309与所述列的认可的测量315比较。在一些实施方案中,所述列的认可的测量315可以由可信第三方实体311证实。例如,多组织环境的操作人员可对主机计算设备的每一个可能配置编译一类所有认可的加密测量。这个列表可以被提供到检查每一个加密测量并证实它的准确度的可信第三方311。或者,可信第三方311可基于获取对操作人员的资源的访问生成所述列的认可的测量。可信方311可还公布这列认可的测量315用于被诸如用户301的各种用户访问。就用户不需要确定哪些加密测量对于启动他们的虚拟机是可接受的而哪些是不可接受的而言,这可以使对于用户301变得更加简单。在已经验证测量并肯定它们是有效和准确地的前提下,用户301可以相信可信方311。
如先前提到的,虚拟机可在存在于虚拟化计算环境的服务提供商或其他操作人员的资源中心中的主机计算设备上操作。在主机计算设备上,可以使用许多虚拟化技术来同时操作多个客户虚拟机或客户操作系统。图4示出根据各种实施方案,使用管理程序利用一个虚拟化技术的实例400。主机计算设备401的硬件402与直接在硬件402上运行的管理程序403(例如,“裸金属”或本地管理程序)相互作用。此类管理程序的实例包括Xen、等。管理程序通常在比机器上的任何其他软件更高、更特许的处理器状态下运行,并提供诸如用于依赖层和/或域的存储器管理和处理器调度的服务。此类层和/或域的最大特许存在于可包括主机域404的服务域层中,所述主机域404可包括管理操作系统,所述管理操作系统用于配置管理程序403的操作和功能性,以及较低特许的域的操作和功能性,诸如客户虚拟机(405、406、407)或其他操作系统的域,其可以是异构性的(例如,运行不同于彼此的操作系统)。主机域404(例如,DOM-0)可以通过管理程序403具有对主机计算设备401的硬件资源402的直接访问,而客户虚拟机域(405、406、407)可能不具有。
图5示出根据各种实施方案,提供可以被用来确保虚拟化计算环境的物理资源的服务提供商的资源中心的实例500。在示出的实施方案中,服务提供商(或虚拟化计算环境的其他操作人员)可以维持存储服务提供商的物理资源(例如,主机计算设备等)的一个或多个资源中心523(例如,数据中心、服务器群等)。资源中心可被定位在不同地理位置来提供改进的冗余和失效转移,以及对资源更本地化的访问。物理资源可以被用来托管可以通过诸如互联网的网络502提供到用户501的许多虚拟机或虚拟服务器。例如,当用户想要使用服务提供商的物理资源执行应用时,他或她可请求服务提供商对用户供应将被用来部署并执行应用的虚拟机。随着对用户的应用的需求增加,用户可以请求供应更多的虚拟机来平衡负载,请求创建一个或多个虚拟网络等。
在示出的实例中,服务提供商的资源中心523可包括主机计算设备(506、507、508、509、510)的一个或多个支架521、522,其中在特定支架上的每一个主机计算设备连接到单一的架顶(TOR)开关(504、505)。这些TOR开关可以进一步连接到使主机计算设备能够连接到网络的一个或多个其他开关(524、525)。如在本公开通篇中使用的,网络可以是能够彼此通信的设备的任何有线或无线网络,包括但不限于互联网或其他广域网(WAN)、蜂窝网、局域网(LAN)、存储区域网(SAN)、内联网、外联网等。资源中心可以包括资源的任何物理或逻辑组,诸如数据中心、服务器群、内容分发网(CDN)接入点(POP)等。
根据实施方案,每一个主机计算设备可以托管一个或多个虚拟机实例(513、514、515、516、517、518、519),所述一个或多个虚拟机实例(513、514、515、516、517、518、519)已经被供应到服务提供商的客户,以便代表那些客户执行各种应用和服务。每一个虚拟机可以被供应有包括内核、驱动器、过程管理等的它本身的操作系统(OS)。
当客户希望获取虚拟机实例时,客户可以首先将请求提交到服务提供商,指示他们想要使用的VM类型。服务提供商(或其他操作人员)可进行过程来供应虚拟机实例,所述虚拟机实例将被托管在服务提供商的物理资源(例如,主机计算设备)上。当请求VM时,用户可指定与VM一起使用的配置信息,如先前描述的。
如先前描述的,当将虚拟机供应到用户时,它可与供应到那个用户的虚拟网络相关联。图6示出根据各种实施方案,可以在虚拟化计算环境中对用户提供的多个虚拟机的虚拟网络的实例600。如先前提到的,服务提供商(或虚拟化计算环境的其他操作人员)可以对于服务提供商的一个或多个客户提供维持物理资源(例如,主机计算设备等)的资源中心,以便托管各种虚拟机和虚拟网络,诸如虚拟网络651。在一些实施方案中,服务提供商可提供网络服务,所述网络服务可以被服务提供商的各种客户使用来创建和配置虚拟网络。
在示出的实例中,虚拟网络651是向客户的远程私人计算机网络的私人网络延伸。虚拟网络651包括定位在第一地理位置1660(例如,在定位在地理位置1中的第一数据中心中)处的各种虚拟机。虚拟机可以被配置到逻辑组657、658和659中(例如,来对应于未示出的不同子网和相关联的联网设备)。在这个实例中,在地理位置1660中展示单一的概念上的虚拟路由器655,以便控制在那些虚拟机与其他计算系统之间的通信,以示出可发生不同类型的通信,尽管在替代实施方案中,在地理位置1处可有多个或没有配置的联网设备。可能以各种方式在地理位置1660中实现虚拟网络,诸如通过多个物理互连路由器或其他联网设备,通过使用底层基底网络和通过底层网络控制通信的相关联的模块等。在这个实例中,虚拟路由器655根据虚拟网络651的配置的信息操作,所述配置的信息包括配置的网络拓扑结构信息,诸如可使用由服务提供商提供的网络服务被客户配置。
在这个实例中,虚拟网络651被提供用于示例性客户1,并且是对客户1的远程计算机网络的网络延伸。客户1的远程计算机网络包括在第一远程位置处的多个计算系统(未示出),诸如私人网络点A652,并且虚拟路由器655被配置来通过虚拟通信链路658与那些多个计算系统通信。例如,虚拟网络可包括对在点A652处的多个计算系统的一个或多个配置的虚拟私人网络(VPN)连接,并且通信链路658可对应于一个或多个此类VPN连接。此外,客户1的远程计算机网络可任选地包括在一个或多个其他位置处的计算系统,诸如示出的任选私人网络点B653,并且如果是这样的话,那么虚拟路由器655可还被配置来与在其他位置处的那些其他计算系统通信,诸如通过到点B653的任选虚拟通信链路658(例如,通过直接到点B的一个或多个其他配置的VPN连接)。当多个VPN连接或其他安全连接被用来远程计算机网络的远程计算系统时,每一个连接可对应于远程计算系统的子网(例如,通过与对应于那些计算系统的远程计算机网络的网络地址的子集相关联),以促使通信被路由到适当的连接。在其他实施方案中,多个VPN连接或其他安全连接可被用来在一个或多个位置处的远程计算系统,但是可各自支持对任何远程计算系统的通信,诸如如果多个连接是冗余替代(例如,用于负载平衡)。此外,在一些实施方案中,客户端的远程计算机网络可包括在多个点处的多个计算系统,但是仅仅可使用对远程计算系统的单一VPN连接或其他安全连接,远程计算机网络对将通信路由到适当的点和计算系统负责。
此外,虚拟网络651可被配置来允许在虚拟网络的虚拟机与通常在互联网654或其他公共网络上是可访问的其他外部计算系统之间的所有、一些或没有的通信。如果允许至少一些此类的外部通信,那么虚拟路由器655可还被配置来通过任选的虚拟通信链路659与那些外部的多个计算系统通信。
在示出的实施方案中,除了在地理位置1660处的虚拟机(656、657、658)之外,虚拟网络可还包括定位在第二地理位置2661(例如,在地理位置2处的明显第二资源中心处)处的虚拟机665。因此,虚拟路由器655可被配置来包括在地理位置2661处到虚拟网络的部分的虚拟通信链路662。在这个实例中,在地理位置2661处的虚拟网络的部分类似地与概念上的虚拟路由器664一起示出,以便管理到和从虚拟机665的通信,包括通过虚拟通信链路663与在地理位置1660处的虚拟网络的部分通信。可在各种实施方案中以各种方式处理在不同的地理位置处的虚拟网络的虚拟机之间的此类通信,诸如通过在互联网或其他公共网络上发送通信(例如,作为使用加密的安全通道的一部分);通过以私人安全方式发送通信(例如,通过在地理位置之间的专用租赁线)等。此外,尽管这里未示出,但是在地理位置2处的虚拟网络的部分可类似地包括其他虚拟通信链路,诸如到远程客户端私人网络(例如,通过与对地理位置1的任何VPN连接不同的一个或多个VPN连接);到互联网等。
如先前描述的,当将虚拟机供应到用户(例如,客户1)时,它可被添加到那个用户的虚拟网络。在一些实施方案中,用户可提供一列认可的加密测量并指定属于它们的虚拟网络的所有虚拟机需要匹配那些加密测量中的至少一个。在这些实施方案中,当用户请求额外的虚拟机被供应到它们的虚拟网络时,操作人员可选择主机计算设备并生成对于那个主机的资源的加密测量,并且随后将加密测量与由用户初始提供的所述列认可的测量比较。如果主机计算设备不匹配一个认可的测量,那么虚拟机不被添加到用户的虚拟网络。
图7示出根据各种实施方案,用于证实被配置来托管虚拟机的计算资源过程的实例700。尽管这个图可能以特定的序列描绘功能操作,但是过程不必要限制于示出的特定的顺序或操作。本领域技术人员将理解在这个或其他图中描绘的各种操作可能被并行改变、重新排列、执行或以各种方法来适配。此外,应理解,在不背离各种实施方案的范围的情况下,某些操作或操作的序列可以被添加到过程或从过程中省略。此外,本文包含的过程示意图为对本领域的普通技术人员说明流程图的概念,而不是指定代码执行的实际序列,其可作为不同流程或序列实施,为了性能优化,或以各种方式修改。
在操作701中,接收对用户供应虚拟机的请求。如先前描述的,可通过访问一个或多个API由用户提交请求。在一些实施方案中,作为提交请求的一部分,用户可指定主机计算设备为了托管用户的虚拟机将需要遵从的特定的配置。响应于接收请求,多组织环境的操作人员可选择主机计算设备用于托管虚拟机,如在操作702中所示的。在各种实施方案中,选择的主机计算设备包括用于执行虚拟机的软件和硬件。例如,资源可包括用于在设备上托管多个虚拟机的管理程序和主机域(或虚拟机监视器)。
在操作703中,操作人员在选择的主机计算设备上供应虚拟机。一旦已经供应并准备好启动虚拟机,那么操作人员生成在主机计算设备上的软件和/或硬件资源配置的加密测量(例如,散列测量),如在操作704中所示的。在一些实施方案中,在生成加密测量中可利用嵌入在主机计算设备中的TPM。
在操作705中,操作人员检索一列认可的加密测量。在各种实施方案中,可由用户通过或由操作人员编译或由可信第三方证实此列认可的散列测量。在又其他实施方案中,可信第三方可公布所述列的认可的加密测量,诸如通过使它在互联网上对用户是可访问的。一旦列表如果被获取,那么在选择的主机设备上生成的散列测量可以与所述列的认可的散列测量比较,以便确定在选择的主机计算设备上的资源对于托管虚拟机是否是可接受的。如果加密测量匹配在所述列认可的测量上的一个测量,那么在主机计算设备上启动虚拟机,如在操作706中所示的。在用户已经指定主机计算设备的特定配置作为原始请求的一部分的实施方案中,可不需要有任何列的认可的测量。相反,由TPM获取的加密测量可简单地与对应于由用户指定的特定的配置的已知并认可的测量比较,以便确定主机的配置是否是可接受的。在一些实施方案中,可以将关于测量是否匹配的信息提供回用户,诸如通过使用户能够访问提供这个信息的API。
图8示出根据各种实施方案,用于编译一列认可的加密测量并将所述列提供到可信第三方的过程的实例800。在操作801中,多组织环境的操作人员编译一列认可的加密测量以及对应于那些测量的软件和/或硬件配置。在操作802中,将所述列的认可的测量提供到可信第三方。可信第三方可分析认可的测量并证实它们的准确度。一旦可信方已经证实所述列的测量的准确度,那么当请求启动他们的虚拟机时,各种用户可依靠在所述列中的测量,如先前描述的。
在操作803中,多组织环境的操作人员可不时更新或修补用来托管虚拟机的各种资源(例如,管理程序等)。例如,多组织环境的服务提供商或操作人员可将新的基础设施和新的部件(例如,具有不同BIOS的新硬件等)引进到多组织环境。在许多情况下,此类更新、补丁或新部件可需要待生成用于这些资源的新加密测量。在操作804中,操作人员生成对应于更新的资源的新的加密测量,并且在操作805中,操作人员将那些测量提供到可信第三方。可信第三方可随后证实新的加密测量,并且用户可继续依靠它们。
本公开的实施方案可鉴于以下条款来描述:
1.一种存储一个或多个指令序列的非暂时性计算机可读存储介质,其当由一个或多个处理器执行时促使计算系统:
接收对客户供应虚拟机的请求,从托管多组织计算环境的服务提供商的客户接收所述请求;
从多个主机计算设备中选择主机计算设备来托管所述虚拟机,所述选择的主机计算设备包括用于执行所述虚拟机的一个或多个资源;
在所述选择的主机计算设备上供应所述虚拟机;
在所述选择的主机计算设备上生成所述一个或多个资源的配置的散列测量;
从所述客户获取所述一个或多个资源的所述配置对于托管所述虚拟机是否是可接受的指示,所述指示至少部分基于所述散列测量与一列认可的散列测量之间的比较;并且
响应于所述一个或多个资源的所述配置是可接受的所述指示在所述选择的主机计算设备上启动所述虚拟机。
2.根据条款1所述的非暂时性计算机可读存储介质,其中所述列的认可的散列测量是由可信第三方证实的可信列。
3.根据条款1所述的非暂时性计算机可读存储介质,其中所述散列测量至少部分基于以下各项中的一个或多个:
与所述主机计算设备的基本输入/输出系统(BIOS)相关联的值;
所述主机计算设备的管理程序的配置;
所述虚拟机的启动操作系统的配置;
在一个或多个硬件配置寄存器中的值;或者
在外围部件互连(PCI)卡中的固件。
4.根据条款1所述的非暂时性计算机可读存储介质,其还包括由一个或多个处理器执行的指令以促使计算系统:
响应于供应所述虚拟机的所述请求将所述散列测量提供到所述客户。
5.一种计算机实现方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
接收对用户供应虚拟机的请求;
选择用于托管所述虚拟机的主机计算设备,所述主机计算设备包括用于执行所述虚拟机的一个或多个资源;
在所述选择的主机计算设备上获取所述一个或多个资源的加密测量;以及
至少部分基于所述加密测量与一个或多个参考值的比较确定是否给所述用户提供对在所述主机计算设备上的所述虚拟机的访问。
6.根据条款5所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
从所述用户接收所述主机计算设备的配置的选择;
确定与所述主机计算设备的所述选择的配置相关联的认可的加密测量;以及
验证所述加密测量匹配与所述主机计算设备的所述选择的配置相关联的所述认可的加密测量。
7.根据条款5所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
响应于供应所述虚拟机的所述请求将所述加密测量提供到所述用户;
从所述用户接收指示,其指示所述加密测量是否由所述用户认可;以及
响应于接收所述加密测量被认可的指示启动在所述主机计算设备上的所述虚拟机。
8.根据条款5所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
检索一列认可的加密测量;
将所述加密测量与所述列的认可的加密测量比较以确定在所述选择的主机计算设备上的所述一个或多个资源对于托管所述虚拟机是否是可接受的;以及
响应于确定所述一个或多个资源是可接受的,在所述选择的主机计算设备上启动所述虚拟机。
9.根据条款5所述的计算机实现方法,其中所述一个或多个参考值还包括:
由可信第三方生成并由所述可信第三方证实的一列认可的加密测量。
10.根据条款5所述的计算机实现方法,其还包括:
对主机计算设备的多个配置编译一列认可的加密测量;以及
将所述列的认可的加密测量提供到可信第三方以由所述可信第三方证实。
11.根据条款10所述的计算机实现方法,其还包括:
确定多个主机计算设备中的至少一个已经被修补或更新;以及
用新的加密测量更新所述列的认可的加密测量以说明对所述主机计算设备的所述修补或更新。
12.根据条款10所述的计算机实现方法,其中所述列的认可的加密测量由所述可信第三方公布以可由多个用户通过网络访问。
13.根据条款8所述的计算机实现方法,其中所述列的认可的加密测量与供应所述虚拟机的所述请求一起由所述用户提供。
14.根据条款5所述的计算机实现方法,其中所述散列测量至少部分基于以下各项中的一个或多个:
与所述主机计算设备的基本输入/输出系统(BIOS)相关联的值;
所述主机计算设备的管理程序的配置;
所述虚拟机的启动操作系统的配置;
在一个或多个硬件配置寄存器中的值;或者
在外围部件互连(PCI)卡中的固件。
15.一种计算系统,其包括:
至少一个处理器;以及
存储器,其包括指令,所述指令当由所述处理器执行时,促使所述计算系统:
接收对用户供应虚拟机的请求;
选择用于托管所述虚拟机的主机计算设备,所述主机计算设备包括用于执行所述虚拟机的一个或多个资源;
在所述选择的主机计算设备上获取所述一个或多个资源的加密测量;并且
至少部分基于所述加密测量与一个或多个参考值的比较确定是否给所述用户提供对在所述主机计算设备上的所述虚拟机的访问。
16.根据条款15所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
从所述用户接收所述主机计算设备的配置的选择;
确定与所述主机计算设备的所述选择的配置相关联的认可的加密测量;以及
验证所述加密测量匹配与所述主机计算设备的所述选择的配置相关联的所述认可的加密测量。
17.根据条款15所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
响应于供应所述虚拟机的所述请求将所述加密测量提供到所述用户;
从所述用户接收指示,其指示所述加密测量是否由所述用户认可;以及
响应于接收所述加密测量被认可的指示启动在所述主机计算设备上的所述虚拟机。
18.根据条款15所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
检索一列认可的加密测量;
将所述加密测量与所述列的认可的加密测量比较以确定在所述选择的主机计算设备上的所述一个或多个资源对于托管所述虚拟机是否是可接受的;以及
响应于确定所述一个或多个资源是可接受的,在所述选择的主机计算设备上启动所述虚拟机。
19.根据条款15所述的计算系统,其中所述存储器还包括指令,所述指令由所述至少一个处理器执行以促使所述计算系统:
对主机计算设备的多个配置编译一列认可的加密测量;以及
将所述列的认可的加密测量提供到可信第三方以由所述可信第三方证实。
20.根据条款19所述的计算系统,其中所述存储器还包括指令,所述指令由所述至少一个处理器执行以促使所述计算系统:
确定多个主机计算设备中的至少一个已经被修补或更新;以及
用新的加密测量更新所述列的认可的加密测量以说明对所述主机计算设备的所述修补或更新。
21.根据条款19所述的计算系统,其中所述列的认可的加密测量由所述可信第三方公布以可由多个用户通过网络访问。
22.根据条款18所述的计算系统,其中所述列的认可的加密测量与供应所述虚拟机的所述请求一起由所述用户提供。
图9示出示例性计算设备900的一组通用部件的逻辑布置。在这个实例中,装置包括用于执行可存储在存储器装置或元件904中的指令的处理器902。如本领域的技术人员显而易见的,设备可包括许多类型的存储器、数据存储器或非暂时性计算机可读存储介质,诸如用于处理器902执行的程序指令的第一数据存储,用于图像或数据的独立存储,用于与其他设备共享信息的可移动存储器,等等。设备通常将包括某种类型的显示元件906,诸如触摸屏或液晶显示器(LCD),但是诸如便携式媒体播放器的设备可能通过其他方式(诸如通过音频扬声器)来传送信息。如讨论的,在很多实施方案中设备将包括能够从用户中接收常规输入的至少一个输入设备908。这种常规输入例如包括按钮、触摸板、触摸屏、方向盘、操纵杆、键盘、鼠标、小键盘或用户可以借助用来向设备输入命令的任何其他此种设备或元件。然而,在一些实施方案中,这种设备可能根本不包括任何按钮,且可能仅可通过视觉和音频命令的组合来控制,使得用户可在无需与设备接触的情况下控制设备。在一些实施方案中,图9的计算设备900可以包括用于在各种网络上通信的一个或多个网络接口元件908,诸如Wi-Fi、蓝牙、RF、有线或无线通信系统。许多实施方案中的设备可与网络如互联网通信,并且可以能够与其他此类设备通信。
如所论述,可以根据所述的实施方案在各种环境中实现不同方法。例如,图10示出用于实现根据各个实施方案的各方面的环境1000的实施例。如将了解,尽管出于解释目的使用基于网络的环境,但是可视情况使用不同环境来实现各个实施方案。系统包括电子客户端装置1002,所述电子客户端装置可包括可操作来在适合网络1004上发送和接收请求、消息或信息并且将信息传送回装置用户的任何适合装置。此类客户端设备的实例包括个人计算机、手机、手持式消息传递设备、膝上计算机、机顶盒、个人数据助理、电子书阅读器等等。网络可包括任何适当网络,包括内部网、互联网、蜂窝网、局域网或任何其他此类网络或上述网络的组合。此类系统所用的组件可以至少部分地取决于所选网络和/或环境的类型。用于通过此类网络通信的协议和组件是众所周知的,因而本文不再详细论述。网路上的通信可以通过有线或无线连接及其组合来实现。在这个实施例中,网络包括互联网,因为环境包括用于接收请求且响应于所述请求而服务内容的Web服务器1006,然而对于其他网络来说,可使用用于服务类似目的的替代设备,如本领域技术人员所显而易见的。
所示环境包括至少一个应用程序服务器1008和数据存储器1010。应当理解,可以存在可以链接起来或以其他方式来配置的若干应用程序服务器、层或其他元件、过程或组件,这些应用程序服务器、层或其他元件、过程或组件可交互来执行如从适合的数据存储器获取数据的任务。如本文所使用的,术语“数据存储器”指代能够存储、访问和检索数据的任何设备或设备组合,所述设备的设备组合可包括任何标准、分布式或集群式环境中的任何组合和任何数目的数据服务器、数据库、数据存储设备和数据存储介质。应用程序服务器可包括任何适合硬件和软件,所述硬件和软件视执行客户端设备的一个或多个应用程序的方面的需要与数据存储器集成且处置应用程序的大多数数据访问和业务逻辑。应用程序服务器提供与数据存储器协作的存取控制服务,并且能够生成将要传送到用户的如文本、图片、音频和/或视频等内容,在这个实施例中所述内容可以HTML、XML或另一适合结构化语言的形式通过Web服务器向用户提供服务。所有请求和响应的处置以及客户端设备1002与应用程序服务器1008之间的内容递送可由网络服务器1006来处置。应当理解,网络服务器和应用程序服务器不是必要的,且仅仅是示例性组件,因为本文所论述的结构化代码可在如本文其他地方所论述的任何适当设备或主机上执行。
数据存储器1010可包括若干单独的数据表、数据库或其他数据存储机构和介质,用来存储与特定方面相关的数据。举例来说,所示数据存储器包括用于存储生成数据1012和用户信息716的机构,所述机构可用于提供用于生成端的内容。数据存储器还展示为包括用于储存记录或会话数据1014的机构。应当理解,可能存在可能需要存储在数据存储器中的许多其他方面,如页面图像信息和访问权信息,所述方面可视情况存储在上文列出的机构中的任何机构中或存储在数据存储器1010中的额外机构中。数据存储器1010可通过与它关联的逻辑来操作,以便从应用程序服务器1008接收指令,并且响应于所述指令而获取、更新或以其他方式处理数据。在一个实例中,用户可以针对某种类型的项目提交搜索请求。在此状况下,数据存储器可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获取有关所述类型的项目的信息。接着可将信息如以网络上的结果列表的形式返回给用户,用户能够通过用户设备1002上的浏览器来查看所述列表。可在浏览器的专用页面或窗口中查看到感兴趣的特定项目的信息。
每个服务器通常将包括操作系统,所述操作系统提供用于所述服务器的一般管理和操作的可执行程序指令,且每个服务器通常将包括存储指令的计算机可读介质,所述指令在由服务器的处理器执行时可使服务器执行它的预期功能。操作系统的适合实现方式和服务器的一般功能是众所周知的或可商购的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开来实现。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的若干计算机系统和组件的分布式计算环境。然而,本领域普通技术人员应理解,这种系统可在具有比图10所示的组件更少或更多组件的系统中同样顺利地操作。因此,图10中的系统1000的描绘本质上应视为说明性的,并且不限制本公开的范围。
本文讨论或建议的各种实施方案可以在广泛范围的操作环境中实现,在一些情况下,所述环境可包括一个或多个用户计算机、计算设备或可用于操作多个应用程序中的任一个的处理设备。用户或客户端设备可包括多个通用个人计算机中的任何通用个人计算机,如运行标准操作系统的台式计算机或笔记本计算机,以及运行移动软件并且能够支持多个网络连接和发信协议的蜂窝设备、无线设备和手持设备。这种系统还可包括多个工作站,所述工作站运行各种可商购得的操作系统和用于如开发和数据库管理等目的的其他已知应用程序中的任一个。这些设备还可包括其他电子设备,如虚拟终端、薄型客户端、游戏系统和能够通过网络通信的其他设备。
大多数实施方案利用本领域技术人员所熟悉的至少一个网络,所述网络使用可商购的各种协议中的任何协议来支持通信,所述协议诸如TCP/IP、FTP、UPnP、NFS和CIFS。举例来说,网络可为局域网、广域网、虚拟专用网、互联网、内部网、外联网、公共交换电话网、红外线网络、无线网络和上述网络的任何组合。
在利用Web服务器的实施方案中,Web服务器可运行各种服务器或中间层应用程序中的任何应用程序,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和业务应用程序服务器。服务器还能够响应来自用户设备的请求而执行程序或脚本,如通过执行可以实施为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个网络应用程序。服务器还可包括数据库服务器,包括但不限于可商购自和的数据库服务器。
环境可包括如上文所论述的各种各样数据存储区以及其他存储器和存储介质。这些可驻留在各种各样位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任何或所有计算机。在实施方案的特定集中,信息可驻留在本领域技术人员熟悉的存储区域网(“SAN”)中。类似地,可视情况本地和/或远程存储用于执行归属于计算机的功能的任何必要文件。在系统包括计算机化设备的情况下,每一个这种设备可以包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出设备(例如,显示设备、打印机或扬声器)。这种系统还可包括一个或多个存储设备,如硬盘驱动器、光存储设备和如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储设备、以及可移动媒体设备、存储卡、闪存卡等。
此类设备还可包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外线通信设备等)和工作存储器,如上文所描述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储设备以及用于暂时和/或更永久地含有、存储、传输和检索计算机可读信息的存储介质。系统和各种设备通常也包括多个软件应用程序、模块、服务或位于至少一个工作存储器设备内的其他元件,包括操作系统和应用程序,如客户端应用程序或Web浏览器。应当了解,替代实施方案可具有与上述实施方案不同的众多变体。举例来说,也可使用定制硬件,和/或特定元件可实施于硬件、软件(包括便携式软件,如小程序)或者硬件和软件中。此外,可以采用与如网络输入/输出设备的其他计算设备的连接。
含有代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适合介质,其包括存储介质和通信介质,如但不限于用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中所实现的易失性介质和非易失性介质、可移动式介质和不可移动式介质,包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储器或其他磁性存储设备,或可用来存储所需信息且可供系统设备访问的任何其他介质。基于本文所提供的公开内容和教义,本技术领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
因此,应在说明性意义而不是限制性意义上理解本说明书和附图。然而,将显而易见的是:在不脱离如在权利要求书中阐述的本发明的更宽广精神和范围的情况下,可以对其做出各种修改和改变。
Claims (15)
1.一种计算机实现方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
接收对用户供应虚拟机的请求;
选择用于托管所述虚拟机的主机计算设备,所述主机计算设备包括用于执行所述虚拟机的一个或多个资源;
在所述选择的主机计算设备上获取所述一个或多个资源的加密测量;以及
至少部分基于所述加密测量与一个或多个参考值的比较确定是否给所述用户提供对在所述主机计算设备上的所述虚拟机的访问。
2.根据权利要求1所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
从所述用户接收所述主机计算设备的配置的选择;
确定与所述主机计算设备的所述选择的配置相关联的认可的加密测量;以及
验证所述加密测量匹配与所述主机计算设备的所述选择的配置相关联的所述认可的加密测量。
3.根据权利要求1所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
响应于供应所述虚拟机的所述请求将所述加密测量提供到所述用户;
从所述用户接收指示,其指示所述加密测量是否由所述用户认可;以及
响应于接收所述加密测量被认可的指示启动在所述主机计算设备上的所述虚拟机。
4.根据权利要求1所述的计算机实现方法,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
检索一列认可的加密测量;
将所述加密测量与所述列的认可的加密测量比较以确定在所述选择的主机计算设备上的所述一个或多个资源对于托管所述虚拟机是否是可接受的;以及
响应于确定所述一个或多个资源是可接受的,在所述选择的主机计算设备上启动所述虚拟机。
5.根据权利要求1所述的计算机实现方法,其中所述一个或多个参考值还包括:
由可信第三方生成并由所述可信第三方证实的一列认可的加密测量。
6.根据权利要求1所述的计算机实现方法,其还包括:
对主机计算设备的多个配置编译一列认可的加密测量;以及
将所述列的认可的加密测量提供到可信第三方以由所述可信第三方证实。
7.根据权利要求6所述的计算机实现方法,其中所述列的认可的加密测量由所述可信第三方公布以可由多个用户通过网络访问。
8.根据权利要求4所述的计算机实现方法,其中所述列的认可的加密测量与供应所述虚拟机的所述请求一起由所述用户提供。
9.根据权利要求1所述的计算机实现方法,其中所述散列测量至少部分基于以下各项中的一个或多个:
与所述主机计算设备的基本输入/输出系统(BIOS)相关联的值;
所述主机计算设备的管理程序的配置;
所述虚拟机的启动操作系统的配置;
在一个或多个硬件配置寄存器中的值;或者
在外围部件互连(PCI)卡中的固件。
10.一种计算系统,其包括:
至少一个处理器;以及
存储器,其包括指令,所述指令当由所述处理器执行时,促使所述计算系统:
接收对用户供应虚拟机的请求;
选择用于托管所述虚拟机的主机计算设备,所述主机计算设备包括用于执行所述虚拟机的一个或多个资源;
在所述选择的主机计算设备上获取所述一个或多个资源的加密测量;并且
至少部分基于所述加密测量与一个或多个参考值的比较确定是否给所述用户提供对在所述主机计算设备上的所述虚拟机的访问。
11.根据权利要求10所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
从所述用户接收所述主机计算设备的配置的选择;
确定与所述主机计算设备的所述选择的配置相关联的认可的加密测量;以及
验证所述加密测量匹配与所述主机计算设备的所述选择的配置相关联的所述认可的加密测量。
12.根据权利要求10所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
响应于供应所述虚拟机的所述请求将所述加密测量提供到所述用户;
从所述用户接收指示,其指示所述加密测量是否由所述用户认可;以及
响应于接收所述加密测量被认可的指示启动在所述主机计算设备上的所述虚拟机。
13.根据权利要求10所述的计算系统,其中确定是否给所述用户提供对所述虚拟机的访问还包括:
检索一列认可的加密测量;
将所述加密测量与所述列的认可的加密测量比较以确定在所述选择的主机计算设备上的所述一个或多个资源对于托管所述虚拟机是否是可接受的;以及
响应于确定所述一个或多个资源是可接受的,在所述选择的主机计算设备上启动所述虚拟机。
14.根据权利要求10所述的计算系统,其中所述存储器还包括指令,所述指令由所述至少一个处理器执行以促使所述计算系统:
对主机计算设备的多个配置编译一列认可的加密测量;以及
将所述列的认可的加密测量提供到可信第三方以由所述可信第三方证实。
15.根据权利要求14所述的计算系统,其中所述存储器还包括指令,所述指令由所述至少一个处理器执行以促使所述计算系统:
确定多个主机计算设备中的至少一个已经被修补或更新;以及
用新的加密测量更新所述列的认可的加密测量以说明对所述主机计算设备的所述修补或更新。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/932,828 | 2013-07-01 | ||
US13/932,828 US9367339B2 (en) | 2013-07-01 | 2013-07-01 | Cryptographically attested resources for hosting virtual machines |
PCT/US2014/045125 WO2015002992A1 (en) | 2013-07-01 | 2014-07-01 | Cryptographically attested resources for hosting virtual machines |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105493099A true CN105493099A (zh) | 2016-04-13 |
CN105493099B CN105493099B (zh) | 2018-09-25 |
Family
ID=52117025
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480047807.9A Active CN105493099B (zh) | 2013-07-01 | 2014-07-01 | 用于托管虚拟机的加密证实资源 |
Country Status (7)
Country | Link |
---|---|
US (2) | US9367339B2 (zh) |
EP (1) | EP3017397B1 (zh) |
JP (1) | JP6556710B2 (zh) |
CN (1) | CN105493099B (zh) |
CA (1) | CA2916966C (zh) |
SG (1) | SG11201510761PA (zh) |
WO (1) | WO2015002992A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109844748A (zh) * | 2016-10-25 | 2019-06-04 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务 |
CN110178136A (zh) * | 2017-01-13 | 2019-08-27 | 微软技术许可有限责任公司 | 现场可编程门阵列程序的签名验证 |
CN110308917A (zh) * | 2019-06-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 小程序发布方法、装置、设备及计算机存储介质 |
Families Citing this family (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9367339B2 (en) | 2013-07-01 | 2016-06-14 | Amazon Technologies, Inc. | Cryptographically attested resources for hosting virtual machines |
US9065854B2 (en) * | 2013-10-28 | 2015-06-23 | Citrix Systems, Inc. | Systems and methods for managing a guest virtual machine executing within a virtualized environment |
EP3066567A1 (en) * | 2013-11-07 | 2016-09-14 | Telefonaktiebolaget LM Ericsson (publ) | Setting up a virtual machine for an ip device |
US9734325B1 (en) * | 2013-12-09 | 2017-08-15 | Forcepoint Federal Llc | Hypervisor-based binding of data to cloud environment for improved security |
US9641385B1 (en) * | 2013-12-16 | 2017-05-02 | Amazon Technologies, Inc. | Dynamic system configuration in a virtual environment |
US10044695B1 (en) | 2014-09-02 | 2018-08-07 | Amazon Technologies, Inc. | Application instances authenticated by secure measurements |
US9442752B1 (en) * | 2014-09-03 | 2016-09-13 | Amazon Technologies, Inc. | Virtual secure execution environments |
US9754116B1 (en) | 2014-09-03 | 2017-09-05 | Amazon Technologies, Inc. | Web services in secure execution environments |
US9491111B1 (en) | 2014-09-03 | 2016-11-08 | Amazon Technologies, Inc. | Securing service control on third party hardware |
US10079681B1 (en) | 2014-09-03 | 2018-09-18 | Amazon Technologies, Inc. | Securing service layer on third party hardware |
US9577829B1 (en) | 2014-09-03 | 2017-02-21 | Amazon Technologies, Inc. | Multi-party computation services |
US10061915B1 (en) | 2014-09-03 | 2018-08-28 | Amazon Technologies, Inc. | Posture assessment in a secure execution environment |
US9246690B1 (en) | 2014-09-03 | 2016-01-26 | Amazon Technologies, Inc. | Secure execution environment services |
US9584517B1 (en) | 2014-09-03 | 2017-02-28 | Amazon Technologies, Inc. | Transforms within secure execution environments |
US10303879B1 (en) * | 2014-11-06 | 2019-05-28 | Amazon Technologies, Inc. | Multi-tenant trusted platform modules |
EP3032453B1 (en) * | 2014-12-08 | 2019-11-13 | eperi GmbH | Storing data in a server computer with deployable encryption/decryption infrastructure |
CN105049257A (zh) * | 2015-08-12 | 2015-11-11 | 北京因特信安软件科技有限公司 | 基于可信地理位置信息的云平台调度方法 |
US20180341768A1 (en) * | 2017-05-26 | 2018-11-29 | Microsoft Technology Licensing, Llc | Virtual machine attestation |
US10757082B2 (en) * | 2018-02-22 | 2020-08-25 | International Business Machines Corporation | Transforming a wrapped key into a protected key |
US20190386895A1 (en) * | 2018-06-13 | 2019-12-19 | At&T Intellectual Property I, L.P. | East-west traffic monitoring solutions for the microservice virtualized data center lan |
US11609845B2 (en) | 2019-05-28 | 2023-03-21 | Oracle International Corporation | Configurable memory device connected to a microprocessor |
US12032979B2 (en) * | 2019-11-06 | 2024-07-09 | Amazon Technologies, Inc. | Automated host attestation for secure run-time environments |
WO2021163757A1 (en) * | 2020-02-18 | 2021-08-26 | Dymensa Pty Ltd | System and method for implementing a personal virtual data network (pvdn) |
US11645390B2 (en) * | 2020-03-16 | 2023-05-09 | Vmware, Inc. | Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment |
KR102175317B1 (ko) * | 2020-07-02 | 2020-11-06 | 굿모닝아이텍(주) | 데스크톱 가상화 |
KR102179185B1 (ko) * | 2020-07-02 | 2020-11-17 | 굿모닝아이텍(주) | 서버 관리 시스템 |
US11283882B1 (en) * | 2020-09-08 | 2022-03-22 | Sailpoint Technologies, Inc. | System and method for software services platform architecture for supporting standalone services or development environments |
US11954181B2 (en) * | 2020-12-16 | 2024-04-09 | Dell Products L.P. | System and method for managing virtual hardware licenses of hardware resources accessed via application instances |
US20230252172A1 (en) * | 2022-02-09 | 2023-08-10 | Dell Products L.P. | Systems and methods for isolated and protected file system and data restoration |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080083039A1 (en) * | 2006-09-29 | 2008-04-03 | Su Gil Choi | Method for integrity attestation of a computing platform hiding its configuration information |
CN102073819A (zh) * | 2005-10-18 | 2011-05-25 | 英特托拉斯技术公司 | 数字权利管理的方法 |
CN102163266A (zh) * | 2010-02-17 | 2011-08-24 | 微软公司 | 在主机服务器之间安全地移动虚拟机 |
CN102405630A (zh) * | 2009-04-20 | 2012-04-04 | 交互数字专利控股公司 | 多个域和域所有权的系统 |
US20120179904A1 (en) * | 2011-01-11 | 2012-07-12 | Safenet, Inc. | Remote Pre-Boot Authentication |
CN102597960A (zh) * | 2009-12-31 | 2012-07-18 | 富士通株式会社 | 数据保护装置 |
WO2012148324A1 (en) * | 2011-04-26 | 2012-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure virtual machine provisioning |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7392534B2 (en) | 2003-09-29 | 2008-06-24 | Gemalto, Inc | System and method for preventing identity theft using a secure computing device |
US8090919B2 (en) * | 2007-12-31 | 2012-01-03 | Intel Corporation | System and method for high performance secure access to a trusted platform module on a hardware virtualization platform |
JP2012511842A (ja) | 2008-12-12 | 2012-05-24 | ボックスセントリー プライヴェート リミテッド | 電子メッセージング統合エンジン |
JP5552343B2 (ja) * | 2010-03-16 | 2014-07-16 | 株式会社日本総合研究所 | 管理装置、管理方法およびプログラム |
TW201241662A (en) * | 2010-12-21 | 2012-10-16 | Ibm | Virtual machine validation |
JP5501276B2 (ja) * | 2011-03-18 | 2014-05-21 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン配置装置、仮想マシン配置方法、仮想マシン配置プログラム |
JP5577283B2 (ja) * | 2011-03-29 | 2014-08-20 | 株式会社エヌ・ティ・ティ・データ | 仮想マシン起動装置、仮想マシン起動方法、仮想マシン起動プログラム |
US20130061293A1 (en) * | 2011-09-02 | 2013-03-07 | Wenbo Mao | Method and apparatus for securing the full lifecycle of a virtual machine |
US20130097660A1 (en) | 2011-10-17 | 2013-04-18 | Mcafee, Inc. | System and method for whitelisting applications in a mobile network environment |
JP5945512B2 (ja) * | 2013-02-13 | 2016-07-05 | 株式会社日立製作所 | 計算機システム、及び仮想計算機管理方法 |
US9367339B2 (en) | 2013-07-01 | 2016-06-14 | Amazon Technologies, Inc. | Cryptographically attested resources for hosting virtual machines |
-
2013
- 2013-07-01 US US13/932,828 patent/US9367339B2/en active Active
-
2014
- 2014-07-01 JP JP2016524325A patent/JP6556710B2/ja active Active
- 2014-07-01 WO PCT/US2014/045125 patent/WO2015002992A1/en active Application Filing
- 2014-07-01 CN CN201480047807.9A patent/CN105493099B/zh active Active
- 2014-07-01 SG SG11201510761PA patent/SG11201510761PA/en unknown
- 2014-07-01 EP EP14819365.9A patent/EP3017397B1/en active Active
- 2014-07-01 CA CA2916966A patent/CA2916966C/en active Active
-
2016
- 2016-06-09 US US15/178,016 patent/US9880866B2/en active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073819A (zh) * | 2005-10-18 | 2011-05-25 | 英特托拉斯技术公司 | 数字权利管理的方法 |
US20080083039A1 (en) * | 2006-09-29 | 2008-04-03 | Su Gil Choi | Method for integrity attestation of a computing platform hiding its configuration information |
CN102405630A (zh) * | 2009-04-20 | 2012-04-04 | 交互数字专利控股公司 | 多个域和域所有权的系统 |
CN102597960A (zh) * | 2009-12-31 | 2012-07-18 | 富士通株式会社 | 数据保护装置 |
CN102163266A (zh) * | 2010-02-17 | 2011-08-24 | 微软公司 | 在主机服务器之间安全地移动虚拟机 |
US20120179904A1 (en) * | 2011-01-11 | 2012-07-12 | Safenet, Inc. | Remote Pre-Boot Authentication |
WO2012148324A1 (en) * | 2011-04-26 | 2012-11-01 | Telefonaktiebolaget Lm Ericsson (Publ) | Secure virtual machine provisioning |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109844748A (zh) * | 2016-10-25 | 2019-06-04 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务 |
CN109844748B (zh) * | 2016-10-25 | 2023-01-06 | 微软技术许可有限责任公司 | 托管在虚拟安全环境中的安全服务的计算系统及方法 |
CN110178136A (zh) * | 2017-01-13 | 2019-08-27 | 微软技术许可有限责任公司 | 现场可编程门阵列程序的签名验证 |
CN110178136B (zh) * | 2017-01-13 | 2023-03-10 | 微软技术许可有限责任公司 | 现场可编程门阵列程序的签名验证的方法和设备 |
CN110308917A (zh) * | 2019-06-26 | 2019-10-08 | 深圳前海微众银行股份有限公司 | 小程序发布方法、装置、设备及计算机存储介质 |
CN110308917B (zh) * | 2019-06-26 | 2024-02-23 | 深圳前海微众银行股份有限公司 | 小程序发布方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20150007175A1 (en) | 2015-01-01 |
WO2015002992A1 (en) | 2015-01-08 |
EP3017397B1 (en) | 2021-11-17 |
EP3017397A1 (en) | 2016-05-11 |
CA2916966A1 (en) | 2015-01-08 |
US9880866B2 (en) | 2018-01-30 |
CN105493099B (zh) | 2018-09-25 |
EP3017397A4 (en) | 2016-12-28 |
US9367339B2 (en) | 2016-06-14 |
CA2916966C (en) | 2017-12-19 |
JP6556710B2 (ja) | 2019-08-07 |
SG11201510761PA (en) | 2016-01-28 |
US20160291992A1 (en) | 2016-10-06 |
JP2016526734A (ja) | 2016-09-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105493099A (zh) | 用于托管虚拟机的加密证实资源 | |
US10621366B2 (en) | Chained security systems | |
US10367802B2 (en) | Desktop application fulfillment platform with multiple authentication mechanisms | |
US10129344B2 (en) | Integrated user interface for consuming services across different distributed networks | |
US9401954B2 (en) | Scaling a trusted computing model in a globally distributed cloud environment | |
JP6887421B2 (ja) | コンテナ間における信頼性の確立 | |
US20180167381A1 (en) | Revocable shredding of security credentials | |
US9489227B2 (en) | Apparatus and method for virtual desktop service | |
US8943319B2 (en) | Managing security for computer services | |
CN109683936B (zh) | 灰度发布方法及装置、存储介质及电子设备 | |
CN104969201A (zh) | 用于调用特权操作的安全接口 | |
US10833859B2 (en) | Automating verification using secure encrypted phone verification | |
US20160132214A1 (en) | Application delivery agents on virtual desktop instances | |
US11245681B2 (en) | Authentication in a multi-tenant environment | |
US10346618B1 (en) | Data encryption for virtual workspaces | |
WO2017193074A1 (en) | Script manager for distributed systems | |
US8024444B2 (en) | Associating telemetry data from a group of entities | |
US11080097B1 (en) | User defined logical spread placement groups for computing resources within a computing environment | |
US20180324174A1 (en) | Saml sso ux improvements | |
US11509641B2 (en) | Accessing client credential sets using a key | |
CN110324209A (zh) | 微服务系统监控方法、装置、电子设备及计算机可读介质 | |
WO2016061520A1 (en) | On-demand delivery of applications to virtual desktops | |
US20240129306A1 (en) | Service to service communication and authentication via a central network mesh | |
US20230169204A1 (en) | Secure sharing of personal data in distributed computing zones | |
US11297065B2 (en) | Technology for computing resource liaison |
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 |