(57)【要約】  通信制御装置（１３０）は、バスと、エンジンＥＣＵとを接続し、エンジンＥＣＵからメッセージを受信して当該メッセージをバスへ送信し、バスからメッセージを受信して当該メッセージをエンジンＥＣＵへ送信する通信部（１１８）と、エンジンＥＣＵから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部（１１６）と、通信部（１１８）および送信ＩＤリスト保持部（１１６）を制御する制御部（１１４）と、を備え、制御部（１１４）は、エンジンＥＣＵから送信されるメッセージに含まれる送信ＩＤが送信ＩＤリストに存在しない場合に、当該送信ＩＤを送信ＩＤリストに追加し、送信ＩＤリストに関わる情報を、バスへ送信する。
2019225259.tif 000002
【特許請求の範囲】
【請求項１】
１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける通信制御装置であって、
前記通信制御装置は、
前記ネットワークバスと、前記１以上の電子制御ユニットのうちのいずれかの電子制御ユニットとを接続し、
前記電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、
前記通信部および前記送信ＩＤリスト保持部を制御する制御部と、を備え、
前記制御部は、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、
前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信する、
通信制御装置。
【請求項２】
前記制御部は、前記通信部が前記ネットワークバスから前記送信ＩＤリストに関わる情報を要求することを示す所定の識別子を含むメッセージを受信したときに、前記送信ＩＤリストに関わる情報を前記ネットワークバスへ送信する、
請求項１記載の通信制御装置。
【請求項３】
前記制御部は、前記送信ＩＤを前記送信ＩＤリストに追加したときに、前記送信ＩＤリストに関わる情報を前記ネットワークバスへ送信する、
請求項１または２記載の通信制御装置。
【請求項４】
前記制御部は、さらに、前記電子制御ユニットから送信されるメッセージの数を計測し、前記メッセージの数に関わる情報を前記ネットワークバスへ送信する、
請求項１〜３のいずれか１項に記載の通信制御装置。
【請求項５】
前記送信ＩＤリストに関わる情報は、送信ＩＤリストである、
請求項１〜４のいずれか１項に記載の通信制御装置。
【請求項６】
前記制御部は、さらに、前記通信部が前記ネットワークバスから不正な送信ＩＤリストを通知するための不正通知メッセージを受信した場合に、当該不正な送信ＩＤリストが、前記送信ＩＤリスト保持部に保持された前記送信ＩＤリストと一致するときには、以降、前記電子制御ユニットから送信される、不正な送信ＩＤを含むメッセージを、前記ネットワークバスに送信しない、
請求項５記載の通信制御装置。
【請求項７】
前記制御部は、さらに、前記通信部が前記ネットワークバスから不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージを受信した場合に、当該不正な送信ＩＤリストに関わる情報が、前記送信ＩＤリスト保持部に保持された前記送信ＩＤリストに関わる情報と一致するときには、以降、前記電子制御ユニットから送信されるメッセージを、前記ネットワークバスに送信しない、
請求項１〜６のいずれか１項に記載の通信制御装置。
【請求項８】
１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける、前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットであって、
前記不正検知電子制御ユニットは、
前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、
前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、
前記送受信部および前記正規ＩＤリスト保持部を制御する不正検知部と、を備え、
前記不正検知部は、
前記送受信部が前記ネットワークバスから、前記１以上の電子制御ユニットが送信したメッセージに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、
前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する、
不正検知電子制御ユニット。
【請求項９】
１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムであって、
前記モビリティネットワークシステムは、前記１以上の電子制御ユニットと前記ネットワークバスとをそれぞれ接続する１以上の通信制御装置と、
前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットと、を備え、
前記１以上の通信制御装置は、それぞれ、
当該通信制御装置に接続される電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、
前記通信部および前記送信ＩＤリスト保持部を制御する制御部と、を備え、
前記制御部は、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、
前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信し、
前記不正検知電子制御ユニットは、
前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、
前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、
前記送受信部および前記正規ＩＤリスト保持部を制御する不正検知部と、を備え、
前記不正検知部は、
前記送受信部が前記ネットワークバスから、前記送信ＩＤのリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、
前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致していない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する、
モビリティネットワークシステム。
【請求項１０】
１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける通信制御装置により実行される通信制御方法であって、
前記通信制御装置は、
前記ネットワークバスと、前記１以上の電子制御ユニットのうちのいずれかの電子制御ユニットとを接続し、
前記電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、を備え、
前記通信制御方法では、
前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、
前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信する、
通信制御方法。
【請求項１１】
請求項１０に記載の通信制御方法をコンピュータに実行させるプログラム。
【請求項１２】
１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける、前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットにより実行される不正検知方法であって、
前記不正検知電子制御ユニットは、
前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、
前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、を備え、
前記不正検知方法では、
前記送受信部が前記ネットワークバスから、前記１以上の電子制御ユニットが送信したメッセージに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、
前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する、
不正検知方法。
【請求項１３】
請求項１２に記載の不正検知方法をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、モビリティネットワークシステムで用いられる通信制御装置等に関する。
【背景技術】
【０００２】
近年、自動車の中のシステムには、電子制御ユニット（Ｅｌｅｃｔｒｏｎｉｃ  ＣｏｎｔｒｏｌＵｎｉｔ：以下、ＥＣＵとも呼ぶ）と呼ばれる装置が多数配置されている。これらのＥＣＵをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在するが、その中でも最も主流な規格の一つに、Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（以下、ＣＡＮ）という規格が存在する。【０００３】
ＣＡＮでは、不正なデータフレーム（メッセージ）が送信されるようなケースを想定したセキュリティ機能が存在しないため、例えば、攻撃者によって不正なノードが勝手にＣＡＮのバスに接続され、不正なノードが不正なデータフレームを送信することで、車両を不正にコントロールしてしまうことが可能である。【０００４】
このような状況において、非特許文献１では、車載ネットワークに送信されたデータフレームから不正なデータフレームを検知した後に、不正なデータフレームを送信したＥＣＵを遮断する方法を開示している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Ｓｍａｒｔ  ＣＡＮ  ｃａｂｌｅ，  Ａｎｏｔｈｅｒ  ｐｒｏｐｏｓａｌ  ｏｆ  ｉｎｔｒｕｓｉｏｎ  ｐｒｅｖｅｎｔｉｏｎ  ｓｙｓｔｅｍ（ＩＰＳ）  ｆｏｒ  ｉｎ−ｖｅｈｉｃｌｅ  ｎｅｔｗｏｒｋｓ  −  ＬＡＣ  Ｃｏ．，Ｌｔｄ．，  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ｃｒｙｐｔｏｇｒａｐｈｙ  ａｎｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｃｕｒｉｔｙ，  ２０１８．
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、非特許文献１に開示されている方法では、正常なデータフレームを誤って不正なデータフレームとして検知してしまった場合に、正常なＥＣＵを誤って遮断してしまう。正常なＥＣＵを誤って遮断してしまうと、自動車が正常に機能しなくなり、自動車の安全性に影響を及ぼす可能性がある。【０００７】
そこで、本開示は、不正なＥＣＵを精度よく検知できる通信制御装置等を提供する。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、本開示の一態様に係る通信制御装置は、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける通信制御装置であって、前記通信制御装置は、前記ネットワークバスと、前記１以上の電子制御ユニットのうちのいずれかの電子制御ユニットとを接続し、前記電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、前記通信部および前記送信ＩＤリスト保持部を制御する制御部と、を備え、前記制御部は、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信する。【０００９】
なお、上記の包括的または具体的な態様は、システム、装置、方法、集積回路、コンピュータプログラムまたはコンピュータ読取可能な記録ディスク等の記録媒体で実現されてもよく、システム、装置、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。コンピュータ読み取り可能な記録媒体は、例えばＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の不揮発性の記録媒体を含む。
【発明の効果】
【００１０】
本開示によれば、不正なＥＣＵを精度よく検知できる。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施の形態１における、モビリティネットワークシステムの全体構成を示す図である。
【図２】図２は、実施の形態１における、ＣＡＮプロトコルのデータフレームのフォーマットを示す図である。
【図３】図３は、実施の形態１における、ＣＡＮプロトコルのエラーフレームのフォーマットを示す図である。
【図４Ａ】図４Ａは、実施の形態１における、通信制御装置の構成を示す図である。
【図４Ｂ】図４Ｂは、実施の形態１における、通信制御装置の別の構成を示す図である。
【図５】図５は、実施の形態１における、不正検知ＥＣＵの構成を示す図である。
【図６】図６は、実施の形態１における、エンジンＥＣＵの構成を示す図である。
【図７】図７は、実施の形態１における、ブラックリストの一例を示す図である。
【図８】図８は、実施の形態１における、送信ＩＤリストの一例を示す図である。
【図９】図９は、実施の形態１における、通信制御装置の状態の一例を示す図である。
【図１０】図１０は、実施の形態１における、正規ＩＤリスト保持部に格納される正規の送信ＩＤリストの一例を示す図である。
【図１１】図１１は、実施の形態１における、通信制御装置の処理を示すフローチャートである。
【図１２】図１２は、実施の形態１における、通信制御装置の処理を示す別のフローチャートである。
【図１３】図１３は、実施の形態１における、通信制御装置の処理を示すさらに別のフローチャートである。
【図１４】図１４は、実施の形態１における、不正検知ＥＣＵの処理を示すフローチャートである。
【図１５】図１５は、実施の形態１における、不正なＥＣＵを遮断するシーケンスを示す図である。
【図１６】図１６は、実施の形態１における、不正なＥＣＵを遮断するシーケンスを示す図である。
【発明を実施するための形態】
【００１２】
本開示の一実施態様の通信制御装置は、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける通信制御装置であって、前記通信制御装置は、前記ネットワークバスと、前記１以上の電子制御ユニットのうちのいずれかの電子制御ユニットとを接続し、前記電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、前記通信部および前記送信ＩＤリスト保持部を制御する制御部と、を備え、前記制御部は、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信する。
【００１３】
通信制御装置は、自身を介してネットワークバスに接続するＥＣＵ（通信制御装置に接続されるＥＣＵ）から受信したメッセージに含まれる送信ＩＤを送信ＩＤリストに追加していく。そして、通信制御装置は、送信ＩＤリストに関わる情報をネットワークバスへ例えば定期的に送信する。例えば、ネットワークバスには、当該ＥＣＵが送信するメッセージについての正規の送信ＩＤリストに関わる情報を予め保持する不正検知ＥＣＵが配置されているとする。これにより、当該ＥＣＵが不正に書き換えられる等して、不正なメッセージをネットワークバスに送信するようになったとしても、通信制御装置が、ネットワークバスに、送信ＩＤリストに関わる情報を送信することで、不正検知ＥＣＵが通信制御装置から送信された不正な送信ＩＤを含み得る送信ＩＤリストに関わる情報を受信し、正規の送信ＩＤリストと照合することで、不正を検知できる。したがって、ＥＣＵごとに対応する送信ＩＤリストに基づいた不正検知が可能となり、不正なＥＣＵを精度よく検知できる。その結果、正常なＥＣＵを誤って不正なＥＣＵと判断せずに、不正なＥＣＵのみを遮断することができ、モビリティネットワークシステムの安全性の向上につなげることができる。
【００１４】
また、前記制御部は、前記通信部が前記ネットワークバスから前記送信ＩＤリストに関わる情報を要求することを示す所定の識別子を含むメッセージを受信したときに、前記送信ＩＤリストに関わる情報を前記ネットワークバスへ送信してもよい。
【００１５】
これにより、外部からの要求にしたがって、送信ＩＤリストに関わる情報を送信することが可能となり、平常時のネットワークトラフィックへの影響を抑制できる。
【００１６】
また、前記制御部は、前記送信ＩＤを前記送信ＩＤリストに追加したときに、前記送信ＩＤリストに関わる情報を前記ネットワークバスへ送信してもよい。
【００１７】
これにより、送信ＩＤリストが更新されたときに、送信ＩＤリストに関わる情報を送信することが可能となり、ネットワークトラフィックへの影響を抑制できる。
【００１８】
また、前記制御部は、さらに、前記電子制御ユニットから送信されるメッセージの数を計測し、前記メッセージの数に関わる情報を前記ネットワークバスへ送信してもよい。
【００１９】
これにより、送信ＩＤリストに関わる情報に加えて、通信制御装置に接続されるＥＣＵから送信されるメッセージの数に関わる情報を用いることで、メッセージの数の観点からも異常を把握することが可能となり、さらに精度よく不正なＥＣＵを検知することができる。
【００２０】
また、前記送信ＩＤリストに関わる情報は、送信ＩＤリストであってもよい。例えば、前記制御部は、さらに、前記通信部が前記ネットワークバスから不正な送信ＩＤリストを通知するための不正通知メッセージを受信した場合に、当該不正な送信ＩＤリストが、前記送信ＩＤリスト保持部に保持された前記送信ＩＤリストと一致するときには、以降、前記電子制御ユニットから送信される、不正な送信ＩＤを含むメッセージを、前記ネットワークバスに送信しなくてもよい。
【００２１】
これにより、ネットワークバスに配置された不正検知ＥＣＵは、ネットワークバスから受信した送信ＩＤリストに関わる情報として送信ＩＤリストによって、具体的に不正な送信ＩＤを把握することが可能となり、不正な送信ＩＤのメッセージのみの送信を停止するように通信制御装置に要求することができ、安全性を向上できる。
【００２２】
また、前記制御部は、さらに、前記通信部が前記ネットワークバスから不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージを受信した場合に、当該不正な送信ＩＤリストに関わる情報が、前記送信ＩＤリスト保持部に保持された前記送信ＩＤリストに関わる情報と一致するときには、以降、前記電子制御ユニットから送信されるメッセージを、前記ネットワークバスに送信しなくてもよい。
【００２３】
これにより、通信制御装置は、不正なＥＣＵをネットワークバスから遮断することが可能となり、モビリティネットワークシステムに不正なＥＣＵが与える影響を軽減できる。
【００２４】
また、本開示の一態様に係る不正検知電子制御ユニットは、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける、前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットであって、前記不正検知電子制御ユニットは、前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、前記送受信部および前記正規ＩＤリスト保持部を制御する不正検知部と、を備え、前記不正検知部は、前記送受信部が前記ネットワークバスから、前記１以上の電子制御ユニットが送信したメッセージに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する。
【００２５】
不正検知電子制御ユニットは、ネットワークバスに配置されたＥＣＵが送信するメッセージについての正規の送信ＩＤリストに関わる情報を予め保持している。これにより、不正検知電子制御ユニットは、ネットワークバスから受信した不正な送信ＩＤを含み得る送信ＩＤリストに関わる情報と、正規の送信ＩＤリストに関わる情報とを照合することで、不正なＥＣＵを精度よく検知でき、モビリティネットワークシステムの安全性を向上できる。
【００２６】
また、本開示の一態様に係るモビリティネットワークシステムは、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムであって、前記モビリティネットワークシステムは、前記１以上の電子制御ユニットと前記ネットワークバスとをそれぞれ接続する１以上の通信制御装置と、前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットと、を備え、前記１以上の通信制御装置は、それぞれ、当該通信制御装置に接続される電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、前記通信部および前記送信ＩＤリスト保持部を制御する制御部と、を備え、前記制御部は、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信し、前記不正検知電子制御ユニットは、前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、前記送受信部および前記正規ＩＤリスト保持部を制御する不正検知部と、を備え、前記不正検知部は、前記送受信部が前記ネットワークバスから、前記送信ＩＤのリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致していない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する。
【００２７】
これにより、不正なＥＣＵを精度よく検知できるモビリティネットワークシステムを提供できる。
【００２８】
また、本開示の一態様に係る通信制御方法は、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける通信制御装置により実行される通信制御方法であって、前記通信制御装置は、前記ネットワークバスと、前記１以上の電子制御ユニットのうちのいずれかの電子制御ユニットとを接続し、前記電子制御ユニットからメッセージを受信して当該メッセージを前記ネットワークバスへ送信し、前記ネットワークバスからメッセージを受信して当該メッセージを前記電子制御ユニットへ送信する通信部と、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部と、を備え、前記通信制御方法では、前記電子制御ユニットから送信されるメッセージに含まれる送信ＩＤが前記送信ＩＤリストに存在しない場合に、当該送信ＩＤを前記送信ＩＤリストに追加し、前記送信ＩＤリストに関わる情報を、前記ネットワークバスへ送信する。
【００２９】
これにより、不正なＥＣＵを精度よく検知できる通信制御方法を提供できる。
【００３０】
また、本開示の一態様に係るプログラムは、上記の通信制御方法をコンピュータに実行させるプログラムである。
【００３１】
これにより、不正なＥＣＵを精度よく検知できるプログラムを提供できる。
【００３２】
また、本開示の一態様に係る不正検知方法は、１以上の電子制御ユニットと、ネットワークバスと、から構成されるモビリティネットワークシステムにおける、前記１以上の電子制御ユニットの中から不正な電子制御ユニットを検知する不正検知電子制御ユニットにより実行される不正検知方法であって、前記不正検知電子制御ユニットは、前記ネットワークバスに対して、メッセージの送受信を行う送受信部と、前記１以上の電子制御ユニットが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部と、を備え、前記不正検知方法では、前記送受信部が前記ネットワークバスから、前記１以上の電子制御ユニットが送信したメッセージに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、前記１以上の正規の送信ＩＤリストに関わる情報とを照合し、前記１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、前記ネットワークバスへ送信する。
【００３３】
これにより、不正なＥＣＵを精度よく検知できる通信制御方法を提供できる。
【００３４】
また、本開示の一態様に係るプログラムは、上記の不正検知方法をコンピュータに実行させるプログラムである。
【００３５】
これにより、不正なＥＣＵを精度よく検知できるプログラムを提供できる。
【００３６】
以下、図面を参照しながら、本開示の実施の形態に関わるモビリティネットワーク不正検知システムについて説明する。なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【００３７】
（実施の形態１）
以下、複数のＥＣＵが、ＣＡＮバスを介して通信するモビリティネットワークシステム（例えば車載ネットワークシステム）における不正検知ＥＣＵおよび通信制御装置について説明する。
【００３８】
［１．１  モビリティネットワークシステムの全体構成］
図１は、本実施の形態における、モビリティネットワークシステム１０の全体構成を示す図である。モビリティネットワークシステム１０は、図１に示すように、例えば車両（例えば自動車）に搭載される。図１において、モビリティネットワークシステム１０は、１以上のＥＣＵとして、通信制御装置１１０、１２０、１３０、１４０、１５０、１６０、診断ポート２１０、不正検知ＥＣＵ２２０、エンジンＥＣＵ２３０、ブレーキＥＣＵ２４０、インパネ（インストルメントパネル）ＥＣＵ２５０、および、ＩＶＩ（Ｉｎ−Ｖｅｈｉｃｌｅ  Ｉｎｆｏｒｔａｉｎｍｅｎｔ）  ＥＣＵ２６０と、バス１００（ネットワークバス）と、から構成される。例えば、図１に示す例では、モビリティネットワークシステム１０は、複数のＥＣＵのそれぞれに対応するように設けられた複数の通信制御装置を備える。
【００３９】
例えば、通信制御装置１３０に着目すると、通信制御装置１３０は、バス１００と複数のＥＣＵのうちのいずれかのＥＣＵ（ここではエンジンＥＣＵ２３０）の間に配置される。エンジンＥＣＵ２３０がバス１００へ向けてメッセージを送信する際、および、エンジンＥＣＵ２３０がバス１００からメッセージを受信する際に、通信制御装置１３０を介してメッセージの送受信が行われる。なお、以下では、メッセージをデータフレームとも呼ぶ。
【００４０】
ＥＣＵは、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、プロセッサにより実行されるプログラムを記憶することができる。例えばプロセッサが、プログラムに従って動作することにより、ＥＣＵは各種機能を実現することになる。ＥＣＵは、例えば、ＣＡＮプロトコルに従ってモビリティネットワークにおけるネットワークバスを介してデータフレームの送受信を行う。
【００４１】
各ＥＣＵは、ネットワークバスに対して、ＣＡＮのプロトコルに従ったデータフレームを送受信する。例えば、ネットワークバスから他のＥＣＵが送信したデータフレームを受信し、また、他のＥＣＵに送信したい内容を含むデータフレームを生成してバスに送信する。具体的には、各ＥＣＵは、受信したデータフレームの内容に応じた処理を行い、また、ＥＣＵに接続されている機器、センサ等の状態を示すデータフレームもしくは他のＥＣＵへの指示値（制御値）等のデータフレームを生成して送信する。
【００４２】
診断ポート２１０は、通信制御装置１１０に接続され、バス１００を介して通信を行う。診断ポート２１０は、一般にＯＢＤ（Ｏｎ−Ｂｏａｒｄ  Ｄｉａｇｎｏｓｔｉｃ）ポートと呼ばれるポートであり、ディーラーが保持する専用端末が接続され、バス１００に接続されるＥＣＵの故障診断等を行うためのポートである。
【００４３】
不正検知ＥＣＵ２２０は、通信制御装置１２０に接続され、バス１００を介して通信を行う。不正検知ＥＣＵ２２０は、バス１００を監視し、不正なデータフレームが送信されていないか、あるいは、不正なＥＣＵが接続されていないかを検証するＥＣＵであり、例えばＩＤＳ（Ｉｎｔｒｕｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ  Ｓｙｓｔｅｍ）  ＥＣＵである。
【００４４】
エンジンＥＣＵ２３０は、通信制御装置１３０に接続され、バス１００を介して通信を行う。エンジンＥＣＵ２３０は、バス１００から取得する情報に基づいて、エンジンの回転数を制御するＥＣＵである。図１では、エンジンＥＣＵ２３０に接続されるエンジンの記載を省略している。
【００４５】
ブレーキＥＣＵ２４０は、通信制御装置１４０に接続され、バス１００を介して通信を行う。ブレーキＥＣＵ２４０は、バス１００から取得する情報に基づいて、ブレーキの制御を行うＥＣＵである。図１では、ブレーキＥＣＵ２４０に接続されるブレーキの記載を省略している。
【００４６】
インパネＥＣＵ２５０は、通信制御装置１５０に接続され、バス１００を介して通信を行う。インパネＥＣＵ２５０は、バス１００から取得する情報に基づいて、インストルメントパネルの表示を制御するＥＣＵである。図１では、インパネＥＣＵ２５０に接続されるインストルメントパネルの記載を省略している。
【００４７】
ＩＶＩ  ＥＣＵ２６０は、通信制御装置１６０に接続され、バス１００を介して通信を行う。ＩＶＩ  ＥＣＵ２６０は、車内の情報や娯楽の端末、具体的には、カーナビ（カーナビゲーションシステム）またはオーディオヘッドユニット等に接続されるＥＣＵであり、これらの端末の制御を行うＥＣＵである。ＩＶＩ  ＥＣＵ２６０は、図示していない外部サーバと専用回線でつながっており、地図情報またはアプリケーションのアップデート等を行う機能を持つ。図１では、カーナビおよびオーディオヘッドユニットの記載を省略している。
【００４８】
通信制御装置の詳細については後述する。
【００４９】
なお、モビリティネットワークシステム１０における複数のＥＣＵには、通信制御装置を介さずにバス１００に接続されるＥＣＵが含まれていてもよい。例えば、車両の安全性に大きな影響を及ぼす可能性の高い走行制御に関わるＥＣＵとバス１００との間のみに異常検知装置を接続することでコストダウンを図ってもよい。
【００５０】
［１．２  データフレームフォーマット］
図２は、本実施の形態における、ＣＡＮプロトコルのデータフレームのフォーマットを示す図である。図２のフォーマットは、ＣＡＮプロトコルにおける標準ＩＤフォーマットにおけるデータフレームを示している。
【００５１】
図２において、データフレームは、Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ（ＳＯＦ）、ＩＤフィールド、Ｒｅｍｏｔｅ  Ｔｒａｎｓｉｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ（ＲＴＲ）、ＩＤｅｎｔｉｆｉｅｒ  Ｅｘｔｅｎｓｉｏｎ（ＩＤＥ）、予約ｂｉｔ（ｒ）、データレングスコード（ＤＬＣ）、データフィールド、ＣＲＣシーケンス、ＣＲＣデリミタ（ＤＥＬ）、Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔスロット（ＡＣＫ）、ＡＣＫデリミタ（ＤＥＬ）、および、エンドオブフレーム（ＥＯＦ）から構成される。
【００５２】
ＳＯＦとは、１ｂｉｔのドミナントで構成される。バスがアイドルの状態はレセシブになっており、ここからドミナントへ変更することでフレームの送信開始を通知する。
【００５３】
ＩＤフィールドとは、１１ｂｉｔで構成される、データの種類を示す値であるＩＤが格納されるフィールドである。複数のノードが同時に送信を開始した場合、このフィールドで通信調停を行うために、ＩＤが小さい値を持つデータフレームが高い優先度となるよう設計されている。
【００５４】
ＲＴＲとは、データフレームを示すドミナント１ｂｉｔで構成される。
【００５５】
ＩＤＥとｒは、それぞれドミナント１ｂｉｔで構成される。
【００５６】
ＤＬＣは、４ｂｉｔで構成される、データフィールドの長さを示す値である。
【００５７】
データフィールドは、最大６４ｂｉｔで構成される送信するデータの内容を示す値である。８ｂｉｔ毎に長さを調整できる。送られるデータの仕様については、車種または製造者に依存する。
【００５８】
ＣＲＣシーケンスは、１５ｂｉｔで構成される。ＳＯＦ、ＩＤフィールド、コントロールフィールドおよびデータフィールドの送信より算出される。
【００５９】
ＣＲＣデリミタとは、１ｂｉｔのレセシブで構成されるＣＲＣシーケンスの終了を表す区切り記号である。
【００６０】
ＡＣＫとは、１ｂｉｔで構成される。送信ノードはレセシブで送信を行う。受信ノードはＣＲＣシーケンスまで正常に受信ができていればドミナントを送信することで、ドミナントが優先される。
【００６１】
ＡＣＫデリミタとは、１ｂｉｔのレセシブで構成されるＡＣＫの終了を表す区切り記号である。
【００６２】
ＥＯＦとは、７ｂｉｔのレセシブで構成されており、データフレームの終了を示す。
【００６３】
［１．３  エラーフレームフォーマット］
図３は、本実施の形態における、ＣＡＮプロトコルのエラーフレームのフォーマットを示す図である。エラーフレームは、エラーフラグ（プライマリ）と、エラーフラグ（セカンダリ）と、エラーデリミタ（ＤＥＬ）と、から構成される。
【００６４】
エラーフラグ（プライマリ）とは、エラーの発生を他のノードに知らせるために使用する。６ｂｉｔのドミナントを連続で送信することで、ＣＡＮプロトコルにおけるビットスタッフィングルール（連続して同じ値を６ｂｉｔ以上送信しない）に違反し、他のノードからのエラーフレーム（セカンダリ）の送信を引き起こす。
【００６５】
エラーフラグ（セカンダリ）とは、エラーの発生を他のノードに知らせるために、６ｂｉｔのドミナントを連続で送信する。エラーフラグ（プライマリ）を受信した全てのノードが送信する。
【００６６】
エラーデリミタ（ＤＥＬ）とは、８ｂｉｔのレセシブを連続で送信することでエラーフレーム送信の終了を通知する。
【００６７】
［１．４  通信制御装置の構成］
次に、通信制御装置の構成について説明する。ここでは、通信制御装置１３０に着目して説明する。
【００６８】
図４Ａは、本実施の形態における通信制御装置１３０の構成を示す図である。なお、通信制御装置１１０、１２０、１４０、１５０、１６０は、通信制御装置１３０の構成と同様の構成であるため説明は省略する。
【００６９】
図４Ａにおいて、通信制御装置１３０は、通信部１１８、制御部１１４、ブラックリスト保持部１１５、送信ＩＤリスト保持部１１６および状態保持部１１７を備える。通信制御装置１３０は、例えば、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ＲＯＭ、ＲＡＭ等であり、プロセッサにより実行されるプログラムを記憶することができる。例えば、プロセッサが、プログラムに従って動作することにより、通信制御装置１３０は制御部１１４を実現することになる。通信部１１８は、例えば通信回路により実現される。ブラックリスト保持部１１５、送信ＩＤリスト保持部１１６および状態保持部１１７は、例えばメモリにより実現される。
【００７０】
通信部１１８は、エンジンＥＣＵ２３０からデータフレームを受信して当該データフレームをバス１００へ送信し、また、バス１００からデータフレームを受信して当該データフレームをエンジンＥＣＵ２３０へ送信する。通信部１１８は、具体的には、トランシーバ部１１１、リピータ部１１２およびトランシーバ部１１３から構成される。
【００７１】
トランシーバ部１１１は、エンジンＥＣＵ２３０から送信されたデータフレームを受信し、０と１のデジタル信号を出力し、リピータ部１１２へ通知する。また、トランシーバ部１１１は、リピータ部１１２から通知されたデータフレームをエンジンＥＣＵ２３０へ送信する。
【００７２】
トランシーバ部１１３は、リピータ部１１２から通知されたデータフレームをバス１００へ送信する。また、トランシーバ部１１３は、バス１００から受信したデータフレームをリピータ部１１２へ通知する。
【００７３】
リピータ部１１２は、トランシーバ部１１１から受信したデータフレームを、制御部１１４へ通知する。制御部１１４が、トランシーバ部１１１から受信したデータフレームを送信可能と判断した場合、リピータ部１１２は、当該データフレームをトランシーバ部１１３へ通知する。また、リピータ部１１２は、トランシーバ部１１３から受信したデータフレームを、制御部１１４へ通知し、トランシーバ部１１１へ通知する。
【００７４】
ブラックリスト保持部１１５は、通信制御装置１３０から送信することを禁止するデータフレームに含まれるＩＤのリストであるブラックリストを格納している。ブラックリスト保持部１１５の詳細は、後述する。
【００７５】
送信ＩＤリスト保持部１１６は、通信制御装置１３０に接続されたエンジンＥＣＵ２３０から送信されるデータフレームに含まれる送信ＩＤのリストである送信ＩＤリストを保持する。送信ＩＤリスト保持部１１６の詳細は、後述する。
【００７６】
状態保持部１１７は、通信制御装置１３０の状態を示す情報を保持する。状態保持部１１７の詳細は、後述する。
【００７７】
制御部１１４は、通信部１１８（リピータ部１１２）、ブラックリスト保持部１１５、送信ＩＤリスト保持部１１６および状態保持部１１７を制御する。制御部１１４は、以下の処理を行う。
【００７８】
制御部１１４は、トランシーバ部１１１から通知されたデータフレームに含まれる送信ＩＤが、ブラックリスト保持部１１５に格納されている送信ＩＤか否かを判断する。トランシーバ部１１１から受信したデータフレームに含まれる送信ＩＤが、ブラックリスト保持部１１５に格納されている場合は、制御部１１４は、リピータ部１１２に対して、トランシーバ部１１１から通知されたデータフレームを、トランシーバ部１１３へ通知しないように通知する。
【００７９】
また、状態保持部１１７に格納されている通信制御装置１１０の状態が、「送信停止」の状態である場合、制御部１１４は、リピータ部１１２に対して、トランシーバ部１１１から受信したデータフレームを、トランシーバ部１１３へ通知しないように通知する。
【００８０】
制御部１１４は、さらに、エンジンＥＣＵ２３０から送信されるデータフレームに含まれる送信ＩＤが送信ＩＤリストに存在しない場合に、当該送信ＩＤを送信ＩＤリストに追加する。制御部１１４は、例えば、送信ＩＤリスト保持部１１６に保持されている送信ＩＤリストを用いて、送信ＩＤリストに関わる情報（例えばハッシュ値）を所定の間隔で計算し、送信ＩＤリスト保持部１１６に格納すると共に、当該ハッシュ値と通信制御装置ごとに定められたＩＤである装置ＩＤとをデータフレームに含めて、トランシーバ部１１３へ通知するようにリピータ部１１２へ通知する（つまり、送信ＩＤリストに関わる情報等をバス１００へ送信する）。例えば、制御部１１４は、通信部１１８がバス１００から送信ＩＤリストに関わる情報を要求することを示す所定の識別子を含むデータフレームを受信したときに、送信ＩＤリストに関わる情報をバス１００へ送信してもよい。所定の識別子は、送信ＩＤリストに関わる情報を要求することを示す識別子であれば特に限定されない。また、例えば、制御部１１４は、送信ＩＤを送信ＩＤリストに追加したときに（追加したタイミングで）、送信ＩＤリストに関わる情報をバス１００へ送信してもよい。
【００８１】
また、制御部１１４は、通信部１１８がバス１００から（具体的には不正検知ＥＣＵ２２０から）不正な送信ＩＤリストに関わる情報を通知するための不正通知データフレームを受信した場合に、当該不正な送信ＩＤリストに関わる情報が、送信ＩＤリスト保持部１１６に保持された送信ＩＤリストに関わる情報と一致するときには、以降、エンジンＥＣＵ２３０から送信されるデータフレームを、バス１００に送信しない。例えば、不正通知データフレームには、不正検知ＥＣＵ２２０から送信されたことを示す所定のＩＤ（例えばＩＤＳ  ＩＤ）が含まれているため、不正通知データフレームが不正な送信ＩＤリストに関わる情報を通知するためのデータフレームであることを制御部１１４は認識できる。
【００８２】
制御部１１４は、不正通知データフレームに含まれる送信ＩＤリストに関わる情報（例えばハッシュ値）と、送信ＩＤリスト保持部１１６に含まれる、送信ＩＤリストに関わる情報（例えばハッシュ値）とが一致するか否かを判断する。不正通知データフレームに含まれるハッシュ値と、送信ＩＤリスト保持部１１６に含まれる送信ＩＤリストのハッシュ値とが一致した場合に、制御部１１４は、送信ＩＤリスト保持部１１６に含まれる送信ＩＤリストが不正な送信ＩＤリストであると判断し、通信制御装置１３０の状態を「送信停止」として、状態保持部１１７に格納する。ここで、制御部１１４が、「送信ＩＤリスト保持部１１６に含まれるＩＤリストが不正な送信ＩＤリストであると判断する」、とは、「通信制御装置１３０に接続されるエンジンＥＣＵ２３０が不正なＥＣＵであると判断する」ということである。そして、制御部１１４は、通信制御装置１３０の状態が「送信停止」となっていることから、以降、エンジンＥＣＵから送信される、不正な送信ＩＤを含むデータフレームを、バス１００に送信しない。
【００８３】
なお、トランシーバ部１１３から通知された不正通知データフレームに含まれるＩＤがＩＤＳ  ＩＤである場合に、不正通知データフレームに、通信制御装置１３０の装置ＩＤと一致する値が含まれているときには、制御部１１４は、送信ＩＤリスト保持部１１６に含まれるＩＤリストが不正な送信ＩＤリストであると判断し、通信制御装置１３０の状態を「送信停止」として状態保持部１１７に格納してもよい。つまり、通信制御装置１３０は、自身が保持している送信ＩＤリストが不正なものか否かを不正通知データフレームを用いて判断する際に、不正通知データフレームに自身が保持している送信ＩＤリストのハッシュ値が含まれていれば不正なものとなっていると判断してもよいし、不正通知データフレームに自身の装置ＩＤが含まれていれば不正なものとなっていると判断してもよい。
【００８４】
なお、送信ＩＤリストに関わる情報がハッシュ値ではなく、送信ＩＤリストである場合、制御部１１４は、通信部１１８がバス１００から不正な送信ＩＤリストを通知するための不正通知メッセージを受信した場合に、当該不正な送信ＩＤリストが、送信ＩＤリスト保持部１１６に保持された送信ＩＤリストと一致するときには、以降、エンジンＥＣＵ２３０から送信される、不正な送信ＩＤを含むデータフレームを、バス１００に送信しなくてもよい。
【００８５】
［１．５  通信制御装置の別の構成］
図４Ｂは、本実施の形態における通信制御装置の別の構成を示す図である。図４Ｂにおいて、通信制御装置１３０ａは、後述するエンジンＥＣＵ２３０と一体構造になっている。通信制御装置１３０ａは、通信部１１８の代わりに通信部１１９を備え、さらに、エンジンＥＣＵ２３０の構成の一部である、フレーム解釈部２３２、フレーム生成部２３４および外部機器制御部２３３を備える点が通信制御装置１３０と異なる。
【００８６】
エンジンＥＣＵ２３０の構成の一部であるフレーム解釈部２３２、フレーム生成部２３４および外部機器制御部２３３については、後述する。
【００８７】
通信制御装置１３０ａは、通信制御装置１３０からトランシーバ部１１１を除いた構成である。言い換えると、通信部１１９は、通信部１１８からトランシーバ部１１１を除いた構成である。また、リピータ部１１２、トランシーバ部１１３、制御部１１４、ブラックリスト保持部１１５、送信ＩＤリスト保持部１１６の構成は、通信制御装置１１０で説明した内容と同じであるため説明は省略する。
【００８８】
通信制御装置１３０は、エンジンＥＣＵ２３０のトランシーバ、具体的には、後述するフレーム送受信部２３１からデータフレームが送信されることを想定した構成である。
【００８９】
これに対し、通信制御装置１３０ａは、エンジンＥＣＵ２３０のトランシーバからデータフレームを送受信する構成ではなく、エンジンＥＣＵ２３０に内蔵されるＣＡＮのコントローラである、フレーム生成部２３４およびフレーム解釈部２３２が一体化された構成である。これにより、部品数を抑えることが可能となり、開発コストの低下に効果的である。このように、通信制御装置の機能がＥＣＵに内蔵されていてもよい。
【００９０】
［１．６  不正検知ＥＣＵの構成］
次に、不正検知ＥＣＵ２２０の構成について説明する。図５は、本実施の形態における不正検知ＥＣＵ２２０の構成を示す図である。不正検知ＥＣＵ２２０は、送受信部２２１と、不正検知部２２２と、フレーム生成部２２３と、正規ＩＤリスト保持部２２４と、を備える。例えば、プロセッサが、プログラムに従って動作することにより、不正検知ＥＣＵ２２０は不正検知部２２２およびフレーム生成部２２３を実現することになる。送受信部２２１は、例えば通信回路により実現される。正規ＩＤリスト保持部２２４は、例えばメモリにより実現される。
【００９１】
送受信部２２１は、バス１００に対して、データフレームの送受信を行う。具体的には、送受信部２２１は、不正検知ＥＣＵ２２０に接続された通信制御装置１２０に対して、ＣＡＮのプロトコルに従ったデータフレームを送受信する。即ち、送受信部２２１は、通信制御装置１２０からフレームを１ｂｉｔずつ受信する。エラー無くデータフレームの受信が完了すると、送受信部２２１は、データフレーム内のＩＤ、ＤＬＣ、データ等の情報を不正検知部２２２に転送する。
【００９２】
また、送受信部２２１は、通信制御装置１２０から受信中のデータフレームがＣＡＮプロトコルに則っていないデータフレームであると判断した場合は、エラーフレームを通信制御装置１２０へ送信する。
【００９３】
また、送受信部２２１は、通信制御装置１２０からエラーフレームを受信した場合、つまり、受信したデータフレームがエラーフレームであると解釈した場合には、それ以降はそのデータフレームを破棄する。
【００９４】
また、送受信部２２１は、フレーム生成部２２３からデータフレームの送信要求を受けた場合には、通信制御装置１２０へデータフレームを送信する。
【００９５】
正規ＩＤリスト保持部２２４は、モビリティネットワークシステム１０における１以上のＥＣＵが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する。具体的には、正規ＩＤリスト保持部２２４には、モビリティネットワークシステム１０における複数のＥＣＵそれぞれについて、あらかじめ送信することが定められている送信ＩＤの一覧を示す正規の送信ＩＤリストおよび、正規の送信ＩＤリストのハッシュ値が保持されている。正規ＩＤリスト保持部２２４の詳細は、後述する。
【００９６】
不正検知部２２２は、送受信部２２１および正規ＩＤリスト保持部２２４を制御する。不正検知部２２２は、以下の処理を行う。
【００９７】
不正検知部２２２は、送受信部２２１がバス１００から（具体的には通信制御装置１２０から）、１以上のＥＣＵが送信したデータフレームに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、１以上の正規の送信ＩＤリストに関わる情報とを照合し、１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、バス１００へ（具体的には通信制御装置１２０へ）送信する。
【００９８】
具体的には、不正検知部２２２は、送受信部２２１から受信したデータフレームと、正規ＩＤリスト保持部２２４に格納されている正規の送信ＩＤリストに基づいて、バス１００に不正なＥＣＵが接続されているか否かを検知する。
【００９９】
送受信部２２１から受信したデータフレームには、通信制御装置１１０、１３０、１４０、１５０または１６０が送信する、装置ＩＤと送信ＩＤリストのハッシュ値とを含むデータフレームがある。これらのデータフレームは、通信制御装置１１０、１３０、１４０、１５０および１６０のそれぞれに、あらかじめ割り当てられた所定の装置ＩＤがデータフレームのＩＤとして付与されている。不正検知部２２２は、送受信部２２１が受信したデータフレームに送信ＩＤリストのハッシュ値が含まれていることを確認する。その後、不正検知部２２２は、正規ＩＤリスト保持部２２４に格納されている１以上の正規の送信ＩＤリストに含まれるハッシュ値の中に、受信したデータフレームに含まれる送信ＩＤリストのハッシュ値と同じ値が存在するかを確認する。
【０１００】
正規ＩＤリスト保持部２２４に格納されている正規の送信ＩＤリストに含まれるハッシュ値の中に、受信したデータフレームに含まれる送信ＩＤリストのハッシュ値が含まれない場合は、不正検知部２２２は、当該送信ＩＤリストのハッシュ値を送信した通信制御装置に接続されているＥＣＵが、不正な送信ＩＤを含むデータフレームを送信したと判断する、すなわち、当該ＥＣＵが不正なＥＣＵであることを検知する。
【０１０１】
不正検知部２２２は、不正なＥＣＵを検知すると、不正なＥＣＵによる攻撃の影響を緩和するために、不正なＥＣＵに接続されている通信制御装置に対して、遮断要求メッセージを送信するための不正通知データフレームの送信要求をフレーム生成部２２３に通知する。
【０１０２】
フレーム生成部２２３は、不正検知部２２２から、不正なＥＣＵの遮断要求の通知を受けると、不正な送信ＩＤリストのハッシュ値、あるいは、不正な送信ＩＤリストのハッシュ値を送信した装置ＩＤを含めた不正通知データフレームを生成し、送受信部２２１へ、送信要求を通知する。
【０１０３】
［１．７  エンジンＥＣＵの構成］
次に、ＥＣＵの構成について説明する。ここでは、通信制御装置１３０に接続されたエンジンＥＣＵ２３０の構成に着目して説明するが、ブレーキＥＣＵ２４０、インパネＥＣＵ２５０およびＩＶＩ  ＥＣＵ２６０等も同様の構成であるため説明は省略する。
【０１０４】
図６は、本実施の形態におけるエンジンＥＣＵ２３０の構成を示す図である。なおエンジンＥＣＵ２３０は、フレーム送受信部２３１と、フレーム解釈部２３２と、外部機器制御部２３３と、フレーム生成部２３４とから構成される。
【０１０５】
フレーム送受信部２３１は、通信制御装置１３０に対して、ＣＡＮのプロトコルに従ったデータフレームを送受信する。即ち、フレーム送受信部２３１は、通信制御装置１３０からフレームを１ｂｉｔずつ受信する。また、エラー無くデータフレームの受信を完了すると、データフレーム内のＩＤ、ＤＬＣおよびデータ等の情報をフレーム解釈部２３２に転送する。
【０１０６】
また、フレーム送受信部２３１は、受信中のデータフレームがＣＡＮプロトコルに則っていないデータフレームと判断した場合は、エラーフレームを送信する。
【０１０７】
また、フレーム送受信部２３１は、エラーフレームを受信した場合、つまり受け取ったフレームにおける値からエラーフレームであると解釈した場合には、それ以降はそのフレームを破棄する。
【０１０８】
また、フレーム送受信部２３１は、フレーム生成部２３４からデータフレームの送信要求を受けた場合には、通信制御装置１３０へデータフレームを送信する。
【０１０９】
フレーム解釈部２３２は、フレーム送受信部２３１から通知されたデータフレームを解釈し、処理を決定する。例えば、データフレームに直接的にエンジンの回転数を上昇させることを指示するデータが含まれている場合は、外部機器制御部２３３に対して、エンジンの回転数を上昇させる処理を行うように通知する。
【０１１０】
外部機器制御部２３３は、エンジンＥＣＵ２３０に接続される外部機器を制御するインターフェースである。外部機器制御部２３３は、エンジンＥＣＵ２３０の場合は、エンジンと接続されており、現在のエンジン回転数の情報を、フレーム生成部２３４へ通知することで、バス１００に、エンジン回転数の情報をブロードキャストし、他のＥＣＵにエンジン回転数を通知する。
【０１１１】
また、フレーム解釈部２３２から、エンジン回転数の制御情報を通知されると、エンジンの回転数を制御情報で指示されたとおりに制御する。
【０１１２】
また、ブレーキＥＣＵ２４０は、ブレーキに接続され、インパネＥＣＵ２５０は、インストルメントパネルに接続され、ＩＶＩ  ＥＣＵ２６０は、ナビゲーションシステム等にそれぞれ接続されており、各機器から情報の取得および、各機器の制御を行う。
【０１１３】
フレーム生成部２３４は、外部機器制御部２３３から通知された、外部機器の情報および外部機器の情報に基づいた他のＥＣＵへの制御メッセージ等を通知するためのデータフレームの生成を行い、当該データフレームをバス１００へ通知するためにフレーム送受信部２３１へ送信要求を行う。
【０１１４】
［１．８  ブラックリストの構成］
次に、通信制御装置１３０のブラックリスト保持部１１５に格納されているブラックリストの構成について説明する。図７は、本実施の形態におけるブラックリストの一例を示す図である。図７において、ブラックリストには、送信ＩＤがそれぞれ、０ｘ０１、０ｘ０２、０ｘ０３、０ｘ０４、０ｘ０５、０ｘ０６、０ｘ０７、０ｘ０８、０ｘ０９、０ｘ０Ａ、０ｘ０Ｂ、０ｘ０Ｃ、０ｘ０Ｄ、０ｘ０Ｅおよび０ｘ０ＦであるブラックリストＩＤが含まれている。つまり、通信制御装置１３０に接続されるエンジンＥＣＵ２３０から、上記ＩＤのデータフレームが送信されようとした場合に、通信制御装置１３０は、当該データフレームをバス１００に送信しない。
【０１１５】
ブラックリストには、各通信制御装置が送信するデータフレームのＩＤである装置ＩＤと、不正検知ＥＣＵ２２０が送信するデータフレームのＩＤであるＩＤＳ  ＩＤを格納しておくとよい。
【０１１６】
なお、通信制御装置１３０は、ブラックリスト保持部１１５を備えていなくてもよい。例えば、装置ＩＤまたはＩＤＳ  ＩＤが送信ＩＤリストに追加されれば、不正検知ＥＣＵ２２０によってその送信ＩＤリストが不正な送信ＩＤリストであると判定できるため、通信制御装置１３０にそもそもブラックリストが保持されていなくてもよいとも考えられる。しかし、送信ＩＤリストによる判定が行われるまでは、通信制御装置１３０または不正検知ＥＣＵ２２０のなりすましを放置することになる。このため、送信ＩＤリストとは別に装置ＩＤまたはＩＤＳ  ＩＤを含むブラックリストが保持されてもよい。これらのＩＤは、バス１００および通信制御装置１３０の製造段階で決定されるため、車種に依存した設計をする必要がない。このように、通信制御装置１３０がブラックリスト保持部１１５を備えている場合には、セキュリティの観点から、不正なＥＣＵからの遮断要求を含むデータフレームや、不正なＩＤリストの送信を防ぐことが可能となり、モビリティネットワークシステム１０の安全性が高まる。
【０１１７】
［１．９  送信ＩＤリストの構成］
次に、通信制御装置１３０の送信ＩＤリスト保持部１１６に格納されている送信ＩＤリストについて説明する。
【０１１８】
図８は、本実施の形態における送信ＩＤリストの一例を示す図である。図８において、送信ＩＤリストが０ｘ１００、０ｘ１１０、０ｘ１２０、０ｘ１３０および０ｘ１４０の送信ＩＤのリストであることを示している。つまり、通信制御装置１３０に接続されるエンジンＥＣＵ２３０からは、上記のＩＤのデータフレームが送信されたことを示している。また、送信ＩＤリストのハッシュ値は１６進数で、６０  ＣＤ  １１  ４０  Ｄ５  Ｄ０  ６３  ６４であることを示している。
【０１１９】
なお、ハッシュアルゴリズムは、ＳＨＡ−２５６等の暗号学的ハッシュアルゴリズムでもよいし、ブルームフィルタ、チェックサムまたはＣｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  ｃｈｅｃｋ等であってもよい。
【０１２０】
なお、図８では、送信ＩＤリストとハッシュ値が平文のまま格納されているが、暗号化されて格納されていてもよい。また、ハッシュ値は、都度計算すればよく、送信ＩＤリスト保持部１１６に格納されていなくてもよい。
【０１２１】
［１．１０  通信制御装置の状態の構成］
次に、通信制御装置１３０の状態保持部１１７に格納される通信制御装置１３０の状態の構成について説明する。
【０１２２】
図９は、本実施の形態における通信制御装置１３０の状態の一例を示す図である。図９において、通信制御装置１３０の状態は「通常（通信可能）」であることを示している。つまり、バス１００とエンジンＥＣＵ２３０とが通信可能な状態であることを示している。
【０１２３】
通信制御装置１３０の状態は、「通常（通信可能）」の状態の他に「送信停止」の状態が存在する。「送信停止」状態は、通信制御装置１３０に接続されるエンジンＥＣＵ２３０から、不正なデータフレームが送信されていることを検知している状態である。「送信停止」の状態のときには、通信制御装置１３０は、エンジンＥＣＵ２３０から送信されるデータフレームの送信を停止する。
【０１２４】
［１．１１  正規ＩＤリストの構成］
次に、不正検知ＥＣＵ２２０の正規ＩＤリスト保持部２２４に格納される正規の送信ＩＤリストの構成について説明する。
【０１２５】
図１０は、本実施の形態における正規の送信ＩＤリストの一例を示す図である。正規ＩＤリスト保持部２２４には、各ＥＣＵが送信するデータフレームの正規の送信ＩＤリストが保持されている。正規の送信ＩＤリストは、ＥＣＵの設計情報に基づいてあらかじめ作成され、不正検知ＥＣＵ２２０の正規ＩＤリスト保持部２２４に格納される。図１０では、正規の送信ＩＤリストの１つ目は０ｘ１００、０ｘ１１０、０ｘ１２０、０ｘ１３０、０ｘ１４０であり、これらの送信ＩＤを送信ＩＤリストとして持つＥＣＵが存在することを示しており、そのハッシュ値は、「６０  ＣＤ  １１  ４０  Ｄ５  Ｄ０  ６３  ６４」である。２つ目の送信ＩＤリストは、０ｘ２００、０ｘ２１０、０ｘ２２０、０ｘ２３０であり、そのハッシュ値は、「Ｃ９  ３Ｆ  ５５  ２７  Ｃ１  ２２  Ｂ３  ４Ｆ」である。最後の送信ＩＤリストは、０ｘ５５０、０ｘ５５１、０ｘ５５２であり、そのハッシュ値は、「Ｅ２  ４２  ＥＥ  ４Ｆ  ０Ａ  ６７  ５Ａ  １Ｂ」である。なお、ＥＣＵの種類によっては、イベント発生時に送信されるデータフレームがあり、状況によっては、不正検知ＥＣＵ２２０がバス１００から受信する送信ＩＤリストのハッシュ値が異なってくることがある。例えば、あるＥＣＵについての送信ＩＤリストに、図１０に示す０ｘ５５０、０ｘ５５１および０ｘ５５２が全て含まれる場合もあれば、状況によっては、イベント発生時に送信されるデータフレームに含まれる０ｘ５５２等が送信ＩＤリストに含まれない場合もある。このため、正規ＩＤリスト保持部２２４は、１つのＥＣＵについて、複数の正規の送信ＩＤリストを保持していてもよい。具体的には、正規ＩＤリスト保持部２２４は、１つのＥＣＵについて、０ｘ５５０、０ｘ５５１および０ｘ５５２の正規の送信ＩＤリストと、０ｘ５５０および０ｘ５５１の正規の送信ＩＤリストとをそれぞれ保持していてもよい。
【０１２６】
［１．１２  通信制御装置の処理］
次に、通信制御装置１３０の処理について説明する。
【０１２７】
図１１は、本実施の形態における通信制御装置１３０の処理を示すフローチャートである。
【０１２８】
ステップＳ１１０１では、通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージ（データフレーム）を受信しているか否かを判断する。通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージを受信している場合（ステップＳ１１０１でＹの場合）は、ステップＳ１１０２を実行し、エンジンＥＣＵ２３０からメッセージを受信していない場合（ステップＳ１１０１でＮの場合）は、ステップＳ１１０７を実行する。
【０１２９】
ステップＳ１１０２では、通信制御装置１３０がバス１００から受信したメッセージを処理中であるか否かを判断する。通信制御装置１３０がバス１００からのメッセージの処理中である場合（ステップＳ１１０２でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がバス１００からのメッセージの処理中でない場合（ステップＳ１１０２でＮの場合）は、ステップＳ１１０３を実行する。
【０１３０】
ステップＳ１１０３では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤに基づいて、送信ＩＤリスト保持部１１６に格納されている送信ＩＤリストを更新する。具体的には、通信制御装置１３０は、エンジンＥＣＵ２３０から送信されるメッセージに含まれる送信ＩＤが送信ＩＤリストに存在しない場合に、当該送信ＩＤを送信ＩＤリストに追加する。その後、通信制御装置１３０は、ステップＳ１１０４を実行する。
【０１３１】
ステップＳ１１０４では、通信制御装置１３０は、通信制御装置１３０の状態が「送信停止」であるか、または、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤがブラックリスト保持部１１５に格納されるブラックリストに存在するか、のいずれかに該当するか否かを判断する。通信制御装置１３０の状態が「送信停止」となるのは、後述するステップＳ１１１０での処理が行われた場合である。
【０１３２】
上記いずれかの条件に該当する場合（ステップＳ１１０４でＹの場合）は、通信制御装置１３０は、メッセージを破棄して（Ｓ１１０５）、終了する。「送信停止」状態は、通信制御装置１３０に接続されるエンジンＥＣＵ２３０から不正なメッセージが送信されていることを検知している状態である。また、正常であれば送信することのない送信ＩＤのリストであるブラックリストに存在する送信ＩＤのメッセージをエンジンＥＣＵ２３０が送信しているということは、エンジンＥＣＵ２３０に異常がある。このため、不正なエンジンＥＣＵ２３０からのメッセージを破棄する。
【０１３３】
上記のいずれの条件にも該当しない場合（ステップＳ１１０４でＮの場合）は、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージをバス１００へ送信し（Ｓ１１０６）、処理を終了する。
【０１３４】
ステップＳ１１０７では、通信制御装置１３０は、バス１００からメッセージを受信しているか否かを判断する。通信制御装置１３０は、バス１００からメッセージを受信している場合（ステップＳ１１０７でＹの場合）は、ステップＳ１１０８を実行する。通信制御装置１３０は、バス１００からメッセージを受信していない場合（ステップＳ１１０７でＮの場合）は、ステップＳ１１１２を実行する。
【０１３５】
ステップＳ１１０８では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージの処理中であるか否かを判断する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中である場合（ステップＳ１１０８でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中でない場合（ステップＳ１１０８でＮの場合）は、ステップＳ１１０９を実行する。
【０１３６】
ステップＳ１１０９では、通信制御装置１３０は、バス１００から受信したメッセージが、ＩＤＳ  ＩＤを含む不正通知メッセージ（つまり、不正な送信ＩＤリストを通知するための不正通知メッセージ）であり、かつ、不正通知メッセージに含まれる送信ＩＤリストのハッシュ値が、通信制御装置１３０の保持する送信ＩＤリストのハッシュ値と一致するか否かを判断する。不正通知メッセージが上記条件に一致する場合（ステップＳ１１０９でＹの場合）は、通信制御装置１３０は状態を「送信停止」に移行し（Ｓ１１１０）、終了する。これにより、以降、ステップＳ１１０４において、ステップＳ１１０５に進むことができ、不正なエンジンＥＣＵ２３０からの不正なメッセージがバス１００へ流れないようにすることができる。不正通知メッセージが上記条件と一致しない場合（ステップＳ１１１０でＮの場合）は、通信制御装置１３０は、バス１００から受信したメッセージをエンジンＥＣＵ２３０に転送（送信）して（Ｓ１１１１）、処理を終了する。この場合、バス１００から受信したメッセージが、不正通知メッセージではなく例えば通常のメッセージであるか、通知対象が他のＥＣＵの不正通知メッセージであるため、エンジンＥＣＵ２３０に転送される。
【０１３７】
なお、不正通知メッセージに送信ＩＤリストそのものが含まれていてもよく、この場合ステップＳ１１０９で、通信制御装置１３０は、不正通知メッセージに含まれる送信ＩＤリストが通信制御装置１３０の保持する送信ＩＤリストと一致するか否かを判断してもよい。また、不正通知メッセージに装置ＩＤが含まれていてもよく、この場合ステップＳ１１０９で、通信制御装置１３０は、不正通知メッセージに含まれる装置ＩＤが通信制御装置１３０の装置ＩＤと一致するか否かを判断してもよい。これらのいずれであっても、通信制御装置１３０は、不正通知メッセージの通知対象の通信制御装置を特定できる。
【０１３８】
ステップＳ１１１２では、通信制御装置１３０は、内部のタイマに従って、送信ＩＤリストに関わる情報（送信ＩＤリストのハッシュ値または送信ＩＤリスト）の送信タイミングであるか否かを判断する。送信ＩＤリストに関わる情報の送信タイミングである場合（ステップＳ１１１２でＹの場合）は、通信制御装置１３０は、例えば送信ＩＤリストのハッシュ値をメッセージに含めて、あらかじめ定められた通信制御装置１３０の装置ＩＤをメッセージのＩＤとしてバス１００に送信し（Ｓ１１１３）、処理を終了する。これにより、当該メッセージを受信した不正検知ＥＣＵ２２０は、当該メッセージに含まれる送信ＩＤリストのハッシュ値が通信制御装置１３０のものであることを認識できる。送信ＩＤリストの送信タイミングでない場合（ステップＳ１１１２でＮの場合）は、通信制御装置１３０は、ステップＳ１１０１へ戻る。
【０１３９】
なお、通信制御装置１３０は、ステップＳ１１１２で、送信ＩＤリストそのものをメッセージに含めてバス１００に送信してもよい。ただし、送信ＩＤリストそのものよりも送信ＩＤリストのハッシュ値の方が、データサイズが小さいため、メッセージに送信ＩＤリストのハッシュ値を含める場合にはメッセージのデータ量を小さくできる。
【０１４０】
以上のように、通信制御装置１３０は、通信制御装置１３０に接続されるエンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤを送信ＩＤリストに追加していく。そして、通信制御装置１３０は、送信ＩＤリストに関わる情報をバス１００へ例えば定期的に送信する。例えば、バス１００には、エンジンＥＣＵ２３０が送信するメッセージについての正規の送信ＩＤリストに関わる情報を予め保持する不正検知ＥＣＵ２２０が配置されている。これにより、エンジンＥＣＵ２３０が不正に書き換えられる等して、不正なメッセージをバス１００に送信するようになったとしても、通信制御装置１３０が、バス１００に、送信ＩＤリストに関わる情報を送信することで、不正検知ＥＣＵ２２０が通信制御装置１３０から送信された不正な送信ＩＤを含み得る送信ＩＤリストに関わる情報を受信し、正規の送信ＩＤリストと照合することで、不正を検知できる。したがって、ＥＣＵごとに対応する送信ＩＤリストに基づいた不正検知が可能となり、不正なＥＣＵを精度よく検知できる。その結果、正常なＥＣＵを誤って不正なＥＣＵと判断せずに、不正なＥＣＵのみを遮断することができ、モビリティネットワークシステム１０の安全性の向上につなげることができる。
【０１４１】
［１．１３  通信制御装置の別の処理］
通信制御装置１３０の処理として図１１のフローチャートで説明したが、これに限らない。図１１では、送信ＩＤリストの送信タイミングが、内部のタイマに従って定期的に送信されるものとして説明したが、通信制御装置１３０が、送信ＩＤリストに関わる情報を要求することを示す所定の識別子を含むメッセージを受信した場合にのみ、通信制御装置１３０が送信ＩＤリストに関わる情報を送信するようにしてもよい。
【０１４２】
これにより、通信制御装置１３０から送信ＩＤリストに関わる情報を含むメッセージの送信が定期的にバス１００にされなくなるため、バス１００の負荷の低減ができる。具体的には、図１２を用いて説明する。
【０１４３】
図１２のフローチャートを用いて、通信制御装置１３０が、送信ＩＤリストに関わる情報の送信要求のメッセージを受信する場合の通信制御装置１３０の処理を説明する。
【０１４４】
図１２は、本実施の形態における通信制御装置１３０の処理を示す別のフローチャートである。
【０１４５】
ステップＳ１２０１では、通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージを受信しているか否かを判断する。通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージを受信している場合（ステップＳ１２０１でＹの場合）は、ステップＳ１２０２を実行し、エンジンＥＣＵ２３０からメッセージを受信していない場合（ステップＳ１２０１でＮの場合）は、ステップＳ１２０７を実行する。
【０１４６】
ステップＳ１２０２では、通信制御装置１３０がバス１００から受信したメッセージを処理中であるか否かを判断する。通信制御装置１３０がバス１００からのメッセージの処理中である場合（ステップＳ１２０２でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がバス１００からのメッセージの処理中でない場合（ステップＳ１２０２でＮの場合）は、ステップＳ１２０３を実行する。
【０１４７】
ステップＳ１２０３では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤに基づいて、送信ＩＤリスト保持部１１６に格納されている送信ＩＤリストを更新する。その後、通信制御装置１３０は、ステップＳ１２０４を実行する。
【０１４８】
ステップＳ１２０４では、通信制御装置１３０は、通信制御装置１３０の状態が「送信停止」であるか、または、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤがブラックリスト保持部１１５に格納されるブラックリストに存在するか、のいずれかに該当するかを判断する。通信制御装置１３０の状態が「送信停止」となるのは、後述するステップＳ１２１０での処理が行われた場合である。
【０１４９】
上記いずれかの条件に該当する場合（ステップＳ１２０４でＹの場合）は、通信制御装置１３０は、メッセージを破棄して（Ｓ１２０５）、処理を終了する。
【０１５０】
上記のいずれの条件にも該当しない場合（ステップＳ１２０４でＮの場合）は、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージをバス１００へ送信し（Ｓ１２０６）、処理を終了する。
【０１５１】
ステップＳ１２０７では、通信制御装置１３０は、バス１００からメッセージを受信しているか否かを判断する。通信制御装置１３０は、バス１００からメッセージを受信している場合（ステップＳ１２０７でＹの場合）は、ステップＳ１２０８を実行する。通信制御装置１３０は、バス１００からメッセージを受信していない場合（ステップＳ１２０７でＮの場合）は、ステップＳ１２０１に戻る。
【０１５２】
ステップＳ１２０８では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージを処理中であるか否かを判断する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中である場合（ステップＳ１２０８でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中でない場合（ステップＳ１２０８でＮの場合）は、ステップＳ１２０９を実行する。
【０１５３】
ステップＳ１２０９では、通信制御装置１３０は、バス１００から受信したメッセージが、ＩＤＳ  ＩＤを含む不正通知メッセージであり、かつ、不正通知メッセージに含まれる送信ＩＤリストのハッシュ値が、通信制御装置１３０の保持する送信ＩＤリストのハッシュ値と一致するか否かを判断する。不正通知メッセージが上記条件と一致する場合（ステップＳ１２０９でＹの場合）は、通信制御装置１３０は状態を「送信停止」に移行し（Ｓ１２１０）、処理を終了する。不正通知メッセージが上記条件と一致しない場合（ステップＳ１２０９でＮの場合）は、通信制御装置１３０は、ステップＳ１２１１を実行する。
【０１５４】
ステップＳ１２１１では、通信制御装置１３０は、バス１００から受信したメッセージが、送信ＩＤリストに関わる情報を要求するメッセージであるか否かを判断する。つまり、通信制御装置１３０は、バス１００から受信したメッセージに送信ＩＤリストに関わる情報を要求することを示す所定の識別子を含むか否かを判断する。メッセージが送信ＩＤリストに関わる情報（例えば送信ＩＤリストのハッシュ値）を要求するメッセージの場合（ステップＳ１２１１でＹの場合）は、通信制御装置１３０は、送信ＩＤリストのハッシュ値をメッセージに含めて、バス１００へ送信し（Ｓ１２１２）、処理を終了する。これにより、外部からの要求にしたがって、送信ＩＤリストを送信することが可能となり、平常時のネットワークトラフィックへの影響を抑制できる。メッセージが送信ＩＤリストに関わる情報を要求するメッセージでない場合（ステップＳ１２１１でＮの場合）は、通信制御装置１３０は、バス１００から受信したメッセージをエンジンＥＣＵ２３０へ転送（送信）し（Ｓ１２１３）、処理を終了する。この場合、バス１００から受信したメッセージが、不正通知メッセージではなく例えば通常のメッセージであるか、通知対象が他のＥＣＵの不正通知メッセージであるため、エンジンＥＣＵ２３０に転送される。
【０１５５】
［１．１４  通信制御装置のさらに別の処理］
通信制御装置１３０の処理として、図１１と図１２のフローチャートで説明したが、さらに別の通信制御装置１３０の処理について説明する。例えば、通信制御装置１３０の送信ＩＤリストが更新されたときのみ、バス１００へ送信ＩＤリストのハッシュ値または送信ＩＤリストを送信するようにしてもよい。
【０１５６】
これにより、通信制御装置１３０から定期的に送信ＩＤリストを含むメッセージの送信をする必要がなくなり、バス１００の負荷の低減ができる。具体的には、図１３を用いて説明する。
【０１５７】
図１３のフローチャートを用いて、通信制御装置１３０の送信ＩＤリストが更新された場合に送信ＩＤリストに関わる情報を送信するときの通信制御装置１３０の処理を説明する。
【０１５８】
図１３は、本実施の形態における通信制御装置１３０の処理を示すさらに別のフローチャートである。
【０１５９】
ステップＳ１３０１では、通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージを受信しているか否かを判断する。通信制御装置１３０は、エンジンＥＣＵ２３０からメッセージを受信している場合（ステップＳ１３０１でＹの場合）は、ステップＳ１３０２を実行し、エンジンＥＣＵ２３０からメッセージを受信していない場合（ステップＳ１３０１でＮの場合）は、ステップＳ１３０９を実行する。
【０１６０】
ステップＳ１３０２では、通信制御装置１３０がバス１００から受信したメッセージを処理中であるか否かを判断する。通信制御装置１３０がバス１００からのメッセージの処理中である場合（ステップＳ１３０２でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がバス１００からのメッセージの処理中でない場合（ステップＳ１３０２でＮの場合）は、ステップＳ１３０３を実行する。
【０１６１】
ステップＳ１３０３では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤに基づいて、送信ＩＤリスト保持部１１６に格納されている送信ＩＤリストを更新する。その後、通信制御装置１３０は、ステップＳ１３０４を実行する。
【０１６２】
ステップＳ１３０４では、通信制御装置１３０は、ステップＳ１３０３において、送信ＩＤリストに変更があったか否かを確認する。送信ＩＤリストに変更があった場合（ステップＳ１３０４でＹの場合）は、通信制御装置１３０は、送信ＩＤリストに関わる情報（例えば送信ＩＤリストのハッシュ値）を含めたメッセージをバス１００に送信し（Ｓ１３０５）、ステップＳ１３０６を実行する。通信制御装置１３０は、送信ＩＤリストに変更がない場合（ステップＳ１３０４でＮの場合）は、ステップＳ１３０６を実行する。これにより、送信ＩＤリストが更新されたときに、送信ＩＤリストに関わる情報を送信することが可能となり、ネットワークトラフィックへの影響を抑制できる。
【０１６３】
ステップＳ１３０６では、通信制御装置１３０の状態が「送信停止」であるか、または、エンジンＥＣＵ２３０から受信したメッセージに含まれる送信ＩＤがブラックリスト保持部１１５に格納されるブラックリストに存在するか、のいずれかに該当するか否かを判断する。通信制御装置１３０の状態が「送信停止」となるのは、後述するステップＳ１３１２での処理が行われた場合である。
【０１６４】
上記いずれかの条件に該当する場合（ステップＳ１３０６でＹの場合）は、通信制御装置１３０は、メッセージを破棄して（Ｓ１３０７）、処理を終了する。
【０１６５】
上記のいずれの条件にも該当しない場合（ステップＳ１３０６でＮの場合）は、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージをバス１００へ送信し（Ｓ１３０８）、処理を終了する。
【０１６６】
ステップＳ１３０９では、通信制御装置１３０は、バス１００からメッセージを受信しているか否かを判断する。通信制御装置１３０は、バス１００からメッセージを受信している場合（ステップＳ１３０９でＹの場合）は、ステップＳ１３１０を実行する。通信制御装置１３０は、バス１００からメッセージを受信していない場合（ステップＳ１３０９でＮの場合）は、ステップＳ１３０１に戻る。
【０１６７】
ステップＳ１３１０では、通信制御装置１３０は、エンジンＥＣＵ２３０から受信したメッセージを処理中であるか否かを判断する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中である場合（ステップＳ１３１０でＹの場合）は、処理が完了するまで待機する。通信制御装置１３０がエンジンＥＣＵ２３０から受信したメッセージの処理中でない場合（ステップＳ１３１０でＮの場合）は、ステップＳ１３１１を実行する。
【０１６８】
ステップＳ１３１１では、通信制御装置１３０は、バス１００から受信したメッセージが、ＩＤＳ  ＩＤを含む不正通知メッセージであり、かつ、不正通知メッセージに含まれる送信ＩＤリストのハッシュ値が、通信制御装置１３０の保持する送信ＩＤリストのハッシュ値と一致するか否かを判断する。不正通知メッセージが上記条件に一致する場合（ステップＳ１３１１でＹの場合）は、通信制御装置１３０は状態を「送信停止」に移行し（Ｓ１３１２）、処理を終了する。不正通知メッセージが上記条件と一致しない場合（ステップＳ１３１１でＮの場合）は、通信制御装置１３０は、バス１００から受信したメッセージをエンジンＥＣＵ２３０に転送して（Ｓ１３１３）、処理を終了する。
【０１６９】
［１．１５  不正検知ＥＣＵの処理］
次に、不正検知ＥＣＵ２２０の処理について説明する。
【０１７０】
図１４は、本実施の形態における不正検知ＥＣＵ２２０の処理を示すフローチャートである。
【０１７１】
ステップＳ１４０１では、不正検知ＥＣＵ２２０は、送信ＩＤリストに関わる情報を受信しているか否かを判断する。送信ＩＤリストに関わる情報を受信しているか否かの判断は、例えば、受信したメッセージのＩＤがあらかじめ定められた装置ＩＤであるか否かで判断する。送信ＩＤリストに関わる情報を受信している場合（ステップＳ１４０１でＹの場合）は、不正検知ＥＣＵ２２０は、受信した送信ＩＤリストに関わる情報（例えば送信ＩＤリストのハッシュ値）と、正規ＩＤリスト保持部２２４に格納されている１以上の正規の送信ＩＤリストに関わる情報（例えば正規の送信ＩＤリストのハッシュ値）との照合を行い（Ｓ１４０２）、ステップＳ１４０３を実行する。送信ＩＤリストに関わる情報を受信していない場合（ステップＳ１４０１でＮの場合）は、ステップＳ１４０１に戻る。
【０１７２】
ステップＳ１４０３では、不正検知ＥＣＵ２２０は、受信した送信ＩＤリストのハッシュ値が、１以上の正規の送信ＩＤリストのハッシュ値のいずれかに合致するか否かを判断する。
【０１７３】
上記条件に合致しない場合（ステップＳ１４０３でＮの場合）は、不正検知ＥＣＵ２２０は、受信した送信ＩＤリストのハッシュ値が異常であることを通知するために、受信した送信ＩＤリストのハッシュ値（つまり、１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報）を、ＩＤをＩＤＳ  ＩＤとした不正通知メッセージに含めて、バス１００へ送信して（Ｓ１４０４）、処理を終了する。
【０１７４】
上記条件に合致する場合（ステップＳ１４０３でＹの場合）は、不正検知ＥＣＵ２２０は、処理を終了する。
【０１７５】
以上のように、不正検知ＥＣＵ２２０は、バス１００に配置されたＥＣＵが送信するメッセージについての正規の送信ＩＤリストに関わる情報を予め保持している。これにより、不正検知ＥＣＵ２２０は、バス１００から受信した不正な送信ＩＤを含み得る送信ＩＤリストに関わる情報と、正規の送信ＩＤリストに関わる情報とを照合することで、不正なＥＣＵを精度よく検知でき、モビリティネットワークシステム１０の安全性を向上できる。
【０１７６】
［１．１６  不正なＥＣＵを遮断するシーケンス］
次に、不正なＥＣＵを遮断するシーケンスについて説明する。
【０１７７】
図１５、および図１６は、不正なＥＣＵを遮断するシーケンスを示す図である。図１６のシーケンス図は、図１５のシーケンス図の続きを示しており、図１５におけるＡ〜Ｅは、図１６におけるＡ〜Ｅに対応している。図１５および図１６では、一例として、エンジンＥＣＵ２３０になりすまそうとしている不正なＥＣＵであるＩＶＩ  ＥＣＵ２６０を不正検知ＥＣＵ２２０が検知したときに、ＩＶＩ  ＥＣＵ２６０をバス１００から遮断するシーケンスを示す。
【０１７８】
ここで、図１５および１６に示す、不正なＥＣＵを遮断するシーケンスにおいて、不正検知ＥＣＵ２２０に接続された通信制御装置１２０は、メッセージの転送処理を行うのみであるため、図示および詳細な説明は省略する。
【０１７９】
図１５において、まず、エンジンＥＣＵ２３０がエンジン回転数を含めたメッセージを送信する（Ｓ１５０１）。
【０１８０】
エンジンＥＣＵ２３０の送信したメッセージを通信制御装置１３０が受信し、送信ＩＤリストの更新を行う（Ｓ１５０２）。
【０１８１】
その後、通信制御装置１３０は、エンジン回転数を含んだメッセージをバス１００に送信する（Ｓ１５０３）。
【０１８２】
バス１００に送信されたエンジン回転数を含むメッセージを通信制御装置１６０が受信し、ＩＶＩ  ＥＣＵ２６０へ転送する（Ｓ１５０４）。
【０１８３】
その後、不正なＩＶＩ  ＥＣＵ２６０は、例えば、エンジンＥＣＵ２３０によるエンジン回転数を、異なる回転数にするために、エンジン回転数を含んだメッセージを送信する（Ｓ１５０５）。このメッセージは、ＩＶＩ  ＥＣＵ２６０が本来送信しないはずのエンジン回転数を含んだメッセージであり、不正なメッセージである。
【０１８４】
通信制御装置１６０は、送信ＩＤリストを更新し（Ｓ１５０６）、エンジン回転数を含んだ不正なメッセージをバス１００へ送信する（Ｓ１５０７）。このとき、通信制御装置１６０の送信ＩＤリストには、ＩＶＩ  ＥＣＵ２６０が本来送信しないはずのメッセージの送信ＩＤが追加される。
【０１８５】
通信制御装置１３０は、バス１００に流れるエンジン回転数を含んだ不正なメッセージを、エンジンＥＣＵ２３０へ転送する（Ｓ１５０８）。
【０１８６】
次に、図１５に引き続き図１６において、通信制御装置１３０は、送信ＩＤリストを送信するタイミングになり、送信ＩＤリストのハッシュ値をメッセージに含めた、ＩＤが通信制御装置１３０の装置ＩＤであるメッセージを、バス１００に送信する（Ｓ１５０９）。
【０１８７】
送信されたメッセージのＩＤが通信制御装置１３０の装置ＩＤであるので、不正検知ＥＣＵ２２０は、通信制御装置１２０（図示せず）を経由してメッセージを受信する。不正検知ＥＣＵ２２０は、メッセージに含まれる送信ＩＤリストのハッシュ値と、１以上の正規の送信ＩＤリストのハッシュ値とを照合し、通信制御装置１３０の送信ＩＤリストには不正な送信ＩＤが含まれていないことから、受信した送信ＩＤリストのハッシュ値が、１以上の正規の送信ＩＤリストのハッシュ値のいずれかに該当することを確認する（Ｓ１５１０）。
【０１８８】
次に、通信制御装置１６０は、送信ＩＤリストを送信するタイミングとなり、送信ＩＤリストのハッシュ値をメッセージに含めた、ＩＤが通信制御装置１６０の装置ＩＤであるメッセージを、バス１００に送信する（Ｓ１５１１）。
【０１８９】
送信されたメッセージのＩＤが通信制御装置１６０の装置ＩＤであるので、不正検知ＥＣＵ２２０は、通信制御装置１２０（図示せず）を経由してメッセージを受信する。不正検知ＥＣＵ２２０は、メッセージに含まれる送信ＩＤリストのハッシュ値と、１以上の正規の送信ＩＤリストのハッシュ値とを照合し、通信制御装置１６０の送信ＩＤリストには不正な送信ＩＤが含まれていることから、受信した送信ＩＤリストのハッシュ値が、１以上の正規ＩＤリストに含まれる送信ＩＤリストのハッシュ値のいずれにも該当しないことを確認する（Ｓ１５１２）。これは、ＩＶＩ  ＥＣＵ２６０がエンジン回転数を含んだ不正なメッセージを送信したために、送信ＩＤリストが不正なものとなったことが原因で、受信した送信ＩＤリストのハッシュ値が、正規の送信ＩＤリストのハッシュ値とは一致しなくなったためである。
【０１９０】
その後、不正検知ＥＣＵ２２０は、通信制御装置１６０に不正なＥＣＵが接続されていることを通知するために、受信した送信ＩＤリストのハッシュ値を含めた、ＩＤがＩＤＳ  ＩＤである不正通知メッセージを、バス１００へ送信する（Ｓ１５１３）。
【０１９１】
送信されたメッセージのＩＤがＩＤＳ  ＩＤであるメッセージであるので、通信制御装置１３０は、バス１００から、不正通知メッセージを受信する。通信制御装置１３０は、不正通知メッセージに含まれる送信ＩＤリストのハッシュ値が、通信制御装置１３０が保持する送信ＩＤリストのハッシュ値と一致しないことを確認する（Ｓ１５１４）。つまり、通信制御装置１３０は、受信した不正通知メッセージが自身宛てでないことを確認する。
【０１９２】
送信されたメッセージのＩＤがＩＤＳ  ＩＤであるメッセージであるので、通信制御装置１６０は、バス１００から、不正通知メッセージを受信する。通信制御装置１６０は、不正通知メッセージに含まれる送信ＩＤリストのハッシュ値が、通信制御装置１６０が保持する送信ＩＤリストのハッシュ値と一致することを確認する（Ｓ１５１５）。つまり、通信制御装置１６０は、受信した不正通知メッセージが自身宛てであることを確認する。
【０１９３】
その後、通信制御装置１６０は、状態を「送信停止」へ移行する（Ｓ１５１６）。通信制御装置１６０は、以降、ＩＶＩ  ＥＣＵ２６０から送信されるメッセージを、バス１００に送信しない。
【０１９４】
ＩＶＩ  ＥＣＵ２６０は、エンジン回転数を含んだメッセージを送信する（Ｓ１５１７）。このメッセージは、ＩＶＩ  ＥＣＵ２６０が本来送信しないはずのエンジン回転数を含んだメッセージであり、不正なメッセージである。
【０１９５】
通信制御装置１６０は、状態が「送信停止」へ移行しているため、エンジン回転数を含んだ不正なメッセージを破棄する、つまり、バス１００に送信しない（Ｓ１５１８）。これにより、通信制御装置１６０は、不正なＩＶＩ  ＥＣＵ２６０をバス１００から遮断することが可能となり、モビリティネットワークシステム１０に不正なＩＶＩ  ＥＣＵ２６０が与える影響を軽減できる。
【０１９６】
（その他変形例）
なお、本開示を上記各実施の形態に基づいて説明してきたが、本開示は、上記各実施の形態に限定されないのはもちろんである。以下のような場合も本開示に含まれる。
【０１９７】
例えば、本開示は、通信制御装置または不正検知ＥＣＵ２２０として実現できるだけでなく、通信制御装置および不正検知ＥＣＵ２２０を備えるモビリティネットワークシステム１０として実現できる。
【０１９８】
具体的には、モビリティネットワークシステム１０は、１以上のＥＣＵと、バス１００と、から構成されるシステムであって、１以上のＥＣＵとバス１００とをそれぞれ接続する１以上の通信制御装置と、１以上のＥＣＵの中から不正なＥＣＵを検知する不正検知ＥＣＵ２２０と、を備え、１以上の通信制御装置は、それぞれ、当該通信制御装置に接続されるＥＣＵからメッセージを受信して当該メッセージをバス１００へ送信し、バス１００からメッセージを受信して当該メッセージを当該ＥＣＵへ送信する通信部１１８と、当該ＥＣＵから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部１１６と、通信部１１８および送信ＩＤリスト保持部１１６を制御する制御部１１４と、を備え、制御部１１４は、当該ＥＣＵから送信されるメッセージに含まれる送信ＩＤが送信ＩＤリストに存在しない場合に、当該送信ＩＤを送信ＩＤリストに追加し、送信ＩＤリストに関わる情報を、バス１００へ送信し、不正検知ＥＣＵ２２０は、バス１００に対して、メッセージの送受信を行う送受信部２２１と、１以上のＥＣＵが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部２２４と、送受信部２２１および正規ＩＤリスト保持部２２４を制御する不正検知部２２２と、を備え、不正検知部２２２は、送受信部２２１がバス１００から、送信ＩＤのリストに関わる情報を受信したときに、当該送信ＩＤリストに関わる情報と、１以上の正規の送信ＩＤリストに関わる情報とを照合し、１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致していない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、バス１００へ送信する。
【０１９９】
また、例えば、通信制御装置は、ＥＣＵとバス１００とを接続するコネクタであってもよい。
【０２００】
上記の実施の形態では、モビリティネットワークをＣＡＮとして説明したが、これに限定されることなく、ＣＡＮ−ＦＤ（ＣＡＮ  ｗｉｔｈ  Ｆｌｅｘｉｂｌｅ  Ｄａｔａ  ｒａｔｅ）、Ｅｔｈｅｒｎｅｔ（登録商標）、ＬＩＮ（Ｌｏｃａｌ  Ｉｎｔｅｒｃｏｎｎｅｃｔ  Ｎｅｔｗｏｒｋ）、ＦｌｅｘＲａｙ（登録商標）、ＭＯＳＴ（Ｍｅｄｉａ  Ｏｒｉｅｎｔｅｄ  Ｓｙｓｔｅｍｓ  Ｔｒａｎｓｐｏｒｔ）であってもよいし、それぞれを組み合わせた構成であってもよい。
【０２０１】
また、上記の実施の形態では、自動車に搭載されるモビリティネットワークにおけるサイバーセキュリティ対策として説明したが、本開示の適用範囲はこれに限られない。自動車に限らず、建機、農機、船舶、鉄道、飛行機などのモビリティにも適用してもよい。すなわち、本開示は、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
【０２０２】
上記の実施の形態では、通信制御装置は、送信ＩＤリストのハッシュ値をバスへ送信していたが、送信ＩＤリストのハッシュ値ではなく、上述したように、送信ＩＤリストを送信してもよい。これにより、不正検知ＥＣＵ２２０は、他のＥＣＵから送信されたデータフレームのＩＤを詳細に把握することが可能となり、その後に、不正なＩＤのデータフレームのみの送信を停止するように要求することができ、安全性向上の観点から効果的である。
【０２０３】
上記の実施の形態では、通信制御装置は、不正検知ＥＣＵから送信される不正な送信ＩＤリストのハッシュ値が、自身の保持する送信ＩＤリストのハッシュ値と一致する場合に、状態を「送信停止」へ移行し、接続されるＥＣＵからのデータフレームを遮断するが、一致した段階で、状態を「送信停止」へ移行しなくてもよい。あるいは、送信停止以外の対応をとってもよい。
【０２０４】
例えば、不正検知ＥＣＵから送信される不正な送信ＩＤリストのハッシュ値と、自身の送信ＩＤリストのハッシュ値とが一致した場合に、通信制御装置は、自分が一致していることを通知するデータフレーム、および、詳細な送信ＩＤリストをバス１００へ送信することを行ってもよい。
【０２０５】
これにより、不正検知ＥＣＵが、不正な送信ＩＤリストと判断した通信制御装置に対して、どのような対応を行うべきかを決定するための詳細な情報を取得することができ、状況に応じた適切な対応を行うことが可能となる。
【０２０６】
上記の実施の形態では、例えば、通信制御装置の状態が「送信停止」のときに、ＥＣＵからのデータフレームを全て遮断するが、全てのデータフレームを遮断しなくてもよい。例えば、不正検知ＥＣＵから、特定のＩＤに関して送信停止要求メッセージを通知されたときに、特定のＩＤを自身の通信制御装置のブラックリストに追記することで、特定のＩＤのみのデータフレームの送信を停止してもよい。
【０２０７】
上記の実施の形態では、通信制御装置は送信ＩＤリストを保持していたが、送信ＩＤリストは、不揮発メモリに保持してもよいし、イグニッションをＯＮにする毎にリセットされてもよいし、所定の期間において送信された送信ＩＤのリストを保持してもよい。
【０２０８】
上記の実施の形態では、通信制御装置が送信ＩＤリストに関わる情報を送信していたが、送信ＩＤリストに関わる情報以外の情報も送信してもよい。例えば、制御部１１４は、さらに、ＥＣＵから送信されるメッセージの数を計測し、メッセージの数に関わる情報をバス１００へ送信してもよい。例えば、単位時間当たりの送信メッセージの数、または、送信したメッセージに含まれるＩＤの数を付加的に送信してもよい。これにより、不正検知ＥＣＵ２２０は、送信ＩＤリストの異常だけでなく、送信量の観点からも異常を把握することが可能となり、さらに精度よく不正なＥＣＵを検知することができる。
【０２０９】
また、例えば、不正検知ＥＣＵ２２０が、正規の送信ＩＤリストを送信し、通信制御装置は自身の送信ＩＤリストが正規の送信ＩＤリストの中に一致するものが存在するかによって、ＥＣＵからのデータフレームを送信停止するかを判断してもよい。例えば、不正検知ＥＣＵ２２０から送信される正規の送信ＩＤリストと自身の送信ＩＤリストとが一致しない期間が所定の期間継続した場合に、通信制御装置はＥＣＵから送信されるデータフレームの送信を停止してもよい。
【０２１０】
上記の実施の形態では、通信制御装置はブラックリストに含まれる送信ＩＤのデータフレームがＥＣＵから送信された場合に、当該データフレームの送信を停止しているが、この時点で、不正なＥＣＵが接続されている疑いがあるとして、不正検知ＥＣＵ２２０に、ブラックリストに含まれる送信ＩＤの送信が行われたことを通知してもよい。これにより、より早期にＥＣＵの不正な挙動を検知することができ、安全性向上の観点から効果的である。
【０２１１】
上記の実施の形態では、不正検知ＥＣＵ２２０が受信した送信ＩＤリストに関わる情報が、不正検知ＥＣＵ２２０の内部に保持される１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しないとき、不正な送信ＩＤリストを検知する例を示したが、いずれの正規の送信ＩＤリストに合致しないときも、不正な送信ＩＤリストと判断しない場合があってもよい。例えば、診断ポートに接続される通信制御装置等から送信されるデータフレームに含まれるＩＤは動的に変化しうる。そのため、想定しうる送信ＩＤリストのパターンのすべてを、不正検知ＥＣＵ２２０が保持しておくことは現実的でない可能性がある。そこで、不正検知ＥＣＵ２２０は、所定の期間に、受信する送信ＩＤリストが、正規の送信ＩＤリストに合致しない数が、所定数以下である場合には、不正な送信ＩＤリストを検知したことを、バス１００に通知しないようにしてもよい。
【０２１２】
上記の実施の形態では、不正検知ＥＣＵ２２０の内部に正規の送信ＩＤリストが保持される例を示したが、内部に正規の送信ＩＤリストを保持していなくてもよい。このとき、不正検知ＥＣＵ２２０は、各通信制御装置から送信される送信ＩＤリストを受信するたびに、更新しながら保持しておく。送信ＩＤリストの更新が行われることをもって、不正なＥＣＵから、不正なデータフレームが送信されたことを検知してもよいし、送信ＩＤリストの更新が、所定の時間内に所定の回数以上行われることによって、不正なＥＣＵから、不正なデータフレームが送信されたことを検知してもよい。これにより、不正検知ＥＣＵ２２０では、あらかじめ正規送信ＩＤリストを保持しておく必要がなくなり、効率的なシステム開発が行える。
【０２１３】
上記の実施の形態では、不正検知ＥＣＵ２２０は送信ＩＤリストと、正規の送信ＩＤリストとの照合によって、不正なＥＣＵを検知していたが、不正なＥＣＵの検知方法は、これだけに限らない。例えば、不正検知ＥＣＵ２２０には、他の異常検知アルゴリズムが実装されており、それによって不正なＥＣＵの接続を検知してもよく、他の異常検知アルゴリズムの結果と、正規の送信ＩＤリストの照合結果の組み合わせによって、不正なＥＣＵの接続を検知してもよい。
【０２１４】
上記の実施の形態では、不正検知ＥＣＵは、送信ＩＤリストと正規の送信ＩＤリストとが一致するかのみで、不正なＥＣＵの接続を検知していたが、さらに、装置ＩＤとの照合を行ってもよい。例えば、正規の送信ＩＤリスト内に、これまでにどの装置ＩＤが、どの正規の送信ＩＤリストに合致したのかを追加で保持しておいてもよい。これにより、装置ＩＤとリストの対応が崩れたときに、不正なＥＣＵが接続されていることを検知することが可能となる。
【０２１５】
上記の実施の形態では、バス１００に接続される通信制御装置内に、送信ＩＤリスト保持部１１６および送信の遮断を行う制御部１１４を保持しているが、通信制御装置内にこれらの構成要素を持たなくてもよい。例えば、トランシーバやスイッチに同様の構成要素が保持されていてもよい。
【０２１６】
上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭ、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。ＲＡＭまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【０２１７】
上記の実施の形態における各装置は、構成する構成要素の一部または全部は、１個のシステムＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ：大規模集積回路）から構成されているとしてもよい。システムＬＳＩは、複数の構成部を１個のチップ上に集積して製造された超多機能ＬＳＩであり、具体的には、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどを含んで構成されるコンピュータシステムである。ＲＡＭには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、システムＬＳＩは、その機能を達成する。
【０２１８】
また、上記の各装置を構成する構成要素の各部は、個別に１チップ化されていても良いし、一部またはすべてを含むように１チップ化されてもよい。
【０２１９】
また、ここでは、システムＬＳＩとしたが、集積度の違いにより、ＩＣ、ＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩと呼称されることもある。また、集積回路化の手法はＬＳＩに限るものではなく、専用回路または汎用プロセッサで実現してもよい。ＬＳＩ製造後に、プログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）や、ＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用しても良い。
【０２２０】
さらには、半導体技術の進歩または派生する別技術によりＬＳＩに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
【０２２１】
上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なＩＣカードまたは単体のモジュールから構成されているとしてもよい。ＩＣカードまたはモジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭなどから構成されるコンピュータシステムである。ＩＣカードまたはモジュールは、上記の超多機能ＬＳＩを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、ＩＣカードまたはモジュールは、その機能を達成する。このＩＣカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【０２２２】
本開示は、通信制御装置として実現できるだけでなく、通信制御装置を構成する各構成要素が行うステップ（処理）を含む通信制御方法として実現できる。
【０２２３】
通信制御方法は、１以上のＥＣＵと、バス１００と、から構成されるモビリティネットワークシステム１０における通信制御装置により実行される通信制御方法であって、通信制御装置は、バス１００と、１以上のＥＣＵのうちのいずれかのＥＣＵとを接続し、当該ＥＣＵからメッセージを受信して当該メッセージをバス１００へ送信し、バス１００からメッセージを受信して当該メッセージを当該ＥＣＵへ送信する通信部１１８と、当該ＥＣＵから送信されるメッセージに含まれる送信ＩＤのリストである送信ＩＤリストを保持する送信ＩＤリスト保持部１１６と、を備え、通信制御方法では、当該ＥＣＵから送信されるメッセージに含まれる送信ＩＤが送信ＩＤリストに存在しない場合に、当該送信ＩＤを送信ＩＤリストに追加し（図１１のステップＳ１１０３等）、送信ＩＤリストに関わる情報を、バス１００へ送信する（図１１のステップＳ１１１３等）。
【０２２４】
また、本開示は、不正検知ＥＣＵ２２０として実現できるだけでなく、不正検知ＥＣＵ２２０を構成する各構成要素が行うステップ（処理）を含む不正検知方法として実現できる。
【０２２５】
不正検知方法は、１以上のＥＣＵと、バス１００と、から構成されるモビリティネットワークシステム１０における、１以上のＥＣＵの中から不正なＥＣＵを検知する不正検知ＥＣＵ２２０により実行される不正検知方法であって、不正検知ＥＣＵ２２０は、バス１００に対して、メッセージの送受信を行う送受信部２２１と、１以上のＥＣＵが送信する正規のメッセージに含まれる送信ＩＤのリストである正規の送信ＩＤリストに関わる情報を１以上保持する正規ＩＤリスト保持部２２４と、を備え、不正検知方法では、送受信部２２１がバス１００から、１以上のＥＣＵが送信したメッセージに含まれる送信ＩＤのリストである送信ＩＤリストに関わる情報を受信したときに（図１４のステップＳ１４０１でＮの場合）、当該送信ＩＤリストに関わる情報と、１以上の正規の送信ＩＤリストに関わる情報とを照合し（図１４のステップＳ１４０２）、１以上の正規の送信ＩＤリストに関わる情報のいずれにも合致しない送信ＩＤリストに関わる情報を、不正な送信ＩＤリストに関わる情報を通知するための不正通知メッセージに含めて、バス１００へ送信する（ステップＳ１４０４）。
【０２２６】
また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、コンピュータプログラムからなるデジタル信号であるとしてもよい。
【０２２７】
また、本開示は、コンピュータプログラムまたはデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。
【０２２８】
また、本開示は、コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【０２２９】
また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムにしたがって動作するとしてもよい。
【０２３０】
また、プログラムまたはデジタル信号を記録媒体に記録して移送することにより、またはプログラムまたはデジタル信号をネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【０２３１】
上記実施の形態および上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【０２３２】
本開示は、モビリティネットワークを搭載した車両等に利用可能である。
【符号の説明】
【０２３３】
１０  モビリティネットワークシステム
１００  バス
１１０、１２０、１３０、１３０ａ、１４０、１５０、１６０  通信制御装置
１１１  トランシーバ部
１１２  リピータ部
１１３  トランシーバ部
１１４  制御部
１１５  ブラックリスト保持部
１１６  送信ＩＤリスト保持部
１１７  状態保持部
１１８、１１９  通信部
２１０  診断ポート
２２０  不正検知ＥＣＵ
２２１  送受信部
２２２  不正検知部
２２３  フレーム生成部
２２４  正規ＩＤリスト保持部
２３０  エンジンＥＣＵ
２３１  フレーム送受信部
２３２  フレーム解釈部
２３３  外部機器制御部
２３４  フレーム生成部
２４０  ブレーキＥＣＵ
２５０  インパネＥＣＵ
２６０  ＩＶＩ  ＥＣＵ
【図１】
2019225259.tif 000003
【図２】
2019225259.tif 000004
【図３】
2019225259.tif 000005
【図４Ａ】
2019225259.tif 000006
【図４Ｂ】
2019225259.tif 000007
【図５】
2019225259.tif 000008
【図６】
2019225259.tif 000009
【図７】
2019225259.tif 000010
【図８】
2019225259.tif 000011
【図９】
2019225259.tif 000012
【図１０】
2019225259.tif 000013
【図１１】
2019225259.tif 000014
【図１２】
2019225259.tif 000015
【図１３】
2019225259.tif 000016
【図１４】
2019225259.tif 000017
【図１５】
2019225259.tif 000018
【図１６】
2019225259.tif 000019
【国際調査報告】
2019225259.tif 000020
2019225259.tif 000021
2019225259.tif 000022
2019225259.tif 000023