DE102021125749A1 - Device, method and computer program for monitoring security of computing function blocks in a vehicle - Google Patents

Device, method and computer program for monitoring security of computing function blocks in a vehicle Download PDF

Info

Publication number
DE102021125749A1
DE102021125749A1 DE102021125749.2A DE102021125749A DE102021125749A1 DE 102021125749 A1 DE102021125749 A1 DE 102021125749A1 DE 102021125749 A DE102021125749 A DE 102021125749A DE 102021125749 A1 DE102021125749 A1 DE 102021125749A1
Authority
DE
Germany
Prior art keywords
computing
vehicle
function block
computational
function blocks
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
DE102021125749.2A
Other languages
German (de)
Inventor
Stephan Max
Timo Lange
Pernes Panta
Wolfgang Theimer
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.)
Volkswagen AG
Original Assignee
Volkswagen AG
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 Volkswagen AG filed Critical Volkswagen AG
Priority to DE102021125749.2A priority Critical patent/DE102021125749A1/en
Publication of DE102021125749A1 publication Critical patent/DE102021125749A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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

Abstract

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung, ein Verfahren und ein Computerprogramm für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug, sowie auf ein entsprechendes Fahrzeug. Die Vorrichtung umfasst ein oder mehrere Schnittstellen zur Kommunikation mit ein oder mehreren Rechenressourcen des Fahrzeugs. Die Vorrichtung umfasst ein oder mehrere Prozessoren, ausgebildet zum Ermitteln der Rechen-Funktionsblöcke des Fahrzeugs. Die ein oder mehreren Prozessoren sind ausgebildet zum Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt. Die ein oder mehreren Prozessoren sind ausgebildet zum Anpassen des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt.

Figure DE102021125749A1_0000
The present invention relates to a device, a method and a computer program for monitoring the security of computing function blocks in a vehicle, and to a corresponding vehicle. The device includes one or more interfaces for communicating with one or more computing resources of the vehicle. The device includes one or more processors designed to determine the computing function blocks of the vehicle. The one or more processors are designed to check whether operation of the arithmetic function blocks satisfies a security requirement. The one or more processors are configured to adjust operation of a computational function block if the operation of the computational function block fails to verify.
Figure DE102021125749A1_0000

Description

Die vorliegende Erfindung bezieht sich auf eine Vorrichtung, ein Verfahren und ein Computerprogramm für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug, sowie auf ein entsprechendes Fahrzeug.The present invention relates to a device, a method and a computer program for monitoring the security of computing function blocks in a vehicle, and to a corresponding vehicle.

In modernen Fahrzeugen wird eine immer größer werdende Anzahl von Funktionen durch Software bereitgestellt. Diese Funktionen werden meist durch Dienste implementiert (engl. „Services“), die auf Recheneinheiten des Fahrzeugs ausgeführt werden. Diese Funktionen können beispielsweise als Rechen-Funktionsblöcke implementiert werden, die in Laufzeitumgebungen des Fahrzeugs ausgeführt werden.In modern vehicles, an ever-increasing number of functions are provided by software. These functions are usually implemented by services that are executed on the vehicle's computing units. These functions can be implemented, for example, as computational function blocks that are executed in vehicle runtime environments.

Fahrzeuge haben in der Regel eine lange Lebensdauer, in der die verwendete Hardware unverändert bleibt. Ein Auto, das im Jahr 2020 entwickelt wird, könnte beispielsweise bis 2030 verkauft und 15 Jahre lang betrieben werden. In diesem Zusammenhang ist es eine Herausforderung, die Software der Rechen-Funktionsblöcke einsatzfähig und attraktiv zu halten. Diese Herausforderung wird mit der Einführung von Vorgaben zur Software-Betriebssicherheit von Fahrzeugen, etwa nach UNECE (United Nations Economic Councel for Europe, Wirtschaftskommission für Europa der Vereinten Nationen) WP.29 und der ISO/SAE (International Standardization Organization/Society of Automotive Engineers, Internationale Standardisierungs-Organisations/Gesellschaft der Fahrzeug-Ingenieure) 21434, steigen.Vehicles usually have a long service life during which the hardware used remains unchanged. For example, a car developed in 2020 could be sold by 2030 and operated for 15 years. In this context it is a challenge to keep the software of the calculation function blocks usable and attractive. This challenge is increasing with the introduction of specifications for the software operational safety of vehicles, for example according to UNECE (United Nations Economic Counsel for Europe, Economic Commission for Europe of the United Nations) WP.29 and ISO/SAE (International Standardization Organization/Society of Automotive Engineers , International Standardization Organizations/Society of Vehicle Engineers) 21434.

Die Fahrzeugsoftware kann im Autohaus, in einer Werkstatt oder über die Luft aktualisiert werden (OTA, „Over-the-Air“). Es gibt jedoch keine standardisierte Methode für Hardware-Ersetzungen. Auch Software-Aktualisierungen sind nur in Grenzen möglich, abhängig von der Rechenkapazität des Fahrzeugs und abhängig davon, ob die verwendeten Schnittstellen modernen Anforderungen genügen.The vehicle software can be updated in the dealership, in a workshop or over the air (OTA, "Over-the-Air"). However, there is no standardized method for hardware replacements. Software updates are also only possible to a limited extent, depending on the vehicle's computing capacity and whether the interfaces used meet modern requirements.

In vielen Fällen fügen Käufer eines Fahrzeugs im Nachhinein dadurch Funktionen dazu, dass sie zusätzliche Zubehörgeräte im Fahrzeug installieren, wie etwa Navigationsgeräte, Smartphones mit Navigationssoftware und Musik-Streaming oder sogenannte Dashcams. Solches Zubehör kann unabhängig vom Fahrzeug installiert werden und Funktionen unabhängig vom Fahrzeug bereitstellen.In many cases, buyers of a vehicle add functions afterwards by installing additional accessories in the vehicle, such as navigation devices, smartphones with navigation software and music streaming or so-called dashcams. Such accessories can be installed independently of the vehicle and provide functions independently of the vehicle.

Jedoch bietet Zubehör in der Regel nur eine minimale Integration mit dem Fahrzeug (z. B. über ein Audio-Kabel oder Bluetooth), ohne Zugriff auf Fahrzeugdaten.However, accessories typically offer minimal integration with the vehicle (e.g. via an audio cable or Bluetooth) without access to vehicle data.

Aus US 2013/0031604 A1 ist ein Verfahren für eine entfernte Authentifizierung bekannt. Hierbei wird die Aktualisierung von Anwendungen behandelt, die auf einem Mobilgerät des Fahrers ausgeführt werden und eine Kommunikation mit dem Fahrzeug voraussetzen.Out of U.S. 2013/0031604 A1 a method for remote authentication is known. This covers updating applications that run on the driver's mobile device and require communication with the vehicle.

Es besteht der Bedarf, ein verbessertes Konzept zum sicheren Betrieb von Software-Komponenten von Fahrzeugen bereitzustellen.There is a need to provide an improved concept for the safe operation of software components in vehicles.

Diesem Bedarf wird durch den Gegenstand der unabhängigen Ansprüche entsprochen.This need is met by the subject matter of the independent claims.

Die vorliegende Erfindung basiert auf der Erkenntnis, dass eine Grundlage für einen sicheren Langzeitbetrieb von softwarebasierter Fahrzeugfunktionalität ist, festzustellen, welche Funktionalität im aktuellen Zustand sicher betrieben werden kann, und welche Fahrzeugfunktionalität nicht sicher betrieben werden kann. Wird letzteres festgestellt, werden Maßnahmen getroffen, um den Betrieb der Fahrzeugfunktionalität sicher zu gestalten. Dabei sind verschiedene Maßnahmen denkbar, von einer Aktualisierung des Rechen-Funktionsblocks, der die Fahrzeugfunktionalität bereitstellt, über Maßnahmen zur Einschränkung der Funktionalität des Rechen-Funktionsblocks (etwa durch Beschränken der Kommunikationsfähigkeiten), bis zu einem Austausch der Hardware und Betrieb der vorhandenen Rechen-Funktionsblöcke in einer virtuellen Umgebung. Hierdurch kann ein sicherer Langzeitbetrieb der Fahrzeugfunktionalität ermöglicht werden.The present invention is based on the knowledge that a basis for safe long-term operation of software-based vehicle functionality is to determine which functionality can be operated safely in the current state and which vehicle functionality cannot be operated safely. If the latter is determined, measures are taken to make the operation of the vehicle functionality safe. Various measures are conceivable, from updating the computing function block that provides the vehicle functionality, to measures to limit the functionality of the computing function block (e.g. by restricting the communication capabilities), to replacing the hardware and operating the existing computing function blocks in a virtual environment. This allows safe long-term operation of the vehicle functionality.

Manche Aspekte der vorliegenden Offenbarung beziehen sich auf eine Vorrichtung für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug. Die Vorrichtung umfasst ein oder mehrere Schnittstellen zur Kommunikation mit ein oder mehreren Rechenressourcen des Fahrzeugs. Die Vorrichtung umfasst ein oder mehrere Prozessoren, ausgebildet zum Ermitteln der Rechen-Funktionsblöcke des Fahrzeugs. Die ein oder mehreren Prozessoren sind ausgebildet zum Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt. Die ein oder mehreren Prozessoren sind ausgebildet zum Anpassen des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt. Durch das Prüfen, ob der Betrieb der Rechen-Funktionsblöcke der Sicherheitsvorgabe entspricht, kann ein Handlungsbedarf festgestellt werden. Durch Anpassen des Betriebs des Rechen-Funktionsblocks kann wiederum sichergestellt werden, dass alle Rechen-Funktionsblöcke entsprechend der Sicherheitsvorgabe betrieben werden.Some aspects of the present disclosure relate to an apparatus for monitoring security of computational functional blocks in a vehicle. The device includes one or more interfaces for communicating with one or more computing resources of the vehicle. The device includes one or more processors designed to determine the computing function blocks of the vehicle. The one or more processors are designed to check whether operation of the arithmetic function blocks satisfies a security requirement. The one or more processors are configured to adjust operation of a computational function block if the operation of the computational function block fails to verify. A need for action can be determined by checking whether the operation of the arithmetic function blocks corresponds to the safety target. Adjusting the operation of the arithmetic function block can in turn ensure that all arithmetic function blocks are operated according to the safety target.

Beispielsweise kann die Prüfung negativ ausfallen, falls der Betrieb des Rechenfunktionsblocks der Sicherheitsvorgabe nicht genügt und eine Aktualisierung, zumindest unter Nutzung der vorhandenen Rechenressourcen, ausgeschlossen ist. Ist eine Aktualisierung notwendig, aber nicht möglich, so kann ein ausreichend sicherer Betrieb des Rechen-Funktionsblocks möglicherweise nicht sichergestellt werden.For example, the test can fail if the operation of the arithmetic function b locks does not meet the security requirements and an update, at least using the available computing resources, is impossible. If an update is necessary but not possible, it may not be possible to ensure sufficiently reliable operation of the arithmetic function block.

Nun gibt es mehrere Möglichkeiten, die Betriebssicherheit des Fahrzeugs sicherzustellen.Now there are several ways to ensure the operational safety of the vehicle.

Beispielsweise kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren des Rechen-Funktionsblocks umfassen. Hierdurch kann verhindert werden, dass Rechen-Funktionsblöcke betrieben werden, die nicht der Sicherheitsvorgabe entsprechen.For example, adjusting the operation of the computational function block may include removing or permanently disabling the computational function block. This can prevent arithmetic function blocks from being operated that do not comply with the safety specification.

Alternativ kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks umfassen. Dadurch wird der Rechen-Funktionsblock von den anderen Fahrzeugkomponenten isoliert, wodurch sich in vielen Fällen ein sicherer Betrieb des Rechen-Funktionsblocks ermöglichen lässt, jedoch teilweise mit Funktionseinschränkungen.Alternatively, adjusting operation of the computational function block may include blocking communication of the computational function block. This isolates the arithmetic function block from the other vehicle components, which in many cases allows safe operation of the arithmetic function block, but sometimes with functional restrictions.

Beispielsweise kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks mit ein oder mehreren anderen Rechen-Funktionsblöcken des Fahrzeugs umfassen. Hierdurch kann eine schadhafte Beeinflussung der ein oder mehreren anderen Funktionsblöcke durch den Rechen-Funktionsblock verhindert werden. Zusätzlich oder alternativ kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks mit einer entfernten Gegenstelle umfassen. Hierdurch kann verhindert werden, dass entfernte Aktoren Zugriff auf das Fahrzeug erlangen.For example, adjusting operation of the computing function block may include blocking communication of the computing function block with one or more other computing function blocks of the vehicle. This can prevent the one or more other function blocks from being adversely affected by the arithmetic function block. Additionally or alternatively, adjusting operation of the computing function block may include blocking communication of the computing function block with a remote peer. This can prevent remote actuators from gaining access to the vehicle.

In manchen Beispielen umfasst das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen einer Kopplung des Rechen-Funktionsblocks mit einer entfernten Gegenstelle. Hierdurch können der Rechen-Funktionsblock und die entfernte Gegenstelle die Möglichkeit auf gegenseitige Kommunikation und Beeinflussung verlieren. Beispielsweise kann die Kopplung durch ein Entfernen ein oder mehrerer kryptografischer Zertifikate entfernt werden. Sind diese Zertifikate nicht mehr vorhanden, können sich der Rechen-Funktionsblock und die entfernte Gegenstelle weigern, mit der jeweiligen Gegenstelle zu kommunizieren.In some examples, adjusting the operation of the computational function block includes removing a coupling of the computational function block to a remote peer. As a result, the arithmetic function block and the remote partner can lose the possibility of mutual communication and influencing. For example, the pairing can be removed by removing one or more cryptographic certificates. If these certificates are no longer available, the computing function block and the remote peer can refuse to communicate with the respective peer.

Im Allgemeinen weisen Fahrzeuge lediglich eine begrenzte Menge an Rechenressourcen auf. Der Bedarf an Rechenressourcen der einzelnen Rechen-Funktionsblöcke kann jedoch über die Zeit steigen. Daher kann nun eine Entscheidung getroffen werden, welche Rechen-Funktionsblöcke weiterbetrieben werden, und welche deaktiviert werden können. Folglich kann das Anpassen des Betriebs des Rechen-Funktionsblocks abhängig davon sein, ob ein Betrieb des Rechen-Funktionsblocks notwendig oder optional ist. Dies kann als Kriterium dafür genutzt werden, welcher Rechen-Funktionsblock zu deaktivieren ist, und welcher, nach Aktualisierung weiterbetrieben werden kann.In general, vehicles have only a limited amount of computing resources. However, the demand for computing resources of the individual computing function blocks can increase over time. Therefore, a decision can now be made as to which arithmetic function blocks will continue to operate and which can be deactivated. Accordingly, adjusting the operation of the computational function block may depend on whether operation of the computational function block is necessary or optional. This can be used as a criterion for which arithmetic function block is to be deactivated and which can continue to be operated after updating.

Beispielsweises kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren eines anderen Rechen-Funktionsblocks umfassen, um zusätzliche Rechenressourcen für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben. Das Anpassen des Betriebs des Rechen-Funktionsblocks kann ferner ein Aktualisieren des Rechen-Funktionsblocks unter Nutzung der zusätzlichen Rechenressourcen umfassen. Somit können durch Deaktivieren eines optionalen Rechen-Funktionsblocks zusätzliche Rechenressourcen für den Betrieb des notwendigen Rechen-Funktionsblocks geschaffen werden.For example, adjusting operation of the computational functional block may include removing or permanently disabling another computational functional block to free up additional computational resources for continued operation of the computational functional block. Adjusting the operation of the computational functional block may further include updating the computational functional block using the additional computational resources. Thus, by deactivating an optional arithmetic function block, additional arithmetic resources can be created for the operation of the necessary arithmetic function block.

Dies ist insbesondere auch dann relevant, wenn die Rechen-Funktionsblöcke zumindest teilweise mittels rekonfigurierbarer Hardware, wie etwa sogenannten Field-Programmable Gate Arrays (Feld-Programmierbare Rechengatter-Anordnung, FPGA), implementiert werden. Beispielsweise können die ein oder mehreren Rechenressourcen des Fahrzeugs zumindest eine rekonfigurierbare Hardware-Komponente umfassen. Das Anpassen des Betriebs des Rechen-Funktionsblocks kann ein Entfernen oder permanentes Deaktivieren des anderen Rechen-Funktionsblocks umfasst, um Rechengatter der rekonfigurierbaren Hardware-Komponente für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben.This is also relevant in particular when the arithmetic function blocks are implemented at least partially by means of reconfigurable hardware, such as so-called field-programmable gate arrays (field-programmable arithmetic gate array, FPGA). For example, the vehicle's one or more computing resources may include at least one reconfigurable hardware component. Adjusting the operation of the computational function block may include removing or permanently disabling the other computational function block to free computational gates of the reconfigurable hardware component for continued operation of the computational function block.

Es gibt verschiedene Kriterien und Implementierungen für den Test darauf, ob ein Rechen-Funktionsblock den Sicherheitsvorgaben genügt. Beispielsweise kann das Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, auf zumindest einem von einer Zeitdauer seit einer letzten Aktualisierung der jeweiligen Rechen-Funktionsblöcke, einer Gültigkeit eines kryptographischen Zertifikats der jeweiligen Rechen-Funktionsblöcke, und einem Regelwerk einer entfernten Gegenstelle basieren. Die ersten beiden Möglichkeiten ermöglichen eine zeitbasierte, automatische Feststellung, dass der jeweilige Rechen-Funktionsblock nicht mehr sicher betrieben werden kann (wobei das kryptographische Zertifikat erneuert werden kann, um den weiteren Betrieb des Rechen-Funktionsblocks zu gewährleisten, falls dies vertretbar scheint). Das Regelwerk der entfernten Gegenstelle kann genutzt werden, da in der entfernten Gegenstelle gesammelt für eine Fahrzeugflotte Informationen darüber vorliegen können, welche Rechen-Funktionsblöcke, mit welchem Aktualisierungsstand, sicher betrieben werden können.There are various criteria and implementations for testing whether a computational function block satisfies the security target. For example, checking whether operation of the computing function blocks satisfies a security requirement can be based on at least one of a period of time since the respective computing function blocks were last updated, a validity of a cryptographic certificate for the respective computing function blocks, and a set of rules from a remote peer . The first two options enable a time-based, automatic determination that the respective computing function block can no longer be operated securely (whereby the cryptographic certificate can be renewed to ensure the continued operation of the computing function block if this seems justifiable). The rules of the remote opponents can be used because the remote remote station can collect information for a fleet of vehicles about which computing function blocks can be operated safely and with which update status.

Manche Aspekte der vorliegenden Offenbarung beziehen sich auf ein Fahrzeug mit einer Vorrichtung, wie sie zuvor vorgestellt wurde, sowie den ein oder mehreren Rechenressourcen.Some aspects of the present disclosure relate to a vehicle having an apparatus as previously presented and the one or more computing resources.

Manche Aspekte der vorliegenden Offenbarung beziehen sich auf ein Verfahren für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug. Das Verfahren umfasst ein Ermitteln der Rechen-Funktionsblöcke des Fahrzeugs. Das Verfahren umfasst ferner ein Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt. Das Verfahren umfasst ferner ein Anpassen des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt.Some aspects of the present disclosure relate to a method for monitoring security of computational functional blocks in a vehicle. The method includes determining the computational functional blocks of the vehicle. The method further includes checking whether operation of the computing function blocks satisfies a security target. The method further includes adjusting the operation of a computational function block if the verification of the operation of the computational function block fails.

Dieses Verfahren kann beispielsweise als Computerprogramm implementiert werden. Daher beziehen sich manche Aspekte der vorliegenden Offenbarung auf ein Programm mit einem Programmcode zum Durchführen des Verfahrens, wenn der Programmcode auf einem Computer, einem Prozessor, einem Kontrollmodul oder einer programmierbaren Hardwarekomponente ausgeführt wird.This method can be implemented as a computer program, for example. Therefore, some aspects of the present disclosure relate to a program with program code for performing the method when the program code is executed on a computer, a processor, a control module or a programmable hardware component.

In manchen Fällen kann das Verfahren jedoch auch über ein Computerprogramm herausgehen. Dies kann der Fall sein, wenn die genutzten Rechenressourcen im Rahmen des Fahrzeugs ausgetauscht werden. So kann das Anpassen des Betriebs ein Übertragen der Rechen-Funktionsblöcke in eine virtuelle Ausführungsumgebung, Austauschen zumindest einer Rechenressource des Fahrzeugs durch eine neue Rechenressource, und Ausführen der virtuellen Ausführungsumgebung mit den Rechen-Funktionsblöcken auf der neuen Rechenressource umfassen. Durch Austausch der Rechenressource eine Rechenressource mit einer erhöhten Rechenkapazität oder Speicherkapazität in das Fahrzeug übernommen werden, wodurch eine Aktualisierung der Rechen-Funktionsblöcke für eine längere Zeit ermöglicht werden kann.In some cases, however, the procedure can also be carried out using a computer program. This can be the case if the computing resources used are exchanged within the framework of the vehicle. Thus, adapting the operation may include transferring the computing function blocks to a virtual execution environment, replacing at least one computing resource of the vehicle with a new computing resource, and executing the virtual execution environment with the computing function blocks on the new computing resource. By exchanging the computing resource, a computing resource with an increased computing capacity or storage capacity can be incorporated into the vehicle, as a result of which the computing function blocks can be updated for a longer period of time.

Einige Beispiele von Vorrichtungen und/oder Verfahren werden nachfolgend bezugnehmend auf die beiliegenden Figuren lediglich beispielhaft näher erläutert. Es zeigen:

  • 1a zeigt ein schematisches Diagramm eines Beispiels einer Vorrichtung für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug;
  • 1b zeigt ein schematisches Diagramm eines Beispiels eines Fahrzeugs mit einer Vorrichtung für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug; und
  • 2a und 2b zeigen Flussdiagramme von Beispielen eines Verfahrens für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug.
Some examples of devices and/or methods are explained in more detail below with reference to the accompanying figures, merely by way of example. Show it:
  • 1a Fig. 12 shows a schematic diagram of an example of an apparatus for monitoring security of computational functional blocks in a vehicle;
  • 1b Figure 12 shows a schematic diagram of an example of a vehicle with an apparatus for monitoring security of computational functional blocks in a vehicle; and
  • 2a and 2 B Figure 12 shows flowcharts of examples of a method for monitoring security of computing function blocks in a vehicle.

Einige Beispiele werden nun ausführlicher Bezug nehmend auf die beiliegenden Figuren beschrieben. Weitere mögliche Beispiele sind jedoch nicht auf die Merkmale dieser detailliert beschriebenen Ausführungsformen beschränkt. Diese können Modifikationen der Merkmale sowie Entsprechungen und Alternativen zu den Merkmalen aufweisen. Ferner soll die Terminologie, die hierin zum Beschreiben bestimmter Beispiele verwendet wird, nicht einschränkend für weitere mögliche Beispiele sein.Some examples will now be described in more detail with reference to the accompanying figures. However, other possible examples are not limited to the features of these detailed described embodiments. These may include modifications of the features, as well as equivalents and alternatives to the features. Furthermore, the terminology used herein to describe particular examples is not intended to be limiting of other possible examples.

Gleiche oder ähnliche Bezugszeichen beziehen sich in der gesamten Beschreibung der Figuren auf gleiche oder ähnliche Elemente beziehungsweise Merkmale, die jeweils identisch oder auch in abgewandelter Form implementiert sein können, während sie die gleiche oder eine ähnliche Funktion bereitstellen. In den Figuren können ferner die Stärken von Linien, Schichten und/oder Bereichen zur Verdeutlichung übertrieben sein.Throughout the description of the figures, the same or similar reference symbols refer to the same or similar elements or features, which can each be implemented identically or in a modified form, while providing the same or a similar function. Also, in the figures, the thicknesses of lines, layers, and/or areas may be exaggerated for clarity.

Wenn zwei Elemente A und B unter Verwendung eines „oder“ kombiniert werden, ist dies so zu verstehen, dass alle möglichen Kombinationen offenbart sind, d. h. nur A, nur B sowie A und B, sofern nicht im Einzelfall ausdrücklich anders definiert. Als alternative Formulierung für die gleichen Kombinationen kann „zumindest eines von A und B“ oder „A und/oder B“ verwendet werden. Das gilt Äquivalent für Kombinationen von mehr als zwei Elementen.When two elements A and B are combined using an "or", it is to be understood that all possible combinations are disclosed, i. H. only A, only B and A and B, unless expressly defined otherwise in individual cases. "At least one of A and B" or "A and/or B" can be used as alternative wording for the same combinations. The equivalent applies to combinations of more than two elements.

Wenn eine Singularform, z. B. „ein, eine“ und „der, die, das“ verwendet wird und die Verwendung nur eines einzelnen Elements weder explizit noch implizit als verpflichtend definiert ist, können weitere Beispiele auch mehrere Elemente verwenden, um die gleiche Funktion zu implementieren. Wenn eine Funktion im Folgenden als unter Verwendung mehrerer Elemente implementiert beschrieben ist, können weitere Beispiele die gleiche Funktion unter Verwendung eines einzelnen Elements oder einer einzelnen Verarbeitungsentität implementieren. Es versteht sich weiterhin, dass die Begriffe „umfasst“, „umfassend“, „aufweist“ und/oder „aufweisend“ bei deren Gebrauch das Vorhandensein der angegebenen Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Elemente, Komponenten und/oder einer Gruppe derselben beschreiben, dabei aber nicht das Vorhandensein oder das Hinzufügen eines oder mehrerer anderer Merkmale, Ganzzahlen, Schritte, Operationen, Prozesse, Elemente, Komponenten und/einer Gruppe derselben ausschließen.If a singular form, e.g. For example, where "a, an" and "the" are used and the use of a single element is not explicitly or implicitly required, other examples may use multiple elements to implement the same function. Where a function is described below as being implemented using multiple elements, other examples may implement the same function using a single element or processing entity. It is further understood that the terms "comprises,""comprising,""comprises," and/or "having," when used, imply the presence of the specified feature, integer, step, operation, process, element, component, and/or group of the same describe, but not the presence or addition of a or exclude multiple other characteristics, integers, steps, operations, processes, elements, components and/or a group thereof.

Wie bereits zuvor angesprochen führen die Entwicklungszyklen und die Betriebsdauer von Fahrzeugen zu Herausforderungen in Bezug auf die Instandhaltung von Fahrzeug-Software. So kann Software, die 2020 entwickelt werden, in Fahrzeugen stecken, die 10 Jahre später noch verkauft wird. Diese Fahrzeuge können wiederum 15 Jahre (oder länger) betrieben werden, so dass die Software theoretisch von 2020 bis 2045 gepflegt werden muss. Die Herausforderungen werden in Oldtimern nur größer, denn hier können ggf. neue Risiken aufkommen, die zur Entwicklungszeit der Oldtimer noch nicht aktuell waren, aber etwa in den folgenden 30 Jahren auftreten. Grundsätzlich ist es dabei möglich, das Fahrzeug möglichst aktuell zu halten, oder aber die Funktionalität im Rahmen der Wartung zu entfernen.As mentioned earlier, vehicle development cycles and service life create challenges related to the maintenance of vehicle software. Software that is developed in 2020 can be found in vehicles that are still being sold 10 years later. These vehicles can in turn be operated for 15 years (or longer), so that the software must theoretically be maintained from 2020 to 2045. The challenges only get bigger in classic cars, because new risks may arise here that were not yet relevant when the classic car was developed, but will occur in the next 30 years or so. In principle, it is possible to keep the vehicle as up-to-date as possible, or to remove the functionality as part of maintenance.

Eine Kompatibilität und Aktualisierung der Software auch noch 30 Jahren stellt eine Herausforderung dar. Um diese Herausforderung anzugehen, kann eine der folgenden Strategien angewendet werden.Keeping the software compatible and updated 30 years on is a challenge. To address this challenge, one of the following strategies can be employed.

Einerseits kann die Software über einen sehr langen Zeitraum aktualisiert werden. Auch 30 Jahre alte Hardware kann dabei ständig aktualisiert werden. Dies ist zwar theoretisch möglich, führt aber zu sehr hohen Kosten und ist auch in der Industrie sehr unüblich.On the one hand, the software can be updated over a very long period of time. Even 30-year-old hardware can be constantly updated. Although this is theoretically possible, it leads to very high costs and is also very unusual in industry.

Andererseits kann. wenn die Software veraltet ist - und somit die Hardware im Fahrzeug nicht mehr unterstützt werden kann, die Hardware durch eine moderne Hardware mit aktueller Software ersetzt werden, um das Fahrzeug „frisch“ zu halten. Daher kann der Kunde oder der Hersteller die Hardware ersetzen und sich um die Kosten kümmern. Grundsätzlich können dabei zwei Gruppen von Kunden unterschieden werden - Kunden, die bestehende Fahrzeuge aktualisieren wollen (etwa gegen Bezahlung) und Kunden, die nicht daran interessiert sind. In letzterem Fall sollte die Sicherheit trotzdem gewährleistet sein. Hier kann nun zwischen sicherheitsrelevanten Schnittstellen unterschieden werden, deren Status eingefroren werden kann, oder deren Funktionalität abgetrennt oder abgeschaltet werden kann, und benutzerrelevante Schnittstellen, bei denen unterschiedliche Ansätze gewählt werden können.On the other hand, can. if the software is outdated - and thus the hardware in the vehicle can no longer be supported, the hardware is replaced with modern hardware with the latest software in order to keep the vehicle "fresh". Therefore, the customer or the manufacturer can replace the hardware and take care of the cost. Basically, two groups of customers can be distinguished - customers who want to update existing vehicles (e.g. against payment) and customers who are not interested in doing so. In the latter case, security should still be guaranteed. A distinction can now be made between safety-relevant interfaces, the status of which can be frozen, or the functionality of which can be separated or switched off, and user-relevant interfaces, for which different approaches can be selected.

Als Alternative kann neue Hardware hinzugefügt werden, die in der Lage ist, die in den 30 Jahren fortentwickelte, neue Software auszuführen. Jedoch ist es hier eine Herausforderung, die Nutzer für die neue Hardware zu begeistern.Alternatively, new hardware capable of running the new software that has evolved over the past 30 years can be added. However, it is a challenge to get users enthusiastic about the new hardware.

In manchen Fällen kann zudem rekonfigurierbare Hardware zur Unterstützung neuer Software-Funktionen eingesetzt werden. Damit können spezialisierte Funktionen implementiert werden, die neue Software-Anwendungen ermöglichen können.In some cases, reconfigurable hardware can also be used to support new software functions. This allows specialized functions to be implemented that can enable new software applications.

Der Nachteil dieses Ansatzes sind die Entwicklungskosten für eine sehr begrenzte Anzahl von Kunden. Da nicht viele Autobesitzer 15 Jahre alte Autos besitzen und bereit sind, für die Aktualisierung zu zahlen, führen die niedrigen Musterraten zu teuren Ersatzkosten und reduzieren die Anzahl der kaufenden Kunden noch mehr.The disadvantage of this approach is the development costs for a very limited number of customers. Because not many car owners own 15-year-old cars and are willing to pay to upgrade, the low sample rates result in expensive replacement costs and reduce the number of customers buying even more.

Als dritte, und möglicherweise bevorzugte, Möglichkeit bleibt die Aufteilung der Software in gesetzlich vorgeschriebene und nicht gesetzlich vorgeschriebene Software. Manche Funktionalitäten des Fahrzeugs sind gesetzlich vorgeschrieben (wie etwa eCall oder Berichte für Behörden). Diese Software muss über den gesamten Lebenszyklus des Fahrzeugs gewartet werden. Andere Funktionalität kann ggf. eingeschränkt werden, etwa abgeschaltet werden.The third, and possibly preferred, option is to separate the software into statutory and non-statutory software. Some functionalities of the vehicle are required by law (such as eCall or reports for authorities). This software must be maintained over the entire life cycle of the vehicle. Other functionality may be restricted, for example switched off.

Die nachfolgend eingeführte Vorrichtung, das nachfolgend eingeführte Verfahren und das entsprechende Computerprogramm können nun genutzt werden, um die zuvor genannten Möglichkeiten zum sicheren Betrieb der Software-Funktionen des Fahrzeugs zu unterstützen oder bereitzustellen.The device introduced below, the method introduced below and the corresponding computer program can now be used to support or provide the previously mentioned options for safe operation of the software functions of the vehicle.

1a zeigt ein schematisches Diagramm eines Beispiels einer Vorrichtung 10 für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken 20 in einem Fahrzeug 100. Die Vorrichtung 10 umfasst ein oder mehrere Schnittstellen 12 zur Kommunikation mit ein oder mehreren Rechenressourcen 30 des Fahrzeugs. Die Vorrichtung 10 umfasst ferner ein oder mehrere Prozessoren 14. Optional umfasst die Vorrichtung 10 ferner ein oder mehrere Speichergeräte 16. Grundsätzlich kann die Funktionalität der Vorrichtung 10 durch die ein oder mehreren Prozessoren 14 bereitgestellt werden, mit Hilfe der ein oder mehreren Schnittstellen 12 (zum Austausch von Informationen, etwa zur Kommunikation mit den ein oder mehreren Rechenressourcen oder zur Kommunikation mit einer entfernten Gegenstelle) und/oder mit Hilfe der ein oder mehreren Speichergeräte 16 (zum Speichern und Abrufen von Informationen). Die ein oder mehreren Prozessoren 14 sind ausgebildet zum Ermitteln der Rechen-Funktionsblöcke des Fahrzeugs. Die ein oder mehreren Prozessoren 14 sind ausgebildet zum Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt. Die ein oder mehreren Prozessoren 14 sind ausgebildet zum Anpassen des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt. 1a 12 shows a schematic diagram of an example of a device 10 for monitoring security of computing functional blocks 20 in a vehicle 100. The device 10 comprises one or more interfaces 12 for communication with one or more computing resources 30 of the vehicle. The device 10 also includes one or more processors 14. Optionally, the device 10 also includes one or more storage devices 16. In principle, the functionality of the device 10 can be provided by the one or more processors 14 with the aid of the one or more interfaces 12 (e.g Exchanging information, such as communicating with the one or more computing resources or communicating with a remote peer) and/or using the one or more storage devices 16 (for storing and retrieving information). The one or more processors 14 are designed to determine the computing function blocks of the vehicle. The one or more processors 14 are designed to check whether operation of the arithmetic function blocks satisfies a security requirement. The one or more processors 14 are configured to adjust operation of a computational function block if the operation of the computational function block fails to verify.

Die Vorrichtung 10 und die ein oder mehreren Rechenressourcen 30 sind Teil eines Fahrzeugs 100, das in 1b gezeigt ist. 1b zeigt ein schematisches Diagramm eines Beispiels des Fahrzeugs 100 mit der Vorrichtung 10 für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug. Das Fahrzeug 100 umfasst ferner die ein oder mehreren Rechenressourcen 30. Die ein oder mehreren Rechenressourcen sind wiederum ausgebildet, um die Rechen-Funktionsblöcke auszuführen. Innerhalb des Fahrzeugs können die Rechenressourcen 30 dazu ausgebildet, mit anderen Komponenten des Fahrzeugs, wie etwa der Vorrichtung 10, über ein fahrzeuginternes Netzwerk zu kommunizieren.The device 10 and the one or more computing resources 30 are part of a vehicle 100, which is 1b is shown. 1b 10 shows a schematic diagram of an example of the vehicle 100 with the apparatus 10 for monitoring security of computing functional blocks in a vehicle. The vehicle 100 also includes the one or more computing resources 30. The one or more computing resources are in turn designed to execute the computing function blocks. Within the vehicle, the computing resources 30 may be configured to communicate with other components of the vehicle, such as the device 10, via an in-vehicle network.

Die Rechen-Funktionsblöcke sind logische Einheiten, die software-basierte Fahrzeugfunktionalitäten bereitstellen. Dabei kann eine Technik genutzt werden, in der Dienste, die Software-Funktionalitäten des Fahrzeugs bereitstellen, in die Rechen-Funktionsblöcke verpackt werden. Diese Rechen-Funktionsblöcke können wiederum durch sogenannte Software-Container implementiert werden oder diesen entsprechen. Ein oder mehrere Dienste können mit all ihren Abhängigkeiten in einem Software-Container gekapselt werden. Diese Container sind insbesondere zur Nutzung auf Servern und Entwicklergeräten bekannt. Beispielsweise können solche Container von verschiedenen Container-Engines (Docker, Podman, Crio, ...) bereitgestellt werden. Die vorliegende Offenbarung stellt eine Nutzung solcher Container in einem Fahrzeug bereit. Dabei können die Rechenressourcen, die etwa Recheneinheiten/Steuereinheiten des Fahrzeugs entsprechen können, ausgebildet sein, um eine Laufzeitumgebung für die Rechen-Funktionsblöcke/Container bereitzustellen.The calculation function blocks are logical units that provide software-based vehicle functionalities. A technology can be used in which services that provide software functionalities of the vehicle are packaged in the computing function blocks. These arithmetic function blocks can in turn be implemented by so-called software containers or correspond to them. One or more services can be encapsulated with all their dependencies in a software container. These containers are known in particular for use on servers and developer devices. For example, such containers can be provided by different container engines (Docker, Podman, Crio, ...). The present disclosure provides for use of such containers in a vehicle. The computing resources, which can correspond to computing units/control units of the vehicle, can be designed to provide a runtime environment for the computing function blocks/containers.

Grundlage der Sicherheitsüberprüfung ist die Ermittlung der Rechen-Funktionsblöcke des Fahrzeugs. Dabei können unterschiedliche Fahrzeuge des gleichen Typs beispielsweise unterschiedliche Rechen-Funktionsblöcke aufweisen, etwa aufgrund unterschiedlicher Hardware-Komponenten (verfügt das Fahrzeug über eine Rückfahrkamera, über Ultraschallsensoren, über Radar/Lidar, über ein Navigationsgerät etc.), aufgrund unterschiedlicher Aktualisierungsstände, oder aufgrund dessen, dass ein Nutzer des Fahrzeugs eine Fahrzeugfunktion, und daher auch einen entsprechenden Rechen-Funktionsblock, über ein Fahrzeug-Anwendungsportal installiert hat. Daher wird in einem ersten Schritt eine Inventur über die Rechen-Funktionsblöcke des Fahrzeugs gemacht. Das Ergebnis der Ermittlung der Rechen-Funktionsblöcke des Fahrzeugs kann eine Liste oder Datenstruktur von derzeit betriebenen Rechen-Funktionsblöcken sein. Inaktive Rechen-Funktionsblöcke können dabei, in manchen Beispielen, außer Acht gelassen werden.The basis of the security check is the determination of the computing function blocks of the vehicle. Different vehicles of the same type can have different computing function blocks, for example, due to different hardware components (does the vehicle have a reversing camera, ultrasonic sensors, radar/lidar, a navigation device, etc.), due to different update statuses, or due to this that a user of the vehicle has installed a vehicle function, and therefore also a corresponding computing function block, via a vehicle application portal. Therefore, in a first step, an inventory is made of the vehicle's computing function blocks. The result of determining the vehicle's computational function blocks may be a list or data structure of computational function blocks currently in operation. Inactive arithmetic function blocks can, in some examples, be ignored.

Das vorgeschlagene Konzept verwendet einen Erkennungsmechanismus, um zu prüfen, ob die Funktionen noch sicher betrieben werden können. Daher erfolgt eine Prüfung, ob der Betrieb der Rechen-Funktionsblöcke der Sicherheitsvorgabe genügt. Die Prüfung, ob der Betrieb der Rechen-Funktionsblöcke der Sicherheitsvorgabe genügt, kann dabei eine Erkennung von veralteter oder sicherheitsgefährdender Funktionalität umfassen. Dies kann mittels unterschiedlicher Mechanismen erfolgen. Beispielsweise kann das Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, auf einer Zeitdauer seit einer letzten Aktualisierung der jeweiligen Rechen-Funktionsblöcke basieren. Überschreitet die Zeitdauer seit der letzten Aktualisierung einen Schwellenwert, so kann angenommen werden, dass der (uneingeschränkte) Betrieb des jeweiligen Rechen-Funktionsblocks nicht mehr der Sicherheitsvorgabe entspricht.The proposed concept uses a detection mechanism to check whether the functions can still be operated safely. Therefore, a check is made as to whether the operation of the arithmetic function blocks satisfies the security target. The check as to whether the operation of the arithmetic function blocks satisfies the security specification can include a detection of outdated or security-endangering functionality. This can be done using different mechanisms. For example, checking whether an operation of the computing function blocks satisfies a security target can be based on a period of time since the respective computing function blocks were last updated. If the length of time since the last update exceeds a threshold value, it can be assumed that the (unrestricted) operation of the respective arithmetic function block no longer corresponds to the security requirement.

Diese Zeitdauer kann auch auf kryptographischen Zertifikaten basieren. Beispielsweise kann das Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, auf einer Gültigkeit eines kryptographischen Zertifikats der jeweiligen Rechen-Funktionsblöcke basieren. In diesem Fall wird die Zeitdauer durch das kryptographische Zertifikat gesteuert, welches wiederum durch den Aussteller des Zertifikats festgelegt werden kann. Dabei kann, über die Gültigkeitsdauer des Zertifikats eine Voraussage getroffen werden, wie lange der Hersteller oder der Ersteller des Zertifikats den sicheren Betrieb des jeweiligen Rechen-Funktionsblocks für möglich erachtet. Die Zertifikate können verwendet werden, um das Aktualisierungsverhalten zu verfolgen. Wenn innerhalb eines bestimmten Zeitrahmens keine Aktualisierungen vorhanden sind, kann die Software vom Backend oder von der Vorrichtung deaktiviert werden, um den Rest des Fahrzeugs zu sichern.This length of time can also be based on cryptographic certificates. For example, checking whether operation of the computing function blocks satisfies a security requirement can be based on the validity of a cryptographic certificate for the respective computing function blocks. In this case, the length of time is controlled by the cryptographic certificate, which in turn can be specified by the issuer of the certificate. A prediction can be made about the period of validity of the certificate as to how long the manufacturer or the creator of the certificate considers the safe operation of the respective computing function block to be possible. The certificates can be used to track update behavior. If there are no updates within a certain time frame, the software can be deactivated by the backend or by the device in order to secure the rest of the vehicle.

