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

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

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

特許7396363検知装置、車両、検知方法および検知プログラム
<>
  • 特許-検知装置、車両、検知方法および検知プログラム 図1
  • 特許-検知装置、車両、検知方法および検知プログラム 図2
  • 特許-検知装置、車両、検知方法および検知プログラム 図3
  • 特許-検知装置、車両、検知方法および検知プログラム 図4
  • 特許-検知装置、車両、検知方法および検知プログラム 図5
  • 特許-検知装置、車両、検知方法および検知プログラム 図6
  • 特許-検知装置、車両、検知方法および検知プログラム 図7
  • 特許-検知装置、車両、検知方法および検知プログラム 図8
  • 特許-検知装置、車両、検知方法および検知プログラム 図9
  • 特許-検知装置、車両、検知方法および検知プログラム 図10
  • 特許-検知装置、車両、検知方法および検知プログラム 図11
  • 特許-検知装置、車両、検知方法および検知プログラム 図12
  • 特許-検知装置、車両、検知方法および検知プログラム 図13
  • 特許-検知装置、車両、検知方法および検知プログラム 図14
  • 特許-検知装置、車両、検知方法および検知プログラム 図15
  • 特許-検知装置、車両、検知方法および検知プログラム 図16
  • 特許-検知装置、車両、検知方法および検知プログラム 図17
  • 特許-検知装置、車両、検知方法および検知プログラム 図18
  • 特許-検知装置、車両、検知方法および検知プログラム 図19
  • 特許-検知装置、車両、検知方法および検知プログラム 図20
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-04
(45)【発行日】2023-12-12
(54)【発明の名称】検知装置、車両、検知方法および検知プログラム
(51)【国際特許分類】
   H04L 43/08 20220101AFI20231205BHJP
   H04L 43/16 20220101ALI20231205BHJP
   H04L 12/28 20060101ALI20231205BHJP
   H04L 43/02 20220101ALI20231205BHJP
