可信执行环境的动态配置的利记博彩app

文档序号:11142294阅读:352来源:国知局
可信执行环境的动态配置的制造方法与工艺

本发明的实施方式涉及电子装置和应用服务的安全。



背景技术:

可信执行环境(TEE)为移动装置的处理器的安全部分,其确保了敏感数据在受保护且可信的环境中处理。TEE可以提供可信应用的安全执行和对数据、软件以及硬件资源的访问的端到端安全性。TEE是移动装置的安全架构的一部分。图1示出了具有富操作系统(富OS)或富执行环境(REE)102、TEE 104以及安全要素(SE)106的安全架构100。富OS 102执行可从第三方获得的应用。SE 106包括用于近距离支付应用、电子签名以及PIN号码的高安全等级的软件和防篡改硬件。

TEE 104帮助控制访问权限并针对可能源于富OS 102环境的软件攻击提供保护。例如,TEE 104提供用于高清晰度(HD)视频供应商的环境以保持它们的优质内容安全使得优质内容无法被复制或被共享。

然而,针对TEE 104中所存储的密钥可用的硬件资源的配置是静态的且是由制造商硬编码的。针对密钥的硬件资源的TEE使用的任何变化都要求TEE 104的全部软件被闪写(flashed)或改写。为了针对硬件资源的使用添加新使用情况或修改旧使用情况而改变所存储的密钥的配置是相当昂贵的。



技术实现要素:

这里所述的各种实施方式提供更好地处理TEE硬件配置的密钥管理的重新设计。根据一些实施方式,一种移动计算装置可以包括:处理器;和存储器,该存储器耦接到处理器,并且包括在存储器中实现的计算机可读程序代码,当该计算机可读程序代码由处理器执行时使得处理器执行操作。该操作可以包括:从另一个计算装置接收包括密钥更新信息的密钥更新消息;以及验证针对存储在移动计算装置的可信执行环境(TEE)中的密钥的密钥更新消息。所存储的密钥可以限定配置,该配置由处理器使用以控制TEE中或来自TEE的对移动计算装置的资源的访问。该密钥更新信息可以识别移动计算装置的被授权以由TEE中的可信应用使用的硬件资源。操作还可以包括响应于肯定验证,基于密钥更新信息来改变针对TEE中所存储的密钥的配置。可以针对所存储的密钥来改变对硬件资源的访问。

根据一些实施方式,密钥更新信息可以为第一密钥更新信息,并且硬件资源可以为由所存储的密钥授权以由可信应用使用的第一硬件资源。密钥更新消息可以包括第二密钥更新信息,该第二密钥更新信息对应于移动电子装置的不同于第一硬件资源的由所存储的密钥授权以由可信应用使用的第二硬件资源。

根据一些实施方式,密钥更新信息可以包括密钥更新标志,并且操作可以包括基于密钥更新标志来更新配置以允许或拒绝对硬件资源的访问。

根据一些实施方式,密钥更新消息可以为由移动计算装置从另一个计算装置接收的空中(OTA)消息。该操作还可以包括基于响应于密钥更新信息对配置的改变来控制可信应用对硬件资源的访问。

根据一些实施方式,密钥更新消息可以为已加密密钥二进制大对象(密钥BLOB)。该操作还可以包括:使用TEE中所存储的密钥的私钥来解密已加密密钥BLOB;以及基于密钥更新信息更新限定TEE中的可信应用对硬件资源的访问的所存储的密钥的配置。可以使用密钥二进制大对象(密钥BLOB)来存储所存储的密钥。

根据一些实施方式,该操作可以包括:仅针对所存储的密钥来更新配置。所存储的密钥可以为TEE中的多个已经存储密钥中的一个。

根据一些实施方式,一种方法可以包括以下步骤:由移动计算装置从另一个计算装置接收包括密钥更新信息的密钥更新消息;以及验证针对存储在移动计算装置的可信执行环境(TEE)中的密钥的密钥更新消息。所存储的密钥可以限定配置,该配置由处理器使用以控制TEE中或来自TEE的对移动计算装置的硬件资源的访问。密钥更新信息可以识别移动计算装置的被授权以由TEE中的可信应用使用的硬件资源。该方法还可以包括以下步骤:响应于肯定验证,基于密钥更新信息改变针对TEE中所存储的密钥的配置。可以针对所存储的密钥来改变对硬件资源的访问。

