CN118057971A - 在分布式系统中管理唯一秘密 - Google Patents
在分布式系统中管理唯一秘密 Download PDFInfo
- Publication number
- CN118057971A CN118057971A CN202380010222.9A CN202380010222A CN118057971A CN 118057971 A CN118057971 A CN 118057971A CN 202380010222 A CN202380010222 A CN 202380010222A CN 118057971 A CN118057971 A CN 118057971A
- Authority
- CN
- China
- Prior art keywords
- region
- certificate
- area
- unique identity
- security token
- 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.)
- Pending
Links
- 238000004891 communication Methods 0.000 claims abstract description 77
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000015654 memory Effects 0.000 claims description 36
- 230000007246 mechanism Effects 0.000 claims description 24
- 230000009471 action Effects 0.000 claims description 16
- 238000009434 installation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 27
- 238000007726 management method Methods 0.000 description 23
- 230000004044 response Effects 0.000 description 10
- 238000013500 data storage Methods 0.000 description 8
- 230000002093 peripheral effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000008186 active pharmaceutical agent Substances 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 239000002184 metal Substances 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000010076 replication Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 2
- 238000006731 degradation reaction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000036541 health Effects 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 230000007257 malfunction Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000009118 appropriate response Effects 0.000 description 1
- 238000012550 audit Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002028 premature Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3263—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
- H04L9/3268—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本文呈现的方法涉及在分布式环境中对安全秘密的管理。具体地,各种实施方案提供跨多个区域对唯一数字身份的管理,其中每个区域可包括其自己的证书机构。虽然这些证书机构可以独立运行,但它们可以是多主系统的一部分,其中唯一身份和密钥跨环境被冗余地存储。在一个区域中的证书机构发生故障的情况下,另一区域中的另一证书机构可以继续安全和认证管理,而无需颁发新的身份或更改任何区域的操作。安全通信的各方,诸如应用容器,可以各自接收它们自己的唯一身份,所述唯一身份可以跨各个区域共享,以允许从那些区域中的任一者同等地执行相关任务(例如,证书颁发或撤销)。
Description
相关申请的交叉引用
本申请要求2022年9月19日提交的名称为“MANAGING UNIQUE SECRETS INDISTRIBUTED SYSTEMS”的美国专利申请No.17/947,957的优先权,所述申请的全部公开内容在此以全文引用的方式并入以用于所有目的。
背景技术
在各种网络环境中,实体可以通过利用指派给那些实体的唯一身份来安全地通信,以确保仅从用于通信的既定实体接收通信并且仅将通信递送到所述既定实体。为了提供这些唯一身份的安全性,这些安全数字身份可受到密码密钥支持并由证书机构或其他安全令牌机构提供。用于这些通信的实体可能位于不同的区域,每个区域具有它们自己的证书机构。这种方法可能会导致将相同的身份指派给不同区域的不同实体,这可能会导致通信中的冲突或错误,因为这些身份不再保证是唯一的。此外,如果一个区域遇到可用性问题,则这可能会产生执行诸如撤销证书或颁发新证书的相关任务的问题。
附图说明
将参考附图描述根据本公开的各种实施方案,在附图中:
图1绘示了根据各种实施方案的可在其中实施各种实施方案的各方面的示例性网络环境。
图2A和图2B绘示了根据各种实施方案的用于颁发证书和撤销证书以在多区域环境中建立安全通信的示例性任务流。
图3绘示了根据各种实施方案的用于在多区域环境中生成和分发容器的唯一身份的示例性过程。
图4绘示了根据各种实施方案的用于颁发与唯一身份相关联的新证书的示例性过程。
图5绘示了根据各种实施方案的用于在特定区域中的证书机构不可用的情况下撤销证书的示例性过程。
图6绘示了根据各种实施方案的用于管理容器的各方面的示例性界面。
图7绘示了可在其中实施各种实施方案的各方面的示例性包括网络的计算环境。
图8绘示了根据各种实施方案的可用于执行代码转换过程的至少一部分的服务器的示例性部件。
图9绘示了可用于实施各种实施方案的各方面的计算装置的示例性部件。
具体实施方式
本文描述和提出的方法涉及在分布式环境中对安全秘密的管理。具体地,各种实施方案提供跨多个区域对唯一数字身份的管理,其中每个区域可包括其自己的证书机构或其他安全令牌机构。虽然这些证书机构可以独立运行,但它们可以是多主系统的一部分,其中唯一身份和密钥跨环境被冗余地存储。在一个区域中的一个证书机构发生故障的情况下,另一区域中的另一证书机构可以继续与至少安全和认证管理相关的任务,而无需颁发新的身份或更改任何区域的操作。在至少一个实施方案中,一个区域中的证书机构可以从容器或其他安全通信请求方(“请求者”)接收请求,并且可以生成那个容器的唯一身份。此唯一身份可以诸如通过以下操作与此身份在其中是冗余的所有区域共享:向事务提供至少部分地取决于发起所述事务的区域的序列号,以便确保事务身份在区域内和跨区域都是唯一的。例如,当需要颁发或撤销证书时,任何冗余区域中的冗余证书机构都可以使用相同的唯一身份执行那个动作。
在以下描述中,将描述各种实施方案。出于阐释的目的,陈述特定配置和细节以便提供对实施方案的透彻理解。然而,本领域技术人员还将明白,可在没有所述特定细节的情况下实践所述实施方案。此外,可省略或简化众所周知的特征以免使所描述的实施方案混淆不清。
图1绘示了示例性网络环境100,其中在通过至少一个网络106通信连接的至少两个单独的区域(这里是区域A 102和区域B)中存在数字和/或计算资源。在此示例中,可以存在位于每个区域中的各种电子资源,如可包括通过诸如路由器、负载平衡器和交换机的网络部件连接的服务器和数据库,如本文在其他地方更详细讨论的。可存在可以在这些区域中启动的资源,诸如应用或计算实例。在此示例中,这可包括每个区域中的一个或多个应用容器112、114、124(例如,Docker容器),其中单独的容器可以为相应的应用或同一应用的不同实例提供执行环境,所述应用可以代表不同用户或实体执行。尽管本文使用容器作为主要示例,但是应理解,各种其他类型的电子或计算资源(例如,虚拟机、计算服务或其他请求者)也可以使用诸如本文呈现的方法的方法来请求发布、撤销和管理唯一身份。
在许多情况下,这些容器或其他资源(包括物理或虚拟资源,或资源实例)可以尝试与其他资源或接收方通信。在许多情况下,可能需要确保这些通信是安全的,并且从可核实的来源递送到既定接收方。在此示例性系统中,这可包括向这些容器或其他此类资源中的每一者指派唯一身份。唯一身份使通信能够被正确地递送给既定接收方,并且使接收方能够认证曾发送该通信的来源。为了帮助确保资源或实体不会试图通过生成或获得唯一身份的副本来冒充资源,可以使用受保护且可核实的秘密,诸如密码密钥,来生成唯一身份。在此示例中,每个区域102、104可包括密钥管理器110、122或分布式硬件安全服务,其存储和提供用于相应环境中的资源的这些密钥(或诸如安全令牌等其他秘密)。在一些实施方案中,密钥管理器还可以存储用于其他区域中的资源的密钥,使得每个密钥管理器包含所有密钥的副本,或者至少包含可用于与该环境中的一个或多个实体、资源或通信参与者进行通信的那些密钥。
如所提到的,每个区域102、104还可包括安全令牌机构,诸如证书机构108,其可以生成、颁发、撤销和管理用于单独的资源的证书和唯一身份。诸如区域A 102的给定区域中的证书机构108可以生成随机、伪随机或选定的值字符串,诸如长度为128或256位的数字字符串,并且然后用相应的密码密钥(或其他安全秘密)对该数字字符串进行签名或加密。证书机构可以诸如通过以下操作生成和管理这些唯一身份:向诸如容器112或114的相应资源提供唯一身份,并且存储该唯一身份以供在后续任务中使用。
在现有系统中,在每个相关区域中都有一个证书机构,诸如区域A 102中的证书机构108和区域B 104中的证书机构120。不同区域中的证书机构可以进行通信,但每个证书机构负责生成和管理其相应区域的唯一身份。如本文所使用的,区域可以指可能具有单独的管理、访问权或权限的任何逻辑上或地理上分隔的区域,如可能涉及不同的国家、城市或数据中心等。然而,这种方法的问题在于,如果给定区域遇到问题、故障或可用性问题,或者如果一个区域中的证书机构遇到这样的问题,则执行与那些数字身份有关的任务可能存在问题。在一些实施方案中,另一区域120中的证书机构可以用于恢复,但是该证书机构将必须生成新的数字身份,这可能导致诸如掉线的通信的问题,或者一旦原始证书机构108再次可用并试图使用旧的唯一身份,就可能导致混乱。还可能出现各种其他问题,诸如本文讨论和提出的问题。
根据至少一个实施方案的方法可以尝试提供可以充当单个实体或身份的证书机构。例如,即使可能存在区域A 102中的证书机构的第一实例108和区域B 104中的证书机构的第二实例120,这些实例将一起工作并充当单个证书机构,使得如果一个实例108遇到问题或故障,则另一实例120可以继续对所有唯一身份的管理职责,诸如颁发新证书或撤销现有证书,而不管最初创建该唯一身份的证书机构或区域如何。
另一证书机构采取行动的能力不限于故障情形,因为可能存在另一区域中的证书机构可以执行关于唯一身份的管理任务的各种情形。由于所有相关的证书机构实例可以并行地充当单个机构,因此可能存在可用于决定哪个机构采取行动的各种标准,如可以涉及位置、网络负载或条件、资源容量等。然后,实体还可以与诸如该实体所在的区域的任何区域中的证书机构进行通信,而不管相应的唯一身份源自何处,或者与该唯一身份相关联的资源位于何处。并且在一个区域中生成的数字身份将与在其他区域中生成的数字身份具有相同的类型,而没有重叠或冲突的风险,这与不同区域中的单独的证书机构也可能具有不同特性的先前系统不同。
在至少一个实施方案中,用于生成唯一身份的密码材料将在多个位置同时可用。这可以使用分布式密钥管理器110在各种实现方式中提供,所述分布式密钥管理器诸如可以安全地管理多个区域的项目(诸如安全令牌、数字证书或加密密钥)同时还使那些密钥在那些多个区域中可用(除非受到限制)的分布式硬件安全模块或服务。此类服务还可以允许定义可以跨这些各种区域102、104中的应用和服务一致地应用的安全策略。如所绘示,每个区域中可存在密钥管理器110、122的实例,但是这些实例可以一起充当跨区域操作的单个实体。应该提到的是,虽然在图1中出于简单起见绘示了两个区域,但是在本文呈现的各种实施方案的范围内,在相似或不同的位置可以存在任何数目的具有相似或不同配置、具有相似或不同部件的区域。
证书机构或其他安全令牌机构还可以以分布方式跨多个区域提供支持密码原语(诸如数字身份)的管理服务。这种方法可以允许在区域B 104中创建的数字身份在诸如区域A 102的另一区域中被无缝地辨识和管理,就像所述数字身份是由区域A 102中的证书机构实例108生成的一样。然后,分布式证书机构可能需要将关于新的、经修改的或无效的数字身份的信息传送或复制到管理此信息的所有其他区域,并确认此类动作。此类信息必须以最小的时延跨区域同步,并使用防止数字身份或其他被管理的安全信息或项目重复或冲突的机制。
在至少一个实施方案中,证书机构可以与密钥管理器110一起工作,以管理分布式密钥或其他安全项目或元素,并且还可以与分布式数据库或数据库服务一起工作,这可以跨不同区域102、104提供安全数据库实例116、126。在一个示例中,分布式数据库服务可以是诸如来自Amazon.com,Inc.的DynamoDB的服务,所述服务可以提供可用于执行各种尺度下的高性能应用的完全管理的、无服务器的密钥值数据库。因此,证书机构服务可以使用密钥管理器110(诸如来自Amazon Web Services,Inc.(AWS)的KMS)以允许密码密钥跨多个区域可用和管理,以及使用分布式数据库(诸如DynamoDB)以允许数据跨这些区域进行复制。证书机构108可以利用诸如密钥管理器110和安全分布式数据库116以允许跨区域复制和管理密钥和数据,然后,当例如管理用于受管理区域之内、之间或之外的通信的数字身份时,证书机构可以使用所述密钥和所述数据。如所绘示,可能存在跨不同区域的证书机构108、120的多个实例,但是可将这些实例中的一者指定为主要实例,其最终负责这些其他实例的管理,其中其他实例用作次要实例,而在一些实施方案中,每个实例都可以充当主要实例,或者可以存在可以在给定区域之内或之外的可以被分派为主要机构的附加实例(图1中未绘示),以及其他此类选项。
在至少一些实施方案中,证书机构可以利用安全事务将关于数字身份的信息传送到不同区域。事务可以涉及在给定区域中创建数字身份,或在区域中撤销数字身份,以及其他此类动作。此类事务可能在不同区域中独立发生,但需要跨所有区域进行调解,使得有效的数字身份可以在任何受管理区域中用于通信或其他此类动作,并且所有区域都知道已被撤销的数字身份在任何这些区域中都不再可信。在至少一个实施方案中,可向每个事务指派唯一的“序列号”,或者对于该事务来说是唯一的其他此类事务身份。此序列号可以是实体(诸如容器)的唯一身份以及特定于区域的信息的组合。以此方式,涉及相同唯一身份的事务不会冲突,因为它们的序列号会基于在不同区域中生成而不同,并且因此具有在那些序列号中表示的特定于不同区域的信息。还可以管理特定于区域的信息,使得该信息诸如通过以下操作在区域内也是唯一的:使用单调递增的计数器,或保证从区域内发布的每个序列号不同于从该区域内发布的任何其他序列号的其他此类方法。此类方法可以保证一个区域内以及跨区域的唯一性,其中每个序列号识别唯一的事务。
多主实施方案中的每个证书机构可以执行各种管理任务,然后将那些任务的结果合并到单个分布式储存库中。除了基本密钥和身份管理之外,这还可包括诸如审计和会计的任务。此类单个分布式储存库可以帮助系统作为单个系统运作,并且可以使外部实体能够与不同区域中的独立实例进行交互,就好像它们正在与单个分布式实例进行操作一样。
在至少一个实施方案中,这些唯一的数字身份可用于唯一地识别各种服务,诸如AWS服务。如图1中绘示,还可以为单独的应用容器112、124生成唯一身份以辅助管理那些容器的安全通信。这可包括使用这些唯一的数字身份进行安全通信,如可以利用密码协议,诸如传输层安全(TLS)协议或安全套接层(SSL)协议。可以为容器将数字证书提供给事务,以便认证例如通信来源,其中数字证书可以包含诸如唯一身份、担保证书真实性的可信证书机构的身份和对应的公共密码密钥以及其他此类选项的信息。接收方容器可以使用同一区域中的证书机构确认证书的有效性,即使该证书是在不同区域中生成的也可以。然后可以至少部分地基于相应的唯一身份在这些容器之间发送安全通信。在各种实施方案中,此类秘密管理可以用于公共通信和私人通信两者。例如,实体可以为公共SSL网站提供密钥,其中提供了适当的域名服务(DNS)名称,并且该实体需要能够证明该实体拥有那个DNS名称。
图2A绘示了可以根据各种实施方案执行的示例性任务流200。在此示例中,可以在第一区域A中创建或实例化请求者202(诸如,容器或应用)。该请求者202可以与同一区域A(或者可能是不同区域,基于诸如可用性或负载的因素)中的证书机构204的实例进行通信。所联系的证书机构204可以使用与请求相关联的信息来认证请求者202。证书机构204可以为请求者202生成唯一身份,并且可以向请求者202提供与所述唯一身份相对应的证书。在至少一个实施方案中,这可涉及证书机构204认可接收到的识别数据并提供与该请求者202的唯一身份相对应的证书。证书机构204还可以生成事务并将所述事务发送到另一区域(B)中的证书机构208,以指示新的有效唯一身份的创建和证书的颁发。在此示例中,请求者202然后可以尝试向该另一区域(B)中的接收方210发起(或发送)通信。只要接收方208信任所述证书,接收通信请求的接收方210(或者请求者在其上执行并且安装了证书的终端客户端)就可以进行安全通信。接收方210然后可以处理接收到的通信或以其他方式对接收到的通信采取行动。每个请求者(或将为其提供唯一身份的其他部件、服务或进程)都可能经历类似的过程,从而允许各方(诸如经认证的部件、服务或进程)之间进行安全通信,无论是在同一区域内、在不同区域中还是在给定区域之外。本文呈现的多主证书机构可以帮助这些请求者和接收方知道正在交换的身份是安全且真实的。容器可以信任证书机构在此过程中充当代理,以创建和管理这些数字身份。
在此示例中,可以确定区域A中的证书机构204变得不可用。由此第一证书机构204颁发的证书还可能过期。然后,请求者202可以请求由区域B中的第二证书机构206颁发的与相同的唯一数字身份相对应的新证书。第二证书机构206可以使用与请求相关联的信息来认证请求者,并且可以使用所述相同的唯一数字身份来生成和颁发新证书,然后所述新证书可以用于请求者与接收方之间的安全通信(或其他安全操作)。
图2B绘示了类似的流程,但是其中请求者需要撤销证书。在此示例中,区域A中的请求者202再次向区域A中的证书机构204请求证书,如关于图2A所描述的。在此示例中,当请求者202想要撤销证书时,确定此第一证书机构不再可用。在这种情况下,由于所有冗余区域中的证书机构都具有唯一身份的副本,所以请求者202可以向区域B中的第二证书机构206请求撤销,然后所述第二证书机构可以撤销所述证书,即使所述证书是由另一区域中的证书机构颁发的也可以。
如所提及,可将密钥和唯一身份以及任何相关信息存储在每个受管理的区域中。在一些实施方案中,用户可能够指定给定密钥、身份、证书或令牌将被存储到哪些区域或变得可用,或者哪些区域不应存储该数据或使该数据可用。在至少一个实施方案中,此数据可以在区域之间复制,使得每个区域具有已经发生的关于给定唯一身份的任何相关事件的完整记录。如所提及,由于这可以使用多主实现方式来执行,所以这可包括由任何受管理区域中的任何证书机构执行的任何创建、修改或失效。由于各个区域中的证书机构独立但一致地运行,所以如果一个区域出问题或遇到故障等,不会存在停机或不可用。这些数字身份可以独立运行,但都可以以相同的方式创建和认可,使得即使所述数字身份可能是由不同区域中的不同证书机构生成,它们也看似来自同一来源或实例。这些受管理区域中的任一者都可以支持这些数字身份并对其执行多种操作,而与创建它们的区域无关。这种方法可以在区域之间的此过程中提供完全的灵活性和冗余,因为在不同区域中创建的身份之间没有差异,并且所有区域都可以访问那些身份,使得一个证书机构可以在另一区域遇到故障的情况下继续操作和管理在该另一区域中创建的身份,而不会使服务丢失或延迟。除了灾难恢复和其他此类任务之外,这种方法还可以提供高可用性和冗余。
在至少一些实施方案中,与唯一身份相关的引用可能需要在区域之间转换。例如,由于每个区域都将能够具有与唯一身份相对应的端点,所以可能需要一种机制来确保与特定区域中的端点建立连接。在一个实施方案中,每个引用可以由适当的区域限定范围,或者可以包含区域识别或区域关联的信息。由于在区域A中创建的对象还将把其存在复制到区域B,所以对对象的引用可以具有特定于区域的部件,使得引用可以具有可以切换的区域值,以指示通信或动作的适当区域。这种方法使每个区域能够具有相同的信息和对象,但允许在适当的情况下将通信引导到特定区域。然后可以在不同且特定的区域中引用同一对象的实例。
在至少一个实施方案中,可以向私有证书机构客户提供获得多区域证书颁发和撤销能力的能力。这种操控多个区域中的证书机构的能力允许甚至在发生安全事件的情况下也允许执行各种任务,包括诸如撤销证书、生成证书撤销列表(CRL)、提供在线证书状态协议(OCSP)响应或颁发新证书的任务。
在一些系统中,日志数据也可以在区域之间复制。在其他系统中,事件日志可能是区域性的,使得如果给定的唯一身份在多个区域中可用,则每个区域可以存储用于在该区域内使用该唯一身份(或关联密钥)的日志数据,但是这些单独的日志随后可在全局可用,使得可能需要聚合来自多个区域的数据以用于审计或其他此类动作。客户可以从任何存在证书机构实例的区域生成此类审计报告。
图3绘示了可以根据各种实施方案利用的用于创建和共享唯一身份的示例性过程300。应理解,对于本文呈现的任何过程,在各种实施方案的范围内,可能存在以相似或替代顺序或至少部分地并行执行的附加的、更少的或替代的步骤,除非另有特别说明。此外,虽然将关于容器和证书来讨论此示例性过程,但是应理解,在各种实施方案的范围内,其他秘密也可以与其他类型的部件、应用、服务、系统、部件、过程或实体一起使用。在此示例中,可以接收302实例化容器的请求,其中该请求可以指定应复制该容器的安全信息的区域。此请求可以通过控制台、应用编程接口(API)或其他此类机制来接收。在至少一个实施方案中,可将接收到请求的区域指定为主要区域。所述容器可以联系所述容器被实例化的区域中的证书机构,以便请求304与唯一身份相对应的证书。证书机构可以生成306唯一身份,诸如长度为128或256位的随机(或伪随机或非随机)值字符串,使用相应的密码密钥(或其他安全秘密)对所述唯一身份进行签名或加密。证书机构可以向容器提供308此唯一的数字身份/证书以用于执行任务,诸如发起对应于请求者的终端客户端与接收方之间的安全通信。证书机构还可以发起310由唯一序列号识别的事务,以发送到其他所识别的复制区域中的其他证书机构,其中所述事务指示唯一数字身份的创建以及所述唯一数字身份与发起区域中的容器的关联。通过这种方式,其他复制区域中的证书机构可以独立运行,但以相对于唯一身份的协调方式运行,从而能够在任何这些复制区域之外管理容器的任务。在至少一些实施方案中,用户能够在任何时间更新复制区域的列表,使得可以在适当时从各个区域复制或删除证书机构密钥、唯一身份或其他此类信息。在至少一个实施方案中,关于这些区域的信息可以被存储到分布式数据库,使得所述信息在每个相关区域中可用。然后,用户可以从任何这些复制区域发出请求或执行任务,诸如撤销证书。
图4绘示了可以根据各种实施方案利用的用于管理区域之间的安全通信的示例性过程400。在此示例中,第一区域中的第一容器(或其他请求者)尝试使用为第一区域中的第一容器生成的唯一身份来发起与同一或第二区域中的第二容器(或其他接收方)的安全通信。确定402为请求者颁发第一证书的第一证书机构不可用。还可以确定此第一证书已经过期。然后,第一容器可以向作为此请求者的冗余CA的第二区域中的第二证书机构请求406与相同数字身份相对应的新证书。新证书可以由第二区域中的第二证书机构颁发并从所述第二证书机构接收408。可以使用新颁发的证书来启用410第一容器与第二容器之间的安全通信。接收方可以在适当时处理安全通信。另外,第二区域中的证书机构可以将唯一身份和新证书颁发的信息写入412到存储在第二区域中但在第一区域以及唯一身份将被复制到的任何其他区域中可用的事件日志。
图5绘示了可以根据各种实施方案利用的用于在故障的情况下管理撤销证书的示例性过程500。应理解,“故障”只是将利用此过程的一个原因,如本文在其他地方更详细地讨论。在此示例中,可以确定502第一区域中曾颁发与唯一数字身份相对应的证书的第一证书机构不可用。还可以确定506需要撤销证书。例如,终端客户端的请求者可以请求506位于第二区域中并且具有对应的唯一数字身份的副本的第二证书机构撤销所述证书。由于第二证书机构具有数字身份并且可以充当冗余证书机构,所以可以使第二证书机构撤销508所述证书。然后,可将指示撤销的数据存储510到至少与第二证书机构相关联的事件日志,并且还可以发送到与数字身份相关的任何其他冗余证书机构。
图6绘示了根据各种实施方案的可用于创建容器的示例性用户界面600。在此示例中,用户可以指示要在当前主要区域(此处是操控控制台或界面的区域)中创建的新容器。用户可以指定容器的名称602或身份,并且可以潜在地指定多个方面(未示出),诸如要在容器中操控的应用以及相关的库、文件等。在此示例中,选项604允许用户指示此容器的安全信息将被复制到的区域,其中用户可能够选择不复制、选择一个或多个复制区域,或选择所有可用的复制区域。所述界面还可以提供至少一个选项606,使得用户能够指定容器的一个或多个安全方面,诸如要应用的安全策略。所述界面还可包括一个或多个选项608,用于使得用户能够指定要应用的一个或多个撤销策略。还可以通过此类界面来指定各种其他参数值或设置,诸如本文所讨论或提出的参数值或设置中的至少一些。
图7绘示了其中可实施各种实施方案的各方面的示例性环境700。此类环境可以在一些实施方案中用于为一个或多个用户或资源提供者的客户提供资源容量,作为共享或多租户资源环境的一部分。在此示例中,用户能够利用客户端装置702在至少一个网络704上向多租户资源提供者环境706提交请求。这可包括能够使用证书进行安全通信的终端客户端,其中证书是使用在终端客户端上执行的请求者获得的。所述客户端装置可包括可操作以在适当网络上发送和接收请求、消息或其他此类信息并且将信息传达回装置用户的任何适当的电子装置。此类客户端装置的示例包括个人计算机、平板计算机、智能手机、笔记本计算机等。至少一个网络704可包括任何适当的网络,包括内联网、互联网、蜂窝网络、局域网(LAN)或任何其他此类网络或组合,并且可经由有线和/或无线连接来实现网络上的通信。资源提供者环境706可包括用于接收请求并响应于那些请求而返回信息或执行动作的任何适当的部件。作为示例,提供者环境可能包括用于接收和处理请求、然后响应于所述请求而返回数据、网页、视频、音频或其他此类内容或信息的Web服务器和/或应用服务器。可以对环境进行保护,使得只有授权用户才具有访问那些资源的许可。
在各种实施方案中,提供者环境706可包括可由多个用户出于多种不同目的而利用的各种类型的资源。如本文使用,在网络环境中利用的计算和其他电子资源可以被称为“网络资源”。这些可包括例如服务器、数据库、负载平衡器、路由器等,其可以执行任务以便接收、传输和/或处理数据和/或可执行指令。在至少一些实施方案中,给定资源或资源集的全部或一部分可能在至少确定的时间段内被分配给特定用户或被分配用于特定任务。对来自提供者环境的这些多租户资源的共享常被称为资源共享、Web服务或“云计算”以及其他此类术语,并且取决于具体环境和/或实现方式。在此示例中,提供者环境包括一种或多种类型的多个资源714。这些类型可包括例如可操作以处理由用户提供的指令的应用服务器,或可操作以响应于用户请求而处理存储在一个或多个数据存储区716中的数据的数据库服务器。如出于此类目的已知的,用户还可以在给定数据存储区中保留数据存储的至少一部分。用于使用户能够保留各种资源和资源实例的方法是本领域众所周知的,所以本文将不详细讨论对整个过程的详细描述以及对所有可能的部件的解释。
在至少一些实施方案中,想要利用资源714的一部分的用户可以提交请求,所述请求被接收到提供者环境706的接口层708。所述接口层可包括应用编程接口(API)或使得用户能够向提供者环境提交请求的其他公开接口。在此示例中的接口层708还可包括其他其他部件,诸如至少一个Web服务器、路由部件、负载平衡器等。当接口层708接收到供应资源的请求时,可将所述请求的信息引导至资源管理器710或被配置为管理用户账户和信息、资源供应和使用以及其他此类方面的其他此类系统、服务或部件。接收请求的资源管理器710可以执行任务,以便认证提交所述请求的用户的身份,以及确定那个用户是否具有资源提供者的现有账户,其中账户数据可以存储在提供者环境中的至少一个数据存储区712中。用户可以提供各种类型的证书中的任一者,以便向提供者认证用户的身份。这些证书可包括例如用户名和密码对、生物识别数据、数字签名或其他此类信息。提供者可以根据为用户存储的信息来验证此信息。如果用户拥有具有适当权限、状态等的账户,则资源管理器可以确定是否有足够的可用资源来满足用户的请求,并且如果有,则可以供应资源或以其他方式授予对那些资源的对应部分的访问权,以供用户使用由所述请求指定的量。此量可包括例如处理单个请求或执行单个任务的容量、指定的时间段,或重复/可续期的周期,以及其他此类值。如果用户没有提供者的有效账户,用户账户不能访问在请求中指定的资源类型,或者另一此类原因阻止用户获得对此类资源的访问,则可以向用户发送通信以使用户能够创建或修改账户,或者更改在请求中指定的资源,以及其他此类选项。
一旦用户被认证、账户被核实并且资源被分配,用户就可以将所分配的资源用于指定的容量、数据传输量、时间段或其他此类值。在至少一些实施方案中,用户可能与后续请求一起提供会话令牌或其他此类证书,以便使得那些请求能够在那个用户会话上进行处理。用户可以接收资源身份、特定地址或可以使客户端装置702能够与所分配的资源进行通信而不必与资源管理器710进行通信的其他此类信息,至少直到在用户账户的相关方面改变、用户不再被授予对资源的访问权或另一此类方面改变时为止。在一些实施方案中,用户可以在诸如服务器的物理资源上运行主机操作系统,这可以向那个用户提供对那个服务器上的硬件和软件的直接访问,从而在至少确定的时间段内提供对那个资源的近乎完全的访问和控制。诸如此访问的访问有时被称为“裸机”访问,因为在那个资源上供应的用户有权访问物理硬件。
在此示例中的资源管理器710(或另一此类系统或服务)还可以充当硬件部件和软件部件的虚拟层,所述虚拟层除了管理动作之外还处置控制功能,如可包括供应、缩放、复制等。资源管理器可以利用接口层708中的专用API,其中可以提供每个API来接收对要相对于数据环境执行的至少一个特定动作的请求,以便供应、缩放、克隆或休眠实例。在将请求接收到API中的一者之后,接口层的Web服务部分可以解析或以其他方式分析所述请求,以确定对调用采取行动或处理所述调用所需的步骤或动作。例如,可能会接收包括创建数据储存库的请求的Web服务调用。
至少一个实施方案中的接口层708包括可扩展的一组面向用户的服务器,所述可扩展的一组面向用户的服务器可以提供各种API并且基于API规范返回适当的响应。接口层还可包括至少一个API服务层,在一个实施方案中,所述API服务层由处理面向外部的用户API的无状态、复制的服务器组成。接口层可以负责Web服务前端特征,诸如基于证书对用户进行认证、授权用户、限制对API服务器的用户请求、验证用户输入,以及将请求和响应编组或解组。API层还可以负责响应于API调用而从管理数据存储区读取数据库配置数据以及将数据库配置数据写入到管理数据存储区。在许多实施方案中,Web服务层和/或API服务层将是唯一外部可见的部件,或者是控制服务的用户可见且可访问的唯一部件。如本领域已知的,Web服务层的服务器可以是无状态的和水平扩展的。例如,API服务器以及持久数据存储区可以分布在一个地区的多个数据中心上,使得服务器可承受单个数据中心的故障。
图8绘示了可以根据各种实施方案利用的物理资源800的示例性资源堆栈802。此类资源堆栈802可以用于为具有在资源上供应的操作系统的用户(或资源提供者的客户)提供分配的环境。根据所说明的实施方案,资源堆栈802包括若干硬件资源804,诸如一个或多个中央处理单元(CPU)812;固态驱动器(SSD)或其他存储装置810;网络接口卡(NIC)806、一个或多个外围装置(诸如,图形处理单元(GPU)等)808、在闪存816中实施的BIOS,以及基板管理控制器(BMC)814等。在一些实施方案中,硬件资源804驻留在单个计算装置(例如,机箱)上。在其他实施方案中,硬件资源可以驻留在多个装置、机架、机箱等上。在硬件资源804之上运行的虚拟资源堆栈可包括虚拟化层,诸如用于基于Xen的实现方式的管理程序818、主机域820,以及可能还有能够执行至少一个应用832的一个或多个来宾域822。管理程序818在用于虚拟化环境的情况下可以管理一个或多个来宾操作系统的执行,并允许不同操作系统的多个实例共享底层硬件资源804。常规上,管理程序安装在服务器硬件上,所述管理程序具有运行来宾操作系统的功能,其中来宾操作系统本身充当服务器。
根据一个实施方案,管理程序818可以操控若干域(例如,虚拟机),诸如主机域820和一个或多个来宾域822。在一个实施方案中,主机域820(例如,Dom-0)是所创建的第一个域,并且有助于虚拟化硬件资源并管理在管理程序818上运行的所有其他域。例如,主机域820可以管理一个或多个来宾域822(例如,Dom-U)的创建、销毁、迁移、保存或恢复。根据各种实施方案,管理程序818可以控制对诸如CPU、输入/输出(I/O)存储器和管理程序存储器的硬件资源的访问。
来宾域822可包括一个或多个虚拟化或半虚拟化驱动程序830,并且主机域可包括一个或多个后端装置驱动程序826。当来宾域822中的操作系统(OS)内核828想要调用I/O操作时,虚拟化驱动程序830可以通过与主机域820中的后端装置驱动程序826通信来执行所述操作。当来宾驱动程序830想要发起I/O操作(例如,发送出网络分组)时,来宾内核部件可以识别哪个物理存储器缓冲器包含所述分组(或其他数据),并且来宾驱动程序830可以将存储器缓冲区拷贝到内核中的临时存储位置,以用于执行I/O或者获得指向包含所述分组的存储器页的一组指针。在至少一个实施方案中,这些位置或指针被提供给主机内核824的后端驱动程序826,所述后端驱动程序可以获得对数据的访问并将所述数据直接传送到硬件装置,诸如用于在网络上发送分组的NIC 806。
应注意,在图8中绘示的资源堆栈802只是能够提供虚拟化计算环境的一组资源的一个可能的示例,并且本文描述的各种实施方案不一定限于此特定资源堆栈。在一些实施方案中,来宾域822可以具有对NIC 806硬件的基本上本机或“裸机”访问,例如所述访问由基于IO存储器管理单元(IO-MMU)装置映射解决方案(与英特尔VT-D一样)的装置指派技术提供。在此类实现方式中,可能不存在虚拟化层(例如,管理程序)。然后,主机域或OS可以由用户提供,而不利用来宾域。其他技术,诸如单根IO虚拟化(SR-IOV),可以针对装置的仅特定功能性向来宾域提供类似的“裸机”功能性。一般而言,在各种其他实施方案中,资源堆栈可包括不同的虚拟化策略、硬件装置、操作系统、内核、域、驱动程序、管理程序和其他资源。
在计算服务器中,板管理控制器(BMC)814可以维护系统中已经发生的事件的列表,在本文称为系统事件日志(SEL)。在至少一个实施方案中,BMC 814可以从主机处理器上的BIOS 816接收系统事件日志。BIOS 816可以使用适当的协议(诸如SMBus系统接口(SSIF)或LPC上的KCS接口)在适当的接口(诸如I2C接口)上向BMC提供系统事件的数据。如所提及,来自BIOS的系统事件日志事件的示例包括指示RAM棒损坏的不可纠正的存储器错误。在至少一些实施方案中,由BMC在各种资源上记录的系统事件日志可以用于诸如监视服务器健康的目的,包括当来自BIOS的SEL指示故障时触发部件的手动更换或实例降级。
如所提及,在虚拟化环境中,管理程序818可以阻止来宾操作系统或来宾域822将此类系统事件日志数据发送到BMC 814。然而,在没有这种管理程序的裸机访问的情况下,用户实例可能够发送仿冒来自BIOS 816的事件的系统事件的数据。由于用户OS生成的虚假系统事件数据,此类活动可能会导致受损的裸机实例过早降级。
然而,在至少一个实施方案中,物理资源800的部分将不能由用户OS访问。这可包括例如BIOS存储器816的至少一部分。BIOS存储器816在至少一个实施方案中是易失性存储器,以至于存储到该存储器的任何数据将在重启或掉电事件的情况下丢失。BIOS可以保持主机存储器的至少一部分未映射,使得主机OS不能发现它。如所提及,诸如秘密令牌的数据可以在启动时、在用户OS正在资源上执行之前被存储到BIOS存储器816。一旦用户OS正在资源上执行,将阻止该OS访问BIOS存储器816中的秘密令牌。在至少一个实施方案中,当添加系统事件日志事件时,可以将此秘密令牌(或其他存储的秘密)提供给BMC 814,由此BMC814可以确认所述事件是由BIOS 816而不是由用户OS发送的。
诸如服务器或个人计算机的计算资源一般将包括被配置用于通用操作的至少一组标准部件,但是也可以在各种实施方案的范围内使用各种专有部件和配置。图9绘示了可以根据各种实施方案利用的示例性计算资源900的部件。应理解,可以存在以各种布置(诸如在本地网络中或跨互联网或“云”)提供的用于提供如本文其他地方讨论的计算资源容量的许多此类计算资源和许多此类部件。计算资源900(例如,台式计算机或网络服务器)将具有一个或多个处理器902,诸如中央处理单元(CPU)、图形处理单元(GPU)等,所述一个或多个处理器使用各种总线、迹线和其他此类机构与各种部件电子地和/或通信地耦合。处理器902可包括用于保存指令、数据等的存储器寄存器906和高速缓冲存储器904。在此示例中,在一些实施方案中可包括北桥和南桥的芯片组914可以与各种系统总线一起工作,以将处理器902连接到呈物理RAM或ROM的形式的诸如系统存储器916的部件,所述部件可包括用于操作系统的代码以及用于计算装置的操作的各种其他指令和数据。所述计算装置还可以包含一个或多个存储装置920,诸如硬盘驱动器、闪存驱动器、光学存储装置等,或与所述一个或多个存储装置920通信,用于保存与存储在处理器和存储器中的数据和指令相似或作为其补充的数据和指令。处理器902还可以经由芯片组914和接口总线(或图形总线等)与各种其他部件通信,其中那些部件可包括诸如蜂窝调制解调器或网卡的通信装置924、诸如图形卡和音频部件的媒体部件926,以及用于连接诸如打印机、键盘等外围装置的外围接口928。还可包括至少一个冷却风扇932或其他此类温度调节或减小部件,其可以由处理器驱动或者由装置上的或远离装置的各种其他传感器或部件触发。可以利用在计算装置领域中已知的各种其他或替代性部件和配置。
在一些实施方案中,至少一个处理器902可以经由一致性结构从诸如动态随机存取存储器(DRAM)模块的物理存储器916获得数据。应理解,各种架构可用于此类计算装置,所述各种架构可包括在各种实施方案的范围内的总线和桥的不同选择、数目和参数。存储器中的数据可以由诸如DDR控制器的存储器控制器通过一致性结构来管理和访问。在至少一些实施方案中,数据可以临时地存储在处理器缓存904中。计算装置900还可以使用经由I/O总线连接的一组I/O控制器来支持多个I/O装置。可存在I/O控制器来支持相应类型的I/O装置,诸如通用串行总线(USB)装置、数据存储装置(诸如,闪存或磁盘存储装置)、网卡、快速外围部件互连(PCIe)卡或接口928、通信装置924、图形或音频卡926以及直接存储器存取(DMA)卡,以及其他此类选项。在一些实施方案中,诸如处理器、控制器和缓存的部件可以被配置在单个卡、板或芯片上(即,系统芯片实现方式),而在其他实施方案中,至少一些部件可以位于不同的位置等。
在处理器902上运行的操作系统(OS)可以帮助管理可用于提供要处理的输入的各种装置。这可包括例如利用相关的装置驱动程序来实现与各种I/O装置的交互,其中那些装置可以涉及数据存储、装置通信、用户界面等。各种I/O装置通常将经由各种装置端口进行连接,并且在一条或多条总线上与处理器和其他装置部件进行通信。可以存在根据特定协议提供通信的特定类型的总线,如可包括外围部件互连)PCI或小型计算机系统接口(SCSI)通信以及其他此类选项。可以使用与相应端口相关联的寄存器来进行通信,所述寄存器包括诸如数据输入寄存器和数据输出寄存器的寄存器。通信还可以使用存储器映射式I/O进行,其中处理器的地址空间的一部分被映射到特定装置,并且数据被直接写入到所述地址空间的所述部分或从所述地址空间的所述部分写入数据。
此类装置可以用作例如服务器场或数据仓库中的服务器。服务器计算机常常需要在CPU和主存储器(即,RAM)环境之外执行任务。例如,服务器可能需要与外部实体(例如,其他服务器)通信或使用外部处理器(例如,通用图形处理单元(GPGPU))处理数据。在此类情况下,CPU可以与一个或多个I/O装置介接。在一些情况下,这些I/O装置可以是被设计成执行特定角色的专用硬件。例如,可将以太网网络接口控制器(NIC)实施为包括可操作以发送和接收分组的的数字逻辑的专用集成电路(ASIC)。
在说明性实施方案中,主机计算装置与促进I/O请求的执行的各种硬件部件、软件部件和相应的配置相关联。一种此类部件是沿着通信信道输入和/或输出数据的I/O适配器。在一个方面,I/O适配器装置可以作为标准桥部件进行通信,以促进各种物理部件和仿真部件与通信信道之间的访问。在另一方面,I/O适配器装置可包括嵌入式微处理器,以允许I/O适配器装置执行与管理功能的实施或一个或多个此类管理功能的管理相关的计算机可执行指令,或者执行与I/O适配器装置的实施相关的其他计算机可执行指令。在一些实施方案中,I/O适配器装置可以使用诸如多个卡或其他装置的多个分立的硬件元件来实施。可以按照与主机装置中除了I/O适配器装置之外的任何其他部件电隔离的方式来配置管理控制器。在一些实施方案中,I/O适配器装置在外部附接到主机装置。在一些实施方案中,I/O适配器装置在内部集成到主机装置中。与I/O适配器装置通信的还可以是外部通信端口部件,用于在主机装置与一个或多个基于网络的服务或其他网络附接或直接附接的计算装置之间建立通信信道。说明性地,外部通信端口部件可以对应于网络交换机,有时称为架顶式(“TOR”)交换机。I/O适配器装置可以利用外部通信端口部件来维持诸如健康检查服务、金融服务等一项或多项服务与主机装置之间的通信信道。
I/O适配器装置还可以与基本输入/输出系统(BIOS)部件通信。BIOS部件可包括常常称为固件的非暂时性可执行代码,所述非暂时性可执行代码可以由一个或多个处理器执行并用于使主机装置的部件初始化和识别系统装置,诸如视频显示卡、键盘和鼠标、硬盘驱动器、光盘驱动器和其他硬件。BIOS部件还可包括或定位将用于引导主机装置的引导加载程序软件。例如,在一个实施方案中,BIOS部件可包括可执行代码,所述可执行代码在被处理器执行时致使主机装置尝试定位预引导执行环境(PXE)引导软件。另外,BIOS部件可包括或利用由I/O适配器装置电控制的硬件锁存器。硬件锁存器可以限制对BIOS部件的一个或多个方面的访问,诸如控制对在BIOS部件中维护的可执行代码的修改或配置。BIOS部件可以连接到若干附加的计算装置资源部件(或与其通信),诸如处理器、存储器等。在一个实施方案中,此类计算装置资源部件可以是经由通信信道与其他部件通信的物理计算装置资源。通信通道可以对应于裸机主机装置的部件在其中进行通信的一种或多种通信总线,诸如共享总线(例如,前端总线、存储器总线)、点对点总线(诸如PCI或PCI Express总线等)。还可以利用其他类型的通信信道、通信介质、通信总线或通信协议(例如,以太网通信协议)。另外,在其他实施方案中,计算装置资源部件中的一者或多者可以是由主机装置仿真的虚拟化硬件部件。在此类实施方案中,I/O适配器装置可以实施管理过程,其中主机装置基于多种标准被配置有物理或仿真硬件部件。计算装置资源部件可以经由通信信道与I/O适配器装置通信。另外,通信信道还可以经由北桥或主桥以及其他此类选项将PCI Express装置连接到CPU。
用于管理硬盘驱动器或其他形式的存储器的一个或多个控制器部件可以经由通信信道与I/O适配器装置通信。控制器部件的示例可以是SATA硬盘驱动器控制器。与BIOS部件类似,控制器部件可包括或利用由I/O适配器装置电控制的硬件锁存器。硬件锁存器可以限制对控制器部件的一个或多个方面的访问。说明性地,硬件锁存器可以被一起控制或独立地控制。例如,I/O适配器装置可以基于与特定用户相关联的信任级别选择性地关闭一个或多个部件的硬件锁存器。在另一示例中,I/O适配器装置可以基于与将由I/O适配器装置执行的可执行代码的作者或分发者相关联的信任级别来选择性地关闭一个或多个部件的硬件锁存器。在另一示例中,I/O适配器装置可以基于与一个或多个部件本身相关联的信任级别来选择性地关闭所述部件的硬件锁存器。主机装置还可包括与和主机装置相关联的说明性部件中的一者或多者通信的附加部件。此类部件可包括装置,诸如与一个或多个外围装置(诸如硬盘或其他存储装置)组合的一个或多个控制器。另外,主机装置的附加部件可包括另一组外围装置,诸如图形处理单元(“GPU”)。外围装置还可以与硬件锁存器相关联,以限制对部件的一个或多个方面的访问。如上文提及,在一个实施方案中,硬件锁存器可以被一起控制或独立地控制。
如所讨论的,根据所描述的实施方案,可在各种环境中实施不同的方法。将了解,尽管在若干示例中出于解释的目的使用了基于网络或Web的环境,但是可在适当时使用不同环境来实施各种实施方案。此类系统可包括至少一个电子客户端装置,所述电子客户端装置可包括可操作以在适当网络上发送和接收请求、消息或信息并且将信息传达回到装置用户的任何适当装置。此类客户端装置的示例包括个人计算机、手机、手持式消息接发装置、膝上型计算机、机顶盒、个人数据助理、电子书阅读器等。所述网络可包括任何适当的网络,包括内联网、互联网、蜂窝式网络、局域网或任何其他此类网络或其组合。用于此类系统的组件可至少部分取决于所选择的网络和/或环境的类型。用于经由此类网络进行通信的协议和部件是众所周知的,并且在本文将不详细论述。网络上的通信可经由有线或无线连接以及它们的组合来实现。在此示例中,网络包括互联网,因为环境包括用于接收请求并且响应于所述请求而提供内容的Web服务器,但如本领域技术人员所显而易见的,对于其他网络,可使用服务于类似目的的替代性装置。
说明性环境包括至少一个应用服务器和数据存储区。应了解,可存在若干应用服务器、层或其他元件、过程或部件,所述应用服务器、层或其他元件、过程或部件可为链式的或以其他方式进行配置、可交互来执行诸如从适当数据存储区获得数据等任务。如本文所使用的,术语“数据存储区”是指能够存储、访问和检索数据的任何装置或装置组合,所述装置或装置组合可包括在任何标准、分布式或簇式环境中的数据服务器、数据库、数据存储装置和数据存储区介质的任何组合和任何数目。应用服务器可包括用于在需要时与数据存储区集成以执行用于客户端装置的一个或多个应用的各方面并且处置应用的大部分数据访问和商业逻辑的任何适当的硬件和软件。应用服务器提供与数据存储区协作的访问控制服务并且能够生成将传递给用户的诸如文本、图形、音频和/或视频的内容,在此示例中,可通过Web服务器以HTML、XML或另一适当的结构化语言的形式使所述内容服务于用户。对所有请求和响应的处置以及客户端装置与应用服务器之间的内容递送可由Web服务器来处置。应理解,网络和应用服务器不是必需的且仅仅是示例性部件,因为可在如本文其他地方论述的任何适当的装置或主机上执行本文论述的结构化代码。
数据存储区可包括若干单独的数据表、数据库或用于存储与特定方面相关的数据的其他数据存储机构和介质。例如,所说明的数据存储区包括用于存储内容(例如,生产数据)和用户信息的机构,所述机构可用于服务生产侧的内容。数据存储区还被示出为包括用于存储日志或会话数据的机构。应理解,可能存在可需要存储在数据存储区中的许多其他方面,诸如页图像信息和访问权限信息,所述方面可在适当时存储在上文列出的机构中的任一者中或存储在数据存储区中的附加机构中。数据存储区可通过与它相关联的逻辑来操作,以从应用服务器接收指令,并且响应于所述指令而获得、更新或以其他方式处理数据。在一个示例中,用户可能提交对特定类型的项目的搜索请求。在这种情况下,数据存储区可能访问用户信息来核实用户的身份,并且可访问目录详细信息以获得有关那个类型的项目的信息。然后可将信息诸如以网页上的结果列表的形式返回给用户,用户能够经由用户装置上的浏览器来查看所述网页。可在浏览器的专用页或窗口中查看所关注的特定项目的信息。
每个服务器通常将包括提供用于那个服务器的一般管理和操作的可执行程序指令的操作系统,并且通常将包括存储指令的计算机可读介质,所述指令当由所述服务器的处理器执行时允许所述服务器执行其期望的功能。服务器的操作系统和一般功能性的合适实现方式是已知的或可商购得的,并且特别是鉴于本文的公开内容,本领域的普通技术人员容易实施这些实现方式。
在一个实施方案中,环境是分布式计算环境,其利用使用一个或多个计算机网络或直接连接经由通信链接进行互连的若干计算机系统和部件。然而,本领域普通技术人员将了解,这种系统可在具有比所绘示的部件更少或更多部件的系统中同样良好地操作。因此,本文对系统的描绘本质上应被视为说明性的,而不限制本公开的范围。
各种实施方案可进一步在广泛多种操作环境中实施,在一些情况下,所述操作环境可包括可用于操作许多应用中的任一者的一个或多个用户计算机或计算装置。用户或客户端装置可包括许多通用个人计算机中的任一者,诸如运行标准操作系统的台式计算机或膝上型计算机,以及运行移动软件并且能够支持许多网络连接协议和消息接发协议的蜂窝装置、无线装置和手持式装置。这种系统还可包括许多工作站,所述工作站运行多种可商购得的操作系统和用于诸如开发和数据库管理等目的的其他已知应用中的任一者。这些装置还可包括其他电子装置,诸如虚拟终端、瘦客户端、游戏系统和能够经由网络进行通信的其他装置。
大多数实施方案利用本领域技术人员熟悉的至少一个网络来支持使用多种可商购得的协议(诸如TCP/IP、FTP、UPnP、NFS和CIFS)中的任一者的通信。网络可以是例如局域网、广域网、虚拟专用网、互联网、内联网、外联网、公共交换电话网、红外网络、无线网络和它们的任何组合。
在利用Web服务器的实施方案中,Web服务器可以运行多种服务器或中间层应用中的任一者,包括HTTP服务器、FTP服务器、CGI服务器、数据服务器、Java服务器和商业应用服务器。服务器还能够响应于来自用户装置的请求而诸如通过执行可以实施为以任何编程语言(诸如C、C#或C++)或任何脚本语言(诸如Perl、Python或TCL)以及其组合编写的一个或多个脚本或程序的一个或多个网络应用,来执行程序或脚本。服务器还可包括数据库服务器,所述数据库服务器包括但不限于可从/> 和商购得的服务器,和诸如MySQL、Postgres、SQLite、MongoDB的开源服务器,以及能够存储、检索和访问结构化或非结构化数据的任何其他服务器。数据库服务器包括基于表的服务器、基于文档的服务器、非结构化服务器、关系服务器、非关系服务器或这些和/或其他数据库服务器的组合。
所述环境可包括多种数据存储装置以及如上文所论述的其他存储器和存储介质。这些可驻留在多种位置,诸如在一个或多个计算机本地(和/或驻留在一个或多个计算机中)的存储介质上,或在远离网络上的计算机中的任一者或全部的存储介质上。在特定一组实施方案中,信息可驻留在本领域技术人员熟悉的存储区域网(SAN)中。类似地,用于执行属于计算机、服务器或其他网络装置的功能的任何必要的文件可在适当时在本地存储和/或远程存储。在系统包括计算机化装置的情况下,每个这种装置可包括可经由总线电耦合的硬件元件,所述元件包括例如至少一个中央处理单元(CPU)、至少一个输入装置(例如,鼠标、键盘、控制器、触敏显示元件或小键盘)和至少一个输出装置(例如,显示装置、打印机或扬声器)。此类系统还可包括一个或多个存储装置,诸如磁盘驱动器、磁带驱动器、光存储装置和固态存储装置,诸如随机存取存储器(RAM)或只读存储器(ROM),以及可移除介质装置、存储器卡、闪存卡等。
此类装置还可包括计算机可读存储介质读取器、通信装置(例如,调制解调器、网卡(无线或有线)、红外通信装置)和工作存储器,如上文描述。计算机可读存储介质读取器可与计算机可读存储介质连接或被配置为接收计算机可读存储介质,所述计算机可读存储介质表示远程、本地、固定和/或可移除的存储装置以及用于临时地和/或更永久地包含、存储、传输和检索计算机可读信息的存储介质。系统和各种装置通常还将包括位于至少一个工作存储器装置内的许多软件应用、模块、服务或其他元件,包括操作系统和应用程序,诸如客户端应用或Web浏览器。应了解,替代实施方案可具有与上文描述的实施方案的众多变化。例如,还可能使用定制硬件,和/或特定元件可能在硬件、软件(包括可移植软件,诸如小程序)或以上两者中实施。此外,可使用到诸如网络输入/输出装置等其他计算装置的连接。
用于包含代码或代码部分的存储介质和其他非暂时性计算机可读介质可包括本领域已知或已使用的任何适当介质,诸如但不限于以用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术所实施的易失性和非易失性、可移除和非可移除的介质,包括RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用光盘(DVD)或其他光学存储装置、磁盒、磁带、磁盘存储装置或其他磁性存储装置,或可用于存储所需信息且可由系统装置访问的任何其他介质。基于本文所提供的公开内容和教示内容,本领域普通技术人员将了解实施各种实施方案的其他方式和/或方法。
另外,可鉴于以下条款对本公开的实施方案进行描述:
1.一种计算机实施的方法,所述计算机实施的方法包括:
由第一区域中的第一证书机构生成与请求者的唯一身份相对应的第一证书;
提供用于所述唯一身份的证书以安装在与所述请求者关联的终端客户端上;
向第二区域中的至少第二证书机构提供与所述终端客户端相关联的所述唯一身份;
确定第一证书到期并且所述第一证书机构不可用;
从所述第二区域中的所述第二证书机构获得与所述终端客户端的所述唯一身份相对应的第二证书;以及
使得能够在所述到期之前使用所述第一证书或使用所述第二证书代表所述终端客户端建立安全通信。
2.根据条款1所述的计算机实施的方法,其中所述第一证书机构和所述第二证书机构作为多主系统的一部分独立运行,并且能够使用所述终端客户端的所述唯一身份在所述第一区域或所述第二区域中执行一个或多个安全任务。
3.根据条款1所述的计算机实施的方法,其中所述唯一身份还能够由第三区域中的至少第三认证机构认证,所述第三区域与所述第一区域和所述第二区域分开并且冗余地存储所述终端客户端的所述唯一身份。
4.根据条款1所述的计算机实施的方法,其中使用分布式硬件安全服务将密码密钥冗余地存储在至少所述第一区域和所述第二区域中,并且其中使用分布式数据储存库将与所述唯一身份相关联的信息冗余地存储在至少所述第一区域和所述第二区域中。
5.根据条款1所述的计算机实施的方法,其中所述唯一身份是使用所述密码密钥签名的字母数字串。
6.一种方法,所述方法包括:
由第一区域中的第一安全令牌机构生成所述第一区域中的资源实例的唯一身份;
向所述第一区域中的所述资源实例提供所述唯一身份,其中所述资源实例能够使用所述唯一身份进行认证;以及
向第二区域中的至少第二安全令牌机构提供所述唯一身份,其中能够使用由所述第一区域中的所述第一安全令牌机构或所述第二区域中的所述第二安全令牌机构颁发的证书代表所述资源实例执行认证动作。
7.根据条款6所述的方法,其中所述安全令牌机构是证书机构,并且其中使用与所述资源实例相关联的密码密钥来生成所述唯一身份。
8.根据条款7所述的方法,其中将所述密码密钥冗余地存储在至少所述第一区域和所述第二区域中。
9.根据条款6所述的方法,其中所述资源实例是所述第一区域中的应用容器。
10.根据条款6所述的方法,所述方法还包括:
将发起所述第一区域中的第一资源实例与所述第二区域中的第二资源实例之间的安全通信的请求接收到所述第二区域中的所述第二安全令牌机构;
使用由所述第二安全令牌机构颁发的第二证书使用冗余地存储在所述第二区域中的安全身份来认证所述第一资源实例;以及
将用于所述安全通信的信息存储到所述第二区域中的能够从所述第一区域得到的日志。
11.根据条款6所述的方法,所述方法还包括:
使用具有唯一序列号的事务将所述唯一身份从所述第一区域发送到所述第二区域中的所述安全令牌机构,所述唯一序列号至少部分地取决于发起所述事务的所述第一区域,其中所述事务序列号将在区域内和跨区域都是唯一的。
12.根据条款6所述的方法,所述方法还包括:
提供界面以允许用户指定将冗余地存储所述唯一身份的一个或多个区域。
13.根据条款6所述的方法,其中所述第一安全令牌机构和所述第二安全令牌机构作为多主系统的一部分独立运行,并且能够使用所述唯一身份在所述第一区域或所述第二区域中执行一个或多个安全任务。
14.根据条款6所述的方法,其中无论所述证书是由所述第一安全令牌机构还是所述第二安全令牌机构颁发,所述第二安全令牌机构都能够撤销所述证书。
15.一种系统,所述系统包括:
处理器;以及
存储器,所述存储器包括在由所述处理器执行时致使所述系统进行以下操作的指令:
由第一区域中的第一安全令牌机构生成所述第一区域中的资源实例的唯一身份;
向所述第一区域中的所述资源实例提供所述唯一身份,其中所述资源实例能够使用所述唯一身份进行认证;以及
向第二区域中的至少第二安全令牌机构提供所述唯一身份,其中由所述第一区域中的所述第一安全令牌机构颁发的并且对应于所述唯一身份的证书能够被所述第一安全令牌机构或所述第二区域中的所述第二安全令牌机构撤销。
16.根据条款15所述的系统,其中所述指令在被执行时还致使所述系统进行以下操作:
将发起所述第一区域中的第一资源实例与所述第二区域中的第二资源实例之间的安全通信的请求接收到所述第二区域中的所述第二安全令牌机构;
使用由所述第二安全令牌机构颁发的证书使用冗余地存储在所述第二区域中的安全身份来认证所述第一资源实例;以及
将用于所述安全通信的信息写入到所述第二区域中的能够从所述第一区域得到的日志。
17.根据条款15所述的系统,其中所述安全令牌机构是证书机构,并且其中使用与所述资源实例相关联的密码密钥来生成所述唯一身份。
18.根据条款17所述的系统,其中将所述密码密钥冗余地存储在至少所述第一区域和所述第二区域中。
19.根据条款16所述的系统,其中所述资源实例是所述第一区域中的应用容器。
20.根据条款16所述的系统,其中所述指令在被执行时还致使所述系统进行以下操作:
使用具有至少部分地取决于发起事务的所述第一区域的唯一序列号的所述事务,将所述唯一身份从所述第一区域发送到所述第二区域中的所述安全令牌机构,其中事务序列号将在区域内和跨区域都是唯一的。
因此,将在说明性而不是限制性意义上看待说明书和附图。然而,将明白,可在不脱离在权利要求书中陈述的本发明的更广的精神和范围的情况下在其中作出各种修改和改变。
Claims (15)
1.一种计算机实施的方法,所述计算机实施的方法包括:
由第一区域中的第一证书机构生成与请求者的唯一身份相对应的第一证书;
提供用于所述唯一身份的证书以安装在与所述请求者关联的终端客户端上;
向第二区域中的至少第二证书机构提供与所述终端客户端相关联的所述唯一身份;
确定第一证书到期并且所述第一证书机构不可用;
从所述第二区域中的所述第二证书机构获得与所述终端客户端的所述唯一身份相对应的第二证书;以及
使得能够在所述到期之前使用所述第一证书或使用所述第二证书代表所述终端客户端建立安全通信。
2.根据权利要求1所述的计算机实施的方法,其中所述第一证书机构和所述第二证书机构作为多主系统的一部分独立运行,并且能够使用所述终端客户端的所述唯一身份在所述第一区域或所述第二区域中执行一个或多个安全任务。
3.根据权利要求1所述的计算机实施的方法,其中所述唯一身份还能够由第三区域中的至少第三认证机构认证,所述第三区域与所述第一区域和所述第二区域分开并且冗余地存储所述终端客户端的所述唯一身份。
4.根据权利要求1所述的计算机实施的方法,其中使用分布式硬件安全服务将密码密钥冗余地存储在至少所述第一区域和所述第二区域中,并且其中使用分布式数据储存库将与所述唯一身份相关联的信息冗余地存储在至少所述第一区域和所述第二区域中。
5.根据权利要求1所述的计算机实施的方法,其中所述唯一身份是使用所述密码密钥签名的字母数字串。
6.一种方法,所述方法包括:
由第一区域中的第一安全令牌机构生成所述第一区域中的资源实例的唯一身份;
向所述第一区域中的所述资源实例提供所述唯一身份,其中所述资源实例能够使用所述唯一身份进行认证;以及
向第二区域中的至少第二安全令牌机构提供所述唯一身份,其中能够使用由所述第一区域中的所述第一安全令牌机构或所述第二区域中的所述第二安全令牌机构颁发的证书代表所述资源实例执行认证动作。
7.根据权利要求6所述的方法,其中所述安全令牌机构是证书机构,并且其中使用与所述资源实例相关联的密码密钥来生成所述唯一身份。
8.根据权利要求7所述的方法,其中将所述密码密钥冗余地存储在至少所述第一区域和所述第二区域中。
9.根据权利要求6所述的方法,其中所述资源实例是所述第一区域中的应用容器。
10.根据权利要求6所述的方法,所述方法还包括:
将发起所述第一区域中的第一资源实例与所述第二区域中的第二资源实例之间的安全通信的请求接收到所述第二区域中的所述第二安全令牌机构;
使用由所述第二安全令牌机构颁发的第二证书使用冗余地存储在所述第二区域中的安全身份来认证所述第一资源实例;以及
将用于所述安全通信的信息存储到所述第二区域中的能够从所述第一区域得到的日志。
11.根据权利要求6所述的方法,所述方法还包括:
使用具有唯一序列号的事务将所述唯一身份从所述第一区域发送到所述第二区域中的所述安全令牌机构,所述唯一序列号至少部分地取决于发起所述事务的所述第一区域,其中所述事务序列号将在区域内和跨区域都是唯一的。
12.根据权利要求6所述的方法,所述方法还包括:
提供界面以允许用户指定将冗余地存储所述唯一身份的一个或多个区域。
13.根据权利要求6所述的方法,其中所述第一安全令牌机构和所述第二安全令牌机构作为多主系统的一部分独立运行,并且能够使用所述唯一身份在所述第一区域或所述第二区域中执行一个或多个安全任务。
14.根据权利要求6所述的方法,其中无论所述证书是由所述第一安全令牌机构还是所述第二安全令牌机构颁发,所述第二安全令牌机构都能够撤销所述证书。
15.一种系统,所述系统包括:
处理器;以及
存储器,所述存储器包括在由所述处理器执行时致使所述系统进行以下操作的指令:
由第一区域中的第一安全令牌机构生成所述第一区域中的资源实例的唯一身份;
向所述第一区域中的所述资源实例提供所述唯一身份,其中所述资源实例能够使用所述唯一身份进行认证;以及
向第二区域中的至少第二安全令牌机构提供所述唯一身份,其中
由所述第一区域中的所述第一安全令牌机构颁发的并且对应于所述唯一身份的证书能够被所述第一安全令牌机构或所述第二区域中的所述第二安全令牌机构撤销。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/947,957 US20240097918A1 (en) | 2022-09-19 | 2022-09-19 | Managing unique secrets in distributed systems |
US17/947,957 | 2022-09-19 | ||
PCT/US2023/067611 WO2024064425A1 (en) | 2022-09-19 | 2023-05-30 | Managing unique secrets in distributed systems |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118057971A true CN118057971A (zh) | 2024-05-21 |
Family
ID=87136825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202380010222.9A Pending CN118057971A (zh) | 2022-09-19 | 2023-05-30 | 在分布式系统中管理唯一秘密 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20240097918A1 (zh) |
CN (1) | CN118057971A (zh) |
WO (1) | WO2024064425A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9960923B2 (en) * | 2013-03-05 | 2018-05-01 | Telefonaktiebolaget L M Ericsson (Publ) | Handling of digital certificates |
US10063382B1 (en) * | 2017-09-28 | 2018-08-28 | General Electric Company | Apparatus and method for providing multiple security credentials |
-
2022
- 2022-09-19 US US17/947,957 patent/US20240097918A1/en active Pending
-
2023
- 2023-05-30 CN CN202380010222.9A patent/CN118057971A/zh active Pending
- 2023-05-30 WO PCT/US2023/067611 patent/WO2024064425A1/en unknown
Also Published As
Publication number | Publication date |
---|---|
WO2024064425A1 (en) | 2024-03-28 |
US20240097918A1 (en) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10409985B2 (en) | Trusted computing host | |
US10621366B2 (en) | Chained security systems | |
US10803027B1 (en) | Method and system for managing file system access and interaction | |
CA2939925C (en) | Securing client-specified credentials at cryptographically attested resources | |
EP3234846B1 (en) | Multi-faceted compute instance identity | |
US10091001B2 (en) | Autonomous private key recovery | |
JP6165883B2 (ja) | 安全な仮想マシン移行 | |
US11121876B2 (en) | Distributed access control | |
US20180262485A1 (en) | Authentication in a multi-tenant environment | |
US20230120616A1 (en) | Baseboard management controller (bmc) for storing cryptographic keys and performing cryptographic operations | |
US10904011B2 (en) | Configuration updates for access-restricted hosts | |
US11146379B1 (en) | Credential chaining for shared compute environments | |
US10691356B2 (en) | Operating a secure storage device | |
US11595358B2 (en) | Two-way secure channels with certification by one party | |
US20240097918A1 (en) | Managing unique secrets in distributed systems | |
US11843507B1 (en) | Determining compatibility issues in computing environments | |
US20240095338A1 (en) | Isolated runtime environments for securing secrets used to access remote resources from compute instances | |
US20220050932A1 (en) | Authentication Using Pairwise Secrets Constructed from Partial Secrets | |
US20230344648A1 (en) | Chained cryptographically signed certificates to convey and delegate trust and authority in a multiple node environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |