-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft Sicherheitstechnologie zum Umgang mit betrügerischen Handlungen in Bezug auf beispielsweise Betriebssteuerungsbefehlsnachrichten eines Fahrzeugs, die in einem Bordnetzwerk gesendet werden, in welchem die Kommunikation durch eine in dem Fahrzeug montierte, elektronische Steuerungseinheit erfolgt.
-
Hintergrund
-
In den letzten Jahren hat eine große Anzahl von Geräten, die als „elektronische Steuerungseinheiten“ (ECUs, engl: „electronic control unit“) bezeichnet werden, Eingang in Kraftfahrzeugsysteme gefunden. Ein Netzwerk, das diese ECUs verbindet, wird als ein „Bordnetzwerk“ bezeichnet. Für Bordnetzwerke existieren zahlreiche Normen. Unter diesen Normen handelt es sich bei einer als CAN (Controller Area Network) bezeichneten und in der ISO 11898-1 spezifizierten Norm um eine der am weitesten verbreiteten Bordnetzwerk-Normen.
-
Gemäß der CAN-Norm handelt es sich bei jedem Kommunikationspfad um einen Bus (CAN-Bus), der aus zwei Drähten besteht, und wird eine ECU, die mit einem Bus verbunden ist, als ein „Knoten“ bezeichnet. Jeder mit dem CAN-Bus verbundene Knoten sendet und empfängt sogenannte Frames (Nachrichten). Ein Sendeknoten, der einen Frame zu senden hat, legt eine Spannung an zwei Busse an, um eine Potentialdifferenz zwischen den Bussen zu erzeugen, und dadurch den Wert „1“, der als „rezessiv“ bezeichnet wird, und den Wert „0“, der als „dominant“ bezeichnet wird, zu senden. Wenn eine Mehrzahl von Sendeknoten rezessive und dominante Werte exakt zeitgleich sendet, wird der dominante Wert priorisiert und gesendet. Ein Empfangsknoten sendet einen als „Error-Frame“ bezeichneten Frame, wenn das Format eines empfangenen Frames abnormal ist. Bei einem Error-Frame handelt es sich um einen Frame, der den Sendeknoten bzw. jeden anderen Empfangsknoten darüber in Kenntnis setzt, dass eine Abnormalität in einem Frame vorliegt, indem er 6 aufeinanderfolgende dominante Bits sendet.
-
Ferner existiert gemäß der CAN-Norm kein Identifier, der ein Übertragungsziel oder eine Übertragungsquelle festlegt, sondern hängt ein Sendeknoten an jeden Frame einen als „Nachrichten-ID“ bezeichneten ID an und sendet den betreffenden Frame (das heißt, sendet ein Signal an einen Bus), und empfängt jeder Empfangsknoten nur eine vorbestimmte Nachrichten-ID (das heißt, liest ein Signal von dem Bus). Darüber hinaus sieht die CAN-Norm das CSMA/CA-Verfahren vor (Carrier Sense Multiple Access/Collision Avoidance - Mehrfachzugriff in Trägerrichtung/Kollisionsvermeidung) und es erfolgt ein auf der Nachrichten-ID basierendes Arbitrierungsverfahren bei zeitgleichen Übertragungsvorgängen durch eine Mehrzahl von Knoten, und zwar derart, dass ein Frame, bei dem der Wert der Nachrichten-ID am kleinsten ist, vorrangig gesendet wird. Bei einem kraftfahrzeugeigenen System werden durch eine jede aus einer großen Zahl von ECUs Frames, die verschiedene Arten von Informationen enthalten, senden und empfangen. So sind etwa die Fahrassistenzfunktionen eines Fahrassistenzsystems (FAS) dadurch implementiert, dass die entsprechenden ECUs Frames in kooperierender Weise gesendet und empfangen. Als Beispiele für solche Fahrassistenzfunktionen sind unter anderem Funktionen zu nennen, welche die Fahrzeuggeschwindigkeit steuern, wie etwa eine Geschwindigkeitshaltefunktion (Fahrgeschwindigkeitsregelung), eine Folgeabstandshaltefunktion (adaptive Fahrgeschwindigkeitsregelung) und eine Folgeabstandsanpassungsfunktion (kooperative adaptive Fahrgeschwindigkeitsregelung). Um diese Funktionen zu realisieren, erfolgt ein kooperativer Betrieb einer Gaspedal-ECU, welche die Leistung einer Antriebsmaschine, etwa eines Kraftstoffmotors oder eines Elektromotors, steuert, einer Sensor-ECU, welche eine Erkennung und Detektion von Objekten in der Fahrzeugumgebung, etwa ein vorausfahrendes Fahrzeug oder Fahrspurmarkierungen auf der Straßenoberfläche oder dergleichen vornimmt, und einer Geschwindigkeitsregelassistenz-ECU, welche eine Situation detektiert, in der eine Beschleunigung erforderlich ist, und einen Frame eines Beschleunigungssteuerbefehls oder dergleichen ausgibt. Als weitere erwähnenswerte Beispiele für die Fahrassistenzfunktionen sind Funktionen im Zusammenhang mit der Lenkungssteuerung, wie etwa eine Fahrspurhaltefunktion (Spurhalteassistenz), eine Einparkassistenzfunktion (intelligente Einparkassistenz) und eine Fahrspurwechselfunktion (Spurwechselassistenz) zu nennen. Um diese Funktionen zu realisieren, erfolgt ein kooperativer Betrieb einer Lenkungs-ECU, welche die Lenkung steuert, einer Sensor-ECU, welche Fahrspurmarkierungen wie etwa weiße Streifen auf einer Straße oder in einem Parkplatz detektiert und Objekte im Umgebungsbereich und dergleichen detektiert, und einer Lenkungsassistenz-ECU, welche eine Situation detektiert, in der eine Lenkungsassistenz erforderlich ist, und einen Frame eines Lenksteuerbefehls und dergleichen ausgibt.
-
In diesem Zusammenhang besteht eine Gefahr, dass ein Angreifer einen Attack-Frame an einen CAN-Bus sendet, um eine falsche Steuerung des Kraftfahrzeugs durch das Verbinden eines falschen Knotens mit einem CAN-Bus oder durch einen Angriff auf eine ECU oder dergleichen durchzuführen, wodurch eine Funktion zum Kommunizieren mit einem tragbaren Datenendgerät oder einem Kommunikationsgerät ermöglicht wird, das sich außerhalb des Fahrzeugs oder dergleichen befindet, um dadurch einen Wechsel der ECU oder dergleichen in einen falschen Knoten zu bewirken. Bei einem Attack-Frame handelt es sich um einen Frame, der durch einen Falschangreifer an einen CAN-Bus gesendet wird, und um einen Frame, der ursprünglich in einem Normalzustand des Bordnetzwerks nicht gesendet werden würde (falscher Frame). Beispielsweise kann es in einem Zustand, in welchem der Folgeabstand in Bezug auf ein vorausfahrendes Fahrzeug kurz ist, zu einem Unfall wie etwa einem Heckaufprall mit dem vorausfahrenden Fahrzeug kommen, wenn von einem Angreifer ein Frame eines Beschleunigungssteuerbefehls an einen CAN-Bus gesendet wird, welcher ein plötzliches Beschleunigen des Fahrzeugs verursachen würde. Ferner kann es beispielsweise insofern zu einem Unfall kommen, als ein Fahrzeug infolge des Auftretens einer Lenkungssteuerung, die in Wirklichkeit gar nicht erforderlich ist, von einer Fahrspur abweicht oder dass dadurch der Fahrer oder das automatische Steuerungssystem eines anderen Fahrzeugs, das in der Nähe des betreffenden Fahrzeugs fährt, gestört wird, wenn durch einen Angreifer ein Frame an einen CAN-Bus gesendet wird, der Sensordaten enthält, die bewirken, dass das Fahrzeug während der Fahrt eine Fahrspur nicht richtig erkennt.
-
Als bekannte Technologien zur Detektion und zum Schutz vor der oben erwähnten Art von Attack-Frame in Bezug auf einen Beschleunigungssteuerbefehl sind Technologien zu nennen, bei denen ein vorbestimmter Wert in Bezug auf eine physikalische Größe wie etwa eine durch einen Sensor ermittelte Raddrehzahl bzw. Motordrehzahl oder ein Zahlenwert, der einen selektiven Zustand anzeigt, vorab als Referenzwert aufgezeichnet wird und basierend auf der zuvor erwähnten Referenz eine Abnormalitätsbestimmung in Bezug auf einen in einem Frame enthaltenen Wert durchgeführt wird (siehe Patentliteratur 1). Ferner sind als Technologien zur Detektion und zum Schutz vor der oben erwähnten Art von Attack-Frame in Bezug auf einen Lenksteuerbefehl Technologien bekannt, bei denen in Bezug auf einen Frame einer Nachrichten-ID, welche ein Ergebnis einer Fahrspurerkennung zeigt, die in einem Bordnetzwerk gesendet wird, eine Bestimmung, ob der Frame der Nachrichten-ID falsch ist oder nicht, basierend auf der Tatsache durchgeführt wird, ob der Frame der Nachrichten-ID einer angenommenen abnormalen Form entspricht (siehe Patentliteratur 2).
-
Liste der zitierten Dokumente
-
Patentliteratur
-
- Patentliteratur 1 Ungeprüfte Japanische Patentanmeldungsveröffentlichung Nr. 2008-114806
- Patentliteratur 2 Ungeprüfte Japanische Patentanmeldungsveröffentlichung Nr. 2016-078490
-
Überblick
-
Technische Aufgabe
-
Die in den oben erwähnten Dokumenten der Patentliteratur beschriebenen Technologien sind jedoch nicht zweckmäßig, um in angemessener Weise mit einem Attack-Frame eines falschen Betriebssteuerungsbefehls umzugehen, der durch einen Angreifer gesendet wird. So ist etwa in Patentliteratur 1 eine spezifische Bedingung, die zur Bestimmung einer Abnormalität bei einem Beschleunigungssteuerbefehl verwendet werden kann, nicht offenbart. Ferner ist es mit den in Patentliteratur 2 offenbarten Technologien nicht möglich, einen Fall zu behandeln, bei dem ein falscher Frame gesendet wird, der einen abnormalen Lenkbetrag und kein abnormales Fahrspurerkennungsergebnis anzeigt.
-
Daher schafft die vorliegende Erfindung eine elektronische Steuerungseinrichtung zu Überwachungszwecken, die in zweckmäßiger Weise mit einem Attack-Frame eines falschen Betriebssteuerungsbefehls umgeht, der durch einen Angreifer an einen Bus eines Netzwerks (beispielsweise eines Bordnetzwerks) in einem beweglichen Körper gesendet wird, ein Überwachungsverfahren, ein Programm, das dazu verwendet wird, in zweckmäßiger Weise mit dem Attack-Frame umzugehen, ein Aufzeichnungsmedium, auf dem das Programm gespeichert ist, und eine Gateway-Einrichtung.
-
Lösung der Aufgabe
-
Zur Lösung des obigen Problems umfasst eine elektronische Steuerungseinrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers erfasst; und eine Bestimmungseinheit, die basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt.
-
Darüber hinaus umfasst zur Lösung des obigen Problems eine elektronische Steuerungseinrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies handelt es sich zur Lösung des obigen Problems bei einem Überwachungsverfahren gemäß einem Aspekt der vorliegenden Erfindung um ein Überwachungsverfahren, das durch eine elektronische Steuerungseinrichtung implementiert ist und das umfasst: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies handelt es sich zur Lösung des obigen Problems bei einem Überwachungsverfahren gemäß einem Aspekt der vorliegenden Erfindung um ein Überwachungsverfahren, das durch eine elektronische Steuerungseinrichtung implementiert ist und das umfasst: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies handelt es sich zur Lösung des obigen Problems bei einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Erfindung um ein nichtflüchtiges, computerlesbares Aufzeichnungsmedium zur Verwendung in einem Computer, wobei das Aufzeichnungsmedium ein darauf abgespeichertes Computerprogramm aufweist, um den Computer anzuweisen, Folgendes auszuführen: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies handelt es sich zur Lösung des obigen Problems bei einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Erfindung um ein nichtflüchtiges, computerlesbares Aufzeichnungsmedium zur Verwendung in einem Computer, wobei das Aufzeichnungsmedium ein darauf abgespeichertes Computerprogramm aufweist, um den Computer anzuweisen, Folgendes auszuführen: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies umfasst zur Lösung des obigen Problems eine Gateway-Einrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt; und eine Sperreinheit, welche verhindert, dass der Beschleunigungssteuerbefehl gesendet wird, wenn die Bestimmungseinheit bestimmt, dass es sich bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt.
-
Überdies umfasst zur Lösung des obigen Problems eine Gateway-Einrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt; und eine Sperreinheit, welche verhindert, dass der Lenksteuerbefehl gesendet wird, wenn die Bestimmungseinheit bestimmt, dass es sich bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt.
-
Vorteilhafte Auswirkungen
-
Gemäß der vorliegenden Erfindung ist es möglich, einen falschen Frame (Attack-Frame) betreffend einen Betriebssteuerungsbefehl, der an einen Bus eines Netzwerks in einem beweglichen Körper gesendet wird, zu sperren.
-
Figurenliste
-
- 1 ist ein Diagramm, das die Gesamtauslegung eines Bordnetzwerksystems gemäß Ausführungsform 1 veranschaulicht.
- 2 ist eine Ansicht, die das Format eines in dem CAN-Protokoll spezifizierten Daten-Frames veranschaulicht.
- 3 ist eine Ansicht, die das Format eines in dem CAN-Protokoll spezifizierten Error-Frames veranschaulicht.
- 4 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Gaspedal-ECU gemäß Ausführungsform 1 veranschaulicht.
- 5 ist eine Ansicht zum Beschreiben eines Beispiels einer Steuerung, die durch Werte in einem Datenfeld eines Daten-Frames betreffend einen Beschleunigungssteuerbefehl angezeigt wird, den eine Geschwindigkeitsregelassistenz-ECU sendet.
- 6 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Sicherheits-ECU (Überwachungseinrichtung) in Bezug auf die Ausführungsformen 1 und 2 veranschaulicht.
- 7 ist eine Ansicht zum Beschreiben einer Bedingung zum Bestimmen, ob ein Beschleunigungssteuerbefehl falsch ist, welche basierend auf der Relation zwischen einer Fahrzeuggeschwindigkeit gemäß der Steuerung durch eine Geschwindigkeitsregelassistenzfunktion und einem Folgeabstand definiert ist.
- 8 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, die durch eine Sicherheits-ECU gemäß Ausführungsform 1 ausgeführt werden.
- 9 ist eine Ansicht, die ein Beispiel einer Verarbeitungssequenz betreffend die Beschleunigungssteuerung in Ausführungsform 1 veranschaulicht.
- 10 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Gaspedal-ECU gemäß einer Ausführungsvariante der Ausführungsform 1 veranschaulicht.
- 11 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, die durch eine Überwachungsvorrichtung gemäß der oben erwähnten Ausführungsvariante ausgeführt werden.
- 12 ist eine Ansicht, die ein Beispiel einer Verarbeitungssequenz betreffend die Beschleunigungssteuerung in der oben erwähnten Ausführungsvariante veranschaulicht.
- 13 ist ein Diagramm, das die Gesamtauslegung eines Bordnetzwerksystems gemäß Ausführungsform 2 veranschaulicht.
- 14 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Lenkungs-ECU gemäß Ausführungsform 2 veranschaulicht.
- 15 ist eine Ansicht zum Beschreiben eines Beispiels einer Steuerung, die durch Werte in einemw Datenfeld eines Daten-Frames betreffend einen Lenksteuerbefehl angezeigt wird, den eine Lenkungsassistenz-ECU sendet.
- 16 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Sicherheits-ECU (Überwachungseinrichtung) gemäß Ausführungsform 2 veranschaulicht.
- 17 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, die durch eine Sicherheits-ECU gemäß Ausführungsform 2 ausgeführt werden.
- 18 ist eine Ansicht, die ein Beispiel einer Verarbeitungssequenz betreffend die Lenkungssteuerung in Ausführungsform 2 veranschaulicht.
- 19 ist ein Blockdiagramm, das ein Beispiel für die Auslegung einer Lenkungs-ECU gemäß einer Ausführungsvariante der Ausführungsform 2 veranschaulicht.
- 20 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, die durch eine Überwachungsvorrichtung gemäß der oben erwähnten Ausführungsvariante ausgeführt werden.
- 21 ist eine Ansicht, die ein Beispiel einer Verarbeitungssequenz betreffend die Lenkungssteuerung in der oben erwähnten Ausführungsvariante veranschaulicht.
-
Beschreibung der Ausführungsformen
-
(Erkenntnisse, welche die Basis der vorliegenden Erfindung darstellen)
-
Die vorliegende Erfindung betrifft Sicherheitstechnologie zum Umgang mit betrügerischen Handlungen in Bezug auf Betriebssteuerungsbefehlsnachrichten eines Fahrzeugs. Hinsichtlich der Erkenntnisse, die den Ausgangspunkt bildeten, um zu den Mitteln zum Lösen der Probleme zu gelangen, erzielten die Erfinder unter den Betriebssteuerungen jeweils getrennte Erkenntnisse hinsichtlich der Beschleunigungssteuerung und der Lenkungssteuerung und diese Erkenntnisse werden nachfolgend jeweils einzeln beschrieben.
-
[Erkenntnisse in Bezug auf einen Angriff betreffend den Beschleunigungssteuerbefehl]
-
In einem Fahrassistenzsystem eines Fahrzeugs sendet eine Geschwindigkeitsregelassistenz-ECU, die versucht, eine Fahrzeuggeschwindigkeit und einen Folgeabstand konstant zu halten, einen Beschleunigungssteuerbefehl (das heißt einen Frame eines Beschleunigungssteuerbefehls) an einen CAN-Bus, wenn eine Situation eingetreten ist, in welcher eine Beschleunigung erforderlich ist, und zwar basierend auf Informationen die durch eine Kommunikationsleitung des CAN-Bus oder dergleichen von einer anderen ECU in einem Netzwerk kommend erfasst wird, die eine Sensor-ECU enthält, welche die Detektion der Fahrzeuggeschwindigkeit und dergleichen vornimmt. Gemäß dem Beschleunigungssteuerbefehl regelt eine Gaspedal-ECU die Leistungsabgabe einer Antriebsmaschine, etwa eines Kraftstoffmotors oder eines Elektromotors, um dadurch eine Beschleunigung des Fahrzeugs zu bewirken. Dabei ist anzumerken, dass der Inhalt eines Beschleunigungssteuerbefehls zusätzlich zu einem Befehl, der die Leistungsabgabe der Antriebsmaschine zum Zweck der Beschleunigung erhöht, beispielsweise auch einen Befehl umfassen kann, der die Leistungsabgabe der Antriebsmaschine erhöht oder drosselt, um die Fahrzeuggeschwindigkeit beizubehalten, oder einen Befehl, der die Leistungsabgabe der Antriebsmaschine erhöht oder drosselt, um den Beschleunigungsgrad anzupassen. In der Praxis können diese Befehle beispielsweise durch einen Gaspedal-Öffnungswinkel dargestellt sein.
-
In einem Fall, in dem durch einen Angreifer ein Attack-Frame (falscher Frame) bzw. ein falscher Beschleunigungssteuerbefehl gesendet wird und der falsche Beschleunigungssteuerbefehl einen Inhalt enthält, der sich von einem authentischen Beschleunigungssteuerbefehl, den eine Geschwindigkeitsregelassistenz-ECU sendet, unterscheidet, besteht die Möglichkeit, dass der Attack-Frame dazu führt, dass das Fahrzeug in einen Unfall oder dergleichen verwickelt wird. Bei dem Inhalt eines authentischen Beschleunigungssteuerbefehls sollte es sich um einen Inhalt handeln, der mit dem Zustand des Fahrzeugs, etwa mit der tatsächlichen Geschwindigkeit des Fahrzeugs, mit einer durch den Fahrer oder durch die in dem Fahrzeug aktivierten Fahrassistenzfunktionen in Bezug auf die Fahrzeuggeschwindigkeit vorgenommenen Einstellung, übereinstimmt, oder der mit dem Zustand der Außenumgebung, in der das Fahrzeug fährt, etwa mit der Vorschrift in Bezug auf die Geschwindigkeit an dem Ort, den das Fahrzeug durchfährt, oder mit dem Folgeabstand in Bezug auf das vorausfahrende Fahrzeug, übereinstimmt.
-
Daher haben die Erfinder ein Verfahren ersonnen, mit dem sich bestimmen lässt, ob es sich bei einem Beschleunigungssteuerbefehl, der an einen CAN-Bus gesendet wird, um einen authentischen Beschleunigungssteuerbefehl handelt, der mit einem solchen Zustand des Fahrzeugs oder mit einem Zustand der Außenumgebung des Fahrzeugs übereinstimmt, oder um einen falschen Beschleunigungssteuerbefehl, dessen Inhalt nicht mit dem oben erwähnten Zustand übereinstimmt. Es ist anzumerken, dass ein Fahrzeug nur ein Beispiel für ein Objekt ist, auf welches das Verfahren anwendbar ist, und dass das Verfahren auch auf andere bewegliche Körper anwendbar ist.
-
Eine elektronische Steuerungseinrichtung oder dergleichen, welche eine Überwachungseinrichtung oder dergleichen gemäß einem Aspekt der vorliegenden Erfindung implementiert, führt das oben erwähnte Verfahren zur Erkennung eines falschen Beschleunigungssteuerbefehls aus. Außerdem wird, wenn ein Beschleunigungssteuerbefehl als ein falscher Beschleunigungssteuerbefehl identifiziert worden ist, der falsche Beschleunigungssteuerbefehl durch die elektronische Steuerungseinrichtung gesperrt, um die Ausführung einer Beschleunigungssteuerung gemäß dem fraglichen Beschleunigungssteuerbefehl zu unterbinden. Hierdurch ist es möglich, einen Unfall zu verhindern, der ansonsten durch einen Attack-Frame des falschen Beschleunigungssteuerbefehls verursacht werden könnte.
-
Zur Lösung des obigen Problems umfasst eine elektronische Steuerungseinrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; und eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt. Damit ist es möglich, basierend darauf, ob ein Beschleunigungssteuerbefehl angesichts eines Zustands eines Fahrzeugs und eines Zustands einer Außenumgebung, in der sich das Fahrzeug bewegt, (im Folgenden auch kollektiv und ohne weitere Unterscheidung als Zustand eines Fahrzeugs usw. bezeichnet), angemessen ist, zu bestimmen, ob es sich bei einem an ein Netzwerk gesendeten Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies kann die elektronische Steuerungseinrichtung beispielsweise ferner eine Sperreinheit umfassen, welche in einem Fall, in dem die Bestimmungseinheit bestimmt, dass es sich bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt, den Beschleunigungssteuerbefehl sperrt oder verwirft. Hierdurch wird die Ausführung der Beschleunigungssteuerung durch die Gaspedal-ECU gemäß dem falschen Beschleunigungssteuerbefehl gehemmt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die nicht mit dem zumindest einen Zustand übereinstimmt, der von den Zustandsdaten angezeigt wird, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird beispielsweise bestimmt, dass es sich bei einem Beschleunigungssteuerbefehl, welcher nicht mit dem Zustand des Fahrzeugs oder dergleichen übereinstimmt, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, eine eingestellte Geschwindigkeit des beweglichen Körpers oder eine Vorschriftsgeschwindigkeit an einem Ort, an dem sich der bewegliche Körper gerade bewegt, anzeigt und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper mit einer höheren Geschwindigkeit als der eingestellten Geschwindigkeit bzw. der Vorschriftsgeschwindigkeit bewegt, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der durch die Zustandsdaten angezeigt wird, anzeigt, dass die Daten, die der bewegliche Körper zur Bestimmung der Geschwindigkeitssteuerung verwendet, von einem in Bezug auf den beweglichen Körper diesem vorausfahrenden beweglichen Körper bezogen worden sind, und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die nicht mit der bestimmten Geschwindigkeitssteuerung übereinstimmt, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird bestimmt, dass es sich bei einem Beschleunigungssteuerbefehl, welcher bewirkt, dass das Fahrzeug mit einer Geschwindigkeit fährt, die eine von dem Fahrer in Bezug auf das Fahrzeug eingestellte Geschwindigkeitsgrenze überschreitet oder die eine behördliche Geschwindigkeitsbeschränkung überschreitet, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, eine Fahrzeuggeschwindigkeit des beweglichen Körpers oder eine relative Geschwindigkeit in Bezug auf ein Objekt, das sich in einer Fahrrichtung des beweglichen Körpers befindet, anzeigt und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper mit einer Geschwindigkeit, die einen ersten vorbestimmten Wert überschreitet, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Abstand zu einem Objekt, das sich in einer Fahrrichtung des beweglichen Körpers befindet, anzeigt und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper mit einer Geschwindigkeit, die einen ersten vorbestimmten Wert, welcher dem Abstand zu dem Objekt entspricht, überschreitet, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird beispielsweise bestimmt, dass es sich bei einem Beschleunigungssteuerbefehl, welcher bewirkt, dass sich das Fahrzeug mit einer derartigen Geschwindigkeit bewegt, dass ein Folgeabstand zu einem vorausfahrenden Fahrzeug übermäßig gering würde, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der Beschleunigungssteuerbefehl eine Steuerung anzeigt, mit der eine Beschleunigung des sich bewegenden Körpers bewirkt werden soll, und der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper verlangsamt werden sollte, bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird bestimmt, dass es sich bei einem Beschleunigungssteuerbefehl, welcher bewirkt, dass das Fahrzeug in einer Situation, in der eine Verlangsamung auszuführen ist, beschleunigt, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich bei dem Beschleunigungssteuerbefehl in den folgenden Fällen um den falschen Steuerbefehl handelt: (1) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, anzeigt, dass ein in dem beweglichen Körper bereitgestelltes Fahrassistenzsystem abgeschaltet ist, und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper mit einer Geschwindigkeit bewegt, die einen dritten vorbestimmten Wert überschreitet, oder (2) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, anzeigt, dass ein in dem beweglichen Körper bereitgestelltes Fahrassistenzsystem abgeschaltet ist, und die Erfassungseinheit den Beschleunigungssteuerbefehl innerhalb einer vorbestimmten Zeitspanne erfasst. Hierdurch wird bestimmt, dass in einer Situation, in welcher eine FAS-Funktion gesperrt ist, es sich bei einem Beschleunigungssteuerbefehl, bei dem die Möglichkeit gegeben ist, dass sich der Beschleunigungssteuerbefehl für einen von der FAS-Funktion kommenden Beschleunigungssteuerbefehl ausgibt, um einen falschen Steuerbefehl handelt.
-
Überdies handelt es sich bei einem Überwachungsverfahren gemäß einem Aspekt der vorliegenden Erfindung um ein Überwachungsverfahren, das durch eine elektronische Steuerungseinrichtung implementiert ist und das umfasst: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt. Somit erfolgt die Bestimmung, ob es sich bei einem Beschleunigungssteuerbefehl, der an ein Netzwerk gesendet wird, um einen falschen Steuerbefehl handelt oder nicht, basierend darauf, ob der Beschleunigungssteuerbefehl angesichts des Zustands des Fahrzeugs und dergleichen angemessen ist oder nicht, und kann das Ergebnis der Bestimmung entsprechend nutzbar gemacht werden.
-
Überdies handelt es sich bei einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Erfindung um ein nichtflüchtiges, computerlesbares Aufzeichnungsmedium zur Verwendung in einem Computer, wobei das Aufzeichnungsmedium ein darauf abgespeichertes Computerprogramm aufweist, um den Computer anzuweisen, Folgendes auszuführen: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt. Durch das Installieren dieses Programms in einem Computer, der einen Prozessor (Mikroprozessor) aufweist, und durch das Ausführen des Programms mit dem Prozessor des Computers wird auf angemessene Weise bestimmt, ob ein Beschleunigungssteuerbefehl, der auf dem Bus erscheint, falsch ist oder nicht.
-
Überdies umfasst eine Gateway-Einrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Beschleunigungssteuerbefehl zum Anpassen der Geschwindigkeit des beweglichen Körpers; eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt; und eine Sperreinheit, welche verhindert, dass der Beschleunigungssteuerbefehl gesendet wird, wenn die Bestimmungseinheit bestimmt, dass es sich bei dem Beschleunigungssteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch bestimmt eine Gateway-Einrichtung, ob es sich bei einem Beschleunigungssteuerbefehl, der an ein Netzwerk gesendet wird, um einen falschen Steuerbefehl handelt oder nicht, und zwar basierend darauf, ob der Beschleunigungssteuerbefehl angesichts des Zustands des Fahrzeugs und dergleichen angemessen ist oder nicht, und kann das Ergebnis der Bestimmung entsprechend nutzbar gemacht werden.
-
[Erkenntnisse in Bezug auf einen Angriff betreffend den Lenksteuerbefehl]
-
Bei einem Fahrassistenzsystem eines Fahrzeugs sendet eine Lenkungsassistenz-ECU, die dazu dient, zu bewirken, dass das Fahrzeug eine geeignetere Richtung verfolgt, einen Steuerbefehl (das heißt einen Frame eines Lenksteuerbefehls), der eine Lenkungssteuerung mit einer angemessenen Zeitwahl und einem angemessenen Inhalt anzeigt, an einen CAN-Bus, und zwar basierend auf Informationen, die durch eine Kommunikationsleitung, wie etwa einen CAN-Bus, von anderen ECUs gewonnen werden, welche eine Sensor-ECU umfassen, die Fahrspurmarkierungen auf der Straßenoberfläche oder Objekte und dergleichen im Umgebungsbereich des Fahrzeugs oder in Fahrrichtung des Fahrzeugs detektiert. Als Folge der Lenkungs-ECU, welche die Lenkung gemäß dem Lenksteuerbefehl steuert, fährt das Fahrzeug einen angemessenen Weg. Dabei ist anzumerken, dass als Beispiele für den Inhalt des Lenksteuerbefehls die Spezifikation eines Lenkbetrags, um den die Fahrzeugräder auszulenken sind, und eines Lenkwinkels, das heißt eines Drehwinkels der Fahrzeugräder nach rechts oder nach links als Folge des Lenkvorgangs oder als Sollwert zu nennen ist. Der Lenkbetrag und der Lenkwinkel sind in Relation zu dem tatsächlichen Lenkwinkel ineinander umwandelbar und im Folgenden werden aus praktischen Gründen der Lenkbetrag und der Lenkwinkel ohne Vornahme einer genaueren Unterscheidung zwischen diesen als „Lenkbetrag“ bezeichnet.
-
In einem Fall, in dem durch einen Angreifer ein Attack-Frame (falscher Frame) bzw. ein falscher Lenksteuerbefehl gesendet wird und der Inhalt des falschen Lenksteuerbefehls einen Inhalt darstellt, der sich von einem authentischen Lenksteuerbefehl, den eine Lenkungsassistenz-ECU sendet, unterscheidet, besteht die Möglichkeit, dass der Attack-Frame dazu führt, dass das Fahrzeug in einen Unfall oder dergleichen verwickelt wird. Bei dem Inhalt eines authentischen Lenksteuerbefehls sollte es sich um einen Inhalt handeln, der mit dem Zustand des Fahrzeugs, etwa mit der Geschwindigkeit des Fahrzeugs, oder mit den in dem Fahrzeug aktivierten Fahrassistenzfunktionen übereinstimmt, oder der mit dem Zustand der Außenumgebung, etwa dem Vorhandensein/Fehlen von Fahrspurmarkierungen oder eines Objekts, wie etwa eines anderen beweglichen Körpers in der Fahrzeugumgebung bzw. mit einem Abstand zu einem solchen Objekt, oder mit den an einem Ort, den das Fahrzeug gerade durchfährt, zu beachtenden Vorschriften oder dergleichen übereinstimmt.
-
Daher haben die Erfinder ein Verfahren ersonnen, mit dem sich bestimmen lässt, ob es sich bei einem Lenksteuerbefehl, der an einen CAN-Bus gesendet wird, um einen authentischen Lenksteuerbefehl handelt, der mit einem solchen Zustand des Fahrzeugs oder mit einem Zustand der Außenumgebung des Fahrzeugs übereinstimmt, oder um einen falschen Lenksteuerbefehl, dessen Inhalt nicht mit dem oben erwähnten Zustand übereinstimmt. Es ist anzumerken, dass ein Fahrzeug nur ein Beispiel für ein Objekt ist, auf welches das Verfahren anwendbar ist, und dass das Verfahren auch auf andere bewegliche Körper anwendbar ist.
-
Eine elektronische Steuerungseinrichtung oder dergleichen, welche eine Überwachungseinrichtung oder dergleichen gemäß einem Aspekt der vorliegenden Erfindung implementiert, führt das oben erwähnte Verfahren zur Erkennung eines falschen Lenksteuerbefehls aus. Ferner wird die Ausführung der Lenkungssteuerung durch die Lenkungs-ECU gemäß dem falschen Lenksteuerbefehl gehemmt, indem der falsche Lenksteuerbefehl gesperrt wird. Hierdurch ist es möglich, einen Unfall zu verhindern, der ansonsten durch einen Attack-Frame des falschen Lenksteuerbefehls verursacht werden könnte.
-
Darüber hinaus umfasst eine elektronische Steuerungseinrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt. Damit ist es möglich, basierend darauf, ob ein Lenksteuerbefehl angesichts eines Zustands eines Fahrzeugs und eines Zustands einer Außenumgebung, in der sich das Fahrzeug bewegt, (im Folgenden auch kollektiv und ohne weitere Unterscheidung als Zustand eines Fahrzeugs usw. bezeichnet), angemessen ist, zu bestimmen, ob es sich bei einem an ein Netzwerk gesendeten Lenksteuerbefehl um einen falschen Steuerbefehl handelt.
-
Überdies kann die elektronische Steuerungseinrichtung beispielsweise ferner eine Sperreinheit umfassen, welche in einem Fall, in dem die Bestimmungseinheit bestimmt, dass es sich bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt, den Lenksteuerbefehl sperrt oder verwirft. Hierdurch wird die Ausführung der Lenkungssteuerung durch die Lenkungs-ECU gemäß dem falschen Lenksteuerbefehl gehemmt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der Lenksteuerbefehl eine Steuerung anzeigt, die nicht mit dem zumindest einen Zustand übereinstimmt, der von den Zustandsdaten angezeigt wird, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird beispielsweise bestimmt, dass es sich bei einem Lenksteuerbefehl, welcher nicht mit dem Zustand des Fahrzeugs oder dergleichen übereinstimmt, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach sich der bewegliche Körper in eine erste Richtung bewegen sollte, und der Lenksteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper in eine zweite Richtung bewegt, die sich von der ersten Richtung unterscheidet, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird bestimmt, dass es sich bei einem Lenksteuerbefehl zum Lenken in eine Richtung, die sich von einem Weg, den das Fahrzeug aktuell einschlagen sollte, unterscheidet, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper um einen Lenkbetrag verlenkt werden sollte, der kleiner oder gleich einem ersten vorbestimmten Wert ist, und der Lenksteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der größer als der erste vorbestimmte Wert ist, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper um einen großen Lenkbetrag verlenkt werden sollte, der größer oder gleich einem zweiten vorbestimmten Wert ist, und der Lenksteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der geringer als der zweite vorbestimmte Wert ist, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch wird bestimmt, dass es sich bei einem Lenksteuerbefehl, der einen Richtungswechsel verursacht, welcher verglichen mit einem Richtungswechsel entlang einem Weg, den das Fahrzeug aktuell einschlagen sollte, zu groß oder zu klein ist, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich bei dem Lenksteuerbefehl in den folgenden Fällen um den falschen Steuerbefehl handelt: (1) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper durch manuelles Lenken bewegt werden sollte, und der Beschleunigungssteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der außerhalb eines ersten vorbestimmten Bereichs liegt, oder (2) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper durch manuelles Lenken bewegt werden sollte, und die Erfassungseinheit den Lenksteuerbefehl innerhalb einer ersten vorbestimmten Zeitspanne erfasst. Hierdurch wird beispielsweise bestimmt, dass, wenn bei Aktivierung eines Betriebsmodus, in dem die Lenkung in Relation zu einem Automatik-Fahrbetrieb des Fahrzeugs durch manuelle Steuerung erfolgt, es sich bei einem durch die Automatik-Steuerung ausgegebenen Lenksteuerbefehl, welcher den Inhalt der durch den Fahrer vorgenommenen, manuellen Lenkungssteuerung signifikant verändert, um einen falschen Steuerbefehl handelt.
-
Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich bei dem Lenksteuerbefehl in den folgenden Fällen um den falschen Steuerbefehl handelt: (1) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper durch automatisches Lenken bewegt werden sollte, und der Beschleunigungssteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der außerhalb eines zweiten vorbestimmten Bereichs liegt, oder (2) in einem Fall, in dem der zumindest eine Zustand, der von den Zustandsdaten angezeigt wird, einen Zustand anzeigt, wonach der bewegliche Körper durch automatisches Lenken bewegt werden sollte, und die Erfassungseinheit den Lenksteuerbefehl innerhalb einer zweiten vorbestimmten Zeitspanne nicht erfassen kann. Hierdurch wird beispielsweise bestimmt, dass, wenn bei Aktivierung eines Betriebsmodus, in dem die Lenkung in Relation zu einem Automatik-Fahrbetrieb des Fahrzeugs durch automatische Steuerung erfolgt, es sich bei einem Lenksteuerbefehl, welcher als Inhalt der durch die Automatik-Steuerung vorgenommenen Lenkungssteuerung nicht zu erwarten war, um einen falschen Steuerbefehl handelt.
-
Überdies können beispielsweise die Zustandsdaten einen Zustand in Bezug auf eine Fahrspurhaltefunktion des beweglichen Körpers anzeigen. Im Spezielleren kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich bei dem Lenksteuerbefehl in den folgenden Fällen um den falschen Steuerbefehl handelt: (1) in einem Fall, in dem die Zustandsdaten einen Zustand anzeigen, wonach die Fahrspurhaltefunktion abgeschaltet ist, und der Beschleunigungssteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der außerhalb eines dritten vorbestimmten Bereichs liegt, oder (2) in einem Fall, in dem die Zustandsdaten einen Zustand anzeigen, wonach die Fahrspurhaltefunktion eingeschaltet ist und einen Fahrweg des beweglichen Körpers gemäß der Fahrspurhaltefunktion anzeigt, und der Lenksteuerbefehl eine Steuerung anzeigt, die eine Lenkungssteuerung spezifiziert, welche bewirkt, dass der bewegliche Körper von dem Fahrweg abweicht. Überdies kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem die Zustandsdaten einen Zustand anzeigen, wonach die Fahrspurhaltefunktion eingeschaltet ist und eine Geschwindigkeit des beweglichen Körpers anzeigt, und der Lenksteuerbefehl eine Steuerung um einen Lenkbetrag anzeigt, der außerhalb eines vierten vorbestimmten Bereich liegt, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch erfolgt eine Bestimmung, ob es sich bei einem Lenksteuerbefehl um einen falschen Steuerbefehl handelt oder nicht in angemessener Weise gemäß einem Zustand, der sich darauf bezieht, ob eine Fahrspurhaltefunktion, die einen Lenksteuerbefehl zur Lenkungsassistenz erzeugen kann, aktiviert oder deaktiviert ist.
-
Überdies können beispielsweise die Zustandsdaten einen Zustand in Bezug auf eine Einparkassistenzfunktion des beweglichen Körpers anzeigen. Im Spezielleren kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich in einem Fall, in dem die Zustandsdaten eine Einpark-Zielposition des beweglichen Körpers gemäß der Einparkassistenzfunktion anzeigen, und der Lenksteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper in eine Richtung bewegt, die sich von einer Richtung hin zu der Einpark-Zielposition unterscheidet, bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch erfolgt eine Bestimmung, ob es sich bei einem Lenksteuerbefehl um einen falschen Steuerbefehl handelt oder nicht in angemessener Weise gemäß einem Zustand, der sich darauf bezieht, ob eine Einparkassistenzfunktion, die einen Lenksteuerbefehl zur Lenkungsassistenz erzeugen kann, aktiviert oder deaktiviert ist.
-
Überdies können beispielsweise die Zustandsdaten einen Zustand in Bezug auf eine Fahrspurwechselfunktion des beweglichen Körpers anzeigen. Im Spezielleren kann die Bestimmungseinheit beispielsweise bestimmen, dass es sich bei dem Lenksteuerbefehl in den folgenden Fällen um den falschen Steuerbefehl handelt: (1) in einem Fall, in dem die Zustandsdaten einen Zustand anzeigen, wonach von einer Fahrspur, auf welcher sich der bewegliche Körper bewegt, in eine erste Richtung zu einer benachbarten Fahrspur gewechselt werden sollte, und der Lenksteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich der bewegliche Körper in eine zweite Richtung bewegt, die sich von der ersten Richtung unterscheidet, oder (2) in einem Fall, in dem die Zustandsdaten einen Zustand anzeigen, wonach eine Fahrspur, auf welcher sich der bewegliche Körper bewegt, gewechselt werden sollte, und der Lenksteuerbefehl eine Steuerung anzeigt, die einen Lenkbetrag spezifiziert, der den beweglichen Körper auf der Fahrspur hält, auf welcher sich der bewegliche Körper gerade bewegt. Hierdurch erfolgt eine Bestimmung, ob es sich bei einem Lenksteuerbefehl um einen falschen Steuerbefehl handelt oder nicht in angemessener Weise gemäß einem Zustand, der sich darauf bezieht, ob eine Fahrspurwechselfunktion, die einen Lenksteuerbefehl zur Lenkungsassistenz erzeugen kann, aktiviert oder deaktiviert ist.
-
Überdies handelt es sich bei einem Überwachungsverfahren gemäß einem Aspekt der vorliegenden Erfindung um ein Überwachungsverfahren, das durch eine elektronische Steuerungseinrichtung implementiert ist und das umfasst: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt. Somit erfolgt die Bestimmung, ob es sich bei einem Lenksteuerbefehl, der an ein Netzwerk gesendet wird, um einen falschen Steuerbefehl handelt oder nicht, basierend darauf, ob der Lenksteuerbefehl angesichts des Zustands des Fahrzeugs und dergleichen angemessen ist oder nicht, und kann das Ergebnis der Bestimmung entsprechend nutzbar gemacht werden.
-
Überdies handelt es sich bei einem Aufzeichnungsmedium gemäß einem Aspekt der vorliegenden Erfindung um ein nichtflüchtiges, computerlesbares Aufzeichnungsmedium zur Verwendung in einem Computer, wobei das Aufzeichnungsmedium ein darauf abgespeichertes Computerprogramm aufweist, um den Computer anzuweisen, Folgendes auszuführen: das Erfassen von Zustandsdaten, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; und das basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung erfolgende Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt. Durch das Installieren dieses Programms in einem Computer, der einen Prozessor (Mikroprozessor) aufweist, und durch das Ausführen des Programms mit dem Prozessor des Computers wird auf angemessene Weise bestimmt, ob ein Lenksteuerbefehl, der auf dem Bus erscheint, falsch ist oder nicht.
-
Überdies umfasst zur Lösung des obigen Problems eine Gateway-Einrichtung gemäß einem Aspekt der vorliegenden Erfindung: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Lenksteuerbefehl zum Lenken des beweglichen Körpers; eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Lenksteuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt; und eine Sperreinheit, welche verhindert, dass der Lenksteuerbefehl gesendet wird, wenn die Bestimmungseinheit bestimmt, dass es sich bei dem Lenksteuerbefehl um den falschen Steuerbefehl handelt. Hierdurch bestimmt eine Gateway-Einrichtung, ob es sich bei einem Beschleunigungssteuerbefehl, der an ein Netzwerk gesendet wird, um einen falschen Steuerbefehl handelt oder nicht, und zwar basierend darauf, ob der Beschleunigungssteuerbefehl angesichts des Zustands des Fahrzeugs und dergleichen angemessen ist oder nicht, und kann das Ergebnis der Bestimmung entsprechend nutzbar gemacht werden.
-
Es sei angemerkt, dass diese allgemeinen oder spezifischen Ausführungsformen als System, als Verfahren, als integrierte Schaltung, als Computerprogramm oder als computerlesbares Aufzeichnungsmedium wie etwa als CD-ROM implementiert sein kann oder als eine beliebige Kombination aus dem System, dem Verfahren, der integrierten Schaltung, dem Computerprogramm oder dem computerlesbaren Aufzeichnungsmedium implementiert sein kann.
-
Im Folgenden wird unter Bezugnahme auf die Zeichnungen eine Überwachungseinrichtung beschrieben, die ein Überwachungsverfahren und dergleichen gemäß den Ausführungsformen ausführt. Die weiter unten beschriebenen Ausführungsformen zeigen jeweils ein spezifisches Beispiel gemäß der vorliegenden Erfindung. Somit handelt es sich bei den Zahlenwerten, den Bestandteilen, der Anordnung und den Verbindungsformen der Bestandteile, den Schritten (Prozessen), der Verarbeitungsreihenfolge der Schritte und dergleichen, die in den nachfolgenden Ausführungsformen beschriebenen sind, lediglich um Beispiele, die den Umfang der vorliegenden Erfindung nicht einschränken. Unter den in den folgenden Ausführungsformen erörterten Bestandteilen handelt es sich bei Bestandteilen, die in keinem der unabhängigen Ansprüche beschrieben sind, um Bestandteile, welche optional hinzugefügt werden können. Darüber hinaus sind die Zeichnungen schematischer Natur und stellen somit nicht notwendigerweise exakte Proportionen oder Dimensionen dar.
-
In einer jeden der nachfolgenden Ausführungsformen wird die vorliegende Erfindung zwar als eine der Sicherheit dienende Gegenmaßnahme bei einem in einem Kraftfahrzeug montierten Bordnetzwerk beschrieben, der Anwendungsumfang der vorliegenden Erfindung ist jedoch nicht darauf beschränkt. Die vorliegende Erfindung ist nicht auf ein Kraftfahrzeug beschränkt und kann auch auf ein Bewegtkörper-Netzwerk angewendet werden, das für verschiedene Arten von Bewegtkörpern, etwa Baumaschinen, landwirtschaftliche Maschinen, Schiffe und Wasserfahrzeuge, Eisenbahnen und Flugzeugen bereitgestellt sein kann. Es versteht sich, dass wenn die hier beschriebenen Technologien auf Schiffe und Wasserfahrzeuge oder Flugzeuge angewendet werden, der Begriff „fahren“ angemessenerweise als „navigieren“ oder „fliegen“ zu lesen ist und „Fahrspur“ angemessenerweise als „Bewegungsroute“ oder dergleichen.
-
(Ausführungsform 1)
-
Beschrieben wird im Folgenden als eine Ausführungsform der vorliegenden Erfindung und unter Bezugnahme auf die beigefügten Zeichnungen ein Bordnetzwerksystem mit einer Sicherheits-ECU (Überwachungseinrichtung), die einen Frame betreffend einen falschen Beschleunigungssteuerbefehl sperrt, der an einen Bus (CAN-Bus) gesendet wird, welcher Bestandteil eines Bordnetzwerks in einem Fahrzeug als Beispiel für einen beweglichen Körper ist.
-
[Auslegung des Bordnetzwerksystems 10]
-
1 ist ein Diagramm, das die Gesamtauslegung eines Bordnetzwerksystems 10 gemäß der vorliegenden Ausführungsform veranschaulicht.
-
Wie in 1 veranschaulicht, ist das Bordnetzwerksystem 10 derart ausgelegt, dass es verschiedene ECUs (eine Sicherheits-ECU 100, eine Gaspedal-ECU 310, eine Sensor-ECU 320, eine Bremspedal-ECU 330, eine Geschwindigkeitsregelassistenz-ECU 350 und eine Kommunikations-ECU 380) sowie einen Bus (CAN-Bus) 30 umfasst, die in einem Fahrzeug 20 montiert sind. Dabei ist anzumerken, dass das Bordnetzwerksystem 10 neben den oben erwähnten ECUs noch weitere ECUs, wie etwa eine ECU, welche die Lenkungssteuerung betrifft, umfassen kann, obwohl solche ECUs in 1 nicht veranschaulicht sind. Ferner kann das Bordnetzwerksystem 10 ein Steuernetzwerksystem für das Fahrzeug 20 darstellen, zusammen mit einer Servereinrichtung oder dergleichen, die sich außerhalb des Fahrzeugs befindet, und mit welcher beliebige der ECUs, einschließlich der in 1 nicht veranschaulichten ECUs, über ein Kommunikationsnetzwerk wie etwa das Internet kommunizieren. Dabei ist anzumerken, dass ein Kommunikationspfad nach außen für einen Cyberangriff auf das Bordnetzwerksystem 10 als Infiltrationspfad für das Einspeisen (Senden) eines falschen Frames in das Bordnetzwerksystem 10 oder für die Übernahme einer der ECUs verwendet werden kann.
-
Bei jeder ECU in dem Bordnetzwerksystem 10 handelt es sich um eine Vorrichtung mit beispielsweise einem Prozessor (Mikroprozessor), digitalen Schaltungen wie einem Speicher, analogen Schaltungen, einer Kommunikationsschaltung und so weiter. Bei dem Speicher handelt es sich um einen ROM (Festwertspeicher), einen RAM (Direktzugriffsspeicher) oder dergleichen und dieser ist in der Lage, ein Steuerungsprogramm (Computerprogramm als Software) abzuspeichern, welches durch den Prozessor ausgeführt wird. Der Prozessor arbeitet beispielsweise gemäß dem Steuerungsprogramm (Computerprogramm) und ermöglicht es dadurch der ECU, verschiedene Funktionen zu implementieren. Das Computerprogramm besteht aus der Kombination einer Mehrzahl von Befehlscodes, die Befehle für den Prozessor angeben, um eine vorbestimmte Funktion zu erzielen. Diese ECUs sind in der Lage, gemäß dem CAN-Protokoll über den Bus 30 Frames zu senden und zu empfangen.
-
Manche der ECUs in dem Bordnetzwerksystem 10 stehen über einen anderen Kommunikationspfad als den Bus 30 mit verschiedenen Vorrichtungen wie etwa einem Sensor, einem Aktor oder einer Benutzerschnittstellenvorrichtung in Verbindung. Die Gaspedal-ECU 310 steht etwa mit (einer Drosselklappe, einer Kraftstoffeinspritzvorrichtung, einer Elektromotorantriebsschaltung oder dergleichen von) einer Antriebsmaschine 311 in Verbindung und steuert so die Antriebsmaschine 311. Die Bremspedal-ECU 330 steht mit (einem Aktor von) einer Bremse 331 in Verbindung und steuert so die Bremse 331. Dabei ist anzumerken, dass die Veranschaulichung der einzelnen Aktoren und dergleichen, welche die jeweiligen oben beschriebenen Bestandteile steuern, in 1 unterblieben ist und dass im Folgenden zur Vereinfachung der Beschreibung ein in Bezug auf einen Aktor oder dergleichen erfolgender Steuerbefehl manchmal als Steuerbefehl in Bezug auf den betreffenden Bestandteil beschrieben ist. Die Kommunikations-ECU 380 ist mit einer Antenne 381 verbunden und führt über die Antenne 381 die Kommunikation des Bordnetzwerksystems 10 nach außen durch. In 1 ist ein weiteres Fahrzeug 21 als Beispiel für einen Kommunikationspartner veranschaulicht. Das heißt eine Fahrzeug-zu-Fahrzeug-Kommunikation ist mittels der Kommunikations-ECU 380 implementiert. Ferner ist die Sensor-ECU 320 mit einem Objekterkennungssensor 321 und einem Geschwindigkeitssensor 322 verbunden und sendet in regelmäßigen Abständen Frames (Daten-Frames) an den Bus 30, welche die von jedem Sensor gemessenen Messdaten darstellen. Obwohl in dem Bordnetzwerksystem 10 entsprechend den jeweiligen Sensoren eine Mehrzahl von Sensor-ECUs 320 bereitgestellt sein kann, wird hier aus Gründen der Einfachheit der Beschreibung ein Beispiel beschrieben, bei dem nur eine Sensor-ECU 320 vorhanden ist, die Frames senden kann, welche Messdaten darstellen, die von einem jeden aus der Mehrzahl von Sensoren gemessen worden sind. Es ist jedoch nicht nötig, dass alle der Sensoren in dem Bordnetzwerksystem 10 mit der Sensor-ECU 320 verbunden sind, und es kann Sensoren geben, die mit einer andere ECU als der Sensor-ECU 320 verbunden sind, so etwa die Gaspedal-ECU 310 oder die Motor-ECU 340. Der Objekterkennungssensor 321 detektiert Erkennungsobjekte wie etwa ein Fahrzeug, ein Hindernis, einen Passanten sowie Fahrspurmarkierungen auf der Straßenoberfläche im Umgebungsbereich oder in der Fahrrichtung des Fahrzeugs 20. Der Objekterkennungssensor 321 misst außerdem einen Abstand zwischen dem Fahrzeug 20 und dem Erkennungsobjekt und dergleichen. Im Spezielleren kann der Objekterkennungssensor 321 beispielsweise durch eine Kamera (einen Bildsensor) implementiert sein, beispielsweise eine Kamera, welche die Vorwärtsrichtung, die seitlichen Richtungen, die Rückwärtsrichtung oder den gesamten Umgebungsbereich des Fahrzeugs 20 aufnimmt, oder durch Radar oder LiDAR, oder durch eine Kombination aus diesen Verfahren. Bei dem Geschwindigkeitssensor 322 handelt es sich um einen Sensor zum Detektieren der Geschwindigkeit des Fahrzeugs 20. Der Begriff „Geschwindigkeit des Fahrzeugs 20“ bezieht sich zwar in diesem Fall auf die Absolutgeschwindigkeit des Fahrzeugs 20, er kann sich jedoch ebenso auf die Relativgeschwindigkeit des Fahrzeugs 20 in Bezug auf ein Erkennungsobjekt beziehen, das der Objekterkennungssensor 321 detektiert. Es ist anzumerken, dass die Absolutgeschwindigkeit des Fahrzeugs 20 in Bezug auf ein Erkennungsobjekt, welches sich nicht bewegt, gleich der Relativgeschwindigkeit des Fahrzeugs 20 ist.
-
Bei der Geschwindigkeitsregelassistenz-ECU 350 handelt es sich um eine ECU, die eine Geschwindigkeitsregelassistenzfunktion des Fahrassistenzsystems durchführt. Um von der Gaspedal-ECU 310 die Durchführung einer Beschleunigungssteuerung anzufordern, sendet die Geschwindigkeitsregelassistenz-ECU 350 in regelmäßigen Abständen einen Frame eines Beschleunigungssteuerbefehls mit einer Steuerung an den Bus 30, welche basierend auf Daten bestimmt wird, die von anderen ECUs gewonnen werden, wie etwa von Messdaten, die von der Sensor-ECU 320 gewonnen werden. Es ist anzumerken, dass die Geschwindigkeitsregelassistenz-ECU 350 beispielsweise auch mit einer anderen ECU, wie etwa der Sensor-ECU 320, integriert oder direkt mit dieser verbunden sein kann und verschiedenartige Daten, wie etwa Messdaten, erfassen kann, ohne dass diese Daten durch den Bus 30 empfangen werden müssen. Ferner kann eine direkte Verbindung zwischen der Geschwindigkeitsregelassistenz-ECU 350 und einer anderen ECU über eine fest zugeordnete Leitung erfolgen.
-
Bei einem Diagnoseanschluss 390 handelt es sich um einen mit dem Bus 30 verbundenen Anschlusskontakt, etwa einen OBD 2 (On-Board Diagnostics 2), und ein Zugriff auf den Bus 30 durch eine Vorrichtung wie etwa ein Diagnosewerkzeug (Fehlerdiagosewerkzeug) kann durch den Diagnoseanschluss 390 erfolgen.
-
Die Kommunikations-ECU 380 und der Diagnoseanschluss 390 können jedoch auch für einen Angriff auf das Bordnetzwerksystem 10 benutzt werden.
-
Die Sicherheits-ECU 100 übt die Funktion der Gewährleistung der Sicherheit des Bordnetzwerksystems 10 aus. Bei der vorliegenden Ausführungsform handelt es sich bei der Sicherheits-ECU 100 um eine Vorrichtung, welche die Frames, die durch den Bus 30 strömen, überwacht und welche durch das Senden eines Error-Frames einen Daten-Frame betreffend einen falschen Beschleunigungssteuerbefehl, der auf dem Bus 30 auftritt, sperrt, und die dadurch als eine Überwachungseinrichtung fungiert, welche mit Attack-Frames von falschen Beschleunigungssteuerbefehlen umgeht. Dabei ist anzumerken, dass die Sicherheits-ECU 100 eine Funktion aufweisen kann, welche unter Heranziehung einer weiteren bestimmten Bedingung bestimmt, ob ein Daten-Frame auf dem Bus 30, und nicht nur ein Frame eines falschen Beschleunigungssteuerbefehls, falsch ist.
-
[Daten-Frame - Format]
-
Es wird nun der Daten-Frame (Nachricht), welcher einen der Frames darstellt, die in einem mit dem CAN-Protokoll kompatiblen Netzwerk Verwendung finden, näher beschrieben.
-
2 ist ein Diagramm, welches das Format eines in dem CAN-Protokoll spezifizierten Daten-Frames veranschaulicht. In dieser Figur ist ein Daten-Frame in dem im CAN-Protokoll spezifizierten, normierten ID-Format veranschaulicht. Der Daten-Frame setzt sich aus den folgenden Feldern zusammen: SOF (Start Of Frame - Frame-Beginn), ID field - ID-Feld, RTR (Remote Transmission Request - Entfernte Übertragungsanforderung), IDE (Identifier Extension - Kennungserweiterung), reserved bit - reserviertes Bit „r“, DLC (Data Length Code - Datenlängencode), data field - Datenfeld, CRC sequence - CRC-Sequenz (Cyclic Redundancy Check - Prüfsummenfeld), CRC delimiter - CRC-Delimiter „DEL“, ACK slot - ACK-Slot (Acknowledgement), ACK delimiter - ACK-Delimiter „DEL“ und EOF (End Of Frame - Frame-Ende).
-
Der Frame-Beginn SOF besteht aus einem dominanten Bit. Der rezessive Wert wird für einen Zustand gesetzt, in dem sich ein Bus in der Ruhephase befindet, wenn gerade keine Nachricht gesendet wird, und wird durch die ECU, die den Sendeknoten darstellt auf den dominanten Wert gesetzt, um die Übertragung des Frame-Beginns SOF anzukündigen.
-
Das ID-Feld setzt sich aus 11 Bit zusammen und ist ein Feld zum Speichern einer ID (Nachrichten-ID), bei dem es sich um einen Wert handelt, der einen Datentyp anzeigt. Wenn eine Mehrzahl von Knoten zeitgleich einen Übertragungsvorgang startet, erfolgt eine Kommunikations-Arbitrierung, bei welcher jener Frame, dessen ID den kleinsten Wert aufweist, vorrangig behandelt wird.
-
Die Entfernte Übertragungsanforderung RTR ist ein Wert zum Identifizieren eines Daten-Frames, und eines Remote-Frames, der für eine Daten-Frame-Anforderung zu verwenden ist, und der sich aus einem dominanten Bit für einen Daten-Frame zusammensetzt.
-
Die Kennungserweiterung IDE und das reservierte Bit „r“ setzten sich beide aus einem dominanten Bit zusammen.
-
Der Datenlängencode DLC besteht aus 4 Bit und ist ein Wert, der die Länge des nachfolgenden Datenfeldes anzeigt. Die Kennungserweiterung IDE, das reservierte Bit „r“ und der Datenlängencode DLC werden kollektiv als Kontrollfeld bezeichnet.
-
Das Datenfeld besteht aus bis zu 64 Bit und umfasst den Inhalt der durch den Frame zu sendenden Daten. Die Länge ist in 8-Bit-Einheiten variabel. Die Datenspezifikation ist in dem CAN-Protokoll nicht spezifiziert und kann vom Softwaredesigner festgelegt werden. Demgemäß hängt die Spezifikation der Daten in dem Bordnetzwerksystem von der Art des Fahrzeugs, dem Hersteller (Produzenten) und so weiter ab.
-
Die CRC-Sequenz (Prüfsumme) besteht aus 15 Bit. Ein Ergebnis, das aus einer durch den Sendeknoten unter Verwendung von Übertragungswerten des Frame-Beginns SOF, des ID-Felds, des Kontrollfelds und des Datenfelds durchgeführten Berechnung gewonnen wird, wird als Wert für die CRC-Sequenz eingegeben. Der Empfangsknoten berechnet in derselben Weise einen Wert, wenn diese Felder empfangen werden und gleicht das Berechnungsergebnis mit dem Wert der CRC-Sequenz ab, um zu bestimmen, ob der Frame korrekt empfangen worden ist.
-
Bei dem CRC-Delimiter handelt es sich um einen Delimiter, der aus einem rezessiven Bit besteht und der das Ende der CRC-Sequenz anzeigt. Die CRC-Sequenz und der CRC-Delimiter werden kollektiv als CRC-Feld bezeichnet.
-
Der ACK-Slot besteht aus 1 Bit. Ein Sendeknoten setzt beim Senden des Frames den rezessiven Wert in dem ACK-Slot. War ein Empfangsknoten in der Lage, den Frame bis zur CRC-Sequenz korrekt zu empfangen, so setzt der Empfangsknoten als Bestätigung (Acknowledgement) hierfür den dominanten Wert und sendet den Wert während des ACK-Slots. Da der dominante Wert den rezessiven Wert überschreibt, wird dem Sendeknoten bestätigt, dass irgendein mit dem CAN-Bus verbundener Empfangsknoten den Frame korrekt empfangen hat, wenn der ACK-Slot im Anschluss an die Übertragung aus dem dominanten Wert besteht.
-
Bei dem ACK-Delimiter handelt es sich um einen Delimiter, der aus einem rezessiven Bit besteht und der das Ende des ACK-Felds anzeigt.
-
Das Frame-Ende EOF setzt sich aus 7 rezessiven Bit zusammen und zeigt das Ende des Daten-Frames an.
-
[Error-Frame - Format]
-
3 ist ein Diagramm, welches das Format eines in dem CAN-Protokoll spezifizierten Error-Frames veranschaulicht. Der Error-Frame besteht aus einem Error-Flag (primär), einem Error-Flag (sekundär) und einem Error-Delimiter.
-
Das Error-Flag (primär) wird dazu verwendet, beliebige andere Knoten über das Auftreten eines Fehlers zu informieren. Ein Knoten, der einen Fehler detektiert hat, sendet 6 aufeinanderfolgende dominante Bit, um beliebige andere Knoten über das Auftreten des Fehlers zu informieren. Durch diese Übertragung wird eine Bitstopfen-Regel (bit-stuffing rule) in dem CAN-Protokoll verletzt, (gemäß welcher derselbe Wert nicht über 6 oder mehr aufeinanderfolgende Bit hinweg gesendet werden darf) und wird die Übertragung eines Error-Frames (sekundär) von beliebigen anderen Knoten hervorgerufen.
-
Das Error-Flag (sekundär) setzt sich aus 6 aufeinanderfolgenden dominanten Bit zusammen und wird dazu verwendet, beliebige andere Knoten über das Auftreten eines Fehlers zu informieren. Sämtliche Knoten, die ein Error-Flag (primär) empfangen haben und die Verletzung der Bitstopfen-Regel detektiert haben, senden ein Error-Flag (sekundär).
-
Der Error-Delimiter „DEL“ setzt sich aus 8 aufeinanderfolgenden rezessiven Bit zusammen und zeigt das Ende des Error-Frames an.
-
[Auslegung der Gaspedal-ECU 310]
-
4 ist ein Blockdiagramm, das ein Auslegungsbeispiel der Gaspedal-ECU 310 veranschaulicht. Die Gaspedal-ECU 310 zum Steuern der Antriebsmaschine 311 umfasst eine Kommunikationseinheit 1310, einen Datenpuffer 2310 und eine Steuerungsverarbeitungseinheit 3310.
-
Bei der Kommunikationseinheit 1310 handelt es sich um eine integrierte Schaltung (zum Beispiel eine Kommunikationsschaltung, einen Speicher oder einen Prozessor), welche die Kommunikation mit dem Bus 30 steuert. Die Kommunikationseinheit 1310 umfasst beispielsweise als funktionelle Bestandteile eine Frame-Sendeempfangsfunktionseinheit und eine Empfangsframe- Interpretationsfu n ktionsei n heit.
-
Die Frame-Sendeempfangsfunktionseinheit führt beispielsweise das Senden und Empfangen von Frames in Bezug auf den Bus 30 aus, und zwar gemäß dem CAN-Protokoll (aufeinanderfolgendes, bitweises Senden und Empfangen von Frames).
-
In der Empfangsframe-Interpretationsfunktionseinheit erfolgt die Interpretation der Werte eines Frames, den die Frame-Sendeempfangsfunktionseinheit empfangen hat, im Hinblick auf das Eintragen der Werte in die jeweiligen Felder in den im CAN-Protokoll spezifizierten Frame-Formaten. Basierend auf dem Wert, der als der Wert des ID-Feldes bestimmt wird, bestimmt die Empfangsframe-Interpretationsfunktionseinheit, ob es sich bei dem Frame um einen Daten-Frame (Nachricht) handelt, den die Gaspedal-ECU 310 empfangen sollte, oder nicht, und wenn es sich bei der ID um keine ID eines Frames handelt, der empfangen werden sollte, bricht die Empfangsframe-Interpretationsfunktionseinheit die Interpretation des betreffenden Frames ab. In einem Fall, in dem die Empfangsframe-Interpretationsfunktionseinheit bestimmt, dass ein Frame nicht dem CAN-Protokoll entspricht, wenn etwa die Werte des CRC-Prüfsummenfeldes nicht übereinstimmen oder wenn an einer Stelle, wo der dominante Wert gesetzt sein sollte, ein rezessiver Wert erscheint, sendet die Empfangsframe-Interpretationsfunktionseinheit außerdem einen Error-Frame an die Frame-Sendeempfangsfunktionseinheit. Wenn ein Error-Frame empfangen wird, das heißt, wenn basierend auf einem Wert in dem empfangenen Frame die Interpretation ergibt, dass es sich bei dem empfangenen Frame um einen Error-Frame handelt, verwirft die Empfangsframe-Interpretationsfunktionseinheit ferner den nachfolgenden Teil des Frames, das heißt, sie bricht die Interpretation des Frames ab. In einem Fall, in dem die ID des empfangenen Daten-Frames eine ID ist, welche anzeigt, dass es sich bei dem Daten-Frame um einen Frame eines Beschleunigungssteuerbefehls handelt, der vorab durch die Spezifikationen des Bordnetzwerksystems 10 bestimmt ist, wird bestimmt, dass es sich bei dem empfangenen Daten-Frame um einen Daten-Frame handelt, der durch die Empfangsframe-Interpretationsfunktionseinheit der Kommunikationseinheit 1310 empfangen werden sollte. Die Empfangsframe-Interpretationsfunktionseinheit speichert den Inhalt (ID, und Daten in dem Datenfeld, und so weiter) des Frames, von dem bestimmt worden ist, dass es sich um einen Daten-Frame handelt, der empfangen werden sollte, in dem Datenpuffer 2310 ab.
-
Bei dem Datenpuffer 2310 handelt es sich um einen Speicherbereich eines Speichermediums, etwa eines Speichers oder eines Registers. Eine ID und Daten, die von Werten in dem Datenfeld (zum Beispiel Daten, die einen Beschleunigungssteuerbefehl anzeigen) als Inhalt eines von der Kommunikationseinheit 1310 empfangenen Daten-Frames angezeigt werden, werden in dem Datenpuffer 2310 abgespeichert. Werden zu einem Zeitpunkt von einer Mehrzahl von Knoten zeitgleich Daten-Frames auf den Bus 30 gesendet, so erfolgt eine Kommunikations-Arbitrierung anhand von IDs. Daher entspricht ein Zeitpunkt, zu dem die Gaspedal-ECU 310 von dem Bus 30 einen Daten-Frame betreffend einen Beschleunigungssteuerbefehl, den die Geschwindigkeitsregelassistenz-ECU 350 sendet, nicht notwendigerweise genau einer konstanten Periode (zum Beispiel 50 ms) und kann er in manchen Fällen zu einem gewissen Grad von der konstanten Periode abweichen. In der Gaspedal-ECU 310 wird der Datenpuffer 2310 dazu verwendet, um mit Fluktuationen beim Empfangs-Timing umzugehen, die aufgrund solcher Auswirkungen der Kommunikations-Arbitrierung auftreten, und um eine effiziente Verarbeitung von empfangenen Daten-Frames zu gewährleisten.
-
Die Steuerungsverarbeitungseinheit 3310 erfasst den Inhalt (Daten, die einen Beschleunigungssteuerbefehl oder dergleichen anzeigen) eines in dem Datenpuffer 2310 gespeicherten Daten-Frames in regelmäßigen Abständen oder wenn eine bestimmte Bedingung (eine Bedingung im Zusammenhang mit der Speicherung von Frames in dem Datenpuffer 2310 oder dergleichen) gegeben ist oder dergleichen, und steuert die Antriebsmaschine 311, indem gemäß dem Beschleunigungssteuerbefehl, der durch die erfassten Daten angezeigt wird, ein Steuersignal an die Antriebsmaschine 311 gesendet wird.
-
Es ist anzumerken, dass die ECUs, die einen Aktor steuern können, wie etwa die Bremspedal-ECU 330, eine Kommunikationseinheit, einen Datenpuffer und eine Steuerungsverarbeitungseinheit zum Steuern des Aktors umfassen. In Bezug auf die Sensor-ECU 320, die mit einem Sensor verbunden ist, umfasst die Sensor-ECU 320 ferner eine Verarbeitungseinheit, die ein an dem Sensor gewonnenes Messergebnis erfasst und einen Daten-Frame erzeugt, dem eine vorbestimmte Nachrichten-ID hinzugefügt wird und der Messdaten umfasst, welche das relevante Messergebnis in dem Datenfeld anzeigen, sowie eine Kommunikationseinheit zum Senden des Daten-Frames an den Bus 30 gemäß dem CAN-Protokoll und dergleichen. Die Messdaten zeigen ein Messergebnis in Bezug auf beispielsweise ein Erkennungsergebnis betreffend die Erkennung eines Erkennungsobjekts, den Abstand zwischen dem Fahrzeug 20 und dem Erkennungsobjekt und die Geschwindigkeit des Fahrzeugs 20. Dabei ist anzumerken, dass in einem Fall, in dem eine ECU, bei der es sich nicht um die Sensor-ECU 320 handelt, mit einem Sensor verbunden ist, die betreffende ECU dieselbe Art von Bestandteilen umfassen kann wie die Sensor-ECU 320. In Bezug auf die Kommunikations-ECU 380, die mit einer Antenne verbunden ist, umfasst die Kommunikations-ECU 380 ferner eine Funkkommunikationseinheit, die Kommunikationsdaten von außerhalb des Bordnetzwerksystems 10 empfängt, eine Verarbeitungseinheit, welche aus den empfangenen Kommunikationsdaten Daten extrahiert, die an das Bordnetzwerksystem 10 zu senden sind, und einen Daten-Frame erzeugt, welcher die oben genannten Daten in dem Datenfeld enthält, und dem eine vorbestimmte Nachrichten-ID hinzufügt, sowie eine CAN-Kommunikationseinheit zum Senden des Daten-Frames an den Bus 30 gemäß dem CAN-Protokoll und dergleichen. Bei den Daten, die in dem Daten-Frame enthalten sind und die mit diesem gesendet werden, handelt es sich um Daten, die beispielsweise den Zustand der Fahrsteuerung des Fahrzeugs 21, Messergebnisse, die durch Messungen gewonnen wurden, welche von Sensoren des Fahrzeugs 21 durchgeführt wurden, und den Zustand in der Außenumgebung, in der das Fahrzeug 20 gerade unterwegs ist, anzeigen.
-
[Beschleunigungssteuerbefehl]
-
5 ist eine Ansicht, die ein Beispiel des Datenfeldes eines Frames betreffend einen Beschleunigungssteuerbefehl veranschaulicht, den die Geschwindigkeitsregelassistenz-ECU 350 sendet. Bei diesem Beispiel ist die Spezifikation eines Ausgabewertes in Bezug auf die Antriebsmaschine 311 in dem Datenfeld des Frames des Beschleunigungssteuerbefehls enthalten und in 5 ist ein Beispiel der Übereinstimmung mit den Werten in dem Datenfeld und dem Gaspedal-Öffnungswinkel veranschaulicht. Es ist anzumerken, dass in diesem Fall der Gaspedal-Öffnungswinkel ein Beispiel für einen Parameter darstellt, den zu spezifizieren und zu verwenden die Geschwindigkeitsregelassistenz-ECU 350 die Gaspedal-ECU 310 veranlasst, um die Ausgangsleistung der Antriebsmaschine 311 zu steuern, und dass es sich bei diesem nicht um einen Öffnungswinkel handelt, der mit dem tatsächlichen Öffnungswinkel eines von dem Fahrer betätigten Gaspedals übereinstimmt. Es können zwar auch andere Daten als der Gaspedal-Öffnungswinkel in dem Datenfeld des Frames des Beschleunigungssteuerbefehls hinzugefügt sein, aus Gründen der Einfachheit der Beschreibung konzentriert sich die Beschreibung bei diesem Beispiel jedoch nur auf den Gaspedal-Öffnungswinkel. Bei diesem Beispiel ist der Gaspedal-Öffnungswinkel durch einen 8-Bit-Wert dargestellt, wobei ein Wert von „255“ (11111111) einen Gaspedal-Öffnungswinkel von 0 anzeigt und ein Wert von „55“ (00110111) den Maximalwert (in diesem Beispiel 100) des Gaspedal-Öffnungswinkels anzeigt und die dazwischenliegenden Werte Ausgabewerte in Inkrementen von 0,5 Grad anzeigen.
-
Wenn die Gaspedal-ECU 310 einen Beschleunigungssteuerbefehl empfängt, der von der Geschwindigkeitsregelassistenz-ECU 350 kommend eine Spezifikation hinsichtlich dem Gaspedal-Öffnungswinkel enthält, betätigt die Gaspedal-ECU 310 die Antriebsmaschine 311 entsprechend dem Gaspedal-Öffnungswinkel. Um ein spezifischeres Beispiel heranzuziehen, betätigt, wenn der durch den Beschleunigungssteuerbefehl spezifizierte Gaspedal-Öffnungswinkel dem Maximalbetrag (in diesem Beispiel 100) entspricht, die Steuerungsverarbeitungseinheit 3310 der Gaspedal-ECU 310 die Antriebsmaschine 311, indem sie ein Steuersignal sendet, welches identisch ist mit einem Fall, in dem das Gaspedal vollständig niedergedrückt worden ist. Ferner sendet, wenn ein Beschleunigungssteuerbefehl, der einen Gaspedal-Öffnungswinkel von gleich Null spezifiziert, von der Geschwindigkeitsregelassistenz-ECU 350 kommend empfangen wird, die Steuerungsverarbeitungseinheit 3310 der Gaspedal-ECU 310 ein Steuersignal an die Antriebsmaschine 311, welches identisch ist mit einem Fall, in dem das Gaspedal nicht niedergedrückt worden ist. Es ist anzumerken, dass in Bezug auf die Steuerung der Antriebsmaschine 311, die sich aus einer Betätigung des Gaspedals durch den Fahrer ergibt, und auf eine Steuerung der Antriebsmaschine 311 gemäß einem von der Geschwindigkeitsregelassistenz-ECU 350 kommenden Beschleunigungssteuerbefehl in manchen Fällen die Gaspedal-ECU 310, entsprechend den Einstellungen betreffend die automatische Steuerung der Beschleunigung des Fahrzeugs 20 und dergleichen, eine dieser Steuerungen gegenüber der anderen dieser Steuerungen vorrangig behandeln kann.
-
[Auslegung der Sicherheits-ECU 100]
-
6 ist ein Blockdiagramm, das ein Auslegungsbeispiel der Sicherheits-ECU 100 veranschaulicht. Die Sicherheits-ECU 100 fungiert als eine Steuervorrichtung, welche den Strom von Frames auf dem Bus 30 überwacht und durch die Übertragung eines Error-Frames einen Daten-Frame betreffend einen falschen Beschleunigungssteuerbefehl, der auf dem Bus 30 auftritt, sperrt. Zur Realisierung dieser Funktion enthält die Sicherheits-ECU 100 eine Kommunikationseinheit 1100, eine Speichereinheit 2100 und eine Überwachungsverarbeitungseinheit 3100. Die entsprechenden Funktionen dieser Bestandteile sind jeweils beispielsweise durch eine Kommunikationsschaltung, ein Speichermedium, z. B. einen Speicher, und einen Prozessor oder eine Digitalschaltung zur Ausführung eines in dem Speicher abgespeicherten Steuerprogramms, oder dergleichen, die in der Sicherheits-ECU 100 vorgesehen sind, implementiert.
-
Die Kommunikationseinheit 1100 ist durch eine Kommunikationsschaltung und durch einen Prozessor, der ein Steuerprogramm oder dergleichen ausführt, implementiert. Die Kommunikationseinheit 1100 umfasst eine Empfangseinheit 1101 und eine Sendeeinheit 1102 zum Senden und Empfangen von Frames zu und von dem Bus 30 gemäß dem CAN-Protokoll (aufeinanderfolgendes, bitweises Senden und Empfangen von Frames). Die Empfangseinheit 1101 empfängt Frames von dem Bus 30. Wenn ein Frame von dem Bus 30 kommend durch die Empfangseinheit 1101 empfangen wird, führt die Kommunikationseinheit 1100 die Interpretation durch und trägt die Werte des Frames in die entsprechenden Felder in dem Frameformat ein, das durch das CAN-Protokoll spezifiziert ist, und unterscheidet dadurch jeweils die ID (Nachrichten-ID), den Datenlängencode DLC und die Daten in dem Datenfeld voneinander und extrahiert diese Daten aus dem Frame. Durch Bezugnahme auf die IDs, die vorab in den Spezifikationen des Bordnetzwerksystems 10 festgelegt sind, bestimmt die Kommunikationseinheit 1100, ob es sich bei der extrahierten ID um die ID eines Frames handelt, den die Sicherheits-ECU 100 empfangen soll. Handelt es sich bei der ID nicht um die ID eines Frames, den die Sicherheits-ECU 100 empfangen soll, bricht die Kommunikationseinheit 1100 die Interpretation des Frames ab. Die Empfangseinheit 1101 stellt in der vorliegenden Ausführungsform ein Beispiel für eine Erfassungseinheit dar. Die Kommunikationseinheit 1100 speichert die Inhalte (ID, Daten und dergleichen) des Frames, die durch das Interpretieren des von der Empfangseinheit 1101 empfangenen Frames erfasst worden sind, in der Speichereinheit 2100 ab. Ferner sendet die Kommunikationseinheit 1100, nachdem sie von der Überwachungsverarbeitungseinheit 3100 einen Befehl zum Senden eines Error-Frames empfangen hat, mittels der Sendeeinheit 1102 einen Error-Frame an den Bus 30.
-
Zu den Frames, welche die Sicherheits-ECU 100 empfangen sollte, zählt unter anderem der Frame eines Beschleunigungssteuerbefehls, der von der Geschwindigkeitsregelassistenz-ECU 350 gesendet wird. Ferner wird von der Sicherheits-ECU 100 auch ein Frame empfangen, welcher aus Informationen, die den Zustand des Fahrzeugs 20 anzeigen, und Informationen, die den Zustand der Außenumgebung, in der das Fahrzeug 20 unterwegs ist, anzeigen, zumindest eine Art von Informationen anzeigt (im Folgenden werden Daten, die zumindest einen dieser Zustände anzeigen, auch als „Zustandsdaten“ bezeichnet). Ein Daten-Frame, der eine aktivierte (ein) oder deaktivierte (aus) Geschwindigkeitsregelassistenzfunktion anzeigt, die von der Geschwindigkeitsregelassistenz-ECU 350 gesendet wird, kann als ein Beispiel für einen Frame genannt werden, der den Zustand des Fahrzeugs 20 anzeigt. Ferner kann auch ein Daten-Frame, der anzeigt, ob verschiedene Arten von Assistenzfunktionen des Fahrassistenzsystems, die auch andere Funktionen als die Geschwindigkeitsregelassistenzfunktion umfassen, aktiviert (ein) oder deaktiviert (aus) sind, und der Werte einstellt, die durch den Fahrer oder durch verschiedene Funktionen eingestellt worden sind, als Beispiel für einen Frame genannt werden, der den Zustand des Fahrzeugs 20 anzeigt. Ferner kann ein Daten-Frame, welcher den aktuellen Gaspedal-Öffnungswinkel anzeigt, der von der Gaspedal-ECU 310 gesendet wird, von der Sicherheits-ECU 100 ebenfalls als ein Frame empfangen werden, der Zustandsdaten angibt, die den Zustand des Fahrzeugs 20 zeigen. Die Sicherheits-ECU 100 empfängt außerdem Daten-Frames mit Messdaten, die von anderen ECUs, wie beispielsweise der Sensor-ECU 320, gesendet werden. Je nach Messziel können die Arten von Messdaten Informationen über den Zustand des Fahrzeugs 20 (zum Beispiel die Fahrzeuggeschwindigkeit, die Wassertemperatur und die Spannung) und Informationen über den Zustand der Außenumgebung (zum Beispiel die Lufttemperatur außerhalb des Fahrzeugs, den Zustand der Straßenoberfläche und ein Ergebnis der Objekterkennung) umfassen. Darüber hinaus empfängt die Sicherheits-ECU 100 auch Informationen, welche die Kommunikations-ECU 380 durch Kommunikation mit dem Fahrzeug 21 erfasst und an das Bordnetzwerksystem 10 überträgt (beispielsweise den Zustand der Fahrsteuerung des Fahrzeugs 21 sowie Messergebnisse, die aus Messungen mittels Sensoren in dem Fahrzeugs 21 gewonnen wurden). Bei diesen Informationen handelt es sich um Daten, die den Zustand der Außenumgebung des Fahrzeugs 20 anzeigen.
-
Bei der Speichereinheit 2100 handelt es sich um einen Speicherbereich eines Speichermediums, etwa eines Speichers zum Abspeichern der Inhalte von Frames, die durch die Empfangseinheit 1101 empfangen werden. Gespeichert werden in der Speichereinheit 2100 beispielsweise die oben erwähnten Zustandsdaten, das heißt, von der Sensor-ECU 320 aus gesendete Messdaten und dergleichen, Informationen betreffend die aktivierte oder deaktivierte Geschwindigkeitsregelassistenzfunktion, die von der Geschwindigkeitsregelassistenz-ECU 350 aus gesendet werden, Informationen, die den aktuellen Gaspedal-Öffnungswinkel anzeigen, die von der Gaspedal-ECU 310 aus gesendet werden, und von dem Fahrzeug 21 bereitgestellte Informationen, die von der Kommunikations-ECU 380 aus gesendet werden.
-
Die Überwachungsverarbeitungseinheit 3100 ist durch einen Prozessor implementiert, der ein Steuerprogramm oder dergleichen ausführt, und übt eine Funktion des Ausführens der Sperrverarbeitung aus, die den Daten-Frame eines Beschleunigungssteuerbefehls auf dem Bus 30 unter bestimmten Umständen sperrt. Die Überwachungsverarbeitungseinheit 3100 umfasst eine Bestimmungseinheit 3101 und eine Sperreinheit 3102.
-
Wenn die Empfangseinheit 1101 den Daten-Frame eines Beschleunigungssteuerbefehls empfängt, bestimmt die Bestimmungseinheit 3101 basierend auf dem Zustand des Fahrzeugs 20 und/oder auf dem Zustand der Außenumgebung, in welcher das Fahrzeug 20 unterwegs ist, sowie auf dem relevanten Beschleunigungssteuerbefehl, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Befehl handelt oder nicht (das heißt, ob es sich bei dem Daten-Frame des betreffenden Beschleunigungssteuerbefehls um einen zu sperrenden, falschen Frame handelt oder nicht). Die Bestimmungseinheit 3101 trifft diese Bestimmung basierend auf dem zumindest einen Zustand, der durch die Zustandsdaten angezeigt wird, welche von der Empfangseinheit 1101 empfangen und in der Speichereinheit 2100 abgespeichert werden, und auf der Steuerung, die durch den Beschleunigungssteuerbefehl angezeigt wird, welcher von der Empfangseinheit 1101 empfangen wird. Diese Bestimmung erfolgt noch vor dem Zeitpunkt, zu dem der gesamte Daten-Frame des Beschleunigungssteuerbefehls von dem Bus 30 kommend durch die Empfangseinheit 1101 empfangen worden ist (das heißt, vor dem Ende des Daten-Frames, beispielsweise unmittelbar nach dem Empfang des Datenfelds oder unmittelbar nach dem Empfang der CRC-Sequenz). In einem Fall, in welchem die Bestimmungseinheit 3101 bestimmt, dass es sich bei dem Beschleunigungssteuerbefehl um einen falschen Befehl handelt, gibt die Bestimmungseinheit 3101 ein diesbezügliches Ergebnis aus, um die Sperreinheit 3102 entsprechend zu benachrichtigen.
-
In einem Fall, in welchem durch die Bestimmungseinheit 3101 bestimmt wird, dass es sich bei dem Beschleunigungssteuerbefehl um einen falschen Befehl handelt, führt die Sperreinheit 3102 eine Sperrverarbeitung durch, die bewirkt, dass die Sendeeinheit 1102 einen Error-Frame an den Bus 30 sendet, um den Daten-Frame des Beschleunigungssteuerbefehls, der auf dem Bus 30 erscheint, zu sperren. Diese Sperrverarbeitung durch die Sperreinheit 3102 wird durch Senden eines Error-Frames an den Bus 30 implementiert, bevor der Empfang des Frame-Endes (EOF) des Daten-Frames des Beschleunigungssteuerbefehls abgeschlossen ist. Wenn die Sperrverarbeitung durchgeführt wird, wird der Daten-Frame des Beschleunigungssteuerbefehls auf dem Bus 30 überschrieben und wird somit der Daten-Frame des falschen Beschleunigungssteuerbefehls durch die Gaspedal-ECU 310 verworfen. Somit wird die Beschleunigungssteuerung gemäß dem falschen Beschleunigungssteuerbefehl vermieden.
-
[Bestimmung eines falschen Beschleunigungssteuerbefehls]
-
Nachstehend wird ein Verfahren beschrieben, durch welches die Bestimmungseinheit 3101 der Überwachungsverarbeitungseinheit 3100 in der oben erwähnten Sicherheits-ECU 100 (Überwachungseinrichtung) bestimmt, ob es sich bei einem Beschleunigungssteuerbefehl um einen falschen Befehl handelt oder nicht.
-
Die Bestimmungseinheit 3101 bestimmt, dass in einem Fall, in welchem, basierend auf einer Steuerung, die durch den Beschleunigungssteuerbefehl angezeigt wird, der aus einem von der Empfangseinheit 1101 empfangenen Daten-Frame erfasst wird, und basierend auf einem Zustand, der durch in der Speichereinheit 2100 abgespeicherte Zustandsdaten angezeigt wird, der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die nicht mit dem Zustand konsistent ist, der durch die Zustandsdaten angezeigt wird, das heißt, wenn der Zustand und die Steuerung miteinander inkonsistent sind, es sich bei einem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt. Nachfolgend wird eine solche Art von Inkonsistenz zwischen Zustand und Steuerung anhand eines Beispiels beschrieben.
-
[Inkonsistenz zwischen Einstellungen und Geschwindigkeitsbegrenzung]
-
In einem Fall beispielsweise, in dem es sich bei dem von den Zustandsdaten angezeigten Zustand um die eingestellte Geschwindigkeit des Fahrzeugs 20 handelt und ein Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass das Fahrzeug 20 mit einer Geschwindigkeit unterwegs ist, welche die eingestellte Geschwindigkeit überschreitet, bestimmt die Bestimmungseinheit 3101, dass der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich daher um einen falschen Steuerbefehl handelt.
-
Der Begriff „eingestellte Geschwindigkeit“ betrifft hier eine Geschwindigkeit, die der Fahrer beispielsweise eingestellt hat, indem er eine Geschwindigkeitshaltefunktion aktiviert hat. Darüber hinaus kann es sich bei der eingestellten Geschwindigkeit um eine Geschwindigkeit handeln, die von einer Geschwindigkeitsregelassistenzfunktion eingestellt wird, wenn eine Geschwindigkeitsregelassistenzfunktion, etwa eine Folgeabstandshaltefunktion oder eine Folgeabstandsanpassungsfunktion in dem Fahrzeug 20 aktiviert ist. Bei diesen eingestellten Geschwindigkeiten handelt es sich um Beispiele für Zustände des Fahrzeugs 20. Die Sicherheits-ECU 100 kann Zustandsdaten erfassen, die einen solchen Zustand aus einem Daten-Frame anzeigen, der den Einstellungszustand einer Geschwindigkeitsregelassistenzfunktion anzeigt, die von der Geschwindigkeitsregelassistenz-ECU 350 gesendet wird.
-
Ferner bestimmt in einem Fall, in dem es sich bei dem von den Zustandsdaten angezeigten Zustand um eine Vorschriftsgeschwindigkeit an dem Ort, in welchem das Fahrzeug 20 unterwegs ist, handelt und ein Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass das Fahrzeug 20 mit einer Geschwindigkeit unterwegs ist, welche die Vorschriftsgeschwindigkeit überschreitet, bestimmt die Bestimmungseinheit 3101, dass der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich daher um einen falschen Steuerbefehl handelt.
-
Der Begriff „Vorschriftsgeschwindigkeit“ bezieht sich hier beispielsweise auf eine Geschwindigkeit, die durch einschlägige Gesetze und Bestimmungen vorbestimmt ist, oder auf eine Geschwindigkeitsobergrenze für Privatgründe und -gebäude (zum Beispiel den Parkplatz eines Einzelhandelsgeschäfts), die durch den jeweiligen Nutzer desselben festgelegt und angezeigt wird. Bei diesen Vorschriftsgeschwindigkeiten handelt es sich um Beispiele für Zustände der Außenumgebung, in welcher das Fahrzeug 20 unterwegs ist. Die Sicherheits-ECU 100 kann Zustandsdaten erfassen, die einen solchen Zustand aus beispielsweise einem Daten-Frame anzeigen, welcher das Ergebnis einer Objekterkennung (bzw. einer Schriftzeichenerkennung) in der lokalen Umgebung anzeigt, das durch die Sensor-ECU 320 bereitgestellt wird. Darüber hinaus kann die Sicherheits-ECU 100 Kartendaten erfassen und nutzen, welche durch ein Fahrzeugnavigationssystem oder ein Automatikfahrsystem, über die das Fahrzeug 20 verfügt, bereitgestellt werden, oder Kartendaten, welche von einem außerhalb des Fahrzeugs 20 befindlichen Dienst bereitgestellt werden, oder Daten, welche eine Vorschriftsgeschwindigkeit zeigen, die aus Verkehrsinformationen gewonnen wird. Die Gewinnung solcher Daten kann auf der sendenden Seite oder durch die Sicherheits-ECU 100 erfolgen.
-
[Inkonsistenz beim Abstand zu einem Objekt in Fahrrichtung]
-
Diese Inkonsistenz wird anhand eines vorausfahrenden Fahrzeugs als ein sich in der Fahrrichtung befindliches Objekt und anhand eines Folgeabstands als Beispiel für einen Abstand zu dem Objekt beschrieben. In einem Fall beispielsweise, indem der von den Zustandsdaten angezeigte Zustand den Folgeabstand zwischen dem Fahrzeug 20 und einem vorausfahrenden Fahrzeug zeigt, und der Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass das Fahrzeug 20 mit einer Geschwindigkeit unterwegs ist, welche einen ersten vorbestimmten Wert überschreitet, bestimmt die Bestimmungseinheit 3101, dass der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich daher um einen falschen Steuerbefehl handelt.
-
Der hier verwendete Begriff „erster vorbestimmter Wert“ bezieht sich beispielsweise auf einen Wert für die Absolutgeschwindigkeit des Fahrzeugs 20, der im Voraus in Bezug auf eine Folgegeschwindigkeit in Bezug auf ein vorausfahrendes Fahrzeug bestimmt wird, und kann basierend auf der Beziehung mit einem Folgeabstand definiert werden, der aus Gründen der Sicherheit basierend auf dem Anhalteweg in Bezug auf die Geschwindigkeit als notwendig erachtet wird. Darüber hinaus kann es sich in diesem Fall bei dem ersten vorbestimmten Wert um einen Wert einer Geschwindigkeit handeln, der basierend auf einem Verhältnis zwischen einer Fahrzeuggeschwindigkeit, die per Steuerung durch die Geschwindigkeitsregelassistenz-ECU 350 eingestellt wird und dem Folgeabstand definiert wird. 7 ist eine Ansicht zum Beschreiben von Bedingungen für eine falsche Bestimmung in Bezug auf einen auf diese Weise definierten Beschleunigungssteuerbefehl. In 7 sind basierend auf der Absolutgeschwindigkeit eines Fahrzeugs schwarze Punkte in einem Graphen-Bereich aufgetragen, und zwar gemäß einer Beschleunigungssteuerungsassistenz, durchgeführt durch eine Geschwindigkeitsregelassistenzfunktion in einem Zustand, in welchem das Fahrzeug keinem Cyberangriff welcher Art auch immer ausgesetzt ist (das heißt, in einem normalen Zustand), sowie gemäß einem Folgeabstand in Bezug auf das zu dem betreffenden Zeitpunkt gerade vorausfahrende Fahrzeug. Das heißt, diese Punkte stellen einen Fall dar, in welchem der Zustand hinsichtlich der Beziehung zwischen dem vorausfahrenden Fahrzeug und dem Folgeabstand und der durch einen Beschleunigungssteuerungsassistenzbefehl angezeigten Steuerung miteinander konsistent sind. Demgemäß kann der Inhalt der Beschleunigungssteuerung, welcher derart gestaltet ist, dass bewirkt wird, dass das Fahrzeug eine Geschwindigkeit erreicht, die in einen Bereich eintritt, der sich innerhalb einen feststehenden Abstandsbereichs von einer Linie (der gestrichelten Linie in 7) in der Nähe dieser Punkte befindet, als mit dem Zustand konsistent betrachtet werden, und kann der Inhalt der Beschleunigungssteuerung, welcher derart gestaltet ist, dass das Fahrzeug eine Geschwindigkeit erreicht, die in einen Bereich eintritt, der sich außerhalb des oben genannten Bereichs befindet, als mit dem Zustand inkonsistent betrachtet werden. In 7 stellt eine Region mit der Form eines rechtwinkeligen Dreiecks, das mit diagonalen Linien schraffiert ist und sich im rechten, unteren Teil des Graphenbereichs befindet, eine Region dar, in der die Geschwindigkeit relativ zu dem Folgeabstand übermäßig hoch wird und die somit eine Region ist, in der die Beschleunigungssteuerungsassistenz nicht in einem normalen Zustand ausgeführt wird, und handelt es sich somit um eine Region, in welcher eine Beschleunigungssteuerungsassistenz aufgetragen wird, die mit dem Zustand inkonsistent ist. Der erste vorbestimmte Wert ist ein Wert der Abszissenachse, der die Fahrzeuggeschwindigkeit in Bezug auf einen Wert der Ordinatenachse darstellt, welche auf dem Folgeabstand basiert, der sich auf der Hypotenuse des oben erwähnten rechtwinkeligen Dreiecks befindet. Darüber hinaus kann es sich bei dem ersten vorbestimmten Wert um eine Relativgeschwindigkeit des Fahrzeugs 20 in Bezug auf das vorausfahrende Fahrzeug handeln. Beispielsweise handelt es sich bei dem ersten vorbestimmten Wert um den Wert einer Relativgeschwindigkeit, welche vorab in Übereinstimmung mit den entsprechenden Werten für den Folgeabstand bestimmt wird. Die Beziehung zwischen dem Folgeabstand und der Relativgeschwindigkeit in Bezug auf das vorausfahrende Fahrzeug, wie sie weiter oben für ein Fahrzeug gemäß dem Beschleunigungssteuerungsassistenzbefehl, ausgeführt durch eine Geschwindigkeitsregelassistenzfunktion in einem normalen Zustand, in Bezug auf die Absolutgeschwindigkeit beispielhaft dargelegt ist, kann als Technik herangezogen werden, um diese Bestimmung vorzunehmen. Im Unterschied dazu kann es sich, in einem weiteren Beispiel, bei dem ersten vorbestimmten Wert um einen Wert der Relativgeschwindigkeit handeln, so dass der Folgeabstand innerhalb einer vorbestimmten Zeitspanne (von zum Beispiel 0,5 Sekunden) geringer als der weiter oben genannte Folgeabstand wird, der aus Sicherheitsgründen als nötig erachtet wird.
-
Es ist anzumerken, dass der Folgeabstand in Bezug auf das vorausfahrende Fahrzeug gleichermaßen als ein Umstand des Fahrzeugs 20 und als ein Zustand der Außenumgebung, in der das Fahrzeug 20 unterwegs ist, betrachtet werden kann. Die Sicherheits-ECU 100 kann Zustandsdaten erfassen, die diesen Umstand aus beispielsweise einem Daten-Frame anzeigen, welcher ein Ergebnis einer Objekterkennung und ein durch einen Abstandssensor gewonnenes Messergebnis anzeigt, das durch die Sensor-ECU 320 gesendet wird. Ferner handelt es sich bei der Fahrzeuggeschwindigkeit um einen Umstand des Fahrzeugs 20 und kann die Sicherheits-ECU 100 Zustandsdaten erfassen, die diesen Umstand aus beispielsweise einem Daten-Frame anzeigen, welcher ein durch einen Geschwindigkeitssensor gewonnenes Messergebnis anzeigt, das durch die Sensor-ECU 320 gesendet wird. Darüber hinaus kann die Relativgeschwindigkeit durch die Bestimmungseinheit 3101 basierend auf einem Daten-Frame berechnet werden, der die Geschwindigkeit des Fahrzeugs 21 anzeigt und den die Kommunikations-ECU 380 von dem Fahrzeug 21 kommend empfangen hat.
-
Es ist anzumerken, dass, wie weiter oben beschrieben, es sich bei einem vorausfahrenden Fahrzeug um ein Beispiel für ein sich in der Fahrrichtung befindliches Objekt handelt und es sich bei dem Folgeabstand um ein Beispiel für einen Abstand in Bezug auf ein Objekt handelt. Ein Objekt, das sich in der Fahrrichtung befindet, ist nicht auf einen beweglichen Körper wie etwa ein Fahrzeug beschränkt und es kann sich dabei um verschiedene Arten von Objekten handeln, mit denen ein Inkontakttreten während der Fahrt nicht beabsichtigt ist.
-
[Inkonsistenz betreffend die Verlangsamungssteuerung]
-
In einem Fall beispielsweise, in dem ein Beschleunigungssteuerbefehl, der eine Beschleunigung des Fahrzeugs 20 bewirken soll, erfasst wird, und es sich bei dem von den Zustandsdaten angezeigten Zustand um einen Zustand handelt, in dem eine Verlangsamung des Fahrzeugs 20 bewirkt werden soll, bestimmt die Bestimmungseinheit 3101, dass der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich somit um einen falschen Steuerbefehl handelt.
-
Der hier verwendete Ausdruck „Zustand, in dem eine Verlangsamung des Fahrzeugs 20 bewirkt werden soll“ bezieht sich, einfach gesagt, auf einen Zustand, in dem über eine Betätigung durch den Fahrer des Fahrzeugs 20 eine Bremsensteuerung ausgeführt wird, obwohl sich die Bedeutung des Ausdrucks nicht darauf beschränkt. Als weiteres Beispiel kann ein Zustand genannt werden, in welchem ein Bremssteuerbefehl in Bezug auf das Fahrzeug 20 durch eine der von dem Fahrassistenzsystem bereitgestellten Funktionen ausgegeben wird. Dabei ist anzumerken, dass sich der Begriff „Bremssteuerung“ nicht auf eine Bremsung mittels der Reibungskraft der Bremsbeläge beschränkt. Der Begriff „Bremssteuerung“ umfasst auch Bremsungen mittels Motorbremse oder Abgasbremse durch aktives Herunterschalten auf einen niedrigeren Gang. Ferner umfasst im Fall eines Fahrzeugs, bei welchem die Antriebsmaschine ein Elektromotor ist und bei dem eine Nutzbremsung aktiv zur Geschwindigkeitsreduktion eingesetzt wird, der Begriff „Bremssteuerung“ auch die Steuerung der Nutzbremsung. Ferner umfasst ein Zustand, in welchem das Fahrzeug 20 verlangsamt werden sollte, auch einen Zustand, in dem eine Bremssteuerung durch einen Fahrer oder durch das Fahrassistenzsystem durchgeführt werden sollte, im Spezielleren, beispielsweise wenn ein vorausfahrendes Fahrzeug langsamer wird oder eine Bremssteuerung durchführt, wenn ein Objekt oder eine Person, wie etwa ein still stehendes Fahrzeug, ein Gebäude oder ein Passant innerhalb eines Bereichs in Fahrrichtung des Fahrzeugs 20 detektiert wird, der geringer als ein vorbestimmter Abstand ist, und wenn sich das Fahrzeug 20 einer Kurve nähert oder sich einem Gebiet nähert, in dem eine Vorschriftsgeschwindigkeit geringer als die aktuelle Fahrzeuggeschwindigkeit ist.
-
Bei dem oben erwähnten Zustand, in dem eine Bremssteuerung durch den Fahrer oder durch das Fahrassistenzsystem durchgeführt wird, handelt es sich um einen Zustand des Fahrzeugs 20 und die Sicherheits-ECU 100 kann einen Daten-Frame erfassen, der den Zustand in Bezug auf die Betätigung der Bremsen anzeigt und der von der Bremspedal-ECU 330 oder von einer ECU kommend gesendet wird, die für die Funktion des Fahrassistenzsystems zuständig ist. Bei der Detektion des Eintretens einer Verlangsamung oder Bremssteuerung bei dem vorausfahrenden Fahrzeug, der Detektion einer Person oder eines Objekts in der Fahrrichtung, dem Herannahen des Fahrzeugs 20 an eine Kurve, und dem Herannahen des Fahrzeugs 20 an ein Gebiet, in dem die Vorschriftsgeschwindigkeit geringer als die aktuelle Fahrzeuggeschwindigkeit ist, handelt es sich um Zustände der Außenumgebung, in welcher das Fahrzeug 20 unterwegs ist, und die Sicherheits-ECU 100 kann Zustandsdaten, die diese Zustände anzeigen, beispielsweise aus einem Daten-Frame erfassen, der das Ergebnis einer Objekterkennung oder dergleichen anzeigt, die von der Sensor-ECU 320 gesendet wird. Ferner können Zustandsdaten betreffend das Auftreten einer Verlangsamung oder Bremssteuerung bei einem vorausfahrenden Fahrzeug auch aus einem Daten-Frame erfasst werden, den die Kommunikations-ECU 380 von dem Fahrzeug 21 empfängt. Darüber hinaus kann die Sicherheits-ECU 100 Zustandsdaten, die anzeigen, dass sich das Fahrzeug 20 einer Kurve nähert oder sich einem Gebiet nähert, in dem die Vorschriftsgeschwindigkeit geringer als die aktuelle Fahrzeuggeschwindigkeit ist, auch aus einem Daten-Frame erfassen, der Kartendaten enthält, welche durch ein Fahrzeugnavigationssystem oder ein Automatikfahrsystem, die in dem Fahrzeug 20 vorgesehen sind, bereitgestellt werden, oder Kartendaten, welche von einem außerhalb des Fahr-zeugs 20 befindlichen Dienst bereitgestellt werden, oder Daten, welche eine Vorschriftsgeschwindigkeit zeigen, die aus Verkehrsinformationen gewonnen wird.
-
[Inkonsistenz bei der Bestimmung der Fahrzeuggeschwindigkeit basierend auf Daten von außen]
-
In einem Fall beispielsweise, in dem der von den Zustandsdaten angezeigte Zustand darin besteht, dass die Information, die eine Geschwindigkeit anzeigt, mit der das Fahrzeug 20 unterwegs sein sollte, von einem dem Fahrzeug 20 vorausfahrenden Fahrzeug empfangen wurde, und ein Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass das Fahrzeug 20 mit einer Geschwindigkeit unterwegs ist, welche die Geschwindigkeit, welche die empfangene Information anzeigt, überschreitet, bestimmt die Bestimmungseinheit 3101, dass der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich daher um einen falschen Steuerbefehl handelt.
-
Im Fall von Fahrzeugen, die für Fahrzeug-zu-Fahrzeug-Kommunikation ausgelegt sind, ist eine Situation denkbar, in welcher, wenn eine Folgeabstandshaltefunktion oder eine Folgeabstandsanpassungsfunktion ausgeführt wird, Informationen, die direkt oder indirekt eine Geschwindigkeit anzeigen, mit welcher ein nachfolgendes Fahrzeug unterwegs sein sollte, von einem vorausfahrenden Fahrzeug an das nachfolgende Fahrzeug gesendet werden. Im Spezielleren können beispielsweise Daten gesendet werden, die einen Vorschlag betreffend eine Absolutgeschwindigkeit, mit der das nachfolgende Fahrzeug fahren sollte, oder eine Relativgeschwindigkeit in Bezug auf das vorausfahrende Fahrzeug, mit der das nachfolgende Fahrzeug fahren sollte, enthalten. Solcherlei Informationen sind Beispiele für Informationen, die unmittelbar eine Geschwindigkeit anzeigen, mit welcher ein Fahrzeug 20, bei dem es sich um das nachfolgende Fahrzeug handelt, fahren sollte. Im Gegensatz dazu handelt es sich bei Informationen, die indirekt eine Geschwindigkeit anzeigen, mit welcher das Fahrzeug 20 als nachfolgendes Fahrzeug fahren sollte, um Informationen, die von dem vorausfahrenden Fahrzeug gesendet werden und die zur Bestimmung der Fahrzeuggeschwindigkeit des Fahrzeugs 20 genutzt werden können. Im Speziellen umfassen solcherlei Informationen einen Befehl zum Beschleunigen oder Verlangsamen, einen Befehl zum Ausführen einer Bremssteuerung, Daten, welche die Geschwindigkeit des betreffenden vorausfahrenden Fahrzeugs anzeigen, welche anzeigen, ob von dem vorausfahrenden Fahrzeug gerade eine Bremsung durchgeführt wird oder nicht, sowie die Stärke einer solchen allfälligen Bremsung, den aktuellen Folgeabstand oder einen Befehl betreffend den zu beachtenden Folgeabstand. Die Sicherheits-ECU 100 empfängt einen Daten-Frame, der von der Kommunikations-ECU 380 an den Bus 30 gesendet wird und Zustandsdaten enthält, die den Zustand des Fahrzeugs 20, in dem eine solche Art von Information empfangen worden ist, sowie den Inhalt der Informationen anzeigt. In der Sicherheits-ECU 100 bestimmt die Bestimmungseinheit 3101 beispielsweise basierend auf dem Inhalt der aus dem Daten-Frame gewonnenen Informationen, ob das Fahrzeug 20 beschleunigen, verlangsamen, oder die aktuelle Fahrzeuggeschwindigkeit beibehalten soll, und bestimmt die Bestimmungseinheit 3101 in einem Fall, in dem das Fahrzeug 20 beschleunigen oder verlangsamen soll, den Betrag, um welchen das Fahrzeug 20 beschleunigen oder verlangsamen soll, das heißt, führt die Geschwindigkeitssteuerung durch. Anschließend bestimmt die Bestimmungseinheit 3101 basierend auf dem bestimmten Ergebnis und dem Ergebnis eines Vergleichs mit der Steuerung des Beschleunigungssteuerbefehls, der von der Geschwindigkeitsregelassistenz-ECU 350 gesendet worden ist, ob der Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist oder nicht.
-
[Inkonsistenz mit dem Betriebszustand des Fahrassistenzsystems]
-
In einem Fall, in dem beispielsweise der Zustand, der von den Zustandsdaten angezeigt wird, darin besteht, dass ein in dem Fahrzeug 20 bereitgestelltes Fahrassistenzsystem abgeschaltet ist, und ein Beschleunigungssteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich das Fahrzeug 20 mit einer Geschwindigkeit bewegt, die einen dritten vorbestimmten Wert überschreitet, oder dass die Empfangseinheit 1101 den Beschleunigungssteuerbefehl innerhalb einer vorbestimmten Zeitspanne erfasst hat, bestimmt die Bestimmungseinheit 3101, dass der relevante Beschleunigungssteuerbefehl mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist und es sich somit um einen falschen Steuerbefehl handelt.
-
Wenn das Fahrassistenzsystem abgeschaltet ist, wird ein Beschleunigungssteuerbefehl, der bewirken würde, dass das Fahrzeug 20 um mehr als einen gewissen Betrag beschleunigt, von der Geschwindigkeitsregelassistenz-ECU 350 nicht gesendet. Bei dem dritten vorbestimmten Wert handelt es sich um einen Wert, den die Bestimmungseinheit 3101 als Referenzwert heranzieht, um eine solche Art von Beschleunigungssteuerbefehl zu detektieren, der mit dem Zustand des Fahrzeugs 20, bei dem das Fahrassistenzsystem abgeschaltet ist, inkonsistent ist. Ferner gibt es eine Zeitspanne, die der Mindestzeit entspricht, welche benötigt wird, damit ein Beschleunigungssteuerbefehl von der Geschwindigkeitsregelassistenz-ECU 350 aus übertragen wird, nachdem das Fahrassistenzsystem von einem „Aus“-Zustand und einen „Ein“-Zustand umgeschaltet worden ist. Bei der vorbestimmten Zeitspanne handelt es sich um einen Wert, den die Bestimmungseinheit 3101 als Referenzwert heranzieht, um eine solche Art von Beschleunigungssteuerbefehl zu detektieren, der mit dem Zustand des Fahrzeugs 20, bei dem das Fahrassistenzsystem abgeschaltet ist, inkonsistent ist.
-
Im Fall dieses Beispiels erfasst die Sicherheits-ECU 100 den Zustand des Fahrzeugs 20, der darin besteht, dass das Fahrassistenzsystem des Fahrzeugs abgeschaltet ist, von einem Daten-Frame, der beispielsweise von einer das Fahrassistenzsystem betreffenden ECU gesendet wird. Bei der Geschwindigkeitsregelassistenz-ECU 350 handelt es sich um ein Beispiel einer ECU, die das Fahrassistenzsystem betrifft.
-
[Steuerungsverarbeitung der Sicherheits-ECU 100]
-
8 ist ein Ablaufdiagramm, das ein Beispiel der Überwachungsverarbeitungsverfahren veranschaulicht, die im Bereich der Sicherheits-ECU 100 in dem Bordnetzwerksystem 10 ausgeführt werden. Im Folgenden wird die Überwachungsverarbeitung, welche im Bereich der Sicherheits-ECU 100 als eine Verarbeitung zum Umgang mit einem Attack-Frame eines falschen Beschleunigungssteuerbefehls ausgeführt wird, unter Bezugnahme auf die Verfahren in 8 beschrieben.
-
In einem Fall, in dem die Empfangseinheit 1101 einen Daten-Frame mit Zustandsdaten von dem Bus 30 empfängt (JA in Schritt S11), werden die empfangenen Zustandsdaten in der Speichereinheit 2100 abgespeichert (Schritt S12). Daten-Frames mit Zustandsdaten werden in regelmäßigen Abständen von der Sensor-ECU 320 gesendet und der Empfang und die Abspeicherung von Zustandsdaten in Schritt S12 wird wiederholt durchgeführt.
-
In einem Fall, in dem die Empfangseinheit 1101 einen Daten-Frame eines Beschleunigungssteuerbefehls von dem Bus 30 empfängt (JA in Schritt S13), vergleicht die Bestimmungseinheit 3101 den Zustand, der von den zuletzt in der Speichereinheit 2100 abgespeicherten Zustandsdaten angezeigt wird, mit der Steuerung, die der empfangene Beschleunigungssteuerbefehl anzeigt (Schritt S14). Basierend auf diesem Vergleich bestimmt die Bestimmungseinheit 3101, ob der Zustand und die Steuerung miteinander inkonsistent sind oder nicht (Schritt S15) und bestimmt die Bestimmungseinheit 3101, wenn der Zustand und die Steuerung miteinander inkonsistent sind (Ja in Schritt S15), dass es sich bei dem Beschleunigungssteuerbefehl in Bezug auf den in Schritt S13 empfangenen Daten-Frame um einen falschen Befehl handelt. Es ist anzumerken, dass, wenn der Empfang des Daten-Frames des Beschleunigungssteuerbefehls bis zu dem Datenfeld durch die Empfangseinheit 1101 abgeschlossen ist, die Steuerung, die der Beschleunigungssteuerbefehl anzeigt, erfasst werden kann und folglich die Bestimmungseinheit 3101 die Schritte ab dem Schritt S14 ausführen kann.
-
Die Sperreinheit 3102 sperrt den Daten-Frame eines Beschleunigungssteuerbefehls, der in Schritt S16 als falsch bestimmt wird, indem sie bewirkt, dass die Sendeeinheit 1102 einen Error-Frame sendet (Schritt S17).
-
[Verarbeitungssequenz in Bezug auf die Beschleunigungssteuerung bei dem Bordnetzwerksystem 10]
-
9 veranschaulicht ein Beispiel einer Verarbeitungssequenz betreffend die Beschleunigungssteuerung in dem Bordnetzwerksystem 10. Im Folgenden wird der Betrieb der jeweiligen ECUs in dem Bordnetzwerksystem 10 unter Bezugnahme auf 9 beschrieben. Dabei ist anzumerken, dass sich der hier verwendete Begriff „falsche ECU“ auf jede beliebige ECU in dem Bordnetzwerksystem 10 (einschließlich der ECUs, die in den Zeichnungen nicht gezeigt sind) bezieht, das heißt, beispielsweise auf eine ECU, welche durch einen Angreifer mit dem Diagnoseanschluss 390 verbunden worden ist, oder die eine ECU ist, welche von einem Angreifer durch Überschreiben ihrer Firmware oder dergleichen übernommen worden ist. Ferner ist zur besseren Veranschaulichung eines Kontrasts zwischen den verschiedenen Arten der durchzuführenden Verarbeitung die erste Hälfte (obere Hälfte) der Verarbeitungssequenz ein Beispiel für einen Fall, bei dem kein falscher Daten-Frame gesendet wird, und die zweite Hälfte (untere Hälfte) der Verarbeitungssequenz ein Beispiel für einen Fall, in dem ein falscher Daten-Frame gesendet wird.
-
Die Sensor-ECU 320 sendet einen Daten-Frame, der Zustandsdaten enthält, die ein Messergebnis zeigen, das von dem Objekterkennungssensor 321 oder von dem Geschwindigkeitssensor 322 gemessen wurde, an den Bus 30 (Schritt S101A). Die Geschwindigkeitsregelassistenz-ECU 350 und die Sicherheits-ECU 100 empfangen den Daten-Frame von dem Bus 30. Ferner sendet die Geschwindigkeitsregelassistenz-ECU 350 einen Daten-Frame mit Informationen, die anzeigen, ob verschiedene Beschleunigungsassistenzfunktionen aktiviert oder deaktiviert sind, an den Bus 30 (Schritt S101B). Die Sicherheits-ECU 100 empfängt den oben erwähnten Daten-Frame von dem Bus 30. Die Gaspedal-ECU 310 sendet einen Daten-Frame, der den aktuellen Gaspedal-Öffnungswinkel zeigt, an den Bus 30 (Schritt S101C). Die Sicherheits-ECU 100 empfängt den oben erwähnten Daten-Frame von dem Bus 30. Auf diese Weise erfasst die Sicherheits-ECU 100 Zustandsdaten, die den Zustand des Fahrzeugs 20 und den Zustand der Außenumgebung, in der das Fahrzeug 20 unterwegs ist, zeigen.
-
Basierend auf den von der Sensor-ECU 320 in Schritt S101A gesendeten Zustandsdaten sendet die Geschwindigkeitsregelassistenz-ECU 350 einen Beschleunigungssteuerbefehl für eine aktivierte Beschleunigungsassistenzfunktion, beispielsweise einen Daten-Frame, der einen Gaspedal-Öffnungswinkel zu Beibehaltung der Fahrzeuggeschwindigkeit anzeigt, als Steuerung an den Bus 30 (Schritt S102). Die Gaspedal-ECU 310 und die Sicherheits-ECU 100 empfangen den oben erwähnten Daten-Frame von dem Bus 30.
-
Die Sicherheits-ECU 100, die den oben erwähnten Daten-Frame empfängt und dadurch den Beschleunigungssteuerbefehl erfasst, bestimmt, ob die Steuerung, welche der Beschleunigungssteuerbefehl anzeigt, mit dem Zustand, inkonsistent ist, der von den Zustandsdaten angezeigt wird, die in den Schritten S101A bis 101C gesendet worden sind (Schritt S103). Bei diesem Beispiel führt die Sicherheits-ECU 100, da die Steuerung nicht mit dem von den Zustandsdaten angezeigten Zustand inkonsistent ist, keine Sperrverarbeitung in Bezug auf den in Schritt S102 gesendeten Daten-Frame aus. Die Gaspedal-ECU 310 arbeitet übereinstimmend mit dem erfassten Beschleunigungssteuerbefehl (Schritt S105).
-
Als Nächstes senden auf ähnliche Weise, wie in den Schritten S101A bis S101C, die Sensor-ECU 320, die Geschwindigkeitsregelassistenz-ECU 350 und die Gaspedal-ECU 310 jeweils einen Daten-Frame, der neuere Zustandsdaten zeigt, an den Bus 30 (Schritte S201A, S201B, S201C). Die Sicherheits-ECU 100 erfasst diese neueren Zustandsdaten.
-
Anschließend sendet eine falsche ECU einen falschen Daten-Frame, der einen Beschleunigungssteuerbefehl zum Zweck eines Angriffs enthält (Schritt S202). Die Gaspedal-ECU 310 und die Sicherheits-ECU 100 empfangen den falschen Daten-Frame von dem Bus 30.
-
Die Sicherheits-ECU 100, die den oben erwähnten Daten-Frame empfängt und dadurch den Beschleunigungssteuerbefehl erfasst, bestimmt, ob die Steuerung, welche der Beschleunigungssteuerbefehl anzeigt, mit dem Zustand, inkonsistent ist, der von den Zustandsdaten angezeigt wird, die in den Schritten S201A bis 201C gesendet worden sind (Schritt S203). Bei diesem Beispiel sendet die Sicherheits-ECU 100, da die Steuerung mit dem von den Zustandsdaten angezeigten Zustand inkonsistent ist, als Sperrverarbeitung in Bezug auf den in Schritt S202 gesendeten Daten-Frame einen Error-Frame an den Bus 30, während der betreffende Daten-Frame auf dem Bus 30 erscheint. Die Gaspedal-ECU 310, die den Error-Frame empfangen hat, verwirft den Daten-Frame, der in Schritt S202 gesendet wurde und den die Gaspedal-ECU 310 zu erfassen im Begriff war (Schritt S205).
-
Das weiter oben Gesagte ist eine Beschreibung anhand eines Beispiels einer Verarbeitungssequenz betreffend die Beschleunigungssteuerung in dem Bordnetzwerksystem 10. Eine Verarbeitungssequenz betreffend die Beschleunigungssteuerung in dem Bordnetzwerksystem, welche die Sicherheits-ECU 100 gemäß der gegenwärtigen Ausführungsform einschließt, ist jedoch nicht auf das vorstehende Beispiel beschränkt. Beispielsweise braucht die Sicherheits-ECU 100 nicht immer die rezentesten Zustandsdaten jeglicher Art heranziehen, um zu bestimmen, ob eine Inkonsistenz vorliegt. Ferner kann eine Bestimmung, ob eine Inkonsistenz vorliegt, auch mehrfach unter Verwendung derselben Zustandsdaten durchgeführt werden. In dem vorangegangenen Beispiel kann, obwohl der Einfachheit halber eine Beschreibung unterblieben ist, der Daten-Frame eines Beschleunigungssteuerbefehls von der Geschwindigkeitsregelassistenz-ECU 350 beispielsweise auch nach dem Schritt S201 gesendet werden, und kann die Sicherheits-ECU 100 einen Beschleunigungssteuerbefehl aus diesem Daten-Frame erfassen und eine Bestimmung vornehmen, ob eine Inkonsistenz vorliegt. Gemäß dem CAN-Protokoll wird der Daten-Frame eines Steuerbefehls in Bezug auf dasselbe Steuerobjekt in regelmäßigen Abständen übertragen, und in manchen Fällen wird ein falscher Daten-Frame zum Zweck eines Angriffs zu einem Zeitpunkt gesendet, der sehr nahe an einem authentischen Daten-Frame gelegen ist, so dass dieser gemäß den Zeitabstandsregeln nicht zurückgewiesen wird. Auch in Bezug auf diese Art von Angriff wird ein falscher Daten-Frame, der basierend auf dem Ergebnis eines Vergleichs des von den Zustandsdaten angezeigten Zustands mit dem Inhalt des Steuerbefehls, insofern als solcher bestimmt wird, als er eine Steuerung anzeigt, die mit dem Zustand inkonsistent ist, in angemessener Weise gesperrt.
-
[Vorteilhafte Auswirkungen der Ausführungsform]
-
Bei dem Bordnetzwerksystem 10 gemäß der vorliegenden Ausführungsform bestimmt die Überwachungsverarbeitungseinheit 3100 der Sicherheits-ECU (Überwachungseinrichtung) 100, unmittelbar bevor der Empfang eines Beschleunigungssteuerbefehls (das heißt, eines per Daten-Frame übermittelten Beschleunigungssteuerbefehls) durch die Empfangseinheit 1101 abgeschlossen ist, auf der Basis von Zustandsdaten, die von einer anderen Einrichtung, wie etwa der Sensor-ECU 320, erfasst werden, mithilfe eines vorbestimmten Verfahrens, ob die Steuerung des relevanten Beschleunigungssteuerbefehls mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist. Falls die Steuerung inkonsistent ist, führt die Sicherheits-ECU 100 eine Sperrverarbeitung durch, die den relevanten Beschleunigungssteuerbefehl durch das Senden eines Error-Frames sperrt. In Bezug auf das vorbestimmte Verfahren können verschiedene Kombinationen aus einem Zustand und einer Steuerung vorab definiert werden, die bei der Bestimmung einer Inkonsistenz als Referenzwert dienen können. Da ein falscher Daten-Frame, der eine Beschleunigungssteuerung enthält, die mit dem Zustand inkonsistent ist, auf dem Bus 30 von der Sicherheits-ECU 100 durch Senden eines Error-Frames gesperrt wird, ist es möglich, das Eintreten einer Situation zu vermeiden, in welcher die Gaspedal-ECU 310 den Empfang des falschen Daten-Frames abschließt und die Antriebsmaschine 311 gemäß einem in dem fraglichen Daten-Frame enthaltenen Beschleunigungssteuerbefehl steuert. Somit wird in dem Bordnetzwerksystem 10 durch die Sicherheits-ECU 100 eine angemessene Gegenmaßnahme ausgeführt, um mit einem falschen Frame (Attack-Frame) betreffend einen Beschleunigungssteuerbefehl umzugehen, und ist es dadurch möglich, einen Unfall zu verhindern, der durch den Attack-Frame verursacht hätte werden können.
-
(Varianten von Ausführungsform 1)
-
Wie weiter oben beschrieben, ist die Ausführungsform 1 als veranschaulichendes Beispiel für die Technologie gemäß der vorliegenden Erfindung beschrieben worden. Die erfindungsgemäße Technologie ist jedoch nicht auf die oben beschriebene Ausführungsform beschränkt und ist auch auf Ausführungsformen anwendbar, bei denen angemessene Modifikationen, Ersetzungen, Hinzufügungen, Weglassungen und dergleichen vorgenommen werden. Beispielsweise sind auch die folgenden Varianten in den Ausführungsformen der vorliegenden Erfindung enthalten.
-
(1) In der weiter oben beschriebenen Ausführungsform 1 kann eine Überwachungseinrichtung, die durch die Sicherheits-ECU 100 implementiert ist, die eine Funktion der Gewährleistung der Sicherheit des Bordnetzwerksystems 10 ausübt, auch als integrierter Bestandteil der Gaspedal-ECU 310 implementiert sein. In diesem Fall kann das Verwerfen eines Daten-Frames, der einen falschen Beschleunigungssteuerbefehl enthält, als eine Sperrverarbeitung durch die Sperreinheit 3102 ausgeführt werden. 10 ist ein Blockdiagramm, das ein Auslegungsbeispiel veranschaulicht, bei welchem eine Gaspedal-ECU als integrierten Bestandteil eine Überwachungseinrichtung enthält.
-
Zusätzlich zu den Bestandteilen der Gaspedal-ECU 310 in Ausführungsform 1 umfasst eine Gaspedal-ECU 310B gemäß der vorliegenden Variante außerdem eine Speichereinheit 2100B und eine Überwachungsverarbeitungseinheit 3100B. Ferner übt eine Kommunikationseinheit 1310B der Gaspedal-ECU 310B gleichermaßen die Funktionen der Kommunikationseinheit 1310 und jene der Kommunikationseinheit 1100 aus, die in Ausführungsform 1 in der Sicherheits-ECU 100 enthalten ist. Unter diesen Funktionen ist ein Teilabschnitt, welcher der Empfangseinheit 1101 der Kommunikationseinheit 1100 entspricht, in der Beschreibung der Gaspedal-ECU 310B als Empfangseinheit 1101B beschrieben. Gemäß der vorliegenden Variante bilden die Speichereinheit 2100B, die Überwachungsverarbeitungseinheit 3100B und die Empfangseinheit 1101B eine Überwachungseinrichtung 100B innerhalb der Gaspedal-ECU 310B. Im Folgenden werden in erster Linie die Unterschiede zwischen der Überwachungseinrichtung 100B und der Sicherheits-ECU 100, welche in Ausführungsform 1 die Überwachungseinrichtung darstellt, beschrieben.
-
Wie weiter oben erwähnt, entspricht die Empfangseinheit 1101B der Empfangseinheit 1101 der Kommunikationseinheit 1100 der Sicherheits-ECU 100 in Ausführungsform 1. Die Speichereinheit 2100B entspricht der Speichereinheit 2100 der Sicherheits-ECU 100. Zusätzlich zu der Bestimmungseinheit 3101B, die der Bestimmungseinheit 3101 entspricht, und zu einer Sperreinheit 3102B, die der Sperreinheit 3102 der Überwachungsverarbeitungseinheit 3100 der Sicherheits-ECU 100 entspricht, umfasst die Überwachungsverarbeitungseinheit 3100B eine Übertragungseinheit 3103.
-
Zusätzlich zu den Daten-Frames, welche die Gaspedal-ECU 310 empfängt, empfängt die Empfangseinheit 1101B außerdem Daten-Frames, die Zustandsdaten von anderen ECUs enthalten. Es ist anzumerken, dass bei der vorliegenden Variante die Zustandsdaten, welche die Sicherheits-ECU 100 in Ausführungsform 1 von der Gaspedal-ECU 310 empfängt, hier durch die Überwachungsverarbeitungseinheit 3100B innerhalb der Gaspedal-ECU 310B erfasst wird.
-
In der Überwachungsverarbeitungseinheit 3100B nimmt die Bestimmungseinheit 3101B, ähnlich der Bestimmungseinheit 3101, eine Bestimmung vor (Schritt S15 in 8), indem sie den von den Zustandsdaten angezeigten Zustand mit der Steuerung vergleicht, die durch den von der Geschwindigkeitsregelassistenz-ECU 350 kommenden Beschleunigungssteuerbefehl angezeigt wird, und das Ergebnis der Bestimmung ausgibt. Allerdings unterscheidet sich die Verarbeitung in einem Fall, in welchem bestimmt wird, dass der Zustand und die Steuerung miteinander nicht inkonsistent sind, von der Verarbeitung, die in einem solchen Fall durch die Bestimmungseinheit 3101 durchgeführt wird. 11 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, das diesen Unterschied enthält, welcher durch die Überwachungseinrichtung 100B gemäß der Gaspedal-ECU 310B ausgeführt wird. In diesem Fall (Nein in Schritt S15) meldet die Bestimmungseinheit 3101B, die bestimmt hat, dass es sich bei dem Beschleunigungssteuerbefehl um keinen falschen Befehl handelt, dieses Ergebnis an die Übertragungseinheit 3103. Beim Empfang der Meldung speichert die Übertragungseinheit 3103 den Inhalt (ID, Daten in dem Datenfeld und dergleichen) des Daten-Frames mit Bezug zu dem relevanten Beschleunigungssteuerbefehl in dem Datenpuffer 2310 (Schritt S18).
-
In der Überwachungsverarbeitungseinheit 3100B verwirft in einem Fall, in welchem bestimmt wird, dass der Zustand und die Steuerung miteinander inkonsistent sind und dass die Beschleunigungssteuerung somit falsch ist (Ja in Schritt S15; Schritt S16), die Sperreinheit 3102B den Daten-Frame betreffend den fraglichen Beschleunigungssteuerbefehl (Schritt S17B).
-
12 veranschaulicht ein Beispiel einer Verarbeitungssequenz betreffend die Beschleunigungssteuerung in dem Bordnetzwerksystem 10, welche die Gaspedal-ECU 310B einschließt. Die in 12 veranschaulichte Verarbeitungssequenz unterscheidet sich von der in 9 veranschaulichten Verarbeitungssequenz gemäß Ausführungsform 1 darin, dass die Gaspedal-ECU 310B jedes einzelne Zustandsdatenelement erfasst, dass die Gaspedal-ECU 310B eine Bestimmung hinsichtlich einer Inkonsistenz vornimmt (Schritte S103 und S203) und dass die Gaspedal-ECU 310B einen Vorgang ausführt, um in einem Fall, in dem der Zustand und die Steuerung nicht miteinander inkonsistent sind, den Beschleunigungssteuerbefehl zu übertragen (Schritt S104).
-
Dabei ist überdies anzumerken, dass, ähnlich der Sperreinheit 3102, die Sperreinheit 3102B bewirken kann, dass die Kommunikationseinheit 1310B einen Error-Frame an den Bus 30 sendet.
-
(2) Der Zustand des Fahrzeugs, den die Zustandsdaten anzeigen, oder der Zustand der Außenumgebung, in der das Fahrzeug unterwegs ist, welcher durch die Bestimmungseinheiten 3101 und 3101B jeweils mit der Steuerung eines Beschleunigungssteuerbefehls zu vergleichen ist, ist nicht auf den weiter oben in Ausführungsform 1 beschriebenen Zustand beschränkt. Beispielsweise können auch Inhalte, welche Straßenverkehrszeichen oder Straßenmarkierungen an einem Ort, durch den das Fahrzeug gerade fährt oder eine geplante Fahrtroute des Fahrzeugs anzeigen, in dem von den Zustandsdaten angezeigten Zustand der Außenumgebung enthalten sein. Beispielsweise kann bestimmt werden, ob die Steuerung eines Beschleunigungssteuerbefehls mit dem Umstand einer geschwindigkeitsspezifischen Vorschrift, die durch ein Straßenverkehrszeichen gezeigt wird, inkonsistent ist oder nicht. Ferner kann beispielsweise auch ein Zustand, der einen Einfluss auf eine sichere Geschwindigkeit haben kann, wie etwa das Wetter, die Lufttemperatur, der Zustand der Straßenoberfläche, die Topographie (das Steigungsverhältnis), eine bewegliche Last oder ein ausgeglichenes Verhältnis derselben, ein Zustand betreffend Änderungen bei der Fahrzeuggeschwindigkeit oder die Art der Reifen bzw. der Abnutzungsgrad der Reifen oder dergleichen in dem von den Zustandsdaten angezeigten Zustand des Fahrzeugs oder der Außenumgebung enthalten sein. Derlei Informationen können beispielsweise von einem in dem Fahrzeug montierten Sensor, aus Kartendaten, aus einem System, das Straßenverkehrsinformationen bereitstellt, wie z. B. VICS (eingetragene Marke) oder von einem im Internet bereitgestellten Dienst erfasst werden. Die Bestimmungseinheit 3101 bzw. 3101B kann eine Bestimmung hinsichtlich einer Inkonsistenz vornehmen, und dabei zusätzlich zu der Fahrgeschwindigkeit des Fahrzeugs als Beurteilungskriterium heranziehen, ob eine Beschleunigung gemäß dem Gaspedal-Öffnungswinkel, den der Beschleunigungssteuerbefehl anzeigt, unter Bedachtnahme auf diese Zustände in sicherer Weise durchgeführt werden kann oder nicht. Dafür lässt sich beispielsweise ein Referenzwert verwenden, der sich je nach diesen von den Zustandsdaten angezeigten Zuständen ändert, oder es kann eine Diskriminanzfunktion oder ein Diskriminanzmodell verwendet werden, bei denen diese Zustandsdatenelemente als Eingabewerte herangezogen werden.
-
(3) Referenzwerte, die sich für jeden Fahrzeugtyp in Bezug auf das Fahrzeug 20 ändern, können als Referenzwerte herangezogen werden, um zu bestimmen, ob ein Beschleunigungssteuerbefehl in Bezug auf den in Ausführungsform 1 beschriebenen Zustand und in Bezug auf dessen weiter oben beschriebene Varianten inkonsistent ist oder nicht. Der hier verwendete Begriff „Fahrzeugtyp“ kann sich auf einen Typ beziehen, der gemäß dem Fahrzeugmodell identifizierbar ist, oder er kann sich auf eine detailliertere Abstufung beziehen. Ferner lässt sich der Fahrzeugtyp gemäß dem Vorhandensein oder Fehlen einer vorbestimmten Funktion, die durch eine Option oder dergleichen realisiert ist, genauer unterscheiden.
-
Ferner sind die Inhalte der Informationen, die von der Geschwindigkeitsregelassistenz-ECU 350 aus den mit der Steuerung zu vergleichenden Zustandsdaten gesendet werden, nicht auf die weiter oben beschriebenen Inhalte beschränkt. Beispielsweise kann auch der Inhalt von Einstellungen betreffend die Beschleunigungssteuerung durch den Fahrer darin inbegriffen sein. Beispielsweise kann auch der Folgeabstand in Bezug auf das vorausfahrende Fahrzeug, den der Fahrer in Bezug auf eine Folgeabstandshaltefunktion oder eine Folgeabstandsanpassungsfunktion einstellt, darin inbegriffen sein.
-
(4) Die Aufteilung der Funktionen zwischen den verschiedenen Bestandteilen in dem Bordnetzwerksystem 10, die in der vorangegangenen Ausführungsform oder in Varianten derselben beschrieben sind, oder in einem Steuernetzwerksystem, welches das Bordnetzwerksystem 10 mit einschließt, stellt nur ein Beispiel dar und die oben beschriebene Aufteilung der Funktionen ist veränderbar. Ferner können manche der Funktionen der Überwachungsverarbeitungseinheit 3100 und dergleichen in der Sicherheits-ECU 100 oder in der Überwachungsverarbeitungseinheit 3100B in der Gaspedal-ECU 310B durch eine Vorrichtung ausgeführt werden, die mit der Sicherheits-ECU 100 kommunizieren kann, beispielsweise durch eine andere ECU in dem Bordnetzwerksystem 10 oder durch eine externe Servereinrichtung des Bordnetzwerksystems 10 oder dergleichen. Beispielsweise kann in der oben beschriebenen Ausführungsform eine andere Sicherheits-ECU, die sich von der Sicherheits-ECU 100 unterscheidet, in dem Bordnetzwerksystem 10 integriert sein, und kann von den Funktionen der Überwachungsverarbeitungseinheit 3100 die Funktion der Sperreinheit 3102 durch die andere Sicherheits-ECU ausgeführt werden. In diesem Fall kann das Ergebnis einer Bestimmung, die von der Bestimmungseinheit 3101 ausgegeben wird, von der Sendeeinheit 1102 als Daten-Frame an den Bus 30 gesendet werden oder über eine fest zugeordnete Leitung an eine andere Sicherheits-ECU gesendet werden.
-
(5) Bei einer Form der vorliegenden Erfindung kann es sich um ein Überwachungsverfahren handeln, das beispielsweise alle oder manche der in 8 und 9, 11 und 12 beschriebenen Verarbeitungsabläufe, sowie auch die auf diese Zeichnungen Bezug nehmenden Beschreibungen in der Vorliegenden Patentbeschreibung mit einschließt. Das Überwachungsverfahren umfasst beispielsweise: einen Erfassungsschritt (zum Beispiel die Schritte S11 und S13) zum Erfassen von Zustandsdaten, die einen Zustand des Fahrzeugs 20 und/oder einen Zustand der Außenumgebung, in welcher das Fahrzeug 20 unterwegs ist, anzeigen, und außerdem einen Beschleunigungssteuerbefehl, der an das Bordnetzwerksystem 10 gesendet wird; einen Bestimmungsschritt (zum Beispiel den Schritt S14) zum Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt oder nicht, indem der von den erfassten Zustandsdaten angezeigte Zustand mit der von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung verglichen wird; und einen Ausgabeschritt (zum Beispiel den Schritt S15) zum Ausgeben von Daten, die das Ergebnis der in dem Bestimmungsschritt vorgenommenen Bestimmung zeigen. Ferner kann das Überwachungsverfahren auch einen Sperrschritt (zum Beispiel den Schritt S17 oder S17B) zum Sperren des Beschleunigungssteuerbefehls in einem Fall, in welchem durch den Bestimmungsschritt bestimmt wird, dass es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt, umfassen. Diese Art von Verfahren wird beispielsweise durch einen ECU ausgeführt, die als Überwachungseinrichtung fungiert, welche Beschleunigungssteuerbefehle zum Beschleunigen des Fahrzeugs 20 überwacht, welche in dem Bordnetzwerksystem 10 gesendet werden.
-
Ferner kann es sich als eine Form der vorliegenden Erfindung bei der Verarbeitung in Bezug auf das Überwachungsverfahren um ein Computerprogramm handeln, das ein Computer abzuarbeiten veranlasst wird, oder um ein digitales Signal, das aus dem Computerprogramm zusammengesetzt ist. Bei der Verarbeitung betreffend das Überwachungsverfahren handelt es sich um eine Verarbeitung, welche umfasst: einen Erfassungsschritt (zum Beispiel die Schritte S11 und S13) zum Erfassen von Zustandsdaten, die einen Zustand des Fahrzeugs 20 und/oder einen Zustand der Außenumgebung, in welcher das Fahrzeug 20 unterwegs ist, anzeigen, und außerdem einen Beschleunigungssteuerbefehl, der an das Bordnetzwerksystem 10 gesendet wird; einen Bestimmungsschritt (zum Beispiel den Schritt S14) zum Bestimmen, ob es sich bei dem Beschleunigungssteuerbefehl um einen falschen Steuerbefehl handelt oder nicht, indem der von den erfassten Zustandsdaten angezeigte Zustand mit der von dem erfassten Beschleunigungssteuerbefehl angezeigten Steuerung verglichen wird; und einen Ausgabeschritt (zum Beispiel den Schritt S15) zum Ausgeben von Daten, die das Ergebnis der in dem Bestimmungsschritt vorgenommenen Bestimmung zeigen. Die ausgegebenen Daten können als Eingabedaten für ein anderes Programmmodul oder Computerprogramm oder eine andere kommunikationsfähige Vorrichtung verwendet werden. So können zum Beispiel das Sperren eines Daten-Frames, das Sperren einer Geschwindigkeitsregelassistenz-ECU, der Automatik-Fahrbetrieb für einen Not-Stopp, die an den Fahrer erfolgende Anzeige einer Meldung über einen eingetretenen Angriff oder das Aufzeichnen eines Fehlerprotokolls oder dergleichen durch das oben erwähnte andere Programmmodul oder dergleichen durchgeführt werden.
-
(6) Eine Sperrverarbeitung in der oben beschriebenen Ausführungsform und in Varianten derselben ist nicht auf eine Verarbeitung beschränkt, die eine Sperre durch Senden eines Error-Frames an einen CAN-Bus bewirkt. Das Verwerfen eines Daten-Frames, das durch die Gaspedal-ECU 310B durchgeführt wird, welche weiter oben beschrieben worden ist, stellt ebenfalls eine Form der Sperrverarbeitung dar. Als weiteres Beispiel ist auch das Nicht-Übertragen eines Daten-Frames, der einen falschen Beschleunigungssteuerbefehl enthält, durch eine Überwachungseinrichtung, die als Teil eines Gateways in einem Netzwerk implementiert ist, als eine Form der Sperrverarbeitung mit inbegriffen.
-
(Ausführungsform 2)
-
Beschrieben wird im Folgenden als eine Ausführungsform der vorliegenden Erfindung und unter Bezugnahme auf die beigefügten Zeichnungen ein Bordnetzwerksystem mit einer Sicherheits-ECU (Überwachungseinrichtung), die einen Frame betreffend einen falschen Lenksteuerbefehl sperrt, der an einen Bus (CAN-Bus) gesendet wird, welcher Bestandteil eines Bordnetzwerks in einem Fahrzeug als Beispiel für einen beweglichen Körper ist. Es ist anzumerken, dass Bauteile, welche mit Bauteilen des Bordnetzwerksystems in Ausführungsform 1 gemeinsam sind, durch dieselben Bezugszeichen wie in Ausführungsform 1 bezeichnet sind.
-
[Auslegung des Bordnetzwerksystems 10A]
-
13 ist ein Diagramm, das die Gesamtauslegung eines Bordnetzwerksystems 10A gemäß der vorliegenden Ausführungsform veranschaulicht.
-
Wie in 13 veranschaulicht, ist das Bordnetzwerksystem 10A derart ausgelegt, dass es verschiedene ECUs (eine Sicherheits-ECU 100A, eine Lenkungs-ECU 300, eine Sensor-ECU 320, eine Bremspedal-ECU 330, eine Motor-ECU 340 und eine Lenkungsassistenz-ECU 360) sowie einen Bus (CAN-Bus) 30 umfasst, die in einem Fahrzeug 20A montiert sind. Der Bus 30 ist mittels einer Doppellinie veranschaulicht. Dabei ist anzumerken, dass neben den oben erwähnten ECUs noch weitere ECUs in dem Bordnetzwerksystem 10A enthalten sein können, obwohl solche ECUs in 13 nicht veranschaulicht sind. Ferner kann das Bordnetzwerksystem 10A ein Steuernetzwerksystem für das Fahrzeug 20A darstellen, zusammen mit einer Servereinrichtung oder dergleichen, die sich außerhalb des Fahrzeugs befindet, und mit welcher beliebige der ECUs, einschließlich der in 13 nicht veranschaulichten ECUs, kommunizieren. Dabei ist anzumerken, dass ein Kommunikationspfad nach außen für einen Cyberangriff auf das Bordnetzwerksystem 10A als Infiltrationspfad für das Einspeisen (Senden) eines falschen Frames in das Bordnetzwerksystem 10A oder für die Übernahme einer der ECUs verwendet werden kann.
-
Bei jeder ECU in dem Bordnetzwerksystem 10A handelt es sich um eine Vorrichtung mit beispielsweise einem Prozessor (Mikroprozessor), digitalen Schaltungen wie einem Speicher, analogen Schaltungen, einer Kommunikationsschaltung und so weiter. Bei dem Speicher handelt es sich um einen ROM (Festwertspeicher), einen RAM (Direktzugriffsspeicher) oder dergleichen und dieser ist in der Lage, ein Steuerungsprogramm (Computerprogramm als Software) abzuspeichern, welches durch den Prozessor ausgeführt wird. Der Prozessor arbeitet beispielsweise gemäß dem Steuerungsprogramm (Computerprogramm) und ermöglicht es dadurch der ECU, verschiedene Funktionen zu implementieren. Das Computerprogramm besteht aus der Kombination einer Mehrzahl von Befehlscodes, die Befehle für den Prozessor angeben, um eine vorbestimmte Funktion zu erzielen. Diese ECUs sind in der Lage, gemäß dem CAN-Protokoll über den Bus 30 Frames zu senden und zu empfangen.
-
Manche der ECUs in dem Bordnetzwerksystem 10A stehen über einen anderen Kommunikationspfad als den Bus 30 mit verschiedenen Vorrichtungen wie etwa einem Sensor, einem Aktor oder einer Benutzerschnittstellenvorrichtung in Verbindung. Beispielsweise steht die Lenkungs-ECU 300 mit (einem Aktor von) einer Lenkung 301 in Verbindung und steuert so die Lenkung 301. Die Bremspedal-ECU 330 steht mit (einem Aktor von) einer Bremse 331 in Verbindung und steuert so die Bremse 331. Ferner steht die Motor-ECU 340 mit (einer Drosselklappe oder dergleichen von) einem Kraftstoffmotor 341 in Verbindung und steuert so den Kraftstoffmotor 341. Dabei ist anzumerken, dass die Veranschaulichung der einzelnen Aktoren und dergleichen, welche die jeweiligen oben beschriebenen Bestandteile steuern, in 13 unterblieben ist und dass im Folgenden zur Vereinfachung der Beschreibung ein in Bezug auf die betreffenden Aktoren erfolgender Steuerbefehl manchmal als Steuerbefehl in Bezug auf die betreffenden Bestandteile beschrieben ist. Ferner ist die Sensor-ECU 320 mit einem Objekterkennungssensor 321 und einem Geschwindigkeitssensor 322 verbunden und sendet in regelmäßigen Abständen Frames (Daten-Frames) an den Bus 30, welche die von jedem Sensor gemessenen Messdaten darstellen. Obwohl entsprechend den jeweiligen Sensoren in dem Bordnetzwerksystem 10A eine Mehrzahl von Sensor-ECUs 320 bereitgestellt sein kann, wird hier aus Gründen der Einfachheit der Beschreibung ein Beispiel beschrieben, bei dem nur eine Sensor-ECU 320 vorhanden ist, die Frames senden kann, welche Messdaten darstellen, die von einem jeden aus der Mehrzahl von Sensoren gemessen worden sind. Es ist jedoch nicht nötig, dass alle der Sensoren in dem Bordnetzwerksystem 10 mit der Sensor-ECU 320 verbunden sind, und es kann Sensoren geben, die mit einer andere ECU als der Sensor-ECU 320 verbunden sind, so etwa die Lenkungs-ECU 300 oder die Motor-ECU 340. Der Objekterkennungssensor 321 detektiert Erkennungsobjekte wie etwa ein Fahrzeug, ein Hindernis, einen Passanten sowie Fahrspurmarkierungen auf der Straßenoberfläche in der Fahrrichtung oder im Umgebungsbereich des Fahrzeugs 20A. Der Objekterkennungssensor 321 misst außerdem einen Abstand zwischen dem Fahrzeug 20A und dem Erkennungsobjekt und dergleichen. Im Spezielleren kann der Objekterkennungssensor 321 beispielsweise durch eine Kamera (einen Bildsensor) implementiert sein, beispielsweise eine Kamera, welche die Vorwärtsrichtung, die seitlichen Richtungen, die Rückwärtsrichtung oder den gesamten Umgebungsbereich des Fahrzeugs 20A aufnimmt, oder durch Radar oder LiDAR, oder durch eine Kombination aus diesen Verfahren. Bei dem Geschwindigkeitssensor 322 handelt es sich um einen Sensor zum Detektieren der Geschwindigkeit des Fahrzeugs 20A. Der Begriff „Geschwindigkeit des Fahrzeugs 20A“ bezieht sich zwar in diesem Fall auf die Absolutgeschwindigkeit des Fahrzeugs 20A, er kann sich jedoch ebenso auf die Relativgeschwindigkeit des Fahrzeugs 20A in Bezug auf ein Erkennungsobjekt beziehen, das der Objekterkennungssensor 321 detektiert. Es ist anzumerken, dass die Absolutgeschwindigkeit des Fahrzeugs 20A in Bezug auf ein Erkennungsobjekt, welches sich nicht bewegt, gleich der Relativgeschwindigkeit des Fahrzeugs 20A ist.
-
Bei der Lenkungsassistenz-ECU 360 handelt es sich um eine ECU, die eine Lenkungsassistenzfunktion des Fahrassistenzsystems durchführt. Um von der Lenkungs-ECU 300 die Durchführung einer Lenkungssteuerung anzufordern, sendet die Lenkungsassistenz-ECU 360 in regelmäßigen Abständen einen Frame eines Lenksteuerbefehls mit einer Steuerung an den Bus 30, welche basierend auf Daten bestimmt wird, die von anderen ECUs gewonnen werden, wie etwa von Messdaten, die von der Sensor-ECU 320 gewonnen werden. Die Lenkungsassistenz-ECU 360 sendet beispielsweise an den Bus 30 einen Frame eines Lenksteuerbefehls, welcher als Inhalt eine Festlegung hat, die eine Lenkung um einen Betrag erfordert, welcher nicht bewirkt, dass das Fahrzeug von der Fahrspur abweicht, in welcher es aktuell unterwegs ist. Es ist anzumerken, dass die Lenkungsassistenz-ECU 360 beispielsweise auch mit einer anderen ECU, wie etwa der Sensor-ECU 320, integriert oder direkt mit dieser verbunden sein kann und verschiedenartige Daten, wie etwa Messdaten, erfassen kann, ohne dass diese Daten durch den Bus 30 empfangen werden müssen. Ferner kann eine direkte Verbindung zwischen der Lenkungsassistenz-ECU 360 und einer anderen ECU über eine fest zugeordnete Leitung erfolgen.
-
Bei einem Diagnoseanschluss 390 handelt es sich um einen mit dem Bus 30 verbundenen Anschlusskontakt, etwa einen OBD 2 (On-Board Diagnostics 2), und ein Zugriff auf den Bus 30 durch eine Vorrichtung wie etwa ein Diagnosewerkzeug (Fehlerdiagosewerkzeug) kann durch den Diagnoseanschluss 390 erfolgen. Der Diagnoseanschluss 390 kann jedoch auch für einen Angriff auf das Bordnetzwerksystem 10A benutzt werden.
-
Die Sicherheits-ECU 100A übt eine Funktion zur Gewährleistung der Sicherheit des Bordnetzwerksystems 10A aus. Bei der vorliegenden Ausführungsform handelt es sich bei der Sicherheits-ECU 100A um eine Vorrichtung, welche die Frames, die durch den Bus 30 strömen, überwacht und welche durch das Senden eines Error-Frames einen Daten-Frame betreffend einen falschen Lenksteuerbefehl, der auf dem Bus 30 auftritt, sperrt, und die dadurch als eine Überwachungseinrichtung fungiert, welche mit Attack-Frames von falschen Lenksteuerbefehlen umgeht. Dabei ist anzumerken, dass die Sicherheits-ECU 100A eine Funktion aufweisen kann, welche unter Heranziehung einer weiteren bestimmten Bedingung bestimmt, ob ein Daten-Frame auf dem Bus 30, und nicht nur ein Frame eines falschen Lenksteuerbefehls, falsch ist.
-
[Daten-Frame - Format]
-
Auch in der vorliegenden Ausführungsform wird ein Fall, bei dem Daten-Frames (Nachrichten), die in einem Netzwerk gemäß dem CAN-Protokoll auf dem Bus 30 ausgetauscht werden, als Beispiel zur Beschreibung der vorliegenden Erfindung herangezogen. Die Daten-Frames sind dieselben wie die weiter oben in Ausführungsform 1 unter Bezugnahme auf 2 beschriebenen Daten-Frames.
-
[Error-Frame - Format]
-
Auch in der vorliegenden Ausführungsform wird ein Fall, bei dem Error-Frames (Nachrichten), die in einem Netzwerk gemäß dem CAN-Protokoll auf dem Bus 30 ausgetauscht werden, als Beispiel zur Beschreibung der vorliegenden Erfindung herangezogen. Die Error-Frames sind dieselben wie die weiter oben in Ausführungsform 1 unter Bezugnahme auf 3 beschriebenen Error-Frames.
-
[Auslegung der Lenkungs-ECU 300]
-
14 ist ein Blockdiagramm, das ein Auslegungsbeispiel der Lenkungs-ECU 300 veranschaulicht. Die Lenkungs-ECU 300 zum Steuern der Lenkung 301 umfasst eine Kommunikationseinheit 1300, einen Datenpuffer 2300 und eine Steuerungsverarbeitungseinheit 3300.
-
Bei der Kommunikationseinheit 1300 handelt es sich um eine integrierte Schaltung (zum Beispiel eine Kommunikationsschaltung, einen Speicher oder einen Prozessor), welche die Kommunikation mit dem Bus 30 steuert. Die Kommunikationseinheit 1300 umfasst beispielsweise als funktionelle Bestandteile eine Frame-Sendeempfangsfunktionseinheit und eine Empfangsframe-Interpretationsfunktionseinheit.
-
Die Frame-Sendeempfangsfunktionseinheit führt beispielsweise das Senden und Empfangen von Frames in Bezug auf den Bus 30 aus, und zwar gemäß dem CAN-Protokoll (aufeinanderfolgendes, bitweises Senden und Empfangen von Frames).
-
In der Empfangsframe-Interpretationsfunktionseinheit erfolgt die Interpretation der Werte eines Frames, den die Frame-Sendeempfangsfunktionseinheit empfangen hat, im Hinblick auf das Eintragen der Werte in die jeweiligen Felder in den im CAN-Protokoll spezifizierten Frame-Formaten. Basierend auf dem Wert, der als der Wert des ID-Feldes bestimmt wird, bestimmt die Empfangsframe-Interpretationsfunktionseinheit, ob es sich bei dem Frame um einen Daten-Frame (Nachricht) handelt, den die Lenkungs-ECU 300 empfangen sollte, oder nicht, und wenn es sich bei der ID um keine ID eines Frames handelt, der empfangen werden sollte, bricht die Empfangsframe-Interpretationsfunktionseinheit die Interpretation des betreffenden Frames ab. In einem Fall, in dem die Empfangsframe-Interpretationsfunktionseinheit bestimmt, dass ein Frame nicht dem CAN-Protokoll entspricht, wenn etwa die Werte des CRC-Prüfsummenfeldes nicht übereinstimmen oder wenn an einer Stelle, wo der dominante Wert gesetzt sein sollte, ein rezessiver Wert erscheint, sendet die Empfangsframe-Interpretationsfunktionseinheit außerdem einen Error-Frame an die Frame-Sendeempfangsfunktionseinheit. Wenn ein Error-Frame empfangen wird, das heißt, wenn basierend auf einem Wert in dem empfangenen Frame die Interpretation ergibt, dass es sich bei dem empfangenen Frame um einen Error-Frame handelt, verwirft die Empfangsframe-Interpretationsfunktionseinheit ferner den nachfolgenden Teil des Frames, das heißt, sie bricht die Interpretation des Frames ab. In einem Fall, in dem die ID des empfangenen Daten-Frames eine ID ist, welche anzeigt, dass es sich bei dem Daten-Frame um einen Frame eines Lenksteuerbefehls handelt, der vorab durch die Spezifikationen des Bordnetzwerksystems 10A bestimmt ist, wird bestimmt, dass es sich bei dem empfangenen Daten-Frame um einen Daten-Frame handelt, der durch die Empfangsframe-Interpretationsfunktionseinheit der Kommunikationseinheit 1310 empfangen werden sollte. Die Empfangsframe-Interpretationsfunktionseinheit speichert den Inhalt (ID, und Daten in dem Datenfeld, und so weiter) des Frames, von dem bestimmt worden ist, dass es sich um einen Daten-Frame handelt, der empfangen werden sollte, in dem Datenpuffer 2300 ab.
-
Bei dem Datenpuffer 2300 handelt es sich um einen Speicherbereich eines Speichermediums, etwa eines Speichers oder eines Registers. Eine ID und Daten, die von Werten in dem Datenfeld (zum Beispiel Daten, die einen Lenksteuerbefehl anzeigen) als Inhalt eines von der Kommunikationseinheit 1310 empfangenen Daten-Frames angezeigt werden, werden in dem Datenpuffer 2300 abgespeichert. Werden zu einem Zeitpunkt von einer Mehrzahl von Knoten zeitgleich Daten-Frames auf den Bus 30 gesendet, so erfolgt eine Kommunikations-Arbitrierung anhand von IDs. Daher entspricht ein Zeitpunkt, zu dem die Lenkungs-ECU 300 von dem Bus 30 einen Daten-Frame betreffend einen Lenksteuerbefehl, den die Lenkungsassistenz-ECU 360 sendet, nicht notwendigerweise genau einer konstanten Periode (zum Beispiel 50 ms) und kann er in manchen Fällen zu einem gewissen Grad von der konstanten Periode abweichen. In der Lenkungs-ECU 300 wird der Datenpuffer 2300 dazu verwendet, um mit Fluktuationen beim Empfangs-Timing umzugehen, die aufgrund solcher Auswirkungen der Kommunikations-Arbitrierung auftreten, und um eine effiziente Verarbeitung von empfangenen Daten-Frames zu gewährleisten.
-
Die Steuerungsverarbeitungseinheit 3300 erfasst den Inhalt (Daten, die einen Lenksteuerbefehl oder dergleichen anzeigen) eines in dem Datenpuffer 2300 gespeicherten Daten-Frames in regelmäßigen Abständen oder wenn eine bestimmte Bedingung (eine Bedingung im Zusammenhang mit der Speicherung von Frames in dem Datenpuffer 2300 oder dergleichen) gegeben ist, und steuert die Lenkung 301, indem gemäß dem Lenksteuerbefehl, der durch die erfassten Daten angezeigt wird, ein Steuersignal an die Lenkung 301 gesendet wird.
-
Es ist anzumerken, dass ähnlich wie die Lenkungs-ECU 300 die anderen ECUs neben der Lenkungs-ECU 300, bei denen es sich um ECUs handelt, die einen Aktor steuern können (beispielsweise die Bremspedal-ECU 330, die Motor-ECU 340 und so weiter), ebenfalls eine Kommunikationseinheit, einen Datenpuffer und eine Steuerungsverarbeitungseinheit zum Steuern des Aktors umfassen. In Bezug auf die Sensor-ECU 320, die mit einem Sensor verbunden ist, umfasst die Sensor-ECU 320 ferner eine Verarbeitungseinheit, die ein an dem Sensor gewonnenes Messergebnis erfasst und einen Daten-Frame erzeugt, dem eine vorbestimmte Nachrichten-ID hinzugefügt wird und der Messdaten umfasst, welche das relevante Messergebnis anzeigen, sowie eine Kommunikationseinheit zum Senden des Daten-Frames an den Bus 30 gemäß dem CAN-Protokoll und dergleichen. Die Messdaten zeigen ein Messergebnis in Bezug auf beispielsweise ein Erkennungsergebnis betreffend die Erkennung eines Erkennungsobjekts, den Abstand zwischen dem Fahrzeug 20A und dem Erkennungsobjekt und die Geschwindigkeit des Fahrzeugs 20A. Dabei ist anzumerken, dass in einem Fall, in dem eine ECU, bei der es sich nicht um die Sensor-ECU 320 handelt, mit einem Sensor verbunden ist, die betreffende ECU dieselbe Art von Bestandteilen umfassen kann wie die Sensor-ECU 320.
-
[Lenksteuerbefehl]
-
15 ist eine Ansicht zum Beschreiben eines Beispiels einer Steuerung, die durch Werte in dem Datenfeld eines Daten-Frames betreffend einen Lenksteuerbefehl angezeigt wird, den die Lenkungsassistenz-ECU 360 sendet. Das Datenfeld des Frames des Lenksteuerbefehls umfasst eine Spezifikation in Bezug auf einen Lenkbetrag durch die Lenkung 301 und in 15 ist ein Beispiel der Übereinstimmung zwischen den Werten in dem Datenfeld und den Lenkbeträgen gezeigt. Es ist anzumerken, dass zwar auch andere Daten als der Lenkbetrag in dem Datenfeld des Frames des Lenkbetrag-Steuerbefehls hinzugefügt sein können, aus Gründen der Einfachheit der Beschreibung konzentriert sich die Beschreibung bei diesem Beispiel jedoch nur auf den Lenkbetrag. In diesem Beispiel ist der Lenkbetrag durch einen Lenkwinkel der Vorderräder angezeigt, der durch einen 8-Bit-Wert dargestellt ist. Ein Wert von 195 (11000011) zeigt einen Lenkwinkel (0 Grad) für die Geradeaus-Richtung und Werte über 195 zeigen Lenkwinkel in die rechte Richtung in Inkrementen von 0,5 Grad (bis 30 Grad) an, während Werte unter 195 Lenkwinkel in die linke Richtung in Inkrementen von 0,5 Grad (bis -30 Grad) anzeigen.
-
Wenn die Lenkungs-ECU 300 von der Lenkungsassistenz-ECU 360 einen Lenksteuerbefehl empfängt, der sich von dem aktuellen Lenkwinkel unterscheidet, betätigt die Lenkungs-ECU 300 die Lenkung 301 gemäß einem Unterschied zwischen dem aktuellen Lenkwinkel und dem Lenkwinkel, den der Lenksteuerbefehl anzeigt. Je größer der Unterschied zwischen dem aktuellen Lenkwinkel und dem Lenkwinkel, den der Lenksteuerbefehl anzeigt, ist, umso größer ist demgemäß der Betrag der Betätigung der Lenkung 301, der durch ein Steuersignal, das die Steuerungsverarbeitungseinheit 3300 der Lenkungs-ECU 300 an die Lenkung 301 sendet, verursacht wird. Es ist anzumerken, dass in Bezug auf die Steuerung der Lenkung 301, die sich aus einer Betätigung des Lenkrads durch den Fahrer ergibt, und auf eine Steuerung der Lenkung 301 gemäß einem von der Lenkungsassistenz-ECU 360 kommenden Lenksteuerbefehl in manchen Fällen die Lenkungs-ECU 300, entsprechend den Einstellungen betreffend die automatische Steuerung der Lenkung des Fahrzeugs 20A und dergleichen, eine dieser Steuerungen gegenüber der anderen dieser Steuerungen vorrangig behandeln kann.
-
[Auslegung der Sicherheits-ECU 100A]
-
16 ist ein Blockdiagramm, das ein Auslegungsbeispiel der Sicherheits-ECU 100A veranschaulicht. Die Sicherheits-ECU 100A fungiert als eine Steuervorrichtung, welche den Strom von Frames auf dem Bus 30 überwacht und durch die Übertragung eines Error-Frames einen Daten-Frame betreffend einen falschen Lenksteuerbefehl, der auf dem Bus 30 auftritt, sperrt. Zur Realisierung dieser Funktion enthält die Sicherheits-ECU 100A eine Kommunikationseinheit 1000, eine Speichereinheit 2000 und eine Überwachungsverarbeitungseinheit 3000. Die entsprechenden Funktionen dieser Bestandteile sind jeweils beispielsweise durch eine Kommunikationsschaltung, ein Speichermedium, z. B. einen Speicher, und einen Prozessor oder eine Digitalschaltung zur Ausführung eines in dem Speicher abgespeicherten Steuerprogramms, oder dergleichen, die in der Sicherheits-ECU 100A vorgesehen sind, implementiert.
-
Die Kommunikationseinheit 1000 ist durch eine Kommunikationsschaltung und durch einen Prozessor, der ein Steuerprogramm oder dergleichen ausführt, implementiert. Die Kommunikationseinheit 1000 umfasst eine Empfangseinheit 1001 und eine Sendeeinheit 1002 zum Senden und Empfangen von Frames zu und von dem Bus 30 gemäß dem CAN-Protokoll (aufeinanderfolgendes, bitweises Senden und Empfangen von Frames). Die Empfangseinheit 1001 empfängt Frames von dem Bus 30. Wenn ein Frame von dem Bus 30 kommend durch die Empfangseinheit 1001 empfangen wird, führt die Kommunikationseinheit 1000 die Interpretation durch und trägt die Werte des Frames in die entsprechenden Felder in dem Frameformat ein, das durch das CAN-Protokoll spezifiziert ist, und unterscheidet dadurch jeweils die ID (Nachrichten-ID), den Datenlängencode DLC und die Daten in dem Datenfeld voneinander und extrahiert diese Datenelemente aus dem Frame. Durch Bezugnahme auf die IDs, die vorab in den Spezifikationen des Bordnetzwerksystems 10A festgelegt sind, bestimmt die Kommunikationseinheit 1000, ob es sich bei der extrahierten ID um die ID eines Frames handelt, den die Sicherheits-ECU 100A empfangen soll. Handelt es sich bei der ID nicht um die ID eines Frames, den die Sicherheits-ECU 100A empfangen soll, bricht die Kommunikationseinheit 1000 die Interpretation des Frames ab. Die Empfangseinheit 1001 stellt in der vorliegenden Ausführungsform ein Beispiel für eine Erfassungseinheit dar. Die Kommunikationseinheit 1000 speichert die Inhalte (ID, Daten und dergleichen) des Frames, die durch das Interpretieren des von der Empfangseinheit 1001 empfangenen Frames erfasst worden sind, in der Speichereinheit 2000 ab. Ferner sendet die Kommunikationseinheit 1000, nachdem sie von der Überwachungsverarbeitungseinheit 3000 einen Befehl zum Senden eines Error-Frames empfangen hat, mittels der Sendeeinheit 1002 einen Error-Frame an den Bus 30.
-
Zu den Frames, welche die Sicherheits-ECU 100A empfangen sollte, zählt unter anderem der Frame eines Lenksteuerbefehls, der von der Lenkungsassistenz-ECU 360 gesendet wird. Ferner wird von der Sicherheits-ECU 100A auch ein Frame empfangen, welcher aus Informationen, die den Zustand des Fahrzeugs 20A anzeigen, und Informationen, die den Zustand in der Außenumgebung, in der das Fahrzeug 20A unterwegs ist, anzeigen, zumindest eine Art von Informationen anzeigt (im Folgenden werden Daten, die zumindest einen dieser Zustände anzeigen, auch als „Zustandsdaten“ bezeichnet). Ein Daten-Frame, der eine aktivierte (ein) oder deaktivierte (aus) Lenkungsassistenzfunktion anzeigt, die von der Lenkungsassistenz-ECU 360 gesendet wird, kann als ein Beispiel für einen Frame genannt werden, der den Zustand des Fahrzeugs 20A anzeigt. Ferner kann auch ein Daten-Frame, der anzeigt, ob verschiedene Arten von Assistenzfunktionen des Fahrassistenzsystems, die auch andere Funktionen als die Lenkungsassistenzfunktion umfassen, aktiviert (ein) oder deaktiviert (aus) sind, und der Werte einstellt, die durch den Fahrer oder durch verschiedene Funktionen eingestellt worden sind, als Beispiel für einen Frame genannt werden, der den Zustand des Fahrzeugs 20A anzeigt. Ferner kann ein Daten-Frame, welcher den aktuellen Lenkwinkel anzeigt, der von der Lenkungs-ECU 300 gesendet wird, von der Sicherheits-ECU 100A ebenfalls als ein Frame empfangen werden, der Zustandsdaten angibt, die den Zustand des Fahrzeugs 20A zeigen. Die Sicherheits-ECU 100A empfängt außerdem Daten-Frames mit Messdaten, die von anderen ECUs, wie beispielsweise der Sensor-ECU 320, gesendet werden. Je nach Messziel können die Arten von Messdaten Informationen über den Zustand des Fahrzeugs 20A (zum Beispiel die Fahrzeuggeschwindigkeit, die Wassertemperatur und die Spannung) und Informationen über den Zustand in der Außenumgebung (zum Beispiel die Lufttemperatur außerhalb des Fahrzeugs, den Zustand der Straßenoberfläche und ein Ergebnis der Objekterkennung) umfassen.
-
Bei der Speichereinheit 2000 handelt es sich um einen Speicherbereich eines Speichermediums, etwa eines Speichers zum Abspeichern der Inhalte von Frames, die durch die Empfangseinheit 1001 empfangen werden. Gespeichert werden in der Speichereinheit 2000 beispielsweise die oben erwähnten Zustandsdaten, das heißt, Informationen wie etwa von der Sensor-ECU 320 aus gesendete Messdaten und dergleichen, Informationen betreffend Lenkungsassistenzfunktionen, die aktiviert oder deaktiviert sind, was von der Lenkungsassistenz-ECU 360 aus gesendet wird, oder Informationen, die den aktuellen Lenkwinkel anzeigen, die von der Lenkungs-ECU 300 aus gesendet werden.
-
Die Überwachungsverarbeitungseinheit 3000 ist durch einen Prozessor implementiert, der ein Steuerprogramm oder dergleichen ausführt, und übt eine Funktion des Ausführens der Sperrverarbeitung aus, die den Daten-Frame eines Lenksteuerbefehls auf dem Bus 30 unter bestimmten Umständen sperrt. Die Überwachungsverarbeitungseinheit 3000 umfasst eine Bestimmungseinheit 3001 und eine Sperreinheit 3002.
-
Basierend auf dem Zustand des Fahrzeugs 20A und/oder auf dem Zustand der Außenumgebung, in welcher das Fahrzeug 20A gerade unterwegs ist, wenn die Empfangseinheit 1001 den Daten-Frame eines Lenksteuerbefehls empfängt, sowie basierend auf dem relevanten Lenksteuerbefehl, bestimmt die Bestimmungseinheit 3001, ob es sich bei dem Lenksteuerbefehl um einen falschen Befehl handelt oder nicht (das heißt, ob es sich bei dem Daten-Frame des betreffenden Lenksteuerbefehls um einen zu sperrenden, falschen Frame handelt oder nicht). Die Bestimmungseinheit 3001 trifft diese Bestimmung basierend auf dem Zustand, der durch die Zustandsdaten angezeigt wird, welche von der Empfangseinheit 1001 empfangen und in der Speichereinheit 2000 abgespeichert werden, und auf der Steuerung, die durch den Lenksteuerbefehl angezeigt wird, welcher von der Empfangseinheit 1001 empfangen wird. Diese Bestimmung erfolgt noch vor dem Zeitpunkt, zu dem der gesamte Daten-Frame des Lenksteuerbefehl von dem Bus 30 kommend durch die Empfangseinheit 1001 empfangen worden ist (das heißt, vor dem Ende des Daten-Frames, beispielsweise unmittelbar nach dem Empfang des Datenfelds oder unmittelbar nach dem Empfang der CRC-Sequenz). In einem Fall, in welchem die Bestimmungseinheit 3001 bestimmt, dass es sich bei dem Lenksteuerbefehl um einen falschen Befehl handelt, gibt die Bestimmungseinheit 3001 ein diesbezügliches Ergebnis aus, um die Sperreinheit 3002 entsprechend zu benachrichtigen.
-
In einem Fall, in welchem durch die Bestimmungseinheit 3001 bestimmt wird, dass es sich bei dem Lenksteuerbefehl um einen falschen Befehl handelt, führt die Sperreinheit 3002 eine Sperrverarbeitung durch, die bewirkt, dass die Sendeeinheit 1002 einen Error-Frame an den Bus 30 sendet, um den Daten-Frame des Lenksteuerbefehls, der aktuell auf dem Bus 30 erscheint, zu sperren. Diese Sperrverarbeitung durch die Sperreinheit 3002 wird durch Senden eines Error-Frames an den Bus 30 implementiert, bevor der Empfang des Frame-Endes (EOF) des Daten-Frames des Lenksteuerbefehl abgeschlossen ist. Wenn die Sperrverarbeitung durchgeführt wird, wird der Daten-Frame des Lenksteuerbefehls auf dem Bus 30 überschrieben und wird somit der Daten-Frame des falschen Lenksteuerbefehls verworfen und wird die Lenkungssteuerung gemäß dem betreffenden Lenksteuerbefehl durch die Lenkungs-ECU 300 vermieden.
-
[Bestimmung des falschen Lenksteuerbefehls]
-
Nachstehend wird ein Verfahren beschrieben, durch welches die Bestimmungseinheit 3001 der Überwachungsverarbeitungseinheit 3000 in der oben erwähnten Sicherheits-ECU 100A (Überwachungseinrichtung) bestimmt, ob es sich bei einem Lenksteuerbefehl um einen falschen Befehl handelt oder nicht.
-
Die Bestimmungseinheit 3001 bestimmt, dass in einem Fall, in welchem, basierend auf einer Steuerung, die durch den Lenksteuerbefehl angezeigt wird, der aus einem von der Empfangseinheit 1001 empfangenen Daten-Frame erfasst wird, und basierend auf einem Zustand, der durch in der Speichereinheit 2000 abgespeicherte Zustandsdaten angezeigt wird, der Lenksteuerbefehl eine Steuerung anzeigt, die nicht mit dem Zustand konsistent ist, der durch die Zustandsdaten angezeigt wird, das heißt, wenn der Zustand und die Steuerung miteinander inkonsistent sind, es sich bei einem Lenksteuerbefehl um einen falschen Steuerbefehl handelt. Nachfolgend wird eine Beschreibung einer solchen Art von Inkonsistenz zwischen Zustand und Steuerung anhand eines Beispiels gegeben.
-
[Inkonsistenz betreffend die Fahrrichtung]
-
Der oben erwähnten Inkonsistenz entspricht beispielsweise ein Fall, in welchem der Zustand, der von den Zustandsdaten angezeigt wird, nahelegt, dass sich das Fahrzeug 20A in eine erste Richtung bewegen sollte, und ein Lenksteuerbefehl eine Steuerung anzeigt, die bewirkt, dass sich das Fahrzeug 20A in eine zweite Richtung bewegt, die sich von der ersten Richtung unterscheidet. Es wird nun ein spezifischeres Beispiel beschrieben. Das heißt, basierend auf einem von der Sensor-ECU 320 gewonnenen Erkennungsergebnis zeigen die in der Speichereinheit 2000 abgespeicherten Zustandsdaten einen Zustand an, dem zufolge ein anderes Fahrzeug unmittelbar neben dem Fahrzeug 20A auf einer Fahrspur unterwegs ist, die sich auf der rechten Seite der Fahrspur befindet, auf welcher das Fahrzeug 20A unterwegs ist. Anders ausgedrückt, bei dem Zustand handelt es sich um einen Zustand, in welchem das Fahrzeug 20A in einer Richtung fahren sollte, die entlang der Fahrspur verläuft, in welcher das Fahrzeug 20A aktuell unterwegs ist, oder in einer Richtung, die es auf eine Fahrspur links neben jene Fahrspur führt, in welcher das Fahrzeug 20A aktuell unterwegs ist. Diese Richtungen sind Beispiele für die erste Richtung. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit dem zuvor erwähnten Zustand verglichen wird, bewirkt, dass das Fahrzeug 20A in eine Richtung fährt, die es auf die Fahrspur rechts von der Fahrspur, auf welcher das Fahrzeug 20A aktuell unterwegs ist, führt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt.
-
Als weiteres Beispiel sei angenommen, dass die Zustandsdaten einen Zustand anzeigen, wonach eine Fahrspurhaltefunktion, bei der es sich um eine der Lenkungsassistenzfunktionen in dem Fahrzeug 20A handelt, aktiviert (ein) ist, und das Fahrzeug 20A nahe der linken Seite innerhalb der Fahrspur befindet, in welcher das Fahrzeug 20A unterwegs ist. Das heißt, bei dem zuvor erwähnten Zustand handelt es sich um einen derartigen Zustand, dass durch die Steuerung mittels der Fahrspurhaltefunktion als Zielweg, den das Fahrzeug 20A verfolgen sollte, um auf der Fahrspur zu bleiben, auf welcher das Fahrzeug 20A aktuell unterwegs ist, das Fahrzeug 20A einen Weg verfolgt, der bis zu einem gewissen Grad auf der rechten Seite relativ zu der Richtung entlang der Fahrspur verläuft. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit dem zuvor erwähnten Zustand verglichen wird, eine Lenkung anzeigt, die bewirkt, dass das Fahrzeug 20A einen Weg in eine Richtung entlang der Fahrspur oder in eine Richtung mehr nach links verfolgt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt.
-
Als weiteres Beispiel sei angenommen, dass die Zustandsdaten einen Zustand anzeigen, wonach eine Einparkassistenzfunktion, bei der es sich um eine der Lenkungsassistenzfunktionen in dem Fahrzeug 20A handelt, ausgeführt wird. Ferner sei angenommen, dass Zustandsdaten, die eine Einpark-Zielposition des Fahrzeugs 20A anzeigen, ebenfalls in der Speichereinheit 2000 abgespeichert sind und diese auf Daten von der Sensor-ECU 320 oder auf dem Inhalt einer Einstellung (einer Auswahl oder Anpassung), die durch den Fahrer in Bezug auf die Lenkungsassistenz-ECU 360 vorgenommen worden ist, basieren. Wenn beispielsweise der Inhalt der Einstellung für die Einparkassistenz „linksseitiges paralleles Einparken“ lautet, befindet sich die Einpark-Zielposition von dem Fahrzeug 20A aus in der linken rückwärtigen Richtung. In diesem Fall handelt es sich bei dem Zustand, den die Zustandsdaten anzeigen, um einen Zustand, dem zufolge durch die Einparkassistenzfunktion eine Lenkungssteuerung in linker Richtung auszuführen ist, um das Fahrzeug 20A an die Einpark-Zielposition zu führen. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit dem zuvor erwähnten Zustand verglichen wird, eine Lenkung in eine Richtung anzeigt, die sich von der Richtung zu der Einpark-Zielposition unterscheidet, beispielsweise eine Lenkung in die Richtung nach rechts, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt.
-
Als noch ein weiteres Beispiel sei angenommen, dass die Zustandsdaten einen Zustand anzeigen, wonach durch die Fahrspurwechselfunktion, bei der es sich um eine der Lenkungsassistenzfunktionen in dem Fahrzeug 20A handelt, eine Lenkung ausgeführt wird, die einen Fahrspurwechsel des Fahrzeugs 20A zur Folge hat. Darüber hinaus sei angenommen, dass Informationen, bei denen es sich um dieselben Informationen handelt, die auch von der Lenkungsassistenz-ECU 360 für die Einparkassistenzfunktion verwendet werden, etwa die Tatsache, ob ein Objekt vor dem Fahrzeug 20A oder in dessen Umgebung vorhanden ist und, wenn ein solches Objekt vorhanden ist, die Relativgeschwindigkeit des Fahrzeugs 20A in Bezug auf das Objekt, das heißt Informationen von der Sensor-ECU 320, ebenfalls in der Speichereinheit 2000 als Zustandsdaten abgespeichert werden. Ferner sei angenommen, dass die Zustandsdaten einen Zustand anzeigen, dem zufolge es für das Fahrzeug 20A möglich ist, einen Spurwechsel von einer Fahrspur, die sich am weitesten auf der linken Seite befindet, auf eine rechtsseitig benachbarte Fahrspur vorzunehmen. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit dem zuvor erwähnten Zustand verglichen wird, eine Lenkung in eine Richtung anzeigt, die sich von der Richtung hin zu der Fahrspur, die das Ziel des Spurwechsels des Fahrzeugs 20A darstellt, unterscheidet, beispielsweise eine Lenkung in die Richtung nach links oder eine Lenkung in eine solche Richtung, dass das Fahrzeug 20A auf derselben Fahrspur bleibt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt.
-
[Inkonsistenz betreffend den Lenkbetrag]
-
Der oben erwähnten Inkonsistenz entspricht beispielsweise ein Fall, in welchem der Zustand, der von den Zustandsdaten angezeigt wird, nahelegt, dass das Fahrzeug 20A um einen Lenkbetrag verlenkt werden sollte, der nicht mehr als ein erster vorbestimmten Wert ist, und ein Lenksteuerbefehl eine Steuerung anzeigt, die einen Lenkbetrag spezifiziert, der größer als der erste vorbestimmte Wert ist, oder ein Fall, in welchem sich die Beziehung zwischen den jeweiligen Größen der Lenkbeträge gegenteilig dazu verhält.
-
Das heißt, in einem Fall, in welchem ein Lenksteuerbefehl eine Steuerung anzeigt, die einen Lenkbetrag spezifiziert, der von dem Bereich eines authentischen Lenkbetrags in Bezug auf einen bestimmten Zustand des Fahrzeugs 20A, der durch die Zustandsdaten angezeigt ist, abweicht, oder von einem optimalen Lenkbetrag und einem zulässigen Wertebereich um den optimalen Lenkbetrag herum abweicht (im Folgenden werden diese Bereiche betreffend den Lenkbetrag nicht speziell differenziert und werden ebenfalls als „vorbestimmter Bereich“ bezeichnet), bestimmt die Bestimmungseinheit 3001, dass es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt. Ein vorbestimmter Bereich von Betriebsbeträgen, welcher in Übereinstimmung mit einem von den Zustandsdaten angezeigten Zustand angewendet werden kann, kann durch die Bestimmungseinheit 3001 anhand von beispielsweise einer mathematischen Formel oder einer Tabelle bestimmt werden. In einem Fall, in welchem es sich bei einem Umstand, den die Zustandsdaten anzeigen, um einen Zahlenwert handelt, kann die Bestimmungseinheit 3001 einen vorbestimmten Bereich verwenden, welcher auf einem Ergebnis basiert, das durch die Eingabe des Zahlenwerts in eine mathematische Formel gewonnen wird. Ferner können beispielsweise mathematische Formeln oder Tabellen verwendet werden, die je nach dem von den Zustandsdaten angezeigten Zustand unterschiedlich sind. Dabei ist anzumerken, dass der vorbestimmte Bereich kein Bereich zu sein braucht, für den ein oberer Grenzwert und ein unterer Grenzwert definiert sind, und es sich um einen Bereich handeln kann, für den ein oberer Grenzwert, wie der zuvor erwähnte erste vorbestimmte Wert, bzw. ein unterer Grenzwert (Beispiel für einen zweiten vorbestimmten Grenzwert in der vorliegenden Ausführungsform) definiert ist.
-
Es wird nun ein spezifischeres Beispiel beschrieben. Es sei angenommen, dass beispielsweise eine mathematische Formel oder eine Tabelle zum Bestimmen einer Obergrenze für einen sicheren Lenkbetrag in Bezug auf eine Fahrzeuggeschwindigkeit, die im Voraus für das Fahrzeug 20A bestimmt wird, in der Speichereinheit 2000 abgespeichert ist. In diesem Fall zeigen die in der Speichereinheit 2000 abgespeicherten Zustandsdaten die aktuelle Geschwindigkeit des Fahrzeugs 20A an. Das heißt, der Zustand ist in diesem Fall ein solcher Zustand, dem zufolge das Fahrzeug 20A um eine Lenkbetrag verlenkt werden soll, der geringer ist als ein Lenkbetrag, der die anhand der zuvor erwähnten mathematischen Formel oder Tabelle bestimmte Obergrenze darstellt. Der Wert des Lenkbetrags, der die Obergrenze darstellt, ist ein Beispiel für den ersten vorbestimmten Wert. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit dem zuvor erwähnten Zustand verglichen wird, einen Lenkbetrag anzeigt, der größer ist als ein Lenkbetrag, der die Obergrenze darstellt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt.
-
Darüber hinaus kann es sich bei dem Zustand beispielsweise um einen Zustand handeln, der darauf Bezug nimmt, ob irgendeine der Lenkungsassistenzfunktionen des Fahrzeugs 20A aktiviert (ein) oder deaktiviert (aus) ist.
-
Es sei angenommen, dass die erfassten Zustandsdaten einen Zustand anzeigen, in welchem die Fahrspurhaltefunktion, bei der es sich um eine der Lenkungsassistenzfunktionen in dem Fahrzeug 20A handelt, deaktiviert (aus) ist. Das heißt, bei dem Zustand handelt es sich um einen Zustand, in welchem ein Lenksteuerbefehl für eine Fahrspurhaltefunktion von der Lenkungsassistenz-ECU 360 nicht ausgegeben wird. Ferner sei angenommen, dass ein oberer Grenzwert des Lenkbetrags eines Lenksteuerbefehls der von der Lenkungsassistenz-ECU 360 selbst in einem Fall ausgegeben werden kann, in dem die Fahrspurhaltefunktion deaktiviert ist, in der Speichereinheit 2000 gespeichert wird. In einem Fall, in welchem in einem solchen Zustand ein erfasster Lenksteuerbefehl eine Steuerung anzeigt, die einen Lenkbetrag anzeigt, der außerhalb dieses vorbestimmten Bereichs liegt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen den Umständen und der Steuerung vorliegt. Der Bereich von Lenkbeträgen, die durch den oben erwähnten, oberen Grenzwert definiert ist, stellt ein Beispiel für einen dritten vorbestimmten Bereich in der vorliegenden Ausführungsform dar.
-
Ferner sei als ein weiteres Beispiel angenommen, dass eine mathematische Formel oder eine Tabelle oder dergleichen zum Bestimmen eines vorbestimmten Bereichs von Lenkbeträgen basierend darauf, ob die Fahrspur beibehalten werden soll oder nicht, ebenfalls in der Speichereinheit 2000 abgespeichert wird. In einem Fall, in welchem die erfassten Zustandsdaten als einen Zustand des Fahrzeugs 20A die Fahrzeuggeschwindigkeit anzeigen und dass die Fahrspurhaltefunktion, bei der es sich um eine der Lenkungsassistenzfunktionen handelt, aktiviert (ein) ist, erfasst die Bestimmungseinheit 3001 einen vorbestimmten Bereich von Lenkbeträgen in Übereinstimmung mit der Fahrzeuggeschwindigkeit und der Fahrspurhaltefunktion, die von den Zustandsdaten angezeigt werden, und vergleicht einen Lenkbetrag der Steuerung, den ein Lenksteuerbefehl anzeigt, mit dem oberen Grenzwert und dem unteren Grenzwert des vorbestimmten Bereichs. Wenn der Lenkbetrag der Steuerung, die der Lenksteuerbefehl anzeigt, außerhalb des vorbestimmten Bereichs liegt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt. Der vorbestimmte Bereich stellt ein Beispiel für einen vierten vorbestimmten Bereich in der vorliegenden Ausführungsform dar.
-
Als noch ein weiteres Beispiel sei angenommen, dass die Zustandsdaten einen Zustand anzeigen, in welchem die Einparkassistenzfunktion, bei der es sich um eine der Lenkungsassistenzfunktionen in dem Fahrzeug 20A handelt, ausgeführt wird. Ferner sei angenommen, dass Zustandsdaten, die einen Einparkweg, das heißt ein Weg, den das Fahrzeug 20A einschlagen soll, um eine Einpark-Zielposition zu erreichen, anzeigen, von der Lenkungsassistenz-ECU 360 kommend empfangen werden und in der Speichereinheit 2000 abgespeichert werden. Basierend auf solchen Zustandsdaten kann ein Lenkungssteuerungsbetrag, der bewirkt, dass das Fahrzeug 20A entlang dem Einparkweg oder allenfalls innerhalb einer zulässigen Abweichung von diesem fährt, berechnet und als ein Zustand des Fahrzeugs 20A erfasst werden. In einem Fall, in welchem der Inhalt der Lenkungssteuerung, der mit einem solchen Zustand verglichen wird, einen übermäßig großen oder übermäßig kleinen Lenkbetrag anzeigt, selbst wenn beispielsweise die Lenkrichtung dieselbe ist, wie die Lenkrichtung, welche der Einparkweg anzeigt, bestimmt die Bestimmungseinheit 3001, dass eine Inkonsistenz zwischen dem Zustand und der Steuerung vorliegt. In diesem Beispiel handelt es sich bei dem berechneten Lenkungssteuerungsbetrag oder bei einer Obergrenze, zu welcher eine zulässige Abweichung hinzugerechnet worden ist, um ein spezifisches Beispiel für den ersten vorbestimmten Wert in der vorliegenden Ausführungsform. Ferner handelt es sich bei dem berechneten Lenkungssteuerungsbetrag oder bei einer Untergrenze, die um eine zulässige Abweichung verringert worden ist, um ein spezifisches Beispiel für den zweiten vorbestimmten Wert in der vorliegenden Ausführungsform.
-
Dabei ist anzumerken, dass Informationen, die von den Zustandsdaten angezeigt werden, sich nicht auf einen Zustand innerhalb des Fahrzeugs 20A, wie weiter oben beschrieben, beschränken, und beispielsweise auch Fahrspurdaten als Erkennungsergebnis in Bezug auf die Außenumgebung, die von der Sensor-ECU 320 bereitgestellt werden, oder Kartendaten, die beispielsweise über ein Fahrzeugnavigationssystem oder von außerhalb des Fahrzeugs 20A durch ein Kommunikationsnetzwerk erfasst werden. Hierdurch kann eine Obergrenze oder ein vorbestimmter Bereich von Lenkbeträgen, die es dem Fahrzeug 20A erlauben, sicher innerhalb einer Fahrspur zu bleiben, ferner in Übereinstimmung mit der Form bzw. dem Kurvenradius oder dergleichen der Fahrspur bzw. Straße, entlang derer das Fahrzeug 20A unterwegs ist, bestimmt werden.
-
[Inkonsistenz betreffend die automatische Steuerung / manuelle Steuerung der Lenkung]
-
Der oben erwähnten Inkonsistenz entspricht beispielsweise ein Fall, in welchem ein Zustand, der von den Zustandsdaten angezeigt wird, nahelegt, dass das Fahrzeug 20A durch manuelles Lenken gefahren werden sollte, und ein Lenksteuerbefehl, der eine Steuerung für einen Lenkbetrag außerhalb eines vorbestimmten Bereichs von der Lenkungsassistenz-ECU 360 kommend empfangen wird, oder ein Lenksteuerbefehl innerhalb einer vorbestimmten Zeitspanne, nach der Aufnahme der manuellen Lenkungssteuerung empfangen wird. Dies ist eine Inkonsistenz, die darauf basiert, ob in einem Zustand, in welchem ein Modus aktiviert ist, in dem der Lenkvorgang im Wesentlichen durch manuelle Steuerung in dem Fahrzeug 20A erfolgt, die auszuführende Steuerung einen Lenkbetrag anzeigt oder nicht, der den Grad an Hilfs-Lenkungssteuerung übersteigt, der durch die Lenkungsassistenz-ECU 360 selbst in einem solchen Fall ausgeführt werden sollte. Der vorbestimmte Bereich stellt in diesem Fall ein Beispiel für einen ersten vorbestimmten Bereich in der vorliegenden Ausführungsform dar.
-
Der oben erwähnten Inkonsistenz entspricht ferner ein Fall, in welchem ein Zustand, der von den Zustandsdaten angezeigt wird, nahelegt, dass das Fahrzeug 20A durch automatisches Lenken gefahren werden sollte, und ein Lenksteuerbefehl, der eine Steuerung für einen großen Lenkbetrag, der außerhalb eines vorbestimmten Bereichs liegt, von der Lenkungsassistenz-ECU 360 kommend empfangen wird, oder ein Lenksteuerbefehl nicht innerhalb einer vorbestimmten Zeitspanne ab einem Zeitpunkt, zu dem der unmittelbar vorangehende Lenksteuerbefehl erzeugt worden ist, empfangen wird. Dies ist eine Inkonsistenz, die darauf basiert, ob in einem Zustand, in welchem ein Modus aktiviert ist, in dem der Lenkvorgang im Wesentlichen durch automatische Steuerung in dem Fahrzeug 20A erfolgt, die Steuerung von der Lenkungssteuerung, die durch die im Voraus bestimmte, automatische Steuerung ausgeführt werden sollte, abweicht oder nicht, oder ob die Zeitwahl für den Lenksteuerbefehl von einer vorbestimmten Zeitvorgabe für die Übertragung eines Daten-Frames abweicht oder nicht. Der vorbestimmte Bereich stellt in diesem Fall ein Beispiel für einen zweiten vorbestimmten Bereich in der vorliegenden Ausführungsform dar.
-
[Überwachungsverarbeitung durch die Sicherheits-ECU 100A]
-
17 ist ein Ablaufdiagramm, das ein Beispiel der Überwachungsverarbeitungsverfahren veranschaulicht, die durch die Sicherheits-ECU 100A in dem Bordnetzwerksystem 10A ausgeführt werden. Im Folgenden wird die Überwachungsverarbeitung, welche durch die Sicherheits-ECU 100A als eine Verarbeitung zum Umgang mit einem Attack-Frame eines falschen Lenksteuerbefehl ausgeführt wird, unter Bezugnahme auf die Verfahren in 17 beschrieben.
-
In einem Fall, in dem die Empfangseinheit 1001 einen Daten-Frame mit Zustandsdaten von dem Bus 30 empfängt (Ja in Schritt S21), werden die empfangenen Zustandsdaten in der Speichereinheit 2000 abgespeichert (Schritt S22). Daten-Frames mit Zustandsdaten werden in regelmäßigen Abständen von der Sensor-ECU 320 oder dergleichen gesendet und der Empfang und die Abspeicherung von Zustandsdaten in Schritt S22 wird wiederholt durchgeführt.
-
In einem Fall, in dem die Empfangseinheit 1001 einen Daten-Frame eines Lenksteuerbefehls von dem Bus 30 empfängt (Ja in Schritt S23), vergleicht die Bestimmungseinheit 3001 den Zustand, der von den zuletzt in der Speichereinheit 2000 abgespeicherten Zustandsdaten angezeigt wird, mit der Steuerung, die der empfangene Lenksteuerbefehl anzeigt (Schritt S24). Basierend auf diesem Vergleich bestimmt die Bestimmungseinheit 3001, ob der Zustand und die Steuerung miteinander inkonsistent sind oder nicht (Schritt S25) und bestimmt die Bestimmungseinheit 3001, wenn der Zustand und die Steuerung miteinander inkonsistent sind (Ja in Schritt S25), dass es sich bei dem Lenksteuerbefehl in Bezug auf den in Schritt S23 empfangenen Daten-Frame um einen falschen Befehl handelt. Es ist anzumerken, dass, wenn der Empfang des Daten-Frames des Lenksteuerbefehls bis zu dem Datenfeld durch die Empfangseinheit 1001 abgeschlossen ist, die Steuerung für die Lenkung, die der Lenksteuerbefehl anzeigt, erfasst werden kann und folglich die Bestimmungseinheit 3001 die Schritte ab dem Schritt S24 ausführen kann.
-
Die Sperreinheit 3002 sperrt den Daten-Frame eines Lenksteuerbefehls, der in Schritt S26 als falsch bestimmt wird, indem sie bewirkt, dass die Sendeeinheit 1002 einen Error-Frame sendet (Schritt S27).
-
[Verarbeitungssequenz betreffend die Lenkungssteuerung in dem Bordnetzwerksystem 10A]
-
18 veranschaulicht ein Beispiel einer Verarbeitungssequenz betreffend die Lenkungssteuerung in dem Bordnetzwerksystem 10A. Im Folgenden wird der Betrieb der jeweiligen ECUs in dem Bordnetzwerksystem 10A unter Bezugnahme auf 18 beschrieben. Dabei ist anzumerken, dass sich der hier verwendete Begriff „falsche ECU“ auf jede beliebige ECU in dem Bordnetzwerksystem 10A (einschließlich der ECUs, die in den Zeichnungen nicht gezeigt sind), die beispielsweise eine ECU ist, welche durch einen Angreifer mit dem Diagnoseanschluss 390 verbunden worden ist, oder die eine ECU ist, welche von einem Angreifer durch Überschreiben ihrer Firmware oder dergleichen übernommen worden ist. Ferner ist zur besseren Veranschaulichung eines Kontrasts zwischen den verschiedenen Arten der durchzuführenden Verarbeitung die erste Hälfte (obere Hälfte) der Verarbeitungssequenz ein Beispiel für einen Fall, bei dem kein falscher Daten-Frame gesendet wird, und die zweite Hälfte (untere Hälfte) der Verarbeitungssequenz ein Beispiel für einen Fall, in dem ein falscher Daten-Frame gesendet wird.
-
Die Sensor-ECU 320 sendet einen Daten-Frame, der Zustandsdaten enthält, die ein Messergebnis zeigen, das von dem Objekterkennungssensor 321 oder von dem Geschwindigkeitssensor 322 gemessen wurde, an den Bus 30 (Schritt S111A). Die Lenkungsassistenz-ECU 360 und die Sicherheits-ECU 100A empfangen den Daten-Frame von dem Bus 30. Ferner sendet die Lenkungsassistenz-ECU 360 einen Daten-Frame mit Informationen, die anzeigen, ob verschiedene Betriebsassistenzfunktionen aktiviert oder deaktiviert sind, an den Bus 30 (Schritt S111B). Die Sicherheits-ECU 100A empfängt den oben erwähnten Daten-Frame von dem Bus 30. Die Lenkungs-ECU 300 sendet einen Daten-Frame, der den aktuellen Lenkwinkel zeigt, an den Bus 30 (Schritt S111C). Die Sicherheits-ECU 100A empfängt den oben erwähnten Daten-Frame von dem Bus 30. Auf diese Weise erfasst die Sicherheits-ECU 100A Zustandsdaten, die den Zustand des Fahrzeugs 20A und den Zustand der Außenumgebung, in der das Fahrzeug 20A unterwegs ist, zeigen.
-
Basierend auf den von der Sensor-ECU 320 in Schritt S111A gesendeten Zustandsdaten sendet die Lenkungsassistenz-ECU 360 einen Lenksteuerbefehl für eine aktivierte Lenkungsassistenzfunktion, beispielsweise einen Daten-Frame, der einen Lenkwinkel zu Beibehaltung der Fahrspur anzeigt, als Steuerung an den Bus 30 (Schritt S112). Die Lenkungs-ECU 300 und die Sicherheits-ECU 100A empfangen den oben erwähnten Daten-Frame von dem Bus 30.
-
Die Sicherheits-ECU 100A, die den oben erwähnten Daten-Frame empfängt und dadurch den Lenksteuerbefehl erfasst, bestimmt, ob die Steuerung, welche der Lenksteuerbefehl anzeigt, mit dem Zustand, inkonsistent ist, der von den Zustandsdaten angezeigt wird, die in den Schritten S111A bis 111C gesendet worden sind (Schritt S113). Bei diesem Beispiel führt die Sicherheits-ECU 100A, da die Steuerung nicht mit dem von den Zustandsdaten angezeigten Zustand inkonsistent ist, keine Sperrverarbeitung in Bezug auf den in Schritt S112 gesendeten Daten-Frame aus. Die Lenkungs-ECU 300 arbeitet übereinstimmend mit dem erfassten Lenksteuerbefehl (Schritt S115).
-
Als Nächstes senden auf ähnliche Weise, wie in den Schritten S111A bis S111C, die Sensor-ECU 320, die Lenkungsassistenz-ECU 360 und die Lenkungs-ECU 300 jeweils einen Daten-Frame, der neuere Zustandsdaten zeigt, an den Bus 30 (Schritte S211A, S211B, S211C). Die Sicherheits-ECU 100A erfasst diese neueren Zustandsdaten.
-
Anschließend sendet eine falsche ECU einen falschen Daten-Frame, der einen Lenksteuerbefehl zum Zweck eines Angriffs enthält (Schritt S212). Die Lenkungs-ECU 300 und die Sicherheits-ECU 100A empfangen den falschen Daten-Frame von dem Bus 30.
-
Die Sicherheits-ECU 100A, die den oben erwähnten Daten-Frame empfängt und dadurch den Lenksteuerbefehl erfasst, bestimmt, ob die Steuerung, welche der Lenksteuerbefehl anzeigt, mit dem Zustand, inkonsistent ist, der von den Zustandsdaten angezeigt wird, die in den Schritten S211A bis 211C gesendet worden sind (Schritt S213). Bei diesem Beispiel sendet die Sicherheits-ECU 100A, da die Steuerung mit dem von den Zustandsdaten angezeigten Zustand inkonsistent ist, als Sperrverarbeitung in Bezug auf den in Schritt S212 gesendeten Daten-Frame einen Error-Frame an den Bus 30, während der betreffende Daten-Frame gerade auf dem Bus 30 erscheint. Die Lenkungs-ECU 300, die den Error-Frame empfangen hat, verwirft den Daten-Frame, der in Schritt S212 gesendet wurde und den die Lenkungs-ECU 300 zu erfassen im Begriff war (Schritt S215).
-
Das weiter oben Gesagte ist eine Beschreibung anhand eines Beispiels einer Verarbeitungssequenz betreffend die Lenkungssteuerung in dem Bordnetzwerksystem 10A. Eine Verarbeitungssequenz betreffend die Lenkungssteuerung in dem Bordnetzwerksystem, welche die Sicherheits-ECU 100A gemäß der gegenwärtigen Ausführungsform einschließt, ist jedoch nicht auf das vorstehende Beispiel beschränkt. Beispielsweise braucht die Sicherheits-ECU 100A nicht immer die rezentesten Zustandsdaten jeglicher Art heranziehen, um zu bestimmen, ob eine Inkonsistenz vorliegt. Ferner kann eine Bestimmung, ob eine Inkonsistenz vorliegt, auch mehrfach unter Verwendung derselben Zustandsdaten durchgeführt werden. Es kann, obwohl in dem vorangegangenen Beispiel der Einfachheit halber eine Beschreibung unterblieben ist, der Daten-Frame eines Lenksteuerbefehls von der Lenkungsassistenz-ECU 360 beispielsweise auch nach dem Schritt S211 gesendet werden, und kann die Sicherheits-ECU 100A einen Lenksteuerbefehl aus diesem Daten-Frame erfassen und eine Bestimmung vornehmen, ob eine Inkonsistenz vorliegt. Gemäß dem CAN-Protokoll wird der Daten-Frame eines Steuerbefehls in Bezug auf dasselbe Steuerobjekt in regelmäßigen Abständen übertragen, und in manchen Fällen wird ein falscher Daten-Frame zum Zweck eines Angriffs zu einem Zeitpunkt gesendet, der sehr nahe an einem authentischen Daten-Frame gelegen ist, so dass dieser gemäß den Zeitabstandsregeln nicht zurückgewiesen wird. Auch in Bezug auf diese Art von Angriff wird ein falscher Daten-Frame, der basierend auf dem Ergebnis eines Vergleichs des von den Zustandsdaten angezeigten Zustands mit dem Inhalt des Steuerbefehls, insofern als solcher bestimmt wird, als er eine Steuerung anzeigt, die mit dem Zustand inkonsistent ist, in angemessener Weise gesperrt.
-
[Vorteilhafte Auswirkungen der Ausführungsform]
-
Bei dem Bordnetzwerksystem 10A gemäß der vorliegenden Ausführungsform bestimmt die Überwachungsverarbeitungseinheit 3000 der Sicherheits-ECU (Überwachungseinrichtung) 100A, unmittelbar bevor der Empfang eines Lenksteuerbefehls (das heißt, eines per Daten-Frame übermittelten Lenksteuerbefehls) durch die Empfangseinheit 1001 abgeschlossen ist, auf der Basis von Zustandsdaten, die von einer anderen Einrichtung, wie etwa der Sensor-ECU 320, erfasst werden, mithilfe eines vorbestimmten Verfahrens, ob die Steuerung des relevanten Lenksteuerbefehls mit dem Zustand, den die Zustandsdaten anzeigen, inkonsistent ist. Falls die Steuerung inkonsistent ist, wird eine Sperrverarbeitung durchgeführt, die den relevanten Lenksteuerbefehl durch das Senden eines Error-Frames sperrt. In Bezug auf das vorbestimmte Verfahren können verschiedene Kombinationen aus einem Zustand und einer Steuerung vorab definiert werden, die bei der Bestimmung einer Inkonsistenz als Referenzwert dienen können. Da ein falscher Daten-Frame, der eine Lenkungssteuerung enthält, die mit dem Zustand inkonsistent ist, auf dem Bus 30 von der Sicherheits-ECU 100A durch Senden eines Error-Frames gesperrt wird, ist es möglich, das Eintreten einer Situation zu vermeiden, in welcher die Lenkungs-ECU 300 den Empfang des falschen Daten-Frames abschließt und die Lenkung 301 gemäß einem in dem fraglichen Daten-Frame enthaltenen Lenksteuerbefehl steuert. Somit wird in dem Bordnetzwerksystem 10A durch die Sicherheits-ECU 100A eine angemessene Gegenmaßnahme ausgeführt, um mit einem falschen Frame (Attack-Frame) betreffend einen Lenksteuerbefehl umzugehen, und ist es dadurch möglich, einen Unfall zu verhindern, der durch den Attack-Frame verursacht hätte werden können.
-
(Varianten von Ausführungsform 2)
-
Wie weiter oben beschrieben, ist die Ausführungsform 2 als veranschaulichendes Beispiel für die Technologie gemäß der vorliegenden Erfindung beschrieben worden. Die erfindungsgemäße Technologie ist jedoch nicht auf die oben beschriebene Ausführungsform beschränkt und ist auch auf die vorliegende Ausführungsform anwendbar, an welcher angemessene Modifikationen, Ersetzungen, Hinzufügungen, Weglassungen und dergleichen vorgenommen worden sind. Beispielsweise sind auch die folgenden Varianten in den Ausführungsformen der vorliegenden Erfindung enthalten.
-
(1) In der Ausführungsform 2, die weiter oben beschrieben ist, kann eine Überwachungseinrichtung, die durch die Sicherheits-ECU 100A implementiert ist, die eine Funktion der Gewährleistung der Sicherheit des Bordnetzwerksystems 10A ausübt, auch als integrierter Bestandteil der Lenkungs-ECU 300 implementiert sein. In diesem Fall kann das Verwerfen eines Daten-Frames, der einen falschen Lenksteuerbefehl enthält, als eine Sperrverarbeitung durch die Sperreinheit 3002 ausgeführt werden. 19 ist ein Blockdiagramm, das ein Auslegungsbeispiel veranschaulicht, bei welchem eine Lenkungs-ECU als integrierten Bestandteil eine Überwachungseinrichtung enthält.
-
Zusätzlich zu den Bestandteilen der Lenkungs-ECU 300 in Ausführungsform 2 umfasst eine Lenkungs-ECU 300B gemäß der vorliegenden Variante außerdem eine Speichereinheit 2000B und eine Überwachungsverarbeitungseinheit 3000B. Ferner übt eine Kommunikationseinheit 1300B der Lenkungs-ECU 300B gleichermaßen die Funktionen der Kommunikationseinheit 1300 und jene der Kommunikationseinheit 1000 aus, die in Ausführungsform 2 in der Sicherheits-ECU 100A enthalten ist. Unter diesen Funktionen ist ein Teilabschnitt, welcher der Empfangseinheit 1001 der Kommunikationseinheit 1000 entspricht, in der Beschreibung der Lenkungs-ECU 300B als Empfangseinheit 1001B beschrieben. Gemäß der vorliegenden Variante bilden die Speichereinheit 2000B, die Überwachungsverarbeitungseinheit 3000B und die Empfangseinheit 1001B eine Überwachungseinrichtung 100B innerhalb der Lenkungs-ECU 300B. Im Folgenden werden in erster Linie die Unterschiede zwischen der Überwachungseinrichtung 100B und der Sicherheits-ECU 100A, welche in Ausführungsform 2 die Überwachungseinrichtung darstellt, besch rieben.
-
Wie weiter oben erwähnt, entspricht die Empfangseinheit 1001B der Empfangseinheit 1001 der Kommunikationseinheit 1000 der Sicherheits-ECU 100A in Ausführungsform 2. Die Speichereinheit 2000B entspricht der Speichereinheit 2000 der Sicherheits-ECU 100A. Zusätzlich zu der Bestimmungseinheit 3001B, die der Bestimmungseinheit 3001 entspricht, und zu einer Sperreinheit 3002B, die der Sperreinheit 3002 der Überwachungsverarbeitungseinheit 3000 der Sicherheits-ECU 100A entspricht, umfasst die Überwachungsverarbeitungseinheit 3000B eine Übertragungseinheit 3003.
-
Zusätzlich zu den Daten-Frames, welche die Lenkungs-ECU 300 empfängt, empfängt die Empfangseinheit 1001B außerdem Daten-Frames, die Zustandsdaten von anderen ECUs enthalten. Es ist anzumerken, dass bei der vorliegenden Variante die Zustandsdaten, welche die Sicherheits-ECU 100A in Ausführungsform 2 von der Lenkungs-ECU 300 empfängt, hier durch die Überwachungsverarbeitungseinheit 3000B innerhalb der Lenkungs-ECU 300B erfasst werden.
-
In der Überwachungsverarbeitungseinheit 3000B nimmt die Bestimmungseinheit 3001B, ähnlich der Bestimmungseinheit 3001, eine Bestimmung vor (Schritt S25 in 17), indem sie den von den Zustandsdaten angezeigten Zustand mit der Steuerung vergleicht, die durch den von der Lenkungsassistenz-ECU 360 kommenden Lenksteuerbefehl angezeigt wird, und das Ergebnis der Bestimmung ausgibt. Allerdings unterscheidet sich die Verarbeitung in einem Fall, in welchem bestimmt wird, dass der Zustand und die Steuerung miteinander nicht inkonsistent sind, von der Verarbeitung, die in einem solchen Fall durch die Bestimmungseinheit 3001 durchgeführt wird. 20 ist ein Ablaufdiagramm, das ein Beispiel für Überwachungsverarbeitungsverfahren veranschaulicht, das diesen Unterschied enthält, welcher durch die Überwachungseinrichtung 100B gemäß der Lenkungs-ECU 300B ausgeführt wird. In diesem Fall (Nein in Schritt S25) meldet die Bestimmungseinheit 3001B, die bestimmt hat, dass es sich bei dem Lenksteuerbefehl um keinen falschen Befehl handelt, dieses Ergebnis an die Übertragungseinheit 3003. Beim Empfang der Meldung speichert die Übertragungseinheit 3003 den Inhalt (ID, Daten in dem Datenfeld und dergleichen) des Daten-Frames mit Bezug zu dem relevanten Lenksteuerbefehl in dem Datenpuffer 2300 (Schritt S28).
-
In der Überwachungsverarbeitungseinheit 3000B verwirft in einem Fall, in welchem bestimmt wird, dass der Zustand und die Steuerung miteinander inkonsistent sind und dass die Lenkungssteuerung somit falsch ist (Ja in Schritt S25; Schritt S26), die Sperreinheit 3002B, die eine dahingehende Meldung empfängt, den Daten-Frame betreffend den fraglichen Lenksteuerbefehl (Schritt S27B).
-
21 veranschaulicht ein Beispiel einer Verarbeitungssequenz betreffend die Lenkungssteuerung in dem Bordnetzwerksystem 10A, welche die Lenkungs-ECU 300B einschließt. Die in 21 veranschaulichte Verarbeitungssequenz unterscheidet sich von der in 18 veranschaulichten Verarbeitungssequenz gemäß Ausführungsform 2 darin, dass die Lenkungs-ECU 300B jedes einzelne Zustandsdatenelement erfasst, dass die Lenkungs-ECU 300B eine Bestimmung hinsichtlich einer Inkonsistenz vornimmt (Schritte S113 und S213) und dass die Lenkungs-ECU 300B einen Vorgang ausführt, um in einem Fall, in dem der Zustand und die Steuerung nicht miteinander inkonsistent sind, den Lenksteuerbefehl zu übertragen (Schritt S114).
-
Dabei ist überdies anzumerken, dass, ähnlich der Sperreinheit 3002, die Sperreinheit 3002B bewirken kann, dass die Kommunikationseinheit 1300B einen Error-Frame an den Bus 30 sendet.
-
(2) Der Zustand des Fahrzeugs oder der Zustand der Au-ßenumgebung, in der das Fahrzeug unterwegs ist, welche von den Zustandsdaten angezeigt werden und welche durch die Bestimmungseinheiten 3001 und 3001B mit der Steuerung eines Lenksteuerbefehls zu vergleichen sind, ist nicht auf den weiter oben in Ausführungsform 2 beschriebenen Zustand beschränkt. Beispielsweise können auch Inhalte, welche Straßenverkehrszeichen oder Straßenmarkierungen an einem Ort, durch den das Fahrzeug gerade fährt oder eine geplante Fahrtroute des Fahrzeugs anzeigen, in dem von den Zustandsdaten angezeigten Zustand der Außenumgebung enthalten sein. Beispielsweise kann bestimmt werden, ob die Steuerung eines Lenksteuerbefehls mit dem Zustand einer spurwechselspezifischen oder einreihungsspezifischen Vorschrift inkonsistent ist oder nicht. Ferner kann beispielsweise auch ein Zustand, der einen Einfluss auf einen sicheren Lenkbetrag haben kann, wie etwa das Wetter, die Lufttemperatur, der Zustand der Straßenoberfläche, eine bewegliche Last oder ein ausgeglichenes Verhältnis derselben, ein Zustand betreffend Änderungen bei der Fahrzeuggeschwindigkeit oder die Art, der Luftdruck oder der Abnutzungsgrad der Reifen oder dergleichen in dem von den Zustandsdaten angezeigten Zustand des Fahrzeugs oder der Außenumgebung enthalten sein. Derlei Informationen können beispielsweise von einem in dem Fahrzeug montierten Sensor, aus einem System, das Straßenverkehrsinformationen bereitstellt, wie z. B. VICS (eingetragene Marke) oder von einem im Internet bereitgestellten Dienst erfasst werden. Die Bestimmungseinheit 3001 bzw. 3001B kann eine Bestimmung hinsichtlich einer Inkonsistenz vornehmen, und dabei zusätzlich zu der Fahrgeschwindigkeit des Fahrzeugs als Beurteilungskriterium heranziehen, ob eine Lenkbetrag, den ein Lenksteuerbefehl anzeigt, unter Bedachtnahme auf diese Zustände in sicherer Weise durchgeführt werden kann oder nicht. Dafür lässt sich beispielsweise ein Referenzwert verwenden, der sich je nach diesen von den Zustandsdaten angezeigten Zuständen ändert, oder es kann eine Diskriminanzfunktion oder ein Diskriminanzmodell verwendet werden, bei denen diese Zustände als Eingabewerte herangezogen werden.
-
Referenzwerte, die sich für jeden Fahrzeugtyp in Bezug auf das Fahrzeug 20A ändern, können als Referenzwerte herangezogen werden, um zu bestimmen, ob ein Lenksteuerbefehl mit einem in der vorangegangenen Ausführungsform 2 und in Varianten von dieser beschriebenen Zustand inkonsistent ist oder nicht. Der hier verwendete Begriff „Fahrzeugtyp“ kann sich auf einen Typ beziehen, der gemäß dem Fahrzeugmodell identifizierbar ist, oder er kann sich auf eine detailliertere Abstufung beziehen. Ferner lässt sich der Fahrzeugtyp gemäß dem Vorhandensein oder Fehlen einer vorbestimmten Funktion, die durch eine Option oder dergleichen realisiert ist, genauer unterscheiden.
-
Ferner können sogar im Fall von ein und derselben Funktion Referenzwerte verwendet werden, die sich in Abhängigkeit von Unterschieden bei der Funktion unterscheiden. Beispielsweise umfassen die Fahrspurhaltefunktionen, bei der es sich um eine der Lenkungsassistenzfunktionen handelt, eine Art, welche in einem Fall in Betrieb geht, in dem ein Abstand zu einer Fahrspur-Trennlinie gleich oder geringer als ein bestimmter Abstand ist, und eine Art, welche die Mitte einer Fahrspur erkennt und die Mitte des Fahrzeugs stets mit der Mitte der Fahrspur ausrichtet. In den jeweiligen Zuständen, in denen diese unterschiedlichen Arten von Fahrspurhaltefunktion in Betrieb sind, können Referenzwerte benutzt werden, für welche eine Bestimmung, ob eine Inkonsistenz in Bezug auf eine Lenkrichtung oder einen Lenkbetrag vorliegt, jeweils unterschiedlich ausfällt.
-
Ferner kann bei einem selbstfahrenden Fahrzeug, bei welchem ein hoher Grad an automatisiertem Fahren möglich ist, eine Festlegung getroffen werden, die das Umschalten zwischen solchen Referenzwerten miteinschließt. Beim Vergleich einer Zeit, zu welcher ein Betrieb zum Verbleiben auf einer Fahrspur ausgeführt wird, mit einer Zeit, zu welcher ein Betrieb zum Wechseln einer Fahrspur ausgeführt wird, ist ein Schwellenwert eines Lenkbetrags, der einen Referenzwert für das Bestimmen einer Inkonsistenz in Bezug auf den Zustand darstellt, zum Durchführungszeitpunkt des Vorgangs zum Wechseln der Fahrspur größer. Daher kann eine Bestimmungseinheit einer Überwachungseinrichtung eines selbstfahrenden Fahrzeugs, welche normalerweise eine Fahrspurhaltefunktion aktiviert, wenn das Fahrzeug fährt und in Übereinstimmung mit einer Verringerungsrate des Folgeabstandes in Bezug auf das vorausfahrende Fahrzeug oder in Übereinstimmung mit der Relativgeschwindigkeit des eigenen Fahrzeugs in Bezug auf das vorausfahrende Fahrzeug, die als Zustandsdaten erfasst wird, einen Vorgang zum Fahrspurwechsel ausführt, einen Schwellenwert eines Lenkbetrags umschalten, um eine Inkonsistenz in Bezug auf einen größeren Schwellenwert zu bestimmen, wenn eine Fahrspurwechselfunktion ei nsetzt.
-
(4) Die Aufteilung der Funktionen zwischen den verschiedenen Bestandteilen in dem Bordnetzwerksystem 10A, die in der vorangegangenen Ausführungsform oder in Varianten derselben beschrieben sind, oder in einem Steuernetzwerksystem, welches das Bordnetzwerksystem 10A mit einschließt, stellt nur ein Beispiel dar und die oben beschriebene Aufteilung der Funktionen ist veränderbar. Ferner können manche der Funktionen der Überwachungsverarbeitungseinheit 3000 und dergleichen in der Sicherheits-ECU 100A oder in der Überwachungsverarbeitungseinheit 3000B in der Lenkungs-ECU 300B durch eine Vorrichtung ausgeführt werden, die mit der Sicherheits-ECU 100A kommunizieren kann, beispielsweise durch eine andere ECU in dem Bordnetzwerksystem 10A oder durch eine außerhalb des Bordnetzwerksystems 10A befindliche Servereinrichtung oder dergleichen. Beispielsweise kann in der oben beschriebenen Ausführungsform eine andere Sicherheits-ECU, die sich von der Sicherheits-ECU 100A unterscheidet, in dem Bordnetzwerksystem 10 integriert sein, und kann von den Funktionen der Überwachungsverarbeitungseinheit 3000 die Funktion der Sperreinheit 3002 durch die andere Sicherheits-ECU ausgeführt werden. In diesem Fall kann das Ergebnis einer Bestimmung, die von der Bestimmungseinheit 3001 ausgegeben wird, von der Sendeeinheit 1002 als Daten-Frame an den Bus 30 gesendet werden oder über eine fest zugeordnete Leitung an die andere Sicherheits-ECU gesendet werden.
-
(5) Bei einem Aspekt der vorliegenden Erfindung kann es sich um ein Überwachungsverfahren handeln, das beispielsweise alle oder manche der in 17 und 18, 20 und 21 beschriebenen Verarbeitungsabläufe, sowie auch die auf diese Zeichnungen Bezug nehmenden Beschreibungen in der Vorliegenden Patentbeschreibung mit einschließt. Das Überwachungsverfahren kann beispielsweise umfassen: einen Erfassungsschritt (zum Beispiel die Schritte S21 und S23) zum Erfassen von Zustandsdaten, die einen Zustand des Fahrzeugs 20A und/oder einen Zustand der Au-ßenumgebung, in welcher das Fahrzeug 20A unterwegs ist, anzeigen, und außerdem einen Lenksteuerbefehl, der in dem Bordnetzwerksystem 10A gesendet wird; einen Bestimmungsschritt (zum Beispiel den Schritt S24) zum Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt oder nicht, indem der von den erfassten Zustandsdaten angezeigte Zustand mit der von dem erfassten Lenksteuerbefehl angezeigten Steuerung verglichen wird; und einen Ausgabeschritt (zum Beispiel den Schritt S25) zum Ausgeben von Daten, die das Ergebnis der in dem Bestimmungsschritt vorgenommenen Bestimmung zeigen. Ferner kann das Überwachungsverfahren auch einen Sperrschritt (zum Beispiel den Schritt S27 oder S27B) zum Sperren des Lenksteuerbefehls in einem Fall, in welchem durch den Bestimmungsschritt bestimmt wird, dass es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt, umfassen. Diese Art von Verfahren wird beispielsweise durch einen ECU ausgeführt, die als Überwachungseinrichtung fungiert, welche Lenksteuerbefehl zum Lenken des Fahrzeugs 20A überwacht, welche in dem Bordnetzwerksystem 10A gesendet werden.
-
Ferner kann es sich als einen Aspekt der vorliegenden Erfindung bei der Verarbeitung in Bezug auf das Überwachungsverfahren um ein Computerprogramm handeln, das ein Computer abzuarbeiten veranlasst wird, oder um ein digitales Signal, das aus dem Computerprogramm zusammengesetzt ist. Bei der Verarbeitung in Bezug auf das Überwachungsverfahren handelt es sich um eine Verarbeitung, welche umfasst: einen Erfassungsschritt (zum Beispiel die Schritte S21 und S23) zum Erfassen von Zustandsdaten, die einen Zustand des Fahrzeugs 20A und/oder einen Zustand der Au-ßenumgebung, in welcher das Fahrzeug 20A unterwegs ist, anzeigen, und außerdem einen Lenksteuerbefehl, der in dem Bordnetzwerksystem 10A gesendet wird; einen Bestimmungsschritt (zum Beispiel den Schritt S24) zum Bestimmen, ob es sich bei dem Lenksteuerbefehl um einen falschen Steuerbefehl handelt oder nicht, indem der von den erfassten Zustandsdaten angezeigte Zustand mit der von dem erfassten Lenksteuerbefehl angezeigten Steuerung verglichen wird; und einen Ausgabeschritt (zum Beispiel den Schritt S25) zum Ausgeben von Daten, die das Ergebnis der in dem Bestimmungsschritt vorgenommenen Bestimmung zeigen. Die ausgegebenen Daten können als Eingabedaten für ein anderes Programmmodul oder Computerprogramm oder eine andere kommunikationsfähige Vorrichtung verwendet werden. So können zum Beispiel das Sperren eines Daten-Frames, das Sperren einer Lenkungsassistenz-ECU, der automatisierte Fahrbetrieb für einen Not-Stopp, die an den Fahrer erfolgende Anzeige einer Meldung über einen eingetretenen Angriff oder das Aufzeichnen eines Fehlerprotokolls oder dergleichen durch das oben erwähnte andere Programmmodul oder dergleichen durchgeführt werden.
-
(6) Eine Sperrverarbeitung, die in der oben beschriebenen Ausführungsform und in Varianten von dieser durchgeführt wird, ist nicht auf eine Verarbeitung beschränkt, die eine Sperre durch Senden eines Error-Frames an einen CAN-Bus bewirkt. Das Verwerfen eines Daten-Frames, das durch die Lenkungs-ECU 300B durchgeführt wird, welche weiter oben beschrieben worden ist, stellt ebenfalls eine Form der Sperrverarbeitung dar. Als weiteres Beispiel ist auch das Nicht-Übertragen eines Daten-Frames, der einen falschen Lenksteuerbefehl enthält, durch eine Überwachungseinrichtung, die als Teil eines Gateways in einem Netzwerk implementiert ist, als eine Form der Sperrverarbeitung mit inbegriffen.
-
(Weitere Varianten)
-
Zwei Ausführungsformen und Varianten einer jeden der Ausführungsformen sind weiter oben als Beispiele für die Technologie gemäß der vorliegenden Erfindung beschrieben worden. Die erfindungsgemäße Technologie ist jedoch nicht auf die oben angeführten Ausführungsformen und Varianten beschränkt und so sind beispielsweise die folgenden Varianten, die auf eine jede Ausführungsformen angewendet werden können, ebenfalls in den erfindungsgemäßen Ausführungsform mit inbegriffen.
-
(1) Obwohl Beispiele von Anwendungen der vorliegenden Erfindung in einem Bordnetzwerksystem, in dem das in 2 veranschaulichte Standardformat als Format in Bezug auf die Daten-Frames in dem CAN-Protokoll verwendet wird, als die vorangegangenen Ausführungsformen beschrieben sind, ist ein Netzwerksystem, auf das die vorliegende Erfindung anwendbar ist, nicht auf diese beschränkt. Beispielsweise kann die vorliegende Erfindung auf ein Netzwerk angewendet werden, in welchem Daten-Frames in dem erweiterten Format fließen. Das in den obigen Ausführungsformen beschriebene CAN-Protokoll kann in einem breiten Sinn verstanden werden, in dem auch deren abgeleitete Protokolle, wie etwa das zeitgesteuerte TTCAN-Protokoll (Time-Triggered CAN) und das mit flexibler Datenrate arbeitende CAN FD (CAN with Flexible Data Rate) mit inbegriffen sind. Ferner kann die vorliegende Erfindung auch auf ein Netzwerksystem angewendet werden, das auf einem anderen Protokoll als dem CAN-Protokoll basiert, wie etwa Ethernet (eingetragene Marke) oder FlexRay (eingetragene Marke), oder auf ein Netzwerksystem, das eine Mischung aus einer Mehrzahl von Protokollen verwendet.
-
(2) Formen, die durch beliebiges Kombinieren von Bestandteilen und Funktionen in den weiter oben beschriebenen, jeweiligen Ausführungsformen und jeweiligen Varianten realisiert sind, sind ebenfalls in dem Umfang der vorliegenden Erfindung inbegriffen. Eine elektronische Steuerungseinrichtung gemäß einem Aspekt der vorliegenden Erfindung kann beispielsweise umfassen: eine Erfassungseinheit, welche Zustandsdaten erfasst, die einen Zustand eines beweglichen Körpers und/oder einen Zustand einer Außenumgebung, in welcher sich der bewegliche Körper bewegt, anzeigen, sowie einen Steuerbefehl, der einen Lenksteuerbefehl zum Lenken des beweglichen Körpers und/oder einen Beschleunigungssteuerbefehl zum Anpassen der Beschleunigung des beweglichen Körpers anzeigt; und eine Bestimmungseinheit, welche basierend auf dem zumindest einen von den erfassten Zustandsdaten angezeigten Zustand und der zumindest einen von dem erfassten Steuerbefehl angezeigten Steuerung bestimmt, ob es sich bei dem Steuerbefehl um einen falschen Steuerbefehl handelt.
-
(3) Bei den einzelnen ECUs in den weiter oben beschriebenen Ausführungsformen wird davon ausgegangen, dass es sich dabei jeweils um eine Vorrichtung mit beispielsweise digitalen Schaltungen wie etwa einem Prozessor und einem Speicher, analogen Schaltungen, einer Kommunikationsschaltung und so weiter. Anstatt dass die Funktionen der jeweils in den obigen Ausführungsformen beschriebenen Vorrichtungen durch die Verwendung von Software implementiert sind, wobei ein Prozessor ein in einem Speicher abgespeichertes Steuerprogramm ausführt, können die Funktionen der jeweiligen Vorrichtungen darüber hinaus auch durch fest zugeordnete Hardware (wie beispielsweise eine Digitalschaltung) implementiert sein.
-
(4) Manche oder alle der in jeder Vorrichtung in den oben beschriebenen Ausführungsformen enthaltenen Bestandteile können auch durch nur eine systemweite, hochintegrierte LSI-Schaltung (Large Scale Integration) gebildet sein. Bei der systemweiten LSI-Schaltung handelt es sich um eine super-multifunktionale LSI-Schaltung, welche durch Integration einer Mehrzahl von Konfigurationseinheiten auf einem Chip gefertigt ist und im Spezifischen ein Computersystem darstellt, das so ausgelegt ist, dass es einen Mikroprozessor, einen Festwertspeicher (ROM), einen Direktzugriffsspeicher (RAM) und so weiter umfasst. Ein Computerprogramm ist auf dem Festwertspeicher (ROM) aufgezeichnet. Der Mikroprozessor arbeitet gemäß dem Computerprogramm und ermöglicht es dadurch der System-LSI, ihre Funktion umzusetzen. Darüber hinaus können die Bestandteile, welche die weiter oben beschriebenen, entsprechenden Vorrichtungen bilden, in einzelne Chips integriert sein, oder in einen einzigen Chip, welcher manche oder alle der Bestandteile umfasst. Es wird hier zwar der Begriff „System-LSI“ verwendet, eine integrierte Schaltung kann jedoch, je nach unterschiedlichem Integrationsgrad, auch als eine „IC“, eine „LSI“, eine „Super-LSI“ oder eine „Ultra-LSI“ bezeichnet werden. Außerdem ist ein Verfahren zur Bildung einer integrierten Schaltung nicht auf die LSI beschränkt und kann dieses auch unter Verwendung einer fest zugeordneten Schaltung oder eines Allzweck-Prozessors implementiert werden. Ein FPGA (Feldprogrammierbares Gate-Array), das nach der Fertigung der LSI programmiert werden kann, oder ein rekonfigurierbarer Rechner, der in der Lage ist, Verbindungen und Einstellungen von Schaltungszellen in der LSI zu rekonfigurieren, können ebenfalls verwendet werden. Wenn überdies ein Verfahren zur Bildung einer integrierten Schaltung anstelle der LSI in Übereinstimmung mit Entwicklungen in der Halbleitertechnologie oder in anderen, davon abgeleiteten Technologien eingeführt wird, kann dieses Verfahren natürlich auch zur Integration von Funktionsblöcken verwendet werden. Die Anwendung von Biotechnologie oder dergleichen ist eine dafür in Frage kommende Möglichkeit.
-
(5) Manche oder alle der in jeder der oben beschriebenen Vorrichtungen enthaltenen Bestandteile können durch eine IC-Karte gebildet sein, die abnehmbar in jede Vorrichtung eingesetzt werden kann, oder durch ein eigenständiges Modul. Bei der IC-Karte oder dem Modul handelt es sich um ein Computersystem, das aus einem Mikroprozessor, einem Festwertspeicher (ROM), einem Direktzugriffsspeicher (RAM) und so weiter gebildet wird. Die IC-Karte oder das Modul kann die weiter oben beschriebene super-multifunktionale LSI-Schaltung umfassen. Der Mikroprozessor arbeitet gemäß einem Computerprogramm und ermöglicht es dadurch der IC-Karte oder dem Modul, ihre/seine Funktion umzusetzen. Die IC-Karte oder das Modul kann manipulationssicher ausgeführt sein.
-
Ferner können, als ein Aspekt der vorliegenden Erfindung, die entsprechenden, weiter oben beschriebenen Computerprogramme und digitalen Signale auf einem computerlesbaren Aufzeichnungsmedium, wie etwa einer flexiblen Disc, einer Festplatte, einer DC-ROM, einer MO-Diskette, einer DVD, einer DVD-ROM, einer DVD-RAM, einer BD (Blu-ray (eingetragene Marke) Disc) oder einem Halbleiterspeicher aufgezeichnet werden. Darüber hinaus kann ein Aspekt der vorliegenden Erfindung das digitale Signal darstellen, das auf einem solchen Aufzeichnungsmedium aufgezeichnet ist. Überdies kann als ein Aspekt der vorliegenden Erfindung das Computerprogramm oder das digitale Signal über eine Telekommunikationsleitung, eine drahtlose oder verdrahtete Kommunikationsleitung, ein Netzwerk, das durch das Internet dargestellt wird, sowie über Daten(rund)funkdienste (Datacasting) oder dergleichen gesendet werden.
-
Ein weiterer Aspekt der vorliegenden Erfindung ist ein Computersystem umfassend einen Mikroprozessor und einen Speicher, bei welchem auf dem Speicher ein weiter oben beschriebenes Computerprogramm aufgezeichnet ist und der Mikroprozessor gemäß dem Computerprogramm betrieben wird. Darüber hinaus kann das Programm oder das digitale Signal auf einem Aufzeichnungsmedium aufgezeichnet sein und als solches transportiert werden, bzw. kann das Programm oder das digitale Signal auch über ein Netzwerk oder dergleichen transportiert werden, um sodann durch ein beliebiges anderes unabhängiges Computersystem ausgeführt zu werden.
-
Obwohl weiter oben nur manche beispielhaften Ausführungsformen der vorliegenden Erfindung eingehend beschrieben worden sind, ist für Personen mit einschlägiger Fachkenntnis leicht festzustellen, dass zahlreiche Modifikationen bei den beispielhaften Ausführungsformen möglich sind, ohne dass dadurch in grundlegender Weise von den neuen Lehren und Vorteilen der vorliegenden Erfindung abgewichen wird. Demgemäß sollen alle solchen Modifikationen in dem Umfang der vorliegenden Erfindung inbegriffen sein.
-
Industrielle Anwendbarkeit
-
Die vorliegende Erfindung kann dazu verwendet werden, mit einem Angriff umzugehen, der einen Frame eines falschen Fahr-Steuerbefehls an ein Bewegtkörper-Netzwerk sendet, das in einem beweglichen Körper, wie etwa einem Fahrzeug, vorgesehen ist, in welchem die Fahrsteuerung manuell oder automatisch ausgeführt wird.
-
Bezugszeichenliste
-
- 10, 10A
- Bordnetzwerksystem
- 20, 20A, 21
- Fahrzeug
- 30
- Bus (CAN-Bus)
- 100, 100A
- Sicherheits-ECU (Überwachungseinrichtung)
- 300, 300B
- Lenkungs-ECU
- 301
- Lenkung
- 310, 310B
- Gaspedal-ECU
- 311
- Antriebsmaschine
- 320
- Sensor-ECU
- 321
- Objekterkennungssensor
- 322
- Geschwindigkeitssensor
- 330
- Bremsen-ECU
- 331
- Bremse
- 340
- Motor-ECU
- 341
- Kraftstoffmotor
- 350
- Geschwindigkeitsregelassistenz-ECU
- 360
- Lenkungsassistenz-ECU
- 390
- Diagnoseanschluss
- 1000, 1100, 1300, 1310, 1300B, 1310B
- Kommunikationseinheit
- 1001, 1101, 1001B, 1101B
- Empfangseinheit
- 1002, 1102
- Sendeeinheit
- 2000, 2100, 2000B, 2100B
- Speichereinheit
- 2300, 2310
- Datenpuffer
- 3000, 3100, 3000B, 3100B
- Überwachungsverarbeitungseinheit
- 3001, 3101, 3001B, 3101B
- Bestimmungseinheit
- 3002, 3102, 3002B, 3102B
- Sperreinheit
- 3003, 3103
- Übertragungseinheit
- 3300, 3310
- Steuerungsverarbeitungseinheit
-
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
-
- JP 2008114806 [0006]
- JP 2016078490 [0006]
-
Zitierte Nicht-Patentliteratur
-