JP2017097851A - Relaying apparatus and method and program for relaying - Google Patents
Relaying apparatus and method and program for relaying Download PDFInfo
- Publication number
- JP2017097851A JP2017097851A JP2016183123A JP2016183123A JP2017097851A JP 2017097851 A JP2017097851 A JP 2017097851A JP 2016183123 A JP2016183123 A JP 2016183123A JP 2016183123 A JP2016183123 A JP 2016183123A JP 2017097851 A JP2017097851 A JP 2017097851A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- electronic control
- current
- new
- 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.)
- Granted
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
Description
本発明の実施形態は、中継装置、中継方法およびプログラムに関する。 Embodiments described herein relate generally to a relay device, a relay method, and a program.
車両は、例えばエンジン等を制御するための電子制御装置(ECU)を備える。電子制御装置は、ファームウェアを実行してエンジン等を制御する。また、近年、ネットワークに接続可能な車両も提案されている。このような車両に備えられた電子制御装置は、ネットワークを介してデータをダウンロードし、ファームウェアを更新することができる。このような電子制御装置は、ファームウェアの脆弱性が発見された場合、車両を工場等に戻すことなく、ファームウェアを更新することができる。 The vehicle includes an electronic control unit (ECU) for controlling, for example, an engine. The electronic control unit executes firmware and controls the engine and the like. In recent years, vehicles that can be connected to a network have also been proposed. An electronic control device provided in such a vehicle can download data and update firmware via a network. Such electronic control device can update the firmware without returning the vehicle to the factory or the like when the vulnerability of the firmware is found.
ところで、電子制御装置は、ファームウェアの更新が失敗した場合、現行のファームウェアをダウンロードしてメモリに書き込まなければならなかった。このため、電子制御装置は、ファームウェアの更新の失敗時において、再度、サーバ等にアクセスをしなければならなく、更新を開始してから再度実行可能な状態となるまでの期間が長くなってしまっていた。 By the way, when the firmware update fails, the electronic control device has to download the current firmware and write it in the memory. For this reason, the electronic control unit must access the server again when the firmware update fails, and the period from the start of the update to the state where it can be executed again becomes longer. It was.
また、このような問題を解決するため、電子制御装置は、データを一時的に記憶するバッファを2個備える場合がある。このような構成の電子制御装置は、ファームウェアの更新において、一方のバッファに現行のファームウェアを保持させておき、他方のバッファを用いて新しいファームウェアをダウンロードする。そして、電子制御装置は、ファームウェアの更新が失敗した場合には、一方のバッファに記憶させていた現行のファームウェアをメモリに書き戻す。しかしながら、このような構成の電子制御装置は、バッファを2個備えなくてはならないので、コストが高くなってしまっていた。また、車両が複数の電子制御装置を備える場合、それぞれの電子制御装置がバッファを2個備えなければならないので、車両の全体のコストが高くなってしまっていた。 In order to solve such a problem, the electronic control apparatus may include two buffers that temporarily store data. In updating the firmware, the electronic control device having such a configuration holds the current firmware in one buffer and downloads the new firmware using the other buffer. When the firmware update fails, the electronic control device writes the current firmware stored in the one buffer back to the memory. However, the electronic control device having such a configuration has to be provided with two buffers, which increases the cost. Further, when the vehicle includes a plurality of electronic control devices, each of the electronic control devices must include two buffers, which increases the overall cost of the vehicle.
本発明が解決しようとする課題は、電子制御装置のコストを小さくするとともに、電子制御装置に記憶されているデータの更新時間を短くすることにある。 The problem to be solved by the present invention is to reduce the cost of the electronic control device and shorten the update time of data stored in the electronic control device.
実施形態の中継装置は、電子制御装置に記憶されている現データを新データに更新させるための装置である。前記中継装置は、要求送信部と、応答受信部と、データ送信部とを備える。前記要求送信部は、前記電子制御装置を識別する装置識別子と、前記現データを識別するデータ識別子と、前記現データのバージョンを特定可能なバージョン特定情報とを含む取得要求を、提供装置に送信する。前記応答受信部は、前記取得要求に応じて、前記提供装置から前記新データを受信する。前記データ送信部は、前記提供装置から受信した前記新データを前記電子制御装置に送信して前記電子制御装置に記憶されている前記現データを前記新データに更新させ、更新処理が失敗した場合、前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる。 The relay device according to the embodiment is a device for updating current data stored in the electronic control device to new data. The relay device includes a request transmission unit, a response reception unit, and a data transmission unit. The request transmitting unit transmits an acquisition request including a device identifier for identifying the electronic control device, a data identifier for identifying the current data, and version specifying information capable of specifying a version of the current data to a providing device. To do. The response receiving unit receives the new data from the providing device in response to the acquisition request. The data transmitting unit transmits the new data received from the providing device to the electronic control device, causes the current data stored in the electronic control device to be updated to the new data, and an update process fails. Then, the current data is transmitted to the electronic control unit to cause the electronic control unit to restore the current data.
以下、図面を参照しながら実施形態に係るネットワークシステム10について詳細に説明する。ネットワークシステム10は、電子制御装置(ECU)のコストを小さくするとともに、電子制御装置に記憶されているデータの更新時間を短くすることを目的とする。
Hereinafter, the
図1は、実施形態に係るネットワークシステム10を示す図である。ネットワークシステム10は、提供装置20と、制御対象システム22とを備える。
FIG. 1 is a diagram illustrating a
提供装置20は、サーバ等の情報処理装置である。提供装置20は、インターネット等の外部ネットワークを介して制御対象システム22と接続される。
The providing
制御対象システム22は、少なくとも1つの電子制御装置24と、中継装置26とを有する。本実施形態において、制御対象システム22は、車両である。制御対象システム22は、車両に限らず、例えば、ロボットシステム、飛行機、または、ホームネットワークシステムであってもよい。
The
それぞれの電子制御装置24は、対象装置を制御する。対象装置は、制御対象システム22内に設けられる装置である。本実施形態において、対象装置は、例えば、エンジン等の車両の運動系の装置、燃料供給装置等のエネルギー系の装置、窓またはドア等のボディー系の装置、または、オーディオ装置等のエンターテイメント系の装置である。
Each
電子制御装置24は、ハードウェアとして、CPU(Central Processing Unit)等の処理ユニット、ROM(Read Only Memory)、RAM(Random Access Memory)、不揮発性記憶装置等の記憶ユニット、対象装置と接続するためのインターフェイスユニット、並びに、中継装置26と通信するための通信ユニット等を有する。
The
電子制御装置24の記憶ユニットは、ファームウェアを記憶する。ファームウェアは、CPU等の処理ユニットにより実行されるプログラム、または、CPU等の処理ユニットにより読み出されるデータである。電子制御装置24は、ファームウェアとハードウェアとが協働して対象装置を制御する。電子制御装置24は、1つのファームウェアを記憶していてもよいし、複数のファームウェアを記憶していてもよい。
The storage unit of the
また、電子制御装置24は、ファームウェアを更新する。電子制御装置24は、現在記憶しているファームウェアの実体データよりも新しいバージョンの実体データが、ファームウェアの開発者(開発者、開発グループまたは提供者等)により提供された場合、現在記憶しているファームウェアの実体データを、新しいバージョンの実体データに更新する。例えば、電子制御装置24は、現在記憶しているファームウェアの実体データを削除して新しいバージョンの実体データを新たに記憶したり、現在記憶しているファームウェアの実体データの記憶領域に新しいバージョンの実体データを上書きしたりすることにより、更新をする。電子制御装置24は、新しいファームウェアの実体データと更新指示とを外部から受け取った場合に、更新処理を実行する。
Further, the
ここで、本実施形態においては、記憶しているファームウェアの実体データを、“現FWデータ”と呼ぶ。また、記憶しているファームウェアの実体データよりも新しいバージョンの実体データを、“新FWデータ”と呼ぶ。 In this embodiment, the stored firmware entity data is referred to as “current FW data”. Also, entity data of a newer version than the stored firmware entity data is referred to as “new FW data”.
中継装置26は、それぞれの電子制御装置24に対して記憶している現FWデータを新FWデータに更新させるための装置である。中継装置26は、コンピュータ等と同様のハードウェア構成を有する情報処理装置である。中継装置26は、外部ネットワークを介して提供装置20と接続する。本実施形態においては制御対象システム22が車両であるので、中継装置26は、無線通信により外部ネットワークに接続する。
The
中継装置26は、内部ネットワークを介してそれぞれの電子制御装置24と接続する。外部ネットワークと内部ネットワークとは、中継装置26を介して接続されているが、直接には接続されていない。
The
図2は、中継装置26の機能構成を示す図である。中継装置26は、取得部30と、更新部32と、管理データ記憶部34と、共有鍵記憶部36と、一時記憶部38と、状態記憶部40とを備える。
FIG. 2 is a diagram illustrating a functional configuration of the
取得部30は、提供装置20から現FWデータおよび新FWデータ等を受信する。更新部32は、提供装置20から受信した新FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを新FWデータに更新させる。また、更新部32は、現FWデータを新FWデータに更新する更新処理が失敗した場合、提供装置20から受信した現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。
The
管理データ記憶部34は、それぞれの電子制御装置24に記憶されている現FWデータに関する管理データを記憶する。共有鍵記憶部36は、現FWデータおよび新FWデータが正当であるかを検証するための共有鍵データを含む鍵情報を記憶する。共有鍵データは、ファームウェアの開発者との間で共有され、第三者には秘匿される。一時記憶部38は、取得部30が受信した現FWデータおよび新FWデータ等を含む取得情報を記憶する。状態記憶部40は、電子制御装置24の状態を示す状態情報を記憶する。
The management
図3は、管理データ記憶部34に記憶される管理データの内容を示す図である。管理データ記憶部34は、制御対象システム22が備えるそれぞれの電子制御装置24に記憶されたそれぞれのファームウェアについて、図3に示す管理データを記憶する。
FIG. 3 is a diagram showing the contents of the management data stored in the management
管理データは、ECUID、FWID、現FWのMAC(Message Authentication Code)値、現FWのバージョン番号、ECUのドメイン、現FWの開発者ID、更新タイミング情報、および、FW取得状況情報を含む。 The management data includes an ECU ID, a FWID, a MAC (Message Authentication Code) value of the current FW, a version number of the current FW, a domain of the ECU, a developer ID of the current FW, update timing information, and FW acquisition status information.
ECUIDは、そのファームウェアを記憶している電子制御装置24の識別子である。FWIDは、そのファームウェアの識別子である。現FWのMAC値は、電子制御装置24に書き込まれている現FWデータのMAC値である。
The ECU ID is an identifier of the
ここで、MAC値とは、データが改ざんされていないことを検証するためのデータである。MAC値は、対象データと鍵データとを用いて算出および検証がされる。MAC値の生成および検証は、同一の鍵データが用いられる。例えば、送信者と受信者とが同一の鍵データを保持しているとする。この鍵データは、第三者に対して秘匿される。この場合、送信者は、対象データと自身が保持している鍵データとによりMAC値を算出する。そして、送信者は、対象データとMAC値とを受信者に送信する。受信者は、受信した送信データと、自身が保持している鍵データとによりMAC値を算出する。そして、受信者は、算出したMAC値と送信者から受信したMAC値とを比較する。受信者は、一致した場合、受信した対象データが送信者により生成されたものである(すなわち、正当である)と判断することができる。 Here, the MAC value is data for verifying that the data has not been tampered with. The MAC value is calculated and verified using target data and key data. The same key data is used for generating and verifying the MAC value. For example, it is assumed that the sender and the receiver hold the same key data. This key data is kept secret from a third party. In this case, the sender calculates the MAC value from the target data and the key data held by the sender. Then, the sender transmits the target data and the MAC value to the receiver. The receiver calculates the MAC value from the received transmission data and the key data held by the receiver. Then, the receiver compares the calculated MAC value with the MAC value received from the sender. In the case of a match, the receiver can determine that the received target data has been generated by the sender (that is, is valid).
現FWのバージョン番号は、電子制御装置24に書き込まれている現FWデータのバージョンを表す。バージョン番号は、ファームウェアの実体データのバージョンが新しくなる毎に大きくなる数値または文字であってよい。
The version number of the current FW represents the version of the current FW data written in the
ECUのドメインは、対象装置が有する機能を表す。例えば、ECUのドメインは、対象装置が、運動系の装置、エネルギー系の装置、ボディー系の装置またはエンターテイメント系の装置の何れであるかを表す。 The ECU domain represents a function of the target device. For example, the ECU domain indicates whether the target device is an exercise device, an energy device, a body device, or an entertainment device.
現FWの開発者IDは、現FWデータの開発者を識別する情報である。共有鍵データは、開発者ID毎に割り当てられる。 The current FW developer ID is information for identifying the developer of the current FW data. The shared key data is assigned for each developer ID.
更新タイミング情報は、そのファームウェアを更新可能なタイミングを示す。例えば、更新タイミング情報は、車両の運転中に更新可能であるか否か、車両がブレーキによる停止中に更新可能であるか否か、車両がアイドリング中に更新可能であるか否か、および、車両のエンジンが停止中に更新可能であるか否か等を示す。 The update timing information indicates the timing at which the firmware can be updated. For example, the update timing information can be updated during driving of the vehicle, whether the vehicle can be updated while braking, whether the vehicle can be updated while idling, and Indicates whether or not the vehicle engine can be updated while the vehicle is stopped.
FW取得状況情報は、中継装置26による新FWデータの取得状況を示す。例えば、FW取得状況情報は、何もしていない状況、提供装置20に問い合わせ中の状況、データを受信中の状況、または、検証中の状況の何れかを示す。
The FW acquisition status information indicates the acquisition status of new FW data by the
図4は、共有鍵記憶部36に記憶される鍵情報の内容を示す図である。共有鍵記憶部36は、ファームウェアの開発者毎に、図4に示す鍵情報を記憶する。
FIG. 4 is a diagram showing the contents of the key information stored in the shared
鍵情報は、開発者IDと、共有鍵データとを含む。開発者IDは、ファームウェアの開発者を識別する情報である。共有鍵データは、MAC値を算出するために用いられるデータである。 The key information includes a developer ID and shared key data. The developer ID is information for identifying a firmware developer. The shared key data is data used for calculating the MAC value.
なお、開発者IDは、ファームウェアのバージョン毎に異なっていてもよい。例えば、現FWデータの開発者IDと、新FWデータの開発者IDとが異なってもよいし、同一であってもよい。現FWデータの開発者IDと新FWデータの開発者IDとが異なる場合、それぞれに対応する共有鍵データは異なる。 The developer ID may be different for each firmware version. For example, the developer ID of the current FW data and the developer ID of the new FW data may be different or the same. When the developer ID of the current FW data is different from the developer ID of the new FW data, the corresponding shared key data is different.
図5は、一時記憶部38に記憶される取得情報の内容を示す図である。一時記憶部38は、提供装置20から受信した現FWデータおよび新FWデータが正当であると判断される毎に、図5に示す取得情報を記憶する。
FIG. 5 is a diagram illustrating the contents of the acquired information stored in the
取得情報は、ECUID、FWID、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号、新FWの開発者ID、取得エラー回数および更新エラー回数を含む。 The acquisition information includes ECUID, FWID, current FW data, new FW data, new FW MAC value, new FW version number, new FW developer ID, acquisition error count, and update error count.
ECUIDは、更新対象の電子制御装置24の識別子である。FWIDは、更新対象のファームウェアの識別子である。
The ECU ID is an identifier of the
現FWデータおよび新FWデータは、提供装置20から受信したファームウェアの実体データである。なお、現FWデータは、電子制御装置24に現在書き込まれている現FWデータと同一であるべきデータである。
The current FW data and the new FW data are firmware actual data received from the providing
新FWのMAC値は、提供装置20から受信した新FWデータのMAC値である。新FWのMAC値は、例えば、新FWデータの開発者により生成される。新FWのバージョン番号は、新FWデータのバージョンを表す。新FWの開発者IDは、新FWデータの開発者を識別する情報である。
The MAC value of the new FW is the MAC value of the new FW data received from the providing
取得エラー回数は、提供装置20から受信した現FWデータまたは新FWデータが正当でなかったと判定された回数を表す。更新エラー回数は、電子制御装置24に書き込んだ新FWデータが正当でなかったと判定された回数を表す。
The number of acquisition errors represents the number of times it is determined that the current FW data or new FW data received from the providing
図6は、状態記憶部40に記憶される状態情報の内容を示す図である。状態記憶部40は、電子制御装置24毎に、図6に示す状態情報を記憶する。
FIG. 6 is a diagram illustrating the contents of the state information stored in the
状態情報は、ECUID、ECUのドメインおよびECU状態情報を含む。ECUIDは、その電子制御装置24の識別子である。ECUのドメインは、その電子制御装置24が制御する対象装置が有する機能を表す。
The state information includes an ECU ID, an ECU domain, and ECU state information. The ECU ID is an identifier of the
ECU状態情報は、その電子制御装置24の現在の状態を示す。例えば、ECU状態情報は、通常動作中の状態、更新待ちの状態、更新対象のデータの受信中の状態、書き込み中の状態、検証中の状態、または、データを有効化している状態の何れかを示す。
The ECU state information indicates the current state of the
図7は、提供装置20および中継装置26の機能構成を示す図である。提供装置20は、提供情報記憶部50と、要求受信部54と、特定部56と、応答送信部58とを有する。中継装置26の取得部30は、要求送信部52と、応答受信部60と、第1検証値生成部62と、第1検証部64と、状況更新部66とを有する。
FIG. 7 is a diagram illustrating functional configurations of the providing
提供情報記憶部50は、中継装置26に提供すべき情報を記憶する。提供情報記憶部50は、ファームウェア毎に、ECUID、FWID、それぞれのバージョンの実体データ、それぞれのバージョンの実体データのMAC値、それぞれのバージョンのバージョン番号およびそれぞれのバージョンの開発者IDを記憶する。開発者IDは、バージョン毎に共通であってもよい。
The provided
要求送信部52は、制御対象システム22が備えるそれぞれの電子制御装置24に記憶されたそれぞれのファームウェアについて、取得要求を提供装置20に送信する。要求送信部52は、例えば、ファームウェア毎に予め定められたタイミングで(例えば定期的に)、取得要求を送信する。
The
要求送信部52は、電子制御装置24を識別するECUID(装置識別子)と、現FWデータを識別するFWID(データ識別子)と、現FWデータのバージョンを特定可能なバージョン特定情報とを含む取得要求を、提供装置20に送信する。要求送信部52は、管理データ記憶部34から、そのファームウェアについての管理データを読み出して、取得要求を生成する。
The
バージョン特定情報は、現FWデータのMAC値(電子制御装置24に記憶されている現FWデータを検証するための検証値)である。バージョン特定情報は、MAC値に代えて、現FWデータのバージョン番号であってもよい。 The version specifying information is a MAC value of the current FW data (a verification value for verifying the current FW data stored in the electronic control unit 24). The version specifying information may be the version number of the current FW data instead of the MAC value.
要求受信部54は、取得要求を中継装置26から受信する。特定部56は、提供情報記憶部50から、取得要求に含まれるECUIDおよびFWIDに対応するファームウェアに関する情報を読み出す。特定部56は、読み出した情報に基づき、バージョン特定情報により特定されるバージョンよりも新しいバージョンの実体データが、開発者から提供されているかを判断する。すなわち、特定部56は、取得要求により特定されるファームウェアについて、電子制御装置24が記憶している現FWデータのバージョンよりも新しいバージョンの実体データ(新FWデータ)が、存在するか否かを判断する。
The
応答送信部58は、受信した取得要求に応じた応答情報を、中継装置26に送信する。応答送信部58は、新FWデータが存在しない場合、ECUID、FWIDおよび更新フラグを含む応答情報を送信する。応答送信部58は、新FWデータが存在する場合、ECUID、FWID、更新フラグ、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを含む応答情報を送信する。
The
応答情報に含まれるECUIDおよびFWIDは、取得要求に含まれるECUIDおよびFWIDと同一である。更新フラグは、バージョン特定情報により特定されるバージョンよりも新しいバージョンのFWデータ(新FWデータ)が存在するか否かを示すフラグである。本実施形態においては、更新フラグは、新FWデータが存在しない場合には0、新FWデータが存在する場合には0以外の値となる。なお、開発者IDがバージョン毎に共通である場合、応答送信部58は、開発者IDを送信しなくてもよい。
The ECU ID and FWID included in the response information are the same as the ECU ID and FWID included in the acquisition request. The update flag is a flag indicating whether or not there is a newer version of FW data (new FW data) than the version specified by the version specifying information. In the present embodiment, the update flag has a value other than 0 when new FW data does not exist and a value other than 0 when new FW data exists. When the developer ID is common for each version, the
応答受信部60は、取得要求に応じた応答情報を、提供装置20から受信する。新FWデータが存在しない場合、応答受信部60は、ECUID、FWIDおよび更新フラグを含む応答情報を受信する。新FWデータが存在する場合、応答受信部60は、ECUID、FWID、更新フラグ、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを含む応答情報を受信する。
The
第1検証値生成部62は、提供装置20から受信した現FWデータについて、MAC値(第2検証値)を算出する。具体的には、第1検証値生成部62は、現FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す。第1検証値生成部62は、読み出した共有鍵データと、提供装置20から受信した現FWデータとによりMAC値を算出する。
The first verification
さらに、第1検証値生成部62は、提供装置20から受信した新FWデータについて、MAC値(第4検証値)を算出する。具体的には、第1検証値生成部62は、新FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す。第1検証値生成部62は、読み出した共有鍵データと、提供装置20から受信した新FWデータとによりMAC値を算出する。
Further, the first verification
第1検証部64は、提供装置20から受信した現FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、電子制御装置24に記憶されている現FWデータを検証するための第1検証値と、提供装置20から受信した現FWデータを検証するための第2検証値とが一致する場合に、提供装置20から受信した現FWデータが正当であると判断する。
The
ここで、第1検証値は、管理データ記憶部34に記憶されている現FWのMAC値である。第2検証値は、第1検証値生成部62により算出された現FWデータのMAC値である。すなわち、第1検証部64は、提供装置20から受信した現FWデータが、電子制御装置24に記憶されている現FWデータと同一であるか否かを検証する。
Here, the first verification value is the MAC value of the current FW stored in the management
さらに、第1検証部64は、提供装置20から受信した新FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、提供装置20から受信した第3検証値と、共有鍵データと提供装置20から受信した新FWデータとにより算出された第4検証値とが一致する場合に、提供装置20から受信した新FWデータが正当であると判断する。
Further, the
ここで、第3検証値は、取得要求に応じて、提供装置20から受信した新FWデータのMAC値(新FWのMAC値)である。第4検証値は、第1検証値生成部62により算出された新FWデータのMAC値である。すなわち、第1検証部64は、提供装置20から受信した新FWデータの開発者が、中継装置26と同一の共有鍵データを保持しているか否かを検証する。
Here, the third verification value is the MAC value of the new FW data (MAC value of the new FW) received from the providing
第1検証部64は、提供装置20から受信した現FWデータまたは新FWデータの何れかが正当でない場合、要求送信部52に対して、再度、取得要求を送信させる。第1検証部64は、一定回数、同一の取得要求を送信しても現FWデータおよび新FWデータの何れかが正当ではない場合、取得要求の送信を中止させる。
If either the current FW data or the new FW data received from the providing
第1検証部64は、提供装置20から受信した現FWデータおよび新FWデータが正当であることを条件として、応答受信部60が受信した情報を一時記憶部38に記憶させる。具体的には、第1検証部64は、提供装置20から受信した、ECUID、FWID、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを、一時記憶部38に記憶させる。なお、バージョン毎に開発者IDが共通である場合、第1検証部64は、一時記憶部38に新FWの開発者IDを記憶させなくてもよい。また、第1検証部64は、現FWデータおよび新FWデータの何れかが正当ではないと判断された回数(エラー回数)も、一時記憶部38に記憶させてもよい。
The
状況更新部66は、それぞれのファームウェアについて、FW取得状況情報を管理データ記憶部34に書き込む。
The
以上の構成により、中継装置26は、提供装置20から現FWデータおよび新FWデータを受信することができる。さらに、中継装置26は、受信した現FWデータおよび新FWデータが正当であるか否かを判断することができる。そして、中継装置26は、受信した現FWデータおよび新FWデータが正当であることを条件として、一時記憶部38に現FWデータおよび新FWデータを記憶させることができる。
With the above configuration, the
図8は、中継装置26による取得処理フローを示す図である。取得部30は、図8に示す取得処理を実行する。
FIG. 8 is a diagram illustrating an acquisition processing flow by the
まず、ステップS11において、取得部30は、何れかのファームウェアについて、予め定められたタイミングにおいて取得要求を提供装置20に送信する。この場合において、取得部30は、ECUIDと、FWIDと、バージョン特定情報(現FWのMAC値または現FWのバージョン番号)とを含む取得要求を、提供装置20に送信する。
First, in step S <b> 11, the
提供装置20は、取得要求に応じて、対応するファームウェアについての応答情報を中継装置26に送信する。具体的には、提供装置20は、対応する新FWデータが存在しない場合、ECUID、FWID、および、値が0とされた更新フラグを含む応答情報を送信する。提供装置20は、新FWデータが存在する場合、ECUID、FWID、値が0以外とされた更新フラグ、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを含む応答情報を送信する。
The providing
続いて、ステップS12において、取得部30は、応答情報を受信する。続いて、ステップS13において、取得部30は、応答情報に含まれる更新フラグが、0以外の値であるか否かを判断する。更新フラグが0である場合(S13のNo)、取得部30は、本フローを終了する。更新フラグが0以外の値である場合(S13のYes)、処理をステップS14に進める。
Subsequently, in step S12, the
ステップS14において、取得部30は、受信した現FWデータが正当であるか否かを判断する。ステップS14の処理については、図9のフローにおいてさらに詳細に説明する。取得部30は、正当である場合(S14のYes)、処理をステップS15に進め、正当でない場合(S14のNo)、処理をステップS17に進める。
In step S14, the
ステップS15において、取得部30は、受信した新FWデータが正当であるか否かを判断する。ステップS15の処理については、図10のフローにおいてさらに詳細に説明する。取得部30は、正当である場合(S15のYes)、処理をステップS16に進め、正当でない場合(S15のNo)、処理をステップS17に進める。
In step S15, the
ステップS16において、取得部30は、提供装置20から受信したECUID、FWID、現FWデータ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを、一時記憶部38に書き込む。ステップS16を終えると、取得部30は、本フローを終了する。この場合、取得部30は、正当な現FWデータまたは新FWデータを受信できている。
In step S16, the
ステップS17において、取得部30は、同一の取得要求を送信しても現FWデータおよび新FWデータの何れかが正当ではなかった回数(エラー回数)が、一定回数以上であるか否かを判断する。エラー回数が一定回数未満である場合(S17のNo)、取得部30は、処理をステップS11に戻す。これにより、取得部30は、通信エラー等により正当なデータが受信できなかった場合であっても、次の機会において正当なデータを受信させることができる。
In step S <b> 17, the
エラー回数が一定回数以上である場合(S17のYes)、取得部30は、本フローを終了する。
When the number of errors is equal to or greater than the predetermined number (Yes in S17), the
図9は、提供装置20から受信した現FWデータの正当性を判断するフローを示す図である。取得部30は、ステップS14において、図9に示す処理を実行する。
FIG. 9 is a diagram illustrating a flow for determining the validity of the current FW data received from the providing
まず、取得部30は、管理データ記憶部34に記憶されている現FWのMAC値(第1検証値)を読み出す(S21)。続いて、取得部30は、現FWの開発者IDを管理データ記憶部34から読み出す(S22)。続いて、取得部30は、現FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す(S23)。続いて、取得部30は、提供装置20から受信した現FWデータを取得する(S24)。続いて、取得部30は、読み出した共有鍵データと、提供装置20から受信した現FWデータとによりMAC値(第2検証値)を算出する(S25)。
First, the
続いて、取得部30は、第1検証値と第2検証値とが一致するか否かを判断する(S26)。取得部30は、第1検証値と第2検証値とが一致する場合(S26のYes)、提供装置20から受信した現FWデータが正当である(S27)として、処理を終了する。取得部30は、第1検証値と第2検証値とが一致しない場合(S26のNo)、提供装置20から受信した現FWデータが正当ではない(S28)として、処理を終了する。
Subsequently, the acquiring
図10は、提供装置20から受信した新FWデータの正当性を判断するフローを示す図である。取得部30は、ステップS15において、図10に示す処理を実行する。
FIG. 10 is a diagram illustrating a flow for determining the validity of the new FW data received from the providing
まず、取得部30は、提供装置20から受信した、新FWのMAC値(第3検証値)を取得する(S31)。続いて、取得部30は、提供装置20から受信した新FWの開発者IDを取得する(S32)。続いて、取得部30は、新FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す(S33)。続いて、取得部30は、提供装置20から受信した新FWデータを取得する(S34)。続いて、取得部30は、読み出した共有鍵データと、提供装置20から受信した新FWデータとによりMAC値(第4検証値)を算出する(S35)。
First, the
続いて、取得部30は、第3検証値と第4検証値とが一致するか否かを判断する(S36)。取得部30は、第3検証値と第4検証値とが一致する場合(S36のYes)、提供装置20から受信した新FWデータが正当である(S37)として、処理を終了する。取得部30は、第3検証値と第4検証値とが一致しない場合(S36のNo)、提供装置20から受信した新FWデータが正当ではない(S38)として、処理を終了する。
Subsequently, the
図11は、中継装置26および電子制御装置24の機能構成を示す図である。電子制御装置24は、データ記憶部70と、制御部72と、状態送信部74と、開始受信部82と、データ受信部86と、書込部88と、第1鍵記憶部90と、第2検証値生成部92と、検証値送信部94と、終了受信部104とを有する。中継装置26の更新部32は、状態受信部76と、開始検知部78と、開始送信部80と、データ送信部84と、検証値受信部96と、第2検証部98と、確定部100と、通知部102とを有する。
FIG. 11 is a diagram illustrating functional configurations of the
データ記憶部70は、ファームウェアの実体データ(現FWデータ)を記憶する。制御部72は、データ記憶部70に記憶された現FWデータに基づき対象装置を制御する。
The
状態送信部74は、電子制御装置24の状態を検知する。例えば、状態送信部74は、通常動作中の状態、更新待ちの状態、更新対象のデータの受信中の状態、書き込み中の状態、検証中の状態、または、データを有効化している状態の何れかを検知する。状態送信部74は、検知した状態を示すECU状態情報を中継装置26に送信する。
The
状態受信部76は、電子制御装置24からECU状態情報を受信する。状態受信部76は、受信したECU状態情報を状態記憶部40に記憶させる。
The
開始検知部78は、提供装置20から正当な新FWデータおよび現FWデータの検証が完了し、未だ新FWデータを電子制御装置24に書き込んでいないファームウェアについて、更新可能か否かを判断する。例えば、開始検知部78は、制御対象システム22の状態が管理データ記憶部34に記憶された更新タイミング情報と一致、且つ、ECU状態情報が通常動作中を示している場合、更新可能と判断する。開始検知部78は、更新可能である場合、開始送信部80およびデータ送信部84に開始指示を与える。
The
開始送信部80は、開始指示を受け取ると、更新対象の電子制御装置24に更新開始を示す情報を送信する。これにより、更新対象の電子制御装置24は、データの受信の準備等をすることができる。また、開始送信部80は、他の電子制御装置24に、更新対象の電子制御装置24がファームウェアの更新を開始する旨を示す情報を送信する。これにより、他の電子制御装置24は、更新期間中に動作の不具合が生じないように、動作の制限をしたり、ユーザに警告したりすることができる。
When the
開始受信部82は、中継装置26から更新開始を示す情報を受信する。開始受信部82は、更新開始を示す情報を受信した場合、制御部72による動作を制限させる。これにより、開始受信部82は、更新期間中に、対象装置に動作の不具合が生じないように制御することができる。
The
データ送信部84は、開始検知部78から開始指示を受け取ると、提供装置20から受信した新FWデータを電子制御装置24に送信して、電子制御装置24に記憶されている現FWデータを新FWデータに更新させる。具体的には、データ送信部84は、一時記憶部38に記憶された新FWデータを電子制御装置24に送信するとともに、更新指示を送信する。
When the
なお、一時記憶部38には、正当であると判断された新FWデータが記憶される。従って、データ送信部84は、正当であると判断された新FWデータを電子制御装置24へ送信することができる。また、データ送信部84は、開始検知部78から開始指示を受けた場合に新FWデータを送信するので、電子制御装置24による制御の対象装置が予め定められた状態となった場合に、新FWデータを送信することができる。
The
データ受信部86は、中継装置26から、新FWデータおよび更新指示を受信する。書込部88は、更新指示を受信した場合、データ記憶部70に記憶されている現FWデータを、中継装置26から受信した新FWデータに更新する。例えば、書込部88は、データ記憶部70における現FWデータが記憶されている領域に新FWデータを上書きしたり、データ記憶部70に記憶されている現FWデータを削除してデータ記憶部70の予め定められた領域に新FWデータを書き込んだりする。
The
第1鍵記憶部90は、データ記憶部70に書き込まれたデータを検証するために用いる鍵データを記憶する。本実施形態においては、第1鍵記憶部90は、現FWの開発者IDに対応する共有鍵データおよび新FWの開発者IDに対応する共有鍵データを記憶する。現FWの開発者IDと新FWの開発者IDとが同一であれば、第1鍵記憶部90は、1つの共有鍵データを記憶する。
The first
なお、第1鍵記憶部90は、中継装置26と提供装置20とが共有する共有鍵データとは異なる鍵データを記憶していてもよい。この場合、第1鍵記憶部90は、この鍵データを中継装置26と共有しており、第三者に対して秘匿している。更新部32は、この鍵データを記憶する記憶部およびこの鍵データからMAC値を生成するための検証値生成部を有する。また、この鍵データは、定期的に更新されてもよいし、中継装置26と電子制御装置24とが秘匿化通信をする毎に新たに生成されてもよい。
The first
第2検証値生成部92は、更新処理においてデータ記憶部70に書き込まれた新FWデータを検証するためのMAC値(第5検証値)を算出する。具体的には、第2検証値生成部92は、新FWの開発者IDに対応する共有鍵データを第1鍵記憶部90から読み出す。そして、第2検証値生成部92は、読み出した共有鍵データと、更新処理においてデータ記憶部70に書き込まれた新FWデータとによりMAC値を算出する。
The second verification
検証値送信部94は、更新処理においてデータ記憶部70に書き込まれた新FWデータを検証するためのMAC値を中継装置26に送信する。検証値受信部96は、電子制御装置24から、更新処理においてデータ記憶部70に書き込まれた新FWデータを検証するためのMAC値を受信する。
The verification
第2検証部98は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを検証する。具体的には、第2検証部98は、更新処理において電子制御装置24に書き込まれた新FWデータを検証するための第5検証値と、電子制御装置24へと送信した新FWデータを検証するための第6検証値とが一致しない場合に、更新処理により電子制御装置24に書き込まれた新FWデータが正当ではないと判断する。
The
ここで、第5検証値は、第2検証値生成部92により算出された、データ記憶部70に書き込まれた新FWデータに対するMAC値である。また、第6検証値は、提供装置20から受信した新FWデータのMAC値である。すなわち、第2検証部98は、提供装置20から受信した新FWデータが、改竄されずに電子制御装置24に書き込まれたか否かを検証する。
Here, the fifth verification value is a MAC value calculated by the second verification
第2検証部98は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であると判断した場合、確定部100および通知部102に通知する。
When the
確定部100は、更新処理において電子制御装置24に書き込まれた新FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている情報を読み出して、管理データ記憶部34に記憶させる。具体的には、確定部100は、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを一時記憶部38から読み出し、同一のファームウェアについての管理データに含まれる、現FWのMAC値、現FWのバージョン番号および現FWの開発者IDとして、管理データ記憶部34に書き込む。これにより、中継装置26は、管理データ記憶部34に記憶される管理データを更新することができる。なお、確定部100は、管理データ記憶部34に必要な情報を記憶させた後、一時記憶部38に記憶されている情報を削除してもよい。
When receiving the notification that the new FW data written in the
通知部102は、第2検証部98から新FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および更新対象の電子制御装置24に、ファームウェアの更新を完了したことを示す情報を送信する。これにより、他の電子制御装置24は、動作の制限を解除したり、ユーザに対する警告を解除したりすることができる。
When the
終了受信部104は、中継装置26から、ファームウェアの更新を完了したことを示す情報を受信する。終了受信部104は、更新を完了したことを示す情報を受信した場合、制御部72による動作の制限を解除させる。これにより、制御部72は、新FWデータに基づき対象装置を制御することができる。
The
一方、第2検証部98は、更新処理において電子制御装置24に書き込まれた新FWデータが正当ではないと判断した場合、更新処理が失敗したことを、データ送信部84に通知する。
On the other hand, when the
データ送信部84は、更新処理が失敗した場合、提供装置20から受信した現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。具体的には、データ送信部84は、一時記憶部38に記憶された現FWデータを電子制御装置24に送信するとともに、復元指示を送信する。なお、一時記憶部38には、正当であると判断された現FWデータが記憶される。従って、データ送信部84は、正当であると判断された現FWデータを電子制御装置24へ送信することができる。
When the update process fails, the
データ受信部86は、中継装置26から、現FWデータおよび復元指示を受信する。書込部88は、復元指示を受信した場合、データ記憶部70に記憶されていた現FWデータを復元する。例えば、書込部88は、データ記憶部70における現FWデータが元々記憶されていた領域に、受信した現FWデータを上書きする。また、書込部88は、更新処理において書き込まれた新FWデータを削除してから、現FWデータを書き込んでもよい。
The
第2検証値生成部92は、復元処理においてデータ記憶部70に書き込まれた現FWデータを検証するためのMAC値(第7検証値)を算出する。具体的には、第2検証値生成部92は、第1鍵記憶部90に記憶された現FWの開発者IDに対応する共有鍵データを第1鍵記憶部90から読み出す。そして、第2検証値生成部92は、読み出した共有鍵データと、復元処理においてデータ記憶部70に書き込まれた現FWデータとによりMAC値を算出する。
The second verification
検証値送信部94は、復元処理においてデータ記憶部70に書き込まれた現FWデータを検証するためのMAC値を中継装置26に送信する。検証値受信部96は、電子制御装置24から、復元処理においてデータ記憶部70に書き込まれた現FWデータを検証するためのMAC値を受信する。
The verification
第2検証部98は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを検証する。具体的には、第2検証部98は、復元処理において電子制御装置24に書き込まれた現FWデータを検証するための第7検証値と、電子制御装置24へと送信した現FWデータを検証するための第8検証値とが一致しない場合に、復元処理により電子制御装置24に書き込まれた現FWデータが正当ではないと判断する。
The
ここで、第7検証値は、第2検証値生成部92により算出された、データ記憶部70に書き込まれた現FWデータに対するMAC値である。また、第8検証値は、管理データ記憶部34に記憶されている現FWデータのMAC値である。すなわち、第2検証部98は、管理データ記憶部34に元々記憶されていた現FWデータと同一のデータが、電子制御装置24に書き込まれたか否かを検証する。
Here, the seventh verification value is a MAC value for the current FW data written in the
第2検証部98は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であると判断した場合、通知部102に通知する。通知部102は、第2検証部98から現FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および更新対象の電子制御装置24に、処理が完了したことを示す情報を送信する。これにより、他の電子制御装置24は、動作の制限を解除したり、ユーザに対する警告を解除したりすることができる。
The
終了受信部104は、中継装置26から処理が完了したことを示す情報を受信する。終了受信部104は、処理が完了したことを示す情報を受信した場合、制御部72による動作の制限を解除させる。これにより、制御部72は、現FWデータに基づき対象装置を制御することができる。
The
また、第2検証部98は、復元処理において電子制御装置24に書き込まれた現FWデータが正当でないと判断した場合、復元処理が失敗したことをデータ送信部84に通知する。データ送信部84は、復元処理が失敗した場合、再度、提供装置20から受信した現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。これにより、第2検証部98は、電子制御装置24に繰り返して復元処理を実行させることができる。
If the
ただし、第2検証部98は、復元処理において電子制御装置24に書き込んだ現FWデータが正当でなかった回数(エラー回数)が一定回数以上となった場合、データ送信部84による現FWデータの再送信を終了させる。また、第2検証部98は、現FWデータが正当ではないと判断された回数(エラー回数)を、一時記憶部38に記憶させてもよい。
However, if the number of times that the current FW data written to the
そして、第2検証部98は、電子制御装置24に正当なデータが書き込まれていないことを通知部102に通知する。通知部102は、第2検証部98から、正当なデータが書き込まれていないことの通知を受けると、他の電子制御装置24および更新対象の電子制御装置24に、正当なデータが書き込まれていないことを示す情報を送信する。これにより、他の電子制御装置24は、更新対象の電子制御装置24に関連する動作を制限したり、ユーザに対する警告をしたりすることができる。
Then, the
また、通知部102は、正当なデータが書き込まれていないことを示す通知を受け取ると、更新対象の電子制御装置24に、正当なデータが書き込まれていないことを示す情報を送信する。終了受信部104は、正当なデータが書き込まれていないことを示す情報を受信した場合、制御部72による動作を制限する。これにより、制御部72は、正当でないデータに基づく対象装置の制御を禁止することができる。
When the
以上の構成により、中継装置26は、電子制御装置24に記憶された現FWデータを、提供装置20から受信した新FWデータに更新することができる。また、中継装置26は、更新処理において電子制御装置24に書き込まれた新FWデータが正当ではない場合には、提供装置20から受信した現FWデータにより、電子制御装置24に記憶された現FWデータを復元することができる。
With the above configuration, the
図12は、中継装置26による更新処理フローを示す図である。更新部32は、図12に示す更新処理を実行する。
FIG. 12 is a diagram showing an update processing flow by the
まず、ステップS41において、更新部32は、更新対象のファームウェアについての更新タイミング情報を管理データ記憶部34から読み出す。続いて、ステップS42において、更新部32は、更新対象の電子制御装置24についてのECU状態情報を状態記憶部40から読み出す。
First, in step S <b> 41, the
続いて、ステップS43において、更新部32は、更新処理を開始するか否かを判断する。具体的には、更新部32は、制御対象システム22の状態が更新タイミング情報と一致し、且つ、ECU状態情報が通常動作中を示している場合、更新可能と判断する。更新部32は、更新可能ではない場合(S43のNo)、処理をステップS44に進めて一定時間待機した後に、再度、ステップS42から処理を繰り返す。更新部32は、更新可能である場合(S43のYes)、処理をステップS45に進める。
Subsequently, in step S43, the
ステップS45において、更新部32は、更新対象の電子制御装置24に更新開始を示す情報を送信する。続いて、ステップS46において、更新部32は、他の電子制御装置24に、更新対象の電子制御装置24におけるファームウェアの更新の開始を示す情報を送信する。
In step S <b> 45, the
続いて、ステップS47において、更新部32は、提供装置20から受信した新FWデータを電子制御装置24に送信して、電子制御装置24に記憶されている現FWデータを新FWデータに更新させる。具体的には、更新部32は、一時記憶部38に記憶されている正当であると判断された新FWデータを、更新指示とともに電子制御装置24に送信する。
Subsequently, in step S47, the updating
ここで、更新対象の電子制御装置24は、中継装置26から、新FWデータおよび更新指示を受信した場合、記憶している現FWデータを、中継装置26から受信した新FWデータに更新する。続いて、電子制御装置24は、更新処理においてデータ記憶部70に書き込まれた新FWデータを検証するためのMAC値(第5検証値)を算出する。
Here, when receiving the new FW data and the update instruction from the
続いて、ステップS48において、更新部32は、更新対象の電子制御装置24から、書き込んだ新FWデータを検証するためのMAC値(第5検証値)を受信する。
Subsequently, in step S48, the updating
続いて、ステップS49において、更新部32は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを検証する。ステップS49の処理については、図13のフローにおいてさらに詳細に説明する。更新部32は、正当である場合(S49のYes)、処理をステップS50に進め、正当でない場合(S49のNo)、処理をステップS52に進める。
Subsequently, in step S49, the
ステップS50において、更新部32は、一時記憶部38に記憶されている情報を読み出して、管理データ記憶部34に転送する。具体的には、更新部32は、一時記憶部38から新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを読み出して、現FWのMAC値、現FWのバージョン番号および現FWの開発者IDとして管理データ記憶部34に記憶させる。
In step S <b> 50, the
続いて、ステップS51において、更新部32は、更新対象の電子制御装置24および他の電子制御装置24に、更新対象の電子制御装置24におけるファームウェアの更新の完了を示す終了通知を送信する。そして、更新部32は、本ファームウェアについて更新処理を終了する。
Subsequently, in step S <b> 51, the
一方、ステップS52において、更新部32は、提供装置20から受信した現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。具体的には、更新部32は、一時記憶部38に記憶されている正当であると判断された現FWデータを、復元指示とともに電子制御装置24に送信する。
On the other hand, in step S52, the updating
ここで、更新対象の電子制御装置24は、中継装置26から、現FWデータおよび復元指示を受信した場合、中継装置26から受信した現FWデータを記憶する。具体的には、電子制御装置24は、更新処理において書き込まれた新FWデータを削除して、データ記憶部70における現FWデータが元々記憶されていた領域に、受信した現FWデータを書き込む。そして、電子制御装置24は、復元処理においてデータ記憶部70に書き込まれた現FWデータを検証するためのMAC値(第7検証値)を算出する。
Here, when receiving the current FW data and the restoration instruction from the
続いて、ステップS53において、更新部32は、更新対象の電子制御装置24から、書き込んだ現FWデータを検証するためのMAC値(第7検証値)を受信する。
Subsequently, in step S53, the updating
続いて、ステップS54において、更新部32は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを検証する。ステップS54の処理については、図14のフローにおいてさらに詳細に説明する。更新部32は、正当である場合(S54のYes)、処理をステップS51に進め、終了通知を送信して、本ファームウェアについて更新処理を終了する。更新部32は、正当でない場合(S54のNo)、処理をステップS55に進める。
Subsequently, in step S54, the updating
ステップS55において、更新部32は、復元処理において電子制御装置24に書き込まれた現FWデータが正当でなかった回数(エラー回数)が、一定回数以上であるか否かを判断する。エラー回数が一定回数未満である場合(S55のNo)、更新部32は、処理をステップS52に戻して、現FWデータの送信から処理を繰り返す。エラー回数が一定回数以上である場合(S55のYes)、処理をステップS56に進める。
In step S55, the updating
ステップS56において、更新部32は、更新対象の電子制御装置24および他の電子制御装置24に、更新対象の電子制御装置24に正当なデータが書き込まれていないことを示す失敗通知を送信する。そして、更新部32は、本ファームウェアについて更新処理を終了する。
In step S <b> 56, the
図13は、更新処理において電子制御装置24に書き込まれた新FWデータの正当性を判断するフローを示す図である。更新部32は、ステップS49において、図13に示す処理を実行する。
FIG. 13 is a diagram showing a flow for determining the validity of the new FW data written in the
まず、更新部32は、更新処理において電子制御装置24に書き込まれた新FWデータを検証するための第5検証値を取得する(S61)。第5検証値は、電子制御装置24により算出された、電子制御装置24に書き込まれた新FWデータに対するMAC値である。続いて、更新部32は、一時記憶部38から新FWのMAC値(第6検証値)を読み出す(S62)。
First, the
続いて、更新部32は、第5検証値と第6検証値とが一致するか否かを判断する(S63)。更新部32は、第5検証値と第6検証値とが一致する場合(S63のYes)、電子制御装置24に書き込まれた新FWデータが正当である(S64)として、処理を終了する。更新部32は、第5検証値と第6検証値とが一致しない場合(S63のNo)、電子制御装置24に書き込まれた新FWデータが正当ではない(S65)として、処理を終了する。
Subsequently, the updating
図14は、復元処理において電子制御装置24に書き込まれた現FWデータの正当性を判断するフローを示す図である。更新部32は、ステップS54において、図14に示す処理を実行する。
FIG. 14 is a diagram showing a flow for determining the validity of the current FW data written in the
まず、更新部32は、復元処理において電子制御装置24に書き込まれた現FWデータを検証するための第7検証値を取得する(S71)。第7検証値は、電子制御装置24により算出された、電子制御装置24に書き込まれた現FWデータに対するMAC値である。続いて、更新部32は、管理データ記憶部34から現FWのMAC値(第8検証値)を読み出す(S72)。
First, the
続いて、更新部32は、第7検証値と第8検証値とが一致するか否かを判断する(S73)。更新部32は、第7検証値と第8検証値とが一致する場合(S73のYes)、電子制御装置24に書き込まれた現FWデータが正当である(S74)として、処理を終了する。更新部32は、第7検証値と第8検証値とが一致しない場合(S73のNo)、電子制御装置24に書き込まれた現FWデータが正当ではない(S75)として、処理を終了する。
Subsequently, the updating
以上のように、本実施形態に係るネットワークシステム10は、電子制御装置24に、データを更新するための別個のバッファを備えなくてもよい。これにより、本実施形態に係るネットワークシステム10によれば、電子制御装置24のコストを小さくすることができる。
As described above, the
本実施形態に係るネットワークシステム10は、中継装置26が予め現FWデータおよび新FWデータの両者を提供装置20から受信する。そして、電子制御装置24に対する現FWデータから新FWデータへの更新が失敗した場合、中継装置26が、予め受信している現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。これにより、本実施形態に係るネットワークシステム10によれば、更新処理が失敗した場合に提供装置20にアクセスしなくてよいので、全体の更新時間を短くすることができる。
In the
(第1変形例)
図15は、第1変形例に係る提供装置20および中継装置26の機能構成を示す図である。図16は、最新バージョン情報を示す図である。
(First modification)
FIG. 15 is a diagram illustrating a functional configuration of the providing
なお、第1変形例について説明をするにあたり、図1から図14を参照して説明したブロックと略同一の機能および構成を有するブロックについては、同一の符号を付けて相違点を除き説明を省略する。第2変形例以降においても同様である。 In the description of the first modification, blocks having substantially the same functions and configurations as the blocks described with reference to FIGS. 1 to 14 are denoted by the same reference numerals and description thereof is omitted except for differences. To do. The same applies to the second and subsequent modifications.
第1変形例に係る提供装置20は、バージョン送信部122をさらに有する。第1変形例に係る中継装置26の取得部30は、バージョン受信部124とバージョン判定部126とをさらに有する。
The providing
バージョン送信部122は、それぞれのファームウェアについて、提供装置20から送信可能な新FWデータのバージョンを表す最新バージョン情報を中継装置26に送信する。最新バージョン情報は、図16に示すように、ECUIDと、FWIDおよびMAC値を含む。MAC値は、最新のFWデータのMAC値である。バージョン送信部122は、複数のファームウェアについての最新バージョン情報を含むリストを送信してよい。バージョン送信部122は、最新バージョン情報を、例えば一定期間毎に送信する。
The version transmission unit 122 transmits the latest version information indicating the version of new FW data that can be transmitted from the providing
バージョン受信部124は、提供装置20から送信可能な新FWデータのバージョンを表す最新バージョン情報を受信する。バージョン判定部126は、受信した最新バージョン情報に基づき、電子制御装置24に記憶されている現FWデータのバージョンより、提供装置20から送信可能な新FWデータのバージョンが新しいかを判断する。
The
要求送信部52は、電子制御装置24に記憶されている現FWデータのバージョンより、提供装置20から送信可能な新FWデータのバージョンが新しい場合、バージョン判定部126から通知を受ける。そして、要求送信部52は、電子制御装置24に記憶されている現FWデータのバージョンより、提供装置20から送信可能な新FWデータのバージョンが新しいことを条件として、そのファームウェアについての取得要求を提供装置20に送信する。
The
図17は、第1変形例に係る中継装置26による取得処理フローを示す図である。第1変形例において、取得部30は、図17に示す取得処理を実行する。
FIG. 17 is a diagram illustrating an acquisition processing flow by the
まず、ステップS81において、取得部30は、提供装置20から最新バージョン情報を受信する。続いて、ステップS82において、取得部30は、ECUIDおよびFWIDが最新バージョン情報と一致する管理データが管理データ記憶部34に記憶されているかを判断する。一致する管理データが無い場合(S82のNo)、取得部30は、本フローを終了する。一致する管理データが有る場合(S82のYes)、取得部30は、処理をステップS83に進める。
First, in step S <b> 81, the
ステップS83において、取得部30は、最新バージョン情報に含まれるMAC値と、ECUIDおよびFWIDが一致する管理データに含まれる現FWのMAC値とを比較する。MAC値が一致した場合(S83のYes)、取得部30は、電子制御装置24に記憶されている現FWデータのバージョンと、提供装置20から送信可能な最新のバージョンとが同一であるとして、本フローを終了する。一致しなかった場合(S83のNo)、取得部30は、電子制御装置24に記憶されている現FWデータのバージョンより、提供装置20から送信可能な新FWデータのバージョンが新しいと判断し、処理をステップS84に進める。
In step S83, the
ステップS84において、取得部30は、最新バージョン情報に含まれるECUIDおよびFWIDにより特定されるファームウェアについて、取得要求を提供装置20に送信する。提供装置20は、中継装置26から取得要求を受信すると、図8の場合と同様に応答情報を中継装置26に送信する。
In step S84, the
続いて、ステップS85において、取得部30は、提供装置20から応答情報を受信する。そして、以後、取得部30は、図8のステップS14からステップS17までの処理と同様の処理を実行する。ただし、ステップS17において、エラー回数が一定回数未満の場合(S17のNo)、取得部30は、処理をステップS84に戻す。
Subsequently, in step S <b> 85, the
このような第1変形例に係る中継装置26は、電子制御装置24に記憶されている現FWデータのバージョンより、提供装置20から送信可能な新FWデータのバージョンが新しい場合に、取得要求を送信することができる。従って、中継装置26によれば、効率良く取得要求を送信することができる。
The
(第2変形例)
図18は、第2変形例に係る中継装置26および電子制御装置24の機能構成を示す図である。第2変形例に係る電子制御装置24は、記憶しているデータが正当であるか否かの検証を実行することができる。従って、第2変形例においては、電子制御装置24に書き込まれた新FWデータおよび現FWデータの検証を、電子制御装置24が実行する。
(Second modification)
FIG. 18 is a diagram illustrating a functional configuration of the
第2変形例に係る電子制御装置24は、図11に示した構成と比較して、第3検証部142および結果送信部144をさらに有し、検証値送信部94を有さない構成である。また、第2変形例に係る中継装置26の更新部32は、図11に示した構成と比較して、結果受信部146をさらに有し、検証値受信部96および第2検証部98を有さない構成である。
The
第2変形例において、データ送信部84は、開始検知部78から開始指示を受け取ると、提供装置20から受信した新FWデータ、および、提供装置20から受信した新FWデータを検証するための第6検証値を、更新指示とともに電子制御装置24に送信する。第6検証値は、提供装置20から受信した新FWデータのMAC値である。これにより、データ送信部84は、電子制御装置24に現FWデータを新FWデータに更新させることができるとともに、電子制御装置24に書き込まれた新FWデータの正当性を検証させることができる。
In the second modification, when the
第3検証部142は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを検証する。具体的には、第3検証部142は、更新処理において電子制御装置24に書き込まれた新FWデータを検証するための第5検証値と、中継装置26から受信した新FWデータを検証するための第6検証値とが一致しない場合に、更新処理により電子制御装置24に書き込まれた新FWデータが正当ではないと判断する。
The
ここで、第5検証値は、第2検証値生成部92により算出された、データ記憶部70に書き込まれた新FWデータに対するMAC値である。また、第6検証値は、中継装置26から受信した新FWデータのMAC値である。
Here, the fifth verification value is a MAC value calculated by the second verification
結果送信部144は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かの結果を中継装置26に送信する。結果受信部146は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かの結果を電子制御装置24から受信する。
The
結果受信部146は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であったことを示す結果を受信した場合、その結果を、確定部100および通知部102に通知する。確定部100は、結果受信部146から、書き込まれた新FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている情報を読み出して、管理データ記憶部34に記憶させる。通知部102は、結果受信部146から、書き込まれた新FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および更新対象の電子制御装置24に、更新対象の電子制御装置24におけるファームウェアの更新が完了したことを示す情報を送信する。
When the
一方、結果受信部146は、更新処理において電子制御装置24に書き込まれた新FWデータが正当でなかったことを示す結果を受信した場合、更新処理が失敗したことを、データ送信部84に通知する。
On the other hand, when the
データ送信部84は、更新処理が失敗した場合、提供装置20から受信した現FWデータ、および、現FWデータを検証するための第8検証値を、復元指示とともに電子制御装置24に送信する。第8検証値は、管理データ記憶部34に記憶されている現FWデータのMAC値である。これにより、データ送信部84は、電子制御装置24に現FWデータを復元させることができるとともに、電子制御装置24に書き込まれた現FWデータの正当性を検証させることができる。
When the update process fails, the
第3検証部142は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを検証する。具体的には、第3検証部142は、復元処理において電子制御装置24に書き込まれた現FWデータを検証するための第7検証値と、中継装置26から受信した現FWデータを検証するための第8検証値とが一致しない場合に、復元処理により電子制御装置24に書き込まれた現FWデータが正当ではないと判断する。
The
ここで、第7検証値は、第2検証値生成部92により算出された、データ記憶部70に書き込まれた現FWデータにおけるMAC値である。また、第8検証値は、中継装置26から受信した現FWデータのMAC値である。
Here, the seventh verification value is the MAC value in the current FW data written in the
結果送信部144は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かの結果を中継装置26に送信する。結果受信部146は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かの結果を電子制御装置24から受信する。
The
結果受信部146は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であったことを示す結果を受信した場合、その結果を、通知部102に通知する。通知部102は、結果受信部146から、書き込まれた現FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および復元対象の電子制御装置24に、更新対象の電子制御装置24における処理が完了したことを示す情報を送信する。
When the
また、結果受信部146は、復元処理において電子制御装置24に書き込まれた現FWデータが正当でなかったことを示す結果を受信した場合、復元処理が失敗したことをデータ送信部84に通知する。
In addition, when the
データ送信部84は、復元処理が失敗した場合、現FWデータおよび第8検証値を復元指示とともに電子制御装置24に送信する処理を繰り返す。これにより、データ送信部84は、電子制御装置24に対して繰り返して復元処理を実行させることができる。
When the restoration process fails, the
ただし、結果受信部146は、復元処理において電子制御装置24に書き込んだ現FWデータが正当でなかったことを示す結果を受信した回数(エラー回数)が一定回数以上となった場合、データ送信部84による現FWデータの送信を終了させる。そして、結果受信部146は、電子制御装置24に正当なデータが書き込まれていないことを通知部102に通知する。通知部102は、結果受信部146から、正当なデータが書き込まれていないことを示す通知を受けると、他の電子制御装置24および更新対象の電子制御装置24に、更新対象の電子制御装置24に正当なデータが書き込まれていないことを示す情報を送信する。
However, the
図19は、第2変形例に係る中継装置26による更新処理フローを示す図である。第2変形例において、更新部32は、図19に示す更新処理を実行する。
FIG. 19 is a diagram illustrating an update processing flow by the
まず、更新部32は、図12のステップS41からステップS46までと同様の処理を実行する。ステップS46を終了すると、更新部32は、処理をステップS91に進める。
First, the updating
ステップS91において、更新部32は、提供装置20から受信した新FWデータ、および、提供装置20から受信した新FWデータのMAC値(第6検証値)を、更新指示とともに電子制御装置24に送信する。続いて、ステップS92において、更新部32は、電子制御装置24から、書き込んだ新FWデータが正当であるか否かの結果を受信する。
In step S91, the updating
続いて、ステップS93において、更新部32は、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを判断する。更新部32は、正当である場合(S93のYes)、処理をステップS50に進め、正当でない場合(S93のNo)、処理をステップS94に進める。
Subsequently, in step S93, the
ステップS50およびステップS51において、更新部32は、図12の場合と同様に処理を実行する。ステップS51を終了すると、更新部32は、本ファームウェアについて更新処理を終了する。
In step S50 and step S51, the
ステップS94において、更新部32は、提供装置20から受信した現FWデータおよび現FWデータのMAC値(第8検証値)を、復元指示とともに電子制御装置24に送信する。続いて、ステップS95において、更新部32は、電子制御装置24から、復元処理において書き込んだ現FWデータが正当であるか否かの検証結果を受信する。
In step S94, the updating
続いて、ステップS96において、更新部32は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを判断する。更新部32は、正当である場合(S96のYes)、処理をステップS51に進め、正当でない場合(S96のNo)、処理をステップS97に進める。
Subsequently, in step S96, the updating
ステップS97において、更新部32は、復元処理のエラー回数が、一定回数以上であるか否かを判断する。エラー回数が一定回数未満である場合(S97のNo)、更新部32は、処理をステップS94に戻して、現FWデータの送信から処理を繰り返す。エラー回数が一定回数以上である場合(S97のYes)、処理をステップS56に進める。
In step S97, the
ステップS56において、更新部32は、図12の場合と同様に処理を実行する。そして、ステップS56を終了すると、更新部32は、本ファームウェアについて更新処理を終了する。
In step S56, the
このような第2変形例に係る中継装置26は、電子制御装置24に書き込まれたデータの正当性を、電子制御装置24において検証をさせることができる。
The
(第3変形例)
図20は、第3変形例に係る中継装置26および電子制御装置24の機能構成を示す図である。図21は、第3変形例に係る状態記憶部40に記憶される情報の内容を示す図である。
(Third Modification)
FIG. 20 is a diagram illustrating a functional configuration of the
第3変形例に係る中継装置26は、電子制御装置24に書き込まれたデータの正当性を、電子制御装置24で検証するか、中継装置26で検証するかを切り替えることができる。第3変形例において、電子制御装置24は、図11に示す構成、または、図18に示す構成である。電子制御装置24が図11に示す構成の場合、電子制御装置24に書き込まれたデータの正当性を中継装置26が検証する。電子制御装置24が図18に示す構成の場合、電子制御装置24に書き込まれたデータの正当性を電子制御装置24が検証する。
The
第3変形例に係る中継装置26の更新部32は、図11に示した構成に加えて、結果受信部146と、切替部152とをさらに有する。結果受信部146は、図18に示した構成と同様の機能を有する。
The updating
第3変形例において、状態記憶部40は、図21に示すように、検証主体情報をさらに記憶する。検証主体情報は、電子制御装置24に書き込まれたデータが正当であるか否かの検証を、中継装置26で実行するか電子制御装置24で実行するかを示す。
In the third modification, the
切替部152は、更新対象の電子制御装置24についての検証主体情報を状態記憶部40から読み出す。切替部152は、読み出した検証主体情報に基づき、検証を中継装置26で実行させるか電子制御装置24で実行させるかを切り替える。
The switching unit 152 reads verification subject information about the
切替部152は、検証を中継装置26で実行させる場合、検証値受信部96および第2検証部98の機能を有効化し、結果受信部146の機能を停止させる。切替部152は、検証を電子制御装置24で実行させる場合、検証値受信部96および第2検証部98の機能を停止させ、結果受信部146の機能を有効化させる。
When the verification is performed by the
図22は、第3変形例に係る中継装置26による更新処理フローを示す図である。第3変形例において、更新部32は、図22に示す更新処理を実行する。
FIG. 22 is a diagram illustrating an update processing flow by the
まず、更新部32は、図12のステップS41からステップS46までと同様の処理を実行する。ステップS46を終了すると、更新部32は、処理をステップS111に進める。
First, the updating
ステップS111において、更新部32は、更新対象の電子制御装置24についての検証主体情報を状態記憶部40から読み出す。続いて、ステップS112において、更新部32は、読み出した検証主体情報に基づき、検証を中継装置26で実行させるか、電子制御装置24で実行させるかを判断する。
In step S <b> 111, the
更新部32は、検証を中継装置26で実行させる場合(S112のYes)、処理をステップS113の第1更新フローに進める。更新部32は、検証を電子制御装置24で実行させる場合(S112のNo)、処理をステップS114の第2更新フローに進める。
When the
ステップS113の第1更新フローは、図12に示すステップS47以降の処理フローと同様である。また、ステップS114の第2更新フローは、図19に示すステップS91以降の処理フローと同様である。 The first update flow in step S113 is the same as the process flow after step S47 shown in FIG. Further, the second update flow in step S114 is the same as the process flow after step S91 shown in FIG.
以上の処理を実行することにより、更新部32は、電子制御装置24に書き込まれたデータの検証を中継装置26または電子制御装置24に実行させることができる。
By executing the above processing, the updating
図23は、第2更新処理フローの他の一例を示す図である。電子制御装置24は、記憶しているデータを更新する場合、外部から受信したデータを一時的に記憶するためのバッファを有する場合がある。このような構成の電子制御装置24は、中継装置26から受信した新FWデータをバッファに一時的に格納し、バッファに格納した状態において新FWデータの正当性を検証することができる。
FIG. 23 is a diagram illustrating another example of the second update processing flow. When updating the stored data, the
そして、電子制御装置24は、バッファに格納した新FWデータが正当であると判断した場合、新FWデータをバッファからデータ記憶部70に転送する。これにより、電子制御装置24は、記憶している現FWデータを新FWデータに更新することができる。
If the
一方、電子制御装置24は、バッファに格納した新FWデータが正当ではないと判断した場合、バッファに記憶している新FWデータをデータ記憶部70には転送せずに、削除する。この場合、電子制御装置24は、データ記憶部70には現FWデータが残っており、再度、現FWデータを書き込む必要がない。
On the other hand, when it is determined that the new FW data stored in the buffer is not valid, the
そこで、電子制御装置24がこのようなバッファを有する構成の場合、更新部32は、ステップS114の第2更新フローにおいて、図23に示す処理を実行してもよい。
Therefore, when the
まず、ステップS121において、更新部32は、提供装置20から受信した新FWデータ、および、提供装置20から受信した新FWデータのMAC値(第6検証値)を、更新指示とともに電子制御装置24に送信する。続いて、ステップS122において、更新部32は、電子制御装置24から、新FWデータが正当であるか否かの検証結果を受信する。
First, in step S121, the
続いて、ステップS123において、更新部32は、電子制御装置24に送信した新FWデータが正当であったか否かを判断する。更新部32は、正当である場合(S123のYes)、処理をステップS124に進め、正当でない場合(S123のNo)、処理をステップS125に進める。
Subsequently, in step S123, the
ステップS124において、更新部32は、一時記憶部38に記憶されている情報を読み出して、管理データ記憶部34に転送する。具体的には、更新部32は、一時記憶部38から新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを読み出して、現FWのMAC値、現FWのバージョン番号および現FWの開発者IDとして管理データ記憶部34に記憶させる。更新部32は、ステップS124を終えると、処理をステップS125に進める。
In step S <b> 124, the
ステップS125において、更新部32は、更新対象の電子制御装置24および他の電子制御装置24に、更新対象の電子制御装置24がファームウェアの更新を完了した旨を示す終了通知を送信する。この場合、送信した新FWデータが正当であれば、電子制御装置24は新FWデータに基づき動作する。また、送信した新FWデータが正当でなければ、電子制御装置24は現FWデータに基づき動作をする。そして、更新部32は、本ファームウェアについて更新処理を終了する。
In step S <b> 125, the
(第4変形例)
図24は、第4変形例に係る中継装置26の機能構成を示す図である。第4変形例は、図1から図14を参照して説明したネットワークシステム10を変形した構成であるが、第1変形例、第2変形例および第3変形例に適用されてもよい。
(Fourth modification)
FIG. 24 is a diagram illustrating a functional configuration of the
中継装置26は、現FWデータ記憶部201(現データ記憶部)をさらに備える。現FWデータ記憶部201は、制御対象システム22に備えられるそれぞれの電子制御装置24に記憶されている現FWデータを記憶する。
The
取得部30は、提供装置20から新FWデータを受信する。取得部30は、提供装置20から新FWデータを受信した場合、受信した新FWデータが正当であるか否かを判断する。更新部32は、提供装置20から受信した正当である新FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを新FWデータに更新させる。更新部32は、現FWデータを新FWデータに更新する更新処理が成功した場合、電子制御装置24に送信した新FWデータを現FWデータ記憶部201に転送して、現FWデータとして記憶させる。
The
また、取得部30は、提供装置20から新FWデータを受信した場合、現FWデータ記憶部201に記憶されている現FWデータが正当であるか否かも判断する。更新部32は、更新処理が失敗した場合、現FWデータ記憶部201に記憶されている正当である現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。
In addition, when receiving the new FW data from the providing
また、取得部30は、現FWデータ記憶部201に記憶されている現FWデータが正当でないと判断された場合、提供装置20から現FWデータを受信する。取得部30は、提供装置20から現FWデータを受信した場合、受信した現FWデータが正当であるか否かを判断する。更新部32は、現FWデータ記憶部201に記憶されている現FWデータが正当でなかった場合であって且つ更新処理が失敗した場合、受信した正当な現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。そして、更新部32は、復元処理が成功した場合、電子制御装置24に送信した現FWデータを現FWデータ記憶部201に転送して、記憶させる。
In addition, when it is determined that the current FW data stored in the current FW
図25は、現FWデータ記憶部201に記憶される現ファームウェア情報の内容を示す図である。現FWデータ記憶部201は、それぞれの電子制御装置24に記憶されたそれぞれのファームウェア毎に、図25に示す現ファームウェア情報を記憶する。
FIG. 25 is a diagram showing the contents of the current firmware information stored in the current FW
現ファームウェア情報は、ECUID、FWIDおよび現FWデータを含む。ECUIDは、その電子制御装置24の識別子である。FWIDは、そのファームウェアの識別子である。
The current firmware information includes ECUID, FWID, and current FW data. The ECU ID is an identifier of the
現FWデータは、そのファームウェアの実体データである。つまり、現FWデータは、電子制御装置24に現在書き込まれているべきファームウェアの実体データである。
The current FW data is the actual data of the firmware. That is, the current FW data is firmware entity data that should be currently written in the
図26は、第4変形例に係る提供装置20および中継装置26の機能構成を示す図である。
FIG. 26 is a diagram illustrating a functional configuration of the providing
要求送信部52は、要求識別子と、ECUIDと、FWIDと、バージョン特定情報とを含む取得要求を、提供装置20に送信する。要求識別子は、新FWデータの送信を要求する取得要求か、現FWデータの送信を要求する取得要求かを識別する情報である。
The
要求送信部52は、ファームウェア毎に、予め定められた更新タイミングで(例えば定期的に)、新FWデータの送信を要求する取得要求を提供装置20に送信する。また、要求送信部52は、ファームウェアの更新において、現FWデータ記憶部201に記憶されている現FWデータが正当でないと判断された場合、そのファームウェアの現FWデータの送信を要求する取得要求を提供装置20に送信する。
The
特定部56は、新FWデータの取得要求を受信した場合、そのファームウェアについて、電子制御装置24が記憶している現FWデータのバージョンよりも新しいバージョンの実体データ(新FWデータ)が、存在するか否かを判断する。
When the
応答送信部58は、新FWデータの取得要求を受信した場合であって且つ新FWデータが存在しない場合、ECUID、FWIDおよび更新フラグを含む応答情報を送信する。応答送信部58は、新FWデータの取得要求を受信した場合であって且つ新FWデータが存在する場合、ECUID、FWID、更新フラグ、新FWデータ、新FWのMAC値(第3検証値)、新FWのバージョン番号および新FWの開発者IDを含む応答情報を送信する。更新フラグは、新FWデータが存在しない場合には0、新FWデータが存在する場合には0以外の値となる。
The
また、応答送信部58は、現FWデータの取得要求を受信した場合、ECUID、FWID、更新フラグ、現FWデータ、現FWのMAC値(第9検証値)、現FWのバージョン番号および現FWの開発者IDを含む応答情報を送信する。更新フラグは、0以外の値となる。
When the
応答受信部60は、新FWデータの取得要求を送信した場合であって且つ新FWデータが存在しない場合、ECUID、FWIDおよび更新フラグを含む応答情報を受信する。応答受信部60は、新FWデータの取得要求を送信した場合であって且つ新FWデータが存在する場合、ECUID、FWID、更新フラグ、新FWデータ、新FWのMAC値(第3検証値)、新FWのバージョン番号および新FWの開発者IDを含む応答情報を受信する。また、応答受信部60は、現FWデータの取得要求を送信した場合、ECUID、FWID、更新フラグ、現FWデータ、現FWのMAC値(第9検証値)、現FWのバージョン番号および現FWの開発者IDを含む応答情報を受信する。
The
第1検証値生成部62は、新FWデータの取得要求を送信した場合、提供装置20から受信した新FWデータについて、MAC値(第4検証値)を算出する。また、新FWデータの取得要求を送信した場合、第1検証値生成部62は、現FWデータ記憶部201に記憶された現FWデータについて、MAC値(第10検証値)を算出する。具体的には、第1検証値生成部62は、現FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す。第1検証値生成部62は、読み出した共有鍵データと、現FWデータ記憶部201に記憶された現FWデータとによりMAC値を算出する。
When the first verification
また、第1検証値生成部62は、現FWデータの取得要求を送信した場合、提供装置20から受信した現FWデータについて、MAC値(第11検証値)を算出する。具体的には、第1検証値生成部62は、現FWの開発者IDに対応する共有鍵データを共有鍵記憶部36から読み出す。第1検証値生成部62は、読み出した共有鍵データと、提供装置20から受信した現FWデータとによりMAC値を算出する。
Further, when the first verification
第1検証部64は、提供装置20から受信した新FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、提供装置20から受信した第3検証値と、共有鍵データと提供装置20から受信した新FWデータとにより算出された第4検証値とが一致する場合に、提供装置20から受信した新FWデータが正当であると判断する。これにより、第1検証部64は、提供装置20から受信した新FWデータの開発者が、中継装置26と同一の共有鍵データを保持しているか否かを検証することができる。
The
なお、第1検証部64は、提供装置20から受信した新FWデータが正当でない場合、要求送信部52に対して、再度、新FWデータの取得要求を送信させてもよい。第1検証部64は、一定回数、同一の取得要求を送信しても新FWデータが正当ではない場合、取得要求の送信を中止させる。
In addition, when the new FW data received from the providing
また、新FWデータの取得要求を送信した場合、第1検証部64は、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、電子制御装置24に記憶されている現FWデータを検証するための第1検証値と、現FWデータ記憶部201に記憶された現FWデータを検証するための第10検証値とが一致する場合に、現FWデータ記憶部201に記憶された現FWデータが正当であると判断する。
Further, when the acquisition request for new FW data is transmitted, the
ここで、第1検証値は、管理データ記憶部34に記憶されている現FWのMAC値である。第10検証値は、第1検証値生成部62により算出された、現FWデータ記憶部201に記憶された現FWデータについてのMAC値である。すなわち、第1検証部64は、現FWデータ記憶部201に記憶された現FWデータが、電子制御装置24に記憶されている現FWデータと同一であるか否かを検証する。
Here, the first verification value is the MAC value of the current FW stored in the management
第1検証部64は、現FWデータ記憶部201に記憶された現FWデータが正当でない場合、要求送信部52に対して、現FWデータの取得要求を送信させる。
If the current FW data stored in the current FW
現FWデータの取得要求を送信した場合、第1検証部64は、提供装置20から受信した現FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、提供装置20から受信した第9検証値と、共有鍵データと提供装置20から受信した現FWデータとにより算出された第11検証値とが一致する場合に、提供装置20から受信した現FWデータが正当であると判断する。
When the current FW data acquisition request is transmitted, the
ここで、第9検証値は、現FWデータの取得要求に応じて、提供装置20から受信した現FWデータのMAC値(現FWのMAC値)である。第11検証値は、第1検証値生成部62により算出された現FWデータのMAC値である。すなわち、第1検証部64は、提供装置20から受信した現FWデータの開発者が、中継装置26と同一の共有鍵データを保持しているか否かを検証する。
Here, the ninth verification value is the MAC value (the MAC value of the current FW) of the current FW data received from the providing
なお、第1検証部64は、提供装置20から受信した現FWデータが正当でない場合、要求送信部52に対して、再度、現FWデータの取得要求を送信させてもよい。第1検証部64は、一定回数、同一の取得要求を送信しても現FWデータが正当ではない場合、取得要求の送信を中止させる。
In addition, when the current FW data received from the providing
第1検証部64は、提供装置20から受信した新FWデータ、および、現FWデータ記憶部201に記憶された現FWデータ(または提供装置20から受信した現FWデータ)が正当であることを条件として、応答受信部60が受信した情報等を一時記憶部38に記憶させる。具体的には、第1検証部64は、提供装置20から受信した、ECUID、FWID、新FWデータ、新FWのMAC値、新FWのバージョン番号、新FWの開発者IDを、一時記憶部38に記憶させる。さらに、第1検証部64は、現FWデータ記憶部201に記憶された現FWデータ(または提供装置20から受信した現FWデータ)を、一時記憶部38に記憶させる。
The
以上の構成により、中継装置26は、提供装置20から新FWデータを受信することができる。さらに、中継装置26は、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを判断することができる。また、中継装置26は、現FWデータ記憶部201に記憶された現FWデータが正当でない場合には、提供装置20から現FWデータを受信することができる。中継装置26は、受信した現FWデータが正当であるか否かを判断することができる。そして、中継装置26は、新FWデータおよび現FWデータが正当であることを条件として、一時記憶部38に新FWデータおよび現FWデータを記憶させることができる。
With the above configuration, the
なお、要求送信部52は、ファームウェアの更新タイミングに関わらず(例えば定期的に)、現FWデータの送信を要求する取得要求を提供装置20に送信してもよい。これにより、取得部30は、予め正当な現FWデータを取得して現FWデータ記憶部201に記憶させておくことができる。なお、この場合、応答情報に含まれる更新フラグは、0となる。
Note that the
また、この場合、第1検証部64は、提供装置20から受信した応答情報に含まれる現FWのMAC値と、管理データ記憶部34に記憶されている現FWのMAC値とが一致するか否かを判断してもよい。一致しない場合、現FWのMAC値を生成するために用いた共有鍵データが更新された可能性がある。従って、一致しない場合、第1検証部64は、MAC値が一致しない旨をユーザ等に通知する。これにより、第1検証部64は、共有鍵データの更新を促すことができる。
In this case, the
図27は、第4変形例に係る中継装置26による取得処理フローを示す図である。本変形例に係る取得部30は、図27に示す取得処理を実行する。
FIG. 27 is a diagram illustrating an acquisition processing flow by the
まず、ステップS201において、取得部30は、何れかのファームウェアについて、予め定められたタイミングにおいて、新FWデータの取得要求を提供装置20に送信する。
First, in step S <b> 201, the
提供装置20は、新FWデータの取得要求に応じて、対応するファームウェアについての応答情報を中継装置26に送信する。具体的には、提供装置20は、対応する新FWデータが存在しない場合、ECUID、FWID、および、値が0とされた更新フラグを含む応答情報を送信する。提供装置20は、新FWデータが存在する場合、ECUID、FWID、値が0以外とされた更新フラグ、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを含む応答情報を送信する。
The providing
続いて、ステップS202において、取得部30は、応答情報を受信する。続いて、ステップS203において、取得部30は、応答情報に含まれる更新フラグが、0以外の値であるか否かを判断する。更新フラグが0である場合(S203のNo)、取得部30は、本フローを終了する。更新フラグが0以外の値である場合(S203のYes)、処理をステップS204に進める。
Subsequently, in step S202, the
ステップS204において、取得部30は、受信した新FWデータが正当であるか否かを判断する。取得部30は、正当である場合(S204のYes)、処理をステップS206に進め、正当でない場合(S204のNo)、処理をステップS205に進める。
In step S204, the
ステップS205において、取得部30は、新FWデータが正当ではなかった回数(エラー回数)が、一定回数以上であるか否かを判断する。エラー回数が一定回数未満である場合(S205のNo)、取得部30は、処理をステップS201に戻す。エラー回数が一定回数以上である場合(S205のYes)、取得部30は、本フローを終了する。
In step S205, the
ステップS206において、取得部30は、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを判断する。取得部30は、正当である場合(S206のYes)、処理をステップS211に進め、正当でない場合(S206のNo)、処理をステップS207に進める。
In step S206, the
ステップS207において、取得部30は、同一のファームウェアについて、現FWデータの取得要求を提供装置20に送信する。提供装置20は、現FWデータの取得要求に応じて、対応するファームウェアについての応答情報を中継装置26に送信する。具体的には、提供装置20は、ECUID、FWID、値が0以外とされた更新フラグ、現FWデータ、現FWのMAC値、現FWのバージョン番号および現FWの開発者IDを含む応答情報を送信する。
In step S207, the
続いて、ステップS208において、取得部30は、応答情報を受信する。ステップS209において、取得部30は、受信した現FWデータが正当であるか否かを判断する。取得部30は、正当である場合(S209のYes)、処理をステップS211に進め、正当でない場合(S209のNo)、処理をステップS210に進める。
Subsequently, in step S208, the
ステップS210において、取得部30は、現FWデータが正当ではなかった回数(エラー回数)が、一定回数以上であるか否かを判断する。エラー回数が一定回数未満である場合(S210のNo)、取得部30は、処理をステップS207に戻す。エラー回数が一定回数以上である場合(S210のYes)、取得部30は、本フローを終了する。
In step S210, the
ステップS211において、取得部30は、提供装置20から受信したECUID、FWID、新FWデータ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを、一時記憶部38に書き込む。さらに、取得部30は、現FWデータ記憶部201に記憶された現FWデータ、または、提供装置20から受信した現FWデータを、一時記憶部38に書き込む。
In step S211, the
ステップS211を終えると、取得部30は、本フローを終了する。この場合、取得部30は、正当な現FWデータまたは新FWデータを受信できている。
When step S211 is completed, the
図28は、第4変形例に係る中継装置26および電子制御装置24の機能構成を示す図である。
FIG. 28 is a diagram illustrating a functional configuration of the
確定部100は、更新処理において電子制御装置24に書き込まれた新FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている新FWデータを読み出す。そして、確定部100は、読み出した新FWデータを現FWデータ記憶部201に転送して、現FWデータ記憶部201に書き込む。すなわち、確定部100は、更新処理が成功した場合、電子制御装置24に送信した新FWデータを、現FWデータとして現FWデータ記憶部201に書き込む。
When the
また、第2検証部98は、更新処理において電子制御装置24に書き込まれた新FWデータが正当ではないと判断した場合、更新処理が失敗したことを、データ送信部84に通知する。データ送信部84は、更新処理が失敗した場合、一時記憶部38に記憶されている現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。すなわち、データ送信部84は、現FWデータ記憶部201に記憶されている正当である現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。また、現FWデータ記憶部201に記憶されている現FWデータが正当でなかった場合、データ送信部84は、提供装置20から受信した正当である現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。
If the
また、確定部100は、復元処理において電子制御装置24に書き込まれた現FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている現FWデータを読み出す。そして、確定部100は、読み出した現FWデータを現FWデータ記憶部201に転送して、現FWデータ記憶部201に書き込む。すなわち、確定部100は、復元処理が成功した場合、電子制御装置24に送信した現FWデータを現FWデータ記憶部201に書き込む。
Further, when receiving the notification that the current FW data written in the
このような本変形例に係る中継装置26は、電子制御装置24に記憶された現FWデータを、新FWデータに更新することができる。また、中継装置26は、更新処理において電子制御装置24に書き込まれた新FWデータが正当ではない場合には、現FWデータ記憶部201に記憶されている正当な現FWデータにより、電子制御装置24に記憶された現FWデータを復元することができる。さらに、現FWデータ記憶部201に記憶されている現FWデータが正当でなかった場合にも、中継装置26は、提供装置20から受信した正当な現FWデータにより、電子制御装置24に記憶された現FWデータを復元することができる。
The
図29は、第4変形例に係る中継装置26による更新処理フローを示す図である。本変形例に係る更新部32は、図29に示す更新処理を実行する。
FIG. 29 is a diagram illustrating an update process flow by the
本変形例に係る更新部32は、図12に示したフローと比較して、S221およびS222の処理をさらに実行する点において異なる。
The
更新部32は、ステップS50の後、処理をS221に進める。S221において、更新部32は、一時記憶部38に記憶されている新FWデータを読み出して、読み出した新FWデータを、現FWデータとして現FWデータ記憶部201に書き込む。更新部32は、S221を終えると、処理をS51に進める。
The
また、更新部32は、S54で復元処理において電子制御装置24に書き込まれた現FWデータが正当であると判断した場合(S54のYes)、処理をステップS222に進める。S222において、更新部32は、一時記憶部38に記憶されている現FWデータを読み出して、読み出した現FWデータを、現FWデータ記憶部201に書き込む。更新部32は、S222を終えると、処理をS51に進める。
If the
以上のように、第4変形例に係る中継装置26は、電子制御装置24に書き込まれた現FWデータを現FWデータ記憶部201に記憶しておき、新FWデータへの更新処理が失敗した場合、現FWデータ記憶部201に記憶された現FWデータを用いて復元処理をすることができる。これにより、第4変形例に係る中継装置26によれば、提供装置20との通信量を減らすことができる。また、第4変形例に係るネットワークシステム10は、中継装置26が現FWデータを記憶するので、それぞれの電子制御装置24がファームェアをバックアップするためのメモリを備えなくてよい。従って、第4変形例に係るネットワークシステム10によれば、コストを小さくすることができる。
As described above, the
なお、更新部32は、書き込まれた新FWデータが正当でない場合、現FWデータを電子制御装置24に書き込む復元処理を実行する。しかし、更新部32は、復元処理を一定回数以上失敗する可能性もある。現FWデータ記憶部201は、復元処理が失敗した状況を解析するためのファームウェア、電子制御装置24を最低限の機能で動作させるためのファームウェア、または、これらの両者の機能を有するファームウェアを記憶してもよい。そして、更新部32は、復元処理を一定回数以上失敗した場合、このようなファームウェアを電子制御装置24に送信して、電子制御装置24に記憶させてもよい。
Note that when the new FW data written is not valid, the
また、電子制御装置24は、ファームウェアを更新するためのプログラムを、例えばブートローダ等を記憶したROM領域に、ファームウェアとは別個に記憶してもよい。そして、電子制御装置24は、このプログラムを実行することにより、更新処理および復元処理を実行してもよい。これにより、電子制御装置24は、更新処理中の電源遮断等により再起動された場合、または、上書きしたファームウェアが異常であった場合等に、ファームウェアを更新するためのプログラムに不具合が生じる可能性を少なくすることができる。
Further, the
また、中継装置26は、提供装置20等にファームウェアの更新結果等を通知する場合、電子制御装置24と提供装置20とが共有する鍵により算出したMAC値を付加してもよい。これにより、提供装置20は、それぞれの電子制御装置24の更新結果を安全に取得することができる。
When the
(第5変形例)
図30は、第5変形例に係る提供装置20および中継装置26の機能構成を示す図である。なお、第5変形例は、第4変形例をさらに変形した構成であるが、図1から図14を参照して説明したネットワークシステム10、第1変形例、第2変形例および第3変形例に適用されてもよい。
(5th modification)
FIG. 30 is a diagram illustrating a functional configuration of the providing
中継装置26は、新FWデータ生成部211(新データ生成部)をさらに備える。
The
提供情報記憶部50は、ファームウェアのそれぞれのバージョンについて、差分データをさらに記憶する。差分データは、当該バージョンの実体データから、直前のバージョンの実体データを除いたデータである。
The provided
応答送信部58は、新FWデータの取得要求を受信した場合であって且つ新FWデータが存在する場合、新FWデータに代えて、新FWの差分データを含む応答情報を送信する。すなわち、応答受信部60は、新FWデータの取得要求を送信した場合であって且つ新FWデータが存在する場合、ECUID、FWID、更新フラグ、新FWの差分データ、新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを含む応答情報を受信する。
The
新FWデータ生成部211は、新FWデータの取得要求を送信した場合であって且つ新FWデータが存在する場合、新FWデータを生成する。具体的には、新FWデータ生成部211は、応答情報に含まれる差分データと、現FWデータ記憶部201に記憶されている現FWデータとに基づき、新FWデータを生成する。
The new FW
第1検証値生成部62は、新FWデータの取得要求を送信した場合、新FWデータ生成部211により生成された新FWデータについて、MAC値(第4検証値)を算出する。
When the first verification
第1検証部64は、提供装置20から受信した差分データに基づき生成された新FWデータが正当であるか否かを判断する。具体的には、第1検証部64は、提供装置20から受信した第3検証値と、共有鍵データと新FWデータ生成部211が生成した新FWデータとにより算出された第4検証値とが一致する場合に、提供装置20から受信した差分データに基づき生成された新FWデータが正当であると判断する。
The
第1検証部64は、提供装置20から受信した差分データに基づき生成した新FWデータ、および、現FWデータ記憶部201に記憶された現FWデータが正当であることを条件として、応答受信部60が受信した情報等を一時記憶部38に記憶させる。
The
以上のように、本変形例に係る中継装置26は、新FWデータに代えて、差分データを提供装置20から受信する。これにより、中継装置26は、提供装置20から受信するデータ量を少なくすることができる。
As described above, the
(第6変形例)
図31は、第6変形例に係る中継装置26の機能構成を示す図である。なお、第6変形例は、第4変形例をさらに変形した構成であるが、図1から図14を参照して説明したネットワークシステム10、第1変形例、第2変形例、第3変形例および第5変形例に適用されてもよい。
(Sixth Modification)
FIG. 31 is a diagram illustrating a functional configuration of the
第6変形例に係る中継装置26は、制御対象システム22が有する複数の電子制御装置24のファームウェアを協調して更新する。中継装置26は、システム情報記憶部221をさらに備える。システム情報記憶部221は、システム情報を記憶する。
The
取得部30は、提供装置20から、制御対象システム22が有する複数の電子制御装置24のうちの、更新対象の少なくとも1つの電子制御装置24についての新FWデータ等を受信する。更新部32は、提供装置20から受信したそれぞれの新FWデータを対応する電子制御装置24に送信して、対応する電子制御装置24に現FWデータを新FWデータに更新させる。
The
また、更新部32は、何れかの1つの電子制御装置24において更新処理が失敗した場合、更新対象であった全ての電子制御装置24に現FWデータを送信して、それぞれの電子制御装置24に現FWデータを復元させる。
Further, when the update process fails in any one of the
図32は、システム情報記憶部221に記憶されるシステム情報の内容を示す図である。システム情報記憶部221は、図32に示すシステム情報を記憶する。
FIG. 32 is a diagram showing the contents of the system information stored in the system
システム情報は、システム識別子およびシステムバージョン情報を含む。システム識別子は、制御対象システム22が有する複数の電子制御装置24の組を識別する情報である。制御対象システム22が車両であれば、車両の種別を識別する情報であってよい。例えば、提供装置20は、システム識別子に基づき、制御対象システム22が有する複数の電子制御装置24を特定することができる。
The system information includes a system identifier and system version information. The system identifier is information for identifying a set of a plurality of
システムバージョン情報は、システムリストのバージョンを表す。システムバージョン情報は、システムリストが新しくなる毎に大きくなる数値または文字であってよい。 The system version information represents the version of the system list. The system version information may be a numerical value or a character that increases each time the system list is updated.
システムリストは、制御対象システム22が有する複数の電子制御装置24のそれぞれに記憶されている現FWデータのバージョンの組を表す。例えば、システムリストは、ECUIDとFWIDとFWデータのバージョン番号との組を含むリストであってよい。
The system list represents a set of versions of the current FW data stored in each of the plurality of
図33は、第6変形例に係る提供装置20および中継装置26の機能構成を示す図である。提供情報記憶部50は、システムリストをバージョン毎に記憶する。
FIG. 33 is a diagram illustrating a functional configuration of the providing
例えば、制御対象システム22が有する複数の電子制御装置24のうち、ある1つの電子制御装置24のファームウェアのバージョンが更新されても、他の電子制御装置24もファームウェアが更新されていなければ、安定して動作しない場合がある。システムリストは、このような不安定な動作をしないように保証されたファームウェアのバージョンの組を表す。また、システムリストは、適宜、バージョンが更新される。システムリストは、それぞれのバージョン毎にバージョン番号が割り当てられている。
For example, even if the firmware version of one
要求送信部52は、予め定められた更新タイミングで(例えば定期的に)、新FWデータの取得要求に代えて、一括取得要求を、提供装置20に送信する。一括取得要求は、システム情報記憶部221に記憶されたシステム識別子とシステムバージョン情報とを含む。
The
特定部56は、提供情報記憶部50から一括取得要求を受信した場合、一括取得要求に含まれるシステムバージョン情報により特定されるバージョンよりも新しいバージョンのシステムリストが提供されているかを判断する。新しいバージョンのシステムリストが提供されている場合、特定部56は、バージョンを更新すべき更新対象の少なくとも1つのファームウェアを特定する。具体的には、特定部56は、新しいバージョンのシステムリストにおいて、現在のバージョンのシステムリストから、バージョンが更新されているファームウェアを特定する。
When receiving the batch acquisition request from the provision
応答送信部58は、新しいバージョンのシステムリストが存在しない場合、システム識別子および更新フラグを含む応答情報を送信する。応答送信部58は、新しいバージョンのシステムリストが存在する場合、更新フラグ、並びに、特定された更新対象のファームウェアのそれぞれについての新FWデータ等を含む応答情報を送信する。なお、更新フラグは、新しいバージョンのシステムリストが存在しない場合には0、新しいバージョンのシステムリストが存在する場合には0以外の値となる。
When there is no new version of the system list, the
応答受信部60は、新しいバージョンのシステムリストが存在しない場合、システム識別子および更新フラグを含む応答情報を受信する。応答受信部60は、新しいバージョンのシステムリストが存在する場合、更新フラグ、並びに、特定された更新対象のファームウェアのそれぞれについての新FWデータ等を含む応答情報を受信する。
When there is no new version of the system list, the
第1検証値生成部62は、更新対象のファームウェアのそれぞれについて、新FWデータのMAC値(第4検証値)を算出する。また、第1検証値生成部62は、更新対象のファームウェアのそれぞれについて、現FWデータ記憶部201に記憶された現FWデータのMAC値(第10検証値)を算出する。
The first verification
第1検証部64は、更新対象のファームウェアのそれぞれについて、提供装置20から受信した新FWデータが正当であるか否かを判断する。また、第1検証部64は、更新対象のファームウェアのそれぞれについて、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを判断する。
The
第1検証部64は、更新対象のファームウェアのそれぞれについて、提供装置20から受信した新FWデータ、および、現FWデータ記憶部201に記憶された現FWデータが正当であることを条件として、応答受信部60が受信した情報等を一時記憶部38に記憶させる。具体的には、第1検証部64は、更新対象のファームウェアのそれぞれについて、提供装置20から受信した、ECUID、FWID、新FWデータ、新FWのMAC値、新FWのバージョン番号、新FWの開発者IDを、一時記憶部38に記憶させる。さらに、第1検証部64は、更新対象のファームウェアのそれぞれについて、現FWデータ記憶部201に記憶された現FWデータを、一時記憶部38に記憶させる。
The
以上の構成により、中継装置26は、更新対象のファームウェアのそれぞれについて、一括して、提供装置20から新FWデータを受信することができる。さらに、中継装置26は、更新対象のファームウェアのそれぞれについて、受信した新FWデータ、および、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを、一括して判断することができる。
With the above configuration, the
なお、第1検証部64は、提供装置20から受信した何れかの新FWデータが正当でない場合、要求送信部52に対して、その新FWデータの取得要求を送信させてもよい。そして、第1検証部64は、一定回数、同一の取得要求を送信しても新FWデータが正当ではない場合、更新対象の全てのファームウェアについて、取得処理を終了する。
The
また、第1検証部64は、現FWデータ記憶部201に記憶された現FWデータが正当でない場合、要求送信部52に対して、現FWデータの取得要求を送信させてもよい。そして、第1検証部64は、一定回数、同一の取得要求を送信しても現FWデータが正当ではない場合、更新対象の全てのファームウェアについて、取得処理を終了する。
In addition, when the current FW data stored in the current FW
図34は、第6変形例に係る中継装置26による取得処理フローを示す図である。本変形例に係る取得部30は、図34に示す取得処理を実行する。
FIG. 34 is a diagram illustrating an acquisition processing flow by the
まず、ステップS231において、取得部30は、予め定められたタイミングにおいて、一括取得要求を提供装置20に送信する。
First, in step S231, the
提供装置20は、一括取得要求に応じて、対応する応答情報を中継装置26に送信する。提供装置20は、新しいバージョンのシステムリストが提供されていない場合には、値が0とされた更新フラグを含む応答情報を送信する。また、提供装置20は、新しいバージョンのシステムリストが提供されている場合には、値が0以外とされた更新フラグ、および、更新対象のファームウェアのそれぞれについての新FWデータ等を含む応答情報を送信する。
The providing
続いて、ステップS232において、取得部30は、応答情報を受信する。続いて、ステップS233において、取得部30は、応答情報に含まれる更新フラグが、0以外の値であるか否かを判断する。更新フラグが0である場合(S233のNo)、取得部30は、本フローを終了する。更新フラグが0以外の値である場合(S233のYes)、処理をステップS234に進める。
Subsequently, in step S232, the
S234において、取得部30は、更新対象のファームウェアのうちの1つを検証対象のファームウェアとして特定する。続いて、ステップS235において、取得部30は、検証対象のファームウェアについて、新FWデータが正当であるか否かを判断する。取得部30は、正当である場合(S235のYes)、処理をステップS236に進め、正当でない場合(S235のNo)、本フローを終了する。
In S234, the
ステップS236において、取得部30は、検証対象のファームウェアについて、現FWデータ記憶部201に記憶された現FWデータが正当であるか否かを判断する。取得部30は、正当である場合(S236のYes)、処理をステップS237に進め、正当でない場合(S236のNo)、本フローを終了する。
In step S236, the
ステップS237において、取得部30は、検証対象のファームウェアについて、提供装置20から受信した新FWデータ等を一時記憶部38に書き込む。さらに、取得部30は、検証対象のファームウェアについて、現FWデータ記憶部201に記憶された現FWデータを一時記憶部38に書き込む。
In step S237, the
続いて、ステップS238において、取得部30は、更新対象の全てのファームウェアを検証したか否かを判断する。まだ全てを検証していない場合には(S238のNo)、取得部30は、処理をS234に戻し、他のファームウェアを検証対象として特定して処理を続ける。全てを検証した場合には(S238のYes)、取得部30は、本フローを終了する。
Subsequently, in step S238, the
図35は、第6変形例に係る中継装置26および電子制御装置24の機能構成を示す図である。
FIG. 35 is a diagram illustrating a functional configuration of the
開始検知部78は、更新対象のファームウェアを記憶するそれぞれの電子制御装置24が、更新可能か否かを判断する。開始検知部78は、更新対象のファームウェアを記憶するそれぞれの電子制御装置24が全て更新可能である場合、開始送信部80およびデータ送信部84に開始指示を与える。
The
開始送信部80は、開始指示を受け取ると、更新対象のファームウェアを記憶するそれぞれの電子制御装置24に更新開始を示す情報を送信する。
When the
データ送信部84は、開始検知部78から開始指示を受け取ると、更新対象のファームウェアを記憶するそれぞれの電子制御装置24に、提供装置20から受信した対応する新FWデータを電子制御装置24に送信して、電子制御装置24に記憶されている現FWデータを新FWデータに更新させる。
When the
検証値受信部96は、更新対象のファームウェアを記憶するそれぞれの電子制御装置24から、更新処理においてデータ記憶部70に書き込まれた新FWデータを検証するためのMAC値を受信する。
The verification
第2検証部98は、更新対象のファームウェアのそれぞれについて、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを検証する。第2検証部98は、更新対象のファームウェアのそれぞれについて、更新処理において電子制御装置24に書き込まれた新FWデータが正当であると判断した場合、確定部100および通知部102に通知する。
The
確定部100は、更新対象のファームウェアのそれぞれについて、更新処理において電子制御装置24に書き込まれた新FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている情報を読み出して、管理データ記憶部34に記憶させる。
When the
通知部102は、更新対象のファームウェアの全てについて、第2検証部98から新FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および更新対象の電子制御装置24に、ファームウェアの更新を完了したことを示す情報を送信する。
When the
一方、第2検証部98は、何れか1つの電子制御装置24に書き込まれた新FWデータが正当ではないと判断した場合、更新処理が失敗したことを、データ送信部84に通知する。
On the other hand, when the
データ送信部84は、更新処理が失敗した場合、更新対象のファームウェアのそれぞれについて、対応する現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。具体的には、データ送信部84は、更新対象のファームウェアのそれぞれについて、一時記憶部38に記憶された現FWデータを電子制御装置24に送信するとともに、復元指示を送信する。なお、データ送信部84は、まだ新FWデータへ送信しておらず更新を開始していない電子制御装置24については、復元処理をさせなくてもよい。
When the update process fails, the
検証値受信部96は、復元対象のファームウェアのそれぞれについて、電子制御装置24から、復元処理においてデータ記憶部70に書き込まれた現FWデータを検証するためのMAC値を受信する。
The verification
第2検証部98は、復元対象のファームウェアのそれぞれについて、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを検証する。第2検証部98は、復元対象のファームウェアのそれぞれについて、復元処理において電子制御装置24に書き込まれた現FWデータが正当であると判断した場合、通知部102に通知する。通知部102は、復元対象のファームウェアの全てについて、第2検証部98から現FWデータが正当である旨の通知を受けた場合、他の電子制御装置24および更新対象の電子制御装置24に、処理が完了したことを示す情報を送信する。
The
また、第2検証部98は、復元対象のファームウェアの何れかについて、復元処理において電子制御装置24に書き込まれた現FWデータが正当でないと判断した場合、電子制御装置24に正当なデータが書き込まれていないことを通知部102に通知する。通知部102は、第2検証部98から、正当なデータが書き込まれていないことの通知を受けると、他の電子制御装置24および更新対象の電子制御装置24に、正当なデータが書き込まれていないことを示す情報を送信する。
If the
確定部100は、更新対象のファームウェアのそれぞれについて、更新処理において電子制御装置24に書き込まれた新FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている新FWデータを現FWデータ記憶部201に転送して、現FWデータ記憶部201に書き込む。また、確定部100は、復元処理において電子制御装置24に書き込まれた現FWデータが正当である旨の通知を受けた場合、一時記憶部38に記憶されている現FWデータを現FWデータ記憶部201に転送して、現FWデータ記憶部201に書き込む。
When the
図36は、第6変形例に係る中継装置26による更新処理フローを示す図である。更新部32は、図36に示す更新処理を実行する。
FIG. 36 is a diagram illustrating an update processing flow by the
まず、ステップS241において、更新部32は、更新対象のファームウェアのそれぞれについて、更新タイミング情報を管理データ記憶部34から読み出す。続いて、ステップS242において、更新部32は、更新対象のファームウェアを記憶するそれぞれの電子制御装置24についてのECU状態情報を状態記憶部40から読み出す。
First, in step S <b> 241, the
続いて、ステップS243において、更新部32は、読み出したECU状態情報等に基づき、更新対象のファームウェアを記憶する全ての電子制御装置24が更新可能か否かを判断する。更新部32は、更新可能ではない場合(S243のNo)、処理をステップS244に進めて一定時間待機した後に、再度、ステップS242から処理を繰り返す。更新部32は、更新可能である場合(S243のYes)、処理をステップS245に進める。
Subsequently, in step S243, the updating
ステップS245において、更新部32は、更新対象のファームウェアを記憶するそれぞれの電子制御装置24に更新開始を示す情報を送信する。続いて、ステップS246において、更新部32は、他の電子制御装置24に、更新対象の電子制御装置24におけるファームウェアの更新の開始を示す情報を送信する。
In step S245, the
続いて、ステップS247において、更新部32は、更新対象の少なくとも1つのファームウェアのうちの1つのファームウェアを、書き込み対象のファームウェアとして特定する。
Subsequently, in step S247, the
続いて、ステップS248において、更新部32は、書き込み対象のファームウェアについて、提供装置20から受信した新FWデータを電子制御装置24に送信して、電子制御装置24に記憶されている現FWデータを新FWデータに更新させる。
Subsequently, in step S248, the
続いて、ステップS249において、更新部32は、更新対象の電子制御装置24から、書き込んだ新FWデータを検証するためのMAC値を受信する。
Subsequently, in step S249, the updating
続いて、ステップS250において、更新部32は、書き込み対象のファームウェアについて、更新処理において電子制御装置24に書き込まれた新FWデータが正当であるか否かを検証する。正当でない場合(S250のNo)、更新部32は、処理をS251に進めてロールバック処理を実行する。なお、S251のロールバック処理については、図37でさらに説明する。
Subsequently, in step S250, the
正当である場合(S250のYes)、更新部32は、処理をS252に進める。ステップS252において、更新部32は、一時記憶部38に記憶されている、書き込み対象のファームウェアについての新FWのMAC値、新FWのバージョン番号および新FWの開発者IDを読み出して、現FWのMAC値、現FWのバージョン番号および現FWの開発者IDとして管理データ記憶部34に記憶させる。
If it is valid (Yes in S250), the updating
続いて、S253において、更新部32は、一時記憶部38に記憶されている、書き込み対象のファームウェアについての新FWデータを読み出して、読み出した新FWデータを現FWデータとして、現FWデータ記憶部201に書き込む。更新部32は、S253を終えると、処理をS254に進める。
Subsequently, in S253, the
続いて、ステップS254において、更新部32は、更新対象の全てのファームウェアについて、新FWデータを書き込んだか否かを判断する。全てをまだ書き込んでいない場合には(S254のNo)、更新部32は、処理をS247に戻し、他のファームウェアを書き込み対象として特定して処理を続ける。全てを書き込んだ場合には(S254のYes)、更新部32は、本フローを終了する。
Subsequently, in step S254, the
図37は、第6変形例に係る中継装置26によるロールバック処理フローを示す図である。更新部32は、図36で示したS251において、図37に示すロールバック処理を実行する。
FIG. 37 is a diagram showing a rollback processing flow by the
まず、ステップS261において、更新部32は、更新対象のファームウェアのうちの1つのファームウェアを、復元対象のファームウェアとして特定する。なお、更新部32は、新FWデータへ送信しておらず更新を開始していないファームウェアについては、復元対象から除いてよい。
First, in step S <b> 261, the
続いて、ステップS262において、更新部32は、復元対象のファームウェアについて、一時記憶部38に記憶された現FWデータを電子制御装置24に送信して、電子制御装置24に現FWデータを復元させる。
Subsequently, in step S262, the
続いて、ステップS263において、更新部32は、復元対象の電子制御装置24から、書き込んだ現FWデータを検証するためのMAC値を受信する。
Subsequently, in step S263, the updating
続いて、ステップS264において、更新部32は、復元処理において電子制御装置24に書き込まれた現FWデータが正当であるか否かを検証する。更新部32は、正当でない場合(S264のNo)、処理をステップS265に進め、正当である場合(S264のYes)、処理をステップS266に進める。
Subsequently, in step S264, the updating
ステップS265において、更新部32は、復元対象の電子制御装置24および他の電子制御装置24に、復元対象の電子制御装置24に正当なデータが書き込まれていないことを示す失敗通知を送信する。ステップS265を終えると、更新部32は、処理をS268に進める。
In step S <b> 265, the updating
ステップS266において、更新部32は、一時記憶部38に記憶されている、書き込み対象のファームウェアについての現FWのMAC値、現FWのバージョン番号および現FWの開発者IDを読み出して管理データ記憶部34に記憶させる。
In step S266, the
続いて、ステップS267において、更新部32は、一時記憶部38に記憶されている、書き込み対象のファームウェアについての現FWデータを読み出して、読み出した現FWデータを、現FWデータ記憶部201に書き込む。更新部32は、ステップS267を終えると、処理をS268に進める。
Subsequently, in step S267, the
続いて、ステップS268において、更新部32は、更新対象の全てのファームウェアについて、現FWデータを書き込んだか否かを判断する。まだ全てを書き込んでいない場合には(S268のNo)、更新部32は、処理をS261に戻し、他のファームウェアを復元対象として特定して処理を続ける。全てを書き込んだ場合には(S268のYes)、更新部32は、本フローを終了する。
Subsequently, in step S268, the
このような本変形例に係る中継装置26は、複数の電子制御装置24のファームウェアを協調して更新することができる。これにより、中継装置26は、複数の電子制御装置24のファームウェアを、安定して動作をするバージョンの組み合わせとなるように更新することができる。なお、第6変形例に係る構成は、図1から図14を参照して説明したネットワークシステム10に適用されてもよい。
Such a
(第7変形例)
図38は、第7変形例に係るネットワークシステム10を示す図である。なお、第7変形例は、第4変形例をさらに変形した構成であるが、第5変形例および第6変形例に適用されてもよい。
(Seventh Modification)
FIG. 38 is a diagram illustrating a
制御対象システム22は、中継装置26の外部に、記憶装置251をさらに備える。記憶装置251は、内部ネットワークを介して中継装置26と接続されていてもよいし、内部ネットワークとは異なるネットワークで中継装置26と接続されていてもよい。中継装置26は、情報を記憶装置251に書き込むことができる。また、中継装置26は、記憶装置251に記憶されている情報を読み出すことができる。
The
図39は、第7変形例に係る中継装置26および記憶装置251の機能構成を示す図である。中継装置26は、第1通信部261をさらに有する。記憶装置251は、第2通信部262と、現FWデータ記憶部201とを有する。
FIG. 39 is a diagram illustrating a functional configuration of the
第1通信部261および第2通信部262は、互いに情報を送受信する。現FWデータ記憶部201は、第1通信部261および第2通信部262を介して、中継装置26の取得部30および更新部32からアクセスがされる。取得部30および更新部32は、外部の記憶装置251に対して、現FWデータの書き込みおよび読み出しをする。
The
また、更新部32の確定部100は、書き込まれた新FWデータまたは現FWデータが正当である旨の通知(更新結果通知)を電子制御装置24から受け取る。確定部100は、電子制御装置24から送信された更新結果通知と新FWデータ(または現FWデータ)との組を外部の記憶装置251に送信して、記憶させてもよい。これにより、制御対象システム22は、外部の記憶装置251に記憶されている現FWデータが、電子制御装置24に書き込まれていることを保証することができる。
Further, the
このような制御対象システム22は、例えば中継装置26のプログラムが故障した場合であっても、現FWデータ記憶部201に記憶されている現FWデータが不正に書き換えられたり故障したりすることを回避することができる。また、中継装置26および記憶装置251は、共有鍵を用いて現FWデータのMAC値を算出して、送受信する現FWデータを検証してもよい。これにより、制御対象システム22は記憶装置251に記憶される現FWデータの不正な書き換えを防止することができる。
Such a
また、制御対象システム22は、電子制御装置24毎に、記憶装置251を備えてもよい。また、制御対象システム22は、電子制御装置24毎に、中継装置26および記憶装置251に共有鍵を保持させてもよい。これにより、制御対象システム22は、現FWデータの不正な書き換えをより強力に防止することができる。
Further, the
さらに、中継装置26は、更新結果通知に、電子制御装置24に書き込まれた新FWデータ(または現FWデータ)のハッシュ値を付与した情報のMAC値を生成してもよい。そして、中継装置26は、生成したMAC値と、更新結果通知と、新FWデータ(または現FWデータ)とを記憶装置251に送信する。この場合、記憶装置251の第2通信部262は、受信した新FWデータ(または現FWデータ)のハッシュ値を生成し、更新結果通知にハッシュ値を付与した情報のMAC値を生成して、比較する。これにより、第2通信部262は、受信した新FWデータ(または現FWデータ)が確かに電子制御装置24に記憶されているものであることを、中継装置26にマルウェアが進入しているような状況下であっても保証できる。
Further, the
なお、中継装置26および記憶装置251は、記憶装置251が生成した乱数を用いたチャレンジレスポンス方式を利用して、更新結果通知をやり取りしてもよい。これにより、中継装置26および記憶装置251は、過去に有効であった更新結果通知を利用した攻撃を防ぎ、セキュリティを向上させることができる。中継装置26および記憶装置251は、チャレンジレスポンス方式ではなく、公開鍵を用いた方式で過去に有効であった更新結果通知を利用した攻撃を防いでもよい。
Note that the
図40は、実施形態に係る情報処理装置300のハードウェア構成の一例を示す図である。上述した中継装置26は、例えば図40に示すような情報処理装置300により実現することができる。
FIG. 40 is a diagram illustrating an example of a hardware configuration of the
情報処理装置300は、通常のコンピュータと同様の構成をしている。すなわち、情報処理装置300は、CPU302と、ROM304と、RAM306と、記憶装置308と、外部通信装置310と、内部通信装置312とを有する。CPU302、ROM304、RAM306、記憶装置308、外部通信装置310および内部通信装置312は、バスにより接続されている。CPU302、ROM304、RAM306は1つのチップで構成され、それと、記憶装置308、外部通信装置310および内部通信装置312がバスにより接続されてもよい。
The
CPU302は、記憶装置308に記憶されたプログラムをRAM306に展開して実行し、各部を制御して入出力を行ったり、データの加工を行ったりする。ROM304には、OSの起動用プログラムを記憶装置308からRAM306に読み出すスタートプログラムが記憶されている。RAM306は、CPU302の作業領域としてデータを記憶する。
The CPU 302 expands and executes the program stored in the
記憶装置308は、例えば、ハードディスクドライブまたはフラッシュメモリ等である。記憶装置308は、オペレーティングシステム、アプリケーションプログラムおよびデータを記憶している。これらのプログラムは、インストール可能な形式または実行可能な形式のファイルで、コンピュータで読み取り可能な記録メディアに記録して配布される。また、プログラムは、サーバからダウンロードすることにより配布されてもよい。
The
外部通信装置310は、外部ネットワークに接続するためのインターフェイス装置である。内部通信装置312は、内部ネットワークに接続するためのインターフェイス装置である。
The
本実施形態の情報処理装置300で実行されるプログラムは、インストール可能な形式または実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
The program executed by the
また、本実施形態の情報処理装置300で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の情報処理装置300で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、本実施形態のプログラムを、ROM304等に予め組み込んで提供するように構成してもよい。
The program executed by the
情報処理装置300を中継装置26として機能させるためのプログラムは、取得モジュール(要求送信モジュール、応答受信モジュール、第1検証値生成モジュール、第1検証モジュールおよび状況更新モジュール等を含む)と、更新モジュール(状態受信モジュール、開始検知モジュール、開始送信モジュール、データ送信モジュール、検証値受信モジュール、第2検証モジュール、確定モジュールおよび通知モジュール等)とを有する。情報処理装置300は、実際のハードウェアとしてはプロセッサ(CPU302)が記憶媒体(記憶装置308等)からプログラムを読み出して実行することにより上記各部が主記憶装置(RAM306)上にロードされ、取得部30(要求送信部52、応答受信部60、第1検証値生成部62、第1検証部64および状況更新部66等を含む)と、更新部32(状態受信部76、開始検知部78、開始送信部80、データ送信部84、検証値受信部96、第2検証部98、確定部100および通知部102等)とが、主記憶装置上に生成されるようになっている。
A program for causing the
本発明のいくつかの実施形態および変形例を説明したが、これらの実施形態および変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although several embodiments and modifications of the present invention have been described, these embodiments and modifications are presented by way of example and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other forms, and various omissions, replacements, and changes can be made without departing from the scope of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are included in the invention described in the claims and the equivalents thereof.
10 ネットワークシステム
20 提供装置
22 制御対象システム
24 電子制御装置
26 中継装置
30 取得部
32 更新部
34 管理データ記憶部
36 共有鍵記憶部
38 一時記憶部
40 状態記憶部
50 提供情報記憶部
52 要求送信部
54 要求受信部
56 特定部
58 応答送信部
60 応答受信部
62 第1検証値生成部
64 第1検証部
66 状況更新部
70 データ記憶部
72 制御部
74 状態送信部
76 状態受信部
78 開始検知部
80 開始送信部
82 開始受信部
84 データ送信部
86 データ受信部
88 書込部
90 第1鍵記憶部
92 第2検証値生成部
94 検証値送信部
96 検証値受信部
98 第2検証部
100 確定部
102 通知部
104 終了受信部
122 バージョン送信部
124 バージョン受信部
126 バージョン判定部
142 第3検証部
144 結果送信部
146 結果受信部
152 切替部
201 現FWデータ記憶部
211 新FWデータ生成部
221 システム情報記憶部
251 記憶装置
261 第1通信部
262 第2通信部
DESCRIPTION OF
Claims (20)
前記電子制御装置を識別する装置識別子と、前記現データを識別するデータ識別子と、前記現データのバージョンを特定可能なバージョン特定情報とを含む取得要求を、提供装置に送信する要求送信部と、
前記取得要求に応じて、前記提供装置から前記新データを受信する応答受信部と、
前記提供装置から受信した前記新データを前記電子制御装置に送信して前記電子制御装置に記憶されている前記現データを前記新データに更新させ、更新処理が失敗した場合、前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させるデータ送信部と、
を備える中継装置。 A relay device for updating current data stored in an electronic control device to new data,
A request transmitting unit that transmits an acquisition request including a device identifier for identifying the electronic control device, a data identifier for identifying the current data, and version specifying information capable of specifying a version of the current data to a providing device;
In response to the acquisition request, a response receiving unit that receives the new data from the providing device;
When the new data received from the providing device is transmitted to the electronic control device and the current data stored in the electronic control device is updated to the new data. A data transmission unit for transmitting to the electronic control unit and causing the electronic control unit to restore the current data;
A relay device comprising:
前記データ送信部は、前記更新処理が失敗した場合、前記提供装置から受信した前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる
請求項1に記載の中継装置。 The response receiving unit receives the new data and the current data from the providing device in response to the acquisition request,
The relay according to claim 1, wherein, when the update process fails, the data transmission unit transmits the current data received from the providing device to the electronic control device and causes the electronic control device to restore the current data. apparatus.
前記データ送信部は、正当であると判断された前記現データおよび前記新データを前記電子制御装置へ送信する
請求項2に記載の中継装置。 A first verification unit for determining whether the current data and the new data received from the providing device are valid;
The relay device according to claim 2, wherein the data transmission unit transmits the current data and the new data determined to be valid to the electronic control device.
請求項3に記載の中継装置。 The first verification unit includes a first verification value for verifying the current data stored in the electronic control device and a second verification value for verifying the current data received from the providing device. The relay device according to claim 3, wherein, when they match, it is determined that the current data received from the providing device is valid.
前記第1検証部は、前記第3検証値と、共有鍵データと前記提供装置から受信した前記新データとにより算出された第4検証値とが一致する場合に、前記提供装置から受信した前記新データが正当であると判断する
請求項3または4に記載の中継装置。 The response receiving unit further receives a third verification value for verifying the new data from the providing device,
The first verification unit receives the third verification value received from the providing apparatus when the fourth verification value calculated by the shared key data and the new data received from the providing apparatus matches. The relay apparatus according to claim 3, wherein the new data is determined to be valid.
前記データ送信部は、前記更新処理において前記電子制御装置に書き込まれた前記新データが正当ではない場合、前記提供装置から受信した前記現データを前記電子制御装置へ送信して前記電子制御装置に前記現データを復元させる
請求項3から5の何れか1項に記載の中継装置。 A second verification unit that verifies whether the new data written to the electronic control unit by the update process is valid;
The data transmission unit transmits the current data received from the providing device to the electronic control device to the electronic control device when the new data written to the electronic control device in the update process is not valid. The relay device according to claim 3, wherein the current data is restored.
請求項6に記載の中継装置。 The second verification unit includes a fifth verification value for verifying the new data written in the electronic control unit in the update process, and a second value for verifying the new data transmitted to the electronic control unit. 7. The relay device according to claim 6, wherein when the verification value does not match, it is determined that the new data written to the electronic control device by the update process is not valid.
前記中継装置は、前記電子制御装置に書き込まれた前記現データが正当ではない場合、前記電子制御装置に書き込まれたデータが正当でないことを外部に通知する通知部をさらに備える
請求項6または7に記載の中継装置。 The second verification unit further determines whether or not the current data written in the electronic control device in the restoration process is valid,
The relay device further includes a notification unit that notifies the outside that the data written to the electronic control device is not valid when the current data written to the electronic control device is not valid. The relay device described in 1.
請求項8に記載の中継装置。 The second verification unit includes a seventh verification value for verifying the current data written in the electronic control device in the restoration process, and a second value for verifying the current data transmitted to the electronic control device. 9. The relay device according to claim 8, wherein when the verification value does not match, the current data written in the electronic control device is determined not to be valid.
前記中継装置は、前記更新処理において前記電子制御装置に書き込まれた前記新データが正当であるか否かの結果を前記電子制御装置から受信する結果受信部をさらに備え、
前記データ送信部は、前記更新処理において前記電子制御装置に書き込まれた前記新データが正当でなかったことを示す結果を受信した場合、前記提供装置から受信した前記現データおよび前記現データを検証するための第8検証値を前記電子制御装置へ送信して前記電子制御装置に前記現データを復元させる
請求項3から5の何れか1項に記載の中継装置。 The data transmitting unit transmits the new data received from the providing device and a sixth verification value for verifying the new data to the electronic control device and stores the current data stored in the electronic control device. Update to the new data,
The relay device further includes a result receiving unit that receives a result from the electronic control device whether or not the new data written to the electronic control device in the update process is valid,
The data transmission unit verifies the current data and the current data received from the providing device when receiving a result indicating that the new data written to the electronic control device is not valid in the update process. The relay device according to any one of claims 3 to 5, wherein an eighth verification value to be transmitted is transmitted to the electronic control device to cause the electronic control device to restore the current data.
前記電子制御装置に記憶されている前記現データのバージョンより、前記提供装置から送信可能な前記新データのバージョンが新しいかを判断するバージョン判定部と、
をさらに備え、
前記要求送信部は、前記電子制御装置に記憶されている前記現データのバージョンより、前記提供装置から送信可能な前記新データのバージョンが新しいことを条件として、前記取得要求を前記提供装置に送信する
請求項1から10の何れか1項に記載の中継装置。 A version receiving unit that receives information representing a version of the new data that can be transmitted from the providing device;
A version determination unit that determines whether the version of the new data that can be transmitted from the providing device is newer than the version of the current data stored in the electronic control device;
Further comprising
The request transmission unit transmits the acquisition request to the providing apparatus on the condition that the version of the new data that can be transmitted from the providing apparatus is newer than the version of the current data stored in the electronic control apparatus. The relay device according to any one of claims 1 to 10.
前記検証主体情報に基づき、前記検証を前記中継装置で実行させるか前記電子制御装置で実行させるかを切り替える切替部と、
をさらに備える請求項1に記載の中継装置。 A state storage unit that stores verification entity information indicating whether the relay device or the electronic control device executes verification of whether the new data written to the electronic control device is valid;
A switching unit for switching whether to execute the verification by the relay device or the electronic control device based on the verification subject information;
The relay device according to claim 1, further comprising:
前記更新処理が成功した場合、前記電子制御装置に送信した前記新データを、前記現データとして前記現データ記憶部に書き込む確定部と、
をさらに備え、
前記要求送信部は、前記新データの送信を要求する前記取得要求を、前記提供装置に送信し、
前記応答受信部は、前記新データの送信を要求する前記取得要求に応じて、前記提供装置から前記新データを受信し、
前記データ送信部は、前記更新処理が失敗した場合、前記現データ記憶部に記憶されている前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる
請求項1に記載の中継装置。 A current data storage unit for storing the current data;
If the update process is successful, a confirmation unit that writes the new data transmitted to the electronic control device as the current data in the current data storage unit;
Further comprising
The request transmission unit transmits the acquisition request for requesting transmission of the new data to the providing device,
The response receiving unit receives the new data from the providing device in response to the acquisition request for requesting transmission of the new data,
The data transmission unit, when the update process fails, transmits the current data stored in the current data storage unit to the electronic control unit, and causes the electronic control unit to restore the current data. The relay device described in 1.
前記データ送信部は、正当である前記現データおよび前記新データを前記電子制御装置へ送信する
請求項13に記載の中継装置。 A first verification unit that determines whether the new data received from the providing device and the current data stored in the current data storage unit are valid;
The relay device according to claim 13, wherein the data transmission unit transmits the current data and the new data that are valid to the electronic control device.
前記応答受信部は、前記現データの送信を要求する前記取得要求に応じて、前記提供装置から前記現データを受信し、
前記データ送信部は、前記更新処理が失敗した場合、前記提供装置から受信した前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる
請求項14に記載の中継装置。 The request transmission unit, when it is determined that the current data stored in the current data storage unit is not valid, transmits the acquisition request for requesting transmission of the current data to the providing device,
The response receiving unit receives the current data from the providing device in response to the acquisition request for requesting transmission of the current data;
The relay according to claim 14, wherein, when the update process fails, the data transmission unit transmits the current data received from the providing device to the electronic control device and causes the electronic control device to restore the current data. apparatus.
前記応答受信部は、前記新データの送信を要求する前記取得要求に応じて、前記提供装置から前記差分データを受信し、
前記新データ生成部は、前記提供装置から受信した前記差分データと、前記現データ記憶部に記憶された前記現データとに基づき、前記新データを生成し
前記データ送信部は、前記新データ生成部が生成した前記新データを前記電子制御装置に送信して前記電子制御装置に記憶されている前記現データを前記新データに更新させる
請求項13から15の何れか1項に記載の中継装置。 Based on the difference data obtained by removing the current data from the new data, and the current data stored in the current data storage unit, further comprising a new data generation unit that generates the new data,
The response receiving unit receives the difference data from the providing device in response to the acquisition request for requesting transmission of the new data,
The new data generation unit generates the new data based on the difference data received from the providing device and the current data stored in the current data storage unit, and the data transmission unit generates the new data generation The relay device according to any one of claims 13 to 15, wherein the new data generated by a unit is transmitted to the electronic control device to update the current data stored in the electronic control device to the new data. .
前記応答受信部は、前記取得要求に応じて、前記新データへの更新を必要とする更新対象の少なくとも1つの前記電子制御装置のそれぞれについての前記新データを受信し、
前記データ送信部は、
前記提供装置から受信したそれぞれの前記新データを対応する前記電子制御装置に送信して、対応する前記電子制御装置に記憶されている前記現データを前記新データに更新させ、
何れかの前記電子制御装置において前記更新処理が失敗した場合、前記更新処理が失敗した前記電子制御装置および前記更新処理が成功したそれぞれの前記電子制御装置に、対応する前記現データを送信して、前記現データを復元させる
請求項1に記載の中継装置。 The request transmission unit includes a system identifier that identifies a set of a plurality of electronic control devices, and a system list version that represents a set of versions of the current data stored in each of the plurality of electronic control devices. Sending the acquisition request including version information to the providing device;
The response receiving unit receives the new data for each of the at least one electronic control device to be updated that needs to be updated to the new data in response to the acquisition request,
The data transmitter is
Transmitting each new data received from the providing device to the corresponding electronic control device, and updating the current data stored in the corresponding electronic control device to the new data;
When the update process fails in any of the electronic control devices, the corresponding current data is transmitted to the electronic control device in which the update process has failed and each of the electronic control devices in which the update process has succeeded. The relay apparatus according to claim 1, wherein the current data is restored.
前記要求送信部は、前記新データの送信を要求する前記取得要求を、前記提供装置に送信し、
前記応答受信部は、前記新データの送信を要求する前記取得要求に応じて、前記提供装置から前記新データを受信し、
前記データ送信部は、前記更新処理が失敗した場合、前記現データ記憶部に記憶されている前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる
請求項1に記載の中継装置。 When the update process is successful, the new data transmitted to the electronic control device further comprises a determination unit that writes the current data as a current data in a current data storage unit provided outside,
The request transmission unit transmits the acquisition request for requesting transmission of the new data to the providing device,
The response receiving unit receives the new data from the providing device in response to the acquisition request for requesting transmission of the new data,
The data transmission unit, when the update process fails, transmits the current data stored in the current data storage unit to the electronic control unit, and causes the electronic control unit to restore the current data. The relay device described in 1.
前記電子制御装置を識別する装置識別子と、前記現データを識別するデータ識別子と、前記現データのバージョンを特定可能なバージョン特定情報とを含む取得要求を、提供装置に送信し、
前記取得要求に応じて、前記提供装置から前記新データを受信し、
前記提供装置から受信した前記新データを前記電子制御装置に送信して前記電子制御装置に記憶されている前記現データを前記新データに更新させ、更新処理が失敗した場合、前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させる
中継方法。 A relay method executed by a relay device for updating current data stored in an electronic control device to new data,
An acquisition request including a device identifier for identifying the electronic control device, a data identifier for identifying the current data, and version specifying information capable of specifying the version of the current data is transmitted to the providing device,
In response to the acquisition request, the new data is received from the providing device,
When the new data received from the providing device is transmitted to the electronic control device and the current data stored in the electronic control device is updated to the new data. A relay method for transmitting to an electronic control unit and causing the electronic control unit to restore the current data.
前記情報処理装置を、
前記電子制御装置を識別する装置識別子と、前記現データを識別するデータ識別子と、前記現データのバージョンを特定可能なバージョン特定情報とを含む取得要求を、提供装置に送信する要求送信部と、
前記取得要求に応じて、前記提供装置から前記新データを受信する応答受信部と、
前記提供装置から受信した前記新データを前記電子制御装置に送信して前記電子制御装置に記憶されている前記現データを前記新データに更新させ、更新処理が失敗した場合、前記現データを前記電子制御装置に送信して前記電子制御装置に前記現データを復元させるデータ送信部と、
して機能させるためのプログラム。 A program for causing an information processing device to function as a relay device for updating current data stored in an electronic control device to new data,
The information processing apparatus;
A request transmitting unit that transmits an acquisition request including a device identifier for identifying the electronic control device, a data identifier for identifying the current data, and version specifying information capable of specifying a version of the current data to a providing device;
In response to the acquisition request, a response receiving unit that receives the new data from the providing device;
When the new data received from the providing device is transmitted to the electronic control device and the current data stored in the electronic control device is updated to the new data. A data transmission unit for transmitting to the electronic control unit and causing the electronic control unit to restore the current data;
Program to make it function.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/347,387 US10437680B2 (en) | 2015-11-13 | 2016-11-09 | Relay apparatus, relay method, and computer program product |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015223106 | 2015-11-13 | ||
JP2015223106 | 2015-11-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017097851A true JP2017097851A (en) | 2017-06-01 |
JP6678548B2 JP6678548B2 (en) | 2020-04-08 |
Family
ID=58817046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016183123A Active JP6678548B2 (en) | 2015-11-13 | 2016-09-20 | Relay device, relay method and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6678548B2 (en) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019017175A1 (en) * | 2017-07-19 | 2019-01-24 | 株式会社オートネットワーク技術研究所 | Transmission device, transmission method, and computer program |
JP2019036251A (en) * | 2017-08-21 | 2019-03-07 | 株式会社東芝 | Update controller, software update system, and update control method |
WO2019116896A1 (en) * | 2017-12-11 | 2019-06-20 | 株式会社オートネットワーク技術研究所 | On-vehicle update device, program, and program or data update method |
JP2019174987A (en) * | 2018-03-27 | 2019-10-10 | 株式会社東芝 | Communication adapter and firmware update method |
JP2020021142A (en) * | 2018-07-30 | 2020-02-06 | トヨタ自動車株式会社 | Program updating system, program updating server, and vehicle |
JP2020027636A (en) * | 2018-08-10 | 2020-02-20 | 株式会社デンソー | Master device for vehicle, method for verifying update data, and program for verifying update data |
JPWO2018230084A1 (en) * | 2017-06-13 | 2020-04-09 | 住友電気工業株式会社 | Update control device, control method, and computer program |
JP2021060797A (en) * | 2019-10-07 | 2021-04-15 | トヨタ自動車株式会社 | Program update system, program transmitter, and program transmission method |
CN112703706A (en) * | 2018-09-25 | 2021-04-23 | 株式会社自动网络技术研究所 | Relay device system and relay device |
CN113168382A (en) * | 2018-11-28 | 2021-07-23 | 株式会社自动网络技术研究所 | Monitoring device, monitoring program, and monitoring method |
JP2021524633A (en) * | 2018-05-23 | 2021-09-13 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh | A method and control for exchanging an executable first program code for an executable second program code |
CN113453959A (en) * | 2019-03-04 | 2021-09-28 | 株式会社自动网络技术研究所 | Vehicle-mounted updating device, update processing program, and program updating method |
CN113632155A (en) * | 2019-03-29 | 2021-11-09 | 日立安斯泰莫株式会社 | Arithmetic device and determination method |
JP2022031446A (en) * | 2018-08-10 | 2022-02-18 | 株式会社デンソー | Electronic control device, update data verification program and processing result transmission program |
JP2022099197A (en) * | 2020-12-22 | 2022-07-04 | 本田技研工業株式会社 | Control system, mobile body, server, control method, update control method, and program |
JP2022543670A (en) * | 2019-09-19 | 2022-10-13 | 株式会社デンソー | Vehicle control systems for cyber security and financial transactions |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7408593B2 (en) | 2021-03-23 | 2024-01-05 | 株式会社東芝 | Control devices, information processing devices, and information processing systems |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287993A (en) * | 2003-03-24 | 2004-10-14 | Fuji Xerox Co Ltd | Management method of system version, device, and information processing system |
JP2008189125A (en) * | 2007-02-05 | 2008-08-21 | Nec Corp | Software updating system for on-vehicle equipment, software updating method for on-vehicle equipment and vehicle device |
JP2010218070A (en) * | 2009-03-16 | 2010-09-30 | Toyota Motor Corp | Management device |
JP2015103163A (en) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | Program update system and program update method |
-
2016
- 2016-09-20 JP JP2016183123A patent/JP6678548B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004287993A (en) * | 2003-03-24 | 2004-10-14 | Fuji Xerox Co Ltd | Management method of system version, device, and information processing system |
JP2008189125A (en) * | 2007-02-05 | 2008-08-21 | Nec Corp | Software updating system for on-vehicle equipment, software updating method for on-vehicle equipment and vehicle device |
JP2010218070A (en) * | 2009-03-16 | 2010-09-30 | Toyota Motor Corp | Management device |
JP2015103163A (en) * | 2013-11-27 | 2015-06-04 | 株式会社オートネットワーク技術研究所 | Program update system and program update method |
Non-Patent Citations (2)
Title |
---|
五味俊夫: "インターネットビジネスのセキュリティー", CARDWAVE, vol. 第12巻,第5号, JPN6019027032, 10 April 1999 (1999-04-10), JP, pages 56 - 60, ISSN: 0004075343 * |
滝澤隆史: "即実践! セキュリティ対策 第9回 パッケージ管理システムのセキュリティ", 日経LINUX, vol. 第12巻,第6号, JPN6019027030, 8 May 2010 (2010-05-08), JP, pages 157 - 162, ISSN: 0004075342 * |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7207301B2 (en) | 2017-06-13 | 2023-01-18 | 住友電気工業株式会社 | Update controller, control method and computer program |
US11537382B2 (en) | 2017-06-13 | 2022-12-27 | Sumitomo Electric Industries, Ltd. | Updating control device, control method, and computer program |
JPWO2018230084A1 (en) * | 2017-06-13 | 2020-04-09 | 住友電気工業株式会社 | Update control device, control method, and computer program |
WO2019017175A1 (en) * | 2017-07-19 | 2019-01-24 | 株式会社オートネットワーク技術研究所 | Transmission device, transmission method, and computer program |
JP2019036251A (en) * | 2017-08-21 | 2019-03-07 | 株式会社東芝 | Update controller, software update system, and update control method |
WO2019116896A1 (en) * | 2017-12-11 | 2019-06-20 | 株式会社オートネットワーク技術研究所 | On-vehicle update device, program, and program or data update method |
JP2019105945A (en) * | 2017-12-11 | 2019-06-27 | 株式会社オートネットワーク技術研究所 | In-vehicle updating apparatus, program, and method of updating program or data |
JP2019174987A (en) * | 2018-03-27 | 2019-10-10 | 株式会社東芝 | Communication adapter and firmware update method |
JP2021524633A (en) * | 2018-05-23 | 2021-09-13 | ロベルト・ボッシュ・ゲゼルシャフト・ミト・ベシュレンクテル・ハフツングRobert Bosch Gmbh | A method and control for exchanging an executable first program code for an executable second program code |
US11429375B2 (en) | 2018-05-23 | 2022-08-30 | Robert Bosch Gmbh | Method for exchanging a first executable program code and a second executable program code, and a control unit |
JP2020021142A (en) * | 2018-07-30 | 2020-02-06 | トヨタ自動車株式会社 | Program updating system, program updating server, and vehicle |
US11625233B2 (en) | 2018-07-30 | 2023-04-11 | Toyota Jidosha Kabushiki Kaisha | Software update program for in-vehicle devices and associated server |
JP7225596B2 (en) | 2018-07-30 | 2023-02-21 | トヨタ自動車株式会社 | Program update system, program update server and vehicle |
JP7003976B2 (en) | 2018-08-10 | 2022-01-21 | 株式会社デンソー | Vehicle master device, update data verification method and update data verification program |
JP2022031446A (en) * | 2018-08-10 | 2022-02-18 | 株式会社デンソー | Electronic control device, update data verification program and processing result transmission program |
JP2020027636A (en) * | 2018-08-10 | 2020-02-20 | 株式会社デンソー | Master device for vehicle, method for verifying update data, and program for verifying update data |
CN112703706A (en) * | 2018-09-25 | 2021-04-23 | 株式会社自动网络技术研究所 | Relay device system and relay device |
CN113168382A (en) * | 2018-11-28 | 2021-07-23 | 株式会社自动网络技术研究所 | Monitoring device, monitoring program, and monitoring method |
CN113453959A (en) * | 2019-03-04 | 2021-09-28 | 株式会社自动网络技术研究所 | Vehicle-mounted updating device, update processing program, and program updating method |
CN113632155B (en) * | 2019-03-29 | 2024-04-12 | 日立安斯泰莫株式会社 | Arithmetic device and determination method |
CN113632155A (en) * | 2019-03-29 | 2021-11-09 | 日立安斯泰莫株式会社 | Arithmetic device and determination method |
JP2022543670A (en) * | 2019-09-19 | 2022-10-13 | 株式会社デンソー | Vehicle control systems for cyber security and financial transactions |
JP2021060797A (en) * | 2019-10-07 | 2021-04-15 | トヨタ自動車株式会社 | Program update system, program transmitter, and program transmission method |
US11714628B2 (en) | 2019-10-07 | 2023-08-01 | Toyota Jidosha Kabushiki Kaisha | Program update system, program transmission device, and program transmission method |
JP7298427B2 (en) | 2019-10-07 | 2023-06-27 | トヨタ自動車株式会社 | Program update system and program update method |
JP7204726B2 (en) | 2020-12-22 | 2023-01-16 | 本田技研工業株式会社 | Control system, mobile object, server, control method, update control method, and program |
JP2022099197A (en) * | 2020-12-22 | 2022-07-04 | 本田技研工業株式会社 | Control system, mobile body, server, control method, update control method, and program |
US11880671B2 (en) | 2020-12-22 | 2024-01-23 | Honda Motor Co., Ltd. | Control system, moving object, server, and control method for performing a program update of the moving object |
Also Published As
Publication number | Publication date |
---|---|
JP6678548B2 (en) | 2020-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6678548B2 (en) | Relay device, relay method and program | |
US10437680B2 (en) | Relay apparatus, relay method, and computer program product | |
US9864599B2 (en) | Firmware update method in two-chip solution for secure terminal | |
US20190057214A1 (en) | Update control device, terminal, and method of controlling | |
US9436456B2 (en) | System and method for management of software updates at a vehicle computing system | |
JP6585019B2 (en) | Network monitoring device, network system and program | |
JP2019036251A (en) | Update controller, software update system, and update control method | |
JP7280412B2 (en) | GATEWAY DEVICE, IN-VEHICLE NETWORK SYSTEM AND FIRMWARE UPDATE METHOD | |
JP6585072B2 (en) | Safe reading of data into non-volatile memory or secure elements | |
JP6385842B2 (en) | Information processing terminal, information processing method, and information processing system | |
WO2020179592A1 (en) | Vehicle-mounted updating device, update processing program, and program updating method | |
JP2011108167A (en) | Computer system | |
JP2009230399A (en) | Firmware update system and firmware update program | |
AU2019201237A1 (en) | Updating software packets in water installation controlling apparatus | |
JP2023505844A (en) | Package-based remote firmware update | |
TW201523447A (en) | Server system and firmware update method | |
KR102386614B1 (en) | IoT Device Firmware Update System, IoT Device Firmware Update Method, and IoT Device Booting Method | |
JP2021511583A (en) | Methods and devices for remotely updating satellite devices | |
US11496304B2 (en) | Information processing device, information processing method, and storage medium | |
JP2007329731A (en) | Method, system, and program for certificate update | |
JP2022187189A (en) | Ota master, center, system, method, program, and vehicle | |
CN105243325A (en) | Method for residual process file in mobile terminal, mobile terminal and server | |
CN111143832A (en) | Mobile terminal SDK (software development kit) suitable for multiple scenes and hybrid authorization method thereof | |
JP2018194981A (en) | Communication system, mobile object, and control program rewriting method | |
WO2021184712A1 (en) | Software upgrading method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180904 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190621 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190716 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190912 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200317 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 6678548 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |