CN117121006A - 用于机密计算的证明即服务 - Google Patents
用于机密计算的证明即服务 Download PDFInfo
- Publication number
- CN117121006A CN117121006A CN202280026601.2A CN202280026601A CN117121006A CN 117121006 A CN117121006 A CN 117121006A CN 202280026601 A CN202280026601 A CN 202280026601A CN 117121006 A CN117121006 A CN 117121006A
- Authority
- CN
- China
- Prior art keywords
- trust
- attestation
- requestor
- computing
- relying party
- 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
- 238000000034 method Methods 0.000 claims abstract description 85
- 238000012795 verification Methods 0.000 claims abstract description 45
- 238000012545 processing Methods 0.000 claims description 70
- 238000004891 communication Methods 0.000 claims description 69
- 230000015654 memory Effects 0.000 claims description 60
- 238000003860 storage Methods 0.000 claims description 49
- 230000004044 response Effects 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 15
- 238000010200 validation analysis Methods 0.000 claims description 15
- 230000006870 function Effects 0.000 description 51
- 238000007726 management method Methods 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 20
- 230000002776 aggregation Effects 0.000 description 11
- 238000004220 aggregation Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 10
- 230000001133 acceleration Effects 0.000 description 9
- 239000008186 active pharmaceutical agent Substances 0.000 description 9
- 230000006855 networking Effects 0.000 description 9
- 230000002093 peripheral effect Effects 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 8
- 230000001413 cellular effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000009826 distribution Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000000007 visual effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 230000005012 migration Effects 0.000 description 4
- 238000013508 migration Methods 0.000 description 4
- 239000003595 mist Substances 0.000 description 4
- 238000005192 partition Methods 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 239000004065 semiconductor Substances 0.000 description 3
- 239000007787 solid Substances 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 2
- 240000001436 Antirrhinum majus Species 0.000 description 1
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 1
- 244000153665 Ficus glomerata Species 0.000 description 1
- 235000012571 Ficus glomerata Nutrition 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241000233805 Phoenix Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- QVGXLLKOCUKJST-UHFFFAOYSA-N atomic oxygen Chemical compound [O] QVGXLLKOCUKJST-UHFFFAOYSA-N 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 239000005387 chalcogenide glass Substances 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000009795 derivation Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000001152 differential interference contrast microscopy Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000002070 nanowire Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229910052760 oxygen Inorganic materials 0.000 description 1
- 239000001301 oxygen Substances 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000009428 plumbing Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
描述了用于根据本文讨论的技术,实现信任机构或信任证明验证操作(包括用于信任即服务或证明即服务实现)的各种系统和方法。在各种示例中,描述了用于使用信任机构实现服务到服务证明、操作证明服务以及协调依赖方与请求方之间的信任操作的操作和配置。
Description
优先权要求
本申请要求2021年6月25日提交的印度临时专利申请No.202141028574和2022年5月9日提交的美国临时专利申请No.63/339,847的优先权,每一个临时申请通过引用整体并入本文。
技术领域
本文描述的实施例总体涉及联网计算环境中的数据处理,并且具体地,涉及将机密计算技术用于计算实体和资产的信任、验证和证明。
背景技术
机密计算一般指代例如通过使用可信执行环境(TEE)和证明来提供软件服务的保护的一类方法。应用于联网计算设置中的证明是一种机制,其允许依赖方通过评估远程软件生成的基于硬件的证据来验证(例如,在TEE中执行的)远程软件的完整性。例如,在高层面上,如果依赖方了解分布式软件的架构,则它可以证明其每一个服务。
单个软件服务的证明是一种强大的完整性验证机制。然而,现代软件很少由一个或几个服务组成。分布式软件部署中可能涉及数十个甚至数百个服务,并且每个服务可以有许多实例以用于扩展目的。证明每个服务的每个实例很快会变得难以管理。此外,为了充分确保信任和安全,依赖方必须对分布式软件的架构有深入的了解,并在新实例加入分布式软件时得到通知。使问题复杂的是,即使功能上不需要通信,依赖方也必须能够证明分布式软件的所有服务的所有实例,这扩大了攻击面。由于这些原因,由依赖方发起的证明在许多类型的现实世界计算部署(例如,由“边缘计算”和相关的“边缘”、“边缘云”以及“近云”环境所提供的那些部署)中不能很好地扩展。
边缘计算,在一般层面上,是指将计算资源和存储资源转移到更靠近端点设备(例如,消费计算设备、用户设备等),以便优化总拥有成本,减少应用时延,提升服务能力,并改善安全或数据隐私要求的合规性。在一些场景中,边缘计算可以提供类似云的分布式服务,其在多种类型的存储资源和计算资源之间为应用提供编排和管理。因此,边缘计算的一些实现被称为“边缘云”或“雾”,因为先前仅在大型远程数据中心中可用的强大计算资源被移动到更靠近端点的位置,并且可供网络的“边缘”处的消费者使用。
附图说明
在不一定按比例绘制的附图中,相同的数字可以在不同的视图中描述相似的部件。具有不同字母后缀的相似数字可以表示相似部件的不同实例。在附图中以示例而非限制的方式示出了一些实施例,其中:
图1示出了根据示例的提供信任和身份验证的比较的简化系统概览;
图2示出了根据示例的与信任机构的操作结合使用的硬件和功能部件;
图3示出了根据示例的与信任验证服务结合使用的软件堆栈;
图4示出了根据示例的用于云服务提供商处的密钥发布过程的信任验证的用例;
图5示出了根据示例的用于使用信任即服务系统执行工作负载(人工智能(AI)模型)的信任验证的工作流的流程图;
图6示出了根据示例的用于在软件即服务(SaaS)部署中实现信任即服务的端到端架构的概览;
图7示出了根据示例的用于提供证明即服务的信任机构的参考架构。
图8示出了根据示例的由多个微服务构成的可信执行环境证明服务;
图9示出了根据示例的用于提供证明即服务实例的信任机构的用例;
图10示出了根据示例的在两个云服务提供商之间执行的证明操作的流程图;
图11示出了根据示例的可信执行环境证明所涉及的部件;
图12示出了根据示例的用于可信执行环境证明的进一步操作的流程图;
图13示出了根据示例的用于实现和操作证明服务的过程的流程图;
图14示出了根据示例的用于边缘计算的边缘云配置的概览;
图15示出了根据示例的用于在多个边缘节点和多个租户之间操作的边缘计算系统上的虚拟边缘配置的部署和编排;
图16示出了根据示例的涉及边缘计算系统中的对应用的移动访问的车辆计算和通信用例;
图17示出了根据示例的描绘若干物联网(IoT)设备之间的部署和通信的框图;
图18示出了根据示例的在边缘计算系统当中部署的分布式计算层的概览;
图19示出了根据示例的在计算节点系统处部署的示例部件的概览;
图20示出了根据示例的计算设备内的示例部件的进一步概览;和
图21示出了根据示例的用于分发软件指令和衍生物的软件分发平台。
具体实施方式
在下面的描述中,公开了用于可扩展SaaS(软件即服务)部署的特征的方法、配置和相关装置,该部署为TEE、平台和设备完整性以及伴随的服务和应用提供证据的验证。该SaaS部署(在本文中称为“信任即服务”(TaaS))除了其他安全技术之外,还使用机密计算技术来提供信任验证。
以下描述(例如,参照图1至图6讨论的)包括机密计算的概览以及用于信任验证的相关上下文和用例。这种验证是从TaaS部署运营的“信任机构”提供的,例如通过TaaS软件堆栈和服务网格架构来实现。此后,提供与证明服务相关的附加讨论和用例(例如,参照图7至图13讨论的),包括针对使用位于不同云服务提供商处的实体之间的证明。最后,提供了附加示例以及边缘和云计算部署的概览(例如,参照图14至图21进行讨论),包括用于实现以下方法的技术和平台。
信任和机密计算概览
机密计算技术可以与本技术一起部署来为各种实体和资产建立信任,无论这些实体和资产以何种形式体现。例如,以下方法可以提供独立于云服务提供商(CSP)的信任机构服务。在其他用例中,这可以允许CSP通过在可信执行环境(TEE)中执行工作负载并且还经由证明验证此类TEE,来远离信任边界。
在当前的计算系统中,大多数CSP自我证明其自己的资源的安全性和有效性。这常常会降低各个云租户的信心,并阻止使用多云解决方案。本方法提供了一种用于为资产和实体提供信任基础设施,并证明此类资产和实体的安全性的独立方法。
如本文使用的,作为证明和信任验证的主题的计算“资产”可以涉及计算系统中的或与计算系统关联的任何数量或类型的特征或实体。例如,这可以是硬件、固件、软件、网络操作、数据、数据集、数据的特定实例(例如,工作负载)、软件的特定实例(例如,虚拟化部件)以及类似的其指定或定义部分。另外,受到证明和信任验证的资产可以作为系统操作、管理、监管、配置或其他用例的一部分来使用、实例化、访问或验证。因此,从广义上讲,受到信任验证和证明的资产可以是计算环境中可由另一实体观察到的任何“事物”。例如,许多以下示例将工作负载的证明称为可信的,并作为成功证明的结果执行某些操作(例如,执行工作负载、解密一些数据)。还可以实现用于访问、检索、存储或传输数据(或其他操作)的其他用例。
图1描绘了本文讨论的提供信任和身份验证的比较的用例的简化系统概览。如图所示,信任机构(TA)140的以下SaaS实现100基于证明、策略和声誉/风险数据的使用,提供与边缘/云部署110一起使用的每个资产120(包括计算资产)的可信度的远程验证。TA140的以下SaaS实现在操作上独立于托管机密计算客户工作负载的云/边缘基础设施提供商。
在该设置中,TA140是发布数字信任证书(以例如JWT令牌(JSON Web Token)或其他数字证书的形式),以在边缘/云110消费者与边缘/云资产120之间建立信任验证过程145的实体。例如,数字证书可以证明用以执行消费者的工作负载的特定计算资产的可信度。
TA140的角色类似于证书机构130(CA)的角色,例如针对发布加密数字证书以建立身份验证过程135的CA。然而,TA140的角色是确认资产120的信任等级或可信度。可以理解,证实可信度取决于三个原则:(1)证明——包括验证资产的身份;(2)策略——客户可以指示作为信任评估的一部分,什么策略需要被验证;和(3)声誉——来自情况分析或来自第三方的拒绝数据。
在示例中,可以从以软件即服务(SaaS)模型实现的边缘或云服务提供TA140。例如,TA140可以被配置为仅当TA140基于远程证明操作、策略验证和数据(例如,声誉或风险信息)成功地验证了资产120(例如,计算资产)时才按需发布数字信任证书。
在示例中,TA140在操作上独立于托管机密计算工作负载的云和边缘基础设施服务提供商。这使得证明提供商和基础设施提供商能够脱钩。
以下示例提及使用被配置用于使用安全计算技术来验证部件的可信度的TA,例如利用/>SGX和TDX技术实现的TEE。然而,当前的方法也适用于来自其他制造商的各种其他TEE和安全计算部件,例如/>SEV和/>领域。因此,应当理解,以下方法不限于用/>或x86技术部署。
图2示出了与TA的操作结合使用的硬件和功能部件200。该图具体描绘了TA的SaaS实现,其提供对多个计算资产的可信度的远程验证。
在这些部件200中,证明构造260是提供身份验证的初始层,其在操作上与较高层(数据置信构造270、策略评价和可信度评估280)一起工作,较高层执行客户策略的声誉和评价。此外,如下面的示例中讨论的,SaaS平台可以被配置用于使用联合部件290的联合操作和管理。
作为示例,TA可以基于用户想要验证什么计算资产来支持不同类型的证明。这些可以包括图2中描绘的计算资产的证明,例如:
·一个或多个平台软件部件210的证明,其在主机启动时验证平台固件、OS和其他软件。
·一个或多个TEE 215的证明。这包括安全飞地(例如,SGX飞地)、支持信任域的虚拟机(例如,/>TDX VM)以及其他类型TEE(包括/>SEV_SNP)等的验证。
·一个或多个设备225的证明。例如,这可以包括验证不同类型的设备上的固件。
·工作负载235(例如,VM、容器、应用、功能等)的证明。
·一个或多个信任根245的证明。
·一个或多个虚拟对象255(例如,各种不可替代令牌(NFT))的证明。
用户可以利用策略评价和可信度评估功能280来定义用于验证这些计算资产的策略(客户策略)。TA还可以基于风险或声誉数据(例如,在数据置信构造270中)对计算资产进行整合。
因此,通过使用图2中描绘的框架,可以提供对连接到平台的设备的信任的验证,包括针对基础设施处理单元(IPU)、GPU、加速器等。还可以为所有类型的工作负载提供可信度验证,无论它们是VM还是容器,因为工作负载的完整性和身份是作为信任机构的一部分进行证明和验证的。同样,可以为信任根(RoT)提供可信度验证,RoT是验证平台良好性的锚点。最后,可以为虚拟对象(例如,NFT)提供可信度验证,包括在NFT创建和转移期间验证所有权真实性的场景中。
基于该配置,可以生成由信任机构作为签名令牌提供的可信度分数,使得客户可以使用签名令牌来做出他们各自的工作负载的决策。SaaS平台可以提供与信任机构接口的直观特征,包括诸如安全性信息和事件管理(SIEM)工具的第三方管理工具。
应当理解,基于使用中的不同HW、特定设备、TEE和不同ROT,可以针对特定TaaS部署向图2中描绘的部件200和层提供其他变体。还可以提供更少或更多的部件。然而,应当理解,该架构提供了用于部署各种硬件、软件、工作负载和数据的信任验证的可扩展方式。
图3描绘了与信任验证服务结合使用的示例软件堆栈300,以用于提供当前公开的TaaS架构。如图所示,这里的服务构建在标准容器化架构(例如,Kubernetes、K8S服务370)之上,其由许多服务提供商(例如,基础设施即服务/平台即服务云或边缘计算提供商380)提供。该软件堆栈是使用云原生架构构建的,并集成到服务网格360,使得规模、安全性、负载平衡的许多方面从域服务移出,移到服务网格360中。相应地,域服务(包括商业逻辑和基础设施逻辑)可以移到由服务网格360进行管理。
在软件堆栈300中,可以提供典型的软件即服务(SaaS)实例340和域服务350,它们与服务操作特征345(例如,多租户、可观察性、计量和分析、租户管理)协调。在这些服务之上,各个API层(例如,API层330、API客户端库320)允许不同方接口并消费服务(包括利用用户界面312、API客户端314、生态系统服务316等)。
本文讨论的TaaS架构可以被扩展以将来自机密计算技术355的信任引入到层360、350、340、330、312、314、316中的任何层处的操作。在简化层面上,这可以包括利用:可信供应链;TEE信任;平台信任;和设备信任来建立信任。
如将理解的,不同的独立软件供应商(ISV)可能希望在各种TaaS API和特征之上进行接口并提供增值服务。这可以通过各种可观察性、度量和分析服务来提供。因此,TaaS的一种可能部署是通过使用可以与TaaS API接口的服务提供商的生态系统来获得对选定数据的访问,因为TaaS提供增值服务(包括与ISV的协调运营和收入事件)。
可以为本文讨论的TaaS架构和服务提供多种用例。这些可以包括例如:
对于企业用户:在向机密计算工作负载发布密钥之前进行信任验证(例如,与AI模型推理相关);
对于ISV:隐私保护数据分发(例如,使用加密消息传送,或需要端到端安全性的其他应用和服务);
对于多方计算:可信联合机器学习
对于云服务提供商(CSP):供CSP使用的电信/通信服务提供商(CoSP)基础设施的信任验证;和
对于区块链用例:在准入区块链网络之前进行节点/对象验证。例如,信任验证可以在客户端、服务器或希望成为区块链网络的一部分的其他实体上实现。考虑具有客户的用例,要求实体在加入区块链网络之前必须具有某些安全特性。本文讨论的TaaS服务可以提供安全特性,同时网络中的现有系统验证这些特性。因此,如果实体确信新参与者是可信的并经过验证,则新参与者可以成为网络的可信部分。
对于NFT用例:当实体将NFT或其他虚拟对象的所有权从一个实体转移到另一个实体时验证信任。在实体取得所有权之前,本文讨论的TaaS服务可以用于验证从原始创建者(原始所有者)到经过验证的当前所有者的“保管链”存在。“保管链”的验证也可以应用于其他设置和用例。
图4示出了根据示例的用于云服务提供商(CSP)410处的密钥发布过程400的信任验证的用例。这里,CSP 410使用机密计算技术(例如,包括与证明保护密钥有关的加密)来安全地执行具有信任验证的工作流420。
在该设置中,CSP 410在代表终端客户430在可信执行环境450中利用解密模型执行工作负载440之前,可能需要执行工作流420的所有步骤。在从(例如,在另一个CSP处操作的)信任服务提供商460处的TaaS实例获得证明令牌,并且使用证明令牌来获得对模型进行解密的解密密钥之后,执行工作负载440。
图5示出了用于使用信任即服务系统执行工作负载(人工智能(AI)模型)的信任验证的示例工作流的流程图500。例如,这提供了关于图4中描绘的过程的更多细节,以用于使用通过受保护的AI模型的使用部署的特定工作负载。
在操作502,在初始设置中:工作负载所有者(企业)将加密的AI模型上传到CSP处的机密VM(将解密密钥保持在企业控制中)。
在操作504,工作负载TEE对TaaS实例进行证明,并且TaaS实例在评价证据和终端客户策略之后用证明令牌进行响应。
在操作506,工作负载向企业密钥服务器呈现证明令牌,以获取解密密钥。
在操作508,使用获取到的解密密钥在TEE内对AI模型进行解密。
在操作510,在TEE内执行AI模型。
在示例中,可以跨服务网格架构中使用的服务来实现TaaS特征。例如,以下验证方法确保作为分布式软件一部分的所有服务都在TEE中运行,并且在它们能够处理终端用户的请求之前经过证明和验证。除了调整验证策略之外,不需要改变解决方案的架构来处理分布式软件的大小、每服务的实例的数量以及服务实例之间的交互的变化。这允许该解决方案能够扩展并支持非常动态的分布式软件,例如云原生部署。
图6示出了用于在SaaS部署中实现TaaS特征的架构600的概览。这里,多个客户端610(工作负载、依赖方、门户)由用户(例如,诸如一个或多个管理员)操作以消费和操作SaaS部署的特征。SaaS部署可以包括由第三方或证明服务提供商操作的以下类别的服务,以提供TaaS特征:管理服务620;域服务630(包括用于证明的共享服务);数据服务640;整合服务650;和商业服务660。还可以使用附加或替换服务。
使用可信执行环境实现的证明服务
远程证明提供无可辩驳的证实,其验证平台和工作负载的身份,并且验证它们的行为符合预期。如上所述,证明可以应用于各种形式的TEE,例如软件保护扩展(SGX)、信任域扩展(TDX)等,以及包括可信供应链能力在内的平台完整性能力。
云客户越来越要求使用对于它们的工作负载和数据来说不在同一信任边界或可信域中的多个CSP。此外,云客户不希望CSP提供它们自己的证明,而是宁愿使用独立的第三方来提供关键的证明验证。
如上所述,经由伴随的信任服务建立信任提供了客户可能在各种设置中使用的关键需要(例如,要求或先决条件)。特别是,客户在将敏感数据、密钥和秘密发布到工作负载之前,可能需要验证不同平台和工作负载的可信度。由于信任的本质,证明提供了一种机制来提供多个声明断言,客户(依赖方)可以使用这些声明断言来决定是否继续。
越来越多的客户正在使用云原生技术来部署应用并利用云原生服务来获得能力。因此,客户预期证明服务能够作为具有行业标准REST API、多租户和可扩展性的云原生服务提供。证明解决方案仍处于早期阶段,但大多数服务提供商仅为其客户群或专有部署提供解决方案。这些服务提供商的客户希望可信的第三方提供证明,使得他们能够独立验证他们在这些服务提供商上的工作负载的可信度。此外,随着机密计算要求和用例的出现,对信任(和证明服务)的需求显著增长,并且对独立服务的需求非常高。
证明服务可能成为许多机密计算应用的成功部署的关键任务。云和边缘客户对平台和服务可信度验证的需求越来越高。然而,现有的证明方法依赖于CSP,并且客户仍然必须依赖于各个CSP进行几乎所有形式的证明、监控和安全控制。基于上述概念,下面实现了更多特征,以用于建立信任机构、证明服务和基于SaaS的架构,以用于特别是涉及TEE的用例的可扩展性和灵活性。
如上所述,信任机构的概念类似于来自证书机构的身份模型,其中,第三方供应商(具有已建立的机构和信任)提供发布证书(例如,x.509)的服务以及行业内的相关管理服务。应用或客户可以通过使用独立的第三方证书机构验证来自供应商(例如,银行)的服务证书的身份和合法性。以同样的方式,信任机构可以通过第三方或独立于CSP的服务提供商提供平台完整性、工作负载身份及其执行环境安全性(无论它在TEE内运行还是以其他方式运行)的证书。在以下示例中,使用不同等级的证明、平台证明、TEE(例如,SGX或TDX)证明以及各种附加服务,证明服务到信任机构的转移实现了上述目标。
图7示出了提供“证明即服务”(ATTaaS)的信任机构的参考架构700。ATTaaS的这种实现提供了上面参照图6示出的架构部件的简化视图,重点关注由微服务730中的核心服务使用的一组特定操作能力710以及由微服务730操作的功能720。例如,可以经由API网关741来访问微服务730,API网关741使用身份授权器742来访问相应的功能和核心服务。在示例中,参考架构700可以执行微服务730,以经由核心服务和用于其他能力的外围服务提供信任机构能力。微服务模型的使用符合行业趋势,并具有许多好处,包括云原生部署、性能扩展、管理敏捷性和可扩展性。
在示例中,参考架构700是独立于CSP的。换句话说,参考架构710可以部署在不同的云中而无需CSP锁定。例如,图7中所示的所有部件可以是部署在Kubernetes集群中的微服务,它们可在各种CSP上操作。使用架构700的信任机构可以提供ATTaaS服务以供多个(不同)CSP处的多个(不同)客户使用。因此,信任机构不仅可以提供核心服务(示为ATTaaS微服务730),而且还可以使用诸如管理、分析、计费、租户管理的操作能力710以及诸如身份管理、认证和授权、隔离、数据分区等的功能720。
在示例中,从ATTaaS配置提供三种不同的证明:TEE证明(例如,用于SGX或TDX用例的证明服务)、平台和设备证明以及透明供应链证明。图8具体示出了与用于应用微服务的TEE证明相关的各个部件。
图8示出了由多个微服务810组成的TEE(可信执行环境)证明服务,包括:策略执行服务811、报价验证服务812、缓存服务813、注册和PCS服务814、TEE代理服务815、816、策略创建者服务817等。
每个微服务810提供证明流程中的特定功能。此外,这些微服务中的每一个可以实现为云原生,以便根据性能要求进行扩展。进一步的示例可以使用上面概述的信任机构方法来提供服务到服务证明。
如将理解的,本技术可以应用于利用信任机构执行证明的各种用例。图9示出了特定用例900,在其中,信任机构提供ATTaS信任机构930,以提供在不同CSP中部署的两个不同服务(由CSP A 921运营的服务A 911和由CSP B 922运营的服务B 912)之间建立安全通信所需的证明。
传统上,相互TLS会话以及认证和授权方案将依赖于两个服务911、912之间的安全通信。在ATTaaS信任机构930(例如,在另一云服务提供商处的云中操作)的帮助下,可以提供附加相互服务证明。例如,由ATTaaS信任机构930执行的相互服务证明可以用于确保服务911、912都在有效的可信执行环境中运行(例如,在SGX飞地中或通过TDX特征)。因此,可以利用ATTaaS信任机构930来验证信任要求的CSP依赖性,从而允许在不同云中(在CSP 921、922处)运行的服务的相互证明。
图10示出了在两个云服务提供商之间执行的用于建立服务通信的证明操作的流程图1000。
在操作1001,提供服务(例如,在CSP A处运行的服务)的依赖方在TEE中操作这些服务。这里,依赖方尝试确保它提供的资源受到保护。
在操作1002,在CSP B处运行的应用尝试从部署在CSP A中的依赖方请求服务。
在操作1003,各方通过部署在中立CSP/云中的信任机构执行相互TEE证明。
在操作1004,信任机构识别双方是否都在TEE中运行,并且可以针对两个TEE验证该信任。该验证是在允许双方建立连接(通信或通信会话)之前执行的。在任何一方未能通过证明的情况下,可以终止通信或通信会话(在操作1005)。如果双方的证明都成功,则安全通信或通信会话可以在双方之间继续(在操作1006)。
图11示出了TEE证明及其高层次流程所涉及的其他部件的示例。竖直地示出了三个部分:部分1110中的部件涉及服务/应用的所有者(例如,租户);部分1120中的部件涉及信任机构;以及部分1130中的部件涉及租户工作负载运行的CSP。
在示例中,信任机构处的TEE证明服务1121包括三个微服务:缓存服务1122、报价验证服务1123和证明策略服务1124。缓存服务1122缓存平台证书及其可信计算库(TCB)信息。报价验证服务1123对照平台证书和TCB信息来验证正在运行的工作负载在它们被证明时提供的报价(例如,SGX报价或TD报价)。证明策略服务1124维护与工作负载相关的策略,并验证报价中包括的工作负载测量。信任机构的部署是灵活的且独立于CSP,并且因此可以包括附加或更少的微服务。
图12描绘了使用图11中的方法进行证明的进一步操作的流程图1200。这里,该流程图包括以下序列:
在操作1201:应用/服务所有者在CSP中部署应用之前,创建(或建立、激活等)用于该应用的证明策略。这可以通过图11中描绘的TEE策略创建操作1111来完成。证明策略定义由证明服务使用的关于如何验证/证明应用的准则。
在操作1202:所有者在CSP处部署应用。
在操作1203:云中的应用请求所有者拥有的资源。然而,在使用或与应用通信之前,该资源必须由部分1120中的证明服务1121进行证明。
在操作1204:证明服务1121成功地执行证明,并且发布包括经验证的应用的声明的证明令牌1141。
在操作1205:依赖方基于证明令牌中包含的声明来决定向应用提供所请求的资源。
独立于CSP实现这种基于SaaS的证明服务为各种云原生和基于微服务的部署的采用和扩展提供了有益的选择。迁移到云部署的企业应用/服务逐年稳步增长。这使得应用所有者越来越依赖于不同的CSP,同时也依赖于SLA和多个提供商来保护其工作负载。
虽然一些大型CSP在其云中提供有限的证明特征或服务,但是这样的特征或服务仅限于在CSP内使用(例如,基于TCB(可信计算库)特征)。应当理解,使用独立于CSP的证明服务来验证应用/服务可能成为可移植性和互操作性的关键要求。此外,信任机构及其证明服务的当前实现提供了用于解决现有部署的问题的独特方法。这可以有助于减少或消除CSP依赖性和锁定,并实现改进的安全用例。
如将理解的,提供具有基于SaaS的系统的信任机构架构提供了灵活性、隔离和云原生解决方案以满足租户需求。此外,这种架构可以扩展,以适应TEE证明之外的更多证明,以添加平台证明、清单管理和其他特征。此外,它也是基于行业标准的,并潜在地推动更多标准化。因此,除了上面直接讨论的那些之外,可以对信任机构或ATTaaS实例实现各种修改。
图13是示出用于实现和操作证明服务的示例过程的流程图1300。该流程图1300是从操作证明服务(如上所述)的信任服务提供商的角度来描绘的。与上面的示例一致,流程图1300的操作可以由信任服务提供商处的证明服务执行或与证明服务一起编排,其中,证明服务与一个或多个微服务一起操作。然而,应当理解,对应的操作也可以在包括“依赖方”(想要证实证明的设备或系统或实体,也可以被称为“依赖设备”)和“请求方”(使用证明服务生成证明的证实的设备或系统或实体,也可以称为“请求设备”)的其他实体处执行或与其他实体协调。
在操作1301,从请求方(在由信任服务提供商运营的证明服务处)接收请求以获得证明证据。该请求的证明证据包括要由依赖方评估的、充当请求方的计算配置的信任的证实的信任声明(或“证明声明”)。在示例中,证明证据提供的信任声明包括指示要由评价者(依赖方)审查的、符合任何数量的可信计算或证明技术方法的目标(请求方)的某些财产或多个财产(资产)的数据。在示例中,请求方位于第一操作域(例如,第一云服务提供商),依赖方位于第二操作域(例如,第二云服务提供商),并且信任服务提供商位于第三操作域(例如,第三云服务提供商)。另外,在示例中,响应于从依赖方向请求方提供的对信任的某种证实的(先前)请求,从请求方向信任服务提供商提供对证明证据的请求。
在操作1302,信任服务提供商获得并评估与请求方(并且可选地,依赖方)关联的证明策略。在示例中,证明策略指定用于生成、评估或提供证明的证实的一个或多个要求。
在操作1303,信任服务提供商基于证明策略来创建证明令牌。该证明令牌为信任声明提供信任的证实,以建立某些资产(例如,可信计算部件、配置或环境)的可信度。例如,可以代表请求方的计算配置生成用于信任声明的信任的证实,其涉及在请求方处使用可信执行环境。
在操作1304,证明令牌被提供(例如,传递)给请求方,并且在操作1305,请求方将证明令牌提供(例如,转发)给依赖方作为信任的证实。在示例中,依赖方基于验证来自令牌的信任声明(充当信任的证实)来控制对资源的访问。在另一示例中,依赖方基于验证来自令牌的信任声明(再次,充当信任的证实)来控制对资源的访问。
在操作1306,可以可选地执行附加操作以代表依赖方重复证明评估和令牌生成操作(依赖方和请求方的角色颠倒)。这可以允许原始请求方评估为原始依赖方提供附加信任声明的附加证明证据,以使两方能够彼此执行相互证明。可以基于该相互证明来执行未描绘的附加操作。
示例边缘计算架构
尽管前面的讨论是参考特定的联网计算部署来提供的,但是应当理解,TaaS实例可以在任何数量的从“云”访问服务的设备、从“边缘云”访问服务的设备,或从“数据中心云”访问服务的设备处实现。特别是,为了使边缘设备成功访问边缘云中的任何服务,必须证明边缘设备是安全的。
因此,本技术提供了一种框架,以使得能够在边缘处履行服务之前对边缘的安全性部分进行证明。此外,本技术提供了从数据中心到云再到边缘的连续验证。
图14是示出用于边缘计算的配置的概览的框图1400,其包括在许多当前示例中被称为“边缘云”的处理层。如图所示,边缘云1410共同位于边缘位置,例如接入点或基站1440、本地处理中枢1450或中心局1420,并且因此可以包括多个实体、装置和设备实例。边缘云1410距离端点(消费者和生产者)数据源1460(例如,自主车辆1461、用户设备1462、商业和工业设备1463、视频捕获设备1464、无人机1465、智慧城市和建筑设备1466、传感器和IoT设备1467等)比云数据中心1430更近。在边缘云1410中的边缘处提供的计算资源、存储器资源和存储资源对于为端点数据源1460使用的服务和功能提供超低时延响应时间以及减少从边缘云1410到云数据中心1430的网络回传业务至关重要,从而改善能耗和总体网络使用率并且获得其他好处。
计算、存储器和存储是稀缺资源,并且通常根据边缘位置而减少(例如,在消费者端点设备处可用的处理资源比在基站或中心局处可用的处理资源少)。然而,边缘位置距离端点(例如,UE)越近,空间和功率受到的限制就越大。因此,作为一般设计原则,边缘计算尝试通过分配更多在地理位置和网络内访问时间两者上更接近的资源来最小化网络服务所需的资源。以这种方式,边缘计算尝试在适当的情况下将计算资源带到工作负载数据,或者将工作负载数据带到计算资源。
下面描述边缘云架构的各方面,其覆盖多种潜在部署并解决一些网络运营商或服务提供商在其自己的基础设施中可能具有的限制。这些包括基于边缘位置的配置变化(例如,因为基站级别处的边缘在多租户场景中可能具有更多受约束的性能和能力);基于可供边缘位置、位置层或位置组使用的计算、存储器、存储、构造、加速或类似资源类型的配置;服务、安全、管理和编排能力;以及实现终端服务的可用性和性能的相关目标。这些部署可以在网络层中完成处理,这些网络层可以被视为“近边缘”、“接近边缘”、“本地边缘”、“中边缘”或“远边缘”层,这取决于时延、距离和时序特性。
边缘计算是一种发展范例,其中通常通过使用在基站、网关、网络路由器或距离生产和消费数据的端点设备更近的其他设备处实现的计算平台(例如,x86、AMD或ARM硬件架构),在网络“边缘”处或更接近网络“边缘”处执行计算。例如,边缘网关服务器可以配备存储器和存储资源池,以为已连接的客户端设备的低时延用例(例如,自主驾驶或视频监控)实时执行计算。或者作为示例,基站可以通过计算资源和加速资源来增强,以直接处理已连接的用户设备的服务工作负载,而无需经由回传网络进一步传递数据。或者作为另一个示例,中心局网络管理硬件可以被替换为执行虚拟化网络功能并提供用于执行已连接设备的服务和消费者功能的计算资源的计算硬件。在边缘计算网络内,服务中可能存在计算资源将“移动”到数据的场景,以及数据将“移动”到计算资源的场景。或者作为示例,基站计算资源、加速资源和网络资源可以提供服务,以通过激活休眠容量(订阅、按需容量)来按需扩展到工作负载需求,以管理极端情况、紧急情况或在明显更长实现的生命周期上为部署的资源提供寿命。
与图14的网络架构相比,传统端点(例如,UE、车辆到车辆(V2V)、车辆到万物(V2X)等)应用依赖于本地设备或远程云数据存储和处理以交换和协调信息。云数据布置允许长期数据收集和存储,但对于高度时变的数据(例如,碰撞、交通灯变化等)来说并不是最优的,并且尝试满足时延挑战可能失败。
根据通信上下文中的实时要求,可以在边缘计算部署中定义数据处理和存储节点的分层结构。例如,这样的部署可以包括本地超低时延处理、区域存储和处理以及基于远程云数据中心的存储和处理。关键性能指标(KPI)可以用于识别传感器数据最佳传输的位置以及它被处理或存储的位置。这通常取决于数据的ISO层依赖性。例如,较低层(PHY、MAC、路由等)数据通常变化很快,并且可以更好地在本地处理以满足时延要求。诸如应用层数据的高层数据通常对时间要求较低,并且可以在远程云数据中心存储和处理。
图15示出了在多个边缘节点和多个租户之间操作的边缘计算系统上的虚拟边缘配置的部署和编排。具体地,图15描绘了边缘计算系统1500中的第一边缘节点1522和第二边缘节点1524的协调,以完成对各种客户端端点1510(例如,智慧城市/建筑系统、移动设备、计算设备、商业/物流系统、工业系统等)的请求和响应,这些端点访问各种虚拟边缘实例。虚拟边缘实例232、234(或虚拟边缘)提供边缘云中的边缘计算能力和处理,并且访问云/数据中心1540以用于对网站、应用、数据库服务器等提出更高时延请求。因此,边缘云使得能够协调多个租户或实体的多个边缘节点之间的处理。
在图15的示例中,这些虚拟边缘实例包括:提供给第一租户(租户1)的第一虚拟边缘1532,其提供边缘存储、计算和服务的第一组合;第二虚拟边缘1534,向第二租户(租户2)提供边缘存储、计算和服务的第二组合。虚拟边缘实例1532、1534分布在边缘节点1522、1524之间,并且可以包括从相同或不同边缘节点履行请求和响应的场景。每个边缘节点1522、1524以分布式但协调的方式操作的配置基于边缘配给功能1550发生。边缘节点1522、1524在多个租户之间为应用和服务提供协调操作的功能基于编排功能1560发生。
应当理解,1510中的一些设备是多租户设备,其中,租户l可以在租户l“切片”内运行,而租户2可以在租户2“切片”内运行(并且,在进一步的示例中,附加租户或子租户可能存在;并且每个租户甚至可能被专门授权并在事务上与一组特定特征一直绑定到特定硬件特征)。可信多租户设备还可以包含租户特定加密密钥,使得密钥和切片的组合可以被认为是“信任根”(RoT)或租户特定RoT。RoT还可以使用安全架构来动态计算,例如DICE(设备身份合成引擎)架构,其中DICE硬件构建块用于构建分层可信计算基础上下文,以用于设备能力的安全和认证分层(例如,通过使用现场可编程门阵列(FPGA))。RoT还可以用于可信计算上下文以支持相应的租户操作等。可以通过本文进一步讨论的证明操作来增强该RoT和安全架构的使用。
边缘计算节点可以对资源(存储器、中央处理单元(CPU)、图形处理单元(GPU)、中断控制器、输入/输出(I/O)控制器、存储器控制器、总线控制器等)进行分区,其中各种分区可以包含RoT能力,并且根据DICE模型的扇出和分层可以进一步应用于边缘节点。由容器、FaaS(功能即服务)引擎、小服务程序、服务器或其他计算抽象组成的云计算节点可以根据DICE分层和扇出结构进行分区,以支持每一者的RoT上下文。因此,跨越1510、1522和1540中的设备的各个RoT可以协调分布式可信计算库(DTCB)的建立,使得可以建立端到端链接所有元件的租户特定虚拟可信安全信道。
此外,应当理解,容器可以具有保护其内容免受先前边缘节点影响的数据或工作负载特定密钥。作为容器迁移的一部分,源边缘节点处的pod(容器集)控制器可以从目标边缘节点pod控制器获得迁移密钥,其中该迁移密钥用于包装容器特定密钥。当容器/pod迁移到目标边缘节点时,解包密钥将开放给pod控制器,然后pod控制器解密包装的密钥。这些密钥现在可以用于对容器特定数据执行操作。迁移功能可以由经过适当证明的边缘节点和pod管理器进行门控(如上所述)。
作为示例,边缘计算系统可以被扩展以通过使用容器(提供代码和所需依赖项的包含的、可部署的软件单元)在多所有者、多租户环境中提供多个应用的编排。多租户编排器可以用于执行密钥管理、信任锚管理以及与图15中的可信“切片”概念的配给和生命周期相关的其他安全功能。编排器可以使用DICE分层和扇出构造来创建租户特定的信任根上下文。因此,由编排器提供的编排功能可以作为租户特定编排提供商参与。
因此,边缘计算系统可以被配置为履行来自多个虚拟边缘实例(以及来自云或远程数据中心,未示出)的各种客户端端点的请求和响应。使用这些虚拟边缘实例可以同时支持多个租户和多个应用(例如,增强现实(AR)/虚拟现实(VR)、企业应用、内容交付、游戏、计算卸载)。此外,虚拟边缘实例内可能存在多种类型的应用(例如,普通应用、时延敏感应用、时延关键应用、用户平面应用、联网应用等)。虚拟边缘实例还可以跨越位于不同地理位置的多个所有者的系统(或者由多个所有者共同拥有或共同管理的相应计算系统和资源)。
例如,每个边缘节点1522、1524可以实现容器的使用,例如使用提供一组一个或多个容器的容器“pod”1526、1528。在使用一个或多个容器pod的设置中,pod控制器或编排器负责pod中容器的本地控制和编排。根据每个容器的需要来划分为虚拟边缘1532、1534的各个边缘切片提供的各种边缘节点资源(例如,存储、计算、服务,用六边形描绘)。
通过使用容器pod,pod控制器监督容器和资源的分区和分配。pod控制器从(例如,执行编排功能1560的)编排器接收指令,该指令例如通过接收基于SLA合同的关键性能指标(KPI)目标,指示控制器如何最好地划分物理资源以及持续多少时间。pod控制器确定哪个容器需要哪些资源以及需要多长时间才能完成工作负载并满足SLA。pod控制器还管理容器生命周期操作,例如:创建容器、为其配给资源和应用、协调一起在分布式应用上工作的多个容器之间的中间结果、在工作负载完成时拆除容器等。此外,pod控制器可以充当安全角色,其阻止分派资源直到正确的租户进行身份验证为止,或者阻止向容器配给数据或工作负载直到满足证明结果为止。
另外,通过使用容器pod,租户边界仍然可以存在,但是在每个容器pod的上下文中。如果每个租户特定pod具有租户特定pod控制器,则可能存在共享pod控制器,其合并资源分配请求以避免典型的资源匮乏情况。可以提供进一步的控制来确保pod和pod控制器的证明和可信度。例如,编排器1560可以向执行证明验证的本地pod控制器配给证明验证策略。如果证明满足第一租户pod控制器而不是第二租户pod控制器的策略,则第二pod可以迁移到确实满足它的不同边缘节点。替换地,可以允许第一pod执行,并且在第二pod执行之前安装并调用不同的共享pod控制器。
在进一步的示例中,边缘计算系统可以在边缘计算系统中部署容器。作为简化的示例,容器管理器适于通过经由计算节点的执行来启动容器化的pod、功能和功能即服务实例,或者通过经由计算节点的执行来单独地执行容器化的虚拟化网络功能。这种布置可以适于由系统布置中的多个租户使用,其中,容器化的pod、功能和功能即服务实例在特定于每个租户的虚拟机内启动(除了虚拟化网络功能的执行之外)。
在边缘云内,第一边缘节点1522(例如,由第一所有者操作)和第二边缘节点1524(例如,由第二所有者操作)可以操作容器编排器或对容器编排器进行响应,以协调在虚拟边缘实例内为各个租户提供的各种应用的执行。例如,可以基于边缘配给功能1550来协调边缘节点1522、1524,而利用编排功能1560来协调各种应用的操作。
各种系统布置可以提供在应用组成方面平等地对待VM、容器和功能的架构(并且得到的应用是这三个成分的组合)。每个成分可以涉及使用一个或多个加速器(例如,FPGA、ASIC)部件作为本地后端。以此方式,可以在多个边缘所有者之间划分应用,并由编排器进行协调。
应当理解,本文讨论的边缘计算系统和布置可以可应用于各种解决方案、服务和/或用例。作为示例,图16示出了简化的车辆计算和通信用例,其涉及对边缘计算系统1600中的应用的移动访问,边缘计算系统1600实现连接到信任即服务实例1645的边缘云1410。在该用例中,每个客户端计算节点1610可以体现为位于对应车辆中的车载计算系统(例如,车载导航和/或信息娱乐系统),该系统在沿道路行驶期间与边缘网关节点1620通信。例如,边缘网关节点1620可以位于路边机柜中,路边机柜可以沿着道路放置,放置在道路交叉口处,或者放置在道路附近的其他位置。当每个车辆沿着道路行驶时,其客户端计算节点1610与特定边缘网关节点1620之间的连接可以传播以维持客户端计算节点1610的一致连接和上下文。每个边缘网关节点1620包括一些处理和存储能力,并且因此,用于客户端计算节点1610的数据的一些处理和/或存储可以在一个或多个边缘网关节点1620上执行。
每个边缘网关节点1620可以与一个或多个边缘资源节点1640通信,边缘资源节点1640说明性地体现为位于通信基站1642(例如,蜂窝网络的基站)处或之中的计算服务器、电器或部件。如上所述,每个边缘资源节点1640包括一些处理和存储能力,并且因此,可以在边缘资源节点1640上执行用于客户端计算节点1610的数据的一些处理和/或存储。例如,不太紧急或重要的数据的处理可以由边缘资源节点1640执行,而高度紧急或重要数据的处理可以由边缘网关设备或客户端节点本身执行(取决于例如每个部件的能力)。此外,各种有线或无线通信链路(例如,光纤有线回传、5G无线链路)可以存在于边缘节点1620、边缘资源节点340、核心数据中心1650和网络云1660之间。
边缘资源节点1640还与核心数据中心1650通信,核心数据中心1650可以包括位于中心位置(例如,蜂窝通信网络的中心局)的计算服务器、电器和/或其他部件。核心数据中心1650可以为由边缘资源节点1640和边缘网关节点1620形成的边缘云1410操作提供至全球网络云1660(例如,互联网)的网关。另外,在一些示例中,核心数据中心1650可以包括一定量的处理和存储能力,并且因此,可以在核心数据中心1650上执行用于客户端计算设备的数据的一些处理和/或存储(例如,低紧急度或重要性,或高复杂性的处理)。边缘网关节点1620或边缘资源节点1640可以提供对状态应用1632和地理分布式数据存储1634(例如,数据库、数据存储区等)的使用。
在进一步的示例中,图16可以利用各种类型的移动边缘节点,例如托管在车辆(例如,汽车、卡车、有轨电车、火车等)或其他移动单元中的边缘节点,因为边缘节点将移动到沿着托管它的平台的其他地理位置。通过车辆到车辆通信,各个车辆甚至可以充当用于其他车辆的网络边缘节点(例如,以执行缓存、上报、数据聚合等)。因此,应当理解,在各个边缘节点中提供的应用部件可以分布在各种设置中,包括各个端点设备或边缘网关节点1620处的一些功能或操作、边缘资源节点1640处的一些其他功能或操作、以及核心数据中心1650或全球网络云1660中的其他功能或操作之间的协调。
在进一步的配置中,边缘计算系统可以通过使用相应的可执行应用和功能来实现FaaS计算能力。在示例中,开发者编写代表一个或多个计算机功能的功能代码(例如,本文的“计算机代码”),并将该功能代码上传到例如边缘节点或数据中心提供的FaaS平台。诸如服务用例或边缘处理事件的触发器利用FaaS平台发起功能代码的执行。
在FaaS的示例中,容器用于提供执行功能代码的环境。容器可以是任何隔离执行实体,例如进程、Docker或Kubernetes容器、虚拟机等。在边缘计算系统中,各种数据中心、边缘和端点(包括移动)设备用于“起转(spin up)”按需扩展的功能(例如,激活和/或分配功能动作)。功能代码在物理基础设施(例如,边缘计算节点)设备和底层虚拟化容器上得以执行。最后,响应于执行完成,在基础设施上“停转(spin down)”(例如,停用和/或去分配)容器。
FaaS的另外方面可以使得能够以服务方式部署边缘功能,包括支持边缘计算即作为服务的各个功能的支持。FaaS的其他功能可以包括:细粒度计费部件,其使得客户(例如,计算机代码开发者)仅在其代码执行时才付费;公共数据存储,用于存储供一个或多个功能重用的数据;各个功能之间的编排和管理;功能执行管理、并行性和合并;管理容器和功能存储器空间;协调可供功能使用的加速资源;以及容器之间的功能分发(包括已部署或操作的“热”容器,以及需要部署或配置的“冷”容器)。
示例物联网架构
作为物联网(IoT)网络的更详细说明,图17示出了与若干IoT设备和TaaS实例1745通信的云或边缘计算网络1700的图。IoT是以下概念:其中大量计算设备彼此互连并与互联网互连,以在非常低的等级提供功能性和数据采集。因此,如本文使用的,IoT设备可以包括执行诸如感测或控制等功能的半自主设备,其与其他IoT设备和更广泛的网络(例如,互联网)通信。
通常,IoT设备在存储器、尺寸或功能方面是有限的,与较少数量的较大设备的成本相比,允许以相似(或较低)的成本部署较大数量的设备。然而,IoT设备可以是智能手机、笔记本电脑、平板电脑、或PC或其他更大的设备。此外,IoT设备可以是虚拟设备,例如智能手机或其他计算设备上的应用。IoT设备可以包括IoT网关,用于将IoT设备耦合到其他IoT设备和云应用,以用于数据存储、过程控制等。
IoT设备的网络可以包括商业和家庭自动化设备,例如供水系统、电力分发系统、管道控制系统、工厂控制系统、灯开关、恒温器、锁、摄像头、警报器、运动传感器等。IoT设备可以通过远程计算机、服务器和其他系统进行访问,例如以控制系统或访问数据。
返回到图17,网络1700可以表示互联网的部分,或者可以包括局域网(LAN)或广域网(WAN)的部分,例如公司的专有网络。IoT设备可以包括以各种组合成组的任何数量的不同类型的设备。例如,交通控制组1706可以包括沿着城市街道的IoT设备。这些IoT设备可以包括红绿灯、交通流量监视器、摄像头、天气传感器等。交通控制组406或其他子组可以通过有线或无线链路1708(例如,LPWA链路、光链路等)在网络1700内进行通信。此外,有线或无线子网络1712可以允许IoT设备例如通过局域网、无线局域网等彼此通信。IoT设备可以使用诸如网关1710或1728的另一设备来与诸如远程云1702的远程位置进行通信;IoT设备还可以使用一个或多个服务器1730来促进网络1700内或与网关1710的通信。例如,一个或多个服务器1730可以作为中间网络节点操作,以支持局域网中的本地边缘云或雾实现。此外,所描绘的网关1728可以在云到网关到许多边缘设备的配置中操作,例如各种IoT设备1714、1720、1724对于网络1700中资源的分派和使用是受约束的或动态的。
在示例实施例中,网络1700还可以包括或通信地耦合到信任即服务实例或部署,其被配置为在网络1700内执行信任证明操作,例如上面讨论的。
IoT设备的其他示例组可以包括远程天气站1714、本地信息终端1716、警报系统1718、自动柜员机1720、警报面板1722或移动车辆(例如,紧急车辆1724或其他车辆1726等)。这些IoT设备中的每一个可以与其他IoT设备、与服务器1704、与另一个IoT设备或系统、另一个边缘计算或“雾”计算系统、或者其中的组合进行通信。IoT设备组可以部署在各种住宅、商业和工业设置中(包括私人或公共环境两者)。
从图17可以看出,大量的IoT设备可以通过网络1700进行通信。这可以允许不同的IoT设备自主地向其他设备请求或提供信息。例如,一组IoT设备(例如,交通控制组1706)可以从一组远程天气站1714请求当前天气预报,远程天气站1714可以在没有人工干预的情况下提供预报。此外,自动柜员机1720可以向紧急车辆1724发出入室盗窃正在进行的警报。当紧急车辆1724向自动柜员机1720行进时,它可以访问交通控制组1706以请求对该位置的清场,例如通过信号灯变红以阻止十字路口的交叉交通,以使得紧急车辆1724有足够的时间畅通无阻地进入十字路口。
IoT设备集群可以被配备为与其他IoT设备以及与云网络通信。这可以允许IoT设备在设备之间形成ad-hoc网络,从而允许它们作为单个设备运行,这可以被称为雾设备或系统。IoT设备的集群,例如可以由远程天气站1714或交通控制组1706提供,可以被配备为与其他IoT设备以及与网络1700通信。这可以允许IoT设备在设备之间形成ad-hoc网络,从而允许它们作为单个设备运行,这也可以称为雾设备或系统。
在进一步的示例中,多种拓扑可以用于包括IoT设备的IoT网络,其中IoT网络通过主干链路耦合到相应的网关。例如,多个IoT设备可以与网关通信,并通过网关彼此通信。主干链路可以包括任何数量的有线或无线技术(包括光网络),并且可以是局域网(LAN)、广域网(WAN)或互联网的一部分。此外,此类通信链路促进IoT设备和网关两者之间的光信号路径,包括使用促进各种设备互连的复用/解复用部件。
网络拓扑可以包括任何数量类型的IoT网络,例如配备有使用蓝牙低功耗(BLE)链路的网络的mesh网络。可能存在的其他类型的IoT网络包括:用于通过IEEE 802.11链路与IoT设备通信的无线局域网(WLAN)网络、用于通过LTE/LTE-A(4G)或5G蜂窝网络与IoT设备通信的蜂窝网络、以及低功耗广域(LPWA)网络(例如,与LoRa联盟颁布的LoRaWan规范兼容的LPWA网络,或者与互联网工程任务组(IETF)颁布的规范兼容的低功耗广域网(LPWAN)网络上的IPv6)。
此外,各个IoT网络可以使用任何数量的通信链路(例如,LTE蜂窝链路、LPWA链路或基于IEEE 802.15.4标准(例如,)的链路)与外部网络提供商(例如,层2或层3提供商)通信。各个IoT网络还可以使用各种网络和互联网应用协议(例如,受限应用协议(CoAP))来操作。各个IoT网络还可以与协调器设备集成,协调器设备提供形成已链接的设备和网络的集群树的链路链。
IoT网络可以通过将感测技术(例如,声音、光、电子流量、面部和模式识别、气味、振动)集成到IoT设备之间的自主组织中来进一步增强。传感系统的集成可以允许根据合同服务目标、编排和基于服务质量(QoS)的资源群集和融合来系统地且自主地通信和服务交付的协调。
例如,布置为mesh网络的IoT网络可以通过执行内联数据到信息变换的系统来增强。例如,包括多链路网络的处理资源的自形成链可以以高效的方式分发原始数据到信息的变换以及区分资产和资源以及每一者的关联管理的能力。此外,可以插入基于基础设施和资源的信任和服务索引的恰当部件,以改善数据完整性、质量、保证并提供数据置信度的度量。
示例计算设备
在更一般的层面上,边缘计算系统可以被描述为涵盖在边缘云1410中操作的任何数量的部署,其提供来自客户端和分布式计算设备的协调。出于说明目的,图18提供了在边缘计算环境中部署的分布式计算层的进一步抽象概览。
图18一般性地描绘了用于向多利益相关者实体提供边缘服务和应用的边缘计算系统,该边缘计算系统分布在一个或多个客户端计算节点1802、一个或多个边缘网关节点1812、一个或多个边缘聚合节点1822、一个或多个核心数据中心1832以及全球网络云1842之间,如分布在网络层上那样。边缘计算系统的实现可以由电信服务提供商(“telco”或“TSP”)、物联网服务提供商、云服务提供商(CSP)、企业实体或任何其他数量的实体提供或代表其提供。各种形式的有线或无线连接可以被配置为在节点1802、1812、1822、1832之间建立连接,包括这些节点之间的互连(例如,边缘网关节点1812之间的连接,以及边缘聚合节点1822之间的连接)。这些节点的这种连接和联合可以通过使用TaaS服务2560和服务实例来辅助,如本文讨论的。
边缘计算系统的每个节点或设备位于对应于层1810、1820、1830、1840和1850的特定层。例如,客户端计算节点1802各自位于端点层1810,而每个边缘网关节点1812位于边缘计算系统的边缘设备层1820(本地层)。另外,每个边缘聚合节点1822(和/或雾设备1824,如果与雾联网配置1826一起或在其中布置或操作)位于网络接入层1830(中间层)。雾计算(或“雾化”)通常是指将云计算扩展到企业网络边缘,通常是在协调的分布式或多节点网络中。某些形式的雾计算代表云计算位置,在终端设备和云计算数据中心之间提供计算、存储和联网服务的部署。这种形式的雾计算提供与本文讨论的边缘计算一致的操作;本文讨论的许多边缘计算方面适用于雾网络、雾化和雾配置。此外,本文讨论的边缘计算系统的各方面可以被配置为雾,或者雾的各方面可以被集成到边缘计算架构中。
核心数据中心1832位于核心网层1840(例如,区域或地理中心等级),而全球网络云1842位于云数据中心层1850(例如,国家或全球层)。“核心”的使用是指集中式网络位置(位于网络更深处)的术语,可由多个边缘节点或部件访问;然而,“核心”并不一定指网络的“中心”或最深位置。因此,核心数据中心1832可以位于边缘云1410内、处或附近。
尽管在图18中示出了说明性数量的客户端计算节点1802、边缘网关节点1812、边缘聚合节点1822、核心数据中心1832和全球网络云1842,但是应当理解,边缘计算系统可以在每层包括更多或更少的设备或系统。另外,如图18所示,每层1810、1820、1830、1840和1850的部件数量通常在每个较低层处增加(即,当移动靠近端点时)。因此,一个边缘网关节点1812可以服务多个客户端计算节点1802,并且一个边缘聚合节点1822可以服务多个边缘网关节点1812。
根据本文提供的示例,每个客户端计算节点1802可以被体现为能够作为数据的生产者或消费者进行通信的任何类型的端点部件、设备、电器或“物体”。此外,边缘计算系统1800中使用的标签“节点”或“设备”不一定意味着这样的节点或设备以客户端或仆从/追随者/代理角色操作;相反,边缘计算系统1800中的任何节点或设备是指包括分立或连接的硬件或软件配置以促进或使用边缘云1410的单独实体、节点或子系统。
因此,边缘云1410由分别由层1820、1830的边缘网关节点1812和边缘聚合节点1822操作并在其内操作的网络部件和功能特征形成。边缘云1410可以体现为提供边缘计算和/或存储资源的任何类型的网络,这些资源最接近具有无线接入网(RAN)能力的端点设备(例如,移动计算设备、IoT设备、智能设备等),其在图18中被示为客户端计算节点1802。换句话说,边缘云1410可以被设想为连接端点设备和充当服务提供商核心网的入口点的传统移动网络接入点的“边缘”,服务提供商核心网包括承载网(例如,全球移动通信系统(GSM)网络、长期演进(LTE)网络、5G网络等),同时还提供存储和/或计算能力。也可以利用其他类型和形式的网络接入(例如,Wi-Fi、远程无线网络)来代替这样的3GPP承载网或与其结合。
在一些示例中,边缘云1410可以形成雾联网配置1826(例如,雾设备1824的网络,未详细示出)的一部分或者提供进入其或跨越其的入口点,其可以体现为分发资源和服务来执行特定功能的系统级水平分布式架构。例如,雾设备1824的协调和分布式网络可以在IoT系统布置的上下文中执行计算、存储、控制或联网方面。其他联网的、聚合的和分布式的功能可以存在于云数据中心层1850和客户端端点(例如,客户端计算节点1802)之间的边缘云1410中。其中一些将在以下几部分中在网络功能或服务虚拟化的上下文下讨论,包括为多个利益相关者编排的虚拟边缘和虚拟服务的使用。
边缘网关节点1812和边缘聚合节点1822协作以向客户端计算节点1802提供各种边缘服务和安全性。此外,因为每个客户端计算节点1802可以是固定的或移动的,所以每个边缘网关节点1812可以与其他边缘网关设备协作,以在对应的客户端计算节点1802在区域周围移动时,传播当前提供的边缘服务和安全性。为此,边缘网关节点1812和/或边缘聚合节点1822中的每一个可以支持多个租赁和多个利益相关者配置,在其中,可以跨单个或多个计算设备支持和协调来自多个服务提供商和多个消费者(为其托管)的服务。
在进一步的示例中,参考本边缘计算系统和环境讨论的任何计算节点或设备可以基于图19和图20中描绘的部件来实现。每个边缘计算节点可以体现为一种类型的设备、电器、计算机或能够与其他边缘、网络或端点部件通信的其他“物体”。例如,边缘计算设备可以体现为个人计算机、服务器、智能手机、移动计算设备、智能电器、车载计算系统(例如,导航系统)、具有外壳、壳体等的独立设备,或能够执行所描述功能的其他设备或系统。
在图19所示的简化示例中,边缘计算节点1900包括计算引擎(本文也称为“计算电路”)1902、输入/输出(I/O)子系统1908、数据存储1910、通信电路子系统1912,以及可选的一个或多个外围设备1914。在其他示例中,每个计算设备可以包括其他或附加部件,例如在个人或服务器计算系统中使用的那些部件(例如,显示器、外围设备等)。另外,在一些示例中,一个或多个示例部件可以并入另一部件中,或者形成另一部件的一部分。
计算节点1900可以被体现为能够执行各种计算功能的任何类型的引擎、设备或设备集合。在一些示例中,计算节点1900可以被实现为单个设备,例如集成电路、嵌入式系统、现场可编程门阵列(FPGA)、片上系统(SOC)或其他集成系统或设备。在说明性示例中,计算节点1900包括或被体现为处理器1904和存储器1906。处理器1904可以被体现为能够执行本文描述的功能(例如,执行应用)的任何类型的处理器。例如,处理器1904可以被实现为多核处理器、微控制器、处理单元、专用或专门处理单元、或其他处理器或处理/控制电路。在一些示例中,处理器1904可以被实现为、包括或耦合到FPGA、专用集成电路(ASIC)、可重新配置的硬件或硬件电路、或其他专用硬件以促进本文描述的功能的执行。另外,在一些示例中,处理器1904可以被实现为也称为数据处理单元(DPU)、基础设施处理单元(IPU)或网络处理单元(NPU)的专用x处理单元(xPU)。这样的xPU可以体现为独立电路或电路封装,集成在SOC内,或与联网电路(例如,在SmartNIC或增强型SmartNIC中)、加速电路、存储设备或AI或专用硬件(例如,GPU、编程的FPGA、网络处理单元(NPU)、基础设施处理单元(IPU)、存储处理单元(SPU)、AI处理器(APU)、数据处理单元(DPU)或其他专用加速器(例如,加密处理单元/加速器))集成。除了CPU或通用处理硬件之外,这样的xPU可以被设计为接收编程来处理一个或多个数据流并为数据流执行特定任务和动作(例如,托管微服务、执行服务管理或编排、组织或管理服务器或数据中心硬件、管理服务网格,或收集和分发遥测数据)。然而,应当理解,xPU、SOC、CPU和处理器1904的其他变体可以彼此协调工作以在计算节点1900内并代表其执行多种类型的操作和指令。
主存储器1906可以被体现为能够执行本文描述的功能的任何类型的易失性(例如,动态随机存取存储器(DRAM)等)或非易失性存储器或数据存储。易失性存储器可以是需要电力来维持由该介质存储的数据的状态的存储介质。易失性存储器的非限制性示例可以包括各种类型的随机存取存储器(RAM),例如DRAM或静态随机存取存储器(SRAM)。可以在存储器模块中使用的一种特定类型的DRAM是同步动态随机存取存储器(SDRAM)。
在一个示例中,存储器设备是块可寻址存储器设备,例如基于NAND或NOR技术的存储器设备。存储器设备还可以包括三维交叉点存储器设备(例如,Intel 3D XPointTM存储器)或其他字节可寻址就地写入非易失性存储器设备。存储器设备可以指管芯本身和/或指封装的存储器产品。在一些示例中,3D交叉点存储器(例如,Intel 3D XPointTM存储器)可以包括无晶体管可堆叠交叉点架构,其中存储器单元位于字线和位线的交叉点处并且可单独寻址,并且其中位存储基于体电阻的变化。在一些示例中,主存储器1906的全部或一部分可以集成到处理器1904中。主存储器1906可以存储在操作期间使用的各种软件和数据,例如一个或多个应用、由应用操作的数据、库和驱动程序。
计算电路1902经由I/O子系统1908通信耦合到计算节点1900的其他部件,I/O子系统1908可以被体现为电路和/或部件以促进与计算电路1902(例如,与处理器1904和/或主存储器1906)以及计算电路1902的其他部件的输入/输出操作。例如,I/O子系统1908可以被体现为或者包括存储器控制器中枢、输入/输出控制中枢、集成传感器中枢、固件设备、通信链路(例如,点对点链路、总线链路、电线、电缆、光导、印刷电路板迹线等)和/或其他部件和子系统以促进输入/输出操作。在一些示例中,I/O子系统1908可以形成片上系统(SoC)的一部分,并且与处理器1904、主存储器1906和计算电路1902的其他部件中的一个或多个一起被并入计算电路1902。
一个或多个说明性数据存储设备1910可以被体现为被配置用于短期或长期数据存储的任何类型的设备,例如存储器设备和电路、存储卡、硬盘驱动器、固态驱动器或其他数据存储设备。每个数据存储设备1910可以包括存储用于数据存储设备1910的数据和固件代码的系统分区。例如,取决于计算节点1900的类型,每个数据存储设备1910还可以包括一个或多个操作系统分区,其存储用于操作系统的数据文件和可执行文件。
通信电路1912可以被体现为能够实现计算电路1902和另一计算设备(例如,边缘计算系统1800的边缘网关节点1812)之间通过网络的通信的任何通信电路、设备或其集合。通信电路1912可以被配置为使用任何一种或多种通信技术(例如,有线或无线通信)和关联的协议(例如,蜂窝联网协议(例如,3GPP 4G或5G标准)、无线局域网协议(例如,IEEE802.11/)、无线广域网协议、以太网、/>蓝牙低功耗、IoT协议(例如,IEEE802.15.4或/>)、低功耗广域网(LPWAN)或低功耗广域(LPWA)协议等)以实现此类通信。
说明性通信电路1912包括网络接口控制器(NIC)1920,其也可被称为主机结构接口(HFI)。NIC 1920可以被体现为一个或多个附加板、子卡、网络接口卡、控制器芯片、芯片组、或可以被计算节点1900用来与另一计算设备(例如,边缘网关节点1812)连接的其他设备。在一些示例中,NIC 1920可以被体现为包括一个或多个处理器的片上系统(SoC)的一部分或者被包括在也包含一个或多个处理器的多芯片封装上。在一些示例中,NIC 1920可以包括NIC 1920本地的本地处理器(未示出)和/或本地存储器和存储(未示出)。在这样的示例中,NIC 1920的本地处理器(其可以包括通用加速器或专用加速器)可以能够执行本文描述的计算电路1902的功能中的一项或多项。附加地或替换地,NIC 1920的本地存储器可以在板级、插槽级、芯片级和/或其他级集成到客户端计算节点的一个或多个部件中。
另外,在一些示例中,每个计算节点1900可以包括一个或多个外围设备1914。取决于计算节点1900的特定类型,这样的外围设备1914可以包括在计算设备或服务器中发现的任何类型的外围设备,例如音频输入设备、显示器、其他输入/输出设备、接口设备和/或其他外围设备。在进一步的示例中,计算节点1900可以由边缘计算系统中的相应边缘计算节点来实现(例如,例如,客户端计算节点1802、边缘网关节点1812、边缘聚合节点1822),或类似形式的设备、计算机、子系统、电路或其他部件。
在更详细的示例中,图20示出了可以存在于边缘计算设备(或节点)2050中的用于实现本文描述的技术(例如,操作、过程、方法和方法体系)的部件的示例的框图。当实现为计算设备或计算设备的一部分(例如,作为移动设备、基站、服务器、网关等)时,边缘计算节点2050提供节点1900的各个部件的更近的视图。边缘计算节点2050可以包括上面提到的部件的任何组合,并且它可以包括可与边缘通信网络或这样的网络的组合一起使用的任何设备。这些部件可以被实现为集成电路(IC)、其部分、分立电子器件或其他模块、逻辑、指令集、可编程逻辑或算法、硬件、硬件加速器、软件、固件或其在边缘计算节点2050适用的组合,或者作为以其他方式并入更大系统的机架内的部件。
边缘计算节点2050可以包括处理器2052形式的处理电路,处理器2052可以是微处理器、多核处理器、多线程处理器、超低电压处理器、嵌入式处理器、xPU/DPU/IPU/NPU、专用处理单元、专门处理单元或其他已知的处理元件。处理器2052可以是片上系统(SoC)的一部分,其中处理器2052和其他部件形成为单个集成电路或单个封装,例如来自加利福尼亚州圣克拉拉的Intel Corporation的EdisonTM或GalileoTM SoC板。作为示例,处理器2052可以包括基于Architecture CoreTM的处理器,例如QuarkTM、AtomTM、i3、i5、i7、i9或MCU类处理器、或可从/>获取的其他此类处理器。然而,可以使用任何数量的其他处理器,例如可从加利福尼亚州桑尼维尔市的Advanced Micro Devices,Inc.(AMD)获得的,来自加利福尼亚州桑尼维尔市的MIPS Technologies,Inc.的基于MIPS的设计,由ARM Holdings,Ltd.或其客户或其被许可方或采用者许可的基于ARM的设计。处理器可以包括诸如来自Inc.的A5-A14处理器、来自/>Technologies,Inc.的SnapdragonTM处理器、或者来自Texas Instruments,Inc.的OMAPTM处理器的单元。可以以单插座形状因数、多插座形状因数或各种其他格式提供处理器2052和附属电路,包括有限的硬件配置或包括少于图20所示的所有元件的配置。
处理器2052可以通过互连2056(例如,总线)与系统存储器2054通信。可以使用任何数量的存储器设备来提供给定量的系统存储器。作为示例,存储器可以是根据联合电子器件工程委员会(JEDEC)设计的随机存取存储器(RAM),例如DDR或移动DDR标准(例如,LPDDR、LPDDR2、LPDDR3或LPDDR4)。在特定示例中,存储器部件可以符合JEDEC颁布的DRAM标准,例如用于DDR SDRAM的JESD79F、用于DDR2 SDRAM的JESD79-2F、用于DDR3 SDRAM的JESD79-3F、用于DDR4 SDRAM的JESD79-4A、用于低功率DDR(LPDDR)的JESD209、用于LPDDR2的JESD209-2、用于LPDDR3的JESD209-3和用于LPDDR4的JESD209-4。这样的标准(和类似的标准)可以被称为基于DDR的标准,并且实现这样的标准的存储设备的通信接口可以被称为基于DDR的接口。在各种实施方式中,单独的存储器设备可以是任何数量的不同封装类型,例如单管芯封装(SDP)、双管芯封装(DDP)或四管芯封装(Q17P)。在一些示例中,这些设备可以直接焊接到主板上以提供外形较小的解决方案,而在其他示例中,这些设备被配置为一个或多个存储器模块,这些模块又通过给定连接器耦合到主板。可以使用任何数量的其他存储器实现,例如其他类型的存储器模块,例如不同种类的双列直插存储器模块(DIMM),包括但不限于microDIMM或MiniDIMM。
为了提供诸如数据、应用、操作系统等信息的持久存储,存储2058还可以经由互连2056耦合到处理器2052。在示例中,存储2058可以经由固态磁盘驱动器(SSDD)来实现。可以用于存储2058的其他设备包括闪存卡(例如SD卡、microSD卡、XD图片卡等)以及USB闪存驱动器。在示例中,存储器设备可以是或者可以包括使用硫族化物玻璃的存储器设备、多阈值级NAND闪存、NOR闪存、单级或多级相变存储器(PCM)、电阻式存储器、纳米线存储器、铁电晶体管随机存取存储器(FeTRAM)、反铁电存储器、采用忆阻器技术的磁阻随机存取存储器(MRAM)存储器、包括金属氧化物基体、氧空位基体和导电桥随机存取存储器(CB-RAM)的电阻式存储器)或自旋转移矩(STT)-MRAM、基于自旋电子磁结存储器的设备、基于磁隧道结(MTJ)的设备、基于DW(畴壁)和SOT(自旋轨道转移)的设备、基于晶闸管的存储器设备或上述或其他存储器的任何组合。
在低功率实现中,存储2058可以是与处理器2052关联的片上存储器或寄存器。然而,在一些示例中,存储2058可以使用微硬盘驱动器(HDD)或固态硬盘驱动器(SSD)来实现。此外,除了所描述的技术之外或代替所描述的技术,任何数量的新技术可以用于存储装置2058,例如电阻变化存储器、相变存储器、全息存储器或化学存储器等等。
部件可以通过互连2056进行通信。互连2056可以包括任何数量的技术,包括工业标准架构(ISA)、扩展ISA(EISA)、外围部件互连(PCI)、扩展外围部件互连(PCIx)、PCI快速(PCIe)或任何数量的其他技术。互连2056可以是例如在基于SoC的系统中使用的专用总线。可以包括其他总线系统,例如I2C接口、SPI接口、点对点接口和电源总线等。
互连2056可以将处理器2052耦合到收发机2066,用于与连接的边缘设备2062通信。收发机2066可以使用任何数量的频率和协议,例如IEEE 802.15.4标准下的2.4吉赫兹(GHz)传输,使用低功耗(BLE)标准(由/>特殊兴趣组定义)或/>标准等。为特定无线通信协议配置的任何数量的无线电装置可以用于到已连接的边缘设备2062的连接。例如,无线局域网(WLAN)单元可以用于根据电气和电子工程师协会(IEEE)802.11标准实现/>通信。另外,例如根据蜂窝或其他无线广域协议的无线广域通信可以经由无线广域网(WWAN)单元进行。
无线网络收发机2066(或多个收发机)可以使用用于在不同范围内通信的多个标准或无线电装置来进行通信。例如,边缘计算节点2050可以使用基于BLE或另一低功率无线电装置的本地收发机与例如约10米内的近距离设备通信,以节省电力。可以通过ZigBee或其他中间功率无线电装置到达更远的已连接的边缘设备2062,例如约50米内。两种通信技术可以在不同功率水平在单个无线电装置上进行,或者可以在单独的收发机上进行,例如,使用BLE的本地收发机和使用的单独的mesh收发机。
可以包括无线网络收发机2066(例如,无线电收发机)以经由局域网或广域网协议与边缘云2090中的设备或服务进行通信。无线网络收发机2066可以是遵循IEEE 802.15.4或IEEE 802.15.4g标准等的LPWA收发机。边缘计算节点2050可以使用Semtech和LoRaAlliance开发的LoRaWANTM(长距离广域网)在广域上进行通信。本文描述的技术不限于这些技术,而是可以与实现长距离、低带宽通信的任何数量的其他云收发机(例如,Sigfox和其他技术)一起使用。此外,可以使用IEEE 802.15.4e规范中描述的其他通信技术,例如时隙信道跳变。
除了如本文描述的针对无线网络收发机2066提到的系统之外,还可以使用任何数量的其他无线电通信和协议。例如,收发机2066可以包括使用扩频(SPA/SAS)通信来实现高速通信的蜂窝收发机。此外,可以使用任何数量的其他协议,例如用于中速通信和提供网络通信的网络。收发机2066可以包括与任何数量的3GPP(第三代合作伙伴项目)规范兼容的无线电装置,例如长期演进(LTE)和第五代(5G)通信系统,这将在本公开的末尾进一步详细讨论。可以包括网络接口控制器(NIC)2068以向边缘云2090的节点或其他设备(例如,已连接的边缘设备2062(例如,在mesh中操作))提供有线通信。有线通信可以提供以太网连接,也可以基于其他类型的网络,例如控制器局域网(CAN)、本地互连网络(LIN)、DeviceNet、ControlNet、Data Highway+、PROFIBUS或PROFINET、时间敏感网络(TSN)等。可以包括附加NIC 2068以能够连接到第二网络,例如,通过以太网提供到云的通信的第一NIC2068,以及通过另一种类型的网络提供到其他设备的通信的第二NIC 2068。
考虑到从设备到另一部件或网络的各种类型的适用通信,设备使用的适用通信电路可以包括部件2064、2066、2068或2070中的任何一个或多个或由其实现。在各种示例中,用于通信的适用模块(例如,接收、发送等)可以由这样的通信电路来体现。
边缘计算节点2050可以包括或耦合到加速电路2064,加速电路2064可以由一个或多个AI加速器、神经计算棒、神经形态硬件、FPGA、GPU的布置、xPU/DPU/IPU/NPU的布置、一个或多个SoC、一个或多个CPU、一个或多个数字信号处理器、专用ASIC或设计用于完成一项或多项专门任务的其他形式的专用处理器或电路来实现。这些任务可以包括AI处理(包括机器学习、训练、推理和分类操作)、视觉数据处理、网络数据处理、对象检测、规则分析等。因此,在各种示例中,用于加速的适用模块可以由这样的加速电路来实现。
互连2056可以将处理器2052耦合到用于连接附加设备或子系统的传感器中枢或外部接口2070。这些设备可以包括传感器2072,例如加速计、水平传感器、流量传感器、光学传感器、相机传感器、温度传感器、全球导航系统(例如,GPS)传感器、压力传感器、大气压力传感器等。中枢或接口2070还可以用于将边缘计算节点2050连接到执行器2074,例如电源开关、阀门执行器、可听声音发生器、视觉警告设备等。
在一些可选示例中,各种输入/输出(I/O)设备可以存在于边缘计算节点2050内或与之连接。例如,可以包括显示器或其他输出设备2084以显示信息,诸如作为传感器读数或执行器位置。可以包括诸如触摸屏或键盘的输入设备2086来接受输入。输出设备2084可以包括任何数量形式的音频或视觉显示,包括简单的视觉输出,例如二进制状态指示器(例如,LED)和多字符视觉输出,或更复杂的输出,例如显示屏(例如,LCD屏幕),其中字符、图形、多媒体对象等的输出是从边缘计算节点2050的操作生成或产生的。在本系统的上下文中,显示器或控制台硬件可以用于提供边缘计算系统的输出和接收输入;管理边缘计算系统的部件或服务;识别边缘计算部件或服务的状态;或执行任何其他数量的管理或监管功能或服务用例。
电池2076可以为边缘计算节点2050供电,但是,在边缘计算节点2050安装在固定位置的示例中,其可以具有耦合到电网的电源,或者可以使用电池作为备份或临时能力。电池2076可以是锂离子电池,或者金属-空气电池,例如锌-空气电池、铝-空气电池、锂-空气电池等。
电池监视器/充电器2078可以被包括在边缘计算节点2050中以跟踪电池2076的充电状态(SoCh)。电池监视器/充电器2078可以用于监视电池2076的其他参数以提供故障预测,例如电池2076的健康状态(SoH)和功能状态(SoF)。电池监视器/充电器2078可以包括电池监视集成电路,例如来自Linear Technologies的LTC4020或LTC2990,来自亚利桑那州菲尼克斯市ON Semiconductor的ADT7488A,或来自德克萨斯州达拉斯市Texas Instruments的UCD90xxx系列IC。电池监视器/充电器2078可以通过互连2056将关于电池2076的信息传送到处理器2052。电池监视器/充电器2078还可以包括使得处理器2052能够直接监视电池2076的电压或来自电池2076的电流的模数(ADC)转换器。电池参数可以用于确定边缘计算节点2050可执行的动作,例如传输频率、mesh网络操作、感测频率等。
电源块2080或耦合到电网的其他电源可以与电池监视器/充电器2078耦合以对电池2076充电。在一些示例中,电源块2080可以用无线电力接收机代替,例如,通过边缘计算节点2050中的环形天线无线地获得电力。电池监视器/充电器2078中可以包括无线电池充电电路,例如来自加利福尼亚州米尔皮塔斯市的Linear Technologies的LTC4020芯片等。可以基于电池2076的尺寸以及因此所需的电流来选择特定的充电电路。充电可以使用由Airfuel Alliance颁布的Airfuel标准、由Wireless Power Consortium颁布的Qi无线充电标准、或者由Alliance for Wireless Power颁布的Rezence充电标准等来执行。
存储2058可以包括软件、固件或硬件命令形式的指令2082以实现本文描述的技术。尽管这样的指令2082被示出为包括在存储器2054和存储2058中的代码块,但是可以理解的是,任何代码块都可以用例如内置到专用集成电路(ASIC)中的硬连线电路来替换。
同样在特定示例中,处理器2052上的指令2082(单独地,或与机器可读介质2060的指令2082组合)可以配置可信执行环境(TEE)2095的执行或操作。例如,TEE 2095作为处理器2052可访问的受保护区域来操作,用于安全执行指令和安全访问数据。TEE 2095的各种实现以及处理器2052或存储器2054中的伴随安全区域可以例如通过使用SoftwareGuard Extensions(SGX)或/>硬件安全扩展、/>ManagementEngine(ME)或/>Converged Security Manageability Engine(CSME)。安全强化、硬件信任根以及可信或受保护操作的其他方面可以通过TEE 2095和处理器2052在边缘计算节点2050中实现。
在示例中,经由存储器2054、存储2058或处理器2052提供的指令2082可以被体现为包括用于指导处理器2052在边缘计算节点2050中执行电子操作的代码的非瞬时性机器可读介质2060。处理器2052可以通过互连2056访问非瞬时性机器可读介质2060。例如,非瞬时性机器可读介质2060可以由针对存储2058描述的设备来实现,或者可以包括特定的存储单元,例如光盘、闪存驱动器或任何数量的其他硬件设备。非瞬时性机器可读介质2060可以包括指导处理器2052执行特定序列或动作流程的指令,例如,如关于上面描述的操作和功能性的流程图和框图所描述的。如本文使用的,术语“机器可读介质”、“计算机可读介质”、“机器可读存储”和“计算机可读存储”是可互换的。
在示例实施例中,边缘计算节点2050可以使用被配置为IP块的部件/模块/块2052-2086来实现。每个IP块可以包含硬件RoT(例如,设备标识符组合引擎或DICE),其中DICE密钥可以用于向对等IP块或远程向一个或多个部件/模块/块2062-2080识别和证明IP块固件。因此,应当理解,节点2050本身可以被实现为SoC或独立硬件封装。
在进一步的示例中,机器可读介质还包括能够存储、编码或携带供机器执行并且使机器执行本公开的任何一种或多种方法的指令任何有形介质,或者能够存储、编码或携带由此类指令使用或与此类指令关联的数据结构的任何有形介质。因此,“机器可读介质”可以包括但不限于固态存储器以及光和磁介质。机器可读介质的具体示例包括非易失性存储器,举例来说,包括但不限于半导体存储器设备(例如,电可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))和闪存设备;磁盘,例如内置硬盘和可移动磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。由机器可读介质体现的指令还可以经由利用多种传输协议(例如,HTTP)中的任何一种的网络接口设备使用传输介质在通信网络上发送或接收。
机器可读介质可以由能够以非瞬时性格式托管数据的存储设备或其他装置来提供。在示例中,在机器可读介质上存储或以其他方式提供的信息可以代表指令,例如指令本身或者可以导出指令的格式。可以导出指令的该格式可以包括源代码、编码指令(例如,以压缩或加密形式)、打包指令(例如,分成多个包)等。表示机器可读介质中的指令的信息可以由处理电路处理成指令以实现本文讨论的任何操作。例如,从信息导出指令(例如,由处理电路进行处理)可以包括:编译(例如,从源代码、目标代码等)、解释、加载、组织(例如,动态地或静态地链接)、编码、解码、加密、解密、打包、解包或以其他方式将信息处理成指令。
在示例中,指令的推导可以包括信息的汇编、编译或解释(例如,通过处理电路)以从由机器可读介质提供的某种中间或预处理格式创建指令。当信息以多个部分提供时,可以组合、解包和修改以创建指令。例如,该信息可以位于一个或多个远程服务器上的多个压缩源代码包(或目标代码、或二进制可执行代码等)中。源代码包可以在通过网络传输时被加密,并且在必要时被解密、解压缩、汇编(例如,链接),并且在本地机器被编译或解释(例如,成为库、独立可执行文件等),并由本地机器执行。
图19和图20的框图中的每一个旨在描绘边缘计算节点的设备、子系统或布置的部件的高层次视图。然而,应当理解,可以省略所示的一些部件,可以存在附加的部件,并且在其他实施方式中可以出现所示的部件的不同布置。
图21示出了示例软件分发平台2105,其用于将诸如图20的示例计算机可读指令2082的软件分发到一个或多个设备,例如示例处理器平台21和/或本文讨论的其他示例已连接的边缘设备或系统。示例软件分发平台2105可以由能够存储软件并将软件发送到其他计算设备的任何计算机服务器、数据设施、云服务等来实现。示例已连接的边缘设备可以是客户、客户端、管理设备(例如,服务器)、第三方(例如,拥有和/或操作软件分发平台2105的实体的客户)。示例已连接的边缘设备可以在商业和/或家庭自动化环境中操作。在一些示例中,第三方是诸如图20的示例计算机可读指令2082的软件的开发商、销售商和/或许可方。第三方可以是购买软件和/或许可软件使用和/或转售和/或再许可的消费者、用户、零售商、OEM等。在一些示例中,分布式软件导致显示一个或多个用户界面(UI)和/或图形用户界面(GUI)以识别在地理上和/或逻辑上彼此分离的一个或多个设备(例如,连接的边缘设备)(例如,物理上分离的IoT设备负责水分配控制(例如,泵)、配电控制(例如,继电器)等)。
在图21所示的示例中,软件分发平台2105包括一个或多个服务器以及存储计算机可读指令2082的一个或多个存储设备。示例软件分发平台2105的一个或多个服务器与网络2115进行通信,网络2115可以对应于互联网和/或任何上述示例网络中的任何一个或多个。在一些示例中,一个或多个服务器响应于将软件发送到请求方的请求作为商业交易的一部分。软件的交付、销售和/或许可的支付可以由软件分发平台的一个或多个服务器和/或经由第三方支付实体来处理。服务器使得购买者和/或许可者能够从软件分发平台2105下载计算机可读指令2082。例如,可以将可以对应于示例计算机可读指令的软件下载到示例处理器平台,其执行计算机可读指令2082。在一些示例中,软件分发平台2105的一个或多个服务器通信地连接到一个或多个安全域和/或安全设备,示例计算机可读指令2082的请求和传输必须通过所述安全域和/或安全设备。在一些示例中,软件分发平台2105的一个或多个服务器周期性地提供、发送和/或强制对软件的更新(例如,图20的示例计算机可读指令2082)以确保改进、补丁、更新等被分发并应用于最终用户设备上的软件。
在图21所示的示例中,计算机可读指令2082以特定格式存储在软件分发平台2105的存储设备上。计算机可读指令的格式包括但不限于特定的代码语言(例如,Java、JavaScript、Python、C、C#、SQL、HTML等)和/或特定的代码状态(例如,未编译的代码(例如,ASCII)、解释的代码、链接的代码、可执行代码(例如,二进制)等)。在一些示例中,存储在软件分发平台2105中的计算机可读指令2082在被传送到示例处理器平台2110时呈第一格式。在一些示例中,第一格式是可执行二进制,其中特定类型的处理器平台2110可以执行。然而,在一些示例中,第一格式是未编译的代码,其需要一个或多个准备任务来将第一格式转换为第二格式以使得能够在示例处理器平台2110上执行。例如,接收处理器平台2100可能需要编译第一格式的计算机可读指令2082以生成能够在处理器平台2010上执行的第二格式的可执行代码。在又一些示例中,第一格式是解释的代码,当到达处理器平台2110时,它被解释器解释以促进指令的执行。
目前描述的方法、系统和设备实施例的附加示例包括以下非限制性实现。以下非限制性示例中的每一个可以独立存在,或者可以以任何排列或组合与下面或整个本公开提供的任何一个或多个其他示例组合。
示例1是一种信任服务提供商处的计算系统,包括:通信电路,用于接收来自请求方的通信;处理电路,用于执行以下操作:将所述通信识别为对所述请求方的计算配置的证明证据的请求,所述证明证据为所述请求方提供要由依赖方评估的信任声明,其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;基于与所述依赖方关联的证明策略来创建证明令牌,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及向所述请求方提供所述证明令牌,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为所述信任声明的信任的证实。
在示例2中,示例1的主题可选地包括以下主题,其中,响应于向请求方提供所述证明令牌,所述请求方将所述证明令牌转发给所述依赖方,并且所述依赖方基于所述证明令牌来验证所述信任声明。
在示例3中,示例2的主题可选地包括以下主题,其中,所述依赖方基于验证所述信任声明来控制对资源的访问。
在示例4中,示例2-3中任何一项或多项的主题可选地包括以下主题,其中,所述依赖方基于验证所述信任声明来执行与所述请求方的通信会话。
在示例5中,示例1-4中任何一项或多项的主题可选地包括以下主题,其中,响应于从所述依赖方向所述请求方提供的对信任的证实的请求,从所述请求方向所述信任服务提供商提供对所述证明证据的请求。
在示例6中,示例1-5中任何一项或多项的主题可选地包括以下主题,其中,所述证明策略指定对证明的证实的要求。
在示例7中,示例1-6中任何一项或多项的主题可选地包括以下主题,其中,所述操作由所述信任服务提供商处的证明服务执行,并且其中,所述证明服务与一个或多个微服务一起操作。
在示例8中,示例1-7中任何一项或多项的主题可选地包括以下主题,其中,所述第一操作域对应于由第一云服务提供商控制的第一计算环境,其中,所述第二操作域对应于由第二云服务提供商控制的第二计算环境,并且其中,所述第三操作域对应于由所述信任服务提供商控制的第三计算环境。
在示例9中,示例1-8中任何一项或多项的主题可选地包括以下主题,其中,所述请求方的计算配置涉及在所述请求方处使用可信执行环境。
在示例10中,示例1-9中任何一项或多项的主题可选地包括以下主题,其中,代表所述请求方重复接收所述请求、创建所述证明令牌以及提供所述证明令牌的操作,以获得附加证明证据,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够进行相互证明。
示例11是一种在信任服务提供商处执行的用于生成证明的证实的方法,包括:接收来自请求方的对所述请求方的计算配置的证明证据的请求,所述证明证据为所述请求方提供要由依赖方评估的信任声明,其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;基于与所述依赖方关联的证明策略来创建证明令牌,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及向所述请求方提供所述证明令牌,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为用于所述信任声明的信任的证实。
在示例12中,示例11的主题可选地包括以下主题,其中,响应于向所述请求方提供所述证明令牌,所述请求方将所述证明令牌转发给所述依赖方,并且所述依赖方基于所述证明令牌来验证所述信任声明。
在示例13中,示例12的主题可选地包括以下主题,其中,所述依赖方基于验证所述信任声明来控制对资源的访问。
在示例14中,示例12-13中任何一项或多项的主题可选地包括以下主题,其中,所述依赖方基于验证所述信任声明来执行与所述请求方的通信会话。
在示例15中,示例11-14中任何一项或多项的主题可选地包括以下主题,其中,响应于从所述依赖方向所述请求方提供的对信任的证实的请求,从所述请求方向所述信任服务提供商提供对所述证明证据的请求。
在示例16中,示例11-15中任何一项或多项的主题可选地包括以下主题,其中,所述证明策略指定对证明的证实的要求。
在示例17中,示例11-16中任何一项或多项的主题可选地包括以下主题,其中,所述方法由所述信任服务提供商处的证明服务执行,并且其中,所述证明服务与一个或多个微服务一起操作。
在示例18中,示例11-17中任何一项或多项的主题可选地包括以下主题,其中,所述第一操作域对应于由第一云服务提供商控制的第一计算环境,其中,所述第二操作域对应于由第二云服务提供商控制的第二计算环境,并且其中,所述第三操作域对应于由所述信任服务提供商控制的第三计算环境。
在示例19中,示例11-18中任何一项或多项的主题可选地包括以下主题,其中,所述请求方的计算配置涉及在所述请求方处使用可信执行环境。
在示例20中,示例11-19中任何一项或多项的主题可选地包括以下主题,其中,代表所述请求方重复接收所述请求、创建所述证明令牌以及提供所述证明令牌的操作,以获得附加证明证据,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够进行相互证明。
示例21是至少一种机器可读存储介质,其上存储有指令,所述指令当由计算设备的处理电路时,使所述处理电路执行示例11-20中任一项所述的方法。
示例22是一种在信任服务提供商处操作的装置,包括:用于从请求方获得对所述请求方的计算配置的证明证据的请求的模块,所述证明证据为所述请求方提供要由依赖方评估的信任声明,其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;用于基于与所述依赖方关联的证明策略来创建证明令牌的模块,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及用于将所述证明令牌传递给所述请求方,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为用于所述信任声明的信任的证实的模块。
在示例23中,示例22的主题可选地包括:用于响应于向请求方提供所述证明令牌,使所述请求方将所述证明令牌转发给所述依赖方的模块,其中,所述依赖方基于所述证明令牌来验证所述信任声明。
在示例24中,示例22-23中任何一项或多项的主题可选地包括:用于编排具有一个或多个微服务的证明服务,以基于与所述依赖方关联的证明策略或与所述请求方关联的证明策略来处理所述请求的模块。
在示例25中,示例22-24中任何一项或多项的主题可选地包括:用于代表所述请求方处理对证明的后续请求,以获得附加证明证据的模块,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够进行相互证明。
示例26是一种设备,包括:处理电路;和存储器设备,其上存储有指令,其中,所述指令当由处理电路执行时,配置所述处理电路以用于根据示例1-25中的或本文讨论的操作或技术,实现信任机构或信任证明验证操作。
示例27是一种方法,包括用设备的处理器和存储器执行的多个操作,以根据示例1-25中的或本文讨论的操作或技术,执行信任机构或信任证明验证操作。
示例28是一种非瞬时性设备可读存储介质,包括表示指令的信息,其中,所述指令当由设备的处理电路执行时,使所述处理电路根据示例1-25中的或本文讨论的操作或技术,实现信任机构或信任证明验证操作。
示例29是一种装置,包括用于操作数据处理系统的多个模块,所述多个模块包括用于根据示例1-25中的或本文讨论的操作或技术,实现信任机构或信任证明验证操作的模块。
示例30是一种适于执行本文讨论的操作或技术的边缘/边缘云/混合云计算系统。
示例31是一种适于执行示例1-25中的或本文讨论的操作或技术的边缘/边缘云计算系统的联合集。
示例32是一种适于执行由示例1-25中的或本文讨论的操作或技术调用的远程服务的操作的远程服务服务器。
示例33是一种包括用于执行示例1-25中的或本文讨论的任何操作或技术的相应设备和设备通信介质的网络。
示例34是一种包括被布置或配置为执行示例1-25中的或本文讨论的任何操作或技术的相应部件的系统。
示例35是一种使用设备的专门配置的电路来执行的方法,被布置或配置为执行示例1-25中的或本文讨论的任何操作或技术。
前述技术的实现可以通过硬件和软件的任何数量的规范、配置或示例部署来完成。应当理解,本说明书中描述的功能单元或能力可以被称为或标记为部件或模块,以更具体地强调它们的实现独立性。这样的部件可以通过任何数量的软件或硬件形式来体现。例如,部件或模块可以被实现为包括定制超大规模集成(VLSI)电路或门阵列、现成半导体(例如,逻辑芯片、晶体管)或其他分立部件的硬件电路。部件或模块还可以在可编程硬件器件中实现,例如现场可编程门阵列、可编程阵列逻辑、可编程逻辑器件等。部件或模块还可以以软件来实现,以由各种类型的处理器执行。所识别的可执行代码的部件或模块可以例如包括计算机指令的一个或多个物理块或逻辑块,这些块可以例如被组织为对象、过程或功能。然而,所识别的部件或模块的可执行文件不需要在物理上位于一起,而是可以包括存储在不同位置的不同指令,这些指令当在逻辑上结合在一起时,构成该部件或模块,并实现该部件或模块的所申明的目的。
事实上,可执行代码的部件或模块可以是单个指令或多个指令,并且甚至可以分布在若干不同的代码段上、不同的程序之间、以及跨若干存储器设备或处理系统。特别地,所描述的过程的一些方面(例如,代码重写和代码分析)可能发生在与代码所部署的处理系统(例如,在嵌入传感器或机器人的计算机中)不同的处理系统(例如,在数据中心的计算机中)上。类似地,操作数据可以在本文中在部件或模块内被识别和示出,并且可以以任何合适的形式体现并在任何合适类型的数据结构内组织。操作数据可以被收集为单个数据集,或者可以分布在不同的位置上,包括分布在不同的存储设备上,并且可以至少部分地仅作为系统或网络上的电子信号存在。部件或模块可以是无源的或有源的,包括可操作以执行期望功能的代理。
在上面的具体实施方式中,可能对各种特征进行成组以精简本公开。然而,权利要求可能未阐述本文公开的每个特征,因为实施例可以以所述特征的子集为特征。此外,实施例可以包括比特定示例中公开的特征少的特征。因此,所附权利要求特此并入具体实施方式中,其中,权利要求本身代表单独的实施例。
Claims (35)
1.一种信任服务提供商处的计算系统,包括:
通信电路,用于接收来自请求方的通信;和
处理电路,用于执行以下操作:
将所述通信识别为对所述请求方的计算配置的证明证据的请求,所述证明证据为所述请求方提供要由依赖方评估的信任声明,其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;
基于与所述依赖方关联的证明策略来创建证明令牌,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及
向所述请求方提供所述证明令牌,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为用于所述信任声明的信任的证实。
2.根据权利要求1所述的计算系统,其中,响应于向请求方提供所述证明令牌,所述请求方将所述证明令牌转发给所述依赖方,并且所述依赖方基于所述证明令牌来验证所述信任声明。
3.根据权利要求2所述的计算系统,其中,所述依赖方基于验证所述信任声明来控制对资源的访问。
4.根据权利要求2所述的计算系统,其中,所述依赖方基于验证所述信任声明来执行与所述请求方的通信会话。
5.根据权利要求1所述的计算系统,其中,响应于从所述依赖方向所述请求方提供的对信任的证实的请求,从所述请求方向所述信任服务提供商提供对所述证明证据的请求。
6.根据权利要求1所述的计算系统,其中,所述证明策略指定对证明的证实的要求。
7.根据权利要求1所述的计算系统,其中,所述操作由所述信任服务提供商处的证明服务执行,并且其中,所述证明服务与一个或多个微服务一起操作。
8.根据权利要求1所述的计算系统,其中,所述第一操作域对应于由第一云服务提供商控制的第一计算环境,其中,所述第二操作域对应于由第二云服务提供商控制的第二计算环境,并且其中,所述第三操作域对应于由所述信任服务提供商控制的第三计算环境。
9.根据权利要求1所述的计算系统,其中,所述请求方的计算配置涉及在所述请求方处使用可信执行环境。
10.根据权利要求1所述的计算系统,其中,代表所述请求方重复接收所述请求、创建所述证明令牌以及提供所述证明令牌的操作,以获得附加证明证据,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够执行相互证明。
11.一种在信任服务提供商处执行的用于生成证明的证实的方法,包括:
接收来自请求方的对所述请求方的计算配置的证明证据的请求,所述证明证据为所述请求方提供要由依赖方评估的信任声明,
其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;
基于与所述依赖方关联的证明策略来创建证明令牌,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及
向所述请求方提供所述证明令牌,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为用于所述信任声明的信任的证实。
12.根据权利要求11所述的方法,其中,响应于向请求方提供所述证明令牌,所述请求方将所述证明令牌转发给所述依赖方,并且所述依赖方基于所述证明令牌来验证所述信任声明。
13.根据权利要求12所述的方法,其中,所述依赖方基于验证所述信任声明来控制对资源的访问。
14.根据权利要求12所述的方法,其中,所述依赖方基于验证所述信任声明来执行与所述请求方的通信会话。
15.根据权利要求11所述的方法,其中,响应于从所述依赖方向所述请求方提供的对信任的证实的请求,从所述请求方向所述信任服务提供商提供对所述证明证据的请求。
16.根据权利要求11所述的方法,其中,所述证明策略指定对证明的证实的要求。
17.根据权利要求11所述的方法,其中,所述方法由所述信任服务提供商处的证明服务执行,并且其中,所述证明服务与一个或多个微服务一起操作。
18.根据权利要求11所述的方法,其中,所述第一操作域对应于由第一云服务提供商控制的第一计算环境,其中,所述第二操作域对应于由第二云服务提供商控制的第二计算环境,并且其中,所述第三操作域对应于由所述信任服务提供商控制的第三计算环境。
19.根据权利要求11所述的方法,其中,所述请求方的计算配置涉及在所述请求方处使用可信执行环境。
20.根据权利要求11所述的方法,其中,代表所述请求方重复接收所述请求、创建所述证明令牌以及提供所述证明令牌的操作,以获得附加证明证据,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够进行相互证明。
21.至少一种机器可读存储介质,其上存储有指令,所述指令当由计算设备的处理电路执行时,使所述处理电路执行根据权利要求11-20中任一项所述的方法。
22.一种在信任服务提供商处操作的装置,包括:
用于从请求方获得对所述请求方的计算配置的证明证据的请求的模块,所述证明证据为所述请求方提供要由依赖方评估的信任声明,
其中,所述请求方位于第一操作域,其中,所述依赖方位于第二操作域,并且其中,所述信任服务提供商位于第三操作域;
用于基于与所述依赖方关联的证明策略来创建证明令牌的模块,所述证明令牌为与所述请求方处的至少一个可信计算部件相关的信任声明提供信任的证实;以及
用于将所述证明令牌传递给所述请求方,以使得所述请求方能够向所述依赖方呈现所述证明令牌作为用于所述信任声明的信任的证实的模块。
23.根据权利要求22所述的装置,还包括:
用于响应于向请求方提供所述证明令牌,使所述请求方将所述证明令牌转发给所述依赖方的模块,其中,所述依赖方基于所述证明令牌来验证所述信任声明。
24.根据权利要求22所述的装置,还包括:
用于编排具有一个或多个微服务的证明服务,以基于与所述依赖方关联的证明策略或与所述请求方关联的证明策略来处理所述请求的模块。
25.根据权利要求22所述的装置,还包括:
用于代表所述请求方处理对证明的后续请求,以获得附加证明证据的模块,所述附加证明证据为所述依赖方提供要由所述请求方评估的附加信任声明,以使得所述依赖方和所述请求方能够进行相互证明。
26.一种设备,包括:
处理电路;和
存储器设备,其上存储有指令,其中,所述指令当由所述处理电路执行时,配置所述处理电路以用于根据本文讨论的技术,实现信任机构或信任证明验证操作。
27.一种方法,包括利用设备的处理器和存储器执行的多个操作,以根据本文讨论的技术执行信任机构或信任证明验证操作。
28.一种非瞬时性设备可读存储介质,包括表示指令的信息,其中,所述指令当由设备的处理电路执行时,使所述处理电路根据本文讨论的技术实现信任机构或信任证明验证操作。
29.一种装置,包括用于操作数据处理系统的多个模块,所述多个模块包括用于根据本文讨论的技术,实现信任机构或信任证明验证操作的模块。
30.一种适于执行本文讨论的操作或技术的边缘/边缘云/混合云计算系统。
31.一种适于执行本文讨论的操作或技术的边缘/边缘云计算系统的联合集。
32.一种远程服务服务器,适于执行由本文讨论的操作或技术调用的远程服务的操作。
33.一种网络,包括用于执行本文讨论的任何操作或技术的相应设备和设备通信介质。
34.一种系统,包括被布置或配置为执行本文讨论的任何操作或技术的相应部件。
35.一种使用设备的专门配置的电路来执行的方法,被布置或配置为执行本文讨论的任何操作或技术。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202141028574 | 2021-06-25 | ||
US202263339847P | 2022-05-09 | 2022-05-09 | |
US63/339,847 | 2022-05-09 | ||
PCT/US2022/034906 WO2022272064A1 (en) | 2021-06-25 | 2022-06-24 | Attestation- as-a-service for confidential computing |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117121006A true CN117121006A (zh) | 2023-11-24 |
Family
ID=88804268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280026601.2A Pending CN117121006A (zh) | 2021-06-25 | 2022-06-24 | 用于机密计算的证明即服务 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117121006A (zh) |
-
2022
- 2022-06-24 CN CN202280026601.2A patent/CN117121006A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11425111B2 (en) | Attestation token sharing in edge computing environments | |
EP3972295B1 (en) | Geofence-based edge service control and authentication | |
EP4020880A1 (en) | Method, apparatus and machine-readable storage to verify trained models in an edge environment | |
US20220191648A1 (en) | Digital twin framework for next generation networks | |
US11888858B2 (en) | Calculus for trust in edge computing and named function networks | |
CN112583583A (zh) | 使用边缘服务边车的安全存储器环境中的动态共享 | |
US20220116445A1 (en) | Disintermediated attestation in a mec service mesh framework | |
CN114253659A (zh) | 网格的编排 | |
CN114285738A (zh) | 边缘节点的基于信任的编排 | |
CN114365452A (zh) | 用于在边缘计算环境中证明对象的方法和装置 | |
US20210021431A1 (en) | Methods, apparatus and systems to share compute resources among edge compute nodes using an overlay manager | |
CN114253657A (zh) | 使用分布式账本的编排器执行计划 | |
CN114679449A (zh) | 中立主机边缘服务 | |
US20220014566A1 (en) | Network supported low latency security-based orchestration | |
KR20220091367A (ko) | 하드웨어 및 소프트웨어를 보호하기 위한 장치, 시스템 및 방법 | |
US20210144202A1 (en) | Extended peer-to-peer (p2p) with edge networking | |
US20210152543A1 (en) | Automatic escalation of trust credentials | |
KR20220041722A (ko) | 에지 플랫폼 관리를 위한 바이오메트릭 보안 | |
CN114253658A (zh) | 边缘计算的持续测试、集成和部署管理 | |
KR20220048927A (ko) | 에지 컴퓨팅 환경에서 컨테이너의 재사용을 위한 방법 및 장치 | |
CN114254336A (zh) | 用于通过使用边界标签来实施数据边界的方法、装置和系统 | |
CN115529677A (zh) | 以信息为中心的网络非结构化数据载体 | |
US20230216849A1 (en) | Attestation verifier role delegation | |
US20210089685A1 (en) | Monitoring memory status using configurable hardware secured by a dice root of trust | |
US20230342478A1 (en) | Attestation for bidirectional elastic workload migration in cloud-to-edge settings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |