用于实施数据中心中的有效载荷安全性策略的证明服务

文档序号:385327 发布日期:2021-12-10 浏览:1次 >En<

阅读说明:本技术 用于实施数据中心中的有效载荷安全性策略的证明服务 (Attestation service for enforcing payload security policies in a data center ) 是由 B·D·凯利 于 2020-03-31 设计创作,主要内容包括:提供了用于与用于实施数据中心中的有效载荷安全性策略的证明服务相关联的系统和方法。示例方法包括向证明服务发送伪影,伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。该方法还包括证明服务确定至少一个策略属性是否可接受。(Systems and methods are provided for associating an attestation service for enforcing payload security policies in a data center. An example method includes sending an artifact to an attestation service, the artifact including at least one artifact purportedly associated with a root of trust system corresponding to a device, wherein the at least one artifact includes at least one policy attribute related to payload security in a data center. The method also includes the attestation service determining whether the at least one policy attribute is acceptable.)

用于实施数据中心中的有效载荷安全性策略的证明服务

背景技术

计算、存储装置和网络资源越来越多地经由公共云、私有云或两者的混合而被访问。公共云包括全球网络的服务器,这些服务器执行各种功能,包括存储和管理数据、运行应用以及递送内容或服务,诸如流式视频、电子邮件、办公软件或社交媒体。服务器和其他组件可能位于世界各地的数据中心。虽然公共云通过互联网向公众提供服务,但企业可能会使用私有云或混合云。私有云和混合云还包括位于数据中心中的服务器的网络。

云系统的用户通常可以直接访问平台硬件以及平台上运行的操作系统和其他应用。此外,云系统越来越多地并入FPGA、GPU和其他通过高速总线与主机CPU互连的SOC。这进一步增加了恶意黑客经由其破坏硬件平台的安全性的攻击面。此外,数据中心包括附加设备,诸如功率供应单元控制器、机架控制器等,这些设备也容易受到恶意黑客攻击。因此,需要用于确保硬件平台安全性的系统和方法,包括确保部署在云中的任何有效载荷的安全性,诸如与平台硬件相关联的任何固件更新或安装。

发明内容

在一个示例中,本公开涉及一种方法,包括:向证明服务发送伪影,该伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中该至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。该方法还可以包括证明服务确定至少一个策略属性是否可接受。

在另一示例中,本公开涉及一种方法,包括:证明客户端向证书授予机构发送伪影,该伪影包括据称与对应于主机的信任根系统相关联的至少一个伪影,其中至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。该方法还可以包括证书授予机构:(1)从至少一个伪影提取证明数据,(2)与证明服务交互,以确定至少一个策略属性是否可接受,以及(3)如果确定步骤的结果认为至少一个策略属性不可接受,则拒绝向主机的机器证书。

在又一示例中,本公开涉及一种系统,包括:证明服务以及证明客户端。证明客户端可以被配置为向证明服务发送伪影,该伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。证明服务可以被配置为确定至少一个策略属性是否可接受。

提供本发明内容,以便以简化的形式介绍将在下面的

具体实施方式

中进一步描述的一些概念。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。

附图说明

本公开通过示例的方式示出,并且不受附图的限制,在附图中,相似的附图标记表示相似的元件。附图中的元件是为了简单和清楚而示出的,并不一定是按比例绘制的。

图1是根据一个示例的用于实施数据中心中的任何有效载荷安全性策略的系统环境的图;

图2示出了根据一个示例的包括证明服务的数据中心的高级图;

图3是示出根据一个示例的信任根(RoT)系统的组件的框图;

图4A和图4B示出了根据一个示例的数据中心中的证明序列;

图5示出了根据一个示例的可用于实现证明客户端、数据中心软件证书授予机构(DCSDCSCA)或证明服务的计算平台;

图6示出了根据一个示例的与证明服务相关的方法的流程图;以及

图7示出了根据一个示例的与证明服务相关的另一方法的流程图。

具体实施方式

本公开中描述的示例涉及确保可部署在公共云、私有云或混合云中的有效载荷的安全性。某些示例涉及跨可能是云系统的一部分的硬件平台来实施有效载荷安全性策略。有效载荷安全性策略可以使用证明服务、证书授予机构和信任根(RoT)控制器来实施。示例有效载荷可以包括对平台硬件的固件更新。

图1示出了根据一个示例的用于实施数据中心中的任何有效载荷安全性策略的系统环境100的图。示例数据中心可以包括若干机架集群,机架包括平台硬件,诸如服务器节点、存储节点、联网节点或其他类型的节点。数据中心还可以包括其他硬件和软件,包括部署和监测硬件和软件。在该示例中,可以使用证明服务110来实施有效载荷安全性策略。可以在数据中心级别或更高级别实现证明服务110。作为一个示例,证明服务110可以被实现为数据中心管理服务的一部分。在该示例中,证明服务110可以与集群管理器120通信。集群管理器120可以与数据中心中的各种机架管理器通信。因此,在该示例中,集群管理器120可以与机架管理器132、机架管理器134、机架管理器136和机架管理器138通信。每个机架管理器又可以与安装在机架中的底盘通信。作为一个示例,机架管理器132可以与底盘142、底盘144和底盘146通信。机架管理器134可以与底盘152、底盘154和底盘156通信。机架管理器136可以与底盘162、底盘164和底盘166通信。机架管理器138可以与底盘172、底盘174和底盘176通信。

继续参考图1,每个底盘可以包括主板,该主板可以包括安装在其上的若干组件。作为一个示例,底盘142可以包括具有基板管理控制器(BMC)、中央处理单元(CPU)和信任根(RoT)的主板。类似地,其他底盘中的每个底盘可以包括其上安装有这些相同组件或不同组件的主板。证明服务110可以与每个RoT通信。尽管图1示出了BMC和CPU作为可以受制于证明的设备的示例,但是也可以包括其他设备。设备的示例包括但不限于GPU、FPGA、FPGA实例、复杂可编程逻辑器件(CPLD)、机架管理器/控制器、底盘管理器/控制器、功率供应单元控制器、存储设备(例如,SSD或HDD)、联网设备(例如,交换机、路由器、防火墙和网桥)或数据中心中可能需要固件更新的任何其他设备。尽管图1参照固件描述了系统环境,但是也可以使用其他类型的有效载荷。示例有效载荷包括但不限于固件、设置、配置或设备上可能需要更新的其他这样的信息。

图2示出了根据一个示例的包括证明服务208的数据中心200的高级图。在该示例中,数据中心200可以包括经由总线230耦合到证明服务208的数据中心软件证书授予机构(DCSCA)210。在一个示例中,DCSCA 210可以实现应用编程接口(API);证明客户端(例如,位于主机处的客户端)和证明服务都可以使用该API来与DCSCA 210交互。DCSCA 210可以经由总线240耦合到数据中心中的各种主机,包括主机1 212、主机2 214和主机K 216。在图1和图2的上下文中,本公开中使用的术语总线包括但不限于信号线、经由路由器、交换机、其他联网装备耦合的信号线、经由任何类型的网络耦合的信号线、无线连接、信号线和无线连接的组合、交换结构等。证明服务208可以被配置为检查主机是否健康。在该示例中,证明服务208可以通过验证从主机接收的某些证明数据来实现这一点。在一个示例中,证明数据可以包括在引导相应主机时生成的受信平台模块(TPM)量度的日志(例如,TcgLog)。替代地或附加地,证明数据可以包括由信任根(RoT)系统生成的日志。在一个示例中,证明策略可以是定义“健康”主机的XML文档。

继续参考图2,在该示例中,证明服务208被设置为DCSCA 210的对等体。当从DCSCA210请求新的机器证书时,主机(例如,主机1 212、主机2 214或主机K 216中的任何一个)可以向该请求添加量度(例如,TcgLog)以及背书密钥相关的数据(例如,EKPub和EkCert),并将该请求发送到ACPA 210。DCSCA 210然后可以将该信息转发给证明服务208。在该示例中,证明服务208可以验证日志符合证明策略。如果验证成功,证明服务208可以向主机受信平台管理器(TPM)加密且密封机器证书,并且将其发送回DCSCA 210。ACPA 210可以向请求新机器证书的主机发送经加密且经密封的机器证书。尽管图2示出了以特定方式布置和耦合的特定数目的组件,但是可以不同地布置和耦合更少或更多的组件,以实现相同的目的。此外,与证明客户端、证明服务和DCSCA中的任何一个相关联的功能性可以根据需要而分布。

例如,每个节点类型(例如,基于该节点是计算节点、存储节点还是联网节点)可以具有可以在集群级别被管理的相关联的策略。下面的表1示出了一种布置,用于跟踪数据中心(例如,具有N个集群的数据中心)中每个集群的策略以及数据中心中的策略合规性状态。

表1

特定策略(例如,P1)可以对应于具有相同SKU或相同节点的计算设备。例如,策略P1可以对应于使用某个类型的英特尔处理器而被配置的并且具有相同配置的所有计算节点。作为另一示例,策略P2可以对应于包括相同类型的SSD或其他类似存储设备的所有存储节点。作为固件部署的一部分,当更新某个类型设备的固件时,可以向证明服务通知有效载荷安全性策略的变化。可以对表1或类似的其他类型的布置进行这些更改,以供跟踪策略。数据中心中的每个节点(例如,服务器节点)可以具有独特标识符,例如,全球唯一标识符(GUID),其可以用于跟踪作为该表的一部分的节点。任何不合规的节点都可能被排除在服务之外。虽然表1示出了在集群级别组织的策略,但是在另一示例中,可以在机架级别组织策略。每个策略可能包含足够的信息,以使相应的RoT能够实施策略并报告任何合规性问题。

图3是示出根据一个示例的信任根(RoT)系统300(例如,图1所示的任意一个RoT)的组件的框图。在该示例中,RoT系统300可以充当证明服务(例如,证明服务208)的实施机制。RoT系统300可以针对所存储的散列(例如,存储在签名清单中的散列)来验证任何固件散列,并且可以切断验证失败的组件或设备的功率(或者将其隔离)。证明服务200将确保只有具有签名清单的可接受版本的主机可以通过证明。在一个示例中,与RoT系统300相关联的至少一些功能性可以使用安全处理器来实现,该安全处理器包括安全存储器、闪存、密码块、SPI/QSPI滤波器接口、用于证明和清单撤销的电子熔丝以及篡改阻抗。每个RoT系统可以实施证明服务已经知道的一个或多个策略。在一些情况下,RoT系统可能不知道它可能需要实施的最新策略。例如,一个节点可能会停止使用,因为支持该节点的底盘本身可能从机架中取出,停止使用较长时间。稍后,底盘可能会重新投入使用。此时,与主机相关联的RoT系统可能开始实施被存储为RoT的一部分的策略,而不知道这些策略可能已被替换或修改。为了解决这个问题,RoT系统可能需要向证明服务提供量度,包括关于RoT正在实施的具体策略的信息。这样,证明服务可以检测由部署具有过期策略的底盘所产生的任何安全相关问题。

如图3所示,在该示例中,RoT系统300可以包括经由系统总线330耦合的RoT处理器302、只读存储器(ROM)304、直接存储器存取(DMA)306、随机数发生器(RNG)308、安全散列算法2(SHA2)引擎310、高级加密标准(AES)引擎312和公钥加速器(PKA)引擎314。RoT系统300还可以包括安全密钥存储库316、SRAM 318、一次性可编程(OTP)存储器320和设备密钥选择器322。RNG 308可以是真正的随机数发生器,其可以用于根据需要生成附加的随机密钥。SHA2引擎310可以提供用于生成256位数据SHA2散列的硬件支持。SHA2引擎310可以被配置为经由直接存储器访问(DMA)引擎306执行直接存储器传输,以允许数据散列的完全卸载。AES引擎312可以提供硬件加速,用于在引导时和运行时期间加密和解密数据。AES引擎312可以支持各种密钥大小的使用,包括128、192和256位的密钥大小。AES引擎312可以从OTP存储器320(例如,经由总线336和总线342)或SRAM 318(例如,经由总线338和总线342)访问安全密钥。任何附加的密钥可以被存储在SRAM 318中,或者可以由软件通过一些其他手段存储。在一个示例中,SRAM 318可以包括物理不可克隆功能(PUF)。PUF可以向包括RoT系统300的每个设备提供独特密钥,该独特密钥可以用于保护系统的其他方面以及提供存储附加密钥的安全方式。设备密钥不能经由软件直接访问;相反,设备密钥可以与AES引擎312一起使用,用于以特定于设备的方式加密关键数据。PKA引擎314可以为Rivet-Shamir-Adleman(RSA)和椭圆曲线数字签名算法(ECDSA)签名生成和验证提供支持。PKA引擎314还可以被配置为经由DMA引擎306执行直接存储器传输,以允许签名创建和验证过程的完全卸载。

继续参考图3,RoT系统300可以插入组件和闪存(或另一种形式的非易失性存储器)之间,用于存储固件和相关信息。RoT系统300可以限制对闪存的不同区域的读和写访问,以防止损坏,并确保在转换到闪存的活动区域之前验证固件。就RoT系统300的操作而言,在一个示例中,当利用经签名的固件图像使用安全引导时,仅可以加载被签名有如下私有RSA密钥的固件图像:与被融合到OTP存储器320中的公钥匹配的私有RSA密钥。因此,在该示例中,设备(例如,BMC或CPU)的引导过程可以从ROM引导加载器读取经签名的固件图像报头开始。在这个示例中,这个图像报头将包含图像的签名和对应于用于生成签名的私钥的公钥。签名可以是固件图像的SHA 256散列。一旦读取了图像报头,就可以提取公钥,并生成针对该密钥的SHA 256散列。该散列可以与在OTP存储器320中融合的公钥的散列进行比较。如果这些散列匹配,RoT处理器302可以确定固件图像是用正确的密钥签名的,因此引导可以继续。在验证用于签署固件图像的密钥之后,可以验证固件图像本身。在该示例中,可以生成针对固件图像数据的SHA 256散列,然后与利用被包括的公钥被解密的签名进行比较。如果散列匹配,则固件图像被认为是有效的并被加载。在验证固件图像的过程中,可以使用更多或更少的步骤。

仍然参考图3,在一个示例中,RoT系统300可以经由串行外围接口(SPI)总线与其他组件(诸如BMC或CPU)通信。在其他一些示例中,可以支持其他接口,包括I2C和通用输入/输出(GPIO)接口。RoT系统300可以使用带内信道和带外信道进行通信。在一个示例中,带内信道可以指在CPU上运行的主机,该主机能够使用与RoT系统的连接。在该示例中,带外信道可以指绕过主机的证明服务之间的通信。作为一个示例,证明服务可以通过BMC与RoT系统300通信。在一个示例中,该通信可以发生在去往I2C隧道的安全以太网上。在一个示例中,如果BMC不满足策略要求,则BMC仍然可以使用受限能力版本的BMC来给自己供电,从而允许BMC经由带外信道与证明服务通信。这可以准许证明服务确定包括BMC的节点是否由于违反策略而停止服务。

证明服务(例如,证明服务208)可以通过认证引导序列的完整性来确保信任链。因此,在一个示例中,引导序列的散列(例如,SHA 256散列)可以被存储在TPM中的外围配置寄存器(PCR)中。证明服务可以收集由RoT系统提供的量度日志,解析日志并计算RoT系统的PCR 0值。在该示例中,该值可用于密封证明服务对RoT系统的任何响应。在一个示例中,可以使用两个级别的密封——一个用于RoT系统,一个用于与主机相关联的TPM。在又一示例中,TPM功能可以折叠到RoT系统中,避免了双重密封的需要。

在高级别,就利用RoT系统(例如,RoT系统300)证明主机的过程而言,与证明服务相关联的证明客户端可以向RoT系统查询量度日志(例如,引导日志(有时称为TcgLog))、RoT系统认证链(例如,包括RoT系统证明证书和其他证明证书,诸如设备标识符认证)以及平台固件的可证明散列的版本。在一个示例中,平台散列可以保存在平台固件清单(PFM)中,组件散列可以保存在相应的组件固件清单(CFM)中。在一个示例中,PFM可以描述平台上准许的固件。CFM可以描述平台中组件准许的固件。此外,特定于每个SKU的平台配置数据(PCD)可以描述平台中组件类型的数目及其相应的位置。因此,在一个示例中,PCD可以包括作为平台一部分的所有活动组件的清单。清单可以包括与组件相关联的地址、总线、固件版本、文摘(digest)和公钥。下面的表2示出了存储在示例PFM中的每个组件的属性。

表2

接下来,证明客户端可以将这些伪影发送给DCSCA(例如,图2的DCSCA 210)。DCSCA可以将该信息转发给证明服务(例如,证明服务208),证明服务可以验证针对TPM的公共背书密钥(EKPub)和由TPM的制造商发布的背书密钥证书(EKCert)。证明服务还可以针对证明服务策略来验证量度日志。对于包括RoT系统的那些主机,证明服务可以验证请求主机被要求具有RoT系统以及PFM版本是否可接受。如果这些步骤结果成功,则在这个示例中,证明服务将加密并密封其对TPM和对RoT系统的响应,并将其发送回主机。在无法验证上述两个条件的情况下,证明服务将证明失败。其结果,在一个示例中,DCSCA将拒绝向主机的机器证书,并且主机将无法参与群集。

图4A和图4B示出了根据一个示例的数据中心中的证明序列400和证明序列460。图4A示出了示例证明序列400,其中,证明在证明服务处失败。在该示例中,证明序列包括三个实体之中的动作和信息交换:证明客户端430、数据中心软件证书授予机构(DCSCA)440和证明服务450。在一个示例中,证明客户端430可以被实现为由与主机相关联的处理器执行的一组指令。证明客户端430可以由与每个主机相关联的引导程序(bootstrap)(例如,引导程序32)或证书代理服务来调用。证明服务450可以如先前参考图2和图3所解释的那样来实现。在步骤402中,证明客户端430可以收集TPM量度日志(例如,TcgLog)和背书密钥相关数据(例如,针对TPM的公共背书密钥(EKPub)和由TPM的制造商发布的背书密钥证书(EKCert))。在一个示例中,引导程序32可以在系统重新成像或系统更新时调用证明客户端430。一些数据中心可以包括一组包括如下集成电路芯片的集群和另一组不包括这样的集成电路芯片的集群,该集成电路芯片包括RoT系统(例如,RoT系统300)。在该示例中,证明客户端430可以要求RoT系统将其PFM版本扩展到相关的TPM外围配置寄存器(PCR)(例如,PCR0)。这可以允许证明服务确定主机是否包括包含RoT系统的集成电路芯片。当该要求与密封操作相结合时,可以防止攻击者创建伪造的证明请求,诸如当在与主机关联的主板中包括RoT系统的集成电路芯片不存在时,伪造其存在。

继续参考图4A,在步骤404,证明客户端430可以调用与RoT系统相关联的软件模块来收集RoT系统日志、RoT PFM版本和RoT系统证书,包括任何别名证书和设备标识符证书。RoT系统可以通过针对已知良好散列来验证固件散列来验证任何相关联的平台硬件或组件(例如,如先前参考图3所解释的)。RoT系统日志可以包括固件散列,这可以允许证明服务450计算RoT系统PCR 0值。该值可用于将机器证书密封到包括RoT系统的集成电路芯片。在该示例中,RoT系统PFM版本描述了RoT系统验证的固件哈希的版本。证明服务450将实施最小PFM版本,并且将拒绝向PFM版本低于所述最小版本的任何主机的机器证书。这可以防止未经授权的固件(例如,未修补的固件)被与RoT系统相关联的较旧版本的PFM成功证明的回滚攻击。在该示例中,RoT系统证明证书将被用于加密和密封机器证书。如果解封操作成功,则包括RoT系统的集成电路芯片将解密机器证书。在收集了各种TPM和RoT系统伪影之后,证明客户端430可以打包TPM和RoT伪影并且将打包的TPM和RoT伪影发送给DCSCA 440。DCSCA440可以接收打包的伪影并提取伪影,并经由与证明服务450相关联的应用程序接口(API)调用证明。

仍然参考图4A,证明服务450可以验证证明请求。作为该步骤的一部分,证明服务450可以确定请求是否符合有效的策略。因此,RoT系统是否需要与设备和PFM版本相关联可以是策略属性。策略属性可以是按照集群、按照SKU或按照主机。如果策略要求RoT系统的存在,并且证明请求中不包括RoT系统相关的伪影,则作为步骤408的一部分,证明服务450可以确定证明请求无效。在需要并且存在RoT系统的情况下,作为步骤408的一部分,证明服务还可以确定PFM版本是否可接受。在该示例中,假设PCR 0是由RoT系统将PFM版本扩展到的阶段配置寄存器,证明服务450可以通过证实TPM PCR#(例如,PCR 0)的散列来证实RoT系统和PFM版本的存在。此外,作为步骤408的一部分,证明服务450还可以确定配置数据(例如,PCD)是否与预期一致。作为一个示例,证明服务408可以确定PCD是否指示作为平台(例如,主机服务器)的一部分的组件(例如,SSD)的数目与关联于主机、集群或数据中心的策略中所规定的数目相同。

继续参考图4A,在步骤410中,证明服务410可以验证TPM量度日志和背书密钥相关数据。可以针对证明策略来验证TPM量度日志(例如,TcgLog),以确定某些调试器是否开启、代码完整性策略的散列是否匹配已知的良好散列、以及是否启用了安全引导(如果适用)。在一个示例中,如果在步骤408中验证失败,则证明服务450可以向DCSCA 440发回指示证明失败的响应。在另一示例中,即使在步骤408中验证失败,证明服务450仍然可以执行步骤410,以确定TPM量度数据是否有效。这可以允许证明服务450不仅实施与集群、SKU或特定主机硬件相关的策略,而且确定是否存在与来自DCSCA 440的证明请求相关联的其他问题。因此,DCSCA 440可以从证明服务450接收详细的错误信息。在该示例中,在序列400的步骤412中,DCSCA 440将拒绝向具有证明客户端的主机的机器证书。这将阻止主板、BMC或与主机相关联的其他组件硬件启动,从而确保只允许符合策略的硬件与数据中心策略一致地操作。尽管未在图4A中示出,但是根据需要,DCSCA 440可以向数据中心管理器或其他报告实体通知对去往主机的机器证书的拒绝。

图4B示出了示例证明序列460,其中证明在证明服务处成功。该序列示出了当由证明服务450进行的证明成功时(例如,在图4A的步骤408和步骤410中)发生的动作和步骤。因此,在该示例中,仍将执行图4A中的证明失败之前的步骤,并且如果证明成功,则将执行图4B中的剩余步骤。证明服务450可以向DCSCA 440发送指示证明成功的响应。DCSCA 440通过调用适当的端点(例如,加密端点)来发起加密过程。

继续参考图4B,在步骤462中,证明服务450可以加密机器证书并将其密封给客户端TPM。该步骤可以包括以下动作:1)生成随机AES密钥,2)使用AES密钥加密机器证书,3)将AES密钥密封到适当的TPM PCR(在一个示例中,证明服务460可以通过解析TPM量度日志(例如,TcgLog)中的事件来计算这些PCR的值),以及4)创建包括经加密的机器证书和密封状态的TPM加密和密封包。

接下来,在步骤464中,证明服务450可以向RoT系统加密和密封TPM加密和密封包。该步骤可以包括以下动作:1)生成随机种子值(例如,128或256位),2)从生成的种子得出加密密钥(EK)和签名密钥(SK),3)使用AES密钥和EK生成的密文加密TPM加密包,4)生成密封策略值,5)在密文和密封策略值的级联上使用SK生成HMAC(消息证明码),6)使用RoT系统公钥(例如,从RoT证明证书获得的)加密原始种子,以创建加密种子,以及7)使用加密种子、HMAC、密文和密封策略值创建RoT加密包。创建加密包后,证明服务450可以将加密包发送给DCSCA 440。ACPA440可以将加密包作为其响应的一部分发送给主机。在该示例中,只有当RoT系统中的PCR 0值与密封策略值匹配时,主机才能解封AES密钥并解密密文。

仍然参考图4B,在步骤466中,RoT系统可以使用以下动作解密包:1)使用RoT系统的私钥解密加密的种子,2)从解密的种子得出EK和SK值,3)使用SK,验证密文和密封策略值上的HMAC,4)检查密封策略值(例如,以确保符合格式(例如,以确保所有保留字段被设置为零)),5)如果期望的PCR值设置为0,则忽略包括RoT系统的集成电路芯片中的PCR值,6)否则,指示失败并返回加密密钥。

继续参考图4B,在步骤468中,TPM加密包可以由证明客户端430使用以下步骤解密:1)使用TPM解封AES密钥,以及2)如果解封成功,则使用AES密钥解密机器证书。然而,如果解封失败,则证明客户端430将设置针对主机的机器证书错误计数器。接下来,在该示例中,主机将向证明服务450确认回成功或失败。尽管图4B示出了某些步骤序列,但是可以省略这些步骤中的一些,而可以以不同的顺序执行其他步骤。

图5示出了根据一个示例的可用于实现证明客户端(例如,证明客户端430)、DCSCA(例如,DCSCA 440)或证明服务(例如,证明服务450)的计算平台500。计算平台500可以包括可以经由总线520互连的(多个)处理器502、(多个)I/O组件504、存储器506、(多个)呈现组件508、(多个)传感器510、(多个)数据库512、(多个)联网接口514和(多个)I/O端口516。(多个)处理器502可以执行存储在存储器506中的指令。指令可以对应于证明客户端、DCSCA或证明服务中的任一个。(多个)I/O组件504可以包括诸如键盘、鼠标、语音识别处理器或触摸屏等组件。存储器506可以是非易失性存储器或易失性存储器(例如,闪存、DRAM、SRAM或其他类型的存储器)的任意组合。(多个)呈现组件508可以是任何类型的显示器(例如,LCD、LED或其他类型的显示器)或者其他类型的输出组件,包括音频或触觉输出组件。(多个)传感器510可以包括被配置为检测和/或接收信息(例如,与各种组件相关联的状况)的遥测或其他类型的传感器。(多个)传感器510可以包括被配置为感测与CPU、存储器或其他存储组件、FPGA、主板、基板管理控制器等相关联的状况的传感器。(多个)传感器510还可以包括被配置为感测与机架、底盘、风扇、功率供应单元(PSU)等相关联的状况的传感器。(多个)传感器510还可以包括被配置为感测与网络接口控制器(NIC)、机架顶部(TOR)交换机、机架中间(MOR)交换机、路由器、功率分发单元(PDU)、机架级不间断功率供应(UPS)系统等相关联的状况的传感器。

继续参考图5,(多个)数据库512可用于存储与策略的实施相关的记录。此外,(多个)数据库512还可以存储用于生成与策略的实施相关的报告的数据,包括任何合规相关报告。(多个)联网接口514可以包括通信接口,例如,以太网、蜂窝无线电、蓝牙无线电、UWB无线电或其他类型的无线或有线通信接口。(多个)I/O端口516可以允许计算平台500与总线520或其他(多个)I/O组件504通信。尽管图5示出计算平台500包括以某种方式布置且耦合的某个数目的组件,但是可以包括以不同方式布置且耦合的更少或更多的组件。此外,根据需要,与计算平台500相关联的功能可以是分布式的或组合的。此外,可能不需要计算平台500的所有方面来实现证明客户端430、DCSCA 440和证明服务450中的每一个。

图6示出了根据一个示例的与证明服务相关的方法的流程图600。步骤610可以包括向证明服务发送伪影,伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中该至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。如前所述,恶意黑客可能会创建伪造伪影,并且在该实例中,至少一个伪影可能未与信任根系统关联;相反,它可能是伪造伪影。因此,发送伪影的步骤可以包括据称与RoT系统相关联的伪影,但是它们可能与RoT系统相关联,也可能不相关联。在该示例中,该步骤可以包括图4A的证明客户端430向图4A的DCSCA 440发送伪影,然后DCSCA440可以调用证明服务(例如,图4A的证明服务450)。当由处理器(诸如图5的(多个)处理器502)执行对应于证明客户端430的指令时,可以执行该步骤的第一部分。在该示例中,该步骤可以至少包括图4A所示的序列400的步骤402和步骤404。当对应于DCSCA 440的指令由处理器(例如,图5的多个处理器502)执行时,可以执行该步骤的第二部分。

步骤620可以包括证明服务确定至少一个策略属性是否可接受。在一个示例中,当对应于图4A的证明服务450的指令由处理器(例如,图4A的(多个)处理器502)执行时,可以执行该步骤。尽管图6示出了以某个顺序执行的某个数目的步骤,但是可以以相同顺序或不同顺序执行更多或更少的步骤。

图7示出了根据一个示例的与证明服务相关的方法的流程图。步骤710可以包括证明客户端向证书授予机构发送伪影,伪影包括据称与对应于主机的信任根系统相关联的至少一个伪影,其中该至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。在该示例中,该步骤可以包括图4A的证明客户端430向图4A的DCSCA440发送伪影,然后DCSCA 440可以调用证明服务(例如,图4A的证明服务450)。当处理器(例如,图5的(多个)处理器502)执行对应于证明客户端430的指令时,可以执行该步骤的第一部分。在该示例中,该步骤可以至少包括图4A所示的序列400的步骤402和步骤404。当对应于DCSCA 440的指令由处理器(例如,图5的(多个)处理器502)执行时,可以执行该步骤的第二部分。

步骤720可以包括证书授予机构:(1)从至少一个伪影提取证明数据,(2)与证明服务交互,以确定至少一个策略属性是否可接受,以及(3)如果确定步骤的结果认为至少一个策略属性不可接受,则拒绝向主机的机器证书。在该示例中,作为序列400的一部分,该步骤可以包括图4的DCSCA 440接收可以是打包的伪影的至少一个提取从打包的伪影提取证明数据、并且经由与图4的证明服务450相关联的应用程序接口(API)调用证明。证明服务450可以根据需要执行序列400的步骤408和步骤410。在接收到证明失败的指示时(如图4的序列400所示),DCSCA 440可以在序列400的步骤412中拒绝向主机的机器证书。尽管图7示出了以某个顺序执行的某个数目的步骤,但是可以以相同顺序或不同顺序执行更多或更少的步骤。

总之,本公开涉及一种方法,该方法包括向证明服务发送伪影,该伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中该至少一个伪影可以包括涉及数据中心中的有效载荷安全性的至少一个策略属性。该方法还可以包括证明服务确定至少一个策略属性是否可接受。

该方法还可以包括证明服务向证书授予机构指示确定步骤的结果。该方法还可以包括如果确定步骤的结果认为至少一个策略属性不可接受,则证书授予机构拒绝向设备的机器证书。该方法还可以包括如果确定步骤的结果认为至少一个策略属性可接受,则证书授予机构发布向设备的机器证书,机器证书对于来自信任根系统的第一量度和来自受信平台模块的第二量度可以是双重密封的。

至少一个策略属性可以涉及信任根系统是否与设备相关联。至少一个策略属性可以包括与设备相关联的固件清单,并且确定至少一个策略属性是否可接受可以包括确定与固件清单相关联的版本是否可接受。至少一个策略属性可以包括固件量度。该设备可以包括主板、中央处理单元、基板管理控制器、图形处理单元、现场可编程门阵列(FPGA)、FPGA实例、复杂可编程逻辑器件、机架控制器、底盘控制器、功率供应单元控制器、固态驱动、硬盘驱动或联网设备中的一个或任意组合。

在另一示例中,本公开涉及一种方法,该方法包括证明客户端向证书授予机构发送伪影,该伪影包括据称与对应于主机的信任根系统相关联的至少一个伪影,其中该至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。该方法还可以包括证书授予机构:(1)从至少一个伪影提取证明数据,(2)与证明服务交互,以确定至少一个策略属性是否可接受,以及(3)如果确定步骤的结果认为至少一个策略属性不可接受,则拒绝向主机的机器证书。

