首页> 中国专利> 启动过程中的阶段性控制释放

启动过程中的阶段性控制释放

摘要

可以执行网络设备的完整性确认。包括安全硬件模块的网络设备可以接收根密钥。所述安全硬件模块还可以接收第一码字测量。所述安全硬件模块可以基于根密钥和第一码字测量提供第一密钥。所述安全硬件模块可以接收第二码字测量以及基于第一密钥和第二码字测量提供第二密钥。基于码字测量的密钥释放可以提供阶段性的认证。

著录项

  • 公开/公告号CN102844764A

    专利类型发明专利

  • 公开/公告日2012-12-26

    原文格式PDF

  • 申请/专利权人 交互数字专利控股公司;

    申请/专利号CN201180018789.8

  • 发明设计人 I·查;Y·C·沙阿;L·凯斯;

    申请日2011-04-12

  • 分类号G06F21/00;

  • 代理机构北京润平知识产权代理有限公司;

  • 代理人南毅宁

  • 地址 美国特拉华州

  • 入库时间 2023-12-18 07:51:02

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-29

    未缴年费专利权终止 IPC(主分类):G06F21/57 授权公告日:20151216 终止日期:20180412 申请日:20110412

    专利权的终止

  • 2015-12-16

    授权

    授权

  • 2013-02-13

    实质审查的生效 IPC(主分类):G06F21/00 申请日:20110412

    实质审查的生效

  • 2012-12-26

    公开

    公开

说明书

相关申请的交叉引用

本申请要求于2010年4月12日提交的申请号为61/323,248、2010年6 月22日提交的申请号为61/357,474的美国临时专利申请的优先权,这些申 请的内容通过引用而被视为在此完全加入。

背景技术

传统的安全方法可以允许对资源释放进行二元决策,例如基于复位之后 的成功安全启动的用于认证的单一密钥。如果没有发生复位之后的成功安全 启动,则可能会发生问题。

发明内容

公开了一种系统、方法和工具(instrumentality)来执行网络设备的完整 性确认(validation)。网络设备可以包括安全存储器。例如,安全存储器可 以包含在安全硬件模块中。安全存储器可以接收根密钥。例如,根密钥可以 在制造或供应时被安全存储器接收。根密钥可以存储在安全存储器上,并且 其对于安全硬件模块之外软件和硬件是不可见的。

所述安全硬件模块可以接收第一码字测量(对第一码字的测量)。例如, 处理器(比如与包括安全硬件模块的网络设备相关联的处理器)可以选择码 字的第一部分来测量。码字的第一部分可以被存储在与网络设备相关联的存 储器上,例如ROM存储器、RAM存储器等等。所述处理器可以测量选择 的码字的第一部分,得到第一码字测量。所述处理器可以提供该测量给安全 硬件模块。

所述安全硬件模块可以基于根密钥和第一码字测量生成第一密钥。例 如,该安全硬件模块可以得到或释放第一密钥。当第一码字测量有效时,生 成的第一密钥有效,当第一码字测量无效时,生成的第一密钥无效。例如, 该安全硬件模块可以部分基于第一码字测量得到第一密钥。如果第一码字测 量无效,则得到的第一密钥也无效。所生成的第一密钥由该安全硬件模块生 成以便提供到资源的接入。当码字存储在所述安全存储器上时,可以在没有 码字测量的情况下提供到资源的接入。

所述第一密钥可以与和第一功能相关联的信任(trust)的第一阶段相关 (例如,一个或多个资源可以与第一功能相关联)。进一步地,第一利益相 关方(stakeholder)可以使用该有效的第一密钥来接入该第一功能。如果该 第一密钥无效,则所述第一利益相关方不可以接入该第一功能。这就是说, 当第一码字测量无效时,所述安全硬件模块可以阻止对第一功能的接入。

所述安全硬件模块可以接收第二码字测量(对第二码字的测量)。该安 全硬件模块可以基于第一密钥和第二码字测量生成第二密钥。该第二密钥可 以与和第二功能相关联的信任的第二阶段相关(例如,一个或多个资源可以 与第二功能相关联)。进一步地,第二利益相关方可以使用有效的第二密钥 来接入第二功能。密钥释放可以被限制在最后已知的好的启动阶段(例如, 最后已知的具有成功认证的启动阶段)。

资源(比如密钥和基于硬件、码字、和/或数据的完整性测量的功能) 的生成和/或释放可以阶段性地提供认证。例如,设备可以包括若干层,每个 层有其自己的认证秘密。每个认证秘密可以对应在设备能力(比如制造商固 件、可信的执行代码、操作系统和第三方应用)的层中的特殊的利益相关方。 进一步例如,有效的第一密钥可以与对第一启动阶段的有效认证相关联。该 有效第一密钥可以被设备制造商(例如,第一利益相关方)使用来接入网络 设备上的固件,以在该固件上执行修复。有效的第二密钥可以与在随后的启 动阶段(例如,中间的启动阶段)期间对一个或多个软件组件的有效认证相 关联。该有效的第二密钥可以被设备管理者(例如,第二利益相关方)使用 来接入所述软件组件,例如来执行该软件的修复。通过对已成功认证的各阶 段提供有效密钥,接入可以被许可,其与最后没有认证失败的阶段相当。

本申请公开的多阶段认证的阶段数目可以变化并且不受限制。进一步 地,可以提供多个认证途径。这就是说,在完整性校验的某个阶段,认证可 以以不同的方式进行分支(branch)。例如,每个利益相关方可以提供与一个 或多个认证阶段相关的一个或多个策略。在每个阶段,认证可以基于利益相 关方的策略以不同的方式分支。利益相关方能够在外部管理其策略。

附图说明

从以下描述中可以更详细地理解本发明,下面的描述是以实例结合附图 的形式给出的。

图1是示例的长期演进(LTE)无线通信系统图。

图2是示例的LTE无线通信系统框图。

图3示出了具有设备确认和设备认证之间的绑定的示例设备。

图4示出了使用公共可信环境(TrE)认证和完整性校验之间的示例物 理绑定。

图5示出了确认和基于预共享秘密的设备认证之间的绑定的示例。

图6示出了确认和基于预共享密钥的认证的示例。

图7示出了由TrE许可条件接入导致的绑定的示例。

图8示出了确认和基于证明的设备认证之间的绑定的示例。

图9示出了确认和基于证明的认证的绑定的示例。

图10示出了由TrE许可条件接入导致的绑定的示例。

图11示出了使用门控(gating)功能的绑定的示例。

图12示出了在示例启动进程相关的多个阶段中进行认证的示例。

图13A示出了可以用来实现公开的系统和方法的实施方式的示例芯片。

图13B示出了可以用来实现公开的系统和方法的实施方式的示例芯片。

图13C示出了可以用来实现公开的系统和方法的实施方式的示例芯片。

图14示出了示例的密钥导出(derivation)功能。

图15示出了示例的密钥导出细节,包括签名机制。

图16示出了示例的多阶段密钥导出细节。

图17示出了示例的启动序列。

图18示出了示例的启动序列流。

图19示出了与多阶段认证相关的示例网络通信。

图20示出了示例的启动和启动后配置过程。

图21示出了可以用来实现公开的系统和方法的实施方式的示例芯片。

图22示出了将完整性校验进程扩展到UE通信的示例。

具体实施方式

附图可能涉及示例的实施方式,其中公开的系统、方法以及工具可以被 实现。然而,虽然本发明与示例实施方式一起描述,但是本发明不限于此, 以及应该理解的是,可以使用其他的实施方式或者在所描述的实施方式中做 些修改和补充,从而不偏离地执行与本发明相同的功能。一些公开的系统和 方法可以提供多级安全认证。虽然描述一般参照无线设备和网络,但所公开 的系统、方法和工具不仅限于本申请,并且可适用于能够实现所公开的认证 的任何适当的设备、网络和/或系统。进一步地,下文公开的多阶段认证可以 描述与启动阶段的活动相关的多阶段认证。然而,描述是为了说明,并且所 公开的系统、方法和工具不限于启动阶段的实现。多阶段认证,可以广泛适 用于在任何适当的多阶段过程中实现。

当在下文中提及时,术语“无线发射/接收单元(WTRU)”包括但不局 限于用户设备(UE)、移动站、高级移动站(AMS)、站(STA)、固定或移 动用户单元、传呼机、蜂窝电话、个人数字助理(PDA)、计算机、或能在 无线环境中运行的任何其它类型的设备。术语WTRU和UE可以互换使用。 当在下文中提及时,术语“基站”包括但不局限于节点-B、高级基站(ABS)、 站点控制器、接入点(AP)、家庭节点B(HnB)或能在无线环境中运行的 任何其它类型的接口设备。术语“WTRU”和“基站”不互斥。

