WO2015080108A1 - プログラム更新システム及びプログラム更新方法 - Google Patents
プログラム更新システム及びプログラム更新方法 Download PDFInfo
- Publication number
- WO2015080108A1 WO2015080108A1 PCT/JP2014/081139 JP2014081139W WO2015080108A1 WO 2015080108 A1 WO2015080108 A1 WO 2015080108A1 JP 2014081139 W JP2014081139 W JP 2014081139W WO 2015080108 A1 WO2015080108 A1 WO 2015080108A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- update
- control program
- program
- control
- update data
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
- H04L63/123—Applying verification of the received information received data contents, e.g. message integrity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Definitions
- the present invention relates to a program update system and a program update method for verifying the validity of program update executed on the vehicle side.
- ECUs Electronic Control Units
- a body system ECU that controls lighting / extinguishing of interior lighting and headlights according to a switch operation by an occupant, and an alarm device, and a meter that controls the operation of meters disposed near the driver's seat
- ECUs such as a navigation system ECU for controlling a system ECU and a car navigation device are mounted on the vehicle.
- the ECU is configured by an arithmetic processing unit such as a microcomputer, and the control of the in-vehicle device is realized by reading and executing a control program stored in a ROM (Read Only Memory).
- the control program may differ depending on the destination and the installed function of the vehicle, even if the vehicle is the same model.
- the control program can be rewritten according to the destination and the installed function. It is necessary to rewrite the control program to a new version of the control program.
- Patent Document 1 in an automobile control device mounted on a vehicle, when data received by wireless communication can be confirmed as data transmitted to its own device, data stored in a non-volatile memory is stored. An automobile control device that rewrites received data is disclosed.
- control program for the in-vehicle device can be added or updated, a program created by a malicious third party may be added and executed. As a result, for example, there is a possibility that information transmitted / received in the in-vehicle network may be leaked to the outside by an unauthorized program.
- This invention is made in view of such a situation, and it aims at providing the program update system and program update method which can verify the correctness of the update of the program performed by the vehicle side.
- a program update system includes a plurality of control devices including a storage unit that stores a control program for controlling an in-vehicle device, and an execution unit that reads and executes the control program.
- a relay device connected via a communication line, and an external device connected to the relay device via an external communication network and storing update data necessary for updating the control program, from the external device
- the update data is an update target control device.
- Update control program a means for calculating a digest value related to the update control program, and the operation of the control device after the update
- a computer program for realizing a means for returning a determination result of the determining means to the relay device
- the relay device receives the update received from the outside device
- Means for transmitting data to the control device to be updated wherein the control device receives the update data transmitted from the relay device and the update control program included in the received update data.
- Means for updating the control program stored in the storage means the control device executes the computer program included in the update data to determine whether or not the operation after the update is normal, and The determination result is returned to the relay device.
- the relay device identifies device identification information for identifying each control device connected via the in-vehicle communication line, and a control program stored in storage means of each control device.
- Means for receiving device identification information and program identification information transmitted from the relay device, means for identifying update data to be transmitted to the relay device based on the received device identification information and program identification information, and identified update data Means for adding the device identification information and the program identification information when transmitting the message to the relay device And features.
- the relay device transmits a digest value related to the update control program, a means for encrypting the acquired digest value, and transmits the encrypted digest value to the vehicle exterior device.
- a means for judging the validity of the updated control program in the control device based on the result of comparison with the means for comparing with the expected value.
- the program update system retransmits the stored update data and the computer program to the control device via the relay device when the out-of-vehicle device determines that the updated control program is not valid. It is characterized by providing the means to do.
- the out-of-vehicle device determines that the updated control program is not valid, it notifies the control device via the relay device that the execution of the control program should be stopped.
- the control device further comprises means for stopping execution of the control program when a notification to the effect that the execution of the control program should be stopped is received from the vehicle exterior device.
- At least one of the vehicle exterior device, the relay device, and the control device includes means for holding a control program before the update, and the vehicle exterior device has a valid control program after the update. If it is determined that the control program is not to be updated, the control device is provided with means for notifying the control device that the control program is to be returned to the control program before the update, and the control device is configured to notify the control program before the update to be returned to the control program. And a means for acquiring a control program before the update, and a means for returning the control program after the update stored in the storage means to the acquired control program before the update. And
- the program update method provides a control device including a storage unit that stores a control program for controlling an in-vehicle device and an execution unit that reads and executes the control program.
- Update data required to update the control device is transmitted to the relay device connected to the control device, and the control program stored in the storage means of the control device is updated based on the update data received by the relay device.
- the update data determines an update control program for the control device to be updated, a means for calculating a digest value related to the update control program, and whether the operation of the control device after the update is normal.
- the relay device transmits the update data received from the outside device to the control device to be updated, the control device receives the update data transmitted from the relay device, and receives the update data received.
- Update the control program stored in the storage means by the update control program included in the storage and execute the computer program included in the update data to determine whether the updated operation is normal, The determination result is returned to the relay device.
- the out-of-vehicle device calculates an update control program for the control device to be updated and a digest value related to the update control program as update data necessary for updating the control program stored in the control device.
- the update data is transmitted to the control device.
- the control device determines whether or not the operation after the update is normal by updating the control program based on the update control program included in the received update data and executing the computer program included in the update data. To the relay device.
- the computer program can be mounted on update data for updating the control program, it is difficult to falsify the computer program as compared with the case where the control program is mounted in advance.
- the validity of the updated control program is ensured by verifying the validity of the digest value of the update control program in the relay apparatus or the external apparatus that is communicably connected to the relay apparatus.
- the relay device since the relay device manages the device identification information of the control device and the program identification information of the control program, the device outside the vehicle uses the device identification information of the control device to be updated from the relay device and the program of the control program.
- the update target can be specified by acquiring the identification information.
- the relay device since the relay device encrypts the digest value transmitted from the control device and transmits the encrypted digest value to the vehicle exterior device, it is prevented from being tampered in the middle of the communication path for transmitting the digest value.
- the update data and the computer program are retransmitted, so that the malfunction of the control program due to missing bits is prevented.
- the execution of the control program is stopped, so that the in-vehicle device is prevented from operating by the falsified control program.
- control program when it is determined that the control program after the update is not valid, the control program is returned to the control program before the update, so that at least the operation of the control device before the update can be secured.
- the update data for updating the control program means for calculating a digest value related to the update control program, means for determining whether or not the operation after the update is normal, and a determination result to the relay device Since the computer program that implements the means for responding is implemented, it is difficult to falsify the computer program as compared with the case where the computer program is implemented in advance in the control device. Further, since the computer program can be created on the update data delivery side, the expected value for the digest value can be changed each time the update is performed, and falsification and impersonation can be prevented.
- the relay device by verifying the digest value output from the control device, the normal operation of the computer program can be confirmed, and an updated control program Can be guaranteed.
- FIG. 1 is a schematic diagram showing a configuration of a program update system according to the present embodiment.
- 1 is a vehicle, and the vehicle 1 is equipped with a gateway 10 and a plurality of ECUs 30, 30,.
- the gateway 10 relays communication between the communication groups. Therefore, a plurality of communication lines are connected to the gateway 10.
- the gateway 10 is communicably connected to a wide area wireless network N such as a public mobile phone network, and transmits information received from an external device such as the server device 5 to the ECU 30 through the wide area wireless network N and is acquired from the ECU 30. Information is transmitted to the external device via the wide area wireless network N.
- a wide area wireless network N such as a public mobile phone network
- the gateway 10 directly communicates with the external device, but the communication device may be connected to the gateway 10 and communicate with the external device through the connected communication device.
- Examples of the communication device connected to the gateway 10 include devices such as a mobile phone, a smartphone, a tablet terminal, and a notebook PC (Personal Computer) owned by the user.
- FIG. 2 is a block diagram showing the internal configuration of the gateway 10.
- the gateway 10 includes a CPU (Central Processing Unit) 11, a RAM (Random Access Memory) 12, a storage unit 13, an in-vehicle communication unit 14, a wireless communication unit 15, and the like.
- CPU Central Processing Unit
- RAM Random Access Memory
- the CPU 11 causes the gateway 10 to function as a relay device according to the present invention by reading one or more programs stored in the storage unit 13 into the RAM 12 and executing them.
- the CPU 11 can execute a plurality of programs in parallel by switching and executing the plurality of programs by, for example, time division.
- the RAM 12 is composed of a memory element such as SRAM (Static RAM) or DRAM (Dynamic RAM), and temporarily stores programs executed by the CPU 11, data necessary for execution, and the like.
- the storage unit 13 is configured using a non-volatile memory element such as a flash memory or EEPROM (Electrically-Erasable-Programmable-Read-Only Memory), or a magnetic storage device such as a hard disk.
- the storage unit 13 has a storage area for storing programs executed by the CPU 11, data necessary for execution, and the like.
- a plurality of ECUs 30, 30,... are connected to the in-vehicle communication unit 14 via communication lines arranged in the vehicle 1.
- the in-vehicle communication unit 14 communicates with the ECU 30 according to a standard such as CAN (Controller Area Network), LIN (Local Interconnect Network), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport).
- the in-vehicle communication unit 14 transmits the information given from the CPU 11 to the target ECU 30 and gives the information received from the ECU 30 to the CPU 11.
- the in-vehicle communication unit 14 may communicate according to other communication standards used in the in-vehicle network as well as the above communication standards.
- the wireless communication unit 15 is configured by using, for example, an antenna and an attached circuit for executing processing related to the communication, and has a function of executing communication processing by connecting to a wide area wireless network N such as a public mobile phone network.
- the wireless communication unit 15 transmits information given from the CPU 11 to an external device such as the server device 5 via the wide-area wireless network N formed by a base station (not shown), and information received from the external device Is given to the CPU 31.
- the gateway 10 may be configured to include a wired communication unit for connecting the above-described communication device instead of the wireless communication unit 15.
- This wired communication unit has a connector for connecting a communication device via a communication cable conforming to a standard such as USB (Universal Serial Bus) or RS232C, and communicates with the communication device connected via the communication cable.
- the wired communication unit transmits the information given from the CPU 11 to the external device connected to the wide area wireless network N by wireless communication, and gives the information received from the external device through the wide area wireless network N to the CPU 11.
- FIG. 3 is a block diagram illustrating the internal configuration of the ECU 30.
- the ECU 30 includes, for example, a CPU 31, a RAM 32, a storage unit 33, a communication unit 34, and the like, and controls various in-vehicle devices not shown in the drawing.
- the CPU 31 reads out one or more programs stored in advance in the storage unit 33 to the RAM 32 and executes them, thereby controlling the operation of each hardware described above and causing the ECU 30 to function as a control device according to the present invention.
- the RAM 32 is composed of a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 31, data necessary for execution, and the like.
- the storage unit 33 is configured using a non-volatile memory element such as flash memory or EEPROM, or a magnetic storage device such as a hard disk.
- the information stored in the storage unit 33 includes, for example, a computer program (hereinafter referred to as a control program) for causing the CPU 31 to execute processing for controlling the in-vehicle device that is a control target.
- the gateway 10 is connected to the communication unit 34 via a communication line disposed in the vehicle 1.
- the communication unit 34 communicates with the gateway 10 in accordance with a standard such as CAN (Controller Area Network) or LIN (Local Interconnect Network), Ethernet (registered trademark), or MOST (Media Oriented Systems Transport).
- the communication unit 34 transmits the information given from the CPU 31 to the gateway 10 and gives the information received from the gateway 10 to the CPU 31.
- the communication unit 34 may communicate according to other communication standards used in the in-vehicle network as well as the above communication standards.
- FIG. 4 is a block diagram illustrating the internal configuration of the server device 5.
- the server device 5 includes, for example, a CPU 51, a ROM 52, a RAM 53, a storage unit 54, a communication unit 55, and the like.
- the CPU 51 reads out one or more programs stored in advance in the ROM 52 to the RAM 53 and executes them, thereby controlling the operation of each hardware described above and causing the server device 5 to function as an external device according to the present invention.
- the RAM 53 is configured by a memory element such as SRAM or DRAM, and temporarily stores programs executed by the CPU 51 and data necessary for execution.
- the storage unit 54 is configured using a non-volatile memory element such as flash memory or EEPROM, or a magnetic storage device such as a hard disk.
- the information stored in the storage unit 54 includes, for example, update data necessary for updating a control program executed by the ECU 30 mounted on the vehicle 1.
- the update data includes an update control program that executes control for rewriting part or all of the control program stored in the ECU 30 to be updated.
- the update data stores a computer program (hereinafter referred to as a response program) to be executed by the ECU 30 that has updated the control program.
- the response program causes the ECU 30 to function as means for calculating a digest value related to the update control program, means for determining whether the operation after the update is normal, and means for returning the determination result to the gateway 10 It is structured as a program.
- the communication unit 55 includes a processing circuit that executes processing related to communication, for example, and has a function of executing communication processing by connecting to a wide area wireless network N such as a public mobile phone network.
- the communication unit 55 transmits information given from the CPU 51 to an external device via the wide area wireless network N, and gives information received via the wide area wireless network N to the CPU 51.
- FIG. 5 is a flowchart showing a procedure of processing executed by the server device 5. It is assumed that update data (repro data) for updating a control program executed by the ECU 30 on the vehicle 1 side is stored in the storage unit 54 of the server device 5 in association with the version number of the control program. Whether or not the CPU 51 of the server device 5 has received a request for update data attached with the vehicle number of the vehicle 1, the serial number of the ECU 30 to be updated, and the version number of the control program to be updated from the gateway 10 of the vehicle 1. Is determined (step S11). When the request has not been received (S11: NO), the CPU 51 stands by until a request is received from the gateway 10 of the vehicle 1.
- the CPU 51 When the request is received (S11: YES), the CPU 51 reads the update data to be transmitted from the storage unit 54, and for each of the certificate authorities (CA: Certification Authority) or OEM (Original Equipment Manufacturer) for the read update data. An electronic signature is given (step S12). Next, the CPU 51 transmits the update data including the update control program and the response program described above and provided with an electronic signature to the gateway 10 of the vehicle 1 including the ECU 30 to be updated through the communication unit 55 (step S13).
- CA Certification Authority
- OEM Olinal Equipment Manufacturer
- the ECU 30 to be updated is specified with reference to the vehicle number attached to the update data request, the serial number of the ECU 30, and the version number of the control program.
- the vehicle number of the vehicle 1, the serial number of the ECU 30, and the version number of the control program installed in the ECU 30 are stored in association with each other, and the ECU 30 to be updated from the server device 5 side. It is good also as a structure which designates.
- FIG. 6 is a flowchart showing a procedure of processing executed in the vehicle 1.
- the CPU 11 of the gateway 10 determines whether or not the electronic signature related to the received update data is valid. (Step S22).
- the gateway 10 can determine whether the electronic signature is valid by using the electronic certificate by acquiring the electronic certificate from the certificate authority or each OEM in advance.
- the CPU 11 transmits it to the ECU 30 to be updated through the in-vehicle communication unit 14 (step S23).
- step S24 When the update data transmitted from the gateway 10 is received by the communication unit 34 of the ECU 30 (step S24), the CPU 31 of the ECU 30 reads the update control program included in the received update data into the RAM 32 and executes it, and the storage unit 33 The process (reprogramming) which updates the control program memorize
- OSGi Open Services Gateway Gateway
- OSGi is a system that manages the dynamic addition and execution of programs called bundles, and is configured such that the OSGi framework, which is the execution platform of bundles, operates on the CPU 31. Since OSGi is an existing technology, detailed description thereof is omitted. Further, the CPU 31 may update the control program by employing a technique other than OSGi.
- the CPU 31 of the ECU 30 reads the response program included in the update data into the RAM 32 and executes the response program (step S26), and the ECU 30 calculates the digest value related to the update control program. It is made to function as a means for determining whether or not the operation is normal and a means for transmitting the determination result to the gateway 10.
- the CPU 31 of the ECU 30 that has executed the response program calculates a digest value for the update control program (step S27).
- the digest value calculated by the CPU 31 may be a digest value (hash value) obtained by a known hash function, or may be a digest value obtained by another algorithm such as MD5.
- the update control program is configured by a program group including a plurality of programs, the digest value may be calculated only from a predetermined program.
- the digest value may be calculated including the updated control program.
- the range for calculating the digest value is defined by the response program.
- the CPU 31 operates the basic functions of the ECU 30, and determines whether or not the own device (ECU 30 itself) operates normally (step S28). When it is determined that the device itself operates normally (S28: YES), the CPU 31 transmits the digest value calculated in step S27 together with the determination result to the gateway 10 through the communication unit 34 (step S29). If the device itself does not operate normally (S28: NO), the CPU 31 ends the processing according to this flowchart.
- step S30 When the determination result and the digest value transmitted from the ECU 30 are received by the in-vehicle communication unit 14 (step S30), the CPU 11 of the gateway 10 encrypts the received digest value (step S31), and wirelessly transmits the encrypted digest value. It transmits to the server apparatus 5 through the communication part 15 (step S32).
- the ECU 30 calculates the digest value of the update control program, and when it is determined that the device itself operates normally, the calculated digest value is transmitted to the gateway 10. It may be determined whether or not the device itself operates normally by a later control program, and only processing for returning the determination result to the gateway 10 may be executed. In this case, when the gateway 10 receives a reply from the ECU 30 indicating that it operates normally, the gateway 10 calculates a digest value from the update control program included in the update data received in step S21, and encrypts the calculated digest value. In this case, the information may be transmitted to the server device 5.
- FIG. 7 is a flowchart showing a processing procedure for verifying the digest value.
- the CPU 51 of the server device 5 decrypts the encrypted digest value (step S42).
- a known method such as a public key cryptosystem can be used as a method of encrypting the digest value in the gateway 10 and decrypting the digest value already encrypted in the server device 5.
- the CPU 51 of the server device 5 compares the decrypted digest value with the expected value stored in advance in the storage unit 54 (step S43), and determines whether or not they match (step S44).
- step S44: YES If it is determined that the two match (S44: YES), the CPU 51 determines that the update of the control program has been normally completed in the ECU 30 to be updated (step S45). When it is determined that the two do not match (S44: NO), the CPU 51 determines that the update of the control program in the ECU 30 is not normal (step S46).
- the server device 5 may be configured to retransmit the update data stored in the storage unit 54 to the ECU 30.
- control program update in the ECU 30 is not normal, an operation unintended by the distribution source of the control program may be executed in the ECU 30, so a notification instructing the stop of the control program is sent from the server device 5 to the vehicle. It may be configured to notify the one side and stop the control program.
- the server device 5 transmits a notification to the effect that it should be returned to the control program before the update to the ECU 30 via the gateway 10, and is stored in the storage unit 33 of the ECU 30.
- the updated control program may be returned to the control program before the update.
- the control program before update may be held in any of the storage unit 54 of the server device 5, the storage unit 13 of the gateway 10, and the storage unit 33 of the ECU 30.
- the process of calculating the digest value of the control program in the update data for updating the control program, the process of determining whether or not the own apparatus operates normally, and the digest when operating normally Since a computer program (response program) for executing processing for transmitting values to the gateway 10 can be implemented, it is difficult to falsify the response program compared to the case where the response program is installed in the ECU 30 in advance. . Moreover, since the reply program can be created on the update data delivery side, the expected value for the digest value can be changed each time the update data is updated, and falsification and impersonation can be prevented.
- Vehicle 10 Gateway 11
- CPU 12 RAM 13 storage unit 14 in-car communication unit 15
- wireless communication unit 30 ECU 31
- CPU 32 RAM 33
- Storage Unit 34 Communication Unit 5
- Server Device 51 CPU 52 ROM 53
- RAM 54 storage unit 55 communication unit
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Power Engineering (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Small-Scale Networks (AREA)
Abstract
車両側で実行されたプログラムの更新の正当性を検証できるプログラム更新システム及びプログラム更新方法の提供。 車外装置は、制御装置に記憶された制御プログラムを更新するために必要な更新データとして、更新対象の制御装置に対する更新制御プログラムと、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の制御装置の動作が正常であるか否かを判定する手段、及び判定結果を返答する手段を実現するコンピュータプログラムとを含む更新データを記憶してあり、制御装置は、車外装置から送信される更新データを中継装置を介して受信し、受信した更新データに含まれる更新制御プログラムにより制御プログラムを更新すると共に、前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定して、その判定結果を中継装置に返答する。
Description
本発明は、車両側で実行されたプログラムの更新の正当性を検証するプログラム更新システム及びプログラム更新方法に関する。
近年、自動車の分野においては、車両の高機能化が益々進んでおり、多種多様な機器が車両に搭載され、これら車載機器を制御するための制御装置、所謂ECU(Electronic Control Unit)が多数搭載されている。例えば、乗員によるスイッチ操作などに応じて車内照明やヘッドライトの点灯/消灯、及び警報器の吹鳴等の制御を行うボディ系ECU、運転席近傍に配設されるメータ類の動作を制御するメータ系ECU、並びにカーナビゲーション装置等の制御を行うナビ系ECUなどの種々のECUが車両には搭載されている。
一般的にECUは、マイクロコンピュータ等の演算処理装置によって構成されており、ROM(Read Only Memory)に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御が実現されている。制御プログラムは、同じ車種でも、車輌が運用される仕向け地や搭載機能によって異なることがあり、仕向け地や搭載機能に合わせて制御プログラムを書換えたり、制御プログラムのバージョンアップに対応して、旧バージョンの制御プログラムを新たなバージョンの制御プログラムに書換えたりする必要がある。
特許文献1には、車両に搭載された自動車制御装置において、無線通信により受信したデータが自己の装置宛に送信されたデータであると確認できた場合、不揮発性メモリに記憶されているデータを、受信したデータに書換える自動車用制御装置が開示されている。
しかしながら、車載機器の制御プログラムを追加又は更新できる構成とした場合、悪意の第三者が作成したプログラムが追加されて実行される虞がある。これにより、例えば車内ネットワークにて送受信される情報が不正なプログラムによって外部へ漏洩するなどの虞がある。
本発明は、斯かる事情に鑑みてなされたものであり、車両側で実行されたプログラムの更新の正当性を検証できるプログラム更新システム及びプログラム更新方法を提供することを目的とする。
本発明に係るプログラム更新システムは、車載機器を制御するための制御プログラムを記憶する記憶手段と、前記制御プログラムを読み出して実行する実行手段とを備える複数の制御装置、該複数の制御装置に車内通信線を介して接続された中継装置、及び該中継装置に車外通信網を介して接続され、前記制御プログラムを更新するために必要な更新データを記憶する車外装置を含み、該車外装置から前記更新データを前記中継装置へ送信し、該中継装置が受信した前記更新データに基づき、前記制御装置の記憶手段に記憶された制御プログラムを更新するシステムにおいて、前記更新データは、更新対象の制御装置に対する更新制御プログラムと、該更新制御プログラムに係るダイジェスト値を算出する手段、更新後の前記制御装置の動作が正常であるか否かを判定する手段、及び該判定する手段の判定結果を前記中継装置に返答する手段を実現するコンピュータプログラムとを含み、前記中継装置は、前記車外装置から受信した前記更新データを前記更新対象の制御装置へ送信する手段を備え、前記制御装置は、前記中継装置から送信された前記更新データを受信する手段と、受信した前記更新データに含まれる前記更新制御プログラムにより前記記憶手段に記憶された制御プログラムを更新する手段とを備え、前記制御装置は、前記更新データに含まれる前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定し、その判定結果を前記中継装置に返答することを特徴とする。
本発明に係るプログラム更新システムは、前記中継装置は、前記車内通信線を介して接続された各制御装置を識別する装置識別情報、及び各制御装置の記憶手段に記憶された制御プログラムを識別するプログラム識別情報を記憶する手段と、更新対象の制御プログラムを記憶する制御装置の装置識別情報、及び前記制御プログラムのプログラム識別情報を前記車外装置へ送信する手段とを備え、前記車外装置は、前記中継装置から送信された装置識別情報及びプログラム識別情報を受信する手段と、受信した装置識別情報及びプログラム識別情報に基づき、前記中継装置へ送信すべき更新データを特定する手段と、特定した更新データを前記中継装置へ送信する際、前記装置識別情報及びプログラム識別情報を付加する手段とを備えることを特徴とする。
本発明に係るプログラム更新システムは、前記中継装置は、前記更新制御プログラムに係るダイジェスト値を取得する手段と、取得したダイジェスト値を暗号化する手段と、暗号化したダイジェスト値を前記車外装置へ送信する手段とを備え、前記車外装置は、前記中継装置から送信された暗号化済みのダイジェスト値を受信する手段と、受信したダイジェスト値を復号する手段と、復号したダイジェスト値を予め記憶してある期待値と比較する手段と比較した結果に基づき、前記制御装置における更新後の制御プログラムの正当性を判断する手段とを備えることを特徴とする。
本発明に係るプログラム更新システムは、前記車外装置は、更新後の制御プログラムが正当でないと判断した場合、記憶してある更新データ及び前記コンピュータプログラムを前記中継装置を介して前記制御装置へ再送信する手段を備えることを特徴とする。
本発明に係るプログラム更新システムは、前記車外装置は、更新後の制御プログラムが正当でないと判断した場合、前記制御プログラムの実行を停止すべき旨を前記中継装置を介して前記制御装置へ通知する手段を備え、前記制御装置は、前記制御プログラムの実行を停止すべき旨の通知を前記車外装置から受信した場合、前記制御プログラムの実行を停止する手段を備えることを特徴とする。
本発明に係るプログラム更新システムは、前記車外装置、前記中継装置及び前記制御装置の少なくとも1つは、更新前の制御プログラムを保持する手段を備え、前記車外装置は、更新後の制御プログラムが正当でないと判断した場合、更新前の制御プログラムに戻すべき旨を前記中継装置を介して前記制御装置へ通知する手段を備え、前記制御装置は、更新前の制御プログラムに戻すべき旨の通知を前記中継装置を介して受信した場合、更新前の制御プログラムを取得する手段と、前記記憶手段に記憶された更新後の制御プログラムを、取得した更新前の制御プログラムに戻す手段とを備えることを特徴とする。
本発明に係るプログラム更新方法は、車載機器を制御するための制御プログラムを記憶する記憶手段と、前記制御プログラムを読み出して実行する実行手段とを備える制御装置に対し、車外装置は、前記制御プログラムを更新するために必要な更新データを前記制御装置に接続された中継装置へ送信し、該中継装置が受信した前記更新データに基づき、前記制御装置の記憶手段に記憶された制御プログラムを更新する方法において、前記更新データは、更新対象の制御装置に対する更新制御プログラムと、該更新制御プログラムに係るダイジェスト値を算出する手段、更新後の前記制御装置の動作が正常であるか否かを判定する手段、及び該判定する手段の判定結果を前記中継装置に返答する手段を実現するコンピュータプログラムとを含み、前記中継装置は、前記車外装置から受信した前記更新データを前記更新対象の制御装置へ送信し、前記制御装置は、前記中継装置から送信された前記更新データを受信し、受信した前記更新データに含まれる前記更新制御プログラムにより前記記憶手段に記憶された制御プログラムを更新し、前記更新データに含まれる前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定し、その判定結果を前記中継装置に返答することを特徴とする。
本発明にあっては、車外装置は、制御装置に記憶された制御プログラムを更新するたに必要な更新データとして、更新対象の制御装置に対する更新制御プログラムと、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の制御装置の動作が正常であるか否かを判定する手段、及び判定結果を返答する手段を実現するコンピュータプログラムとを含む更新データを記憶しており、中継装置を介して、制御装置へ更新データを送信する。制御装置では、受信した更新データに含まれる更新制御プログラムに基づき制御プログラムを更新すると共に、更新データに含まれるコンピュータプログラムを実行することによって、更新後の動作が正常であるか否かを判定して中継装置へ返答する。
本発明では、制御プログラムを更新する更新データに上記コンピュータプログラムを実装できるので、事前に制御装置内に実装しておく場合と比較して、上記コンピュータプログラムの改竄が困難となる。また、中継装置又は中継装置に通信可能に接続された車外装置において、更新制御プログラムのダイジェスト値の正当性を検証することにより、更新された制御プログラムの正当性が担保される。
本発明では、制御プログラムを更新する更新データに上記コンピュータプログラムを実装できるので、事前に制御装置内に実装しておく場合と比較して、上記コンピュータプログラムの改竄が困難となる。また、中継装置又は中継装置に通信可能に接続された車外装置において、更新制御プログラムのダイジェスト値の正当性を検証することにより、更新された制御プログラムの正当性が担保される。
本発明では、中継装置が制御装置の装置識別情報、及び制御プログラムのプログラム識別情報を管理しているので、車外装置は、中継装置から更新対象の制御装置の装置識別情報、及び制御プログラムのプログラム識別情報を取得することにより、更新対象を特定することができる。
本発明では、中継装置は、制御装置から送信されたダイジェスト値を暗号化して車外装置へ送信するので、ダイジェスト値を送信する通信経路の途中で改竄されることが防止される。
本発明では、更新後の制御プログラムが正当でないと判断した場合、更新データ及び前記コンピュータプログラムを再送信するので、ビット欠け等に伴う制御プログラムの不具合が防止される。
本発明では、更新後の制御プログラムが正当でないと判断した場合、制御プログラムの実行を停止するので、改竄された制御プログラムにより車載機器が動作することを防止する。
本発明では、更新後の制御プログラムが正当でないと判断した場合、更新前の制御プログラムに戻すので、少なくとも更新前の制御装置の動作を担保することができる。
本願によれば、制御プログラムを更新する更新データに、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の動作が正常であるか否かを判定する手段、及び判定結果を前記中継装置に返答する手段を実現するコンピュータプログラムを実装するので、事前に制御装置内に実装しておく場合と比較して、上記コンピュータプログラムを改竄することが困難となる。また、更新データの配信側にて上記コンピュータプログラムを作成することができるため、更新する都度、ダイジェスト値に対する期待値を変更することができ、改竄及びなりすましを防止することができる。
また、中継装置又は中継装置に通信可能に接続された車外装置において、制御装置から出力されるダイジェスト値を検証することにより、上記コンピュータプログラムの正常動作を確認することができ、更新された制御プログラムの正当性を担保することができる。
以下、本発明をその実施の形態を示す図面に基づいて具体的に説明する。
図1は本実施の形態に係るプログラム更新システムの構成を示す模式図である。図において一点鎖線で示す1は車両であり、車両1には、ゲートウェイ10及び複数のECU30,30,…等が搭載されている。車両1には、共通の通信線にバス接続された複数のECU30,30,…による通信グループが複数存在し、通信グループ間の通信をゲートウェイ10が中継している。このためゲートウェイ10には、複数の通信線が接続されている。また、ゲートウェイ10は、公衆携帯電話網などの広域無線網Nに通信可能に接続され、広域無線網Nを通じてサーバ装置5などの車外装置から受信した情報をECU30へ送信すると共に、ECU30から取得した情報を広域無線網Nを介して車外装置へ送信する。
図1は本実施の形態に係るプログラム更新システムの構成を示す模式図である。図において一点鎖線で示す1は車両であり、車両1には、ゲートウェイ10及び複数のECU30,30,…等が搭載されている。車両1には、共通の通信線にバス接続された複数のECU30,30,…による通信グループが複数存在し、通信グループ間の通信をゲートウェイ10が中継している。このためゲートウェイ10には、複数の通信線が接続されている。また、ゲートウェイ10は、公衆携帯電話網などの広域無線網Nに通信可能に接続され、広域無線網Nを通じてサーバ装置5などの車外装置から受信した情報をECU30へ送信すると共に、ECU30から取得した情報を広域無線網Nを介して車外装置へ送信する。
なお、本実施の形態では、ゲートウェイ10が直接的に車外装置と通信を行う構成としたが、ゲートウェイ10に通信装置を接続し、接続した通信装置を通じて車外装置と通信を行う構成としてもよい。ゲートウェイ10に接続される通信装置には、例えば、ユーザが所持する携帯電話機、スマートフォン、タブレット型端末、ノートPC(Personal Computer)等の装置が含まれる。
図2はゲートウェイ10の内部構成を示すブロック図である。ゲートウェイ10は、CPU(Central Processing Unit)11、RAM(Random Access Memory)12、記憶部13、車内通信部14、及び無線通信部15等を備えて構成されている。
CPU11は、記憶部13に記憶された一又は複数のプログラムをRAM12に読み出して実行することにより、ゲートウェイ10を本発明に係る中継装置として機能させる。CPU11は、例えば時分割などで複数のプログラムを切り替えて実行することにより、複数のプログラムを並列的に実行することができる。RAM12は、SRAM(Static RAM)又はDRAM(Dynamic RAM)等のメモリ素子で構成され、CPU11が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
記憶部13は、フラッシュメモリ若しくはEEPROM(Electrically Erasable Programmable Read Only Memory)等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部13は、CPU11が実行するプログラム及び実行に必要なデータ等を記憶する記憶領域を有する。
車内通信部14には、車両1内に配設された通信線を介して複数のECU30,30,…が接続されている。車内通信部14は、例えばCAN(Controller Area Network)、LIN(Local Interconnect Network)、Ethernet(登録商標)、又はMOST(Media Oriented Systems Transport)等の規格に応じて、ECU30との通信を行う。車内通信部14は、CPU11から与えられた情報を対象のECU30へ送信すると共に、ECU30から受信した情報をCPU11へ与える。車内通信部14は、上記通信規格だけでなく、車載ネットワークで用いられる他の通信規格によって通信してもよい。
無線通信部15は、例えばアンテナ及びその通信に関する処理を実行する付属回路を用いて構成され、公衆携帯電話網等の広域無線網Nに接続して通信処理を実行する機能を有する。無線通信部15は、図に示していない基地局により形成される広域無線網Nを介して、CPU11から与えられた情報をサーバ装置5等の車外装置へ送信すると共に、車外装置から受信した情報をCPU31へ与える。
なお、ゲートウェイ10は、無線通信部15に代えて、上述した通信装置を接続するための有線通信部を備える構成であってもよい。この有線通信部は、USB(Universal Serial Bus)又はRS232C等の規格に応じた通信ケーブルを介して通信装置を接続するコネクタを有し、通信ケーブルを介して接続された通信装置と通信を行う。有線通信部は、CPU11から与えられた情報を無線通信により広域無線網Nに接続された車外装置へ送信すると共に、広域無線網Nを通じて車外装置から受信した情報をCPU11へ与える。
図3はECU30の内部構成を説明するブロック図である。ECU30は、例えば、CPU31、RAM32、記憶部33、通信部34等を備え、図に示していない各種車載機器の制御を行う。
CPU31は、記憶部33に予め記憶された一又は複数のプログラムをRAM32に読み出して実行することにより、上述した各ハードウェアの動作を制御し、ECU30を本発明に係る制御装置として機能させる。RAM32は、SRAM又はDRAM等のメモリ素子で構成され、CPU31が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
記憶部33は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部33が記憶する情報には、例えば、制御対象である車載装置を制御するための処理をCPU31に実行させるためのコンピュータプログラム(以下、制御プログラムという)が含まれる。
通信部34には、車両1内に配設された通信線を介してゲートウェイ10が接続されている。通信部34は、例えばCAN(Controller Area Network)又はLIN(Local Interconnect Network)、Ethernet(登録商標)、又はMOST(Media Oriented Systems Transport)等の規格に応じて、ゲートウェイ10との通信を行う。通信部34は、CPU31から与えられた情報をゲートウェイ10へ送信すると共に、ゲートウェイ10から受信した情報をCPU31へ与える。通信部34は、上記通信規格だけなく、車載ネットワークで用いられる他の通信規格によって通信してもよい。
図4はサーバ装置5の内部構成を説明するブロック図である。サーバ装置5は、例えば、CPU51、ROM52、RAM53、記憶部54、通信部55等を備える。
CPU51は、ROM52に予め記憶された一又は複数のプログラムをRAM53に読み出して実行することにより、上述した各ハードウェアの動作を制御し、サーバ装置5を本発明に係る車外装置として機能させる。RAM53は、SRAM又はDRAM等のメモリ素子で構成され、CPU51が実行するプログラム及び実行に必要なデータ等が一時的に記憶される。
記憶部54は、フラッシュメモリ若しくはEEPROM等の不揮発性のメモリ素子、又は、ハードディスクなどの磁気記憶装置等を用いて構成されている。記憶部54が記憶する情報には、例えば、車両1に搭載されたECU30が実行する制御プログラムを更新するために必要な更新データが含まれる。更新データには、更新対象のECU30が記憶する制御プログラムの一部又は全部を書き換えるための制御を実行させる更新制御プログラムが含まれている。
また、更新データには、制御プログラムを更新したECU30に実行させるべきコンピュータプログラム(以下、返答プログラムという)が記憶されている。返答プログラムは、ECU30を、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の動作が正常であるか否かを判定する手段、及びその判定結果をゲートウェイ10へ返答する手段として機能させるコンピュータプログラムとして構成されている。
通信部55は、例えば通信に関する処理を実行する処理回路を含み、公衆携帯電話網等の広域無線網Nに接続して通信処理を実行する機能を有する。通信部55は、CPU51から与えられた情報を広域無線網Nを介して外部の装置へ送信すると共に、広域無線網Nを介して受信した情報をCPU51へ与える。
以下、制御プログラムの更新手順について説明する。
図5はサーバ装置5が実行する処理の手順を示すフローチャートである。サーバ装置5の記憶部54には、車両1側のECU30が実行する制御プログラムを更新するための更新データ(リプロデータ)が制御プログラムのバージョン番号に対応付けられて記憶されているものとする。サーバ装置5のCPU51は、車両1の車両番号、更新対象のECU30のシリアル番号、及び更新対象の制御プログラムのバージョン番号が添付された更新データのリクエストを、車両1のゲートウェイ10から受信したか否かを判断する(ステップS11)。リクエストを受信していない場合(S11:NO)、CPU51は、車両1のゲートウェイ10からリクエストを受信するまで待機する。
図5はサーバ装置5が実行する処理の手順を示すフローチャートである。サーバ装置5の記憶部54には、車両1側のECU30が実行する制御プログラムを更新するための更新データ(リプロデータ)が制御プログラムのバージョン番号に対応付けられて記憶されているものとする。サーバ装置5のCPU51は、車両1の車両番号、更新対象のECU30のシリアル番号、及び更新対象の制御プログラムのバージョン番号が添付された更新データのリクエストを、車両1のゲートウェイ10から受信したか否かを判断する(ステップS11)。リクエストを受信していない場合(S11:NO)、CPU51は、車両1のゲートウェイ10からリクエストを受信するまで待機する。
リクエストを受信した場合(S11:YES)、CPU51は、送信すべき更新データを記憶部54から読み出し、読み出した更新データに対して認証局(CA : Certification Authority)又はOEM(Original Equipment Manufacturer)毎の電子署名を付与する(ステップS12)。次いで、CPU51は、上述した更新制御プログラム及び返答プログラムを含み、電子署名を付与した更新データを更新対象のECU30を備える車両1のゲートウェイ10へ通信部55を通じて送信する(ステップS13)。
なお、図5に示す処理手順では、更新データのリクエストに添付されている車両番号、ECU30のシリアル番号、及び制御プログラムのバージョン番号を参照して、更新対象のECU30を特定する構成としたが、サーバ装置5の記憶部54にて、車両1の車両番号、ECU30のシリアル番号、ECU30にインストールされている制御プログラムのバージョン番号を互いに関連付けて記憶しておき、サーバ装置5側から更新対象のECU30を指定する構成としてもよい。
図6は車両1にて実行される処理の手順を示すフローチャートである。サーバ装置5から送信される更新データをゲートウェイ10の無線通信部15にて受信した場合(ステップS21)、ゲートウェイ10のCPU11は、受信した更新データに係る電子署名が正当であるか否かを判断する(ステップS22)。ゲートウェイ10は、認証局又は各OEMから電子証明書を予め取得しておくことにより、その電子証明書を用いて電子署名が正当であるか否かを判断することができる。
サーバ装置5から受信した更新データの電子署名が正当でないと判断した場合(S22:NO)、CPU11は、本フローチャートによる処理を終了する。
サーバ装置5から受信した更新データの電子署名が正当であると判断した場合(S22:YES)、CPU11は、車内通信部14を通じて更新対象のECU30へ送信する(ステップS23)。
ゲートウェイ10から送信される更新データをECU30の通信部34にて受信した場合(ステップS24)、ECU30のCPU31は、受信した更新データに含まれる更新制御プログラムをRAM32に読み込んで実行し、記憶部33に記憶されている制御プログラムを更新する処理(リプログラミング)を実行する(ステップS25)。
制御プログラムの更新には、例えば、OSGi(Open Services Gateway initiative)の技術を採用することができる。OSGiは、バンドルと呼ばれるプログラムの動的な追加及び実行等を管理するシステムであり、バンドルの実行基盤であるOSGiフレームワークがCPU31にて動作するように構成されている。なお、OSGiは既存の技術であるため、詳細な説明は省略する。また、CPU31は、OSGi以外の技術を採用して制御プログラムの更新を行ってもよい。
制御プログラムの更新が完了した場合、ECU30のCPU31は、更新データに含まれる返答プログラムをRAM32に読み込んで実行し(ステップS26)、ECU30を、更新制御プログラムに係るダイジェスト値を算出する手段、更新後の動作が正常であるか否かを判定する手段、及びその判定結果をゲートウェイ10へ送信する手段として機能させる。
返答プログラムを実行したECU30のCPU31は、更新制御プログラムについてダイジェスト値を算出する(ステップS27)。CPU31が算出するダイジェスト値は、既知のハッシュ関数によって求めたダイジェスト値(ハッシュ値)であってもよく、MD5などのその他のアルゴリズムによって求めたダイジェスト値であってもよい。また、更新制御プログラムが、複数のプログラムからなるプログラム群により構成されている場合、予め定めたプログラムのみからダイジェスト値を算出してもよい。更新後の制御プログラムを含めてダイジェスト値を算出してもよい。なお、ダイジェスト値を算出する範囲は返答プログラムにより規定されているものとする。
次いで、CPU31は、ECU30の基本機能を動作させ、自装置(ECU30自身)が正常に動作するか否かを判定する(ステップS28)。自装置が正常に動作すると判定した場合(S28:YES)、CPU31は、その判定結果と共に、ステップS27で算出したダイジェスト値を通信部34を通じてゲートウェイ10へ送信する(ステップS29)。また、自装置が正常に動作しなかった場合(S28:NO)、CPU31は、本フローチャートによる処理を終了する。
ゲートウェイ10のCPU11は、ECU30から送信される判定結果及びダイジェスト値を車内通信部14にて受信した場合(ステップS30)、受信したダイジェスト値を暗号化し(ステップS31)、暗号化したダイジェスト値を無線通信部15を通じてサーバ装置5へ送信する(ステップS32)。
なお、本実施の形態では、ECU30において更新制御プログラムのダイジェスト値を算出し、自装置が正常に動作すると判定した場合、算出したダイジェスト値をゲートウェイ10へ送信する構成としたが、ECU30では、更新後の制御プログラムによって自装置が正常に動作するか否かの判定を行い、その判定結果をゲートウェイ10に返答する処理のみを実行してもよい。この場合、ゲートウェイ10は、ECU30から正常に動作する旨の返答を受信したとき、ステップS21で受信した更新データに含まれる更新制御プログラムからダイジェスト値を算出し、算出したダイジェスト値を暗号化した上でサーバ装置5へ送信する構成とすればよい。
図7はダイジェスト値を検証する処理の手順を示すフローチャートである。サーバ装置5のCPU51は、車両1のゲートウェイ10から送信される暗号化済みのダイジェスト値を通信部55にて受信した場合(ステップS41)、暗号化済みのダイジェスト値を復号する(ステップS42)。なお、ゲートウェイ10にてダイジェスト値を暗号化し、サーバ装置5にて暗号化済みのダイジェスト値を復号する手法には、公開鍵暗号方式等の既知の手法を用いることができる。
次いで、サーバ装置5のCPU51は、復号したダイジェスト値と、記憶部54に予め記憶してある期待値とを比較し(ステップS43)、両者が一致するか否かを判断する(ステップS44)。
両者が一致すると判断した場合(S44:YES)、CPU51は、更新対象のECU30において制御プログラムの更新が正常に終了したと判定する(ステップS45)。また、両者が一致しないと判断した場合(S44:NO)、CPU51は、ECU30における制御プログラムの更新が正常でなかったと判定する(ステップS46)。
ECU30における制御プログラムの更新が正常でなかった場合、サーバ装置5は、記憶部54に記憶してある更新データをECU30へ再送する構成としてもよい。
また、ECU30における制御プログラムの更新が正常でなかった場合、制御プログラムの配信元が意図しない動作がECU30にて実行される虞があるので、制御プログラムの停止を指示する通知をサーバ装置5から車両1側に通知し、制御プログラムを停止させる構成してもよい。
更に、ECU30における制御プログラムの更新が正常でなかった場合、サーバ装置5は、更新前の制御プログラムに戻すべき旨の通知をゲートウェイ10を介してECU30へ送信し、ECU30の記憶部33に記憶された更新後の制御プログラムを更新前の制御プログラムに戻すようにしてもよい。なお、更新前の制御プログラムは、サーバ装置5の記憶部54、ゲートウェイ10の記憶部13、及びECU30の記憶部33の何れかで保持されていればよい。サーバ装置5から送信される前記通知をECU30が受信した場合、自身の記憶部33、ゲートウェイ10の記憶部13、及びサーバ装置5の記憶部54の何れかから更新前の制御プログラムを取得し、更新後の制御プログラムを更新前の制御プログラムに書き換えることによって、元に戻すことが可能である。
以上のように、本願では、制御プログラムを更新する更新データに、制御プログラムのダイジェスト値を算出する処理、自装置が正常に動作するか否かを判定する処理、及び正常に動作する場合にダイジェスト値をゲートウェイ10へ送信する処理を実行させるコンピュータプログラム(返答プログラム)を実装できるので、事前にECU30内に返答プログラムを実装しておく場合と比較して、返答プログラムを改竄することが困難となる。また、更新データの配信側にて返答プログラムを作成することができるため、更新する都度、ダイジェスト値に対する期待値を変更することができ、改竄及びなりすましを防止することができる。
今回開示された実施の形態は、全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上述した意味ではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
1 車両
10 ゲートウェイ
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
30 ECU
31 CPU
32 RAM
33 記憶部
34 通信部
5 サーバ装置
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
10 ゲートウェイ
11 CPU
12 RAM
13 記憶部
14 車内通信部
15 無線通信部
30 ECU
31 CPU
32 RAM
33 記憶部
34 通信部
5 サーバ装置
51 CPU
52 ROM
53 RAM
54 記憶部
55 通信部
Claims (7)
- 車載機器を制御するための制御プログラムを記憶する記憶手段と、
前記制御プログラムを読み出して実行する実行手段と
を備える複数の制御装置、
該複数の制御装置に車内通信線を介して接続された中継装置、及び
該中継装置に車外通信網を介して接続され、前記制御プログラムを更新するために必要な更新データを記憶する車外装置を含み、
該車外装置から前記更新データを前記中継装置へ送信し、該中継装置が受信した前記更新データに基づき、前記制御装置の記憶手段に記憶された制御プログラムを更新するシステムにおいて、
前記更新データは、
更新対象の制御装置に対する更新制御プログラムと、
該更新制御プログラムに係るダイジェスト値を算出する手段、
更新後の前記制御装置の動作が正常であるか否かを判定する手段、及び
該判定する手段の判定結果を前記中継装置に返答する手段
を実現するコンピュータプログラムと
を含み、
前記中継装置は、
前記車外装置から受信した前記更新データを前記更新対象の制御装置へ送信する手段
を備え、
前記制御装置は、
前記中継装置から送信された前記更新データを受信する手段と、
受信した前記更新データに含まれる前記更新制御プログラムにより前記記憶手段に記憶された制御プログラムを更新する手段と
を備え、
前記制御装置は、前記更新データに含まれる前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定し、その判定結果を前記中継装置に返答する
ことを特徴とするプログラム更新システム。 - 前記中継装置は、
前記車内通信線を介して接続された各制御装置を識別する装置識別情報、及び各制御装置の記憶手段に記憶された制御プログラムを識別するプログラム識別情報を記憶する手段と、
更新対象の制御プログラムを記憶する制御装置の装置識別情報、及び前記制御プログラムのプログラム識別情報を前記車外装置へ送信する手段と
を備え、
前記車外装置は、
前記中継装置から送信された装置識別情報及びプログラム識別情報を受信する手段と、
受信した装置識別情報及びプログラム識別情報に基づき、前記中継装置へ送信すべき更新データを特定する手段と、
特定した更新データを前記中継装置へ送信する際、前記装置識別情報及びプログラム識別情報を付加する手段と
を備えることを特徴とする請求項1に記載のプログラム更新システム。 - 前記中継装置は、
前記更新制御プログラムに係るダイジェスト値を取得する手段と、
取得したダイジェスト値を暗号化する手段と、
暗号化したダイジェスト値を前記車外装置へ送信する手段と
を備え、
前記車外装置は、
前記中継装置から送信された暗号化済みのダイジェスト値を受信する手段と、
受信したダイジェスト値を復号する手段と、
復号したダイジェスト値を予め記憶してある期待値と比較する手段と
比較した結果に基づき、前記制御装置における更新後の制御プログラムの正当性を判断する手段と
を備えることを特徴とする請求項1又は請求項2に記載のプログラム更新システム。 - 前記車外装置は、
更新後の制御プログラムが正当でないと判断した場合、記憶してある更新データ及び前記コンピュータプログラムを前記中継装置を介して前記制御装置へ再送信する手段
を備えることを特徴とする請求項3に記載のプログラム更新システム。 - 前記車外装置は、
更新後の制御プログラムが正当でないと判断した場合、前記制御プログラムの実行を停止すべき旨を前記中継装置を介して前記制御装置へ通知する手段
を備え、
前記制御装置は、
前記制御プログラムの実行を停止すべき旨の通知を前記車外装置から受信した場合、前記制御プログラムの実行を停止する手段
を備えることを特徴とする請求項3に記載のプログラム更新システム。 - 前記車外装置、前記中継装置及び前記制御装置の少なくとも1つは、更新前の制御プログラムを保持する手段を備え、
前記車外装置は、
更新後の制御プログラムが正当でないと判断した場合、更新前の制御プログラムに戻すべき旨を前記中継装置を介して前記制御装置へ通知する手段
を備え、
前記制御装置は、
更新前の制御プログラムに戻すべき旨の通知を前記中継装置を介して受信した場合、更新前の制御プログラムを取得する手段と、
前記記憶手段に記憶された更新後の制御プログラムを、取得した更新前の制御プログラムに戻す手段と
を備えることを特徴とする請求項3に記載のプログラム更新システム。 - 車載機器を制御するための制御プログラムを記憶する記憶手段と、前記制御プログラムを読み出して実行する実行手段とを備える制御装置に対し、車外装置は、前記制御プログラムを更新するために必要な更新データを前記制御装置に接続された中継装置へ送信し、該中継装置が受信した前記更新データに基づき、前記制御装置の記憶手段に記憶された制御プログラムを更新する方法において、
前記更新データは、
更新対象の制御装置に対する更新制御プログラムと、
該更新制御プログラムに係るダイジェスト値を算出する手段、
更新後の前記制御装置の動作が正常であるか否かを判定する手段、及び
該判定する手段の判定結果を前記中継装置に返答する手段
を実現するコンピュータプログラムと
を含み、
前記中継装置は、
前記車外装置から受信した前記更新データを前記更新対象の制御装置へ送信し、
前記制御装置は、
前記中継装置から送信された前記更新データを受信し、
受信した前記更新データに含まれる前記更新制御プログラムにより前記記憶手段に記憶された制御プログラムを更新し、
前記更新データに含まれる前記コンピュータプログラムを実行して更新後の動作が正常であるか否かを判定し、
その判定結果を前記中継装置に返答する
ことを特徴とするプログラム更新方法。
Priority Applications (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US15/038,944 US20160378457A1 (en) | 2013-11-27 | 2014-11-26 | Program update system and program update method |
| CN201480064977.8A CN105793824A (zh) | 2013-11-27 | 2014-11-26 | 程序更新系统及程序更新方法 |
| DE112014005412.7T DE112014005412B4 (de) | 2013-11-27 | 2014-11-26 | Programmaktualisierungssystem und Programmaktualisierungsverfahren |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2013-245083 | 2013-11-27 | ||
| JP2013245083A JP5949732B2 (ja) | 2013-11-27 | 2013-11-27 | プログラム更新システム及びプログラム更新方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2015080108A1 true WO2015080108A1 (ja) | 2015-06-04 |
Family
ID=53199048
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2014/081139 Ceased WO2015080108A1 (ja) | 2013-11-27 | 2014-11-26 | プログラム更新システム及びプログラム更新方法 |
Country Status (5)
| Country | Link |
|---|---|
| US (1) | US20160378457A1 (ja) |
| JP (1) | JP5949732B2 (ja) |
| CN (1) | CN105793824A (ja) |
| DE (1) | DE112014005412B4 (ja) |
| WO (1) | WO2015080108A1 (ja) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017022022A1 (ja) * | 2015-07-31 | 2017-02-09 | 三菱電機株式会社 | 車両用情報通信システムおよび車両用情報通信方法 |
| CN108476137A (zh) * | 2015-12-28 | 2018-08-31 | Kddi株式会社 | 车载计算机系统、车辆、管理方法以及计算机程序 |
| CN110214308A (zh) * | 2017-02-01 | 2019-09-06 | 住友电气工业株式会社 | 控制装置、程序更新方法和计算机程序 |
Families Citing this family (54)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| DE102015203766A1 (de) * | 2015-03-03 | 2016-09-08 | Robert Bosch Gmbh | Teilsystem für ein Fahrzeug und entsprechendes Fahrzeug |
| JP6433844B2 (ja) * | 2015-04-09 | 2018-12-05 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置、中継装置、情報処理システム、およびソフトウェアアップデート方法 |
| JP6477281B2 (ja) * | 2015-06-17 | 2019-03-06 | 株式会社オートネットワーク技術研究所 | 車載中継装置、車載通信システム及び中継プログラム |
| JP6197000B2 (ja) * | 2015-07-03 | 2017-09-13 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
| JP6281535B2 (ja) * | 2015-07-23 | 2018-02-21 | 株式会社デンソー | 中継装置、ecu、及び、車載システム |
| JP6238939B2 (ja) * | 2015-08-24 | 2017-11-29 | Kddi株式会社 | 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム |
| JP2017049874A (ja) * | 2015-09-03 | 2017-03-09 | 日本電気株式会社 | 情報処理装置、情報処理システム、制御方法、および制御プログラム |
| KR101704569B1 (ko) * | 2015-09-09 | 2017-02-08 | 현대자동차주식회사 | 시동 기반 동적 차량 보안 통신 제어 방법 및 그를 위한 장치 및 시스템 |
| JP6675271B2 (ja) * | 2015-09-14 | 2020-04-01 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
| JP6723829B2 (ja) * | 2015-09-14 | 2020-07-15 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America | ゲートウェイ装置、ファームウェア更新方法及び制御プログラム |
| WO2017046980A1 (ja) * | 2015-09-14 | 2017-03-23 | パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ | ゲートウェイ装置、車載ネットワークシステム及びファームウェア更新方法 |
| JP6678548B2 (ja) * | 2015-11-13 | 2020-04-08 | 株式会社東芝 | 中継装置、中継方法およびプログラム |
| US10437680B2 (en) | 2015-11-13 | 2019-10-08 | Kabushiki Kaisha Toshiba | Relay apparatus, relay method, and computer program product |
| JP6508067B2 (ja) * | 2016-01-14 | 2019-05-08 | 株式会社デンソー | 車両用データ通信システム |
| FR3050555B1 (fr) * | 2016-04-21 | 2019-09-27 | Thales | Procede de traitement d'un fichier de mise a jour d'un equipement avionique d'un aeronef, produit programme d'ordinateur, dispositif electronique de traitement et systeme de traitement associes |
| JP6665728B2 (ja) | 2016-08-05 | 2020-03-13 | 株式会社オートネットワーク技術研究所 | 車載更新装置、車載更新システム及び通信装置の更新方法 |
| JP6260067B1 (ja) | 2016-08-09 | 2018-01-17 | Kddi株式会社 | 管理システム、鍵生成装置、車載コンピュータ、管理方法、及びコンピュータプログラム |
| EP3499792A4 (en) | 2016-08-10 | 2020-01-01 | KDDI Corporation | DATA PROVIDING SYSTEM, DATA SECURITY DEVICE, DATA PROVIDING METHOD AND COMPUTER PROGRAM |
| US11212109B2 (en) | 2016-08-10 | 2021-12-28 | Kddi Corporation | Data provision system, data security device, data provision method, and computer program |
| JP6696468B2 (ja) * | 2016-08-30 | 2020-05-20 | 株式会社オートネットワーク技術研究所 | 車載更新装置及び車載更新システム |
| JP6658409B2 (ja) | 2016-09-02 | 2020-03-04 | 株式会社オートネットワーク技術研究所 | 車載更新システム、車載更新装置及び通信装置の更新方法 |
| JP6756225B2 (ja) | 2016-10-04 | 2020-09-16 | 株式会社オートネットワーク技術研究所 | 車載更新システム、車載更新装置及び更新方法 |
| JP6724717B2 (ja) * | 2016-10-25 | 2020-07-15 | 株式会社オートネットワーク技術研究所 | 車載機器判定システム |
| JP6729305B2 (ja) * | 2016-11-01 | 2020-07-22 | 株式会社オートネットワーク技術研究所 | 車載中継装置 |
| EP3575954B1 (en) * | 2017-01-25 | 2023-08-02 | Hitachi Astemo, Ltd. | Vehicle control device and program updating system |
| JP6784178B2 (ja) * | 2017-01-27 | 2020-11-11 | 住友電気工業株式会社 | 車載通信システム、ゲートウェイ、スイッチ装置、通信制御方法および通信制御プログラム |
| EP3399410A1 (en) * | 2017-05-04 | 2018-11-07 | Volvo Car Corporation | Method and system for software installation in a vehicle |
| US11194562B2 (en) * | 2017-05-19 | 2021-12-07 | Blackberry Limited | Method and system for hardware identification and software update control |
| JP6785720B2 (ja) | 2017-05-29 | 2020-11-18 | 日立オートモティブシステムズ株式会社 | 車両用制御装置及びプログラム書き換え方法 |
| JP6897417B2 (ja) * | 2017-08-16 | 2021-06-30 | 住友電気工業株式会社 | 制御装置、制御方法、およびコンピュータプログラム |
| JP6440334B2 (ja) * | 2017-08-18 | 2018-12-19 | Kddi株式会社 | システム、車両及びソフトウェア配布処理方法 |
| JP6773617B2 (ja) * | 2017-08-21 | 2020-10-21 | 株式会社東芝 | 更新制御装置、ソフトウェア更新システムおよび更新制御方法 |
| JP6354099B2 (ja) * | 2017-09-28 | 2018-07-11 | Kddi株式会社 | データ提供システム及びデータ提供方法 |
| JP6454919B2 (ja) * | 2017-10-10 | 2019-01-23 | Kddi株式会社 | 管理システム、データ提供装置、車載コンピュータ、管理方法、及びコンピュータプログラム |
| JP6554704B2 (ja) * | 2017-10-18 | 2019-08-07 | Kddi株式会社 | データ提供システム及びデータ提供方法 |
| JP6476462B2 (ja) * | 2017-10-30 | 2019-03-06 | Kddi株式会社 | 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム |
| JP6922667B2 (ja) * | 2017-11-06 | 2021-08-18 | 株式会社オートネットワーク技術研究所 | プログラム更新装置、プログラム更新システム及びプログラム更新方法 |
| JP6888122B2 (ja) | 2018-01-19 | 2021-06-16 | ルネサスエレクトロニクス株式会社 | 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム |
| JP7006335B2 (ja) | 2018-02-06 | 2022-01-24 | トヨタ自動車株式会社 | 車載通信システム、車載通信方法、およびプログラム |
| JP7010049B2 (ja) * | 2018-02-16 | 2022-01-26 | トヨタ自動車株式会社 | 車両制御装置、プログラムの更新確認方法および更新確認プログラム |
| JP7225596B2 (ja) | 2018-07-30 | 2023-02-21 | トヨタ自動車株式会社 | プログラム更新システム、プログラム更新サーバーおよび車両 |
| JP2018170806A (ja) * | 2018-08-09 | 2018-11-01 | Kddi株式会社 | 通信システム、通信方法、及びプログラム |
| JP7003976B2 (ja) * | 2018-08-10 | 2022-01-21 | 株式会社デンソー | 車両用マスタ装置、更新データの検証方法及び更新データの検証プログラム |
| JP7408936B2 (ja) * | 2018-08-10 | 2024-01-09 | 株式会社デンソー | センター装置,諸元データの生成方法及び諸元データ生成用プログラム |
| WO2020032198A1 (ja) * | 2018-08-10 | 2020-02-13 | 株式会社デンソー | センター装置,車両情報通信システム,配信パッケージ送信方法及び配信パッケージの送信プログラム |
| KR102526968B1 (ko) * | 2018-09-18 | 2023-04-28 | 현대자동차주식회사 | 차량 및 그 제어 방법 |
| JP7225948B2 (ja) * | 2019-03-11 | 2023-02-21 | 株式会社オートネットワーク技術研究所 | 代替装置、代替制御プログラム及び代替方法 |
| JP6780724B2 (ja) * | 2019-03-18 | 2020-11-04 | 株式会社オートネットワーク技術研究所 | 車載更新装置、更新処理プログラム及び、プログラムの更新方法 |
| KR102917603B1 (ko) * | 2020-06-24 | 2026-01-27 | 현대자동차주식회사 | 데이터 처리 장치, 그를 가지는 차량 |
| JP7731690B2 (ja) * | 2021-04-14 | 2025-09-01 | Astemo株式会社 | 制御装置及び制御システム |
| EP4105086B1 (en) | 2021-06-14 | 2025-08-20 | Volkswagen Ag | Method for a mobile relay system, corresponding mobile relay system and computer program |
| JP7540401B2 (ja) * | 2021-06-22 | 2024-08-27 | トヨタ自動車株式会社 | センタ、otaマスタ、方法、プログラム、及び車両 |
| JP2023150321A (ja) * | 2022-03-31 | 2023-10-16 | 横河電機株式会社 | サイト管理システム |
| CN115470022A (zh) * | 2022-08-12 | 2022-12-13 | 重庆长安汽车股份有限公司 | 车辆控制器的故障处理方法、装置、车辆及介质 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003019931A (ja) * | 2001-07-06 | 2003-01-21 | Denso Corp | 故障診断システム、車両管理装置、サーバ装置、及び検査診断プログラム |
| JP2004326689A (ja) * | 2003-04-28 | 2004-11-18 | Nissan Motor Co Ltd | 車載機器のソフトウェア書き換え方法、テレマティクスシステムおよびテレマティクス装置 |
| JP2011003020A (ja) * | 2009-06-18 | 2011-01-06 | Toyota Infotechnology Center Co Ltd | コンピューターシステムおよびプログラム起動方法 |
| JP2013137729A (ja) * | 2011-11-29 | 2013-07-11 | Auto Network Gijutsu Kenkyusho:Kk | プログラム書換システム、制御装置、プログラム配信装置、識別情報記憶装置、及びプログラム書換方法 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US376711A (en) * | 1888-01-17 | Chaeles l | ||
| US7975305B2 (en) * | 1997-11-06 | 2011-07-05 | Finjan, Inc. | Method and system for adaptive rule-based content scanners for desktop computers |
| US6975612B1 (en) * | 1999-06-14 | 2005-12-13 | Sun Microsystems, Inc. | System and method for providing software upgrades to a vehicle |
| US7366589B2 (en) * | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
| GB0612775D0 (en) * | 2006-06-28 | 2006-08-09 | Ibm | An apparatus for securing a communications exchange between computers |
| US7788234B2 (en) * | 2007-08-23 | 2010-08-31 | Microsoft Corporation | Staged, lightweight backup system |
| CN101729289B (zh) * | 2008-11-03 | 2012-04-04 | 华为技术有限公司 | 平台完整性认证方法及系统、无线接入设备和网络设备 |
| JP4655141B2 (ja) * | 2008-12-08 | 2011-03-23 | 株式会社デンソー | 車載無線通信装置及びローミングリスト更新システム |
| KR20110092007A (ko) * | 2010-02-08 | 2011-08-17 | 주식회사 만도 | 차량의 소프트웨어 다운로드 시스템 및 방법 |
| CN102236752B (zh) * | 2010-05-04 | 2014-10-22 | 航天信息股份有限公司 | 软件安装和升级的可信度量方法 |
| US8782227B2 (en) * | 2010-06-22 | 2014-07-15 | Cleversafe, Inc. | Identifying and correcting an undesired condition of a dispersed storage network access request |
| JP5629927B2 (ja) * | 2010-11-12 | 2014-11-26 | クラリオン株式会社 | 車載機のオンライン更新方法 |
| CN102662692B (zh) * | 2012-03-16 | 2015-05-27 | 北京经纬恒润科技有限公司 | 一种电子控制单元中应用程序的更新方法及系统 |
| WO2013170064A2 (en) * | 2012-05-09 | 2013-11-14 | SunStone Information Defense Inc. | Methods and apparatus for identifying and removing malicious applications |
| US9858064B2 (en) * | 2012-08-16 | 2018-01-02 | Ford Global Technologies, Llc | Methods and apparatus for vehicle computing system software updates |
| JP2014241465A (ja) * | 2013-06-11 | 2014-12-25 | 株式会社東芝 | 署名生成装置、署名生成方法、署名生成プログラム、及び電力使用量計算システム |
-
2013
- 2013-11-27 JP JP2013245083A patent/JP5949732B2/ja not_active Expired - Fee Related
-
2014
- 2014-11-26 US US15/038,944 patent/US20160378457A1/en not_active Abandoned
- 2014-11-26 DE DE112014005412.7T patent/DE112014005412B4/de not_active Expired - Fee Related
- 2014-11-26 WO PCT/JP2014/081139 patent/WO2015080108A1/ja not_active Ceased
- 2014-11-26 CN CN201480064977.8A patent/CN105793824A/zh active Pending
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003019931A (ja) * | 2001-07-06 | 2003-01-21 | Denso Corp | 故障診断システム、車両管理装置、サーバ装置、及び検査診断プログラム |
| JP2004326689A (ja) * | 2003-04-28 | 2004-11-18 | Nissan Motor Co Ltd | 車載機器のソフトウェア書き換え方法、テレマティクスシステムおよびテレマティクス装置 |
| JP2011003020A (ja) * | 2009-06-18 | 2011-01-06 | Toyota Infotechnology Center Co Ltd | コンピューターシステムおよびプログラム起動方法 |
| JP2013137729A (ja) * | 2011-11-29 | 2013-07-11 | Auto Network Gijutsu Kenkyusho:Kk | プログラム書換システム、制御装置、プログラム配信装置、識別情報記憶装置、及びプログラム書換方法 |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2017022022A1 (ja) * | 2015-07-31 | 2017-02-09 | 三菱電機株式会社 | 車両用情報通信システムおよび車両用情報通信方法 |
| JPWO2017022022A1 (ja) * | 2015-07-31 | 2017-10-12 | 三菱電機株式会社 | 車両用情報通信システムおよび車両用情報通信方法 |
| CN107851383A (zh) * | 2015-07-31 | 2018-03-27 | 三菱电机株式会社 | 车辆用信息通信系统及车辆用信息通信方法 |
| CN107851383B (zh) * | 2015-07-31 | 2021-07-13 | 三菱电机株式会社 | 车辆用信息通信系统及车辆用信息通信方法 |
| CN108476137A (zh) * | 2015-12-28 | 2018-08-31 | Kddi株式会社 | 车载计算机系统、车辆、管理方法以及计算机程序 |
| EP3399691A4 (en) * | 2015-12-28 | 2019-08-07 | KDDI Corporation | On-board computer system, vehicle, administrative procedure and computer program |
| US10931459B2 (en) | 2015-12-28 | 2021-02-23 | Kddi Corporation | Onboard computer system, vehicle, management method, and computer program |
| CN110214308A (zh) * | 2017-02-01 | 2019-09-06 | 住友电气工业株式会社 | 控制装置、程序更新方法和计算机程序 |
| CN110214308B (zh) * | 2017-02-01 | 2023-01-06 | 住友电气工业株式会社 | 控制装置、程序更新方法和计算机程序 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20160378457A1 (en) | 2016-12-29 |
| JP2015103163A (ja) | 2015-06-04 |
| DE112014005412B4 (de) | 2021-05-12 |
| DE112014005412T5 (de) | 2016-08-04 |
| CN105793824A (zh) | 2016-07-20 |
| JP5949732B2 (ja) | 2016-07-13 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP5949732B2 (ja) | プログラム更新システム及びプログラム更新方法 | |
| EP3319266B1 (en) | Software distribution processing device, vehicle, software distribution processing method, and computer program | |
| US11182485B2 (en) | In-vehicle apparatus for efficient reprogramming and controlling method thereof | |
| EP4207110B1 (en) | DEVICE AND METHOD FOR COLLECTING USER-BASED INSURANCE DATA IN VEHICLES | |
| US9577997B2 (en) | Authentication system and authentication method | |
| US9641329B2 (en) | In-vehicle system and communication method | |
| CN104955680B (zh) | 访问限制装置、车载通信系统及通信限制方法 | |
| JP5967822B2 (ja) | 車載通信システム及び装置 | |
| JP6190443B2 (ja) | 車載コンピュータシステム、車両、管理方法、及びコンピュータプログラム | |
| CN111279310A (zh) | 一种车载设备升级方法及相关设备 | |
| JP2015079440A (ja) | 修正プログラム確認方法、修正プログラム確認プログラム、及び情報処理装置 | |
| CN103166759A (zh) | 使用诊断链路连接器(dlc)和onstar系统的用于安全固件下载的方法和装置 | |
| CN107026833A (zh) | 用于授权机动车辆中的软件更新的方法 | |
| CN107409045A (zh) | 管理装置、车辆、管理方法以及计算机程序 | |
| JP2016163265A (ja) | 鍵管理システム、鍵管理方法およびコンピュータプログラム | |
| US9438581B2 (en) | Authenticating data at a microcontroller using message authentication codes | |
| KR20150089697A (ko) | 모바일 단말을 이용한 스마트 카 보안 시스템 및 그 방법 | |
| JP6677132B2 (ja) | 車載通信機、管理装置、管理方法および監視プログラム | |
| CN120112907A (zh) | 用于车辆软件的远程证明的数字影子 | |
| WO2020090418A1 (ja) | 電子制御装置、電子制御装置のリプログラミング方法 | |
| CN119094182A (zh) | 身份认证方法、装置及存储介质 | |
| KR20190060032A (ko) | 차량용 제어 유닛의 업데이트 방법 및 차량 | |
| US10638313B2 (en) | Systems and methods for confirming a cryptographic key | |
| US12309279B2 (en) | Method for installing a computing component and associated electronic device | |
| JP2025115098A (ja) | 電子情報記憶媒体、鍵管理方法、電子情報記憶媒体用プログラム、および鍵管理システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 14866092 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 15038944 Country of ref document: US |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 112014005412 Country of ref document: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 14866092 Country of ref document: EP Kind code of ref document: A1 |