(57)【要約】【課題】通信システムのセキュリティを向上させる。【解決手段】ＣＧＷ２０は、第１判定として、ＣＡＮ２４から取得されたフレームに対するメッセージ認証の結果に基づいて、当該フレームが不正かを判定する。ＣＧＷ２０は、第２判定として、ＣＡＮ２４から取得されたフレームの態様と予め定められたルールとに基づいて、当該フレームが不正かを判定する。ＣＧＷ２０は、第１判定結果と第２判定結果の組み合わせに応じて、ＣＡＮ２４から取得されたフレームに関する不正対策処理と、フレームの送信元装置に関する不正対策処理の少なくとも一方を実行する。【選択図】図１
2018117254.tif 000002
【特許請求の範囲】
【請求項１】
通信網からフレームを受信する受信部と、
前記フレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第１判定と、前記フレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第２判定とを行い、前記第１判定の結果と前記第２判定の結果との組み合わせに応じて、前記フレームに関する処理と前記フレームの送信元装置に関する処理の少なくとも一方を実行する処理部と、
を備える監視装置。
【請求項２】
前記第１判定により判定対象フレームが正当と判定され、前記第２判定により前記判定対象フレームが不正と判定された場合、または、前記第１判定により前記判定対象フレームが不正と判定され、前記第２判定により前記判定対象フレームが不正と判定された場合、前記処理部は、前記判定対象フレームを破棄または無効化する処理を実行する、請求項１に記載の監視装置。
【請求項３】
前記第１判定により判定対象フレームが正当と判定され、前記第２判定により前記判定対象フレームが不正と判定された場合、または、前記第１判定により前記判定対象フレームが不正と判定され、前記第２判定により前記判定対象フレームが不正と判定された場合に、
複数の送信元装置から送信された複数のフレームにおける不正有無に基づいて、前記複数の送信元装置の中から不正対策の対象装置を検出し、
（１）前記対象装置から送信されるフレームを破棄または無効化する処理、
（２）前記対象装置におけるコンピュータプログラムを更新する処理、
（３）前記対象装置以外の送信元装置における前記メッセージ認証の鍵を更新する処理、
（４）前記対象装置が接続された前記通信網のバスから受信されたフレームを破棄または無効化する処理、
のうち少なくとも１つを実行する、請求項１または２に記載の監視装置。
【請求項４】
前記第１判定により判定対象フレームが正当と判定され、前記第２判定により前記判定対象フレームが不正と判定された場合であり、かつ、前記判定対象フレームが、所定の送信元装置以外から送信されたフレームが流れるバスから受信されたものであるとき、前記処理部は、前記所定の送信元装置における前記メッセージ認証の鍵を更新する処理を実行する、請求項１または２に記載の監視装置。
【請求項５】
前記第１判定により判定対象フレームが不正と判定され、前記第２判定により前記判定対象フレームが正当と判定された場合に、前記処理部は、少なくとも前記判定対象フレームに関するログデータを保存する、請求項１から４のいずれかに記載の監視装置。
【請求項６】
前記処理部は、判定対象フレームの態様と前記ルールとの乖離の度合いに応じて、前記判定対象フレームを正当、不正、グレーのいずれかに分類し、前記判定対象フレームがグレーに分類された場合、少なくとも前記判定対象フレームに関するログデータを保存する、請求項１から５のいずれかに記載の監視装置。
【請求項７】
前記監視装置は、車両に搭載された電子制御ユニットであり、
前記処理部は、車載ネットワークにおける所定のゲートウェイ装置を経由して伝送されたフレームが前記第２判定により不正と判定された場合、前記車両の自動運転のモードをフェイルセーフモードへ切り替える、請求項１から６のいずれかに記載の監視装置。
【請求項８】
通信網からフレームを受信し、
前記受信されたフレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第１判定と、
前記受信されたフレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第２判定と、を行い、
前記第１判定の結果と前記第２判定の結果との組み合わせに応じて、前記受信されたフレームに関する処理と前記受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、
ことをコンピュータが実行する監視方法。
【請求項９】
通信網からフレームを受信し、
前記受信されたフレームに対するメッセージ認証の結果に基づいて前記フレームが不正かを判定する第１判定と、
前記受信されたフレームの態様と予め定められたルールとに基づいて前記フレームが不正かを判定する第２判定と、を行い、
前記第１判定の結果と前記第２判定の結果との組み合わせに応じて、前記フレームに関する処理と前記フレームの送信元装置に関する処理の少なくとも一方を実行する、
ことをコンピュータに実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータ処理技術に関し、特に監視装置、監視方法およびコンピュータプログラムに関する。
【背景技術】
【０００２】
近年、自動車には、多数の電子制御ユニット（Electronic Control Unit、以下「ＥＣＵ」と呼ぶ。）が搭載されている。これらのＥＣＵを繋ぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには多数の規格が存在するが、広く普及した規格としてＣＡＮ（Controller Area Network）がある。
【０００３】
自動車の電動化に伴い、車載ネットワーク経由でステアリング等のアクチュエータを制御することが可能である。一方で、車載ネットワークで不正コマンドが伝送されることによるアクチュエータの不正操作等を防止するため、メッセージ認証コード（Message Authentication Code、以下「ＭＡＣ」と呼ぶ。）を用いたメッセージ認証が実行されることがある（例えば特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１３／０６５６８９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、メッセージ認証を実行する場合も、ＭＡＣの鍵が漏洩するリスクがあり、また、ＭＡＣ対応のＥＣＵごと不正者に乗っ取られるリスクもある。本発明者は、通信システムにおけるセキュリティの一層の向上が必要であると考えた。
【０００６】
本願発明は上記課題に鑑みたもので、１つの目的は、通信システムのセキュリティを向上させることである。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明のある態様の監視装置は、通信網からフレームを受信する受信部と、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第１判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第２判定とを行い、第１判定の結果と第２判定の結果との組み合わせに応じて、フレームに関する処理とフレームの送信元装置に関する処理の少なくとも一方を実行する処理部と、を備える。
【０００８】
本発明の別の態様は、監視方法である。この方法は、通信網からフレームを受信し、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第１判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第２判定と、を行い、第１判定の結果と第２判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータが実行する。
【０００９】
なお、以上の構成要素の任意の組合せ、本発明の表現を、コンピュータプログラム、コンピュータプログラムを記録した記録媒体、本装置を搭載した車両などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１０】
本発明によれば、通信システムのセキュリティを向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】実施例の車載ネットワークシステムの構成を示す図である。
【図２】図１のＣＧＷの機能構成を示すブロック図である。
【図３】図１のＥＣＵの機能構成を示すブロック図である。
【図４】不正検出パターン別の不正対策を示す図である。
【図５】図１のＣＧＷの動作を示すフローチャートである。
【図６】図１のＥＣＵの動作を示すフローチャートである。
【図７】変形例のＣＧＷのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１２】
実施例の詳細な構成を説明する前にまず概要を述べる。実施例の車載ネットワークシステムでは、ＭＡＣを用いたメッセージ認証（以下「ＭＡＣ検証」とも呼ぶ。）と、車載ネットワークを流れるフレーム（言い換えればコマンド）に対する振る舞い検証を併用する。振る舞い検証は、振る舞い検知技術と言え、侵入検知技術とも言える。振る舞い検証には、例えば「特開２０１４−１４６８６８号公報」に記載された技術を適用してもよい。実施例の車載ネットワークシステムでは、ＭＡＣ検証の結果と、振る舞い検証の結果の両方を総合的に判断して、不正対策アクション（言い換えれば防御アクション）を実行する。
【００１３】
図１は、実施例の車載ネットワークシステムの構成を示す。実施例の車載ネットワークシステム１２は、車両１０に構築された通信システムであり、車載ネットワークにおける不正検知システムとしての機能を備える。車載ネットワークシステム１２は、ＥＣＵ１４で総称されるＥＣＵ１４ａ、ＥＣＵ１４ｂ、ＥＣＵ１４ｃ、ＥＣＵ１４ｄ、ＩＶＩ装置１６、ＯＢＤアダプタ１８、ＣＧＷ２０、ＣＭＩ２２を備える。これらの装置はＣＡＮ２４を介して接続される。
【００１４】
複数のＥＣＵ１４のそれぞれは、不図示のセンサまたはアクチュエータに接続され、センサによる検知内容を示すフレームをＣＡＮ２４へ送信し、または、ＣＡＮ２４から受信したフレームが示すコマンドに基づいてアクチュエータを制御する。ＣＡＮ２４の複数のバスのうちパワートレインバス２６ａに接続されるＥＣＵ１４ａは、例えばエンジンＥＣＵである。また、運転支援バス２６ｂに接続されるＥＣＵ１４ｂは、例えばステアリングＥＣＵである。また、シャーシバス２６ｃに接続されるＥＣＵ１４ｃは、例えばサスペンションＥＣＵである。また、ボディバス２６ｄに接続されるＥＣＵ１４ｄは、例えばパワーウィンドウＥＣＵである。
【００１５】
ＩＶＩ（In-Vehicle Infotainment）装置１６は、様々な情報を乗員へ提示する情報機器であり、例えばカーナビゲーション装置である。ＩＶＩ装置１６は、車両１０外部の通信網（インターネット等）である外部通信網２８と接続される。車両１０は、外部通信網２８を介してルール生成装置２９と接続される。ルール生成装置２９は、後述の振る舞いルールを生成するサーバである。ＯＢＤアダプタ１８は、ＣＡＮ２４を流れる様々な情報、例えば車両１０の動作状態を示す情報を外部装置へ出力するアダプタである。ＩＶＩ装置１６およびＯＢＤアダプタ１８は、ＣＡＮ２４の複数のバスのうち外部バス２６ｅに接続される。外部バス２６ｅは、ＥＣＵ１４以外の装置から送信されたフレームが流れるバスである。外部バス２６ｅを流れるフレームは、例えば、外部通信網２８側の装置から送信されたフレーム、および、ＯＢＤアダプタ１８に接続された装置から送信されたフレームを含む。
【００１６】
ＣＧＷ（Central GateWay）２０は、ＣＡＮ２４の複数のバスに接続され、バス間でのフレームの中継処理およびルーティング処理を実行するゲートウェイＥＣＵである。ＣＭＩ（Centralized Monitoring and Interceptor）２２は、ＣＡＮ２４の複数のバスに接続され、各バスを流れるフレームを監視するＥＣＵである。変形例として、ＣＭＩ２２がＣＡＮ２４に非接続の構成であってもよく、言い換えれば、車載ネットワークシステム１２は、ＣＭＩ２２を備えなくてもよい。
【００１７】
実施例では、ＭＡＣを用いたメッセージ認証に対応する複数の装置に監視モジュールが導入される。具体的には、ＣＧＷ２０と一部のＥＣＵ１４に監視モジュールが導入される。監視モジュールが導入されたＣＧＷ２０とＥＣＵ１４は、ＣＡＮ２４を流れる不正フレーム（言い換えれば不正コマンド）を監視し、不正対策を実行する監視装置として機能する。変形例として、（１）ＣＧＷ２０にのみ監視モジュールを導入する構成でもよく、（２）ＣＭＩ２２にのみ監視モジュールを導入する構成でもよく、（３）ＭＡＣを用いたメッセージ認証に対応するＥＣＵ１４にのみ監視モジュールを導入する構成でもよい。
【００１８】
図２は、図１のＣＧＷ２０の機能構成を示すブロック図である。ＣＧＷ２０は、フレーム受信部３０、フレーム送信部３２、ＭＡＣ検証部３４、振る舞い検証部３６、不正対策部３８を備える。なお、図１のＣＭＩ２２が監視モジュールを備える場合、ＣＭＩ２２の機能構成は図２と同様になる。また、ＭＡＣ検証部３４、振る舞い検証部３６、不正対策部３８を含めて、監視モジュールとして１つの処理部を構成してもよい。
【００１９】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。例えば、図２の各ブロックに対応するモジュールを含むコンピュータプログラムがＣＧＷ２０のメモリに格納されてもよい。ＣＧＷ２０のＣＰＵは、そのコンピュータプログラムを適宜読み出して実行することにより、各ブロックの機能を発揮してもよい。
【００２０】
フレーム受信部３０は、ＣＡＮ２４の各バスからフレームを受信する。フレーム受信部３０は、受信したフレームのデータを、当該フレームを受信したバスの識別情報とともにＭＡＣ検証部３４、振る舞い検証部３６を経て、不正対策部３８へ入力する。フレーム送信部３２は、ＣＡＮ２４の各バスへフレームを送信する。例えば、フレーム送信部３２は、あるバスから受信したフレームを、そのバスを除く他のバスへ転送する。
【００２１】
ＭＡＣ検証部３４は、フレーム受信部３０により受信されたフレーム（以下「対象フレーム」とも呼ぶ。）に対するメッセージ認証を実行する。例えば、ＭＡＣ検証部３４は、予め定められたメッセージ認証用の共通鍵（以下「ＭＡＣ鍵」と呼ぶ。）に基づいてＭＡＣを生成する。ＭＡＣ検証部３４は、生成したＭＡＣと、予め送信元装置（例えばＥＣＵ１４）が対象フレームに付加したＭＡＣとを比較する。ＭＡＣ検証部３４は、両者のＭＡＣが一致する場合、メッセージ認証に成功したと判定し、両者のＭＡＣが不一致の場合、メッセージ認証に失敗したと判定する。ＭＡＣ検証部３４は、メッセージ認証に成功した場合、対象フレームを正当と判定し、メッセージ認証に失敗した場合、対象フレームを不正と判定する。
【００２２】
振る舞い検証部３６は、振る舞い検証処理として、対象フレームの態様と予め定められた振る舞いルールとに基づいて、対象フレームが不正か否かを判定する。振る舞い検証部３６は、ルール生成装置２９から提供された振る舞いルールを所定の記憶領域に保持する。振る舞いルールは、フレーム（言い換えればメッセージ）のフォーマットに関する規定を含む。フォーマットに関する規定は、具体的には、ＩＤ・ＤＬＣ（データ長コード）・ペイロード等における固定値の規定を含む。例えば、振る舞いルールは、フレームの所定位置に特定の固定値が設定されることを規定してもよい。
【００２３】
また、振る舞いルールは、フレームの振る舞いに関する規定を含む。振る舞いに関する規定は、具体的には、周期・頻度・ペイロードに関する可変値の規定を含む。例えば、振る舞いルールは、複数のＩＤ（フレームＩＤとも言え、ＣＡＮ−ＩＤとも言える）のそれぞれについて、前回のフレーム受信から今回のフレーム受信までの時間間隔の範囲または差分の規定を含んでもよい。また、振る舞いルールは、フレームＩＤごとに、ペイロードの所定位置に設定されたデータ項目、または、ペイロード内の所定名称のデータ項目について、前回受信したフレームからの差分の制限（許容する範囲等）を含んでもよい。
【００２４】
なお、振る舞いルールは、ブラックリストとホワイトリストのいずれも含みうる。振る舞い検証部３６は、対象フレームがブラックリストとしてのルールを充足する場合、対象フレームを不正と判定する。また、振る舞い検証部３６は、対象フレームがホワイトリストとしてのルールから逸脱する場合、対象フレームを不正と判定する。
【００２５】
不正対策部３８は、ＭＡＣ検証部３４による不正判定結果と、振る舞い検証部３６による不正判定結果との組み合わせに応じて、対象フレームに関する処理（「コマンド対策」とも呼ぶ。）と、フレームの送信元装置に関する処理（「ＥＣＵ対策」とも呼ぶ。）の少なくとも一方を実行する。なお、不正対策部３８は、ＭＡＣ検証と振る舞い検証の両方で対象フレームが正当と判定された場合、対象フレームをフレーム送信部３２に渡してＣＡＮ２４へ送信させる。
【００２６】
不正対策部３８は、無効化部４０、受信フレーム記憶部４２、ログ保存部４４、ルール更新部４６、構成情報記憶部４８、対象検出部５０、プログラム更新部５２、鍵更新部５４を含む。
【００２７】
無効化部４０は、対象フレームの無効化処理として、ＣＡＮ２４のバス上に存在する対象フレームを消去する処理を実行する。具体的には、無効化部４０は、対象フレームに対するエラーフレームを生成し、フレーム送信部３２からＣＡＮ２４へエラーフレームを出力させる。これにより、ＣＡＮ２４上の他の装置（ＥＣＵ１４等）における対象フレームも無効にする。フレームの無効化処理には、非特許文献「T. Matsumoto, M. Hata, M. Tanabe, K. Yoshioka, and K. Oishi, "A Method of Preventing Unauthorized Data Transmission in Controller Area Network,"Vehiclular Technology Conference, 2012.」に記載の技術を適用してもよい。実施例のＣＧＷ２０は、不正なフレームに対して無効化処理を実行するが、後述のＥＣＵ１４と同様に、不正なフレームに対して破棄処理（言い換えればフィルタ処理）を実行してもよい。
【００２８】
受信フレーム記憶部４２は、フレーム受信部３０により受信された複数のフレームを所定の記憶領域に記憶させ、蓄積する。受信フレーム記憶部４２は、受信されてから所定時間（３０分等）が経過したフレームを記憶領域から順次消去しても良い。受信フレーム記憶部４２は、フレームのデータと、そのフレームに対するＭＡＣ検証部３４による判定結果と振る舞い検証部３６による判定結果を対応付けて蓄積してもよい。
【００２９】
ログ保存部４４は、ＭＡＣ検証部３４により対象フレームが不正と判定され、振る舞い検証部３６により対象フレームが正当と判定された場合に、少なくとも対象フレームに関するログデータを保存する。そして、オフライン上で（例えばディーラーでのメンテナンスにおいて）、保存されたログデータを収集し、上記判定結果をルール生成装置２９へ送信する。これにより、ルール生成装置２９は、振る舞い検証において対象フレームが不正と判断されるように、振る舞いルールを更新する。具体的には、ログ保存部４４は、受信フレーム記憶部４２に保持されたフレームのうち対象フレームとＩＤが一致する過去のフレームと、対象フレームとを含むルール更新指示データをログデータとして保存する。例えば、対象フレームと過去のフレームはともに、ステアリングの制御コマンドを指定し、かつ、ステアリングの回動角度を指定するものであってもよい。
【００３０】
過去のフレームは、ＭＡＣ検証部３４による判定結果と振る舞い検証部３６による判定結果の組み合わせが対象フレームとは異なるフレームであってもよい。そのため、過去のフレームを含めてルール生成装置２９へ提供することにより、ルール生成装置２９による振る舞いルール更新を支援できる。また、ログ保存部４４は、過去のフレームと対象フレームそれぞれの、ＭＡＣ検証部３４による判定結果と振る舞い検証部３６による判定結果を、ログデータとしてルール更新指示データに含めてもよい。また、対象フレームより後に受信されたフレームのうち対象フレームとＩＤが一致するフレームをルール更新データに含めてもよい。
【００３１】
ルール生成装置２９は、生成または更新した振る舞いルールを外部通信網２８を介して車両１０へ配信する。ルール更新部４６は、ルール生成装置２９から提供された振る舞いルールをＣＡＮ２４を介して取得する。そしてルール更新部４６は、取得した振る舞いルールを振る舞い検証部３６に渡し、振る舞い検証部３６が保持する振る舞いルールを更新させる。
【００３２】
構成情報記憶部４８は、ＣＡＮ２４の様々な構成要素に関する属性情報（ここでは「構成情報」と呼ぶ。）を記憶する。実施例の構成情報は、複数のＥＣＵ１４のそれぞれが接続されたバスの識別情報と、複数のＥＣＵ１４のそれぞれが送信するフレームのＩＤとを含む。
【００３３】
対象検出部５０は、複数のＥＣＵ１４から送信された複数のフレームにおける不正有無に基づいて、複数のＥＣＵ１４の中から不正対策の対象となるＥＣＵ（以下「対象ＥＣＵ」と呼ぶ。）を検出する。対象検出部５０は、各ＥＣＵ１４から送信されたフレームの不正率または不正回数に基づいて、対象ＥＣＵを検出してもよい。対象ＥＣＵは、不正なＥＣＵともいえ、不正者により乗っ取られたＥＣＵとも言える。
【００３４】
実施例の対象検出部５０は、ＭＡＣ検証と振る舞い検証の少なくとも一方で不正と判定されたフレームについて、ＩＤごとの不正判定回数を蓄積する。対象検出部５０は、不正判定回数が予め定められた閾値（例えば５回）以上になったＩＤを検出し、構成情報記憶部４８を参照して、そのＩＤのフレームを送信するＥＣＵ１４を対象ＥＣＵとして検出する。
【００３５】
以下、ＥＣＵ対策のための４種類の構成を説明するが、実際にはいずれか１つの対策が実行されてもよく、２つ以上の対策の組み合わせが実行されてもよい。
【００３６】
（１）無効化部４０は、構成情報記憶部４８を参照して、対象ＥＣＵから送信されうる全てのＩＤのフレームを無効化する処理を実行する。（２）無効化部４０は、構成情報記憶部４８を参照して、対象ＥＣＵが接続されたＣＡＮ２４のバスを識別し、識別したバスからフレーム受信部３０が受信した全てのフレームを無効化する処理を実行する。
【００３７】
（３）プログラム更新部５２は、対象ＥＣＵのＲＯＭに格納されたコンピュータプログラムを更新させるための処理（すなわちリプログラミング）を実行する。例えば、ＣＧＷ２０は、個々のＥＣＵ１４ごとの正規のプログラムを予め保持し、プログラム更新部５２は、対象ＥＣＵ用の正規のプログラムを、対象ＥＣＵのＲＯＭに上書き保存してもよい。また、プログラム更新部５２は、対象ＥＣＵ用の正規のプログラムを、外部通信網２８を介して外部のサーバから取得し、対象ＥＣＵのＲＯＭに上書き保存してもよい。
【００３８】
（４）鍵更新部５４は、複数のＥＣＵ１４に亘り使用される共通鍵であるＭＡＣ鍵を更新する。鍵更新部５４は、更新したＭＡＣ鍵を複数のＥＣＵ１４へ配布する。後述するように、ＭＡＣ検証の結果と振る舞い検証の結果の組み合わせに応じて、鍵更新部５４は、全てのＥＣＵ１４へ更新したＭＡＣ鍵を送信して、全てのＥＣＵ１４が使用するＭＡＣ鍵を変更させる。または、鍵更新部５４は、対象ＥＣＵを除く残りのＥＣＵ１４へ更新したＭＡＣ鍵を送信して、対象ＥＣＵ以外のＥＣＵ１４が使用するＭＡＣ鍵を変更させる。なお、鍵更新部５４は、予め定められたＥＵＣごとに異なる鍵（ＭＡＣ鍵とは異なる鍵）を使用して暗号化したＭＡＣ鍵を各ＥＣＵへ配布してもよい。
【００３９】
実施例では、鍵更新部５４は、ＭＡＣ検証部３４により対象フレームが正当と判定され、振る舞い検証部３６により対象フレームが不正と判定された場合であり、かつ、対象フレームが、ＥＣＵ１４以外から送信されたフレームが流れるバス（実施例では外部バス２６ｅ）から受信されたものであるとき、全てのＥＣＵ１４が使用するＭＡＣ鍵を更新する。この判定の場合、ＭＡＣ検証は成功したため、ＭＡＣ鍵が漏洩している可能性がある。また、不正フレームは外部から注入されたものである。そこで、全てのＥＣＵ１４が使用するＭＡＣ鍵を更新することで、ＭＡＣ鍵の漏洩リスクを解消し、セキュリティを向上させる。
【００４０】
その一方、不正フレームが外部バス２６ｅ以外のバス（パワートレインバス２６ａ等）から受信された場合、対象ＥＣＵが不正者により乗っ取られ、さらにＭＡＣ鍵を不正者が使用可能である状況が想定される。そこで、不正フレームが外部バス２６ｅ以外のバスから受信された場合、鍵更新部５４は、対象ＥＣＵ以外のＥＣＵ１４が使用するＭＡＣ鍵を更新する。
【００４１】
図３は、図１のＥＣＵ１４の機能構成を示すブロック図である。図３では、図１の複数のＥＣＵ１４のうちＭＡＣを用いたメッセージ認証に対応するＥＣＵ１４の機能構成を示している。また、図３では、図２で説明したＣＧＷ２０の機能ブロックと同一または対応する機能ブロックに同一の符号を付している。以下、図２に関連して説明済みの内容は適宜省略する。
【００４２】
ＥＣＵ１４は、フレーム受信部３０、フレーム送信部３２、ＭＡＣ検証部３４、振る舞い検証部３６、不正対策部３８、コマンド実行部５６、フレーム生成部５８を備える。コマンド実行部５６は、フレームで指定されたコマンドを実行する。例えば、コマンド実行部５６は、自ＥＣＵに接続されたアクチュエータをコマンドにしたがって制御する。フレーム生成部５８は、外部装置（例えば他のＥＣＵ１４）に対するコマンドを指定したフレームを生成し、生成したフレームをフレーム送信部３２に渡して送信させる。
【００４３】
ＥＣＵ１４の不正対策部３８は、受信フレーム記憶部４２、ログ保存部４４、ルール更新部４６、構成情報記憶部４８、対象検出部５０、プログラム更新部５２、鍵更新部５４、フィルタ部６０、モード切替部６２を含む。フィルタ部６０は、ＣＧＷ２０における無効化部４０に対応し、ＥＣＵ１４のコマンド対策を実行する。具体的には、フィルタ部６０は、不正と判定された対象フレームを破棄し、言い換えれば、対象フレームで指定されたコマンドを破棄する。例えば、フィルタ部６０は、対象フレームのデータをＥＣＵ１４内部のメモリ（不図示）から消去してもよい。
【００４４】
また、ＥＣＵ１４は、既述したＥＣＵ対策を実行する。ただし、実施例のＣＧＷ２０におけるＥＣＵ対策（１）（２）ではフレームの無効化処理を実行したが、ＥＣＵ１４におけるＥＣＵ対策（１）（２）ではフレームの廃棄処理、言い換えればフィルタ処理を実行する。ＥＣＵ対策（３）（４）はＣＧＷ２０と同様である。
【００４５】
モード切替部６２は、ＣＧＷ２０を経由して伝送されたフレームが振る舞い検証で不正と判定された場合、複数のバスに接続して車載ネットワークの要であるＣＧＷ２０のセキュリティ機能が突破されている状態であると判断し、車両１０の自動運転のモードをフェイルセーフモードへ切り替える。例えば、モード切替部６２は、構成情報記憶部４８を参照して、不正と判定された対象フレームのＩＤに基づいて送信元のＥＣＵ１４を特定してもよい。そして、送信元のＥＣＵ１４が、自ＥＣＵが接続されたバスとは異なるバスに接続されたものである場合に、モード切替部６２は、対象フレームがＣＧＷ２０により中継されたと判定してもよい。また、フェイルセーフモードは、自動運転制御（言い換えれば電動による運転支援処理）をオフにした状態であってもよい。
【００４６】
ＣＧＷ２０を経由して伝送されたフレームが不正であることは、ＣＧＷ２０が不正者に乗っ取られた可能性が高いことを意味する。ＣＡＮ２４におけるＣＧＷ２０は、複数のＥＣＵ１４間の通信の基盤であり、ＣＧＷ２０が乗っ取られたことはセキュリティ上、重大な問題である。そこで、実施例のモード切替部６２は、ＣＧＷ２０を経由して伝送されたフレームが不正である場合に自動運転をフェイルセーフモードへ移行させることで、車両運転の安全性を一層高める。なお、ＣＭＩ２２に監視モジュールが導入される場合、ＣＭＩ２２は、モード切替部６２を備えてもよい。
【００４７】
変形例として、ＣＧＷ２０を経由して伝送されたフレームが不正である場合に限らず、車載ネットワークシステム１２のセキュリティの根幹装置から送信されたフレームが不正である場合に、モード切替部６２は、車両１０の自動運転のモードをフェイルセーフモードへ切り替えてもよい。セキュリティの根幹装置は、例えば、個々のＥＣＵ１４ごとの鍵を保持し、ＥＣＵごとの鍵で暗号化したＭＡＣ鍵を各ＥＣＵ１４へ配布する装置（ＣＧＷ２０、ＥＣＵ１４等）が該当する。モード切替部６２は、構成情報記憶部４８を参照して、不正と判定された対象フレームのＩＤに基づいて、対象フレームの送信元がセキュリティの根幹装置かを判定してもよい。
【００４８】
図４は、不正検出パターン別の不正対策を示す。ここでは、監視モジュールが導入されうる装置（ＥＣＵ１４、ＣＧＷ２０、ＣＭＩ２２）を総称して「監視装置」と呼ぶ。図４のコマンド対策欄では、監視装置がＥＣＵ１４、ＣＧＷ２０、ＣＭＩ２２の場合の処理をそれぞれ示している。
【００４９】
ＭＡＣ検証で対象フレームが正当と判定され、振る舞い検証で対象フレームが不正と判定された場合（パターン１およびパターン５）、または、ＭＡＣ検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが不正と判定された場合（パターン２）、監視装置の不正対策部３８は、コマンド対策として、対象フレームを破棄または無効化する。なお、パターン２において、ＥＣＵ１４でのコマンド対策が「なし」であるのは、メッセージ認証に対応するＥＣＵ１４では、通常、ＭＡＣ検証のＮＧに伴いエラー処理が実行されるからである。また、パターン２において、ＣＧＷ２０のコマンド対策が無効化であるのは、ＤｏＳ攻撃（Denial of Service attack）への対策として有効だからである。
【００５０】
パターン１およびパターン２の場合、不正対策部３８は、４種類のＥＵＣ対策のうち１つまたは複数を実行する。パターン５の場合、不正対策部３８は、ＥＵＣ対策として、全てのＥＣＵ１４のＭＡＣ鍵を更新する。
【００５１】
ＭＡＣ検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合（パターン６）、監視装置の不正対策部３８は、対象フレームとその前後のフレームを含むルール更新指示データをログデータとして保存することにより、ルール生成装置２９に対象フレームとその前後のフレームに基づいて振る舞いルールを更新させる。例えば、ルール生成装置２９は、監視装置が再度対象フレームを受け付けた場合、振る舞い検証において不正を検出するように振る舞いルールを更新する。
【００５２】
図４のパターン３とパターン４は、ＭＡＣを用いたメッセージ認証に対応しないＥＣＵ１４から送信されたフレームが不正であるパターンである。すなわち、フレームにＭＡＣが付加されないためＭＡＣ検証はできず、振る舞い検証にて不正が検出されたパターンである。なお、パターン３は、不正と判定された対象フレームがＥＣＵ１４から送信されたパターンであり、パターン４は、不正と判定された対象フレームが外部から注入された（言い換えれば外部バス２６ｅから受信された）パターンである。
【００５３】
パターン３とパターン４のいずれでも、監視装置の不正対策部３８は、コマンド対策として、対象フレームを破棄または無効化する。パターン４は、不正フレームが外部注入された状況であり、ＭＡＣ鍵の漏洩はないため、ＥＣＵ対策は実行しない。その一方、パターン３では対象ＥＣＵが乗っ取られた可能性が高いため、不正対策部３８は、パターン１等と同様のＥＣＵ対策を実行する。
【００５４】
以上の構成による車載ネットワークシステム１２の動作を説明する。図５は、図１のＣＧＷ２０の動作を示すフローチャートである。フレーム受信部３０は、ＣＡＮ２４からフレームを受信する（Ｓ１０）。ＭＡＣ検証部３４は、受信された対象フレームに対するＭＡＣ検証を実行して、対象フレームが正当か不正かを判定する（Ｓ１２）。振る舞い検証部３６は、受信された対象フレームに対する振る舞い検証を実行して、対象フレームが正当か不正かを判定する（Ｓ１４）。なお、Ｓ１２とＳ１４の実行順序に制限はなく、並行して実行してもよい。
【００５５】
ＭＡＣ検証と振る舞い検証の両方で対象フレームが正当と判定された場合（Ｓ１６のＹ）、不正対策部３８は、対象フレームをフレーム送信部３２に渡し、フレーム送信部３２は、フレームＩＤ、転送元バス、転送先バスを対応付けたルーティングテーブルにしたがって、対象フレームを転送する（Ｓ１８）。ＭＡＣ検証で対象フレームが不正と判定され、振る舞い検証で対象フレームが正当と判定された場合（Ｓ１６のＮ、Ｓ２０のＹ）、不正対策部３８は、ルール生成装置２９に振る舞いルールを更新させるためのログデータであり、対象フレームとその前後のフレームを含むログデータを保存する（Ｓ２２）。ＭＡＣ検証結果が不正かつ振る舞い検証結果が不正となった場合、または、ＭＡＣ検証結果が正当かつ振る舞い検証結果が不正となった場合（Ｓ２０のＮ）、不正対策部３８は、図４に示したコマンド対策を実行する（Ｓ２４）。
【００５６】
不正検出パターン（図４）にしたがってＥＣＵ対策が必要な場合（Ｓ２６のＹ）、不正対策部３８は、乗っ取られた可能性が高い対象ＥＣＵを特定する（Ｓ２８）。不正対策部３８は、対象ＥＣＵおよび／または他のＥＣＵ１４に関するＥＣＵ対策を実行する（Ｓ３０）。ＥＣＵ対策が不要であれば（Ｓ２６のＮ）、Ｓ２８、Ｓ３０をスキップする。
【００５７】
図６は、図１のＥＣＵ１４の動作を示すフローチャートである。Ｓ４０〜Ｓ４４の処理は図５のＳ１０〜Ｓ１４と同じであるため説明を省略する。ＭＡＣ検証と振る舞い検証の両方で対象フレームが正当と判定された場合（Ｓ４６のＹ）、不正対策部３８は、対象フレームをコマンド実行部５６に渡し、コマンド実行部５６は、対象フレームで指定されたコマンドにしたがいデータ処理を実行する（Ｓ４８）。対象フレームがＣＧＷ２０経由のフレームであり、かつ、少なくとも振る舞い検証により不正と判定された場合（Ｓ４６のＮ、Ｓ５０のＹ）、不正対策部３８は、車両１０の自動運転をフェイルセーフモードへ移行させる（Ｓ５２）。Ｓ５０のＮ以降、Ｓ５４〜Ｓ６４の処理は図５のＳ２０〜Ｓ３０と同じであるため説明を省略する。
【００５８】
実施例の監視装置（例えばＥＣＵ１４、ＣＧＷ２０）によると、メッセージ認証の結果と振る舞い検証の結果との組み合わせに基づいて、セキュリティの脅威の種類をきめ細かに認識し、脅威の種類に応じた適切なコマンド対策およびＥＣＵ対策を自動実行する。これにより、車載ネットワークシステム１２のセキュリティを担保できる。例えば、ＭＡＣ鍵の漏洩、および、ＭＡＣ対応ＥＣＵの乗っ取りを検知し、ＭＡＣ鍵の更新およびＥＣＵのリプログラミングを適切に実行できる。また、車載ネットワークシステム１２内にＭＡＣ未対応のＥＣＵ１４が存在し、ＭＡＣ未対応のＥＣＵ１４が脅威にさらされた場合も、セキュリティを担保しやすくなる。
【００５９】
以上、本発明を実施例をもとに説明した。この実施例は例示であり、それらの各構成要素あるいは各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６０】
第１変形例を説明する。実施例の振る舞い検証部３６は、対象フレームを正当または不正に分類したが、変形例として、振る舞い検証部３６は、対象フレームの態様と振る舞いルールとの乖離の度合い（もしくは一致の度合い）に応じて、対象フレームを正当、不正、グレーのいずれかに分類してもよい。不正対策部３８のログ保存部４４は、対象フレームがグレーに分類された場合、対象フレームと、同じＩＤの過去のフレームとを含むルール更新指示データをログデータとして保存する。既述したように、ルール更新指示データは、対象フレームより後に受信された同ＩＤのフレームを含んでもよい。これにより、保存されたログデータはオフライン上で収集されてルール生成装置２９に通知され、ルール生成装置２９は、例えば対象フレームを不正と判定するように振る舞いルール更新する。
【００６１】
具体例として、振る舞い検証部３６は、検知パラメータＡ〜Ｅのそれぞれで対象フレームを評価し、各検知パラメータによる中間判定結果Ａ〜Ｅを生成し、４つ以上の中間判定結果が不正となった場合に最終判定結果を不正としてもよい。また、不正となった中間判定結果の個数が３個以下であれば最終判定結果を正当としてもよい。この構成において、振る舞い検証部３６は、各フレームで指定されるフレームＩＤ（コマンドＩＤでもよい）ごとに中間判定結果が不正となった回数を累計していく。振る舞い検証部３６は、中間判定結果が不正となった累計数が所定の閾値（例えば１０回等）を超えたＩＤのフレームをグレーと判定する。
【００６２】
また、振る舞い検証部３６は、フレームＩＤ（コマンドＩＤ）で区別せずに全てのフレームを母集団として、中間判定結果が不正となった回数を累計してもよい。振る舞い検証部３６は、中間判定結果が不正となった累計数が所定の閾値（例えば１０回等）を超えた場合にグレーと判定してもよい。この場合、ログ保存４４は、過去の一定期間に受信した全フレームを含むルール更新指示データをログデータとして保存してもよい。
【００６３】
フレームの正当性がグレーと判定されることは本来望ましくないが、第１変形例によると、振る舞いルールを適切に更新し、車載ネットワークシステム１２のセキュリティを向上させることができる。なお、振る舞い検証部３６は、対象フレームの振る舞い検証において、対象フレームのＩＤに紐付く不正判定累計数が所定の閾値を超過した場合、対象フレームの最終判定結果を「不正」としてもよい。この態様によると、グレー判定となったフレームに基づいてコマンド対策およびＥＣＵ対策が実行され、車載ネットワークシステム１２のセキュリティを一層高めることができる。
【００６４】
第２変形例を説明する。図７は、変形例のＣＧＷ２０のハードウェア構成を示す。ＣＧＷ２０は、ＣＰＵ７０、監視モジュール７２、ＬＡＮコントローラ７４、ＬＡＮコントローラ７６を備える。ＬＡＮコントローラ７４およびＬＡＮコントローラ７６は、ＣＡＮ２４の各バスに接続される。ＣＰＵ７０は、ＣＧＷ２０全体の動作を制御するとともに、図２に示した各機能ブロックの機能を実行する。
【００６５】
監視モジュール７２は、ＣＰＵ７０と物理的に異なるＬＳＩであり、言い換えれば、ＣＰＵ７０と物理的に分離または独立して実装されたＬＳＩである。監視モジュール７２は、図２に示した機能ブロックのうちＭＡＣ検証部３４、振る舞い検証部３６、不正対策部３８の機能を実行する。監視モジュール７２が備える不正対策部３８の機能は、図４に示したパターン別のコマンド対策およびＥＣＵ対策を決定する機能を少なくとも含む。
【００６６】
ＣＰＵ７０と監視モジュール７２は、互いに並行して、同じ対象フレームに対する不正判定処理を実行する。監視モジュール７２は、不正判定処理の結果と、ＣＰＵ７０におえるフレーム処理の内容に基づいて、ＣＰＵ７０が正常か否かを判定する。例えば、監視モジュール７２は、ＭＡＣ検証と振る舞い検証の少なくとも一方で対象フレームが不正と判定された場合であって、かつ、ＣＰＵ７０が対象フレームをＣＡＮ２４へ送信した場合に、ＣＰＵ７０（特にＣＰＵ７０のルーティング機能）が異常と判定する。また、監視モジュール７２は、ＭＡＣ検証と振る舞い検証の両方で対象フレームが正当と判定された場合であって、かつ、ＣＰＵ７０が対象フレームを破棄または無効化した場合に、ＣＰＵ７０が異常と判定する。
【００６７】
ＣＰＵ７０が異常と判定した場合、監視モジュール７２は、所定のエラー処理、リカバリー処理、乗員または外部の人等への通知処理のうち少なくとも１つを実行してもよい。第２変形例によると、ＣＧＷ２０のＣＰＵ７０が不正者により乗っ取られた場合も、その事実を監視モジュール７２により検出して、セキュリティの脅威を解消するための処理を実行可能になる。なお、ＣＰＵ７０と監視モジュール７２は、仮想的または論理的に分離して実装されてもよい。また、ここではＣＧＷ２０の例を示したが、監視装置として動作するＥＣＵ１４においても本変形例の構成を適用可能である。
【００６８】
第３変形例を説明する。上記実施例では、車載ネットワークをＣＡＮとしたが、変形例として、車載ネットワークをイーサネット（登録商標）にしてもよく、この場合も、ＥＣＵ１４およびＣＧＷ２０には実施例と同様の構成を適用できる。
【００６９】
第４変形例を説明する。第３変形例に関連して、車載ネットワークにおいてＣＡＮとイーサネットが混在してもよい。監視装置としてのＣＧＷ２０は、ＣＡＮとイーサネットを接続し、ＣＡＮのフレームとイーサネットフレームとを相互に変換する機能をさらに備えてもよい。ＣＧＷ２０は、ＭＡＣ検証と振る舞い検証の少なくとも一方で不正と判定されたＣＡＮフレームをイーサネットフレームへ変換することを抑制する。同様に、上記不正と判定されたイーサネットフレームをＣＡＮフレームへ変換することを抑制する。
【００７０】
また、ＣＧＷ２０は、ＣＡＮの複数のバスと、イーサネットの複数のバスに接続されてもよい。この場合に、或るフレームがＭＡＣ検証と振る舞い検証の少なくとも一方で不正と判定された場合、ＣＧＷ２０は、そのフレームが流れるバスから他のバスへの、全フレームの変換および中継を抑制してもよい。さらにまた、ＣＧＷ２０は、不正と判定されたフレームが流れるバスへの他のバスからの、全フレームの変換および中継を抑制してもよい。
【００７１】
さらにまた、ＣＧＷ２０は、イーサネットにおけるセキュリティ機能（例えばファイヤウォール機能、ＭＡＣアドレスフィルタ等）を備えてもよい。ＣＧＷ２０は、イーサネットにおけるセキュリティ機能とＭＡＣ検証との少なくとも一方で対象フレームが不正と判定されたことを、実施例においてＭＡＣ検証で不正と判定した場合と同等に取り扱ってもよい。なお、ＣＧＷ２０は、イーサネットにおけるセキュリティ機能とＭＡＣ検証の両方で対象フレームが不正と判定された場合、不正の確度が高いと判定して、コマンド対策およびＥＣＵ対策の実行に代えて、もしくはコマンド対策およびＥＣＵ対策の実行とともに、車両１０の自動運転のモードをフェイルセーフモードへ移行させてもよい。なお、第４変形例は、ＣＧＷ２０に限らず、異なる種類のネットワークを接続する装置全般に適用可能である。
【００７２】
第５変形例を説明する。車載ネットワークシステム１２のＥＣＵ１４、ＣＧＷ２０には、自装置の改ざん有無を判定するセキュリティチップ（Trusted Platform Module、以下「ＴＰＭ」と呼ぶ。）が搭載されてもよい。監視装置（例えばＣＧＷ２０、ＥＣＵ１４）の対象検出部５０は、少なくとも振る舞い検証で不正と判定されたフレームを送信したＥＣＵのＴＰＭに対して改ざん有無を問い合わせてもよい（Attestation）。なお、第２変形例との組み合わせ時、対象検出部５０は、ＣＧＷ２０のＳｏＣ（System on Chip）に対して改ざん有無を問い合わせてもよい。対象検出部５０は、問い合わせの結果が改ざんありを示す場合、問い合わせ先の装置（例えばＣＧＷ２０、ＥＣＵ１４）を不正と判定し、言い換えれば、不正対策の対象装置と判定する。
【００７３】
なお、実施例および変形例に記載の技術は、以下の項目によって特定されてもよい。
［項目１］
通信網からフレームを受信する受信部と、フレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第１判定と、フレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第２判定とを行い、第１判定の結果と第２判定の結果との組み合わせに応じて、フレームに関する処理とフレームの送信元装置に関する処理の少なくとも一方を実行する処理部と、を備える監視装置。
この監視装置によると、通信システムのセキュリティを向上させることができる。
［項目２］
第１判定により判定対象フレームが正当と判定され、第２判定により判定対象フレームが不正と判定された場合、または、第１判定により判定対象フレームが不正と判定され、第２判定により判定対象フレームが不正と判定された場合、処理部は、判定対象フレームを破棄または無効化する処理を実行してもよい。
この態様によると、不正なフレームによるセキュリティのリスクを低減できる。
［項目３］
第１判定により判定対象フレームが正当と判定され、第２判定により判定対象フレームが不正と判定された場合、または、第１判定により判定対象フレームが不正と判定され、第２判定により判定対象フレームが不正と判定された場合に、複数の送信元装置から送信された複数のフレームにおける不正有無に基づいて、複数の送信元装置の中から不正対策の対象装置を検出し、（１）対象装置から送信されるフレームを破棄または無効化する処理、（２）対象装置におけるコンピュータプログラムを更新する処理、（３）対象装置以外の送信元装置におけるメッセージ認証の鍵を更新する処理、（４）対象装置が接続された通信網のバスから受信されたフレームを破棄または無効化する処理、のうち少なくとも１つを実行してもよい。
この態様によると、不正なフレームの検出に基づいて、フレームの送信元装置に関する不正対策を実施できる。
［項目４］
第１判定により判定対象フレームが正当と判定され、第２判定により判定対象フレームが不正と判定された場合であり、かつ、判定対象フレームが、所定の送信元装置以外から送信されたフレームが流れるバスから受信されたものであるとき、処理部は、所定の送信元装置におけるメッセージ認証の鍵を更新する処理を実行してもよい。
この態様によると、外部から不正なフレームが注入され、メッセージ認証の鍵が漏洩している可能性がある場合に、メッセージ認証の鍵を更新し、セキュリティのリスクを低減できる。
［項目５］
第１判定により判定対象フレームが不正と判定され、第２判定により判定対象フレームが正当と判定された場合に、処理部は、少なくとも判定対象フレームに関するログデータを保存してもよい。
この態様によると、第２判定のためのルールが不完全であることが想定される場合に、ルールの改善を支援できる。
［項目６］
処理部は、判定対象フレームの態様とルールとの乖離の度合いに応じて、判定対象フレームを正当、不正、グレーのいずれかに分類し、判定対象フレームがグレーに分類された場合、少なくとも判定対象フレームに関するログデータを保存してもよい。
この態様によると、本来望ましくないグレー判定に伴い、第２判定のためのルールの改善を支援できる。
［項目７］
監視装置は、車両に搭載された電子制御ユニットであってもよい。処理部は、車載ネットワークにおける所定のゲートウェイ装置を経由して伝送されたフレームが第２判定により不正と判定された場合、車両の自動運転のモードをフェイルセーフモードへ切り替えてもよい。
この態様によると、車両運転の安全性を一層高めることができる。
［項目８］
通信網からフレームを受信し、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第１判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第２判定と、を行い、第１判定の結果と第２判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータが実行する監視方法。
この監視方法によると、通信システムのセキュリティを向上させることができる。
［項目９］
通信網からフレームを受信し、受信されたフレームに対するメッセージ認証の結果に基づいてフレームが不正かを判定する第１判定と、受信されたフレームの態様と予め定められたルールとに基づいてフレームが不正かを判定する第２判定と、を行い、第１判定の結果と第２判定の結果との組み合わせに応じて、受信されたフレームに関する処理と受信されたフレームの送信元装置に関する処理の少なくとも一方を実行する、ことをコンピュータに実行させるためのコンピュータプログラム。
このコンピュータプログラムによると、通信システムのセキュリティを向上させることができる。
【００７４】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。また、請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００７５】
１０  車両、  １２  車載ネットワークシステム、  １４  ＥＣＵ、  ２０  ＣＧＷ、  ２２  ＣＭＩ、  ２４  ＣＡＮ、  ２９  ルール生成装置、  ３０  フレーム受信部、  ３２  フレーム送信部、  ３４  ＭＡＣ検証部、  ３６  振る舞い検証部、  ３８  不正対策部、  ５０  対象検出部。
【図１】
2018117254.tif 000003
【図２】
2018117254.tif 000004
【図３】
2018117254.tif 000005
【図４】
2018117254.tif 000006
【図５】
2018117254.tif 000007
【図６】
2018117254.tif 000008
【図７】
2018117254.tif 000009