在多核系统的不同模式之间的切换期间的安全环境管理的制作方法

文档序号:6359979阅读:156来源:国知局
专利名称:在多核系统的不同模式之间的切换期间的安全环境管理的制作方法
技术领域
本发明总体涉及用于管理芯片的安全环境的装置和方法。本发明尤其涉及在多核系统中,在激活模式和低功率的工作模式之间的过渡阶段期间的敏感数据的存储和/或检索。
背景技术
可以执行本部分中所描述的方法,但是这些方法不一定是以前已设想或已执行的方法。因此,除非文中另有说明,本部分中所描述的方法不是本申请中的权利要求的现有技术,而且不认为因包含在本部分中而视为现有技术。此外,所有实施方式不需要用来解决本部分中所提出的全部或者甚至任一问题。片上系统(SoC)平台通常包括至少一个嵌入式中央处理单元(CPU)、至少一个嵌 入式功能单元(在本领域的普通技术人员的术语中也被称为互联网协议(IP))、内存管理单元(MMU)和/或至少一个寄存器,其中嵌入式功能单元可以为存储器(例如,嵌入式静态随机存取存储器(eSRAM)类型的存储器)。SoC的部件通常通过内部总线矩阵相互连接。在运行时,可以引导SoC平台操作敏感数据,例如,加密密钥或未编码的机密数据,比如密码。为了防止未经授权地访问和/或误用这些敏感数据,可以将SoC平台的架构分为两个在物理上和功能上分开的环境用于操作敏感数据的安全环境和用于处理非敏感数据的公共环境。安全环境特别地包括一个或多个专用的安全存储器和/或一个或多个安全硬件寄存器,用以存储敏感数据,而公共环境可以包括其自身专用的存储器和/或硬件寄存器,用以存储公共数据。例如,通过具有安全扩展(例如安全性扩充技术)的进阶精简指令集机器(ARM)SoC平台实现这种分隔。可利用处理器、总线矩阵和IP自身中所嵌入的硬件(HW)和/或软件(Sff)机制实现这两种环境之间的清晰的边界。该边界确保安全环境中的安全数据不会被属于公共环境的任何公共部件访问。这通常可以是平台的正常运行模式的情况,其中,存储器、IP和处理器保持或保留供电。然而,一些电源模式是可用的,其中,可将一个或多个安全部件断电,这意味着必须在特定模式期间保存这些安全部件的至少部分内容,之后恢复这些内容。这些模式可用于优化芯片的电源策略的目的且可减少能源泄漏。包括在安全环境中的专用的持久性安全存储器可以用于在从通电模式切换到节能模式之前安全地存储安全环境中存在的敏感数据。然而,可能存在没有足够的安全存储空间来用于保存所有的安全内容的情况。因此,在这种情况下,需要在安全环境外部存储敏感数据,例如,非安全存储器中。希望可以高效且安全地进行这种存储。由于敏感数据可以分散在多个核之间,因此,当SoC平台包括具有多个用于嵌入安全扩展的核的CPU时,该任务变得特别困难。在将安全数据存储在非安全存储器期间,另一个重要的问题可能是能够确保数据的机密性和完整性,以避免安全信息泄露到公共环境中。由于一个或几个约束条件对于低功率模式来说可能是固有的,因此可能会考虑的另一方面涉及性能。对性能的约束条件的影响可以优选尽可能低,从而不危及总体平台策略。因此,本发明的实施方式目的在于解决以下问题中的至少一些 如何在请求切换到第二运行模式之前在第一运行模式下存储多核系统所处理的敏感数据。 确保所存储的敏感数据的机密性和/或完整性。 限制对系统性能的影响。

发明内容
为了满足这些需求,本发明的第一方面涉及一种管理第一核和至少一个第二核从第一运行模式切换到第二模式的方法,所述第一核和所述至少一个第二核都包括在处理装 置的处理器中。所述处理装置及所述处理器的第一核和第二核在处于第一模式时适用于安全地处理敏感数据。所述处理装置还包括用于控制切换到所述第二模式的控制器。所述处理器联接存储单元,所述存储单元适用于在所述第一核和所述第二核处于所述第二模式期间确保其中数据的持久性。该方法包括以下步骤 由所述控制器向所述第一核和所述第二核发送第一消息的发送步骤; 当所述第一核和所述第二核分别接收到所述第一消息时,安全地存储由所述第一核处理的敏感数据的第一存储步骤;安全地存储由所述第二核处理的敏感数据的第二存储步骤; 由所述第二核向所述第一核发送第二消息的步骤,所述第二消息指示所述第二存储步骤的完成; 当所述第一核接收到所述第二消息时,由所述第一核驱动将其它敏感数据安全地存储在所述存储单元中的第三存储步骤; 由所述第一核向所述控制器发送第三消息的步骤,所述第三消息指示所述第三存储步骤的完成; 当所述控制器接收到所述第三消息时,由所述控制器向所述第一核发送确认所述第三消息的接收的第四消息的步骤; 当所述第一核接收到所述第四消息时,由所述第一核向所述第二核发送第五消息的步骤; 当所述第一核和所述第二核分别接收到所述第四消息和所述第五消息时,所述第一核和所述第二核进入所述第二模式的步骤。(所述第一核所驱动的)所述第三存储步骤可以包括存储由所述处理装置所处理的敏感数据,例如所述第一核和所述第二核所共有的上下文(即处理器数据)。然而,应当注意,(可替选地或者附加地)该步骤可以包括存储未绑定到处理装置自身的敏感数据,例如IP上下文或存储器上下文。根据第一方面的一些实施方式的方法可以允许通过提供有效的关闭各核的方式来降低多核处理器的功耗,而不危害安全环境的敏感数据的机密性。根据一些实施方式的方法可以提供一种可靠且有效的与处理器的不同核的切换同步的解决方案。此外,在典型的实施方式中,当核处于第二模式时可被存储的数据量仅受存储单元的可用空闲空间限制。因此,在一些实施方式中,不需要存储单元出于保护安全数据的目的而提供安全机制。因此,可以降低该方法的总成本和性能开销。在一些实施方式中,所述第一存储步骤、第二存储步骤和第三存储步骤中的至少一个步骤通过以下方式执行 收集待存储的敏感数据; 根据至少一组第一组数据,加密收集的敏感数据; 将所述第一组数据存储在包括在所述处理器中的安全存储器中,所述安全存储器在所述第一核和所述第二核处于所述第二模式期间是持久稳固的; 将加密的敏感数据存储在所述存储单元中。
根据一些实施方式,该方法可以还包括在加密步骤之前的步骤,其中,将所述收集的敏感数据分成敏感数据的子集。于是,在所述加密步骤期间,各自的第一组数据可以用于敏感数据的每个子集,尤其提高本方法的保密级别。在一些实施方式中,可以仅将种子值存储在所述安全存储器中,所述种子值用于利用加密算法生成所述各自的第一组数据。因此,减小存储在安全存储器中的数据的大小。根据一些实施方式,为了提高敏感数据的完整性,该方法可以还包括通过将加密散列函数应用到所述加密的敏感数据或每个加密的子集而生成散列值的步骤,以及将计算的散列值存储在所述安全存储器中的步骤。根据一些实施方式,当从所述第二模式切换回到所述第一运行模式时,该方法可以还包括以下步骤 检索存储在所述存储单元中的所述加密的敏感数据或所述子集; 检索存储在所述安全存储器中的所述第一组数据; 使用检索到的第一组数据解密检索到的加密的敏感数据或所述子集; 恢复解密的敏感数据。根据一些实施方式,该方法可以还包括以下步骤 检索存储在所述安全存储器中的所述散列值, 为所述检索到的加密的敏感数据或每个加密的子集计算散列值,以及 将从所述安全存储器中所检索到的散列值与所计算的散列值相比较; 如果所计算的散列值与存储在所述安全存储器中的散列值不匹配,则宣布相应的检索到的加密的敏感数据或相应的加密的子集出错或被改变。第二方面涉及一种处理装置,该处理装置包括处理器,所述处理器具有第一核和至少一个第二核;控制器,所述控制器用于管理从第一运行模式切换到第二模式。所述处理装置及所述第一核和所述第二核在处于第一模式时适用于安全地处理敏感数据。所述处理器可连接至存储单元,所述存储单元适用于在所述第一核和所述第二核处于所述第二模式期间确保其中数据的持久性。所述控制器配置成·向所述第一核和所述第二核发送第一消息; 当接收到第三消息时,向所述第一核发送确认第三消息的接收的第四消息。所述第一核配置成 当接收到所述第一消息时,安全地存储所述第一核所处理的敏感数据;
当接收到第二消息时,将其它敏感数据安全地存储在所述存储单元中; 向所述控制器发送所述第三消息,所述第三消息指示所述其它敏感数据的存储的完成; 当接收到所述第四消息时,向所述第二核发送第五消息; 当接收到所述第四消息且已发送所述第五消息时,进入所述第二模式。所述第二核配置成 当接收到所述第一消息时,安全地存储所述第二核所处理的敏感数据; 向所述第一核发送所述第二消息,所述第二消息指示所述第二核所处理的敏感数据的存储的完成; 当接收到所述第五消息时,进入所述第二模式。根据一些实施方式,所述第一核和/或所述第二核配置成通过以下步骤安全地存储所述敏感数据 收集待存储的敏感数据; 根据至少一组第一组数据,加密收集的敏感数据; 将所述第一组数据存储在包括在所述处理器中的安全存储器中,所述安全存储器在所述第一核和所述第二核处于所述第二模式期间是持久稳固的; 将加密的敏感数据存储在所述存储单元中。第三方面涉及一种处理系统,该处理系统包括根据第二方面的处理器、和存储单元,该存储单元适用于在所述第一核和所述第二核处于所述第二模式期间确保其中数据的持久性。第四方面涉及一种电子装置,该电子装置包括根据第三方面的处理系统。第五方面涉及一种计算机程序产品,该计算机程序产品包括一个或多个存储的指令序列,所述指令序列对于处理器是可访问的,所述指令序列在被所述处理器执行时导致所述处理器进行根据以上所定义的第一方面的方法的步骤。


