[go: up one dir, main page]

DE102022211574A1 - Procedure for assigning software packages - Google Patents

Procedure for assigning software packages Download PDF

Info

Publication number
DE102022211574A1
DE102022211574A1 DE102022211574.0A DE102022211574A DE102022211574A1 DE 102022211574 A1 DE102022211574 A1 DE 102022211574A1 DE 102022211574 A DE102022211574 A DE 102022211574A DE 102022211574 A1 DE102022211574 A1 DE 102022211574A1
Authority
DE
Germany
Prior art keywords
target control
safety
software package
control device
option
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
Application number
DE102022211574.0A
Other languages
German (de)
Inventor
Marcel Mausser
Nicolas Sommer
Holger Niemann
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022211574.0A priority Critical patent/DE102022211574A1/en
Publication of DE102022211574A1 publication Critical patent/DE102022211574A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergerät durch eine Koordinierungseinheit, wobei das Zielsteuergerät ein Security-Modul umfasst, wobei dem Software-Paket eine Safety-Anforderung zugeordnet ist, dem Zielsteuergerät eine Safety-Möglichkeit zugeordnet ist, die Koordinierungseinheit die Safety-Anforderung des Software-Pakets mit der Safety-Möglichkeit des Zielsteuergeräts vergleicht und das Software-Paket dem Zielsteuergerät zuweist, wenn die Safety-Anforderung des Software-Pakets der Safety-Möglichkeit des Zielsteuergeräts entspricht, wobei die Safety-Möglichkeit des Zielsteuergeräts unter Verwendung des Security-Moduls abgesichert wird. Die Erfindung betrifft außerdem eine Vorrichtung, ein Computerprogramm und ein Speichermedium.The present invention relates to a method for assigning a software package to a target control device by a coordination unit, wherein the target control device comprises a security module, wherein a safety requirement is assigned to the software package, a safety option is assigned to the target control device, the coordination unit compares the safety requirement of the software package with the safety option of the target control device and assigns the software package to the target control device if the safety requirement of the software package corresponds to the safety option of the target control device, wherein the safety option of the target control device is secured using the security module. The invention also relates to a device, a computer program and a storage medium.

Description

Stand der TechnikState of the art

Moderne Fahrzeuge sehen oftmals Konzepte zum Aktualisieren von Fahrzeugsoftware ohne Werkstattbesuch vor. Oftmals werden Softwareupdates hierbei über eine Funkschnittstelle bezogen (Update over the Air - OTA). Zukünftig wird es ebenfalls möglich sein, in Form herunterladbarer Apps, zusätzliche Software bzw. Funktionalitäten auf bereits im Feld befindliche Fahrzeuge aufzuspielen.Modern vehicles often have concepts for updating vehicle software without having to visit a workshop. Software updates are often obtained via a wireless interface (Update over the Air - OTA). In the future, it will also be possible to install additional software or functionalities on vehicles already in the field in the form of downloadable apps.

Zusätzlichen setzen sich beispielsweise in der Automobilbranche Softwarekonzepte durch, bei denen Software so gestaltet ist, dass deren Ausführung nicht an zum Zeitpunkt der Softwareerstellung bereits festgelegte Hardwareeinheiten gekoppelt ist. So kann eine Software möglichst hardwareagnostisch ausgebildet sein, um von einem beliebigen geeigneten Steuergerät im Fahrzeug ausgeführt zu werden. Solche nomadischen Softwarefunktionen werden insbesondere im Zusammenhang mit E/E-Architekturen ermöglicht bzw. benötigt, die s.g. Zonensteuergeräte vorsehen.In addition, software concepts are gaining ground in the automotive industry, for example, in which software is designed in such a way that its execution is not linked to hardware units that were already defined at the time the software was created. This means that software can be designed to be as hardware-agnostic as possible in order to be executed by any suitable control unit in the vehicle. Such nomadic software functions are made possible or required in particular in connection with E/E architectures that provide so-called zone control units.

Steuergeräten in technischen Systemen werden mitunter Sicherheitsklassen zugeordnet, die spezifizieren, welchen Grad an funktionaler Sicherheit ein Steuergerät gewährleisten kann. Im Falle von Kraftfahrzeugen wird hierfür die Einteilung in ASIL (Automotive Safety Integrity Level) gewählt. Aus Sicherheitsgründen ist vorgesehen, Funktionen, die per se eine gewisse Gefährdung mit sich bringen, nur auf besonders sicheren Steuergeräten (ASIL D, ASIL C) auszuführen.Control units in technical systems are sometimes assigned safety classes that specify the level of functional safety a control unit can guarantee. In the case of motor vehicles, the classification into ASIL (Automotive Safety Integrity Level) is chosen. For safety reasons, functions that inherently involve a certain level of risk are only intended to be carried out on particularly safe control units (ASIL D, ASIL C).

