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

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

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

特許7655327検知装置、検知方法および検知プログラム
<>
  • 特許-検知装置、検知方法および検知プログラム 図1
  • 特許-検知装置、検知方法および検知プログラム 図2
  • 特許-検知装置、検知方法および検知プログラム 図3
  • 特許-検知装置、検知方法および検知プログラム 図4
  • 特許-検知装置、検知方法および検知プログラム 図5
  • 特許-検知装置、検知方法および検知プログラム 図6
  • 特許-検知装置、検知方法および検知プログラム 図7
  • 特許-検知装置、検知方法および検知プログラム 図8
  • 特許-検知装置、検知方法および検知プログラム 図9
  • 特許-検知装置、検知方法および検知プログラム 図10
  • 特許-検知装置、検知方法および検知プログラム 図11
  • 特許-検知装置、検知方法および検知プログラム 図12
  • 特許-検知装置、検知方法および検知プログラム 図13
  • 特許-検知装置、検知方法および検知プログラム 図14
  • 特許-検知装置、検知方法および検知プログラム 図15
  • 特許-検知装置、検知方法および検知プログラム 図16
  • 特許-検知装置、検知方法および検知プログラム 図17
  • 特許-検知装置、検知方法および検知プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-03-25
(45)【発行日】2025-04-02
(54)【発明の名称】検知装置、検知方法および検知プログラム
(51)【国際特許分類】
   H04L 43/08 20220101AFI20250326BHJP
   H04L 43/02 20220101ALI20250326BHJP
   H04L 12/28 20060101ALI20250326BHJP
   H04L 12/66 20060101ALI20250326BHJP
【FI】
H04L43/08
H04L43/02
H04L12/28 100A
H04L12/66
【請求項の数】 9
(21)【出願番号】P 2022571050
(86)(22)【出願日】2021-09-08
(86)【国際出願番号】 JP2021032961
(87)【国際公開番号】W WO2022137661
(87)【国際公開日】2022-06-30
【審査請求日】2024-02-21
(31)【優先権主張番号】P 2020216834
(32)【優先日】2020-12-25
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(73)【特許権者】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(73)【特許権者】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(74)【代理人】
【識別番号】110000682
【氏名又は名称】弁理士法人ワンディ-IPパ-トナ-ズ
(72)【発明者】
【氏名】塚本 博之
(72)【発明者】
【氏名】上田 浩史
【審査官】漆原 孝治
(56)【参考文献】
【文献】特開2019-126007(JP,A)
【文献】国際公開第2020/246145(WO,A1)
【文献】特開2018-160851(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 43/08
H04L 43/02
H04L 12/28
H04L 12/66
(57)【特許請求の範囲】
【請求項1】
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、
前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、
前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部とを備え、
前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う、検知装置。
【請求項2】
前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージおよび前記イベントメッセージが送信される毎に変更される第1のシーケンス番号が付され、
前記カウンタ部は、前記検知装置が前記周期メッセージおよび前記イベントメッセージをそれぞれ受信したときに前記カウンタ値を変更する、請求項1に記載の検知装置。
【請求項3】
前記間隔は、第1のメッセージと前記第1のメッセージの前記第1のシーケンス番号よりも1つ前の前記第1のシーケンス番号を有する第2のメッセージとの受信間隔である、請求項2に記載の検知装置。
【請求項4】
前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージおよび前記イベントメッセージが送信される毎に変更される第1のシーケンス番号が付され、
前記検知部は、前記監視結果に基づいて、前記周期メッセージの欠損を検知し、欠損した前記周期メッセージの数に基づいて、前記カウンタ値を補正し、前記第1のシーケンス番号と補正した前記カウンタ値とを比較し、比較結果に基づいて前記不正メッセージの検知の仮判定を行う、請求項1から請求項3のいずれか1項に記載の検知装置。
【請求項5】
前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージが送信される場合には変更されず、前記イベントメッセージが送信される毎に変更される第2のシーケンス番号が付され、
前記カウンタ部は、前記周期メッセージおよび前記イベントメッセージのうち、前記検知装置が前記イベントメッセージを受信したときに前記カウンタ値を変更する、請求項1に記載の検知装置。
【請求項6】
前記間隔は、第3のメッセージと前記第3のメッセージの前記第2のシーケンス番号と同じ前記第2のシーケンス番号を有する第4のメッセージとの受信間隔である、請求項5に記載の検知装置。
【請求項7】
前記検知部は、前記仮判定における不正メッセージの検知結果を前記本判定において修正した後、過渡状態に遷移し、前記過渡状態において、同じ前記識別情報が付された前記メッセージの中で、時間的に連続して受信された前記メッセージの受信間隔、および前記シーケンス番号に基づいて前記不正メッセージを検知する、請求項6に記載の検知装置
【請求項8】
車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、
前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視するステップと、
前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するステップと、
監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行うステップと、
同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行うステップとを含む、検知方法。
【請求項9】
車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、
コンピュータを、
前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、
前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、
前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部、として機能させるためのプログラムであり、
前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う、検知プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、検知装置、検知方法および検知プログラムに関する。
この出願は、2020年12月25日に出願された日本出願特願2020-216834号を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【背景技術】
【0002】
特許文献1(特開2014-146868号公報)には、以下のようなネットワーク装置が開示されている。すなわち、ネットワーク装置は、データを受信する通信部と、データを受信した受信時間を管理する時間管理部と、受信したデータを処理する制御部とを有し、周期的にデータを受信して処理するネットワーク装置において、前記制御部は、前記通信部で受信したデータが有する識別子毎に前記時間管理部における受信時刻を記録し、基準とするデータと同じ識別子を持つデータを受信した間隔が所定周期より短い第1のデータを受信した場合に、前記基準とするデータを受信した時刻から前記所定周期経過するまでに前記第1のデータと同じ識別子を持つ第2のデータを受信した時には、周期異常検出時処理を行い、前記所定周期経過するまでに前記第1のデータと同じ識別子を持つデータを受信しなかった時には、前記第1のデータについて所定の処理を行う。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2014-146868号公報
【発明の概要】
【0004】
本開示の検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部とを備え、前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う。
【0005】
本開示の検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおいて、送信元の識別情報が付された、周期的に送信される周期メッセージおよび不定期にかつ前記周期メッセージの送信周期よりも短い間隔で2つ以上連続して送信されるイベントメッセージを監視する監視部と、前記監視部による監視結果に基づいて、同じ前記識別情報が付され、かつ、連続して送信された前記イベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージの検知の仮判定を行う検知部とを備える。
【0006】
本開示の検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視するステップと、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するステップと、監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行うステップと、監視された、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行うステップとを含む。
【0007】
本開示の検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部、として機能させるためのプログラムであり、前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う。
【0008】
本開示の一態様は、検知装置の一部または全部を実現する半導体集積回路として実現され得たり、検知装置を備えるシステムとして実現され得る。また、本開示の一態様は、検知装置を備えるシステムの一部または全部を実現する半導体集積回路として実現され得る。
【図面の簡単な説明】
【0009】
図1図1は、本開示の第1の実施の形態に係る車載通信システムの構成を示す図である。
図2図2は、本開示の第1の実施の形態に係るバス接続装置群の構成を示す図である。
図3図3は、本開示の第1の実施の形態に係る車載通信システムにおける制御装置およびゲートウェイ装置のハードウェア構成の一例を示す図である。
図4図4は、本開示の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
図5図5は、本開示の第1の実施の形態に係るゲートウェイ装置において、受信したメッセージが正当メッセージであると判定する場合の一例を示す図である。
図6図6は、本開示の第1の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
図7図7は、本開示の第1の実施の形態に係るゲートウェイ装置が検知結果を修正する場合の一例を示す図である。
図8図8は、本開示の第1の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図9図9は、本開示の第1の実施の形態の変形例1に係る車載通信システムにおいて、周期メッセージの一部が欠損した場合の一例を示す図である。
図10図10は、本開示の第1の実施の形態の変形例1に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図11図11は、本開示の第2の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
図12図12は、本開示の第2の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
図13図13は、本開示の第2の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図14図14は、本開示の第2の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図15図15は、本開示の第3の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
図16図16は、本開示の第3の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。
図17図17は、本開示の第3の実施の形態の変形例に係る車載通信システムにおいて、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
図18図18は、本開示の実施の形態に係る車載ネットワークの接続トポロジの一例を示す図である。
【発明を実施するための形態】
【0010】
従来、車載ネットワークにおけるセキュリティを向上させるための技術が開発されている。
【0011】
[本開示が解決しようとする課題]
特許文献1に記載の技術を超えて、車載ネットワークにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0012】
本開示は、上述の課題を解決するためになされたもので、その目的は、車載ネットワークにおける不正メッセージをより正しく検知することが可能な検知装置、検知方法および検知プログラムを提供することである。
【0013】
[本開示の効果]
本開示によれば、車載ネットワークにおける不正メッセージをより正しく検知することが可能である。
【0014】
[本開示の実施形態の説明]
最初に、本開示の実施形態の内容を列記して説明する。
【0015】
(1)本開示の実施の形態に係る検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部とを備え、前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う。
【0016】
このように、検知部が、シーケンス番号に関する所定条件を満たすメッセージの間隔、および周期メッセージの所定の送信周期に基づいて、仮判定における不正メッセージの検知結果を修正し得る本判定を行う構成により、シーケンス番号をカウンタ値に合わせた不正メッセージが送信され、当該不正メッセージを正当メッセージと判定し、正当メッセージを不正メッセージと誤検知したとしても、その検知結果の妥当性を検証し、必要に応じて検知結果を修正することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0017】
(2)前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージおよび前記イベントメッセージが送信される毎に変更される第1のシーケンス番号が付され、前記カウンタ部は、前記検知装置が前記周期メッセージおよび前記イベントメッセージをそれぞれ受信したときに前記カウンタ値を変更してもよい。
【0018】
このような構成により、周期メッセージおよびイベントメッセージを判別する必要がなく、全てのメッセージをシーケンス番号で管理することができ、検知装置の構成を簡素にすることができる。
【0019】
(3)前記間隔は、第1のメッセージと前記第1のメッセージの前記第1のシーケンス番号よりも1つ前の前記第1のシーケンス番号を有する第2のメッセージとの受信間隔であってもよい。
【0020】
このような構成により、不正メッセージが送信されたタイミングを簡易な処理である程度特定することができる。
【0021】
(4)前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージおよび前記イベントメッセージが送信される毎に変更される第1のシーケンス番号が付され、前記検知部は、前記監視結果に基づいて、前記周期メッセージの欠損を検知し、欠損した前記周期メッセージの数に基づいて、前記カウンタ値を補正し、前記第1のシーケンス番号と補正した前記カウンタ値とを比較し、比較結果に基づいて前記不正メッセージを検知してもよい。
【0022】
このような構成により、正当メッセージである周期メッセージが何らかの要因で欠損したとしても、欠損を考慮して不正メッセージの検知を行うことができ、誤検知の発生を抑制することができる。
【0023】
(5)前記メッセージには、前記メッセージに付されるシーケンス番号として、前記周期メッセージが送信される場合には変更されず、前記イベントメッセージが送信される毎に変更される第2のシーケンス番号が付され、前記カウンタ部は、前記周期メッセージおよび前記イベントメッセージのうち、前記検知装置が前記イベントメッセージを受信したときに前記カウンタ値を変更してもよい。
【0024】
このような構成により、周期メッセージおよびイベントメッセージを判別し、イベントメッセージについての異常から不正メッセージを検知することができる。
【0025】
(6)前記間隔は、第3のメッセージと前記第3のメッセージの前記第2のシーケンス番号と同じ前記第2のシーケンス番号を有する第4のメッセージとの受信間隔であってもよい。
【0026】
このような構成により、不正メッセージが送信されたタイミングを簡易な処理である程度特定することができる。
【0027】
(7)前記検知部は、前記仮判定における不正メッセージの検知結果を前記本判定において修正した後、過渡状態に遷移し、前記過渡状態において、同じ前記識別情報が付された前記メッセージの中で、時間的に連続して受信された前記メッセージの受信間隔、および前記シーケンス番号に基づいて前記不正メッセージを検知してもよい。
【0028】
このような構成により、カウンタ値を用いて不正メッセージと判定した結果の修正処理を行った後も不正メッセージの検知を継続することができる。
【0029】
(8)本開示の実施の形態に係る検知装置は、車載ネットワークにおける不正メッセージを検知する検知装置であって、前記車載ネットワークにおいて、送信元の識別情報が付された、周期的に送信される周期メッセージおよび不定期にかつ前記周期メッセージの送信周期よりも短い間隔で2つ以上連続して送信されるイベントメッセージを監視する監視部と、前記監視部による監視結果に基づいて、同じ前記識別情報が付され、かつ、連続して送信された前記イベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージを検知する検知部とを備える。
【0030】
このように、検知部が、連続して送信されたイベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージを検知する構成により、イベントメッセージになりすました不正メッセージを容易に検知することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0031】
(9)本開示の実施の形態に係る検知方法は、車載ネットワークにおける不正メッセージを検知する検知装置における検知方法であって、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視するステップと、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するステップと、監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行うステップと、監視された、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行うステップとを含む。
【0032】
このように、シーケンス番号に関する所定条件を満たすメッセージの間隔、および周期メッセージの所定の送信周期に基づいて、仮判定における不正メッセージの検知結果を修正し得る本判定を行う構成により、シーケンス番号をカウンタ値に合わせた不正メッセージが送信され、当該不正メッセージを正当メッセージと判定し、正当メッセージを不正メッセージと誤検知したとしても、その検知結果の妥当性を検証し、必要に応じて検知結果を修正することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0033】
(10)本開示の実施の形態に係る検知プログラムは、車載ネットワークにおける不正メッセージを検知する検知装置において用いられる検知プログラムであって、コンピュータを、前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部、として機能させるためのプログラムであり、前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行う。
【0034】
このように、検知部が、シーケンス番号に関する所定条件を満たすメッセージの間隔、および周期メッセージの所定の送信周期に基づいて、仮判定における不正メッセージの検知結果を修正し得る本判定を行う構成により、シーケンス番号をカウンタ値に合わせた不正メッセージが送信され、当該不正メッセージを正当メッセージと判定し、正当メッセージを不正メッセージと誤検知したとしても、その検知結果の妥当性を検証し、必要に応じて検知結果を修正することができる。したがって、車載ネットワークにおける不正メッセージをより正しく検知することができる。
【0035】
以下、本開示の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。また、以下に記載する実施の形態の少なくとも一部を任意に組み合わせてもよい。
【0036】
<第1の実施の形態>
[構成および基本動作]
図1は、本開示の第1の実施の形態に係る車載通信システムの構成を示す図である。
【0037】
図1を参照して、車両1に搭載される車載通信システム301は、ゲートウェイ装置101と、複数の車載通信機111と、複数のバス接続装置群121とを備える。ゲートウェイ装置101は、検知装置の一例である。ゲートウェイ装置101は、バス13を介して各バス接続装置群121と接続され、バス14を介して各車載通信機111と接続される。バス13,14で接続されたゲートウェイ装置101、複数の車載通信機111および複数のバス接続装置群121は、車載ネットワーク12を構成する。
【0038】
図2は、本開示の第1の実施の形態に係るバス接続装置群の構成を示す図である。
【0039】
図2を参照して、バス接続装置群121は、複数の制御装置122を含む。なお、バス接続装置群121は、複数の制御装置122を備える構成に限らず、1つの制御装置122を含む構成であってもよい。
【0040】
車載通信システム301は、車両1の内部における装置である車載装置を複数含む。具体的には、車載通信システム301は、車載装置の一例である、複数の車載通信機111および複数の制御装置122を含む。なお、車載通信システム301は、複数の車載装置を含む構成であれば、複数の車載通信機111を含みかつ制御装置122を含まない構成であってもよいし、車載通信機111を含まずかつ複数の制御装置122を含む構成であってもよいし、1つの車載通信機111および1つの制御装置122を含む構成であってもよい。
【0041】
車載通信システム301において、車載通信機111は、たとえば、車両1の外部における装置と通信する。具体的には、車載通信機111は、たとえば、TCU(Telematics Communication Unit)、近距離無線端末装置、およびITS(Intelligent Transport Systems)無線機である。
【0042】
TCUは、たとえば、LTE(Long Term Evolution)または5G等の通信規格に従って、無線基地局装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。TCUは、たとえば、ナビゲーション、車両盗難防止、リモートメンテナンスおよびFOTA(Firmware Over The Air)等のサービスに用いる情報を中継する。
【0043】
近距離無線端末装置は、たとえば、Wi-Fi(登録商標)およびBluetooth(登録商標)等の通信規格に従って、車両1に乗車している人間すなわち搭乗者の保持するスマートホン等の無線端末装置と無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、エンターテイメント等のサービスに用いる情報を中継する。
【0044】
また、近距離無線端末装置は、たとえば、所定の通信規格に従って、搭乗者の保持するスマートキー等の無線端末装置、およびタイヤに設けられた無線端末装置とLF(Low Frequency)帯またはUHF(Ultra High Frequency)帯の電波を用いて無線通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。当該近距離無線端末装置は、たとえば、スマートエントリおよびTPMS(Tire Pressure Monitoring System)等のサービスに用いる情報を中継する。
【0045】
ITS無線機は、たとえば、道路の近傍に設けられた光ビーコン、電波ビーコンおよびITSスポット等の路側機と路車間通信を行うことが可能であり、他の車両に搭載された車載端末と車車間通信を行うことが可能であり、かつゲートウェイ装置101と通信を行うことが可能である。ITS無線機は、たとえば、渋滞緩和、安全運転支援およびルートガイダンス等のサービスに用いる情報を中継する。
【0046】
ゲートウェイ装置101は、たとえば、ファームウェアのアップデート等のデータ、およびゲートウェイ装置101により蓄積されたデータ等を車両1の外部における整備用端末装置とポート112を介して送受信することが可能である。
【0047】
ゲートウェイ装置101は、たとえばバス13,14を介して車載装置と接続する。具体的には、バス13,14は、たとえば、CAN(Controller Area Network)(登録商標)、FlexRay(登録商標)、MOST(Media Oriented Systems Transport)(登録商標)、イーサネット(登録商標)、およびLIN(Local Interconnect Network)等の規格に従うバスである。
【0048】
この例では、車載通信機111は、イーサネットの規格に従う対応のバス14を介してゲートウェイ装置101と接続されている。また、バス接続装置群121における各制御装置122は、CANの規格に従う対応のバス13を介してゲートウェイ装置101と接続されている。
【0049】
バス13は、たとえば系統別に設けられる。具体的には、バス13は、たとえば、駆動系バス、シャーシ/安全系バス、ボディ/電装系バスおよびAV/情報系バスである。
【0050】
駆動系バスには、制御装置122の一例であるエンジン制御装置、AT(Automatic Transmission)制御装置およびHEV(Hybrid Electric Vehicle)制御装置が接続されている。エンジン制御装置、AT制御装置およびHEV制御装置は、エンジン、AT、およびエンジンとモータとの切替をそれぞれ制御する。
【0051】
シャーシ/安全系バスには、制御装置122の一例であるブレーキ制御装置、シャーシ制御装置およびステアリング制御装置が接続されている。ブレーキ制御装置、シャーシ制御装置およびステアリング制御装置は、ブレーキ、シャーシおよびステアリングをそれぞれ制御する。
【0052】
ボディ/電装系バスには、制御装置122の一例である計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置が接続されている。計器表示制御装置、エアコン制御装置、盗難防止制御装置、エアバック制御装置およびスマートエントリ制御装置は、計器、エアコン、盗難防止機構、エアバック機構およびスマートエントリをそれぞれ制御する。
【0053】
AV/情報系バスには、制御装置122の一例であるナビゲーション制御装置、オーディオ制御装置、ETC(Electronic Toll Collection System)(登録商標)制御装置および電話制御装置が接続されている。ナビゲーション制御装置、オーディオ制御装置、ETC制御装置および電話制御装置は、ナビゲーション装置、オーディオ装置、ETC装置および携帯電話をそれぞれ制御する。
【0054】
また、バス13には、制御装置122が接続される構成に限らず、制御装置122以外の装置が接続されてもよい。
【0055】
ゲートウェイ装置101は、たとえば、セントラルゲートウェイ(Central Gateway:CGW)であり、車載装置と通信を行うことが可能である。
【0056】
ゲートウェイ装置101は、たとえば、車両1において異なるバス13に接続された制御装置122間でやり取りされる情報、各車載通信機111間でやり取りされる情報、制御装置122および車載通信機111間でやり取りされる情報を中継する中継処理を行う。
【0057】
より詳細には、車両1では、車載通信システム301におけるメッセージとして、たとえば、所定の取り決めに従って、ある車載装置から他の車載装置へ周期メッセージおよびイベントメッセージが送信される。周期メッセージは、ある車載装置から他の車載装置へ周期的に送信される。イベントメッセージは、ある車載装置から他の車載装置へ不定期に送信される。
【0058】
この例では、2つの車載装置間、すなわち、ある制御装置122から他の制御装置122へ送信されるメッセージについて説明するが、制御装置122および車載通信機111間におけるメッセージ、ならびに各車載通信機111間におけるメッセージについても同様である。
【0059】
図3は、本開示の第1の実施の形態に係る車載通信システムにおける制御装置およびゲートウェイ装置のハードウェア構成の一例を示す図である。
【0060】
図3を参照して、制御装置122の一例である制御装置122A,122Bは、バス13を介してゲートウェイ装置101と接続される。制御装置122Aは、発振器131Aと、CPU(Central Processing Unit)およびDSP(Digital Signal Processor)等のプロセッサ132Aと、CANトランシーバ133Aとを備える。また、制御装置122Bは、制御装置122Aと同様の構成であり、発信131Bと、プロセッサ132Bと、CANトランシーバ133Bとを備える。
【0061】
ゲートウェイ装置101は、CPUおよびDSP等のプロセッサ141と、CANトランシーバ142と、発振器143とを備える。
【0062】
制御装置122Aは、所定の送信周期で周期メッセージを送信する。より詳細には、制御装置122Aにおけるプロセッサ132Aは、発振器131Aからの発振信号に基づいて生成されるクロックのタイミングに従って、CANトランシーバ133A経由で周期メッセージを送信する。また、制御装置122Aは、不定期にイベントメッセージを送信する。より詳細には、制御装置122Aにおけるプロセッサ132Aは、CANトランシーバ133A経由でイベントメッセージを不定期に送信する。
【0063】
制御装置122Aは、周期メッセージおよびイベントメッセージに識別情報の一例であるメッセージID(Identifier)を付して送信する。メッセージIDは、周期メッセージおよびイベントメッセージの送信元を示している。なお、メッセージIDは、送信優先順位、周期メッセージであるかまたはイベントメッセージであるかを示すメッセージ送信タイプおよびメッセージ内容等をさらに示してもよい。
【0064】
また、メッセージには、周期メッセージおよびイベントメッセージが送信される毎に変更されるシーケンス番号(第1のシーケンス番号)が付されている。より詳細には、制御装置122Aは、周期メッセージおよびイベントメッセージに、周期メッセージおよびイベントメッセージが送信される毎に1ずつ増加するシーケンス番号を含める。要するに、制御装置122Aは、周期メッセージおよびイベントメッセージの種別を問わず、送信するメッセージに連続する番号を付す。
【0065】
なお、ある制御装置122が、周期メッセージおよびイベントメッセージを複数の制御装置122と通信する場合、制御装置122は、メッセージID毎に、シーケンス番号を設定する。また、ある制御装置122がメッセージの内容に応じて複数のメッセージIDを使い分ける場合、制御装置122はメッセージID毎にシーケンス番号を設定する。
【0066】
[ゲートウェイ装置の構成]
図4は、本開示の第1の実施の形態に係る車載通信システムにおけるゲートウェイ装置の構成を示す図である。
【0067】
図4を参照して、ゲートウェイ装置101は、通信処理部51と、監視部52と、カウンタ部53と、検知部54と、記憶部55とを備える。図3に示すプロセッサ141は、監視部52、カウンタ部53および検知部54の一部または全部を実現し、CANトランシーバ142は、通信処理部51の一部または全部を実現する。記憶部55は、たとえばフラッシュメモリである。
【0068】
ゲートウェイ装置101は、検知装置として機能し、車載ネットワーク12における不正メッセージを検知する検知処理を行う。
【0069】
[通信処理部]
通信処理部51は、車載ネットワーク12におけるバス13,14上のメッセージを受信する。通信処理部51は、メッセージを受信すると、当該メッセージの受信時刻を示すタイムスタンプを付与し、監視部52および検知部54へメッセージ受信通知を出力する。
【0070】
[監視部]
監視部52は、車載ネットワーク12におけるメッセージとして、送信元の識別情報であるメッセージIDおよびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する。
【0071】
再び図3を参照して、監視部52は、車載ネットワーク12におけるメッセージを監視することにより、周期メッセージの受信時刻およびイベントメッセージの受信時刻を取得する。
【0072】
監視部52は、たとえば、通信処理部51から受信通知を受けると、通信処理部51によって受信されたメッセージに含まれるメッセージID、ならびに予め記憶部55に保存されている周期メッセージのメッセージIDおよびイベントメッセージのメッセージIDを確認する。
【0073】
そして、監視部52は、通信処理部51によって受信されたメッセージに含まれるメッセージIDが記憶部55に保存されているメッセージIDと一致する場合、当該メッセージに付与されたタイムスタンプを参照することにより、メッセージの受信時刻を取得する。
【0074】
監視部52は、受信時刻を取得すると、取得した受信時刻を示す受信情報を、シーケンス番号と対応付けて検知部54へ出力する。
【0075】
[カウンタ部]
カウンタ部53は、車載ネットワーク12から少なくともイベントメッセージをゲートウェイ装置101が受信すると、識別情報に対応するカウンタ値を変更する。カウンタ値は、メッセージID毎に設定される。本実施の形態では、カウンタ部53は、ゲートウェイ装置101が周期メッセージおよびイベントメッセージをそれぞれ受信したときにカウンタ値を変更する。
【0076】
より詳細には、カウンタ部53は、後述するように受信したメッセージが検知部54によって正当メッセージと判定された場合、カウンタ値を1つ増加させる。カウンタ部53は、増加させたカウンタ値を記憶部55に保存する。
【0077】
カウンタ部53は、複数の制御装置122がそれぞれメッセージを送信する場合、メッセージID毎に別個のカウンタ値を設定する。なお、カウンタ部53は、ある1つの制御装置122がメッセージの内容に応じて複数のメッセージIDを使い分ける場合、メッセージID毎にカウンタ値を設定する。
【0078】
[検知部]
検知部54は、監視部52による監視結果に基づいて、シーケンス番号とカウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う。
【0079】
より詳細には、検知部54は、通信処理部51からメッセージ受信通知を受けると、メッセージのシーケンス番号およびカウンタ値を記憶部55から取得する。検知部54は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが同じ値の場合、受信したメッセージは正当メッセージであると判定し、シーケンス番号とカウンタ値とが異なる値の場合、受信したメッセージは不正メッセージであると判定する。
【0080】
図5は、本開示の第1の実施の形態に係るゲートウェイ装置において、受信したメッセージが正当メッセージであると判定する場合の一例を示す図である。
【0081】
図5を参照して、制御装置122Aが最初に送信するメッセージAにはシーケンス番号「01」が付されている。また、ゲートウェイ装置101におけるカウンタ部53のカウンタ値の初期値は、「01」に設定されている。
【0082】
ゲートウェイ装置101におけるカウンタ部53は、制御装置122Aからバス13経由でシーケンス番号「01」が付された周期メッセージAをゲートウェイ装置101において受信すると、カウンタ値を1つ増加させて「02」に設定する。
【0083】
次に、検知部54は、ゲートウェイ装置101がシーケンス番号「02」が付された周期メッセージBを受信すると、シーケンス番号とカウンタ値とは「02」で一致するため、周期メッセージBを正当メッセージと判定する。その後、カウンタ部53は、カウンタ値を1つ増加させて「03」に設定する。
【0084】
次に、検知部54は、ゲートウェイ装置101がシーケンス番号「03」が付されたイベントメッセージCを受信すると、シーケンス番号とカウンタ値とは「03」で一致するため、イベントメッセージCを正当メッセージと判定する。その後、カウンタ部53は、カウンタ値を「04」に設定する。
【0085】
このようにして、検知部54は、その後に受信するメッセージD~Gについても正当メッセージであるか否かを判定する。そして、図5に示す例では、検知部54は、メッセージD~Gを正当メッセージであると判定する。
【0086】
図6は、本開示の第1の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。図6は、ゲートウェイ装置101が、イベントメッセージCを受信した後に不正メッセージHを受信する点で図5と異なる。
【0087】
図6を参照して、ゲートウェイ装置101がメッセージA~Cを受信した後、カウンタ部53はカウンタ値を「04」に設定する。その後、検知部54は、ゲートウェイ装置101がシーケンス番号「05」が付されたメッセージHを受信すると、シーケンス番号とカウンタ値とが一致しないため、メッセージHを不正メッセージと判定する。
【0088】
(検知結果の修正)
検知部54は、不正メッセージを検知した場合、検知結果が妥当であるか否かを判定する。より詳細には、検知部54は、仮判定において不正メッセージを検知した場合、監視部52によって監視されたメッセージであって、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔、および周期メッセージの所定の送信周期に基づいて、不正メッセージの検知の本判定を行い、仮判定における不正メッセージの検知結果を修正する修正処理を行う。本実施の形態において、上記メッセージの間隔は、第1のメッセージと第1のメッセージよりも1つ前のシーケンス番号を有する第2のメッセージとの受信間隔である。
【0089】
(修正しない例1)
まず、図6に示す例において、検知部54が検知結果を修正しない場合について説明する。図6に示す例において、上記第1のメッセージは、一旦不正メッセージと判定されたメッセージHであり、そのカウンタ値は「05」である。そして、上記第2のメッセージはメッセージHよりも1カウント前のシーケンス番号「04」が付されたメッセージであるところ、ゲートウェイ装置101は、メッセージHを受信するよりも前にカウンタ値「04」が付されたメッセージを受信していない。したがって、検知部54は、図6に示す例では、第2のメッセージに相当するメッセージが存在しないため、検知結果を修正せず、メッセージHを不正メッセージと判定する。
【0090】
なお、カウンタ部53は、ゲートウェイ装置101が不正メッセージHを受信した場合、カウンタ値を変更せずに「04」を維持する。そして、検知部54は、その後に受信するメッセージD~Gを正当メッセージと判定する。
【0091】
(修正しない例2)
また、図6に示す例において、メッセージHのシーケンス番号が「02」であったとする。この場合、メッセージHのシーケンス番号とカウンタ部53のカウンタ値とが一致しないため、メッセージHは、一旦、不正メッセージと判定される。検知部54は、不正メッセージを検知したため、上述と同様に、検知結果の妥当性を判定する。この場合、第1のメッセージであるメッセージHよりも1カウント前のシーケンス番号「01」を有するメッセージは、メッセージAである。しかしながら、ゲートウェイ装置101は、メッセージAとメッセージHとの間にメッセージBおよびCを受信しているため、メッセージAは、メッセージHに対して時間的に連続して送信されたメッセージではなく、上記第2のメッセージに相当しない。したがって、この場合であっても、検知部54は、検知結果を修正せず、メッセージHを不正メッセージと判定する。
【0092】
(修正する例)
次に、検知部54が検知結果を修正する場合について説明する。図6に示す例では、検知部54は、メッセージHのシーケンス番号が、カウンタ部53のカウンタ値と異なる値であるため、メッセージHが不正メッセージであると判定している。しかしながら、メッセージHのシーケンス番号が、カウンタ部53のカウンタ値と同じである場合、不正メッセージであるメッセージHが正当メッセージと判定され、正当メッセージであるメッセージDが不正メッセージと判定されることになる。本実施の形態に係るゲートウェイ装置101は、このように、本来正当メッセージであるはずのメッセージが不正メッセージと判定された場合であっても、検知結果を修正することで誤検知を低減することができる。
【0093】
図7は、本開示の第1の実施の形態に係るゲートウェイ装置が検知結果を修正する場合の一例を示す図である。
【0094】
図7を参照して、まず、ゲートウェイ装置101は、メッセージA~Cを順に受信する。検知部54は、メッセージA~Cの各々については、シーケンス番号とカウンタ値とが一致するため、正当メッセージと判定する。この状態で、カウンタ部53のカウンタ値は「04」に設定されている。
【0095】
次に、ゲートウェイ装置101は、不正メッセージHを受信する。検知部54は、この不正メッセージHにはシーケンス番号「04」が付されているため、不正メッセージHを正当メッセージと判定する。カウンタ部53は、カウンタ値を「05」に増加させる。
【0096】
次に、ゲートウェイ装置101は、メッセージDを受信する。このメッセージDは、制御装置122AからメッセージCの次に送信されたメッセージであるため、シーケンス番号「04」を有している。しかしながら、検知部54は、カウンタ部53のカウンタ値は「05」であり、シーケンス番号とカウンタ値とが一致しないため、本来正当メッセージであるメッセージDを不正メッセージであると仮判定する。
【0097】
次に、検知部54は、メッセージDを不正メッセージとした検知結果の妥当性を判定する。上述したように、検知部54は、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔および周期メッセージの所定の送信周期に基づいて、検知結果を修正するか否かを判定する。
【0098】
ここで、所定条件を満たすメッセージの間隔とは、ゲートウェイ装置101が実際に時間的に連続して受信したメッセージの間隔ではなく、あるメッセージと当該メッセージのシーケンス番号の直前の番号として付与されたシーケンス番号を有するメッセージとの間隔、すなわち、あるメッセージと当該メッセージの1つ前に本来受信しているべきメッセージとの間隔を意味する。
【0099】
具体的には、不正メッセージと判定されたメッセージDに対して、実際に時間的に連続して受信されたメッセージは、メッセージHである。しかしながら、本実施の形態において制御装置122Aは、周期メッセージおよびイベントメッセージの種別を問わず、送信するメッセージに順にシーケンス番号を付している。そのため、メッセージDの前に本来受信しているべきメッセージは、メッセージDと同じシーケンス番号「04」を有するメッセージHではなく、メッセージDよりも1つ前のシーケンス番号「03」を有するメッセージCである。したがって、図7に示す例では、検知部54は、第1のメッセージであるメッセージDと第2のメッセージであるメッセージCとの受信間隔および周期メッセージの送信周期に基づいて、検知結果を修正するか否かを決定する。
【0100】
より詳細には、検知部54は、メッセージDおよびメッセージCの受信時刻、ならびに周期メッセージの所定の送信周期を記憶部55から取得する。検知部54は、取得したメッセージDおよびメッセージCの受信時刻の差分から受信間隔を算出する。検知部54は、算出した受信間隔と周期メッセージの所定の送信周期とを比較し、受信間隔が送信周期未満または送信周期に所定のマージンを加えた値未満であるか否かを判定する。以下、この判定基準、すなわち送信周期または送信周期に所定のマージンを加えた値を許容値と称する。本実施の形態では、一例として、周期メッセージの所定の送信周期は20msであり、マージンは+6msである。
【0101】
より詳細には、本実施の形態において、メッセージDとメッセージCとの受信間隔は、20msであり、許容値未満である。この場合、メッセージDは、正当メッセージであるメッセージCから所定の送信周期20ms後に送信された正当な周期メッセージである可能性が高い。したがって、検知部54は、受信間隔が許容値未満である場合、メッセージDを不正メッセージとする検知結果を修正し、メッセージDを正当メッセージと判定する。なお、送信周期およびマージンは上記に限定されず、適宜設定可能であり、また、マージンは設けなくてもよい。
【0102】
検知部54は、検知結果を修正すると、メッセージDよりも前に不正メッセージを受信していると判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力する。
【0103】
一方、メッセージDとメッセージCとの受信間隔が、許容値以上の場合、メッセージDは不正メッセージである可能性が高い。したがって、検知部54は、検知結果を維持し、メッセージDを不正メッセージと判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力する。
【0104】
通信処理部51は、検知部54から検知結果を受けて、バス13において不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する。
【0105】
[動作の流れ]
本開示の実施の形態に係る車載通信システムにおける各装置は、メモリを含むコンピュータを備え、当該コンピュータにおけるCPU等の演算処理部は、以下のフローチャートおよびシーケンスの各ステップの一部または全部を含むプログラムを当該メモリから読み出して実行する。これら複数の装置のプログラムは、それぞれ、外部からインストールすることができる。これら複数の装置のプログラムは、それぞれ、記録媒体に格納された状態で流通する。
【0106】
図8は、本開示の第1の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。図8は、ある同一のメッセージIDを有するメッセージに対する検知処理を示しており、他のメッセージIDを有するメッセージについても同様の検知処理が行われる。
【0107】
図8を参照して、まず、ゲートウェイ装置101は、車載通信システム301における周期メッセージおよびイベントメッセージを監視し、周期メッセージおよびイベントメッセージの受信時刻を取得する(ステップS101)。
【0108】
次に、ゲートウェイ装置101は、受信した周期メッセージまたはイベントメッセージのシーケンス番号およびカウンタ部53におけるカウンタ値を取得する。ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが一致する場合(ステップS102でYES)、受信したメッセージを正当メッセージと判定する(ステップS103)。
【0109】
次に、ゲートウェイ装置101は、受信したメッセージを正当メッセージと判定すると、カウンタ部53のカウンタ値を1つ増加させる(ステップS104)。
【0110】
次に、ゲートウェイ装置101は、受信したメッセージの受信時刻を記憶部55に保存し(ステップS105)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS101)。
【0111】
一方、ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とが一致しない場合(ステップS102でNO)、受信したメッセージを不正メッセージと仮判定する(ステップS106)。
【0112】
次に、ゲートウェイ装置101は、不正メッセージと仮判定した第1のメッセージと第1のメッセージよりも1カウント前のシーケンス番号を有する第2のメッセージとの受信間隔が、周期メッセージの許容値未満であるか否かを判定する。ゲートウェイ装置101は、第1のメッセージと第2のメッセージとの受信間隔が周期メッセージの許容値未満である場合(ステップS107でYES)、仮判定で不正メッセージとした第1のメッセージについての検知結果を修正し、第1のメッセージを正当メッセージと判定する(ステップS108)。
【0113】
次に、ゲートウェイ装置101は、検知結果を修正すると、第1のメッセージよりも前に不正メッセージを受信していると判定し、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信する(ステップS109)。
【0114】
次に、ゲートウェイ装置101は、受信したメッセージの受信時刻を記憶部55に保存し(ステップS105)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS101)。
【0115】
ゲートウェイ装置101は、第1のメッセージと第2のメッセージとの受信間隔が周期メッセージの許容値以上の場合(ステップS107でNO)、仮判定で不正メッセージとした第1のメッセージについての検知結果を維持し、第1のメッセージを正式に不正メッセージと判定する(ステップS110)。
【0116】
次に、ゲートウェイ装置101は、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信し(ステップS111)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS101)。
【0117】
[変形例1]
図9は、本開示の第1の実施の形態の変形例1に係る車載通信システムにおいて、周期メッセージの一部が欠損した場合の一例を示す図である。
【0118】
図9を参照して、検知部54は、メッセージA~Cについて、シーケンス番号とカウンタ値とが一致するため、正当メッセージと判定する。ゲートウェイ装置101は、メッセージCの受信後、周期メッセージDを受信する予定である。しかしながら、ゲートウェイ装置101は、周期メッセージDが何らかの要因により欠損したため、シーケンス番号「05」が付された周期メッセージEを受信する。
【0119】
この場合、検知部54は、カウンタ値が「04」であり周期メッセージEのシーケンス番号「05」と一致しないため、正当メッセージである周期メッセージEを不正メッセージと仮判定してしまう。
【0120】
そこで、第1の実施の形態における変形例1に係るゲートウェイ装置101において、検知部54は、監視部52による監視結果に基づいて、周期メッセージの欠損を検知し、欠損した周期メッセージの数に基づいて、カウンタ値を補正し、シーケンス番号と補正したカウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う。
【0121】
より詳細には、検知部54は、周期メッセージEを不正メッセージであると仮判定した後、検知結果の修正処理を行う前に、周期メッセージの欠損の有無を検知する処理を行う。
【0122】
具体的には、検知部54は、メッセージEの受信時刻および前回受信したメッセージであるメッセージCの受信時刻、ならびに周期メッセージの所定の送信周期を記憶部55から取得する。検知部54は、取得したメッセージEおよびメッセージCの受信時刻の差分から受信間隔を算出する。検知部54は、算出した受信間隔と周期メッセージの所定の送信周期とを比較する。図9に示す例では、メッセージEおよびメッセージCの受信間隔は許容値の2倍、すなわち、メッセージCから概ね1周期遅れてゲートウェイ装置101がメッセージEを受信したとする。
【0123】
この場合、検知部54は、周期メッセージが1つ欠損していると判断し、記憶部55から取得したカウンタ値「04」に欠損した周期メッセージの数を加算し、「05」に補正する。検知部54は、補正したカウンタ値と周期メッセージEのシーケンス番号とを比較し、カウンタ値「05」と周期メッセージEのシーケンス番号「05」とが一致するため、仮判定結果を修正し、周期メッセージEを正当メッセージと仮判定する。
【0124】
また、検知部54は、周期メッセージの欠損数を示す欠損情報をカウンタ部53へ出力する。カウンタ部53は、検知部54から欠損情報を受けて、現在のカウンタ値を「05」に変更し、記憶部55に保存する。
【0125】
図10は、本開示の第1の実施の形態の変形例1に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。図10は、ある同一のメッセージIDを有するメッセージに対する検知処理を示しており、他のメッセージIDを有するメッセージについても同様の検知処理が行われる。
【0126】
図10を参照して、まず、ゲートウェイ装置101は、車載通信システム301における、周期メッセージおよびイベントメッセージを監視し、周期メッセージおよびイベントメッセージの受信時刻を取得する(ステップS201)。
【0127】
次に、ゲートウェイ装置101は、受信した周期メッセージまたはイベントメッセージのシーケンス番号およびカウンタ部53におけるカウンタ値を取得する。ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが一致する場合(ステップS202でYES)、受信したメッセージを正当メッセージと判定する(ステップS203)。
【0128】
次に、ゲートウェイ装置101は、受信したメッセージを正当メッセージと判定すると、カウンタ部53のカウンタ値を1つ増加させる(ステップS204)。
【0129】
次に、ゲートウェイ装置101は、受信したメッセージの受信時刻を記憶部55に保存し(ステップS205)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS201)。
【0130】
一方、ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とが一致しない場合(ステップS202でNO)、受信したメッセージを不正メッセージと仮判定する(ステップS206)。
【0131】
次に、ゲートウェイ装置101は、受信したメッセージよりも前に、周期メッセージの欠損があったか否かを判定し、欠損を検知した場合(ステップS207でYES)、カウンタ部53におけるカウンタ値を欠損した数だけ増加させる(ステップS208)。
【0132】
次に、ゲートウェイ装置101は、記憶部55から取得したカウンタ値を検知した欠損数に基づいて補正し、取得したシーケンス番号と補正したカウンタ値とを比較し、シーケンス番号と補正したカウンタ値とが一致する場合(ステップS209でYES)、受信したメッセージを正当メッセージと判定する(ステップS203)。
【0133】
一方、ゲートウェイ装置101は、取得したシーケンス番号と補正したカウンタ値とが一致しない場合(ステップS209でNO)、受信したメッセージを不正メッセージと再度仮判定する。
【0134】
ステップS210~S214の処理は、図8に示すステップS107~S111と同様であるため詳細な説明は行わない。
【0135】
ところで、車載通信システムにおける不正メッセージをより正しく検知することを可能とする技術が望まれる。
【0136】
たとえば、周期的および不定期に送信されるメッセージに順番に付されたシーケンス番号に基づいて、不正メッセージを検知する方法が考えられる。
【0137】
しかしながら、このような方法では、本来次に送信される予定の正当メッセージのシーケンス番号になりすましたシーケンス番号を有する不正メッセージを検知することは難しく、不正メッセージの次に送信された正当メッセージを不正メッセージと誤検知する可能性がある。
【0138】
これに対して、本開示の第1の実施の形態に係るゲートウェイ装置101では、検知部54が、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔および周期メッセージの所定の送信周期に基づいて、不正メッセージの検知の本判定を行い、仮判定における不正メッセージの検知結果を修正する修正処理を行う。これにより、ゲートウェイ装置101は、不正メッセージを正当メッセージと誤判定したことで、後の正当メッセージを不正メッセージと誤検知したとしても、その検知結果の妥当性を検証し、必要に応じて検知結果を修正することができる。
【0139】
したがって、本開示の第1の実施の形態に係るゲートウェイ装置101では、車載通信システム301における不正メッセージをより正しく検知することができる。
【0140】
[変形例2]
上述の説明では、制御装置122Aが最初に送信するメッセージのシーケンス番号およびカウンタ部53のカウンタ値の初期値は「01」である場合について説明した。しかしながら、制御装置122Aが最初に送信するメッセージのシーケンス番号およびカウンタ部53のカウンタ値の初期値はこれに限定されず、他の値であってもよい。
【0141】
また、上述の説明では、検知部54は、メッセージのシーケンス番号とカウンタ値とが一致する場合に当該メッセージを正当メッセージと判定する場合について説明した。しかしながら、検知部54は、たとえば、メッセージのシーケンス番号とカウンタ値との差分が所定の値である場合に当該メッセージを正当メッセージと判定してもよい。
【0142】
また、上述の説明では、メッセージのシーケンス番号およびカウンタ値は、1ずつ値が増加する場合について説明した。しかしながら、メッセージのシーケンス番号およびカウンタ値は、他の値の単位で増加または減少してもよいし、規則性を持って変更されてもよい。
【0143】
次に、本開示の他の実施の形態について図面を用いて説明する。なお、図中同一または相当部分には同一符号を付してその説明は繰り返さない。
【0144】
<第2の実施の形態>
本実施の形態は、第1の実施の形態に係る車載通信システム301と比べてメッセージの送信方法および不正メッセージの検知方法を変更した車載通信システムに関する。以下で説明する内容以外は第1の実施の形態に係る車載通信システムと同様である。
【0145】
図11は、本開示の第2の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。
【0146】
図11を参照して、制御装置122Aが最初に送信する周期メッセージAにはシーケンス番号「01」が付されている。また、ゲートウェイ装置101におけるカウンタ部53のカウンタ値の初期値は、「02」に設定されている。
【0147】
本実施の形態において、メッセージには、周期メッセージが送信される場合には変更されず、イベントメッセージが送信される毎に変更されるシーケンス番号(第2のシーケンス番号)が付される。
【0148】
より詳細には、制御装置122Aは、周期メッセージAおよび周期メッセージAの次に送信する周期メッセージBには、同じシーケンス番号「01」を含める。制御装置122Aは、周期メッセージBの次に送信するイベントメッセージCには、シーケンス番号を1つ増加させて「02」を含める。制御装置122Aは、イベントメッセージCの次に送信する周期メッセージDには、イベントメッセージCと同じシーケンス番号「02」を含める。
【0149】
検知部54は、受信したメッセージが、周期メッセージおよびイベントメッセージのいずれであるかを判定する。より詳細には、検知部54は、通信処理部51からメッセージ受信通知を受けると、今回受信したメッセージに対して時間的に連続するメッセージ、すなわち前回受信したメッセージの受信時刻、および周期メッセージの所定の送信周期を記憶部55から取得する。検知部54は、今回受信したメッセージと前回受信したメッセージとの受信間隔を算出する。検知部54は、算出した受信間隔と当該所定の送信周期とを比較し、受信間隔が所定の送信周期と一致するか否かを判定する。たとえば、検知部54は、受信間隔と送信周期との差の絶対値が所定値未満である場合、受信間隔と送信周期とが一致すると判断する。
【0150】
たとえば、検知部54は、ゲートウェイ装置101がメッセージBを受信すると、メッセージBと前回受信したメッセージAとの受信間隔を算出する。本例では、メッセージBとメッセージAとの受信間隔は、所定の送信周期と一致する。したがって、検知部54は、メッセージBを周期メッセージと判定する。
【0151】
次に、検知部54は、ゲートウェイ装置101がメッセージCを受信すると、メッセージCと前回受信したメッセージBとの受信間隔を算出する。本例では、メッセージCとメッセージBとの受信間隔は、所定の送信周期未満である。したがって、検知部54は、メッセージCをイベントメッセージと判定する。
【0152】
次に、検知部54は、受信したメッセージをイベントメッセージと判定すると、当該イベントメッセージのシーケンス番号、およびカウンタ値を記憶部55から取得する。検知部54は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが同じ値の場合、受信したイベントメッセージは正当メッセージであると判定する。
【0153】
具体的には、ゲートウェイ装置101が受信したイベントメッセージCのシーケンス番号は「02」であり、カウンタ値「02」と一致する。したがって、検知部54は、イベントメッセージCを正当メッセージであると判定する。検知部54は、イベントメッセージCを正当メッセージと判定すると、カウンタ値変更通知をカウンタ部53へ出力する。
【0154】
カウンタ部53は、周期メッセージおよびイベントメッセージのうち、ゲートウェイ装置101がイベントメッセージを受信したときにカウンタ値を変更する。より詳細には、カウンタ部53は、検知部54からカウンタ値変更通知を受けて、カウンタ値を1つ増加させる。カウンタ部53は、増加させたカウンタ値を記憶部55に保存する。
【0155】
一方、検知部54は、シーケンス番号とカウンタ値とが異なる値の場合、受信したイベントメッセージは不正メッセージであると判定する。
【0156】
たとえば、ゲートウェイ装置101がメッセージA~Cを受信した後、不正メッセージHを受信する場合を想定する。ゲートウェイ装置101がメッセージA~Cを受信した後、カウンタ部53はカウンタ値を「03」に設定する。その後、検知部54は、ゲートウェイ装置101が仮に、シーケンス番号「05」が付されたメッセージHを受信すると、シーケンス番号とカウンタ値とが一致しないため、メッセージHを不正メッセージと判定する。
【0157】
しかしながら、不正メッセージHのシーケンス番号が、カウンタ部53のカウンタ値と同じ「03」である場合、不正メッセージHが正当メッセージと判定され、正当メッセージであるメッセージDが不正メッセージと判定されることになる。
【0158】
そこで、第1の実施の形態と同様に、本実施の形態においても、検知部54は、仮判定において不正メッセージを検知した場合、監視部52によって監視されたメッセージであって、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔および周期メッセージの所定の送信周期に基づいて、不正メッセージの検知の本判定を行い、仮判定における不正メッセージの検知結果を修正する修正処理を行う。本実施の形態において、上記メッセージの間隔は、第3のメッセージであるメッセージDと、第3のメッセージと同じシーケンス番号を有する第4のメッセージであるメッセージCとの受信間隔である。
【0159】
より詳細には、まず、ゲートウェイ装置101は、メッセージA~Cを順に受信する。検知部54は、周期メッセージAおよびBについては、受信間隔が所定の送信周期と一致するため、正当メッセージと判定する。検知部54は、イベントメッセージCについては、シーケンス番号とカウンタ値とが一致するため、正当メッセージと判定する。この状態で、カウンタ部53のカウンタ値は初期値から1つ増加され「03」に設定される。
【0160】
次に、ゲートウェイ装置101は、不正メッセージHを受信する。検知部54は、不正メッセージHと前回受信したイベントメッセージCとの受信間隔が所定の送信周期未満であるため、不正メッセージHをイベントメッセージと判定する。そして、検知部54は、この不正メッセージHにはカウンタ値と同じ値であるシーケンス番号「03」が付されているため、不正メッセージHを正当メッセージと判定する。カウンタ部53は、カウンタ値を「04」に増加させる。
【0161】
次に、ゲートウェイ装置101は、メッセージDを受信する。このメッセージDは、制御装置122AからイベントメッセージCの次に送信された周期メッセージであるため、イベントメッセージCと同じシーケンス番号「02」を有している。しかしながら、検知部54は、周期メッセージDと前回受信した不正メッセージHとの受信間隔が所定の送信周期未満であるため、周期メッセージDをイベントメッセージと判定する。そして、検知部54は、カウンタ部53のカウンタ値は「04」であり、周期メッセージDのシーケンス番号とカウンタ値とが一致しないため、本来正当メッセージである周期メッセージDを不正メッセージであると仮判定する。
【0162】
次に、検知部54は、周期メッセージDを不正メッセージとした検知結果の妥当性を判定する。上述したように、検知部54は、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔および周期メッセージの所定の送信周期に基づいて、検知結果を修正するか否かを判定する。
【0163】
ここで、本実施の形態では、所定条件を満たすメッセージの間隔とは、ゲートウェイ装置101が実際に時間的に連続して受信したメッセージの間隔ではなく、あるメッセージと、当該メッセージと同じシーケンス番号を有するメッセージであって最も新しいメッセージとの間隔、すなわち、あるメッセージと当該メッセージの1つ前に本来受信しているべきメッセージとの間隔を意味する。
【0164】
具体的には、不正メッセージと判定された周期メッセージDと同じシーケンス番号「02」を有するメッセージであって最も新しいメッセージは、イベントメッセージCである。したがって、検知部54は、第3のメッセージである周期メッセージDと第4のメッセージであるメッセージCとの受信間隔および周期メッセージの送信周期に基づいて、検知結果を修正するか否かを決定する。
【0165】
より詳細には、検知部54は、メッセージDおよびメッセージCの受信時刻、ならびに周期メッセージの所定の送信周期を記憶部55から取得する。検知部54は、取得したメッセージDおよびメッセージCの受信時刻の差分から受信間隔を算出する。検知部54は、算出した受信間隔と周期メッセージの所定の送信周期とを比較し、受信間隔が所定の送信周期と一致するか否かを判定する。
【0166】
本実施の形態において、メッセージDとメッセージCとの受信間隔は、20msであり、所定の送信周期の長さである。この場合、メッセージDは、正当メッセージであるメッセージCから所定の送信周期20ms後に送信された正当な周期メッセージである可能性が高い。したがって、検知部54は、受信間隔が所定の送信周期と一致する場合、メッセージDを不正メッセージとする検知結果を修正し、メッセージDを正当メッセージと判定する。
【0167】
検知部54は、検知結果を修正すると、メッセージDよりも前に不正メッセージを受信していると判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力する。
【0168】
一方、メッセージDとメッセージCとの受信間隔が、所定の送信周期と一致しない場合、メッセージDは不正メッセージである可能性が高い。したがって、検知部54は、検知結果を維持し、メッセージDを不正メッセージと判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力する。
【0169】
通信処理部51は、検知部54から検知結果を受けて、バス13において不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する。
【0170】
[変形例1]
検知部54は、検知結果の修正処理を行った後、過渡状態に遷移し、過渡状態において、監視部52によって監視されたメッセージであって、同じ識別情報が付されたメッセージの中で、時間的に連続して受信されたメッセージの受信間隔、およびシーケンス番号に基づいて不正メッセージを検知する構成であってもよい。より詳細には、検知部54は、周期メッセージDを正当メッセージと判定し直した後、遷移通知をカウンタ部53へ出力する。
【0171】
カウンタ部53は、検知部54から遷移通知を受けて、カウンタ値を「無し」に設定する。すなわち、検知部54は、過渡状態において、不正メッセージの判定にカウンタ値を用いない。
【0172】
その後、ゲートウェイ装置101は、周期メッセージDから1周期後にメッセージEを受信する。検知部54は、受信したメッセージEと周期メッセージDとの受信間隔から、メッセージEを周期メッセージと判定し、かつ正当メッセージと判定する。
【0173】
検知部54は、過渡状態において正当メッセージと判定した周期メッセージEのシーケンス番号を記憶部55から取得し、周期メッセージEのシーケンス番号を示すシーケンス番号情報をカウンタ部53へ出力する。
【0174】
カウンタ部53は、検知部54からシーケンス番号情報を受けて、シーケンス番号情報が示すシーケンス番号の値を1つ増加させた「03」を新たにカウンタ値として設定し、過渡状態を解除する。
【0175】
一方、ゲートウェイ装置101が、検知部54が過渡状態であるときに、不正メッセージを受信した場合は、次のような処理を行う。
【0176】
図12は、本開示の第2の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。図12では、図11に示す場合において検知部が過渡状態であるときにシーケンス番号「03」の不正メッセージIを受信する場合を示している。
【0177】
図12を参照して、ゲートウェイ装置101は、周期メッセージDから1周期経過する前にメッセージIを受信する。検知部54は、受信したメッセージIと周期メッセージDとの受信間隔から、メッセージIをイベントメッセージと判定する。
【0178】
検知部54は、イベントメッセージと判定したメッセージIおよび前回受信した周期メッセージDのシーケンス番号を記憶部55から取得する。検知部54は、取得したメッセージIおよび周期メッセージDのシーケンス番号を比較し、シーケンス番号が異なる値の場合、受信したメッセージIを正当メッセージと判定し、シーケンス番号が同じ値の場合、受信したメッセージIを不正メッセージと判定する。本例では、メッセージIおよびメッセージDのシーケンス番号は異なる値である。したがって、検知部54は、不正メッセージであるメッセージIを正当メッセージと判定する。
【0179】
検知部54は、過渡状態において正当メッセージと判定したメッセージIのシーケンス番号を示すシーケンス番号情報をカウンタ部53へ出力する。
【0180】
カウンタ部53は、検知部54からシーケンス番号情報を受けて、シーケンス番号情報が示すシーケンス番号の値を1つ増加させた「04」を新たにカウンタ値として設定し、過渡状態を解除する。
【0181】
その後、ゲートウェイ装置101は、周期メッセージEを受信する。この周期メッセージEは、制御装置122Aから周期メッセージDの次に送信された周期メッセージであるため、イベントメッセージDと同じシーケンス番号「02」を有している。しかしながら、検知部54は、周期メッセージEと前回受信した不正メッセージIとの受信間隔が所定の送信周期未満であるため、周期メッセージEをイベントメッセージと判定する。そして、検知部54は、カウンタ部53のカウンタ値が「04」であり、周期メッセージEのシーケンス番号とカウンタ値とが一致しないため、本来正当メッセージである周期メッセージEを不正メッセージであると仮判定する。
【0182】
次に、検知部54は、上述と同様に、周期メッセージEを不正メッセージとした検知結果の妥当性を判定する。すなわち、検知部54は、不正メッセージと判定された周期メッセージEと同じシーケンス番号「02」を有するメッセージであって最も新しいメッセージである周期メッセージDとの受信間隔が、上述した許容値未満であるか否かを判定する。
【0183】
本例では、周期メッセージEと周期メッセージDとの受信間隔は、所定の送信周期と一致する。そのため、検知部54は、メッセージEを不正メッセージとする検知結果を修正し、メッセージEを正当メッセージと判定する。
【0184】
検知部54は、検知結果を修正すると、メッセージEよりも前に不正メッセージを受信していると判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力し、再び過渡状態へ遷移する。
【0185】
[動作の流れ]
図13および図14は、本開示の第2の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。図13および図14は、ある同一のメッセージIDを有するメッセージに対する検知処理を示しており、他のメッセージIDを有するメッセージについても同様の検知処理が行われる。
【0186】
図13を参照して、まず、ゲートウェイ装置101は、車載通信システム301における周期メッセージおよびイベントメッセージを監視し、周期メッセージおよびイベントメッセージの受信時刻を取得する(ステップS301)。
【0187】
次に、ゲートウェイ装置101は、検知部54が過渡状態であるか否かを確認し、過渡状態でない場合(ステップS302でNO)、今回受信したメッセージおよび前回受信したメッセージの受信間隔が所定の送信周期と一致するか否かを判定する。ゲートウェイ装置101は、メッセージの受信間隔が所定の送信周期と一致する場合(ステップS303でYES)、受信したメッセージが周期メッセージであり、かつ、正当メッセージであると判定する(ステップS304)。
【0188】
次に、ゲートウェイ装置101は、受信したメッセージの受信時刻を記憶部55に保存し(ステップS305)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS301)。
【0189】
一方、ゲートウェイ装置101は、メッセージの受信間隔が所定の送信周期と一致しない場合(ステップS303でNO)、受信したメッセージがイベントメッセージであると判定し、当該メッセージのシーケンス番号およびカウンタ部53におけるカウンタ値を取得する。ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが一致する場合(ステップS306でYES)、カウンタ部53のカウンタ値を1つ増加させ(ステップS307)、受信したメッセージを正当メッセージと判定する(ステップS304)。
【0190】
一方、ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とが一致しない場合(ステップS306でNO)、受信したメッセージを不正メッセージと仮判定する(ステップS308)。
【0191】
次に、ゲートウェイ装置101は、不正メッセージと仮判定した第3のメッセージと当該メッセージと同じシーケンス番号を有する最新のメッセージである第4のメッセージとの受信間隔が、周期メッセージの許容値未満であるか否かを判定する。ゲートウェイ装置101は、第3のメッセージと第4のメッセージとの受信間隔が周期メッセージの許容値未満である場合(ステップS309でYES)、仮判定で不正メッセージとした第3のメッセージについての検知結果を修正し、第3のメッセージを正当メッセージと判定する(ステップS310)。
【0192】
次に、ゲートウェイ装置101は、検知結果を修正すると、第3のメッセージよりも前に不正メッセージを受信していると判定し、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信する(ステップS311)。
【0193】
次に、ゲートウェイ装置101における検知部54は、過渡状態へ遷移し(ステップS312)、受信したメッセージの受信時刻を記憶部55に保存し(ステップS305)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS301)。
【0194】
一方、ゲートウェイ装置101は、第3のメッセージと第4のメッセージとの受信間隔が周期メッセージの許容値以上である場合(ステップS309でNO)、仮判定で不正メッセージとした第3のメッセージについての検知結果を維持し、第3のメッセージを正式に不正メッセージと判定する(ステップS313)。
【0195】
次に、ゲートウェイ装置101は、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信し(ステップS314)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS301)。
【0196】
一方、ゲートウェイ装置101は、検知部54が過渡状態である場合(ステップS302でYES)、今回受信したメッセージおよび前回受信したメッセージの受信間隔が所定の送信周期と一致するか否かを判定する。
【0197】
図14を参照して、ゲートウェイ装置101は、メッセージの受信間隔が所定の送信周期と一致する場合(ステップS315でYES)、受信したメッセージが周期メッセージであり、かつ、正当メッセージであると判定する(ステップS316)。
【0198】
次に、ゲートウェイ装置101は、受信したメッセージのシーケンス番号を記憶部55から取得し、シーケンス番号を1つ増加させた値をカウンタ部53におけるカウンタ値として設定し、過渡状態を解除する(ステップS317)。
【0199】
次に、ゲートウェイ装置101は、受信したメッセージの受信時刻を記憶部55に保存し(ステップS318)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS301)。
【0200】
一方、ゲートウェイ装置101は、メッセージの受信間隔が所定の送信周期と一致しない場合(ステップS315でNO)、受信したメッセージがイベントメッセージであると判定し、当該メッセージのシーケンス番号および前回受信したメッセージのシーケンス番号を記憶部55から取得する。ゲートウェイ装置101は、取得したシーケンス番号同士を比較し、両シーケンス番号が一致しない場合(ステップS319でNO)、受信したメッセージを正当メッセージと判定する(ステップS316)。
【0201】
一方、ゲートウェイ装置101は、取得した両シーケンス番号が一致する場合(ステップS319でYES)、受信したメッセージを不正メッセージと判定し(ステップS320)、車載通信システム301における周期メッセージおよびイベントメッセージの、過渡状態での監視を継続する(ステップS301)。
【0202】
なお、ゲートウェイ装置101の検知部54は、過渡状態へ遷移しない構成であってもよい。具体的には、検知部54は、図13および図14に示す例において、ステップS302、S312、およびS315~S320の処理を行わない構成であってもよい。
【0203】
[変形例2]
上述の説明では、検知部54は、検知結果の修正処理を行った後、過渡状態に遷移する場合について説明した。しかしながら、検知部54は、過渡状態に遷移しない構成であってもよい。
【0204】
より詳細には、検知部54は、検知結果の修正処理を行った後、修正完了通知をカウンタ部53へ出力する。カウンタ部53は、検知部54から修正完了通知を受けて、カウンタ値を1つ前の値に戻す。たとえば、図11に示す例において、不正メッセージと仮判定したメッセージDの検知結果を修正した後、カウンタ部53は、カウンタ値を現在の値である「04」から1つ前の値である「03」に設定する。
【0205】
カウンタ値をこのように設定し直すことで、検知部54が過渡状態に遷移しない場合であっても、後に受信する周期メッセージD,EおよびイベントメッセージFを正当メッセージとして受信することができる。
【0206】
[変形例3]
上述の説明では、制御装置122Aが最初に送信するメッセージのシーケンス番号は「01」、カウンタ部53のカウンタ値の初期値は「02」である場合について説明した。しかしながら、制御装置122Aが最初に送信するメッセージのシーケンス番号およびカウンタ部53のカウンタ値の初期値はこれに限定されず、他の値であってよい。
【0207】
また、上述の説明では、検知部54は、メッセージのシーケンス番号とカウンタ値とが一致する場合に当該メッセージを正当メッセージと判定する場合について説明した。しかしながら、検知部54は、たとえば、メッセージのシーケンス番号とカウンタ値との差分が所定の値である場合に当該メッセージを正当メッセージと判定してもよい。
【0208】
また、上述の説明では、メッセージのシーケンス番号およびカウンタ値は、1ずつ値が増加する場合について説明した。しかしながら、メッセージのシーケンス番号およびカウンタ値は、他の値の単位で増加または減少してもよいし、規則性を持って変更されてもよい。
【0209】
<第3の実施の形態>
本実施の形態は、第1の実施の形態に係る車載通信システム301と比べて不正メッセージの検知方法を変更した車載通信システムに関する。以下で説明する内容以外は第1の実施の形態に係る車載通信システムと同様である。
【0210】
図15は、本開示の第3の実施の形態に係るゲートウェイ装置において、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。図15では、ゲートウェイ装置が不正メッセージF,G,Hを受信する場合を示している。
【0211】
図15を参照して、制御装置122Aが最初に送信する周期メッセージAにはシーケンス番号「01」が付されている。メッセージには、周期メッセージおよびイベントメッセージが送信される毎に変更されるシーケンス番号が付されている。
【0212】
ゲートウェイ装置101におけるカウンタ部53のカウンタ値の初期値は、「02」に設定されている。カウンタ部53は、ゲートウェイ装置101が周期メッセージおよびイベントメッセージをそれぞれ受信したときにカウンタ値を変更し、記憶部55に保存する。
【0213】
また、カウンタ部53は、カウンタ値に加えて連続イベントカウンタ値を有している。連続イベントカウンタ値の初期値は、「0」に設定されている。カウンタ部53は、ゲートウェイ装置101がイベントメッセージを受信したときに連続イベントカウンタ値を変更し、記憶部55に保存する。
【0214】
監視部52は、車載通信システム301において、周期的に送信される周期メッセージ、および不定期にかつ周期メッセージの送信周期よりも短い間隔で2つ以上連続して送信されるイベントメッセージを監視する。
【0215】
より詳細には、監視部52は、通信処理部51によって中継されるメッセージを監視することにより、周期メッセージの受信時刻およびイベントメッセージの受信時刻を取得する。
【0216】
監視部52は、たとえば、中継処理を行うべき周期メッセージまたはイベントメッセージを通信処理部51が受信すると、通信処理部51によって受信されたメッセージに含まれるメッセージID、ならびに予め記憶部55に保存されている周期メッセージのメッセージIDおよびイベントメッセージのメッセージIDを確認する。
【0217】
そして、監視部52は、通信処理部51によって受信されたメッセージに含まれるメッセージIDが記憶部55に保存されているメッセージIDと一致する場合、通信処理部51によって受信されたメッセージが中継処理を行うべきメッセージであると認識し、当該メッセージに付与されたタイムスタンプを参照することにより、メッセージの受信時刻を取得する。
【0218】
監視部52は、受信時刻を取得すると、取得した受信時刻を示す受信情報を、シーケンス番号と対応付けて検知部54へ出力する。
【0219】
検知部54は、監視部52による監視結果に基づいて、連続して送信されたイベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージを検知する。
【0220】
より詳細には、検知部54は、監視部52から受信情報を受けて、前回受信したメッセージの受信時刻および周期メッセージの所定の送信周期を記憶部55から取得する。検知部54は、受信情報が示す受信時刻および取得した受信時刻に基づき、今回受信したメッセージと前回受信したメッセージとの受信間隔を算出する。
【0221】
検知部54は、算出した受信間隔が所定の送信周期と一致するか否かを判定する。検知部54は、受信間隔が所定の送信周期と一致しない場合、受信したメッセージをイベントメッセージと判定し、受信間隔が所定の送信周期と一致する場合、受信したメッセージを周期メッセージと判定する。
【0222】
具体的には、検知部54は、受信間隔が所定の送信周期と一致するメッセージAおよびBについては、周期メッセージと判定する。検知部54は、メッセージBから所定の送信周期未満の間隔で送信されたメッセージCについては、イベントメッセージと判定する。検知部54は、周期メッセージまたはイベントメッセージを受信すると、メッセージの種別を示す種別情報をカウンタ部53へ出力する。
【0223】
カウンタ部53は、検知部54から種別情報を受けると、種別情報に示されるメッセージの種別に関わらず、カウンタ値を1つ増加させる。カウンタ部53は、種別情報に示されるメッセージの種別がイベントメッセージである場合、連続イベントカウンタ値を1つ増加させる。カウンタ部53は、種別情報に示されるメッセージの種別が周期メッセージである場合、連続イベントカウンタ値を「0」に設定する。
【0224】
ここで、図15に示す例において、ゲートウェイ装置101が、正当メッセージである周期メッセージA,BおよびイベントメッセージCを受信した後、イベントメッセージになりすました不正メッセージFを受信する場合について説明する。
【0225】
ゲートウェイ装置101がイベントメッセージCを受信した後、カウンタ部53におけるカウンタ値は「04」、連続イベントカウンタ値は「1」となっている。
【0226】
検知部54は、不正メッセージFのシーケンス番号が前回受信したイベントメッセージCのシーケンス番号よりも1つ増えた「04」である場合、シーケンス番号とカウンタ値とが一致するため、不正メッセージFを正当メッセージと判定する。そして、カウンタ部53におけるカウンタ値は「05」、連続イベントカウンタ値は「2」に設定される。
【0227】
次に、ゲートウェイ装置101は、イベントメッセージCから1周期遅れた周期メッセージになりすました不正メッセージGを受信する。検知部54は、不正メッセージGのシーケンス番号は「05」であるため、不正メッセージGを正当メッセージと判定する。また、検知部54は、不正メッセージGと前回受信した不正メッセージFとの受信間隔が所定の送信周期未満であるため、不正メッセージGをイベントメッセージと判定する。この場合、カウンタ部53におけるカウンタ値は「06」、連続イベントカウンタ値は「3」に設定される。
【0228】
ここで、ゲートウェイ装置101の記憶部55には、予め連続イベントカウンタ値の上限値が登録されている。本例では、たとえば、連続イベントカウンタ値の上限値は「2」であるとする。ただし、連続イベントカウンタ値の上限値は、これに限定されず、適宜設定される。
【0229】
検知部54は、イベントメッセージを受信する毎に、連続イベントカウンタ値の上限値を示す制限情報を記憶部55から取得する。検知部54は、不正メッセージGをイベントメッセージと判定するとともに、制限情報および連続イベントカウンタ値を記憶部55から取得し、比較する。
【0230】
検知部54は、記憶部55から取得した連続イベントカウンタ値「3」が連続イベントカウンタ値の上限値「2」を超えているため、不正メッセージGの前に不正メッセージを受信したと判定し、不正メッセージを検知した旨を示す検知結果を通信処理部51へ出力する。
【0231】
通信処理部51は、検知部54から検知結果を受けて、バス13において不正メッセージが伝送されていることを示す警報情報を車両1内または車両1外における上位装置へ送信する。
【0232】
[動作の流れ]
図16は、本開示の第3の実施の形態に係る車載通信システムにおいてゲートウェイ装置が検知処理を行う際の動作手順の一例を定めたフローチャートである。図16は、ある同一のメッセージIDを有するメッセージに対する検知処理を示しており、他のメッセージIDを有するメッセージについても同様の検知処理が行われる。
【0233】
図16を参照して、まず、ゲートウェイ装置101は、車載通信システム301における周期メッセージおよびイベントメッセージを監視し、周期メッセージおよびイベントメッセージの受信時刻を取得する(ステップS401)。
【0234】
次に、ゲートウェイ装置101は、受信した周期メッセージまたはイベントメッセージのシーケンス番号およびカウンタ部53におけるカウンタ値を取得する。ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とを比較し、シーケンス番号とカウンタ値とが一致しない場合(ステップS402でNO)、受信したメッセージを不正メッセージと判定する(ステップS403)。
【0235】
次に、ゲートウェイ装置101は、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信し(ステップS404)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS401)。
【0236】
一方、ゲートウェイ装置101は、取得したシーケンス番号とカウンタ値とが一致する場合(ステップS402でYES)、今回受信したメッセージと前回受信したメッセージ、すなわち受信したメッセージよりも1カウント前のシーケンス番号を有するメッセージとの受信間隔が、所定の送信周期と一致するか否かを判定する。ゲートウェイ装置101は、受信間隔が所定の送信周期と一致する場合(ステップS405でYES)、受信したメッセージを正当メッセージと判定する(ステップS406)。
【0237】
次に、ゲートウェイ装置101は、カウンタ部53の連続イベントカウンタ値を「0」に設定し(ステップS407)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS401)。
【0238】
一方、ゲートウェイ装置101は、受信間隔が所定の送信周期と一致しない場合(ステップS405でNO)、連続イベントカウンタ値および連続イベントカウンタ値の上限値を記憶部55から取得し、比較する。ゲートウェイ装置101は、取得した連続イベントカウンタ値が上限値よりも大きい場合(ステップS408でYES)、受信したメッセージを不正メッセージと判定する(ステップS409)。
【0239】
次に、ゲートウェイ装置101は、バス13において不正メッセージが伝送されている旨を示す警報情報を車両1内または車両1外における上位装置へ送信し(ステップS410)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS401)。
【0240】
一方、ゲートウェイ装置101は、取得した連続イベントカウンタ値が上限値以下の場合(ステップS408でNO)、受信したメッセージを正当メッセージと判定し(ステップS411)、車載通信システム301における周期メッセージおよびイベントメッセージの監視を継続する(ステップS401)。
【0241】
[変形例]
図17は、本開示の第3の実施の形態の変形例に係る車載通信システムにおいて、受信したメッセージが不正メッセージであると判定する場合の一例を示す図である。図17では、ゲートウェイ装置が不正メッセージF,G,Hを受信する場合を示している。
【0242】
図17を参照して、図15に示す例において、メッセージには、周期メッセージが送信される場合には変更されず、イベントメッセージが送信される毎に変更されるシーケンス番号が付される構成であってもよい。
【0243】
この場合、ゲートウェイ装置101が不正メッセージGを受信した後、カウンタ部53における連続イベントカウンタ値は「3」となり、上限値を超える。したがって、検知部54は、このような構成であっても不正メッセージを検知することができる。
【0244】
本開示の第3の実施の形態に係るゲートウェイ装置101では、検知部54が、連続して送信されたイベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージを検知する。これにより、たとえば、ゲートウェイ装置101のカウンタ値にシーケンス番号を合わせた不正なイベントメッセージが送信されたとしても、不正メッセージを容易に検知することができる。したがって、車載通信システム301における不正メッセージをより正しく検知することができる。
【0245】
上記実施の形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記説明ではなく請求の範囲によって示され、請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【0246】
たとえば、上述の第1~第3の実施の形態に係る車載通信システム301では、車載ネットワーク12においてある制御装置122Aが他の制御装置へメッセージを直接送信する構成について説明した。しかしながら、車載通信システム301では、制御装置122Aが送信したメッセージをゲートウェイ装置101が中継する構成であってもよい。具体的には、図1を参照して、ゲートウェイ装置101は、バス13を介してバス接続装置群121(制御装置122A)からメッセージを受信し、車載通信機111へバス14を介して送信する構成であってもよい。この場合、ゲートウェイ装置101における通信処理部51は、制御装置122Aから対応のバス13経由でメッセージを受信すると、監視部52および検知部54へメッセージ受信通知を出力する。そして、監視部52は、通信処理部51によって受信されたメッセージに含まれるメッセージIDが記憶部55に保存されているメッセージIDと一致する場合、通信処理部51によって受信されたメッセージが中継処理を行うべきメッセージであると認識し、当該メッセージに付与されたタイムスタンプを参照することにより、メッセージの受信時刻を取得する。
【0247】
たとえば、上述の第1~第3の実施の形態に係る車載通信システム301では、ゲートウェイ装置101が車載通信システム301における不正メッセージを検知する構成について説明した。しかしながら、車載通信システム301では、ゲートウェイ装置101とは別の検知装置が、車載通信システム301における不正メッセージを検知する構成であってもよい。
【0248】
また、上述の第1~第3の実施の形態に係る車載通信システム301では、検知装置であるゲートウェイ装置101が、メッセージを送信する制御装置122Aおよびメッセージを受信する制御装置122Bとは別に設けられる構成について説明した。しかしながら、検知装置は、メッセージを送信する車載装置またはメッセージを受信する車載装置に含まれる構成であってもよい。
【0249】
また、上述の第1~第3の実施の形態に係る車載通信システム301では、検知装置として機能するゲートウェイ装置101がバス13に直接接続される構成について説明した。しかしながら、車載通信システム301は、これに限定されるものではない。
【0250】
図18は、本開示の実施の形態に係る車載通信システム301の接続トポロジの一例を示す図である。
【0251】
図18を参照して、検知装置151が、車載装置たとえば制御装置122を介してバス13に接続される構成であってもよい。この場合、検知装置151は、たとえば、当該車載装置が送受信するメッセージを監視することにより、バス13に伝送される不正メッセージを検知する。なお、検知装置151は、たとえばイーサネットまたはCANの規格に従うバスを介して車載装置と接続される。
【0252】
検知装置151の動作は、第1および第2の実施の形態に係る車載通信システム301におけるゲートウェイ装置101と同様である。たとえば、検知装置151の検知部54は、制御装置122が送信する周期メッセージおよびイベントメッセージのシーケンス番号とカウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う。検知部54は、同じ識別情報が付されたメッセージの中で、シーケンス番号に関する所定条件を満たすメッセージの間隔、および周期メッセージの所定の送信周期に基づいて、不正メッセージの検知の本判定を行う。
【0253】
あるいは、検知装置151の動作は、第3の実施の形態に係る車載通信システム301におけるゲートウェイ装置101と同様である。たとえば、検知装置151の検知部54は、制御装置122から連続して送信されたイベントメッセージの数をカウントし、カウント結果に基づいて不正メッセージを検知する。
【0254】
以上の説明は、以下に付記する特徴を含む。
[付記1]
車載ネットワークにおける不正メッセージを検知する検知装置であって、
前記車載ネットワークにおけるメッセージとして、送信元の識別情報およびシーケンス番号が付された、周期的に送信される周期メッセージおよび不定期に送信されるイベントメッセージを監視する監視部と、
前記車載ネットワークから前記イベントメッセージを前記検知装置が受信すると、前記識別情報に対応するカウンタ値を変更するカウンタ部と、
前記監視部による監視結果に基づいて、前記シーケンス番号と前記カウンタ値とを比較し、比較結果に基づいて不正メッセージの検知の仮判定を行う検知部とを備え、
前記検知部は、同じ前記識別情報が付された前記メッセージの中で、前記シーケンス番号に関する所定条件を満たす前記メッセージの間隔、および前記周期メッセージの所定の送信周期に基づいて、前記不正メッセージの検知の本判定を行い、
前記所定の送信周期は、前記周期メッセージの送信周期に所定のマージンを含む、検知装置。
【符号の説明】
【0255】
1 車両
12 車載ネットワーク
13,14 バス
51 通信処理部
52 監視部
53 カウンタ部
54 検知部
55 記憶部
101 ゲートウェイ装置
111 車載通信機
112 ポート
121 バス接続装置群
122,122A,122B 制御装置
131,131A,131B,143 発振器
132,132A,132B,141 プロセッサ
133,133A,133B,142 CANトランシーバ
151 検知装置
301 車載通信システム
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18