CN116964556A - 运行控制设备的方法及控制设备 - Google Patents
运行控制设备的方法及控制设备 Download PDFInfo
- Publication number
- CN116964556A CN116964556A CN202280018677.0A CN202280018677A CN116964556A CN 116964556 A CN116964556 A CN 116964556A CN 202280018677 A CN202280018677 A CN 202280018677A CN 116964556 A CN116964556 A CN 116964556A
- Authority
- CN
- China
- Prior art keywords
- software
- control device
- version
- stored
- control information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 230000015654 memory Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004891 communication Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 230000015556 catabolic process Effects 0.000 description 5
- 238000006731 degradation reaction Methods 0.000 description 5
- 238000009434 installation Methods 0.000 description 5
- 230000006855 networking Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/62—Uninstallation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种用于运行车辆(100)的控制设备(110)的方法,在所述控制设备中存储有用于运行所述控制设备而设置的软件的第一版本(142)和控制信息(128),其中所述控制设备被设置为接收用于运行所述控制设备而设置的软件的不同于第一版本的第二版本并且存储在存储单元(120、122)中,其中所述第二版本可通过标识所述软件的说明来加以标识,所述方法包括:获得标识待安装软件的至少一个说明,基于标识所述待安装软件的说明以及所述控制信息检查是否允许存储所述待安装软件,以及如果允许存储所述待安装软件,则将所述待安装软件存储在所述存储单元(120、122)中。
Description
技术领域
本发明涉及用于运行控制设备、特别是车辆控制设备的方法,以及用于执行该方法的控制设备和计算机程序。
背景技术
当代车辆中使用越来越多的控制设备,这些控制设备相互之间的联网也更加密集。在此情况下,无线软件或固件更新(SOTA/FOTA)也是可能的,其中控制设备的软件新版本不再从本地,而是经由无线数据连接安装到控制设备上。
发明内容
根据本发明,提出了具有专利独立权利要求的特征的用于运行控制设备的方法以及用于执行该方法的控制设备和计算机程序。有利的设计是从属权利要求和以下描述的主题。
本发明涉及车辆的控制设备(或车辆控制设备)及其运行以及更新软件时的可能问题。特别是在控制设备功能更复杂的情况下,需要进行大量测试,以便能够全面测试软件或由多个分布式控制设备组成的***。因为必须或应当检查的潜在错误源越来越多,特别是由于联网越来越密集。因此,也可以基于风险地仅测试软件的一定范围,并且可以冗余地或以简化的形式检查安全相关软件的合理性。
在此,新软件,即控制设备的软件新版本,通常具有提高的未识别故障的概率。因此通常必须进行复杂而漫长的测试,以使用尽可能广泛的环境条件检查新软件或软件新版本。但不排除后期使用中仍会出现错误。
相互联网会产生进一步的风险,因为即使其他计算单元上的软件也可能涉及控制设备的更新,或者在这种更新后突然展现故障。特别是当应当对联网功能进行更新时,复合体中许多控制设备的软件必须常常更新,以继续保证兼容性。
在此背景下,现在在本发明的范围内提出,车辆的控制设备(或车辆控制设备)具有控制信息(例如数据包),所述控制信息在安装新软件时或之前得到评估,以决定是否允许安装该软件。这种控制信息可以特别有利地用于启用和控制降级或回滚。根据安装在车辆中的控制设备的性质,软件的降级,即该软件或先前软件的(外部)安装,或回滚,即该软件或先前软件在控制设备内部的恢复,可以是有意义的措施,直到无错误的软件新版本可用为止。但是,允许任何更早期版本通常是不合理的,因为更早期版本本身可能存在错误或同时存在不兼容性。特别地,所述控制信息的使用现在使得可以控制降级或回滚的可能性并且仅允许特定的软件版本或不允许特定的软件版本。例如,如果特定的软件版本由于其例如是高的安全风险(就“安全(safety)”或“保障(security)”而言)而迫切必须停止流通,则在本发明的范围内创建了阻止将来降级或回滚(以及升级)到该版本的可能性。
具体地,本发明涉及一种用于运行车辆的控制设备的方法,在所述控制设备中存储有用于运行所述控制设备而设置的软件的第一版本和控制信息,其中所述控制设备被设置为接收用于运行所述控制设备而设置的软件的不同于所述第一版本的第二版本并且存储在存储单元中,其中所述第二版本可通过标识所述软件的说明来加以标识,所述方法包括获得标识待安装软件的至少一个说明,基于标识待安装软件的说明以及所述控制信息检查是否允许存储所述待安装软件,以及如果允许存储所述待安装软件,则将所述待安装软件存储在所述存储单元中。
所述控制信息优选地包含标识说明,例如关于软件版本或修订版、关于允许安装到控制设备上的软件(所谓的白名单)和/或不允许安装到控制设备上的软件(所谓的黑名单)的信息。特别地,可以存在两种类型的说明或者仅存在两种类型的说明之一,以及关于涉及哪种类型的说明(即允许或不允许;白名单或黑名单)的信息。于是,所述控制信息中不必对两种类型的列表都存在可用的存储区域,从而所述控制信息在其空间需求方面保持有限。
优选地,所述安装是更新或升级,即新软件是较新的(特别是具有较高版本号或修订号),或者是降级或回滚,即新软件是较旧的(特别是具有较低版本号或修订号)。应当指出的是,本发明不依赖于具体的标识或版本设定方案。唯一相关的是软件是可标识的。
然而,特别是所述控制设备被设置为始终接受并安装比当前现有版本更新的版本的软件(即更新),但仅当所述控制信息允许较旧版本时才接受和安装较旧版本(即降级)。
优选地,仅当所述控制信息包含数据或所述控制信息存在时才安装新软件,即,在标识软件的说明缺失的情况下,所述控制设备不允许在所述存储器单元中存储所述软件。
优选地,所述控制信息还包含年龄信息(例如,所谓的新鲜度计数器),以防止重放攻击(使得可能不再有效的旧控制信息可用)。所述年龄信息可以特别是包括日期。
优选地,所述控制信息由所述控制设备以加密和/或签名的形式接收和/或存储在所述控制设备中,以防止随机或故意的操纵。诸如基于AES、SHA等的合适的加密和签名算法是本领域技术人员众所周知的。
本发明提供了控制更新和降级的灵活的(所述控制信息或所述控制信息中包含的说明可以随时由(授权的)人员创建并适配于关键软件版本方面的当前知识)和安全的(防止重放攻击、签名)可能性。
因此,以这种方式可以无风险地或至少以较小的风险进行控制设备的软件更新。如果在执行新软件版本时出现故障或多次出现故障,可以例如出于安全原因切换到该软件的先前或旧版本。以这种方式,运行至少还可以继续维持,如果必要时还受到一些限制(例如,如果旧版本具有较少的功能或具有可能没有新版本的错误那么严重的其他错误)。因此,最终也可以减少用新软件版本提前进行的测试的数量。
本发明特别适合于通过无线电的软件更新。将来软件更新应当尽可能不在车间进行。相反,车辆应当通过无线电或无线连接下载并安装新软件或新软件版本(上述SOTA/FOTA更新),而无需用户自己的明显干预。为此,某种程度上无论如何在控制设备中需要的存储空间是至少运行所需的存储空间的两倍,以将新软件在后台下载到未使用的存储空间中。一旦新软件完全下载,就可以在重新启动后使用该新软件。以这种方式,软件更新可以在用户未觉察的情况下进行。如果例如较早的版本仍然存储在控制设备中,则可以在那里实现本发明而无需进一步的硬件改变。
由于由此总体出现更少的故障,可以减少测试的时间和耗费。可以以更早和更成本有利地将新的软件更新引入车辆中。由此对于制造商而言可以成本更有利地为车辆事后还装备新的软件功能。例如,如果制造商希望将新数据用于来自尽可能多的车辆的数据挖掘应用并且因此已经在路上的车辆也需要软件更改,则这对制造商是特别感兴趣的。
车辆的根据本发明的控制设备特别是以编程技术被设置为执行根据本发明的方法。
以具有用于执行所有方法步骤的程序代码的计算机程序或计算机程序产品的形式实现根据本发明的方法也是有利的,因为这导致特别低的成本,特别是在执行控制设备还用于其他任务并且因此无论如何都存在的情况下。适合于提供所述计算机程序的数据载体特别是磁的、光的和电的存储器,例如硬盘、闪存、EEPROM、DVD等。还可以通过计算机网络(互联网、内联网等)下载程序。
本发明的进一步优点和设计由说明书和附图得出。
附图说明
基于实施例在附图中示意性示出本发明,并且下面参考附图对本发明进行描述。
图1示意性示出了车辆中的优选实施方式中的根据本发明的控制设备。
图2示意性示出了优选实施方式中的根据本发明的方法的流程。
具体实施方式
图1中示意性示出了车辆100中的优选实施方式中的根据本发明的控制设备110、112和114。作为示例,下面应当仅更详细地解释控制设备110,但是控制单元112、114可以相同设计。
控制设备110具有带有多个存储区域120、122的存储单元、处理器124以及通信接口126,控制设备110利用通信接口126连接到诸如总线(诸如CAN总线)的通信介质。其他控制设备对应地连接至通信介质130,使得可以经由通信介质130交换消息。
车辆还具有数据接口150,例如用于数据的无线电传输,例如用于与远程计算单元、计算中心、云等通信,这通过云250来表示。
在控制设备110上,现在被设置用于运行控制设备110的软件的两个版本140和142可以分别存储在存储区域120、122之一中。该软件特别是可以或已经经由接口150无线地接收,或者也可以传统地例如经由连接到CAN总线的编程设备接收。作为相应软件的一部分或者与相应软件无关地,所述控制设备还在所述存储单元中包含至少一个控制信息128,控制设备基于该控制信息来检查是否允许存储待安装软件。所述控制信息还可以例如作为软件的一部分或者独立于软件地重新安装到所述控制设备上。
例如,所述控制设备可以被设置为总是接受和安装比当前存在的版本更新版本(例如,具有更高版本号)的软件,但仅当控制信息128允许较旧的版本时才接受和安装较旧的版本。为了防止未经允许的访问,所述控制设备适宜地被设置为仅以加密和/或签名的形式接受待安装的数据(例如软件和控制信息)。合适的机制是本领域技术人员已知的。
图2中示意性示出了优选实施方式中的根据本发明的方法的流程。
在步骤200中,控制设备利用存储在其中(例如存储在存储单元的存储区域120中)的软件140来运行。
在步骤202中,可以促使安装其他软件142,例如作为软件140的更新。为此,新的软件142例如经由数据接口150加载到车辆控制设备中,并且在那里例如存储在存储单元的存储区域122中。特别地,更新的控制信息128也与软件142一起安装,所述更新的控制信息例如将较早的软件140规定为允许的降级。为此,控制信息128可以包含例如所有允许的降级的列表(白名单)和/或所有不允许的降级的列表(黑名单)。
在步骤204中,控制设备利用存储在其中的软件142来运行。然后可以删除软件140,但是如果在控制信息中将软件140规定为允许的降级,则可以适宜地保留软件140,以便能够在紧急情况下访问软件140。
例如,如果现在必须返回到较早或较旧的软件140,例如因为在软件142运行时展现出严重错误,则在步骤206中促使安装软件140作为软件142的降级。这通常在外部进行,例如由控制设备制造商或车辆制造商(在250内)进行。
然后,控制设备首先在步骤208中检查是否允许基于控制信息128将软件140作为软件142的降级。
如果不允许该软件,则不安装该软件,例如已拒绝软件的接收,步骤210。
然而,如果允许该软件——如在当前情况140中,控制设备特别是检查该软件是否仍然位于控制设备的存储单元中——如在当前情况中在存储区域120中,步骤212。
如果在步骤212中是这种情况,则使用该软件,特别是在控制设备重新启动之后。控制设备然后利用该版本140——无论如何首先——继续运行,步骤214。
如果在步骤212中情况并非如此,则特别是经由数据接口150接收软件140并且存储在控制设备的存储单元中,步骤216,并且特别是在控制设备重新启动之后使用软件140。控制设备然后利用该版本140——无论如何首先——继续运行,步骤214。
Claims (10)
1.一种用于运行车辆(100)的控制设备(110)的方法,在所述控制设备中存储有用于运行所述控制设备而设置的软件(142)的第一版本和控制信息(128),
其中所述控制设备(110)被设置为接收所述用于运行所述控制设备而设置的软件的不同于所述第一版本的第二版本(140)并且存储在存储单元(120、122)中,其中所述第二版本能够通过标识所述软件的说明来加以标识,所述方法具有步骤:
获得标识待安装软件(140)的至少一个说明,
基于标识所述待安装软件的说明以及所述控制信息(128)检查是否允许存储所述待安装软件,
如果允许存储所述待安装软件,则将所述待安装软件(140)存储在所述存储单元(120、122)中。
2.根据权利要求1所述的方法,具有以下步骤:
从控制设备外部的源(250)接收所述待安装软件(140),或者
从所述控制设备的存储单元(120)读取所述待安装软件。
3.根据权利要求1或2所述的方法,其中获得标识待安装软件(140)的至少一个说明包括:
从控制设备外部的源(250)接收标识所述待安装软件的至少一个说明,或者
从所述控制设备的存储单元读取标识所述待安装软件的至少一个说明。
4.根据前述权利要求中任一项所述的方法,其中所述控制信息(128)包含关于允许安装到所述控制设备上的软件和/或不允许安装到所述控制设备上的软件的标识说明。
5.根据前述权利要求中任一项所述的方法,其中所述控制信息(128)包含说明所述控制信息的年龄的年龄信息。
6.根据前述权利要求中任一项所述的方法,具有以下步骤:
从控制设备外部的源(250)接收所述控制信息(128)并将所述控制信息存储在所述存储器单元中。
7.根据权利要求6所述的方法,其中以密码加密和/或签名的形式接收和/或存储所述控制信息。
8.一种用于车辆(100)的控制设备(110),所述控制设备被设置为执行根据前述权利要求中任一项所述的方法的所有方法步骤。
9.一种计算机程序,当所述计算机程序在控制设备(110)上执行时,所述计算机程序促使所述控制设备(110)执行根据权利要求1至7中任一项所述的方法的所有方法步骤。
10.一种机器可读存储介质,具有在其上存储的根据权利要求9所述的计算机程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102021202015.1 | 2021-03-03 | ||
DE102021202015.1A DE102021202015A1 (de) | 2021-03-03 | 2021-03-03 | Verfahren zum Betreiben eines Steuergeräts und Steuergerät |
PCT/EP2022/053469 WO2022184407A1 (de) | 2021-03-03 | 2022-02-14 | Verfahren zum betreiben eines steuergeräts und steuergerät |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116964556A true CN116964556A (zh) | 2023-10-27 |
Family
ID=80738850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280018677.0A Pending CN116964556A (zh) | 2021-03-03 | 2022-02-14 | 运行控制设备的方法及控制设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240095018A1 (zh) |
CN (1) | CN116964556A (zh) |
DE (1) | DE102021202015A1 (zh) |
WO (1) | WO2022184407A1 (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110092007A (ko) * | 2010-02-08 | 2011-08-17 | 주식회사 만도 | 차량의 소프트웨어 다운로드 시스템 및 방법 |
US9916151B2 (en) * | 2015-08-25 | 2018-03-13 | Ford Global Technologies, Llc | Multiple-stage secure vehicle software updating |
-
2021
- 2021-03-03 DE DE102021202015.1A patent/DE102021202015A1/de active Pending
-
2022
- 2022-02-14 WO PCT/EP2022/053469 patent/WO2022184407A1/de active Application Filing
- 2022-02-14 CN CN202280018677.0A patent/CN116964556A/zh active Pending
- 2022-02-14 US US18/546,537 patent/US20240095018A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20240095018A1 (en) | 2024-03-21 |
DE102021202015A1 (de) | 2022-09-08 |
WO2022184407A1 (de) | 2022-09-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20240045668A1 (en) | Orchestrator reporting of probability of downtime from machine learning process | |
EP3352080B1 (en) | Gateway device, firmware update method, and control program | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
US7346435B2 (en) | Method for loading software | |
CN102630320B (zh) | 信息处理装置以及应用程序不正当协作防止方法 | |
US20110307668A1 (en) | Method and system of updating shared memory | |
EP4113287B1 (en) | Gateway device, in-vehicle network system, and firmware update method | |
CN103329093A (zh) | 更新软件 | |
US20170109546A1 (en) | Securing of the loading of data into a nonvolatile memory of a secure element | |
CN107992753A (zh) | 用于更新车辆的控制设备的软件的方法 | |
CN1871583B (zh) | 至少一个控制设备的过程控制功能的更新和/或扩展 | |
CN115220796A (zh) | 安全引导设备 | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN107102849B (zh) | 用于周期性点火开关断开的文件替换的方法和设备 | |
CN103365684B (zh) | 更新方法和多域嵌入式*** | |
CN113810446A (zh) | 一种车载网络的ecu的安全升级管理方法 | |
CN116964556A (zh) | 运行控制设备的方法及控制设备 | |
CN117407020A (zh) | Ota升级刷写方法、装置、电子设备及存储介质 | |
WO2023141502A1 (en) | Technologies for over-the-air updates for telematics systems | |
CN115280280A (zh) | 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置 | |
US20210334089A1 (en) | Device Decision to Download Software Update | |
CN111857741A (zh) | 电子设备和电子设备的操作方法 | |
CN113553085B (zh) | 嵌入式操作***在线升级的方法、装置、设备和存储介质 | |
CN117494232B (zh) | 固件的执行方法和装置、***、存储介质及电子设备 | |
EP4246315A1 (en) | Electronic component for electronic equipment and a method for provisioning and updating such an electronic component |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |