JP2019105946A - In-vehicle updating apparatus, program, and method of updating program or data - Google Patents

In-vehicle updating apparatus, program, and method of updating program or data Download PDF

Info

Publication number
JP2019105946A
JP2019105946A JP2017237192A JP2017237192A JP2019105946A JP 2019105946 A JP2019105946 A JP 2019105946A JP 2017237192 A JP2017237192 A JP 2017237192A JP 2017237192 A JP2017237192 A JP 2017237192A JP 2019105946 A JP2019105946 A JP 2019105946A
Authority
JP
Japan
Prior art keywords
program
data
storage unit
vehicle
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.)
Pending
Application number
JP2017237192A
Other languages
Japanese (ja)
Inventor
井上 雅之
Masayuki Inoue
雅之 井上
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
Application filed by Sumitomo Wiring Systems Ltd, AutoNetworks Technologies Ltd, Sumitomo Electric Industries Ltd filed Critical Sumitomo Wiring Systems Ltd
Priority to JP2017237192A priority Critical patent/JP2019105946A/en
Priority to PCT/JP2018/044112 priority patent/WO2019116922A1/en
Publication of JP2019105946A publication Critical patent/JP2019105946A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

To provide an in-vehicle updating apparatus, or the like, configured to prevent leakage of a decoded program and update a program of an in-vehicle ECU.SOLUTION: An in-vehicle updating apparatus configured to execute processing for updating a program or data of an in-vehicle ECU includes: an acquisition section which acquires a concealed program or data; a first storage section which stores the program or data acquired by the acquisition section; a decoding section which decodes the program or data read from the first storage section; a volatile second storage section which stores the decoded program or data; and a transmission section which transmits the decoded program or data stored in the second storage section to the in-vehicle ECU.SELECTED DRAWING: Figure 1

Description

本発明は、車載更新装置、プログラム及びプログラム又はデータの更新方法に関する。   The present invention relates to an onboard update device, a program, and a method of updating a program or data.

車載器を制御する車載ECUのプログラムを更新するにあたり、当該プログラムを送信するサーバと通信して当該プログラムを受信し、受信したプログラムを車載ECUに送信することによって、プログラムの更新を行う中継装置が知られている。   In updating the program of the in-vehicle ECU that controls the in-vehicle device, the relay device performs the program update by communicating with the server that transmits the program, receiving the program, and transmitting the received program to the in-vehicle ECU. Are known.

車載ECUのプログラムの受信時には、当該プログラムに関する情報漏洩を防止する観点から、受信するプログラムを暗号化することが望まれている。受信された暗号プログラムは、受信側の装置によって復号され、復号されたプログラムは、平文の状態となりプログラムの内容を参照することが可能な状態となる。   At the time of reception of the program of the on-board ECU, it is desirable to encrypt the received program from the viewpoint of preventing information leakage regarding the program. The received encrypted program is decrypted by the device on the receiving side, and the decrypted program is in the state of plaintext, and the content of the program can be referred to.

これに対応するため、特許文献1の情報処理装置は、復号されたプログラムが記憶されている記憶装置に対するアクセス制限をかけ、当該装置から復号されたプログラムが取り出されることを制限する取り出し制御手段を備えている。   In order to cope with this, the information processing apparatus of Patent Document 1 applies an access restriction to a storage device in which a decoded program is stored, and a retrieval control unit for restricting the extraction of the decrypted program from the apparatus. Have.

特開2003−173215号公報JP 2003-173215 A

しかしながら、特許文献1の情報処理装置は取り出し制御手段が施されているが、復号されたプログラムは、不揮発性の記憶媒体に記憶されている。従って、当該記憶媒体を光学観察する又は記憶媒体の内部バスを直接プロービングすることで、当該復号されたプログラムを不正に取得される虞がある。特に、プログラムを更新する処理中に、例えば、電源を遮断すること等により更新を中断させ、復号されたプログラムが記憶媒体に残存する状態を意図的に発生させられた場合、不正に取得される虞は更に大きくなる。   However, although the information processing apparatus of Patent Document 1 is provided with the retrieval control means, the decrypted program is stored in the non-volatile storage medium. Therefore, by optically observing the storage medium or directly probing the internal bus of the storage medium, the decoded program may be illegally obtained. In particular, during the process of updating a program, the update is interrupted by, for example, shutting off the power, and the decrypted program is illegally acquired if it is intentionally caused to remain in the storage medium. The risk is even greater.

本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、復号されたプログラムが漏洩することを防止して車載ECUのプログラムの更新を行うことができる車載更新装置等を提供することを目的とする。   The present invention has been made in view of such circumstances, and an object thereof is to provide an on-vehicle updating device and the like capable of updating a program of an on-vehicle ECU while preventing leakage of a decrypted program. Intended to be provided.

本開示の一態様に係る車載更新装置は、車載ECUのプログラム又はデータを更新するための処理を行う車載更新装置であって、秘匿化処理されたプログラム又はデータを取得する取得部と、前記取得部が取得した前記プログラム又はデータを記憶する第1記憶部と、該第1記憶部から読み出した前記プログラム又はデータを復号する復号部と、復号されたプログラム又はデータを記憶する揮発性の第2記憶部と、該第2記憶部に記憶した前記復号されたプログラム又はデータを前記車載ECUに送信する送信部とを備える。   An on-vehicle update device according to an aspect of the present disclosure is an on-vehicle update device that performs processing for updating a program or data of an on-vehicle ECU, and includes an acquisition unit that acquires a concealed program or data; A first storage unit for storing the program or data acquired by the unit; a decryption unit for decrypting the program or data read from the first storage unit; and a volatile second program for storing the decrypted program or data A storage unit, and a transmission unit that transmits the decoded program or data stored in the second storage unit to the on-vehicle ECU.

本開示の一態様に係るプログラムは、コンピュータに、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第1記憶部に記憶し、該第1記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する処理を実行させる。   A program according to an aspect of the present disclosure is a program that acquires a program or data subjected to concealment processing in a computer, stores the acquired program or data in a first storage unit, and stores the acquired program or data in the first storage unit. Alternatively, the data is decoded, the decoded program or data is stored in the volatile second storage unit, and the processing of transmitting the decoded program or data stored in the second storage unit to the on-vehicle ECU is executed.

本開示の一態様に係るプログラム又はデータの更新方法は、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第1記憶部に記憶し、該第1記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する。   A program or data update method according to an aspect of the present disclosure acquires a program or data subjected to a concealment process, stores the acquired program or data in a first storage unit, and stores the acquired program or data in the first storage unit. The program or data is decoded, the decoded program or data is stored in a volatile second storage unit, and the decoded program or data stored in the second storage unit is transmitted to the on-vehicle ECU.

本開示の一態様によれば、復号されたプログラムが漏洩することを防止して車載ECUのプログラムの更新を行うことができる車載更新装置等を提供することができる。   According to one aspect of the present disclosure, it is possible to provide an on-vehicle update device or the like that can update the program of the on-vehicle ECU while preventing the decrypted program from leaking.

実施形態1に係る車載更新システムの構成を示す模式図である。FIG. 1 is a schematic view showing a configuration of an on-vehicle update system according to a first embodiment. 実施形態1に係る車載更新装置等の構成を示すブロック図である。FIG. 1 is a block diagram showing a configuration of an on-vehicle update device and the like according to Embodiment 1. 実施形態1に係る制御部の処理を示すフローチャートである。5 is a flowchart showing processing of a control unit according to the first embodiment. 実施形態2に係る制御部の処理を示すフローチャートである。7 is a flowchart showing processing of a control unit according to the second embodiment. 実施形態3に係る制御部の処理を示すフローチャートである。It is a flowchart which shows the process of the control part which concerns on Embodiment 3. FIG.

[本発明の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
Description of the embodiment of the present invention
First, the embodiments of the present disclosure will be listed and described. In addition, at least part of the embodiments described below may be arbitrarily combined.

(1)本開示の一態様に係る車載更新装置は、車載ECUのプログラム又はデータを更新するための処理を行う車載更新装置であって、秘匿化処理されたプログラム又はデータを取得する取得部と、前記取得部が取得した前記プログラム又はデータを記憶する第1記憶部と、該第1記憶部から読み出した前記プログラム又はデータを復号する復号部と、復号されたプログラム又はデータを記憶する揮発性の第2記憶部と、該第2記憶部に記憶した前記復号されたプログラム又はデータを前記車載ECUに送信する送信部とを備える。 (1) The on-vehicle update device according to an aspect of the present disclosure is a vehicle-mounted update device that performs a process for updating a program or data of an on-vehicle ECU, and an acquisition unit that acquires a concealed program or data A first storage unit for storing the program or data acquired by the acquisition unit; a decryption unit for decrypting the program or data read from the first storage unit; and volatileity for storing the decrypted program or data A second storage unit, and a transmission unit for transmitting the decoded program or data stored in the second storage unit to the in-vehicle ECU.

本態様にあたっては、復号されたプログラム又はデータは、揮発性の記憶媒体による第2記憶部に記憶されているため、車載更新装置の電源が遮断された場合等、当該揮発性の記憶媒体に記憶されているプログラム又はデータは、消去される。従って、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータを確実に消去することによって、復号されたプログラムが漏洩することを防止することができる。   In this aspect, since the decoded program or data is stored in the second storage unit by the volatile storage medium, the program or data is stored in the volatile storage medium, for example, when the power of the on-board updating device is shut off. The program or data being stored is erased. Therefore, even if the power is shut off and the updating process is interrupted, leakage of the decrypted program can be prevented by surely erasing the decrypted program or data.

(2)前記復号されたプログラム又はデータが前記車載ECUに送信された後、該復号されたプログラム又はデータを前記第2記憶部から消去する消去部を備える構成が好ましい。 (2) The configuration preferably includes an erasing unit that erases the decoded program or data from the second storage unit after the decoded program or data is transmitted to the on-vehicle ECU.

本態様にあたっては、前記復号されたプログラム又はデータを前記車載ECUに送信した後、前記第2記憶部に記憶されている該復号されたプログラム又はデータを消去する消去部を備えるので、復号されたプログラムが漏洩することを防止することができる。   In this aspect, after the decrypted program or data is transmitted to the on-vehicle ECU, the decryption unit is provided with an erasure unit that erases the decrypted program or data stored in the second storage unit. It is possible to prevent the program from leaking.

(3)前記第1記憶部は、不揮発性である構成が好ましい。 (3) The first storage unit is preferably configured to be non-volatile.

本態様にあたっては、第1記憶部を不揮発性の記憶媒体とすることによって、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータは消去しつつ、秘匿化処理されたプログラム又はデータは保持することができる。従って、中断後、更新処理を再開するにあたり、秘匿化処理されたプログラム又はデータを再度取得することを不要とし、取得するための通信コスト及び処理時間を削減することができる。   In this aspect, by using the first storage unit as a non-volatile storage medium, even when the power is shut off and the update processing is interrupted, the decryption processing is performed while the decrypted program or data is erased. The stored program or data can be held. Therefore, when restarting the update processing after the interruption, it is not necessary to acquire the concealed program or data again, and communication cost and processing time for acquiring can be reduced.

(4)前記秘匿化処理されたプログラム又はデータは、該プログラム又はデータの正当性を確認するための確認用データを含み、前記復号部は、該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認する構成が好ましい。 (4) The program or data subjected to the concealment processing includes confirmation data for confirming the legitimacy of the program or data, and the decryption unit decrypts the program or data when the decryption unit decrypts the program or data. It is preferable that the program or data be verified based on the data.

本態様にあたっては、車載更新装置は、秘匿化処理された該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認するため、復号されたプログラム又はデータの正当性を補償することができる。また、確認用データに基づいて該プログラム又はデータの正当性を確認する処理は、揮発性の記憶媒体による第2記憶部の記憶領域で行われるため、復号されたプログラムが漏洩することを防止することができる。   In this aspect, when the in-vehicle update device decrypts the concealed program or data, the in-vehicle update device decrypts the program or data in order to confirm the legitimacy of the program or data based on the confirmation data. The legitimacy of can be compensated. In addition, the process of confirming the correctness of the program or data based on the confirmation data is performed in the storage area of the second storage unit by the volatile storage medium, so that the decrypted program is prevented from leaking be able to.

(5)前記秘匿化処理は、暗号鍵による暗号化処理によるものであり、前記復号部は、暗号鍵に対応する復号鍵により、前記秘匿化処理されたプログラム又はデータを復号する構成が好ましい。 (5) The concealment process is performed by an encryption process using an encryption key, and the decryption unit preferably decrypts the concealed program or data with a decryption key corresponding to the encryption key.

本態様にあたっては、秘匿化処理は、暗号鍵による暗号化処理によるものであるため、秘匿化処理されたプログラム又はデータの堅牢性を向上させることができる。   In this aspect, since the concealment process is performed by the encryption process using the encryption key, the robustness of the concealed program or data can be improved.

(6)前記復号されたプログラム又はデータが前記車載ECUに送信された後、前記秘匿化処理されたプログラム又はデータを前記第1記憶部から消去する消去部を備える構成が好ましい。 (6) The configuration preferably includes an erasing unit that erases the concealed program or data from the first storage unit after the decrypted program or data is transmitted to the in-vehicle ECU.

本態様にあたっては、復号されたプログラム又はデータを前記車載ECUに送信した後、前記秘匿化処理されたプログラム又はデータを第1記憶部から消去する消去部を備えるため、第1記憶部の記憶容量が逼迫することを抑制することができる。また、復号されたプログラム又はデータを前記車載ECUに送信した後、前記秘匿化処理されたプログラム又はデータが漏洩することを防止することができる。   In the present aspect, the storage capacity of the first storage unit is provided because the deletion unit is configured to delete the concealed program or data from the first storage unit after transmitting the decrypted program or data to the on-vehicle ECU. Can be restrained. In addition, it is possible to prevent leakage of the concealed program or data after transmitting the decrypted program or data to the in-vehicle ECU.

(7)前記秘匿化処理されたプログラム又はデータは、前記車載ECUに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されており、前記取得部は、更に前記車載ECUから現プログラム又はデータを取得し、前記復号部は、前記秘匿化処理されたプログラム又はデータを復号して差分データを生成し、生成した該差分データと、前記現プログラム又はデータとに基づいて、前記新プログラム又はデータを生成し、前記現プログラム又はデータ、及び生成された前記新プログラム又はデータは、前記第2記憶部に記憶されており、前記送信部は、前記第2記憶部に記憶された前記新プログラム又はデータを、前記復号されたプログラム又はデータに換えて前記車載ECUに送信する構成が好ましい。 (7) The concealed program or data is generated based on difference data between the current program or data already applied to the in-vehicle ECU and the new program or data to be applied this time, and the acquisition unit Further acquires a current program or data from the in-vehicle ECU, and the decoding unit decodes the concealed program or data to generate difference data, and generates the difference data generated; The new program or data is generated based on the data, and the current program or data and the generated new program or data are stored in the second storage unit, and the transmission unit is configured to 2) Replace the new program or data stored in the storage unit with the decoded program or data, and Configuration in which trust is preferable.

本態様にあたっては、秘匿化処理されたプログラム又はデータは、車載ECUに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されているため、新プログラム又はデータの漏洩を防止することができる。秘匿化処理されたプログラム又はデータは、差分データに基づき生成されているため、当該秘匿化処理されたプログラム又はデータを取得するための通信コスト及び通信トラフィックを低減させることができる。現プログラム又はデータは、揮発性の第2記憶部に記憶されるため、電源遮断時等に現プログラム又はデータが消去され、現プログラム等が漏洩することを防止することができる。復号された差分データと、現プログラム又はデータとにより生成した新プログラム又はデータは、揮発性の第2記憶部に記憶されるため、電源遮断時等に新プログラム又はデータが漏洩することを防止することができる。   In this aspect, the concealed program or data is generated based on the difference data between the current program or data already applied to the in-vehicle ECU and the new program or data to be applied this time. Or, data leakage can be prevented. Since the concealed program or data is generated based on the difference data, the communication cost and communication traffic for acquiring the concealed program or data can be reduced. Since the current program or data is stored in the volatile second storage unit, it is possible to prevent the current program or data from being erased when the power is shut off or the like and the current program or the like to leak. The new program or data generated by the decoded differential data and the current program or data is stored in the volatile second storage unit, so that the new program or data is prevented from leaking when the power is shut off, etc. be able to.

(8)本開示の一態様に係るプログラムは、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第1記憶部に記憶し、該第1記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する処理を実行させる。 (8) The program according to an aspect of the present disclosure acquires the program or data subjected to the concealment processing, stores the acquired program or data in the first storage unit, and stores the acquired program or data in the first storage unit Alternatively, the data is decoded, the decoded program or data is stored in the volatile second storage unit, and the processing of transmitting the decoded program or data stored in the second storage unit to the on-vehicle ECU is executed.

本態様にあたっては、コンピュータを、本開示の一態様の車載更新装置として機能させることができる。   In this aspect, the computer can function as the on-vehicle update device according to one aspect of the present disclosure.

(9)本開示の一態様に係るプログラム又はデータの更新方法は、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第1記憶部に記憶し、該第1記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する。 (9) A program or data updating method according to an aspect of the present disclosure acquires a program or data that has been concealed, stores the acquired program or data in a first storage unit, and stores the first storage unit. Decoding the program or data stored in the memory, storing the decoded program or data in the volatile second storage unit, and transmitting the decoded program or data stored in the second storage unit to the on-vehicle ECU .

本態様にあたっては、復号されたプログラム又はデータを揮発性の第2記憶部に記憶することによって、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータを確実に消去することによって、復号されたプログラムが漏洩することを防止することができる。   In this aspect, storing the decrypted program or data in the volatile second storage unit ensures the decrypted program or data even when the power is shut off and the update process is interrupted. Erasure can prevent the decrypted program from leaking.

[本発明の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
Details of the Embodiment of the Present Invention
The present invention will be specifically described based on the drawings showing the embodiments thereof. The on-vehicle updating device 2 according to the embodiment of the present disclosure will be described below with reference to the drawings. The present invention is not limited to these exemplifications, but is shown by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.

(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載更新システムSの構成を示す模式図である。車載更新システムSは、車両Cに搭載された車外通信装置1及び車載更新装置2を含み、車外ネットワークNを介して接続されたプログラム提供装置S1から取得したプログラム又はデータを、車両Cに搭載されている車載ECU3(Electronic Control Unit)に送信する。
(Embodiment 1)
Hereinafter, embodiments will be described based on the drawings. FIG. 1 is a schematic view showing the configuration of the in-vehicle update system S according to the first embodiment. The on-vehicle update system S includes the external communication device 1 and the on-vehicle update device 2 mounted on the vehicle C, and the program or data acquired from the program providing device S1 connected via the external network N is mounted on the vehicle C Send to the on-board ECU 3 (Electronic Control Unit).

プログラム提供装置S1は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータである。プログラム提供装置S1には、車載ECU3の製造メーカ等によって作成された当該車載ECU3を制御するためのプログラム又はデータが保存されている。当該プログラム又はデータは、後述のごとく車両Cに送信され、車両Cに搭載されている車載ECU3のプログラム又はデータを更新するために用いられる。   The program providing device S1 is, for example, a computer such as a server connected to an outside network N such as the Internet or a public network. The program providing device S1 stores a program or data for controlling the on-vehicle ECU 3 created by a manufacturer or the like of the on-vehicle ECU 3. The program or data is transmitted to the vehicle C as described later, and is used to update the program or data of the in-vehicle ECU 3 mounted on the vehicle C.

これら更新用のプログラム又はデータは、秘匿化処理が施されている。秘匿化処理とは、例えば、暗号化によるものである。又は、既に車両Cに搭載された車載ECU3に適用されているプログラム又はデータ(現プログラム等)と、今回更新するためのプログラム又はデータ(新プログラム)との差分データによって構成することにより、更新用のプログラム又はデータを秘匿化処理するものであってもよい。なお、当該差分データ自体を暗号化したものであってもよい。   The program or data for update is subjected to concealment processing. The concealing process is, for example, encryption. Alternatively, for updating, by using the difference data between the program or data (current program etc.) already applied to the in-vehicle ECU 3 already mounted on the vehicle C and the program or data to be updated this time (new program) The program or data of may be concealed. The difference data itself may be encrypted.

車両Cには、車外通信装置1、車載更新装置2、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1、車載更新装置2及び車載ECU3は、車内LAN4によって通信可能に接続されている。   The vehicle C is equipped with the outside communication apparatus 1, the in-vehicle updating device 2, and a plurality of in-vehicle ECUs 3 for controlling various in-vehicle devices. The out-of-vehicle communication device 1, the in-vehicle update device 2, and the in-vehicle ECU 3 are communicably connected by the in-vehicle LAN 4.

図2は、実施形態1に係る車載更新装置2等の構成を示すブロック図である。車載更新装置2は、制御部20、第1記憶部21、第2記憶部22及び車内通信部23を含む。車載更新装置2は、車外通信装置1が無線通信によってプログラム提供装置S1から受信したプログラム又はデータを、車内LAN4を介して取得し、当該プログラム又はデータを所定の車載ECU3に送信できるように構成されている。車載更新装置2は、例えば、制御系、安全系及びボディ系等の複数の車載ECU3の系統のセグメントを統括するセントラルゲートウェイ(CGW)である。又は、車載更新装置2は、車両C全体をコントロールするボディECUであってもよい。   FIG. 2 is a block diagram showing the configuration of the on-vehicle update device 2 and the like according to the first embodiment. The on-vehicle update device 2 includes a control unit 20, a first storage unit 21, a second storage unit 22, and an in-vehicle communication unit 23. The in-vehicle updating device 2 is configured to acquire a program or data received from the program providing device S1 by wireless communication from the in-vehicle communication device 1 via the in-vehicle LAN 4 and transmit the program or data to a predetermined in-vehicle ECU 3 ing. The in-vehicle updating device 2 is, for example, a central gateway (CGW) that controls segments of a system of a plurality of in-vehicle ECUs 3 such as a control system, a safety system, and a body system. Alternatively, the on-vehicle update device 2 may be a body ECU that controls the entire vehicle C.

制御部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、第1記憶部21に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部20は、制御プログラムを実行することによって、復号部、消去部として機能する。制御部20は、車外通信装置1又は車内通信部23を介することによって、取得部として機能する。制御部20は、車内通信部23を介することによって、送信部として機能する。   The control unit 20 is configured by a CPU (Central Processing Unit) or an MPU (Micro Processing Unit) or the like, and reads and executes control programs and data stored in advance in the first storage unit 21 to perform various controls. Processing and arithmetic processing and the like are performed. The control unit 20 functions as a decoding unit and an erasing unit by executing a control program. The control unit 20 functions as an acquisition unit via the outside-vehicle communication device 1 or the in-vehicle communication unit 23. The control unit 20 functions as a transmission unit through the in-vehicle communication unit 23.

第1記憶部21は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)又はフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。第1記憶部21に記憶された制御プログラムは、車載更新装置2が読み取り可能な記録媒体から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、第1記憶部21に記憶させたものであってもよい。第1記憶部21には、暗号化等により秘匿化処理されたプログラム又はデータを復号するための復号鍵が記憶されている。第1記憶部21には、取得したプログラム又はデータの正当性を確認するため、例えば、所定のハッシュ関数等が記憶されてあってもよい。詳細は後述するが、第1記憶部21には、取得した秘匿化処理されたプログラム又はデータが記憶される。   The first storage unit 21 is composed of a non-volatile memory element such as a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable ROM) or a flash memory, and stores in advance a control program and data to be referred to during processing. is there. The control program stored in the first storage unit 21 may store the control program read from the recording medium readable by the on-vehicle updating device 2. Alternatively, the control program may be downloaded from an external computer (not shown) connected to a communication network (not shown) and stored in the first storage unit 21. The first storage unit 21 stores a decryption key for decrypting the program or data concealed by encryption or the like. For example, a predetermined hash function or the like may be stored in the first storage unit 21 in order to confirm the legitimacy of the acquired program or data. Although the details will be described later, the first storage unit 21 stores the acquired concealed program or data.

第2記憶部22は、RAM(Random access memory)等の揮発性のメモリ素子により構成してあり、制御部20が制御処理及び演算処理等を行う際のワーク領域として用いられる。詳細は後述するが、第2記憶部22には、復号したプログラム又はデータが一時的に記憶される。   The second storage unit 22 is configured by a volatile memory element such as a random access memory (RAM), and is used as a work area when the control unit 20 performs control processing, arithmetic processing, and the like. Although the details will be described later, the decrypted program or data is temporarily stored in the second storage unit 22.

車内通信部23は、CAN(Control Area Network)、LIN(Local Interconnect Network)又はEthernet(登録商標)等の通信プロトコルを用いた入出力インタフェースであり、車内LAN4に接続されている車外通信装置1、車載ECU3等の車載機器と相互に通信する。   The in-vehicle communication unit 23 is an input / output interface using a communication protocol such as CAN (Control Area Network), LIN (Local Interconnect Network) or Ethernet (registered trademark), and the outside-vehicle communication device 1 connected to the in-vehicle LAN 4 It communicates with on-vehicle devices such as on-vehicle ECU 3 mutually.

なお、制御部20、第1記憶部21及び第2記憶部22は、CGW及びボディECU等の複数の車載機器に分散して構成され、相互に通信して連携又は協働することによって、機能するものであってもよい。   The control unit 20, the first storage unit 21 and the second storage unit 22 are distributed to a plurality of in-vehicle devices such as a CGW and a body ECU, and function by communicating with each other and cooperating or cooperating. It may be

車外通信装置1は、車外通信部11及び車内通信部12を含む。車外通信部11は、3G、LTE、4G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための入出力インタフェースであり、公衆回線網又はインターネット等の外部ネットワークを介して、プログラム提供装置S1との通信を行う。   The outside-of-vehicle communication device 1 includes an outside-of-vehicle communication unit 11 and an in-vehicle communication unit 12. The external communication unit 11 is an input / output interface for wireless communication using a mobile communication protocol such as 3G, LTE, 4G or WiFi, and provides a program via an external network such as a public network or the Internet. It communicates with the device S1.

車内通信部12は、車載更新装置2の車内通信部23と同様の機能を有し、車内LAN4を介して車載更新装置2等と相互に通信する。   The in-vehicle communication unit 12 has the same function as the in-vehicle communication unit 23 of the in-vehicle updating device 2 and mutually communicates with the in-vehicle updating device 2 and the like via the in-vehicle LAN 4.

本実施形態では、車外通信装置1は、車載更新装置2と別装置とし、車内LAN4によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載更新装置2の一構成部位として、車載更新装置2に内蔵されるものであってもよい。   In the present embodiment, the out-vehicle communication device 1 is a separate device from the in-vehicle update device 2 and these devices are communicably connected by the in-vehicle LAN 4, but the present invention is not limited thereto. The out-of-vehicle communication device 1 may be built in the in-vehicle update device 2 as a component of the in-vehicle update device 2.

車載ECU3は、記憶部31、制御部30及び車内通信部32を含む。記憶部31は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)又はフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、当該車載ECU3のプログラム又はデータが記憶されている。このプログラム又はデータが、車載更新装置2によって更新される対象である。   The in-vehicle ECU 3 includes a storage unit 31, a control unit 30, and an in-vehicle communication unit 32. The storage unit 31 is configured by a non-volatile memory element such as a ROM (Read Only Memory), an EEPROM (Electrically Erasable Programmable ROM), or a flash memory, and stores the program or data of the on-vehicle ECU 3. This program or data is an object to be updated by the on-vehicle update device 2.

制御部30は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部31に予め記憶されたプログラム及びデータを読み出して実行して制御処理等を行い、当該車載ECU3を含む車載機器又はアクチュエータ等が制御される。詳細は後述するが、制御部30は、車載更新装置2から送信されたプログラム又はデータを取得し、記憶部31に記憶されている現プログラム又はデータから、当該取得したプログラム又はデータに更新する処理を行う。   The control unit 30 is configured by a CPU (Central Processing Unit) or MPU (Micro Processing Unit) or the like, reads out and executes programs and data stored in advance in the storage unit 31 and performs control processing etc. An on-vehicle device including the ECU 3 or an actuator is controlled. Although the details will be described later, the control unit 30 acquires the program or data transmitted from the on-vehicle updating device 2 and updates the program or data from the current program or data stored in the storage unit 31 to the acquired program or data. I do.

車内通信部32は、車載更新装置2の車内通信部23と同様の機能を有し、車内LAN4を介して車載更新装置2等と相互に通信する。   The in-vehicle communication unit 32 has the same function as the in-vehicle communication unit 23 of the in-vehicle updating device 2 and mutually communicates with the in-vehicle updating device 2 and the like via the in-vehicle LAN 4.

図3は、実施形態1に係る制御部20の処理を示すフローチャートである。車載更新装置2の制御部20は、車外通信装置1を介してプログラム提供装置S1と定期的又は非定期的に通信し、更新すべきプログラム又はデータ(プログラム等)がプログラム提供装置S1に用意されている場合、以下の処理を開始する。又は、制御部20は、車外通信装置1を介して取得したプログラム提供装置S1からの更新通知に基づいて、以下の処理を開始してもよい。   FIG. 3 is a flowchart showing processing of the control unit 20 according to the first embodiment. The control unit 20 of the in-vehicle updating device 2 periodically or non-periodically communicates with the program providing device S1 via the external communication device 1, and the program or data (program etc.) to be updated is prepared in the program providing device S1. If it is, start the following process. Alternatively, the control unit 20 may start the following processing based on the update notification from the program providing device S1 acquired via the external communication device 1.

制御部20は、プログラム提供装置S1から送信された秘匿化されたプログラム等(秘匿化プログラム等)を、車外通信装置1を介して取得する(S11)。制御部20は、取得した秘匿化プログラム等を不揮発性の第1記憶部21に記憶する(S12)。秘匿化プログラム等は、暗号化されているので、プログラム等の内容自体を参照することが不可な状態で第1記憶部21に記憶されている。   The control unit 20 acquires the concealed program and the like (the concealment program and the like) transmitted from the program providing device S1 via the outside-vehicle communication device 1 (S11). The control unit 20 stores the obtained concealment program and the like in the non-volatile first storage unit 21 (S12). Since the concealment program and the like are encrypted, they are stored in the first storage unit 21 in a state in which the content itself of the program and the like can not be referred to.

制御部20は、第1記憶部21に記憶した秘匿化プログラム等を読取り、当該秘匿化プログラム等を復号する(S13)。秘匿化プログラム等の暗号化は、例えば共通鍵方式、公開鍵方式等によって行われている。制御部20は、第1記憶部21に記憶されている共通鍵又は公開鍵に対応する秘密鍵を用いて、秘匿化プログラム等を復号する処理を行う。制御部20による復号の演算処理は、揮発性の第2記憶部22の記憶領域において、行われる。すなわち、制御部20は、復号の演算処理を行うためのワーク領域として、第2記憶部22の記憶領域を用いる。   The control unit 20 reads the concealment program and the like stored in the first storage unit 21, and decodes the concealment program and the like (S13). The encryption of the concealment program or the like is performed by, for example, a common key method, a public key method, or the like. The control unit 20 performs a process of decoding a concealment program or the like using a secret key corresponding to the common key or the public key stored in the first storage unit 21. The arithmetic processing of decoding by the control unit 20 is performed in the storage area of the volatile second storage unit 22. That is, the control unit 20 uses the storage area of the second storage unit 22 as a work area for performing the arithmetic processing of decoding.

制御部20は、秘匿化プログラム等の復号を完了させ、復号したプログラム等、すなわち平文となったプログラム等を第2記憶部22に記憶する(S14)。制御部20は、第2記憶部22に記憶されている復号したプログラム等を読み出し、車内LAN4を介して、更新対象である所定の車載ECU3に送信する(S15)。   The control unit 20 completes the decryption of the concealment program and the like, and stores the decrypted program and the like, that is, the program in the plaintext, and the like in the second storage unit 22 (S14). The control unit 20 reads the decrypted program and the like stored in the second storage unit 22 and transmits the read program and the like to the predetermined on-vehicle ECU 3 to be updated via the in-vehicle LAN 4 (S15).

制御部20は、車載ECU3への送信の完了後、復号したプログラム等を第2記憶部22から消去し(S16)、更に秘匿化プログラム等を第1記憶部21から消去する(S17)。なお、復号したプログラム等及び秘匿化プログラム等の消去の順番は、これに限定されず、先に秘匿化プログラム等を消去するものであってもよい。又は、サブプロセスを発生させ、復号したプログラム等及び秘匿化プログラム等を同時に消去するようにしてあってもよい。   After completion of the transmission to the on-vehicle ECU 3, the control unit 20 deletes the decrypted program and the like from the second storage unit 22 (S16), and further deletes the concealment program and the like from the first storage unit 21 (S17). The order of deletion of the decrypted program and the like and the concealment program and the like is not limited to this, and the concealment program and the like may be deleted first. Alternatively, a sub process may be generated to simultaneously delete the decrypted program and the like and the concealment program and the like.

本実施形態において秘匿化プログラム等は、無線通信によってプログラム提供装置S1から受信し、取得するとしたがこれに限定されず、例えば、車載更新装置2と、更新用のプログラムが保存された外部装置とを有線接続して取得するものであってもよい。   In the present embodiment, the concealment program and the like are received from the program providing device S1 by wireless communication and acquired, but the present invention is not limited to this. For example, the in-vehicle update device 2 and an external device in which an update program is stored May be obtained by wired connection.

復号したプログラム等は、揮発性の第2記憶部22に記憶してあるため、車載更新装置2によるプログラムの更新処理の途中に電源が遮断される等の中断が発生した場合、第2記憶部22に記憶されている復号したプログラム等は消去される。従って、このような中断が発生した場合であっても、復号したプログラム等が漏洩することを防止することができる。   The decrypted program and the like are stored in the volatile second storage unit 22. Therefore, when interruption such as interruption of the power occurs during the program update processing by the on-vehicle updating device 2, the second storage unit The decrypted program stored in 22 is erased. Therefore, even if such an interruption occurs, it is possible to prevent leakage of the decrypted program or the like.

制御部20による復号の演算処理は、揮発性の第2記憶部22上の記憶領域をワーク領域として行われる。従って、復号の演算処理を行うための一時的なデータ、例えば一部が復号化されたプログラムの部位についても、第2記憶部22のみに記憶することにより、電源が遮断される等の中断が発生した場合は消去される。よって、復号したプログラムの一部であっても、これが漏洩することを防止することができる。   The arithmetic processing of decoding by the control unit 20 is performed with the storage area on the volatile second storage unit 22 as a work area. Accordingly, temporary data for performing decoding arithmetic processing, for example, a part of a program that has been partially decoded, is stored only in the second storage unit 22 to interrupt power interruption or the like. If it occurs, it will be deleted. Therefore, even a part of the decrypted program can be prevented from leaking.

プログラム提供装置S1から送信された秘匿化プログラム等は、不揮発性の第1記憶部21に記憶してあるので、プログラムの更新処理が中断された場合であっても、再度プログラム提供装置S1から秘匿化プログラム等を受信することを不要とし、通信コスト及び更新するための処理時間を削減することができる。   Since the concealment program and the like transmitted from the program providing device S1 are stored in the non-volatile first storage unit 21, the concealment program is again concealed from the program providing device S1 even when the program update process is interrupted. It is possible to eliminate the need to receive a communication program and the like, and to reduce the communication cost and the processing time for updating.

図4は、実施形態2に係る制御部20の処理を示すフローチャートである。実施形態2に係る車載更新装置2の制御部20は、秘匿化プログラム等を復号する際に、当該プログラムの正当性を確認する処理を行う点で、実施形態1と異なる。以下では、主にかかる相違点を説明する。S21からS22の処理は、実施形態1のS11からS12の処理と同様であるため説明を省略する。   FIG. 4 is a flowchart showing processing of the control unit 20 according to the second embodiment. The control unit 20 of the in-vehicle updating device 2 according to the second embodiment is different from that of the first embodiment in that, when decoding the concealment program or the like, the control unit 20 performs processing to confirm the legitimacy of the program. The following mainly describes the differences. Since the processes of S21 to S22 are the same as the processes of S11 to S12 of the first embodiment, the description will be omitted.

制御部20は、第1記憶部21に記憶した秘匿化プログラム等を読取り、ブロック単位で復号する(S23)。ブロックとは、例えば、所定のデータサイズ毎に分割されたデータである。又は、制御部20は、復号化するにあたり、秘匿化プログラム等におけるデータ列に含まれるセパレータを抽出し、当該セパレータ単位で、秘匿化プログラム等を分割してブロックとしてもよい。   The control unit 20 reads the concealment program and the like stored in the first storage unit 21 and decodes them in block units (S23). A block is, for example, data divided into predetermined data sizes. Alternatively, upon decoding, the control unit 20 may extract a separator included in a data string in a concealment program or the like, and divide the concealment program or the like into blocks by the unit of the separator.

制御部20は、復号したブロックに含まれる確認用データを抽出する(S24)。確認用データとは、例えば、当該ブロックに含まれるプログラムの一部のデータに対し、当該データの正当性を示すパリティビット等である。又は、確認用データは、当該ブロックに含まれるハッシュ値であってもよい。   The control unit 20 extracts confirmation data included in the decoded block (S24). The confirmation data is, for example, a parity bit or the like indicating the legitimacy of the data with respect to part of the data of the program included in the block. Alternatively, the confirmation data may be a hash value included in the block.

制御部20は、抽出した確認用データに基づき、復号したブロックに含まれるプログラムの正当性を確認する(S25)。制御部20は、例えばパリティビットに基づいて、プログラムの正当性を確認してもよい。または、制御部20は、ブロックから抽出したハッシュ値と、第1記憶部21に記憶してあるハッシュ関数を用いて導出したハッシュ値とを比較することによって、正当性を確認してもよい。 The control unit 20 confirms the legitimacy of the program included in the decoded block based on the extracted confirmation data (S25). The control unit 20 may confirm the correctness of the program based on, for example, parity bits. Alternatively, the control unit 20 may confirm the legitimacy by comparing the hash value extracted from the block with the hash value derived using the hash function stored in the first storage unit 21.

正当性に問題がないと判定した場合(S26:YES)、制御部20は、今回処理したブロックが最後のブロックかを判定し(S27)、最後のブロックでない場合(S27:NO)、再度S23の処理を実行すべくループ処理を行う。   If it is determined that there is no problem in the legitimacy (S26: YES), the control unit 20 determines whether the block processed this time is the last block (S27), and if it is not the last block (S27: NO), S23 again. Perform loop processing to execute the processing of

最後のブロックである場合(S27:YES)、制御部20は、復号したプログラム等を第2記憶に記憶する(S28)。以降、S29からS292の処理は、実施形態1のS15からS17の処理と同様であるため説明を省略する。   If it is the last block (S27: YES), the control unit 20 stores the decrypted program and the like in the second storage (S28). Since the processes of S29 to S292 are the same as the processes of S15 to S17 of the first embodiment, the description will be omitted.

正当性に問題があると判定した場合(S26:YES)、制御部20は、車外通信装置1を介して、プログラム提供装置S1に通知する(S261)。また制御部20は、車両Cに設けられた報知部(図示せず)を介して、車両Cの運転者等に報知してもよい。制御部20は、当該通知を行った後、秘匿化プログラム等を第1記憶部21から消去する(S292)。   If it is determined that there is a problem with the legitimacy (S26: YES), the control unit 20 notifies the program providing device S1 via the external communication device 1 (S261). Further, the control unit 20 may notify the driver or the like of the vehicle C via a notification unit (not shown) provided in the vehicle C. After performing the notification, the control unit 20 deletes the concealment program and the like from the first storage unit 21 (S292).

本実施形態において、秘匿化プログラム等をブロック単位で復号し、正当性を確認するものとしたがこれに限定されない。制御部20は、秘匿化プログラム等を復号し、復号したプログラム等の全体に対し、当該プログラム等の正当性を確認するものであってもよい。   In the present embodiment, the concealment program and the like are decoded in block units to check the legitimacy, but the present invention is not limited to this. The control unit 20 may decrypt the concealment program and the like, and confirm the legitimacy of the program or the like for the entire decrypted program or the like.

本実施形態において、正当性の確認に問題があった場合は、更新処理を即座に中断してプログラム提供装置S1に通知するとしたが、これに限定されない。制御部20は、正当性の確認に問題があった場合、再度、秘匿化プログラム等を取得する、又は再度、秘匿化プログラム等を復号する等の処理を所定回数繰り返し、その上で正当性の確認における問題が継続した場合、更新処理を中断してプログラム提供装置S1に通知するものであってもよい。   In the present embodiment, when there is a problem in the verification of the legitimacy, the update processing is immediately interrupted to notify the program providing device S1, but the present invention is not limited to this. When there is a problem in the verification of the legitimacy, the control unit 20 repeats the process of acquiring the concealment program etc. again or decrypting the concealment program etc. again a predetermined number of times, If the problem in the confirmation continues, the updating process may be interrupted to notify the program providing device S1.

制御部20は、取得した秘匿化プログラム等を復号する際に正当性を確認するので、復号したプログラム等の完全性検証を行うことができる。   Since the control unit 20 confirms the legitimacy when decoding the obtained concealed program and the like, the control unit 20 can perform integrity verification of the decoded program and the like.

正当性の確認において問題があった場合、取得した秘匿化プログラム等が改ざんされている等が懸念されるところ、更新処理を中断し、その旨をプログラム提供装置S1等に通知することによって、更新処理の安全性を向上することができる。   If there is a problem in the verification of the legitimacy, there is a concern that the acquired concealment program etc. has been falsified, etc., the update processing is interrupted, and the effect is notified to the program provision device S1 etc. Processing safety can be improved.

復号及びプログラム等の正当性を確認する演算処理は、揮発性の第2記憶部22上で行われるため、電源が遮断される等の中断が発生した場合、第2記憶部22上のプログラム等は消去され、これが漏洩することを防止することができる。   Since the decryption and the arithmetic processing for confirming the legitimacy of the program and the like are performed on the volatile second storage unit 22, the program on the second storage unit 22 and the like is performed when an interruption such as a power interruption occurs. Can be eliminated to prevent it from leaking.

図5は、実施形態3に係る制御部20の処理を示すフローチャートである。実施形態3に係る車載更新装置2の制御部20は、車載ECU3に送信するプログラム等(新プログラム等)を、取得し復号した差分データ、及び当該車載ECU3の現プログラム等に基づいて生成する処理を行う点で、実施形態1と異なる。以下では、主にかかる相違点を説明する。   FIG. 5 is a flowchart showing processing of the control unit 20 according to the third embodiment. The control unit 20 of the in-vehicle updating device 2 according to the third embodiment generates a program (such as a new program) to be transmitted to the in-vehicle ECU 3 based on the acquired differential data and the current program of the in-vehicle ECU 3 The second embodiment differs from the first embodiment in that The following mainly describes the differences.

制御部20は、プログラム提供装置S1から送信された秘匿化されたプログラム等(秘匿化プログラム等)を、車外通信装置1を介して取得する(S31)。本実施形態における秘匿化プログラム等は、既に車載ECU3に適用されている現状のプログラム又はデータ(現プログラム等)と、今回の更新によって車載ECU3に適用する新プログラム又はデータ(新プログラム等)との差分データを暗号化したものである。   The control unit 20 acquires the concealed program and the like (the concealment program and the like) transmitted from the program providing device S1 via the outside-vehicle communication device 1 (S31). The concealment program and the like in the present embodiment are the current program or data (current program or the like) already applied to the in-vehicle ECU 3 and the new program or data (new program or the like) to be applied to the in-vehicle ECU 3 by this update. The difference data is encrypted.

制御部20は、取得した秘匿化プログラム等を第1記憶部21に記憶する(S32)。制御部20は、第1記憶部21に記憶した秘匿化プログラム等を読取り、当該秘匿化プログラム等を復号する(S33)。制御部20は、当該秘匿化プログラム等を復号することによって、平文となった差分データを、第2記憶部22に記憶する(S34)。   The control unit 20 stores the obtained concealment program and the like in the first storage unit 21 (S32). The control unit 20 reads the concealment program and the like stored in the first storage unit 21, and decodes the concealment program and the like (S33). The control unit 20 stores, in the second storage unit 22, the difference data that has become plaintext by decrypting the concealment program or the like (S34).

制御部20は、更新対象の車載ECU3から、当該車載ECU3の記憶部31に記憶されており、現状適用されているプログラム又はデータ(現プログラム等)を取得し、第2記憶部22に記憶する(S35)。   The control unit 20 is stored in the storage unit 31 of the on-vehicle ECU 3 from the on-vehicle ECU 3 to be updated, acquires a currently applied program or data (current program etc.), and stores it in the second storage unit 22. (S35).

制御部20は、第2記憶部22に記憶されている差分データ及び現プログラム等から、今回の更新によって車載ECU3に適用するためのプログラム又はデータ(新プログラム等)を生成し、当該新プログラム等を第2記憶部22に記憶する(S36)。制御部20は、第2記憶部22に記憶されている新プログラム等を読み出し、車内LAN4を介して、所定の車載ECU3に送信する(S37)。   The control unit 20 generates a program or data (such as a new program) to be applied to the on-vehicle ECU 3 from the difference data stored in the second storage unit 22 and the current program and the like by the current update. Are stored in the second storage unit 22 (S36). The control unit 20 reads the new program and the like stored in the second storage unit 22 and transmits the read new program and the like to the predetermined on-vehicle ECU 3 via the in-vehicle LAN 4 (S37).

制御部20は、車載ECU3への送信の完了後、差分データ、現プログラム等及び新プログラム等を第2記憶部22から消去し(S38)、更に秘匿化プログラム等を第1記憶部21から消去する(S39)。   After completing the transmission to the on-vehicle ECU 3, the control unit 20 deletes the difference data, the current program, etc. and the new program, etc. from the second storage unit 22 (S38), and further deletes the concealment program etc. from the first storage unit 21. (S39).

本実施形態において、秘匿化プログラム等は差分データをさらに暗号化したものとしているが、これに限定されない。秘匿化プログラム等は、平文の差分データであってもよい。この場合、秘匿化プログラム等を復号する処理が不要となることは、言うまでもない。   In the present embodiment, the concealment program and the like further encrypt differential data, but the present invention is not limited to this. The concealment program or the like may be plaintext differential data. In this case, it goes without saying that the process of decoding the concealment program or the like is unnecessary.

秘匿化プログラム等は、現プログラム等と新プログラム等との差分データであるため、万が一、当該差分データが漏洩した場合であっても、車載ECU3に適用するプログラムそのものを生成することができないため、無線通信を用いたプログラムの更新処理における安全性を向上させることができる。   Since the concealment program etc. is difference data between the current program etc. and the new program etc., the program itself to be applied to the in-vehicle ECU 3 can not be generated even if the difference data leaks by any chance. It is possible to improve the security of program update processing using wireless communication.

復号された差分データ、現プログラム等及び新プログラム等は、揮発性の第2記憶部22に記憶されるため、更新処理の途中に電源が遮断される等の中断が発生した場合、第2記憶部22に記憶されている差分データ、現プログラム及び新プログラムは消去される。従って、このような中断が発生した場合であっても、これらプログラム等が漏洩することを防止することができる。   The decoded differential data, the current program, etc., and the new program are stored in the volatile second storage unit 22. Therefore, when interruption such as power interruption occurs during the updating process, the second memory is stored. The difference data, the current program and the new program stored in the unit 22 are erased. Therefore, even if such an interruption occurs, it is possible to prevent the leakage of these programs and the like.

今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is indicated not by the meaning described above but by the claims, and is intended to include all modifications within the meaning and scope equivalent to the claims.

C 車両
S 車載更新システム
S1 プログラム提供装置(サーバ)
1 車外通信装置
11 車外通信部
12 車内通信部
2 車載更新装置(CGW)
20 制御部(復号部、取得部、送信部、消去部)
21 第1記憶部
22 第2記憶部
23 車内通信部
24 記録媒体
3 車載ECU
30 制御部
31 記憶部
32 車内通信部
4 車内LAN
N 車外ネットワーク
C vehicle S on-board update system S1 program provision device (server)
1 out-of-vehicle communication device 11 out-of-vehicle communication unit 12 in-vehicle communication unit 2 in-vehicle update device (CGW)
20 control unit (decoding unit, acquisition unit, transmission unit, deletion unit)
21 first storage unit 22 second storage unit 23 in-vehicle communication unit 24 recording medium 3 in-vehicle ECU
30 control unit 31 storage unit 32 in-vehicle communication unit 4 in-vehicle LAN
N outside network

Claims (9)

車載ECUのプログラム又はデータを更新するための処理を行う車載更新装置であって、
秘匿化処理されたプログラム又はデータを取得する取得部と、
前記取得部が取得した前記プログラム又はデータを記憶する第1記憶部と、
該第1記憶部から読み出した前記プログラム又はデータを復号する復号部と、
復号されたプログラム又はデータを記憶する揮発性の第2記憶部と、
該第2記憶部に記憶した前記復号されたプログラム又はデータを前記車載ECUに送信する送信部と
を備える車載更新装置。
An on-vehicle updating device that performs processing for updating a program or data of an on-vehicle ECU, comprising:
An acquisition unit for acquiring the program or data subjected to the concealment processing;
A first storage unit that stores the program or data acquired by the acquisition unit;
A decoding unit that decodes the program or data read from the first storage unit;
A volatile second storage unit for storing the decrypted program or data;
A transmitting unit that transmits the decoded program or data stored in the second storage unit to the on-vehicle ECU.
前記復号されたプログラム又はデータが前記車載ECUに送信された後、該復号されたプログラム又はデータを前記第2記憶部から消去する消去部
を備える請求項1に記載の車載更新装置。
The in-vehicle update device according to claim 1, further comprising: an erasing unit that erases the decoded program or data from the second storage unit after the decoded program or data is transmitted to the in-vehicle ECU.
前記第1記憶部は、不揮発性である
請求項1又は請求項2に記載の車載更新装置。
The on-vehicle update device according to claim 1, wherein the first storage unit is non-volatile.
前記秘匿化処理されたプログラム又はデータは、該プログラム又はデータの正当性を確認するための確認用データを含み、
前記復号部は、該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認する
請求項1から請求項3のいずれか一つに記載の車載更新装置。
The concealed program or data includes confirmation data for confirming the legitimacy of the program or data,
The in-vehicle updating device according to any one of claims 1 to 3, wherein the decoding unit confirms the legitimacy of the program or data based on the confirmation data when decoding the program or data. .
前記秘匿化処理は、暗号鍵による暗号化処理によるものであり、
前記復号部は、暗号鍵に対応する復号鍵により、前記秘匿化処理されたプログラム又はデータを復号する
請求項1から請求項4のいずれか一つに記載の車載更新装置。
The concealment process is an encryption process using an encryption key,
The on-vehicle update device according to any one of claims 1 to 4, wherein the decryption unit decrypts the concealed program or data using a decryption key corresponding to an encryption key.
前記復号されたプログラム又はデータが前記車載ECUに送信された後、前記秘匿化処理されたプログラム又はデータを前記第1記憶部から消去する消去部
を備える
請求項1から請求項5のいずれか一つに記載の車載更新装置。
The erasing unit further comprising: an erasing unit that erases the concealed program or data from the first storage unit after the decoded program or data is transmitted to the on-vehicle ECU. On-board updating device described in
前記秘匿化処理されたプログラム又はデータは、前記車載ECUに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されており、
前記取得部は、更に前記車載ECUから現プログラム又はデータを取得し、
前記復号部は、前記秘匿化処理されたプログラム又はデータを復号して差分データを生成し、生成した該差分データと、前記現プログラム又はデータとに基づいて、前記新プログラム又はデータを生成し、
前記現プログラム又はデータ、及び生成された前記新プログラム又はデータは、前記第2記憶部に記憶されており、
前記送信部は、前記第2記憶部に記憶された前記新プログラム又はデータを、前記復号されたプログラム又はデータに換えて前記車載ECUに送信する
請求項1から請求項6のいずれか一つに記載の車載更新装置。
The concealed program or data is generated based on difference data between a current program or data already applied to the in-vehicle ECU and a new program or data to be applied this time,
The acquisition unit further acquires a current program or data from the in-vehicle ECU,
The decoding unit decodes the concealed program or data to generate difference data, and generates the new program or data based on the generated difference data and the current program or data.
The current program or data and the generated new program or data are stored in the second storage unit,
The transmission unit is configured to transmit the new program or data stored in the second storage unit to the in-vehicle ECU instead of the decoded program or data. In-vehicle updating device described.
コンピュータに、
秘匿化処理されたプログラム又はデータを取得し、
取得した前記プログラム又はデータを第1記憶部に記憶し、
該第1記憶部に記憶した前記プログラム又はデータを復号し、
復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、
該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する
処理を実行させるプログラム。
On the computer
Get the program or data that has been concealed
Storing the acquired program or data in the first storage unit;
Decrypting the program or data stored in the first storage unit;
Storing the decrypted program or data in the volatile second storage;
A program for executing a process of transmitting the decoded program or data stored in the second storage unit to an onboard ECU.
秘匿化処理されたプログラム又はデータを取得し、
取得した前記プログラム又はデータを第1記憶部に記憶し、
該第1記憶部に記憶した前記プログラム又はデータを復号し、
復号されたプログラム又はデータを揮発性の第2記憶部に記憶し、
該第2記憶部に記憶した前記復号されたプログラム又はデータを車載ECUに送信する
プログラム又はデータの更新方法。
Get the program or data that has been concealed
Storing the acquired program or data in the first storage unit;
Decrypting the program or data stored in the first storage unit;
Storing the decrypted program or data in the volatile second storage;
A program or data updating method for transmitting the decoded program or data stored in the second storage unit to an onboard ECU.
JP2017237192A 2017-12-11 2017-12-11 In-vehicle updating apparatus, program, and method of updating program or data Pending JP2019105946A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017237192A JP2019105946A (en) 2017-12-11 2017-12-11 In-vehicle updating apparatus, program, and method of updating program or data
PCT/JP2018/044112 WO2019116922A1 (en) 2017-12-11 2018-11-30 Onboard updating device, program, and method for updating program or data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017237192A JP2019105946A (en) 2017-12-11 2017-12-11 In-vehicle updating apparatus, program, and method of updating program or data

Publications (1)

Publication Number Publication Date
JP2019105946A true JP2019105946A (en) 2019-06-27

Family

ID=66819212

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017237192A Pending JP2019105946A (en) 2017-12-11 2017-12-11 In-vehicle updating apparatus, program, and method of updating program or data

Country Status (2)

Country Link
JP (1) JP2019105946A (en)
WO (1) WO2019116922A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056655A (en) * 2019-09-27 2021-04-08 株式会社アドヴィックス Vehicle reprogramming system
JP2021108419A (en) * 2019-12-27 2021-07-29 国立研究開発法人情報通信研究機構 Radio communication information update system and radio communication information update method
KR20220054148A (en) * 2020-10-23 2022-05-02 고려대학교 산학협력단 Technique for automotive software update by using white-box cryptography
JP7447864B2 (en) 2021-04-26 2024-03-12 トヨタ自動車株式会社 OTA master, method and program
JP7464013B2 (en) 2021-07-05 2024-04-09 トヨタ自動車株式会社 Center, OTA master, method, program, and vehicle

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3633300B2 (en) * 1998-08-13 2005-03-30 三菱電機株式会社 Program rewriting device
JP2004341745A (en) * 2003-05-14 2004-12-02 Sony Corp Encrypted data decryption method, data processor and program
JP4477947B2 (en) * 2004-06-17 2010-06-09 三菱電機株式会社 Differential application embedded device system and stored data changing method
JP6197000B2 (en) * 2015-07-03 2017-09-13 Kddi株式会社 System, vehicle, and software distribution processing method

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021056655A (en) * 2019-09-27 2021-04-08 株式会社アドヴィックス Vehicle reprogramming system
JP7423959B2 (en) 2019-09-27 2024-01-30 株式会社アドヴィックス vehicle reprogramming system
JP2021108419A (en) * 2019-12-27 2021-07-29 国立研究開発法人情報通信研究機構 Radio communication information update system and radio communication information update method
JP7427176B2 (en) 2019-12-27 2024-02-05 国立研究開発法人情報通信研究機構 Wireless communication information update system and wireless communication information update method
KR20220054148A (en) * 2020-10-23 2022-05-02 고려대학교 산학협력단 Technique for automotive software update by using white-box cryptography
KR102491866B1 (en) * 2020-10-23 2023-01-26 고려대학교 산학협력단 Technique for automotive software update by using white-box cryptography
JP7447864B2 (en) 2021-04-26 2024-03-12 トヨタ自動車株式会社 OTA master, method and program
JP7464013B2 (en) 2021-07-05 2024-04-09 トヨタ自動車株式会社 Center, OTA master, method, program, and vehicle

Also Published As

Publication number Publication date
WO2019116922A1 (en) 2019-06-20

Similar Documents

Publication Publication Date Title
WO2019116922A1 (en) Onboard updating device, program, and method for updating program or data
US10229547B2 (en) In-vehicle gateway device, storage control method, and computer program product
CN106658493B (en) Key management method, device and system
JP5310761B2 (en) Vehicle network system
JP6741559B2 (en) Evaluation device, evaluation system, and evaluation method
US10013365B2 (en) Method for programming a control unit of a motor vehicle
US10110377B2 (en) Communication system and key information sharing method
JP5783103B2 (en) VEHICLE DATA COMMUNICATION SYSTEM AND VEHICLE DATA COMMUNICATION DEVICE
US7921305B2 (en) Portable information terminal and data protecting method
JP5900007B2 (en) VEHICLE DATA COMMUNICATION AUTHENTICATION SYSTEM AND VEHICLE GATEWAY DEVICE
EP2827266B1 (en) Information distribution system, and server, on-board terminal and communication terminal used therefor
US20160378457A1 (en) Program update system and program update method
KR102450811B1 (en) System for key control for in-vehicle network
CN106850311B (en) Data security transmission system and method for firmware upgrade
WO2020179592A1 (en) Vehicle-mounted updating device, update processing program, and program updating method
US11516188B2 (en) Method and apparatus for operating a connected device using a secure element device
JP6192673B2 (en) Key management system, key management method, and computer program
US20190294826A1 (en) Information processing apparatus, information processing system, and information processing method
JP2009253783A (en) Mobile terminal, data protection method and program for data protection
JP6888122B2 (en) Semiconductor device, update data provision method, update data reception method and program
CN111614698A (en) Method and device for erasing terminal data
JP2013026964A (en) Information update device for vehicle and information update method for vehicle
CN111294795A (en) System for realizing in-vehicle communication
WO2020090418A1 (en) Electronic control device, and reprogramming method for electronic control device
US10949527B2 (en) Semiconductor device, authentication system, and authentication method