-
Technisches Gebiet
-
Die vorliegende Erfindung betrifft ein fahrzeugbasiertes Netzwerksystem.
-
Stand der Technik
-
In den letzten Jahren wurden Autos, Lastkraftwägen oder Busse mit einer Vielzahl von fahrzeugbasierten ECUs (elektronischen Steuereinheiten) zur Steuerung der jeweiligen Funktionseinheiten ausgestattet. Die ECUs werden jeweils über fahrzeugbasierte Netzwerke miteinander verbunden, um zusammenzuarbeiten.
-
Normalerweise werden Steuerprogramme in einer fahrzeugbasierten ECU in Speichereinheiten wie beispielsweise Flash ROMs (Read Only Memory) von Mikrocomputern gespeichert, die in die fahrzeugbasierte ECU eingebettet sind. Die Versionen der Steuerprogramme werden von den Herstellern verwaltet und durch die Kombination formaler Software-Versionen soll gewährleistet werden, dass die einzelnen Funktionen der ECU und die Zusammenarbeit über das fahrzeugbasierte Netzwerk richtig arbeiten.
-
Aus Sicherheitsgründen kann daher nicht darüber hinweggesehen werden, wenn fahrzeugbasierte ECUs mit unerwünschter Software oder gezielt gefälschte fahrzeugbasierte ECUs mit dem fahrzeugbasierten Netzwerk verbunden werden.
-
Eine Authentifizierung soll die Authentizität der jeweiligen fahrzeugbasierten ECUs selbst bestätigen oder die Authentizität aller verwendeten fahrzeugbasierten ECUs. Wenn die Authentifikation erfolgreich ist, wird bewiesen, dass geeignete und vom Hersteller gewünschte Programme kombiniert werden und dass die gewünschten Steuerungen durchgeführt werden.
-
Die unten aufgelistete Patentliteratur 1 beschreibt ein Verfahren, in welchem: ein gemeinsamer Schlüssel oder eine Erzeugungsquelle für den gemeinsamen Schlüssel unter mehreren fahrzeugbasierten ECUs geteilt wird und die oben genannte Authentifikation abhängig davon ausgeführt wird, ob diejenigen ECUs, die die gemeinsame Schlüsselinformation teilen sollen, miteinander eine verschlüsselte Kommunikation aufbauen können.
-
Die unten aufgelistete Patentliteratur 2 beschreibt ein Verfahren zum Verteilen eines gemeinsamen Schlüssels, welches ein KPS (Key Predistribution System)-Schema verwendet. Dieses Schema kann in Patentliteratur 1 als das gemeinsame Schlüsselerzeugungsverfahren verwendet werden.
-
Zitateliste
-
Patentliteratur
-
- Patentliteratur 1: JP Patent-Offenlegungsschrift (Kokai) Nr. 2010-011400 A
- Patentliteratur 2: JP Patent-Offenlegungsschrift (Kokoku) Nr. H05-048980 B (1993)
-
Zusammenfassung der Erfindung
-
Technisches Problem
-
In der oben angegebenen Patentliteratur 1 wird zum Teilen des gemeinsamen Schlüssels oder der Erzeugungsquelle für den gemeinsamen Schlüssel unter mehreren ECUs eine externe Infrastruktur wie ein Zentralserver benötigt. Zudem wird eine hohe Rechenleistung benötigt, wenn die verschlüsselte Kommunikation erfolgt, da die Authentifizierung durch das Erzeugen von verschlüsselter Kommunikation zwischen fahrzeugbasierten ECUs erreicht wird. Im Folgenden werden diese beiden technischen Probleme detailliert beschrieben.
-
Den Zentralserver betreffend
-
Sammeln von Informationen
-
Ein Zentralserver ist ein externer Server, in welchem sämtliche Schlüsselinformationen gesammelt werden. Jede der fahrzeugbasierten ECUs, die ein fahrzeugbasiertes Netzwerk bilden, muss zum Erhalten der Schlüsselinformationen eine Verbindung zu dem Zentralserver herstellen. Da die gesamte Schlüsselinformation in dem Zentralserver gesammelt wird, kann das gesamte System beschädigt werden, wenn die Kommunikation zwischen den fahrzeugbasierten ECUs und dem Zentralserver unterbrochen wird, falls der Zentralserver angegriffen wird oder falls ein böswilliger Dritter vortäuscht, der Zentralserver zu sein.
-
Kommunikation mit dem Zentralserver
-
Die Erzeugungsquelle für den mittels des KPS-Schemas verteilten gemeinsamen Schlüssel wird für die Kommunikation zwischen den ECUs verwendet, welche dem fahrzeugbasierten Netzwerk beitreten. Um sicher miteinander kommunizieren zu können, ist es daher notwendig, in einem Initialisierungsprozess die Erzeugungsquelle für den gemeinsamen Schlüssel von dem Zentralserver abzurufen. In solch einem Prozess muss anstelle der für jede der ECUs einzigartigen Verschlüsselungscodes von den ECUs ein vorgegebener Verschlüsselungscode zur Kommunikation mit dem Zentralserver verwendet werden. Der Grund dafür ist, das fahrzeugbasierte ECUs Massenprodukte von Bauteileherstellern sind und an Montagewerke ausgeliefert werden, so dass es unvermeidlich ist, dass verschiedene Verschlüsselungscodes für den Initialisierungsprozess für die jeweiligen Autotypen, eindeutige Bauteilnummern oder Lieferungen mit der gleichen ID vorgegeben sind. Wenn der Verschlüsselungscode vorgegeben ist, ist es für böswillige Dritte einfach, die Kommunikation zwischen ECUS und dem Zentralserver abzuhören und diese dann dazu zu verwenden, den Initialisierungsschlüssel illegal zu ermitteln. Wenn der Initialisierungsschlüssel illegal ermittelt wurde, kann auch Information in dem Zentralserver illegal ermittelt werden. Zudem kann ein irreführender gemeinsamer Schlüssel an die ECUS verteilt werden, um die Kommunikation mit anderen fahrzeugbasierten ECUS zu unterbrechen.
-
Aspekt der verschlüsselten Kommunikation
-
Die in Patentliteratur 1 beschriebe Technik benötigt eine Rechenleitungs-Ressource, welche den Schlüssel der Kommunikationsempfängeradresse aufgrund des KSP-Schemas ermittelt und eine Rechenleistungs-Ressource, welche eine Verschlüsselung mit einem gemeinsamen Schlüssel durchführt (beispielsweise eine Verschlüsselung mittels DES: Data Encryption Standard Schema), um mittels des gewonnenen Schlüssels eine verschlüsselte Kommunikation durchzuführen. Diese Prozesse benötigen für die Leistungsfähigkeit bestehender fahrzeugbasierter ECUS (beispielsweise die Rechenleistung von CPU, Kapazität von ROM/RAM) sehr große Rechenleistungs-Ressourcen. Um die in der Patentliteratur 1 beschriebene verschlüsselte Kommunikation erreichen zu können, ist daher eine Kostenerhöhung der fahrzeugbasierten ECUS unvermeidlich.
-
Bei der Auslegung bestehender fahrzeugbasierter ECUS werden die Kosteneinsparungen jeder ECU und ihrer Bauteile aufsummiert, um die Preisstrategie des gesamten Automobilsystems erfüllen zu können. Der Anstieg der Kosten in diesen Bauteilen nur für die Aufgabe der Authentifizierung der fahrzeugbasierten ECUS ist daher nicht akzeptabel.
-
Die JP 2007-1 53 021 A beschreibt ein Verfahren, in dem ECUs einen Tester für Software-Updates authentifizieren.
-
Die JP 2010-1 03 693 A beschreibt ein Verfahren zum Empfangen von Kommunikationsparametern, insbesondere Schlüssel für Verschlüsselung und Authentifizierung, in WLAN-Netzen.
-
Die
US 2006/0 115 085 A1 beschreibt ein Verfahren zur Verteilung von Kommunikationsschlüsseln an ECUs.
-
Die
US 2011/0 083 161 A1 beschreibt ein Verfahren, in dem sich ein Wartungsgerät bei einem Authentifizierungsmodul authentifiziert, um Zugriff auf ECUs zu erhalten.
-
Die vorliegende Erfindung wurde gemacht, um das oben beschriebene technische Problem zu lösen und es ist eine Aufgabe der vorliegenden Erfindung, ein fahrzeugbasiertes Netzwerk bereitzustellen, welches die Funktionen der Durchführung einer Authentifizierung hat, während ein Ansteigen von Prozessbelastungen (und Kosten) der jeweiligen fahrzeugbasierten Steuereinheit vermieden wird, um so die Sicherheit des Automobils zu verbessern.
-
Lösung des Problems
-
Das fahrzeugbasierte Netzwerksystem nach der vorliegenden Erfindung umfasst eine Konfigurations-Verwaltungsvorrichtung zum Authentifizieren fahrzeugbasierter Steuereinheiten, wobei die Konfigurations-Verwaltungsvorrichtung über eine Registrierungs-Vorrichtung, welche mit einem fahrzeugbasierten Netzwerk verknüpft ist, für die Authentifizierung verwendete Bestätigungsdaten an die fahrzeugbasierten Steuereinheiten verteilt.
-
Vorteilhafte Wirkungen der Erfindung
-
In dem fahrzeugbasierten Netzwerksystem nach der vorliegenden Erfindung ist die die fahrzeugbasierten Steuereinheiten authentifizierende Konfigurations-Verwaltungsvorrichtung innerhalb des fahrzeugbasierten Netzwerks angeordnet, so dass es nicht notwendig ist, die fahrzeugbasierte Schlüsselinformation außerhalb des Autos bereitzuhalten. Es ist daher nicht notwendig, mittels unsicherer Kommunikationsschemata mit externen Vorrichtungen zu kommunizieren, wodurch die Sicherheit erhöht wird. Zudem muss die Registrierungs-Vorrichtung nicht permanent mit dem fahrzeugbasierten Netzwerk verbunden sein. Beim Registrieren neuer fahrzeugbasierter Steuereinheiten kann ein Benutzer daher die Registrierungs-Vorrichtung von Hand an das fahrzeugbasierte Netzwerk anschließen. Die Kosten des fahrzeugbasierten Netzwerks selbst steigen daher selbst dann nicht an, wenn die Rechenleitung der Registrierungs-Vorrichtung vergrößert wird. So kann ein robustes Authentifizierungsschema zwischen der Registrierungs-Vorrichtung und der Konfigurations-Verwaltungsvorrichtung verwendet werden. Dadurch werden die Kosten des fahrzeugbasierten Netzwerks insgesamt verringert, während die Sicherheit erhöht wird.
-
Figurenliste
-
- 1 ist ein Konfigurations-Diagramm eines fahrzeugbasierten Netzwerksystems 1000 nach einem Ausführungsbeispiel 1.
- 2 ist ein Diagramm, welches eine Sequenz einer Konfigurations-Verwaltungsvorrichtung 103 zum Authentifizieren einer Registrierungs-Vorrichtung 102 zeigt.
- 3 ist ein Konfigurationsbeispiel eines fahrzeugbasierten Netzwerks, wie es in Patentliteratur 1 beschrieben ist.
- 4 ist ein Konfigurations-Diagramm eines fahrzeugbasierten Netzwerksystems 1000 nach einem Ausführungsbeispiel 2.
- 5 ist ein Diagramm, welches eine Anordnung zeigt, in welchem Bestätigungsinformation (ein gemeinsamer Schlüssel) zwischen der Konfigurations-Verwaltungsvorrichtung 103 und einer Ziel-ECU 101 geteilt wird.
- 6 ist ein Diagramm, welches ein Verfahren zum Erzeugen eines Authentifizierungsschlüssels (gemeinsamen Schlüssels) für die Konfigurations-Verwaltungsvorrichtung zeigt.
- 7 ist ein Sequenz-Diagramm, welches einen Prozess zum Authentifizieren der Ziel-ECU 101 für die Konfigurations-Verwaltungsvorrichtung 103 zeigt.
- 8 ist ein Sequenz-Diagramm, welches einen weiteren Prozess zum Authentifizieren der Ziel-ECU 101 für die Konfigurations-Verwaltungsvorrichtung 103 zeigt.
- 9 ist ein Fluss-Diagramm, welches einen in der Konfigurations-Verwaltungsvorrichtung 103 ausgeführten Prozess zeigt.
- 10 ist ein Fluss-Diagramm, welches einen in der Ziel-ECU 101 ausgeführten Prozess zeigt.
- 11 ist ein Diagramm, welches ein Betriebsbeispiel zeigt, das in den Ausführungsbeispielen 1 bis 3 beschriebene Authentifizierungsverfahren für eine andere Anwendung als für die Authentifizierung verwendet wird.
- 12 ist ein Diagramm, welches ein Beispiel für eine Netzwerk-Topologie eines fahrzeugbasierten Netzwerks zeigt, welches in beispielhaften neueren hochfunktionalen Automobilen enthalten ist.
-
Beschreibung von Ausführungsbeispielen
-
Ausführungsbeispiel 1
-
1 ist ein Aufbau-Diagramm eines fahrzeugbasierten Netzwerksystems 1000 nach einem Ausführungsbeispiel 1 der vorliegenden Erfindung. Das fahrzeugbasierte Netzwerksystem 1000 ist ein fahrzeugbasiertes Netzwerksystem, welches ECUs miteinander verbindet, welche den Betrieb des Automobils steuern. In der Figur ist als Ziel der Steuerung nur eine Ziel-ECU 101 dargestellt. Es können jedoch auch andere ECUs mit dem fahrzeugbasierten Netzwerksystem 1000 verknüpft sein.
-
Die Ziel-ECU 101 und ein Konfigurations-Verwaltungsserver 103 sind über ein fahrzeugbasiertes Netzwerk mit dem fahrzeugbasierten Netzwerksystem 1000 verbunden. Zudem ist, um einen Beitritt der Ziel-ECU 101 zu dem fahrzeugbasierten Netzwerk zu ermöglichen, eine Netzwerk-Registrierungsvorrichtung 102 solange wie nötig mit dem fahrzeugbasierten Netzwerksystem 1000 verbunden.
-
Der Konfigurations-Verwaltungsserver 103 ist eine Vorrichtung, die mit der Ziel-ECU 101 und der Netzwerk-Registrierungsvorrichtung 102 über das fahrzeugbasierte Netzwerk kommunizieren kann. Der Konfigurations-Verwaltungsserver 103 kann als eine ECU oder als eine andere Art von Kommunikationsvorrichtung aufgebaut sein. Der Konfigurations-Verwaltungsserver 103 authentifiziert die Ziel-ECU 101 und die Netzwerk-Registrierungsvorrichtung. Das Ziel der Authentifikation der Ziel-ECU 101 ist es, zu überprüfen, ob die Ziel-ECU 101 eine gültige Autorisation zum Beitritt zum fahrzeugbasierten Netzwerk aufweist. Das Ziel der Authentifikation der Netzwerk-Registrierungsvorrichtung 102 ist es, zu überprüfen, ob die Netzwerk-Registrierungsvorrichtung 102 eine gültige Autorisation hat, der Ziel-ECU 101 den Beitritt zum fahrzeugbasierten Netzwerk zu erlauben.
-
Die Netzwerk-Registrierungsvorrichtung 102 ist eine Vorrichtung, die der Ziel-ECU 101 den Beitritt zu dem fahrzeugbasierten Netzwerk erlaubt. Um der Ziel-ECU 101 den Beitritt zum fahrzeugbasierten Netzwerk zu erlauben werden zur Kommunikation mit anderen ECUs über das fahrzeugbasierte Netzwerk benötigte Bestätigungsdaten für die Ziel-ECU 101 an die Ziel-ECU 101 verteilt. Um durch die Netzwerk-Registrierungsvorrichtung 102 den Zutritt der Ziel-ECU 101 zu dem fahrzeugbasierten Netzwerk zu erlauben, ist es nötig, dass die Netzwerk-Registrierungsvorrichtung 102 im Vorhinein durch den Konfigurations-Verwaltungsserver 103 authentifiziert wurde. Die Netzwerk-Registrierungsvorrichtung 102 muss nicht notwendigerweise dauernd mit dem fahrzeugbasierten Netzwerk verbunden sein. Beispielsweise kann die Netzwerk-Registrierungsvorrichtung 102 während der Herstellung des fahrzeugbasierten Netzwerksystems 1000 in dem Automobil-Herstellungsprozess von Hand nur dann mit dem fahrzeugbasierten Netzwerk verbunden werden, wenn Aufgaben ausgeführt werden, in welchen der Zutritt der Ziel-ECU 101 zu dem fahrzeugbasierten Netzwerk erlaubt wird.
-
Im Folgenden wird bezugnehmend auf 1 der Vorgang beschrieben, in dem die Netzwerk-Registrierungsvorrichtung 102 den Zutritt der Ziel-ECU 101 zu dem fahrzeugbasierten Netzwerk erlaubt.
-
(Fig. 1: Schritt S111: Authentifizierungs-Anfrage)
-
Ein Benutzer betätigt die Netzwerk-Registrierungsvorrichtung 102, um die Aufgabe (den Registrierungsprozess) zu starten, in welcher der Zutritt der Ziel-ECU 101 zu dem fahrzeugbasierten Netzwerk erlaubt wird. Die Netzwerk-Registrierungsvorrichtung 102 erbittet nach dem Start des Registrierungsvorgangs beim Konfigurations-Verwaltungsserver 103 über das fahrzeugbasierte Netzwerk die Authentifikation der Netzwerk-Registrierungsvorrichtung 102.
-
(Fig. 1: Schritt S111: Authentifizierungs-Anfrage: Zusatzbemerkung)
-
Während der Ausgabe der Authentifizierungs-Anfrage an den Konfigurations-Verwaltungsserver 103 übermittelt die Netzwerk-Registrierungsvorrichtung 102 Identifikationsinformation (deren Details im Zusammenhang mit 5 später beschrieben werden) der Ziel-ECU 101 zum Beitritt zum fahrzeugbasierten Netzwerk an den Konfigurations-Verwaltungsserver 103. Beispiele für die Identifikationsinformation können beispielsweise eine ECU-ID (Bauteilnummer) oder Software-Versionen sein. Die Identifikationsinformation kann von Benutzer händisch eingegeben werden, beispielsweise unter Verwendung der Netzwerk-Registrierungsvorrichtung 102.
-
(Fig. 1: Schritt S112: Verteilen des Bestätigungs-Schlüssels)
-
Der Konfigurations-Verwaltungsserver 103 authentifiziert nach dem Empfang der Authentifizierungs-Anfrage von der Netzwerk-Registrierungsvorrichtung 103 die Netzwerk-Registrierungsvorrichtung 102 gemäß einem vorgegebenen Authentifizierungs-Algorithmus (dessen Details später im Zusammenhang mit 2 beschreiben werden). Wenn die Authentizität der Netzwerk-Registrierungsvorrichtung 102 bestätigt wird, aktualisiert der Konfigurations-Verwaltungsserver 103 eine interne Datenbank (welche später bezugnehmend auf 5 beschrieben wird), wobei er die von der Netzwerk-Registrierungsvorrichtung 102 in Rahmen der Authentifizierungs-Anfrage empfangene Information verwendet, erzeugt einen Bestätigungs-Schlüssel (gemeinsamen Schlüssel) (dessen Details werden später zu 6 beschrieben), welcher die Ziel-ECU 101 eindeutig bestimmt, und verteilt diesen an die Netzwerk-Registrierungsvorrichtung 102.
-
(Fig. 1: Schritt S113: Schlüssel-Speicherungsbefehl)
-
Die Netzwerk-Registrierungsvorrichtung 102 übergibt den für die Ziel-ECU 101 eindeutigen Bestätigungs-Schlüssel (gemeinsamen Schlüssel), welcher von dem Konfigurations-Verwaltungsserver 103 verteilt wurde, an die Ziel-ECU 101 und befiehlt der Ziel-ECU 101, diesen zu speichern.
-
(Fig. 1: Schritt S114: Speichern abgeschlossen Benachrichtigung)
-
Die Ziel-ECU 101 speichert in ihrer eigenen Speichereinheit den in Schritt S113 empfangenen Bestätigungs-Schlüssel (gemeinsamen Schlüssel), der für die Ziel-ECU 101 eindeutig ist. Die Ziel-ECU 101 benachrichtigt die Netzwerk-Registrierungsvorrichtung 102, dass die Ziel-ECU 101 dem fahrzeugbasierten Netzwerk korrekt beigetreten ist.
-
(Fig. 1: Schritt S 115: Bestätigungs-Anfrage)
-
Der Konfigurations-Verwaltungsserver 103 geht davon aus, dass der über die Netzwerk-Registrierungsvorrichtung 102 im Schritt S112 verteilte Bestätigungs-Schlüssel (gemeinsamer Schlüssel) in der Ziel-ECU 101 gespeichert wird. Aufgrund dieser Annahme bittet der Konfigurations-Verwaltungsserver 103 die Ziel-ECU 101, die Authentizität der Ziel-ECU 101 zu beweisen.
-
(Fig. 1: Schritt S 115: Bestätigungs-Antwort)
-
Die Ziel-ECU 101 antwortet dem Konfigurations-Verwaltungsserver 103 aufgrund der gemeinsamen Kenntnis des Bestätigungs-Schlüssels (gemeinsamen Schlüssels), um die Authentizität der Ziel-ECU 101 nachzuweisen.
-
(Fig. 1: Schritt S115: Bestätigungs-Antwort: Zusatzbemerkung)
-
Die Bestätigungs-Anfrage und die Antwort in den Schritten S115-S116 sollten zwischen dem Konfigurations-Verwaltungsserver 103 und der Ziel-ECU 101 ausgetauscht werden. Im Gegensatz zu den in 1 dargestellten Pfeilrichtungen in Schritten S115 und S116 kann daher die Ziel-ECU 101 auch die Bestätigung beim Konfigurations-Verwaltungsserver 103 erfragen und der Konfigurations-Verwaltungsserver 103 kann auf diese Anfrage antworten. Zudem kann die bidirektionale Kommunikation kombiniert werden. Insbesondere kann die Ziel-ECU 101 die Bestätigung bei dem Konfigurations-Verwaltungsserver 103 anfragen, bevor die Ziel-ECU 101 ihre Bestätigung beim Konfigurations-Verwaltungsserver 103 nachweist, so dass die Authentizität des Konfigurations-Verwaltungsservers 103 überprüft wird, bevor die Antwort zur Authentizität der Ziel-ECU 101 beim Konfigurations-Verwaltungsserver 103 nachgewiesen wird, so dass ein wechselseitiges Händeschütteln erfolgt.
-
Ausführungsbeispiel 1: Authentifizieren der Netzwerk-Registrierungsvorrich tung
-
2 ist ein Diagramm, welches eine Sequenz zum Authentifizieren der Netzwerk-Registrierungsvorrichtung 102 durch den Konfigurations-Verwaltungsserver 103 darstellt. Die Authentifizierungs-Sequenz aus 2 zeigt Details aus Schritt S111 in 1. Ein Verfahren zum Authentifizieren der Netzwerk-Registrierungsvorrichtung 102, welches eine auf einer öffentlichen Schlüssel-Infrastruktur basierende digitale Signatur verwendet, wird als Beispiel dargestellt. Andere Authentifizierungsschemata wie beispielsweise eine Aufforderungs-Antwort-Authentifizierung können jedoch ebenfalls verwendet werden. Es sei bemerkt, dass ein Paar aus einem öffentlichen Schlüssel und einem geheimen Schlüssel für die Netzwerk-Registrierungsvorrichtung 102 erzeugt wird und der öffentliche Schlüssel im Voraus an den Konfigurations-Verwaltungsserver 103 ausgegeben wird. Im Folgenden wird jeder Schritte aus 2 beschrieben.
-
(Fig. 2: Schritt S201)
-
Vor dem Registrieren der Ziel-ECU 101 in dem fahrzeugbasierten Netzwerk wie beispielsweise in einem Zeitpunkt, in welchem die Netzwerk-Registrierungsvorrichtung 102 anfänglich mit dem fahrzeugbasierten Netzwerk verbunden wird, erfragt die Netzwerk-Registrierungsvorrichtung 102 beim Konfigurations-Verwaltungsserver 103 eine Authentifizierung der Netzwerk-Registrierungsvorrichtung 102 als legitimes Terminal. Die Netzwerk-Registrierungsvorrichtung 102 übermittelt ihren eigenen Identifikationscode (oder ähnliche Information) gemeinsam mit der Anfrage, um dem Konfigurations-Verwaltungsserver 103 die die Netzwerk-Registrierungsvorrichtung 102 eindeutig bezeichnende Information zu übermitteln.
-
(Fig. 2: Schritt S201: Zusatzbemerkung)
-
Ein „legitimes Terminal“ in diesem Schritt bedeutet eine Garantie, dass die Netzwerk-Registrierungsvorrichtung 102 ein von dem Hersteller des Autos authentifiziertes Terminal ist, das die Netzwerk-Registrierungsvorrichtung 102 nicht falsifiziert ist oder das die Netzwerk-Registrierungsvorrichtung 102 nicht durch ein anderes Gerät vorgetäuscht wird. Insbesondere ist ein legitimes Terminal ein Terminal, das eine gültige Erlaubnis hat, der Ziel-ECU 101 den Zutritt zum fahrzeugbasierten Netzwerk zu erlauben.
-
(Fig. 2: Schritte S202-S203)
-
Der Konfigurations-Verwaltungsserver 103 beginnt mit einer Authentifizierung (S202). Insbesondere erzeugt der Konfigurations-Verwaltungsserver 103 mittels Pseudozufallszahlen einen Seed-Code und übermittelt den Seed-Code an die Netzwerk-Registrierungsvorrichtung 102 (S203). Zudem spezifiziert der Konfigurations-Verwaltungsserver 103 den der Netzwerk-Registrierungsvorrichtung 102 entsprechenden öffentlichen Schlüssel, wobei er den von der Netzwerk-Registrierungsvorrichtung 102 im Schritt S 201 empfangenen Identifikationscode verwendet.
-
(Fig. 2: Schritte S204-S205)
-
Die Netzwerk-Registrierungsvorrichtung 102 signiert mit ihrem eigenen geheimen Schlüssel den in Schritt S203 von dem Authentifizierungs-Server empfangen Seed-Code (S204). Die Netzwerk-Registrierungsvorrichtung 102 sendet den signierten Code an den Konfigurations-Verwaltungsserver 103 (S205).
-
(Fig. 2: Schritt S206)
-
Der Konfigurations-Verwaltungsserver 103 liest den in Schritt S202 spezifizierten öffentlichen Schlüssel aus und entziffert den von der Netzwerk-Registrierungsvorrichtung 102 in Schritt S205 empfangenen signierten Code mittels des öffentlichen Schlüssels. Der Konfigurations-Verwaltungsserver 103 vergleicht das entschlüsselte Ergebnis mit dem in Schritt S203 an die Netzwerk-Registrierungsvorrichtung 102 übermittelten Seed-Code. Wenn beide einander entsprechen, wird entschieden, dass die Netzwerk-Registrierungsvorrichtung 102 ein legitimes Terminal ist. Wenn die beiden einander nicht entsprechen, wird die Netzwerk-Registrierungsvorrichtung 102 nicht authentifiziert.
-
(Fig. 2: Schritte S207-S208)
-
Der Konfigurations-Verwaltungsserver 103 sendet an die Netzwerk-Registrierungsvorrichtung 102 eine Bestätigungsantwort, die angibt, dass der Authentifizierungsvorgang beendet ist (S207). Die Netzwerk-Registrierungsvorrichtung 102 benachrichtigt den Konfigurations-Verwaltungsserver 103 über {ECU-ID, Software-Version} der Ziel-ECU 101, die dem fahrzeugbasierten Netzwerk beitreten soll (S208).
-
Ausführungsbeispiel 1: Zusammenfassung
-
Wie bisher erläutert verteilt in dem fahrzeugbasierten Netzwerksystem 1000 nach dem Ausführungsbeispiel 1 der Konfigurations-Verwaltungsserver 103 den Bestätigungs-Schlüssel (gemeinsamen Schlüssel) über die Netzwerk-Registrierungsvorrichtung 102, deren Authentizität streng überprüft werden kann, an die Ziel-ECU 101. Die Ziel-ECU 101 kann daher den Bestätigungs-Schlüssel (gemeinsamen Schlüssel) einfach teilen, ohne hochkomplexe Rechnungen wie beispielsweise ein KPS-Schema durchzuführen, die eine große Menge Rechenkraft-Resourcen verschlingen. Die Kosten der ECU können daher verringert werden, während gleichzeitig die Sicherheit des fahrzeugbasierten Netzwerks erhöht werden kann.
-
Zudem ist in dem fahrzeugbasierten Netzwerksystem 1000 nach dem Ausführungsbeispiel 1 die Netzwerk-Registrierungsvorrichtung 102 nicht notwendigerweise dauernd an das fahrzeugbasierte Netzwerksystem 1000 angeschlossen. Die Netzwerk-Registrierungsvorrichtung 102 kann daher so ausgelegt werden, dass sie eine von dem fahrzeugbasierten Netzwerksystem 1000 unabhängigen Hochleistungsvorrichtung nutzt. Die Kosten der das fahrzeugbasierte Netzwerksystem 1000 bildenden ECUs können daher verringert werden, während gleichzeitig ein robuster Authentifizierungsvorgang zwischen dem Konfigurations-Verwaltungsserver 103 und der Netzwerk-Registrierungsvorrichtung 102 ausgeführt wird. Ein Authentifizierungsverfahren, welches robuster als der Authentifizierungsvorgang zwischen dem Konfigurations-Verwaltungsserver 103 und der Ziel-ECU 101 ist, kann für den Authentifizierungsprozess zwischen dem Konfigurations-Verwaltungsserver 103 und der Netzwerk-Registrierungsvorrichtung 102 verwendet werden. Insbesondere kann die Leistungsfähigkeit der Netzwerk-Registrierungsvorrichtung 102 höher sein als diejenige der Ziel-ECU 102, so dass ein robuster Authentifizierungsvorgang durchgeführt werden kann, der viele Resourcen benötigt.
-
Zudem ist in dem fahrzeugbasierten Netzwerksystem 1000 nach dem Ausführungsbeispiel 1 der Konfigurations-Verwaltungsserver 103 zum Authentifizieren der Ziel-ECU 101 und der Netzwerk-Registrierungsvorrichtung 102 in dem fahrzeugbasierten Netzwerk angeordnet. Es ist daher nicht nötig, dass jede dieser Vorrichtungen mit externen Vorrichtungen außerhalb des Autos kommuniziert, um eine Authentifizierung durchzuführen, wodurch die Sicherheit erhöht wird. Ferner können die Resourcen für die Authentifizierung in dem Konfigurations-Verwaltungsserver 103 gesammelt werden, um so die Kosten der anderen ECUs zu verringern.
-
Ausführungsbeispiel 2
-
In einem Ausführungsbeispiel 2 der vorliegenden Erfindung wird ein spezielles Konfigurationsbeispiel des fahrzeugbasierten Netzwerksystems 1000 beschrieben, wie es in Ausführungsbeispiel 1 beschrieben wurde.
-
Im Folgenden wird das fahrzeugbasierte Netzwerksystem 1000 nach dem Ausführung 2 mit dem herkömmlichen Beispiel (3) verglichen, wie es in Patentliteratur 1 beschreiben wurde, um die Unterschiede zwischen beiden Aufbauten und Sicherheitsniveaus zu erläutern.
-
Ausführungsbeispiel 2: herkömmliches Beispiel
-
3 ist ein Diagramm, welches ein Konfigurationsbeispiel des in Patentliteratur 1 beschriebenen fahrzeugbasierten Netzwerks zeigt. 3 dient dem Vergleich mit dem Ausführungsbeispiel 2. In 3 gibt es in einem fahrzeugbasierten Netzwerk 202 einen ECU-Master 105. Der ECU-Master 105 hat für jedes Fahrzeug Identifizierungsnummern {car ID}.
-
Der ECU-Master 105 erbittet beim Durchführen eines Initialisierungsvorgangs bei dem außerhalb des fahrzeugbasierten Netzwerks 202 installierten Zentralserver 203 die Ausgabe der Erzeugungsquelle für den gemeinsamen Schlüssel, wobei ein car IC, ECU-ID und Software-Version umfassendes Informationsset verwendet wird (Schritt S311). Die ECU-ID ist ein Identifikator des ECU-Masters 105. Die Software-Version ist die Version einer Software, mit welcher der ECU-Master 105 ausgestattet ist.
-
Der Zentralserver 203 gibt als Reaktion auf die Anfrage die Erzeugungsquelle für den gemeinsamen Schlüssel aus (Schritt S312). Diese Kommunikation ist verschlüsselt, wobei ein fest in dem ECU-Master 105 vorab konfigurierter Initialisierungs-Schlüssel verwendet wird (externe Kommunikation F221).
-
Die von dem Zentralserver 203 herausgegebene Erzeugungsquelle für den gemeinsamen Schlüssel ist eine „Informationsquelle zur Abhaltung gemeinsamer Schlüssel“, die nur für die Kommunikation zwischen ECUs verwendet wird, die zu dem fahrzeugbasierten Netzwerk 202 gehören.
-
Die zu einem anderen fahrzeugbasierten Netzwerk als demjenigen des ECU-Masters 105 gehörende Ziel-ECU 101 ermittelt von dem ECU-Master 105 die car-ID. In diesem Zeitpunkt hat die Ziel-ECU 101 noch nicht die Erzeugungsquelle für den gemeinsamen Schlüssel ermittelt, so dass die Ziel-ECU 101 ohne Verschlüsselung mit dem ECU-Master 105 kommuniziert (Schritt S313).
-
Die Ziel-ECU 101 stellt das Set aus car-ID, ECU-ID, Software-Version mittels der von dem ECU-Master 105 empfangenen car-ID zusammen und beantragt beim Zentralserver 203 die Herausgabe der Erzeugungsquelle für den gemeinsamen Schlüssel (Schritt S314). Die ECU-ID ist ein Identifikator der Ziel-ECU 101. Die Software-Version ist eine Version der Software, mit welcher die Ziel-ECU 101 ausgestattet ist.
-
Der Zentralserver 203 verteilt als Reaktion auf die Anfrage die Erzeugungsquelle für den gemeinsamen Schlüssel (Schritt S315). Diese Kommunikation ist verschlüsselt, wobei ein fest in der Ziel-ECU 101 vorkonfigurierter Initialisierungs-Schlüssel verwendet wird (externe Kommunikation F222).
-
Nach dem oben beschriebenen Aufbau ist es offensichtlich, dass das Schema nach der Patentliteratur 1 die folgenden Nachteile hat.
-
(Nachteil 1)
-
Alle zu dem fahrzeugbasierten Netzwerk 202 gehörenden ECUs werden mit dem außerhalb des fahrzeugbasierten Netzwerks 202 angeordneten Zentralserver 203 verbunden, um beim Durchführen des Initialisierungsvorgangs die Erzeugungsquelle für den gemeinsamen Schlüssel zu erhalten. Wenn daher die Verbindung zwischen dem Zentralserver 203 und der ECU während der Durchführung des Initialisierungsvorgangs unterbrochen wird, kann kein effektives fahrzeugbasiertes Netzwerk hergestellt werden.
-
(Nachteil 2)
-
Der Zentralserver 203 verwaltet für alle Fahrzeuge das Set aus car-ID, ECU-ID und Software-Version und die Erzeugungsquelle für den gemeinsamen Schlüssel. Wenn daher der Zentralserver 203 illegal gehackt wird, werden alle Fahrzeug-Schlüssel bekannt. Zudem können alle Fahrzeug-Schlüssel verloren gehen, wenn der Zentralserver 203 defekt ist, unabhängig davon, ob dies willentlich oder fahrlässig geschieht.
-
(Nachteil 3)
-
Die verschlüsselte Kommunikation bei der Durchführung des Initialisierungsvorgangs (externe Prozesse F221 und F222) ist gefahrenträchtig. Beim Empfang der Erzeugungsquelle für den gemeinsamen Schlüssel ist daher die wechselseitige Authentifizierung zwischen der ECU und dem Zentralserver 203 unsicher. Der Grund dafür ist, dass der Authentifizierungsvorgang den vorgegebenen Verschlüsselungscode mit wenigen Varianten verwenden muss, da die ECU-Hardware als Bauteil ein Massenprodukt sein muss. Wenn daher der Verschlüsselungscode gehackt wird, kann Code-Information für spezifische Fahrzeuge aus dem Zentralserver 203 dringen und fahrzeugbasierte ECUs können bei der Kommunikation mit dem fahrzeugbasierten Netzwerk durch böswillige Dritte, welche falsche Schlüssel-Informationen verteilen, unterbrochen werden.
-
(Nachteil 4)
-
Der Informationsfluss der car-ID von dem ECU-Master 105 zu der Ziel-ECU 101 beim Durchführen des Initialisierungsvorgangs (Schritt S313) ist nicht verschlüsselt. Die car-ID kann daher leicht außerhalb des fahrzeugbasierten Netzwerks 202 abgefangen werden. Dadurch können böswillige Dritte das Set aus car-ID, ECU-ID und Software-Version, das in den Schritten S311 und S314 verwendet wird, analogisieren.
-
Ausführungsbeispiel 2: Beschreibung der vorliegenden Erfindung
-
4 ist ein Diagramm, welches ein Konfigurationsbeispiel des fahrzeugbasierten Netzwerksystems 1000 nach dem Ausführungsbeispiel 2 zeigt. Der Konfigurations-Verwaltungsserver 103 ist in dem fahrzeugbasierten Netzwerk 202 angeordnet. Ein Prozess, in welchem die neue Ziel-ECU 101 dem fahrzeugbasierten Netzwerk 202 hinzugefügt wird, wird beschrieben.
-
Ein Benutzer verbindet die Netzwerk-Registrierungsvorrichtung 102 mit einem Autoanschluss 104. Die Netzwerk-Registrierungsvorrichtung 102 kommuniziert zur Authentifikation mit dem Konfigurations-Verwaltungsserver 103. Der Benutzer gibt in der Netzwerk-Registrierungsvorrichtung 102 die ECU-ID und Ähnliches der Ziel-ECU ein, die dem fahrzeugbasierten Netzwerk 202 hinzugefügt werden soll, und sendet diese zu dem Konfigurations-Verwaltungsserver 103. Dieser Vorgang entspricht Schritt S111 aus 1.
-
Der Konfigurations-Verwaltungsserver 103 untersucht und überprüft die Authentizität der Netzwerk-Registrierungsvorrichtung 102 mit einem strengen Maßstab. Wenn der Konfigurations-Verwaltungsserver 103 bestätigt, dass die Netzwerk-Registrierungsvorrichtung 102 gültig ist, gibt der Konfigurations-Verwaltungsserver 103 einen für die Ziel-ECU 101 eindeutigen gemeinsamen Schlüssel aus (Schritt S112).
-
Die Netzwerk-Registrierungsvorrichtung 102 leitet den gemeinsamen Schlüssel an die Ziel-ECU 101 weiter und befiehlt der Ziel-ECU 101, ihn zu speichern (Schritt S 113). Der oben beschriebene Prozess ermöglicht das Teilen des gemeinsamen Schlüssels zwischen dem Konfigurations-Verwaltungsserver 103 und der Ziel-ECU 101 in sicherer Weise.
-
Der oben beschriebene Mechanismus verbessert die Nachteile des herkömmlichen Beispiels wie folgt. Die Verbesserungen, die den Nachteilen entsprechen, werden in der gleichen Reihenfolge wie diejenige der Nachteile beschrieben.
-
(Verbesserung 1)
-
Die von der jeweiligen ECU durchgeführte Kommunikation ist in dem fahrzeugbasierten Netzwerk 202 enthalten und es erfolgt keine Kommunikation mit externen Vorrichtungen außerhalb des Fahrzeugs. Die Chancen, dass das fahrzeugbasierte Netzwerk illegal gehackt wird oder das Information nach außen dringt, sind daher gering.
-
(Verbesserung 2)
-
Die Schlüssel-Information in dem fahrzeugbasierten Netzwerk 202 wird von dem Konfigurations-Verwaltungsserver 103 verwaltet, der in dem jeweiligen Fahrzeug eingebettet ist. Es entsteht also kein Angriffspunkt dadurch, dass Informationen für sämtliche Fahrzeuge in dem Zentralserver 203 zusammengefasst werden. Zudem ist der gemeinsame Schlüssel für jedes Fahrzeug einzigartig. Selbst wenn der gemeinsame Schlüssel nach außen dringt, besteht keine Sicherheitsgefahr für andere Fahrzeuge.
-
(Verbesserung 3)
-
Der gemeinsame Schlüssel zur Durchführung des Initialisierungsvorgangs wird zwischen dem Konfigurations-Verwaltungsserver 103 und der Netzwerk-Registrierungsvorrichtung 102 herausgegeben und weitergeleitet, wo eine strenge gegenseitige Authentifizierung durchgeführt wird. Es bestehen daher nur geringe Sicherheitsrisiken für eine Unterbrechung durch böswillige Dritte.
-
(Verbesserung 4)
-
Die Identifikations-Information der ECUs, die dem fahrzeugbasierten Netzwerk 202 als Mitglieder beitreten, beispielsweise car-ID, ECU-ID und Software-Version, wird nur in dem Konfigurations-Verwaltungsserver 103 verwaltet. Es ist daher nicht nötig, diese Identifikations-Information über das fahrzeugbasierte Netzwerk 202 anderen ECUs zu offenbaren. Die Identifikations-Information ist daher robust gegen Herausdringen gesichert.
-
Ausführungsbeispiel 2: Teilen des gemeinsamen Schlüssels
-
Die Netzwerk-Registrierungsvorrichtung 102 kann als einfaches Gerät aufgebaut sein, das nur die Funktion zur Speicherung der gemeinsamen Schlüssel-Information in einem nicht-flüchtigen Speicher (EEPROM: Electrically Erasable and Programmable Read-On Memory) der Ziel-ECU hat oder kann als eine Programm-Überschreibevorrichtung ausgelegt sein, die gemeinsame Schlüssel-Information direkt in einen Flash-ROM schreibt, welcher die Steuerungs-Software der Ziel-ECU 101 speichert.
-
Wenn nach dem Verschicken des Fahrzeugs auf dem Markt ein Defekt in dem Steuerungsprogramm gefunden wird, rufen die Autohändler das Fahrzeug zurück und überschreiben die Programme der entsprechenden fahrzeugbasierten ECUs. Es ist für den Benutzer bequem, wenn die Programm-Überschreibevorrichtung zum Abgraden der Software der Ziel-ECU, zum Aktualisieren des Bestätigungs-Schlüssels (gemeinsamen Schlüssels) und zum Aktualisieren der Registrierungs-Information des Konfigurations-Verwaltungsservers 103 (beispielsweise ECU-ID, Software-Version) simultan benutzt werden kann. Es ist daher wünschenswert, dass die Netzwerk-Registrierungsvorrichtung 102 zusätzlich die Funktion einer Programm-Überschreibevorrichtung hat.
-
4 ist so dargestellt, dass die Netzwerkregistrierungsvorrichtung 102 direkt mit dem fahrzeugbasierten Netzwerk 202 verbunden ist. Das fahrzeugbasierte Netzwerk 202 kann jedoch auch an ein externes Netzwerk außerhalb des Fahrzeugs angeschlossen werden, wobei Signalkopplungschemata verwendet werden, die sich von der drahtgebundenen Kommunikation unterscheiden, beispielsweise drahtlose Kommunikation, und die Netzwerkregistrierungsvorrichtung 102 kann als ein Element des externen Netzwerks ausgestaltet sein. Selbst in diesem Fall wird eine strenge Authentifizierung zwischen dem Konfigurations-Verwaltungsserver 103 und der Netzwerkregistrierungsvorrichtung 102 durchgeführt.
-
5 ist ein Diagramm, welches eine Anordnung (Informations-Verteilung) zeigt, in welcher die Bestätigungs-Information (gemeinsamer Schlüssel) zwischen dem Konfigurations-Verwaltungsserver 103 und der Ziel-ECU 101 geteilt wird. Dieses Beispiel umfasst mehrere Ziel-ECUs 101.
-
5(a) zeigt ein Datenbeispiel, das in einer Datenbank 410 des Konfigurations-Verwaltungsservers 103 gespeichert ist. Die Identifikations-Information (beispielsweise ECU-ID, Software-Version) der jeweiligen fahrzeugbasierten ECU wird wie durch die Daten 412 dargestellt, gespeichert. Die Daten 411 sind ein Authentifizierungs-Schlüssel für den Konfigurations-Verwaltungsserver selbst und werden in gleicher Weise an alle fahrzeugbasierten ECUs verteilt.
-
Die Datenbanken 420, 430 und 440, die in 5(b)-(d) gezeigt sind, zeigen Datenbeispiele des Bestätigungs-Schlüssels (gemeinsamer Schlüssel), der jeweils in den Speichereinheiten der Ziel-ECUs 101 a-101 c gespeichert ist. Die in der jeweiligen Ziel-ECU 101 gespeicherten gemeinsamen Schlüssel werden von dem Konfigurations-Verwaltungsserver 103 herausgegeben und über die Netzwerk-Registrierungsvorrichtung 102 konfiguriert.
-
Insbesondere wird die Information in den in der Datenbank 410 des Konfigurations-Verwaltungsservers gespeicherten Daten 412 außer den ECU-IDs und den Software-Versionen in die jeweilige Ziel-ECU 101 kopiert. Dieser gemeinsame Schlüssel ist die für jede der Ziel-ECUs 101 verwendete Schlüssel-Information zum Nachweis von deren Authentizität gegenüber dem Konfigurations-Verwaltungsserver 103. Im Folgenden wird diese Information auch als „ECU-Schlüssel“ bezeichnet.
-
Zudem wird der neben der ECU-ID und der Software-Version in den Daten 411, die in der Datenbank 410 des Konfigurations-Verwaltungsservers gespeichert sind, gespeicherte gemeinsame Schlüssel-Information in jede Ziel-ECU 101 kopiert. Dieser gemeinsame Schlüssel ist die Schlüssel-Information für den Konfigurations-Verwaltungsserver 103, um dessen Authentizität gegenüber den jeweiligen Ziel-ECUs 101 nachzuweisen. Im Folgenden wird diese Information auch als „Server-Schlüssel“ bezeichnet.
-
Zusätzlich zu dem ECU-Schlüssel und dem Server-Schlüssel wird Kommunikations-Identifikations-Information 413, wie beispielsweise Kanal-Nummern oder Nachrichten-IDs, die verwendet werden, wenn der Konfigurations-Verwaltungsserver 103 und die jeweilige Ziel-ECU 101 miteinander kommunizieren, an die jeweiligen Ziel-ECUs 101 verteilt.
-
Die Kommunikations-Identifikations-Information 413 ist Information, welche den Typ der Kommunikationsdaten angibt. Die Typen können beispielsweise für unterschiedliche Zwecke verwendet werden, wird die Message-ID „0x15“ verwendet, wenn der Konfigurations-Verwaltungsserver 103 den gemeinsamen Schlüssel an die Ziel-ECU 101a übermittelt, die Message-ID „0x17“ wird verwendet, wenn Konfigurations-Verwaltungsserver 103 den gemeinsamen Schlüssel an die Ziel-ECU 101b übermittelt. Jede der Ziel-ECUs 101 kann erkennen, was in den empfangenen Daten beschrieben wird, indem sie die Message-ID verwendet.
-
Die Ziel-ECUs 101 identifizieren vor dem Zutritt zu dem fahrzeugbasierten Netzwerk 202 noch nicht die Kommunikationskanäle. Die Message-ID kann daher gemeinsam mit dem Bestätigungs-Schlüssel (gemeinsamer Schlüssel) an die jeweiligen Ziel-ECUs 101 verteilt werden. Die Message-IDs werden in Datenbänken der jeweiligen Ziel-ECUs als Daten 421, 431 und 441 gespeichert.
-
Die Vertraulichkeit der Kommunikation wird höher, indem die Message-ID für jeden Typ von Kommunikationsdaten verändert wird. Da böswillige Dritte nicht wissen, welche Message-ID für die Verteilung des gemeinsamen Schlüssels verwendet wird, ist es für Dritte schwierig, den gemeinsamen Schlüssel aus Kommunikationsdaten zu extrahieren.
-
Zusätzlich zu der oben genannten Information werden Attribut-Informationen wie beispielsweise ECU-IDs oder Software-Versionen, die in der Datenbank 410 des Konfigurations-Verwaltungsservers gespeichert sind, an die jeweiligen Ziel-ECUs 101 verteilt werden. Die Information ist für die Netzwerk-Registrierungsvorrichtung 102 und die Ziel-ECUs 101 nützlich.
-
Die Netzwerk-Registrierungsvorrichtung 102 könnte wissen wollen, welche ECUs oder welche Software im Aufbau des Automobilsystems verwendet werden. Zudem könnte eine fahrzeugbasierte ECU wissen wollen, ob ihre Steuerungs-Software den Software-Versionen von anderen fahrzeugbasierten ECUs entspricht, um eine harmonisierte Steuerung durchführen zu können. Um solche Bedürfnisse zu befriedigen kann der Konfigurations-Verwaltungsserver 103 derartige in der Datenbank 410 gespeicherte Informationen an die Netzwerk-Registrierungsvorrichtung 102 oder an die Ziel-ECUs 101 herausgeben.
-
Im Hinblick auf die Sicherheit sollten derartigen Informationen jedoch nur nach einer strengen Authentifizierung bezogen auf die Netzwerk-Registrierungsvorrichtung 102 und nach erfolgreicher Bestätigung bezogen auf die fahrzeugbasierten ECUs herausgegeben werden.
-
Die in 5 dargestellte Datenbank 410 kann so ausgelegt sein, dass ein Benutzer ihre Inhalte sichten und aktualisieren kann, indem er die Netzwerk-Registrierungsvorrichtung 102 verwendet. Wie bei der Bestätigung wird die Netzwerk-Registrierungsvorrichtung 102 vor dem Sichten und Aktualisieren der Datenbank 410 von dem Konfigurations-Verwaltungsserver 103 authentifiziert.
-
Ausführungsbeispiel 2: Erzeugen des gemeinsamen Schlüssels
-
6 ist ein Diagramm, welches ein Verfahren des Konfigurations-Verwaltungsservers 103 zum Erzeugen des Bestätigungs-Schlüssels (gemeinsamer Schlüssel) zeigt. Im Folgenden wird der Vorgang zur Erzeugung des Bestätigungs-Schlüssels gemäß 6 beschrieben.
-
Die car-ID Nummer 501 ist eine Nummer, die eineindeutig dem jeweiligen Auto zugeordnet ist und intern von dem Konfigurations-Verwaltungsserver 103 gespeichert wird. Die ECU-ID (Bauteilnummer) 502 und die Software-Version 503 sind eine ECU-ID (Bauteilnummer) und eine Software-Version der Ziel-ECU 101, welche dem fahrzeugbasierten Netzwerk 202 beitritt. Die Zufallszahl 504 ist eine von dem Konfigurations-Verwaltungsserver 103 erzeugte Zufallszahl. Beispielsweise kann als Vorrichtung zum Erzeugen gleich verteilter Zufallszahlen ein Gerät verwendet werden, welches Fluktuationen vom Typ weißes Rauschen einer Halbleiterschwelle verwendet, zum Erzeugen der Zufallszahl 504 verwendet wird. Ein anderes Beispiel kann in einer vereinfachten Implementierung eine numerische Folge als Zufallszahl 504 verwendet werden, die von einem freilaufenden Zähler eines Mikrocomputers in einem beliebigen Zeitpunkt aufgenommen wird.
-
Der Konfigurations-Verwaltungsserver 103 gibt diese Werte in die nicht invertierbare Hash-Funktion 505 ein. Die nicht invertierbare Hash-Funktion 505 gibt einen gemeinsamen Schlüssel 506 mit einer vorgegebenen Länge aus, der für die ECU eindeutig ist. Der gemeinsame Schlüssel 506 oder ein aus dem gemeinsamen Schlüssel 506 berechneter Wert kann als der Bestätigungs-Schlüssel verwendet werden.
-
Die nicht invertierbare Hash-Funktion 505 wird verwendet, damit Informationen wie beispielsweise die car-ID Nummer 501, die ECU-ID (Bauteilnummer) 502 oder die Software-Version 503 nicht aus dem für die ECU eindeutigen gemeinsamen Schlüssel 506 ermittelt werden können. Zudem ist es auch wichtig, dass der gemeinsame Schlüssel 506 sich auch dann verwendet, wenn sich der Eingabewert wenig verändert, dass die erzeugten Werte wahrscheinlich nicht in Konflikt geraten und dass die Kombination der den gleichen Ausgabewert erzeugenden Eingabewerte nicht vorhersagbar ist.
-
Da die Fahrzeug-ID Nummer 501 als Eingabewert für die nicht invertierbare Hash-Funktion 505 verwendet wird, ist der gemeinsame Schlüssel 506 für jedes Fahrzeug unterschiedlich, selbst wenn die Ziel-ECU 101 mit der gleichen ECU-ID (Bauteilnummer) 502 in dem Netzwerk registriert wird. Zudem unterscheidet sich der gemeinsame Schlüssel 506 für jeden Hinzufügeprozess, da die Zufallszahl 504 als Eingabewert für die nicht invertierbare Hash-Funktion 505 verwendet wird, selbst wenn eine fahrzeugbasierte ECU mit der gleichen ECU-ID (Bauteilnummer) 502 und mit der gleichen Software-Version 503 dem fahrzeugbasierten Netzwerk 202 in dem gleichen Fahrzeug hinzugefügt wird.
-
Dieses Schema verbessert die Fähigkeit, Fälschungen von ECUs oder einen illegalen Austausch von ECUs zu detektieren. Es können auch andere Funktionen als die nicht invertierbare Hash-Funktion verwendet werden, solange die gleiche Wirkung erreicht wird. Im Hinblick darauf, dass der Ursprungswert nicht aus dem gemeinsamen Schlüssel 506 rückbeschlossen werden können soll, sind jedoch nicht invertierbare Funktionen wünschenswert.
-
Ausführungsbeispiel 2: Bestätigungsprozess
-
7 ist ein Sequenz-Diagramm, welches einen Prozess des Konfigurations-Verwaltungsservers 103 zum Authentifizieren der Ziel-ECU 101 zeigt. Ein Beispiel ist dargestellt, in welchem der Serverschlüssel und der oben genannte ECU-Schlüssel als Passwort verwendet werden. Im Folgenden werden die jeweiligen Schritte aus 7 beschrieben.
-
(Fig. 7: Schritte S701-S702: Start der Bestätigung)
-
Der Konfigurations-Verwaltungsserver 103 sendet eine Bestätigungs-Anfrage an die Ziel-ECU 101 (S701). Diese Bestätigungs-Anfrage kann durchgeführt werden, wenn das Fahrzeug sich in einem speziellen Zustand befindet (beispielsweise unmittelbar nach der Initialisierung, im Leerlauf oder unmittelbar nach dem Abschalten der Zündung) oder kann periodisch durchgeführt werden. Die Ziel-ECU 101 antwortet auf eine serverseitige Authentifizierungs-Anfrage mit der Überprüfung, ob der Anfragende wirklich der gültige Konfigurations-Verwaltungsserver 103 ist (S702).
-
(Fig. 7: Schritte S701-S702: Zusatzbemerkung)
-
Wenn die Identifikations-Information 413 gemeinsam mit dem Bestätigungs-Schlüssel (gemeinsamen Schlüssel) verteilt wird, wird die in 7 dargestellte Kommunikations-Sequenz mittels Kommunikationskanälen oder Message-IDs durchgeführt, die in der jeweiligen ECU gespeichert sind.
-
(Fig. 7: Schritte S703-S704: Authentifizierung auf der Serverseite)
-
Um die Authentizität des Konfigurations-Verwaltungsservers 103 gegenüber der Ziel-ECU 101 bestätigen zu können, offenbart der Konfigurations-Verwaltungsserver 103 den Server-Schlüssel als Server-Passwort (S703). Wenn der Server-Schlüssel mit dem in der Ziel-ECU 101 gespeicherten Server-Schlüssel übereinstimmt, hat der Konfigurations-Verwaltungsserver 103 seine Authentizität bewiesen (S704).
-
(Fig. 7: Schritte S705-S707: Authentifizierung auf der Seite der ECU)
-
Wenn die Ziel-ECU 101 die Authentizität des Konfigurations-Verwaltungsservers 103 bestätigt, sendet die Ziel-ECU 101 den ECU-Schlüssel an den Konfigurations-Verwaltungsserver 103 als ein ECU-Passwort (S705). Wenn der in der Datenbank 410 gespeicherte Schlüssel mit dem empfangenen ECU-Schlüssel übereinstimmt, entscheidet der Konfigurations-Verwaltungsserver 103, dass die Ziel-ECU 101 nicht gefälscht ist (S706). Die Bestätigung ist dann gemäß dem oben beschriebenen Prozess beendet. Der Konfigurations-Verwaltungsserver 103 sendet eine Benachrichtigung über die beendete Session an die Ziel-ECU 101 (S707).
-
Ausführungsbeispiel 2: Bestätigungsprozess Nr. 2
-
Nach dem in 7 beschriebenen Prozess können die Server-Authentifizierung und die Bestätigung leicht durchgeführt werden. Der Server-Schlüssel und der ECU-Schlüssel fließen jedoch durch das fahrzeugbasierte Netzwerk 202. Wenn diese Schlüssel abgegriffen werden, ist es möglich, eine gefälschte Ziel-ECU 101 (oder einen Konfigurations-Verwaltungsserver) zu erzeugen, der an das fahrzeugbasierte Netzwerk 202 angeschlossen wird.
-
Um solche Umstände zu vermeiden und die Sicherheit zu verbessern, kann der Bestätigungs-Schlüssel auch als gemeinsamer Schlüssel in einer Anfrage- und Rückmeldungs-Authentifizierung verwendet werden, anstatt den Bestätigungs-Schlüssel (gemeinsamer Schlüssel) direkt über das fahrzeugbasierte Netzwerk 202 zu übermitteln. Ein solcher Prozess wird mit Hilfe von 8 beschrieben.
-
8 ist ein Sequenz-Diagramm, welches einen anderen des Konfigurations-Verwaltungsservers 103 zum Authentifizieren der Ziel-ECU 101 zeigt. Im Folgenden werden die jeweiligen Schritte aus 8 beschrieben.
-
(Fig. 8: Schritt S801: Bestätigungs-Anfrage)
-
Der Konfigurations-Verwaltungsserver 103 sendet eine Bestätigungs-Anfrage an die Ziel-ECU 101 (S801). Diese Bestätigungs-Anfrage kann durchgeführt werden, wenn das Fahrzeug sich einem speziellen Zustand befindet (beispielsweise unmittelbar nach der Initialisierung, im Leerlauf oder unmittelbar nach dem Abschalten der Zündung) oder kann periodisch durchgeführt werden. Die Ziel-ECU 101 beginnt eine Authentifizierung um zu überprüfen, ob der Anfragende der gültige Konfigurations-Verwaltungsserver 103 ist.
-
(Fig. 8: Schritt S802-S803)
-
Die Ziel-ECU 101 erzeugt eine Zufallszahl (S802) und sendet diese als Herausforderungsdaten für die Server-Authentifizierung an den Konfigurations-Verwaltungsserver 103 (S803).
-
(Fig. 8: Schritt S804-S805)
-
Der Konfigurations-Verwaltungsserver 103 empfängt die Herausforderungsdaten für die Server-Authentifizierung in Schritt S803 und berechnet eine Antwort unter Verwendung einer nicht invertierbaren Hash-Funktion, welche die Herausforderungsdaten und den Server-Schlüssel als Eingabewerte verwendet (S804). Der Konfigurations-Verwaltungsserver 103 übermittelt die berechnete Antwort als Server-Antwort an die Ziel-ECU 101 (S805).
-
(Fig. 8: Schritt S806)
-
Die Ziel-ECU 101 gibt die in Schritt S802 erzeugte Zufallszahl und den mit dem Konfigurations-Verwaltungsserver 103 geteilten Server-Schlüssel in eine nicht invertierbare Hash-Funktion ein, um einen erwarteten Wert zu berechnen der der erwarteten Rückgabe des Konfigurations-Verwaltungsservers 103 entspricht. Der Konfigurations-Verwaltungsserver 103 und die Ziel-ECU 101 sollen die gleiche nicht invertierbare Hash-Funktion verwenden, welche den gleichen Algorithmus gemäß Regeln verwendet. Die Ausgabewerte der die gleichen Daten als Eingabewerte verwendeten nicht invertierbaren Hash-Funktionen sollten also identisch sein.
-
(Fig. 8: Schritt S807-S808)
-
Die Ziel-ECU 101 vergleicht den in Schritt S806 berechneten Wert mit dem von dem Konfigurations-Verwaltungsserver 103 empfangenen Wert (S807). Wenn beide Werte identisch sind, ist die Authentizität des Konfigurations-Verwaltungsservers 103 erwiesen. Die Ziel-ECU 101 sendet daher als Bestätigung eine Herausforderungs-Anfrage an den Konfigurations-Verwaltungsserver (S808).
-
(Fig. 8: Schritt S809-S810)
-
Beim Empfang der Herausforderungs-Anfrage zur Bestätigung, die in Schritt S808 von der Ziel-ECU 101 verschickt wurde, erzeugt der Konfigurations-Verwaltungsserver 103 eine Zufallszahl (S809). Der Konfigurations-Verwaltungsserver 103 sendet die Zufallszahl als Herausforderungsdaten für die Bestätigung an die Ziel-ECU 101 (S810). Das Mittel zum Erzeugen der Zufallszahl ist das gleiche wie dasjenige der Ziel-ECU 101.
-
(Fig. 8: Schritt S811-S813)
-
Der Konfigurations-Verwaltungsserver 103 berechnet einen erwarteten Wert für die Antwort und verwendet dabei die in Schritt S810 gesendeten Herausforderungsdaten und den ECU-Schlüssel für den Vorgang wie in Schritt S806 (S811). Die Ziel-ECU 101 berechnet die Antwort, indem sie die von dem Konfigurations-Verwaltungsserver 103 in Schritt S810 gesendeten Herausforderungsdaten und den ECU-Schlüssel für den Prozess wie in Schritt S804 verwendet (S812). Die Ziel-ECU 101 sendet die berechnete Antwort an den Konfigurations-Verwaltungsserver 103 (S813).
-
(Fig. 8: Schritt S814-S815)
-
Der Konfigurations-Verwaltungsserver 103 vergleicht die Antwort für die Bestätigung, wie in Schritt S813 von der Ziel-ECU 101 gesendet wurde, mit dem in Schritt S811 berechneten erwarteten Wert. Wenn beide identisch sind, wird die Ziel-ECU 101 bestätigt (S814). Der Konfigurations-Verwaltungsserver 103 sendet dann eine Benachrichtigung über die beendete Session an die Ziel-ECU 101 (S815).
-
Ausführungsbeispiel 2: Zusammenfassung
-
Wie bisher diskutiert verwaltet der Konfigurations-Verwaltungsserver 103 in dem fahrzeugbasierten Netzwerksystem 1000 nach dem Ausführungsbeispiel 2 die Identifikations-Information sämtlicher fahrzeugbasierter ECUs (beispielsweise ECU-ID (Bauteilnummer), Software-Version). Dieses Verwaltungsschema verwendet keine externer Server, welche die Informationen für alle Fahrzeuge sammeln, und ist als verteilte Steuerung ausgelegt, in welcher jedes Fahrzeug individuell seine eigenen Identifikations-Informationen speichert. Das Informations-Verwaltungsschema ist daher robust und Sicherheitskrisen können sich nicht auf alle Fahrzeuge ausbreiten, selbst wenn der Konfigurations-Verwaltungsserver 103 des jeweiligen Autos gehackt wird.
-
Zudem kann in dem fahrzeugbasierten Netzwerksystem 1000 nach dem Ausführungsbeispiel 2 die zuverlässige Netzwerk-Registrierungsvorrichtung 102 dazu beitragen, die Bestätigungs-Schlüssel (gemeinsamen Schlüssel) sicher zu verteilen, wenn die Ziel-ECU 101 dem fahrzeugbasierten Netzwerk 202 hinzugefügt wird. Dadurch können der Konfigurations-Verwaltungsserver 103 und die Ziel-ECU 101 sich gegenseitig authentifizieren, um die Authentizität der Konfiguration gegenüber einander zu beweisen, wobei die oben beschriebene einfache Herausforderungs- und Antwort-Authentifizierung verwendet wird.
-
Zudem ist es in dem fahrzeugbasierten Netzwerk 1000 nach dem Ausführungsbeispiel 2 nicht notwendig, beim Durchführen der Bestätigung komplizierte verschlüsselte Kommunikationen (Verschlüsselung mit gemeinsamen Schlüssel oder Verschlüsselung mit öffentlichem Schlüssel) oder Verteilungstechniken für den gemeinsamen Schlüssel (beispielsweise KPS-Schema) zu verwenden. Insbesondere ist es nicht nötig, Rechenleistungs-Resourcen wie beispielsweise CPU/ROM/RAM in bestehenden ECUs für die Bestätigung zu nutzen, so dass die Implementierungskosten nicht ansteigen. Die vorliegende Erfindung ist daher als Verfahren zum Ergänzen einer Bestätigungsfunktion für das fahrzeugbasierte Netzwerksystem 1000 und im Hinblick auf ECU-Fälschungen besonders kostengünstig.
-
Ausführungsbeispiel 3
-
In einem Ausführungsbeispiel 3 der vorliegenden Erfindung wird eine spezielle Software-Implementierung des fahrzeugbasierten Netzwerksystems 1000 beschrieben, wie es im Ausführungsbeispiel 2 beschrieben wurde. 9 und 10 sind Fluss-Diagramme der Software-Implementierung des Bestätigungsprozesses, der das in 8 dargestellte Herausforderungs- und Antwortschema verwendet. 9 und 10 sind daher nicht vollständig funktional äquivalent zu der in 8 dargestellten Sequenz und diese Figuren enthalten Fehlerhandhabungsschritte und Alarmierungsschritte für Diagnosefehler.
-
9 ist ein Fluss-Diagramm, welches einen in dem Konfigurations-Verwaltungsserver 103 ausgeführten Vorgang zeigt. Im Folgenden werden die jeweiligen Schritte aus 9 beschrieben.
-
(Fig. 9: Schritte S901-S905: Start der Bestätigung)
-
Der Konfigurations-Verwaltungsserver 103 liest aus der Datenbank 410 den zu überprüfenden gemeinsamen Schlüssel der ECU 101 aus, um die Bestätigung vorzubereiten (S901). Der Konfigurations-Verwaltungsserver 103 sendet dann eine Bestätigungs-Anfrage an die entsprechende Ziel-ECU 101 (S902) und initialisiert einen Timer zum Messen eines Time-Outs (S903). Der Konfigurations-Verwaltungsserver 103 wartet auf die Herausforderungsdaten zur Server-Authentifizierung (S904). Wenn die Herausforderungsdaten empfangen wurden, fährt der Vorgang mit Schritt S906 fort. Wenn der Konfigurations-Verwaltungsserver 103 entscheidet, dass der Prozess ausgesetzt wird, da die Herausforderungsdaten für die Server-Authentifizierung nicht empfangen wurden (S905), entscheidet der Konfigurations-Verwaltungsserver 103, dass die Ziel-ECU 101 nicht antwortet und der Prozess fährt mit Schritt S917 fort.
-
(Fig. 9: Schritte S906-S910: serverseitige Authentifizierung)
-
Nach dem Empfang der Herausforderungsdaten für die Server-Authentifizierung berechnet der Konfigurations-Verwaltungsserver 103 mit Hilfe des Server-Schlüssels eine Antwort (S906) und sendet die Antwort an die Ziel-ECU 101 (S907). Der Konfigurations-Verwaltungsserver 103 initialisiert dann einen Timer zum Messen eines Time-Outs, um auf die Entscheidung der ECU zu warten (S908). Der Konfigurations-Verwaltungsserver 103 wartet auf eine Herausforderungs-Anfrage zur Bestätigung von der Ziel-ECU 101 (S909). Wenn der Konfigurations-Verwaltungsserver 103 die Anfrage erhält, gibt er an, dass die Ziel-ECU 101 die Server-Authentifizierung akzeptiert und der Prozess fährt dann mit Schritt S911 fort. Wenn der Konfigurations-Verwaltungsserver 103 keine Herausforderungs-Anfrage für die Bestätigung erhält und entscheidet, dass der Prozess ausgesetzt wurde (S910), entscheidet der Konfigurations-Verwaltungsserver 103, dass die Ziel-ECU 101 die Server-Authentifizierung nicht akzeptiert oder über das Verfahren nicht in Kenntnis gesetzt ist, da sie gefälscht ist, und der Prozess fährt mit Schritt S917 fort.
-
(Fig. 9: Schritte S911-S916: Bestätigungs-Anfrage von der ECU-Seite)
-
Schritte S911 bis S916 sind Schritte zur Vorbereitung von Daten zur Durchführung der Bestätigung der Ziel-ECU 101. Der Konfigurations-Verwaltungsserver 103 erzeugt eine Zufallszahl (S911) und sendet die Zufallszahl an die Ziel-ECU 101 als Herausforderungsdaten zur Bestätigung (S912). Der Konfigurations-Verwaltungsserver 103 initialisiert dann einen Timer zum Messen eines Time-Outs (S913). Der Konfigurations-Verwaltungsserver 103 berechnet einen erwarteten Wert der Antwort, wobei er den bereits in Schritt S901 gesuchten ECU-Schlüssel der Ziel-ECU 101 verwendet (S914). Der Konfigurations-Verwaltungsserver 103 wartet auf eine Antwort für die Bestätigung von der Ziel-ECU 101 (S915). Wenn der Konfigurations-Verwaltungsserver 103 die Antwort empfängt, fährt der Prozess mit Schritt S918 fort. Wenn der Konfigurations-Verwaltungsserver 103 keine Antwort erhält und entscheidet, dass der Prozess ausgesetzt ist (S916), entscheidet der Konfigurations-Verwaltungsserver 103, dass die Ziel-ECU 101 das Verfahren nicht kennt, da sie gefälscht ist, und der Prozess fährt mit Schritt S917 fort.
-
(Fig. 9: Schritte S917: ECU-Fälschungsdetektion und Alarmierung)
-
Der Konfigurations-Verwaltungsserver 103 gibt durch geeignete Schnittstellen ein Alarmsignal aus, das angibt, dass die Ziel-ECU 101 gefälscht ist oder sendet diesen Sachverhalt beschreibende Kommunikationsdaten an das fahrzeugbasierte Netzwerk 202.
-
(Fig. 9: Schritte S918-S920: Bestätigungs-Ergebnis)
-
Der Konfigurations-Verwaltungsserver 103 vergleicht den erwarteten Wert, der in Schritt S914 berechnet wurde, mit der Antwort für die Bestätigung, die von der Ziel-ECU 101 empfangen wurde (S918). Wenn beide identisch sind bedeutet dies, dass die Bestätigung beendet ist und der Konfigurations-Verwaltungsserver 103 sendet eine Benachrichtigung über die beendete Session an die Ziel-ECU 101, um zu erklären, dass die Bestätigung beendet ist (S919). Der Konfigurations-Verwaltungsserver 103 überprüft dann, ob für sämtliche zu überprüfende fahrzeugbasierte ECUs die Bestätigung beendet ist (S920). Wenn sie beendet ist, wird der Prozess aus 9 abgeschlossen. Wenn sie nicht abgeschlossen ist, kehrt der Vorgang zu Schritt S901 zurück. Wenn der erwartete Wert nicht mit der Antwort für die Bestätigung übereinstimmt, entscheidet der Konfigurations-Verwaltungsserver 103, dass die Ziel-ECU mit derjenigen eines anderen Fahrzeugs vertauscht wurde oder wenn das fahrzeugbasierte Netzwerk 202 angeschlossen wurde, ohne den Vorgang des Zutritts zum fahrzeugbasierten Netzwerk 202 durchzuführen, sie also illegal gefälscht wurde, und der Vorgang wird mit Schritt S917 fortgesetzt.
-
10 ist ein Fluss-Diagramm, welches einen in der Ziel-ECU 101 ausgeführten Prozess zeigt. Im Folgenden werden die jeweiligen Schritte aus 10 beschrieben.
-
(Fig. 10: Schritte S1001-S1007: serverseitige Bestätigung)
-
Die Ziel-ECU 101 wartet auf eine Bestätigungs-Anfrage von dem Konfigurations-Verwaltungsserver 103 und fährt beim Empfang der Anfrage mit Schritt S1002 fort (S1001). Die Ziel-ECU erzeugt eine Zufallszahl, um zu überprüfen, ob die Ziel-ECU 101 gefälscht ist (ob die Ziel-ECU 101 eine böswillige Abhörvorrichtung ist) (S 1002) und sendet die Zufallszahl als Herausforderungsdaten für die Server-Authentifizierung (S 1003). Die Ziel-ECU 101 initialisiert einen Timer zum Messen eines Time-Outs (S1004). Die Ziel-ECU 101 berechnet einen Erwartungswert für die Antwort von dem Konfigurations-Verwaltungsserver 103, wobei sie den Server-Schlüssel verwendet (S1005). Die Ziel-ECU 101 wartet auf eine Antwort für die Server-Authentifizierung von dem Konfigurations-Verwaltungsserver 103 (S1006). Nach dem Empfang der Antwort fährt der Vorgang mit Schritt S1008 fort. Wenn die Ziel-ECU 101 keine Antwort für die Server-Authentifizierung erhält und entscheidet, dass der Prozess ausgesetzt ist (S1001), entscheidet die Ziel-ECU 101, dass der Konfiguration-Verwaltungsserver 103 gefälscht sein könnte oder durch eine böswillige Abhörvorrichtung ersetzt wurde und der Vorgang fährt mit Schritt S1018 fort.
-
(Fig. 10: Schritt S1008-S1012: Beginn der Bestätigung auf ECU-Seite)
-
Die Ziel-ECU 101 vergleicht den in Schritt S1005 berechneten erwarteten Wert mit der Antwort für die von dem Konfigurations-Verwaltungsserver 103 empfangene Server-Bestätigung (S 1008). Wenn beide identisch sind, bedeutet dies, dass die Authentizität des Konfigurations-Verwaltungsservers 103 bestätigt wurde und der Vorgang wird mit Schritt S1009 fortgesetzt. Wenn der erwartete Wert nicht mit der Antwort für die Server-Bestätigung übereinstimmt, entscheidet die Ziel-ECU 101, dass der Konfigurations-Verwaltungsserver 103 durch denjenigen eines anderen Fahrzeugs ersetzt wurde oder illegal gefälscht wurde und der Prozess wird mit Schritt S1018 fortgesetzt. Die Ziel-ECU 101 erbittet beim Konfigurations-Verwaltungsserver 103 das Übersenden von Herausforderungsdaten für die Bestätigung, um die Authentizität des Konfigurations-Verwaltungsserver 103 zu beweisen (S1009). Die Ziel-ECU 101 initialisiert dann einen Timer zum Messen eines Time-Outs, um auf die Herausforderungsdaten für die Bestätigung von dem Konfigurations-Verwaltungsserver 103 zu warten (S1010). Die Ziel-ECU 101 wartet auf die Herausforderungsdaten für die Bestätigung von dem Konfigurations-Verwaltungsserver 103. Nach dem Empfang der Antwort wird der Vorgang mit Schritt S1013 fortgesetzt. Wenn die Ziel-ECU 101 keine Herausforderungsdaten für die Bestätigung empfängt und entscheidet, dass der Prozess ausgesetzt ist (S1012), entscheidet die Ziel-ECU 101, dass der Konfigurations-Verwaltungsserver 103 das Verfahren nicht kennt, da er gefälscht ist, und der Prozess wird mit Schritt S1018 fortgesetzt.
-
(Fig. 10: Schritte S1013-S1017: Bestätigungs-Ergebnisse)
-
Die Ziel-ECU 101 berechnet eine Antwort, wobei sie die von dem Konfigurations-Verwaltungsserver 103 empfangenen Herausforderungsdaten für die Bestätigung und den ECU-Schlüssel verwendet (S1013) und sendet die Antwort an den Konfigurations-Verwaltungsserver (S1014). Zudem initialisiert die Ziel-ECU 101 einen Timer zum Messen eines Time-Outs, um die Antwort des Konfigurations-Verwaltungsservers 103 zu überwachen (S1015). Die Ziel-ECU 101 wartet auf eine Notiz über das Ende der Session von dem Konfigurations-Verwaltungsserver 103. Nach dem Erhalt der Antwort endet der Prozess aus 10 (S1016), da dies bedeutet, dass der Konfigurations-Verwaltungsserver 103 die Bestätigung beendet hat. Wenn die Ziel-ECU 101 keine Herausforderungsdaten für die Bestätigung erhält und entscheidet, dass der Prozess ausgesetzt wurde (S 1017), entscheidet die Ziel-ECU 101, dass der Konfigurations-Verwaltungsserver 103 mit demjenigen eines anderen Fahrzeugs vertauscht worden sein könnte oder illegal gefälscht wurde, und der Prozess fährt mit Schritt S1018 fort.
-
(Fig. 10: Schritt S1018: Konfigurations-Verwaltungsserver, Fälschungsdetektionen und Alarm)
-
Die Ziel-ECU gibt durch geeignete Schnittstellen ein Alarmsignal aus, welches angibt, dass der Konfigurations-Verwaltungsserver 103 gefälscht wurde oder sendet Kommunikationsdaten, die diesen Sachverhalt beschreiben, an das fahrzeugbasierte Netzwerk 202.
-
Ausführungsbeispiel 3: Zusammenfassung
-
Wie bisher beschrieben wird in dem fahrzeugbasierten Netzwerk 1000 nach dem Ausführungsbeispiel 3 die Bestätigung durch wechselseitige Authentifizierung zwischen dem Konfigurations-Verwaltungsserver 103 und der Ziel-ECU 101 durchgeführt. Dadurch kann erkannt werden, dass der Konfigurations-Verwaltungsserver 103 oder die Ziel-ECU gefälscht sind, und ein dies anzeigender Alarm kann ausgegeben werden.
-
Ausführungsbeispiel 4
-
11 ist ein Diagramm, welches ein Praxisbeispiel zeigt, in welchem das Bestätigungsverfahren wie es in den Ausführungsbeispielen 1 bis 3 beschreiben wurde auf eine andere Anwendung als die Bestätigung angewandt wird. 11 geht davon aus, dass zwei ECUs 101 existieren (ECUs 101a und 101b) und dass eine Nachricht mit digitaler Signatur zwischen den ECUs übermittelt wird.
-
Der ECU-Schlüssel wird nur zwischen den Paaren von Konfigurations-Verwaltungsserver 103 und fahrzeugbasierter ECU geteilt. Andererseits wird der Server-Schlüssel zwischen mehreren fahrzeugbasierten ECUs geteilt. Der Server-Schlüssel kann daher dazu verwendet werden, einen Nachrichten-Authentifizierungscode (MAC) zwischen mehreren fahrzeugbasierten ECUs zu übermitteln, um die Authentizität der Nachricht zu gewährleisten.
-
Der Server-Schlüssel wird in sicherer Weise von dem Konfigurations-Verwaltungsserver 103 ausgegeben, wenn die Ziel-ECU 101 dem fahrzeugbasierten Netzwerk 202 hinzugefügt wird. Der Server-Schlüssel dringt daher nicht an ECUs außer den zu den fahrzeugbasierten Netzwerk 202 gehörenden ECUs nach außen. Andere ECUs können daher bestätigen, dass die Nachricht von dem Konfigurations-Verwaltungsserver 103 authentifizierten fahrzeugbasierten ECU stammt, indem sie eine digitale Signatur (Ergänzen eines Nachrichten-Authentifizierungscodes) durchführen, wobei sie den Server-Schlüssel verwenden.
-
Die ECU 101a gibt eine Sendenachricht 1011a und einen Server-Schlüssel 1012a in eine nicht invertierbare Hash-Funktion 1013a ein, um einen Nachrichten-Authentifizierungscode (MAC) 1014a zu erzeugen. Die ECU 101a fügt die Nachricht 1011a und den Nachrichten-Authentifizierungscode (MAC) 1014a zusammen (S 1101) und speichert das Paket in einem Sendepuffer 1015a. Die ECU 101a sendet dann die gepufferten Daten an das fahrzeugbasierte Netzwerk 202 (S1102).
-
Die ECU 101b empfängt das von der ECU 101a gesendete Signal (S1103) und speichert es in einem Empfangspuffer 1016b. Die ECU 101b entpackt die gepufferten Daten gemäß einer mit dem Sender abgestimmten Regel (S 1104), um die Daten in eine Nachricht 1011 b und in einen Nachrichten-Authentifizierungscode (MAC) 1014b aufzuteilen.
-
Die ECU 101b gibt die Nachricht 1011b und einen Server-Schlüssel 1012b (von dem angenommen wird, dass er identisch zu dem Server-Schlüssel 1012a ist) in eine nicht invertierbare Hash-Funktion 1013b ein, um einen serverseitigen Nachrichten-Authentifizierungscode (MAC) zu erzeugen (S1105). Die ECU 101b vergleicht den MAC 1014b mit dem empfängerseitigen Nachrichten-Authentifizierungscode (MAC), wobei sie eine Vergleichseinheit 1017b verwendet. Wenn die ECU 101b das Entscheidungsergebnis 1018b erhält, welches angibt, das beide identisch sind, kann die ECU 101b entscheiden, dass der Inhalt der Nachricht 1011b von der ECU 101a erzeugt wurde und nicht beim Senden gefälscht wurde.
-
Es sei bemerkt, dass die nicht invertierbaren Hash-Funktionen 1013a und 1013b gemäß der Regel zwischen den ECUs den gleichen Algorithmus verwenden.
-
11 zeigt eine Implementierung, in welcher der Nachrichten-Authentifizierungscode (MAC) implementiert wurde, indem Server-Schlüssel verwendet werden, die gemeinsam in ECUs gespeichert sind, die regulär von der Netzwerk-Registrierungsvorrichtung 102 in dem fahrzeugbasierten Netzwerk 202 registriert wurden. Die Anwendung ist jedoch nicht auf den Nachrichten-Authentifizierungscode beschränkt. Die Implementierung kann auch auf verschlüsselte Kommunikationen zwischen fahrzeugbasierten ECUs angewandt werden, die eine Verschlüsselung mit gemeinsamem Schlüssel verwendet (beispielsweise ein DES-Schema oder AES (Advanced Encryption Standard)-Schema).
-
Ausführungsbeispiel 4: Zusammenfassung
-
Wie bisher diskutiert ist das Verfahren zum Teilen des gemeinsamen Schlüssels zwischen den fahrzeugbasierten ECUs nach der vorliegenden Erfindung sowohl zur Bestätigung als auch für jede andere Art von hochgradig zuverlässiger Kommunikation zwischen fahrzeugbasierten ECUs wirkungsvoll.
-
Ausführungsbeispiel 5
-
12 ist ein Diagramm, welches ein Beispiel für eine Netzwerk-Topologie eines fahrzeugbasierten Netzwerks zeigt, wie es in mehreren hochfunktionalisierten Fahrzeugen enthalten ist. Die Konfigurationen und Vorgänge der Netzwerk-Registrierungsvorrichtung (die auch als Software-Überschreibevorrichtung arbeitet) 102, des Konfigurations-Verwaltungsservers 103 und der jeweiligen ECUs entsprechen denjenigen aus Ausführungsbeispielen 1 bis 4.
-
In 12 sind vier Netzwerke vorgesehen und jedes der Netzwerke wird von einem Kommunikations-Gateway (Gateway-ECU) 201 gebündelt. 12 verwendet eine Netzwerkanordnung vom Sterntyp mit der Gateway-ECU 201 in der Mitte des Sterns. Mehrere der Gateway-ECUs 201 können jedoch vorgesehen sein, um ein Netzwerk vom Stufentyp aufzubauen.
-
Das in 12 dargestellte fahrzeugbasierte Netzwerk umfasst ein Antriebssystem-Netzwerk 301, ein Karosserie/Sicherheits-Systemnetzwerk 305, ein Körper/Elektro-Bauteilsystemnetzwerk 309 und ein AV/Informationssystem-Netzwerk 313.
-
Eine Motorsteuerungs-ECU 302, eine AT (Automatikgetriebe)-Steuerungs-ECU 303 und eine HEV (Hybrid-Elektro-Fahrzeug)-Steuerungs-ECU 304 sind mit dem Antriebssystem-Netzwerk 301 verbunden. Eine Bremsen-Steuerungs-ECU 306, eine Fahrwerk-Steuerungs-ECU 307 und eine Lenk-Steuerungs-ECU 308 sind mit dem Fahrzeug/Sicherheitssystems-Netzwerk 305 verbunden. Eine Messanzeige-Display-ECU 310, eine Klimaanlagen-Steuerungs-ECU 311 und eine Diebstahlsicherungs-Steuerungs-ECU 312 sind mit dem Körperelektrobauteile-Systemnetzwerk 309 verbunden. Eine Navigations-ECU 314, eine Audio-ECU 315, eine ETC/Telefonie-ECU 316 sind mit dem AV/Informations-Systemnetzwerk 313 verbunden.
-
Ferner ist zum Übersenden von Informationen zwischen dem Auto und externen Vorrichtungen eine externe Kommunikationseinheit 317 über ein externes Informations-Netzwerk 322 mit der Gateway-ECU 201 verbunden. Ein ECT-Radio 318, ein VICS (eingetragene Marke) (Vehicle Information and Communication System)-Radio 319, ein TV/FM-Radio 320 und ein Telefon-Radio 321 sind mit der externen Kommunikationseinheit 317 verbunden.
-
Die Netzwerk-Registrierungsvorrichtung 102 ist über einen Autoanschluss 104, mit dem das Fahrzeug ausgestattet ist, eine Verbindung mit dem externen Informations-Netzwerk 322 herzustellen und einen Knoten desselben zu bilden. Alternativ kann die Netzwerk-Registrierungsvorrichtung 102 mit anderen Netzwerken verbunden werden (dem Antriebssystem-Netzwerk 301, dem Fahrwerk/Sicherheits-Systemnetzwerk 305, dem Körper/Elektrobauteile-Systemnetzwerk 309, dem AV/Informations-Systemnetzwerk 313) oder mit der Gateway-ECU 201 alleine. Insbesondere ist es unabhängig von der mechanischen Anordnung ausreichend, wenn elektrische Signale die Ziel-ECU direkt oder über die Gateway-Vorrichtung 201 erreichen können.
-
Die Funktion der Netzwerk-Registrierungsvorrichtung 102 kann per Fernwartung über das Telefon-Radio 201 von dem externen Netzwerk aus übernommen werden. Beispielsweise können Anwendungen wie beispielsweise das Durchsuchen der Datenbanken in dem Konfigurations-Verwaltungsserver 103 oder das Bereithalten von Bestätigungsdaten in der Ziel-ECU 101 übernommen werden. In solchen Fällen kann das gleich Verfahren wie dasjenige in Ausführungsbeispielen 1 bis 4 verwendet werden.
-
Das Verfahren zum Überschreiben der Software von ECUs über Telefon-Netzwerke oder über das Internet ist eine wichtige Technik zum Reduzieren von Kosten zum Behandeln von Befehlsfunktionen wie beispielsweise Rückrufen. Ein derartiges Verfahren könnte daher in Zukunft üblich sein.
-
Die Datenbanken in dem Konfigurations-Verwaltungsserver 103 können daher mit der hier offenbarten Technik nach dem Überschreiben der Software von der Ferne aus aktualisiert werden und die fahrzeugbasierten ECUs können nach dem Überschreiben der Software korrekt neu in dem Netzwerk registriert werden.
-
In 12 ist der Konfigurations-Verwaltungsserver 103 direkt mit der Gateway-ECU 201 verbunden. Für den Konfigurations-Verwaltungsserver 103 ist jedoch jeder Ort im Netzwerk zulässig. Solange eine Verbindung mit elektrischen Signalen besteht, kann der Konfigurations-Verwaltungsserver 103 direkt mit anderen Netzwerken verbunden werden (dem Antriebs-Systemnetzwerk 301, dem Fahrwerk/ Sicherheits-Systemnetzwerk 305, dem Körper/Elektrobauteile-Systemnetzwerk 309, dem AV/Informations-Systemnetzwerk 313).
-
Es ist jedoch vorteilhaft, wenn die Gateway-ECU 201 auch als der Konfigurations-Verwaltungsserver 103 arbeitet, und zwar im Hinblick auf die zwei folgenden Punkte.
- (1) Wenn die Authentifizierungs-Sequenz S111 in 1 versagt, kann die Kommunikation von der Netzwerk-Registrierungsvorrichtung 102 elektrisch von dem fahrzeugbasierten Netzwerk getrennt werden (dem Antriebs-Systemnetzwerk 301, dem Fahrwerk/ Sicherheits-Systemnetzwerk 305, dem Karosserie/Elektrobauteile-Systemnetzwerk 309, dem AV/Informations-Systemnetzwerk 313), zu welchem die Ziel-ECU 101 gehört. Dieser Aufbau kann verwendet werden, um die Gateway-ECU 201 mit einer Firewall-Funktion auszustatten. Dadurch können Hacker-Risiken von externen Vorrichtung in das fahrzeugbasierte Netzwerk reduziert werden und die Sicherheit kann weiter verbessert werden.
- (2) Es ist notwendig, das Entfernen des Konfigurations-Verwaltungsservers 103 aus dem fahrzeugbasierten Netzwerk zum Zwecke illegaler Modifikationen oder Fälschungen an speziellen fahrzeugbasierten ECUs zu vermeiden. Im Hinblick auf diese Ziele ist es vorteilhaft, wenn der die Gateway-ECU 201 und der Konfigurations-Verwaltungsserver 103 funktional in eine ECU vereinigt werden. Der Grund dafür ist, das wechselseitige Kommunikation zwischen mehreren fahrzeugbasierten Netzwerken dann nicht mehr durchgeführt werden kann, wenn der Konfigurations-Verwaltungsserver 103 entfernt wurde.
-
Wie bisher beschrieben, wurde die vorliegende Erfindung speziell nach den Ausführungsbeispielen beschrieben. Die vorliegende Erfindung ist jedoch nicht auf die vorgenannten Ausführungsbeispiele beschränkt. Verschiedene Modifikationen sind möglich, solange nicht von dem Geist der vorliegenden Erfindung abgewichen wird.
-
Sämtliche oder Teile der Konfigurationen, Funktionen oder der Verarbeitungseinheiten können als Hardware ausgelegt sein, indem sie beispielsweise als Schaltkreise konstruiert werden, oder können als Software durch Prozessoren ausgeführt werden, welche Programme ausführen, die diese Funktionen implementieren. Informationen, wie beispielsweise Programme oder Tabellen, welche die Funktionen implementieren können, können in Speichervorrichtungen wie beispielsweise Speicher oder Festplatten oder in Speichermedien wie beispielsweise IC-Karten oder DVDs gespeichert werden.
-
Bezugszeichenliste
-
- 101:
- Ziel-ECU
- 102:
- Netzwerk-Registrierungsvorrichtung
- 103:
- Konfigurations-Verwaltungsserver
- 104:
- Autoanschluss
- 201:
- Kommunikations-Gateway
- 202:
- fahrzeugbasiertes Netzwerk
- 301:
- Antriebs-Systemnetzwerk
- 302:
- Motorsteuerungs-ECU
- 303:
- AT-Steuerungs-ECU
- 304:
- HEV-Steuerungs-ECU
- 305:
- Fahrwerk/Sicherheits-Systemnetzwerk
- 306:
- Bremsen-Steuerungs-ECU
- 307:
- Fahrwerk-Steuerungs-ECU
- 308:
- Lenk-Steuerungs-ECU
- 309:
- Karosserie/ Elektrobauteil-Systemnetzwerk
- 310:
- Messanzeige-Display-ECU
- 311:
- Klimanlagen-Steuerungs-ECU
- 312:
- Antidiebstahl-Steuerungs-ECU
- 313:
- AV/Informations-Systemnetzwerk
- 314:
- Navigations-ECU
- 315:
- Audio-ECU
- 316:
- ECT/Telefonie-ECU
- 317:
- externe Kommunikationseinheit
- 318:
- ETC-Funk
- 319:
- VICS-Funk
- 320:
- TV/FM-Funk
- 321:
- Telefon-Funk
- 322:
- externes Informations-Netzwerk
- 1000:
- fahrzeugbasiertes Netzwerksystem