CN106105138A - 使用数字证书来认证虚拟机图像 - Google Patents

使用数字证书来认证虚拟机图像 Download PDF

Info

Publication number
CN106105138A
CN106105138A CN201580011791.0A CN201580011791A CN106105138A CN 106105138 A CN106105138 A CN 106105138A CN 201580011791 A CN201580011791 A CN 201580011791A CN 106105138 A CN106105138 A CN 106105138A
Authority
CN
China
Prior art keywords
virtual machine
virtual
machine images
computer system
supplier
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
CN201580011791.0A
Other languages
English (en)
Other versions
CN106105138B (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.)
Amazon Technologies Inc
Original Assignee
Amazon Technologies Inc
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 Amazon Technologies Inc filed Critical Amazon Technologies Inc
Publication of CN106105138A publication Critical patent/CN106105138A/zh
Application granted granted Critical
Publication of CN106105138B publication Critical patent/CN106105138B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Storage Device Security (AREA)

Abstract

虚拟机图像的供应商访问虚拟计算机系统服务以将数字签名虚拟机图像上传至数据存储区,其可由所述虚拟计算机系统服务的客户用来选择图像用于创建虚拟机实例。如果数字证书连同所述虚拟机图像一起上传,那么所述虚拟计算机系统服务可确定所述数字证书是否已是可信的以供使用。如果所述数字证书已是可信的以供使用,那么所述虚拟计算机系统服务可使用公共密钥来解密包括在所述图像中的散列签名以获得第一散列值。所述服务可另外向所述图像本身应用散列函数以获得第二散列值。如果所述两个散列值匹配,那么可认为所述虚拟机图像是经验证的。

Description

使用数字证书来认证虚拟机图像
相关申请的交叉引用
本申请要求2014年3月4日提交的题为“使用数字证书的虚拟机图像的认证(AUTHENTICATION OF VIRTUAL MACHINE IMAGES USING DIGITAL CERTIFICATES)”的共同未决的美国专利申请号14/196,818的优先权,所述申请的全部内容以引用的方式并入本文。
背景技术
计算技术得到发展并且继续发展以满足使用它们的组织的需求。例如,许多组织除了其他原因之外利用虚拟计算机系统来为远程操作一个或多个虚拟机实例服务。这些虚拟机实例可使用包括软件配置的虚拟机图像来创建,所述软件配置可包括限定了虚拟机实例的操作环境的操作系统。这些虚拟机图像可通过多种来源获得。尽管虚拟机图像有许多优点,但是难以确定用于创建虚拟机实例的虚拟机图像是否可信或者是否正由可信来源所提供。因此,利用这些虚拟计算机系统的组织可承受创建可能包括恶意软件的一个或多个虚拟机实例的风险,所述恶意软件继而可降低虚拟机实例自身的基础结构的安全性。
附图简述
将参考附图描述根据本公开的各种实施方案,在附图中:
图1示出可实现各个实施方案的环境的说明性实例;
图2示出可实现各个实施方案的环境的说明性实例;
图3示出根据至少一个实施方案的包括虚拟计算机系统服务的一个或多个部件的环境的说明性实例;
图4示出根据至少一个实施方案的包括用于选择一个或多个可信虚拟机图像来创建虚拟机实例的界面的环境的说明性实例;
图5示出根据至少一个实施方案的包括用于将虚拟机图像上传到市场的界面的环境的说明性实例;
图6示出根据至少一个实施方案的用于创建供应商账户并对供应商发放数字证书以用于形成可用虚拟机图像的过程的说明性实例;
图7示出根据至少一个实施方案的用于将虚拟机图像添加到由虚拟计算机系统服务所管理的市场的过程的说明性实例;
图8示出根据至少一个实施方案的至少部分基于一个或多个适用策略来发起虚拟机图像的过程的说明性实例;以及
图9示出可实现各个实施方案的环境。
具体实施方式
在以下描述中,将描述各种实施方案。出于解释的目的,将阐述具体的配置和细节,以便提供各实施方案的透彻理解。然而,对于本领域技术人员还将明显的是,在没有具体细节的情况下也可以实行各实施方案。此外,为了不使所描述的实施方案晦涩,可能会省略或简化众所周知的特征。
本文所描述和提出的技术涉及使用数字证书来验证用于创建虚拟机实例的一个或多个虚拟机图像。在实施方案中,实体(例如,组织)可诸如通过对服务的适当地配置的应用编程接口(API)调用来与虚拟计算机系统服务通信,以请求创建供应商账户。所述实体可以是可利用计算资源服务提供商账户来创建和提供各种虚拟机图像的供应商或其他虚拟机图像提供商,所述虚拟机图像可由计算资源服务提供商的客户所使用来创建新的虚拟机实例。除了所述请求之外,供应商可诸如通过提供虚拟计算机系统服务来与计算资源服务提供商进行验证,所述虚拟计算机系统服务具有来源于此的可用来验证供应商的身份的一个或多个凭证和/或信息(例如,数字签名)。因此,如果虚拟计算机系统服务能够验证供应商的身份,那么所述虚拟计算机系统服务可授予供应商将数字证书附加到由供应商所引入的每个虚拟机图像的许可。数字证书转而可由虚拟计算机系统服务所使用,以验证由供应商所引入的每个虚拟机图像确实来自供应商。可替代地,供应商可提供他/她自己的数字证书,虚拟计算机系统服务可将所述数字证书永久地存储在可信的存储区内,用于验证供应商提供的虚拟机图像。供应商可创建一个或多个虚拟机图像,对这些一个或多个虚拟机图像进行数字签名并且包括达成协定的数字证书。
在一些实施方案中,供应商可将一个或多个虚拟机图像上传到虚拟计算机系统服务。可将一个或多个虚拟机图像连同数字证书一起上传到虚拟计算机系统服务,虚拟计算机系统服务可利用所述数字证书来确定是否可将一个或多个虚拟机图像添加到市场。例如,如果与一个或多个虚拟机图像一起所包括的数字证书由供应商创建,那么虚拟计算机系统服务可访问可信的存储区来确定数字证书是否是可信的。可替代地,如果虚拟计算机系统服务先前已将数字证书提供给供应商用于对虚拟机图像签名,那么虚拟计算机系统服务可允许将包括此数字证书的任何虚拟机图像添加到市场。一旦一个或多个虚拟机图像被添加到市场,虚拟计算机系统服务就可在市场的条目附近包括指示符(例如,图标、消息等),以指示这些虚拟机图像已被视为来自可信的供应商。
在实施方案中,虚拟计算机系统服务可将独立地验证供应商数字证书的真实性的选项提供给客户,以便确保虚拟机图像是可信的。例如,如果客户从计算资源服务提供商市场中的多个虚拟机图像中选择虚拟机图像,那么客户可被授予访问由虚拟计算机系统服务所提供的可执行代码或应用的一个或多个模块,以验证虚拟机图像是可信的。在实施方案中,客户可使用这些一个或多个应用来使虚拟机图像自身散列,并且获得第一散列值(通常称为“摘要”)。客户可进一步利用这些一个或多个应用来从数字证书获得供应商的公共密钥,以解密包括在虚拟机图像中的签名并获得第二散列值。如果这两个散列值匹配,那么客户可确定数字签名是有效的,并且他/她可信赖用于创建虚拟机实例的虚拟机图像。
在实施方案中,虚拟计算机系统服务的客户可从市场选择虚拟机图像以发起新的虚拟机实例。因此,虚拟计算机系统服务可评估对从虚拟机图像发起虚拟机实例进行了限制的一个或多个客户和/或虚拟机图像策略。例如,客户可添加指定虚拟网络内的子网络内的子网络或特征的策略,可发起虚拟机实例(例如,基于子网络是否具有附接至其的因特网网关、子网络是否已被标记有某一标签、子网络是否具有某一类型或者来自某一供应商的实例等的限制)。在同一种或另一种配置中,虚拟机图像自身可包括由供应商设定的一组策略,所述策略替代了对使用图像来创建实例的限制。如果虚拟计算机系统服务至少部分基于客户和/或虚拟机图像策略的评估确定客户可使用所选择的虚拟机图像来生成虚拟机实例,那么虚拟计算机系统服务可将虚拟机图像实例化到物理主机并且使得客户能够使用最新创建的虚拟机实例。
以这种方式,供应商可利用私人密钥来对虚拟机图像数字签名并且包括数字证书,所述数字证书包括公共密钥以便为利用虚拟机图像来创建一个或多个虚拟机实例的计算资源服务提供商和客户提供用于认证虚拟机图像的方法。此外,本文所描述和提出的技术有利于另外的技术优势。例如,在一些实施方案中,由于虚拟计算机系统服务可至少部分基于虚拟机图像数字签名来验证虚拟机图像的真实性,所以虚拟计算机系统服务能够至少部分基于所述图像可在密码上验证为可信的来过滤虚拟机图像。这转而在不需要进一步验证所选的虚拟机图像的真实性的情况下,可允许计算资源服务提供商的客户从市场获得可信的虚拟机图像。
图1示出可实行各种实施方案的环境100的说明性实例。在环境100中,计算资源服务提供商102可向计算资源服务提供商的客户提供各种计算资源服务。计算资源服务提供商102可以是代表一个或多个用户托管各种计算资源的组织。例如,计算资源服务提供商可操作用来托管各种计算硬件资源(诸如,硬件服务器、数据存储装置、网络装置及其他设备(诸如服务器机架、联网电缆以及类似物))的一个或多个设施。计算资源服务提供商102可利用其计算硬件资源操作一个或多个服务。此类服务可包括在减少或甚至消除客户对物理设备投资的需要的同时,使计算资源服务提供商的客户能够远程管理计算资源以支持客户的操作的服务。示例性服务包括但不限于各种数据存储服务(基于对象的数据存储服务、档案库数据存储服务、数据库服务等)、程序执行服务和其他服务。所述服务可由客户使用以支持多种多样的活动,诸如操作网站、操作支持组织的企业系统、分布式计算和/或其他活动。
因此,如图1所示,环境100包括客户104。客户104可以是可利用由计算资源服务提供商102提供的一个或多个服务远程地管理计算资源的个体或组织,以支持他的或她的操作,诸如网页开发或数据库管理。客户104可通过客户计算装置向由计算系统服务提供商102提供的虚拟计算机系统服务提交一个或多个请求,以配置可用来支持客户需要的虚拟机实例。例如,在实施方案中,客户104可访问由虚拟计算机系统服务提供的市场,以从虚拟机图像数据存储区106选择合适的虚拟机图像。所选择的虚拟机图像可包括可用来支持虚拟机实例的操作系统和另外的应用。可将此选择的虚拟机图像添加到虚拟机图像的列表,所述列表可由客户104利用以实例化新的虚拟机实例。因此,当客户104从列表选择合适的虚拟机图像时,虚拟计算机系统服务可将此虚拟机图像实例化到由计算资源服务提供商102提供的物理主机,并且使得客户104能够利用新创建的虚拟机实例。
存储在虚拟机图像数据存储区106内的虚拟机图像可源自多个来源。例如,计算资源服务提供商102可创建用于创建虚拟机实例的一个或多个虚拟机图像,以便为客户104提供针对所有他的/她的计算要求的单一来源。另外,虚拟计算机系统服务可使得其他实体(包括其自身的客户和第三方供应商)创建虚拟机图像并将其上传到虚拟机图像数据存储区106,以为客户提供选择用于创建虚拟机实例的虚拟机图像的更大的多样性。
因此,如图1所示,环境100包括供应商108。供应商108也可以是个体或组织,所述个体或组织可利用由计算资源服务提供商102提供的虚拟计算机系统服务来创建一个或多个虚拟机图像和/或使一个或多个虚拟机图像可用于购买。供应商108可通过供应商计算装置向由计算系统服务提供商102提供的虚拟计算机系统服务提交一个或多个请求,以请求创建可用于将虚拟机图像上传到虚拟机图像数据存储区106的供应商账户。在一个或多个请求内,供应商108可提供可由虚拟计算机系统服务用于验证供应商108的身份的凭证信息。一旦已验证供应商108的身份,虚拟计算机系统服务就可为供应商108提供数字证书,供应商108可将所述数字证书附加到可上传到虚拟机图像数据存储区106的数字签名的虚拟机图像。可替代地,供应商108可被授予访问可信的网络连接,所述可信的网络连接可用于将虚拟机图像上传到虚拟机图像数据存储区106。因此,虚拟计算机系统服务可对这些虚拟机图像中的每一个数字签名,并且确认这些虚拟机图像中的每一个是可信的。
当客户104从虚拟机图像数据存储区106选择虚拟机图像时,虚拟计算机系统服务可确定客户104是否被授权利用此虚拟机图像来创建新的虚拟机实例。例如,客户104可创建一个或多个策略来限定对于由某些供应商提供的资源的访问等级。这可包括允许将来自某一供应商的虚拟机图像用来为客户104生成虚拟机实例。可替代地,所述策略可包括未使用其资源的供应商的列表。在实施方案中,供应商108也可将一个或多个策略附加到他的/她的虚拟机图像,以确定哪个实体可利用这些虚拟机图像。例如,如果客户104当前利用来自供应商108的竞争者的或者可能与由供应商108提供的虚拟机图像冲突的一个或多个资源,那么供应商108可生成阻止此客户104利用他的/她的虚拟机图像的策略。因此,至少部分基于由客户104定义的和/或包括在所选择的虚拟机图像自身内的策略,虚拟计算机系统服务可确定所选择的虚拟机图像是否可用于代表客户104支持新的虚拟机实例。
图2示出可实行本公开的各种实施方案的环境200的说明性实例。在环境200中,计算资源服务提供商202可以向客户204提供多种服务。客户204可以是可利用由计算资源服务提供商202提供的各种服务来远程生成、测试和维护一个或多个网页服务器或应用的组织。如图2中所示,客户204可通过一个或多个通信网络206(诸如互联网)与计算资源服务提供商202通信。从客户204至计算资源服务提供商202的一些通信可促使计算资源服务提供商202根据本文描述的各种技术或其变体来操作。
如以上所指出,计算资源服务提供商202可向其客户提供各种计算资源服务。例如,在此特定的说明性实例中,计算资源服务提供商202提供至少两种类型的服务。在此实例中,由计算资源服务提供商提供的服务包括虚拟计算机系统服务208、数据存储服务210、身份管理服务212和一个或多个其他服务214,尽管不是本公开的所有实施方案都将包括所有此类服务,但是除本文明确描述的服务之外或作为替代本文明确描述的服务,可提供另外的服务。
虚拟计算机系统服务208可以是计算资源的集合,其被配置来代表计算资源服务提供商202的客户204将虚拟机实例实例化到虚拟计算机系统上。计算资源服务提供商202的客户204可与虚拟计算机系统服务208交互,以便提供和操作在由计算资源服务提供商202托管(例如,物理主机)并操作的物理计算装置上实例化的虚拟计算机系统。虚拟计算机系统可用于各种目的,诸如作为支持网站的服务器来操作。用于虚拟计算机系统的其他应用可以用来支持数据库应用、电子商务应用、业务应用和/或其他应用。
当客户204与虚拟计算机系统服务208交互以提供虚拟机实例时,客户204可获得对多种资源的访问。例如,取决于客户的需要,虚拟机实例可提供可包括操作系统和各种应用的虚拟机图像。因此,虚拟计算机系统服务208可使得客户204能够从多个虚拟机图像中选择虚拟机图像。虚拟计算机系统服务208可被配置来确定客户204是否被准许利用所选择的虚拟机图像来创建新的虚拟机实例。如以上所指出,虚拟计算机系统服务208可评估一个或多个客户204和/或虚拟机图像策略,以确定客户204是否被允许或禁止使用虚拟机图像来创建虚拟机实例。例如,如下文将更详细描述的,虚拟计算机系统服务208可与身份管理服务212交互,以识别这些一个或多个客户204和/或虚拟机图像策略,并且至少部分基于这些策略来确定客户204是否可使用所选择的虚拟机图像来创建虚拟机实例。
虚拟计算机系统服务208可进一步允许一个或多个供应商将各种虚拟机图像上传到虚拟机图像数据存储区,所述虚拟机图像数据存储区可由一个或多个客户用来创建虚拟机实例。例如,在实施方案中,供应商可与虚拟计算机系统服务208交互,以创建可用于将虚拟机图像上传到虚拟机图像数据存储区的供应商账户。供应商可在请求内提供凭证信息来创建账户,虚拟计算机系统服务208可利用所述账户来验证供应商的身份。随后,虚拟计算机系统服务208可授予供应商数字证书,供应商可将所述数字证书附加到有待上传至虚拟机图像数据存储区的数字签名的虚拟机图像。
当供应商尝试将虚拟机图像上传到虚拟机图像数据存储区时,虚拟计算机系统服务208可确定虚拟机图像是否已被数字签名,并且如果已被数字签名,则解密所述签名来确定虚拟机图像的散列是否匹配解密的签名。如果存在匹配,那么虚拟计算机系统服务208则可验证虚拟机图像并使其通过市场可用于它的客户。因此,客户204可利用由虚拟计算机系统服务208提供的市场来选择可信的虚拟机图像,并且如果需要,通过执行包括在所选择的虚拟机图像中的供应商的数字签名的验证过程来亲自验证虚拟机图像的真实性。在获得虚拟机图像的散列出于说明目的被贯穿本公开普遍使用时,可由图像的足以执行虚拟机图像的认证的一些部分获得散列。例如,虚拟计算机系统服务208可被配置来使虚拟机图像的被认为是重要的可执行部分或一些其他部分散列,以便验证整个虚拟机图像。
数据存储服务210可包括计算资源的集合,其共同地操作来存储用于客户204的数据。可将在数据存储服务210中存储的数据组织到数据对象中。数据对象可以具有任意大小,除了可能在尺寸上的某些约束。因此,数据存储服务210可存储具有大小不一的众多数据对象。数据存储服务210可操作为将数据对象与数据对象的标识符相关联的键值存储区,所述数据对象的标识符可由客户204使用,以检索或执行与由数据存储服务210存储的数据对象有关的其他操作。可通过一个或多个API调用来对数据存储服务210进行访问,所述API调用被适当配置来引起有待由数据存储服务210执行的一个或多个动作。
身份管理服务212可提供各种服务以使得客户能够定义到由计算资源服务提供商202提供的其他服务的访问等级(诸如图2中示出的那些),并且能够定义到由客户和其他供应商提供的资源的访问的等级。因此,客户204可访问身份管理服务212来创建和管理可利用由计算资源服务提供商202提供的服务的一个或多个用户和群组。客户204可利用身份管理服务212来生成一个或多个策略,所述一个或多个策略可用来定义到由某些供应商提供的虚拟机图像的访问等级。
当客户204或其他用户利用虚拟计算机系统服务208来选择虚拟机图像以生成新的虚拟机实例时,虚拟计算机系统服务208可访问身份管理服务212来确定客户204或其他用户是否被授权利用所选择的虚拟机图像。身份管理服务212可从数据存储区获得附加到请求者以及图像的所有策略,并且附加到图像的策略用于启动已在客户的虚拟网络内的虚拟计算机系统。身份管理服务212可随后评估所述策略以确定是否授予或拒绝所述请求。在示例性实施方案中,所述策略可包括一组策略状态说明,用于允许来自某一供应商的虚拟机图像被用来为客户204或其他用户生成虚拟机实例,只要所述图像具有附加到来自某些供应商的图像的数字签名。类似地,策略状态说明可包括未使用其资源的供应商的列表,或者基于虚拟网络的特征的其他限制。虚拟机图像的供应商也可生成一个或多个策略,所述一个或多个策略与他的/她的虚拟机图像相关联以确定哪些实体可利用这些虚拟机图像来生成虚拟机实例。例如,如果客户204利用来自供应商的竞争者的或者可能与由供应商提供的虚拟机图像冲突的一个或多个资源,那么供应商可生成阻止此客户204利用这些虚拟机图像的策略。
计算资源服务提供商202可另外基于其客户204的需要维持一个或多个其他服务214。例如,计算资源服务提供商202可维持用于其客户204的数据库服务。数据库服务可以是计算资源的集合,所述数据库服务共同操作来运行用于一个或多个客户204的一个或多个数据库。计算资源服务提供商202的客户204可通过利用对所述服务的适当配置的API调用来操作和管理来自数据库服务的数据库。这继而可允许客户204维持并潜在地按比例调节数据库中的操作。其他服务包括但不限于对象级数据存储服务、对象级档案库数据存储服务、管理其他服务的服务和/或其他服务。
如以上所指出,虚拟计算机系统服务可由一个或多个客户使用以提供用于各种用途的虚拟机实例。虚拟计算机系统服务可准许客户访问市场以便选择包括操作系统和多种应用的虚拟机图像,所述操作系统和多种应用可使客户能够执行某些功能(例如,维持一个或多个数据库,存储客户端信息,开发网页应用等)。此虚拟机图像可用于创建虚拟机实例。因此,图3示出根据至少一个实施方案的包括虚拟计算机系统服务302的各种部件的环境300的说明性实例。虚拟计算机系统服务302可向客户提供接口304,所述接口304可使客户能够访问虚拟计算机系统服务302。客户可通过一个或多个通信网络(诸如互联网)利用接口304。接口304可包含某些安全保护以确保客户有授权访问虚拟计算机系统服务302。例如,为了访问虚拟计算机系统服务302,客户在使用接口304时可能需要提供用户名和对应的密码或密钥。另外,提交给接口304的请求(例如,API调用)可能需要使用密钥生成的电子签名,以使得电子签名可由虚拟计算机系统服务302(诸如由授权系统(未示出))验证。
一旦客户通过接口304已经获得对虚拟计算机系统服务302的访问,虚拟计算机系统服务302就可允许客户通过接口304与管理子系统306交互。例如,管理子系统306可使客户能够远程提供虚拟机实例。客户可使用接口304和管理子系统306以生成包括适于客户需要的操作系统和多种应用的虚拟机实例。可将所述操作系统和各种应用以虚拟机图像数据存储区308中的虚拟机图像的形式维持在数据存储装置中。虚拟计算机系统服务302可基于如在管理子系统306中指定的特定的客户偏好来将多种虚拟机图像维持在虚拟机图像数据存储区308中。当客户提交针对通过管理子系统306提供虚拟机实例的请求时,虚拟计算机系统服务302可识别客户已请求的虚拟机图像,并且分配所需的资源(例如,操作虚拟机图像的部件所需的处理器和随机存取存储器(RAM)),以处理虚拟机图像。可在可充当用于所述实例的物理主机312的一个或多个物理存储装置(例如,一个或多个服务器或硬盘驱动器)上实例化所述虚拟机图像。
可由虚拟机图像的一个或多个供应商通过由计算资源服务提供商提供的市场316来提供存储在虚拟机图像数据存储区308内的虚拟机图像。在实施方案中,供应商访问市场316以生成新的供应商账户,所述供应商账户可用于生成并上传虚拟机图像。为了生成此新的供应商账户,供应商可能需要向市场316提供一组凭证,所述凭证可由市场316用来验证供应商的身份。因此,市场316可访问身份管理服务314以利用所述组凭证来验证供应商的身份。如果市场316通过身份管理服务314能够验证供应商的身份,那么市场316可访问可信的存储区310以获得可分配给供应商的数字证书。可信的存储区310可以是包括用于存储多个数字证书的一个或多个物理存储装置的数据存储区。此数字证书可附加到由供应商创建的任何数字签名的虚拟机图像,以使得可将数字证书和数字签名的虚拟机图像上传到虚拟机图像数据存储区308。可替代地,供应商如果被验证就可向可信的存储区310提供他的/她的自身的数字证书或其他密钥,管理子系统306或市场316可访问和利用所述可信的存储区310,以验证上传的虚拟机图像的真实性。
在实施方案中,供应商可进一步将针对每个上传的虚拟机图像的一个或多个客户和/或虚拟机图像策略上传至身份管理服务314,以针对计算资源服务提供商的一个或多个客户定义对于每个上传的虚拟机图像的访问等级。因此,当客户从市场316选择有待用于实例化新的虚拟机实例的虚拟机图像时,虚拟计算机系统服务208可与身份管理服务314通信并确定是否存在用于此客户、用于所选择的虚拟机图像、用于客户正尝试在其中发起实例的虚拟网络等的任何适用策略。至少部分基于这些策略,身份管理服务314可允许或拒绝以所请求的方式利用所选择的虚拟机图像的客户请求。另外或可替代地,当客户使用接口304和管理子系统306来利用特定的虚拟机图像生成虚拟机实例时,管理子系统306可访问身份管理服务314来识别和评估一个或多个客户和/或虚拟机图像策略,以确定是否准许客户利用所选择的虚拟机图像来生成虚拟机实例。
如以上所指出,如果所选择的虚拟机图像的供应商已创建对虚拟机图像的用途进行限制的策略,诸如阻止使用图像来发起实例到具有因特网网关的子网络中的限制,那么管理子系统306可阻止客户使用所选择的虚拟机图像。可替代地,如果客户已生成将禁止使用由特定供应商提供的虚拟机图像的客户策略,那么管理子系统306可阻止使用客户账户来利用这些虚拟机图像。如果管理子系统306确定客户可利用所选择的虚拟机图像来创建虚拟机实例,那么虚拟计算机系统服务302可分配所需的资源(例如,操作虚拟机图像的部件所需的处理器和RAM),以处理虚拟机图像。可在可充当用于所述实例的物理主机312的一个或多个物理存储装置(例如,一个或多个服务器或硬盘驱动器)上实例化所述虚拟机图像。
当客户使用接口304和管理子系统306来生成虚拟机实例时,客户可从市场316选择虚拟机图像。因此,如以上所指出,管理子系统306可评估客户、虚拟网络和/或虚拟机图像策略,以验证客户被授权利用所选择的虚拟机图像。如果客户和/或与客户相关联的特定用户被授权利用虚拟机图像,那么管理子系统可从虚拟机图像数据存储区308获得所选择的虚拟机图像。客户可利用由管理子系统306提供的一个或多个应用,以独立地验证所选择的虚拟机图像是可信的。例如,如果将虚拟机图像连同对应的数字签名一起提供给客户,那么客户可利用这些一个或多个应用来将散列函数应用至虚拟机图像以获得散列值或摘要。随后,客户可利用密钥来解密数字签名并将签名散列值与获得的散列值进行比较。如果这些散列值匹配,那么客户就能够验证虚拟机图像是可信的。在实施方案中,每个虚拟机图像可包括一个或多个部件,其中这些部件中的至少一个是数字签名的。例如,每个虚拟机图像可包括内容清单,所述内容清单包括与虚拟机图像的某些规格相关联的元数据。此内容清单而不是整个虚拟机图像可被数字签名,尤其是如果虚拟机图像具有足够的大小。因此,客户可以能够至少部分基于所选择的虚拟机图像的数字签名的内容清单来验证虚拟机图像的真实性。
如以上所指出,客户可利用市场获取一个或多个虚拟机图像,所述虚拟机图像可通过虚拟计算机系统服务用来请求创建新的虚拟机实例。客户可以能够通过接口访问包括一个或多个虚拟机图像的列表的市场,所述一个或多个虚拟机图像可被获取并用于创建虚拟机实例。因此,图4示出根据至少一个实施方案的包括用于选择在虚拟计算机系统服务内的可用于创建虚拟机实例的一个或多个可信虚拟机图像的界面402的环境400的说明性实例。如以上所指出,当供应商请求创建供应商账户用于将一个或多个虚拟机图像上传到市场或其他数据存储区来由虚拟计算机系统服务的客户所使用时,虚拟计算机系统服务可发给供应商数字证书,供应商将所述数字证书附加到这些数字签名的虚拟机图像。因此,当供应商利用供应商账户上传虚拟机图像时,虚拟计算机系统服务可利用虚拟机图像以及数字签名和数字证书,以确定所述图像是否有效。如果数字签名与虚拟机图像的散列匹配,那么虚拟机图像的部分、或者利用供应商的私钥签名的其他数据、随后的虚拟机图像可以是可信的。
虚拟计算机系统服务可将界面402配置成仅对其客户显示这些可信的虚拟机图像。例如,如图4中所示,界面402可包括可信图像标签404,所述可信图像标签404在由虚拟计算机系统服务的客户选择时可引起界面402显示市场中可用的可信虚拟机图像。在此说明性实例中,存在至少三个可信虚拟机图像。这些虚拟机图像可由不同的供应商提供,每个供应商可已由虚拟计算机系统服务使用对供应商加密材料而验证。例如,当供应商请求创建供应商账户时,供应商可为虚拟计算机系统服务提供一组凭证信息(例如,用户名称和密码、密钥等)。因此,虚拟计算机系统服务可利用此凭证信息来验证供应商的身份并确定是否可创建账户。凭证信息可随后用于创建数字证书并对图像签名。
此外,如以上所指出,可将每个虚拟机图像连同可通过利用密钥对的私人密钥对虚拟机图像的散列加密而创建的数字证书和数字签名一起上传到虚拟计算机系统服务。在接收虚拟机图像时,虚拟计算机系统服务可利用包括在数字证书内的公钥来对数字签名解密并获得散列值。随后,虚拟计算机系统服务可针对虚拟机图像计算散列值并将此值与通过对数字签名解密而获得的散列值进行比较,以确定是否存在匹配。如果值匹配,那么虚拟机图像可认为是可信的。因此,将虚拟机图像添加到可信的虚拟机图像的列表,所述列表被随后显示在界面402中的可信图像标签404的下方。因此,使用界面402的客户可了解在可信图像标签404的下方列出的虚拟机图像已由虚拟计算机系统服务验证。另外,虚拟计算机系统服务可引起界面402进一步显示这些可信虚拟机图像中的每一个的指示,客户可使用所示指示来验证虚拟机图像是可信的。
一旦客户已确定他/她希望利用哪一个虚拟机图像来创建新的虚拟机实例,客户可通过界面402利用在可信图像标签404的下方列出的虚拟机图像附近的选择按钮406来选择虚拟机图像。虚拟计算机系统服务在确定客户已针对特定虚拟机图像利用选择按钮406时可从虚拟机图像数据存储区获得虚拟机图像并使虚拟机图像可用,以使得客户可访问虚拟计算机系统服务,从获取的虚拟机图像的列表选择虚拟机图像,并且将虚拟机图像实例化到物理主机上以使得客户能够利用最新创建的虚拟机实例。可替代地,虚拟计算机系统服务可为客户提供在获取虚拟机图像之前独立地验证所选择的虚拟机图像可信的方法。例如,当客户从可信图像标签404选择虚拟机图像时,虚拟计算机系统服务可引起界面402显示新屏幕,所述新屏幕可包括可用于确定包括在所选择的虚拟机图像中的数字签名是否有效的一个或多个应用。因此,客户可利用这些一个或多个应用来确定数字签名(和因此虚拟机图像)是否是可信的。
虚拟计算机系统服务可进一步将界面402配置成包括用于由客户所使用的一个或多个按钮。例如,如图4中所示,界面402可包括取消按钮408,客户可利用所述取消按钮408退出界面402并且从而取消他的/她的获取图像的请求。应当指出的是,图4中示出的界面402是出于说明的目的而呈现,并且因此可包括一个或多个另外的元素或者可排除图4中示出的一个或多个元素。例如,除了可信图像标签404之外,界面402可包括一个或多个另外的标签,所述一个或多个另外的标签包括未由虚拟计算机系统服务验证或者否则不包括数字签名的虚拟机图像的列表。因此,客户可以能够选择未被验证处于他的/她的自身的风险下的虚拟机图像。
如以上所指出,虚拟计算机系统服务可另外对一个或多个供应商提供界面,以使得这些供应商能够将虚拟机图像上传至虚拟机图像数据存储区。因此,图5示出根据至少一个实施方案的包括用于将虚拟机图像上传到虚拟机图像数据存储区的界面502的环境500的说明性实例。如以上所指出,当供应商对虚拟计算机系统服务提交创建供应商账户用于将虚拟机图像上传至虚拟机图像数据存储区的请求时,供应商可提供另外的凭证信息,所述凭证信息可由虚拟计算机系统服务用于验证供应商的身份。如果供应商的身份由虚拟计算机系统服务所验证,那么虚拟计算机系统服务可为供应商提供数字证书,可将所述数字证书连同数字签名的虚拟机图像一起上传至虚拟机图像数据存储区。可替代地,供应商可为虚拟计算机系统服务提供数字证书,虚拟计算机系统服务可将所述数字证书存储在可信存储区内。因此,当供应商将他的/她的数据证书包括在数字签名的虚拟机图像中时,虚拟计算机系统服务可利用存储在可信存储区内的数字证书来验证虚拟机图像的真实性。
虚拟计算机系统服务可将界面502配置成包括一个或多个元素,所述一个或多个元素可由供应商用于上传虚拟机图像。例如,界面502可包括公司名称输入框504,供应商可能需要利用所述公司名称输入框504来提供具有供应商名称的虚拟计算机系统服务。例如,如图5中所示,供应商已利用公司名称输入框504来说明他的/她的公司名称是“Boom虚拟机图像股份有限公司”界面502还可包括产品名称输入框506,供应商可利用所述产品名称输入框506来提供有待上传至虚拟机图像数据存储区的虚拟机图像的名称。例如,如图5中所示,供应商已利用产品名称输入框506来提供他的/她的虚拟机图像的名称,在这种情况下是“军团虚拟机图像”。虚拟计算机系统服务可能需要针对虚拟机图像的公司名称和产品名称两者以使得虚拟计算机系统的用户能够确定已提供虚拟机图像的供应商的身份,以及能够将虚拟机图像与存储在虚拟机图像数据存储区内的任何其他虚拟机图像进行区分。
除了可由供应商用来提供虚拟机图像信息的一个或多个元素之外,虚拟计算机系统服务可将界面502配置成包括数字证书菜单508,供应商可利用所述数字证书菜单508来选择可包括在有待上传至虚拟机图像数据存储区的数字签名的虚拟机图像中的数字证书。如以上所指出,当供应商最初创建供应商账户时,虚拟计算机系统服务可确认供应商的身份并为此供应商提供可附加到有待上传至虚拟机图像数据存储区的任何数字签名的虚拟机图像的数字证书。可替代地,虚拟计算机系统服务可为供应商提供针对有待上传至虚拟机图像数据存储区的每个虚拟机图像的数字证书。因此,供应商可利用数字证书菜单508来选择可包括在虚拟机图像中的适当的数字证书(例如,如图5所示的“Sherman_VMI_Inc”)。一旦虚拟机图像已被数字签名,虚拟计算机系统服务就可利用数字证书来获得可用于解密数字签名并获得散列值的公钥。随后,虚拟计算机系统服务可利用散列函数来使虚拟机图像散列并获得第二散列值。如果这些散列值匹配,那么虚拟机图像可认为是可信的。在一些实施方案中,虚拟计算机系统服务可利用数字证书内的公钥来解密虚拟机图像。如果虚拟机图像被成功地解密,那么虚拟机图像可认为是可信的。
一旦供应商已提供公司名称和虚拟机图像名称并且已选择适当的数字证书,供应商可利用继续按钮510来对虚拟机图像数字签名,并将所述虚拟机图像连同所选择的数字证书一起上传至虚拟机图像数据存储区。因此,虚拟计算机系统服务可执行上文所述的数字签名验证过程来验证上传的虚拟机图像的真实性。虚拟计算机系统服务可在界面502中进一步包括一个或多个另外的元素,供应商可将所述一个或多个另外的元素用于各种各样的目的。例如,如图5中所示,界面502可包括取消按钮512,供应商可利用所述取消按钮512退出界面502并终止上传虚拟机图像的程序。应当指出的是,图5中示出的界面502是出于说明的目的而呈现,并且因此可包括一个或多个另外的元素或者可排除图5中示出的一个或多个元素。例如,除了数字证书菜单508之外,界面502可包括可使得供应商能够在没有数字证书的情况下上传虚拟机图像的一个或多个另外的按钮。因此,这些虚拟机图像可不被验证。
如以上所指出,供应商可与虚拟计算机系统服务通信,以便创建供应商账户,供应商可使用所述供应商账户来将一个或多个虚拟机图像上传至由虚拟计算机系统服务管理的虚拟机图像数据存储区。因此,图6示出根据至少一个实施方案的用于创建供应商账户并对供应商发放数字证书以用于形成可用虚拟机图像的过程600的说明性实例。过程600可由虚拟计算机系统服务来执行,所述虚拟计算机系统服务被配置来验证通过所述服务提出请求的任何实体的身份并且发放数字证书,供应商可将所述数字证书附加到有待上传的任何数字签名的虚拟机图像。如以上所指出,供应商可利用由虚拟计算机系统服务提供的界面来请求创建供应商账户。此供应商账户可用于将虚拟机图像上传至虚拟机图像数据存储区,以便允许客户利用这些虚拟机图像。因此,客户可向供应商提供付款来使用他的/她的虚拟机图像。因此,创建供应商账户对于供应商来说是有利润的,因为供应商如果将他的/她的虚拟机图像上传至虚拟机图像数据存储区则可以能够使它们货币化。因此,虚拟计算机系统服务可从供应商接收602创建供应商账户的请求。
由供应商提供的请求可包括凭证信息,所述凭证信息可由虚拟计算机系统服务用于验证604供应商的身份。例如,如果供应商是计算资源服务提供商的客户,那么供应商可提供可用于访问由计算资源服务提供商提供的一个或多个服务的用户名和密码。因此,虚拟计算机系统服务可利用用户名和密码来定位客户概况并获得关于供应商的信息。例如,这可包括供应商的名称、供应商的物理地址和其他供应商信息。利用此信息,虚拟计算机系统服务可以能够确定606已提交请求的供应商是否是可信的供应商。可信的供应商可以是计算资源服务提供商的已维持账户至少特定一段时期的客户。可替代地,可信的供应商可以是计算资源服务提供商的诸如通过谈判或其他沟通已与计算资源服务提供商建立关系的客户,所述谈判或其他沟通将使得计算资源服务提供商信任此客户。尽管虚拟计算机系统服务被贯穿本公开普遍用于验证供应商的身份,但是其他服务、服务提供商和实体可被配置来代替虚拟计算机系统服务验证供应商的身份。例如,计算资源服务提供商可维持和操作被配置来为由计算资源服务提供商提供的一个或多个服务的每个用户(包括虚拟机图像的供应商)提供并维持一组凭证的身份管理服务。因此,此身份管理服务可被配置来从供应商接收一组凭证,以确定供应商的身份并确定供应商是否被认为是可信供应商。
如由虚拟计算机系统服务所确定的,如果供应商不是可信供应商,那么虚拟计算机系统服务可拒绝608供应商的创建供应商账户的请求,并且可因此阻止供应商上传任何虚拟机图像。可替代地,供应商可以能够在没有供应商账户的情况下上传虚拟机图像。然而,这些虚拟机图像可不由虚拟计算机系统服务验证,并且因此虚拟计算机系统服务可在虚拟机图像没有被验证时指定这些虚拟机图像。
如果虚拟计算机系统服务能够验证供应商被认为是可信供应商,那么虚拟计算机系统服务可确定610供应商是否已在请求内提供由虚拟计算机系统服务用于解密包括在上传至虚拟机图像数据存储区的任何虚拟机图像中的数字签名的数字证书。因此,虚拟计算机系统服务可利用数字证书内的公钥来解密数字签名的虚拟机图像内的数字签名。虚拟计算机系统服务还可将散列函数应用至虚拟机图像以获得散列值。如果散列值匹配解密的数字签名,那么虚拟机图像可认为是源自可信供应商并且因此可以是可信的。如果请求包括数字证书,那么虚拟计算机系统服务可将来自供应商的数字证书添加612到数据存储区,可将所述数字证书保存在所述数据存储区中直到供应商上传数字签名的虚拟机图像位为止。
如果来自供应商的请求不包括可用于解密包括在虚拟机图像中的数字签名的数字证书,那么虚拟计算机系统服务可向供应商发放612数字证书,用于与他的/她的虚拟机图像一起使用。此数字证书在由供应商上传时也可存储在数据存储区内,用于解密数字签名的虚拟机图像内的数字签名。可替代地,由于数字证书可由虚拟计算机系统服务提供,所以包括此数字证书的任何虚拟机图像可认为是可信的。应当指出的是,过程600可包括除图6中呈现出的那些之外的另外的或更少的动作。例如,在实施方案中,当将新的虚拟机图像上传至虚拟机图像数据存储区时,虚拟计算机系统服务将仅允许可信供应商利用由虚拟计算机系统发放的数字证书。因此,一旦虚拟计算机系统服务已确定供应商是可信供应商,虚拟计算机系统服务就可向供应商发放614数字证书,用于与他的/她的虚拟机图像一起使用,不论供应商是否已提供他的/她的自身的数字证书。
如以上所指出,供应商可利用由虚拟计算机系统服务提供的界面来将一个或多个虚拟机图像上传至虚拟机图像数据存储区。可将此数据存储区内的虚拟机图像包括在市场中,其中虚拟计算机系统服务的客户可选择虚拟机图像来创建新的虚拟机实例。因此,图7示出根据至少一个实施方案的用于将虚拟机图像添加到由虚拟计算机系统服务所管理的市场的过程700的说明性实例。过程700可由虚拟计算机系统服务执行,所述虚拟计算机系统服务被配置来验证包括在上传的虚拟机图像内的一个或多个数字签名。此外,虚拟计算机系统服务可被配置来管理可能包括可信虚拟机图像和未验证的虚拟机图像的市场。
如以上所指出,供应商可利用由虚拟计算机系统服务提供的界面(诸如图5中示出的界面)来将虚拟机图像上传至虚拟机图像数据存储区。虚拟机图像数据存储区可包括多个虚拟机图像,所述多个虚拟机图像可由虚拟计算机系统服务的客户用来生成新的虚拟机实例。因此,虚拟计算机系统服务可接收702从供应商上传的虚拟机图像。如下文将更详细描述的,虚拟计算机系统服务可执行一个或多个动作以确定虚拟机图像是否可添加到虚拟机图像数据存储区和/或市场,从而准予客户访问上传的虚拟机图像。
一旦虚拟计算机系统服务已从供应商接收上传的虚拟机图像,虚拟计算机系统服务就可确定704上传的虚拟机图像是否连同对应的供应商数字证书一起上传。如以上所指出,当供应商向虚拟计算机系统服务提交创建供应商账户的请求时,虚拟计算机系统服务可确定供应商是否可认为是可信供应商。如果供应商被确定是可信供应商,那么虚拟计算机系统服务可向供应商发放数字证书用于与虚拟机图像一起使用或者从供应商接收数字证书,随后将所述数字证书添加到可信存储区。因此,供应商可在上传虚拟机图像之前将数字证书附加到数字签名的虚拟机图像。
如果上传的虚拟机图像未与对应的数字证书一起上传(例如,虚拟机图像未数字签名),那么虚拟计算机系统服务可确定706上传的虚拟机图像是否可添加到虚拟机图像数据存储区和/或市场,以便准予客户访问所述虚拟机图像。例如,如果虚拟机图像不包括数字证书,那么其可能难以或不可能验证所上传的虚拟机图像的真实性。因此,虚拟计算机系统服务可被配置成拒绝将未数字签名的任何虚拟机图像添加到虚拟机图像数据存储区和/或市场,因为可能无法了解这些图像是否包括恶意软件。如果虚拟计算机系统服务被配置成抵制未数字签名的虚拟机图像,那么虚拟计算机系统服务可通过界面显示708错误消息。此错误消息可包括详述了对于抵制上传的虚拟机图像的一个或多个原因的信息,供应商可利用所述信息来尝试获得供应商账户和/或将有效的数字证书附加到虚拟机图像或者终止与虚拟计算机系统服务的通信。
如果上传的虚拟机图像与对应的数字证书一起上传,那么虚拟计算机系统服务可确定710所述数字证书是否可信。例如,如果在供应商账户创建过程期间,虚拟计算机系统服务已向供应商提供数字证书用于与虚拟机图像一起使用,那么虚拟计算机系统服务可检查上传的虚拟机图像,以确定所述虚拟机图像是否已数字签名并包括数字证书。可替代地,如果在供应商账户创建过程期间,供应商提供具有数字证书的虚拟计算机系统服务并且将数字证书存储在由虚拟计算机系统服务管理的可信存储区内,那么虚拟计算机系统服务可确定包括在上传的虚拟机图像中的数字证书是否先前已存储在可信存储区内。如果包括在上传的虚拟机图像中的数字证书先前未存储在可信存储区内,那么所述数字证书可能是不可信的。如果数字证书由于其未包括在由虚拟计算机系统服务管理的可信存储区内而无法是可信的,那么虚拟计算机系统服务可引起界面显示708错误消息,所述错误消息可包括详述了对于未能将虚拟机图像添加到虚拟机图像数据存储区和/或市场的一个或多个原因的信息。
一旦包括在上传的虚拟机图像中的数字证书已由虚拟计算机系统服务认为是可信的,虚拟计算机系统服务就可利用712包括在数字证书中的公共密钥来验证虚拟机图像的数字签名。例如,当将数字签名的虚拟机图像连同数字证书一起上传至虚拟机图像数据存储区时,虚拟计算机系统服务就可从数字证书提取公共密钥,以便解密数字签名并获得散列值。因此,此散列值可与虚拟机图像的摘要进行比较,以确定714数字签名是否是有效的。如果所述值匹配,那么虚拟机图像可被验证为是源自虚拟机图像的可信供应商的。可替代地,数字签名的虚拟机图像和对应的数字证书可存储在虚拟机图像数据存储区内,其中任何实体可选择虚拟机图像并利用可执行代码的一个或多个模块以独立地验证虚拟机图像是源自虚拟机图像的可信供应商的。
一旦虚拟机图像的数字签名已由虚拟计算机系统验证,虚拟计算机系统服务就可将上传的虚拟机图像添加716到虚拟机图像数据存储区和/或市场。另外,如果上传的虚拟机图像未数字签名和/或不包括数字证书,那么就可将所述上传的虚拟机图像添加到虚拟机图像数据存储区和/或市场。例如,虚拟计算机系统服务可被配置来将未数字签名或者无法验证(例如,包括有缺陷的数字证书或者根本就没有数字证书)的任何虚拟机图像存储在虚拟机图像数据存储区和/或市场中。然而,可将这些虚拟机图像分类成不由虚拟计算机系统服务验证。例如,虚拟计算机系统服务可被配置来将这些虚拟机图像中的每一个标记成由虚拟计算机系统服务“未验证”。因此,存储在虚拟机图像数据存储区和/或市场内的虚拟机图像可至少部分基于虚拟机图像是否可验证是源自虚拟机图像的供应商而进行分类。在实施方案中,如果虚拟机图像的供应商将虚拟机图像通过可信通信网络信道上传至虚拟机图像数据存储区,那么虚拟计算机系统服务可对虚拟机图像数字签名,从而自身验证虚拟机图像。
如以上所指出,虚拟计算机系统服务的客户和虚拟机图像的供应商可定义一个或多个策略,所述一个或多个策略可由虚拟计算机系统服务用于确定客户或其他用户是否可利用虚拟机图像来生成新的虚拟机实例。因此,图8示出根据至少一个实施方案的至少部分基于一个或多个适用策略来发起虚拟机图像的过程800的说明性实例。过程800可由虚拟计算机系统服务执行,所述虚拟计算机系统服务被配置成使得客户和供应商能够定义用于定义对于一个或多个虚拟机图像的访问等级的一个或多个策略。此外,虚拟计算机系统服务可被配置来评估这些策略以确定客户是否可利用虚拟机图像来创建新的虚拟机实例。
如以上所指出,虚拟计算机系统服务可被配置来为虚拟计算机系统服务的客户提供界面,客户可利用所述界面来提交发起虚拟机图像的一个或多个请求。例如,如图4中所示,所述界面可包括一个或多个虚拟机图像的列表,客户可利用所述列表来选择适当的虚拟机图像用于创建新的虚拟机实例。因此,虚拟计算机系统服务可接收802发起所选择的虚拟机图像的请求。
一旦虚拟计算机系统服务已接收来自客户或其他代表用户的请求,虚拟计算机系统服务就可评估804客户和/或虚拟机图像策略以确定客户或代表用户是否可利用所选择的虚拟机图像来创建新的虚拟机实例。如以上所指出,虚拟计算机系统服务可使得客户能够定义一个或多个策略,所述一个或多个策略定义对于由多个供应商可获得的一个或多个虚拟机图像的访问等级。例如,客户可生成指定客户帐户的客户或其他代表用户无法利用由特定供应商创建的虚拟机图像的策略。可替代地,客户可生成定义供应商的列表的策略,所述供应商是可信的并且它们的虚拟机图像可用于创建虚拟机实例。
除了客户策略之外,虚拟机图像的供应商可将一个或多个策略附加到上传至虚拟机图像数据存储区的每个虚拟机图像。例如,供应商可创建一个或多个策略,所述一个或多个策略定义了可能不被准许利用上传的虚拟机图像的一个或多个客户。可替代地或此外,供应商可创建一个或多个策略,所述一个或多个策略定义了可不使用虚拟机图像的一组情况。例如,如果客户使用特定的虚拟计算机系统配置,那么虚拟机图像当被实例化到此虚拟计算机系统时可能无法适当地操作。因此,所述策略可定义来防止这种情况发生。
一旦虚拟计算机系统服务已评估客户和/或虚拟机图像策略,那么虚拟计算机系统服务就可确定806是否存在可允许客户或代表用户发起虚拟机图像的一个或多个策略。例如,一个或多个策略可包括特定客户或代表用户可利用虚拟机图像来创建虚拟机实例的肯定陈述。如果不存在明确允许客户或代表用户发起虚拟机图像来创建虚拟机实例的策略,那么虚拟计算机系统服务就可确定808是否存在可禁止客户或代表用户发起虚拟机图像的一个或多个策略。例如,如以上所指出,客户可定义一个或多个策略,所述一个或多个策略禁止客户或任何其他代表用户使用客户账号来利用由一个或多个指定供应商创建的虚拟机图像。在另一个实例中,供应商可生成包括在他的/她的虚拟机图像中的一个或多个策略,如果客户的虚拟计算机系统配置与虚拟机图像不兼容,所述一个或多个策略可禁止客户利用这些虚拟机图像。
如果客户和/或虚拟机图像策略特别禁止客户或代表用户利用所选择的虚拟机图像,那么虚拟计算机系统服务可引起界面显示810错误消息。所述错误消息可包括详述了客户或代表用户之所以可不使用所选择的虚拟机图像的一个或多个原因的信息。可替代地,所述错误消息可仅仅包括详述了请求已被拒绝而没有对于拒绝请求的任何另外原因的信息。
如果存在明确允许客户利用所选择的虚拟机图像的客户策略和/或虚拟机图像策略或者未定义禁止客户或代表用户利用所选择的虚拟机图像的策略,那么虚拟计算机系统服务可将所选择的虚拟机图像实例化812到物理主机并且使得814客户或代表用户能够利用最新创建的虚拟机实例。例如,虚拟计算机系统服务可分配所需的资源(例如,操作虚拟机图像的部件所需的处理器和RAM),以处理虚拟机图像。随后,可在可充当用于所述虚拟机实例的物理主机的一个或多个物理存储装置(例如,一个或多个服务器或硬盘驱动器)上实例化所述虚拟机图像。
可鉴于以下条款对本公开的各个实施方案进行描述:
1.一种用于验证虚拟机图像的计算机实施的方法,其包括:
在被配置有可执行指令的一个或多个计算机系统的控制下,
从供应商接收虚拟机图像,所述虚拟机图像的数字签名、包括可用于验证数字签名的公共密钥的所述数字证书以及针对计算资源服务提供商的一个或多个客户定义对所述虚拟机图像的访问等级的一个或多个策略;
使用所述数字证书和所述公共密钥以验证所述虚拟机图像的所述数字签名;以及
作为验证所述虚拟机图像的所述数字签名的结果,使所述虚拟机图像在计算资源服务提供商市场中可用于选择,连同所述虚拟机图像已验证为经验证指示;
作为所述计算资源服务提供商的所述客户已选择所述虚拟机图像的结果,评估所述一个或多个策略以确定所述客户是否被授权使用所述所选择的虚拟机图像;以及
作为确定所述客户被授权使用所述所选择的虚拟机图像的结果,使用所述所选择的虚拟机图像来实例化虚拟机。
2.如条款1所述的计算机实施的方法,其中所述指示是包括虚拟机图像的列表内的所述虚拟机图像。
3.如条款1或2所述的计算机实施的方法,其还包括在验证了虚拟机图像的所述供应商是被授权来上传可信的虚拟机图像的可信供应商时,通过证书授权方向虚拟机图像的所述供应商提供包括所述公共密钥的所述数字证书。
4.如前述任一项条款所述的计算机实施的方法,其中包括所述公共密钥的所述数字证书先前由所述供应商提供并存储在数据存储区内,其包括用于存储多个数字证书的一个或多个物理存储装置,使得所述存储的数字证书也可以用于验证所述数字签名。
5.如前述任一项条款所述的计算机实施的方法,其中所述计算资源服务提供商市场包括多个虚拟机图像可用于选择,所述多个虚拟机图像包括已被验证为经验证的虚拟机图像和未被验证为经验证的虚拟机图像。
6.如前述任一项条款所述的计算机实施的方法,其还包括为所述客户提供可执行代码的一个或多个模块,所述可执行代码的一个或多个模块可用于在从所述市场选择所述虚拟机图像时独立地验证所述虚拟机图像的所述数字签名。
7.一种计算机系统,其包括:
一个或多个处理器;以及
存储器,其具有共同存储在其中的指令,所述指令当由所述计算机系统执行时,促使所述计算机系统:
接收发起虚拟机的请求,所述虚拟机基于利用供应商的密钥数字签名的机图像;并且
在确定一个或多个策略授权发起基于由所述供应商数字签名的机图像的虚拟机之后,发起所述虚拟机。
8.如条款7所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像可使用从由证书授权方发放的数字证书获得的公钥来验证。
9.如条款7或8所述的计算机系统,其中所述一个或多个策略还指定在与用户相关联的虚拟网络内仅仅可以利用由所述供应商数字签名的机图像,所述用户已提交发起所述虚拟机的所述请求。
10.如条款7-9中任一项所述的计算机系统,其中所述一个或多个策略还针对一个或多个用户定义对所述机图像的访问等级。
11.如条款7-10中任一项所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像以这样一种方式变得可用,使得利用所述供应商的所述密钥数字签名的所述机图像是可验证的,以确定利用所述供应商的所述密钥数字签名的所述机图像源自所述供应商。
12.如条款7-11中任一项所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像是从计算资源服务提供商市场获得的,其被配置来使得所述计算资源服务提供商的客户能够选择利用所述供应商的所述密钥数字签名的所述机图像,使得利用所述供应商的所述密钥数字签名的所述机图像可以用于实例化所述虚拟机以供所述客户使用。
13.如条款7-12中任一项所述的计算机系统,其中利用所述密钥数字签名的所述机图像以这样一种方式变得可用:至少部分基于利用所述密钥数字签名的所述机图像是否是可验证的以确定所述虚拟机图像源自所述供应商来将利用所述密钥数字签名的所述机图像与其他机图像进行区分。
14.一种非暂时性计算机可读存储介质,其具有共同存储在其上的可执行指令,当由计算机系统的一个或多个处理器执行时,所述可执行指令促使所述计算机系统至少:
存储机图像,其包括利用机图像提供商的密钥签名的一个或多个部件;并且
作为用户已选择所述机图像的结果;至少部分基于与发起由所述机图像提供商签名的虚拟机有关的一个或多个策略来确定所述用户是否可以利用所述机图像来实例化虚拟机。
15.如条款14所述的非暂时性计算机可读存储介质,其中利用所述密钥签名的所述一个或多个部件可使用从由证书授权方发放的数字证书获得的公钥来验证。
16.如条款14-15中任一项所述的非暂时性计算机可读存储介质,其中所述一个或多个策略还指定在所述用户的虚拟网络内仅仅可以利用包括由所述机图像提供商数字签名的一个或多个部件的机图像,所述用户已提交在所述虚拟网络内发起所述虚拟机的请求。
17.如条款14-16中任一项所述的非暂时性计算机可读存储介质,其中所述一个或多个策略还针对一个或多个用户定义对由所述机图像提供商签名的所述机图像的访问等级。
18.如条款14-17中任一项所述的非暂时性计算机可读存储介质,其中所述虚拟机图像以这样一种方式存储,使得利用所述机图像提供商的所述密钥签名的所述一个或多个部件是可验证的,以确定所述机图像源自所述机图像提供商。
19.如条款14-18中任一项所述的非暂时性计算机可读存储介质,其中所述虚拟机图像存储在计算资源服务提供商市场内,其被配置成使得所述计算资源服务提供商的客户能够选择所述机图像,使得所述机图像可以用于实例化虚拟机以供所述客户使用。
20.如条款14-19中任一项所述的非暂时性计算机可读存储介质,其中所述虚拟机图像以这样一种方式存储:至少部分基于利用所述虚拟机图像提供商的所述密钥签名的所述机图像的所述一个或多个部件是否是可验证的以确定所述机图像源自所述机图像提供商来将所述机图像与其他机图像进行区分
图9示出用于实现根据各个实施方案的各方面的示例性环境900的各方面。如将了解,尽管出于解释目的使用基于web的环境,但是可视情况使用不同环境来实现各个实施方案。环境包括电子客户端装置902,所述电子客户端装置902可包括可操作来通过适当网络904发送和/或接收请求、消息或信息并且在一些实施方案中将信息传送回装置用户的任意适当装置。此类客户端装置的示例包括个人计算机、手机、手持式消息传送装置,膝上型计算机、平板计算机、机顶盒,个人数据助理、嵌入计算机系统、电子书阅读器等。网络可包括任意适当网络,包括内部网、互联网、蜂窝网、局域网、卫星网或任意其他此类网络和/或上述网络的组合。这一系统所用的部件可至少部分地取决于所选网络和/或环境的类型。用于通过此类网络通信的协议和部件是众所周知的,因而本文将不再详细论述。通过网络的通信可通过有线或无线连接及其组合来实现。在这个实例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的web服务器906,但是对于其他网络来说,可使用服务类似目的替代装置,如本领域普通技术人员所显而易见的。
说明性环境包括至少一个应用服务器908和数据存储区910。应当理解,可以存在可链接起来或以其他方式配置的若干应用服务器、层或其他元件、过程或部件,这些应用服务器、层或其他元件、过程或部件可交互来执行诸如从适当的数据存储区获得数据的任务。如本文所使用的服务器可以各种方式来实现,诸如硬件装置或虚拟计算机系统。在一些上下文中,服务器可以是指在计算机系统上执行的编程模块。如本文所使用的,除非另行指出或从上下文中明确可知,术语“数据存储区”是指能够存储、访问和检索数据的任意装置或装置组合,所述装置或装置组合可包括任意标准、分布式、虚拟或集群式环境中的任意组合和任意数目的数据服务器、数据库、数据存储装置和数据存储介质。应用程序服务器可包括任何适当硬件、软件和固件,所述硬件、软件和固件视执行客户端装置的一个或多个应用程序的各方面的需要而与数据存储区集成、处置应用程序的一些或所有数据访问和业务逻辑。应用程序服务器可提供与数据存储区协作的存取控制服务,并且能够生成可用于提供给用户的内容,所述内容包括但不限于文本、图片、音频、视频和/或其他内容,所述内容可以超文本标记语言(“HTML”)、可扩展标记语言(“XML”)、JavaScript、层叠样式表(“CSS”)或另一种适当客户端结构化语言的形式由web服务器提供给用户。传送给客户端装置的内容可由客户端装置处理,以便提供呈一个或多个形式的内容,所述形式包括但不限于用户可通过听觉、视觉和/或通过其他感觉(包括触觉、味觉和/或嗅觉)来感知的形式。全部请求和响应的处理以及客户端装置902与应用服务器908之间的内容递送可由web服务器使用以下PHP来处理:在这个实例中为超文本预处理器(“PHP”)、Python、Ruby、Perl、Java、HTML、XML或另一种适当服务器端结构化语言。应当理解,web服务器和应用服务器不是必要的,且仅仅是示例性部件,因为本文所论述的结构化代码可在如本文其他地方所论述的任意适当装置或主机上执行。此外,除非上下文另外清楚指定,否则如由单个装置执行的本文所述的操作可由可形成分布式和/或虚拟系统的多个装置共同执行。
数据存储区910可包括用于存储与本公开的特定方面相关的数据的若干单独数据表、数据库、数据文档、动态数据存储方案和/或其他数据存储机构和介质。举例来说,所示数据存储区可包括用于存储生成数据912和用户信息916的机构,生成数据和用户信息可用于提供用于生成端的内容。数据存储区还被示出为包括用于存储日志数据914的机构,所述日志数据可用于报告、分析或其他此类目的。应当理解,可能存在可能需要存储在数据存储区中的许多其他方面,如页面图像信息和访问权信息,所述方面可视情况存储在上文列出的机构中的任意机构中或存储在数据存储910中的额外机构中。数据存储区910可通过与其相关联的逻辑来操作,以便从应用服务器908接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。应用程序服务器908可响应于所接收指令提供静态数据、动态数据或静态数据和动态数据的组合。动态数据(诸如web日志(博客)、购物应用程序、新闻服务以及其他这类应用程序中使用的数据)可由如本文所描述的服务器端结构化语言生成,或者可由在应用程序服务器上操作或在其控制下的内容管理系统(“CMS”)提供。在一个实例中,用户通过由所述用户操作的装置可以针对某种类型的项目提交搜索请求。在此状况下,数据存储区可能访问用户信息来验证用户的身份,并且可访问目录详细信息以获得有关所述类型的项目的信息。随后,可将信息诸如以网页上的结果列表的形式返回给用户,用户能够通过用户装置902上的浏览器来查看所述网页。可在浏览器的专用页面或窗口中查看感兴趣的特定项目的信息。然而,应当注意,本公开的实施方案不必受限于网页背景,但可能更普遍适用于处理一般的请求,其中所述请求在内容上不是必需的请求。
每个服务器通常将包括提供用于所述服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读存储介质(例如,硬盘、随机存取存储器、只读存储器等),当由服务器的处理器执行时,所述指令允许服务器执行其期望的功能。操作系统的适合实现方式和服务器的一般功能是已知的或可商购的,并且易于由本领域普通技术人员实现,尤其是根据本文中的公开来实现。
在一个实施方案中,环境是利用通过通信链路、使用一个或多个计算机网络或直接连接来互连的多个计算机系统和部件的分布式和/或虚拟计算环境。但是,本领域普通技术人员应理解,这种系统可在具有比图9所示的部件更少或更多部件的系统中同样顺利地操作。因此,图9中的系统900的描绘本质上应视为说明性的,并且不限制本公开的范围。
各个实施方案还可在广泛范围的操作环境中实现,在一些情况下,所述环境可包括一个或多个用户计算机、计算装置或可用于操作多个应用中的任一个的处理装置。用户或客户端装置可包括多个通用个人计算机中的任何一个,如运行标准操作系统的台式计算机、膝上型计算机或平板计算机,以及运行移动软件并且能够支持多个网络连接协议和消息传递协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括多个工作站,所述工作站运行各种可商购的操作系统和用于如开发和数据库管理等目的的其他已知应用中的任一个。这些装置还可包括其他电子装置,如虚拟终端、瘦客户端、游戏系统和能够通过网络通信的其他装置。这些装置还可包括虚拟装置,诸如虚拟机、管理程序和能够通过网络通信的其他虚拟装置。
本公开的各种实施方案利用本领域技术人员可能熟悉的至少一种网络来支持使用多种可商购得的协议中的任一种进行通信,所述协议诸如传输控制协议/互联网协议(″TCP/IP″)、用户数据报协议(″UDP″)、在开放系统互连(″OSI″)模型的各个层中操作的协议、文件传送协议(″FTP″)、通用即插即用(″UpnP″)、网络文件系统(″NFS″)、公共互联网文件系统(″CIFS″)以及AppleTalk。网络可以是例如局域网、广域网、虚拟专用网、互联网、内部网、外部网、公共交换电话网、红外网、无线网、卫星网以及上述网络的任何组合。
在利用web服务器的实施方案中,web服务器可以运行多种服务器或中间层级应用程序中的任一种,包括超文本传送协议(″HTTP″)服务器、FTP服务器、通用网关接口(″CGI″)服务器、数据服务器、Java服务器、Apache服务器和业务应用程序服务器。服务器还能够响应于来自用户装置的请求而执行程序或脚本,诸如通过执行可以实现为以任何编程语言(诸如、C、C#或C++)或任何脚本语言(诸如Ruby、PHP、Perl、Python或TCL)以及其组合写成的一个或多个脚本或程序的一个或多个web应用程序。服务器也可包括数据库服务器,包括但不限于,可从 商购获得的数据库服务器、以及开源服务器(诸如MySQL、Postgres、SQLite、MongoDB),以及能够存储、检索和访问结构化数据或非结构化数据的任何其他服务器。数据库服务器可包括基于表格的服务器、基于文件的服务器、非结构化服务器、关系式服务器、非关系式服务器或这些和/或其他数据库服务器的组合。
环境可包括如上文所论述的各种各样的数据存储区以及其他存储器和存储介质。这些可驻留在各种各样的位置,如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或远离网络上的计算机中的任意或全部计算机。在实施方案的特定集中,信息可驻留在本领域那些技术人员熟悉的存储区域网(“SAN”)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任意必要的文件可视情况本地或远程存储。在系统包括计算机化装置的情况下,每个这种装置可包括可通过总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(“CPU”或“处理器”)、至少一个输入装置(例如,鼠标、键盘、控制器、触摸屏或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。这种系统还可包括一个或多个存储装置,如硬盘驱动器、光存储装置和如随机存取存储器(“RAM”)或只读存储器(“ROM”)的固态存储装置、以及可移动媒体装置、存储卡、闪存卡等。
此类装置还可包括计算机可读存储介质读取器、通信设备(例如,调制解调器、网卡(无线或有线)、红外线通信设备等)和如上所述的工作存储器。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置来接收计算机可读存储介质,计算机可读存储介质表示远程、本地、固定和/或可移动存储装置以及用于临时和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的多个软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或web浏览器。应当了解,替代实施方案可具有与上述实施方案不同的众多变化形式。例如,也可使用定制硬件,和/或特定元件可以硬件、软件(包括可移植软件,如小程序)或两者实现。此外,可以采用到如网络输入/输出装置的其他计算装置的连接。
用于包含代码或部分代码的存储介质和计算机可读介质可包括本领域已知或已使用的任何适当介质,包括存储介质和通信介质,如但不限于以用于存储和/或传输信息(如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实现的易失性和非易失性、可移动和不可移动的介质,包括RAM、ROM、电可擦可编程只读存储器(“EEPROM”)、闪存或其他存储器技术、只读光盘驱动器(“CD-ROM”)、数字通用光盘(DVD)或其他光学存储器、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教义,本领域普通技术人员将了解实现各个实施方案的其他方式和/或方法。
因此,应在说明性意义而不是限制性意义上理解本说明书和附图。但是,将显而易见的是:在不脱离如在权利要求书中阐述的本发明的更宽广精神和范围的情况下,可以对其做出各种修改和改变。
其他变化形式也在本公开的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施方案。但是,应当了解,并不旨在将本发明限制于所公开的一个或多个具体形式,相反地,旨在涵盖落在如所附权利要求书限定的本发明的精神和范围内的全部修改、替代构造和等效物。
在描述所公开实施方案的上下文中(尤其是在以下权利要求书的上下文中),术语“一个(a,an)”和“所述”以及类似指称对象的使用应解释为涵盖单数和复数两者,除非在本文另外地指示或明显地与上下文矛盾。术语“包括(comprising)”、“具有”、“包括(including)”和“包含”应解释为开放式术语(即,意味着“包括但不限于”),除非另外地注解。术语“连接的”(当未更改且是指物理连接时)应解释为部分地或全部地包含在以下解释内:附接至或结合在一起,即使存在介入物。除非本文另外指明,否则本文中值范围的列举仅仅意图用作个别地表示落入所述范围的各单独值的速记方法,并且犹如本文个别描述地那样将各单独值并入到本说明书中。除非此外另有指出或与上下文矛盾,否则术语“集合”(例如“项目集合”)的使用被解释为包括一个或多个成员的非空集合。此外,除非此外另有指出或与上下文矛盾,对应集合的术语“子集”没有必要表示对应集合的真子集,而对应集合的子集可以是相等的。
除非另外特别指定或另外与上下文矛盾,连接语言,如具有形式“A、B、以及C中的至少一个”或“A、B以及C中的至少一个”的短语另外与上下文一起理解为一般用来呈现的是,项目、术语等可以是A或B或C,或A和B和C的集合的任何非空子集。例如,在具有三个成员的集的说明性实例中,连接性短语“A、B、和C中的至少一个”和“A、B和C中的至少一个”是指以下集中的任一集:{A}、{B}、{C}、{A,B}、A,C}、{B,C}、{A,B,C}。因此,此类连接性语言一般并非意图暗示某些实施方案需要A中的至少一个、B中的至少一个以及C中的至少一个每个存在。
可按任何合适的顺序来执行本文所述的过程操作,除非本文另外指明或明显地与上下文矛盾。本文所述的过程(或变体和/或其组合)的一些或全部可在配置有可执行指令的一个或多个计算机系统的控制下实行,并且可作为共同地在一个或多个处理器上执行的代码(例如,可执行指令、一个或多个计算机程序或一个或多个应用程序)、由硬件或其组合来实施。代码可以例如包括可由一个或多个处理器执行的多个指令的计算机程序的形式存储在计算机可读存储介质上。计算机可读储存介质可以是非暂时性的。
本文所提供的任何以及所有实例或示例性语言(例如,“如”)的使用仅意图更好地说明本发明的实施方案,并且除非另外要求保护,否则不会对本发明的范围施加限制。本说明书中的语言不应解释为将任何非要求保护的要素指示为实践本发明所必需。
本文描述了本公开的优选实施方案,包括发明人已知用于执行本发明的最佳模式。阅读上述说明书后那些优选实施方案的变化形式对于本领域的那些普通技术人员可以变得明显。发明人希望技术人员视情况采用此类变体,并且发明人意图以不同于如本文所特别描述的方式来实践本公开的实施方案。因此,经适用的法律许可,本公开的范围包括在此附加的权利要求中叙述的所有主题的改良形式和等价物。此外,除非本文另外指示或以其他形式明显地与上下文矛盾,否则本公开的范围涵盖其全部可能变化形式中的上述元素的任意组合。
本文所引用的所有参考文献(包括出版物、专利申请和专利)据此以引用方式并入,其程度等同于每个参考文献单独地且具体地被表示为以引用方式并入本文并且以其全文在本文得以陈述。

Claims (15)

1.一种计算机系统,其包括:
一个或多个处理器;以及
存储器,其具有共同存储在其中的指令,所述指令当由所述计算机系统执行时,促使所述计算机系统:
接收发起虚拟机的请求,所述虚拟机基于利用供应商的密钥数字签名的机图像;并且
在确定一个或多个策略授权发起基于由所述供应商数字签名的机图像的虚拟机之后,发起所述虚拟机。
2.如权利要求1所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像可使用从由证书授权方发放的数字证书获得的公钥来验证。
3.如权利要求1所述的计算机系统,其中所述一个或多个策略还指定在与用户相关联的虚拟网络内仅可以利用由所述供应商数字签名的机图像,所述用户已提交发起所述虚拟机的所述请求。
4.如权利要求1所述的计算机系统,其中所述一个或多个策略还针对一个或多个用户定义对所述机图像的访问等级。
5.如权利要求1所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像以这样一种方式变得可用,使得利用所述供应商的所述密钥数字签名的所述机图像是可验证的,以确定利用所述供应商的所述密钥数字签名的所述机图像源自所述供应商。
6.如权利要求1所述的计算机系统,其中利用所述供应商的所述密钥数字签名的所述机图像是从计算资源服务提供商市场获得的,所述计算资源服务提供商市场被配置来使得所述计算资源服务提供商的客户能够选择利用所述供应商的所述密钥数字签名的所述机图像,使得利用所述供应商的所述密钥数字签名的所述机图像可以用于实例化所述虚拟机以供所述客户使用。
7.如权利要求1所述的计算机系统,其中利用所述密钥数字签名的所述机图像以这样一种方式变得可用:至少部分基于利用所述密钥数字签名的所述机图像是否是可验证的以确定所述机图像源自将利用所述密钥数字签名的所述机图像与其他机图像进行区分。
8.如权利要求所述1的计算机系统,其中在市场上列出利用所述密钥数字签名的所述机图像,所述市场包括多个虚拟机图像可用于选择。
9.一种方法,其包括:
存储机图像,其包括利用机图像提供商的密钥签名的一个或多个部件;以及
作为用户已选择所述机图像的结果;至少部分基于与发起由所述机图像提供商签名的虚拟机有关的一个或多个策略来确定所述用户是否可以利用所述机图像来实例化虚拟机。
10.如权利要求9所述的方法,其中利用所述密钥签名的所述一个或多个部件可使用从由证书授权方发放的数字证书获得的公钥来验证。
11.如权利要求9所述的方法,其中所述一个或多个策略还指定在所述用户的虚拟网络内仅仅可以利用包括由所述机图像提供商数字签名的一个或多个部件的机图像,所述用户已提交在所述虚拟网络内发起所述虚拟机的请求。
12.如权利要求9所述的方法,其中所述一个或多个策略还针对一个或多个用户定义对由所述机图像提供商签名的所述机图像的访问等级。
13.如权利要求9所述的方法,其中所述虚拟机图像以这样一种方式存储,使得利用所述机图像提供商的所述密钥签名的所述一个或多个部件是可验证的,以确定所述机图像源自所述机图像提供商。
14.如权利要求9所述的方法,其中所述机图像存储在计算资源服务提供商市场内,其被配置来使得所述计算资源服务提供商的客户能够选择所述机图像,使得所述机图像可以用于实例化虚拟机以供所述客户使用。
15.如权利要求9所述的方法,其中所述机图像以这样一种方式存储:至少部分基于利用所述机图像提供商的所述密钥签名的所述机图像的所述一个或多个部件是否是可验证的以确定所述机图像源自所述机图像提供商来将所述机图像与其他机图像进行区分。
CN201580011791.0A 2014-03-04 2015-03-03 使用数字证书来认证虚拟机图像 Active CN106105138B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/196,818 US9158909B2 (en) 2014-03-04 2014-03-04 Authentication of virtual machine images using digital certificates
US14/196,818 2014-03-04
PCT/US2015/018534 WO2015134533A2 (en) 2014-03-04 2015-03-03 Authentication of virtual machine images using digital certificates

Publications (2)

Publication Number Publication Date
CN106105138A true CN106105138A (zh) 2016-11-09
CN106105138B CN106105138B (zh) 2020-02-21

Family

ID=54017633

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580011791.0A Active CN106105138B (zh) 2014-03-04 2015-03-03 使用数字证书来认证虚拟机图像

Country Status (6)

Country Link
US (4) US9158909B2 (zh)
EP (1) EP3114813B1 (zh)
JP (1) JP6402198B2 (zh)
CN (1) CN106105138B (zh)
CA (1) CA2940995C (zh)
WO (1) WO2015134533A2 (zh)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9158909B2 (en) * 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US9686278B1 (en) 2014-05-07 2017-06-20 Skyport Systems, Inc. Method and system for configuring computing devices
US10044695B1 (en) * 2014-09-02 2018-08-07 Amazon Technologies, Inc. Application instances authenticated by secure measurements
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
US9584517B1 (en) * 2014-09-03 2017-02-28 Amazon Technologies, Inc. Transforms within secure execution environments
US9246690B1 (en) 2014-09-03 2016-01-26 Amazon Technologies, Inc. Secure execution environment services
US9754116B1 (en) 2014-09-03 2017-09-05 Amazon Technologies, Inc. Web services in secure execution environments
US9442752B1 (en) 2014-09-03 2016-09-13 Amazon Technologies, Inc. Virtual secure execution environments
US9491111B1 (en) 2014-09-03 2016-11-08 Amazon Technologies, Inc. Securing service control on third party hardware
US10061915B1 (en) 2014-09-03 2018-08-28 Amazon Technologies, Inc. Posture assessment in a secure execution environment
CN106464667B (zh) 2015-02-09 2020-01-10 华为技术有限公司 一种证书管理方法、设备及系统
KR101652625B1 (ko) 2015-02-11 2016-08-30 주식회사 이베이코리아 온라인 웹사이트의 회원 로그인을 위한 보안인증 시스템 및 그 방법
US10867047B2 (en) * 2015-03-11 2020-12-15 Hewlett-Packard Development Company, L.P. Booting user devices to custom operating system (OS) images
US9756050B1 (en) 2015-03-26 2017-09-05 Amazon Technologies, Inc. Using transient processing containers for security authorization
US9894061B2 (en) 2015-10-16 2018-02-13 International Business Machines Corporation Method for booting and dumping a confidential image on a trusted computer system
CN108028827B (zh) * 2015-10-21 2020-09-29 华为技术有限公司 网络功能虚拟化架构中证书的管理方法及装置
US11271870B2 (en) 2016-01-27 2022-03-08 Oracle International Corporation System and method for supporting scalable bit map based P_Key table in a high performance computing environment
US10200308B2 (en) 2016-01-27 2019-02-05 Oracle International Corporation System and method for supporting a scalable representation of link stability and availability in a high performance computing environment
US10659234B2 (en) * 2016-02-10 2020-05-19 Cisco Technology, Inc. Dual-signed executable images for customer-provided integrity
US10116533B1 (en) 2016-02-26 2018-10-30 Skyport Systems, Inc. Method and system for logging events of computing devices
US10055578B1 (en) 2016-05-17 2018-08-21 Sprint Communications Company L.P. Secure software containers
US10192047B2 (en) 2016-06-28 2019-01-29 Cisco Technology, Inc. Provisioning of identity information
US10331882B2 (en) * 2016-08-24 2019-06-25 Citrix Systems, Inc. Tracking and managing virtual desktops using signed tokens
US10666443B2 (en) * 2016-10-18 2020-05-26 Red Hat, Inc. Continued verification and monitoring of application code in containerized execution environment
US10637738B1 (en) * 2017-05-26 2020-04-28 Amazon Technologies, Inc. Network traffic logs with integrated product identifiers
US10705831B2 (en) 2017-07-20 2020-07-07 Vmware, Inc. Maintaining unallocated hosts of a pre-configured hyper-converged computing device at a baseline operating system version
US10838776B2 (en) 2017-07-20 2020-11-17 Vmware, Inc. Provisioning a host of a workload domain of a pre-configured hyper-converged computing device
US10416986B2 (en) * 2017-07-20 2019-09-17 Vmware, Inc. Automating application updates in a virtual computing environment
US10705830B2 (en) 2017-07-20 2020-07-07 Vmware, Inc. Managing hosts of a pre-configured hyper-converged computing device
US20210049260A1 (en) * 2018-02-07 2021-02-18 Sony Corporation Information processing apparatus, information processing method, and program
US11803885B2 (en) * 2018-02-28 2023-10-31 Disney Enterprises, Inc. Configuration for authenticating a virtual item
US11847479B2 (en) 2018-03-23 2023-12-19 Vmware, Inc. Allocating a host of a pre-configured hyper-converged computing device to a workload domain
CN108595318B (zh) * 2018-03-31 2021-05-14 西安电子科技大学 Rfc制导的ssl/tls实现中数字证书验证模块的差异测试方法
US11323274B1 (en) 2018-04-03 2022-05-03 Amazon Technologies, Inc. Certificate authority
US11563590B1 (en) 2018-04-03 2023-01-24 Amazon Technologies, Inc. Certificate generation method
US11888997B1 (en) * 2018-04-03 2024-01-30 Amazon Technologies, Inc. Certificate manager
US10425401B1 (en) * 2018-10-31 2019-09-24 ISARA Corporation Extensions for using a digital certificate with multiple cryptosystems
US11500988B2 (en) * 2019-03-08 2022-11-15 International Business Machines Corporation Binding secure keys of secure guests to a hardware security module
US10951958B1 (en) 2020-01-08 2021-03-16 Disney Enterprises, Inc. Authenticity assessment of modified content
US11507408B1 (en) * 2020-01-21 2022-11-22 Amazon Technologies, Inc. Locked virtual machines for high availability workloads
US20210312016A1 (en) * 2020-04-07 2021-10-07 Fortanix, Inc. Geo-fencing of an application for a secure cryptographic environment
US11893410B2 (en) * 2021-01-13 2024-02-06 Vmware, Inc. Secure storage of workload attestation reports in a virtualized and clustered computer system
US11709700B2 (en) 2021-01-13 2023-07-25 Vmware, Inc. Provisioning identity certificates using hardware-based secure attestation in a virtualized and clustered computer system
US11700274B1 (en) * 2021-02-04 2023-07-11 Cisco Technology, Inc. Systems and methods for protecting pod deployment
US11675933B2 (en) * 2021-03-31 2023-06-13 Dell Products L.P. Client authorization mechanisms to access native services
US11809607B2 (en) * 2021-08-05 2023-11-07 International Business Machines Corporation Customization of multi-part metadata of a secure guest
US11829495B2 (en) 2021-08-05 2023-11-28 International Business Machines Corporation Confidential data provided to a secure guest via metadata
US11663082B2 (en) * 2021-08-27 2023-05-30 Red Hat, Inc. Virtual disk image testing
KR20240082828A (ko) * 2022-12-02 2024-06-11 삼성에스디에스 주식회사 마켓플레이스 보안 방법 및 그 장치

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294676A1 (en) * 2006-06-19 2007-12-20 Ewan Ellis Mellor Open virtual appliance
US20090172781A1 (en) * 2007-12-20 2009-07-02 Fujitsu Limited Trusted virtual machine as a client
US20120131591A1 (en) * 2010-08-24 2012-05-24 Jay Moorthi Method and apparatus for clearing cloud compute demand
US20140013325A1 (en) * 2012-07-09 2014-01-09 Ca, Inc. Managing virtual machines using owner digital signatures
US20140053245A1 (en) * 2012-08-20 2014-02-20 Raul V. Tosa Secure communication using a trusted virtual machine

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266526B1 (en) * 1996-11-27 2007-09-04 Diebold, Incorporated Automated banking machine system with multiple browsers
US6792545B2 (en) * 2002-06-20 2004-09-14 Guidance Software, Inc. Enterprise computer investigation system
US8209680B1 (en) * 2003-04-11 2012-06-26 Vmware, Inc. System and method for disk imaging on diverse computers
US7836303B2 (en) * 2005-12-09 2010-11-16 University Of Washington Web browser operating system
US20070204166A1 (en) * 2006-01-04 2007-08-30 Tome Agustin J Trusted host platform
US7792944B2 (en) * 2006-03-31 2010-09-07 Amazon Technologies, Inc. Executing programs based on user-specified constraints
US7831997B2 (en) * 2006-06-22 2010-11-09 Intel Corporation Secure and automatic provisioning of computer systems having embedded network devices
US8769528B2 (en) * 2006-07-14 2014-07-01 Moka5, Inc. Fixed-function consumer-electronics device providing general-computing functions with virtual machines
US8522018B2 (en) * 2006-08-18 2013-08-27 Fujitsu Limited Method and system for implementing a mobile trusted platform module
WO2008073618A2 (en) * 2006-11-06 2008-06-19 Devicevm, Inc. Instant on platform
US8527982B1 (en) * 2007-01-12 2013-09-03 moka5. Inc. Auto install virtual machine monitor
CN101636722B (zh) * 2007-03-20 2013-01-30 李尚奎 可移动的虚拟机映像
US8087017B1 (en) * 2007-04-09 2011-12-27 Moka5, Inc. Trace-assisted prefetching of virtual machines in a distributed system
US8171301B2 (en) * 2007-10-07 2012-05-01 Embotics Corporation Method and system for integrated securing and managing of virtual machines and virtual appliances
US20090204964A1 (en) * 2007-10-12 2009-08-13 Foley Peter F Distributed trusted virtualization platform
US9071443B2 (en) * 2008-08-25 2015-06-30 Novell, Inc. Automated service platform prospecting
EP2433409A2 (en) * 2009-05-19 2012-03-28 Security First Corporation Systems and methods for securing data in the cloud
US9015829B2 (en) * 2009-10-20 2015-04-21 Mcafee, Inc. Preventing and responding to disabling of malware protection software
WO2011091313A1 (en) * 2010-01-22 2011-07-28 Interdigital Patent Holdings, Inc. Method and apparatus for trusted federated identity management and data access authorization
WO2011114655A1 (ja) * 2010-03-16 2011-09-22 パナソニック株式会社 情報処理装置、仮想マシン生成方法及びアプリ配信システム
US20110246778A1 (en) * 2010-03-31 2011-10-06 Emc Corporation Providing security mechanisms for virtual machine images
US8893004B2 (en) * 2010-05-12 2014-11-18 International Business Machines Corporation User interface proxy method and system
US8886777B2 (en) * 2010-08-20 2014-11-11 Unisys Corporation Moving enterprise software applications to a cloud domain
GB2483300A (en) 2010-09-06 2012-03-07 Fonleap Ltd Transferring virtual machine state between host systems with common portions using a portable device
US9209976B2 (en) * 2010-10-29 2015-12-08 Code Systems Corporation Method and system for restricting execution of virtual applications to a managed process environment
US9141410B2 (en) * 2011-03-08 2015-09-22 Rackspace Us, Inc. Pluggable allocation in a cloud computing system
US20120266170A1 (en) * 2011-04-15 2012-10-18 Roy William Zimmerman Virtual Machine Image Management System and Methods
US20120311575A1 (en) * 2011-06-02 2012-12-06 Fujitsu Limited System and method for enforcing policies for virtual machines
JP5719244B2 (ja) * 2011-06-29 2015-05-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 安全に管理された仮想マシンの実行環境を構築する方法、プログラムおよびコンピュータ装置
US20130061293A1 (en) * 2011-09-02 2013-03-07 Wenbo Mao Method and apparatus for securing the full lifecycle of a virtual machine
US20130097296A1 (en) * 2011-10-18 2013-04-18 Telefonaktiebolaget L M Ericsson (Publ) Secure cloud-based virtual machine migration
KR101658070B1 (ko) * 2012-01-26 2016-09-22 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 연속 월드 스위치 보안을 갖는 데이터 센터
US8978094B2 (en) * 2012-02-03 2015-03-10 Apple Inc. Centralized operation management
US20130238785A1 (en) * 2012-03-06 2013-09-12 Rackspace Us, Inc. System and Method for Metadata Discovery and Metadata-Aware Scheduling
US8583920B1 (en) 2012-04-25 2013-11-12 Citrix Systems, Inc. Secure administration of virtual machines
US9385918B2 (en) * 2012-04-30 2016-07-05 Cisco Technology, Inc. System and method for secure provisioning of virtualized images in a network environment
US9367688B2 (en) * 2012-06-22 2016-06-14 Intel Corporation Providing geographic protection to a system
US10255089B2 (en) * 2012-07-31 2019-04-09 Ca, Inc. Self-deleting virtual machines
US9563480B2 (en) * 2012-08-21 2017-02-07 Rackspace Us, Inc. Multi-level cloud computing system
US8438654B1 (en) * 2012-09-14 2013-05-07 Rightscale, Inc. Systems and methods for associating a virtual machine with an access control right
US9027087B2 (en) * 2013-03-14 2015-05-05 Rackspace Us, Inc. Method and system for identity-based authentication of virtual machines
US9332002B1 (en) * 2013-03-14 2016-05-03 Amazon Technologies, Inc. Authenticating and authorizing a user by way of a digital certificate
US9448826B2 (en) * 2013-03-15 2016-09-20 Symantec Corporation Enforcing policy-based compliance of virtual machine image configurations
US9665387B2 (en) * 2013-05-08 2017-05-30 Amazon Technologies, Inc. User-influenced placement of virtual machine instances
US10230738B2 (en) * 2013-05-13 2019-03-12 Telefonaktiebolaget Lm Ericsson (Publ) Procedure for platform enforced secure storage in infrastructure clouds
US20150052614A1 (en) * 2013-08-19 2015-02-19 International Business Machines Corporation Virtual machine trust isolation in a cloud environment
US9306935B2 (en) * 2014-02-25 2016-04-05 Amazon Technologies, Inc. Provisioning digital certificates in a network environment
US9158909B2 (en) * 2014-03-04 2015-10-13 Amazon Technologies, Inc. Authentication of virtual machine images using digital certificates
US9842065B2 (en) * 2015-06-15 2017-12-12 Intel Corporation Virtualization-based platform protection technology

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070294676A1 (en) * 2006-06-19 2007-12-20 Ewan Ellis Mellor Open virtual appliance
US20090172781A1 (en) * 2007-12-20 2009-07-02 Fujitsu Limited Trusted virtual machine as a client
US20120131591A1 (en) * 2010-08-24 2012-05-24 Jay Moorthi Method and apparatus for clearing cloud compute demand
US20140013325A1 (en) * 2012-07-09 2014-01-09 Ca, Inc. Managing virtual machines using owner digital signatures
US20140053245A1 (en) * 2012-08-20 2014-02-20 Raul V. Tosa Secure communication using a trusted virtual machine

Also Published As

Publication number Publication date
US20160034298A1 (en) 2016-02-04
EP3114813A4 (en) 2017-10-04
EP3114813A2 (en) 2017-01-11
CA2940995C (en) 2023-12-05
US10698710B2 (en) 2020-06-30
WO2015134533A3 (en) 2016-05-19
US20230099597A1 (en) 2023-03-30
US11829794B2 (en) 2023-11-28
WO2015134533A2 (en) 2015-09-11
US20150254451A1 (en) 2015-09-10
JP6402198B2 (ja) 2018-10-10
US9158909B2 (en) 2015-10-13
US20200326972A1 (en) 2020-10-15
CN106105138B (zh) 2020-02-21
EP3114813B1 (en) 2019-10-09
CA2940995A1 (en) 2015-09-11
JP2017516179A (ja) 2017-06-15

Similar Documents

Publication Publication Date Title
CN106105138A (zh) 使用数字证书来认证虚拟机图像
CN105659558B (zh) 计算机实现的方法、授权服务器以及计算机可读存储器
US12008561B2 (en) System for verification of pseudonymous credentials for digital identities with managed access to personal data on trust networks
CN105830389B (zh) 用于访问多个计算资源服务的单组证书
US20240013210A1 (en) Data Processing System Utilising Distributed Ledger Technology
CN105659557B (zh) 用于单点登录的基于网络的接口集成的方法和系统
CN106471783B (zh) 经由网关的企业系统认证和授权
US9225704B1 (en) Unified management of third-party accounts
CN105027107B (zh) 迁移计算资源的计算机实现的方法及计算系统
CN101785243B (zh) 可传递受限安全令牌
US9282098B1 (en) Proxy server-based network site account management
CN109558721A (zh) 客户端应用程序的安全单点登录和条件访问
US11070556B2 (en) Context-based possession-less access of secure information
CN107659577B (zh) 用于多个网络站点的帐户管理方法和系统
Chadwick et al. Improved identity management with verifiable credentials and fido
EP2532132A1 (en) Improved identity management
CN107113302A (zh) 多租户计算系统中的安全性和许可架构
US11019053B2 (en) Requesting credentials
CN107534667A (zh) 密钥导出技术
JP2017524214A (ja) サードパーティの認証サポートを介した企業認証
CN106416125A (zh) 用于虚拟机实例的自动目录加入
CN107924431B (zh) 匿名应用程序包装
Alonso et al. An identity framework for providing access to FIWARE OAuth 2.0-based services according to the eIDAS European regulation
CN107846394A (zh) 用于提供访问服务提供商的不同服务的系统和方法
US20170171161A1 (en) Enforcing restrictions on third-party accounts

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