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

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

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

特開2024-134399車載装置、プログラム及び情報処理方法
<>
  • 特開-車載装置、プログラム及び情報処理方法 図1
  • 特開-車載装置、プログラム及び情報処理方法 図2
  • 特開-車載装置、プログラム及び情報処理方法 図3
  • 特開-車載装置、プログラム及び情報処理方法 図4
  • 特開-車載装置、プログラム及び情報処理方法 図5
  • 特開-車載装置、プログラム及び情報処理方法 図6
  • 特開-車載装置、プログラム及び情報処理方法 図7
  • 特開-車載装置、プログラム及び情報処理方法 図8
  • 特開-車載装置、プログラム及び情報処理方法 図9
  • 特開-車載装置、プログラム及び情報処理方法 図10
  • 特開-車載装置、プログラム及び情報処理方法 図11
  • 特開-車載装置、プログラム及び情報処理方法 図12
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134399
(43)【公開日】2024-10-03
(54)【発明の名称】車載装置、プログラム及び情報処理方法
(51)【国際特許分類】
   H04L 12/28 20060101AFI20240926BHJP
   H04L 43/08 20220101ALI20240926BHJP
【FI】
H04L12/28 100A
H04L43/08
【審査請求】未請求
【請求項の数】12
【出願形態】OL
(21)【出願番号】P 2023044682
(22)【出願日】2023-03-20
(71)【出願人】
【識別番号】395011665
【氏名又は名称】株式会社オートネットワーク技術研究所
(71)【出願人】
【識別番号】000183406
【氏名又は名称】住友電装株式会社
(71)【出願人】
【識別番号】000002130
【氏名又は名称】住友電気工業株式会社
(74)【代理人】
【識別番号】100114557
【弁理士】
【氏名又は名称】河野 英仁
(74)【代理人】
【識別番号】100078868
【弁理士】
【氏名又は名称】河野 登夫
(72)【発明者】
【氏名】和田 健冶
(72)【発明者】
【氏名】足立 直樹
【テーマコード(参考)】
5K033
【Fターム(参考)】
5K033AA05
5K033BA06
5K033DA01
5K033DA05
(57)【要約】
【課題】周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置等を提供する。
【解決手段】車載装置は、車両に搭載される車載ネットワークに接続される車載装置であって、前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、前記処理部は、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う。
【選択図】図1
【特許請求の範囲】
【請求項1】
車両に搭載される車載ネットワークに接続される車載装置であって、
前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、
前記処理部は、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う
車載装置。
【請求項2】
前記処理部は、
連続して受信した2つの周期データの内、先に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値以下である場合、前記イベントデータは異常であると判定し、
先に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値を超える場合、前記イベントデータは正常であると判定する
請求項1に記載の車載装置。
【請求項3】
前記処理部は、
連続して受信した2つの周期データの内、後に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値以下である場合、前記イベントデータは正常であると判定し、
先に受信したデータのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値よりも大きい場合、前記イベントデータは異常であると判定する
請求項1に記載の車載装置。
【請求項4】
前記処理部は、
連続して受信した2つの周期データの受信時点間において、複数のイベントデータを受信した際、前記複数のイベントデータそれぞれのペイロードの値の変化に基づき、前記複数のイベントデータに対する正否の判定を行う
請求項1に記載の車載装置。
【請求項5】
前記処理部は、受信した前記複数のイベントデータにおいて、連続して受信した2つのイベントデータのペイロードの値に変化がない場合、連続した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定する
請求項4に記載の車載装置。
【請求項6】
前記処理部は、連続して受信した周期データの内の後に受信した周期データの受信時点が、先に受信した周期データの受信時点を基準とした正常周期範囲内である場合、連続して受信した周期データの内の後に受信した周期データは正常であると判定し、
後に受信した周期データは正常であると判定した場合のみ、ペイロードの値に基づく前記イベントデータの正否の判定を行う
請求項1に記載の車載装置。
【請求項7】
前記正常周期範囲は、前記データの種別に基づき決定される送信周期を基準値として上下限値が設定された範囲である
請求項6に記載の車載装置。
【請求項8】
前記処理部は、前記正常周期範囲にて周期データを受信できなかった場合又は複数の周期データを受信した場合、前記イベントデータのペイロードの値に関する判定処理を行うことなく、前記イベントデータは異常であると判定する
請求項7に記載の車載装置。
【請求項9】
前記処理部は、
前記イベントデータのペイロードの値が、周期データの種別に応じて予め定められている正常値範囲内であるかを判定し、
前記イベントデータのペイロードの値が正常値範囲内であると判定した場合、周期データのペイロードの値との比較に基づく前記イベントデータの正否の判定を行い、
前記イベントデータのペイロードの値が正常値範囲内でないと判定した場合、周期データのペイロードの値との比較を行うことなく、前記イベントデータは異常であると判定する
請求項7に記載の車載装置。
【請求項10】
前記処理部は、
受信した前記イベントデータの受信時点が、連続して受信した周期データの内の先に受信した周期データの受信時点を基準としたイベントデータ送信禁止期間内であるかを判定し、
前記イベントデータの受信時点がイベントデータ送信禁止期間内でないと判定した場合、前記イベントデータのペイロードの値に関する判定処理を行い、
前記イベントデータの受信時点がイベントデータ送信禁止期間内であると判定した場合、前記イベントデータのペイロードの値に関する判定処理を行うことなく、前記イベントデータは異常であると判定する
請求項7に記載の車載装置。
【請求項11】
車載ネットワークに接続されるコンピュータに、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う
処理を実行させるプログラム。
【請求項12】
車載ネットワークに接続されるコンピュータに、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う
処理を実行させる情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、車載装置、プログラム及び情報処理方法に関する。
【背景技術】
【0002】
従来、車両に搭載された複数の車載ECU(Electronic Control Unit)間の通信には、CANの通信プロトコルが広く採用されている。車両の多機能化及び高機能化に伴って、搭載される車載ECUの数が増加する傾向となるが、当該車載ECUをグループ(セグメント)に分けて車両ネットワークを構成し、同一グループとなる複数の車載ECUは共通の通信線で接続され相互にデータの送受信を行うと共に、異なるグループの車載ECU間のデータの送受信は、車載中継装置(ゲートウェイ)によって中継される(例えば、特許文献1)。
【0003】
特許文献1の車両ネットワークには、車載中継装置(ゲートウェイ)に加え、車両ネットワークのセグメント夫々に接続され、車両ネットワークに流れる不正なデータ(メッセージ)を検知する車両ネットワーク監視装置を備えている。当該車両ネットワーク監視装置は、不正なデータ(メッセージ)を検知したとき、車載制御装置(車載ECU)に対して警告情報(メッセージコード)を送信する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2013-131907号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、特許文献1の車両ネットワーク監視装置は、周期的にデータが送信される通信形態において、当該送信周期との関連性等に基づき効率的に異常(不正)なメッセージを検出する点に関する考慮がされていないという問題点がある。
【0006】
本開示は、周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置等を提供することを目的とする。
【課題を解決するための手段】
【0007】
本開示の一態様に係る車載装置は、車両に搭載される車載ネットワークに接続される車載装置であって、前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、前記処理部は、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う。
【発明の効果】
【0008】
本開示の一態様によれば、周期的にデータが送信される通信形態において、効率的に異常なデータを検出する車載装置等を提供することができる。
【図面の簡単な説明】
【0009】
図1】実施形態1に係る車載装置を含む車載システムの構成を例示する模式図である。
図2】車載装置の物理構成を例示するブロック図である。
図3】データ種別テーブルに関する説明図である。
図4】データ受信リストに関する説明図である。
図5】イベントデータの正否判定(イベントデータ送信禁止期間)に関する説明図である。
図6】イベントデータの正否判定(正常周期範囲)に関する説明図である。
図7】イベントデータの正否判定(正常値範囲)に関する説明図である。
図8】イベントデータの正否判定(フォアキャスト)に関する説明図である。
図9】イベントデータの正否判定(ペイロード変化)に関する説明図である。
図10】イベントデータの正否判定(バックキャスト)に関する説明図である。
図11】車載装置の処理部によるイベントデータに対する判定態様(判定テーブル)に関する説明図(マトリックス表)である。
図12】車載装置の処理部の処理を例示するフローチャートである。
【発明を実施するための形態】
【0010】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0011】
(1)本開示の一態様に係る車載装置は、車両に搭載される車載ネットワークに接続される車載装置であって、前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、前記処理部は、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う。
【0012】
本態様にあたっては、車載装置の処理部は、車載ネットワークに接続される車載ECUから送信されるCANメッセージ又はIPパケット等の複数のデータ(フレーム)を受信(取得)する。当該車載ネットワークを介して、車載ECU間にて送受信されるデータは、周期的に送信される周期データ(定期メッセージ)と、当該周期から外れて、所定のイベントが発生した際に送信されるイベントデータ(イベントメッセージ)とを含む。当該周期データに関する取扱い又は処理内容等の事項は、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているデータ(周期データに相当)の正否の判定に関する処理と同様のものであってもよい。すなわち、本実施形態においては、国際公開第2022/185566号公報の記載事項を適宜、準用又は援用することにより、車載装置の処理部は、周期データに関する処理に関し、国際公開第2022/185566号公報に記載されているデータの正否の判定に関する処理と、同様の処理を行うものであってもよい。当該データは、各通信プロトコルそれぞれにおいて、複数の種別(種類)にて分類される。例えば、通信プロトコルがTCP/IPの場合、IPパケットに含まれるポート番号(TCPポート番号、UDPポート番号)、送信元アドレス、送信先アドレス又はこれらの組み合わせの同一性に応じて、データ種別の同異が決定されるものであってもよい。通信プロトコルがCAN(Controller Area Network)又はCAN/FDの場合、CANのメッセージID(CAN-ID)の同一性に応じて、データ種別の同異が決定されるものであってもよい。すなわち、メッセージID(CAN-ID)が同じデータ(CANメッセージ)は、同じ種別のデータ(同種のデータ)に相当する。車載装置の処理部は、同種となる2つの周期データを連続して受信した場合、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータ(イベントメッセージ)を受信したか否かを判定する。車載装置の処理部は、イベントデータを受信したと判定した場合、イベントデータのペイロードの値と、連続して受信した2つの周期データのいずれかの周期データ、すなわち先に受信した周期データ又は後に受信した周期データのペイロードの値とに基づき、イベントデータの正否の判定を行う。これにより、周期データのみならずイベントデータについても送信される通信態様において、当該周期データに基づきイベントデータの正否、すなわちイベントデータが正常(正当)であるか又は異常(不正)であるかを効率的に判定することができる。更に、車載装置の処理部は、連続する2つの周期データの受信後、すなわち後の周期データの受信後、これら周期データの受信時点間にて受信した1つ以上のイベントデータに対する正否判定を行う。従って、イベントデータを受信する都度、当該イベントデータの正否判定を行う処理(検知ロジック)と比較して処理時間の短縮を図ることができる。特に周期データの受信時点間において複数のイベントデータを受信した際、これらイベントデータの受信処理と、受信した複数のイベントデータに対する正否判定処理とを、後の周期データの受信をトリガーに分離して行うことにより、イベントデータの受信都度にて判定処理を行うことによるオーバヘッドを解消し、処理時間の短縮又は処理部の処理負荷の低減を図ることができる。本実施形態において、車載装置の処理部によるデータの正否の判定は、当該データ(イベントデータ、周期データ)が正常であるか異常であるかの判定処理を実行することを意図する。その上で、判定処理の結果として、車載装置の処理部は、当該データは異常、又は正常であると判定し、当該判定結果(異常判定、又は正常判定)を記憶部に記憶又は出力する。
【0013】
(2)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つの周期データの内、先に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値以下である場合、前記イベントデータは異常であると判定し、先に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値を超える場合、前記イベントデータは正常であると判定する。
【0014】
本態様にあたっては、車載装置の処理部は、連続して受信した2つの周期データの内、先に受信した周期データ(先の周期データ)のペイロードの値と、イベントデータのペイロードの値(ペイロード値)とを比較(フォアキャスト処理)することにより、イベントデータの正否の判定を行う。当該ペイロードには、複数のシグナルが含まれて(格納)おり、車載装置の処理部は、個々のシグナル毎に、当該シグナルの値(シグナル値)比較するものであってもよい。この場合、ペイロードに含まれているいずれかのシグナル値のみが異なる場合であっても、ペイロード値は異なると判定するものであってもよい。すなわち、ペイロードの値が等しい(実質的に同一)とは、周期データのペイロードに含まれる全てのシグナル値と、イベントデータのペイロードに含まれる全てのシグナル値とが等しい(実質的に同一)ものであることを意図する。車載装置の処理部は、先の周期データのペイロード値(シグナル値)と、イベントデータのペイロード値(シグナル値)との差異(差異の絶対値、又は偏差等)が所定値以下である場合、イベントデータは異常であると判定し、差異が所定値を超える場合、イベントデータは正常であると判定する。例えば、当該所定値が0である場合、先の周期データのペイロード値(シグナル値)と、イベントデータのペイロード値(シグナル値)との差異が0以下、すなわちこれらペイロード値が同じ値(完全一致)の場合、車載装置の処理部は、イベントデータは異常であると判定するものであってもよい。この際、これらペイロード値が同じ値でない、すなわち異なる場合、車載装置の処理部は、イベントデータは正常であると判定する。ペイロード値の差異を判定する際に用いられる所定値(差異判定用閾値)を、0又は0に近接した比較的に小さい値にて設定する、先に受信したデータのペイロードの値と、イベントデータのペイロードの値との実質的な同一性を判定することができる。イベントデータは、直前に送信された周期データのペイロード値が変更されるような事象(イベント)が発生した際、次回の送信周期にて送信される周期データよりも前に送信される。従って、正常なイベントデータのペイロード値は、直前に送信(受信)された周期データ(先の周期データ)のペイロード値とは異なることが製品仕様上、想定されるものであり、車載装置の処理部は、これらペイロード値の差異が所定値以下であるか、すなわちこれらペイロード値が実質的に同一であるかに基づき、イベントデータの正否の判定を行う。このような処理を行うことにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。
【0015】
(3)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つの周期データの内、後に受信した周期データのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値以下である場合、前記イベントデータは正常であると判定し、先に受信したデータのペイロードの値と、前記イベントデータのペイロードの値との差異が所定値よりも大きい場合、前記イベントデータは異常であると判定する。
【0016】
本態様にあたっては、イベントデータは、直前に送信された周期データのペイロード値が変更されるような事象(イベント)が発生した際、次回の送信周期にて送信される周期データよりも前に送信されるという送信特性を有する。この場合、イベントデータの受信時点の直後に受信した周期データ(連続して受信した2つの周期データの内、後に受信した周期データ)のペイロード値(シグナル値)は、当該イベントデータのペイロード値(シグナル値)と実質的に同一となることが、製品仕様上、想定されるものとなる。車載装置の処理部は、ペイロード値の差異を判定する際に用いられる所定値(差異判定用閾値)を用いて、ペイロード値の実質的同一性を判定するにあたり、当該所定値(差異判定用閾値)を、0又は0に近接した比較的に小さい値にて設定するものであってもよい。これにより、車載装置の処理部は、これらペイロード値(シグナル値)との差異が0以下、すなわち、これらペイロード値が同じ値(完全一致)の場合、イベントデータは正常であると判定する。車載装置の処理部は、これらペイロード値(シグナル値)との差異が0を超える、すなわち、これらペイロード値が異なる場合、イベントデータは異常であると判定する。このような処理を行うことにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。更に、車載装置の処理部は、当該後に受信した周期データのペイロード値との比較処理(バックキャスト処理)と、先に受信した周期データの周期データのペイロード値との比較処理(フォアキャスト処理)とを併せて行うものであってもよい。この際、車載装置の処理部は、バックキャスト処理とフォアキャスト処理とを、マルチコア又はマルチCPUのハードウェアリソースを用いて、並列計算(並列処理)するものであってもよい。このようにイベントデータに対する複数の処理を並列化することにより、当該イベントデータの正否判定処理に要する処理時間(エラップスタイム)を低減させることができる。
【0017】
(4)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つの周期データの受信時点間において、複数のイベントデータを受信した際、前記複数のイベントデータそれぞれのペイロードの値の変化に基づき、前記複数のイベントデータに対する正否の判定を行う。
【0018】
本態様にあたっては、車載装置の処理部は、連続して受信した2つの周期データの受信時点間において、当該周期データと同種のイベントデータが送信された場合、これら送信された全てのイベントデータを受信し、当該イベントデータそれぞれの受信時点を関連付けて、車載装置の記憶部に記憶する。この際、連続して受信した2つの周期データについても、それぞれの受信時点と関連付けて記憶部に記憶するものであってもよい。この際、車載装置の処理部は、連続して受信した2つの周期データの受信時点間において、複数のイベントデータを受信した場合、これら複数のイベントデータは受信時点に応じて時系列に並ぶものとなる。車載装置の処理部は、受信時点に時系列に並ぶ複数のイベントデータにおいて、これら複数のイベントデータそれぞれのペイロードの値の変化に基づき、複数のイベントデータに対する正否の判定を行う。車載装置の処理部は、これら複数のイベントデータそれぞれのペイロードの値における変化が有る場合は、イベントデータは正常であると判定し、変化がない場合は、イベントデータは異常であると判定する。車載装置の処理部は、受信時点にて隣接する2つのイベントデータにおけるペイロードの値の変化の有無、又は変化の程度(変化度合)に応じて、これらイベントデータに対する正否の判定を行う。これにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。
【0019】
(5)本開示の一態様に係る車載装置は、前記処理部は、受信した前記複数のイベントデータにおいて、連続して受信した2つのイベントデータのペイロードの値に変化がない場合、連続した2つのイベントデータ内、少なくとも1つのイベントデータは異常であると判定する。
【0020】
本態様にあたっては、イベントデータは、直前に送信(受信)された周期データ又はイベントデータのペイロード値が変更されるような事象(イベント)が発生した際、次回の送信周期にて送信される周期データよりも前に送信されるという送信特性を有する。従って、連続して受信した2つの周期データの受信時点間において、複数のイベントデータが受信された場合、これら複数のイベントデータそれぞれのペイロードの値は、受信時点の時系列にて隣接する2つのイベントデータにおいて、異なる(変化する)ことが製品仕様上、想定される。車載装置の処理部は、連続した受信した2つのイベントデータのペイロードの値に変化がない場合、すなわちペイロード値が同一である場合、連続した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定するため、イベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。なお、車載装置の処理部は、このように連続した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定した場合、連続して受信した2つの周期データのいずれかの周期データのペイロード値と比較することにより、いずれかのイベントデータを特定するものであってもよい。車載装置の処理部は、受信した複数のイベントデータを、例えばリスト形式(データ受信リスト)にて記憶部に記憶するものであってもよい。車載装置の処理部は、受信した複数のイベントデータのペイロード値の変化の有無判定等、各種演算処理を行うにあたり、当該データ受信リストにおける差分計算又は比較計算のみで実施(対応)できるため、処理部の処理能力(動作周波数)又は記憶部の領域等の計算リソース(ハードウェアリソース)の必要量が増加することを抑制することができる。
【0021】
(6)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した周期データの内の後に受信した周期データの受信時点が、先に受信した周期データの受信時点を基準とした正常周期範囲内である場合、連続して受信した周期データの内の後に受信した周期データは正常であると判定し、後に受信したデータは正常であると判定した場合のみ、ペイロードの値に基づく前記イベントデータの正否の判定を行う。
【0022】
本態様にあたっては、車載装置の処理部は、同種の周期データを連続して受信した場合、先に受信した周期データの受信時点と、後に受信した周期データの受信時点との間隔となる受信間隔を導出する。処理部は、当該受信間隔と、先に受信した周期データの受信時点を基準とした正常周期範囲とに基づき、後に受信した周期データ(先に受信した周期データと同種の周期データ)の成否の判定を行うため、周期的に送信される周期データ(メッセージ)に対し、当該送信周期に基づき効率的に不正(異常)なデータ(メッセージ)を検出することができる。このように連続して受信した2つの周期データにおいて、先に受信した周期データの受信時点を基準とした正常周期範囲を設定することにより、車載装置の処理部は、当該先の周期データの受信時点から、正常周期範囲の開始時点(下限時点(limit-low))までの間に受信したデータを、イベントデータとして特定することができる。
【0023】
(7)本開示の一態様に係る車載装置は、前記正常周期範囲は、前記データの種別に基づき決定される送信周期を基準値として上下限値が設定された範囲である。
【0024】
本態様にあたっては、車載装置の処理部は、先に受信した周期データの受信時点に基づき、当該周期データの種別に基づき決定される送信周期を基準値として上下限値(下限時点(limit-low)から上限時点(limit-upp))が設定された範囲を、正常周期範囲として設定する。下限時点(limit-low)が正常周期範囲の開始時点に相当する。上限時点(limit-upp)が正常周期範囲の終了時点に相当する。車載装置の処理部は、このように設定した正常周期範囲に対応する期間において、先に受信した周期データと同種の周期データを受信したか否かに応じて、連続して受信した2つの周期データにおける後の周期データを受信したか否かを判定するものであってもよい。車載装置の処理部は、当該正常周期範囲に対応する期間において、単一の周期データを受信した場合、当該単一の周期データの受信時点を基準として、次の正常周期範囲を設定するものであってもよい。すなわち、正常周期範囲は、イベントデータの受信の有無に影響を受けることなく、正当と判定された周期データの受信時点のみに基づき、設定されるものであってもよい。このように周期データの受信時点に基づき正常周期範囲が設定される通信形態(定期送信間隔リセットが無い通信形態)においても、当該周期から外れて送信されるイベントデータに対する正否の判定を効率的に行うことができる。
【0025】
(8)本開示の一態様に係る車載装置は、前記処理部は、前記正常周期範囲にて周期データを受信できなかった場合又は複数の周期データを受信した場合、前記イベントデータのペイロードの値に関する判定処理を行うことなく、前記イベントデータは異常であると判定する。
【0026】
本態様にあたっては、車載装置の処理部は、先に受信した周期データの受信時点に基づき設定した正常周期範囲において、受信した周期データの個数を算出する。受信した周期データの個数が1つである(単一の周期データを受信した)場合、車載装置の処理部は、当該単一の周期データは正常であると判定する。正常周期範囲において、受信した周期データの個数が2つである(複数の周期データを受信した)場合、車載装置の処理部は、当該複数の周期データは異常であると判定する。この場合、車載装置の処理部は、これら受信した複数の周期データのうち、少なくとも1つの周期データでは異常であり、当該複数の周期データは、範囲異常検知「異常検知(範囲)」に該当すると判定するものであってもよい。車載装置の処理部は、正常周期範囲にて周期データを受信できなかった場合又は複数の周期データを受信した場合、先に受信した周期データの受信時点から、当該正常周期範囲の開始時点「下限時点(limit-low)」までの間に、1つ以上のイベントデータを受信した場合であっても、当該イベントデータのペイロードの値に関する判定処理を行うことなく、イベントデータは異常であると判定する。イベントデータの正否の判定を行うにあたり、連続して受信した2つの周期データが共に正常であると判定されることが前提となるところ、正常周期範囲にて周期データを受信できなかった場合又は複数の周期データを受信した場合、当該前提条件を満たすことができない。そこで、当該前提条件を満たすことができない場合、イベントデータのペイロードの値に関する判定処理を行うことなく、イベントデータは異常であると判定するため、イベントデータに対する過度又は冗長な判定処理を不要とし、車載装置の処理部の処理負荷が不要に増加することを抑制することができる。
【0027】
(9)本開示の一態様に係る車載装置は、前記処理部は、前記イベントデータのペイロードの値が、周期データの種別に応じて予め定められている正常値範囲内であるかを判定し、前記イベントデータのペイロードの値が正常値範囲内であると判定した場合、周期データのペイロードの値との比較に基づく前記イベントデータの正否の判定を行い、前記イベントデータのペイロードの値が正常値範囲内でないと判定した場合、周期データのペイロードの値との比較を行うことなく、前記イベントデータは異常であると判定する。
【0028】
本態様にあたっては、イベントデータ及び周期データは、例えばメッセージID又はポート番号等にて定まるデータの種別に応じて、当該データに含まれるペイロード値(シグナル値)の正常値範囲、すなわちペイロード値(シグナル値)が取り得る値の範囲が、予め定められている。これらデータの種別に応じた正常値範囲は、例えば、テーブル形式(データ種別テーブル)にて記憶部に記憶されているものであってもよい。車載装置の処理部は、例えば、当該データ種別テーブルを参照して、受信したイベントデータのペイロード値(シグナル値)が、正常値範囲内であるか否かを判定する。車載装置の処理部は、正常値範囲内であると判定した場合、イベントデータのペイロード値(シグナル値)と、連続して受信した2つの周期データの少なくとも1つの周期データのペイロード値(シグナル値)との比較に基づき、イベントデータの正否判定を行う。車載装置の処理部は、正常値範囲内でない判定した場合、イベントデータと周期データとのペイロードの値との比較を行うことなく、イベントデータは異常であると判定する。この場合、車載装置の処理部は、当該イベントデータを特定異常検知「異常検知(特定)」に該当すると判定するものであってもよい。すなわち、ペイロード値(シグナル値)が正常値範囲から外れるイベントデータは、例えば攻撃等による不正(異常)なデータである蓋然性が高いことが想定されるため、当該イベントデータに対する周期データとの比較処理等の後処理を不要とすることにより、処理部における処理負荷の低減又は処理時間の短縮を図ることができる。
【0029】
(10)本開示の一態様に係る車載装置は、前記処理部は、受信した前記イベントデータの受信時点が、連続して受信した周期データの内の先に受信した周期データの受信時点を基準としたイベントデータ送信禁止期間内であるかを判定し、前記イベントデータの受信時点がイベントデータ送信禁止期間内でないと判定した場合、前記イベントデータのペイロードの値に関する判定処理を行い、前記イベントデータの受信時点がイベントデータ送信禁止期間内であると判定した場合、前記イベントデータのペイロードの値に関する判定処理を行うことなく、前記イベントデータは異常であると判定する。
【0030】
本態様にあたっては、イベントデータ及び周期データは、例えばメッセージID又はポート番号等にて定まるデータの種別に応じて、先に受信した周期データの受信時点を基準として、当該イベントデータの送信を禁止するイベントデータ送信禁止期間が、予め定められている。これらデータの種別に応じた送信禁止期間は、例えば、テーブル形式(データ種別テーブル)にて記憶部に記憶されているものであってもよい。車載装置の処理部は、例えば、当該データ種別テーブルを参照して、受信したイベントデータの受信時点が、イベントデータ送信禁止期間内であるか否かを判定する。車載装置の処理部は、イベントデータ送信禁止期間内でないと判定した場合、イベントデータのペイロードの値に関する判定処理を行う。当該イベントデータのペイロードの値に関する判定処理は、例えば、イベントデータのペイロード値(シグナル値)が正常値範囲内であるかの判定、イベントデータと周期データとのペイロード値(シグナル値)との比較処理、又は連続して受信した2つのイベントデータにおけるペイロード値(シグナル値)の変化の有無に関する判定を含む。車載装置の処理部は、イベントデータ送信禁止期間内であると判定した場合、イベントデータのペイロードの値に関する判定処理を一切行うことなく、イベントデータは異常であると判定する。すなわち、イベントデータ送信禁止期間内に受信されたイベントデータは、例えば攻撃等による不正(異常)なデータである蓋然性が高いことが想定されるため、当該イベントデータのペイロードの値に関する判定処理等の後処理を不要とすることにより、処理部における処理負荷の低減又は処理時間の短縮を図ることができる。
【0031】
(11)本開示の一態様に係るプログラムは、車載ネットワークに接続されるコンピュータに、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う処理を実行させる。
【0032】
本態様にあたっては、コンピュータを、周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置として実行させるプログラムを提供することができる。
【0033】
(12)本開示の一態様に係る情報処理方法は、車載ネットワークに接続されるコンピュータに、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを受信した場合、前記イベントデータのペイロードの値と、2つの周期データの少なくともいずれかのペイロードの値とに基づき、前記イベントデータの正否の判定を行う。
【0034】
本態様にあたっては、コンピュータを、周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置として実行させる情報処理方法を提供することができる。
【0035】
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載装置2を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0036】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載装置2を含む車載システムSの構成を例示する模式図である。図2は、車載装置2の物理構成を例示するブロック図である。
【0037】
車載システムSは、車両Cに搭載される車載装置2を主たる装置として構成され、車載装置2は、車外通信装置1及び複数の車載ECU3と通信可能に接続される。車載装置2は、車両Cに搭載される複数の車載ECU3間の通信を中継する。車載装置2は、車外通信装置1を介して車外ネットワークNを介して接続された外部サーバ100と通信し、外部サーバ100と、車両Cに搭載される車載ECU3との間の通信を中継するものであってもよい。
【0038】
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部21又はストレージ装置を備える。当該外部サーバ100の記憶部21等は、車載装置2からアクセス可能な記憶領域に含まれる。
【0039】
車両Cには、車外通信装置1、車載装置2、表示装置5、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車載装置2と車外通信装置1とは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。車載装置2及び車載ECU3は、CAN(Control Area Network/登録商標)、CAN/FD又はイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した通信線41及び車載ネットワーク4によって通信可能に接続されている。車載装置2及び車載ECU3における通信プロトコルは、LIN、MOST、FlexRay等によるものであってもよい。
【0040】
車外通信装置1は、車外通信部(図示せず)及び、車載装置2と通信するための入出力I/F(図示せず)を含む。車外通信部は、3G、LTE、4G、5G、WiFi等の移動体通信のプロトコルを用いて無線通信をするための通信装置であり、車外通信部に接続されたアンテナ11を介して外部サーバ100とデータの送受信を行う。車外通信装置1と外部サーバ100との通信は、例えば公衆回線網又はインターネット等の外部ネットワークNを介して行われる。入出力I/Fは、車載装置2と、例えばシリアル通信するための通信インターフェイスである。車外通信装置1と車載装置2とは、入出力I/F及び入出力I/Fに接続されたシリアルケーブル等のワイヤーハーネスを介して相互に通信する。本実施形態では、車外通信装置1は、車載装置2と別装置とし、入出力I/F等によってこれら装置を通信可能に接続しているが、これに限定されない。車外通信装置1は、車載装置2の一構成部位として、車載装置2に内蔵されるものであってもよい。
【0041】
車載装置2は、処理部20、記憶部21、入出力I/F22、及び車内通信部23を含む。車載装置2は、例えば、認知系の車載ECU3、判断系の車載ECU3及び、操作系の車載ECU3等の複数の通信線41による系統のセグメントを統括し、これらセグメント間での車載ECU3同士の通信を中継するゲートウェイ(CANゲートウェイ)等の車載中継装置である。複数の通信線41夫々は、各セグメントにおけるバス(CANバス、イーサネットケーブル)に相当する。車載装置2は、レイヤ2又はレイヤ3イーサスイッチ等の車載中継装置、データ通信の中継機能に加え電源分配の機能を有するPLB(Power Lan Box)、中継機能を有し車両Cの全体を統合的に制御する統合ECUであってもよい。又は、車載装置2は、車両Cのボディ系アクチュエータを制御するボディECU等、車載ECU3の一機能部として構成されるものであってもよい。
【0042】
処理部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。処理部20は、車内通信部23を介して取得(受信)したデータ(CANメッセージ、IPパケット)の正否判定を行うと共に、車載装置2の全体的な制御を行う制御部として機能するものであってもよい。
【0043】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、プログラムP(プログラム製品)及び処理時に参照するデータが予め記憶してある。記憶部21に記憶されたプログラムP(プログラム製品)は、車載装置2が読み取り可能な記録媒体Mから読み出されたプログラムP(プログラム製品)を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラムP(プログラム製品)をダウンロードし、記憶部21に記憶させたものであってもよい。
【0044】
記憶部21には、車載ECU3間の通信、又は車載ECU3と外部サーバ100との間の通信のための中継処理を行うにあたり用いられる中継経路情報(ルーティングテーブル)が、記憶される。当該中継経路情報は、通信プロトコルに基づき書式が決定される。通信プロトコルが例えばCANの場合、CAN用中継経路情報は、CANメッセージに含まれるメッセージ識別子(CAN-ID、メッセージID)及び、当該CAN-IDに関連付けられた中継先(車内通信部23のI/Oポート番号)を含む。
【0045】
入出力I/F22は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。例えば、入出力I/F22を介して、車載装置2は、車外通信装置1、表示装置5(HMI装置)及び、車両Cの起動及び停止を行うIGスイッチ6(又はパワースイッチ)と通信可能に接続される。
【0046】
車内通信部23は、例えばCAN(Control Area Network)、CAN-FD(CAN with Flexible Data Rate)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイス(CANドライバ、イーサネットPHY部)であり、処理部20は、車内通信部23を介して車載ネットワーク4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。
【0047】
車内通信部23は、複数個設けられており、車内通信部23夫々に、車載ネットワーク4を構成する通信線41夫々(CANバス等)が接続されている。このように車内通信部23を複数個設けることにより、車載ネットワーク4を複数個のセグメントに分けるものであってもよい。車載ネットワーク4のトポロジー型式は、本実施形態における図示のようなバス型に限定されず、当該トポロジー型式は、例えば、車載装置2を中心としたスター型、複数の車載装置2によるリング型、又は車載装置2を最上位としたカスケード型であってもよい。
【0048】
このように構成された車載装置2の処理部20は、後述する受信データ(周期データ、イベントデータ)の判定処理を行う過程において、複数の状態を遷移する。当該複数の状態は、例えば、正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)と、特定された正常周期範囲に基づき受信したデータ(周期データ)の正否を判定する判定実行状態(周期検知実行状態)とを含む。これら判定処理を行う過程における状態遷移に関する処理部20の処理は、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されている状態遷移に関する処理を用いるものであってもよい。
【0049】
車載ECU3は、車載装置2と同様に制御部(図示せず)、記憶部(図示せず)及び車内通信部(図示せず)を含む。記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。車載ECU3は、例えば、周期的にCANメッセージ又はIPパケットを送信し、車載装置2と通信する。車載ECU3は、センサ又はアクチュエータが接続され、統合ECUの配下に接続される個別ECUであってもよい。
【0050】
表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5は、車載装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置5には、車載装置2の処理部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
【0051】
図3は、データ種別テーブルに関する説明図である。処理部20が判定処理を行う際に参照する種々データは、車載装置2の記憶部21、車載ECU3又は外部サーバ100に接続されるストレージ装置等、処理部20からアクセス可能な所定の記憶領域に記憶されている。処理部20が判定処理を行うにあたり監視対象となるデータ種別は、例えば、テーブル形式にて構成されるデータ種別テーブルとして、記憶部21等に記憶されている。データ種別テーブルにて定義されている管理項目(フィールド)は、例えば、メッセージID(データ種別)、設計周期、上下限値比率、正常周期範囲、判定実行対象フラグ、イベントデータ送信禁止時間、及びペイロード正常値範囲を含む。
【0052】
メッセージID(データ種別)の管理項目(フィールド)には、例えば、CANメッセージの種別を示すメッセージID(CAN-ID)が格納される。当該メッセージIDに基づき、受信させるデータの種別が決定される。判定対象のデータが、例えば、CANメッセージである場合、メッセージIDが同じCANメッセージは、同種のデータであるとして処理が行われる。すなわち、メッセージIDは、データ種別を分類又は定義するための管理項目として設定される。データの種別を決定するための管理項目(フィールド)は、CANメッセージにおけるメッセージIDに限定されず、例えばTCP/IPパケットにおいては、当該パケットに含まれる送信元IPアドレス、送信先IPアドレス、TCPポート番号、UDPポート番号、又はこれらの組み合わせによるものであってもよい。
【0053】
設計周期は、データ(メッセージ)が、いずれかの車載ECU3等から送信される際、予め定められた送信周期を示すものであり、すなわち当該車載ECU3に実装されるアプリケーション等の設計仕様に基づく送信周期である。設計周期の管理項目(フィールド)には、個々のデータにおける設計周期(例えば、x[ms])が格納される。
【0054】
上下限値比率は、設計周期に基づき正常周期範囲を特定するための上下限値を示すものである。上下限値比率は、例えば、設計周期に対する比率(例えばa%、ただしa>0)として定義されるものであってもよく、又は、実時間(±x×a×0.01[ms])にて示されるものであってもよい。又は、上下限値比率は上限と下限で異なる比率であってもよい。
【0055】
正常周期範囲は、設計周期及び上下限値比率によって算出される範囲であり、受信したデータの正否を判定する際に用いられる情報である。例えば、設計周期がx[ms]、上下限値比率がa%(±x×a×0.01[ms])の場合、正常周期範囲は、x-x×a×0.01[ms]から、x+x×a×0.01[ms]となる。正常周期範囲を特定するにあたり基準となる基準データの受信時点を(Kms)とした場合、正常周期範囲の中央値は(K+x)ms、正常周期範囲の下限時点(limit-low)は{(K+x)-(x×a×0.01)}ms、正常周期範囲の上限時点(limit-upp)は{(K+x)+(x×a×0.01)}msの時点となる。本実施形態においては、データ種別テーブルは、設計周期及び上下限値比率と、正常周期範囲とを共に含むとしたが、これに限定されず、いずれかのみを含むものであってよいことは、言うまでもない。
【0056】
判定実行対象フラグは、車載ネットワーク4にて送受信されるデータにおいて、いずれの種別のデータを、正否判定の実行対象(監視対象)とするかを定めるフラグ値(1:監視対象、0:非監視対象)が格納される。このように車載ネットワーク4にて送受信されるデータにおいて、判定実行対象フラグが設定された種別のデータを正否判定の実行対象(監視対象)とすることにより、重要度が比較的に高いデータのみを監視対象にして、車載装置2(処理部20)の処理負荷を低減することができる。
【0057】
イベントデータ送信禁止時間は、同一レコードに格納されるメッセージID(データ種別)において、正常周期範囲を特定するための基準データ(基準メッセージ)、すなわち先に受信した周期データの受信時点から、イベントデータの送信が禁止される時間(期間)を設定する値が格納される。すなわち、イベントデータの送信が禁止される期間(イベントデータ送信禁止期間)の開始時点は、先に受信した周期データの受信時点であり、イベントデータ送信禁止期間の終了時点は、当該受信時点からイベントデータ送信禁止時間が経過した時点となる。イベントデータ送信禁止時間は、設計周期よりも短い時間(小さい値)となる(イベントデータ送信禁止時間<設計周期)。イベントデータ送信禁止時間は、設計周期に対し、例えば、0.4等の1未満となる係数(K)を用いて設定(イベントデータ送信禁止時間=設計周期×K:例えば、K=0.4)されるものであってもよい。詳細は後述するが、イベントデータ送信禁止期間にて受信されたデータ(イベントデータ)は、異常(異常検知(特定))であると判定される。
【0058】
ペイロード正常値範囲は、同一レコードに格納されるメッセージID(データ種別)のペイロード領域に含まれる信号値又は制御値等の値の取り得る範囲が格納される。信号値又は制御値等の値の取り得る範囲とは、これら値を検出又は算出する各種アプリケーション等の製品仕様に基づき予め決定されている範囲である。詳細は後述するが、受信したイベントデータのペイロード領域に格納される値が、当該ペイロード正常値範囲を超えていた場合、当該イベントデータは、異常(異常検知(特定))であると判定される。
【0059】
ペイロード正常値範囲に格納される値は、ペイロード領域に含まれる各シグナルに応じて、複数個、定義(格納)されているものであってもよい。本実施形態においては、ペイロード領域には、2つのシグナル(シグナルA及びシグナルB)が含まれており、これらシグナルそれぞれにおいて、正常値範囲(シグナルAの正常値範囲及びシグナルBの正常値範囲)が定義されるものであってもよい。
【0060】
車載装置2の処理部20は、受信したイベントデータのペイロード値に基づく正否判定を行うにあたり、ペイロード領域に含まれる各シグナル値が正常値範囲内であるかを判定するものであってもよい。この際、ペイロード領域に含まれる複数のシグナル値において、いずれかのシグナル値のみが正常値範囲を超える場合であっても、車載装置2の処理部20は、受信したイベントデータは異常(異常検知(特定))であると判定するものであってもよい。
【0061】
図4は、データ受信リストに関する説明図である。車載装置2の処理部20は、正否判定の対象となるデータを受信した場合、当該データに関する情報をリスト形式(データ受信リスト)又はテーブル形式にて記憶部21等、アクセス可能な所定の記憶領域に記憶する。車載装置2の処理部20は、受信したデータに関する情報を、例えばデータ受信リストにて記憶する場合、データ種別に応じて、異なるリストにて記憶するものであってもよい。このようにデータ種別に応じて生成及び記憶されるデータ受信リストは、受信したデータのログ情報(受信ログ)として保存及び管理される。
【0062】
リスト形式(テーブル形式)となるデータ受信リストは、例えば、データ種別毎に異なるリストとして保存及び管理される。データ種別毎となる各データ受信リストは、管理項目(フィールド)として例えば、連番(No)、受信時点(タイムスタンプ)、受信した期間、正常値範囲判定、ペイロード値、フォアキャスト結果、バックキャスト結果、及び結果判定を含む。
【0063】
連番(No)の管理項目には、データを受信した順番を示す番号(連番)が格納される。本実施形態においては、正常周期範囲を特定するための基準データ(基準メッセージ)、すなわち先に受信した周期データの連番が0として設定(格納)される。先の周期データの受信以降、当該周期データと同種のデータを受信都度、連番の値がインクリメント(1つ増加)されて設定(格納)される。
【0064】
受信時点(タイムスタンプ)の管理項目には、同一レコードに格納される連番(No)のデータを受信した時刻を示す受信時点(タイムスタンプ)が格納される。車載装置2の処理部20は、連番が0として設定されるデータ(先に受信した周期データ)の受信時点を基準とし、各データの受信時点との差異(時間差)を算出することにより、これらデータが、イベントデータ送信禁止期間、イベント送信許容期間(イベントデータ送信許容期間)、又は正常周期範囲のいずれかの期間に受信されたかを特定することができる。
【0065】
受信した期間には、同一レコードに格納される連番(No)のデータの受信時点が含まれる期間が、格納される。当該期間は、前回の正常周期範囲に含まれる基準データ(基準メッセージ)、すなわち先に受信した周期データの受信時点を含む正常周期範囲(前回の正常周期範囲)以降、イベントデータ送信禁止期間、イベント送信許容期間、及び今回の正常周期範囲が、この順にて経時的に並ぶ。イベントデータ送信禁止期間及び今回の正常周期範囲は、先に受信した周期データの受信時点を基準に、例えばデータ種別テーブルにて定義されている正常周期範囲及びイベントデータ送信禁止時間に応じて決定される。イベント送信許容期間(イベントデータ送信許容期間)は、イベントデータ送信禁止期間と今回の正常周期範囲との間に介在する期間である。
【0066】
車載装置2の処理部20は、データの受信時点がどの期間に属するかに応じて、当該受信したデータが、イベントデータであるか、又は周期データであるかを特定する。イベントデータ送信禁止期間又はイベント送信許容期間に受信したデータは、イベントデータとして判定される。正常周期範囲に受信したデータは、周期データとして判定される。
【0067】
正常値範囲判定の管理項目には、同一レコードに格納される連番(No)のデータのペイロード値、すなわち個々のシグナル値が、データ種別テーブルにて定義されているペイロード正常値範囲内であるか否か(範囲内又は範囲外)が格納される。なお、イベントデータ送信禁止期間に受信されたイベントデータは、当該ペイロード値に関する処理を行わないものであってもよい。
【0068】
ペイロード値の管理項目には、同一レコードに格納される連番(No)のデータのペイロード値、すなわち個々のシグナル値が格納される。なお、イベントデータ送信禁止期間に受信されたイベントデータは、当該ペイロード値に関する処理を行わないものであってもよい。
【0069】
フォアキャスト結果の管理項目には、イベント送信許容期間に受信されたデータ(イベントデータ)に対するフォアキャスト処理による判定結果が格納される。当該フォアキャスト処理に関する詳細は、後述する。
【0070】
バックキャスト結果の管理項目には、イベント送信許容期間に受信されたデータ(イベントデータ)に対するバックキャスト処理による判定結果が格納される。当該バックキャスト処理に関する詳細は、後述する。
【0071】
結果判定の管理項目には、イベント送信許容期間に受信されたデータ(イベントデータ)に対するフォアキャスト結果、又はフォアキャスト結果とバックキャスト結果との組み合わせに応じた最終的な結果判定が格納される。当該結果判定は、例えば、正常又は異常であり、当該異常は、受信したある範囲に異常が含まれていることを検知した状態を示す異常検知(範囲)「異常(範囲)」と、どのデータ(メッセージ)が異常かを特定できた状態を示す異常検知(特定)「異常(特定)」とを含む。当該結果判定に関する詳細は、後述する。
【0072】
図5は、イベントデータの正否判定(イベントデータ送信禁止期間)に関する説明図である。本実施形態における図示において、特定のデータ種別のデータ(CANメッセージ等)に関する判定処理について説明する。当該図示において、横軸は時間(経過時間)を示す。車載装置2の処理部20は、例えば、記憶部21に記憶されているデータ種別テーブルにて定められるデータ(監視対象メッセージ)毎に、同種のデータ(同一のメッセージID)の受信間隔を算出し、受信間隔が正常周期範囲内に入っていれば、当該データは周期的に送信される周期データ(定期メッセージ)であると判定(特定)する。これら周期データの正否判定及び正常周期範囲の決定に関しては、例えば国際公開第2022/185566号公報(WO/2022/185566)に記載されているデータ(周期データに相当)に関する処理と同様のものであってもよい。
【0073】
本実施形態における図示では、先の周期データ(基準Msg)は正常であると判定されており、当該先の周期データ(基準Msg)の受信時点を基準にイベントデータ送信禁止期間、及び正常値範囲が決定される。イベントデータ送信禁止期間は、先の周期データ(基準Msg)の受信時点から、イベントデータ送信禁止時間から経過するまでの期間である。車載装置2の処理部20は、先の周期データ(基準Msg)の受信時点に設計周期(T)を加算した時点を中央値とし、当該中央値に対し、下限時点(limit-low)と上限時点(limit-upp)を上下限とする期間を、正常周期範囲(今回の正常周期範囲)として算出(特定)する。当該正常周期範囲(今回の正常周期範囲)にて受信されたデータ(Msg2)は、後の周期データ(Msg2)として取り扱われる。本実施形態における図示では、今回の正常周期範囲に受信されたデータの個数は、後の周期データ(Msg2)による1つのみであり、かつ周期データ(Msg2)のペイロード値(全てのシグナル値)は正常値範囲内であるため、
当該後の周期データ(Msg2)は、正常であると判定される。
【0074】
先の周期データ(基準Msg)の受信時点から、今回の正常周期範囲の下限時点(limit-low)までに受信されたデータ(Msg1)の受信時点は、イベントデータ送信禁止期間に含まれている。従って、車載装置2の処理部20は、イベントデータ送信禁止期間内に受信したデータ(Msg1)は、異常なイベントデータであると判定する。この際、車載装置2の処理部20は、当該イベントデータ(Msg1)を異常検知(特定)「異常(特定)」に該当すると判定するものであってもよい。
【0075】
図6は、イベントデータの正否判定(正常周期範囲)に関する説明図である。本実施形態における図示では、今回の正常周期範囲内において、複数のデータ(Msg6、Msg7)が周期データとして受信されている。その上で、イベントデータ送信禁止期間内において、2つのイベントデータ(Msg1、Msg2)が受信され、イベント送信許容期間内において、3のイベントデータ(Msg3、Msg4、Msg5)が受信されている。正常周期範囲内(今回の正常周期範囲内)に受信された複数の周期データ(Msg6、Msg7)は、いずれも異常と判定される。車載装置2の処理部20は、このように同じ正常周期範囲内にて受信した複数の周期データ(Msg6、Msg7)を異常検知(範囲)「異常(範囲)」に該当すると判定するものであってもよい。
【0076】
イベントデータの正否の判定を行うにあたり、連続して受信した2つの周期データ(先の周期データ、後の周期データ)が共に正常であると判定されることが前提となる。これに対し、正常周期範囲(今回の正常周期範囲内)にて周期データ(後の周期データ)を受信できなかった場合又は複数の周期データ(後の周期データ)を受信した場合、当該前提条件を満たすことができない。この際、車載装置2の処理部20は、以降の正常周期範囲を特定するにあたり基準となる周期データの受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移する。車載装置2の処理部20は、基準データ受信状態に遷移した以降、最初にデータを受信した際、当該データを周期データとして設定し、判定実行状態(周期検知実行状態)に遷移する。この場合、車載装置2の処理部20は、先の周期データ(基準Msg)の受信時点から、今回の正常周期範囲の下限時点(limit-low)までに受信されたデータであって、イベントデータ送信禁止期間内に受信したイベントデータ(Msg1、Msg2)については、異常検知(特定)「異常(特定)」に該当すると判定する。
【0077】
その上で、車載装置2の処理部20は、イベント送信許容期間内に受信したイベントデータ(Msg3、Msg4、Msg5)については、既に正常と判定されている先の周期データのペイロード値との比較に基づき、これらイベントデータ(Msg3、Msg4、Msg5)の正否判定を行う処理形態(パターンA)を実行するものであってもよい。当該ペイロード値の比較処理に関しては後述する。当該処理形態(パターンA)を用いることにより、イベントデータ(Msg3、Msg4、Msg5)それぞれに対する異常検知の精度を向上させることができる。すなわち、受信したある範囲に異常が含まれていることを検知した状態を示す異常検知(範囲)「異常(範囲)」と判定されることを減少し、どのデータ(メッセージ)が異常かを特定できた状態を示す異常検知(特定)「異常(特定)」と判定されることを増加させることができる。
【0078】
又は、車載装置2の処理部20は、イベント送信許容期間内に受信したイベントデータ(Msg3、Msg4、Msg5)については、異常検知(範囲)「異常(範囲)」に該当すると判定する。この際、異常検知(範囲)「異常(範囲)」と判定した複数の周期データ(Msg6、Msg7)と、異常検知(範囲)「異常(範囲)」と判定したイベントデータ(Msg3、Msg4、Msg5)とは、別個の異常判定結果としてログ情報に記憶(ログ保存)する処理形態(パターンB)を行うものであってもよい。当該処理形態(パターンB)を用いることにより、正常周期範囲外の異常検知(範囲)「異常(範囲)」と、正常周期範囲内の異常検知(範囲)「異常(範囲)」とを分けて、ログ保存することができる。
【0079】
又は、車載装置2の処理部20は、イベント送信許容期間内に受信したイベントデータ(Msg3、Msg4、Msg5)については、異常検知(範囲)「異常(範囲)」に該当すると判定する。この際、異常検知(範囲)「異常(範囲)」と判定した複数の周期データ(Msg6、Msg7)と、異常検知(範囲)「異常(範囲)」と判定したイベントデータ(Msg3、Msg4、Msg5)とを一連(同一)の異常判定結果としてログ情報に記憶(ログ保存)する処理形態(パターンC)を行うものであってもよい。当該処理形態(パターンC)を用いることにより、比較的に処理時間を短縮することができる。又、パターンBと比較するとログ保存する際に付与する共通ヘッダ部分の容量を削減でき、記憶部21における記憶領域が逼迫することを緩和することができる。
【0080】
又は、車載装置2の処理部20は、イベント送信許容期間内に受信したイベントデータ(Msg3、Msg4、Msg5)については、正否判定の対象外データとしてログ情報に記憶する処理形態(パターンD)を行うものであってもよい。当該処理形態(パターンD)を用いることにより、他の処理形態と比較して、処理時間を最も短縮することができる。
【0081】
本実施形態において、今回の正常周期範囲内にて周期データを受信しなかった場合、又は複数の周期データを受信した場合、イベント送信許容期間内にて受信したイベントデータ(Msg3、Msg4、Msg5)に対する処理形態は固定的又は画一的に設定される場合に限定されず、可変的に設定されるものであってもよい。当該イベントデータ(Msg3、Msg4、Msg5)に対する処理形態は、例えば、データ種別に応じて個々に決定されるものであってもよい。この場合、データ種別テーブルは、当該処理形態を管理する管理項目を含み、個々のデータ種別それぞれに対し、例えばパターンAからDまでのいずれかの処理形態が定義されるものであってもよい。受信したデータに対しどの処理形態(パターン)を適用するかは、ログ保存ポリシーや検知処理にかかる処理時間とのトレードオフによって決定されることが想定される。ログ保存ポリシーとは、例えば、少しでも疑わしいデータを広くログ保存するか、又は、確実に異常なデータをログ保存するか等に関する製品仕様又は運用設定である。これに対し、例えばデータ種別テーブルを用いて、個々のデータ種別毎での処理形態(パターン)を決定することにより、当該データ種別にて定まるデータ重要度に応じた適切な処理形態を用いることができる。
【0082】
図7は、イベントデータの正否判定(正常値範囲)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)及び後の周期データ(Msg2)は、共に正常であると判定されている。先の周期データ(基準Msg)の受信時点から、今回の正常周期範囲の下限時点(limit-low)までに受信されたイベントデータ(Msg1)において、当該イベントデータ(Msg1)の受信時点は、イベント送信許容期間内に含まれている。従って、受信時点の観点からは、イベントデータ(Msg1)は正常であるといえる。しかしながら、イベントデータ(Msg1)のペイロード値(シグナル値)は、正常値範囲を超えているため、車載装置2の処理部20は、当該イベントデータ(Msg1)は異常検知(特定)「異常(特定)」であると判定する。
【0083】
本実施形態における図示では、イベントデータ(Msg1)のペイロード領域には、シグナルA及びシグナルBの値が含まれている。このうち、例えば、シグナルAの値のみが、データ種別テーブルにて定義されているペイロード正常値範囲(シグナルAの正常値範囲)外となっている。このように、複数のシグナル値のうち、いずれかのシグナル値のみが正常値範囲外となっている場合であっても、車載装置2の処理部20は、当該正常値範囲外のシグナル値(取り得る範囲を逸脱したシグナル値)をペイロード領域に含むイベントデータを異常検知(特定)「異常(特定)」であると判定するものであってもよい。
【0084】
図8は、イベントデータの正否判定(フォアキャスト)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)及び後の周期データ(Msg2)は、共に正常であると判定されている。イベントデータ(Msg1)の受信時点は、イベント送信許容期間内に含まれている。イベントデータ(Msg1)のペイロード値(シグナル値)は、ペイロード正常値範囲(シグナルA及びシグナルBそれぞれの正常値範囲)内となっている。従って、イベントデータ(Msg1)の受信時点及びペイロード値(シグナル値)が正常値範囲内である観点からは、イベントデータ(Msg1)は正常であるといえる。しかしながら、当該イベントデータ(Msg1)と同種のデータであり、直前に受信されたデータである周期データ(基準Msg)のペイロード値(シグナル値)との比較において、イベントデータ(Msg1)と周期データ(基準Msg)のペイロード値(全てのシグナル値)は同じ値となっている。
【0085】
イベントデータは、直前に送信された周期データのペイロード値が変更されるような事象(イベント)が発生した際、次回の送信周期にて送信される周期データよりも前に送信されるという送信特性を有する。従って、同種のデータ種別において、イベントデータのペイロード値と、当該イベントデータの直前に受信された周期データのペイロード値とが同じ値となることは、当該送信特性に反する。車載装置2の処理部20は、直前に受信された周期データのペイロード値と同じ値のペイロード値を有するイベントデータは、異常検知(特定)「異常(特定)」であると判定する。車載装置2の処理部20は、イベントデータの受信時点の直前に受信した周期データのペイロード値と、当該イベントデータのペイロード値とが、同一でない場合、すなわち異なる値である場合、当該イベントデータは、正常であると判定する。
【0086】
車載装置2の処理部20は、周期データのペイロード値と、イベントデータのペイロード値との同一性に基づき当該イベントデータの正否判定を行うところ、当該同一性の判定は値が完全一致する場合に限定されるものでなくてもよい。車載装置2の処理部20は、周期データとイベントデータとのペイロード値(シグナル値)の差異が所定値以下(実質的同一)である場合、イベントデータは異常であると判定し、周期データとイベントデータとのペイロード値(シグナル値)の差異が所定値を超える(実質的同一でない)場合、イベントデータは正常であると判定するものであってもよい。当該所定値が0の場合、ペイロード値(シグナル値)の完全一致を示すものとなるが、所定値を、例えば0に近接した比較的に小さい値にて設定することにより、イベントデータのデータ種別にて定まる送信特性に対し、柔軟に対応することができる。すなわち、ペイロード値(シグナル値)の比較(差異判定)に用いられる所定値(差異判定用閾値)は、イベントドリブン的に送信されるイベントデータのデータ種別等に応じて、例えばデータ種別テーブルによって個々に設定されるものであってもよい。
【0087】
図9は、イベントデータの正否判定(ペイロード変化)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)及び後の周期データ(Msg6)は、共に正常であると判定されている。その上で、イベント送信許容期間内において、5つのイベントデータ(Msg1から5)が受信されている。上述のとおり、イベントデータは、直前に送信された周期データのペイロード値が変更されるような事象(イベント)が発生した際、イベントドリブン的に送信されるという送信特性を有する。従って、同一のイベント送信許容期間において、当該事象(イベント)が複数回、発生した場合、事象(イベント)の発生に応じて都度、イベントデータの送信が複数回、実施される。
【0088】
本実施形態における図示において、これら複数のイベントデータ(Msg1から5)において、いずれのイベントデータのペイロード値は正常値範囲内であり、すなわちイベントデータのペイロード値そのものの観点からは、正常であるといえる。その上で、車載装置2の処理部20は、判定対象となるイベントデータの受信時点に対し、直前に受信した同種のデータ(周期データ又はイベントデータ)のペイロード値との比較を行う。先の周期データ(基準Msg:No.0)の受信時点の直後に受信したイベントデータ(Msg1)については、図8にて説明したとおり、当該周期データ(基準Msg:No.0)とイベントデータ(Msg1)のペイロード値との比較を行い、これらペイロード値が同一でない場合、イベントデータ(Msg1)は正常であると判定される。
【0089】
イベントデータ(Msg1)の受信時点以降に受信されたイベントデータ(Msg2から5)は、正常と判定されたイベントデータであって、かつ直前に受信されたイベントデータのペイロード値との比較により、正否判定が行われる。すなわち、イベントデータ(Msg2)は、イベントデータ(Msg1)とのペイロード値との比較により正否判定が行われ、これらペイロード値が異なる(実質的に同一でない)場合、正常であると判定される。同様に受信時点が連続する2つのイベントデータ(Msg2とMsg3、Msg3とMsg4)それぞれにおいても、ペイロード値の比較処理が行われる。
【0090】
2つのイベントデータ(Msg3とMsg4)においては、ペイロード値が同一となっている。従って、車載装置2の処理部20は、これら2つのイベントデータ(Msg3とMsg4)において、後に受信したイベントデータ(Msg4)は異常であると判定する。車載装置2の処理部20は、当該イベントデータ(Msg4)を異常検知(範囲)「異常(範囲)」として判定するものであってもよい。判定対象がイベントデータ(Msg5)の場合、当該イベントデータ(Msg5)に対し、正常と判定されたイベントデータであって、かつ直前に受信されたデータは、イベントデータ(Msg4)となる。すなわち、当該イベントデータ(Msg4)が、判定対象であるイベントデータ(Msg5)の正否判定を行う際、ペイロード値の比較に用いられるデータとなる。
【0091】
このように車載装置2の処理部20は、正常と既に判定されている先の周期データ(基準Msg:No.0)を基準に、当該周期データ(基準Msg:No.0)からペイロード値(シグナル値)の変化の有無に基づき、当該周期データの受信時点を基準に設定されるイベント送信許容期間にて受信された複数のイベントデータの正否判定を順次に行う処理(フォアキャスト処理)を実行する。これにより、所定の事象(イベント)が発生した際、すなわちに直前の送信時点に対しペイロード値(シグナル値)が変化した際、送信周期(設計周期)から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。
【0092】
図10は、イベントデータの正否判定(バックキャスト)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)及び後の周期データ(Msg2)は、共に正常であると判定されている。すなわち、後の周期データ(Msg2)は、先の周期データ(基準Msg)の受信時点を基準に設定された正常周期範囲において、唯一受信された同種のデータであり、かつ当該周期データ(Msg2)のペイロード値は正常値範囲内であるため、正常であると判定されている。イベントデータ(Msg1)は、イベント送信許容期間内に受信されており、ペイロード値(シグナル値)も正常値範囲内である。更に、イベントデータ(Msg1)のペイロード値(シグナル値)は、先の周期データ(基準Msg)のペイロード値(シグナル値)と異なっている(実質的に同一でない)ため、先の周期データ(基準Msg)からのペイロード値の変化を有するという観点から、当該イベントデータ(Msg1)は一見、正常であるといえる。これに対し、イベントデータ(Msg1)のペイロード値(シグナル値)と、後の周期データ(Msg2)のペイロード値(シグナル値)とは、異なっている。
【0093】
イベントデータは、直前に送信されたデータ(周期データ又はイベントデータ)のペイロード値が変更されるような事象(イベント)が発生した際、イベントドリブン的に送信される送信特性を有する。これに対し、周期データは、直前に送信されたデータ(周期データ又はイベントデータ)のペイロード値が変更されるような事象(イベント)が発生していない場合、周期的に送信される。従って、周期データの受信時点に対し、直前に受信されたイベントデータのペイロード値(シグナル値)と、当該周期データのペイロード値(シグナル値)とは、一致する(実質的に同一である)ことが想定される。当該一致(実質的に同一)するか否かの判定においては、上述した差異判定用閾値を用いて判定するものであってもよい。すなわち、同種のデータ種別において、イベントデータのペイロード値と、当該イベントデータの直後に受信された周期データのペイロード値とが異なる値となる(実質的に同一値とならない)ことは、当該送信特性に反する。
【0094】
車載装置2の処理部20は、イベント送信許容期間において最後に受信したイベントデータ(Msg1)のペイロード値(シグナル値)と、後の周期データ(Msg2)のペイロード値(シグナル値)との比較処理(バックキャスト処理)を行う。車載装置2の処理部20は、直後に受信された周期データのペイロード値と異なる値のペイロード値を有するイベントデータは、異常検知(特定)「異常(特定)」であると判定する。車載装置2の処理部20は、直後に受信された周期データのペイロード値と同じ(実質的に同一)値のペイロード値を有するイベントデータは、正常であると判定する。
【0095】
図11は、車載装置2の処理部20によるイベントデータに対する判定態様(判定テーブル)に関する説明図(マトリックス表)である。車載装置2の処理部20は、イベント送信許容期間において受信した1つ以上のイベントデータに対し、先の周期データのペイロード値からの変化の有無に基づく判定処理(フォアキャスト処理)と、後の周期データのペイロード値との同一性に基づく判定処理(バックキャスト処理)とを行う。
【0096】
この場合、例えば、イベント送信許容期間において最後に受信したイベントデータに対しては、フォアキャスト処理とバックキャスト処理との双方の判定処理が行われる。この際、車載装置2の処理部20が、フォアキャスト処理及びバックキャスト処理の結果を組み合わせ、最終的な結果判定を導出するものであってもよい。イベント送信許容期間において最後に受信したイベントデータ以外となる他のイベントデータは、フォアキャスト処理のみが行われ、車載装置2の処理部20が、当該フォアキャスト処理に基づき、最終的な結果判定を導出するものであってもよい。車載装置2の処理部20は、当該最終的な結果判定を導出するにあたり、例えば、マトリックス表形式にて示される判定テーブルを用いて、イベントデータに対する判定態様(最終的な結果判定)を導出するものであってもよい。
【0097】
判定テーブルは、記憶部21等、処理部20がアクセス可能な所定の記憶領域に記憶されている。マトリックス形式となる判定テーブルは、縦の管理項目となるフォアキャスト結果と、横の管理項目となるバックキャスト結果とを含む。
【0098】
フォアキャスト結果は、細項目として、OK(正常)、NG(異常)及び、異常(特定)の項目を含む。フォアキャスト結果がOK(正常)とは、フォアキャスト処理の判定結果が正常であることを示す。フォアキャスト結果がNG(異常)とは、フォアキャスト処理の判定結果が異常、すなわち判定対象のイベントデータのペイロード値(シグナル値)における変化が無いことを示す。フォアキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示す。
【0099】
バックキャスト結果は、細項目として、判定なし、OK(正常)、NG(異常)及び、異常(特定)の項目を含む。バックキャスト結果が判定なしとは、判定対象のイベントデータに対するバックキャスト処理が実行されなかったことを示す。バックキャスト結果がOK(正常)とは、バックキャスト処理の判定結果が正常であることを示す。バックキャスト結果がNG(異常)とは、バックキャスト処理の判定結果が異常、すなわち判定対象のイベントデータのペイロード値(シグナル値)が、直後に受信された周期データのペイロード値と異なる値である(実質的に同一値とならない)ことを示す。バックキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示す。
【0100】
車載装置2の処理部20は、フォアキャスト結果の細項目と、バックキャスト結果の細項目との組み合わせに基づき、最終的な結果判定を導出する。バックキャスト結果が判定なしの場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は正常となり、NG(異常)の場合の最終的な結果判定は異常検知(範囲)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。
【0101】
バックキャスト結果がOK(正常)の場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は正常となり、NG(異常)の場合の最終的な結果判定は異常検知(範囲)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。すなわち、バックキャスト結果とフォアキャスト結果とがOK(正常)とNG(異常)とで異なる場合、異常検知(範囲)となる。
【0102】
バックキャスト結果がNG(異常)の場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は異常検知(範囲)となり、NG(異常)の場合の最終的な結果判定は異常検知(特定)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。すなわち、バックキャスト結果とフォアキャスト結果とが共にNG(異常)となる場合、異常検知(特定)となる。
【0103】
バックキャスト結果が異常(特定)の場合、フォアキャスト結果に関係なく、全て異常検知(特定)となる。バックキャスト結果又はフォアキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示すものである。この場合、車載装置2の処理部20は、判定対象のイベントデータのペイロード値(シグナル値)と、他のデータ(周期データ又はイベントデータ)と比較することなく、当該判定対象のイベントデータは異常、すなわち異常検知(特定)に該当するデータであると判定するものであってもよい。
【0104】
図12は、車載装置2の処理部20の処理を例示するフローチャートである。車載装置2の処理部20は、例えば車両Cが起動状態(IGスイッチ6又はパワースイッチがオン)又は停止状態(IGスイッチ6又はパワースイッチがオフ)において、定常的に以下の処理を行う。
【0105】
車載装置2の処理部20は、受信した基準となる周期データ(基準データ)に基づき、イベントデータ送信禁止期間及び正常周期範囲を設定する(S101)。車載装置2の処理部20は、周期的に送信される周期データを受信する都度、当該受信した周期データが正常であるか否かを判定している。車載装置2の処理部20は、正常であると判定した周期データ(基準データ)の受信時点に基づき、例えば、データ種別テーブルを参照して、イベントデータ送信禁止期間及び正常周期範囲(今回の正常周期範囲)を設定する。
【0106】
車載装置2の処理部20は、記憶部21に、受信したイベントデータに関する事項を記憶する(S102)。車載装置2の処理部20は、受信した基準となる周期データ(基準データ)の受信時点から、設定した正常周期範囲の下限時点(limit-low)までの期間において受信したイベントデータに関する事項(連番、受信時点等)を、例えばリスト形式(データ受信リスト)にて記憶部21に記憶する。車載装置2の処理部20は、正常周期範囲にて受信した周期データについても、データ受信リストに格納(追記)することにより、記憶部21に記憶するものであってもよい。
【0107】
受信した基準となる周期データ(基準データ)の受信時点から、設定した正常周期範囲の下限時点(limit-low)までの期間は、イベント送信が禁止されるイベントデータ送信禁止期間と、イベント送信が許容されるイベント送信許容期間とを含む。イベントデータ送信禁止期間とイベント送信許容期間とは、経時的に連続するものとなり、すなわちイベントデータ送信禁止期間が終了直後、イベント送信許容期間が開始されるものとなる。イベント送信許容期間の終了直後、正常周期範囲の期間が開始される。
【0108】
車載装置2の処理部20は、これらイベントデータ送信禁止期間及びイベント送信許容期間にて受信したデータを、正否判定の対象となるイベントデータ(正常周期範囲外Msg)として取得する。当該イベントデータ送信禁止期間及びイベント送信許容期間は、正常周期範囲外の期間に相当する。車載装置2の処理部20は、正常周期範囲内にて受信したデータを、正否判定の対象となる周期データ(正常周期範囲内Msg)として取得する。車載装置2の処理部20は、正常周期範囲内にてデータを受信しなかった場合、すなわち正常周期範囲内にて受信したデータの個数が0の場合についても、当該正常周期範囲にて定められる期間の経過後、以降の処理を実行する。
【0109】
車載装置2の処理部20は、受信したイベントデータの受信時点がイベントデータ送信禁止期間内であるか否かを判定する(S103)。イベントデータの受信時点がイベントデータ送信禁止期間内である場合(S103:YES)、車載装置2の処理部20は、当該イベントデータは異常(異常検知(特定))であると判定する(S1031)。
【0110】
イベントデータの受信時点がイベントデータ送信禁止期間内でない場合(S103:NO)、すなわちイベントデータの受信時点がイベント送信許容期間内である場合、車載装置2の処理部20は、正常周期範囲に受信した周期データは1つであるか否かを判定する(S104)。正常周期範囲に取得した周期データが1つでない場合(S104:NO)、すなわち正常周期範囲に取得した周期データが0(無し)又は複数である場合、車載装置2の処理部20は、受信したイベントデータ及び複数の周期データを異常(異常検知(範囲))であると判定する(S1041)。又は、車載装置2の処理部20は、正常周期範囲に取得した周期データが0(無し)又は複数である場合、イベントデータ送信禁止期間に受信したイベントデータに対しては、異常検知(特定)であると判定するものであってもよい。この場合、車載装置2の処理部20は、イベント送信許容期間受信したイベントデータに対しては、例えば当該イベントデータのデータ種別に応じて、前述した処理形態(パターンAからD)におけるいずれかの判定処理を行うものであってもよい。
【0111】
正常周期範囲に取得した周期データが1つである場合(S104:YES)、車載装置2の処理部20は、判定対象のイベントデータのペイロード値が、正常値範囲内であるか否かを判定する(S105)。正常周期範囲(今回の正常周期範囲)に取得した周期データが1つであり、かつ当該周期データのペイロード値が正常値範囲内である場合、車載装置2の処理部20は、当該周期データは正常であると判定する。これにより、連続して受信した2つの周期データ(先の周期データ、及び後の周期データ)は共に正常であり、これら2つの周期データの受信時点間にて受信された1つ以上のイベントデータに対し、周期データのペイロード値との比較に基づき判定処理を開始するための前提条件が満たされるものとなる。
【0112】
車載装置2の処理部20は、記憶部21に記憶されているデータ受信リストを参照し、受信時点が古いイベントデータ、換言すると先の周期データ(基準データ)の受信時点に最も近接する受信時点のイベントデータから、順次に判定処理を開始する。すなわち、基準となる周期データ(基準データ)の直後に受信したイベントデータが、受信時点が最も古いイベントデータに相当する。
【0113】
正常値範囲内でない場合(S105:NO)、車載装置2の処理部20は、判定対象のイベントデータは異常(異常検知(特定))であると判定する(S1051)。判定対象のイベントデータのペイロード値が、正常値範囲内でない場合、すなわちイベントデータのペイロード領域に含まれるいずれかのシグナル値が正常値範囲内でない場合、車載装置2の処理部20は、判定対象のイベントデータは異常(異常検知(特定))であると判定する。
【0114】
正常値範囲内である場合(S105:YES)、車載装置2の処理部20は、判定対象となるイベントデータのペイロード値が、直前に受信され、かつ正常と判定されたデータのペイロード値と異なるか否か、すなわち、ペイロード値は変化しているか否かを判定する(S106)。判定対象のイベントデータのペイロード値が正常値範囲内(全てのシグナル値が正常値範囲内)である場合、車載装置2の処理部20は、当該ペイロード値が、直前に受信され、かつ正常と判定されたデータのペイロード値と異なるか否か、すなわちペイロード値が変化しているか否かを判定する。
【0115】
判定対象のイベントデータが、基準となる先の周期データ(基準データ)の受信時点の直後に受信された場合、車載装置2の処理部20は、当該イベントデータと先の周期データとのペイロード値、すなわちシグナル値それぞれにおいて、変化しているか(異なるか)否かを判定する。判定対象のイベントデータが、既に正常と判定されたイベントデータの受信時点の直後に受信された場合、車載装置2の処理部20は、当該判定対象のイベントデータと、既に正常と判定されたイベントデータとのペイロード値(シグナル値それぞれ)において、変化しているか(異なるか)否かを判定する。上述のとおり、車載装置2の処理部20は、データ受信リストにて受信時点に応じて時系列に格納されているイベントデータに対し、順次に判定処理を行っているため、判定対象のイベントデータに対し比較対象となるデータ(直前に受信され、かつ正常と判定された周期データ又はイベントデータ)を効率的に特定することができる。
【0116】
ペイロード値が変化していない(異ならない)場合(S106:NO)、車載装置2の処理部20は、判定対象となるイベントデータは異常(異常検知(範囲))であると判定する(S1061)。イベントデータは、ペイロード値が変更されるような事象(イベント)が発生した際、イベントドリブン的に送信される送信特性を有する。従って、車載装置2の処理部20は、ペイロード値が変化していない(異ならない)場合、すなわち比較対象となるデータ(直前に受信され、かつ正常と判定された周期データ又はイベントデータ)のペイロード値と同じペイロード値を有するイベントデータは、異常(異常検知(範囲))であると判定する。
【0117】
ペイロード値が変化している(異なる)場合(S106:YES)、車載装置2の処理部20は、判定対象となるイベントデータは正常であると判定する(S107)。車載装置2の処理部20は、ペイロード値が変化している(異なる)場合、すなわち比較対象となるデータ(直前に受信され、かつ正常と判定された周期データ又はイベントデータ)のペイロード値と異なるペイロード値を有するイベントデータは、一旦、正常であると判定する。車載装置2の処理部20は、判定対象であるイベントデータに対する判定結果を、データ受信リストにおけるフォアキャスト結果のフィールドに追記する。
【0118】
車載装置2の処理部20は、受信した全てのイベントデータに対する判定が終了したか否かを判定する(S108)。車載装置2の処理部20は、記憶部21に記憶されているデータ受信リストを参照することにより、全てのイベントデータに対する判定が終了したが、すなわち判定処理が未実施なイベントデータの有無を判定する。
【0119】
全てのイベントデータに対する判定が終了していない場合(S108:NO)、車載装置2の処理部20は、再度S103の処理を実行すべく、ループ処理を行う。この際、車載装置2の処理部20は、データ受信リストを参照し、今回の処理で判定したイベントデータの次に受信したイベントデータを判定対象として、S103からの処理を実行する。これにより、受信した複数のイベントデータに対し、受信時点が古いイベントデータから順次に判定処理(フォアキャスト処理)を行うことができる。
【0120】
全てのイベントデータに対する判定が終了した場合(S108:YES)、車載装置2の処理部20は、最後に受信したイベントデータと、後に受信した周期データとのペイロード値が同一であるか否かを判定する(S109)。全てのイベントデータに対する判定(フォアキャスト処理)が終了した場合、車載装置2の処理部20は、イベント送信許容期間において最後に受信したイベントデータと、後と受信した周期データとのペイロード値が同一であるか否かを判定する処理(バックキャスト処理)を実行する。
【0121】
ペイロード値が同一である場合(S109:YES)、車載装置2の処理部20は、判定対象となるイベントデータは正常であると判定する(S110)。ペイロード値が同一である場合、すなわち最後に受信したイベントデータと、後と受信した周期データとのペイロード値(全てのシグナル値)が同一である場合、車載装置2の処理部20は、判定対象となるイベントデータは正常であると判定する。
【0122】
ペイロード値が同一でない場合(S109:NO)、車載装置2の処理部20は、判定対象となるイベントデータは異常(異常検知(範囲))であると判定する(S1091)。ペイロード値が同一でない場合、すなわち最後に受信したイベントデータと、後と受信した周期データとのペイロード値(いずれかのシグナル値)が異なる場合、車載装置2の処理部20は、判定対象となるイベントデータは異常(異常検知(範囲))であると判定する。車載装置2の処理部20は、判定対象であるイベントデータに対する判定結果を、データ受信リストにおけるバックキャスト結果のフィールドに追記する。
【0123】
車載装置2の処理部20は、判定対象となるイベントデータそれぞれに対し、フォアキャスト結果及びバックキャスト結果に応じて、最終的な判定結果を導出する(S111)。車載装置2の処理部20は、判定対象となるイベントデータそれぞれに対し、データ受信リストにおけるフォアキャスト結果及びバックキャスト結果に応じて、最終的な判定結果を導出する。車載装置2の処理部20は、判定対象となるイベントデータそれぞれにおいて、フォアキャスト結果のみを有するイベントデータについては、当該フォアキャスト結果を最終的な判定結果として導出する。
【0124】
車載装置2の処理部20は、判定対象となるイベントデータそれぞれにおいて、フォアキャスト結果及びバックキャスト結果を有するイベントデータについては、当該フォアキャスト結果とバックキャスト結果との組み合わせに基づき、最終的な判定結果として導出する。
車載装置2の処理部20は、例えば、記憶部21に記憶されている判定テーブルを参照して、フォアキャスト結果とバックキャスト結果との組み合わせに基づき、最終的な判定結果として導出するものであってもよい。
【0125】
フォアキャスト結果及びバックキャスト結果が共に正常(OK)である場合、車載装置2の処理部20は、イベントデータは正常である旨を最終的な判定結果として導出するものであってもよい。フォアキャスト結果及びバックキャスト結果が共に異常(NG)である場合、車載装置2の処理部20は、イベントデータは異常(異常検知(特定))である旨を最終的な判定結果として導出するものであってもよい。フォアキャスト結果及びバックキャスト結果が異なる場合、車載装置2の処理部20は、イベントデータは異常(異常検知(範囲))である旨を最終的な判定結果として導出するものであってもよい。
【0126】
車載装置2の処理部20は、導出した最終的な判定結果をデータ受信リストに格納(追記)することにより、ログ情報として記憶部21に記憶するものであってもよい。車載装置2の処理部20は、ログ情報として記憶したデータ受信リストを、外部サーバ100又は表示装置5に出力するものであってもよい。
【0127】
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0128】
特許請求の範囲に記載されている複数の請求項に関して、引用形式に関わらず、相互に組み合わせることが可能である。特許請求の範囲では、複数の請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項が記載されていない場合であっても、これは、多項従属請求項に従属する多項従属請求項の記載を制限するものではない。
【符号の説明】
【0129】
C 車両
S 車載システム
100 外部サーバ
1 車外通信装置
11 アンテナ
2 車載装置(車載中継装置)
20 処理部(制御部)
21 記憶部
P プログラム(プログラム製品)
M 記録媒体
22 入出力I/F
23 車内通信部
3 車載ECU
4 車載ネットワーク
41 通信線
5 表示装置(HMI装置)
6 IGスイッチ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12