平台测量收集机制
背景技术:1.片上系统(soc)是集成计算机或其他电子系统的所有组件的集成电路。这些组件包括中央处理单元(cpu)、存储器、输入/输出(io)端口和次级存储装置,所有这些组件都被包括在单个基板或微芯片上。附加地,soc使得能够经由标准化的管芯上互连协议来集成第三方组件。然而,添加这样的组件可能导致安全漏洞。
附图说明
2.为了能够详细理解上文记载的特征所用的方式,可以通过参考实施例来得到简要概述上文的更特定的描述,所述实施例中的一些在随附附图中图示。然而,应当注意,随附附图仅图示了典型的实施例,并且因此不应被认为是对其范围的限制,因为本公开可以允许其他同等有效的实施例;图1图示了计算设备的一个实施例;图2a
‑
2c图示了平台的实施例;图3图示了互连协议代理的一个实施例;图4a是图示用于提供平台固件测量的处理的一个实施例的流程图;图4b是图示用于提供平台固件测量的处理的另一个实施例的序列图;图5是图示响应于在处理器处执行指令而执行的处理的一个实施例的流程图;图6图示了说明性电子计算设备的示意图的一个实施例。
具体实施方式
3.在以下描述中,阐述了许多具体细节以提供更透彻的理解。然而,对于本领域技术人员而言应当显而易见的是,实施例可以在没有这些具体细节中的一个或多个的情况下实践。在其他情况下,为了避免模糊实施例,没有描述公知的特征。
4.在实施例中,提供了一种从计算系统平台中的多个代理中的每一个中包括的固件收集固件测量数据的机制。在进一步的实施例中,在处理器处执行指令以从代理收集固件测量数据。在又一个进一步的实施例中,所收集的测量数据被写入清单文件并被签名。
5.对“一个实施例”、“实施例”、“示例实施例”、“各种实施例”等的引用指示如此描述的(一个或多个)实施例可以包括特定的特征、结构或特性,但是不是每个实施例都必须包括特定的特征、结构或特性。进一步地,一些实施例可以具有针对其他实施例描述的特征中的一些、全部或不具有所述特征。
6.在以下描述和权利要求书中,可以使用术语“耦合”连同其派生词。“耦合”用于指示两个或更多个元件彼此协作或交互,但是它们可以具有或可以不具有介入它们之间的物理或电子组件。
7.如权利要求书中所使用的,除非另有指定,否则序数形容词“第一”、“第二”、“第三”等的使用是为了描述共同的元素,仅仅指示引用了相同元素的不同实例,并且并不旨在暗示如此描述的元素必须在时间、空间、排序方面或以任何其他方式处于给定的顺序。
8.图1图示了计算设备100的一个实施例。根据一个实施例,计算设备100包括托管集成电路(“ic”)的计算机平台,诸如片上系统(“soc”或“soc”),从而将计算设备100的各种硬件和/或软件组件集成在单个芯片上。如所图示的,在一个实施例中,计算设备100可以包括任何数量和类型的硬件和/或软件组件,诸如(在没有限制的情况下):图形处理单元114(“gpu”或简称为“图形处理器”)、图形驱动器116(也称为“gpu驱动器”、“图形驱动器逻辑”、“驱动器逻辑”、用户模式驱动器(umd)、umd、用户模式驱动器框架(umdf)、umdf或简称为“驱动器”)、中央处理单元112(“cpu”或简称为“应用处理器”)、存储器108、网络设备或驱动器等;以及输入/输出(i/o)源104,诸如触摸屏、触摸面板、触摸板、虚拟或常规键盘、虚拟或常规鼠标、端口、连接器等。计算设备100可以包括用作计算设备100的硬件和/或物理资源与用户之间的接口的操作系统(os)106。
9.应当领会,对于某些实施方式,可能优选比上述示例装备更少或更多的系统。因此,计算设备100的配置可以取决于许多因素(诸如价格约束、性能要求、技术改进或其他情况)而因实施方式而异。
10.实施例可以被实现为以下各项中的任何一项或其组合:使用母板互连的一个或多个微芯片或集成电路、硬连线逻辑、由存储器设备存储并由微处理器执行的软件、固件、专用集成电路(asic)和/或现场可编程门阵列(fpga)。作为示例,术语“逻辑”、“模块”、“组件”、“引擎”和“机制”可以包括软件或硬件和/或其组合,诸如固件。
11.实施例可以使用一个或多个存储器芯片、控制器、cpu(中央处理单元)、微芯片或者使用主板、专用集成电路(asic)和/或现场可编程门阵列(fpga)互连的集成电路来实现。作为示例,术语“逻辑”可以包括软件或硬件和/或软件和硬件的组合。
12.图2a
‑
2c图示了包括类似于以上讨论的计算设备100的soc 210的平台200的实施例。如图2a中所示,平台200包括经由cpu 112通信地耦合到一个或多个软件组件280的soc 210。附加地,soc 210包括经由系统结构205耦合的其他计算设备组件(例如,存储器108)。在一个实施例中,系统结构205包括集成片上系统结构(iosf),以提供用于在soc 210内耦合互连协议(ip)代理230(例如,ip块230a和230b)的标准化管芯上互连协议。在这样的实施例中,互连协议提供了标准化的接口,以使得第三方能够设计要被合并到soc 210中的诸如ip代理230之类的逻辑。
13.根据实施例,ip代理230可以包括通用处理器(例如,有序或无序的核)、固定功能单元、图形处理器、i/o控制器、显示控制器等。在这样的实施例中,每个ip代理230包括硬件接口235,以提供标准化来使得ip代理230能够与soc 210组件通信。例如,在其中ipa代理230是第三方视觉处理单元(vpu)的实施例中,接口235提供标准化以使得vpu能够经由结构205访问存储器108。
14.soc 210还包括安全控制器240,其作为安全引擎操作以针对soc 210执行各种安全操作(例如,安全处理、密码功能等)。在一个实施例中,安全控制器240包括被实现来执行安全操作的ipa代理230。进一步地,soc 210包括非易失性存储器250。非易失性存储器250可以被实现为外围组件互连快速(pcie)存储驱动器,诸如固态驱动器(ssd)或非易失性存储器快速(nvme)驱动器。
15.图2b图示了平台200的另一个实施例,包括经由ip 230a耦合到soc 210的组件270。在一个实施例中,ip 230a作为将组件260连接到soc 210的桥(诸如pcie根端口)来操
作。在该实施例中,组件260可以被实现为pcie设备(例如,交换机或端点),其包括硬件接口235以使得组件260能够与soc 210组件通信。图2c图示了平台200的又一实施例,包括经由云网络210耦合到平台200的计算设备270。在该实施例中,计算设备270包括云代理,经由软件280向云代理提供对soc 210的访问。
16.诸如ip代理230的ip代理需要固件来执行。这样的固件有助于soc 210的安全性,并且必须被安全地报告给平台、软件和云代理上的其他组件。此外,用于标识和使得能够实现系统上的准确功能集的ip代理、soc和平台测量与报告正在获得越来越多的关注。测量数据信任测量根(rtm)用于验证在代理上操作的固件组件。
17.收集测量数据是一项复杂的任务,因为该平台包括由不同ip提供商开发的、并且更重要的是由其保护的各种ip代理。在当前的平台中,该处理是通过基于特定平台架构静态地重写代码来执行的。因此,不存在从平台内的ip代理收集测量数据的标准方法或协议。例如,在soc中不存在单个实体具有对所有ip代理的固件的固件测量的访问。
18.根据一个实施例,公开了一种使得soc 210能够提供ip代理固件测量的机制。在这样的实施例中,cpu 112执行使得软件250能够收集测量的指令(例如, 获得_固件_测量)。在进一步的实施例中,ip代理230(或其他组件)内的每个接口235提供内部固件测量数据。所收集的测量随后被写入由软件250提供的清单文件并被签名。如本文所限定的,测量数据是通过对ip代理230内的固件内容执行散列而获取的数据。
19.在又一个进一步的实施例中,软件280可以向在计算设备260处操作的云代理提供清单。如本文所限定的,清单文件(或清单)是包含作为集合或相干单元的一部分的一组伴随文件的元数据的文件。清单可以通过生成密码签名(例如,密码散列或校验和)来被签名,以证实清单的真实性和完整性。
20.图3图示了ip代理300的一个实施例。根据一个实施例,代理300包括包含固件315的非易失性存储器310,固件315被执行以执行与代理300相关联的特定功能。例如,固件315在vpu处被执行,以执行视频处理功能。在一个实施例中,每个代理的固件315被安全地报告给其他平台200组件、软件250和/或云组件。
21.代理300还包括被实现来验证固件315的完整性的验证器320。在这样的实施例中,验证器320通过验证固件315的完整性来生成测量数据。在进一步的实施例中,经由对固件数据(或图像)执行的散列算法(例如,md5消息摘要算法、安全哈希算法1(sha
‑
1))来验证完整性。尽管被示出为在代理300内实现验证器320,但是其他实施例可以以在外部组件(例如,基本输入/输出系统(bios)固件、虚拟机管理器、软件驱动程序等)处实现验证器320为特征。
22.在代理300内还包括接口330。根据一个实施例,接口330包括用以存储固件测量数据的寄存器335。在进一步的实施例中,寄存器335位于从接口330偏移的固定地址处,并且接口330位于每个代理300的标准地址处。在又一个进一步的实施例中,寄存器335可经由结构205访问。表1示出了寄存器335的一个实施例:表1
。
23.图4a是图示用于提供平台固件测量的处理的一个实施例的流程图。在处理框410处,接收平台配置请求。在一个实施例中,在软件应用(例如,软件250)处从云代理接收请求。在处理框420处,(例如,经由软件)生成清单数据结构。在处理框430处,软件请求从平台接收固件测量。在一个实施例中,通过调用具有清单数据结构的cpu指令来进行请求。在处理框440处,cpu通过(例如,经由结构205)访问平台中每个代理处的寄存器来执行指令,以收集测量数据。在处理框450处,cpu对包括所有测量数据的清单数据结构进行签名。在处理框460处,(例如,通过软件)传输签名的清单以用于(例如,经由云代理)进行验证。图4b是图示用于提供平台固件测量的处理的另一个实施例的序列图。
24.图5是图示用于执行cpu指令(例如,获得_固件_测量)来收集测量数据的处理的一个实施例的流程图。在处理框510处,读取清单数据结构。随后,确定了平台内的多个ip代理。在处理框520处,读取(例如,对于第一代理的)设备标识符(id)。在处理框530处,确定与设备id相关联的接口id。在处理框540处,从与设备id相关联的代理检索测量数据。在处理框550处,利用测量数据填充清单数据结构。在判定框560处,对是否存在从其接收测量数据的附加代理进行确定。如果是,则控制返回到处理框520,在其处读取下一个代理的设备id。否则,在处理框570,检索对清单进行签名的密码密钥。在处理框580处,对清单进行签名。在处理框590处,返回包括测量数据的清单。
25.在进一步的实施例中,清单可以用于访问一个或多个ip代理300处的固件315。在这样的实施例中,请求者(例如,软件280、云代理等)可以请求对固件315的访问。作为响应,在检索所请求的固件315并将其提供给请求者之前,cpu验证请求者的完整性。
26.上述机制防止对用于为平台和/或soc收集证明证据的操作系统和bios软件的重写。附加地,由于在与非标准实施方式相比时,标准代码的验证更高效,因此该机制防止了安全漏洞并改进了安全保证。此外,该机制可以与任何操作系统或安全生态系统一起使用,同时ip代理和soc完全不可知。
27.图6是根据一些实施例的使能实现抵御对抗攻击的增强保护的说明性电子计算设备的示意图。在一些实施例中,计算设备600包括一个或多个处理器610,所述一个或多个处理器610包括一个或多个处理器内核618和tee 664,tee包括机器学习服务包围区(enclave)(mlse)680。在一些实施例中,计算设备600包括硬件加速器668,硬件加速器包括密码引擎682和机器学习模型684。在一些实施例中,如图1
‑
5中所提供的,计算设备将提供抵御ml对抗攻击的增强保护。
28.计算设备600可以附加地包括以下各项中的一个或多个:高速缓存662、图形处理单元(gpu)612(其在一些实施方式中可以是硬件加速器)、无线输入/输出(i/o)接口620、有线i/o接口630、存储器电路640、功率管理电路650、非暂时性存储设备660以及用于连接到网络672的网络接口670。以下讨论提供了形成说明性计算设备600的组件的简要、一般性描述。例如,非限制性计算设备600可以包括桌面计算设备、刀片服务器设备、工作站或者类似
设备或系统。
29.在实施例中,处理器内核618能够执行机器可读指令集614,从一个或多个存储设备660读取数据和/或指令集614,并且将数据写入一个或多个存储设备660。相关领域的技术人员应当领会,所图示的实施例以及其他实施例可以利用其他基于处理器的设备配置来实践,包括便携式电子设备或手持电子设备,例如智能电话、便携式计算机、可穿戴计算机、消费电子设备、个人计算机(“pc”)、网络pc、小型计算机、服务器刀片和大型计算机等。
30.处理器内核618可以包括任何数量的硬连线或可配置电路,其中的一些或全部可以包括电子组件、半导体器件和/或逻辑元件的可编程和/或可配置组合,所述电子组件、半导体器件和/或逻辑元件的可编程和/或可配置组合部分或全部设置在pc、服务器或能够执行处理器可读指令的其他计算系统中。
31.计算设备600包括总线或类似的通信链路616,其可通信地耦合并促进各种系统组件之间的信息和/或数据交换,所述系统组件包括处理器内核618、高速缓存662、图形处理器电路612、一个或多个无线i/o接口620、一个或多个有线i/o接口630、一个或多个存储设备660和/或一个或多个网络接口670。计算设备600在本文可以以单数形式被提及,但是这不旨在将实施例限制于单个计算设备600,因为在某些实施例中,可以存在多于一个的计算设备600,其结合、包括或包含了任何数量的可通信地耦合、并置或远程联网的电路或设备。
32.处理器内核618可以包括能够执行机器可读指令集的任何数量、类型或者当前可用或未来开发的设备或所述设备的任何组合。
33.处理器内核618可以包括(或耦合到)但不限于任何当前或未来开发的单核或多核处理器或微处理器,诸如:一个或多个片上系统(soc);中央处理单元(cpu);数字信号处理器(dsp);图形处理单元(gpu);专用集成电路(asic)、可编程逻辑单元和现场可编程门阵列(fpga)等。除非另有说明,否则图6中所示的各种块的结构和操作具有常规设计。因此,本文不需要进一步详细描述这样的块,因为这样的块将被相关领域的技术人员所理解。对计算设备600的至少一些组件进行互连的总线616可以采用任何当前可用的或未来开发的串行或并行总线结构或架构。
34.系统存储器640可以包括只读存储器(“rom”)642和随机存取存储器(“ram”)646。rom 642的一部分可以用于存储或以其他方式保持基本的输入/输出系统(“bios”)644。bios 644例如通过使得处理器内核618加载和/或执行一个或多个机器可读指令集614,来向计算设备600提供基本功能。在实施例中,一个或多个机器可读指令集614中的至少一些使得处理器内核618的至少一部分提供、创建、产生、转换和/或充当专用的、具体的和特定的机器,例如文字处理机器、数字图像获取机器、媒体播放机器、游戏系统、通信设备或智能电话等。
35.计算设备600可以包括至少一个无线输入/输出(i/o)接口620。所述至少一个无线i/o接口620可以可通信地耦合到一个或多个物理输出设备622(触觉设备、视频显示器、音频输出设备、硬拷贝输出设备等)。所述至少一个无线i/o接口620可以可通信地耦合到一个或多个物理输入设备624(定点设备、触摸屏、键盘、触觉设备等)。所述至少一个无线i/o接口620可以包括任何当前可用的或未来开发的无线i/o接口。示例无线i/o接口包括但不限于:蓝牙
®
、近场通信(nfc)等。
36.计算设备600可以包括一个或多个有线输入/输出(i/o)接口630。所述至少一个有
线i/o接口630可以可通信地耦合到一个或多个物理输出设备622(触觉设备、视频显示器、音频输出设备、硬拷贝输出设备等)。所述至少一个有线i/o接口630可以可通信地耦合到一个或多个物理输入设备624(定点设备、触摸屏、键盘、触觉设备等)。有线i/o接口630可以包括任何当前可用的或未来开发的i/o接口。示例有线i/o接口包括但不限于:通用串行总线(usb)、ieee 1394(“火线(firewire)”)等。
37.计算设备600可以包括一个或多个可通信地耦合的非暂时性数据存储设备660。数据存储设备660可以包括一个或多个硬盘驱动器(hdd)和/或一个或多个固态存储设备(ssd)。所述一个或多个数据存储设备660可以包括任何当前或未来开发的存储装置、网络存储设备和/或系统。这样的数据存储设备660的非限制性示例可以包括但不限于任何当前或未来开发的非暂时性存储装置或设备,诸如一个或多个磁存储设备、一个或多个光学存储设备、一个或多个电阻性存储设备、一个或多个分子存储设备、一个或多个量子存储设备或其各种组合。在一些实施方式中,所述一个或多个数据存储设备660可以包括一个或多个可移除存储设备,诸如一个或多个闪存驱动器、闪速存储器、闪存单元或能够与计算设备600可通信地耦合和从计算设备600可通信地解耦合的类似装置或设备。
38.所述一个或多个数据存储设备660可以包括将相应的存储设备或系统可通信地耦合到总线616的接口或控制器(未示出)。所述一个或多个数据存储设备660可以存储、保持或以其他方式包含机器可读指令集、数据结构、程序模块、数据存储、数据库、逻辑结构和/或对于处理器内核618和/或图形处理器电路612和/或在处理器内核618和/或图形处理器电路612上执行或者由处理器内核618和/或图形处理器电路612执行的一个或多个应用而言有用的其他数据。在一些情况下,一个或多个数据存储设备660可以例如经由以下各项来可通信地耦合到处理器内核618:经由总线616或经由一个或多个有线通信接口630(例如,通用串行总线或usb);一个或多个无线通信接口620(例如,蓝牙
®
、近场通信或nfc);和/或一个或多个网络接口670(ieee 802.3或以太网、ieee 802.11或wi
‑
fi
®
等)。
39.处理器可读指令集614和其他程序、应用、逻辑集和/或模块可以全部或部分地存储在系统存储器640中。这样的指令集614可以全部或部分地从一个或多个数据存储设备660传送。指令集614可以在由处理器内核618和/或图形处理器电路612执行期间全部或部分地被加载、存储或以其他方式保持在系统存储器640中。
40.计算设备600可以包括控制能量存储设备652的一个或多个操作方面的功率管理电路650。在实施例中,能量存储设备652可以包括一个或多个一次(即,不可充电)或二次(即,可充电)电池或类似的能量存储设备。在实施例中,能量存储设备652可以包括一个或多个超级电容器或超电容器。在实施例中,功率管理电路650可以变更、调整或控制从外部电源654到能量存储设备652和/或到计算设备600的能量流。电源654可以包括但不限于太阳能系统、商业电网、便携式发电机、外部能量存储设备或其任何组合。
41.为了方便起见,处理器内核618、图形处理器电路612、无线i/o接口620、有线i/o接口630、存储设备660和网络接口670被图示为经由总线616彼此可通信地耦合,从而提供上述组件之间的连接性。在替代实施例中,上述组件可以以不同于图6中图示的方式可通信地耦合。例如,上述组件中的一个或多个可以直接耦合到其他组件,或者可以经由一个或多个中间组件(未示出)彼此耦合。在另一示例中,一个或多个上述组件可以集成到处理器内核618和/或图形处理器电路612中。在一些实施例中,可以省略总线616的全部或一部分,并且
使用合适的有线或无线连接将所述组件彼此直接耦合。
42.例如,实施例可以作为计算机程序产品来提供,该计算机程序产品可以包括其上存储有机器可执行指令的一个或多个机器可读介质,所述机器可执行指令在由诸如计算机、计算机网络或其他电子设备的一个或多个机器执行时,可以导致所述一个或多个机器实行根据本文描述的实施例的操作。机器可读介质可以包括但不限于软盘、光盘、cd
‑
rom(致密盘只读存储器)和磁光盘、rom、ram、eprom(可擦除可编程只读存储器)、eeprom(电可擦除可编程只读存储器)、磁卡或光卡、闪速存储器或适于存储机器可执行指令的其他类型的介质/机器可读介质。
43.此外,实施例可以作为计算机程序产品下载,其中所述程序可以通过一个或多个数据信号的方式从远程计算机(例如,服务器)传送到请求计算机(例如,客户端),所述一个或多个数据信号体现在经由通信链路(例如,调制解调器和/或网络连接)的载波或其他传播介质中或由其进行调制。
44.贯穿文档,术语“用户”可以可互换地称为“观看者”、“观察者”、“说话者”、“人员”、“个体”和/或“终端用户”等。要注意的是,贯穿该文档,如“图形域”的术语可以与“图形处理单元”、“图形处理器”或简单的“gpu”可互换地引用,并且类似地,“cpu域”或“主机域”可以与“计算机处理单元”、“应用处理器”或简单的“cpu”可互换地引用。
45.要注意的是,如“节点”、“计算节点”、“服务器”、“服务器设备”、“云计算机”、“云服务器”、“云服务器计算机”、“机器”、“主机”、“设备”、“计算设备”、“计算机”和“计算系统”等术语可以贯穿该文档可互换地使用。要进一步注意的是,如“应用”、“软件应用”、“程序”、“软件程序”、“包”和“软件包”等术语可以贯穿该文档可互换地使用。此外,如“作业”、“输入”、“请求”和“消息”等术语可以贯穿该文档可互换地使用。
46.在各种实施方式中,计算设备可以是膝上型计算机、上网本、笔记本、超级本、智能电话、平板电脑、个人数字助理(pda)、超移动pc、移动电话、台式计算机、服务器、机顶盒、娱乐控制单元、数码相机、便携式音乐播放器或数字视频记录器。计算设备可以是固定的、便携式的或可穿戴的。在进一步的实施方式中,计算设备可以是处理数据或记录数据以便在其他地方处理的任何其他电子设备。
47.附图和前面的描述给出了实施例的示例。本领域技术人员应当领会,所描述的元件中的一个或多个可以很好地组合成单个功能元件。可替代地,某些元件可以被拆分成多个功能元件。来自一个实施例的元件可以被添加到另一个实施例。例如,本文描述的处理的次序可以改变,并且不限于本文描述的方式。此外,任何流程图的动作不需要以所示的次序实现;也不一定需要执行所有的动作。此外,不依赖于其他动作的那些动作可以与其他动作并行执行。实施例的范围决不受这些具体示例限制。无论是否在说明书中明确给出,诸如结构、尺寸和材料使用方面的差异之类的许多变化都是可能的。实施例的范围至少与下面的权利要求书所给出的一样宽。
48.实施例可以例如作为计算机程序产品来提供,该计算机程序产品可以包括其上存储有机器可执行指令的一个或多个暂时性的或非暂时性的机器可读存储介质,所述机器可执行指令在由诸如计算机、计算机网络或其他电子设备的一个或多个机器执行时,可以导致一个或多个机器实行根据本文描述的实施例的操作。机器可读介质可以包括但不限于软盘、光盘、cd
‑
rom(致密盘只读存储器)和磁光盘、rom、ram、eprom(可擦除可编程只读存储
器)、eeprom(电可擦除可编程只读存储器)、磁卡或光卡、闪速存储器或适于存储机器可执行指令的其他类型的介质/机器可读介质。
49.一些实施例涉及示例1,示例1包括在计算系统处收集固件测量数据的装置,该计算系统包括多个代理以及执行从多个代理中的每个代理收集固件测量数据的指令的处理器,每个代理包括:非易失性存储器,存储被执行以实行与代理相关联的功能的固件;验证逻辑,通过验证固件的完整性来生成测量数据;和寄存器,存储测量数据。
50.示例2包括示例1的主题,其中处理器收集固件测量数据包括从第一代理中的第一寄存器收集第一测量数据和从第二代理中的第二寄存器收集第二测量数据。
51.示例3包括示例1和2的主题,其中处理器从软件应用接收清单数据结构。
52.示例4包括示例1
‑
3的主题,其中处理器将第一测量数据和第二测量数据插入清单数据结构中。
53.示例5包括示例1
‑
4的主题,其中处理器利用一个或多个密码密钥对清单数据结构进行签名。
54.示例6包括示例1
‑
5的主题,其中处理器将清单数据传输到计算系统外部的代理。
55.示例7包括示例1
‑
6的主题,其中代理使用清单从多个代理中的一个或多个接收固件。
56.示例8包括示例1
‑
7的主题,其中处理器从多个代理中的一个或多个代理检索固件,并将固件传输给代理。
57.示例9包括示例1
‑
8的主题,进一步包括耦合在处理器与多个代理中的每一个之间的集成片上系统结构。
58.一些实施例与示例10有关,示例10包括其上存储有指令的至少一个计算机可读介质,所述指令在被一个或多个处理器执行时,使得处理器读取数据清单数据结构,确定计算系统平台内的多个代理,从计算系统平台内的多个代理中的每一个收集固件测量数据,并将固件测量数据插入清单数据结构内。
59.示例11包括示例10的主题,其中固件测量数据是从多个代理中的每一个内的寄存器收集的。
60.示例12包括示例10和11的主题,从第一代理中的一个或多个寄存器的第一集合收集第一测量数据,并且从第二代理中的一个或多个寄存器的第二集合收集第二测量数据。
61.示例13包括示例10
‑
12的主题,其上存储有指令,所述指令在由一个或多个处理器执行时,使得处理器利用一个或多个密码密钥对清单数据结构进行签名。
62.示例14包括示例10
‑
13的主题,其上存储有指令,所述指令在由一个或多个处理器执行时,使得处理器接收从计算系统平台接收测量数据的请求。
63.示例15包括示例10
‑
14的主题,其上存储有指令,所述指令在由一个或多个处理器执行时,使得处理器将清单数据传输到计算系统外部的代理。
64.一些实施例涉及示例16,其包括从计算系统收集固件测量数据的方法,该方法读取数据清单数据结构,确定计算系统平台内的多个代理,从计算系统平台内的多个代理中的每一个收集固件测量数据,并将固件测量数据插入清单数据结构内。
65.示例17包括示例16的主题,其中固件测量数据是从多个代理中的每一个内的寄存器收集的。
66.示例18包括示例16和17的主题,其中收集固件测量数据包括从第一代理中的一个或多个寄存器的第一集合收集第一测量数据,以及从第二代理中的一个或多个寄存器的第二集合收集第二测量数据。
67.示例19包括示例16
‑
18的主题,进一步包括利用一个或多个密码密钥对清单数据结构进行签名。
68.示例20包括示例16
‑
19的主题,进一步包括接收从计算系统平台接收测量数据的请求。
69.示例21包括示例16
‑
20的主题,进一步包括将签名的清单数据传输到计算系统外部的代理。
70.上面已经参考具体实施例描述了示例的实施例。然而,本领域技术人员应当理解,在不脱离如所附权利要求中阐述的更宽的精神和范围的情况下,可以对其进行各种修改和改变。因此,前面的描述和附图被认为是说明性的而不是限制性的意义。