图1是长期演进(LTE)无线通信系统/接入网络100的示例图,其包括 演进型通用陆地无线电接入网络(E-UTRAN)105。EUTRAN 105可以包括 多个E-UTRAN节点B(eNB)120、家庭eNB(HeNB)122和HeNB网关 (HeNB GW)132。WTRU 110可以与eNB 120、HeNB 122或与二者都进行 通信。eNB 120可以使用X2接口与其他eNB之间接口。每个eNB 120和 HeNB GW 132可以通过S1接口与移动性管理实体(MME)/服务网关 (S-GW)130对接。HeNB 122可以通过S1接口与HeNB GW 132接口,通 过S1接口与MME/S-GW 130对接,或者与二者都对接。虽然图1中只示出 了一个WTRU 110、一个HeNB和三个eNB 120,但很明显的是,无线和有 线设备的任何组合可以被包括在该无线通信系统/接入网络100中。

图2是LTE无线通信系统200的示例框图,其包括WTRU 110、eNB 120 以及MME/SGW 130。虽然eNB 120和MME/S-GW 130简单地示出,但很 明显的是,HeNB 122和HeNB GW 132的示例可以包括实质上相似的特征。 如图2所示,WTRU 110、eNB 120和MME/S-GW 130可以被配置成支持移 动引发的节能模式。

除了在典型的WTRU中可以找到的组件外,WTRU 110还可以包括带 有可选链接存储器222的处理器216、至少一个收发信机214、可选电池220 以及天线218。处理器216可以被配置成执行带宽管理。收发信机214可以 与处理器216和天线218通信以促进无线通信的发送和接收。可选电池220 可以被用在WTRU 110中给收发信机214和处理器216供电。

除了在典型的eNB中可以找到的组件外,eNB 120还可以包括带有可选 链接存储器215的处理器217、收发信机219以及天线221。处理器217可 以被配置成执行带宽管理。收发信机219可以与处理器217和天线221通信 以促进无线通信的发送和接收。eNB 120可以连接在移动性管理实体/服务网 关(MME/S-GW)130上,其可以包括带有可选链接存储器234的处理器233。

图1和2示出的LTE网络只是特殊的通信网络的一个例子,还可以使用 其他类型的通信网络。多样的实施方式可以在任何无线通信技术中实现。一 些无线通信技术的实例类型包括但不限于全球互通微波接入(WiMAX)、 802.xx、全球移动通信系统(GSM)、码分多址(CDMA2000)、通用移动电 信系统(UMTS)或任何未来技术。

当在下文中提及时,术语“宏小区”包括但不限于基站、E-UTRAN节 点B(eNB)或能够在无线环境中运行的任何其他类型的接口设备。当在下 文中提及时,术语“家庭节点B(HNB)”包括但不限于基站、家庭演进型 节点B(HeNB)、毫微微蜂窝或能够在封闭的用户群无线环境中运行的任何 其他类型的接口设备。

为达到解释的目的,在长期演进(LTE)语境中描述了多种实施方式, 但这些实施方式也可以在任何无线通信技术中实现。一些无线通信技术的实 例类型包括但不限于全球互通微波接入(WiMAX)、802.xx、全球移动通信 系统(GSM)、码分多址(CDMA2000)、通用移动电信系统(UMTS)或任 何未来技术。

术语客户端和设备(device)可以被同义使用。另外,术语“设备完整 性确认”、“设备确认”以及“确认”也可以被同义使用。“确认”可以是检 验共同构成通信或计算设备的部分或全部组件的完整性的进程。部分或全部 组件可以是,例如,硬件(HW)、软件(SW)、固件(FW)和/或配置数据。 设备认证可以是指通信或计算设备的身份被验证方检验其真实性的过程。

在H(e)NB的语境中,可以执行绑定的过程,例如将H(e)NB的设备完 整性确认的结果与设备认证的过程或结果进行绑定。有多种方式可以用来执 行设备确认和设备认证之间的绑定。

虽然应用于设备完整性确认和设备认证的绑定方法的示例是用于3GPP H(e)NB的,但可以理解的是,这些方法可以应用于需要设备完整性确认和 设备认证的任何其他通信或应用设备。

在H(e)NB中典型的设备认证过程可能局限于验证包含在可信环境 (TrE)中的AKA证书(credential)。这些过程可能不会解决设备认证或确 认,以及/或者将主机(hosting party)认证绑定到设备认证的可能性。

可以执行经过确认的设备与设备认证的进程和/或结果之间的绑定。可 以执行两种类型的绑定。在逻辑绑定中,可以声明和验证用在或用于设备确 认进程中的逻辑实体(或多个逻辑实体或进程或数据)和用于设备认证进程 的逻辑实体(或多个逻辑实体或进程或数据)之间的逻辑对应关系。在物理 绑定中,用在或用于设备确认进程的特定物理实体(比如物理TrE和/或其拥 有的特定秘密或密钥)可以与用在或用于设备认证进程的物理实体(比喻应 用软件文件或数据或密钥)有直接的对应关系。

图3示出了表示为设备功能的两种不同类型的绑定。在两个示例中,实 际的设备完整性确认过程可以由可信实体执行,例如安全地嵌入设备中的基 于硬件的安全环境。在H(e)NB语境中,比如可信实体可以指H(e)NB的TrE。 图4是使用公共TrE绑定机制的图,其执行1)设备的完整性校验和2)设 备认证的严格或敏感功能。

在图4中,安全和可信的TrE可以位于通信或计算设备中。TrE可以执 行一个或多个以下的功能。设备完整性校验,比如设备完整性确认其中这种 确认可以在设备上本地执行。TrE可以包括图4的接口(1)以及接入和使用 用于确认的证书的能力,其存储在TrE中或由TrE存储。TrE可以确保请求 安全处理的设备认证进程的部分的安全,其包括图4的接口(3)和接入和 使用秘密证书来进行设备认证的能力,其存储在TrE中或由TrE存储。其他 能力可以包括执行安全处理来支持位于TrE之外的请求安全敏感处理的应 用。这些应用可以接入或使用它们自己的秘密证书(图4中未示出)。TrE 可以包括到位于TrE之外的设备功能/应用的接口。例如包括但不局限于图4 中的用于在设备上进行设备认证处理的接口(2)和/或图4中的用于来自TrE 内部请求安全处理的其他非认证应用接口(5)。

另外,设备的非TrE部分可以执行一个或多个下列类型的功能。一个功 能可以是设备认证功能的非安全部分。另一个功能可以用于不需要从TrE请 求安全处理的应用。另一个功能可以用于(除了设备认证)需要从TrE请求 安全处理的应用。设备的非TrE部分可以支持接口,包括图4的用于设备认 证、设备能力(d)和/或基于网络的AAA服务器(g)之间消息交换的接口 (4)。图4的接口(6)可以用于针对请求来自设备侧的TrE内的安全处理 的功能的消息交换。图4的接口(7)可以用于针对不请求来自设备侧的TrE 内的安全处理的功能的消息交换。用于设备认证的证书和用于设备完整性确 认的证书可以不相同。然而,这些证书可以被配置成互相绑定。

图4是可以在H(e)NB中使用物理绑定的设备示例。例如,通过使用TrE 进行确认和设备认证可以执行物理绑定。在H(e)NB中,例如,TrE可以被 设计成执行设备确认所需的全部进程。这些进程可以包括需要对设备认证所 需的进程进行最安全或最可信处理的进程的至少一部分或者整个过程本身。 举例来讲,如果设备认证协议被设计成使用基于预共享密钥的方式,比如 EAP-AKA,则持有AKA证书的TrE以及H(e)NB可以被进一步互相绑定。 例如,H(e)NB可以对计算用于设备认证的AKA证书所需的数据进行加密, 使得在传送数据到TrE之前将解密限制于TrE。TrE可以安全地存储解密该 数据所需的密钥。另外,通过结合公共安全协议(比如IKEv2)的同一会话 中的关于设备确认和设备认证的信息,可以得到进一步的绑定。在这种情况 下,适于这种绑定的设备确认可以使得:在H(e)NB(以及它的TrE)和网络 实体之间需要某种互动和消息交换。

如前文所述,逻辑绑定是可以被用于设备确认和认证的另一种类型的绑 定。逻辑绑定的示例可以是使用相同的分组、消息、会话或相同或公共通信 协议消息的连续会话来执行为了设备确认和设备认证的目的而需要被转移 出设备的消息。应该注意的是,物理绑定方法和逻辑绑定方法可以被互相结 合使用。

设备确认可以被绑定于基于预共享秘密的客户端认证。

