IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 本田技研工業株式会社の特許一覧

特開2024-145008車両制御システムおよび通信処理方法
<>
  • 特開-車両制御システムおよび通信処理方法 図1
  • 特開-車両制御システムおよび通信処理方法 図2
  • 特開-車両制御システムおよび通信処理方法 図3
  • 特開-車両制御システムおよび通信処理方法 図4
  • 特開-車両制御システムおよび通信処理方法 図5
  • 特開-車両制御システムおよび通信処理方法 図6
  • 特開-車両制御システムおよび通信処理方法 図7
  • 特開-車両制御システムおよび通信処理方法 図8
  • 特開-車両制御システムおよび通信処理方法 図9
  • 特開-車両制御システムおよび通信処理方法 図10
  • 特開-車両制御システムおよび通信処理方法 図11
  • 特開-車両制御システムおよび通信処理方法 図12
  • 特開-車両制御システムおよび通信処理方法 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024145008
(43)【公開日】2024-10-15
(54)【発明の名称】車両制御システムおよび通信処理方法
(51)【国際特許分類】
   H04L 61/106 20220101AFI20241004BHJP
   H04L 12/28 20060101ALI20241004BHJP
   H04L 41/5051 20220101ALI20241004BHJP
   H04L 12/22 20060101ALI20241004BHJP
【FI】
H04L61/106
H04L12/28 100A
H04L41/5051
H04L12/22
【審査請求】有
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023057225
(22)【出願日】2023-03-31
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001081
【氏名又は名称】弁理士法人クシブチ国際特許事務所
(72)【発明者】
【氏名】福井 一輝
【テーマコード(参考)】
5K030
5K033
【Fターム(参考)】
5K030GA15
5K030HD03
5K033AA08
5K033BA06
5K033DB19
5K033EC03
(57)【要約】
【課題】車両制御システムに対する攻撃者からの不正な通信をいち早く検知して適切に防御しつつ、車両制御の応答性を高く維持する。
【解決手段】車両制御システムは、2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、2つの制御装置群と通信可能に接続された通信管理装置と、2つの通信ネットワーク間の通信をルーティングするルーティング装置とを備える。通信管理装置は、いずれかの制御装置からメッセージを受信したときにその制御装置についての認証処理を行い、一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージに、一方の制御装置の通信アドレスを送信元アドレスとして含め、他方の制御装置群の制御装置は、中継メッセージが含む上記一方の制御装置の通信アドレスを用いて当該一方の制御装置との間で通信管理装置を介することなく通信を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムであって、
前記通信管理装置は、
いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行い、
前記いずれかの制御装置の正当性が認証できたときに、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信し、
前記他方の制御装置群の制御装置は、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を開始する、
車両制御システム。
【請求項2】
前記通信管理装置は、
前記いずれかの制御装置の正当性が認証できたときは、
メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定し、
前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信し、
前記一方の制御装置は、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を開始する、
請求項1に記載の車両制御システム。
【請求項3】
前記2つの制御装置群の一方は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、
前記2つの制御装置群の他方は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない、
請求項1に記載の車両制御システム。
【請求項4】
前記通信管理装置は、互いに独立に処理を行う2つの処理装置を備え、
前記2つの処理装置は、それぞれ、前記2つの通信ネットワークのうちの相異なる通信ネットワークに接続されている、
請求項1に記載の車両制御システム。
【請求項5】
前記2つの処理装置は、それぞれ、前記通信管理装置が備えるプロセッサにおいて実現される物理マシンおよび仮想マシンである、
請求項4に記載の車両制御システム。
【請求項6】
前記2つの制御装置群の制御装置、及び前記通信管理装置が行う通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び又は前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、Service Oriented Middle WarE Over IP(SOME/IP)通信である、
請求項1ないし5のいずれか一項に記載の車両制御システム。
【請求項7】
車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムが実行する通信処理方法であって、
前記通信管理装置が、いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行う認証処理ステップと、
前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信する中継送信ステップと、
前記他方の制御装置群の制御装置が、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第1直接通信ステップと、
を有する通信処理方法。
【請求項8】
前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定する特定ステップと、
前記通信管理装置が、前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信する返信送信ステップと、
前記一方の制御装置が、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第2直接通信ステップと、
を有する、請求項7に記載の通信処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御システム、および車両制御システムが実行する通信処理方法に関する。
【背景技術】
【0002】
近年、車両における制御の安全性を向上するための研究開発が行われている。
特許文献1には、サービス指向型通信を採用した車載ネットワークシステムにおける不正なフレームの送信を検知して、不正な通信の確立を防ぐ不正フレーム検知装置が記載されている。この装置では、サーバとクライアントが物理的に接続するポートの関係から不正なフレームの送信が検知される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】国際公開第2021/002010号
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両制御の安全性に関する技術においては、車両制御への攻撃に対する高い防御性と、車両制御の高い応答性と、を両立することが課題である。
本願は上記課題の解決のため、車両制御システムに対する攻撃者からの不正な通信をいち早く検知して防御しつつ、車両制御の応答性を高く維持することを目的としたものである。そして、延いては交通の安全性をより一層改善して持続可能な輸送システムの発展に寄与するものである。
【課題を解決するための手段】
【0005】
本発明の一の態様は、車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムであって、前記通信管理装置は、いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行い、前記いずれかの制御装置の正当性が認証できたときに、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信し、前記他方の制御装置群の制御装置は、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う、車両制御システムである。
本発明の他の態様によると、前記通信管理装置は、前記いずれかの制御装置の正当性が認証できたときは、メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定し、前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信し、前記一方の制御装置は、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を開始する。
本発明の他の態様によると、前記2つの制御装置群の一方は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、前記2つの制御装置群の他方は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない。
本発明の他の態様によると、前記通信管理装置は、互いに独立に処理を行う2つの処理装置を備え、前記2つの処理装置は、それぞれ、前記2つの通信ネットワークのうちの相異なる通信ネットワークに接続されている。
本発明の他の態様によると、前記2つの処理装置は、それぞれ、前記通信管理装置が備えるプロセッサにおいて実現される物理マシンおよび仮想マシンである。
本発明の他の態様によると、前記2つの制御装置群の制御装置、及び前記通信管理装置が行う通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び又は前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、Service Oriented Middle WarE Over IP(SOME/IP)通信である。
本発明の他の態様は、車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムが実行する通信処理方法であって、前記通信管理装置が、いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行う認証処理ステップと、前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信する中継送信ステップと、前記他方の制御装置群の制御装置が、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第1直接通信ステップと、を有する通信処理方法である。
本発明の他の態様によると、前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定する特定ステップと、前記通信管理装置が、前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信する返信送信ステップと、前記一方の制御装置が、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第2直接通信ステップと、を有する。
【発明の効果】
【0006】
本発明によれば、車両制御システムに対する攻撃者からの不正な通信をいち早く検知して防御しつつ、車両制御の応答性を高く維持することができる。
【図面の簡単な説明】
【0007】
図1図1は、本発明の一実施形態に係る車両制御システムの構成を示す図である。
図2図2は、車両制御システムにおける通信手順の第1の例を示すシーケンス図である。
図3図3は、車両制御システムにおける通信手順の第2の例を示すシーケンス図である。
図4図4は、車両制御システムにおける通信手順の第3の例を示すシーケンス図である。
図5図5は、車両制御システムにおける通信手順の第4の例を示すシーケンス図である。
図6図6は、車両制御システムにおける通信手順の第5の例を示すシーケンス図である。
図7図7は、車両制御システムにおける通信手順の第6の例を示すシーケンス図である。
図8図8は、車両制御システムにおける通信手順の第7の例を示すシーケンス図である。
図9図9は、車両制御システムにおける通信手順の第8の例を示すシーケンス図である。
図10図10は、SOME/IP通信について説明するための説明図である。
図11図11は、SOME/IP通信プロトコルについて説明するための説明図である。
図12図12は、SOME/IP通信プロトコルについて説明するための説明図である。
図13図13は、SOME/IP通信に用いられる通信パケットの構成の一例を示す図である。
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明の実施形態について説明する。
[1.車両制御システムの構成]
図1は、本発明の一実施形態に係る車両制御システム1の構成を示す図である。車両制御システム1は、車両2に搭載されて、車両2の動作を制御する。車両2は、内燃機関及び又はモータにより駆動される任意の車両であり得る。本実施形態では、車両2は、例えば、車載バッテリから給電される駆動モータ(共に不図示)によって駆動される電気自動車である。
【0009】
車両制御システム1は、第1制御装置群3と、第2制御装置群4と、通信管理装置5と、を含む。第1制御装置群3は、本実施形態では、車両2の外部との通信を行う制御装置を含まず、車両2の運動制御に関わる制御を行う制御装置を含む。本実施形態では、第1制御装置群3は、車両2の運動制御に関わる制御を行う制御装置として、駆動ECU(Electronic Contorol Unit)6aと、操縦ECU6bと、バッテリECU6cと、ADAS(Adavanced Driver-Assistnace System)-ECU6dとを含む。
【0010】
駆動ECU6aは、車両2を駆動する駆動モータの動作を制御し、操縦ECU6bは、車両2のステアリングホイール、ブレーキ、アクセル等の操縦操作についての操作に基づいて、車両2の操舵、減速、加速等の動作を制御する。バッテリECU6cは、車載バッテリの充電残量等を検知して、駆動モータへの給電動作を制御する。また、ADAS-ECU6dは、車両2のクルーズ動作、レーンキープ動作等の運転者支援動作を制御する。以下、第1制御装置群3に含まれる駆動ECU6a、操縦ECU6b、バッテリECU6c、及びADAS-ECU6dを総称して、ECU6ともいうものとする。
【0011】
第2制御装置群4は、車両2の運動制御に関わる制御を行う制御装置を含まず、車両2の外部との通信を行う制御装置を含む。本実施形態では、第2制御装置群4は、車両2の外部との通信を行う制御装置として、TCU(Telematics Control Unit)7aと、IVI(In-Vehicle Infotainment)-ECU7bと、を含む。TCU7aは、車両2の外部の装置との間で、直接に又は外部の通信ネットワークを介して間接に通信するための無線通信装置である。IVI-ECU7bは、ラジオ放送やテレビ放送の電波を受信して、及び又はGPS電波を受信して、車載の表示装置やスピーカ等(共に不図示)により、車両2の乗員に画像や映像を表示し、及び又は経路案内等の情報提供を行う。
【0012】
また、第2制御装置群4は、例えば、車両2の車室内に設けられた図示しないDMC(Driver Monitoring Camera)の動作を制御するDMC-ECU7cを備える。以下、第2制御装置群4に含まれるTCU7a、IVI-ECU7b、及びDMC-ECU7cを総称して、ECU7ともいうものとする。
【0013】
第1制御装置群3及び第2制御装置群4は、それぞれ、本実施形態では4つ及び3つの制御装置を含むが、それぞれが少なくとも一つの制御装置を有していればよい。
ECU6及びECU7のそれぞれは、コンピュータを備えて、所定の制御動作及び他の車載装置との間の通信を行う。
【0014】
車両制御システム1は、また、ルーティング装置8を含む。ルーティング装置8は、制御装置間を通信可能に接続するハブ機能と、それらの制御装置が構成する複数の通信ネットワークを跨いで通信をルーティングするルーティング機能と、を有する。
【0015】
第1制御装置群3の各ECU6と、後述する通信管理装置5が備える第1処理装置26とは、ルーティング装置8に接続されて第1通信ネットワーク9を構成する。また、第2制御装置群4の各ECU7と、後述する通信管理装置5が備える第2処理装置27とは、ルーティング装置8に接続されて第2通信ネットワーク10を構成している。
【0016】
通信管理装置5では、第1処理装置26及び第2処理装置27が協働して、第1通信ネットワーク9を構成する第1制御装置群3の制御装置であるECU6と、第2通信ネットワーク10を構成する第2制御装置群4の制御装置であるECU7との間の通信を管理する。
【0017】
本実施形態では、ECU6、ECU7、第1処理装置26、及び第2処理装置27は、Ethernet(登録商標)通信規格に従い、TCP/IPプロトコルに準拠した通信を行う。また、第1通信ネットワーク9及び第2通信ネットワーク10は、互いに異なるVLAN(Virtual Local-Area-Network、仮想ローカルエリアネットワーク)である。ルーティング装置8は、例えば、L3スイッチである。ルーティング装置8は、通信管理装置5に内蔵されていてもよい。
【0018】
本実施形態では、ECU6、ECU7、第1処理装置26、及び第2処理装置27は、例えば、AUTomotive Open System Architecture(AUTOSAR)で規定されたService Oriented Middle WarE Over IP(SOME/IP)に準拠した通信を行う。
【0019】
[2.SOME/IP通信についての説明]
ここで、従来技術であるSOME/IP通信の概要について説明する。
図10図11図12、及び図13は、SOME/IP通信について説明するための図である。SOME/IP通信は、例えば、図10に示すような、ハブ40に接続されて通信ネットワークを構成する複数の装置41の間において、サービスの提供を求めるいずれか一の装置41と、そのサービスを提供し得る他のいずれか一の装置41との間の通信を確立して、当該サービスの授受を実現するのに用いられる。
【0020】
ここで、サービスとは、それぞれの装置41がアプリケーションプログラムを実行することにより実現される種々の動作(例えば、カメラ等のセンサからのセンサデータの取得及び提供、モータやアクチュエータの制御及び状態情報の提供など)を細分化した機能や処理のそれぞれをいう。また、サービスの提供(具体的には、そのサービスに係るデータの提供)を受ける装置をクライアント装置といい、サービスを提供する装置をサーバ装置という。図10において、複数の装置41の任意の一の装置41がクライアント装置となり、任意の他の一の装置41がサーバ装置となり得る。
【0021】
各装置41は、Ethernetが規定するIPパケットに乗せて、SOME/IPにおいて規定される種々のメッセージ(SOME/IPメッセージ)を送信する。
特に、サービスを提供するネットワーク上の装置を検索するための通信をSOME/IP-SD(サービスディスカバリ)という。SOME/IP-SD通信には、後述するFindServiceメッセージ、OfferServiceメッセージ、SubscribeEventGroupメッセージ、Eventメッセージ、及びFieldNotificationメッセージの通信が含まれる。
【0022】
図13は、SOME/IP-SD通信に用いられる通信パケットの先頭部の構成の一例を示す図である。詳細には、図13は、イーサネット(登録商標)フレームの先頭にあるMACヘッダ(18byte)に続く、通信パケットの先頭部である。
【0023】
通信パケットは、IPヘッダ、UDPヘッダ、並びに、SOME/IP通信において規定されるメッセージ(SOME/IPメッセージ)を含む。また、SOME/IP-SD通信においては、SOME/IPメッセージは、SOME/IPヘッダ及びSOME/IP-SDヘッダを含み得る。SOME/IP-SDヘッダは、Entries Arrayと、Options Arrayとを含む。
【0024】
IPヘッダ、UDPヘッダ、SOME/IPヘッダ、及びSOME/IP-SDヘッダについては公知であるので、説明を簡略にして理解を容易にするため、これらのヘッダを構成するフィールドについては逐一説明せず、本実施形態に係る車両制御システム1の特徴的な動作に関連する部分のみ、確認的に説明する。
【0025】
IPヘッダのSourceAddressフィールド及びUDPヘッダのSourcePortは、それぞれ、この通信パケットの送信元装置のIPアドレス及び通信ポート番号を示している。また、IPヘッダのDestinationAddressフィールド及びUDPヘッダのDestinationPortは、それぞれ、この通信パケットの送信先装置(受信装置)のIPアドレス及び通信ポート番号を示している。ここで、上記IPアドレスは、対応する装置が接続されたLAN(VLANを含む。)におけるローカルIPアドレスである。
【0026】
送信元装置は、DestinationAddressフィールドに、特定の送信先装置のIPアドレスを指定して、その通信パケットをユニキャスト送信するほか、所定の範囲の複数の送信先装置を示すものとして予め規定されたIPアドレス(マルチキャストアドレス)を指定して、その通信パケットを、それら複数の送信先装置へマルチキャスト送信することができる。
【0027】
SOME/IPヘッダのServiceIDフィールドには、このパケットを送受信するサーバ装置からクライアント装置へ提供されるサービスを識別するサービスIDがセットされる。また、ClientIDフィールドには、そのサービスの提供を受けるクライアント装置を識別する装置IDがセットされる。SessionIDフィールドには、このパケットの通信が、ClientIDフィールドの装置IDにより識別される装置への、ServiceIDフィールドのサービスIDにより識別されるサービスの提供に関する通信セッションの一部であることを示すセッションIDがセットされる。
【0028】
SOME/IP-SD通信の場合、SOME/IPヘッダのServiceIDフィールドおよびMethodIDフィールドには、それぞれ、SOME/IP-SD通信であることを示す専用の値としてOxFFFF及び0x8100が格納される。
【0029】
また、ClientIDフィールドには、SOME/IP-SDメッセージ(例えば、FindService、OfferService、SubscribeEventGroup、及びSubscribeEventGroupAckメッセージ)の送信の場合には、固定値x0000がセットされる。また、SOME/IP-SDメッセージ以外のSOME/IPメッセージ(例えば、Event、FieldNotification、Request、及びResponseメッセージ)の送信では、ClientIDフィールドには、そのサービスの提供を受けるクライアント装置を識別する装置IDがセットされる。SessionIDフィールドには、同じ装置から発信されたメッセージを他のメッセージと区別するセッションIDがセットされる。
【0030】
また、SOME/IP-SDヘッダのIPv4 AddressフィールドおよびPortNumberフィールドは、それぞれ、SOME/IP-SDメッセージの送信元アドレスであるIPアドレスおよび通信ポート番号を示している。なお、SOME/IPメッセージを運ぶIPパケットが、IPv4でなくIPv6で通信されるときは、上記IPv4 AddressフィールドはIPv6 Addressフィールドに置き換わる。以下、IPv4 Addressフィールド又はIPv6 Addressフィールドに示された送信元アドレスを、Endpointアドレスという。
【0031】
図11および図12は、SOME/IP通信における通信プロトコル(SOME/IP通信プロトコル)の概要を示すシーケンス図である。理解を容易にするため、図11及び図12では、図10に示す複数の装置41の一つであるA装置41aがクライアント装置となり、複数の装置41の一つであるB装置41bがサーバ装置となる例を説明する。
【0032】
図11の例では、A装置41aは、求めるサービスを提供し得るサーバ装置としてB装置41bを認識したのち、B装置41bに対しそのサービスの提供を求めて通信を継続する。
【0033】
図11において、まず、A装置41aは、求めるサービスを提供し得るサーバ装置を探索するためのFindServiceメッセージを、通信ネットワーク内にマルチキャスト送信する(S600)。これにより、A装置41aはクライアント装置となる。上記FindServiceメッセージは、B装置41bを含む全ての装置41により受信される。なお、FindServiceメッセージには、SOME/IP-SDヘッダ部のServiceIDフィールドに、A装置41aが求めるサービスを識別するためのServiceIDがセットされる。
【0034】
上記FindServiceメッセージを受信したB装置41bは、求められているサービスを提供し得ると判断し、そのサービスを提供し得ることを通知するためのOfferServiceメッセージを、A装置41aへ送信する(S602)。これにより、B装置41bは、サーバ装置となる。
【0035】
B装置41bから送信されたOfferServiceメッセージをA装置41aが受信することにより、A装置41aは、求めるサービスを提供し得るサーバ装置としてB装置41bを認識する。これにより、クライアント装置としてのA装置41aとサーバ装置としてのB装置41bとの間の、上記サービスの授受についての通信が確立する。
【0036】
続いて、B装置41bから送信されたOfferServiceメッセージを受信したA装置41aは、サービスの提供を求めるSubscribeEventGroupメッセージをB装置41bへ送信する(S604)。B装置41bは、A装置41aからSubscribeEventGroupメッセージを受信したことに応じて、確認応答であるSubscribeEventGroupAckメッセージをA装置41aへ送信する(S606)。
【0037】
その後は、B装置41bは、求められたサービスについてのデータを、所定のタイミングで、Eventメッセージ又はFieldNotificationメッセージとしてA装置41aへ送信する(S608、S610)。ここで、Eventメッセージは、所定の時間間隔の送信タイミングの到来や、所定のデータ項目に値の変更もしくは更新があった時などの、何らかのイベントが発生した時にデータを送信する際に用いられるメッセージである。また、FieldNotificationメッセージは、データ送信条件等を規定する情報(例えば、カメラ画像の転送レート情報など)に変更があった場合に、その情報を通知する際に用いられるメッセージである。
【0038】
図12は、SOME/IP通信プロトコルの他の例を示すシーケンス図である。図12の例では、A装置41aは、求めるサービスを提供し得るサーバ装置としてB装置41bを認識したのち、サービスの提供を求めたいタイミングで、サービスの提供要求をB装置41bへ送信し、B装置41bは、提供要求を受信するごとに、その応答としてサービスの提供を行う。なお、図12において、図11における処理と同じ処理については図11における符号と同じ符号を用いて示すものとし、上述した図11における説明を援用する。
【0039】
図12においては、A装置41aとB装置41bとの間で図11と同様のFindServiceメッセージ及びOfferServiceメッセージの交換が行われた後、A装置41aは、サービスの提供要求であるRequestメッセージをB装置41bへ送信する(S612)。そして、B装置41bは、A装置41aからRequestメッセージを受信したことに応じて、求められているサービスのデータをResponseメッセージに乗せて、A装置41aへ送信する(S614)。その後は、A装置41aがサービス提供を求めるタイミングで、A装置41aとB装置41bとの間で、上記RerquestメッセージとResponseメッセージの授受が繰り返される(S616、S618)。
【0040】
ここで、図11及び図12においては、サービスを求めるクライアント装置としてのA装置41aがFindServiceメッセージを送信することにより通信セッションが開始されているが、FindServiceメッセージの送信が行われることなく、サーバ装置となるB装置41bからのOfferServiceメッセージの送信により、通信セッションが開始されてもよい。この場合には、B装置41bは、まず、特定のサービスを提供可能であることを示すOfferServiceメッセージを、通信ネットワーク内にマルチキャスト送信する。このOfferServiceメッセージを受信した装置41のうち、そのサービスの提供を必要とするA装置41aは、SubscribeEventGroupメッセージ又はRequestメッセージをB装置41bへ送信することにより、クライアント装置となる。
【0041】
[3.通信管理装置]
通信管理装置5は、第1制御装置群3及び第2制御装置群4のいずれかの制御装置群の制御装置(いずれかのECU6又はECU7)からメッセージを受信したときに、当該制御装置についての認証処理を行う。
【0042】
また、通信管理装置5は、上記認証処理において、上記メッセージを送信した制御装置の正当性が認証できたときは、一方の制御装置群の制御装置である一方の制御装置(例えば、ECU6)から受信したメッセージ(例えば、OfferServiceメッセージ)を他方の制御装置群の制御装置(例えば、ECU7)へ中継するための中継メッセージを生成して送信する。その際、通信管理装置5は、上記中継メッセージに、上記一方の制御装置の通信アドレスを送信元アドレスとして含ませる。
これにより、他方の制御装置群の制御装置は、上記中継メッセージが含む一方の制御装置の通信アドレスを用いて、上記一方の制御装置との間で、通信管理装置5を介することなく、ルーティング装置8を介した通信を行うことができる。
【0043】
また、通信管理装置5は、上記認証処理において、上記メッセージを送信した制御装置の正当性が認証できたときは、メッセージ(例えば、FindServiceメッセージ)を送信して来た一方の制御装置群の制御装置である一方の制御装置(例えば、ECU6)が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置(例えば、ECU7)の通信アドレスを、それぞれの制御装置についての装置情報であるサービス情報24(後述)に基づいて特定する。そして、上記特定した上記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージ(例えば、OfferServiceメッセージ)を、上記他方の制御装置に代理して、上記一方の制御装置へ送信する。
これにより、一方の制御装置は、上記返信メッセージが含む他方の制御装置の通信アドレスを用いて、他方の制御装置との間で、通信管理装置5を介することなく、ルーティング装置8を介した通信を開始することができる。
【0044】
[3.1 通信管理装置の構成]
通信管理装置5の構成について説明する。
以下において、メッセージを運ぶIPパケットのIPヘッダのSourceAddressフィールドおよびDestinationAddressフィールドにそれぞれセットされた通信アドレスを、それぞれ、「IPパケットの送信元アドレス」及び「IPパケットの送信先アドレス」というものとする。また、本明細書においては、FindServiceメッセージ、OfferServiceメッセージ、SubscribeEventGroupメッセージ、及びSubscribeEventGroupAckメッセージを含む、それぞれのSOME/IP-SDメッセージの、SOME/IP-SDヘッダ内のIPv4 Addressフィールド(又はIPv6 Addressフィールド)にセットされた通信アドレスを、「メッセージの送信元アドレス」または「Endpointアドレス」というものとする。これにより、IPパケットの送信元アドレスと、メッセージが含む送信元アドレスとを区別して記載する。
【0045】
図1を参照し、通信管理装置5は、プロセッサ20と、メモリ21と、第1通信装置22aと、第2通信装置22bと、を含む。
第1通信装置22a及び第2通信装置22bは、それぞれ、後述する第1処理装置26及び第2処理装置27が通信を行うための有線通信装置である。第1通信装置22aと第2通信装置22bとは、それぞれルーティング装置8に接続されている。第1処理装置26及び第2処理装置27は、第1通信装置22a及び第2通信装置22bにより、ルーティング装置8を介してSOME/IP通信規格に準拠した通信を行う。上述したように、第1処理装置26は、第1制御装置群3の各ECU6と共に第1通信ネットワーク9を構成し、第2処理装置27は、第2制御装置群4の各ECU7と共に第2通信ネットワーク10を構成している。
【0046】
メモリ21は、例えば、揮発性及び又は不揮発性の半導体メモリ、及び又はハードディスク装置等により構成される。メモリ21には、識別情報23と、サービス情報24と、が記憶されている。
【0047】
識別情報23には、正規のECU6及びECU7のそれぞれの通信アドレス(本実施形態では、IPアドレス。以下同じ。)のリストが、正規アドレスリストとして保存されている。また、サービス情報24には、ECU6及びECU7のそれぞれの通信アドレスに対応付けて、それぞれのECU6及びECU7が提供し得るサービスのサービスID(提供可能サービスID)のリストが保存されている。サービス情報24は、本開示における、2つの制御装置群のそれぞれの制御装置についての装置情報に相当する。サービス情報24は、また、ECU6及びECU7のそれぞれが、SubscribeEventGroupメッセージを受信することに応じてサービス提供(すなわち、図11に示すような、Eventメッセージ及び又はFieldNotificationメッセージによるサービス提供)を行う装置であるか、それとも、Requestメッセージを受信することに応じてサービス提供(すなわち、図12に示すようなResponseメッセージによるサービス提供)を行う装置であるか、についての情報も含む。
【0048】
プロセッサ20は、例えば、CPU等を備えるコンピュータである。プロセッサ20は、プログラムが書き込まれたROM、データの一時記憶のためのRAM等を有する構成であってもよい。そして、プロセッサ20は、機能要素又は機能ユニットとして、第1処理装置26と、第2処理装置27と、を備える。
【0049】
第1処理装置26と第2処理装置27とは、互いに独立に処理を行い、互いに協働して、第1通信ネットワーク9を構成する第1制御装置群3のECU6と、第2通信ネットワーク10を構成する第2制御装置群4のECU7との間の通信を管理する。
【0050】
第1処理装置26は、例えば、コンピュータであるプロセッサ20が、メモリ21に記憶された、OS(オぺレーティングシステム)を含む第1プログラム25aを実行することにより、いわゆる物理マシンとして実現される。また、例えば、第2処理装置27は、コンピュータであるプロセッサ20が、メモリ21に記憶された、OSを含む第2プログラム25bを実行することにより、いわゆる仮想マシンとして実現される。
これにより、第1処理装置26と第2処理装置27とは、互いに独立なコンピュータとして動作し得る。
【0051】
具体的には、第1処理装置26は、プロセッサ20が第1プログラム25aを実行することにより、プロセッサ20内においてプロセッサ20のハードウェア上に実現されて動作を開始する。その際、プロセッサ20が第1プログラム25aに含まれるOSを実行することにより、そのOSが提供する仮想マシンプラットフォームがプロセッサ20内に形成される。
【0052】
その後、プロセッサ20が上記仮想マシンプラットフォーム上において第2プログラム25bを実行することにより、仮想マシンとしての第2処理装置27が実現される。
【0053】
すなわち、第1プログラム25aが提供するOSは、いわゆるホストOSであり、第2プログラム25bが提供するOSは、ホストOSが提供する仮想マシンプラットフォーム上で実行される、いわゆるゲストOSである。
【0054】
なお、第1プログラム25a及び第2プログラム25bは、コンピュータ読み取り可能な任意の記憶媒体に記憶させておくことができる。
【0055】
第1処理装置26は、機能要素又は機能ユニットとして、第1認証部30と、第1通信制御部31と、を備える。これらの機能要素は、プロセッサ20が上述の第1プログラム25aを実行することにより実現される。
【0056】
また、第2処理装置27は、機能要素又は機能ユニットとして、第2認証部32と、第2通信制御部33を備える。これらの機能要素は、プロセッサ20が上述の第2プログラム25bを実行することにより実現される。
【0057】
通信管理装置5の第1処理装置26と第2処理装置とは、互いに協働して、第1制御装置群3及び第2制御装置群4のいずれかの制御装置(例えば、いずれかのECU6又はECU7)からメッセージを受信したときに、当該制御装置についての認証処理を行う。
【0058】
また、第1処理装置26と第2処理装置とは、上記認証処理において上記制御装置の正当性が認証できたときは、互いに協働して、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージを生成して送信する。その際、第1処理装置26は、上記中継メッセージに、上記一方の制御装置の通信アドレスを送信元アドレスとして含ませる。
【0059】
また、第1処理装置26と第2処理装置とは、上記認証処理において上記制御装置の正当性が認証できたときは、互いに協働して、メッセージ(例えば、FindServiceメッセージ)を送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、それぞれの制御装置についての装置情報であるサービス情報24に基づいて特定する。そして、上記特定した上記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージ(例えば、OfferServiceメッセージ)を、上記他方の制御装置に代理して、上記一方の制御装置へ送信する。
【0060】
[3.2 通信管理装置の動作]
次に、第1処理装置26の第1認証部30及び第1通信制御部31の動作、及び第2処理装置27の第2認証部32及び第2通信制御部33の動作について、車両制御システム1における通信手順の8つの例を示す図2図3図4図5図6図7図8、及び図9に示すシーケンス図を参照しつつ説明する。
【0061】
[3.2.1 通信手順の第1の例]
図2は、SOME/IP通信の第1の例である。図2に示すSOME/IP通信は、第1制御装置群3のいずれかのECU6が特定のサービスを求めてFindServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU6は、上記特定のサービスを提供する第2制御装置群4のいずれかのECU7を特定してRequestメッセージを送信し、当該ECU7からResponseメッセージによるサービス提供を受ける。
【0062】
図2において、まず、第1制御装置群3のいずれかのECU6は、車両2に運動制御に関わる何らかの制御のために必要なサービス(要求サービス)の提供を求めて、当該要求サービスを提供し得るサーバ装置を検索するためのFindServiceメッセージを、第1通信ネットワーク9内においてマルチキャスト送信する(S100)。以下、FindServiceメッセージを送信したECU6をクライアントECU6という。
【0063】
クライアントECU6からのFindServiceメッセージを受信した第1処理装置26の第1認証部30は、クライアントECU6についての第1認証処理を実行する(S102)。第1認証部30は、受信したFindServiceメッセージに含まれる当該メッセージの送信元アドレスが、メモリ21が記憶する識別情報23の正規アドレスリストに含まれているか否かを判断することにより、上記第1認証処理を行う。なお、第1認証部30は、第1認証処理においてクライアントECU6の正当性を認証できないときは、図2に示す処理を終了する(図2には不図示)。
【0064】
続いて、第1処理装置26の第1通信制御部31は、クライアントECU6の求める要求サービスを提供可能なECU7を特定する(S104)。具体的には、第1通信制御部31は、FindServiceメッセージのServiceIDから、上記要求サービスのサービスIDを取得する。そして、第1通信制御部31は、メモリ21に記憶されているサービス情報24を参照し、取得したサービスIDを提供可能サービスIDとして含むECU7の通信アドレスを特定する。また、第1通信制御部31は、サービス情報24により、上記特定したECU7が、上記要求サービスに関し、Requestメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S106)。以下、要求サービスを提供可能なECU7をサーバECU7という。
【0065】
次に、第1通信制御部31は、サーバECU7のサービス提供に関する上記認識に応じて、当該特定したサーバECU7に代理して、当該サーバECU7の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを生成し(S108)、生成したOfferServiceメッセージをクライアントECU6へ返信する(S110)。上記OfferServiceメッセージを受信したクライアントECU6は、受信したOfferServiceメッセージのEndpointアドレスにより、通信相手であるサーバECU7の通信アドレスを取得する(S112)。
【0066】
続いて、クライアントECU6は、上記取得したサーバECU7の通信アドレスをIPパケットの送信先アドレスとして用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してサーバECU7へRequestメッセージを送信する(S114)。上記Requestメッセージを受信したサーバECU7は、受信したRequestメッセージのIPパケットの送信元アドレスにより、通信相手であるクライアントECU6の通信アドレスを取得する(S116)。
【0067】
続いて、サーバECU7は、上記取得したクライアントECU6の通信アドレスをIPパケットの送信先アドレスとして用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してクライアントECU7へResponseメッセージを送信する(S118)。
【0068】
以降は、クライアントECU6及びサーバECU7は、それぞれ、ステップS112及びS116で取得した互いの通信アドレスを用いて、従来技術に従い、通信管理装置5介することなく、ルーティング装置8を介して直接にRequestメッセージとResponseメッセージのやりとりを繰り返す(S120、S122)。
【0069】
ここで、図2に示す例において、クライアントECU6およびサーバECU7は、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置が通信相手とすべき他の制御装置」に相当する。また、ステップS100で送信されるFindServiceメッセージおよびステップS110において送信されるOfferServiceメッセージは、それぞれ、本開示における、「一方の制御装置から受信したメッセージ」および「一方の制御装置から受信したメッセージに対する返信メッセージ」に相当する。
【0070】
また、図2において、ステップS102は、本開示における認証処理ステップに相当し、ステップS104は、特定ステップに相当する。また、ステップS108、S110は、返信送信ステップに相当し、ステップS114、S118、S120、S122は、第2直接通信ステップに相当する。
【0071】
[3.2.2 通信手順の第2の例]
図3は、SOME/IP通信の第2の例である。図3に示すSOME/IP通信は、第1制御装置群3のいずれかのECU6が特定のサービスを求めてFindServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU6は、上記特定のサービスを提供する第2制御装置群4のいずれかのECU7からEventメッセージ及び又はFieldNotificationメッセージによるサービス提供を受ける。
【0072】
なお、図3において、図2に示す処理ステップと同じ処理ステップについては、図2に示す符号と同じ符号を用いて示すものとし、上述した図2についての説明を援用する。
【0073】
図3に示す例では、第1処理装置26の第1通信制御部31は、ステップS104において要求サービスを提供可能なサーバECU7を特定したのち、特定したサーバECU7が、要求サービスに関し、SubscribeEventGroupメッセージ(添付図においては、“Subscrive”または“Subscribeメッセージ”とも略記する)を受信することに応じてサービス提供を行う装置であることを認識する(S150)。そして、第1通信制御部31は、サーバECU7のサービス提供に関する上記認識に応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを、クライアントECU6へ送信する(S152)。
【0074】
このOfferServiceメッセージを受信したクライアントECU6は、従来技術に従い、クライアントECU6自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを、上記OfferServiceメッセージの送信元である第1処理装置26へ送信する(S154)。
【0075】
第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupメッセージを受信したことに応じて、その送信元であるクライアントECU6に代理して、当該クライアントECU6の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを生成し(S156)、上記生成したSubscribeEventGroupメッセージを、ステップS104において特定したサーバECU7へ送信する(S158)。
【0076】
サーバECU7は、上記SubscriveEventGroupメッセージ受信し、受信したSubscriveEventGroupメッセージのEndpointアドレスにより、サービス提供の通信相手となるクライアントECU6の通信アドレスを取得する(S160)。サーバECU7は、ステップS158において送信されたSubscribeEventGroupメッセージに対する確認応答として、第1処理装置26へSubscriveEventGroupAckメッセージ(添付図においては、“SubscriveAck”とも略記する)を、第1処理装置26へ送信する(S162)。
【0077】
第1処理装置26の第1通信制御部31は、ステップS162において送信されたSubscribeEventGroupAckメッセージを受信する。第1通信制御部31は、上記SubscribeEventGroupAckメッセージを受信したことに応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupAckメッセージをクライアントECU6へ送信する(S164)。このSubscribeEventGroupAckメッセージは、ステップS154においてクライアントECU6が送信したSubscribeEventGroupメッセージに対する応答メッセージである。
【0078】
その後は、サーバECU7は、ステップS160で取得したクライアントECU6の通信アドレスを用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介して直接に、クライアントECU6へメッセージを送信することができる。したがって、その後は、サーバECU7は、通信管理装置5を介することなく、提供サービスについてのデータを、所定のタイミングで、Eventメッセージ及び又はFieldNotificationメッセージにより、クライアントECU6へ送信し、クライアントECU6は、これらのメッセージを受信する(S166、S168)。
【0079】
図3に示す例においてクライアントECU6およびステップS154で送信されるSubscribeEventGroupメッセージは、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置から受信したメッセージ」に相当する。また、ステップS158において送信されるSubscribeEventGroupメッセージは、本開示における、「一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0080】
また、図3において、ステップS156、S158は、本開示における中継送信ステップに相当し、ステップS166、S168は、第1直接通信ステップに相当する。
【0081】
[3.2.3 通信手順の第3の例]
図4は、SOME/IP通信の第3の例である。図4に示すSOME/IP通信は、第1制御装置群3のいずれかのECU6が特定のサービスを提供可能であることを示すOfferServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU6は、上記特定のサービスを必要とする第2制御装置群4のいずれかのECU7からRequestメッセージを受信し、当該ECU7へReqponseメッセージによるサービス提供を行う。
【0082】
図4において、まず、第1制御装置群3のいずれかのECU6は、特定のサービスを提供可能であることを示すOfferServiceメッセージを、第1通信ネットワーク9内においてマルチキャスト送信する(S200)。以下、上記特定のサービスを提供サービスといい、上記OfferServiceメッセージを送信したECU6をサーバECU6という。
【0083】
サーバECU6からのOfferServiceメッセージを受信した第1処理装置26の第1認証部30は、サーバECU6についての第1認証処理を実行する(S202)。第1認証部30は、第1認証処理においてサーバECU6の正当性を認証できないときは、図4に示す処理を終了する(図4には不図示)。
【0084】
次に、第1通信制御部31は、サービス情報24により、サーバECU6が、上記提供サービスに関し、Requestメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S204)。
【0085】
第1通信制御部31は、サーバECU6のサービス提供に関する上記認識に応じて、ステップS200においてOfferServiceメッセージを送信したサーバECU6に代理して、当該サーバECU6の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを生成し(S206)、上記生成したOfferServiceメッセージを、第2通信ネットワーク10内の各ECU7へマルチキャスト送信する(S208)。
【0086】
ステップS208においてマルチキャスト送信されたOfferServiceメッセージは、各ECU7において受信される。第2通信ネットワーク10内のECU7のうち、そのOfferServiceメッセージのサービスIDが示す提供サービスを必要とするいずれかのECU7(以下、クライアントECU7という)は、当該OfferServiceメッセージのEndpointアドレスにより、通信相手であるサーバECU6の通信アドレスを取得する(S210)。
【0087】
クライアントECU7は、上記取得したサーバECU6の通信アドレスをIPパケットの送信先アドレスとして用いて、サーバECU6へRequestメッセージを送信する(S212)。このRequestメッセージは、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してサーバECU6により受信される。
【0088】
上記Requestメッセージを受信したサーバECU6は、受信したRequestメッセージのIPパケットの送信元アドレスにより、通信相手であるクライアントECU7の通信アドレスを取得する(S214)。サーバECU6は、上記取得したクライアントECU7の通信アドレスをIPパケットの送信先アドレスとして用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してクライアントECU7へResponseメッセージを送信する(S216)。
【0089】
以降は、クライアントECU7及びサーバECU6は、それぞれ、ステップS210及びS214で取得した互いの通信アドレスを用いて、従来技術に従い、通信管理装置5介することなく、ルーティング装置8を介して直接にRequestメッセージとResponseメッセージのやりとりを繰り返す(S218、S220)。
【0090】
ここで、図4に示す例において、サーバECU6、および第1処理装置26が受信するステップS200で送信されたOfferServiceメッセージは、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置から受信したメッセージ」に相当する。また、ステップS208で送信されるOfferServiceメッセージは、本開示における、「一方の制御装置から受信したメッセージに基づいて、当該メッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0091】
また、図4において、ステップS202は、本開示における認証処理ステップに相当し、ステップS206、S208は、中継送信ステップに相当し、ステップS212、S216、S218、S220は、第1直接通信ステップに相当する。
【0092】
[3.2.4 通信手順の第4の例]
図5は、SOME/IP通信の第4の例である。図5に示すSOME/IP通信は、第1制御装置群3のいずれかのECU6が特定のサービスを提供可能であることを示すOfferServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU6は、上記特定のサービスを必要とする第2制御装置群4のいずれかのECU7へEventメッセージ及び又はFieldNotificationメッセージによるサービス提供を行う。
【0093】
なお、図5において、図4に示す処理ステップと同じ処理ステップについては、図4に示す符号と同じ符号を用いて示すものとし、上述した図4についての説明を援用する。
【0094】
図5に示す例では、第1処理装置26の第1通信制御部31は、ステップS202においてサーバECU6についての第1認証処理を実行したのち、サービス情報24により、サーバECU6が、提供サービスに関しSubscribeEventGroupメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S250)。
【0095】
そして、第1通信制御部31は、サーバECU6のサービス提供に関する上記認識に応じて、従来技術に従い、第1処理装置26の通信アドレスをEndpointアドレスに設定したOfferServiceメッセージを、第2通信ネットワーク10内の各ECU7へマルチキャスト送信する(S252)。
【0096】
ステップS252においてマルチキャスト送信されたOfferServiceメッセージは、各ECU7において受信される。第2通信ネットワーク10内のECU7のうち、そのOfferServiceメッセージのサービスIDが示す提供サービスを必要とするいずれかのECU7(以下、クライアントECU7という)は、従来技術に従い、クライアントECU7自身の通信アドレスをEndpointとして設定したSubscribeEventGroupメッセージを、上記OfferServiceメッセージの送信元である第1処理装置26へ送信する(S254)。
【0097】
第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupメッセージを受信したことに応じて、その送信元であるクライアントECU7に代理して、当該クライアントECU7の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを生成し(S256)、上記生成したSubscribeEventGroupメッセージを、ステップS200におけるOfferServiceメッセージの送信元であるサーバECU6へ送信する(S258)。
【0098】
サーバECU6は、上記SubscriveEventGroupメッセージを受信し、受信したSubscriveEventGroupメッセージのEndpointアドレスにより、サービス提供の通信相手となるクライアントECU7の通信アドレスを取得する(S260)。サーバECU6は、従来技術に従い、ステップS258において送信されたSubscribeEventGroupメッセージに対する確認応答であるSubscriveEventGroupAckメッセージを、その送信元である第1処理装置26へ送信する(S262)。
【0099】
第1処理装置26の第1通信制御部31は、ステップS262において送信されたSubscribeEventGroupAckメッセージを受信する。第1通信制御部31は、上記SubscribeEventGroupAckメッセージに受信したことに応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupAckメッセージを、クライアントECU7へ送信する(S264)。このSubscribeEventGroupAckメッセージは、ステップS254においてクライアントECU7が送信したSubscribeEventGroupメッセージに対する応答メッセージである。
【0100】
その後は、サーバECU6は、ステップS260で取得したクライアントECU7の通信アドレスを用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介して直接に、クライアントECU7へメッセージを送信することができる。したがって、その後は、サーバECU6は、通信管理装置5を介することなく、提供サービスについてのデータを、所定のタイミングで、Eventメッセージ及び又はFieldNotificationメッセージによりクライアントECU7へ継続的に送信し、クライアントECU7は、これらのメッセージを受信する(S266、S268)。
【0101】
図5に示す例において、クライアントECU7、ステップS254において送信されるSubscribeEventGroupメッセージ、およびステップS258で送信されるSubscribeEventGroupメッセージは、それぞれ、本開示における、「一方の制御装置」、「一方の制御装置から受信したメッセージ」、および「一方の制御装置から受信したメッセージに基づいて、当該メッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0102】
また、図5において、ステップS256、S258は、本開示における中継送信ステップに相当し、ステップS266、S268は、第1直接通信ステップに相当する。
【0103】
[3.2.5 通信手順の第5の例]
図6は、SOME/IP通信の第5の例である。図6に示すSOME/IP通信は、第2制御装置群4のいずれかのECU7が特定のサービスを求めてFindServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU7は、上記特定のサービスを提供する第1制御装置群3のいずれかのECU6を特定してRequestメッセージを送信し、当該ECU6からReqponseメッセージによるサービス提供を受ける。
【0104】
図6において、まず、第2制御装置群4のいずれかのECU6は、制御動作に必要な特定のサービス(要求サービス)の提供を求めて、当該要求サービスを提供し得るサーバ装置を検索するためのFindServiceメッセージを、第2通信ネットワーク10内においてマルチキャスト送信する(S300)。第2通信ネットワーク10内の第2処理装置27は、上記マルチキャスト送信されたFindServiceメッセージを受信する。以下、上記FindServiceメッセージをマルチキャスト送信したECU7をクライアントECU7という。
【0105】
クライアントECU7からのFindServiceメッセージを受信した第2処理装置27の第2認証部32は、クライアントECU7についての第2認証処理を実行する(S302)。第2認証部32は、受信したFindServiceメッセージに含まれる当該メッセージの送信元アドレスが、メモリ21が記憶する識別情報23の正規アドレスリストに含まれているか否かを判断することにより、上記第2認証処理を行う。なお、第2認証部32は、第2認証処理においてクライアントECU7の正当性を認証できないときは、図6に示す処理を終了する(図6には不図示)。
【0106】
続いて、第2処理装置27の第2通信制御部33は、クライアントECU7からのFindServiceメッセージを、第1処理装置26へ転送する(S304)。
【0107】
第1処理装置26の第1通信制御部31は、転送されたFindServiceメッセージに基づき、クライアントECU7が求める要求サービスを提供可能なECU6を特定する(S306)。具体的には、第1通信制御部31は、上記FindServiceメッセージのServiceIDから、上記要求サービスのサービスIDを取得する。そして、第1通信制御部31は、メモリ21に記憶されているサービス情報24を参照し、取得したサービスIDを提供可能サービスIDとして含むECU6の通信アドレスを特定する。また、第1通信制御部31は、サービス情報24により、上記特定したECU6が、上記要求サービスに関し、Requestメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S308)。以下、クライアントECU7が求める要求サービスを提供可能なECU6を、サーバECU6という。
【0108】
次に、第1通信制御部31は、サーバECU6のサービス提供に関する上記認識に応じて、当該特定したサーバECU6に代理して、当該サーバECU6の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを生成し(S310)、生成したOfferServiceメッセージをクライアントECU7へ返信する(S312)。上記OfferServiceメッセージを受信したクライアントECU7は、受信したOfferServiceメッセージのEndpointアドレスにより、通信相手であるサーバECU6の通信アドレスを取得する(S314)。
【0109】
続いて、クライアントECU7は、上記取得したサーバECU6の通信アドレスをIPパケットの送信先アドレスとして用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してサーバECU7へRequestメッセージを送信する(S316)。上記Requestメッセージを受信したサーバECU6は、受信したRequestメッセージのIPパケットの送信元アドレスにより、通信相手であるクライアントECU7の通信アドレスを取得する(S318)。
【0110】
続いて、サーバECU6は、上記取得したクライアントECU7の通信アドレスをIPパケットの送信先アドレスとして用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してクライアントECU7へResponseメッセージを送信する(S320)。
【0111】
以降は、クライアントECU7及びサーバECU6は、それぞれ、ステップS314及びS318で取得した互いの通信アドレスを用いて、従来技術に従い、通信管理装置5介することなく、ルーティング装置8を介して直接にRequestメッセージとResponseメッセージのやりとりを繰り返す(S322、S324)。
【0112】
ここで、図6に示す例において、クライアントECU7およびサーバECU6は、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置が通信相手とすべき他の制御装置」に相当する。また、ステップS300で送信されるFindServiceメッセージおよびステップS312において送信されるOfferServiceメッセージは、それぞれ、本開示における、「一方の制御装置から受信したメッセージ」および「一方の制御装置から受信したメッセージに対する返信メッセージ」に相当する。
【0113】
また、図6において、ステップS302は、本開示における認証処理ステップに相当し、ステップS306は、特定ステップに相当する。また、ステップS310、S312は、返信送信ステップに相当し、ステップS316、S320、S322、S324は、第2直接通信ステップに相当する。
【0114】
[3.2.6 通信手順の第6の例]
図7は、SOME/IP通信の第6の例である。図7に示すSOME/IP通信は、第2制御装置群4のいずれかのECU7が特定のサービスを求めてFindServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU7は、上記特定のサービスを提供する第1制御装置群3のいずれかのECU6からEventメッセージ及び又はFieldNotificationメッセージによるサービス提供を受ける。
【0115】
なお、図7において、図6に示す処理ステップと同じ処理ステップについては、図6における符号と同じ符号を用いて示すものとし、上述した図6についての説明を援用する。
【0116】
図7に示す例では、第1処理装置26の第1通信制御部31は、ステップS306において要求サービスを提供可能なサーバECU6を特定したのち、サービス情報24により、サーバECU6が、要求サービスに関しSubscribeEventGroupメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S350)。そして、第1通信制御部31は、サーバECU6のサービス提供に関する上記認識に応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを、クライアントECU7へ送信する(S352)。
【0117】
このOfferServiceメッセージを受信したクライアントECU7は、従来技術に従い、クライアントECU7自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを、上記OfferServiceメッセージの送信元である第1処理装置26へ送信する(S354)。
【0118】
第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupメッセージを受信したことに応じて、その送信元であるクライアントECU7に代理して、当該クライアントECU7の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを生成し(S356)、上記生成したSubscribeEventGroupメッセージを、ステップS306において特定したサーバECU6へ送信する(S358)。
【0119】
サーバECU6は、上記SubscriveEventGroupメッセージ受信し、受信したSubscriveEventGroupメッセージのEndpointアドレスにより、サービス提供の通信相手となるクライアントECU7の通信アドレスを取得する(S360)。サーバECU6は、ステップS358において送信されたSubscribeEventGroupメッセージに対する確認応答として、第1処理装置26へSubscriveEventGroupAckメッセージを送信する(S362)。
【0120】
第1処理装置26の第1通信制御部31は、ステップS362において送信されたSubscribeEventGroupAckメッセージを受信する。第1通信制御部31は、上記SubscribeEventGroupAckメッセージを受信したことに応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupAckメッセージをクライアントECU7へ送信する(S364)。このSubscribeEventGroupAckメッセージは、ステップS354においてクライアントECU7が送信したSubscribeEventGroupメッセージに対する応答メッセージである。
【0121】
その後は、サーバECU7は、ステップS360で取得したクライアントECU7の通信アドレスを用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介して直接に、クライアントECU7へメッセージを送信することができる。したがって、その後は、サーバECU6は、通信管理装置5を介することなく、提供サービスについてのデータを、所定のタイミングで、Eventメッセージ及び又はFieldNotificationメッセージによりクライアントECU7へ継続的に送信し、クライアントECU7は、これらのメッセージを受信する(S366、S368)。
【0122】
図7に示す例においてクライアントECU7およびステップS354で送信されるSubscribeEventGroupメッセージは、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置から受信したメッセージ」に相当する。また、ステップS358において送信されるSubscribeEventGroupメッセージは、本開示における、「一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0123】
また、図7において、ステップS356、S358は、本開示における中継送信ステップに相当し、ステップS366、S368は、第1直接通信ステップに相当する。
【0124】
[3.2.7 通信手順の第7の例]
図8は、SOME/IP通信の第7の例である。図8に示すSOME/IP通信は、第2制御装置群4のいずれかのECU7が特定のサービスを提供可能であることを示すOfferServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU7は、上記特定のサービスを必要とする第1制御装置群3のいずれかのECU6からRequestメッセージを受信し、当該ECU6へReqponseメッセージによるサービス提供を行う。
【0125】
図8において、まず、第2制御装置群4のいずれかのECU7は、特定のサービスを提供可能であることを示すOfferServiceメッセージを、第2通信ネットワーク10内においてマルチキャスト送信する(S400)。以下、上記特定のサービスを提供サービスといい、上記OfferServiceメッセージを送信したECU7をサーバECU7という。
【0126】
サーバECU7からのOfferServiceメッセージを受信した第2処理装置27の第2認証部32は、サーバECU7についての第2認証処理を実行する(S402)。第2認証部32は、第2認証処理においてサーバECU7の正当性を認証できないときは、図8に示す処理を終了する(不図示)。
【0127】
続いて、第2処理装置27の第2通信制御部33は、サーバECU7からのOfferServiceメッセージを、第1処理装置26へ転送する(S404)。
【0128】
第1処理装置26は上記OfferServiceメッセージを受信し、第1処理装置26の第1通信制御部31は、サービス情報24により、サーバECU7が、上記提供サービスに関し、Requestメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S406)。
【0129】
次に、第1通信制御部31は、サーバECU7のサービス提供に関する上記認識に応じて、ステップS400においてOfferServiceメッセージを送信したサーバECU7に代理して、当該サーバECU7の通信アドレスをEndpointアドレスとして設定したOfferServiceメッセージを生成し(S408)、上記生成したOfferServiceメッセージを、第1通信ネットワーク9内の各ECU6へマルチキャスト送信する(S410)。
【0130】
ステップS410においてマルチキャスト送信されたOfferServiceメッセージは、各ECU6において受信される。第1通信ネットワーク9内のECU6のうち、そのOfferServiceメッセージのサービスIDが示す提供サービスを必要とするいずれかのECU6(以下、クライアントECU6という)は、当該OfferServiceメッセージのEndpointアドレスにより、通信相手であるサーバECU7の通信アドレスを取得する(S412)。
【0131】
クライアントECU6は、上記取得したサーバECU7の通信アドレスを用いて、サーバECU7へRequestメッセージを送信する(S414)。このRequestメッセージは、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してサーバECU6により受信される。
【0132】
上記Requestメッセージを受信したサーバECU7は、受信したRequestメッセージのIPパケットの送信元アドレスにより、通信相手であるクライアントECU6の通信アドレスを取得する(S416)。サーバECU7は、上記取得したクライアントECU6の通信アドレスを用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介してクライアントECU6へResponseメッセージを送信する(S418)。
【0133】
以降は、クライアントECU6及びサーバECU7は、それぞれ、ステップS412及びS416で取得した互いの通信アドレスを用いて、従来技術に従い、通信管理装置5介することなく、ルーティング装置8を介して直接にRequestメッセージとResponseメッセージのやりとりを繰り返す(S420、S422)。
【0134】
図8に示す例において、サーバECU7、および第1処理装置26が受信するステップS400で送信されるOfferServiceメッセージは、それぞれ、本開示における、「一方の制御装置」及び「一方の制御装置から受信したメッセージ」に相当する。また、ステップS410で送信されるOfferServiceメッセージは、本開示における、「一方の制御装置から受信したメッセージに基づいて、当該メッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0135】
また、図8において、ステップS402は、本開示における認証処理ステップに相当し、ステップS408、S410は、中継送信ステップに相当し、ステップS414、S418、S420、S422は、第1直接通信ステップに相当する。
【0136】
[3.2.8 通信手順の第8の例]
図9は、SOME/IP通信の第8の例である。図9に示すSOME/IP通信は、第2制御装置群4のいずれかのECU7が特定のサービスを提供可能であることを示すOfferServiceメッセージをマルチキャスト送信したことをトリガとして開始され、当該ECU7は、上記特定のサービスを必要とする第1制御装置群3のいずれかのECU6へEventメッセージ及び又はFieldNotificationメッセージによるサービス提供を行う。
【0137】
なお、図9において、図8に示す処理ステップと同じ処理ステップについては、図8に示す符号と同じ符号を用いて示すものとし、上述した図8についての説明を援用する。
【0138】
図9に示す例では、ステップS404において第2処理装置27の第2通信制御部33が転送したOfferServiceメッセージを受信した第1処理装置26の第1通信制御部31は、サービス情報24により、サーバECU7が、提供サービスに関しSubscribeEventGroupメッセージを受信することに応じてサービス提供を行う装置であることを認識する(S450)。
【0139】
そして、第1通信制御部31は、サーバECU7のサービス提供に関する上記認識に応じて、従来技術に従い、第1処理装置26の通信アドレスをEndpointアドレスに設定したOfferServiceメッセージを、第1通信ネットワーク9内の各ECU6へマルチキャスト送信する(S452)。
【0140】
ステップS452においてマルチキャスト送信されたOfferServiceメッセージは、各ECU6において受信される。第1通信ネットワーク9内のECU6のうち、そのOfferServiceメッセージのサービスIDが示す提供サービスを必要とするいずれかのECU6(以下、クライアントECU6という)は、従来技術に従い、クライアントECU6自身の通信アドレスをEndpointとして設定したSubscribeEventGroupメッセージを、上記OfferServiceメッセージの送信元である第1処理装置26へ送信する(S454)。
【0141】
第1処理装置26の第1通信制御部31は、ステップS454において送信されたSubscribeEventGroupメッセージを受信したことに応じて、その送信元であるクライアントECU6に代理して、当該クライアントECU6の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupメッセージを生成し(S456)、上記生成したSubscribeEventGroupメッセージを、ステップS400におけるOfferServiceメッセージの送信元であるサーバECU7へ送信する(S458)。
【0142】
サーバECU7は、上記SubscriveEventGroupメッセージを受信し、受信したSubscriveEventGroupメッセージのEndpointアドレスにより、サービス提供の通信相手となるクライアントECU6の通信アドレスを取得する(S460)。サーバECU6は、ステップS458において送信されたSubscribeEventGroupメッセージに対する確認応答であるSubscriveEventGroupAckメッセージを、第1処理装置26へ送信する(S462)。
【0143】
第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupAckメッセージを受信したことに応じて、従来技術に従い、第1処理装置26自身の通信アドレスをEndpointアドレスとして設定したSubscribeEventGroupAckメッセージを、クライアントECU6へ送信する(S464)。このSubscribeEventGroupAckメッセージは、ステップS454においてクライアントECU6が送信したSubscribeEventGroupメッセージに対する応答メッセージである。
【0144】
その後は、サーバECU7は、ステップS460で取得したクライアントECU6の通信アドレスを用いて、通信管理装置5の第1処理装置26及び第2処理装置27を介することなく、ルーティング装置8を介して直接に、クライアントECU6へメッセージを送信することができる。したがって、その後は、サーバECU7は、通信管理装置5を介することなく、提供サービスについてのデータを、所定のタイミングで、Eventメッセージ及び又はFieldNotificationメッセージによりクライアントECU6へ継続的に送信し、クライアントECU6は、これらのメッセージを受信する(S466、S468)。
【0145】
図9に示す例において、クライアントECU6、ステップS454で送信されるSubscribeEventGroupメッセージ、およびステップS458で送信されるSubscribeEventGroupメッセージは、それぞれ、本開示における、「一方の制御装置」、「一方の制御装置から受信したメッセージ」、および「一方の制御装置から受信したメッセージに基づいて、当該メッセージを他方の制御装置群の制御装置へ中継するための中継メッセージ」に相当する。
【0146】
また、図9において、ステップS456、S458は、本開示における中継送信ステップに相当し、ステップS466、S468は、第1直接通信ステップに相当する。
【0147】
上記の構成を有する車両制御システム1では、第1認証部30及び第2認証部32において、それぞれ、ECU6についての第1認証処理とECU7についての第2認証処理とが実行される。これにより、車両制御システム1では、例えば、攻撃者がいずれかのECU6又はECU7を不正な制御装置に置き換えた場合でも、これをいち早く検知して、制御に係る不正な通信が行われてしまうのを未然に防止することができる。
【0148】
また、上記に加え、車両制御システム1では、第1認証処理又は第2認証処理が行われた後は、一方の制御装置であるECU6又はECU7と、当該一方の制御装置が通信すべき他方の制御装置であるECU7又はECU6と、の一方又は双方の通信アドレスが、通信管理装置5が送信するメッセージを介して、それぞれ通信相手となる制御装置へ通知される。このため、第1認証処理又は第2認証処理が行われた後は、一方の制御装置であるECU6又はECU7と、他方の制御装置であるECU7又はECU6とは、通信管理装置5を介することなく、ルーティング装置8を介して直接的に通信することができる。その結果、車両制御システム1では、攻撃者からの不正な通信を適切に防御しつつ、車両制御の応答性を高く維持することができる。
【0149】
[4.他の実施形態]
IPパケットの送信元及び送信先の通信アドレスとして、上述した実施形態では、IPヘッダのSourceAddressフィールド及びDestinationAddressフィールドのIPアドレスを用いたが、これに加えて、UDPヘッダのSourcePortフィールド及びDestinationPortフィールドのポート番号を用いてもよい。また、SOME/IP通信メッセージのEndpointアドレスとして、上述した実施形態では、SOME/IP-SDヘッダのIPv4 Addressフィールド(又は、IPv6 Addressフィールド)のIPアドレスを用いたが、これに加えて、SOME/IP-SDヘッダのPortNumberフィールドのポート番号を用いてもよい。
【0150】
なお、本発明は上記の実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【0151】
[5.上記実施形態によりサポートされる構成]
上述した実施形態は、以下の構成をサポートする。
【0152】
(構成1)車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムであって、前記通信管理装置は、いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行い、前記いずれかの制御装置の正当性が認証できたときに、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信し、前記他方の制御装置群の制御装置は、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を開始する、車両制御システム。
構成1の車両制御システムによれば、当該車両制御システムに対する攻撃者からの不正な通信を、認証処理によりいち早く検知して防御しつつ、認証処理後は、中継メッセージによる送信元アドレスの通知により、異なる通信ネットワークに属する2つの制御装置が通信管理装置を介することなく直接に通信できるようにして、車両制御の応答性を高く維持することができる。
【0153】
(構成2)前記通信管理装置は、前記いずれかの制御装置の正当性が認証できたときは、メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定し、前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信し、前記一方の制御装置は、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を開始する、構成1に記載の車両制御システム。
構成2の車両制御システムによれば、当該車両制御システムに対する攻撃者からの不正な通信を、認証処理によりいち早く検知して防御しつつ、認証処理後は、一方の制御装置の通信相手の通信アドレスを、返信メッセージにより一方の制御装置へ通知するので、異なる通信ネットワークに属する2つの制御装置が通信管理装置を介することなく直接に通信できることとなり、車両制御の応答性を高く維持することができる。
【0154】
(構成3)前記2つの制御装置群の一方は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、前記2つの制御装置群の他方は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない、構成1または2に記載の車両制御システム。
構成3の車両制御システムによれば、車両外部からの攻撃を受けやすい、車両外部との通信を行う制御装置群が、車両の運動制御に関わる制御装置群が属する通信ネットワークとは異なる通信ネットワークに接続され、それら2つの通信ネットワークに接続されている通信管理装置が、通信を開始しようとする制御装置の正当性を認証する。これにより、構成3の車両制御システムでは、車両の運動制御を、外部からの攻撃に対してより適切に防御して、車両制御の安全性をより向上することができる。
【0155】
(構成4)前記通信管理装置は、互いに独立に処理を行う2つの処理装置を備え、前記2つの処理装置は、それぞれ、前記2つの通信ネットワークのうちの相異なる通信ネットワークに接続されている、構成1ないし3のいずれかに記載の車両制御システム。
構成4の車両制御システムによれば、2つの通信ネットワークにそれぞれ接続された2つの独立な処理装置が協働して、通信管理装置における認証動作及び中継メッセージ又は返信メッセージの生成を行う。このため、構成4の車両制御システムでは、攻撃者からの攻撃により通信管理装置の動作が偽装されてしまうのを困難にして、車両制御の安全性を更に向上することができる。
【0156】
(構成5)前記2つの処理装置は、それぞれ、前記通信管理装置が備えるプロセッサにおいて実現される物理マシンおよび仮想マシンである、構成4に記載の車両制御システム。
構成5の車両制御システムによれば、通信管理装置が備える一つのプロセッサにおいて、互いに独立に処理を行う2つの処理装置を実現するので、通信管理装置のハードウェア構成を複雑化することなく、車両制御の安全性を向上することができる。
【0157】
(構成6)前記2つの制御装置群の制御装置、及び前記通信管理装置が行う通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び又は前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、Service Oriented Middle WarE Over IP(SOME/IP)通信である、構成1ないし5のいずれかに記載の車両制御システム。
構成6の車両制御システムによれば、複数の制御装置の複雑な連繋動作を効率的に実現し得るSOME/IP通信において、攻撃者からの不正な通信をいち早く検知して適切に防御しつつ、車両制御の応答性を高く維持することができる。
【0158】
(構成7)車両に搭載された相異なる2つの通信ネットワークのそれぞれを構成する2つの制御装置群と、前記2つの制御装置群の制御装置のそれぞれと通信可能に接続された通信管理装置と、前記2つの通信ネットワークの間の通信をルーティングするルーティング装置と、を備える車両制御システムが実行する通信処理方法であって、前記通信管理装置が、いずれかの制御装置からメッセージを受信したときに、当該いずれかの制御装置についての認証処理を行う認証処理ステップと、前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、一方の制御装置群の制御装置である一方の制御装置から受信したメッセージを他方の制御装置群の制御装置へ中継するための中継メッセージであって、前記一方の制御装置の通信アドレスを送信元アドレスとして含む前記中継メッセージを送信する中継送信ステップと、前記他方の制御装置群の制御装置が、前記中継メッセージが含む前記一方の制御装置の通信アドレスを用いて、前記一方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第1直接通信ステップと、を有する通信処理方法。
構成7の通信処理方法によれば、当該車両制御システムに対する攻撃者からの不正な通信を、認証処理によりいち早く検知して防御しつつ、認証処理後は、中継メッセージによる送信元アドレスの通知により、異なる通信ネットワークに属する2つの制御装置が通信管理装置を介することなく直接に通信できるようにして、車両制御の応答性を高く維持することができる。
【0159】
(構成8) 前記いずれかの制御装置の正当性が認証できたときに、前記通信管理装置が、メッセージを送信して来た一方の制御装置群の制御装置である一方の制御装置が通信相手とすべき他方の制御装置群の制御装置である他方の制御装置の通信アドレスを、前記2つの制御装置群のそれぞれの制御装置についての装置情報に基づいて特定する特定ステップと、前記通信管理装置が、前記特定した前記他方の制御装置の通信アドレスを送信元アドレスとして含む返信メッセージを前記一方の制御装置へ送信する返信送信ステップと、前記一方の制御装置が、前記返信メッセージが含む前記他方の制御装置の通信アドレスを用いて、前記他方の制御装置との間で、前記通信管理装置を介することなく、前記ルーティング装置を介した通信を行う第2直接通信ステップと、を有する、構成7に記載の通信処理方法。
構成8の通信処理方法によれば、当該車両制御システムに対する攻撃者からの不正な通信を、認証処理によりいち早く検知して防御しつつ、認証処理後は、一方の制御装置の通信相手の通信アドレスを、返信メッセージにより一方の制御装置へ通知するので、異なる通信ネットワークに属する2つの制御装置が通信管理装置を介することなく直接に通信できることとなり、車両制御の応答性を高く維持することができる。
【符号の説明】
【0160】
1…車両制御システム、2…車両、3…第1制御装置群、4…第2制御装置群、5…通信管理装置、6、7…ECU、6a…駆動ECU、6b…操縦ECU、6c…バッテリECU、6d…ADAS-ECU、7a…TCU、7b…IVI-ECU、7c…DMC-ECU、8…ルーティング装置、9…第1通信ネットワーク、10…第2通信ネットワーク、11…第3通信ネットワーク、20…プロセッサ、21…メモリ、22a…第1通信装置、22b…第2通信装置、23‥識別情報、24…サービス情報、25a…第1プログラム、25b…第2プログラム、26…第1処理装置、27…第2処理装置、30…第1認証部、31…第1通信制御部、32…第2認証部、33…第2通信制御部、40…ハブ、41…装置、41a…A装置、41b…B装置。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13