根据一些实施方式,密钥更新信息可以为第一密钥更新信息,并且硬件资源可以为由所存储的密钥授权以由可信应用使用的第一硬件资源。密钥更新消息可以包括第二密钥更新信息,该第二密钥更新信息对应于移动电子装置的不同于第一硬件资源的由所存储的密钥授权以由可信应用使用的第二硬件资源。

根据一些实施方式,密钥更新信息可以包括密钥更新标志,并且方法可以包括基于密钥更新标志更新配置以允许或拒绝对硬件资源的访问。

根据一些实施方式,密钥更新消息可以为由移动计算装置从另一个计算装置接收的空中(OTA)消息。方法还可以包括基于响应于密钥更新信息对配置的改变来控制可信应用对硬件资源的访问。

根据一些实施方式,密钥更新消息可以为已加密密钥二进制大对象(密钥BLOB)。方法可以包括以下步骤:使用TEE中所存储的密钥的私钥来解密已加密密钥BLOB;以及基于密钥更新信息来更新限定TEE中的可信应用对硬件资源的访问的所存储的密钥的配置。可以使用密钥二进制大对象(密钥BLOB)来存储所存储的密钥。

根据一些实施方式,可以仅对于所存储的密钥更新配置。所存储的密钥可以为TEE中的多个已存储密钥中的一个。

根据一些实施方式,一种计算装置可以包括:处理器;和存储器,该存储器耦接到处理器,并且包括在存储器中实现的计算机可读程序代码,当该计算机可读程序代码由处理器执行时使得处理器执行操作。该操作可以包括:生成包括密钥更新信息的密钥更新消息,该密钥更新信息与在移动计算装置的可信执行环境(TEE)中存储的密钥对应。密钥更新信息可以由移动计算装置使用以重新配置TEE硬件配置,该TEE硬件配置由处理器使用以控制来自TEE的对移动计算装置的硬件资源的访问。操作还可以包括:加密针对所存储的密钥的密钥更新消息;以及向移动计算装置发送密钥更新消息。密钥更新信息可以识别移动计算装置的被授权以由TEE中的可信应用使用的硬件资源。

根据一些实施方式,密钥更新信息可以包括密钥更新标志以使得处理器基于密钥更新标志更新配置以允许或拒绝可信应用对硬件资源的访问。

根据一些实施方式,密钥更新消息为包括已加密密钥二进制大对象(密钥BLOB)的空中(OTA)消息,并且密钥更新消息向TEE发送且定址仅在TEE中所存储的密钥,该所存储的密钥为多个已存储密钥中的一个所存储的密钥。

根据本发明的实施方式的其他装置、方法和/或计算机程序产品将在查核以下附图和实现方式时对本领域一个技术人员清晰或变得清晰。预期所有这种另外的装置、方法和/或计算机程序产品包括在该说明书中、在本发明的范围内且可以由所附权利要求来保护。而且,预期这里所公开的所有实施方式可以单独实施或以任何方式和/或组合来组合。

附图说明

被包括为提供本发明的进一步理解且并入并构成该申请的一部分的附图例示了本发明的特定实施方式。

图1例示了移动装置的安全架构。

图2是根据各种实施方式的计算装置的示意框图。

图3例示了根据各种实施方式的TEE硬件配置的更新。

图4是例示了根据各种实施方式的用于更新TEE硬件配置的处理的流程图。

图5是根据各种实施方式的更新消息的图。

图6是根据各种实施方式的与TEE的配置中的硬件资源对应的密钥更新标志的图。

图7是例示了根据各种实施方式的、用于更新TEE硬件配置的另一个处理的流程图。

具体实施方式

现在将参照示出本发明的实施方式的附图更完全地描述本发明。然而,本发明不应被解释为限于这里阐述的实施方式。相反,这些实施方式被提供为使得本公开将为彻底且完整的,并且将本发明的范围完全传达给本领域技术人员。同样的附图标记自始至终提及同样的元件。

如这里所用的,术语“包括”为开放式的,并且包括一个或更多个所陈述的特征、整数、元件、步骤、部件或功能,但不排除一个或更多个其他特征、整数、元件、步骤、部件、功能或其组的存在或添加。如这里所用的,术语“和/或”包括关联列出项中的一个或更多个的任意组合和全部组合。此外,如这里所用的,源于拉丁语短语“exempli gratia”的常见缩写“例如(e.g.)”可以用于引入或指定之前提及项的一般示例,并且不旨在限制这种项。如果这里使用,则源于拉丁语短语“id est”的常见缩写“即(i.e.)”可以用于指定来自更一般详述的特定项。

这里所用的术语仅用于描述特定实施方式的目的且不旨在限制本发明。如这里所用的,单数形式“一个”也旨在包括复数形式,除非上下文另外清楚指示。

除非另外定义,这里所用的所有术语(包括科技术语)具有与本发明属于的领域中的普通技术人员通常理解的意义相同的意义。还将理解,术语(诸如通常使用的字典中定义的术语)应被解释为具有与它们在本公开和相关领域的语境中的意义一致的意义,并且不将在理想化或过于正式的意义上解释,除非这里明确这样定义。

将理解,当元件被称为“耦接”或“连接”到另一个元件时,该元件可以直接耦接或连接到另一个元件,或者介入元件也可以存在。相反,当元件被称为“直接耦接”或“直接连接”到另一个元件时,没有介入元件存在。此外,如这里所用的“耦接”或“连接”可以包括无线耦接或连接。

这里所述的实施方式提供更好地处理用于TEE中所存储的密钥的硬件配置变化的TEE密钥管理的重新设计。这种密钥可以使用密钥绑定。移动装置的TEE可以被配置为使得它可以基于在密钥更新消息中接收的密钥更新信息来改变针对TEE中所存储的密钥的硬件配置。这种消息可以包括例如针对TEE硬件的已签名配置的空中(OTA)消息。密钥更新信息可以包括一个或更多个密钥更新标志,该一个或更多个密钥更新标志与在TEE中或由TEE使得可用的硬件资源对应。

密钥二进制大对象(密钥BLOB)可以安装在移动装置上,以限定针对在移动装置的TEE中所存储的密钥的硬件使用。密钥BLOB可以通常包括已加密密钥、公用数据以及基于哈希的消息验证码(HMAC)。已加密密钥可以为利用仅在TEE中可用的密钥加密的私钥。公用数据可以包括数字证书。HMAC可以用于具有仅在TEE中可用的密钥的整个(或几乎整个)密钥BLOB。

根据一些实施方式,安装在电话上的已签名密钥BLOB可以被扩展为针对TEE硬件使用而可配置。密钥BLOB可以附加地包括TEE配置,该TEE配置限定针对所存储的密钥,应如何配置TEE硬件。例如,HD内容供应商采用数字版权管理(DRM)来使他们的内容免于被装置自由分发。在这种情况下,移动装置可以包括仅可以由特定TEE应用访问的私钥。该私钥无法被输出到TEE外部,并且用该私钥加密的数据可以被传递到TEE中的安全视频输出路径。这使视频内容免于被从装置中的视频路径窃取。然而,如果内容所有方可能作为合同变化或许可交易的结果而希望针对给定密钥改变对硬件资源的使用,内容所有方可以利用到移动装置的TEE的密钥更新消息来改变针对密钥的硬件配置。该密钥更新消息可以为OTA消息或可以被包括在OTA消息中。

根据一些实施方式,密钥更新消息可以改变在移动装置的TEE中所存储的密钥的TEE硬件配置,因为移动装置的TEE现在可以被配置为允许这种安全变化。例如,图2是根据各种实施方式的包括用于管理TEE硬件配置的软件和/或硬件在内的计算装置的示意框图。计算装置200可以为移动计算装置或移动通信终端,但不限于这种装置。装置200可以与蜂窝网络、广域网、无线局域网、互联网或使用通信协议的其他装置通信。例如,通信协议可以包括IEEE 802.11a、802.11b、802.11g、802.11n、802.11ac和/或其他无线局域网协议。

