(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024131140
(43)【公開日】2024-09-30
(54)【発明の名称】車両制御システムおよび通信処理方法
(51)【国際特許分類】
G06F 21/44 20130101AFI20240920BHJP
【FI】
G06F21/44 350
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023041229
(22)【出願日】2023-03-15
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110001081
【氏名又は名称】弁理士法人クシブチ国際特許事務所
(72)【発明者】
【氏名】福井 一輝
(57)【要約】
【課題】車載制御システムにおける不正な通信を適切に防御して、車両制御の安全性を向上する。
【解決手段】車両制御システムは、第1制御装置群及び第2制御装置群と、第1制御装置群及び第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える。中継処理装置は、第1処理装置と第2処理装置とを備え、第1処理装置は、第1VLANを構成する第1制御装置群の制御装置についての第1通信認証処理を行い、第2処理装置は、第2VLANを構成する第2制御装置群の制御装置についての第2通信認証処理を行い、第1処理装置と前記第2処理装置とが第3VLANを介して通信して、第1通信認証処理において正当性が認証された制御装置と、第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う。
【選択図】
図1
【特許請求の範囲】
【請求項1】
車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムであって、
前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、
前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、
前記第1処理装置は、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行い、
前記第2処理装置は、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行い、
前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う、
車両制御システム。
【請求項2】
前記第1制御装置群は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、
前記第2制御装置群は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない、
請求項1に記載の車両制御システム。
【請求項3】
通信相手についての前記認証処理は、通信相手が送信する情報の中に含まれる送信元の通信アドレスが、正規の通信相手の通信アドレスとして予め定められた通信アドレスであるか否かに基づいて行われる、
請求項1に記載の車両制御システム。
【請求項4】
前記第1制御装置群の制御装置と前記第1処理装置との間の通信、及び前記第2制御装置群の制御装置と前記第2処理装置との間の通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、SOME/IP通信(Service Oriented Middle WarE Over IP通信)である、
請求項1に記載の車両制御システム。
【請求項5】
前記第1処理装置は、
前記第1制御装置群の制御装置からの前記探索通知を受信したときに、前記第2制御装置群の制御装置が提供し得る前記サービスの情報である第1サービス情報に基づいて、前記探索通知に対する前記提供通知を返信し、
前記第2処理装置は、
前記第2制御装置群の制御装置からの前記探索通知を受信したときに、前記第1制御装置群の制御装置が提供し得る前記サービスの情報である第2サービス情報に基づいて、前記探索通知に対する前記提供通知を返信する、
請求項4に記載の車両制御システム。
【請求項6】
前記通信中継のための、前記第1処理装置と前記第2処理装置との間の通信は、前記SOME/IP通信により行われ、
前記第1処理装置は、前記第1制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第2処理装置へ送信し、
前記第2処理装置は、前記第2制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第1処理装置へ送信する、
請求項5に記載の車両制御システム。
【請求項7】
前記第1処理装置は、通信相手である前記第2処理装置についての認証処理を含む第3通信認証処理を行い、
前記第2処理装置は、通信相手である前記第1処理装置についての認証処理を含む第4通信認証処理を行う、
請求項1に記載の車両制御システム。
【請求項8】
前記第1処理装置は、前記中継処理装置が備えるプロセッサにより実現される物理マシンであり、
前記第2処理装置は、前記プロセッサにおいて実現される仮想マシンである、
請求項1ないし7のいずれか一項に記載の車両制御システム。
【請求項9】
車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムのコンピュータが実行する通信処理方法であって、
前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、
前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、
前記第1処理装置が、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行う第1認証ステップと、
前記第2処理装置が、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行う第2認証ステップと、
前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う中継ステップと、
を有する、通信処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両制御システム、および車両制御システムが実行する通信処理方法に関する。
【背景技術】
【0002】
近年、車両における制御の安全性を向上するための研究開発が行われている。
特許文献1には、サービス指向型通信を採用した車載ネットワークシステムにおける不正なフレームの送信を検知して、不正な通信の確立を防ぐ不正フレーム検知装置が記載されている。この装置では、サーバとクライアントが物理的に接続するポートの関係から不正なフレームの送信が検知される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、車両制御の安全性に関する技術においては、車載制御システムにおける、攻撃者からの不正な通信を適切に防御することが課題である。
本願は上記課題の解決のため、車載制御システムにおける不正な通信を適切に防御して、車両制御の安全性を向上することを目的としたものである。そして、延いては交通の安全性をより一層改善して持続可能な輸送システムの発展に寄与するものである。
【課題を解決するための手段】
【0005】
本発明の一の態様は、車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムであって、前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、前記第1処理装置は、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行い、前記第2処理装置は、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行い、前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う、車両制御システムである。
本発明の他の態様によると、前記第1制御装置群は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、前記第2制御装置群は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない。
本発明の他の態様によると、通信相手についての前記認証処理は、通信相手が送信する情報の中に含まれる送信元の通信アドレスが、正規の通信相手の通信アドレスとして予め定められた通信アドレスであるか否かに基づいて行われる。
本発明の他の態様によると、前記第1制御装置群の制御装置と前記第1処理装置との間の通信、及び前記第2制御装置群の制御装置と前記第2処理装置との間の通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、SOME/IP(Service Oriented Middle WarE Over IP)通信である。
本発明の他の態様によると、前記第1処理装置は、前記第1制御装置群の制御装置からの前記探索通知を受信したときに、前記第2制御装置群の制御装置が提供し得る前記サービスの情報である第1サービス情報に基づいて、前記探索通知に対する前記提供通知を返信し、前記第2処理装置は、前記第2制御装置群の制御装置からの前記探索通知を受信したときに、前記第1制御装置群の制御装置が提供し得る前記サービスの情報である第2サービス情報に基づいて、前記探索通知に対する前記提供通知を返信する。
本発明の他の態様によると、前記通信中継のための、前記第1処理装置と前記第2処理装置との間の通信は、前記SOME/IP通信により行われ、前記第1処理装置は、前記第1制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第2処理装置へ送信し、前記第2処理装置は、前記第2制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第1処理装置へ送信する。
本発明の他の態様によると、前記第1処理装置は、通信相手である前記第2処理装置についての認証処理を含む第3通信認証処理を行い、前記第2処理装置は、通信相手である前記第1処理装置についての認証処理を含む第4通信認証処理を行う。
本発明の他の態様によると、前記第1処理装置は、前記中継処理装置が備えるプロセッサにより実現される物理マシンであり、前記第2処理装置は、前記プロセッサにおいて実現される仮想マシンである。
本発明の他の態様は、車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムのコンピュータが実行する通信処理方法であって、前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、前記第1処理装置が、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行う第1認証ステップと、前記第2処理装置が、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行う第2認証ステップと、前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う中継ステップと、を有する、通信処理方法である。
【発明の効果】
【0006】
本発明によれば、車載制御システムにおける不正な通信を適切に防御して、車両制御の安全性を向上することができる。
【図面の簡単な説明】
【0007】
【
図1】
図1は、本発明の一実施形態に係る車両制御システムの構成を示す図である。
【
図2】
図2は、車両制御システムが行う通信中継処理の一例を示すシーケンス図である。
【
図3】
図3は、車両制御システムが行う通信中継処理の他の一例を示すシーケンス図である。
【
図4】
図4は、車両制御システムが実行する行う第1通信処理の手順を示すフロー図である。
【
図5】
図5は、車両制御システムが実行する行う第2通信処理の手順を示すフロー図である。
【発明を実施するための形態】
【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に接続されて第1VLAN(Virtual Local-Area-Network)9を構成する。第2制御装置群4のECU7と、後述する中継処理装置5が備える第2処理装置27とは、ルーティング装置8に接続されて第2VLAN10を構成している。また、中継処理装置5が備える第1処理装置26及び第2処理装置27は、それぞれルーティング装置8に接続されて、第3VLAN11を構成している。
【0016】
中継処理装置5では、第1処理装置26及び第2処理装置27が協働して、第1VLAN9を構成する第1制御装置群3の制御装置であるECU6と、第2VLAN10を構成する第2制御装置群4の制御装置であるECU7との間の通信を中継する。
【0017】
本実施形態では、ECU6、ECU7、第1処理装置26、及び第2処理装置27は、Ethernet(登録商標)通信規格に従い、TCP/IPプロトコルに準拠した通信を行う。ルーティング装置8は、例えば、L3スイッチである。ルーティング装置8は、中継処理装置5に内蔵されていてもよい。
【0018】
本実施形態では、ECU6、ECU7、第1処理装置26、及び第2処理装置27は、例えば、AUTOSAR(Automotive Open System Architecture)で規定されたSOME/IP(Service Oriented Middle WarE Over IP)通信を行う。
【0019】
[2.中継処理装置の構成]
図1を参照し、中継処理装置5は、プロセッサ20と、メモリ21と、第1通信装置22aと、第2通信装置22bと、を含む。
第1通信装置22a及び第2通信装置22bは、それぞれ、後述する第1処理装置26及び第2処理装置27が通信を行うための有線通信装置である。第1通信装置22aと第2通信装置22bとは、Ethernet通信規格に従い、TCP/IPおよびSOME/IP通信規格に準拠した通信を行う。また、第1通信装置22aおよび第2通信装置22bは、それぞれルーティング装置8に接続されて第3VLAN11を構成している。第1通信装置22a及び第2通信装置22bは、ルーティング装置8を介してECU6及びECU7とSOME/IP通信規格に準拠した通信を行う。
【0020】
メモリ21は、例えば、揮発性及び又は不揮発性の半導体メモリ、及び又はハードディスク装置等により構成される。メモリ21には、第1識別情報23a及び第2識別情報23bと、第1サービス情報24a及び第2サービス情報24bと、が記憶されている。
【0021】
第1識別情報23a及び第2識別情報23bには、それぞれ、予め定められた、第1制御装置群3に含まれる正規のECU6の通信アドレスのリスト(ECU6についての、正規装置の通信アドレスリスト)、及び第2制御装置群4に含まれる正規のECU7の通信アドレスのリスト(ECU7についての、正規装置の通信アドレスリスト)が保存されている。
【0022】
第1サービス情報24aには、第2制御装置群4の各ECU7が提供し得る各サービスのサービスIDのリスト(サービスIDリスト)が保存されている。また、第2サービス情報24bには、第1制御装置群3の各ECU6が提供し得る各サービスのサービスIDリストが保存されている。
【0023】
プロセッサ20は、例えば、CPU等を備えるコンピュータである。プロセッサ20は、プログラムが書き込まれたROM、データの一時記憶のためのRAM等を有する構成であってもよい。そして、プロセッサ20は、機能要素又は機能ユニットとして、第1処理装置26と、第2処理装置27と、を備える。
【0024】
第1処理装置26と第2処理装置27とは、互いに独立に処理を行い、互いに協働して、第1VLAN9を構成する第1制御装置群3のECU6と、第2VLAN10を構成する第2制御装置群4のECU7と、の間の通信を中継する。
【0025】
第1処理装置26は、例えば、コンピュータであるプロセッサ20が、メモリ21に記憶された、OS(オぺレーティングシステム)を含む第1プログラム25aを実行することにより、いわゆる物理マシンとして実現される。また、例えば、第2処理装置27は、コンピュータであるプロセッサ20が、メモリ21に記憶された、OSを含む第2プログラム25bを実行することにより、いわゆる仮想マシンとして実現される。
これにより、第1処理装置26と第2処理装置27とは、互いに独立なコンピュータとして動作し得る。
【0026】
具体的には、第1処理装置26は、プロセッサ20が第1プログラム25aを実行することにより、プロセッサ20内においてプロセッサ20のハードウェア上に実現されて動作を開始する。その際、プロセッサ20が第1プログラム25aに含まれるOSを実行することにより、そのOSが提供する仮想マシンプラットフォームがプロセッサ20内に形成される。
【0027】
その後、プロセッサ20が上記仮想マシンプラットフォーム上において第2プログラム25bを実行することにより、仮想マシンとしての第2処理装置が実現される。
【0028】
すなわち、第1プログラム25aが提供するOSは、いわゆるホストOSであり、第2プログラム25bが提供するOSは、ホストOSが提供する仮想マシンプラットフォーム上で実行される、いわゆるゲストOSである。
【0029】
なお、第1プログラム25a及び第2プログラム25bは、コンピュータ読み取り可能な任意の記憶媒体に記憶させておくことができる。
【0030】
第1処理装置26は、機能要素又は機能ユニットとして、第1認証部30と、第1通信制御部31と、を備える。これらの機能要素は、プロセッサ20が上述の第1プログラム25aを実行することにより実現される。
【0031】
また、第2処理装置27は、機能要素又は機能ユニットとして、第2認証部32と、第2通信制御部33と、を備える。これらの機能要素は、プロセッサ20が上述の第2プログラム25bを実行することにより実現される。
【0032】
第1処理装置26の第1認証部30は、第1通信装置22aにより、ルーティング装置8を介して第1制御装置群3のECU6と通信し、通信相手であるECU6についての認証処理を含む第1通信認証処理を行う。第1通信認証処理は、通信相手が送信する情報の中に含まれる送信元のECU6の通信アドレスが、正規の通信相手の通信アドレスとして予め定められた通信アドレスであるか否かに基づいて行われる。
【0033】
具体的には、第1認証部30は、いずれかのECU6から、通信相手の検索又は特定のための通信を受信したときに、第1認証処理を行う。より具体的には、第1認証部30は、いずれかのECU6から、通信相手を検索又は特定するための通信であるSOME/IP-SDのFindServiceメッセージ又はOfferServiceメッセージを受信したときに、そのメッセージに含まれる当該メッセージの送信元アドレスを取得する。そして、第1認証部30は、メモリ21に記憶された第1識別情報23aを参照し、第1識別情報23aが保存する第1制御装置群3の正規装置の通信アドレスリストの中に、上記取得した送信元アドレスが含まれていれば、通信相手であるECU6を正規の制御装置であると判断して認証する。
【0034】
同様に、第2処理装置27の第2認証部32は、第2通信装置22bにより、ルーティング装置8介して第2制御装置群4のECU7と通信し、通信相手であるECU7についての認証処理を含む第2通信認証処理を行う。第2通信認証処理は、通信相手が送信する情報の中に含まれる送信元のECU7の通信アドレスが、正規の通信相手の通信アドレスとして予め定められた通信アドレスであるか否かに基づいて行われる。
【0035】
具体的には、第2認証部32は、いずれかのECU7から、通信相手の検索又は特定のための通信であるSOME/IP-SDのFindServiceメッセージ又はOfferServiceメッセージを受信したときに、そのメッセージに含まれる当該メッセージの送信元アドレスを取得する。そして、第2認証部32は、メモリ21に記憶された第2識別情報23bを参照し、第2識別情報23bが保存する第2制御装置群4の正規装置の通信アドレスリストの中に、上記取得した送信元アドレスが含まれていれば、通信相手であるECU7を正規の制御装置であると判断して認証する。
【0036】
ここで、第1認証部30及び第2認証部32がそれぞれECU6及びECU7から受信する、FindServiceメッセージ及びOfferServiceメッセージは、それぞれ、本開示における、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知、および、探索されているサービスを提供可能である旨の通知である提供通知、に相当する。
【0037】
第1認証部30は、通信相手であるECU6を正規の制御装置であると認証したあとは、そのECU6から受信する通信については第1認証処理を行わないものとすることができる。例えば、第1認証部30は、上記通信相手であるECU6から受信したFindServiceメッセージに含まれていたセッションIDと同じセッションIDを持つメッセージについては、第1認証処理を行わないものとしてもよい。
【0038】
同様に、第2認証部32は、通信相手であるECU7を正規の制御装置であると認証したあとは、その後にそのECU7から受信する通信については第2認証処理を行わないものとすることができる。例えば、第2認証部32は、上記通信相手であるECU7から受信したFindServiceメッセージに含まれていたセッションIDと同じセッションIDを持つメッセージについては、第2認証処理を行わないものとしてもよい。
【0039】
第1処理装置26の第1通信制御部31および第2処理装置27の第2通信制御部33は、上記第1通信認証処理において正当性が認証された制御装置であるECU6と、上記第2通信認証処理において正当性が認証された制御装置であるECU7と、の間での通信を中継(又は仲介)する。本実施形態では、上記通信の中継は、第1通信制御部31と第2通信制御部33とが互いに通信することにより行われる。また、本実施形態では、第1通信制御部31と第2通信制御部33との上記通信は、SOME/IP通信である。
【0040】
次に、第1処理装置26の第1通信制御部31および第2処理装置27の第2通信制御部33が行う、ECU6とECU7との間の通信中継処理について、
図2及び
図3に示すシーケンス図を参照しつつ説明する。
【0041】
図2は、中継処理装置5が行う通信中継処理の一例を示すシーケンス図である。
図2では、第1制御装置群3に含まれるいずれかのECU6がクライアント装置となり、第2制御装置群4に含まれるいずれかのECU7がサーバ装置となって、SubscribeEventGroupメッセージと、Eventメッセージ又はFieldNotificationメッセージと、を用いた継続的なサービス提供が行われる。なお、第1制御装置群3に含まれるいずれかのECU6がクライアント装置となり、他のいずれかのECU6がサーバ装置となる場合には、中継処理装置5における
図2に示すような中継処理は行われることなく、従来技術に従ってECU6間においてSOME/IP通信が行われる。
【0042】
図2において、まず、第1制御装置群3のいずれかのECU6は、車両2に運動制御に関わる何らかの制御のために必要なサービス(要求サービス)の提供を求めて、当該要求サービスを提供し得るサーバ装置を検索するためのFindServiceメッセージをマルチキャスト送信する(S100)。以下、FindServiceメッセージを送信したECU6をクライアントECU6という。
【0043】
ここで、FindServiceメッセージのマルチキャスト送信に用いられるIPパケットのIPヘッダのDestinationAddressフィールドには、送信先に中継処理装置5の第1処理装置26を含むように規定されたIPアドレスがセットされるものとする。
【0044】
クライアントECU6からのFindServiceメッセージを受信した第1処理装置26の第1認証部30は、クライアントECU6についての第1認証処理を実行する(S102)。上述したように、第1認証部30は、例えば、受信したFindServiceメッセージに含まれる当該メッセージの送信元アドレスと、メモリ21が記憶する第1識別情報23aとに基づいて、上記第1認証処理を行う。なお、第1認証部30は、第1認証処理においてクライアントECU6の正当性を認証できないときは、
図2に示す処理を終了する(
図2には不図示)。
【0045】
続いて、第1処理装置26の第1通信制御部31は、メモリ21に記憶されている第1サービス情報24aを参照し、いずれかのECU7が、クライアントECU6の求める要求サービスを提供可能か否かを確認する(S104)。具体的には、第1通信制御部31は、FindServiceメッセージのServiceIDから、上記要求サービスのサービスIDを取得する。そして、第1通信制御部31は、取得したサービスIDが、第1サービス情報24aが保存するサービスIDリストに含まれていることを確認する。
【0046】
その後、第1通信制御部31は、要求サービスを提供可能であることを示すOfferServiceメッセージをクライアントECU6へ送信する(S106)。なお、第1サービス情報24aが保存するサービスIDリストに要求サービスのサービスIDが含まれていないときは、第1通信制御部31は、
図2に示す処理を終了する(不図示)。
【0047】
第1処理装置26の第1通信制御部31からOfferServiceメッセージを受信したクライアントECU6は、例えば、継続的なサービスの提供を求めるSubscribeEventGroupメッセージ(添付図においては、“Subscribe”とも略記する。)を第1処理装置26へ送信する(S108)。第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAck(添付図においては、“SubscribeAck”とも略記する。)をクライアントECU6へ送信する(S110)。
【0048】
次に、第1通信制御部31は、SubscribeEventGroupメッセージを受信したことに応じて、ステップS100において送信されたクライアントECU6からのFindServiceメッセージに含まれていたものと同じサービスIDを含む新たなFindServiceメッセージを第2処理装置27へ送信する(S112)。第2処理装置27は、例えば、第1サービス情報24aを参照し、いずれかのECU7が上記FindServiceメッセージが求める要求サービスを提供可能であることを確認したのち(S114)、第1処理装置26へOfferServiceメッセージを送信する(S116)。OfferServiceメッセージを受信した第1処理装置26の第1通信制御部31は、ステップS108において送信されたクライアントECU6からのSubscribeEventGroupメッセージに含まれていたものと同じサービスIDを含む新たなSubscribeEventGroupメッセージを第2処理装置27へ送信する(S118)。第2処理装置27の第2通信制御部33は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAckを第1処理装置26へ送信する(S120)。
【0049】
続いて、第2処理装置27の第2通信制御部33は、ステップS112において送信されたFindServiceメッセージに含まれていたものと同じサービスIDを含む新たなFindServiceメッセージを、第2制御装置群4の全てのECU7へマルチキャスト送信する(S122)。これに応じて、このFindServiceメッセージに含まれるサービスIDが示す要求サービスを提供可能ないずれかのECU7(以下、サーバECU7という)は、当該サービスを提供可能であることを示すOfferServiceメッセージを、第2処理装置27へ返信する(S124)。
【0050】
サーバECU7からのOfferServiceメッセージを受信した第2処理装置27の第2認証部32は、サーバECU7について第2認証処理を実行する(S126)。上述したように、第2認証部32は、例えば、受信したOfferServiceメッセージに含まれる当該メッセージの送信元アドレスと、メモリ21が記憶する第2識別情報23bとに基づいて、上記第2認証処理を行う。なお、第2認証部32は、第2認証処理においてサーバECU7の正当性を認証できないときは、
図2に示す処理を終了する(
図2には不図示)。
【0051】
続いて、第2処理装置27の第2通信制御部33は、ステップS118において第1処理装置26から送信されたSubscribeEventGroupメッセージに含まれていたものと同じサービスIDを含む新たなSubscribeEventGroupメッセージをサーバECU7へ送信する(S128)。サーバECU7は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAckを第2処理装置27へ送信する(S130)。
【0052】
その後は、サーバECU7からEventメッセージ、及び又はFieldNotificationメッセージ(添付図においては、Eventメッセージ及びFieldNotificationメッセージを総称して“Event/Field”とも略記する。)が出力されるごとに(S132、S138)、第2処理装置27の第2通信制御部33は、それらのEventメッセージ及び又はFieldNotificationメッセージに含まれていたものと同じサービスIDを含む新たなEventメッセージ及び又はFieldNotificationを、第1処理装置26へ送信する(S134、S140)。
【0053】
また、第2処理装置27からEventメッセージ及び又はFieldNotificationメッセージが出力されるごとに、第1処理装置26の第1通信制御部31は、それらのEventメッセージ及び又はFieldNotificationメッセージに含まれていたものと同じサービスIDを含む新たなEventメッセージ及び又はFieldNotificationを、クライアントECU6へ送信する(S136、S142)。
【0054】
ここで、
図2におけるステップS112、S116、S118、S120及びステップS134、S140は、本開示における、第1処理装置26と第2処理装置27とが行う通信中継に相当する。
【0055】
図3は、中継処理装置5が行う中継処理の他の一例を示すシーケンス図である。
図3では、第2制御装置群4に含まれるいずれかのECU7がクライアント装置となり、第1制御装置群3に含まれるいずれかのECU6がサーバ装置となって、SubscribeEventGroupメッセージと、Eventメッセージ又はFieldNotificationメッセージを用いた継続的なサービス提供が行われる。なお、第2制御装置群4に含まれるいずれかのECU7がクライアント装置となり、他のいずれかのECU7がサーバ装置となる場合には、中継処理装置5における
図3に示すような中継処理は行われることなく、ECU7間においてSOME/IP通信が行われる。
【0056】
図3において、まず、第2制御装置群4のいずれかのECU7は、例えば車両2の外部との通信に関わる何らかの制御のために必要なサービス(要求サービス)の提供を求めて、当該要求サービスを提供し得るサーバ装置を検索するためのFindServiceメッセージをマルチキャスト送信する(S200)。以下、FindServiceメッセージを送信したECU7をクライアントECU7という。
【0057】
ここで、FindServiceメッセージのマルチキャスト送信に用いられるIPパケットのIPヘッダのDestinationAddressフィールドには、送信先に中継処理装置5の第2処理装置27を含むように規定されたIPアドレスがセットされるものとする。
【0058】
クライアントECU7からのFindServiceメッセージを受信した第2処理装置27の第2認証部32は、クライアントECU7についての第2認証処理を実行する(S202)。なお、第2認証部32は、第2認証処理においてクライアントECU7の正当性を認証できないときは、
図3に示す処理を終了する(
図3には不図示)。
【0059】
続いて、第2処理装置27の第2通信制御部33は、メモリ21に記憶されている第2サービス情報24bを参照し、いずれかのECU6が、クライアントECU7の求める要求サービスを提供可能か否かを確認する(S204)。具体的には、第2通信制御部33は、FindServiceメッセージのServiceIDから、上記要求サービスのサービスIDを取得する。そして、第2通信制御部33は、取得したサービスIDが、第2サービス情報24bが保存するサービスIDリストに含まれていることを確認する。
【0060】
その後、第2通信制御部33は、要求サービスを提供可能であることを示すOfferServiceメッセージをクライアントECU7へ送信する(S206)。なお、第2サービス情報24bが保存するサービスIDリストに要求サービスのサービスIDが含まれていないときは、第2通信制御部33は、
図3に示す処理を終了する(不図示)。
【0061】
第2処理装置27の第2通信制御部33からOfferServiceメッセージを受信したクライアントECU7は、継続的なサービスの提供を求めるSubscribeEventGroupメッセージを第2処理装置27へ送信する(S208)。第2処理装置27の第2通信制御部33は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAckをクライアントECU7へ送信する(S210)。
【0062】
次に、第2通信制御部33は、SubscribeEventGroupメッセージを受信したことに応じて、ステップS200において送信されたクライアントECU7からのFindServiceメッセージに含まれていたものと同じサービスIDを含む新たなFindServiceメッセージを第1処理装置26へ送信する(S212)。第1処理装置26は、第2サービス情報24bを参照し、いずれかのECU6が上記FindServiceメッセージが求める要求サービスを提供可能であることを確認したのち(S214)、第2処理装置27へOfferServiceメッセージを送信する(S216)。OfferServiceメッセージを受信した第2処理装置27の第2通信制御部33は、ステップS208において送信されたクライアントECU7からのSubscribeEventGroupメッセージに含まれていたものと同じサービスIDを含む新たなSubscribeEventGroupメッセージを第1処理装置26へ送信する(S218)。第1処理装置26の第1通信制御部31は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAckを第2処理装置27へ送信する(S220)。
【0063】
続いて、第1処理装置26の第1通信制御部31は、ステップS212において送信されたFindServiceメッセージに含まれていたものと同じサービスIDを含む新たなFindServiceメッセージを、第1制御装置群3の全てのECU6へマルチキャスト送信する(S222)。これに応じて、このFindServiceメッセージに含まれるサービスIDが示す要求サービスを提供可能ないずれかのECU6(以下、サーバECU6という)は、当該サービスを提供可能であることを示すOfferServiceメッセージを、第1処理装置26へ返信する(S224)。
【0064】
サーバECU6からのOfferServiceメッセージを受信した第1処理装置26の第1認証部30は、サーバECU6について第1認証処理を実行する(S226)。なお、第1認証部30は、第1認証処理においてサーバECU6の正当性を認証できないときは、
図3に示す処理を終了する(
図3には不図示)。
【0065】
続いて、第1処理装置26の第1通信制御部31は、ステップS218において第2処理装置27から送信されたSubscribeEventGroupメッセージに含まれていたものと同じサービスIDを含む新たなSubscribeEventGroupメッセージをサーバECU6へ送信する(S228)。サーバECU6は、上記SubscribeEventGroupメッセージに対する応答であるSubscribeEventGroupAckを第1処理装置26へ送信する(S230)。
【0066】
その後は、サーバECU6からEventメッセージ、及び又はFieldNotificationメッセージが出力されるごとに(S232、S238)、第1処理装置26の第1通信制御部31は、それらのEventメッセージ及び又はFieldNotificationメッセージに含まれていたものと同じサービスIDを含む新たなEventメッセージ及び又はFieldNotificationを、第2処理装置27へ送信する(S234、S240)。
【0067】
また、第1処理装置26からEventメッセージ及び又はFieldNotificationメッセージが出力されるごとに、第2処理装置27の第2通信制御部33は、それらのEventメッセージ及び又はFieldNotificationメッセージに含まれていたものと同じサービスIDを含む新たなEventメッセージ及び又はFieldNotificationを、クライアントECU7へ送信する(S236、S244)。
【0068】
ここで、
図3におけるステップS212、S216、S218、S220及びステップS234、S240は、本開示における、第1処理装置26と第2処理装置27とが行う通信中継に相当する。
【0069】
上記の構成を有する車両制御システム1では、第1認証部30及び第2認証部32において、それぞれ、一方の通信相手であるECU6についての第1認証処理と他方の通信相手であるECU7についての第2認証処理とが実行される。すなわち、この2段階の認証処理により、互いに通信を行うECU6及びECU7の双方について、正規の制御装置であることが保証される。これにより、車両制御システム1では、例えば、攻撃者がいずれかのECU6又はECU7を不正な制御装置に置き換えた場合でも、これをいち早く検知して、制御に係る不正な通信が行われてしまうのを未然に防止することができるので、車両制御の安全性が向上する。
【0070】
また、車両制御システム1では、ECU6及びECU7の正当性の認証を、互いに独立に処理を行う第1処理装置26及び第2処理装置27において行い、且つ、ECU6とECU7との間の通信を、第1処理装置26と第2処理装置27との間の通信を介して中継する。このため、車両制御システム1では、不正な通信を正規な通信として偽装するためには、認証処理及び通信中継処理の全てを偽装することが必要となるので、中継処理装置5への攻撃による不正通信の偽装が困難となる。したがって、車両制御の安全性がより向上する。
【0071】
[3.車両制御システムにおける処理]
次に、車両制御システム1が行う通信処理方法の処理の手順について説明する。この通信処理方法は、車両制御システム1を構成する中継処理装置5が備える、互いに独立なコンピュータである第1処理装置26と第2処理装置27とが協働することで実行される。上述したように、本実施形態では、第1処理装置26および第2処理装置27は、それぞれ、一つのプロセッサ20において実現される物理マシン及び仮想マシンである。
【0072】
車両制御システム1が備えるコンピュータとしての第1処理装置26および第2処理装置27は、第1処理装置26がいずれかのECU6からFindServiceメッセージを受信したときに開始される第1通信処理、および第2処理装置27がいずれかのECU7からFindServiceメッセージを受信したときに開始される第2通信処理において、通信処理方法を実行する。
【0073】
[3.1 第1通信処理]
図4は、車両制御システム1を構成する中継処理装置5の第1処理装置26が、いずれかのECU6からFindServiceメッセージを受信したときに開始される第1通信処理の手順を示すフロー図である。中継処理装置5は、一のECU6からFindServiceメッセージを受信したことに応じて当該FindServiceメッセージに関連する第1通信処理の実行を開始した後に、他のECU6からFindServiceメッセージを受信したときは、当該他のECU6から受信したFindServiceメッセージに関連する第1通信処理を並行して実行する。また、第1通信処理と、後述の第2通信処理とは、並行して実行され得る。
【0074】
いずれかのECU6からFindServiceメッセージを受信したことに応じて、
図4に示す第1通信処理が開始されると、まず、第1処理装置26の第1認証部30は、そのFindServiceメッセージの送信元であるECU6(以下、送信元ECU6という)についての第1認証処理を実行する(S300)。続いて、第1認証部30は、送信元ECU6が正規の(すなわち、不正なものでない)制御装置であるか否かを判断する(S302)。そして、送信元ECU6が正規の制御装置でないときは(S302、NO)、第1認証部30は、第1通信処理を終了する。
【0075】
一方、送信元ECU6が正規の制御装置であるときは(S302、YES)、第1処理装置26の第1通信制御部31は、第1サービス情報24aに基づき、クライアントECU6からのFindServiceメッセージが示す要求サービスを提供可能なECU7があるか否かを判断する(S304)。要求サービスを提供可能なECU7がないときは(S304、NO)、第1通信制御部31は、第1通信処理を終了する。
【0076】
一方、要求サービスを提供可能なECU7があるときは(S304、YES)、第1通信制御部31は、送信元ECU6へOfferServiceメッセージ(
図4及び
図5では、“Offer”と略記する。)を送信する(S306)。送信元ECU6は、上記OfferServiceメッセージを受信し、SubscribeEventGroupメッセージ(
図4及び
図5では、“Subscribe”と略記する。)を第1処理装置26へ送信する。第1処理装置26は、送信元ECU6からの上記SubscribeEventGroupメッセージを受信する(S308)。第1処理装置26は、上記SubscribeEventGroupメッセージへの応答であるSubscribeEventGroupAckメッセージを送信元ECU6へ送信する(S310)。
【0077】
続いて、第1処理装置26の第1通信制御部31と第2処理装置27の第2通信制御部33とは、第1通信中継処理を行う(S312)。すなわち、第1処理装置26および第2処理装置27は、これら2の処理装置間において、それぞれ、送信元ECU6の要求サービスについてのクライアント装置及びサーバ装置となり、FindServiceメッセージ、OfferServiceメッセージ、SubscribeEventGroupメッセージ、及びSubscribeEventGroupAckメッセージを交換する。その際、第2通信制御部33は、第1サービス情報24aを参照して、要求サービスを提供可能なECU7があることを再確認してもよい。
【0078】
次に、第2処理装置27は、第2制御装置群4の各ECU7に対して、上記要求サービスについてのクライアント装置として動作し、上記要求サービスについてのFindServiceメッセージを、各ECU7へマルチキャスト送信する(S314)。上記FindServiceメッセージを受信したECU7のうち、要求サービスを提供し得るいずれかのECU7は、第2処理装置27へOfferServiceメッセージを返信し、第2処理装置27は、これを受信する(S316)。
【0079】
第2処理装置27の第2認証部32は、上記OfferServiceメッセージの返信元であるECU7(以下、返信元ECU7という。)についての第2認証処理を実行する(S318)。続いて、第2認証部32は、返信元ECU7が正規の(すなわち、不正なものでない)制御装置であるか否かを判断する(S320)。そして、返信元ECU7が正規の制御装置でないときは(S320、NO)、第2認証部32は、第1通信処理を終了する。
【0080】
一方、返信元ECU7が正規の制御装置であるときは(S320、YES)、第2処理装置27の第2通信制御部33は、SubscribeEventGroupメッセージを返信元ECU7へ送信する(S322)。送信元ECU7は、上記SubscribeEventGroupメッセージへの応答であるSubscribeEventGroupAckメッセージを第2処理装置27へ送信する(S324)。
【0081】
その後は、第1処理装置26の第1通信制御部31と第2処理装置27の第2通信制御部33とは、第2通信中継処理を行う(S326)。すなわち、第2処理装置27が返信元ECU7からEventメッセージ、又はFieldNotificationメッセージ(
図4及び
図5では、“Event/Field”と略記する。)を受信したときに、第2処理装置27の第2通信制御部33と第1処理装置26の第1通信制御部31とは、それぞれ、互いの間でサーバ装置及びクライアント装置となり、要求サービスについてのEventメッセージ、又はFieldNotificationメッセージの送受信を行う。また、第1処理装置26の第1通信制御部31は、クライアント装置である送信元ECU6に対するサーバ装置となり、要求サービスについてのEventメッセージ、又はFieldNotificationメッセージを、送信元ECU6へ送信する。
【0082】
次に、第1通信制御部31及び又は第2通信制御部33は、この通信セッション(すなわち、上記要求サービスの提供に係る一連の通信)が終了したか否かを判断する(S328)。例えば、第1通信制御部31及び第2通信制御部33は、それぞれ、送信元ECU6又は返信元ECU7から、通信セッションの終了通知を受信したとき、又は、車両2の電源スイッチがオフされて中継処理装置5の電源がオフになったときに、通信セッションが終了したものと判断することができる。
【0083】
そして、通信セッションが終了していないときは(S328、NO)、第1通信制御部31又は第2通信制御部33は、ステップS326に処理を戻す。一方、通信セッションが終了したときは(S328、YES)、第1通信制御部31又は第2通信制御部33は、第1通信処理を終了する。
【0084】
図4において、ステップS300及びS318は、それぞれ、本開示における第1認証ステップ及び第2認証ステップに相当する。また、ステップS326の第2通信中継処理は、本開示における中継ステップに相当する。
【0085】
[3.2 第2通信処理]
図5は、車両制御システム1を構成する中継処理装置5の第2処理装置27が、いずれかのECU7からFindServiceメッセージを受信したときに開始される第2通信処理の手順を示すフロー図である。ここで、中継処理装置5は、一のECU7からFindServiceメッセージを受信したことに応じて当該FindServiceメッセージに関連する第2通信処理の実行を開始した後に、他のECU7からFindServiceメッセージを受信したときは、当該他のECU7から受信したFindServiceメッセージに関連する第2通信処理を並行して実行する。また、第2通信処理と、上述の第1通信処理とは、並行して実行され得る。
【0086】
いずれかのECU7からFindServiceメッセージを受信したことに応じて、
図5に示す第2通信処理が開始されると、まず、第2処理装置27の第2認証部32は、そのFindServiceメッセージの送信元であるECU7(以下、送信元ECU7という)についての第2認証処理を実行する(S400)。続いて、第2認証部32は、送信元ECU7が正規の(すなわち、不正なものでない)制御装置であるか否かを判断する(S402)。そして、送信元ECU7が正規の制御装置でないときは(S402、NO)、第2認証部32は、第2通信処理を終了する。
【0087】
一方、送信元ECU7が正規の制御装置であるときは(S402、YES)、第2処理装置27の第2通信制御部33は、第2サービス情報24bに基づき、クライアントECU7からのFindServiceメッセージが示す要求サービスを提供可能なECU6があるか否かを判断する(S404)。要求サービスを提供可能なECU6がないときは(S404、NO)、第2通信制御部33は、第2通信処理を終了する。
【0088】
一方、要求サービスを提供可能なECU6があるときは(S404、YES)、第2通信制御部33は、送信元ECU7へOfferServiceメッセージを送信する(S406)。送信元ECU7は、上記OfferServiceメッセージを受信し、SubscribeEventGroupメッセージを第2処理装置27へ送信する。第2処理装置27は、送信元ECU7からの上記SubscribeEventGroupメッセージを受信する(S408)。第2処理装置27は、上記SubscribeEventGroupメッセージへの応答であるSubscribeEventGroupAckメッセージを送信元ECU7へ送信する(S410)。
【0089】
続いて、第1処理装置26の第1通信制御部31と第2処理装置27の第2通信制御部33とは、第3通信中継処理を行う(S412)。すなわち、第2処理装置27および第1処理装置26は、これら2の処理装置間において、それぞれ、送信元ECU7の要求サービスについてのクライアント装置及びサーバ装置となり、FindServiceメッセージ、OfferServiceメッセージ、およびSubscribeEventGroupメッセージを交換する。その際、第1通信制御部31は、第2サービス情報24bを参照して、要求サービスを提供可能なECU6があることを再確認してもよい。
【0090】
次に、第1処理装置26は、第1制御装置群3の各ECU6に対して、上記要求サービスについてのクライアント装置として動作し、上記要求サービスについてのFindServiceメッセージを、各ECU6へマルチキャスト送信する(S414)。上記FindServiceメッセージを受信したECU6のうち、要求サービスを提供し得るいずれかのECU6は、第1処理装置26へOfferServiceメッセージを返信し、第1処理装置26は、これを受信する(S416)。
【0091】
第1処理装置26の第1認証部30は、上記OfferServiceメッセージの返信元であるECU6(以下、返信元ECU6という。)についての第1認証処理を実行する(S418)。続いて、第1認証部30は、返信元ECU6が正規の(すなわち、不正なものでない)制御装置であるか否かを判断する(S420)。そして、返信元ECU6が正規の制御装置でないときは(S420、NO)、第1認証部30は、第2通信処理を終了する。
【0092】
一方、返信元ECU6が正規の制御装置であるときは(S420、YES)、第1処理装置26の第1通信制御部31は、SubscribeEventGroupメッセージを返信元ECU6へ送信する(S422)。送信元ECU6は、上記SubscribeEventGroupメッセージへの応答であるSubscribeEventGroupAckメッセージを第1処理装置26へ送信する(S424)。
【0093】
その後は、第1処理装置26の第1通信制御部31と第2処理装置27の第2通信制御部33とは、第4通信中継処理を行う(S426)。すなわち、第1処理装置26が返信元ECU6からEventメッセージ、又はFieldNotificationメッセージを受信したときに、第1処理装置26の第1通信制御部31と第2処理装置27の第2通信制御部33とは、それぞれ、互いの間でサーバ装置及びクライアント装置となり、要求サービスについてのEventメッセージ、又はFieldNotificationメッセージの送受信を行う。また、第2処理装置27の第2通信制御部33は、クライアント装置である送信元ECU7に対するサーバ装置となり、要求サービスについてのEventメッセージ、又はFieldNotificationメッセージを、送信元ECU7へ送信する。
【0094】
次に、第1通信制御部31及び又は第2通信制御部33は、この通信セッション(すなわち、上記要求サービスの提供に係る一連の通信)が終了したか否かを判断する(S428)。例えば、第1通信制御部31及び第2通信制御部33は、それぞれ、送信元ECU7又は返信元ECU6から、通信セッションの終了通知を受信したとき、又は、車両2の電源スイッチがオフされて中継処理装置5の電源がオフになったときに、通信セッションが終了したものと判断することができる。
【0095】
そして、通信セッションが終了していないときは(S428、NO)、第1通信制御部31又は第2通信制御部33は、ステップS426に処理を戻す。一方、通信セッションが終了したときは(S428、YES)、第1通信制御部31又は第2通信制御部33は、第2通信処理を終了する。
【0096】
図5において、ステップS400及びS418は、それぞれ、本開示における第2認証ステップ及び第1認証ステップに相当する。また、ステップS426の第4通信中継処理は、本開示における中継ステップに相当する。
【0097】
なお、本発明は上記の実施形態の構成に限られるものではなく、その要旨を逸脱しない範囲において種々の態様において実施することが可能である。
【0098】
[4.上記実施形態によりサポートされる構成]
上述した実施形態は、以下の構成をサポートする。
【0099】
(構成1)車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムであって、前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、前記第1処理装置は、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行い、前記第2処理装置は、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行い、前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う、車両制御システム。
構成1の車両制御システムによれば、第1処理装置と第2処理装置とにより、それぞれ、一方の通信相手についての第1認証処理と他方の通信相手についての第2認証処理とが実行されるので、正規の制御装置が不正な制御装置へ置き換えらえた場合には、これをいち早く検知して、制御に係る不正な通信が行われてしまうのを未然に防止することができる。その結果、車両制御の安全性が向上され得る。
【0100】
(構成2)前記第1制御装置群は、前記車両の運動制御に関わる制御を行う制御装置を含み、前記車両の外部との通信を行う制御装置を含まず、前記第2制御装置群は、前記車両の外部との通信を行う制御装置を含み、前記車両の運動制御に関わる制御を行う制御装置を含まない、構成1に記載の車両制御システム。
構成2の車両制御システムによれば、車両外部からの攻撃を受けやすい、車両外部との通信を行う制御装置群が、車両の運動制御に関わる制御装置群が属する通信ネットワークとは異なる通信ネットワークに接続され、それら通信ネットワークを跨ぐ通信中継において、不正な装置との通信が検知及び排除される。これにより、構成2の車両制御システムでは、車両の運動制御を、外部からの攻撃に対してより強固に防御して、車両制御の安全性をより向上することができる。
【0101】
(構成3)通信相手についての前記認証処理は、通信相手が送信する情報の中に含まれる送信元の通信アドレスが、正規の通信相手の通信アドレスとして予め定められた通信アドレスであるか否かに基づいて行われる、構成1又は2に記載の車両制御システム。
構成3の車両制御システムによれば、通信相手が正規の制御装置であるか否かを容易に判断することができる。
【0102】
(構成4)前記第1制御装置群の制御装置と前記第1処理装置との間の通信、及び前記第2制御装置群の制御装置と前記第2処理装置との間の通信は、予め定められた機能単位であるサービスのいずれかを探索している旨の通知である探索通知の送信、及び前記探索されているサービスを提供可能である旨の通知である提供通知の送信を含む、SOME/IP(Service Oriented Middle WarE Over IP)通信である、構成1ないし3のいずれかに記載の車両制御システム。
構成4の車両制御システムによれば、複数の制御装置の複雑な連繋動作を効率的に実現し得るSOME/IP通信において、不正通信を効果的に排除して、車両制御の安全性を向上することができる。
【0103】
(構成5)前記第1処理装置は、前記第1制御装置群の制御装置からの前記探索通知を受信したときに、前記第2制御装置群の制御装置が提供し得る前記サービスの情報である第1サービス情報に基づいて、前記探索通知に対する前記提供通知を返信し、前記第2処理装置は、前記第2制御装置群の制御装置からの前記探索通知を受信したときに、前記第1制御装置群の制御装置が提供し得る前記サービスの情報である第2サービス情報に基づいて、前記探索通知に対する前記提供通知を返信する、構成4に記載の車両制御システム。
構成5の車両制御システムによれば、異なる通信ネットワークに属する2つの制御装置群のうち一方の制御装置群の制御装置(例えば、第1制御装置群の制御装置)は、自身が求めるサービスを他方の制御装置群の制御装置(例えば、第2制御装置群の制御装置)が提供し得るか否かの情報を、中継通信を介さず中継処理装置から直接得ることができるので、車両制御システム全体としての処理負荷を低減することができる。
【0104】
(構成6)前記通信中継のための、前記第1処理装置と前記第2処理装置との間の通信は、前記SOME/IP通信により行われ、前記第1処理装置は、前記第1制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第2処理装置へ送信し、前記第2処理装置は、前記第2制御装置群の制御装置からの前記探索通知が指定する前記サービスについての前記探索通知を前記第1処理装置へ送信する、構成5に記載の車両制御システム。
構成6の車両制御システムによれば、第1処理装置と第2処理装置との間の通信もSOME/IP通信により行われるので、通信中継の処理をメッセージ送信の形で容易に実現することができる。
【0105】
(構成7)前記第1処理装置は、通信相手である前記第2処理装置についての認証処理を含む第3通信認証処理を行い、前記第2処理装置は、通信相手である前記第1処理装置についての認証処理を含む第4通信認証処理を行う、構成1ないし6のいずれかに記載の車両制御システム。
構成7の車両制御システムによれば、第1処理装置と第2処理装置との間の通信においても、互いの装置が正規の装置であるか否かの認証が行われるので、中継処理装置への攻撃を含む外部からの攻撃を、より強固に防御して、車両制御の安全性をより高めることができる。
【0106】
(構成8)前記第1処理装置は、前記中継処理装置が備えるプロセッサにより実現される物理マシンであり、前記第2処理装置は、前記プロセッサにおいて実現される仮想マシンである、構成1ないし7のいずれかに記載の車両制御システム。
構成8の車両制御システムによれば、一つのプロセッサにおいて互いに独立に処理を行う第1処理装置及び第2処理装置を実現するので、中継処理装置のハードウェア構成を複雑化することなく、車両制御の安全性を向上することができる。
【0107】
(構成9)車両に搭載された、それぞれ少なくとも一つの制御装置を含む第1制御装置群及び第2制御装置群と、前記第1制御装置群の制御装置及び前記第2制御装置群の制御装置のそれぞれと通信可能に接続された中継処理装置と、を備える車両制御システムのコンピュータが実行する通信処理方法であって、前記中継処理装置は、互いに独立に処理を行う第1処理装置と第2処理装置とを備え、前記第1制御装置群の制御装置と前記第1処理装置とは、第1VLAN(Virtual Local-Area-Network)を構成し、前記第2制御装置群の制御装置と前記第2処理装置とは、前記第1VLANと異なる第2VLANを構成しており、前記第1処理装置が、前記第1制御装置群の制御装置からの通信を受信したときに、通信相手である前記第1制御装置群の制御装置についての認証処理を含む第1通信認証処理を行う第1認証ステップと、前記第2処理装置が、前記第2制御装置群の制御装置からの通信を受信したときに、通信相手である前記第2制御装置群の制御装置についての認証処理を含む第2通信認証処理を行う第2認証ステップと、前記第1処理装置と前記第2処理装置とが、前記第1VLAN及び前記第2VLANと異なる第3VLANを介して通信して、前記第1通信認証処理において正当性が認証された制御装置と、前記第2通信認証処理において正当性が認証された制御装置と、の間での通信中継を行う中継ステップと、を有する、通信処理方法。
構成9の通信処理方法によれば、第1処理装置と第2処理装置とにより、それぞれ、一方の通信相手についての第1認証処理と他方の通信相手についての第2認証処理とが実行されるので、正規の制御装置が不正な制御装置へ置き換えらえた場合には、これをいち早く検知して、制御に係る不正な通信が行われてしまうのを未然に防止することができる。その結果、車両制御の安全性が向上され得る。
【符号の説明】
【0108】
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…第1VLAN、10…第2VLAN、11…第3VLAN、20…プロセッサ、21…メモリ、22a…第1通信装置、22b…第2通信装置、23a‥第1識別情報、23b…第2識別情報、24a…第1サービス情報、24b…第2サービス情報、25a…第1プログラム、25b…第2プログラム、26…第1処理装置、27…第2処理装置、30…第1認証部、31…第1通信制御部、32…第2認証部、33…第2通信制御部。