可以执行H(e)NB的设备确认,以便以下列物理和/或逻辑绑定机制中的 一个或任何结合的方式绑定到基于预共享密钥的认证。通过使用用于可信环 境(TrE)和其余的H(e)NB之间的消息交换的加密密钥和证书将TrE物理绑 定到H(e)NB,至少可以在TrE和H(e)NB内部保护该密钥和证书。这可以为 了设备认证而应用于TrE和H(e)NB之间的消息交换。

参考图5,TrE可以先校验H(e)NB的完整性。如果成功,可以进行到图 5的连线(2);如果不成功,TrE不能进行到连线(2),反而会锁定功能, 其可能包括H(e)NB的设备认证功能。为了校验H(e)NB的完整性,TrE可以 使用存储在TrE中的设备确认证书(参见图5中的连线(1))。

在连线(2),可以对TrE装备密钥对,该密钥对的私有部分安全地存储 在TrE内,其公共部分则对H(e)NB是可用的。H(e)NB的制造者可以生成该 密钥对,并且提供使公共密钥对H(e)NB可用所需的证明(certificate)。TrE 的设备确认功能可以使用TrE私有密钥来对消息进行签名(图5的连线(2) 所示),以向TrE之外的设备认证功能指示以下中的一个或多个,例如:TrE 的ID、指示TrE已经成功验证了其余H(e)NB的完整性的消息、和/或指示 TrE授权设备认证功能已经可以被授权进行设备认证过程的授权数据。TrE 私有密钥可以被用于对该授权消息进行签名。通过H(e)NB设备上的设备认 证功能,该授权消息可以授权对TrE的一些安全处理能力进行使用。

经过签名的消息从TrE传递到TrE之外的设备认证功能可以被图5的连 线(3)阐释。H(e)NB可以使用以上的连线(2)中描述的可能需要验证签 名的TrE的公共密钥。公共密钥可以是在证明中预先提供的,也可以是在使 用之前才对设备认证功能可用的。公共密钥的使用可以由图5的连线(4) 阐释。

设备认证功能可以使用用于TrE之内的设备认证的安全处理能力,后者 执行可能是设备认证过程所需的安全敏感功能。用于请求和获得该服务的接 口在图5的连线(5)中阐释。用于设备认证的安全处理能力可以使用预先 存储在TrE中的秘密设备认证证书来计算设备认证功能可能需要发送给 AAA服务器的数据,以使AAA服务器对H(e)NB设备授权。这可以在图5 的连线(6)中阐释。

设备认证功能可以与AAA服务器交换数据,其中包括从由TrE提供的 用于设备认证的安全处理能力中计算的数据,使得AAA服务器可以认证 H(e)NB设备的身份。这可以由图5的连线(7)阐释。该功能可以在合适的 消息交换协议中进行。例如,在H(e)NB中,可以考虑诸如IKEv2、TLS、 TR069(应用层协议)、OMA-DM协议、或更高层的协议(比如HTTPS)的 协议。应该注意的是,设备认证功能可以自身执行安全敏感功能。

通过使H(e)NB和TrE使用相同的分组或相同的消息共同执行设备确认 过程和认证过程的指定部分,可以对确认和设备认证进行绑定。这可以在公 共通信会话或公共安全协议的连续会话中执行。该协议的示例可以包括 IKEv2协议、TLS、TR069、OMA-DM和HTTPS。该协议可以使用基于预 共享秘密的协议、基于非对称密钥的协议、基于对称密钥的协议等。

图6是这种绑定机制的示例,其中确认数据和部分认证数据可以在相同 的协议/会话/消息中发送。在图6中,连线(1)示出了TrE内的设备确认功 能(DVF)可以使用设备确认证书来执行必要的设备完整性校验,以验证 H(e)NB组件的完整性是否得到维持。注意到DVF可以使用TrE的加密能力 (TCC)所提供的功能来执行一些设备完整性校验和验证所需的功能。该关 系可以由图6的点线(A)阐释。

一段时间后,H(e)NB之内的设备认证功能(DAF)可以执行过程,比 如Diffie-Hellmann(D-H)过程,来建立用于它自身和外部AAA服务器之 间的加密和签名的未认证共享密钥。由连线(7-a)阐释的该步骤,可以是设 备认证的先驱步骤,并且可以建立非认证加密密钥,以在将遵循的设备认证 消息协议中使用。注意到DAF可以取决于TrE的加密能力(TCC)来执行 D-H过程需要的一些临时(interim)步骤。点线(C)可以是DAF和TCC 之间的接口,DAF可以使用该接口来从TCC请求和获得加密服务。

DAF可以通过发送Dev_Auth_Init_Request消息给AAA服务器来发起设 备认证过程。例如,如果使用IKEv2协议,则该消息可以在IKE_SA_INIT 请求消息中承载。在该Dev_Auth_Init_Request消息中,DAF可以包括报头 (HDR)、能够向AAA服务器提供例如安全参数索引(SPI)等的安全关联 (SA)、由D-H进程生成的服务器的公共密钥KE_DH、和/或设备自身的ID  Dev_ID。该步骤在图6的连线(7-b)中阐释。

AAA服务器可以向设备的DAF发送Dev_Auth_Init_Response(如果使 用IKEv2协议则是IKE_SA_INIT响应消息)。该消息可以包括信息元素比如 头(HDR)、由D-H进程生成的设备公共密钥KE_DH、以及服务器自身的 ID Syr_ID。该步骤在图6的连线(7-c)中阐释。

DAF可以在Dev_Auth_Request消息(如果选择IKEv2协议则是 IKE_AUTH请求消息)中向AAA服务器发送元素,比如报头、SA、Dev_ID、 配置(CONFIG)、和/或可选的服务器证明请求(Svr_Cer_REQ),如图6的 连线(7-d)所示。注意到,从这里开始,一些信息元素可以被D-H进程所 生成的密钥的加密和签名保护。例如Dev_ID、Session_ID、CONFIG和可选 的服务器证明请求都可以通过使用D-H进程生成的密钥而对机密性和完整 性进行保护。注意到DAF可以使用TrE的加密能力(TCC)来执行使用D-H 生成的密钥的加密和签名。该关系可以在图6的连线(B)中阐释。

AAA服务器可以向DAF发送Dev_Auth_Response消息(如果使用IKEv2 协议则是IKE_AUTH响应消息),包括比如报头、Syr_ID、Session_ID、以 及可选的服务器证明(Svr_Crt)(如果DAF有请求的话)、基于H(e)NB和 AAA服务器之间的共享认证秘密(图6中存储在TrE中)的认证挑战 (Auth-Challenge)。这在图6的连线(7-e)中阐释。

DAF可以向AAA服务器发送Dev_Auth_Request消息(如果使用IKEv2 协议则是IKE_AUTH请求消息),该消息可以包括,比如报头、Dev_ID、 Session_ID、Authentication-Challenge响应(AUTH)和/或确认数据 (Validation_Data)。这在图6的连线(7-f)中阐释。注意到,DAF可以依 靠TrE中的用于设备认证的安全处理能力(SPC_DA)来计算和转发AUTH, 如图6的连线(3)所示。注意到SPC_DA可以使用存储在TrE中的预共享 的认证秘密证书来计算AUTH,如图6的连线(4)所示。另外,SPC_DA 可以依靠TrE的加密能力(TCC)(参见点线(C))。注意到,SPC可以计算 AUTH。设备确认功能(DVF)也可以在转发Validation_Data给DAF之前使 用TrE私有密钥对Validation_Data以及任何其他相关的补充数据进行签名, 如图6的连线(5)所示。DVF和TrE私有密钥之间的接口可以被用来在将 其转发给DAF之前对确认数据进行签名,如连线(2)所示。在该实例中, 除了使用公共TrE和其资产来执行确认和设备认证(或者其一些要求安全的 部分)的物理绑定之外,另一个逻辑绑定机制也可以被使用。相同的协议, 相同的会话,以及相同的消息可以被用来发送关于从设备到AAA服务器的 设备确认(即,Validation_Data)和设备认证(即,AUTH)两者的结果的信 息元素。

AAA在从刚才的Dev_Auth_Request消息(见图6)中接收和估计AUTH 参数和Validation_Data之后,可以发送Dev_Auth_Response消息来向设备的 DAF指示AAA服务器接入认证成功与否。这在图6的连线(7-g)中阐释。

在绑定的机制中,TrE可以向DAF或SPC_DA控制和释放到敏感功能 或敏感数据的接入,该敏感功能或敏感数据是计算认证的成功完成的必要输 出所需的,这可以以首先成功完成的设备确认过程为条件,以使得接入能够 被允许。这种类型的绑定机制既可以被认为是物理绑定机制也可以被认为是 逻辑绑定机制。图7是这种绑定机制的示例图。

参考图7,根据允许接入到TrE持有的一些功能或数据,DVF可以执行 两种类型的门控(gating)过程。门控过程可以取决于设备完整性确认结果 的状态。如果设备完整性确认结果不成功,DVF可以阻止DAF接入TrE中 的SPC_DA,如图7的连线(A:门控)所示。DVF可以阻止SPC_DA接入 执行到AAA服务器的成功认证所需的设备认证证书。这种类型的门控功能 可以提供设备确认和设备认证之间的其他类型的逻辑绑定。

设备确认可以绑定到认证,比如基于证明的设备认证。

H(e)NB的设备确认可以被绑定到基于证明的客户端上并且可以使用上 文描述类似机制取得认证。一些可能的机制描述如下。图8是使用物理绑定 的示例图,公共TrE可以执行设备完整性校验和确认,也可以执行设备认证 要求的一些或全部功能。例如,这些功能可以基于设备证明。过程可以与图 5描述的相同,除了被针对设备认证的安全处理能力(SPC_DA)用于设备 认证的证书可以是用于设备认证的私有密钥(Kpriv_DA),以及设备认证功 能(DAF)可以向AAA服务器发送设备证明(DevCert)和一些其他的由 Kpriv_DA计算的材料。

参考图8,密钥接入和对SPC_DA和Kpriv_DA之间的关系使用如连线 (6)所示。证明接入和DAF和DevCert之间的关系使用如连线(8)所示。

H(e)NB和TrE可以在公共通信会话或公共安全协议(比如IKEv2协议) 的连续会话中在相同的分组、消息中共同执行设备确认过程和基于证明的客 户端认证过程的指定部分。有效地,该绑定机制的进程可以与图6描述的相 似。再参考图6,与使用基于预共享秘密的设备认证的情况相比,其不同点 可以如下所述。SPC_DA可以从基于来自AAA服务器的AUTH挑战的AUTH 挑战以及Kpriv_DA计算敏感临时结果,而不是基于来自AAA服务器的 AUTH挑战和TrE持有的预共享秘密(以及SPC_DA使用该与共享密钥计算 和转发计算结果给DAF)来计算所述敏感临时结果。AAA服务器可以向DAF 请求设备认证证明(DevCert)。在响应中,与SPC_DA共同工作的DAF, 可以向AAA服务器计算和转发:1)认证响应(AUTH)(使用Kpriv_DA), 和/或2)DevCert。在接收到AUTH和DevCert后,AAA服务器可以首先验 证DevCert的有效性,然后可以使用它来验证AUTH。如果校验了验证结果, 则其已经认证过所述设备。

尽管有不同,就具逻辑绑定来说,可以按照与基于预共享秘密的认证中 的情况相似的方式来执行逻辑绑定。例如,DAF可以将AUTH和DevCert 转发到AAA服务器,也可以在同一消息中包括Validation_Data。该 Validation_Message可从TrE内部的DVF得到,以及可以由DVF通过使用 TrE私有密钥来签名。

图9是一个绑定机制的示例图。在这个示例中,没有从AAA服务器到 设备的认证挑战。相反,在服务器请求设备发送其证明DevCert(见连线(7-c)) 之后,该设备可以发送其DevCert和AUTH(从Kpriv_DA计算得到)到AAA 服务器,如连线(7-d)所示。AAA服务器可以将AUTH与DevCert进行验 证,并发送认证状态的确认(7-e)。

绑定的门控类型可以在基于证明的认证中实施。这个示例与基于预共享 秘密的认证示例类似。图10是该绑定机制的示例图。参考图10,DVF通过 允许接入到TrE持有的一些功能和数据可以执行两种类型的门控过程,取决 于设备完整性确认结果的状态。

如果设备完整性确认结果是不成功,则DVF可以阻止DAF接入TrE中 的SPC_DA,如图10的连线(A:门控)所示。可替换的,DVF可以阻止 SPC_DA接入需要执行到AAA服务器的成功认证的Kpriv_DA。这些类型的 门控功能可以提供设备确认和设备认证之间的另一种类型的逻辑绑定。

提供了设备完整性确认和其他本质设备功能之间的广义的绑定。

设备完整性确认和设备认证之间的绑定的概念,如上文所述,通常可以 意味着设备完整性确认的进程、输入和/或使用的中间数据、和/或结果可以 “门控”认证过程或进程。

可以根据两个方面来一般化绑定的概念:可以实施绑定的设备的类型, 以及可以绑定到设备完整性确认的进程的设备功能。在最一般意义上,如果 存在设备D有能力去校验、报告、和/或验证其自身的设备完整性(通过其 自身,或通过与外部实体和/或能力执行交互进程以执行被认为是该设备的本 质功能的至少一个功能X),则通常认为可以实施绑定。本质的功能可以是, 如果没有执行它的意图,则在正常、有用的意义上讲,设备X不会被认为是 可操作的。设备(比如移动电话)的本质功能的示例,可以包括以下中的一 个或多个:发送遇险报警的能力、用户认证(到网络)、设备认证、核心应 用、通信栈执行、用户认证(到设备)、设备管理功能、无线信号传输或接 收、或设备的供电和管理功能。

绑定可能被定义以及实施为一个过程,在该过程中,设备完整性确认进 程的数据D_V、过程P_V或结果R_V可以向本质功能X的成功运转指示 D_V、P_V和/或R_V之间唯一的并且难以或不可能伪造或克隆的关系。绑 定机制的三种在前面的章节中描述的类型可以再次被应用。由于共享存在和 加密手段带来的绑定,由于使用相同或连续的通信协议分组、消息、一个或 多个会话带来的绑定,和/或由于门控或到数据D_X或过程P_X的条件接入 所带来的绑定,其中所述数据D_X或过程P_X对本质功能X的成功运转来 讲是本质的,该功能X成功运转是建立在对设备D成功确认的条件上的。

图11是第二类性的绑定(即,绑定的门控类型)可以在确认过程(DVF) 和设备上的功能(X)之间使用的示例图。TrE在其内可以有用于功能X的 安全处理能力(SPC_X),以及功能X所需的敏感数据(SD_X)。该DVF 也可以自身对设备上的功能(X)、以及该功能所需的设备的非TrE部分上的 任何数据(D_X)、嵌入在或连接到设备D的组件/模块上的功能(X_EC)、 以及基于网络的功能(X_N)和它可使用的数据(D_X_N)进行门控。

图11显示了多种类型的门控(A至G),其中根据设备的完整性确认的 结果,DVF可以门控到下列各项的接入:A)安全处理能力SPC_X,和/或B) 功能SPC_X可能需要的在TrE中的敏感数据SD_X,和/或C)可能在TrE 内部或外部的设备上的任何功能X,和/或D)可能在TrE内部或外部的且功 能X需要的设备上的任何数据,和/或E)在设备的嵌入式组件(例如,SoC) 上或在连接到设备的独立模块(例如,UICC)上的任何功能X_EC,和/或F) 由外部实体(例如,来自网络)执行的任何功能X_N,和/或G)任何这样 的外部功能X_N所需要的任何数据D_X_N。

需要注意的是,过程X的例子可以将下列功能包括为通信功能:例如, 无线电和基带传输和接收、设备功率管理(包括开/关)、用户界面、媒体处 理器功能、GPS以及其他定位功能、定时器和定时同步功能,以及以下通信 功能,比如WLAN、蓝牙、蜂窝通讯、诸如网络功能之类的高层应用、单一 登录和识别联合和管理功能、诸如编解码功能之类的语音和其他媒体功能、 游戏功能、以及用于它们的安全过程(比如订户认证、设备认证、申请授权、 包括加密/解密以及签名和签名验证的加密操作)、以及设备的任何其他功能。

SPC_X可以包括但不局限于加密加(解)密、签名生成或验证、随机数 生成或使用、定时同步和时间戳、消息认证码生成和验证、加密密钥的生成、 导出、或管理(包括反对(deprecation)或隔离)、证明验证以及TrE认证需 要的秘密材料的计算、设备的用户、设备本身、或订户和/或设备的拥有者或 授权者。

功能X_EC的示例可以包括但不局限于数据存储和处理功能、认证功能、 密钥生成和使用、加(解)密、签名生成和验证、配置管理等。

功能X_N的示例可以包括但不局限于数据存储和处理功能、网络对任 务提供的应用(比如设备管理、供应、高层应用(比如网络接入等)、DRM、 语音和多媒体服务和游戏功能、设备管理服务、通信服务、单一登录和识别 联合和管理等)。

门控过程可以分级(cascade)执行。即,DVF可以门控到一个应用的 接入,其中该应用可以门控到另一个应用或数据等的接入。DVF可以门控多 个过程或数据,这些中的一些或全部可以具有因果或对应关系。

虽然本发明的特征和元素以特定的结合进行了描述,但每个特征或元素 可以在没有其它特征和元素的情况下单独使用,或在与或不与其它特征和元 素结合的各种情况下使用。此处提供的方法或流程图可以在由通用计算机或 处理器执行的计算机程序、软件或固件中实施,其中所述计算机程序、软件 或固件是以有形的方式包含在计算机可读存储介质中的。计算机可读存储介 质的实例包括只读存储器(ROM)、随机接入存储器(RAM)、寄存器、缓 冲存储器、半导体存储设备、诸如内部硬盘和可移动磁盘之类的磁性介质、 磁光介质和如CD-ROM光盘和数字多功能光盘(DVD)之类的光介质。

举例来说,恰当的处理器包括:通用处理器、专用处理器、常规处理器、 数字信号处理器(DSP)、多个微处理器、与DSP内核相关的一个或多个微 处理器、控制器、微控制器、专用集成电路(ASIC)、现场可编程门阵列 (FPGA)电路、任何其他类型的集成电路(IC)和/或状态机。

与软件相关联的处理器可以用于实现一个射频收发信机,以便用在无线 发射接收单元(WTRU)、用户设备(UE)、终端、基站、无线电网络控制器 (RNC)或者任何主机计算机中。WTRU可以与采用硬件和/或软件形式实 施的模块结合使用,例如照相机、摄像机模块、可视电话、扬声器电话、振 动设备、扬声器、麦克风、电视收发器、免提耳机、键盘、蓝牙模块、调 频(FM)无线单元、液晶显示器(LCD)显示单元、有机发光二极管(OLED) 显示单元、数字音乐播放器、媒体播放器、视频游戏机模块、互联网浏览器 和/或任何无线局域网(WLAN)或超宽带(UWB)模块。

公开了一种系统、方法和工具(instrumentality)来执行网络设备的完整 性确认(validation)。网络设备可以包括安全存储器。例如,安全存储器可 以包含在安全硬件模块中。安全存储器可以接收根密钥。例如,根密钥可以 在制造或供应时被安全存储器接收。根密钥可以保存在安全存储器上,并且 其对于安全硬件模块之外软件和硬件是不可见的。

所述安全硬件模块可以接收第一码字测量(对第一码字的测量)。例如, 处理器(比如与包括安全硬件模块的网络设备相关联的处理器)可以选择码 字的第一部分来测量。码字的第一部分可以被保存在与网络设备相关联的存 储器上,例如ROM存储器、RAM存储器等等。所述处理器可以测量选择 的码字的第一部分,得到第一码字测量。所述处理器可以提供该测量给安全 硬件模块。

所述安全硬件模块可以基于根密钥和第一码字测量生成第一密钥。例 如,该安全硬件模块可以得到或释放第一密钥。当第一码字测量有效时,生 成的第一密钥有效,当第一码字测量无效时,生成的第一密钥无效。例如, 该安全硬件模块可以部分基于第一码字测量得到第一密钥。如果第一码字测 量无效,则得到的第一密钥也无效。所生成的第一密钥由该安全硬件模块生 成以便提供到资源的接入。当码字存储在所述安全存储器上时,可以在没有 码字测量的情况下提供到资源的接入。

所述第一密钥可以与和第一功能相关联的信任(trust)的第一阶段相关 (例如,一个或多个资源可以与第一功能相关联)。进一步地,第一利益相 关方(stakeholder)可以使用该有效的第一密钥来接入该第一功能。如果该 第一密钥无效,则所述第一利益相关方不可以接入该第一功能。这就是说, 当第一码字测量无效时,所述安全硬件模块可以阻止对第一功能的接入。

所述安全硬件模块可以接收第二码字测量(对第二码字的测量)。该安 全硬件模块可以基于第一密钥和第二码字测量生成第二密钥。该第二密钥可 以与和第二功能相关联的信任的第二阶段相关(例如,一个或多个资源可以 与第二功能相关联)。进一步地,第二利益相关方可以使用有效的第二密钥 来接入第二功能。密钥释放可以被限制在最后已知的好的启动阶段(例如, 最后已知的具有成功认证的启动阶段)。

资源(比如密钥和基于硬件、码字、和/或数据的完整性测量的功能) 的生成和/或释放可以阶段性地提供认证。例如,设备可以包括若干层,每个 层有其自己的认证秘密。每个认证秘密可以对应在设备能力(比如制造商固 件、可信的执行代码、操作系统和第三方应用)的层中的特殊的利益相关方。 进一步例如,有效的第一密钥可以与对第一启动阶段的有效认证相关联。该 有效第一密钥可以被设备制造商(例如,第一利益相关方)使用来接入网络 设备上的固件,以在该固件上执行修复。有效的第二密钥可以与在随后的启 动阶段(例如,中间的启动阶段)期间对一个或多个软件组件的有效认证相 关联。该有效的第二密钥可以被设备管理者(例如,第二利益相关方)使用 来接入所述软件组件,例如来执行该软件的修复。通过对已成功认证的各阶 段提供有效密钥,接入可以被许可,其与最后一个没有认证失败的阶段相当。

本申请公开的多阶段认证的阶段数目可以变化并且不受限制。进一步 地,可以提供多个认证途径。这就是说,在完整性校验的某个阶段,认证可 以以不同的方式进行分支(branch)。例如,每个利益相关方可以提供与一个 或多个认证阶段相关的一个或多个策略。在每个阶段,认证可以基于利益相 关方的策略以不同的方式分支。利益相关方能够在外部管理其策略。

图12示出了与设备1200的启动进程相关的多阶段认证。设备1200可 以被配置具有分层启动阶段能力(例如,释放与一个或多个阶段认证相关联 的一个或多个有效密钥)。当设备1200认证到第一启动阶段时,设备1200 可以在1201向第一利益相关方(例如制造商)提供有效第一密钥。该第一 启动阶段可以是低等级的认证,并且与第一启动阶段相关联的密钥可以提供 受限于制造商相关联的固件的接入。当设备1200认证到第二启动阶段时, 设备1200可以在1202向第二利益相关方(例如设备管理员)提供有效第二 密钥。该第二启动阶段可以是比第一启动阶段晚的启动阶段,并且所述与第 二启动阶段相关联的密钥可以提供受限于认证软件的接入。当设备1200认 证到最后一个启动阶段时,设备1200可以在1203给第三利益相关方提供有 效第三密钥,该第三利益相关方可以提供到核心网络、安全网关等的接入。

使用启动进程作为实例,到受限的片内资源和启动执行中的最后一个一 致的好的启动阶段的认证秘密的接入可以被释放。这种阶段释放可以允许值 得信任的设备软件/固件修复上层代码,将低层用于对设备的可信远程设备管 理更新过程。这可以依赖于来自安全的不可改变的片内信任基础的一串信任 源。例如,一旦重置,可以期望特定的芯片配置来释放第一密钥。该配置可 以确保处理器会跳到适当的内部执行代码,这随后可以开始聚拢代码,以在 该系列信任执行的下一阶段之前进行测量。如果初始的芯片配置不正确,例 如跳转矢量不是内部ROM代码,那该初始的以及随后的完整性测量可能与 期望的不同,并且该设备不能进行下一个有效阶段。

控制的形式可以包括片内资源的硬件锚定门控,比较测量到的组件的完 整性,和/或基于系统实际的测量完整性的密钥导出。在后面的示例中,由于 结果密钥可能与所需要的常规的操作不同,因此可以使用公开的系统和方法 于为其他用途生成多个可信控制执行路径。因此,例如一个外部实体可以直 接控制设备的管脚,这会导致不同的启动顺序,并进一步导致同样基于信任 根的不同密钥。

例如,除了传统的参数外,通过每一个启动等级上强加两个额外的认证 因子,可以提供认证。到外部实体的认证可以需要获知:1)启动阶段特定 的加密签名秘密或者计算出的密钥;2)启动阶段特定的代码;其中如果2) 是正确的(通过完整性校验),则1)被公开。

所得到的应用可以是:外部实体可以根据实体需要的功能性远程确认设 备的完整性。此外,独立的利益相关方(例如,设备或者设备制造商的硬件 或者不同的固件以及软件层)可以被确保:其他实体可能不能修改该独立的 利益相关方的对应固件或者软件,而不必禁止该设备功能。

通过检测和使用可信硬件机制强制加密密钥解锁片内资源以及通过针 对启动过程中下一阶段检测和使用提供的秘密(例如加密密钥、信令密钥和 完整性测量)。随着每一阶段被成功校验,片内资源和新的秘密以及测量就 变得可用。

在一些情况中,信息可能会在核心可信域内,并且可以是对硬件可用的 但不可被软件/固件所查看或占有,片内资源和其他信息可以释放到执行环境 中,因为基于代码的每一个阶段都被校验和检验为是值得信任的(即基于代 码校验、数据校验、硬件校验等验证是值得信任的)。

每一个启动阶段需要与它在安全启动进程中的位置相对应的特权和控 制。为某一阶段排他性的生成证书可以允许控制扩展超出平台的内部,例如 为了到外部实体的认证。

例如,在设备管理和设备认证的情况下,制造商会需要特权来更新固件 而网络运营商会需要修复或者更新软件和/或配置数据,但不是对固件进行修 复或更新。如果设备通过了固件的完整性校验但没有通过软件的校验,则可 用的密钥可以是允许网络运营商来为了更新软件而进行认证用的。然而,如 果设备固件校验也失败,则用来将设备认证到管理系统的密钥可以被释放, 但不是认证到网络需要的密钥,意思是原始进程可能是要远程并且安全的修 复/安装固件,以使该设备不再以不安全的方式(即信任根进程以外的方式) 启动。该固件失败会触发释放备选功能来帮助修复(例如,由于失败,认证 会采用不同的分支)。提供信任证实根的优点是可以允许对设备的固件信任 代码基础进行远程管理。

不同的利益相关方(例如运营商和应用提供商)可以允许使用不同的密 钥,基于系统的信任程度,以启动次序中的测量的结果作为特征。这可能意 味着一些运营商或者设备拥有者可能在多个阶段中依然允许系统启动到部 分可信但部分不可信的状态。即使在这样的状态中,设备会被要求生成和使 用特定加密密钥(例如,为了指示外部用户设备的状态,或者为在这种设备 部分可信的状态下依然被允许的应用提供安全性)。一个选项可以是生成和 使用高强度的密钥,其中启动序列中可以建立高水平的信任,并且如果基于 该启动序列结果建立起信任的较低等级,还限于使用较低强度的密钥。应该 预先提供策略,并且信任根可以使用适当的密钥强度,该密钥强度对应于可 建立的信任等级。当即使部分优化的经过信任验证的系统需要使用加密资源 来发送特定信息给外部,不需要额外的密钥强度等级时,对特定于不同等级 的信任的多个密钥的生成和使用是有用的,这可能与启动系统的信任度不 同。

不同密钥的生成可以基于不同启动序列和不同代码,例如可以有不止一 组有效阶段。从不同的启动序列得到的可能的设备唯一秘密密钥可能从相同 的信任根(使用相同的根密钥)得到,因此值得信任但明显不同并且互相排 斥,这允许区分角色(例如,可信测试模式对于可信常规操作)。

可以提供用于密钥导出的算法选择和签名机制。可以为下一阶段密钥导 出和/或当前阶段签名或者认证执行特定的算法。这些控制可以存在于加密证 书分组中的专用控制寄存器字段,以使一旦解密,该字段值可以被插入到启 动阶段认证模块的相应寄存器中,这可以设置执行控制。所述启动阶段认证 模块可以是TrE。

图13A、13B和13C示出了可以实施公开的系统、方法以及可能使用的 手段的实施方式的芯片。

可以实施安全的多阶段启动认证,例如,在安全的硬件模块(例如启动 阶段认证模块1300)中。启动阶段认证模块1300可能包含四个组件:根设 备单一秘密密钥(根密钥),控制信号和阶段特定密钥导出功能(KDF),密 码引擎,以及签名机制。到模块的接口可以包括配置和数据总线接口。配置 寄存器可以执行指令和数据流,例如MMU的控制或则启动执行矢量,芯片 I/O等。通过位于启动阶段认证模块1300的内部,该密钥路径可以被保护为 不被软件/固件查看。该启动阶段配置接口可以确保芯片具有发起安全的启动 进程的合适配置。

如果安全启动进程没有正确开始,例如,如果配置是针对备选启动序列 的,则到片内资源的结果阶段的接入和设备唯一的秘密密钥可能不存在,这 会进而阻止进入到下一启动阶段和对特定阶段的签名密钥的解密,因此,外 部实体可能不能对设备的信任状态进行证实。

以下一个或者多个可以组合:带密钥的加密哈希算法,设备唯一秘密密 钥,反馈密钥路径,以及签名机制。认证秘密的层可以加密地被绑定于特定 设备以及测量信息(例如执行代码以及启动配置控制)的完整性。如果测量 信息缺少完整性,则执行的后续的相依赖的层可能不能接入或解密该认证秘 密。例如,如果设备没有适当的设定处理器跳转向量,没有从内部启动或者 未处于调试模式,则会检测到不同的比特图样,这可以生成不正确的密钥, 它随后不会对外部兴趣方进行认证。

设备可以包含唯一的秘密密钥。设备的唯一秘密密钥可以从先前的启动 阶段密钥以及从测量的代码中导出。由于设备唯一密钥可能在设备上不存 在,但可以通过代码本身导出,如果代码被修改,则设备唯一秘密密钥可能 不正确。根设备唯一秘密密钥(根密钥)可以在初始供应时或者制造时秘密 嵌于设备内部,并且对设备唯一。该根设备唯一秘密密钥可能不可用,除非 使用特定的设备启动配置。该根密钥可能对软件/固件不可见,可以为后续启 动阶段的设备唯一密钥提供种子,它也对软件/固件不可见,但可以用于认证 或者签名机制,这些认证或签名机制可以验证密钥的存在以及从而向启动次 序中的该阶段验证设备的完整性。

根设备唯一秘密密钥可以是有适当的强度(例如现在大约是256比特) 的密钥,可在制造过程中配置,例如,配置为一次性可编程熔丝或者在存储 器中(它对软件/固件是秘密和隐藏的),窃听芯片信号,探测,简单和差分 功率分析等等。它可对设备唯一,任何人都不知道,并且一旦重置则在初始 为密钥导出功能提供种子。

图14示出了密钥导出功能的实例。

密钥导出功能可以服务两个功能。它可以生成后续阶段的密钥,以及能 测量后续启动代码。它可以是带密钥的加密哈希函数,例如HMAC-SHA-256, 由于它的单向的特性,它可以确保获取后续阶段密钥不会泄露前面密钥的任 何信息,以及测量数据中的任何比特错误都会导致与正确密钥不相关的很大 不同的密钥。加密阶段特定的签名秘密可被提供完整性信息。完整性信息可 以提供对组建或者功能的测量的完整性校验值的确认,以及释放下一阶段功 能。

图15示出了示例性的密钥导出细节,包括签名机制。

对于鲁棒的设备认证,密钥导出功能会生成根阶段设备唯一秘密密钥, 对于片内软件/固件以及外部实体来讲,该根阶段设备唯一秘密密钥不是直接 可读的。因此设备唯一密钥可以在直接路径提供给认证或者签名机制,外部 实体和软件随后可以提供带有挑战消息的认证或者签名机制,以通过片外接 口来确认该设备的根状态的新鲜度(freshness)。

图16示出了多阶段密钥导出细节的实例。

随着启动流程从初始启动以及程序加载器序列开始进展到操作系统和 应用加载,代码的每一个启动阶段的完整性可以在它执行之前进行测量。代 码可以在每一个阶段中被填入密钥导出功能并且可以在每个阶段都生成设 备唯一秘密密钥。例如,初始时,根设备唯一秘密密钥(根密钥)以及第一 码字测量可以填入到密钥导出功能,以及可以生成第一密钥(初始阶段密 钥)。可以在多个阶段中重复这个过程直到确定最后一个好的证书。

图17示出了启动序列的实例。图16的实例示出了在多个阶段中密钥是 如何导出的以及如何确定最后一个好的证明。初始阶段密钥可以验证硬件可 以配置用于信任执行根,例如验证处理器指向内部ROM,硬件完整性测试 结果正确,以及安全敏感I/O管脚被正确设置,例如不在测试模式。

如果启动阶段是根据正确的启动配置和代码来执行的,则最后的结果可 能是加密或者签名的密钥,这些可以被网络实体在外部使用,以验证设备是 以可信方式启动的。否则,如果阶段启动代码失败,则最终的签名密钥不正 确,导致外部/远程认证失败。

执行链不需要追踪签名密钥链。启动序列可能通过对检验序列的执行控 制,(例如,基于硬件的),这可以加载用于设备可信操作的码字测量。如果 测量正确,则结果可以是最终密钥,它可用于从外部确认设备的可信操作。

从有效启动阶段导出的密钥以及控制可以解锁在实时运行中持续的残 留密码或者信令密钥。设备管理服务器可以使用该残留签名密钥来验证设备 已安全地启动到值得信任状态,以确定该服务器可以安全下载应用代码。另 一方面,在每一启动阶段去除对密钥的接入可以帮助保持对芯片的硬件保护 域的特权控制,该保护域应该是对特定启动阶段代码的特定提供方是可接入 的,例如,为了认证设备个性化、供应、调试、测试等。

执行的启动代码需要检测下一阶段测量是否发生完整性失败。例如,为 下一阶段嵌于加密秘密分组内的可以是针对完整性失败的指示,例如位于加 密秘密分组的特定字段内的已知的“完整性指示消息”。下一启动阶段测量 的错误会导致在分组的字段中出现混乱(garbled)完整性指示消息,它与期 望值不匹配,向执行启动代码指示完整性失败已经发生。

启动阶段认证模块中的硬件比较器(参见例如图13A-C)会检测(HW 保护,对软件或者固件不可见的)期望的完整性值和得到的完整性值之间的 匹配,以生成硬件控制信号,来控制到例如依赖于完整性的硬件配置、芯片 秘密、熔丝、I/O以及测试管脚、LED等的接入。

所述控制启动序列然后会选择在芯片外发布一个警报,向外部世界指示 已发生错误。或者,该控制启动代码可以保持空闲,等待来自芯片接口(网 络或者管脚)的输入,以尝试认证到外部实体。

在一个操作中,启动阶段认证模块会解密加密阶段签名秘密(分组)。 然而,可能需要方法来加密和安装该阶段签名秘密。该模块可能有“供应模 式”输入信号,“授权接入不允许”输入信号,以及“授权阶段”输入信号, 该“授权阶段”输入信号可以是1)对于只在制造阶段的供应方法由一次性 可编程熔丝方法进行锁定,和/或2)在芯片上通过授权硬件变得可接入。

如果他们没有在制造过程中通过熔丝锁定,则芯片需要提供另一种机制 来保护输入。如果他们没有通过熔丝锁定,启动阶段认证模块会允许供应模 式,如果设备已经通过它自己的本文中所描述的检测机制安全启动的话。这 会阻止非安全启动代码进入供应模式。然而,可以由安全启动代码、硬件配 置、以及芯片上的其他“授权”硬件来保护到供应模式输入的未授权接入。 也就是说,启动阶段认证模块可以确保安全启动代码被执行,以保护用来管 理保护到供应模式的接入的授权硬件的启动代码授权序列。在一个实施方式 中,安全启动进程可以利用约束的密钥(例如公共的、私有的等)以及挑战 响应协议来认证和授权申请者接入到供应进程以及供应模式输入。

供应模式输入允许签名秘密分组的后续阶段被加密并存储到对软件不 可用以及对供应商不可见的受保护的寄存器中的启动阶段认证模块内部。然 后,供应模式状态会切换到加密模式。新的启动阶段代码会被加载到密钥导 出功能。代码加载之后,新的设备唯一秘密密钥会自动生成(但对用户或者 软件不可见)。然后,与新的启动代码对应的新的签名秘密被插入到密码引 擎并用新的设备唯一秘密密钥来加密。结果被存储到一个位置以取代以前的 版本。

随后的启动阶段代码可以被加载,以导出新的随后的设备唯一秘密密 钥,这些可被用于对内部存储的随后阶段的签名密钥秘密进行加密。该进程 会一直继续直到完成。设备会用新的启动阶段代码及其对应的签名密钥进行 重启。随后的启动阶段代码和密钥可以保持相同,对阶段设备唯一秘密密钥 的新链是未知的并受限于该新链。修改阶段之前的启动阶段保持不变。

图18示出了生成和使用密钥的设备的强度实例启动序列流程图,其中 所述密钥的强度(或者其他安全强度特性,例如加密算法本身,或者算法模 式等)可以依赖于通过在启动序列中执行的完整性校验过程见证的设备可信 度结果。

公开的系统和方法可用于单个利益相关方(例如远程用户)实施方式, 它可以给单个利益相关方提供在程度变化的功能性下安全地管理设备的灵 活性。例如,在使用设备进行安全的关键和复杂功能之前,远程用户可能需 要确认设备是否正确获取到它的完整的设备完整性和/或功能性。

为了确定设备完整性和/或功能性获得的程度,用户会通过向设备提交 现时(nonce)然后取回签名之后的响应(例如,现时会确保结果的更新) 来挑战设备。用户会检验该响应以确定设备已通过哪个阶段的完整性以及健 康检验执行。基于该结果,用户可以确保其可以安全地与设备安全交互那些 完整性已经被验证的功能。

作为一个实例,如果响应表示没有发生安全启动进程(例如,没有完整 性校验),则用户会知道该设备是被配置成非安全形式并且将不会依赖该设 备来处理敏感数据。还有,由于一些设备完整性受限的密钥可能不可用,受 限于安全启动进程的加密数据也可能不可用。

如果该进程的第一阶段完成了,则该设备可能有一些安全能力,例如证 实自己一些失败功能的能力,以及对外发送重放保护和/或签名的灾难 (distress)信号。远程用户可以从这些信号中确定接收到的灾难信号正确和 /或不是被其他设备欺骗,并且在获知该设备发送了灾难信号的情况下采取行 动来修复设备。

继续该实例,如果第二阶段完成,则表示更高层次的能力/设备完整性 的新的认证密钥集在该设备上是可用的,其允许用户远程、安全地修改设备 上的失败代码。该情况的一种变换形式是,实现完整性的该第二阶段的设备 可以获得对密钥的本地接入,该密钥允许对远程用户的OAM或者设备管理 (DM)服务器(或者该服务器应用)进行认证。在该实例的这一阶段中, 设备有能力认证远程用户(或者他的OAM或者DM服务器或者这种服务器 应用),因此该设备上的一些数据和代码可以使用与获得的完整性阶段相关 的可用密钥进行加载和签名。也能得到与其他能力等级相关联的其他阶段。

最终成功的阶段表示该设备完全能够执行远程用户需要完全接入和使 用的功能。

本发明不需要包括一些功能性阶段并且不受限于一个或者多个利益相 关方。一种形式,设备可以执行具有单个代表结果的单个校验阶段,这将导 致从远程用户角度来看用于自主确认的单个认证密钥。这可用于确认尝试附 着到网络的设备。公开的系统和方法也可被扩展到允许设备的值得信任状态 的标识存在灵活性,允许灾难指示、设备检测、设备管理功能(诊断和修复) 以及对设备、服务和/或应用层次的认证过程。

其他认证信息可以受限于完整性校验进程,所述认证信息例如与用于设 备的到优选网络的接入私有密钥不同的其他目的认证密钥。这种“其他认证” 的示例可以是针对OAM的认证、应用层次服务的认证、或者在不同于接入 层的层的安全协议(例如IPsec或者TLS)的认证。其他实例包括对设备和/ 或其简档(例如组成员等)的认证、订户/用户、服务、或者应用。例如,参 考图13C,会向KDF发送服务订制密钥。结果密钥可以是用于到服务提供 商的认证的设备唯一秘密密钥。对设备的挑战可以认证用户和设备完整性两 者。在这种情况下,可以在合适的阶段添加服务订制密钥。在一个实施方式 中,保证了完整性的(integrity-backed)订制密钥在之前的阶段中提供,而 保证了完整性的应用密钥在后面的阶段中提供。其他信息在KDF输入中合 并以确保绑定到必要信息上。通过将其他认证信息绑定到完整性校验进程 中,可以提供不止一个独立的认证资源。

公开的系统、方法以及手段允许动态扩展信任,以允许对设备进行安全 和远程配置。例如,出厂之后,设备可以安全启动到已知的未配置的状态。 这样的设备应首先使用包括供应商证明中的证书。该阶段中可用的认证密钥 允许外部管理实体(例如OAM或者DM服务器)远程接入设备上的配置数 据结构,并允许认证的外部管理实体插入新的证书(例如,新的签名密钥或 者运营商证明,可能包括新的签名密钥等)。这些新的证书可以使用本文描 述的方法进行保护。新的配置数据可以用新的密钥进行签名,并且可以插入 新的执行阶段,这也可以通过成功阶段密钥进行签名。可以添加认证密钥, 这可以通过最终的配置校验的成功完成来保护。如果设备被重置,例如,它 可以自动重启至校验新配置数据的新的阶段。如果新的配置数据匹配,则结 果认证密钥可用。外部实体然后认证该设备。如果认证通过,则外部实体可 确保设备被正确配置。

图19示出了与多阶段认证相关的网络通信的实例。

3GPP的中继节点(RN)既可以对于供给(donor)eNB(DeNB)作为 UE(即中继UE),也可以对于连接到它的UE作为eNB(即中继dNB)。由 于中继节点可以用于如下场景中,例如紧急响应或者临时覆盖间隙填充任 务,它们不能在部署时间完全配置并且没有完全操作的所有功能性。由于 RN是网络设备,然而,安全需求(包括设备完全需求)可能会需要很高, 导致对完整性校验的需要,这允许实现分阶段的操作状态。部署后配置和证 书登记都需要这种分阶段的操作状态。

图20示出了启动和启动后配置过程的实例,其中包括使用示例性3GPP 中继节点的多阶段认证和证书配置。