在一些实施方式中,装置200包括各种部件,诸如用于借助有线或无线网络连接到互联网或其他装置的通信接口216。通信接口216还可以包括天线系统214和蜂窝和/或Wi-Fi收发器212(例如,多频带收发器)。装置200可以包括处理器210、存储器220以及多个硬件资源,诸如显示器260、视频输出270(例如,HDMI端口)、摄像头280和/或传感器290。一些实施方式提供了显示器260可以包括触敏显示器或屏幕等。

存储器220存储可以由处理器210执行的软件,并且可以包括一个或更多个可擦可编程只读存储器(EPROM或闪速EPROM)、电池支持的随机存取存储器(RAM)、磁、光或其他数字存储装置,并且可以与处理器210分离或至少部分在处理器210内。处理器210可以包括可以装入普通包装中或彼此分离隔开的多于一个处理器,诸如,例如,通用处理器和数字信号处理器。具体地,处理器210可以被配置为控制装置200的各种功能,包括从触敏屏或其他传感器接收输入。

装置200可以使用射频信号与网络的基站通信,射频信号可以借助天线系统214来传达。例如,装置200可以被配置为除了别的之外使用一个或更多个蜂窝通信协议(诸如,例如,高级移动电话服务(AMPS)、ANSI-136、全球移动通信(GSM)标准、通用分组无线业务(GPRS)、增强数据率的GSM演进(EDGE)、码分多址(CDMA)、宽带CDMA、CDMA2000和/或通用移动通信系统(UMTS))经由蜂窝收发器212来通信。如这里所用的通信协议可以指定用于建立和/或维持通信连接的所传达信息、时刻、频率、调制和/或操作。在一些实施方式中,天线系统346可以为单个天线。

要理解,本发明不限于图2所示的特定配置,但旨在包含能够进行这里所述操作的任何配置。虽然用例示的方式在特定块中示出了特定功能,但可以组合、划分和/或取消不同块和/或其部分的功能。而且,硬件/软件架构的功能根据本发明的各种实施方式可以被实施为单个处理器系统或多处理器系统。

本发明的实施方式可以包括方法、电子装置和/或计算机程序产品。本发明的一些实施方式参照方法和电子装置的框图和/或操作图来描述。在这一点上,各块可以表示包括用于实施指定逻辑功能的一个或更多个可执行指令的模块、片段或代码的一部分。要理解,框图和/或操作图的各块以及框图和/或操作图中块的组合可以在模拟电路和/或数字电路上实现。这些程序指令可以被提供给控制器电路,该控制器电路可以包括一个或更多个通用处理器、专用处理器、ASIC和/或其他可编程数据处理设备,使得经由控制器执行的指令产生用于实施框图和/或操作块中指定的功能/动作的装置。在一些另选实施方案中,块中所注释的功能/动作可以发生在操作图中注释的顺序之外。例如,连续示出的两个块事实上可以大致同时执行,或者块有时可以以相反顺序来执行,这取决于所涉及的功能/动作。

这些计算机程序指令还可以存储在可以引导控制器电路以特定方式起作用的计算机可用或计算机可读存储器中,使得存储在计算机可用或计算机可读存储器中的指令产生包括指令的制品,该指令实施在流程图和/或框图块中指定的功能。计算机可用或计算机可读介质例如可以为但不限于电子、磁、光、电磁或半导体系统、设备或装置。计算机可读介质的更多具体示例(非详尽列表)包括以下内容:硬盘装置、光存储装置、磁存储装置、随机存取存储器(RAM)装置、只读存储器(ROM)装置、可擦可编程只读存储器(EPROM或闪速存储器)装置以及光盘只读存储器(CD-ROM)。

