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

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

▶ 株式会社デンソーの特許一覧

特開2024-119683電子制御装置、異常原因判定方法、及び異常原因判定プログラム
<>
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図1
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図2
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図3
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図4
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図5
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図6
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図7
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図8
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図9
  • 特開-電子制御装置、異常原因判定方法、及び異常原因判定プログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119683
(43)【公開日】2024-09-03
(54)【発明の名称】電子制御装置、異常原因判定方法、及び異常原因判定プログラム
(51)【国際特許分類】
   G06F 21/55 20130101AFI20240827BHJP
【FI】
G06F21/55
【審査請求】未請求
【請求項の数】14
【出願形態】OL
(21)【出願番号】P 2023026759
(22)【出願日】2023-02-22
(71)【出願人】
【識別番号】000004260
【氏名又は名称】株式会社デンソー
(74)【代理人】
【識別番号】230120499
【弁護士】
【氏名又は名称】藤江 和典
(74)【代理人】
【識別番号】100201385
【弁理士】
【氏名又は名称】中安 桂子
(72)【発明者】
【氏名】佐藤 惇
(72)【発明者】
【氏名】淺井 健史
(72)【発明者】
【氏名】福地 直也
(57)【要約】
【課題】
ECUに発生した異常の原因が故障であるか攻撃であるかを判定する。
【解決手段】
複数の装置に接続された電子制御装置100であって、前記複数の装置にメッセージをそれぞれ送信する送信部101と、前記複数の装置で前記メッセージを用いて行われた認証の結果を示す認証結果情報を受信する受信部102と、前記認証結果情報に基づいて前記複数の装置がそれぞれ異常であるか否かを判定し、前記複数の装置の少なくとも1つが異常である場合に、前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する判定部103と、を備える。
【選択図】図2
【特許請求の範囲】
【請求項1】
複数の装置に接続された電子制御装置(100)であって、
前記複数の装置にメッセージをそれぞれ送信する送信部(101)と、
前記複数の装置で前記メッセージを用いて行われた認証の結果を示す認証結果情報を受信する受信部(102)と、
前記認証結果情報に基づいて前記複数の装置がそれぞれ異常であるか否かを判定し、前記複数の装置の少なくとも1つが異常である場合に、前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する判定部(103)と、
を備える、電子制御装置。
【請求項2】
前記判定部は、前記複数の装置全てが異常である場合に、前記異常の原因が攻撃であると判定する、
請求項1記載の電子制御装置。
【請求項3】
前記判定部は、前記複数の装置のうち一部の装置が異常である場合に、前記異常の原因が故障であると判定する、
請求項1記載の電子制御装置。
【請求項4】
前記受信部はさらに、前記複数の装置のうち故障が検出された装置である故障装置から、前記故障が検出されたことを示す故障情報を受信し、
前記判定部は、前記受信部が前記故障情報を受信した場合に前記故障装置は異常であるとみなし、前記故障装置を含む前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する、
請求項1記載の電子制御装置。
【請求項5】
前記受信部はさらに、前記複数の装置のうち故障が検出された装置である故障装置から、前記故障が検出されたことを示す故障情報を受信し、
前記判定部は、前記故障装置を除く前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する、
請求項1記載の電子制御装置。
【請求項6】
前記判定部が前記複数の装置のうち一の装置が正常であり、他の装置が異常であると判定した場合、前記送信部はさらに、前記一の装置に故障の有無を問い合わせる問い合わせ情報を送信し、
前記受信部は、前記一の装置である前記故障装置から前記故障情報を受信する、
請求項4又は5記載の電子制御装置。
【請求項7】
前記受信部は、前記複数の装置のうち、前記メッセージを用いて行われた前記認証に失敗した装置のみから、前記認証結果情報を受信し、
前記判定部は、前記複数の装置のうち、前記受信部において前記認証結果情報が受信されていない装置は正常であると判定する、
請求項1記載の電子制御装置。
【請求項8】
前記判定部は、前記送信部が前記メッセージを送信してから所定の時間が経過した後に判定を行う、
請求項7記載の電子制御装置。
【請求項9】
当該電子制御装置は移動体に搭載されており、
前記送信部はさらに、前記判定部における判定結果を前記移動体の外部に送信する、
請求項1記載の電子制御装置。
【請求項10】
電子制御装置で実行される異常原因判定方法であって、
前記電子制御装置に接続された複数の装置にメッセージをそれぞれ送信し(S101)、
前記複数の装置で前記メッセージを用いて行われた認証の結果を示す認証結果情報を受信し(S102)、
前記認証結果情報に基づいて、前記複数の装置がそれぞれ異常であるか否かを判定し(S104)、
前記複数の装置の少なくとも1つが異常である場合に、前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する(S106)、
異常原因判定方法。
【請求項11】
電子制御装置で実行可能な異常原因判定プログラムであって、
前記電子制御装置に接続された複数の装置にメッセージをそれぞれ送信し(S101)、
前記複数の装置で前記メッセージを用いて行われた認証の結果を示す認証結果情報を受信し(S102)、
前記認証結果情報に基づいて、前記複数の装置がそれぞれ異常であるか否かを判定し(S104)、
前記複数の装置の少なくとも1つが異常である場合に、前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する(S106)、
異常原因判定プログラム。
【請求項12】
電子制御装置に接続された他の装置から、異なる複数のメッセージをそれぞれ受信する受信部(201)と、
前記複数のメッセージそれぞれを用いて認証を行う認証部(202)と、
前記認証部における認証が失敗した場合に異常を検出する検出部(203)と、
前記検出部が前記複数のメッセージの少なくとも1つについて異常を検出した場合に、前記複数のメッセージ全てについて異常を検出したか否かに応じて、前記異常の原因が攻撃であるか当該電子制御装置の故障であるかを判定する判定部(204)と、
を備える、電子制御装置(200、210)。
【請求項13】
前記判定部は、前記複数のメッセージ全てについて異常を検出した場合に、前記異常の原因が当該電子制御装置の故障であると判定する、
請求項12記載の電子制御装置。
【請求項14】
前記判定部は、前記複数のメッセージのうち一部のメッセージについて異常を検出した場合に、前記異常の原因が攻撃であると判定する、
請求項12記載の電子制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、主として自動車に搭載される電子制御装置であって、電子制御装置で発生した異常の原因が攻撃であるか故障であるかを判定する電子制御装置、当該電子制御装置で実行される方法及びプログラムに関する。
【背景技術】
【0002】
近年、車車間通信や路車間通信のようなV2Xをはじめ、運転支援や自動運転制御を行う技術が注目されている。これに伴い、車両が通信機能を備えるようになり、いわゆる車両のコネクティッド化が進んでいる。この結果、車両が不正アクセスといったサイバー攻撃を受ける可能性が増加している。そのため、車両に対するサイバー攻撃を受けたことによって生じる車載システム内の異常を検知するとともに、その対応策を講じることが必要とされている。
【0003】
ところが、車載システム内に発生する異常は、サイバー攻撃によって発生する異常だけでなく、車載システムを構成する電子制御装置の故障によって発生するものがある。そのため、サイバー攻撃への対応を効果的に行うためには、車載システム内で発生した異常が攻撃に起因するものであるか、故障に起因するものであるかを見極める必要がある。
【0004】
例えば、特許文献1には、外部からのセキュリティ攻撃に起因するセキュリティ異常、及び車載システム内で生じた断線、ノイズ、故障等に起因するセーフティ異常の両方に対して適切に対処するために、記憶部にセキュリティ異常に関する管理情報及びセーフティ異常に関する管理情報を保存するとともに、演算部が、管理情報を用いてセキュリティ異常及びセーフティ異常のいずれであるかを判定するとともに、それぞれの異常に応じた対処を行うことが開示されている。
【先行技術文献】
【特許文献】
【0005】
特開2019-73102
【発明の概要】
【発明が解決しようとする課題】
【0006】
ここで、発明者は詳細な検討の結果、以下の課題を見出した。
特許文献1によれば、セーフティ異常に相当する異常内容を予めセーフティ異常検証情報として保存しておき、車載システム内で発生した異常の内容がセーフティ異常検証情報に含まれるか否かを判定することによって、異常がセキュリティ異常であるかセーフティ異常であるかを判定している。ところが、故障に起因する異常内容が、攻撃に起因する異常内容と類似する場合がある。このような場合、特許文献1の手法では、異常がセキュリティ異常及びセーフティ異常のいずれであるかを判定することはできない。さらに、特許文献1の手法では、セキュリティ異常とセーフティ異常を判定するために、演算部に機能を追加したり、新たな記憶部を設ける必要がある。そのため、処理負荷が増大することに加えて、既存の車載システムの電子制御装置、特に、処理能力が低い電子制御装置に対して新たに特許文献1の手法を導入することは難しい。
【0007】
そこで、本発明の目的は、複雑な演算処理を実行することなく、車載システム内で発生した異常が、サイバー攻撃に起因する異常であるか、故障に起因する故障であるかを判定することができる装置等を提供することになる。
【課題を解決するための手段】
【0008】
本開示の一態様による電子制御装置は、複数の装置に接続された電子制御装置(100)であって、前記複数の装置にメッセージをそれぞれ送信する送信部(101)と、前記複数の装置で前記メッセージを用いて行われた認証の結果を示す認証結果情報を受信する受信部(102)と、前記認証結果情報に基づいて前記複数の装置がそれぞれ異常であるか否かを判定し、前記複数の装置の少なくとも1つが異常である場合に、前記複数の装置全てが異常であるか否かに応じて、前記異常の原因が攻撃であるか故障であるかを判定する判定部(103)と、を備える。
【0009】
本開示の他の態様による電子制御装置(200、210)は、電子制御装置に接続された他の装置から、異なる複数のメッセージをそれぞれ受信する受信部(201)と、前記複数のメッセージそれぞれを用いて認証を行う認証部(202)と、前記認証部における認証が失敗した場合に異常を検出する検出部(203)と、前記検出部が前記複数のメッセージの少なくとも1つについて異常を検出した場合に、前記複数のメッセージ全てについて異常を検出したか否かに応じて、前記異常の原因が攻撃であるか当該電子制御装置の故障であるかを判定する判定部(204)と、を備える。
【0010】
なお、特許請求の範囲、及び本項に記載した発明の構成要件に付した括弧内の番号は、本発明と後述の実施形態との対応関係を示すものであり、本発明を限定する趣旨ではない。
【発明の効果】
【0011】
以上の構成によれば、電子制御装置で異常が発生した場合に、異常の原因が故障であるか攻撃であるかを判定することが可能となる。
【図面の簡単な説明】
【0012】
図1】実施形態1の電子制御システムを説明する図
図2】実施形態1の電子制御装置の構成例を説明する図
図3】実施形態1の判定処理を説明する図
図4】実施形態1の電子制御装置の処理動作を説明する図
図5】実施形態1の電子制御システムの処理動作を説明する図
図6】実施形態1の変形例の電子制御装置の処理動作を説明する図
図7】実施形態2の電子制御装置の構成例を説明する図
図8】実施形態2の判定処理を説明する図
図9】実施形態2の電子制御装置の処理動作を説明する図
図10】実施形態2の変形例の電子制御装置の構成例を説明する図
【発明を実施するための形態】
【0013】
以下、本発明の実施形態について、図面を参照して説明する。
【0014】
なお、本発明とは、特許請求の範囲又は課題を解決するための手段の項に記載された発明を意味するものであり、以下の実施形態に限定されるものではない。また、少なくともかぎ括弧内の語句は、特許請求の範囲又は課題を解決するための手段の項に記載された語句を意味し、同じく以下の実施形態に限定されるものではない。
【0015】
特許請求の範囲の従属項に記載の構成及び方法は、特許請求の範囲の独立項に記載の発明において任意の構成及び方法である。従属項に記載の構成及び方法に対応する実施形態の構成及び方法、並びに特許請求の範囲に記載がなく実施形態のみに記載の構成及び方法は、本発明において任意の構成及び方法である。特許請求の範囲の記載が実施形態の記載よりも広い場合における実施形態に記載の構成及び方法も、本発明の構成及び方法の例示であるという意味で、本発明において任意の構成及び方法である。いずれの場合も、特許請求の範囲の独立項に記載することで、本発明の必須の構成及び方法となる。
【0016】
実施形態に記載した効果は、本発明の例示としての実施形態の構成を有する場合の効果であり、必ずしも本発明が有する効果ではない。
【0017】
複数の実施形態がある場合、各実施形態に開示の構成は各実施形態のみで閉じるものではなく、実施形態をまたいで組み合わせることが可能である。例えば一の実施形態に開示の構成を、他の実施形態に組み合わせてもよい。また、複数の実施形態それぞれに開示の構成を集めて組み合わせてもよい。
【0018】
発明が解決しようとする課題に記載した課題は公知の課題ではなく、本発明者が独自に知見したものであり、本発明の構成及び方法と共に発明の進歩性を肯定する事実である。
【0019】
1.実施形態1
(1)電子制御システムS
図1は、後述する本実施形態の電子制御装置(ECU:Electric Control Unit)100を有する電子制御システムSを説明する図である。電子制御システムSは、ECU100を含む複数のECUから構成されている。
【0020】
本実施形態のECU100は「移動体」である車両に「搭載」されるECUであって、電子制御システムSは車載システムである場合を例に挙げて説明する。しかしながら、本実施形態は、任意の電子制御システムに適用することが可能であり、車載システムに限定されるものではない。
以上は、他の実施形態のECUにおいても同様である。
【0021】
ここで、「移動体」とは、移動可能な物体をいい、移動速度は任意である。また移動体が停止している場合も当然含む。例えば、自動車、自動二輪車、自転車、歩行者、船舶、航空機、及びこれらに搭載される物を含み、またこれらに限らない。
「搭載」される、とは、移動体に直接固定されている場合の他、移動体に固定されていないが移動体と共に移動する場合も含む。例えば、移動体に乗った人が所持している場合、移動体に載置された積荷に搭載されている場合、が挙げられる。
【0022】
ECU100は、例えば、CAN(Controller Area Network)、LIN(Local Interconnect Network)といった車載通信ネットワークを介して、複数のECU20(「複数の装置」に相当)及びECU30に接続されている。あるいは、Ethernet(登録商標)やWi-Fi(登録商標)、Bluetooth(登録商標)等、有線無線を問わず任意の通信方式を用いて接続されてもよい。
【0023】
図1に示す電子制御システムSはドメインA及びドメインBを有しており、それぞれのドメインが、ECU100及びECU20からなる。ドメインは、電子制御システムSを構成する複数のECUを機能や役割に応じて分類したものであり、ドメインコントローラと呼ばれるECUがドメイン毎にECUを管理する。図1に示す例では、ECU100がドメインコントローラとしての機能を有するマスターECUであり、スレーブECUであるECU20を管理している。しかしながら、ECU100とECU20とは並列に設けられてもよい。また、ECU100は、ゲートウェイ又はサブゲートウェイとしての機能を有するECUであってもよい。
【0024】
図1では、ECU100が3つのECU20(ECU20a~ECU20c)に接続されている電子制御システムSを図示しているが、当然のことながらECU100に接続されるECU20の数は任意である。本実施形態では、ドメインAに属するECUについて説明するが、ドメインBに属するECUも同様の構成及び機能を有するものである。
【0025】
図1に示すECU30は、車両の外部への無線通信機能を有する通信ECU30を想定している。しかしながら、ECU100自体が車両の外部との通信機能を有するECUであってもよい。
【0026】
(2)ECU20の構成
本実施形態の前提として、ECU100に接続されるECU20の構成を説明する。図1に示すとおり、ECU20は、認証部21及び送信部22をそれぞれ備える。
【0027】
認証部21は、後述するECU100から送信されたメッセージを受信すると、受信したメッセージを用いて認証処理を行う。メッセージの認証処理は任意の手法を用いることができ、例えば、メッセージ認証コードを用いた、いわゆるMAC(MAC:Message Authentication Code)認証の他、デジタル署名を用いた認証が挙げられる。認証部21は、セキュリティセンサとも称される。なお、本実施形態におけるメッセージとは、車載通信ネットワークを介して送信されるフレームに含まれるデータを指してもよく、あるいは、データのまとまりとしてのフレームを指すものであってもよい。
【0028】
送信部22は、認証部21がメッセージを用いた認証処理を行った結果を取得し、認証処理の結果を示す認証結果情報を送信する。後述するとおり、本実施形態では、送信部22は、認証が失敗した場合に認証結果情報を送信し、認証に成功した場合には認証結果情報を送信しない場合を例に挙げて説明する。しかしながら、送信部22は、認証に成功した場合に限り認証結果情報を送信し、認証に失敗した場合には認証結果情報を送信しない構成であってもよい。あるいは、送信部22は、認証の結果によらず、認証が失敗した場合及び認証に成功した場合のいずれも認証結果情報を送信してもよい。
【0029】
認証結果情報は、認証が失敗したことを示すものであればよく、その内容は問わない。例えば、認証結果情報は、認証処理の失敗によって異常を検出したことを通知する情報であってもよい。この場合、送信部22は、認証結果情報をECU100に送信する送信機能に加えて、認証結果に基づいて異常を検出する異常検出部としての機能も有するといえる。このような送信部22は、AUTOSAR(AUTomotive Open System ARchitecture)仕様においてIDSM(Intrusion Detection Systems Manager)と称される。
【0030】
(3)ECU100の構成
次に、図2を参照して、本実施形態のECU100構成を説明する。ECU100は、送信部101、受信部102、判定部103を備える。判定部103は、装置判定部104及び異常原因判定部105を実現する。
【0031】
ECU100は、汎用のCPU(Central Processing Unit)、RAM等の揮発性メモリ、ROM、フラッシュメモリ、又はハードディスク等の不揮発性メモリ、各種インターフェース、及びこれらを接続する内部バスで構成することができる。そして、これらのハードウェア上でソフトウェアを実行することにより、図2に記載の各機能ブロックの機能を発揮させるように構成することができる。
もちろん、ECU100を、LSI等の専用のハードウェアで実現してもよい。
以上は、他の実施形態のECUにおいても同様である。
【0032】
ECU100は、本実施形態では半完成品としての電子制御装置の形態を想定しているが、これに限らない。例えば、部品の形態としては、半導体回路や半導体モジュール、半完成品の形態としては、電子制御装置、電子制御ユニット、システムボード、完成品の形態としては、サーバ、ワークステーション、パーソナルコンピュータ(PC)、タブレット、モバイルルータ、スマートフォン、携帯電話、ナビゲーションシステムが挙げられる。
なお、ECU100は、単一のECUの他、複数のECUで構成されてもよい。
以上は、他の実施形態のECUにおいても同様である。
【0033】
送信部101は、ECU100に接続された複数のECU20に、メッセージをそれぞれ送信する。ここで、送信部101が送信するメッセージは、後述する異常原因を判定するために使用される専用のメッセージであってもよく、車両の走行や操舵といった機能を実現するためにECU100がECU20に送信するメッセージを、本発明のメッセージとして使用してもよい。また、送信部101は、定期的にメッセージを送信してもよく、特定のイベントが発生した場合にメッセージを送信してもよい。
【0034】
送信部101はさらに、後述する判定部103における判定結果を、車外との通信機能を有するECU30に「送信」してもよい。この場合、ECU30は、ECU100から判定結果を受信すると、車両の外部に位置するサーバや、SOC(Security Operation Center)等に送信する。あるいは、ECU100自体が外部通信機能を有する場合、ECU100から直接、判定結果を車外に送信してもよい。この場合、車内通信機能及び車外通信機能を有する構成を、まとめて送信部101と称する。
【0035】
ここで、「送信」する、とは、指定した他の装置に情報を直接的に伝送することはもちろん、別の装置を介して間接的に伝送する場合も含む。
【0036】
送信部101がECU30を介して判定結果を車両の外部に送信する場合、ECU30は、ドメインAの判定結果だけでなく、他のドメイン(例えば、図1のドメインB)の判定結果を集約して送信してもよい。このように、ECU30が複数のECU100の判定結果を集約して外部に送信することで、車両の外部との通信負荷を抑制することができる。
【0037】
受信部102は、ECU20から、送信部101が送信したメッセージを用いて行われた認証の結果を示す「認証結果情報」を受信する。本実施形態では、受信部102は、認証が失敗したことを示す認証結果情報のみを受信する。
【0038】
ここで、「認証結果情報」を受信する、とは、認証が成功した結果のみを受信する場合、失敗した結果のみを受信する場合、並びに、成功した結果及び失敗した結果の両方を受信する場合、のいずれも含む。また、「認証結果情報」とは、認証の結果を直接的に示す情報はもちろん、認証の結果を間接的に示す情報であってもよい。
【0039】
判定部103は、装置判定部104及び異常原因判定部105を実現する。ここで、判定部103は、AUTOSAR仕様においてIDSR(Intrusion Detection Systems Reporter)と称される。あるいは、判定部103、及び、送信部101において判定結果を送信する機能をまとめてIDSRと称してもよい。
【0040】
判定部103の装置判定部104は、認証結果情報に基づいて、ECU20がそれぞれ異常であるか否かを判定する。具体的には、装置判定部104は、受信部102において認証結果情報が受信されたECU20は異常であると判定する。これに対し、認証結果情報が受信されていないECU20は正常であると判定する。
【0041】
なお、本実施形態では、認証が失敗したECU20のみから認証結果情報を受信するため、受信部102において認証結果情報が受信されていない場合、装置判定部104は、ECU20での認証が成功したために認証結果情報が受信されていないのか、ECU20での認証が完了していないために認証結果情報が受信されていないのか、を判断することはできない。そこで、本実施形態の装置判定部104は、送信部101がメッセージを送信してから所定の時間が経過した後に判定を行う。あるいは、装置判定部104は、メッセージを送信してから所定の時間が経過しても認証結果情報が受信されない場合には、ECU20に対して認証結果情報の送信を要求する情報を送信してもよい。なお、これらの構成は、認証に成功したECU20のみから認証結果情報を受信する構成の場合、及び、認証の結果によらず、全てのECU20から認証結果情報を受信する構成の場合にも適用することができる。
【0042】
異常原因判定部105は、装置判定部104が判定した結果、ECU20の少なくとも1つが異常である場合に、ECU20全てが異常であるか否かに応じて、ECU20の異常の原因が攻撃であるか故障であるかを判定する。具体的には、異常原因判定部105は、ECU20全てが異常である場合に、ECU20の異常の原因が攻撃であると判定する。また、異常原因判定部105は、ECU20全てではなく、一部のECU20が異常である場合に、ECU20の異常の原因が故障であると判定する。故障には、例えば、断線や摩耗といった装置の破損を伴うものはもちろん、ソフトウェアのエラーといった装置の破損を伴わないもの、ノイズのように一時的に発生する不具合等が挙げられる。
【0043】
また、装置判定部104が、認証結果情報に基づいて、ECU20全てに異常がないと判定した場合、ECU20は正常に動作しており故障も攻撃もないと判定することができる。
【0044】
ここで、ECU20全てとは、必ずしもECU100に接続されている全ECU20でなくともよい。例えば、ECU100に接続されている複数のECU20を、予めいくつかのグループに分類しておき、同じグループに属するECU20全てが異常であるか否かに応じて、ECU20の異常の原因が攻撃であるか故障であるかを判定してもよい。グループは、ECU20の機能、ECU20が接続されているバス、といった基準に基づいて設定される。また、ECU100が複数のドメインのドメインコントローラとして機能する場合には、ECU20が属するドメインに基づいてグループを設定してもよい。
【0045】
図3は、判定部103(すなわち、装置判定部104及び異常原因判定部105)による判定を説明する図である。図3における“0”は、装置判定部104が認証結果情報に基づいてECU20が正常であると判定した場合を、“1”はECU20が異常であると判定した場合を、それぞれ示している。
【0046】
図3に示すとおり、ECU20a~ECU20cのいずれも“0”、すなわち正常であると判定した場合、これらのECU20は正常であると判定する。これに対し、ECU20a、ECU20b、ECU20cのうち、少なくとも1つが“1”、すなわち異常であると判定した場合、ECU20に発生した異常の原因が故障であると判定する。また、ECU20a~ECU20cの全てが“1”、すなわちECU20全てが異常であると判定した場合、これらのECU20に発生した異常の原因が攻撃であると判定する。
【0047】
CANコントローラ、HSM(Hardware Security Module)、Secure Data FlashといったECU20のハードウェアが故障した場合、ECU20は受信したメッセージを用いた認証処理を正常に実行することができず、認証処理に失敗してしまう。しかしながら、このようなECU20のハードウェアの故障が、同時に複数のECU20で発生する可能性は極めて低い。そこで、ECU20の一部が異常であると判定した場合には、ECU20の異常の原因が故障であると判定する。これに対し、電子制御システムSが再送攻撃された場合、ECU20に対して一斉に不正メッセージが送信される可能性がある。そのため、再送攻撃によって不正メッセージを受信した全てのECU20は認証処理に失敗する。そこで、ECU20全てが認証処理に失敗し、ECU20全てが異常であると判定した場合には、ECU20の異常の原因が攻撃であると判定する。
【0048】
上述したように、送信部101は、判定部103における判定結果を、直接的に又は間接的に、車外に送信する。車外に送信する判定結果は、例えば、異常原因判定部105による判定結果、すなわち、異常の原因が故障であるか攻撃であるかを示す判定結果である。あるいは、送信部101は、異常原因判定部105の判定結果に代えて、又は加えて、いずれのECU20で異常が発生しているか、異常なECU20の数、正常なECU20の数などを送信してもよい。あるいは、送信部101は、ECU20が全て正常な場合にも、その判定結果を車外に送信してもよい。
【0049】
(4)ECU100の動作
次に、図4図5を参照してECU100の動作を説明する。図4はECU100の動作を説明する図であり、図5は電子制御システムS全体の動作を説明する図である。図4及び図5で対応する処理は、同じ符号を付している。なお、以下の動作は、ECU100における異常原因判定方法を示すだけでなく、ECU100で実行される異常原因判定プログラムの処理手順を示すものである。そして、これらの処理は、図4で示した順序には限定されない。すなわち、あるステップでその前段のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
以上、本実施形態だけでなく、他の実施形態及び変形例においても同様である。
【0050】
ECU100の送信部101は、ECU20にメッセージをそれぞれ送信する(S101)。
【0051】
ECU20aの認証部21は、ECU100からメッセージを受信すると、メッセージを用いた認証処理を行う(S11)。
そして、送信部22は、S11の認証処理を行った結果、認証に失敗した場合に、ECU100に認証結果情報を送信する。
ECU20b、ECU20cにおいても同様の処理を行う。
図5の例では、ECU20a、ECU20bでは認証処理が失敗し、ECU20cでは認証処理が成功した場合を例示している。
【0052】
受信部102は、ECU20から、S101で送信したメッセージを用いて行われた認証の結果を示す認証結果情報を受信する(S102)。
S101においてメッセージを送信してから所定の期間が経過すると(S103:Y)、判定部103の装置判定部104は、認証結果情報に基づいて、ECU20がそれぞれ異常であるか否かを判定する(S104)。
ここで、判定部103の異常原因判定部105は、ECU20の少なくとも1つが異常である場合(S105:Y)、ECU20全てが異常であるか否かに応じて、異常の原因が攻撃であるか故障であるかを判定する(S106)。
そして、送信部101は、判定部103の判定結果を、車両の外部に位置するサーバ等に送信する(S107)。
【0053】
(6)小括
以上、本実施形態によれば、複雑な演算を行うことなく、ひいては、ECUにおける処理負荷を増大させることなく、ECU20全てが異常であるか、ECU20の一部が異常であるかに応じて、異常の原因が攻撃及び故障のいずれであるかを判定することが可能となる。
【0054】
さらに、本実施形態によれば、ECU100が認証結果情報に基づいてECU20の異常原因を判定し、その判定結果のみを車両の外部送信することで、各ECU20の認証結果情報全てを車両の外部に送信する場合と比較して、車両の外部に送信する際の通信負荷を大幅に抑制するとともに、通信遅延の発生を防ぐことが可能となる。
【0055】
2.実施形態1の変形例
上述した実施形態では、認証処理に失敗したECU20のみが認証結果情報をECU100に送信する構成を説明した。ところが、ECU20が故障によって認証処理自体を実行することができず、その結果、認証結果情報をECU100に送信できない場合がある。このような場合、ECU100では、認証結果情報が受信されていないECU20を誤って正常であると判定してしまうおそれがある。そこで、本変形例では、ECU100において異常原因を判定する際に、ECU20における故障情報を用いることにより、異常原因の判定精度を高める構成を説明する。
【0056】
本変形例のECU20及びECU100の構成は実施形態1と同じであるため、図1及び図2の構成を参照して説明する。
【0057】
(1)ECU20
本変形例のECU20は、ECU20に発生した故障を検出すると、故障情報を生成する。なお、ECU20における故障の検出には、任意の手法を用いることができる。そして、ECU20の送信部22は、ECU100から後述する問い合わせ情報を受信した場合に、生成した故障情報をECU100に送信する。ここで、ECU20は、問い合わせ情報を受信してから、ECU20に故障が発生しているか否かを検出してもよいが、ECU20は、問い合わせ情報の受信の有無によらず、故障を検出したときに故障情報を生成して保存しておき、問い合わせ情報を受信すると、保存されている故障情報をECU100に送信してもよい。
【0058】
また、ECU100から問い合わせ情報を受信したが、ECU20では故障が検出されない場合には、ECU20の送信部22は、故障が検出されないこと示す故障情報をECU100に送信する。
【0059】
(2)ECU100の構成
本変形例の送信部101は、ECU20に対し、故障の有無を問い合わせる問い合わせ情報を送信する。ここで、本変形例では、送信部101がECU20にメッセージをそれぞれ送信し、受信部102が認証結果情報を受信し、装置判定部104が認証結果情報に基づいてECU20が異常であるか否かを判定した後に、問い合わせ情報を送信する。より具体的には、装置判定部104が、認証結果情報に基づいてECU20がそれぞれ異常であるか否かを判定した結果、複数のECU20(ECU20a~ECU20c)のうち一のECU20が正常であり、他のECU20が異常であると判定した場合に、送信部101はECU20に問い合わせ情報を送信する。一例として、装置判定部104がECU20aのみが正常であり、ECU20b及びECU20cが異常であると判定した場合を説明する。この場合、送信部101は、ECU20aに対して問い合わせ情報を送信する。
【0060】
しかしながら、送信部101が、ECU20に問い合わせ情報を送信するタイミングは、車両のユーザ、ディーラ、製造メーカ等によって設定されてもよく、上述した例に限定されるものではない。
【0061】
受信部102は、故障が検出されたECU20(「故障装置」に相当)から故障情報を受信する。上述した例のように、ECU20aにおいて故障が検出されている場合には、ECU20aから故障情報を受信する。しかしながら、ECU20aにおいて故障が検出されていない場合、受信部102は、故障が検出されていないことを示す故障情報を受信する。
【0062】
判定部103の装置判定部104は、受信した故障情報を参照して再度判定を行う。例えば、受信部102がECU20aから故障情報を受信した場合、装置判定部104は、ECU20aは異常であるとみなす。そして、異常原因判定部105は、ECU20aを含むECU20全て(すなわち、ECU20a~ECU20c)が異常であるか否かに応じて、異常の原因が攻撃であるか故障であるかを判定する。あるいは、受信部102がECU20aから故障情報を受信した場合、異常原因判定部105は、ECU20aを除くECU20全て(すなわち、ECU20b、ECU20c)が異常であるか否かに応じて、異常の原因が攻撃であるか故障であるかを判定してもよい。そして、実施形態1と同様、ECU20全てが異常である場合には異常の原因が攻撃であると判定し、ECU20の一部が異常である場合には異常の原因が故障であると判定する。
【0063】
このような構成とすることで、ECU20に故障が発生して認証結果情報が送信されない場合であっても、ECU20が誤って正常であると判定され、ひいては、ECU20に発生した異常の原因が誤って判定されることを防ぐことができる。
【0064】
(3)ECU100の動作
図6は、本変形例におけるECU100の動作を説明する図である。実施形態1と同じ処理については同じ符号を付し、説明は省略する。
【0065】
本変形例では、S105において、ECU20の少なくとも1つが異常であると判定した場合、さらに、ECU20のうち一のECU20のみが正常であるか否かを判定する(S111)。ここで、装置判定部104が、一のECU20のみが正常であり、他のECU20が異常であると判定した場合(S111:Y)、送信部101は、正常であると判定したECU20に問い合わせ情報を送信する(S112)。
受信部102は、ECU20から故障情報を受信する(S113)。
そして、異常原因判定部105は、ECU20の異常の原因を判定する(S116)。
【0066】
なお、本変形例では、ECU100からの問い合わせ情報に応じて、ECU20が故障情報を送信する構成を説明したが、ECU20は、問い合わせ情報を受信したか否かに関わらず、ECU20の故障を検出すると直ちに、ECU100に故障情報を送信する構成としてもよい。しかしながら、このような場合、異常原因の判定に必要とされない故障情報が送受信されることにより、車載ネットワークの通信負荷やECU100の処理負荷が増加する可能性がある。そのため、このような負荷を抑制するために、ECU20は、ECU100から問い合わせ情報を受信した場合に限り、故障情報をECU100に送信することが望ましい。
【0067】
(4)小括
以上、本変形例によれば、ECU20の故障情報を参照した上で、ECU20の異常原因を判定することにより、異常原因の判定精度を高めることが可能となる。
【0068】
3.実施形態2
実施形態1では、複数のECU20におけるメッセージの認証結果に基づいて、それぞれのECU20に発生した異常の原因を判定する構成を説明した。本実施形態においては、一のECUが取得した複数のメッセージの認証結果に基づいて、当該ECUに発生した異常の原因を判定する構成を説明する。
【0069】
(1)ECU200の構成
図7は、本実施形態のECU200を説明する図である。ECU200は、受信部201、認証部202、異常検出部203、異常原因判定部204、及び送信部205を備える。
【0070】
受信部201は、ECU200に接続された他のECUから、異なる複数のメッセージをそれぞれ受信する。複数のメッセージは、例えば、メッセージに付与された識別番号、メッセージであるデータの種別、メッセージを送信したアプリケーション、メッセージの送信元のECUなどがそれぞれ異なっている。また、メッセージはそれぞれ、複数の異なるECUからそれぞれ送信されたメッセージであってもよく、同じECUから送信されたメッセージであってもよい。以下に説明する実施形態では、受信部201が、ID100、ID200、ID300を有するメッセージをそれぞれ受信する場合を例に挙げて説明する。
【0071】
認証部202は、受信部201が受信したメッセージそれぞれを用いて認証処理を行う。実施形態1と同様、メッセージの認証処理は任意の手法を用いることができる。認証部202はセキュリティセンサとも称される。
【0072】
異常検出部203(「検出部」に相当)は、認証部202における認証結果に基づいて異常を検出する。具体的には、異常検出部203は、認証部202における認証が失敗した場合に異常を検出する。上述したように、認証部202は、複数のメッセージそれぞれに対して認証を行うため、複数のメッセージの認証に失敗した場合には、それぞれのメッセージについて異常を検出する。また、認証部202における認証が成功した場合には、異常検出部203は異常を検出しない。ここで、異常検出部203は、AUTOSAR
仕様においてIDSMと称される。
【0073】
異常原因判定部204(「判定部」に相当)は、異常検出部203が、複数のメッセージのうち少なくとも1つのメッセージについて異常を検出した場合に、メッセージ全てについて異常を検出したか否かに応じて、検出した異常の原因が攻撃であるか、ECU200の故障であるかを判定する。具体的には、異常原因判定部204は、メッセージ全てについて異常を検出した場合に、異常の原因がECU200の故障であると判定する。また、異常原因判定部204は、メッセージ全てではなく、一部のメッセージについて異常を検出した場合に、異常の原因が攻撃であると判定する。ここで、異常原因判定部204は、AUTOSAR仕様においてIDSRと称される。あるいは、異常原因判定部204、及び、後述する送信部205において判定結果を送信する機能をまとめてIDSRと称してもよい。
【0074】
また、上述したとおり、認証部202における認証がすべて成功した場合には、異常検出部203は異常を検出しない。したがって、ECU200は正常に動作しており故障も攻撃もないと判定することができる。
【0075】
ここで、メッセージ全てとは、受信部201が受信する全メッセージでなくともよい。例えば、受信部201が受信したメッセージのうち、同じチャネルを用いて送信されたメッセージ全てが異常であるか否かに応じて、異常の原因が攻撃であるか故障であるかを判定してもよい。
【0076】
図8は、異常検出部203による異常検出結果と、異常検出結果に基づく異常原因判定部204による判定を説明する図である。図8における“0”は、異常検出部203がメッセージについて異常を検出していない場合を、“1”はメッセージについて異常を検出した場合を、それぞれ示している。
【0077】
図8に示すとおり、メッセージID100~ID300のいずれも“0”、すなわち正常であると判定した場合、これらのメッセージは正常であり、ひいては、ECU200は正常であると判定する。これに対し、メッセージID100、ID200、ID300のうち少なくとも1つが“1”、すなわち異常を検出した判定した場合、検出された異常の原因が攻撃であると判定する。また、メッセージID100~ID300の全てについて“1”、すなわちメッセージ全てについて異常を検出した場合、検出された異常の原因が故障であると判定する。
【0078】
送信部205は、異常原因判定部204による判定結果を、直接的に又は間接的に、車外に送信する。車外に送信する判定結果は、例えば、異常原因判定部204による判定結果、すなわち、異常の原因が故障であるか攻撃であるかを示す判定結果である。あるいは、送信部205は、異常原因判定部204の判定結果に代えて、又は加えて、いずれのメッセージIDについて異常が検出されたか、異常が検出されたメッセージIDの数、認証部202における認証結果などを送信してもよい。あるいは、送信部205は、異常検出部203が異常を検出していない場合にも、異常が検出されていなことを示す判定結果を車外に送信してもよい。
【0079】
送信部205が通信ECU(例えば、図1に示すECU30等)を介して判定結果を車両の外部に送信する場合、通信ECUは、ECU200における判定結果だけでなく、他のECUにおける判定結果を集約して送信してもよい。このように、外部通信ECUが複数のECU200の判定結果を集約して外部に送信することで、車両の外部との通信負荷を抑制することができる。
【0080】
CANコントローラ、HSM、Secure Data FlashといったECU200のハードウェアが故障した場合、ECU200の認証部202は受信したメッセージを用いた認証処理を正常に実行することができない。そのため、認証部202で実行した認証処理はいずれも失敗してしまう。そこで、受信部201が受信した複数のメッセージ全ての認証処理に失敗し、異常検出部203が複数のメッセージ全てについて異常を検出した場合には、異常の原因がECU200の故障であると判定する。これに対し、ECU200が再送攻撃された場合、特定のメッセージ、例えば、特定の識別番号が付与されたメッセージや特定のECUから送信されたメッセージ等を偽装して不正メッセージが送信される可能性が高い。しかしながら、ECU200が受信する全てのメッセージについて、同時に再送攻撃が行われる可能性は低い。そこで、受信部201が受信した複数のメッセージのうち一部のメッセージについて認証処理に失敗し、異常検出部203が一部のメッセージについて異常を検出した場合には、異常の原因が攻撃であると判定する。
【0081】
(2)ECU200の動作
次に、図9を参照してECU200の動作を説明する。
ECU200の受信部201は、ECU20に接続された他のECUから、異なる複数のメッセージをそれぞれ受信する(S201)。
認証部202は、受信部201が受信した複数のメッセージそれぞれを用いて認証を行う(S202)。
異常検出部203は、認証部202における認証が失敗した場合に異常を検出する(S203)。
ここで、S203において、複数のメッセージの少なくとも1つについて異常を検出した場合(S204:Y)、異常原因判定部204は、複数のメッセージ全てについて異常を検出したか否かに応じて、異常の原因が攻撃であるかECU200の故障であるかを判定する(S205)。
そして、送信部205は、異常原因判定部204における判定結果を、車両の外部に位置するサーバ等に送信する(S206)。
【0082】
(3)小括
以上、本実施形態によれば、複雑な演算を行うことなく、ひいては、ECUにおける処理負荷を増大させることなく、複数のメッセージ全てについて異常が検出されたか、又は複数のメッセージの一部について異常が検出されたかに応じて、異常の原因が攻撃及び故障のいずれであるかを判定することが可能となる。
【0083】
さらに、本実施形態によれば、ECU200が異常原因を判定し、その判定結果のみを車両の外部送信することで、各ECU200で行われたメッセージの認証結果をそれぞれ車両の外部に送信する場合と比較して、車両の外部に送信する際の通信負荷を大幅に抑制するとともに、遅延の発生を防ぐことが可能となる。
【0084】
4.実施形態2の変形例
上述した実施形態2では、ECU200がメッセージの認証処理を行い、認証が失敗した場合に異常を検出するとともに、異常の原因が攻撃であるか故障であるかを判定する処理を行う構成を説明した。本変形例では、認証処理及び異常の検出処理を行うECUと、異常原因の判定を行うECUとを分けて実行する構成を説明する。
【0085】
図10は、本変形例のECUを説明する図である。図7における各構成と同じ機能を有する構成については、同じ符号を付している。本変形例では、本発明を実現するECUが複数のECUで構成されている。すなわち、ECU210(「電子制御装置」に相当)が複数のECU(ECU211、ECU212)で構成されている。
【0086】
ECU211は、受信部201、認証部202、異常検出部203、及び送信部213を備える。また、ECU212は、受信部214、異常原因判定部204、及び送信部205を備える。
【0087】
実施形態2と同様、ECU211の受信部201は複数のメッセージをそれぞれ受信し、認証部202は受信部201が受信したメッセージそれぞれを用いて認証処理を行う。そして、異常検出部203は、認証部202における認証が失敗した場合に異常を検出する。ここで、上述した実施形態2では、異常検出部203における異常検出結果に基づいて異常原因を判定したが、本変形例では、送信部213は、異常検出部203において複数のメッセージについて異常を検出したかどうかを示す異常検出情報をECU212に送信する。
【0088】
ECU212の受信部214は、ECU211から送信された異常検出情報を受信する。そして、異常原因判定部204は、受信部214で受信した異常検出情報に基づいて、異常原因を判定する。異常原因判定部204が異常原因を判定する方法は実施形態2と同じであるため、詳細な説明は省略する。そして、送信部205は、異常原因判定部204における判定結果を、車両の外部に送信する。
【0089】
なお、図10では、1つのECU211のみがECU212に接続されている構成を例示しているが、ECU212には、複数のECU211が接続されてもよい。この場合、ECU212は、複数のECU211から異常検出を受信し、それぞれのECU212について異常原因を判定する。
【0090】
本変形例では、各ECU211がECU212に異常検出情報を送信する必要があるため、一のECU(実施形態2のECU200)において異常検出及び異常原因判定の両方を行う場合と比較して、車載ネットワークの通信量が増加する。しかしながら、認証処理及び異常の検出処理を行うECUと、異常原因の判定を行うECUとを分けることにより、例えば、電子制御システムの下層側に配置されたECU(例えば、ECU211)の処理能力が高くなく、異常原因判定処理を実現することが困難な場合であっても、本開示における異常原因判定を適用することが可能となる。
【0091】
5.実施形態1、2に共通する変形例
上述した実施形態1、2はいずれも、車載システム内で異常原因の判定処理を行い、車両の外部に判定結果を送信する構成を説明した。しかしながら、実施形態1、2における異常原因の判定処理は、車両の外部に配置されたサーバやSOC等で行ってもよい。この場合、車載システムでは、メッセージの認証結果をサーバやSOCに送信する必要があるため、通信ネットワークの処理負荷を低減することはできない。しかしながら、判定処理をサーバやSOCで行うことにより、車載システム全体の処理負荷を低減することが可能となる。
【0092】
6.総括
以上、本発明の各実施形態における電子制御装置等の特徴について説明した。
【0093】
各実施形態で使用した用語は例示であるので、同義の用語、あるいは同義の機能を含む用語に置き換えてもよい。
【0094】
実施形態の説明に用いたブロック図は、装置の構成を機能毎に分類及び整理したものである。それぞれの機能を示すブロックは、ハードウェア又はソフトウェアの任意の組み合わせで実現される。また、機能を示したものであることから、かかるブロック図は方法の発明、及び当該方法を実現するプログラムの発明の開示としても把握できるものである。
【0095】
各実施形態に記載した処理、フロー、及び方法として把握できる機能ブロック、については、一のステップでその前段の他のステップの結果を利用する関係にある等の制約がない限り、順序を入れ替えてもよい。
【0096】
各実施形態、及び特許請求の範囲で使用する、第1、第2、乃至、第N(Nは整数)、の用語は、同種の2以上の構成や方法を区別するために使用しており、順序や優劣を限定するものではない。
【0097】
各実施形態の電子制御装置は、車両に搭載される車載システムを構成する電子制御装置を前提としているが、本開示の電子制御装置は、特許請求の範囲で特に限定する場合を除き、任意の電子制御装置に適用される。
【0098】
また、本発明の装置の形態の例として、以下のものが挙げられる。
部品の形態として、半導体素子、電子回路、モジュール、マイクロコンピュータが挙げられる。
半完成品の形態として、電子制御装置(ECU(Electric Control Unit))、システムボードが挙げられる。
完成品の形態として、携帯電話、スマートフォン、タブレット、パーソナルコンピュータ(PC)、ワークステーション、サーバが挙げられる。
その他、通信機能を有するデバイス等を含み、例えばビデオカメラ、スチルカメラ、カーナビゲーションシステムが挙げられる。
【0099】
また各装置に、アンテナや通信用インターフェースなど、必要な機能を追加してもよい。
【0100】
加えて、本発明は、各実施形態で説明した構成及び機能を有する専用のハードウェアで実現できるだけでなく、メモリやハードディスク等の記録媒体に記録した本発明を実現するためのプログラム、及びこれを実行可能な専用又は汎用CPU及びメモリ等を有する汎用のハードウェアとの組み合わせとしても実現できる。
【0101】
専用や汎用のハードウェアの非遷移的実体的記録媒体(例えば、外部記憶装置(ハードディスク、USBメモリ、CD/BD等)、又は内部記憶装置(RAM、ROM等))に格納されるプログラムは、記録媒体を介して、あるいは記録媒体を介さずにサーバから通信回線を経由して、専用又は汎用のハードウェアに提供することもできる。これにより、プログラムのアップグレードを通じて常に最新の機能を提供することができる。
【産業上の利用可能性】
【0102】
本開示は、主として自動車に搭載される車載用電子制御装置、車載用電子制御装置が実行可能なプログラム、及び、車載用電子制御装置で実行されるプログラムのプログラム生成方法を説明したが、自動二輪車、船舶、鉄道、航空機等、移動する移動体全般に適用することが可能である。また、移動体に限らず、マイクロコンピュータを包含する製品全般に適用可能である。
【符号の説明】
【0103】
100、200、210 電子制御装置、101 送信部、102、201 受信部、103、204 判定部、202 認証部、203 検出部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10