计算系统与计算方法

文档序号:6340330阅读:547来源:国知局
专利名称:计算系统与计算方法
技术领域
本发明有关于一种计算系统,且特别有关于一种在有效资源利用状况下提供正常安全性月艮务(normal security service)与高安全性月艮务(high securityservice)白勺计算系统与计算方法。
背景技术
在诸如移动电话、个人数字助理(Personal Data Assistant,以下简称为PDA)、数字相机、数字媒体音乐播放器、掌上游戏机(handheld game console)、以及计算机外设设备(例如,硬盘与路由器)的消费性电子产品中,通常需要两种隔相互独立的操作环境来维持系统安全性。正常安全性服务(例如,打电话或玩Java游戏)可在正常安全性环境中运作。然而,当请求诸如在线信用卡支付的高安全性服务时,正常安全性环境则无法满足网络银行 (e-banking)服务的安全性需要。因此,需要独立于正常安全性环境的高安全性环境来处理此类高安全性服务以避免信息被盗取。ARM所开发的信任区域(以下简称为TrustZone)硬件架构可利用单一实体处理器核心(single physical processor core)来提供正常安全性服务与高安全性服务。相较于利用两个专用处理器核心的方案,由于Trusthne硬件架构仅需要一个处理器核心,因此Trusthne硬件的硅尺寸(silicon size)、制造成本、以及功率消耗都较大程度地减少。 为使敏感数据与伪装于正常安全性环境中的恶意(malicious)软件隔离,TrustZone技术的单处理器核心以时间分割方式(time-sliced fashion)在正常安全性状态与高安全性状态之间转换以提供正常安全性环境与高安全性环境,并且硬件资源也被设计为专用于正常安全性环境或高安全性环境。然而,专用硬件资源的设计导致低资源利用率。由于转换至高安全性状态的可能性通常较低,专用于高安全性环境的资源(例如,文件系统、内存、寄存器、以及引擎)很少被用到。为增加上述专用资源的利用率,处理器需要频繁地在两种安全性状态之间转换。举例来说,涉及敏感数据或需要高安全性环境中的专用硬件资源的服务将在高安全性环境中执行。随着安全性状态转换的频繁发生,由此导致的等待时间以及功率消耗将会相当大。因此,极需一种能够同时减少安全性环境的转换以及增加硬件资源的利用率的计算系统与计算方法。

发明内容
有鉴于此,特提供以下技术方案本发明实施例提供一种计算系统,用于提供正常安全性服务与高安全性服务,包含硬件资源,依据多个资源安全性级别被分成多个组;处理器核心,在正常安全性状态与高安全性状态之间转换,以及为请求指派用户访问权限,其中,相较于正常安全性状态,在高安全性状态中指派的用户访问权限进一步允许请求使用多个硬件资源中具有较高资源安全性级别者;以及访问权限核对器,依据指派的用户访问权限以及请求所需的硬件资源的资源安全性级别而决定请求是否有权限使用硬件资源,其中当决定请求有权限使用硬件资源时,访问权限核对器允许执行请求;以及当决定请求无权限使用硬件资源时,访问权限核对器拒绝请求。本发明实施例另提供一种计算方法,用于以减量的硬件资源来提供正常安全性服务与高安全性服务,包含提供硬件资源,其中硬件资源依据多个资源安全性级别被分成多个组;为请求指派用户访问权限,其中处理器核心在正常安全性状态与高安全性状态之间转换,以及,相较于正常安全性状态,在高安全性状态中指派的用户访问权限进一步允许请求使用多个硬件资源中具有较高资源安全性级别者;以及依据指派的用户访问权限以及请求所需的硬件资源的资源安全性级别而决定请求是否有权限使用硬件资源;当决定请求有权限使用硬件资源时,执行请求;以及当决定请求无权限使用硬件资源时,拒绝请求。以上所述的计算系统与计算方法能够通过于正常安全性状态与高安全性状态中为请求指派不同的用户访问权限而减少安全性环境的转换并增加硬件资源的利用率。


图1是硬件资源共享概念的范例的示意图。图2是保护级别的变化规则的状态机的示意图。图3是依本发明实施例的计算系统300的示意图。图4是依本发明另一实施例的计算系统400的示意图。图5是UAR更新程序的流程图。
具体实施例方式在说明书及权利要求书当中使用了某些词汇来指称特定的元件。所属技术领域的技术人员应可理解,硬件制造商可能会用不同的名词来称呼同一个元件。本说明书及权利要求书并不以名称的差异作为区分元件的方式,而是以元件在功能上的差异作为区分的准则。在通篇说明书及权利要求项中所提及的“包含”为一开放式的用语,故应解释成“包含但不限定于”。此外,“耦接” 一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。图1是硬件资源共享概念的范例的示意图。首先,引入资源安全性级别(Resource Security Level,以下简称为RSL)的定义。在本发明的计算系统中,依据其RSL,硬件资源 (包含内存、寄存器、以及硬件数据路径(data path)等)被分成多个组。如图1所示,使用四个 RSL-“严格特权(Strictly Privilege) ”、“特权(Privilege) ”、“限制(Limited)”、以及“公开(Public) ”(自最高安全性级别至最低安全性级别)来划分硬件资源。每一组包含对应安全性级别的硬件资源。图1更引入用户访问权限(User Access Right,以下简称为UAR)的概念。当本发明的计算系统的处理器核心发出请求时,UAR被指派给所述请求以显示所述请求的可用硬件资源,其中处理器核心在正常安全性状态与高安全性状态之间转换以建立正常安全性环境与高安全性环境。被指派的UAR的范围(scope)取决于处理器核心的安全性状态,或可进一步取决于计算系统的保护级别。请参考图1,当处理器核心在正常安全性状态与高安全性状态之间转换时,范围102、104. . . 112显示多个UAR选项而保护级别在“全保护(Whole Protected)” 级别、“部分保护(Partial Protected) ” 级别以及“不保护(No Protected)” 级别之间转换。举例来说,当计算系统处于“全保护”级别且处理器核心处于正常安全性状态时, 指派给自软件码发出的每一请求的UAR覆盖范围102。因此,发出的请求仅可访问具有“公开”RSL的硬件资源。若处理器核心转换至高安全性状态且计算系统的保护级别并未改变 (仍为“全保护”级别),指派给发出的请求的UAR覆盖范围108而不是范围102,以允许发出的请求进一步访问较高RSL的硬件资源(范围108包含属于“公开” RSL、“限制” RSL以及“特权” RSL的任意可用硬件资源)。比对限定UAR的范围102与108,“公开”RSL的硬件资源是在正常安全性环境与高安全性环境之间共享,而“限制”与“特权”RSL的硬件资源仅限于高安全性环境。因此,可避免伪装在正常安全性环境中的恶意软件访问敏感数据(包含于“限制”与“特权”硬件资源中),而未包含敏感数据的“公开”硬件资源有效地在正常安全性环境与高安全性环境之间共享。本发明的硬件资源共享实施例可增加硬件资源的利用率。图1引入的概念也较大程度地减少安全性环境的冗余转换。举例来说,当请求所需的硬件资源都属于“公开” RSL,无论处理器核心处于哪种安全性状态,由于所需的硬件资源在正常安全性环境与高安全性环境中都可访问,从而无需转换安全性环境。因此,可减少安全性环境的转换频率,进而消除通过频繁转换安全性环境而导致的等待时间以及功率消耗。此处将讨论图1所引入的保护级别。制造商可利用多用途(multi-purpose)产品来提供不同安全性级别的服务(例如,利用相同硬件架构来制造不同安全性级别的游戏、 移动电话、或电子商务服务)。上述保护级别是依据产品的安全性级别需求而设定,其也影响UAR的范围。在图1中,保护级别设置具有三个选项,自最高安全性级别至最低安全性级别分别为“全保护”级别、“部分保护”级别以及“不保护”级别。保护级别越高,可访问的硬件资源越少。举例来说,当处理器核心处于正常安全性状态时,“不保护”级别的UAR范围106较“部分保护”级别的UAR范围104大,以及“部分保护”级别之UAR范围104较“全保护”级别的UAR范围102大。请注意,在某些特定情况中,不同的保护级别可具有相同的 UAR范围。如图1所示,当处理器核心处于高安全性状态时,“不保护”级别的UAR范围112 比“部分保护”级别的UAR范围110大而“部分保护”级别的UAR范围110与“全保护”级别的UAR范围108相同。请注意,如图1所示的RSL与保护级别的分类以及UAR范围的决定并非本发明的限制。RSL与保护级别的数量以及UAR的选项可与图1所示不同。在实施例中,计算系统的保护级别为非常敏感,其应存储于“严格特权”RSL的寄存器(即,保护级别寄存器)中。为避免伪造(falsification),可在计算系统的安全性启动程序期间限制(初始化)保护级别寄存器的设置,而此时处理器核心处于高安全性状态。在另一实施例中,存储于保护级别寄存器中的数值可在运转时间(rim-time)中改变。图2是保护级别的变化规则的状态机(statemachine)的示意图。仅当处理器核心处于高安全性状态时,本发明的保护级别寄存器可被允许自较高安全性级别变化成较低安全性级别;但无论处理器核心处于哪种安全性状态,保护级别寄存器都可被允许自较低安全性级别变化成较高安全性级别。请参考图2,为使保护级别自“全保护”级别202降级至“部分保护”级别204或“不保护”级别206,或自“部分保护”级别204降级至“不保护”级别206,处理器核心必须处于高安全性状态以执行对应的高安全性应用(application,以下简称为AP)。 相反地,为使保护级别自“不保护”级别206升级至“部分保护”级别204或“全保护”级别 202,或自“部分保护”级别204升级至“全保护”级别202,处理器核心并未被限制处于正常安全性环境或高安全性环境。保护级别升级可通过正常安全性AP或高安全性AP来实现。请注意,当保护级别改变时,最初被隔离的硬件资源可释放权限给发出的请求,以使包含在释放的硬件资源中的敏感数据暴露。因此,本发明提供上下文(context)管理技术,当存储于保护级别寄存器中的保护级别改变时,上述技术存储并重存释放或隔离的硬件资源的上下文。在保护级别转换成较低安全性级别之前,发出的请求最初禁止访问释放的硬件资源,以及在保护级别转换成较高安全性级别之前,发出的请求最初可访问隔离的硬件资源。请注意,在某些实施例中,产品的保护级别是由制造厂设定且在启动时间或运转时间中不可改变。图3是依本发明实施例的计算系统300的示意图。如图3所示,计算系统300的硬件资源302装备有RSL记录寄存器304。硬件资源302的RSL(例如,图1中定义的“严格特权”、“特权”、“限制”以及“公开”级别)是记录在RSL记录寄存器304中。在计算系统300中,包含单一实体处理器核心306,其在正常安全性状态308与高安全性状态310之间转换来形成分别用于正常安全性服务与高安全性服务的两种独立环境。当处理器核心306处于正常安全性状态308时,正常安全性AP 312、正常安全性应用程序编程接口(Application Program hterface,以下简称为API) 314以及正常安全性数据路径316的固件是用于提供正常安全性服务。此外,当处理器核心306处于正常安全性状态308时,高安全性客户(Client)AP 318、高安全性客户API 320以及高安全性客户数据路径322的固件可作为安全性环境转换接口而被执行。指令3M用于转换处理器核心306 的安全性状态。当处理器核心306处于高安全性状态310时,高安全性服务器(Server)AP 326、高安全性服务器API 328以及高安全性服务器数据路径330的固件可被执行并用于提供高安全性服务。上述软件与固件设计允许单处理器核心306以时间分割方式在正常安全性状态308与高安全性状态310之间转换。此外,在处理器核心306的固件设计中,无论处理器核心306处于哪种安全性状态,每一发出的请求都被指派UAR的范围。指派的UAR可取决于处理器核心306的当前安全性状态,或者,在某些实施例中,可进一步将计算系统的保护级别(存储于保护级别寄存器332中)作为决定UAR范围的考虑因素。UAR的决定如图1所示。指派给发出的请求的UAR指示硬件资源302的可用部分。访问权限核对器(access right checker) 334接收发出的请求与指派的UAR,决定发出的请求所需的硬件资源,以及依据指派的UAR与发出的请求所需的硬件资源来决定已接收的请求是否有权限使用硬件资源302。当指派的UAR覆盖发出的请求全部所需的硬件资源的RSL时,访问权限核对器 334决定发出的请求有权限使用硬件资源302并允许执行发出的请求。当指派的UAR并未覆盖发出的请求全部所需的硬件资源的RSL时,访问权限核对器334决定发出的请求无权限使用硬件资源302并拒绝发出的请求。
上下文管理模块336是用于存储并重存上述硬件资源的上下文,其中,存储以及重存是通过保护级别的改变而触发。图4是依本发明另一实施例的计算系统400的示意图。如图4所示,除图3的RSL 记录寄存器304之外,硬件资源302装备了有限状态机(finite statemachine) 402与硬件资源控制寄存器404。有限状态机402对硬件资源302的行为做模型(model)以及经由硬件资源控制寄存器404控制硬件资源302。相较于图3的访问权限核对器334,访问权限核对器406进一步将有限状态机402的当前状态作为决定发出的请求是否有权限使用硬件资源302的考虑因素。当处理器核心的当前安全性状态(正常安全性状态308或高安全性状态310)符合有限状态机402的当前状态且指派的UAR覆盖发出的请求全部所需的硬件资源的RSL时,访问权限核对器406决定发出的请求有权限使用硬件资源302并允许执行发出的请求。否则,当处理器核心的当前安全性状态不符合有限状态机402的当前状态或指派的UAR并未覆盖发出的请求全部所需的硬件资源的RSL时,访问权限核对器406决定发出的请求无权限使用硬件资源302并拒绝发出的请求。图5是UAR更新程序的流程图。在启动(步骤S502)上述计算系统之后,执行步骤S504以依据处理器核心的当前安全性状态与计算系统的保护级别来定义UAR。当处理器核心的安全性状态或计算系统的保护级别改变时,执行决定步骤S506来验证是否符合变化规则(例如,图2中所示的保护级别变化规则)。若并未违反变化规则,可执行步骤S508 与S510。其中,上下文管理的步骤S508可存储并重存于保护级别变化中释放或隔离的硬件资源的上下文。在步骤S510中,因应处理器核心的安全性状态改变或计算系统的保护级别改变,重定义UAR。随后,连续地执行步骤S506的决定步骤以及时更新UAR。当步骤S506 的决定步骤决定已违反变化规则时,转至步骤S512以拒绝非法的安全性状态改变或保护级别改变。以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。
权利要求
1.一种计算系统,用于提供正常安全性服务与高安全性服务,包含 多个硬件资源,依据多个资源安全性级别被分成多个组;处理器核心,在正常安全性状态与高安全性状态之间转换,以及为请求指派用户访问权限,其中,相较于该正常安全性状态,在该高安全性状态中指派的该用户访问权限进一步允许该请求使用该多个硬件资源中具有较高资源安全性级别者;以及访问权限核对器,依据指派的该用户访问权限以及该请求所需的该多个硬件资源的该多个资源安全性级别而决定该请求是否有权限使用该多个硬件资源,其中当决定该请求有权限使用该多个硬件资源时,该访问权限核对器允许执行该请求;以及当决定该请求无权限使用该多个硬件资源时,该访问权限核对器拒绝该请求。
2.如权利要求1所述的计算系统,其特征在于当指派该用户访问权限时,该处理器核心进一步考虑该计算系统的保护级别。
3.如权利要求2所述的计算系统,其特征在于依据指派的该用户访问权限,该保护级别越高,该多个硬件资源中的越少资源对于该请求是可用的。
4.如权利要求2所述的计算系统,更包含保护级别寄存器用于决定该保护级别的数值。
5.如权利要求4所述的计算系统,其特征在于在该计算系统的安全性启动程序期间, 该处理器核心初始化该保护级别寄存器,以及在该安全性启动程序期间,该处理器核心处于高安全性状态。
6.如权利要求5所述的计算系统,更包含上下文管理模块,存储并重存当存储于该保护级别寄存器中的该保护级别变化时释放或隔离的该多个硬件资源的上下文,其中,在该保护级别转换成较低安全性级别之前,该请求最初被禁止访问释放的该多个硬件资源,以及在该保护级别转换成较高安全性级别之前,隔离的该多个硬件资源对于该请求最初是可用的。
7.如权利要求6所述的计算系统,其特征在于处于该高安全性状态中的该处理器核心是被允许将该保护级别转换成该较低安全性级别。
8.如权利要求1所述的计算系统,其特征在于当指派的该用户访问权限的范围覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求有权限使用该多个硬件资源,或者当指派的该用户访问权限的该范围并未覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求无权限使用该多个硬件资源。
9.如权利要求1所述的计算系统,其特征在于更包含多个资源安全性级别寄存器用于决定该多个硬件资源中的每一个的该资源安全性级别。
10.如权利要求9所述的计算系统,其特征在于更包含有限状态机,其中该有限状态机对该多个硬件资源的行为做模型以及经由多个控制寄存器控制该多个硬件资源。
11.如权利要求10所述的计算系统,其特征在于当决定该请求是否有权限使用该多个硬件资源时,该访问权限核对器进一步考虑该有限状态机的当前状态。
12.如权利要求11所述的计算系统,其特征在于当于该正常安全性状态或该高安全性状态之间转换的该处理器核心符合该有限状态机的该当前状态且指派的该用户访问权限的范围覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求有权限使用该多个硬件资源,或者,当该处理器核心不符合该有限状态机的该当前状态或指派的该用户访问权限的该范围并未覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求无权限使用该多个硬件资源。
13.一种计算方法,用于提供正常安全性服务与高安全性服务,包含提供多个硬件资源,其中该多个硬件资源依据多个资源安全性级别被分成多个组;为请求指派用户访问权限,其中处理器核心在正常安全性状态与高安全性状态之间转换,以及,相较于该正常安全性状态,在该高安全性状态中指派的该用户访问权限进一步允许该请求使用该多个硬件资源中具有较高资源安全性级别者;依据指派的该用户访问权限以及该请求所需的该多个硬件资源的该多个资源安全性级别而决定该请求是否有权限使用该多个硬件资源;当决定该请求有权限使用该多个硬件资源时,执行该请求;以及当决定该请求无权限使用该多个硬件资源时,拒绝该请求。
14.如权利要求13所述的计算方法,其特征在于指派该用户访问权限的该步骤进一步考虑计算系统的保护级别,其中该计算系统包含该处理器核心以及该多个硬件资源。
15.如权利要求14所述的计算方法,其特征在于依据指派的该用户访问权限,该保护级别越高,该多个硬件资源中的越少资源对于该请求是可用的。
16.如权利要求15所述的计算方法,其特征在于在该计算系统的安全性启动程序期间,该处理器核心初始化该保护级别寄存器,以及在该安全性启动程序期间,该处理器核心处于高安全性状态。
17.如权利要求16所述的计算方法,其特征在于更包含存储并重存当该保护级别变化时释放或隔离的该多个硬件资源的上下文,其中,在该保护级别转换成较低安全性级别之前,该请求最初被禁止访问释放的该多个硬件资源,以及在该保护级别转换成较高安全性级别之前,隔离的该多个硬件资源对于该请求最初是可用的。
18.如权利要求17所述的计算方法,其特征在于当该处理器核心处于该高安全性状态时,该保护级别是被允许通过该处理器核心转换成该较低安全性级别。
19.如权利要求13所述的计算方法,其特征在于当指派的该用户访问权限的范围覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求有权限使用该多个硬件资源,或当指派的该用户访问权限的该范围并未覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求无权限使用该多个硬件资源。
20.如权利要求19所述的计算方法,其特征在于决定该请求是否有权限使用该多个硬件资源的该步骤进一步考虑有限状态机的当前状态。
21.如权利要求20所述的计算方法,其特征在于当于该正常安全性状态或该高安全性状态之间转换的该处理器核心符合该有限状态机的该当前状态且指派的该用户访问权限的范围覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求有权限使用该多个硬件资源,或者,当该处理器核心不符合该有限状态机的该当前状态或指派的该用户访问权限的该范围并未覆盖全部所需的该多个硬件资源的该多个资源安全性级别时,该访问权限核对器决定该请求无权限使用该多个硬件资源。
全文摘要
本发明提供一种计算系统与计算方法。所述计算系统提供正常安全性服务与高安全性服务,其包含硬件资源、处理器核心以及访问权限核对器。依据资源安全性级别将硬件资源分成多个组;处理器核心在正常安全性状态与高安全性状态之间转换以及为请求指派用户访问权限;访问权限核对器依据指派的用户访问权限以及请求所需的硬件资源的资源安全性级别而决定请求是否有权限使用硬件资源。上述计算系统与计算方法能够减少安全性环境的转换并增加硬件资源的利用率。
文档编号G06F21/00GK102289608SQ20101061099
公开日2011年12月21日 申请日期2010年12月29日 优先权日2010年6月17日
发明者苏持平, 黄京光 申请人:联发科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1