Wird eine nomadische Software auf einem Fahrzeugsteuergerät aufgespielt, muss sichergestellt werden, dass das entsprechende Steuergerät einem ASIL-Level entspricht, das größer oder gleich dem von der Software geforderten ASIL-Level ist. Eine Software mit Anforderungen an ASIL C darf also nur auf Steuergeräten ausgeführt werden, die ASIL C oder ASIL D entsprechen. Eine Selbstauskunft des Sicherheitslevels einer Recheneinheit mit niedriger ASIL-Einstufung ist definitionsgemäß dabei nicht vollständig vertrauenswürdig. Ein Steuergerät, das lediglich eine Sicherheitseinstufung QM, also unterhalb ASIL A, aufweist, könnte sich daher im schlimmsten Fall als ASIL D ausgegeben, sodass hochkritische Software dort ausgeführt werden könnte, obwohl das Steuergerät hierfür nicht geeignet ist.If nomadic software is installed on a vehicle control unit, it must be ensured that the corresponding control unit corresponds to an ASIL level that is greater than or equal to the ASIL level required by the software. Software with ASIL C requirements may therefore only be run on control units that correspond to ASIL C or ASIL D. By definition, a self-declaration of the security level of a computing unit with a low ASIL rating is not completely trustworthy. In the worst case, a control unit that only has a QM security rating, i.e. below ASIL A, could therefore claim to be ASIL D, meaning that highly critical software could be run there even though the control unit is not suitable for this.

Offenbarung der ErfindungDisclosure of the invention

Das erfindungsgemäße Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergerät durch eine Koordinierungseinheit, wobei das Zielsteuergerät ein Security-Modul umfasst, hat demgegenüber den Vorteil, dass dem Software-Paket eine Safety-Anforderung zugeordnet ist, dem Zielsteuergerät eine Safety-Möglichkeit zugeordnet ist, die Koordinierungseinheit die Safety-Anforderung des Software-Pakets mit der Safety-Möglichkeit des Zielsteuergeräts vergleicht und das Software-Paket dem Zielsteuergerät zuweist, wenn die Safety-Anforderung des Software-Pakets der Safety-Möglichkeit des Zielsteuergeräts entspricht, wobei die Safety-Möglichkeit des Zielsteuergeräts unter Verwendung des Security-Moduls abgesichert wird. Somit kann vorteilhafter Weise sichergestellt werden, dass auch in Systemen mit mehreren Steuergeräten Software-Pakete, beispielsweise nomadische Software, nur geeigneten Steuergeräten zugewiesen wird. Die Verwendung eines Security-Moduls, beispielsweise eines Hardware Security Moduls (HSM), bietet zusätzliche Sicherheit sowohl gegen fehlerhafte Zuweisungen als auch gegen absichtsvolle Zuweisungen zu ungeeigneten Steuergeräten im Zusammenhang mit Cybersecurity-Attacken.The method according to the invention for assigning a software package to a target control unit by a coordination unit, wherein the target control unit comprises a security module, has the advantage that a safety requirement is assigned to the software package, a safety option is assigned to the target control unit, the coordination unit compares the safety requirement of the software package with the safety option of the target control unit and assigns the software package to the target control unit if the safety requirement of the software package corresponds to the safety option of the target control unit, wherein the safety option of the target control unit is secured using the security module. It can thus be advantageously ensured that even in systems with multiple control units, software packages, for example nomadic software, are only assigned to suitable control units. The use of a security module, such as a Hardware Security Module (HSM), provides additional security against both incorrect assignments and intentional assignments to unsuitable control devices in connection with cybersecurity attacks.

Unter Safety-Möglichkeit soll insbesondere ein Gegenstück zu einer Safety-Anforderung verstanden werden. Eine Safety-Möglichkeit ist daher eine Klassifikation des Zielsteuergeräts in Bezug auf seine Eignung zum Ausführen des ebenfalls klassifizierten Software-Pakets. Vorteilhafterweise umfassen sowohl die Safety-Anforderung, als auch die Safety-Möglichkeit nicht nur Anforderungen bzw. Möglichkeiten in Bezug auf eine nackte Hardware des Zielsteuergeräts, sondern auch Anforderungen bzw. Möglichkeiten in Bezug auf die auf dem Zielsteuergerät installierte Basis-Software und Middleware.A safety option is to be understood in particular as a counterpart to a safety requirement. A safety option is therefore a classification of the target control unit in relation to its suitability for executing the software package, which is also classified. Advantageously, both the safety requirement and the safety option include not only requirements or options in relation to the bare hardware of the target control unit, but also requirements or options in relation to the basic software and middleware installed on the target control unit.

Im Sinne der vorliegenden Erfindung entspricht die Safety-Möglichkeit des Zielsteuergeräts der Safety-Anforderung des Software-Pakets, wenn einzelne Aspekte der Safety-Möglichkeit den jeweils zugehörigen Aspekten der Safety-Anforderung mindestens entsprechen oder diese übertreffen. Beispielsweise eine ASIL-Kategorie der Safety-Möglichkeit entspricht also der ASIL-Kategorie der Safety-Anforderung, wenn die ASIL-Kategorie der Safety-Möglichkeit gleich oder höherwertiger ist, als die ASIL-Kategorie der Safety-Anforderung.In the sense of the present invention, the safety option of the target control device corresponds to the safety requirement of the software package if individual aspects of the safety option at least correspond to or exceed the respective associated aspects of the safety requirement. For example, an ASIL category of the safety option corresponds to the ASIL category of the safety requirement if the ASIL category of the safety option is equal to or higher than the ASIL category of the safety requirement.

Vorteilhafter Weise sind die Koordinierungseinheit und das Zielsteuergerät Teil einer E/E-Architektur, beispielsweise eines Kraftfahrzeugs. Bei der Koordinierungseinheit kann es sich um ein dezidiertes Steuergerät, beispielweise ein Steuergerät, das explizit für die Koordinierung und den Empfang von Softwareupdates (OTA-Master) vorgesehen ist, oder ein Softwaremodul innerhalb eines übergeordneten Steuergeräts, beispielsweise eines Fahrzeugführungsrechners (Vehicle Computer - VCU), handeln.Advantageously, the coordination unit and the target control unit are part of an E/E architecture, for example of a motor vehicle. The coordination unit can be a dedicated control unit, for example a control unit that is explicitly intended for the coordination and reception of software updates (OTA master), or a software module within a higher-level control unit, for example a vehicle computer (VCU).

Besonders vorteilhaft ist, wenn die Safety-Anforderung Informationen zu einer benötigten ASIL-Kategorie und/oder einem benötigten Speicherplatz und/oder einem benötigten Rechenraster umfasst. Die ASIL-Kategorie kann dabei die mindest ASIL-Kategorie von Steuergeräten festlegen, die zur Ausführung des Software-Pakets geeignet sind. Der benötigte Speicherplatz gibt vorteilhafterweise an, wie viel Speicherplatz das Zielsteuergerät zur Ausführung des Software-Pakets zur Verfügung stellen muss. Das benötigte Rechenraster gibt vorteilhafterweise an, welches Rechenraster das Zielsteuergerät zur sicheren und zuverlässigen Ausführung des Software-Pakets bereitstellen muss. Beispielsweise sind Software-Pakete denkbar, die Berechnungen in einem 10ms- oder 20ms- oder 100ms-Raster benötigen.It is particularly advantageous if the safety requirement includes information on a required ASIL category and/or a required storage space and/or a required calculation grid. The ASIL category can specify the minimum ASIL category of control units that are suitable for executing the software package. The required storage space advantageously indicates how much storage space the target control unit must provide to execute the software package. The required calculation grid advantageously indicates which calculation grid the target control unit must provide for the safe and reliable execution of the software package. For example, software packages are conceivable that require calculations in a 10ms, 20ms or 100ms grid.

Besonders vorteilhaft ist, wenn die Safety-Möglichkeit Informationen zu einer bereitgestellten ASIL-Kategorie, also einer ASIL-Einstufung des Zielsteuergeräts, und/oder einem verfügbaren Speicherplatz und/oder einem bereitgestellten Rechenraster umfasst. Der verfügbare Speicherplatz gibt vorteilhafterweise an, wie viel Speicherplatz das Zielsteuergerät zur Ausführung des Software-Pakets zur Verfügung stellen kann. Das bereitgestellte Rechenraster gibt vorteilhafterweise an, welches Rechenraster das Zielsteuergerät zur sicheren und zuverlässigen Ausführung des Software-Pakets bereitstellen kann. Beispielsweise sind Zielsteuergeräte denkbar, die Berechnungen in einem 10ms- oder 20ms- oder 100ms-Raster ermöglichen.It is particularly advantageous if the safety option includes information on a provided ASIL category, i.e. an ASIL classification of the target control unit, and/or an available storage space and/or a provided calculation grid. The available storage space advantageously indicates how much storage space the target control unit can make available for executing the software package. The provided calculation grid advantageously indicates which calculation grid the target control unit can make available for the safe and reliable execution of the software package. For example, target control units are conceivable that enable calculations in a 10ms or 20ms or 100ms grid.

Vorteilhaft ist, wenn die Safety-Möglichkeit durch das Security-Modul bereitgestellt wird. Insbesondere kann die Safety-Möglichkeit in einem Speicher abgelegt sein, der dem Security-Modul, insbesondere einem Hardware Security Modul, zugewiesen ist und daher vor Manipulation geschützt ist. Eine Speicherung der Safety-Möglichkeit im Speicher des Security-Moduls ist besonders dann vorteilhaft, wenn die Safety-Möglichkeit wenige Informationen umfasst, insbesondere dann, wenn die Safety-Information nur eine ASIL-Kategorie umfasst.It is advantageous if the safety option is provided by the security module. In particular, the safety option can be stored in a memory that is assigned to the security module, in particular a hardware security module, and is therefore protected against manipulation. Storing the safety option in the memory of the security module is particularly advantageous if the safety option includes little information, especially if the safety information only includes one ASIL category.

Vorteilhaft ist, wenn die Safety-Möglichkeit durch einen Speicher des Zielsteuergeräts bereitgestellt und unter Verwendung des Security-Moduls des Zielsteuergeräts verifiziert wird. Insbesondere kann die Safety-Möglichkeit in einem nicht zusätzlich abgesicherten Speicher des Zielsteuergeräts abgelegt sein. Hierbei kann die Safety-Möglichkeit vorteilhafterweise verschlüsselt vorliegen, wobei die Entschlüsselung mit Hilfe des Security-Moduls erfolgt. Alternativ oder zusätzlich ist vorteilhaft, einen Hashwert über die Safety-Möglichkeit zu bilden und diesen Hashwert in einem Speicher des Security-Moduls abzulegen. Alternativ zur Verwendung eines Hashwertes sind andere Verfahren denkbar, die üblicherweise zur Prüfung einer Vollständigkeit und Unverändertheit von Informationen verwendet werden. Eine Bereitstellung der Safety-Möglichkeit durch einen Speicher des Zielsteuergeräts in Verbindung mit einer Verifikation durch das Security-Modul ist insbesondere vorteilhaft, wenn die Safety-Möglichkeit eine Vielzahl von Informationen umfasst und daher viel Speicherplatz benötigt.It is advantageous if the safety option is provided by a memory of the target control unit and verified using the security module of the target control unit. In particular, the safety option can be stored in a memory of the target control unit that is not additionally secured. In this case, the safety option can advantageously be encrypted, with decryption taking place with the help of the security module. Alternatively or additionally, it is advantageous to create a hash value using the safety option and to store this hash value in a memory of the security module. As an alternative to using a hash value, other methods are conceivable that are usually used to check that information is complete and unchanged. Providing the safety option by a memory of the target control unit in conjunction with verification by the security module is particularly advantageous if the safety option includes a large amount of information and therefore requires a lot of storage space.

Besonders vorteilhaft lässt sich das erfindungsgemäße Verfahren verwenden, wenn es sich bei dem Software-Paket um eine nomadische Software handelt, also um eine Software, die prinzipiell von unterschiedlichen Steuergeräten ausgeführt werden könnte. Besonders vorteilhaft lässt sich die erfindungsgemäße Verfahren verwenden, um eine nomadische Software Steuergeräten, beispielsweise Zonensteuergeräten in einem Fahrzeug zuzuweisen.The method according to the invention can be used particularly advantageously if the software package is nomadic software, i.e. software that could in principle be executed by different control units. The method according to the invention can be used particularly advantageously to assign nomadic software to control units, for example zone control units in a vehicle.

Vorteilhafterweise wird das Software-Paket nach der Zuweisung an das Zielsteuergerät übermittelt und dort installiert, sodass das Zielsteuergerät das Software-Paket oder eine unter Verwendung des Software-Pakets gebildete Software ausführen kann.Advantageously, after assignment, the software package is transmitted to the target control unit and installed there so that the target control unit can execute the software package or software created using the software package.

Vorteilhafter Weise handelt es sich bei der Koordinierungseinheit um ein Update-Steuergerät, beispielsweise einen OTA-Master oder eine Connectivity-Unit, eines Fahrzeugs.Advantageously, the coordination unit is an update control unit, for example an OTA master or a connectivity unit, of a vehicle.

Besonders vorteilhaft ist ein Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergeräte aus einer Vielzahl von Zielsteuergeräten durch eine Koordinierungseinheit, wobei die Zielsteuergeräte jeweils ein Security-Modul umfassen, wobei dem Software-Paket eine Safety-Anforderung zugeordnet ist, jedem Zielsteuergerät eine Safety-Möglichkeit zugeordnet ist, die Koordinierungseinheit die Safety-Anforderung des Software-Pakets mit den Safety-Möglichkeiten der Zielsteuergeräte vergleicht und das Software-Paket einem Zielsteuergerät zuweist, dessen Safety-Möglichkeit der Safety-Anforderung des Software-Pakets entspricht, wobei die Safety-Möglichkeiten der Zielsteuergeräte jeweils unter Verwendung des jeweiligen Security-Moduls abgesichert werden. Somit kann das Software-Paket in einem System, das mehrere Zielsteuergeräte umfasst, demjenigen Zielsteuergerät zugewiesen werden, dessen Safety-Möglichkeit am besten zur Safety-Anforderung des Software-Pakets passt. Alternativ ist auch denkbar, die Safety-Möglichkeiten der Vielzahl von Zielsteuergeräten nacheinander mit der Safety-Anforderung des Software-Pakets zu vergleichen und das Software-Paket dem ersten Zielsteuergerät zuzuweisen dessen Safety-Möglichkeit der Safety-Anforderung entspricht.A method for assigning a software package to a target control device from a plurality of target control devices by a coordination unit is particularly advantageous, wherein the target control devices each comprise a security module, wherein a safety requirement is assigned to the software package, a safety option is assigned to each target control device, the coordination unit compares the safety requirement of the software package with the safety options of the target control devices and assigns the software package to a target control device whose safety option corresponds to the safety requirement of the software package, wherein the safety options of the target control devices are each secured using the respective security module. Thus, in a system comprising multiple target control devices, the software package can be assigned to the target control device whose safety option best matches the safety requirement of the software package. Alternatively, it is also conceivable to compare the safety options of the large number of target control units one after the other with the safety requirement of the software package and to assign the software package to the first target control unit whose safety option corresponds to the safety requirement.

Es versteht sich von selbst, dass das vorstehend beschriebene Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergeräte aus einer Vielzahl von Zielsteuergeräten mit allen vorteilhaften Weiterbildung des ebenfalls beschriebenen Verfahrens zum Zuweisen eines Software-Pakets an ein Zielsteuergerät kombiniert werden kann.It goes without saying that the procedure described above for assigning a Software package to a target control unit from a plurality of target control units can be combined with all advantageous further developments of the also described method for assigning a software package to a target control unit.

Nachfolgend werden Ausführungsbeispiele der Erfindung vorgestellt. Dabei zeigen:Examples of embodiments of the invention are presented below. They show:

Kurze Beschreibung der ZeichnungenShort description of the drawings

  • 1 Eine schematische Darstellung einer Fahrzeugs; 1 A schematic representation of a vehicle;
  • 2 eine schematische Darstellung eines Ablaufs eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens. 2 a schematic representation of a sequence of an embodiment of the method according to the invention.

1 zeigt eine schematische Darstellung eines Fahrzeugs (10). Das Fahrzeug (10) umfasst eine Koordinierungseinheit (12), die eingerichtet ist, Software-Pakete z.B. von einem fahrzeugexternen Server (20) zu empfangen und Zielsteuergeräten (14, 16) zuzuordnen. Das Fahrzeug umfasst außerdem Zielsteuergeräte (14, 16), die wiederum jeweils ein Security-Modul (15, 17), insbesondere ein Hardware Security-Modul (HSM), umfassen. Die Koordinierungseinheit (12) steht beispielsweise über ein Bussystem mit den Zielsteuergeräten (14, 16) in Kommunikationsverbindung, sodass Nachrichten zwischen der Koordinierungseinheit (12) und den Zielsteuergeräten (14, 16) ausgetauscht und Software-Pakete von der Koordinierungseinheit (12) an die Zielsteuergeräte (14, 16) übertragen werden können. Bei der Koordinierungseinheit (12) kann es sich insbesondere um einen OTA-Master, also ein Steuergerät zur Koordinierung von Software-Updates über eine Funkschnittstelle oder einen Fahrzeugführungsrechner (VCU) handeln. Bei den Zielsteuergeräten (14, 16) kann es sich beispielsweise um Zonensteuergeräte handeln. 1 shows a schematic representation of a vehicle (10). The vehicle (10) comprises a coordination unit (12) which is set up to receive software packages, for example from a server (20) external to the vehicle, and to assign them to target control units (14, 16). The vehicle also comprises target control units (14, 16), which in turn each comprise a security module (15, 17), in particular a hardware security module (HSM). The coordination unit (12) is in communication with the target control units (14, 16), for example via a bus system, so that messages can be exchanged between the coordination unit (12) and the target control units (14, 16) and software packages can be transmitted from the coordination unit (12) to the target control units (14, 16). The coordination unit (12) can in particular be an OTA master, i.e. a control unit for coordinating software updates via a radio interface or a vehicle control computer (VCU). The target control devices (14, 16) can, for example, be zone control devices.

Die Zielsteuergeräte (14, 16) umfassen jeweils einen nicht näher abgesicherten Speicher, und ein Security-Modul (15, 17). Die Security-Module (15, 17) wiederum umfassen jeweils einen abgesicherten Speicher.The target control devices (14, 16) each comprise a non-secured memory and a security module (15, 17). The security modules (15, 17) in turn each comprise a secured memory.

2 zeigt eine schematische Darstellung eines Ablaufs eines Ausführungsbeispiels des erfindungsgemäßen Verfahrens. Das Ausführungsbeispiel des erfindungsgemäßen Verfahrens startet mit Schritt 100. Anschließend wird Schritt 110 ausgeführt. 2 shows a schematic representation of a sequence of an embodiment of the method according to the invention. The embodiment of the method according to the invention starts with step 100. Step 110 is then carried out.

In Schritt 110 empfängt die Koordinierungseinheit (12) ein Software-Paket von dem fahrzeugexternen Server (20). Zusätzlich zu dem Software-Paket empfängt die Koordinierungseinheit (12) eine Safety-Anforderung für das Software-Paket, in der Information zu einer ASIL-Kategorie, einem benötigten Speicherplatz und einem benötigten Rechenraster enthalten sind. Die ASIL-Kategorie des Software-Pakets entspricht dabei insbesondere der ASIL-Kategorie eines Steuergeräts, das das Software-Paket oder eine unter Verwendung des Software-Pakets gebildete Software ausführen darf. Im Anschluss an Schritt 110 folgt Schritt 120.In step 110, the coordination unit (12) receives a software package from the vehicle-external server (20). In addition to the software package, the coordination unit (12) receives a safety request for the software package, which contains information about an ASIL category, a required storage space and a required calculation grid. The ASIL category of the software package corresponds in particular to the ASIL category of a control unit that is allowed to execute the software package or software created using the software package. Step 110 is followed by step 120.

