微控制器的存储器空间的安全管理的方法
【专利摘要】一种本发明由一种管理电子微控制器系统的方法构成,所述微控制器系统包括两个处理器(CPU1,CPU2),第一处理器(CPU1)意欲用于不安全应用(Applil)的执行,显示出未被保证水平的功能安全性和完整性,第二处理器(CPU2)专用于安全应用(APPli2)的执行,实现代码和数据,并且涉及被保证水平的功能安全性和完整性,所述安全应用(Appli2)能够实现安全功能;访问(CT)共享存储器空间(MEM)的部件。根据本发明,第一处理器(CPU1)包括用于管理以下述方式配置的存储器(MMU1)的单元,其实现写入访问控制,以便管理当安全应用(Appli2)实现其安全功能时不可修改的对于共享存储器空间(MEU)的写入访问。
【专利说明】微控制器的存储器空间的安全管理的方法
【技术领域】
[0001] 本发明涉及一种用于在同一个微控制器系统上管理显示出高水平的完整性和功 能安全性的应用以及不显示任何特定关键性的应用的方法。
[0002] 因此,本发明涉及关键应用和非关键应用的在同一个微控制器系统上的同时操作 的框架内的、从可编程电子设备的功能安全性的视点看和从完整性的视点看关键的系统的 管理,该关键应用被称为"安全",并且因此显示出高的被保证水平的完整性和功能安全性, 该非关键应用被称为"不安全",并且显示出未被保证水平的完整性和功能安全性。
【背景技术】
[0003] 在本发明中涉及的系统是显示出具有几个处理器的架构的微控制器,并且根据本 发明的方法处理它们在对于与从功能安全性和完整性的视点看的微控制器系统的认证的 一般棘手问题相关联的、功能安全性和完整性的棘手问题敏感的环境中的使用。这样的认 证例如被称为用于安全完整性水平的SIL。存在在"欧洲功能安全标准"中定义的、范围从 1至4的、从最小安全至最大安全的SIL的各种值。
[0004] 当前,为了考虑处理安全应用和不安全应用的共存的棘手问题,已知技术实质上 涉及虚拟化和管理程序的概念,其中,安全应用被称为"安全",即,涉及高水平的完整性和 功能安全性,不安全应用被称为"不安全",即,不涉及高水平的完整性和功能安全性。
[0005] 本领域内的技术人员在他的一般知识中具有这些技术的主要特性。简而言之,可 以回想起,虚拟化技术由功能安全软件机制构成,其中,显示出很高水平的可靠性的、被例 如管理程序占用的管理层包括用于分离在同一个处理器上运行的独立软件平台的部件。为 了如此进行,所述管理程序包括存储器管理单元,其通常被称为MMU,使得有可能在各个共 享应用之间划分资源的使用,特别是存储器空间的使用。
[0006] 这样的管理程序可以显示独立地管理各个处理器的能力;例如,所述管理程序可 以具有重启与操作系统相关联的处理器而不重启其他处理器的能力。
[0007] 通过用于实现以上所述的虚拟化技术的技术的说明,有可能参见文件 EP1067461A1。而且,文件US2007118880A1和EP1331539A2描述了在包括安全问题的环境 中的具有几个处理器的系统。
[0008] 然而,虽然它处理管理在同一个处理器上的安全和不安全应用的共存的一般棘手 问题,但是管理程序的实现方式显示特定的缺点。首先,管理程序的使用使得系统的性能变 差,因为该工具消耗资源并且先天地导致系统的变慢。这也可能对于与特定应用相关联的 "实时"约束的方面有害,不论该应用是安全或不安全。而且,今天,该类型的文件显示出很 高的获取成本。
[0009] 因此,由本发明针对的技术问题可以被认为是对于下述部件的搜索,该部件使得 有可能以降低的成本,因此在规避涉及虚拟化和管理程序的已知的但昂贵的技术的同时来 管理在同一个微控制器系统上的安全和不安全应用的共存。而且,本发明对于该系统的性 能具有有限的影响。
【发明内容】
[0010] 为了这个目的,本发明的主题是一种电子微控制器系统的管理的方法,所述微控 制器系统包括:
[0011]-两个处理器,第一处理器意欲用于不安全应用的执行,显示出未被保证水平的功 能安全性和完整性,第二处理器专用于安全应用的执行,实现代码和数据,并且涉及被保证 水平的功能安全性和完整性,所述安全应用能够实现安全功能;
[0012] -访问共享存储器空间的部件。
[0013] 根据本发明,所述第一处理器包括存储器管理单元,其被以它实现写入访问检查 的方式被配置,用于管理当所述安全应用实现其安全功能时不可修改的、向所述共享存储 器空间的写入访问。
[0014] 有益地,通过下面的步骤的实现来使得所述写入访问检查不可修改:
[0015] -在被分配到所述安全应用的存储器区域和被分配到所述不安全应用的存储器区 域之间分配所述共享存储器空间;
[0016] -预期地址的转换的缓冲器的实现;
[0017] -向所述预期地址的转换的缓冲器内装载访问所述共享存储器的一组规则,包括 禁止所述不安全应用在向所述安全应用分配的存储器区域的保留区域中写入的规则;
[0018] -向所述共享存储器空间内复制所述预期地址的转换的缓冲器的图像;
[0019] -向所述预期地址的转换的缓冲器的所述图像内装载用于禁止所述图像在所述预 期转换的缓冲器中的写入的规则;
[0020] -通过所述存储器管理单元来实现在所述预期地址的转换的缓冲器的所述图像中 包含的访问规则。
[0021] 表达"预期地址的转换的缓冲器"或更简单的"地址转换缓冲器"对应于代表"转 换后备缓冲器"的已知的通常缩写TLB,它是可以被存储器管理单元特别用于将虚拟地址转 换为物理地址的微处理器的存储器。
[0022] 有益地,根据本发明的方法而且可以在先前的步骤之后包括由下述构成的步骤: 验证预期地址的转换的缓冲器的完整性和与所述安全应用对应的代码和数据的完整性。
[0023] 有益地,根据本发明的方法而且可以包括下述步骤:构造安全CRC,CRC代表循环 冗余校验,旨在检测传输或传送的错误,所述CRC与所述预期地址的转换的缓冲器相关联。
[0024] 有益地,根据本发明的方法而且可以在每一个步骤之后包括验证前一个行为步骤 的正确的进展的步骤。
【专利附图】
【附图说明】
[0025] 其他特性和优点在参考附图提供的随后的详细说明中将变得清楚,附图表示:
[0026] 图1 :必须管理分别被称为"安全"和"不安全"的安全和不安全应用的电子微控制 器系统的功能图;
[0027] 图2 :根据本发明的方法的示例性实施例,用于实现用于不安全应用的存储器管 理单元,其保证与安全应用相关的存储器隔离。
【具体实施方式】
[0028] 基于在图1中示意地表示的微控制器系统,根据本发明的方法涉及在微控制器系 统中同时管理安全应用和不安全应用,该安全应用即显示出被保证和高的在同一时间的功 能安全性和完整性的水平,该不安全应用即显示出未被保证的安全水平。
[0029] 图1表示具有三个微处理器CPU1、CPU2、CPU3的电子微控制器系统。在这个系统 中,每一个处理器包括通过存储器管理单元MMU来访问共享存储器的部件。
[0030] 微控制器系统而且通过存储器控制器CT与共享存储器空间MEM交互,并且检查由 从外围装置SI、S2、S3实现的功能,该外围装置SI、S2、S3例如是串行链接接口、SDCARD存 储器板或CompactFlash接口,不具有任何主动角色,S卩,不主动使用微控制器系统。
[0031] 最后,微控制器系统被链接到它的用户主外围装置通过专用接口调用;这些IXD、 USB、PCIe、MAC主外围装置可以主动使用微控制器的资源。具体地说,所述用户主外围装置 可以是与标准对应的外围装置,例如:IXD(液晶显示器)屏幕、USB(通用串行总线)外围装 置,它们来自与串行传输计算机总线相关的公知标准的名称;PCIe或PCI Express快速外 围组件互连)扩展板,其来自允许扩展板连接到母板的已知标准的名称;或者,用于连接到 网络的MAC以太网板。
[0032] 互连矩阵Μ实现在所述处理器CPU1、CPU2、CPU3、经由存储器控制器CT的共享存 储器空间MEM、经由专用接口的IXD、USB、PCIe、MAC用户主外围装置、以及从外围装置S1、 S2、S3之间进行互连。
[0033] 根据本发明的方法提供了用于特别通过被绑定到每个处理器CPU1、CPU2、CPU3的 存储器管理单元MMU的特定使用来使得安全应用和不安全应用在图1中提供的类型的同一 个微控制器系统上在同一个时间运行。存储器管理单元MMU的特定使用保证没有不安全应 用可以破坏在安全功能的执行期间由安全应用使用的共享存储器空间MEM的区域的完整 性。
[0034] 而且,当通过存储器管理单元MMU的该特定使用来保证由安全应用使用的共享存 储器空间MEM的区域的完整性时,可以将该系统看作整体在被称为"安全"的安全模式中运 行。在相反的情况下,一旦由安全应用使用的共享存储器MEM的区域的完整性未被保证,则 该系统将被看作整体在不安全维护模式中运行。
[0035] 在图2中提供了这样的存储器管理单元MMU的示例性使用。
[0036] 因此,图2描述了在共享存储器MEM中的两个应用Applil和Appli2的分配。不 安全应用Applil被第一处理器CPU1执行,它围绕诸如VxWorks Linux的在业内通常使用 的标准操作系统被开发,在应用Applil上提供了实时执行特性,而未提供用于接收相对于 实现它的工业设备的功能安全性的认证的任何能力。根据被设计来使得能够获得功能安全 性认证的定义、生产和测试的过程来整体开发由第二处理器CPU2执行的安全应用Appli2。
[0037] 微控制器系统当然可以包括其他处理器,特别是第三处理器,其负责执行不安全 类型的第三应用,以例如执行通信功能,但是在图2中未图示这一点。也可以提供专用于其 他安全应用的执行的其他处理器。
[0038] 附接到第一处理器CPU1的第一存储器管理单元MMU1实现执行特定方法步骤的驱 动器,以便保证在应用之间共享的存储器空间的隔离,因为不安全应用必然不可能破坏与 安全应用相关联的数据的完整性。
[0039] 保护原理旨在保护绑定到执行不安全应用Applil的第一处理器CPU1的第一存储 器管理单元MMU1的过滤的功能,以便保证在被分配到安全应用Appli2的共享存储器MEM 的区域中的写入的禁止。绑定到第二处理器CPU2的存储器管理单元MMU2是可选的;其使 用不被绑定到如上所述的保护原理。
[0040] 在传统使用中,属于不安全应用Applil的第一存储器管理单元MMU1的驱动器实 现地址转换缓冲器TLB1,用于将第一处理器CPU1寻求访问的地址转换为共享存储器MEM的 地址。该地址转换缓冲器TLB1规定第一处理器CPU1通过第一存储器管理单元MMU1来访 问共享存储器MEM的规则。在这个传统使用中,在执行第一存储器管理单元MMU1的驱动器 后,通过不安全应用App 1 i 1来构造地址转换缓冲器TLB 1 ;前者因此不能保证用于在专用于 安全应用Appli2的共享存储器MEM的区域中的写入的访问的过滤。第一存储器管理单元 MMU1的传统使用不满足在诸如在图1中限定的同一个微控制器系统上的安全和"不安全" 应用的执行。
[0041] 通过本发明描述利用第一存储器管理单元MMU1的特定方法。该特定使用在于:使 得地址转换缓冲器TBL1的内容被安全应用Appli2检查并且然后锁存,以便保证由第一存 储器管理单元MMU1执行的写入的过滤。如果满足关于地址转换缓冲器TLB1的内容的检查, 则安全应用Appli2可以然后保证安全功能。整合所考虑的微控制器系统的设备的项目因 此能够被看作整体在被称为"安全"的安全模式中运行。
[0042] 地址转换缓冲器TLB1的锁存的原理依赖于下述行为:阻挡对于包含地址转换缓 冲器TLB1的图像TLBCPU1的共享存储器区域MEM的写入访问。第一存储器管理单元MMU1 以下述方式运行:它总是使用在地址转换缓冲器TLB1的图像TLBCPU1中包含的访问规则。
[0043] 以下描述第一处理器CPU1对于共享存储器MEM的访问的规则的构造、检查并且然 后锁存的可能序列。在不偏离本发明的范围的情况下,导致同一结果的其他序列是可能的。
[0044] 步骤1是限定共享存储器MEM的组织的步骤。地址转换缓冲器TLB1的图像 TLBCPU1的位置被不安全应用Applil和安全应用Appli2限定和已知。共享存储器MEM 的区域被保留以包含源自安全应用Appli2的可执行代码;该区域在图21中被称为"代码 CPU2"。共享存储器MEM的区域被保留以包含安全应用Appli2的专用数据;该区域在图2 中被称为"专用数据"。被安全应用Appli2共享以用于被不安全应用Applil的读取访问的 数据具有两个应用不安全Applil和安全Appli2已知的位置;这些被共享的数据在图2中 被称为"共享数据"。
[0045] 共享存储器MEM的区域而且被分配到不安全应用Applil,其包括用于可执行代码 的区域"代码CPU1"和用于相关联的数据的区域"数据"。
[0046] 步骤2对应于设备的项目的开始或设备的项目的初始化,该设备包括负责实现不 安全应用Applil和安全应用Appli2的微控制器系统。不安全应用Applil通过执行用于 初始化第一存储器管理单元MMU1的驱动器而构造地址转换缓冲器TLB1。在此结合点,安 全应用Appli2还未保证任何安全功能,等待不安全应用Applil结束构造地址转换缓冲器 TLB1。可以在步骤2的过程中提供安全CRC的构造,CRC代表被不安全应用Applil校验的 循环冗余校验,用于检测地址转换缓冲器TLB1的构造和初始化的结束,并且去往步骤3。
[0047] 步骤3对应于地址转换缓冲器TLB1的锁存。用于实现该步骤3的优选的手段是 启动第一存储器管理单元MMU1的功能,在于配置相对于在与地址转换缓冲器TLB1的图像 TLBCPU1对应的共享存储器MEM中的地址的写入禁止。
[0048] 步骤4对应于地址转换缓冲器TLB1的内容的验证。该步骤4专用于安全应用 Appli2。因此,安全应用Appli2验证在地址转换缓冲器TLB1的图像TLBCPU1中包含的规 则对应于在步骤1中针对的定义。
[0049] 步骤5对应于微控制器系统和它所整合于的设备的项目的"安全"模式中的操作。 安全应用Appli2然后完成其安全功能,并且不安全应用Applil不能破坏安全应用Appli2 的代码和数据的完整性。安全应用Appli2而且必须优选地周期地执行与其相关联的代码 和数据的完整性的验证。
[0050] 总之,根据本发明的方法包括下述手段:该手段用于特别通过用于管理安全存储 器的单元的特定实现来保证在同一个微控制器系统上的安全和不安全应用的安全管理,该 安全存储器位于在执行所述不安全应用的处理器的操作系统的层上。
[0051] 有益地,为了获得整合这样的微控制器系统的设备的工业项目的功能安全认证, 实现根据本发明的方法的第一存储器管理单元MMU1的认证可以证明是要相对于在安全和 不安全应用之间的存储器隔离的标准要完成的充分条件。
【权利要求】
1. 一种电子微控制器系统的管理的方法,所述微控制器系统包括: -两个处理器(CPU1,CPU2),第一处理器(CPU1)意欲用于不安全应用(Applil)的 执行,显示出未被保证水平的功能安全性和完整性,第二处理器(CPU2)专用于安全应用 (Appli2)的执行,实现代码和数据,并且涉及被保证水平的功能安全性和完整性,所述安全 应用(Appli2)能够实现安全功能; -访问(CT)共享存储器空间(MEM)的部件; -所述第一处理器(CPU1)包括能够实现写入访问检查的存储器管理单元(MMU1),用于 管理对于所述共享存储器空间(MEM)的写入访问,所述对于所述共享存储器空间(MEM)的 写入访问意欲当所述安全应用(Appli2)实现其安全功能时是不可修改的,通过下面的步 骤的实现来使得所述写入访问检查是不可修改的: -在被分配到所述安全应用的存储器区域和被分配到所述不安全应用的存储器区域之 间分配所述共享存储器空间(MEM); -实现预期地址的转换的缓冲器(TLB1); -向所述预期地址的转换的缓冲器(TLB1)内装载访问所述共享存储器空间(MEM)的一 组规则,包括禁止所述不安全应用在向所述安全应用分配的存储器区域的保留区域中写入 的规则; -向所述共享存储器空间内复制所述预期地址的转换的缓冲器的图像(TLBCPU1); -向所述预期地址的转换的缓冲器的所述图像(TLBCPU1)内装载用于禁止所述图像在 所述预期转换的缓冲器中的写入的规则; -通过所述存储器管理单元(MMU1)来实现在所述预期地址的转换的缓冲器的所述图 像(TLBCPU1)中包含的访问规则。
2. 根据权利要求1所述的方法,而且在先前的步骤之后包括由下述构成的步骤:验证 预期地址的转换的缓冲器的完整性和与所述安全应用(Appli2)对应的代码和数据的完整 性。
3. 根据权利要求1至2之一所述的方法,而且包括下述步骤:构造安全CRC,CRC代表 循环冗余校验,旨在检测传输或传送的错误,所述CRC与所述预期地址的转换的缓冲器相 关联。
4. 根据权利要求1至3之一所述的方法,而且在每一个步骤之后包括验证前一个行为 步骤的正确的进展的步骤。
【文档编号】G06F12/10GK104221028SQ201380016201
【公开日】2014年12月17日 申请日期:2013年4月4日 优先权日:2012年4月18日
【发明者】P.查皮尔, P.贾劳迪亚斯 申请人:施耐德电器工业公司