在附图中,通过示例的方式而非限制的方式示出本发明,在附图中类似的附图标记指代类似的元件,附图中图I为处理装置的示意图;图2为示出用于将CPU的第一核和第二核的当前模式切换到第一核和第二核不能确保全部敏感数据的持久性的模式的过程的步骤的流程图;图3为示出以加密形式存储敏感数据的过程的步骤的流程图;图4为示出恢复存储在存储器中的加密的敏感数据的过程的步骤的流程图。
具体实施例方式在理解说明书及其相关的权利要求时,要以非排它的方式理解例如“包括”、“包含”、“并入” “含有” “是”和“具有”的表达,即理解成容许还存在未明确限定的其它项目或部件。也可以将提及的单数理解为复数,反之亦然。下面参照图1,其中示出了根据实施方式的处理装置10。该处理装置包括处理器或CPU 20、第一 IP 70、第二安全IP 75,MMU 30和公共存储器PD 40。MMU 30管理CPU 20对公共存储器40的访问。通常,MMU被集成到CPU 20上,且可适用于处理对第一 IP、第二安全IP和公共存储器的访问。在本实施方式中和在以上描述中,处理装置10的架构基于分别针对CPU 20、第一 IP 70、第二安全IP 75、MMU 30和公共存储器40的单独的单元。然而,本领域的技术人员应当理解,各种其它架构可以是合适的。尤其是,例如,可将处理装置的各部件组合在一个芯片上。作为一示例,处理装置可以为SoC平台。处理装置可以被嵌入移动电话、个人助理装置或嵌入式装置中。处理装置也可以作为笔记本电脑或台式电脑的一部分。处理装置尤其可以适用于运行操作系统和/或特定平台软件。CPU包括第一核50和第二核60。每个核可以被看作是一个处理器,该处理器尤其包括其自身的用于处理指令的逻辑运算部件。在图I所示的实施方式中,CPU包括两个核。然而,应当理解,CPU可以包括大量的核,例如3个、4个或更多个核。
第一核50布置成提供两个依靠基于硬件的访问控制的虚拟处理器52和虚拟处理器54 :第一虚拟处理器52适用于处理在命名为公共环境的背景中的非敏感数据C1_PD,而第二虚拟处理器54致力于处理在命名为安全环境的背景中的敏感数据C1_SD。第二核60布置成提供两个依靠基于硬件的访问控制的虚拟处理器62和虚拟处理器64 :第一虚拟处理器62适用于处理公共环境中的非敏感数据C2_PD,而第二虚拟处理器64致力于处理安全环境中的敏感数据C2_SD。尤其是,CPU适用于处理敏感数据CPU_SD 56。CPU所处理的敏感数据CPU_SD 56可以为与CPU和核所共有的软件和硬件环境相关的数据。CPU包括共享的持久性安全存储装置55,该安全存储装置55用于安全地存储安全环境的敏感数据,即使在第一核和/或第二核处于低功率模式或备用模式期间。第一核50和/或第二核60也可以或者可替选地包括持久性安全存储器(图I中未示出),该安全存储器用于存储安全环境的敏感数据,即使在第一核和/或第二核处于低功率模式或备用模式期间。第一 IP 70仅适用于管理公共环境中的非敏感数据IP1_PD。第二安全IP 75适用于处理安全环境中的敏感数据IP2_SD。公共存储器40在第一核和/或第二核处于低功率模式或备用模式期间是持久稳固的。换句话说,存储在公共存储器中的数据的存储量和持久性是不受核的运行模式支配的。处理装置10还包括联接CPU 20的电源管理控制器80。电源管理控制器80处理该处理装置10的多个运行模式之间的转变。一种运行模式定义一种状态,在该状态中,核提供一组在给定的性能水平上的给定功能。例如,全功能模式可以对应于核提供在其最高性能水平上的其全部功能的状态。低功率模式可以对应于核仅提供在低性能水平上的其功能子集的状态,而且核的一些不使用的部分可以被断电。备用模式可以对应于核仅提供对事件功能唤醒的状态,而且核的几个部分被断电。根据第一核和第二核的设计,电源管理控制器80可以独立地或共同地管理第一核和第二核的不同模式之间的转变。电源管理控制器80也可以配置成处理第一 IP 70和/或第二安全IP 75的两种或更多种运行模式之间的转变。在基本设置中,电源管理控制器可以配置成处理第一模式和第二模式之间的转变,例如,第二模式为备用模式、低功率模式、断电模式或限制功能模式。在一实施方式中,CPU 20为ARM CPU, ARM CPU具有安全扩展,例如安全性扩充技术。下面参照图2,其中示出根据一些实施方式的用于将CPU的第一核和第二核的当前模式切换到第一核和第二核不能确保全部敏感数据的持久性的模式的过程的步骤。例如,第一核和第二核都处于全功能模式,且电源管理控制器已接收用于将第一核和第二核从给定的运行模式切换到备用模式的指令。当两个核都处于备用模式时,不能将敏感数据C1_SD和C2_SD安全地存储在核内,因此,当两个核从备用模式回到全功能模式时不能恢复敏感数据C1_SD和C2_SD。具体地,敏感数据C1_SD和C2_SD通常太大而不能全部保存在第一和第二持久性安全存储器55内。必须保存和恢复的安全环境的数据可以具有几个来源。·所述数据包括敏感数据C1_SD和C2_SD,敏感数据C1_SD和C2_SD可以包括第一核和第二核的背景数据。这些数据取决于每个核的状态,意味着每个核都必须保存一次这些数据。例如,关于ARM核,这些数据可以是在称为“CP15”的系统控制协处理器中所发现的整个系统控制和配置信息。这些数据也可以包含通过例如中断控制器链接到核的IP (图I中未示出)的背景数据。CPU还可以包括也必须保存和恢复的与总体CPU背景数据相关的敏感数据CPU_PSD。这些在总体上保存一次的数据可以与IP (图I中未示出)的特定寄存器相关,IP链接到CPU,在具体示例中,与中断控制器或窥探控制单元相关。待存储和恢复的数据可以包括一个或多个安全随机存取存储器(图I中未示出)的内容,这些存储器包括在第一核和/或第二核和/或CPU中。所述存储器可以包括与安全环境相关的堆栈和/或堆的内容、指令、静态数据。在至少一些实施方式中,这些数据必须被保存一次。敏感数据IP2_SD针对于第二安全IP的内容。最初,第一核和第二核处于第一模式。将第一核和第二核中的一个核确定为主核,将另一个核确定为辅核。在图2中,主核为第一核50,而辅核为第二核60。在步骤100中,在接收到将第一核和第二核切换到第二模式的请求时,电源管理控制器向主核和辅核发送第一同步消息。第一同步消息包括指示主核和辅核必须准备自身进入第二模式的信息。在步骤100的一实施方式中,切换到第二模式的请求为安全中断。本实施方式允许在切换中所涉及的部件间的直接通信,而没有任何附加的与操作系统代码的链接。在步骤110中,主核将敏感数据C1_SD存储在共享的持久性安全存储装置55中。在存储敏感数据C1_SD之前,为了释放存储空间,可以清除掉持久性安全存储装置55中存在的非必要数据。或者,在一实施方式中,可以将敏感数据C1_SD以加密的形式存储在公共存储器40中。在步骤112中,辅核将敏感数据C2_SD存储在共享的持久性安全存储装置55中。在存储敏感数据C2_SD之前,为了释放存储空间,可以清除掉持久性安全存储装置55中存在的非必要数据。或者,在一实施方式中,可以将敏感数据C2_SD以加密的形式存储在公共存储器40中。可以依次或并行执行步骤110和步骤112。
一旦完成步骤112,则在步骤115中,辅核向主核发送第二同步消息。第二同步消息用于通知主核已存储了辅核的背景数据。在步骤120中,主核将除了敏感数据C1_SD和C2_SD以外的敏感数据以加密的形式(因此,安全地)存储在公共存储器40中。这些其它敏感数据可以为处理装置所处理的数据,这些数据可以包括与总体CPU上下文相关的数据,例如敏感数据CPU_SD。这些数据也可以是未绑定到处理装置自身的敏感数据,例如IP上下文或存储器上下文,例如与第二安全IP相关的敏感数据IP2_SD。一旦完成步骤120,则在步骤130中,主核向电源管理控制器发送第三同步消息。第三同步消息用于将在步骤120期间所执行的总体上下文保存操作的结果发送给电源管理控制器。例如,如果检测到错误或者如果按照预期执行了全部的操作,则第三同步消息可以包含与这些事件相关的信息。在步骤140中,电源管理控制器向主核发送第四同步消息,用以确认第三同步消 息的接收并且发送由电源管理控制器所检测的任何错误。换句话说,第四消息不仅用于确认第三同步消息的接收,而且用于传递关于在电源管理控制器侧所发生的会危及进入备用模式的信息(中断、错误或其它事件等)的消息。事实上,可以拦截和处理在步骤130、步骤140和步骤150期间第一核、第二核和电源管理控制器所造成的全部可能的错误,以便适当地退出低功率模式进入序列且返回执行需要进入低功率模式的公共代码。在步骤150中,在接收到第四同步消息时,主核向辅核发送第五同步消息。第五同步消息用于通知辅核任何在前所检测的错误或者之前由主核和电源管理控制器所执行的全部操作的成功。在步骤160中,如果在同步消息中已报告没有关键错误,则主核和辅核切换到第二模式。在一实施方式中,关于ARM核,同步消息可以为快速中断请求(FIQ)。或者,可以使用同步或异步电信号、中断、软件通知或任何其它合适的软件或硬件消息传送部件实现同步消息。下面参照图3,其中示出根据实施方式的在切换到第二模式时将敏感数据以加密的形式存储在公共存储器40中的过程的步骤。该过程尤其可用于实施步骤110、步骤112和/或步骤120。该过程用于确保敏感数据在位于公共存储器时,即在第一核和第二核处于低功率模式时不会出错或被检索。在第一步骤200中,收集待存储的敏感数据。在第一步骤200的一实施方式中,不收集未确认为强制性待存储的敏感数据。例如,可以将特定核模式堆栈和定义这些堆栈区域的特定例程排除在强制性待存储的数据之夕卜。在一实施方式中,仅将在在前执行的本过程之后还没有被存储的和/或同时已改变的敏感数据确定为强制性待存储的数据。在可选步骤210中,将所收集的敏感数据分成子集。可以选择每个子集的大小等于MMU的入口的大小,通常是4千字节,以避免与作为MMU表格内的逻辑地址的数据的映射有关的处理。在一些实施方式中,解析所有可能的逻辑地址,但是真实的保存操作基于在安全存储器中填有固定长度的数组的物理地址。于是,显著地降低待加密的安全存储器的真实大小。在步骤240中,加密所收集的敏感数据或相应的子集。在步骤240的一实施方式中,使用加密方案,例如对称加密方案。加密允许防止对存储在公共存储器中的敏感数据的公共访问。为了应用加密方案,在步骤225中,检索或生成第一组数据。该组数据可以为加密数据。例如,加密数据可以为由加密方案使用的密钥和/或加密的初始化向量。更一般地,加密数据是作为加密机制的信任根的数据,比如用于对加密数据进行的所有核对的参考数据。在步骤230中,将 加密数据存储在持久性安全存储器中,所述持久性安全存储器至少在核处于第二模式时是持久稳固的。例如,持久性安全存储器可以是第一和/或第二持久性安全存储器55。为了提高安全水平,加密方案可以为每个子集使用不同的密钥。例如,可对加密的敏感数据的每4千字节使用新密钥。因此,如果加密的敏感数据的具有相同内容的两个子集不位于同一页面上或者在两个不同的时间上位于同一页面上,则不同地加密这两个子集。在步骤230中可以存储每个密钥。或者,可以仅存储用于利用加密算法生成每个密钥的种子值,确保高水平的安全性及内存使用方面的低影响。在步骤215中,在将加密散列函数应用到加密的敏感数据或每个加密的子集时,可以计算至少一个散列值。在步骤220中,将所计算的散列值存储在持久性安全存储器中,所述持久性安全存储器至少在核处于第二模式时是持久稳固的。例如,持久性安全存储器可以是第一持久性安全存储器55和/或第二持久性安全存储器65。散列值可以用于核对是否已将修改引入加密的敏感数据。在步骤250中,将加密的敏感数据存储在存储器中,例如公共存储器40,该存储器至少在核处于第二模式时是持久稳固的。在第一步骤200的一实施方式中,仅收集在在先执行的该过程之后还没有被存储在外部存储器中的敏感数据。例如,可以使用散列函数进行待收集的敏感数据和已存储在外部存储器中的加密的敏感数据的比较。在步骤215期间所计算的散列值可以用于该目的。或者,从该过程的在前执行以后,例如可以通过标记安全环境内的所有同步或异步进入来检测敏感数据或子集的任何变化。如果敏感数据或子集未被修改或者如果敏感数据或子集已被存储在外部存储器上,则不收集该敏感数据或子集。下面参照图4,其中示出根据实施方式的用于在从第二模式切换到另一模式之后恢复敏感数据的过程的步骤。该过程可以用于恢复通过之前图3所描述的存储过程存储在外部存储器中的加密的敏感数据。在步骤300中,检索存储在外部存储器中的加密的敏感数据或子集。在可选步骤320中,检索存储在持久性安全存储器中的散列值。在步骤330中,检索存储在持久性安全存储器中的加密数据。在步骤310中,使用检索到的加密数据和加密方案解密检索到的加密的敏感数据或相应的子集。可选地,在步骤310期间,将加密散列函数应用于检索到的加密的敏感数据或每个加密的子集,并且将散列值与在步骤320中所检索到的散列值进行比较。如果比较失败,则检索到的加密的敏感数据确定为已修改。在可选步骤340中,如果解密的敏感数据包括子集,则合并这些子集以重组敏感数据。
在步骤350中,恢复解密的敏感数据。如上所述的用于存储或恢复敏感数据的过程是高效的,因为可以很容易地将该过程整合到系统级的电源策略中。在存储/恢复操作期间,对所提出的解决方案上可以存在相应的约束,以将等待时间保持为最小值。如果不将等待时间保持为足够低,则对于进入低功率模式所需的时间,进入低功率模式的增益会为空或消失。所提出的存储和/或恢复过程的几个实施方式目的在于解决这些性能方面,而且可以单独或组合采用。也可以将本发明嵌入计算机程序产品中,该计算机程序产品包括能够实现本文中所描述的方法的全部特征,而且在被装入信息处理系统时能执行这些方法。在目前情况下,计算机程序方法或计算机程序意指一组指令的以任何语言、代码或符号的任何表达,该组指令用于使具有信息处理能力的系统直接地或者在转换为另一语言之后执行特定功能。可以将这种计算机程序存储在计算机或机器可读介质上,允许从该介质中读取数据、指令、消息或消息包以及其它机器可读信息。计算机或机器可读介质可以包括非易失性存储器,例如只读存储器(ROM)、闪存、磁盘驱动存储器、光盘只读存储器(⑶-ROM)和其它永久性存储器。此外,例如,计算机或机器可读介质可以包括易失性存储器,例如随机 存取存储器(RAM)、缓冲器、高速缓冲存储器和网络电路。此外,计算机或机器可读介质可以包括在暂时状态介质中的计算机或机器可读信息,暂时状态介质例如为网络链路和/或网络接口,包括有线网络或无线网络,暂时状态介质允许装置读取这种计算机或机器可读信肩、O
权利要求
1.一种管理第一核(50)和至少一个第二核(60)从第一运行模式切换到第二模式的方法,所述第一核(50)和所述至少一个第二核(60)都包括在处理装置(10)的处理器(20)中,所述处理装置及所述第一核和所述第二核在处于第一模式时适用于安全地处理敏感数据,所述处理装置还包括用于控制切换到所述第二模式的控制器(80),所述处理器联接至存储单元(40),所述存储单元(40)适用于在所述第一核和所述第二核处于所述第二模式期间确保其中的数据的持久性,所述方法的特征在于,所述方法包括以下步骤 由所述控制器向所述第一核和所述第二核发送第一消息的发送步骤(100); 当所述第一核和所述第二核分别接收到所述第一消息时, 安全地存储(110)由所述第一核处理的敏感数据的第一存储步骤; 安全地存储(112)由所述第二核处理的敏感数据的第二存储步骤; 由所述第二核向所述第一核发送(115)第二消息的步骤,所述第二消息指示所述第二存储步骤的完成; 当所述第一核接收到所述第二消息时,由所述第一核驱动将其它敏感数据安全地存储(120)在所述存储单元中的第三存储步骤; 由所述第一核向所述控制器发送(130)第三消息的步骤,所述第三消息指示所述第三存储步骤的完成; 当所述控制器接收到所述第三消息时,由所述控制器向所述第一核发送(140)确认所述第三消息的接收的第四消息的步骤; 当所述第一核接收到所述第四消息时,由所述第一核向所述第二核发送(150)第五消息的步骤; 当所述第一核和所述第二核分别接收到所述第四消息和所述第五消息时,所述第一核和所述第二核进入(160)所述第二模式的步骤。
2.如权利要求I所述的方法,其中,所述第一存储步骤(110)、第二存储步骤(112)和第三存储步骤(120)中的至少一个步骤通过以下方式执行 收集(200)待存储的敏感数据; 根据至少一组第一组数据,加密(240)收集的敏感数据; 将所述第一组数据存储(230 )在包括在所述处理器中的安全存储器(56 )中,所述安全存储器在所述第一核和所述第二核处于所述第二模式期间是持久稳固的; 将加密的敏感数据存储(250)在所述存储单元中。
3.如权利要求2所述的方法,其中,在收集(200)敏感数据的步骤期间,仅收集确定为强制性待存储的敏感数据。
4.如权利要求2或3所述的方法,其中,在收集(200)敏感数据的步骤期间,仅收集尚未存储的敏感数据。
5.如权利要求2至4中任一项所述的方法,还包括在加密步骤(240)之前的步骤(210),其中,将所述收集的敏感数据分成敏感数据的子集。
6.如权利要求5所述的方法,其中,在所述加密步骤(240)期间,各自的第一组数据用于加密敏感数据的每个子集。
7.如权利要求6所述的方法,其中,仅将种子值存储(230)在所述安全存储器中,所述种子值用于利用加密算法生成所述各自的第一组数据。
8.如权利要求2至7中任一项所述的方法,还包括通过将加密散列函数应用到所述加密的敏感数据或每个加密的子集而生成(215)散列值的步骤,以及将计算的散列值存储在所述安全存储器中的步骤(220 )。
9.如权利要求2至8中任一项所述的方法,还包括以下步骤当从所述第二模式切换回到所述第一运行模式时, 检索(300)存储在所述存储单元中的所述加密的敏感数据或所述子集; 检索(330)存储在所述安全存储器中的所述第一组数据; 使用检索到的第一组数据解密(310)检索到的所述加密的敏感数据或所述子集; 恢复(350)解密的敏感数据。
10.如权利要求8和9所述的方法,还包括以下步骤 检索(320)存储在所述安全存储器中的所述散列值, 为所述检索到的加密的敏感数据或每个加密的子集计算散列值,以及 将从所述安全存储器中所检索到的散列值与所计算的散列值相比较; 籲如果所计算的散列值与从所述安全存储器中所检索到的散列值不匹配, 则宣布相应的检索到的加密的敏感数据或相应的加密的子集出错或被改变。
11.一种处理装置(20),包括 处理器,所述处理器具有第一核(50 )和至少一个第二核(60 ); 控制器(80 ),所述控制器(80 )用于管理从第一运行模式切换到第二模式; 所述处理单元及所述第一核和所述第二核在处于第一模式时适用于安全地处理敏感数据,所述处理器可连接至存储单元(40 ),所述存储单元(40 )适用于在所述第一核和所述第二核处于所述第二模式期间确保其中的数据的持久性,所述处理装置的特征在于,所述控制器配置成 向所述第一核和所述第二核发送(100)第一消息; 籲当接收到第三消息时,向所述第一核发送(140)确认第三消息的接收的第四消息; 所述第一核配置成 当接收到所述第一消息时,安全地存储(110)由所述第一核处理的敏感数据; 籲当接收到第二消息时,将其它敏感数据安全地存储在所述存储单元中; 向所述控制器发送(130)所述第三消息,所述第三消息指示由所述处理装置处理的所述敏感数据的存储的完成; 当接收到所述第四消息时,向所述第二核发送(150)第五消息; 当接收到所述第四消息且已发送所述第五消息时,进入(160)所述第二模式; 所述第二核配置成 当接收到所述第一消息时,安全地存储(112)由所述第二核处理的敏感数据; 向所述第一核发送(150)所述第二消息,所述第二消息指示由所述第二核处理的敏感数据的存储(112)的完成; 当接收到所述第五消息时,进入(160)所述第二模式。
12.如权利要求11所述的处理装置,其中,所述第一核和/或所述第二核配置成通过以下步骤安全地存储所述敏感数据 收集(200)待存储的所述敏感数据; 根据至少一组第一组数据,加密(240)收集的敏感数据; 将所述第一组数据存储(230 )在包括在所述处理器中的安全存储器(56 )中,所述安全存储器在所述第一核和所述第二核处于所述第二模式期间是持久稳固的; 将加密的敏感数据存储(250)在所述存储单元中。
13.如权利要求11或12所述的处理装置,还包括所述存储单元(40),所述存储单元(40)适用于在所述第一核和所述第二核处于所述第二模式期间确保其中的数据的持久性。
14.一种包括如权利要求11至13中任一项所述的处理装置的电子装置。
15.一种计算机程序产品,包括其上已存储一个或多个指令序列的计算机可读介质,所述指令序列对于处理器是可访问的,所述指令序列在被所述处理器执行时导致所述处理器执行如权利要求I至10中任一项所述的步骤。
全文摘要
本发明涉及处理装置的处理器的第一核和第二核从第一运行模式到第二模式的切换,所述处理装置还包括控制器。所述控制器向核发送第一消息。当接收到所述第一消息时,安全地存储由核处理的敏感数据。所述第二核向所述第一核发送指示其敏感数据的存储步骤的完成的第二消息。当接收到所述第二消息时,所述第一核将其它敏感数据安全地存储在存储单元中,且在完成时向所述控制器发送第三消息。当接收到所述第三消息时,所述控制器向所述第一核发送第四消息。然后,所述第一核向所述第二核发送第五消息。当接收到所述第四消息和所述第五消息时,核进入所述第二模式。
文档编号G06F21/00GK102844762SQ201180015295
公开日2012年12月26日 申请日期2011年1月21日 优先权日2010年1月22日
发明者吉勒斯·盖勒, 埃里克·马尔伯朗士, 迈克尔·盖内, 弗兰克·德纳特 申请人:意法爱立信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1