图2示出了可以为装置200的安全架构的一部分的TEE 230。TEE 230可以用于处理敏感数据的存储和可信应用的执行。TEE 230基于由TEE配置管理器240存储和/或管理的TEE配置向可信应用提供对数据和硬件资源的访问。图2用于说明性目的,并且在一些实施方式中,TEE配置管理器240可以位于TEE 230中。TEE 230和TEE配置管理器240可以位于处理器210或另一个处理器或芯片集中。TEE 230可以通过硬件与操作系统分开。

TEE 230可以存储提供对资源的访问的密钥,并且可以用于验证可信应用的操作或旨在针对可信应用的消息。这种消息可以从云服务器接收。例如,图3示出了密钥更新消息,该密钥更新消息为从密钥更新服务器320到移动计算装置200的空中(OTA)消息302或被包括在该消息中。

根据一些实施方式,将参照图4中的流程图400和图7中的流程图700描述图3、图5以及图6。图4可以表示从移动计算装置(诸如装置200)的角度进行的操作,而图7可以表示从密钥更新服务器320的角度进行的操作。在一些实施方式中,密钥更新服务器320可以包括存储器、处理器以及通信接口,诸如由图2中的装置200的存储器220、处理器210以及通信接口216示出。密钥更新服务器320可以为在云中的服务器或应用服务器或基于云的服务的服务器。

在块702处,生成密钥更新消息。该密钥更新消息可以包括与装置200的TEE 230中存储的密钥对应的密钥更新信息,诸如密钥更新标志。密钥更新信息由装置200使用以重新配置或改变配置,该配置由处理器使用以控制来自TEE 230或在TEE 230中的对装置200的硬件资源的访问。配置可以包括可信应用标识符、硬件资源标识符以及针对可信应用允许还是拒绝硬件资源。可以存在用于打开或关闭特定硬件能力的超过一个密钥更新标志。标志的组合可以提供具体配置或能力。标志和硬件资源配置的特定配置资料(profile)可以由密钥更新服务器320来存储。这些配置资料可以使存储在装置200的TEE 230中的对应配置资料帮助装置200的TEE 230中的密钥的动态配置。在该示例中使用了标志,但可以使用其他类型的信息,诸如代码、编号、字符串或其他缩写形式的信息。

对针对装置200上的所存储的密钥的密钥更新消息加密(块704)。该加密可以涉及仅在特定移动装置的TEE中可用的私钥。然后向装置200发送密钥更新消息(块706)。从密钥更新服务器320向装置200传递密钥更新消息可以包括用于由装置200进行的对密钥更新消息的加密、解密以及验证的已知安全措施。密钥更新消息可以被发送给装置200的TEE 230。在一些情况下,密钥更新消息可以被定址到仅所存储的密钥,并且该所存储的密钥可以为多个已存储密钥中的一个。

图5示出了根据一些实施方式的示例密钥更新消息。在该示例中,密钥更新消息为OTA消息510。OTA消息510包括密钥标志、标志512以及标志514。这些密钥更新标志对应于装置200的TEE 230中的硬件资源。例如,图6是根据各种实施方式的与TEE的配置中的硬件资源对应的密钥更新标志的图。在图6中,标志1512对应于硬件资源602,并且标志2对应于硬件资源2604。

在图4的块402处,从计算装置(诸如密钥更新服务器320)接收密钥更新消息。在块404处,验证针对移动计算装置(诸如装置200)的TEE 230中所存储的密钥的密钥更新消息。所存储的密钥限定用于来自TEE 230或TEE 230中的对装置200的硬件资源的访问的配置。

根据一些实施方式,使用TEE 230中所存储的密钥的私钥可以对已加密密钥BLOB解密。然后基于密钥更新信息可以更新所存储的密钥的配置,该配置限定处理器可以如何控制TEE 230中的可信应用对硬件资源的访问。

在对密钥更新消息的肯定验证后,基于密钥更新标志来改变或重新配置TEE硬件配置(块406)。肯定验证可以包括已签名公用和/或私有证书的成功匹配或使用安全地验证消息的一般方法进行的任何其他成功认证。TEE硬件配置可以包括允许或拒绝对特定资源的访问。对硬件资源的访问针对所存储的密钥来改变。通过在所存储的密钥和TEE配置管理器240中添加TEE配置来使得这一点可能,该TEE配置管理器240操作以响应于密钥更新消息或密钥更新信息中的指令来改变所存储的密钥的TEE配置,该密钥更新消息或密钥更新信息可以包括密钥更新标志。