在这个实例中,如果通过了完整性的特定阶段,则使得RN能接入到已 知运营商(OP)管理盒(例如OAM或者DM服务器盒等)以及供应商的 OAM/DM服务器。然而,如果RN后续阶段失败,那么它可能不被允许接 入证书(RN中可能已经存在也可能不存在),该证书是到OP移动性管理实 体(MME)的完全接入所需的证书。因此,RN会不通过对OP MME的完 全接入认证尝试。然而,连续发生这样的失败,RN可被限制为向已知的OP  OAM/DM进行认证,并被指示为由供应商OAM/DM使用预先提供的供应商 证明来进行重新配置。如果获得重新配置并通过完整性校验的进一步阶段, 那么RN现在可以获得到接入到OP MME所需的证书的接入。

公开的系统和方法会对篡改和实时失败很敏感。在设备完整性建立的时 候或者之前可以建立独立的篡改监视进程(例如,该监视进程与信任根绑 定)。该监视器可以检验代码、端口或者任何可以指示干扰或者篡改事件的 东西。一旦发生这样的事件,建立设备的唯一秘密密钥值被自动去除,使认 证密钥不可用。参考图21,它示出了一个使用公开系统和方法的实施方式的 芯片实例。尝试使用基于完整性的认证密钥重新建立到设备的连接可能会失 败。这会为依赖于设备安全性的外部实体提供持续保护。

图22示出了如何将完整性校验进程扩展到UE通信。网络可以使用完 整性限制的认证密钥向中继节点传递UE密钥。如果中继节点由于完整性或 者篡改事件而不再安全,该中继节点将不能解密所加密的密钥,并且来自 UE的通信的安全性得以保持。

所公开的系统和方法可以提供以下的一个或者多个:设备签名密钥分阶 段的机制,它允许对设备的可信性进行部分或者分阶段的远程确定;片内资 源以及认证秘密的分阶段释放方法,其中对用于设备的当前启动阶段的代码 的成功测量、配置信息、以及安全启动进程的状态可被用于直接导出控制信 号,该控制信号可以允许进一步接入片内资源和释放用于认证的秘密;启用 外部实体和可能部分失败的设备之间的可信报告、管理以及修复;消除对启 动进程中的显式完整性校验过程的需要,并消除存储和保护启动代码参考值 的需要;或者通过公共接口(例如芯片边界或者公开网络)对不同利益相关 方进行认证接入。

平台完整性策略引擎(PIPE)可以是整个平台信任系统架构的一部分。 PIPE可以控制多阶段认证和密钥释放过程。PIPE可以控制不同的功能,包 括安全启动进程的流程、软件和/或数据组件的完整性校验测量的处理、根据 策略的后续执行行动,和/或后续软件加载控制的流程。该策略可以由一个或 者多个外部利益相关方定义,例如制造商和/或运营商,并且在设备上提供, 并通过远程更新过程在字段中更新。

通过继续安装越来越多的功能能力并在运行期间保持对组件的动态加 载,PIPE可以控制受损害的软件功能性不会通过受控软件和数据校验以及 家在操作而被加载。作为说明性的实例,依赖于加载操作中进展的阶段,响 应于认证失败,PIPE可以应用以下的一个或者多个:对平台进行下电操作; 避免加载受损害的组件(component)或者隔离的组件;触发到外部实体(比 如,网络中的安全网关或者修复管理器)的警告,以通知低级别的失败或者 受损害的功能性;防止对平台上的功能或者信息的接入,例如认证密钥等; 或者,防止对平台上的安全功能的接入,例如认证算法等。

在一些情况下失败可能很严重,以至于甚至可信任的环境可能不能确保 平台中的信任,因为核心TrE功能性已经受损害了。低级别的失败可能触发 基本操作,例如生成默认的信任根签名的警告消息,这可能包括完整性以及 重放保护以及机密性保护。也就是说,一旦发生低级别安全失败,会通过一 个或多个可用的通信信道向网络释放灾难消息。

随着加载的功能性的建立并变得越来越复杂,设备会执行更复杂的行 动,例如作为代表网络实体的安全和可信代理,这会促进用来诊断、报告和 /或替换受损害的软件和/或配置数据的询问过程;执行主体代码或者数据重 载/更新过程或者调查更多细节,包括用更精确的细节进行完整性校验,怀疑 被篡改的组件被隔离到组件的故障位置。

根据成功验证功能性的等级,可以提供对平台上资源的不同的接入(例 如通过PIPE)。如果组件的完整性校验失败,则它不会被信任。该检测到的 失败可以被安全地标记并指示给网络(或者显式或者隐式地),以及由于该 失败条件,启动流程会产生分支。这种类型的完整性校验失败可以当做执行 流程失败,借此经过校验的组件不能被信任,并且启动该组件会导致执行中 出现恶意的、损害的、错误的或者不正确配置的代码,并且这还会引起设备 以非特定的和不可预料的形式执行功能。这样,新组件和可用功能性的加载 会受先前加载的组件的完整性的影响。

作为结果,执行环境可以根据每一个启动阶段和每一个实时进程中的控 制执行过程和接入特权进行改变。例如,在启动进程的每一阶段,需要根据 当时进行的完整性测量做出决定。随后的阶段和策略会通过信息传输或者存 储的任何可用的安全方法使用传递自先前阶段的信息,这些方法超出了执行 阶段(状态、变量、参数、寄存器、文件等)以确定它自己的操作。例如, 上层应用认证功能可以使用先前加载的组件的完整性信息来确定它自己的 操作,包括对与外部实体的成功认证所需要的密钥的释放进行门控。

一个PIPE功能流程的实例可以包括以下的一个或多个。RoT会被校验 并且它的完整性会被验证。基线TrE可以由RoT进行检验,并且它的完整性 会被验证。如果TrE校验中存在失败,则会执行以下的一个或者多个:阻止 对附着到网络所需要的密钥的释放;向网络触发警告(可以加载回退代码, 这可以让警告发送到网络和/或该警告会触发远程主体更新过程来取代 TrE);或者对设备进行下电操作。可以加载基本通信连接性代码,这可以包 括以下一个或者多个:校验和加载基线操作系统模块;校验和加载基线管理 客户端;或者校验和加载通信模块。如果发生失败,会执行以下一个或多个: 阻止对附着到网络所需要的密钥的释放;通过警告触发主体更新过程以取代 组件(可以加载回退代码,这可以让警告发送到网络和/或该警告会触发远程 主体更新过程来取代基本代码);发起警告和远程组件更新过程;或者对设 备进行下电操作。校验和加载剩余操作系统和管理客户端组件。校验和加载 动态的、可重新定位的和/或可重新加载的功能模块,如果出现失败,会执行 以下一个或多个:阻止对附着到网络所需要的密钥的释放;通过到网络的协 议发送失败报告(失败报告会指示由网络远程更新的失败的组件);发送警 告以及请求远程组件更新过程;或者对设备进行下电操作。

PIPE的行动会根据成功验证的启动链而变化。在启动进程的每一个阶 段中,需要根据基础平台的部分或者整个的评估的完整性做出决定,平台那 时(那时附近)已经进行了完整性校验并且已经应用了策略。这些策略可以 根据获得的信任程度采用或者被新的策略替代。执行环境可以根据每一启动 阶段的控制策略而改变。随后的阶段和策略会通过信息传输或者存储可用的 安全方法使用先前阶段通过的信息,这些方法超出了执行阶段(状态、变量、 参数、寄存器、文件等)。PIPE策略可以用一个或者多个利益相关方提供。 例如,一个利益相关方可能具有到每一个策略的接入,每一个利益相关方可 接入到部分策略(例如,依赖于优先权层次或者与特定的功能相关联)等。 作为另一个实例,制造商可以控制低级别的代码策略,运营商可以控制软件 和配置策略,以及应用服务提供商可以控制高级别的功能模块。

虽然上面以特定的组合描述了特征和元素,但是本领域普通技术人员可 以理解,每个特征或元素可以单独的使用或与其他的特征元素进行组合使 用。此外,这里描述的方法可以用计算机程序、软件或固件实现,其可包含 到由通用计算机或处理器执行的计算机可读介质中。计算机可读介质的示例 包括电子信号(在有线或无线连接上传送)和计算机刻度存储介质。计算机 刻度存储介质的示例包括,但不限于,只读存储器(ROM)、随机存取存储 器(RAM)、寄存器、缓冲存储器、半导体存储器设备、磁性介质(例如内 部硬盘和可移动磁盘),磁光介质和光介质(例如CD-ROM盘和数字通用盘 (DVD))。与软件关联的处理器用于实现射频收发信机,用于WTRU、UE、 终端、基站、RNC或任何主计算机。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号