(57)【要約】【課題】車両に搭載された電子制御装置間の通信を維持しつつ、セキュリティを向上させる。【解決手段】ＥＣＵ１４のそれぞれは、ＣＡＮバス１６を流れるフレームに付与され、特定のＥＣＵ１４に対応するＩＤを第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであり、複数のＥＣＵ１４間で共通のアルゴリズムに基づく変更プログラムを記憶する。ＥＣＵ１４のそれぞれは、ＣＡＮバス１６から受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する。ＥＣＵ１４のそれぞれは、不正な装置から送信されたと判定したフレームに付与されたＩＤが第１ＩＤである場合、上記変更プログラムに基づいて、上記特定のＥＣＵ１４に対応するＩＤを第１ＩＤから第２ＩＤへ変更する。【選択図】図１
2018166309.tif 000002
【特許請求の範囲】
【請求項１】
車載ネットワークに接続された複数の電子制御装置を備え、
前記複数の電子制御装置のそれぞれは、
前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、
前記車載ネットワークからフレームを受信する受信部と、
前記受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、
前記判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する変更部と、を含む車載ネットワークシステム。
【請求項２】
前記判定部は、前記受信部により受信されたフレームに付与されたＩＤが、自装置に対応するＩＤである場合、当該フレームが不正な装置から送信されたものと判定する、
請求項１に記載の車載ネットワークシステム。
【請求項３】
前記判定部は、前記受信部により受信されたフレームと同じＩＤのフレームの受信頻度が所定値を上回る場合、当該フレームが不正な装置から送信されたものと判定する、
請求項１または２に記載の車載ネットワークシステム。
【請求項４】
車載ネットワークに接続された複数の電子制御装置を備える車載ネットワークシステムで用いられる電子制御装置であって、
前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、
前記車載ネットワークからフレームを受信する受信部と、
前記受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、
前記判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する変更部と、を含む電子制御装置。
【請求項５】
車載ネットワークに接続された複数の電子制御装置が実行する通信方法であって、
前記複数の電子制御装置のそれぞれは、前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部を備え、
前記複数の電子制御装置のそれぞれが、
前記車載ネットワークからフレームを受信し、
受信したフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定し、
前記不正な装置から送信されたと判定したフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する、
通信方法。
【請求項６】
車載ネットワークに接続された複数の電子制御装置により実行されるコンピュータプログラムであって、
前記複数の電子制御装置のそれぞれは、前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部を備え、
前記複数の電子制御装置のそれぞれに、
前記車載ネットワークから受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定し、
前記不正な装置から送信されたと判定したフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する、
ことを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ通信技術に関し、特に車載ネットワークシステム、電子制御装置、通信方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車には、多数の電子制御ユニット（Electronic Control Unit、以下「ＥＣＵ」と呼ぶ。）が搭載されている。これらのＥＣＵを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてＣＡＮ（Controller Area Network）がある。
【０００３】
車両制御装置のメモリの書き換え許可を判断する既存のセキュリティ情報（例えばセキュリティ関数）が第三者に知られてしまった場合でも、そのセキュリティ情報を変更することで、不正なメモリ書き換えの拡大を防止するメモリ書き換えシステムが提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１８８５２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
複数のＥＣＵが繋がる車載ネットワークシステムでは、セキュリティ情報そのものを書き換えてしまうと、ＥＣＵ間の通信が成立しなくなる可能性がある。
【０００６】
本発明は上記課題に鑑みたもので、１つの目的は、車両に搭載された電子制御装置間の通信を維持しつつ、セキュリティを向上させることである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の車載ネットワークシステムは、車載ネットワークに接続された複数の電子制御装置を備える。複数の電子制御装置のそれぞれは、車載ネットワークを流れるフレームに付与され、複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、車載ネットワークからフレームを受信する受信部と、受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが第１ＩＤである場合、記憶部に記憶された変更プログラムに基づいて、特定の電子制御装置に対応するＩＤを第１ＩＤから第２ＩＤへ変更する変更部と、を含む。
【０００８】
本発明の別の態様は、電子制御装置である。この装置は、車載ネットワークに接続された複数の電子制御装置を備える車載ネットワークシステムで用いられる電子制御装置であって、車載ネットワークを流れるフレームに付与され、複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、車載ネットワークからフレームを受信する受信部と、受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが第１ＩＤである場合、記憶部に記憶された変更プログラムに基づいて、特定の電子制御装置に対応するＩＤを第１ＩＤから第２ＩＤへ変更する変更部と、を含む。
【０００９】
本発明のさらに別の態様は、通信方法である。この方法は、車載ネットワークに接続された複数の電子制御装置が実行する通信方法であって、複数の電子制御装置のそれぞれは、車載ネットワークを流れるフレームに付与され、複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部を備える。複数の電子制御装置のそれぞれが、車載ネットワークからフレームを受信し、受信したフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定し、不正な装置から送信されたと判定したフレームに付与されたＩＤが第１ＩＤである場合、記憶部に記憶された変更プログラムに基づいて、特定の電子制御装置に対応するＩＤを第１ＩＤから第２ＩＤへ変更する。
【００１０】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１１】
本発明によれば、車両に搭載された電子制御装置間の通信を維持しつつ、セキュリティを向上させることができる。
【図面の簡単な説明】
【００１２】
【図１】実施例の車載ネットワークシステムの構成を示す図である。
【図２】図１のＥＣＵの機能構成を示すブロック図である。
【図３】ＩＤテーブルの例を示す図である。
【図４】ＩＤ変更テーブルの例を示す図である。
【図５】図１のＥＣＵの動作を示すフローチャートである。
【図６】第２実施例のＥＣＵの機能構成を示すブロック図である。
【図７】第２実施例のＥＣＵの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
［第１実施例］
実施例の車載ネットワークシステムを構成する複数のＥＣＵのそれぞれは、各ＥＣＵに対応するＩＤ（実施例ではＣＡＮ−ＩＤ）を変更するためのアルゴリズムであり、複数のＥＣＵ間で共通のアルゴリズムを実装した変更プログラムを記憶する。各ＥＣＵは、受信フレームが不正であることを検出すると、変更プログラムに基づいて、受信フレームに付与された特定のＥＣＵに対応するＣＡＮ−ＩＤを、それまでとは別の値へ変更する。すなわち、実施例の車載ネットワークシステムでは、不正装置によりなりすましされた特定のＥＣＵに対応するＩＤを、複数のＥＣＵ間で同期的に変更する。これにより、不正装置によりなりすましされたＥＣＵとの通信を維持しつつ、不正装置からの通信を遮断することができる。
【００１４】
図１は、実施例の車載ネットワークシステム１２の構成を示す。車載ネットワークシステム１２は、車両１０内部に構築された通信システムである。車載ネットワークシステム１２は、ＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃ（以下、総称する場合「ＥＣＵ１４」と呼ぶ。）を備える。
【００１５】
複数のＥＣＵ１４のそれぞれは、他のＥＣＵから送信されたフレーム（ＣＡＮフレーム、ＣＡＮメッセージとも言える。）に基づいて、各種アクチュエータ（ステアリング、ブレーキ等）を制御してもよい。また、ＥＣＵ１４のそれぞれは、各種センサ（温度センサ、加速度センサ等）に接続され、ＣＡＮバス１６から受信したフレームに基づいて、センサの検知内容を他のＥＣＵへ通知してもよい。
【００１６】
複数のＥＣＵ１４は、車載ネットワークであるＣＡＮバス１６に接続される。ＣＡＮバス１６を流れるフレームには、当該フレームの種類を示すＣＡＮ−ＩＤが付与される。実施例におけるＣＡＮ−ＩＤには、少なくとも送信元のＥＣＵ１４に対応する値が設定される。すなわち、少なくとも送信元のＥＣＵ１４が異なれば、異なるＣＡＮ−ＩＤが設定される。なお、ＣＡＮ−ＩＤには、送信元のＥＣＵ１４と送信先のＥＣＵ１４との組み合わせごとに異なる値が設定されてもよい。
【００１７】
実施例の車載ネットワークシステム１２では、本来はＣＡＮバス１６に接続されるべきでない不正装置１８がＣＡＮバス１６に接続されている。不正装置１８は、正当なＥＣＵ１４になりすまし、正当なＥＣＵ１４に対応するＣＡＮ−ＩＤを設定したフレームを不正にＣＡＮバス１６へ出力する。不正装置１８は、ＯＢＤ（On Board Diagnostics）コネクタ等を介してＣＡＮバス１６に接続されるＰＣであってもよい。また、不正装置１８は、車両１０外部の通信網を介してＣＡＮバス１６へ不正フレームを入力してもよい。
【００１８】
図２は、図１のＥＣＵ１４の機能構成を示すブロック図である。本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００１９】
ＥＣＵ１４は、フレーム記憶部２０、ＩＤ記憶部２２、変更規則記憶部２４、通信部２６、判定部２８、データ処理部３０、異常時処理部３２を備える。この構成は、ＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃに共通である。また、これらのブロックに対応するモジュールを含むコンピュータプログラムがＥＣＵ１４のメモリに格納され、ＥＣＵ１４のＣＰＵがそのコンピュータプログラムを実行することにより、これらのブロックの機能が発揮されてもよい。
【００２０】
フレーム記憶部２０は、ＣＡＮバス１６から受信されたフレームを一時的に記憶する。ＩＤ記憶部２２は、ＣＡＮバス１６に接続された複数のＥＣＵ１４に対応する複数のＣＡＮ−ＩＤを格納したＩＤテーブルを記憶する。
【００２１】
図３は、ＩＤテーブルの例を示す。ＩＤテーブルは、ＥＣＵ１４の識別子と、ＥＣＵ１４に現在対応するＣＡＮ−ＩＤ（「１Ａ１」等）とを対応付けたテーブルである。図３のＩＤテーブルは、ＥＣＵ１４ａから送信されるフレームに、ＣＡＮ−ＩＤ「１Ａ１」が設定され、また、ＥＣＵ１４ｂから送信されるフレームに、ＣＡＮ−ＩＤ「１Ｂ１」が設定されることを示している。図３には不図示だが、実施例のＩＤテーブルには、ＥＣＵ１４の識別子とＣＡＮ−ＩＤの各組に対応付けて、予め定められたフレームの受信周期（言い換えれば送信周期）がさらに格納される。
【００２２】
図２に戻り、変更規則記憶部２４は、複数のＥＣＵ１４のそれぞれに対応するＣＡＮ−ＩＤを、それまでの値（第１ＩＤ）から別の値（第２ＩＤ）へ変更するための所定のアルゴリズムに基づくコンピュータプログラム（以下「変更プログラム」と呼ぶ。）を記憶する。変更プログラムの具体的な実装は、各ＥＣＵ１４のＣＰＵの種類等に応じて異なってもよいが、変更プログラムのアルゴリズムは、複数のＥＣＵ１４間で共通である。すなわち、特定のＥＣＵ１４に対応するＣＡＮ−ＩＤについて、１回目の変更後のＩＤ値、２回目の変更後のＩＤ値、３回目の変更後のＩＤ値、・・・は、複数のＥＣＵ１４間で同じになる。
【００２３】
実施例の変更規則記憶部２４は、変更プログラムとして、複数回の変更に亘る複数個のＣＡＮ−ＩＤを定めたＩＤ変更テーブルを記憶する。また、変更規則記憶部２４は、複数のＥＣＵ１４に対応する複数のＩＤ変更テーブル（ＥＣＵ１４ａ用テーブル、ＥＣＵ１４ｂ用テーブル、ＥＣＵ１４ｃ用テーブル）を記憶する。図４は、ＩＤ変更テーブルの例を示す。図４では、ＥＣＵ１４ａに対応するＩＤ変更テーブルを示している。このＩＤ変更テーブルは、ＥＣＵ１４ａの複数のＩＤ候補と、候補間での変更順序を定める。例えば、図４のＩＤ変更テーブルでは、ＣＡＮ−ＩＤ「１Ａ１」から、「１Ａ２」、「１Ａ３」、「１Ａ４」の順に変更することを定めてもよい。
【００２４】
図２に戻り、通信部２６は、ＣＡＮプロトコルにしたがって、ＣＡＮバス１６からフレームを受信する受信部として機能し、また、ＣＡＮバス１６へフレームを送信する送信部として機能する。通信部２６は、ＣＡＮバス１６から受信したフレームのデータを、受信時刻と対応付けてフレーム記憶部２０に格納する。
【００２５】
判定部２８は、通信部２６により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたもの（以下「不正フレーム」とも呼ぶ。）か否かを判定する。具体的には、判定部２８は、受信フレームに設定されたＣＡＮ−ＩＤが、ＩＤ記憶部２２のＩＤテーブルでいずれのＥＣＵ１４にも対応付けられていない場合、受信フレームを第１不正フレームと判定する。
【００２６】
また、判定部２８は、受信フレームに設定されたＣＡＮ−ＩＤが、ＩＤ記憶部２２のＩＤテーブルで特定のＥＣＵ１４と対応付けられていても、受信フレームのＣＡＮ−ＩＤが、自装置に対応するＩＤ（例えば、ＩＤテーブルで自装置に対応付けられたＩＤ）である場合、受信フレームを第２不正フレームと判定する。この理由は、本来は自装置が送信するフレームにのみ設定されるＣＡＮ−ＩＤが受信フレームに設定されているからである。
【００２７】
また、判定部２８は、今回の受信フレームに設定されたＣＡＮ−ＩＤと同じＩＤが設定された過去の受信フレーム（以下「過去フレーム」とも呼ぶ。）をフレーム記憶部２０を参照して特定する。判定部２８は、受信フレームのＣＡＮ−ＩＤが、ＩＤ記憶部２２のＩＤテーブルで特定のＥＣＵ１４と対応付けられていても、今回の受信フレームおよび同一ＩＤの過去フレームの受信頻度が所定値を上回る場合、今回の受信フレームを第３不正フレームと判定する。
【００２８】
具体的には、判定部２８は、ＩＤ記憶部２２のＩＤテーブルを参照して、今回の受信フレームに設定されたＣＡＮ−ＩＤの受信周期を基準周期として特定する。なお、判定部２８は、フレーム記憶部２０に記憶された同一ＩＤの過去フレームの受信時刻に基づいてこれまでの受信周期（すなわち基準周期）を特定してもよい。判定部２８は、今回の受信フレームの受信時刻と、１つ前に受信した同一ＩＤの過去フレームの受信時刻とに基づいて、今回の受信フレームの受信周期を特定する。
【００２９】
判定部２８は、今回の受信フレームの受信周期が基準周期と不整合の場合、今回の受信フレームを第３不正フレームと判定する。この理由は、不正装置１８が正当なＥＣＵ１４になりすましてフレームを送信することにより、正当なＥＣＵ１４のＣＡＮ−ＩＤが設定されたフレームの受信周期が変化する（典型的には受信周期が短くなる）からである。なお、今回の受信フレームの受信周期が基準周期と不整合とは、今回の受信フレームの受信周期と基準周期との差が所定の閾値以上であることでもよく、今回の受信フレームの受信周期が基準周期よりも所定の閾値より短いことでもよい。
【００３０】
また、判定部２８は、所定時間（予め定められた単位時間とも言え、例えば３０秒等）における今回の受信フレームおよび同一ＩＤの過去フレームの受信回数が、予め定められた閾値を超過した場合、今回の受信フレームを第３不正フレームと判定する。この理由は、不正装置１８が正当なＥＣＵ１４になりすましてフレームを送信することで、正当なＥＣＵ１４のＣＡＮ−ＩＤが設定されたフレームの受信回数が増加するからである。
【００３１】
なお、判定部２８が使用する閾値として、開発者の知見や、車載ネットワークシステム１２を使用した実験等により適切な値が決定されてよい。また、受信周期による不正フレーム検出と、受信回数による不正フレーム検出のいずれか一方を実行する構成でもよい。
【００３２】
データ処理部３０は、判定部２８により受信フレームが不正フレームと判定されなかった場合、当該受信フレームに基づいて所定のデータ処理を実行する。例えば、データ処理部３０は、アクチュエータ（不図示）の制御を実行してもよい。
【００３３】
異常時処理部３２は、判定部２８により受信フレームが不正フレームと判定された場合の処理を実行する。異常時処理部３２は、判定部２８により受信フレームが第１不正フレームと判定された場合、すなわち、受信フレームのＣＡＮ−ＩＤが不正の場合、受信フレームを破棄し、または無効化する。異常時処理部３２は、受信フレームを無効化するためのエラーフレームをＣＡＮバス１６へ送信してもよい。
【００３４】
異常時処理部３２はＩＤ変更部３４を含む。ＩＤ変更部３４は、第２不正フレームおよび第３不正フレームに付与されたＣＡＮ−ＩＤに対応する特定のＥＣＵ１４（以下、「特定ＥＣＵ」と呼ぶ。）を識別し、特定ＥＣＵに対応するＣＡＮ−ＩＤを変更する。例えば、特定ＥＣＵのそれまでのＣＡＮ−ＩＤが第１ＩＤである場合、変更規則記憶部２４の変更プログラムにおいて第１ＩＤの次に規定された第２ＩＤを識別し、特定ＥＣＵのＣＡＮ−ＩＤを第１ＩＤから第２ＩＤへ変更する。なお、特定ＥＣＵは、不正装置１８がなりすましたＥＣＵと言える。
【００３５】
具体的には、ＩＤ変更部３４は、変更規則記憶部２４から特定ＥＣＵのＩＤ変更テーブルを読み出す。ＩＤ変更部３４は、読み出したＩＤ変更テーブルで規定された変更順序にしたがって、第２不正フレームおよび第３不正フレームに付与されたＣＡＮ−ＩＤの次のＣＡＮ−ＩＤを識別する。ＩＤ変更部３４は、ＩＤ変更テーブルで識別した次のＣＡＮ−ＩＤを、特定ＥＣＵに対応する新たなＣＡＮ−ＩＤとして、ＩＤ記憶部２２のＩＤテーブルに保存する。これにより、特定ＥＣＵに対応するＣＡＮ−ＩＤを、不正フレームに設定された従来の値から新たな値へ変更する。
【００３６】
共通のＩＤ変更テーブル（言い換えれば共通のアルゴリズムに基づく変更プログラム）を有するＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃ間では、特定ＥＣＵの新たなＣＡＮ−ＩＤを共有できるが、ＩＤ変更テーブルを持たない不正装置１８は、新たなＣＡＮ−ＩＤを知り得ない。したがって、ＣＡＮ−ＩＤを変更することで、以降のなりすましを防止することができる。
【００３７】
以上の構成による車載ネットワークシステム１２の動作を以下説明する。
図５は、図１のＥＣＵ１４の動作を示すフローチャートである。この動作は、ＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃに共通である。
【００３８】
通信部２６がＣＡＮバス１６からフレームを受信すると（Ｓ１０のＹ）、判定部２８は、ＩＤ記憶部２２のＩＤテーブルを参照して、受信フレームが不正フレームか否かを判定する。受信フレームに付与されたＣＡＮ−ＩＤ（「受信フレームＩＤ」と呼ぶ。）が、ＩＤ記憶部２２のＩＤテーブルでいずれかのＥＣＵ１４と対応付けられていれば（Ｓ１２のＮ）、判定部２８は、受信フレームＩＤと、自ＥＣＵに対応するＣＡＮ−ＩＤとの異同を判定する。
【００３９】
受信フレームＩＤが、自ＥＣＵに対応するＣＡＮ−ＩＤと異なる場合（Ｓ１４のＮ）、判定部２８は、受信フレームと同一ＩＤのフレームの基準周期を特定する。今回の受信フレームの受信タイミングが基準周期に整合する場合（Ｓ１６のＮ）、判定部２８は、受信フレームおよび同一ＩＤの過去フレームを、所定時間内に規定回数を超えて受信したか否かを判定する。受信フレームおよび同一ＩＤの過去フレームの受信回数が規定回数内であれば（Ｓ１８のＮ）、判定部２８は、今回の受信フレームを正当なフレームと判定する。データ処理部３０は、判定部２８により正当なフレームと判定された受信フレームにしたがって、ＥＣＵ１４が担当する所定のデータ処理を実行する（Ｓ２０）。
【００４０】
受信フレームＩＤが、自ＥＣＵに対応するＣＡＮ−ＩＤと同一の場合（Ｓ１４のＹ）、ＩＤ変更部３４は、変更規則記憶部２４に記憶された変更プログラムにしたがって、受信フレームＩＤに対応する特定ＥＣＵのＣＡＮ−ＩＤ（この時点では受信フレームＩＤと同じ）を、それまでとは異なる値に変更する（Ｓ２２）。受信フレームの受信タイミングが基準周期を逸脱する場合（Ｓ１６のＹ）、または、受信フレームおよび同一ＩＤの過去フレームの受信回数が規定回数を超過した場合も（Ｓ１８のＹ）、特定ＥＣＵのＣＡＮ−ＩＤを変更する（Ｓ２２）。
【００４１】
ＥＣＵ１４の電源がオフにされた場合等、所定の終了条件を満たす場合（Ｓ２４のＹ）、本図のフローを終了する。終了条件が満たされなければ（Ｓ２４のＮ）、Ｓ１０に戻り、外部装置との通信を継続する。受信フレームＩＤが不正であり、例えば、受信フレームＩＤがＩＤテーブルでいずれのＥＣＵ１４とも対応付けられていなければ（Ｓ１２のＹ）、判定部２８は、受信フレームを不正フレームと判定する。異常時処理部３２は、当該不正フレームを破棄または無効化し（Ｓ２６）、Ｓ２４へ進む。ＣＡＮバス１６からフレームを未受信であれば（Ｓ１０のＮ）、Ｓ２４へ進む。
【００４２】
なお、不正装置１８が、ＥＣＵ１４ａになりすまして、ＥＣＵ１４ａのＣＡＮ−ＩＤを指定する不正フレームをＣＡＮバス１６へ送信した場合、ＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃのそれぞれはＣＡＮバス１６からこの不正フレームを受信する。そして、ＥＣＵ１４ａは、Ｓ１４の判定により不正フレーム（ＥＣＵ１４ａへのなりすまし）を検出する。一方、ＥＣＵ１４ｂおよびＥＣＵ１４ｃは、Ｓ１６またはＳ１８の判定により不正フレーム（ＥＣＵ１４ａへのなりすまし）を検出する。
【００４３】
［第２実施例］
第２実施例の車載ネットワークシステム１２のＥＣＵ１４は、不正装置１８によるなりすましフレームを検出した場合に、なりすまされた特定ＥＣＵに対応するＣＡＮ−ＩＤを変更するとともに、ＣＡＮ−ＩＤの変更を他のＥＣＵ１４へ通知する。
【００４４】
図６は、第２実施例のＥＣＵ１４の機能構成を示すブロック図である。同図に示す機能ブロックのうち、第１実施例の機能ブロックと同一または対応する機能ブロックには、第１実施例と同じ符号を付している。以下、第１実施例で説明済みの内容は、再度の説明を省略する。
【００４５】
第２実施例のＥＣＵ１４の異常時処理部３２は変更通知部３６をさらに含む。変更通知部３６は、ＩＤ変更部３４により特定ＥＣＵのＣＡＮ−ＩＤが変更された場合、その変更を示すフレーム（以下「変更通知」と呼ぶ。）を、通信部２６を介して、ＣＡＮバス１６へブロードキャストする。変更通知部３６は、変更通知のＣＡＮ−ＩＤとして、変更通知を示す特別なＩＤを設定する。また、変更通知部３６は、変更通知のペイロードに、特定ＥＣＵの変更前のＣＡＮ−ＩＤを設定する一方、特定ＥＣＵの変更後のＣＡＮ−ＩＤを設定することを抑制する。この理由は、変更後のＣＡＮ−ＩＤが不正装置１８に漏洩することを防止するためである。
【００４６】
ＩＤ変更部３４は、通信部２６により変更通知が受信されると、変更通知が示すＣＡＮ−ＩＤ（既述したように特定ＥＣＵの変更前のＣＡＮ−ＩＤ）に対応するＥＣＵ１４を変更対象ＥＣＵとして識別する。具体的には、ＩＤ変更部３４は、変更規則記憶部２４のＩＤ変更テーブルを参照し、変更通知が示すＣＡＮ−ＩＤをＩＤ候補の中に含むＥＣＵ１４を変更対象ＥＣＵとして識別する。また、ＩＤ変更部３４は、ＩＤ記憶部２２のＩＤテーブルを参照して、変更対象ＥＣＵに対応する現在のＣＡＮ−ＩＤを識別する。
【００４７】
変更対象ＥＣＵに対応する現在のＣＡＮ−ＩＤが、変更通知が示すＣＡＮ−ＩＤと一致する場合、ＩＤ変更部３４は、変更対象ＥＣＵに対応するＣＡＮ−ＩＤを自装置で変更済みと判定する。この場合、ＩＤ変更部３４は、変更対象ＥＣＵに対応するＣＡＮ−ＩＤをさらに変更することを抑制する。また、変更対象ＥＣＵに対応する現在のＣＡＮ−ＩＤが、変更通知が示すＣＡＮ−ＩＤと不一致の場合、ＩＤ変更部３４は、第１実施例と同様の方法で、変更対象ＥＣＵに対応するＣＡＮ−ＩＤを変更する。
【００４８】
この態様によると、不正装置１８から送信された不正フレームが一部のＥＣＵ１４にのみ届く場合も、複数のＥＣＵ１４に、特定ＥＣＵに対応するＣＡＮ−ＩＤを同期的に変更させることができる。また、第１実施例においてフレームの受信周期が基準周期を逸脱せず、または、受信回数が閾値を超えない場合も、複数のＥＣＵ１４に、特定ＥＣＵに対応するＣＡＮ−ＩＤを同期的に変更させることができる。さらにまた、１つの不正フレームにより、特定ＥＣＵに対応するＣＡＮ−ＩＤが複数回変更されることを抑制でき、特定ＥＣＵに対応するＣＡＮ−ＩＤが複数のＥＣＵ１４間で不整合となることを防止できる。
【００４９】
なお、変更通知のＣＡＮフレームでは、８バイトのデータフィールドの中に、ＣＡＮ−ＩＤの変更に関する各種情報が設定されてもよい。ＣＡＮ−ＩＤの変更に関する情報は、以下の（１）〜（５）を含んでもよい。（１）特定ＥＣＵの変更前のＣＡＮ−ＩＤ値。（２）ＣＡＮ−ＩＤの変更有無。（３）変更に使用するアルゴリズムに関する情報（アルゴリズムの識別情報等）。（４）変更に使用するデータベースに関する情報（データベースの識別情報等）。（５）同期タイミング（ＣＡＮ−ＩＤの変更タイミング等）。
【００５０】
図７は、第２実施例のＥＣＵ１４の動作を示すフローチャートである。この動作は、ＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃに共通である。図７のＳ３０〜Ｓ３４の処理は、図５のＳ１０、Ｓ１２、Ｓ２６の処理と同じであるため説明を省略する。また、図７のＳ３８〜Ｓ４４、Ｓ４８、Ｓ５２の処理は、図５のＳ１４〜Ｓ２４と同じであるため説明を省略する。
【００５１】
ＩＤ変更部３４が、特定ＥＣＵに対応するＣＡＮ−ＩＤを変更した場合（Ｓ４８）、変更通知部３６は、特定ＥＣＵのＣＡＮ−ＩＤを変更したことを示す変更通知のフレームをＣＡＮバス１６へ送信する（Ｓ５０）。
【００５２】
受信フレームのＣＡＮ−ＩＤが変更通知を示す値でなければ（Ｓ３６のＮ）、Ｓ３８へ進む。受信フレームのＣＡＮ−ＩＤが変更通知を示す値であれば（Ｓ３６のＹ）、ＩＤ変更部３４は、特定ＥＣＵに対応するＣＡＮ−ＩＤを自装置で変更済みか否かを確認する。特定ＥＣＵに対応するＣＡＮ−ＩＤを未変更であれば（Ｓ４６のＮ）、Ｓ４８へ進み、特定ＥＣＵに対応するＣＡＮ−ＩＤを新たな値へ変更する。ただし、変更通知の受信を契機としてＣＡＮ−ＩＤを変更した場合、Ｓ５０の通知処理をスキップする。特定ＥＣＵに対応するＣＡＮ−ＩＤを変更済みであれば（Ｓ４６のＹ）、Ｓ４８およびＳ５０をスキップして、Ｓ５２へ進む。
【００５３】
以上、本発明を第１実施例および第２実施例をもとに説明した。これらの実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。以上の実施例によれば、車両に搭載された電子制御装置間の通信を維持しつつ、セキュリティを向上させることができる。また、セキュリティ攻撃等により、セキュリティ対応をしていないＥＣＵが車載ネットワークシステムに混在することになった場合、セキュリティ情報の書き換え自体ができないため、車載ネットワーク全体としてのセキュリティ向上の効果が期待できなかったが、上記の実施例によれば、セキュリティ情報を書き換えることなくセキュリティ向上を図ることができる。
【００５４】
実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
車載ネットワークに接続された複数の電子制御装置を備え、
前記複数の電子制御装置のそれぞれは、
前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、
前記車載ネットワークからフレームを受信する受信部と、
前記受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、
前記判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する変更部と、を含む車載ネットワークシステム。
この車載ネットワークシステムによると、不正なフレームを検出した電子制御装置のそれぞれが、他の電子制御装置と共通のアルゴリズムを実装した変更プログラムに基づいて、なりすましされた特定の電子制御装置に対応するＩＤをそれまでとは別のＩＤ（複数の電子制御装置間で同じＩＤ）に変更する。これにより、なりすましされた特定の電子制御装置との通信を維持しつつ、なりすまし側の不正装置との通信を遮断することができる。
［項目２］
前記判定部は、前記受信部により受信されたフレームに付与されたＩＤが、自装置に対応するＩＤである場合、当該フレームが不正な装置から送信されたものと判定する、
項目１に記載の車載ネットワークシステム。
この態様によると、自装置になりすまそうとする不正装置の存在を検出して、ＩＤ変更を実現できる。
［項目３］
前記判定部は、前記受信部により受信されたフレームと同じＩＤのフレームの受信頻度が所定値を上回る場合、当該フレームが不正な装置から送信されたものと判定する、
項目１または２に記載の車載ネットワークシステム。
この態様によると、他装置になりすまそうとする不正装置の存在を検出して、ＩＤ変更を実現できる。
［項目４］
車載ネットワークに接続された複数の電子制御装置を備える車載ネットワークシステムで用いられる電子制御装置であって、
前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部と、
前記車載ネットワークからフレームを受信する受信部と、
前記受信部により受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定する判定部と、
前記判定部により不正な装置から送信されたと判定されたフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する変更部と、を含む電子制御装置。
この電子制御装置によると、不正なフレームを検出した場合、他の電子制御装置と共通のアルゴリズムを実装した変更プログラムに基づいて、なりすましされた特定の電子制御装置に対応するＩＤをそれまでとは別のＩＤ（複数の電子制御装置間で同じＩＤ）に変更する。これにより、なりすましされた特定の電子制御装置との通信を維持しつつ、なりすまし側の不正装置との通信を遮断することができる。
［項目５］
車載ネットワークに接続された複数の電子制御装置が実行する通信方法であって、
前記複数の電子制御装置のそれぞれは、前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部を備え、
前記複数の電子制御装置のそれぞれが、
前記車載ネットワークからフレームを受信し、
受信したフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定し、
前記不正な装置から送信されたと判定したフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する、通信方法。
この通信方法によると、項目１と同様に、なりすましされた特定の電子制御装置との通信を維持しつつ、なりすまし側の不正装置との通信を遮断することができる。
［項目６］
車載ネットワークに接続された複数の電子制御装置により実行されるコンピュータプログラムであって、
前記複数の電子制御装置のそれぞれは、前記車載ネットワークを流れるフレームに付与され、前記複数の電子制御装置のうち特定の電子制御装置に対応するＩＤを、第１ＩＤから第１ＩＤとは異なる第２ＩＤへ変更するためのアルゴリズムであって、前記複数の電子制御装置間で共通のアルゴリズムに基づく変更プログラムを記憶する記憶部を備え、
前記複数の電子制御装置のそれぞれに、
前記車載ネットワークから受信されたフレームに付与されたＩＤに基づいて、当該フレームが不正な装置から送信されたものか否かを判定し、
前記不正な装置から送信されたと判定したフレームに付与されたＩＤが前記第１ＩＤである場合、前記記憶部に記憶された変更プログラムに基づいて、前記特定の電子制御装置に対応するＩＤを前記第１ＩＤから前記第２ＩＤへ変更する、ことを実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、項目１と同様に、なりすましされた特定の電子制御装置との通信を維持しつつ、なりすまし側の不正装置との通信を遮断することができる。
【００５５】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００５６】
１０  車両、  １２  車載ネットワークシステム、  １４  ＥＣＵ、  １６  ＣＡＮバス、  ２４  変更規則記憶部、  ２６  通信部、  ２８  判定部、  ３４  ＩＤ変更部。
【図１】
2018166309.tif 000003
【図２】
2018166309.tif 000004
【図３】
2018166309.tif 000005
【図４】
2018166309.tif 000006
【図５】
2018166309.tif 000007
【図６】
2018166309.tif 000008
【図７】
2018166309.tif 000009