(57)【要約】【課題】復号されたプログラムが漏洩することを防止して車載ＥＣＵのプログラムの更新を行うことができる車載更新装置等を提供する。【解決手段】車載ＥＣＵのプログラム又はデータを更新するための処理を行う車載更新装置であって、秘匿化処理されたプログラム又はデータを取得する取得部と、前記取得部が取得した前記プログラム又はデータを記憶する第１記憶部と、該第１記憶部から読み出した前記プログラム又はデータを復号する復号部と、復号されたプログラム又はデータを記憶する揮発性の第２記憶部と、該第２記憶部に記憶した前記復号されたプログラム又はデータを前記車載ＥＣＵに送信する送信部とを備える。【選択図】図１
2019105946.tif 000002
【特許請求の範囲】
【請求項１】
車載ＥＣＵのプログラム又はデータを更新するための処理を行う車載更新装置であって、
秘匿化処理されたプログラム又はデータを取得する取得部と、
前記取得部が取得した前記プログラム又はデータを記憶する第１記憶部と、
該第１記憶部から読み出した前記プログラム又はデータを復号する復号部と、
復号されたプログラム又はデータを記憶する揮発性の第２記憶部と、
該第２記憶部に記憶した前記復号されたプログラム又はデータを前記車載ＥＣＵに送信する送信部と
を備える車載更新装置。
【請求項２】
前記復号されたプログラム又はデータが前記車載ＥＣＵに送信された後、該復号されたプログラム又はデータを前記第２記憶部から消去する消去部
を備える請求項１に記載の車載更新装置。
【請求項３】
前記第１記憶部は、不揮発性である
請求項１又は請求項２に記載の車載更新装置。
【請求項４】
前記秘匿化処理されたプログラム又はデータは、該プログラム又はデータの正当性を確認するための確認用データを含み、
前記復号部は、該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認する
請求項１から請求項３のいずれか一つに記載の車載更新装置。
【請求項５】
前記秘匿化処理は、暗号鍵による暗号化処理によるものであり、
前記復号部は、暗号鍵に対応する復号鍵により、前記秘匿化処理されたプログラム又はデータを復号する
請求項１から請求項４のいずれか一つに記載の車載更新装置。
【請求項６】
前記復号されたプログラム又はデータが前記車載ＥＣＵに送信された後、前記秘匿化処理されたプログラム又はデータを前記第１記憶部から消去する消去部
を備える
請求項１から請求項５のいずれか一つに記載の車載更新装置。
【請求項７】
前記秘匿化処理されたプログラム又はデータは、前記車載ＥＣＵに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されており、
前記取得部は、更に前記車載ＥＣＵから現プログラム又はデータを取得し、
前記復号部は、前記秘匿化処理されたプログラム又はデータを復号して差分データを生成し、生成した該差分データと、前記現プログラム又はデータとに基づいて、前記新プログラム又はデータを生成し、
前記現プログラム又はデータ、及び生成された前記新プログラム又はデータは、前記第２記憶部に記憶されており、
前記送信部は、前記第２記憶部に記憶された前記新プログラム又はデータを、前記復号されたプログラム又はデータに換えて前記車載ＥＣＵに送信する
請求項１から請求項６のいずれか一つに記載の車載更新装置。
【請求項８】
コンピュータに、
秘匿化処理されたプログラム又はデータを取得し、
取得した前記プログラム又はデータを第１記憶部に記憶し、
該第１記憶部に記憶した前記プログラム又はデータを復号し、
復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、
該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する
処理を実行させるプログラム。
【請求項９】
秘匿化処理されたプログラム又はデータを取得し、
取得した前記プログラム又はデータを第１記憶部に記憶し、
該第１記憶部に記憶した前記プログラム又はデータを復号し、
復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、
該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する
プログラム又はデータの更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車載更新装置、プログラム及びプログラム又はデータの更新方法に関する。
【背景技術】
【０００２】
車載器を制御する車載ＥＣＵのプログラムを更新するにあたり、当該プログラムを送信するサーバと通信して当該プログラムを受信し、受信したプログラムを車載ＥＣＵに送信することによって、プログラムの更新を行う中継装置が知られている。
【０００３】
車載ＥＣＵのプログラムの受信時には、当該プログラムに関する情報漏洩を防止する観点から、受信するプログラムを暗号化することが望まれている。受信された暗号プログラムは、受信側の装置によって復号され、復号されたプログラムは、平文の状態となりプログラムの内容を参照することが可能な状態となる。
【０００４】
これに対応するため、特許文献１の情報処理装置は、復号されたプログラムが記憶されている記憶装置に対するアクセス制限をかけ、当該装置から復号されたプログラムが取り出されることを制限する取り出し制御手段を備えている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１７３２１５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の情報処理装置は取り出し制御手段が施されているが、復号されたプログラムは、不揮発性の記憶媒体に記憶されている。従って、当該記憶媒体を光学観察する又は記憶媒体の内部バスを直接プロービングすることで、当該復号されたプログラムを不正に取得される虞がある。特に、プログラムを更新する処理中に、例えば、電源を遮断すること等により更新を中断させ、復号されたプログラムが記憶媒体に残存する状態を意図的に発生させられた場合、不正に取得される虞は更に大きくなる。
【０００７】
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、復号されたプログラムが漏洩することを防止して車載ＥＣＵのプログラムの更新を行うことができる車載更新装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る車載更新装置は、車載ＥＣＵのプログラム又はデータを更新するための処理を行う車載更新装置であって、秘匿化処理されたプログラム又はデータを取得する取得部と、前記取得部が取得した前記プログラム又はデータを記憶する第１記憶部と、該第１記憶部から読み出した前記プログラム又はデータを復号する復号部と、復号されたプログラム又はデータを記憶する揮発性の第２記憶部と、該第２記憶部に記憶した前記復号されたプログラム又はデータを前記車載ＥＣＵに送信する送信部とを備える。
【０００９】
本開示の一態様に係るプログラムは、コンピュータに、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第１記憶部に記憶し、該第１記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する処理を実行させる。
【００１０】
本開示の一態様に係るプログラム又はデータの更新方法は、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第１記憶部に記憶し、該第１記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する。
【発明の効果】
【００１１】
本開示の一態様によれば、復号されたプログラムが漏洩することを防止して車載ＥＣＵのプログラムの更新を行うことができる車載更新装置等を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態１に係る車載更新システムの構成を示す模式図である。
【図２】実施形態１に係る車載更新装置等の構成を示すブロック図である。
【図３】実施形態１に係る制御部の処理を示すフローチャートである。
【図４】実施形態２に係る制御部の処理を示すフローチャートである。
【図５】実施形態３に係る制御部の処理を示すフローチャートである。
【発明を実施するための形態】
【００１３】
［本発明の実施形態の説明］
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【００１４】
（１）本開示の一態様に係る車載更新装置は、車載ＥＣＵのプログラム又はデータを更新するための処理を行う車載更新装置であって、秘匿化処理されたプログラム又はデータを取得する取得部と、前記取得部が取得した前記プログラム又はデータを記憶する第１記憶部と、該第１記憶部から読み出した前記プログラム又はデータを復号する復号部と、復号されたプログラム又はデータを記憶する揮発性の第２記憶部と、該第２記憶部に記憶した前記復号されたプログラム又はデータを前記車載ＥＣＵに送信する送信部とを備える。
【００１５】
本態様にあたっては、復号されたプログラム又はデータは、揮発性の記憶媒体による第２記憶部に記憶されているため、車載更新装置の電源が遮断された場合等、当該揮発性の記憶媒体に記憶されているプログラム又はデータは、消去される。従って、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータを確実に消去することによって、復号されたプログラムが漏洩することを防止することができる。
【００１６】
（２）前記復号されたプログラム又はデータが前記車載ＥＣＵに送信された後、該復号されたプログラム又はデータを前記第２記憶部から消去する消去部を備える構成が好ましい。
【００１７】
本態様にあたっては、前記復号されたプログラム又はデータを前記車載ＥＣＵに送信した後、前記第２記憶部に記憶されている該復号されたプログラム又はデータを消去する消去部を備えるので、復号されたプログラムが漏洩することを防止することができる。
【００１８】
（３）前記第１記憶部は、不揮発性である構成が好ましい。
【００１９】
本態様にあたっては、第１記憶部を不揮発性の記憶媒体とすることによって、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータは消去しつつ、秘匿化処理されたプログラム又はデータは保持することができる。従って、中断後、更新処理を再開するにあたり、秘匿化処理されたプログラム又はデータを再度取得することを不要とし、取得するための通信コスト及び処理時間を削減することができる。
【００２０】
（４）前記秘匿化処理されたプログラム又はデータは、該プログラム又はデータの正当性を確認するための確認用データを含み、前記復号部は、該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認する構成が好ましい。
【００２１】
本態様にあたっては、車載更新装置は、秘匿化処理された該プログラム又はデータを復号する際に、前記確認用データに基づいて該プログラム又はデータの正当性を確認するため、復号されたプログラム又はデータの正当性を補償することができる。また、確認用データに基づいて該プログラム又はデータの正当性を確認する処理は、揮発性の記憶媒体による第２記憶部の記憶領域で行われるため、復号されたプログラムが漏洩することを防止することができる。
【００２２】
（５）前記秘匿化処理は、暗号鍵による暗号化処理によるものであり、前記復号部は、暗号鍵に対応する復号鍵により、前記秘匿化処理されたプログラム又はデータを復号する構成が好ましい。
【００２３】
本態様にあたっては、秘匿化処理は、暗号鍵による暗号化処理によるものであるため、秘匿化処理されたプログラム又はデータの堅牢性を向上させることができる。
【００２４】
（６）前記復号されたプログラム又はデータが前記車載ＥＣＵに送信された後、前記秘匿化処理されたプログラム又はデータを前記第１記憶部から消去する消去部を備える構成が好ましい。
【００２５】
本態様にあたっては、復号されたプログラム又はデータを前記車載ＥＣＵに送信した後、前記秘匿化処理されたプログラム又はデータを第１記憶部から消去する消去部を備えるため、第１記憶部の記憶容量が逼迫することを抑制することができる。また、復号されたプログラム又はデータを前記車載ＥＣＵに送信した後、前記秘匿化処理されたプログラム又はデータが漏洩することを防止することができる。
【００２６】
（７）前記秘匿化処理されたプログラム又はデータは、前記車載ＥＣＵに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されており、前記取得部は、更に前記車載ＥＣＵから現プログラム又はデータを取得し、前記復号部は、前記秘匿化処理されたプログラム又はデータを復号して差分データを生成し、生成した該差分データと、前記現プログラム又はデータとに基づいて、前記新プログラム又はデータを生成し、前記現プログラム又はデータ、及び生成された前記新プログラム又はデータは、前記第２記憶部に記憶されており、前記送信部は、前記第２記憶部に記憶された前記新プログラム又はデータを、前記復号されたプログラム又はデータに換えて前記車載ＥＣＵに送信する構成が好ましい。
【００２７】
本態様にあたっては、秘匿化処理されたプログラム又はデータは、車載ＥＣＵに既に適用されている現プログラム又はデータと、今回適用する新プログラム又はデータとの差分データに基づき生成されているため、新プログラム又はデータの漏洩を防止することができる。秘匿化処理されたプログラム又はデータは、差分データに基づき生成されているため、当該秘匿化処理されたプログラム又はデータを取得するための通信コスト及び通信トラフィックを低減させることができる。現プログラム又はデータは、揮発性の第２記憶部に記憶されるため、電源遮断時等に現プログラム又はデータが消去され、現プログラム等が漏洩することを防止することができる。復号された差分データと、現プログラム又はデータとにより生成した新プログラム又はデータは、揮発性の第２記憶部に記憶されるため、電源遮断時等に新プログラム又はデータが漏洩することを防止することができる。
【００２８】
（８）本開示の一態様に係るプログラムは、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第１記憶部に記憶し、該第１記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する処理を実行させる。
【００２９】
本態様にあたっては、コンピュータを、本開示の一態様の車載更新装置として機能させることができる。
【００３０】
（９）本開示の一態様に係るプログラム又はデータの更新方法は、秘匿化処理されたプログラム又はデータを取得し、取得した前記プログラム又はデータを第１記憶部に記憶し、該第１記憶部に記憶した前記プログラム又はデータを復号し、復号されたプログラム又はデータを揮発性の第２記憶部に記憶し、該第２記憶部に記憶した前記復号されたプログラム又はデータを車載ＥＣＵに送信する。
【００３１】
本態様にあたっては、復号されたプログラム又はデータを揮発性の第２記憶部に記憶することによって、電源が遮断され更新処理が中断された場合であっても、復号されたプログラム又はデータを確実に消去することによって、復号されたプログラムが漏洩することを防止することができる。
【００３２】
[本発明の実施形態の詳細]
本発明をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載更新装置２を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【００３３】
（実施形態１）
以下、実施の形態について図面に基づいて説明する。図１は、実施形態１に係る車載更新システムＳの構成を示す模式図である。車載更新システムＳは、車両Ｃに搭載された車外通信装置１及び車載更新装置２を含み、車外ネットワークＮを介して接続されたプログラム提供装置Ｓ１から取得したプログラム又はデータを、車両Ｃに搭載されている車載ＥＣＵ３（Electronic Control Unit）に送信する。
【００３４】
プログラム提供装置Ｓ１は、例えばインターネット又は公衆回線網等の車外ネットワークＮに接続されているサーバ等のコンピュータである。プログラム提供装置Ｓ１には、車載ＥＣＵ３の製造メーカ等によって作成された当該車載ＥＣＵ３を制御するためのプログラム又はデータが保存されている。当該プログラム又はデータは、後述のごとく車両Ｃに送信され、車両Ｃに搭載されている車載ＥＣＵ３のプログラム又はデータを更新するために用いられる。
【００３５】
これら更新用のプログラム又はデータは、秘匿化処理が施されている。秘匿化処理とは、例えば、暗号化によるものである。又は、既に車両Ｃに搭載された車載ＥＣＵ３に適用されているプログラム又はデータ（現プログラム等）と、今回更新するためのプログラム又はデータ（新プログラム）との差分データによって構成することにより、更新用のプログラム又はデータを秘匿化処理するものであってもよい。なお、当該差分データ自体を暗号化したものであってもよい。
【００３６】
車両Ｃには、車外通信装置１、車載更新装置２、及び種々の車載機器を制御するための複数の車載ＥＣＵ３が搭載されている。車外通信装置１、車載更新装置２及び車載ＥＣＵ３は、車内ＬＡＮ４によって通信可能に接続されている。
【００３７】
図２は、実施形態１に係る車載更新装置２等の構成を示すブロック図である。車載更新装置２は、制御部２０、第１記憶部２１、第２記憶部２２及び車内通信部２３を含む。車載更新装置２は、車外通信装置１が無線通信によってプログラム提供装置Ｓ１から受信したプログラム又はデータを、車内ＬＡＮ４を介して取得し、当該プログラム又はデータを所定の車載ＥＣＵ３に送信できるように構成されている。車載更新装置２は、例えば、制御系、安全系及びボディ系等の複数の車載ＥＣＵ３の系統のセグメントを統括するセントラルゲートウェイ（ＣＧＷ）である。又は、車載更新装置２は、車両Ｃ全体をコントロールするボディＥＣＵであってもよい。
【００３８】
制御部２０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）等により構成してあり、第１記憶部２１に予め記憶された制御プログラム及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部２０は、制御プログラムを実行することによって、復号部、消去部として機能する。制御部２０は、車外通信装置１又は車内通信部２３を介することによって、取得部として機能する。制御部２０は、車内通信部２３を介することによって、送信部として機能する。
【００３９】
第１記憶部２１は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）又はフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、制御プログラム及び処理時に参照するデータがあらかじめ記憶してある。第１記憶部２１に記憶された制御プログラムは、車載更新装置２が読み取り可能な記録媒体から読み出された制御プログラムを記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータから制御プログラムをダウンロードし、第１記憶部２１に記憶させたものであってもよい。第１記憶部２１には、暗号化等により秘匿化処理されたプログラム又はデータを復号するための復号鍵が記憶されている。第１記憶部２１には、取得したプログラム又はデータの正当性を確認するため、例えば、所定のハッシュ関数等が記憶されてあってもよい。詳細は後述するが、第１記憶部２１には、取得した秘匿化処理されたプログラム又はデータが記憶される。
【００４０】
第２記憶部２２は、ＲＡＭ（Random access memory）等の揮発性のメモリ素子により構成してあり、制御部２０が制御処理及び演算処理等を行う際のワーク領域として用いられる。詳細は後述するが、第２記憶部２２には、復号したプログラム又はデータが一時的に記憶される。
【００４１】
車内通信部２３は、ＣＡＮ（Control Area Network）、ＬＩＮ(Local Interconnect Network)又はEthernet（登録商標）等の通信プロトコルを用いた入出力インタフェースであり、車内ＬＡＮ４に接続されている車外通信装置１、車載ＥＣＵ３等の車載機器と相互に通信する。
【００４２】
なお、制御部２０、第１記憶部２１及び第２記憶部２２は、ＣＧＷ及びボディＥＣＵ等の複数の車載機器に分散して構成され、相互に通信して連携又は協働することによって、機能するものであってもよい。
【００４３】
車外通信装置１は、車外通信部１１及び車内通信部１２を含む。車外通信部１１は、３Ｇ、ＬＴＥ、４Ｇ、ＷｉＦｉ等の移動体通信のプロトコルを用いて無線通信をするための入出力インタフェースであり、公衆回線網又はインターネット等の外部ネットワークを介して、プログラム提供装置Ｓ１との通信を行う。
【００４４】
車内通信部１２は、車載更新装置２の車内通信部２３と同様の機能を有し、車内ＬＡＮ４を介して車載更新装置２等と相互に通信する。
【００４５】
本実施形態では、車外通信装置１は、車載更新装置２と別装置とし、車内ＬＡＮ４によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置１は、車載更新装置２の一構成部位として、車載更新装置２に内蔵されるものであってもよい。
【００４６】
車載ＥＣＵ３は、記憶部３１、制御部３０及び車内通信部３２を含む。記憶部３１は、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable Programmable ROM）又はフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、当該車載ＥＣＵ３のプログラム又はデータが記憶されている。このプログラム又はデータが、車載更新装置２によって更新される対象である。
【００４７】
制御部３０は、ＣＰＵ（Central Processing Unit）又はＭＰＵ（Micro Processing Unit）等により構成してあり、記憶部３１に予め記憶されたプログラム及びデータを読み出して実行して制御処理等を行い、当該車載ＥＣＵ３を含む車載機器又はアクチュエータ等が制御される。詳細は後述するが、制御部３０は、車載更新装置２から送信されたプログラム又はデータを取得し、記憶部３１に記憶されている現プログラム又はデータから、当該取得したプログラム又はデータに更新する処理を行う。
【００４８】
車内通信部３２は、車載更新装置２の車内通信部２３と同様の機能を有し、車内ＬＡＮ４を介して車載更新装置２等と相互に通信する。
【００４９】
図３は、実施形態１に係る制御部２０の処理を示すフローチャートである。車載更新装置２の制御部２０は、車外通信装置１を介してプログラム提供装置Ｓ１と定期的又は非定期的に通信し、更新すべきプログラム又はデータ（プログラム等）がプログラム提供装置Ｓ１に用意されている場合、以下の処理を開始する。又は、制御部２０は、車外通信装置１を介して取得したプログラム提供装置Ｓ１からの更新通知に基づいて、以下の処理を開始してもよい。
【００５０】
制御部２０は、プログラム提供装置Ｓ１から送信された秘匿化されたプログラム等（秘匿化プログラム等）を、車外通信装置１を介して取得する（Ｓ１１）。制御部２０は、取得した秘匿化プログラム等を不揮発性の第１記憶部２１に記憶する（Ｓ１２）。秘匿化プログラム等は、暗号化されているので、プログラム等の内容自体を参照することが不可な状態で第１記憶部２１に記憶されている。
【００５１】
制御部２０は、第１記憶部２１に記憶した秘匿化プログラム等を読取り、当該秘匿化プログラム等を復号する（Ｓ１３）。秘匿化プログラム等の暗号化は、例えば共通鍵方式、公開鍵方式等によって行われている。制御部２０は、第１記憶部２１に記憶されている共通鍵又は公開鍵に対応する秘密鍵を用いて、秘匿化プログラム等を復号する処理を行う。制御部２０による復号の演算処理は、揮発性の第２記憶部２２の記憶領域において、行われる。すなわち、制御部２０は、復号の演算処理を行うためのワーク領域として、第２記憶部２２の記憶領域を用いる。
【００５２】
制御部２０は、秘匿化プログラム等の復号を完了させ、復号したプログラム等、すなわち平文となったプログラム等を第２記憶部２２に記憶する（Ｓ１４）。制御部２０は、第２記憶部２２に記憶されている復号したプログラム等を読み出し、車内ＬＡＮ４を介して、更新対象である所定の車載ＥＣＵ３に送信する（Ｓ１５）。
【００５３】
制御部２０は、車載ＥＣＵ３への送信の完了後、復号したプログラム等を第２記憶部２２から消去し（Ｓ１６）、更に秘匿化プログラム等を第１記憶部２１から消去する（Ｓ１７）。なお、復号したプログラム等及び秘匿化プログラム等の消去の順番は、これに限定されず、先に秘匿化プログラム等を消去するものであってもよい。又は、サブプロセスを発生させ、復号したプログラム等及び秘匿化プログラム等を同時に消去するようにしてあってもよい。
【００５４】
本実施形態において秘匿化プログラム等は、無線通信によってプログラム提供装置Ｓ１から受信し、取得するとしたがこれに限定されず、例えば、車載更新装置２と、更新用のプログラムが保存された外部装置とを有線接続して取得するものであってもよい。
【００５５】
復号したプログラム等は、揮発性の第２記憶部２２に記憶してあるため、車載更新装置２によるプログラムの更新処理の途中に電源が遮断される等の中断が発生した場合、第２記憶部２２に記憶されている復号したプログラム等は消去される。従って、このような中断が発生した場合であっても、復号したプログラム等が漏洩することを防止することができる。
【００５６】
制御部２０による復号の演算処理は、揮発性の第２記憶部２２上の記憶領域をワーク領域として行われる。従って、復号の演算処理を行うための一時的なデータ、例えば一部が復号化されたプログラムの部位についても、第２記憶部２２のみに記憶することにより、電源が遮断される等の中断が発生した場合は消去される。よって、復号したプログラムの一部であっても、これが漏洩することを防止することができる。
【００５７】
プログラム提供装置Ｓ１から送信された秘匿化プログラム等は、不揮発性の第１記憶部２１に記憶してあるので、プログラムの更新処理が中断された場合であっても、再度プログラム提供装置Ｓ１から秘匿化プログラム等を受信することを不要とし、通信コスト及び更新するための処理時間を削減することができる。
【００５８】
図４は、実施形態２に係る制御部２０の処理を示すフローチャートである。実施形態２に係る車載更新装置２の制御部２０は、秘匿化プログラム等を復号する際に、当該プログラムの正当性を確認する処理を行う点で、実施形態１と異なる。以下では、主にかかる相違点を説明する。Ｓ２１からＳ２２の処理は、実施形態１のＳ１１からＳ１２の処理と同様であるため説明を省略する。
【００５９】
制御部２０は、第１記憶部２１に記憶した秘匿化プログラム等を読取り、ブロック単位で復号する（Ｓ２３）。ブロックとは、例えば、所定のデータサイズ毎に分割されたデータである。又は、制御部２０は、復号化するにあたり、秘匿化プログラム等におけるデータ列に含まれるセパレータを抽出し、当該セパレータ単位で、秘匿化プログラム等を分割してブロックとしてもよい。
【００６０】
制御部２０は、復号したブロックに含まれる確認用データを抽出する（Ｓ２４）。確認用データとは、例えば、当該ブロックに含まれるプログラムの一部のデータに対し、当該データの正当性を示すパリティビット等である。又は、確認用データは、当該ブロックに含まれるハッシュ値であってもよい。
【００６１】
制御部２０は、抽出した確認用データに基づき、復号したブロックに含まれるプログラムの正当性を確認する（Ｓ２５）。制御部２０は、例えばパリティビットに基づいて、プログラムの正当性を確認してもよい。または、制御部２０は、ブロックから抽出したハッシュ値と、第１記憶部２１に記憶してあるハッシュ関数を用いて導出したハッシュ値とを比較することによって、正当性を確認してもよい。
【００６２】
正当性に問題がないと判定した場合（Ｓ２６：ＹＥＳ）、制御部２０は、今回処理したブロックが最後のブロックかを判定し（Ｓ２７）、最後のブロックでない場合（Ｓ２７：ＮＯ）、再度Ｓ２３の処理を実行すべくループ処理を行う。
【００６３】
最後のブロックである場合（Ｓ２７：ＹＥＳ）、制御部２０は、復号したプログラム等を第２記憶に記憶する（Ｓ２８）。以降、Ｓ２９からＳ２９２の処理は、実施形態１のＳ１５からＳ１７の処理と同様であるため説明を省略する。
【００６４】
正当性に問題があると判定した場合（Ｓ２６：ＹＥＳ）、制御部２０は、車外通信装置１を介して、プログラム提供装置Ｓ１に通知する（Ｓ２６１）。また制御部２０は、車両Ｃに設けられた報知部（図示せず）を介して、車両Ｃの運転者等に報知してもよい。制御部２０は、当該通知を行った後、秘匿化プログラム等を第１記憶部２１から消去する（Ｓ２９２）。
【００６５】
本実施形態において、秘匿化プログラム等をブロック単位で復号し、正当性を確認するものとしたがこれに限定されない。制御部２０は、秘匿化プログラム等を復号し、復号したプログラム等の全体に対し、当該プログラム等の正当性を確認するものであってもよい。
【００６６】
本実施形態において、正当性の確認に問題があった場合は、更新処理を即座に中断してプログラム提供装置Ｓ１に通知するとしたが、これに限定されない。制御部２０は、正当性の確認に問題があった場合、再度、秘匿化プログラム等を取得する、又は再度、秘匿化プログラム等を復号する等の処理を所定回数繰り返し、その上で正当性の確認における問題が継続した場合、更新処理を中断してプログラム提供装置Ｓ１に通知するものであってもよい。
【００６７】
制御部２０は、取得した秘匿化プログラム等を復号する際に正当性を確認するので、復号したプログラム等の完全性検証を行うことができる。
【００６８】
正当性の確認において問題があった場合、取得した秘匿化プログラム等が改ざんされている等が懸念されるところ、更新処理を中断し、その旨をプログラム提供装置Ｓ１等に通知することによって、更新処理の安全性を向上することができる。
【００６９】
復号及びプログラム等の正当性を確認する演算処理は、揮発性の第２記憶部２２上で行われるため、電源が遮断される等の中断が発生した場合、第２記憶部２２上のプログラム等は消去され、これが漏洩することを防止することができる。
【００７０】
図５は、実施形態３に係る制御部２０の処理を示すフローチャートである。実施形態３に係る車載更新装置２の制御部２０は、車載ＥＣＵ３に送信するプログラム等（新プログラム等）を、取得し復号した差分データ、及び当該車載ＥＣＵ３の現プログラム等に基づいて生成する処理を行う点で、実施形態１と異なる。以下では、主にかかる相違点を説明する。
【００７１】
制御部２０は、プログラム提供装置Ｓ１から送信された秘匿化されたプログラム等（秘匿化プログラム等）を、車外通信装置１を介して取得する（Ｓ３１）。本実施形態における秘匿化プログラム等は、既に車載ＥＣＵ３に適用されている現状のプログラム又はデータ（現プログラム等）と、今回の更新によって車載ＥＣＵ３に適用する新プログラム又はデータ（新プログラム等）との差分データを暗号化したものである。
【００７２】
制御部２０は、取得した秘匿化プログラム等を第１記憶部２１に記憶する（Ｓ３２）。制御部２０は、第１記憶部２１に記憶した秘匿化プログラム等を読取り、当該秘匿化プログラム等を復号する（Ｓ３３）。制御部２０は、当該秘匿化プログラム等を復号することによって、平文となった差分データを、第２記憶部２２に記憶する（Ｓ３４）。
【００７３】
制御部２０は、更新対象の車載ＥＣＵ３から、当該車載ＥＣＵ３の記憶部３１に記憶されており、現状適用されているプログラム又はデータ（現プログラム等）を取得し、第２記憶部２２に記憶する（Ｓ３５）。
【００７４】
制御部２０は、第２記憶部２２に記憶されている差分データ及び現プログラム等から、今回の更新によって車載ＥＣＵ３に適用するためのプログラム又はデータ（新プログラム等）を生成し、当該新プログラム等を第２記憶部２２に記憶する（Ｓ３６）。制御部２０は、第２記憶部２２に記憶されている新プログラム等を読み出し、車内ＬＡＮ４を介して、所定の車載ＥＣＵ３に送信する（Ｓ３７）。
【００７５】
制御部２０は、車載ＥＣＵ３への送信の完了後、差分データ、現プログラム等及び新プログラム等を第２記憶部２２から消去し（Ｓ３８）、更に秘匿化プログラム等を第１記憶部２１から消去する（Ｓ３９）。
【００７６】
本実施形態において、秘匿化プログラム等は差分データをさらに暗号化したものとしているが、これに限定されない。秘匿化プログラム等は、平文の差分データであってもよい。この場合、秘匿化プログラム等を復号する処理が不要となることは、言うまでもない。
【００７７】
秘匿化プログラム等は、現プログラム等と新プログラム等との差分データであるため、万が一、当該差分データが漏洩した場合であっても、車載ＥＣＵ３に適用するプログラムそのものを生成することができないため、無線通信を用いたプログラムの更新処理における安全性を向上させることができる。
【００７８】
復号された差分データ、現プログラム等及び新プログラム等は、揮発性の第２記憶部２２に記憶されるため、更新処理の途中に電源が遮断される等の中断が発生した場合、第２記憶部２２に記憶されている差分データ、現プログラム及び新プログラムは消去される。従って、このような中断が発生した場合であっても、これらプログラム等が漏洩することを防止することができる。
【００７９】
今回開示された実施形態はすべての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００８０】
Ｃ  車両
Ｓ  車載更新システム
Ｓ１  プログラム提供装置（サーバ）
１  車外通信装置
１１  車外通信部
１２  車内通信部
２  車載更新装置（ＣＧＷ）
２０  制御部（復号部、取得部、送信部、消去部）
２１  第１記憶部
２２  第２記憶部
２３  車内通信部
２４  記録媒体
３  車載ＥＣＵ
３０  制御部
３１  記憶部
３２  車内通信部
４  車内ＬＡＮ
Ｎ  車外ネットワーク
【図１】
2019105946.tif 000003
【図２】
2019105946.tif 000004
【図３】
2019105946.tif 000005
【図４】
2019105946.tif 000006
【図５】
2019105946.tif 000007