首页> 中国专利> 用于从处理器向外围设备授予安全工作模式访问特权的方法和设备

用于从处理器向外围设备授予安全工作模式访问特权的方法和设备

摘要

本发明提供了一种处理系统,包括处理器以及耦合至处理器的多个外围设备,将处理器的安全工作模式的访问特权授予至少给定的一个外围设备。所述给定的外围设备被配置为将指示处理器处于安全工作模式的状态信息存储在所述外围设备的安全部分中。所述给定的外围设备还被配置为使用所存储的状态信息来允许所述给定的外围设备访问处理器在安全工作模式下可访问但所述给定的外围设备本来不可访问的至少一个资源。处理器系统可以包括例如片上系统,其中将处理器和外围设备组合成单个集成电路。

著录项

  • 公开/公告号CN101874245A

    专利类型发明专利

  • 公开/公告日2010-10-27

    原文格式PDF

  • 申请/专利权人 朗讯科技公司;

    申请/专利号CN200880117453.5

  • 申请日2008-11-12

  • 分类号G06F21/04;

  • 代理机构中科专利商标代理有限责任公司;

  • 代理人李敬文

  • 地址 美国新泽西州

  • 入库时间 2023-12-18 00:56:43

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-05-29

    授权

    授权

  • 2012-03-14

    著录事项变更 IPC(主分类):G06F21/04 变更前: 变更后: 申请日:20081112

    著录事项变更

  • 2010-12-08

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

    实质审查的生效

  • 2010-10-27

    公开

    公开

说明书

技术领域

本发明总体涉及处理系统,更具体地,涉及在这样的系统内提供安全性以防止对外围设备和其他资源的未授权访问的技术。

背景技术

计算机或其他处理系统通常包括处理器以及多个外围设备。处理器及其相关外围设备可以是离散的系统组件,或者可以组合成单个集成电路。后一种类型的布置也称作片上系统(SOC)。例如,可以将外围设备实现为专用硬件,所述专用硬件被配置为应处理器的请求来执行指定的任务。这些外围设备典型地由运行在处理器上的软件来控制。该软件的具体部分(这里称作软件代理)将配置信息写入外围设备,所述配置信息指定所请求的任务的细节。

一些处理器架构允许处理器在安全模式下工作。当工作在安全模式下时,处理器通常能够不受限制地访问所有外围设备或其他系统资源。典型地,保留安全工作模式,以供有限的高特权软件代理集合使用,这些高特权软件代理运行在处理器上,并且是先前已被验证和证明为可信和正确的。也允许低特权或无特权软件代理运行在处理器上,但是这些低特权或无特权软件代理不能使用安全工作模式。而是,这些未经验证的软件代理运行在非安全模式下。将对安全工作模式的使用仅限于一小部分软件代理,这降低了与软件程序代码验证相关联的成本,同时还确保了未经验证的软件代理不能破坏总体系统的安全性。

在上述类型的传统处理系统中发生的问题是,除了处理器以外的其他系统元件通常也可以访问处理系统内的安全信息。例如,在应处理器的请求而执行各种任务(如,与直接存储器存取(DMA)、加密和中断控制相关联的任务)期间,外围设备可能获得对安全信息的访问。尽管请求执行任务的处理器可能自身正工作在安全模式下,然而相应的外围设备可能不具有安全工作模式。因此,系统的安全性可能容易受到通过非安全软件代理的攻击,所述非安全软件代理能够访问为安全软件代理执行任务的相同外围设备。

发明内容

本发明的说明性实施例通过提供一种从处理器向一个或多个外围设备授予安全工作模式的访问特权的机制,在包括处理器以及多个相关的外围设备在内的处理系统中提供了增强的安全性。

根据本发明的一方面,所述外围设备中至少给定的一个外围设备被配置为:将指示处理器处于安全工作模式的状态信息存储在外围设备的安全部分中。给定的外围设备还被配置为使用所存储的状态信息来允许所述给定的外围设备访问处理器在安全工作模式下可访问但所述给定的外围设备本来不可访问的至少一个资源。

