(57)【要約】      （修正有）【課題】データの認証に失敗した際にデータの認証を実行可能で、故障の原因を推定可能なネットワークシステムを提供する。【解決手段】ネットワークシステムにおいて、依頼元装置において第一データの認証に失敗した場合、第一依頼先装置及び第二依頼先装置へ認証処理の代行を依頼する。依頼元装置は、依頼元装置、第一依頼先装置及び第二依頼先装置それぞれにおける認証結果に基づき（Ｓ４０３，Ｓ４０５，Ｓ４０７）、認証に失敗した原因を推定し（Ｓ４１１，Ｓ４２１，Ｓ４３１，Ｓ４４１）、その推定結果を故障情報として保存又は出力する（Ｓ４１３，Ｓ４２３，Ｓ４３３，Ｓ４４３）【選択図】図７
2019092026.tif 000002
【特許請求の範囲】
【請求項１】
第一ネットワーク（１Ａ）のノードとして機能し、かつ、前記第一ネットワークとは独立に構築される第二ネットワーク（１Ｂ）のノードとしても機能するように構成された複数の電子装置（２Ａ，２Ｂ，２Ｃ，２Ｄ）を含み、
前記複数の電子装置は、前記第一ネットワーク及び前記第二ネットワークの外部にある外部機器とは、前記第一ネットワーク経由で通信可能に構成され、
前記第一ネットワークには、それぞれに前記電子装置が接続される複数のバス（５Ａ，５Ｂ，５Ｃ）と、前記複数のバスを相互に接続する少なくとも一つのゲートウェイ（４）とが設けられ、
前記複数の電子装置のうちの少なくとも一つの電子装置は、依頼元装置（２Ｂ）として機能可能に構成され、
前記複数の電子装置のうちの少なくとも一つの電子装置は、第一依頼先装置（２Ａ）として機能可能に構成され、
前記複数の電子装置のうちの少なくとも一つの電子装置は、第二依頼先装置（２Ｃ）として機能可能に構成され、
前記複数の電子装置のうちの一つの電子装置が前記依頼元装置として機能する際に、前記依頼元装置とは別の電子装置であって前記依頼元装置と同じバス（５Ａ）に接続された電子装置が、前記第一依頼先装置として機能し、かつ前記依頼元装置及び前記第一依頼先装置とは別の電子装置であって前記依頼元装置とは異なるバス（５Ｂ）に接続された電子装置が、前記第二依頼先装置として機能するように構成され、
前記依頼元装置は、前記第一ネットワーク経由で第一データを受信した場合に（Ｓ１１０）、前記第一データに対する認証処理を実行し（Ｓ１２０，Ｓ２１０〜Ｓ２５０）、認証に成功した場合には（Ｓ１３０においてＹＥＳ）、前記依頼元装置が実行する処理において前記第一データを利用し（Ｓ１４０）、認証に失敗した場合には（Ｓ１３０においてＮＯ）、前記第二ネットワーク経由で第二データを前記第一依頼先装置及び前記第二依頼先装置へと送信するように構成され（Ｓ１５０，Ｓ１６０）、
前記第一依頼先装置及び前記第二依頼先装置は、前記第二データを受信した場合に（Ｓ３１０，Ｓ３２０）、前記第一データに対する認証処理を実行し（Ｓ３４０）、認証に成功した場合には（Ｓ３５０においてＹＥＳ）、認証に成功した前記第一データの内容を含む第三データを前記第二ネットワーク経由で前記依頼元装置に対して送信し（Ｓ３６０）、認証に失敗した場合には（Ｓ３５０においてＮＯ）、認証に失敗したことを示す第四データを前記第二ネットワーク経由で前記依頼元装置に対して送信するように構成され（Ｓ３７０）、
前記依頼元装置は、前記第一依頼先装置及び前記第二依頼先装置それぞれから前記第三データ又は前記第四データを受信して（Ｓ４０１）、前記依頼元装置、前記第一依頼先装置及び前記第二依頼先装置それぞれにおける認証結果に基づき（Ｓ４０３，Ｓ４０５，Ｓ４０７）、認証に失敗した原因を推定し（Ｓ４１１，Ｓ４２１，Ｓ４３１，Ｓ４４１）、その推定結果を故障情報として保存又は出力するように構成されている（Ｓ４１３，Ｓ４２３，Ｓ４３３，Ｓ４４３）
ネットワークシステム。
【請求項２】
請求項１に記載のネットワークシステムであって、
前記依頼元装置は、前記依頼元装置において認証に失敗し（Ｓ１３０においてＮＯ）、かつ前記第一依頼先装置及び前記第二依頼先装置において認証に成功した場合に（Ｓ４０３においてＹＥＳ、Ｓ４０５においてＹＥＳ）、前記依頼元装置の故障が、認証に失敗した原因であると推定し（Ｓ４１１）、その推定結果を前記故障情報として保存又は出力するように構成されている（Ｓ４１３）
ネットワークシステム。
【請求項３】
請求項２に記載のネットワークシステムであって、
前記依頼元装置は、前記第一依頼先装置又は前記第二依頼先装置のいずれかから受信した前記第三データに含まれる前記第一データを、前記依頼元装置が実行する処理において利用するように構成されている（Ｓ４１５）
ネットワークシステム。
【請求項４】
請求項１から請求項３までのいずれか一項に記載のネットワークシステムであって、
前記依頼元装置は、前記依頼元装置及び前記第二依頼先装置において認証に失敗し（Ｓ１３０においてＮＯ、Ｓ４０５においてＮＯ）、かつ前記第一依頼先装置において認証に成功した場合に（Ｓ４０３においてＹＥＳ）、前記依頼元装置の故障及び前記第二依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが、認証に失敗した原因であると推定し（Ｓ４２１）、その推定結果を前記故障情報として保存又は出力するように構成されている（Ｓ４２３）
ネットワークシステム。
【請求項５】
請求項４に記載のネットワークシステムであって、
前記依頼元装置は、前記第一依頼先装置から受信した前記第三データに含まれる前記第一データを、前記依頼元装置が実行する処理において利用するように構成されている（Ｓ４２５）
ネットワークシステム。
【請求項６】
請求項１から請求項５までのいずれか一項に記載のネットワークシステムであって、
前記依頼元装置は、前記依頼元装置及び前記第一依頼先装置において認証に失敗し（Ｓ１３０においてＮＯ、Ｓ４０３においてＮＯ）、かつ前記第二依頼先装置において認証に成功した場合に（Ｓ４０７においてＹＥＳ）、前記依頼元装置及び前記第一依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが、認証に失敗した原因であると推定し（Ｓ４３１）、その推定結果を前記故障情報として保存又は出力するように構成されている（Ｓ４３３）
ネットワークシステム。
【請求項７】
請求項６に記載のネットワークシステムであって、
前記依頼元装置は、前記第二依頼先装置から受信した前記第三データに含まれる前記第一データを、前記依頼元装置が実行する処理において利用するように構成されている（Ｓ４３５）
ネットワークシステム。
【請求項８】
請求項１から請求項７までのいずれか一項に記載のネットワークシステムであって、
前記依頼元装置は、前記依頼元装置、前記第一依頼先装置及び前記第二依頼先装置において認証に失敗した場合に（Ｓ１３０においてＮＯ、Ｓ４０３においてＮＯ、Ｓ４０７においてＮＯ）、前記第一データの送信元に該当する装置の故障又は不正な装置によるなりすましが、認証に失敗した原因であると推定し（Ｓ４４１）、その推定結果を前記故障情報として保存又は出力するように構成されている（Ｓ４４３）
ネットワークシステム。
【請求項９】
請求項８に記載のネットワークシステムであって、
前記依頼元装置は、前記第一データを正常に受信できなかった場合を想定してあらかじめ用意されているフェイルセーフデータを、前記依頼元装置が実行する処理において利用するように構成されている（Ｓ４４５）
ネットワークシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、ネットワークシステムに関する。
【背景技術】
【０００２】
セキュリティ処理ＣＰＵが故障した場合でも、セキュリティ処理ＣＰＵに代わって、汎用処理ＣＰＵが、データの暗号化、復号、認証等を実行するように構成された情報処理装置が提案されている（例えば、特許文献１参照。）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１５−１１９３５７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記特許文献１に記載の情報処理装置では、暗号ハードウェアにおいてセキュリティ処理ＣＰＵ以外の箇所が故障した場合には、データの認証等を実行できなくなるおそれがある。一例を挙げれば、例えば上記特許文献１に記載の情報処理装置において、セキュア記憶装置が故障した場合には、汎用処理ＣＰＵからセキュア記憶装置へのアクセスでエラーが発生し、汎用処理ＣＰＵではデータの認証等を実行できなくなるおそれがある。
【０００５】
また、上記特許文献１に記載の情報処理装置では、汎用処理ＣＰＵがデータの認証等を実行した際、データの認証等に失敗しても、その原因が情報処理装置内における故障にあるのか、データ自体に何らかの問題があったのかは不明なままである。そのため、例えば、ディーラにおいて故障診断を実施しても、故障の原因が容易には特定できない。よって、故障した箇所の修理に手間がかかる。
【０００６】
本開示の一局面においては、データの認証に失敗した際に上記従来技術とは別の手法でデータの認証を実行可能で、故障の原因を推定可能なネットワークシステムを提供することが望ましい。
【課題を解決するための手段】
【０００７】
本開示の一態様は、ネットワークシステム（１）であって、複数の電子装置（２Ａ，２Ｂ，２Ｃ，２Ｄ）を含む。複数の電子装置は、第一ネットワーク（１Ａ）のノードとして機能し、かつ、第一ネットワークとは独立に構築される第二ネットワーク（１Ｂ）のノードとしても機能するように構成される。複数の電子装置は、第一ネットワーク及び第二ネットワークの外部にある外部機器とは、第一ネットワーク経由で通信可能に構成される。
【０００８】
第一ネットワークには、複数のバス（５Ａ，５Ｂ，５Ｃ）と、少なくとも一つのゲートウェイ（４）とが設けられる。複数のバスには、それぞれに電子装置が接続される。少なくとも一つのゲートウェイは、複数のバスを相互に接続する。複数の電子装置のうちの少なくとも一つの電子装置は、依頼元装置（２Ｂ）として機能可能に構成される。複数の電子装置のうちの少なくとも一つの電子装置は、第一依頼先装置（２Ａ）として機能可能に構成される。複数の電子装置のうちの少なくとも一つの電子装置は、第二依頼先装置（２Ｃ）として機能可能に構成される。
【０００９】
複数の電子装置のうちの一つの電子装置が依頼元装置として機能する際に、依頼元装置とは別の電子装置であって依頼元装置と同じバス（５Ａ）に接続された電子装置が、第一依頼先装置として機能するように構成される。かつ、依頼元装置及び第一依頼先装置とは別の電子装置であって依頼元装置とは異なるバス（５Ｂ）に接続された電子装置が、第二依頼先装置として機能するように構成される。
【００１０】
依頼元装置は、第一ネットワーク経由で第一データを受信した場合に（Ｓ１１０）、第一データに対する認証処理を実行する（Ｓ１２０，Ｓ２１０〜Ｓ２５０）。認証に成功した場合（Ｓ１３０においてＹＥＳ）、依頼元装置は、依頼元装置が実行する処理において第一データを利用する（Ｓ１４０）。一方、認証に失敗した場合（Ｓ１３０においてＮＯ）、依頼元装置は、第二ネットワーク経由で第二データを第一依頼先装置及び第二依頼先装置へと送信する（Ｓ１５０，Ｓ１６０）。第二データは、依頼元装置から第一依頼先装置及び第二依頼先装置へ認証処理の代行を依頼する旨を伝達するためのデータである。
【００１１】
第一依頼先装置及び第二依頼先装置は、第二データを受信した場合に（Ｓ３１０，Ｓ３２０）、第一データに対する認証処理を実行する（Ｓ３４０）。第一依頼先装置及び第二依頼先装置において認証処理の対象とされる第一データは、例えば、第一依頼先装置及び第二依頼先装置が既に受信して第一依頼先装置及び第二依頼先装置それぞれのメモリに保存されている第一データを利用すればよい。あるいは、依頼元装置が受信した第一データを、依頼元装置から第一依頼先装置及び第二依頼先装置へと送信してもよい。
【００１２】
第一依頼先装置及び第二依頼先装置は、それぞれにおいて認証に成功した場合（Ｓ３５０においてＹＥＳ）、認証に成功した第一データの内容を含む第三データを第二ネットワーク経由で依頼元装置に対して送信する（Ｓ３６０）。一方、第一依頼先装置及び第二依頼先装置は、それぞれにおいて認証に失敗した場合（Ｓ３５０においてＮＯ）、認証に失敗したことを示す第四データを第二ネットワーク経由で依頼元装置に対して送信する（Ｓ３７０）。
【００１３】
依頼元装置は、第一依頼先装置及び第二依頼先装置それぞれから第三データ又は第四データを受信する（Ｓ４０１）。依頼元装置は、依頼元装置、第一依頼先装置及び第二依頼先装置それぞれにおける認証結果に基づき（Ｓ４０３，Ｓ４０５，Ｓ４０７）、認証に失敗した原因を推定する（Ｓ４１１，Ｓ４２１，Ｓ４３１，Ｓ４４１）。依頼元装置は、その推定結果を故障情報として保存又は出力する（Ｓ４１３，Ｓ４２３，Ｓ４３３，Ｓ４４３）。故障情報が保存される場合は、例えば情報がメモリ等に記憶されればよい。この場合、利用者は保存された故障情報を事後的に参照することができる。故障情報が出力される場合は、例えば情報がディスプレイ装置や警告灯などによって出力されればよい。この場合、利用者は出力される情報を認識することができる。
【００１４】
このように構成されたネットワークシステムによれば、依頼元装置において第一データの認証に失敗した場合でも、第一依頼先装置又は第二依頼先装置のいずれかにおいて第一データの認証に成功すれば、その第一データを依頼元装置が実行する処理において利用することができる。また、依頼元装置において第一データの認証に失敗した場合には、認証に失敗した原因が推定されて、その推定結果が故障情報として保存又は出力される。したがって、利用者は故障情報を参照して、容易に故障原因を特定でき、故障に対処することができる。
【００１５】
上述の第一データ、第二データ、第三データ及び第四データは、各データともに一回の伝送単位で伝送されるデータであってもよいし、複数回の伝送単位に分割されて順次伝送されるデータであってもよい。複数回の伝送単位に分割されて順次伝送される場合は、送信側から受信側へ一単位分のデータは伝送されるたびに、受信側から送信側へデータの一単位分のデータ受信を完了した旨を示すデータが伝送されてもよい。すなわち、第一データ、第二データ、第三データ又は第四データの送信開始から送信完了までの間に、他のデータの伝送が行われてもよい。
【００１６】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、後述する実施形態において一態様として例示する具体的な構成との対応関係を理解しやすくするために記載したものである。当該記載は、本開示の技術的範囲が後述する実施形態と同一な範囲に限定されることを意味する記載ではない。
【図面の簡単な説明】
【００１７】
【図１】図１はネットワークシステムを示す説明図である。
【図２】図２はＥＣＵを示す説明図である。
【図３】図３はネットワークにおいて伝送されるデータの構造を示す説明図である。
【図４】図４は依頼元装置となるＥＣＵがグローバルバスからデータを受信した際に実行する処理のフローチャートである。
【図５】図５はメッセージ認証処理のフローチャートである。
【図６】図６は第一依頼先装置及び第二依頼先装置となるＥＣＵがローカルバスからデータを受信した際に実行する処理のフローチャートである。
【図７】図７は依頼元装置となるＥＣＵがローカルバスからデータを受信した際に実行する処理のフローチャートである。
【発明を実施するための形態】
【００１８】
次に、上述のネットワークシステムについて、例示的な実施形態を挙げて説明する。
［ネットワークシステムの構成］
図１に示すネットワークシステム１は、例えば自動車に搭載される車載ネットワークシステムである。ネットワークシステム１は、複数のＥＣＵ２Ａ，２Ｂ，２Ｃ，２Ｄ，３Ａ，３Ｂ，３Ｃ，３Ｄ，３Ｅ，３Ｆ，３Ｇ，３Ｈ、ＣＧＷ４、複数のグローバルバス５Ａ，５Ｂ，５Ｃ、及びローカルバス６等を有する。ＥＣＵは「Electronic Control Unit」の略称である。ＣＧＷは「Central Gateway」の略称である。
【００１９】
ＥＣＵ３Ａ，３Ｂ，２Ａ，２Ｂは、グローバルバス５Ａに接続されている。ＥＣＵ２Ｃ，２Ｄ，３Ｃ，３Ｄは、グローバルバス５Ｂに接続されている。ＥＣＵ３Ｅ，３Ｆ，３Ｇ，３Ｈは、グローバルバス５Ｃに接続されている。各グローバルバス５Ａ〜５Ｃには、例えば、機能的に同系統に分類されるＥＣＵが接続されている。一例を挙げれば、例えば、グローバルバス５Ａにはボデー系ＥＣＵが接続される。グローバルバス５Ｂには制御系ＥＣＵが接続される。グローバルバス５Ｃには情報系ＥＣＵが接続される。
【００２０】
グローバルバス５Ａ〜５Ｃは、ＣＧＷ４を介して相互に接続されている。これらの構成により、ＥＣＵ２Ａ〜２Ｄ，ＥＣＵ３Ａ〜３Ｈ、ＣＧＷ４、及びグローバルバス５Ａ〜５Ｃは、第一ネットワーク１Ａを構成している。ＥＣＵ２Ａ〜２Ｄは、ローカルバス６に接続されている。これにより、ＥＣＵ２Ａ〜２Ｄ及びローカルバス６は、第二ネットワーク１Ｂを構成している。すなわち、ＥＣＵ２Ａ〜２Ｄは、第一ネットワーク１Ａのノードとして機能するように構成され、かつ、第二ネットワーク１Ｂのノードとしても機能するように構成されている。このように構成されたＥＣＵ２Ａ〜２Ｄが、本開示でいう電子装置に相当する。
【００２１】
第一ネットワーク１Ａ及び第二ネットワーク１Ｂでは、各ネットワークを構成するノードに対してブロードキャスト通信によってデータが伝送される。ただし、第一ネットワーク１Ａと第二ネットワーク１Ｂは、互いに独立したネットワークである。そのため、例えば、第一ネットワーク１Ａにおいてデータが伝送された場合でも、そのデータが第二ネットワーク１Ｂへと伝送されることはない。同様に、第二ネットワーク１Ｂにおいてデータが伝送された場合でも、そのデータが第一ネットワーク１Ａへと伝送されることはない。
【００２２】
ＣＧＷ４は、グローバルバス５Ａ〜５Ｃの間に介在して、いずれか一つのグローバルバスから残りのグローバルバスへデータを中継する。また、ＣＧＷ４は、外部通信路７に接続可能に構成され、外部通信路７とグローバルバス５Ａ〜５Ｃとの間でデータを中継する。これにより、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈは、第一ネットワーク１Ａ経由で図示しない外部機器と通信可能となっている。なお、第二ネットワーク１Ｂには、外部通信路に接続可能なノードが設けられていない。そのため、第二ネットワーク１Ｂのノードが第二ネットワーク１Ｂ経由で外部機器と通信することはできない。
【００２３】
外部通信路７は、無線通信路及び有線通信路のうちの少なくとも一方であればよい。また、外部通信路７は、単一の機器と接続可能な通信路及び複数の機器と接続可能な通信路のうちの少なくとも一方であればよい。複数の機器と接続可能な通信路としては、例えば複数の機器がノードとして含まれる外部ネットワークに接続可能な通信路であればよい。外部通信路７は、全部が専用線で構成されていてもよいし、一部が公衆回線で構成されていてもよい。
【００２４】
なお、本実施形態では上記三つのグローバルバス５Ａ〜５Ｃを例示してあるが、グローバルバスの数は任意である。例えば、グローバルバスの数は、二つ以下又は四つ以上であってもよい。本実施形態では上記十二個のＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈを例示してあるが、ＥＣＵ数は任意である。例えば、ＥＣＵの数は、十一個以下又は十三個以上であってもよい。本実施形態では上記ＥＣＵ２Ａ〜２Ｄがローカルバス６に接続されている例を示したが、ＥＣＵ３Ａ〜３Ｈのうちの少なくとも一つがローカルバス６に接続されていてもよい。あるいは、ＥＣＵ３Ａ〜３Ｈのうちの少なくとも一つがローカルバス６とは別のローカルバスに接続されていてもよい。
【００２５】
［ＥＣＵの構成］
次に、ＥＣＵの内部構成について説明する。以下の説明では、図２に示すＥＣＵ２Ｂを例に挙げる。ただし、本実施形態において、ＥＣＵ２Ａ，２Ｃ，２Ｄは、ＥＣＵ２Ｂと同様に構成される。また、本実施形態において、ＥＣＵ３Ａ〜３Ｈは、第二ネットワーク１Ｂに接続されていない点で、ＥＣＵ２Ｂとは相違するが、その他の点はＥＣＵ２Ｂと同様に構成される。
【００２６】
ＥＣＵ２Ｂは、図２に示すように、ＣＰＵ１１、ＲＡＭ１２、フラッシュメモリ１３、第一通信部１６、及び第二通信部１７等を有する。第一通信部１６は、グローバルバス５Ａに接続するためのネットワークインターフェースである。第二通信部１７は、ローカルバス６に接続するためのネットワークインターフェースである。ＥＣＵ２Ａ〜２Ｄの各種機能は、ＣＰＵ１１が非遷移的実体的記録媒体に格納されたプログラムに従って各種処理を実行することにより実現される。この例では、フラッシュメモリ１３が、非遷移的実体的記録媒体に該当する。
【００２７】
ＣＰＵ１１がプログラムに従って各種処理を実行する際には、フラッシュメモリ１３に格納されたプログラムをＲＡＭ１２によって構成されるメインメモリにロードするように構成されていてもよい。この場合、ＣＰＵ１１は、メインメモリに格納されたプログラムに従って各種処理を実行する。ＣＰＵ１１がプログラムに従って各種処理を実行することにより、プログラムに対応する方法が実行され、ＥＣＵ２Ａ〜２Ｄが備える各種機能が実現される。ただし、ＥＣＵ２Ａ〜２Ｄが備える各種機能を実現する手法はソフトウェアに限るものではなく、機能の一部又は全部を、ディジタル回路やアナログ回路等を組み合わせたハードウェアを用いて実現してもよい。
【００２８】
ＲＡＭ１２及びフラッシュメモリ１３には、各種記憶領域が確保される。本実施形態に関連する主要な記憶領域としては、ＲＡＭ１２には受信データバッファ１２Ａが確保される。フラッシュメモリ１３には、共通鍵記憶部１３Ａ、及びダイアグ記憶部１３Ｂが確保される。受信データバッファ１２Ａは、第一ネットワーク１Ａ経由で受信したデータを一時的に蓄積するためのバッファである。
【００２９】
受信データバッファ１２Ａには受信したデータが順次格納され、格納領域が満杯になった場合には、最も古いデータが格納されている領域に新しいデータが上書きで格納される。受信データバッファ１２Ａのサイズは、第一ネットワーク１Ａ経由で受信するデータ量が最大となる状況を考慮して、少なくとも一定期間分（例えば２０ミリ秒分。）のデータについては確実に蓄積できる程度のサイズが確保される。
【００３０】
共通鍵記憶部１３Ａには、後述する処理の中で、受信データに対するメッセージ認証を実行する際に使用する共通鍵が記憶されている。ダイアグ記憶部１３Ｂには、後述する処理の中で、故障原因の推定が行われる際に、その故障原因に対応するダイアグコードが記憶される。ダイアグ記憶部１３Ｂには、ダイアグコードに加えて、故障原因の特定を行う上で有用な各種情報が記憶されてもよい。どのような情報を記憶するかは、例えば、ダイアグコードに応じて取り決められた情報を記憶してもよいし、ダイアグコードとは無関係に取り決められた情報を記憶してもよい。
【００３１】
［認証処理の概要］
第一ネットワーク１Ａのノードは、外部通信路７経由で到来するデータを受信することができる。そのため、例えば外部通信路７に接続された不正な外部機器から悪意のある不正なデータが伝送され得ることも想定して、そのような不正なデータに対して適切な対処をすることが重要となる。また、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈにおいてプログラムの改ざんが行われた場合、あるいは不正なＥＣＵへの換装が行われた場合にも、そのような不正なＥＣＵから伝送される不正なデータに対し、適切な対処をすることが重要である。
【００３２】
そこで、本実施形態のネットワークシステム１において、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈは、第一ネットワーク１Ａ経由でデータを受信した際に認証処理を実行し、データの正当性を確認する。本実施形態において、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈは、メッセージ認証によってデータの正当性を確認する。図３に示すように、第一ネットワーク１Ａにおいて伝送されるデータＤ１には、ＩＤ、通常データ、及び暗号データ等が含まれる。なお、データＤ１には、これら以外の制御コードやデータ等も含まれるが、本処理には関連しないので説明を省略する。
【００３３】
ＩＤは、データの種別又は内容、送信元又は送信先のノード、及び通信時の優先度等、様々な情報を含み得る識別子である。送信元のノードからブロードキャスト通信によって第一ネットワーク１Ａへと送出されるデータＤ１は、第一ネットワーク１Ａにおける送信元ノード以外のノード全てにおいて受信される。データＤ１を受信したノードは、データＤ１中に含まれるＩＤに基づいて、処理対象とすべきデータか否かを判断することができる。
【００３４】
通常データは、送信元ノードが送信先ノードへ送信しようとしたデータの実体部分である。暗号データは、第一ネットワーク１Ａのノードが共通に使用する共通鍵を使って、所定の暗号化方式により通常データを暗号化したデータである。共通鍵は、上述の共通鍵記憶部１３Ａに記憶されている。データＤ１中に含まれる暗号データは、データＤ１を送信する送信元ノードにおいて、共通鍵を使って通常データを暗号化し、その暗号化済みのデータの一部を抽出したものである。暗号化済みのデータの一部を抽出するのはデータ量を削減するためである。データ量の削減が不要であれば、暗号化済みのデータの全部を暗号データとして利用してもよい。
【００３５】
以上のようなデータＤ１を受信したノードにおいて、メッセージ認証を実施する際には、データＤ１中に含まれる通常データを取り出し、取り出した通常データを送信元ノードと同様の手順で暗号化し、その暗号化済みのデータの一部を抽出する。このようにして受信側ノードで生成される暗号データは、送信元ノードと同じ共通鍵を使って生成されるので、通常は、データＤ１中に含まれる暗号データと一致する。
【００３６】
しかし、通常データが伝送途中で改ざんされた場合やデータ化けした場合には、受信側ノードで生成される暗号データとデータＤ１中に含まれる暗号データとが不一致となる。あるいは、共通鍵を知らない不正なノードがデータを送信した場合には、適正な暗号データを生成できないため、受信側ノードで生成される暗号データとデータＤ１中に含まれる暗号データとが不一致となる。したがって、受信側ノードでは、受信側ノードで生成される暗号データとデータＤ１中に含まれる暗号データが一致する場合には、認証が成立したと判断する。一方、受信側ノードで生成される暗号データとデータＤ１中に含まれる暗号データとが不一致となった場合には、認証に失敗したと判断する。
【００３７】
また、本実施形態のネットワークシステム１において、ＥＣＵ２Ａ〜２Ｄは、第二ネットワーク１Ｂ経由でデータを伝送することができる。ただし、第二ネットワーク１Ｂは、第一ネットワーク１Ａとは異なり、第二ネットワーク１Ｂの外部とは隔離されたネットワークとなっている。そのため、第一ネットワーク１Ａとは異なり、少なくとも第二ネットワーク１Ｂの外部から不正なデータが伝送されてくることはない。
【００３８】
そこで、ＥＣＵ２Ａ〜２Ｄは、第二ネットワーク１Ｂ経由でデータを受信した際には、第一ネットワーク１Ａの場合とは異なり、認証処理を実行しない。そのため、第二ネットワーク１Ｂにおいて伝送されるデータＤ２は、図３に示すように、ＩＤ、及び通常データ等が含まれるものの、暗号データは含まれないデータとされている。
［認証代行の仕組み］
ところで、上述の認証処理において認証に成功した場合、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈは、当該認証成功以降の処理において上述のデータＤ１を利用する。具体例を挙げれば、例えば、データＤ１中から通常データが取り出され、その通常データを変数として用いた演算処理、通常データに基づく制御、通常データに応じて判断が分かれる分岐処理等が実行される。
【００３９】
一方、ＥＣＵ２Ａ〜２Ｄ及びＥＣＵ３Ａ〜３Ｈのうち、ＥＣＵ２Ａ〜２Ｄは、いずれかが上述の認証処理において認証に失敗した場合に、他のＥＣＵに認証の代行を依頼する。これは、データＤ１が不正なために認証に失敗したのではなく、認証処理を実行するＥＣＵの故障等が原因で認証に失敗した可能性もあるからである。認証に失敗したＥＣＵは、認証に失敗したことを契機として依頼元装置となる。
【００４０】
ここでは、ＥＣＵ２Ｂが認証処理において認証に失敗して依頼元装置となる場合を想定して説明を続ける。依頼元装置となったＥＣＵ２Ｂは、ＥＣＵ２Ａ，２Ｃ，２Ｄ（すなわち、依頼元装置以外のＥＣＵ。）の中から第一依頼先装置及び第二依頼先装置を選定する。第一依頼先装置としては、依頼元装置と同じグローバルバスに接続されたＥＣＵが選定される。第二依頼先装置としては、依頼元装置と異なるグローバルバスに接続されたＥＣＵが選定される。ここでは、ＥＣＵ２Ｂが、ＥＣＵ２Ａを第一依頼先装置として選定し、かつＥＣＵ２Ｃを第二依頼先装置として選定した場合を想定して説明を続ける。依頼元装置となるＥＣＵ２Ｂは、第一依頼先装置及び第二依頼先装置として選定されたＥＣＵ２Ａ，２Ｃへ第二ネットワーク１Ｂ経由でデータを送信することにより、認証処理の代行を依頼する。
【００４１】
なお、以下の説明においては、依頼元装置において第一ネットワーク１Ａ経由で受信して、その認証に失敗したデータＤ１のことを第一データと称する。また、認証処理の代行を依頼するため、依頼元装置から第二ネットワーク１Ｂ経由で第一依頼先装置及び第二依頼先装置へと伝送するデータのことを第二データと称する。本実施形態の場合、第二データであること、及びどのＥＣＵが第一依頼先装置又は第二依頼先装置として選定されたのかは、第二データ中のＩＤによって示される。
【００４２】
具体的には、第二データであることを示すＩＤとしては、第一依頼先装置又は第二依頼先装置として選定され得るＥＣＵ２Ａ〜２Ｄそれぞれに対応付けられた複数のＩＤが用意されている。ＥＣＵ２Ｃへ認証処理の代行を依頼する際には、ＥＣＵ２Ｃに対応するＩＤを選択し、そのＩＤを含む第二データをブロードキャスト通信により第二ネットワーク１Ｂへと送出する。
【００４３】
ＥＣＵ２Ａでは、第二データを受信した際、そのデータ中に含まれるＩＤに基づいてＥＣＵ２Ａが第一依頼先装置に選定されたことを認識し、それを契機にして第一依頼先装置としての処理を実行する。ＥＣＵ２Ｃでは、第二データを受信した際、そのデータ中に含まれるＩＤに基づいてＥＣＵ２Ｃが第二依頼先装置に選定されたことを認識し、それを契機にして第二依頼先装置としての処理を実行する。なお、ＥＣＵ２Ｄにおいても、ＥＣＵ２Ｂから送信された第二データを受信する。ただし、そのデータ中に含まれるＩＤに基づいてＥＣＵ２Ｄでの対処が必要なデータではないと判断できるので、その判断以降の処理は実行しない。
【００４４】
第一依頼先装置又は第二依頼先装置となるＥＣＵ２Ａ，２Ｃでは、第一データに対してメッセージ認証による認証処理を実行する。本実施形態において、ＥＣＵ２Ａ，２Ｃは、上述のような受信データバッファ１２Ａを有し、第一ネットワーク１Ａ経由で受信したデータを一定期間分だけ受信データバッファ１２Ａに蓄積している。そのため、ＥＣＵ２Ａ，２Ｃが第二データを受信した際、ＥＣＵ２Ａ，２Ｃは、第二データ中に含まれる情報に基づいて、対象となる第一データを受信データバッファ１２Ａの中から探し出し、第一データに対する認証処理を実行する。なお、上述のような受信データバッファ１２Ａを使う代わりに、ＥＣＵ２ＢからＥＣＵ２Ａ，２Ｃへ第一データが提供されてもよい。
【００４５】
第一依頼先装置又は第二依頼先装置であるＥＣＵ２Ａ，２Ｃにおいて第一データに対する認証に成功した場合、ＥＣＵ２Ａ，２Ｃは、認証に成功した第一データの内容を含む第三データを第二ネットワーク１Ｂ経由でＥＣＵ２Ｂに対して送信する。第三データであることは、第三データ中のＩＤによって示される。依頼元装置であるＥＣＵ２Ｂでは、第三データを受信したことにより、第一依頼先装置又は第二依頼先装置での認証に成功したことを認識することができる。ＥＣＵ２Ｂは、第三データを受信した場合、第三データに含まれる第一データを利用して、所期の処理を実行する。
【００４６】
したがって、このように構成されたネットワークシステム１によれば、ＥＣＵ２Ｂにおいて第一データの認証に失敗した場合でも、ＥＣＵ２Ａ又はＥＣＵ２Ｃにおいて第一データの認証に成功すれば、ＥＣＵ２Ｂは第三データに含まれる第一データを利用することができる。よって、例えば、ＥＣＵ２Ｂにおいて認証処理を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、ＥＣＵ２Ｂは認証済みの第一データを利用することができる。
【００４７】
［依頼元装置、第一依頼先装置及び第二依頼先装置において実行される処理の詳細］
次に、上述の依頼元装置、第一依頼先装置及び第二依頼先装置において実行される処理について、図４〜図７に示すフローチャートに基づいて説明する。なお、上述の依頼元装置となるＥＣＵでは、図４，図５，及び図７に示す処理が実行される。また、依頼先装置となるＥＣＵでは、図５及び図６に示す処理が実行される。ここでは、先に挙げた例と同様に、ＥＣＵ２Ｂが依頼元装置となり、ＥＣＵ２Ａが第一依頼先装置として選定され、ＥＣＵ２Ｃが第二依頼先装置として選定される場合を想定して説明を続ける。
【００４８】
ＥＣＵ２Ｂは、図４に示すように、Ｓ１１０において、グローバルバス５Ａから第一データを受信する。第一データは、ＥＣＵ２Ａ，２Ｂ，２Ｃ以外のＥＣＵがブロードキャスト通信によって第一ネットワーク１Ａへと送信したデータである。ここでは、一例として、ＥＣＵ３Ｈが第一データを送信したものとして、以降の説明を続ける。ＥＣＵ３Ｈが第一データを送信した場合、第一データは第一ネットワーク１ＡにおいてＥＣＵ３Ｈ以外のノード全てに届く。第一データを受信したノードは、第一データ中に含まれるＩＤに基づいて、処理対象とすべきデータか否か等を判断する。また、本実施形態の場合、少なくともＥＣＵ２Ａ〜２Ｄにおいては、第一データを受信したら、第一データを受信データバッファ１２Ａに格納する。
【００４９】
続いて、ＥＣＵ２Ｂは、Ｓ１２０において、メッセージ認証処理を実行する。このメッセージ認証処理の詳細を図５に示す。メッセージ認証処理を開始すると、ＥＣＵ２Ｂは、図５に示すように、Ｓ２１０において、処理対象となるデータに含まれる通常データと暗号データを取り出す。ここでいう処理対象となるデータは、Ｓ１１０において受信した第一データである。
【００５０】
続いて、ＥＣＵ２Ｂは、Ｓ２２０において、通常データを共通鍵で暗号化し、暗号データを生成する。ここで暗号化されるデータは、Ｓ２１０において処理対象となるデータから取り出された通常データである。続いて、ＥＣＵ２Ｂは、Ｓ２３０において、受信した暗号データと生成したデータが一致するか否かを判断する。受信した暗号データと生成したデータが一致する場合は、Ｓ２３０においてＹＥＳと判断され、Ｓ２４０へと進む。
【００５１】
Ｓ２４０へ進んだ場合は、ＥＣＵ２Ｂにおいて認証が成立したことになり、図５に示す処理を終了して、図４のＳ１３０へと進む。一方、受信した暗号データと生成したデータが一致しない場合は、Ｓ２３０においてＮＯと判断され、Ｓ２５０へと進む。Ｓ２５０へ進んだ場合は、ＥＣＵ２Ｂにおいて認証に失敗したことになり、図５に示す処理を終了して、図４のＳ１３０へと進む。
【００５２】
ＥＣＵ２Ｂは、Ｓ１３０において、認証が成立したか否かを判断する。上述のＳ２４０において認証が成立している場合は、Ｓ１３０においてＹＥＳと判断され、Ｓ１４０へと進む。ＥＣＵ２Ｂは、Ｓ１４０において、第一データに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」としては、ＥＣＵ２Ｂの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、Ｓ１４０の実行後は図４に示す処理を終了する。
【００５３】
一方、上述のＳ２５０において認証に失敗している場合には、Ｓ１３０においてＮＯと判断され、Ｓ１５０へと進む。ＥＣＵ２Ｂは、Ｓ１５０において、第一データに含まれるＩＤを取り出して他の部分は破棄する。続いて、ＥＣＵ２Ｂは、Ｓ１６０において、取り出したＩＤを含む第二データを作成し、その第二データに認証代行依頼を示すＩＤを設定し、第二データをローカルバス６へ送信する。なお、Ｓ１６０の実行後は図４に示す処理を終了する。
【００５４】
さて、ＥＣＵ２Ｂにおいて上述のような処理が実行されている際、ＥＣＵ２Ａ，２Ｃでは図６に示す処理が実行される。ＥＣＵ２Ａ，２Ｃは、図６に示すように、Ｓ３１０において、ローカルバス６からデータを受信する。続いて、ＥＣＵ２Ａ，２Ｃは、Ｓ３２０において、上記Ｓ３１０で受信したデータがＥＣＵ２Ａ，２Ｃ宛の第二データか否かを判断する。ここで、第二データであること、及びＥＣＵ２Ａ，２Ｃ宛であることは、受信データ中に含まれるＩＤに基づいて判断することができる。なお、ＥＣＵ２Ｂにおいて上述のＳ１６０が実行された場合、第二データはブロードキャスト通信によって第二ネットワーク１Ｂへと送信される。そのため、第二データは第二ネットワーク１ＢにおいてＥＣＵ２Ｂ以外のノード全てに届く。
【００５５】
ＥＣＵ２Ａ，２ＣにおいてＥＣＵ２Ａ，２Ｃ宛の第二データを受信した場合、ＥＣＵ２Ａ，２Ｃでは、Ｓ３２０においてＹＥＳと判断されて、Ｓ３３０へと進む。その場合、ＥＣＵ２Ａ，２Ｃは、Ｓ３３０において、処理対象となる第一データを受信データバッファ１２Ａから取得する。上述の通り、ＥＣＵ２ＢがＳ１６０で第二データを作成する際には、第一データから取り出されたＩＤを含む第二データが作成される。そこで、Ｓ３３０では、ＥＣＵ２Ａ，２Ｃは、第二データ中に含まれている「第一データから取り出されたＩＤ」と一致するＩＤを持つデータを、受信データバッファ１２Ａから探し出し、そのデータを処理対象となる第一データとして取得する。
【００５６】
続いて、ＥＣＵ２Ａ，２Ｃは、Ｓ３４０において、受信データバッファ１２Ａから探し出された第一データに対し、メッセージ認証処理を実行する。このメッセージ認証処理は、図５に示した処理となる。ただし、図５に示した処理については既に詳細を説明したので、重ねての説明は省略する。なお、Ｓ３４０においてメッセージ認証処理を実行する場合、図５のＳ２１０における「処理対象となるデータ」は、Ｓ３３０において受信データバッファ１２Ａから探し出された第一データである。
【００５７】
続いて、ＥＣＵ２Ａ，２Ｃは、Ｓ３５０において、認証が成立したか否かを判断する。Ｓ３４０で認証が成立している場合は、Ｓ３５０においてＹＥＳと判断され、Ｓ３６０へと進む。ＥＣＵ２Ｂは、Ｓ３６０において、第一データに含まれる通常データを取り出して、その通常データを含む第三データを作成し、ローカルバス６へ送信する。第三データであることは、第三データ中に含まれるＩＤによって示すことができる。なお、Ｓ３６０の実行後は図６に示す処理を終了する。一方、Ｓ３４０で認証に失敗している場合には、Ｓ３５０においてＮＯと判断され、Ｓ３７０へと進む。ＥＣＵ２Ｂは、Ｓ３７０において、認証失敗を示す第四データをローカルバス６へ送信する。第四データであることは、第四データ中に含まれるＩＤによって示すことができる。なお、Ｓ３７０の実行後は図６に示す処理を終了する。
【００５８】
ＥＣＵ２Ａ，２Ｃにおいて上述のＳ３６０が実行された場合、第三データはブロードキャスト通信によって第二ネットワーク１Ｂへと送信される。そのため、ＥＣＵ２Ａから送信される第三データは、第二ネットワーク１ＢにおいてＥＣＵ２Ａ以外のノード全てに届く。ＥＣＵ２Ｃから送信される第三データは、第二ネットワーク１ＢにおいてＥＣＵ２Ｃ以外のノード全てに届く。ＥＣＵ２Ａ，２Ｃにおいて上述のＳ３７０が実行された場合、第四データはブロードキャスト通信によって第二ネットワーク１Ｂへと送信される。そのため、ＥＣＵ２Ａから送信される第四データは、第二ネットワーク１ＢにおいてＥＣＵ２Ａ以外のノード全てに届く。ＥＣＵ２Ｃから送信される第四データは、第二ネットワーク１ＢにおいてＥＣＵ２Ｃ以外のノード全てに届く。
【００５９】
上述のＳ３２０において第二データではなかった場合は、Ｓ３２０においてＮＯと判断され、その場合、ＥＣＵ２Ｃは、Ｓ３８０において、通常のローカルバスからのデータ受信に対応する処理を実行する。Ｓ３８０において実行される処理としては、ＥＣＵ２Ｃの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、Ｓ３８０の実行後は図６に示す処理を終了する。
【００６０】
さて、ＥＣＵ２Ｃにおいて上述のような処理が実行されている際、ＥＣＵ２Ｂでは図７に示す処理が実行される。ＥＣＵ２Ｂは、図７に示すように、Ｓ４０１において、ローカルバス６からデータを受信する。Ｓ４０１では、ＥＣＵ２Ａ，２ＣがＳ３６０において送信した第三データ、ＥＣＵ２Ａ，２ＣがＳ３７０において送信した第四データ、又は第三データ及び第四データ以外のデータを受信し得る。第三データ又は第四データであることは、受信データ中に含まれるＩＤに基づいて判断することができる。
【００６１】
ここで、Ｓ４０１において第三データ及び第四データ以外のデータを受信した場合、ＥＣＵ２Ｂは、通常のローカルバスからのデータ受信に対応する処理を実行する。この場合に実行される処理としては、ＥＣＵ２Ｂの機能に応じた様々な処理を考え得る。ただし、当該処理そのものは本実施形態における要部ではないので、図７には、第三データ又は第四データを受信する場合の処理だけを抜粋して図示する。
【００６２】
Ｓ４０１において第三データ又は第四データ以外のデータを受信した場合、ＥＣＵ２Ｃは、Ｓ４０３において、第一依頼先装置であるＥＣＵ２Ａにおいて認証が成立したか否かを判断する。Ｓ４０３では、ＥＣＵ２Ａから第三データを受信していれば認証成立と判断し、ＥＣＵ２Ａから第四データを受信していれば認証失敗と判断する。ＥＣＵ２Ａにおいて認証が成立した場合、ＥＣＵ２Ｃは、Ｓ４０５において、第二依頼先装置であるＥＣＵ２Ｃにおいて認証が成立したか否かを判断する。
【００６３】
Ｓ４０５では、ＥＣＵ２Ｃから第三データを受信していれば認証成立と判断し、ＥＣＵ２Ｃから第四データを受信していれば認証失敗と判断する。ＥＣＵ２Ａにおいて認証に失敗した場合、ＥＣＵ２Ｃは、Ｓ４０７において、第二依頼先装置であるＥＣＵ２Ｃにおいて認証が成立したか否かを判断する。Ｓ４０７では、ＥＣＵ２Ｃから第三データを受信していれば認証成立と判断し、ＥＣＵ２Ｃから第四データを受信していれば認証失敗と判断する。
【００６４】
Ｓ４０３において認証成立と判断され、かつＳ４０５において認証成立と判断された場合、ＥＣＵ２Ｂ以外では障害が発生していないと考えられる。この場合、ＥＣＵ２Ｂは、Ｓ４１１において、ＥＣＵ２Ｂにおいて認証失敗となった原因は、依頼元装置であるＥＣＵ２Ｂの鍵故障にあると推定する。すなわち、ＥＣＵ２Ｂにおいて共通鍵記憶部１３Ａから適正な共通鍵を読み出すことができず、メッセージ認証処理を適正に実行することができない状況にあると推定する。
【００６５】
続いて、ＥＣＵ２Ｂは、Ｓ４１３において、Ｓ４１１で推定した原因に対応するダイアグコードと故障原因の特定を行う上で有用な各種情報を、ダイアグ記憶部１３Ｂに記憶する。続いて、ＥＣＵ２Ｂは、Ｓ４１５において、第一依頼先装置であるＥＣＵ２Ａから受信した第三データに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」としては、ＥＣＵ２Ｂの機能に応じた様々な処理を考え得るが、当該処理そのものは本実施形態における要部ではないので、これ以上の説明は省略する。なお、Ｓ４１５の実行後は図７に示す処理を終了する。
【００６６】
Ｓ４０３において認証成立と判断され、かつＳ４０５において認証失敗と判断された場合、ＥＣＵ２Ｂと同じグローバルバス５Ａに接続されたＥＣＵ２Ａにおいて認証成立となったことになる。また、ＥＣＵ２Ｂとは異なるグローバルバス５Ｂに接続されたＥＣＵ２Ｃにおいて認証失敗となったことになる。この場合、ＥＣＵ２Ｂは、Ｓ４２１において、グローバルバス５Ａには問題がなく、ＥＣＵ２Ｂにおいて認証失敗となった原因は、依頼元装置であるＥＣＵ２Ｂの鍵故障にあると推定する。これに加えて、ＥＣＵ２Ｂにおいて認証失敗となった原因は、グローバルバス５Ｂにおけるデータ改ざん又はデータ化けが発生している可能性があると推定する。
【００６７】
続いて、ＥＣＵ２Ｂは、Ｓ４２３において、Ｓ４２１で推定した原因に対応するダイアグコードと故障原因の特定を行う上で有用な各種情報を、ダイアグ記憶部１３Ｂに記憶する。続いて、ＥＣＵ２Ｂは、Ｓ４２５において、第一依頼先装置であるＥＣＵ２Ａから受信した第三データに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」の説明は、Ｓ４１５と同様の理由で省略する。なお、Ｓ４２５の実行後は図７に示す処理を終了する。
【００６８】
Ｓ４０３において認証失敗と判断され、かつＳ４０７において認証成立と判断された場合、同じグローバルバス５Ａに接続されたＥＣＵ２Ａ，２Ｂにおいて同時に障害が発生していることになる。この場合、ＥＣＵ２Ｂは、Ｓ４３１において、ＥＣＵ２Ｂにおいて認証失敗となった原因は、グローバルバス５Ａにおけるデータ改ざん又はデータ化けが発生している可能性があると推定する。
【００６９】
続いて、ＥＣＵ２Ｂは、Ｓ４３３において、Ｓ４３１で推定した原因に対応するダイアグコードと故障原因の特定を行う上で有用な各種情報を、ダイアグ記憶部１３Ｂに記憶する。続いて、ＥＣＵ２Ｂは、Ｓ４３５において、第二依頼先装置であるＥＣＵ２Ｃから受信した第三データに含まれる通常データを取り出して、以降の処理で利用する。ここでいう「以降の処理」の説明は、Ｓ４１５と同様の理由で省略する。なお、Ｓ４３５の実行後は図７に示す処理を終了する。
【００７０】
Ｓ４０３において認証失敗と判断され、かつＳ４０７において認証失敗と判断された場合、ＥＣＵ２Ａ，２Ｂ，２Ｃの全てにおいて認証に失敗していることになる。この場合、個々のＥＣＵ２Ａ，２Ｂ，２Ｃにおいて同時に障害が発生している可能性は低いので、ＥＣＵ２Ｂは、Ｓ４４１において、ＥＣＵ２Ｂにおいて認証失敗となった原因は、第一データの送信元装置であるＥＣＵ３Ｈにおける鍵故障、又はＥＣＵ３Ｈになりすました機器がデータ送信を行った可能性があると推定する。
【００７１】
続いて、ＥＣＵ２Ｂは、Ｓ４４３において、Ｓ４４１で推定した原因に対応するダイアグコードと故障原因の特定を行う上で有用な各種情報を、ダイアグ記憶部１３Ｂに記憶する。続いて、ＥＣＵ２Ｂは、Ｓ４４５において、受信した第三データを破棄して、フェイルセーフデータを以降の処理で利用する。ここでいう「以降の処理」の説明は、Ｓ４１５と同様の理由で省略する。フェイルセーフデータは、ＥＣＵ２Ｂが受信する第一データや第三データに問題があって使用できない場合に、代替使用されるデータである。
【００７２】
フェイルセーフデータは、例えばフラッシュメモリ１３にあらかじめ記憶されていればよい。あるいは、第一データを過去に一定期間以上の長期にわたって受信できていた場合は、その平均値、最大値、あるいは最小値等を経時的に算出し、いつでもフェイルセーフデータとして利用できるように準備しておいてもよい。どのようなかたちでフェイルセーフデータを用意するかは、ＥＣＵ２Ｂによる制御対象の挙動なども考慮して最適化されていればよい。なお、Ｓ４４５の実行後は図７に示す処理を終了する。
【００７３】
［効果］
以上説明した通り、上記ネットワークシステム１によれば、ＥＣＵ２Ｂにおいて第一データの認証に失敗した場合でも、第一依頼先装置又は第二依頼先装置となるＥＣＵ２Ａ，２Ｃのいずれかにおいて第一データの認証に成功すれば、依頼元装置となるＥＣＵ２Ｂは第三データに含まれる第一データを利用することができる。したがって、例えば、ＥＣＵ２Ｂにおいて認証処理を実行するために必要となるハードウェア又はソフトウェアに故障等の問題が生じていたとしても、ＥＣＵ２Ｂは認証済みの第一データを利用することができる。
【００７４】
また、依頼元装置となるＥＣＵ２Ｂにおいて第一データの認証に失敗した場合には、認証に失敗した原因が推定されて、その推定結果が故障情報として保存される。したがって、利用者は故障情報を参照して、容易に故障原因を特定でき、故障に対処することができる。Ｓ４１３，Ｓ４２３，Ｓ４３３，Ｓ４４３において、ダイアグ記憶部１３Ｂに記憶される情報が、本開示でいう故障情報に相当する。
【００７５】
［他の実施形態］
以上、ネットワークシステムについて、例示的な実施形態を挙げて説明したが、上述の実施形態は本開示の一態様として例示されるものにすぎない。すなわち、本開示は、上述の例示的な実施形態に限定されるものではなく、本開示の技術的思想を逸脱しない範囲内において、様々な形態で実施することができる。
【００７６】
例えば、上記実施形態では、ＥＣＵ２Ｂが依頼元装置となり、ＥＣＵ２Ａが第一依頼先装置となり、ＥＣＵ２Ｃが第二依頼先装置となる例を示したが、ＥＣＵ２Ａ〜２Ｄはいずれが依頼元装置となってもよい。また、ＥＣＵ２Ａ〜２Ｄのうち、依頼元装置以外のＥＣＵは、依頼元装置と同じグローバルバスに接続されたＥＣＵであれば、第一依頼先装置となり得る。また、依頼元装置と異なるグローバルバスに接続されたＥＣＵであれば、第二依頼先装置となり得る。さらに、ＥＣＵ３Ａ〜３Ｈがローカルバス６に接続されていてもよく、その場合は、ＥＣＵ３Ａ〜３Ｈが依頼元装置、第一依頼先装置又は第二依頼先装置となってもよい。
【００７７】
また、上記実施形態では、メッセージ認証による認証処理を実施する例を示したが、メッセージ認証以外の方式で認証を行ってもよいし、メッセージ認証とメッセージ認証以外の方式とを併用してもよい。例えば、上記実施形態では、通常データと暗号データとを伝送し、受信側において通常データを暗号化して、その暗号化されたデータと暗号データとを比較して認証成立か否かを判断していたが、他の認証手順を採用することもできる。一例を挙げれば、例えば、通常データと暗号データとを伝送し、受信側において暗号データを復号して、その復号されたデータと通常データとを比較して認証成立か否かを判断してもよい。
【００７８】
また、上記実施形態では、Ｓ４１３，Ｓ４２３，Ｓ４３３，Ｓ４４３において、ダイアグコード等の故障情報をダイアグ記憶部１３Ｂに記憶する例を示したが、このような不揮発性記憶領域に故障情報を保存する以外に、故障情報を所定の出力先へ出力してもよい。例えば、車両に搭載されたディスプレイや警告灯等の表示装置に故障情報を出力してもよい。
【００７９】
あるいは、車両に搭載された無線通信装置に故障情報を出力してもよい。この場合、無線通信装置は更に無線通信によって故障情報を送信し、その故障情報を受信する受信装置において故障情報の保存又は出力を行うことができる。このような受信装置は、車両の利用者が所持する無線通信端末（例えば、スマートフォンやパーソナルコンピュータ。）であってもよいし、顧客の車両の状態を自動車ディーラ等で管理している場合は、自動車ディーラ等に設置される管理装置として構成されたものであってもよい。このような管理装置を設ければ、顧客の車両において発生した故障に関する情報を容易に自動車ディーラ等で把握することができる。
【００８０】
また、上記実施形態では、単一のＣＧＷ４によって複数のグローバルバス５Ａ，５Ｂ，５Ｃを相互に接続していたが、複数のグローバルバス５Ａ，５Ｂ，５Ｃを相互に接続可能に構成されていれば、複数のゲートウェイを採用してもよい。例えば、第一のゲートウェイでグローバルバス５Ａとグローバルバス５Ｂとを接続し、第二のゲートウェイでグローバルバス５Ｂとグローバルバス５Ｃとを接続することにより、グローバルバス５Ａとグローバルバス５Ｃは、二つのゲートウェイ及びグローバルバス５Ｂを介して通信可能に構成されていてもよい。
【００８１】
以上の他、上記各実施形態における一つの構成要素によって実現していた機能を、複数の構成要素によって実現するように構成してもよい。また、複数の構成要素によって実現していた機能を一つの構成要素によって実現するように構成してもよい。また、上記各実施形態の構成の一部を省略してもよい。また、上記各実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加、置換等してもよい。なお、特許請求の範囲に記載の文言から特定される技術思想に含まれる全ての態様が本開示の実施形態に該当する。
【００８２】
また、上述したネットワークシステムの他、本開示のネットワークシステムを構成可能な電子装置、本開示のネットワークシステムを備えた車両、本開示でいう電子装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した記録媒体など、種々の形態で本開示を実現することもできる。
［補足］
なお、以上説明した例示的な実施形態から明らかなように、本開示のネットワークシステムは、更に以下に挙げるような構成を備えていてもよい。
【００８３】
まず、本開示のネットワークシステムにおいて、依頼元装置は、依頼元装置において認証に失敗し（Ｓ１３０においてＮＯ）、かつ第一依頼先装置及び第二依頼先装置において認証に成功した場合に（Ｓ４０３においてＹＥＳ、Ｓ４０５においてＹＥＳ）、依頼元装置の故障が、認証に失敗した原因であると推定し（Ｓ４１１）、その推定結果を故障情報として保存又は出力するように構成されていてもよい（Ｓ４１３）。
【００８４】
このように構成されたネットワークシステムによれば、上述のような認証結果に基づいて、依頼元装置の故障が認証に失敗した原因である旨の故障情報を保存又は出力することができる。したがって、利用者は、故障情報を参照することにより、依頼元装置が故障している可能性があることを容易に特定することができる。よって、依頼元装置の修理や交換を実施することができる。
【００８５】
また、本開示のネットワークシステムにおいて、依頼元装置は、第一依頼先装置又は第二依頼先装置のいずれかから受信した第三データに含まれる第一データを、依頼元装置が実行する処理において利用するように構成されていてもよい（Ｓ４１５）。
このように構成されたネットワークシステムによれば、依頼元装置の故障が原因で第一データの認証に失敗した場合でも、第一依頼先装置又は第二依頼先装置のいずれかにおいて第一データの認証に成功すれば、その第一データを依頼元装置が実行する処理において利用することができる。
【００８６】
また、本開示のネットワークシステムにおいて、依頼元装置は、依頼元装置及び第二依頼先装置において認証に失敗し（Ｓ１３０においてＮＯ、Ｓ４０５においてＮＯ）、かつ第一依頼先装置において認証に成功した場合に（Ｓ４０３においてＹＥＳ）、依頼元装置の故障及び第二依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが、認証に失敗した原因であると推定し（Ｓ４２１）、その推定結果を故障情報として保存又は出力するように構成されていてもよい（Ｓ４２３）。
【００８７】
このように構成されたネットワークシステムによれば、上述のような認証結果に基づいて、依頼元装置の故障及び第二依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが認証に失敗した原因である旨の故障情報を保存又は出力することができる。したがって、利用者は、故障情報を参照することにより、依頼元装置が故障している可能性があること、及び第二依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが発生している可能性があることを容易に特定することができる。よって、依頼元装置の修理や交換等及び第二依頼先装置が接続されたバスの点検や修理等を実施することができる。
【００８８】
また、本開示のネットワークシステムにおいて、依頼元装置は、第一依頼先装置から受信した第三データに含まれる第一データを、依頼元装置が実行する処理において利用するように構成されていてもよい（Ｓ４２５）。
このように構成されたネットワークシステムによれば、依頼元装置の故障が原因で第一データの認証に失敗した場合でも、第一依頼先装置において第一データの認証に成功すれば、その第一データを依頼元装置が実行する処理において利用することができる。
【００８９】
また、本開示のネットワークシステムにおいて、依頼元装置は、依頼元装置及び第一依頼先装置において認証に失敗し（Ｓ１３０においてＮＯ、Ｓ４０３においてＮＯ）、かつ第二依頼先装置において認証に成功した場合に（Ｓ４０７においてＹＥＳ）、依頼元装置及び第一依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが、認証に失敗した原因であると推定し（Ｓ４３１）、その推定結果を故障情報として保存又は出力するように構成されていてもよい（Ｓ４３３）。
【００９０】
このように構成されたネットワークシステムによれば、上述のような認証結果に基づいて、依頼元装置及び第一依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが認証に失敗した原因である旨の故障情報を保存又は出力することができる。したがって、利用者は、故障情報を参照することにより、依頼元装置及び第一依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが発生している可能性があることを容易に特定することができる。よって、依頼元装置及び第一依頼先装置が接続されたバスの点検や修理等を実施することができる。
【００９１】
また、本開示のネットワークシステムにおいて、依頼元装置は、第二依頼先装置から受信した第三データに含まれる第一データを、依頼元装置が実行する処理において利用するように構成されていてもよい（Ｓ４３５）。
このように構成されたネットワークシステムによれば、依頼元装置及び第一依頼先装置が接続されたバスにおけるデータ改ざん又はデータ化けが原因で第一データの認証に失敗した場合でも、第二依頼先装置において第一データの認証に成功すれば、その第一データを依頼元装置が実行する処理において利用することができる。
【００９２】
また、本開示のネットワークシステムにおいて、依頼元装置は、依頼元装置、第一依頼先装置及び第二依頼先装置において認証に失敗した場合に（Ｓ１３０においてＮＯ、Ｓ４０３においてＮＯ、Ｓ４０７においてＮＯ）、第一データの送信元に該当する装置の故障又は不正な装置によるなりすましが、認証に失敗した原因であると推定し（Ｓ４４１）、その推定結果を故障情報として保存又は出力するように構成されていてもよい（Ｓ４４３）。
【００９３】
このように構成されたネットワークシステムによれば、上述のような認証結果に基づいて、第一データの送信元に該当する装置の故障が認証に失敗した原因である旨の故障情報を保存又は出力することができる。したがって、利用者は、故障情報を参照することにより、第一データの送信元に該当する装置が故障している可能性があることを容易に特定することができる。よって、第一データの送信元に該当する装置の修理や交換等を実施することができる。
【００９４】
また、本開示のネットワークシステムにおいて、依頼元装置は、第一データを正常に受信できなかった場合を想定してあらかじめ用意されているフェイルセーフデータを、依頼元装置が実行する処理において利用するように構成されていてもよい（Ｓ４４５）。
このように構成されたネットワークシステムによれば、第一データの送信元に該当する装置の故障が原因で第一データの認証に失敗した場合でも、依頼元装置において用意されているフェイルセーフデータを、依頼元装置が実行する処理において利用することができる。
【符号の説明】
【００９５】
１…ネットワークシステム、１Ａ…第一ネットワーク、１Ｂ…第二ネットワーク、２Ａ，２Ｂ，２Ｃ，２Ｄ，３Ａ，３Ｂ，３Ｃ，３Ｄ，３Ｅ，３Ｆ，３Ｇ，３Ｈ…ＥＣＵ、５Ａ，５Ｂ，５Ｃ…グローバルバス、６…ローカルバス、７…外部通信路、１１…ＣＰＵ、１２…ＲＡＭ、１２Ａ…受信データバッファ、１３…フラッシュメモリ、１３Ａ…共通鍵記憶部、１３Ｂ…ダイアグ記憶部、１６…第一通信部、１７…第二通信部。
【図１】
2019092026.tif 000003
【図２】
2019092026.tif 000004
【図３】
2019092026.tif 000005
【図４】
2019092026.tif 000006
【図５】
2019092026.tif 000007
【図６】
2019092026.tif 000008
【図７】
2019092026.tif 000009