DE102018100756B4 - Fahrzeuggebundene vorrichtung, weiterleitungsvorrichtung und computerprogramm - Google Patents

Fahrzeuggebundene vorrichtung, weiterleitungsvorrichtung und computerprogramm Download PDF

Info

Publication number
DE102018100756B4
DE102018100756B4 DE102018100756.6A DE102018100756A DE102018100756B4 DE 102018100756 B4 DE102018100756 B4 DE 102018100756B4 DE 102018100756 A DE102018100756 A DE 102018100756A DE 102018100756 B4 DE102018100756 B4 DE 102018100756B4
Authority
DE
Germany
Prior art keywords
data
control program
vehicle
cpu
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE102018100756.6A
Other languages
English (en)
Other versions
DE102018100756A1 (de
Inventor
Hiroshi Tateishi
Hiroshi Ueda
Tomohiro Mizutani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Original Assignee
Sumitomo Wiring Systems Ltd
AutoNetworks Technologies Ltd
Sumitomo Electric Industries Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2017068330A external-priority patent/JP6443482B2/ja
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Publication of DE102018100756A1 publication Critical patent/DE102018100756A1/de
Application granted granted Critical
Publication of DE102018100756B4 publication Critical patent/DE102018100756B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/02Details
    • H04B3/36Repeater circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • B60R16/023Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/14Relay systems
    • H04B7/15Active relay systems
    • H04B7/155Ground-based stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/18Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B3/00Line transmission systems
    • H04B3/50Systems for transmission between fixed stations via two-conductor transmission lines

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Small-Scale Networks (AREA)

Abstract

Fahrzeuggebundene Vorrichtung (11) mit einer ersten fahrzeuggebundenen Einrichtung (21), welche eine erste Verarbeitungseinheit (32) aufweist, die eingerichtet ist, ein Verfahren gemäß einem ersten Steuerprogramm (P1) durchzuführen, und einem Verifizierer (34), welcher eingerichtet ist, das erste Steuerprogramm (P1) unter Verwendung einer anderen Hardware, die verschieden ist von einer Hardware, welche die erste Verarbeitungseinheit (32) bildet, zu verifizieren, wobei die Vorrichtung (11) aufweist:eine zweite fahrzeuggebundene Einrichtung (22), welche eine zweite Verarbeitungseinheit (52) aufweist, die eingerichtet ist, ein Verfahren gemäß einem zweiten Steuerprogramm (P2) durchzuführen; undeine zugehörige Daten-Berechnungseinheit (52), welche eingerichtet ist, zugehörige Daten zu berechnen, die das zweite Steuerprogramm (P2) betreffen,wobei der Verifizierer (34) eine Ermittlungseinheit (42) aufweist, welche eingerichtet ist, zu ermitteln, ob die zugehörigen Daten, die von der zugehörigen Daten-Berechnungseinheit (52) berechnet wurden, mit Referenzdaten zusammenpassen oder nicht; undwobei der Verifizierer (34) der ersten fahrzeuggebundenen Einrichtung (21) weiter aufweist:die zugehörige Daten-Berechnungseinheit (42);eine Zufallszahl-Erzeugungseinheit (42), welche Zufallszahldaten erzeugt; undeine Referenzdaten-Berechnungseinheit (42), welche die Referenzdaten auf der Basis der Zufallszahldaten, die von der Zufallszahl-Erzeugungseinheit (42) erzeugt wurden, und vorbestimmter Daten berechnet;wobei die zweite fahrzeuggebundene Einrichtung (22) eine Berechnungseinheit (52) aufweist, welche Berechnungsdaten auf der Basis des zweiten Steuerprogramms und der Zufallszahldaten zum Berechnen der zugehörigen Daten berechnet; unddie zugehörige Daten-Berechnungseinheit (42) des Verifizierers (34) die zugehörigen Daten auf der Basis der Berechnungsdaten, die von der Berechnungseinheit (52) berechnet wurden, berechnet.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine fahrzeuggebundene Vorrichtung, eine Weiterleitungsvorrichtung, welche eine Kommunikation zwischen Kommunikationsvorrichtungen weiterleitet, und Computerprogramme, welche entsprechend durch die fahrzeuggebundene Vorrichtung und die Weiterleitungsvorrichtung ausgeführt werden.
  • TECHNISCHER HINTERGRUND
  • Ein Beispiel für ein fahrzeuggebundenes Kommunikationssystem ist ein Kommunikationssystem in welchem eine Weiterleitungsvorrichtung die Kommunikation zwischen einer Mehrzahl von elektronischen Steuereinheiten (Electronic Control Units, ECUs), welche die Vorgänge elektrischer Geräte steuern, vermittelt. In solch einem Kommunikationssystem agiert jede der ECUs als eine Kommunikationsvorrichtung, und eine jeweilige ECU kommuniziert mit den anderen ECUs über die Weiterleitungsvorrichtung. Durch die Mehrzahl der miteinander kommunizierenden ECUs können mehrere elektrische Geräte gemeinsam zusammenwirken. Die Weiterleitungsvorrichtung sendet Daten, welche von einer ECU empfangen werden, an die anderen ECUs.
  • In der Weiterleitungsvorrichtung ist ein Steuerprogramm gespeichert. Die Weiterleitungsvorrichtung führt einen Weiterleitungsprozess zum Vermitteln einer Kommunikation durch eine Zentralverarbeitungseinheit (Central Processing Unit, CPU) aus, die das Steuerprogramm ausführt. Falls das Steuerprogramm, das in der Weiterleitungsvorrichtung gespeichert ist, verändert, z. B. verfälscht oder manipuliert, wurde, wird die Weiterleitungsvorrichtung die Daten in nicht autorisierter Weise bzw. unlegitimiert senden, und es besteht daher ein Risiko, dass die elektrischen Geräte nicht korrekt arbeiten. Es ist daher erforderlich, zu verifizieren, dass das Steuerprogramm echt oder authentisch bzw. legitim ist, wenn die Weiterleitungsvorrichtung gestartet wird.
  • JP 2009-259160A offenbart eine Technik zum Verifizieren, dass ein Steuerprogramm legitimiert ist. Entsprechend dieser Technik werden zugehörige Daten, die das Steuerprogramm betreffen, berechnet, und es wird ermittelt, ob die zugehörigen berechneten Daten mit einem von einer Mehrzahl von Teilen von im Voraus gespeicherter vorbestimmter Daten zusammenpassen oder nicht. Das Steuerprogramm wird als authentisch bestimmt, wenn die berechneten zugehörigen Daten mit einem der Mehrzahl von Teilen der vorbestimmten Daten zusammenpassen.
  • JP 2009-259160A ist ein Beispiel für einen technischen Hintergrund.
  • EP 2 072 366 B1 offenbart eine Prüfvorrichtung, angeordnet in einem Fahrzeug, welches mit einer Mehrzahl von gesteuerten Objekten und einer Mehrzahl von Steuereinheiten versehen ist, wobei die Steuereinheiten entsprechenden unterschiedlichen funktionellen Gebieten zugeordnet sind und das Verhalten der gesteuerten Objekte bezüglich der jeweiligen zugehörigen funktionellen Gebiete zu steuern vermögen, wobei die Vorrichtung aufweist: eine Erlangungseinheit, welche eine Verhaltensinformation zu erlangen vermag, welche das momentane Verhalten des Fahrzeugs anzeigt und eine Prüfeinheit, welche die Verhaltensinformation verwendet, um die Korrektheit der Verhaltenssteuerung der gesteuerten Objekte, durchgeführt durch die Steuereinheiten, zu überprüfen, dadurch gekennzeichnet, dass die Mehrzahl von Steuereinheiten eine erste Steuereinheit welche eine höhere Sicherheit bei der Steuerung eines Verhaltens des Fahrzeugs benötigt und eine zweite Steuereinheit beinhalten, welche eine geringere Sicherheit bei der Steuerung eines Verhaltens des Fahrzeugs akzeptiert, wobei die Vorrichtung weiterhin aufweist: Speichermittel, welche eine Information speichern, welche den ersten und zweiten Steuereinheiten gemeinsam ist; und Begrenzungsmittel, welche die zweite Steuereinheit daran hindern, die gemeinsame Information in die Speichermittel zu schreiben.
  • JP 2013 219 710 A offenbart ein fahrzeuginternes Steuergerät, das dynamisch mit dem Fahrzeugnetz verbunden ist, und das mit einer kryptografischen Einheit, die Zufallszahlen verschlüsselt, und einer Entschlüsselungseinheit ausgestattet ist, die die von den fahrzeuginternen Steuergeräten empfangenen Kommunikationsdaten und Hash-Werte „Ha“ bis „Hd“ entschlüsselt. Das bordeigene Steuergerät ist außerdem mit einer Manipulationsüberprüfungseinheit ausgestattet, die die Manipulation der bordeigenen Steuergeräte durch einen Vergleich zwischen den entschlüsselten Hash-Werten „Ha“ bis „Hd“ und ihren eigenen Hash-Werten überprüft. Das bordeigene Steuergerät überträgt die Kommunikationsdaten bei der Authentifizierung und Verifizierung von Manipulationen entsprechend dem Übertragungsweg an eines der bordeigenen Steuergeräte.
  • Für die Kommunikation in Fahrzeugen wird eine Vielzahl von Protokollen eingesetzt. Man kann daher eine Weiterleitungsvorrichtung, welche eine erste Weiterleitungseinrichtung, die eine Kommunikation zwischen einer Mehrzahl von ersten Kommunikationsvorrichtungen vermittelt, und eine zweite Weiterleitungseinrichtung, die eine Kommunikation zwischen einer Mehrzahl von zweiten Kommunikationsvorrichtungen vermittelt, aufweist, als die Weiterleitungsvorrichtung auffassen.
  • Mit dieser Weiterleitungsvorrichtung kommuniziert zum Beispiel die Mehrzahl der ersten Kommunikationsvorrichtungen unter Verwendung eines ersten Protokolls, die Mehrzahl der zweiten Kommunikationsvorrichtungen kommuniziert zum Beispiel unter Verwendung eines zweiten Protokolls. Die erste Weiterleitungseinrichtung ist außerdem mit der zweiten Weiterleitungseinrichtung verbunden, und die erste Weiterleitungseinrichtung und die zweite Weiterleitungseinrichtung vermitteln eine Kommunikation zwischen den ersten Kommunikationsvorrichtungen und den zweiten Kommunikationsvorrichtungen.
  • Bei einer Weiterleitungsvorrichtung, welche eine erste Weiterleitungseinrichtung und eine zweite Weiterleitungseinrichtung aufweist, ist eine CPU sowohl in der ersten Weiterleitungseinrichtung als auch in der zweiten Weiterleitungseinrichtung vorgesehen, und das Steuerprogramm, welches von der CPU der ersten Weiterleitungseinrichtung ausgeführt wird, ist verschieden von dem Steuerprogramm, welches von der CPU der zweiten Weiterleitungseinrichtung ausgeführt wird. In diesem Fall ist es erforderlich, beide Steuerprogramme zu verifizieren. Eine Weiterleitungsvorrichtung, in welcher sowohl die erste Weiterleitungseinrichtung als auch die zweite Weiterleitungseinrichtung eine Verifikationsfunktion zum Verifizieren, dass die Steuerprogramme authentisch oder echt sind, haben, kann als eine Weiterleitungsvorrichtung verstanden werden, welche die Steuerprogramme in sowohl der ersten Weiterleitungseinrichtung als auch der zweiten Weiterleitungseinrichtung verifiziert.
  • Wenn jedoch sowohl die erste Weiterleitungseinrichtung als auch die zweite Weiterleitungseinrichtung eine Verifikationsfunktion haben, treten Probleme dahingehend auf, dass die Weiterleitungsvorrichtung eine große Größe haben wird und Herstellungskosten zunehmen.
  • Solche Probleme sind nicht auf fahrzeuggebundene Vorrichtungen und Weiterleitungsvorrichtungen beschränkt. Ähnliche Probleme tauchen in einer fahrzeuggebundenen Vorrichtung auf, welche eine erste fahrzeuggebundene Einrichtung, in welcher eine Verarbeitung entsprechend einem ersten Steuerprogramm ausgeführt wird, und eine zweite fahrzeuggebundene Einrichtung, in welcher eine Verarbeitung entsprechend einem zweiten Steuerprogramm, das verschieden ist von dem ersten Steuerprogramm, ausgeführt wird, aufweist.
  • Vor diesem Hintergrund besteht eine Aufgabe der vorliegenden Erfindung darin, eine kleine und kostengünstige fahrzeuggebundene Vorrichtung, welche eine erste fahrzeuggebundene Einrichtung und eine zweite fahrzeuggebundene Einrichtung aufweist, eine kleine und kostengünstige Weiterleitungsvorrichtung, welche eine erste Weiterleitungseinrichtung und eine zweite Weiterleitungseinrichtung aufweist, und Computerprogramme, welche von der fahrzeuggebundenen Vorrichtung und der Weiterleitungsvorrichtung ausgeführt werden, zu schaffen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine fahrzeuggebundene Vorrichtung gemäß einem Aspekt der vorliegenden Erfindung -
    weist die Merkmale des Anspruchs 1 auf.
    weist die Merkmale des Anspruchs 1 auf.
    weist die Merkmale des Anspruchs 1 auf.
  • Gemäß diesem Aspekt der vorliegenden Erfindung verifiziert der Verifizierer der ersten fahrzeuggebundenen Einrichtung das zweite Steuerprogramm durch Ermitteln, ob die zugehörigen Daten, die das zweite Steuerprogramm der zweiten fahrzeuggebundenen Einrichtung betreffen, mit Referenzdaten zusammenpassen oder nicht. Daher ist es nicht erforderlich, dass die zweite fahrzeuggebundene Einrichtung eine Funktion zum Verifizieren des zweiten Steuerprogramms aufweist, und daher ist die Vorrichtung klein und kostengünstig herzustellen.
  • In der fahrzeuggebundenen Vorrichtung gemäß einem weiteren Aspekt der vorliegenden Erfindung verifiziert der Verifizierer das erste Steuerprogramm mittels der anderen Hardware, wodurch ein Verifikationsprogramm ausgeführt wird.
  • Gemäß diesem Aspekt der vorliegenden Erfindung wird das erste Steuerprogramm mit Hilfe der anderen, ein Verifizierungsprogramm oder einen Verifizierungsprozess ausführenden Hardware, welche von der Hardware, die die erste Verarbeitungseinheit ausbildet verschieden ist, verifiziert.
  • In der fahrzeuggebundene Vorrichtung gemäß einem weiteren Aspekt der Erfindung weist der Verifizierer der ersten fahrzeuggebundenen Einrichtung die zugehörige Daten-Berechnungseinheit, eine Zufallszahl-Erzeugungseinheit, welche Zufallszahldaten erzeugt, und eine Referenzdaten-Berechnungseinheit auf, welche die Referenzdaten auf der Basis der Zufallszahldaten, die von der Zufallszahl-Erzeugungseinheit erzeugt wurden, und vorbestimmter Daten berechnet. Die zweite fahrzeuggebundene Einrichtung weist eine Berechnungseinheit auf, welche Berechnungsdaten auf der Basis des zweiten Steuerprogramms und der Zufallszahldaten zum Berechnen der zugehörigen Daten berechnet. Die zugehörige Daten-Berechnungseinheit des Verifizierers berechnet die zugehörigen Daten auf der Basis der Berechnungsdaten, die von der Berechnungseinheit berechnet wurden.
  • Gemäß diesem Aspekt der vorliegenden Erfindung erzeugt der Verifizierer der ersten fahrzeuggebundenen Einrichtung die Zufallszahldaten, und er berechnet die Referenzdaten auf der Basis der erzeugten Zufallszahldaten und der vorbestimmten Daten. Die zweite fahrzeuggebundene Einrichtung erlangt (z. B. erhält oder empfängt) die Zufallszahldaten, die von dem Verifizierer erzeugt wurden, und sie berechnet die Berechnungsdaten auf der Basis der erhaltenen Zufallszahldaten und des zweiten Steuerprogramms. Der Verifizierer erhält die Berechnungsdaten, die von der zweiten fahrzeuggebundenen Einrichtung berechnet wurden, berechnet die zugehörigen Daten auf der Basis der erhaltenene Berechnungsdaten und ermittelt, ob die zugehörigen Daten und die Referenzdaten zusammenpassen oder nicht.
  • Wenn sich die Zufallszahldaten, die von dem Verifizierer erzeugt wurden, geändert haben, werden die Berechnungsdaten, die von der zweiten fahrzeuggebundenen Einrichtung berechnet werden, auch geändert. Man kann zum Beispiel annehmen, dass sich die Zufallszahldaten jedes Mal ändern, wenn der Verifizierer das zweite Steuerprogramm verifiziert. In diesem Fall werden die Berechnungsdaten jedes Mals geändert, wenn der Verifizierer das zweite Steuerprogramm verifiziert, und daher ist das Ergebnis des Verifizierens des zweiten Steuerprogramms sehr zuverlässig.
  • In der fahrzeuggebundenen Vorrichtung gemäß einem weiteren Aspekt der vorliegenden Erfindung weist der Verifizierer der ersten fahrzeuggebundenen Einrichtung eine Speichereinheit auf, welche Schlüsseldaten speichert; die Referenzdaten-Berechnungseinheit berechnet die Referenzdaten auf der Basis der Schlüsseldaten, welche in der Speichereinheit gespeichert sind, der Zufallszahldaten und der vorbestimmten Daten; und die zughörige Daten-Berechnungseinheit berechnet die zughörigen Daten auf der Basis der Berechnungsdaten und der Schlüsseldaten.
  • Gemäß diesem Aspekt der Erfindung berechnet der Verifizierer der ersten fahrzeuggebundenen Einrichtung die Referenzdaten auf der Basis der Schlüsseldaten, der Zufallszahldaten und der vorbestimmten Daten, und er berechnet die zugehörigen Daten auf der Basis der von der zweiten fahrzeuggebundenen Einrichtung berechneten Berechnungsdaten und der Schlüsseldaten. Dementsprechend ist das Ergebnis der Verifizierung des zweiten Steuerprogramms sehr zuverlässig.
  • In der fahrzeuggebundenen Vorrichtung gemäß einem weiteren Aspekt der Erfindung weist der Verifizierer der ersten fahrzeuggebundenen Einrichtung eine Zufallszahl-Erzeugungseinheit, welche Zufallszahldaten erzeugt, und eine Referenzdaten-Berechnungseinheit auf, welche die Referenzdaten auf der Basis der Zufallszahldaten, die von der Zufallszahl-Erzeugungseinheit erzeugt wurden, und vorbestimmter Daten berechnet. Die zweite fahrzeuggebundene Einrichtung weist die zugehörige Daten-Berechnungseinheit auf. Die zugehörige Daten-Berechnungseinheit berechnet die zugehörigen Daten auf der Basis des zweiten Steuerprogramms und der Zufallszahldaten.
  • Gemäß diesem Aspekt der Erfindung erzeugt der Verifizierer der ersten fahrzeuggebundenen Einrichtung die Zufallszahldaten, und er berechnet die Referenzdaten auf der Basis der erzeugten Zufallszahldaten und der vorbestimmten Daten. Die zweite fahrzeuggebundene Einrichtung erhält die von dem Verifizierer erzeugten Zufallszahldaten und berechnet die zugehörigen Daten auf der Basis der erhaltenen Zufallszahldaten und des zweiten Steuerprogramms. Der Verifizierer erhält die von der zweiten fahrzeuggebundenen Einrichtung berechneten zugehörigen Daten und ermittelt, ob die erlangten zugehörigen Daten und die Referenzdaten zusammenpassen oder nicht.
  • Wenn sich die Zufallszahldaten, die von dem Verifizierer erzeugt wurden, ändern, werden sich auch die zugehörigen Daten, die von der zweiten fahrzeuggebundenen Einrichtung berechnet werden, ändern. Zum Beispiel angenommen, dass sich die Zufallszahldaten jedes Mal ändern, wenn der Verifizierer das zweite Steuerprogramm verifiziert; in diesem Fall werden die zugehörigen Daten, die von der zweiten fahrzeuggebundenen Einrichtung mittels des Verifizierers erlangt werden, jedes Mal geändert, wenn der Verifizierer das zweite Steuerprogramm verifiziert, und daher ist das Ergebnis des Verifizierens des zweiten Steuerprogramms sehr zuverlässig.
  • Die fahrzeuggebundene Vorrichtung gemäß einem weiteren Aspekt der Erfindung weist ferner eine Betriebssteuereinheit (z. B. eine Ablauf-Steuereinheit) auf, welche Vorgänge (z. B. einen Ablauf, Abläufe, Verfahrensschritte oder Prozesse) der zweiten fahrzeuggebundenen Einrichtung in dem Fall stoppt (z.B. unterbricht oder abbricht), in dem die Ermittlungseinheit des Verifizierers ermittelt, dass die zugehörigen Daten und die Referenzdaten nicht zusammenpassen.
  • Gemäß diesem Aspekt der Erfindung wird angenommen, dass, wenn der Verifizierer der ersten fahrzeuggebundenen Einrichtung ermittelt hat, dass die zugehörigen Daten und die vorbestimmten Daten nicht zusammenpassen, es wahrscheinlich ist, dass das zweite Steuerprogramm geändert (z. B. manipuliert) wurde, und die zweite fahrzeuggebundene Einrichtung stoppt den Ablauf.
  • Eine Weiterleitungsvorrichtung gemäß einem weiteren Aspekt der Erfindung weist die Merkmale des Anspruchs 6 auf.
  • Gemäß diesem Aspekt der Erfindung wird in der zweiten Weiterleitungseinrichtung ein Verfahren gemäß dem Steuerprogramm ausgeführt. Die erste Weiterleitungseinrichtung berechnet unter Verwendung der Schlüsseldaten die zugehörigen Daten, die das Steuerprogramm der zweiten Weiterleitungseinrichtung betreffen, und sie ermittelt, ob die berechneten zugehörigen Daten und die vorbestimmten Daten zusammenpassen. Wenn die zugehörigen Daten und die vorbestimmten Daten zusammenpassen, benachrichtigt zum Beispiel die erste Weiterleitungseinrichtung die zweite Weiterleitungseinrichtung, dass das Steuerprogramm genuin oder echt ist, und die zweite Weiterleitungseinrichtung startet das Verfahren gemäß dem Steuerprogramm.
  • Wie vorstehend beschrieben, verifiziert die erste Weiterleitungseinrichtung das Steuerprogramm der zweiten Weiterleitungseinrichtung als legitimiert, und daher ist es nicht erforderlich, dass sowohl die erste Weiterleitungseinrichtung als auch die zweite Weiterleitungseinrichtung eine Funktion haben zum Verifizieren des Steuerprogramms. Die Vorrichtung ist daher klein und kostengünstig herzustellen.
  • Die Weiterleitungsvorrichtung gemäß einem weiteren Aspekt der Erfindung weist ferner eine Betriebssteuereinheit (z. B. eine den Ablauf steuernde Einheit, Ablauf-Steuerungseinheit) auf, welche Vorgänge (z. B. einen Ablauf, Abläufe, Verfahrensschritte oder Prozesse) der zweiten Weiterleitungseinrichtung in dem Fall stoppt (z.B. unterbricht oder abbricht), in dem die Ermittlungseinheit der ersten Weiterleitungseinrichtung ermittelt hat, dass die zugehörigen Daten und die vorbestimmten Daten nicht zusammenpassen.
  • Gemäß diesem Aspekt der Erfindung wird angenommen, dass, wenn die erste Weiterleitungseinrichtung ermittelt, dass die zugehörigen Daten und die vorbestimmten Daten nicht zusammenpassen, es wahrscheinlich ist, dass das Steuerprogramm der zweiten Weiterleitungseinrichtung geändert (z. B. manipuliert) wurde, und die zweite Weiterleitungseinrichtung stoppt den Ablauf.
  • In der Weiterleitungsvorrichtung gemäß einem weiteren Aspekt der Erfindung weist die zweite Weiterleitungseinrichtung eine Berechnungseinheit auf, welche Berechnungsdaten zum Berechnen der zugehörigen Daten berechnet; die erste Weiterleitungseinrichtung weist eine Erlangungseinheit (z. B. eine Beschaffungseinheit bzw. Empfangseinheit) auf, welche die Berechnungsdaten, die von der Berechnungseinheit berechnet wurden, erhält (z. B. abruft, beschafft, erlangt oder empfängt); und die Berechnungseinheit der ersten Weiterleitungseinrichtung berechnet die zugehörigen Daten unter Verwendung der Schlüsseldaten und der von der Erlangungseinheit erhaltenen Berechnungsdaten.
  • Gemäß diesem Aspekt der Erfindung berechnet die zweite Weiterleitungseinrichtung die Berechnungsdaten zum Berechnen der zugehörigen Daten. Die erste Weiterleitungseinrichtung erhält die Berechnungsdaten von der zweiten Weiterleitungseinrichtung, und sie berechnet die zugehörigen Daten unter Verwendung der Schlüsseldaten und der Berechnungsdaten. Wenn zum Beispiel die Größe der Berechnungsdaten kleiner ist als die Größe des Steuerprogramms, wird nur eine kleine Menge der Daten von der zweiten Weiterleitungseinrichtung zu der ersten Weiterleitungseinrichtung transferiert, um zu verifizieren (z. B. als sicher, echt, autorisiert, nicht manipuliert oder genuin einzustufen), dass das Steuerprogramm echt ist. In diesem Fall ist lediglich eine kurze Zeitdauer für die Verifikation erforderlich.
  • In der Weiterleitungsvorrichtung gemäß einem weiteren Aspekt der Erfindung weist die erste Weiterleitungseinrichtung eine Verarbeitungseinheit, welche ein Verfahren gemäß einem zweiten Steuerprogramm durchführt, eine zweite Speichereinheit, welche zweite Schlüsseldaten speichert, eine zweite Berechnungseinheit, welche zweite zugehörige Daten, die das zweite Steuerprogramm betreffen, unter Verwendung der zweiten Schlüsseldaten berechnet, und eine zweite Ermittlungseinheit auf, welche ermittelt, ob die zweiten zugehörigen Daten, die von der zweiten Berechnungseinheit berechnet wurden, mit zweiten vorbestimmten Daten zusammenpassen oder nicht.
  • Gemäß diesem Aspekt der Erfindung wird in der ersten Weiterleitungseinrichtung ein Verfahren gemäß dem zweiten Steuerprogramm ausgeführt. Die erste Weiterleitungseinrichtung verifiziert das Steuerprogramm der zweiten Weiterleitungseinrichtung durch Berechnen der zugehörigen Daten unter Verwendung der Schlüsseldaten, und sie verifiziert durch Berechnens der zweiten zugehörigen Daten unter Verwendung der zweiten Schlüsseldaten, dass ihr eigenes zweites Steuerprogramm legitimiert ist.
  • Die Weiterleitungsvorrichtung gemäß einem weiteren Aspekt der Erfindung weist ferner eine Konvertierungseinheit (z. B. eine Umwandlungs- oder Anpassungseinheit) auf, welche Daten, die einem ersten Protokoll entsprechen, das bei der Kommunikation zwischen der Mehrzahl von ersten Kommunikationsvorrichtungen verwendet wird, in Daten konvertiert, die einem zweiten Protokoll entsprechen, das bei der Kommunikation zwischen der Mehrzahl von zweiten Kommunikationsvorrichtungen verwendet wird, und welche Daten, die dem zweiten Protokoll entsprechen, in Daten konvertiert, die dem ersten Protokoll entsprechen.
  • Gemäß diesem Aspekt der Erfindung wird das erste Protokoll bei der Kommunikation zwischen der Mehrzahl von ersten Kommunikationsvorrichtungen verwendet, und das zweite Protokoll bei der Kommunikation zwischen der Mehrzahl von zweiten Kommunikationsvorrichtungen verwendet. Wenn eine Kommunikation zwischen der ersten Kommunikationsvorrichtung und der zweiten Kommunikationsvorrichtung ausgeführt wird (z. B. stattfindet), werden Daten, die zu dem ersten Protokoll entsprechen, in Daten konvertiert, die dem zweiten Protokoll entsprechen, und Daten, die zu dem zweiten Protokoll entsprechen, werden in Daten konvertiert, die zu dem ersten Protokoll entsprechen.
  • Ein Computerprogramm gemäß einem weiteren Aspekt der Erfindung ist ein Computerprogramm, das die Merkmale des Anspruchs 10 aufweist.
  • Gemäß diesem Aspekt der Erfindung verifiziert der Verifizierer der ersten fahrzeuggebundenen Einrichtung das zweite Steuerprogramm durch Ermitteln, ob die zugehörigen Daten, die das zweite Steuerprogramm der zweiten fahrzeuggebundenen Einrichtung betreffen, mit Referenzdaten zusammenpassen. Daher ist es nicht notwendig, dass die zweite fahrzeuggebundene Einrichtung eine Funktion zum Verifizieren des zweiten Steuerprogramms aufweist, und daher ist die fahrzeuggebundene Vorrichtung klein und kostengünstig herzustellen.
  • Ein Computerprogramm gemäß einem weiteren Aspekt der Erfindung ist ein Computerprogramm, das die Merkmale des Anspruchs 11 aufweist.
  • Gemäß diesem Aspekt der Erfindung verifiziert der Verifizierer der ersten fahrzeuggebundenen Einrichtung das zweite Steuerprogramm durch Ermitteln, ob die zugehörigen Daten, die das zweite Steuerprogramm der zweiten fahrzeuggebundenen Einrichtung betreffen, mit Referenzdaten zusammenpassen. Daher ist es nicht notwendig, dass die zweite fahrzeuggebundene Einrichtung eine Funktion zum Verifizieren des zweiten Steuerprogramms aufweist, und daher ist die fahrzeuggebundene Vorrichtung klein und kostengünstig herzustellen.
  • Ein Computerprogramm gemäß einem weiteren Aspekt der Erfindung ist ein Computerprogramm, das die Merkmale des Anspruchs 12 aufweist.
  • Gemäß diesem Aspekt der Erfindung verifiziert die erste Weiterleitungseinrichtung das Steuerprogramm der zweiten Weiterleitungseinrichtung durch Ermitteln, ob die zugehörigen Daten, die das Steuerprogramm der zweiten Weiterleitungseinrichtung betreffen, mit Referenzdaten zusammenpassen. Daher ist es nicht notwendig, dass die zweite Weiterleitungseinrichtung eine Funktion zum Verifizieren des Steuerprogramms aufweist, und daher ist die Weiterleitungsvorrichtung klein und kostengünstig herzustellen.
  • Gemäß Aspekten der Erfindung können kleine und kostengünstige Vorrichtungen realisiert werden.
  • Figurenliste
    • 1 ist ein Blockschaltbild, das die grundlegende Konfiguration eines Kommunikationssystems entsprechend einer ersten Ausführungsform darstellt.
    • 2 ist ein Blockschaltbild, das die grundlegende Konfiguration einer ersten Weiterleitungseinrichtung darstellt.
    • 3 ist ein Blockschaltbild, das die grundlegende Konfiguration einer zweiten Weiterleitungseinrichtung darstellt.
    • 4 ist ein Flussdiagramm, das einen Ablauf eines ersten Vermittlungsvorgangs darstellt.
    • 5 ist ein Flussdiagramm, das einen Ablauf eines zweiten Vermittlungsvorgangs darstellt.
    • 6 ist ein Flussdiagramm, das einen Ablauf eines Verifikationsprozesses darstellt.
    • 7 ist ein Flussdiagramm, das einen Ablauf eines Startvorgangs darstellt.
    • 8 ist ein Blockschaltbild, das die grundlegende Konfiguration eines Kommunikationssystems entsprechend einer zweiten Ausführungsform darstellt.
    • 9 ist ein Blockschaltbild, das die grundlegende Konfiguration einer zweiten Weiterleitungseinrichtung darstellt.
    • 10 ist ein Flussdiagramm, das einen Ablauf eines Startvorgangs darstellt.
    • 11 ist ein Flussdiagramm, das einen Ablauf eines Verifizierungsprozesses entsprechend einer dritten Ausführungsform darstellt.
    • 12 ist ein Flussdiagramm, das einen Ablauf des Verifizierungsprozesses entsprechend der dritten Ausführungsform darstellt.
    • 13 ist ein Flussdiagramm, das einen Ablauf eines Startvorgangs darstellt.
    • 14 ist ein erläuterndes Diagramm, das eine Verifizierung eines zweiten Steuerprogramms darstellt.
    • 15 ist ein Flussdiagramm, das einen Ablauf eines Verifizierungsprozesses entsprechend einer vierten Ausführungsform darstellt.
    • 16 ist ein Flussdiagramm, das einen Ablauf des Verifizierungsprozesses entsprechend der vierten Ausführungsform darstellt.
    • 17 ist ein Flussdiagramm, das einen Ablauf eines Startvorgangs darstellt.
    • 18 ist ein erläuterndes Diagramm, das eine Verifizierung eines zweiten Steuerprogramms darstellt.
  • AUSFÜHRUNGSFORMEN DER ERFINDUNG
  • Die vorliegende Erfindung wird nachstehend auf der Basis der Zeichnungen, welche Ausführungsformen davon darstellen, im Detail beschrieben.
  • Erste Ausführungsform
  • 1 ist ein Blockschaltbild, das die grundlegende Konfiguration eines Kommunikationssystems 1 entsprechend einer ersten Ausführungsform darstellt. Das Kommunikationssystem 1 ist bevorzugt in einem Fahrzeug 100 installiert, und es weist eine Weiterleitungsvorrichtung 11, ECUs 12a, 12a, 12b und 12b, fahrzeuggebundene Einrichtungen 13a, 13b und13c und Kommunikationsleitungen La und Lb auf. Die Weiterleitungsvorrichtung 11 weist eine erste Weiterleitungseinrichtung 21 und eine zweite Weiterleitungseinrichtung 22 auf.
  • Die Weiterleitungsvorrichtung 11, die erste Weiterleitungseinrichtung 21 und die zweite Weiterleitungseinrichtung 22 fungieren als eine fahrzeuggebundene Vorrichtung, eine erste fahrzeuggebundene Einrichtung und eine zweite fahrzeuggebundene Einrichtung.
  • Die beiden Kommunikationsleitungen La und Lb sind einzeln mit der ersten Weiterleitungseinrichtung 21 der Weiterleitungsvorrichtung 11 verbunden. Zwei der ECUs 12a und 12a sind mit der Kommunikationsleitung La verbunden. Zwei der ECUs 12b und 12b sind mit der Kommunikationsleitung Lb verbunden. In der Weiterleitungsvorrichtung 11 ist die erste Weiterleitungseinrichtung 21 mit der zweiten Weiterleitungseinrichtung 22 verbunden. Die drei fahrzeuggebundenen Einrichtungen 13a, 13b und13c sind einzeln mit der zweiten Weiterleitungseinrichtung 22 verbunden.
  • Eine Kommunikation wird über die Kommunikationsleitungen La und Lb entsprechend dem Controller-Area-Network-Protokoll (CAN-Protokoll) ausgeführt. Die Kommunikationsleitungen La und Lb sind verdrillte Zweidrahtleitungen. ECU-Daten, einschließlich einer Identifikationsinformation, werden über die Kommunikationsleitungen La und Lb entsprechend dem CAN-Protokoll übermittelt. Die Identifikationsinformation ist eine Information, welche die ECU-Daten, die diese Identifikationsinformation enthält, identifiziert.
  • Die ECUs 12a und 12a und die erste Weiterleitungseinrichtung 21 übermitteln die ECU-Daten über die Kommunikationsleitung La. Die ECU-Daten, die über eine der ECUs 12a und 12a und die erste Weiterleitungseinrichtung 21 übermittelt werden, werden von allen anderen Einrichtungen empfangen. Zum Beispiel werden die ECU-Daten, die von einer ECU 12a übermittelt werden, von der anderen ECU 12a und der ersten Weiterleitungseinrichtung 21 empfangen.
  • Entsprechend übermitteln die ECUs 12b und 12b und die erste Weiterleitungseinrichtung 21 die ECU-Daten über die Kommunikationsleitung Lb. Die ECU-Daten, die über eine der ECUs 12b und 12b und die erste Weiterleitungseinrichtung 21 übermittelt werden, werden von allen anderen Einrichtungen empfangen. Zum Beispiel werden die ECU-Daten, die von einer ECU 12b übermittelt werden, von der anderen ECU 12b und der ersten Weiterleitungseinrichtung 21 empfangen.
  • Wenn jede der ECUs 12a und 12a die ECU-Daten empfangen hat, ermitteln die ECUs 12a und 12a, ob eine Verarbeitung, welche diese ECU-Daten betrifft, ausgeführt werden soll oder nicht, auf der Basis der Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist. Wenn die ECUs 12a und 12a ermittelt haben, dass die Verarbeitung, welche die empfangenen ECU-Daten betrifft, ausgeführt werden soll, führen die ECUs 12a und 12a die Verarbeitung, welche die empfangenen ECU-Daten betrifft, aus. Wenn die ECUs 12a und 12a ermittelt haben, dass die Verarbeitung, welche die empfangenen ECU-Daten betrifft, nicht ausgeführt werden soll, verwerfen oder löschen die ECUs 12a und 12a die empfangenen ECU-Daten.
  • Entsprechend, wenn jede der ECUs 12b und 12b die ECU-Daten empfangen hat, ermitteln die ECUs 12b und 12b, ob eine Verarbeitung, welche diese ECU-Daten betrifft, ausgeführt werden soll oder nicht auf der Basis der Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist. Wenn die ECUs 12b und 12b ermittelt haben, dass die Verarbeitung, welche die empfangenen ECU-Daten betrifft, ausgeführt werden soll, führen die ECUs 12b und 12b die Verarbeitung, welche die empfangenen ECU-Daten betrifft, aus. Wenn die ECUs 12b und 12b ermittelt haben, dass die Verarbeitung, welche die empfangenen ECU-Daten betrifft, nicht ausgeführt werden soll, verwerfen oder löschen die ECUs 12b und 12b die empfangenen ECU-Daten.
  • Elektrische Einrichtungen (nicht dargestellt) sind mit jeder der ECUs 12a, 12a, 12b und 12b verbunden. Beispielsweise führt jede der ECUs 12a, 12a, 12b und 12b einen Prozess zum Steuern der Vorgänge der mit der ECU verbundenen elektrischen Einrichtung auf der Basis von in den empfangenen ECU-Daten enthaltenen Angaben als eine Verarbeitung, welche die empfangenen ECU-Daten betrifft, aus.
  • Wenn zum Beispiel ein Sensor mit jeder der ECUs 12a, 12a, 12b und 12b verbunden ist, übermitteln die ECUs 12a, 12a, 12b und 12b ECU-Daten, welche Messwerte anzeigen, die von den entsprechenden Sensoren detektiert wurden. Wenn in einem alternativen Beispiel eine Annahme-Einheit (oder EingabeEinheit), welche Befehle von einem Benutzer entgegen nimmt, mit jeder der ECUs 12a, 12a, 12b und 12b verbunden ist, übermitteln die ECUs 12a, 12a, 12b und 12b ECU-Daten, welche Angaben über die Befehle, die von den entsprechenden Annahme-Einheiten angenommen wurden, anzeigen. Wenn zum Beispiel ein Fenstermotor, der ein elektrisches Fenster des Fahrzeuges öffnet/schließt, mit einer ECU 12a verbunden ist, übermittelt die andere ECU 12a ECU-Daten, die das elektrische Fenster steuern, so dass es geöffnet wird. Die eine ECU 12a veranlasst den Fenstermotor, das elektrische Fenster zu öffnen, wenn solche ECU-Daten empfangen werden.
  • Die erste Weiterleitungseinrichtung 21 vermittelt eine Kommunikation zwischen einer der ECUs 12a und 12a und einer der ECUs 12b und 12b. Insbesondere übermittelt die erste Weiterleitungseinrichtung 21 die über die Kommunikationsleitung La empfangenen ECU-Daten, über die Kommunikationsleitung Lb weiter, und sie übermittelt die über die Kommunikationsleitung Lb empfangenen ECU-Daten, über die Kommunikationsleitung La. Jede der ECUs 12a, 12a, 12b und 12b fungiert als eine erste Kommunikationsvorrichtung. Das CAN-Protokoll wird für die Kommunikation zwischen einer der ECUs 12a und 12a und einer der ECUs 12b und 12b angewendet.
  • Jede der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c kommuniziert eins-zu-eins mit der zweiten Weiterleitungseinrichtung 22. Eine Kommunikation wird, zum Beispiel basierend auf dem Ethernet-Standard (Markenname), zwischen jeder der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c und der zweiten Weiterleitungseinrichtung 22 ausgeführt. Jede der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt Einrichtungsdaten, welche eine Übermittlungszielinformation enthalten, die ein Übermittlungsziel anzeigt, an die zweite Weiterleitungseinrichtung 22. Die zweite Weiterleitungseinrichtung 22 vermittelt die Kommunikation, die zwischen zwei der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c stattfindet. Jede der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c fungiert als eine zweite Kommunikationsvorrichtung. Für die Kommunikation zwischen zwei der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c wird zum Beispiel ein Transmission Control Protocol (TCP) / Internet Protocol (IP) eingesetzt, was ein Protokoll ist, das mit Ethernet (Markenname) konform (Ethernet-fähig) ist.
  • Angenommen, die fahrzeuggebundenen Einrichtungen 13a und 13b sind eine Kamera und eine Anzeige. In diesem Fall übermittelt die fahrzeuggebundene Einrichtung 13a an die zweite Weiterleitungseinrichtung 22 Einrichtungsdaten, welche von der Kamera aufgenommene Bilddaten aufweisen. Diese Einrichtungsdaten enthalten eine Übermittlungszielinformation, welche die fahrzeuggebundene Einrichtung 13b als das Übermittlungsziel anzeigt. Die zweite Weiterleitungseinrichtung 22 übermittelt die Einrichtungsdaten, welche die Bilddaten enthalten, an die fahrzeuggebundene Einrichtung 13b. Die fahrzeuggebundene Einrichtung 13b stellt auf der Basis der Bilddaten, welche in den Einrichtungsdaten enthalten sind, die von der zweiten Weiterleitungseinrichtung 22 empfangen wurden, ein Bild dar.
  • Die erste Weiterleitungseinrichtung 21 und die zweite Weiterleitungseinrichtung 22 vermitteln eine Kommunikation zwischen einer der ECUs 12a, 12a, 12b und 12b und einer der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c.
  • Wie weiter vorstehend beschrieben sind die ECU-Daten Daten, die mit dem CAN-Protokoll konform sind, und entsprechen somit Daten, welche einem ersten Protokoll entsprechen bzw. konform sind. Die Einrichtungsdaten sind Daten, die dem Protokoll entsprechen bzw. konform sind, dass bei der Kommunikation zwischen zwei der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c angewendet wird, und sie entsprechen Daten, welche einem zweiten Protokoll entsprechen bzw. konform sind.
  • Die erste Weiterleitungseinrichtung 21 konvertiert ECU-Daten, die über eine der Kommunikationsleitungen La und Lb empfangen wurden, in Einrichtungsdaten. Die zweite Weiterleitungseinrichtung 22 übermittelt die Einrichtungsdaten, welche von der ersten Weiterleitungseinrichtung 21 konvertiert wurden, an eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c. Die zweite Weiterleitungseinrichtung 22 empfängt die Einrichtungsdaten von einer der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c. Die erste Weiterleitungseinrichtung 21 konvertiert die Einrichtungsdaten, welche von der zweiten Weiterleitungseinrichtung 22 empfangen wurden, in ECU-Daten und übermittelt die konvertierten ECU-Daten über mindestens eine der Kommunikationsleitungen La und Lb.
  • 2 ist ein Blockschaltbild, das die grundlegende Konfiguration der ersten Weiterleitungseinrichtung 21 darstellt. Die erste Weiterleitungseinrichtung 21 weist auf: einen Nur-Lese-Speicher (Read-Only Memory, ROM) 31, eine CPU 32, Kommunikationseinheiten 33a und 33b, ein Hardware-Sicherheits-Modul (Hardware Security Module, HSM) 34, einen Schreib-Lese-Speicher (Random Access Memory, RAM) 35 und einen Stromversorgungskreis 36. Diese sind an einem Bus 37 verbunden. Zusätzlich zu dem Bus 37 sind die Kommunikationseinheiten 33a und 33b jeweils mit den Kommunikationsleitungen La und Lb verbunden. Zusätzlich zu dem Bus 37 ist der RAM 35 mit der zweiten Weiterleitungsvorrichtung 22 verbunden.
  • In dem ROM 31 ist ein erstes Steuerprogramm P1 gespeichert. Die CPU 32 führt den ersten Vermittlungsvorgang bzw. Weiterleitungsprozess gemäß dem ersten Steuerprogramm P1 durch. Der erste Vermittlungsvorgang ist ein Prozess zum Vermitteln einer Kommunikation zwischen einer der ECUs 12a und 12a und einer der ECUs 12b und 12b, und einer Kommunikation zwischen einer der ECUs 12a, 12a, 12b und 12b und einer der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c. Das erste Steuerprogramm P1 entspricht einem zweiten Steuerprogramm, und die CPU 32 fungiert als eine Verarbeitungseinheit. Außerdem fungiert die CPU 32 als eine erste Verarbeitungseinheit und ist eine Hardware, die die erste Verarbeitungseinheit bildet.
  • Die Kommunikationseinheit 33a empfängt die ECU-Daten von einer der ECUs 12a und 12a über die Kommunikationsleitung La. Die Kommunikationseinheit 33a übermittelt die ECU-Daten über die Kommunikationsleitung La in Abhängigkeit von Befehlen der CPU 32. Die von der Kommunikationseinheit 33a übermittelten ECU-Daten werden von den ECUs 12a und 12a empfangen.
  • Die Kommunikationseinheit 33b empfängt die ECU-Daten von einer der ECUs 12b und 12b über die Kommunikationsleitung Lb. Die Kommunikationseinheit 33b übermittelt die ECU-Daten über die Kommunikationsleitung Lb in Abhängigkeit von Befehlen der CPU 32. Die von der Kommunikationseinheit 33b übermittelten ECU-Daten werden von den ECUs 12b und 12b empfangen.
  • Ein zweites Steuerprogramm P2 (siehe 3) ist in der zweiten Weiterleitungsvorrichtung 22 gespeichert. Das HSM 34 verifiziert (validiert), dass das erste Steuerprogramm P1 legitimiert ist, und verifiziert, dass das zweite Steuerprogramm P2 legitimiert ist. Das HSM 34 fungiert als ein Verifizierer (bzw. eine Verifizier- oder Validierungseinrichtung), der das erste Steuerprogramm P1 und das zweite Steuerprogramm P2 verifiziert.
  • Sowohl die CPU 32, das HSM 34 und die zweiten Weiterleitungseinrichtung 22 schreibt verschiedene Arten von Daten in den RAM 35 und liest Daten aus dem RAM 35 aus. Dementsprechend kann die CPU 32 zum Beispiel Daten aus dem RAM 35 auslesen, welche die zweite Weiterleitungseinrichtung 22 in das RAM 35 geschrieben hat.
  • Der Stromversorgungskreis 36 ist mit einer Batterie (nicht dargestellt) des Fahrzeugs 100 mittels einer Stromleitung verbunden. Der Stromversorgungskreis 36 ist ferner mit dem ROM 31, der CPU 32, den Kommunikationseinheiten 33a und 33b, dem HSM 34 und dem RAM 35 mittels Stromleitungen (nicht dargestellt) verbunden. Der Stromversorgungskreis 36 transformiert eine Spannung, die von der Batterie ausgegeben wird, in eine vorbestimmte erste Spannung. Der Stromversorgungskreis 36 gibt die erste Spannung an den ROM 31, die CPU 32, die Kommunikationseinheiten 33a und 33b, das HSM 34 und den RAM 35 aus und versorgt diese Einheiten mit Strom.
  • Wenn zum Beispiel ein Zündschalter (nicht dargestellt) des Fahrzeugs 100 angeschaltet wurde, versorgt der Stromversorgungskreis 36 den ROM 31, die CPU 32, die Kommunikationseinheiten 33a und 33b, das HSM 34 und den RAM 35 mit Strom, wodurch diese Einheiten in Betrieb genommen werden. Der Stromversorgungskreis 36 stoppt die Stromversorgung des ROM 31, der CPU 32, der Kommunikationseinheiten 33a und 33b, des HSM 34 und des RAM 35 in Abhängigkeit von Befehlen des HSM 34. Dementsprechend stoppen diese Einheiten ihren Betrieb und Daten, die dem RAM 35 gespeichert sind, werden gelöscht.
  • Das HSM 34 weist einen ROM 41, eine CPU 42 und eine Schnittstelle 43 auf. Diese sind mit einem Bus 44 verbunden. Die Schnittstelle 43 ist zusätzlich zu dem Bus 44 mit dem Bus 37 verbunden.
  • Ein Verifikationsprogramm Ph ist in dem ROM 41 gespeichert. Die CPU 42 führt das Verifikationsprogramm Ph innerhalb der ersten Weiterleitungseinrichtung 21 aus. Dadurch wird ein Verifizierungsprozess zum Verifizieren, dass das erste Steuerprogramm P1 und das zweite Steuerprogramm P2 legitimiert sind, ausgeführt. Das Verifikationsprogramm Ph ist ein Computerprogramm, das veranlasst, dass die CPU 42 den Verifizierungsprozess durchführt. Außerdem sind in dem ROM 41 erste Schlüsseldaten K1, erste Referenzdaten R1, zweite Schlüsseldaten K2 und zweite Referenzdaten R2 gespeichert. Dies sind vorbestimmte Daten und sie werden in dem Verifizierungsprozess verwendet. Der ROM 41 fungiert als eine Speichereinheit und als eine zweite Speichereinheit.
  • Die CPU 42 ist eine Hardware zum Verifizieren des ersten Steuerprogramms P1 und des zweiten Steuerprogramms P2, und sie ist verschieden von der CPU 32.
  • Es wird angemerkt, dass das Verifikationsprogramm Ph in einem Speichermedium E1 gespeichert werden kann, so dass es von einem Computer (der CPU 42) lesbar ist. In diesem Fall wird das Verifikationsprogramm Ph, das von dem Speichermedium E1 mittels einer Auslesevorrichtung (nicht dargestellt) ausgelesen wird, in einer Speichereinheit (nicht dargestellt) des HSM 34 gespeichert. Das Speichermedium E1 ist eine optische Platte, eine flexible Platte, eine magnetische Platte, eine magneto-optische Platte, ein Halbleiterspeicher oder dergleichen. Beispiele für optische Platten sind ein Compact Disc Read Only Memory (CD-ROM), eine Digital Versatile Disc (DVD) ROM oder eine Blu-ray Disc (BD; Markenname). Ein Beispiel für eine magnetische Platte ist eine Festplatte. Alternativ kann das Verifikationsprogramm Ph von einer externen Vorrichtung (nicht dargestellt) heruntergeladen werden, die mit einem Kommunikationsnetzwerk (nicht dargestellt) verbunden ist, und das Verifikationsprogramm Ph kann dann in der vorgenannten Speichereinheit gespeichert werden.
  • Die CPU 42 greift auf den ROM 31 und den RAM 35 der ersten Weiterleitungseinrichtung 21 durch die Schnittstelle 43 zu. Insbesondere liest die CPU 42 das erste Steuerprogramm P1 aus dem ROM 31 aus. Die CPU 42 schreibt ferner verschiedene Arten von Daten in den RAM 35 und liest Daten von dem RAM 35 aus. Außerdem instruiert die CPU 42 den Stromversorgungskreis 36 eine Stromversorgung zu stoppen. Wie vorstehend beschrieben, erlaubt die Schnittstelle 43 der CPU 42 auf den ROM 31, den RAM 35 und den Stromversorgungskreis 36 zuzugreifen. Andererseits verhindert die Schnittstelle 43, dass die CPU 32 auf den ROM 41 zugreift. Dementsprechend kann die CPU 32 einen Inhalt, der in dem ROM 41 gespeichert ist, nicht auslesen.
  • Wenn die Versorgung mit Strom von dem Stromversorgungskreis 36 an das HSM 34 begonnen hat, führt die CPU 42 den Verifizierungsprozess durch. Die CPU 32 der ersten Weiterleitungseinrichtung 21 stoppt den Betrieb, während die CPU 42 den Verifizierungsprozess ausführt. Zum Beispiel ist die CPU 32 in Betrieb, wenn die Spannung an einem Endgerät (Terminal, nicht dargestellt) der CPU 32 in einem Zustand hoher Spannung ist, und sie stoppt den Betrieb, wenn die Spannung an dem Endgerät in einem Zustand niedriger Spannung ist. In diesem Fall hält das HSM 34 die Spannung an dem Endgerät der CPU 32 in dem Zustand niedriger Spannung, während die CPU 42 den Verifizierungsprozess ausführt. Wenn die CPU 42 den Verifizierungsprozess beendet, dann schaltet das HSM 34 die Spannung an dem Endgerät der CPU 32 in den Zustand hoher Spannung.
  • 3 ist ein Blockschaltbild, das die grundlegende Konfiguration der zweiten Weiterleitungseinrichtung 22 darstellt. Die zweite Weiterleitungseinrichtung 22 weist einen ROM 51, eine CPU 52, Kommunikationseinheiten 53a, 53b und 53c und einen Stromversorgungskreis 54 auf. Diese sind mit einem Bus 55 verbunden. Der Bus 55 ist außerdem mit dem RAM 35 der ersten Weiterleitungseinrichtung 21 verbunden. Zusätzlich zu dem Bus 55 sind die Kommunikationseinheiten 53a, 53b und 53c entsprechend mit den fahrzeuggebundenen Einrichtungen 13a, 13b und 13c verbunden.
  • Ein Startprogramm Pb und das zweites Steuerprogramm P2 sind in dem ROM 51 gespeichert. Die CPU 52 führt den Startvorgang gemäß dem Startprogramm Pb aus. Der Startvorgang ist der erste Prozess, der von der CPU 52 ausgeführt wird nachdem die Stromversorgung der CPU 52 eingesetzt hat, sodass die CPU 52 einen Betrieb.
  • Die CPU 52 führt den zweiten Vermittlungsvorgang in Übereinstimmung mit dem zweiten Steuerprogramm P2 aus. Der zweite Vermittlungsvorgang ist ein Prozess zum Vermitteln einer Kommunikation zwischen zwei der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c, und einer Kommunikation zwischen einer der ECUs 12a, 12a, 12b und 12b und einer der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c. Die CPU 52 fungiert als eine zweite Verarbeitungseinheit.
  • Die Kommunikationseinheiten 53a, 53b und 53c empfangen Einrichtungsdaten entsprechend von den fahrzeuggebundenen Einrichtungen 13a, 13b und 13c. Die Kommunikationseinheiten 53a, 53b und 53c übermitteln ferner Einrichtungsdaten an die fahrzeuggebundenen Einrichtungen 13a, 13b und 13c in Abhängigkeit von von Befehlen der CPU 52.
  • Der Stromversorgungskreis 54 ist mit der Batterie des Fahrzeugs 100 mittels einer Stromleitung (nicht dargestellt) verbunden. Der Stromversorgungskreis 54 ist ferner mit dem ROM 51, der CPU 52 und den Kommunikationseinheiten 53a, 53b und 53c mittels Stromleitungen (nicht dargestellt) verbunden. Der Stromversorgungskreis 54 transformiert eine Spannung, die von der Batterie ausgegeben wird, in eine vorbestimmte zweite Spannung. Der Stromversorgungskreis 54 gibt die vorbestimmte zweite Spannung an den ROM 51, die CPU 52, die Kommunikationseinheiten 53a und 53b, das HSM 34 und den RAM 35 aus, und versorgt diese Einheiten mit Strom.
  • Wenn zum Beispiel der Zündschalter (nicht dargestellt) des Fahrzeugs 100 angeschaltet wurde, versorgt der Stromversorgungskreis 54 den ROM 51, die CPU 52 und die Kommunikationseinheiten 53a, 53b und 53c mit Strom, wodurch diese Einheiten in Betrieb versetzt werden. Der Stromversorgungskreis 54 stoppt die Stromversorgung des ROM 51, der CPU 52 und der Kommunikationseinheiten 53a, 53b und 53c in Abhängigkeit von Befehlen der CPU 52. Dadurch werden die Abläufe dieser Einheiten gestoppt.
  • Sowohl bei dem Startvorgang als auch bei dem zweiten Vermittlungsvorgang schreibt die CPU 52 verschiedene Arten von Daten in den RAM 35 der ersten Weiterleitungseinrichtung 21 und liest Daten aus dem RAM 35 aus.
  • 4 ist ein Flussdiagramm, das einen Ablauf des ersten Vermittlungsvorgangs darstellt. Die CPU 32 der ersten Weiterleitungseinrichtung 21 führt den ersten Vermittlungsvorgang regelmäßig aus. Als erstes ermittelt die CPU 32, ob eine der Kommunikationseinheiten 33a und 33b die ECU-Daten empfangen hat oder nicht (Schritt S1). Wenn ermittelt wurde, dass eine der Kommunikationseinheiten 33a und 33b die ECU-Daten empfangen hat (S1: JA), dann ermittelt die CPU 32, ob oder ob die ECU-Daten nicht an mindestens eine der ECUs 12a, 12a, 12b und 12b und der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen (Schritt S2).
  • Mehrere Teile von Identifikationsinformation sind in dem ROM 31 gespeichert. Mit jedem oder mit mehreren der Teile von Identifikationsinformation, die in dem ROM 31 gespeichert sind, ist eine der Kommunikationseinheiten 33a und 33b assoziiert. Den übrigen Teilen von Identifikationsinformation der mehreren Teile von Identifikationsinformation, die in dem ROM 31 gespeichert ist, ist eine Übermittlungszielinformation zugewiesen. Wie vorstehend beschrieben, zeigt die Übermittlungszielinformation mindestens eine von den fahrzeuggebundenen Einrichtungen 13a, 13b und 13c an.
  • Wenn in Schritt S2 die Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist, eine von den mehreren Teilen Identifikationsinformation ist, die in dem ROM 31 gespeichert ist, bestimmt die CPU 32, dass die ECU-Daten übermittelt werden sollen. Wenn allerdings in Schritt S2 die Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist, nicht mit einem der mehreren Teile von Identifikationsinformation, die in dem ROM 31 gespeicherten ist, zusammenpasst, dann bestimmt die CPU 32, dass die ECU-Daten nicht übermittelt werden sollen.
  • Wenn bestimmt wurde, dass die ECU-Daten übermittelt werden sollen (S2: JA), dann ermittelt die CPU 32, ob die erste Weiterleitungseinrichtung 21 die empfangenen ECU-Daten übermitteln soll oder nicht (Schritt S3). Wenn dabei in dem ROM 31 eine der Kommunikationseinheiten 33a und 33b mit der Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist, assoziiert ist, dann bestimmt die CPU 32, dass die erste Weiterleitungseinrichtung 21 die empfangenen ECU-Daten übermitteln soll. Wenn jedoch in dem ROM 31 eine Übermittlungszielinformation mit der Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist, assoziiert ist, dann bestimmt die CPU 32, dass die erste Weiterleitungseinrichtung 21 die empfangenen ECU-Daten nicht übermitteln soll.
  • Wenn festgelegt wurde, dass die erste Weiterleitungseinrichtung 21 die empfangenen ECU-Daten übermitteln soll (S3: JA), dann instruiert die CPU 32 diejenige Kommunikationseinheit 33a und 33b, welche der Identifikationsinformation, die in den empfangenen ECU-Daten enthalten ist, entspricht, die empfangenen ECU-Daten zu übermitteln (Schritt S4). In der Folge übermittelt diejenige der Kommunikationseinheiten 33a und 33b, die angewiesen wurde, die empfangenen ECU-Daten zu übermitteln, die empfangenen ECU-Daten.
  • Wenn zum Beispiel in dem Fall, dass die Kommunikationseinheit 33a die ECU-Daten von einer der ECUs 12a und 12a empfangen hat, die Identifikationsinformation, die in den ECU-Daten enthalten ist, die von der Kommunikationseinheit 33a empfangen wurden, mit der Kommunikationseinheit 33b assoziiert ist, dann weist die CPU 32 die Kommunikationseinheit 33b an, die von der Kommunikationseinheit 33a empfangenen ECU-Daten zu übermitteln. Diese ECU-Daten werden von den ECUs 12b und 12b empfangen.
  • Folglich vermittelt, wie vorstehend beschrieben, die erste Weiterleitungseinrichtung 21 eine Kommunikation zwischen einer der ECUs 12a und 12a und einer der ECUs 12b und 12b.
  • Wenn bestimmt wurde, dass die erste Weiterleitungseinrichtung 21 die empfangenen ECU-Daten nicht übermitteln soll, oder mit anderen Worten, dass die zweite Weiterleitungseinrichtung 22 die empfangenen ECU-Daten übermitteln soll (S3: NEIN), dann konvertiert die CPU 32 die empfangenen ECU-Daten in die Einrichtungsdaten (Schritt S5). Die in Schritt S5 konvertierten Einrichtungsdaten enthalten die Übermittlungszielinformation, welche der Identifikationsinformation entspricht, die in den empfangenen ECU-Daten enthalten ist. Die Übermittlungszielinformation weist auf mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c hin. Als nächstes schreibt die CPU 32 die in Schritt S5 konvertierten Einrichtungsdaten in den RAM 35 (Schritt S6). Wie vorstehend beschrieben, kann die CPU 52 der zweiten Weiterleitungseinrichtung 22 die Einrichtungsdaten aus dem RAM 35 auslesen.
  • Wenn bestimmt wurde, dass keine der Kommunikationseinheiten 33a und 33b die ECU-Daten empfangen hat (S1: NEIN) oder dass die ECU-Daten nicht übermittelt werden sollen (S2: NEIN), oder nachdem einer der Schritte S4 und S6 durchgeführt wurde, bestimmt die CPU 32, ob oder ob nicht eine der Kommunikationseinheiten 33a und 33b die Einrichtungsdaten, die in dem RAM 35 gespeichert sind, übermitteln soll (Schritt S7). Wenn dabei Einrichtungsdaten, in welchen die Übermittlungszielinformation mindestens eine von den ECUs 12a, 12a, 12b und 12b anzeigt, in dem RAM 35 gespeichert sind, dann bestimmt die CPU 32, dass eine der Kommunikationseinheiten 33a und 33b die Einrichtungsdaten übermitteln soll. Wenn allerdings Einrichtungsdaten, in welchen die Übermittlungszielinformation mindestens eine der ECUs 12a, 12a, 12bund 12b anzeigt, nicht in dem RAM 35 gespeichert sind, dann bestimmt die CPU 32, dass keine der Kommunikationseinheiten 33a und 33b die Einrichtungsdaten übermitteln soll.
  • Wenn bestimmt wurde, dass die Einrichtungsdaten übermittelt werden sollen (S7: JA), dann konvertiert die CPU 32 die zu übermittelnden Einrichtungsdaten in ECU-Daten (Schritt S8). Die in Schritt S8 konvertierten ECU-Daten enthalten die Identifikationsinformation, die der Übermittlungszielinformation entspricht. Zum Beispiel ist die Identifikationsinformation in dem ROM 31 in Verbindung mit jeder der Teile von Übermittlungszielinformation aus den mehreren Teilen von Übermittlungszielinformation gespeichert, und die mit der Übermittlungszielinformation verbundenen Identifikationsinformation ist in den ECU-Daten enthalten. Zum Beispiel ist ein einzelnes Teil von Identifikationsinformation mit der Übermittlungszielinformation verbunden, die eine der ECUs 12a und 12a anzeigt, und ein anderes Teil von Identifikationsinformation ist mit der Übermittlungszielinformation verbunden, die eine der ECUs 12a und 12a und eine der ECUs 12b und 12b anzeigt. Die CPU 32 fungiert ferner als eine Konvertierungseinheit.
  • Als nächstes weist die CPU 32 mindestens eine der Kommunikationseinheiten 33a und 33b an, die in Schritt S8 konvertierten ECU-Daten zu übermitteln (Schritt S9). In der Folge übermittelt mindestens eine der Kommunikationseinheiten 33a und 33b die ECU-Daten, die von der CPU 32 in Schritt S8 konvertiert wurden. Wenn zum Beispiel Einrichtungsdaten, in welchen das Übermittlungsziel eine der ECUs 12a und 12a ist, in Schritt S8 konvertiert wurden, dann weist die CPU 32 die Kommunikationseinheit 33a an, die in Schritt S8 konvertierten ECU-Daten zu übermitteln.
  • Wenn bestimmt wurde, dass keine der Kommunikationseinheiten 33a und 33b die Einrichtungsdaten übermitteln wird (S7: NEIN), oder nachdem Schritt S9 durchgeführt wurde, beendet die CPU 32 den ersten Vermittlungsvorgang.
  • 5 ist ein Flussdiagramm, das einen Ablauf des zweiten Vermittlungsvorganges darstellt. Die CPU 52 der zweiten Weiterleitungseinrichtung 22 führt den zweiten Vermittlungsvorgang regelmäßig durch. Als erstes bestimmt die CPU 52, ob eine der Kommunikationseinheiten 53a, 53b und 53c die Einrichtungsdaten empfangen hat oder nicht (Schritt S21). Wenn bestimmt wurde, dass eine der Kommunikationseinheiten 53a, 53b und 53c die Einrichtungsdaten empfangen hat (S21: JA), dann ermittelt die CPU 32, ob die empfangenen Einrichtungsdaten an mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen oder nicht (Schritt S22).
  • Wenn dabei die Übermittlungszielinformation, die in den empfangenen Einrichtungsdaten enthalten ist, mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c anzeigt, dann bestimmt die CPU 52, dass die empfangenen Einrichtungsdaten an mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen. Wenn die Übermittlungszielinformation, die in den empfangenen Einrichtungsdaten enthalten ist, allerdings keine der der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c anzeigt, dann bestimmt die CPU 52, dass die empfangenen Einrichtungsdaten nicht an eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen.
  • Wenn bestimmt wurde, dass die empfangenen Einrichtungsdaten an mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen (S22: JA), dann weist die CPU 52 mindestens eine der Kommunikationseinheiten 53a, 53b und 53c an, die Einrichtungsdaten zu übermitteln (Schritt S23). Die fahrzeuggebundenen Einrichtungen 13a, 13b und 13c entsprechen jeweils den Kommunikationseinheiten 53a, 53b und 53c. In Schritt S23 wird die Kommunikationseinheit, die angewiesen ist, die Übermittlung durchzuführen, in entsprechende dem Übermittlungsziel ermittelt, das durch die Übermittlungszielinformation angezeigt ist, die in den empfangenen Einrichtungsdaten enthalten ist. Wenn zum Beispiel die Übermittlungszielinformation die fahrzeuggebundenen Einrichtungen 13b und 13c anzeigt, dann weist die CPU 52 die Kommunikationseinheiten 53b und 53c an, die empfangenen Einrichtungsdaten zu übermitteln. Wenn die CPU 52 den Schritt S23 ausgeführt hat, dann übermittelt diejenige der Kommunikationseinheiten 53a, 53b, und 53c, die angewiesen wurde, die Übermittlung durchzuführen, die Einrichtungsdaten.
  • Wenn zum Beispiel in dem Fall, dass die Kommunikationseinheit 53a die Einrichtungsdaten empfangen hat, die Übermittlungszielinformation, die in den Einrichtungsdaten enthalten ist, die von der Kommunikationseinheit 53a empfangen wurden, die fahrzeuggebundene Einrichtung 13b anzeigt, dann weist die CPU 52 die Kommunikationseinheit 53b an, die von der Kommunikationseinheit 53a empfangenen Einrichtungsdaten zu übermitteln.
  • Auf diese Weise vermittelt die zweite Weiterleitungseinrichtung 22 die Kommunikation zwischen zwei der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c.
  • Wenn bestimmt wurde, dass die empfangenen Einrichtungsdaten an keine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen oder, mit anderen Worten, dass die empfangenen Einrichtungsdaten an mindestens eine der ECUs 12a, 12a, 12b und 12b übermittelt werden sollen (S22: NEIN), dann schreibt die CPU 52 die empfangenen Einrichtungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21 (Schritt S24).
  • Wenn ermittelt wurde, dass keine der Kommunikationseinheiten 53a, 53b und 53c die Einrichtungsdaten empfangen hat (S21: NEIN), oder nachdem die Schritte S23 und S24 ausgeführt wurden, ermittelt die CPU 52, ob die Einrichtungsdaten, die an mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt werden sollen, in dem RAM 35 gespeichert sind oder nicht (Schritt S25). Wenn dabei Einrichtungsdaten, in welchen die Übermittlungszielinformation mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c anzeigt, in dem RAM 35 gespeichert sind, dann erkennt die CPU 52, dass die zu übermittelnden Einrichtungsdaten gespeichert sind. Wenn allerdings Einrichtungsdaten, in welchen die Übermittlungszielinformation mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c anzeigt, nicht in dem RAM 35 gespeichert sind, dann erkennt die CPU 52, dass die zu übermittelnden Einrichtungsdaten nicht gespeichert sind.
  • Wenn bestimmt wurde, dass die zu übermittelnden Einrichtungsdaten gespeichert sind (S25: JA), dann weist die CPU 52 mindestens eine der Kommunikationseinheiten 53a, 53b und 53c an, die Einrichtungsdaten zu übermitteln (Schritt S26). Ähnlich wie in Schritt S23, wird in Schritt S26 die Kommunikationseinheit, die angewiesen ist, die Übermittlung durchzuführen, in entsprechend dem Übermittlungsziel ermittelt, das von der Übermittlungszielinformation angezeigt wird, die in den zu übermittelnden Einrichtungsdaten enthalten ist.
  • Wenn ermittelt wurde, dass keine zu übermittelnden Einrichtungsdaten gespeichert sind (S25: NEIN), oder nachdem Schritt S26 ausgeführt wurde, beendet die CPU 52 den zweiten Vermittlungsvorgang.
  • Gemäß der wie vorstehend beschrieben eingerichteten Weiterleitungsvorrichtung 11, werden die ECU-Daten, die von einer der ECUs 12a, 12a, 12b und 12b übermittelt wurden, in Einrichtungsdaten konvertiert, und die konvertierten Einrichtungsdaten werden an mindestens eine der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt. Die Einrichtungsdaten, die von einer der fahrzeuggebundenen Einrichtungen 13a, 13b und 13c übermittelt wurden, werden in ECU-Daten konvertiert, und die konvertierten ECU-Daten werden an mindestens eine der ECUs 12a, 12a, 12b und 12b übermittelt.
  • 6 ist ein Flussdiagramm, das einen Ablauf eines Verifizierungsprozesses darstellt. Wenn der Stromversorgungskreis 54 begonnen hat, Strom an die CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 zu liefern, dann führt die CPU 42 den Verifizierungsprozess vor einem Ausführen des ersten Vermittlungsvorganges aus. Wie vorstehend beschrieben, stoppt die CPU 32 ihren Betrieb, während die CPU 42 den Verifizierungsprozess ausführt. Bei dem Verifizierungsprozess liest die CPU 42 als erstes das erste Steuerprogramm P1 aus dem ROM 31 aus (Schritt S31). Als nächstes nutzt die CPU 42 zum Beispiel eine Hashfunktion (z. B. eine Streuwertfunktion), um Berechnungsdaten zu berechnen, um zugehörige Daten, welche dem ersten Steuerprogramm P1 zugeordnet sind, bzw. die das erste Steuerprogramm P1 betreffen, zu berechnen (Schritt S32). In Schritt S32 berechnet die CPU 42 die Berechnungsdaten auf der Basis des ersten Steuerprogramms P1, das in Schritt S31 ausgelesen wurde.
  • Als nächstes berechnet die CPU 42 unter Verwendung der Berechnungsdaten, die in Schritt S32 berechnet wurden, und der ersten Schlüsseldaten K1, die in dem ROM 41 gespeichert sind (Schritt S33) die dem Steuerprogramm P1 zugehörigen Daten, bzw. die das erste Steuerprogramm P1 betreffen. Die ersten Schlüsseldaten K1 entsprechen den zweiten Schlüsseldaten, und die CPU 42 fungiert als eine zweite Berechnungseinheit.
  • Als nächstes ermittelt die CPU 42, ob die zugehörigen Daten, die in Schritt S33 berechnet wurden, mit den ersten Referenzdaten R1, die in dem ROM 41 im Voraus gespeichert werden, zusammenpassen oder nicht (Schritt S34). Die CPU 42 fungiert ferner als eine zweite Ermittlungseinheit.
  • Die CPU 42 verifiziert bzw. validiert das erste Steuerprogramm P1 als legitimiert bzw. echt ist durch Ausführung des Schritts S34. Dass die zugehörigen Daten, die das erste Steuerprogramm P1 betreffen, mit den ersten Referenzdaten R1 zusammenpassen, bedeutet, dass das erste Steuerprogramm P1 legitimiert ist. Wenn die zugehörigen Daten, die das erste Steuerprogramm P1 betreffen, nicht mit den ersten Referenzdaten R1 zusammenpassen, bedeutet dies, dass das erste Steuerprogramm P1 nicht legitimiert ist, oder mit anderen Worten, dass es wahrscheinlich ist, dass das erste Steuerprogramm P1 verändert (z. B. manipuliert) wurde.
  • Wenn bestimmt wurde, dass die zugehörigen Daten nicht mit den ersten Referenzdaten R1 zusammenpassen (S34: NEIN), dann schreibt die CPU 42 „Stopdaten“ in den RAM 35, wodurch der Stromversorgungskreis 54 der zweiten Weiterleitungseinrichtung 22 angewiesen wird, die Stromversorgung zu stoppen (Schritt S35). Dies ermöglicht, die CPU 52 der zweiten Weiterleitungseinrichtung 22 darüber zu benachrichtigen, dass das erste Steuerprogramm P1 nicht legitimiert ist. Die CPU 42 weist dann den Stromversorgungskreis 36 an, die Stromversorgung zu stoppen (Schritt S36). In der Folge stoppt der Stromversorgungskreis 36 eine Versorgung des ROM 31, der CPU 32, der Kommunikationseinheiten 33a und 33b, des HSM 34 und des RAM 35 mit Strom, und die erste Weiterleitungseinrichtung 21 stoppt einen Betrieb. Nach einem Ausführen des Schritts S36 beendet die CPU 42 den Verifizierungsprozess.
  • Wie weiter vorstehend beschrieben, werden die in dem RAM 35 gespeicherten Daten gelöscht, wenn der Stromversorgungskreis 36 eine Stromversorgung des RAM 35 stoppt. Um sicherzustellen, dass die CPU 52 der zweiten Weiterleitungseinrichtung 22 (genügend) Zeit hat, die in dem RAM 35 gespeicherten Stopdaten auszulesen, führt die CPU 42 den Schritt S35 aus und führt erst nach einer vorbestimmten Zeitspanne den Schritt S36 aus, die ausreicht, dass die CPU 52 das Stopdaten-Ereignis ausliest.
  • Wenn bestimmt wurde, dass die zugehörigen Daten mit den ersten Referenzdaten R1 zusammenpassen (S34: JA), dann ermittelt die CPU 42, ob die Berechnungsdaten des zweiten Steuerprogramms P2 der zweiten Weiterleitungseinrichtung 22 in dem RAM 35 gespeichert sind oder nicht (Schritt S37). Die Berechnungsdaten des zweiten Steuerprogramms P2 sind Daten zum Berechnen zugehöriger Daten, die das zweite Steuerprogramm P2 betreffen. Wenn ermittelt wird, dass die Berechnungsdaten nicht gespeichert sind (S37: NEIN), dann führt die CPU 42 den Schritt S37 erneut aus und ruht oder steht bereit, z. B. im Stand-By, bis die Berechnungsdaten in den RAM 35 geschrieben sind. Die CPU 52 der zweiten Weiterleitungseinrichtung 22 berechnet die Berechnungsdaten des zweiten Steuerprogramms P2 bei dem Startvorgang und schreibt die berechneten Berechnungsdaten in den RAM 35.
  • Wenn bestimmt wurde, dass die Berechnungsdaten gespeichert sind (S37: JA), dann liest die CPU 42 die Berechnungsdaten des zweiten Steuerprogramms P2 aus dem RAM 35 aus (Schritt S38), und berechnet unter Verwendung der ausgelesenen Berechnungsdaten und der in dem ROM 41 gespeicherten zweiten Schlüsseldaten K2 die zugehörigen Daten, die das zweite Steuerprogramm P2 betreffen (Schritt S39). Die CPU 42 fungiert als eine Berechnungseinheit und als eine zugehörige Daten-Berechnungseinheit.
  • Als nächstes ermittelt die CPU 42, ob die in Schritt S39 berechneten zugehörigen Daten mit den in dem ROM 41 im Voraus gespeicherten zweiten Referenzdaten R2 zusammenpassen oder nicht (Schritt S40). Die CPU 42 fungiert auch als eine Ermittlungseinheit.
  • Die CPU 42 verifiziert ferner das zweite Steuerprogramm P2 als legitimiert durch Ausführung des Schritts S40. Wenn ermittelt wurde, dass die zugehörigen Daten mit den zweiten Referenzdaten R2 zusammenpassen (S40: JA), dann schreibt die CPU 42 normale Daten in den RAM 35, wodurch angezeigt wird, dass das zweite Steuerprogramm P2 legitimiert ist (Schritt S41). Dadurch kann der CPU 52 der zweiten Weiterleitungseinrichtung 22 mitgeteilt werden, dass das zweite Steuerprogramm P2 legitimiert ist.
  • Wenn bestimmt wurde, dass die zugehörigen Daten nicht mit den zweiten Referenzdaten R2 zusammenpassen (S40: NEIN), dann schreibt die CPU 42 Fehlerdaten in den RAM 35, wodurch angezeigt wird, dass das zweite Steuerprogramm P2 nicht legitimiert ist, oder mit anderen Worten, dass es wahrscheinlich ist, dass das zweite Steuerprogramm P2 verändert wurde (z. B. manipuliert) (Schritt S42). Dadurch wird ermöglicht, die CPU 52 der zweiten Weiterleitungseinrichtung 22 darüber zu benachrichtigen, dass das zweite Steuerprogramm P2 nicht legitimiert ist.
  • Nach Ausführen einer der Schritte S41 und S42, beendet die CPU 42 den Verifizierungsprozess. Nachdem die CPU 42 den Verifizierungsprozess beendet, stoppt der Stromversorgungskreis 36 zweitweise die Stromversorgung, und die Vorgänge (z. B. Abläufe) werden solange angehalten bis die Stromversorgung erneut einsetzt. Nachdem die CPU 42 den Verifizierungsprozess beendet hat, führt die CPU 32 das legitimierte erste Steuerprogramm P1 aus. Es ist zu beachten, dass, wie weiter vorstehend beschrieben, die Schnittstelle 43 einen Zugriff der CPU 32 auf den ROM 41 verhindert. Insofern können das Verifikationsprogramm Ph, die ersten Schlüsseldaten K1, die ersten Referenzdaten R1, die zweiten Schlüsseldaten K2 und die zweiten Referenzdaten R2 nicht aus dem HSM 34 entfernt werden.
  • 7 ist ein Flussdiagramm, das eine Abfolge des Startvorgangs darstellt. Wenn der Stromversorgungskreis 54 begonnen hat, die CPU 52 der zweiten Weiterleitungseinrichtung 22 mit Strom zu versorgen, dann führt die CPU 52 den Startvorgang gemäß dem Startprogramm Pb vor dem Ausführen des zweiten Vermittlungsvorgangs aus. Bei dem Startvorgang liest als erstes die CPU 52 das zweite Steuerprogramm P2 aus dem ROM 51 aus (Schritt S51). Als nächstes wendet die CPU 52 zum Beispiel eine Hashfunktion an, um Berechnungsdaten zum Berechnen zugehöriger Daten, die das zweite Steuerprogramm P2 betreffen (Schritt S52) zu berechnen. Die CPU 52 fungiert als eine Berechnungseinheit. In Schritt S52 berechnet die CPU 52 die Berechnungsdaten auf der Basis des in Schritt S51 ausgelesenen zweiten Steuerprogramms P2.
  • Als nächstes schreibt die CPU 52 die in Schritt S52 berechneten Berechnungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21 (Schritt S53). Wie vorstehend beschrieben, liest die CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 die in dem RAM 35 gespeicherten Berechnungsdaten aus, berechnet die das zweite Steuerprogramm P2 betreffenden zugehörigen Daten unter Verwendung der ausgelesenen Berechnungsdaten und verifiziert, ob das zweite Steuerprogramm P2 legitimiert ist oder nicht. Bei dem Verifizierungsprozess schreibt die CPU 42 die Stopdaten, die Fehlerdaten oder die normalen Daten in den RAM 35.
  • Das Auslesen der zugehörigen Daten aus dem RAM 35 entspricht einem Erlangen oder Erhalten der zugehörigen Daten. Daher fungiert die CPU 42 auch als eine Erlangungseinheit.
  • Es ist zu beachten, dass der Stromversorgungskreis 36 der ersten Weiterleitungseinrichtung 21 und der Stromversorgungskreis 54 der zweiten Weiterleitungseinrichtung 22 mit der Stromversorgung im Wesentlichen gleichzeitig beginnen, und die CPU 52 den Schritt S53 ausführt nachdem der Stromversorgungskreis 36 der ersten Weiterleitungseinrichtung 21 mit der Stromversorgung begonnen hat. Somit kann die CPU 52 die Berechnungsdaten zuverlässig in den RAM 35 schreiben.
  • Nach Ausführen des Schritts S53 ermittelt die CPU 52, ob die Stopdaten in dem RAM 35 der ersten Weiterleitungseinrichtung 21 gespeichert sind oder nicht (Schritt S54). Wenn bestimmt wurde, dass Stopdaten nicht gespeichert sind (S54: NEIN), dann ermittelt die CPU 52, ob Fehlerdaten in dem RAM 35 gespeichert sind oder nicht (Schritt S55). Wenn ermittelt wurde, dass die Stopdaten gespeichert sind (S54: JA), oder wenn ermittelt wurde, dass die Fehlerdaten gespeichert sind (S55: JA), dann weist die CPU 52 den Stromversorgungskreis 54 an, die Stromversorgung zu stoppen (Schritt S56). In der Folge stoppt der Stromversorgungskreis 54 die Stromversorgung, und der ROM 51, die CPU 52 und die Kommunikationseinheiten 53a, 53b und 53c beenden ihren Betrieb. Nach Ausführen des Schritts S56 beendet die CPU 52 den Startvorgang.
  • Wie bis hierher beschrieben, stoppt die CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 den Betrieb der CPU 42, oder mit anderen Worten, den Betrieb der zweiten Weiterleitungseinrichtung 22, durch Schreibens der Stopdaten oder der Fehlerdaten in den RAM 35. Die CPU 42 fungiert auch als eine Betriebssteuereinheit.
  • Wie weiter vorstehend beschrieben, ist es, wenn ermittelt wurde, dass die zugehörigen Daten, die das erste Steuerprogramm P1 betreffen, nicht mit den ersten Referenzdaten R1 zusammenpassen, wahrscheinlich, dass das erste Steuerprogramm P1 verändert (z. B. manipuliert) wurde, und daher schreibt die CPU 42 die Stopdaten in den RAM 35.
  • Des Weiteren ist es, wenn ermittelt wurde, dass die zugehörigen Daten, die das zweite Steuerprogramm P2 betreffen, nicht mit den zweiten Referenzdaten R2 zusammenpassen, wahrscheinlich, dass das zweite Steuerprogramm P2 verändert (z. B. manipuliert) wurde, und daher schreibt die CPU 42 die Fehlerdaten in den RAM 35. Als Ergebnis wird der Betrieb der zweiten Weiterleitungseinrichtung 22 gestoppt.
  • Wenn die CPU 52 in Schritt S55 ermittelt hat, dass die Fehlerdaten gespeichert sind und dann Schritt S56 ausgeführt hat, stoppt der Stromversorgungskreis 36 der ersten Weiterleitungseinrichtung 21 die Stromversorgung nicht, und die CPU 32 der ersten Weiterleitungseinrichtung 21 führt den ersten Vermittlungsvorgang aus. Folglich vermittelt, obwohl der Betrieb der zweiten Weiterleitungseinrichtung 22 stoppt, die erste Weiterleitungseinrichtung 21 die Kommunikation zwischen einer der ECUs 12a und 12a und einer der ECUs 12b und 12b weiter.
  • Angenommen, dass zum Beispiel die ECUs 12a, 12a, 12b und 12b elektrische Einrichtungen steuern, welche die notwendigen Mindestfunktionen zum Fahren des Fahrzeugs 100 bereitstellen, wie beispielsweise Scheinwerfer oder Scheibenwischermotoren, und dass die fahrzeuggebundenen Einrichtungen 13a, 13b und 13c Einrichtungen sind, welche nicht absolut notwendig sind, wenn das Fahrzeug 100 gefahren wird, wie beispielsweise eine Kamera, eine Anzeige und so weiter; in diesem Fall kann, wenn das erste Steuerprogramm P1 legitimiert ist, ein Fahrer das Fahrzeug 100 selbst dann noch fahren, wenn das zweite Steuerprogramm P2 nicht legitimiert ist.
  • Wenn bestimmt wurde, dass die Fehlerdaten nicht gespeichert sind (S55: NEIN), dann ermittelt die CPU 52, ob normale Daten in dem RAM 35 der ersten Weiterleitungseinrichtung 21 gespeichert sind oder nicht (Schritt S57). Wenn ermittelt wurde, dass die normalen Daten nicht gespeichert sind (S57: NEIN), dann führt die CPU 52 den Schritt S54 aus und ruht oder steht bereit (z. B. im Stand-By) bis Stopdaten, Fehlerdaten oder normale Daten in dem RAM 35 gespeichert werden.
  • Es ist zu beachten, dass, wenn die CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 den Schritt S36 des Verifizierungsprozesses ausgeführt hat bevor die CPU 52 den Schritt S54 ausführt, in dem RAM 35 keine Daten gespeichert werden, und daher wiederholt die CPU 52 die Vorgaben der Schritte S54, S55 und S57 endlos. Daher kann bei dem Startvorgang, wenn die Zeit(dauer), während der die CPU 52 die Bestimmungen der Schritte S54, S55 und S57 wiederholt, eine zweite vorbestimmte Zeitdauer überschritten hat, Schritt S56 ausgeführt werden, sofern das erste Steuerprogramm P1 nicht legitimiert wurde.
  • Wenn bestimmt wurde, dass die normalen Daten gespeichert sind (S57: JA), beendet die CPU 52 den Startvorgang. Die CPU 52 führt dann den zweiten Vermittlungsvorgang aus.
  • Gemäß der wie bisher beschrieben eingerichteten Weiterleitungsvorrichtung 11 verifiziert die CPU 32 des HSM 34 in der ersten Weiterleitungseinrichtung 21, dass das zweite Steuerprogramm P2 legitimiert ist. Dementsprechend ist es nicht erforderlich, die zweite Weiterleitungseinrichtung 22 mit den gleichen Elementen auszustatten wie das HSM 34, das die Verifizierungsfunktion hat. Die Weiterleitungsvorrichtung 11 ist deswegen klein und kostengünstig herzustellen.
  • Zusätzlich berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 die Berechnungsdaten des zweiten Steuerprogramms P2 und schreibt die berechneten Berechnungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21. Die Größe der Berechnungsdaten des zweiten Steuerprogramms P2 ist kleiner als die Größe des zweiten Steuerprogramms P2. Somit werden lediglich kleine Datenmengen von der zweiten Weiterleitungseinrichtung 22 zu der ersten Weiterleitungseinrichtung 21 transferiert, um zu verifizieren, dass das zweite Steuerprogramm P2 legitimiert ist. Daher ist für die Verifizierung lediglich eine kurze Zeitdauer erforderlich.
  • Zweite Ausführungsform
  • 8 ist ein Blockschaltbild, das die grundlegende Konfiguration eines Kommunikationssystems 1 entsprechend einer zweiten Ausführungsform darstellt.
  • Nachstehend werden diejenigen Punkte (z. B. Ausgestaltungen, Eigenschaften oder Aspekte) der zweiten Ausführungsform beschrieben, die sich von der ersten Ausführungsform unterscheiden. Ausgestaltungen über die nachstehend beschriebenen hinaus sind die gleichen wie in der ersten Ausführungsform. Somit werden solchen die Ausführungsform bildende Elemente, welche die gleichen sind wie in der ersten Ausführungsform, mit den gleichen Bezugszeichen wie in der ersten Ausführungsform versehen und auf deren Beschreibungen wird verzichtet.
  • Das Kommunikationssystem 1 gemäß der zweiten Ausführungsform unterscheidet sich von dem Kommunikationssystem 1 gemäß der ersten Ausführungsform dadurch, dass die Konfiguration der Weiterleitungsvorrichtung 11 verschieden ist. Die Weiterleitungsvorrichtung 11 gemäß der zweiten Ausführungsform weist zusätzlich zu der ersten Weiterleitungseinrichtung 21 und der zweiten Weiterleitungseinrichtung 22 einen Speicher 23 auf. Der Speicher 23 ist mit der zweiten Weiterleitungseinrichtung 22 verbunden. Der Speicher 23 ist ein nicht-flüchtiger Speicher. Das zweite Steuerprogramm P2 ist in dem Speicher 23 gespeichert. Das zweite Steuerprogramm P2 wird von der zweiten Weiterleitungseinrichtung 22 aus dem Speicher 23 ausgelesen.
  • 9 ist ein Blockschaltbild, das die grundlegende Konfiguration der zweiten Weiterleitungseinrichtung 22 darstellt. Zusätzlich zu den Bestandselementen der zweiten Weiterleitungseinrichtung 22 gemäß der ersten Ausführungsform, weist die zweite Weiterleitungseinrichtung 22 gemäß der zweiten Ausführungsform eine Schnittstelle 61 und einen RAM 62 auf. Die Schnittstelle 61 und der RAM 62 sind auch mit dem Bus 55 verbunden. Die Schnittstelle 61 ist außerdem mit dem Speicher 23 verbunden.
  • Die CPU 52 liest das zweite Steuerprogramm P2 aus dem Speicher 23 mittels der Schnittstelle 61 aus. Die CPU 52 schreibt auch verschiedene Arten von Daten in den RAM 62 und liest Daten aus dem RAM 62 aus.
  • Es ist zu beachten, dass in der zweiten Ausführungsform das zweite Steuerprogramm P2 in dem ROM 51 gespeichert ist.
  • Der Stromversorgungskreis 54 versorgt zusätzlich zu dem ROM 51, der CPU 52 und den Kommunikationseinheiten 53a, 53b und 53c (auch) die Schnittstelle 61 und den RAM 62 mit Strom. Die Schnittstelle 61 und der RAM 62 sind in Betrieb, wenn sie mit Strom von dem Stromversorgungskreis 54 versorgt werden. Die in dem RAM 62 gespeicherten Daten werden gelöscht, wenn der Stromversorgungskreis 54 aufhört, den RAM 62 mit Strom zu versorgen.
  • 10 ist ein Flussdiagramm, das eine Abfolge eines Startvorgangs darstellt. Auch bei der zweiten Ausführungsform führt die CPU 52, wenn der Stromversorgungskreis 54 einsetzt, Strom an die CPU 52 der zweiten Weiterleitungseinrichtung 22 zu liefern, den Startvorgang gemäß dem Startprogramm Pb vor der Ausführung des zweiten Vermittlungsvorgangs aus. Die Schritte S65 bis S68 des Startvorgangs gemäß der zweiten Ausführungsform sind die gleichen wie die Schritte S54 bis S57 des Startvorgangs gemäß der ersten Ausführungsform. Dementsprechend werden die Schritte S65 bis S68 nicht im Detail beschrieben.
  • Bei dem Startvorgang gemäß der zweiten Ausführungsform liest die CPU 52 zuerst das zweite Steuerprogramm P2 aus dem Speicher 23 über die Schnittstelle 61 aus (Schritt S61), und schreibt dann das ausgelesene zweite Steuerprogramm P2 in den RAM 62 (Schritt S62). Als nächstes wendet die CPU 52 zum Beispiel eine Hashfunktion an, um Berechnungsdaten zu berechnen zum Berechnen zugehöriger Daten, die das zweite Steuerprogramm P2 betreffen (Schritt S63).
  • Als nächstes schreibt die CPU 52 die in Schritt S64 berechneten Berechnungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21 (Schritt S64), und führt dann Schritt S65 aus.
  • Wie in der ersten Ausführungsform führt, wenn in Schritt S68 ermittelt wurde, dass in dem RAM 35 der ersten Weiterleitungseinrichtung 21 normale Daten gespeichert sind und der Startvorgang abgeschlossen wurde, die CPU 52 den zweiten Vermittlungsvorgang gemäß dem zweiten Steuerprogramm P2, das in dem RAM 62 der zweiten Weiterleitungseinrichtung 22 gespeichert ist, durch.
  • Die bis hierhin beschriebene Weiterleitungsvorrichtung 11 gemäß der zweiten Ausführungsform stellt die gleichen Wirkungen bereit wie die, die von der Weiterleitungsvorrichtung 11 gemäß der ersten Ausführungsform bereitgestellt werden.
  • Dritte Ausführungsform
  • 11 und 12 sind Flussdiagramme, die eine Abfolge eines Verifizierungsprozesses gemäß einer dritten Ausführungsform darstellen.
  • Nachstehend werden diejenigen Punkte der dritten Ausführungsform beschrieben, die sich von der ersten Ausführungsform unterscheiden. Ausgestaltungen außer den nachstehend beschriebenen sind die gleichen wie in der ersten Ausführungsform. Somit sind solche Bestandselemente, welche die gleichen sind wie in der ersten Ausführungsform, mit den gleichen Bezugszeichen wie in der ersten Ausführungsform versehen, und auf deren Beschreibungen wird verzichtet.
  • Das Kommunikationssystem 1 gemäß der dritten Ausführungsform unterscheidet sich von dem Kommunikationssystem 1 gemäß der ersten Ausführungsform dadurch, dass die Details des Verifizierungsprozesses, der von der CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 ausgeführt wird, verschieden sind, und dadurch, dass die Details des Startvorgangs, der von der CPU 52 der zweiten Weiterleitungseinrichtung 22 ausgeführt wird, verschieden sind.
  • Wie bei der ersten Ausführungsform führt, wenn der Stromversorgungskreis 54 einsetzt, Strom an die CPU 42 des HSM 34 zu liefern, die CPU 42 den Verifizierungsprozess vor Ausführen des ersten Vermittlungsvorgangs aus. Die CPU 32 stoppt den Betrieb, während die CPU 42 den Verifizierungsprozess ausführt. Die Schritte S75, S76, S87 und S88 des Verifizierungsprozesses gemäß der dritten Ausführungsform sind die gleichen wie die Schritte S35, S36, S41 und S42 des Verifizierungsprozesses gemäß der ersten Ausführungsform. Dementsprechend werden die Schritte S75, S76, S87 und S88 nicht im Detail beschrieben werden.
  • Bei dem Verifizierungsprozess gemäß der dritten Ausführungsform liest die CPU 42 zuerst das erste Steuerprogramm P1 aus dem ROM 31 aus (Schritt S71), und berechnet dann auf der Basis des ausgelesenen ersten Steuerprogramms P1 erste Berechnungsdaten zum Berechnen erster zugehöriger Daten, die das erste Steuerprogramm P1 betreffen (Schritt S72). In Schritt S72 berechnet die CPU 42 die ersten Berechnungsdaten beispielsweise durch Anwenden einer Hashfunktion.
  • Als nächstes berechnet die CPU 42 auf der Basis der in Schritt S72 berechneten ersten Berechnungsdaten und der in dem ROM 41 gespeicherten ersten Schlüsseldaten K1, die ersten zugehörigen Daten, die das erste Steuerprogramm P1 betreffen (Schritt S73), und ermittelt, ob die berechneten ersten zugehörigen Daten mit den ersten Referenzdaten R1 zusammenpassen (Schritt S74). Die CPU 42 verifiziert das erste Steuerprogramm P1 durch Ausführung des Schritts S74 als legitimiert. Das die ersten zugehörigen Daten mit den ersten Referenzdaten R1 zusammenpassen, bedeutet, dass das erste Steuerprogramm P1 legitimiert ist. Das die ersten zugehörigen Daten nicht mit den ersten Referenzdaten R1 zusammenpassen, bedeutet, dass das erste Steuerprogramm P1 nicht legitimiert ist, oder mit anderen Worten, dass das erste Steuerprogramm P1 wahrscheinlich verändert (z. B. manipuliert) wurde.
  • Wenn ermittelt wurde, dass die ersten zugehörigen Daten nicht mit den ersten Referenzdaten R1 zusammenpassen (S74: NEIN), führt die CPU 42 die Schritte S75 und S76 in nacheinander aus. In der Folge stoppt der Stromversorgungskreis 36 die Stromversorgung des ROM 31, der CPU 32, der Kommunikationseinheiten 33a und 33b, des HSM 34 und des RAM 35, und die erste Weiterleitungseinrichtung 21 stoppt den Betrieb. Nach Ausführen des Schritts S76 beendet die CPU 42 den Verifizierungsprozess.
  • Wenn bestimmt wurde, dass die ersten zugehörigen Daten mit den ersten Referenzdaten R1 zusammenpassen (S74: JA), erzeugt die CPU 42 Zufallszahldaten (Schritt S77). Die Zufallszahldaten sind eine Folge numerischer Werte von Einsen 1 und Nullen 0, welche eine Zufallszahl ausdrücken. In Schritt S77 ermittelt die CPU 42 einen Anfangswert und erzeugt die Zufallszahldaten auf der Basis des ermittelten Anfangswertes. Die CPU 42 ermittelt den Anfangswert zum Beispiel auf der Basis der Zeit (z. B. des Zeitpunktes), zu der (zu dem) Schritt S77 ausgeführt wird. In diesem Fall werden in Schritt S77 verschiedene Zufallszahldaten, die von dem Zeitpunkt, zu dem Schritt S77 ausgeführt wird abhängig sind, erzeugt. Der Zeitpunkt beinhaltet auch das Jahr, den Monat und den Tag.
  • Wie weiter vorstehend beschrieben wird der Verifizierungsprozess jedes Mal ausgeführt, wenn der Stromversorgungskreis 54 einsetzt, Strom an die CPU 42 zu liefern. Der Zeitpunkt, zu dem Schritt S77 ausgeführt wird, ist bei jedem wiederholt ausgeführten Verifizierungsprozesses verschieden. Auch die Anfangswerte, die auf der Basis dieser Zeitpunkte ermittelt werden, werden sich deshalb voneinander unterscheiden. Daher werden, wenn der Anfangswert auf der Basis des Zeitpunktes, zu dem Schritt S77 ausgeführt wird, ermittelt wird, die in Schritt S77 erzeugten Zufallszahldaten von allen anderen Fällen der in Schritt S77 in der Vergangenheit erzeugten Zufallszahldaten verschieden sein. Die CPU 42 fungiert als eine Zufallszahl-Erzeugungseinheit.
  • Als nächstes schreibt die CPU 42 die in Schritt S77 erzeugten Zufallszahldaten in den RAM 35 (Schritt S78). Bei dem Startvorgang gemäß der dritten Ausführungsform berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 auf der Basis der in Schritt S78 geschriebenen Zufallszahldaten und des zweiten Steuerprogramms P2 zweite Berechnungsdaten zum Berechnen zweiter zugehöriger Daten, die das zweite Steuerprogramm P2 betreffen, und schreibt die berechneten zweiten Berechnungsdaten in den RAM 35.
  • Nach Ausführen des Schritts S78 ermittelt die CPU 42 des HSM 34, ob die zweiten Berechnungsdaten in dem RAM 35 gespeichert sind oder nicht (Schritt S79). Wenn ermittelt wurde, dass die zweiten Berechnungsdaten nicht gespeichert sind (S79: NEIN), führt die CPU 42 den Schritt S79 erneut aus und ruht (und steht z. B. im Stand-By bereit) bis die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten Berechnungsdaten in den RAM 35 schreibt.
  • Wenn bestimmt wurde, dass die zweiten Berechnungsdaten gespeichert sind (S79: JA), liest die CPU 42 die zweiten Berechnungsdaten aus dem RAM 35 aus (Schritt S80), und berechnet auf der Basis der ausgelesenen zweiten Berechnungsdaten und der in dem ROM 41 gespeicherten zweiten Schlüsseldaten K2 die zweiten zugehörigen Daten (Schritt S81).
  • Als nächstes liest die CPU 42 die zweiten Referenzdaten R2 aus dem ROM 41 aus (Schritt S82), und erzeugt erste Kombinationsdaten bzw. miteinander durch Verknüpfen der ausgelesenen zweiten Referenzdaten R2 mit den in Schritt S77 erzeugten Zufallszahldaten (Schritt S83) kombinierte Daten. In Schritt S83 erzeugt die CPU 42 die ersten Kombinationsdaten zum Beispiel durch Anhängen der Zufallszahldaten an das Ende der zweiten Referenzdaten R2. Als nächstes berechnet die CPU 42 erste Zwischendaten auf der Basis der in Schritt S83 erzeugten ersten Kombinationsdaten (Schritt S84). In Schritt S84 berechnet die CPU 42 die ersten Zwischendaten zum Beispiel durch Anwenden einer Hashfunktion.
  • Als nächstes berechnet die CPU 42 dritte Referenzdaten auf der Basis der in Schritt S84 berechneten ersten Zwischendaten und der in dem ROM 41 gespeicherten zweiten Schlüsseldaten K2 (Schritt S85).
  • Wie vorstehend beschrieben, berechnet die CPU 42 die dritten Referenzdaten auf der Basis der Zufallszahldaten, der zweiten Referenzdaten R2 und der zweiten Schlüsseldaten K2. Die CPU 42 fungiert als eine Referenzdaten-Berechnungseinheit.
  • Als nächstes ermittelt die CPU 42, ob die in Schritt S81 berechneten zweiten zugehörigen Daten mit den in Schritt S85 berechneten dritten Referenzdaten zusammenpassen oder nicht (Schritt S86). Die CPU 42 verifiziert ferner das zweite Steuerprogramm P2 durch Ausführung des Schritts S86 als legitimiert. Wenn ermittelt wurde, dass die zweiten zugehörigen Daten und die dritten Referenzdaten zusammenpassen (S86: JA), führt die CPU 42 Schritt S87 unter der Annahme, dass das zweite Steuerprogramm P2 legitimiert ist, aus. Wenn ermittelt wurde, dass die zweiten zugehörigen Daten und die dritten Referenzdaten nicht zusammenpassen (S86: NEIN), führt die CPU 42 Schritt S88 unter der Annahme, dass das zweite Steuerprogramm P2 nicht legitimiert ist, oder mit anderen Worten, dass das zweite Steuerprogramm P2 wahrscheinlich verändert (z. B. manipuliert) wurde, aus. Nach Ausführen einer der Schritte S87 und S88, beendet die CPU 42 den Verifizierungsprozess. Nachdem die CPU 42 des HSM 34 den Verifizierungsprozess beendet, stoppt der Stromversorgungskreis 36 vorübergehend die Stromversorgung, und die Vorgänge werden angehalten bis die Stromversorgung erneut beginnt. Nachdem die CPU 42 den Verifizierungsprozess beendet hat, führt die CPU 32 das legitimierte erste Steuerprogramm P1 aus.
  • 13 ist ein Flussdiagramm, das einen Ablauf des Startvorgangs darstellt. Wie in der ersten Ausführungsform führt, wenn der Stromversorgungskreis 54 eingesetzt, die CPU 52 der zweiten Weiterleitungseinrichtung 22 mit Strom zu versorgen, die CPU 52 den Startvorgang gemäß dem Startprogramm Pb vor Ausführung des zweiten Vermittlungsvorgangs aus. Bei dem Startprozess ermittelt die CPU 52 zuerst, ob Stopdaten in dem RAM 35 gespeichert sind oder nicht (Schritt S91). Wenn bestimmt wurde, dass Stopdaten nicht gespeichert sind (S91: NEIN), dann ermittelt die CPU 52, ob Zufallszahldaten in dem RAM 35 gespeichert sind oder nicht (Schritt S92).
  • Wenn bestimmt wurde, dass die Zufallszahldaten nicht gespeichert sind (S92: NEIN), führt die CPU 52 Schritt S91 aus und ruht (und ist z.B. in Stand-By) bis die CPU 42 des HSM 34 die Stopdaten oder die Zufallszahldaten in den RAM 35 schreibt.
  • Es ist zu beachten, dass wenn die CPU 42 des HSM 34 den Schritt S76 des Verifizierungsprozesses ausgeführt hat, bevor die CPU 52 den Schritt S91 ausführt, keine Daten in dem RAM gespeichert sind, und die CPU 52 daher die Vorgaben der Schritte S91 und S92 in einer Endlosschleife durchführt. Falls der Zeitraum, in dem die CPU 52 die Vorgaben der Schritte S91 und S92 bei dem Startvorgang endlos durchführt, eine dritte vorbestimmte Zeitspanne überschreitet, kann der Schritt S99 unter der Annahme, dass das erste Steuerprogramm P1 nicht legitimiert ist ausgeführt werden.
  • Falls bestimmt wurde, dass die Zufallszahldaten gespeichert sind (S92: JA), liest die CDU 52 das zweite Steuerprogramm P2 aus dem ROM 51 aus und berechnet zweite Zwischendaten auf der Basis des ausgelesenen zweiten Steuerprogramms P2 (Schritt S94). Im Schritt S94 berechnet die CPU 52 die zweiten Zwischendaten beispielsweise unter Anwendung einer Hash Funktion.
  • Als nächstes erzeugt die CPU 52 zweite Kombinationsdaten durch Verknüpfen der zweiten Zwischendaten, welche im Schritt S94 berechnet wurden, mit den Zufallszahldaten, welche in dem RAM 35 gespeichert sind (Schritt S95). Im Schritt S95 erzeugt die CPU 52 die zweitens Kombinationsdaten beispielsweise durch Anhängen der Zufallszahldaten an das Ende der zweiten Zwischendaten. Anschließend berechnet die CPU 52 die zweiten Berechnungsdaten zum Berechnen der zweiten zugehörigen Daten auf der Basis der zweiten Kombinationsdaten, die im Schritt S95 erzeugt wurden (Schritt S96). Im Schritt S96 berechne die CPU beispielsweise unter Anwendung einer Hashfunktion die zweiten Berechnungsdaten.
  • Wie oben beschrieben berechnet die CPU 52 die zweiten Berechnungsdaten auf der Basis des zweiten Steuerprogramms P2, der Zufallszahldaten und der zweiten Schlüsseldaten K2.
  • Dann schreibt die CPU 52 die zweiten im Schritt S96 berechneten Berechnungsdaten in den RAM 35 (Schritt S97). Wie oben beschrieben, liest die CPU 42 des HSM 34 die in dem RAM 35 gespeicherten Berechnungsdaten aus, berechnet die zweiten zugehörigen Daten auf der Basis der ausgelesenen zweiten Berechnungsdaten, und verifizert ob das zweite Steuerprogramm legitimiert ist oder nicht. Die CPU 42 schreibt normale Daten oder Fehlerdaten in den RAM 35 auf der Basis des Verifizierungsergebnisses.
  • Nach der Ausführung des Schritts S97 ermittelt die CPU 52 ob die Fehlerdaten im RAM 35 gespeichert sind oder nicht (Schritt S98). Falls bestimmt wurde, dass die Stopdaten gespeichert sind (S98: JA) oder bestimmt wurde, dass die Fehlerdaten gespeichert sind (S98: JA), weist die CPU 52 den Stromversorgungskreis 54 an, die Stromversorgung zu stoppen (Schritt S99). In der Folge unterbricht der Stromversorgungskreis 54 die Stromversorgung, und der ROM 51, die CPU 52, und die Kommunikationseinheiten 53a, 53b, und 53c stoppen ihren Betrieb. Nach Ausführung des Schritts S99 beendet die CPU 52 den Startvorgang.
  • Bis hierher beschrieben, stoppt die CPU 42 des HSM 34 insofern den Betrieb der CPU 42, oder mit anderen Worten den Betrieb der zweiten Weiterleitungseinrichtung 22, durch Einschreiben der der Stopdaten oder der Fehlerdaten in den ARM 35.
  • Wie zuvor beschrieben, ist es wahrscheinlich, dass das erste Steuerprogramm P1 manipuliert wurde, wenn erkannt wird, dass die ersten zugehörigen Daten, welche das erste Steuerprogramm P1 betreffen, nicht mit den ersten Referenzdaten R1 zusammenpassen, und die CPU 42 folglich schreibt die Stopdaten in den RAM 35.
  • Es ist ferner wahrscheinlich, dass das zweite Steuerprogramm P2 manipuliert wurde, wenn erkannt wird, dass die zweiten zugehörigen Daten, welche das zweite Steuerprogramm P2 betreffen, nicht mit den ersten Referenzdaten R1 zusammenpassen, und die CPU 42 folglich schreibt die Fehlerdaten in den RAM 35. In der Folge wird der Betrieb der zweiten Weiterleitungseinrichtung 22 gestoppt.
  • Falls die CPU im Schritt S98 bestimmt hat, dass die Fehlerdaten gespeichert sind und anschließend Schritt S99 durchgeführt hat, unterbricht der Stromversorgungskreis 36 der ersten Weiterleitungseinrichtung 21 nicht die Stromversorgung, und die CPU 32 der ersten Weiterleitungseinrichtung 21 führt den ersten Vermittlungsvorgang durch. Obwohl der Betrieb der zweiten Weiterleitungseinrichtung 22 unterbrochen wird, vermittelt die erste Weiterleitungseinrichtung 21 die Kommunikation zwischen den ECUs 12a und 12a und einer der ECUs 12b und 12b.
  • Falls bestimmt wurde, dass die Fehlerdaten nicht gespeichert sind (Schritt S98: NEIN), ermittelt die CPU 52, ob normale Daten in dem RAM 35 gespeichert sind oder nicht (Schritt S100). Falls festgestellt wird, dass die normalen Daten nicht gespeichert sind (S110: NEIN), führt die CPU 52 den Schritt S98 aus und ruht bis die CPU 42 des HSM 34 die normalen Daten oder die Fehlerdaten in den RAM 35 einschreibt. Wenn festgestellt wird, dass die normalen Daten gespeichert sind (S100: JA), beendet die CPU 52 den Startvorgang. Die CPU 52 führt dann den zweiten Vermittlungsvorgang durch.
  • 14 ist ein erläuterndes Diagramm, welches die Verifizierung des zweiten Steuerprogramms P2 darstellt. Wie zuvor beschrieben, berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten Zwischendaten auf der Basis des zweiten Steuerprogramms P2. Anschließen erzeugt die CPU 52 zweite Kombinationsdaten durch Verknüpfen der berechneten zweiten Zwischendaten mit den von der CPU 42 des HSM 34 erzeugten Zufallszahldaten. Die CPU 52 berechnet die zweiten Berechnungsdaten auf der Basis der erzeugten zweiten Kombinationsdaten und schreibt die berechneten zweiten Berechnungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21.
  • Die CPU 42 des HSM 34berechnet die zweiten zugehörigen Daten auf der Basis der in dem RAM 35 gespeicherten zweiten Berechnungsdaten und der zweiten Schlüsseldaten K2.
  • Außerdem erzeugt die CPU 42 die ersten Kombinationsdaten durch Verknüpfen der zweiten Referenzdaten R2 und der Zufallszahldaten. Die CPU 42 berechnet die ersten Zwischendaten auf der Basis der erzeugten ersten Kombinationsdaten. Die CPU 42 berechnet die dritten Referenzdaten auf der Basis der berechneten ersten Zwischendaten und der zweiten Schlüsseldaten K2. Die CPU 42 verifiziert das zweite Steuerprogramm P2 indem ermittelt wird, ob die zweiten zugehörigen Daten und die dritten Referenzdaten zusammenpassen oder nicht.
  • Das Verfahren zum Erzeugen der zweiten Kombinationsdaten durch Verknüpfen der zweiten Zwischendaten mit den Zufallszahldaten ist dasselbe wie das Verfahren zum Erzeugen der ersten Kombinationsdaten durch Verknüpfen der zweiten Referenzdaten und der Zufallszahldaten. Das Verfahren zum Berechnen der zweiten Berechnungsdaten auf der Basis der zweiten Kombinationsdaten ist dasselbe wie das Verfahren zum Berechnen der ersten Zwischendaten auf der Basis der ersten Kombinationsdaten. Das Verfahren zum Berechnen der zweiten zugehörigen Daten auf der Basis der zweiten Berechnungsdaten und der zweiten Schlüsseldaten ist dasselbe wie das Verfahren zum Berechnen der dritten Referenzdaten auf der Basis der ersten Zwischendaten und der zweiten Schlüsseldaten.
  • Wenn das zweite Steuerprogramm P2 legitimiert ist, passen die zweiten Referenzdaten R2 und die zweiten Zwischendaten zusammen. In diesem Fall passen die zweiten Kombinationsdaten, die zweiten Berechnungsdaten und die zweiten zugehörigen Daten mit den ersten Kombinationsdaten, den ersten Zwischendaten bzw. mit den dritten Referenzdaten zusammen, und die normalen Daten werden in den RAM 35 geschrieben.
  • Wie zuvor beschrieben, ändern sich die Zufallszahldaten jedes Mal, wenn der Verifizierungsprozess durchgeführt wird. Folglich werden die zweiten zugehörigen Daten und die dritten Referenzdaten nicht zusammenpassen, wenn die in dem vorhergehenden Verifizierungsprozess berechneten zweiten Berechnungsdaten bei dem aktuellen Verifizierungsprozess in den RAM 35 geschrieben wurden, und das zweite Steuerprogramm P2 wird als nicht legitimiert erkannt.
  • Das folgende Verfahren kann als eine Manipulationsverfahren des zweiten Steuerprogramms P2 aufgefasst werden. Durch die Speicherung von in einem vorhergegangenen Verifizierungsprozess berechneten Berechnungsdaten wird das zweite Steuerprogramm P2 manipuliert, und die gespeicherten Berechnungsdaten werden dann in einem nachfolgenden Verifizierungsprozess in den RAM 35 eingeschrieben. Allerdings wird auch bei Anwendung eines solchen Verfahrens die Manipulation an dem zweiten Steuerprogramm P2 durch die Weiterleitungsvorrichtung gemäß der dritten Ausführungsform erkannt, und das Verifizierungsergebnis für das zweite Steuerprogramm ist daher sehr zuverlässig.
  • Außerdem berechnet die CPU 24 des HSM 34 die dritten Referenzdaten auf der Basis der zweiten Schlüsseldaten K2, der Zufallszahldaten und der zweiten Referenzdaten R2, und die COU 52 der zweiten Weiterleitungseinrichtung 22 berechnet die zweiten zugehörigen Daten auf der Basis der zweiten Berechnungsdaten und der zweiten Schlüsseldaten K2, was das Verifizierungsergebnis für das zweite Steuerprogramm P2 noch zuverlässiger macht.
  • Gemäß der wie soweit beschrieben ausgeführten Weiterleitungsvorrichtung 11 verifiziert die CPU 32 des HSM 34 in der ersten Weiterleitungseinrichtung 21 das zweite Steuerprogramm P2. Es ist daher nicht notwendig, dass die zweite Weiterleitungseinrichtung 22 eine Verifizierungsfunktion für das zweite Steuerprogramm hat, und die Weiterleitungsvorrichtung ist deshalb klein und kostengünstig herzustellen.
  • Ferner berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten Berechnungsdaten des zweiten Steuerprogramms P2 und schreibt die berechneten zweiten Berechnungsdaten in den RAM 35 der ersten Weiterleitungseinrichtung 21. Die Größe der zweiten Berechnungsdaten ist geringer als die Größe des zweiten Steuerprogramms. Deswegen wird nur eine geringe Datenmenge von der zweiten Weiterleitungseinrichtung 22 zu der ersten Weiterleitungseinrichtung 21 zur Verifizierung der Authentizität des zweiten Steuerprogramms übertragen. Folglich wird nur eine kurze Zeitspanne für die Verifizierung benötigt. Außerdem bietet die Weiterleitungsvorrichtung 11 gemäß der dritten Ausführungsform dieselben Wirkungen oder Funktionen wie die Weiterleitungsvorrichtung 11 gemäß der ersten Ausführungsform.
  • Es ist anzumerken, dass in der zweiten Ausführungsform die CPU 52 der zweiten Weiterleitungseinrichtung 22 denselben Startvorgang ausführen kann wie in der dritten Ausführungsform. In dem Fall führt die CPU 52 beim Startvorgang die Schritte S61 und S62 gemäß der zweiten Ausführungsform aus anstelle vom Schritt S93. In Schritt S94 werden die zweiten Zwischendaten auf der Basis des zweiten Steuerprogramms, welches im Schritt S61 ausgelesen wurde, berechnet.
  • Vierte Ausführungsform
  • Bei der Weiterleitungsvorrichtung 11 gemäß der vierten Ausführungsform berechnet die CPU 42 des HSM 34 die ersten zugehörigen Daten auf der Basis der ersten Schlüsseldaten K1, und die zweiten zugehörigen Daten sowie die dritten Referenzdaten auf der Basis zweiten Schlüsseldaten K2. Allerdings muss die CPU 42 nicht die Berechnungen auf der Basis der ersten und zweiten Schlüsseldaten K1 und K2 ausführen. Im Folgenden werden die Unterschiede der vierten Ausführungsform zur dritten Ausführungsform beschrieben. Ausgestaltungen, die über die hier im Weiteren beschriebenen hinausgehen, sind dieselben wie in der dritten Ausführungsform. Insofern sind die Bestandselemente, die gleich sind mit denen der dritten Ausführungsform, mit denselben Bezugszeichen wie bei der dritten Ausführungsform versehen, und auf eine Beschreibung derselben wird verzichtet.
  • Das Kommunikationssystem 1 gemäß der vierten Ausführungsform unterschiedet sich von dem Kommunikationssystem gemäß der dritten Ausführungsform dahingehend, dass die Einzelheiten des Verifizierungsprozesses, der von der CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21 durchgeführt wird, unterschiedlich sind, und dass die Einzelheiten des von der CPU 52 der zweiten Weiterleitungsvorrichtung 22 ausgeführten Startvorgangs unterschiedlich sind.
  • Die 15 und 16 stellen den Ablauf eines Verifizierungsprozesses gemäß der vierten Ausführungsform dar. Wie bei der dritten Ausführungsform führt die CPU 42, nachdem der Stromversorgungskreis 54 die Stromzufuhr für die CPU 42 des HSM 34 begonnen hat, einen Verifizierungsprozess durch bevor der erste Vermittlungsvorgang durchgeführt wird. Die CPU 34 stoppt solange die CPU 42 den Verifizierungsprozess durchführt. Die Schritte S111, S113 bis S117, S119, S120, S124 und S125 des Verifizierungsprozesses gemäß der vierten Ausführungsform sind dieselben wie die Schritte S71, S74 bis S78, S82, S83, S87 und S88 des Verifizierungsprozesses gemäß der dritten Ausführungsform. Dementsprechend werden die Schritte S111, S113 bis S117, S119, S120, S124 und S125 nicht ausführlich beschrieben.
  • Bei dem Verifizierungsprozess berechnet die CPU 42 des HSM 34 nachdem der Schritt S 111 durchgeführt wurde die ersten zugehörigen Daten, welche das erste Steuerprogramm betreffen, auf der Basis des im Schritt S 111 ausgelesenen ersten Steuerprogramms P1 (Schritt S 112). Im Schritt S112 berechnet die CPU 42 die ersten zugehörigen Daten beispielsweise unter Verwendung einer Hashfunktion. Nach der Durchführung des Schritts S112 führt die CPU Schritt S113 aus.
  • In Schritt S117 schreibt die CPU 42 wie bei der dritten Ausführungsform Zufallszahldaten in den RAM 35. Bei dem Startvorgang gemäß der vierten Ausführungsform berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 auf der Basis der in Schritt S117 geschriebenen Zufallszahldaten und des zweiten Steuerprogramms P2 die zweiten zugehörigen Daten, die da zweite Steuerprogramm betreffen, und schreibt die zweiten zugehörigen Daten in den RAM35.
  • Nach der Durchführung des Schritts S 117 bestimmt die CPU 42 ob die zweiten zugehörigen Daten in dem RAM 35 gespeichert sind oder nicht (Schritt S118). Wenn erkannt wurde, dass die zweiten zugehörigen Daten nicht gespeichert sind (S118: NEIN), führt die CPU 42 erneut den Schritt S118aus und ruht solange die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten zugehörigen Daten in den RAM 35 schreibt.
  • Wenn bestimmt wurde, dass die zweiten zugehörigen Daten gespeichert sind (S118: JA) führt die CPU 42 die Schritte S119 und S120 aus. Anschließend berechnet die CPU 42 die dritten Referenzdaten auf der Basis der ersten Kombinationsdaten, die in Schritt S120 erzeugt wurden (Schritt S 121). Im Schritt S 121 berechnet die CPU 42 die dritten Referenzdaten beispielsweise unter Verwendung einer Hashfunktion.
  • Wie oben beschrieben, berechnet die CPU 42 die dritten Referenzdaten auf der Basis der Zufallszahldaten und der zweiten Referenzdaten R2.
  • Anschließend liest die CPU 42 die zweiten zugehörigen Daten aus dem RAM 35 aus (Schritt S122). Die CPU 42 erhält die zweiten zugehörigen Daten, welche von der CPU 52 der zweiten Weiterleitungseinrichtung 22 berechnet wurden. Dann ermittelt die CPU 42 ob die zweiten im Schritt S122 ausgelesenen zugehörigen Daten mit den dritten im Schritt S121 berechneten Referenzdaten zusammenpassen (Schritt S123). Ferner verifiziert die CPU 42 das zweite Steuerprogramm mit der Durchführung des Schritts S123 als legitimiert.
  • Falls festgestellt wurde, dass die zweiten zugehörigen Daten und die dritten Referenzdaten zusammenpassen (S123: JA), führt die CPU 42 unter der Annahme, dass das zweite Steuerprogramm P2 legitimiert ist, den Schritt S124 aus. Falls festgestellt wurde, dass die zweiten zugehörigen Daten und die dritten Referenzdaten nicht zusammenpassen (S123: NEIN), führt die CPU 42 unter der Annahme, dass das zweite Steuerprogramm P2 nicht legitimiert ist, oder mit anderen Worten, dass das zweite Steuerprogramm P2 wahrscheinlich manipuliert wurde, den Schritt S125 aus. Nach der Ausführung eines der Schritte S124 oder S125 beendet die CPU 42 den Verifizierungsprozess. Nachdem die CPU 42 des HSM 34 den Verifizierungsprozess beendet hat, unterbricht der Stromversorgungskreis vorübergehend die Stromversorgung, sodass die Vorgänge angehalten werden bis die Stromversorgung wieder hochfährt. Nachdem Beenden des Verifizierungsprozesses durch die CPU 42 führt die CPU 32 das legitimierte erste Steuerprogramm P1 aus.
  • 17 zeigt ein Flussdiagramm, das den Ablauf des Startvorgangs darstellt. Wie in der dritten Ausführungsform führt die CPU 52, sobald der Stromversorgungskreis 54 die Stromversorgung der CPU 52 und der zweiten Weiterleitungseinrichtung 22 aufgenommen hat, den Startvorgang gemäß dem Startprogramm Pb bevor der zweite Vermittlungsvorgang durchgeführt wird. Die Schritte S131 bis S135 and S138 bis S140 des Startvorgangs gemäß der vierten Ausführungsform sind dieselben wie die Schritte S91 bis S95 und S98 bis S100. Dementsprechend werden die S131 bis S135 and S138 bis S140 nicht ausführlich erläutert.
  • Bei dem Startvorgang berechnet die CPU 52 der zweiten Weiterleitungsvorrichtung 22, nachdem der Schritt S135 durchgeführt wurde, die zweiten zugehörigen Daten auf der Basis der im Schritt S135 erzeugten zweiten Kombinationsdaten (Schritt S136). Im Schritt S136 berechnet die CPU 52 beispielsweise unter Verwendung einer Hashfunktion die zweiten zugehörigen Daten.
  • Wie oben beschrieben, berechnet die CPU 52 die zweiten Berechnungsdaten auf der Basis des zweiten Steuerprogramms P2 und der Zufallszahldaten. In der vierten Ausführungsform agiert die COU 52 der zweiten Weiterleitungseinrichtung als die zugehörige Daten-Berechnungseinheit anstelle der CPU 42 des HSM 34.
  • Anschließend schreibt die CPU 52 die im Schritt S136 berechneten zweiten zugehörigen Daten in den RAM 35 (Schritt S137) und führt dann den Schritt S138 aus.
  • 18 ist ein erläuterndes Diagramm, das die Verifizierung des zweiten Steuerprogramms P2 darstellt. Wie bei der dritten Ausführungsform berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten Zwischendaten auf der Basis des zweiten Steuerprogramms P2. Anschließend erzeugt die CPU 52 zweite Kombinationsdaten durch Verknüpfen der berechneten zweiten Zwischendaten mit den von der CPU 42 des HSM 34 erzeugten Zufallszahldaten. Die CPU 52 berechnet die zweiten zugehörigen Daten auf der Basis der erzeugten zweiten Kombinationsdaten und schreibt die berechneten zweiten zugehörigen Daten in den RAM 35 der ersten Weiterleitungseinrichtung.
  • Wie bei der dritten Ausführungsform, erzeugt die CPU 42 des HSM 34 die ersten Kombinationsdaten durch Verknüpfen der zweiten Referenzdaten R2 mit den Zufallszahldaten. Die CPU 42 berechnet die dritten Referenzdaten auf der Basis der erzeugten ersten Kombinationsdaten. Die CPU 42 verifiziert das zweite Steuerprogramm P2, indem ermittelt wird, ob die von der CPU 52 erzeugten zweiten zugehörigen Daten und die dritten Referenzdaten zusammenpassen oder nicht.
  • Das Verfahren zum Erzeugen der zweiten Kombinationsdaten durch Verknüpfen der zweiten Zwischendaten und der Zufallszahldaten ist dasselbe wie das Verfahren zum Erzeugen der ersten Kombinationsdaten durch Verknüpfen der zweiten Referenzdaten und der Zufallszahldaten. Das Verfahren zum Berechnen der zweiten zugehörigen Daten auf der Basis der zweiten Kombinationsdaten ist dasselbe wie das Verfahren zum Berechnen der dritten Referenzdaten auf der Basis der ersten Kombinationsdaten.
  • Wenn das zweite Steuerprogramm P2 legitimiert ist, passen die zweiten Referenzdaten und die zweiten Zwischendaten zusammen. In dem Fall passen die zweiten Kombinationsdaten und die zweiten zugehörigen Daten mit den ersten Kombinationsdaten bzw. den dritten Referenzdaten zusammen, und die normalen Daten werden in den RAM geschrieben.
  • Wie zuvor beschrieben, ändern sich die Zufallszahldaten jedes Mal, wenn ein Verifizierungsprozess durchgeführt wird. Dementsprechend ändern sich die aus dem RAM 35ausgelesenen zweiten zugehörigen Daten jedes Mal, wenn der Verifizierungsprozess durchgeführt wird. Falls die in dem vorhergehenden Startvorgang berechneten zweiten zugehörigen Daten in dem aktuellen Startvorgang in den RAM 35 eingeschrieben wurden, passen die zweiten zugehörigen Daten und die dritten Referenzdaten nicht zusammen, und das zweite Steuerprogramm wird als nicht legitimiert erkannt. Das Verifizierungsergebnis für das zweite Steuerprogramm P" ist also genauso wie bei der dritten Ausführungsform höchst zuverlässig.
  • Die ersten Schlüsseldaten K1 und die zweiten Schlüsseldaten K2 werden bei dem Verifizierungsprozess und dem Startvorgang gemäß der vierten Ausführungsform nicht verwendet. Es ist daher nicht notwendig, die ersten Schlüsseldaten K1 und die zweiten Schlüsseldaten in dem ROM 41 des HSM 34 zu abzuspeichern.
  • Außerdem berechnet die CPU 52 der zweiten Weiterleitungseinrichtung 22 die zweiten zugehörigen Daten, welche das zweite Steuerprogramm P2 betreffen, und schreibt die berechneten zweiten zugehörigen Daten in den RAM 35 der ersten Weiterleitungseinrichtung 21. Die Größe der zweiten zugehörigen Daten ist geringer als die Größe des zweiten Steuerprogramms P2. Daher wird zur Verifizierung, dass das zweite Steuerprogramm P2 legitimiert ist, nur eine kleine Datenmenge von der zweiten Weiterleitungseinrichtung 22 an die erste Weiterleitungseinrichtung 21 übertragen. Folglich wird nur ein kleiner Zeitraum für die Verifizierung benötigt.
  • Die Weiterleitungsvorrichtung 11 gemäß der vierten Ausführungsform stellt dieselben Funktionalitäten und Eigenschaften bereit wie die Weiterleitungsvorrichtung 11 gemäß der dritten Ausführungsform, abgesehen von dem Effekt, der durch die Berechnung der Berechnungsdaten erzielt wird, und dem Effekt, der durch die Berechnung der dritten Referenzdaten auf der Basis der zweiten Schlüsseldaten K2 erzielt wird,
  • Es wird darauf hingewiesen, dass die CPU 52 der zweiten Weiterleitungseinrichtung 22 in der zweiten Ausführungsform den Startvorgang gemäß der vierten Ausführungsform durchführen kann. In dem Fall führt die CPU 52 beim Startvorgang die Schritte S61 und S62 der zweiten Ausführungsform anstelle des Schritts S133 aus, und die ersten Schlüsseldaten K1 und die zweiten Schlüsseldaten K2 müssen nicht in dem ROM 41 des HSM 34 abgespeichert werden. Im Schritt S134 werden die zweiten Zwischendaten auf der Basis des im Schritt S61 ausgelesenen zweiten Steuerprogramms P2 berechnet.
  • Außerdem wird in der dritten Ausführungsform die Berechnung der zweiten Zwischendaten ausgelassen, sofern die auf der Basis der zweiten Kombinationsdaten, welche durch Verknüpfen der zweiten Zwischendaten und der Zufallszahldaten erzeugt sind, berechneten zweiten Berechnungsdaten gleich mit Daten sind, die auf der Basis von Daten, die durch Verknüpfen des zweiten Steuerprogramms P2 und den Zufallszahldaten erzeugt sind, berechnet werden. In dem Fall erzeugt die CPU 52 der zweiten Weiterleitungseinrichtung 22 beim Startvorgang die zweiten Kombinationsdaten auf der Basis des zweiten Steuerprogramms P2 und den Zufallszahldaten.
  • Ebenso kann in der vierten Ausführungsform die Berechnung der zweiten Zwischendaten ausgelassen werden, falls die zweiten zugehörigen Daten, welche auf der Basis der zweiten Kombinationsdaten, die durch Verknüpfen der zweiten Zwischendaten und den Zufallszahldaten erzeugt sind, berechnet sind, gleich mit Daten sind, die auf der Basis von Daten, die durch Verknüpfen des zweiten Steuerprogramms P2 und der Zufallszahldaten erzeugt sind, berechnet sind. In dem Fall erzeugt die CPU 52 der zweiten Weiterleitungseinrichtung 22 beim Startvorgang die zweiten Kombinationsdaten auf der Basis des zweiten Steuerprogramms P2 und den Zufallszahldaten.
  • In den ersten bis vierten Ausführungsformen ist die Ausgestaltung zum Stoppen des Betriebs der zweiten Weiterleitungseinrichtung 22 nicht darauf beschränkt, den Stromversorgungskreis 54 der zweiten Weiterleitungseinrichtung 22 dazu zu bringen, die Stromversorgung auszusetzen, und die Ausgestaltung kann auch derart sein, dass beispielsweise ein Schalter der auf halber Strecke entlang der Stromleitung, die die Batterie und den Stromversorgungskreis 54 verbindet, eingesetzt ist, geöffnet wird. In dem Fall wird der Betrieb des Stromversorgungskreises 54 unterbrochen, wenn der Schalter ausgeschaltet wird. In der Folge unterbricht der Stromversorgungskreis 54 die Stromzufuhr.
  • Ebenso ist die Ausgestaltung zum Stoppen des Betriebs der ersten Weiterleitungseinrichtung 21 nicht darauf beschränkt, den Stromversorgungskreis 36 der ersten Weiterleitungseinrichtung 21 dazu zu bringen, die Stromversorgung auszusetzen, und die Ausgestaltung kann auch derart sein, dass beispielsweise ein Schalter der auf halber Strecke entlang der Stromleitung, die die Batterie und den Stromversorgungskreis 36 verbindet, eingesetzt ist, geöffnet wird. In dem Fall wird der Betrieb des Stromversorgungskreises 36 unterbrochen, wenn der Schalter ausgeschaltet wird. In der Folge unterbricht der Stromversorgungskreis 36 die Stromzufuhr.
  • Ferner kann die CPU 42 des HSM 34, wenn festgestellt wurde, dass das zweite Steuerprogramm P2 nicht legitimiert ist, sowohl den Betrieb der zweiten Weiterleitungseinrichtung 22 als auch den der ersten Weiterleitungseinrichtung 21 stoppen.
  • Das bei der durch die erste Weiterleitungseinrichtung 21 vermittelten Kommunikation verwendete Kommunikationsprotokoll ist nicht auf das CAN-Protokoll beschränkt. Ferner kann das Kommunikationsprotokoll, welches für die von der ersten Weiterleitungseinrichtung 21 vermittelte Kommunikation eingesetzt wird, das gleiche sein, wie das Kommunikationsprotokoll, welches für die von der zweiten Weiterleitungseinrichtung 22 vermittelte Kommunikation eingesetzt wird.
  • In den ersten, zweiten und dritten Ausführungsformen können die Berechnungsdaten des zweiten Steuerprogramms P2 oder die zweiten Berechnungsdaten von der CPU 42 des HSM 34 in der ersten Weiterleitungseinrichtung 21berechnet werden anstelle von der CPU 52 der zweiten Weiterleitungseinrichtung 22. In dem Fall schreibt die CPU 52 der zweiten Weiterleitungseinrichtung 22 beim Startvorgang das zweite Steuerprogramm P2 in den RAM 35 der ersten Weiterleitungseinrichtung 21.
  • In den ersten bis vierten Ausführungsformen ist die Anzahl der an die erste Weiterleitungseinrichtung 21 verbundenen Kommunikationsleitungen nicht auf zwei beschränkt, vielmehr können es drei oder mehr sein. Außerdem ist die Anzahl der an jede Kommunikationsleitung verbundenen ECUs nicht auf zwei beschränkt, vielmehr können es drei oder mehr sein. Die Anzahl der an eine gegebene Kommunikationsleitung verbundenen ECUs kann von der Anzahl der an eine andere Kommunikationsleitung verbundenen ECUs verschieden sein. Es können mehrere ECUs auf dieselbe Weise wie die fahrzeuggebundenen Einrichtungen 13a, 13b und 13c direkt an die erste Weiterleitungseinrichtung 21 verbunden sein.
  • Ferner ist die Anzahl der an die zweite Weiterleitungseinrichtung 22 verbundenen fahrzeuggebundenen Einrichtungen nicht auf drei beschränkt, viel-mehr können es auch zwei, vier oder mehr sein. Außerdem können mehrere Kommunikationsleitungen an die zweite Weiterleitungseinrichtung 22 verbunden werden, und eine oder mehrere fahrzeuggebundenen Einrichtungen können an jede Kommunikationsleitung verbunden werden. In dem Fall vermittelt die zweite Weiterleitungseinrichtung 22 die Kommunikation zwischen einer der fahrzeuggebundenen Einrichtungen, die an eine der Kommunikationsleitungen verbunden ist und einer der fahrzeuggebundenen Einrichtungen, die an eine andere Kommunikationsleitungen verbunden ist. Ferner kann die Umwandlung von ECU-Daten in Einrichtungsdaten und von Einrichtungsdaten in ECU-Daten durch die CPU 52 der zweiten Weiterleitungseinrichtung 22 erfolgen.
  • Die hier offenbarten ersten bis vierten Ausführungsformen haben ausschließlich erläuternde beispielgebende Bedeutung und sind nicht als einschränkend zu verstehen. Der Umfang der vorliegenden Erfindung ist nicht durch die Ausführungsformen gegeben, sondern durch den Schutzbereich der Ansprüche, und alle Abwandlungen, die hinsichtlich Bedeutung und Umfang äquivalent zum Schutzbereich der Ansprüche sind, sollen hier mitumfasst sein.
  • Unter der Bezeichnung „legitim“ oder „legitimiert“ für ein Steuerprogramm wird insbesondere verstanden, dass das Steuerprogramm echt, autorisiert, genuin oder nicht manipuliert ist. Ein „Verfahren gemäß dem Steuerprogramm“ kann als computerimplementiertes Verfahren verstanden werden. Der Ausdruck „auf der Basis“ kann als „in Abhängigkeit“ oder „als Funktion von“ verstanden werden. Daten können insbesondere zusammenpassen, wenn sie übereinstimmen oder einander korrespondieren. Zugehörige Daten, die ein Element betreffen, sind von dem Element abgeleitete Daten oder Daten, die dem Element zugewiesen sind.
  • Bezugszeichenliste
  • 11
    Weiterleitungsvorrichtung (fahrzeuggebundene Vorrichtung)
    12a, 12b
    ECU (erste Kommunikationsvorrichtung)
    13a, 13b, 13c
    fahrzeuggebundene Einrichtung (zweite Kommunikationsvorrichtung)
    21
    erste Weiterleitungseinrichtung (erste fahrzeuggebundene Einrichtung)
    22
    zweite Weiterleitungseinrichtung (zweite fahrzeuggebundene Einrichtung)
    32
    CPU (erste Verarbeitungseinheit, Verarbeitungseinheit, Konvertierungseinheit)
    34
    HSM (Verifizierer)
    41
    ROM (Speichereinheit, zweite Speichereinheit)
    42
    CPU (zugehörige Daten-Berechnungseinheit, Ermittlungseinheit, Zufallszahl-Erzeugungseinheit, ReferenzdatenBerechnungseinheit, Betriebssteuereinheit, Berechnungseinheit, zweite Berechnungseinheit, zweite Ermittlungseinheit, Erlangungseinheit)
    52
    CPU (zweite Verarbeitungseinheit, zugehörige Daten-Berechnungseinheit, Berechnungseinheit)
    100
    Fahrzeug
    K1
    Schlüsseldaten (zweite Schlüsseldaten)
    K2
    Schlüsseldaten
    P1
    erstes Steuerprogramm (zweites Steuerprogramm)
    P2
    zweites Steuerprogramm
    Ph
    Verifizierungsprogramm

Claims (12)

  1. Fahrzeuggebundene Vorrichtung (11) mit einer ersten fahrzeuggebundenen Einrichtung (21), welche eine erste Verarbeitungseinheit (32) aufweist, die eingerichtet ist, ein Verfahren gemäß einem ersten Steuerprogramm (P1) durchzuführen, und einem Verifizierer (34), welcher eingerichtet ist, das erste Steuerprogramm (P1) unter Verwendung einer anderen Hardware, die verschieden ist von einer Hardware, welche die erste Verarbeitungseinheit (32) bildet, zu verifizieren, wobei die Vorrichtung (11) aufweist: eine zweite fahrzeuggebundene Einrichtung (22), welche eine zweite Verarbeitungseinheit (52) aufweist, die eingerichtet ist, ein Verfahren gemäß einem zweiten Steuerprogramm (P2) durchzuführen; und eine zugehörige Daten-Berechnungseinheit (52), welche eingerichtet ist, zugehörige Daten zu berechnen, die das zweite Steuerprogramm (P2) betreffen, wobei der Verifizierer (34) eine Ermittlungseinheit (42) aufweist, welche eingerichtet ist, zu ermitteln, ob die zugehörigen Daten, die von der zugehörigen Daten-Berechnungseinheit (52) berechnet wurden, mit Referenzdaten zusammenpassen oder nicht; und wobei der Verifizierer (34) der ersten fahrzeuggebundenen Einrichtung (21) weiter aufweist: die zugehörige Daten-Berechnungseinheit (42); eine Zufallszahl-Erzeugungseinheit (42), welche Zufallszahldaten erzeugt; und eine Referenzdaten-Berechnungseinheit (42), welche die Referenzdaten auf der Basis der Zufallszahldaten, die von der Zufallszahl-Erzeugungseinheit (42) erzeugt wurden, und vorbestimmter Daten berechnet; wobei die zweite fahrzeuggebundene Einrichtung (22) eine Berechnungseinheit (52) aufweist, welche Berechnungsdaten auf der Basis des zweiten Steuerprogramms und der Zufallszahldaten zum Berechnen der zugehörigen Daten berechnet; und die zugehörige Daten-Berechnungseinheit (42) des Verifizierers (34) die zugehörigen Daten auf der Basis der Berechnungsdaten, die von der Berechnungseinheit (52) berechnet wurden, berechnet.
  2. Fahrzeuggebundene Vorrichtung nach Anspruch 1, wobei der Verifizierer (34) das erste Steuerprogramm (P1) mit Hilfe der anderen Hardware, welche ein Verifikationsprogramm ausführt, verifiziert.
  3. Fahrzeuggebundene Vorrichtung nach Anspruch 1 oder 2, wobei der Verifizierer (34) der ersten fahrzeuggebundenen Einrichtung (21) eine Speichereinheit (41) aufweist, welche Schlüsseldaten speichert; die Referenzdaten-Berechnungseinheit (42) die Referenzdaten auf der Basis der Schlüsseldaten, welche in der Speichereinheit (41) gespeichert sind, der Zufallszahldaten und der vorbestimmten Daten berechnet; und die zughörige Daten-Berechnungseinheit (42) die zughörigen Daten auf der Basis der Berechnungsdaten und der Schlüsseldaten berechnet.
  4. Fahrzeuggebundene Vorrichtung nach Anspruch 1 oder 2, wobei der Verifizierer (34) der ersten fahrzeuggebundenen Einrichtung (21) aufweist: eine Zufallszahl-Erzeugungseinheit (42), welche Zufallszahldaten erzeugt; und eine Referenzdaten-Berechnungseinheit (42), welche die Referenzdaten auf der Basis der Zufallszahldaten, die von der Zufallszahl-Erzeugungseinheit erzeugt wurden, und vorbestimmter Daten berechnet; wobei die zweite fahrzeuggebundene Einrichtung (22) die zugehörige Daten-Berechnungseinheit (52) aufweist, und die zugehörige-Daten-Berechnungseinheit (52) die zugehörigen Daten auf der Basis des zweiten Steuerprogramms (P2) und der Zufallszahldaten berechnet.
  5. Fahrzeuggebundene Vorrichtung nach einem der Ansprüche 1 bis 4, ferner aufweisend: eine Betriebssteuereinheit (42), welche Vorgänge der zweiten fahrzeuggebundenen Einrichtung (22) in dem Fall stoppt, in dem die Ermittlungseinheit (42) des Verifizierers (34) ermittelt hat, dass die zugehörigen Daten und die Referenzdaten nicht zusammenpassen.
  6. Eine Weiterleitungsvorrichtung (11) für ein Fahrzeug, wobei die Weiterleitungsvorrichtung (11) mit einer ersten Weiterleitungseinrichtung (21), welche eingerichtet ist, eine Kommunikation zwischen einer Mehrzahl von ersten Kommunikationsvorrichtungen (12a, 12b) zu vermitteln, und einer zweiten Weiterleitungseinrichtung (22), welche eingerichtet ist, ein Verfahren gemäß einem Steuerprogramm (P2) durchzuführen und eine Kommunikation zwischen einer Mehrzahl von zweiten Kommunikationsvorrichtungen (13a, 13b, 13c) zu vermitteln, wobei die erste Weiterleitungseinrichtung (21) und die zweite Weiterleitungseinrichtung (22) eingerichtet sind, eine Kommunikation zwischen den ersten Kommunikationsvorrichtungen (12a, 12b) und den zweiten Kommunikationsvorrichtungen (13a, 13b, 13c) zu vermitteln, wobei die erste Weiterleitungseinrichtung (21) aufweist: eine Speichereinheit (41), welche Schlüsseldaten (K2) speichert; eine Berechnungseinheit (42), welche eingerichtet ist, zugehörige Daten, die das Steuerprogramm der zweiten Weiterleitungseinrichtung (22) betreffen, unter Verwendung der Schlüsseldaten (K2) zu berechnen; und eine Ermittlungseinheit (42), welche eingerichtet ist, zu ermitteln, ob die zugehörigen Daten, welche von der Berechnungseinheit (42) berechnet wurden, mit vorbestimmten Daten zusammenpassen oder nicht; eine Verarbeitungseinheit (42), welche ein Verfahren gemäß einem zweiten Steuerprogramm (P2) ausführt; eine zweite Speichereinheit (35), welche zweite Schlüsseldaten (K1) speichert; eine zweite Berechnungseinheit (42), welche zweite zugehörige Daten, die das zweite Steuerprogramm (P2) betreffen, unter Verwendung der zweiten Schlüsseldaten (K1) berechnet; und eine zweite Ermittlungseinheit (42), welche ermittelt, ob die zweiten zugehörigen Daten, die von der zweiten Berechnungseinheit (42) berechnet wurden, mit zweiten vorbestimmten Daten zusammenpassen oder nicht.
  7. Weiterleitungsvorrichtung nach Anspruch 6, ferner aufweisend: eine Betriebssteuereinheit (42), welche Vorgänge der zweiten Weiterleitungseinrichtung (22) in dem Fall stoppt, in dem die Ermittlungseinheit (42) der ersten Weiterleitungseinrichtung (21) ermittelt hat, dass die zugehörigen Daten und die vorbestimmten Daten nicht zusammenpassen.
  8. Die Weiterleitungsvorrichtung nach Anspruch 6 oder 7, wobei die zweite Weiterleitungseinrichtung (22) eine Berechnungseinheit (52) aufweist, welche Berechnungsdaten zum Berechnen der zugehörigen Daten berechnet; die erste Weiterleitungseinrichtung (21) eine Erlangungseinheit (42) aufweist, welche die Berechnungsdaten, die von der Berechnungseinheit berechnet wurden, erhält; und die Berechnungseinheit (42) der ersten Weiterleitungseinrichtung (21) die zugehörigen Daten unter Verwendung der Schlüsseldaten (K2) und der Berechnungsdaten, die von der Erlangungseinheit (42) erhalten wurden, berechnet.
  9. Weiterleitungsvorrichtung nach Anspruch 7 oder 8, ferner aufweisend: eine Konvertierungseinheit (32), welche Daten, die einem ersten Protokoll, das bei der Kommunikation zwischen der Mehrzahl von ersten Kommunikationsvorrichtungen (12a, 12b) verwendet wird, entsprechen, in Daten konvertiert, die einem zweiten Protokoll entsprechen, das bei der Kommunikation zwischen der Mehrzahl von zweiten Kommunikationsvorrichtungen (13a, 13b, 13c) verwendet wird, und welche Daten, die zu zweiten Protokoll entsprechen, in Daten konvertiert, die dem ersten Protokoll entsprechen.
  10. Computerprogramm, das von einem Verifizierer (34) einer fahrzeuggebundenen Vorrichtung (11) ausgeführt wird, wobei die fahrzeuggebundene Vorrichtung (11) eine erste fahrzeuggebundene Einrichtung (21) und eine zweite fahrzeuggebundene Einrichtung (22) aufweist, wobei die erste fahrzeuggebundene Einrichtung (21) aufweist: eine erste Verarbeitungseinheit (32), welche ein Verfahren gemäß einem ersten Steuerprogramm (P1) durchführt, und den Verifizierer (34), welcher das erste Steuerprogramm (P1) unter Verwendung einer anderen Hardware, die verschieden ist von einer Hardware, welche die erste Verarbeitungseinheit (32) bildet, verifiziert, und wobei die zweite fahrzeuggebundene Einrichtung (22) ein Verfahren gemäß einem zweiten Steuerprogramm (P2) durchführt, wobei das Computerprogramm einen Computer dazu veranlasst: zugehörige Daten zu berechnen, die das zweite Steuerprogramm (P2) betreffen; und zu ermitteln, ob die berechneten zugehörigen Daten mit Referenzdaten zusammenpassen oder nicht, Zufallszahldaten zu erzeugen; Referenzdaten auf der Basis von erzeugten Zufallszahlen und vorbestimmter Daten zu berechnen; Berechnungsdaten auf der Basis des zweiten Steuerprogramms (P2) und der Zufallszahldaten zu berechnen; die zugehörigen Daten auf der Basis der Berechnungsdaten zu berechnen.
  11. Computerprogramm, das von einem Verifizierer (34) einer fahrzeuggebundenen Vorrichtung (11) ausgeführt wird, wobei die fahrzeuggebundene Vorrichtung (11) eine erste fahrzeuggebundene Einrichtung (21) und eine zweite fahrzeuggebundene Einrichtung (22) aufweist, wobei die erste fahrzeuggebundene Einrichtung (21) aufweist: eine erste Verarbeitungseinheit (32), welche ein Verfahren gemäß einem ersten Steuerprogramm (P1) durchführt, und den Verifizierer (34), welcher das erste Steuerprogramm (P1) unter Verwendung einer anderen Hardware, die verschieden ist von einer Hardware, welche die erste Verarbeitungseinheit (32) bildet, verifiziert, und wobei die zweite fahrzeuggebundene Einrichtung (22) ein Verfahren gemäß einem zweiten Steuerprogramm (P2) durchführt, wobei das Computerprogramm einen Computer dazu veranlasst: zugehörige Daten zu erhalten, die das zweite Steuerprogramm (P2) betreffen, und zu ermitteln, ob die erhaltenen zugehörigen Daten (P2) mit Referenzdaten zusammenpassen oder nicht, Zufallszahldaten zu erhalten; Referenzdaten auf der Basis von erzeugten Zufallszahlen und vorbestimmter Daten zu erhalten; Berechnungsdaten auf der Basis des zweiten Steuerprogramms (P2) und der Zufallszahldaten zu erhalten; die zugehörigen Daten auf der Basis der Berechnungsdaten zu erhalten.
  12. Computerprogramm, das von einer ersten Weiterleitungseinrichtung (21) einer Weiterleitungsvorrichtung (11) für ein Fahrzeug ausgeführt wird, wobei die Weiterleitungsvorrichtung (11) aufweist: die erste Weiterleitungseinrichtung (21), welche eine Kommunikation zwischen einer Mehrzahl von ersten Kommunikationsvorrichtungen (12a, 12b) vermittelt, und eine zweite Weiterleitungseinrichtung (22), welche ein Verfahren gemäß einem Steuerprogramm (P2) durchführt und eine Kommunikation zwischen einer Mehrzahl von zweiten Kommunikationsvorrichtungen (13a, 13b, 13c) vermittelt, und wobei die erste Weiterleitungseinrichtung (21) und die zweite Weiterleitungseinrichtung (22) eine Kommunikation zwischen den ersten Kommunikationsvorrichtungen (12a, 12b) und den zweiten Kommunikationsvorrichtungen (13a, 13b, 13c) vermittelt, wobei das Computerprogramm einen Computer dazu veranlasst: zugehörige Daten, die das Steuerprogramm (P2) der zweiten Weiterleitungseinrichtung (P2) betreffen, unter Verwendung von Schlüsseldaten (P2), welche im Voraus gespeichert wurden, zu berechnen, und zu ermitteln, ob die berechneten zugehörigen Daten mit vorbestimmten Daten zusammenpassen oder nicht; und zweite zugehörige Daten, die ein zweites Steuerprogramm (P2) betreffen, unter Verwendung von zweiten Schlüsseldaten (K1), welche im Voraus gespeichert wurden, zu berechnen, und zu ermitteln, ob die berechneten zweiten zugehörigen Daten mit zweiten vorbestimmten Daten zusammenpassen oder nicht.
DE102018100756.6A 2017-01-13 2018-01-15 Fahrzeuggebundene vorrichtung, weiterleitungsvorrichtung und computerprogramm Active DE102018100756B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2017-004524 2017-01-13
JP2017004524 2017-01-13
JP2017-068330 2017-03-30
JP2017068330A JP6443482B2 (ja) 2017-01-13 2017-03-30 車載装置、中継装置及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
DE102018100756A1 DE102018100756A1 (de) 2018-07-19
DE102018100756B4 true DE102018100756B4 (de) 2023-07-20

Family

ID=62716568

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102018100756.6A Active DE102018100756B4 (de) 2017-01-13 2018-01-15 Fahrzeuggebundene vorrichtung, weiterleitungsvorrichtung und computerprogramm

Country Status (3)

Country Link
US (1) US10469129B2 (de)
CN (1) CN108337228B (de)
DE (1) DE102018100756B4 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7042417B2 (ja) * 2018-09-03 2022-03-28 株式会社オートネットワーク技術研究所 通信装置、送信方法及びコンピュータプログラム
KR20200125133A (ko) * 2019-04-26 2020-11-04 현대자동차주식회사 차량 및 차량 내 메시지 전송 방법
JP7334614B2 (ja) * 2019-12-24 2023-08-29 株式会社オートネットワーク技術研究所 車載中継装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009259160A (ja) 2008-04-21 2009-11-05 Tokyo Denki Univ プログラムの不正起動防止システム及び方法
JP2013219710A (ja) 2012-04-12 2013-10-24 Toyota Motor Corp 車載制御装置の認証システム及び車載制御装置の認証方法
EP2072366B1 (de) 2007-12-20 2015-04-08 Denso Corporation Fahrzeugprüfvorrichtung und diese verwendendes Fahrzeugsteuersystem

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050006595A (ko) * 2003-07-09 2005-01-17 기아자동차주식회사 자동차용 시트 벨트 미착용시 경고방법
JP4403945B2 (ja) * 2003-12-19 2010-01-27 株式会社デンソー 制御プログラムの検査方法及び検査装置及び検査プログラム
JP2006333438A (ja) * 2005-04-28 2006-12-07 Fujitsu Ten Ltd ゲートウェイ装置及びルーティング方法
CN101587634B (zh) * 2009-06-15 2011-01-19 北京交通大学 无线机车信号车载设备控制程序及参数在线实时更新方法
US20140309930A1 (en) * 2013-04-15 2014-10-16 Flextronics Ap, Llc Automatic camera image retrieval based on route traffic and conditions
JP5919205B2 (ja) * 2013-01-28 2016-05-18 日立オートモティブシステムズ株式会社 ネットワーク装置およびデータ送受信システム
US20150355917A1 (en) * 2013-03-01 2015-12-10 Mitsubishi Electric Corporation Data processing apparatus and communication system
JP2014195143A (ja) * 2013-03-28 2014-10-09 Auto Network Gijutsu Kenkyusho:Kk 車載中継装置及び通信システム
CN103414227B (zh) * 2013-08-15 2019-04-23 曹松伟 区域联网悬托挂式群充电及传媒系统与设备
KR101575451B1 (ko) * 2014-02-21 2015-12-07 현대자동차주식회사 차량 사양 구성 확인 방법
AT514851B1 (de) * 2014-10-23 2019-07-15 Avl List Gmbh Verfahren zur Rekonstruktion eines in einem drahtlosen Sensornetzwerk fehlerhaft empfangenen Datenpakets
CN205123784U (zh) * 2015-11-11 2016-03-30 陕西西北铁道电子有限公司 一种远程更换gyk运行控制程序的系统
US9989373B2 (en) * 2016-04-21 2018-06-05 Honda Motor Co., Ltd. Coverage based demand response signals
US10581906B2 (en) * 2016-09-28 2020-03-03 Intel Corporation Security system for electronic equipment
US10328899B2 (en) * 2016-10-12 2019-06-25 Denso International America, Inc. Localization and passive entry / passive start systems and methods for vehicles

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2072366B1 (de) 2007-12-20 2015-04-08 Denso Corporation Fahrzeugprüfvorrichtung und diese verwendendes Fahrzeugsteuersystem
JP2009259160A (ja) 2008-04-21 2009-11-05 Tokyo Denki Univ プログラムの不正起動防止システム及び方法
JP2013219710A (ja) 2012-04-12 2013-10-24 Toyota Motor Corp 車載制御装置の認証システム及び車載制御装置の認証方法

Also Published As

Publication number Publication date
CN108337228B (zh) 2020-11-10
DE102018100756A1 (de) 2018-07-19
CN108337228A (zh) 2018-07-27
US10469129B2 (en) 2019-11-05
US20180205414A1 (en) 2018-07-19

Similar Documents

Publication Publication Date Title
DE112012003795B4 (de) Verfahren und system für eine fahrzeug-information-integritätsverifikation
DE112014005412B4 (de) Programmaktualisierungssystem und Programmaktualisierungsverfahren
DE102010038703B3 (de) Verfahren zur Erzeugung eines Herausforderungs-Antwort-Paars in einer elektrischen Maschine sowie elektrische Maschine
DE102018100756B4 (de) Fahrzeuggebundene vorrichtung, weiterleitungsvorrichtung und computerprogramm
EP2930610B1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
DE3700663C2 (de)
EP1959606B1 (de) Sicherheitseinheit
DE102008021030B4 (de) Verfahren zum Betreiben eines Fahrzeugs sowie entsprechende Vorrichtung und entsprechendes Fahrzeug
DE602004008667T2 (de) Authentifizierungs-System- und Verfahren unter Verwendung von individualisierten und nicht-individualisierten Zertifikaten
DE112017007515T5 (de) Fahrzeuginternes Authentifikationssystem, fahrzeuginternes Authentifikationsverfahren und fahrzeuginternes Authentifikationsprogramm
WO2018167253A1 (de) Protokollieren von zustandsdaten einer vorrichtung in einer blockchain
DE112007003231B4 (de) Programmierbare Anzeigevorrichtung und Steuersystem
DE112014004313T5 (de) Überschreiboperation-Erkennungssystem, Überschreiboperation-Erkennungseinrichtung und Informationsverarbeitungseinrichtung
DE112018004181T5 (de) Steuereinrichtung, Steuerverfahren und Computerprogramm
DE112006000034T5 (de) Systemprogramm-Downloadsystem
DE10126451A1 (de) Verfahren zum Aktivieren oder Deaktivieren von in einer Speicheranordnung eines Mikrorechner-Systems abgelegten Daten
EP1532510B1 (de) VERFAHREN ZUM SCHUTZ VOR MANIPULATIONEN AN EINEM STEUERGERÄT FÜR MINDESTENS EINE Kfz-KOMPONENTE
WO2017008953A1 (de) Verfahren und anordnung zum sicheren austausch von konfigurationsdaten einer vorrichtung
WO2009141060A1 (de) Bordnetz-system eines kraftfahrzeugs und ein verfahren zum betrieb des bordnetz-systems
DE102007058975A1 (de) Bordnetz eines Kraftfahrzeugs mit einem Master Security Modul
WO2008095866A2 (de) Verfahren zur autorisierung des zugriffs auf mindestens eine automatisierungskomponente einer technischen anlage
DE202016105474U1 (de) Vorrichtung zur manipulationssicheren Registrierung von Messwerten
DE112015004391T5 (de) Überschreiboperations-Erkennungssystem und Informationsverarbeitungseinrichtung
DE10238093B4 (de) Fahrzeug-Steuergerät
EP2442251B1 (de) Individuelle Aktualisierung von Computerprogrammen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final