In Schritt 120 fragt die Koordinierungseinheit (12) die Safety-Möglichkeiten der Zielsteuergeräte (14, 16) ab. Bei der Safety-Möglichkeit eines Zielsteuergeräts kann es sich insbesondere um einen Datensatz handeln, der Informationen zur ASIL-Kategorie des Zielsteuergeräts und/oder dessen verfügbaren Speicherplatz und/oder dessen bereitgestellten Rechenrastern umfasst. Insbesondere kann hierfür eine entsprechende Information aus dem Speicher der Zielsteuergeräte (14, 16) ausgelesen werden, die dort verschlüsselt oder mit einem Hashwert versehen abgelegt ist. Zur Entschlüsselung oder Verifikation des Hashwertes wird das jeweilige Security-Modul (15, 17) des Zielsteuergeräts (14, 16) verwendet, sodass sichergestellt ist, dass die Safety-Möglichkeit des jeweiligen Zielsteuergeräts (14, 16) unverfälscht und vollständig vorliegt.In step 120, the coordination unit (12) queries the safety options of the target control units (14, 16). The safety option of a target control unit can in particular be a data set that includes information on the ASIL category of the target control unit and/or its available storage space and/or its provided calculation grids. In particular, corresponding information can be read from the memory of the target control units (14, 16) for this purpose, which is stored there encrypted or provided with a hash value. The respective security module (15, 17) of the target control unit (14, 16) is used to decrypt or verify the hash value, so that it is ensured that the safety option of the respective target control unit (14, 16) is unadulterated and complete.

Alternativ kann die Safety-Möglichkeit des jeweiligen Zielsteuergeräts (14, 16) in einem Speicher des jeweilig umfassten Security-Moduls (15, 17) abgelegt sein und ausgelesen werden. Auch so ist sichergestellt, dass die Safety-Möglichkeit des jeweiligen Zielsteuergeräts (14, 16) unverfälscht und vollständig vorliegt. Im Anschluss an Schritt 120 folgt Schritt 130.Alternatively, the safety option of the respective target control device (14, 16) can be stored in a memory of the respective security module (15, 17) and read out. This also ensures that the safety option of the respective target control device (14, 16) is unadulterated and complete. Step 130 follows step 120.

In Schritt 130 vergleicht die Koordinierungseinheit (12) die Safety-Anforderung des Software-Pakets mit den Safety-Möglichkeiten der Zielsteuergeräte (14, 16) und weist das Software-Paket einem Zielsteuergerät (14, 16) zu, dessen Safety-Möglichkeit zu der Safety-Anforderung des Software-Pakets passt. Umfasst die Safety-Anforderung des Software-Pakets beispielsweise eine ASIL C-Einstufung, ein Rechenraster von 20ms und 500kB freien Speicher, so wird das Software-Paket nur dann einem Zielsteuergerät (14, 16) zugewiesen, das diese Anforderungen mindestens erfüllt. Umfasst die Safety-Möglichkeit des Zielsteuergeräts 14 beispielsweise eine ASIL D-Einstufung, Rechenraster von 10ms und 20ms sowie einen verfügbaren Speicherplatz von 2MB, während die Safety-Möglichkeit des Zielsteuergeräts 16 nur ASIL B aufweist, so wird das Software-Paket dem Zielsteuergerät 14 zugewiesen. Im Anschluss an Schritt 130 folgt Schritt 140In step 130, the coordination unit (12) compares the safety requirement of the software package with the safety options of the target control units (14, 16) and assigns the software package to a target control unit (14, 16) whose safety option matches the safety requirement of the software package. If the safety requirement of the software package includes, for example, an ASIL C rating, a calculation grid of 20 ms and 500 kB of free memory, the software package is only assigned to a target control unit (14, 16) that at least meets these requirements. If the safety option of the target control unit 14 includes, for example, an ASIL D rating, calculation grids of 10 ms and 20 ms and an available memory space of 2 MB, while the safety option of the target control unit 16 only has ASIL B, the software package is assigned to the target control unit 14. Step 130 is followed by step 140

In Schritt 140 wird das Software-Paket an das in Schritt 130 zugewiesene Zielsteuergerät (14, 16) übertragen, dort installiert und im Anschluss ausgeführt. Alternativ wird eine Software ausgeführt, die unter Verwendung des Software-Pakets gebildet wurde.In step 140, the software package is transferred to the target control unit (14, 16) assigned in step 130, installed there and then executed. Alternatively, software is executed that created using the software package.

Claims (12)

Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergerät (14, 16) durch eine Koordinierungseinheit (12), wobei das Zielsteuergerät (14, 16) ein Security-Modul (15, 17) umfasst, dadurch gekennzeichnet, dass dem Software-Paket eine Safety-Anforderung zugeordnet ist, dem Zielsteuergerät (14, 16) eine Safety-Möglichkeit zugeordnet ist, die Koordinierungseinheit (12) die Safety-Anforderung des Software-Pakets mit der Safety-Möglichkeit des Zielsteuergeräts (14, 16) vergleicht und das Software-Paket dem Zielsteuergerät (14, 16) zuweist, wenn die Safety-Anforderung des Software-Pakets der Safety-Möglichkeit des Zielsteuergeräts (14, 16) entspricht, wobei die Safety-Möglichkeit des Zielsteuergeräts (14, 16) unter Verwendung des Security-Moduls (15, 17) abgesichert wird.Method for assigning a software package to a target control device (14, 16) by a coordination unit (12), wherein the target control device (14, 16) comprises a security module (15, 17), characterized in that a safety requirement is assigned to the software package, a safety option is assigned to the target control device (14, 16), the coordination unit (12) compares the safety requirement of the software package with the safety option of the target control device (14, 16) and assigns the software package to the target control device (14, 16) if the safety requirement of the software package corresponds to the safety option of the target control device (14, 16), wherein the safety option of the target control device (14, 16) is secured using the security module (15, 17). Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Safety-Anforderung Informationen zu einer benötigten ASIL-Kategorie und/oder einem benötigten Speicherplatz und/oder einem benötigten Rechenraster umfasst.Procedure according to Claim 1 , characterized in that the safety requirement comprises information on a required ASIL category and/or a required storage space and/or a required calculation grid. Verfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die die Safety-Möglichkeit Informationen zu einer durch das Zielsteuergerät (14, 16) bereitgestellten ASIL-Kategorie und/oder einem verfügbaren Speicherplatz und/oder einem bereitgestellten Rechenraster umfasst.Procedure according to Claim 1 or 2 , characterized in that the safety option comprises information on an ASIL category provided by the target control device (14, 16) and/or an available storage space and/or a provided calculation grid. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Safety-Möglichkeit durch das Security-Modul (15, 17) bereitgestellt wird.Method according to one of the Claims 1 until 3 , characterized in that the safety option is provided by the security module (15, 17). Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass die Safety-Möglichkeit durch einen Speicher des Zielsteuergeräts (14, 16) bereitgestellt und unter Verwendung des Security-Moduls (15, 17) des Zielsteuergeräts verifiziert wird.Method according to one of the Claims 1 until 3 , characterized in that the safety option is provided by a memory of the target control device (14, 16) and verified using the security module (15, 17) of the target control device. Verfahren nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass es sich bei dem Software-Paket um eine nomadische Software handelt.Method according to one of the Claims 1 until 5 , characterized in that the software package is nomadic software. Verfahren nach einem der Ansprüche 1 bis 6, dadurch gekennzeichnet, dass das Software-Paket nach der Zuweisung an das Zielsteuergerät (14, 16) auf dem Zielsteuergerät (14, 16) installiert wird.Method according to one of the Claims 1 until 6 , characterized in that the software package is installed on the target control device (14, 16) after being assigned to the target control device (14, 16). Verfahren nach einem der Ansprüche 1 bis 7, dadurch gekennzeichnet, dass es sich bei der Koordinierungseinheit (12) um ein Update-Steuergerät, beispielsweise einen OTA-Master oder eine Connectivity-Unit, eines Fahrzeugs (10) handelt.Method according to one of the Claims 1 until 7 , characterized in that the coordination unit (12) is an update control unit, for example an OTA master or a connectivity unit, of a vehicle (10). Verfahren zum Zuweisen eines Software-Pakets an ein Zielsteuergerät aus einer Vielzahl von Zielsteuergeräten (14, 16) durch eine Koordinierungseinheit (12), wobei die Zielsteuergeräte (14, 16) jeweils ein Security-Modul (15, 17) umfassen, dadurch gekennzeichnet, dass dem Software-Paket eine Safety-Anforderung zugeordnet ist, jedem Zielsteuergerät (14, 16) eine Safety-Möglichkeit zugeordnet ist, die Koordinierungseinheit (12) die Safety-Anforderung des Software-Pakets mit den Safety-Möglichkeiten der Zielsteuergeräte (14, 16) vergleicht und das Software-Paket einem Zielsteuergerät zuweist, dessen Safety-Möglichkeit der Safety-Anforderung des Software-Pakets entspricht, wobei die Safety-Möglichkeiten der Zielsteuergeräte (14, 16) jeweils unter Verwendung des jeweiligen Security-Moduls (15, 17) abgesichert werden.Method for assigning a software package to a target control device from a plurality of target control devices (14, 16) by a coordination unit (12), wherein the target control devices (14, 16) each comprise a security module (15, 17), characterized in that a safety requirement is assigned to the software package, a safety option is assigned to each target control device (14, 16), the coordination unit (12) compares the safety requirement of the software package with the safety options of the target control devices (14, 16) and assigns the software package to a target control device whose safety option corresponds to the safety requirement of the software package, wherein the safety options of the target control devices (14, 16) are each secured using the respective security module (15, 17). Vorrichtung, die eingerichtet ist, das Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen.Device which is arranged to carry out the method according to one of the Claims 1 until 9 to carry out. Computerprogramm, das eine Recheneinheit veranlasst, das Verfahren nach einem der Ansprüche 1 bis 9 durchzuführen, wenn die Computerprogramm auf der Recheneinheit ausgeführt wird.Computer program that causes a computing unit to carry out the method according to one of the Claims 1 until 9 to be carried out when the computer program is executed on the computing unit. Speichermedium, auf dem das Computerprogramm nach Anspruch 11 gespeichert ist.Storage medium on which the computer program is Claim 11 is stored.
DE102022211574.0A 2022-11-02 2022-11-02 Procedure for assigning software packages Pending DE102022211574A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102022211574.0A DE102022211574A1 (en) 2022-11-02 2022-11-02 Procedure for assigning software packages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022211574.0A DE102022211574A1 (en) 2022-11-02 2022-11-02 Procedure for assigning software packages