在说明性实施例中,处理器以与在处理器和外围设备之间执行的总线事务相结合的方式,将该处理器的当前工作模式的特权等级传送至外围设备。外围设备以与在该外围设备与给定的资源之间执行的总线事务相结合的方式,使用所传送的特权等级来访问该给定的资源。给定的资源可以包括例如处理系统的另一个外围设备。一般而言,在处理器的非安全工作模式下运行的软件代理不能修改指示处理器所授予的外围设备特权等级的、所存储的状态信息。然而,当完成相应的任务时可以清除指示所授予的特权等级的、所存储的状态信息,其中,所述任务是外围设备应处于安全工作模式的处理器上运行的安全软件代理的请求而执行的。

说明性实施例允许以受控的方式向外围设备授予安全处理器工作模式的访问特权,从而消除了否则会在处理系统中发生的安全性风险。外围设备以安全状态信息的形式来保存所授予的访问特权,所述安全信息不能被非安全软件代理修改。此外,给定的外围设备可以使用所存储的状态信息来访问在没有处理器的所授予的访问特权的情况下本来不可访问的其他系统资源。

附图说明

图1示出了实现本发明的处理系统的说明性实施例。

图2示出了在图1的系统中从处理器向外围设备授予安全工作模式的访问特权的过程的流程图。

图3示出了图1系统中图2过程的一种可能实现方式。

图4是图1系统的处理器和外围元件的一种可能实现方式的更详细视图。

具体实施方式

本文将结合处理系统及相关访问特权授予技术的说明性实施例来描述本发明。然而,应理解,本发明不限于与所描述的具体处理系统和技术一起使用,相反,本发明可以更一般地应用于希望为处理系统的外围设备提供更高安全性的任何类型的处理系统应用。

图1示出了处理系统100的说明性实施例。系统100可以表示例如计算机或SOC,包括通过总线106与外围设备104-1,104-2,...,104-N通信的处理器102。外围设备的具体数目N是任意的,并可以因系统的不同而不同。例如,外围设备可以是专用硬件,所述专用硬件被运行在处理器上的软件代理配置为执行具体的所请求的任务。在本实施例中,如以下将详细描述的,一个或多个外围设备可以包括例如加密引擎、DMA引擎、或中断控制器。还可能的是,一个或多个外围设备104可以分别包括内部处理器,使得外围设备也能够执行包括一个或多个软件代理在内的软件程序。

尽管图1中仅示出了一个单独的处理器,然而其他实施例可以包括多个这样的处理器,每个处理器耦合至总线106并至少与外围设备104的至少一个子集通信。

处理系统100还可以包括图中未明确示出但是通常包含在计算机、SOC或其他处理系统的传统实现方式中的其他元件。这里将不再具体描述本领域技术人员公知的这些传统元件。

系统100的至少一个外围设备104被配置为从处理器102接收所授予的访问特权。该外围设备通常包括:安全存储器,用于存储指示处理器处于安全工作模式的状态信息;以及处理电路,使用所存储的状态信息来允许该外围设备访问至少一个资源,该至少一个资源是处理器在安全工作模式下可访问、但是对于外围设备而言本来是不可访问的。使用所授予的访问特权而访问的资源可以包括例如另一外围设备104,或更一般地,系统100的任何其他访问受控的资源。

图2示出了在图1系统中从处理器102向给定的外围设备104-i,i=1,2,...,N,授予安全工作模式的访问特权的过程的一个实施例。在本实施例中,该过程包括步骤200至步骤208。

在步骤200中,处理器200将其当前工作模式的特权等级传送至外围设备104-i。处理器可以以与在处理器和外围设备之间的总线106上执行的总线事务相结合的方式,将处理器的当前工作模式的特权等级传送至外围设备,其中,所述总线事务在其他情况下本来是常规的。可以直接地修改给定的这种总线事务,以允许将指示处理器当前工作模式的信息传送至外围设备。该信息不需要采用任何特定格式,而仅需能够可靠且安全地指示处理器工作模式。例如,可以使用单比特或多比特指示符。在本实施例中,该信息指示处理器当前处于多个可能的工作模式中的哪个工作模式。例如,处理器可以工作在两个不同模式下:安全模式和非安全模式。因此,在一个模式下执行总线事务中特定的一些,在另一模式下执行其他总线事务。然而,本发明不限于任何具体数目或类型的工作模式。

在步骤202中,外围设备104-i确定所传送的特权等级是否指示处理器102的安全工作模式。在本实施例中,该确定基于对处理器所传送的、指示该处理器当前工作模式特权等级的信息的解释。因此,该确定可以包括基于所传送的特权等级来确定处理器处于两个或更多工作模式中的哪个工作模式,其中,第一可能特权等级指示安全工作模式,第二可能特权等级指示非安全工作模式。可以存在与多个不同工作模式中的每个工作模式相关联的多个特权等级。例如,给定的安全工作模式可以具有与其相关联的两个或更多个不同特权等级。

如果外围设备104-i在步骤202中确定处理器当前处于安全工作模式,则过程进行至步骤204。否则,过程绕过步骤204和206,进行至步骤208。步骤202中的确定可以基于对与处理器102的不同工作模式相关联的特定特权等级的预定认知,或者备选地,可以基于对处理器所传送的工作模式标识符或其他信息的解释。可以从中确定安全工作模式存在或不存在的任何这种所传送的信息都被认为在这里所使用的术语“特权等级”的广义范围之内。因此,例如所传送的特权等级可以包括例如:已知与处理器的安全工作模式相关联的多个特权等级之一的指示符;或处理器的安全工作模式的显式指示符。

在步骤204,外围设备104-i安全地存储状态信息,所述状态信息指定处理器102的安全工作模式的特权等级。

所存储的状态信息一般指示处理器处于其安全工作模式。状态信息的这种安全存储一般包括将这样的信息存储在外围设备的安全部分中。例如,可以将外围设备分成安全部分和非安全部分,这里也分别称作私有部分和公共部分,其中安全信息存储在外围设备的安全或私有部分中。这样的安全或私有部分可以包括例如外围设备的存储器或其他组件的加密部分或访问受控部分。

在步骤206中,外围设备104-i使用所存储的状态信息来访问处理器102在安全工作模式下可访问的、但该外围设备在其他情况下本来不可访问的至少一个资源。资源可以是例如系统100的另一个外围设备104,或者是系统的任何其他访问受控资源。因此,允许外围设备104-i访问处理器102在其安全工作模式下可访问的任何外围设备或其他资源。通过将所存储的状态信息或其一部分提供至给定的资源,以获得对该资源的访问,外围设备可以访问该给定的资源。作为一种备选,外围设备可以对所存储的状态信息进行处理,以推导出可以提供给给定的资源以获得对该资源的访问的其他信息。在所访问的资源包括系统100的另一外围设备104的实施例中,外围设备104-i可以使用所存储的状态信息,以与在外围设备104-i与另一外围设备这两者之间执行的总线事务相结合的方式,来访问该另一外围设备。

在步骤208,外围设备104-i不具有对资源的增强访问。因此,例如,外围设备仅能够访问一般其能够在没有来自于处理器102的任何访问特权授予的情况下访问的那些外围设备或其他资源。相应地,步骤208可以包括:一个或多个其他外围设备或资源拒绝外围设备104-i的访问尝试,或者外围设备104-i在知道其具有不充分的访问特权的情况下抑制进行这种访问尝试。

在针对一个或多个资源访问完成了步骤206或208之后,过程返回步骤200,以允许处理器102传送其当前工作模式的任何变化。例如,当运行在处理器上的不同软件代理请求由外围设备104-i执行任务时,可能发生上述工作模式的变化。如本文之前指出的,运行在处理器上的一些软件代理可以是在处理器安全工作模式下执行的安全代理,而其他软件代理可以是在处理器的非安全工作模式下执行的非安全代理。因此,典型地,处理器的工作模式依据当前执行的软件代理的类型而变化,并且可以例如随总线事务的不同而不同。因此,可以根据执行不同总线事务时处理器的工作模式,针对这些不同的总线事务来重复过程步骤200至206或200、202和208。

可以针对系统100的其他外围设备104来重复针对具体外围设备104-i的图2所示的过程。例如,处理器102可以向两个或更多个外围设备授予安全工作模式访问特权,使得多个外围设备同时具有所授予的访问特权。

将意识到,图2所示的具体过程步骤并不是本发明必需的,备选实施例可以使用其他操作来向外围设备授予处理器安全工作模式的访问特权。

图3示出了图1的系统100中图2过程的一种可能实现方式。在本实施例中,处理器102同样通过总线106与外围设备104中具体的一个外围设备进行通信。如前所述,该具体外围设备表示为104-i,并且可以代表系统100的N个外围设备中的任何一个。

在本实施例中,处理器102存储指示该处理器的当前工作模式的状态信息300。假定对于该实施例,处理器当前工作在安全工作模式下,因此状态信息300指示安全工作模式。外围设备104-i分成公共部分和私有部分,分别表示为302和304,其中私有或安全部分存储指示处理器102当前工作状态的状态信息306。以与在处理器102与外围设备104-i之间执行的总线事务310相结合的方式,执行外围设备104-i中状态信息306的存储。如结合图2所描述的,处理器将其当前工作模式的特权等级传送至外围设备104-i,外围设备104-i确定该特权等级是否与安全工作模式相对应。如果外围设备104-i确定所传送的特权等级指示处理器当前处于安全工作模式,则将相应的状态信息306存储在外围设备104-i的私有或安全部分中。否则,不需要存储这样的状态信息。

所存储的状态信息306是外围设备104-i从处理器102接收到的所授予的访问特权的示例。这种所授予的访问特权允许外围设备104-i访问该外围设备在其他情况下本来不能访问的资源。外围设备104-i从而能够在有限时间内并且在处理器所控制的其他条件下,共享处理器的安全工作模式的访问特权。

外围设备104-i使用所存储的状态信息306,以与一个或多个其他总线事务314相结合的方式,来访问一个或多个其他资源312。如上所述,这些其他资源312可以包括系统100的一个或多个其他外围设备104。

图4示出了与处理器102和给定外围设备104-i的一种可能实现方式相关联的附加细节。在本示例中,处理器102被示为包括多个软件代理400,这多个软件代理400包括高特权软件代理400H和低特权软件代理400L。软件代理400H和400L可以分别被看作是这里更一般地被称作安全和非安全软件代理的示例。可以存在给定处理器内支持的多个其他特权等级,本发明在这方面不受限制。处理器102经由总线106耦合至外围设备104-i的接口电路。该接口电路耦合至功能电路404,所述功能电路404是用于执行与所考虑的外围设备相关联的任何功能的传统电路。例如,如果外围设备是加密引擎,则功能电路404可以包括用于加密数据的密码处理器。类似地,如果外围设备是DMA引擎,则功能电路404可以包括传统的DMA电路。

应注意,功能电路404自身可以包括处理器。因此,外围设备104-i可以是智能外围设备,其包括经由其自己的内部处理器的软件执行功能。

控制逻辑406以及存储器410内的安全状态存储装置408也包含在外围设备104-i中。控制逻辑406被配置为对经由接口电路402从处理器102接收到的特权等级信息进行处理。该处理包括:确定特权等级是否指示安全工作模式;以及控制相应的状态信息在存储器410的元件408中的安全存储。控制逻辑406还可以被配置为基于所存储的状态信息来执行与允许外围设备104-i访问其他资源相关联的处理操作。

图4所示的外围设备104-i的具体电路布置应当被看作仅是这种外围设备的一个说明性示例。应理解,可以使用其他类型和配置的外围设备,用各种各样的不同硬件、软件和固件组件来实现本发明。例如,如上所述,外围设备104-i的功能电路404可以包括内部处理器,所存储的状态信息可以存储在该内部处理器内的存储器的安全部分中,而不是像图4所示说明性布置那样存储在单独的存储器中。

现在将描述多个示例,以说明可以在图1的系统100中从处理器102向具体外围设备104-i授予安全工作模式的访问特权的方式。将描述与三种不同类型的外围设备104,即,加密引擎、DMA引擎和中断控制器,相关的三个示例。然而,应意识到,所公开的技术可应用于各种其他外围设备。

在第一示例中,外围设备104-i包括加密引擎。这样的外围设备可以被系统100用来对系统100希望对非安全软件代理保持私密的信息进行加密。在本实施例中,可以通过为加密引擎提供从处理器102接收所授予的访问特权的能力,来使加密引擎安全。因此,当处理器102工作在安全模式下时,如前所述将相应的状态信息安全地存储在加密引擎中。加密引擎可以使用这种安全存储的状态信息来防止任何非安全的软件代理配置该加密引擎、或访问诸如加密密钥之类的敏感信息。一旦加密引擎完成了安全软件代理所请求的任务,则可以清除先前存储的状态信息,使得加密引擎随后可以被安全或非安全软件代理访问。一般而言,加密引擎存储指示处理器处于其安全工作模式的状态信息,在相应的所请求的任务的持续时间内,加密引擎不能被非安全软件代理访问。

在第二示例中,外围设备104-i包括DMA引擎。这样的引擎被设计为向存储器以及从存储器移动数据。运行在处理器上的软件代理配置源和目的地存储器地址,然后允许DMA引擎在不受处理器干预的情况下传输数据。这样的DMA传输可以是从一个存储器到另一个存储器的,或者在一个存储器与其他外围设备之间的。使用这里所公开的技术,DMA引擎可以被配置为安全地存储状态信息,所述状态信息指示配置该DMA操作的软件代理的特权等级。这允许只能在DMA引擎由安全软件代理配置时,DMA传输才可以访问受保护的存储器资源。一旦DMA引擎被配置在安全状态下,这还防止了非安全软件代理确定DMA引擎所使用的源和目的地地址。否则,非安全代理可能获知存储有安全数据的存储器地址。

最后,在第三示例中,外围设备104-i包括中断控制器,所述中断控制器使用所存储的状态信息将中断配置为安全的或非安全的。一旦中断被配置为安全的,则在低于安全特权等级以下运行的软件代理就不能修改中断。此外,只有安全中断才能够将处理器引导至安全工作模式。这确保了非安全代理无法将中断控制器配置为产生将处理器从非安全工作模式引导至安全工作模式的中断。

上述说明性实施例允许外围设备存储状态信息,所述状态信息指示配置该外围设备的处理器软件代理的特权等级。该状态信息以安全的方式存储,从而不能被非安全软件代理改变。此外,外围设备可以使用所存储的状态信息来访问该外围设备在没有处理器所授予的访问特权的情况下本来不能访问的其他系统资源。

这些说明性的布置显著提高了处理系统的安全性,所述处理系统包括多个外围设备以及在安全和非安全工作模式下执行软件代理的一个或多个处理器。以受控的方式向外围设备授予安全处理器工作模式的访问特权,从而消除了本来可能会在这样的系统内发生的其他安全性风险。

还应强调的是,上述实施例仅仅是说明性的。例如,在其他实施例中可以改变处理系统配置和访问特权授予过程。作为另一示例,可以改变特权等级的具体数目和类型,以适应给定应用的需要。此外,在备选实施例中,外围设备确定处理器是否处于安全工作模式、存储相应状态信息、以及使用所存储的状态信息来允许外围设备访问受保护的资源的具体方式也可以改变。对于本领域技术人员来说,权利要求范围之内的这些和多个其他备选实施例将是显而易见的。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号