本发明涉及一种尤其可作为“嵌入式控制器”用于机动车辆的电子控制装置。
背景技术:
电子控制装置在机动车辆中可用于多种用途。例如用于驾驶辅助系统、舒适度功能或诸如安全气囊等安全装置的控制。
由于机动车辆需要与越来越多诸如机动车辆与x通讯系统或与自动紧急呼叫功能等外部设备联网,因而集成在机动车辆电子系统中连接各种外部系统的接口数量大大增加。每一个连接外部系统的接口都可能面临被攻击的风险,例如可通过接口侵入机动车辆电子系统,从而侵入一个电子控制装置,例如嵌入式电子控制器,从而造成该设备被别有用心者滥用。例如可能会用于运行另一种软件,让无权限者擅自对车辆的功能进行远程操纵或监控。
技术实现要素:
因此,确保机动车辆中的电子控制装置能抵御此类攻击特别重要。本发明的任务即为提供一种防御功能特别可靠的电子控制装置。
根据本专利,这一任务通过按权利要求1所述的电子控制装置完成。在从属权利要求中阐述了几种有益的设计示例。明确摘录的权利要求内容构成了说明的内容。
本发明涉及一种电子控制装置。它具有一定数量的应用分区,其中,在每个应用分区中分别执行一种应用。此外,它还具有至少一个运行防火墙的防火墙分区。除此之外,它还具有一定数量的安全接口,用于控制装置与外部设备和/或车载设备的通信。在此,只能经由防火墙分区控制安全接口。另外还设置了一定数量的虚拟接口,用于防火墙分区与至少一个应用分区之间的通信。
借助本发明所述的电子控制装置可实现特别高的安全性,因为各项应用只能借助虚拟接口经由防火墙访问安全接口。例如就算有攻击者在无授权情况下成功地擅自进行了一项应用的交换,但其始终无法访问安全接口。若防火墙例如识别出一项并非原来在各分区所期待的、典型应用的数据传输,则防火墙可阻止这类数据传输。从而既保护了控制装置免受周围环境侵害,也保护了周围环境免受控制装置的侵害。
防火墙本身可优选对未经授权、擅自进行的数据交换或修改加以防护的方式是,使防火墙非常便于编程,并由此不存在可作为攻击点的薄弱环节。
在本专利申请框架中所述的分区尤其是指存储器的一个区域,它用于一项特定的应用或一防火墙。在此,该分区的典型特征是,已在硬件或软件方面得到了保障,使一项应用仅能在一个指定分区内开展读取和写入过程,并且其他应用无法在该分区内读取和写入。但也有例外情况,例如下面会讲到的叠加情况。典型的方式为某项应用或防火墙本身就被存储在其指定的分区内。
例如也可在硬件上制作接口,并实现它与例如can(控制器区域网络)总线系统等其他设备或车载设备的通信。根据本发明,只能由防火墙分区控制安全接口,它特别意味着,只能通过防火墙分区输出和/或读取数据。本专利申请框架中所述的虚拟接口主要是指一个分区内的通信信道。
优选以如下方式经由防火墙分区控制安全接口,即可从防火墙分区经由安全接口输出数据。也可从防火墙分区经由安全接口接收数据。尤其可设置为,只能从防火墙分区输出或接收数据。
虚拟接口优选可实现至少一个应用分区到防火墙分区的数据传输,和/或从防火墙分区到至少一个应用分区的数据传输。在一个有益的实施形式中,虚拟接口用于应用分区和防火墙分区之间的数据交换。
虚拟接口尤其可由防火墙分区提供。可将虚拟接口设为一个防火墙分区和一个或多个应用分区之间的唯一通信渠道。
至少一个虚拟接口可用于防火墙分区和至少一个应用分区的叠加。在此叠加情况下,至少一项应用和一个防火墙可写入及由此读取数据。也可理解为,能将一个虚拟接口,或所有虚拟接口,或所有虚拟接口中的任意部分设置为这种形式。
根据一种实施形式,至少一个虚拟接口拥有一个专用寄存器,它不属于应用分区,也不属于防火墙分区,它可从至少一个应用分区和防火墙分区进行响应。从应用分区和防火墙分区可对该专用寄存器进行读取和写入操作。通过这种方式实现的数据交换与前面所述的分区叠加类似。也就是说,可将一个虚拟接口,或所有虚拟接口,或所有虚拟接口中的任意部分设置为这类形式。
根据一种优选的实施形式,若按照规定的清单,不允许某个数据流通,那么防火墙须阻止虚拟接口与安全接口之间该数据的流通。这符合黑名单原则,即除非有被例如名单中保存等专门的规定将其明确划分为禁止之列,基本上都允许进行相关数据传输。
根据一种可选的优选实施形式,只有在清单中规定允许某个数据流通情况下,防火墙才会允许一个虚拟接口和安全接口之间的数据流通。这符合黑名单原则的倒转形式,即白名单原则。除非获得明确许可,例如名单的许可,相关数据传输基本上都不允许。
可以这样理解,例如黑名单或白名单等经规定的名单可取决于例如正常运行、公开会诊、软件升级等系统状态,或其他可能的状态。这类系统状态例如可能与控制装置或控制装置所属的整台机动车辆相关。此外,如前所述,黑名单原则和白名单原则也可相互组合。例如可分别根据系统状态采取黑名单原则或白名单原则。
如果根据某一规定的名单必须报告某项数据流通,那么优选防火墙必须报告一个虚拟接口和安全接口之间的数据流通。由此可对数据流通实施监控,例如可通过特定数据模式下对监控装置或机动车辆制造商或车队经理的报告实现监控。
此外,根据一种实施形式,所述电子控制装置还拥有一定数量的非安全接口,用于与控制装置的外部设备或车载设备进行通信。在此,非安全接口可直接从至少一个应用分区加以控制,或通过防火墙分区以如下方式进行操控,即在应用分区和非安全接口之间交换的数据基本是经防火墙过滤的。这就允许非关键的接口可阻止防火墙的审核,从而例如可节省运算时间。例如可针对通用输入/输出(gpio)接口采用该原则。
防火墙分区可以有多个,每一防火墙分区分配有一定数量的安全接口。这让监控任务分配给了多个防火墙,而每一个防火墙都在自己的分区内运行。
在本专利申请框架中所述器件数量指的是一个或多个这类器件。
本电子控制装置尤其可设定为嵌入式控制器。这适用于机动车辆中的典型应用程序,例如前面所述的应用。同样也可将其设定为网宇实体装置。
根据一种优选的实施形式,该电子控制装置拥有一个内存管理单元(简称mmu)。该内存管理单元可管理指定分区。其中,一个内存管理单元可执行一个地址虚拟化。这表示应用是以虚拟地址运行的,该虚拟地址与物理地址是相分离的。内存管理单元管理虚拟和物理地址之间的映射。一个不能被应用访问的地址对于该应用来说根本就不存在。
内存保护单元(mpu)可用作内存管理单元的替代选择,或用作内存管理单元应用的额外使用。内存保护单元同样也可管理分区。其中,所有应用通常是以物理地址运行,但内存保护单会禁止访问特定的存储器区域。虽然存在某项应用不能访问的地址,但若尝试进行写入/读取的话只会报错。
根据一种优选的实施形式,电子控制装置拥有一个操作系统。该操作系统可防止从应用分区直接访问安全接口。该操作系统尤其可通过预先设置各分区的叠加或通过预先设置一专用寄存器,实现不同分区之间的通信。该操作系统还可为不同的应用分配运算时间。除此之外,还可用该操作系统对内存管理单元或内存保护单元进行设置。
安全接口尤其可为一个或多个下列接口:
-通用输入/输出接口,简称gpio,
-串行外围接口,简称spi,
-控制器区域网络,简称can,
-以太网,
-通用异步接收器/传送器,简称uart,
-flexray,
-lin,
-安全数字输入/输出接口,简称sdio,
-i2c,
-其它接口,尤其是串行接口。
很有示范意义的是,目前在应用这些所述接口时还可执行一些典型的规则。
采用通用输入/输出接口(gpio)时尤其可对各接口用一改变其电平的频率进行监控。也可借助一个串行外围接口(spi)模块对芯片选择接口被激活时是否确实要开始数据传输加以调整。
采用串行外围接口(spi)时,可对发送给特定总线站点(可通过芯片选择识别)或接收信息的频率进行监控。可对串行外围接口(spi)信息的操作码或有效长度进行规定。也可通过通用输入/输出接口(gpio)对数据交换是否与芯片选择控制器同步加以调整。
采用控制器区域网络(can)/lin/flexray或类似接口时,可对允许接收或发送信息的频率进行监控。可预先规定允许发送或接收的id。可对信息内的允许值进行审核。此外,如果使用某一记录,可对具体的记录应用进行审核。
在采用带有udp/tcp的以太网/ip时,可对允许接收或发送消息的频率进行审核。可封锁不允许的端口或不允许的接收方或发送方。也可进行深层打包过滤,以对具体的记录应用进行审核。
在采用uart时,可对允许接收或发送消息的频率进行审核。同样也可对具体的记录应用进行审核。
附图说明
下面专业人员将参照附图中展示的实施案例,对更多的特征和优势进行说明。其中,
图1展示了一个根据本发明的电子控制装置。
具体实施方式
图1展示了一个微控制器10形式的电子控制装置。该微控制器10上设有一个接口部分100和一个分区部分200。在接口部分100中目前运行有一个控制器区域网络接口(can)110,一个串行外围接口(spi)120和一个通用输入/输出接口(gpio)130。在分区部分200中运行一个防火墙分区210、一个第一应用分区220以及一个第二应用分区230。在防火墙分区210中运行着一个防火墙。在第一应用分区220中运行第一应用。在第二应用分区230中执行第二应用。
在防火墙分区210中运行的防火墙拥有一个控制器区域网络(can)驱动程序213、一个串行外围接口(spi)驱动程序215和一个通用输入/输出接口(gpio)驱动程序217。这些驱动程序可与接口部分100的接口110、120、130通信,从而对这些接口110、120、130做出响应,由此使与外部设备或车载设备的通信成为可能。如图1所示,接口110、120、130只能通过驱动程序213、215、217加以响应。这尤其表示,只能通过防火墙分区210对其作出响应。两个应用分区220、230无法直接访问接口110、120、130。
此外,防火墙还拥有一个控制器区域网络(can)审核模块212、一个串行外围接口(spi)审核模块214和一个通用输入/输出接口(gpio)审核模块216。审核模块212、214、216分别对与驱动程序213、215、217之间的数据传输进行审查。其设定的特别之处在于,要审核各数据传输中是否包含可疑的或被禁止的数据。出现此类情况会立即禁止数据传输。这与所谓的黑名单原则相符,即只要符合特定的规定或标准,原则上都允许通信。即使有攻击者成功地在应用分区220、230中运行了某个有害软件,防火墙也会切断可能有害的对外通信。在此还得再次指出,接口110、120、130负责建立对外联系,其只能从防火墙分区210作出回应,并只有经审核模块212、214、216审查,才能进行对外数据传输或接收外来数据。如图所示,串行外围接口(spi)审核模块214和通用输入/输出接口(gpio)审核模块216之间也可相互进行数据交换。
如图所示,第一应用分区220的设定方式为:执行着例如算法222的第一应用可访问控制器区域网络接口(can)110。为此设定了一个作为寄存器形式的虚拟控制器区域网络接口(can)224,该寄存器既可从第一应用分区220访问,也可从防火墙分区210访问。由此实现了第一应用从其第一应用分区220出发,与防火墙分区210中的防火墙交换数据,如果数据没有违反任何规则的话,随后会将交换数据进一步传输到控制器区域网络接口(can)110。通过控制器区域网络(can)接口110接收数据的过程也一样。
相反,第二应用分区230中运行的第二应用,例如一个算法232的运算,可访问串行外围接口(spi)120和通用输入/输出接口(gpio)130。为此执行了一个作为寄存器形式的虚拟串行外围接口(spi)234和一个虚拟通用输入/输出接口(gpio)236,该寄存器既可从第二应用分区230访问,也可从防火墙分区210访问。这可以相同方式实现第二应用分区230和防火墙分区210之间的数据交换,由此,第二应用可从其第二应用分区出发访问串行外围接口(spi)120和通用输入/输出接口(gpio)130,也就是说通过其发送数据和接收数据。在防火墙分区210中的防火墙会对相应的数据传输进行监控。此外,也对虚拟串行外围接口(spi)234和虚拟通用输入/输出接口(gpio)236之间的通信做了预先规定。
应用分区220、230中的两个应用之间也可进行通信。
如前所述,可方便地对防火墙分区210中运行的防火墙进行编程,由此它就不会有能被攻击者利用的薄弱环节。因此就有效防止了攻击者染指防火墙分区210中的防火墙以及应用分区220、230中的应用。就算在采取所有预防措施情况下还是遭到攻击时,由于硬件上所执行的强制性要求,防火墙也总会发挥作用,通过防火墙对数据传输进行过滤,拦截可能有害的数据传输。
专利申请中包括的权利要求也没有放弃实现进一步的防护。
如果在对专利申请进行处理的过程中,发现某项特征或某组特征已无必要,须由申请人立即重新编写某个不再包含该特征或该组特征的、独立的权利要求。这可能会涉及例如在申报日呈交的权利要求的从属组合,或申报日呈交的权利要求被其他特征限定的从属组合。这类重新编写的权利要求或特征组合属于专利申请范畴。
此外还须注意,发明的不同实施形式或实施案例中所述的和/或图示中展示的形式、特征和方案应可任意组合。单项特征或多个特征可任意替换。由此构成的特征组合属于本专利申请的范畴。
在关联的权利要求中参照的内容并没放弃对所参照从属权利要求的特征进行保护。这些特征也可与其他特征任意组合。
仅在说明部分公布,且在说明中或某项权利要求中只与其他特征一起联合公布的特征,原则上都拥有自身的发明意义。因此也可单一收录到权利要求中,以作为现有技术的界定。
电子控制装置原则上设有处理器和存储器,其中,在存储器中保存了程序代码,程序代码运行时,处理器会按规定形式运作。