CN107113300A - 多面计算实例身份 - Google Patents
多面计算实例身份 Download PDFInfo
- Publication number
- CN107113300A CN107113300A CN201580069293.1A CN201580069293A CN107113300A CN 107113300 A CN107113300 A CN 107113300A CN 201580069293 A CN201580069293 A CN 201580069293A CN 107113300 A CN107113300 A CN 107113300A
- Authority
- CN
- China
- Prior art keywords
- calculated examples
- cvi
- assigned
- identity
- provider network
- 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
- 238000003860 storage Methods 0.000 claims abstract description 75
- 230000004044 response Effects 0.000 claims abstract description 50
- 238000000034 method Methods 0.000 claims description 31
- 238000004364 calculation method Methods 0.000 claims description 23
- 238000004891 communication Methods 0.000 claims description 14
- 230000002093 peripheral effect Effects 0.000 claims description 9
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012795 verification Methods 0.000 abstract description 19
- 238000005516 engineering process Methods 0.000 description 11
- 230000007246 mechanism Effects 0.000 description 10
- 230000003993 interaction Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000002452 interceptive effect Effects 0.000 description 6
- 238000002955 isolation Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000001152 differential interference contrast microscopy Methods 0.000 description 3
- 235000015170 shellfish Nutrition 0.000 description 3
- 241000894007 species Species 0.000 description 3
- 101100264195 Caenorhabditis elegans app-1 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000005538 encapsulation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000009987 spinning Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 239000003039 volatile agent Substances 0.000 description 1
Classifications
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- 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
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- 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/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/061—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key exchange, e.g. in peer-to-peer networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
虚拟计算服务(VCS)的计算实例被指派各自命名空间内的第一和第二可加密核实身份(CVI)。与所述第一CVI相关联的加密密钥对包括由不许可拷贝所述私有密钥的安全密钥存储区管理的不可转移私有密钥。所述VCS使得所述实例能够使用所述私有密钥来断言所述CVI。响应于第一身份查询,所述实例指示所述第一CVI。响应于第二身份查询,所述实例指示所述第二CVI。
Description
背景技术
许多公司和其他组织操作计算机网络,这些计算机网络使众多计算系统互连以支持其操作,例如其中计算系统位于同一位置(例如,作为本地网络的一部分)或者相反地位于多个截然不同的地理位置中(例如,经由一个或多个私有或公共中间网络连接)。例如,容纳大量互连计算系统的数据中心已经变得很常见,例如由单个组织操作并且代表单个组织的私有数据中心,以及由如企业的实体操作以向客户提供计算资源的公共数据中心。一些公共数据中心操作者为由各种客户拥有的硬件提供网络访问、电源和安全安装设施,而其他公共数据中心操作者提供还包括可供其客户使用的硬件资源的“全面服务”设施。
针对商品硬件的虚拟化技术的出现为具有不同需求的许多客户提供了关于管理大规模的计算资源的益处,从而允许由多个客户高效地并安全地共享各种计算资源。例如,虚拟化技术可以允许通过为每一用户提供由单个物理计算机器托管的一个或多个虚拟机而在多个用户之间共享单个物理计算机器。每一此虚拟机可以被认为是作为充当不同逻辑计算系统的软件模拟,这为用户提供了他们是给定硬件计算资源的唯一操作者和管理员的假象,同时还提供各种虚拟机之间的应用隔离。
在公共数据中心处实施的虚拟化计算服务可以“计算实例”的形式封装供客户端使用的计算能力,其中数个这样的计算实例通常代表一个或多个服务客户端托管在给定硬件服务器上。然后,客户端可以在计算实例上运行所期望的应用集,通常经由虚拟计算服务的基于web的控制台来执行管理操作。在许多情况下,客户端可能希望使用计算实例来运行需要身份验证的应用,也就是说,为了获得计算实例的许可以执行应用的各种任务,或者为了请求来自其他服务的工作操作,可能必须核实实例的身份。随着入侵者攻击各种网络和服务的频率和复杂性增加,虚拟化计算服务的客户端可能变得不愿意利用不提供对高度安全的资源身份核实机制的支持的计算实例或其他资源。
附图说明
图1示出了根据至少一些实施方案的示例性系统环境,其中在虚拟计算服务处实施的计算实例可以被指派各自命名空间内的数个不同可加密核实身份(CVI)。
图2示出了根据至少一些实施方案的可以指派给计算实例的身份类型的示例。
图3示出了根据至少一些实施方案的多个应用的认证部件与计算实例之间的互动的示例。
图4示出了根据至少一些实施方案的实例主机的示例,在实例主机处可以实施使得计算实例能够利用由安全密钥存储区所管理的不可转移私有密钥的编程接口。
图5示出了根据至少一些实施方案的客户端与实例配置管理器之间的身份相关控制平面互动的示例。
图6示出了根据至少一些实施方案的可包括在提交给实例配置管理器的身份指派请求中的身份描述符的示例性内容。
图7是示出根据至少一些实施方案的可被执行以响应于与实例身份指派有关的管理请求的操作的各方面的流程图。
图8是示出根据至少一些实施方案的可以在已经指派了各自命名空间内的一个或多个身份的计算实例处执行的操作的各方面的流程图。
图9是示出可以在至少一些实施方案中使用的示例性计算装置的框图。
虽然本文通过数个实施方案和说明性附图的示例描述了实施方案,但本领域技术人员应认识到,实施方案不限于所描述的实施方案或附图。应当理解,附图及其详细描述并不旨在将实施方案限制为所公开的特定形式,而是相反,其目的在于涵盖归属于由所附权利要求书所定义的精神和范围内的所有修改、等效物和替代方案。本文所使用的标题仅用于组织目的,并不意味着用于限制说明书或权利要求书的范围。如贯穿本申请案所使用,词语“可”以许可性意义(即,意指有可能)而非强制性意义(即,意指必须)使用。类似地,词语“包括(include/including/includes)”意指包括但不限于。
具体实施方式
描述用于指派、管理并使用各自命名空间内的多个可加密核实身份(CVI)至提供商网络处的计算实例的方法和设备的各种实施方案。至给定计算实例的多个身份的指派在本文中也可称为多面身份指派,多个身份中的每一者可被独立地验证并用于各自的应用或应用集。由例如公司或公共部门组织的实体设立以将可经由因特网和/或其他网络访问的一个或多个服务(例如各种类型的多租户和/或单租户基于云计算或存储服务)提供给分布式客户端集或客户集的网络可以在本文档中称为提供商网络。提供商网络也可称为“公共云”环境。本文中可以使用术语“多租户服务”来指代以下服务:被设计成以为不同客户端实体提供各自的可定制、经隔离的服务视图的方式实施应用和/或数据虚拟化,使得正使用给定基础资源集向其提供服务功能的多个部分的一个客户端可能不知道所述资源集也供其他客户端使用。例如,多租户虚拟化计算服务(VCS)可以代表各自客户端在给定硬件服务器处实例化数个不同计算实例(客虚拟机),而不必通知客户端中的任一硬件服务器将正在与其他客户端共享。计算实例可在本文简称为“实例”,并且上面执行一个或多个计算实例的硬件服务器可称为“实例主机”或“虚拟化主机”。在一些实施方案中,除了多租户服务之外或代替多租户服务,提供商网络可支持单租户服务,并且可以在给定时间段期间在单租户模式或多租户模式中使用例如实例主机的资源。提供商网络通常可以包括托管各种资源池(例如,实施、配置并且分布由提供商提供的基础设施和服务所需的物理和/或虚拟化计算机服务器、存储装置、网络设备、安全性相关设备等的集合)的数个大型数据中心。
根据所接受的虚拟化方法,关于实例主机的细节(例如,正在使用的处理器或核心的绝对执行能力,或主机物理上所存在的特定数据中心)以及计算实例与实例主机之间的映射(例如,在给定主机上运行多少计算实例,或其实例共享主机的客户端的身份)在至少在一些情况下对于运行计算实例所代表的客户端来说是不可用的。在每一实例主机上,VCS通常可以部署具有例如管理程序、管理操作系统域等的一个或多个虚拟化管理部件的虚拟化管理软件堆栈,这些虚拟化管理部件也可能出于明显的安全性原因而不能被客户端访问。在一些实施方案中,可以由计算服务定义不同类型或类别的计算实例(例如,对应于一个或多个操作系统的“小型”,“中型”或“大型”实例),其中每一实例类型的相对能力的一些指示及对应定价策略可提供给潜在客户端。鉴于实例类型定义,故在一个实施方案中客户端可以能够选择其希望在提供商网络的一些分层子单元(例如,松散地理上定义的“区域”)内获取的每一类型的实例数量。
提供商网络的一些客户端可能对于其应用中的至少一些来说要求比其他应用更高级别的安全性和/或身份验证。(应注意,如本文所使用的术语应用可以指代可在用户模式、内核/系统模式或者用户与内核/系统模式的组合中运行的任何类型的可执行程序部件或部件的组合。)特别地,考虑到许多不同的VCS客户端可能使用给定硬件服务器的事实,客户端可能希望获得一定程度的保证:与外部实体(例如,实施不同服务的服务器)真正互动的给定计算实例是其声称的计算实例。在一些实施方案中,VCS用户可能手动地提供这种保证(例如,经由与由VCS实施的管理控制台的交互),但这种手动方法是众所周知的容易出错并且也可能易受入侵者侵袭。
在至少一些实施方案中,可以在虚拟计算服务处实施用于提供不可转移的加密强度密钥的机制,所述不可转移的加密强度密钥可用于在计算实例处执行或通过计算实例执行的各种类型的安全性相关操作。根据这样的机制,可以在安全密钥存储区处存储和/或管理待用于与给定计算实例相关联的身份核实操作的加密强度密钥对的私有密钥,使得私有密钥本身不可由将使用密钥对的计算实例(或由任何其他计算实例)拷贝或审查。使得能够在不向接口的呼叫者或用户泄露私有密钥的情况下由计算实例使用私有密钥(例如,以产生或获得例如数字签名等身份相关加密工件(artifact))的编程接口在至少一些实施方案中可以由一个或多个VCS部件来实施。在一个实施方案中,实例主机处的例如管理程序或管理域操作系统的虚拟化管理部件可以实施用于对不可转移密钥的这种操作的一个或多个API(应用程序设计接口),并且在所述主机处运行的计算实例可以调用这样的API来获得用于断言指派给所述实例的一个或多个可加密核实身份的工件或元数据。在一些实施中,安全密钥存储区可位于实例主机处-例如,经由实例主机的例如低引脚计数总线或PCIe(外围部件互连-高速)总线的通信总线附接的可信平台模块(TPM)或类似外围装置可存储私有密钥。在其他实施方案中,可以使用可经由网络从虚拟化管理部件和/或从计算实例访问的外部安全密钥存储区,例如硬件安全性模块(HSM)。在至少一个实施方案中,可以为给定计算实例指定多个加密密钥对,其中每一此密钥对的私有密钥由如上所述的安全密钥存储区管理;在其他实施方案中,对于给定计算实例,可以仅使用单个密钥对。在将多个密钥对指派给给定计算实例的一些实施中,密钥对中的数个的私有密钥可以由给定安全密钥存储区(例如,启动计算实例的实例主机处的本地TPM,或者经由网络到达的远程HSM)来管理;在其他实施中,每一私有密钥可以由各自的安全密钥存储区管理。
在至少一些实施方案中,依据将使用给定计算实例的应用集,可以将在各自命名空间内的数个不同身份或名称指派给所述实例。所述身份中的每一者可以是可加密核实的,例如,借助于X.509或者通过在信任链中组织的各自身份验证权威机构进行数字签名的其他类似数字证书,或者使用任何适当的加密算法。在一些实施方案中,可以在此类证书中指示针对计算实例所指定的密钥对的公共密钥,其中私有密钥被如上所述地管理和/或存储在安全密钥存储区中。每一此身份在本文中可称为可加密核实身份(CVI)。至少在一些实施方案中,虚拟化计算服务可以使得给定计算实例能够使用一个或多个加密密钥(例如,通过授予适当许可从而使得实例能够使用使用私有密钥所需的API、通过产生密钥与实例之间的唯一绑定、通过配置安全密钥源等)来产生断言其(一个或多个)CVI所需的工件。在至少一些实施方案中,可以将若干不同类型的CVI指定或指派给给定计算实例。例如,在一个实施方案中,VCS可以至少部分地基于虚拟IP(因特网协议)地址将DNS(域名系统)名称指派给计算实例作为一个CVI。(这样的IP地址在本文中可称为“虚拟的”,这是因为其可由VCS从一个计算实例编程地转移给另一实例,而(例如)不需要重新配置物理网络接口卡)。例如,VCS可以将虚拟IP地址54.87.134.66指派给实例,并且可指派例如<VCS服务名称>-54-87-134-66-<地理容器>-<vcs域名>(其在DNS命名空间内是唯一的)的名称作为CVI。还可以将例如在客户定义的命名空间中的第二CVI指派给同一计算实例。例如,客户可能希望使用例如App1-Node0、App1-Node1、App1-Node2等名称来识别配置为特定应用集群的各自节点的所有计算实例。当与客户的应用环境的其他部件通信时(其中一些部件可在正用于计算实例的提供商网络内运行,而其他部件可能位于外部网络中),可以使用第二CVI代替第一CVI。类似地,将计算实例识别为特定第三方软件服务(或本地安装的软件)的许可证持有者的第三CVI可以被指派给计算实例,以使得能够从实例使用第三方软件服务。在一些实施方案中,还可以支持第三方命名空间(例如,由提供商网络操作者(或客户端)的业务伙伴管理的命名空间)内CVI的指派。因此,通常,各自命名空间内的多种不同的CVI可以在各种实施方案中被指派给给定计算实例。命名空间可在本文中称为实例身份命名空间(IIN),且每个此类命名空间可具有负责用于选择待要指派给不同实例的特定名称、对其各自命名空间执行任何唯一性要求、识别负责在其各自命名空间内验证身份的权威机构等的相关联的命名空间所有者/管理员。图2中提供在各种上下文中可有用的CVI类型的示例,并且在下面讨论所述示例。
根据至少一个实施方案,响应于例如来自与第一应用相关联的第一认证者的认证请求的身份相关查询,已经被指派了多个CVI的计算实例可以提供第一CVI在与应用相关联的第一实例身份命名空间内的指示。身份相关查询可以在一些实施中显式或隐式地指示命名空间,或者计算实例可以能够基于用于查询或从其接收身份相关查询的源的API的种类来推断命名空间。第一CVI可以与为第一计算实例指定的加密密钥对相关联,其中所述对的私有密钥由安全密钥存储区管理,安全密钥存储区被配置为防止私有密钥拷贝到如上文所讨论的安全密钥存储区外部的位置。提供指示CVI的信息(例如,一个或多个证书、数字签名或其他加密产生的工件)也可以在本文中称为“断言”CVI。如上文所讨论,在至少一些实施方案中,虚拟化计算服务可以使实例使用私有密钥;因此,在此类实施方案中,可能需要VCS的参与和/或同意来支持至少一些类型的CVI。在一些实施方案中,为了确定响应于身份相关查询而提供的信息,计算实例可以调用由在启动实例所处的实例主机处虚拟化管理部件实施的一个或多个编程接口。
响应于接收第一CVI的指示,第一认证者可以检查(例如,通过确保由计算实例提供的证书由可信方签名,和/或通过使用实例的公共密钥解密并核实由计算实例提供的数字签名)所声称身份是有效的。在一些情况下,认证者可能必须与其他实体(例如,为命名空间指定的一个或多个身份验证者)通信,以检查所断言的身份是有效的。如果身份被成功核实,则可以许可计算实例执行第一应用的一个或多个操作,并且可以向计算实例传输此许可的指示。类似地,响应于来自与不同应用和不同IIN相关联的不同认证者的第二身份相关查询,计算实例可以提供给其指派的第二CVI的指示。然后,可以由第二认证者检查第二CVI,例如,使用与上文针对第一CVI所描述但在第二IIN的上下文中的类似方法。如果发现第二CVI有效,则可允许计算实例执行第二应用的操作。对于指派给计算实例的不同CVI中的每一者可能需要类似的互动;也就是说,计算实例可能必须为数个不同应用上下文中的每一者断言各自的CVI。在一些实施方案中,给定CVI可以用于数个不同应用上下文-例如,计算实例可以响应于来自与各自应用相关联的两个或两个以上认证者的身份相关请求而断言相同的CVI。
在不同实施方案中,可以将多种CVI指派给计算实例。如上文所提及,可以在多个不同应用上下文中使用的一个CVI可以是至少部分地基于指派给实例的虚拟IP地址的DNS名称。在至少一些实施方案中,可以给提供商网络的计算实例指派一个或多个公共IP地址和一个或多个私有IP地址。公共IP地址可以被通告到外部网络(例如公共因特网的各部分)或者可以从外部网络访问,而私有IP地址可以仅可在提供商网络的逻辑隔离部分内可访问。在一些实施方案中,可以给实例指派基于公共IP地址的CVI和/或基于私有IP地址的另一CVI。用于实例的虚拟计算服务可以定义其他命名空间,例如出于内部管理目的或用于与其他服务或外部实体互动。一些命名空间可对应于实例被实例化、实例所属的可用性容器(被设计为具有独立的故障简档的资源群组)等所处的数据中心或其他地理位置,并且可将在一个或多个这样的命名空间内的各自唯一名称指派给给定计算实例。在一些实施方案中,客户也可从客户定义的命名空间选择CVI,或客户针对提供商网络内定义的命名空间请求CVI。在一些实施方案中,客户还可为其计算实例请求来自DNS命名空间的特定名称的指派,例如,可由VCS的客户端为其计算实例中的一者或多者请求DNS名称www.< customerCompanyName>.com作为CVI。在一个实施方案中,例如提供商网络操作者的业务伙伴或客户的业务伙伴的第三方可能能够选择CVI并将CVI指派给各种计算实例。在至少一个实施方案中,可将给定CVI指派给多个计算实例,例如,如果在特定服务或应用的上下文中将若干计算实例组织为复制群组或故障转移群组,使得在一些条件下群组成员中的一者的责任中的至少一些责任由另一群组成员来担负,则可以给数个群组成员指派至少一个共同或共享的CVI。
在一些实施方案中,每一命名空间可以具有由其命名空间所有者给其指派的一个或多个身份验证者。在一些实施方案中,这种身份验证者可以包括例如提供商网络以外的第三方或公共证书权威机构(CA)。在一些实施方案中,对于一个或多个命名空间可由命名空间所有者选择非公共身份验证者,例如,可以在提供商网络内实施一些验证权威机构(对于由VCS或在提供商网络处实施的其他服务定义的命名空间),而对于客户定义的命名空间可在客户拥有的网络上实施其他验证权威机构。在至少一个实施方案中,命名空间所有者可以将其自身指定为其命名空间的身份验证者-例如,可不需要单独的验证者。身份验证者(无论是公共的、提供商网络拥有的还是客户拥有的)可签名例如X.509或对应于一个或多个命名空间内指派给计算实例的CVI的其他数字证书。在至少一个实施方案中,给定数字证书可用于断言一个以上的身份,例如,可以使用数字证书与CVI之间的1:N映射。在其他实施方案中,可将各自证书用于每一CVI。
指派给给定计算实例的CVI中的至少一些可以具有经定义的对应有效期,例如,指示CVI对于实例有效的开始和/或结束时间。在至少一些实施方案中,指派给给定计算实例的不同CVI可能具有不同的有效期。
在一个实施方案中,由虚拟计算服务实施的一个或多个控制平面或管理接口可以由客户端使用来请求给其计算实例指派规定的命名空间内的身份。在一些实施方案中,可以在实例启动时请求身份指派,(例如,使用经由API提交的实例启动请求的一个或多个参数)。在一个实施方案中,也可以或替代地在启动实例之后为实例请求身份指派。在一些实施方案中,客户端还可能能够从规定的实例撤销或取消指派一个或多个CVI。
示例性系统环境
图1示出了根据至少一些实施方案的示例性系统环境,其中在虚拟计算服务处实施的计算实例可以被指派各自命名空间内的数个不同可加密核实身份(CVI)。如所展示,系统100包括实施虚拟计算服务(VCS)110的提供商网络105。VCS可以代表各种客户端在多个实例主机125处建立众多计算实例150。例如,计算实例150A和150B已经例如作为各自客虚拟机设立在实例主机125A处,而计算实例150K和150L已经建立在实例主机125B处。可以响应于从提供商网络之外的装置(例如客户网络115内的客户端装置133)发出的实例启动请求而设立计算实例150中的至少一些。
在所描绘的实施方案中,可以给给定计算实例150指派各自命名空间中的零个或多个可加密核实身份(CVI)160(例如,可借助于指派给实例的加密强度公共-私有密钥对来核实的身份)。在一些实施方案中,就各自命名空间所有者或管理者来说,可支持数个不同类型的实例身份命名空间(IIN)144。命名空间所有者可负责定义IIN(例如,可指派的名称集的格式,或可指派的名称范围)、选择待指派给给定计算实例150的特定名称或身份、为命名空间指定一个或多个身份验证者的集等。在所描绘的实施方案中,IIN 144A由第三方命名空间所有者183管理,IIN 144B由客户定义的命名空间所有者185管理,IIN 144C由在提供商网络处实施的服务S1(除VCS以外)的命名空间所有者155管理,而IIN 144D由VCS命名空间所有者154管理。每一IIN 144可以具有其自己的用于CVI的语法和格式,并且至少在一个实施方案中,待用于身份的验证机制和策略可在各个命名空间之间有所不同。术语“命名空间”在本文中可与短语“实例身份命名空间”同义地使用。
对应于每一命名空间144,在所描绘的实施方案中,可将一个或多个实体指定为身份验证者。例如,第三方身份验证者184(例如公共证书权威机构或CA)可负责查定命名空间144A的CVI的真实性。一些客户可以设立其自己的客户管理身份验证者186。在提供商网络处实施的服务中的一者或多者可以实例化身份验证者,例如VCS身份验证者153和服务S1的身份验证者156。身份验证者中的至少一些可以数字签名可以由计算实例150响应于身份相关请求而提供的证书(例如X.509证书或根据公共密钥基础设施标准或规范格式化的其他类似证书)。在一些实施方案中,一个或多个加密密钥可与用于断言实例身份的工件中的一些相关联。
依据要在给定计算实例处运行的应用的具体类型,可以例如在建立实例所代表的客户端的请求下给实例指派任何所需数目个CVI。在一些情况下,客户端可以在启动实例之前提供给定实例所需的身份集的指示;在其他情况下,在实例已经开始执行后,可以指派规定命名空间中的新身份。在至少一些实施方案中,也可在来自实例所有者的请求时撤销实例身份。在各种实施方案中,可提供VCS控制平面编程接口(例如一个或多个API)以允许客户指示身份指派和/或撤销请求。在图1所示出的示例中,已给实例150A指派三个CVI:命名空间144A中的CVI 160A、命名空间144B中的CVI 160L和命名空间144D中的CVI 160T。已给实例150B指派命名空间144A中的CVI 160B。已给实例150L指派命名空间144B的CVI 160K和命名空间144C的CVI 160P。实例150K未被指派有CVI。
可以不同方式使用指派给给定计算实例的CVI,这取决于请求实例识别自身的具体应用。在至少一些实施方案中,给定实例(例如,150A)可以从在提供商网络处实施的不同服务(例如,S1)的节点处或者在提供商网络之外的装置(例如,客户端装置133)处的某一其他实体(例如,在某一其他实例150处运行的应用的认证部件)接收认证请求或其他类似的身份相关查询。在一些实施方案中,请求可以显式或隐式地(例如,凭借请求的格式或从其接收请求的源)指示请求身份所针对的命名空间。接收身份查询的计算实例然后可以例如使用一个或多个加密工件(例如,由可信身份验证者或一连串身份验证者签名的证书)来提供其在适当命名空间内的身份的证据。在至少一些实施中,证据中可以包括一个或多个验证者的指示。在至少一些实施方案中,依据所接收的身份查询的类型,由计算实例提供的证据可包括除数字证书之外(或加上数字证书)的其他工件,例如可提供策略令牌(使用计算实例的私有密钥获得的授权策略的加密版本),可使用计算实例的私有密钥签名身份查询中所包括的数据值,或者可提供可使用实例的公共密钥解密的其他数据。如果向计算实例150传输身份查询或请求的认证部件能够确认实例的身份(例如,基于可信身份验证者已产生证书或策略令牌的确定),则可向计算实例150提供身份确认的显式或隐式应答。经验证的计算实例150然后可继续执行正由认证部件核实其身份的应用或互动的后续操作。
在至少一个实施方案中,例如为了确保与经指定用于特定计算实例的排他使用的加密密钥(例如,公共-私有密钥对的私有密钥)相关联的给定CVI不会被转移或盗用,可针对密钥使用安全密钥存储区133(例如,133A或133B)。这样的安全密钥存储区可以允许涉及例如经由由对应实例运行的实例主机处的虚拟化管理部件所实施的API集使用不可转移密钥的各种操作,但可能不允许将私有密钥拷贝或转移出安全密钥存储区。在一些实施方案中,可使用附接到实例主机的外围通信总线的本地安全密钥存储区133B,例如可信平台模块(TPM)。在其他实施方案中,可使用远程安全密钥存储区133A,例如在提供商网络处实施的安全性服务的硬件安全模块(HSM)。在一些实施方案中,可使用用于保护私有密钥的其他机制,例如代替HSM或TPM。在至少一些实施方案中,VCS可以(例如,通过授予对密钥相关API的适当许可、配置待使用的TPM或HSM,或者通过采取其他配置动作)使得计算实例能够使用断言各种CVI所需的(一个或多个)加密密钥。
CVI示例
图2示出了根据至少一些实施方案的可以指派给计算实例的身份类型的示例。如所展示,计算实例150可以基于由VCS给其指派的虚拟IP地址被指派DNS名称260A。在一些实施方案中,DNS名称260A的格式可包括识别VCS服务的各自子字符串(例如,<vcs-service-name>)、IP地址的点分十进制记数元素(例如,对应于IPv4地址54.187.31.66的字符串“54-187-31-66”)、实例的地理位置的某一指示(例如,<zone>)及指派给VCS的域名。在其他实施方案中,可以不使用DNS名称260A中所展示的子字符串中的一者或多者。
在至少一些实施方案中,可将一个或多个公共IP地址和一个或多个私用IP地址在给定时间点处指派给给定计算实例,并且这样的IP地址可以用于计算实例的CVI。可将公共IP地址定义为可从公共因特网的各部分访问的公共IP地址,例如,由于经由例如BGP(边界网关协议)的协议被通告。相比之下,可能仅可在提供商网络的子集内(例如,从提供商网络的一个或多个隔离虚拟网络(IVN)内)访问私有IP地址。在一些环境中,IVN也可称为虚拟私有云或VPC。IVN可包括提供商网络105的可在VCS的特定客户的请求下建立的逻辑隔离区段中的计算和/或其他资源的集合。可授予客户对IVN中所包括装置的网络配置的实质性控制。在一些实施方案中,例如,客户可选择要用于IVN的各种计算实例150的私有IP地址范围、管理IVN内的子网的创建以及用于IVN的路由元数据的配置。在一些实施方案中,用于执行在提供商网络处实施的一个或多个其他服务(例如,文件存储服务或数据库服务)的操作的计算实例和其他资源也可以组织在一个或多个IVN中,并且可将对应私有IP地址指派给这样的资源。由于不同的IVN关于内部使用的私有IP地址彼此隔离,因此情况可能是可将给定私有IP地址指派给各自独立IVN内的一个以上计算实例。在所描绘的实施方案中,公共通告的IP地址54.87.131.66 260B可充当一个CVI,而私有IP地址260C(例如,10.0.0.1)可充当用于实例150的另一CVI。
除了可以指派给各种计算实例的基于IP地址的名称之外,在一些实施方案中,VCS可以用独立于IP地址的实例名称定义一个或多个其他命名空间。例如,给定计算实例150可以至少在一些时间点处与IP网络断开连接或者可能在一个网络地址与另一网络地址之间转变,并且VCS可以指派可用于独立于其网络状态地指代实例的名称(例如,以“inst”开头的唯一字符串)。可以将这样的VCS指派的唯一实例名称260D视为指派给实例150的CVI的另一示例。类似地,在一些实施方案中,提供商网络的其他服务可以将其自己的名称指派给由服务使用或与服务互动的计算实例。例如DbSvcClient-01321(指示计算实例是称为DbSvc的数据库服务的客户端)的这种非VCS服务指派的名称260H可以表示CVI的另一示例。
在各种实施方案中,也可将客户选择或客户请求的身份指派给计算实例。图2中指示对应于各自类型的命名空间的三种不同类型的受客户影响的身份。客户可以为实例定义其自己的命名空间,例如以主要在客户网络内或与由同一客户所拥有的其他实例互动地验证并使用。在这样的命名空间,客户指派的名称260E可以被选择并且指派为计算实例150的CVI(例如,“MyApp-Cluster1-inst0”)。在一些实施方案中,客户还可以请求将在VCS拥有的命名空间内(如在客户请求的名称260F的情况下)和/或在DNS命名空间内(如在客户指派的DNS名称260G的情况下)的特定名称指派给实例150。在一些实施方案中,例如提供商网络的在线市场中的业务伙伴或参与者的第三方实体(即,除提供商网络操作者以外并且除客户以外的实体)可以将CVI指派给实例。例如,可以在由第三方实体定义并管理的命名空间内为实例选择第三方指派的名称260K。在各种实施方案中,可由第三方命名空间所有者在客户和/或VCS的请求下或者在客户和/或VCS批准下指派这样的第三方CVI,例如,以增强实例利用由第三方实体实施的产品或特征的能力。在至少一些实施方案中,第三方命名空间所有者还可以为其命名空间实施一个或多个身份验证者。在一个实施方案中,如上文所提及,可以指派与由协作实例群组内的实例所发挥的特定角色相关联的共享身份,例如,使得可能使群组的一个成员能够如且当必要时接管群组的另一成员的至少一些工作负荷。共享角色名称260J(“Failover-group-FG3-node”,指示实例是故障转移群组的成员)表示可指派给多个实例的此类共享CVI的示例。在一些实施方案中,可由提供商网络的多种不同服务(包括VCS、各种存储相关服务、高性能计算服务等)建立被配置成在发生故障的情况下接管群组成员的工作负荷的协作实例的这种对等群组。
应注意,在至少一些实施方案中,给给定实例指派给定身份可能是暂时的,并且在至少一个实施方案中,可以许可先前所用身份的重新使用。例如,实例可在时间T1与T2之间被指派在给定命名空间NS1中的特定CVI“CVI1”,在时间间隔T2到T3期间没有被指派NS1内的CVI,在时间T3与T4之间被指派NS1中的不同的CVI“CVI2”,并且在时间T4与T5之间被指派先前指派的CVI“CVI1”。
与应用特定认证者的互动
图3示出了根据至少一些实施方案的多个应用的认证部件与计算实例之间的互动的示例。指派给给定计算实例150的CVI集合342的不同CVI 360A-360D(对应于各自命名空间344A-344D)可以使得实例能够响应于对应于所描绘实施方案中的数个不同应用中的每一者的特定认证挑战,从而使得实例能够接收进行这些不同应用的操作的许可。图3中展示两个不同应用App1和App2的认证者302A和302B。例如,认证者302A可以是远程桌面客户端应用,而认证者302B可以是使用软件即服务实施的芯片设计应用的许可证管理器。远程桌面客户端应用的实施者可能希望确保在向计算实例建立远程桌面会话之前,核实计算实例的身份。类似地,芯片设计应用的实施者可能希望确保在可以从计算实例调用或使用CAD工具之前,核实计算实例的身份以确保许可从实例使用CAD工具。
在图3中所展示的实施方案中,计算实例150可被认证者中的每一者在单独身份查询312A和312B中请求证明其身份。可以在计算实例的生命期中不同点处接收身份查询312A和312B。响应于身份查询312A,计算实例150可以确定与身份请求有关的特定命名空间344A,并且提供指示指派给实例的CVI 360A在该命名空间344A内的一个或多个加密工件314A。类似地,响应于来自认证者302B的身份请求312B,可以提供指示CVI 360B在命名空间344B中的一个或多个加密工件314B。在各种实施方案中,至少部分地使用加密算法或加密强度密钥产生的若干不同类型的对象可用作实例的身份的证据。例如,加密工件316可包括数字证书、许可证协定的加密版本、加密的策略令牌等,其中的至少一些可以在一些实施方案中使用指派给计算实例150的密钥对的公共密钥来获得。在各种实施方案中,可由需要实例身份核实的应用使用若干不同类型的认证协议,包括例如涉及一个以上消息交换的多步骤协议,并且计算实例150可适当地响应于证明其身份所需的不同步骤。在一些实施方案中,响应于身份查询312而提供的身份信息的至少一部分可涉及计算实例的私有密钥的使用,所述私有密钥可以在禁止密钥拷贝的安全密钥存储区处进行管理。例如,计算实例150可能必须调用由例如虚拟化管理部件的中介物或由安全密钥存储区实施的API,从而使得能够使用私有密钥给数据元素加密。在各种实施方案中,对身份查询的响应可源于计算实例的软件堆栈的数个不同层中的任何层,例如,此等响应可由在用户模式下运行的应用、操作系统模块、装置驱动器模块等产生。
在认证者302已经接受或核实了计算实例150相对于相关命名空间344的身份之后,在至少一些情况下,可将应答消息(例如,Authn_ACK消息322A或322B)发送到计算实例。这样的应答可充当发送到计算实例的许可其进行与应用(例如,App1或App2)相关联的额外操作的信号。在至少一些实施方案中,一些应用可能不使用显式认证应答消息。应注意,在一些实施方案中,对于至少一些类型的实例身份命名空间来说,计算实例可断言CVI作为与认证者的互动的第一步骤,即,实例身份未必需要仅响应于所接收请求而被断言。
安全密钥存储区的示例
如上文所讨论,在一些实施方案中,指派给计算实例的密钥对的私有密钥可以用于经执行以断言给定命名空间内的计算实例的身份的至少一些操作。图4示出了根据至少一些实施方案的实例主机的示例,在实例主机处可以实施使得计算实例能够利用由安全密钥存储区所管理的不可转移私有密钥的编程接口。如所展示,实例主机125可以包括多个硬件部件410,硬件部件410可以包括例如一定数目个处理核心或处理器470、至少一个非永久性存储器472(其可称为主存储器)、一个或多个本地永久性存储装置490(例如,磁盘(其可以包括旋转磁盘和/或固态磁盘))以及一个或多个网络接口卡(NIC)480。在至少一些实施方案中,还可在硬件部件层410处获得其他非永久性存储器位置,例如各种层级的处理器高速缓存、寄存器等。在所描绘的实施方案中,也可将例如可信平台模块470的本地安全密钥存储区并入于实例主机125内或附接到实例主机125。在一些实施中,也可将例如一个或多个监视器、鼠标等的外围设备(图4中未展示)附接到实例主机。
在所描绘的实施方案中,可借助于虚拟化管理软件堆栈将各种硬件层资源410虚拟化(例如,呈现给在实例主机125处起动或启动的数个实例150,如同实例中的每一者都可以对资源的进行排他访问),虚拟化管理软件堆栈包括管理程序408和/或操作系统430的管理实例。管理程序和/或管理操作系统实例可以被认为是VCS的元件,并且可称为虚拟化管理部件(VMC)425。在一些实施中,操作系统的管理实例可称为“特权域”(标记为“域0”或“dom0”),而针对实例150中的每一者建立的各自操作系统可称为“非特权域”(标记为“domU”)、“客操作系统”或“客域”。
在所描绘的实施方案中,管理程序408通常可以充当计算实例和实例主机的硬件部件之间的中介物。在一些情况下,例如,依据所使用的特定编程接口,管理程序及管理操作系统实例430两者均可为实例150与硬件之间的中介物。例如,用于操作的请求路径可以如下流动:计算实例->管理程序->dom0->管理程序->硬件,并且可以使用反向路径给计算实例提供响应。在一些实施中,dom0可能能够直接访问一个或多个类型的硬件部件;dom0与硬件之间的其他互动可以通过管理程序。当要从计算实例150使用硬件部件(例如,安全密钥存储区470)时,例如由于应用层450请求的操作,可以由操作系统内核或装置驱动器层452产生针对VMC的对应请求。在所描绘的实施方案中,例如,可从计算实例150调用由VCS支持的一个或多个私有密钥API 425以利用由安全密钥存储区管理的私有密钥。在所描绘的实施方案中,API 425可以使得能够使用私有密钥(例如)来产生加密工件,而不允许呼叫者(例如,计算实例)拷贝或转移私有密钥。
在所描绘的实施方案中,代替使用本地安全密钥存储区470或除使用本地安全密钥存储区470之外,可以使用远程安全密钥存储区490(例如,在提供商网络处实施的安全性服务的硬件安全性模块(HSM))。在至少一些实施方案中,也可使用如上所述防止私有密钥的拷贝的类似种类的API 425来利用远程安全密钥存储区。与远程安全密钥存储区490的互动可能必须通过硬件NIC 480。在一个实施方案中,可以仅使用一个类型的安全密钥存储区,例如,本地密钥存储区470或远程密钥存储区490。在至少一个实施方案中,可针对给定计算实例(例如,针对不同命名空间中的各自CVI)指定多个密钥对,并且可针对多个密钥对的私有密钥使用不同安全密钥存储区。在其他实施方案中,同一密钥对可用于各自命名空间中的数个不同CVI。在不同实施方案中,密钥对可与各种适当的加密标准和/或算法中的任一者兼容,例如高级加密标准(AES)、RSA(Rivest-Shamir-Adleman)算法、DES(数据加密标准)、PGP(良好隐私)或类似物的版本。
身份指派的管理互动
在一些实施方案中,可以支持用于与实例身份相关的配置操作的编程接口集。图5示出了根据至少一些实施方案的客户端与实例配置管理器之间的身份相关控制平面互动的示例。一些客户端可能会在启动实例之前确定待指派给实例的身份类型,而其他客户端可以在启动后将身份指派给实例。在所描绘的实施方案中,客户端也可能能够从计算实例中撤销身份。在所描绘的实施方案中,对于这些和其他类型的配置操作,可由VCS控制平面实施编程接口590集。
如所展示,在所描绘的实施方案中,客户端502可以经由编程接口590向VCS的实例配置管理器提交LaunchInstance请求504,其中身份描述符(IDDescriptor)参数指示用于待启动的实例的一个或多个所请求身份类型。对于每一所请求身份,身份描述符可指示各种属性,例如命名空间的识别符、命名空间所有者、身份有效期信息等,如下文在图6的上下文中所描述。LaunchInstance请求(以及图5所示出的其他示例性请求)可每个包括图5中未展示的零个或零个以上额外参数,如由省略号(“…”)所指示。在一些实施方案中,不希望在启动时或在启动之前给计算实例指派身份的客户端502可不在其启动请求中包括身份描述符;也就是说,身份描述符可为可选参数。
在所描绘的实施方案中,响应于接收具有身份描述符的LaunchInstance请求,实例配置管理器510可首先核实许可请求客户端指派身份。在至少一些实施方案中,并非所有客户端都可以被授予指派在各种类型的命名空间内的身份的许可;例如,只有选定的一组实例类型(例如,可能花费多于“小型”实例的“大型”实例)可被许可具有多个CVI,并且发出将多个身份指派给仅许可单个CVI(或根本没有CVI)的实例的请求的客户端可接收“许可被拒绝”或类似错误消息。在至少一个实施方案中,希望将一个以上CVI指派给实例的客户端可能需要接受包括每个身份价格的定价策略。在一些实施方案中,给定CVI所需的身份验证的类型(例如,是否可以使用提供商网络自己的身份验证者,或者是否使用外部身份验证者,例如公共证书权威机构)可确定与身份指派相关联的定价。在所描绘实施方案中,如果客户端的LaunchInstance请求符合配置管理器的接受准则,则配置管理器可从适当命名空间所有者520(例如命名空间所有者520A、520B或520C)集起始所请求类型的身份的指派。在一些实施中,针对命名空间所有者的请求可包括被指派给要启动的计算实例的密钥对的公共密钥。在一些实施方案中,实例配置管理器510可从命名空间所有者接收指示所请求的身份已被成功指派的通知。在所描绘的实施方案中,可向客户端502提供指示成功指派给实例的(一个或多个)身份(例如,AssignedIDInfo参数中所含有的)的LaunchSuccessful消息506。在至少一些实施方案中,例如,即使启动实例所代表的客户端未明确地指示实例的任何身份相关偏好,也可给实例默认地指派一个或多个CVI。
在所描绘的实施方案中,客户端502可以经由AssignIdentityToInstance请求508请求关于当前运行实例的启动后身份指派。作为响应,配置管理器510可以再次检查客户端被许可指派身份,并且接着以与上文关于LaunchInstance请求504所讨论的方式类似的方式起始对运行实例的身份指派。可以向客户端502提供指示所请求身份的成功指派的应答消息IDAssignACK 511。
为了撤消身份,客户端502可以向配置管理器510提交RevokeIDFromInstance请求512,其中IDDescriptor参数指示要撤销的身份集。身份的撤销可能是有用的,例如,当计算实例仅针对实例的生命期的某一部分需要一组许可时,例如,当不再需要身份核实的特定应用在实例上运行时,可撤销对应的CVI或使其无效。在核实客户端被许可撤销(一个或多个)身份之后,配置管理器可经由与适当的命名空间管理器520进行的一个或多个通信来起始撤销。在所描绘的实施方案中,如果撤销成功,则可将应答消息IDRevocationACK 514传输到客户端502。在各种实施方案中,例如,如果所请求的名称已经被指派,则命名空间所有者520可出于多种原因拒绝指派或撤销身份的请求。这种拒绝的指示可以由实例配置管理器510提供给请求客户端。应注意,在各种实施方案中,可以针对图3(在认证者与计算实例之间)及图5(在客户端与提供商网络的控制平面部件之间)中所示出种类的互动实施多种不同类型的编程接口。这样的接口可包括API、网页或基于web的控制台、图形用户界面(GUI)、命令行工具等。
身份描述符元素
图6示出了根据至少一些实施方案的可包括在提交给实例配置管理器的身份指派请求中的身份描述符的示例性内容。可以提供包括多个身份条目612(例如612A或612B)的身份描述符610作为与例如图5中所示出的请求类似的LaunchInstance或AssignIdentityToInstance请求的参数。
在所描绘的实施方案中,身份条目612A可以包括以下子条目的某一组合:命名空间614A的识别符、命名空间的所有者616A、实例的所请求名称618A、身份的初始有效期620A、有效性延伸策略622A(例如,将要采取哪些步骤来延伸所指派的身份,以及可以更新到期身份的时间段)、验证机制624A(例如,待用于身份的加密核实的证书或算法的类型)和/或经批准的验证者列表626A。身份条目612B可以针对同一实例规定第二请求身份的不同属性组合:例如,第二命名空间614B、命名空间所有者616B(其可不同于616A)、命名空间614B内的不同所请求名称618B、初始有效期620B(其可不同于620A)、有效性延伸策略622B(其可不同于策略622A)、验证机制624B(其可不同于624A)、经批准的验证者列表626B(其可与验证者列表626A重叠)。在至少一些实施方案中,可以省略子条目中的一者或多者。例如,对于一些类型的身份,代替提出所请求名称618,客户端可依赖于VCS(或提供商网络的某一其他服务)来确定实例的适当名称。类似地,对于有效性相关参数(例如,有效期620、有效性延伸策略622或验证者列表),客户端可能够依赖于由命名空间所有者或由VCS选择的默认设置。在至少一些实施方案中,用于至少一些类型的身份的验证机制可以是预先确定的,也就是说,客户端可不能够改变验证实例身份的方式或修改可使用的验证者集。
在至少一个实施方案中,给定类型的实例身份可能由数个不同类型的验证者来核实,例如,提供商网络之外的第三方或公共证书权威机构以及提供商网络自己的内部证书权威机构可能够签名实例的身份的数字证书。在一些此类实施方案中,可给客户端提供定价选项,所述定价选项至少部分地基于其偏好于用于其实例的身份验证者的种类。例如,对于其身份要由提供商网络内的权威机构验证的实例,可向客户端收取低于其身份要由第三方或外部权威机构验证的实例的计费率。在一些实施方案中,图6中所示出的身份条目子部件中的部分或全部可被提供作为API呼叫的单独参数,并且未必并入于单个对象或数据结构内(例如身份描述符)。
用于支持多面实例身份的方法
图7是示出根据至少一些实施方案的可被执行以响应于与实例身份指派有关的管理请求的操作的各方面的流程图。如元素701中所展示,可以在虚拟计算服务的控制平面部件处接收将一个或多个CVI指派给计算实例CI1的请求。相对于实施非管理应用操作中所涉及的“数据平面部件”,术语“控制平面部件”在本文中可用于指代负责VCS的计算实例和实例主机的配置和管理的实体(例如图510所展示的配置管理器)。身份指派请求可指示对应于所请求的每种类型的身份在图6的上下文中所讨论的身份属性中的一些或全部,例如命名空间识别符、命名空间所有者、所请求名称等。对于所请求的身份中的两者或两者以上,一些参数可以是相同的,例如,对于两个或两个以上不同身份可请求相同的有效期,或者同一实体可以拥有两个或两者以上身份的命名空间。在一些实施方案中,可针对客户端的请求中未明确详述的一个或多个属性使用默认设置。可以在启动实例之前(例如,在LaunchInstance请求或等效项中)或者在其他情况下在已经启动实例之后接收身份指派请求。
控制平面部件可以验证所接收的身份指派请求的内容(元素704)。在各种实施方案中,可以执行若干不同类型的验证操作,例如检查所请求身份是否已被指派(或者已经指派了同一命名空间内的不同身份)、请求者是否被许可指派所请求的类型的身份、是否可以从VCS到达规定的命名空间所有者或者特定实例CI1是否符合CVI指派的资格准则。在至少一个实施方案中,例如,鉴于各自定价策略,可由VCS支持数个不同类型的计算实例(例如“小型”、“中型”和“大型”实例),并且给定类型的命名空间内的CVI可能未必可指派给所有实例类型。在至少一个实施方案中,不同类型的CVI可具有与其相关联(例如,基于用于CVI类型的命名空间和身份验证者)的不同的定价策略。在此类实施方案中,在批准一个或多个CVI的指派之前,控制平面部件可能必须确保适当的定价策略对CI1有效,或者请求的客户端已经同意适当的定价策略。在一些实施中,例如,在并非所有实例都被许可使用由安全密钥存储区管理的加密密钥的实施中,VCS控制平面部件可核实使得要给其指派CVI的实例能够利用适当的密钥集来断言CVI。
在身份指派请求经验证之后,控制平面部件可以将各自请求传输给所请求身份中的每一者的命名空间所有者(元素707)。在至少一个实施方案中,控制平面部件可能够确定要用于给定身份的加密密钥对的公共密钥,并且公共密钥可包括在发送给命名空间所有者的请求中。在一个实施方案中,可以将包括在客户端的身份指派请求中的参数中的一些或所有传递给命名空间所有者。命名空间所有者可以响应于来自控制平面部件的请求而执行其自己的验证操作。如果验证操作成功,则命名空间所有者和/或各自命名空间的身份验证者可以产生所请求身份所需的元数据(例如,要指派的名称、适当的数字证书或其他身份相关工件等)。
控制平面部件可以从命名空间所有者接收应答(元素710),指示已经将所请求类型的身份已指派给计算实例CI1。在至少一些实施方案中,可以将在命名空间中的一者或多者内指派给CI1的名称提供给控制平面部件。在一些实施方案中,用于命名空间的身份验证者也可以或替代地将命名空间内的身份已经成功指派给CI1通知给控制平面部件。在所描绘的实施方案中,控制平面部件可以向客户端通知CI1的身份状态,例如,所请求的身份已被指派,或者所请求身份中的一者或多者是否未被指派(元素713)。在一些实施方案中,也可给客户端提供在各种命名空间中指派给实例的名称。在至少一个实施方案中,VCS可以实施控制平面编程接口(例如,经由API,例如“DescribeInstance”或控制台),使得客户端能够获得指派给给定计算实例的所有CVI的列表,连同身份属性,例如命名空间识别符、命名空间所有者、有效期、验证者列表等。
图8是示出根据至少一些实施方案的可以在已经指派了各自命名空间内的一个或多个身份的计算实例处执行的操作的各方面的流程图。如元素801中所展示,例如,可以基于对于CI1所属的实例类别有效的VCS策略通过默认或者响应于实例所有者的请求而将一个或多个CVI指派给虚拟化计算服务(VCS)的给定计算实例CI1。
CI1可接收与特定应用和/或命名空间相关联的身份查询(例如,来自远程桌面客户端的关于DNS命名空间的查询或来自许可证服务器的关于受证人命名空间的查询)(元素804)。一些这样的身份查询也可称为认证挑战。作为响应,CI1可以提供一个或多个加密产生的工件作为在适当的命名空间中给其指派的CVI的指示(元素807)。在一些情况下,CI1可能必须首先确定适用于在其上下文中接收身份的特定应用的命名空间;在其他情况下,身份查询或挑战可能会明确地指示命名空间。在一个实施方案中,一个或多个身份验证者(例如,可被咨询以核实CI1的所声称身份的可信权威机构)的指示可以包括在CI1的响应中。在至少一些实施方案中,每一CVI可以与专门为CI1指定的对应加密密钥对相关联。应注意,在至少一些实施中,一个以上CVI可以与同一密钥对相关联。在至少一个实施方案中,指示身份的工件可以包括数字证书(由身份验证者针对对应命名空间签名的并且包括相关联的密钥对的公共密钥)和/或使用由在CI1运行的实例主机处虚拟化管理部件实施的编程接口所获得的另一加密值(例如,数字签名)。在不向CI1泄露私有密钥本身的情况下,在一些实施中,编程接口可以允许CI1间接使用私有密钥来获得加密值。在各种实施方案中,私有密钥可以被管理/存储在安全密钥存储区中,例如附接到CI1运行的实例主机的通信总线的本地外围装置,或者可经由网络从虚拟化管理部件访问的远程硬件安全性模块。在所描绘的实施方案中,可以通过VCS实现由CI1使用私有密钥来断言其(一个或多个)CVI。
在所描绘的实施方案中,如果CVI由产生身份请求的实体接受(如元素810中所确定),则CI1可以继续执行接收到身份请求所针对的应用的额外操作(元素813)。如果CVI被拒绝(还如元素810中所确定),则CI1可以可选地将错误消息传输到实例主机的虚拟化管理部件和/或传输到VCS控制平面(元素816)。
应注意,在各种实施方案中,可使用除了在图7及图8的流程图中示出的操作之外的操作来实施用于支持本文所讨论的方面实例身份的技术中的至少一些。所展示操作中的一些在一些实施方案中可不实施、可以与图7或图8中所示出的不同的次序或并行而非按顺序来实施。
使用情况
可以在多种环境中使用上文所描述的提供对给计算实例指派多个可加密核实身份的支持的技术。现在提供商网络环境中正运行处理敏感业务数据并且因此需要高级安全性的许多现代应用和协议。虚拟计算服务的至少一些客户端可能希望在多个应用上下文中使用其计算实例,其中每一应用上下文在一个或多个命名空间内施加其自己的认证和安全性要求。通过给每一实例指派加密密钥对(其私有密钥不能从其硬件密钥存储区修改或拷贝)并且使用密钥来使得实例能够在一个或多个命名空间内断言其自己的身份,客户端可能够实现许多类型的应用的所需等级的安全性。此等技术还可以减少与管理计算实例相关联的管理工作,例如,管理员可不再必须手动(例如,经由计算服务的管理控制台)核实参与给定应用的每一实例均有权这样做。可以为指派给给定实例的不同身份设定不同的验证期及其他属性,从而实现比原本在仅单个身份可指派给实例的情况下可能的更大的灵活性。客户端可能够关于实体身份进行定价权衡,从而选择部分地取决于待用于各种实例的身份验证机制的类型的定价计划。
说明性计算机系统
在至少一些实施方案中,实施上文所描述的用于指派在各自命名空间内的多个身份给计算实例的技术中的一者或多者的服务器可包括通用计算机系统,所述通用计算机系统包括一个或多个计算机可访问介质或被配置为访问一个或多个计算机可访问介质。图9示出了此类通用计算装置9000。在所示出的实施方案中,计算装置9000包括一个或多个处理器9010,所述一个或多个处理器9010经由输入/输出(I/O)接口9030耦合到系统存储器9020(其可包括非易失性及易失性存储器模块两者)。计算装置9000进一步包括耦合到I/O接口9030的网络接口9040。
在各种实施方案中,计算装置9000可为单处理器系统(包括一个处理器9010)或多处理器系统(包括数个处理器9010(例如,两个、四个、八个或另一适合数目))。处理器9010可为能够执行指令的任何适合的处理器。例如,在各种实施方案中,处理器9010可为通用或嵌入式处理器,所述通用或嵌入式处理器实施多种指令集架构(ISA)(例如x86、PowerPC、SPARC或MIPS ISA或者任何其他适合的ISA)中的任一者。在多处理器系统中,处理器9010中的每一者通常可以但未必实施同一ISA。在一些实施中,代替常规处理器或除了常规处理器之外,可以使用图形处理单元(GPU)。
系统存储器9020可以被配置为存储可由处理器9010访问的指令和数据。在至少一些实施方案中,系统存储器9020可包括易失性及非易失性部分两者;在其他实施方案中,可仅使用易失性存储器。在各种实施方案中,可使用任何适合的存储器技术(例如,静态随机存取存储器(SRAM)、同步动态RAM或任何其他类型的存储器)来实施系统存储器9020的易失性部分。对于系统存储器的非易失性部分(其可包括例如一个或多个NVDIMM),在一些实施方案中,可使用基于闪存的存储器装置,包括NAND闪存装置。在至少一些实施方案中,系统存储器的非易失性部分可包括电源,例如超级电容器或其他电力存储装置(例如,电池)。在各种实施方案中,至少对于系统存储器的非易失性部分,可使用基于忆阻器的电阻式随机存取存储器(ReRAM)、三维NAND技术、铁电RAM、磁阻式RAM(MRAM)或各种类型的相变存储器(PCM)中的任一者。在所示出的实施方案中,实施一个或多个所需功能(例如,上文所描述的那些方法、技术及数据)的程序指令及数据被展示为作为代码9025及数据9026存储于系统存储器9020内。
在一个实施方案中,I/O接口9030可以被配置为协调处理器9010、系统存储器9020及装置中的任何外围装置之间的I/O业务量,包括本地安全密钥存储区,例如可信平台模块(TPM)966、网络接口9040或其他外围接口,例如各种类型的永久性和/或易失性存储装置。在一些实施方案中,I/O接口9030可执行任何必要的协议、定时或其他数据变换以将来自一个部件(例如,系统存储器9020)的数据信号转换成适合于另一部件(例如,处理器9010)使用的格式。在一些实施方案中,I/O接口9030可包括对通过各种类型的外围总线(例如,低引脚计数(LPC)总线、外围部件互连(PCI)总线标准或通用串行总线(USB)标准的变体)附接的装置的支持。在一些实施方案中,可以将I/O接口9030的功能分裂成两个或两个以上单独的部件,例如北桥和南桥,举例来说。此外,在一些实施方案中,可以将I/O接口9030的一些或全部功能(例如,与系统存储器9020的接口)直接并入到处理器9010中。
网络接口9040可以被配置为允许在计算装置9000与附接到(一个或多个)网络9050的其他装置9060(例如,如图1到图8中所示出的其他计算机系统或装置)之间交换数据。在各种实施方案中,网络接口9040可以经由任何适合的有线或无线通用数据网络(例如,以太网网络的各个类型)来支持通信。另外,网络接口9040可以经由电信/电话网络(例如,模拟语音网络或数字光纤通信网络)、经由存储区域网络(例如,光纤通道SAN)或经由任何其他适合类型的网络和/或协议来支持通信。
在一些实施方案中,系统存储器9020可以是被配置为存储如上文针对图1到图8所描述的用于实施对应方法和设备的实施方案的程序指令和数据的计算机可访问介质的一个实施方案。然而,在其他实施方案中,可以在不同类型的计算机可访问介质上接收、发送或存储程序指令和/或数据。一般来说,计算机可访问介质可包括非暂时性存储介质或存储器介质,例如磁性或光学介质,例如经由I/O接口9030耦合到计算装置9000的磁盘或DVD/CD。非暂时性计算机可访问存储介质还可以包括任何易失性或非易失性介质,例如RAM(例如,SDRAM、DDR SDRAM、RDRAM、SRAM等)、ROM等,在计算装置9000的一些实施方案中可包括所述任何易失性或非易失性介质作为系统存储器9020或另一类型的存储器。此外,计算机可访问介质可以包括经由通信介质(例如,网络和/或无线链路)传达的传输介质或信号,例如电、电磁或数字信号,例如可以经由网络接口9040来实施的。在各种实施方案中,可使用多个计算装置(例如图9中所示出的计算装置)中的部分或全部来实施所描述的功能;例如,在多种不同装置和服务器上运行的软件部件可协作以提供功能。在一些实施方案中,除了使用通用计算机系统实施之外或代替使用通用计算机系统实施,可以使用存储装置、网络装置或专用计算机系统来实施所描述功能的部分。如本文所用的术语“计算装置”至少指代所有这些类型的装置,并且不限于这些类型的装置。
结论
各种实施方案可进一步包括接收、发送或存储根据上述描述在计算机可访问介质上实施的指令和/或数据。一般来说,计算机可访问介质可以包括存储介质或存储器介质,例如磁性或光学介质(例如,磁盘或DVD/CD-ROM)、易失性或非易失性介质(例如,RAM(例如,SDRAM、DDR、RDRAM、SRAM等)、ROM等,以及经由通信介质(例如网络和/或无线链路)传达的传输介质或信号(例如电、电磁或数字信号)。
如图中所示出和本文所描述的各种方法表示方法的示例性实施方案。所述方法可以软件、硬件或其组合来实施。可以改变方法的次序,并且各种元件可被添加、重新排序、组合、省略、修改等。
如对受益于本公开的本领域技术人员而言明显的是,可进行各种修改和改变。本公开旨在涵盖所有这些修改和改变,且因此上述描述被认为是说明性的而非限制性的意义。
本公开的实施方案可以根据以下条款来描述:
1.一种系统,其包括:
提供商网络的虚拟计算服务的多个实例主机,至少包括第一实例主机,所述第一实例主机包括一个或多个计算实例;
其中所述一个或多个计算实例的特定计算实例被配置为:
响应于来自与第一应用相关联的第一认证者的第一身份查询,提供在第一实例身份命名空间(IIN)内指派给所述特定计算实例的第一可加密核实身份(CVI)的指示,其中所述第一CVI与为所述第一计算实例指定的加密密钥对相关联,其中所述加密密钥对的私有密钥由安全密钥存储区管理,所述安全密钥存储区被配置为防止将所述私有密钥拷贝到所述安全密钥存储区外部的位置,且其中所述虚拟计算服务使得所述特定计算实例能够使用所述私有密钥来提供所述第一CVI的所述指示;
响应于所述第一CVI已由所述第一认证者接受的确定,执行所述第一应用的一个或多个操作;
响应于来自与第二应用相关联的第二认证者的第二身份查询,提供在不同IIN内指派给所述第一计算实例的不同CVI的指示;以及
响应于所述第二CVI已由所述第二认证者接受的确定,执行所述第二应用的一个或多个操作。
2.根据条款1所述的系统,其中所述第一CVI的所述指示包括根据公共密钥基础设施(PKI)标准格式化的第一证书。
3.根据条款1所述的系统,其中所述特定计算实例进一步被配置为:
调用由所述第一实例主机的虚拟化管理部件实施的编程接口以获得包括在所述第一CVI的所述指示中的至少一个工件。
4.根据条款1所述的系统,其中所述安全密钥存储区包括以下各项中的一者:(a)提供商网络的安全性服务的硬件安全性模块,或(b)附接到所述第一实例主机的通信总线的外围装置。
5.根据条款1所述的系统,其中所述第一CVI包括以下各项中的一者或多者:(a)所述特定计算实例的至少部分地基于指派给所述特定计算实例的虚拟IP(因特网协议)地址的DNS(域名系统)名称、(b)指派给所述特定计算实例的公共IP地址、(c)指派给所述特定计算实例的私有IP地址、(d)来自VCS定义的命名空间的由所述提供商网络的所述虚拟计算服务(VCS)指派给所述特定计算实例的唯一名称、(e)由所述提供商网络的客户从客户定义的命名空间选择的唯一名称、(f)由所述提供商网络的客户从VCS定义的命名空间选择的名称、(g)由所述提供商网络的客户选择的DNS名称、或(h)在由第三方定义的命名空间内指派给所述特定计算实例的名称。
6.一种方法,其包括:
在提供商网络处的虚拟计算服务的实例主机处启动一个或多个计算实例;
在所述一个或多个计算实例的第一计算实例处接收第一身份查询;
响应于所述第一身份查询从所述第一计算实例提供在第一实例身份命名空间(IIN)内指派给所述第一计算实例的第一可加密核实身份(CVI)的指示,其中所述第一CVI与加密密钥对相关联,其中所述加密密钥对的私有密钥由被配置为防止所述私有密钥的拷贝的安全密钥存储区管理,并且其中所述虚拟计算服务使得所述第一计算实例能够使用所述私有密钥来提供所述第一CVI的所述指示;
在所述第一计算实例处接收第二身份查询;以及
响应于所述第二身份查询从所述第一计算实例提供在不同IIN内指派给所述第一计算实例的不同CVI的指示。
7.根据条款6所述的方法,其中所述第一CVI的所述指示包括根据公共密钥基础设施(PKI)标准格式化的第一证书。
8.根据条款6所述的方法,其进一步包括:
由所述第一计算实例调用由所述实例主机的虚拟化管理部件实施的编程接口以获得包括在所述第一CVI的所述指示中的工件的至少一部分。
9.根据条款6所述的方法,其中所述第二CVI与不同的加密密钥对相关联。
10.根据条款6所述的方法,其中所述安全密钥存储区包括以下各项中的一者:(a)提供商网络的安全性服务的硬件安全性模块,或(b)附接到所述实例主机的通信总线的外围装置。
11.根据条款6所述的方法,其中所述第一CVI包括以下各项中的一者或多者:(a)所述第一计算实例的至少部分地基于指派给所述第一计算实例的虚拟IP(因特网协议)地址的DNS(域名系统)名称、(b)指派给所述第一计算实例的公共IP地址、(c)指派给所述第一计算实例的私有IP地址、(d)来自VCS定义的命名空间的由所述提供商网络的虚拟计算服务(VCS)指派给所述第一计算实例的唯一名称、(e)由所述提供商网络的客户从客户定义的命名空间选择的唯一名称、(f)由所述提供商网络的客户从VCS定义的命名空间选择的名称、(g)由所述提供商网络的客户选择的DNS名称、或(h)在由第三方定义的命名空间内指派给所述特定计算实例的名称。
12.根据条款6所述的方法,其中所述第一CVI的所述指示包括身份验证者,所述身份验证者包括以下各项中的一者或多者:(a)公共证书权威机构(CA)、(b)在所述提供商网络内实施的验证权威机构、(c)在被指派了所述第一计算实例的所述提供商网络的客户所拥有的客户网络内实施的验证权威机构、或(d)第三方验证权威机构。
13.根据条款6所述的方法,其进一步包括:
响应于所述第一身份查询从所述第一计算实例提供所述第一CVI的第一有效期的指示;以及
响应于所述第二身份查询从所述第一计算实例提供所述第二CVI的第二有效期的指示,其中所述第二有效期不同于所述第一有效期。
14.根据条款6所述的方法,其进一步包括:
在所述提供商网络的控制平面部件处接收指示所述第一计算实例将被指派所述第一IIN内的身份的实例配置请求;以及
响应于所述实例配置请求而由所述控制平面部件起始在所述第一IIN内给所述第一计算实例指派身份。
15.根据条款6所述的方法,其中在所述第一计算实例处从与第一应用相关联的许可证管理器接收所述第一身份查询,并且其中由所述许可证管理器使用所述第一CVI来核实所述第一计算实例被准许以利用所述第一应用。
16.根据条款6所述的方法,其进一步包括:
由在所述提供商网络处实施的特定服务的服务管理器建立包括第二计算实例和第三计算实例的实例故障转移群组,其中在所述第二计算实例处发生故障的情况下,正在所述第二计算实例处执行的应用将被故障转移到所述第三计算实例;以及
由所述服务管理器起始(a)将共享CVI指派给所述第二计算实例,以及(b)将所述共享CVI指派给所述第三计算实例,其中将使用所述共享CVI来核实所述应用可以在所述第二计算实例和在所述第三计算实例处执行。
17.一种存储程序指令的非暂时性计算机可访问存储介质,所述程序指令当在一个或多个处理器上执行时:
在虚拟计算服务的第一计算实例处接收第一身份查询;
响应于所述第一身份查询从所述第一计算实例提供在第一实例身份命名空间(IIN)内指派给所述第一计算实例的第一可加密核实身份(CVI)的指示,其中所述第一CVI与加密密钥对相关联,其中所述加密密钥对的私有密钥由被配置为防止所述私有密钥的拷贝的安全密钥存储区管理,并且其中所述虚拟计算服务使得所述第一计算实例能够使用所述私有密钥来提供所述第一CVI的所述指示;
在所述第一计算实例处接收第二身份查询;以及
响应于所述第二身份查询从所述第一计算实例提供在不同IIN内指派给所述第一计算实例的不同CVI的指示。
18.根据条款17所述的非暂时性计算机可访问存储介质,其中所述第一CVI的所述指示包括根据公共密钥基础设施(PKI)标准格式化的第一证书。
19.根据条款17所述的非暂时性计算机可访问存储介质,其中所述指令当在所述一个或多个处理器上执行时:
从所述第一计算实例调用由实例主机的虚拟化管理部件实施的编程接口以获得包括在所述第一CVI的所述指示中的数据的至少一部分。
20.根据条款17所述的非暂时性计算机可访问存储介质,其中所述第一CVI包括以下各项中的一者或多者:(a)所述第一计算实例的至少部分地基于指派给所述实例的虚拟IP(因特网协议)地址的DNS(域名系统)名称、(b)指派给所述第一计算实例的公共IP地址、(c)指派给所述第一计算实例的私有IP地址、(d)来自VCS定义的命名空间的由提供商网络的虚拟计算服务(VCS)指派给所述第一计算实例的唯一名称、(e)由提供商网络的客户从客户定义的命名空间选择的唯一名称、(f)由提供商网络的客户从VCS定义的命名空间选择的名称、(g)由提供商网络的客户选择的DNS名称、或(h)在由第三方定义的命名空间内指派给所述第一计算实例的名称。
Claims (15)
1.一种系统,其包括:
提供商网络的虚拟计算服务的多个实例主机,至少包括第一实例主机,所述第一实例主机包括一个或多个计算实例;
其中所述一个或多个计算实例的特定计算实例被配置为:
响应于来自与第一应用相关联的第一认证者的第一身份查询,提供在第一实例身份命名空间(IIN)内指派给所述特定计算实例的第一可加密核实身份(CVI)的指示,其中所述第一CVI与为所述第一计算实例指定的加密密钥对相关联,其中所述加密密钥对的私有密钥由安全密钥存储区管理,所述安全密钥存储区被配置为防止将所述私有密钥拷贝到所述安全密钥存储区外部的位置,且其中所述虚拟计算服务使得所述特定计算实例能够使用所述私有密钥来提供所述第一CVI的所述指示;
响应于所述第一CVI已由所述第一认证者接受的确定,执行所述第一应用的一个或多个操作;
响应于来自与第二应用相关联的第二认证者的第二身份查询,提供在不同IIN内指派给所述第一计算实例的不同CVI的指示;以及
响应于所述第二CVI已由所述第二认证者接受的确定,执行所述第二应用的一个或多个操作。
2.根据权利要求1所述的系统,其中所述特定计算实例进一步被配置为:
调用由所述第一实例主机的虚拟化管理部件实施的编程接口以获得包括在所述第一CVI的所述指示中的至少一个工件。
3.根据权利要求1所述的系统,其中所述安全密钥存储区包括以下各项中的一者:(a)提供商网络的安全性服务的硬件安全性模块,或(b)附接到所述第一实例主机的通信总线的外围装置。
4.根据权利要求1所述的系统,其中所述第一CVI包括以下各项中的一者或多者:(a)所述特定计算实例的至少部分地基于指派给所述特定计算实例的虚拟IP(因特网协议)地址的DNS(域名系统)名称、(b)指派给所述特定计算实例的公共IP地址、(c)指派给所述特定计算实例的私有IP地址、(d)来自VCS定义的命名空间的由所述提供商网络的所述虚拟计算服务(VCS)指派给所述特定计算实例的唯一名称、(e)由所述提供商网络的客户从客户定义的命名空间选择的唯一名称、(f)由所述提供商网络的客户从VCS定义的命名空间选择的名称、(g)由所述提供商网络的客户选择的DNS名称、或(h)在由第三方定义的命名空间内指派给所述特定计算实例的名称。
5.一种方法,其包括:
在提供商网络处的虚拟计算服务的实例主机处启动一个或多个计算实例;
在所述一个或多个计算实例的第一计算实例处接收第一身份查询;
响应于所述第一身份查询从所述第一计算实例提供在第一实例身份命名空间(IIN)内指派给所述第一计算实例的第一可加密核实身份(CVI)的指示,其中所述第一CVI与加密密钥对相关联,其中所述加密密钥对的私有密钥由被配置为防止所述私有密钥的拷贝的安全密钥存储区管理,并且其中所述虚拟计算服务使得所述第一计算实例能够使用所述私有密钥来提供所述第一CVI的所述指示;
在所述第一计算实例处接收第二身份查询;以及
响应于所述第二身份查询从所述第一计算实例提供在不同IIN内指派给所述第一计算实例的不同CVI的指示。
6.根据权利要求5所述的方法,其中所述第一CVI的所述指示包括根据公共密钥基础设施(PKI)标准格式化的第一证书。
7.根据权利要求5所述的方法,其进一步包括:
由所述第一计算实例调用由所述实例主机的虚拟化管理部件实施的编程接口以获得包括在所述第一CVI的所述指示中的工件的至少一部分。
8.根据权利要求5所述的方法,其中所述第二CVI与不同的加密密钥对相关联。
9.根据权利要求5所述的方法,其中所述安全密钥存储区包括以下各项中的一者:(a)提供商网络的安全性服务的硬件安全性模块,或(b)附接到所述实例主机的通信总线的外围装置。
10.根据权利要求5所述的方法,其中所述第一CVI包括以下各项中的一者或多者:(a)所述第一计算实例的至少部分地基于指派给所述第一计算实例的虚拟IP(因特网协议)地址的DNS(域名系统)名称、(b)指派给所述第一计算实例的公共IP地址、(c)指派给所述第一计算实例的私有IP地址、(d)来自VCS定义的命名空间的由所述提供商网络的虚拟计算服务(VCS)指派给所述第一计算实例的唯一名称、(e)由所述提供商网络的客户从客户定义的命名空间选择的唯一名称、(f)由所述提供商网络的客户从VCS定义的命名空间选择的名称、(g)由所述提供商网络的客户选择的DNS名称、或(h)在由第三方定义的命名空间内指派给所述特定计算实例的名称。
11.根据权利要求5所述的方法,其中所述第一CVI的所述指示包括身份验证者,所述身份验证者包括以下各项中的一者或多者:(a)公共证书权威机构(CA)、(b)在所述提供商网络内实施的验证权威机构、(c)在被指派了所述第一计算实例的所述提供商网络的客户所拥有的客户网络内实施的验证权威机构、或(d)第三方验证权威机构。
12.根据权利要求5所述的方法,其进一步包括:
响应于所述第一身份查询从所述第一计算实例提供所述第一CVI的第一有效期的指示;以及
响应于所述第二身份查询从所述第一计算实例提供所述第二CVI的第二有效期的指示,其中所述第二有效期不同于所述第一有效期。
13.根据权利要求5所述的方法,其进一步包括:
在所述提供商网络的控制平面部件处接收指示所述第一计算实例将被指派所述第一IIN内的身份的实例配置请求;以及
响应于所述实例配置请求而由所述控制平面部件起始在所述第一IIN内给所述第一计算实例指派身份。
14.根据权利要求5所述的方法,其中在所述第一计算实例处从与第一应用相关联的许可证管理器接收所述第一身份查询,并且其中由所述许可证管理器使用所述第一CVI来核实所述第一计算实例被准许以利用所述第一应用。
15.根据权利要求5所述的方法,其进一步包括:
由在所述提供商网络处实施的特定服务的服务管理器建立包括第二计算实例和第三计算实例的实例故障转移群组,其中在所述第二计算实例处发生故障的情况下,正在所述第二计算实例处执行的应用将被故障转移到所述第三计算实例;以及
由所述服务管理器起始(a)将共享CVI指派给所述第二计算实例,以及(b)将所述共享CVI指派给所述第三计算实例,其中将使用所述共享CVI来核实所述应用可以在所述第二计算实例和在所述第三计算实例处执行。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/577,232 US9525672B2 (en) | 2014-12-19 | 2014-12-19 | Multi-faceted compute instance identity |
US14/577,232 | 2014-12-19 | ||
PCT/US2015/066875 WO2016100918A1 (en) | 2014-12-19 | 2015-12-18 | Multi-faceted compute instance identity |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107113300A true CN107113300A (zh) | 2017-08-29 |
CN107113300B CN107113300B (zh) | 2020-08-25 |
Family
ID=55080226
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580069293.1A Active CN107113300B (zh) | 2014-12-19 | 2015-12-18 | 多面计算实例身份 |
Country Status (9)
Country | Link |
---|---|
US (1) | US9525672B2 (zh) |
EP (1) | EP3234846B1 (zh) |
JP (1) | JP6521337B2 (zh) |
KR (1) | KR101957076B1 (zh) |
CN (1) | CN107113300B (zh) |
AU (1) | AU2015364339B2 (zh) |
RU (1) | RU2679188C2 (zh) |
SG (1) | SG11201704703UA (zh) |
WO (1) | WO2016100918A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110709819A (zh) * | 2017-10-27 | 2020-01-17 | 谷歌有限责任公司 | 管理多单租户SaaS服务 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10303879B1 (en) * | 2014-11-06 | 2019-05-28 | Amazon Technologies, Inc. | Multi-tenant trusted platform modules |
US9847992B2 (en) * | 2015-08-20 | 2017-12-19 | Verizon Digital Media Services Inc. | End-to-end certificate pinning |
EP3403432B1 (en) | 2016-01-15 | 2020-11-18 | Microsoft Technology Licensing, LLC | Database based redundancy in a telecommunications network |
US10320572B2 (en) * | 2016-08-04 | 2019-06-11 | Microsoft Technology Licensing, Llc | Scope-based certificate deployment |
US10425417B2 (en) | 2017-03-08 | 2019-09-24 | Bank Of America Corporation | Certificate system for verifying authorized and unauthorized secure sessions |
US10374808B2 (en) * | 2017-03-08 | 2019-08-06 | Bank Of America Corporation | Verification system for creating a secure link |
US10361852B2 (en) * | 2017-03-08 | 2019-07-23 | Bank Of America Corporation | Secure verification system |
US10432595B2 (en) | 2017-03-08 | 2019-10-01 | Bank Of America Corporation | Secure session creation system utililizing multiple keys |
US10511651B2 (en) * | 2017-04-25 | 2019-12-17 | General Electric Company | Infinite micro-services architecture |
KR20200027921A (ko) | 2017-04-28 | 2020-03-13 | 아이언코어 랩스 인코포레이티드 | 멀티-홉 변환 암호화를 통한 그룹들에 대한 직교 액세스 제어 |
US11151253B1 (en) * | 2017-05-18 | 2021-10-19 | Wells Fargo Bank, N.A. | Credentialing cloud-based applications |
US10615971B2 (en) * | 2017-05-22 | 2020-04-07 | Microsoft Technology Licensing, Llc | High integrity logs for distributed software services |
GB2565282B (en) * | 2017-08-02 | 2021-12-22 | Vnc Automotive Ltd | Remote control of a computing device |
US11616686B1 (en) * | 2017-11-21 | 2023-03-28 | Amazon Technologies, Inc. | Cluster management |
US10742412B2 (en) | 2018-01-29 | 2020-08-11 | Micro Focus Llc | Separate cryptographic keys for multiple modes |
US11140020B1 (en) * | 2018-03-01 | 2021-10-05 | Amazon Technologies, Inc. | Availability-enhancing gateways for network traffic in virtualized computing environments |
RU2684483C1 (ru) * | 2018-05-23 | 2019-04-09 | Олег Викторович Пушкин | Устройство для защиты от несанкционированного доступа к данным, хранимым на компьютере |
EP3912035A1 (en) | 2019-01-15 | 2021-11-24 | Microsoft Technology Licensing, LLC | Dynamic auto-configuration of multi-tenant paas components |
EP3694173B1 (en) | 2019-02-08 | 2022-09-21 | Palantir Technologies Inc. | Isolating applications associated with multiple tenants within a computing platform |
US11494214B2 (en) * | 2019-03-28 | 2022-11-08 | Amazon Technologies, Inc. | Verified isolated run-time environments for enhanced security computations within compute instances |
US20210073736A1 (en) * | 2019-09-10 | 2021-03-11 | Alawi Holdings LLC | Computer implemented system and associated methods for management of workplace incident reporting |
US11979302B2 (en) * | 2019-12-03 | 2024-05-07 | Telefonaktiebolaget Lm Ericsson (Publ) | Discovery of a service-providing network function |
US11442960B2 (en) * | 2019-12-17 | 2022-09-13 | Verizon Patent And Licensing Inc. | Edge key value store for a distributed platform |
DE102019135121A1 (de) * | 2019-12-19 | 2021-06-24 | Infineon Technologies Ag | Verfahren und vorrichtung zum bereitstellen einer zusätzlichen autorisierung für die verarbeitung eines kryptographisch gesicherten datensatzes für eine teilmenge einer gruppe vertrauenswürdiger module |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120246475A1 (en) * | 2011-03-22 | 2012-09-27 | Microsoft Corporation | Central and implicit certificate management |
CN102792277A (zh) * | 2010-03-12 | 2012-11-21 | 国际商业机器公司 | 在云计算环境中启动虚拟实例 |
CN103353867A (zh) * | 2005-12-29 | 2013-10-16 | 亚马逊科技公司 | 具有网络服务客户接口的分布式存储系统 |
CN103620585A (zh) * | 2011-06-20 | 2014-03-05 | 微软公司 | 虚拟身份管理器 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE10026326B4 (de) * | 2000-05-26 | 2016-02-04 | Ipcom Gmbh & Co. Kg | Verfahren zur kryptografisch prüfbaren Identifikation einer physikalischen Einheit in einem offenen drahtlosen Telekommunikationsnetzwerk |
US7703128B2 (en) | 2003-02-13 | 2010-04-20 | Microsoft Corporation | Digital identity management |
US8621078B1 (en) * | 2005-08-15 | 2013-12-31 | F5 Networks, Inc. | Certificate selection for virtual host servers |
US7802092B1 (en) * | 2005-09-30 | 2010-09-21 | Blue Coat Systems, Inc. | Method and system for automatic secure delivery of appliance updates |
US8522018B2 (en) | 2006-08-18 | 2013-08-27 | Fujitsu Limited | Method and system for implementing a mobile trusted platform module |
US8341625B2 (en) | 2008-05-29 | 2012-12-25 | Red Hat, Inc. | Systems and methods for identification and management of cloud-based virtual machines |
US20100174811A1 (en) | 2009-01-05 | 2010-07-08 | Microsoft Corporation | Network isolation and identity management of cloned virtual machines |
US8327434B2 (en) | 2009-08-14 | 2012-12-04 | Novell, Inc. | System and method for implementing a proxy authentication server to provide authentication for resources not located behind the proxy authentication server |
US10482254B2 (en) * | 2010-07-14 | 2019-11-19 | Intel Corporation | Domain-authenticated control of platform resources |
MY167494A (en) | 2010-10-05 | 2018-08-30 | Mimos Berhad | A MIGRATION SYSTEM OF VIRTUAL TRUSTED PLATFORM MODULE (vTPM) INSTANCE AND METHODS OF MIGRATING THEREOF |
US8924715B2 (en) * | 2010-10-28 | 2014-12-30 | Stephan V. Schell | Methods and apparatus for storage and execution of access control clients |
US8625788B2 (en) * | 2011-01-05 | 2014-01-07 | Intel Corporation | Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform |
US8495219B2 (en) | 2011-01-13 | 2013-07-23 | International Business Machines Corporation | Identity management method and system |
US8375221B1 (en) | 2011-07-29 | 2013-02-12 | Microsoft Corporation | Firmware-based trusted platform module for arm processor architectures and trustzone security extensions |
US9413538B2 (en) * | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9218490B2 (en) | 2011-12-30 | 2015-12-22 | Intel Corporation | Using a trusted platform module for boot policy and secure firmware |
US8738902B2 (en) * | 2012-01-27 | 2014-05-27 | Microsoft Corporation | Implicit SSL certificate management without server name indication (SNI) |
JP5137221B1 (ja) * | 2012-02-21 | 2013-02-06 | テック・パワー株式会社 | 収納ボックス及び机 |
US9210162B2 (en) * | 2012-05-02 | 2015-12-08 | Microsoft Technology Licensing, Llc | Certificate based connection to cloud virtual machine |
US20140006776A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Certification of a virtual trusted platform module |
US20140007087A1 (en) | 2012-06-29 | 2014-01-02 | Mark Scott-Nash | Virtual trusted platform module |
US9027087B2 (en) * | 2013-03-14 | 2015-05-05 | Rackspace Us, Inc. | Method and system for identity-based authentication of virtual machines |
-
2014
- 2014-12-19 US US14/577,232 patent/US9525672B2/en active Active
-
2015
- 2015-12-18 EP EP15823108.4A patent/EP3234846B1/en active Active
- 2015-12-18 RU RU2017120215A patent/RU2679188C2/ru active
- 2015-12-18 CN CN201580069293.1A patent/CN107113300B/zh active Active
- 2015-12-18 SG SG11201704703UA patent/SG11201704703UA/en unknown
- 2015-12-18 WO PCT/US2015/066875 patent/WO2016100918A1/en active Application Filing
- 2015-12-18 JP JP2017531524A patent/JP6521337B2/ja active Active
- 2015-12-18 AU AU2015364339A patent/AU2015364339B2/en active Active
- 2015-12-18 KR KR1020177017526A patent/KR101957076B1/ko active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103353867A (zh) * | 2005-12-29 | 2013-10-16 | 亚马逊科技公司 | 具有网络服务客户接口的分布式存储系统 |
CN102792277A (zh) * | 2010-03-12 | 2012-11-21 | 国际商业机器公司 | 在云计算环境中启动虚拟实例 |
US20120246475A1 (en) * | 2011-03-22 | 2012-09-27 | Microsoft Corporation | Central and implicit certificate management |
CN103620585A (zh) * | 2011-06-20 | 2014-03-05 | 微软公司 | 虚拟身份管理器 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110709819A (zh) * | 2017-10-27 | 2020-01-17 | 谷歌有限责任公司 | 管理多单租户SaaS服务 |
CN110709819B (zh) * | 2017-10-27 | 2023-09-19 | 谷歌有限责任公司 | 管理多单租户SaaS服务 |
Also Published As
Publication number | Publication date |
---|---|
US9525672B2 (en) | 2016-12-20 |
RU2679188C2 (ru) | 2019-02-06 |
RU2017120215A3 (zh) | 2019-01-22 |
AU2015364339B2 (en) | 2018-05-17 |
SG11201704703UA (en) | 2017-07-28 |
WO2016100918A1 (en) | 2016-06-23 |
KR101957076B1 (ko) | 2019-03-11 |
RU2017120215A (ru) | 2019-01-22 |
US20160182473A1 (en) | 2016-06-23 |
EP3234846B1 (en) | 2021-02-03 |
AU2015364339A1 (en) | 2017-06-29 |
CN107113300B (zh) | 2020-08-25 |
JP6521337B2 (ja) | 2019-05-29 |
KR20170089901A (ko) | 2017-08-04 |
EP3234846A1 (en) | 2017-10-25 |
JP2018501565A (ja) | 2018-01-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107113300A (zh) | 多面计算实例身份 | |
JP7236992B2 (ja) | ブロックチェーンにより実現される方法及びシステム | |
CN103563294B (zh) | 用于云计算平台安全性的认证和授权方法 | |
CN106105146B (zh) | 在密码证明资源处保护客户端指定凭证 | |
US10609031B2 (en) | Private consolidated cloud service architecture | |
US9769137B2 (en) | Extensible mechanism for securing objects using claims | |
CN103916454B (zh) | 在整个云架构中扩展组织边界的方法和设备 | |
Kaur et al. | A review of cloud computing security issues | |
WO2021247120A1 (en) | Ephemeral cryptography keys for authenticating computing services | |
US20040260946A1 (en) | User not present | |
CN109587146A (zh) | 基于区块链的对象管理方法及系统 | |
CN110199283A (zh) | 用于在网络功能虚拟化环境中认证平台信任的系统和方法 | |
CN108306972A (zh) | 一种云密码服务方法、平台、系统及计算机可读存储介质 | |
CN115427952A (zh) | 计算服务的无密钥认证方案 | |
US11477187B2 (en) | API key access authorization | |
GB2431746A (en) | Authorising a computing entity using path label sequences | |
JP2005310161A (ja) | 複数の事業体間のやりとりを管理するシステム、方法、コンピュータ・プログラム | |
US11606205B2 (en) | Causal total order broadcast protocols using trusted execution environments | |
US10411892B2 (en) | Providing encrypted personal data to applications based on established policies for release of the personal data | |
US11750397B2 (en) | Attribute-based encryption keys as key material for key-hash message authentication code user authentication and authorization | |
US11930109B2 (en) | Encrypted storage with secure access | |
US11297065B2 (en) | Technology for computing resource liaison | |
US11954672B1 (en) | Systems and methods for cryptocurrency pool management | |
RANGARAJ et al. | Cloud Computing Adoption Framework to Multi-layered Security for the Data Security in the Data Center | |
Ramkumar et al. | Universal Trusted Computing Bases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |