-
Die vorliegende Erfindung betrifft ein Verfahren zum Betreiben eines Steuergeräts mit einem System-on-a-Chip mit einer Prozessoreinheit und einer Sicherheits-Prozessoreinheit sowie eine Recheneinheit und ein Computerprogramm zu dessen Durchführung.
-
Stand der Technik
-
Ein System-on-a-Chip (Ein-Chip-System, SoC) ist ein integrierter Schaltkreis (IC), bei dem eine Vielzahl von Funktionen eines entsprechenden Systems auf einem einzigen Chip (Die) integriert ist. Derartige SoCs können eine Prozessoreinheit (Prozessor Systemteil, PS) umfassen. Eine derartige Prozessoreinheit kann einen zweckmäßigen Prozessor bzw. Prozessorkern oder einen Multicore-Prozessor umfassen. Multicore-Prozessoren umfassen mehrere (wenigstens zwei) Prozessorkerne. Ein Prozessorkern umfasst zumeist eine arithmetisch-logische Einheit (ALU), welche das eigentliche elektronische Rechenwerk zur Ausführung von Tasks, Programmen, Rechenbefehlen, etc. darstellt, und weiterhin einen lokalen Speicher.
-
Zusätzlich zu der Prozessoreinheit kann ein SoC auch ein sogenanntes Hardware-Sicherheitsmodul (Hardware Security Module, HSM) umfassen. Analog zu der herkömmlichen Prozessoreinheit kann auch dieses HSM einen oder mehrere Prozessorkerne sowie lokalen Speicher (ROM, RAM, Flash, EEPROM) umfassen. Ein HSM verfügt somit über eigene physische Ressourcen (Prozessorkern(e), lokalen Speicher, usw.), welche unabhängig von den physischen Ressourcen der Prozessoreinheit sind. Die Ressourcen des HSM können insbesondere gegenüber den Ressourcen der Prozessoreinheit auf Hardwareebene abgeschirmt sein.
-
Ein HSM stellt eine isolierte, sichere Umgebung dar, die gegen Manipulation und Angriffe, u.a. von der Prozessoreinheit, geschützt ist, und kann daher insbesondere für sicherheitskritische Prozesse bzw. Operationen genutzt werden. Im Zuge derartiger sicherheitskritischer bzw. kryptographischer Prozesse können sicherheitskritische Daten verarbeitet und/oder erstellt werden, beispielsweise Signaturen, Verschlüsselungen, usw.
-
Es kann sich als zweckmäßig erweisen, ein derartiges SoC mit einer Prozessoreinheit und einem HSM in ein Steuergerät zu integrieren, insbesondere in ein Steuergerät eines Kraftfahrzeugs wie etwa ein Motorsteuergerät. Herkömmliche HSM sind zumeist jedoch ungeeignet für den Gebrauch in derartigen Steuergeräten und können nicht gewährleisten, dass für den Kraftfahrzeugbereich geltende (Sicherheits-)Anforderungen und (Sicherheits-)Normen eingehalten werden.
-
Beispielsweise kann in einem Steuergerät gefordert sein, dass bestimmte Prozesse, insbesondere sicherheitskritische Prozesse, eine Echtzeitbedingung erfüllen, d.h. dass ein Ergebnis dieser Prozesse innerhalb eines definierten Zeitintervalls garantiert berechnet ist, also vor einer bestimmten Zeitschranke vorliegt. Zumeist kann jedoch mit herkömmlichen HSM nicht gewährleistet werden, dass sicherheitskritische Prozesse eine Echtzeitbedingung erfüllen.
-
Es ist daher wünschenswert, eine Möglichkeit bereitzustellen, um ein System-on-a-Chip mit einer Prozessoreinheit und einem Hardware-Sicherheitsmodul in ein Steuergerät zu implementieren, insbesondere in ein Steuergerät eines Kraftfahrzeugs.
-
Offenbarung der Erfindung
-
Erfindungsgemäß wird ein Verfahren zum Betreiben eines Steuergeräts mit den Merkmalen des Patentanspruchs 1 vorgeschlagen. Vorteilhafte Ausgestaltungen sind Gegenstand der Unteransprüche sowie der nachfolgenden Beschreibung.
-
Das Steuergerät ist insbesondere als ein Steuergerät eines Kraftfahrzeugs ausgebildet, beispielsweise als ein Motorsteuergerät. Das Steuergerät umfasst ein System-on-a-Chip (SoC) mit einer Prozessoreinheit und einer Sicherheits-Prozessoreinheit, die jeweils wenigstens einen Prozessorkern umfassen. Die Prozessoreinheit und die Sicherheits-Prozessoreinheit umfassen jeweils insbesondere Schutzmechanismen gegen Spannungsänderungen, Taktänderungen und Temperaturänderungen.
-
Weiterhin umfassen die Prozessoreinheit und die Sicherheits-Prozessoreinheit jeweils insbesondere einen lokalen Speicher, beispielsweise einen Flash-, ROM-, RAM- und/oder EEPROM-Speicher. Alternativ oder zusätzlich kann insbesondere auch ein gemeinsamer lokaler Speicher für die Prozessoreinheit und die Sicherheits-Prozessoreinheit vorgesehen sein. In diesem Fall ist insbesondere ein Speicher-Sicherheitsmechanismus vorgesehen, beispielsweise eine Memory Protection Unit (MPU). Ein derartiger Speicher-Sicherheitsmechanismus verwaltet den Zugriff auf diesen gemeinsamen Speicher und schützt den gemeinsamen Speicher vor Manipulation und Angriffen. Insbesondere wird durch einen derartigen Speicher-Sicherheitsmechanismus eine Isolation von Speicherbereichen für die Prozessoreinheit und für die Sicherheits-Prozessoreinheit in dem gemeinsamen Speicher realisiert.
-
Die Sicherheits-Prozessoreinheit ist insbesondere als ein Hardware-Sicherheitsmodul (Hardware Security Module, HSM) ausgebildet. Sicherheits-Prozessoreinheit und Prozessoreinheit sind insbesondere unabhängig voneinander und verfügen jeweils über eigene physische Ressourcen (Prozessorkern(e), lokalen Speicher, usw.). Die Sicherheits-Prozessoreinheit ist insbesondere auf Hardwareebene abgeschirmt und stellt eine sichere Umgebung dar, die gegen Manipulation und Angriffe geschützt ist oder zumindest Manipulationen oder Angriffe erschweren soll.
-
Die Prozessoreinheit kann die Sicherheits-Prozessoreinheit anweisen, sicherheitskritische Prozesse auszuführen. Prozessoreinheit und Sicherheits-Prozessoreinheit stehen insbesondere über ein Kommunikationssystem, beispielsweise einen zweckmäßigen Bus oder einem gemeinsam genutzten Speicher oder Kommunikationsregistern oder einer Kombination davon, in Kommunikationsverbindung.
-
Unter sicherheitskritischen Prozessen bzw. kryptographischen Prozessen sind insbesondere Prozesse zu verstehen, in welchen sicherheitskritische Daten verarbeitet und/oder erzeugt werden, welche als Ganzes oder teilweise das SoC nicht verlassen sollen bzw. nicht an eine dritte Partei gelangen sollen, beispielsweise die für gewisse Operationen benötigten geheimen Schlüssel. Beispielsweise können als derartige sicherheitskritische Prozesse einer oder mehrere der folgenden Prozesse bzw. Operationen angesehen werden: Erzeugen und/oder Überprüfen einer Signatur; Verschlüsselung und/oder Entschlüsselung von Daten; Anwendung eines Hash-Algorithmus; Erzeugen von Codes und/oder Passwörtern; Authentifizieren und/oder Verifizieren von Nachrichten, Steuerbefehlen und/oder Ansteuerwerten, Speichern von sicherheitskritischen Daten
-
Erfindungsgemäß wird den in der Sicherheits-Prozessoreinheit auszuführenden, sicherheitskritischen Prozessen jeweils eine Priorität zugeordnet und die sicherheitskritischen Prozesse werden in der Sicherheits-Prozessoreinheit in Abhängigkeit von der jeweiligen Priorität ausgeführt. Insbesondere ordnet die Prozessoreinheit selbst einem entsprechenden sicherheitskritischen Prozess eine jeweilige Priorität zu, wenn die Prozessoreinheit die Sicherheits-Prozessoreinheit anweist, diesen sicherheitskritischen Prozess auszuführen. Es ist auch denkbar, dass die Sicherheits-Prozessoreinheit den auszuführenden sicherheitskritischen Prozessen die jeweilige Priorität zuordnet.
-
Insbesondere weisen einzelne Prozessorkerne der Prozessoreinheit die Sicherheits-Prozessoreinheit an, die entsprechenden sicherheitskritischen Prozesse auszuführen. Beispielsweise kann ein Betriebssystem, welches in dem jeweiligen Prozessorkern der Prozessoreinheit ausgeführt wird, die Sicherheits-Prozessoreinheit entsprechend anweisen. In den einzelnen Prozessorkernen der Prozessoreinheit können auch (insbesondere nicht sicherheitskritische) Prozesse bzw. Operationen bzw. Anwendungen ausgeführt werden. Es ist auch denkbar, dass diese Prozesse die Sicherheits-Prozessoreinheit entsprechend direkt anweisen.
-
Insbesondere kann in der Sicherheits-Prozessoreinheit ein Ablaufplan bzw. eine Reihenfolge erstellt werden ("scheduling"), gemäß welchem bzw. welcher die unterschiedlichen sicherheitskritischen Prozesse ausgeführt werden. Insbesondere werden die sicherheitskritischen Prozesse absteigend nach der jeweiligen Priorität ausgeführt. Sicherheitskritische Prozesse mit hoher Priorität werden insbesondere zuerst ausgeführt, sicherheitskritische Prozesse mit geringer Priorität werden insbesondere als letztes ausgeführt.
-
Vorteile der Erfindung
-
Durch die Erfindung wird eine flexible Planung der abzuarbeitenden sicherheitskritischen Prozesse ermöglicht. Durch die Erfindung können relevante sicherheitskritische Prozesse, deren Abarbeitung von großer Bedeutung ist und möglichst schnell erfolgen soll, von sicherheitskritischen Prozesse mit untergeordneter Bedeutung, deren Abarbeitung nicht dringend und nicht schnellstmöglich erfolgen soll, differenziert werden.
-
Insbesondere ist es durch die Erfindung nicht notwendig, dass die Sicherheits-Prozessoreinheit sicherheitskritische Prozesse in der Reihenfolge ausführt, in welcher sie angewiesen wurden. Relevante sicherheitskritische Prozesse mit hoher Priorität können vor sicherheitskritischen Prozessen mit untergeordneter Bedeutung und niedriger Priorität ausgeführt werden. Insbesondere führt die Sicherheits-Prozessoreinheit jeweils nur einen einzigen sicherheitskritischen Prozess aus und nicht mehrere gleichzeitig. Durch die Erfindung wird es ermöglicht, die Ressourcen der Sicherheits-Prozessoreinheit sinnvoll zu nutzen und die sicherheitskritischen Prozesse nach ihrer Bedeutung und Relevanz abzuarbeiten.
-
Auch herkömmliche Hardware-Sicherheitsmodule können nicht mehrere Prozesse gleichzeitig ausführen. In herkömmlichen Hardware-Sicherheitsmodulen kann es gegebenenfalls nötig sein, abzuwarten bis ein aktuell in dem HSM ausgeführter Prozess beendet ist, bevor ein neuer Prozess gestartet werden kann. Je nach aktuell ausgeführtem Prozess kann es gegebenenfalls vergleichsweise lange dauern, beispielsweise bis zu mehreren Sekunden, bis ein neuer Prozess gestartet werden kann. Demgemäß muss gegebenenfalls zunächst bis zu mehreren Sekunden gewartet werden, bevor ein wichtiger sicherheitskritischer Prozess ausgeführt werden kann.
-
Durch die Erfindung werden derartige Probleme herkömmlicher Hardware-Sicherheitsmodule behoben. Relevanten sicherheitskritischen Prozessen, deren Ausführung von großer Bedeutung ist und so schnell wie möglich durchgeführt werden soll, wird jeweils eine hohe bzw. höchste Priorität zugeordnet. Diese sicherheitskritischen Prozesse werden in der Sicherheits-Prozessoreinheit als erstes und so schnell wie möglich ausgeführt. Somit kann gewährleistet werden, dass dringend benötigte sicherheitskritische Daten möglichst schnell erstellt bzw. verarbeitet werden.
-
Es ist eine zweckmäßig große Anzahl von unterschiedlichen Prioritäten bzw. von unterschiedlichen Prioritätsstufen denkbar. Je mehr unterschiedliche Prioritäten an sicherheitskritische Prozesse vergeben werden können, desto besser kann die Relevanz der unterschiedlichen sicherheitskritischen Prozesse unterschieden werden.
-
Durch die Erfindung kann insbesondere gewährleistet werden, dass für den Kraftfahrzeugbereich geltende (Sicherheits-)Anforderungen und (Sicherheits-)Normen eingehalten werden. Insbesondere wird durch die Erfindung eine Echtzeitfähigkeit der Sicherheits-Prozessoreinheit ermöglicht. Die Erfindung eignet sich daher insbesondere für Steuergeräte eines Kraftfahrzeugs, beispielsweise für ein Motorsteuergerät. Durch die Erfindung können Angriffe und Manipulation des Steuergeräts verhindert werden. Im Falle eines Steuergeräts eines Kraftfahrzeugs können insbesondere ein "Know-How-Schutz" gewährleistet und Manipulationen an der Steuergerätesoftware wie beispielsweise beim "Chiptuning" unterbunden werden.
-
Insbesondere werden im Zuge der sicherheitskritischen Prozesse Daten verarbeitet und/oder erstellt, welche für die Ansteuerung und den Betrieb des Kraftfahrzeugs benötigt werden, beispielsweise spezielle Ansteuerungsbefehle, technische Daten, Steuer- oder Kennwerte. Diese Befehle bzw. Werte wurden vom Hersteller oft in jahrelangen Entwicklungsprozessen mit hohem Forschungsaufwand durch lang andauernde und aufwendige Testreihen ermittelt und optimiert. Es ist somit im Sinne des Herstellers, dass diese Daten nicht von einer dritten Partei, einem Angreifer, ausgelesen werden können, um einen "Know-How-Schutz" zu garantieren.
-
Im Zuge eines "Chiptunings" versucht ein Angreifer die ausgeführten sicherheitskritischen Prozesse zu manipulieren und dabei Steuerparameter des Steuergeräts zu verändern, um Leistungssteigerungen herbeizuführen. Dies kann zu Bauteilschäden und Umweltverschmutzung führen, sogar zu Personenschäden, da die gesamte Fahrzeugauslegung (Antrieb, Bremsanlage) beeinträchtigt werden kann.
-
Vorteilhafterweise kann die Ausführung eines sicherheitskritischen Prozesses mit niedriger Priorität zu Gunsten eines sicherheitskritischen Prozesses mit hoher Priorität unterbrochen werden und später wieder weitergeführt werden. Die Sicherheits-Prozessoreinheit ist nicht stringent und zwingend an den erstellten Ablaufplan bzw. die erstellte Reihenfolge der abzuarbeitenden sicherheitskritischen Prozesse gebunden. Der Ablaufplan bzw. die Reihenfolge kann insbesondere jederzeit verändert werden, einzelne sicherheitskritische Prozesse können in dem Ablaufplan bzw. der Reihenfolge bei Bedarf flexibel neu verteilt werden.
-
Wenn in der Sicherheits-Prozessoreinheit ein erster sicherheitskritischer Prozess mit einer ersten Priorität ausgeführt wird und wenn die Prozessoreinheit die Sicherheits-Prozessoreinheit anweist, einen zweiten sicherheitskritischen Prozess mit einer zweiten Priorität, die höher ist als die erste Priorität, auszuführen, wird die Ausführung des ersten sicherheitskritischen Prozesses in der Sicherheits-Prozessoreinheit bevorzugt unterbrochen bzw. pausiert und der zweite sicherheitskritische Prozess wird in der Sicherheits-Prozessoreinheit ausgeführt.
-
Dies kann insbesondere automatisch erfolgen, sobald die Sicherheits-Prozessoreinheit eine entsprechende Anweisung erhält, einen sicherheitskritischen Prozess mit einer höheren Priorität auszurufen. Vorteilhafterweise wird der aktuelle Fortschritt der Ausführung des ersten sicherheitskritischen Prozesses hinterlegt und (vollständig) gespeichert, beispielsweise im lokalen Speicher (, RAM, Flash, EEPROM) der Sicherheits-Prozessoreinheit.
-
Nach Ausführung des zweiten sicherheitskritischen Prozess wird vorzugsweise die Ausführung des ersten sicherheitskritischen Prozesses in der Sicherheits-Prozessoreinheit fortgesetzt. Die Ausführung wird vorteilhafterweise direkt bei dem hinterlegten aktuellen Fortschritt fortgesetzt. Somit gehen keine Daten des ersten sicherheitskritischen Prozesses verloren, die Ausführung muss nicht erneut gestartet werden. Vorzugsweise wird die Ausführung des ersten sicherheitskritischen Prozesses autonom fortgesetzt, ohne dass es eine weitere Interaktion der Prozessoreinheit notwendig ist.
-
Wenn während der Ausführung des zweiten sicherheitskritischen Prozesses die Ausführung eines oder mehrerer weiterer sicherheitskritischer Prozesse angewiesen wird, denen jeweils höhere Prioritäten als dem ersten sicherheitskritischen Prozess aber niedrigere Prioritäten als dem zweiten sicherheitskritischen Prozess zugeordnet sind, werden nach Ausführung des zweiten sicherheitskritischen Prozess bevorzugt zunächst diese weiteren sicherheitskritischen Prozess ausgeführt und der erste sicherheitskritische Prozess bleibt weiterhin unterbrochen bzw. pausiert.
-
Vorteilhafterweise besitzt die Sicherheits-Prozessoreinheit eine Echtzeitfähigkeit. In Echtzeit auszuführende sicherheitskritische Prozesse werden in der Sicherheits-Prozessoreinheit derart ausgeführt, dass eine Echtzeitbedingung erfüllt ist. Diese Echtzeitbedingung ist insbesondere in der Norm DIN 44300 definiert. Diese sicherheitskritischen Prozesse werden von der Sicherheits-Prozessoreinheit garantiert innerhalb eines vorgegebenen, definierten Zeitintervalls vollständig ausgeführt. Ein Ergebnis dieser sicherheitskritischen Prozesse wird innerhalb dieses definierten Zeitintervalls garantiert berechnet und liegt demgemäß vor einer bestimmten Zeitschranke vor. Weiterhin ist ein Determinismus bzw. eine Vorhersagbarkeit dieser sicherheitskritischen Prozesse gegeben.
-
In der Sicherheits-Prozessoreinheit können neben derartigen in Echtzeit auszuführenden sicherheitskritischen Prozessen auch sicherheitskritische Prozesse ausführen, die keine Echtzeitbedingung erfüllen sollen. In Echtzeit auszuführenden sicherheitskritischen Prozessen wird vorzugsweise eine höhere Priorität zugeordnet, als nicht in Echtzeit auszuführenden sicherheitskritischen Prozessen.
-
Insbesondere kann die Echtzeitfähigkeit der Sicherheits-Prozessoreinheit durch die Möglichkeit gewährleistet werden, die Ausführung eines sicherheitskritischen Prozesses mit niedriger Priorität zu Gunsten eines sicherheitskritischen Prozesses mit hoher Priorität zu unterbrechen und später wieder weiterzuführen. Ein aktuell ausgeführter untergeordneter sicherheitskritischer Prozess kann somit zu Gunsten eines sicherheitskritischen Prozesses unterbrochen werden, der eine Echtzeitbedingung erfüllen muss. Insbesondere wird einem in Echtzeit auszuführendem sicherheitskritischen Prozessen die Priorität gemäß dem jeweiligen Zeitintervall zugeordnet, innerhalb welchem dieser sicherheitskritische Prozess ausgeführt sein muss.
-
Vorzugsweise wird in der Sicherheits-Prozessoreinheit ein echtzeitfähiges Betriebssystem ausgeführt. Von einem derartigen echtzeitfähigen Betriebssystem können Rechenoperation (z.B. Prozesse, Tasks, Anwendungen, usw.) derart ausgeführt werden, dass eine entsprechende Echtzeitbedingung erfüllt ist. Insbesondere erfüllt das echtzeitfähige Betriebssystem die nach der Norm DIN 44300 definierte Echtzeitbedingung. Demgemäß sind insbesondere Programme zur Verarbeitung anfallender Daten bzw. auszuführender sicherheitskritischer Prozesse ständig betriebsbereit, derart, dass die Ergebnisse dieser Verarbeitungen innerhalb einer vorgegebenen Zeitspanne verfügbar sind. Die Daten können je nach Anwendungsfall nach einer zeitlich zufälligen Verteilung oder zu vorherbestimmten Zeitpunkten anfallen.
-
Eine erfindungsgemäße Recheneinheit, z.B. ein System-on-a-Chip oder ein Steuergerät eines Kraftfahrzeugs, ist, insbesondere programmtechnisch, dazu eingerichtet, ein erfindungsgemäßes Verfahren durchzuführen.
-
Auch die Implementierung des Verfahrens in Form von Software ist vorteilhaft, da dies besonders geringe Kosten verursacht, insbesondere wenn ein ausführendes Steuergerät noch für weitere Aufgaben genutzt wird und daher ohnehin vorhanden ist. Geeignete Datenträger zur Bereitstellung des Computerprogramms sind insbesondere Disketten, Festplatten, Flash-Speicher, EEPROMs, CD-ROMs, DVDs u.a.m. Auch ein Download eines Programms über Computernetze (Internet, Intranet usw.) ist möglich.
-
Weitere Vorteile und Ausgestaltungen der Erfindung ergeben sich aus der Beschreibung und der beiliegenden Zeichnung.
-
Es versteht sich, dass die vorstehend genannten und die nachfolgend noch zu erläuternden Merkmale nicht nur in der jeweils angegebenen Kombination, sondern auch in anderen Kombinationen oder in Alleinstellung verwendbar sind, ohne den Rahmen der vorliegenden Erfindung zu verlassen.
-
Die Erfindung ist anhand von Ausführungsbeispielen in der Zeichnung schematisch dargestellt und wird im Folgenden unter Bezugnahme auf die Zeichnung ausführlich beschrieben.
-
Kurze Beschreibung der Zeichnungen
-
1 zeigt schematisch eine bevorzugte Ausgestaltung eines erfindungsgemäßen Steuergeräts.
-
2 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Zeit-Priorität-Diagramm.
-
3 zeigt schematisch eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens als ein Zeit-Priorität-Diagramm.
-
Ausführungsform(en) der Erfindung
-
In 1 ist eine bevorzugte Ausgestaltung eines erfindungsgemäßen Steuergeräts schematisch dargestellt und mit 150 bezeichnet. Das Steuergerät 150 ist beispielsweise als ein Motorsteuergerät eines Kraftfahrzeugs ausgebildet, welches dazu eingerichtet ist, eine Motorsteuerung einer Brennkraftmaschine des Kraftfahrzeugs durchzuführen.
-
Das Steuergerät 150 weist ein System-on-a-Chip (SoC) 100 auf. Das SoC 100 umfasst eine Prozessoreinheit 110 und eine Sicherheits-Prozessoreinheit 120.
-
Die Prozessoreinheit 110 umfasst einen Multicore-Prozessor mit drei Prozessorkernen 111, 112 und 113. Jedem Prozessorkern 111, 112 bzw. 113 ist jeweils ein lokaler Speicher 114, 115 bzw. 116 zugeordnet, beispielsweise ein Flash-Speicher. Die Sicherheits-Prozessoreinheit 120 umfasst einen Prozessorkern 121 und einen lokalen Speicher mit einem RAM-Speicher 122 und einem ROM-Speicher 123.
-
Alternativ kann auch ein gemeinsamer lokaler Speicher (z.B. RAM, EEPROM, Flash) der Sicherheits-Prozessoreinheit 120 und der Prozessoreinheit 110 vorgesehen sein sowie eine Speicher-Sicherheitsmechanismus (z.B. eine Memory Protection Unit), welche den Zugriff auf diesen gemeinsamen Speicher verwaltet.
-
Die Prozessoreinheit 110 und die Sicherheits-Prozessoreinheit 120 sind zwei unabhängige individuelle Prozessoreinheiten. Die Sicherheits-Prozessoreinheit 120 ist auf Hardwareebene abgeschirmt und ist gegen Manipulation und Angriffe geschützt. In der Sicherheits-Prozessoreinheit 120 wird ein echtzeitfähiges Betriebssystem ausgeführt. Die Prozessoreinheit 110 und die Sicherheits-Prozessoreinheit 120 stehen über einen Bus 117 miteinander in Kommunikationsverbindung.
-
In den Prozessorkernen 111, 112, 113 der Prozessoreinheit 110 können unterschiedliche Anwendungen ausgeführt werden. Im Zuge dieser Anwendungen müssen gegebenenfalls sicherheitskritische Daten erstellt und/oder verarbeitet werden, welche für die Ansteuerung und den Betrieb des Kraftfahrzeugs benötigt werden, beispielsweise spezielle Ansteuerungsbefehle, technische Daten, Steuer- oder Kennwerte.
-
Diese sicherheitskritischen Daten dürfen das Steuergerät 150 nicht verlassen und sollen nicht an eine dritte Partei gelangen. Weiterhin muss sichergestellt sein, dass spezielle dieser sicherheitskritischen Daten in Echtzeit erstellt werden. Zu diesem Zweck ist das Steuergerät 150 dazu eingerichtet, eine bevorzugte Ausführungsform eines erfindungsgemäßen Verfahrens durchzuführen.
-
Im Zuge dessen weisen die jeweiligen Anwendungen, die in den Prozessorkernen 111, 112, 113 der Prozessoreinheit 110 ausgeführt werden und die sicherheitskritische Daten erstellen bzw. verarbeiten sollen, die Sicherheits-Prozessoreinheit 120 an, bestimmte sicherheitskritische Prozesse auszuführen. Die Anwendungen ordnen den sicherheitskritischen Prozessen dabei jeweils eine Priorität zu. Die Sicherheits-Prozessoreinheit 120 führt die unterschiedlichen sicherheitskritischen Prozesse in Abhängigkeit von der jeweiligen Priorität aus. Im Zuge dieser sicherheitskritischen Prozesse werden in der Sicherheits-Prozessoreinheit 120 die jeweiligen sicherheitskritischen Daten erstellt bzw. verarbeitet.
-
Eine bevorzugte Ausführungsform des erfindungsgemäßen Verfahrens wird im Folgenden anhand der 2 und 3 beschrieben. In den 2 und 3 ist jeweils ein Zeit-Priorität-Diagramm schematisch dargestellt. Auf der Ordinate ist jeweils eine Priorität "P" aufgetragen, welche unterschiedlichen sicherheitskritischen Prozessen zugeordnet werden kann. Auf der Abszisse ist jeweils eine Zeit "t" aufgetragen. Sicherheitskritische Prozesse mit zugeordneten Prioritäten, die in der Sicherheits-Prozessoreinheit 120 zwischen bestimmten Zeitpunkten ausgeführt werden, sind in dem Zeit-Priorität-Diagramm als Balken dargestellt.
-
Im Folgenden wird ein erstes Beispiel der bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens anhand der 2 beschrieben.
-
Zu einem ersten Zeitpunkt t1 weist eine erste Anwendung, die in dem Prozessorkern 111 ausgeführt wird, die Sicherheits-Prozessoreinheit 120 an, einen ersten sicherheitskritischen Prozess 210 auszuführen. Im Zuge dieses ersten sicherheitskritischen Prozesses 210 soll eine Verifikation einer Nachricht bzw. eine Überprüfung eines Authentifizierungscodes einer Nachricht durchgeführt werden, die von einem weiteren Steuergerät des Kraftfahrzeugs an das Motorsteuergerät 150 gesendet wurde. Dieser erste Prozess 210 soll nicht in Echtzeit durchgeführt werden. Die erste Anwendung ordnet diesem ersten Prozess 210 eine erste, mittlere Priorität von beispielsweise "5" zu.
-
Die Sicherheits-Prozessoreinheit 120 beginnt zu dem ersten Zeitpunkt t1 diesen ersten Prozess 210 auszuführen. Zu einem zweiten Zeitpunkt t2, zu welchem die Ausführung des ersten Prozesses 210 noch nicht beendet ist, weist eine zweite Anwendung, die in dem Prozessorkern 112 ausgeführt wird, die Sicherheits-Prozessoreinheit 120 an, einen zweiten sicherheitskritischen Prozess 220 auszuführen.
-
Im Zuge dieses zweiten sicherheitskritischen Prozesses 220 sollen eine Kraftstoffeinspritzmenge und eine Zusammensetzung eines Kraftstoff-Luft-Gemischs für die Brennkraftmaschine bestimmt werden. Dieser zweite Prozess 220 ist ein relevanter Prozess, der für den fehlerfreien Betrieb des Kraftfahrzeugs von großer Bedeutung ist. Dieser zweite Prozess 220 soll in Echtzeit ausgeführt werden. Die zweite Anwendung ordnet diesem zweiten Prozess 220 eine zweite, vergleichsweise hohe Priorität zu, beispielsweise "10".
-
Da diese zweite Priorität höher ist als die erste Priorität, unterbricht die Sicherheits-Prozessoreinheit 120 zum Zeitpunkt t2 die Ausführung des ersten Prozesses 210 und führt stattdessen den zweiten Prozess 220 aus. Der Fortschritt des ersten Prozesses 210 wird von der Sicherheits-Prozessoreinheit 120 gespeichert.
-
Zu einem dritten Zeitpunkt t3 ist die Ausführung des zweiten Prozesses 220 beendet. Zum dritten Zeitpunkt t3 setzt die Sicherheits-Prozessoreinheit 120 die Ausführung des ersten Prozess 210 beim Fortschritt des Zeitpunkts t2 fort. Zu einem vierten Zeitpunkt t4 ist die Ausführung des ersten Prozesses 210 beendet.
-
Im Folgenden wird ein zweites Beispiel der bevorzugten Ausführungsform des erfindungsgemäßen Verfahrens anhand der 3 beschrieben.
-
Zu einem fünften Zeitpunkt t5 weist eine dritte Anwendung, die in dem Prozessorkern 111 ausgeführt wird, die Sicherheits-Prozessoreinheit 120 an, einen dritten sicherheitskritischen Prozess 230 durchzuführen. Im Zuge dieses dritten sicherheitskritischen Prozesses 230 soll eine Überprüfung auf ein Chiptuning durchgeführt werden, also eine Überprüfung ob Steuerparameter des Steuergeräts 150 verändert wurden, um Leistungssteigerungen herbeizuführen. Diese Überprüfung soll nicht in Echtzeit durchgeführt werden. Die dritte Anwendung ordnet diesem dritten Prozess 230 eine dritte, vergleichsweise niedrige Priorität zu, beispielsweise eine Priorität von "1".
-
Die Sicherheits-Prozessoreinheit 120 beginnt zu dem fünften Zeitpunkt t5 den dritten Prozess 230 auszuführen. Zu einem sechsten Zeitpunkt t6, zu welchem die Ausführung des dritten Prozesses 230 noch nicht beendet ist, weist die zweite Anwendung, die Sicherheits-Prozessoreinheit 120 erneut an, den zweiten sicherheitskritischen Prozess 220 auszuführen, um erneut die Kraftstoffeinspritzmenge und die Zusammensetzung des Kraftstoff-Luft-Gemischs für die Brennkraftmaschine zu bestimmen. Die zweite Anwendung ordnet dem zweiten Prozess 220 erneut die zweite, hohe Priorität von beispielsweise "10" zu.
-
Da die zweite Priorität höher ist als die dritte Priorität, unterbricht die Sicherheits-Prozessoreinheit 120 zum sechsten Zeitpunkt t6 die Ausführung des dritten Prozesses 230 und führt stattdessen den zweiten Prozess 220 aus. Der Fortschritt des dritten Prozesses 230 wird von der Sicherheits-Prozessoreinheit 120 gespeichert.
-
Zu einem siebten Zeitpunkt t7 weist die erste Anwendung die Sicherheits-Prozessoreinheit 120 an, einen vierten sicherheitskritischen Prozess 240 auszuführen. Im Zuge dieses vierten sicherheitskritischen Prozesses 240 sollen Daten verschlüsselt und mit einem Authentifizierungscode versehen werden, die an ein weiteres Steuergerät des Kraftfahrzeugs übermittelt werden sollen. Dieser vierte Prozess 240 soll nicht in Echtzeit durchgeführt werden. Die erste Anwendung ordnet diesem vierten Prozess 240 eine vierte Priorität von beispielsweise "5" zu.
-
Da diese vierte Priorität geringer ist als die zweite Priorität, unterbricht die Sicherheits-Prozessoreinheit 120 zum Zeitpunkt t7 nicht die Ausführung des zweiten Prozesses 220.
-
Zu einem achten Zeitpunkt t8 ist die Ausführung des zweiten Prozesses 220 beendet. Da die vierte Priorität höher ist als die dritte Priorität des dritten Prozesses 230, setzt die Sicherheits-Prozessoreinheit 120 zum Zeitpunkt t8 nicht die Ausführung des dritten Prozesses 230 fort, sondern beginnt stattdessen mit der Ausführung des vierten Prozesses 240.
-
Zu einem neunten Zeitpunkt t9 ist die Ausführung des vierten Prozesses 240 beendet. Zum neunten Zeitpunkt t9 setzt die der Sicherheits-Prozessoreinheit 120 die Ausführung des dritten Prozesses 230 beim Fortschritt des Zeitpunkts t6 fort. Zu einem zehnten Zeitpunkt t10 ist die Ausführung des dritten Prozesses 230 beendet.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
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.
-
Zitierte Nicht-Patentliteratur
-
- Norm DIN 44300 [0030]
- Norm DIN 44300 [0033]