至少一个策略属性可以涉及信任根系统是否与对应于主机的设备相关联。至少一个策略属性可以包括与对应于主机的设备相关联的固件清单,并且确定至少一个策略属性是否可接受可以包括确定与固件清单相关联的版本是否可接受。至少一个策略属性可以包括固件量度。

在又一示例中,本公开涉及包括证明服务和证明客户端的系统。证明客户端可以被配置为向证明服务发送伪影,该伪影包括据称与对应于设备的信任根系统相关联的至少一个伪影,其中该至少一个伪影包括涉及数据中心中的有效载荷安全性的至少一个策略属性。证明服务可以被配置为确定至少一个策略属性是否可接受。

该系统还可以包括证书授予机构,其中证明服务还可以被配置为向证书授予机构指示至少一个策略属性是否可接受的结果。证书授予机构还可以被配置为如果结果指示至少一个策略属性不可接受,则拒绝向设备的机器证书。如果结果指示至少一个策略属性可接受,则证书授予机构还可以被配置为发布向设备的机器证书。

至少一个策略属性可以涉及信任根系统是否与设备相关联。至少一个策略属性可以包括与设备相关联的固件清单,并且证明服务还可以被配置为确定与固件清单相关联的版本是否可接受。至少一个策略属性可以包括固件量度。该设备可以包括主板、中央处理单元、基板管理控制器、图形处理单元、现场可编程门阵列(FPGA)、FPGA实例、复杂可编程逻辑器件、机架控制器、底盘控制器、功率供应单元控制器、固态驱动、硬盘驱动或联网设备中的一个或任意组合。

应当理解,本文描述的方法、模块和组件仅仅是示例性的。替代地或另外,本文描述的功能可以至少部分地由一个或多个硬件逻辑组件来执行。例如,但非限制性地,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。在抽象但仍然明确的意义上,实现相同功能的组件的任何排列都是有效地“关联”的,从而实现期望的功能。因此,在本文中被组合以实现特定功能的任何两个组件可以被视为彼此“相关联”,从而实现期望的功能,而与架构或中间组件无关。同样,如此关联的任何两个组件也可以被视为彼此“可操作地连接”或“耦合”,以实现期望的功能。

与本公开中描述的一些示例相关联的功能还可以包括存储在非瞬态介质中的指令。本文使用的术语“非瞬态介质”是指存储使得机器以特定方式运行的数据和/或指令的任何介质。示例性非瞬态介质包括非易失性介质和/或易失性介质。非易失性介质包括例如硬盘、固态驱动、磁盘或磁带、光盘或磁带、闪存、EPROM、NVRAM、PRAM或其他这样的介质或这样的介质的网络版本。易失性介质包括例如动态存储器,例如,DRAM、SRAM、高速缓存或其他这样的介质。非瞬态介质不同于传输介质,但可以与传输介质结合使用。传输介质用于向或从机器传输数据和/或指令。示例性传输介质包括同轴电缆、光纤光缆、铜线和无线介质,例如,无线电波。

此外,本领域技术人员将认识到,上述操作的功能之间的界限仅仅是说明性的。多个操作的功能可以组合成单个操作,和/或单个操作的功能可以分布在附加操作中。此外,替代实施例可以包括特定操作的多个实例,并且操作的顺序可以在各种其他实施例中改变。

尽管本公开提供了具体示例,但是在不脱离如以下权利要求中阐述的本公开的范围的情况下,可以进行各种修改和改变。因此,说明书和附图被认为是说明性的,而不是限制性的,并且所有这些修改都旨在包括在本公开的范围内。本文中关于具体示例所描述的任何益处、优点或问题的解决方案并不旨在被解释为任何或所有权利要求的关键的、必需的或必要的特征或要素。

此外,本文使用的术语“一”或“一个”被定义为一个或多于一个。此外,在权利要求中使用介绍性短语,例如,“至少一个”和“一个或多个”不应被解释为暗示由不定冠词“一”或“一个”引入另一权利要求元素,将包含这种引入的权利要求元素的任何特定权利要求限制为仅包含一个这种元素的发明,即使当同一权利要求包括介绍性短语“一个或多个”或“至少一个”和不定冠词例如“一”或“一个”时。定冠词的使用也是如此。

除非另有说明,术语“第一”和“第二”用于任意区分这些术语描述的元素。因此,这些术语不一定旨在指示这些元素的时间或其他优先级。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:使用SOME/IP通信协议改进车载数据或消息的传输

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类