(57)【要約】【課題】バス型ネットワーク上の電子機器の正当性を効率的に検査する。【解決手段】監視ＥＣＵ２６は、被検査ＥＣＵ１８から送信されたフレームについて、その正常性を判定するための監視基準を記憶する。監視ＥＣＵ２６は、被検査ＥＣＵ１８から送信された第１のＩＤのフレームを受信した場合、当該フレームに基づいて、上記監視基準と照合するための情報である照合情報を生成する。監視ＥＣＵ２６は、検査ＥＣＵ２４から送信された第２のＩＤのフレームが受信された場合、監視基準と照合情報とに基づく情報であって、被検査ＥＣＵ１８が正当か否かを確認可能な情報を検査ＥＣＵ２４へ送信する。【選択図】図１
2018133743.tif 000002
【特許請求の範囲】
【請求項１】
バス型ネットワークを介して、第１の電子機器と、前記第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、
前記第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、
前記バス型ネットワークからフレームを受信する受信部と、
前記第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、前記記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、
前記第２の電子機器から送信された第２のＩＤのフレームが受信された場合、前記記憶部に記憶された基準と、前記生成部により生成された照合情報とに基づく情報であって、前記第１の電子機器が正当か否かを確認可能な情報を前記第２の電子機器へ送信する応答部と、
を備える監視装置。
【請求項２】
前記生成部により生成された照合情報を、前記記憶部に記憶された基準に照合することにより、前記第１の電子機器が正当か否かを判定する判定部をさらに備え、
前記応答部は、前記第１の電子機器が正当か否かを確認可能な情報として、前記判定部による判定結果を送信する、
請求項１に記載の監視装置。
【請求項３】
所定の条件が満たされた場合に、外部のサーバと連携して、前記記憶部に記憶された基準を更新する更新部をさらに備える、
請求項１または２に記載の監視装置。
【請求項４】
第１の電子機器と、
前記第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、
監視装置と、がバス型ネットワークを介して接続された通信システムであって、
前記監視装置は、
前記第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、
前記バス型ネットワークからフレームを受信する受信部と、
前記第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、前記記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、
前記第２の電子機器から送信された第２のＩＤのフレームが受信された場合、前記記憶部に記憶された基準と、前記生成部により生成された照合情報とに基づく情報であって、前記第１の電子機器が正当か否かを確認可能な情報を前記第２の電子機器へ送信する応答部と、
を備える通信システム。
【請求項５】
前記第２の電子機器は、前記第１の電子機器が正当か否かを示す情報を所定の表示装置に表示させる請求項４に記載の通信システム。
【請求項６】
第１の電子機器と、
前記第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、
監視装置と、がバス型の車載ネットワークを介して接続された車両であって、
前記監視装置は、
前記第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、
前記車載ネットワークからフレームを受信する受信部と、
前記第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、前記記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、
前記第２の電子機器から送信された第２のＩＤのフレームが受信された場合、前記記憶部に記憶された基準と、前記生成部により生成された照合情報とに基づく情報であって、前記第１の電子機器が正当か否かを確認可能な情報を前記第２の電子機器へ送信する応答部と、
を備える車両。
【請求項７】
バス型ネットワークを介して、第１の電子機器と、前記第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、前記第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する監視装置が、
前記バス型ネットワークからフレームを受信し、
前記第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、前記基準と照合するための情報である照合情報を生成し、
前記第２の電子機器から送信された第２のＩＤのフレームが受信された場合、前記基準と前記照合情報とに基づく情報であって、前記第１の電子機器が正当か否かを確認可能な情報を前記第２の電子機器へ送信する、
監視方法。
【請求項８】
バス型ネットワークを介して、第１の電子機器と、前記第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、前記第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する監視装置に、
前記バス型ネットワークからフレームを受信し、
前記第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、前記基準と照合するための情報である照合情報を生成し、
前記第２の電子機器から送信された第２のＩＤのフレームが受信された場合、前記基準と前記照合情報とに基づく情報であって、前記第１の電子機器が正当か否かを確認可能な情報を前記第２の電子機器へ送信する、
ことを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ処理技術に関し、特に監視装置、通信システム、車両、監視方法、およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車には、多数の電子制御ユニット（Electronic Control Unit、以下「ＥＣＵ」と呼ぶ。）が搭載されている。これらのＥＣＵを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてＣＡＮ（Controller Area Network）がある。
【０００３】
車載ネットワーク内のＥＣＵが、書き換え要求元である他のＥＣＵが正当か否かを、当該他のＥＣＵに対する認証結果を基に判断する車載ネットワークシステムが提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−１０４０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
自動運転の有効化に際し、車載ネットワーク上の各ＥＣＵが正常な状態にあるかを検査すべきことがあるが、特許文献１の技術では、各ＥＣＵにＴＰＭ（Trusted Platform Module）等のセキュリティチップを搭載する必要がある。この結果、各ＥＣＵにおける部品点数の増加を招くことがあり、また、車載ネットワークにおけるトラフィックの増加を招くことがある。
【０００６】
本発明はこうした状況に鑑みてなされたものであり、１つの目的は、バス型ネットワーク上の電子機器の正当性を効率的に検査する技術を提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の監視装置は、バス型ネットワークを介して、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、バス型ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える。
【０００８】
本発明の別の態様は、通信システムである。この通信システムは、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、監視装置と、がバス型ネットワークを介して接続された通信システムであって、監視装置は、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、バス型ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える。
【０００９】
本発明のさらに別の態様は、車両である。この車両は、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、監視装置と、がバス型の車載ネットワークを介して接続された車両であって、監視装置は、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、車載ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える。
【００１０】
本発明のさらに別の態様は、監視方法である。この方法は、バス型ネットワークを介して、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する監視装置が、バス型ネットワークからフレームを受信し、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、基準と照合するための情報である照合情報を生成し、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、基準と照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する。
【００１１】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１２】
本発明によれば、バス型ネットワーク上の電子機器の正当性を効率的に検査することができる。
【図面の簡単な説明】
【００１３】
【図１】実施例の車両の構成を示す図である。
【図２】図１の検査ＥＣＵの機能構成を示すブロック図である。
【図３】図１の監視ＥＣＵの機能構成を示すブロック図である。
【図４】監視基準の例を示す図である。
【図５】監視ＥＣＵの動作を示すフローチャートである。
【図６】図５のＳ１６の監視基準更新処理の詳細を示すフローチャートである。
【図７】検査ＥＣＵの動作を示すフローチャートである。
【図８】表示部の例を示す図である。
【図９】実施例における監視ＥＣＵと検査ＥＣＵとの相互作用を示すシーケンス図である。
【図１０】変形例における監視ＥＣＵと検査ＥＣＵとの相互作用を示すシーケンス図である。
【発明を実施するための形態】
【００１４】
実施例の構成を説明する前に概要を説明する。自動運転の有効化および無効化にあたり、車両の電子系（言い換えれば車載ネットワーク）が正常な状態にあるか、例えばマルウェア等が動作していないかを検査すべきことがある。車載ネットワーク上のＥＣＵが正常な状態にあるかを検査するために、これまでは、ＴＣＧ（Trusted Computing Group）のアテステーション（Attestation）が実施されることがあった。アテステーションは、デバイス上で起動されたソフトウェアのハッシュ値を根拠に、デバイスの完全性を検証する技術である。
【００１５】
しかし、車載ネットワーク上の複数のＥＣＵが正常な状態にあるかを検査するためには、各ＥＣＵにＴＰＭ等の信頼の起点になるモジュール（例えばセキュリティチップ）を搭載する必要があり、各ＥＣＵにおける部品点数の増加、および、車載ネットワークにおけるトラフィックの増加を招くことがあった。また、アテステーションはＥＣＵの起動時の正当性を判定するものであり、ＥＣＵ起動後にマルウェアが混入した場合は検出ができないという問題もあった。
【００１６】
そこで、実施例では、バス型の車載ネットワーク上で、各ＥＣＵの正当性を検証する監視装置を提案する。この監視装置は、監視ルールにしたがって車載ネットワークのバスを流れるメッセージを監視し、各ＥＣＵに代わってアテステーション要求に応答する。すなわち、実施例では、“バスに接続された各ＥＣＵが予め定められたメッセージルールに則って通信している”ことを根拠に各ＥＣＵの正当性を検証する監視装置を信頼の起点として、バスに接続された各ＥＣＵの正当性を判断可能にする技術を提案する。
【００１７】
図１は、実施例の車両１０の構成を示す。車両１０は、ＡＤＡＳ（Advanced Driver Assistance Systems）１２、ＨＭＩ（Human Machine Interface）装置２０、被検査ＥＣＵ１８ａ、被検査ＥＣＵ１８ｂ、被検査ＥＣＵ１８ｃ、被検査ＥＣＵ１８ｄ（総称する場合「被検査ＥＣＵ１８」と呼ぶ。）、監視ＥＣＵ２６を備える。図１の各装置は、バス型の車載ネットワークであるＣＡＮ２８を介して接続され、車載ネットワークシステムを構成する。
【００１８】
後述するように、監視ＥＣＵ２６は、ＣＡＮ２８およびインターネットを介して、車外に設けられた情報処理装置であるサーバ２９と通信する。サーバ２９には、被検査ＥＣＵ１８に対する最新の監視基準が登録される。サーバ２９は、登録された最新の監視基準を車両１０へ提供する。
【００１９】
複数の被検査ＥＣＵ１８のそれぞれは、車両１０の自動運転時にＡＤＡＳ１２による制御対象となるＥＣＵであり、正常性が検査されるべきＥＣＵである。複数の被検査ＥＣＵ１８は、例えば、エンジンＥＣＵ、ブレーキＥＣＵ、ステアリングＥＣＵ、トランスミッションＥＣＵであってもよい。
【００２０】
ＡＤＡＳ１２は、車両１０の自動運転を制御するシステムである。ＡＤＡＳ１２は、センサ１４ａ、センサ１４ｂ、センサ１４ｃ等の複数のセンサと、ＡＤＡＳ−ＥＣＵ１６を備える。複数のセンサは、例えば、加速度センサ、ジャイロセンサ、ソナー、カメラを含む。ＡＤＡＳ−ＥＣＵ１６は、複数のセンサからの入力データに基づいて、自動運転における複数のアクチュエータの動作内容を決定し、決定した内容にてアクチュエータを動作させるよう複数の被検査ＥＣＵ１８を制御する。
【００２１】
ＨＭＩ装置２０は、車両１０の乗員に対して各種情報を提示し、車両１０の乗員により入力された指示を受け付ける。ＨＭＩ装置２０は、カーナビゲーション装置、ＩＶＩ（In-Vehicle Infotainment）装置であってもよい。ＨＭＩ装置２０は、表示部２２と検査ＥＣＵ２４を含む。表示部２２は、各種情報を表示するディスプレイおよびランプを含む。検査ＥＣＵ２４は、ＡＤＡＳ有効化ＥＣＵとも言え、被検査ＥＣＵ１８の正常性が確認された場合に、ＡＤＡＳの有効化（すなわち自動運転開始）の指示をＡＤＡＳ−ＥＣＵ１６へ送信する。検査ＥＣＵ２４の機能の詳細は後述する。
【００２２】
監視ＥＣＵ２６は、所定の監視ルールに基づいて、ＣＡＮ２８のバスを流れるメッセージ（「フレーム」または「パケット」とも言え、以下「フレーム」と呼ぶ。）を監視し、被検査ＥＣＵ１８に代わって検査ＥＣＵ２４からのアテステーション要求に応答する。監視ＥＣＵ２６は、専用機器として実装されてもよい。また、ＣＡＮ２８の複数のバス間でフレームを中継するＣＧＷ（Central GateWay）のＥＣＵ、または、複数のバスに亘ってフレームを監視するＣＭＩ（Centralized Monitoring and Interceptor）のＥＣＵに、監視ＥＣＵ２６の機能を含む監視モジュールが組み込まれてもよい。その場合、ＣＧＷのＥＣＵまたはＣＭＩのＥＣＵが監視ＥＣＵ２６として動作してもよい。監視ＥＣＵ２６の機能の詳細は後述する。
【００２３】
図２は、図１の検査ＥＣＵ２４の機能構成を示すブロック図である。検査ＥＣＵ２４は、公開鍵記憶部３０、通信部３２、指示受付部３４、診断要求送信部３６、診断応答確認部３８、自動運転指示部４０、表示制御部４２を備える。
【００２４】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図２の各ブロックに対応するモジュールを含むコンピュータプログラムが、検査ＥＣＵ２４のメモリに格納されてもよい。検査ＥＣＵ２４のＣＰＵは、そのコンピュータプログラムを適宜実行することにより、各ブロックの機能を発揮してもよい。
【００２５】
公開鍵記憶部３０は、予め定められた監視ＥＣＵ２６の公開鍵を記憶する。通信部３２は、所定の通信プロトコルにしたがって外部装置と通信する。実施例では、通信部３２は、監視ＥＣＵ２６に対する診断要求フレームをＣＡＮ２８へ出力し、また、監視ＥＣＵ２６から出力された診断応答フレームをＣＡＮ２８から受信する。また、通信部３２は、自動運転の開始を指示するメッセージをＡＤＡＳ−ＥＣＵ１６へ送信する。なお、検査ＥＣＵ２４とＡＤＡＳ−ＥＣＵ１６は、図１のように直接接続されてもよく、ＣＡＮ２８を介して通信してもよい。
【００２６】
指示受付部３４は、所定のボタンや液晶ディスプレイ等を介して入力された乗員の指示を受け付ける。自動運転指示部４０は、自動運転開始を指示するデータを、通信部３２を介してＡＤＡＳ−ＥＣＵ１６へ送信する。表示制御部４２は、表示部２２における表示内容を制御する。
【００２７】
診断要求送信部３６は、被検査ＥＣＵ１８の正常性を確認するための診断要求フレームを、通信部３２を介して監視ＥＣＵ２６へ送信する。診断要求送信部３６は、診断要求フレームに、診断要求フレームに対して予め割り当てられたメッセージＩＤと、動的に生成したチャレンジ（乱数値）とを設定する。診断要求送信部３６は、指示受付部３４により自動運転開始の指示が受け付けられた場合に、診断要求フレームを監視ＥＣＵ２６へ送信してもよい。
【００２８】
診断応答確認部３８は、診断要求フレームに対する応答である診断応答フレームのデータを通信部３２から取得する。診断応答フレームは、被検査ＥＣＵ１８が正常か否かを示す診断情報と、監視ＥＣＵ２６による署名とを含む。診断応答確認部３８は、診断応答フレームを署名により検証する。なお、実施例では、被検査ＥＣＵ１８が正常か否かを監視ＥＣＵ２６が判定するが、変形例として、被検査ＥＣＵ１８が正常か否かを検査ＥＣＵ２４が判定してもよい。
【００２９】
署名は、診断要求フレームで送信したチャレンジと、診断情報とに基づいて生成したハッシュ値を、監視ＥＣＵ２６の秘密鍵で暗号化したデータであってもよい。診断応答確認部３８は、（１）公開鍵記憶部３０に記憶された監視ＥＣＵ２６の公開鍵により署名を復号したデータを取得するとともに、（２）診断要求フレームで送信したチャレンジと、診断応答フレームの診断情報との合成データのハッシュ値を取得してもよい。診断応答確認部３８は、（１）で取得したデータと、（２）で取得したハッシュ値とが一致する場合に、診断応答フレームの検証に成功した（すなわち診断応答フレームが改ざんされていない）と判定してもよい。
【００３０】
診断応答確認部３８は、診断応答フレームの検証に成功した場合、診断情報が示す被検査ＥＣＵ１８の正当性に関する情報、言い換えれば、ＣＡＮ２８の正常性に関する情報を所定の記憶領域に格納する。また、診断情報が、被検査ＥＣＵ１８が正当であること、言い換えれば、ＣＡＮ２８が正常であることを示す場合、診断応答確認部３８は、自動運転開始を指示するデータを自動運転指示部４０からＡＤＡＳ−ＥＣＵ１６へ送信させる。その一方、診断情報が、被検査ＥＣＵ１８が異常であることを示す場合、診断応答確認部３８は、自動運転開始を指示するデータを自動運転指示部４０がＡＤＡＳ−ＥＣＵ１６へ送信することを禁止する。
【００３１】
また、診断応答確認部３８は、表示制御部４２を介して、被検査ＥＣＵ１８の正当性に関する情報を所定のディスプレイまたはランプに表示させる。例えば、診断情報が、被検査ＥＣＵ１８が正当であることを示す場合、診断応答確認部３８は、その旨をディスプレイに表示させてもよく、所定のランプを第１の色彩（例えば緑色）で点灯させてもよい。また、診断情報が、被検査ＥＣＵ１８が異常であることを示す場合、診断応答確認部３８は、その旨をディスプレイに表示させてもよく、所定のランプを第２の色彩（例えば赤色）で点灯させてもよい。また、診断情報を未取得の状態であり、すなわち、被検査ＥＣＵ１８の正当性が不明であれば、診断応答確認部３８は、その旨をディスプレイに表示させてもよく、所定のランプを第３の色彩（例えば黄色）で点灯させてもよい。
【００３２】
図３は、図１の監視ＥＣＵ２６の機能構成を示すブロック図である。監視ＥＣＵ２６は、秘密鍵記憶部５０、監視基準記憶部５２、診断情報記憶部５４、通信部５６、監視部５８、応答部６４、監視基準更新部６６、起動処理部６８を備える。監視部５８は、照合情報生成部６０と判定部６２を含む。
【００３３】
秘密鍵記憶部５０は、予め定められた監視ＥＣＵ２６の秘密鍵を記憶する。監視基準記憶部５２は、複数の被検査ＥＣＵ１８のそれぞれから送信されたフレームの正常性を検査するための基準（正常性を判定する規則または条件とも言え、以下「監視基準」と呼ぶ。）を記憶する。図４は、監視基準の例を示す。実施例における監視基準は、ＣＡＮ２８のトラフィックの正常状態を定義したデータである。監視基準は、メッセージＩＤ（フレームＩＤ、ＣＡＮ−ＩＤとも言える）、フレーム送信元である被検査ＥＣＵ１８のＩＤ、ＭＡＣ値（Message Authentication Code）の有無、コミットメントの有無、送信周期、フレーム数、認証アルゴリズムを含む。
【００３４】
コミットメントは、ハッシュチェーンによる認証がなされる場合に、フレームに付加されたハッシュ値と照合するデータである。例えば、被検査ＥＣＵ１８ａから送信されるフレームに、或るデータに対してｎ回（ｎは正の整数）ハッシュ演算を繰り返した結果のハッシュ値が付加される場合、コミットメントは、被検査ＥＣＵ１８ａから事前に送信された上記或るデータに対してｎ＋１回ハッシュ演算を繰り返した結果のハッシュ値であってもよい。ハッシュ関数は一方向性を持つため、フレームに付加されたハッシュ値に対してハッシュ演算を１回実行した結果がコミットメントに一致する場合、コミットメントの送信装置とフレームの送信装置とは同じであることが保障される。コミットメントが「有り」の場合、監視基準記憶部５２は、そのメッセージＩＤに対応づけてコミットメントを別途記憶する。
【００３５】
送信周期は、或るメッセージＩＤの先のフレームを受信してから、同じメッセージＩＤの次のフレームを受信するまでの時間である。平均周期、下限周期、上限周期のいずれであってもよい。フレーム数は、単位時間（例えば１０秒）において受信されるフレームの個数である。
【００３６】
なお、図４に示す監視基準の項目は一例である。例えば、監視基準は、フレームの内容、例えば車両１０の走行（または運転）の態様を示すデータの範囲や上限等を規定する項目を含んでもよい。また、監視基準は、過去に受信された他のフレームの内容（車両走行の態様等）との関係を規定する項目を含んでもよい。言い換えれば、監視基準は、複数のフレームの内容の組み合わせや状態遷移を規定する項目を含んでもよい。例えば、高速走行時において正常と見なすステアリング角度の範囲を規定する項目を含んでもよい。また、監視基準は、図４には不図示の統計状態を含んでもよい。
【００３７】
図３に戻り、診断情報記憶部５４は、後述の判定部６２による判定結果を含む診断情報を記憶する。診断情報は、複数の被検査ＥＣＵ１８の中に異常なＥＣＵが存在するか否か、例えば、マルウェアの混入等により監視基準を逸脱した通信を行っているＥＣＵが存在するか否かを示す情報を含んでもよい。また、診断情報は、異常と判定されたＥＣＵのＩＤおよび／またはフレームのＩＤを含んでもよい。また、診断情報は、ＣＡＮ２８が正常状態（すなわち全ての被検査ＥＣＵ１８が正常）、または、ＣＡＮ２８が異常状態（少なくとも１つの被検査ＥＣＵ１８が異常）であることを示す情報を含んでもよい。
【００３８】
通信部５６は、ＣＡＮ２８を流れるフレームをＣＡＮ２８のバスから受信する。また、通信部５６は、応答部６４から出力された診断応答フレームをＣＡＮ２８のバスへ出力する。
【００３９】
監視部５８は、通信部５６により受信されたフレームが、複数の被検査ＥＣＵ１８のいずれかから送信されたフレームであり、言い換えれば、監視基準に定められたＩＤを含むフレームである場合、受信されたフレームを検査対象フレームとして識別する。監視部５８は、検査対象フレームと、そのメッセージＩＤに対応する監視基準との照合処理を実行する。
【００４０】
監視部５８は、照合情報生成部６０と判定部６２を含む。照合情報生成部６０は、検査対象フレームのデータに基づいて、監視基準と照合するための情報である照合情報を生成する。判定部６２は、照合情報生成部６０により生成された照合情報を、検査対象フレームのメッセージＩＤに対応する監視基準に照合することにより、検査対象フレームの送信元である被検査ＥＣＵ１８が正当か否かを判定する。
【００４１】
実施例の照合情報生成部６０は、検査対象フレームについて、（１）ＭＡＣ値を含むか否か、（２）コミットメント（ハッシュチェーンのハッシュ値）を含むか否か、（３）同一ＩＤのフレームが過去に受信されてからの時間間隔、（４）同一ＩＤのフレームの単位時間における受信個数、（５）ＭＡＣ値を含む場合のＭＡＣ認証（メッセージ認証）の結果、（６）ハッシュチェーンのハッシュ値を含む場合のハッシュチェーン認証の結果を含む照合情報を生成する。
【００４２】
実施例の判定部６２は、以下の全ての条件が満たされた場合に、検査対象フレームの送信元の被検査ＥＣＵ１８が正常状態（言い換えれば正当性がある）と判定する。少なくとも１つの条件が満たされなければ、判定部６２は、被検査ＥＣＵ１８が異常状態と判定する。変形例として、判定部６２は、未知のＥＣＵが検出されている場合、すなわち、条件を満たさないフレームが受信された場合も、異常状態と判定してもよい。
【００４３】
実施例において必須となる条件は以下の４つである。（１）監視基準がＭＡＣ値有りの場合に、検査対象フレームがＭＡＣ値を含むこと。（２）監視基準がコミットメント有りの場合に、検査対象フレームがハッシュチェーンのハッシュ値を含むこと。（３）同一ＩＤのフレームが過去に受信されてからの時間間隔と、監視基準の送信周期との差が所定の範囲内であること。（４）同一ＩＤのフレームの単位時間における受信個数と、監視基準のフレーム数との差が所定の範囲内であること。判定部６２は、ＣＡＮ２８を流れるフレームが正しい状態にあると判断するのに十分となる時間まで計測する。
【００４４】
上記の条件（３）（４）は、監視基準の値以上であること、または監視基準の値以下であることを条件としてもよい。また、監視基準には、正常と見なす範囲、もしくは異常と見なす範囲が規定されてもよい。監視基準の認証アルゴリズムにＭＡＣが含まれる場合、（５）ＭＡＣ認証に成功したことが条件に追加される。また、監視基準の認証アルゴリズムにハッシュチェーンが含まれる場合、（６）検査対象フレームのハッシュ値と、予め記憶されたコミットメントとに基づくハッシュチェーン認証に成功したことが条件に追加される。また、（７）ＣＡＮ−ＩＤから観測される運転状態の遷移または相関、（８）ＥＣＵが受信したフレームに対して正常なフレームを応答しているか、がさらに条件に追加されてもよい。なお、上記条件（１）〜（８）の一部を用いて異常状態を判定してもよく、また、これらの条件は任意の組み合わせが可能である。
【００４５】
判定部６２は、検査対象フレームに対する判定結果を示す診断情報を診断情報記憶部５４に格納する。判定部６２は、検査対象フレームの送信元である被検査ＥＣＵ１８を正常状態と判定した場合、被検査ＥＣＵ１８が正常状態である（言い換えれば正当性がある）ことを示す診断情報を記録する。また、判定部６２は、検査対象フレームの送信元である被検査ＥＣＵ１８を異常状態と判定した場合、被検査ＥＣＵ１８が異常状態であることを示す診断情報を記録する。
【００４６】
応答部６４は、通信部５６により受信されたフレームが、診断要求フレームに割り当てられたＩＤが付与されたフレームである場合、当該フレームを検査ＥＣＵ２４から送信された診断要求フレームと識別する。応答部６４は、診断要求フレームへの応答として、監視基準記憶部５２の監視基準と、照合情報生成部６０により生成された照合情報とに基づく診断情報であり、被検査ＥＣＵ１８が正当（言い換えれば正常状態）か否かを確認可能な診断情報を検査ＥＣＵ２４へ送信する。実施例の応答部６４は、診断要求フレームが受信された場合に、診断情報記憶部５４に記憶された診断情報を含む診断応答フレームを通信部５６からＣＡＮ２８へ出力させる。
【００４７】
応答部６４は、診断情報フレームに署名を付加する。具体的には、応答部６４は、診断要求フレームに付加されたチャレンジと診断情報とを合成したデータを所定のハッシュ関数へ入力してハッシュ値を取得する。応答部６４は、秘密鍵記憶部５０に記憶された監視ＥＣＵ２６の秘密鍵でハッシュ値を暗号化したデータを署名として診断情報フレームに付加する。
【００４８】
監視基準更新部６６は、所定の条件が満たされた場合に、サーバ２９と連携して、監視基準記憶部５２に記憶された監視基準を更新する。実施例における監視基準の更新タイミングは、（１）新たな被検査ＥＣＵ１８の追加時、（２）監視ＥＣＵ２６または被検査ＥＣＵ１８のファームウェア更新時、（３）車両１０のメンテナンス時である。監視基準更新部６６は、上記更新タイミングに至ったことを自動的に検出した場合、もしくは、監視基準の更新指示を外部装置（車両１０に接続されたメンテナンス作業者の端末等）から受信した場合に、サーバ２９へアクセスし、最新の監視基準をダウンロードする。
【００４９】
なお、更新タイミングの自動検出について、例えば、監視基準更新部６６は、監視基準等に定められていない新規のメッセージＩＤが付与されたフレームを受信した場合に、新たな被検査ＥＣＵ１８が追加されたことを検出し、サーバ２９へアクセスしてもよい。
【００５０】
起動処理部６８は、監視ＥＣＵ２６の起動時に、公知のセキュアブートを実行する。また、起動処理部６８は、監視モジュール（例えば監視部５８のモジュール）と、監視基準記憶部５２に記憶された監視基準の両方を署名に基づいて検証する。例えば、起動処理部６８は、監視部５８のプログラムのデータから生成したハッシュ値と、署名が示すハッシュ値とが一致するかを検証し、また、監視基準のデータから生成したハッシュ値と、署名が示すハッシュ値とが一致するかを検証し、両者とも一致することを条件として、監視ＥＣＵ２６の起動を正常に完了してもよい。これにより、監視ＥＣＵ２６の起動時の完全性を確立することができる。
【００５１】
なお、起動処理部６８は、上記の処理に代えて、もしくは上記の処理に加えて、監視ＥＣＵ２６に搭載されたＴＰＭにおける、特殊な更新操作でのみ書き換え可能な記憶領域（Platform Configuration Register：ＰＣＲ）に、監視部５８のプログラムのデータから生成したハッシュ値を格納してもよい。さらに、起動処理部６８は、上記ＰＣＲに、監視基準のデータから生成したハッシュ値を格納してもよい。これにより、監視ＥＣＵ２６における監視モジュールと監視基準の正当性を外部装置において検証可能になる。なお、起動処理部６８は、セキュアブートに代えて、トラステッドブートを実行してもよい。
【００５２】
以上の構成による監視ＥＣＵ２６および検査ＥＣＵ２４の動作を説明する。
図５は、監視ＥＣＵ２６の動作を示すフローチャートである。起動処理部６８は、車両１０のイグニッションがオンになり、監視ＥＣＵ２６の電源がオンになると、セキュアブートを実行し（Ｓ１０）、監視部５８および監視基準の正当性を検証する（Ｓ１２）。監視基準の更新条件が満たされると（Ｓ１４のＹ）、監視基準更新部６６は、後述の監視基準更新処理を実行する（Ｓ１６）。監視基準の更新条件が満たされなければ（Ｓ１４のＮ）、Ｓ１６をスキップする。
【００５３】
通信部５６は、ＣＡＮ２８のバスからフレームを受信する（Ｓ１８）。受信フレームが検査対象フレームであれば（Ｓ２０のＹ）、照合情報生成部６０は、検査対象フレームに基づいて照合情報を生成する。判定部６２は、検査対象フレームに対応する監視基準と照合情報とを照合することにより、検査対象フレームの正当性を検証し、言い換えれば、検査対象フレームの送信元である被検査ＥＣＵ１８の正当性を検証する（Ｓ２２）。判定部６２は、被検査ＥＣＵ１８の正当性の検証結果を診断情報として診断情報記憶部５４に保存する（Ｓ２４）。
【００５４】
受信フレームが検査対象フレームでなく（Ｓ２０のＮ）、診断要求フレームであれば（Ｓ２６のＹ）、応答部６４は、診断情報記憶部５４に保存された診断情報と署名とを含む診断応答フレームを検査ＥＣＵ２４へ送信する（Ｓ２８）。受信フレームが診断要求フレームでもなければ（Ｓ２６のＮ）、Ｓ２８をスキップする。監視ＥＣＵ２６の電源がオフに切り替わる等の所定の終了条件が満たされると（Ｓ３０のＹ）、監視ＥＣＵ２６は監視状態を終了し（Ｓ３２）、本図のフローを終了する。終了条件が満たされなければ（Ｓ３０のＮ）、Ｓ１８に戻る。
【００５５】
図６は、図５のＳ１６の監視基準更新処理の詳細を示すフローチャートである。監視基準更新部６６は、サーバ２９へ接続し（Ｓ４０）、サーバ２９が新たな監視基準を保持している場合、その新たな監視基準をダウンロードする（Ｓ４２）。新たな監視基準は、監視基準記憶部５２に保存済の既存の監視基準より作成日時が新しいものであってもよい。サーバ２９から新たな監視基準を取得した場合（Ｓ４４のＹ）、監視基準更新部６６は、その新たな監視基準を監視基準記憶部５２に保存することにより、監視基準を更新する（Ｓ４６）。
【００５６】
サーバ２９から新たな監視基準を取得せず（Ｓ４４のＮ）、ユーザ指定の監視基準の保存が要求された場合（Ｓ４８のＹ）、監視基準更新部６６は、ユーザ指定の監視基準を監視基準記憶部５２に保存することにより、監視基準を更新する（Ｓ４６）。ユーザ指定の監視基準の保存が要求されなければ（Ｓ４８のＮ）、Ｓ４６をスキップする。ユーザ指定の監視基準は、ユーザ（運転者等）が独自に作成した監視基準でもよく、ＳＤカード等の所定の記録メディアに格納されてもよい。監視基準更新部６６は、その記録メディアから監視基準を読み出して監視基準記憶部５２に保存してもよい。この場合、ユーザ自身が作成した監視基準をユーザの自己責任の下、異常検知に使用する。
【００５７】
なお、車両１０にサードパーティの装置を追加した場合、その装置に対する監視基準を監視基準記憶部５２に追加してもよい。この場合、追加される監視基準に対して、装置のベンダによる署名が付加されている場合、もしくは、署名がなくてもユーザが所定の操作（許諾ボタンを押す等）を行った場合に、上記サードパーティ装置に対する監視基準を監視基準記憶部５２に追加してもよい。
【００５８】
図７は、検査ＥＣＵ２４の動作を示すフローチャートである。検査ＥＣＵ２４は、電源がオンになると、セキュアブートを実行する（Ｓ５０）。起動時点では診断応答を未受信であるため、診断応答確認部３８は、ＣＡＮ（言い換えれば被検査ＥＣＵ１８）の状態が未定である旨を所定の記憶領域（ログ等）に記録する（Ｓ５２）。表示制御部４２は、ＣＡＮの状態が未定であることを示す情報を表示部２２に表示させる。図８は、表示部の例を示す。ダッシュボード７０内のタコメーター７２の近傍に表示部２２としてのランプ７４が設けられてもよい。ＣＡＮの状態が未定であるとき、表示制御部４２は、ランプ７４を黄色で点灯させてもよい。
【００５９】
図７に戻り、診断要求送信部３６は、チャレンジ（乱数値）を含む診断要求フレームを監視ＥＣＵ２６へ送信する（Ｓ５４）。診断要求フレームの送信から所定時間内に診断応答フレームを未受信であれば（Ｓ５６のＮ）、診断応答確認部３８は、所定のタイムアウト処理を実行し（Ｓ５８）、ＣＡＮの状態が異常である旨を所定の記憶領域に記録する（Ｓ６０）。表示制御部４２は、ＣＡＮの状態が異常であることを示す情報を表示部２２に表示させる。例えば、表示制御部４２は、図８のランプ７４を赤色で点灯させてもよい。
【００６０】
診断要求フレームの送信から所定時間内に診断応答フレームを受信した場合（Ｓ５６のＹ）、診断応答確認部３８は、診断応答フレーム内の診断情報を確認する（Ｓ６２）。被検査ＥＣＵ１８が異常である旨を示す診断情報であれば（Ｓ６４のＮ）、診断応答確認部３８は、ＣＡＮ（言い換えれば被検査ＥＣＵ１８）の状態が異常である旨を所定の記憶領域に記録する（Ｓ６０）。その一方、被検査ＥＣＵ１８が正常である旨を示す診断情報であれば（Ｓ６４のＹ）、診断応答確認部３８は、ＣＡＮの状態が正常である旨を所定の記憶領域に記録する（Ｓ６６）。表示制御部４２は、ＣＡＮの状態が正常であることを示す情報を表示部２２に表示させる。例えば、表示制御部４２は、図８のランプ７４を緑色で点灯させてもよい。電源がオフに切り替わる等の所定の終了条件が満たされると（Ｓ６８のＹ）、本図のフローを終了する。終了条件が満たされなければ（Ｓ６８のＮ）、Ｓ５４に戻る。
【００６１】
図７には不図示だが、被検査ＥＣＵ１８が正常であることを示す診断応答フレームを受信し（Ｓ６４のＹ）、かつ、指示受付部３４により自動運転開始の指示が受け付けられた場合、自動運転指示部４０は、自動運転開始の指示を示す信号をＡＤＡＳ−ＥＣＵ１６へ送信する。また、診断情報が被検査ＥＣＵ１８の異常を示す場合（Ｓ６４のＮ）、指示受付部３４により自動運転開始の指示が受け付けられても、自動運転指示部４０は、自動運転開始の指示を示す信号をＡＤＡＳ−ＥＣＵ１６へ送信することを抑制する。自動運転指示部４０は、自動運転開始の指示後に、被検査ＥＣＵ１８の異常を示す診断情報が受信された場合、自動運転終了の指示を示す信号をＡＤＡＳ−ＥＣＵ１６へ送信してもよい。
【００６２】
図９は、実施例における監視ＥＣＵ２６と検査ＥＣＵ２４との相互作用を示すシーケンス図である。監視ＥＣＵ２６は、ＣＡＮ２８のバスを流れるフレームの監視を開始する（Ｓ１００）。検査ＥＣＵ２４は、チャレンジＣ１を生成し（Ｓ１０２）、チャレンジＣ１を含む診断要求１を監視ＥＣＵ２６へ送信する（Ｓ１０４）。監視ＥＣＵ２６は、被検査ＥＣＵ１８が正常か否かを示す診断情報と署名とを含む診断応答１を検査ＥＣＵ２４へ送信する（Ｓ１０６）。監視ＥＣＵ２６は、ＣＡＮ２８のバスを流れるフレームの監視を継続する（Ｓ１０８）。検査ＥＣＵ２４は、診断応答１の署名を検証し（Ｓ１１０）、診断応答１の診断情報に応じた処理を実行する（Ｓ１１２）。すなわち、被検査ＥＣＵ１８が正常である場合の第１の処理、または、被検査ＥＣＵ１８が異常である場合の第２の処理を選択的に実行する。
【００６３】
Ｓ１１２から所定時間後に、検査ＥＣＵ２４は、チャレンジＣ２を生成し（Ｓ１１４）、チャレンジＣ２を含む診断要求２を監視ＥＣＵ２６へ送信する（Ｓ１１６）。監視ＥＣＵ２６は、被検査ＥＣＵ１８が正常か否かを示す診断情報と署名とを含む診断応答２を検査ＥＣＵ２４へ送信する（Ｓ１１８）。検査ＥＣＵ２４は、診断応答２の署名を検証し（Ｓ１２０）、診断応答２の診断情報に応じた処理を実行する（Ｓ１２２）。以降、監視ＥＣＵ２６と検査ＥＣＵ２４は、図９に示す相互作用を繰り返す。
【００６４】
実施例の監視ＥＣＵ２６によると、被検査ＥＣＵ１８にＴＰＭ等のセキュリティチップを搭載することなく、被検査ＥＣＵ１８の外部から被検査ＥＣＵ１８の正当性を検証することができる。これにより、被検査ＥＣＵ１８の部品点数を低減でき、また、被検査ＥＣＵ１８の開発コストおよび製造コストを低減できる。
【００６５】
また、監視ＥＣＵ２６は、ＣＡＮ２８を流れるメッセージを監視するため、被検査ＥＣＵ１８の起動完了後、被検査ＥＣＵ１８がデータ処理を実行中に、被検査ＥＣＵ１８の正当性を検証することができる。これにより、被検査ＥＣＵ１８の起動完了後に、被検査ＥＣＵ１８にマルウェアが混入して、被検査ＥＣＵ１８が不正な挙動を行う場合も、被検査ＥＣＵ１８の異常を検知することができる。
【００６６】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６７】
変形例を説明する。監視ＥＣＵ２６応答部６４は、監視部５８が被検査ＥＣＵ１８の異常を検知しない間、言い換えれば、被検査ＥＣＵ１８の異常を示す診断情報が未生成の間、被検査ＥＣＵ１８が正常であることを示すハッシュチェーンのデータを自律的かつ定期的に検査ＥＣＵ２４へ送信してもよい。図１０は、変形例における監視ＥＣＵ２６と検査ＥＣＵ２４との相互作用を示すシーケンス図である。同図のＳ１３０〜Ｓ１３４は、図９のＳ１００〜Ｓ１０４と同じであるため説明を省略する。
【００６８】
監視ＥＣＵ２６の応答部６４は、被検査ＥＣＵ１８が正常か否かを示す診断情報、署名、ハッシュチェーン用のハッシュデータ（例えば診断情報に対するハッシュ演算を１０００回繰り返したものであり、ここでは「Ｈ１０００」と呼ぶ。）を含む診断応答１を検査ＥＣＵ２４へ送信する（Ｓ１３６）。以降のＳ１３８〜Ｓ１４２の処理は、図９のＳ１０８〜Ｓ１１２と同じであるが、検査ＥＣＵ２４は、診断応答１に付加されたＨ１０００をコミットメントとして記憶しておく。
【００６９】
監視ＥＣＵ２６の応答部６４は、Ｓ１３６後、所定時間（例えば３分等）の経過を検出すると、診断情報記憶部５４に記憶された診断情報を確認し、被検査ＥＣＵ１８の異常が検知されていないかを確認する。被検査ＥＣＵ１８の正常状態が維持されていれば、応答部６４は、ハッシュチェーン用のハッシュデータを含む正常状態継続メッセージを検査ＥＣＵ２４へ送信する（Ｓ１４４）。このハッシュデータは、Ｓ１３６で送信した診断情報に対するハッシュ演算を９９９回繰り返したものであり、ここでは「Ｈ９９９」と呼ぶ。また、正常状態継続メッセージは、当該メッセージを示すＩＤが設定されたＣＡＮのフレームとも言える。
【００７０】
正常状態継続メッセージ送信後、監視ＥＣＵ２６の監視部５８は、ＣＡＮ２８を流れるフレームの監視を継続する（Ｓ１４６）。検査ＥＣＵ２４の診断応答確認部３８は、正常状態継続メッセージを受信すると、当該メッセージ内のＨ９９９の正当性を検証する（Ｓ１４８）。具体的には、診断応答確認部３８は、Ｈ９９９に対してハッシュ演算を１回実行した結果が、コミットメントとして記憶したＨ１０００に一致する場合にＨ９９９が正当と判定する。正常状態継続メッセージには署名が付与されないが、ハッシュチェーンにより正常状態継続メッセージの送信元が監視ＥＣＵ２６であることが保障される。診断応答確認部３８は、被検査ＥＣＵ１８が正常状態であることに応じた処理を実行する（Ｓ１５０）。
【００７１】
図１０には不図示だが、Ｓ１４４後、上記所定時間の経過を検出する都度、監視ＥＣＵ２６の応答部６４は、新たな正常状態継続メッセージ（Ｈ９９８を含む）を検査ＥＣＵ２４へ送信する。また、図１０には不図示だが、被検査ＥＣＵ１８の異常が検出された場合、監視ＥＣＵ２６の応答部６４は、正常状態継続メッセージの送信を中止する。それとともに、応答部６４は、前回の正常状態継続メッセージの送信から上記所定時間が経過したか否かにかかわらず、被検査ＥＣＵ１８の異常を示す診断応答フレームを検査ＥＣＵ２４へ直ちに送信してもよい。
【００７２】
この変形例によると、検査ＥＣＵ２４と監視ＥＣＵ２６間で署名が付与されたデータを送受信することに比べて、署名の通信コストおよび検証コストを低減することができる。
【００７３】
別の変形例を説明する。この変形例では、複数の被検査ＥＣＵ１８の中に、自発的にはフレームを送信しない被検査ＥＣＵ１８（いわゆる読み取り専用のＥＣＵであり、ここでは「特殊被検査ＥＣＵ」と呼ぶ。）が存在する場合の監視ＥＣＵ２６の構成を説明する。監視ＥＣＵ２６の監視部５８は、要求送信部をさらに含む。要求送信部は、所定の応答メッセージ（例えば認証メッセージ等）を要求する要求フレームを特殊被検査ＥＣＵへ送信する。
【００７４】
監視基準には、特殊被検査ＥＣＵから送信される応答フレーム（例えば認証メッセージ等）の正常性を検査するための内容（ＭＡＣの有無等）が規定される。判定部６２は、要求フレームに応じて特殊被検査ＥＣＵから送信された応答フレームの正常性を、監視基準にしたがって判定することにより、特殊被検査ＥＣＵが正当か否かを判定する。例えば、チャレンジレスポンス認証により、特殊被検査ＥＣＵが正当か否かを判定してもよい。この変形例によると、自発的にはフレームを送信しない被検査ＥＣＵ１８の正当性を外部から検証することができる。
【００７５】
さらに別の変形例を説明する。上記実施例では言及していないが、監視ＥＣＵ２６は、フレームの受信状況と受信したフレームの態様とに基づいて、新たな監視基準を生成する監視基準生成部をさらに備えてもよい。例えば、自動運転時に制御対象となる新たな被検査ＥＣＵ１８が車両１０に追加された場合、監視ＥＣＵ２６は、その新たな被検査ＥＣＵ１８が送信するフレームであり、監視基準に未定義のＩＤを含むフレームを受信することになる。このとき、監視基準生成部は、監視基準に未定義のＩＤを含むフレームの形式、および受信頻度等に基づいて、当該フレーム用の監視基準を含む新たな監視基準を生成してもよい。監視基準更新部６６は、監視基準生成部により生成された新たな監視基準をサーバ２９へアップロードする。監視基準更新部６６は、その新たな監視基準がサーバ２９により認証された場合に、その新たな監視基準を監視基準記憶部５２へ保存し、既存の監視基準に置き換えてもよい。
【００７６】
さらに別の変形例を説明する。上記実施例では、被検査ＥＣＵ１８の正当性を監視ＥＣＵ２６が判定した。変形例では、被検査ＥＣＵ１８の正当性を検査ＥＣＵ２４が判定してもよい。被検査ＥＣＵ１８の診断応答確認部３８は、実施例の判定部６２と同等の判定部を含んでもよい。この変形例の監視ＥＣＵ２６は、検査ＥＣＵ２４に対して、被検査ＥＣＵ１８が正当か否かを確認可能となる情報を提供する。
【００７７】
具体的には、監視ＥＣＵ２６の監視部５８は、監視基準に規定されたＩＤを持つ１つ以上の検査対象フレームを所定の記憶領域（「フレーム記憶部」と呼ぶ。）に逐次記憶してもよい。監視ＥＣＵ２６の応答部６４は、診断要求フレームが受信されると、フレーム記憶部に記憶された１つ以上の検査対象フレームのデータと、各検査対象フレームのＩＤに対応する監視基準（「対応監視基準」と呼ぶ。）とを含む診断応答フレームを検査ＥＣＵ２４へ送信してもよい。検査ＥＣＵ２４の判定部は、検査対象フレームのデータと対応監視基準とに基づいて、検査対象フレームの送信元である被検査ＥＣＵ１８の正当性を判定してもよい。
【００７８】
上記実施例に記載の技術は、車載ネットワークシステムに制限されず、ＣＡＮ等のバス型ネットワーク、言い換えれば、ブロードキャスト型の通信が行われるネットワークを介してデータが送受信される装置およびシステムに広く適用可能である。例えば、工場、工作機械、ロボット等の装置およびシステムにも広く適用可能である。
【００７９】
なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
バス型ネットワークを介して、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、バス型ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える監視装置。
この監視装置によると、検査対象となる第１の電子機器に、ＴＰＭ等のセキュリティチップを搭載することなく、第１の電子機器の外部から第１の電子機器の正当性を検証することができる。また、この監視装置は、バス型ネットワークを流れるメッセージを監視するため、第１の電子機器が起動を完了してデータ処理を実行中でも、第１の電子機器の正当性を検証することができる。
［項目２］
生成部により生成された照合情報を、記憶部に記憶された基準に照合することにより、第１の電子機器が正当か否かを判定する判定部をさらに備えてもよい。応答部は、第１の電子機器が正当か否かを確認可能な情報として、判定部による判定結果を送信してもよい。
この態様によると、監視装置が第１の電子機器の正当性を判定するため、第２の電子機器における処理負荷を低減することができる。
［項目３］
所定の条件が満たされた場合に、外部のサーバと連携して、記憶部に記憶された基準を更新する更新部をさらに備えてもよい。
この態様によると、第１の電子機器から送信されたフレームに対する監視基準を適切な内容に維持することができる。
［項目４］
第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、監視装置と、がバス型ネットワークを介して接続された通信システムである。監視装置は、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、バス型ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える。
この通信システムによると、検査対象となる第１の電子機器に、ＴＰＭ等のセキュリティチップを搭載することなく、第１の電子機器の外部から第１の電子機器の正当性を検証することができる。また、監視装置は、バス型ネットワークを流れるメッセージを監視するため、第１の電子機器が起動を完了してデータ処理を実行中でも、第１の電子機器の正当性を検証することができる。
［項目５］
第２の電子機器は、第１の電子機器が正当か否かを示す情報を所定の表示装置に表示させてもよい。この態様によると、第１の電子機器の状態を分かり易くユーザに提示することができる。
［項目６］
第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器と、監視装置と、がバス型の車載ネットワークを介して接続された車両である。監視装置は、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する記憶部と、車載ネットワークからフレームを受信する受信部と、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、記憶部に記憶された基準と照合するための情報である照合情報を生成する生成部と、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、記憶部に記憶された基準と、生成部により生成された照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する応答部と、を備える。
この車両によると、検査対象となる第１の電子機器に、ＴＰＭ等のセキュリティチップを搭載することなく、第１の電子機器の外部から第１の電子機器の正当性を検証することができる。また、監視装置は、バス型ネットワークを流れるメッセージを監視するため、第１の電子機器が起動を完了してデータ処理を実行中でも、第１の電子機器の正当性を検証することができる。
［項目７］
バス型ネットワークを介して、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する監視装置が、バス型ネットワークからフレームを受信し、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、基準と照合するための情報である照合情報を生成し、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、基準と照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信する監視方法。
この監視方法によると、検査対象となる第１の電子機器に、ＴＰＭ等のセキュリティチップを搭載することなく、第１の電子機器の外部から第１の電子機器の正当性を検証することができる。また、この監視方法によると、バス型ネットワークを流れるメッセージを監視するため、第１の電子機器が起動を完了してデータ処理を実行中でも、第１の電子機器の正当性を検証することができる。
［項目８］
バス型ネットワークを介して、第１の電子機器と、第１の電子機器が正当か否かに応じた処理を実行すべき第２の電子機器とに接続された監視装置であって、第１の電子機器から送信されたフレームについて、その正常性を判定するための基準を記憶する監視装置に、バス型ネットワークからフレームを受信し、第１の電子機器から送信された第１のＩＤのフレームが受信された場合、当該フレームに基づいて、基準と照合するための情報である照合情報を生成し、第２の電子機器から送信された第２のＩＤのフレームが受信された場合、基準と照合情報とに基づく情報であって、第１の電子機器が正当か否かを確認可能な情報を第２の電子機器へ送信することを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、検査対象となる第１の電子機器に、ＴＰＭ等のセキュリティチップを搭載することなく、第１の電子機器の外部から第１の電子機器の正当性を検証することができる。また、このコンピュータプログラムによると、バス型ネットワークを流れるメッセージを監視するため、第１の電子機器が起動を完了してデータ処理を実行中でも、第１の電子機器の正当性を検証することができる。
【００８０】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００８１】
１０  車両、  １８  被検査ＥＣＵ、  ２４  検査ＥＣＵ、  ２６  監視ＥＣＵ、  ２９  サーバ、  ５２  監視基準記憶部、  ５６  通信部、  ６０  照合情報生成部、  ６２  判定部、  ６４  応答部、  ６６  監視基準更新部。
【図１】
2018133743.tif 000003
【図２】
2018133743.tif 000004
【図３】
2018133743.tif 000005
【図４】
2018133743.tif 000006
【図５】
2018133743.tif 000007
【図６】
2018133743.tif 000008
【図７】
2018133743.tif 000009
【図８】
2018133743.tif 000010
【図９】
2018133743.tif 000011
【図１０】
2018133743.tif 000012