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

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

▶ 株式会社オートネットワーク技術研究所の特許一覧 ▶ 住友電装株式会社の特許一覧 ▶ 住友電気工業株式会社の特許一覧

特開2024-154731車載装置、プログラム及び、情報処理方法
<>
  • 特開-車載装置、プログラム及び、情報処理方法 図1
  • 特開-車載装置、プログラム及び、情報処理方法 図2
  • 特開-車載装置、プログラム及び、情報処理方法 図3
  • 特開-車載装置、プログラム及び、情報処理方法 図4
  • 特開-車載装置、プログラム及び、情報処理方法 図5
  • 特開-車載装置、プログラム及び、情報処理方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024154731
(43)【公開日】2024-10-31
(54)【発明の名称】車載装置、プログラム及び、情報処理方法
(51)【国際特許分類】
   H04L 12/46 20060101AFI20241024BHJP
【FI】
H04L12/46 100C
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023068727
(22)【出願日】2023-04-19
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】小林 拓也
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA01
5K033BA06
5K033CB06
5K033CB09
5K033CB11
5K033DB19
5K033DB21
5K033EA02
(57)【要約】      (修正有)
【課題】車外装置から送信された通信データに対し、効率的に処理する車載装置、プログラム及び情報処理方法を提供する。
【解決手段】車載システムにおいて、車載装置は、車両の外部に位置する車外装置と通信するための車外通信コントローラと、車両の内部に位置する車載ECUと通信するための車内通信コントローラと、通信に関する処理を行う処理部とを備える。処理部は、車外通信コントローラに関する処理を担う車外通信処理部と、車内通信コントローラに関する処理を担う車内通信処理部とに論理分離され、車外装置からの通信データは、車外通信処理部にて処理された後、車内通信処理部にて処理される。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両の外部に位置する車外装置と通信するための車外通信コントローラと、
前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、
通信に関する処理を行う処理部とを備える車載装置であって、
前記処理部は、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離され、
前記車外装置からの通信データは、前記車外通信処理部にて処理された後、前記車内通信処理部にて処理される
車載装置。
【請求項2】
前記車外通信コントローラは、追加可能に構成されている
請求項1に記載の車載装置。
【請求項3】
前記車内通信コントローラは、複数のチャネルを含み、
前記車内通信コントローラが含むチャネルの個数は、前記車外通信コントローラが含むチャネルの個数よりも多い
請求項2に記載の車載装置。
【請求項4】
前記車外通信処理部は、
前記車外通信コントローラを介して前記車外装置から受信した通信データに対する正当性に関する第1判定を行い、
前記第1判定の結果が肯定的な場合、分離間通信により通信データを前記車内通信処理部に出力する
請求項1に記載の車載装置。
【請求項5】
前記車内通信処理部は、
前記車外通信処理部からの通信データに対する正当性に関する第2判定を行い、
前記第2判定の結果が肯定的な場合、前記車内通信コントローラを介して、通信データを前記車載ECUに出力する
請求項4に記載の車載装置。
【請求項6】
前記処理部は、複数の前記車内通信処理部に論理分離され、
論理分離された前記車外通信処理部及び複数の前記車内通信処理部それぞれは、直列に接続されている
請求項1に記載の車載装置。
【請求項7】
前記処理部によって起動される仮想化オペレーティングシステムが記憶されている記憶部を備え、
前記処理部は、前記仮想化オペレーティングシステムを起動することにより生成される複数の仮想環境によって、前記車外通信処理部と前記車内通信処理部とに論理分離される
請求項1に記載の車載装置。
【請求項8】
前記車内通信処理部に対応する仮想環境に割り当てられるハードウェアリソースは、前記車外通信処理部に対応する仮想環境に割り当てられるハードウェアリソースよりも多い
請求項7に記載の車載装置。
【請求項9】
車両の外部に位置する車外装置と通信するための車外通信コントローラと、
前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、
通信に関する処理を行う処理部とを備えるコンピュータに、
前記処理部を、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離し、
前記車外装置からの通信データを、前記車外通信処理部にて処理した後、前記車内通信処理部にて処理する
処理を実行させるプログラム。
【請求項10】
車両の外部に位置する車外装置と通信するための車外通信コントローラと、
前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、
通信に関する処理を行う処理部とを備えるコンピュータに、
前記処理部を、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離し、
前記車外装置からの通信データを、前記車外通信処理部にて処理した後、前記車内通信処理部にて処理する
処理を実行させるプログラムの情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車載装置、プログラム及び、情報処理方法に関する。
【背景技術】
【0002】
車両には、エンジン制御等の駆動制御系、エアコン制御等のボディ系等の車載機器を制御するためのECU(Electronic Control Unit)が搭載されている。ECUは、MPU等の演算処理部、RAM等の書き換え可能な不揮発性の記憶部、及び他のECUと通信するための通信部を含み、記憶部に記憶した制御プログラムを読み込んで実行することにより、車載機器の制御を行う。更に車両には、無線通信の機能を備えた通信機が実装されており、ECUは、通信機を介して、車外のネットワークに接続されているプログラム提供装置と通信する(例えば特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017-97851号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の通信機(中継機)は、例えば、車外のネットワークに接続されているプログラム提供装置等、車両の外部に位置する車外装置と通信するにあたり、当該車外装置から送信された通信データに対し、効率的に処理する点については考慮されていない。
【0005】
本開示の目的は、車外装置から送信された通信データに対し、効率的に処理することができる車載装置等を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様に係る車載装置は、車両の外部に位置する車外装置と通信するための車外通信コントローラと、前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、通信に関する処理を行う処理部とを備える車載装置であって、前記処理部は、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離され、前記車外装置からの通信データは、前記車外通信処理部にて処理された後、前記車内通信処理部にて処理される。
【発明の効果】
【0007】
本開示の一態様によれば、車外装置から送信された通信データに対し、効率的に処理する車載装置等を提供することができる。
【図面の簡単な説明】
【0008】
図1】実施形態1に係る車載装置を含む車載システムの構成を例示する模式図である。
図2】車載装置の物理構成を例示するブロック図である。
図3】車載装置の論理構成を例示するブロック図である。
図4】車載装置の処理部(車外通信処理部及び車内通信処理部)の処理を例示するフローチャートである。
図5】実施形態2(複数の車内通信処理部)に係る車載装置の論理構成を例示するブロック図である。
図6】実施形態3(複数の車外通信コントローラ)に係る車載装置の論理構成を例示するブロック図である。
【発明を実施するための形態】
【0009】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0010】
(1)本開示の一態様に係る車載装置は、車両の外部に位置する車外装置と通信するための車外通信コントローラと、前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、通信に関する処理を行う処理部とを備える車載装置であって、前記処理部は、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離され、前記車外装置からの通信データは、前記車外通信処理部にて処理された後、前記車内通信処理部にて処理される。
【0011】
本態様にあたっては、車載装置は、車外通信コントローラ、車内通信コントローラ、及びこれら通信コントローラに関する制御を行い、通信に関する処理を行う処理部を備える。処理部は、論理分離可能に構成されており、例えば、車外通信コントローラに関する処理を担う車外通信処理部と、車内通信コントローラに関する処理を担う車内通信処理部とに論理分離されている。処理部の論理分離は、車外通信コントローラ及び車内通信コントローラに応じて行われるものであり、すなわち論理分離は通信コントローラ単位(車外通信コントローラ及び車内通信コントローラのそれぞれ)にて可能なように、車載装置は、構成されている。車外通信コントローラ及び車内通信コントローラを含む通信コントローラそれぞれは、通信バッファ等として用いるレジスタそれぞれを含んでいる。これら通信コントローラそれぞれ(車外通信コントローラ及び車内通信コントローラ)を論理的に分離するにあたり、当該通信コントローラを担う処理部を、通信コントローラの個数に併せて論理分離する。これにより、車載装置は、レジスタとの対応関係を維持しつつ、通信コントローラ毎に論理分離された処理部とによって、通信機能を有する論理的な通信処理ユニット(論理構成)を複数個、構成することができる。このように論理分離された処理部は、車外通信コントローラに関する処理を担う車外通信処理部と、車内通信コントローラに関する処理を担う車内通信処理部とを含む。車外通信コントローラを介して車外装置から受信した通信データは、車外通信処理部にて処理された後、車内通信処理部にて処理されるため、論論理分離された車外通信処理部と車内通信処理部による2層にて処理(多層処理)された通信データが、車内通信コントローラを介して、車載ECUに出力(送信)されるものとなる。すなわち、論理分離された複数の通信処理部(車外通信処理部及び車内通信処理部)により、車両の内部に位置する車載ECUに送信される(車外から車載ネットワークに流れる)通信データに対する多層防御を行うことができる。
【0012】
(2)本開示の一態様に係る車載装置は、前記車外通信コントローラは、追加可能に構成されている。
【0013】
本態様にあたっては、車載装置は、例えばSPI(Serial Peripheral Interface)等に準拠した入出力I/Fを備え、当該入出力I/Fは、車外通信コントローラが追加可能(追加装着が可能)なように構成されている。論理分離が可能な処理部が例えばマイコン等により構成される場合、車外通信コントローラは追加(後付け)通信コントローラに相当し、車内通信コントローラはマイコン内蔵通信コントローラに相当する。当該車外通信コントローラの追加装着は、例えば、生産された車両Cが市場に出荷された以降に行われるものであってもよい。追加された車外通信コントローラは、例えばSPIにて、車外通
信処理部(処理部)と通信可能に接続される。このように追加装着された車外通信コントローラは、論理分離された車外通信処理部と接続されるものなり、当該車外通信処理部によって制御されるものとなる。処理部を論理分離することにより、車載装置は車外通信処理部を備えるものとなるため、車外通信コントローラが物理的に追加装着された場合であっても、当該車外通信コントローラを制御するための更なる処理部を物理的に追加装着することを不要とすることができ、車載装置の製品コストが増加することを抑制することができる。
【0014】
(3)本開示の一態様に係る車載装置は、前記車内通信コントローラは、複数のチャネルを含み、前記車内通信コントローラが含むチャネルの個数は、前記車外通信コントローラが含むチャネルの個数よりも多い。
【0015】
本態様にあたっては、車内通信コントローラは、複数のチャネルを含む。単一の車内通信コントローラが有する複数のチャネルそれぞれには、CANトランシーバ又はイーサネットPHY部等、通信プロコトルの物理層に対応した通信ポートそれぞれが、接続される。当該チャネルと通信ポートとは、一体化して構成されているものであってもよい。又は、チャネルと通信ポートとは別個に構成され内部バス等により接続されているものであってもよい。車内通信処理部は、単一の車内通信コントローラに接続される複数のチャネル(通信ポート)それぞれに接続される車載ECU間にて送受信される通信データを、中継することができる。このように複数の車内通信コントローラが含むチャネルの個数(チャネル数)は、車外通信コントローラが含むチャネルの個数よりも多い。車外通信コントローラは、比較的にチャンネル数が少ない(例えば1つのチャンネル)ものであり、例えば、1つのプロトコルに対し、1つのチャネル(1プロトコルにつき1ch)となるように構成されているものであってもよい。このようにチャネルの個数が車外通信コントローラよりも少ない車外通信コントローラを、追加可能に構成することにより、車外通信コントローラにおいて未使用のチャネルを無くすことができる。更に、チャネル数が比較的に少なくてもよい車外通信(車外装置との通信)に対応するにあたり、比較的にチャンネル数が少ない車外通信コントローラ(例えば、チャンネル数が1つの車外通信コントローラ)を適用(追加装着)することにより、論理分離の対象となる処理部等を含むマイコン等の選択の幅を広げることができる。
【0016】
(4)本開示の一態様に係る車載装置は、前記車外通信処理部は、前記車外通信コントローラを介して前記車外装置から受信した通信データに対する正当性に関する第1判定を行い、前記第1判定の結果が肯定的な場合、分離間通信により通信データを前記車内通信処理部に出力する。
【0017】
本態様にあたっては、処理部が論理分離することにより構成される車外通信処理部は、車外通信コントローラを介して車外装置から送信された通信データを受信し、当該受信した通信データに正当性に関する第1判定(第1セキュリティ判定処理)を行う。車外通信処理部は、例えば、車外通信コントローラを介して車外から受信した通信データが、成りすまし等の不正アクセス、DOS等の攻撃データ、又は予め許可されたデータ以外のデータ(不許可のデータ)等の不正なデータであるか否かを判定する。車外通信処理部は、車外から受信した通信データが不正なデータでない(正当なデータである)と判定(肯定的判定)した場合、分離間通信により当該通信データを車内通信処理部に出力する。車内通信コントローラは、車内通信処理部と論理的に接続され、車外通信処理部と論理的に接続されていない。すなわち、車内通信コントローラと車内通信処理部とは同一の論理構成(論理的な通信処理ユニット)に含まれ(属し)、車内通信コントローラと車外通信処理部とは別個の論理構成(論理的な通信処理ユニット)に属する。従って、車内通信コントローラと論理的に接続されていない車外通信処理部により、車外装置から受信した通信データに対する第1判定(第1セキュリティ判定処理)を行うことにより、当該車外通信処理
部をファイヤーウォール等として機能させ、車内通信コントローラに接続される車載ECUに対する堅牢性を担保することができる。車外通信処理部には、第1判定の結果が否定的な場合、通信データを破棄するものであってもよい。この場合、車外通信処理部には、当該破棄等した通信データの受信時点、データ種類又は送信元アドレス等のログ情報を記憶部に記憶するものであってもよい。
【0018】
(5)本開示の一態様に係る車載装置は、前記車内通信処理部は、前記車外通信処理部からの通信データに対する正当性に関する第2判定を行い、前記第2判定の結果が肯定的な場合、前記車内通信コントローラを介して、通信データを前記車載ECUに出力する。
【0019】
本態様にあたっては、車外通信処理部からの通信データを受信した車内通信処理部は、当該通信データに対する正当性に関する第2判定(第2セキュリティ判定処理)を行う。車内通信処理部が、車外通信処理部から受信した通信データは、当該車外通信処理部による正当性に関する第1判定(第1セキュリティ判定処理)が行われている。従って、車外から受信した通信データは、車内通信処理部による第1判定に加え、更に車外通信処理部による第2判定が行われるものとなり、すなわち複数回による正当性に関する判定が行われるものとる。車外通信処理部による第2判定と、車内通信処理部による第1判定とは、異なる種類のセキュリティ判定が行われるものであってもよい。これにより、車外から受信した通信データに対し、異なる種類のセキュリティ判定を車外通信処理部と車内通信処理部とによる分散処理にて実行することができる。又は、車外通信処理部による第2判定と、車内通信処理部による第1判定とは、同じ種類のセキュリティ判定が行われるものであってもよい。車外通信処理部は車外通信コントローラを介して車外装置に接続されるものであり、車外からの攻撃により、車外通信処理部のセキュリティ機能が破壊、突破又は無効化されていることも想定される。このような場合であっても、車外装置からの通信データが流れる方向において、車外通信処理部よりも下流側に位置する車内通信処理部は、セキュリティ機能を正常に維持することでき、車外通信処理部を不正に突破(通過)した通信データに対し第2判定(第2セキュリティ判定処理)を正常に行うことができる。車内通信処理部は、車外通信処理部から受信した通信データが不正なデータでない(正当なデータである)と判定(肯定的判定)した場合、当該通信データを車内通信コントローラから、送信先(中継先)となる車載ECUに出力(送信)する。このように車外通信処理部と、当該車外通信処理部よりも下流側に直列に接続される車内通信処理部とにより、車外からの不正な通信データに対する多層防御を行い、車載ECUが接続される車載ネットワークの堅牢性(健全性)を担保することができる。車外通信処理部は、第2判定の結果が否定的な場合、通信データを破棄するものであってもよい。この場合、車外通信処理部には、当該破棄等した通信データの受信時点、データ種類又は送信元アドレス等のログ情報を記憶部に記憶するものであってもよい。
【0020】
(6)本開示の一態様に係る車載装置は、前記処理部は、複数の前記車内通信処理部に論理分離され、論理分離された前記車外通信処理部及び複数の前記車内通信処理部それぞれは、直列に接続されている。
【0021】
本態様にあたっては、処理部は、車外通信処理部と、複数の車内通信処理部とに論理分離されている。車外装置からの通信データが流れる方向において、これら論理分離された車外通信処理部と、複数の車内通信処理部それぞれとは、車外通信処理部を最上流として直列に接続されている。直列に接続される車内通信処理部それぞれは、上流に位置する車外通信処理部又は車内通信処理部から受信した通信データに対し、第2判定(第2セキュリティ判定処理)を行う。車内通信処理部は、第2判定の判定結果が肯定的な場合、当該第2判定が行われた通信データを、当該車内通信処理部(自身)に論理的に接続される車内通信コントローラ、又は当該車内通信処理部(自身)の下流側に位置する他の車内通信処理部に出力する。従って、直列に接続される複数の車内通信処理部において、下流側に
接続される車内通信処理部ほど、実行された第2判定の回数が増加した(肯定的判定がされた回数が多い)通信データを受信するものとなる。すなわち、処理部を車外通信処理部と複数の車内通信処理部とに論理分離することにより、多層防御の層数を増加させ、特に下流側に位置する車内通信処理部に流れる通信データに対する判定処理の精度及び信頼性を向上させることができる。すなわち比較的に下流側に位置する車内通信処理部に論理的に接続される車内通信コントローラから出力される通信データの正当性を向上させ、当該車内通信コントローラに接続される車載ECUに対する堅牢性を効率的に担保することができる。
【0022】
(7)本開示の一態様に係る車載装置は、前記処理部によって起動される仮想化オペレーティングシステムが記憶されている記憶部を備え、前記処理部は、前記仮想化オペレーティングシステムを起動することにより生成される複数の仮想環境によって、前記車外通信処理部と前記車内通信処理部とに論理分離される。
【0023】
本態様にあたっては、車載装置の記憶部等、当該車載装置の処理部がアクセス可能な記憶領域には、車内通信コントローラ又は車内通信コントローラそれぞれを制御するためのプログラムそれぞれと、処理部によって起動されるHV(HyperVisor)等の仮想化オペレーティングシステムが記憶されている。すなわち、車載装置には、仮想化オペレーティングシステム等、ハードウェアリソースを論理分離する機能を有するソフトウェアが搭載されている。この場合、処理部は、仮想化オペレーティングシステムを管理するVM管理部(VMコントロールパネル)としても機能する。処理部は、仮想化オペレーティングシステムを起動することにより複数の仮想環境(VM:仮想マシン)を生成し、生成された仮想環境それぞれにおいて、それぞれのプログラムが実行される。これにより、各プログラムは、互いに異なる仮想環境にて実行されるものとなり、これらプログラム間における相互干渉が発生することを防止することができる。これら複数の仮想環境それぞれが、論理分離された車外通信処理部及び車内通信処理部それぞれを構成するものなる。すなわち仮想化オペレーティングシステムを起動することにより生成された複数の仮想環境それぞれが、通信コントローラ(車外通信コントローラ、車内通信コントローラ)と、これら通信コントローラ毎に論理分離された処理部(車外通信処理部又は車内通信処理部)とを含む論理的な通信処理ユニット(論理構成)それぞれに相当する。車内通信処理部に対応する仮想環境と、車外通信処理部に対応する仮想環境とは、仮想環境間通信(分離間通信)を行うための内部ネットワークにより論理的に接続されており、当該内部ネットワークは仮想化オペレーティングシステムにおける設定に応じて構成されている。当該仮想環境間通信用の内部ネットワークは、例えば、記憶部にて設定された仮想環境間通信用の共有メモリ領域により構成されるものであってもよい。又は、仮想化オペレーティングシステムを管理するVM管理部(VMコントロールパネル)が、車外通信処理部と車内通信処理部との間のプロセス間通信を行う(中継)することにより、車外通信処理部と車内通信処理部との間の内部バスが仮想的に構成される(車外通信処理部と車内通信処理部とが論理的に通信する)ものであってもよい。このように仮想化オペレーティングシステム等、ハードウェアリソースを論理分離する機能を有するソフトウェアを用いることにより、物理的に単一であるマイコン等のハードウェア(処理部)を、相互通信(分離間通信)が可能な複数の通信処理ユニット(論理構成)に論理的に分離することができる。
【0024】
(8)本開示の一態様に係る車載装置は、前記車内通信処理部に対応する仮想環境に割り当てられるハードウェアリソースは、前記車外通信処理部に対応する仮想環境に割り当てられるハードウェアリソースよりも多い。
【0025】
本態様にあたっては、仮想化オペレーティングシステムを用いて処理部を論理分離する際、VM管理部は、車内通信処理部に対応する仮想環境に割り当てられるハードウェアリソースが、車外通信処理部に対応する仮想環境に割り当てられるハードウェアリソースよ
りも多くなるように、仮想化オペレーティングシステムを実行する。すなわち、仮想化オペレーティングシステムを実行する際、各仮想環境を生成するために定義されるパラメータにおいて、車内通信処理部に対応する仮想環境に割り当てられるハードウェアリソースは、車外通信処理部に対応する仮想環境に割り当てられるハードウェアリソースよりも多くなるように当該パラメータは設定されている。当該ハードウェアリソースは、例えば、車載装置の記憶部におけるメモリ領域、又は処理部を構成するCPU又はMPUにおけるタイムスライス量を示す。すなわち、車内通信処理部に対応する仮想環境に割り当てられるメモリ領域は、車外通信処理部に対応する仮想環境に割り当てられるメモリ領域よりも大きい(広い)ものであってもよい。又は、車内通信処理部に対応する仮想環境に割り当てられるタイムスライス量は、車外通信処理部に対応する仮想環境に割り当てられるタイムスライス量よりも多いものであってもよい。車内通信コントローラのチャネル数は車外通信コントローラのチャネル数よりも多いため、車内に位置する車載ECUとの通信データのデータ量又は通信頻度は、車両の外部に位置する車外装置との通信データのデータ量又は通信頻度よりも多いことが想定される。このような場合であっても、車内通信処理部に対応する仮想環境(論理構成)に割り当てられるハードウェアリソースは、車外通信処理部に対応する仮想環境(論理構成)に割り当てられるハードウェアリソースよりも多いため、これら車内通信処理部と車外通信処理部との負荷バランスに応じた処理を行うことができる。これにより、車内通信処理部による車載ECU間の中継処理にて遅延が発生することを抑制しつつ、車外通信処理部による車外装置との通信を行うことができる。
【0026】
(9)本開示の一態様に係るプログラムは、車両の外部に位置する車外装置と通信するための車外通信コントローラと、前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、通信に関する処理を行う処理部とを備えるコンピュータに、前記処理部を、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離し、前記車外装置からの通信データを、前記車外通信処理部にて処理した後、前記車内通信処理部にて処理する処理を実行させる。
【0027】
本態様にあたっては、コンピュータを、車外装置から送信された通信データに対し、効率的に処理する車載装置として実行させるプログラムを提供することができる。
【0028】
(10)本開示の一態様に係る情報処理方法は、車両の外部に位置する車外装置と通信するための車外通信コントローラと、前記車両の内部に位置する車載ECUと通信するための車内通信コントローラと、通信に関する処理を行う処理部とを備えるコンピュータに、前記処理部を、前記車外通信コントローラに関する処理を担う車外通信処理部と、前記車内通信コントローラに関する処理を担う車内通信処理部とに論理分離し、前記車外装置からの通信データを、前記車外通信処理部にて処理した後、前記車内通信処理部にて処理する処理を実行させる。
【0029】
本態様にあたっては、コンピュータを、車外装置から送信された通信データに対し、効率的に処理する車載装置として実行させる情報処理方法を提供することができる。
【0030】
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載装置2を、以下に図面を参照しつつ説明する。なお、本発明はこれらの例示に限定されるものではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0031】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載装
置2を含む車載システムSの構成を例示する模式図である。図2は、車載装置2の物理構成を例示するブロック図である。車載システムSは、車両Cに搭載された車外通信装置1及び車載装置2を含み、車外ネットワークNを介して接続された車外装置S1から受信(取得)した通信データを、車両Cに搭載されている車載ECU3(Electronic Control Unit)に送信する。
【0032】
車外装置S1は、例えば外部サーバ、又は情報端末を含む。外部サーバは、例えば、インターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、車載ECU3のプログラム又はデータを更新する際、更新プログラム等を提供するOTA(Over The Air)サーバであってもよい。情報端末は、例えば、車両Cの操作者が保持するスマートホン等である。
【0033】
車両Cには、車外通信装置1、車載装置2、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車外通信装置1と車載装置2とは、例えば、CANバス又はイーサネットケーブル等の通信線41により通信可能に接続されている。車載装置2と車載ECU3とは、例えば、CANバス又はイーサネットケーブル等の通信線41により通信可能に接続されている。このように車外通信装置1、車載装置2、及び車載ECU3が、通信線41により接続されることにより、CAN(Control Area Network)、CAN-FD又はEthernet(登録商標)等の通信プロトコルに対応した車載ネットワーク4が構成される。
【0034】
車外通信装置1は、4G、5G、WiFi(登録商標)等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信装置1に接続されたアンテナ11を介して車外装置S1とデータの送受信を行う。車外通信装置1と車外装置S1との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。
【0035】
車載装置2は、制御部、記憶部23、入出力I/F22、及び車内通信コントローラ242(内蔵通信コントローラ)を備え、更に入出力I/F22に対し、車外通信コントローラ241(追加通信コントローラ)が追加接続可能に構成されている。車内通信コントローラ242及び車外通信コントローラ241は、通信部に相当し、これら通信コントローラ24(車内通信コントローラ242及び車外通信コントローラ241)により、車載装置2の処理部21は、車両Cの内外における通信データの中継を行う。車内通信コントローラ242は、複数のチャネル240(通信ポート)を有し、これらチャネル240それぞれに接続される車載ECU3間にて送受信される通信データの中継処理を行うために用いられる。車外通信コントローラ241は、例えば1つのチャネル240(通信ポート)を有し、当該チャネル240に接続される車外通信装置1との通信データの送受信を行うために用いられる。このように車載装置2は、中継機能を有し、例えば、CANゲートウェイ又はイーサスイッチとして機能する。又は、車載装置2は、中継機能を有し車両Cの全体を統合的に制御する統合ECUであってもよい。
【0036】
車載装置2は、記憶部23に記憶されている仮想化オペレーティングシステムを起動することにより、論理分離可能に構成されている。詳細は後述するが、車載装置2は、論理分離が可能な(論理分離の対象となる)ハードウェアリソースとして、処理部21、記憶部23、車内通信コントローラ242(内蔵通信コントローラ)、及び入出力I/F22を含む。当該論理分離が可能なハードウェアリソースは、例えばマイコン等としてパッケージングされて構成されている。論理分離は、車内通信コントローラ242毎に分離される構成であってもよい。車内通信コントローラ242は通信バッファ等として用いるレジスタを備えており、当該レジスタは、車内通信コントローラ242が有する複数のチャネル240にて共有されている。このような場合であっても、車内通信コントローラ242毎に、処理部21等のハードウェアリソースを含むマイコンを論理分離することにより、
レジスタとの対応関係を維持することができる。すなわち、通信コントローラ24毎に論理分離された処理部21(車外通信処理部211、及び車内通信処理部212)により、通信機能を有する論理的な通信処理ユニット(論理構成)を複数個、構成することができる。
【0037】
論理分離された処理部21は、例えば、車外通信処理部211と、車内通信処理部212とに分離される。車外通信処理部211には、追加接続が可能な車外通信コントローラ241(追加通信コントローラ)が、例えばSPIに準拠した入出力I/F22を介して接続される。車内通信処理部212には、論理分離可能に構成されたマイコン等に内蔵されている車内通信コントローラ242(内蔵通信コントローラ)が、接続される。
【0038】
車載装置2の制御部は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部23に予め記憶されたプログラムP(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。制御部は、更に記憶部23に予め記憶された仮想化オペレーティングシステムを起動することにより複数の仮想環境を生成する。これら仮想環境それぞれにより、処理部21等を含むマイコンは、論理分離される。
【0039】
記憶部23は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成される。記憶部23に記憶されたプログラムP(プログラム製品)は、車載装置2が読み取り可能な記録媒体Mから読み出されたプログラムP(プログラム製品)を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラムPをダウンロードし、記憶部23に記憶させたものであってもよい。記憶部23には、Hypervisor(ハイパーバイザー)等の仮想化オペレーティングシステムが記憶されている。
【0040】
入出力I/F22は、例えばシリアル通信するための通信インターフェイスであり、SPI(Serial Peripheral Interface)に準拠しているものであってもよい。入出力I/F22は、1つ以上の車外通信コントローラ241(追加通信コントローラ)が接続される。
【0041】
車内通信コントローラ242は、複数のチャネル240を含む。これら複数のチャネル240は、車内通信コントローラ242に含まれるレジスタを共有する。車内通信コントローラ242のチャネル240それぞれには、CANトランシーバ又はイーサネットPHY部等、通信プロコトルの物理層に対応した通信ポートそれぞれが接続される。車内通信コントローラ242のチャネル240と通信ポートとは、一体化して構成されているものであってもよく、又はチャネル240と通信ポートとは別個に構成され内部バス等により接続されているものであってもよい。車内通信コントローラ242は、論理分離が可能なマイコンに内蔵されているもの(内蔵通信コントローラ)であってもよい。
【0042】
車外通信コントローラ241は、例えば1つのチャネル240を含む。すなわち、車外通信コントローラ241のチャネル240数は、車内通信コントローラ242のチャネル240数よりも少ないものであってもよい。車外通信コントローラ241のチャネル240には、CANトランシーバ又はイーサネットPHY部等、通信プロコトルの物理層に対応した通信ポートそれぞれが接続される。車外通信コントローラ241のチャネル240と通信ポートとは、一体化して構成されているものであってもよく、又はチャネル240と通信ポートとは別個に構成され内部バス等により接続されているものであってもよい。車外通信コントローラ241は、論理分離が可能なマイコンに対し、追加(後付け)可能に構成されるもの(追加通信コントローラ)であってもよい。
【0043】
図3は、車載装置2の論理構成を例示するブロック図である。車載装置2は、論理分離が可能な(論理分離の対象となる)ハードウェアリソースとして、処理部21、記憶部23、車内通信コントローラ242(内蔵通信コントローラ)、及び入出力I/F22を含み、当該論理分離が可能なハードウェアリソースは、例えばマイコン等にて構成される。車載装置2の入出力I/F22には、車外通信コントローラ241(追加通信コントローラ)が接続され、車載装置2は、論理分離が可能なハードウェアリソース(マイコン等)に加え、更に後付けされた車外通信コントローラ241(追加通信コントローラ)を含む。
【0044】
処理部21、記憶部23、車内通信コントローラ242(内蔵通信コントローラ)、及び入出力I/F22を含むマイコンは、例えば、Hypervisor(ハイパーバイザー)等の仮想オペレーティングシステムによって論理分離される。処理部21は、仮想化オペレーティングシステムを起動することにより複数の仮想環境(VM:仮想マシン)を生成する。生成された仮想環境(VM:仮想マシン)それぞれにおいて、それぞれのプログラムが実行される。これにより、各プログラムは、互いに異なる仮想環境にて実行されるものとなり、これらプログラム間における相互干渉が発生することを防止することができる。本実施形態においては、当該仮想環境(VM:仮想マシン)それぞれが、論理分離された通信処理部(車外通信処理部211及び車内通信処理部212)それぞれに対応する。論理分離する際の分離数、すなわち論理分離された通信処理部の個数は2つに限定されず、3つ以上であってもよい。論理分離された通信処理部が3つの場合、当該通信処理部は、1つの車外通信処理部211と、2つの車内通信処理部212とを含むものであり、すなわち論理分離における分離数が増加するにつれ、車内通信処理部212の個数が増加するものであってもよい。
【0045】
処理部21は、仮想化オペレーティングシステムを起動することにより複数の仮想環境を生成し、これら仮想環境それぞれにより、処理部21等を含むマイコンは、論理分離される。処理部21は、論理分離されることにより、車外通信処理部211と車内通信処理部212とに分離される。車外通信処理部211が動作する仮想環境には、車外通信コントローラ241が接続される入出力I/F22が属する。車内通信処理部212が動作する仮想環境には、1つ以上(本実施形態による図示では2つ)の車内通信コントローラ242が属する。車外通信処理部211と車内通信処理部212とは、仮想化オペレーティングシステムによって構成された内部ネットワークにより通信可能に接続され、分離間通信を相互に行うことができる。
【0046】
車外通信処理部211と入出力I/F22とは同じ仮想環境で動作するものであり、すなわち同一の論理的な通信処理ユニット(論理構成)に含まれる。車外通信処理部211と入出力I/F22とは例えば内部バスにて接続されている。入出力I/F22には、車外通信コントローラ241が接続され、例えば入出力I/F22がSPI(Serial Peripheral Interface)に準拠している場合、車外通信処理部211と車外通信コントローラ241とは当該SPIを用いて通信可能に接続される。
【0047】
車外通信コントローラ241は、例えば1つのチャネル240(通信ポート)を有し、当該チャネル240は、例えばCAN、CAN/FD、又はイーサネットの通信プロコトルに対応(準拠)している。車外通信コントローラ241のチャネル240(通信ポート)には、通信プロコトルに応じた通信線41を介して、車外通信装置1が接続される。これにより、車外通信処理部211は、車外通信コントローラ241を介して、車外通信装置1と通信可能に接続される。
【0048】
車外通信装置1は、外部サーバ又は情報端末等の車外装置S1から通信データを受信(
車外通信)した場合、当該通信データを車外通信コントローラ241に出力する。車外通信コントローラ241は、車外通信装置1から受信した通信データを車外通信処理部211に出力する。車外通信処理部211は、車外通信コントローラ241からの通信データに対し、正当性に関する第1判定を行い、肯定的な判定結果の通信データのみを、仮想化オペレーティングシステムによって構成された内部ネットワークを介して、車内通信処理部212に出力する。車外通信処理部211が制御する車外通信コントローラ241と、車内通信処理部212とは、論理分離されており、すなわち異なる仮想環境にて動作するため、車外通信コントローラ241からの通信データが、直接的に車内通信処理部212に出力されることを確実に防止することができる。
【0049】
車内通信処理部212と1つ以上(本実施形態による図示では2つ)の車内通信コントローラ242とは同じ仮想環境で動作するものであり、すなわち同一の論理的な通信処理ユニット(論理構成)に含まれる。車内通信処理部212と車内通信コントローラ242とは例えば内部バスにて接続されている。車内通信コントローラ242は、複数(本実施形態による図示では3つ)のチャネル240(通信ポート)を有する。すなわち、車内通信コントローラ242のチャネル240数は、車外通信コントローラ241のチャネル240数よりも多い。車内通信コントローラ242のチャネル240は、例えばCAN、CAN/FD、又はイーサネットの通信プロコトルに対応(準拠)している。車内通信コントローラ242のチャネル240(通信ポート)には、通信プロコトルに応じた通信線41を介して、車載ECU3が接続される。
【0050】
車内通信処理部212は、車外通信処理部211からの通信データを分離間通信(仮想化オペレーティングシステムによって構成された内部ネットワーク)にて受信(取得)する。車内通信処理部212は、受信した通信データに対し、正当性に関する第2判定を行い、肯定的な判定結果の通信データのみを、車内通信コントローラ242を介して、車載ECU3に出力する。車内通信コントローラ242を介して車載ECU3に出力される通信データは、車外通信処理部211による第1判定、及び車内通信処理部212による第2判定から成る2層による多層処理が行われており、当該多層処理による全ての判定結果が肯定的な場合のみ、車載ECU3に出力される。従って、車載ECU3が接続される車載ネットワーク4に対し、車外からの不正な通信データに対する多層防御を行うことができる。
【0051】
図4は、車載装置2の処理部21(車外通信処理部211及び車内通信処理部212)の処理を例示するフローチャートである。車載装置2の処理部21は、例えば車両Cが起動状態又は停止状態において、定常的に以下の処理を行う。処理部21は、例えば仮想化オペレーティングシステムを実行することにより、複数の仮想環境を生成し、これら仮想環境を動作環境とする複数の通信処理部(車外通信処理部211及び車内通信処理部212)に論理分離されている。本実施形態においては、処理部21が論理分離された車外通信処理部211と車内通信処理部212とによる処理の流れについて説明する。
【0052】
車外通信処理部211は、車外通信が行われたか否かを判定する(S101)。車外通信処理部211は、例えばSPI等に準拠した入出力I/F22を介して接続されている車外通信コントローラ241からの通信データを常時、待ち受けている。車外通信コントローラ241は、例えば、イーサネット又はCAN等の通信プロコトルに応じた通信線41(イーサネットケーブル、CANバス)により、無線機能を有する車外通信装置1と接続されている。車外通信装置1は、OTAサーバ等の外部サーバ、又はスマートホン等の情報端末を含む車外装置S1からの通信データの送信を常時、待ち受けており、当該車外装置S1から通信データを受信した場合、車外通信コントローラ241に当該通信データを出力する。車外通信コントローラ241は、車外装置S1から受信した通信データを車外通信処理部211に出力する。車外通信処理部211は、当該車外通信コントローラ2
41からの通信データの出力の有無に基づき、車外通信が行われたか否かを判定する。
【0053】
車外通信が行われていないと判定した場合(S101:NO)、車外通信処理部211は、再度S101の処理を実行すべく、ループ処理を行う。車外通信処理部211は、車外通信が行われていないと判定した場合、再度S101の処理を実行することにより、車外通信コントローラ241からの通信データを待ち受ける処理を継続する。
【0054】
車外通信が行われたと判定した場合(S101:YES)、車外通信処理部211は、車外通信コントローラ241で通信データを受信する(S102)。車外通信処理部211は、車外通信が行われたと判定した場合、車外通信コントローラ241で通信データを受信し、当該受信した通信データを車外通信処理部211がアクセス可能な記憶部23の記憶領域(メモリ領域)に記憶する。車外通信処理部211は、例えば、仮想化オペレーティングシステムを起動することにより生成される仮想環境(VM)にて動作するようにマイコンのハードウェアリソース(処理部21及び記憶部23)を論理分離されたものである。車外通信処理部211は、当該仮想環境に割り当てられた記憶領域(メモリ領域)に受信した通信データを記憶する。
【0055】
車外通信処理部211は、通信データに対する正当性に関する第1判定を実行する(S103)。車外通信処理部211は、受信した通信データに対し、例えば、成りすまし等の不正アクセス、DOS等の攻撃データ、又は予め許可されたデータ以外のデータ(不許可のデータ)等の不正なデータであるか否か等、正当性に関する第1判定を行う。車外通信処理部211は、各種のセキュリティプログラムを実行することにより、当該第1判定を行うものであってもよい。
【0056】
車外通信処理部211は、第1判定の結果が肯定的であるか否かを判定する(S104)。車外通信処理部211は、第1判定の結果(第1判定結果)を導出し、当該第1判定結果が肯定的であるか否かを判定する。判定結果が肯定的であるとは、通信データが正当であることを示す。判定結果が肯定的でない、すなわち否定的とは、通信データが不正であることを示す。
【0057】
第1判定の結果が肯定的でない場合(S104:NO)、車外通信処理部211は、再度S101の処理を実行すべく、ループ処理を行う。車外通信処理部211は、第1判定の結果が肯定的でない場合、すなわち否定的であり、通信データが不正であると判定された場合、再度S101の処理を実行すべく、ループ処理を行う。車外通信処理部211は、第1判定の結果が否定的(通信データが不正)である場合、当該通信データを破棄するものであってもよい。
【0058】
第1判定の結果が肯定的である場合(S104:YES)、車外通信処理部211は、分離間通信にて、通信データを車内通信処理部212に送信する(S105)。車外通信処理部211は、分離間通信にて、通信データを車内通信処理部212に送信した後、処理を終了する。車内通信処理部212に対応する仮想環境と、車外通信処理部211に対応する仮想環境とは、仮想環境間通信(VM間通信)を行うための内部ネットワークが、仮想化オペレーティングシステムによって構成されている。当該仮想環境間通信用の内部ネットワークは、例えば、記憶部23にて設定された仮想環境間通信用の共有メモリ領域により構成され、当該共有メモリ領域に対し、車外通信処理部211及び車内通信処理部212それぞれが、分離間通信の対象となる通信データを書き込み、参照するものであってもよい。又は、仮想化オペレーティングシステムを管理するVM管理部(VMコントロールパネル)が、車外通信処理部211と車内通信処理部212との間にて、分離間通信の対象となる通信データをプロセス間通信(中継)することにより、車外通信処理部211と車内通信処理部212との間の内部バスが仮想的に構成される(車外通信処理部21
1と車内通信処理部212とが論理的に通信する)ものであってもよい。このように論理分離された車外通信処理部211と車内通信処理部212とは、仮想化オペレーティングシステムによって構成された内部ネットワークを介することにより、分離間通信を行うことができる。車外通信処理部211は、処理S105の実行後、再度S101からの処理を実行し、車外装置S1からの通信データ(車外通信)を待ち受けるものであってもよい。
【0059】
車内通信処理部212は、分離間通信にて、通信データを車外通信処理部211から受信する(S106)。車内通信処理部212は、分離間通信、すなわち仮想化オペレーティングシステムによって構成された内部ネットワークを介することにより、車外通信処理部211から通信データを受信する。車内通信処理部212は、受信した通信データを車内通信処理部212がアクセス可能な記憶部23の記憶領域(車内通信処理部212が動作する仮想環境に割り当てられた記憶領域)に記憶する。
【0060】
車内通信処理部212は、通信データに対する正当性に関する第2判定を実行する(S107)。車内通信処理部212は、受信した通信データに対し、例えば、成りすまし等の不正アクセス、DOS等の攻撃データ、又は予め許可されたデータ以外のデータ(不許可のデータ)等の不正なデータであるか否か等、正当性に関する第2判定を行う。車内通信処理部212による第2判定の対象となる通信データは、既に車外通信処理部211によって第1判定が実行され、かつ当該第1判定の判定結果が肯定的(通信データは正当)であるとされたものである。従って、当該通信データに対しては、車外通信処理部211及び車内通信処理部212による2層にて、正否判定の処理(多層処理)を行うことができ、すなわち当該通信データに対する多層防御を行うことができる。
【0061】
車内通信処理部212による第2判定は、車外通信処理部211による第1判定と同種のセキュリティ判定処理であってもよく、異種のセキュリティ判定処理であってもよい。又は、車外通信処理部211による第1判定に含まれるセキュリティ判定処理の種類を、車内通信処理部212による第2判定に含まれるセキュリティ判定処理の種類よりも多くし、車外通信処理部211による処理負荷が、車内通信処理部212による処理負荷よりも高くなるようにするものであってもよい。車内通信処理部212は、車載ネットワーク4に接続される複数の車載ECU3間にて送受信される通信データの中継処理を担うため、セキュリティ判定処理に要する処理負荷を、車外通信処理部211よりも低くすることにより、当該中継処理にて遅延等が発生することを抑制することができる。
【0062】
車内通信処理部212は、第2判定の結果が肯定的であるか否かを判定する(S108)。第2判定の結果が肯定的でない場合(S108:NO)、車内通信処理部212は、再度S101の処理を実行すべく、ループ処理を行う。車内通信処理部212は、分離間通信を行うことにより、車外通信処理部211に対し、再度S101の処理を実行することを指示するシグナルを送信するものであってもよい。車外通信処理部211は、車内通信処理部212からのシグナルを受信することにより、S101からの処理を実行する。又は、車内通信処理部212は、第2判定の結果が肯定的でない場合(S108:NO)、通信データを破棄し、再度S106の処理を実行することにより、車外通信処理部211からの通信データ(分離間通信)を待ち受けるものであってもよい。
【0063】
第2判定の結果が肯定的である場合(S108:YES)、車内通信処理部212は、車内通信コントローラ242を介して、通信データを車載ECU3に送信する(S109)。第2判定の結果が肯定的である場合、通信データは、第1判定及び第2判定の双方の結果が肯定的であることを示し、正否判定に関する多層処理が行われている。車内通信処理部212は、正否判定に関する多層処理が行われ、かつ全ての判定結果が好適である通信データを、車内通信コントローラ242を介して、いずれかの車載ECU3に送信する
【0064】
車内通信コントローラ242は、例えば3つ等の複数のチャネル240(通信ポート)を含み、これらチャネル240(通信ポート)それぞれに車載ECU3が接続されている。車内通信処理部212は、通信データに含まれるヘッダー情報等に基づき中継先となる車載ECU3を特定し、例えば記憶部23に記憶されている中継テーブルを参照することにより、当該中継先となる車載ECU3が接続されている車内通信コントローラ242のチャネル240(通信ポート)から、通信データを出力するものであってもよい。車内通信処理部212は、車内通信コントローラ242を介して、通信データを車載ECU3に送信した後、処理を終了する。又は、車内通信処理部212は、処理S109の実行後、再度S106からの処理を実行し、車外通信処理部211からの通信データ(分離間通信)を待ち受けるものであってもよい。
【0065】
図5は、実施形態2(複数の車内通信処理部212)に係る車載装置2の論理構成を例示するブロック図である。車載装置2のハードウェアリソース(マイコン等)は、実施形態1と同様に仮想化オペレーティングシステムによって生成された複数の仮想環境(VM:仮想マシン)に応じて、論理分離されている。処理部21等が論理分離された車外通信処理部211、及び当該車外通信処理部211に接続される車外通信コントローラ241等は、実施形態1と同様の構成である。実施形態2の車載装置2は、論理分離された複数(本実施形態では2つ)の車内通信処理部212を含み、これら車内通信処理部212それぞれには、車内通信コントローラ242それぞれが接続される。
【0066】
車外装置S1からの通信データが流れる方向において、これら論理分離された車外通信処理部211と、複数の車内通信処理部212それぞれとは、車外通信処理部211を最上流として直列に接続されている。直列に接続される2つの車内通信処理部212は、仮想化オペレーティングシステムによって構成された内部ネットワークにより通信可能に接続され、分離間通信を相互に行うことができる。
【0067】
直列に接続される2つの車内通信処理部212(下流側の車内通信処理部212、及び上流側の車内通信処理部212)それぞれには、車内通信コントローラ242それぞれが接続される。これら2つの車内通信処理部212は、異なる仮想環境にて動作するものであり、従って、下流側の車内通信処理部212に接続される車内通信コントローラ242と、上流側の車内通信処理部212の車内通信処理部212に接続される車内通信コントローラ242とは、異なる仮想環境に属する。これにより、下流側の車内通信処理部212に接続される車内通信コントローラ242に対し、上流側の車内通信処理部212は直接的にアクセスすることができず、同様に上流側の車内通信処理部212に接続される車内通信コントローラ242に対し、下流側の車内通信処理部212は直接的にアクセスできない。
【0068】
上流側(車外通信処理部211の側)の車内通信処理部212は、車外通信処理部211から受信した通信データに対し、第2判定を行い、肯定的な判定結果の通信データのみを、車内通信コントローラ242を介して車載ECU3に出力、又は分離間通信にて下流側の車内通信処理部212に出力する。上流側(車外通信処理部211の側)の車内通信処理部212は、通信データに含まれるヘッダー情報等に基づき中継先となる車載ECU3を特定する。更に、上流側の車内通信処理部212は、例えば記憶部23に記憶されている中継テーブルを参照し、特定した(中継先となる)車載ECU3の接続態様(いずれの通信ポートに接続されているか)を確認する。上流側の車内通信処理部212は、当該確認結果に応じて、通信データを、車内通信コントローラ242のチャネル240(通信ポート)から出力するか、又は分離間通信にて下流側の車内通信処理部212に出力するかを決定するものであってもよい。
【0069】
下流側の車内通信処理部212は、上流側の車内通信処理部212から受信した通信データに対し、第2判定を行い、肯定的な判定結果の通信データのみを、当該下流側の車内通信処理部212(自身)に接続されている車内通信コントローラ242のチャネル240(通信ポート)から、通信データを出力する。車載装置2が2つ以上の車内通信処理部212を有する場合、当該車内通信処理部212の個数に併せて処理部21等を論理分離されることにより、多層防御の層数を増加させることができる。これにより、特に下流側に位置する車内通信処理部212に流れる通信データに対する判定処理の精度及び信頼性を向上させることができる。すなわち比較的に下流側に位置する車内通信処理部212に接続される車内通信コントローラ242から出力される通信データの正当性を向上させ、当該車内通信コントローラ242に接続される車載ECU3に対する堅牢性を効率的に担保することができる。本実施形態において、論理的に直列に接続される車内通信処理部212の個数(車内通信処理部212における論理分離の個数)は2つとしたが、これに限定されず、車内通信コントローラ242の搭載数に応じて、車内通信処理部212の個数は3つ以上であってもよい。
【0070】
このように論理的に直列に接続される複数の車内通信処理部212において、下流側の車内通信処理部212が処理を担う車内通信コントローラ242に接続される車載ECU3のASIL(Automotive Safety Integrity Level)は、上流側の車内通信処理部212が処理を担う車内通信コントローラ242に接続される車載ECU3のASILよりも高いレベルであってもよい。上述のとおり、直列に接続される複数の車内通信処理部212において、下流側に位置する車内通信処理部212への多層防御の層数は、上流側に位置する車内通信処理部212への多層防御の層数よりも多くすることができる。従って、下流側に位置する車内通信処理部212が担う(論理的に接続される)車内通信コントローラ242に、比較的にASILが高い車載ECU3を接続することにより、当該ASILが高い車載ECU3に対する車外からの攻撃を効率的に防御することができる。
【0071】
図6は、実施形態3(複数の車外通信コントローラ241)に係る車載装置2の論理構成を例示するブロック図である。車載装置2のハードウェアリソース(マイコン等)は、実施形態1と同様に仮想化オペレーティングシステムによって生成された複数の仮想環境(VM:仮想マシン)に応じて、論理分離されている。処理部21等が論理分離された車内通信処理部212、及び当該車内通信処理部212に接続される車内通信コントローラ242等は、実施形態1と同様の構成である。
【0072】
実施形態3の車載装置2においては、論理分離された車外通信処理部211に対し、SPI等に準拠した入出力I/F22を介して、複数(本実施形態では2つ)の車外通信コントローラ241が、通信可能に接続されている。車外通信コントローラ241は、論理分離の対象となる処理部21及び車外通信コントローラ241等を含むマイコンに対し、追加(後付け)可能に構成されており、追加通信コントローラに相当する。
【0073】
SPI等に準拠した入出力I/F22は、複数のインターフェイス部分を有し、複数の車外通信コントローラ241(追加通信コントローラ)が追加接続可能に構成されている。本実施形態においては、追加接続された2つの車外通信コントローラ241は、例えば、CANに対応した車外通信コントローラ241と、イーサネットに対応した車外通信コントローラ241とを含む。CANに対応した車外通信コントローラ241には、当該CANに対応した車外通信装置1が、CANバス(通信線41)にて通信可能に接続される。イーサネットに対応した車外通信コントローラ241には、当該イーサネットに対応した車外通信装置1が、イーサネットケーブル(通信線41)にて通信可能に接続される。
【0074】
例えば、車外装置S1と通信するためのプロコトルの種類に応じて、複数の車外通信装
置1を車載装置2(車外通信処理部211)に接続することを要する場合であっても、車外通信処理部211は、これら複数の車外通信装置1に応じて、複数の車外通信コントローラ241(追加通信コントローラ)を追加接続することができる。これにより、車外装置S1の拡張性を担保することができ、車載システムSとしての可用性を向上させることができる。
【0075】
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本開示の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0076】
特許請求の範囲に記載されている複数の請求項に関して、引用形式に関わらず、相互に組み合わせることが可能である。特許請求の範囲では、複数の請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項が記載されていない場合であっても、これは、多項従属請求項に従属する多項従属請求項の記載を制限するものではない。
【符号の説明】
【0077】
C 車両
S 車載システム
S1 車外装置
N 車外ネットワーク
1 車外通信装置
11 アンテナ
2 車載装置
21 処理部
211 車外通信処理部
212 車内通信処理部
22 入出力I/F
23 記憶部
P プログラム(プログラム製品)
M 記録媒体
24 通信コントローラ
240 チャネル
241 車外通信コントローラ(追加通信コントローラ)
242 車内通信コントローラ(内蔵通信コントローラ)
3 車載ECU
4 車載ネットワーク
41 通信線
図1
図2
図3
図4
図5
図6