DE102016202527A1 - Computing unit for a motor vehicle - Google Patents

Computing unit for a motor vehicle Download PDF

Info

Publication number
DE102016202527A1
DE102016202527A1 DE102016202527.9A DE102016202527A DE102016202527A1 DE 102016202527 A1 DE102016202527 A1 DE 102016202527A1 DE 102016202527 A DE102016202527 A DE 102016202527A DE 102016202527 A1 DE102016202527 A1 DE 102016202527A1
Authority
DE
Germany
Prior art keywords
software application
vehicle
motor vehicle
vehicle software
resources
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
DE102016202527.9A
Other languages
German (de)
Inventor
Astrid Rall
Markus Schweizer
Andreas Heyl
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102016202527.9A priority Critical patent/DE102016202527A1/en
Publication of DE102016202527A1 publication Critical patent/DE102016202527A1/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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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 Erfindung betrifft ein Verfahren zum Betreiben einer Recheneinheit (110) für ein Kraftfahrzeug (100), wobei durch die Recheneinheit Schnittstellen (131, 141) zum Zugriff auf Ressourcen (130, 140) des Kraftfahrzeugs (100) für eine fahrzeugfremde Software-Anwendung (210) bereitgestellt werden, im Zuge einer Überprüfungsphase (310) eine Authentifizierung der fahrzeugfremden Software-Anwendung (210) durchgeführt wird (311) und/oder ein Funktionsumfang der fahrzeugfremden Software-Anwendung (210) bestimmt wird (313), in Abhängigkeit von dem Ergebnis der durchgeführten Überprüfungsphase (310) festgelegt wird, ob und in welchem Umfang die fahrzeugfremde Software-Anwendung (210) über die Schnittstellen (131, 141) auf die Ressourcen (130, 140) des Kraftfahrzeugs (100) zugreifen darf (320), und von der fahrzeugfremden Software-Anwendung (210) aufrufbare Sicherheitsfunktionen bereitgestellt werden, um die Ausführung der fahrzeugfremden Software-Anwendung (210) abzusichern (340).The invention relates to a method for operating a computation unit (110) for a motor vehicle (100), wherein the arithmetic unit has interfaces (131, 141) for accessing resources (130, 140) of the motor vehicle (100) for a non-vehicle software application ( 210), an authentication of the non-vehicle software application (210) is carried out (311) and / or a functional scope of the non-vehicle software application (210) is determined (313) in the course of a verification phase (310), depending on the The result of the performed verification phase (310) it is determined whether and to what extent the non-vehicle software application (210) is permitted to access the resources (130, 140) of the motor vehicle (100) via the interfaces (131, 141) (320), and security functions which can be called by the non-vehicle software application (210) in order to secure the execution of the non-vehicle software application (210) (340).

Figure DE102016202527A1_0001
Figure DE102016202527A1_0001

Description

Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben einer Recheneinheit für ein Kraftfahrzeug und eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.The present invention relates to a method for operating a computing unit for a motor vehicle and a computing unit and a computer program for its implementation.

Stand der TechnikState of the art

Software-Anwendungen, sog. "Apps", die auf Handgeräten aus der Klasse der Smart-Devices, wie z.B. Smartphones oder Tablet-PCs, ausgeführt werden, sind bekannt. Derartige Apps können auch im Kraftfahrzeugbereich Anwendung finden. Beispielsweise kann ein Handgerät, z.B. ein Smartphone, auf welchem die App ausgeführt wird, mit einem Steuergerät datenübertragend verbunden sein, wodurch die App mit dem Steuergerät kommunizieren kann. Es ist auch denkbar, derartige Apps direkt in ein Steuergerät des Kraftfahrzeugs zu laden, beispielsweise über das Internet oder eine sog. Cloud, und die App von dem Steuergerät auszuführen. Derartige Software-Anwendungen bzw. Apps für Kraftfahrzeuge sind beispielsweise in der US 2014/0106726 A1 beschrieben.Software applications, so-called "apps", which are executed on hand-held devices from the class of smart devices, such as smartphones or tablet PCs, are known. Such apps can also be used in the automotive sector. For example, a handset, such as a smartphone, on which the app is running, be connected to a data transfer control device, whereby the app can communicate with the controller. It is also conceivable to load such apps directly into a control unit of the motor vehicle, for example via the Internet or a so-called cloud, and to execute the app from the control unit. Such software applications or apps for motor vehicles are for example in the US 2014/0106726 A1 described.

In der US 7 197 637 B2 wird beispielsweise ein Verfahren zur Sicherstellung der Datenintegrität einer Software für ein Steuergerät eines Kraftfahrzeugs beschrieben. Die US 7 748 043 B2 beschreibt beispielsweise ein Verfahren zur Authentifikation eines von einem Software-Bereitsteller bereitgestellten Softwarepaketes, welche eine in ein Endgerät ladbare Softwarekomponente enthält.In the US 7 197 637 B2 For example, a method of ensuring data integrity of software for a control device of a motor vehicle is described. The US 7 748 043 B2 describes, for example, a method for authenticating a software package provided by a software provider which contains a software component that can be loaded into a terminal.

Offenbarung der ErfindungDisclosure of the invention

Erfindungsgemäß werden ein Verfahren zum Betreiben einer Recheneinheit für ein Kraftfahrzeug und eine Recheneinheit und ein Computerprogramm zu dessen Durchführung mit den Merkmalen der unabhängigen Patentansprüche vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.According to the invention, a method for operating a computing unit for a motor vehicle and a computing unit and a computer program for carrying it out with the features of the independent patent claims are proposed. Advantageous embodiments are the subject of the dependent claims and the following description.

Die Erfindung erleichtert, eine fahrzeugfremde Software-Anwendung in das Kraftfahrzeug zu implementieren. Als fahrzeugfremde Software-Anwendung sei in diesem Zusammenhang eine Software-Anwendung zu verstehen, welche nicht im Zuge eines Herstellungsprozesses in das Kraftfahrzeug implementiert wurde. Die fahrzeugfremde Software-Anwendung war somit nicht ursprünglich in dem Kraftfahrzeug vorhanden und konnte von dem Kraftfahrzeug noch nicht ausgeführt werden, als dieses eine entsprechende Produktionsanlage verlassen hat und in Betrieb genommen wurde. Die fahrzeugfremde Software-Anwendung wird in das Kraftfahrzeug eingebracht, wenn sich dieses bereits im Feld befindet.The invention makes it easier to implement a vehicle-external software application in the motor vehicle. A non-vehicle software application in this context is a software application to understand, which was not implemented in the course of a manufacturing process in the motor vehicle. The off-board software application was thus not originally present in the motor vehicle and could not be executed by the motor vehicle, as this has left a corresponding production plant and was put into operation. The off-board software application is introduced into the vehicle if it is already in the field.

Bei der fahrzeugfremden Software-Anwendung kann es sich insbesondere um eine sogenannte "App" handeln. Insbesondere können mittels der fahrzeugfremden Software-Anwendung nachladbare Kraftfahrzeugfunktionen realisiert werden, die in das Kraftfahrzeug eingebracht werden können, wenn sich dieses bereits im Feld befindet. Um derartige nachladbare Kraftfahrzeugfunktionen zu realisieren, kann die fahrzeugfremde Software-Anwendung insbesondere auf Fahrzeugfunktionen Einfluss nehmen oder diese komplett ausführen.The non-vehicle software application may in particular be a so-called "app". In particular, rechargeable motor vehicle functions can be realized by means of the vehicle-external software application, which can be introduced into the motor vehicle if this is already in the field. In order to realize such rechargeable motor vehicle functions, the vehicle software application can in particular influence vehicle functions or execute them completely.

Durch die Erfindung wird insbesondere eine Plattform bereitgestellt, um derartige nachladbare Software-Anwendungen sicher in das Kraftfahrzeug zu implementieren. Die fahrzeugfremde Software-Anwendung wird beispielsweise über das Internet oder ein zweckmäßiges Netzwerk auf eine Recheneinheit (Steuergerät) des Kraftfahrzeugs eingebracht. Die Recheneinheit entscheidet insbesondere, ob und in welchem Umfang die fahrzeugfremde Software-Anwendung ausgeführt werden soll und dient zweckmäßigerweise zur Koordination zwischen Software-Anwendung und Ressourcen bzw. Komponenten des Kraftfahrzeugs. In particular, the invention provides a platform for safely implementing such rechargeable software applications in the motor vehicle. The vehicle external software application is introduced, for example via the Internet or an appropriate network to a computing unit (control unit) of the motor vehicle. The arithmetic unit decides in particular whether and to what extent the vehicle external software application is to be executed and expediently serves for coordination between the software application and resources or components of the motor vehicle.

Es werden Schnittstellen zum Zugriff auf Ressourcen bzw. Komponenten des Kraftfahrzeugs für die fahrzeugfremde Software-Anwendung bereitgestellt. Bei den Schnittstellen handelt es sich um Software-Schnittstellen. Bei den Ressourcen kann es sich bevorzugt um Sensoren, Aktoren, Steuergeräte und/oder Speichereinheiten handeln. Interfaces are provided for accessing resources or components of the motor vehicle for the off-board software application. The interfaces are software interfaces. The resources may preferably be sensors, actuators, control devices and / or storage units.

Von der Recheneinheit wird im Zuge einer Überprüfungsphase bewertet, ob die Software-Anwendung ein Sicherheitsrisiko darstellt oder ohne negative Auswirkungen auf die Sicherheit des Kraftfahrzeugs ausgeführt werden kann. Insbesondere kann die Software-Anwendung dabei nach Gesichtspunkten von vorgegebenen Sicherheitsrichtlinien, beispielsweise der Norm ISO 26262 untersucht werden.The computing unit assesses during a verification phase whether the software application poses a security risk or can be executed without negatively affecting the safety of the motor vehicle. In particular, the software application can according to aspects of given security policies, such as Standard ISO 26262 to be examined.

Im Zuge der Überprüfungsphase kann die Recheneinheit eine Authentifizierung der fahrzeugfremden Software-Anwendung durchführen. Dabei wird zweckmäßigerweise eine Herkunft der Software-Anwendung überprüft und ob diese aus sicheren, vertrauenswürdigen Quellen stammt und nicht von potentiellen Angreifern. Weiterhin kann überprüft werden, ob die Software-Anwendung geeignet und berechtigt ist, auf Fahrzeugfunktionen des Kraftfahrzeugs Einfluss zu nehmen.In the course of the checking phase, the arithmetic unit can perform an authentication of the non-vehicle software application. It is expedient to check the origin of the software application and whether it comes from secure, trustworthy sources and not from potential attackers. Furthermore, it can be checked whether the software application is suitable and authorized to influence vehicle functions of the motor vehicle.

Alternativ oder zusätzlich kann die Recheneinheit im Zuge der Überprüfungsphase einen Funktionsumfang der fahrzeugfremden Software-Anwendung bestimmen. Insbesondere wird dabei überprüft, auf welche Ressourcen bzw. Fahrzeugfunktionen die fahrzeugfremde Software-Anwendung zugreifen möchte und im welchem Rahmen sie auf diese Fahrzeugfunktionen Einfluss nehmen möchte.Alternatively or additionally, the arithmetic unit in the course of the verification phase to determine a range of functions of the vehicle external software application. In particular, it checks for which resources or vehicle functions would like to access the non-vehicle software application and in which framework it would like to influence these vehicle functions.

Weiterhin wird in Abhängigkeit von dem Ergebnis der durchgeführten Überprüfungsphase festgelegt, ob und in welchem Umfang die fahrzeugfremde Software-Anwendung über die Schnittstellen auf die Ressourcen des Kraftfahrzeugs zugreifen darf. Insbesondere legt die Recheneinheit dabei fest, in welchem Umfang die Software-Anwendung Komponenten des Kraftfahrzeugs, vorzugsweise Aktoren, ansteuern darf und wie weit sie somit in das Fahrverhalten des Kraftfahrzeugs eingreifen darf. Auch diese Festlegung kann gemäß vorgegebenen Sicherheitsrichtlinien wie der ISO 26262 erfolgen, so dass die Software-Anwendung nur derart auf Ressourcen Einfluss nehmen kann, wie es von den Sicherheitsrichtlinien gefordert wird.Furthermore, it is determined whether and to what extent the non-vehicle software application is allowed to access the resources of the motor vehicle via the interfaces, depending on the result of the checking phase carried out. In particular, the arithmetic unit determines to what extent the software application is allowed to control components of the motor vehicle, preferably actuators, and how far it may thus intervene in the driving behavior of the motor vehicle. Again, this definition may be in accordance with given security policies such as ISO 26262 so that the software application can only influence resources as required by the security policies.

Wenn die Software-Anwendung nicht authentifiziert wird, beispielsweise wenn sie aus unsicheren Quellen stammt oder ihre Herkunft nicht mit Sicherheit nachvollzogen werden kann, schränkt die Recheneinheit ihren Umfang insbesondere ein oder hindert sie zweckmäßigerweise an der Ausführung. In diesem Fall werden der Software-Anwendung insbesondere keine Schnittstellen bzw. Ressourcen zugewiesen und sie darf keinen Aktor des Kraftfahrzeugs ansteuern.If the software application is not authenticated, for example, if it comes from insecure sources or its source can not be traced with certainty, the arithmetic unit restricts its scope in particular or expediently hinders its execution. In this case, the software application in particular no interfaces or resources assigned and they must not control an actuator of the motor vehicle.

Bei erfolgreicher Authentifizierung darf die Software-Anwendung in dem festgelegten Umfang ausgeführt werden. Es werden von der fahrzeugfremden Software-Anwendung aufrufbare Sicherheitsfunktionen bereitgestellt, um die Ausführung der fahrzeugfremden Software-Anwendung abzusichern. Wenn die Software-Anwendung ausgeführt wird, kann diese somit insbesondere anfordern, dass ihr Betrieb und ihre ausgeführten Funktionalitäten von der Recheneinheit überwacht und kontrolliert werden. Die Recheneinheit kann mittels der Sicherheitsfunktionen insbesondere sicherstellen, dass die Software-Anwendung nach vorgegebenen Sicherheitsrichtlinien wie der ISO 26262 ausgeführt wird. Insbesondere wenn durch die Software-Anwendung sicherheitsrelevante und/oder echtzeitkritische Aktionen durchgeführt werden, kann durch die Recheneinheit eine Absicherung gemäß dem sog. Automotive Safety Integrity Level (ASIL) ermöglicht werden, eine von der ISO 26262 spezifizierte Sicherheitsanforderungsstufe für sicherheitsrelevante Systeme in Kraftfahrzeugen.If authentication is successful, the software application may run to the specified extent. Callable security functions are provided by the non-vehicle software application in order to ensure the execution of the non-vehicle software application. In particular, when the software application is executed, it may request that its operation and its executed functionalities be monitored and controlled by the computing unit. In particular, the arithmetic unit can ensure, by means of the security functions, that the software application complies with prescribed security guidelines such as ISO 26262 is performed. In particular, if security-relevant and / or real-time-critical actions are performed by the software application, the arithmetic unit can provide protection according to the so-called Automotive Safety Integrity Level (ASIL), one of the ISO 26262 specified safety requirement level for safety-relevant systems in motor vehicles.

Somit ist es nicht notwendig, in die Software-Anwendung selbst spezielle Funktionen zu implementieren bzw. zu programmieren, welche den Betrieb der Software-Anwendung kontrollieren oder absichern. Dadurch, dass derartige Sicherheitsfunktionen bereits in die Recheneinheit implementiert sind, kann die Software-Anwendung diese während ihrer Ausführung auf einfache Weise aufrufen.Thus, it is not necessary to implement or program special functions into the software application itself, which control or safeguard the operation of the software application. The fact that such security functions are already implemented in the arithmetic unit, the software application can call them during their execution in a simple manner.

Die Software-Anwendung kann somit einfach programmiert werden und ihr Quellcode kann einfach und übersichtlich gehalten werden. Weiterhin kann ein effizienter und sicherer Ablauf der Software-Anwendung gewährleistet werden und es kann durch die Sicherheitsfunktionen der Recheneinheit beispielsweise überprüft und sichergestellt werden, dass die Software-Anwendung die Ressourcen des Kraftfahrzeuges möglichst effizient verwendet. Da die Sicherheitsfunktionen zentral insbesondere vom Hersteller bereitgestellt werden, können sie einfach zertifiziert werden, so dass sicherheitskritische externe Software-Anwendungen nicht mehr aufwändig zertifiziert werden müssen. The software application can thus be easily programmed and its source code can be kept simple and clear. Furthermore, an efficient and safe operation of the software application can be ensured and it can be checked and ensured by the security functions of the computing unit, for example, that the software application uses the resources of the motor vehicle as efficiently as possible. Since the security functions are provided centrally, especially by the manufacturer, they can easily be certified, so that safety-critical external software applications no longer have to be laboriously certified.

Die Recheneinheit wird durch das entsprechende auf ihr ablaufende Computerprogramm dazu veranlasst, die oben beschriebenen Funktionen auszuführen. Die Recheneinheit ist vorzugsweise als ein Steuergerät des Kraftfahrzeugs ausgebildet, beispielsweise als ein Motorsteuergerät. Die Recheneinheit kann auch zusätzlich zu übrigen Steuergeräten in das Kraftfahrzeug eingebracht wird. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere magnetische, optische und elektrische Speicher, wie z.B. Festplatten, Flash-Speicher, EEPROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.The arithmetic unit is caused by the corresponding running on her computer program to perform the functions described above. The arithmetic unit is preferably designed as a control unit of the motor vehicle, for example as an engine control unit. The arithmetic unit can also be introduced into the motor vehicle in addition to other control devices. Suitable data carriers for providing the computer program are in particular magnetic, optical and electrical memories, such as e.g. Hard drives, flash memory, EEPROMs, DVDs, etc. It is also possible to download a program via computer networks (Internet, intranet, etc.).

Durch die Erfindung kann insbesondere eine Plattform angeboten werden, welche es Entwicklern ermöglicht, Software-Anwendungen für Kraftfahrzeuge nach etablierten Standards bzw. nach standardisierten einheitlichen Sicherheitsrichtlinien zu entwickeln. Entwickler können diese Plattform nutzen und ihre Software-Anwendung derart programmieren, dass diese die speziellen Funktionen der Recheneinheit bzw. des auf ihr ablaufenden Computerprogramms verwenden kann. Weiterhin wird durch die Plattform insbesondere ermöglicht, dass nachladbare Software-Anwendung sicher ausgeführt und dabei die funktionale Sicherheit des Kraftfahrzeugs gewährleistet werden kann. Insbesondere kann erreicht werden, dass sowohl im Zuge der Entwicklung als auch bei der Ausführung von fahrzeugfremder Anwendungs-Software Sicherheitsanforderungen bzw. sicherheitskritische Anforderungen gemäß z.B. der ISO-Norm 26262 erfüllt bzw. eingehalten werden.In particular, a platform can be offered by the invention, which enables developers to develop software applications for motor vehicles according to established standards or standardized standardized security guidelines. Developers can use this platform and program their software application so that it can use the special functions of the processing unit or of the computer program running on it. Furthermore, the platform makes it possible, in particular, for the rechargeable software application to be carried out safely, while ensuring the functional safety of the motor vehicle. In particular, it can be achieved that both in the course of development and during the execution of vehicle-external application software safety requirements or safety-critical requirements according to eg ISO standard 26262 fulfilled or respected.

Entwicklern werden somit für die Entwicklung neuer Software-Anwendungen für Kraftfahrzeuge sämtliche Freiheiten geboten. Insbesondere ist es nicht nötig, in die Software-Anwendung spezielle Funktionen zu programmieren, um selbige in das Kraftfahrzeug zu implementieren, und diese dann noch ggf. aufwändig zertifizieren zu lassen. Für die Implementierung und Absicherung kann die Software-Anwendung auf die in der Recheneinheit bereitgestellten (und zweckmäßigerweise bereits zertifizierten) Funktionen zurückgreifen, welche im Zuge der Plattform für unterschiedliche Software-Anwendung einheitlich angeboten werden. Anwendern bzw. Fahrern von Fahrzeugen kann insbesondere mitgeteilt werden, dass nachgeladene Software-Anwendungen kein Sicherheitsrisiko darstellen und gefahrlos ausgeführt werden können. Insgesamt kann somit eine breitere Akzeptanz von nachladbaren Software-Anwendung erreicht werden, und deren Absatz erhöht werden.Developers will be offered the freedom to develop new software applications for automobiles. In particular, it is not necessary to program special functions into the software application in order to implement the same in the motor vehicle, and then to have them possibly costly to be certified. For the Implementation and validation, the software application can rely on the provided in the arithmetic unit (and appropriately already certified) functions that are offered uniformly in the course of the platform for different software application. In particular, users or drivers of vehicles can be informed that recharged software applications pose no security risk and can be executed safely. Overall, thus, a wider acceptance of rechargeable software application can be achieved, and their sales are increased.

Insbesondere kann eine Absicherung von Ressourcen des Kraftahrzeugs gemäß der ISO 26262 gewährleistet werden, beispielsweise von Bibliotheken (z.B. für sicherheitsrelevante Operationen oder für Prüfungen von Botschaften, etwa mittels Checksummen), Speicherbereichen (z.B. RAM, ROM), Programmabläufen, Diagnosen, Analog-Digital-Wandlern, Fehlerreaktionen, usw.In particular, a security of resources of the motor vehicle according to the ISO 26262 such as libraries (eg for security-relevant operations or for checking messages, for example by means of checksums), memory areas (eg RAM, ROM), program sequences, diagnostics, analog-to-digital converters, error responses, etc.

Die fahrzeugfremde Software-Anwendung kann zweckmäßigerweise von der Recheneinheit selbst ausgeführt werden. Beispielsweise kann die Software-Anwendung auch von einem Steuergerät oder einem Bordcomputer des Kraftfahrzeugs ausgeführt werden. Die fahrzeugfremde Software-Anwendung kann beispielsweise über das Internet oder z.B. auch über eine sogenannte "Cloud" in das Steuergerät bzw. den Bordcomputer geladen werden. Bei einer Cloud bzw. dem soggenannten Cloud-Computing handelt es sich um ein entferntes, verteiltes Recheneinheitssystem, das über ein Netzwerk (z.B. über Mobilfunknetze (z.B. 3G, 4G usw.), WLAN oder Bluetooth usw.) mit dem Kraftfahrzeug in Kommunikationsverbindung steht. Besonders bevorzugt wird die fahrzeugfremde Software-Anwendung von der als Steuergerät des Kraftfahrzeugs ausgebildeten Recheneinheit ausgeführt.The vehicle external software application can be conveniently carried out by the arithmetic unit itself. For example, the software application can also be executed by a control unit or an on-board computer of the motor vehicle. The off-board software application may, for example, be transmitted over the Internet or e.g. be loaded via a so-called "cloud" in the control unit or the on-board computer. A cloud, or so-called cloud computing, is a remote, distributed computing unit system in communication with the motor vehicle over a network (e.g., over cellular networks (e.g., 3G, 4G, etc.), WLAN, or Bluetooth, etc.). Particularly preferably, the non-vehicle software application is executed by the computing unit designed as a control unit of the motor vehicle.

Alternativ oder zusätzlich kann die fahrzeugfremde Software-Anwendung vorzugsweise auch von einer fahrzeugfremden bzw. fahrzeugexternen Recheneinheit ausgeführt werden. Vorteilhafterweise ist die fahrzeugfremde Recheneinheit als ein Handgerät aus der Klasse der Smart Devices ausgebildet, bevorzugt als ein Smartphone oder als ein Tablet-PC. Das Handgerät ist insbesondere ein mobiles Handgerät, welches sich im Besitz des Fahrers befindet und von diesem auch außerhalb des Kraftfahrzeugs mitgeführt wird. Die fahrzeugfremde Recheneinheit kann vorzugsweise drahtgebunden (z.B. USB usw.) oder drahtlos (z.B. WLAN, Bluetooth; GSM, 3G, 4G usw.) oder auch über das Internet mit dem Kraftfahrzeug bzw. mit Steuergeräten des Kraftfahrzeugs in datenübertragender Verbindung stehen. Beispielsweise kann die fahrzeugfremde Recheneinheit auch als ein PC, als ein Server, beispielsweise in einem Rechenzentrum, oder als Cloud ausgebildet sein. Alternatively or additionally, the vehicle-external software application can preferably also be executed by a vehicle-external or vehicle-external computing unit. Advantageously, the vehicle-external computing unit is designed as a hand-held device from the class of smart devices, preferably as a smartphone or as a tablet PC. The handset is in particular a mobile handset, which is in the possession of the driver and is also carried by this outside the vehicle. The off-board computing unit may preferably be in wired communication (e.g., USB, etc.) or wireless (e.g., WLAN, Bluetooth, GSM, 3G, 4G, etc.) or over the Internet to the motor vehicle or control devices of the motor vehicle in data transmitting communication. For example, the vehicle-external computing unit can also be designed as a PC, as a server, for example in a data center, or as a cloud.

Vorteilhafterweise wird mittels der Sicherheitsfunktionen eine Ansteuerung durch die fahrzeugfremde Software-Anwendung von Ressourcen des Kraftfahrzeugs, insbesondere von Aktoren, über die Schnittstelle überprüft. Besonders bevorzugt können zu diesem Zweck von der Software-Anwendung bestimmte Soll-Werte, gemäß welchen die Ressourcen bzw. Aktoren über die Schnittstellen angesteuert werden sollen, von der Recheneinheit auf Plausibilität überprüft bzw. nachgerechnet werden. Somit kann überprüft werden, ob die Software-Anwendung auch korrekt funktioniert und die Aktoren sinnvoll ansteuert. Die fahrzeugfremde Software-Anwendung muss sich somit nicht selbst überprüfen, sondern kann auf die Sicherheitsfunktionen, welche über die Plattform angeboten werden, zurückgreifen.Advantageously, by means of the safety functions, an activation by the vehicle software application of resources of the motor vehicle, in particular of actuators, is checked via the interface. For this purpose, particular setpoint values, according to which the resources or actuators are to be controlled via the interfaces, can be checked or recalculated for plausibility by the arithmetic unit for this purpose. Thus, it can be checked whether the software application also works correctly and controls the actuators sensibly. The non-vehicle software application does not need to check itself, but can rely on the security features offered by the platform.

Vorzugsweise kann die Recheneinheit mittels der Sicherheitsfunktionen abschätzen, ob eine Rechenkapazität für die Ausführung der fahrzeugfremden Software-Anwendung bzw. zum Erreichen der entsprechenden Funktionalität ausreichend ist. Wenn nicht, können zweckmäßigerweise weitere Ressourcen für die Software-Anwendung reserviert werden.By means of the security functions, the arithmetic unit can preferably estimate whether a computing capacity is sufficient for executing the software application external to the vehicle or for achieving the corresponding functionality. If not, further resources may be conveniently reserved for the software application.

Alternativ oder zusätzlich können mittels der Sicherheitsfunktionen vorzugsweise Eingangssignale bzw. die Integrität der Eingangssignale überwacht werden. Die Eingangssignale werden zweckmäßigerweise von Sensoren an die Software-Anwendung übermittelt und können auf Plausibilität/Aktualität überprüft werden.Alternatively or additionally, by means of the safety functions preferably input signals or the integrity of the input signals can be monitored. The input signals are expediently transmitted from sensors to the software application and can be checked for plausibility / timeliness.

Alternativ oder zusätzlich können mittels der Sicherheitsfunktionen bevorzugt fahrzeugexterne Daten bzw. deren Verfügbarkeit überwacht werden. Bei derartigen fahrzeugexternen Daten handelt es sich insbesondere um Daten, welche von einer fahrzeugfremden Recheneinheit, wie einem Server oder einer Cloud, an das Kraftfahrzeug übermittelt werden und für die Ausführung der Software-Anwendung benötigt werden. Diese fahrzeugexternen Daten können zweckmäßigerweise ebenfalls auf Plausibilität/Aktualität überprüft werden. Insbesondere wird somit eine Echtzeit-Verfügbarkeit von Cloud-Daten überprüft und eine Echtzeit-Steuerung von Aktoren über die Cloud kann gewährleistet werden.Alternatively or additionally, vehicle-external data or its availability can preferably be monitored by means of the safety functions. In particular, such external vehicle data is data that is transmitted to the motor vehicle by a computing unit, such as a server or a cloud, that is external to the vehicle and that is required for the execution of the software application. This off-board data can also conveniently be checked for plausibility / timeliness. In particular, a real-time availability of cloud data is thus checked and real-time control of actuators via the cloud can be ensured.

Bevorzugt wird mittels der Sicherheitsfunktionen alternativ oder zusätzlich ein Kommunikationskanal (z.B. WLAN, Bluetooth; GSM, 3G, 4G usw.) zu einer fahrzeugexternen Recheneinheit, wie einem Server oder einer Cloud, bzw. dessen Verfügbarkeit überprüft. Wenn die Software-Anwendung während ihrer Ausführung mit einer derartigen fahrzeugexternen Recheneinheit kommuniziert, kann sichergestellt werden, dass auch die entsprechende Kommunikationsverbindung korrekt funktioniert.By means of the security functions, alternatively or additionally, a communication channel (eg WLAN, Bluetooth, GSM, 3G, 4G, etc.) is preferably checked for an off-board computing unit, such as a server or a cloud, or its availability. If the software application communicates with such a vehicle-external computing unit during its execution, it can ensure that the corresponding communication connection works correctly.

Vorteilhafterweise wird eine Priorisierung von Zugriffen auf die Ressourcen über die Schnittstellen durchgeführt. Beispielsweise kann der Fall auftreten, dass sowohl die Software-Anwendung als auch andere Komponenten des Kraftfahrzeugs, insbesondere Steuergeräte, parallel auf dieselbe Ressource zugreifen wollen. Es ist auch denkbar, dass mehrere unterschiedliche Software-Anwendungen parallel auf dieselbe Ressource zugreifen wollen. Die Recheneinheit kann derartige Kollisionen verhindern. Beispielsweise kann die Recheneinheit die unterschiedlichen Zugriffe auf die Ressource bewerten und eine Reihenfolge erstellen, gemäß welcher diese Zugriffe durchgeführt werden sollen.Advantageously, a prioritization of accesses to the resources is performed via the interfaces. For example, the case may arise that both the software application and other components of the motor vehicle, in particular control devices, want to access the same resource in parallel. It is also conceivable that several different software applications want to access the same resource in parallel. The arithmetic unit can prevent such collisions. For example, the arithmetic unit can evaluate the different accesses to the resource and create an order according to which these accesses are to be performed.

Gemäß einer bevorzugten Ausgestaltung werden zur Authentifizierung der fahrzeugfremden Software-Anwendung im Zuge der Überprüfungsphase eine Identifikationsnummer (ID), ein Schlüssel und/oder ein Sicherheitszertifikat überprüft. Zweckmäßigerweise kann somit auf einfache und sichere Weise erkannt werden, ob die Software-Anwendung aus sicherer Quelle stammt oder einen potentiellen Angreifer darstellt.According to a preferred embodiment, an identification number (ID), a key and / or a security certificate are checked in the course of the checking phase for authentication of the software application external to the vehicle. Appropriately, it can thus be recognized in a simple and secure manner, whether the software application comes from a secure source or represents a potential attacker.

Vorzugsweise wird zur Authentifizierung der fahrzeugfremden Software-Anwendung im Zuge der Überprüfungsphase überprüft, ob die fahrzeugfremde Software-Anwendung nach vorgegebenen Sicherheitsrichtlinien entwickelt wurde, insbesondere nach der Norm ISO 26262 . Beispielsweise kann zu diesem Zweck eine spezielle Information im Quellcode der Software-Anwendung hinterlegt werden. In the course of the checking phase, it is preferably checked to authenticate the non-vehicle software application as to whether the non-vehicle software application was developed according to given security guidelines, in particular according to the Standard ISO 26262 , For example, special information can be stored in the source code of the software application for this purpose.

Bevorzugt wird im Zuge der Überprüfungsphase zur Bestimmung des Funktionsumfangs der fahrzeugfremden Software-Anwendung bestimmt, auf welche Ressourcen des Kraftfahrzeugs die fahrzeugfremde Software-Anwendung zugreifen möchte, beispielsweise ob die Software-Anwendung auf Lenkung, Bremsen Beschleunigung, etc. Einfluss nehmen will. In the course of the checking phase for determining the functional scope of the software application external to the vehicle, it is preferably determined which resources of the motor vehicle the vehicle external software application would like to access, for example if the software application wants to influence steering, braking, acceleration, etc.

Bevorzugt wird durch die fahrzeugfremde Software-Anwendung eine Fahrassistenzfunktion ausgeführt. Eine derartige Fahrerassistenzfunktion dient insbesondere zur Unterstützung des Fahrers und kann diesen beispielsweise vor Gefahrensituationen warnen oder eine Gefahrensituation auch entschärfen bzw. dieser entgegenwirken. Fahrerassistenzfunktionen können insbesondere über Sensoren die Umgebung wahrnehmen und basierend auf entsprechenden Sensordaten Aktoren ansteuern. Beispiele für derartige Fahrerassistenzfunktionen sind Abstandsregeltempomat (Adaptive Cruise Control, ACC), Kurvenassistent, Einparkassistent, Spurhalteassistent, autonome Längsführung, Aufmerksamkeits-Assistent bzw. Müdigkeitserkennung, Elektronische Stabilitätsprogramm (ESP), Motor-Schleppmoment-Regelung (MSR), Antriebsschlupfregelung (ASR), Antiblockiersystem (ABS) sowie Funktionen im Zuge automatisierten Fahrens.Preferably, a driver assistance function is performed by the vehicle external software application. Such a driver assistance function serves, in particular, to assist the driver and can warn him, for example, of dangerous situations or to defuse or counteract a dangerous situation. Driver assistance functions can perceive the environment, in particular via sensors, and actuate actuators based on corresponding sensor data. Examples of such driver assistance functions are adaptive cruise control (ACC), curve assistant, parking assistant, lane departure warning, autonomous longitudinal guidance, attention and fatigue detection, electronic stability program (ESP), engine drag torque control (MSR), traction control (ASR), Anti-lock braking system (ABS) as well as functions in the course of automated driving.

Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.Further advantages and embodiments of the invention will become apparent from the description and the accompanying drawings.

Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung beschrieben.The invention is illustrated schematically by means of embodiments in the drawing and will be described below with reference to the drawing.

Kurze Beschreibung der ZeichnungenBrief description of the drawings

1 zeigt schematisch ein Kraftfahrzeug mit einer bevorzugten Ausgestaltung einer erfindungsgemäßen Recheneinheit. 1 schematically shows a motor vehicle with a preferred embodiment of a computing unit according to the invention.

2 zeigt schematisch Funktionen, die von einer bevorzugten Ausgestaltung einer erfindungsgemäßen Recheneinheit ausgeführt werden, als ein Blockdiagramm. 2 schematically shows functions that are performed by a preferred embodiment of a computing unit according to the invention, as a block diagram.

Ausführungsform(en) der ErfindungEmbodiment (s) of the invention

In 1 ist ein Kraftfahrzeug 100 mit einer bevorzugten Ausgestaltung einer erfindungsgemäßen Recheneinheit 110 dargestellt. Identische Bezugszeichen in den 1a und 1b bezeichnen gleiche oder baugleiche Elemente.In 1 is a motor vehicle 100 with a preferred embodiment of a computing unit according to the invention 110 shown. Identical reference numerals in the 1a and 1b designate identical or structurally identical elements.

Die Recheneinheit ist als Steuergerät 110 des Kraftfahrzeugs 100 ausgebildet, beispielsweise als Motorsteuergerät. Das Steuergerät 110 ist über einen Kommunikationskanal 120, insbesondere einen Bus, wie z.B. einen CAN-Bus, mit einem Sensor 130 und einem Aktor 140 verbunden. Das Steuergerät 110 weist zu diesem Zweck eine erste Schnittstelle 131 auf, über welche der Sensor 130 angeschlossen ist und entsprechende Sensorwerte eingelesen werden können, und eine zweite Schnittstelle 141, über welche der Aktor 140 angeschlossen ist und angesteuert werden kann.The arithmetic unit is as a control unit 110 of the motor vehicle 100 designed, for example, as an engine control unit. The control unit 110 is via a communication channel 120 , In particular a bus, such as a CAN bus, with a sensor 130 and an actor 140 connected. The control unit 110 has a first interface for this purpose 131 on, over which the sensor 130 is connected and corresponding sensor values can be read, and a second interface 141 over which the actor 140 is connected and can be controlled.

Der Sensor 130 kann beispielsweise ein Abstandssensor sein, welcher einen Abstand des Kraftfahrzeugs 100 zu einem vorausfahrenden Fahrzeug misst. Beispielsweise kann der Aktor 140 zur Geschwindigkeitsregelung des Kraftfahrzeugs 100 verwendet werden.The sensor 130 For example, may be a distance sensor, which is a distance of the motor vehicle 100 to a preceding vehicle. For example, the actuator 140 for speed control of the motor vehicle 100 be used.

Mittels einer fahrzeugfremden Software-Anwendung 210, einer sogenannten "App", wird nachträglich ein Fahrassistenzsystem in das Kraftfahrzeug 100 nachgeladen, wenn sich dieses bereits im Feld befindet. Beispielsweise kann ein Abstandsregeltempomat (Adaptive Cruise Control, ACC) als derartiges nachgeladenes Fahrassistenzsystem von der App 210 ausgeführt werden.By means of a vehicle-external software application 210 , a so-called "App", is subsequently a driver assistance system in the motor vehicle 100 reloaded if this is already in the field. For example, Adaptive Cruise Control (ACC) may be used as Such reloaded driver assistance system of the App 210 be executed.

In 1a ist ein erstes Beispiel dargestellt, wie eine derartige App 210 in das Kraftfahrzeug 100 nachgeladen werden kann. In dem Kraftfahrzeug 100 befindet sich in diesem Beispiel eine fahrzeugfremde Recheneinheit 200 in Form eines Smartphones 220. Beispielsweise wird das Smartphone 220 von einem Fahrer des Kraftfahrzeugs mitgeführt.In 1a is a first example shown how such an app 210 in the motor vehicle 100 can be recharged. In the motor vehicle 100 In this example, there is an off-board computing unit 200 in the form of a smartphone 220 , For example, the smartphone 220 carried by a driver of the motor vehicle.

Die App 210 ist in dem Smartphone 220 gespeichert und wird von diesem ausgeführt. Das Smartphone 220 steht mit dem Steuergerät 110 in datenübertragender Verbindung 230, beispielsweise mittels WLAN oder Bluetooth.The app 210 is in the smartphone 220 stored and is executed by this. The smartphone 220 stands with the control unit 110 in data-transmitting connection 230 , for example via WLAN or Bluetooth.

Ein zweites Beispiel, um eine App 210 in das Kraftfahrzeug 100 nachzuladen, ist in 1b dargestellt. Das Steuergerät 110 steht in diesem Beispiel über ein Mobilfunknetz 250 mit einer fahrzeugfremden Recheneinheit 200 in Form eines entfernten, verteilten Recheneinheitssystems 240 im Sinne des Cloud-Computing in Verbindung. Die App 210 ist in dem Recheneinheitssystem 240 hinterlegt und kann über die sog. Cloud über das Mobilfunknetz 250 in das Steuergerät 110 übermittelt werden. Die App 210 ist daraufhin in dem Steuergerät 110 gespeichert und kann von diesem ausgeführt werden.A second example to an app 210 in the motor vehicle 100 to reload is in 1b shown. The control unit 110 in this example is a mobile network 250 with a non-vehicle computing unit 200 in the form of a remote distributed computing unit system 240 in the sense of cloud computing in connection. The app 210 is in the arithmetic unit system 240 deposited and can via the so-called cloud via the mobile network 250 in the control unit 110 be transmitted. The app 210 is then in the controller 110 stored and can be executed by this.

Nachdem die App 210 in das Kraftfahrzeug 100 eingebracht wurde, entweder über das Smartphone 220 im Fall von 1a bzw. in das Steuergerät 110 im Beispiel von 1b, wird sie von dem Steuergerät 110 überprüft und das Steuergerät 110 Recheneinheit entscheidet, ob und in welchem Umfang die App 210 ausgeführt werden soll. After the app 210 in the motor vehicle 100 was introduced, either via the smartphone 220 in case of 1a or in the control unit 110 in the example of 1b , it is from the controller 110 checked and the controller 110 Arithmetic unit decides whether and to what extent the app 210 to be executed.

Die einzelnen Funktionen, welche von dem Steuergerät 110 zu diesem Zweck ausgeführt werden, sind in 2 schematisch als ein Blockdiagramm dargestellt.The individual functions, that of the control unit 110 to be executed for this purpose are in 2 schematically illustrated as a block diagram.

Im Zuge einer Überprüfungsphase 310 überprüft das Steuergerät 110 zunächst Herkunft und Funktionsumfang der App 210. In einem Schritt 311 führt das Steuergerät 110 eine Authentifizierung der App 210 durch. Zu diesem Zweck werden eine Identifikationsnummer, ein Schlüssel und ein Sicherheitszertifikat überprüft.In the course of a review phase 310 checks the control unit 110 first of origin and functionality of the app 210 , In one step 311 leads the controller 110 an authentication of the app 210 by. For this purpose, an identification number, a key and a security certificate are checked.

Der Entwickler hat im Zuge diese Identifikationsnummer, den Schlüssel und das Sicherheitszertifikat nach vorgegebenen Sicherheitsrichtlinien und vorgegebenen Standards in die App 210 implementiert. Somit kann verifiziert werden, dass die App 210 von einem vertrauenswürdigen, sicheren Entwickler stammt, und nicht von einem potentiellen Angreifer. The developer has in the course of this identification number, the key and the security certificate according to predetermined security guidelines and predetermined standards in the app 210 implemented. Thus, it can be verified that the app 210 from a trusted, secure developer, not from a potential attacker.

Wenn Identifikationsnummer, Schlüssel und Sicherheitszertifikat erfolgreich überprüft werden konnten, wird von dem Steuergerät 110 weiterhin überprüft, ob die App 210 nach vorgegebenen Sicherheitsrichtlinien entwickelt wurde, insbesondere nach Richtlinien gemäß der Norm ISO 26262 . Dies kann von dem Entwickler an einer speziellen dafür vorgesehenen Stell im Quellcode der App 210 hinterlegt werden.If identification number, key, and security certificate could be successfully verified, the controller will 110 continues to check if the app 210 was developed according to given security guidelines, in particular according to the guidelines according to the Standard ISO 26262 , This may be done by the developer at a dedicated location in the source code of the app 210 be deposited.

Wenn dies auch erfolgreich überprüft wurde, ist die App 210 authentifiziert. Wenn wenigstens eine dieser Überprüfungen nicht erfolgreich durchgeführt wurde, kann dies darauf hindeuten, dass es sich bei der App 210 um eine schädliche Software handelt. In diesem Fall hindert das Steuergerät 110 die App 210 gemäß Schritt 312 an der Ausführung.If this has been successfully verified, the app is 210 authenticated. If at least one of these reviews is unsuccessful, it may indicate that the app is being reviewed 210 is a malicious software. In this case, the controller prevents 110 the app 210 according to step 312 on the execution.

Bei erfolgreicher Authentifizierung wird gemäß Schritt 313 von dem Steuergerät 110 ein Funktionsumfang der App 210 bestimmt. Zu diesem Zweck wird bestimmt, auf welche Komponenten des Kraftfahrzeugs 100 die App 210 zugreifen möchte. In diesem Beispiel möchte die App 210 zur Realisierung eines Abstandsregeltempomats auf den Abstandssensor 130 und auf den Aktor 140 zur Geschwindigkeitsregelung zugreifen. Die App 210 kann ihren entsprechenden Funktionsumfang beispielsweise dem Steuergerät 110 bekanntgeben oder das Steuergerät 110 kann diesen beispielsweise auch durch Untersuchen des Quellcodes der App 210 selbst in Erfahrung bringen.If the authentication is successful, the step 313 from the controller 110 a range of functions of the app 210 certainly. For this purpose, it is determined on which components of the motor vehicle 100 the app 210 want to access. In this example, the app wants 210 for realizing a pitch control on the distance sensor 130 and on the actor 140 to access the speed control. The app 210 can its corresponding functional scope, for example, the control unit 110 announce or the controller 110 This can also be done, for example, by examining the source code of the app 210 get yourself in touch.

Wenn die App 210 in Schritt 311 erfolgreich authentifiziert wurde und der Funktionsumfang der App 210 in Schritt 313 bestimmt wurde, wird von dem Steuergerät 110 in Schritt 320 in Abhängigkeit von dem Ergebnis der durchgeführten Überprüfungsphase 310 festgelegt, in welchem Umfang die App 210 auf Ressourcen des Kraftfahrzeugs 100 zugreifen darf und Komponenten des Kraftfahrzeugs 100 ansteuern darf.If the app 210 in step 311 was successfully authenticated and the functionality of the app 210 in step 313 has been determined by the controller 110 in step 320 depending on the result of the verification phase 310 set to what extent the app 210 on resources of the motor vehicle 100 allowed to access and components of the motor vehicle 100 may drive.

Beispielsweise kann festgelegt werden, dass die App 210 auf den Aktor 140 und den Sensor 130 als Ressourcen zugreifen darf. Das Steuergerät 110 legt zu diesem Zweck fest, dass die App 210 auf die Schnittstellen 131 und 141 zugreifen darf. Die App 131 kann somit Sensorwerte des Sensors 130 über die Schnittstelle 131 einlesen und den Aktor 140 über die Schnittstelle 141 zur Geschwindigkeitsregelung ansteuern. Beispielsweise kann somit festgelegt werden, dass die App 210 in vollem Umfang ausgeführt werden darf.For example, it can be specified that the app 210 on the actor 140 and the sensor 130 as resources may access. The control unit 110 To this end, states that the app 210 on the interfaces 131 and 141 may access. The app 131 can thus sensor values of the sensor 130 over the interface 131 read in and the actor 140 over the interface 141 to control the speed control. For example, it can thus be specified that the app 210 may be carried out in full.

Wenn die App 210 wie im Beispiel von 1b von dem Steuergerät 110 selbst ausgeführt wird, können beispielsweise auch eine Rechenkapazität und Speichereinheiten des Steuergeräts 110 der App 210 als entsprechende Ressourcen zugewiesen werden. Auch wenn die App 210 gemäß dem Beispiel von 1a auf dem Smartphone 220 ausgeführt wird, können Rechenkapazität und Speichereinheiten des Steuergeräts 110 für die App 210 bereitgestellt werden, so dass Berechnungen und Rechenoperationen von dem Smartphone 220 in das Steuergerät 110 ausgelagert werden können.If the app 210 as in the example of 1b from the controller 110 itself is executed, for example, a computing capacity and storage units of the controller 110 the app 210 be assigned as appropriate resources. Even if the app 210 according to the example of 1a on the smartphone 220 running, computing capacity and memory units of the controller 110 for the app 210 be provided so that calculations and arithmetic operations of the smartphone 220 in the control unit 110 can be outsourced.

Die App 210 wird in Schritt 330 in dem entsprechend festgelegten vollen Umfang ausgeführt. Im Zuge dessen liest die App 210 Sensordaten des Sensors 130 über die Schnittstelle 131 ein. Die App 210 kann aus diesen Sensordaten einen Abstand des Kraftfahrzeugs 100 zu einem vorausfahrenden Fahrzeug bestimmen. In Abhängigkeit von diesem Abstand bestimmt die App 210 eine Soll-Geschwindigkeit des Kraftfahrzeugs 100, mittels welcher ein vorgegebener Mindestabstand zu dem vorausfahrenden Fahrzeug eingehalten werden kann. Die App 210 steuert den Aktor 140 über die Schnittstelle 141 entsprechend an.The app 210 will be in step 330 executed in the correspondingly defined full extent. In the course of reading the app 210 Sensor data of the sensor 130 over the interface 131 one. The app 210 can from this sensor data a distance of the motor vehicle 100 determine to a preceding vehicle. Depending on this distance, the app determines 210 a target speed of the motor vehicle 100 , by means of which a predetermined minimum distance to the preceding vehicle can be maintained. The app 210 controls the actuator 140 over the interface 141 accordingly.

In Schritt 340 ruft die App 210 Sicherheitsfunktionen des Steuergeräts 110 auf, mittels welchen die Ausführung der App 210 abgesichert wird. Zu diesem Zweck schätzt das Steuergerät 110 mittels der Sicherheitsfunktionen beispielsweise ab, ob die zugewiesene Rechenkapazität für die Ausführung der App 210 ausreichend ist. Wenn dies nicht der Fall ist, kann beispielsweise weitere Rechenkapazität für die App 210 reserviert werden. Weiterhin können zweckmäßigerweise die Integrität der Sensordaten des Sensors 130 mittels der Sicherheitsfunktionen überwacht werden. Die Sensordaten können somit auf Plausibilität und Aktualität überprüft werden. Weiterhin werden beispielsweise auch Soll-Werte, die von der App 210 bestimmt werden und gemäß welchen der Aktor 140 angesteuert wird, mittels der Sicherheitsfunktionen von dem Steuergerät 110 auf Plausibilität überprüft, um zu überwachen, ob die App 210 korrekt und sinnvoll funktioniert.In step 340 call the app 210 Security features of the controller 110 on, by means of which the execution of the app 210 is secured. For this purpose, the controller estimates 110 For example, by means of the security functions, whether the allocated computing capacity for the execution of the app 210 is sufficient. If this is not the case, for example, further computing capacity for the app 210 reserved. Furthermore, expediently, the integrity of the sensor data of the sensor 130 be monitored by means of the safety functions. The sensor data can thus be checked for plausibility and timeliness. Furthermore, for example, also target values, by the App 210 be determined and according to which the actuator 140 is controlled by the safety functions of the controller 110 checked for plausibility to monitor whether the app 210 works correctly and sensibly.

Derartige Sicherheitsfunktionen können mittels eines 3-Ebenen-Konzepts realisiert sein. Basis für ein derartiges Konzept sind z.B. Sicherheitsmechanismen, die in der Norm ISO 26262 Teil 5, Annex D beschrieben werden.Such security functions can be realized by means of a 3-level concept. The basis for such a concept are, for example, security mechanisms that are used in the Standard ISO 26262 Part 5, Annex D to be discribed.

Eine erste Ebene oder Funktionsebene beinhaltet Motorsteuerungsfunktionen, insbesondere zur Umsetzung von angeforderten Motormomenten, Komponentenüberwachungen, Diagnose von Ein- und Ausgangsgrößen sowie Steuerung von Systemreaktionen im erkannten Fehlerfall.A first level or functional level includes engine control functions, in particular for the implementation of requested engine torques, component monitoring, diagnosis of input and output variables as well as control of system reactions in the detected error case.

In einer zweiten Ebene oder Funktions-Überwachungsebene wird eine zu überwachende Funktion unabhängig von der Funktionsebene berechnet, überwacht und im Fehlerfall ein beherrschbarer Zustand hergestellt. Die Funktions-Überwachungsebene erkennt den fehlerhaften Ablauf überwachungsrelevanter Umfänge der Funktionssoftware in Ebene 1 unter anderem durch die Überwachung der berechneten Momente oder der Fahrzeugbeschleunigung. Im Fehlerfall erfolgt die Auslösung von Systemreaktionen.In a second level or functional monitoring level, a function to be monitored is calculated independently of the functional level, monitored and established in the event of a fault, a manageable state. The function monitoring level detects the erroneous course of monitoring-relevant scopes of the functional software in level 1 inter alia by monitoring the calculated moments or the vehicle acceleration. In the case of an error, the triggering of system reactions takes place.

Eine dritte Ebene oder Rechner-Überwachungsebene umfasst insbesondere ein vom Funktionsrechner unabhängiges Überwachungsmodul (z.B. ein ASIC oder Rechner), welches durch ein Frage-Antwort-Verfahren die ordnungsgemäße Abarbeitung der Programmbefehle des Funktionsrechners testet. Im Fehlerfall erfolgt die Auslösung von Systemreaktionen unabhängig vom Funktionsrechner.A third level or computer monitoring level comprises, in particular, a monitoring module (for example an ASIC or computer) which is independent of the function computer and which tests the proper execution of the program instructions of the function computer by means of a question-and-answer procedure. In the event of an error, the triggering of system reactions takes place independently of the function computer.

Die Sicherheitsfunktionen des Steuergeräts 110 können beispielsweise in die zweite Ebene implementiert sein. Insbesondere können die Sicherheitsfunktionen hier zyklisch aufgerufen werden. Diese Aufrufe erfolgen automatisch und werden nicht von der App getriggert. Die Aufrufe können geprüft werden, z.B. von einem (externen) Watchdog, der insbesondere in der dritten Ebene implementiert ist. Die Sensordaten können durch die Sicherheitsfunktionen standardmäßig abgesichert und bereitgestellt werden oder erst, nachdem die App 210 deren Absicherung gemäß Schritt 340 anfordert. Eine Verwendung der Sensordaten in App 210 ohne Absicherung kann beispielsweise verhindert werden, z.B. um zu verhindern, dass Sensordaten ohne Anforderung einer Absicherung der App 210 bereitgestellt werden. The security features of the controller 110 For example, they may be implemented in the second level. In particular, the safety functions can be called cyclically here. These calls are automatic and will not be triggered by the app. The calls can be checked, eg by an (external) watchdog, which is implemented in particular in the third level. The sensor data can be secured and deployed by default by the security features or only after the app 210 their hedging according to step 340 requests. A use of the sensor data in App 210 without protection, for example, can be prevented, for example, to prevent sensor data without requesting a hedge of the app 210 to be provided.

Dadurch, dass die Überprüfungsphase 310 und die Festlegung gemäß Schritt 320 nach vorgegebenen Kriterien und Sicherheitsrichtlinien durchgeführt werden, und durch die Bereitstellung der von der App 210 aufrufbaren Sicherheitsfunktionen kann eine Plattform angeboten werden, gemäß welcher Entwickler Apps bzw. Software-Anwendungen für Kraftfahrzeuge nach etablierten Standards und einheitlichen Sicherheitsrichtlinien entwickeln können. By doing that, the review phase 310 and the determination according to step 320 be performed according to predetermined criteria and security policies, and by the provision of the app 210 Callable security features can be offered a platform that allows developers to develop apps or software applications for automobiles according to established standards and consistent security policies.

ZITATE ENTHALTEN IN DER BESCHREIBUNG QUOTES INCLUDE IN THE 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 the documents listed by the applicant has been 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 PatentliteraturCited patent literature

  • US 2014/0106726 A1 [0002] US 2014/0106726 A1 [0002]
  • US 7197637 B2 [0003] US 7197637 B2 [0003]
  • US 7748043 B2 [0003] US 7748043 B2 [0003]

Zitierte Nicht-PatentliteraturCited non-patent literature

  • Norm ISO 26262 [0009] Standard ISO 26262 [0009]
  • ISO 26262 [0012] ISO 26262 [0012]
  • ISO 26262 [0014] ISO 26262 [0014]
  • ISO 26262 [0014] ISO 26262 [0014]
  • ISO-Norm 26262 [0018] ISO standard 26262 [0018]
  • ISO 26262 [0020] ISO 26262 [0020]
  • Norm ISO 26262 [0030] Standard ISO 26262 [0030]
  • Norm ISO 26262 [0048] Standard ISO 26262 [0048]
  • Norm ISO 26262 Teil 5, Annex D [0056] Standard ISO 26262 Part 5, Annex D [0056]

Claims (11)

Verfahren zum Betreiben einer Recheneinheit (110) für ein Kraftfahrzeug (100), wobei durch die Recheneinheit Schnittstellen (131, 141) zum Zugriff auf Ressourcen (130, 140) des Kraftfahrzeugs (100) für eine fahrzeugfremde Software-Anwendung (210) bereitgestellt werden, im Zuge einer Überprüfungsphase (310) eine Authentifizierung der fahrzeugfremden Software-Anwendung (210) durchgeführt wird (311) und/oder ein Funktionsumfang der fahrzeugfremden Software-Anwendung (210) bestimmt wird (313), in Abhängigkeit von dem Ergebnis der durchgeführten Überprüfungsphase (310) festgelegt wird, ob und in welchem Umfang die fahrzeugfremde Software-Anwendung (210) über die Schnittstellen (131, 141) auf die Ressourcen (130, 140) des Kraftfahrzeugs (100) zugreifen darf (320), und von der fahrzeugfremden Software-Anwendung (210) aufrufbare Sicherheitsfunktionen bereitgestellt werden, um die Ausführung der fahrzeugfremden Software-Anwendung (210) abzusichern (340).Method for operating a computing unit ( 110 ) for a motor vehicle ( 100 ), whereby by the computing unit interfaces ( 131 . 141 ) to access resources ( 130 . 140 ) of the motor vehicle ( 100 ) for a non-vehicle software application ( 210 ) during a review phase ( 310 ) an authentication of the non-vehicle software application ( 210 ) is carried out ( 311 ) and / or a range of functions of the non-vehicle software application ( 210 ) is determined ( 313 ), depending on the outcome of the review ( 310 ) determines whether and to what extent the non-vehicle software application ( 210 ) via the interfaces ( 131 . 141 ) on resources ( 130 . 140 ) of the motor vehicle ( 100 ) ( 320 ), and the non-vehicle software application ( 210 ) are provided to call the execution of the non-vehicle software application ( 210 ) ( 340 ). Verfahren nach Anspruch 1, wobei mittels der Sicherheitsfunktionen eine Ansteuerung von Ressourcen (130, 140) des Kraftfahrzeugs (100) über die Schnittstellen (131, 141) durch die fahrzeugfremden Software-Anwendung (210) überprüft wird (340).Method according to claim 1, wherein an activation of resources ( 130 . 140 ) of the motor vehicle ( 100 ) via the interfaces ( 131 . 141 ) by the non-vehicle software application ( 210 ) is checked ( 340 ). Verfahren nach Anspruch 1 oder 2, wobei mittels der Sicherheitsfunktionen – abgeschätzt wird, ob eine Rechenkapazität für die Ausführung der fahrzeugfremden Software-Anwendung (210) ausreichend ist, und/oder – fahrzeuginterne Eingangssignale überwacht werden und/oder – fahrzeugexterne Daten überwacht werden und/oder – ein Kommunikationskanal zu einer fahrzeugexternen Recheneinheit überprüft wird.Method according to claim 1 or 2, wherein by means of the security functions - it is estimated whether a computing capacity for the execution of the non-vehicle software application ( 210 ) is sufficient, and / or - vehicle-internal input signals are monitored and / or - vehicle-external data is monitored and / or - a communication channel is checked to a vehicle-external computing unit. Verfahren nach einem der vorstehenden Ansprüche, wobei eine Priorisierung von Zugriffen auf die Ressourcen des Kraftfahrzeugs (100) über die Schnittstellen (131, 141) durchgeführt wird.Method according to one of the preceding claims, wherein a prioritization of accesses to the resources of the motor vehicle ( 100 ) via the interfaces ( 131 . 141 ) is carried out. Verfahren nach einem der vorstehenden Ansprüche, wobei im Zuge der Überprüfungsphase (310) zur Authentifizierung der fahrzeugfremden Software-Anwendung (210) eine Identifikationsnummer, ein Schlüssel und/oder ein Sicherheitszertifikat überprüft werden (311).Method according to one of the preceding claims, wherein in the course of the checking phase ( 310 ) for authentication of the non-vehicle software application ( 210 ) an identification number, a key and / or a safety certificate are checked ( 311 ). Verfahren nach einem der vorstehenden Ansprüche, wobei im Zuge der Überprüfungsphase (310) zur Authentifizierung der fahrzeugfremden Software-Anwendung (210) überprüft wird, ob die fahrzeugfremde Software-Anwendung (210) nach vorgegebenen Sicherheitsrichtlinien entwickelt wurde (311).Method according to one of the preceding claims, wherein in the course of the checking phase ( 310 ) for authentication of the non-vehicle software application ( 210 ) checks whether the non-vehicle software application ( 210 ) was developed according to given security guidelines ( 311 ). Verfahren nach einem der vorstehenden Ansprüche, wobei im Zuge der Überprüfungsphase (310) zur Bestimmung des Funktionsumfangs der fahrzeugfremden Software-Anwendung (210) bestimmt wird, auf welche Ressourcen (130, 140) des Kraftfahrzeugs die fahrzeugfremde Software-Anwendung zugreifen möchte (313).Method according to one of the preceding claims, wherein in the course of the checking phase ( 310 ) for determining the functional scope of the non-vehicle software application ( 210 ) determines which resources ( 130 . 140 ) of the motor vehicle wants to access the non-vehicle software application ( 313 ). Verfahren nach einem der vorstehenden Ansprüche, wobei Schnittstellen (131, 141) zum Zugriff auf Sensoren (130) und/oder Aktoren (140) und/oder Steuergeräte und/oder Speichereinheiten als Ressourcen des Kraftfahrzeugs (100) für die fahrzeugfremde Software-Anwendung (210) bereitgestellt werden.Method according to one of the preceding claims, wherein interfaces ( 131 . 141 ) to access sensors ( 130 ) and / or actuators ( 140 ) and / or control devices and / or storage units as resources of the motor vehicle ( 100 ) for the non-vehicle software application ( 210 ) to be provided. Recheneinheit (110), die dazu eingerichtet ist, ein Verfahren nach einem der vorstehenden Ansprüche durchzuführen. Arithmetic unit ( 110 ), which is adapted to perform a method according to any one of the preceding claims. Computerprogramm, das eine Recheneinheit (110) dazu veranlasst, ein Verfahren nach einem der Ansprüche 1 bis 8 durchzuführen, wenn es auf der Recheneinheit ausgeführt wird. Computer program comprising a computing unit ( 110 ) to perform a method according to any one of claims 1 to 8 when executed on the computing unit. Maschinenlesbares Speichermedium mit einem darauf gespeicherten Computerprogramm nach Anspruch 10.A machine-readable storage medium having a computer program stored thereon according to claim 10.
DE102016202527.9A 2016-02-18 2016-02-18 Computing unit for a motor vehicle Pending DE102016202527A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE102016202527.9A DE102016202527A1 (en) 2016-02-18 2016-02-18 Computing unit for a motor vehicle

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102016202527.9A DE102016202527A1 (en) 2016-02-18 2016-02-18 Computing unit for a motor vehicle

Publications (1)

Publication Number Publication Date
DE102016202527A1 true DE102016202527A1 (en) 2017-08-24

Family

ID=59522133

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102016202527.9A Pending DE102016202527A1 (en) 2016-02-18 2016-02-18 Computing unit for a motor vehicle

Country Status (1)

Country Link
DE (1) DE102016202527A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018103517A1 (en) * 2018-02-16 2019-08-22 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Method and device for influencing a vehicle profile of an electric vehicle
DE102019205716A1 (en) * 2019-04-18 2020-10-22 Audi Ag Control system and driver assistance system for a motor vehicle

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US20020023223A1 (en) * 2000-02-25 2002-02-21 Ernst Schmidt Authorization process using a certificate
US7748043B2 (en) 2003-07-04 2010-06-29 Bayerische Motoren Werke Aktiengesellschaft Method for authenticating, in particular, software components that can be loaded into a control unit of a motor vehicle
US20120297458A1 (en) * 2011-05-17 2012-11-22 GM Global Technology Operations LLC Remote video source authentication protocol
US20140106726A1 (en) 2012-10-16 2014-04-17 Excelfore Corporation System and Method for Monitoring Apps in a Vehicle to Reduce Driver Distraction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006328A (en) * 1995-07-14 1999-12-21 Christopher N. Drake Computer software authentication, protection, and security system
US20020023223A1 (en) * 2000-02-25 2002-02-21 Ernst Schmidt Authorization process using a certificate
US7197637B2 (en) 2000-02-25 2007-03-27 Bayerische Motoren Werke Aktiengesellschaft Authorization process using a certificate
US7748043B2 (en) 2003-07-04 2010-06-29 Bayerische Motoren Werke Aktiengesellschaft Method for authenticating, in particular, software components that can be loaded into a control unit of a motor vehicle
US20120297458A1 (en) * 2011-05-17 2012-11-22 GM Global Technology Operations LLC Remote video source authentication protocol
US20140106726A1 (en) 2012-10-16 2014-04-17 Excelfore Corporation System and Method for Monitoring Apps in a Vehicle to Reduce Driver Distraction

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ISO 26262
ISO-Norm 26262
Norm ISO 26262
Norm ISO 26262 Teil 5, Annex D

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102018103517A1 (en) * 2018-02-16 2019-08-22 Dr. Ing. H.C. F. Porsche Aktiengesellschaft Method and device for influencing a vehicle profile of an electric vehicle
DE102019205716A1 (en) * 2019-04-18 2020-10-22 Audi Ag Control system and driver assistance system for a motor vehicle

Similar Documents

Publication Publication Date Title
DE102017113435A1 (en) Vehicle gateway network protection
DE102014202453A1 (en) Methods and systems for autonomous vehicle detection, distance measurement and distance control
DE102017100380A1 (en) Diagnostic test execution system and method
DE102017222879A1 (en) Apparatus, method, and computer program for enabling a vehicle component, vehicle-to-vehicle communication module
DE102017218872A1 (en) Method and device for updating software of a motor vehicle control unit
EP3721645B1 (en) Method and system for confirming the identity of a vehicle
DE102014209489A1 (en) Device for securely integrating a software component in a motor vehicle
DE102017214661A1 (en) Method for detecting a manipulation of at least one control device of a motor vehicle and processor device for a motor vehicle and motor vehicle
DE112016002785T5 (en) Electronic control units for vehicles
WO2020020666A1 (en) Method and device for monitoring a driving behaviour of a vehicle which drives in a highly automated fashion and infrastructure facility, vehicle or monitoring vehicle having the device
DE102018214999A1 (en) Device for securing diagnostic commands to a control unit and corresponding motor vehicle
US20210089025A1 (en) Method for controlling a motor vehicle remotely
DE102020127631A1 (en) IMPROVING VEHICLE SAFETY
DE102012207215A1 (en) Method and device for monitoring functions of a computer system, preferably an engine control system of a motor vehicle
DE102018109080A1 (en) SYSTEMS AND METHOD FOR USING MECHANICAL VIBRATION FOR OUTBOARD COMMUNICATIONS ON BOARD OF A VEHICLE
DE102019214461A1 (en) Method for remote control of a motor vehicle
DE102016202527A1 (en) Computing unit for a motor vehicle
DE102019214471A1 (en) Method for remote control of a motor vehicle
CN109814521A (en) The system and method coordinated for vehicle diagnostic test device
DE102015221814A1 (en) Method for carrying out a diagnostic procedure in a motor vehicle
DE102019214413A1 (en) Method for at least partially automated driving of a motor vehicle
DE102021208459B4 (en) Method for authentic data transmission between control units in a vehicle, arrangement with control units, computer program and vehicle
DE102014018110A1 (en) Method and system for the remote control of a vehicle or a vehicle function
DE102017222882A1 (en) Devices, methods and computer program for unlocking vehicle components, vehicle-to-vehicle communication module
DE102015221811A1 (en) Method for operating a vehicle-external software application in a motor vehicle

Legal Events

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