安全管理程序功能的制作方法

文档序号:8543959阅读:259来源:国知局
安全管理程序功能的制作方法
【专利说明】安全管理程序功能
[0001]对相关申请的参考
本申请要求在2014年2月21日提交的美国申请号61/942,801的优先权。
技术领域
[0002]本公开涉及用于针对微控制器的安全功能的方法和系统。更具体地,本公开涉及用于限定用于控制分布式存储器访问保护系统的处理器安全权限级别的方法和系统。
【背景技术】
[0003]现代汽车电子控制单元(ECU)继续集成数目越来越多的功能。这个趋势一方面由能够实现高水平集成的技术扩展来推动,并且由促使每辆汽车的ECU总数减少的汽车工业的高成本驱动的性质来推动。电子设备在提供高级驱动辅助功能方面并且特别在将减少致命伤害的数目的防止危害方面扮演越来越重要的角色。
[0004]在ECU内部的功能集成主要集中在安全微控制器周围,该安全微控制器通过托管关键的采集、计算和控制功能来扮演核心角色。ISO 26262安全标准提供一种考核在安全应用中涉及的软件的临界性的方式。在经过危害和风险分析的第一步骤中,每个功能被分等级。这导致用于每个安全目标的汽车安全完整性级别(ASIL)。因此,存在一起相互作用来提供预期的功能性和完整性的一套复杂的异构软件组件。
[0005]在常规嵌入的处理器中发现的权限级别不再足够满足对ISO 26262安全标准固有的软件封装要求。此外,软件封装要求不应当被限制于在CPU内部的软件运行,而应当对在微控制器内部的所有资源寻址。用于支持这些软件封装要求的适当硬件和软件基础结构的缺乏要求在软件级别构建显著复杂的虚拟化层,其进而要求极为复杂的软件体系结构并且消耗CPU性能的显著部分。结果,这些缺陷使得难以达到ISO 26262标准所期望的集成水平并且能够是在使用现代CPU的可能的软件集成能力中的限制因素。
[0006]一些常规的微控制器已经尝试在软件中实施虚拟层,以致对任何资源的访问在它被发送到专用的硬件资源之前由可信的软件层来控制。然而,这样的软件非常取决于硬件平台并且随着软件任务的数目增加而创造大的系统瓶颈。
[0007]因此,存在对用于在硬件和软件两者中能够实现的安全管理程序(hypervisor)功能的系统和方法的需要。更具体地,存在对能够给在微控制器中运行的任何任务指定的新的权限层的需要。

【发明内容】

[0008]依照本公开的一个方面,用于访问计算机处理系统中的总线的安全管理程序功能的系统包括用于访问系统存储器的模块和用于存储安全代码的存储器单元。模块将安全代码分配到处理的事务并且安全代码通过模块对总线的访问是可见的。
[0009]在一个实施例中,用于计算机系统中的安全管理程序功能的系统包括用于保护对CPU和本地存储器的访问的CPU存储器保护单元(CPU MPU)、用于保护对处理器总线的访问的总线存储器保护单元(总线MPU)、以及用于保护对系统中的一个或多个外围设备的访问的寄存器存储器保护单元(寄存器MPU),其中通过CPU MPU、总线MPU和寄存器MPU使用安全权限级别以确定对相应装置的访问。在一个实施例中,安全权限级别位于处理器状态字中并且可以是安全位或安全代码。安全权限级别也可以当设计系统时被配置并且可以通过操作系统来动态地分配。安全权限级别约束对芯片上的事务的访问。
[0010]依照本公开的另一个方面,用于在计算机系统中执行安全管理程序功能的方法包括为软件任务配置静态属性、分配任务到这些CPU中的一个、以及配置任务所需要的每个总线存储器保护单元和寄存器保护。在一个实施例中,方法进一步包括将新的处理器安全权限级别分派到任务、在运行时间期间使用静态属性来设定硬件资源、以及限定内部数据流。
[0011]本公开的进一步特征、方面和优点从参考附图而进行的本公开的下面详细描述中将变得显而易见。
【附图说明】
[0012]附图被包括以提供对本公开的进一步理解以及被合并到本说明书中并且构成本说明书的部分。附图图示本公开的实施例并且与描述一起用于解释本公开的原理。本公开的其它实施例和本公开的许多预期的优点将被容易地意识到,因为它们通过参考下面的详细描述而变得更好理解。
[0013]图1示出依照本公开的一个实施例的安全管理程序功能的示例示意图。
[0014]图2是示出依照本公开的一个实施例的用于执行安全管理程序功能的方法的流程图。
[0015]图3是示出依照本公开的一个实施例的用于执行安全管理程序功能的方法的流程图。
[0016]图4是示出依照本公开的一个实施例的用于执行安全管理程序功能的方法的流程图。
[0017]图5是用于直接存储器存取(DMA)的安全管理程序功能的另一个实施例的示例示意图。
【具体实施方式】
[0018]在下面的详细描述中参考附图,附图形成其部分并且在附图中通过图示的方式示出了在其中可以实践本发明的具体实施例。要理解的是,在不脱离本公开的范围的情况下,可以利用其它实施例并且可以进行结构的或其它的改变。因此,下面的详细描述不是以限制的意义做出,并且本公开的范围由所附的权利要求限定。
[0019]图1是依照本公开的一个实施例的硬件和软件使能的安全管理程序功能100的示例示意图。本公开提供由新的处理器安全权限级别控制的分布式存储器访问保护系统。安全管理程序功能100包括CPU 102、本地程序存储器104、本地数据存储器106、处理器总线108、外围总线110和多个外围设备112^112#
[0020]CPU 102进一步包括处理器状态字(PSW) 120。在一个实施例中,PSW 120含有与运行时间执行相关的静态任务属性。典型地,与用户/管理员权限级别以及存储器保护配置有关的信息能够在PSW中被发现。在本公开的一个实施例中,PSW延伸带有含有安全权限级别的新的信息字段122。在一个实施例中,安全权限级别可以是安全位。在另一个实施例中,安全权限级别可以是标识由CPU体系结构的其它部分支持的安全属性的代码。
[0021]本公开提供三种不同类型的存储器保护单元(MPU):1)处于CPU级别(CPU MPU)124、2)处于总线级别(总线MPU) 126、以及3)处于寄存器级别(寄存器MPU) 128。CPUMPU 124基于PSW 120中的任务级别CPU MPU属性由CPU直接处置来监测对紧密耦合的存储器的访问。当任务执行对总线的访问时,安全权限级别的编码(取决于本地信息能够被发送的实施方式)作为总线事务的新的属性来发送。这能够通过延伸总线协议或通过添加带有符合在其中使用信息的总线协议阶段的定时的一些边带信息来实现。
[0022]在目的地处,总线MPU 126或寄存器MPU 128检查安全权限级别编码与其私用配置的符合性。私用配置是用于访问具体装置的特殊的安全代码或标识符。可能的编码能够如下被实现:在多主设备总线系统中,每个主设备具有唯一的静态标识符。安全权限级别能够被用来选择替代的标识符。然后在目的地处总线或寄存器MPU的私用配置将包括如下能力:配置将被授权访问保护的资源的一个或几个主设备标识符。在MPU级别处,保护粒度能够根据体现结构的需要而指定只读、只写或读/写属性中的任何一个或子集。
[0023]如在图1中能够看到,安全权限级别当在CPU上运行的软件需要配置它自己的寄存器时也被使用。在另一个实施例中,本公开能够独立于管理员模式来使用新的安全权限级别作为新的保护层以保护它自己的关键寄存器。
[0024]在另一个实施例中,寄存器MPU 128和总线MPU 126独立于操作系统,以便于捕获可能在系统的配置期间出现的潜在系统故障,这典型地是极其复杂的过程或是操作系统软件它自身固有的。在这样的情况下,操作系统控制CPU MPU 124,其中所有其它MPU独立于操作系统来配置。在CPU MPU再配置期间的操作系统故障可能使标准质量软件能够默默地破坏安全相关的资源。例如,因为一些非指定的输入,QM软件能够发生故障并且任意试图访问安全相关的存储器区域。在这种情形下,独立的总线MPU配置将检测到任务不传播预期的安全权限级别并且将拒绝访问。因而,安全权限级别和其通过硬件单元的处置的组合使本系统能够有利地建立芯片上的管理程序,该管理程序满足在软件和硬件级别上干扰的自由度方面的新的要求。
[0025]图2是示出用于在分布式存储器访问保护系统中执行安全管理程序
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1