在低功率模式期间保护存储在IoT装置的存储器中的数据的制作方法

文档序号:24790865发布日期:2021-04-23 15:28阅读:107来源:国知局
在低功率模式期间保护存储在IoT装置的存储器中的数据的制作方法
在低功率模式期间保护存储在iot装置的存储器中的数据
技术领域
1.本公开总体上涉及一种保护存储在装置的存储器中的数据。更具体地,本公开涉及一种可以进入低功率模式的物联网(iot)装置、以及在低功率模式之前、期间及之后保护存储在iot装置的存储器中的数据。


背景技术:

2.iot是嵌入在电子或软件中的物理装置、用品或项目的网络,使这些对象能够在没有人机交互的情况下交换数据。itu

t y.2060建议书将iot定义为信息社会的全球基础设施,通过基于现有和不断演进的可互操作的信息和通信技术使事物互连(物理和虚拟)来使高级服务成为可能。术语“iot”中的“事物”被视为物理世界(物理事物)或信息世界(虚拟事物)的对象,能够被识别并集成到通信网络中。在该定义中,物理事物存在于物理世界中,并且能够被感测、驱动、连接。物理事物的实例包括周围环境、工业机器人、商品和电气设备。在该定义中,虚拟事物存在于信息世界中,并且能够被存储、处理、访问。虚拟事物的实例包括多媒体内容和应用软件。
3.在itu

t y.2060中,iot装置被视为具有通信的强制性功能和感测、驱动、数据捕获、数据存储和/或数据处理的可选功能的设备。iot装置通常与其他装置进行通信:它们可以通过网关通过通信网络进行通信、在没有网关的情况下通过通信网络进行通信或在不使用通信网络的情况下直接进行通信。而且,可以进行通信场景的组合。例如,装置可以通过本地网络(即,提供装置之间以及装置与网关之间的本地连接的网络,例如自组织网络)使用直接通信与其他装置进行通信,然后通过本地网络网关通过通信网络进行通信。
4.通信网络可以将由iot装置捕获的数据传输至应用程序和其他装置,以及将指令从应用程序传输至装置。通信网络通常提供用于可靠且有效的数据传输的能力。iot网络基础设施可以通过诸如传统的基于tcp/ip的网络的现有网络和/或诸如下一代网络(ngn)的演进网络来实现。
5.iot装置可以围绕集成电路例如以片上系统(soc)的形式构建。这样的soc可以包括安全部分,该安全部分包括安全存储器,所述安全存储器可以以安全的方式存储数据,通常仅安全部分或通过安全协议可访问该数据。
6.为了节约用电量,iot装置在不使用时可以进入低功率模式。在低功率模式下,除了退出低功率模式或接收触发以退出低功率模式所需的零部件外,iot装置的大部分零部件可以被关闭。通常,当iot装置进入低功率模式时,诸如安全存储器的soc的安全部分被禁用,并且用于对存储在安全存储器的数据进行加密和保护的所生成的密钥,例如随机加密密钥通常被丢失。结果,在低功率模式下难以以安全的方式保护存储在安全存储器中的数据。
7.安全存储器可以使用存储在非易失性存储器中的全局密钥来保护,从而在低功率模式中和低功率模式之后保持可用。使用这样的全局密钥的缺点是,安全存储器的先前的内容,即进入低功率模式之前存储在安全存储器中的数据可以被重新加载。因此,使用全局
密钥可能会导致没有反重放对策的情况。
8.此外,iot装置的安全部分甚至在其安全被完全初始化之前就可以执行命令。这可能会导致无法确保iot装置的安全的潜在的不安全情况。
9.难以确保的另一个机制是安全而精确的时钟。当iot装置进入低功率模式时,时钟通常被丢失,或者,对于可能不安全的时钟,iot装置依赖于该soc以外的其他构件。


技术实现要素:

10.本公开解决现有技术中存在的上述问题。
11.根据本公开的一方面,提出一种方法,其中,可以在低功率模式期间保护芯片组的安全部分的第一存储器的存储内容。所述低功率模式可以使所述存储内容从所述第一存储器被擦除。当进入所述低功率模式时,可以对所述存储内容的至少一部分进行加密,可选地签名,以获取加密的存储内容。可以在所述低功率模式期间将所述加密的存储内容存储在所述安全部分外的外部存储器。
12.这样,即使在低功率模式期间也确保所述第一存储器的存储内容。此外,由于所述存储内容是加密的,因而保护存储内容免遭恶意的或未经授权的使用。
13.在一实施例中,当退出所述低功率模式时,可以在所述安全部分中从所述外部存储器接收所述加密的存储内容。可以对所述加密的存储内容进行解密,可选地认证,以获取解密的存储内容,并将所述解密的存储内容加载到所述第一存储器中。
14.这样,所述第一存储器的存储内容可以以安全的方式被加载回所述第一存储器中,并且此后可能再次被使用。
15.在一实施例中,所述芯片组可以被配置为建立所述安全部分与远程客户端接入服务器之间的安全链路。此外,所述安全部分可以被配置为通过所述安全链路从所述安全部分中的客户端访问服务器接收安全戳。这里,所述安全戳可以包括用于保护所述存储内容的数据。而且,所述安全部分可以被配置为将所述安全戳存储在所述安全部分的第二存储器中,其中,在所述低功率模式下,所述安全戳可以保持存储在所述第二存储器中。当进入所述低功率模式时,所述安全部分可以被配置为使用所述安全戳对所述内容的至少一部分进行加密。此外,当退出所述低功率模式时,所述安全部分可以被配置为使用所述安全戳对所述加密的存储内容进行解密。
16.这样,通过安全链路从客户端访问服务器接收安全戳,从而保护安全戳免遭恶意的或未经授权的使用。而且,所述安全戳不能被攻击者修改。此外,所述安全戳在低功率模式期间由所述安全部分保留,从而可以在所述低功率模式之前和之后使用,以执行安全功能。而且,所述安全戳可以用于对所述存储内容进行加密或解密。
17.在一实施例中,所述芯片组可以被配置为,当所述加密的存储内容被解密时,从所述第二存储器去除所述安全戳。
18.在一个实施例中,在通过所述安全链路所述安全戳之前,芯片组可以在功能上受限制。
19.这样,在利用安全飞地执行任意命令之前,强制执行到客户端访问服务器的连接。此外,这还确保可以以最优方式应用安全功能。
20.在一实施例中,在建立所述客户端访问服务器与所述安全部分之间的安全链路后
接收到的新的安全戳可以与先前的安全戳不同。
21.这样,使对所述存储内容的反重放攻击成为可能。
22.在一实施例中,可以使用迪菲

赫尔曼(diffie

hellman)密钥交换协议来实现所述客户端访问服务器与所述安全部分之间的安全链路。
23.这样,获取可以在所述客户端访问服务器与所述安全部分之间以安全的方式交换数据的安全链路。这里,所述客户端访问服务器知道其在与正版芯片对接,而所述安全部分知道其已连接至正版客户端访问服务器。
24.在一实施例中,所述安全戳可以包括时间戳。
25.通过这种方式,可以为所述芯片组提供精确的时钟。
26.在一实施例中,所述安全部分可以基于将所述安全戳用作对加密算法的初始化向量的加密算法对所述第一存储器的存储内容进行加密。
27.通过这种方式,使对所述存储内容的反重放攻击成为可能。
28.在一实施例中,所述安全部分可以是所述芯片组的可信任执行环境的一部分。
29.在一实施例中,当进入低功率模式时,所述可信任执行环境可以控制所述加密的存储内容在所述外部存储器中的存储;并且,当退出低功率模式时,所述可信任执行环境可以控制所述加密的存储内容在所述安全部分中的加载。
30.在一实施例中,所述安全部分可以生成随机密钥。此外,当进入所述低功率模式时,所述可信任执行环境可以将所述随机密钥用作加密密钥并将所述安全戳用作初始化向量对在所述可信任执行环境中运行的计算机代码进行加密,以获取加密的计算机代码。此外,当退出低功率模式时,所述可信任执行环境可以将所述随机密钥用作加密密钥并将所述安全戳用作初始化向量对加密的所述计算机代码进行解密。
31.这样,可以在低功率模式下以安全的方式保留在可信任执行环境中运行的计算机代码。此外,使对计算机代码的反重放内存攻击成为可能。
32.在一实施例中,可以将所述随机密钥存储在所述第二存储器中。
33.这样,所述随机密钥在低功率模式期间被保留,并且可以在低功率模式之后用于对计算机代码进行解密。
34.在一实施例中,另一个安全链路可以将所述安全部分通信连接至所述可信任执行环境。所述另一个安全链路可以使用随机共享密钥以对所述另一个安全链路进行加密保护。
35.这样,所述另一个安全链路可以用于在所述可信任的执行环境与所述安全部分之间以安全的方式传输数据。
36.在一实施例中,所述随机共享密钥可以将所述随机密钥绑定至所述安全戳。
37.这样,可以在单一操作中对所述随机密钥和所述安全戳进行加密。
38.在一实施例中,可以利用新的随机共享密钥在每个低功率模式之后重新初始化所述另一个安全链路。
39.这样,使反重放攻击成为可能。
40.在一实施例中,可以使用keyprot协议来实现所述另一个安全链路。
41.根据本公开的另一方面,提出一种装置,该装置可以包括被配置为执行根据所描述的实施例中的任一个的方法的步骤的处理器。
42.根据本公开的另一方面,提出一种装置,该装置可以包括被配置为执行根据所描述的实施例中的任一个的方法的步骤的集成电路。
43.在一实施例中,所述装置可以是物联网(internet of things)装置。
44.根据本公开的另一方面,提出一种可以在计算机可读非暂时性存储介质上实现的计算机程序产品,其中,所述计算机程序产品可以包括计算机可执行指令,所述计算机可执行指令在被处理器执行时可以使所述处理器执行根据所描述的实施例的中的任一个的方法的步骤。
45.根据本公开的另一方面,提出一种计算机可读非暂时性存储介质,所述计算机可读非暂时性存储介质可以包括计算机可执行指令,所述计算机可执行指令在被处理器执行时可以使所述处理器执行根据所描述的实施例中的任一个的方法的步骤。
46.下面对实施例进行更详细的说明。然而,应理解的是,这些实施例不可以被解释为限制本公开的保护范围。
附图说明
47.接下来,参考相应的附图标记表示相应的部分的所附示意图仅以示例性的方式对实施例进行说明,其中:
48.图1示出经由网络连接到服务器的装置的示例性实施例。
49.图2示出经由网络连接到服务器的装置的另一示例性实施例。
50.图3示出实现迪菲

赫尔曼协议的示意图。
51.图4示出通过tee实现迪菲

赫尔曼协议的示意图。
52.图5更详细地示出图2的实施例的数据流。
53.图6是安全飞地初始化协议的示意图。
54.图7是当装置进入低功率模式时的协议的示意图。
55.图8是当装置退出低功率模式时的协议的示意图。
56.这些图仅用于说明的目的,而不作为对权利要求书所规定的范围或保护的限制。
具体实施方式
57.当在以下示例中提及客户端装置时,应理解的是,本公开不限于在客户端装置中的应用。
58.图1示出经由网络可通信地连接至服务器的诸如iot装置的装置1的一示例性实施例。该装置可以包括安全部分,亦称安全飞地2,其通常是soc上最安全的硬件块。该安全飞地通常比例如soc上的可信任执行环境(tee)更安全,并且可以是tee的一部分。安全飞地2可以具有自己的独立安全启动过程,以确保其完全安全且可以执行特定安全功能。
59.安全飞地2可以包括存储块7,例如内部ram,以存储安全飞地2的数据和代码。优选地,该存储块7仅可由安全飞地2访问。当装置进入低功率模式时,由于存储块7通常是易失性存储器,因而存储在存储块7中的数据可能会丢失。
60.安全飞地2可以包括即使在装置进入低功率模式时也能够存储数据的一个或多个常开寄存器5。这些常开寄存器5例如可以存储安全飞地2退出低功率模式后立即需要的数据。常开寄存器5可以具有安全时钟3和密钥表4。安全时钟3和密钥表4可以与常开寄存器5
分开放置。
61.安全飞地2可以向外部存储器20发送数据以及从外部存储器20接收数据。优选地,外部存储器20是装置1的一部分,但是可选地也可以在装置1的外部。外部存储器20被配置为在装置1进入低功率模式时使数据被存储。优选地,外部存储器20是允许外部存储器20与装置1一起进入低功率模式的非易失性存储器。可选地,外部存储器20可以是易失性存储器,在这种情况下,外部存储器20在装置1进入低功率模式以保存其内容时不应被置于低功率模式。
62.安全飞地2可以包括加密处理器6。加密处理器6可以用于对安全飞地2的存储块7上的代码和数据进行加密(并且可选地签名)或解密(并且可选地进行认证)。加密处理器6被配置为执行加密功能,并且可以使用加密密钥并根据加密功能使用初始化向量(iv)作为输入。
63.所述装置可以被配置为通过网络10与外部客户端访问服务器11进行通信。客户端访问服务器11可以是与包括装置1的多个客户端通信连接的服务器。当装置1是音频、视频或其他媒体相关装置时,网络10可以是ott(over the top)网络、数字视频广播(dvb)网络或其他媒体相关网络。装置1可以是iot装置,在这种情况下,网络10进一步或可选地包括iot网络的特征,或者是iot网络。
64.在一实施例中,安全飞地2在装置启动时重置常开寄存器5。接下来,安全飞地2初始化与客户端访问服务器11的安全链路。这样,安全飞地2和客户端访问服务器11可以确信通过安全链路的数据在正确的接收方与发送方之间进行通信。客户端访问服务器11与安全飞地2之间的这种安全链路的一实现例基于迪菲

赫尔曼密钥交换协议。利用图3对在本公开的背景下使用迪菲

赫尔曼密钥交换协议的一实施例进行2更详细的说明。
65.图3示出迪菲

赫尔曼密钥交换协议的实现例的示意图。在例如提示初始化安全飞地2之后,安全飞地生成(51)由密钥的私有部分(私有装置密钥)和密钥的公有部分(公有装置密钥)组成的随机密钥对。这通常是随机密钥对。私有装置密钥可以是nonce(用于加密目的的仅被使用一次的数字或位串)。可以基于该私有装置密钥来计算该公有装置密钥。
66.安全飞地2将公有装置密钥传输(41)至客户端访问服务器11。该传输可以是直接的,或者可以通过装置1的安全级别较低的另一部分进行。安全飞地2还可以将其唯一id或装置1的唯一id传输至客户端访问服务器11。安全飞地2还可以传输其安全飞地证书以证明其是已认证的装置。客户端访问服务器11可以检查属于装置1或安全飞地2的该唯一id,以验证试图与客户端访问服务器11建立安全链路的安全飞地2的身份,并且可能验证该唯一id是否属于实际生产的芯片。此外,安全飞地2可以例如基于客户端访问服务器和装置两者皆知的公钥基础设施来对传输(41)进行签名。该装置可以使用其私有pki密钥对消息进行签名。这可以用于检查认证、不可否认性、以及消息在传输后未被更改。
67.在接收到传输41后,客户端访问服务器11检查传输(42)的参数。这意味着例如检查由安全飞地2传输的签名或唯一id。
68.接下来,客户端访问服务器11生成(53)由密钥的私有部分(私有服务器密钥)和密钥的公有部分(公有服务器密钥)组成的密钥对。这可以是随机密钥对。所述私有服务器密钥可以是nonce,并且可以基于该私有服务器密钥来计算该公有服务器密钥。
69.接下来,客户端访问服务器11可以基于公有装置密钥和私有服务器密钥来计算
(54)安全链路密钥。该安全链路密钥可以用于保护待形成于客户端访问服务器11与安全飞地2之间的安全链路。
70.在计算安全链路密钥后,客户端访问服务器11将该公有服务器密钥传输(42)至安全飞地2。该传输(42)可以通过装置1的安全级别较低的部分进行,或者直接传输至安全飞地2。客户端访问服务器11还可以传输其服务器证书,该服务器证书用于证明通过传输(42)发送的公有服务器密钥确实由客户端访问服务器11拥有。此外,客户端访问服务器11可以例如基于客户端访问服务器和装置两者皆知的公钥基础设施用其签名对传输(42)进行签名。
71.在接收到传输(42)后,安全飞地2检查(55)传输(42)的参数(签名、服务器证书),并基于安全飞地2的私钥和客户端访问服务器11的公钥来计算安全链路密钥。现在,安全飞地2和客户端访问服务器11两者皆对该安全链路密钥达成一致。然后,可以使用该密钥对通过安全飞地2与客户端访问服务器11之间的安全链路传输的数据进行加密和解密。
72.安全飞地2可以发送(43)例如在计算安全链路密钥时用签名署名的安全飞地证书,以表明例如安全飞地2已计算所述安全链路密钥。
73.一旦建立客户端访问服务器11与安全飞地2之间的安全链路(在检查(56)传输(43)的参数之后),客户端访问服务器11就可以向安全飞地2发送44安全戳(可能用签名署名)。由于所述安全戳是通过安全链路发送的,因而只有建立该安全链路的安全飞地2才可以接入所述安全戳。这确保安全戳不可以被潜在的攻击者捕获或修改。所述安全戳包含启用安全飞地2的安全功能的数据。尤其,当装置进入低功率模式时,所述安全戳使存储在存储块7中的数据的加密成为可能。
74.所述安全戳可以包括随机数。可选地或进一步地,所述安全戳可以包括表示日期和/或时间的时间戳。使用时间戳的优点在于,在启动时和/或退出低功率模式时,所述安全戳还可以用作对装置1的时钟信号。例如,可以基于所述时间戳来设置或更新安全时钟3。
75.一旦建立客户端访问服务器11与安全飞地2之间的安全链路,并且安全飞地2已接收安全戳,且已检查(57)传输(44)的参数,所述安全戳通常被存储(58)在常开寄存器5中,并且安全飞地2被初始化。
76.接下来,可以启用安全飞地2的安全功能。可以使安全飞地1的安全功能仅在建立与客户端访问服务器11的安全链路并接收安全戳后才被启用。这样做的好处是,由于使用安全戳对存储块7上的数据进行加密,因而在启用安全飞地2的安全功能之前设置安全戳,确保例如若需要可以对存储块7上的数据进行加密。
77.初始化之后,安全飞地2可以生成可被安全飞地2用来对诸如存储块7中的数据的其自身的内容进行加密的随机密钥(kse)。该随机密钥(kse)可以被存储在常开寄存器5中,例如在密钥表4中。
78.当进入低功率模式时,装置限制供给至装置的某部分的电量。结果,可以擦除存储在存储块7中的数据。为了保存存储块7的数据,可以在被擦除之前以安全的方式将存储块7的存储内容存储在外部存储器20上。安全飞地2通常仅在已从客户端访问服务器11接收到安全戳后才被允许进入低功率模式。
79.当进入低功率模式时,安全飞地2可以使用加密处理器6对存储块7上的内容进行加密。可以将随机密钥(kse)用作密码密钥并且将安全戳用作iv来执行由加密处理器6执行
的加密功能。可选地,加密处理器6还可以对加密的内容进行签名。
80.然后,将加密的内容存储(31)在外部存储器20中,之后,安全飞地2可以进入低功率模式。
81.当安全飞地2退出低功率模式时,例如在接收到唤醒数据包形式的唤醒触发器后,可以执行恢复内容并根据其内部rom代码来重新初始化其自身的操作。于此,存储在外部存储器20上的加密的内容可以被安全飞地2接收,此后,加密处理器6可以对该内容进行解密。为了解密,可以再次将随机密钥(kse)用作加密密钥并将安全戳用作iv,这些可以从在低功率模式期间未被擦除的常开寄存器5获取。在加密的内容已被签名的情况下,加密处理器6可以对该内容进行认证。
82.在加密处理器6完成解密后,可以将解密的内容存储在存储块7中。因此,可以安全确实地恢复在低功率模式期间存储在外部存储器20中的存储块7的存储内容。
83.接下来,安全飞地2可以清除安全戳寄存器,即,从常开寄存器5中移除安全戳。这迫使安全飞地2通过初始化客户端访问服务器11与安全飞地2之间的新安全链路来被重新激活,从而在下一个低功率模式之前获取新的安全戳。如上所述,可以再次使用迪菲

