CN116324775A - 验证异构保密计算集群的信任态势 - Google Patents

验证异构保密计算集群的信任态势 Download PDF

Info

Publication number
CN116324775A
CN116324775A CN202280006832.7A CN202280006832A CN116324775A CN 116324775 A CN116324775 A CN 116324775A CN 202280006832 A CN202280006832 A CN 202280006832A CN 116324775 A CN116324775 A CN 116324775A
Authority
CN
China
Prior art keywords
node
security information
service
service node
relevant
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
Application number
CN202280006832.7A
Other languages
English (en)
Inventor
埃里克·沃尔特
普拉迪普·库玛·卡泰尔
阿维纳什·卡利亚纳拉曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cisco Technology Inc
Original Assignee
Cisco Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/583,284 external-priority patent/US20220321605A1/en
Application filed by Cisco Technology Inc filed Critical Cisco Technology Inc
Publication of CN116324775A publication Critical patent/CN116324775A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • G06F21/445Program or device authentication by mutual authentication, e.g. between devices or programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Signal Processing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Storage Device Security (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

公开了用于为异构系统提供的服务提供安全性态势的系统、装置、方法和计算机可读介质。一种用于由服务节点验证信任的方法包括从客户端设备接收对服务节点的安全性信息的请求,其中该请求包括识别要从服务节点接收的服务的信息,基于该服务识别要与服务节点通信的相关节点,在识别相关节点之后,请求相关节点的安全性信息;由服务节点的安全性信息和相关节点的安全性信息生成复合安全性信息,并且将复合安全性信息发送到客户端设备。复合安全性信息为由具有不同受信任执行环境的异构设备实现的服务提供安全性声明。

Description

验证异构保密计算集群的信任态势
相关申请的交叉引用
本申请要求2022年1月25日递交的美国非临时专利申请17/583,284号的权益和优先权,该申请要求2021年4月1日递交的美国临时专利申请63/169,528号的权益和优先权,这些申请中的每一者通过引用全部并入本文。
技术领域
本公开总体上涉及计算机联网的领域,更具体而言涉及评估在网络内操作的设备的可靠性和可信度。
背景技术
在网络内操作的给定设备的可信度可能从其初始配置之时起下降。可能需要主动测量来证实设备的可信度与其最初部署之时的可信度相当。新技术正在添加支持安全、实时地报告远程设备的主动可信度测量/评估的能力。具体而言,一体式芯片已被用于实现安全启动模块、信任锚模块和安全联合测试行动组(Joint Test Action Group,JTAG)解决方案,以用于验证设备的可信度。另外,还开发了包含安全性测量或者安全性证据的令牌或元数据元素,以用于验证设备的可信度。
可信度向量可以允许来自直接对等体的声明(claim),以表达其经验证的可信度。其结果是,可以在一组网络设备上建立和维护信任网。然而,可信度向量并不表达多跳之外的可信度关系,其中利用路由协议来确保特定的互联网协议(Internet Protocol,IP)分组只走值得信任的路径。
了解“异构”系统的所有元素的可信度的问题仍未解决,这并不是联网独有的问题。随着保密计算的出现,对于受信任执行环境(Trusted Execution Environment,TEE)而言,可证明地断言任何直接连接的TEE的可信度已变得有用。
附图说明
为了描述能够获得本公开的上述和其他优点和特征的方式,对上文简要描述的原理的更具体描述将通过参考在附图中图示的其具体实施例来给出。在理解到这些附图只是描绘了本公开的示例性实施例并因此不应被认为在限定其范围的同时,通过使用附图来更加具体且详细地描述和说明这里的原理,在附图中:
图1至图3图示了根据一些示例的示例联网环境;
图4图示了根据一些示例的控制器协调的基于鉴证的路由的示例;
图5图示了根据一些示例的用于互连鉴证者的中心辐射型拓扑500的示例;
图6图示了根据本公开的示例的在异构网络中为服务生成复合安全性信息的过程的序列图;
图7至图10图示了根据本公开的示例的示出将来自具有不同受信任执行环境(TEE)的服务节点的可信度向量组合成复合可信度向量的示例图;
图11图示了根据本公开的示例的用于在异构网络中提供复合可信度向量的服务节点的示例方法;
图12图示了根据本公开的示例的用于将各种相关服务节点的安全性信息组合成复合安全性信息的示例方法;
图13图示了根据本公开的示例的用于将各种相关服务节点的安全性信息组合成复合安全性信息的示例方法;
图14图示了根据本公开的示例的计算系统的示例;并且
图15图示了根据本公开的一些示例的示例网络设备。
具体实施方式
下面详细论述本公开的各种实施例。虽然论述了具体实现方式,但应当理解这样做只是为了说明。相关领域的技术人员将认识到,在不脱离本公开的精神和范围的情况下,可以使用其他组件和配置。从而,以下描述和附图是说明性的,而不应被解释为限制性的。描述了许多具体细节来提供对本公开的透彻理解。然而,在某些情况中,没有描述公知或传统的细节以避免模糊描述。本公开中对一个实施例或一实施例的引用可以是对同一实施例或任何实施例的引用;并且,这种引用是指至少一个实施例。
“一个实施例”或“一实施例”的引用意指结合该实施例描述的特定特征、结构或特性被包括在本公开的至少一个实施例中。在本说明书中各种地方出现短语“在一个实施例中”不一定都指的是同一实施例,也不一定是与其他实施例互斥的单独或替代实施例。此外,描述了一些实施例可展现而其他实施例可不展现的各种特征。
本说明书中使用的术语在公开的上下文内以及在使用每个术语的具体上下文内一般具有其在本领域中的普通含义。替代语言和同义词可用于本文论述的任何一个或多个术语,而不应当对本文中是否阐述或论述了某一术语赋予特殊意义。在一些情况下,提供了某些术语的同义词。对一个或多个同义词的记载并不排除对其他同义词的使用。本说明书中任何地方使用的示例,包括本文论述的任何术语的示例,只是说明性的,而并不是为了进一步限制本公开或者任何示例术语的范围和含义。同样地,本公开也不限于本说明书中给出的各种实施例。
在无意限制本公开的范围的情况下,下面给出了根据本公开的实施例的仪器、装置、方法及其相关结果的示例。注意,为了方便读者,可以在示例中使用标题或副标题,这绝不应当限制本公开的范围。除非另有定义,否则本文使用的技术和科学术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。在冲突的情况下,将以本文件(包括定义)为依据。
本公开的额外特征和优点将在接下来的描述中记载,并且一部分从描述中显现出来,或者可通过实践本文公开的原理来获知。本公开的特征和优点可凭借所附权利要求中具体指出的手段和组合来实现和获得。本公开的这些和其他特征将通过接下来的描述和所附权利要求而变得更充分清楚,或者可通过实践本文记载的原理来获知。
概述
在独立权利要求中记载了本发明的各方面并且在从属权利要求中记载了优选特征。一个方面的特征可以被单独应用到每个方面,或者与其他方面组合应用。
提供了用于安全网络路由的系统、方法和计算机可读介质。一种示例方法可以包括从客户端设备接收对服务节点的安全性信息的请求,其中该请求包括识别要从服务节点接收的服务的信息;基于该服务识别要与服务节点通信的相关节点;在识别相关节点之后,请求相关节点的安全性信息;由服务节点的安全性信息和相关节点的安全性信息生成复合安全性信息;以及将复合安全性信息发送到客户端设备。
一种示例系统可以包括一个或多个处理器和存储指令的至少一个计算机可读存储介质,所述指令当被该一个或多个处理器执行时,使得该一个或多个处理器从客户端设备接收对服务节点的安全性信息的请求,其中该请求包括识别要从服务节点接收的服务的信息;基于该服务识别要与服务节点通信的相关节点;在识别相关节点之后,请求相关节点的安全性信息;由服务节点的安全性信息和相关节点的安全性信息生成复合安全性信息;并且将复合安全性信息发送到客户端设备。
一种系统可以包括一个或多个处理器和存储指令的至少一个计算机可读存储介质,所述指令当被该一个或多个处理器执行时,使得该一个或多个处理器从客户端设备接收对服务节点的安全性信息的请求,其中该请求包括识别要从服务节点接收的服务的信息;基于该服务识别要与服务节点通信的相关节点;在识别相关节点之后,请求相关节点的安全性信息;由服务节点的安全性信息和相关节点的安全性信息生成复合安全性信息;并且将复合安全性信息发送到客户端设备。
在一些方面中,安全性信息包括与验证的类型相关的多个声明,其中验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括在相关节点的安全性信息中识别隐性声明,并且将隐性声明附加到来自相关节点的安全性信息。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括组合服务节点的安全性信息和相关节点的安全性信息中的每个相应声明,以产生复合安全性信息。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括:识别服务节点的安全性信息中与第一声明相关联的第一值和相关节点的安全性信息中与第一声明相关联的第二值;以及基于第一值和第二值在复合安全性信息中为第一声明生成复合值。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括:识别相关节点的安全性信息和服务节点的安全性信息之一中与第一声明相关联的减损值;以及从复合安全性信息中排除第一声明。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括对相关节点的安全性信息和服务节点的安全性信息中的安全性声明进行正规化;以及将每个安全性声明组合到复合安全性信息中。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括执行生成树算法以从可寻址节点识别与服务相关联的候选节点,其中相关节点是从候选节点中选择的。
在一些方面中,服务节点包括第一受信任模块,并且相关节点包括第二受信任模块,并且第一受信任模块与第二受信任模块不同。
在一些方面中,上文描述的方法、装置和计算机可读介质中的一个或多个还包括:向管理节点发送识别候选相关节点的请求;以及接收候选相关节点的列表,其中管理节点执行群组成员协议以创建与每个服务相关联的不同群组。
示例实施例
有不同的方法来验证或证实网络中的节点的可信度。鉴证(attestation)是一种示例的受信任计算方法,它可以用于基于自从启动时间以来发生的事务的集合来验证节点的完好性。专用的密码处理器(例如受信任平台模块(Trusted Platform Module,TPM)平台中的处理器)可以进行测量,以鉴证节点及其环境(例如,软件、硬件、操作系统、运行的二进制文件、固件,等等)的可信度(例如,身份、完好性,等等)。这些测量包括节点处于安全状态的证据。然而,当前还没有了解异构系统的可信度的技术,而异构系统是联网中的一个常见特征。
所公开的技术通过识别与服务相关联的相关服务节点并且将相关服务节点的不同安全性声明正规化,解决了在异构系统中建立信任的挑战。通过这种方式,鉴证节点可以收集各种安全性信息,创建总结任何相关服务节点的安全性声明的复合安全性信息,并且允许请求节点基于复合安全性信息来确定鉴证节点是否值得信任。复合安全性信息提供了服务的安全性声明的总结。
本文首先公开了如图1、图2和图3所示的对网络数据访问和服务的网络环境和架构的描述。然后描述了图4中图示的鉴证路由协调器。然后,本公开转向了在异构网络中生成复合安全性声明的示例系统,以及图5和图6中的相应序列图。然后,结合图7、图8、图9和图10中的图示论述了生成复合安全性信息的各种示例。然后参考图11、图12和图13论述了在异构网络中生成复合安全性声明的方法。然后,论述以对示例设备的简要描述结束,如图14所示。在本文中应随着对各种实施例的阐述而描述这些变化。本公开现在转向初步论述用于为分组所穿越的网络节点的完好性提供可验证的证明的示例概念和技术。
计算机网络可以包括不同的节点(例如,网络设备、客户端设备、传感器和任何其他计算设备),这些节点通过通信链路和网段相互连接,用于在末端节点之间发送数据。有许多类型的网络可用,包括例如局域网(local area network,LAN)、广域网(wide areanetwork,WAN)、软件定义网络(software-defined network,SDN)、无线网络、核心网络、云网络、互联网,等等。当数据流量通过一个或多个网络被传输时,数据流量通常会穿越若干个节点,这些节点将流量从源节点路由到目的地节点。
虽然具有许多节点可以提高网络连通性和性能,但这也提高了安全性风险,因为分组穿越的每个节点都会引入未经授权的数据访问和操纵的风险。例如,当分组穿越一个节点时,就会有安全性风险被引入,这可能是由于节点可能被破坏(例如,被侵入、被操纵、被捕捉,等等)。因此,可以实现合规性、安全性和审计程序,以验证网络用户、设备、实体及其关联的网络流量是否符合特定的业务和/或安全性策略。
当敏感信息通过网络中的节点被传输时,例如在战场、银行环境和医疗环境中,这种流量应当通过未受破坏的节点发送,以防止访问、泄漏或者篡改该流量携带的数据和敏感信息。如果攻击者经由一些漏洞获得了对设备的访问,则先前对网络接口的保护和加密方法一般不能有效地缓解或解决这种未经授权的访问和造成的损害。
证明网络流量符合特定的策略可以涉及到以安全的方式证明流量已穿越了一组定义良好的网络节点(例如,防火墙、交换机、路由器,等等)并且这种网络节点没有被修改或破坏。这可以帮助确保网络节点对分组执行了其预期或预定的动作(例如,分组处理、安全性或策略合规性验证、路由,等等)并且分组已穿越了网络节点。
一些安全性方法可旨在去除用于将设备上托管的应用连接到云或企业托管服务的网络中的任何隐性信任。此外,一些安全性方法可以被实现来验证网络和/或分组穿越的节点的可信度(例如,完好性、身份、状态,等等)。在一些情况下,可以实现某些验证检查,以证实或验证流量已穿越了特定的一组节点并且这种节点是受信任的和未被破坏的。在一些示例中,可以实现某些中转证明(Proof-of-Transit,POT)、受信任平台模块(TPM)、鉴证或者完好性证明方法,以验证或证实网络中的节点的可信度。
POT可以使得网络用户或实体能够验证流量是否穿越了一组定义的网络节点。如下文进一步描述的鉴证也可用于验证节点的完好性。在一些情况下,本文的方法可以将两者集成起来,以提供一种安全的方法,该方法使得网络用户或实体可以验证流量穿越了定义的一组节点并且这种节点没有被破坏。
在一些情况下,可以实现TPM来收集和报告平台中的硬件和软件组件的身份,以便为该平台建立信任。计算系统中使用的TPM可以对系统的硬件和软件进行报告,其方式是允许验证与该系统相关联的预期行为,并且从这种预期行为中建立信任。TPM可以是包含状态的系统组件,它与TPM报告身份和/或其他信息的主机系统分开。TPM可以在主机系统的物理资源上实现(间接或直接)。在一些示例中,TPM组件可具有处理器和存储器,例如随机访问存储器(random access memory,RAM)、只读存储器(read only memory,ROM)和/或闪存。在TPM的其他实现方式中,主机处理器可以在处理器处于特定执行模式中的同时运行TPM代码。系统存储器的一些部分可以通过硬件进行分区,以确保TPM使用的存储器不可被主机处理器访问,除非主机处理器处于该特定执行模式中。
在一些情况下,受信任计算(trusted computing,TC)的实现,例如TPM,可以依赖于信任根。信任根可以是应当值得信任的系统元素,因为这种系统元素的不当行为可能无法被检测到。一组根可以提供最低限度的功能,该功能可以充分描述影响平台的可信度的特性。在一些情况下,确定信任根的行为是否恰当可能是不可能的;然而,确定根是如何实现的,可能是可能的。例如,证书可以保证根的实现方式使得其是值得信任。
为了说明,证书可以识别TPM的制造商和已评估保证水平(evaluated assurancelevel,EAL)。这种认证可以为TPM中使用的信任根提供某种水平的置信。此外,来自平台制造商的证书可以保证TPM被恰当地安装在符合特定要求的系统上,因此平台提供的信任根可以被信任。一些实现方式可以依赖于受信任平台中的三个信任根,包括测量信任根(Rootof Trust for Measurement,RTM)、存储信任根(Root of Trust for Storage,RTS)和报告信任根(Root of Trust for Reporting,RTR)。
RTM可以向RTS发送完好性信息,例如完好性测量。一般而言,RTM可以是由核心测量信任根(Core Root of Trust for Measurement,CRTM)控制的处理器。CRTM是在建立新的信任链时执行的第一组指令。当系统被重置时,处理器(例如,RTM)可以执行CRTM,然后CRTM可以向RTS发送表明其身份的值。从而,在一些情况下,可以通过这种方式建立信任链的起点。
如前所述,TPM存储器可以被屏蔽,不被除了TPM以外的实体访问。由于TPM可以被信任以防止对其存储器的未经授权的访问,所以TPM可以充当RTS。此外,RTR可以报告RTS的内容。RTR报告可以是TPM中的一个或多个值的内容的数字签名摘要。
鉴证是另一种示例的受信任计算方法,该方法可用于验证节点的完好性。鉴证可以被应用于节点,例如路由器或交换机,以审查来自连接的设备的日志,例如第一层(L1)或第二层(L2)连接设备,并且在受信任存储中维护这些日志。可以通过将私钥嵌入到为硬件设备产生的每一个信任锚中并且将设备的公钥作为证书发布给相邻设备来保护这些日志。然后,这个对等设备可以周期性地和/或根据一些日志条目事件从受信任存储推送日志更新。审查任何提供的签名日志可以提供对对等设备的当前可信任状态的理解。此外,通过回顾自从启动时间以来发生的一组事务,可以作出关于该对等设备在断言的信息的可信度的判定。
在一些示例中,包含安全性测量或证据的元数据元素,可用于提供设备可信度(例如,完好性、状态,等等)的可验证证据。元数据元素可以包括用于验证设备的可信度的适用数据,并且可以通过用于验证设备可信度的适用技术来提供。例如,元数据元素可以作为与设备相关联的金丝雀戳记(canary stamp)的一部分来提供。金丝雀戳记可以指示出或者以其他方式包括与设备相关联的签名测量,以用于验证设备的可信度。进而,这种测量可以被称为金丝雀戳记,因为每个签名的测量就像证明其真实性的戳记,并且就像煤矿中的金丝雀,指示出麻烦的早期迹象。这种可验证的证据可以被附加或包括在网络上的节点传输的分组中。从而,元数据元素可用于评估(一个或多个)节点的可信度并且作出相应的反应。例如,设备或实体可以审查与节点相关联的元数据元素,以确定该节点不应当被信任,并且调整网络策略以减轻可能的损害。
在一些实现方式中,专用的密码处理器,例如TPM平台中的处理器,可以进行测量,以鉴证节点及其环境(例如,软件、硬件、操作系统、运行的二进制文件、固件,等等)的可信度(例如,身份、完好性,等等)。这些测量包括节点处于安全状态的证据。在一些情况下,这些测量可以通过金丝雀戳记来提供,如前所述。然而,这种证据的接收者应当能够证实证据是新鲜的,因为证据可能变得陈旧,从而有可能降低其反映节点的当前可信度的有效性。例如,如果不确保这种证据的新鲜度,则攻击者就有机会注入先前记录的测量,并且断言重放的内容是最新的。
一些方法可以经由“临时数”(nonce)来检测旧证据的重放。临时数是可以用来引入随机性的任意数字。在一些情况下,临时数可以在密码通信中被只使用一次。此外,临时数可以被传递到TPM中和/或被纳入到金丝雀戳记/元数据中。在一些情况下,TPM提供的结果可以包括基于临时数的签名。由于临时数可以建立在事务性挑战/响应的交互模型中,因此在一些情况下,临时数对于源自鉴证设备的单向通信可能不太有效。例如,对于异步推送、多播或广播消息,临时数可能不太有效。
然而,在许多用例中,平台评估其对等体是否值得信任是有优势的。能够使用异步推送、多播或广播消息与受信任的二进制文件相结合执行单向鉴证,为平台评估其对等体是否值得信任提供了许多可能性。对无效鉴证的检测可以触发警报或事件,减少来自可疑设备的网络访问,或者可以成为准入控制的一部分(例如,IEEE 802.1X)。一些平台可被配置为支持单向鉴证机制。
其他新鲜度方法可以基于受信任计算能力,例如TPM。例如,可以生成令牌,其允许外部实体基于TPM内的内部计数器的状态来证实所断言的数据的新鲜度。这个令牌可用于检测重放攻击,并且为异步推送、多播和广播消息提供了鉴证。
各种前述方法可以与TPM集成的功能相结合,旨在验证有效的计算组件,例如二进制进程,正在节点上运行。这些能力可以包括,例如,提供运行时恶意软件保护的受信任执行环境(Trusted Execution Environment,TEE),确保只有经过数字签名的代码模块可以被加载到处理器中的认证代码模块(Authenticated Code Module,ACM),等等。这些技术可以证实处理器正在运行具有有效的二进制签名链的已知软件。
在一些情况下,可以通过从节点的TPM中提取当前计数器(例如,时钟、重置、重启),并且将从节点取得的这种计数器和安全性措施纳入到分组中,来创建元数据元素,例如金丝雀戳记,以及令牌。在一些示例中,可以将当前计数器和/或安全性措施与外部TPM内的信息进行散列。元数据元素和令牌从而可以提供不可欺骗的令牌或元数据元素,它可以将连续递增的计数器绑定在具有已知的外部状态的被鉴证者上。对TPM计数器的任何重置在任何后续的TPM查询中都是可见的,并且对平台的任何重启也会在后续的TPM查询中暴露出来。在这些重置和重启的界限内,TPM的时间刻度计数器连续递增。因此,包括这些计数器的被鉴证者TPM信息的任何推送都可以被确定为发生在任何先前接收的测量之后。另外,如果重置和重启计数器没有变化,那么自从任何先前的测量以来的增量时间也可以被知道。
在一些情况下,应当被网络对等体信任的大量信息可能不被包含在TPM的程序配置寄存器(Program Configuration Register,PCR)内。因此,可以应用间接方法来验证节点没有被破坏。
接收到元数据元素(例如,金丝雀戳记和/或令牌)可以意味着接收者应当具有验证信息的选项。在许多情况下,这种验证可以在不需要补充证据与金丝雀戳记一起被发送的情况下执行。此外,在非基于控制器的或者集中式的实现方式中,验证步骤不必发生在接收者处。
在一些完好性验证实现方式中,控制器或设备可以实现完好性验证应用。完好性验证应用可以被设计成识别变化事件和评估已知的好值,这允许了基于例如TPM计数器、时间戳、临时数和/或时间令牌来评估启动完好性戳记和运行进程二进制签名戳记。在任何不一致的情况下,控制器或集中式设备可以通过关断节点的接口,来将被破坏的节点与其网络对等体隔离。
在一些示例中,可以实现元数据元素(例如,金丝雀戳记)和/或对完好性的验证,例如经测量启动戳记(例如,基于PCR 0-7的SHA1散列),经验证启动戳记(例如,它可以验证在启动时只有认可的二进制文件被执行),进程戳记(例如,通过正在断言一个或多个特定协议的进程证实的信任根),文件系统戳记(例如,供应商确定的目录集内的所有文件),日志完好性戳记(例如,用于增强现有的完好性分析和取证),配置戳记(例如,当前设备配置的状态),等等。一些实现方式可以实现这些戳记的全部或者其中的一些,这取决于实现方式。此外,在一些实现方式中,可以使用单个或多个戳记来实施或实现这些戳记的全部或者其中的一些。
如前所述,TPM提供了方法来收集和报告平台中的硬件和软件组件的身份,以便为该平台建立信任。TPM功能可以被嵌入在各种设备中,包括移动电话、个人计算机、网络节点(例如,交换机、路由器、防火墙、服务器、网络设备,等等)和/或任何其他计算设备。另外,鉴证可以描述TPM可如何被用作硬件信任根,并且提供节点的完好性证明。这种完好性可以包括硬件完好性、软件完好性(例如,微加载器、固件、启动加载器、内核、操作系统、二进制文件、文件,等等),以及运行时完好性。
在一些情况下,TPM和鉴证可以按本文所述来实现,以提供完好性证明和通过未受破坏的节点的中转证明。在一些示例中,包含或反映安全性措施的元数据元素和令牌如前所述被用来证实节点的完好性,并且对节点的完好性执行持续评估。从而,本文描述的元数据元素和令牌可用于提供通过未受破坏的节点的中转证明。
在一些示例中,元数据元素和令牌可以作为额外的元数据被添加到穿越网络的分组,其中需要有经由未受破坏的节点的中转证明。可以实现各种策略来在分组中传输元数据元素和令牌。在一些情况下,元数据元素和令牌可以被携带在原地(或带内)运营、行政和管理(In-Situ(or in-band)Operations,Administration and Management,IOAM)数据字段内。在一些实现方式中,元数据元素和令牌可以与IOAM踪迹数据被一起携带。例如,可以在各种封装协议中作为IOAM数据字段的一部分携带金丝雀戳记,例如但不限于IPv4、IPv6、网络服务头部(network service header,NSH),等等。在一些情况下,可以在IOAM数据字段中作为IOAM踪迹选项数据元素(例如,具有用于节点完好性的IOAM踪迹类型的金丝雀戳记)携带金丝雀戳记。可以由转发分组的每个节点在该分组的IOAM踪迹选项中添加元数据元素、令牌或摘要,例如金丝雀戳记摘要。
当分组到达移除IOAM元数据的节点(例如,目的地节点和/或中间节点)(例如,IOAM解封装节点)时,可以验证分组中的元数据元素和/或令牌的有效性,以确定分组穿越了未受破坏的节点。在一些示例中,由于金丝雀戳记是有时间限制的,所以在IOAM中定义的分组踪迹时间戳可以用来证实分组穿越该节点的时间窗口中的金丝雀戳记。
验证可以在不给验证者或者将会最终证实与元数据元素或令牌相关联的安全测量的设备(例如,控制器)带来大量事务性负载的情况下执行。这是因为测量值往往可以不频繁地变化。验证者可能只需要在每当关联的安全测量发生变化时证实IOAM数据踪迹内携带的元数据元素和/或令牌(例如,验证者可能只需要在每当其看到节点的TPM扩展了验证者先前未确认的PCR值时与控制器进行核对)。
在一些情况下,当只有已签名的元数据元素内的时间刻度增大时,只有元数据元素的签名被证实。为了做到这一点,验证者可以使用可以放置元数据元素的任何节点的公钥。这种签名证实可以在不使用控制器来验证测量的情况下进行。
在另一个示例中,分组可以携带具有元数据元素值(例如,金丝雀戳记值)的空间优化的IOAM POT数据。例如,新的IOAM POT数据字段可以携带金丝雀戳记或者金丝雀戳记的散列扩展,进而,金丝雀戳记数据可以在节点间被携带。在一些情况下,金丝雀戳记散列扩展可以是与TPM所执行的PCR扩展操作类似的方法。
在一些情况下,金丝雀戳记散列可以提供单向散列,以便任何节点记录的金丝雀戳记不能被移除或修改而不被检测到。用于金丝雀戳记摘要的IOAM中转证明选项数据可以由散列算法定义(例如,用SHA1的20个八位字节,用SHA256的32个八位字节,等等)。在一些实现方式中,沿着分组的路径的每个节点可以转发带有新的或者经更新的金丝雀戳记摘要的分组。在一些示例中,新的或者经更新的金丝雀戳记摘要可以由节点如下生成:IOAM金丝雀戳记摘要新值=(IOAM金丝雀戳记摘要旧值||散列(节点的金丝雀戳记))的摘要,其中IOAM金丝雀戳记摘要旧值可以指由一个或多个先前的跳包括在分组中的金丝雀戳记摘要。
此外,在一些情况下,可以添加每分组临时数(Per Packet Nonce,PPN),其中PPN随每分组变化,并且作为IOAM元数据选项内的另一个字段被携带,以提供针对重放攻击的稳健性。为了说明,在一些示例中,可以如下添加PPN:IOAM金丝雀戳记摘要新值=(IOAM金丝雀戳记摘要旧值||散列(节点的金丝雀戳记||PPN))的摘要。创建IOAM金丝雀戳记摘要的新值的节点从而可以取得任何先前IOAM金丝雀戳记摘要的值,并且用节点的当前金丝雀戳记来扩展/散列该值。然后,串接和散列的结果可以被写入到IOAM POT数据(或者其他IOAM数据字段)中,作为新的IOAM金丝雀戳记摘要。
在验证者(例如,验证金丝雀戳记数据的设备)处,可以对为在分组被转发的时间窗口中穿越的节点计算的预期金丝雀戳记值执行相同的操作。验证者可以是内联设备或者集中式设备。此外,在一些示例中,可以使用IOAM追踪、路由状态或者通过发送主动探针来识别预期要穿越的节点。携带特定元数据元素的POT数据的值,例如金丝雀戳记摘要和预期的金丝雀戳记值之间的匹配,可以证明分组穿越了受信任的或者未受破坏的节点。
在一些示例中,可以实现一个或多个策略来优化元数据元素证实。例如,元数据元素,例如金丝雀戳记,可以通过嵌入临时数以及TPM或TPM2计数器(例如,时钟、重置、重启)来检测重放攻击的尝试。在一些情况下,这个临时数可以是元数据元素的一部分,并且与上述的PPN不同。
该临时数与接收者相关,因为从临时数的创建时间到验证者接收到的第一个戳记的间隔可以定义新鲜度的间隔(例如,测量的时间不比这个新鲜度的间隔更老旧)。从那里,TPM2时间刻度计数器可以被用来维持初始的新鲜度间隙,即使没有递送新的临时数。
在一些实现方式中,为了优化跨节点的元数据元素或令牌证实,可以实现以下方法,以将同步信息从中央组件递送到每个节点和验证者。例如,中央服务器可以广播或多播集中的临时数值(例如,跟踪的随机数)。每个节点可以拾取最新的临时数,并且使用它来鉴证一个值。验证者可以知道它从每个节点接收的元数据元素或令牌的新鲜度。这个新鲜度可以是自从该特定临时数被发布以来的时间差。后续的鉴证可以使用递增的时间刻度来证明从该初始时间间隙起的新鲜度。在一些情况下,新的临时数的发布可以将该时间间隙重置为可能更短的间隔。
此外,在一些情况下,每个节点可以在其元数据元素内嵌入被鉴证的时间。为了获得被鉴证的时间,可以使用基于时间的单向鉴证(Time-Based Uni-DirectionalAttestation,TUDA)方案,例如https://tools.ietf.org/id/draft-birkholz-i2nsf-tuda-01.html中描述的TUDA方案,其内容通过引用被全部并入在此。这可以使得在一节点处既可以获得被鉴证的时间,也可以获得创建TUDA时间同步令牌时该节点处的TPM2计数器的值。这可以消除对中央临时数机构的使用,但可能会增大元数据元素的大小,因为临时数可以被TUDA时间同步令牌取代。这种方法也可以按照TUDA实现中央时间戳机构。在一些示例中,对于每一跳,金丝雀戳记摘要值可以是。IOAM金丝雀戳记摘要新值=(IOAM金丝雀戳记摘要旧值||散列(节点的金丝雀戳记||节点的TUDA时间同步令牌))的摘要。
这种方法可以提供许多益处。例如(但不限于此),利用这种方法,验证者可以通过只在某一跳的时间同步令牌发生变化时验证其签名来限制验证的数目。此外,利用这种方法,在接收到第一次测量时,可能没有时间间隙临时数转换新鲜度。另外,在一些情况下,这种方法可以在不同时携带PPN的情况下或者在不像先前描述的那样在节点间同步临时数的情况下实现。
另外,鉴证者(例如节点或验证者)可以使用由对等体和/或鉴证者创建的随机数(在情况下是伪随机数)来生成和验证鉴证信息。具体而言,鉴证者可以从一个或多个第2层对等体积累随机数。这些随机数可以在特定的时间量中从对等体那里积累,例如,在较短的持续时间中积累。进而,这些随机数可以通过适用的技术,例如布鲁姆过滤器,被组合成一个数字。这个数字可以作为密码处理器用于生成结果的临时数。如下,第2层对等体,可能包括鉴证者,可以使用由密码处理器创建的结果,来验证/证实他们相应提供的随机数曾被用于生成最终由密码处理器用于创建结果的临时数。进而,第2层对等体(可能包括鉴证者)可以基于由对等体生成的随机数、从随机数创建的临时数和/或由密码处理器从临时数创建的结果,来生成经验证的鉴证信息。
在提供了对用于提供分组所穿越的网络节点的明确的可验证的完好性证明的示例概念和技术的初始论述后,本公开现在转向图1。
图1是根据一些实现方式的联网环境100的示例的框图。虽然示出了相关特征,但本领域的普通技术人员将从本公开清楚了解到,为了简洁起见,并且为了不掩蔽本文所公开的示例实现方式的各个方面,并没有图示各种其他特征。
在这个示例中,联网环境100可以包括互连的节点(例如,108A-N、110A-N和112A-N)的网络114。网络114可以包括私有网络,例如LAN,和/或公共网络,例如云网络、核心网络,等等。在一些实现方式中,网络114还可以包括一个或多个子网络,例如子网络114A。子网络114A可以包括——例如但不限于——LAN、虚拟局域网(virtual local areanetwork,VLAN)、数据中心、云网络、WAN,等等。在一些示例中,子网络114A可以包括WAN,例如互联网。在其他示例中,子网络114A可以包括LAN、VLAN和/或WAN内包括的节点的组合。
联网环境100可以包括源节点102。源节点102可以是与以目的地节点116为目的地的数据分组相关联的联网设备(例如,交换机、路由器、网关、端点,等等)。源节点102可以与网络114上的候选下一跳节点108A-108N通信。候选下一跳节点108A-108N中的每一者可以被包括在源节点102和目的地节点116之间的各个路由中。此外,在一些情况下,候选下一跳节点108A-108N中的每一者可以与网络114中的候选第二跳节点110A-110N通信。候选第二跳节点110A-110N中的每一者可以类似地与网络114中的候选N跳节点112A-112N通信。
联网环境100还可以包括鉴证路由协调器104。鉴证路由协调器104可以与候选下一跳节点108A-108N通信。在一些实现方式中,鉴证路由协调器104可以从候选下一跳节点108A-108N获得鉴证数据(例如,金丝雀戳记、安全性措施、签名和/或元数据)或者向量。在一些示例中,鉴证路由协调器104可以从候选第二跳节点110A-110N和/或候选N跳节点112A-112N获得额外的信息,并且在为分组选择特定的候选下一跳节点时利用该额外信息。在一些实现方式中,鉴证路由协调器104还可以从距离两跳以上的节点(例如,候选第三跳节点、候选第四跳节点,等等)获得额外信息。
鉴证路由协调器104可以与验证者系统106通信。虽然验证者系统106在概念上被示为与网络114分开实现,但验证者系统106可以在网络114内实现,例如,作为网络114中的网络设备的一部分。在一些实现方式中,鉴证路由协调器104可以从验证者系统106获得受信任状态,例如受信任的镜像向量。验证者系统106可以包括经验证状态存储库106A和一个或多个服务器106B。在一些示例中,经验证状态存储库106A中的经验证状态可以包括一个或多个经验证的镜像、经验证的安全性测量、经验证的设置、经验证的节点数据和/或任何其他经验证的信任或完好性数据。在一些实现方式中,经验证状态存储库106A中的经验证状态可以包括一个或多个受信任状态或镜像向量,在某一置信程度上已知这些状态或镜像向量代表未被破坏的状态或镜像(例如,没有被侵入、被攻击、被不恰当访问等等的状态或镜像)。
正如将参考图4详细描述的那样,在一些情况下,鉴证路由协调器104可以基于受信任状态或镜像向量和鉴证状态或向量选择数据分组并且将其引导到候选下一跳节点108A-108N中的特定候选下一跳节点。此外,鉴证路由协调器104可以将以目的地节点116为目的地的数据分组引导到特定的候选下一跳节点。
图2是根据一些实现方式的另一示例联网环境200的框图。在这个示例中,联网环境200包括实现鉴证路由协调器202A的源节点202。在一些实现方式中,鉴证路由协调器202A可以类似于图1中的鉴证路由协调器104,或者是从其改编的。
源节点202可以包括一个或多个处理器202B。在一些实现方式中,一个或多个处理器202B可以提供处理资源,用于为候选下一跳节点108A-108N生成置信得分。在一些实现方式中,一个或多个处理器202B可以提供处理资源,用于从置信得分中选择满足一个或多个选择标准的特定置信得分。
在一些示例中,源节点202可以包括存储器202C。存储器202C可以是——例如但不限于——非暂时性存储器,例如RAM(随机访问存储器)、ROM(只读存储器),等等。存储器202C可以存储数据,例如以目的地节点116为目的地的分组。在一些实现方式中,存储器202C可以存储从验证者系统106获得的受信任状态或镜像向量。在一些实现方式中,存储器202C可以存储从候选下一跳节点108A-108N获得的鉴证状态或向量,以及可选地存储从候选第二跳节点110A-110N和/或候选N跳节点112A-112N获得的鉴证状态或向量。源节点202还可以包括用于获得、接收和发送数据分组和状态或向量的网络接口202D。
在一些实现方式中,源节点202可以基于受信任状态或镜像向量和鉴证状态或向量选择数据分组并且将其引导到特定的候选下一跳节点。
图3是根据一些实现方式的另一示例联网环境300的框图。在这个示例中,候选下一跳节点108A-108N中的一个或多个可以将受信任状态或镜像向量从验证者系统106传递到源节点302。在一些实现方式中,源节点302可以包括类似于图1中的鉴证路由协调器104和/或图2中的鉴证路由协调器202A或者从其改编而来的鉴证路由协调器302A。源节点可以包括处理器302B、存储器302C、以及网络接口302D。
在一些实现方式中,验证者系统106可以对受信任状态或镜像向量签名,并且将签名的受信任状态或镜像向量提供给特定的候选下一跳节点,该候选下一跳节点进而可以将签名的受信任状态或镜像向量提供给源节点302。在一些实现方式中,让特定的候选下一跳节点提供签名的受信任状态或镜像向量可以减少鉴证时间(例如,确定特定的候选下一跳节点的可信度的时间),因为源节点302可能不需要联络远程节点(验证者系统106)。在一些实现方式中,可以进一步减少鉴证时间,因为单个鉴证过程(例如,验证者系统106对受信任状态或镜像向量签名)促进了对多个源节点的鉴证。换句话说,可以不在每个源节点的基础上生成和评估受信任状态或镜像向量。
此外,在源节点302没有连接到验证者系统106的实施例中(例如,链路中断),从特定的候选下一跳获得受信任状态或镜像向量提供了节点鉴证的替代机制。在一些实现方式中,验证者系统106将带有时间戳的响应附加到受信任状态或镜像向量,作为签名过程的一部分,这可以被称为装订。因此,源节点302可能不会为了鉴证特定的候选下一跳节点而联络验证者系统106。
图4是根据一些实现方式的由控制器协调的基于鉴证的路由400的示例的框图。在一些示例中,源节点402类似于图1中的源节点102,或者是从其改编而来的。如图4中所示,鉴证路由协调器104与源节点402分开,但与源节点402耦合(例如,连接)。在一些示例中,鉴证路由协调器104可以包括具有关于网络114的知识的控制器,该网络114包括候选下一跳节点108A-N并且可选地包括候选第二跳节点110A-N和/或候选N跳节点112A-N。
例如,在一些实现方式中,鉴证路由协调器104可以是网络管理系统(networkmanagement system,NMS)。作为另一个示例,在一些实现方式中,鉴证路由协调器104可以是基于意图的联网系统,例如思科的数字网络架构(Digital Network Architecture,DNA)。又例如,在一些实现方式中,鉴证路由协调器104可以是无线LAN控制器(wirelessLAN controller,WLC),并且候选下一跳节点108A-108N以及可选的候选第二跳节点110A-N和/或候选N跳节点112A-N可以是联网设备,例如接入点、用户设备、交换机、路由器、防火墙,等等。
鉴证路由协调器104可以从候选下一跳节点108A-108N获得鉴证数据(例如,金丝雀戳记)。候选下一跳节点108A-108N中的每一者可以被包括在源节点402和目的地节点(例如,114)之间的各个路由中。在一些实现方式中,各个路由是相互独立的。
鉴证路由协调器104可以基于鉴证数据来确定置信得分。例如,在一些情况下,每个置信得分可以基于鉴证数据中的相应一个和受信任状态或镜像向量之间的比较。在一些实现方式中,鉴证路由协调器104可以从验证者系统106获得受信任状态或镜像向量。
在一些示例中,鉴证路由协调器104可以从候选第二跳节点(例如,110A-N)和/或候选N跳节点(112A-N)获得鉴证数据。候选第二跳节点和/或候选N跳节点中的每一者可被包括在候选下一跳节点108A-108N中的相应一个与目的地节点之间的各个路由内。此外,每个置信得分可以额外地基于鉴证数据中的相应一个与受信任状态或镜像向量之间的比较,并且结合来自候选下一跳节点108A-N的鉴证数据中的另一个相应一个与受信任状态或镜像向量之间的比较。
鉴证路由协调器104可以从置信得分中选择满足一个或多个选择标准的特定置信得分。该特定置信得分与候选下一跳节点108A-108N中的特定候选下一跳节点相关联。
鉴证路由协调器104可以将以目的地节点为目的地的分组引导到特定的候选下一跳节点。例如,在一些情况下,鉴证路由协调器104可以向源节点402的经鉴证路由管理器404D提供经鉴证路由信息(例如,经证实的金丝雀戳记数据、安全性测量,等等),以便促进源节点402将数据分组发送到特定的候选下一跳节点。经鉴证路由信息可以指示出候选下一跳节点108A-108N中的每一者的可信度。
例如,在一些实现方式中,经鉴证路由信息包括识别候选下一跳节点108A-108N中的安全候选下一跳节点的标识符(例如,互联网协议(IP)地址、介质访问控制(mediaaccess control,MAC)地址、服务集标识符(service set identifier,SSID),等等)。在这个示例中,源节点402可以基于该标识符提供数据分组,以便将数据分组路由到安全的特定候选下一跳节点。
作为另一个示例,在一些实现方式中,经鉴证路由信息可以包括与候选下一跳节点108A-108N相关联的置信得分。在这个示例中,经鉴证路由管理器404D可以基于一个或多个选择标准选择特定的候选得分。此外,经鉴证路由管理器404D可以将数据分组提供给与特定的候选得分相关联的特定下一跳节点。在一些示例中,鉴证路由协调器104可以响应于确定特定的置信得分下降到低于置信阈值而停止将额外的数据分组引导到特定的候选下一跳节点。
在一些情况下,源节点402可以包括一个或多个处理器404A。该一个或多个处理器404A可以提供处理资源以管理从鉴证路由协调器104获得的经鉴证路由信息。源节点402还可以包括存储器404B。存储器404B可以包括例如非暂时性存储器,比如RAM、ROM,等等。在一些示例中,存储器404B可以存储数据,例如所获得的经鉴证路由信息和要发送的数据分组。源节点402还可以包括网络接口404C,用于获得经鉴证路由信息和发送/接收其他数据。
在一些情况下,可以基于与网络设备和时间信息相关联的指标来确定网络设备是否已被破坏。这些指标可以包括但不限于一组安全性测量或者证据足迹,它们指示出特定设备是否受到破坏。这样的指标可以来自一个或多个来源,例如但不限于TPM、金丝雀戳记、Syslog、YANG Push、EEM、对等设备、流量计数器以及其他来源。可见性可以是一种及时识别破坏的方法。
当没有指标(即,没有安全性测量或足迹可用)时,设备被破坏的概率可以是自从上次证实设备处于已知良好状态以来经过的时间的函数。在一些情况下,利用上述指标,可以提供公式来估计在网络内操作的任何给定设备的受到破坏的概率或机会。
例如,P_v1可以被定义为当存在与破坏相对应的一组特定的事件/签名时,类型1的破坏的概率。P_v2可以被定义为类型2的破坏的概率,并且P_vx可以被定义为类型x的破坏的概率。假设这些破坏(P_v1至P_vx)中的每一者是独立的,则下面的公式可以提供基于认可的签名的破坏的概率(P_v):
P_v=1-((1-P_v1)(1-P_v2)(1-P_vx))等式(1)。
当不同类型的被评估的破坏(P_v1,P_v2,P_vx)之间存在相互依赖关系时,可以使用其他类型的等式来代替等式(1)或者与等式(1)组合使用。
此外,在一些情况下,可以基于来自正在为其计算破坏概率的设备的事件证据(例如,经由等式(1))和/或从邻近正在为其计算破坏概率的设备的一个或多个设备获得的证据(例如,经由等式(1))来确定给定的概率(例如,P_v1-P_vx)。
在一些情况下,在部署环境中的设备处发生了不可见破坏的概率可以用等式来表达:
Pi=(1-xt)n等式(2)。
在等式2中,x是在时间段t内发生不可见破坏的机会,并且n是自从上次验证良好/未破坏的系统状态以来的t间隔的数目。
有效地知道Pi可以意味着在独立于任何具体证据的情况下操作者知道在设备应被认为受到破坏之前应当预期的半衰期。应当注意,不可见破坏的概率不一定是静态的。可以允许基于当前对病毒/攻击的知识来进行实时修改。
有了上面描述的可见和不可见因素的等式表示(等式(1)和等式(2)),给定设备的总体破坏概率可以由以下等式给出:
Pc=1-((1-Pv)*(1-Pi))等式(3)。
等式(3)提供了给定设备的可信度的指标。这个度量既考虑了基于时间的熵,也考虑了可以与已知破坏相关的任何可用证据。
如果可以计算(或者粗略估计)Pc,就可以高效地对各种功能进行优先级排序。例如,控制器可以调度何时对设备进行更深入的证实(或者可能直接刷新)。这种调度可以包括确定何时执行主动检查,以证实设备存储器位置(可能包含可能已被破坏的可执行代码的位置)。这些可以用来将系统返回到已知的良好状态(并且重置熵定时器)。可以基于正在进行的安全性/可信度问题的证据,而不是仅仅基于时间,来对本地配置库进行刷新。除了对系统检查的调度,还可以有基于Pc的值的转发暗示。例如,可能基于远程设备的相对可信度而调整/影响路由或交换行为。如果更高的Pc值存在,则敏感数据流量流可以被绕过该设备进行路由。
作为本公开的另一个优点,应当注意,仅靠加密可能不足以保护敏感流,因为在有些场景中,即使是流量正在端点之间发生的事实也可能被认为是要保护的信息(例如,在战场上)。
如前所述,可信度向量可以允许来自直接对等体的声明,以表达其经验证的可信度。可信度向量包括至少一个安全性声明,该声明鉴证特定参数的安全性,例如启动完好性、硬件完好性或者可执行文件完好性。安全性声明可以是肯定支持安全性的,或者是减损(或者否认)支持安全性的。其结果是,可以在一组网络设备之间建立和维护信任网。然而,可信度向量并不表达多跳之外的可信度关系,其中利用路由协议来确保特定的IP分组只走值得信任的路径。
随着保密计算的出现,TEE可证明地断言任何直接连接的TEE的可信度已变得有用。系统可被配置为直接与已知的、可证明是真实/可信的软件实例成为对等体。然而,对直接连接的对等体的状态的了解并不能证明整个底层系统的可信度,因为不可信的数据可能已在上游被插入。因此,在一个端点处的单个信任声明不足以建立异构系统中包括的所有组件的信任水平,而且当前还没有共享异构系统的可信度的方法。
本发明包括用于解决这些问题/差异的系统、方法和计算机可读介质。具体而言,本技术涉及用于验证任何间接连接的TEE的可信度的系统、方法和计算机可读介质,该间接连接的TEE向直接连接的TEE提供数据。
通过对可在异构系统之间断言的可信度声明进行标准化,一组异构的应用和计算设备就有可能维持全系统的可信度向量(例如,可信度态势)。全系统的可信度向量可以是肯定性声明的交集和减损性声明的并集。在其他示例中,全系统的可信度态势可以是与异构系统中的服务节点相关联的声明的数学和逻辑组合。系统级可信度向量也可以被连接到异构系统中的任何设备使用来确定是否允许与对等系统的连通性,以及是否在与对等系统的连接上应用策略(例如,速率限制、连接到特定上下文,等等)。
表格1说明了根据一些示例,可被包括在可信度向量中的各种安全性声明的示例。在一些示例中,系统可以正规化(例如,标准化)可由与鉴证设备有关的应用验证者断言的可信度声明。安全性声明可以肯定设备的安全性,或者减损(例如,否认)设备的安全性。
Figure BDA0004165011790000231
Figure BDA0004165011790000241
表格1
在一些示例中,安全性声明可以是声明的列表,并且多个声明的存在可以表明竞争状况(例如,[“executables-verified”,“executables-fail”]在逻辑上是不可能的。在其他示例中,安全性声明可以是识别安全性声明的键-值对,其可能对应于表格1中的安全性声明,以及相应的值。对于与[{“areExecutablesVerified”:true,“fileIntegrity”:“225”}]的JavaScript对象表示法(JavaScript object notation,JSON)相对应的示例对象,“areExecutablesVerified”对应于“executables-verified”和“executables-fail”安全性声明,并且包括整数值,该值识别了与文件系统完好性相关联的安全性声明所关联的安全性值。
不同的受信任计算设备(例如,不同的TEE)具有不同的安全性参数、安全性声明,等等。TEE的示例包括,例如,TPM、思科信任锚模块(trust anchor module,TAM)、ARMTrustZone、AMD平台安全性处理器(platform security processor,PSP)、安全服务容器(Secure Service Container,SSC)、安全执行、英特尔软件防护扩展(Software GuardExtensions,SGX)安全飞地、MultiZone、Keystone Enclave、微软Pluton、以及PenglaiEnclave。不同的受信任计算设备可具有不同的安全性声明,并且所公开的系统和方法可以对照不同TEE类型的能力来正规化设备声明。例如,该系统可以识别哪些声明对于特定类型的TEE而言是自动的或者隐性的。一些隐性的声明可以包括:当工作负载在安全飞地(例如,英特尔SGX安全飞地)内可验证地运行时,“confidential-data-in-motion”是有效的。下面的表格2说明了来自TPM设备和TAM设备的安全性声明的比较以及可如何确定相应的安全性声明。
Figure BDA0004165011790000251
/>
Figure BDA0004165011790000261
表格2
表格3和表格4根据一些示例说明了可信度向量的示例。表格3和表格4中的可信度向量出于说明目的是以JSON格式说明的,并且可以以任何适当的格式来提供。在一些实现方式中,系统可包括与鉴证者生成可信度向量有关的验证者进程,该进程可以将与鉴证者设备有关的声明集合与其他与鉴证者交换应用数据的微服务/子系统相加。可信度向量可以在某个接口上暴露于鉴证者集合之外。这可以使得在鉴证者集合之外的其他进程确定鉴证者接口是否可以断言它可以支持一组业务相关/有用的安全性声明。例如,系统可以表达接口远侧的一组设备是否能够满足最低限度的可信度水平。
Figure BDA0004165011790000262
表格3:基于布尔值的可信度声明
Figure BDA0004165011790000263
表格4:基于整数的可信度声明
图5图示了根据一些示例,用于互连鉴证者的中心辐射型拓扑500的示例。在一些实现方式中,可信度向量(例如,安全性信息)可以由系统通过利用基本声明或从属声明来生成。生成可信度向量的方法可以基于互连系统的拓扑结构。例如,生成可信度向量的方法可以包括最少的计算工作和最优的操作简单性。本文描述了计算系统级声明的三种方法,并且这些方法可以基于互连鉴证者的拓扑结构。
在一些实现方式中,可以利用互连鉴证者的中心辐射型拓扑结构。例如,验证者502可以评估每个鉴证者的可信度,并且生成设备特定的可信度向量(例如,安全性信息)。例如,验证者502可以为存储介质510、人工智能(artificial intelligence,AI)服务512、云服务514或者公共云基础设施518生成可信度向量。客户端504可以基于通过网络508传输的请求,从服务器506请求服务的可信度向量。在一些情况下,该服务可以是短暂的请求(例如,对银行账户的查找)或者持久的连接(例如,流媒体连接)。持久性连接的非限制性示例可以用例如谷歌远程过程调用(Google remote procedure call,gRPC)连接、websocket连接等等来形成。
服务器506可以根据基于与服务相关联的互连设备的中心辐射型拓扑来生成安全性信息(例如,可信度向量)。对于提供或接收要求可信度处理的数据的鉴证者的每个服务节点(例如,服务器506),服务器506可以使用一种机制从相关服务节点取回上游可信度向量,以确保可信度向量不能被篡改。在图5所示的示例中,服务器506确定存储介质510(例如,关系数据库、文档数据库、图形查询语言(GraphQL)服务,等等)、AI服务512和云服务514可由服务器506集成到服务中。服务器506还可以识别出公共云基础设施518可能被直接或者间接地实现到对客户端504的服务中。
在一些实现方式中,服务器506可以使用不同的机制来识别相关服务节点。例如,服务器506可以使用群组成员协议来请求管理群组成员的管理节点在运行时识别相关服务节点。在其他示例中,服务器506和服务节点可以实现生成树协议,以防止相关服务节点的循环回路的形成。在一个示例中,服务器可以提供服务,并且每个连接请求可以在编译时被分析。例如,在编译器的解析阶段期间,可以识别与连接请求相关联的每个端点,并且解析器可以被配置为插入代码,以基于每个相应连接请求的端点来请求安全性信息。
服务器506还可以确保可信度向量不能被篡改,这可以因TEE类型而异。例如,在SGX中,与开发者签名的安全飞地的对接可以是足够的。在包括TPM的服务器506(例如,存储介质510、AI服务512、云服务514或者公共云基础设施518)的服务节点的示例中,可以向该服务节点要求盖章的护照。
在一些示例中,服务器506可以将与TEE相关联的任何隐性声明转换为相应的显性声明。服务器506可被配置为对来自各种服务节点的组合的隐性和显性声明进行正规化。基于正规化的安全性声明,服务器506可以合成复合可信度向量(例如,复合安全性信息),该向量为一组异构服务节点提供标准化的安全性信息。例如,特定的TEE类型可以包括单个参数,该参数可对应于两个不同的、正规化的参数,并且服务器506将把该单个参数转换成两个正规化的参数。如果可信度向量的某个参数从接口处不可用,或者其无法被验证,则可信度向量可被视为空或者设置为默认值。
服务器506基于显性和隐性声明,基于来自服务器506的可信度向量和来自服务节点的可信度向量的肯定或减损值,合成复合可信度向量(例如,可信度向量)。在一个示例中,安全性声明可以在逻辑上被组合,以生成总结肯定和减损声明的复合可信度向量。例如,对于任何肯定的声明,可以基于设备可信度向量和每个上游系统可信度向量的交集(例如,逻辑AND)生成复合可信度向量,并且,对于任何减损的声明,可以基于设备可信度向量和每个上游系统可信度向量的并集(例如,逻辑OR)生成复合可信度向量。在一些示例中,肯定的声明和减损的声明可以是表示多个值的整数(例如,0-255),并且每个声明可以基于数学运算而被组合。
图6图示了根据本公开的示例,在异构网络中为服务生成复合安全性信息的过程的序列图600。在图6中,起源节点602被配置为向服务节点604(例如,服务器、网络设备,等等)请求可信度向量(例如,安全性信息)。在这个示例中,服务节点604将把服务节点606和服务节点608用于服务中的数据或其他操作。最初,服务节点604在启动操作期间可以发送安全性信息请求614,该请求要求验证者610提供安全性信息,例如可信度向量,并且安全性信息请求614可以包括具体信息,例如关于硬件、软件、固件、文件系统等等的信息。作为响应,服务节点604从验证者610接收安全性信息616,例如可信度向量,并且将可信度向量安全地存储在TEE中(例如,安全环境,比如TPM、TAM或者上述的其他安全飞地)。
服务节点606在启动操作期间,可以向验证者610发送安全性信息请求618,并且从验证者610接收安全性信息620,以便在安全环境中安全存储。服务节点608在启动操作期间也可以向验证者610发送安全性信息请求622,并且从验证者610接收安全性信息624,以便在安全环境中安全存储。
起源节点602可以接收例如配置来自用户的服务或者起源节点602处的服务的指令,这使得起源节点602向服务节点604发送安全性信息请求626。安全性信息请求626可以识别服务(例如,网络服务、应用服务,等等),并且服务节点604可以在块628处确定可提供数据、功能或者将提供给起源节点602的其他内容的其他服务节点。例如,服务节点604识别服务节点606提供需要值得信赖的数据,并且服务节点608提供为服务节点604执行的功能。例如,服务节点608可以执行安全密码功能、图像处理功能或者自然语言处理功能,这些功能不适合在服务节点604执行。
在块628处对相关服务节点的识别可以使用不同的技术来识别相应的节点。例如,服务节点604可以使用中心辐射型方法,由此每个相关服务节点进一步识别相关服务节点。然而,中心辐射型方法可能会创建服务节点的循环回路。在一些示例中,服务节点604可以是由群组成员协议管理的群组的一部分,并且服务节点604可以连接到管理节点(未示出)以识别相关服务节点。各种服务节点也可以实现生成树协议或者类似的算法,这种协议或算法会防止服务节点的循环回路的创建。
在识别相关服务节点(例如,服务节点606和服务节点608)之后,服务节点604可以向服务节点606发送安全性信息请求630,并且作为响应,接收与服务节点606相关联的安全性信息620。服务节点604还可以向服务节点608发送安全性信息请求632,并且作为响应,接收与服务节点608相关联的安全性信息624。
在接收安全性信息620和安全性信息624之后,在块638,服务节点604基于与该服务相关联的所有节点的安全性信息来创建(例如,生成)复合安全性信息640。在这个示例中,服务节点604、服务节点606和服务节点608是该服务中的参与节点,并且服务节点604从安全性信息616、安全性信息620和安全性信息624的组合生成复合安全性信息640。在创建复合安全性信息640之后,服务节点604将复合安全性信息640发送到起源节点602。
响应于接收到复合安全性信息640,起源节点602确定复合安全性信息是否足以支持为该服务连接到服务节点604。例如,如果在块642,复合安全性信息640表明服务节点(例如,服务节点604、服务节点606或服务节点608)中的至少一者不具有真实的硬件,则不能支持该服务。在其他示例中,起源节点602可以基于不同的配置确定与服务节点604的连接,该配置例如限制安全性信息或者提供服务节点604必须满足的更高水平的安全性。在块642处确定是否连接和连接配置之后,起源节点602向服务节点604发送连接请求644,以基于连接配置来发起连接(假定起源节点602允许该连接)。
下面的图7-图10描述了使用不同的TEE生成复合可信度向量的各种示例,这些TEE是服务节点的组成部分。TEE可以提供不同的安全性声明,这些安全性声明只是为了说明而提供的。TEE的实现可以提供下面描述的安全性声明,或者可以提供任何类型的安全性声明。
图7图示了根据本公开的示例,图示出将来自具有不同TEE的服务节点的可信度向量组合成复合可信度向量的示意图。复合可信度向量700是从包括TPM模块的TPM服务节点702、包括SGX飞地的SGX服务节点704、包括TPM模块的TPM服务节点706和包括TAM模块的TAM服务节点708生成的。在这个示例中,可信度向量中的安全性声明是布尔值,并且是使用肯定声明的交集和减损声明的并集来组合的。
TPM服务节点702包括可信度向量712,其中有三个肯定的声明(hw-authentic、identity-verified、boot-verified)。TPM服务节点702被配置为从SGX服务节点704接收可信度向量714,从TPM服务节点706接收可信度向量716,以及从TAM服务节点708接收可信度向量718,并且生成复合可信度向量700。在这个示例中,复合可信度向量700基于包括相应安全性声明的所有可信度向量的交集包括hw-authentic安全性声明和boot-verified安全性声明。TPM服务节点706的可信度向量716包括file-repudiated的减损安全性声明,并且将基于所有减损安全性声明的并集而被包括在复合可信度向量700中。
图8图示了根据本公开的示例,图示出将来自具有不同TEE的服务节点的可信度向量组合成复合可信度向量800的另一示意图。复合可信度向量800是从包括TPM模块的TPM服务节点802、包括TrustZone模块的TrustZone服务节点804和包括TAM模块的TAM服务节点806生成的。来自TPM服务节点802的可信度向量812、TrustZone服务节点804的可信度向量814和TAM服务节点806的可信度向量816的肯定和减损的安全性声明的组合在复合可信度向量800中产生两个肯定的安全性声明。
图9图示了根据本公开的示例,图示出将来自具有不同TEE的服务节点的具有与不同参数相关联的整数值的可信度向量组合成复合可信度向量900的示意图。复合可信度向量900是从包括TPM模块的TPM服务节点902、包括SGX的SGX服务节点904、包括TPM模块的TPM服务节点906和包括TAM模块的TAM服务节点908生成的。在这个示例中,可信度向量中的安全性声明是整数值,并且是使用数学(例如,中位数)和逻辑运算(例如,下限或者最小函数)来组合的。
特别地,TPM服务节点902的可信度向量912、SGX服务节点904的可信度向量914、TPM服务节点906的可信度向量916和TAM服务节点908的可信度向量918被数学地和/或逻辑地组合成复合可信度向量900,以使得每个安全性声明被表示。在这种情况下,肯定声明可以是来自每个肯定声明的范围,可以使用各种手段计算,例如总和、基于整数值的加权计算、非线性组合,等等。与图8和图9中描述的逻辑运算不同,缺乏安全性声明(例如,可信度向量918不包括identify-verified声明)可能不会影响对于复合可信度向量900的计算。例如,可信度向量918不包括identify-verified声明,并且复合可信度向量900基于平均值来计算身份经验证的声明。然而,在一些情况下,可以基于可信度向量916和可信度向量918中的file-repudiated安全性声明之和,对减损安全性声明进行求和,如复合可信度向量900中的file-repudiated安全性声明所示。
图10图示了根据本公开的示例,图示出将来自具有TEE的服务节点的具有与不同参数相关联的整数的可信度向量组合成复合可信度向量的示意图。复合可信度向量1000是从包括TPM模块的TPM服务节点1002、包括SGX的SGX服务节点1004和包括PSP的PSP服务节点1006生成的。在这个示例中,可信度向量中的安全性声明是整数值,并且是使用数学和/或逻辑运算来组合的。
复合可信度向量1000的安全性声明是基于TPM服务节点1002的可信度向量1012、SGX服务节点1004的可信度向量1014以及PSP服务节点1006的可信度向量1016的各种组合的。例如,复合可信度向量1000中的hw-authentic安全性声明使用下限(例如,最小)函数,并且boot-verified安全性声明使用显性的boot-verified声明的平均值。
在其他示例中,TPM服务节点1002可以基于从相应节点提供的数据和/或函数确定如何组合安全性声明。例如,PSP服务节点1006可以基于输入数据提供功能,并且将该处理后的数据返回给TPM服务节点1002。在这个示例中,对于PSP服务节点1006所提供的功能而言,对于confidential-data-in-motion 255的安全性声明是重要的,而对于confidential-data-at-rest的安全性声明是不重要的。TPM服务节点1002通过执行下限函数,基于该安全性声明是预知的服务节点(例如,TPM服务节点1002和SGX服务节点1004),确定复合可信度向量1000包括对于confidential-data-in-motion的安全性声明。
在一些情况下,不同的TEE可具有不同的格式,例如相应的声明的列表(例如,[“hw-authentic”,“file-repudiated”])。在这种情况下,服务节点可以确定与显性声明相关联的值,并且确定具有隐性声明的值。这允许了服务节点对每种类型的安全性信息进行正规化,而不考虑TEE的类型和安全性信息的格式。
图11图示了根据本公开的示例,用于在异构网络中生成复合可信度向量的示例方法1100。虽然示例方法1100描绘了特定的操作序列,但该序列可以被更改,而不脱离本公开的范围。例如,所描绘的一些操作可以被并行地或者按不同序列执行,这不会实质性地影响方法1100的功能。在其他示例中,实现方法1100的示例设备或系统的不同组件可以在基本相同的时间或者以特定的序列执行功能。
根据一些示例,该方法包括在块1105处从客户端设备接收对服务节点的安全性信息的请求。例如,处理器1410可以从客户端设备接收对服务节点的安全性信息的请求。在一些示例中,该请求包括识别要从服务节点接收的服务的信息(例如,应用编程接口(application programming interface,API)、gRPC服务,等等)。
验证者设备确定服务节点的安全性信息和相关服务节点的安全性信息。安全性信息包括与验证类型相关的多个声明,其中可以包括肯定或减损值(例如,布尔值、整数值,等等)。在一些示例中,验证的类型包括硬件验证、唯一身份验证、数据完好性验证、启动验证和可执行文件验证中的至少一者。在安全性信息中可以包括额外类型的验证。安全性信息是基于硬件保护的信息的,这些信息对操作系统或应用而言是隔离的并且不可用的。例如,供应商的公钥被散列并且由TEE验证,然后公钥可以用于验证来自供应商的受信任固件的数字签名。受信任固件可被配置为提供安全性信息,例如启动验证、可执行文件验证,等等。
在接收到对安全性信息的请求之后,方法1100包括在块1110处基于该服务来识别(例如,由处理器1410)要与该服务节点通信的至少一个相关节点。
在第一示例中,在块1110处识别相关节点可以包括向管理节点发送识别候选相关节点的请求。管理节点执行群组成员协议以创建与每个服务相关联的不同群组,并且以与该服务相关联的候选相关节点的列表响应该请求。服务节点可以选择从管理节点识别的候选相关节点中的一些或全部接收安全性信息。
在第二示例中,在块1110处识别相关节点可以包括执行生成树算法以从可寻址节点识别与服务相关联的候选节点。该生成树算法可以使得节点例如向邻居节点提供安全性信息通告,接收来自邻居节点的响应于该安全性信息通告的安全性信息通告,从邻居安全性信息通告基于通往邻居节点的多个潜在路径识别与该邻居节点相关联的循环路由,并且排除邻居节点作为候选子节点。
在识别相关节点之后,方法1100包括在块1115处请求(例如,由处理器1410)相关节点(或者多个相关节点)的安全性信息(例如,可信度向量)。响应于对安全性信息的请求,服务节点可以从每个相关节点接收安全性信息。
在从相关节点(或者多个相关节点)接收安全性信息之后,方法1100包括在块1120处由服务节点的安全性信息和至少一个相关服务节点的安全性信息生成(例如,由处理器1410)复合安全性信息。例如,图14中所示的处理器1410可以由服务节点的安全性信息和子节点的安全性信息生成复合安全性信息。在一些示例中,生成复合安全性信息可以包括组合(例如,由处理器1410)服务节点的安全性信息和子节点的安全性信息中的每个相应声明以产生复合安全性信息。图12和图13进一步描述了组合安全性信息中的相应声明的示例。
根据一些示例,该方法包括在块1125处将复合安全性信息发送到客户端设备。例如,图14中所示的处理器1410可以将复合安全性信息发送到客户端设备。客户端设备接收复合安全性信息并且基于复合安全性信息确定允许连通性或者实现策略。
图12图示了根据本公开的示例,用于将各种相关服务节点的安全性信息组合成复合安全性信息的示例方法1200。例如,方法1200可以由已从相关服务节点接收到安全性信息的服务节点执行。最初,方法1200包括,在块1205,响应于从子节点接收到安全性信息,识别(例如,由处理器1410)子节点的安全性信息中的隐性声明,并且将隐性声明附加到来自子节点的安全性信息。在块1210,服务节点可以识别服务节点的安全性信息和相关服务节点的安全性信息中的相应声明的值。例如,服务节点可以识别与服务节点的安全性信息中的特定声明相关联的第一值,以及与子节点的安全性信息中的该同一特定声明相关联的第二值。
在块1215,方法1200可以包括执行(例如,由处理器1410)用于肯定声明的交集和用于减损声明的并集,以产生复合安全性信息。例如,服务节点可以基于第一值和第二值为复合安全性信息中的特定声明生成复合值。不存在于每个安全性信息中的肯定声明可以被从复合安全性信息中排除,而存在于任何安全性信息中的减损声明可以被包括在复合安全性信息中。在一些示例中,复合安全性信息可以对应于上面表格4中说明的安全性信息。在这个示例中,安全性信息包括显性的肯定和减损声明。
图13图示了根据本公开的示例,用于将各种相关服务节点的安全性信息组合成复合安全性信息的示例方法1300。例如,方法1300可以由先前从相关服务节点接收到了安全性信息的服务节点执行。最初,方法1200包括,在块1305,响应于从子节点接收到安全性信息,识别(例如,由处理器1410)子节点的安全性信息中的隐性声明,并且将隐性声明附加到来自子节点的安全性信息。
在块1310,方法1300包括识别(例如,由处理器1410)服务节点的安全性信息和相关服务节点的安全性信息中的相应安全性声明的值。在这种情况下,声明可以包括确定安全性声明是减损还是肯定(或者中性)的整数值。在块1315,方法1300包括使用数学和逻辑运算来组合(例如,由处理器1410)相应的安全性声明,以产生复合安全性信息。如上所述,可以对值进行平均、非线性组合、基于权重的组合、使用各种统计方法进行统计组合、可以识别最小值、可以识别最大值,等等。在一些示例中,复合安全性信息可以对应于上面表格5中说明的安全性信息。在这个示例中,每个安全性声明包括一个范围,并且可以对应于显性的肯定声明、中性声明和减损声明。例如,中性可以例如是推断出来的安全性声明,它不是由TEE显性提供的。
图14示出了计算系统1400的示例,该计算系统可以是例如构成任何网络节点的任何计算设备,例如起源节点602、服务节点604、服务节点606、服务节点608、验证者610、管理节点(未示出)或者其任何组件,其中系统的组件使用连接1405与彼此通信。连接1405可以是经由总线的物理连接,或者到处理器1410中的直接连接,例如在芯片组架构中。连接1405也可以是虚拟连接、联网的连接或者逻辑连接。
在一些实施例中,计算系统1400是分布式系统,其中本公开中描述的功能可以分布在一个数据中心、多个数据中心、对等网络等等内。在一些实施例中,一个或多个所描述的系统组件代表许多这样的组件,每个组件执行对于该组件所描述的部分或全部功能。在一些实施例中,组件可以是物理或虚拟设备。
示例计算系统1400包括至少一个处理单元(CPU或处理器)1410和连接1405,该连接将包括系统存储器1415(例如ROM 1420和RAM 1425)在内的各种系统组件耦合到处理器1410。计算系统1400可以包括与处理器1410直接连接、紧邻处理器1410或者被集成为处理器1410的一部分的高速存储器1412的缓存。
处理器1410可以包括任何通用处理器和硬件服务或软件服务,例如存储在存储设备1430中的服务1432、1434和1436,它们被配置为控制处理器1410以及专用处理器,在专用处理器中软件指令被包含到实际处理器设计中。处理器1410实质上可以是完全独立自给的计算系统,包含多个核心或处理器、总线、存储器控制器、缓存,等等。多核处理器可以是对称的或非对称的。
为了使得能够进行用户交互,计算系统1400包括输入设备1445,该输入设备可代表任意数目的输入机制,例如用于话音的麦克风、用于手势或图形输入的触摸敏感屏、键盘、鼠标、运动输入、话音,等等。计算系统1400还可以包括输出设备1435,该输出设备可以是本领域技术人员已知的多种输出机制中的一个或多个。在一些情况中,多模式系统可使得用户能够提供多种类型的输入/输出来与计算系统1400通信。计算系统1400可以包括通信接口1440,该通信接口一般可以支配和管理用户输入和系统输出。对于在任何特定硬件布置上操作没有限制,因此这里的基本特征可以很容易地在改进的硬件或固件布置被开发出来时被其所替代。
存储设备1430可以是非易失性存储器设备,并且可以是硬盘或者可存储计算机可访问的数据的其他类型的计算机可读介质,例如磁带、闪存卡、固态存储器设备、数字多功能盘、墨盒、RAM、ROM、和/或这些设备的某种组合。
存储设备1430可以包括软件服务、服务器、服务等等,当定义这种软件的代码被处理器1410执行时,这些软件服务、服务器、服务等等使得系统执行功能。在一些实施例中,执行特定功能的硬件服务可以包括存储在计算机可读介质中的软件组件,该软件组件结合诸如处理器1410、连接1405、输出设备1435等等之类的必要硬件组件来执行该功能。
图15图示了适合于执行交换、路由、负载平衡和其他联网操作的示例网络设备1500。示例网络设备1500可以实现为交换机、路由器、节点、元数据服务器、负载平衡器、客户端设备,等等。
网络设备1500包括中央处理单元(central processing unit,CPU)1504,接口1502和总线1510(例如,外围组件互连(peripheral component interconnect,PCI)总线)。当在适当的软件或固件的控制下行动时,CPU 1504负责执行分组管理、差错检测和/或路由功能。CPU 1504最好是在包括操作系统和任何适当应用软件在内的软件的控制下完成所有这些功能。CPU 1504可以包括一个或多个处理器1508,例如来自INTEL X86微处理器家族的处理器。在一些情况下,处理器1508可以是专门设计的硬件,用于控制网络设备1500的操作。在一些情况下,存储器1506(例如,非易失性RAM、ROM,等等)也形成CPU 1504的一部分。然而,有许多不同的方式可将存储器耦合到系统。
接口1502通常是作为模块化接口卡(有时称为“线路卡”)提供的。一般而言,它们控制网络上数据分组的发送和接收,并且有时支持与网络设备1500一起使用的其他外围设备。可提供的接口有以太网接口、帧中继接口、线缆接口、数字订户线(digital subscriberline,DSL)接口、令牌环接口,等等。此外,可以提供各种非常高速的接口,例如快速令牌环接口、无线接口、以太网接口、千兆比特以太网接口、异步传送模式(asynchronoustransfer mode,ATM)接口、高速串行接口(high-speed serial interface,HSSI)、销售点(point-of-sale,POS)接口、光纤分布式数据接口(fiber distributed data interface,FDDI)、WIFI接口、3G/4G/5G蜂窝接口、CAN BUS、LoRA,等等。一般而言,这些接口可以包括适合与适当的媒体通信的端口。在一些情况下,它们还可以包括独立的处理器,并且在一些情况中包括易失性RAM。独立处理器可以控制诸如分组交换、媒体控制、信号处理、密码处理和管理之类的通信密集型任务。通过为通信密集型任务提供单独的处理器,这些接口允许了主CPU(例如,1504)高效地执行路由计算、网络诊断、安全性功能,等等。
虽然图15所示的系统是本公开的一个特定网络设备,但它绝不是可在其上实现本公开的唯一网络设备架构。例如,经常使用具有单个处理器的架构,该处理器可处理通信以及路由计算,等等。另外,其他类型的接口和媒体也可与网络设备1500一起使用。
无论网络设备的配置如何,它都可采用一个或多个存储器或存储器模块(包括存储器1506),这些存储器或存储器模块被配置为存储用于通用网络操作和本文描述的用于漫游、路由优化和路由功能的机制的程序指令。程序指令例如可控制操作系统和/或一个或多个应用的操作。一个或多个存储器也可被配置为存储表格,例如移动性绑定、注册和关联表,等等。存储器1506也可保存各种软件容器和虚拟化执行环境和数据。
网络设备1500还可以包括专用集成电路(application specific integratedcircuit,ASIC)1512,其可以被配置为执行路由和/或交换操作。ASIC 1512可以经由总线1510与网络设备1500中的其他组件通信,以交换数据和信号并且协调网络设备1500的各种类型的操作,例如,路由、交换和/或数据存储操作。
在一些示例中,所公开的系统可以在你与平台交互之前验证平台的身份和安全性态势。例如,Azure Attestation从平台接收证据,用安全性标准对其进行证实,对照可配置策略对其进行评估,并且为基于声明的应用产生鉴证令牌。该服务支持对像是
Figure BDA0004165011790000381
SGX和基于虚拟化的安全性(virtualization-based security,VBS)飞地这样的TPM和TEE的鉴证。
综上所述,公开了用于为异构系统提供的服务提供安全性态势的系统、装置、方法和计算机可读介质。一种用于由服务节点验证信任的方法包括从客户端设备接收对服务节点的安全性信息的请求,其中该请求包括识别要从服务节点接收的服务的信息,基于该服务识别要与服务节点通信的相关节点,在识别相关节点之后,请求相关节点的安全性信息,由服务节点的安全性信息和相关节点的安全性信息生成复合安全性信息,并且将复合安全性信息发送到客户端设备。复合安全性信息为由具有不同受信任执行环境的异构设备实现的服务提供安全性声明。
实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可采取各种外形参数。这种外形参数的典型示例包括服务器、膝上型电脑、智能电话、小外形参数个人计算机、个人数字助理,等等。本文描述的功能也可体现在外围设备或者附加卡中。作为进一步示例,这种功能也可在电路板上的不同芯片或者在单一设备中执行的不同过程间实现。
为了说明清楚,在一些情况中,本技术可被呈现为包括个体的功能块,包括由设备、设备组件、以软件体现的方法中的步骤或例程或者硬件和软件的组合构成的功能块。
本文描述的任何步骤、操作、功能或过程可由硬件和软件服务或者服务的组合单独或者与其他设备相结合执行或实现。在一些实施例中,服务可以是驻留在客户端设备和/或内容管理系统的一个或多个服务器的存储器中的软件,并且在处理器执行与服务相关联的软件时执行一个或多个功能。在一些实施例中,服务是程序,或者执行特定功能的程序的集合。在一些实施例中,服务可以被认为是服务器。存储器可以是非暂时性的计算机可读介质。
在一些实施例中,计算机可读存储设备、介质和存储器可以包括包含比特流等等的线缆或无线信号。然而,当提到时,非暂时性计算机可读存储介质明确排除了诸如能量、载波信号、电磁波和信号本身之类的介质。
根据上述示例的方法可利用存储在计算机可读介质中或者以其他方式从计算机可读介质可得的计算机可执行指令来实现。这种指令可以包括例如使得或者以其他方式配置通用计算机、专用计算机或者专用处理设备执行特定的一个功能或一组功能的指令和数据。所使用的计算机资源的一些部分可以是通过网络可访问的。计算机可执行指令可以是例如二进制文件、中间格式指令(比如汇编语言)、固件或者源代码。可用于存储指令、使用的信息和/或在根据描述的示例的方法期间创建的信息的计算机可读介质的示例包括磁盘或光盘、固态存储器设备、闪存、提供有非易失性存储器的通用串行总线(universalserial bus,USB)设备、联网存储设备,等等。
实现根据这些公开内容的方法的设备可以包括硬件、固件和/或软件,并且可采取各种外形参数。这种外形参数的典型示例包括服务器、膝上型电脑、智能电话、小外形参数个人计算机、个人数字助理,等等。本文描述的功能也可体现在外围设备或者附加卡中。作为进一步示例,这种功能也可在电路板上的不同芯片或者在单一设备中执行的不同过程间实现。
指令、用于传达这种指令的介质、用于执行指令的计算资源以及用于支持这种计算资源的其他结构是提供这些公开内容中描述的功能的手段。
虽然各种示例和其他信息被用来说明所附权利要求的范围内的各方面,但不应基于这种示例中的特定特征或布置来暗示对权利要求的限制,因为本领域普通技术人员将能够使用这些示例来得出各种各样的实现方式。另外,虽然一些主题可能已经被用结构特征和/或方法步骤的示例所特有的语言来描述,但要理解,所附权利要求中定义的主题不一定限于这些描述的特征或者动作。例如,这种功能可以以不同的方式分布,或者在本文所识别的组件以外的其他组件中执行。更确切地说,所描述的特征和步骤是作为所附权利要求的范围内的系统和方法的组成部分的示例被公开的。
本公开的说明性示例包括:
方面1:一种用于由服务节点验证信任的方法,该方法包括:从客户端设备接收对所述服务节点的安全性信息的请求,其中所述请求包括识别要从所述服务节点接收的服务的信息;基于所述服务识别要与所述服务节点通信的相关节点;在识别所述相关节点之后,请求所述相关节点的安全性信息;由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;以及将所述复合安全性信息发送到所述客户端设备。
方面2:根据方面1所述的方法,其中,所述安全性信息包括与验证的类型相关的多个声明,其中所述验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
方面3:根据方面1至2中的任一者所述的方法,首先包括:响应于接收到来自所述相关节点的安全性信息,在所述相关节点的安全性信息中识别隐性声明,并且将所述隐性声明附加到来自所述相关节点的安全性信息。
方面4:根据方面1至3中的任一者所述的方法,其中,所述复合安全性信息的生成包括:组合所述服务节点的安全性信息和所述相关节点的安全性信息中的每个相应声明,以产生所述复合安全性信息。
方面5:根据方面1至4中的任一者所述的方法,其中,组合每个相应声明包括:识别所述服务节点的安全性信息中与第一声明相关联的第一值和所述相关节点的安全性信息中与所述第一声明相关联的第二值;以及基于所述第一值和所述第二值在所述复合安全性信息中为所述第一声明生成复合值。
方面6:根据方面1至5中的任一者所述的方法,其中,组合每种类型的验证包括:识别所述相关节点的安全性信息和所述服务节点的安全性信息之一中与第一声明相关联的减损值;以及从所述复合安全性信息中排除所述第一声明。
方面7:根据方面1至6中的任一者所述的方法,其中,组合每种类型的验证包括:对所述相关节点的安全性信息和所述服务节点的安全性信息中的安全性声明进行正规化;以及将每个安全性声明组合到所述复合安全性信息中。
方面8:根据方面1至7中的任一者所述的方法,还包括:执行生成树算法以从可寻址节点识别与所述服务相关联的候选节点,其中所述相关节点是从所述候选节点中选择的。
方面9:根据方面1至8中的任一者所述的方法,其中,所述服务节点包括第一受信任模块,并且所述相关节点包括第二受信任模块,并且其中,所述第一受信任模块与所述第二受信任模块不同。
方面10:根据方面1至9中的任一者所述的方法,还包括:向管理节点发送识别候选相关节点的请求;以及接收所述候选相关节点的列表,其中,所述管理节点执行群组成员协议以创建与每个服务相关联的不同群组。
方面11:一种用于提供复合安全性信息的服务,包括被配置为存储指令的存储装置(在电路中实现)和处理器。所述处理器被配置为执行所述指令并且使得所述处理器:从客户端设备接收对所述服务节点的安全性信息的请求,其中所述请求包括识别要从所述服务节点接收的服务的信息;基于所述服务识别要与所述服务节点通信的相关节点;在识别所述相关节点之后,请求所述相关节点的安全性信息;由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;并且将所述复合安全性信息发送到所述客户端设备。
方面12:根据方面11所述的服务,其中,所述安全性信息包括与验证的类型相关的多个声明,其中所述验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
方面13:根据方面11至12中的任一者所述的服务,其中,所述处理器被配置为执行所述指令并且使得所述处理器:在所述相关节点的安全性信息中识别隐性声明,并且将所述隐性声明附加到来自所述相关节点的安全性信息。
方面14:根据方面11至13中的任一者所述的服务,其中,所述处理器被配置为执行所述指令并且使得所述处理器:组合所述服务节点的安全性信息和所述相关节点的安全性信息中的每个相应声明,以产生所述复合安全性信息。
方面15:根据方面11至14中的任一者所述的服务,其中,所述处理器被配置为执行所述指令并且使得所述处理器:识别所述服务节点的安全性信息中与第一声明相关联的第一值和所述相关节点的安全性信息中与所述第一声明相关联的第二值;并且基于所述第一值和所述第二值在所述复合安全性信息中为所述第一声明生成复合值。
方面16:根据方面11至15中的任一者所述的服务,其中,所述处理器被配置为执行所述指令并且使得所述处理器:识别所述相关节点的安全性信息和所述服务节点的安全性信息之一中与第一声明相关联的减损值;并且从所述复合安全性信息中排除所述第一声明。
方面17:根据方面11至16中的任一者所述的服务,其中,对所述相关节点的安全性信息和所述服务节点的安全性信息中的安全性声明进行正规化;并且将每个安全性声明组合到所述复合安全性信息中。
方面18:根据方面11至17中的任一者所述的服务,其中,执行生成树算法以从可寻址节点识别与所述服务相关联的候选节点,其中,所述相关节点是从所述候选节点中选择的。
方面19:根据方面11至18中的任一者所述的服务,其中,所述服务节点包括第一受信任模块,并且所述相关节点包括第二受信任模块,并且其中,所述第一受信任模块与所述第二受信任模块不同。
方面20:根据方面11至19中的任一者所述的服务,其中,所述处理器被配置为执行所述指令并且使得所述处理器:向管理节点发送识别候选相关节点的请求;并且接收所述候选相关节点的列表,其中,所述管理节点执行群组成员协议以创建与每个服务相关联的不同群组。
方面21:一种计算机可读介质,包括使用计算机系统的指令。所述计算机包括存储器(例如,在电路中实现)和与所述存储器耦合的处理器(或多个处理器)。所述处理器(或多个处理器)被配置为执行所述计算机可读介质并且使得所述处理器:从客户端设备接收对所述服务节点的安全性信息的请求,其中所述请求包括识别要从所述服务节点接收的服务的信息;基于所述服务识别要与所述服务节点通信的相关节点;在识别所述相关节点之后,请求所述相关节点的安全性信息;由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;以及将所述复合安全性信息发送到所述客户端设备。
方面22:根据方面21所述的计算机可读介质,其中,所述安全性信息包括与验证的类型相关的多个声明,其中所述验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
方面23:根据方面21至22中的任一者所述的机器可读介质,其中,所述处理器被配置为执行所述计算机可读介质并且使得所述处理器:在所述相关节点的安全性信息中识别隐性声明,并且将所述隐性声明附加到来自所述相关节点的安全性信息。
方面24:根据方面21至23中的任一者所述的机器可读介质,其中,所述处理器被配置为执行所述计算机可读介质并且使得所述处理器:组合所述服务节点的安全性信息和所述相关节点的安全性信息中的每个相应声明,以产生所述复合安全性信息。
方面25:根据方面21至24中的任一者所述的机器可读介质,其中,所述处理器被配置为执行所述计算机可读介质并且使得所述处理器:识别所述服务节点的安全性信息中与第一声明相关联的第一值和所述相关节点的安全性信息中与所述第一声明相关联的第二值;并且基于所述第一值和所述第二值在所述复合安全性信息中为所述第一声明生成复合值。
方面26:根据方面21至25中的任一者所述的机器可读介质,其中,所述处理器被配置为执行所述计算机可读介质并且使得所述处理器:识别所述相关节点的安全性信息和所述服务节点的安全性信息之一中与第一声明相关联的减损值;并且从所述复合安全性信息中排除所述第一声明。
方面27:根据方面21至26中的任一者所述的机器可读介质,其中,对所述相关节点的安全性信息和所述服务节点的安全性信息中的安全性声明进行正规化;并且将每个安全性声明组合到所述复合安全性信息中。
方面28:根据方面21至27中的任一者所述的机器可读介质,其中,执行生成树算法以从可寻址节点识别与所述服务相关联的候选节点,其中,所述相关节点是从所述候选节点中选择的。
方面29:根据方面21至28中的任一者所述的机器可读介质,其中,所述服务节点包括第一受信任模块,并且所述相关节点包括第二受信任模块,并且其中,所述第一受信任模块与所述第二受信任模块不同。
方面30:根据方面21至29中的任一者所述的机器可读介质,其中,所述处理器被配置为执行所述计算机可读介质并且使得所述处理器:向管理节点发送识别候选相关节点的请求;并且接收所述候选相关节点的列表,其中,所述管理节点执行群组成员协议以创建与每个服务相关联的不同群组。

Claims (23)

1.一种用于由服务节点验证信任的方法,该方法包括:
从客户端设备接收对所述服务节点的安全性信息的请求,其中,所述请求包括识别要从所述服务节点接收的服务的信息;
基于所述服务,识别要与所述服务节点通信的相关节点;
在识别所述相关节点之后,请求所述相关节点的安全性信息;
由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;以及
将所述复合安全性信息发送到所述客户端设备。
2.根据权利要求1所述的方法,其中,所述安全性信息包括与验证的类型相关的多个声明,其中,所述验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
3.根据权利要求1或2所述的方法,首先包括:响应于接收到来自所述相关节点的安全性信息,在所述相关节点的安全性信息中识别隐性声明,并且将所述隐性声明附加到来自所述相关节点的安全性信息。
4.根据权利要求2至3中的任一项所述的方法,其中,所述复合安全性信息的生成包括组合所述服务节点的安全性信息和所述相关节点的安全性信息中的每个相应声明,以产生所述复合安全性信息。
5.根据权利要求4所述的方法,其中,组合每个相应声明包括:
识别所述服务节点的安全性信息中与第一声明相关联的第一值和所述相关节点的安全性信息中与所述第一声明相关联的第二值;以及
基于所述第一值和所述第二值在所述复合安全性信息中为所述第一声明生成复合值。
6.根据权利要求4或5所述的方法,其中,组合每种类型的验证包括:
识别所述相关节点的安全性信息和所述服务节点的安全性信息之一中与第一声明相关联的减损值;以及
从所述复合安全性信息中排除所述第一声明。
7.根据权利要求4至6中的任一项所述的方法,其中,组合每种类型的验证包括:
对所述相关节点的安全性信息和所述服务节点的安全性信息中的安全性声明进行正规化;以及
将每个安全性声明组合到所述复合安全性信息中。
8.根据权利要求1至7中的任一项所述的方法,还包括:
执行生成树算法以从可寻址节点识别与所述服务相关联的候选节点,其中,所述相关节点是从所述候选节点中选择的。
9.根据权利要求1至8中的任一项所述的方法,其中,所述服务节点包括第一受信任模块,并且所述相关节点包括第二受信任模块,并且其中,所述第一受信任模块与所述第二受信任模块不同。
10.根据权利要求1至9中的任一项所述的方法,还包括:
向管理节点发送识别候选相关节点的请求;以及
从管理节点接收所述候选相关节点的列表,所述列表确定哪些候选节点有资格交付所述服务。
11.一种用于提供异构系统的信任态势的服务节点,包括:
存储装置,其被配置为存储指令;以及
处理器,其被配置为执行所述指令并且使得所述处理器:
从客户端设备接收对所述服务节点的安全性信息的请求,其中,所述请求包括识别要从所述服务节点接收的服务的信息;
基于所述服务,识别要与所述服务节点通信的相关节点;
在识别所述相关节点之后,请求所述相关节点的安全性信息;
由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;以及
将所述复合安全性信息发送到所述客户端设备。
12.根据权利要求11所述的服务节点,其中,所述安全性信息包括与验证的类型相关的多个声明,其中,所述验证的类型包括以下各项中的至少一者:硬件验证、唯一身份验证、数据完好性验证、启动验证、以及可执行文件验证。
13.根据权利要求11或12所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:在所述相关节点的安全性信息中识别隐性声明并且将所述隐性声明附加到来自所述相关节点的安全性信息。
14.根据权利要求11至13中的任一项所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:
组合所述服务节点的安全性信息和所述相关节点的安全性信息中的每个相应声明,以产生所述复合安全性信息。
15.根据权利要求14所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:
识别所述服务节点的安全性信息中与第一声明相关联的第一值和所述相关节点的安全性信息中与所述第一声明相关联的第二值;并且
基于所述第一值和所述第二值在所述复合安全性信息中为所述第一声明生成复合值。
16.根据权利要求14或15所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:
识别所述相关节点的安全性信息和所述服务节点的安全性信息之一中与第一声明相关联的减损值;并且
从所述复合安全性信息中排除所述第一声明。
17.根据权利要求14至16中的任一项所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:
对所述相关节点的安全性信息和所述服务节点的安全性信息中的安全性声明进行正规化;并且
将每个安全性声明组合到所述复合安全性信息中。
18.根据权利要求11至17中的任一项所述的服务节点,其中,所述处理器被配置为执行所述指令并且使得所述处理器:
执行生成树算法以从可寻址节点识别与所述服务相关联的候选节点,其中,所述相关节点是从所述候选节点中选择的。
19.根据权利要求11至18中的任一项所述的服务节点,其中,所述服务节点包括第一受信任模块,并且所述相关节点包括第二受信任模块,并且其中,所述第一受信任模块与所述第二受信任模块不同。
20.一种非暂时性计算机可读介质,包括指令,所述指令当被计算系统执行时,使得所述计算系统:
从客户端设备接收对服务节点的安全性信息的请求,其中所述请求包括识别要从所述服务节点接收的服务的信息;
基于所述服务,识别要与所述服务节点通信的相关节点;
在识别所述相关节点之后,请求所述相关节点的安全性信息;
由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;并且
将所述复合安全性信息发送到所述客户端设备。
21.一种用于提供异构系统的信任态势的服务节点,所述服务节点包括:
接收模块,用于从客户端设备接收对所述服务节点的安全性信息的请求,其中,所述请求包括识别要从所述服务节点接收的服务的信息;
识别模块,用于基于所述服务识别要与所述服务节点通信的相关节点;
请求模块,用于在识别所述相关节点之后请求所述相关节点的安全性信息;
生成模块,用于由所述服务节点的安全性信息和所述相关节点的安全性信息生成复合安全性信息;以及
发送模块,用于将所述复合安全性信息发送到所述客户端设备。
22.根据权利要求21所述的服务节点,还包括用于实现根据权利要求2至10中的任一项所述的方法的模块。
23.一种计算机程序、计算机程序产品或计算机可读介质,包括指令,所述指令当被计算机执行时,使得所述计算机执行根据权利要求1至10中的任一项所述的方法的步骤。
CN202280006832.7A 2021-04-01 2022-03-29 验证异构保密计算集群的信任态势 Pending CN116324775A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202163169528P 2021-04-01 2021-04-01
US63/169,528 2021-04-01
US17/583,284 2022-01-25
US17/583,284 US20220321605A1 (en) 2021-04-01 2022-01-25 Verifying trust postures of heterogeneous confidential computing clusters
PCT/US2022/071419 WO2022213072A1 (en) 2021-04-01 2022-03-29 Verifying trust postures of heterogeneous confidential computing clusters

Publications (1)

Publication Number Publication Date
CN116324775A true CN116324775A (zh) 2023-06-23

Family

ID=81308525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280006832.7A Pending CN116324775A (zh) 2021-04-01 2022-03-29 验证异构保密计算集群的信任态势

Country Status (6)

Country Link
EP (1) EP4315116A1 (zh)
JP (1) JP2023545605A (zh)
KR (1) KR20230062861A (zh)
CN (1) CN116324775A (zh)
AU (1) AU2022246728B2 (zh)
WO (1) WO2022213072A1 (zh)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016085517A1 (en) * 2014-11-28 2016-06-02 Hewlett Packard Enterprise Development Lp Verifying network elements
US10204226B2 (en) * 2016-12-07 2019-02-12 General Electric Company Feature and boundary tuning for threat detection in industrial asset control system
US10735308B2 (en) * 2018-12-21 2020-08-04 Cisco Technology, Inc. Attestation based routing
US11711268B2 (en) * 2019-04-30 2023-07-25 Intel Corporation Methods and apparatus to execute a workload in an edge environment

Also Published As

Publication number Publication date
EP4315116A1 (en) 2024-02-07
KR20230062861A (ko) 2023-05-09
WO2022213072A1 (en) 2022-10-06
AU2022246728B2 (en) 2024-02-01
JP2023545605A (ja) 2023-10-31
AU2022246728A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
US11316869B2 (en) Systems and methods for providing attestation of data integrity
US11924223B2 (en) Technologies for proving packet transit through uncompromised nodes
US11470105B2 (en) Attestation service gateway
US11411994B2 (en) Discovering trustworthy devices using attestation and mutual attestation
US11838283B2 (en) Network enclave attestation for network and compute devices
US11277442B2 (en) Verifying the trust-worthiness of ARP senders and receivers using attestation-based methods
US11924043B2 (en) Establishing trust relationships of IPv6 neighbors using attestation-based methods in IPv6 neighbor discovery
US11601292B2 (en) Remote attestation of modular devices with multiple cryptoprocessors
US11652824B2 (en) Trustworthiness evaluation of network devices
US11451560B2 (en) Systems and methods for pre-configuration attestation of network devices
US20220321605A1 (en) Verifying trust postures of heterogeneous confidential computing clusters
US11558198B2 (en) Real-time attestation of cryptoprocessors lacking timers and counters
AU2022246728B2 (en) Verifying trust postures of heterogeneous confidential computing clusters
EP3949331A1 (en) Verifying the trust-worthiness of a physical host underlying a virtual network element

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination