(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】検知装置、車両、検知方法および検知プログラム
(51)【国際特許分類】
H04L 12/22 20060101AFI20240501BHJP
H04L 43/04 20220101ALI20240501BHJP
H04L 43/02 20220101ALI20240501BHJP
B60R 16/023 20060101ALI20240501BHJP
【FI】
H04L12/22
H04L43/04
H04L43/02
B60R16/023 P
(21)【出願番号】P 2021562455
(86)(22)【出願日】2020-08-28
(86)【国際出願番号】 JP2020032583
(87)【国際公開番号】W WO2021111685
(87)【国際公開日】2021-06-10
【審査請求日】2023-02-21
(31)【優先権主張番号】P 2019219993
(32)【優先日】2019-12-05
(33)【優先権主張国・地域又は機関】JP
【新規性喪失の例外の表示】特許法第30条第2項適用 ウェブサイトの掲載日 令和1年10月14日 ウェブサイトのアドレス https://va.apollon.nta.co.jp/css2019-jr/ 開催日 令和1年10月21日 集会名 コンピュータセキュリティシンポジウム(CSS2019)
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】塚本 博之
(72)【発明者】
【氏名】上田 浩史
(72)【発明者】
【氏名】足立 直樹
(72)【発明者】
【氏名】相羽 慎一
(72)【発明者】
【氏名】石川 史也
(72)【発明者】
【氏名】上口 翔悟
【審査官】大石 博見
(56)【参考文献】
【文献】特開2019-83534(JP,A)
【文献】特開2019-29961(JP,A)
【文献】特開2018-152842(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/22
H04L 43/04
H04L 43/02
B60R 16/023
(57)【特許請求の範囲】
【請求項1】
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、
前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、
前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備える、検知装置。
【請求項8】
前記検知装置は、さらに、
前記取得部によって取得された前記対象分布に基づいて、前記周期メッセージの受信間隔の統計値を算出する算出部を備え、
前記検知部は、前記算出部によって算出された前記統計値と、所定値との比較結果に基づく前記不正メッセージの検知処理をさらに行う、請求項1から請求項7のいずれか1項に記載の検知装置。
【請求項10】
車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、
前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得するステップと、
取得した前記対象分布の一部を所定の基準に従って抽出するステップと、
抽出した前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含む、検知方法。
【請求項11】
車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、
コンピュータを、
前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、
前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、
前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部、
として機能させるための、検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検知装置、車両、検知方法および検知プログラムに関する。
この出願は、2019年12月5日に出願された日本出願特願2019-219993号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【0002】
特許文献1(特開2014-146868号公報)には、以下のようなネットワーク装置が開示されている。すなわち、ネットワーク装置は、データを受信する通信部と、データを受信した受信時間を管理する時間管理部と、受信したデータを処理する制御部とを有し、周期的にデータを受信して処理するネットワーク装置において、前記制御部は、前記通信部で受信したデータが有する識別子毎に前記時間管理部における受信時刻を記録し、基準とするデータと同じ識別子を持つデータを受信した間隔が所定周期より短い第1のデータを受信した場合に、前記基準とするデータを受信した時刻から前記所定周期経過するまでに前記第1のデータと同じ識別子を持つ第2のデータを受信した時には、周期異常検出時処理を行い、前記所定周期経過するまでに前記第1のデータと同じ識別子を持つデータを受信しなかった時には、前記第1のデータについて所定の処理を行う。
【0003】
また、特許文献2(米国特許出願公開第2017/286675号明細書)には、以下のような検出方法が開示されている。すなわち、検出方法は、車両ネットワーク内の侵入を検出する方法であって、受信側ECU(Electronic Control Unit)において、送信側ECUから車両ネットワーク経由で前記受信側ECUへ定期的に送信される、タイムスタンプ情報を含まない複数のメッセージを受信し、受信側ECUにおいて、複数のメッセージに基づいて前記送信側ECUのクロックスキューを決定し、受信側ECUにおいて、前記送信側ECUのクロックスキューをベースライン値と比較することにより、前記送信側ECUのクロックスキューの突然の変化を検出し、受信側ECUにおいて、前記送信側ECUのクロックスキューの突然の変化の検出に基づいて、前記送信側ECUが危険にさらされていると特定する。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2014-146868号公報
【文献】米国特許出願公開第2017/0286675号明細書
【非特許文献】
【0005】
【文献】O.Cappe、外1名、”Online expectation maximization algorithm for latent data models”、Journal od the Royal Statistics Society: Series B (Statistical Methodology)、Vol.71、P.593-613、2009
【発明の概要】
【0006】
本開示の検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備える。
【0007】
本開示の検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得するステップと、取得した前記対象分布の一部を所定の基準に従って抽出するステップと、抽出した前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含む。
【0008】
本開示の検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部、として機能させるためのプログラムである。
【0009】
本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現され得たり、検知装置を備えるシステムとして実現され得る。また、本開示の一態様は、検知装置を備えるシステムの一部または全部を実現する半導体集積回路として実現され得たり、検知装置を備えるシステムにおける処理のステップをコンピュータに実行させるためのプログラムとして実現され得る。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
【
図2】
図2は、本開示の実施の形態に係るバス接続装置群の構成を示す図である。
【
図3】
図3は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【
図4】
図4は、本開示の実施の形態に係るゲートウェイ装置における抽出部より生成される確率密度関数および累積分布関数の一例を示す図である。
【
図5】
図5は、本開示の実施の形態に係るゲートウェイ装置における抽出部により生成される確率密度関数および累積分布関数の一例を示す図である。
【
図6】
図6は、本開示の実施の形態に係るゲートウェイ装置において検知部により算出される標準偏差の時間変化を示す図である。
【
図7】
図7は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
【
図8】
図8は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置が確率密度関数の抽出区間の基準を決定する際の動作手順の一例を定めたフローチャートである。
【
図9】
図9は、本発明の実施の形態に係る車載ネットワークの接続トポロジの一例を示す図である。
【発明を実施するための形態】
【0011】
従来、車載ネットワークにおけるセキュリティを向上させるための技術が開発されている。
【0012】
[本開示が解決しようとする課題]
特許文献1および2に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0013】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージをより正しく検知することが可能な検知装置、車両、検知方法および検知プログラムを提供することである。
【0014】
[本開示の効果]
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することが可能である。
【0015】
[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。
【0016】
(1)本開示の実施の形態に係る検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備える。
【0017】
このように、対象分布の一部を所定の基準に従って抽出し、抽出した対象分布の一部に基づいて不正メッセージを検知する構成により、たとえば、対象分布から、送信元の車載装置におけるクロック周波数等の特性が反映された部分を抽出し、抽出部分に基づいて、送信元の車載装置が不正な車載装置であるか否かを識別することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0018】
(2)好ましくは、前記抽出部は、所定条件を満たす状況下において送信される前記周期メッセージの受信間隔の分布である参照分布を用いて、前記対象分布の一部を抽出する。
【0019】
このような構成により、条件を指定した参照分布を用いて、対象分布から、たとえば送信元の車載装置におけるクロック周波数等の特性がより強く反映された部分を抽出することができるため、不正メッセージをより正しく検知することができる。
【0020】
(3)より好ましくは、前記所定条件は、前記車載ネットワークの利用率が、前記対象分布が取得されるときの前記車載ネットワークの利用率よりも低いことである。
【0021】
このような構成により、車載ネットワークの利用率に応じた周期メッセージの送信遅延等の影響が低減された参照分布を用いて、対象分布から、車載ネットワークの利用率に応じた影響が比較的小さい部分を抽出することができるため、不正メッセージをより正しく検知することができる。
【0022】
(4)好ましくは、前記検知部は、前記対象分布の前記一部における前記周期メッセージの受信間隔の標準偏差に基づいて、前記検知処理を行う。
【0023】
対象分布の一部における周期メッセージの受信間隔の標準偏差を算出する際の計算負荷は、対象分布の一部におけるピークの数および尖度を算出する際の計算負荷と比べて小さい。したがって、上記のような構成により、対象分布に対する簡易な演算処理で検知処理を行うことができる。
【0024】
(5)好ましくは、前記検知部は、前記対象分布の前記一部におけるピークの数に基づいて、前記検知処理を行う。
【0025】
対象分布の一部におけるピークの数を算出する際の計算負荷は、対象分布の一部における尖度を算出する際の計算負荷と比べて小さい。したがって、上記のような構成により、対象分布に対する比較的簡易な演算処理で、回避され難い検知処理を行うことができる。
【0026】
(6)好ましくは、前記検知部は、前記対象分布の前記一部における尖度に基づいて、前記検知処理を行う。
【0027】
このような構成により、回避され難い検知処理を行うことができる。
【0028】
(7)好ましくは、前記検知装置は、さらに、前記取得部によって取得された前記対象分布に基づいて、前記周期メッセージの受信間隔の統計値を算出する算出部を備え、前記検知部は、前記算出部によって算出された前記統計値と、所定値との比較結果に基づいて、前記検知処理を行う。
【0029】
このような構成により、たとえば、送信元の車載装置における、実際の送信周期と設計上の送信周期との誤差が反映された統計値に基づいて、多様な検知処理を行うことができる。
【0030】
(8)本開示の実施の形態に係る車両は、前記検知装置を備える。
【0031】
このような構成により、検知装置を備える車両において、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0032】
(9)本開示の実施の形態に係る検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得するステップと、取得した前記対象分布の一部を所定の基準に従って抽出するステップと、抽出した前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行うステップとを含む。
【0033】
このように、対象分布の一部を所定の基準に従って抽出し、抽出した対象分布の一部に基づいて不正メッセージを検知する方法により、たとえば、対象分布から、送信元の車載装置におけるクロック周波数等の特性が反映された部分を抽出し、抽出部分に基づいて、送信元の車載装置が不正な車載装置であるか否かを識別することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0034】
(10)本開示の実施の形態に係る検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部、として機能させるためのプログラムである。
【0035】
このように、対象分布の一部を所定の基準に従って抽出し、抽出した対象分布の一部に基づいて不正メッセージを検知する構成により、たとえば、対象分布から、送信元の車載装置におけるクロック周波数等の特性が反映された部分を抽出し、抽出部分に基づいて、送信元の車載装置が不正な車載装置であるか否かを識別することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0036】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0037】
[構成および基本動作]
図1は、本開示の実施の形態に係る車載通信システムの構成を示す図である。
【0038】
図1を参照して、車載通信システム301は、ゲートウェイ装置101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。車載通信システム301は、車両1に搭載される。
【0039】
図2は、本開示の実施の形態に係るバス接続装置群の構成を示す図である。
【0040】
図2を参照して、バス接続装置群121は、制御装置122A,122B,122Cを含む。以下、制御装置122A,122B,122Cの各々を制御装置122とも称する。なお、バス接続装置群121は、3つの制御装置122を備える構成に限らず、1つ、2つまたは4つ以上の制御装置122を含む構成であってもよい。
【0041】
車載ネットワーク12は、車載装置の一例である、ゲートウェイ装置101、複数の車載通信機111および複数の制御装置122を含む。なお、車載ネットワーク12は、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
【0042】
車載ネットワーク12において、車載通信機111は、たとえば、車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)111A、近距離無線端末装置111B、およびITS(Intelligent Transport Systems)無線機111Cである。
【0043】
TCU111Aは、たとえば、LTE(Long Term Evolution)または3G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCU111Aは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
【0044】
近距離無線端末装置111Bは、たとえば、Wi-Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、車両1に乗車している人間すなわち搭乗者の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置111Bは、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
【0045】
また、近距離無線端末装置111Bは、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置111Bは、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
【0046】
ITS無線機111Cは、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機111Cは、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
【0047】
ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
【0048】
ゲートウェイ装置101は、たとえばバス13,14を介して車載ネットワーク12における他の車載装置と接続される。具体的には、バス13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従うバスである。
【0049】
この例では、車載通信機111は、イーサネットの規格に従う対応のバス14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応のバス13を介してゲートウェイ装置101と接続されている。
【0050】
バス13は、たとえば系統別に設けられる。具体的には、バス13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
【0051】
駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
【0052】
シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
【0053】
ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
【0054】
AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
【0055】
また、バス13には、制御装置122が接続される構成に限らず、制御装置122以外の装置が接続されてもよい。
【0056】
ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、他の車載装置と通信を行うことが可能である。
【0057】
ゲートウェイ装置101は、たとえば、車両1において異なるバス13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
【0058】
より詳細には、車両1では、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期的にメッセージが送信される。この例では、ある制御装置122から他の制御装置122へ周期的に送信されるメッセージについて説明するが、制御装置122および車載通信機111間において送信されるメッセージ、ならびに各車載通信機111間において送信されるメッセージについても同様である。
【0059】
メッセージの送信は、ブロードキャストによって行われてもよいし、ユニキャストによって行われてもよい。以下、周期的に送信されるメッセージを周期メッセージとも称する。なお、「周期メッセージ」とは、厳密に周期的に送信されたメッセージに限らず、周期的に送信されるべき種類のメッセージを意味するものとする。
【0060】
車両1では、周期メッセージの他に、ある制御装置122から他の制御装置122へ不定期に送信されるメッセージが存在する。メッセージには、メッセージの内容およびメッセージの送信元を識別するためのID(Identifier)と、メッセージ番号とが含まれる。メッセージに含まれるIDによって、当該メッセージが周期メッセージであるか否かを識別することが可能である。
【0061】
[ゲートウェイ装置の構成]
図3は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【0062】
図3を参照して、ゲートウェイ装置101は、通信処理部51と、取得部52と、抽出部53と、算出部54と、検知部55と、記憶部56とを備える。
【0063】
通信処理部51、取得部52、抽出部53、算出部54および検知部55は、たとえば、CPU(Central Processing Unit)およびDSP(Digital Signal Processor)等のプロセッサによって実現される。記憶部56は、たとえばフラッシュメモリである。
【0064】
ゲートウェイ装置101は、検知装置として機能し、車載ネットワーク12における不正メッセージを検知する検知処理を行う。
【0065】
[通信処理部]
通信処理部51は、制御装置122間で伝送されるメッセージ、車載通信機111間で伝送されるメッセージ、および制御装置122と車載通信機111との間で伝送されるメッセージを中継する中継処理を行う。
【0066】
たとえば、通信処理部51は、ある制御装置122から対応のバス13経由でメッセージを受信すると、受信したメッセージに、当該メッセージの受信時刻を示すタイムスタンプを付与する。そして、通信処理部51は、タイムスタンプが付与されたメッセージを他の制御装置122へ対応のバス13経由で送信する。
【0067】
[取得部]
取得部52は、車載ネットワーク12において送信される周期メッセージの受信間隔の分布である対象分布を取得する。
【0068】
たとえば、取得部52は、通信処理部51によって中継されるメッセージを監視することにより、ゲートウェイ装置101における検知処理の対象となる周期メッセージの受信時刻tを取得する。以下、ゲートウェイ装置101における検知処理の対象となる周期メッセージを、対象メッセージとも称する。
【0069】
対象メッセージは、ある制御装置122から送信される1種類の周期メッセージであってもよいし、複数の制御装置122の各々から送信される複数種類の周期メッセージあってもよい。以下では、ゲートウェイ装置101が、制御装置122Aから送信される周期メッセージを「対象メッセージM」として検知処理を行う例について説明する。
【0070】
たとえば、記憶部56は、対象メッセージの種類ごとのIDを記憶している。以下、対象メッセージMのIDを対象IDとも称する。
【0071】
取得部52は、中継処理を行うべきメッセージを通信処理部51が受信すると、通信処理部51によって受信されたメッセージに含まれるID、および記憶部56における対象IDを確認する。
【0072】
そして、取得部52は、通信処理部51によって受信されたメッセージに含まれるIDが対象IDと一致する場合、通信処理部51によって受信されたメッセージが対象メッセージMであると認識し、当該対象メッセージMに付与されたタイムスタンプを参照することにより、対象メッセージMの受信時刻tを取得する。
【0073】
取得部52は、対象メッセージMの受信時刻tを取得すると、当該受信時刻tと、直前の対象メッセージMの受信時刻tとの差分を対象メッセージMの受信間隔xとして算出する。
【0074】
より詳細には、取得部52は、通信処理部51によって受信されたn回目の対象メッセージMnの受信時刻tnと、通信処理部51によって受信された(n-1)回目の対象メッセージM(n-1)の受信時刻t(n-1)との差分を算出し、算出した差分を対象メッセージMnの受信間隔xnとして記憶部56に保存する。ここで、nは正の整数である。
【0075】
そして、取得部52は、記憶部56における複数の受信間隔xに基づいて、所定の期間である対象期間Ta内に通信処理部51によって受信された対象メッセージMの、受信間隔xの度数分布Dを生成し、生成した度数分布Dを記憶部56に保存する。度数分布Dは、対象分布の一例である。以下、対象期間Ta内に通信処理部51によって受信された対象メッセージMを、対象期間Taにおける対象メッセージMとも称する。また、対象期間Ta内に通信処理部51によって受信された対象メッセージMの受信間隔xの度数分布Dを、対象期間Taにおける度数分布Dとも称する。
【0076】
たとえば、取得部52は、周期T1に従う生成タイミングにおいて、時刻(T1×m)から始まる対象期間Taにおける度数分布Dを新たに生成し、記憶部56における度数分布Dを、新たに生成した度数分布Dに更新する。ここで、mは正の整数である。
【0077】
なお、周期T1が対象期間Taと同じであることにより、各対象期間Taが時間的に連続してもよい。また、周期T1が対象期間Taよりも短いことにより、各対象期間Taが時間的に一部重複してもよい。また、周期T1が対象期間Taよりも長いことにより、各対象期間Taが間欠的に設けられてもよい。
【0078】
[抽出部]
抽出部53は、取得部52によって取得された対象分布の一部を所定の基準に従って抽出する。
【0079】
たとえば、抽出部53は、混合ガウスモデルを用いて、記憶部56における度数分布Dを近似する確率密度関数を生成する。そして、抽出部53は、生成した当該確率密度関数の一部を、所定の基準に従って抽出する。
【0080】
(確率密度関数による近似)
たとえば、抽出部53は、記憶部56おける度数分布Dを、以下の式(1)に示す、変数をxとする確率密度関数Pにより近似する。
【数1】
【0081】
ここで、K、ck、xkバーおよびσk^2は、パラメータであり、それぞれ正規分布の混合数、k番目の正規分布関数pの混合比、k番目の正規分布の平均値およびk番目の正規分布の分散である。ここで、kは1~Kまでの整数である。なお、「a^b」は、aのb乗を意味する。
【0082】
また、式(1)におけるk番目の正規分布関数pは、以下の式(2)により表される。
【数2】
【0083】
たとえば、抽出部53は、取得部52によって記憶部56おける度数分布Dが更新されるたびに、非特許文献1(O.Cappe、外1名、”Online expectation maximization algorithm for latent data models”、Journal od the Royal Statistics Society: Series B (Statistical Methodology)、Vol.71、P.593-613、2009)に記載のStepwise-EM法を用いて、確率密度関数Pにおけるc1~cK、x1バー~xKバーおよびσ1^2~σK^2を更新する。
【0084】
より詳細には、抽出部53は、EステップおよびMステップにおいて、i=1~Kの各々についてStepwise-EM法を適用することでci、xiバーおよびσi^2を算出する。
【0085】
具体的には、抽出部53は、Eステップにおいて、以下の式(3)を用いて減衰係数ηtを算出する。
【数3】
【0086】
また、抽出部53は、以下の式(4)を用いてi番目の負担率γi(s)を算出する。
【数4】
【0087】
抽出部53は、以下の式(5)および(6)を用いて、十分統計量Si(s)および更新後の十分統計量S(s)を算出する。
【数5】
【数6】
【0088】
ここで、s(s-1)は、1つ前のEステップにおける十分統計量である。
【0089】
抽出部53は、Mステップでは、以下の式(7)、(8)および(9)を用いてi番目の混合比ci(s)、i番目の平均値xiバー(s)およびi番目の分散σi^2(s)を算出する。
【数7】
【数8】
【数9】
【0090】
そして、抽出部53は、以下の式(10)を用いて計算回数wをインクリメントする。
【数10】
【0091】
抽出部53は、上述の演算処理により、対象期間Taにおける度数分布Dを近似する確率密度関数Pを生成する。以下、度数分布Dを近似する確率密度関数Pを、度数分布Dに基づく確率密度関数Pとも称する。
【0092】
(確率密度関数の一部の抽出)
図4は、本開示の実施の形態に係るゲートウェイ装置における抽出部より生成される確率密度関数および累積分布関数の一例を示す図である。
図4において、実線は確率密度関数Pを示し、一点鎖線は累積分布関数Aを示す。また、
図4において、横軸は受信間隔x[秒]を示し、確率密度関数Pについての縦軸は確率密度を示し、累積分布関数Aについての縦軸は確率を示す。
【0093】
図4を参照して、抽出部53は、生成した確率密度関数Pを定積分することにより、累積分布関数Aを生成する。
【0094】
たとえば、抽出部53は、度数分布Dのうち、生成した累積分布関数Aにおける確率の値が所定範囲内となるときの受信間隔xの値の範囲における分布を抽出する。
【0095】
より詳細には、抽出部53は、生成した累積分布関数Aにより表される確率の値が所定範囲内となるときの受信間隔xの値の範囲を抽出区間として決定し、決定した抽出区間に基づいて確率密度関数Pの一部を抽出する。
【0096】
たとえば、記憶部56は、累積分布関数Aにより表される確率の所定範囲における、下限値である所定値yaおよび上限値である所定値ybを記憶している。
【0097】
抽出部53は、累積分布関数Aを生成すると、生成した累積分布関数Aおよび記憶部56における所定値ya,ybに基づいて、累積分布関数Aにより表される確率が所定値yaとなるときの受信間隔xa、および累積分布関数Aにより表される確率が所定値ybとなるときの受信間隔xbを特定する。
【0098】
そして、抽出部53は、受信間隔xがxa以上かつxb以下の範囲を抽出区間[xa,xb]として決定し、抽出区間[xa,xb]における確率密度関数Pを抽出する。
【0099】
たとえば、抽出部53は、対象期間Taにおける度数分布Dに基づく確率密度関数PにおけるK、c1~cK、x1バー~xKバーおよびσ1^2~σK^2、ならびに決定した抽出区間[xa,xb]を含む抽出情報を検知部55へ出力する。
【0100】
(所定値ya,ybの設定)
たとえば、抽出部53は、所定条件を満たす状況下において送信される周期メッセージの受信間隔xの分布である参照分布を用いて、度数分布Dの一部を抽出する。
【0101】
たとえば、上記所定条件は、車載ネットワーク12の利用率が、対象メッセージMの受信間隔xの度数分布Dが取得されるときの車載ネットワーク12の利用率よりも低いことである。
【0102】
ここで、使用中の車両1における車載ネットワーク12の利用率は、一般的に約40%程度であることから、対象メッセージMの受信間隔xの度数分布Dが取得されるときの車載ネットワーク12の利用率も同様に、40%程度である。
【0103】
そこで、抽出部53は、車載ネットワーク12の利用率がゼロ%の状況下において送信される周期メッセージの度数分布を用いて、確率密度関数Pの一部を抽出する。
【0104】
より詳細には、記憶部56における所定値ya,ybは、車載ネットワーク12の利用率がゼロ%の状況下において、制御装置122Aから送信される周期メッセージの、ゲートウェイ装置101における受信間隔xの度数分布D(UR0)を用いて予め決定される。度数分布D(UR0)は、参照分布の一例である。
【0105】
抽出部53は、度数分布D(UR0)を用いて予め決定された所定値ya,ybを用いて、確率密度関数Pの抽出区間[xa,xb]を決定する。
【0106】
図5は、本開示の実施の形態に係るゲートウェイ装置における抽出部により生成される確率密度関数および累積分布関数の一例を示す図である。
図5において、実線は確率密度関数Pを示し、一点鎖線は累積分布関数Aを示す。また、
図5において、横軸は受信間隔x[秒]を示し、確率密度関数Pについての縦軸は確率密度を示し、累積分布関数Aについての縦軸は確率を示す。
【0107】
図5を参照して、取得部52は、たとえば車両1の出荷前に、車両1の生産工場等における作業者によって車載ネットワーク12の利用率がゼロ%に設定された状況下において、制御装置122Aから送信される周期メッセージの受信間隔xの度数分布D(UR0)を生成する。
【0108】
同様に、取得部52は、車両1の生産工場等における作業者によって車載ネットワーク12の利用率が40%に設定された状況下において、制御装置122Aから送信される周期メッセージの受信間隔xの度数分布D(UR40)を生成する。なお、取得部52が度数分布D(UR0),D(UR40)を生成する際に制御装置122Aから送信される周期メッセージには、不正メッセージは含まれないものとする。
【0109】
抽出部53は、取得部52によって生成された度数分布D(UR0)を近似する確率密度関数P(UR0)および累積分布関数A(UR0)を生成する。また、抽出部53は、取得部52によって生成された度数分布D(UR40)を近似する確率密度関数P(UR40)および累積分布関数A(UR40)を生成する。
【0110】
次に、抽出部53は、累積分布関数A(UR0)により表される確率がゼロであるときの受信間隔xp、および累積分布関数A(UR0)により表される確率が1に到達するときの受信間隔xqを特定する。
【0111】
次に、抽出部53は、累積分布関数A(UR40)において、受信間隔xpに対応する確率yp、および受信間隔xqに対応する確率yqを特定し、確率ypおよび確率yqを所定値yaおよび所定値ybとしてそれぞれ記憶部56に保存する。
【0112】
上述したように、抽出部53は、取得部52によって対象期間Taにおける度数分布Dが生成されるたびに、確率密度関数Pを生成するとともに、生成した確率密度関数Pを定積分することにより累積分布関数Aを生成する。そして、抽出部53は、生成した累積分布関数Aおよび上述のようにして決定した所定値ya,ybに基づいて、抽出区間[xa,xb]を決定し、決定した抽出区間[xa,xb]における確率密度関数Pを抽出する。
【0113】
[算出部]
算出部54は、取得部52によって取得された度数分布Dに基づいて、周期メッセージの受信間隔の統計値を算出する。
【0114】
算出部54は、取得部52によって記憶部56おける度数分布Dが更新されると、更新後の度数分布Dを構成する複数の受信間隔xの平均値Avを算出する。そして、算出部54は、算出した平均値Avを検知部55へ出力する。
【0115】
[検知部]
検知部55は、抽出部53によって抽出された対象分布の一部に基づいて、不正メッセージを検知する検知処理を行う。
【0116】
より詳細には、検知部55は、抽出部53から抽出情報を受けると、受けた抽出情報に基づいて、検知処理を行う。
【0117】
(検知処理の例1)
検知部55は、対象分布の一部における周期メッセージの受信間隔xの標準偏差に基づいて、検知処理を行う。
【0118】
より詳細には、検知部55は、抽出部53から抽出情報を受けると、記憶部56を参照して、対象期間Taにおける度数分布Dを構成する複数の受信間隔xのうち、抽出部53から受けた抽出情報が示す抽出区間[xa,xb]の範囲内の受信間隔xを抽出し、抽出した受信間隔xの標準偏差Sdを算出する。
【0119】
たとえば、記憶部56は、標準偏差Sdに関するしきい値ThA,ThBを記憶している。なお、しきい値ThAは、しきい値ThBよりも小さいものとする。
【0120】
検知部55は、標準偏差Sdを算出すると、算出した標準偏差Sdと記憶部56におけるしきい値ThA,ThBとを比較し、比較結果に基づいて不正メッセージを検知する。たとえば、検知部55は、標準偏差Sdが、しきい値ThAより小さいか、またはしきい値ThBより大きい場合、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断する。
【0121】
たとえば、検知部55は、シューハート管理図、Xbar-R管理図、CUSUM(Cumulative Sum)管理図、EWMA(Exponentially Weighted Moving Average)管理図、MEWMA(Multivariate Exponentially Weighted Moving Average)管理図、およびMEWMC(Multivariate Exponentially Weighted Moving Covariance Matrix)管理図等の管理図を用いて、検知処理を行う。
【0122】
図6は、本開示の実施の形態に係るゲートウェイ装置において検知部により算出される標準偏差の時間変化を示す図である。
図6において、横軸は時間[秒]を示し、縦軸は標準偏差Sdを示している。
【0123】
図6を参照して、検知部55は、対象期間Taごとに算出される標準偏差Sdの時間変化をモニタし、標準偏差Sdが上限管理限界線UCLを超えた場合、標準偏差Sdが下限管理限界線LCLを下回った場合、一定時間連続して標準偏差Sdが中心線CLを超えた場合、または一定時間連続して標準偏差Sdが中心線CLを下回った場合、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断する。
【0124】
たとえば、下限管理限界線LCLは、記憶部56におけるしきい値ThAであり、上限管理限界線UCLは、記憶部56におけるしきい値ThBである。
【0125】
(検知処理の例2)
検知部55は、対象分布の一部におけるピークの数に基づいて、検知処理を行う。
【0126】
より詳細には、検知部55は、抽出部53から受けた抽出情報に含まれるK、c1~cK、x1バー~xKバーおよびσ1^2~σK^2が示す確率密度関数Pにおいて、抽出情報が示す抽出区間[xa,xb]に存在するピークの数Psを算出する。
【0127】
たとえば、記憶部56は、ピークの数Psに関するしきい値ThCを記憶している。
【0128】
検知部55は、ピークの数Psを算出すると、算出したピークの数Psと記憶部56におけるしきい値ThCとを比較し、比較結果に基づいて不正メッセージを検知する。たとえば、検知部55は、ピークの数Psがしきい値ThCより大きい場合、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断する。
【0129】
(検知処理の例3)
検知部55は、対象分布の一部における尖度に基づいて、検知処理を行う。
【0130】
より詳細には、検知部55は、抽出部53から受けた抽出情報に含まれるK、c1~cK、x1バー~xKバーおよびσ1^2~σK^2が示す確率密度関数Pにおいて、抽出情報が示す抽出区間[xa,xb]に存在するピークの尖度Ksを算出する。
【0131】
たとえば、記憶部56は、尖度Ksに関するしきい値ThDを記憶している。
【0132】
検知部55は、ピークの尖度Ksを算出すると、算出した尖度Ksと記憶部56におけるしきい値ThDとを比較し、比較結果に基づいて不正メッセージを検知する。たとえば、検知部55は、尖度Ksがしきい値ThDより小さい場合、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断する。
【0133】
(検知処理の例4)
検知部55は、算出部54によって算出された平均値Av等の統計値と、所定値との比較結果に基づいて、検知処理を行う。
【0134】
たとえば、記憶部56は、受信間隔xの平均値Avに関するしきい値ThE,ThFを記憶している。なお、しきい値ThEは、しきい値ThFよりも小さいものとする。
【0135】
検知部55は、算出部54から平均値Avを受けると、受けた平均値Avと記憶部56におけるしきい値ThE,ThFとを比較し、比較結果に基づいて不正メッセージを検知する。たとえば、検知部55は、平均値Avが、しきい値ThEより小さいか、またはしきい値ThFより大きい場合、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断する。
【0136】
なお、検知部55は、検知処理の例2~4において、検知処理の例1と同様に、管理図を用いて検知処理を行う構成であってもよい。
【0137】
また、検知部55は、受信間隔xの標準偏差Sd、ピークの数Ps、ピークの尖度Ksおよび受信間隔xの平均値Avのうちの一部または全部を用いて、対象メッセージMの異常度合いを示すスコアを算出し、管理図を用いて、算出したスコアの時間変化に基づく検知処理を行う構成であってもよい。
【0138】
検知部55は、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断した場合、以下の処理を行う。
【0139】
すなわち、検知部55は、対象期間Ta内に送信された対象メッセージMの情報を記録する。また、検知部55は、車載ネットワーク12において不正メッセージが伝送されていることを示す警報情報を通信処理部51経由で車両1内または車両1外における上位装置へ送信する。上位装置は、たとえば、警報情報を用いて所定の処理を行うサーバ等の装置である。
【0140】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0141】
図7は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
【0142】
図7を参照して、まず、ゲートウェイ装置101は、車載ネットワーク12において送信されるメッセージを監視し、対象メッセージMを受信すると、受信した対象メッセージMの受信時刻tに基づいて対象メッセージMの受信間隔xを算出し、算出した受信間隔xを記憶部56に蓄積する(ステップS102)。
【0143】
次に、ゲートウェイ装置101は、対象期間Taが経過するまで受信間隔xの蓄積を繰り返し(ステップS104でNO)、対象期間Taが経過すると(ステップS104でYES)、記憶部56に蓄積した各受信間隔xに基づいて、対象期間Taにおける対象メッセージMの受信間隔xの度数分布Dを生成する(ステップS106)。
【0144】
次に、ゲートウェイ装置101は、生成した度数分布Dを構成する各受信間隔xの平均値Avを算出する(ステップS108)。
【0145】
次に、ゲートウェイ装置101は、生成した度数分布Dを近似する確率密度関数Pを生成するとともに、生成した確率密度関数Pを定積分することにより、累積分布関数Aを生成する(ステップS110)。
【0146】
次に、ゲートウェイ装置101は、累積分布関数Aにより表される確率が所定値yaとなるときの受信間隔xa、および累積分布関数Aにより表される確率が所定値ybとなるときの受信間隔xbに基づいて、抽出区間[xa,xb]を決定する(ステップS112)。
【0147】
次に、ゲートウェイ装置101は、度数分布Dの一部を抽出する。より詳細には、ゲートウェイ装置101は、抽出区間[xa,xb]における確率密度関数Pを抽出する(ステップS114)。
【0148】
次に、ゲートウェイ装置101は、抽出した確率密度関数PにおけるK、c1~cK、x1バー~xKバーおよびσ1^2~σK^2、ならびに決定した抽出区間[xa,xb]を含む抽出情報に基づいて、標準偏差Sd、ピークの数Psおよびピークの尖度Ksを算出する(ステップS116)。
【0149】
次に、ゲートウェイ装置101は、平均値Av、標準偏差Sd、ピークの数Psおよびピークの尖度Ksに基づいて、検知処理を行う(ステップS118)。
【0150】
次に、ゲートウェイ装置101は、検知処理の結果、対象期間Taにおける対象メッセージMは不正メッセージではないと判断した場合(ステップS120でNO)、新たな対象メッセージMを受信し、受信間隔xを記憶部56に蓄積する(ステップS102)。
【0151】
次に、ゲートウェイ装置101は、検知処理の結果、対象期間Taにおける対象メッセージMの一部または全部が不正メッセージであると判断した場合(ステップS120でYES)、不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する(ステップS122)。
【0152】
次に、ゲートウェイ装置101は、新たな対象メッセージMを受信し、受信間隔xを記憶部56に蓄積する(ステップS102)。
【0153】
なお、ゲートウェイ装置101は、ステップS102の処理と、ステップS106~S122の処理とを並行して行う構成であってもよい。
【0154】
図8は、本開示の実施の形態に係る車載通信システムにおけるゲートウェイ装置が確率密度関数の抽出区間の基準を決定する際の動作手順の一例を定めたフローチャートである。
【0155】
図8を参照して、まず、ゲートウェイ装置101は、たとえば車両1の出荷前に、車両1の生産工場等における作業者によって車載ネットワーク12の利用率がゼロ%に設定された状況下において、制御装置122Aから送信される周期メッセージの受信間隔xの度数分布D(UR0)を生成する(ステップS202)。
【0156】
次に、ゲートウェイ装置101は、車両1の生産工場等における作業者によって車載ネットワーク12の利用率が40%に設定された状況下において、制御装置122Aから送信される周期メッセージの受信間隔xの度数分布D(UR40)を生成する(ステップS204)。
【0157】
次に、ゲートウェイ装置101は、度数分布D(UR0)を近似する確率密度関数P(UR0)および累積分布関数A(UR0)、ならびに度数分布D(UR40)を近似する確率密度関数P(UR40)および累積分布関数A(UR40)を生成する(ステップS206)。
【0158】
次に、ゲートウェイ装置101は、累積分布関数A(UR0)により表される確率がゼロであるときの受信間隔xp、および累積分布関数A(UR0)により表される確率が1に到達するときの受信間隔xqを特定する(ステップS208)。
【0159】
次に、ゲートウェイ装置101は、累積分布関数A(UR40)において、受信間隔xpに対応する確率yp、および受信間隔xqに対応する確率yqを特定し、確率ypおよび確率yqをそれぞれ所定値yaおよび所定値ybとして記憶部56に保存する(ステップS210)。
【0160】
なお、本開示の実施の形態に係る車載通信システム301では、ゲートウェイ装置101が、車載ネットワーク12における不正メッセージを検知する構成であるとしたが、これに限定するものではない。車載通信システム301では、ゲートウェイ装置101とは別の装置が、検知装置として車載ネットワーク12における不正メッセージを検知する構成であってもよい。
【0161】
また、本開示の実施の形態に係る車載通信システム301では、検知装置として機能するゲートウェイ装置101がバス13に直接接続される構成であるとしたが、これに限定するものではない。
【0162】
図9は、本発明の実施の形態に係る車載ネットワークの接続トポロジの一例を示す図である。
【0163】
図9を参照して、検知装置151が、車載装置たとえば制御装置122を介してバス13に接続される構成であってもよい。この場合、検知装置151は、たとえば、当該車載装置が送受信するメッセージを監視することにより、バス13に伝送される不正メッセージを検知する。
【0164】
図9に示す例では、たとえば、検知装置151の取得部52は、制御装置122が受信する対象メッセージの受信時刻tを取得する。そして、取得部52は、取得した受信時刻tに基づいて受信間隔xを算出し、受信間隔xの度数分布Dを生成する。
【0165】
また、本開示の実施の形態に係るゲートウェイ装置101では、取得部52は、通信処理部51によって中継されるメッセージを監視することにより対象メッセージMの受信時刻tを取得し、取得した受信時刻tと、直前の対象メッセージMの受信時刻tとの差分を対象メッセージMの受信間隔xとして算出する構成であるとしたが、これに限定するものではない。取得部52は、ゲートウェイ装置101の外部の装置から通信処理部51経由で受信間隔xを受信する構成であってもよい。
【0166】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部55は、標準偏差Sd、ピークの数Ps、ピークの尖度Ksおよび平均値Avに基づいて検知処理を行う構成であるとしたが、これに限定するものではない。検知部55は、標準偏差Sd、ピークの数Ps、ピークの尖度Ksおよび平均値Avのうちの、いずれか1つ、2つまたは3つに基づいて、検知処理を行う構成であってもよい。
【0167】
また、本開示の実施の形態に係るゲートウェイ装置101では、検知部55は、抽出情報に基づいて、標準偏差Sd、ピークの数Psおよびピークの尖度Ksを算出する構成であるとしたが、これに限定するものではない。検知部55は、たとえば、車両1の外部におけるサーバ等の外部装置へ抽出情報を送信し、送信した抽出情報に基づいて算出される標準偏差Sd、ピークの数Psおよびピークの尖度Ksを当該外部装置から受信する構成であってもよい。
【0168】
また、本開示の実施の形態に係るゲートウェイ装置101では、算出部54は、受信間隔xの統計値として、受信間隔xの平均値Avを算出する構成であるとしたが、これに限定するものではない。算出部54は、各受信間隔xの中央値等の、平均値Av以外の統計値を算出する構成であってもよい。
【0169】
また、本開示の実施の形態に係るゲートウェイ装置101は、算出部54を備える構成であるとしたが、これに限定するものではない。ゲートウェイ装置101は、算出部54を備えない構成であってもよい。この場合、検知部55は、標準偏差Sd、ピークの数Psおよびピークの尖度Ksのうちの少なくともいずれか1つに基づいて、検知処理を行う。
【0170】
また、算出部54は、たとえば、車両1の外部におけるサーバ等の外部装置に設けられていてもよい。この場合、検知部55は、度数分布Dから算出される平均値Avを当該外部装置から受信する構成であってもよい。
【0171】
また、本開示の実施の形態に係るゲートウェイ装置101では、抽出部53は、参照分布の一例である度数分布D(UR0)を用いて予め決定される所定値ya,ybに基づいて、抽出区間[xa,xb]を決定し、決定した抽出区間[xa,xb]における確率密度関数Pを抽出する構成であるとしたが、これに限定するものではない。抽出部53は、参照分布を用いることなく抽出区間[xa,xb]を決定し、決定した抽出区間[xa,xb]における確率密度関数Pを抽出する構成であってもよい。
【0172】
また、本開示の実施の形態に係るゲートウェイ装置101では、抽出部53は、車載ネットワーク12の利用率がゼロ%の状況下における受信間隔xの度数分布D(UR0)を用いて予め決定される所定値ya,ybを用いて、確率密度関数Pの一部を抽出する構成であるとしたが、これに限定するものではない。抽出部53は、車載ネットワーク12の利用率がたとえば10%の状況下における受信間隔xの度数分布D(UR10)を用いて予め決定される所定値を用いて、確率密度関数Pの一部を抽出する構成であってもよい。
【0173】
ところで、車載ネットワークにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0174】
たとえば、不正な車載装置による攻撃モデルとして、正常な車載装置からの正当メッセージを停止させるとともに、正当メッセージと同一の送信周期の不正メッセージを送信するという、いわゆる占有バス型の攻撃モデルが想定される。特許文献1に記載の技術では、このような占有バス型の攻撃モデルに従って送信される不正メッセージを検知することは困難である。
【0175】
また、占有バス型の攻撃モデルに対する対策として、たとえば周期メッセージの受信間隔の標準偏差等の、周期メッセージの受信時刻に関する統計値をフィンガープリント情報として用いて、送信元が不正な車載装置であるか否かを識別するという検知方法が知られている。
【0176】
しかしながら、占有バス型の攻撃モデルにおいて、不正な車載装置が、正常な車載装置からの正当メッセージの送信時刻を機械学習し、送信間隔の標準偏差が正当メッセージの送信間隔の標準偏差と略同一となるように不正メッセージを送信するという、いわゆるクロックフィッシングを用いた不正メッセージの送信が想定される。特許文献2に記載の技術等の従来技術では、このようなクロックフィッシングにより検知機能が容易に回避されるおそれがある。
【0177】
具体的には、本願発明者らの検証によれば、-30%~30%以内の精度で送信間隔の標準偏差を偽装することによって正当メッセージになりすました不正メッセージを送信された場合、フィンガープリント情報を用いて不正メッセージを検知することは困難である。
【0178】
また、本願発明者らは、以下の手順により、周期メッセージの受信間隔の標準偏差をフィンガープリント情報として用いる検知方法を評価した。
【0179】
初めに、本願発明者らは、クロック周波数が8MHzであり、かつ周波数偏差がプラスマイナス30ppmである振動子Aを備える車載装置、およびロガーをCANバスに接続することにより、模擬車載ネットワークを生成した。
【0180】
そして、本願発明者らは、車載装置から送信される周期メッセージの周期を100ミリ秒に設定し、車載装置における周期メッセージの送信間隔をオシロスコープを用いてモニタした。また、本願発明者らは、当該模擬車載ネットワークを、ネットワークの利用率すなわちトラフィックをゼロ%、40%および80%の各状況に設定し、各状況下において、車載装置からの周期メッセージのロガーにおける受信間隔をモニタした。
【0181】
次に、本願発明者らは、振動子Aの代わりに、クロック周波数が8MHzであり、かつ周波数偏差がプラスマイナス20ppmである振動子Bを車載装置に搭載し、同様にして、トラフィックについての各状況下において、車載装置における周期メッセージの送信間隔およびロガーにおける受信間隔をモニタした。
【0182】
また、本願発明者らは、振動子Aの代わりに、クロック周波数が8MHzであり、かつ周波数偏差がプラスマイナス30ppmである振動子Cを車載装置に搭載し、同様にして、トラフィックについての各状況下において、車載装置における周期メッセージの送信間隔およびロガーにおける受信間隔をモニタした。
【0183】
図10~12は、本願発明者らの検証結果を示す図である。
図10は、車載装置に搭載される振動子ごとの、車載装置における周期メッセージの送信間隔の標準偏差を示している。
図11は、車載装置に搭載される振動子ごとの、トラフィックが40%のときのロガーにおける周期メッセージの受信間隔の標準偏差を示している。
図12は、車載装置に搭載される振動子ごとの、トラフィックが80%のときのロガーにおける周期メッセージの受信間隔の標準偏差を示している。
【0184】
図10~12を参照して、車載装置に搭載される振動子の別に応じて、車載装置における周期メッセージの送信間隔の標準偏差に差異が現れている一方、トラフィックが40%,80%のときのロガーにおける周期メッセージの受信間隔の標準偏差には差異が現れていない。
【0185】
以上より、周期メッセージの受信間隔の標準偏差に基づいて振動子の別を判断することは困難であることから、周期メッセージの受信間隔の標準偏差をフィンガープリント情報として用いる従来技術の検知方法では、送信元が不正な車載装置であるか否かを識別することは困難であるとの知見を得た。
【0186】
これに対して、本開示の実施の形態に係るゲートウェイ装置101では、取得部52は、車載ネットワーク12において送信される周期メッセージの受信間隔の分布である対象分布を取得する。抽出部53は、取得部52によって取得された対象分布の一部を所定の基準に従って抽出する。検知部55は、抽出部53によって抽出された対象分布の一部に基づいて、不正メッセージを検知する検知処理を行う。
【0187】
本開示の実施の形態に係る検知方法は、車載ネットワーク12における不正メッセージを検知するゲートウェイ装置101における検知方法である。この検知方法では、まず、ゲートウェイ装置101が、車載ネットワーク12において送信される周期メッセージの受信間隔の分布である対象分布を取得する。次に、ゲートウェイ装置101が、取得した対象分布の一部を所定の基準に従って抽出する。次に、ゲートウェイ装置101が、抽出した対象分布の一部に基づいて、不正メッセージを検知する検知処理を行う。
【0188】
このように、対象分布の一部を所定の基準に従って抽出し、抽出した対象分布の一部に基づいて不正メッセージを検知する構成および方法により、たとえば、対象分布から、送信元の車載装置におけるクロック周波数等の特性が反映された部分を抽出し、抽出部分に基づいて、送信元の車載装置が不正な車載装置であるか否かを識別することができる。
【0189】
したがって、本開示の実施の形態に係るゲートウェイ装置および検知方法では、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0190】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0191】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、
前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、
前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを備え、
前記抽出部は、前記対象分布を近似する確率密度関数および前記確率密度関数に基づく累積分布関数を生成し、
前記抽出部は、前記対象分布のうち、生成した前記累積分布関数における確率の値が所定範囲内となるときの受信間隔の値の範囲における分布を抽出する、検知装置。
【0192】
[付記2]
車両に搭載される車載ネットワークにおける不正メッセージを検知する、プロセッサを備える検知装置であって、
前記プロセッサは、
前記車載ネットワークにおいて送信される周期メッセージの受信間隔の分布である対象分布を取得する取得部と、
前記取得部によって取得された前記対象分布の一部を所定の基準に従って抽出する抽出部と、
前記抽出部によって抽出された前記対象分布の一部に基づいて、前記不正メッセージを検知する検知処理を行う検知部とを実現する、検知装置。
【符号の説明】
【0193】
1 車両
12 車載ネットワーク
13 バス
14 バス
51 通信処理部
52 取得部
53 抽出部
54 算出部
55 検知部
56 記憶部
101 ゲートウェイ装置
111 車載通信機
111A TCU(車載通信機)
111B 近距離無線端末装置(車載通信機)
111C ITS無線機(車載通信機)
112 ポート
121 バス接続装置群
122,122A,122B,122C 制御装置
151 検知装置
301 車載通信システム