用于信任配置的安全设备环境转让专利

申请号 : CN201180076466.4

文献号 : CN104160405B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : R·多德亚A·德弗里斯A·S·拉詹H·贾亚纳W·J·蒂索K·W·布罗斯R·亨特

申请人 : 英特尔公司

摘要 :

完整性管理体系结构扩展有信任哈希配置。信任哈希配置确保计算设备的完整性。因此,多用途设备能够如专用单一用途设备一样安全。信任哈希配置包括:确定哈希掩码;以及基于被识别为包含在哈希范围内的部件的签名来计算信任哈希计算结果。计算出的信任哈希计算结果用来确定计算设备的完整性。

权利要求 :

1.一种用于保护设备环境的方法,包括:

在计算设备处确定设备简档,所述设备简档识别单一用途或多用途的目标设备以及所述目标设备的部件;

在所述计算设备处确定定义哈希计算结果的范围的哈希掩码,包括识别所述目标设备的其签名要包含在信任哈希计算结果中的所有部件;以及在所述计算设备处基于识别出的部件的签名来计算所述信任哈希计算结果,以生成具有所定义范围的签名;

在所述计算设备处接收对所述目标设备的更新简档,包括对识别的部件中一个或多个的更新;以及在所述计算设备处基于更新后识别出的部件的签名重新计算所信任的哈希计算,以生成具有所定义范围的第二签名。

2.如权利要求1所述的方法,其中,所述计算设备包括所述目标设备。

3.如权利要求1所述的方法,其中,所述计算设备包括服务提供商服务器设备。

4.如权利要求1所述的方法,其中,所述目标设备包括不具有与设备配置进行交互的用户接口的独立式计算设备。

5.如权利要求1所述的方法,其中,所述部件包括以下中的一个或多个:BIOS(基本输入/输出系统)、操作系统模块、内核映像、固件单元、用于硬件平台的驱动程序、文件系统、应用模块或用于通信平台的驱动程序。

6.如权利要求1所述的方法,还包括:

将计算出的信任哈希计算结果存储在所述目标设备的信任存储器设备中。

7.如权利要求6所述的方法,还包括:

使用与所述目标设备相关联的通用唯一标识符来存储计算出的信任哈希计算结果。

8.如权利要求1所述的方法,还包括:

使用计算出的信任哈希计算结果来确定在机器到机器的连接上的所述目标设备的完整性。

9.如权利要求1所述的方法,还包括:

在所述计算设备处接收请求签名的请求,所述请求识别要执行以生成用于验证完整性的所述签名的哈希计算结果的范围;

通过基于所请求的所述哈希计算结果的范围来计算信任哈希计算结果,从而计算所述签名;以及响应于所述请求而发送所述签名以便验证。

10.一种具有安全环境的计算设备,包括:

网络连接,其通过机器到机器的接口来交换与确定目标设备的完整性有关的信息;

处理器,其执行信任哈希体系结构,所述处理器用于:确定设备简档,所述设备简档识别单一用途或多用途的目标设备以及所述目标设备的部件;确定定义哈希计算结果的范围的哈希掩码,包括识别所述目标设备的其签名包含在信任哈希计算结果中的所有部件;基于识别出的部件的签名来计算所述信任哈希计算结果,以生成具有所定义范围的签名;接收对所述目标设备的更新简档,包括对识别的部件中一个或多个的更新;以及基于更新后识别出的部件的签名重新计算所信任的哈希计算,以生成具有所定义范围的第二签名。

11.如权利要求10所述的计算设备,其中,所述计算设备包括服务提供商服务器设备。

12.如权利要求11所述的计算设备,其中,所述计算设备包括所述目标设备。

13.如权利要求10所述的计算设备,还包括:

信任平台模块,其具有存储计算出的信任哈希计算结果的安全存储器设备。

14.如权利要求13所述的计算设备,其中,所述信任平台模块进一步存储与所述目标设备相关联的通用唯一标识符。

15.如权利要求10所述的计算设备,其中,所述部件包括以下中的一个或多个:BIOS(基本输入/输出系统)、操作系统模块、内核映像、固件单元、用于硬件平台的驱动程序、文件系统、应用模块或用于通信平台的驱动程序。

16.如权利要求10所述的计算设备,还包括处理器用于:使用计算出的信任哈希计算结果来确定在机器到机器的连接上的所述目标设备的完整性。

17.如权利要求10所述的计算设备,还包括处理器用于:通过所述网络连接来接收请求签名的请求,所述请求识别要执行以生成用于验证完整性的所述签名的哈希计算结果的范围;通过基于所请求的所述哈希计算结果的范围来计算信任哈希计算结果,从而计算所述签名;以及响应于所述请求而发送所述签名以便验证。

18.一种用于保护设备环境的装置,包括:

用于在计算设备处确定设备简档的单元,所述设备简档识别单一用途或多用途的目标设备以及所述目标设备的部件;

用于在所述计算设备处确定定义哈希计算结果的范围的哈希掩码的单元,包括识别所述目标设备的其签名包含在信任哈希计算结果中的所有部件;以及用于在所述计算设备处基于识别出的部件的签名来计算所述信任哈希计算结果以生成具有所定义范围的签名的单元;

用于在所述计算设备处接收对所述目标设备的更新简档的单元,包括对识别的部件中一个或多个的更新;以及用于在所述计算设备处基于更新后识别出的部件的签名重新计算所述信任哈希计算结果,以生成具有所定义范围的第二签名的单元。

19.如权利要求18所述的装置,其中,所述部件包括以下中的一个或多个:BIOS(基本输入/输出系统)、操作系统模块、内核映像、固件单元、用于硬件平台的驱动程序、文件系统、应用模块或用于通信平台的驱动程序。

20.如权利要求18所述的装置,还包括用于以下操作的单元:将计算出的信任哈希计算结果存储在所述目标设备的信任存储器设备中。

21.如权利要求20所述的装置,还包括用于以下操作的单元:使用与所述目标设备相关联的通用唯一标识符来存储计算出的信任哈希计算结果。

22.如权利要求18所述的装置,还包括用于以下操作的单元:使用计算出的信任哈希计算结果来确定在机器到机器的连接上的所述目标设备的完整性。

23.如权利要求18所述的装置,还包括用于以下操作的单元:在所述计算设备处接收请求签名的请求,所述请求识别要执行以生成用于验证完整性的所述签名的哈希计算结果的范围;

通过基于所请求的所述哈希计算结果的范围来计算信任哈希计算结果,从而计算所述签名;以及响应于所述请求而发送所述签名以便验证。

说明书 :

用于信任配置的安全设备环境

技术领域

[0001] 本发明的实施例概括地涉及计算设备安全,更特别地涉及用于信任配置(trust provisioning)的完整性校验。
[0002] 版权通告/许可
[0003] 本专利文件的公开部分包含受版权保护的材料。在专利文件或专利公开内容出现在专利商标局的专利文件或记录中时,版权所有人不反对任何人对专利文件或专利公开内容的复制,但是保留所有的版权。版权通知适用于在下面描述的所有数据以及此处所附的附图,还适用于在下面描述的任何软件: ,Intel Corporation,版权所有。

背景技术

[0004] 许多计算设备配置成用于输送服务,诸如数字媒体播放器、智能仪表、销售点(PoS)终端、某些售卖机、ATM(自动出纳机)、工厂设备或其他设备。通过服务输送通道的一个或多个利益相关者来预先配置这些设备。数字媒体播放器能够提供按需媒体服务,但是将需要配置有服务提供商客户端包,其能够将服务引导到设备的部署部位。类似地,也要配置智能仪表和PoS终端。
[0005] 这些设备的部署通常伴随着减少设备暴露给危害的安全解决方案。配置在设备上的客户端包不应被复制或者不应使得可供服务提供商未经授权的服务输送使用。目前,服务提供商需要确保在客户端包装入设备的情况下实现操作和处理,这对服务提供商而言产生了开销。服务部署开销的程度因服务和设备而变化。
[0006] 在PoS终端直接参与金融交易的情况下,PoS终端通常呈现最大开销。卡网络和支付网络中的持有者与PoS终端制造商进行深度合作以在通过他们授权交易之前确保终端的安全性。这些服务提供商非常深入且密切地参与其高度封闭的通道中。另一方面,所有这些服务提供商的商业扩展完全依赖于输送其服务的设备的扩散程度。确保设备的安全性伴随着巨大的开销,这造成了对于任何企业而言都是难题的规模缩放问题。
[0007] 目前,还通过使用单一用途计算设备来增强安全性。硬件通常是定制设计,并且使其专用于目标设备意图提供的用途以及服务或功能。设备的定制本质防止了对设备所提供的服务的修改或扩展。因此,即使在集中于设备的安全性时,安全机制也能防止缩放,并且因此安全机制减弱了设备修改其服务的能力。

附图说明

[0008] 下面的说明包含了附图的讨论,附图具有通过本发明的实施例的实现的例子所给予的图示说明。附图应当仅通过实例的方式来理解,而不应通过限制的方式来理解。如本文所使用的,对于一个或多个“实施例”的提及应理解为描述了包含在本发明的至少一个实现中的特定特征、结构或特性。因此,诸如出现在本文中的“在一个实施例中”或“在可选的实施例中”的用语描述了本发明的各个实施例和实现,不必然地都指代相同的实施例。然而,它们也不一定相互排斥。
[0009] 图1是安全体系结构的实施例的框图。
[0010] 图2是具有信任配置安全体系结构的系统体系结构的实施例的框图。
[0011] 图3是用于信任配置的过程的实施例的流程图。
[0012] 图4是能够使用信任配置的计算系统的实施例的框图。
[0013] 下面给出了一些细节和实现的描述,包括附图的描述,附图可以描绘下述一些或全部实施例,以及讨论了本文提供的发明构思的其他可能的实施例或实现。下面提供了本发明的实施例的概述,随后是参照附图的更详细的说明。

具体实施方式

[0014] 如本文所描述的,信任哈希配置用于确保计算设备的完整性。信任哈希配置包括:确定哈希掩码,以及基于识别为包含在哈希范围内的部件的签名来计算信任哈希。计算出的信任哈希计算结果用于确定计算设备的完整性。能够确保作为完整性确定的目标的计算设备在允许其提供其服务之前是安全的。因此,多用途设备能够如专用的单用途设备那样安全。
[0015] 信任哈希配置在设备上建立安全环境,允许所述设备信任以配置服务。服务提供商能够验证设备是否信任以配置和引导服务。与当前的服务配置不同,设备信任的验证能够在从设备被制造的点到设备被部署和投入使用的点的链中的任意点发生。因此,服务提供商与通道的接合会比当前可能的情况更轻。安全的环境和用于验证信任的机制因此允许设备制造和配送通道开放,这反过来允许服务提供商企业的更好缩放。
[0016] 如本文所描述的,安全配置提供了安全的环境,其能够涵盖BIOS(基本输入/输出系统)、OS(操作系统)模块、内核映像、固件单元、驱动程序包、文件系统、和/或应用模块。因此,安全配置能够从硬件层到应用层提供跨越目标设备(即,要对其验证完整性的设备)的整个截面的安全环境。在一个实施例中,安全配置限定了将目标设备的不同部件与综合安全环境结合为一体的要素。
[0017] 本文所公开的安全配置将配置设备安全的点从制造点转移到使用点。设备环境的安全允许设备在一投入市场时就是安全的。在硬件中提供一个或多个信任根,并且设备启动安全且开始强制执行安全策略。
[0018] 安全配置对于端对端计算设备特别有用,端对端计算设备从一个设备连接到另一设备,但是通常不具有允许对基础系统进行访问的用户接口。一般地,仅客户端可用于交互,并且仅提供了对设备的单一用途的访问。因此,无需用户来监控机器。如果检测到错误,则其必须被远程地检测和处置,诸如通过管理员。这种机器到机器的设备需要远程地配置,通过一个或多个服务来引导,并且在其生命周期内进行管理:从制造点到使用点,以及直至生命结束;端对端。
[0019] 如本文所述的安全环境的创建提供了用于确保目标设备在设备生命周期中保持一体的机制。通过在其所经过的任何阶段来监控和验证设备的完整性。
[0020] 图1是安全体系结构的实施例的框图。设备100是被部署用于输送服务的计算设备,并且其能够经由机器到机器的连接来进行访问。例如,设备100可以是数字媒体播放器、游戏控制台、机顶盒、DVR(数字视频记录仪)、智能仪表、销售点(PoS)、售卖机、ATM、工厂机器或其他设备中的计算系统。在一个实施例中,设备100是除了提供设备被部署以提供的服务之外不具有用于交互的用户接口的独立式计算设备。因此,设备100可不具有使用户在本地与设备交互以执行与设备配置有关的操作或与系统操作有关的操作的用户接口。相反,设备100可以仅能够供其服务客户端来访问。
[0021] 依照本文公开的任意实施例,设备100经由信任哈希配置而变得安全。设备首次启动时的信任哈希配置能够确保设备在被使用之前具有完整状态。还能够基于最后已知的完整状态来预先配置信任哈希,这有助于在设备的生命周期内保持设备的完整性。通过初始信任配置,设备能够开始探寻其应为何物,以及如果不能确定其应为何物或者如果其没有在完整性测试中得到肯定结果,则能够阻挡或防止设备开启。通过预先配置,设备能够被修改并且具有安装到其顶部的其他服务客户端,同时仍锁止其自身以防止其预期或限定用途之外的任何使用。
[0022] 在一个实施例中,设备100包括下述部件中的每一个:BIOS 112、硬件模块114(硬件平台,包括驱动程序)、通信模块116(通信设备,包括驱动程序)、操作系统(OS)118、以及应用层120。设备100通常包括所有这些部件,但是能够进行改变,而不脱离本文所描述的信任配置的范围。一个或多个部件应包含在其完整性验证中。最高的安全级在完整性验证中包含所有部件。在完整性验证中所包含的每个部件提供了用于验证的证书。
[0023] 在一个实施例中,完整性验证基于依照完整性管理体系结构(IMA)的实现的信任环境验证。例如,可以使用Linux IMA和TPM。IMA采用将文件系统的测量哈希密封到TPM中的TCG(可信计算组)方法。IMA执行计算以比较设备哈希与服务提供商所期望的值匹配,这表明设备能够被信任并且被配置以用于输送服务。
[0024] 在一个实施例中,IMA 130基于上述IMA。TPM 140是信任安全存储设备,并且能够存储用于完整性验证的哈希计算结果或其他值。UUID 142是独属于设备100的ID,并且还能够存储在TPM 140中。在一个实施例中,设备100包括两个信任根,即TPM 140和UICC(通用集成电路卡)106。UICC可以是例如SIM(用户识别模块)卡或其他电路。当使用两个信任根时,不可能假冒或复制其他硬件上的信任设备,因为将存在失配。因此,例如,将SIM卡交换到另一设备中将不能有效地获得对服务的访问。另外,通过使用UUID 142,每个设备被唯一地识别。使用两个信任根,不同的外部实体能够与不同的信任根相关联,例如,OEM(原始设备制造商)与TPM 140相关联以及服务提供商与UICC 106相关联。
[0025] 处理器102执行IMA和信任哈希体系结构150。处理器102可以包括一个或多个处理设备,并且执行信任环境验证所必需的功能。在一个实施例中,处理器102是设备的主处理器102(即,执行OS的处理器)。在一个实施例中,使用应用处理器或调制解调器处理器。在一个实施例中,专用信任处理器执行函数计算和签名。能够从TPM 140和/或UICC 106来执行函数。
[0026] 在一个实施例中,IMA 130是标准的IMA实现,并且可以包括以下。函数132使IMA 130能够验证BIOS证书。函数134使IMA 130能够验证硬件和通信模块以及驱动程序证书。函数136使IMA 130能够验证OS层证书。函数138使IMA 130能够验证应用层证书。这些函数中的每一个被视为能被本领域技术人员所理解。
[0027] 在一个实施例中,信任哈希体系结构150是IMA 130的扩展。体系结构150包括HSTC(哈希缩放修整计算)152、SHIV(缩放后的哈希完整性验证)154、以及哈希掩码和信任哈希值的存储或应用156。HSTC 152确定将应用于系统的哈希掩码,包括识别出何种部件将包含在哈希计算结果和签名的范围内。在一个实施例中,HSTC 152包括对包含在该范围内的部件进行测量。HSTC 152允许外部实体(例如,服务提供商)识别设备100的何种部件构成了将提供给外部实体的签名。外部实体能够验证系统是否局限于其预期的用途,因为所添加的部件将改变签名。
[0028] SHIV 154验证了跨越如哈希掩码所设定的范围所限定的整个平台的哈希完整性。SHIV 154将测量值与期望值进行比较以确定完整性。在一个实施例中,通过在应用处理器上运行的守护程序来执行SHIV。SHIV 154能够以固定的或规则的间隔来执行,或者能够由中断或外部触发器、或其他触发机制来驱动。在一个实施例中,SHIV 154能够响应于对签名的请求而执行,其中所述请求识别出对请求的签名要执行的哈希计算结果的范围。因此,在用于设备验证的请求中能够识别出设备完整性的验证范围。
[0029] 在信任哈希值计算之后,体系结构150将包括哈希掩码和THV 156的值存储在TPM 140中。在一个实施例中,信任环境值存储在TPM 140中且与UUID 142直接关联。因此,信任值能够与UUID关联,确保对于正确的硬件计算和验证信任环境。
[0030] 设备100包括M2M(机器到机器)连接104,其允许设备访问为其提供服务的服务提供商(例如,流视频提供商、电缆或盘提供商、或其他服务提供商)。M2M连接104还是用于设备100的远程管理的接入点。在一个实施例中,一项或多项服务能够在设备100上远程地修改,并且新的信任环境参数能够应用于设备以确保信任。
[0031] 图2是具有信任配置安全体系结构的系统体系结构的实施例的框图。设备200可以是图1的设备100的示例。图2直观地描绘了完整性验证操作的范围的表征。因此,能够看出,HSTC 250和SHIV 260涵盖设备200的所有部件。在一个实施例中,一个或多个部件不包含在信任环境计算中。
[0032] 在一个实施例中,信任环境验证依照图中识别的编号进行。为描述目的,按如下次序遵从编号。
[0033] 设备200包括硬件(HW)模块和关联的驱动程序210,其还可称为硬件平台210。驱动程序包括管理硬件元件的接口逻辑。硬件平台210包括BIOS 212,其为设备200提供引导控制和系统初始化操作。硬件平台210包括引导ROM(只读存储器)214,其存储BIOS并且是设备200在加电时的初始化地址。BIOS证书216代表BIOS 212提供的安全证书。在一个实施例中,BIOS证书216是如下形式:CBIOS{KU||EKRCA1[H[BIOSVal]]}。HSTC 250可以包括在操作1中BIOS证书216的验证。
[0034] 设备200包括通信模块和驱动程序220,其还可称为通信平台220。通信平台220包括:一个或多个连接栈222,以及与连接关联的连接访问安全224。通信平台220还可以包括用于通信连接安全目的的连接安全存储设备228。这可以是服务提供商控制下的UICC和信任根连接。其能够由服务提供商配置有哈希参数,HSTC 250需要遍及哈希参数来计算哈希掩码282。例如,M2M连接可以是在会话期间使用密钥或其他认证信息的安全通道。通信驱动程序证书226代表通信平台220所提供的安全证书。在一个实施例中,通信驱动程序证书226是如下形式:
[0035] CComm{KU||EKRCA1[H[CommVal]]}。HSTC 250可以包括在操作2中通信驱动程序证书226的验证。
[0036] 操作2还可以包括验证硬件平台210的驱动程序部件的硬件驱动程序证书218。在一个实施例中,硬件驱动程序证书218如下形式:CHW{KU||EKRCA1[H[HWVal]]}。在一个实施例中,在单独的操作中执行通信驱动程序证书226和硬件驱动程序证书218的验证。
[0037] 设备200包括OS 230,其是在硬件和通信平台上执行的软件层。OS 230通常从用户交互的角度控制设备200的操作。OS证书232是OS 230提供的安全证书。在一个实施例中,OS证书232是如下形式:COS{KU||EKRCA2[H[OSVal]]}。HSTC 250可以包括在操作3中OS证书232的验证。
[0038] 设备200包括应用层240,其是在OS 230提供的软件平台上执行的应用层。OS 230通常处置设备硬件管理,其被仅须对操作系统进行调用的应用所利用,而不必试图单独地管理整个硬件平台。应用层240提供了安全证书APP证书242。在一个实施例中,APP证书242是如下形式:CAPP{KU||EKRCA2[H[APPVal]]}。HSTC 250可以包括在操作4中APP证书242的验证。
[0039] 在操作5中,HSTC 250将哈希掩码282应用于构成完整性校验哈希的不同部件的签名。哈希掩码定义了安全哈希的覆盖宽度,识别了BIOS 212、OS 230的OS模块、固件单元、以及诸如硬件平台210和通信平台220的驱动程序包、OS 230的文件系统、应用层240的应用模块、和/或其他部件中的一个或多个,要跨越这些部件来计算哈希。对设备200的任何更新将引起对期望的哈希值的更新,这通常由服务提供商计算且发送到设备以存储在安全存储设备280中。
[0040] IMA的标准应用将文件系统的测量哈希密封到TPM中。如果哈希与期望值匹配,则设备200被视为信任的。HSTC 250是安全环境配置中对当前系统配置计算哈希值以用于与已知的良好值进行比较的部分。SHIV 260随后能够做出比较以确定哈希计算结果的完整性。
[0041] 服务提供商定义了将提供其服务的设备的需要。因此,服务提供商确定将被输送该服务的设备简档。一旦确定设备简档,服务提供商或设备制造商能够确定哈希掩码282和信任哈希值284。设备制造商和配销商随后确保通道中的设备(诸如设备200)匹配这些值而用于服务输送。在一个实施例中,它们将UUID 272提供给一个或多个服务提供商,并且获得哈希掩码和信任哈希值的授权以便注入设备中。通过授权,哈希掩码282和信任值284注入设备200,其包括与服务提供商授权的UUID匹配的UUID 272。在SHIV 260之后,在操作7中将完整性能够密封到TPM 270中,存储计算出的、经验证的值。
[0042] 图3是用于信任配置的过程的实施例的流程图。设备302是目标设备,其经验证而具有用于服务配置和引导的安全环境。设备制造商或配销商304代表了制造/装配设备302的实体。设备制造商/配销商304可以是或者可以不是与服务提供商306相同的实体。服务提供商306掌控可经由设备302访问的服务。
[0043] 在图3中观察到三个可能的不同阶段。第一阶段是当设备302准备进行服务配置和引导时342。在阶段342中,服务提供商306确定设备简档且基于该简档来确定期望的哈希值。服务提供商还能够确定设备302中应当被监控完整性的部件的哈希掩码。下一阶段是当设备配置有其安全值时,且是配置和引导服务344。在阶段344中,设备302通过服务提供商306来验证其完整性,服务提供商306随后允许设备提供服务。下一阶段是重新配置,在所有实施例中都不存在该阶段。阶段346是对于设备简档更新重新配置哈希参数。设备简档可被修改,并且如果修改,则能够重新计算安全环境。
[0044] 在初始配置(342)时,设备制造商/配销商向服务提供商登记,312。当登记被接受/准许时,服务提供商向制造商或配销商发布证书,314。登记包括识别出设备及其能力和配置。服务提供商确定设备的设备简档,316,并且计算哈希掩码,318,和信任哈希值,320,参数值。
[0045] 在一个实施例中,制造商/配销商提供用于哈希参数配置的具体设备的UUID,322。服务提供商306通常将执行哈希参数的计算,但是可替代地使制造商或第三方来执行计算。
服务提供商返回哈希参数值,服务提供商或制造商/配销商将该哈希参数值注入设备的安全存储,324。该哈希参数能够配置到设备上的UICC中,设备上的UICC是在服务提供商的控制下的信任连接根。这些配置到UICC或连接安全存储中的参数随后由HSTC使用来计算哈希掩码(例如,图2的HSTC 250和哈希掩码282)。在一个实施例中,服务提供商从制造商/配销商购买设备,然后将对设备执行所有的软件和配置工作。
[0046] HSTC函数提供了信任根,因为哈希参数表明哪些部件包含在哈希签名中。这种信任根使得外部实体基于表明设备具有所有部件并且没有被修改(或签名不匹配)的正确签名来信任设备。TPM提供了信任根,因为其提供了来自信任安全存储的一个或多个值。因此,SHIV函数能够验证被提供以验证设备被正确配置而未经修改的存储的签名。因此,哈希参数提供了签名的跨度或范围,其随后也能够用于完整性验证。
[0047] 在一个实施例中,设备提供了由信任哈希签名的UUID,326。将理解的是,服务提供商和设备本身将计算信任哈希。服务提供商提供了存储在设备中的期望值。设备在活跃系统配置上计算哈希值以与期望值进行比较。当在设备上(即,通过SHIV)验证完整性时,其能够以信任哈希对UUID签名并且将其发送到服务提供商或其他外部实体。响应于经签名的UUID,服务提供商能够信任设备,并且在设备上配置服务参数并引导服务,328。
[0048] 在一个实施例中,设备提供了由具有在验证请求中识别的范围的信任哈希签名的UUID。因此,外部实体(例如,服务提供商)能够请求验证设备平台,并且在请求中规定所请求的验证范围。响应于这种请求通过设备执行的哈希计算结果的范围可以不同于在初始配置时执行的哈希计算结果的范围。因此,在一个实施例中,HSTC和SHIV均能够独立地基于所提供的范围或哈希掩码来进行计算。
[0049] 在一个实施例中,出现了重新配置阶段346。将理解的是,重新配置可能出现多次,而初始配置预期仅出现一次。在一个实施例中,制造商或配销商提供了与UUID相关联的更新的设备简档,330。服务提供商重新计算哈希掩码的哈希参数,332,以及信任哈希值,334。对设备简档的更新可以是操作系统中或应用层中的随后应当包含在哈希掩码中的额外部件。因此,设备的许可变化的添加能够改变期望签名(哈希值)。哈希的范围能够改变以跨过更新的部件。
[0050] 服务提供商提供了重新计算的哈希参数,然后将重新计算的哈希参数注入设备的安全存储,336。一旦设备包括新的哈希参数,则其将需要重新配置服务。因此,在刷新哈希参数之后,设备提供商重新配置设备上的服务参数,338。
[0051] 因此,如本文中所描述的,信任哈希配置为首次配置和重新配置而提供。最新已知的完整状态能够作为由哈希签名的UUID由设备提供给服务提供商。通过HSTC函数来生成哈希,HSTC函数定义了哈希的范围,并且用SHIV函数来验证。将理解的是,应当存在在制造商或配销商304与服务提供商306之间安全地交换已知的信任哈希值的机制。然后,已知的信任哈希值能够与UUID耦合且配置到由制造商/配销商304和服务提供商306安全共享的安全数据库中。在对任何其构成要素有更新的情况下,已知的信任哈希值需要重新配置到数据库中。
[0052] 将理解的是,阶段342和344中的原始(首次)配置响应于配置事件或配置触发器而发生。类似地,重新配置事件或触发器能够引起重新配置。在一个实施例中,到哈希掩码或信任哈希值中的任一者或者两者的安全存储设备的安全存储将触发HSTC函数和SHIV函数。
[0053] 图4是能够使用信任配置的计算系统的实施例的框图。系统400代表了依照本文所描述的任意实施例的计算设备,并且可以是游戏或娱乐控制系统、扫描仪、复印机、打印机、机顶盒、DVR(数字视频记录仪)、智能仪表、销售点(PoS)、售卖机、ATM、工厂机器或其他电子设备上的计算设备。系统400包括处理器420,其提供对系统400的处理、操作管理和指令执行。处理器420可以包括任何类型的微处理器、中央处理单元(CPU)、处理核、或其他处理硬件,从而为系统400提供处理。处理器420控制系统400的总体操作,并且可以是或者可以包括一个或多个可编程通用或专用微处理器、数字信号处理器(DSP)、可编程控制器、专用集成电路(ASIC)、可编程逻辑器件(PLD)等等、或者这些设备的组合。
[0054] 存储器430代表系统400的主存储器,并且提供了待由处理器420执行的代码的临时存储,或者是在执行例程中使用的数据值的临时存储。存储器430包括一个或多个存储器设备,其可以包括只读存储器(ROM)、闪存、随机存取存储器(RAM)的一个或多个变体、或其他存储器设备、或这些设备的组合。除了别的之外,存储器430存储并掌控操作系统(OS)432,以提供系统400中执行指令的软件平台。另外,从存储器430存储并执行其他指令434,从而提供系统400的逻辑和处理。OS 432和指令434由处理器420执行。
[0055] 处理器420和存储器430与总线/总线系统410耦合。总线410是代表通过适当的桥、适配器和/或控制器连接的任意一个或多个单独的物理总线、通信线路/接口、和/或点对点连接的抽象。因此,总线410可以包括例如以下中的一个或多个:系统总线、外围设备互连(PCI)总线、超传输或工业标准体系结构(ISA)总线、小型计算机系统接口(SCSI)总线、通用串行总线(USB)、或电气电子工程师(IEEE)协会标准1394总线(通称为“火线”)。总线410的总线还能够对应于网络接口450中的接口。
[0056] 系统400还包括一个或多个输入/输出(I/O)接口440、网络接口450、一个或多个内部大容量存储设备460和与总线410耦合的外围接口470。I/O接口440可以包括一个或多个接口部件,通过这些接口部件用户与系统400交互(例如,视频、音频和/或字母数字接口)。网络接口450为系统400提供了通过一个或多个网络与远程设备(例如,服务器、其他计算设备)通信的能力。网络接口450可以包括以太网适配器、无线互连部件、USB(通用串行总线)、或其他基于有线或无线标准的或专用的接口。
[0057] 存储设备460可以是或者可以包括任何用于以非易失性方式存储大量数据的常规介质,诸如一个或多个磁盘、固态盘、或光盘或组合。存储设备460在持续状态下保存代码或指令和数据462(即,虽然系统400的电力中断,值也能被保留)。存储设备460一般可视为“存储器”,但是存储器430是为处理器420提供指令的执行或操作存储器。虽然存储设备460是非易失性的,但是存储器432可以包括易失性存储器(即,如果系统400的电力中断,则数据的值或状态是不确定的)。
[0058] 外围接口470可以包括在上文中未具体提到的任何硬件接口。外围设备一般是指依存地连接到系统400的设备。依存连接是系统400提供在其上执行操作以及与用户交互的软件和/或硬件平台的连接。
[0059] 在一个实施例中,系统400包括安全配置480。安全配置480包括安全环境,在安全环境中,能够确定哈希规模,并且能够验证安全哈希完整性。安全配置480包括TPM或其他信任安全存储器、以及存储在TPM中的信任哈希参数。在一个实施例中,安全配置480包括由验证的信任哈希参数签名以配置系统400通过服务提供商提供服务的UUID。
[0060] 如本文中图示的流程图提供了各种过程动作的序列的示例。虽然以特定序列或次序显示,但除非指出,否则能够调整动作的次序。因此,图示的实施例应当仅理解为示例,并且过程能够按不同的次序执行,一些动作能够并行地执行。另外,在各实施例中可以省略一个或多个动作;因此,不是在每个实施例中都需要所有的动作。其他的过程流是可能的。
[0061] 在本文中描述了各操作或功能的程度上,它们能够被描述或限定为软件代码、指令、配置和/或数据。内容能够直接执行(“对象”或“可执行”形式)、源代码、或差分代码(“德尔塔”或“修补”代码)。本文所描述的实施例的软件内容能够经由其中存储了内容的制品来提供,或者经由操作通信接口以经由通信接口发送数据的方法来提供。机器可读存储介质能够使机器执行所描述的功能或操作,并且包括任何存储为可由机器(例如,计算设备、电子系统等)访问的形式的信息的机构,诸如可记录/非可记录介质(例如,只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪存设备等)。通信接口包括任何与任意硬接线、无线、光等介质接口以与诸如存储器总线接口、处理器总线接口、因特网连接、磁盘控制器等的另一设备通信的机制。通过提供配置参数和/或发送信号以准备通信接口来提供描述软件内容的数据信号,能够配置通信接口。能够经由发送到通信接口的一个或多个命令或信号来访问通信接口。
[0062] 此处所描述的各部件可以是用于执行所描述的操作或功能的器件。此处所描述的每个部件包括软件、硬件或这些的组合。部件能够实现为软件模块、硬件模块、特殊用途的硬件(例如,专用硬件、专用集成电路(ASIC)、数字信号处理器(DSP)等)、嵌入式控制器、硬接线电路等。
[0063] 除了此处所描述的之外,可以在不偏离其范围的情况下对所公开的本发明的实施例和实现进行各种修改。因此,应当在示例的而非限制的意义上解释本文的图示和示例。本发明的范围仅应参照所附的权利要求书来衡量。