Publications (1)

Publication Number Publication Date
DE102022211574A1 true DE102022211574A1 (en) 2024-05-02

Family

ID=90628704

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022211574.0A Pending DE102022211574A1 (en) 2022-11-02 2022-11-02 Procedure for assigning software packages

Country Status (1)

Country Link
DE (1) DE102022211574A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213165B3 (en) 2002-03-23 2004-01-29 Daimlerchrysler Ag Method and device for taking over data
DE102019131087A1 (en) 2019-11-18 2021-05-20 Audi Ag Software installation in vehicle control units

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10213165B3 (en) 2002-03-23 2004-01-29 Daimlerchrysler Ag Method and device for taking over data
DE102019131087A1 (en) 2019-11-18 2021-05-20 Audi Ag Software installation in vehicle control units

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ISO 26262. In: Wikipedia, Die freie Enzyklopädie. Bearbeitungsstand: 22.09.2022. URL: https://de.wikipedia.org/w/index.php?title=ISO_26262&oldid=226381066 [abgerufen am 26.07.2023]
MODEL, Kleophas; SCHÖNHOFEN, Felix: Herausforderungen bei der Produktentwicklung von cyber-physischen Systemen. In: Stuttgarter Schriften zur Unternehmenssoftware, Nummer 8, Mai 2022. URL: https://www.bwi.uni-stuttgart.de/abt8/dokumente/UnSWSchriften-8_HerausforderungeProduktentwicklungCPS.pdf [abgerufen am 28.07.2023]
Norm ISO 26262 Second Edition 2018-12-00. Road Vehicles – Functional safety – Part 1: Vocabulary
So prüft man, ob der PC mit Windows 11 22H2 kompatibel ist. Minitool.com, 27.10.2022. URL: https://de.minitool.com/nachrichten/pruefen-ob-ihr-pc-mit-windows-11-22h2-kompatibel-ist.html [abgerufen am 26.07.2023]

Similar Documents

Publication Publication Date Title
DE112014005412T5 (en) Program update system and program update procedure
DE102014201682A1 (en) Method for coexistence of software with different security levels in a multicore processor system
DE10337171A1 (en) Method for exchanging programs in aircraft computers
DE112018001894T5 (en) Control device, transmission method and computer program
DE112016005669T5 (en) On-board communication device, on-board communication system and method for prohibiting special processing for a vehicle
DE102017217807A1 (en) METHOD AND DEVICE FOR PROCESSING A SOFTWARE UPDATE
DE102019215858A1 (en) CYBER SECURITY PENETRATION TEST PLATFORM
DE102017220526A1 (en) Method and device for updating software
DE102018200318A1 (en) Securing a software update of a control device of a means of transportation
DE102012105093A1 (en) Secure data storage for vehicle networks
DE102022211574A1 (en) Procedure for assigning software packages
WO2020099023A2 (en) Control device for a vehicle component, kit comprising a control device and a testing device, vehicle, method for updating a control device, and computer-readable storage medium
DE102022211577A1 (en) Procedure for assigning software packages
WO2022184407A1 (en) Method for operating a control device, and control device
DE102014222181A1 (en) Method for operating a control device
EP3732608B1 (en) Method for the computer-aided parameterisation of a technical system
DE102019004612A1 (en) Method for operating a vehicle with a control device
DE102023112746A1 (en) ELECTRONIC CONTROL DEVICE, SOFTWARE UPDATE METHOD, SOFTWARE UPDATE PROGRAM AND ELECTRONIC CONTROL SYSTEM
DE112022004735T5 (en) Vehicle system
DE102021201236A1 (en) Method for authenticating a message from an arithmetic unit, arithmetic unit, computer program and vehicle
DE102016222691A1 (en) Microcontroller system and method for controlling memory accesses in a microcontroller system
DE102016216821A1 (en) Method and device for operating an internal combustion engine
DE102024109836A1 (en) Electronic control unit, authentication procedure and authentication program
DE102019219667B3 (en) Computer program product for a peer-to-peer computer network
DE112023000867T5 (en) CENTRAL DEVICE AND METHOD FOR GENERATING DISTRIBUTION PACKAGE

Legal Events

Date Code Title Description
R163 Identified publications notified