一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

对弹性云计算环境的证明支持的制作方法

2022-06-30 00:10:14 来源:中国专利 TAG:


1.本文描述的实施例大体上涉及电子器件领域,更具体地,涉及云计算环境中的证明(attestation)支持。


背景技术:

2.大量计算工作负荷,如人工智能(ai)和机器学习(ml)应用,需要使用多个计算节点。在现代计算架构中,计算节点可以包括多种不同类型的处理器件,包括中央处理单元(cpu)和图形处理单元(gpu),以及不同类型的硬件加速器。在某些操作中,gpu也可以被视为硬件加速器。
3.在单个平台上拥有足够数量的计算节点来处理非常大的计算工作负荷通常是不切实际的。因此,此类工作负荷可能会在经由网络连接的不同平台上的多个计算节点上执行。
4.然而,在工作负荷的执行生命周期期间,工作负荷的计算需求可能会增加或减少。为满足峰值需求而可能需要的必要计算节点的分配可能会导致来自多个平台的资源过度分配,从而导致计算资源的浪费,或者随着处理需求随时间推移的变化而导致计算节点的证明复杂化。


技术实现要素:

5.本发明实施例提供一种装置,包括:一个或多个处理器,所述处理器用于处理数据;编排元件,所述编排元件用于根据所选的成员资格策略接收对支持租户的工作负荷的请求,所述编排元件用于选择一个或多个计算节点来为所述工作负荷提供计算;以及安全管理器,所述安全管理器用于接收所述成员资格策略并从所述一个或多个所选的一个或多个计算节点接收证明,并且在确定所述证明满足所述成员资格策略的所述要求时,将所述一个或多个计算节点添加到计算节点组以为所述工作负荷提供计算。
6.本发明实施例还提供相应的装置和系统。
附图说明
7.在附图的图中通过示例而非限制的方式示出了本文描述的实施例,其中相似的附图标记指代相似的元件。
8.图1是根据一些实施例的提供动态证明支持的弹性云服务环境的图示;
9.图2是根据一些实施例的用于提供动态证明支持的云计算环境的计算系统或装置的图示;
10.图3是根据一些实施例的提供计算结构的动态证明的操作的图示;
11.图4是根据一些实施例的在计算结构的动态证明中添加附加计算节点的操作的图示;
12.图5是图示根据一些实施例的用于对弹性云计算环境的证明支持的过程的流程
图;
13.图6是图示根据一些实施例的用于在弹性云计算环境中动态修改经证明的计算结构的过程的流程图;
14.图7图示了根据一些实施例的用于在云环境中实现动态证明支持的示例性计算架构的一个实施例;
15.图8a和8b分别图示了基于一次性散列的签名方案和基于多次性散列的签名方案;
16.图9a和9b分别图示了一次性签名方案和多次性签名方案。
具体实施方式
17.本文描述的实施例涉及弹性云计算环境中的证明支持。
18.在云服务提供商(csp)运营中,有大量计算节点,它们通常分布在网络中的许多不同服务平台之间。计算节点可以包括处理器件,包括中央处理单元(cpu)和图形处理单元(gpu),以及各种类型的硬件加速器,诸如fpga(现场可编程门阵列)和专用asic(专用集成电路)。这样的计算节点通常也可以称为xpu。这种计算操作能够支持大量工作负荷计算,如人工智能和机器学习应用中。参与执行特定租户的工作负荷的csp的一组xpu可以被描述为计算结构(compute fabric)。
19.运行安全敏感工作负荷的客户需要能够证明计算结构的可信度,从而确保他们的工作负荷在可信的计算结构上运行。在常规操作中,这可以通过静态证明来解决,其中证明在工作负荷的执行开始时发生一次。
20.现有解决方案支持静态证明,其中工作负荷所有者(本文称为租户)在发送其工作负荷以在其上运行之前验证xpu(即计算节点)或一组xpu的证明。在此解决方案中,一个或多个xpu提供了证明器件真实性和敏感可配置部件完整性(如固件版本号)的证据。租户或可信的经纪人将在允许工作负荷运行之前验证证明证据。
21.然而,在工作负荷的执行生命周期期间,ai/ml工作负荷的计算需求可能会增加或减少。当前的解决方案无法正确处理动态计算结构,其中xpu可能在工作负荷生命周期内的任何时间加入计算结构。此外,随着计算结构变得更大并跨越相关数据中心,结构可能由异构器件诸如cpu、gpu、fpga和asic组成,在这种情况下,这种结构的静态证明没有足够的可扩展性。在从提供不同证明证据的多个供应商处接收异构器件的情况下,可扩展性问题变得更加明显。因此,现有解决方案对于在操作期间可以动态增长和收缩的非常大的工作负荷变得不切实际。
22.在一些实施例中,装置、系统或过程将提供可以在不停止或中断工作负荷执行的情况下快速且无缝地执行的动态证明操作。由于计算结构可以由异构计算节点组成,因此需要动态证明以有效方式适应器件差异,而不会因器件特定或供应商特定证明证据要求而延迟,这些要求通常应用于静态证明方案。动态证明简化了对可能由来自多个供应商的不同计算节点组成的大型计算结构(cpu、gpu、fpga和asic)的证明,使此类操作在云服务提供商的数据中心中具有实用性和可部署性。
23.图1是根据一些实施例的提供动态证明支持的弹性云服务环境的图示。如图所示,云服务提供商环境100包括对多个不同平台中的工作负荷的支持,如以某种方式连接的多个处理器件110。尽管图1具体示出了云服务提供商,但实施例不限于该特定示例,并且可以
包括其中由第三方为工作负荷提供支持的任何环境。该环境可以被称为弹性环境,因为计算支持可以根据工作负荷的需要进行扩展或收缩。csp环境的平台包括多个计算节点(xpu),xpu可以是各种不同类型的处理单元,诸如cpu 112和gpu 114,以及不同类型的硬件加速器116。xpu可能源自多个不同的硬件供应商,这具体取决于特定的实现方式。
24.多个不同的租户可以连接到csp环境以接收用于处理各种工作负荷的处理支持,其中一些工作负荷可能非常复杂并且需要大量计算支持。此外,某些工作负荷可能需要特定的安全支持,因此可能需要对指定用于支持此类工作负荷的xpu进行证明。
25.如图1所示,租户可以包括具有工作负荷152的租户a 150、具有工作负荷162的租户b 160,直到具有工作负荷172的租户n 170,它们经由特定网络云130连接到csp环境100。在一个特定示例中,工作负荷152可以是需要大量处理支持的人工智能(ai)或机器学习(ml)工作负荷。在一些实施例中,云提供商可以指定一组特定的显示为计算结构154的xpu,其中,计算结构是一组一个或多个计算单元以支持工作负荷。计算结构154可以包括同构或异构的xpu集合。然而,工作负荷152的需求可能在工作负荷的生命周期期间扩展或收缩,因此具有计算结构的xpu可以随时间的推移而修改,包括添加最初没有分配给计算结构的xpu。
26.在一些实施例中,与计算结构内的xpu的常规静态证明相反,csp环境100将提供xpu 180的动态证明以启用当前证明。在一些实施例中,动态证明180改为是基于成员资格策略的证明,如果这样的xpu满足成员资格策略要求,则允许在任何时间将新的xpu成员添加到计算结构154。在一些实施例中,成员资格策略提供对计算节点的特定要求以支持证明策略。成员资格策略的使用还缓解了涉及来自多个供应商的硬件的异构计算环境中的可扩展性问题。云服务提供商无需创建静态池,该静态池可能会过度配置以适应峰值资源需求,从而允许云服务提供商以有效的方式将其资源用于机密计算,从而最大限度地提高资源利用率并降低总拥有成本。
27.图2是根据一些实施例的用于提供动态证明支持的云计算环境的计算系统或装置的图示。如图所示,计算装置或系统200包括一个或多个处理器205,每个处理器可以包括多个处理内核,并且可以包括cpu、gpu和其他处理器件。一个或多个处理器205可包括用于支持安全操作的一个或多个可信执行环境(tee)210。装置或系统200可以进一步包括用于存储数据的计算机存储器215,包括与云服务提供商,诸如操作如图1所示的csp环境100的云服务提供商的支持和操作相关的数据。装置或系统200的其他元件可以如图7所示。
28.在一些实施例中,装置或系统200包括计算节点证明220,计算节点证明220可以由硬件、软件和固件的组合提供,这取决于特定实现方式。计算节点证明220操作以支持计算节点的动态证明以支持计算结构254(一组一个或多个计算节点以支持工作负荷),计算结构254包括多个异构或同构xpu,以提供对租户250的安全工作负荷252的处理。在一些实施例中,计算器件证明220包括编排器222(指编排元件)和一个或多个安全管理器224以提供对租户的xpu的动态证明的支持。在某些实现方式中,编排器222和安全管理器可以各自是同一实体的一部分。
29.在一些实施例中,安全管理器224是可信实体,其任务是控制计算节点(包括处理器件和硬件加速器)对计算结构254的准入,并确保计算节点遵守与租客相关联的成员资格策略230。成员资格策略230可以存储在存储器215中,但是成员资格策略不限于任何特定的
存储位置。在一些实施例中,安全管理器224将在计算节点被授权加入计算结构254之前通过验证该器件满足成员资格策略230的要求来评估该计算节点的资格。
30.在一些实施例中,安全管理器224是一组多个安全管理器中的一个。与器件组相关的每个安全管理器的操作可以根据实现方式而变化,包括可能需要对一个或多个器件组内的操作进行负荷平衡的情况。在不同的实施例中,一组多个安全管理器中的每个安全管理器可以专用于一组器件组内的相应器件组;或者该组安全多器件组中的每个安全管理器可以专用于管理同一个器件组,或者一个安全管理器可以管理具有相同或不同成员资格策略的多个器件组。安全管理器224可以是独立实体(例如,smartnic或ipu编排引擎),或者可以并置在工作负荷器件(例如,也实现控制平面逻辑的cpu或硬件加速器)中。
31.在一些实施例中,编排器222是可能不可信的单元或实体。编排器222负责管理资源并基于工作负荷252的计算需要向租户分配资源或解除分配。编排器222进一步管理成员资格策略,包括由租户250选择的成员资格策略230,并使租户选择的策略对编排器222可用以能够创建可信计算结构254。编排器222可以指示安全管理器224关于将哪些器件包括在计算结构254中,或者编排器222可以指示器件联系安全管理器224。(换句话说,编排器222控制计算节点的选择,而安全管理器224确保所选器件满足适用的成员资格策略。)在任一情况下,可能不可信的编排器222仅限于促进计算结构的形成,在安全管理器接收到器件证明并根据成员资格策略对其进行检查之后,接受由安全管理器224确定的推荐器件。
32.一般而言,租户250是可能希望在云环境中运行其大型安全敏感工作负荷252的云客户。租户250不知道哪些特定资源将被提前分配给它,通常不具有静态评估每个这样的资源的证明的能力。
33.在一些实施例中,租户250将制作或选择成员资格策略230以定义计算结构的可能成员的可接受性限制,并且将成员资格策略230提供给编排器222(其中如果该成员资格策略可以由编排器320以其他方式访问,则提供成员资格策略可包括发送策略或提供该策略的识别)。编排器为计算结构254选择计算资源并通知安全管理器224。编排器222进一步将所选的成员资格策略230传递给安全管理器224以用于确定计算结构254的计算节点的可接受性,并向租户250提供证明235。在一些实施例中,然后租户250或另一方可以评估安全管理器224的证明235。租户还从安全管理器224接收计算结构254的成员资格策略240,并且可以根据成员资格策略230来验证租户250已经选择并将其提供给编排器222。
34.在一些实施例中,如果工作负荷252的计算需求增加,则编排器222可以向计算结构254分配附加的资源。这可以通过指示安全管理器224添加特定资源或通过指示器件为了被添加到计算结构254的目的而直接联系安全管理器224来完成。不管请求源自何处,安全管理器224将在将器件证明接受到计算结构254中之前根据成员资格策略240评估该器件证明。如果器件满足成员资格策略要求,则将该器件添加到计算结构254并与其共享组的密钥材料。因为安全管理器224是可信的实体,所以可以在不涉及租户的情况下透明地提供该操作。该操作在图4中进一步说明。
35.图3是根据一些实施例的提供计算结构的动态证明的操作的图示。在一些实施例中,租户305可能需要由csp 300(或提供工作负荷支持的其他第三方)为安全工作负荷提供的一组计算节点(多个xpu)的证明,其中,该组计算节点的成员随着工作负荷的计算需求随着时间的推移而变化,可能会随着时间的推移而变化以添加或去除某些单元。
36.在一些实施例中,租户305将经由csp编排器320向云服务提供商(csp)300提供请求310,其中,csp编排器可以是不可信的元件。因此,可以在没有任何安全信息的情况下提供请求310。在一些实施例中,请求可以包括关于工作负荷315的csp支持所需的安全要求的信息,并且特别地可以向csp编排器320提供(诸如通过发送或识别)成员资格策略。
37.在一些实施例中,编排器320将选择计算节点以支持租户305的工作负荷315。在这个特定示例中,计算节点可以包括一组硬件加速器(acc)355。编排器320发送关于所识别的计算节点的器件指令327,其中,指令327可以包括关于所识别的器件的给安全管理器330(其可以是多个安全管理器中的一个)的指令或给所识别的器件以联系该安全管理器330的指令。需注意,编排器320和安全管理器330之间可能存在关于器件的选择和证明的附加通信,诸如在一个或多个器件不能被证明并且因此可能需要用一个多个其他器件替换的情况下。
38.在一些实施例中,csp编排器320进一步将租户305的成员资格策略325传送到安全管理器330,成员资格策略是租户和csp之间关于csp将提供以支持租户工作负荷的环境的协议。成员资格策略可由csp、租户或第三方(诸如行业托管机构或标准机构)定义或选择。此外,根据工作负荷的实现方式和需要,成员资格策略325可以是静态的或可以是动态的,其中,动态策略可以随时间演变以例如适应某些器件的tcb(可信计算库)恢复。对于动态成员资格策略,根据实施例,租户、csp或预先约定的第三方必须批准策略更新。在一个示例中,csp编排器可以控制请求添加器件/加速器,然而安全管理器确保仅实现满足策略的请求。
39.成员资格策略325本身可能没有保密要求,尽管成员资格策略可由csp环境保密以提供附加的安全性。然而,在一些实施例中,安全管理器330需要在使用期间和存储期间保护成员资格策略,其中,保护通常可以包括至少完整性和重放保护的应用以维护成员资格策略的内容。
40.在一些实施例中,然后安全管理器330可以利用成员资格策略325来接纳一组初始计算节点355来支持租户305的工作负荷,该组计算节点(xpu)355形成计算结构350。成员资格策略325提供了所有接纳的器件必须遵守的一组要求。要求可以是适用于工作负荷的任何一组要求,并且可以用任何计算机语言(c、java、python等)来描述,以允许对成员资格策略进行有意义的表示。
41.在一些实施例中,安全管理器将确保计算结构350的所有xpu 355满足成员资格策略的要求。计算结构350包括分配给租户305用于运行租户的工作负荷的一组同构或异构计算节点355(诸如所示出的一组硬件加速器),其中,每个计算节点将遵守已建立的成员资格策略325。计算节点以某种方式(诸如pcie、以太网或其他类型的连接)彼此连接。
42.在一些实施例中,安全管理器将向租户305呈现安全管理器证明340和与计算结构350的证明相关联的成员资格策略345,以允许租户根据为租户305的工作负荷选择的成员资格策略325验证成员资格策略345(其中,成员资格策略345应匹配成员资格策略325)。
43.在一些实施例中,在接收并验证安全管理器证明340和成员资格策略345之后,租户然后可以将安全工作负荷315提供给csp 300进行处理。
44.图4是根据一些实施例的在计算结构的动态证明中添加附加计算节点的操作的图示。在一些实施例中,在由云服务提供商环境中的计算结构处理安全工作负荷期间,工作负
荷的处理需求可能会改变,尤其是需求可能会改变,使得一个或多个附加的处理器件应该被添加到计算结构中。在一些实施例中,装置、系统或过程提供了灵活的操作,其中可以证明和添加附加的处理器件,或者可以移除器件,而不需要在csp和租户之间进行附加的租户交互来添加或移除器件。
45.在如图4所示的示例中,计算结构450可以包括一组特定的计算节点,诸如所示的一组硬件加速器455。计算结构可能已经如图3所示建立。在工作负荷生命周期期间的某个时间点,工作负荷的处理要求可能会发生变化,特别是可能需要至少一个附加的硬件加速器。在一些实施例中,csp编排器420可以在确定需要附加器件时识别器件,诸如硬件加速器(acc)460,以添加到计算结构450中。在一些实施例中,编排器420可以生成关于附加器件的指令415,其中,指令415可以是给安全管理器430的指示安全管理器添加器件的指令,或者是给器件460以联系安全管理器的指令。
46.在一些实施例中,安全管理器430负责使用成员资格策略来证明弹性器件资源池以描述器件组,而不是单独的证明。以这种方式,安全管理器可以证明并添加附加的器件而不需要对租户进行新的证明。在一些实施例中,安全管理器430将从要添加的器件接收器件证明,诸如来自acc 460的加速器证明(acc证明)470,并利用器件证明和成员资格策略425来确定该器件是否满足成员资格策略的要求。在确定加速器器件460满足这样的要求时,安全管理器430可以提供在计算结构中操作所需的安全密钥475。
47.在一些实施例中,csp 400然后可以继续处理租户的工作负荷,而不需要对租户进行新的证明。
48.图5是图示根据一些实施例的用于对弹性云计算环境的证明支持的过程的流程图。在一些实施例中,过程500包括从租户接收第三方(诸如云服务提供商)支持计算工作负荷的请求,该请求包括成员资格策略的选择505。在一些实施例中,租户可以基于工作负荷的要求来选择成员资格策略。根据实施例,成员资格策略可以由租户制定(并且因此可以是请求的一部分或以其他方式从租户转移到第三方),可以从第三方预先建立的一组选项或从其他来源中选择,或可以通过其他方式获得。在一些实施例中,请求可以由诸如编排器的实体接收。以这种方式,租户向编排器发起请求,以获取一组计算节点或计算节点网络,这些节点可以包括遵守成员资格策略的计算器件、硬件加速器或两者(即xpu的计算结构)。
49.在一些实施例中,编排器将与工作负荷相关联的成员资格策略传达给安全管理器以请求创建计算结构510,其中,安全管理器是能够证明计算节点的可信元件。取决于特定实现方式,安全管理器可以是第三方的多个安全管理器中的一个。在一些实施例中,编排器可以进一步传达与租户的工作负荷相关联的计算需求以用于创建计算结构。一些实施例包括编排器以指示安全管理器向计算节点组添加特定计算器件或硬件加速器,而在其他实施例中,编排器可以联系某些计算器件或硬件加速器并指示这些节点加入由安全管理器管理的组。
50.在一些实施例中,安全管理器将创建计算结构515,其中,计算结构的创建至少部分地基于成员资格策略和与租户的工作负荷相关联的计算要求。在这样的过程中,安全管理器将收集资源池,并在这些资源池准备好用于工作负荷时向租户指示。在一些实施例中,计算池的创建包括要求每个计算节点的证明。在一些实施例中,在成功接收到计算结构的每个计算节点的证明后,安全管理器将向每个计算节点提供安全密钥以用于在计算租户的
工作负荷的安全操作中使用520。
51.在一些实施例中,安全管理器将向租户提供包括安全策略的证明525,其中,该证明向租户证明计算结构的所选计算节点。在一些实施例中,证明可以进一步证明安全管理器本身和将由安全管理器执行的成员资格策略。租户然后可以检查证明,并且可以检查由安全管理器执行的成员资格策略是否匹配租户的期望。根据特定实现方式,该检查可由租户或由第三方服务执行。
52.在一些实施例中,为工作负荷提供支持的第三方从租户接收安全工作负荷数据530。在一些实施例中,可以在安全管理器处接收安全工作负荷数据,然后安全管理器将数据定向到经证明的计算结构的所选计算节点,或者在其他实施例中,租户可以将安全工作负荷数据直接传送到计算结构的所选计算节点。
53.在一些实施例中,工作负荷的计算服务是利用经证明的计算结构的计算节点来执行的535,其中,安全管理器要求计算节点根据与工作负荷相关联的成员资格策略进行操作。
54.在一些实施例中,计算结构可以随着工作负荷在工作负荷的生命周期内的计算需求变化而动态地修改和证明,如图6中更具体地示出了该过程。
55.图6是图示根据一些实施例的用于在弹性云计算环境中动态修改经证明的计算结构的过程的流程图。在一些实施例中,过程600包括根据所选成员资格策略的要求为租户的安全工作负荷建立经证明的计算结构605,这样的计算结构利用图5中所示的过程建立,并利用计算结构为安全工作负荷提供计算支持610。在一些实施例中,计算结构包括由安全管理器根据成员资格策略管理的一组特定计算节点,包括处理器件、硬件加速器或两者。
56.在安全工作负荷的生命周期期间,计算需求可能会增加或减少。在一些实施例中,过程600提供动态证明以允许修改该组计算节点以适当地添加或移除成员。在确定工作负荷的计算需求有足够的变化时,提供操作以动态修改经证明的计算结构而不需要租户的交互或评估615。
57.在一些实施例中,如果存在计算需求的扩展617,则可以为计算结构识别一个或多个新的计算节点620,其中,根据成员资格策略做出对附加的一个或多个计算节点的选择。在一些实施例中,安全管理器将获得并确认来自每个附加计算节点的证明625。在成功证明一个或多个附加计算节点后,安全管理器将向此类计算节点提供所需的安全密钥630。
58.在一些实施例中,如果计算需求减少617,则计算结构中的一个或多个现有计算节点可以被选择用于移除640,其中,一个或多个计算节点的选择是根据成员资格策略进行的(例如,根据成员资格策略,维持工作负荷所需的任何最低支持)。然后可以从计算结构中移除这样的选择的计算节点645。在一些实施例中,然后提供所需的任何新的安全性650,诸如,如果需要的话,安全密钥的改变。
59.在一些实施例中,该过程规定为租户的安全工作负荷建立修改的计算结构660,并且如果需要,向租户提供关于修改的计算结构的通知665。例如,在租户将直接向计算节点提供工作负荷数据的情况下,该通知可以提供当前一组计算节点的识别。然后该过程可以继续利用计算结构610为安全工作负荷提供计算支持。
60.图7图示了根据一些实施例的用于在云环境中实现动态证明支持的示例性计算架构的一个实施例。在如上所述的各种实施例中,计算架构700可以包括或被实现为电子器件
的一部分。在一些实施例中,计算架构700可以代表例如实现上述操作环境的一个或多个部件的计算机系统。计算架构700可用于在云环境中提供证明支持,诸如图1-6中所描述的。
61.如在本技术中使用的,术语“系统”和“部件”和“模块”旨在指代计算机相关实体,可以是硬件、硬件和软件的组合、软件或执行中的软件,例如由示例性计算架构700提供。例如,部件可以是但不限于在处理器上运行的进程、处理器、硬盘驱动器或固态驱动器(ssd)、多个存储驱动器(光和/或磁存储介质的)、对象、可执行文件、执行线程、程序和/或计算机。举例来说,在服务器上运行的应用和服务器都可以是部件。一个或多个部件可以驻留在一个进程和/或执行线程内,并且部件可以位于一个计算机上和/或分布在两个或更多个计算机之间。此外,部件可以通过各种类型的通信介质彼此通信耦合以协调操作。协调可能涉及单向或双向信息交换。例如,部件可以以通过通信介质传送的信号的形式传送信息。该信息可以被实现为分配给各种信号线的信号。在这样的分配中,每条消息都是一个信号。然而,另外的实施例可替代地采用数据消息。此类数据消息可以通过各种连接发送。示例性连接包括并行接口、串行接口和总线接口。
62.计算架构700包括各种常见的计算元件,诸如一个或多个处理器、多核处理器、协处理器、存储单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(i/o)部件、电源等。然而,实施例不限于由计算架构700实现。
63.如图7所示,计算架构700包括一个或多个处理器702和一个或多个图形处理器708,并且可以是单处理器桌面系统、多处理器工作站系统或具有大量处理器702或处理器内核707的服务器系统。在一个实施例中,系统700是结合在用于移动、手持或嵌入式设备的片上系统(soc或soc)集成电路内的处理平台。
64.系统700的一个实施例可以包括或结合在基于服务器的游戏平台、游戏控制台(包括游戏和媒体控制台)、移动游戏控制台、手持游戏控制台或在线游戏控制台内。在一些实施例中,系统700是移动电话、智能电话、平板计算设备或移动互联网设备。数据处理系统700还可以包括、耦合或集成在可穿戴设备中,诸如智能手表可穿戴设备、智能眼镜设备、增强现实设备或虚拟现实设备中。在一些实施例中,数据处理系统700是具有一个或多个处理器702和由一个或多个图形处理器708生成的图形界面的电视机或机顶盒设备。
65.在一些实施例中,一个或多个处理器702各自包括一个或多个处理器内核707以处理指令,当被执行时,该指令执行系统和用户软件的操作。在一些实施例中,一个或多个处理器内核707中的每一个被配置为处理特定指令集709。在一些实施例中,指令集709可以促进复杂指令集计算(cisc)、精简指令集计算(risc)或经由超长指令字(vliw)的计算。多个处理器内核707可以各自处理不同的指令集709,指令集709可以包括促进其他指令集的仿真的指令。处理器内核707还可以包括其他处理器件,诸如数字信号处理器(dsp)。
66.在一些实施例中,处理器702包括高速缓存存储器704。根据架构,处理器702可以具有单个内部高速缓存或多级内部高速缓存。在一些实施例中,高速缓存存储器704在处理器702的各种部件之间共享。在一些实施例中,处理器702还使用外部高速缓存(例如,3级(l3)高速缓存或末级高速缓存(llc))(未示出),其可以使用已知的高速缓存一致性技术在处理器内核707之间共享。寄存器文件706另外包括在处理器702中,处理器702可以包括用于存储不同类型数据的不同类型的寄存器(例如,整数寄存器、浮点寄存器、状态寄存器和指令指针寄存器)。一些寄存器可以是通用寄存器,而其他寄存器可以专用于处理器702的
设计。
67.在一些实施例中,一个或多个处理器702与一个或多个接口总线710耦合以在处理器702和系统中的其他部件之间传送诸如地址、数据或控制信号的通信信号。在一个实施例中,接口总线710可以是处理器总线,诸如直接媒体接口(dmi)总线的一种版本。然而,处理器总线不限于dmi总线,还可以包括一个或多个外围部件互连总线(例如pci、pci express)、存储器总线或其他类型的接口总线。在一个实施例中,一个或多个处理器702包括集成的存储器控制器716和平台控制器集线器730。存储器控制器716促进存储器器件和系统700的其他部件之间的通信,而平台控制器集线器(pch)730经由本地i/o总线提供到i/o器件的连接。
68.存储器器件720可以是动态随机存取存储器(dram)器件、静态随机存取存储器(sram)器件、闪存器件、相变存储器器件或具有用作过程存储器的合适性能的一些其他存储器器件。在一个实施例中,存储器器件720可以作为系统700的系统存储器操作,以存储数据722和指令721以供当一个或多个处理器702执行应用或进程时使用。存储器控制器集线器716还与可选的外部图形处理器712耦合,外部图形处理器712可以与处理器702中的一个或多个图形处理器708通信以执行图形和媒体操作。在一些实施例中,显示设备711可以连接到一个或多个处理器702。显示设备711可以是一个或多个内部显示设备,如在移动电子设备或膝上型设备中,或者是经由显示接口(例如,显示端口等)附接的外部显示设备。在一个实施例中,显示设备711可以是头戴式显示器(hmd),诸如用于虚拟现实(vr)应用或增强现实(ar)应用中的立体显示设备。
69.在一些实施例中,平台控制器集线器730使外围设备能够经由高速i/o总线连接到存储器器件720和处理器702。i/o外围设备包括但不限于音频控制器746、网络控制器734、固件接口728、无线收发器726、触摸传感器725、数据存储器件724(例如,硬盘驱动器、闪存等)。数据存储器件724可以经由存储接口(例如,sata)或经由外围总线,诸如外围部件互连总线(例如,pci、pci express)来连接。触摸传感器725可以包括触摸屏传感器、压力传感器或指纹传感器。无线收发器726可以是wi-fi收发器、蓝牙收发器或诸如3g、4g、长期演进(lte)或5g收发器的移动网络收发器。固件接口728实现与系统固件的通信,并且可以是例如统一可扩展固件接口(uefi)。网络控制器734可以实现到有线网络的网络连接。在一些实施例中,高性能网络控制器(未示出)与接口总线710耦合。在一个实施例中,音频控制器746是多通道高清晰度音频控制器。在一个实施例中,系统700包括可选的传统i/o控制器740,控制器740用于将传统(例如,个人系统2(ps/2))设备耦合到系统。平台控制器集线器730还可以连接到一个或多个通用串行总线(usb)控制器742以连接输入设备,诸如键盘和鼠标743组合、摄像头744或其他usb输入设备。
70.图8a和8b分别图示了基于一次性散列的签名方案和基于多次性散列的签名方案。可以根据需要利用图8a和8b中所示的操作来提供安全性以支持利用经证明的计算节点的工作负荷计算。基于散列的密码学基于密码系统,如lamport签名、merkle签名、扩展merkle签名方案(xmss)、sphincs方案、sphincs 方案等。随着量子计算的出现及其增长的预期,人们一直担心量子计算可能带来的各种挑战,以及如何利用密码学领域来应对这些挑战。
71.正在探索以应对量子计算挑战的一个领域是基于散列的签名(hbs),因为这些方案已经存在很长时间并且拥有必要的基本成分,诸如依赖对称密码学构建块(例如,散列函
数),以应对量子计数和后量子计算挑战。hbs方案被认为是与快速平台安全启动一起工作的快速签名算法,该算法被认为是最能抵抗量子攻击的。
72.例如,如关于图8a所示,hbs的方案被示为使用默克尔(merkle)树以及一次性签名(ots)方案800,诸如使用私钥对消息进行签名并使用对应的公钥来验证ots消息,其中私钥仅对单个消息进行签名。
73.类似地,如图8b所示,图8b示出了另一种hbs方案,其中该方案涉及多次签名(mts)方案850,其中私钥可以对多个消息进行签名。
74.图9a和9b分别图示了一次性签名方案和多次性签名方案。继续图8a的基于hbs的ots方案800和图8b的mts方案850,图9a分别图示了由斯坦福数学系的robert winternitz提供的winternitz ots(wots)方案900,而图9b图示了xmss mts方案950。
75.例如,图9a的wots方案900提供将消息散列和解析为m,其中在[0,1,2,...,15]之间有67个整数,诸如私钥sk,905,签名s,910和公钥pk,915,每个都有各自为32字节的67个分量。
[0076]
现在,例如,图9b图示了xmss mts方案950,其允许图9a的wots方案900和具有xmss默克尔树970的xmss方案955的组合。如先前关于图9a所讨论的,wots方案900基于一次性公钥pk 915,每个具有32字节的67个分量,然后通过l树压缩算法960提供wots压缩的pk 967以在xmss方案955的xmss默克尔merkle树970中占有一席之地。设想xmss签名验证可以包括计算wots验证和检查以确定重构的根节点是否与xmss公钥匹配,诸如根节点=xmss公钥。
[0077]
本文描述的机器可读指令可以以压缩格式、加密格式、分段格式、编译格式、可执行格式、打包格式等中的一种或多种存储。本文描述的机器可读指令可以存储为可用于创建、制造和/或产生机器可执行指令的数据(例如,指令的一部分,代码,代码的表示等)。例如,机器可读指令可以被分段并且存储在一个或多个存储设备和/或计算设备(例如,服务器)上。机器可读指令可以利用安装、修改、改编、更新、组合、补充、配置、解密、解压缩、解包、分发、重赋值、编译等中的一项或多项,以便使其直接可读、可解释和/或可由计算设备和/或其他机器执行。例如,机器可读指令可以存储在多个部分中,这些部分被分别压缩、加密并存储在单独的计算设备上,其中,这些部分在解密、解压缩和组合后形成一组可执行指令,这些可执行指令实现了诸如本文所述的程序。
[0078]
在另一个示例中,机器可读指令可以被存储在它们可以被计算机读取但是利用添加库(例如,动态链接库(dll))、软件开发工具包(sdk)、应用程序编程接口(api)等的状态下,以便在特定计算设备或其他设备上执行指令。在另一个示例中,在机器可读指令和/或对应的一个或多个程序可以全部或部分执行之前,机器可读指令可以被配置(例如,设置存储,数据输入,网络地址记录等)。因此,所公开的机器可读指令和/或对应的一个或多个程序旨在包括这样的机器可读指令和/或一个或多个程序,而不管机器可读指令和/或一个或多个程序在存储时或以其他方式搁置或在途中时的特定格式或状态。
[0079]
本文描述的机器可读指令可以用任何过去、现在或将来的指令语言、脚本语言、编程语言等来表示。例如,机器可读指令可以使用以下任何一种语言来表示:c,c ,java,c#,perl,python,javascript,超文本标记语言(html),结构化查询语言(sql),swift等。
[0080]
如上所述,图9a和9b以及其他附图的示例过程可以使用存储在非暂时性计算机和/或机器可读介质(诸如硬盘驱动器、闪存、只读存储器、光盘、数字通用磁盘、高速缓存、
随机存取存储器和/或在任何持续时间(例如,延长的时间段、永久地、用于短暂实例、用于暂时缓存和/或高速缓存信息)内存储信息的任何其他存储设备或存储盘)上的可执行指令(例如,计算机和/或机器可读指令)来实现。如本文所用,术语“非暂时性计算机可读介质”明确地定义为包括任何类型的计算机可读存储设备和/或存储盘,并且排除传播信号并排除传输介质。
[0081]
本文使用“包括”和“包含”(及其所有形式和时态)作为开放式术语。因此,每当权利要求采用任何形式的“包括”或“包含”(例如,包括,具有等)作为前序部分或在任何种类的权利要求陈述中时,应理解为在不超出相应权利要求或陈述的范围的情况下,可以存在其他要素、术语等。如本文中所用,当例如在权利要求的前序部分中使用短语“至少”作为过渡术语时,其以与术语“包含”和“包括”为开放式的相同方式也为开放式的。
[0082]
当例如以诸如a、b和/或c的形式使用术语“和/或”时,是指a、b、c的任何组合或子集,诸如(1)仅a,(2)仅b,(3)仅c,(4)a与b,(5)a与c,(6)b与c,以及(7)a与b和a与c。如本文在描述结构、部件、项、对象和/或事物的上下文中使用的,短语“a和b中的至少一者”旨在指代包括以下各项的实施方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。类似地,如本文在描述结构、部件、项、对象和/或事物的上下文中使用的,短语“a或b中的至少一者”旨在指代包括以下各项的实施方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。如本文在描述过程、指令、动作、活动和/或步骤的性能或执行的上下文中使用的,短语“a和b中的至少一者”旨在指代包括以下各项的实施方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。类似地,如本文在描述过程、指令、动作、活动和/或步骤的性能或执行的上下文中使用的,短语“a或b中的至少一者”旨在指代包括以下各项的实施方式:(1)至少一个a,(2)至少一个b,以及(3)至少一个a和至少一个b。
[0083]
如本文所用,单数引用(例如,“一”、“一个”、“第一”、“第二”等)不排除多个。如本文所用,术语“一”或“一个”实体是指该实体中的一者或多者。术语“一”(或“一个”)、“一个或多个”和“至少一个”在本文中可以互换使用。此外,尽管被单独列出,但是多个装置、元件或方法动作可以由例如单个单元或处理器来实现。另外,尽管各个特征可以被包括在不同的示例或权利要求中,但是这些特征可以被组合,并且包含在不同的示例或权利要求中并不意味着特征的组合是不可行和/或有利的。
[0084]
描述符“第一”、“第二”、“第三”等在本文中用于识别可单独提及的多个元件或部件。除非基于其使用上下文另有说明或理解,否则此类描述符不旨在推算优先级、物理顺序或列表中的排列或时间排序的任何含义,而仅用作标记以分别指代多个元件或部件以便于理解所公开的示例。在一些示例中,描述符“第一”可以用于指代详细描述中的元件,而在权利要求中可以使用诸如“第二”或“第三”的不同描述符来引用相同的元件。应该理解,在这种情况下,仅仅为了易于引用多个元件或部件而使用这样的描述符。
[0085]
以下示例涉及进一步的实施例。
[0086]
在示例1中,一种装置包括:一个或多个处理器,用于处理数据;编排元件,该编排元件用于根据所选的成员资格策略接收对支持租户的工作负荷的请求,该编排元件用于选择一个或多个计算节点来为工作负荷提供计算;以及安全管理器,该安全管理器用于接收成员资格策略并从一个或多个所选的计算节点接收证明,并且在确定该证明满足成员资格策略的要求后,将一个或多个计算节点添加到计算节点组以为工作负荷提供计算。
[0087]
在示例2中,安全管理器进一步将成员资格策略和安全管理器的证明提供给租户以用于计算节点组的验证。
[0088]
在示例3中,编排元件和安全管理器都是同一实体的部分。
[0089]
在示例4中,计算节点组包括一个或多个处理单元、一个或多个硬件加速器或两者。
[0090]
在示例5中,编排元件向安全管理器提供关于一个或多个所选计算节点的指令,或者编排元件向一个或多个所选计算节点中的每一个提供联系安全管理器的指令。
[0091]
在示例6中,当工作负荷需要附加的计算支持时,编排元件为计算节点组选择一个或多个附加计算节点。
[0092]
在示例7中,安全管理器获得一个或多个附加计算节点的证明,并且在确定该证明满足成员资格策略的要求时,将一个或多个附加计算节点添加到计算节点组。
[0093]
在示例8中,安全管理器将一个或多个附加计算节点添加到计算节点组,而无需租户进行交互或评估。
[0094]
在示例9中,安全管理器是多个安全管理器中的一个。
[0095]
在示例10中,其上存储有指令的一个或多个非暂时性计算机可读存储介质,在由一个或多个处理器执行时,该指令使一个或多个处理器执行包括接收对租户的工作负荷的计算的请求的操作;选择一组一个或多个计算节点来为工作负荷提供计算;向安全管理器提供成员资格策略,该成员资格策略包括对一个或多个计算节点的要求;由安全管理器确定其中一个或多个计算节点满足成员资格策略的要求,并且在确定一个或多个计算节点满足成员资格策略的要求时,将一个或多个计算节点添加到计算节点组以为工作负荷提供计算;并将成员资格策略和安全管理器的证明提供给租户以验证该计算节点组。
[0096]
在示例11中,计算节点组包括一个或多个处理单元、一个或多个硬件加速器或两者。
[0097]
在示例12中,指令进一步包括以下指令:用于向安全管理器提供关于一个或多个所选计算节点的指令;或者向一个或多个所选计算节点中的每一个提供指令以联系安全管理器。
[0098]
在示例13中,指令进一步包括以下指令:用于确定需要附加支持来计算工作负荷;并且为计算节点组选择一个或多个附加计算节点。
[0099]
在示例14中,指令进一步包括以下指令:用于获得一个或多个附加计算节点的证明;并且,在确定该证明满足成员资格策略的要求时,将一个或多个附加计算节点添加到计算节点组。
[0100]
在示例15中,指令进一步包括用于向一个或多个附加计算节点提供安全密钥的指令。
[0101]
在示例16中,一种系统包括一个或多个处理器,该处理器包括:一个或多个处理内核,该处理内核用于处理数据;存储器,该存储器用于存储数据,包括用于一项或多项安全操作的数据;多个计算节点,该计算节点用于提供计算;编排器,该编排器用于根据所选的成员资格策略接收支持租户的工作负荷的请求,该编排器用于选择一组一个或多个计算节点来为工作负荷提供计算;以及安全管理器,该安全管理器用于接收成员资格策略并从一个或多个所选的计算节点接收证明,并且在确定证明满足成员资格策略的要求后,将一个
或多个计算节点添加到计算节点组以为工作负荷提供计算,其中,该安全管理器用于将成员资格策略和安全管理器的证明提供给租户,以该计算节点组的验证。
[0102]
在示例17中,计算节点组包括一个或多个处理单元、一个或多个硬件加速器或两者。
[0103]
在示例18中,编排器用于向安全管理器提供关于一个或多个所选计算节点的指令,或者用于向一个或多个所选计算节点中的每一个提供联系安全管理器的指令。
[0104]
在示例19中,当工作负荷需要附加的计算支持时,编排器将为计算节点组选择一个或多个附加计算节点。
[0105]
在示例20中,安全管理器获得一个或多个附加计算节点的证明,并且在确定该证明满足成员资格策略的要求时,将一个或多个附加计算节点添加到计算节点组。
[0106]
在示例21中,一种装置包括:用于接收对租户的工作负荷的计算的请求的装置;用于选择一组一个或多个计算节点来为工作负荷提供计算的装置;用于向安全管理器提供成员资格策略的装置,该成员资格策略包括对一个或多个计算节点的要求;用于确定其中一个或多个计算节点满足成员资格策略的要求,并且在确定一个或多个计算节点满足成员资格策略的要求时,将一个或多个计算节点添加到计算节点组以为工作负荷提供计算的装置;以及用于将成员资格策略和安全管理器的证明提供给租户以验证该计算节点组的装置。
[0107]
在示例22中,计算节点组包括一个或多个处理单元、一个或多个硬件加速器或两者。
[0108]
在示例23中,该装置进一步包括用于以下的装置:向安全管理器提供关于一个或多个所选计算节点的指令;或者向一个或多个所选计算节点中的每一个提供指令以联系安全管理器。
[0109]
在示例24中,该装置进一步包括用于确定需要附加支持来计算工作负荷的装置;以及为计算节点组选择一个或多个附加计算节点的装置。
[0110]
在示例25中,该装置进一步包括用于获得一个或多个附加计算节点的证明的装置;以及用于在确定该证明满足成员资格策略的要求时将一个或多个附加计算节点添加到计算节点组的装置。
[0111]
在示例26中,该装置进一步包括用于向一个或多个附加计算节点提供安全密钥的装置。
[0112]
可以在一个或多个实施例中的任何地方使用所述示例中的细节。
[0113]
前面的描述和附图被认为是说明性的而不是限制性的。本领域技术人员将理解,在不脱离所附权利要求中阐述的特征的更广泛的精神和范围的情况下,可以对本文描述的实施例进行各种修改和改变。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献