Als dritte Möglichkeit kann ein Regelwerk verwendet werden, das von einer entfernten Gegenstelle (etwa des Fahrzeugherstellers) stammt / abgerufen wird. Das Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, kann somit auf dem Regelwerk der entfernten Gegenstelle basieren. Das Regelwerk kann beispielsweise vorgeben, ob der Betrieb eines Rechen-Funktionsblock mit einem gegebenen Aktualisierungsstand der Sicherheitsvorgabe entspricht. Auch kann das Regelwerk vorgeben, welche Maßnahmen ergriffen werden können, um den sicheren Betrieb des Rechen-Funktionsblocks zu gewährleisten, oder ob eine Abschaltung des jeweiligen Rechen-Funktionsblocks notwendig ist.As a third option, a set of rules can be used that comes from/is retrieved from a remote partner (e.g. the vehicle manufacturer). Checking whether operation of the arithmetic function blocks satisfies a security requirement can thus be based on the set of rules of the remote partner. For example, the set of rules can specify whether the operation of a computing function block with a given update status corresponds to the security target. The set of rules can also specify which measures can be taken to ensure the safe operation of the arithmetic function block, or whether it is necessary to switch off the respective arithmetic function block.

Nun wird der Betrieb derjenigen Rechen-Funktionsblöcke, deren Betrieb im aktuellen Zustand nicht den Sicherheitsvorgaben entspricht, angepasst.Now the operation of those arithmetic function blocks, their operation in the current state does not meet the security requirements.

Hierbei sind, wie bereits ausgeführt, verschiedene Maßnahmen möglich, nämlich die Deaktivierung veralteter Funktionalität, die Kapselung unsicherer Software, die Aufrüstung der Hardware über rekonfigurierbare Hardwaregeräte oder die Aufrüstung der Hardware durch neue Hardware und Virtualisierung der alten Plattform. Letztere Möglichkeit wird im Zusammenhang mit 2b eingeführt.As already explained, various measures are possible here, namely the deactivation of outdated functionality, the encapsulation of insecure software, the hardware upgrade via reconfigurable hardware devices or the hardware upgrade with new hardware and virtualization of the old platform. The latter possibility is related to 2 B introduced.

Grundsätzlich kann die erste, und einfachste Möglichkeit sein, den Rechen-Funktionsblock zu aktualisieren. In den vorliegenden Beispielen wird davon ausgegangen, dass ein solcher Vorgang, zumindest im einfachsten Fall, nicht zu einer Anpassung des Betriebs des Rechen-Funktionsblocks führt. Auch kann in diesem Fall die Prüfung positiv ausfallen, da ein möglicher Verstoß gegen die Sicherheitsvorgabe mit einfachen Mitteln behebbar ist. So kann beispielsweise die Prüfung negativ ausfallen, falls der Betrieb des Rechenfunktionsblocks der Sicherheitsvorgabe nicht genügt und eine Aktualisierung, zumindest unter Nutzung der vorhandenen Rechenressourcen, ausgeschlossen ist. Falls der Betrieb des Rechenfunktionsblocks der Sicherheitsvorgabe nicht genügt, aber eine Aktualisierung möglich ist, so kann die Prüfung positiv ausfallen und die Aktualisierung ohne Anpassung des Betriebs des Rechen-Funktionsblocks durchgeführt werden.In principle, the first and simplest option can be to update the arithmetic function block. In the present examples, it is assumed that such an operation, at least in the simplest case, does not lead to an adaptation of the operation of the calculation function block. In this case, the test can also be positive, since a possible breach of the security requirement can be remedied with simple means. For example, the check can be negative if the operation of the computing function block does not meet the security requirement and an update, at least using the available computing resources, is impossible. If the operation of the arithmetic function block does not meet the security target, but an update is possible, the test can be positive and the update can be carried out without adapting the operation of the arithmetic function block.

Ist dies jedoch nicht ohne weiteres möglich, so kann eine der folgenden Maßnahmen ergriffen werden.However, if this is not easily possible, one of the following measures can be taken.

Veraltete Funktionalitäten können deaktiviert werden (z.B. Zugang zu einem Rechen-Funktionsblock einer Firma, die in Konkurs gegangen ist). In anderen Worten kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren des Rechen-Funktionsblocks umfassen.Obsolete functionalities can be disabled (e.g. access to a calculation function block of a company that has gone bankrupt). In other words, adjusting the operation of the computational functional block may include removing or permanently disabling the computational functional block.

Andere „alte“ Funktionalitäten können gekapselt werden, um den Schaden zu begrenzen, den sie anrichten können (z.B. indem ihnen keine Netzwerkverbindung mehr angeboten wird).Other "legacy" functionalities can be encapsulated to limit the damage they can do (e.g. by no longer offering them network connectivity).

Beispielsweise kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks umfassen. Dabei kann zwischen der Kommunikation im Fahrzeug und der Kommunikation mit externen Gegenstellen unterschieden werden. Beispielsweise kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren der Kommunikation des Rechen-Funktionsblocks mit ein oder mehreren anderen Rechen-Funktionsblöcken des Fahrzeugs umfassen. Alternativ oder zusätzlich kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks mit einer entfernten Gegenstelle umfassen. Dies kann beispielsweise darüber geschehen, dass ein Übergabepunkt (engl. Gateway) zwischen den Rechen-Funktionsblöcken und anderen Rechen-Funktionseinheiten instruiert wird, die Kommunikation des Rechen-Funktionsblocks zu blockieren. Alternativ oder zusätzlich kann eine softwarebasiertes Netzwerk so angepasst werden, dass die Kommunikation des Rechen-Funktionsblocks blockiert wird.For example, adjusting operation of the computational function block may include blocking communication of the computational function block. A distinction can be made between communication in the vehicle and communication with external remote stations. For example, adjusting operation of the computing function block may include blocking communication of the computing function block with one or more other computing function blocks of the vehicle. Alternatively or additionally, adjusting operation of the computing function block may include blocking communication of the computing function block with a remote peer. This can happen, for example, by instructing a transfer point (gateway) between the arithmetic function blocks and other arithmetic function units to block the communication of the arithmetic function block. Alternatively or additionally, a software-based network can be adapted in such a way that the communication of the computing function block is blocked.

Viele Rechen-Funktionsblöcke basieren in Teilen auf einem Konzept, das „Automotive Edge“ genannt wird. Dabei werden die Rechen-Funktionsblöcke, etwa als Container, auf den Rechenressourcen des Fahrzeugs ausgeführt, sind jedoch stark an einen Backend-Server gekoppelt, der den Lebenszyklus der Rechen-Funktionsblöcke verwaltet und einen Zugang zum Netzwerk des Herstellers des Fahrzeugs gewährt. Um nun einen Rechen-Funktionsblock zu deaktivieren, können die Rechen-Funktionsblöcke (auch „Endpunkte“ genannt), die im Fahrzeug ausgeführt werden, gelöscht werden oder die komplette „Automotive Edge“ abgemeldet werden. Um nur die Kommunikation zu blockieren, können die Informationskanäle von der Automotive Edge zum Backend gekappt werden. Folglich kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen einer Kopplung des Rechen-Funktionsblocks mit einer entfernten Gegenstelle (d.h. dem Backend-Server) umfassen. Auch kann ein Löschen von Sicherheitsverbindungen zu Schlüsseln oder wenn möglich der Schlüssel selbst durchgeführt werden. Beispielweise kann die Kopplung durch ein Entfernen ein oder mehrerer kryptografischer Zertifikate entfernt werden. Als Folge können mögliche Verbindungen zu sicheren Partnern nicht hergestellt werdenMany arithmetic function blocks are based in part on a concept called the "automotive edge". The computing function blocks are executed, for example as containers, on the vehicle's computing resources, but are closely linked to a backend server that manages the life cycle of the computing function blocks and grants access to the network of the vehicle manufacturer. In order to deactivate an arithmetic function block, the arithmetic function blocks (also called "end points") that are executed in the vehicle can be deleted or the entire "Automotive Edge" can be logged off. In order to only block communication, the information channels from the automotive edge to the backend can be capped. Accordingly, adjusting the operation of the computational functional block may include removing a coupling of the computational functional block to a remote peer (i.e., the backend server). Security connections to keys or, if possible, the key itself can also be deleted. For example, the pairing can be removed by removing one or more cryptographic certificates. As a result, possible connections to secure partners cannot be established

Darüber hinaus kann das Automotive Edge so gestaltet werden, dass nur das Automotive Edge die Konversation mit dem Backend starten kann. Wenn also das Automotive Edge deaktiviert ist (und möglicherweise anfällig für Angriffe von außerhalb des Fahrzeugs), ist es nicht möglich, das Edge von außen zu erreichen.In addition, the automotive edge can be designed in such a way that only the automotive edge can start the conversation with the backend. So when the Automotive Edge is disabled (and potentially vulnerable to attacks from outside the vehicle), it is not possible to reach the Edge from the outside.

Diese Maßnahmen können zusätzlich zum Entfernen oder permanenten Deaktivieren des Rechen-Funktionsblocks ausgeführt werden. Zudem können Warnungen ausgegeben werden, wenn der Benutzer eine neue Software installieren möchte (die vom System nicht mehr unterstützt wird), oder die Installation kann unmöglich gemacht werden.These actions may be taken in addition to removing or permanently disabling the arithmetic function block. In addition, warnings can be issued if the user wants to install new software (which is no longer supported by the system) or the installation can be made impossible.

Wie bereits zuvor ausgeführt kann bei der Anpassung des Betriebs von Rechen-Funktionsblöcken unterschieden werden, ob der Betrieb eines Rechen-Funktionsblocks notwendig ist (etwa rechtlich vorgeschrieben oder zum Betrieb des Fahrzeugs unbedingt nötig), oder ob der Betrieb des Rechen-Funktionsblocks optional ist, etwa weil sich der Rechen-Funktionsblock auf Funktionalität bezieht, die Komfortfunktionen für den Benutzer des Fahrzeugs bereitstellen. Folglich kann das Anpassen des Betriebs des Rechen-Funktionsblocks abhängig davon sein, oder davon abhängig gemacht werden, ob ein Betrieb des Rechen-Funktionsblocks notwendig oder optional ist.As previously stated, when customizing the operation of arithmetic function blocks, A distinction can be made as to whether the operation of a computing function block is necessary (e.g. required by law or absolutely necessary for operating the vehicle), or whether the operation of the computing function block is optional, for example because the computing function block relates to functionality, the comfort functions provide to the user of the vehicle. Accordingly, adjusting the operation of the computational function block may be contingent upon, or made contingent upon, whether operation of the computational function block is necessary or optional.

Dabei kann basierend darauf, ob ein Betrieb des Rechen-Funktionsblocks notwendig oder optional ist, die Kommunikation des Rechen-Funktionsblocks blockiert werden, falls der Betrieb des Rechen-Funktionsblocks notwendig ist, und der Rechen-Funktionsblock entfernt oder deaktiviert werden, falls der Betrieb des Rechen-Funktionsblocks nicht notwendig, sondern optional ist.Thereby, based on whether operation of the arithmetic function block is necessary or optional, the communication of the arithmetic function block can be blocked if the operation of the arithmetic function block is necessary, and the arithmetic function block can be removed or deactivated if the operation of the arithmetic function blocks is not necessary but optional.

Beispielsweise können optionale Rechen-Funktionsblöcke (etwa optionale Rechen-Funktionsblöcke, die nie oder nur selten von dem Benutzer des Fahrzeugs genutzt wurden) entfernt oder deaktiviert werden, um Rechenkapazität (oder Speicherkapazität) für einen Rechen-Funktionsblock freizugeben, dessen Betrieb notwendig ist. Daher kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren eines anderen Rechen-Funktionsblocks umfassen, um zusätzliche Rechenressourcen (d.h. zusätzliche Rechenkapazität oder Speicherkapazität) für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben. Das Anpassen des Betriebs des Rechen-Funktionsblocks kann ferner ein Aktualisieren des Rechen-Funktionsblocks unter Nutzung der zusätzlichen Rechenressourcen umfasst. Dabei kann der andere Rechen-Funktionsblock ein Rechen-Funktionsblock sein, dessen Betrieb optional ist. Auch kann für die Aktualisierung des Rechen-Funktionsblocks, sofern der andere Rechen-Funktionsblock nicht entfernt oder deaktiviert wird, zu wenige Rechenressourcen/Kapazität bereitstehen.For example, optional computational function blocks (such as optional computational function blocks that have never or rarely been used by the user of the vehicle) may be removed or disabled to free up computational capacity (or memory capacity) for a computational function block that is required to operate. Therefore, adjusting the operation of the compute function block may include removing or permanently disabling another compute function block to free up additional compute resources (i.e., additional compute capacity or memory capacity) for continued operation of the compute function block. Adjusting the operation of the computational functional block may further include updating the computational functional block using the additional computational resources. Here, the other arithmetic function block can be an arithmetic function block whose operation is optional. Also, there may be insufficient compute resources/capacity to update the compute function block unless the other compute function block is removed or disabled.

In einem Aspekt können die ein oder mehreren Rechenressourcen auch eine rekonfigurierbare Hardware-Komponente (z. B. einen FPGA) umfassen, die umprogrammiert werden kann, um neue Software-Funktionen zu unterstützen, die einen begrenzten Satz spezialisierter Funktionen bereitstellen können, die neue Software-Anwendungen ermöglichen. In anderen Worten können die ein oder mehreren Rechenressourcen des Fahrzeugs zumindest eine rekonfigurierbare Hardware-Komponente umfassen. Je komplexer die Funktionalität wird, desto mehr Gatter des rekonfigurierbaren Hardware-Bausteins werden in der Regel benötigt. Daher kann mit der Zeit eine geringere Anzahl von (komplexeren) Funktionen unterstützt werden. So kann das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren des anderen Rechen-Funktionsblocks umfassen, um Rechengatter der rekonfigurierbaren Hardware-Komponente für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben.In one aspect, the one or more computing resources may also include a reconfigurable hardware component (e.g., an FPGA) that can be reprogrammed to support new software features that may provide a limited set of specialized features that the new software -Enable applications. In other words, the one or more computing resources of the vehicle may include at least one reconfigurable hardware component. The more complex the functionality becomes, the more gates of the reconfigurable hardware component are usually required. Therefore, a smaller number of (more complex) functions can be supported over time. Adjusting the operation of the computing function block can include removing or permanently disabling the other computing function block in order to free computing gates of the reconfigurable hardware component for further operation of the computing function block.

Die zumindest eine Schnittstelle 12 kann beispielsweise einem oder mehreren Eingängen und/oder einem oder mehreren Ausgängen zum Empfangen und/oder Übertragen von Informationen entsprechen, etwa in digitalen Bitwerten, basierend auf einem Code, innerhalb eines Moduls, zwischen Modulen, oder zwischen Modulen verschiedener Entitäten.The at least one interface 12 may correspond, for example, to one or more inputs and/or one or more outputs for receiving and/or transmitting information, such as in digital bit values, based on a code, within a module, between modules, or between modules of different entities .

In Beispielen können die ein oder mehreren Prozessoren 14 einem beliebigen Controller oder Prozessor oder einer programmierbaren Hardwarekomponente entsprechen. Beispielsweise kann die Funktionalität der ein oder mehreren Prozessoren 14 auch als Software realisiert sein, die für eine entsprechende Hardwarekomponente programmiert ist. Insofern können die ein oder mehreren Prozessoren 14 als programmierbare Hardware mit entsprechend angepasster Software implementiert sein. Dabei können beliebige Prozessoren, wie Digitale Signalprozessoren (DSPs) zum Einsatz kommen. Ausführungsbeispiele sind dabei nicht auf einen bestimmten Typ von Prozessor eingeschränkt. Es sind beliebige Prozessoren oder auch mehrere Prozessoren zur Implementierung denkbar.In examples, the one or more processors 14 may correspond to any controller or processor or programmable hardware component. For example, the functionality of the one or more processors 14 can also be implemented as software that is programmed for a corresponding hardware component. In this respect, the one or more processors 14 can be implemented as programmable hardware with correspondingly adapted software. Any processors, such as digital signal processors (DSPs) can be used. Exemplary embodiments are not limited to a specific type of processor. Any processors or even multiple processors are conceivable for the implementation.

Die ein oder mehreren Speichergeräte 16 können beispielsweise zumindest ein Element der Gruppe von computerlesbares Speichermedium, magnetisches Speichermedium, optisches Speichermedium, Festplatte, Flash-Speicher, Diskette, Zufallszugriffsspeicher (auch engl. Random Access Memory), Programmable Read Only Memory (PROM), Erasable Programmable Read Only Memory (EPROM), Electronically Erasable Programmable Read Only Memory (EEPROM), und Netzwerkspeicher umfassen.The one or more storage devices 16 can be, for example, at least one element from the group of computer-readable storage medium, magnetic storage medium, optical storage medium, hard drive, flash memory, floppy disk, random access memory (also engl. Random Access Memory), programmable read only memory (PROM), erasable include programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), and network storage.

Das Fahrzeug 100 kann beispielsweise einem Landfahrzeug, einem Wasserfahrzeug, einem Luftfahrzeug, einem Schienenfahrzeug, einem Straßenfahrzeug, einem Auto, einem Geländefahrzeug, einem Kraftfahrzeug, oder einem Lastkraftfahrzeug entsprechen.The vehicle 100 may correspond, for example, to a land vehicle, a watercraft, an aircraft, a rail vehicle, a road vehicle, a car, an all-terrain vehicle, a motor vehicle, or a truck.

Mehr Details und Aspekte der Vorrichtung und des Fahrzeugs werden in Verbindung mit dem Konzept oder Beispielen genannt, die vorher oder nachher (z.B. 2a bis 2b) beschrieben werden. Die Vorrichtung und das Fahrzeug kann/können ein oder mehrere zusätzliche optionale Merkmale umfassen, die ein oder mehreren Aspekten des vorgeschlagenen Konzepts oder der beschriebenen Beispiele entsprechen, wie sie vorher oder nachher beschrieben wurden.More details and aspects of the device and the vehicle are mentioned in connection with the concept or examples given before or after (e.g 2a until 2 B ) to be discribed. The device and vehicle may include one or more additional optional features that improve one or more aspects of the foregoing proposed concept or the examples described, as previously or hereafter described.

Im Folgenden wird ein entsprechendes Verfahren Verfahrens für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug vorgestellt, dem die Funktionalität der Vorrichtung 10 der 1a und 1b zugrunde liegt. Merkmale der Vorrichtung, und insbesondere der ein oder mehreren Prozessoren der Vorrichtung, können daher auch in das entsprechende Verfahren der 2a und 2b übernommen werden.A corresponding method for monitoring the security of computing function blocks in a vehicle is presented below, to which the functionality of the device 10 of FIG 1a and 1b underlying. Characteristics of the device, and in particular the one or more processors of the device, can therefore also be incorporated into the corresponding method 2a and 2 B be taken over.

2a und 2b zeigen Flussdiagramme von Beispielen eines Verfahrens für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug. Das Verfahren umfasst ein Ermitteln 210 der Rechen-Funktionsblöcke des Fahrzeugs. Das Verfahren umfasst ferner ein Prüfen 220, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt. Das Verfahren umfasst ferner ein Anpassen 230 des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt. 2a and 2 B Figure 12 shows flowcharts of examples of a method for monitoring security of computing function blocks in a vehicle. The method includes determining 210 the computing function blocks of the vehicle. The method further includes checking 220 whether operation of the computing function blocks satisfies a security target. The method further includes adjusting 230 the operation of a computational function block if the verification of the operation of the computational function block fails.

Ein zuvor genannten Verfahrensschritte wurden bereits im Rahmen der entsprechenden Vorrichtung der 1a und 1b vorgestellt. Auch kann diese Verfahren als Computerprogramm implementiert werden.A previously mentioned method steps were already in the context of the corresponding device 1a and 1b presented. This method can also be implemented as a computer program.

In manchen Fällen kann das Verfahren jedoch zumindest einen Verfahrensschritt umfassen, der nicht von einem Computerprogramm oder der Vorrichtung der 1a und 1b ausgeführt werden kann. Beispielsweise kann die gesamte Hardware oder eine Haupteinheit der Hardware (d.h. eine oder mehrere Rechenressourcen) aufgerüstet werden. Die alte Fahrzeug-Software-Umgebung kann in Virtualisierung auf der neuen Hardware ausgeführt werden. Somit kann das Anpassen des Betriebs ein Übertragen 232 der Rechen-Funktionsblöcke in eine virtuelle Ausführungsumgebung, Austauschen 234 zumindest einer Rechenressource des Fahrzeugs durch eine neue Rechenressource, und Ausführen 236 der virtuellen Ausführungsumgebung mit den Rechen-Funktionsblöcken auf der neuen Rechenressource umfasst. Von diesen Schritten können die Schritte 232 und 236 durch die Vorrichtung der 1a und/oder 1b sowie das Computerprogramm ausgeführt werden. Die neue Rechenressource kann dabei eine höhere Rechenkapazität und/oder Speicherkapazität aufweisen als die Rechenressource, die ausgetauscht wurde.In some cases, however, the method can include at least one method step that is not controlled by a computer program or the device 1a and 1b can be executed. For example, all hardware or a major unit of hardware (ie, one or more computing resources) may be upgraded. The old vehicle software environment can be run in virtualization on the new hardware. Thus, adapting the operation may include transferring 232 the computing function blocks to a virtual execution environment, replacing 234 at least one computing resource of the vehicle with a new computing resource, and executing 236 the virtual execution environment with the computing function blocks on the new computing resource. Of these steps, steps 232 and 236 can be performed by the apparatus of FIG 1a and/or 1b and the computer program are executed. The new computing resource can have a higher computing capacity and/or storage capacity than the computing resource that was exchanged.

Mehr Details und Aspekte des Verfahrens werden in Verbindung mit dem Konzept oder Beispielen genannt, die vorher oder nachher (z.B. 1a bis 1b) beschrieben werden. Das Verfahren kann ein oder mehrere zusätzliche optionale Merkmale umfassen, die ein oder mehreren Aspekten des vorgeschlagenen Konzepts oder der beschriebenen Beispiele entsprechen, wie sie vorher oder nachher beschrieben wurden.More details and aspects of the procedure are given in connection with the concept or examples given before or after (e.g 1a until 1b ) to be discribed. The method may include one or more additional optional features corresponding to one or more aspects of the proposed concept or the described examples as previously or hereinafter described.

Die Aspekte und Merkmale, die im Zusammenhang mit einem bestimmten der vorherigen Beispiele beschrieben sind, können auch mit einem oder mehreren der weiteren Beispiele kombiniert werden, um ein identisches oder ähnliches Merkmal dieses weiteren Beispiels zu ersetzen oder um das Merkmal in das weitere Beispiel zusätzlich einzuführen.The aspects and features described in connection with a certain of the previous examples can also be combined with one or more of the further examples in order to replace an identical or similar feature of this further example or to additionally introduce the feature into the further example .

Beispiele können weiterhin ein (Computer-)Programm mit einem Programmcode zum Ausführen eines oder mehrerer der obigen Verfahren sein oder sich darauf beziehen, wenn das Programm auf einem Computer, einem Prozessor oder einer sonstigen programmierbaren Hardwarekomponente ausgeführt wird. Schritte, Operationen oder Prozesse von verschiedenen der oben beschriebenen Verfahren können also auch durch programmierte Computer, Prozessoren oder sonstige programmierbare Hardwarekomponenten ausgeführt werden. Beispiele können auch Programmspeichervorrichtungen, z. B. Digitaldatenspeichermedien, abdecken, die maschinen-, prozessor- oder computerlesbar sind und maschinenausführbare, prozessorausführbare oder computerausführbare Programme und Anweisungen codieren beziehungsweise enthalten. Die Programmspeichervorrichtungen können z. B. Digitalspeicher, magnetische Speichermedien wie beispielsweise Magnetplatten und Magnetbänder, Festplattenlaufwerke oder optisch lesbare Digitaldatenspeichermedien umfassen oder sein. Weitere Beispiele können auch Computer, Prozessoren, Steuereinheiten, (feld-programmierbare Logik-Arrays ((F)PLAs = (Field) Programmable Logic Arrays),(feld)programmierbare Gate-Arrays ((F)PGA = (Field) Programmable Gate Arrays), Grafikprozessoren (GPU = Graphics Processor Unit), anwendungsspezifische integrierte Schaltungen (ASIC = application-specific integrated circuit), integrierte Schaltungen (IC= Integrated Circuit) oder Ein-Chip-Systeme (SoC = System-on-a-Chip) abdecken, die zum Ausführen der Schritte der oben beschriebenen Verfahren programmiert sind.Examples may further include or relate to a (computer) program having program code for performing one or more of the above methods when the program is executed on a computer, processor or other programmable hardware component. Thus, steps, operations, or processes of various methods described above may also be performed by programmed computers, processors, or other programmable hardware components. Examples may also include program storage devices, e.g. digital data storage media, which is machine, processor or computer readable and which encodes or incorporates machine executable, processor executable or computer executable programs and instructions. The program storage devices may e.g. B. include or be digital storage, magnetic storage media such as magnetic disks and magnetic tapes, hard drives or optically readable digital data storage media. Further examples can also be computers, processors, control units, (field-programmable logic arrays ((F)PLAs = (Field) Programmable Logic Arrays), (field)programmable gate arrays ((F)PGA = (Field) Programmable Gate Arrays ), graphics processors (GPU = graphics processor unit), application-specific integrated circuits (ASIC = application-specific integrated circuit), integrated circuits (IC = integrated circuit) or single-chip systems (SoC = system-on-a-chip). programmed to perform the steps of the procedures described above.

Es versteht sich ferner, dass die Offenbarung mehrerer, in der Beschreibung oder den Ansprüchen offenbarter Schritte, Prozesse, Operationen oder Funktionen nicht als zwingend in der beschriebenen Reihenfolge befindlich ausgelegt werden soll, sofern dies nicht im Einzelfall explizit angegeben oder aus technischen Gründen zwingend erforderlich ist. Daher wird durch die vorhergehende Beschreibung die Durchführung von mehreren Schritten oder Funktionen nicht auf eine bestimmte Reihenfolge begrenzt. Ferner kann bei weiteren Beispielen ein einzelner Schritt, eine einzelne Funktion, ein einzelner Prozess oder eine einzelne Operation mehrere Teilschritte, -funktionen, -prozesse oder -operationen einschließen und/oder in dieselben aufgebrochen werden.It is further understood that disclosure of a plurality of steps, processes, operations, or functions disclosed in the specification or claims should not be construed as necessarily being in the order described, unless expressly stated in an individual case or is compellingly necessary for technical reasons . Therefore, the foregoing description does not dictate the performance of multiple steps or functions in any particular order limited. Further, in other examples, a single step, function, process, or operation may include and/or be broken into multiple sub-steps, functions, processes, or operations.

Wenn einige Aspekte in den vorhergehenden Abschnitten im Zusammenhang mit einer Vorrichtung oder einem System beschrieben wurden, sind diese Aspekte auch als eine Beschreibung des entsprechenden Verfahrens zu verstehen. Dabei kann beispielsweise ein Block, eine Vorrichtung oder ein funktionaler Aspekt der Vorrichtung oder des Systems einem Merkmal, etwa einem Verfahrensschritt, des entsprechenden Verfahrens entsprechen. Entsprechend dazu sind Aspekte, die im Zusammenhang mit einem Verfahren beschrieben werden, auch als eine Beschreibung eines entsprechenden Blocks, eines entsprechenden Elements, einer Eigenschaft oder eines funktionalen Merkmals einer entsprechenden Vorrichtung oder eines entsprechenden Systems zu verstehen.If some aspects have been described in the preceding paragraphs in the context of a device or a system, these aspects are also to be understood as a description of the corresponding method. For example, a block, a device or a functional aspect of the device or the system can correspond to a feature, such as a method step, of the corresponding method. Correspondingly, aspects described in connection with a method are also to be understood as a description of a corresponding block, element, property or functional feature of a corresponding device or system.

Die folgenden Ansprüche werden hiermit in die detaillierte Beschreibung aufgenommen, wobei jeder Anspruch als getrenntes Beispiel für sich stehen kann. Ferner ist zu beachten, dass - obwohl ein abhängiger Anspruch sich in den Ansprüchen auf eine bestimmte Kombination mit einem oder mehreren anderen Ansprüchen bezieht - andere Beispiele auch eine Kombination des abhängigen Anspruchs mit dem Gegenstand jedes anderen abhängigen oder unabhängigen Anspruchs umfassen können. Solche Kombinationen werden hiermit explizit vorgeschlagen, sofern nicht im Einzelfall angegeben ist, dass eine bestimmte Kombination nicht beabsichtigt ist. Ferner sollen auch Merkmale eines Anspruchs für jeden anderen unabhängigen Anspruch eingeschlossen sein, selbst wenn dieser Anspruch nicht direkt als abhängig von diesem anderen unabhängigen Anspruch definiert ist.The following claims are hereby incorporated into the Detailed Description, with each claim being able to stand on its own as a separate example. It should also be noted that although a dependent claim in the claims refers to a particular combination with one or more other claims, other examples may also include a combination of the dependent claim with the subject-matter of any other dependent or independent claim. Such combinations are hereby explicitly proposed, unless it is stated in individual cases that a specific combination is not intended. Furthermore, features of a claim are also intended to be included for any other independent claim, even if that claim is not directly defined as dependent on that other independent claim.

BezugszeichenlisteReference List

1010
Steuervorrichtungcontrol device
1212
Schnittstelleinterface
1414
Prozessorprocessor
1616
Speichergerätstorage device
2020
Rechen-Funktionsblockarithmetic function block
3030
Recheneinheitunit of account
100100
Fahrzeugvehicle
210210
Ermitteln der Rechen-Funktionsblöcke des FahrzeugsDetermination of the calculation function blocks of the vehicle
220220
Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügtCheck whether operation of the arithmetic function blocks satisfies a safety requirement
230230
Anpassen des Betriebs eines Rechen-FunktionsblocksCustomize the operation of a math function block
232232
Übertragen der Rechen-Funktionsblöcke in eine virtuelle AusführungsumgebungTransferring the computational function blocks to a virtual execution environment
234234
Austauschen zumindest einer RechenressourceExchanging at least one computing resource
236236
Ausführen der virtuellen AusführungsumgebungRunning the virtual execution environment

ZITATE ENTHALTEN IN DER BESCHREIBUNGQUOTES INCLUDED IN DESCRIPTION

Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.This list of documents cited by the applicant was generated automatically and is included solely for the better information of the reader. The list is not part of the German patent or utility model application. The DPMA assumes no liability for any errors or omissions.

Zitierte PatentliteraturPatent Literature Cited

  • US 20130031604 A1 [0007]US20130031604A1 [0007]

Claims (15)

Vorrichtung (10) für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken (20) in einem Fahrzeug (100), die Vorrichtung umfassend: Ein oder mehrere Schnittstellen (12) zur Kommunikation mit ein oder mehreren Rechenressourcen (30) des Fahrzeugs; Ein oder mehrere Prozessoren (14), ausgebildet zum: Ermitteln der Rechen-Funktionsblöcke des Fahrzeugs, Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, und Anpassen des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt.Device (10) for monitoring a security of computing function blocks (20) in a vehicle (100), the device comprising: One or more interfaces (12) for communicating with one or more computing resources (30) of the vehicle; One or more processors (14) configured to: Determination of the calculation function blocks of the vehicle, Check whether operation of the arithmetic function blocks satisfies a safety requirement, and Adjusting the operation of a math function block if the test of the operation of the math function block fails. Die Vorrichtung gemäß Anspruch 1, wobei die Prüfung negativ ausfällt, falls der Betrieb des Rechenfunktionsblocks der Sicherheitsvorgabe nicht genügt und eine Aktualisierung, zumindest unter Nutzung der vorhandenen Rechenressourcen, ausgeschlossen ist.The device according to claim 1 , the check being negative if the operation of the computing function block does not meet the security target and an update, at least using the available computing resources, is excluded. Die Vorrichtung gemäß einem der Ansprüche 1 oder 2, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren des Rechen-Funktionsblocks umfasst.The device according to one of Claims 1 or 2 , wherein adjusting the operation of the computational functional block comprises removing or permanently disabling the computational functional block. Die Vorrichtung gemäß einem der Ansprüche 1 oder 2, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks umfasst.The device according to one of Claims 1 or 2 , wherein the adjusting the operation of the computational function block comprises blocking a communication of the computational function block. Die Vorrichtung gemäß Anspruch 4, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks mit ein oder mehreren anderen Rechen-Funktionsblöcken des Fahrzeugs umfasst, und/oder wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Blockieren einer Kommunikation des Rechen-Funktionsblocks mit einer entfernten Gegenstelle umfasst.The device according to claim 4 , wherein adjusting operation of the computing function block comprises blocking communication of the computing function block with one or more other computing function blocks of the vehicle, and/or wherein adjusting operation of the computing function block includes blocking communication of the computing function block with a distant remote station. Die Vorrichtung gemäß einem der Ansprüche 1 oder 2, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen einer Kopplung des Rechen-Funktionsblocks mit einer entfernten Gegenstelle umfasst.The device according to one of Claims 1 or 2 wherein adjusting the operation of the computational function block comprises removing a coupling of the computational function block to a remote peer. Die Vorrichtung gemäß Anspruch 6, wobei die Kopplung durch ein Entfernen ein oder mehrerer kryptografischer Zertifikate entfernt wird.The device according to claim 6 , wherein the pairing is removed by removing one or more cryptographic certificates. Die Vorrichtung gemäß einem der Ansprüche 1 bis 7, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks abhängig davon ist, ob ein Betrieb des Rechen-Funktionsblocks notwendig oder optional ist.The device according to one of Claims 1 until 7 wherein the adjusting operation of the computational function block is dependent on whether operation of the computational function block is necessary or optional. Die Vorrichtung gemäß Anspruch 8, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren eines anderen Rechen-Funktionsblocks umfasst, um zusätzliche Rechenressourcen für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben, und ein Aktualisieren des Rechen-Funktionsblocks unter Nutzung der zusätzlichen Rechenressourcen umfasst.The device according to claim 8 , wherein adjusting the operation of the computing functional block comprises removing or permanently disabling another computing functional block to free up additional computing resources for continued operation of the computing functional block, and updating the computing functional block using the additional computing resources. Die Vorrichtung gemäß Anspruch 9, wobei die ein oder mehreren Rechenressourcen des Fahrzeugs zumindest eine rekonfigurierbare Hardware-Komponente umfassen, wobei das Anpassen des Betriebs des Rechen-Funktionsblocks ein Entfernen oder permanentes Deaktivieren des anderen Rechen-Funktionsblocks umfasst, um Rechengatter der rekonfigurierbaren Hardware-Komponente für den weiteren Betrieb des Rechen-Funktionsblocks freizugeben.The device according to claim 9 , wherein the one or more computing resources of the vehicle comprise at least one reconfigurable hardware component, wherein adjusting the operation of the computing function block comprises removing or permanently disabling the other computing function block in order to use computing gates of the reconfigurable hardware component for the continued operation of the release arithmetic function blocks. Die Vorrichtung gemäß einem der Ansprüche 1 bis 10, wobei das Prüfen, ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt, auf zumindest einem von einer Zeitdauer seit einer letzten Aktualisierung der jeweiligen Rechen-Funktionsblöcke, einer Gültigkeit eines kryptographischen Zertifikats der jeweiligen Rechen-Funktionsblöcke, und einem Regelwerk einer entfernten Gegenstelle basiert.The device according to one of Claims 1 until 10 , wherein checking whether operation of the computing function blocks satisfies a security requirement is based on at least one of a period of time since the respective computing function blocks were last updated, a validity of a cryptographic certificate for the respective computing function blocks, and a set of rules from a remote peer . Ein Fahrzeug (100) mit einer Vorrichtung gemäß einem der Ansprüche 1 bis 11 und den ein oder mehreren Rechenressourcen (30).A vehicle (100) with a device according to one of Claims 1 until 11 and the one or more computing resources (30). Ein Verfahren für eine Überwachung einer Sicherheit von Rechen-Funktionsblöcken in einem Fahrzeug, das Verfahren umfassend: Ermitteln (210) der Rechen-Funktionsblöcke des Fahrzeugs; Prüfen (220), ob ein Betrieb der Rechen-Funktionsblöcke einer Sicherheitsvorgabe genügt; Anpassen (230) des Betriebs eines Rechen-Funktionsblocks, falls die Prüfung des Betriebs des Rechen-Funktionsblocks negativ ausfällt.A method for monitoring security of computing function blocks in a vehicle, the method comprising: determining (210) the computing functional blocks of the vehicle; checking (220) whether operation of the computational function blocks satisfies a security target; adjusting (230) the operation of a computational function block if the verification of the operation of the computational function block fails. Das Verfahren gemäß Anspruch 13, wobei das Anpassen des Betriebs ein Übertragen (232) der Rechen-Funktionsblöcke in eine virtuelle Ausführungsumgebung, Austauschen (234) zumindest einer Rechenressource des Fahrzeugs durch eine neue Rechenressource, und Ausführen (236) der virtuellen Ausführungsumgebung mit den Rechen-Funktionsblöcken auf der neuen Rechenressource umfasst.The procedure according to Claim 13 , wherein adapting the operation includes transferring (232) the computing function blocks into a virtual execution environment, exchanging (234) at least one computing resource of the vehicle with a new computing resource, and executing (236) the virtual execution environment with the computing function blocks on the new Computing resource included. Programm mit einem Programmcode zum Durchführen des Verfahrens gemäß Anspruch 13, wenn der Programmcode auf einem Computer, einem Prozessor, einem Kontrollmodul oder einer programmierbaren Hardwarekomponente ausgeführt wird.Program with a program code for performing the method according to Claim 13 , when the program code is executed on a computer, processor, control module or programmable hardware component.
DE102021125749.2A 2021-10-05 2021-10-05 Device, method and computer program for monitoring security of computing function blocks in a vehicle Pending DE102021125749A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102021125749.2A DE102021125749A1 (en) 2021-10-05 2021-10-05 Device, method and computer program for monitoring security of computing function blocks in a vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102021125749.2A DE102021125749A1 (en) 2021-10-05 2021-10-05 Device, method and computer program for monitoring security of computing function blocks in a vehicle

Publications (1)

Publication Number Publication Date
DE102021125749A1 true DE102021125749A1 (en) 2023-04-06

Family

ID=85570992

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021125749.2A Pending DE102021125749A1 (en) 2021-10-05 2021-10-05 Device, method and computer program for monitoring security of computing function blocks in a vehicle

Country Status (1)

Country Link
DE (1) DE102021125749A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130031604A1 (en) 2011-07-25 2013-01-31 Ford Global Technologies, Llc Method and Apparatus for Remote Authentication
US8458462B1 (en) 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications
US20190222484A1 (en) 2011-11-16 2019-07-18 Autoconnect Holdings Llc Vehicle middleware
US10397019B2 (en) 2015-11-16 2019-08-27 Polysync Technologies, Inc. Autonomous vehicle platform and safety architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458462B1 (en) 2008-08-14 2013-06-04 Juniper Networks, Inc. Verifying integrity of network devices for secure multicast communications
US20130031604A1 (en) 2011-07-25 2013-01-31 Ford Global Technologies, Llc Method and Apparatus for Remote Authentication
US20190222484A1 (en) 2011-11-16 2019-07-18 Autoconnect Holdings Llc Vehicle middleware
US10397019B2 (en) 2015-11-16 2019-08-27 Polysync Technologies, Inc. Autonomous vehicle platform and safety architecture

Similar Documents

Publication Publication Date Title
DE112014005412B4 (en) Program update system and program update method
DE102017126113A1 (en) VIRTUAL KEY TO MAINTAIN A VEHICLE
EP1421460B1 (en) Method for providing software to be used by a control unit of a vehicle
DE102012110499A1 (en) Safety access procedure for electronic automotive control units
DE102013108020A1 (en) Authentication scheme for activating a special privilege mode in a secure electronic control unit
DE102013108022A1 (en) Method for activating the development mode of a secure electronic control unit
DE102015209108A1 (en) Method and decision gateway for authorizing a function of an embedded controller
DE102019101788A1 (en) Security authorization programming system for programming security processor chips of vehicle control modules
DE102017100749A1 (en) METHOD AND DEVICE FOR CYCLIC FILING REPLACEMENT OF THE DEACTIVATED VEHICLE
EP2885907B1 (en) Method for installing of security relevant applications in a security element of a terminal
EP3695337B1 (en) Method and confirmation device for confirming the integrity of a system
WO2020048847A1 (en) Management of soft ip licences on a partially reconfigurable hardware system
WO2018059964A1 (en) Method for the secured access of data of a vehicle
DE102020208245A1 (en) Data storage device and data storage program
DE102023110645A1 (en) Safety procedures and safety device
DE102021125749A1 (en) Device, method and computer program for monitoring security of computing function blocks in a vehicle
WO2005022382A2 (en) Method for the installation of a program component
DE102010004786A1 (en) Computer-aided method for providing development environment to implement secure application in motor car, involves invoking secure applications over interfaces, where secure applications are more configurable during implementation
DE102007039602A1 (en) A method of verifying a version of a software product to be executed or installed on a first device
DE102021116892A1 (en) DATA PROCESSING METHODS, EDGE FACILITIES AND DATA PROCESSING SYSTEM
DE102019005545A1 (en) Method for operating a machine data communication network and machine data communication network
DE102010004446A1 (en) Method for providing a secure counter on a terminal
WO2020007660A1 (en) Control unit and operating method for integrity self-monitoring suitable for a device which can be used in particular in an automation environment
DE102019125393A1 (en) Devices, methods and computer programs for a server, an administration system and a vehicle
DE102016201162B4 (en) Transmitting a message to be displayed to a display device of a motor vehicle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication