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

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

▶ パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカの特許一覧

特許7178408異常検出装置、異常検出システム及び制御方法
<>
  • 特許-異常検出装置、異常検出システム及び制御方法 図1
  • 特許-異常検出装置、異常検出システム及び制御方法 図2
  • 特許-異常検出装置、異常検出システム及び制御方法 図3
  • 特許-異常検出装置、異常検出システム及び制御方法 図4
  • 特許-異常検出装置、異常検出システム及び制御方法 図5
  • 特許-異常検出装置、異常検出システム及び制御方法 図6
  • 特許-異常検出装置、異常検出システム及び制御方法 図7
  • 特許-異常検出装置、異常検出システム及び制御方法 図8
  • 特許-異常検出装置、異常検出システム及び制御方法 図9
  • 特許-異常検出装置、異常検出システム及び制御方法 図10
  • 特許-異常検出装置、異常検出システム及び制御方法 図11
  • 特許-異常検出装置、異常検出システム及び制御方法 図12
  • 特許-異常検出装置、異常検出システム及び制御方法 図13
  • 特許-異常検出装置、異常検出システム及び制御方法 図14
  • 特許-異常検出装置、異常検出システム及び制御方法 図15
  • 特許-異常検出装置、異常検出システム及び制御方法 図16
  • 特許-異常検出装置、異常検出システム及び制御方法 図17
  • 特許-異常検出装置、異常検出システム及び制御方法 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-16
(45)【発行日】2022-11-25
(54)【発明の名称】異常検出装置、異常検出システム及び制御方法
(51)【国際特許分類】
   H04L 41/00 20220101AFI20221117BHJP
   H04L 12/28 20060101ALI20221117BHJP
   B60R 16/023 20060101ALI20221117BHJP
【FI】
H04L41/00
H04L12/28 100A
B60R16/023 P
【請求項の数】 12
(21)【出願番号】P 2020521119
(86)(22)【出願日】2019-04-22
(86)【国際出願番号】 JP2019017023
(87)【国際公開番号】W WO2019225258
(87)【国際公開日】2019-11-28
【審査請求日】2021-11-05
(31)【優先権主張番号】P 2018099037
(32)【優先日】2018-05-23
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【弁理士】
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【弁理士】
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【弁理士】
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】平野 亮
(72)【発明者】
【氏名】佐々木 崇光
【審査官】吉江 一明
(56)【参考文献】
【文献】特開2016-197018(JP,A)
【文献】特開2003-348188(JP,A)
【文献】特開2006-254306(JP,A)
【文献】特開2011-024100(JP,A)
【文献】国際公開第2018/088462(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 41/00
H04L 12/28
B60R 16/023
(57)【特許請求の範囲】
【請求項1】
移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置であって、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、
前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を備える、
異常検出装置。
【請求項2】
前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第2の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第2の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第3の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第4の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第5の異常状態であると判定する、
請求項1に記載の異常検出装置。
【請求項3】
前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、
前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第5の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第1の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第6の異常状態であると判定する、
請求項2に記載の異常検出装置。
【請求項4】
前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、
前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第2の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第1の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第7の異常状態であると判定する、
請求項1に記載の異常検出装置。
【請求項5】
前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第7の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、
前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第7の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第3の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第4の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第6の異常状態であると判定する、
請求項4に記載の異常検出装置。
【請求項6】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態であると判定された場合に、前記移動体のドライバに対して前記移動体の安全停止を促すメッセージの表示を要求するための表示要求フレームを前記ネットワークに送信する、
請求項1~5のいずれか1項に記載の異常検出装置。
【請求項7】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第3の異常状態であると判定された場合に、前記異常応答フレームを送信した前記通信装置に対して、当該通信装置に接続された前記電子制御装置との通信の停止を要求するための通信停止要求フレームを前記ネットワークに送信する、
請求項2又は5に記載の異常検出装置。
【請求項8】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第4の異常状態であると判定された場合に、前記移動体に対して停止を要求するための移動体停止要求フレームを前記ネットワークに送信する、
請求項2又は5に記載の異常検出装置。
【請求項9】
前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第6の異常状態と判定された場合に、前記異常応答フレームを送信した前記通信装置に接続された前記電子制御装置に対してソフトウェアの初期化を要求するための初期化要求フレームを前記ネットワークに送信する、
請求項3又は5に記載の異常検出装置。
【請求項10】
前記通信部は、さらに、前記異常検出装置の起動時又は前記異常検出装置の起動後において所定の時間が経過する毎に、前記ネットワークに接続された前記全ての通信装置に前記状態要求フレームを送信し、且つ、前記全通信装置数を前記全ての通信装置から受信した前記状態応答フレームの数に基づいて更新する、
請求項2又は5に記載の異常検出装置。
【請求項11】
移動体に搭載されたネットワークシステムにおける異常を検出するための異常検出システムであって、
前記移動体に搭載されたネットワークと、
前記移動体を制御するための1以上の電子制御装置と、
前記1以上の電子制御装置にそれぞれ接続された1以上の通信装置と、
前記ネットワークを介して前記1以上の通信装置との間で通信可能な異常検出装置と、を備え、
前記異常検出装置は、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームであって、前記異常フレームに関する異常フレーム情報を含む異常要求フレームを前記通信装置に送信し、且つ、前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する第1の通信部と、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、
前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を有し、
前記通信装置は、
前記異常要求フレームを前記異常検出装置から受信し、且つ、前記異常応答フレームを前記異常検出装置に送信するとともに、前記電子制御装置からのデータフレームを前記ネットワークに送信する第2の通信部と、
前記第2の通信部により前記ネットワークに送信された前記データフレームに関する送信フレーム情報を記憶する記憶部と、
受信された前記異常要求フレームに基づいて前記異常フレーム情報と前記送信フレーム情報とを比較し、前記異常フレーム情報と前記送信フレーム情報とが一致する場合に、前記異常応答フレームを生成する生成部と、を有する、
異常検出システム。
【請求項12】
移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置を制御するための制御方法であって、
前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出するステップと、
検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信ステップと、
前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信するステップと、
受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出するステップと、
前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するステップと、
前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するステップと、を含む、
制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、異常検出装置、異常検出システム及び制御方法に関する。
【背景技術】
【0002】
近年、自動車に搭載されたネットワークシステムには、自動車を制御するためのECU(Electronic Control Unit)と呼ばれる電子制御装置が複数配置されている。これらの複数のECUは、車載ネットワークを介して相互に接続されている。車載ネットワークの規格の一つとして、ISO11898-1で規定されたCAN(Controller Area Network)が知られている。
【0003】
CANでは、通信路は2本のバスで構成され、バスに接続されているECUはノードと呼ばれる。バスに接続されている各ノードは、フレームと呼ばれるメッセージを送受信する。CANでは、送信先ノード及び送信元ノードを示す識別子は存在せず、各送信側ノードはフレーム毎にメッセージID(Identification)を付して送信し、各受信側ノードは予め定められたメッセージIDのみを受信する。そのため、CANのバスに不正なECUを接続し、不正なECUが異常な制御コマンドを含むフレーム(以下、「異常フレーム」という)を正規のECUになりすまして送信することにより、自動車が不正に制御される脅威がある。
【0004】
例えば非特許文献1には、このような脅威に対して、異常フレームの送信元ノードであるECUを特定し、特定したECUをバスから遮断する技術が開示されている。
【先行技術文献】
【非特許文献】
【0005】
【文献】K. Atsumi, et al,“Smart CAN cable, Another proposal of intrusion prevention system (IPS)for in-vehicle networks”, SCIS 2018 The 35th Symposium on Cryptography and Information Security Niigata, Japan, Jan. 23-26, 2018.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上述した非特許文献1に開示された技術では、ネットワークシステムの状態によっては、異常フレームの送信元ノードであるECUを特定できない場合があるため、ネットワークシステムにおける異常状態に対して適切に対処することができないおそれがある。
【0007】
そこで、本発明は、ネットワークシステムにおける異常状態に対して適切に対処することができる異常検出装置、異常検出システム及び制御方法を提供する。
【課題を解決するための手段】
【0008】
本発明の一態様に係る異常検出装置は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を備える。
【0009】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM(Compact Disc-Read Only Memory)等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【0010】
本発明の一態様に係る異常検出装置等によれば、ネットワークシステムにおける異常状態に対して適切に対処することができる。
【図面の簡単な説明】
【0011】
図1図1は、従来の車載ネットワークシステムの全体構成を示すブロック図である。
図2図2は、実施の形態に係る車両解析システムの全体構成を示すブロック図である。
図3図3は、実施の形態に係る車載ネットワークシステムの全体構成を示すブロック図である。
図4図4は、実施の形態に係る車載ネットワークシステムにおけるフレームのフォーマットを示す図である。
図5図5は、実施の形態に係るコネクタの構成を示すブロック図である。
図6図6は、実施の形態に係るECUの構成を示すブロック図である。
図7図7は、実施の形態に係るIDSECUの構成を示すブロック図である。
図8図8は、実施の形態に係るコネクタの送信フレーム記憶部に記憶される送信フレーム情報の一例を示す図である。
図9図9は、実施の形態に係るIDSECUの異常フレーム記憶部に記憶される異常発生回数の一例を示す図である。
図10図10は、実施の形態に係るIDSECUのコネクタ応答記憶部に記憶される異常コネクタ数及び異常応答回数の一例を示す図である。
図11図11は、実施の形態に係るIDSECUのコネクタ応答記憶部に記憶される全コネクタ数の一例を示す図である。
図12図12は、実施の形態に係る車載ネットワークシステムにおける異常フレームの検出処理を示すシーケンス図である。
図13図13は、実施の形態に係る車載ネットワークシステムにおける異常状態の判定処理を示すシーケンス図である。
図14図14は、実施の形態に係る車載ネットワークシステムにおける異常状態に対する対処処理を示すシーケンス図である。
図15図15は、実施の形態に係るコネクタの処理を示すフローチャートである。
図16図16は、実施の形態に係るIDSECUによる異常状態の判定処理を示すフローチャートである。
図17図17は、実施の形態に係るIDSECUによる異常状態の判定処理の変形例を示すフローチャートである。
図18図18は、実施の形態に係るIDSECUによる異常状態に対する対処処理を示すフローチャートである。
【発明を実施するための形態】
【0012】
(本発明の基礎となった知見)
本発明者らは、「背景技術」の欄において記載した技術に関し、以下の問題が生じることを見出した。
【0013】
ここで、図1を参照しながら、上述した非特許文献1に開示された技術について説明する。図1は、従来の車載ネットワークシステム1000の全体構成を示すブロック図である。
【0014】
図1に示すように、車載ネットワークシステム1000は、バス500と、IDS(Intrusion Detection System)ECU510と、制御ECU520a,520b,520cと、コネクタ530a,530b,530cとを備えている。
【0015】
IDSECU510は、バス500を監視し、バス500に送信された異常フレームを検出する。IDSECU510は、異常フレームを検出した場合に、コネクタ530a,530b,530cに対して、異常フレームの送信元であるか否かについての応答を要求するための要求フレームを送信する。要求フレームは、異常フレームに関する情報を含んでいる。
【0016】
コネクタ530a,530b,530cはそれぞれ、制御ECU520a,520b,520cに接続されており、制御ECU520a,520b,520cからコネクタ530a,530b,530cを介してバス500に送信されたフレーム(以下、「送信フレーム」という)に関する情報を記憶している。コネクタ530a,530b,530cの各々は、IDSECU510からの要求フレームに基づいて、異常フレームと、自身が記憶している送信フレームとを比較し、両者が一致した場合に、自身が異常フレームの送信元であることを示す応答フレームをIDSECU510に送信する。
【0017】
これにより、IDSECU510は、コネクタ530a,530b,530cのいずれかから受信した応答フレームに基づいて、制御ECU520a,520b,520cの中から異常フレームを送信した異常な制御ECUを特定することができる。その結果、例えば、異常な制御ECUをバス500から遮断する等の対処を実行することができる。
【0018】
しかしながら、上述した従来の車載ネットワークシステム1000では、例えば、a)コネクタに接続されていない異常な制御ECUがバス500に接続されている状態、b)コネクタに接続された正規の制御ECUがバス500から切断されている状態、c)コネクタに接続された異常な制御ECUがバス500に接続されている状態で、異常フレームがバス500に送信された場合には、異常な制御ECUを特定することができない。そのため、上述した従来の車載ネットワークシステム1000では、車載ネットワークシステム1000における異常状態に対して適切に対処することができない。
【0019】
このような問題を解決するために、本発明の一態様に係る異常検出装置は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信し、且つ、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を備える。
【0020】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態を適切に判定することができる。例えば、ネットワーク異常判定部により算出された異常通信装置数が0である場合には、異常フレーム検出部により異常フレームが検出されたにも拘らず、通信装置は異常フレームをネットワークに送信したことを記憶していないことになる。したがって、ネットワーク異常判定部は、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第1の異常状態として判定することができる。また、ネットワーク異常判定部により算出された異常通信装置数が0でない場合には、ネットワーク異常判定部は、ネットワークシステムの異常状態を第2の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対して適切に対処することができる。
【0021】
例えば、前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第2の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第2の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第3の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第4の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第5の異常状態であると判定するように構成してもよい。
【0022】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも多いと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある異常な電子制御装置がネットワークに接続されている」という第3の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも少ないと判定した場合には、ネットワークシステムの異常状態を、「通信できない電子制御装置が存在する」という第4の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数と等しいと判定した場合には、ネットワークシステムの異常状態を第5の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0023】
また、例えば、前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第5の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第1の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第6の異常状態であると判定するように構成してもよい。
【0024】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。ネットワーク異常判定部は、データフレームの種別毎の異常発生回数に基づいて異常フレームの検出回数を把握することができ、データフレームの種別毎の異常応答回数に基づいて異常応答フレームの受信回数を把握することができる。そのため、ネットワーク異常判定部は、異常応答回数が異常発生回数未満であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第1の異常状態として判定することができる。また、ネットワーク異常判定部は、異常応答回数が異常発生回数以上であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のある正規の電子制御装置が乗っ取られている」という第6の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0025】
また、例えば、前記異常フレーム検出部は、さらに、データフレームの種別毎に前記異常フレームの検出回数を異常発生回数としてカウントし、前記通信部は、さらに、データフレームの種別毎に前記異常応答フレームが受信された回数を異常応答回数としてカウントし、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第2の異常状態であると判定した際において、前記異常応答回数が前記異常発生回数未満である場合には前記ネットワークシステムが前記第1の異常状態であると判定し、前記異常応答回数が前記異常発生回数以上である場合には前記ネットワークシステムが第7の異常状態であると判定するように構成してもよい。
【0026】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。ネットワーク異常判定部は、データフレームの種別毎の異常発生回数に基づいて異常フレームの検出回数を把握することができ、データフレームの種別毎の異常応答回数に基づいて異常応答フレームの受信回数を把握することができる。そのため、ネットワーク異常判定部は、異常応答回数が異常発生回数未満であると判定した場合には、ネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第1の異常状態として判定することができる。また、ネットワーク異常判定部は、異常応答回数が異常発生回数以上であると判定した場合には、ネットワークシステムの異常状態を第7の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0027】
また、例えば、前記通信部は、さらに、前記ネットワーク異常判定部により前記ネットワークシステムが前記第7の異常状態であると判定された場合に、前記ネットワークに接続された全ての前記通信装置に対して応答を要求するための状態要求フレームを送信し、且つ、前記全ての通信装置からの前記状態要求フレームに対する応答である状態応答フレームを受信し、前記ネットワーク異常判定部は、さらに、前記ネットワークシステムが前記第7の異常状態であると判定した際において、受信された前記状態応答フレームの数と予め記憶された正常な前記通信装置の数を示す全通信装置数とを比較し、受信された前記状態応答フレームの数が前記全通信装置数よりも多い場合には前記ネットワークシステムが第3の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数よりも少ない場合には前記ネットワークシステムが第4の異常状態であると判定し、受信された前記状態応答フレームの数が前記全通信装置数と等しい場合には前記ネットワークシステムが第6の異常状態であると判定するように構成してもよい。
【0028】
本態様によれば、ネットワーク異常判定部によりネットワークシステムにおける異常状態をより詳細に判定することができる。例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも多いと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある異常な電子制御装置がネットワークに接続されている」という第3の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数よりも少ないと判定した場合には、ネットワークシステムの異常状態を、「通信できない電子制御装置が存在する」という第4の異常状態として判定することができる。また例えば、ネットワーク異常判定部は、受信された状態応答フレームの数が全通信装置数と等しいと判定した場合には、ネットワークシステムの異常状態を、「通信装置のある正規の電子制御装置が乗っ取られている」という第6の異常状態として判定することができる。これにより、ネットワーク異常対処部は、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0029】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態であると判定された場合に、前記移動体のドライバに対して前記移動体の安全停止を促すメッセージの表示を要求するための表示要求フレームを前記ネットワークに送信するように構成してもよい。
【0030】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のない異常な電子制御装置がネットワークに接続されている」という第1の異常状態として判定した場合には、異常な電子制御装置との通信を遮断することが困難である。そのため、この場合には、ドライバに対して移動体の安全停止を促すメッセージを表示することにより、第1の異常状態に対して効果的な対処を実行することができる。
【0031】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第3の異常状態であると判定された場合に、前記異常応答フレームを送信した前記通信装置に対して、当該通信装置に接続された前記電子制御装置との通信の停止を要求するための通信停止要求フレームを前記ネットワークに送信するように構成してもよい。
【0032】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のある異常な電子制御装置がネットワークに接続されている」という第3の異常状態として判定した場合には、当該電子制御装置が通信不能になったとしても、移動体の機能には影響がない。そのため、この場合には、電子制御装置と通信装置との通信を停止することにより、第3の異常状態に対して効果的な対処を実行することができる。
【0033】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第4の異常状態であると判定された場合に、前記移動体に対して停止を要求するための移動体停止要求フレームを前記ネットワークに送信するように構成してもよい。
【0034】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信できない電子制御装置が存在する」という第4の異常状態として判定した場合には、電子制御装置の故障と同等であると判断することができる。そのため、この場合には、移動体を停止させることにより、第4の異常状態に対して効果的な対処を実行することができる。
【0035】
また、例えば、前記ネットワーク異常対処部は、前記ネットワーク異常判定部により前記ネットワークシステムが前記第6の異常状態と判定された場合に、前記異常応答フレームを送信した前記通信装置に接続された前記電子制御装置に対してソフトウェアの初期化を要求するための初期化要求フレームを前記ネットワークに送信するように構成してもよい。
【0036】
本態様によれば、ネットワーク異常判定部がネットワークシステムの異常状態を、例えば「通信装置のある正規の電子制御装置が乗っ取られている」という第6の異常状態として判定した場合には、電子制御装置の正常動作を取り戻す必要がある。そのため、この場合には、電子制御装置のソフトウェアを初期化することにより、第6の異常状態に対して効果的な対処を実行することができる。
【0037】
また、例えば、前記通信部は、さらに、前記異常検出装置の起動時又は前記異常検出装置の起動後において所定の時間が経過する毎に、前記ネットワークに接続された前記全ての通信装置に前記状態要求フレームを送信し、且つ、前記全通信装置数を前記全ての通信装置から受信した前記状態応答フレームの数に基づいて更新するように構成してもよい。
【0038】
本態様によれば、全通信装置数を異常検出装置に事前に設定しておく必要がないため、通信装置の数が異なる移動体の種別に対して容易に適応することができる。その結果、異常検出装置の開発コストを削減することができる。
【0039】
また、本態様の一態様に係る異常検出システムは、移動体に搭載されたネットワークシステムにおける異常を検出するための異常検出システムであって、前記移動体に搭載されたネットワークと、前記移動体を制御するための1以上の電子制御装置と、前記1以上の電子制御装置にそれぞれ接続された1以上の通信装置と、前記ネットワークを介して前記1以上の通信装置との間で通信可能な異常検出装置と、を備え、前記異常検出装置は、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出する異常フレーム検出部と、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームであって、前記異常フレームに関する異常フレーム情報を含む異常要求フレームを前記通信装置に送信し、且つ、前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信する第1の通信部と、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出し、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するネットワーク異常判定部と、前記ネットワーク異常判定部により前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するネットワーク異常対処部と、を有し、前記通信装置は、前記異常要求フレームを前記異常検出装置から受信し、且つ、前記異常応答フレームを前記異常検出装置に送信するとともに、前記電子制御装置からのデータフレームを前記ネットワークに送信する第2の通信部と、前記第2の通信部により前記ネットワークに送信された前記データフレームに関する送信フレーム情報を記憶する記憶部と、受信された前記異常要求フレームに基づいて前記異常フレーム情報と前記送信フレーム情報とを比較し、前記異常フレーム情報と前記送信フレーム情報とが一致する場合に、前記異常応答フレームを生成する生成部と、を有する。
【0040】
本態様によれば、上述と同様に、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0041】
また、本態様の一態様に係る制御方法は、移動体に搭載されたネットワークシステムにおけるネットワークを介して、前記移動体を制御するための1以上の電子制御装置にそれぞれ接続された1以上の通信装置との間で通信可能な異常検出装置を制御するための制御方法であって、前記電子制御装置から前記通信装置を介して前記ネットワークに送信された異常なデータフレームである異常フレームを検出するステップと、検出された前記異常フレームを送信した前記通信装置に対して応答を要求するための異常要求フレームを前記通信装置に送信ステップと、前記通信装置により前記異常要求フレームに基づいて生成された前記異常フレームの送信元を示す異常応答フレームを前記通信装置から受信するステップと、受信された前記異常応答フレームに基づいて前記異常応答フレームを送信した前記通信装置の数を示す異常通信装置数を算出するステップと、前記異常通信装置数が0である場合には前記ネットワークシステムが第1の異常状態であると判定し、前記異常通信装置数が0でない場合には前記ネットワークシステムが第2の異常状態であると判定するステップと、前記ネットワークシステムが前記第1の異常状態又は前記第2の異常状態であると判定された場合に、前記第1の異常状態又は前記第2の異常状態に対して対処するステップと、を含む。
【0042】
本態様によれば、上述と同様に、ネットワークシステムにおける異常状態に対してより効果的に対処することができる。
【0043】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なCD-ROM等の記録媒体で実現されても良く、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【0044】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【0045】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【0046】
(実施の形態)
[1.車両解析システムの全体構成]
まず、図2を参照しながら、実施の形態に係る車両解析システム1の全体構成について説明する。図2は、実施の形態に係る車両解析システム1の全体構成を示すブロック図である。
【0047】
図2に示すように、車両解析システム1は、車載ネットワークシステム10と、車両解析サーバ20とを備えている。車両解析システム1は、車載ネットワークシステム10における異常を検出するための異常検出システムの一例である。車載ネットワークシステム10及び車両解析サーバ20は、例えばインターネット等の外部ネットワーク30を介して互いに通信可能に接続されている。
【0048】
車載ネットワークシステム10は、自動車等の車両40に搭載された、車両40の運転操作を制御するためのネットワークシステムの一例である。車載ネットワークシステム10の構成については後述する。なお、車両40は、移動体の一例である。
【0049】
車両解析サーバ20は、例えば車両解析システム1を管理する管理会社等に設置されたサーバである。車両解析サーバ20は、様々な地域における様々な車両40に搭載された車載ネットワークシステム10から通信ログ及び異常状態等を収集することにより、車載ネットワークシステム10の状態を監視する。これにより、車両解析サーバ20は、異常状態に陥った原因を究明するための一元的な車両解析を実施する。
【0050】
[2.車載ネットワークシステムの全体構成]
次に、図3を参照しながら、実施の形態に係る車載ネットワークシステム10の全体構成について説明する。図3は、実施の形態に係る車載ネットワークシステム10の全体構成を示すブロック図である。
【0051】
図3に示すように、車載ネットワークシステム10は、バス100と、IDSECU110と、診断ポート120aと、エンジンECU120bと、ブレーキECU120cと、インストルメントパネルECU120d(以下、「インパネECU120d」という)と、IVI(In-Vehicle Information)ECU120eと、コネクタ130a,130b,130c,130d,130eとを備えている。
【0052】
バス100は、CANプロトコルに従って通信するためのネットワークの一例であり、車両40(図2参照)の内部に構築されている。
【0053】
IDSECU110は、バス100を監視することにより、車載ネットワークシステム10における異常を検出するための異常検出装置の一例である。IDSECU110の構成については後述する。
【0054】
診断ポート120a、エンジンECU120b、ブレーキECU120c、インパネECU120d及びIVIECU120eの各々は、車両40の運転操作を制御するための電子制御装置の一例である。なお、診断ポート120a、エンジンECU120b、ブレーキECU120c、インパネECU120d及びIVIECU120eは、基本的に同様の構成であるため、以下の説明では、これらを「ECU120」と総称する場合がある。
【0055】
診断ポート120aは、一般にOBD(On-Board Diagnostic)ポートと呼ばれるポートである。例えば自動車のディーラが所有する専用端末を診断ポート120aに接続することにより、バス100に接続されたECU120の故障診断等を行うことができる。
【0056】
エンジンECU120bは、バス100から取得した情報に基づいて、車両40のエンジン(図示せず)の回転数を制御するためのECUである。
【0057】
ブレーキECU120cは、バス100から取得した情報に基づいて、車両40のブレーキ(図示せず)を制御するためのECUである。
【0058】
インパネECU120dは、バス100から取得した情報に基づいて、車両40のインストルメントパネル(図示せず)の表示を制御するためのECUである。
【0059】
IVIECU120eは、例えばカーナビゲーションシステム及びオーディオヘッドユニット等の、車両40内の情報系を扱う車載機器(図示せず)を制御するためのECUである。IVIECU120eは、専用回線を介して外部サーバ(図示せず)と通信可能であり、地図情報及び各種アプリケーションのアップデート、車両解析サーバ20への異常通知等を行う機能を有している。
【0060】
コネクタ130a,130b,130c,130d,130eはそれぞれ、バス100と診断ポート120a、エンジンECU120b、ブレーキECU120c、インパネECU120d及びIVIECU120eとを1対1で接続するための通信装置の一例である。なお、コネクタ130a,130b,130c,130d,130eは、基本的に同様の構成であるため、以下の説明では、これらを「コネクタ130」と総称する場合がある。
【0061】
コネクタ130は、ECU120から送信されたCANプロトコルに従うデータフレーム(以下、単に「フレーム」という)をバス100に転送し、且つ、ECU120から送信されたフレーム(以下、「送信フレーム」ともいう)に関する送信フレーム情報を記憶する。また、コネクタ130は、当該コネクタ130に接続されたECU120以外の他のECU120からバス100に送信されたフレームを、当該コネクタ130に接続されたECU120に転送する。
【0062】
さらに、コネクタ130は、IDSECU110からバス100に送信された、異常コネクタ要求ID(後述する)を含む異常要求フレームを受信する。なお、異常要求フレームは、ECU120からコネクタ130を介してバス100に送信されたフレームのうち、IDSECU110により異常と判断されたフレーム(以下、「異常フレーム」という)に関する異常フレーム情報を含む。コネクタ130は、異常要求フレームを受信した際に、当該異常要求フレームに含まれる異常フレーム情報と、当該コネクタ130に記憶されている送信フレーム情報とを比較し、両者が一致した場合に、当該コネクタ130が異常フレームの送信元である旨を示す異常応答フレームをIDSECU110に送信する。コネクタ130の構成については後述する。
【0063】
[3.フレームのフォーマット]
次に、図4を参照しながら、車載ネットワークシステム10におけるフレームのフォーマットについて説明する。図4は、実施の形態に係る車載ネットワークシステム10におけるフレームのフォーマットを示す図である。なお、図4では、CANプロトコルにおける標準IDフォーマットにおけるフレームを示している。
【0064】
図4に示すように、フレームは、Start Of Frame(SOF)と、IDフィールドと、Remote Transmission Request(RTR)と、IDentifier Extension(IDE)と、予約bit(r)と、データレングスコード(DLC)と、データフィールドと、CRC(Cyclic Redundancy Check)シーケンスと、CRCデリミタ(DEL)と、Acknowledgementスロット(ACK)と、ACKデリミタ(DEL)と、End Of Frame(EOF)とで構成される。
【0065】
SOFは、1bitのドミナントで構成される。SOFは、バス100がアイドルの状態ではレセシブになっており、ここからドミナントへ変化することによりフレームの送信開始を通知する。
【0066】
IDは、11bitで構成され、データの種類を示す値である。複数のノード(ECU120)が同時に送信を開始した場合に、このIDフィールドで通信調停を行うために、IDが小さい値を持つフレームが高い優先度となるよう設計されている。
【0067】
RTRは、フレームを示すドミナント1bitで構成される。また、IDE及びrはいずれも、ドミナント1bitで構成される。
【0068】
DLCは、4bitで構成され、データフィールドの長さを示す値である。データフィールドは、最大64bitで構成される、送信するデータの内容を示す値である。データフィールドは、8bit毎に長さを調整することができる。なお、送信するデータの仕様については、車両40の車種又は製造者等に依存する。
【0069】
CRCシーケンスは、15bitで構成される。CRCシーケンスは、SOF、IDフィールド、コントロールフィールド及びデータフィールドの送信値より算出される。CRCデリミタは、1bitのレセシブで構成され、CRCシーケンスの終了を表す区切り記号である。
【0070】
ACKスロットは、1bitで構成される。送信ノードは、このACKスロットでレセシブの送信を行う。受信ノードは、CRCシーケンスまで正常に受信できた場合には、ドミナントを送信することにより、ドミナントが優先される。
【0071】
ACKデリミタは、1bitのレセシブで構成され、ACKの終了を表す区切り記号である。EOFは、7bitのレセシブで構成され、データフレームの終了を示す。
【0072】
[4.コネクタの構成]
次に、図5を参照しながら、コネクタ130の構成について説明する。図5は、実施の形態に係るコネクタ130の構成を示すブロック図である。
【0073】
図5に示すように、コネクタ130は、バス通信部131(第2の通信部の一例)と、バス通信部132と、フレーム中継部133と、送信フレーム記憶部134(記憶部の一例)と、IDS応答部135(生成部の一例)とを備えている。
【0074】
バス通信部131は、バス100及びフレーム中継部133の各々との間でフレームを送受信する。具体的には、バス通信部131は、フレーム中継部133から送信されたフレームを受信し、受信したフレームをバス100に送信する。また、バス通信部131は、バス100から送信されたフレームを受信し、受信したフレームをフレーム中継部133に送信する。
【0075】
バス通信部132は、コネクタ130に1対1で接続されているECU120との間、及び、フレーム中継部133との間でそれぞれフレームを送受信する。具体的には、バス通信部132は、コネクタ130に1対1で接続されているECU120から送信されたフレームを受信し、受信したフレームをフレーム中継部133に送信する。また、バス通信部132は、フレーム中継部133から送信されたフレームを受信し、受信したフレームを、コネクタ130に1対1で接続されているECU120に送信する。
【0076】
フレーム中継部133は、バス通信部131から送信されたフレームを受信し、受信したフレームをバス通信部132及びIDS応答部135に送信する。また、フレーム中継部133は、バス通信部132から送信されたフレームを受信し、受信したフレームをバス通信部131及び送信フレーム記憶部134に送信する。
【0077】
フレーム中継部133は、バス通信部131から受信したフレームに異常コネクタ要求IDが含まれる場合に、当該フレーム(以下、「異常要求フレーム」という)をIDS応答部135に送信する。なお、異常コネクタ要求IDは、異常フレームを送信したコネクタ130に対して応答を要求するためのIDである。異常要求フレームは、異常コネクタ要求IDの他に、異常フレームに関する異常フレーム情報として、当該異常フレームのハッシュ値を含んでいる。
【0078】
また、フレーム中継部133は、バス通信部131から受信したフレームに全コネクタ要求IDが含まれる場合に、当該フレーム(以下、「状態要求フレーム」という)をIDS応答部135に送信する。なお、全コネクタ要求IDは、バス100に接続された全てのコネクタ130(130a,130b,130c,130d,130e)に対して応答を要求するためのIDである。
【0079】
さらに、フレーム中継部133は、IDS応答部135から送信されたフレーム(後述する異常応答フレーム及び状態応答フレーム)をバス通信部131に送信する。
【0080】
送信フレーム記憶部134は、バス通信部132からフレーム中継部133に送信されたフレーム(すなわち、コネクタ130に1対1で接続されたECU120から送信された送信フレーム)に関する送信フレーム情報として、当該送信フレームのハッシュ値等を記憶する。送信フレーム情報については後述する。
【0081】
IDS応答部135は、フレーム中継部133から異常応答フレームを受信した場合に、当該異常応答フレームに含まれる異常フレームのハッシュ値と、送信フレーム記憶部134に記憶されたECU120からの送信フレームのハッシュ値とを比較する。IDS応答部135は、上記比較の結果、両者が一致する場合に、異常コネクタ応答IDを含む異常応答フレームを生成し、生成した異常応答フレームをフレーム中継部133に送信する。なお、異常コネクタ応答IDは、コネクタ130毎に予め定められた、異常要求フレームに対する応答を示すIDである。
【0082】
また、IDS応答部135は、フレーム中継部133から状態要求フレームを受信した場合に、全コネクタ応答IDを含む状態応答フレームを生成し、生成した状態応答フレームをフレーム中継部133に送信する。なお、全コネクタ応答IDは、コネクタ130毎に予め定められた、状態要求フレームに対する応答を示すIDである。
【0083】
[5.ECUの構成]
次に、図6を参照しながら、ECU120の構成について説明する。図6は、実施の形態に係るECU120の構成を示すブロック図である。
【0084】
図6に示すように、ECU120は、バス通信部121と、外部装置制御部122とを備えている。
【0085】
バス通信部121は、コネクタ130から送信されたフレームを受信し、受信したフレームを外部装置制御部122に送信する。また、バス通信部121は、外部装置制御部122から送信されたフレームを受信し、受信したフレームをコネクタ130に送信する。
【0086】
外部装置制御部122は、車両40に搭載された外部装置(図示せず)に接続されている。なお、外部装置は、例えばエンジン、ブレーキ、インストルメントパネル、カーナビゲーションシステム及びオーディオヘッドユニット等である。外部装置制御部122は、バス通信部121を介してコネクタ130から受信したフレームに含まれる外部装置の制御情報を読み取り、読み取った制御情報に基づいて外部装置を制御する。また、外部装置制御部122は、外部装置から得られる情報を収集し、収集した情報を含むフレームを生成する。外部装置制御部122は、生成したフレームをバス通信部121に送信する。
【0087】
例えば、ECU120がエンジンECU120bである場合には、外部装置制御部122は、外部装置であるエンジンと接続されており、バス通信部121から受信したフレームに含まれるエンジン回転制御要求に基づいて、エンジンの回転数を上昇又は下降させるように制御する。また、外部装置制御部122は、エンジンの現在の回転数を他のECU120(例えばインパネECU120d等)に通知するために、エンジンの回転数情報を含むフレームを生成し、生成したフレームをバス通信部121に送信する。
【0088】
また例えば、ECU120がブレーキECU120cである場合には、外部装置制御部122は、外部装置であるブレーキに接続される。ECU120がインパネECU120dである場合には、外部装置制御部122は、外部装置であるインストルメントパネルに接続される。ECU120がIVIECU120eである場合には、外部装置制御部122は、外部装置であるナビゲーションシステムに接続される。この場合、各ECU120は、当該ECU120に接続された外部機器から各種情報を取得することにより、当該外部機器の制御を行う。
【0089】
[6.IDSECUの構成]
次に、図7を参照しながら、IDSECU110の構成について説明する。図7は、実施の形態に係るIDSECU110の構成を示すブロック図である。
【0090】
図7に示すように、IDSECU110は、バス通信部111と、フレーム中継部112と、異常フレーム検出部113と、異常フレーム記憶部114と、コネクタ通信部115(通信部及び第1の通信部の一例)と、コネクタ応答記憶部116と、ネットワーク異常判定部117と、ネットワーク異常対処部118とを備えている。
【0091】
バス通信部111は、コネクタ130からバス100に送信されたフレームを受信し、受信したフレームをフレーム中継部112に送信する。また、バス通信部111は、フレーム中継部112から送信されたフレームを受信し、受信したフレームをバス100に送信する。
【0092】
フレーム中継部112は、バス通信部111から送信されたフレームを受信し、受信したフレームを異常フレーム検出部113に送信する。また、フレーム中継部112は、バス通信部111から異常応答フレーム及び状態応答フレームを受信した場合には、受信した異常応答フレーム及び状態応答フレームをコネクタ通信部115に送信する。
【0093】
また、フレーム中継部112は、コネクタ通信部115から送信されたフレーム(異常要求フレーム及び状態要求フレーム)を受信し、受信したフレームをバス通信部111に送信する。また、フレーム中継部112は、ネットワーク異常対処部118から送信されたフレームを受信し、受信したフレームをバス通信部111に送信する。
【0094】
異常フレーム検出部113は、フレーム中継部112から送信されたフレーム(すなわち、ECU120からコネクタ130を介してバス100に送信されたフレーム)を受信し、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。異常フレーム検出部113は、異常フレームを検出した場合には、当該異常フレームのハッシュ値を異常フレーム記憶部114に記憶する。また、異常フレーム検出部113は、異常フレームのハッシュ値毎(すなわち、データフレームの種別毎)に異常フレームの検出回数を異常発生回数としてカウントし、カウントした異常発生回数を異常フレーム記憶部114に記憶する。また、異常フレーム検出部113は、異常フレームのハッシュ値をコネクタ通信部115に送信するとともに、異常フレームを検出した旨をネットワーク異常判定部117に通知する。なお、異常発生回数については後述する。
【0095】
異常フレーム記憶部114は、異常フレーム検出部113により検出された異常フレームのハッシュ値、及び、異常フレーム検出部113によりカウントされた異常発生回数等を記憶する。
【0096】
コネクタ通信部115は、異常フレーム検出部113から送信された異常フレームのハッシュ値を受信する。コネクタ通信部115は、受信した異常フレームのハッシュ値に基づいて、異常フレームのハッシュ値及び異常コネクタ要求IDを含む異常要求フレームを生成し、生成した異常要求フレームをフレーム中継部112に送信する。
【0097】
また、コネクタ通信部115は、フレーム中継部112から送信された異常応答フレームを受信した場合には、受信した異常応答フレームに含まれる、コネクタ130毎に予め定められた異常コネクタ応答IDを確認する。コネクタ通信部115は、異常コネクタ応答IDの種類数を、異常要求フレームに対して応答したコネクタ130の数(以下、「異常コネクタ数」という)(異常通信装置数の一例)として算出し、算出した異常コネクタ数をコネクタ応答記憶部116に記憶する。また、コネクタ通信部115は、異常フレームのハッシュ値毎に異常応答フレームの受信回数を異常応答回数としてカウントし、カウントした異常応答回数をコネクタ応答記憶部116に記憶する。
【0098】
また、コネクタ通信部115は、全コネクタ要求IDを含む状態要求フレームを生成し、生成した状態要求フレームをフレーム中継部112に送信する。なお、コネクタ通信部115は、IDSECU110の起動時又はIDSECU110の起動後において所定の時間(例えば30分)が経過する毎に、状態要求フレームを生成し、生成した状態要求フレームをフレーム中継部112に送信する。
【0099】
さらに、コネクタ通信部115は、フレーム中継部112から送信された状態応答フレームを受信した場合には、受信した状態応答フレームに含まれる、コネクタ130毎に予め定められた全コネクタ応答IDを確認する。コネクタ通信部115は、全コネクタ応答IDの種類数(すなわち、受信された状態応答フレームの数)を、状態要求フレームに対して応答したコネクタ130の数(以下、「全コネクタ数」という)(全通信装置数の一例)として算出し、算出した全コネクタ数をコネクタ応答記憶部116に記憶する。また、コネクタ通信部115は、状態応答フレームを受信した時刻をコネクタ応答記憶部116に記憶する。
【0100】
コネクタ応答記憶部116は、コネクタ通信部115により算出された異常コネクタ数及び全コネクタ数、コネクタ通信部115によりカウントされた異常応答回数、並びに、コネクタ通信部115による状態応答フレームの受信時刻等を記憶する。
【0101】
ネットワーク異常判定部117は、異常フレーム検出部113からの通知を受信してから一定時間が経過した後に、以下のようにして車載ネットワークシステム10における異常状態を判定する。
【0102】
ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶された異常コネクタ数が「0個」である場合には、車載ネットワークシステム10における異常状態を、「コネクタのない異常ECUがバスに接続されている」という第1の異常状態として判定する。なお、ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶された異常コネクタ数が「0個」でない(すなわち、1個以上である)場合には、車載ネットワークシステム10が第2の異常状態であると判定する。
【0103】
また、ネットワーク異常判定部117は、車載ネットワークシステム10が第2の異常状態であると判定した場合に、コネクタ応答記憶部116に記憶された現在の全コネクタ数(すなわち、受信された状態応答フレームの数)と、過去の全コネクタ数(すなわち、コネクタ応答記憶部116に予め記憶された正常なコネクタ130の数)とを比較する。ネットワーク異常判定部117は、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には、車載ネットワークシステム10における異常状態を、「コネクタのある異常ECUがバスに接続されている」という第3の異常状態として判定する。一方、ネットワーク異常判定部117は、現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には、車載ネットワークシステム10における異常状態を、「通信できないECUが存在する」という第4の異常状態として判定する。また、ネットワーク異常判定部117は、現在の全コネクタ数が過去の全コネクタ数と等しい場合には、車載ネットワークシステム10が第5の異常状態であると判定する。
【0104】
また、ネットワーク異常判定部117は、車載ネットワークシステム10が第5の異常状態であると判定した場合に、コネクタ応答記憶部116に記憶された異常応答回数と、異常フレーム記憶部114に記憶された異常発生回数とを比較する。ネットワーク異常判定部117は、異常応答回数が異常発生回数未満である場合には、車載ネットワークシステム10の異常状態として、「コネクタのない異常ECUがバスに接続されている」という第1の異常状態として判定する。一方、ネットワーク異常判定部117は、異常応答回数が異常発生回数と等しい(異常発生回数以上である)場合には、車載ネットワークシステム10における異常状態を、「コネクタのある正規のECUが乗っ取られている」という第6の異常状態として判定する。
【0105】
さらに、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を判定した場合には、判定した異常状態を示す情報をネットワーク異常対処部118に送信する。
【0106】
ネットワーク異常対処部118は、ネットワーク異常判定部117から送信された異常状態を示す情報を受信した際に、異常状態毎に予め定められた対処を実行する。
【0107】
車載ネットワークシステム10における異常状態が、「コネクタのない異常ECUがバスに接続されている」という第1の異常状態である場合には、異常なECU120との間の通信の遮断が困難である。そのため、この場合には、ネットワーク異常対処部118は、IVIECU120eに対して、ドライバに車両40の安全停止を促すメッセージをインストルメントパネル等に表示するように要求するための表示要求フレームをフレーム中継部112に送信する。
【0108】
また、車載ネットワークシステム10における異常状態が、「コネクタのある正規のECUが乗っ取られている」という第6の異常状態である場合には、不正に乗っ取られた正規のECU120の正常動作を取り戻す必要がある。そのため、この場合には、ネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に接続された正規のECU120に対してソフトウェアの初期化を要求するための初期化要求フレームをフレーム中継部112に送信する。
【0109】
また、車載ネットワークシステム10における異常状態が、「通信できないECUが存在する」という第4の異常状態である場合には、ECU120の故障と同等であると判断することができる。そのため、この場合には、ネットワーク異常対処部118は、車両40に対して停止を要求するための車両停止要求フレーム(移動体停止要求フレームの一例)をフレーム中継部112に送信する。
【0110】
また、車載ネットワークシステム10における異常状態が、「コネクタのある異常ECUがバスに接続されている」という第3の異常状態である場合には、バス100に不正に接続された異常なECU120が通信不能となったとしても車両40の制御には影響がない。そのため、この場合には、ネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に対して、異常なECU120との通信の停止を要求するための通信停止要求フレームをフレーム中継部112に送信する。
【0111】
[7.送信フレーム記憶部に記憶される送信フレーム情報の一例]
次に、図8を参照しながら、コネクタ130の送信フレーム記憶部134に記憶される送信フレーム情報の一例について説明する。図8は、実施の形態に係るコネクタ130の送信フレーム記憶部134に記憶される送信フレーム情報の一例を示す図である。
【0112】
図8に示すように、コネクタ130の送信フレーム記憶部134には、送信フレーム情報として、コネクタ130と接続されたECU120が送信した送信フレームのIDと、送信フレームのハッシュ値と、送信フレームの送信回数とが対応付けられて記憶される。
【0113】
図8に示す例では、ID「110」の送信フレームについては、送信フレームのハッシュ値が「B8 C9 32 14 AD 23 33 AB」であり、送信フレームの送信回数が「2回」であることを示している。また、ID「120」の送信フレームについては、送信フレームのハッシュ値が「C1 99 56 11 D3 23 43 B3」であり、送信フレームの送信回数が「1回」であることを示している。
【0114】
コネクタ130に1対1で接続されたECU120が送信フレームを送信する毎に、当該送信フレームに関する送信フレーム情報がコネクタ130の送信フレーム記憶部134に記憶される。コネクタ130は、IDSECU110から送信された異常応答フレームを受信した際に、異常フレームのハッシュ値と送信フレームのハッシュ値とを比較し、両者が一致する場合に、当該コネクタ130に1対1で接続されたECU120が異常フレームの送信元であると判断する。これにより、コネクタ130は、自身が異常フレームの送信元であることを示す異常応答フレームをIDSECU110に送信する。
【0115】
[8.異常フレーム記憶部に記憶される異常発生回数]
次に、図9を参照しながら、IDSECU110の異常フレーム記憶部114に記憶される異常発生回数の一例について説明する。図9は、実施の形態に係るIDSECU110の異常フレーム記憶部114に記憶される異常発生回数の一例を示す図である。
【0116】
図9に示すように、IDSECU110の異常フレーム記憶部114には、異常フレームのIDと、異常フレームのハッシュ値と、異常発生回数とが対応付けられて記憶されている。
【0117】
図9に示す例では、ID「100」の異常フレームについて、異常フレームのハッシュ値が「A9 B1 43 91 6A CA 92 AA」であり、異常発生回数が「1回」であることを示している。これは、ハッシュ値が「A9 B1 43 91 6A CA 92 AA」である異常フレームが「1回」検出されたことを意味している。
【0118】
また、ID「110」の異常フレームについて、異常フレームのハッシュ値が「B8 C9 32 14 AD 23 33 AB」であり、異常発生回数が「3回」であることを示している。これは、ハッシュ値が「B8 C9 32 14 AD 23 33 AB」である異常フレームが「3回」検出されたことを意味している。
【0119】
IDSECU110は、上述した異常発生回数に基づいて、車載ネットワークシステム10における異常状態を判定する。具体的には、IDSECU110は、異常フレームの検出回数である異常発生回数と、異常応答フレームの受信回数である異常応答回数とを比較し、異常応答回数が異常発生回数未満である場合に、車載ネットワークシステム10が「コネクタのない異常ECUがバスに接続されている」という第1の異常状態であると判定する。一方、IDSECU110は、異常応答回数が異常発生回数以上である場合に、車載ネットワークシステム10が「コネクタのある正規のECUが乗っ取られている」という第6の異常状態であると判定する。
【0120】
[9.コネクタ応答記憶部に記憶される異常コネクタ数及び異常応答回数の一例]
次に、図10を参照しながら、IDSECU110のコネクタ応答記憶部116に記憶される異常コネクタ数及び異常応答回数の一例について説明する。図10は、実施の形態に係るIDSECU110のコネクタ応答記憶部116に記憶される異常コネクタ数及び異常応答回数の一例を示す図である。
【0121】
図10に示すように、IDSECU110のコネクタ応答記憶部116には、異常フレームのIDと、異常フレームのハッシュ値と、異常コネクタ数と、異常応答回数とが対応付けられて記憶されている。
【0122】
図10に示す例では、ID「100」の異常フレームについて、異常フレームのハッシュ値が「A9 B1 43 91 6A CA 92 AA」であり、異常コネクタ数が「1個」であり、異常応答回数が「1回」であることを示している。これは、ハッシュ値が「A9 B1 43 91 6A CA 92 AA」である異常フレームについて、異常要求フレームに対して応答したコネクタ130の数が「1個」であり、「1個」のコネクタ130から送信された異常応答フレームの受信回数が「1回」であることを意味している。
【0123】
また、ID「110」の異常フレームについて、異常フレームのハッシュ値が「B8 C9 32 14 AD 23 33 AB」であり、異常コネクタ数が「2個」であり、異常応答回数が「3個」であることを示している。これは、ハッシュ値が「B8 C9 32 14 AD 23 33 AB」である異常フレームについて、異常要求フレームに対して応答したコネクタ130の数が「2個」であり、「2個」のコネクタ130から送信された異常応答フレームの受信回数が合計「3回」であることを意味している。
【0124】
IDSECU110は、上述した異常コネクタ数に基づいて、車載ネットワークシステム10における異常状態を判定する。具体的には、IDSECU110は、異常コネクタ数が「0個」である場合に、車載ネットワークシステム10が「コネクタのない異常ECUがバスに接続されている」という第1の異常状態であると判定する。
【0125】
[10.コネクタ応答記憶部に記憶される全コネクタ数の一例]
次に、図11を参照しながら、IDSECU110のコネクタ応答記憶部116に記憶される全コネクタ数の一例について説明する。図11は、実施の形態に係るIDSECU11のコネクタ応答記憶部116に記憶される全コネクタ数の一例を示す図である。
【0126】
図11に示すように、IDSECU110のコネクタ応答記憶部116には、状態応答フレームの受信時刻と、全コネクタ数とが対応付けられて記憶されている。
【0127】
図11に示す例では、時刻T1時点での全コネクタ数が「41個」であり、時刻T1よりも後の時刻T2時点での全コネクタ数が「40個」であることを示している。
【0128】
IDSECU110は、上述した全コネクタ数に基づいて、車載ネットワークシステム10における異常状態を判定する。具体的には、IDSECU110は、現在の全コネクタ数と過去の全コネクタ数とを比較し、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には、車載ネットワークシステム10が「コネクタのある異常ECUがバスに接続されている」という第3の異常状態であると判定する。一方、IDSECU110は、現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には、車載ネットワークシステム10が「通信できないECUが存在する」という第4の異常状態であると判定する。さらに、IDSECU110は、現在の全コネクタ数が過去の全コネクタ数と等しく、且つ、異常応答回数が異常発生回数以上である場合には、「コネクタのある正規のECUが乗っ取られている」という第6の異常状態であると判定する。
【0129】
[11.車載ネットワークシステムの処理]
次に、図12図14を参照しながら、車載ネットワークシステム10において、ECU120がフレームを送信してから、i)IDSECU110が異常フレームを検出し、ii)IDSECU110が車載ネットワークシステム10における異常状態を判定し、iii)判定した異常状態に対して対処するまでの各処理について説明する。
【0130】
[11-1.異常フレームの検出処理]
図12を参照しながら、車載ネットワークシステム10における異常フレームの検出処理について説明する。図12は、実施の形態に係る車載ネットワークシステム10における異常フレームの検出処理を示すシーケンス図である。
【0131】
まず、ECU120が正規のフレームを送信する場合の処理について説明する。
【0132】
図12に示すように、ECU120は、正規のフレームを生成し、生成した正規のフレームを、当該ECU120に接続されたコネクタ130に送信する(S1201)。なお、フレームは、図4に示すフレームのフォーマットに従う。
【0133】
コネクタ130は、ECU120から送信されたフレームを受信し、受信したフレームのハッシュ値を算出することにより、受信したフレームに関する送信フレーム情報(図8参照)を送信フレーム記憶部134に記憶する(S1202)。なお、送信フレーム記憶部134に同一のハッシュ値が既に記憶されている場合には、当該ハッシュ値に対応する送信回数が「1」だけインクリメントされる。コネクタ130は、ECU120から受信したフレームをバス100に送信する(S1203)。
【0134】
バス100は、コネクタ130から送信されたフレームを受信し、受信したフレームをバス100に接続されている全てのECU120(IDSECU110を含む)に中継する(S1204)。
【0135】
IDSECU110は、バス100により中継されたフレームを受信する(S1205)。IDSECU110は、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。この場合、受信したフレームは、正規のフレームであるため、上述した異常検出ルールに当てはまらない。そのため、この場合には、IDSECU110は、異常フレームを検出しない(S1206)。
【0136】
なお、異常検出ルールは、例えば、直前に受信したフレームに含まれる車両40の速度と、現在受信したフレームに含まれる車両40の速度との差が、通常範囲(+10km/h~-10km/h)を逸脱した場合に、現在受信したフレームが異常フレームであると検出するルールである。例えば、上記の両速度の差が-60km/hである場合には、現在受信したフレームが異常フレームであると検出される。
【0137】
あるいは、異常検出ルールは、例えば、直前に受信したフレームの受信時刻と、現在受信したフレームの受信時刻との差が、通常範囲(10ミリ秒)を逸脱した場合に、現在受信したフレームが異常フレームであると検出するルールであってもよい。例えば、上記の両受信時刻の差が2ミリ秒である場合には、現在受信したフレームが異常フレームであると検出される。
【0138】
次に、例えば悪意のある攻撃者により不正に乗っ取られたECU120が、正規のフレームとは異なる異常フレームを送信する場合の処理について説明する。
【0139】
図12に示すように、ECU120は、例えば車両40を不正に制御するための異常フレームをコネクタ130に送信する(S1207)。ECU120が異常フレームを送信することにより、車両40は、安全ではない異常動作を引き起こす可能性がある。例えば、車両40の速度を100km/hまで加速させたい場合において、ECU120(例えばエンジンECU120b)が、車両40の現在速度を実際の速度80km/hよりも低速の20km/hとして示す異常フレームを送信することにより、目標の速度に到達するために本来必要な加速度よりも大きな加速度を車両40のエンジン等に要求することになる。
【0140】
その後、上述したステップS1202~S1205の各処理と同様に、ステップS1208~ステップS1211の各処理が実行される。ステップS1211の後に、IDSECU110は、予め定められた異常検出ルールに基づいて、受信したフレームが異常フレームであるか否かを検出する。この場合、受信したフレームは、異常フレームであるため、異常検出ルールに当てはまる。そのため、この場合には、IDSECU110は、受信したフレームが異常フレームであると判定し、異常フレームを検出する(S1212)。
【0141】
その後、IDSECU110の異常フレーム検出部113は、異常フレームのハッシュ値を異常フレーム記憶部114に記憶させる。この時、異常フレーム記憶部114に同一のハッシュ値が既に記憶されている場合には、当該ハッシュ値に対応する異常発生回数が「1」だけインクリメントされる。
【0142】
[11-2.異常状態の判定処理]
次に、図13を参照しながら、車載ネットワークシステム10における異常状態の判定処理について説明する。図13は、実施の形態に係る車載ネットワークシステム10における異常状態の判定処理を示すシーケンス図である。
【0143】
図13に示すように、上述したステップS1212の後に、IDSECU110のコネクタ通信部115は、異常コネクタ要求IDを含む異常要求フレームを生成し、生成した異常要求フレームをバス100に送信する(S1213)。なお、異常要求フレームのデータ領域には、異常フレームのハッシュ値が格納されている。
【0144】
バス100は、IDSECU110から送信された異常要求フレームを受信し、受信した異常要求フレームをバス100に接続されている全てのコネクタ130に中継する(S1214)。
【0145】
コネクタ130のIDS応答部135は、バス100により中継された異常要求フレームを受信し、受信した異常要求フレームに異常コネクタ要求IDが含まれているか否かを確認する(S1215)。コネクタ130のIDS応答部135は、受信した異常要求フレームに異常コネクタ要求IDが含まれている場合には、送信フレーム記憶部134に記憶されている送信フレームのハッシュ値と、異常応答フレームに格納されている異常フレームのハッシュ値とを比較する(S1216)。
【0146】
コネクタ130のIDS応答部135は、ステップS1216における比較において、送信フレームのハッシュ値と異常フレームのハッシュ値とが一致する場合には、コネクタ130毎に予め定められた異常コネクタ応答IDを含む異常応答フレームを生成し、生成した異常応答フレームをバス100に送信する(S1217)。
【0147】
バス100は、コネクタ130から送信された異常応答フレームを受信し、受信した異常応答フレームをバス100に接続されているIDSECU110に中継する(S1218)。
【0148】
IDSECU110のコネクタ通信部115は、バス100により中継された異常応答フレームを受信し、受信した異常応答フレームに含まれる異常コネクタ応答IDを確認する。異常コネクタ応答IDはコネクタ130毎に予め定められた値であるため、IDSECU110のコネクタ通信部115は、異常コネクタ応答IDの種類数を異常コネクタ数として算出し、異常フレームのハッシュ値毎に異常コネクタ数をコネクタ応答記憶部116に記憶する(S1219)。さらに、IDSECU110のコネクタ通信部115は、異常応答フレームの受信回数を異常応答回数として算出し、異常フレームのハッシュ値毎に異常応答回数をコネクタ応答記憶部116に記憶する(S1219)。この時、コネクタ応答記憶部116に同一のハッシュ値が既に記録されている場合には、当該ハッシュ値に対する異常応答回数が「1」だけインクリメントされる。なお、コネクタ応答記憶部116に記憶される異常コネクタ数及び異常応答回数の情報は、図10に示す通りである。
【0149】
IDSECU110のコネクタ通信部115は、全コネクタ要求IDを含む状態要求フレームを生成し、生成した状態要求フレームをバス100に送信する(S1220)。
【0150】
バス100は、IDSECU110から送信された状態要求フレームを受信し、受信した状態要求フレームをバス100に接続されている全てのコネクタ130に中継する(S1221)。
【0151】
コネクタ130のIDS応答部135は、バス100により中継された状態要求フレームを受信し、受信した状態要求フレームに全コネクタ要求IDが含まれているか否かを確認する(S1222)。コネクタ130は、受信した状態要求フレームに全コネクタ要求IDが含まれている場合には、コネクタ130毎に予め定められた全コネクタ応答IDを含む状態応答フレームを生成し、生成した状態応答フレームをバス100に送信する(S1223)。
【0152】
バス100は、コネクタ130から送信された状態応答フレームを受信し、受信した状態応答フレームをバス100に接続されているIDSECU110に中継する(S1224)。
【0153】
IDSECU110のコネクタ通信部115は、バス100により中継された状態応答フレームを受信し、受信した状態応答フレームに含まれる全コネクタ応答IDを確認する。全コネクタ応答IDはコネクタ130毎に予め定められた値であるため、IDSECU110のコネクタ通信部115は、全コネクタ応答IDの種類数を全コネクタ数として算出し、全コネクタ数を受信時刻とともにコネクタ応答記憶部116に記憶する(S1225)。なお、コネクタ応答記憶部116に記憶される全コネクタ数及び受信時刻の情報は、図11に示す通りである。
【0154】
IDSECU110のネットワーク異常判定部117は、異常フレーム記憶部114及びコネクタ応答記憶部116に記憶されている情報に基づいて、車載ネットワークシステム10における異常状態を判定する(S1226)。IDSECU110による異常状態の判定処理については後述する。
【0155】
[11-3.異常状態に対する対処処理]
次に、図14を参照しながら、車載ネットワークシステム10における異常状態に対する対処処理について説明する。図14は、実施の形態に係る車載ネットワークシステム10における異常状態に対する対処処理を示すシーケンス図である。
【0156】
図14に示すように、上述したステップS1226の後に、IDSECU110のネットワーク異常対処部118は、ネットワーク異常判定部117による異常状態の判定結果に応じて、異常状態に対する対処処理を実行する。
【0157】
なお、図14では、説明の都合上、異常状態に対する対処処理として、ステップS1227~S1230の処理、ステップS1231~S1234の処理、ステップS1235~S1238の処理及びステップS1239~S1241の処理がこの順に実行されるように図示しているが、実際には、ネットワーク異常対処部118は、上記各処理のうちいずれかの処理を選択して実行する。
【0158】
車載ネットワークシステム10における異常状態が第1の異常状態であると判定された場合には、IDSECU110のネットワーク異常対処部118は、IVIECU120eに対して、ドライバに車両40の安全停止を促すメッセージをインストルメントパネル等に表示するように要求するための表示要求IDを含む表示要求フレームを、バス100に送信する(S1227)。
【0159】
バス100は、IDSECU110から送信された表示要求フレームを受信し、受信した表示要求フレームをバス100に接続されているコネクタ130に中継する(S1228)。
【0160】
コネクタ130は、バス100により中継された表示要求フレームを受信し、受信した表示要求フレームをECU120(IVIECU120e)に転送する(S1229)。
【0161】
IVIECU120eは、転送された表示要求フレームに含まれる表示要求IDに基づいて、ドライバに車両40の安全停止を促すメッセージをインストルメントパネル等に表示させる(S1230)。
【0162】
車載ネットワークシステム10における異常状態が第6の異常状態であると判定された場合には、IDSECU110のネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に接続された正規のECU120に対してソフトウェアの初期化を要求するための初期化要求IDを含む初期化要求フレームをバス100に送信する(S1231)。
【0163】
バス100は、IDSECU110から送信された初期化要求フレームを受信し、受信した初期化要求フレームをバス100に接続されているコネクタ130に中継する(S1232)。
【0164】
コネクタ130は、バス100により中継された初期化要求フレームを受信し、受信した初期化要求フレームをECU120に転送する(S1233)。
【0165】
ECU120は、転送された初期化要求フレームに含まれる初期化要求IDに基づいて、ECU120のソフトウェアを初期化する(S1234)。
【0166】
車載ネットワークシステム10における異常状態が第4の異常状態であると判定された場合には、IDSECU110のネットワーク異常対処部118は、車両40に対して停止を要求するための車両停止要求IDを含む車両停止要求フレームをバス100に送信する(S1235)。
【0167】
バス100は、IDSECU110から送信された車両停止要求フレームを受信し、受信した車両停止要求フレームをバス100に接続されているコネクタ130に中継する(S1236)。
【0168】
コネクタ130は、バス100により中継された車両停止要求フレームを受信し、受信した車両停止要求フレームをECU120(ブレーキECU120c)に転送する(S1237)。
【0169】
ブレーキECU120cは、転送された車両停止要求フレームに含まれる車両停止要求IDに基づいて、車両40を停止させるように車両40のブレーキを制御する(S1238)。
【0170】
車載ネットワークシステム10における異常状態が第3の異常状態であると判定された場合には、IDSECU110のネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に対して、異常なECU120との通信の停止を要求するための通信停止要求IDを含む通信停止要求フレームを、バス100に送信する(S1239)。
【0171】
バス100は、IDSECU110から送信された通信停止要求フレームを受信し、受信した通信停止要求フレームをバス100に接続されているコネクタ130に中継する(S1240)。
【0172】
コネクタ130は、バス100により中継された通信停止要求フレームを受信し、受信した通信停止要求フレームに含まれる通信停止要求IDに基づいて、当該コネクタ130に接続されたECU120との通信を停止する(S1241)。
【0173】
上述したステップS1227~S1230の処理、ステップS1231~S1234の処理、ステップS1235~S1238の処理及びステップS1239~S1241の処理のいずれかが実行された後に、IDSECU110のネットワーク異常対処部118は、IVIECU120eに対して異常状態の車両解析サーバ20への通知を要求するためのサーバ通知要求IDを含むサーバ通知要求フレームを、バス100に送信する(S1242)。
【0174】
バス100は、IDSECU110から送信されたサーバ通知要求フレームを受信し、受信したサーバ通知要求フレームをバス100に接続されているコネクタ130に中継する(S1243)。
【0175】
コネクタ130は、バス100により中継されたサーバ通知要求フレームを受信し、受信したサーバ通知要求フレームをECU120(IVIECU120e)に転送する(S1244)。
【0176】
IVIECU120eは、転送されたサーバ通知要求フレームに含まれるサーバ通知要求IDに基づいて、車載ネットワークシステム10における異常状態を車両解析サーバ20へ通知する(S1245)。
【0177】
[12.コネクタの処理]
次に、図15を参照しながら、コネクタ130の処理について説明する。図15は、実施の形態に係るコネクタ130の処理を示すフローチャートである。
【0178】
図15に示すように、コネクタ130のバス通信部131は、バス100から送信されたフレームを受信し、バス通信部132は、ECU120から送信されたフレームを受信する(S1501)。
【0179】
コネクタ130のフレーム中継部133は、受信したフレームがECU120から送信されたフレームであるか否かを確認する(S1502)。
【0180】
受信したフレームがECU120から送信されたフレームである場合には(S1502でYes)、フレーム中継部133は、送信フレームに関する送信フレーム情報を送信フレーム記憶部134に記憶させる(S1503)。その後、フレーム中継部133は、バス通信部131から受信したフレームをバス通信部132に送信する。これにより、バス通信部132は、フレーム中継部133から受信したフレームをバス100に送信する(S1504)。
【0181】
ステップS1502に戻り、受信したフレームがECU120から送信されたフレームでない場合には(S1502でNo)、フレーム中継部133は、受信したフレームに含まれるIDが異常コネクタ要求IDであるか否かを確認する(S1505)。
【0182】
受信したフレームに含まれるIDが異常コネクタ要求IDである場合には(S1505でYes)、IDS応答部135は、受信したフレーム(異常要求フレーム)のデータ領域を確認して異常フレームのハッシュ値を読み取り、異常フレームのハッシュ値と、送信フレーム記憶部134に記憶されている送信フレームのハッシュ値とが一致するか否かを判定する(S1506)。
【0183】
異常フレームのハッシュ値と送信フレームのハッシュ値とが一致する場合には(S1506でYes)、IDS応答部135は、コネクタ130毎に予め定められた異常コネクタ応答IDを含む異常応答フレームを生成する。フレーム中継部133は、生成された異常応答フレームを、バス通信部131を介してバス100に送信する(S1507)。
【0184】
ステップS1506に戻り、異常フレームのハッシュ値と送信フレームのハッシュ値とが一致しない場合には(S1506でNo)、処理を終了する。
【0185】
ステップS1505に戻り、受信したフレームに含まれるIDが異常コネクタ要求IDでない場合には(S1505でNo)、フレーム中継部133は、受信したフレームに含まれるIDが全コネクタ要求IDであるか否かを確認する(S1508)。
【0186】
受信したフレームに含まれるIDが全コネクタ要求IDである場合には(S1508でYes)、IDS応答部135は、コネクタ130毎に予め定められた全コネクタ応答IDを含む状態応答フレームを生成する。フレーム中継部133は、生成された状態応答フレームを、バス通信部131を介してバス100に送信する(S1509)。
【0187】
ステップS1508に戻り、受信したフレームに含まれるIDが全コネクタ要求IDでない場合には(S1508でNo)、フレーム中継部133は、受信したフレームを、バス通信部132を介してECU120に転送する(S1510)。
【0188】
[13.IDSECUの処理]
[13-1.異常状態の判定処理]
次に、図16を参照しながら、IDSECU110による異常状態の判定処理について説明する。図16は、実施の形態に係るIDSECU110による異常状態の判定処理を示すフローチャートである。
【0189】
図16に示すように、まず、IDSECU110の異常フレーム検出部113は、異常フレームを検出する(S1601)。これにより、異常フレーム検出部113は、検出した異常フレームのハッシュ値及び異常発生回数を異常フレーム記憶部114に記憶させる。
【0190】
IDSECU110のコネクタ通信部115は、異常コネクタ要求IDを含む異常要求フレームを生成し、生成した異常要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する(S1602)。なお、異常要求フレームのデータ領域には、異常フレームのハッシュ値が格納されている。コネクタ通信部115は、異常コネクタ応答IDを含む異常応答フレームを受信した際に、異常コネクタ数及び異常応答回数をコネクタ応答記憶部116に記憶させる。
【0191】
IDSECU110のネットワーク異常判定部117は、コネクタ応答記憶部116に記憶されている異常コネクタ数が「0個」であるか否かを確認する(S1603)。
【0192】
異常コネクタ数が「0個」である場合には(S1603でYes)、ネットワーク異常判定部117は、車載ネットワークシステム10の異常状態を、「コネクタのない異常ECUがバスに接続されている」という第1の異常状態であると判定する(S1604)。
【0193】
ステップS1603に戻り、異常コネクタ数が「0個」でない場合には(S1603でNo)、ネットワーク異常判定部117は、車載ネットワークシステム10が第2の異常状態であると判定する。この場合、コネクタ通信部115は、全コネクタ要求IDを含む状態要求フレームを生成し、生成した状態要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する(S1605)。コネクタ通信部115は、全コネクタ応答IDを含む状態応答フレームを受信した際に、全コネクタ数及び受信時刻をコネクタ応答記憶部116に記憶させる。
【0194】
ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶されている現在の全コネクタ数と、過去の全コネクタ数(N個)とが一致するか否かを確認する(S1606)。
【0195】
現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には(S1606で「N-1個以下」)、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を、「通信できないECUが存在する」という第4の異常状態であると判定する(S1607)。
【0196】
S1606に戻り、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には(S1606で「N+1個以上」)、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を、「コネクタのある異常ECUがバスに接続されている」という第3の異常状態であると判定する(S1608)。
【0197】
S1606に戻り、現在の全コネクタ数が過去の全こねたく数と等しい場合には(S1606で「N個」)、ネットワーク異常判定部117は、車載ネットワークシステム10が第5の異常状態であると判定する。この場合、ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶されている異常応答回数と、異常フレーム記憶部114に記憶されている異常発生回数とを比較する(S1609)。
【0198】
異常応答回数が異常発生回数未満である場合には(S1609でYes)、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を、上述した第1の異常状態であると判定する(S1604)。一方、異常応答回数が異常発生回数以上である場合には(S1609でNo)、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を、「コネクタのある正規のECUが乗っ取られている」という第6の異常状態であると判定する(S1610)。
【0199】
[13-2.異常状態の判定処理の変形例]
ここで、図17を参照しながら、IDSECU110による異常状態の判定処理の変形例について説明する。図17は、実施の形態に係るIDSECU110による異常状態の判定処理の変形例を示すフローチャートである。なお、図17のフローチャートでは、図16のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【0200】
図17に示すように、まず、上述と同様に、ステップS1601~S1604の各処理が実行される。ステップS1603において、異常コネクタ数が「0個」でない場合には(S1603でNo)、ネットワーク異常判定部117は、車載ネットワークシステム10が第2の異常状態であると判定する。この場合、ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶されている異常応答回数と、異常フレーム記憶部114に記憶されている異常発生回数とを比較する(S1701)。
【0201】
異常応答回数が異常発生回数未満である場合には(S1701でYes)、上述したステップS1604に進む。一方、異常応答回数が異常発生回数以上である場合には(S1701でNo)、ネットワーク異常判定部117は、車載ネットワークシステム10が第7の異常状態であると判定する。この場合、コネクタ通信部115は、全コネクタ要求IDを含む状態要求フレームを生成し、生成した状態要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する(S1702)。コネクタ通信部115は、全コネクタ応答IDを含む状態応答フレームを受信した際に、全コネクタ数及び受信時刻をコネクタ応答記憶部116に記憶させる。
【0202】
ネットワーク異常判定部117は、コネクタ応答記憶部116に記憶されている現在の全コネクタ数と過去の全コネクタ数(N個)とが一致するか否かを確認する(S1703)。現在の全コネクタ数が過去の全コネクタ数よりも少ない場合には(S1703で「N-1個以下」)、上述したステップS1607に進む。また、現在の全コネクタ数が過去の全コネクタ数よりも多い場合には(S1703で「N+1個以上」)、上述したステップS1608に進む。また、現在の全コネクタ数が過去の全コネクタ数と等しい場合には(S1703で「N個」)、上述したステップS1610に進む。
【0203】
[13-3.異常状態に対する対処処理]
次に、図18を参照しながら、IDSECU110による異常状態に対する対処処理について説明する。図18は、実施の形態に係るIDSECU110による異常状態に対する対処処理を示すフローチャートである。
【0204】
図18に示すように、IDSECU110のネットワーク異常対処部118は、ネットワーク異常判定部117により判定された異常状態の種類を確認する(S1801)。
【0205】
ネットワーク異常判定部117により判定された異常状態が第3の異常状態である場合には(S1801で「コネクタのない異常ECUがバスに接続されている」)、ネットワーク異常対処部118は、表示要求フレームを生成し、生成した表示要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する。これにより、ネットワーク異常対処部118は、IVIECU120eに対して、ドライバに車両40の安全停止を促すメッセージをインストルメントパネル等に表示するように要求する(S1802)。
【0206】
ステップS1801に戻り、ネットワーク異常判定部117により判定された異常状態が第6の異常状態である場合には(S1801で「コネクタのある正規のECUが乗っ取られている」)、ネットワーク異常対処部118は、初期化要求フレームを生成し、生成した初期化要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する。これにより、ネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に接続された正規のECU120に対してソフトウェアの初期化を要求する(S1803)。
【0207】
ステップS1801に戻り、ネットワーク異常判定部117により判定された異常状態が第4の異常状態である場合には(S1801で「通信できないECUが存在する」)、ネットワーク異常対処部118は、停止要求フレームを生成し、生成した停止要求フレームを、フレーム中継部112及びバス通信部111を介してバス100に送信する。これにより、ネットワーク異常対処部118は、車両40に対して停止を要求する(S1804)。
【0208】
ステップS1801に戻り、ネットワーク異常判定部117により判定された異常状態が第3の異常状態である場合には(S1801で「コネクタのある異常ECUがバスに接続されている」)、ネットワーク異常対処部118は、通信停止フレームを生成し、生成した通信停止フレームを、フレーム中継部112及びバス通信部111を介してコネクタ130(異常応答フレームを送信したコネクタ130)に送信する。これにより、ネットワーク異常対処部118は、異常応答フレームを送信したコネクタ130に対して、当該コネクタ130に1対1で接続された異常なECU120との通信の停止を要求する(S1805)。
【0209】
上述したステップS1802、S1803、S1804及びS1805の後に、ネットワーク異常対処部118は、ネットワーク異常判定部117により判定された異常状態を車両解析サーバ20に通知する(S1806)。
【0210】
[14.効果]
ネットワーク異常判定部117により、車載ネットワークシステム10における異常状態を適切に判定することができる。例えば、ネットワーク異常判定部117により算出された異常コネクタ数が「0個」である場合には、異常フレーム検出部113により異常フレームが検出されたにも拘らず、コネクタ130は異常フレームをバス100に送信したことを記憶していないことになる。
【0211】
したがって、この場合には、ネットワーク異常判定部117は、車載ネットワークシステム10における異常状態を、「コネクタ130のない異常なECU120がバス100に接続されている」という第1の異常状態として判定することができる。また、ネットワーク異常判定部117により算出された異常コネクタ数が「0個」でない場合には、車載ネットワークシステム10の異常状態を第2の異常状態として判定することができる。
【0212】
これにより、ネットワーク異常対処部118は、車載ネットワークシステム10における異常状態に対して適切に対処することができる。
【0213】
(他の変形例)
以上、一つ又は複数の態様に係る異常検出装置、異常検出システム及び制御方法について、上記実施の形態に基づいて説明したが、本開示は、上記実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
【0214】
(1)上記実施の形態では、自動車等の車両40に搭載される車載ネットワークにおけるセキュリティ対策として説明したが、適用範囲はこれに限定されない。例えば、自動車等の車両40以外に、移動体としての建機、農機、船舶、鉄道及び飛行機等のモビリティにも適用してもよい。すなわち、モビリティネットワークおよびモビリティネットワークシステムにおけるサイバーセキュリティ対策として適用可能である。
【0215】
(2)上記の実施の形態では、車載ネットワークをCANとして説明したが、これに限定されず、例えばCAN-FD(CAN with Flexible Data Rate)、Ethernet(登録商標)、LIN(Local Interconnect Network)、Flexray(登録商標)等であってもよく、あるいは、それらを組み合わせた構成であってもよい。
【0216】
(3)上記の実施の形態では、車速に関するデータフレームの異常において車載ネットワークシステム10における異常状態を判定したが、これに限定されず、例えば駐車支援システム、レーンキープ機能又は衝突防止機能等の先進運転支援システムの制御の異常を検出するようにしてもよい。
【0217】
(4)上記の実施の形態では、セキュリティに関する車載ネットワークシステム10の異常状態を判定したが、ECU120又はコネクタ130の故障を異常状態として検出してもよい。
【0218】
(5)上記の実施の形態では、IDSECU110は、異常発生回数、異常コネクタ数、異常応答回数及び全コネクタ数を記憶したが、これらを不揮発性メモリに記憶してもよく、車両40のイグニッションのON毎に不揮発性メモリの記憶内容をリセットしてもよい。
【0219】
(6)上記の実施の形態では、IDSECU110は、現在の全コネクタ数と正常時の全コネクタ数とを比較したが、正常時の全コネクタ数は、過去の全コネクタ数を用いずに、車両40の出荷前に予めIDSECU110に設定されたデータを用いてもよい。
【0220】
(7)上記の実施の形態では、IDSECU110は、IVIECU120eを介して車両解析サーバ20に異常状態を通知したが、これに限定されない。例えば、IDSECU110は、IVIECU120eを介さずに、当該IDSECU110と直接接続された外部ネットワーク30を介して車両解析サーバ20に異常状態を通知してもよい。
【0221】
(8)上記実施の形態では、異常状態の判定時に車両解析サーバ20及びドライバに異常状態を通知したが、これに限定されず、例えばIVIECU120e等のECU120に異常状態を通知してよい。さらに、車両40が車車間通信及び路車間通信等に対応している場合には、他の車両及び路側機等のインフラ装置に異常状態を通知してもよい。これにより、自車周辺の車両及び通行人が保有するデバイス等に異常状態を通知することができ、事故防止につなげることが可能となる。
【0222】
(9)上記実施の形態では、異常状態の判定時に車両解析サーバ20及びドライバに異常状態を通知したが、車載ネットワークシステム10上のデバイスにログとして残すようにしてもよい。異常状態をログとして残した場合には、外部から診断ポート120aを介してログを読み出すことにより、自動車のディーラが異常内容を把握することが可能になる。あるいは、ログを定期的に車両解析サーバ20に送信するようにしてもよい。
【0223】
(10)上記実施の形態では、異常状態の判定時に、a)ドライバに安全停止を促すメッセージの表示を要求、b)ECU120のソフトウェアの初期化を要求、c)車両40の停止を要求、d)ECU120との通信の停止を要求、という4種類の対処手段から選択したが、対処手段は上記4種類に限定されない。例えば、e)エンジンの緊急停止を要求、f)緊急ブレーキの作動を要求、g)警告音及び警告灯の作動を要求、h)ECU120のソフトウェアの更新を要求、i)手動運転モードへの切り替えを要求等、他の対処手段を用いてもよく、これら対処手段の組み合わせを選択してもよい。これにより、より安全な対処が実行可能となる。
【0224】
(11)上記実施の形態では、異常状態の判定時に、a)ドライバに安全停止を促すメッセージの表示を要求、b)ECU120のソフトウェアの初期化を要求、c)車両40の停止を要求、d)ECU120との通信の停止を要求、という4種類の対処手段から選択したが、異常と判定されたECU120の特性に応じて対処手段を選択してもよい。例えば、空調制御ECUが乗っ取られていると判定された場合には、空調制御ECUがバス100から切断されたとしても安全面では影響が小さいため、ドライバに安全停止を促すメッセージの表示を要求する対処手段ではなく、空調制御ECUをバス100から切断する対処手段を用いてもよい。これにより、より安全な対処が実行可能となる。
【0225】
(12)上記実施の形態では、異常状態の判定時に、異常なデータフレーム毎のコネクタ130の応答回数を異常応答回数として用いたが、異常応答回数をコネクタ応答記憶部116に記憶せずに、コネクタ130に記憶されている異常フレームの送信回数を異常応答フレームに格納して、ネットワーク異常判定部117に通知してもよい。
【0226】
(13)上記実施の形態における各装置を構成する構成要素の一部又は全部は、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に置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行っても良い。バイオ技術の適用等が可能性としてあり得る。
【0227】
(14)上記各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なICカード又は単体のモジュールから構成されているとしても良い。ICカード又はモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカード又はモジュールは、上記の超多機能LSIを含むとしても良い。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカード又はモジュールは、その機能を達成する。このICカード又はこのモジュールは、耐タンパ性を有するとしてもよい。
【0228】
(15)本発明の一態様としては、異常検出装置の制御方法をコンピュータにより実現するプログラム(コンピュータプログラム)であるとしても良いし、コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号をコンピュータで読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、BD(Blue―ray(登録商標)Disc)、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されているデジタル信号であるとしても良い。また、本発明の一態様としては、コンピュータプログラム又はデジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本発明の一態様としては、マイクロプロセッサとメモリを備えたコンピュータシステムであって、メモリは、上記コンピュータプログラムを記録しており、マイクロプロセッサは、コンピュータプログラムに従って動作するとしても良い。また、プログラム若しくはデジタル信号を記録媒体に記録して移送することにより、又は、プログラム若しくはデジタル信号を、ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0229】
(16)上記実施の形態及び上記変形例で示した各構成要素及び機能を任意に組み合わせることで実現される形態も本発明の範囲に含まれる。
【産業上の利用可能性】
【0230】
本発明に係る異常検出装置は、例えば車載ネットワークシステムに搭載されたIDSECU等に有用である。
【符号の説明】
【0231】
1 車両解析システム
10,1000 車載ネットワークシステム
20 車両解析サーバ
30 外部ネットワーク
40 車両
100,500 バス
110,510 IDSECU
111,121,131,132 バス通信部
112 フレーム中継部
113 異常フレーム検出部
114 異常フレーム記憶部
115 コネクタ通信部
116 コネクタ応答記憶部
117 ネットワーク異常判定部
118 ネットワーク異常対処部
120 ECU
120a 診断ポート
120b エンジンECU
120c ブレーキECU
120d インパネECU
120e IVIECU
122 外部装置制御部
130,130a,130b,130c,130d,130e,530a,530b,530c コネクタ
133 フレーム中継部
134 送信フレーム記憶部
135 IDS応答部
520a,520b,520c 制御ECU
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18