(57)【要約】【課題】より簡便に、制御プログラムの書き換え処理の信頼度を高める通信システム、移動体、及び制御プログラムの書き換え方法を提供する。【解決手段】通信システムは、対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、を備える通信システムであって、前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する。【選択図】図１
2018194981.tif 000002
【特許請求の範囲】
【請求項１】
対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、
前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、
を備える通信システムであって、
前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する、
通信システム。
【請求項２】
前記制御部は、前記第２通信装置を経由せずに受信する前記情報に対して前記制御プログラムの書換えを許可しない、
請求項１に記載の通信システム。
【請求項３】
前記第１通信装置と前記第２通信装置は、前記情報の真正性を確認する確認部を有し、
前記制御部は、
前記第１通信装置ならびに前記第２通信装置の双方の前記確認部により、前記情報の真正性が確認された場合に、前記制御プログラムの書換えを許可する、
請求項１又は２に記載の通信システム。
【請求項４】
請求項１から３の何れか１項に記載の前記第１通信装置と前記第２通信装置とを少なくとも搭載し、
前記制御プログラムを書換えるための情報が、前記移動体を制御するためのものを含む、
移動体。
【請求項５】
対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、を備える通信システムにおける制御プログラムの書き換え方法であって、
前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する、
制御プログラムの書き換え方法。
【請求項６】
前記制御部は、前記第２通信装置を経由せずに受信する前記情報に対して前記制御プログラムの書換えを許可しない、
請求項５に記載の制御プログラムの書き換え方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信システム、移動体、及び制御プログラムの書き換え方法に関する。
【背景技術】
【０００２】
近年、車両内に設けた複数の制御装置同士が車両内のネットワークを介して通信して、車両における各種機能を制御するための通信システムがある。このような通信システムの制御装置の中には、外部装置と通信を行い、その外部装置の指示に従って自装置の制御プログラムの書換えを許可するものがある（例えば、特許文献１参照）。このような外部装置をリプロ装置と呼ぶことがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−１４１９４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、通信システムを構成する各装置の中で、通信システムの外部装置と直接通信する装置やその外部装置からの接続階層が比較的浅い装置は、外部装置からの影響を受けやすい位置にある。このような影響を受けやすい位置にある装置において、外部装置にあたるリプロ装置の指示に基づいて当該装置の制御プログラムの更新を許容すると、リプロ装置になりすました外部装置等からの不正な指示によって当該制御プログラムが更新されてしまう懸念がある。上記のような通信システムでは、制御プログラムの書き換え処理の結果に所望の信頼度を確保することが困難である。
【０００５】
本発明は、このような事情を考慮してなされたものであり、より簡便に、制御プログラムの書き換え処理の信頼度を高める通信システム、移動体、及び制御プログラムの書き換え方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００６】
（１）：対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部（３３）を備える第１通信装置（ＩＦ装置３）と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置（ＥＣＵ１０）と、を備える通信システム（１）であって、前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する、通信システムである。
【０００７】
（２）：（１）において、前記制御部は、前記第２通信装置を経由せずに受信する前記情報に対して前記制御プログラムの書換えを許可しないものである。
【０００８】
（３）：（１）又は（２）において、前記第１通信装置と前記第２通信装置は、前記情報の真正性を確認する確認部（１３、３３）を有し、前記制御部は、前記第１通信装置ならびに前記第２通信装置の双方の前記確認部により、前記情報の真正性が確認された場合に、前記制御プログラムの書換えを許可するものである。
【０００９】
（４）：（１）から（３）の何れかに記載の前記第１通信装置と前記第２通信装置とを少なくとも搭載し、前記制御プログラムを書換えるための情報が、前記移動体を制御するためのものを含む、移動体（車両４）である。
【００１０】
（５）：対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、を備える通信システムにおける制御プログラムの書き換え方法であって、前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する、制御プログラムの書き換え方法である。
【００１１】
（６）：（５）において、前記制御部は、前記第２通信装置を経由せずに受信する前記情報に対して前記制御プログラムの書換えを許可しない。
【発明の効果】
【００１２】
（１）によれば、通信システムは、対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、を備える。このような通信システムは、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可することにより、より簡便に、制御プログラムの書き換え処理の信頼度を高めることができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態の通信システムの構成を示す図である。
【図２】本実施形態のＥＣＵのハードウエア構成を示す図である。
【図３】本実施形態のＥＣＵの機能構成を示す図である。
【図４】本実施形態のＩＦ装置のハードウエア構成を示す図である。
【図５】本実施形態のＩＦ装置の機能構成を示す図である。
【図６】本実施形態のリプロ処理について説明するための図である。
【図７】本実施形態に係るリプロ処理の流れを説明するための図である。
【図８】第２の実施形態に係るリプロ処理の流れを説明するための図である。
【図９】第３の実施形態に係るリプロ処理の流れを説明するための図である。
【図１０】第４の実施形態のリプロ処理について説明するための図である。
【図１１】本実施形態に係るリプロ処理の流れを説明するための図である。
【図１２】第５の実施形態に係るリプロ処理の流れを説明するための図である。
【図１３】本実施形態に係るリプロ処理の流れを説明するための図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照し、本発明の通信システム、移動体、及び制御プログラムの書き換え方法の実施形態について説明する。
【００１５】
実施形態の通信システムは、リプロ装置からの情報に基づいて当該通信システムを構成する対象装置の制御プログラムの書換えを許可する。実施形態の通信システムは、例えば、車両などの移動体に搭載され、その移動体を制御する用途で利用されるものであってもよい。
【００１６】
以下の実施形態に係る「対象装置の制御プログラム」は、対象装置の制御部によって実行されるソフトウェアプログラムを含む。上記ソフトウェアプログラムは、実行形式のものであってもよく、実行形式に変換可能なものであってもよい。
【００１７】
「対象装置の制御プログラム」には、対象装置の処理に関する論理情報として、対象装置の処理に係るソフトウェアプログラムの一部又は全部と、そのソフトウェアプログラムの処理に用いる変数と、対象装置の処理を選択するための変数又は選択処理のソフトウェアプログラムと、対象装置の制御プログラムを書き換える処理のソフトウェアプログラムと、の内の何れかが含まれていてもよい。
【００１８】
「制御プログラムの書換え」の処理には、新たに「制御プログラム」を追加する処理が含まれる。例えば、新たに追加された「制御プログラム」に、既存の制御プログラムから切換える処理を纏めて「書換える処理」と呼ぶことがある。さらに、「制御プログラムの書換え」の処理には、文字通り「書換える処理」の他に、新たに追加された「制御プログラム」に対応する旧来の「制御プログラム」が実行されないようにする処理、換言すれば、旧来の「制御プログラム」を削除する処理、無効化する処理、単に実行対象から除く処理などが含まれてもよい。以下の説明では、上記の「制御プログラムの書換え」に係る処理を纏めて、「リプロ処理」或いは単に「リプロ」という。
【００１９】
「リプロ装置」は、対象装置のリプロ処理のための情報を提供するものであって、ＣＰＵなどのプロセッサを含む装置、又は、光ディスク、磁気による記録媒体、半導体メモリ等の記録媒体を含み、これらを総称する。本実施形態では、プロセッサを含む装置の場合を例示する。
【００２０】
実施形態の通信システムは、以下に例示する幾つかの実施形態の方法により、制御プログラムの書き換え処理（リプロ処理）の信頼度を高めるものである。
【００２１】
（第１の実施形態）
図１は、本実施形態の通信システム１の構成を示す図である。通信システム１は、例えば車両４（移動体）に搭載される。通信システム１は、少なくとも車両４内にネットワークＮＷを構成する。ネットワークＮＷでは、例えば、バス２（通信バス）を介してＣＡＮ（Controller Area Network）、ＩＥＥＥ８０２．３などの通信方式に基づく通信が行われる。
【００２２】
通信システム１は、バス２に接続されたＥＣＵ１０−１からＥＣＵ１０−３とインタフェース装置（ＩＦ装置）３とを備える。以下、ＥＣＵ１０−１からＥＣＵ１０−３を区別しない場合は、単にＥＣＵ１０と表記する。「−１」から「−３」などの記載は以下で説明する他の構成についても同様である。
【００２３】
以下の説明では、ＥＣＵ１０は、車両４のデバイスを制御する制御装置として説明するが、信号の中継機能を有する中継装置であってもよい。また、ＥＣＵ１０は、共通のバス２に接続されたものとして説明するが、バス２と、バス２以外のバスとに接続されていてもよい。
【００２４】
ＥＣＵ１０は、例えばエンジンを制御するエンジンＥＣＵや、シートベルトを制御するシートベルトＥＣＵ等である。ＥＣＵ１０は、自装置が所属するネットワークＮＷに送信されたフレームを受信する。以下、ネットワークＮＷに送信される各フレームのことをフレームＦという。フレームＦは、それぞれに附された識別子（以下、ＩＤという。）により識別される。ＥＣＵ１０は、自ＥＣＵ１０に係るフレームＦを識別するＩＤ（以下、受信ＩＤという）を記憶部１２（図２Ｂ）に格納しておく。ＥＣＵ１０は、フレームＦを受信する際には、受け付けたフレームＦに附されたＩＤ（以下、送信ＩＤという）を参照して、受信ＩＤと同じ値の送信ＩＤが附されたフレームＦを抽出して取得する。ＥＣＵ１０は、通信をする際に通信相手の認証処理を実施する。
【００２５】
ネットワークＮＷには、ＥＣＵ１０の他に、外部装置５０が接続されるＩＦ装置３が設けられている。例えば、ＩＦ装置３は、外部装置５０と有線回線を利用して通信するための接続端子（ＤＬＣ）、又は、外部装置５０と無線回線を利用して通信するための無線通信部を有している。ＩＦ装置３の詳細については後述する。
【００２６】
実施形態の外部装置５０は、ＩＦ装置３とＥＣＵ１０の処理に関する制御プログラムの書き換えを要求する。つまり、外部装置５０は、上記の制御プログラムをリプロするための所謂リプロ装置である。
【００２７】
なお、外部装置５０は、図１に示すようにＩＦ装置３に接続される。外部装置５０は、ＩＦ装置３との間で直接通信することができるが、ＥＣＵ１０とは直接通信することができない。外部装置５０は、ＥＣＵ１０と通信する場合には、ＩＦ装置３がゲートウエイとして機能してその通信を中継することで、間接的に通信することができる。
【００２８】
上記のように構成した場合、ＢＵＳ２に接続されているＩＦ装置３とＥＣＵ１０の中で、外部装置５０からの物理的な接続階層が最も浅いものは、ＩＦ装置３である。各ＥＣＵ１０は、ＢＵＳ２に並列に接続されていることから、外部装置５０からの物理的な接続階層が同位であり、その順位はＩＦ装置３の次に浅い。
【００２９】
また、ＩＦ装置３は、外部装置５０と直接的に通信し、外部装置５０とＥＣＵ１０との間の通信を中継することから、ネットワークＮＷを介して通信するＩＦ装置３とＥＣＵ１０の中で、外部装置５０からの論理的な接続階層が最も浅いものは、ＩＦ装置３である。各ＥＣＵ１０は、ＩＦ装置３を介して通信することから、外部装置５０からの論理的な接続階層が同位であり、その順位はＩＦ装置３の次に浅い。
【００３０】
なお、外部装置５０をＩＦ装置３に接続することなく、通信システム１を機能させることができる。
【００３１】
図２は、本実施形態のＥＣＵ１０のハードウエア構成を示す図である。ＥＣＵ１０は、ＣＰＵ１０Ａと、ＲＡＭ（Random Access Memory）、レジスタ等の揮発性記憶装置１０Ｂと、ＲＯＭ（Read Only Memory）、ＥＥＰＲＯＭ（Electrically Erasable and Programmable Read Only Memory）、ＨＤＤ（Hard Disk Drive）の不揮発性記憶装置１０Ｃと、無線通信インタフェース１０Ｄと、入出力装置１０Ｅと、通信インタフェース１０Ｆなどを含むコンピュータである。なお、ＥＣＵ１０は、その種類又は用途により、無線通信インタフェース１０Ｄと入出力装置１０Ｅの何れか又は両方を含まない場合がある。
【００３２】
図３は、本実施形態のＥＣＵ１０の機能構成を示す図である。ＥＣＵ１０は、制御部１１と、記憶部１２と、通信制御部１３（確認部）とを含む。例えば、制御部１１と通信制御部１３は、ＣＰＵ１０Ａ等のプロセッサが制御プログラム（ソフトウェアプログラム）を実行することにより実現される。
【００３３】
制御部１１は、ＥＣＵ１０内の各部を制御する。例えば、制御部１１は、他のＥＣＵ１０、ＩＦ装置３、外部装置５０等の他の装置からの通信要求を受け付ける。その通信要求には、制御プログラムを書き換えることを要求するものが含まれる。制御部１１は、書き換え用の制御プログラムを取得した場合に、記憶部１２に格納している制御プログラムを書き換える。その詳細については後述する。
【００３４】
記憶部１２は、揮発性記憶装置１０Ｂと不揮発性記憶装置１０Ｃとによって実現される。記憶部１２は、アプリケーションプログラム、通信制御プログラム、リプロ処理プログラム等の制御プログラム１２５と、上記の制御プログラムの実行により参照される各種情報とを格納する。各種情報には、送信ＩＤ１２１と受信ＩＤ１２２と鍵ＤＢ１２３とリプロ情報ＤＢ１２４とが含まれる。
【００３５】
通信制御部１３は、通信インタフェース１０Ｆを介した外部の装置との通信を制御する。通信インタフェース１０Ｆは、ＥＣＵ１０をバス２に接続するインタフェースである。通信制御部１３が通信インタフェース１０Ｆを制御することにより、制御部１１が要求する他の装置との通信を可能にする。通信制御部１３は、通信インタフェース１０Ｆからの通知を受け、所定の条件を満たす通信を抽出して、他の装置からの通信要求を制御部１１に通知する。
【００３６】
例えば、上記の「所定の条件を満たす通信」とは、受信ＩＤ１２２に格納された情報に基づいて、自装置を宛先とする通信と判定され得るものであって、鍵ＤＢ１２３に格納された共通鍵に基づいて復号できるものである。
通信制御部１３は、例えば、その判定結果と復号結果とを、制御部１１に通知する。制御部１１は、その判定結果と復号結果とに基づいて、他の装置からの通信要求に対する通信の可否を判断し、判断の結果に応じてリプロ処理をする。
【００３７】
図４は、本実施形態のＩＦ装置３のハードウエア構成を示す図である。ＩＦ装置３は、ＣＰＵ３Ａと、揮発性記憶装置３Ｂと、不揮発性記憶装置３Ｃと、無線通信インタフェース３Ｄと、入出力装置３Ｅと、通信インタフェース３Ｆなどを含むコンピュータである。なお、ＩＦ装置３は、その種類又は用途により、無線通信インタフェース３Ｄと入出力装置３Ｅの何れか又は両方を含まない場合がある。
【００３８】
図５は、本実施形態のＩＦ装置３の機能構成を示す図である。ＩＦ装置３は、制御部３１と、記憶部３２と、通信制御部３３（確認部）とを含む。例えば、制御部３１と通信制御部３３は、ＣＰＵ３Ａ等のプロセッサが制御プログラム（ソフトウェアプログラム）を実行することにより実現される。
【００３９】
制御部３１は、ＩＦ装置３内の各部を制御する。例えば、制御部３１は、ＥＣＵ１０、外部装置５０等の他の装置からの通信要求を受け付ける。その通信要求には、制御プログラムを書き換えることを要求するものが含まれる。制御部３１は、書き換え用の制御プログラムを取得した場合に、記憶部３２に格納している制御プログラムを書き換える。その詳細については後述する。
【００４０】
記憶部３２は、揮発性記憶装置３Ｂと不揮発性記憶装置３Ｃとによって実現される。記憶部３２は、アプリケーションプログラム、通信制御プログラム、リプロ処理プログラム等の制御プログラム３２５と、上記の制御プログラムの実行により参照される各種情報とを格納する。各種情報には、送信ＩＤ３２１と受信ＩＤ３２２と鍵ＤＢ３２３とリプロ情報ＤＢ３２４とが含まれる。
【００４１】
通信制御部３３は、通信インタフェース３Ｆ−１と通信インタフェース３Ｆ−２を介した通信を制御する。例えば、ＩＦ装置３は、通信インタフェース３Ｆ−１を介して外部装置５０等に接続され、通信インタフェース３Ｆ−２を介してバス２に接続される。
【００４２】
通信制御部３３が通信インタフェース３Ｆ−１と通信インタフェース３Ｆ−２とを制御することにより、制御部３１が要求する他の装置との通信を可能にする。通信制御部３３は、通信インタフェース３Ｆ−１と通信インタフェース３Ｆ−２からの通知を受け、所定の条件を満たす通信を抽出して、他の装置からの通信要求を制御部３１に通知する。
【００４３】
例えば、上記の「所定の条件を満たす通信」とは、受信ＩＤ３２２に格納された情報に基づいて、自装置を宛先とする通信と判定され得るものであって、鍵ＤＢ３２３に格納された共通鍵に基づいて復号できるものである。
通信制御部３３は、例えば、その判定結果と復号結果とを、制御部３１に通知する。制御部３１は、その判定結果と復号結果とに基づいて、他の装置からの通信要求に対する通信の可否を判断し、判断の結果に応じてリプロ処理をする。
【００４４】
次に、より具体的な実施形態の一例を示す。図６は、本実施形態のリプロ処理について説明するための図である。
【００４５】
各ＥＣＵ１０には、例えば、車両４を制御するための下記の機能が割り付けられている。
ＥＣＵ１０−１は、ＥＣＵ１０−２とＥＣＵ１０−３宛に、それぞれを制御するための指令を送信する。ＥＣＵ１０−２は、ＥＣＵ１０−１等から受けた指令に基づいて、例えば、それに対応させて設けられているトランスミッションを制御する。ＥＣＵ１０−２は、その指令に対する応答をＥＣＵ１０−１宛に送信する。ＥＣＵ１０−３は、ＥＣＵ１０−１等から受けた指令に基づいて、例えば、それに対応させて設けられているバッテリのＳＯＣ（State of charge）を調整する。ＥＣＵ１０−３は、その指令に対する応答をＥＣＵ１０−１宛に送信する。
【００４６】
さらに、ＩＦ装置３と各ＥＣＵ１０には、リプロ処理に関する機能が割り付けられている。
【００４７】
この図６に、ＩＦ装置３と各ＥＣＵ１０にそれぞれに付与された識別情報と共通鍵の一例を示す。
【００４８】
先に、上記の識別情報について説明する。上記の識別情報には、送信ＩＤと受信ＩＤとが含まれる。送信ＩＤは、フレームを送信する際に使用され、フレームの送信元を示すものである。受信ＩＤは、フレームに付与されたＩＤ（送信ＩＤ）を照合する際に利用され、受信すべきフレームを識別するためのものである。例えば、制御部１１は、バス２から取得したフレームに付与されている送信ＩＤ（識別情報）を、記憶部１２に格納された受信ＩＤと照合することにより、取得したフレームの認証処理をする。制御部１１は、それらが一致していれば、正規の送信元から送信されたフレームであって、受信すべきものと判定する。上記は、制御部３１においても同様である。
【００４９】
図６（ａ）に示すように、ＩＦ装置３に付与された識別情報には、送信ＩＤに「１０１」が含まれ、受信ＩＤに「１１１」が含まれる。上記の場合、ＩＦ装置３は、送信ＩＤとして「１０１」をフレームに付与してそのフレームを送信する。
【００５０】
図６（ｂ）に示すように、ＥＣＵ１０−１に付与された識別情報には、送信ＩＤに「０１１」と「０１２」と「１１１」とが含まれ、受信ＩＤに「０２１」と「０３１」と「１０１」が含まれる。上記の場合、ＥＣＵ１０−１は、３種類の送信ＩＤを用途に合わせて使い分けて、用途に合う送信ＩＤをフレームに付与してそのフレームを送信する。例えば、ＥＣＵ１０−１において、送信ＩＤに「０１１」を使用する場合は、エンジンンのトルク値をＥＣＵ１０−２に指令する場合であり、送信ＩＤに「０１２」を使用する場合は、バッテリ充電制御をＥＣＵ１０−３に指令する場合であり、送信ＩＤに「１１１」を使用する場合は、リプロ情報をＩＦ装置３に指令する場合である。
【００５１】
図６（ｃ）に示すように、ＥＣＵ１０−２に付与された識別情報には、送信ＩＤに「０２１」を含み、受信ＩＤに「０１１」を含む。例えば、送信ＩＤの「０２１」を使用する場合は、ＥＣＵ１０−１にミッションのギア位置を通知する場合である。
【００５２】
図６（ｄ）に示すように、ＥＣＵ１０−３に付与された識別情報には、送信ＩＤに「０３１」を含み、受信ＩＤに「０１２」を含む。例えば、送信ＩＤの「０３１」を使用する場合は、ＥＣＵ１０−１にバッテリのＳＯＣ値を通知する場合である。
【００５３】
例えば、ＩＦ装置３が、送信ＩＤに「１０１」を使用してリプロ情報を送信すると、受信ＩＤとして「１０１」を有するＥＣＵ１０−１は、その受信ＩＤを利用して、そのリプロ情報を受信する。リプロ情報を送受する他の組み合わせも同様である。
【００５４】
上記の送信ＩＤと受信ＩＤを利用して制御プログラムに関する情報を送受する。例えば、ＩＦ装置３は、外部装置５０からＩＦ装置３の制御プログラムに関する情報を受信した後に、外部装置５０に対する階層の深さがＩＦ装置３より深いＥＣＵ１０宛に送信する。換言すれば、ＩＦ装置３は、外部装置５０に対する階層がＩＦ装置３の階層より遠いＥＣＵ１０宛に送信する。ここでは、例えば、ＥＣＵ１０−１がその処理を実施するものとする。
【００５５】
さらに、ＥＣＵ１０−１は、ＩＦ装置３の制御プログラムを書き換えるために、ＩＦ装置３から制御プログラムに関する情報を受信して、必要な処理を実施した後、当該制御プログラムをＩＦ装置３宛に送信する。
【００５６】
次に、共通鍵について説明する。図６に示すように、鍵ＩＤがＫＥＹ１とＫＥＹ３の共通鍵をＩＦ装置３が保有し、鍵ＩＤがＫＥＹ２とＫＥＹ３である共通鍵をＥＣＵ１０−１が保有する。
【００５７】
図７を参照して、前述の図６に示した識別情報と共通鍵を用いたリプロ処理について説明する。図７は、実施形態に係るリプロ処理の流れを説明するための図である。
【００５８】
外部装置５０は、例えば、ＫＥＹ１の共通鍵とＫＥＹ２の共通鍵（以下、それぞれを単に「ＫＥＹ１」、「ＫＥＹ２」という。）を用いて元データを暗号化して情報Ｍ１を生成する。
【００５９】
例えば、外部装置５０が提供する情報ＭＡ１は、制御プログラムである元データ（ＯＲＧ）に対して、ＫＥＹ２により暗号化され、更にＫＥＹ１により暗号化されたものである。この関係を式（１）に示す。式（１）における演算子「×」は、共通鍵を用いた暗号化を示す。
【００６０】
ＭＡ１＝（ＯＲＧ×ＫＥＹ２）×ＫＥＹ１      ・・・（１）
【００６１】
或いは、外部装置５０は、ＫＥＹ１とＫＥＹ２を用いて暗号化された情報Ｍ１を保有する。
【００６２】
なお、本実施形態の以下の説明において、ＩＦ装置３は、第１装置の一例であり、ＥＣＵ１０−１は、第２装置の一例である。例えば、上記の元データ（ＯＲＧ）は、ＩＦ装置３の制御プログラムを書き換えるためのＩＦ装置３用の制御プログラムである。
【００６３】
まず、外部装置５０は、情報Ｍ１をＩＦ装置３に提供して（ＳＡ５０１）、通信並びに制御プログラムの書き換えを要求する。
【００６４】
通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対し、受信ＩＤ１１１を用いて、情報ＭＡ１に付与された送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＡ３０１）。
【００６５】
ＳＡ３０１において送信ＩＤの照合に成功した場合には、通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対してＫＥＹ１を用いて解錠を試みる（ＳＡ３０２）。
【００６６】
ＫＥＹ１を用いた解錠が成功した場合には、ＩＦ装置３の制御部３１は、ＫＥＹ１を用いて解錠された後のデータを送信して、情報ＭＡ２として中継する（ＳＡ３０３）。
【００６７】
ＥＣＵ１０−１において、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対して受信ＩＤ１０１を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＡ１１１）。
【００６８】
ＳＡ１１１において送信ＩＤの照合に成功した場合には、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対してＫＥＹ２を用いて解錠を試みる（ＳＡ１１２）。
【００６９】
ＫＥＹ２を用いた解錠が成功した場合には、ＥＣＵ１０−１の制御部１１−１は、ＫＥＹ２を用いて解錠された後のデータ（制御プログラム）を、ＫＥＹ３を用いて暗号化し（ＳＡ１１３）、それを送信して、情報ＭＡ３として中継する（ＳＡ１１４）。
【００７０】
通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対して受信ＩＤ１１２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＡ３０４）。
【００７１】
ＳＡ３０４において送信ＩＤの照合に成功した場合には、通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対してＫＥＹ３を用いて解錠を試みる（ＳＡ３０５）。
【００７２】
ＫＥＹ３を用いた解錠が成功した場合には、制御部３１は、ＫＥＹ３を用いて解錠された後のデータを取得し、記憶部３２の制御プログラム３２５に書き込んで、新たな制御プログラムとして書き換えて（ＳＡ３０６、リプロ）、リプロが実施されたことを情報ＭＡ４により外部装置５０に通知する。
【００７３】
なお、ＥＣＵ１０−１は、ＳＡ１１２においてＫＥＹ２を用いた解錠に失敗した場合には、リプロ処理の要求の受付を失敗（「リプロ失敗」）と判定し、それを情報ＭＡ５として送信する（ＳＡ１１５）。
【００７４】
なお、ＩＦ装置３は、ＳＡ３０２においてＫＥＹ１を用いた解錠に失敗した場合、ＳＡ３０５においてＫＥＹ３を用いた解錠に失敗した場合、又は、情報ＭＡ５を検出した場合には、リプロ処理の要求の受付を失敗した（「リプロ失敗」）と判定し、それを情報ＭＡ６として外部装置５０宛に送信する（ＳＡ３０７）。
【００７５】
上記の手順に従えば、通信システム１は、ＩＦ装置３の制御プログラムを書換えるための情報の提供元が外部装置５０である場合に制御プログラムの書換えを許可せず、ＩＦ装置３の制御プログラムを書換えるための情報の提供元がＥＣＵ１０−１である場合に制御プログラムの書換えを許可することができる。
【００７６】
以上に説明した第１の実施形態によれば、通信システム１は、対象装置の制御プログラムを書換えるための情報を提供する外部装置５０からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部３１を備えるＩＦ装置３と、外部装置５０との間にＩＦ装置３が介在されて外部装置５０と通信するＥＣＵ１０−１と、を備える。制御部３１は、ＥＣＵ１０−１から受信する制御プログラムを書換えるための情報に対してＩＦ装置３の制御プログラムの書換えを許可することにより、より簡便に、制御プログラムの書き換え処理の信頼度を高めることができる。
【００７７】
なお、制御部３１は、ＥＣＵ１０−１を経由せずに受信する情報に対してＩＦ装置３の制御プログラムの書換えを許可しないことにより、ＥＣＵ１０−１を経由せずに受信する情報に基づいた制御プログラムの書換えを避けることができ、より簡便に、制御プログラムの書き換え処理の信頼度を高めることができる。
【００７８】
なお、ＩＦ装置３は、ＩＦ装置３の制御プログラムを書換えるための情報の真正性を確認する通信制御部３３を有し、ＥＣＵ１０−１は、ＩＦ装置３の制御プログラムを書換えるための情報の真正性を確認する通信制御部１３−１を有している。制御部３１は、通信制御部３３ならびに通信制御部１３−１の双方により、ＩＦ装置３の制御プログラムを書換えるための情報の真正性が確認された場合に、その制御プログラムの書換えを許可するようにした。これにより、通信システム１は、通信制御部３３ならびに通信制御部１３−１の双方が、ＩＦ装置３の制御プログラムを書換えるための情報の真正性を確認したことに応じて、その制御プログラムの書換えを許可することができる。
【００７９】
また、ＩＦ装置３は、外部装置５０からＩＦ装置３の制御プログラムを書換えるための情報を受信しても、そのまま自装置の制御プログラムを書換える処理を実施しない。上記の実施形態によれば、ＩＦ装置３は、外部装置５０からＩＦ装置３の制御プログラムを書換えるための情報を一旦、ＥＣＵ１０に中継して、改めてＥＣＵ１０から制御プログラムを受信する。その間に、必要とされる復号処理が実施されてから、ＩＦ装置３は、制御プログラムを書換える処理を実施する。このように他の装置を介して中継することで、外部から悪意を持った制御プログラムの書換え要求に対する耐性を高めることができる。
【００８０】
（第１の実施形態の変形例）
第１の実施形態の変形例では、ＫＥＹ３を用いずに構成する事例について説明する。図７に示す手順からＳＡ１１３、ＳＡ３０５のステップを省略してもよい。
【００８１】
この変形例によれば、第１の実施形態と同様の効果を奏する。ただし、ＥＣＵ１０−１からＩＦ装置３に対する通信の秘匿性が第１の実施形態の事例より低下することがあるが、その低下が影響しないシステムであれば、応答性を高めることができる。
【００８２】
（第２の実施形態）
第２の実施形態について説明する。第１の実施形態では、通信システム１内の装置間の通信において、それぞれ異なる共通鍵で秘匿して通信する事例を示した。これに代えて、第２の実施形態では、ＩＦ装置３は、外部装置５０から受信した情報を復号せずに中継する事例について説明する。
【００８３】
前述の図６を参照して、ＩＦ装置３と各ＥＣＵ１０にそれぞれに付与された識別情報と共通鍵について説明する。図示を省略するが、本実施形態では、共通鍵の配置が図６の表記とは異なり、ＩＦ装置３がＫＥＹ２を保有し、ＥＣＵ１０−１がＫＥＹ１を保有する。この場合、ＩＦ装置３が外部装置５０から受信する情報と、ＩＦ装置３がＥＣＵ１０に中継する情報は、同一の共通鍵で暗号化したものになる。
【００８４】
図８は、実施形態に係るリプロ処理の流れを説明するための図である。
外部装置５０は、ＫＥＹ１とＫＥＹ２とを用いて元データを暗号化して生成された情報Ｍ１をＩＦ装置３に提供して（ＳＢ５０１）、通信並びに制御プログラムの書き換えを要求する。
【００８５】
例えば、外部装置５０が提供する情報ＭＡ１は、制御プログラムである元データ（ＯＲＧ）に対して、ＫＥＹ１により暗号化され、更にＫＥＹ２により暗号化されたものである。この関係を式（２）に示す。式（２）における演算子「×」は、共通鍵を用いた暗号化を示す。
【００８６】
ＭＡ１＝（ＯＲＧ×ＫＥＹ１）×ＫＥＹ２      ・・・（２）
【００８７】
本実施形態の以下の説明において、ＩＦ装置３は、第１装置の一例であり、ＥＣＵ１０−１は、第２装置の一例である。
【００８８】
通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対し、受信ＩＤ３２２を用いて、情報ＭＡ１に付与された送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＢ３０１）。
【００８９】
ＳＢ３０１において送信ＩＤの照合に成功した場合には、ＩＦ装置３の制御部３１は、外部装置５０から取得した情報ＭＡ１を、送信元ＩＤを変更して送信し、情報ＭＡ２として中継する（ＳＢ３０３）。
【００９０】
ＥＣＵ１０−１において、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対して受信ＩＤ１２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＢ１１１）。
【００９１】
ＳＢ１１１において送信ＩＤの照合に成功した場合には、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対してＫＥＹ１を用いて解錠を試みる（ＳＢ１１２）。
【００９２】
ＫＥＹ１を用いた解錠が成功した場合には、ＥＣＵ１０−１の制御部１１−１は、ＫＥＹ１を用いて解錠された後のデータ（制御プログラム）を送信して、情報ＭＡ３として中継する（ＳＢ１１４）。
【００９３】
通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対して受信ＩＤ３２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＢ３０４）。
【００９４】
ＳＢ３０４において送信ＩＤの照合に成功した場合には、通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対してＫＥＹ２を用いて解錠を試みる（ＳＢ３０５）。
【００９５】
ＫＥＹ２を用いた解錠が成功した場合には、制御部３１は、ＫＥＹ２を用いて解錠された後のデータを取得し、記憶部３２の制御プログラム３２５に書き込んで、新たな制御プログラムとして書き換えて（ＳＢ３０６、リプロ）、リプロが実施されたことを情報ＭＡ４により外部装置５０に通知する。
【００９６】
なお、ＥＣＵ１０−１は、ＳＢ１１２においてＫＥＹ１を用いた解錠に失敗した場合には、リプロ処理の要求の受付を失敗（「リプロ失敗」）と判定し、それを情報ＭＡ５として送信する（ＳＢ１１５）。
【００９７】
なお、ＩＦ装置３は、ＳＢ３０２においてＫＥＹ２を用いた解錠に失敗した場合、又は、情報ＭＡ５を検出した場合には、リプロ処理の要求の受付を失敗した（「リプロ失敗」）と判定し、それを情報ＭＡ６として外部装置５０宛に送信する（ＳＢ３０７）。
【００９８】
上記の手順に従えば、通信システム１は、ＩＦ装置３の制御プログラムを書換えるための情報の提供元が外部装置５０である場合に制御プログラムの書換えを許可せず、ＩＦ装置３の制御プログラムを書換えるための情報の提供元がＥＣＵ１０−１である場合に制御プログラムの書換えを許可することができる。つまり、通信システム１は、ＥＣＵ１０−１から受信する制御プログラムを書換えるための情報に対してＩＦ装置３の制御プログラムの書換えを許可し、ＥＣＵ１０−１を経由せずに受信する情報に対してＩＦ装置３の制御プログラムの書換えを許可しないものである。
【００９９】
以上に説明した第２の実施形態によれば、第１の実施形態と同様の効果を奏することの他、ＩＦ装置３は、外部装置５０から受信した情報ＭＡ１を復号せずに通信システム１の内部の装置（ＥＣＵ１０−１）に中継し、その後に、ＥＣＵ１０−１からの通知に従ってリプロを実施することができる。
【０１００】
（第３の実施形態）
第３の実施形態について説明する。第１の実施形態と第２の実施形態は共に、ＩＦ装置３は、外部装置５０の共通鍵と同じ共通鍵を有する事例であった。これに代えて、第３の実施形態では、ＩＦ装置３は、外部装置５０の共通鍵とは異なる共通鍵しか有していない事例について説明する。
【０１０１】
前述の図６を参照して、ＩＦ装置３と各ＥＣＵ１０にそれぞれに付与された識別情報と共通鍵について例示する。図示を省略するが、本実施形態では、共通鍵の配置が図６の表記と異なり、ＩＦ装置３がＫＥＹ３を保有し、ＥＣＵ１０−１がＫＥＹ１、ＫＥＹ２、ＫＥＹ３の３つを保有する。
【０１０２】
図９は、実施形態に係るリプロ処理の流れを説明するための図である。
外部装置５０は、ＫＥＹ１とＫＥＹ２とを用いて元データを暗号化して生成された情報Ｍ１をＩＦ装置３に提供して（ＳＣ５０１）、通信並びに制御プログラムの書き換えを要求する。
【０１０３】
例えば、外部装置５０が提供する情報ＭＡ１は、制御プログラムである元データ（ＯＲＧ）に対して、ＫＥＹ２により暗号化され、更にＫＥＹ１により暗号化されたものである。この情報ＭＡ１は、前述の式（１）と同じである。
【０１０４】
本実施形態の以下の説明において、ＩＦ装置３は、第１装置の一例であり、ＥＣＵ１０−１は、第２装置の一例である。
【０１０５】
まず、通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対し、受信ＩＤ３２２を用いて、情報ＭＡ１に付与された送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＣ３０１）。
【０１０６】
ＳＣ３０１において送信ＩＤの照合に成功した場合には、ＩＦ装置３の制御部３１は、取得した情報ＭＡ１を、送信元ＩＤを変更して送信し、情報ＭＡ２として中継する（ＳＣ３０３）。
【０１０７】
ＥＣＵ１０−１において、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対して受信ＩＤ１２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＣ１１１）。
【０１０８】
ＳＣ１１１において送信ＩＤの照合に成功した場合には、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対してＫＥＹ１とＫＥＹ２の両方を用いて解錠を試みる（ＳＣ１１２）。ＫＥＹ１とＫＥＹ２を適用する順は、外部装置５０において暗号化した際の順に基づいて決定され、暗号化した際の順に対し逆にする。
【０１０９】
ＫＥＹ１とＫＥＹ２とを用いた解錠が成功した場合には、ＥＣＵ１０−１の制御部１１−１は、ＫＥＹ１とＫＥＹ２とを用いて解錠された後のデータ（制御プログラム）を、ＫＥＹ３を用いて暗号化し（ＳＣ１１３）、それを送信して、情報ＭＡ３として中継する（ＳＣ１１４）。
【０１１０】
通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対して受信ＩＤ３２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＣ３０４）。
【０１１１】
ＳＣ３０４において送信ＩＤの照合に成功した場合には、通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対してＫＥＹ３を用いて解錠を試みる（ＳＣ３０５）。
【０１１２】
ＫＥＹ３を用いた解錠が成功した場合には、制御部３１は、ＫＥＹ３を用いて解錠された後のデータを取得し、記憶部３２の制御プログラム３２５に書き込んで、新たな制御プログラムとして書き換えて（ＳＣ３０６、リプロ）、リプロが実施されたことを情報ＭＡ４により外部装置５０に通知する。
【０１１３】
なお、ＥＣＵ１０−１は、ＳＣ１１２においてＫＥＹ１とＫＥＹ２とを用いた解錠に失敗した場合には、リプロ処理の要求の受付を失敗（「リプロ失敗」）と判定し、それを情報ＭＡ５として送信する（ＳＣ１１５）。
【０１１４】
なお、ＩＦ装置３は、ＳＣ３０５においてＫＥＹ３を用いた解錠に失敗した場合、又は、情報ＭＡ５を検出した場合には、リプロ処理の要求の受付を失敗した（「リプロ失敗」）と判定し、それを情報ＭＡ６として外部装置５０宛に送信する（ＳＣ３０７）。
【０１１５】
上記の手順に従えば、通信システム１は、ＩＦ装置３の制御プログラムを書換えるための情報の提供元が外部装置５０である場合に制御プログラムの書換えを許可せず、ＩＦ装置３の制御プログラムを書換えるための情報の提供元がＥＣＵ１０−１である場合に制御プログラムの書換えを許可することができる。
【０１１６】
以上に説明した第３の実施形態によれば、ＩＦ装置３が外部装置５０の共通鍵とは異なる共通鍵を有するものであるが、第１の実施形態と同様の効果を奏する。ＩＦ装置３は、ＥＣＵ１０−１から受信する制御プログラムを書換えるための情報に対してＩＦ装置３の制御プログラムの書換えを許可し、ＥＣＵ１０−１を経由せずに受信する情報に対してＩＦ装置３の制御プログラムの書換えを許可しないものである。つまり、ＩＦ装置３は、外部装置５０から受信した情報ＭＡ１を復号せずに通信システム１の内部の装置（ＥＣＵ１０−１）に中継し、その後に、ＥＣＵ１０−１からの通知に従ってリプロを実施することができる。
【０１１７】
（第４の実施形態）
第４の実施形態について説明する。第１の実施形態から第３の実施形態は共に、ＩＦ装置３の制御プログラムのリプロの実施を、最終的にＩＦ装置３の制御部１１が決定するものであった。これに代えて、第４の実施形態では、ＩＦ装置３とは異なる装置（ＥＣＵ１０）の制御部が、ＩＦ装置３の制御プログラムのリプロの実施を決定する事例について説明する。
【０１１８】
図１０を参照して、ＩＦ装置３と各ＥＣＵ１０にそれぞれに付与された識別情報と共通鍵について例示する。図１０は、本実施形態のリプロ処理について説明するための図である。
本実施形態では、共通鍵の配置が図６とは下記の点が異なり、ＩＦ装置３がＫＥＹ３を保有し、ＥＣＵ１０−１がＫＥＹ１とＫＥＹ２とＫＥＹ３とを保有する。
【０１１９】
この図１０に示すＩＦ装置３と、ＥＣＵ１０−１と、ＥＣＵ１０−２の各装置は、リプロ情報を伝えるように、送信ＩＤと受信ＩＤが付与されている。
【０１２０】
例えば、図１０（ａ）に示すように、ＩＦ装置３に付与された識別情報には、送信ＩＤに「１０１」が含まれ、受信ＩＤに「１１２」と「１２１」とが含まれる。上記の場合、ＩＦ装置３は、送信ＩＤとして「１０１」をフレームに付与してそのフレームを送信する。ＩＦ装置３は、受信ＩＤとして「１１２」を利用して、ＥＣＵ１０−１からリプロ情報を受信して、受信ＩＤとして「１２１」を利用して、ＥＣＵ１０−２からリプロ処理の指示を受信する。
【０１２１】
図１０（ｂ）に示すように、ＥＣＵ１０−１に付与された識別情報には、送信ＩＤに「０１１」と「０１２」と「１１１」と「１１２」とが含まれ、受信ＩＤに「０２１」と「０３１」と「１０１」とが含まれる。例えば、ＥＣＵ１０−１は、送信ＩＤに「１１１」を使用して、リプロ情報をＥＣＵ１０−２に伝え、送信ＩＤに「１１２」を使用して、リプロ処理の結果をＩＦ装置３に伝える。
【０１２２】
図１０（ｃ）に示すように、ＥＣＵ１０−２に付与された識別情報には、送信ＩＤに「０２１」と「１２１」とが含まれ、受信ＩＤに「０１１」と「１０１」と「１１１」とが含まれる。例えば、ＥＣＵ１０−２は、受信ＩＤとして「１０１」を利用して、ＩＦ装置３からリプロ情報を受信して、受信ＩＤとして「１１１」を利用して、ＥＣＵ１０−１からリプロ処理の指示を受信する。ＥＣＵ１０−２は、送信ＩＤに「１２１」を使用して、リプロ情報をＩＦ装置３に伝える。
【０１２３】
図１１は、実施形態に係るリプロ処理の流れを説明するための図である。
【０１２４】
この図１１に示す、外部装置５０とＩＦ装置３とＥＣＵ１０−１のＳＤ５０１からＳＤ３０４までの説明は、図９のＳＣ５０１からＳＣ３０４までの説明に対応するものであり、その内容も同等である。この間にＥＣＵ１０−２が実施する処理などは、前述した実施形態には無いものである。この点を中心に説明する。
【０１２５】
まず、外部装置５０は、ＫＥＹ１とＫＥＹ２とを用いて元データを暗号化して生成された情報Ｍ１をＩＦ装置３に提供して（ＳＤ５０１）、通信並びに制御プログラムの書き換えを要求する。
【０１２６】
例えば、外部装置５０が提供する情報ＭＡ１は、制御プログラムである元データ（ＯＲＧ）に対して、ＫＥＹ２により暗号化され、更にＫＥＹ１により暗号化されたものである。この情報ＭＡ１は、前述の式（１）と同じである。
【０１２７】
本実施形態の以下の説明において、ＩＦ装置３は、第１装置の一例であり、ＥＣＵ１０−１は、第２装置の一例であり、ＥＣＵ１０−２は、第３装置の一例である。
【０１２８】
まず、通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対し、受信ＩＤ３２２を用いて、情報ＭＡ１に付与された送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＤ３０１）。
【０１２９】
ＳＤ３０１において送信ＩＤの照合に成功した場合には、ＩＦ装置３の制御部３１は、取得した情報ＭＡ１を、送信元ＩＤを変更して送信し、情報ＭＡ２として中継する（ＳＤ３０３）。
【０１３０】
ＥＣＵ１０−１において、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対して受信ＩＤ１２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＤ１１１）。
【０１３１】
ＳＤ１１１において送信ＩＤの照合に成功した場合には、通信制御部１３−１は、ＩＦ装置３から取得した情報ＭＡ２に対してＫＥＹ１とＫＥＹ２の両方を用いて解錠を試みる（ＳＤ１１２）。ＫＥＹ１とＫＥＹ２を適用する順は、外部装置５０において暗号化した際の順に基づいて決定され、暗号化した際の順に対し逆にする。
【０１３２】
ＫＥＹ１とＫＥＹ２とを用いた解錠が成功した場合には、ＥＣＵ１０−１の制御部１１−１は、ＫＥＹ１とＫＥＹ２とを用いて解錠された後のデータ（制御プログラム）を、ＫＥＹ３を用いて暗号化し（ＳＤ１１３）、それを送信して、情報ＭＡ３として中継する（ＳＤ１１４）。
【０１３３】
通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対して受信ＩＤ３２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＤ３０４）。
【０１３４】
ところで、ＥＣＵ１０−２は、上記のＳＤ３０３において、ＩＦ装置３によって中継された情報ＭＡ２を検出する。つまり、通信制御部１３−２は、取得した情報ＭＡ２に対して受信ＩＤ１２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＤ１２１）。
【０１３５】
また、ＥＣＵ１０−２は、ＳＤ１２１において送信ＩＤの照合に成功した場合には、上記のＳＤ１１４において、ＥＣＵ１０−１によって中継された情報ＭＡ３を検出する。つまり、通信制御部１３−２は、取得した情報ＭＡ３に対して受信ＩＤ１２２を用いて送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＤ１２２）。
【０１３６】
さらに、ＳＤ１２２において送信ＩＤの照合に成功した場合には、通信制御部１３−２は、ＩＦ装置３に対してリプロの実施を指示するためのリプロ指示（ＭＡ７）を送出する（ＳＤ１２３）。
【０１３７】
次に、ＩＦ装置３は、上記のリプロ指示（ＭＡ７）を検出して、以下の処理をする。
ＳＤ３０４において送信ＩＤの照合に成功した場合には、通信制御部３３は、ＥＣＵ１０−１から取得した情報ＭＡ３に対してＫＥＹ３を用いて解錠を試みる（ＳＤ３０５Ａ）。
【０１３８】
ＫＥＹ３を用いた解錠が成功した場合には、制御部３１は、リプロ指示（ＭＡ７）を検出したか否かを判定する（ＳＤ３０５Ｂ）。
【０１３９】
既に、リプロ指示（ＭＡ７）を検出していた場合には、ＫＥＹ３を用いて解錠された後のデータを、記憶部３２の制御プログラム３２５に書き込んで、新たな制御プログラムとして書き換えて（ＳＤ３０６、リプロ）、リプロが実施されたことを情報ＭＡ４により外部装置５０に通知する。
【０１４０】
なお、ＥＣＵ１０−１は、ＳＤ１１２においてＫＥＹ１とＫＥＹ２とを用いた解錠に失敗した場合には、リプロ処理の要求の受付を失敗（「リプロ失敗」）と判定し、それを情報ＭＡ５として送信する（ＳＤ１１５）。
【０１４１】
なお、ＩＦ装置３は、ＳＤ３０５ＡにおいてＫＥＹ３を用いた解錠に失敗した場合、又は、情報ＭＡ５を検出した場合には、リプロ処理の要求の受付を失敗した（「リプロ失敗」）と判定し、それを情報ＭＡ６として外部装置５０宛に送信する（ＳＤ３０７）。
【０１４２】
上記の手順に従えば、通信システム１は、ＩＦ装置３の制御プログラムを書換えるための情報の提供元が外部装置５０であり、ＥＣＵ１０−１とＥＣＵ１０−２の何れも経由しない場合に制御プログラムの書換えを許可せず、ＩＦ装置３の制御プログラムを書換えるための情報の提供元がＥＣＵ１０−１であり、ＥＣＵ１０−１又はＥＣＵ１０−２を経由する場合に制御プログラムの書換えを許可することができる。
【０１４３】
以上に説明した第４の実施形態によれば、ＩＦ装置３は、外部装置５０から受信した情報ＭＡ１を復号せずに通信システム１の内部の装置（ＥＣＵ１０−１とＥＣＵ１０−２）に中継し、その後に、ＥＣＵ１０−１とＥＣＵ１０−２からの通知に従ってリプロを実施することにより、第１の実施形態と同様の効果を奏する。
【０１４４】
（第５の実施形態）
第５の実施形態について説明する。第１の実施形態から第４の実施形態は共に、通信システム１の端点に位置し、外部装置５０と直接的に通信するＩＦ装置３の制御プログラムをリプロするものであった。これに代えて、第５の実施形態では、ＩＦ装置３とは異なり、通信システム１内部に位置する装置（ＥＣＵ１０）の制御プログラムをリプロする事例について説明する。以下の説明では、ＥＣＵ１０−１をリプロの対象とした場合を例示するが、他のＥＣＵ１０であってもよい。
【０１４５】
図１２を参照して、ＩＦ装置３と各ＥＣＵ１０にそれぞれに付与された識別情報と共通鍵について例示する。図１２は、本実施形態のリプロ処理について説明するための図である。
本実施形態では、共通鍵の配置が前述の図６と図１０とは異なり、ＩＦ装置３が共通鍵を保有せず、ＥＣＵ１０−１がＫＥＹ１とＫＥＹ３を保有し、ＥＣＵ１０−２がＫＥＹ２とＫＥＹ３を保有する。
【０１４６】
この図１２に示すＩＦ装置３と、ＥＣＵ１０−１と、ＥＣＵ１０−２の各装置は、リプロ情報を伝えるように、送信ＩＤと受信ＩＤが付与されている。
【０１４７】
例えば、図１２（ａ）に示すように、ＩＦ装置３に付与された識別情報には、送信ＩＤに「１０１」が含まれ、受信ＩＤに「１１２」が含まれる。上記の場合、ＩＦ装置３は、送信ＩＤとして「１０１」をフレームに付与してそのフレームを送信する。ＩＦ装置３は、受信ＩＤとして「１１２」を利用して、ＥＣＵ１０−１からリプロ情報を受信して、受信ＩＤとして「１２１」を利用して、ＥＣＵ１０−２からリプロ処理の指示を受信する。
【０１４８】
図１２（ｂ）に示すように、ＥＣＵ１０−１に付与された識別情報には、送信ＩＤに「０１１」と「０１２」と「１１１」と「１１２」とが含まれ、受信ＩＤに「０２１」と「０３１」と「１０１」と「１２１」とが含まれる。例えば、ＥＣＵ１０−１は、受信ＩＤとして「１０１」を利用して、ＩＦ装置３からリプロ情報を受信して、受信ＩＤとして「１２１」を利用して、ＥＣＵ１０−２からリプロ処理の指示を受信する。ＥＣＵ１０−１は、送信ＩＤに「１１１」を使用して、リプロ情報をＥＣＵ１０−２に伝え、送信ＩＤに「１１２」を使用して、リプロ処理の結果をＩＦ装置３に伝える。
【０１４９】
図１２（ｃ）に示すように、ＥＣＵ１０−２に付与された識別情報には、送信ＩＤに「０２１」と「１２１」とが含まれ、受信ＩＤに「０１１」と「１１１」とが含まれる。例えば、ＥＣＵ１０−２は、受信ＩＤとして「１１１」を利用して、ＥＣＵ１０−１からリプロ情報を受信する。ＥＣＵ１０−２は、送信ＩＤに「１２１」を使用して、リプロ情報を送信して、リプロ情報をＥＣＵ１０−１に伝える。
【０１５０】
図１３は、実施形態に係るリプロ処理の流れを説明するための図である。
この図１３に示す、外部装置５０とＩＦ装置３とＥＣＵ１０−１のＳＥ５０１からＳＥ３０４までの説明は、図９のＳＣ５０１からＳＣ３０４までの説明に対応するものであり、その内容も同等である。この間にＥＣＵ１０−２が実施する処理などは、前述した実施形態には無いものである。この点を中心に説明する。
【０１５１】
まず、外部装置５０は、ＫＥＹ１とＫＥＹ２とを用いて元データを暗号化して生成された情報Ｍ１をＩＦ装置３に提供して（ＳＥ５０１）、通信並びに制御プログラムの書き換えを要求する。
【０１５２】
例えば、外部装置５０が提供する情報ＭＡ１は、制御プログラムである元データ（ＯＲＧ）に対して、ＫＥＹ２により暗号化され、更にＫＥＹ１により暗号化されたものである。この情報ＭＡ１は、前述の式（１）と同じである。
【０１５３】
本実施形態の以下の説明において、ＩＦ装置３は、第１装置の一例であり、ＥＣＵ１０−１は、第２装置の一例であり、ＥＣＵ１０−２は、第３装置の一例である。
【０１５４】
まず、通信制御部３３は、外部装置５０から取得した情報ＭＡ１に対し、受信ＩＤ３２２を用いて、情報ＭＡ１に付与された送信ＩＤとの照合を試みて、照合に失敗した場合には要求を破棄する（ＳＥ３０１）。
【０１５５】
ＳＥ３０１において送信ＩＤの照合に成功した場合には、ＩＦ装置３の制御部３１は、取得した情報ＭＡ１を、送信元ＩＤを変更して送信し、情報ＭＡ１１として中継する（ＳＥ３０３）。
【０１５６】
以下、ＥＣＵ１０−１におけるＳＥ１１１からＳＥ１１７までの処理とＥＣＵ１０−２におけるＳＥ１２１からＳＥ１２５までの処理は、図７におけるＩＦ装置３のＳＡ３０１からＳＡ３０７までの処理と、ＥＣＵ１０−１におけるＳＡ１１１からＳＡ１１５までの処理に相当する。以下、前述の図７とは異なる処理を中心に説明する。
【０１５７】
ＥＣＵ１０−１は、ＳＥ１１６においてリプロ処理を終えると、リプロが実施されたことを情報ＭＡ４によりＩＦ装置３に通知する。
【０１５８】
また、ＥＣＵ１０−２は、ＳＥ１２２においてＫＥＹ２を用いた解錠に失敗した場合には、リプロ処理の要求の受付を失敗（「リプロ失敗」）と判定し、それを情報ＭＡ５として送信する（ＳＥ１２５）。
【０１５９】
また、ＥＣＵ１０−１は、ＳＥ１１２においてＫＥＹ１を用いた解錠に失敗した場合、ＳＥ１１５においてＫＥＹ３を用いた解錠に失敗した場合、又は、情報ＭＡ５を検出した場合には、リプロ処理の要求の受付を失敗した（「リプロ失敗」）と判定し、それを情報ＭＡ６としてＩＦ装置３宛に送信する（ＳＥ１１７）。
【０１６０】
次に、ＩＦ装置３は、検出した情報ＭＡ５又は情報ＭＡ６に基づいて、情報ＭＡ８によりリプロ処理の結果を外部装置５０宛に送信する（ＳＥ３０７）。
【０１６１】
上記の手順に従えば、通信システム１におけるＥＣＵ１０−１は、その制御プログラムを書換えるための情報の提供元がＩＦ装置３、つまり外部装置５０であり、ＥＣＵ１０−２を経由しない場合に制御プログラムの書換えを許可せず、ＩＦ装置３の制御プログラムを書換えるための情報の提供元がＥＣＵ１０−２であり、ＥＣＵ１０−２を経由する場合に制御プログラムの書換えを許可することができる。
【０１６２】
以上に説明した第５の実施形態によれば、通信システム１の内部の装置（ＥＣＵ１０）の制御プログラムの書き換えを、ＥＣＵ１０−１がＥＣＵ１０−２からの通知に従ってリプロを実施することにより、ＥＣＵ１０−１を対象にしたリプロ処理において第１の実施形態と同様の効果を奏する。
【０１６３】
（第６の実施形態）
第６の実施形態について説明する。第１の実施形態から第５の実施形態は共に、それぞれが所定の１種類のリプロ処理を実施するものであった。これに代えて、第６の実施形態の通信システム１は、第１の実施形態から第５の実施形態に示したような予め定められた複数種類のリプロ処理の内から、所定の選択基準に従って選択されたリプロ処理を実施するものとして構成してもよい。
【０１６４】
以上に説明した第６の実施形態によれば、通信システム１が受け付けるリプロ要求を、所定の選択基準に対応させて簡便に変更することを可能とする。これにより、制御プログラムの書き換え処理の信頼度を高めることを可能にする。
【０１６５】
（第７の実施形態）
第７の実施形態について説明する。第１の実施形態から第６の実施形態において、外部装置５０が能動的にリプロ要求を発する事例について説明した。これに代えて、本実施形態の外部装置５０は、少なくとも任意の記憶媒体を含むものであって、能動的にリプロ要求を発しないものである事例について説明する。例えば、外部装置５０は、光ディスク、磁気による記録媒体、半導体メモリ等の記録媒体を含む。
【０１６６】
例えば、図２に示すＩＦ装置３の入出力装置１０Ｅは、外部装置５０の媒体からリプロ情報を読み出し可能である。入出力装置１０Ｅは、外部装置５０を検出し、媒体から情報を読み出して、読み出した情報にリプロ情報に関する情報が含まれている場合に、それをリプロ処理の要求とみなす。以降の処理は、第１の実施形態から第６の実施形態の処理を参照する。
【０１６７】
以上に説明した第７の実施形態によれば、外部装置５０が、少なくとも任意の記憶媒体を含むものとして構成されていても、ＩＦ装置３がその媒体の情報を取得することにより、第１の実施形態と同様の効果を奏する。つまり、ＩＦ装置３は、ＥＣＵ１０−１から受信する制御プログラムを書換えるための情報に対してＩＦ装置３の制御プログラムの書換えを許可し、ＥＣＵ１０−１を経由せずに受信する情報に対してＩＦ装置３の制御プログラムの書換えを許可しないものである。
【０１６８】
以上説明した少なくともひとつの実施形態によれば、通信システムは、対象装置の制御プログラムを書換えるための情報を提供するリプロ装置からの当該情報に基づいて、当該情報に対する制御プログラムの書換えを許可する制御部を備える第１通信装置と、前記リプロ装置との間に前記第１通信装置が介在されて前記リプロ装置と通信する第２通信装置と、を備える通信システムであって、前記制御部は、前記第２通信装置から受信する前記制御プログラムを書換えるための情報に対して前記制御プログラムの書換えを許可する。これにより、通信システムは、より簡便に、制御プログラムの書き換え処理の信頼度を高めることを可能にする。
【０１６９】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
例えば、第５の実施形態は、前述の第１の実施形態の処理と同様の処理を適用したものであるが、第１の実施形態以外の処理を同様の手法で適用してもよい。また、そのリプロ処理の対象についても、ＥＣＵ１０−１に限らず他のＥＣＵ１０を対象にしてもよい。
なお、外部装置５０から提供される情報は、ＫＥＹ１とＫＥＹ２とに基づいて暗号化されるものとして説明したが、何れか１つの共通鍵、又は、３つ以上の共通鍵を利用して暗号化されていてもよい。
【符号の説明】
【０１７０】
１‥通信システム、２…バス、３…ＩＦ装置、４…車両（移動体）、１０、１０−１、１０−２、１０−３…ＥＣＵ、１１、３１…制御部、１２、３２…記憶部、１３、３３…通信制御部（確認部）、５０…外部装置、ＮＷ…ネットワーク
【図１】
2018194981.tif 000003
【図２】
2018194981.tif 000004
【図３】
2018194981.tif 000005
【図４】
2018194981.tif 000006
【図５】
2018194981.tif 000007
【図６】
2018194981.tif 000008
【図７】
2018194981.tif 000009
【図８】
2018194981.tif 000010
【図９】
2018194981.tif 000011
【図１０】
2018194981.tif 000012
【図１１】
2018194981.tif 000013
【図１２】
2018194981.tif 000014
【図１３】
2018194981.tif 000015