当前位置: 首页 > 专利查询>ARM有限公司专利>正文

在安全模式和非安全模式间切换的处理器制造技术

技术编号:2857132 阅读:214 留言:0更新日期:2012-04-11 18:40
一种用于处理数据的装置,所述装置包括:    一个处理器,可用在多种模式和多个域中,所述多个域包括安全域或非安全域,所述多种模式包括:    为所述安全域中的模式的至少一个安全模式;    为所述非安全域中的模式的至少一个非安全模式;以及    监视模式,其特征在于,    当所述处理器正在执行安全模式中的程序时,所述程序访问当所述处理器正在非安全模式中操作时不能访问的安全数据;以及    经所述监视模式,发生所述安全模式和所述非安全模式间的切换,所述处理器至少部分在所述监视模式中操作来执行监视程序以便管理所述安全模式和所述非安全模式间的切换。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及数据处理系统。更具体地说,本专利技术涉及数据处理系统中的安全和非安全处理模式间切换的控制。
技术介绍
数据处理装置通常包括用于运行加载在数据处理装置上的应用程序的处理器。该处理器将在操作系统的控制下操作。运行任何特定的应用程序所需的数据通常存储在数据处理装置的存储器中。将意识到数据可以由包含在应用程序内的指令和/或在处理器上执行那些指令期间使用的实际数据值组成。许多例子当中,由至少一个应用程序使用的数据是不应当被处理器上运行的其他应用程序访问的敏感数据。其中一个例子诸如数据处理装置是智能卡,以及一个应用程序是使用敏感数据,诸如例如安全密钥(secure key)来执行确认、验证、解密等等的安全应用程序。在这些情况下,确保那些敏感数据安全以便不能由可以加载到数据处理装置上的其他应用程序,例如为试图访问那个安全数据的目的,而加载在数据处理装置上的黑客应用程序访问是非常重要的。在已知的系统中,确保操作系统提供足够的安全性以确保一个应用程序的数据不能由在操作系统的控制下运行的其他应用程序访问,已然成为操作系统开发员的典型任务。然而,随着系统变得更复杂,通常的趋势是使操作系统变得更大以及更复杂,而在这样的情况下,确保操作系统本身内的足够的安全性,变得日益困难。在美国专利申请US2002/0007456A1和美国专利US6,282,657和US6,292,874B中公开了试图提供敏感数据的安全存储和提供防恶意程序代码的保护的系统的例子。因此,将期望提供用于试图保持包含在数据处理装置的存储器内的那些安全数据的安全性的改进技术。
技术实现思路
从一个方面可以看出,本专利技术提供用于处理数据的装置,所述装置包括处理器,可在多种模式和多个域中操作,所述多个域包括安全域或非安全域,所述多种模式包括为所述安全域中的模式的至少一个安全模式;为所述非安全域中的模式的至少一个非安全模式;以及监视模式,其特征在于,当所述处理器正在执行安全模式中的程序时,所述程序访问当所述处理器正在非安全模式中操作时不能访问的安全数据;以及经所述监视模式,发生所述安全模式和所述非安全模式间的切换,所述处理器至少部分在所述监视模式中操作来执行监视程序以便管理所述安全模式和所述非安全模式间的切换。本专利技术意识到控制可在安全和非安全模式中操作的系统的安全性中的关键方面在于如何控制那些安全和非安全模式间的切换。特别地,执行这种切换的方法越灵活,那么,安全性中的潜在的易受攻击性越大。本专利技术通过提供任何安全模式和非安全模式间的所有切换必须经监视模式进行的系统来解决这一问题。完全可以在监视模式中执行切换或者可以使用从监视模式切换到一些安全模式(例如安全特许模式)来执行与切换有关的一些任务,诸如上下文保存/恢复。因此,假如监视模式或安全核心的安全性不是被直接或间接破坏的,则不可能进行非安全模式和安全模式间的未授权切换。该结构还允许监视模式设计的相对简单,这是因为其责任被限定在支持安全域和非安全域间的切换所需的范围内。通常,监视模式越简单,越不易破坏安全性。监视程序(内核)至少部分在监视模式中操作以便控制安全和非安全域间的切换-一部分监视核心可在安全特许模式而不是监视模式中操作。作为安全域和非安全域间的切换的管理的一部分,由监视模式提供的操作的例子是监视程序(至少部分在监视模式中运行,但是要求切换到安全特许模式以便执行上下文保存/恢复或其他操作)可用来刷新在安全域和非安全域间共享的处理器的寄存器组的至少一部分。这防止了存在于在安全域的寄存器中的任何数据,当切换到非安全域时,仍然驻留在那些寄存器中,从而不利地使数据变成可在非安全域中访问。作为另一可能的实施例,可以提供单独的非安全和安全寄存器组。该方法在降低安全域和非安全域间的切换所需的时间方面具有某些优点,但它还与另外的硬件需求不利有关,同时还使它不利于将数据从非安全域传送到安全域。可以用各种不同方式启动安全域和非安全域间的切换,但这些将期望共享发送到在用于提供服务的监视模式中操作的监视程序内的一个或多个固定位置的特征。将进入监视程序的可能进入点控制到较少数目的固定点内,增加了安全性。相反,在安全域中,使用以方便上下文切换的方式,应用于切换到安全用户模式的正常机制,安全特许模式可以切换到监视模式,以及允许有利地简化在监视模式中运行的软件。安全特许模式具有与监视模式类似的安全状态。在本专利技术的一个优选形式中,切换采用调用监视程序中的固定点的形式。在本专利技术的另一优选形式中,除在监视模式中时,通过程序的任何尝试触发切换以便在安全域和非安全域间改变系统,诸如通过写入存储安全状态变量或程序状态变量。这些尝试可以通过硬件来触发并用来触发调用监视程序中的固定点。当从非安全模式启动进入监视模式时,那么可以配置处理器存储程序计数值,当返回到非安全模式时,将恢复该程序计数器值,以便在中断点恢复执行处理。对当返回到非安全模式时需要恢复的一个或多个处理器状态,执行类似的状态存储。可能引发的一个问题是当处于安全模式中的处理器在要求切换到非安全模式以便能适当地处理异常时,会产生异常。在这种情况下,通常,安全模式和非安全模式间的切换是经监视模式的,以及监视模式负责在适当点重启安全处理,而不是依赖于非安全模式来恢复安全模式处理,因为这能允许非安全模式获得有关当系统处于安全模式中时,在发生异常的点的例如程序计数器值或处理器状态寄存器值的安全区域的一些知识。提供安全域和非安全域间的清楚划分的一种方法是将安全状态标记与系统关联。通过提供安全状态标记仅在监视模式中可写入,可以将安全状态标记的控制集中在监视模式中。可以使用本专利技术的系统的优选方法是提供一种非安全操作系统,当在非安全模式先操作时控制处理器,以及提供一种安全操作系统((在某些情况下,可以是删节的安全核心,)当在安全模式下操作时,控制处理器。监视程序由部分安全操作系统组成是比较有利的。本专利技术的优选实施例意识到系统的安全性的潜在的弱点可以通过正在控制安全域和非安全域间的切换时的监视程序的中断产生。因此,在本专利技术的优选实施例中,当处于监视模式时,禁止能触发异常处理(正常处理流程的中断)的异常条件的至少一个。为改进经监视模式,进行安全域间的切换的速度,当太考虑成本/利润时,本专利技术的一些实施例提供专用寄存器(影像寄存器),当进入监视模式时,替代处理器的寄存器组内的相应的通用寄存器。因此,这些专用寄存器可以直接由监视程序使用,从而允许监视程序在执行其自己的操作前,避免对现有的寄存器内容的保存,因此,降低了在监视模式中实现切换所花的时间。当在监视模式中禁止异常时,降低在监视模式中所花的时间很显著。整体上,在系统的上下文中处理异常的方法与异常,诸如中断一样重要,总的来说,对系统的安全性存在潜在的弱点。为允许系统响应适合于特定环境的异常的方式,本专利技术的优选实施例提供中断屏蔽寄存器,存储一个或多个参数,用于指定哪些异常应当由正在模式中执行的异常处理程序处理以及哪些异常应当由当异常发生时,正在当前域中的模式中执行的异常处理程序处理。因此,根据异常产生的类型,可以使系统切换到安全域以便处理该异常或可以保持当前的、可能的非安全域中。监视模式有能力切换安全域以及可以视为安全域,因为可在该模式中设置安全状态标记以及可本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:S·C·瓦特C·B·多尔南L·奥里安N·朝斯萨德L·贝内特S·E·S·布罗奇尔
申请(专利权)人:ARM有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1