-
Die Erfindung betrifft ein Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeuges und ein Steuergerät für ein Kraftfahrzeug, insbesondere ein Steuergerät eines Kraftfahrzeuges welches der Steuerung von sicherheitsrelevanten Systemen des Kraftfahrzeuges dient.
-
Steuergeräte von gewöhnlichen Kraftfahrzeugen dienen dazu, in unterschiedlichen Bereichen diverse Abläufe zu steuern und/oder zu regeln. So ist beispielsweise der Einsatz von Steuergeräten in Vorrichtungen zur Fahrzustandserkennung bekannt, bei denen unterschiedliche Größen, wie beispielsweise die Lenkwinkelgeschwindigkeit, aber auch optische Signale beziehungsweise Bildsignale aufgezeichnet und ausgewertet werden, um einen kritischen Fahrzustand zu erkennen.
-
Zur Gewährleistung der Funktionsfähigkeit der eingesetzten Steuergeräte, was insbesondere bei Steuergeräten welche der Steuerung von sicherheitsrelevanten Systemen des Kraftfahrzeuges dienen von Bedeutung ist, sind unterschiedliche Vorgehensweisen bekannt. Dabei müssten Anforderung an Hardware und Software formuliert werden, die einen sicheren Betrieb gestatten. Zur Vereinheitlichung der Entwicklungsprozesse und Überwachung im Betrieb werden hierbei normierte Vorgehensweisen angestrebt.
-
Eine dabei vorgesehene ISO-Norm ist die ISO 26262, die ein Prozessrahmenwerk und Vorgehensmodell zusammen mit geforderten Aktivitäten und Arbeitsprodukten sowie anzuwendenden Methoden definiert. Die Umsetzung der Norm soll die funktionale Sicherheit eines elektronischen Systems in Kraftfahrzeugen gewährleisten.
-
Dabei wird eine Methode zur Gefahrenanalyse und Risikoabschätzung vorgeschlagen, bei der auf Grundlage der Systembeschreibung die möglicherweise gefährlichen Situationen identifiziert werden. Jede Gefahr wird dann mit einer Sicherheitsanforderungsstufe von QM (quality managed) oder ASIL (automotive safety integrity level) A bis D klassifiziert. Mit steigendem ASIL steigen auch die Anforderungen an die Sicherheit, die in den nachfolgenden Teilen spezifiziert sind. An Gefahren der Klasse QM sind keine Anforderungen gestellt, die über das übliche Qualitätsmanagement des Systemherstellers hinausgehen. Die Norm definiert dabei konkrete Anforderungen an Software und Hardware, sowohl für die Entwicklungsprozesse als auch für das Fehlverhalten im Feld.
-
Aus der Druckschrift
DE 10 2009 019 792 A1 ist ein Steuergerät für ein Kraftfahrzeug bekannt, wobei einzelne durch das Steuergerät gesteuerte Funktionskomponenten entsprechend ihrem Sicherheitsstandard, das heißt QM oder ASIL A bis D klassifiziert werden.
-
Um die Sicherheitsstufe jedes Programmteils einer sicherheitsrelevanten Funktion gewährleisten zu können, ist es hierbei erforderlich, dass sich Programmteile unterschiedlicher Sicherheitsklassifizierung während des Ablaufes nicht gegenseitig beeinflussen.
-
Ein Ansatz besteht hierbei darin, explizite Schaltbefehle einer übergeordneten Ablaufsteuerung zu verwenden, oder die einzelnen Programmteile als individuelle Prozesse der untersten Systemebene auszuführen. Gemäß einem weiteren bekannten Ansatz werden mehrere Prozessorkerne verwendet, wobei jeder Kern einer bestimmten Sicherheitsklasse zugeordnet ist, so dass nur Unterprogramme einer bestimmten Sicherheitsklassifizierung auf einem bestimmten Kern ablaufen und nicht auf den andern Kernen. Diese Ansätze erweisen sich jedoch als ineffizient, da sie zusätzlichen Rechenaufwand beziehungsweise aufwändige Prozessorarchitekturen erfordern.
-
Aufgabe der vorliegenden Erfindung ist es, ein Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeugs anzugeben, mittels welchem Programmteile unterschiedlicher Sicherheitsklassifizierung einer sicherheitsrelevanten Funktion in effizienter Weise getrennt ausgeführt werden können.
-
Gelöst wird diese Aufgabe durch den Gegenstand der unabhängigen Ansprüche. Weitere vorteilhafte Weiterbildungen sind Gegenstand der abhängigen Ansprüche.
-
Gemäß einer Ausführungsform der Erfindung wird diese Aufgabe gelöst durch ein Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeuges, welches einen Speicher zum Speichern von Programmteilen einer sicherheitsrelevanten Funktion aufweist. Der Speicher ist dabei in wenigstens fünf Speicherbereiche, welche jeweils einem unterschiedlichen Sicherheitsstandard entsprechen, zum Speichern von Programmteilen der sicherheitsrelevanten Funktion entsprechend ihrem notwendigen Sicherheitsstandard unterteilt. Das Verfahren weist dabei folgende Schritte auf: So werden zunächst zur Vererbung geeignete Programmteile der sicherheitsrelevanten Funktion in einem zusätzlichen, von den wenigstens fünf Speicherbereichen verschiedenen Speicherbereich des Speichers gespeichert. Weiter wird ein erster Programmteil einer sicherheitsrelevanten Funktion ausgeführt, wobei der erste Programmteil in einem ersten Speicherbereich des Speichers vorliegt und einen Sicherheitsstandard des ersten Speicherbereichs entsprechende Rechte aufweist. Falls nun während des Ausführens des ersten Programmteils ein zur Vererbung geeigneter Programmteil der sicherheitsrelevanten Funktion aufgerufen wird, werden die dem Sicherheitsstandard des ersten Speicherbereichs entsprechenden Rechte an den zur Vererbung geeigneten Programmteil vererbt und der zur Vererbung geeignete Programmteil sodann ausgeführt.
-
Grundgedanke ist somit, dadurch, dass zur Vererbung geeignete Programmteile in einem zusätzlichen Speicherbereich vorgesehen werden, welche die Rechte eines sie aufrufenden Programmteils erben können, zu gewährleisten, dass sich die Programmteile unterschiedlicher Sicherheitsklassifizierung während des Ablaufens einzelner Programmteile nicht gegenseitig beeinflussen. Unter zur Vererbung geeigneten Programmteilen werden hierbei Programmteile, welche Code für Nutzerdaten enthalten, insbesondere Code welcher dem Programmteil Nutzerdaten übergibt, verstanden, das heißt Programmteile welche mit vererbten Rechten auf Nutzerdaten entsprechend dem Sicherheitsstandard eines sie aufrufenden Programmteils arbeiten und keine eigenen Daten besitzen.
-
Ein derartiges Verfahren hat den Vorteil, dass mit diesem ein Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeuges angegeben wird, mittels welchem Programmteile unterschiedlicher Sicherheitsklassifizierung einer sicherheitsrelevanten Funktion in effizienter Weise getrennt ausgeführt werden können.
-
Vererbte Berechtigungen, das heißt Zugriffsrechte, sind in der Datenverarbeitung bekannt und werden von einem übergeordneten Objekt auf ein Objekt übertragen. Dies erleichtert die Verwaltung von Berechtigungen und stellt die einheitliche Zuweisung von Berechtigungen zu sämtlichen Objekten innerhalb eines Containers, das heißt Speicherbereichen des Speichers, sicher.
-
Weiter sind derartige Vererbungsverfahren in der Informatik und der Digitaltechnik gebräuchlich, so dass diese hier einfach und ohne großen Aufwand implementiert und realisiert werden können.
-
Weiter erfordert das erfindungsgemäße Verfahren weder zusätzlichen Rechenaufwand noch aufwändige Prozessorarchitekturen, zumal durch Vererbung der Rechte des aufrufenden Programmteils sichergestellt werden kann, dass keine Rechte anderer Sicherheitsstandards während des Ausführens von zur Vererbung geeigneten Programmteilen verletzt werden. Die Programmteile, deren getrennter Ablauf gesteuert wird, sind dabei dadurch verknüpft, dass im Rahmen eines Programmteils ein weiterer der Programmteile aufgerufen wird. Insbesondere wird innerhalb eines Programmteils ein weiterer Programmteil als Unterprogramm aufgerufen, beispielsweise als Funktion oder als Prozedur, die beispielsweise Teil des aufrufenden Programmteils oder aber eine Unterbrechung ist. Beim Aufruf eines Programmteils als Funktion können Rechte von einem aufrufenden Programmteil an den aufgerufenen Programmteil weitergegeben werden, so dass auf einfache Art und Weise und effizient gewährleistet werden kann, dass anderen Sicherheitsstandards entsprechende Rechte durch den Ablauf des zur Vererbung geeigneten Programmteils und umgekehrt nicht beeinflusst werden.
-
Ferner kann ein aufrufender Programmteil auch mehrere Programmteile aufrufen, so dass ein oder mehrere zur Vererbung geeignete Programmteile bestehen können. Auch können mehrere aufrufende Programmteile bestehen, die ein oder mehrere Programmteile aufrufen, die verschieden sein können.
-
Ein zur Vererbung geeigneter Programmteil, der von einem ersten Programmteil aufgerufen wird, kann ebenso ein oder mehrere weitere zur Vererbung geeignete Programmteile aufrufen. Die Reihenfolge einer Vererbung der Rechte zwischen aufgerufenen, aufrufenden, ersten und zur Vererbung geeigneten Programmteilen kann dabei jeweils situationsabhängig und entsprechend einer Hierarchie zwischen den Programmteilen für die Situation eines Aufrufs erfolgen. Für die Situation eines weiteren Aufrufs kann die Hierarchie eine andere sein, so dass sich auch die Reihenfolge der Vererbung des Rechtes dementsprechend abhängig von der Situation des Aufrufs ändern kann.
-
Bevorzugt umfassen die dem Sicherheitsstandard des ersten Speicherbereichs entsprechenden Rechte dabei Rechte für einen Lese/Schreib-Zugriff auf den ersten Speicherbereich sowie Rechte für einen Lese-Zugriff auf von dem ersten Speicherbereich verschiedene Speicherbereiche der wenigstens fünf Speicherbereiche. So kann es insbesondere dadurch, dass Nutzerdaten von einem Programmteil in einen Speicherbereich des Speichers, in welchem Programmteile mit anderer Sicherheitsklassifizierung gespeichert sind, geschrieben und folglich verändert werden, dazu kommen, dass sich Programmteile unterschiedlicher Sicherheitsklassifizierung während des Ablaufs gegenseitig beeinflussen können. Durch die erfindungsgemäße Vererbung der Rechte kann dieser Gefahr auf einfache und effiziente Weise entgegengetreten werden.
-
Weiter kann der zusätzliche, von den wenigstens fünf Speicherbereichen verschiedene Speicherbereich ausgebildet sein, dass dieser einem höchsten Sicherheitsstandard der Sicherheitsstandards der wenigstens fünf Speicherbereiche entspricht, wodurch gewährleistet werden kann, dass dieser den höchsten Sicherheitszielen, das heißt dem höchsten Sicherheitsstandard gerecht wird und ausgehend von jedem der wenigstens fünf Speicherbereiche ein zur Vererbung geeigneter, in dem zusätzlichen Speicherbereich vorliegender Programmteil aufgerufen werden kann.
-
Gemäß einer Ausführungsform sind die Sicherheitsstandards der Speicherbereiche des Speichers dabei nach dem Standard ISO 26262 ausgebildet und gemäß ASIL A bis D oder QM klassifiziert. Die Sicherheitsstandards der einzelnen Speicherbereiche können folglich entsprechend der Norm ISO 26262 gewählt werden, welche eine ISO-Norm für sicherheitsrelevante elektrische/elektronische Systeme in Kraftfahrzeugen darstellt. Die von einem Programmteil ausgehende Gefahr kann dabei mit einer Sicherheitsanforderungsstufe von QM (quality managed) oder ASIL (automotive safety integrity level) A bis D klassifiziert werden. Mit den Speicherbereichen sind somit insbesondere auch in unterschiedlichen Speicherbereichen vorliegende Programmteile unterschiedlich klassifiziert.
-
Zudem kann das Verfahren weiter folgende Schritte aufweisen: So wird der erste Speicherbereich gesperrt, falls ein zweiter Programmteil, welcher in einem zweiten Speicherbereich der wenigstens fünf Speicherbereich vorliegt, während des Ausführens des ersten Programmteils aufgerufen wird und der zweite Speicherbereich entsprechend freigegeben. Hierdurch kann weiter gewährleistet werden, dass sich die einzelnen Programmteile während des Ausführens nicht gegenseitig beeinflussen, insbesondere, da ein Zugriff auf den ersten Speicherbereich gesperrt und somit insbesondere ein Schreiben von Daten in den ersten Speicherbereich durch den zweiten Programmteil nicht möglich ist während der zweite Programmteil ausgeführt wird. Hierdurch kann die Effizienz des Verfahrens weiter erhöht werden.
-
Dabei kann weiter der zweite Speicherbereich nach Beendigung des Ausführens des zweiten Programmteils wieder gesperrt und der erste Speicherbereich wieder freigegeben werden. Diese Rücksperrung kann dabei beispielsweise durch einen Rücksperrungsbefehl des zweiten Programmteils beziehungsweise durch das Ende der Befehle, die den zweiten Programmteil darstellen, ausgelöst werden. Durch das erneute Freigeben kann nunmehr wiederum auf den ersten Programmteil und den damit in Beziehung stehenden Speicherbereich zugegriffen und dieser weiter ausgeführt werden.
-
Insbesondere kann dabei ein Zugriff auf den zweiten Speicherbereich durchgehend gesperrt sein, während der erste Programmteil ausgeführt wird und ein Zugriff auf den ersten Speicherbereich durchgehend gesperrt sein, während der zweite Programmteil ausgeführt wird, so dass weiter die Gefahr einer Beeinflussung von Programmteilen unterschiedlicher Sicherheitsklassifizierung untereinander erheblich reduziert werden kann.
-
Mit einer weiteren Ausführungsform der Erfindung wird auch ein Steuergerät für ein Kraftfahrzeug angegeben, welches einen Prozessor zum Ausführen von Programmteilen einer sicherheitsrelevanten Funktion, einen Speicher, welcher in wenigstens fünf Speicherbereiche entsprechend unterschiedlicher Sicherheitsstandards unterteilt ist, zum Speichern von Programmteilen der sicherheitsrelevanten Funktion entsprechend ihrem notwendigen Sicherheitsstandard sowie eine Speicherschutzeinrichtung aufweist. Dabei weist der Speicher einen zusätzlichen Speicherbereich, welcher von den wenigstens fünf Speicherbereichen verschieden ist, zum Speichern von zur Vererbung geeigneten Programmteilen der sicherheitsrelevanten Funktion auf und weist die Speicherschutzeinrichtung einer Vererbungseinheit auf, welche derart ausgebildet ist, einem Sicherheitsstandard eines ersten Speicherbereichs der wenigstens fünf Speicherbereiche entsprechende Rechte an einen zur Vererbung geeigneten Programmteil zu vererben, falls während der Prozessor einen ersten Programmteil der sicherheitsrelevanten Funktion, welcher in dem ersten Speicherbereich vorliegt, ausführt, der zur Vererbung geeignete Programmteil aufgerufen wird.
-
Ein derartiges Steuergerät hat den Vorteil, dass mit diesem ein Steuergerät eines Kraftfahrzeuges angegeben wird, bei welchem Programmteile unterschiedlicher Sicherheitsklassifizierung einer sicherheitsrelevanten Funktion in effizienter Weise getrennt ausgeführt werden können. Unter zur Vererbung geeigneten Programmteilen werden hierbei Programmteile, welche Code für Nutzerdaten enthalten, insbesondere Code welcher dem Programmteil Nutzerdaten übergibt, verstanden, das heißt Programmteile welche mit vererbten Rechten auf Nutzerdaten entsprechend dem Sicherheitsstandard eines sie aufrufenden Programmteils arbeiten und keine eigenen Daten besitzen.
-
Vererbte Berechtigungen, das heißt Zugriffsrechte, sind in der Datenverarbeitung bekannt und werden von einem übergeordneten Objekt auf ein Objekt übertragen. Dies erleichtert die Verwaltung von Berechtigungen und stellt die einheitliche Zuweisung von Berechtigungen zu sämtlichen Objekten innerhalb eines Containers, das heißt Speicherbereichen des Speichers, sicher. Weiter sind derartige Vererbungsverfahren in der Informatik und der Digitaltechnik gebräuchlich, so dass diese hier einfach und ohne großen Aufwand in die Speicherschutzeinrichtung implementiert und realisiert werden können.
-
Weiter erfordert das erfindungsgemäße Steuergerät weder zusätzlichen Rechenaufwand noch aufwändige Prozessorarchitekturen, zumal die Speicherschutzeinrichtung ausgebildet ist, durch Vererbung der Rechte des aufrufenden Programmteils sicherzustellen, dass keine Rechte anderer Sicherheitsstandards während des Ausführens von zur Vererbung geeigneten Programmteilen verletzt werden. Die Programmteile, deren getrennter Ablauf gesteuert wird, sind dabei dadurch verknüpft, dass im Rahmen eines Programmteils ein weiterer der Programmteile aufgerufen wird. Insbesondere wird innerhalb eines Programmteils ein weiterer Programmteil als Unterprogramm aufgerufen, beispielsweise als Funktion oder als Prozedur, die beispielsweise Teil des aufrufenden Programmteils oder aber eine Unterbrechung ist. Beim Aufruf eines Programmteils als Funktion können Rechte von einem aufrufenden Programmteil an den aufgerufenen Programmteil weitergegeben werden, so dass auf einfache Art und Weise und effizient gewährleistet werden kann, dass anderen Sicherheitsstandards entsprechende Rechte durch den Ablauf des zur Vererbung geeigneten Programmteils und umgekehrt nicht beeinflusst werden.
-
Die Vererbungseinheit kann hierbei sowohl durch entsprechende Hardwarekomponenten als auch durch Software realisiert werden.
-
Ferner kann ein aufrufender Programmteil auch mehrere Pro-grammteile aufrufen, so dass ein oder mehrere zur Vererbung geeignete Programmteile bestehen können. Auch können mehrere aufrufende Programmteile bestehen, die ein oder mehrere Pro-grammteile aufrufen, die verschieden sein können.
-
Ein zur Vererbung geeigneter Programmteil, der von einem ersten Programmteil aufgerufen wird, kann ebenso ein oder mehrere weitere zur Vererbung geeignete Programmteile aufrufen. Die Reihenfolge einer Vererbung der Rechte zwischen aufgerufenen, aufrufenden, ersten und zur Vererbung geeigneten Programmteilen kann dabei jeweils situationsabhängig und entsprechend einer Hierarchie zwischen den Programmteilen für die Situation eines Aufrufs erfolgen. Für die Situation eines weiteren Aufrufs kann die Hierarchie eine andere sein, so dass sich auch die Reihenfolge der Vererbung des Rechtes dementsprechend ab-hängig von der Situation des Aufrufs ändern kann.
-
Dabei können die dem Sicherheitsstandard des ersten Speicherbereichs entsprechenden Rechte Rechte für einen Lese/Schreib-Zugriff auf den ersten Speicherbereich sowie Rechte für einen Lese-Zugriff auf von dem ersten Speicherbereich verschiedene Speicherbereiche der wenigstens fünf Speicherbereiche umfassen. So kann es insbesondere dadurch, dass Nutzerdaten von einem Programmteil in einen Speicherbereich des Speichers, in welchem Programmteile mit anderer Sicherheitsklassifizierung gespeichert sind, geschrieben und folglich verändert werden, dazu kommen, dass sich Programmteile unterschiedlicher Sicherheitsklassifizierung während des Ablaufs gegenseitig beeinflussen können. Durch die erfindungsgemäße Vererbungseinheit kann dieser Gefahr auf einfache und effiziente Weise entgegengetreten werden.
-
Auch kann der zusätzliche, von den wenigstens fünf Speicherbereichen verschiedene Speicherbereich einem höchsten Sicherheitsstandard der Sicherheitsstandards der wenigstens fünf Speicherbereiche entsprechen, wodurch gewährleistet werden kann, dass dieser den höchsten Sicherheitszielen, das heißt dem höchsten Sicherheitsstandard gerecht wird und ausgehend von jedem der wenigstens fünf Speicherbereiche ein zur Vererbung geeigneter, in dem zusätzlichen Speicherbereich vorliegender Programmteil aufgerufen werden kann.
-
Weiter können die Sicherheitsstandards der wenigstens fünf Speicherbereiche des Speichers dabei wiederum nach dem Standard ISO 26262 ausgebildet und gemäß ASIL A bis D oder QM klassifiziert sein. Die Sicherheitsstandards der einzelnen Speicherbereiche können folglich entsprechend der Norm ISO 26262 gewählt werden, welche eine ISO-Norm für sicherheitsrelevante elektrische/elektronische Systeme in Kraftfahrzeugen darstellt. Die von einem Programmteil ausgehende Gefahr kann dabei mit einer Sicherheitsanforderungsstufe von QM (quality managed) oder ASIL (automotive safety integrity level) A bis D klassifiziert werden.
-
Gemäß einer Ausführungsform weist die Speicherschutzeinrichtung weiter eine Zugriffseinheit zum Steuern eines Zugriffs auf die wenigstens fünf Speicherbereiche, derart, dass die Zugriffseinheit den ersten Speicherbereich sperrt und einen zweiten Speicherbereich der wenigstens fünf Speicherbereiche freigibt, falls während des Ausführens des ersten Programmteils ein zweiter Programmteil, welcher in dem zweiten Speicherbereich vorliegt, aufgerufen wird. Hierdurch kann weiter gewährleistet werden, dass sich die einzelnen Programmteile während des Ausführens nicht gegenseitig beeinflussen, insbesondere da das Steuergerät durch die Zugriffseinheit ausgebildet ist, einen Zugriff auf den ersten Speicherbereich zu sperren und somit insbesondere ein Schreiben von Daten in den ersten Speicherbereich durch den zweiten Programmteil nicht möglich ist, während der zweite Programmteil ausgeführt wird. Hierdurch kann die Effizienz beim Betreiben von sicherheitsrelevanten Funktionen auf dem Steuergerät weiter erhöht werden. Auch sind derartige Ausnahmehandler zum Handeln einer derartigen Ausnahme, das heißt eines Aufrufs eines zweiten Programmteils während ein erster Programmteil ausgeführt wird, in der Informatik und der Digitaltechnik bekannt und gebräuchlich, so dass diese Funktion hier einfach und ohne großen Aufwand realisiert beziehungsweise implementiert werden kann.
-
Dabei kann die Zugriffseinheit weiter ausgebildet sein, den zweiten Speicherbereich nach Beendigung eines Ausführens des zweiten Programmteils zu sperren und den ersten Speicherbereich wieder freizugeben. Diese Rücksperrung kann dabei beispielsweise durch einen Rücksperrungsbefehl des zweiten Programmteils beziehungsweise durch das Ende der Befehle, die den zweiten Programmteil darstellen, ausgelöst werden. Durch das erneute Freigeben kann nunmehr wiederum auf den ersten Programmteil und den damit in Beziehung stehenden Speicherbereich zugegriffen und dieser weiter ausgeführt werden.
-
Mit einer weiteren Ausführungsform der Erfindung wird zudem auch ein Kraftfahrzeug angegeben, welches ein oben beschriebenes Steuergerät aufweist.
-
Ein derartiges Kraftfahrzeug hat den Vorteil, dass dieses ein Steuergerät aufweist, bei dem Programmteile unterschiedlicher Sicherheitsklassifizierung einer sicherheitsrelevanten Funktion in effizienter Weise getrennt ausgeführt werden können.
-
Vererbte Berechtigungen, das heißt Zugriffsrechte, sind in der Datenverarbeitung bekannt und werden von einem übergeordneten Objekt auf ein Objekt übertragen. Dies erleichtert die Verwaltung von Berechtigungen und stellt die einheitliche Zuweisung von Berechtigungen zu sämtlichen Objekten innerhalb eines Containers, das heißt Speicherbereichen des Speichers, sicher. Weiter sind derartige Vererbungsverfahren in der Informatik und der Digitaltechnik gebräuchlich, so dass diese hier einfach und ohne großen Aufwand in die Speicherschutzeinrichtung des Steuergerätes des Kraftfahrzeuges implementiert und realisiert werden können.
-
Weiter erfordert ein derartiges Steuergerät weder zusätzlichen Rechenaufwand noch aufwändige Prozessorarchitekturen, zumal die Speicherschutzeinrichtung des Steuergerätes des Kraftfahrzeugs ausgebildet ist, durch Vererbung der Rechte des aufrufenden Programmteils sicherzustellen, dass keine Rechte anderer Sicherheitsstandards während des Ausführens von zur Vererbung geeigneten Programmteilen verletzt werden. Die Programmteile, deren getrennter Ablauf gesteuert wird, sind dabei dadurch verknüpft, dass im Rahmen eines Programmteils ein weiterer der Programmteile aufgerufen wird. Insbesondere wird innerhalb eines Programmteils ein weiterer Programmteil als Unterprogramm aufgerufen, beispielsweise als Funktion oder als Prozedur, die beispielsweise Teil des aufrufenden Programmteils oder aber eine Unterbrechung ist. Beim Aufruf eines Programmteils als Funktion können Rechte von einem aufrufenden Programmteil an den aufgerufenen Programmteil weitergegeben werden, so dass auf einfache Art und Weise und effizient gewährleistet werden kann, dass anderen Sicherheitsstandards entsprechende Rechte durch den Ablauf des zur Vererbung geeigneten Programmteils und umgekehrt nicht beeinflusst werden.
-
Sicherheitsrelevante Funktionen im Bereich des Kraftfahrzeuges, welche durch ein derartiges Steuergerät des Kraftfahrzeuges ausgeführt werden können, sind insbesondere Programmteile zur Umsetzung von Funktionen im Bereich des Antriebsstranges beziehungsweise Funktionen des Antriebsstranges oder Funktionen von weiteren fahrzeugspezifischen Applikationen, wie Lenksystem, Fahrzeug- oder Insassensicherheitssysteme, Funktion eines Verbrennungsmotors, eines Elektromotors, einer elektrischen, elektromechanischen, oder mechanischen Bremsvorrichtung des Kraftfahrzeuges oder eines elektrischen Lenkantriebs. Weitere Funktionen betreffen die optische oder akustische Anzeige von Betriebszuständen, welche Zustände der eingangs genannten Funktionen sind.
-
Zusammenfassend ist festzustellen, dass mit der vorliegenden Erfindung ein Verfahren zum Betreiben eines Steuergerätes eines Kraftfahrzeugs angegeben wird, mittels welchem Programmteile unterschiedlicher Sicherheitsklassifizierung einer sicherheitsrelevanten Funktion in effizienter Weise getrennt ausgeführt werden können und welches weder zusätzlichen Rechenaufwand bei der Ausführung von sicherheitsrelevanten Funktionen noch aufwändige Prozessorarchitekturen zum Ausführen der sicherheitsrelevanten Funktionen erfordert.
-
Dabei können beim Aufruf eines Programmteils als Funktion von einem anderen Programmteil Rechte von einem aufrufenden Programmteil an den aufgerufenen Programmteil weitergegeben werden, so dass durch das Steuergerät auf einfache Art und Weise und effizient gewährleistet werden kann, keine Rechte anderer Sicherheitsstandards während des Ausführens von zur Vererbung geeigneten Programmteilen verletzt werden.
-
Weiter sind derartige Vererbungsverfahren in der Informatik und der Digitaltechnik gebräuchlich, so dass diese hier ein-fach und ohne großen Aufwand implementiert und realisiert werden können.
-
Zudem kann durch Kombination des Verfahrens mit weiteren durch einen Ausnahmehandler realisierten Funktionen, insbesondere einen Zugriff auf einen ersten Speicherbereich zu sperren und somit insbesondere ein Schreiben von Daten in den ersten Speicherbereich durch einen zweiten Programmteil zu unterbinden, während der zweite Programmteil ausgeführt wird, die Effizienz des Verfahrens weiter erhöht werden.
-
Die Erfindung wird nun anhand der beigefügten Figuren näher erläutert.
-
1 zeigt ein schematisches Blockschaltbild eines Steuergeräts eines Kraftfahrzeuges gemäß Ausführungsformen der Erfindung;
-
2 zeigt ein Flussdiagramm eines Verfahrens zum Betreiben eines Steuergerätes eines Kraftfahrzeuges gemäß Ausführungsformen der Erfindung.
-
1 zeigt ein schematisches Blockschaltbild eines Steuergeräts 1 eines Kraftfahrzeuges gemäß Ausführungsformen der Erfindung.
-
Wie 1 zeigt, weist das Steuergerät 1 dabei einen Speicher 2 zum Speichern von Programmteilen 3, 4, 5, 6, 7 von sicherheitsrelevanten Funktionen auf, wobei der Speicher 2 in fünf Speicherbereiche 8, 9, 10, 11, 12, welche jeweils einem unterschiedlichen Sicherheitsstandard entsprechen, zum Speichern von Programmteilen 3, 4, 5, 6, 7 der sicherheitsrelevanten Funktion, unterteilt ist.
-
Beispielhaft sind alle Programmteile des Speicherbereichs 8, das heißt der Programmteil 3, einer ersten Sicherheitsstufe zugeordnet, während die Programmteile 4 des Speicherbereichs 9 einer anderen Sicherheitsstufe zugeordnet sind, und wiederum der Programmteil 5 des Speicherbereichs 10 einer weiteren, zu den Programmteilen 3, 4 verschiedenen Sicherheitsstufe zugeordnet.
-
Zu erkennen ist weiter ein Prozessor 13 zum Ausführen der Programmteile 3, 4, 5, 6, 7 einer sicherheitsrelevanten Funktion.
-
Um dabei die Sicherheitsstufe jedes Programmteils 3, 4, 5, 6, 7 gewährleisten zu können, ist es hierbei erforderlich, dass sich die Programmteile 3, 4, 5, 6, 7 unterschiedlicher Sicherheitsklassifizierung während des Ablaufes nicht gegenseitig beeinflussen.
-
Gemäß den Ausführungsformen der 1 weist das Steuergerät 1 hierzu weiter eine Speicherschutzeinrichtung 14 auf. Gemäß den Ausführungsformen der 1 ist die Speicherschutzeinrichtung 14 dabei Teil des Prozessors 13. Ferner kann die Speicherschutzeinrichtung 14 aber auch von dem Prozessor 13 getrennt ausgebildet sein, beispielsweise durch Hardwarekomponenten, welche unmittelbar mit dem Prozessor 13 verbunden sind. Weiter ist der Speicher 2 des Steuergeräts 1 der 1 von dem Prozessor 13 getrennt ausgebildet. Alternativ kann der Speicher 2 jedoch auch in den Prozessor 13 integriert sein.
-
Gemäß den Ausführungsformen der 1 weist der Speicher 2 dabei einen zusätzlichen Speicherbereich 15, welcher von den fünf Speicherbereichen 8, 9, 10, 11, 12 verschieden ist und in welchem zur Vererbung geeignete Programmteile vorliegen, auf. Weiter weist die dargestellte Speicherschutzeinrichtung 14 eine Vererbungseinheit 17 auf, welche derart ausgebildet ist, einem Sicherheitsstandard eines ersten Speicherbereichs 8 der wenigstes fünf Speicherbereiche 8, 9, 10, 11, 12 entsprechende Rechte einem zur Vererbung geeigneten Programmteil 16 zu vererben, falls während der Prozessor 13 ein erstes Programmteil 3 der sicherheitsrelevanten Funktion, welches in dem ersten Speicherbereich 8 vorliegt, ausführt, der zur Vererbung geeignete Programmteil 16 aufgerufen wird. Die Vererbungseinheit 17 kann hierbei sowohl durch entsprechende Hardwarekomponenten als auch durch Software realisiert werden.
-
Unter zur Vererbung geeigneten Programmteilen werden hierbei wiederum Programmteile, welche Code für Nutzerdaten enthalten, insbesondere Code welcher dem Programmteil Nutzerdaten übergibt, verstanden, das heißt Programmteile welche mit vererbten Rechten auf Nutzerdaten entsprechend dem Sicherheitsstandard eines sie aufrufenden Programmteils arbeiten und keine eigenen Daten besitzen.
-
Die Programmteile sind folglich dadurch verknüpft, dass im Rahmen eines Programmteils 3 ein weiterer Programmteil 16 aufgerufen wird. Insbesondere wird innerhalb eines Programmteils 3 ein weiterer Programmteil 16 als Unterprogramm aufgerufen, beispielsweise als Funktion oder als Prozedur, die beispielsweise Teil des aufrufenden Programmteils 3 oder aber eine Unterbrechung ist und auf Nutzerdaten arbeitet. Beim Aufruf des Programmteils 16 als Funktion werden Rechte von dem aufrufenden Programmteil 3 an den aufgerufenen Programmteil 16 weitergegeben werden, so dass durch das Steuergerät 1 auf einfache Art und Weise und effizient gewährleistet werden kann, dass anderen Sicherheitsstandards entsprechende Rechte durch den Ablauf des zur Vererbung geeigneten Programmteils und umgekehrt nicht beeinflusst wird.
-
Ferner kann ein aufrufender Programmteil auch mehrere Programmteile aufrufen, so dass ein oder mehrere zur Vererbung geeignete Programmteile bestehen können. Auch können mehrere aufrufende Programmteile bestehen, die ein oder mehrere Programmteile aufrufen, die verschieden sein können. Ein Programmteil, der von einem ersten Programmteil aufgerufen wird, kann ebenso ein oder mehrere weitere Programmteile aufrufen. Die Reihenfolge einer Vererbung der Zugriffsrechte zwischen aufgerufenen, aufrufenden, ersten und zur Vererbung geeigneten Programmteilen kann dabei jeweils situationsabhängig und entsprechend einer Hierarchie zwischen den Programmteilen für die Situation eines Aufrufs erfolgen. Für die Situation eines weiteren Aufrufs kann die Hierarchie eine andere sein, so dass sich auch die Reihenfolge der Vererbung des Zugriffsrechts dementsprechend abhängig von der Situation des Aufrufs ändern kann.
-
Insgesamt erfordert das Steuergerät 1, verglichen mit weiteren bekannten Steuergeräten zum Betreiben von sicherheitsrelevanten Funktionen, weder zusätzlichen Rechenaufwand bei der Ausführung von sicherheitsrelevanten Funktionen noch aufwändige Prozessorarchitekturen zum Ausführen der sicherheitsrelevanten Funktionen, zumal die Speicherschutzeinrichtung 14 ausgebildet ist, durch Vererbung der Rechte des aufrufenden Programmteils sicherzustellen, dass keine Rechte anderer Sicherheitsstandards während des Ausführens von zur Vererbung geeigneten Programmteilen verletzt werden.
-
Gemäß den Ausführungsformen der 1 handelt es sich bei den dem Sicherheitsstandard des ersten Speicherbereichs 8 entsprechenden Rechten um Rechte für einen Lese/Schreib-Zugriff auf den ersten Speicherbereich 8 sowie Rechte für einen Lese-Zugriff auf von dem ersten Speicherbereich 8 verschiedene Speicherbereiche 9, 10, 11, 12 der wenigstens fünf Speicherbereiche 8, 9, 10, 11, 12.
-
Gemäß den Ausführungsformen der 1 entspricht der zusätzliche Speicherbereich 15 zudem den höchsten Sicherheitsstandards der Sicherheitsstandards der fünf Speicherbereiche 8, 9, 10, 11, 12.
-
Zudem sind die Sicherheitsstandards der fünf Speicherbereiche 8, 9, 10, 11, 12 des Speichers 2 der 1 nach dem Standard ISO 26262 ausgebildet und gemäß ASIL A bis D oder QM klassifiziert. Die Sicherheitsstandards der einzelnen Speicherbereiche 8, 9, 10, 11, 12 können folglich entsprechend der Norm ISO 26262 gewählt werden, welche eine ISO-Norm für sicherheitsrelevante elektrische/elektronische Systeme in Kraftfahrzeugen darstellt.
-
Wie zu erkennen ist, weist die Speicherschutzeinrichtung 14 zudem eine Zugriffseinheit 18 zum Steuern eines Zugriffs auf die wenigstens fünf Speicherbereiche 8, 9, 10, 11, 12 derart auf, dass die Zugriffseinheit 18 den ersten Speicherbereich 8 sperrt und den zweiten Speicherbereich 9 freigibt, falls während des Ausführens des ersten Programmteils 3 ein zweiter Programmteil 4 aufgerufen wird, welcher in einem zweiten Speicherbereich 9 vorliegt.
-
Die Zugriffseinheit 18 gemäß 1 ist dabei als Ausnahmehandler 19 ausgebildet. Dabei wird durch den Aufruf des zweiten Programmteils 4, während der erste Programmteil 3 ausgeführt wird, von der Speicherschutzeinrichtung 14 eine Ausnahme ausgelöst. Der Ausnahmehandler 19 erfasst diese Ausnahme und sperrt den ersten Speicherbereich 8. Ferner gibt der Ausnahmehandler 19, vorzugsweise mit oder nach dem Sperren, den zweiten Speicherbereich 9 zum Zugriff und insbesondere zur Ausführung durch den Prozessor 14 frei.
-
Dabei ist die Zugriffseinheit 18 der 1 weiter ausgebildet, den zweiten Speicherbereich 9 nach Beendigung des Ausführens des zweiten Programmteils 4 zu sperren und den ersten Speicherbereich 8 wieder freizugeben. Dabei wird am Ende der Ausführung des zweiten Programmteils 4 ein Sperrungsbefehl generiert, der von dem Ausnahmehandler 19 ebenso als Aufruf angesehen und verwertet wird.
-
2 zeigt ein Flussdiagramm eines Verfahrens 20 zum Betreiben eines Steuergeräts eines Kraftfahrzeuges gemäß Ausführungsform der Erfindung.
-
Das Steuergerät weist dabei wiederum einen Speicher zum Speichern von Programmteilen einer sicherheitsrelevanten Funktion auf, wobei der Speicher in wenigstens fünf Speicherbereiche, welche jeweils einem unterschiedlichen Sicherheitsstandard entsprechen, zum Speichern von Programmteilen der sicherheitsrelevanten Funktion entsprechend ihrem notwendigen Sicherheitsstandard unterteilt ist.
-
Wie 2 zeigt, weist das Verfahren 20 dabei folgende Schritte auf: So werden in einem ersten Schritt 21 zunächst zur Vererbung geeignete Programmteile der sicherheitsrelevanten Funktion in einem zusätzlichen, von den wenigstens fünf Speicherbereichen verschiedenen Speicherbereich des Speichers gespeichert. In einem folgenden Schritt 22 wird ein erster Programmteil der sicherheitsrelevanten Funktion ausgeführt, welcher in einem ersten Speicherbereich des Speichers vorliegt und einem Sicherheitsstandard des ersten Speicherbereichs entsprechende Rechte aufweist. In einem folgenden Schritt 23 wird detektiert, ob während des Ausführens des ersten Programmteils der sicherheitsrelevanten Funktion ein zur Vererbung geeigneter Programmteil aufgerufen wird. Wird ein zur Vererbung geeigneter programmteil aufgerufen, so werden in einem Schritt 24 die dem Sicherheitsstandard des ersten Speicherbereichs entsprechenden Rechte an den zur Vererbung geeignete Programmteil vererbt und in einem Schritt 25 der zur Vererbung geeignete Programmteil ausgeführt.
-
Unter zur Vererbung geeigneten Programmteilen werden hierbei wiederum Programmteile, welche Code für Nutzerdaten enthalten, insbesondere Code welcher dem Programmteil Nutzerdaten übergibt, verstanden, das heißt Programmteile welche mit vererbten Rechten auf Nutzerdaten entsprechend dem Sicherheitsstandard eines sie aufrufenden Programmteils arbeiten und keine eigenen Daten besitzen.
-
Wird dabei in dem Schritt 23 detektiert, dass ein zur Vererbung geeigneter Programmteil aufgerufen wird, fährt das Verfahren mit den Schritten 24 und 25 fort.
-
Die dem Sicherheitsstandard des ersten Speicherbereichs entsprechenden Rechten umfassen dabei wiederum Rechte für einen Lese/Schreib-Zugriff auf den ersten Speicherbereich sowie Rechten für einen Lese-Zugriff auf von dem ersten Speicherbereich verschiedene Speicherbereiche der wenigstens fünf Speicherbereiche.
-
Gemäß den Ausführungsformen der 2 weist der zusätzliche Speicherbereich wiederum einen höchsten Sicherheitsstandard der Sicherheitsstandards der wenigstens fünf Speicherbereiche auf.
-
Gemäß den Ausführungsformen der 2 wird, falls in dem Schritt 23 detektiert wird, dass kein zur Vererbung geeigneter Programmteil aufgerufen wird, wird in einem Schritt 26 detektiert, ob ein zweiter Programmteil der sicherheitsrelevanten Funktion, welcher in einem zweiten Speicherbereich der wenigstens fünf Speicherbereiche vorliegt, aufgerufen wird.
-
Wird in dem Schritt 23 detektiert, dass kein zweiter Programmteil der sicherheitsrelevanten Funktion, welcher in einem zweiten Speicherbereich der wenigstens fünf Speicherbereiche vorliegt, aufgerufen wird, werden 22 und 23 wiederholt ausgeführt.
-
Wird jedoch detektiert, dass ein zweiter Programmteil der sicherheitsrelevanten Funktion aufgerufen wird, wird in einem Schritt 27 mit Aufrufen des zweiten Programmteils der erste Speicherbereich gesperrt und in einem Schritt 28 der zweite Speicherbereich, in welchem der zweite Programmteil vorliegt, freigegeben.
-
Gemäß den Ausführungsformen der 2 wird dabei der zweite Speicherbereich gesperrt und der erste Speicherbereich wieder freigegeben, sobald das Ausführen des ersten Speicherbereichs beendet ist.
-
Gemäß den Ausführungsformen der 2 ist weiter ein Zugriff auf den zweiten Speicherbereich dabei durchgehend gesperrt, während der erste Programmteil ausgeführt wird und ein Zugriff auf den ersten Speicherbereich durchgehend gesperrt, während der zweite Programmteil ausgeführt wird.
-
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 Patentliteratur
-
- DE 102009019792 A1 [0006]
-
Zitierte Nicht-Patentliteratur
-
- ISO 26262 [0004]
- ISO 26262 [0021]
- ISO 26262 [0021]
- ISO 26262 [0034]
- ISO 26262 [0034]
- ISO 26262 [0062]
- ISO 26262 [0062]