赫尔曼协议来实现该安全链路。
84.优选地,新的安全戳与最后的安全戳不同,以使得可以以每个低功率模式不同地对存储内容进行加密。这有利地使对安全存储器的反重放攻击成为可能。当新的安全戳包括新的最新时间戳时,其可以用于将装置的时钟(重新)设置为正确的时间。
85.图2示出经由网络可通信地连接至服务器的诸如iot装置的装置1的另一示例性实施例。该示例性实施例可以具有上述功能的全部或部分。在该实施例中,安全部分或安全飞地2是tee 12的一部分。tee 12是装置1的一部分,并且可以嵌入到soc中。tee 12提供在装置1的富执行环境上运行的不可信任应用程序与在tee 12上运行的可信任应用程序之间的数据隔离。tee 12被认为不如安全部分或安全飞地2安全,但通常具有更多功能。
86.tee 12可以具有包含tee 12的代码或数据的其自身的存储块17。该代码或数据在装置1的低功率模式期间也需要被保护。所述存储块17可以是内部ram。在那种情况下,当装置1进入低功率模式时,由于存储块17是一种易失性存储器,因而存储在存储块17中的数据可能会丢失。可选地,存储块17可以是一种非易时失性存储器。在那种情况下,当装置1进入低功率模式时,可以保留存储在存储块17中的数据。
87.tee 12还可以具有可以存储装置1的加密密钥的存储块的密钥表15。可以在将加密密钥存储在密钥表15中之前先对其进行加密和签名。
88.tee 12还可以包括加密处理器16。加密处理器16可以用于对tee 12的存储块17上的代码和数据进行加密(并且可选地签名)或解密(并且可选地进行认证)。加密处理器16被配置为执行加密功能,并且可以使用加密密钥并根据加密功能使用初始化向量(iv)作为输入。
89.安全飞地2的初始化可以以与上述图3的实施例相同的方式或以图4所示的方式执行。
90.图4示出通过tee实现迪菲

赫尔曼协议的示意图。步骤与在图3所示并在前文中讨论的相同。但是,tee通过向安全飞地发送(40)初始化请求来启动初始化过程。
91.传输40、41、42、43、44可以通过tee进行,或者可以仅使选定的传输40、41、42、43、
44经由tee传输。其余过程与图3的实施例相同,这里不再赘述。在协议的末尾,安全飞地2被初始化。
92.在安全飞地2的初始化之后,安全飞地2还可以生成可被tee 12用来对诸如存储块17中的数据的其自身的内容进行加密的随机密钥(ktee)。该随机密钥(ktee)可以被存储在安全飞地2的常开寄存器5中,例如在密钥表4中。该随机密钥ktee可以在与安全飞地2生成随机密钥kse的同时生成,但也可以在另外的时间生成。
93.该实施例中的tee 12和安全飞地2两者皆可以具有keyprot块(分别为9和8)。这些块用于保护安全飞地密钥(例如,密钥ktee)免遭tee 12访问或诸如ree(富执行环境)的装置1的通常安全等级较低的其他部分的影响。
94.keyprot块8、9用于启用keyprot机制。该keyprot机制例如被记载于国际专利申请公开wo 2015/007549 al,下面将对其进行更详细的说明。
95.在安全飞地2的初始化期间,还可以初始化keyprot块8、9。这两个块8、9能够生成在两个keyprot块8、9之间共享的随机共享密钥kp。用这种方式形成安全链路,并且可以使用该随机共享密钥kp对数据进行加密和解密。
96.使用keyprot机制的优点是,完全地保护通过由keyprot机制形成的安全链路传输的数据,因此,该数据不会以非保护形式通过该路径从安全飞地2被传输到tee 12。
97.keyprot机制仅仅是安全飞地2与tee 12之间的可能的安全链路的一个示例。为了形成安全飞地2与tee 12之间的安全链路,可以采用任意其他方法。此外,可以形成不固定的链路。
98.当进入低功率模式时,安全飞地2使用随机共享密钥kp对随机密钥ktee进行加密。此外,安全飞地2可以在随机密钥ktee上转移安全戳。一旦转移到随机密钥ktee上,就可以将安全戳保持透明或使用随机共享密钥kp对其进行加密。优选地,将使用随机共享密钥kp在单一操作中对随机密钥ktee和所述安全戳进行加密。
99.tee 12可以以加密或解密的形式将接收到的加密的ktee和安全戳存储在密钥表15中。tee 12可以使用加密处理器16来使用解密的随机密钥ktee和安全戳以保护其自身的代码和数据。可以将随机密钥(ktee)用作加密密钥并将所述安全戳用作iv来执行由加密处理器16执行的加密功能。可选地,加密处理器16还可以对加密的内容进行签名。
100.加密的内容可以可选地被存储(32)在外部存储器20中,之后,tee 12可以进入低功率模式。
101.当装置1退出低功率模式时,安全飞地可以例如在接收到唤醒数据包形式的唤醒触发器后被tee 12唤醒,并且,基于其rom代码,可以初始化keyprot块8、9以启用keyprot机制。这样,生成新的随机共享密钥kp,其又被安全飞地2和tee 12共享。以与之前相同的方式,安全飞地可以使用新的随机共享密钥kp对存储在常开寄存器的ktee和安全戳进行加密和绑定。该新的加密的ktee和安全戳可以由tee存储在密钥表15中。
102.若加密的内容被存储在外部存储器20上,则可以tee 12接收(32)。当加密的内容对tee 12可用时,加密处理器16可以对内容进行解密。为了解密,可以再次将可从密钥表15获取的随机密钥(ktee)用作加密密钥以及将安全戳用作iv。当加密的内容已被签名时,加密处理器16可以对内容进行认证。
103.在加密处理器16完成解密后,解密的内容可以被存储到存储块17中。因此,可以安
全确实地恢复在低功率模式期间存储在外部存储器20中的存储块17的存储内容。
104.图5更详细地示出图2的实施例的数据流的一些示例。可以存在更多的数据流路径。
105.安全飞地2的存储块7和加密处理器6可以相互传输数据。tee 12的存储块17和加密处理器16也可以相互传输数据。常开寄存器5的密钥表4可以将数据传输至keyprot块8和加密处理器6。在keyprot机制中,例如在keyprot块8、9之间的通信,可以使用来自安全时钟3的输入或可以为安全时钟3生成输出。keyprot块8可以与密钥表15进行通信。密钥表15可以与keyprot块9进行通信。keyprot块9可以与加密处理器16进行通信。
106.可在客户端访问服务器11与装置1之间共享的数据可以包括客户端访问服务器证书100、安全戳101以及安全飞地证书102。可以在安全飞地2与客户端访问服务器11之间不存在安全链路的情况下发送客户端访问服务器证书100和安全飞地证书102。
107.图6是安全飞地初始化协议的示意图。
108.在步骤60中,提示安全飞地2重置或初始化。在步骤61中,安全飞地2重置或初始化常开寄存器。接下来,在步骤62中,安全飞地2重置或初始化keyprot块8、9的随机共享密钥kp。
109.在步骤63中,初始化安全飞地2与客户端访问服务器11之间的安全链路。在已建立安全链路后,由客户端访问服务器11将安全戳提供至安全飞地2。在步骤64中,安全飞地2检查步骤63是否进行得顺利。若有问题,则重新执行步骤63。若没有问题,则安全飞地2继续执行步骤65,将安全戳存储在常开寄存器5中。
110.在步骤66中,安全飞地2可以不断更新安全戳。这可能以固定或可变的间隔在被提示这样做时发生。
111.在步骤67中,安全飞地2生成随机密钥(kse、ktee)并将其存储在常开寄存器5中。完成该步骤后,在步骤68中,安全飞地2已到达其初始化协议的末尾。
112.图7是当装置进入低功率模式时的协议的示意图。
113.在步骤70中,提示安全飞地2进入低功率模式。在步骤71中,检查安全时钟值。若所述安全时钟值不是特殊值(例如,零),则安全飞地2可以继续进行步骤72。若所述安全时钟值是特殊值(例如,零),则安全飞地可以继续进行步骤74(见下文)。
114.在步骤72中,安全飞地可以用随机密钥kse对其内部存储器进行加密并且可能进行签名,并将其存储至外部存储器20中。接下来,在步骤73中,安全飞地可以用keyprot机制对随机密钥ktee进行加密并将其存储在tee密钥表15中。然后,该ktee可以用于对tee 12的计算机代码进行加密。
115.接下来,在步骤74中,安全飞地2进入低功率模式并等待提示退出低功率模式。
116.图8是当装置退出低功率模式时的协议的示意图。
117.在步骤80中,提示安全飞地2退出低功率模式。在步骤81中,安全飞地重置或初始化keyprot机制的随机共享密钥kp。然后,安全飞地2输出用keyprot加密的ktee,并且输出安全戳。ktee和安全戳可以用于对tee 12的计算机代码解密。
118.接下来,在步骤82中,安全飞地2使用kse和安全戳作为初始化向量对外部存储器20进行解密并且可能进行验证,并将其存储至存储块7中。
119.接下来,在步骤83中,安全飞地2清除常开寄存器5中的安全戳。
120.最后,从步骤a起,安全飞地2经历从步骤63开始的初始化协议。
121.一个或多个实施例可以被实现为用于与计算机系统一起使用的计算机程序产品。程序产品的程序可以定义实施例的功能(包括本说明书中描述的方法),并且可以被包含在各种计算机可读存储介质上。所述计算机可读存储介质可以是非暂时性存储介质。说明性的计算机可读存储介质包括,但不限于:(i)可以永久存储信息的不可写的存储介质(例如,计算机内的只读存储装置,例如cd

rom驱动器可读的cd

rom光盘、rom芯片或任意类型的固态非易失性半导体存储器);以及(ii)可写存储介质,例如,硬盘驱动器或可存储可变信息的任意类型的固态随机存取半导体存储器、闪存。
122.上述实施例中的两个或更多个可以以适当的方式被组合。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1