【FI】
H04L43/08
H04L43/16
H04L12/28 100A
H04L43/02
【請求項の数】 8
(21)【出願番号】P 2021551127
(86)(22)【出願日】2020-05-19
(86)【国際出願番号】 JP2020019713
(87)【国際公開番号】W WO2021065069
(87)【国際公開日】2021-04-08
【審査請求日】2022-11-21
(31)【優先権主張番号】P 2019178176
(32)【優先日】2019-09-30
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】濱田 芳博
(72)【発明者】
【氏名】上田 浩史
(72)【発明者】
【氏名】足立 直樹
(72)【発明者】
【氏名】相羽 慎一
(72)【発明者】
【氏名】上口 翔悟
(72)【発明者】
【氏名】石川 史也
【審査官】宮島 郁美
(56)【参考文献】
【文献】国際公開第2017/038005(WO,A1)
【文献】特開2018-182725(JP,A)
【文献】国際公開第2016/080422(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、
前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、
前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備え、
前記正当メッセージの送信周期および前記基準メッセージの送信周期が互いに異なり、
前記検知部は、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、
前記検知部は、複数の前記判定基準を切り替えながら前記検知処理を行う、検知装置。
【請求項2】
前記検知部が前記検知処理において用いる前記判定基準の数は、前記正当メッセージの送信周期と前記基準メッセージの送信周期との最小公倍数、および前記正当メッセージの送信周期に基づいて決定される、請求項に記載の検知装置。
【請求項3】
前記検知装置は、さらに、
前記監視部による監視結果に基づいて、前記基準メッセージの異常を検知し、前記異常を検知した場合に所定の処理を行う異常検知部を備える、請求項1または請求項2に記載の検知装置。
【請求項4】
前記検知部は、前記対象メッセージである第1の対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との前記時間差、および前記第1の対象メッセージの後に送信される前記対象メッセージである第2の対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との前記時間差に基づいて、前記第1の対象メッセージに関する異常を検知する、請求項1から請求項のいずれか1項に記載の検知装置。
【請求項5】
前記監視部は、前記検知装置が受信する前記対象メッセージおよび前記検知装置が受信する前記基準メッセージを監視し、
前記検知部は、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、
前記判定基準は、前記基準メッセージを送信する車載装置における発振器によって生じるジッタ、および前記検知装置における発振器によって生じるジッタに基づいて設定される、請求項1から請求項のいずれか1項に記載の検知装置。
【請求項6】
請求項1から請求項のいずれか1項に記載の検知装置を備える、車両。
【請求項7】
車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、
前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視するステップと、
監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出するステップと、
算出した前記時間差に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含み、
前記正当メッセージの送信周期および前記基準メッセージの送信周期が互いに異なり、
前記検知処理を行うステップにおいては、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、
前記検知処理を行うステップにおいては、複数の前記判定基準を切り替えながら前記検知処理を行う、検知方法。
【請求項8】
車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、
コンピュータを、
前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、
前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、
前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部、
として機能させるためのプログラムであり、
前記正当メッセージの送信周期および前記基準メッセージの送信周期が互いに異なり、
前記検知部は、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、
前記検知部は、複数の前記判定基準を切り替えながら前記検知処理を行う、検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検知装置、車両、検知方法および検知プログラムに関する。
この出願は、2019年9月30日に出願された日本出願特願2019-178176号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【0002】
特許文献1(特開2014-146868号公報)には、以下のようなネットワーク装置が開示されている。すなわち、ネットワーク装置は、データを受信する通信部と、データを受信した受信時間を管理する時間管理部と、受信したデータを処理する制御部とを有し、周期的にデータを受信して処理するネットワーク装置において、前記制御部は、前記通信部で受信したデータが有する識別子毎に前記時間管理部における受信時刻を記録し、基準とするデータと同じ識別子を持つデータを受信した間隔が所定周期より短い第1のデータを受信した場合に、前記基準とするデータを受信した時刻から前記所定周期経過するまでに前記第1のデータと同じ識別子を持つ第2のデータを受信した時には、周期異常検出時処理を行い、前記所定周期経過するまでに前記第1のデータと同じ識別子を持つデータを受信しなかった時には、前記第1のデータについて所定の処理を行う。
【0003】
また、特許文献2(特開2018-182725号公報)には、以下のような不正通信検知基準決定方法が開示されている。すなわち、不正通信検知基準決定方法は、記憶部を含む情報処理システムで実行される、ネットワーク及び前記ネットワークに接続される1以上の電子制御ユニットを含む車載ネットワークシステムにおける不正通信の検知に用いる基準メッセージの決定方法であって、前記車載ネットワークシステムに対する攻撃メッセージに関する情報から、前記攻撃メッセージの特徴を示す通信パターンを識別する通信パターン識別ステップと、前記ネットワークに送出されたメッセージが、前記通信パターン識別ステップで識別された通信パターンに適合するか否かを判定する通信パターン判定ステップと、前記ネットワークに送出されるメッセージが攻撃メッセージであるか否かの判定の基準に用いる基準メッセージを、前記通信パターン判定ステップにおける判定結果を用いて決定する基準メッセージ決定ステップとを含む。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-146868号公報
【文献】特開2018-182725号公報
【発明の概要】
【0005】
本開示の検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備える。
【0006】
本開示の検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視するステップと、監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出するステップと、算出した前記時間差に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含む。
【0007】
本開示の検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部、として機能させるためのプログラムである。
【0008】
本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現され得たり、検知装置を備えるシステムとして実現され得る。また、本開示の一態様は、検知装置を備えるシステムの一部または全部を実現する半導体集積回路として実現され得たり、検知装置を備えるシステムにおける処理のステップをコンピュータに実行させるためのプログラムとして実現され得る。
【図面の簡単な説明】
【0009】
図1図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
図2図2は、本開示の実施の形態に係るバス接続装置群の構成を示す図である。
図3図3は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図4図4は、本開示の実施の形態に係る車載通信システムにおける制御装置およびゲートウェイ装置のハードウェア構成の一例を示す図である。
図5図5は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。
図6図6は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の他の例を示す図である。
図7図7は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の他の例を示す図である。
図8図8は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。
図9図9は、本開示の実施の形態に係る車載通信システムにおけるすべての対象メッセージを正当メッセージとしたときに算出されるマハラノビス距離の度数分布の一例を示す図である。
図10図10は、本開示の実施の形態に係る車載通信システムにおける基準メッセージの受信時刻の分布の一例を示す図である。
図11図11は、本開示の実施の形態に係る車載通信システムにおける基準メッセージの受信時刻の分布の他の例を示す図である。
図12図12は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の一例を示す図である。
図13図13は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の他の例を示す図である。
図14図14は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の他の例を示す図である。
図15図15は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。
図16図16は、本開示の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図17図17は、本開示の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の他の例を定めたフローチャートである。
図18図18は、本開示の実施の形態に係る車載通信システムのゲートウェイ装置における検知処理の一例を定めたフローチャートである。
図19図19は、本開示の実施の形態に係る車載通信システムのゲートウェイ装置における検知処理の他の例を定めたフローチャートである。
図20図20は、本開示の実施の形態に係る車載ネットワークの接続トポロジの一例を示す図である。
【0010】
従来、車載ネットワークにおけるセキュリティを向上させるための技術が開発されている。
【0011】
[本開示が解決しようとする課題]
上述の特許文献1および2に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0012】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージをより正しく検知することが可能な検知装置、車両、検知方法および検知プログラムを提供することである。
【0013】
[本開示の効果]
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することが可能である。
【0014】
[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。
【0015】
(1)本開示の実施の形態に係る検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備える。
【0016】
このように、対象メッセージの送信時刻に対応する時刻と、基準メッセージの送信時刻に対応する時刻との時間差に基づいて検知処理を行う構成により、基準メッセージの送信時刻に対応する時刻を基準として検知処理を行うことができるため、対象メッセージに含まれる不正メッセージの受信時刻を基準として検知処理を行うことによる誤検知の発生を回避することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0017】
(2)好ましくは、前記正当メッセージの送信周期および前記基準メッセージの送信周期が互いに異なり、前記検知部は、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、前記検知部は、複数の前記判定基準を切り替えながら前記検知処理を行う。
【0018】
このような構成により、正当メッセージの送信周期と基準メッセージの送信周期との差に基づく時間差の変化に対応して、複数の判定基準を切り替えながら検知処理を行うことができるため、様々な送信周期の周期メッセージを基準メッセージとして用いることができる柔軟な検知処理が可能となる。
【0019】
(3)より好ましくは、前記検知部が前記検知処理において用いる前記判定基準の数は、前記正当メッセージの送信周期と前記基準メッセージの送信周期との最小公倍数、および前記正当メッセージの送信周期に基づいて決定される。
【0020】
このような構成により、正当メッセージの送信周期と基準メッセージの送信周期との差に基づく時間差の大きさに応じて、複数の判定基準に従って対象メッセージが不正メッセージであるか否かを判定することができるため、たとえばすべての対象メッセージについて、不正メッセージであるか否かの判定を行うことができる。
【0021】
(4)好ましくは、前記検知装置は、さらに、前記監視部による監視結果に基づいて、前記基準メッセージの異常を検知し、前記異常を検知した場合に所定の処理を行う異常検知部を備える。
【0022】
このような構成により、基準メッセージの異常が検知された場合、たとえば、当該基準メッセージの送信時刻に対応する時刻を基準とした検知処理を行わないようにすることができるため、誤検知の発生を抑制することができる。
【0023】
(5)好ましくは、前記検知部は、前記対象メッセージである第1の対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との前記時間差、および前記第1の対象メッセージの後に送信される前記対象メッセージである第2の対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との前記時間差に基づいて、前記第1の対象メッセージに関する異常を検知する。
【0024】
このような構成により、たとえば、基準メッセージの送信時刻に対応する時刻を基準として正常であると判定される時間内に複数の対象メッセージが送信された場合、たとえば、実際には不正メッセージを含む当該複数の対象メッセージを正当メッセージであると誤判定した場合であっても、当該複数の対象メッセージは異常である可能性があると判断することができる。これにより、検知処理において検知することができなかった不正メッセージを、たとえばグレー判定することができる。
【0025】
(6)好ましくは、前記監視部は、前記検知装置が受信する前記対象メッセージおよび前記検知装置が受信する前記基準メッセージを監視し、前記検知部は、前記検知処理として、前記対象メッセージが前記不正メッセージであるか否かを判定基準に従って判定し、前記判定基準は、前記基準メッセージを送信する車載装置における発振器によって生じるジッタ、および前記検知装置における発振器によって生じるジッタに基づいて設定される。
【0026】
このような構成により、たとえば、車載装置における発振器によって生じるジッタに基づくメッセージの送信時刻の誤差、および検知装置における発振器によって生じるジッタに基づくメッセージの受信時刻の誤差を考慮した判断基準に基づいて、より正確な検知処理を行うことができる。
【0027】
(7)本開示の実施の形態に係る車両は、前記検知装置を備える。
【0028】
このような構成により、検知装置を備える車両において、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0029】
(8)本開示の実施の形態に係る検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視するステップと、監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出するステップと、算出した前記時間差に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含む。
【0030】
このように、対象メッセージの送信時刻に対応する時刻と、基準メッセージの送信時刻に対応する時刻との時間差に基づいて検知処理を行う方法により、基準メッセージの送信時刻に対応する時刻を基準として検知処理を行うことができるため、対象メッセージに含まれる不正メッセージの受信時刻を基準として検知処理を行うことによる誤検知の発生を回避することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0031】
(9)本開示の実施の形態に係る検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部、して機能させるためのプログラムである。
【0032】
このように、対象メッセージの送信時刻に対応する時刻と、基準メッセージの送信時刻に対応する時刻との時間差に基づいて検知処理を行う構成により、基準メッセージの送信時刻に対応する時刻を基準として検知処理を行うことができるため、対象メッセージに含まれる不正メッセージの受信時刻を基準として検知処理を行うことによる誤検知の発生を回避することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0033】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0034】
[構成および基本動作]
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
【0035】
図1を参照して、車載通信システム301は、ゲートウェイ装置101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。ゲートウェイ装置101は、検知装置の一例である。車載通信システム301は、車両1に搭載される。
【0036】
図2は、本開示の実施の形態に係るバス接続装置群の構成を示す図である。
【0037】
図2を参照して、バス接続装置群121は、複数の制御装置122を含む。なお、バス接続装置群121は、複数の制御装置122を備える構成に限らず、1つの制御装置122を含む構成であってもよい。
【0038】
車載ネットワーク12は、車両1の内部における装置である車載装置を複数含む。具体的には、車載ネットワーク12は、車載装置の一例である、複数の車載通信機111および複数の制御装置122を含む。なお、車載ネットワーク12は、複数の車載装置を含む構成であれば、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
【0039】
車載ネットワーク12において、車載通信機111は、たとえば、車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)、近距離無線端末装置、およびITS(Intelligent Transport Systems)無線機である。
【0040】
TCUは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCUは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
【0041】
近距離無線端末装置は、たとえば、Wi-Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、車両1に乗車している人間すなわち搭乗者の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
【0042】
また、近距離無線端末装置は、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
【0043】
ITS無線機は、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機は、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
【0044】
ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
【0045】
ゲートウェイ装置101は、たとえばバス13,14を介して車載装置と接続する。具体的には、バス13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従うバスである。
【0046】
この例では、車載通信機111は、イーサネットの規格に従う対応のバス14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応のバス13を介してゲートウェイ装置101と接続されている。
【0047】
バス13は、たとえば系統別に設けられる。具体的には、バス13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
【0048】
駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
【0049】
シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
【0050】
ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
【0051】
AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
【0052】
また、バス13には、制御装置122が接続される構成に限らず、制御装置122以外の装置が接続されてもよい。
【0053】
ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、車載装置と通信を行うことが可能である。
【0054】
ゲートウェイ装置101は、たとえば、車両1において異なるバス13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
【0055】
より詳細には、車両1では、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期的にメッセージが送信される。この例では、ある制御装置122から他の制御装置122へ周期的に送信されるメッセージについて説明するが、制御装置122および車載通信機111間において送信されるメッセージ、ならびに各車載通信機111間において送信されるメッセージについても同様である。
【0056】
メッセージの送信は、ブロードキャストによって行われてもよいし、ユニキャストによって行われてもよいし、マルチキャストによって行われてもよい。以下、周期的に送信されるメッセージを周期メッセージとも称する。
【0057】
車両1では、周期メッセージの他に、ある制御装置122から他の制御装置122へ不定期に送信されるメッセージが存在する。メッセージには、メッセージの内容、送信元およびメッセージ番号等を識別するためのID(Identifier)が含まれる。メッセージに含まれるIDによって、当該メッセージが周期メッセージであるか否かを識別することが可能である。
【0058】
[ゲートウェイ装置の構成]
図3は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【0059】
図3を参照して、ゲートウェイ装置101は、通信処理部51と、監視部52と、算出部53と、検知部54と、記憶部55と、異常検知部56とを備える。記憶部55は、たとえば、たとえばフラッシュメモリである。通信処理部51、監視部52、算出部53、検知部54および異常検知部56は、たとえば、CPU(Central Processing Unit)およびDSP(Digital Signal Processor)等のプロセッサによって実現される。
【0060】
ゲートウェイ装置101は、検知装置として機能し、車載ネットワーク12における不正メッセージを検知する検知処理を行う。
【0061】
[通信処理部]
通信処理部51は、制御装置122間で伝送されるメッセージを中継する中継処理を行う。
【0062】
たとえば、通信処理部51は、ある制御装置122から対応のバス13経由でメッセージを受信すると、受信したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付与する。そして、通信処理部51は、タイムスタンプが付与されたメッセージを他の制御装置122へ対応のバス13経由で送信する。
【0063】
[監視部]
監視部52は、正当な周期メッセージおよび不正メッセージをゲートウェイ装置101における検知処理の対象となるメッセージすなわち対象メッセージMaとして監視するとともに、周期的に送信される基準メッセージMbを監視する。
【0064】
より詳細には、監視部52は、車載ネットワーク12における、2種類の周期メッセージM1,M2を監視する。
【0065】
たとえば、周期メッセージM1,M2は、IDが互いに異なるメッセージである。具体的には、周期メッセージM1,M2は、送信元アドレスおよび送信先アドレスの少なくとも一方が互いに異なる。あるいは、周期メッセージM1,M2は、IPヘッダのポート番号が互いに異なる。
【0066】
図4は、本開示の実施の形態に係る車載通信システムにおける制御装置およびゲートウェイ装置のハードウェア構成の一例を示す図である。
【0067】
図4を参照して、制御装置122の一例である制御装置122Aは、発振器131Aと、CPU(Central Processing Unit)132Aと、CANトランシーバ133Aとを備える。また、制御装置122の一例である制御装置122Bは、発振器131Bと、CPU132Bと、CANトランシーバ133Bとを備える。
【0068】
ゲートウェイ装置101は、CPU141と、CANトランシーバ142と、発振器143とを備える。CPU141は、監視部52、算出部53および検知部54の一部または全部を実現する。CANトランシーバ142は、通信処理部51の一部または全部を実現する。
【0069】
制御装置122Aは、送信周期Taで周期メッセージM1を送信する。より詳細には、制御装置122AにおけるCPU132Aは、発振器131Aからの発振信号に基づいて生成されるクロックのタイミングに従って、CANトランシーバ133A経由で周期メッセージM1をブロードキャストまたはユニキャストする。
【0070】
制御装置122Bは、送信周期Tbで周期メッセージM2を送信する。より詳細には、制御装置122BにおけるCPU132Bは、発振器131Bからの発振信号に基づいて生成されるクロックのタイミングに従って、CANトランシーバ133B経由で周期メッセージM2をブロードキャストまたはユニキャストする。
【0071】
ゲートウェイ装置101におけるCANトランシーバ142は、発振器143からの発振信号に基づいて生成されるクロックのタイミングに従って、制御装置122Aから受信した周期メッセージM1に受信時刻を示すタイムスタンプを付与する。また、CANトランシーバ142は、発振器143からの発振信号に基づいて生成されるクロックのタイミングに従って、制御装置122Bから受信した周期メッセージM2に受信時刻を示すタイムスタンプを付与する。
【0072】
制御装置122Aから受信したメッセージおよび制御装置122Bから受信したメッセージのいずれか一方は、対象メッセージMaであり、周期メッセージM1,M2のいずれか他方は、検知処理において不正メッセージであるか否かの判定に用いられるメッセージすなわち基準メッセージMbである。以下では、一例として、制御装置122Aから受信したメッセージを対象メッセージMaとし、制御装置122Bから受信したメッセージを基準メッセージMbとする。
【0073】
たとえば、ゲートウェイ装置101が制御装置122Aから受信するメッセージの一部は、不正メッセージである。監視部52は、制御装置122Aからの正当な周期メッセージM1および不正メッセージを対象メッセージMaとして監視するとともに、制御装置122Bからの周期メッセージM2を基準メッセージMbとして監視する。
【0074】
監視部52は、通信処理部51によって中継されるメッセージを監視することにより、対象メッセージMaの受信時刻taおよび基準メッセージMbの受信時刻tbを取得する。
【0075】
たとえば、記憶部55は、対象メッセージMaのIDおよび基準メッセージMbのIDを記憶している。以下、対象メッセージMaのIDを対象IDとも称し、基準メッセージMbのIDを基準IDとも称する。
【0076】
監視部52は、中継処理を行うべきメッセージを通信処理部51が受信すると、通信処理部51によって受信されたメッセージに含まれるID、ならびに記憶部55における対象IDおよび基準IDを確認する。
【0077】
そして、監視部52は、通信処理部51によって受信されたメッセージに含まれるIDが対象IDと一致する場合、通信処理部51によって受信されたメッセージが対象メッセージMaであると認識し、当該対象メッセージMaに付与されたタイムスタンプを参照することにより、対象メッセージMaの受信時刻taを取得する。
【0078】
監視部52は、受信時刻taを取得すると、取得した受信時刻taを示す受信情報を、通信処理部51によって何番目に受信された対象メッセージMaであるかを示す受信番号N1と対応付けて記憶部55に保存する。
【0079】
また、監視部52は、通信処理部51によって受信されたメッセージに含まれるIDが基準IDと一致する場合、通信処理部51によって受信されたメッセージが基準メッセージMbであると認識し、当該基準メッセージMbに付与されたタイムスタンプを参照することにより、基準メッセージMbの受信時刻tbを取得する。
【0080】
監視部52は、受信時刻tbを取得すると、取得した受信時刻tbを示す受信情報を、通信処理部51によって何番目に受信された基準メッセージMbであるかを示す受信番号N2と対応付けて記憶部55に保存する。
【0081】
[算出部]
算出部53は、監視部52による監視結果に基づいて、対象メッセージMaの送信時刻に対応する時刻と基準メッセージMbの送信時刻に対応する時刻との時間差を算出する。
【0082】
より詳細には、算出部53は、記憶部55に保存された受信情報に基づいて、対象メッセージMaの受信時刻taと、基準メッセージMbの受信時刻tbとの時間差を算出する。
【0083】
(算出例1)
図5は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。図5において、横軸は時刻を示す。また、図5は、すべての対象メッセージMaが正当メッセージである場合において、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとが等しい場合を示している。
【0084】
図5を参照して、たとえば、算出部53は、記憶部55に保存された受信情報に基づいて、受信番号N1がpであるp回目の対象メッセージMapの受信時刻tapと、受信番号N2がqであるq回目の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出する。ここで、pは、1以上の整数である。qは、1以上の整数である。たとえば、qはpと等しい。
【0085】
p回目の対象メッセージMapの受信時刻tapは、以下の式(1)で表される。
【数1】
【0086】
また、q回目の基準メッセージMbqの受信時刻tbqは、以下の式(2)で表される。
【数2】
【0087】
ここで、E1は、制御装置122Aにおける発振器131Aによって生じるジッタに基づくメッセージの送信時刻の誤差である。E2は、制御装置122Bにおける発振器131Bによって生じるジッタに基づくメッセージの送信時刻の誤差である。E3は、ゲートウェイ装置101における発振器143によって生じるジッタに基づくメッセージの受信時刻の誤差である。なお、E1,E2,E3は、それぞれ、発振器131A,131B,143の、製造工程、使用環境および経年劣化等によって生じる誤差である。
【0088】
また、Aiは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。Biは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。S1は、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとの位相差すなわちオフセットである。
【0089】
また、時間差Xpは、式(1)から式(2)を差し引くことにより、以下の式(3)で表される。なお、式(3)では、q=pとしている。
【数3】
【0090】
ここで、上述したように、送信周期Taと送信周期Tbとは互いに等しい。また、遅延時間Ai,Biは、それぞれ、通信状況に応じて各々が独立して増減を繰り返すことから、式(3)中のシグマ項は、単調に増加することのない、ある数値範囲内において増減を繰り返す誤差Error1に置き換えることができる。さらに、発振器131Aの発振信号の誤差に基づく誤差E1と、発振器131Bの発振信号の誤差に基づく誤差E2とが等しいと仮定すると、時間差Xpは、以下の式(4)で表すことができる。
【数4】
【0091】
したがって、時間差Xpは、受信番号N1,N2に依存しない値となり、時間差Xpの確率分布は、たとえば正規分布となる。
【0092】
算出部53は、監視部52によって記憶部55に受信情報が保存されると、記憶部55に保存された受信情報に基づいて、受信時刻tapと受信時刻tbpとの時間差Xpを算出し、算出した時間差Xpを示す時間差情報を記憶部55に保存する。
【0093】
(算出例2)
図6は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の他の例を示す図である。図6において、横軸は時刻を示す。また、図6は、すべての対象メッセージMaが正当メッセージである場合において、基準メッセージMbの送信周期Tbが対象メッセージMaの送信周期Taより短い場合を示している。具体的には、図6は、送信周期Tbが3秒であり、送信周期Taが7秒である場合を示している。
【0094】
図6を参照して、たとえば、算出部53は、記憶部55に保存された受信情報に基づいて、p回目の対象メッセージMapの受信時刻tapと、受信時刻tapの直前に受信されたq回目の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出する。
【0095】
対象メッセージMapの送信時刻と、基準メッセージMbqの送信時刻との時間差は、理論上は、送信周期Taと送信周期Tbとの最小公倍数Lの周期で変化する。図6に示す例では、送信周期Tbが3秒であり、送信周期Taが7秒であるため、最小公倍数Lは21秒である。
【0096】
LをTaで除した値をL1とすると、(L1×k+1)回目の対象メッセージMa(L1×k+1)の受信時刻ta(L1×k+1)は、以下の式(5)で表される。
【数5】
【0097】
また、LをTbで除した値をL2とすると、(L2×k+1)回目の基準メッセージMb(L2×k+1)の受信時刻tb(L2×k+1)は、以下の式(6)で表される。
【数6】
【0098】
ここで、E4は、制御装置122Aにおける発振器131Aによって生じるジッタに基づくメッセージの送信時刻の誤差である。E5は、制御装置122Bにおける発振器131Bによって生じるジッタに基づくメッセージの送信時刻の誤差である。E6は、ゲートウェイ装置101における発振器143によって生じるジッタに基づくメッセージの受信時刻の誤差である。なお、E4,E5,E6は、それぞれ、発振器131A,131B,143の、製造工程、使用環境および経年劣化等によって生じる誤差である。
【0099】
また、Ciは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。Diは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。S2は、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとの位相差すなわちオフセットである。
【0100】
また、時間差X(L1×k+1)は、式(5)から式(6)を差し引くことにより、以下の式(7)で表される。
【数7】
【0101】
ここで、遅延時間Ci,Diは、それぞれ、通信状況に応じて各々が独立して増減を繰り返すことから、式(7)中のシグマ項は、単調に増加することのない、ある数値範囲内において増減を繰り返す誤差Error2に置き換えることができる。また、発振器131Aの発振信号の誤差に基づく誤差E4と、発振器131Bの発振信号の誤差に基づく誤差E5とが等しいと仮定すると、時間差X(L1×k+1)は、以下の式(8)で表すことができる。
【数8】
【0102】
したがって、時間差X(L1×k+1)は、受信番号N1,N2に依存しない値となり、時間差X(L1×k+1)の確率分布は、たとえば正規分布となる。
【0103】
算出部53は、監視部52によって記憶部55に受信情報が保存されると、記憶部55に保存された受信情報に基づいて、受信時刻tapと受信時刻tbqとの時間差Xpを算出し、算出した時間差Xpを示す時間差情報を記憶部55に保存する。
【0104】
(算出例3)
図7は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の他の例を示す図である。図7において、横軸は時刻を示す。また、図7は、すべての対象メッセージMaが正当メッセージである場合において、対象メッセージMaの送信周期Taが基準メッセージMbの送信周期Tbより短い場合を示している。具体的には、図7は、送信周期Taが3秒であり、送信周期Tbが7秒である場合を示している。
【0105】
図7を参照して、たとえば、算出部53は、記憶部55に保存された受信情報に基づいて、p回目の対象メッセージMapの受信時刻tapと、受信時刻tapの直前に受信されたq回目の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出する。ここで、pは、1以上の整数である。qは、1以上の整数である。
【0106】
対象メッセージMapの送信時刻と、基準メッセージMbqの送信時刻との時間差は、理論上は、送信周期Taと送信周期Tbとの最小公倍数L秒の周期で変化する。図7に示す例では、送信周期Tbが7秒であり、送信周期Taが3秒であるため、最小公倍数Lは21である。
【0107】
LをTaで除した値をL1とすると、(L1×k+1)回目の対象メッセージMa(L1×k+1)の受信時刻ta(L1×k+1)は、以下の式(9)で表される。
【数9】
【0108】
また、LをTbで除した値をL2とすると、(L2×k+1)回目の基準メッセージMb(L2×k+1)の受信時刻tb(L2×k+1)は、以下の式(10)で表される。
【数10】
【0109】
ここで、E7は、制御装置122Aにおける発振器131Aによって生じるジッタに基づくメッセージの送信時刻の誤差である。E8は、制御装置122Bにおける発振器131Bによって生じるジッタに基づくメッセージの送信時刻の誤差である。E9は、ゲートウェイ装置101における発振器143によって生じるジッタに基づくメッセージの受信時刻の誤差である。なお、E7,E8,E9は、それぞれ、発振器131A,131B,143の、製造工程、使用環境および経年劣化等によって生じる誤差である。
【0110】
また、Eiは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。Fiは、制御装置122Aからのi番目のメッセージの、バス13における衝突および送信待機遅延によって生じる遅延時間である。S2は、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとの位相差すなわちオフセットである。
【0111】
また、時間差X(L1×k+1)は、式(9)から式(10)を差し引くことにより、以下の式(11)で表される。
【数11】
【0112】
ここで、遅延時間Ei,Fiは、それぞれ、通信状況に応じて各々が独立して増減を繰り返すことから、式(11)中のシグマ項は、単調に増加することのない、ある数値範囲内において増減を繰り返す誤差Error3に置き換えることができる。また、発振器131Aの発振信号の誤差に基づく誤差E7と、発振器131Bの発振信号の誤差に基づく誤差E8とが等しいと仮定すると、時間差X(L1×k+1)は、以下の式(12)で表すことができる。
【数12】
【0113】
したがって、時間差X(L1×k+1)は、受信番号N1,N2に依存しない値となり、時間差X(L1×k+1)の確率分布は、たとえば正規分布となる。
【0114】
算出部53は、監視部52によって記憶部55に受信情報が保存されると、記憶部55に保存された受信情報に基づいて、受信時刻tapと受信時刻tbqとの時間差Xpを算出し、算出した時間差Xpを示す時間差情報を記憶部55に保存する。
【0115】
(算出例4)
図8は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。図8において、横軸は時刻を示す。また、図8は、すべての対象メッセージMaが正当メッセージである場合において、対象メッセージMaの送信周期Taと、基準メッセージMbxの送信周期Tbx、基準メッセージMbyの送信周期Tbyおよび基準メッセージMbzの送信周期Tbzとが等しい場合を示している。
【0116】
図8を参照して、たとえば、算出部53は、記憶部55に保存された受信情報に基づいて、p回目の対象メッセージMapの受信時刻tapと、q回目の基準メッセージMbxqの受信時刻tbxqとの時間差Xxqを算出する。また、算出部53は、記憶部55に保存された受信情報に基づいて、q回目の対象メッセージMaqの受信時刻taqと、q回目の基準メッセージMbyqの受信時刻tbyqとの時間差Xyqを算出する。さらに、算出部53は、記憶部55に保存された受信情報に基づいて、q回目の対象メッセージMaqの受信時刻taqと、q回目の基準メッセージMbzqの受信時刻tbzqとの時間差Xzqを算出する。
【0117】
算出部53は、監視部52によって記憶部55に受信情報が保存されると、記憶部55に保存された受信情報に基づいて、時間差Xpとして、時間差Xxp,Xyp,Xzpを算出し、算出した時間差Xxp,Xyp,Xzpを示す時間差情報を記憶部55に保存する。
【0118】
[検知部]
検知部54は、算出部53によって算出された時間差Xpに基づいて、不正メッセージを検知する検知処理を行う。
【0119】
より詳細には、検知部54は、検知処理として、対象メッセージMaが不正メッセージであるか否かを判定基準に従って判定する。
【0120】
上記判定基準は、たとえば、基準メッセージMbを送信する制御装置122Bにおける発振器131Bによって生じるジッタ、およびゲートウェイ装置101における発振器143によって生じるジッタに基づいて設定される。具体的には、上記判定基準は、たとえば、発振器131Bによって生じるジッタに基づくメッセージの送信時刻の誤差、および発振器143によって生じるジッタに基づくメッセージの受信時刻の誤差に基づいて設定される。
【0121】
たとえば、検知部54は、算出部53によって記憶部55に時間差情報が保存されると、時間差情報が示す時間差Xpの統計距離を算出し、算出した統計距離としきい値Thとを比較する。そして、検知部54は、統計距離としきい値Thとの比較結果に基づいて、対象メッセージMaが不正メッセージであるか否かを判定する。
【0122】
たとえば、検知部54は、以下の式(13)に従って、統計距離の一例であるマハラノビス距離D^2を算出する。なお、「D^2」は、Dの2乗を意味する。
【数13】
【0123】
検知部54は、算出したマハラノビス距離D^2がしきい値Th以下である場合、対象メッセージMaは正当メッセージであると判断する。一方、検知部54は、算出したマハラノビス距離D^2がしきい値Thより大きい場合、対象メッセージMaは不正メッセージであると判断する。
【0124】
算出したマハラノビス距離D^2との比較に用いるしきい値Thは、対象メッセージMaの中に不正メッセージが存在するか否かを正確に判断することができるよう、適切な値であることが好ましい。
【0125】
たとえば、車両1の製造者は、予め、車両1と同じ種類のテスト車両のゲートウェイ装置101を用いて、すべての対象メッセージMaを正当メッセージとしたときに算出部53によって算出される時間差Xpを用いてマハラノビス距離D^2を算出する。
【0126】
図9は、本開示の実施の形態に係る車載通信システムにおけるすべての対象メッセージを正当メッセージとしたときに算出されるマハラノビス距離の度数分布の一例を示す図である。
【0127】
図9を参照して、すべての対象メッセージMaが正当メッセージであるときの時間差Xpを用いて算出されるマハラノビス距離D^2が大きくなるほど、度数が減少する。
【0128】
たとえば、検知部54は、起動時において、図9に示すマハラノビス距離D^2の度数分布を記憶部55から取得し、FPR(False Positive Rate)がゼロとなる範囲でしきい値Th1が最も小さくなるように、しきい値Th1を設定することが好ましい。ここで、FPRは偽陽性率であり、偽陽性/(偽陽性+真陰性)で表される。真陰性とは、正当メッセージを正当メッセージとして認識した度数であり、偽陽性とは、正当メッセージを不正メッセージとして検知した度数である。なお、記憶部55は、車両1の製造者によって予め決定されたしきい値Th1を記憶している構成であってもよい。この場合、検知部54は、起動時において、当該しきい値Th1を記憶部55から取得する。
【0129】
検知部54は、マハラノビス距離D^2およびしきい値Thに基づく判断結果を示す判断情報を通信処理部51へ出力する。
【0130】
通信処理部51は、検知部54から受けた判断情報が、対象メッセージMaが正当メッセージであることを示す場合、当該対象メッセージMaを送信先の制御装置122へ送信する。
【0131】
一方、通信処理部51は、検知部54から受けた判断情報が、対象メッセージMaが不正メッセージであることを示す場合、以下の処理を行う。
【0132】
すなわち、通信処理部51は、判断情報が示す対象メッセージMaを記録する。また、通信処理部51は、バス13において不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する。
【0133】
[異常検知部]
異常検知部56は、監視部52による監視結果に基づいて、基準メッセージMbの異常を検知し、異常を検知した場合に所定の処理を行う。
【0134】
より詳細には、異常検知部56は、記憶部55に保存された受信情報、および基準メッセージMbの送信周期Tbに基づいて、基準メッセージMbの異常を検知する。
【0135】
たとえば、記憶部55は、基準メッセージMbの異常を検知する際に用いる判断基準である所定のしきい値ThBを記憶している。
【0136】
図10は、本開示の実施の形態に係る車載通信システムにおける基準メッセージの受信時刻の分布の一例を示す図である。図10において、横軸は時刻を示す。
【0137】
図10を参照して、異常検知部56は、基準メッセージMb(q-1)の受信時刻tb(q-1)およびしきい値ThBに基づいて、次の基準メッセージMbqの異常を検知するための、基準メッセージMbqの受信時刻tbqの許容範囲を規定するしきい値ThBq1,ThBq2を設定する。
【0138】
そして、異常検知部56は、次の基準メッセージMbqの受信時刻tbqが記憶部55に保存されると、記憶部55における受信時刻tbqと設定したしきい値ThBq1,ThBq2とを比較する。
【0139】
異常検知部56は、受信時刻tbqが、しきい値ThBq1以上しきい値ThBq2以下である場合、すなわちしきい値ThBq1,ThBq2により規定された許容範囲内である場合、基準メッセージMbqは正常であると判断する。
【0140】
一方、異常検知部56は、受信時刻tbqが、しきい値ThBq1未満であるか、またはしきい値ThBq2より大きい場合、すなわちしきい値ThBq1,ThBq2により規定された許容範囲外である場合、基準メッセージMbqは異常であると判断する。異常検知部56は、基準メッセージMbqが異常であると判断すると、異常であると判断した基準メッセージMbqを示す異常判定情報を算出部53へ通知する。
【0141】
たとえば、算出部53は、異常検知部56から異常判定情報を受けると、受けた異常判定情報が示す基準メッセージMb以外の基準メッセージMbの受信時刻tbを用いて、時間差Xpを算出する。あるいは、算出部53は、異常検知部56から異常判定情報を受けると、時間差Xpの算出を停止する。
【0142】
再び図8を参照して、たとえば、記憶部55における受信情報として、複数種類の基準メッセージMbの受信時刻tbが保存されている場合、異常検知部56は、各種類の基準メッセージMbの異常を検知する。
【0143】
たとえば、異常検知部56は、基準メッセージMbqの受信時刻tbq、基準メッセージMbqの後に送信される次の基準メッセージMb(q+1)の受信時刻tb(q+1)に基づいて、基準メッセージMbqに関する異常を検知する。
【0144】
図11は、本開示の実施の形態に係る車載通信システムにおける基準メッセージの受信時刻の分布の他の例を示す図である。図11において、横軸は時刻を示す。
【0145】
図11を参照して、異常検知部56は、受信時刻tbqがしきい値ThBq1,ThBq2により規定された許容範囲内である基準メッセージMbqを正常であると判断した後、基準メッセージMbqの後に送信される次の基準メッセージMb(q+1)の受信時刻tb(q+1)が、しきい値ThBq1,ThBq2により規定された許容範囲内である場合、基準メッセージMbq,Mb(q+1)は異常である可能性があると判断する。
【0146】
異常検知部56は、基準メッセージMbq,Mb(q+1)が異常である可能性があると判断すると、異常である可能性がある基準メッセージMbq,Mb(q+1)を示す異常判定情報を算出部53へ通知する。
【0147】
算出部53は、異常検知部56から異常判定情報を受けると、受けた異常判定情報が示す、異常である可能性がある基準メッセージMb以外の基準メッセージMbの受信時刻tbを用いて、時間差Xpを算出する。
【0148】
(しきい値の切り替え処理)
上述したように、すべての対象メッセージMaが正当メッセージである場合において、対象メッセージMaの送信周期Taおよび基準メッセージMbの送信周期Tbが互いに異なる場合がある。検知部54は、複数の判定基準を切り替えながら、検知処理を行う。
【0149】
たとえば、再び図6を参照して、基準メッセージMbの送信周期Tbが対象メッセージMaの送信周期Taより短い場合、算出部53によって算出される時間差Xpは、周期的に変化する。
【0150】
検知部54は、時間差Xpの周期的な変化に応じて、複数の判定基準を切り替えながら、検知処理を行う。
【0151】
検知部54が検知処理において用いる判定基準の数は、すべての対象メッセージMaが正当メッセージである場合における、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとの最小公倍数L、および対象メッセージMaの送信周期Taに基づいて決定される。より詳細には、記憶部55は、車両1の製造者によって予め決定された数の判定基準たとえばしきい値Thを記憶している。
【0152】
たとえば、記憶部55は、すべての対象メッセージMaが正当メッセージである場合における対象メッセージMaの送信周期Ta、および基準メッセージMbの送信周期Tb、ならびにオフセットS1,S2,S3を記憶している。また、記憶部55は、検知部54が検知処理において用いる判定基準として、最小公倍数Lを送信周期Taで除した値の数のしきい値Thを記憶している。
【0153】
(しきい値の切り替え処理の具体例1)
図12は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の一例を示す図である。図12は、図6に示す対象メッセージおよび基準メッセージの受信時刻の分布に対応している。
【0154】
図12を参照して、対象メッセージMapの受信時刻tapと、当該対象メッセージMapの比較対象とすべき基準メッセージMbqの受信時刻tbqとの時間差Xpは、理論上は2秒、0秒、1秒、2秒のように周期的に変化する。
【0155】
図6および図12に示す例のように、対象メッセージMaの送信周期Taが7秒であり、基準メッセージMbの送信周期Tbが3秒である場合、記憶部55は、最小公倍数Lである21を送信周期Taである7で除した値に応じて、3つのしきい値Th1,Th2,Th3を記憶している。
【0156】
検知部54は、はじめに、3つのしきい値Th1,Th2,Th3のうち、マハラノビス距離D^2との比較に用いるべきしきい値Thを決定するための処理であるシンボル同期処理を行う。
【0157】
より詳細には、検知部54は、記憶部55に保存されている送信周期Ta,TbおよびオフセットS1,S2,S3に基づいて、予め、理論値である時間差Xpsを算出する。たとえば、検知部54は、最小公倍数Lを送信周期Taで除した値の数の時間差Xpsすなわち3つの時間差Xpsを算出する。
【0158】
そして、検知部54は、時間差情報として、3つの時間差Xpが記憶部55に保存されると、記憶部55に保存された3つの時間差Xpと、算出した3つの時間差Xpsとをそれぞれ比較するパターンマッチング処理を行う。
【0159】
より詳細には、検知部54は、3つの時間差Xpと対応の3つの時間差Xpsとの差分がそれぞれ所定のしきい値以下である場合、シンボル同期処理を終了する。そして、検知部54は、算出した時間差Xpsの変化に応じて、3つの時間差Xpsに対応して予め決定されたしきい値Th1,Th2,Th3を切り替えながら検知処理を行う。
【0160】
一方、検知部54は、3つの時間差Xpと対応の3つの時間差Xpsとの差分がそれぞれ所定のしきい値より大きい場合、新たな時間差情報が記憶部55に保存されるまで待機する。検知部54は、新たな3つの時間差Xpが記憶部55に保存されると、再度、パターンマッチング処理を行う。検知部54は、3つの時間差Xpと対応の3つの時間差Xpsとの差分がそれぞれ所定のしきい値以下となるまで、パターンマッチング処理を繰り返す。
【0161】
たとえば、異常検知部56は、対象メッセージMapの受信情報が記憶部55に保存されると、対象メッセージMapの受信時刻tapと直前の対象メッセージMa(p-1)の受信時刻ta(p-1)との間において受信された基準メッセージMbの異常を検知する。
【0162】
具体的には、異常検知部56は、受信時刻tapが30秒である対象メッセージMaの受信情報が記憶部55に保存されると、直前の対象メッセージMaの受信時刻である23秒から30秒の間において受信された、3つの基準メッセージMbの受信時刻tbqに基づいて、受信時刻tbqの時間差Xqを算出し、算出した時間差Xqと記憶部55におけるしきい値ThBとの比較結果に基づいて、基準メッセージMbの異常を検知する。
【0163】
異常検知部56は、基準メッセージMbに異常が発生していると判断すると、異常を検知した旨を示す異常判定情報を検知部54へ通知する。
【0164】
検知部54は、異常判定情報を異常検知部56から受けると、再びシンボル同期処理を行う。
【0165】
(しきい値の切り替え処理の具体例2)
図13は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の他の例を示す図である。図13は、図7に示す対象メッセージおよび基準メッセージの受信時刻の分布に対応している。
【0166】
図13を参照して、対象メッセージMapの受信時刻tapと、当該対象メッセージMapの比較対象とすべき基準メッセージMbqの受信時刻tbqとの時間差Xpは、理論上は0秒、2秒、1秒、0秒のように周期的に変化する。
【0167】
図7および図13に示す例のように、対象メッセージMaの送信周期Taが3秒であり、基準メッセージMbの送信周期Tbが7秒である場合、記憶部55は、最小公倍数Lである21を送信周期Taである3で除した値に応じて、7つのしきい値Th1,Th2,Th3,Th4,Th5,Th6,Th7を記憶している。
【0168】
検知部54は、はじめに、7つのしきい値Th1,Th2,Th3,Th4,Th5,Th6,Th7のうち、マハラノビス距離D^2との比較に用いるべきしきい値Thを決定する処理であるシンボル同期処理を行う。
【0169】
より詳細には、検知部54は、記憶部55に保存されている送信周期Ta,TbおよびオフセットS1,S2,S3に基づいて、予め、理論値である時間差Xpsを算出する。たとえば、検知部54は、最小公倍数Lを送信周期Taで除した値の数の時間差Xpsすなわち7つの時間差Xpsを算出する。
【0170】
そして、検知部54は、時間差情報として、7つの時間差Xpが記憶部55に保存されると、記憶部55に保存された7つの時間差Xpと、算出した7つの時間差Xpsとをそれぞれ比較する。
【0171】
たとえば、検知部54は、7つの時間差Xpと対応の7つの時間差Xpsとの差分がそれぞれ所定のしきい値以下である場合、シンボル同期処理を終了する。そして、検知部54は、算出した時間差Xpsの変化に応じて、7つの時間差Xpsに対応して予め決定されたしきい値Th1,Th2,Th3,Th4,Th5,Th6,Th7を切り替えながら検知処理を行う。
【0172】
一方、検知部54は、7つの時間差Xpと対応の7つの時間差Xpsとの差分がそれぞれ所定のしきい値より大きい場合、新たな時間差情報が記憶部55に保存されるまで待機する。検知部54は、新たな7つの時間差Xpが記憶部55に保存されると、再度、パターンマッチング処理を行う。検知部54は、7つの時間差Xpと対応の7つの時間差Xpsとの差分がそれぞれ所定のしきい値以下となるまで、パターンマッチング処理を繰り返す。
【0173】
(しきい値の切り替え処理の具体例3)
たとえば、検知部54は、基準メッセージMbの受信時刻tbに基づいて、仮想的な受信時刻tvbを生成することにより、基準メッセージMbを補完する。
【0174】
図14は、本開示の実施の形態に係る車載通信システムにおける対象メッセージの受信時刻と基準メッセージの受信時刻との関係の他の例を示す図である。図14は、図7に示す対象メッセージおよび基準メッセージの受信時刻の分布に対応している。
【0175】
図14を参照して、検知部54は、シンボル同期処理を実行した後、対象メッセージMapの受信時刻tbpを含む受信情報が監視部52によって記憶部55に保存されると、最新の基準メッセージMbの受信時刻tbを用いて、以下の式(14)および式(15)に従って、1つの基準メッセージMbの受信時刻tbに対してf個の受信時刻tvbを生成する。ここで、fは、1以上の整数である。
【数14】

【数15】
【0176】
ここで、Mgは、基準メッセージMbの遅延時間を考慮して設定される所定のマージンである。たとえば、マージンMgは、基準メッセージMbにおいて発生し得る最大の遅延時間にマイナス1を掛けた値である。また、eは、ある基準メッセージMbの受信時刻tbを用いて既に生成された受信時刻tvbの数である。
【0177】
検知部54は、生成した受信時刻tvbの後の時刻である、次の対象メッセージMa(p+1)の受信時刻ta(p+1)を含む受信情報が監視部52によって記憶部55に保存されると、最新の基準メッセージMbの受信時刻tbを用いて、式(15)におけるeに1を代入して再び受信時刻tvbを生成する。
【0178】
検知部54は、対象メッセージMaの受信時刻taと生成した受信時刻tvbとの時間差Xpにそれぞれ対応して予め設定されたしきい値Thを用いて検知処理を行う。
【0179】
[検知処理の他の例]
(グレー判定)
たとえば、検知部54は、対象メッセージMapの送信時刻に対応する時刻と基準メッセージMbの送信時刻に対応する時刻との時間差、および対象メッセージMapの後に送信される対象メッセージMa(p+1)の送信時刻に対応する時刻と基準メッセージMbの送信時刻に対応する時刻との時間差に基づいて、対象メッセージMapに関する異常を検知する。より詳細には、検知部54は、対象メッセージMapの受信時刻tapと基準メッセージMbの受信時刻tbとの時間差Xp、および対象メッセージMa(p+1)の受信時刻ta(p+1)と基準メッセージMbの受信時刻tbとの時間差X(p+1)に基づいて、対象メッセージMapに関する異常を検知する。
【0180】
図15は、本開示の実施の形態に係る車載通信システムにおける対象メッセージおよび基準メッセージの受信時刻の分布の一例を示す図である。図15において、横軸は時刻を示す。また、図15は、すべての対象メッセージMaが正当メッセージである場合において、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとが等しい場合を示している。
【0181】
図15を参照して、上述したように、算出部53は、対象メッセージMapの受信時刻tapと、基準メッセージMbqの受信時刻tbqとの時間差Xpを算出する。
【0182】
検知部54は、時間差Xpおよび式(13)に基づいてマハラノビス距離D^2を算出し、算出したマハラノビス距離D^2としきい値Thとを比較し、比較結果に基づいて、対象メッセージMapが不正メッセージであるか否かを判定する。
【0183】
また、算出部53は、対象メッセージMapの次の対象メッセージMa(p+1)の受信時刻ta(p+1)と基準メッセージMbqの受信時刻tbqとの時間差X(p+1a)を算出する。
【0184】
検知部54は、時間差X(p+1a)および式(13)に基づいてマハラノビス距離D^2を算出し、算出したマハラノビス距離D^2としきい値Thとを比較し、比較結果に基づいて、対象メッセージMa(p+1)が不正メッセージであるか否かを判定する。
【0185】
検知部54は、対象メッセージMapが不正メッセージではないと判断した後、さらに対象メッセージMa(p+1)も不正メッセージではないと判断した場合、対象メッセージMap,Ma(p+1)は異常である可能性があると判断する、すなわちグレー判定する。
【0186】
(サポートベクターマシンを用いた検知処理)
なお、本開示の実施の形態に係るゲートウェイ装置101では、検知部54は、時間差Xpに基づいてマハラノビス距離D^2を算出し、算出したマハラノビス距離D^2としきい値Thとの比較結果に基づいて、対象メッセージMapが不正メッセージであるか否かを判定する構成であるとしたが、これに限定するものではない。
【0187】
検知部54は、たとえばサポートベクターマシンを用いて、対象メッセージMaが不正メッセージであるか否かを判定する構成であってもよい。検知部54は、1クラスに分類するサポートベクターマシンを用いてもよいし、多クラスに分類するサポートベクターマシンを用いてもよい。
【0188】
より詳細には、検知部54は、以下の式(16)に従って、分類スコアf(Xp)を算出する。検知部54は、算出した分類スコアf(Xp)がゼロ以上である場合、対象メッセージMapは正当メッセージであると判断する一方、算出した分類スコアf(Xp)がゼロ未満である場合、対象メッセージMapは不正メッセージであると判断する。
【数16】
【0189】
ここで、K(x,xi)は、カーネル関数である。カーネル関数は、具体的には、線形カーネル、多項式カーネル、以下の式(17)に示すガウスカーネル、またはシグモイドカーネルである。
【数17】
【0190】
xは、対象メッセージMapの受信時刻tapと複数の基準メッセージMbqの受信時刻tbqとの時間差Xpのベクトルである。xiは、サポートベクトルである。yiは、分類すべき各クラスに対応する値である。たとえば1クラスに分類するサポートベクターマシンを用いる場合、yiは1である。Wiは、重みベクトルである。bは、バイアスである。xi,yi,Wiおよびbは、予め、車両1と同じ種類のテスト車両のゲートウェイ装置101を用いて、正当メッセージを用いて機械学習により求められるパラメータである。
【0191】
1クラスに分類するサポートベクターマシンを用いる場合、上記パラメータは、教師無し学習によって設定される。より詳細には、正当メッセージである対象メッセージMapの受信時刻tapと複数の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出し、算出した時間差Xpを学習用のデータセットと検証用のデータセットとに分類する。
【0192】
そして、学習用のデータセットを用いて機械学習を行い、機械学習により得られたパラメータおよび上述した式(16)を用いて検証用のデータセットの分類スコアf(Xp)を算出し、分類スコアf(Xp)がゼロ以上となるか、またはゼロ未満となるかを確認する。すなわち、検証用のデータセットが正当メッセージであると判定されるか、または不正メッセージであると判定されるかを確認する。そして、検証用のデータセットの判定結果の偽陽性率が所望の値となるようパラメータを適切に調整し、再度、学習用のデータセットを用いた機械学習を行う。
【0193】
多クラスに分類するサポートベクターマシンを用いる場合、上記パラメータは、教師有り学習によって設定される。より詳細には、正当メッセージである対象メッセージMapの受信時刻tapと複数の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出し、算出した時間差Xpを正常データ群とする。
【0194】
そして、正常データ群の時間差Xpより大きい複数の時間差Xprのデータ群である不正データ群、および正常データ群の時間差Xpより小さい複数の時間差Xpsのデータ群である不正データ群を生成する。正常データ群および不正データ群を、学習用のデータセットと検証用のデータセットとに分類する。
【0195】
次に、学習用のデータセットを用いて機械学習を行い、機械学習により得られたパラメータおよび上述した式(16)を用いて検証用のデータセットの分類スコアf(Xp)を算出し、分類スコアf(Xp)に基づいて検証用のデータセットが正当メッセージであると判定されるか、または不正メッセージであると判定されるかを確認する。そして、検証用のデータセットの判定結果の偽陽性率が所望の値となるように、不正データ群の時間差Xps,Xprの値すなわち不正データ群と正常データ群とのギャップ、およびパラメータを適切に調整し、再度、学習用のデータセットを用いた機械学習を行う。
【0196】
(決定木を用いた検知処理)
検知部54は、たとえば決定木を用いて、対象メッセージMaが不正メッセージであるか否かを判定する構成であってもよい。決定木のアルゴリズムは、たとえば、CART(Classification And Regression Trees)およびC4.5等である。
【0197】
決定木のパラメータは、教師有り学習によって設定される。より詳細には、正当メッセージである対象メッセージMapの受信時刻tapと複数の基準メッセージMbqの受信時刻tbqとの時間差Xpを算出し、算出した時間差Xpを正常データ群とする。
【0198】
そして、正常データ群の時間差Xpより大きい複数の時間差Xprのデータ群である不正データ群、および正常データ群の時間差Xpより小さい複数の時間差Xpsのデータ群である不正データ群を生成する。正常データ群および不正データ群を、学習用のデータセットと検証用のデータセットとに分類する。
【0199】
次に、学習用のデータセットを用いて、CARTおよびC4.5等のアルゴリズムを用いる決定木の機械学習を行い、機械学習により得られた決定木を用いた場合において、検証用のデータセットが正当メッセージであると判定されるか、または不正メッセージであると判定されるかを確認する。そして、検証用のデータセットの判定結果の偽陽性率が所望の値となるように、不正データ群の時間差Xps,Xprの値すなわち不正データ群と正常データ群とのギャップ、および決定木の学習用パラメータを適切に調整し、再度、学習用のデータセットを用いた機械学習を行う。
【0200】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0201】
図16は、本開示の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
【0202】
図16を参照して、まず、ゲートウェイ装置101は、車載ネットワーク12における、対象メッセージMaと基準メッセージMbとを監視し、対象メッセージMapの受信時刻tapおよび基準メッセージMbqの受信時刻tbqを取得する(ステップS102)。
【0203】
次に、ゲートウェイ装置101は、基準メッセージMbqの受信時刻tbqとしきい値ThBq1,ThBq2とを比較する(ステップS104)。
【0204】
ゲートウェイ装置101は、受信時刻tbqがしきい値ThBq1,ThBq2により規定された許容範囲内である場合(ステップS106でYES)、不正メッセージを検知する検知処理を行う。具体的には、ゲートウェイ装置101は、対象メッセージMapが不正メッセージであるか否かを判断する(ステップS108)。
【0205】
一方、ゲートウェイ装置101は、受信時刻tbqがしきい値ThBq1,ThBq2により規定された許容範囲外である場合(ステップS106でNO)、対象メッセージMaおよび基準メッセージMbの監視を継続し、次の対象メッセージMa(p+1)の受信時刻ta(p+1)および次の基準メッセージMb(q+1)の受信時刻tb(q+1)を取得する(ステップS102)。
【0206】
また、ゲートウェイ装置101は、検知処理の結果、対象メッセージMapが正当メッセージであると判断した場合(ステップS110でNO)、対象メッセージMaおよび基準メッセージMbの監視を継続し、次の対象メッセージMa(p+1)の受信時刻ta(p+1)および次の基準メッセージMb(q+1)の受信時刻tb(q+1)を取得する(ステップS102)。
【0207】
一方、ゲートウェイ装置101は、検知処理の結果、対象メッセージMapが不正メッセージであると判断した場合(ステップS110でYES)、不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する(ステップS112)。
【0208】
次に、ゲートウェイ装置101は、対象メッセージMaおよび基準メッセージMbの監視を継続し、次の対象メッセージMa(p+1)の受信時刻ta(p+1)および次の基準メッセージMb(q+1)の受信時刻tb(q+1)を取得する(ステップS102)。
【0209】
図17は、本開示の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の他の例を定めたフローチャートである。
【0210】
図17を参照して、まず、ゲートウェイ装置101は、車載ネットワーク12における、対象メッセージMaと基準メッセージMbとを監視し、対象メッセージMaの複数の受信時刻および基準メッセージMbの複数の受信時刻tbを取得する(ステップS202)。
【0211】
次に、ゲートウェイ装置101は、取得した複数の受信時刻taおよび複数の受信時刻tbに基づいて複数の時間差Xpを算出し、算出した複数の時間差Xpを用いてシンボル同期処理を行う(ステップS204)。
【0212】
次に、ゲートウェイ装置101は、対象メッセージMapの受信時刻tapおよび基準メッセージMbqの受信時刻tbqを取得する(ステップS206)。
【0213】
次に、ゲートウェイ装置101は、基準メッセージMbqの受信時刻tbqとしきい値ThBq1,ThBq2とを比較する(ステップS208)。
【0214】
ゲートウェイ装置101は、受信時刻tbqがしきい値ThBq1,ThBq2により規定された許容範囲内である場合(ステップS210でYES)、不正メッセージを検知する検知処理を行う。具体的には、ゲートウェイ装置101は、対象メッセージMapが不正メッセージであるか否かを判断する(ステップS212)。
【0215】
次に、ゲートウェイ装置101は、ステップS214,S216の処理として、図16におけるステップS110,S112と同様の処理を行う。
【0216】
図18は、本開示の実施の形態に係る車載通信システムのゲートウェイ装置における検知処理の一例を定めたフローチャートである。図18は、図16におけるステップS108の詳細を示している。
【0217】
図18を参照して、まず、ゲートウェイ装置101は、対象メッセージMapの受信時刻tapと基準メッセージMbqの受信時刻tbqとの時間差Xpを算出する(ステップS302)。
【0218】
次に、ゲートウェイ装置101は、時間差Xpに基づいて、マハラノビス距離D^2を算出する(ステップS304)。
【0219】
次に、ゲートウェイ装置101は、算出したマハラノビス距離D^2としきい値Thとを比較する(ステップS306)。
【0220】
次に、ゲートウェイ装置101は、マハラノビス距離D^2がしきい値Th以下である場合(ステップS308でYES)、対象メッセージMapは正当メッセージであると判断する(ステップS310)。
【0221】
一方、ゲートウェイ装置101は、マハラノビス距離D^2がしきい値Thより大きい場合(ステップS308でNO)、対象メッセージMapは不正メッセージであると判断する(ステップS312)。
【0222】
図19は、本開示の実施の形態に係る車載通信システムのゲートウェイ装置における検知処理の他の例を定めたフローチャートである。図19は、図17におけるステップS212の詳細を示している。
【0223】
図19を参照して、まず、ゲートウェイ装置101は、基準メッセージMbqの受信時刻tbqに基づいて、仮想的な受信時刻tvbを生成する(ステップS402)。
【0224】
次に、ゲートウェイ装置101は、対象メッセージMapの受信時刻tapと、受信時刻tbqまたは受信時刻tvbとの時間差Xpを算出する(ステップS404)。
【0225】
次に、ゲートウェイ装置101は、ステップS406からステップS414の処理として、図18におけるステップS304からステップS312と同様の処理を行う。
【0226】
なお、本開示の実施の形態に係る車載通信システム301では、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301では、ゲートウェイ装置101とは別の検知装置が、車載ネットワーク12における不正メッセージを検知する構成であってもよい。
【0227】
また、本開示の実施の形態に係る車載通信システム301では、検知装置として機能するゲートウェイ装置101がバス13に直接接続される構成であるとしたが、これに限定するものではない。
【0228】
図20は、本開示の実施の形態に係る車載ネットワークの接続トポロジの一例を示す図である。
【0229】
図20を参照して、検知装置151が、車載装置たとえば制御装置122を介してバス13に接続される構成であってもよい。この場合、検知装置151は、たとえば、当該車載装置が送受信するメッセージを監視することにより、バス13に伝送される不正メッセージを検知する。
【0230】
図20に示す例では、たとえば、検知装置151の監視部52は、制御装置122が送信する基準メッセージMbの送信時刻に対応する時刻および対象メッセージMaの送信時刻に対応する時刻を取得する。そして、検知装置151の算出部53は、監視部52による監視結果に基づいて、対象メッセージMaの送信時刻と、基準メッセージMbの送信時刻との時間差を算出する。
【0231】
また、本開示の実施の形態に係る車載通信システム301では、ゲートウェイ装置101は、制御装置122Aからの周期メッセージM1および不正メッセージを対象メッセージMaとして監視するとともに、制御装置122Bからの周期メッセージM2を基準メッセージMbとして監視する構成であるとしたが、これに限定するものではない。
【0232】
再び図4を参照して、たとえば、制御装置122Aは、送信周期Taで周期メッセージM1を送信するとともに、送信周期Tbで周期メッセージM2を送信する。より詳細には、制御装置122AにおけるCPU132Aは、発振器131Aからの発振信号に基づいて生成されるクロックのタイミングに従って、CANトランシーバ133A経由で周期メッセージM1,M2をブロードキャストまたはユニキャストする。
【0233】
ゲートウェイ装置101におけるCANトランシーバ142は、制御装置122Aからの周期メッセージM1および不正メッセージを対象メッセージMaとして監視するとともに、制御装置122Aからの周期メッセージM2を基準メッセージMbとして監視する。
【0234】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部54は、検知処理として、対象メッセージMaが不正メッセージであるか否かを判定する構成であるとしたが、これに限定するものではない。検知部54は、検知処理として、対象メッセージMaが不正メッセージである確率を算出する構成であってもよい。
【0235】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部54が検知処理において用いる判定基準の数は、すべての対象メッセージMaが正当メッセージである場合における、対象メッセージMaの送信周期Taと基準メッセージMbの送信周期Tbとの最小公倍数L、および対象メッセージMaの送信周期Taに基づいて決定される構成であるとしたが、これに限定するものではない。検知部54が検知処理において用いる判定基準の数は、最小公倍数Lおよび送信周期Taに依らない数、たとえば所定数であってもよい。この場合、不正メッセージであるか否かの判定が、一部の対象メッセージMaについて行われる。
【0236】
また、本開示の実施の形態に係るゲートウェイ装置101では、異常検知部56は、監視部52による監視結果に基づいて、基準メッセージMbの異常を検知する構成であるとしたが、これに限定するものではない。ゲートウェイ装置101は、異常検知部56を備えない構成であってもよい。
【0237】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部54は、対象メッセージMapが不正メッセージではないと判断した後、さらに対象メッセージMa(p+1)も不正メッセージではないと判断した場合、対象メッセージMap,Ma(p+1)をグレー判定する構成であるとしたが、これに限定するものではない。検知部54は、グレー判定を行わない構成であってもよい。
【0238】
また、本開示の実施の形態に係るゲートウェイ装置101では、対象メッセージMaが不正メッセージであるか否かの判定基準は、制御装置122A,122Bにおける発振器131A,131Bによって生じるジッタ、およびゲートウェイ装置101における発振器143によって生じるジッタに基づいて設定される構成であるとしたが、これに限定するものではない。判定基準は、発振器131A,131B,143によって生じるジッタに依らずに設定される構成であってもよい。
【0239】
ところで、車載ネットワークにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0240】
たとえば、周期メッセージを監視することにより、ある時刻に送信された周期メッセージを基準として、当該周期メッセージの送信時刻と、次に送信された周期メッセージの送信時刻との時間差に基づいて、正当な周期メッセージになりすました不正メッセージを検知する方法が考えられる。
【0241】
このような方法では、基準とした周期メッセージが不正メッセージである場合、次に送信された周期メッセージが不正メッセージであるか否かを正しく判定できない場合がある。
【0242】
具体的には、直前の周期メッセージの送信時刻に基づいて、次の周期メッセージが不正メッセージであるか否かを判定する上記方法では、不正メッセージを正当メッセージであると誤検知した場合、当該不正メッセージの送信時刻に基づいて、次の周期メッセージが不正メッセージであるか否かの判定を行うこととなる。その結果、次の不正メッセージを正当メッセージであると誤判定したり、所定の送信周期に従って送信された正当メッセージを不正メッセージであると誤判定したりする場合がある。
【0243】
これに対して、本開示の実施の形態に係るゲートウェイ装置101では、監視部52は、車載ネットワーク12における、周期的に送信される正当メッセージ、および不正メッセージを対象メッセージMaとして監視するとともに、周期的に送信される基準メッセージMbを監視する。算出部53は、監視部52による監視結果に基づいて、対象メッセージMaの送信時刻に対応する時刻と基準メッセージMbの送信時刻に対応する時刻との時間差Xpを算出する。検知部54は、算出部53によって算出された時間差Xpに基づいて、不正メッセージを検知する検知処理を行う。
【0244】
このように、対象メッセージMaの送信時刻に対応する時刻と、基準メッセージMbの送信時刻に対応する時刻との時間差Xpに基づいて検知処理を行う構成により、基準メッセージMbの送信時刻に対応する時刻を基準として検知処理を行うことができるため、対象メッセージMaに含まれる不正メッセージの受信時刻を基準として検知処理を行うことによる誤検知の発生を回避することができる。
【0245】
したがって、本開示の実施の形態に係るゲートウェイ装置101では、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0246】
また、本開示の実施の形態に係るゲートウェイ装置101では、正当メッセージの送信周期および基準メッセージMbの送信周期Tbが互いに異なる。検知部54は、検知処理として、対象メッセージMaが不正メッセージであるか否かを判定基準に従って判定する。検知部54は、複数の判定基準を切り替えながら検知処理を行う。
【0247】
このような構成により、正当メッセージの送信周期と基準メッセージMbの送信周期Tbとの差に基づく時間差Xpの変化に対応して、複数の判定基準を切り替えながら検知処理を行うことができるため、様々な送信周期の周期メッセージを基準メッセージMbとして用いることができる柔軟な検知処理が可能となる。
【0248】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部54が検知処理において用いる判定基準の数は、正当メッセージの送信周期と基準メッセージMbの送信周期Tbとの最小公倍数L、および正当メッセージの送信周期に基づいて決定される。
【0249】
このような構成により、正当メッセージの送信周期と基準メッセージMbの送信周期Tbとの差に基づく時間差Xpの大きさに応じて、複数の判定基準に従って対象メッセージMaが不正メッセージであるか否かを判定することができるため、たとえばすべての対象メッセージMaについて、不正メッセージであるか否かの判定を行うことができる。
【0250】
また、本開示の実施の形態に係るゲートウェイ装置101では、異常検知部56は、監視部52による監視結果に基づいて、基準メッセージMbの異常を検知し、異常を検知した場合に所定の処理を行う。
【0251】
このような構成により、基準メッセージMbの異常が検知された場合、たとえば、当該基準メッセージMbの送信時刻に対応する時刻を基準とした検知処理を行わないようにすることができるため、誤検知の発生を抑制することができる。
【0252】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部54は、対象メッセージMapの送信時刻に対応する時刻と基準メッセージMbqの送信時刻に対応する時刻との時間差Xp、および対象メッセージMapの後に送信される対象メッセージMa(p+1)の送信時刻に対応する時刻と基準メッセージMbqの送信時刻に対応する時刻との時間差X(p+1a)に基づいて、対象メッセージMapに関する異常を検知する。
【0253】
このような構成により、たとえば、基準メッセージMbqの送信時刻に対応する時刻を基準として正常であると判定される時間内に複数の対象メッセージMaが送信された場合、たとえば、実際には不正メッセージを含む当該複数の対象メッセージMaを正当メッセージであると誤判定した場合であっても、当該複数の対象メッセージMaは異常である可能性があると判断することができる。これにより、検知処理において検知することができなかった不正メッセージを、たとえばグレー判定することができる。
【0254】
また、本開示の実施の形態に係るゲートウェイ装置101では、監視部52は、ゲートウェイ装置101が受信する対象メッセージMaおよびゲートウェイ装置101が受信する基準メッセージMbを監視する。検知部54は、検知処理として、対象メッセージMaが不正メッセージであるか否かを判定基準に従って判定する。判定基準は、基準メッセージMbを送信する制御装置122Bにおける発振器131Bによって生じるジッタ、およびゲートウェイ装置101における発振器143によって生じるジッタに基づいて設定される。
【0255】
このような構成により、たとえば、制御装置122Aにおける発振器131Aによって生じるジッタに基づくメッセージの送信時刻の誤差、およびゲートウェイ装置101における発振器143によって生じるジッタに基づくメッセージの受信時刻の誤差を考慮した判断基準に基づいて、より正確な検知処理を行うことができる。
【0256】
また、本開示の実施の形態に係る車両1は、ゲートウェイ装置101を備える。
【0257】
このような構成により、ゲートウェイ装置101を備える車両1において、車載ネットワーク12における不正メッセージをより正しく検知することができる。
【0258】
また、本開示の実施の形態に係る検知方法は、車載ネットワーク12における不正メッセージを検知するゲートウェイ装置101における検知方法である。この検知方法では、まず、ゲートウェイ装置101が、車載ネットワーク12における、周期的に送信される正当メッセージ、および不正メッセージを対象メッセージMaとして監視するとともに、周期的に送信される基準メッセージMbとを監視する。次に、ゲートウェイ装置101が、監視結果に基づいて、対象メッセージMaの送信時刻に対応する時刻と基準メッセージMbの送信時刻に対応する時刻との時間差Xpを算出する。次に、ゲートウェイ装置101が、算出した時間差Xpに基づいて、不正メッセージを検知する検知処理を行う。
【0259】
このように、対象メッセージMaの送信時刻に対応する時刻と、基準メッセージMbの送信時刻に対応する時刻との時間差Xpに基づいて検知処理を行う方法により、基準メッセージMbの送信時刻に対応する時刻を基準として検知処理を行うことができるため、対象メッセージMaに含まれる不正メッセージの受信時刻を基準として検知処理を行うことによる誤検知の発生を回避することができる。
【0260】
したがって、本開示の実施の形態に係る検知方法では、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0261】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0262】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、
前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、
前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部と、
前記監視部による監視結果に基づいて、前記基準メッセージの異常を検知し、前記異常を検知した場合に前記算出部へ前記異常を通知する異常検知部とを備え、
前記対象メッセージおよび前記基準メッセージは、送信先または送信元が互いに異なり、
前記算出部は、前記対象メッセージの送信時刻に対応する時刻と、前記異常検知部によって前記異常が検知されなかった前記基準メッセージの送信時刻に対応する時刻とに基づいて、前記時間差を算出する、検知装置。
【0263】
[付記2]
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおける、周期的に送信される正当メッセージ、および前記不正メッセージを対象メッセージとして監視するとともに、周期的に送信される基準メッセージを監視する監視部と、
前記監視部による監視結果に基づいて、前記対象メッセージの送信時刻に対応する時刻と前記基準メッセージの送信時刻に対応する時刻との時間差を算出する算出部と、
前記算出部によって算出された前記時間差に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備え、
前記監視部、前記算出部および前記検知部は、プロセッサにより実現される、検知装置。
【符号の説明】
【0264】
1 車両
12 車載ネットワーク
13,14 バス
51 通信処理部
52 監視部
53 算出部
54 検知部
55 記憶部
56 異常検知部
101 ゲートウェイ装置
111 車載通信機
112 ポート
121 バス接続装置群
122 制御装置
131 発振器
132 CPU
133 CANトランシーバ
141 CPU
142 CANトランシーバ
143 発振器
151 検知装置
301 車載通信システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20