(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-03-02
(45)【発行日】2022-03-10
(54)【発明の名称】異常検知装置および異常検知方法
(51)【国際特許分類】
H04L 43/08 20220101AFI20220303BHJP
【FI】
H04L43/08
(21)【出願番号】P 2018097207
(22)【出願日】2018-05-21
【審査請求日】2021-01-19
(31)【優先権主張番号】P 2017144490
(32)【優先日】2017-07-26
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】芳賀 智之
(72)【発明者】
【氏名】田邉 正人
(72)【発明者】
【氏名】鳥崎 唯之
(72)【発明者】
【氏名】寺澤 弘泰
(72)【発明者】
【氏名】加藤 遼
【審査官】安藤 一道
(56)【参考文献】
【文献】特開2016-074317(JP,A)
【文献】特開2015-067187(JP,A)
【文献】国際公開第2017/119027(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/08
(57)【特許請求の範囲】
【請求項1】
移動体に搭載され、通信プロトコルが互いに異なる第1ネットワークおよび第2ネットワークを有するネットワークシステムにおける異常を検知する異常検知装置であって、
前記第2ネットワークから取得される前記移動体の状態を示す状態情報を含む第2フレームを受信する第1通信部と、
前記第1ネットワークの通信プロトコルによる第1フレームを送受信する第2通信部と、
異常検知ルールを保持する異常検知ルール保持部と、
前記状態情報と、前記異常検知ルールとを参照して、前記第2通信部において受信された前記第1フレームに含まれる制御コマンドが異常であるか否かを検知する異常検知処理部と、を備え、
前記異常検知処理部は、前記制御コマンドが異常であることを検知した場合、当該制御コマンドの前記第2ネットワークへの転送を禁止し、
前記異常検知ルールは、前記移動体の異なる複数の状態のそれぞれにおいて許可される制御コマンドを示す第1ルールを含み、
前記異常検知処理部は、前記第2フレームに含まれる前記状態情報が示す前記移動体の状態が、前記制御コマンドが前記第1ルールにおいて対応付けられている状態に含まれない場合、前記制御コマンドが異常であることを検知し、
前記第2フレームは、前記状態情報を含む複数のフレームが格納されており、
前記異常検知ルールは、さらに、前記第2フレーム
に含まれる前記複数のフレームのそれぞれが異常であるか否かを検知するための第2ルールを含み、
前記第2ルールは、同一種類のフレームにおいて許可されるフレームの受信周期の範囲を示し、
前記異常検知処理部は、前記第2フレームに含まれる前記複数のフレームにそれぞれ対応する受信時刻を用いて、同一種類の前記複数のフレームのうちで、第3フレームの第1受信時刻の、前記第3フレームよりも1つ前に受信された第4フレームの第2受信時刻の差分が受信周期の範囲外である場合、前記第2フレームが異常であることを検知し、
前記異常検知処理部は、さらに、前記第2ルールを用いて前記第2フレームが異常であることを検知した場合、前記制御コマンドの前記第2ネットワークへの転送を禁止する
異常検知装置。
【請求項2】
前記制御コマンドは、走行する、曲がる、および、止まるの少なくとも1つを前記移動体に実行させる制御コマンドである
請求項1に記載の異常検知装置。
【請求項3】
前記第2フレームは、前記第2ネットワークの通信プロトコルによる前記状態情報を含むフレームが格納された前記第1フレームである、
請求項1に記載の異常検知装置。
【請求項4】
前記第1ネットワークは、Ethernet(登録商標)によるネットワークであり、
前記第2ネットワークは、CANによるネットワークであり、
前記第1通信部は、前記状態情報を示すCANフレームが格納されたEthernet(登録商標)フレームである第2フレームを受信する
請求項1に記載の異常検知装置。
【請求項5】
前記第2フレームは、前記状態情報を示すCANフレームを含む複数のCANフレームが格納されており、
前記異常検知ルールは、さらに、前記複数のCANフレームのそれぞれが異常であるか否かを検知するための第2ルールを含み、
前記複数のCANフレームのそれぞれは、種類毎に異なる識別子を有し、
前記第2ルールは、複数の前記識別子のそれぞれに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示し、
前記異常検知処理部は、前記複数のCANフレームにそれぞれ対応する受信時刻を用いて、互いに同じ識別子を有する前記複数のCANフレームのうちで、第1CANフレームの第1受信時刻の、前記第1CANフレームよりも1つ前に受信された第2CANフレームの第2受信時刻からの差分が、前記第2ルールにおいて前記同じ識別子に対応付けられている受信周期の範囲外である場合、前記第1CANフレームが異常であることを検知する
請求項
4に記載の異常検知装置。
【請求項6】
前記第2ルールは、さらに、複数の前記識別子のそれぞれに対応するCANフレームおいて許可される変化量であって、当該CANフレームの1つ前のCANフレームのデータ値からの変化量を示し、
前記異常検知処理部は、さらに、前記第1CANフレームの第1データ値の、前記第2CANフレームの第2データ値からの差分が、前記第2ルールにおいて前記同じ識別子に対応付けられている前記変化量を超える場合、前記第1CANフレームが異常であることを検知する
請求項
5に記載の異常検知装置。
【請求項7】
前記第2フレームは、前記状態情報を示すCANフレームを含む複数のCANフレームが格納されており、
前記異常検知ルールは、さらに、前記複数のCANフレームのそれぞれが異常であるか否かを検知するための第3ルールを含み、
前記複数のCANフレームのそれぞれは、種類毎に異なる識別子を有し、
前記第3ルールは、複数の前記識別子のそれぞれに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示し、
前記異常検知処理部は、前記複数のCANフレームにそれぞれ対応する受信時刻を用いて、互いに同じ識別子を有する前記複数のCANフレームのうちで、第1CANフレームの第1受信時刻の、前記第1CANフレームよりも1つ前に受信された第2CANフレームの第2受信時刻からの差分が、前記第3ルールにおいて前記同じ識別子に対応付けられている受信周期の範囲内である場合、前記第1CANフレームが異常であることを検知する
請求項
4に記載の異常検知装置。
【請求項8】
前記第3ルールは、さらに、複数の前記識別子のそれぞれに対応するCANフレームおいて許可される変化量であって、当該CANフレームの1つ前のCANフレームのデータ値からの変化量を示し、
前記異常検知処理部は、さらに、前記第1CANフレームの第1データ値の、前記第2CANフレームの第2データ値からの差分が、前記第3ルールにおいて前記同じ識別子に対応付けられている前記変化量の範囲内である場合、前記第1CANフレームが異常であることを検知する
請求項
7に記載の異常検知装置。
【請求項9】
前記異常検知処理部は、
複数の前記識別子のそれぞれに対応付けられたルールを前記異常検知ルールとして取得し、
前記異常検知ルールを参照して、前記CANフレームが異常であることを検知する
請求項
5から
8のいずれか1項に記載の異常検知装置。
【請求項10】
移動体に搭載され、通信プロトコルが互いに異なる第1ネットワークおよび第2ネットワークを有するネットワークシステムにおける異常を検知する異常検知装置による異常検知方法であって、
前記第2ネットワークから取得される前記移動体の状態を示す状態情報を含む第2フレームを受信する第1通信ステップと、
前記第1ネットワークの通信プロトコルによる第1フレームを送受信する第2通信ステップと、
前記状態情報と、前記異常検知装置が備える保持部が保持する異常検知ルールとを参照して、前記第2通信ステップにおいて受信された前記第1フレームに含まれる制御コマンドが異常であるか否かを検知する検知ステップと、
前記検知ステップにおいて、前記制御コマンドが異常であることを検知された場合、当該制御コマンドの前記第2ネットワークへの転送を禁止する禁止ステップと、を含み、
前記異常検知ルールは、前記移動体の異なる複数の状態のそれぞれにおいて許可される制御コマンドを示す第1ルールを含み、
前記検知ステップでは、前記第2フレームに含まれる前記状態情報が示す前記移動体の状態が、前記制御コマンドが前記第1ルールにおいて対応付けられている状態に含まれない場合、前記制御コマンドが異常であることを検知し、
前記第2フレームは、前記状態情報を含む複数のフレームが格納されており、
前記異常検知ルールは、さらに、前記第2フレーム
に含まれる前記複数のフレームのそれぞれが異常であるか否かを検知するための第2ルールを含み、
前記第2ルールは、同一種類のフレームにおいて許可されるフレームの受信周期の範囲を示し、
前記検知ステップでは、前記第2フレームに含まれる前記複数のフレームにそれぞれ対応する受信時刻を用いて、同一種類の前記複数のフレームのうちで、第3フレームの第1受信時刻の、前記第3フレームよりも1つ前に受信された第4フレームの第2受信時刻の差分が受信周期の範囲外である場合、前記第2フレームが異常であることを検知し、
前記検知ステップでは、さらに、前記第2ルールを用いて前記第2フレームが異常であることを検知した場合、前記制御コマンドの前記第2ネットワークへの転送を禁止する
異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体に搭載されるネットワークシステムにおける異常を検知する異常検知装置および異常検知方法に関する。
【背景技術】
【0002】
特許文献1には、車両を制御するための車内ネットワークシステムについて開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1の技術では、車両のような移動体に搭載されるネットワークシステムにおいて、効果的に異常を検知することができないおそれがある。
【0005】
本開示は、移動体に搭載されるネットワークシステムにおいて、効果的に異常を検知することができる異常検知装置および異常検知方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために本開示の一態様に係る異常検知装置は、移動体に搭載され、通信プロトコルが互いに異なる第1ネットワークおよび第2ネットワークを有するネットワークシステムにおける異常を検知する異常検知装置であって、前記第2ネットワークから取得される前記移動体の状態を示す状態情報を受信する第1通信部と、前記第1ネットワークの通信プロトコルによる第1フレームを送受信する第2通信部と、異常検知ルールを保持する異常検知ルール保持部と、前記状態情報と、前記異常検知ルールとを参照して、前記第2通信部において受信された前記第1フレームに含まれる制御コマンドが異常であるか否かを検知する異常検知処理部と、を備え、前記異常検知処理部は、前記制御コマンドが異常であることを検知した場合、当該制御コマンドの転送を禁止する。
【0007】
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0008】
本開示の異常検知装置および異常検知方法によれば、移動体に搭載されるネットワークシステムにおいて、効果的に異常を検知することができる。
【図面の簡単な説明】
【0009】
【
図1】
図1は、実施の形態1における車載ネットワークの全体構成図である。
【
図2】
図2は、第2ネットワークで送受信されるデータフレーム(CANフレーム)のフォーマットを示す図である。
【
図3】
図3は、第1ネットワークで送受信されるEフレームのフォーマットを示す図である。
【
図4】
図4は、Eフレームのペイロード内のデータ構成例を示す図である。
【
図5】
図5は、CANゲートウェイの機能構成の一例を示すブロック図である。
【
図6】
図6は、実施の形態1に係るCANゲートウェイが受信した複数のCANフレームに基づいてEフレームを送信するイメージを示す図である。
【
図7】
図7は、自動運転DCUの機能構成の一例を示すブロック図である。
【
図8】
図8は、スイッチルール保持部が保持するスイッチルールの一例を示す図である。
【
図9】
図9は、実施の形態1に係る自動運転DCUの異常検知ルール保持部が保持する異常検知ルールの一例を示す図である。
【
図10】
図10は、実施の形態1に係るネットワークシステムにおける異常検知方法の一例を示すシーケンス図である。
【
図11】
図11は、実施の形態1に係るネットワークシステムにおける異常検知方法の一例を示すシーケンス図である。
【
図12】
図12は、実施の形態2に係るCANゲートウェイが受信した複数のCANフレームに基づいてEフレームを送信するイメージを示す図である。
【
図13】
図13は、実施の形態2に係る自動運転DCUの異常検知ルール保持部105が保持する異常検知ルールの一例を示す図である。
【
図14】
図14は、実施の形態2に係るネットワークシステムにおける異常検知方法の一例を示すシーケンス図である。
【
図15】
図15は、実施の形態2に係るネットワークシステムにおける異常検知方法の一例を示すシーケンス図である。
【
図16】
図16は、実施の形態3に係るCANゲートウェイが受信した複数のCANフレームに基づいてEフレームを送信するイメージを示す図である。
【
図17】
図17は、実施の形態3における自動運転DCUにおけるCANの異常検知をするときの検知ルールを定義したテーブルを示す図である。
【発明を実施するための形態】
【0010】
(本発明の基礎となった知見)
本発明者は、「背景技術」の欄において記載した、車内ネットワークシステムに関し、以下の問題が生じることを見出した。
【0011】
近年、自動車の中のシステムには、電子制御ユニット(ECU:Electronic Control Unit)と呼ばれる装置が多数配置されている。これらのECUをつなぐネットワークは車載ネットワークと呼ばれる。車載ネットワークには、多数の規格が存在する。その中でも最も主流な車載ネットワークの一つに、ISO11898-1で規定されているCAN(Controller Area Network)という規格が存在する。また、より多くの情報を伝送するための規格として、IEEE 802.3で規定されているEthernet(登録商標)という規格が存在する。
【0012】
先進運転支援システムや自動運転においては、カメラもしくはLIDAR(Light Detection and Ranging)などのセンサにより得られたデータ、または、ダイナミックマップに用いるデータのような膨大な情報を処理する必要があるため、データ伝送速度が高いEthernet(登録商標)の導入が進んでいる。一方で、従来から存在するCANも車両制御系としては利用されている。そのため、CANとEthernet(登録商標)とが混在する車載ネットアーキテクチャが増えている。
【0013】
自動車は、外部ネットワークと接続され、電子制御化が進んでいる。これにより、自動車は、自動車の制御系コマンドがなりすまされることで、不正に操作される脅威がある。そのような脅威から守るために、特許文献1の技術では、後付け電子制御装置から、車内ネットワークシステムの車両制御系ネットワークにデータを送信する場合に、車内ネットワークの情報系ネットワークに送信されたデータを車両制御系ネットワークへ転送することの可否の判断をしていている。しかし、特許文献1の技術では、複数の異なる通信プロトコル上に流れる情報を元に転送可否の判断をしていない。したがって、従来技術には、例えば、CANおよびEthernet(登録商標)のような互いに異なる通信プロトコルによる複数のネットワークの間でデータの転送を行う場合に、適切に転送可否の判断をできないという課題があった。
【0014】
本発明者らは、鋭意検討の上、複数の異なる通信プロトコル上に流れる情報を参照し、車両制御系のメッセージが不正であるかどうかを判断することで、安全な自動運転または先進運転支援システムを実現するための異常検知装置および異常検知方法を見出すに至った。
【0015】
本開示の一態様に係る異常検知装置は、移動体に搭載され、通信プロトコルが互いに異なる第1ネットワークおよび第2ネットワークを有するネットワークシステムにおける異常を検知する異常検知装置であって、前記第2ネットワークから取得される前記移動体の状態を示す状態情報を受信する第1通信部と、前記第1ネットワークの通信プロトコルによる第1フレームを送受信する第2通信部と、異常検知ルールを保持する異常検知ルール保持部と、前記状態情報と、前記異常検知ルールとを参照して、前記第2通信部において受信された前記第1フレームに含まれる制御コマンドが異常であるか否かを検知する異常検知処理部と、を備え、前記異常検知処理部は、前記制御コマンドが異常であることを検知した場合、当該制御コマンドの転送を禁止する。
【0016】
これにより、異常検知装置は、第2ネットワークから得られる移動体の状態情報と、異常検知ルールとに基づき、生成された自動運転の制御コマンドが異常であるかを検知する。このため、移動体に搭載されるネットワークシステムにおいて、効果的に異常を検知することができる。
【0017】
また、異常検知装置は、異常があることを検知された制御コマンドの転送を禁止する。このため、例えば第1ネットワークに接続される機器に脆弱性があって、第1ネットワーク経由で攻撃された場合であっても、異常検知装置は、不正な自動運転の制御を防止することができる。し、異常検知時に、自動運転や先進運転システムといった車両制御コマンドの実行を防止することが可能となる。
【0018】
また、前記異常検知ルールは、前記移動体の異なる複数の状態のそれぞれにおいて許可される制御コマンドを示す第1ルールを含み、前記異常検知処理部は、前記状態情報が示す前記移動体の状態が、前記制御コマンドが前記第1ルールにおいて対応付けられている状態に含まれない場合、前記制御コマンドが異常であることを検知してもよい。
【0019】
これにより、異常検知装置は、例えば、現時点の車速、ステアリングの操舵角度状態、シフトポジションなどの車両状態に基づいて車両制御コマンドの異常を検知することが可能となる。
【0020】
また、前記制御コマンドは、進む、曲がる、および、止まるの少なくとも1つを前記移動体に実行させる制御コマンドであってもよい。
【0021】
これにより、異常検知装置は、例えば、走行中の急ハンドル、急ブレーキや急加速、停車中の急発信など、自動運転または先進運転支援システムの制御コマンドの異常を検知し、安全な運転環境を提供することが可能となる。
【0022】
また、前記第1ネットワークは、Ethernet(登録商標)によるネットワークであり、前記第2ネットワークは、CANによるネットワークであり、前記第1通信部は、前記状態情報を含むCANフレームを受信することで前記状態情報を受信し、前記異常検知ルールは、さらに、前記CANフレームが異常であるか否かを検知するための第2ルールを含み、前記異常検知処理部は、さらに、前記CANフレームが異常であることを検知した場合、前記制御コマンドの転送を禁止してもよい。
【0023】
これにより、CANフレームの異常を検知した上で、車両制御コマンドの実行が可能となる。
【0024】
また、前記第1ネットワークは、Ethernet(登録商標)によるネットワークであり、前記第2ネットワークは、CANによるネットワークであり、前記第1通信部は、前記状態情報を示すCANフレームが格納されたEthernet(登録商標)フレームである第2フレームを受信してもよい。
【0025】
これにより、状態情報を示すCANフレームがEthernet(登録商標)フレームに格納され、Ethernet(登録商標)上の機器でCANフレームの異常検知が可能となる。
【0026】
また、前記第2フレームは、前記状態情報を示すCANフレームを含む複数のCANフレームが格納されており、前記異常検知ルールは、さらに、前記複数のCANフレームのそれぞれが異常であるか否かを検知するための第2ルールを含み、前記複数のCANフレームのそれぞれは、種類毎に異なる識別子を有し、前記第2ルールは、複数の前記識別子のそれぞれに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示し、前記異常検知処理部は、前記複数のCANフレームにそれぞれ対応する受信時刻を用いて、互いに同じ識別子を有する前記複数のCANフレームのうちで、第1CANフレームの第1受信時刻の、前記第1CANフレームよりも1つ前に受信された第2CANフレームの第2受信時刻からの差分が、前記第2ルールにおいて前記同じ識別子に対応付けられている受信周期の範囲外である場合、前記第1CANフレームが異常であることを検知してもよい。
【0027】
これにより、第2ネットワーク上において異常が発生している場合であっても、第1ネットワークにおける機器において周期性を持つCANフレームの異常を検知できるため、自動運転や先進運転支援システムを安全に停止することが可能となる。
【0028】
また、前記第2ルールは、さらに、複数の前記識別子のそれぞれに対応する状態情報おいて許可される変化量であって、当該状態情報の1つ前の状態情報のデータ値からの変化量を示し、前記異常検知処理部は、さらに、前記第1状態情報の第1データ値の、前記第2状態情報の第2データからの差分が、前記第2ルールにおいて前記同じ識別子に対応付けられている前記変化量を超える場合、前記第1状態情報が異常であることを検知してもよい。
【0029】
これにより、異常検知装置は、第2ネットワーク上において異常が発生している場合であっても、第1ネットワークにおける機器においてCANフレームのデータ値の異常を検知できるため、自動運転を停止することが可能となる。
【0030】
また、前記第2フレームは、前記状態情報を示すCANフレームを含む複数のCANフレームが格納されており、前記異常検知ルールは、さらに、前記複数のCANフレームのそれぞれが異常であるか否かを検知するための第3ルールを含み、前記複数のCANフレームのそれぞれは、種類毎に異なる識別子を有し、前記第3ルールは、複数の前記識別子のそれぞれに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示し、前記異常検知処理部は、前記複数のCANフレームにそれぞれ対応する受信時刻を用いて、互いに同じ識別子を有する前記複数のCANフレームのうちで、第1CANフレームの第1受信時刻の、前記第1CANフレームよりも1つ前に受信された第2CANフレームの第2受信時刻からの差分が、前記第3ルールにおいて前記同じ識別子に対応付けられている受信周期の範囲内である場合、前記第1CANフレームが異常であることを検知してもよい。
【0031】
これにより、第2ネットワーク上において異常が発生している場合であっても、第1ネットワークにおける機器において周期性を持つCANフレームの異常を検知できるため、自動運転や先進運転支援システムを安全に停止することが可能となる。
【0032】
また、前記第3ルールは、さらに、複数の前記識別子のそれぞれに対応するCANフレームおいて許可される変化量であって、当該CANフレームの1つ前のCANフレームのデータ値からの変化量を示し、前記異常検知処理部は、さらに、前記第1CANフレームの第1データ値の、前記第2CANフレームの第2データ値からの差分が、前記第3ルールにおいて前記同じ識別子に対応付けられている前記変化量の範囲内である場合、前記第1CANフレームが異常であることを検知してもよい。
【0033】
これにより、異常検知装置は、第2ネットワーク上において異常が発生している場合であっても、第1ネットワークにおける機器においてCANフレームのデータ値の異常を検知できるため、自動運転を停止することが可能となる。
【0034】
また、前記異常検知処理部は、複数の前記識別子のそれぞれに対応付けられたルールを前記異常検知ルールとして取得し、前記異常検知ルールを参照して、前記状態情報が異常であることを検知してもよい。
【0035】
これにより、例えば、第2ネットワーク側の処理が逼迫している際に、第2ネットワーク上における異常検知を第1ネットワーク上における機器で実施することが可能となり、負荷分散につながる。
【0036】
なお、これらの全般的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【0037】
以下、実施の形態に係る異常検知装置および異常検知方法について図面を参照しながら説明する。ここで示す実施の形態は、いずれも本開示の一具体例を示すものである。従って、以下の実施の形態で示される数値、構成要素、構成要素の配置及び接続形態、並びに、処理の要素としてのステップ及びステップの順序等は、一例であって本開示を限定するものではない。以下の実施の形態における構成要素のうち、独立請求項に記載されていない構成要素については、任意に付加可能な構成要素である。また、各図は、模式図であり、必ずしも厳密に図示されたものではない。
【0038】
(実施の形態1)
図1は、実施の形態1における車載ネットワークの全体構成図である。
【0039】
車両1のネットワークシステム3は、制御装置、センサ、アクチュエータ、ユーザインタフェース装置等の各種機器が搭載された車両1におけるネットワーク通信システムである。ネットワークシステム3は、第1ネットワーク10と第2ネットワーク20とを有する。車両1は、移動体の一例である。第1ネットワーク10は、Ethernet(登録商標)プロトコルに従ってEthernet(登録商標)フレーム(以下、「Eフレーム」という)の伝送が行われるEthernet(登録商標)のネットワークである。第2ネットワーク20は、CANプロトコルに従ってバスでデータフレーム(CANフレーム)等の伝送が行われるCANのネットワークである。
【0040】
図1に示すように、ネットワークシステム3は、セントラルゲートウェイ400と、テレマティクスコントロールユニット410と、診断ポート420と、自動運転DCU(Domain Control Unit)100と、自動運転ECU110と、カメラ120と、LIDAR130と、ダイナミックマップECU140と、インフォテインメントDCU300と、IVI(In-Vehicle Infotainment)310と、CANゲートウェイ200と、エンジンECU210と、ステアリングECU220と、ブレーキECU230と、ウィンドウECU240と、第1伝送路11と、第2伝送路21とを含んで構成される。第1伝送路11は、第1ネットワーク10の伝送路であり、例えばEthernet(登録商標)ケーブルである。第2伝送路21は、第2ネットワーク20の伝送路であり、例えばCANバスである。
【0041】
なお、ネットワークシステム3には、上記の各ECU110、140、210、220、230、240または各DCU100、300の他にもいくつものECUまたはDCUが含まれてもよい。例えば、第2伝送路21には、各ECU210、220、230、240以外にも、図示しないECUが接続されてもよい。
【0042】
各ECU110、140、210、220、230、240または各DCU100、300は、例えば、プロセッサ(マイクロプロセッサ)、メモリ等のデジタル回路、アナログ回路、通信回路等を含む装置である。メモリは、ROM、RAM等であり、プロセッサにより実行されるプログラム(ソフトウェアとしてのコンピュータプログラム)を記憶することができる。メモリとして、不揮発性メモリを含んでもよい。例えばプロセッサが、プログラム(コンピュータプログラム)に従って動作することにより、ECUは各種機能を実現することになる。なお、コンピュータプログラムは、所定の機能を達成するために、プロセッサに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0043】
各ECU210、220、230、240は、CANプロトコルに従ってフレームの授受を行う。各ECU210、220、230、240は、それぞれエンジン、ステアリング、ブレーキ、ウィンドウ開閉センサといった機器に接続されており、その機器の状態を取得し、例えば周期的に、状態を表すデータフレームを、第2伝送路21等で構成される第2ネットワーク20に送信している。また、各ECU210、220、230、240は、第2ネットワーク20を構成する第2伝送路21からデータフレームを受信して、データフレームを解釈し、受信すべきCAN-IDを有するデータフレームか否かの判別を行う。そして、各ECU210、220、230、240は、判別の結果、必要に応じてデータフレーム内のデータ(データフィールドの内容)に従って、当該ECUに接続されている機器の制御を行ってもよいし、必要に応じてデータフレームを生成して送信してもよい。
【0044】
各ECU110、140または各DCU100、300は、Ethernet(登録商標)プロトコルに従ってEフレームの送信又は受信を行う。各DCU100、300は、それぞれIVI310、自動運転ECU110、カメラ120、LIDAR130、ダイナミックマップECU140といった機器に接続されており、その機器から取得した情報に基づく処理を行う。また、各DCU100、300は、必要に応じて接続されている機器を制御してもよいし、必要に応じて他のECUへの情報の送信を行ってもよい。
【0045】
セントラルゲートウェイ400には、テレマティクスコントロールユニット410と診断ポート420と、自動運転DCU100と、CANゲートウェイ200と、インフォテインメントDCU300が、第1伝送路11で接続される。セントラルゲートウェイ400は、例えば、メモリ等のデジタル回路、アナログ回路、通信回路等を含む。
【0046】
テレマティクスコントロールユニット410は、車両1が外部ネットワーク30上にあるサーバ2と通信するユニットである。テレマティクスコントロールユニット410は、例えば、第3世代移動通信システム(3G)、第4世代移動通信システム(4G)、または、LTE(登録商標)などのような移動通信システムで利用される通信規格に適合した無線通信インタフェースを有していてもよいし、IEEE802.11a、b、g、n規格に適合した無線LAN(Local Area Network)インタフェースを有していてもよい。つまり、外部ネットワーク30は、携帯電話通信網、Wi-Fiなどである。サーバ2は、例えば車両1のECUに対して情報を提供する機能等を有するコンピュータである。
【0047】
診断ポート420は、ディーラが車両1の故障診断に使うためのポートであり、診断用のコマンドの送受信に利用されるポートである。
【0048】
自動運転DCU100は、自動運転ECU110と、カメラ120と、LIDAR130と、ダイナミックマップECU140と、第1伝送路11で接続されている。
【0049】
自動運転ECU110は、車両1の運転を制御する制御コマンドを生成する。具体的には、自動運転ECU110は、車輪の操舵を行うステアリング、車輪を回転駆動させるエンジン、モータなどの動力源、車輪の制動するブレーキなどを制御する制御コマンドを生成する。つまり、制御コマンドは、進む(つまり、走行する)、曲がる、止まるの少なくとも1つを車両1に実行させる制御コマンドである。自動運転ECU110は、生成した制御コマンドを第2ネットワーク20に送信する。
【0050】
カメラ120は、車外の状況、つまり、車両1の周囲を撮影するカメラである。カメラ120は、例えば、車両1の車体の外側に配置されていてもよい。
【0051】
LIDAR130は、車外の障害物を感知するためのセンサである。LIDAR130は、例えば、車両1の水平方向において360度全方位、および、垂直方向において所定の角度(例えば30度)の角度範囲の検出範囲にある物体との距離を検出するレーザセンサである。LIDAR130は、車両1の周囲にレーザを発し、周囲の物体に反射されたレーザを検知することで、LIDAR130から物体までの距離を計測する。
【0052】
ダイナミックマップECU140は、ダイナミックマップに用いるデータを受信し、受信したデータを用いてダイナミックマップを復号するための電子制御ユニットである。復号されたダイナミックマップは、例えば、自動運転ECU110による自動運転の制御に用いられる。
【0053】
CANゲートウェイ200は、第2ネットワーク20および第1ネットワーク10に接続されているゲートウェイである。第2ネットワーク20は、本実施の形態では、エンジンECU210、ステアリングECU220、ブレーキECU230の制御系バスと、ウィンドウ開閉を制御するウィンドウECU240が接続されるボディ系バスとの2本のCANバスを備えている。CANゲートウェイ200は、プロセッサ、メモリ等のデジタル回路、アナログ回路、通信回路等を含む。CANゲートウェイ200は、2つの伝送路11、21のうち、一の伝送路から受信したフレームを他の伝送路に転送(または中継)する機能を有する。CANゲートウェイ200によるフレームの転送は、フレームに係るデータの中継である。CANゲートウェイ200は、フレームの転送において、転送先の伝送路で用いられる通信プロトコルに対応した、通信方式、フレームフォーマット等の変換が行われてもよい。また、CANゲートウェイ200は、伝送路間でのフレームの転送として、1以上の伝送路から受信した1以上のフレームに対応して、1以上のフレームの、1以上複数の伝送路への送信を行ってもよい。
【0054】
インフォテインメントDCU300は、IVI310と、第1伝送路11で接続されており、情報系ネットワークのドメイン管理を行う。IVI310は、ディスプレイを備え、映像、音声等の再生といったマルチメディア機能を有する装置である。
【0055】
図2は、第2ネットワークで送受信されるデータフレーム(CANフレーム)のフォーマットを示す図である。
【0056】
第2ネットワーク20では、各ECU210、220、230、240等がCANプロトコルに従ってフレームの授受を行う。CANプロトコルにおけるフレームには、データフレーム、リモートフレーム、オーバーロードフレーム及びエラーフレームがあるが、ここでは、主にデータフレームに注目して説明する。
【0057】
図2の(a)は標準フォーマットである。標準フォーマットにおいては、データフレームは、SOF(Start Of Frame)、ID(CAN-ID)、RTR(Remote Transmission Request)、IDE(Identifier Extension)、予約ビット「r」、サイズ、データ、CRC(Cyclic Redundancy Check)シーケンス、CRCデリミタ「DEL」、ACK(Acknowledgement)スロット、ACKデリミタ「DEL」、及び、EOF(End Of Frame)で構成される。ここで、IDフィールドの内容としてのID(CAN-ID)は、データの種類を示す識別子であり、メッセージIDとも称される。つまり、CANフレームは、種類毎に異なる識別子を有する。なお、CANでは、複数のノードが同時に送信を開始した場合、このCAN-IDが小さい値を持つフレームを優先する通信調停がなされる。サイズは、後続するデータフィールド(データ)の長さを示すDLC(Data Length Code)である。データ(データフィールドの内容)の仕様については、CANプロトコルで規定されておらず、ネットワークシステム3において定められる。従って、車両の車種、製造者(製造メーカ)等に依存した仕様となり得る。
【0058】
図2の(b)は拡張フォーマットである。本実施の形態では第2ネットワーク20で標準フォーマットが用いられることとして説明するが、第1ネットワーク10において拡張フォーマットが用いられる場合には、11ビットのIDフィールドのベースID(CAN-IDの一部)と、18ビットの拡張ID(CAN-IDの残部)とを合わせた29ビットをCAN-IDと扱えばよい。
【0059】
図3は、第1ネットワークで送受信されるEフレームのフォーマットを示す図である。
【0060】
同図に示すように、Eフレームは、主たる伝送内容であるデータを格納するEthernet(登録商標)ペイロード(「Eペイロード」とも言う。)と、Ethernet(登録商標)ヘッダ(「Eヘッダ」とも言う。)とにより構成される。Eヘッダには、宛先MACアドレスおよび送信元MACアドレスが含まれる。また、Eペイロードには、IPヘッダ、TCP/UDPヘッダおよびデータが含まれる。IPヘッダには、送信元IPアドレスおよび送信先アドレスが含まれる。なお、
図3では、IPヘッダは、「IP v4ヘッダ」と表記している。TCP/UDPヘッダは、TCPヘッダまたはUDPヘッダを示し、TCP/UDPヘッダには、送信元ポート番号および送信先ポート番号が含まれる。
【0061】
ネットワークシステム3におけるCANゲートウェイ200は、CANバスから受信したCANフレームを第1ネットワーク10へと転送する際に、複数のCANフレーム情報を含むEフレームを送信する。CANフレーム情報は、CANバスで伝送されたCANフレームから抽出した情報であり、少なくともデータフィールドの内容(データ)を含む。CANフレーム情報は、例えばCAN-ID及びサイズを含んでもよい。
【0062】
図3に示すEフレームのペイロード内のデータ構成例を
図4に示す。
図4の例では、CANフレーム情報は、CAN-ID、サイズ及びデータで構成される。
図4のメッセージ数(MSG数)は、CANフレーム情報の個数を示す。なお、メッセージ数の代わりに、CANフレーム情報の全体のデータ量等を示す情報を用いてもよい。また、CANフラグは、Eフレームが第2ネットワーク20から伝送される情報(つまりCANフレーム情報)を含むか否かを識別するための識別フラグであり、EフレームのEペイロードにCANフレーム情報を含む場合においてONにされ、それ以外の場合にOFF(つまりONと相反する情報を示す値)にされるフラグである。
図4の例では、EフレームのEペイロードの先頭にCANフラグを配置する例を示しているがこれは一例に過ぎない。
図4の例のような複数のCANフレーム情報をEフレームのEペイロードに含ませることで、例えば、伝送効率が高まり得る。
【0063】
図5は、CANゲートウェイの機能構成の一例を示すブロック図である。
【0064】
同図に示すように、CANゲートウェイ200は、Ethernet(登録商標)送受信部201(以下、「E送受信部201」と言う。)と、CAN送受信部202a、202bと、転送制御部203と、転送ルール保持部204とを備える。これらの各構成要素は、CANゲートウェイ200における通信回路、メモリ、デジタル回路、メモリに格納されたプログラムを実行するプロセッサ等により実現される。
【0065】
E送受信部201は、第1ネットワーク10を構成する第1伝送路11に接続される通信回路等である。E送受信部201は、第1伝送路11からEフレームを受信する。また、E送受信部201は、第1伝送路11にEフレームを送信する。
【0066】
CAN送受信部202aは、第2ネットワーク20を構成するCANバス21aに接続される通信回路等である。CAN送受信部202aは、CANバス21aからCANフレームを逐次受信する。また、CAN送受信部202aは、CANバス21aにCANフレームを送信する。
【0067】
CAN送受信部202bは、第2ネットワーク20を構成するCANバス21bに接続される通信回路等である。CAN送受信部202bは、CANバス21bからCANフレームを逐次受信する。CAN送受信部202bは、CANバス21bにCANフレームを送信する。
【0068】
転送ルール保持部204は、メモリ等の記憶媒体で実現され、フレームの転送の条件等を定める基準情報を保持する。基準情報は、例えば、転送対象のCAN-ID及び転送元のバスと宛先(MACアドレス等)とを対応付けた転送ルール情報、優先転送対象のCAN-ID及び転送元のバスと宛先とを対応付けた優先転送リスト等である。
【0069】
転送制御部203は、例えばプログラムを実行するプロセッサ等で実現され、受信したフレームを転送すべきか否か判定し判定結果に応じて転送に係る制御を行う。この転送に係る制御は、例えば、逐次受信した複数のCANフレームに基づいて、複数のCANフレーム情報をペイロードとして含ませたEフレームを、E送受信部201に第1伝送路11へと送信させる制御である。
【0070】
図6は、実施の形態1に係るCANゲートウェイ200が受信した複数のCANフレーム(CANフレーム1~N)に基づいてEフレームを送信するイメージを示す図である。
【0071】
同図に示すように、CANゲートウェイ200はフレームを転送する際に、フレームの構成を変更する。送信されるEフレームのペイロードには、例えば予め定められた数であるN個のCANフレーム情報が含まれる。そのN個のCANフレーム情報のデータは、受信されたN個のCANフレームのデータフィールドの内容(データ)等である。受信され転送待ちになっているCANフレームの内容は、例えば、CANゲートウェイ200が備えるメモリ等の記憶媒体(バッファ)に格納される。
図6のN個のCANフレーム情報を含むEフレームは、例えばセントラルゲートウェイ400を経由して、宛先のECUまたはDCU(例えばインフォテインメントDCU300)に受信されることになる。Eフレームのヘッダの送信元MACアドレスとして、CANゲートウェイ200のMACアドレスが設定され、EフレームのEペイロードには、CANフレーム情報が含まれることを示す、ONにしたCANフラグが設定される。Eフレームの宛先MACアドレスとしては、転送ルール保持部204が保持する転送ルール情報等に従って、宛先となるECUまたはDCUのMACアドレスが設定される。
【0072】
なお、本実施の形態では、CANゲートウェイ200は、自動運転の制御コマンドの異常を検知するために、第2ネットワーク20に流れる車両状態を示す状態情報を含むN個のCANフレームを結合して1つのEフレームに変換する。本実施の形態では、CANフレームに含まれる車両状態は、現在の車速、ステアリングの角度、シフトポジションなどである。車両状態は、移動体の状態の一例である。
【0073】
転送制御部203は、判定等の結果に応じて一定条件下でE送受信部201、CAN送受信部202a、202bを制御して、フレームの送信を行わせる。転送制御部203は、CAN送受信部202a、202bにより受信されたCANフレームについて、CAN-IDに基づいてそのCANフレームのデータが第1ネットワーク10に送信されるべきか否かを判定する。この判定は、例えば、予め定められた、CAN-IDに関する基準情報に従って行われる。また、転送制御部203は、CANフレームのデータの宛先を、基準情報に従って選定する。CANフレームが第1ネットワーク10に送信されるべきか否かの判定及びCANフレームのデータを含むフレーム(Eフレーム或いはCANフレーム)の宛先の選定は、例えば、データが第1ネットワーク10に送信されるべき1つ以上のCANフレームのCAN-ID等を示す転送ルール情報を用いて行われる。
【0074】
図7は、自動運転DCU100の機能構成の一例を示すブロック図である。
【0075】
同図に示すように、自動運転DCU100は、第1通信部101aと、第2通信部101bと、スイッチ処理部102と、スイッチルール保持部103と、異常検知処理部104と、異常検知ルール保持部105とを有する。自動運転DCU100は、異常検知装置の一例である。
【0076】
第1通信部101aは、本実施の形態では1つのEthernet(登録商標)ポート(ポートP1)を備える。ポートP1は、セントラルゲートウェイ400と第1伝送路11で接続されている。つまり、第1通信部101aは、セントラルゲートウェイ400との間でデータの送受信を行う。つまり、第1通信部101aは、CANフレームがデータとして格納されたEフレームを受信する。これにより、第1通信部101aは、CANフレームを受信することで、CANフレームに含まれる状態情報を受信する。
【0077】
第2通信部101bは、本実施の形態では4つのEthernet(登録商標)ポート(ポートP2~P5)を備える。ポートP2~P5は、それぞれ、カメラ120、LIDAR130、ダイナミックマップECU140および自動運転ECU110と第1伝送路11で接続されている。つまり、第2通信部101bは、第1ネットワーク10の通信プロトコル(つまりEthernet(登録商標)プロトコル)による第1フレーム(つまりEフレーム)を送受信する。また、第2通信部101bは、ポートP1でのEフレームの送受信を行う第1通信部101aを含む。
【0078】
スイッチ処理部102は、第2通信部101bにより受信されたEフレームを、スイッチルール保持部103が保持するルールに基づき、適切な転送先に転送する処理を行う。
【0079】
図8は、スイッチルール保持部103が保持するスイッチルールの一例を示す図である。
【0080】
同図に示すように、スイッチルールは、入力ポート、送信元IPアドレス、送信元MACアドレス、出力ポート、送信先IPアドレス、送信先MACアドレスから構成される。本実施の形態のおけるスイッチルールは、正常なEフレームの正しい転送先を示すホワイトリストである。スイッチルールでは、例えば、ポートP1において、CANゲートウェイ200からのEフレームがセントラルゲートウェイ400を介して受信され、ポートP5に接続される自動運転ECU110へ転送する経路が許可されていることを示している。この場合、入力ポートとなるポートP1で受信するEフレームの送信元MACアドレスはセントラルゲートウェイ400のMACアドレスが設定されており、送信元IPアドレスはCANゲートウェイ200のIPアドレスが設定されている。一方、出力ポートとなるポート5に接続されている送信先IPアドレスおよび送信先MACアドレスには、自動運転ECUのIPアドレスおよびMACアドレスが設定されている。
【0081】
また、
図8のスイッチルールでは、ポート2に接続されているカメラ120、ポート3に接続されているLIDAR130、および、ポート4に接続されているダイナミックマップECU140は、ポート5に接続される自動運転ECU110への転送が許可されていることを示している。また、ポート5に接続される自動運転ECU110からのEフレームは、CANゲートウェイ200に送信する必要があるので、送信先IPにはCANゲートウェイ200のIPアドレスが設定され、送信先MACアドレスにはセントラルゲートウェイのMACアドレスが設定されている。
【0082】
なお、スイッチルールでは、入力または出力における送信元および送信先には、IPアドレスおよびMACアドレスで定義されているが、これに限定されない。例えば、IPアドレスだけが定義されていてもよいし、MACアドレスだけが定義されていてもよい。また、スイッチルールには、IPアドレスまたはMACアドレス以外の送信元または送信先が識別できる情報が定義されていてもよいし、サービスポート番号が定義されてもよい。これにより、入力または出力における送信元および送信先を、スイッチルールで許可されている経路に制限することができる。
【0083】
図8のスイッチルールは、ホワイトリストにより定義されたが、ブラックリストにより定義されてもよい。また、
図8で示したスイッチルールは、一部であり、これが全てではない。つまり、スイッチルールは、必要な経路が網羅されるように設定されるものとする。
【0084】
異常検知処理部104は、CANゲートウェイ200経由で第2ネットワーク20から第1通信部101aにより受信された車両1の状態情報と、異常検知ルール保持部105に保持されている異常検知ルールとを参照して、第2通信部101bにおいて受信されたEフレームに含まれる制御コマンドが異常であるか否かを検知する。制御コマンドは、例えば、自動運転ECU110が生成する自動運転制御コマンドである。異常検知処理部104は、制御コマンドが正常であると判断した場合、セントラルゲートウェイ400からCANゲートウェイ200を介して当該制御コマンドを第2通信部101bに第2ネットワーク20へ送信させる。異常検知処理部104は、制御コマンドが異常であると判断した場合、第2通信部101bによる制御コマンドの第2ネットワーク20への転送を禁止する。
【0085】
図9は、実施の形態1に係る自動運転DCU100の異常検知ルール保持部105が保持する異常検知ルールの一例を示す図である。異常検知ルールは、第2ネットワーク20から取得される車両状態をベースにしたEthernet(登録商標)における自動運転制御が許可されるルールである。つまり、異常検知ルールは、車両の複数の状態のそれぞれにおいて許可される制御コマンドを示す第1ルールを含む。
【0086】
同図に示すように、異常検知ルールの第1ルールは、車両1の車速状態およびシフト状態に応じて許可される、車速指示および操舵指示の組み合わせを示す。なお、車速状態とは、車両1の走行中の速度を示し、例えば、0km/h以上30km/h未満の速度範囲を低速、30km/h以上60km/h未満の速度を中速、60km/以上100km/h以下を高速とそれぞれ定義したものである。また、シフト状態とは、シフトポジションを示し、例えばパーキング(P)、リバース(R)、ニュートラル(N)、ドライブ(D)などである。車速指示は、現在の車速から許可される増減の速度値を示す。また、操舵指示は、現在のステアリングの旋回角度から許可される増減の角度を示す。
【0087】
第1ルールでは、例えば、車速状態が低速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における車速指示が、状態情報が示す現時点の車速から10km/hの範囲であれば、車速を増減することが許可されている。また、第1ルールでは、例えば、車速状態が中速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における車速指示が、状態情報が示す現時点の車速から20km/hの範囲であれば、車速を増減することが許可されている。また、第1ルールでは、例えば、車速状態が高速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における車速指示が、状態情報が示す現時点の車速から30km/hの範囲であれば、車速を増減することが許可されている。
【0088】
第1ルールでは、操舵指示のステアリングの旋回指示角度においても車速と同様に定義されている。つまり、第1ルールでは、例えば、車速状態が低速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における操舵指示が、状態情報が示す現時点のステアリングの角度から左右360度以内であれば、ステアリングの角度を変更することが許可されている。また、第1ルールでは、例えば、車速状態が中速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における操舵指示が、状態情報が示す現時点のステアリングの角度から左右180度以内であれば、ステアリングの角度を変更することが許可されている。また、第1ルールでは、例えば、車速状態が高速であり、かつ、シフト状態がドライブ(D)のときに、自動運転制御における操舵指示が、状態情報が示す現時点のステアリングの角度から左右90度以内であれば、ステアリングの角度を変更することが許可されている。
【0089】
異常検知処理部104は、状態情報が示す車両1の状態が、制御コマンドが第1ルールにおいて対応付けられている状態に含まれない場合、制御コマンドが異常であることを検知する。つまり、異常検知処理部104は、例えば、車両状態に第1ルールにおいて対応付けられている、許可される範囲の車速の増減を超える車速指示、または、許可される範囲のステアリングの角度を超える操舵指示を含む制御コマンドが第2通信部101bにより受信された場合、当該制御コマンドが異常であることを検知し、第1通信部101aによる第2ネットワーク20への当該制御コマンドの転送を禁止する。
【0090】
次に、実施の形態1に係る車両1に搭載されるネットワークシステム3の動作について説明する。
【0091】
図10および
図11は、実施の形態1に係るネットワークシステム3における異常検知方法の一例を示すシーケンス図である。
【0092】
まず、自動運転DCU100は、自動運転ECU110に対して、自動運転モードを有効な状態にする(S100)。例えば、ユーザからの自動運転モードをONにする入力を受け付けた場合、自動運転DCU100は、自動運転モードを有効な状態にする。
【0093】
CANゲートウェイ200は、CANゲートウェイ200に接続されている各ECU210、220、230、240から車両1の状態情報を含むCANフレームを受信し、
図6に示したように、車両1の状態情報のCANフレームを含んだEフレームを生成する(S101)。
【0094】
CANゲートウェイ200は、車両1の状態情報のCANフレームを含むEフレームをセントラルゲートウェイ400に送信する(S102)。
【0095】
セントラルゲートウェイ400は、ステップS102において受信したEフレームを自動運転DCU100に送信する(S103)。
【0096】
自動運転DCU100では、第2通信部101bがカメラ120により撮影された映像を示す映像情報、LIDAR130により検出された物体までの距離を示す情報に基づく障害物情報、ダイナミックマップECU140により得られる地図情報を、それぞれカメラ120、LIDAR130およびダイナミックマップECU140から受信する(S104)。
【0097】
自動運転DCU100では、スイッチ処理部102が、スイッチルール保持部103のスイッチルールを参照して、正しい経路で情報を受信したか否かを判定する(S105)。
【0098】
これにより、自動運転DCU100では、ステップS104において第2通信部101bは、カメラ120、LIDAR130、ダイナミックマップECU140から受信した映像情報、障害物情報および地図情報などの情報のうち、正しい経路で受信したとスイッチ処理部102により判定された情報を、自動運転ECU110に転送する(S106)。
【0099】
自動運転ECU110は、ステップS106で受信した映像情報、障害物情報および地図情報などの情報に基づいて、自動運転のための制御コマンドを生成する(S107)。ここでは、自動運転ECU110は、まず制御系CANバスに伝えるためのCANフレームを生成し、それらCANフレームをEフレームのデータ領域に格納したEフレームを生成する。生成されたEフレームは、自動運転のための制御コマンドである。
【0100】
自動運転ECU110は、自動運転のための制御コマンドを自動運転DCU100に送信する(S108)。
【0101】
自動運転DCU100では、異常検知処理部104は、異常検知ルール保持部105が保持する異常検知ルールを参照する(S109)。ここで参照するルールは、
図9で示した第1ルールである。
【0102】
自動運転DCU100では、異常検知処理部104は、異常検知ルールに加えて、さらにS103で受信した車両1の状態情報のCANフレームを含んだEフレームを参照し、ステップS108によって第2通信部101bが受信した制御コマンドが異常であるか否かを判定する(S110)。異常検知処理部104は、制御コマンドが異常であると判定した場合(ステップS110で異常)、ステップS111へ処理を移す。一方で、異常検知処理部104は、制御コマンドが正常であると判定した場合(ステップS110で正常)、ステップS120へ処理を移す。
【0103】
自動運転DCU100では、異常検知処理部104は、制御コマンドが異常であると判定したため、サーバ2またはIVI310に異常があったことを含む情報を、第2通信部101bを用いて通知する(S111)。これにより、ドライバ、または、リモートで監視しているセキュリティ監視サービスの事業者は、車両1に自動運転において異常が発生したことを把握することが可能になる。なお、この場合、異常検知処理部104は、制御コマンドをセントラルゲートウェイ400に送信しない。つまり、異常検知処理部104は、この場合、異常であると判定した制御コマンドを、セントラルゲートウェイ400およびCANゲートウェイ200を介して第2ネットワーク20に転送することを禁止する。
【0104】
自動運転DCU100では、異常検知処理部104は、自動運転ECU110に、自動運転を終了させる終了指示を、第2通信部101bを用いて送信する(S112)。
【0105】
自動運転ECU110は、ステップS112において送信された終了指示を受信した場合、自動運転モードを終了する(S113)。なお、自動運転ECU110は、自動運転モードを終了した後に、手動運転モードに切り替えてもよい。
【0106】
ステップS110において、制御コマンドが正常であると判定された場合(S110で正常)、異常検知処理部104は、第2通信部101bを用いて、自動運転のための制御コマンドをセントラルゲートウェイ400に送信する(S120)。
【0107】
セントラルゲートウェイ400は、ステップS120において送信された自動運転制御コマンドをCANゲートウェイ200に転送する(S121)。
【0108】
CANゲートウェイ200は、ステップS121で受信したEフレームの自動運転の制御コマンドをCANフレームに変換する(S122)。
【0109】
CANゲートウェイ200は、ステップS122で変換したCANフレームを第2ネットワーク20に送信する(S123)。これにより、制御系CANバスに接続されるエンジンECU210、ステアリングECU220またはブレーキECU230は、CANフレームの自動運転の制御コマンドを受信し、受信した制御コマンドに応じた制御を実行することで自動運転制御を行う。
【0110】
本実施の形態に係る異常検知装置は、車両1に搭載され、通信プロトコルが互いに異なる第1ネットワーク10および第2ネットワーク20を有するネットワークシステム3における異常を検知する異常検知装置である。自動運転DCU100は、第1通信部101aと、第2通信部101bと、異常検知ルール保持部105と、異常検知処理部104とを備える。第1通信部101aは、第2ネットワーク20から取得される車両1の状態を示す状態情報を受信する。第2通信部101bは、第1ネットワーク10の通信プロトコルによるEフレームを送受信する。異常検知ルール保持部105は、異常検知ルールを保持する。異常検知処理部104は、状態情報と、異常検知ルールとを参照して、第2通信部101bにおいて受信されたEフレームに含まれる制御コマンドが異常であるか否かを検知する。異常検知処理部104は、制御コマンドが異常であることを検知した場合、当該制御コマンドの転送を禁止する。
【0111】
これによれば、異常検知装置は、第2ネットワーク20から得られる車両1の状態情報と、異常検知ルールとに基づき、生成された自動運転の制御コマンドが異常であるか否かを検知する。そして、異常検知装置は、異常があることを検知された制御コマンドの転送を禁止する。このため、例えば第1ネットワーク10に接続される機器に脆弱性があって、第1ネットワーク10経由で攻撃をされた場合であっても、異常検知装置は、不正な自動運転の制御を防止することが可能となる。
【0112】
また、本実施の形態に係る異常検知装置において、異常検知ルールは、車両1の異なる複数の状態のそれぞれにおいて許可される制御コマンドを示す第1ルールを含む。異常検知処理部104は、状態情報が示す車両1の状態が、制御コマンドが第1ルールにおいて対応付けられている状態に含まれない場合、制御コマンドが異常であることを検知する。このため、例えば、現時点の車速、ステアリングの操舵角度、シフトポジションなどの車両状態に基づいて制御コマンドの異常を検知することが可能となる。
【0113】
また、本実施の形態に係る異常検知装置において、制御コマンドは、進む、曲がる、および、止まるの少なくとも1つを車両1に実行させる制御コマンドである。このため、異常検知装置は、例えば、走行中の急ハンドル、急ブレーキまたは急加速、停車中の急発信など、自動運転における制御コマンドの異常を検知し、安全な運転環境を提供することが可能となる。
【0114】
また、本実施の形態に係る異常検知装置において、第1通信部101aは、CANフレームがデータとして格納されたEフレームである第1フレームを受信する。また、第2通信部101bは、第1通信部101aを含む。これによれば、異常検知装置は、Eフレームに変換されたCANフレームを受信するため、Ethernet(登録商標)上の機器でCANフレームの異常検知が可能となる。
【0115】
(実施の形態2)
次に実施の形態2について説明する。実施の形態2に係る異常検知装置としての自動運転DCU100は、実施の形態1に係る自動運転DCU100とほぼ同等であるので、異なる部分のみを説明する。実施の形態2では、自動運転DCU100にて、CANフレームの異常検知も行う点が実施の形態1に係る自動運転DCU100と異なる。
【0116】
図12は、実施の形態2に係るCANゲートウェイ200が受信した複数のCANフレームに基づいてEフレームを送信するイメージを示す図である。
【0117】
本実施の形態では、自動運転DCU100は、CANフレームの周期を確認してCANの異常検知を行う。
図12に示すように、CANゲートウェイ200は、複数のCANフレームを受信し、受信した複数のCANフレームのそれぞれについて、当該CANフレームを受信した受信時刻を当該CANフレームに付与する。つまり、CANゲートウェイ200は、N個の受信時刻が付与されたCANフレームをEフレームのデータ領域に格納することでEフレームを生成する。実施の形態1と同様に、CANゲートウェイ200が、Eフレーム化するCANフレームに含まれる車両1の状態情報は、車速、ステアリングの角度またはシフトポジションなどである。
【0118】
自動運転DCU100の第2通信部101bは、
図12の構成のEフレームを受信するため、複数のCANフレームと、複数のCANフレームのそれぞれが例えばCANゲートウェイ200などの機器により受信された時刻である受信時刻とがデータとして格納されたEフレームを受信することとなる。
【0119】
図13は、実施の形態2に係る自動運転DCU100の異常検知ルール保持部105が保持する異常検知ルールの一例を示す図である。
図13に示す異常検知ルールは、CANフレームが異常であるか否かを検知するための第2ルールの一例である。
【0120】
同図に示すように、第2ルールは、CANフレームのデータの種類を示す識別子であるCAN-IDに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示す。また、第2ルールは、さらに、複数のCAN-IDのそれぞれに対応するCANフレームおいて許可される変化量であって、当該CANフレームの1つ前のCANフレームのデータ値からの変化量を示してもよい。当該CANフレームの1つ前のCANフレームとは、同一のCAN-IDにおいて、当該CANフレームよりも1タイミング前に受信されたCANフレームである。
【0121】
第2ルールは、具体的には、
図12で説明したEフレームに付与されたCANフレームの受信時刻を参照して算出された周期が、CAN-IDが「0xA1」であるCANフレームにおいて、基本周期10ms±3msの範囲である、つまり、1つ前に受信されたCANフレームからの受信時刻の差分が基本周期10ms±3msの範囲内であれば正しい周期であることを示すルールである。また、第2ルールは、CAN-IDが「0xA1」であるCANフレームにおいて、1つ前に受信されたCANフレームからのデータの変化量が±50であれば正しい変化量であることを示すルールであってもよい。他のIDに対しても同様に、許可される周期の範囲およびデータの変化量が定義されている。
【0122】
なお、第2ルールで定義されているデータ値の変化量は、車両1の状態情報と対応する数値であり、例えば、車速の変化量、ステアリングの角度の変化量などである。
【0123】
第2ルールを用いる場合、自動運転DCU100の異常検知処理部104は、第2通信部101bにより受信されたEフレームから得られる複数のCANフレームにそれぞれ対応する複数の受信時刻を用いて、当該Eフレームに含まれる複数のCANフレームが異常であるか否かを検知する。具体的には、異常検知処理部104は、互いに同じ識別子を有する複数のCANフレームのうちの、第1CANフレームの第1受信時刻と、第2CANフレームの第2受信時刻とを比較することで第1CANフレームに異常があるか否かを検知する。異常検知処理部104は、第1受信時刻の第2受信時刻からの差分が、第2ルールにおいて上記同じ識別子に対応付けられている受信周期の範囲外である場合、第1CANフレームが異常であることを検知する。
【0124】
また、異常検知処理部104は、第1CANフレームの第1データ値の、第2CANフレームの第2データ値からの差分が、第2ルールにおいて前記同じ識別子に対応付けられている変化量を超える場合、第1CANフレームが異常であることを検知してもよい。
【0125】
そして、異常検知処理部104は、CANフレームが異常であることを検知した場合、制御コマンドの転送を禁止する。つまり、異常検知処理部104は、この場合、この時点で自動運転ECU110から受信した制御コマンドの転送を禁止してもよいし、この時点以降で自動運転ECU110から受信した制御コマンドの転送を禁止してもよい。
【0126】
次に、実施の形態2に係る車両1に搭載されるネットワークシステム3の動作について説明する。
【0127】
図14および
図15は、実施の形態2に係るネットワークシステム3における異常検知方法の一例を示すシーケンス図である。実施の形態2に係る異常検知方法では、ステップS200~S208までは、ステップS201のみにおいて
図12で示すCANフレームの受信時刻をEフレームに含める点が実施の形態1に係る異常検知方法のステップS101と異なるが、他のステップS200、S202~S208は、実施の形態1に係る異常検知方法におけるS100、S102~S108と同様であるので説明を省略する。
【0128】
自動運転DCU100では、異常検知処理部104は、異常検知ルール保持部105が保持する異常検知ルールを参照する。ここで参照するルールは、
図13に示した第2ルールである。
【0129】
自動運転DCU100では、異常検知処理部104は、CANフレームが異常であるか否かを判定する(S210)。異常検知処理部104は、CANフレームが異常であると判定した場合(ステップS210で異常)、ステップS213へ処理を移す。異常検知処理部104は、CANフレームが正常であると判定した場合(ステップS210で正常)、ステップS211へ処理を移す。
【0130】
自動運転DCU100では、異常検知処理部104は、CANフレームの異常を検知したため、自動制御を継続するのはリスクが高いと判断し、サーバ2またはIVI310に対して異常があったことを含む情報を、第2通信部101bを用いて通知する(S213)。なお、この場合、異常検知処理部104は、制御コマンドをセントラルゲートウェイ400に送信しない。つまり、異常検知処理部104は、この場合、異常であると判定した制御コマンドを、セントラルゲートウェイ400およびCANゲートウェイ200を介して第2ネットワーク20に転送することを禁止する。
【0131】
ステップS211、S212、S214およびS215は、それぞれ、実施の形態1に係る異常検知方法におけるステップS109、S110、S112およびS113と同様であるので説明を省略する。また、ステップS221~S224は、実施の形態1に係る異常検知方法におけるS120~S123と同様であるので説明を省略する。
【0132】
なお、ステップS210の後にステップS212が行われるフローとなっているが、ステップS212の後にステップS210が行われても良い。
【0133】
本実施の形態に係る異常検知装置において、異常検知ルールは、さらに、CANフレームが異常であるか否かを検知するための第2ルールを含む。異常検知処理部104は、さらに、CANフレームが異常であることを検知した場合、制御コマンドの転送を禁止する。これにより、異常検知装置は、CANフレームの異常を検知した上で、制御コマンドの実行が可能となる。つまり、第2ネットワーク20側が正常であることを第1ネットワーク10側の機器である異常検知装置でも確認した上で、自動運転制御コマンドの送信を判断することが可能になる。このため、異常検知装置は、第2ネットワーク20の脆弱性をついた攻撃中であっても、不正な自動運転の制御を防止することが可能となる。
【0134】
また、本実施の形態に係る異常検知装置において、第2ルールは、複数の識別子のそれぞれに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示す。第2通信部101bは、複数のCANフレームと、複数のCANフレームのそれぞれが第1ネットワーク10上の機器により受信された時刻である受信時刻とがデータとして格納されたEフレームを受信する。異常検知処理部104は、複数のCANフレームにそれぞれ対応する複数の受信時刻を用いて、互いに同じ識別子を有する複数のCANフレームのうちで、第1CANフレームの第1受信時刻の、第1CANフレームよりも1つ前に受信された第2CANフレームの第2受信時刻からの差分が、第2ルールにおいて上記同じ識別子に対応付けられている受信周期の範囲外である場合、第1CANフレームが異常であることを検知する。これにより、異常検知装置は、第2ネットワーク20上において異常が発生している場合であっても、第1ネットワーク10における機器において周期性を持つCANフレームの異常を検知できるため、自動運転を停止することが可能となる。
【0135】
また、本実施の形態に係る異常検知装置において、第2ルールは、さらに、複数の前記識別子のそれぞれに対応するCANフレームおいて許可される1つ前のCANフレームのデータ値からの変化量を示す。異常検知処理部104は、さらに、第1CANフレームの第1データ値の、第2CANフレームの第2データからの差分が、第2ルールにおいて上記同じ識別子に対応付けられている変化量を超える場合、第1CANフレームが異常であることを検知する。これにより、異常検知装置は、第2ネットワーク20上において異常が発生している場合であっても、第1ネットワーク10における機器においてCANフレームのデータ値の異常を検知できるため、自動運転を停止することが可能となる。
【0136】
(実施の形態3)
次に実施の形態3について説明する。実施の形態3に係る異常検知装置としての自動運転DCU100は、CANフレームの異常検知を行う点は実施の形態2に係る自動運転DCUとほぼ同じであるが、異常検知のルールを、Eフレーム内で指定できるようにしている点が異なる。
【0137】
図16は、実施の形態3に係るCANゲートウェイ200が受信した複数のCANフレームに基づいてEフレームを送信するイメージを示す図である。
【0138】
図17は、実施の形態3に係る自動運転DCU100にて、CANの異常検知をするときの異常検知ルールを定義したテーブルを示すである。
【0139】
図16のEフレームの中において、異常検知ルールとしてルール1が定義されているCANフレームであれば、自動運転DCU100の異常検知処理部104は、当該CANフレームと同じCAN-IDを有するCANフレームの周期をチェックして、異常検知を行う。異常検知処理部104は、ルール1を用いる場合、実施の形態2で説明したCANフレームの受信時刻を参照して算出された周期と、第2ルールとを用いて異常検知を行う。
【0140】
また、検知ルールとしてルール2が定義されているCANフレームであれば、自動運転DCU100の異常検知処理部104は、当該CANフレームのデータ値の変化量をチェックして、異常検知を行う。異常検知処理部104は、ルール2を用いる場合、実施の形態2で説明したCANフレームのデータ値と、第2ルールとを用いて異常検知を行う。
【0141】
また、検知ルールとしてルール3が定義されているCANフレームであれば、自動運転DCU100の異常検知処理部104は、当該CANフレームのメッセージ認証コード(Message Authenctication Code)をチェックして、異常検知を行う。ルール3の場合、自動運転DCU100は、認証するためのMAC鍵を事前に共有されていることが前提となる。つまり、この場合、異常検知処理部104は、メッセージ認証コードと、MAC鍵と、が一致すれば正常と判断し、一致しなければ異常と判断する。
【0142】
このように、異常検知処理部104は、複数の識別子のそれぞれに対応付けられたルールを異常検知ルールとして取得する。そして、異常検知処理部104は、異常検知ルールを参照して、CANフレームが異常であることを検知する。
【0143】
これにより、異常検知装置は、CANフレーム毎に検知ルールを設定することが可能になる。例えば第2ネットワーク20側の負荷が高く、第2ネットワーク20側で検知処理が難しい場合は、第1ネットワーク10上の機器で第2ネットワーク20における異常を検知することができる。
【0144】
なお、CANゲートウェイ200は、複数のCANフレームを受信し、受信した複数のCANフレームのそれぞれについて、当該CANフレームのCAN-IDに対応付けられた異常検知のルールを付与してもよい。ここで、CANゲートウェイ200が付与する異常検知のルールは、例えば、実施の形態2における
図13で説明した第2ルールであってもよい。CANゲートウェイ200は、第2ルールのうちのCAN-IDに対応するルールを付与してもよいし、第2ルールの全てを付与してもよい。
【0145】
また、
図17で説明した異常検知ルールは、自動運転DCU100の異常検知ルール保持部105が保持していてもよく、この場合、当該異常検知ルールは、CAN-ID毎に対応付けられている。
【0146】
(他の実施の形態)
以上のように、本開示に係る技術の例示として実施の形態1~3を説明した。しかしながら、本開示に係る技術は、これに限定されず、適宜、変更、置き換え、付加、省略等を行った実施の形態にも適用可能である。例えば、以下のような変形例も本開示の一実施態様に含まれる。
【0147】
(1)上記の実施の形態では、車載ネットワークでCANプロトコルに従って、データフレームの伝送が行われるものとしたが、CANプロトコルは、オートメーションシステム内の組み込みシステム等に用いられるCANOpen、或いは、TTCAN(Time-Triggered CAN)、CANFD(CAN with Flexible Data Rate)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしてもよい。また、車載ネットワークは、CANプロトコル以外のプロトコルを用いるものであってもよい。車両の制御のためのフレーム等の伝送がなされる車載ネットワークのプロトコルとして、例えばLIN(Local Interconnect Network)、MOST(登録商標)(Media Oriented Systems Transport)、FlexRay(登録商標)、Ethernet(登録商標)等を用いてもよい。また、これらのプロトコルを用いたネットワークをサブネットワークとして、複数種類のプロトコルに係るサブネットワークを組み合わせて、車載ネットワークを構成してもよい。また、Ethernet(登録商標)プロトコルは、IEEE802.1に係るEthernet(登録商標)AVB(Audio Video Bridging)、或いは、IEEE802.1に係るEthernet(登録商標)TSN(Time Sensitive Networking)、Ethernet(登録商標)/IP(Industrial Protocol)、EtherCAT(登録商標)(Ethernet(登録商標) for Control Automation Technology)等の派生的なプロトコルを包含する広義の意味のものと扱われることとしてもよい。なお、車載ネットワークのネットワークバスは、例えば、ワイヤ、光ファイバ等で構成される有線通信路であり得る。例えば、フレーム伝送阻止装置2400は、上述のいずれかのプロトコルを用いてECUが通信するネットワークシステムでネットワークバスに接続され、フレームを受信し、フレームの伝送の阻止を許容するか否かを示す管理情報に基づいて、受信されたフレームが所定条件を満たす場合にそのフレームの伝送を阻止する所定処理を実行するか否かを切り替えるようにしてもよい。
【0148】
(2)上記実施の形態では、CANプロトコルにおけるデータフレームを標準IDフォーマットで記述しているが、拡張IDフォーマットであっても良く、データフレームのIDは、拡張IDフォーマットでの拡張ID等であってもよい。また、上述したデータフレームは、CAN以外のプロトコルが用いられるネットワークにおける一種のフレームであっても良く、この場合に、そのフレームの種類等を識別するIDが、データフレームのIDに相当する。
【0149】
(3)上記の実施の形態では、自動運転制御コマンドの不正を防止していたが、駐車支援システムやレーンキープ機能や衝突防止機能などの先進運転支援システムの制御の異常を検知するようにしてもよい。
【0150】
(4)上記実施の形態では、異常検知時にサーバ2やIVI(In-Vehicle Infotainment)310に異常通知していたが、V2XやV2Iによる通信が可能であれば、車車間通信や路車間通信に対応してれば、他の車両に異常通知や、インフラ装置に異常通知してもよい。これにより自車周辺の車両や通行人の保有デバイスに異常を通知することができ、事故防止につなげることが可能となる。
【0151】
(5)上記実施の形態では、異常検知時にサーバ2やIVI(In-Vehicle Infotainment)310に異常通知していたが、車載ネットワーク上のデバイスにログとして残すようにしてもよい。ログに残した場合は、診断ポートからログを読み出すことで、ディーラが異常内容を把握することが可能になる。また、ログを定期的にサーバ2に送信するようにしてもよい。これにより、リモートで車両の異常検知が可能となる。
【0152】
(6)上記実施の形態では、CANゲートウェイが車両の状態情報のCANフレームをEフレームのデータに格納しているが、車両の状態情報が識別できる形であれば、CANフレームのフォーマットでなくてもよい。
【0153】
(7)上記実施の形態では、自動運転DCU100が第2伝送路21と接続されていないが、自動運転DCUが第2伝送路と接続されてもよい。この場合、第2伝送路上に流れるCANフレームを読み込み、車両の状態情報を受信してもよい。さらにこの場合、自動運転制御コマンドも直接第2伝送路に対して送信するようにしてもよい。
【0154】
(8)上記実施の形態では、
図9の自動運転の制御コマンドの異常検知ルール、または、
図13の異常検知ルールは、ホワイトリストとして正常な条件を定義しているが、ブラックリストとして定義された第3ルールであってもよい。
【0155】
例えば、実施の形態2においては、ホワイトリストが定義された第2ルールの代わりにブラックリストが定義された第3ルールが異常検知ルールとして用いられてもよい。
【0156】
第3ルールは、CANフレームのデータの種類を示す識別子であるCAN-IDに対応するCANフレームおいて許可されるCANフレームの受信周期の範囲を示す。また、第3ルールは、さらに、複数の前記識別子のそれぞれに対応するCANフレームおいて許可される変化量であって、当該CANフレームの1つ前のCANフレームのデータ値からの変化量を示す。
【0157】
第3ルールを用いる場合、自動運転DCU100の異常検知処理部104は、第2通信部101bにより受信されたEフレームから得られる複数のCANフレームにそれぞれ対応する複数の受信時刻を用いて、当該Eフレームに含まれる複数のCANフレームが異常であるか否かを検知する。具体的には、異常検知処理部104は、互いに同じ識別子を有する複数のCANフレームのうちの、第1CANフレームの第1受信時刻と、第2CANフレームの第2受信時刻とを比較することで第1CANフレームに異常があるか否かを検知する。異常検知処理部104は、第1受信時刻の第2受信時刻からの差分が、第2ルールにおいて上記同じ識別子に対応付けられている受信周期の範囲内である場合、第1CANフレームが異常であることを検知する。
【0158】
これにより、異常検知装置は、第2ネットワーク20上において異常が発生している場合であっても、第1ネットワーク10における機器において周期性を持つCANフレームの異常を検知できるため、自動運転を停止することが可能となる。
【0159】
また、異常検知処理部104は、前記第1CANフレームの第1データ値の、第2CANフレームの第2データ値からの差分が、第3ルールにおいて前記同じ識別子に対応付けられている変化量の範囲内である場合、第1CANフレームが異常であることを検知してもよい。
【0160】
これにより、異常検知装置は、第2ネットワーク20上において異常が発生している場合であっても、第1ネットワーク10における機器においてCANフレームのデータ値の異常を検知できるため、自動運転を停止することが可能となる。
【0161】
また、異常検知ルールは、ホワイトリストとブラックリストを合わせて異常検知をしてもよい。
【0162】
(9)上記実施の形態では、
図8のスイッチルールは、正常な送信元、送信先のIPとMACアドレスとポート番号をホワイトリスト形式で定義しているが、ブラックリリストとして定義されていてもよい。また、スイッチルールに定義されるルールとして、流量、通信頻度、ペイロードの値の条件が定義されていてもよい。
【0163】
(10)上記実施の形態では、フレーム異常検知装置が、車両に搭載され、車両の制御のための通信を行う車載ネットワークシステムに含まれる例を示したが、車両以外の移動体の制御対象の制御のためのネットワークシステムに含まれるものであってもよい。つまり、移動体は、例えば、ロボット、航空機、船舶、機械、建設機械、農作業機器、ドローン等である。
【0164】
(11)上記実施の形態で示したECU等の各装置は、メモリ、プロセッサ等の他に、ハードディスクユニット、ディスプレイユニット、キーボード、マウス等を備えるものであってもよい。また、上記実施の形態で示したECU等の各装置は、メモリに記憶されたプログラムがプロセッサにより実行されてソフトウェア的にその各装置の機能を実現するものであってもよいし、専用のハードウェア(デジタル回路等)によりプログラムを用いずにその機能を実現するものであってもよい。また、その各装置内の各構成要素の機能分担は変更可能である。
【0165】
(12)上記実施の形態における各装置を構成する構成要素の一部又は全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。また、上記各装置を構成する構成要素の各部は、個別に1チップ化されていてもよいし、一部又は全部を含むように1チップ化されてもよい。また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。更には、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてあり得る。
【0166】
(13)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしてもよい。ICカード又は前記モジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカード又は前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0167】
(14)本開示の一態様としては、異常検知の方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。また、本開示の一態様としては、前記コンピュータプログラム又は前記デジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blu-ray(登録商標) Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されているデジタル信号であるとしてもよい。また、本開示の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。また、本開示の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしてもよい。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又は、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0168】
(15)上記実施の形態及び上記変形例で示した各構成及び機能を任意に組み合わせることで実現される形態も本開示の範囲に含まれる。
【産業上の利用可能性】
【0169】
本開示にかかる異常検知装置は、効果的に異常を検知することができる異常検知装置および異常検知方法等として有用である。
【符号の説明】
【0170】
1 車両
2 サーバ
3 ネットワークシステム
10 第1ネットワーク
11 第1伝送路
20 第2ネットワーク
21 第2伝送路
21a、21b CANバス
30 外部ネットワーク
100 自動運転DCU
101a 第1通信部
101b 第2通信部
102 スイッチ処理部
103 スイッチルール保持部
104 異常検知処理部
105 異常検知ルール保持部
110 自動運転ECU
120 カメラ
130 LIDAR
140 ダイナミックマップECU
200 CANゲートウェイ
201 E送受信部
202a、202b CAN送受信部
203 転送制御部
204 転送ルール保持部
210 エンジンECU
220 ステアリングECU
230 ブレーキECU
240 ウィンドウECU
300 インフォテインメントDCU
310 IVI
400 セントラルゲートウェイ
410 テレマティクスコントロールユニット
420 診断ポート
P1~P5 ポート