根据一些实施方式,仅更新该所存储的密钥,并且不更新或不改变其他所存储的密钥。密钥更新消息可以仅被引导向TEE 230中的单个可信应用或TEE 230中的可信应用的子集。仅对单个硬件资源或硬件资源的子集的访问可以改变。在一些情况下,TEE 230中的可信应用可以具有多个已存储密钥,并且针对TEE 230中的可信应用的这些所存储的密钥中的仅一个或全部可以进行基于密钥更新消息的配置改变。

在示例中,HD内容可以需要从内容源到视频显示器的在TEE中的安全视频路径。用于针对这种HD内容的密钥的TEE硬件配置可以允许对显示器(诸如显示器260)的访问,但拒绝对视频输出270或任何其他应用的访问。然而,由于内容所有方与另一方之间达成的协议,HD视频内容现在应被提供给提供了私钥的、安装在装置200上的另一个应用。当前,该另一个应用即使具有私钥也无法接收HD视频内容,因为TEE 230中所存储的密钥的TEE硬件配置不允许。密钥更新消息可以被发送给TEE 230,以改变针对该私钥的硬件配置,以允许向可以利用私钥验证的特定应用输出该HD视频内容。这允许内容所有方针对已有移动装置所有方来改变它们的安全硬件能力,而不是仅针对新购买移动装置的所有方。

在另一个示例中,SD内容可以具有仅由装置200上的特定TEE应用访问的私钥,并且该私钥无法被输出到TEE 230外部。利用该私钥加密的SD内容可以被允许传递到安全空间之外的正常操作系统上。拒绝对视频输出270的访问。然而,由于许可改变,应使得对视频输出270的访问可用。可以向装置200发送密钥更新消息。装置200的TEE 230的TEE配置管理器240接收该密钥更新消息并识别密钥更新信息中的密钥更新标志。基于密钥更新消息的密钥更新标志,TEE配置管理器240改变与该密钥更新消息对应的所存储的密钥的TEE硬件配置,使得针对TEE 230中所存储的密钥,对视频输出270的访问可用。

虽然在特定示例中引用了硬件配置改变,但可以对与所存储的密钥相关的TEE软件进行改变。在另外的示例中,应用验证标识符可以被TEE 230中的应用或源于TEE 230的应用使用。应用验证标识符可以包括仅可以由特定TEE应用访问的私钥。然而,可以使用密钥更新消息来改变TEE 230中所存储的密钥的软件配置,使得可以将该私钥输出到TEE 230之外。

在一些实施方式中,其他配置示例可以包括启用、停用或控制用于与应用或硬件通信而提供的服务质量(QoS)。

根据一些实施方式,TEE的密钥BLOB可以为OTA,其被更新使得不需要每次在假设所存储TEE密钥的使用情况改变时向移动装置推送新软件。因为是收费内容或DRM受保护内容的所有方可能希望进行针对收费内容的安全硬件改变,所以提供独立于移动装置制造商和移动装置软件更新团队的这种灵活性可以是更有用的。虽然移动装置制造商确保了移动装置上所有应用的安全,但可以给予内容所有方改变如何保护其的内容的机会。

这里已经公开了许多不同的实施方式,并且不同的应用/变体将对具有本公开知识的技术人员清晰。在附图和规范中,已经公开了本发明的典型实施方式,并且虽然采用具体术语,但术语仅在一般描述意义上使用且不是为了限制的目的,本发明的范围在以下权利要求中阐述。将理解,逐字描述并例示这些实施方式的每一个组合和子组合将是过度重复且模糊的。因此,包括附图的本规范应被解释为构成这里所述的本发明的实施方式、以及进行并使用实施方式的方式和处理的所有组合和子组合的完整书面描述,并且应支持对任意这种组合或子组合的权利要求。

在说明书中,已经公开了本发明的实施方式,并且虽然采用具体术语,但术语仅在一般描述意义上使用且不是为了限制的目的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1