(57)【特許請求の範囲】
【請求項１】
車両の状態を表す車両状態と、通信されるメッセージを特定するメッセージ属性と、前記メッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報とが対応付けられたメッセージ情報を記憶する記憶部と、
前記車両の現在の状態を現在状態として取得する状態取得部と、
前記車両に搭載された車載システムと前記車両に搭載されていない外部システムとの間で通信されるメッセージを通信メッセージとして取得し、取得した通信メッセージについて前記車載システムの内部で通信するためのプロトコル変換を実施して、変換後の前記通信メッセージを判定部に出力するメッセージ取得部と、
入力された前記通信メッセージを特定するメッセージ属性を通信メッセージ属性として取得し、前記現在状態と前記通信メッセージ属性と前記メッセージ情報とに基づいて、前記車両が前記現在状態である場合に前記通信メッセージの通信が許可されているか否かを判定して判定結果を出力する判定部と
を備え、
前記メッセージ取得部は、
前記判定結果が不可であれば前記通信メッセージを破棄する車両通信監視装置。
【請求項２】
前記記憶部は、
前記車両の走行状態および前記車両のドアの開閉状態の少なくともいずれかを前記車両状態として含む請求項１に記載の車両通信監視装置。
【請求項３】
前記記憶部は、
前記通信されるメッセージの種別を前記メッセージ属性として含む請求項１または２に記載の車両通信監視装置。
【請求項４】
前記記憶部は、
前記通信されるメッセージの内容を前記メッセージ属性として含む請求項３に記載の車両通信監視装置。
【請求項５】
前記記憶部は、
前記通信されるメッセージの通信量の通信量閾値を前記メッセージ属性として含む請求項３に記載の車両通信監視装置。
【請求項６】
前記車両通信監視装置は、
前記メッセージ取得部から前記通信メッセージを取得し、前記通信メッセージの通信量を測定する通信量測定部を備え、
前記判定部は、
前記現在状態と前記通信メッセージの前記通信量と前記メッセージ情報とに基づいて、前記車両が前記現在状態である場合に、前記通信量が前記通信量閾値以内であるか否かにより前記通信メッセージの通信が許可されているか否かを判定する請求項５に記載の車両通信監視装置。
【請求項７】
前記メッセージ情報は、前記メッセージ属性が設定されていることが、前記メッセージ属性により特定されるメッセージの通信が許可されていることを表すホワイトリストである請求項１から６のいずれか１項に記載の車両通信監視装置。
【請求項８】
前記メッセージ情報は、前記メッセージ属性が設定されていることが、前記メッセージ属性により特定されるメッセージの通信が許可されていないことを表すブラックリストである請求項１から６のいずれか１項に記載の車両通信監視装置。
【請求項９】
前記メッセージ取得部は、
前記判定結果が通信不可である場合に、前記通信メッセージを破棄するとともに、前記通信メッセージが通信不可であることを出力装置に出力する請求項１から８のいずれか１項に記載の車両通信監視装置。
【請求項１０】
車両の状態を表す車両状態と、通信されるメッセージを特定するメッセージ属性と、前記メッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報とが対応付けられたメッセージ情報を記憶する記憶部を備えた車両通信監視装置の車両通信監視方法であって、
状態取得部が、前記車両の現在の状態を現在状態として取得し、
メッセージ取得部が、前記車両に搭載された車載システムと前記車両に搭載されていない外部システムとの間で通信されるメッセージを通信メッセージとして取得し、取得した前記通信メッセージについて前記車載システムの内部で通信するためのプロトコル変換を実施して、変換後の前記通信メッセージを判定部に出力し、
判定部が、前記通信メッセージを特定するメッセージ属性を通信メッセージ属性として取得し、前記現在状態と前記通信メッセージ属性と前記メッセージ情報とに基づいて、前記車両が前記現在状態である場合に前記通信メッセージの通信が許可されているか否かを判定して判定結果を出力し、
前記メッセージ取得部が、前記判定結果が不可であれば前記通信メッセージを破棄する車両通信監視方法。
【請求項１１】
車両の状態を表す車両状態と、通信されるメッセージを特定するメッセージ属性と、前記メッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報とが対応付けられたメッセージ情報を記憶する記憶部を備えた車両通信監視装置の車両通信監視プログラムであって、
前記車両の現在の状態を現在状態として取得する状態取得処理と、
前記車両に搭載された車載システムと前記車両に搭載されていない外部システムとの間で通信されるメッセージを通信メッセージとして取得し、取得した前記通信メッセージについて前記車載システムの内部で通信するためのプロトコル変換を実施して、変換後の前記通信メッセージを判定部に出力するメッセージ取得処理と、
前記通信メッセージを特定するメッセージ属性を通信メッセージ属性として取得し、前記現在状態と前記通信メッセージ属性と前記メッセージ情報とに基づいて、前記車両が前記現在状態である場合に前記通信メッセージの通信が許可されているか否かを判定して判定結果を出力する判定処理と、
前記判定結果が不可であれば前記通信メッセージを破棄する処理とをコンピュータである前記車両通信監視装置に実行させる車両通信監視プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両向けの攻撃検知方式を備えた車両通信監視装置、車両通信監視方法および車両通信監視プログラムに関する。
【背景技術】
【０００２】
近年、カーナビゲーションあるいはＨｅａｄ  Ｕｎｉｔといった車載装置は、車両外部のネットワークとの通信機能を備え、インターネットとの接続あるいはリモートサービス機能の提供を行っている。また、車載装置は、携帯電話、スマートフォン、あるいはＰＣ（パーソナルコンピュータ）といった持込機器とは、無線ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）あるいはＢｌｕｅｔｏｏｔｈ（登録商標）といった通信方式で接続される。一方、このような車載装置への通信機能の搭載により、インターネット経由あるいは持込機器を悪用するといった自動車のハッキングリスクが高まっている。ハッキング対策としてはＦｉｒｅｗａｌｌによるパケットフィルタリングおよび攻撃検知方式といった様々な技術が検討されている。【０００３】
特許文献１には、車両ネットワークを流れる通信メッセージを監視し、規定されている適正な受信間隔よりも受信間隔が短い場合、通信メッセージの通信状態に異常が生じていると判定する攻撃検知技術が開示されている。また、特許文献１には、規定されている受信間隔よりも長い場合は、他の通信メッセージの通信状態に異常が発生していると判定する方法が開示されている。
また、特許文献２には、車両ネットワークにおいて通信データを監視し、通信データの通信形式が規定されたものと異なる際に不正データと判断することで、車両ネットワークのセキュリティを高く維持する車両ネットワーク監視装置が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１８７４４５号公報
【特許文献２】特許第５５２２１６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の攻撃検知技術は、通信周期により攻撃を検知しているため、車両の状態により通信周期あるいは通信量が変化する通信には対応できないという課題があった。なお、通信量には、通信の許可あるいは禁止を含むものとする。また、従来の攻撃検知技術は、インターネットのような外部要因により受信タイミングが変化する通信には不向きであるという課題もあった。
通信データの通信形式が規定されたものと異なる際に不正データと判断する場合も同様に、車両の状態により通信周期あるいは通信量が変化する通信については考慮されていないといった課題があった。【０００６】
本発明は、走行中または停車中、および、ドアが開いているまたは閉まっている、といった車両の状態に合わせて、不正メッセージをブロックすることで、車載システムを防御することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る車両通信監視装置は、
車両の状態を表す車両状態と、通信されるメッセージを特定するメッセージ属性と、前記メッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報とが対応付けられたメッセージ情報を記憶する記憶部と、
前記車両の現在の状態を現在状態として取得する状態取得部と、
前記車両に搭載された車載システムと前記車両に搭載されていない外部システムとの間で通信されるメッセージを通信メッセージとして取得するメッセージ取得部と、
前記通信メッセージを特定するメッセージ属性を通信メッセージ属性として取得し、前記現在状態と前記通信メッセージ属性と前記メッセージ情報とに基づいて、前記車両が前記現在状態である場合に前記通信メッセージの通信が許可されているか否かを判定する判定部とを備えた。
【発明の効果】
【０００８】
本発明に係る車両通信監視装置では、記憶部が、車両の状態を表す車両状態と、通信されるメッセージを特定するメッセージ属性と、そのメッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報とが対応付けられたメッセージ情報を記憶する。状態取得部が、車両の現在の状態を現在状態として取得する。メッセージ取得部が、車両に搭載された車載システムと車両に搭載されていない外部システムとの間で通信されるメッセージを通信メッセージとして取得する。判定部が、通信メッセージを特定するメッセージ属性を通信メッセージ属性として取得し、現在状態と通信メッセージ属性とメッセージ情報とに基づいて、車両が現在状態である場合に通信メッセージの通信が許可されているか否かを判定する。よって、本発明に係る車両通信監視装置によれば、車両の状態に合わせて、メッセージの通信の許否を判定することができ、より的確に車両通信を監視することができる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態１に係る車両通信監視装置１００の構成図。
【図２】実施の形態１に係るメッセージ情報１８１の例。
【図３】実施の形態１に係るメッセージ情報１８１ｘの例。
【図４】実施の形態１に係るメッセージ情報１８１ｙの例。
【図５】実施の形態１に係るメッセージ情報取得処理Ｓ１０を示すフロー図。
【図６】実施の形態１に係る状態取得処理Ｓ２０を示すフロー図。
【図７】実施の形態１に係る判定処理Ｓ３０を示すフロー図。
【図８】実施の形態１に係るメッセージ取得処理Ｓ４０を示すフロー図。
【図９】実施の形態１の変形例に係る車両通信監視装置１００の構成図。
【図１０】実施の形態２に係る車両通信監視装置１００ａの構成図。
【図１１】実施の形態２に係るメッセージ情報１８１ａの例。
【図１２】実施の形態２に係る通信量取得処理Ｓ５０を示すフロー図。
【図１３】実施の形態２に係る判定処理Ｓ３０ａを示すフロー図。
【図１４】実施の形態２に係るメッセージ取得処理Ｓ４０ａを示すフロー図。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について、図を用いて説明する。なお、各図中、同一または相当する部分には、同一符号を付している。実施の形態の説明において、同一または相当する部分については、説明を適宜省略または簡略化する。
【００１１】
実施の形態１．
＊＊＊構成の説明＊＊＊
図１を用いて、本実施の形態に係る車両通信監視装置１００の構成について説明する。
車両通信監視装置１００は、車両に搭載された車載ゲートウェイである。車両通信監視装置１００は、車両に搭載された車載システム６０２と車両に搭載されていない外部システム６０１との間の通信を制御するとともに、車載システム６０２と外部システム６０１との間の通信を監視する。
車両に搭載された車載システム６０２とは、Ｈｅａｄ  Ｕｎｉｔ、ＥＣＵ（ｅｌｅｃｔｒｏｎｉｃ  ｃｏｎｔｒｏｌ  ｕｎｉｔ）およびカーナビゲーションシステムといった機器、および、これらの機器を接続する車両内部ネットワークを含む。
また、車両に搭載されていない外部システム６０１とは、車両外部ネットワークおよび持込機器といった機器を含む。持込機器は、具体的には、携帯電話、スマートフォン、ＰＣ、ＯＢＤ（Ｏｎ−ｂｏａｒｄ  ｄｉａｇｎｏｓｔｉｃｓ）ツールといった機器である。
【００１２】
図１に示すように、車両通信監視装置１００は、コンピュータである。
車両通信監視装置１００は、プロセッサ９１０、記憶装置９２０、入力インタフェース９３０、出力インタフェース９４０、外部インタフェース９５１、および内部通信インタフェース９５２といったハードウェアを備える。記憶装置９２０は、メモリ９２１と補助記憶装置９２２とを含む。
【００１３】
車両通信監視装置１００は、機能構成として、外部送信制御部１１０と、外部受信制御部１２０と、内部送信制御部１３０と、内部受信制御部１４０と、プロトコル変換部１５０と、判定部１６０と、状態取得部１７０と、記憶部１８０とを備える。
【００１４】
外部送信制御部１１０と、外部受信制御部１２０と、内部送信制御部１３０と、内部受信制御部１４０と、プロトコル変換部１５０と、判定部１６０と、状態取得部１７０のそれぞれの機能は、ソフトウェアで実現される。以下の説明において、外部送信制御部１１０と、外部受信制御部１２０と、内部送信制御部１３０と、内部受信制御部１４０と、プロトコル変換部１５０と、判定部１６０と、状態取得部１７０を、車両通信監視装置１００の各部と称する。車両通信監視装置１００の各部には記憶部１８０は含まれないものとする。
記憶部１８０には、メッセージ情報１８１と現在状態１８２が記憶されている。
記憶部１８０は、メモリ９２１により実現される。また、記憶部１８０は、補助記憶装置９２２のみ、あるいは、メモリ９２１および補助記憶装置９２２で実現されてもよい。記憶部１８０の実現方法は任意である。
【００１５】
プロセッサ９１０は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。プロセッサ９１０は、演算処理を行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。プロセッサ９１０の具体例は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
【００１６】
メモリ９２１は、データを一時的に記憶する記憶装置である。メモリ９２１の具体例は、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
【００１７】
補助記憶装置９２２は、データを保管する記憶装置である。補助記憶装置９２２の具体例は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。また、補助記憶装置９２２は、ＳＤ（登録商標）（Ｓｅｃｕｒｅ  Ｄｉｇｉｔａｌ）メモリカード、ＣＦ（ＣｏｍｐａｃｔＦｌａｓｈ）、ＮＡＮＤフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）といった可搬記憶媒体であってもよい。
【００１８】
入力インタフェース９３０は、キーボード、あるいはタッチパネルといった入力装置と接続されるポートである。入力インタフェース９３０は、具体的には、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。なお、入力インタフェース９３０は、ＬＡＮと接続されるポートであってもよい。
出力インタフェース９４０は、ディスプレイといった表示機器のケーブルが接続されるポートである。出力インタフェース９４０は、具体的には、ＵＳＢ端子またはＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。ディスプレイは、具体的には、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【００１９】
外部インタフェース９５１は、車載ゲートウェイである車両通信監視装置１００と、車両に搭載されていない外部システム６０１との通信機能を有する。具体的には、外部インタフェース９５１は、車両通信監視装置１００と、持込機器、あるいはインターネットといった車両外部のネットワークとの通信機能を有する。
内部インタフェース９５２は、車載ゲートウェイである車両通信監視装置１００と、車両に搭載された車載システム６０２との通信機能を有する。具体的には、内部インタフェース９５２は、車両通信監視装置１００と、Ｈｅａｄ  ＵｎｉｔあるいはＥＣＵといった車両内部のネットワーク上の機器との通信機能を有する。
【００２０】
補助記憶装置９２２には、車両通信監視装置１００の各部の機能を実現するプログラムが記憶されている。車両通信監視装置１００の各部の機能を実現するプログラムを車両通信監視プログラム６２０ともいう。このプログラムは、メモリ９２１にロードされ、プロセッサ９１０に読み込まれ、プロセッサ９１０によって実行される。また、補助記憶装置９２２はＯＳを記憶している。補助記憶装置９２２にされているＯＳの少なくとも一部がメモリ９２１にロードされる。プロセッサ９１０はＯＳを実行しながら、車両通信監視プログラム６２０を実行する。
【００２１】
車両通信監視装置１００は、１つのプロセッサ９１０のみを備えていてもよいし、複数のプロセッサ９１０を備えていてもよい。複数のプロセッサ９１０が、車両通信監視装置１００の各部の機能を実現するプログラムを連携して実行してもよい。
【００２２】
車両通信監視装置１００の各部の処理の結果を示す情報、データ、信号値、および変数値は、車両通信監視装置１００の補助記憶装置９２２、メモリ９２１、または、プロセッサ９１０内のレジスタまたはキャッシュメモリに記憶される。
【００２３】
車両通信監視装置１００の各部の機能を実現するプログラムは、可搬記録媒体に記憶されてもよい。可搬記録媒体とは、具体的には、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ（登録商標）ディスク、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、あるいはＳＤ（登録商標）カードといったメモリカードである。
なお、車両通信監視プログラムプロダクトとは、車両通信監視プログラム６２０が記録された記憶媒体および記憶装置である。車両通信監視プログラムプロダクトは、外観に関わらず、コンピュータ読み取り可能なプログラムをロードしているものを指す。
【００２４】
＊＊＊機能の説明＊＊＊
図１を用いて、本実施の形態に係る車両通信監視装置１００の各部および記憶部１８０の機能について説明する。
【００２５】
外部送信制御部１１０は、プロトコル変換部１５０からメッセージを受け取り、持込機器あるいはインターネットといった車両外部ネットワークへメッセージを送信する。また、外部受信制御部１２０は、持込機器あるいはインターネットといった車両外部ネットワークからメッセージを受信し、プロトコル変換部１５０にメッセージを出力する。
外部送信制御部１１０と外部受信制御部１２０との各々は、持込機器あるいはインターネットといった車両外部ネットワークとの通信に、無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、ＵＳＢ、ＯＢＤ、３Ｇ、あるいはＬＴＥ（登録商標）といった接続方式を用いる。なお、接続方式については限定しない。
【００２６】
一方、内部送信制御部１３０は、プロトコル変換部１５０からメッセージを受け取り、車両内部ネットワークへメッセージを送信する。また、内部受信制御部１４０は、車両内部ネットワークからメッセージを受信し、プロトコル変換部１５０へメッセージを出力する。内部送信制御部１３０と内部受信制御部１４０との各々は、車両内部ネットワークとの通信に、ＣＡＮ、ＦｌｅｘＲａｙ、ＭＯＳＴ、ＬＩＮ、あるいはＥｔｈｅｒｎｅｔ（登録商標）といった接続方式を用いる。なお、接続方式については限定しない。
【００２７】
プロトコル変換部１５０は、外部インタフェース９５１により受信したメッセージを外部受信制御部１２０から受け取る。そして、プロトコル変換部１５０は、メモリ９２１に記憶されたプログラムをプロセッサ９１０で実行し、車両内部ネットワーク上の機器と通信するためのプロトコルに合わせてメッセージを変換する。そして、プロトコル変換部１５０は、変換したメッセージを通信メッセージ５０１として判定部１６０に出力し、攻撃と判断されなければ内部送信制御部１３０に変換後のメッセージを出力する。一方、プロトコル変換部１５０は、内部インタフェース９５２により受信したメッセージを内部受信制御部１４０から受け取る。そして、プロトコル変換部１５０は、メモリ９２１に記憶されたプログラムをプロセッサ９１０で実行し、持込機器あるいはインターネットといった外部の装置と通信するためのプロトコルに合わせてメッセージを変換する。そして、プロトコル変換部１５０は、変換したメッセージを通信メッセージ５０１として判定部１６０に出力し、攻撃と判断されなければ外部送信制御部１１０に変換後のメッセージを出力する。
プロトコル変換部１５０は、車両に搭載された車載システム６０２と車両に搭載されていない外部システム６０１との間で通信されるメッセージを通信メッセージ５０１として取得するメッセージ取得部５０の例である。
【００２８】
判定部１６０は、メモリ９２１に記憶されたプログラムをプロセッサ９１０で実行し、下記の動作をする。判定部１６０は、車載ゲートウェイである車両通信監視装置１００の起動時、記憶部１８０からメッセージ情報１８１を取得する。また、判定部１６０は、状態取得部１７０から車両の現在の状態についての通知を受ける。判定部１６０は、プロトコル変換部１５０からメッセージを受信すると、メッセージ情報１８１と車両の現在の状態とからメッセージの転送可否を判定し、プロトコル変換部１５０に結果を通知する。
判定部１６０は、車両通信に対する攻撃を検知する攻撃検知部ともいう。
【００２９】
図２を用いて、本実施の形態に係るメッセージ情報１８１の例について説明する。
記憶部１８０は、車両の状態を表す車両状態８１１と、通信されるメッセージを特定するメッセージ属性８１２と、メッセージ属性により特定されるメッセージの通信が許可されているか否かを表す許否情報８１３とが対応付けられたメッセージ情報１８１を記憶する。メッセージ情報１８１は、攻撃検知リストテーブルともいう。
【００３０】
メッセージ情報１８１には、具体的には、行番号８１、メッセージ種別８２、車両状態８１１、および詳細メッセージ内容８３といった情報を登録する。
メッセージ種別８２の具体例は、Ｄｉａｇ、あるいは交通信号情報といった種別である。
詳細メッセージ内容８３は、メッセージの内容を示す。詳細メッセージ内容８３は、メッセージ種別を更に詳細に分類したものとし、その具体例は、センサ情報取得コマンドといった指定、あるいは、すべてといった指定を可能とする。
メッセージ情報１８１は、メッセージ種別８２とメッセージの内容である詳細メッセージ内容８３とを、通信されるメッセージを特定するメッセージ属性８１２として含む。
【００３１】
車両状態８１１は、車両の状態を表す。車両状態８１１の具体例は、停車中、走行中、ドアオープン、あるいはドアクローズといった車両の状態である。メッセージ情報１８１は、停車中あるいは走行中といった車両の走行状態、および、ドアオープンあるいはドアクローズといった車両のドアの開閉状態の少なくともいずれかを車両状態８１１として含む。
なお、ここで示したメッセージ情報１８１の項目および内容は一例であり、メッセージ情報１８１の項目および内容はこの例に限定しなくてもよい。
【００３２】
図２に示したメッセージ情報１８１は、メッセージ属性８１２が設定されていることが、メッセージ属性８１２により特定されるメッセージの通信が許可されていることを表す許否情報８１３であるホワイトリストである。すなわち、メッセージ情報１８１には、通信および転送を許可するメッセージが設定されている。このとき、メッセージ情報１８１に設定されているメッセージ属性８１２が、メッセージの通信が許可されていることを表す許否情報８１３となる。
【００３３】
図３を用いて、本実施の形態に係るメッセージ情報１８１ｘの例について説明する。
図３のメッセージ情報１８１ｘに示すように、メッセージ情報１８１ｘは、メッセージ属性が設定されていることが、メッセージ属性により特定されるメッセージの通信が許可されていないことを表す許否情報８１３ｘであるブラックリストであってもよい。すなわち、メッセージ情報１８１ｘには、通信および転送を禁止するメッセージが設定されていてもよい。このとき、メッセージ情報１８１ｘに設定されているメッセージ属性が、メッセージの通信が禁止されていることを表す許否情報８１３ｘとなる。
【００３４】
図４を用いて、本実施の形態に係るメッセージ情報１８１の他の例であるメッセージ情報１８１ｙについて説明する。
図４のメッセージ情報１８１ｙに示すように、メッセージ情報１８１ｙは、オンオフによりメッセージの通信が許可されているか否かを表すフラグを許否情報８１３ｙとして備えていてもよい。
【００３５】
＊＊＊動作の説明＊＊＊
図５から図８を用いて、本実施の形態に係る車両通信監視方法６１０および車両通信監視プログラム６２０の車両通信監視処理Ｓ１００について説明する。図５から図８は、車両に搭載された車載ゲートウェイである車両通信監視装置１００が、持込機器あるいはインターネットといった外部システム６０１からメッセージを受信した際のフローチャートの一例を示す図である。なお、図５から図８のフローチャートは、図２で示したホワイトリスト型のメッセージ情報１８１を使用した場合について記載している。
車両通信監視処理Ｓ１００は、メッセージ情報取得処理Ｓ１０と、状態取得処理Ｓ２０と、判定処理Ｓ３０と、メッセージ取得処理Ｓ４０とを有する。
【００３６】
＜メッセージ情報取得処理Ｓ１０＞
図５を用いて、本実施の形態に係るメッセージ情報取得処理Ｓ１０について説明する。
ステップＳ１１において、判定部１６０は、記憶部１８０からメッセージ情報１８１を取得する。
【００３７】
＜状態取得処理Ｓ２０＞
図６を用いて、本実施の形態に係る状態取得処理Ｓ２０について説明する。
状態取得処理Ｓ２０において、状態取得部１７０は、車両の現在の状態を現在状態１８２として取得する。状態取得処理Ｓ２０の具体的な処理は、以下の通りである。
【００３８】
ステップＳ２１において、状態取得部１７０は、内部受信制御部１４０から車両の状態に関連するメッセージを受信する。
ステップＳ２２において、状態取得部１７０は、内部受信制御部１４０から受け取ったメッセージをもとに、車両の現在の状態を判定する。具体的には、状態取得部１７０は、車速情報から車両が走行中か停車中かを判定する。
ステップＳ２３において、状態取得部１７０は、記憶部１８０に記憶されている現在状態１８２と、ステップＳ２２において判定した車両の現在の状態とを比較する。状態取得部１７０は、車両の現在の状態と現在状態１８２とが異なる、すなわち車両の現在の状態に、現在状態１８２からの変化があった場合は、ステップＳ２４に進む。状態取得部１７０は、車両の現在の状態と現在状態１８２とが同一、すなわち車両の現在の状態に現在状態１８２からの変化がない場合は、処理を終了する。
ステップＳ２４において、状態取得部１７０は、記憶部１８０の現在状態１８２を、車両の現在の状態で上書きする。
【００３９】
＜判定処理Ｓ３０＞
図７を用いて、本実施の形態に係る判定処理Ｓ３０について説明する。
判定処理Ｓ３０において、判定部１６０は、車載システム６０２と外部システム６０１との間で通信される通信メッセージ５０１を特定するメッセージ属性を通信メッセージ属性５０２として取得する。判定部１６０は、現在状態１８２と通信メッセージ属性５０２とメッセージ情報１８１とに基づいて、車両が現在状態１８２である場合に通信メッセージ５０１の通信が許可されているか否かを判定する。そして、判定部１６０は、通信メッセージ５０１の通信が許可されているか否かの判定結果１６１をメッセージ取得部５０に出力する。判定処理Ｓ３０の具体的な処理は、以下の通りである。
【００４０】
ステップＳ３１において、判定部１６０は、プロトコル変換部１５０から通信メッセージ５０１を受け取る。判定部１６０は、通信メッセージ５０１を特定する通信メッセージ属性５０２を取得する。通信メッセージ属性５０２には、通信メッセージ５０１のメッセージ種別と、通信メッセージ５０１のメッセージの内容とが含まれる。
ステップＳ３２において、判定部１６０は、メッセージ情報取得処理Ｓ１０において取得したメッセージ情報１８１のメッセージ種別８２に、通信メッセージ属性５０２に含まれるメッセージ種別に該当するものが存在するか確認する。存在する場合は、処理はステップＳ３３に進む。存在しない場合は、処理はステップＳ３５に進む。
ステップＳ３３において、判定部１６０は、通信メッセージ５０１を解析し、通信メッセージ５０１のメッセージ内容を取得する。
ステップＳ３４において、判定部１６０は、メッセージ情報１８１と、車両の現在状態１８２と、通信メッセージ５０１のメッセージ内容とに基づいて、通信メッセージ５０１が、車両が現在状態１８２である場合に転送が許可されているか否かを判定する。許可されている場合は、処理はステップＳ３６に進む。許可されていない場合は、処理はステップＳ３５に進む。
ステップＳ３５において、判定部１６０は、プロトコル変換部１５０に転送不可の判定結果１６１を出力する。
ステップＳ３６において、判定部１６０は、プロトコル変換部１５０に転送許可の判定結果１６１を出力する。
【００４１】
＜メッセージ取得処理Ｓ４０＞
図８を用いて、本実施の形態に係るメッセージ取得処理Ｓ４０について説明する。
メッセージ取得処理Ｓ４０において、プロトコル変換部１５０は、車両に搭載された車載システム６０２と車両に搭載されていない外部システム６０１との間で通信されるメッセージを通信メッセージ５０１として取得する。プロトコル変換部１５０は、通信メッセージ５０１についてプロトコル変換を実施し、変換した通信メッセージ５０１を判定部１６０に出力する。そして、判定部１６０からの判定結果１６１を受け取り、判定結果１６１に基づいて通信メッセージ５０１の通信を制御する。メッセージ取得部５０は、判定結果１６１が通信不可である場合に、通信メッセージ５０１を破棄する。また、メッセージ取得部５０は、判定結果１６１が通信不可である場合に、通信メッセージ５０１を破棄するとともに、通信メッセージ５０１が通信不可であることを出力装置に出力してもよい。メッセージ取得処理Ｓ４０は、プロトコル変換処理ともいう。メッセージ取得処理Ｓ４０の具体的な処理は、以下の通りである。
【００４２】
ステップＳ４１において、プロトコル変換部１５０は、外部受信制御部１２０から通信メッセージ５０１を受け取る。
ステップＳ４２において、プロトコル変換部１５０は、外部受信制御部１２０から受け取った通信メッセージ５０１を、宛先となる車載システム６０２である車両内部ネットワークのプロトコルに変換する。
ステップＳ４３において、プロトコル変換部１５０は、変換後の通信メッセージ５０１を判定部１６０に出力する。
ステップＳ４４において、プロトコル変換部１５０は、判定部１６０から応答があるまで待機する。プロトコル変換部１５０は、判定結果１６１を応答として受け取ると、ステップＳ４５に進む。
ステップＳ４５において、プロトコル変換部１５０は、判定部１６０からの判定結果１６１が転送許可であった場合はステップＳ４６に進む。プロトコル変換部１５０は、判定部１６０からの判定結果１６１が転送不可であった場合はステップＳ４７に進む。
ステップＳ４６において、プロトコル変換部１５０は、通信メッセージ５０１を内部送信制御部１３０に出力する。すなわち、通信メッセージ５０１は不正なメッセージではないと判定されたので、プロトコル変換部１５０は通信メッセージ５０１に対して通常の処理を行う。
ステップＳ４７において、プロトコル変換部１５０は、通信メッセージ５０１を破棄する。すなわち、通信メッセージ５０１は不正なメッセージであると判定されたので、プロトコル変換部１５０は通信メッセージ５０１を破棄することによりブロックする。
【００４３】
＊＊＊他の構成＊＊＊
本実施の形態に係る車両通信監視装置１００は、不正なメッセージをブロックした際に、ディスプレイあるいはスピーカといった出力装置により、車両の運転手へ不正なメッセージをブロックしたことを通知する機能を備えてもよい。このような機能により、運転手は車載システム６０２が攻撃されていること認識し、車両を停車させるといった対応が可能になる。
【００４４】
本実施の形態では、車両外部から車両内部へのメッセージに対する攻撃検知方式について詳細を説明した。しかし、車両内部から車両外部へのメッセージについても同様に処理してもよい。これにより、車載システム６０２の不正操作による機密情報あるいは個人情報の漏洩を防止できる。なお、車両内部から車両外部へのメッセージを処理する際、プロトコル変換部は、内部受信制御部から受信したプロトコル変換前のメッセージを通信メッセージとして判定部に送信する。そして、プロトコル変換部は、判定部からの判定結果が転送許可の場合、通信メッセージのプロトコルを変換し、変換後の通信メッセージを外部送信制御部に出力する。
【００４５】
本実施の形態では、車両通信監視装置１００の各部の機能がソフトウェアで実現される。しかし、変形例として、車両通信監視装置１００の各部の機能がハードウェアで実現されてもよい。
【００４６】
図９を用いて、本実施の形態の変形例に係る車両通信監視装置１００の構成について説明する。
図９に示すように、車両通信監視装置１００は、処理回路９０９、入力インタフェース９３０、出力インタフェース９４０、外部インタフェース９５１、および内部通信インタフェースといったハードウェアを備える。
【００４７】
処理回路９０９は、上述した車両通信監視装置１００の各部の機能および記憶部１８０を実現する専用の電子回路である。処理回路９０９は、具体的には、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックＩＣ、ＧＡ、ＡＳＩＣ、または、ＦＰＧＡである。ＧＡは、Ｇａｔｅ  Ａｒｒａｙの略語である。ＡＳＩＣは、Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略語である。ＦＰＧＡは、Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙの略語である。
【００４８】
車両通信監視装置１００の各部の機能は、１つの処理回路９０９で実現されてもよいし、複数の処理回路９０９に分散して実現されてもよい。
【００４９】
別の変形例として、車両通信監視装置１００の各部の機能がソフトウェアとハードウェアの組合せで実現されてもよい。すなわち、車両通信監視装置１００の一部の機能が専用のハードウェアで実現され、残りの機能がソフトウェアで実現されてもよい。
【００５０】
車両通信監視装置１００のプロセッサ９１０、記憶装置９２０、および、処理回路９０９を、総称して「プロセッシングサーキットリ」という。つまり、車両通信監視装置１００の構成が図１および図９のいずれに示した構成であっても、車両通信監視装置１００の各部の機能および記憶部１８０は、プロセッシングサーキットリにより実現される。
【００５１】
「部」を「工程」または「手順」または「処理」に読み替えてもよい。また、「部」の機能をファームウェアで実現してもよい。
【００５２】
＊＊＊本実施の形態の効果の説明＊＊＊
以上のように本実施の形態に係る車両通信監視装置１００は、車両状態を把握し、現状の車両状態で許可されていないメッセージの転送を禁止する。よって、本実施の形態に係る車両通信監視装置１００によれば、不正メッセージが車両内部ネットワークへ侵入することによる車載システム６０２のハッキングを防御する。
【００５３】
実施の形態２．
本実施の形態では、主に、実施の形態１と異なる点について説明する。
【００５４】
＊＊＊構成の説明＊＊＊
図１０を用いて、本実施の形態に係る車両通信監視装置１００ａの構成について説明する。図１０において、実施の形態１で説明した構成と同様の構成には同一の符号を付し、その説明を省略する。
本実施の形態に係る車両通信監視装置１００ａは、実施の形態１で説明した車両通信監視装置１００ａの機能構成に加え、通信量測定部１９０を備える。また、記憶部１８０には、実施の形態１で説明した現在状態１８２に加え、メッセージ情報１８１ａと通信量１８３が記憶される。その他の機能構成およびハードウェアについては、実施の形態１と同様である。
【００５５】
通信量測定部１９０は、プロトコル変換部１５０から通信メッセージ５０１を受信し、一定時間に受信した通信メッセージの通信量を測定する。通信量測定部１９０は、測定した通信量を、通信メッセージ５０１のメッセージ種別について、現在状態１８２において受信した通信量として、記憶部１８０の通信量１８３を更新する。
【００５６】
図１１を用いて、本実施の形態に係るメッセージ情報１８１ａについて説明する。
図１１に示したメッセージ情報１８１ａはホワイトリストであり、通信を許可するメッセージをテーブルに記載している。メッセージ情報１８１ａには、通信および転送を許可するメッセージが設定されている。このとき、メッセージ情報１８１ａに設定されているメッセージ属性８１２が、メッセージの通信が許可されていることを表す許否情報８１３ａとなる。しかし、実施の形態１と同様に、メッセージ情報１８１ａは、ブラックリストとして通信を禁止するメッセージをテーブルに記載してもよい。また、メッセージ情報１８１ａは、通信の許否を判定するためのフラグを有する構成でもよい。
【００５７】
図１１に示したメッセージ情報１８１ａには、行番号８１、メッセージ種別８２、車両状態８１１、および通信量閾値８４が登録される。行番号８１、メッセージ種別８２、および車両状態８１１については実施の形態１の図２と同様である。通信量閾値８４は、メッセージを特定するメッセージ属性８１２の一例である。通信量閾値８４は、通信されるメッセージの通信量の閾値である。具体的には、通信量閾値８４は、各メッセージ種別８２について、各車両状態８１１において許可されている通信量の閾値である。図１１の具体例では、Ｄｉａｇメッセージについては、停車中は５００ｋｂｙｔｅ／ｍｉｎまで許可されることを示している。
【００５８】
＊＊＊動作の説明＊＊＊
図５および図６、ならびに図１２から図１４を用いて、本実施の形態に係る車両通信監視方法６１０ａおよび車両通信監視プログラム６２０ａの車両通信監視処理Ｓ１００ａについて説明する。図５および図６、ならびに図１２から図１４は、車両通信監視装置１００ａが、外部システム６０１からメッセージを受信した際のフローチャートの一例を示す図である。なお、図５および図６、ならびに図１２から図１４のフローチャートは、図１１で示したホワイトリスト型のメッセージ情報１８１ａを使用した場合について記載している。
車両通信監視処理Ｓ１００ａは、図５のメッセージ情報取得処理Ｓ１０と、図６の状態取得処理Ｓ２０と、図１２の通信量取得処理Ｓ５０と、図１３の判定処理Ｓ３０ａと、図１４のメッセージ取得処理Ｓ４０ａとを有する。
【００５９】
＜メッセージ情報取得処理Ｓ１０および状態取得処理Ｓ２０＞
メッセージ情報取得処理Ｓ１０および状態取得処理Ｓ２０については、実施の形態１の図５および図６で説明したものと同様である。
【００６０】
＜通信量取得処理Ｓ５０＞
図１２を用いて、本実施の形態に係る通信量取得処理Ｓ５０について説明する。
通信量取得処理Ｓ５０において、通信量測定部１９０は、車両の現在の状態を現在状態１８２として取得する。状態取得処理Ｓ２０の具体的な処理は、以下の通りである。
【００６１】
ステップＳ５１において、通信量測定部１９０は、プロトコル変換部１５０から通信メッセージ５０１を受け取る。
ステップＳ５２において、通信量測定部１９０は、プロトコル変換部１５０から受け取った通信メッセージ５０１のメッセージ種別を取得する。また、通信量測定部１９０は、記憶部１８０から現在状態１８２を取得する。
ステップＳ５３において、通信量測定部１９０は、取得した通信メッセージ５０１について、ＸＸ時間に受信した通信量を測定する。なお、ＸＸ時間は任意の時間とする。通信量測定部１９０は、測定した通信量を、通信メッセージ５０１のメッセージ種別について、現在状態１８２において受信した通信量として、記憶部１８０の通信量１８３を上書きする。なお、ＸＸは任意の時間とする。
【００６２】
＜判定処理Ｓ３０ａ＞
判定処理Ｓ３０ａにおいて、判定部１６０は、現在状態１８２と通信メッセージ５０１の通信量１８３と、メッセージ情報１８１ａとに基づいて、車両が現在状態１８２である場合に、通信量１８３が通信量閾値８４以内であるか否かを判定する。判定部１６０は、通信量１８３が通信量閾値８４以内であるか否かにより、通信メッセージ５０１の通信が許可されているか否かを判定する。判定処理Ｓ３０ａの具体的処理は、以下の通りである。
【００６３】
図１３を用いて、本実施の形態に係る判定処理Ｓ３０ａについて説明する。
ステップＳ３１において、判定部１６０は、プロトコル変換部１５０から通信メッセージ５０１を受け取る。判定部１６０は、通信メッセージ５０１を特定する通信メッセージ属性５０２を取得する。通信メッセージ属性５０２には、通信メッセージ５０１のメッセージ種別が含まれる。
ステップＳ３２において、判定部１６０は、メッセージ情報取得処理Ｓ１０において取得したメッセージ情報１８１のメッセージ種別８２に、通信メッセージ属性５０２に含まれるメッセージ種別に該当するものが存在するか確認する。存在する場合は、処理はステップＳ３３ａに進む。存在しない場合は、処理はステップＳ３５に進む。
なお、ステップＳ３１およびステップＳ３２の処理は、実施の形態１の図７で説明したものと同様である。
【００６４】
ステップＳ３３ａにおいて、判定部１６０は、通信メッセージ５０１を解析し、通信メッセージ５０１に対応する通信量１８３を記憶部１８０から取得する。
ステップＳ３４ａにおいて、判定部１６０は、メッセージ情報１８１と、車両の現在状態１８２と、通信メッセージ５０１の通信量１８３とに基づいて、通信メッセージ５０１の通信量１８３が、車両が現在状態１８２である場合の通信量閾値８４以内であるか否かを判定する。通信量閾値８４以内である場合は、処理はステップＳ３６に進む。許可されていない場合は、処理はステップＳ３５に進む。
【００６５】
ステップＳ３５において、判定部１６０は、プロトコル変換部１５０に転送不可の判定結果１６１を出力する。
ステップＳ３６において、判定部１６０は、プロトコル変換部１５０に転送許可の判定結果１６１を出力する。
なお、ステップＳ３５およびステップＳ３６の処理は、実施の形態１の図７で説明したものと同様である。
【００６６】
＜メッセージ取得処理Ｓ４０ａ＞
図１４を用いて、本実施の形態に係るメッセージ取得処理Ｓ４０ａについて説明する。
ステップＳ４１からステップＳ４２まで、および、ステップＳ４４からステップＳ４７までの処理は、実施の形態１の図８で説明したものと同様である。実施の形態１の図８と異なる処理は、ステップＳ４３ａである。
ステップＳ４３ａにおいて、プロトコル変換部１５０は、変換後の通信メッセージ５０１を判定部１６０と通信量測定部１９０に出力する。
【００６７】
＊＊＊他の構成＊＊＊
実施の形態１と同様に、本実施の形態に係る車両通信監視装置１００ａは、不正メッセージをブロックした際に、車載ディスプレイあるいはスピーカといった出力装置により運転手へ通知する機能を備えてもよい。この機能により、運転手は車載システム６０２が攻撃されていること認識し、車両を停車させるといった対応が可能になる。
【００６８】
また、本実施の形態においても、実施の形態１と同様に、車両内部から車両外部へのメッセージについても同様に処理してもよい。これにより、車載システム６０２の不正操作による機密情報あるいは個人情報の漏洩を防止できる。なお、車両内部から車両外部へのメッセージを処理する際、プロトコル変換部は、内部受信制御部から受信したプロトコル変換前のメッセージを通信メッセージとして判定部および受信量測定部に送信する。そして、プロトコル変換部は、判定部からの判定結果が転送許可の場合、通信メッセージのプロトコルを変換し、変換後の通信メッセージを外部送信制御部に出力する。
【００６９】
＊＊＊本実施の形態に係る効果の説明＊＊＊
本実施の形態に係る車両通信監視装置１００ａでは、車両状態を把握し、現状の車両状態で許可されている通信量を超過したメッセージの転送を禁止することで、不正メッセージが車両内部ネットワークへ侵入することによる車載システム６０２のハッキングを防止する。本実施の形態に係る車両通信監視装置１００ａによれば、メッセージの詳細メッセージ内容までは確認しないので、送信先のＨｅａｄ  ＵｎｉｔあるいはＥＣＵといったメッセージの宛先が判別できれば、暗号化された通信であっても不正メッセージをブロックすることができる。
【００７０】
以上、実施の形態１および２について説明した。実施の形態１および２では、車両通信監視装置の各部が独立した機能ブロックとして車両通信監視装置を構成している。しかし、上述した実施の形態のような構成でなくてもよく、車両通信監視装置の構成は任意である。車両通信監視装置を構成する機能ブロックは、上述した実施の形態で説明した機能を実現することができれば、任意である。これらの機能ブロックを、他のどのような組み合わせ、あるいは任意のブロック構成で、車両通信監視装置を構成しても構わない。
また、車両通信監視装置は、１つの装置でなく、複数の装置から構成されたシステムでもよい。
【００７１】
実施の形態１および２について説明したが、これら実施の形態のうち、複数の部分を組み合わせて実施しても構わない。あるいは、これら実施の形態のうち、１つの部分を実施しても構わない。その他、これら実施の形態を、全体としてあるいは部分的に、どのように組み合わせて実施しても構わない。
なお、上述した実施の形態は、本質的に好ましい例示であって、本発明、その適用物および用途の範囲を制限することを意図するものではなく、必要に応じて種々の変更が可能である。
【符号の説明】
【００７２】
５０  メッセージ取得部、１００，１００ａ  車両通信監視装置、１１０  外部送信制御部、１２０  外部受信制御部、１３０  内部送信制御部、１４０  内部受信制御部、１５０  プロトコル変換部、１６０  判定部、１６１  判定結果、１７０  状態取得部、１８０  記憶部、１８１，１８１ａ，１８１ｘ，１８１ｙ  メッセージ情報、１８２  現在状態、１８３  通信量、１９０  通信量測定部、８１  行番号、８２  メッセージ種別、８３  詳細メッセージ内容、８４  通信量閾値、５０１  通信メッセージ、５０２  通信メッセージ属性、６０１  外部システム、６０２  車載システム、６１０，６１０ａ  車両通信監視方法、６２０，６２０ａ  車両通信監視プログラム、８１１  車両状態、８１２  メッセージ属性、８１３，８１３ｘ，８１３ｙ  許否情報、９０９  処理回路、９１０  プロセッサ、９２０  記憶装置、９２１  メモリ、９２２  補助記憶装置、９３０  入力インタフェース、９４０  出力インタフェース、９５１  外部インタフェース、９５２  内部インタフェース、Ｓ１００  車両通信監視処理、Ｓ１０  メッセージ情報取得処理、Ｓ２０  状態取得処理、Ｓ３０，Ｓ３０ａ  判定処理、Ｓ４０  メッセージ取得処理、Ｓ５０  通信量取得処理。
【要約】
記憶部（１８０）が、車両状態と、通信されるメッセージを特定するメッセージ属性と、そのメッセージ属性により特定されるメッセージの通信の許否情報とが対応付けられたメッセージ情報（１８１）を記憶する。プロトコル変換部（１５０）が、車載システム（６０２）と外部システム（６０１）との間で通信されるメッセージを通信メッセージ（５０１）として取得する。判定部（１６０）が、通信メッセージ（５０１）を特定するメッセージ属性と、車両の現在の状態である現在状態（１８２）と、メッセージ情報（１８１）とに基づいて、車両が現在状態（１８２）である場合に通信メッセージ（５０１）の通信が許可されているか否かを判定する。【図１】
0006279174.tif 000002
【図２】
0006279174.tif 000003
【図３】
0006279174.tif 000004
【図４】
0006279174.tif 000005
【図５】
0006279174.tif 000006
【図６】
0006279174.tif 000007
【図７】
0006279174.tif 000008
【図８】
0006279174.tif 000009
【図９】
0006279174.tif 000010
【図１０】
0006279174.tif 000011
【図１１】
0006279174.tif 000012
【図１２】
0006279174.tif 000013
【図１３】
0006279174.tif 000014
【図１４】
0006279174.tif 000015