-
Querverweis auf zugehörige Anmeldung.
-
Diese Anmeldung basiert auf der am 7. August 2015 eingereichten
japanischen Patentanmeldung mit der Nummer 2015-157232 , deren Offenbarung hierin durch Bezugnahme aufgenommen ist.
-
Technisches Gebiet
-
Die vorliegende Offenbarung bezieht sich auf eine Technik, die in einem Netzwerk kommunizierte Kommunikationsdaten mittels eines Nachrichtenauthentifizierungscodes authentifiziert.
-
Stand der Technik
-
Eine Technik, die Kommunikationsdaten, die in einem Netzwerk kommuniziert werden, durch einen Nachrichtenauthentifizierungscode (Message Authentication Code: MAC) authentifiziert, ist bekannt (vergleiche beispielsweise Patentdokument 1). Bei einer in der Patentdokument 1 offenbarten Technik inkrementiert jede der mit dem Netzwerk verbundenen Kommunikationsvorrichtungen einen Wert, der in einem entsprechenden Zähler gespeichert ist, jedes Mal, wenn eine andere Kommunikationsvorrichtung eine Hauptnachricht sendet.
-
Eine Sendekommunikationsvorrichtung sendet die Hauptnachricht und eine MAC-Nachricht, die einen MAC beinhaltet, der basierend auf der Hauptnachricht und einem vom Zähler gezählten Wert erzeugt wird.
-
Eine Empfangskommunikationsvorrichtung bestimmt, ob der MAC, der basierend auf einer empfangenen Hauptnachricht und dem Wert des Zählers erzeugt wird, der in der Empfangskommunikationsvorrichtung gespeichert ist, mit einem MAC übereinstimmt, der in der empfangenen MAC-Nachricht enthalten ist. Mit dieser Konfiguration bestimmt die Empfangskommunikationsvorrichtung die Gültigkeit der empfangenen Hauptnachricht.
-
LITERATUR DES STANDS DER TECHNIK
-
PATENTLITERATUR
-
Patentdokument 1:
JP 2013-98719 A
-
Überblick über die Erfindung
-
Bei einer in Patentdokument 1 offenbarten Technik kann die Gültigkeit einer Hauptnachricht basierend auf einem MAC bestimmt werden. Wenn in der Technik, die in dem Patentdokument 1 offenbart ist, die Hauptnachricht als ungültig bestimmt wird, kann die Ursache der Invalidität nicht geschätzt werden. Es wird angenommen, dass die Ursache der Ungültigkeit der Hauptnachricht nicht geschätzt werden kann. In diesem Fall kann eine geeignete Prozedur zur Lösung der Ursache nicht implementiert werden.
-
Angesichts der vorstehenden Schwierigkeiten ist es eine Aufgabe der vorliegenden Offenbarung, eine Technik bereitzustellen, die eine geeignete Prozedur implementiert, indem die Ursache der Ungültigkeit geschätzt wird, wenn Kommunikationsdaten, die in einem Netzwerk übertragen werden, als ungültig bestimmt werden.
-
Gemäß einem Aspekt der vorliegenden Offenbarung wird eine Kommunikationsvorrichtung bereitgestellt. Die Kommunikationsvorrichtung ist mit einem Netzwerk verbunden und authentifiziert Kommunikationsdaten, die auf dem Netzwerk kommuniziert werden, basierend auf einem Nachrichtenauthentifizierungscode. Die Kommunikationsvorrichtung beinhaltet einen Zähler, einen Empfangsabschnitt, einen Aktualisierungsabschnitt, einen Codeerzeugungsabschnitt, einen Bestimmungsabschnitt und einen Sendeabschnitt.
-
Der Empfangsabschnitt empfängt die Kommunikationsdaten von einer anderen der Kommunikationsvorrichtung. Der Aktualisierungsabschnitt aktualisiert einen Wert des Zählers, um mit einem Wert eines Zählers der anderen Kommunikationsvorrichtung übereinzustimmen, wenn der Empfangsabschnitt die Kommunikationsdaten von der anderen Kommunikationsvorrichtung empfängt.
-
Der Codeerzeugungsabschnitt erzeugt den Nachrichtenauthentifizierungscode basierend auf den Kommunikationsdaten, die durch den Empfangsabschnitt empfangen werden, dem Wert des Zählers und einem gemeinsamen Schlüssel. Der Bestimmungsabschnitt bestimmt, ob der Nachrichtenauthentifizierungscode, der durch den Codeerzeugungsabschnitt erzeugt wird, mit einem Nachrichtenauthentifizierungscode übereinstimmt, der in den Kommunikationsdaten gesetzt ist.
-
Der Sendeabschnitt sendet eine Synchronisationsanforderung. Der Sendeabschnitt gleicht den Wert des Zählers mit dem Wert des Zählers der anderen Kommunikationsvorrichtung ab, wenn eine Anzahl von Malen, die der Bestimmungsabschnitt fortlaufend eine Diskrepanz zwischen dem Nachrichtenauthentifizierungscode, der durch den Codeerzeugungsabschnitt erzeugt wird, und dem Nachrichtenauthentifizierungscode bestimmt, der in den Kommunikationsdaten gesetzt ist, die durch den Empfangsabschnitt empfangen werden, gleich oder größer als eine vorbestimmte Anzahl von aufeinanderfolgenden Diskrepanzen wird.
-
Wenn in der vorstehend beschriebenen Konfiguration die Diskrepanz der Nachrichtenauthentifizierungscodes auftritt, wird die Ursache als Abweichung des Werts des Zählers zwischen einer Sendekommunikationsvorrichtung und einer Empfangskommunikationsvorrichtung geschätzt und die Sendekommunikationsvorrichtung sendet die Synchronisationsanforderung zum Synchronisieren der Zähler. Wenn daher die Ursache der Diskrepanz zwischen den Nachrichtenauthentifizierungscodes die Abweichung der Werte der Zähler zwischen der Sendekommunikationsvorrichtung und der Empfangskommunikationsvorrichtung ist, kann die Ursache der Diskrepanz zwischen den Nachrichtenauthentifizierungscodes spezifiziert werden, indem die Synchronisation der Zähler als geeignete Prozedur angefordert wird.
-
Kurzbeschreibung der Zeichnungen
-
Die vorstehenden und weitere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden aus der nachfolgenden detaillierten Beschreibung in Zusammenschau mit den Zeichnungen ersichtlicher.
-
Es zeigen:
- 1 ein Blockschaltbild, das ein Kommunikationssystem gemäß einer Ausführungsform zeigt;
- 2 ein Diagramm, das eine Konfiguration eines CAN-Rahmens zeigt;
- 3 ein Blockschaltbild, das eine Kommunikationsvorrichtung gemäß einer Ausführungsform zeigt; und
- 4 ein Zustandsübergangsdiagramm, das eine Kommunikationsverarbeitung zeigt.
-
Ausführungsformen der Erfindung
-
Nachstehend werden Ausführungsformen der vorliegenden Offenbarung unter Bezugnahme auf die Zeichnungen beschrieben.
-
< Konfiguration>
-
Wie in 1 gezeigt, beinhaltet ein Kommunikationssystem 2 einen CAN (Controller Area Network)-Bus 100 und mehrere Kommunikationsvorrichtungen 10. Jede der mehreren Kommunikationsvorrichtungen 10 hat die gleiche Konfiguration.
-
Das Netzwerk, das jede der Kommunikationsverbindungsvorrichtung 10 verbindet, ist nicht auf CAN beschränkt und kann durch ein beliebiges Netzwerk unter einer Bedingung bereitgestellt werden, dass alle Kommunikationsvorrichtungen 10 untereinander über das Netzwerk kommunizieren können. Die Kommunikationsvorrichtung 10 kann für jeden Verwendungszweck verwendet werden. Zum Beispiel kann die Kommunikationsvorrichtung 10 durch eine ECU (elektronische Steuereinheit) bereitgestellt werden, die mit einem fahrzeuginternen Netzwerk verbunden ist.
-
Die Kommunikationsvorrichtung 10 bestimmt die Gültigkeit von Kommunikationsdaten basierend auf einem Nachrichtenauthentifizierungscode (MAC). In dem CAN-Bus 100 wird ein CAN-Rahmen als ein Kommunikationsrahmen verwendet und die Kommunikationsdaten werden durch den CAN-Rahmen kommuniziert. Der MAC wird durch ein allgemein bekanntes MAC-Erzeugungsverfahren wie HMCA oder CMAC erzeugt. Wie in 2 gezeigt ist, ist der MAC in einem Datenfeld des CAN-Rahmens zusammen mit Daten gesetzt.
-
Die Kommunikationsvorrichtung 10 weist einen Mikrocomputer mit einer CPU, einem RAM, einem ROM, einem Flash-Speicher, einer Eingabe-/Ausgabeschnittstelle oder dergleichen auf. Wie in 3 gezeigt ist, beinhaltet die Kommunikationsvorrichtung 10 einen Empfangsabschnitt 12, einen Sendeabschnitt 14, einen Codeerzeugungsabschnitt 16, einen Bestimmungsabschnitt 18, einen Zähler 20, einen Aktualisierungsabschnitt 22, einen Rahmenerzeugungsabschnitt 24 und einen Benachrichtigungsabschnitt 26 als Funktionsblöcke.
-
Der Empfangsabschnitt 12 empfängt den CAN-Rahmen von dem CAN-Bus 100. Der Sendeabschnitt 14 sendet den CAN-Rahmen an den CAN-Bus 100.
-
Es wird angenommen, dass der Codeerzeugungsabschnitt 16 bestimmt, dass die Kommunikationsdaten, die von dem Empfangsabschnitt 12 empfangen werden, ein Verarbeitungsobjekt und ein Authentifizierungsobjekt sind, das von dem MAC authentifiziert werden muss. Die Bestimmung erfolgt basierend auf der ID des CAN-Rahmens, der von dem Empfangsabschnitt 12 empfangen wird. In diesem Fall wählt der Codeerzeugungsabschnitt 16 eine Bitsequenz, die eine gleiche Bitlänge wie der im Datenfeld des empfangenen CAN-Rahmens gesetzte MAC aufweist, aus einer Bitsequenz aus, die durch die ID des empfangenen CAN-Rahmens, dem Datensatz in dem Datenfeld des empfangenen CAN-Rahmens, einem Wert des Zählers 20 und einem gemeinsamen Schlüssel erzeugt wird. Dann erzeugt der Codeerzeugungsabschnitt 16 den MAC basierend auf der ausgewählten Bitsequenz. Der gemeinsame Schlüssel wird in einem wiederbeschreibbaren, nichtflüchtigen Speicher wie etwa einem Flash-Speicher gespeichert.
-
Mehr als eine Kommunikationsvorrichtung 10 kann basierend auf der ID des CAN-Rahmens, der von dem entsprechenden Empfangsabschnitt 12 empfangen wird, bestimmen, dass die empfangenen Kommunikationsdaten das Verarbeitungsobjekt und das Authentifizierungsobjekt des MAC sind.
-
Es wird angenommen, dass der Rahmenerzeugungsabschnitt 24 den CAN-Rahmen einschließlich des MAC erzeugt und der Sendeabschnitt 14 den erzeugten CAN-Rahmen sendet. In diesem Fall wählt der Codeerzeugungsabschnitt 16 eine Bitsequenz, die die gleiche Bitlänge wie der im Datenfeld gesetzte MAC aufweist, aus der Bitsequenz, die durch die ID des CAN-Rahmens erzeugt wird, Daten, die in dem Datenfeld gesetzt sind, dem Wert des Zählers 20 und dem gemeinsamen Schlüssel aus. Dann erzeugt der Codeerzeugungsabschnitt 16 den MAC basierend auf der ausgewählten Bitsequenz.
-
Es wird angenommen, dass die von dem Empfangsabschnitt 12 empfangenen Kommunikationsdaten das Verarbeitungsobjekt und das Authentifizierungsobjekt basierend auf dem MAC sind. In diesem Fall bestimmt der Bestimmungsabschnitt 18, ob der MAC, der durch den Codeerzeugungsabschnitt 16 aus der ID des empfangenen CAN-Rahmens, den Daten, die in dem Datenfeld des empfangenen CAN-Rahmens gesetzt sind, dem Wert des Zählers 20 und dem gemeinsamen Schlüssel erzeugt wird, dem MAC entspricht, der im Datenfeld des empfangenen CAN-Rahmens gesetzt ist. Im Folgenden repräsentiert die Übereinstimmung der MACs die Gleichheit zwischen den MACs.
-
Wenn der Bestimmungsabschnitt 18 bestimmt, dass der von dem Codeerzeugungsabschnitt 16 erzeugte MAC mit dem empfangenen MAC übereinstimmt, werden die Kommunikationsdaten des CAN-Rahmens als gültig bestimmt. Wenn der Bestimmungsabschnitt 18 bestimmt, dass der durch den Codeerzeugungsabschnitt 16 erzeugte MAC nicht mit dem empfangenen MAC übereinstimmt, werden die Kommunikationsdaten des CAN-Rahmens als ungültig bestimmt.
-
Der Wert des Zählers 20 ist in einer nichtflüchtigen Speichervorrichtung wie dem Flash-Speicher gespeichert. Der Wert des Zählers 20 wird für jede ID des CAN-Rahmens gespeichert. Jede der Kommunikationsvorrichtungen 10 speichert nur den Wert des Zählers 20, der der ID entspricht, die von der eigenen Vorrichtung zu verarbeiten ist.
-
Es wird angenommen, dass die von dem Empfangsabschnitt 12 empfangenen Kommunikationsdaten das Verarbeitungsobjekt und das Authentifizierungsobjekt basierend auf dem MAC sind. In diesem Fall addiert der Aktualisierungsabschnitt 22 eins zu einem Wert, der von dem entsprechenden Zähler 20 gezählt wird. Der Aktualisierungsabschnitt 22 addiert eins zu dem von dem Zähler 20 gezählten Wert, bevor der Codeerzeugungsabschnitt 16 den MAC erzeugt, der in dem Datenfeld des CAN-Rahmens zu setzen ist. Dann wird der CAN-Rahmen durch den Rahmenerzeugungsabschnitt 24 erzeugt und von dem Sendeabschnitt 14 übertragen.
-
Wenn der Sendeabschnitt 14 den CAN-Rahmen sendet, setzt der Rahmenerzeugungsabschnitt 24 einen Wert in jedem Feld jedes CAN-Rahmens. Wenn der Sendeabschnitt 14 die Kommunikationsdaten, die das Authentifizierungsobjekt basierend auf dem MAC sind, sendet, setzt der Rahmenerzeugungsabschnitt 24 den MAC, der durch den Codeerzeugungsabschnitt 16 erzeugt wird, in dem Datenfeld.
-
Es wird angenommen, dass der durch den Codeerzeugungsabschnitt 16 erzeugte MAC nicht mit dem empfangenen MAC übereinstimmt und die Ursache der Diskrepanz der MACs nicht identifiziert werden kann. In diesem Fall erzeugt der Benachrichtigungsabschnitt 26 einen Diagnosecode, der die Diskrepanz der MACs und Fehler beim Identifizieren der Ursache der Diskrepanz als Abnormalität angibt, und speichert den Diagnosecode in der wiederbeschreibbaren, nichtflüchtigen Speichervorrichtung wie beispielsweise dem Flash-Speicher. Alternativ kann der Benachrichtigungsabschnitt 26 eine Benachrichtigung über die Abnormalität von dem Sendeabschnitt 14 an eine Benachrichtigungskommunikationsvorrichtung 10 senden.
-
< Verarbeitung>
-
Eine Kommunikationsverarbeitung, die von der Kommunikationsvorrichtung 10 ausgeführt wird, wird unter Bezugnahme auf ein Zustandsübergangsdiagramm von 4 beschrieben.
-
Während eines normalen Zustands ist der durch den Codeerzeugungsabschnitt 16 erzeugte MAC gleich dem MAC, der in dem Datenfeld des empfangenen CAN-Rahmens gesetzt ist. Der Codeerzeugungsabschnitt 16 erzeugt den MAC aus der ID, dem Datensatz in dem Datenfeld, die jeweils in dem von dem Empfangsabschnitt 12 empfangenen CAN-Rahmen enthalten sind, dem Wert des Zählers 20, der durch den Aktualisierungsabschnitt 22 um eins inkrementiert wird, und dem gemeinsamen Schlüssel.
-
Während des Normalzustands für den CAN-Rahmen, der von dem Empfangsabschnitt 12 empfangen wird, wird angenommen, dass eine Anzahl von Malen, die der Bestimmungsabschnitt 18 fortlaufend eine Diskrepanz zwischen den MACs bestimmt, gleich oder größer als eine vorbestimmte Anzahl von aufeinanderfolgenden Diskrepanzen wird. In diesem Fall schätzt die Empfangskommunikationsvorrichtung 10, dass ein Wert des Zählers 20 der Empfangskommunikationsvorrichtung 10 von dem Wert des Zählers 20 der Sendekommunikationsvorrichtung 10 abweicht, und wechselt von dem normalen Zustand in einen Zählerabweichungszustand.
-
Die vorbestimmte Anzahl aufeinanderfolgender Diskrepanzen wird unter Berücksichtigung einer fehlerhaften Bestimmung an dem Bestimmungsabschnitt 18, die durch Rauschen verursacht wird, auf einen geeigneten Wert gesetzt, mit dem geschätzt werden kann, dass die Ursache von Diskrepanzen zwischen den MACs die Abweichung zwischen den Werten der Zähler 20 am Sendeende und am Empfangsende ist.
-
Nachdem die Empfangskommunikationsvorrichtung 10 von dem normalen Zustand in den Zählerabweichungszustand übergegangen ist, sendet der Sendeabschnitt 14 in der Empfangskommunikationsvorrichtung 10 eine Synchronisationsanforderung in dem CAN-Rahmen an die Sendekommunikationsvorrichtung 10. Hierbei wird die Synchronisationsanforderung übertragen, um den Wert des Zählers 20 der Sendekommunikationsvorrichtung 10 mit dem Wert des Zählers 20 der Empfangskommunikationsvorrichtung 10 abzugleichen. In der Empfangskommunikationsvorrichtung 10 erzeugt der Rahmenerzeugungsabschnitt 24 die Synchronisationsanforderung, die durch den Sendeabschnitt 14 zu übertragen ist, unter Verwendung des CAN-Rahmens. Der Rahmenerzeugungsabschnitt 24 setzt den MAC in dem Datenfeld der Synchronisationsanforderung, die durch den Sendeabschnitt 14 zu übertragen ist, nicht.
-
Mit der vorstehend beschriebenen Konfiguration muss die Sendekommunikationsvorrichtung 10, die die Synchronisationsanforderung empfängt, den MAC nicht authentifizieren. Somit wird, obwohl ein Zählwert des Zählers der Empfangskommunikationsvorrichtung 10 von einem Zählwert des Zählers der Sendekommunikationsvorrichtung 10 abweicht, der CAN-Rahmen, der die Synchronisation der Zähler anfordert, normalerweise in der Sendekommunikationsvorrichtung 10 verarbeitet.
-
Die Sendekommunikationsvorrichtung 10, die die Synchronisationsanforderung für den Zähler 20 empfängt, sendet den Wert des Zählers 20 an die Empfangskommunikationsvorrichtung 10, die die Synchronisationsanforderung gesendet hat. Die Sendekommunikationsvorrichtung 10 setzt den MAC nicht in das Datenfeld des CAN-Rahmens, der den Wert des Zählers beinhaltet.
-
Es wird angenommen, dass der Empfangsabschnitt 12 der Empfangskommunikationsvorrichtung 10 den Wert des Zählers 20 empfängt, der von der Sendekommunikationsvorrichtung 10 in Antwort auf die Synchronisationsanforderung für den Zähler 20 gesendet wird. In diesem Fall synchronisiert der Aktualisierungsabschnitt 22 der Empfangskommunikationsvorrichtung 10 den eigenen Zähler 20 mit dem Zähler 20 der Sendekommunikationsvorrichtung 10 durch Umschreiben des Werts des eigenen Zählers 20 in den empfangenen Zählerwert der Sendekommunikationsvorrichtung 10.
-
Alternativ kann ein Wert eines Zählers 20 einer anderen Kommunikationsvorrichtung 10 durch die Empfangskommunikationsvorrichtung 10 und die Sendekommunikationsvorrichtung 10 in Antwort auf die von der Empfangskommunikationsvorrichtung 10 zum Synchronisieren der Zähler 20 gesendeten Synchronisationsanforderung empfangen werden. Hierbei ist eine andere Kommunikationsvorrichtung 10 eine andere als die Empfangskommunikationsvorrichtung 10 und die Sendekommunikationsvorrichtung 10. In diesem Fall synchronisiert in jeder der Empfangskommunikationsvorrichtung 10 und der Sendekommunikationsvorrichtung 10 der Aktualisierungsabschnitt 22 den Zähler 20 mit dem Zähler 20 einer anderen Kommunikationsvorrichtung 10, indem er den Wert des Zählers 20 in den Wert des Zählers 20 einer anderen Kommunikationsvorrichtung 10 umschreibt.
-
Nachdem der Zähler 20 synchronisiert ist, bestimmt, wenn der Empfangsabschnitt 12 der Empfangskommunikationsvorrichtung 10 den CAN-Rahmen empfängt, der von der Sendekommunikationsvorrichtung 10 gesendet wird, der Bestimmungsabschnitt 18 der Empfangskommunikationsvorrichtung 10, ob der erzeugte MAC mit dem empfangenen MAC übereinstimmt. Wird bestimmt, dass der erzeugte MAC mit dem empfangenen MAC übereinstimmt, wechselt die Empfangskommunikationsvorrichtung 10 von dem Zählerabweichungszustand in den Normalzustand.
-
Während des Zählerabweichungszustands wird angenommen, dass eine Anzahl von Malen, die der Bestimmungsabschnitt 18 aufeinanderfolgend eine Diskrepanz zwischen den MACs bestimmt, gleich oder größer als eine vorbestimmte Anzahl von Synchronisationen wird, obwohl der Sendeabschnitt 14 die Synchronisationsanforderung für den Zähler 20 sendet. In diesem Fall schätzt die Empfangskommunikationsvorrichtung 10, dass mindestens einer der gemeinsamen Schlüssel oder der Werte der Zähler 20 zwischen der Empfangskommunikationsvorrichtung 10 und der Sendekommunikationsvorrichtung 10 abweicht, und wechselt dann von dem Zählerabweichungszustand in einen abnormalen Zustand.
-
Die vorbestimmte Anzahl von Synchronisationen wird auf einen geeigneten Wert unter Berücksichtigung einer fehlerhaften Bestimmung an dem Bestimmungsabschnitt 18, die durch Rauschen verursacht wird, festgelegt. Insbesondere wird die vorbestimmte Anzahl von Synchronisationen so festgelegt, dass der Grund für Diskrepanzen zwischen den MACs geschätzt wird, dass mindestens einer des gemeinsamen Schlüssels oder der Werte der Zähler 20 zwischen der Empfangskommunikationsvorrichtung 10 und der Sendekommunikationsvorrichtung 10 abweicht.
-
Während des Normalzustands wird für den CAN-Rahmen, der durch den Empfangsabschnitt 12 der Empfangskommunikationsvorrichtung 10 empfangen wird, angenommen, dass eine Gesamtzahl von Malen, die der Bestimmungsabschnitt 18 eine Diskrepanz zwischen den MACs bestimmt, gleich oder größer als eine vorbestimmte Anzahl von Gesamtdiskrepanzen wird. In diesem Fall wechselt die Empfangskommunikationsvorrichtung 10 von dem normalen Zustand in den abnormalen Zustand. Die vorbestimmte Anzahl von Gesamtdiskrepanzen wird so eingestellt, dass sie größer ist als die vorbestimmte Anzahl von aufeinanderfolgenden Diskrepanzen.
-
Während des abnormalen Zustands sendet die Empfangskommunikationsvorrichtung 10 eine Rücksetz- und Aktualisierungsanforderung, die die Sendekommunikationsvorrichtung 10 auffordert, den Wert des Zählers 20 zurückzusetzen und den gemeinsamen Schlüssel zu aktualisieren, von dem Sendeabschnitt 14 der Empfangskommunikationsvorrichtung 10.
-
Es wird angenommen, dass die Empfangskommunikationsvorrichtung 10 die Rücksetz- und Aktualisierungsanforderung sendet, die das Zurücksetzen des Werts des Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels anfordert. In diesem Fall werden die Werte der Zähler 20 der Empfangskommunikationsvorrichtung 10, der Sendekommunikationsvorrichtung 10 und einer anderen Kommunikationsvorrichtung 10 durch den Aktualisierungsabschnitt 22 der eigenen Kommunikationsvorrichtung 10 zurückgesetzt und initialisiert und der gemeinsame Schlüssel, der von den Kommunikationsvorrichtungen 10 geteilt wird, wird durch den Codeerzeugungsabschnitt 16 der eigenen Kommunikationsvorrichtung 10 aktualisiert und regeneriert.
-
Während des abnormalen Zustands, nachdem der Wert jedes Zählers 20 zurückgesetzt ist und der gemeinsame Schlüssel aktualisiert ist, bestimmt in dem CAN-Rahmen, der von der Sendekommunikationsvorrichtung 10 gesendet wird und durch den Empfangsabschnitt 12 der Empfangskommunikationsvorrichtung 10 empfangen wird, der Bestimmungsabschnitt 18 der Empfangskommunikationsvorrichtung 10, ob der erzeugte MAC mit dem empfangenen MAC übereinstimmt. Wenn bestimmt wird, dass der erzeugte MAC mit dem empfangenen MAC übereinstimmt, wechselt die Empfangskommunikationsvorrichtung 10 von dem abnormalen Zustand in den normalen Zustand.
-
Während des abnormalen Zustands in der Empfangskommunikationsvorrichtung 10 wird angenommen, dass eine Anzahl von Malen, die der Bestimmungsabschnitt 18 aufeinanderfolgend eine Diskrepanz zwischen den MACs bestimmt, gleich oder größer als eine vorbestimmte Anzahl von aufeinanderfolgenden Rücksetzungen und Aktualisierungen wird, obwohl der Sendeabschnitt 14 die Rücksetz- und Aktualisierungsanforderung sendet. Hierbei fordert die Rücksetz- und Aktualisierungsanforderung das Zurücksetzen des Werts des Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels an. In diesem Fall schätzt die Empfangskommunikationsvorrichtung 10, dass die Abnormalität durch den Fehler des Spezifizierens der Ursache von Diskrepanzen zwischen den MACs verursacht wird, und wechselt dann von dem abnormalen Zustand in einen Alarmzustand.
-
Die vorbestimmte Anzahl von aufeinanderfolgenden Rücksetzungen und Aktualisierungen wird unter Berücksichtigung einer durch Rauschen verursachten fehlerhaften Bestimmung im Bestimmungsabschnitt 18 auf einen geeigneten Wert gesetzt. Insbesondere wird die vorbestimmte Anzahl von aufeinanderfolgenden Rücksetzungen und Aktualisierungen so festgelegt, dass der Grund für Diskrepanzen zwischen den MACs geschätzt wird, dass die Abnormalität durch den Fehler des Spezifizierens der Ursache von Diskrepanzen zwischen den MACs verursacht wird. Eine vorbestimmte Anzahl von Gesamtrücksetzungen und Aktualisierungen, die nachfolgend beschrieben ist, wird aus dem gleichen Grund auf einen geeigneten Wert gesetzt.
-
Während des abnormalen Zustands wird für die Empfangskommunikationsvorrichtung 10 angenommen, dass eine Gesamtzahl von Malen, die der Bestimmungsabschnitt 18 eine Diskrepanz zwischen den MACs bestimmt, gleich oder größer als eine vorbestimmte Anzahl von gesamten Rücksetzungen und Aktualisierungen wird, obwohl der Sendeabschnitt 14 die Rücksetz- und Aktualisierungsanforderung sendet. Hierbei fordert die Rücksetz- und Aktualisierungsanforderung das Zurücksetzen des Werts des Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels an. In diesem Fall wechselt die Empfangskommunikationsvorrichtung 10 von dem abnormalen Zustand in den Alarmzustand. Die vorbestimmte Anzahl von gesamten Rücksetzungen und Aktualisierungen wird festgelegt, um größer als die vorbestimmte Anzahl von aufeinanderfolgenden Rücksetzungen und Aktualisierungen zu sein.
-
Wenn in den Alarmzustand gewechselt wird, speichert der Benachrichtigungsabschnitt 26 der Empfangskommunikationsvorrichtung 10 den Diagnosecode in dem Flash-Speicher. Hierbei gibt der Diagnosecode die Abnormalität an, dass die Ursache der Diskrepanz zwischen den MACs nicht spezifiziert werden kann. Der Diagnosecode, der die Abnormalität angibt, kann von einer anderen Kommunikationsvorrichtung 10 in Antwort auf eine von einer anderen Kommunikationsvorrichtung 10 gesendete Diagnoseanforderung ausgelesen werden. Die Abnormalität kann durch eine Anzeigevorrichtung, eine Beleuchtungsvorrichtung, eine Audiovorrichtung oder dergleichen mitgeteilt werden.
-
Wenn in den Alarmzustand umgeschaltet wird, kann der Benachrichtigungsabschnitt 26 die Benachrichtigung über die Abnormalität von dem Sendeabschnitt 14 an die Benachrichtigungskommunikationsvorrichtung 10 senden.
-
< Vorteile>
-
Die vorstehend beschriebene Ausführungsform kann die folgenden Vorteile bereitstellen.
-
(1) Es wird angenommen, dass die Anzahl von Malen, die der Bestimmungsabschnitt 18 aufeinanderfolgend die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl von aufeinanderfolgenden Diskrepanzen wird. In diesem Fall schätzt die Empfangskommunikationsvorrichtung 10, dass die Diskrepanz durch die Abweichung des Werts der Zähler 20 zwischen der Sendekommunikationsvorrichtung 10 und der Empfangskommunikationsvorrichtung 10 verursacht wird und der Sendeabschnitt 14 die Synchronisationsanforderung zum Synchronisieren der Zähler 20 sendet. Wenn bei dieser Konfiguration die Diskrepanz zwischen den MACs durch die Abweichung der Werte der Zähler 20 zwischen der Sendekommunikationsvorrichtung 10 und der Empfangskommunikationsvorrichtung 10 verursacht wird, kann die Ursache der Diskrepanz zwischen den MACs korrekt spezifiziert und gelöst werden, indem die Synchronisation jedes Zählers 20 am Sendeende und am Empfangsende als eine geeignete Prozedur angefordert wird.
-
(2) Wenn die Anzahl von Malen, die der Bestimmungsabschnitt 18 aufeinanderfolgend die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl aufeinanderfolgender Diskrepanzen wird, fordert die Empfangskommunikationsvorrichtung 10 die Synchronisation jedes Zählers 20 vor dem Anfordern der Aktualisierung des gemeinsamen Schlüssels an. Mit dieser Konfiguration kann die Ausführung der Aktualisierung des gemeinsamen Schlüssels, was eine längere Verarbeitungszeit als die Ausführung der Synchronisation jedes Zählers 20 erfordert, in höchstem Maße vermieden werden. Mit dieser Konfiguration kann das Kommunikationssystem, das eine geringe Verarbeitungskapazität aufweist, vorzugsweise die Aktualisierung des gemeinsamen Schlüssels vermeiden. Das Kommunikationssystem, das eine geringe Verarbeitungskapazität aufweist, kann das Kommunikationssystem beinhalten, in dem die Kommunikationsvorrichtung 10 mit einem fahrzeuginternen Netzwerk verbunden ist.
-
(3) Es wird als ein erster Fall angenommen, dass die Anzahl von Malen, die der Bestimmungsabschnitt 18 aufeinanderfolgend die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl von Synchronisationen wird, selbst wenn der Sendeabschnitt 14 die Synchronisationsanforderung zum Synchronisieren des Zählers 20 gesendet hat. Als ein zweiter Fall wird angenommen, dass die Gesamtzahl von Malen, die der Bestimmungsabschnitt 18 die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl von Gesamtdiskrepanzen wird, obwohl der Sendeabschnitt 14 die Synchronisationsanforderung zum Synchronisieren des Zählers 20 gesendet hat. In dem ersten Fall oder dem zweiten Fall schätzt die Empfangskommunikationsvorrichtung 10, dass der Grund der Diskrepanz zwischen den MACs durch die Abweichung von mindestens einem des gemeinsamen Schlüssels oder der Werte der Zähler 20 verursacht wird, und sendet die Rücksetz- und Aktualisierungsanforderung. Hier fordert die Rücksetz- und Aktualisierungsanforderung das Zurücksetzen des Werts jedes Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels an.
-
Wenn bei der vorstehend beschriebenen Konfiguration die Diskrepanz zwischen den MACs durch die Abweichung des gemeinsamen Schlüssels und/oder der Werte des Zählers 20 verursacht wird, kann die Ursache der Diskrepanz zwischen den MACs durch Anfordern des Zurücksetzens des Werts jedes Zählers 20 und der Aktualisierung des gemeinsamen Schlüssels als eine geeignete Prozedur gelöst werden.
-
(4) Während des abnormalen Zustands wird als ein erster Fall angenommen, dass die Anzahl von Malen, die der Bestimmungsabschnitt 18 fortlaufend die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl von aufeinanderfolgenden Rücksetzungen und Aktualisierungen ist, obwohl der Sendeabschnitt 14 die Rücksetz- und Aktualisierungsanforderung gesendet hat. Während des abnormalen Zustands wird als ein zweiter Fall angenommen, dass die Gesamtzahl von Malen, die der Bestimmungsabschnitt 18 die Diskrepanz zwischen den MACs bestimmt, gleich oder größer als die vorbestimmte Anzahl von gesamten Rücksetzungen und Aktualisierungen wird, obwohl der Sendeabschnitt 14 die Rücksetz- und Aktualisierungsanforderung gesendet hat. Hier fordert die Rücksetz- und Aktualisierungsanforderung das Zurücksetzen des Werts jedes Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels an. Im ersten oder zweiten Fall stellt die Empfangskommunikationsvorrichtung 10 den Diagnosecode ein, der die Abnormalität angibt, oder sendet ein Signal, das die Abnormalität angibt, an die Benachrichtigungskommunikationsvorrichtung 10. Mit dieser Konfiguration kann die Abnormalität mitgeteilt werden.
-
< Andere Ausführungsformen>
-
(1) In der vorstehend beschriebenen Ausführungsform, die verschiedenen Bedingungen entspricht, die die Diskrepanz der MACs angeben, wird entweder die Synchronisationsanforderung für den Zähler 20 oder die Rücksetz- und Aktualisierungsanforderung ausgeführt. Hierbei fordert die Rücksetz- und Aktualisierungsanforderung das Zurücksetzen des Wertes des Zählers 20 und das Aktualisieren des gemeinsamen Schlüssels an. Alternativ kann nur die Synchronisationsanforderung für den Zähler 20 entsprechend den verschiedenen Bedingungen ausgeführt werden, die die Diskrepanz der MACs angeben.
-
(2) In der vorstehend beschriebenen Ausführungsform sind die Daten und der MAC in das gleiche Datenfeld des CAN-Rahmens gesetzt. Alternativ können die Daten und der MAC in verschiedene CAN-Rahmen gesetzt werden.
-
Die Sendekommunikationsvorrichtung 10 kann die Daten, den MAC und einen Wert von mindestens niedrigen Bits des eigenen Zählers 20 in dem Datenfeld des CAN-Rahmens setzen, der zu der Empfangskommunikationsvorrichtung 10 gesendet wird. In dieser Konfiguration kann die Empfangskommunikationsvorrichtung 10 niedrige Bits des Werts des eigenen Zählers 20 in die niedrigen Bits des Werts des Zählers 20 der Sendekommunikationsvorrichtung 10, die in dem empfangenen CAN-Rahmen beinhaltet sind, umschreiben.
-
(3) In jeder Ausführungsform kann eine Funktion eines Elements auf mehrere Elemente verteilt werden und eine Funktion mehrerer Elemente kann in einem Element integriert werden. In jeder Ausführungsform kann ein Teil einer Konfiguration weggelassen werden. Wenigstens ein Teil einer vorstehend beschriebenen Konfiguration in einer Ausführungsform kann zu einer anderen Ausführungsform hinzugefügt werden oder kann die entsprechende Konfiguration in einer anderen Ausführungsform ersetzen.
-
(4) Verschiedene Arten anderer Ausführungsformen außer der vorstehend beschriebenen Kommunikationsvorrichtung 10 können implementiert werden. Zum Beispiel kann ein Kommunikationssystem 2 mit der Kommunikationsvorrichtung 10, ein Kommunikationsprogramm, das von einem Computer ausgeführt wird, um als die Kommunikationsvorrichtung 10 zu fungieren, ein Speichermedium, das das Kommunikationsprogramm speichert, oder ein Kommunikationsverfahren als die verschiedenen Ausführungsformen bereitgestellt werden.
-
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 2015157232 [0002]
- JP 2013098719 A [0007]