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

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

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

特開2024-134398車載装置、プログラム及び情報処理方法
<>
  • 特開-車載装置、プログラム及び情報処理方法 図1
  • 特開-車載装置、プログラム及び情報処理方法 図2
  • 特開-車載装置、プログラム及び情報処理方法 図3
  • 特開-車載装置、プログラム及び情報処理方法 図4
  • 特開-車載装置、プログラム及び情報処理方法 図5
  • 特開-車載装置、プログラム及び情報処理方法 図6
  • 特開-車載装置、プログラム及び情報処理方法 図7
  • 特開-車載装置、プログラム及び情報処理方法 図8
  • 特開-車載装置、プログラム及び情報処理方法 図9
  • 特開-車載装置、プログラム及び情報処理方法 図10
  • 特開-車載装置、プログラム及び情報処理方法 図11
  • 特開-車載装置、プログラム及び情報処理方法 図12
  • 特開-車載装置、プログラム及び情報処理方法 図13
  • 特開-車載装置、プログラム及び情報処理方法 図14
  • 特開-車載装置、プログラム及び情報処理方法 図15
  • 特開-車載装置、プログラム及び情報処理方法 図16
  • 特開-車載装置、プログラム及び情報処理方法 図17
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024134398
(43)【公開日】2024-10-03
(54)【発明の名称】車載装置、プログラム及び情報処理方法
(51)【国際特許分類】
   H04L 12/28 20060101AFI20240926BHJP
   H04L 43/08 20220101ALI20240926BHJP
【FI】
H04L12/28 100A
H04L43/08
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2023044681
(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つのイベントデータの受信時点の間隔が、イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、連続して受信した2つのイベントデータの受信時点の間隔がイベントデータ送信禁止期間よりも長い場合、イベントデータの正否の判定を行う。
【選択図】図17
【特許請求の範囲】
【請求項1】
車両に搭載される車載ネットワークに接続される車載装置であって、
前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、
前記処理部は、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、
連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、
連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、前記イベントデータのペイロードの値に関する正否の判定を行う
車載装置。
【請求項2】
連続して受信した2つの周期データの受信時点間において、複数受信した同種のイベントデータそれぞれの前記イベントデータ送信禁止期間は、同一の期間に設定されている
請求項1に記載の車載装置。
【請求項3】
前記処理部は、
連続して受信した2つの周期データの内、先に受信した周期データの受信時点を基準とした正常周期範囲を設定し、
複数受信したイベントデータの内、いずれかのイベントデータの受信時点を基準とした前記イベントデータ送信禁止期間が前記正常周期範囲と重複する場合、前記イベントデータ送信禁止期間の終了時点が前記正常周期範囲の開始時点よりも前の時点となるように、前記イベントデータ送信禁止期間を短縮する
請求項1に記載の車載装置。
【請求項4】
前記処理部は、
連続して受信した2つの周期データの内、後に受信した周期データのペイロードの値と、前記後に受信した周期データの直前に受信したイベントデータのペイロードの値との差異が所定値以下である場合、前記直前に受信したイベントデータは正常であると判定し、
前記正常であると判定されたイベントデータのペイロードの値と、前記正常であると判定されたイベントデータよりも前に受信された他のイベントデータのペイロードの値とに基づき、前記他のイベントデータの正否の判定を行う
請求項1に記載の車載装置。
【請求項5】
前記処理部は、
前記複数のイベントデータそれぞれのペイロードの値の変化に基づき、前記複数のイベントデータに対する正否の判定を行い、
連続して受信した2つのイベントデータのペイロードの値に変化がない場合、連続した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定する
請求項4に記載の車載装置。
【請求項6】
前記処理部は、
連続して受信した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定した場合、前記異常と判定したイベントデータよりも以前に受信した他のイベントデータに対し、前記正常と判定されたイベントデータ又は前記後に受信した周期データのペイロードの値との比較に基づく判定処理を中止する
請求項5に記載の車載装置。
【請求項7】
前記処理部は、
連続して受信した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定した場合、前記異常と判定したイベントデータよりも以前に受信した他のイベントデータに対し、前記正常と判定されたイベントデータ又は前記後に受信した周期データのペイロードの値との比較に基づく判定処理を継続する
請求項5に記載の車載装置。
【請求項8】
前記処理部は、
先に受信した周期データの受信時点を基準とし、前記周期データの種別に基づき決定される送信周期を基準値として上限値及び下限値が設定された正常周期範囲において、複数の周期データを受信した場合、複数の周期データそれぞれのペイロードの値が、周期データの種別に応じて予め定められている正常値の範囲内であるかを判定し、
前記周期データのペイロードの値が前記正常値範囲内でないと判定した場合、前記周期データは異常であると判定する
請求項1に記載の車載装置。
【請求項9】
前記処理部は、
前記周期データのペイロードの値が前記正常値の範囲内であると判定した場合、前記正常周期の範囲において受信した複数の周期データのうち、連続して受信した2つの周期データの受信時点の間隔が、前記イベントデータ送信禁止期間よりも長いか否かを判定し、
連続した受信した2つの周期データの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い期間でない場合、連続した受信した2つの周期データの内、少なくともいずれかの周期データは異常であると判定し、
連続した受信した2つの周期データの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、連続した受信した2つの周期データは正常であると判定する
請求項8に記載の車載装置。
【請求項10】
車載ネットワークに接続されるコンピュータに、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、
連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、
連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、前記イベントデータのペイロードの値に関する正否の判定を行う
処理を実行させるプログラム。
【請求項11】
車載ネットワークに接続されるコンピュータに、
前記車載ネットワークにて周期的に送信される周期データを受信し、
連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、
連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した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つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、前記イベントデータのペイロードの値に関する正否の判定を行う。
【発明の効果】
【0008】
本開示の一態様によれば、周期的にデータが送信される通信形態において、効率的に異常なデータを検出する車載装置等を提供することができる。
【図面の簡単な説明】
【0009】
図1】実施形態1に係る車載装置を含む車載システムの構成を例示する模式図である。
図2】車載装置の物理構成を例示するブロック図である。
図3】データ種別テーブルに関する説明図である。
図4】データ受信リストに関する説明図である。
図5】イベントデータの正否判定(イベントデータ送信禁止期間)に関する説明図である。
図6】イベントデータにおけるイベントデータ送信禁止期間(固定)に関する説明図である。
図7】イベントデータにおけるイベントデータ送信禁止期間(可変)に関する説明図である。
図8】イベントデータの正否判定(バックキャスト:パターン1)に関する説明図である。
図9】イベントデータの正否判定(ペイロード変化:パターン1)に関する説明図である。
図10】イベントデータの正否判定(バックキャスト:パターン2)に関する説明図である。
図11】イベントデータの正否判定(ペイロード変化:パターン2)に関する説明図である。
図12】車載装置の処理部によるイベントデータに対する判定態様(判定テーブル)に関する説明図(マトリックス表)である。
図13】車載装置の処理部の処理を例示するフローチャート(メイン処理)である。
図14】車載装置の処理部の処理を例示するフローチャート(バックキャスト処理)である。
図15】実施形態2(正常周期範囲での複数受信)に係る複数の周期データの正否判定(ペイロード値)に関する説明図である。
図16】複数の周期データの正否判定(イベントデータ送信禁止期間)に関する説明図である。
図17】車載装置の処理部の処理を例示するフローチャートである。
【発明を実施するための形態】
【0010】
[本開示の実施形態の説明]
最初に本開示の実施態様を列挙して説明する。また、以下に記載する実施形態の少なくとも一部を任意に組み合わせてもよい。
【0011】
(1)本開示の一態様に係る車載装置は、車両に搭載される車載ネットワークに接続される車載装置であって、前記車載ネットワークに流れるデータの正否の判定に関する処理を行う処理部を備え、前記処理部は、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した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つのイベントデータの受信時点間隔と、イベントデータ送信禁止期間の長さとの比較に基づき、当該連続して受信した2つのイベントデータの正否判定を行う。イベントデータ送信禁止期間とは、イベントデータが送信された後、当該イベントデータの送信時点を基準として、次のイベントデータの送信を禁止するイベントデータ送信禁止時間が経過するまでの期間を示す。車載装置の処理部は、連続して受信した2つのイベントデータの受信時点間隔が、イベントデータ送信禁止期間よりも長い(大きい)場合、イベントデータの送信タイミングの検知からは、これら2つのイベントデータは正常であると一旦判定し、当該イベントデータのペイロードの値(ペイロード値)に基づき、更なる判定処理を行う。車載装置の処理部は、連続して受信した2つのイベントデータの受信時点間隔が、イベントデータ送信禁止期間よりも長くない場合、すなわち、イベントデータ送信禁止期間以下となる場合、これら2つのイベントデータのうち、少なくともいずれかのイベントデータは異常であると判定する。この場合、車載装置の処理部は、当該2つのイベントデータを共に異常検知(範囲)「異常(範囲)」と判定するものであってもよい。連続して受信した2つのイベントデータの受信時点間隔が、イベントデータ送信禁止期間以下となるとは、連続して受信した2つのイベントデータにおいて、後に受信したイベントデータの受信時点が、先に受信したイベントデータの受信時点を基準としたイベントデータ送信禁止期間の範囲に含まれることを意味する。イベントデータ送信禁止期間を用いてイベントデータの送信タイミングを制御する車載システムにおいて、イベントデータの受信時点がイベントデータ送信禁止期間内となる場合、例えば攻撃等による不正(異常)なデータが送信されたことが、想定される。これに対し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合であっても、これらイベントデータの受信時点間隔とイベントデータ送信禁止期間との対比を行うことにより、イベントデータの送信タイミングの検知から、イベントデータの正否に関する1次判定を行う効率的に行うことができる。本実施形態において、車載装置の処理部によるデータの正否の判定は、当該データ(イベントデータ、周期データ)が正常であるか異常であるかの判定処理を実行することを意図する。その上で、判定処理の結果として、車載装置の処理部は、当該データは異常、又は正常であると判定し、当該判定結果(異常判定、又は正常判定)を記憶部に記憶又は出力する。
【0013】
(2)本開示の一態様に係る車載装置は、連続して受信した2つの周期データの受信時点間において、複数受信した同種のイベントデータそれぞれの前記イベントデータ送信禁止期間は、同一に設定されている。
【0014】
本態様にあたっては、処理部は、連続して受信した2つの周期データの受信時点間にて、イベントデータを複数受信した場合、これらイベントデータそれぞれの受信時点を基準としたイベントデータ送信禁止期間を可変することなく、すなわち当該イベントデータ送信禁止期間の長さを示すイベントデータ送信禁止時間を同一の値として、判定処理を行う。このようにイベントデータ送信禁止期間(イベントデータ送信禁止時間)を動的に変化させることなく、周期データ及びイベントデータを含むデータの種類(データ種別)に応じて予め定められている値を同一的に用いることにより、判定処理に関するロジック設計を簡易化でき、処理部による処理負荷が増加することを抑制することができる。
【0015】
(3)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つの周期データの内、先に受信した周期データの受信時点を基準とした正常周期範囲を設定し、複数受信したイベントデータの内、いずれかのイベントデータの受信時点を基準とした前記イベントデータ送信禁止期間が前記正常周期範囲と重複する場合、前記イベントデータ送信禁止期間の終了時点が前記正常周期範囲の開始時点よりも前となるように、前記イベントデータ送信禁止期間を短縮する。
【0016】
本態様にあたっては、処理部は、連続して受信した2つの周期データの受信時点間にて、イベントデータを複数受信した場合、これらイベントデータそれぞれの受信時点を基準としたイベントデータ送信禁止期間を、先に受信した周期データの受信時点を基準とした正常周期範囲との重複の有無に応じて、短縮する。連続して受信した2つの周期データの受信時点間において、複数のイベントデータを受信した場合、これらイベントデータの受信時点か時系列に並ぶ。この際、最後に受信したイベントデータの受信時点と、連続して受信した2つの周期データにおける後の周期データの受信時点との間隔は、最初に受信したイベントデータの受信時点と、当該後の周期データの受信時点との間隔よりも短いものとなる。従って、最初に受信したイベントデータの受信時点を基準としたイベントデータ送信禁止期間と、正常周期範囲とが重複しない場合であっても、最後に受信したイベントデータの受信時点を基準としたイベントデータ送信禁止期間と、正常周期範囲とが重複する場合が発生することが想定される。このようにいずれかのイベントデータによるイベントデータ送信禁止期間と、先に受信した周期データの受信時点を基準とした正常周期範囲とが重複する場合、当該重複した期間(重複期間)にて受信したデータ(周期データ又はイベントデータ)に対する処理態様が、複雑化することが想定される。これに対し、処理部は、イベントデータ送信禁止期間と正常周期範囲とが重複する場合、イベントデータ送信禁止期間の終了時点が、正常周期範囲の開始時点よりも前となるように、イベントデータ送信禁止期間を短縮するため、当該重複期間が発生することを確実に防止することができる。これにより、正常周期範囲にて受信した後の周期データに関する処理に対し、イベントデータの受信による影響が及ぶことが発生することを防止し、当該後の周期データに関する処理を効率的に行うことができる。
【0017】
(4)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つの周期データの内、後に受信した周期データのペイロードの値と、前記後に受信した周期データの直前に受信したイベントデータのペイロードの値との差異が所定値以下である場合、前記直前に受信したイベントデータは正常であると判定し、前記正常であると判定されたイベントデータのペイロードの値と、前記正常であると判定されたイベントデータよりも前に受信された他のイベントデータのペイロードの値とに基づき、前記他のイベントデータの正否の判定を行う。
【0018】
本態様にあたっては、イベントデータは、直前に送信された周期データのペイロード値が変更されるような事象(イベント)が発生した際、次回の送信周期にて送信される周期データよりも前に送信されるという送信特性を有する。この場合、イベントデータの受信時点の直後に受信した周期データ(連続して受信した2つの周期データの内、後に受信した周期データ)のペイロード値(シグナル値)は、当該イベントデータのペイロード値(シグナル値)と実質的に同一となることが、製品仕様上、想定されるものとなる。車載装置の処理部は、ペイロード値の差異を判定する際に用いられる所定値(差異判定用閾値)を用いて、ペイロード値の実質的同一性を判定するにあたり、当該所定値(差異判定用閾値)を、0又は0に近接した比較的に小さい値にて設定するものであってもよい。これにより、車載装置の処理部は、これらペイロード値(シグナル値)との差異が0以下、すなわち、これらペイロード値が同じ値(完全一致)の場合、イベントデータは正常であると判定する。車載装置の処理部は、これらペイロード値(シグナル値)との差異が0を超える、すなわち、これらペイロード値が異なる場合、イベントデータは異常であると判定する。このような処理を行うことにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。更に、車載装置の処理部は、当該後に受信した周期データのペイロード値との比較処理(バックキャスト処理)と同様の処理を、連続して受信した2つのイベントデータに対しても同様に行う。すなわち、車載装置の処理部は、後の周期データの直前に受信したイベントデータのみならず、当該直前に受信したイベントデータよりも前に受信したイベントデータに対しても比較処理(バックキャスト処理)を行う。車載装置の処理部は、このように連続して受信した2つのイベントデータに対して、正常と判定された後のイベントデータのペイロード値との比較処理(バックキャスト処理)を遡及的に順次に行うことにより、全てのイベントデータに対し、当該比較処理(バックキャスト処理)を行うものであってもよい。又は、車載装置の処理部は、受信時点が時系列に並ぶ複数(3つ以上)のイベントデータにおいて、受信時点が連続する2つのイベントデータにおける比較処理(バックキャスト処理)を遡及的に順次に実施し、いずれかのイベントデータが異常であると判定した場合、当該比較処理(バックキャスト処理)を中止するものであってもよい。このように、後に受信した周期データのペイロード値を基準とした比較処理(バックキャスト処理)を、複数のイベントデータに対し、遡及的に順次に行うことにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。更に、車載装置の処理部は、当該後に受信した周期データのペイロード値との比較処理(バックキャスト処理)と、先に受信した周期データの周期データのペイロード値との比較処理(フォアキャスト処理)とを併せて行うものであってもよい。この際、車載装置の処理部は、バックキャスト処理とフォアキャスト処理とを、マルチコア又はマルチCPUのハードウェアリソースを用いて、並列計算(並列処理)するものであってもよい。このようにイベントデータに対する複数の処理を並列化することにより、当該イベントデータの正否判定処理に要する処理時間(エラップスタイム)を低減させることができる。
【0019】
(5)本開示の一態様に係る車載装置は、前記処理部は、前記複数のイベントデータそれぞれのペイロードの値の変化に基づき、前記複数のイベントデータに対する正否の判定を行い、連続して受信した2つのイベントデータのペイロードの値に変化がない場合、連続した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定する。
【0020】
本態様にあたっては、車載装置の処理部は、連続して受信した2つの周期データの受信時点間において、当該周期データと同種のイベントデータが送信された場合、これら送信された全てのイベントデータを受信し、当該イベントデータそれぞれの受信時点を関連付けて、車載装置の記憶部に記憶する。この際、連続して受信した2つの周期データについても、それぞれの受信時点と関連付けて記憶部に記憶するものであってもよい。この際、車載装置の処理部は、連続して受信した2つの周期データの受信時点間において、複数のイベントデータを受信した場合、これら複数のイベントデータは受信時点に応じて時系列に並ぶものとなる。車載装置の処理部は、受信時点に時系列に並ぶ複数のイベントデータにおいて、これら複数のイベントデータそれぞれのペイロードの値の変化に基づき、複数のイベントデータに対する正否の判定を行う。車載装置の処理部は、これら複数のイベントデータそれぞれのペイロードの値における変化が有る場合は、イベントデータは正常であると判定し、変化がない場合は、イベントデータは異常であると判定する。車載装置の処理部は、受信時点にて隣接する2つのイベントデータにおけるペイロードの値の変化の有無、又は変化の程度(変化度合)に応じて、これらイベントデータに対する正否の判定を行う。これにより、所定の事象(イベント)が発生した際に送信周期から外れて送信されるというイベントデータの送信特性に応じて、当該イベントデータの正否の判定を効率的に行うことができる。
【0021】
(6)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定した場合、前記異常と判定したイベントデータよりも以前に受信した他のイベントデータに対し、前記正常と判定されたイベントデータ又は前記後に受信した周期データのペイロードの値との比較に基づく判定処理を中止する。
【0022】
本態様にあたっては、車載装置の処理部は、後に受信した周期データのペイロード値を基準とした比較処理(バックキャスト処理)を、複数のイベントデータに対し、遡及的に順次に行う。この場合、後に受信した周期データの直前に受信したイベントデータは、当該後に受信した周期データのペイロード値との比較(実質的に同一であるか否か)に基づき、正否が判定される。当該直前に受信したイベントデータが正常であると判定された場合、正常と判定されたイベントデータの直前に受信したイベントデータは、当該正常と判定されたイベントデータのペイロード値との比較(値が異なるか否か)に基づき、正否が判定される。車載装置の処理部は、このように受信時点が連続する2つのイベントデータにおいて、後に受信し、かつ正常と判定されたイベントデータのペイロード値と、先に受信したイベントデータのペイロード値が異なる(実質的に同一でない)場合、当該先に受信したイベントデータは正常であると判定する。車載装置の処理部は、このように受信時点が連続する2つのイベントデータにおいて、後に受信し、かつ正常と判定されたイベントデータのペイロード値と、先に受信したイベントデータのペイロード値が異ならない(実質的に同一であり、変化がない)場合、当該先に受信したイベントデータは異常であると判定する。車載装置の処理部は、イベントデータは異常であると判定した場合、当該異常であると判定されたイベントデータよりも以前に受信したイベントデータに対する判定処理を行うことなく、バックキャスト処理を中止する。車載装置の処理部は、このように時系列に並ぶ複数のイベントデータにおいて、後の周期データの受信時点に近接するイベントデータから順次にバックキャスト処理による正否判定を行うにあたり、いずれかのイベントデータが異常であると判定された場合、当該バックキャスト処理を中止する。これにより、異常と判定されたイベントデータよりも以前に受信された他のイベントデータ、すなわち当該異常と判定されたイベントデータの受信時点よりも、先の周期データの受信時点に近接する受信時点となる他のイベントデータに対するバックキャスト処理を不要とすることができ、処理部による処理負荷を低減することができる。
【0023】
(7)本開示の一態様に係る車載装置は、前記処理部は、連続して受信した2つのイベントデータの内、少なくとも1つのイベントデータは異常であると判定した場合、前記異常と判定したイベントデータよりも以前に受信した他のイベントデータに対し、前記正常と判定されたイベントデータ又は前記後に受信した周期データのペイロードの値との比較に基づく判定処理を継続する。
【0024】
本態様にあたっては、車載装置の処理部は、後に受信した周期データのペイロード値を基準とした比較処理(バックキャスト処理)を、複数のイベントデータに対し、遡及的に順次に行うことにより、全てのイベントデータに対し、正否の判定を行う。この場合、いずれかのイベントデータは異常であると判定した場合、当該異常であると判定されたイベントデータの直前に受信したイベントデータの正否判定は、当該異常であると判定されたイベントデータの正否判定に用いたイベントデータ又は後の周期データによって、行われる。異常であると判定されたイベントデータの正否判定に用いたイベントデータとは、異常であると判定されたイベントデータの受信時点に最も近接する受信時点のイベントデータであって、バックキャスト処理により既に正常と判定されたイベントデータである。異常であると判定されたイベントデータの受信時点に最も近接する受信時点のイベントデータであって、バックキャスト処理により既に正常と判定されたイベントデータが存在しない場合、当該異常であると判定されたイベントデータの正否判定は、後の周期データによって行われたものとなる。このように受信時点が時系列に並ぶ複数のイベントデータに対し、バックキャスト処理を遡及的に行うことにより、いずれかのイベントデータは異常であると判定された場合が、想定される。これに対し、当該異常判定されたイベントデータの受信時点に最も近接する受信時点のデータ(イベントデータ又は後の周期データ)であって、既に正常と判定されたデータ(イベントデータ又は後の周期データ)のペイロード値と比較することにより、全てのイベントデータの正否の判定を効率的に行うことができる。
【0025】
(8)本開示の一態様に係る車載装置は、前記処理部は、先に受信した周期データの受信時点を基準とし、前記周期データの種別に基づき決定される送信周期を基準値として上下限値が設定された正常周期範囲において、複数の周期データを受信した場合、複数の周期データそれぞれのペイロードの値が、周期データの種別に応じて予め定められている正常値範囲内であるかを判定し、前記周期データのペイロードの値が前記正常値範囲内でないと判定した場合、前記周期データは異常であると判定する。
【0026】
本態様にあたっては、イベントデータ及び周期データは、例えばメッセージID又はポート番号等にて定まるデータの種別に応じて、当該データに含まれるペイロード値(シグナル値)の正常値範囲、すなわちペイロード値(シグナル値)が取り得る値の範囲が、予め定められている。これらデータの種別に応じた正常値範囲は、例えば、テーブル形式(データ種別テーブル)にて記憶部に記憶されているものであってもよい。車載装置の処理部は、例えば、当該データ種別テーブルを参照して、同じ正常周期範囲内にて受信した複数の周期データそれぞれのペイロード値(シグナル値)が、正常値範囲内であるか否かを判定する。車載装置の処理部は、正常値範囲内でないと判定した場合、周期データは異常であると判定する。この場合、車載装置の処理部は、当該周期データを特定異常検知「異常検知(特定)」に該当すると判定するものであってもよい。すなわち、ペイロード値(シグナル値)が正常値範囲から外れる周期データは、例えば攻撃等による不正(異常)なデータである蓋然性が高いことが想定されるため、当該不正(異常)なデータを効率的に検出することができる。車載装置の処理部は、同じ正常周期範囲内にて複数の周期データを受信した場合、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているように、次の正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移するものであってもよい。又は、車載装置の処理部は、同じ正常周期範囲内にて複数の周期データを受信した場合であっても、これら複数の周期データのうち、ペイロード値(シグナル値)が正常値範囲内となり正常と判定された周期データが一つのみの場合、唯一正常と判定された周期データの受信時点を基準に、次の正常周期範囲を特定するものであってもよい。この場合、車載装置の処理部は、特定された正常周期範囲に基づき受信したデータ(周期データ)の正否を判定する判定実行状態(周期検知実行状態)を維持する。
【0027】
(9)本開示の一態様に係る車載装置は、前記処理部は、前記周期データのペイロードの値が前記正常値範囲内であると判定した場合、前記正常周期範囲において受信した複数の周期データのうち、連続して受信した2つの周期データの受信時点の間隔が、前記イベントデータ送信禁止期間よりも長いか否かを判定し、連続した受信した2つの周期データの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続した受信した2つの周期データの内、少なくともいずれかの周期データは異常であると判定し、連続した受信した2つの周期データの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、連続した受信した2つの周期データは正常であると判定する。
【0028】
本態様にあたっては、車載装置の処理部は、例えば、データ種別テーブルを参照して、受信した複数の周期データそれぞれのペイロード値(シグナル値)が、正常値範囲内であるか否かを判定する。車載装置の処理部は、正常値範囲内であると判定した場合、正常値範囲内であると判定された周期データであって、連続して受信した2つの周期データの受信時点の間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長いか否かを判定する。すなわち、同じ正常周期範囲内にて連続して受信した2つの周期データにおいて、前の周期データの受信時点を基準としたイベントデータ送信禁止期間に、次の周期データの受信時点が、含まれるか否かを判定する。車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つの周期データの受信時点の間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長くない場合、すなわち2つの周期データの受信時点の間隔がイベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも短い場合、当該2つの周期データのうち、少なくともいずれかの周期データは、異常であると判定する。この際、同じ正常周期範囲内にて連続して受信した2つの周期データにおいて、前の周期データの受信時点を基準としたイベントデータ送信禁止期間に、次の周期データの受信時点が、含まれるものとなる。この場合、車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つの周期データは異常検知(範囲)「異常(範囲)」と判定するものであってもよい。車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つの周期データの受信時点の間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長い場合、これら2つの周期データは、共に正常であると判定する。すなわち、これら2つの周期データは、ペイロード値が正常値範囲であり、かつ当該2つの周期データの受信時点間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長いものであるため、ペイロード値そのもの及びデータ送信特性の観点からは、正常であると言える。従って、車載装置の処理部は、例えば、正常周期範囲内にて受信したデータを周期データとみなして処理を行うものであっても、同じ正常値範囲内にて2つの周期データを連続して受信した場合、当該2つの周期データのうち、いずれかのデータはイベントデータである可能性がある。すなわち、正常周期範囲の上下限値を比較的に大きい値とし、当該正常周期範囲が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長くした際、同一の正常周期範囲にて、周期データと、実質的にイベントデータとが、受信される場合が想定される。このような場合であっても、車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つのデータ(周期データ及び実質的にイベントデータ)のペイロード値及びデータ送信特性の観点からの正否判定を行うことができる。車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つのデータ(周期データ及び実質的にイベントデータ)のペイロード値を比較結果に基づき、当該2つのデータにおいて、周期データと、イベントデータとを判別するものであってもよい。イベントデータは、ペイロード値が変更される等の所定のイベントが発生した際に送信される送信特性を有する。従って、車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つのデータのペイロード値が同じ値である場合、前のデータが実質的にイベントデータであり、後のデータが周期データであると判別するものであってもよい。更に、車載装置の処理部は、同じ正常値範囲内にて連続して受信した2つのデータのペイロード値が異なる場合、前のデータが周期データであり、後のデータが実質的にイベントデータであると判別するものであってもよい。車載装置の処理部は、このように同じ正常値範囲内にて連続して受信した2つのデータ(周期データ及び実質的にイベントデータ)は共に正常であると判定した場合であっても、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているように、次の正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移するものであってもよい。又は、車載装置の処理部は、同じ正常周期範囲内にて複数の2つのデータ(周期データ及び実質的にイベントデータ)を受信した場合であっても、いずれかのデータを周期データであると判別(特定)できた場合、当該判別(特定)した周期データの受信時点を基準に、次の正常周期範囲を特定するものであってもよい。この場合、車載装置の処理部は、特定された正常周期範囲に基づき受信したデータ(周期データ)の正否を判定する判定実行状態(周期検知実行状態)を維持する。
【0029】
(10)本開示の一態様に係るプログラムは、車載ネットワークに接続されるコンピュータに、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、前記イベントデータのペイロードの値に関する正否の判定を行う処理を実行させる。
【0030】
本態様にあたっては、コンピュータを、周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置として実行させるプログラムを提供することができる。
【0031】
(11)本開示の一態様に係る情報処理方法は、車載ネットワークに接続されるコンピュータに、前記車載ネットワークにて周期的に送信される周期データを受信し、連続して受信した2つの周期データの受信時点間において、周期データと同種のイベントデータを複数受信した場合、連続して受信した2つのイベントデータの受信時点の間隔が、前記イベントデータの送信を禁止する期間として定められているイベントデータ送信禁止期間よりも長いか否かを判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長くない場合、連続して受信した2つのイベントデータの内、少なくともいずれかのイベントデータは異常であると判定し、連続して受信した2つのイベントデータの受信時点の間隔が前記イベントデータ送信禁止期間よりも長い場合、前記イベントデータのペイロードの値に関する正否の判定を行う処理を実行させる。
【0032】
本態様にあたっては、コンピュータを、周期的にデータが送信される通信形態において、効率的に異常なデータを検出することができる車載装置として実行させる情報処理方法を提供することができる。
【0033】
[本開示の実施形態の詳細]
本開示をその実施の形態を示す図面に基づいて具体的に説明する。本開示の実施形態に係る車載装置2を、以下に図面を参照しつつ説明する。なお、本開示はこれらの例示に限定されるものではなく、請求の範囲によって示され、請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0034】
(実施形態1)
以下、実施の形態について図面に基づいて説明する。図1は、実施形態1に係る車載装置2を含む車載システムSの構成を例示する模式図である。図2は、車載装置2の物理構成を例示するブロック図である。
【0035】
車載システムSは、車両Cに搭載される車載装置2を主たる装置として構成され、車載装置2は、車外通信装置1及び複数の車載ECU3と通信可能に接続される。車載装置2は、車両Cに搭載される複数の車載ECU3間の通信を中継する。車載装置2は、車外通信装置1を介して車外ネットワークNを介して接続された外部サーバ100と通信し、外部サーバ100と、車両Cに搭載される車載ECU3との間の通信を中継するものであってもよい。
【0036】
外部サーバ100は、例えばインターネット又は公衆回線網等の車外ネットワークNに接続されているサーバ等のコンピュータであり、RAM(Random Access Memory)、ROM(Read Only Memory)又はハードディスク等による記憶部21又はストレージ装置を備える。当該外部サーバ100の記憶部21等は、車載装置2からアクセス可能な記憶領域に含まれる。
【0037】
車両Cには、車外通信装置1、車載装置2、表示装置5、及び種々の車載機器を制御するための複数の車載ECU3が搭載されている。車載装置2と車外通信装置1とは、例えばシリアルケーブル等のワイヤーハーネスにより通信可能に接続されている。車載装置2及び車載ECU3は、CAN(Control Area Network/登録商標)、CAN/FD又はイーサネット(Ethernet/登録商標)等の通信プロトコルに対応した通信線41及び車載ネットワーク4によって通信可能に接続されている。車載装置2及び車載ECU3における通信プロトコルは、LIN、MOST、FlexRay等によるものであってもよい。
【0038】
車外通信装置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に内蔵されるものであってもよい。
【0039】
車載装置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の一機能部として構成されるものであってもよい。
【0040】
処理部20は、CPU(Central Processing Unit)又はMPU(Micro Processing Unit)等により構成してあり、記憶部21に予め記憶された制御プログラム(プログラム製品)及びデータを読み出して実行することにより、種々の制御処理及び演算処理等を行うようにしてある。処理部20は、車内通信部23を介して取得(受信)したデータ(CANメッセージ、IPパケット)の正否判定を行うと共に、車載装置2の全体的な制御を行う制御部として機能するものであってもよい。
【0041】
記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、プログラムP(プログラム製品)及び処理時に参照するデータが予め記憶してある。記憶部21に記憶されたプログラムP(プログラム製品)は、車載装置2が読み取り可能な記録媒体Mから読み出されたプログラムP(プログラム製品)を記憶したものであってもよい。また、図示しない通信網に接続されている図示しない外部コンピュータからプログラムP(プログラム製品)をダウンロードし、記憶部21に記憶させたものであってもよい。
【0042】
記憶部21には、車載ECU3間の通信、又は車載ECU3と外部サーバ100との間の通信のための中継処理を行うにあたり用いられる中継経路情報(ルーティングテーブル)が、記憶される。当該中継経路情報は、通信プロトコルに基づき書式が決定される。通信プロトコルが例えばCANの場合、CAN用中継経路情報は、CANメッセージに含まれるメッセージ識別子(CAN-ID、メッセージID)及び、当該CAN-IDに関連付けられた中継先(車内通信部23のI/Oポート番号)を含む。
【0043】
入出力I/F22は、車外通信装置1の入出力I/Fと同様に、例えばシリアル通信するための通信インターフェイスである。例えば、入出力I/F22を介して、車載装置2は、車外通信装置1、表示装置5(HMI装置)及び、車両Cの起動及び停止を行うIGスイッチ6(又はパワースイッチ)と通信可能に接続される。
【0044】
車内通信部23は、例えばCAN(Control Area Network)、CAN-FD(CAN with Flexible Data Rate)又はイーサネット(Ethernet/登録商標)の通信プロトコルを用いた入出力インターフェイス(CANドライバ、イーサネットPHY部)であり、処理部20は、車内通信部23を介して車載ネットワーク4に接続されている車載ECU3又は他の中継装置等の車載機器と相互に通信する。
【0045】
車内通信部23は、複数個設けられており、車内通信部23夫々に、車載ネットワーク4を構成する通信線41夫々(CANバス等)が接続されている。このように車内通信部23を複数個設けることにより、車載ネットワーク4を複数個のセグメントに分けるものであってもよい。車載ネットワーク4のトポロジー型式は、本実施形態における図示のようなバス型に限定されず、当該トポロジー型式は、例えば、車載装置2を中心としたスター型、複数の車載装置2によるリング型、又は車載装置2を最上位としたカスケード型であってもよい。
【0046】
このように構成された車載装置2の処理部20は、後述する受信データ(周期データ、イベントデータ)の判定処理を行う過程において、複数の状態を遷移する。当該複数の状態は、例えば、正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)と、特定された正常周期範囲に基づき受信したデータ(周期データ)の正否を判定する判定実行状態(周期検知実行状態)とを含む。これら判定処理を行う過程における状態遷移に関する処理部20の処理は、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されている状態遷移に関する処理を用いるものであってもよい。
【0047】
車載ECU3は、車載装置2と同様に制御部(図示せず)、記憶部21(図示せず)及び車内通信部23(図示せず)を含む。記憶部21は、RAM(Random Access Memory)等の揮発性のメモリ素子又は、ROM(Read Only Memory)、EEPROM(Electrically Erasable Programmable ROM)若しくはフラッシュメモリ等の不揮発性のメモリ素子により構成してあり、車載ECU3のプログラム又はデータが記憶されている。車載ECU3は、例えば、周期的にCANメッセージ又はIPパケットを送信し、車載装置2と通信する。車載ECU3は、センサ又はアクチュエータが接続され、統合ECUの配下に接続される個別ECUであってもよい。
【0048】
表示装置5は、例えばカーナビゲーションのディスプレイ等のHMI(Human Machine Interface)装置である。表示装置5は、車載装置2の入出力I/F22とシリアルケーブル等のハーネスにより通信可能に接続されている。表示装置5には、車載装置2の処理部20から入出力I/F22を介して出力されたデータ又は情報が表示される。
【0049】
図3は、データ種別テーブルに関する説明図である。処理部20が判定処理を行う際に参照する種々データは、車載装置2の記憶部21、車載ECU3又は外部サーバ100に接続されるストレージ装置等、処理部20からアクセス可能な所定の記憶領域に記憶されている。処理部20が判定処理を行うにあたり監視対象となるデータ種別は、例えば、テーブル形式にて構成されるデータ種別テーブルとして、記憶部21等に記憶されている。データ種別テーブルにて定義されている管理項目(フィールド)は、例えば、メッセージID(データ種別)、設計周期、上下限値比率、正常周期範囲、判定実行対象フラグ、イベントデータ送信禁止時間、ペイロード正常値範囲、禁止時間可変フラグ、及びバックキャストフラグを含む。
【0050】
メッセージID(データ種別)の管理項目(フィールド)には、例えば、CANメッセージの種別を示すメッセージID(CAN-ID)が格納される。当該メッセージIDに基づき、受信させるデータの種別が決定される。判定対象のデータが、例えば、CANメッセージである場合、メッセージIDが同じCANメッセージは、同種のデータであるとして処理が行われる。すなわち、メッセージIDは、データ種別を分類又は定義するための管理項目として設定される。データの種別を決定するための管理項目(フィールド)は、CANメッセージにおけるメッセージIDに限定されず、例えばTCP/IPパケットにおいては、当該パケットに含まれる送信元IPアドレス、送信先IPアドレス、TCPポート番号、UDPポート番号、又はこれらの組み合わせによるものであってもよい。
【0051】
設計周期は、データ(メッセージ)が、いずれかの車載ECU3等から送信される際、予め定められた送信周期を示すものであり、すなわち当該車載ECU3に実装されるアプリケーション等の設計仕様に基づく送信周期である。設計周期の管理項目(フィールド)には、個々のデータにおける設計周期(例えば、x[ms])が格納される。
【0052】
上下限値比率は、設計周期に基づき正常周期範囲を特定するための上下限値を示すものである。上下限値比率は、例えば、設計周期に対する比率(例えばa%、ただしa>0)として定義されるものであってもよく、又は、実時間(±x×a×0.01[ms])にて示されるものであってもよい。又は、上下限値比率は上限と下限で異なる比率であってもよい。
【0053】
正常周期範囲は、設計周期及び上下限値比率によって算出される範囲であり、受信したデータの正否を判定する際に用いられる情報である。例えば、設計周期が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の時点となる。本実施形態においては、データ種別テーブルは、設計周期及び上下限値比率と、正常周期範囲とを共に含むとしたが、これに限定されず、いずれかのみを含むものであってよいことは、言うまでもない。
【0054】
判定実行対象フラグは、車載ネットワーク4にて送受信されるデータにおいて、いずれの種別のデータを、正否判定の実行対象(監視対象)とするかを定めるフラグ値(1:監視対象、0:非監視対象)が格納される。このように車載ネットワーク4にて送受信されるデータにおいて、判定実行対象フラグが設定された種別のデータを正否判定の実行対象(監視対象)とすることにより、重要度が比較的に高いデータのみを監視対象にして、車載装置2(処理部20)の処理負荷を低減することができる。
【0055】
イベントデータ送信禁止時間は、同一レコードに格納されるメッセージID(データ種別)において、正常周期範囲を特定するための基準データ(基準メッセージ)、すなわち先に受信した周期データの受信時点から、イベントデータの送信が禁止される時間(期間)を設定する値が格納される。すなわち、イベントデータの送信が禁止される期間(イベントデータ送信禁止期間)の開始時点は、先に受信した周期データの受信時点であり、イベントデータ送信禁止期間の終了時点は、当該受信時点からイベントデータ送信禁止時間が経過した時点となる。イベントデータ送信禁止時間は、設計周期よりも短い時間(小さい値)となる(イベントデータ送信禁止時間<設計周期)。イベントデータ送信禁止時間は、設計周期に対し、例えば、0.4等の1未満となる係数(K)を用いて設定(イベントデータ送信禁止時間=設計周期×K:例えば、K=0.4)されるものであってもよい。詳細は後述するが、イベントデータ送信禁止期間にて受信されたデータ(イベントデータ)は、異常(異常検知(特定))であると判定される。更にイベントデータ送信禁止時間は、連続して受信された2つのイベントデータに対しても、用いられるものであってもよい。連続して受信された2つのイベントデータに対し、イベントデータ送信禁止時間(イベントデータ送信禁止期間)の観点からの正否判定については、後述する。
【0056】
ペイロード正常値範囲は、同一レコードに格納されるメッセージID(データ種別)のペイロード領域に含まれる信号値又は制御値等の値の取り得る範囲が格納される。信号値又は制御値等の値の取り得る範囲とは、これら値を検出又は算出する各種アプリケーション等の製品仕様に基づき予め決定されている範囲である。詳細は後述するが、受信したイベントデータのペイロード領域に格納される値が、当該ペイロード正常値範囲を超えていた場合、当該イベントデータは、異常(異常検知(特定))であると判定される。
【0057】
ペイロード正常値範囲に格納される値は、ペイロード領域に含まれる各シグナルに応じて、複数個、定義(格納)されているものであってもよい。本実施形態においては、ペイロード領域には、2つのシグナル(シグナルA及びシグナルB)が含まれており、これらシグナルそれぞれにおいて、正常値範囲(シグナルAの正常値範囲及びシグナルBの正常値範囲)が定義されるものであってもよい。
【0058】
車載装置2の処理部20は、受信したイベントデータのペイロード値に基づく正否判定を行うにあたり、ペイロード領域に含まれる各シグナル値が正常値範囲内であるかを判定するものであってもよい。この際、ペイロード領域に含まれる複数のシグナル値において、いずれかのシグナル値のみが正常値範囲を超える場合であっても、車載装置2の処理部20は、受信したイベントデータは異常(異常検知(特定))であると判定するものであってもよい。
【0059】
禁止時間可変フラグは、イベントデータ送信禁止期間と正常周期範囲とが重複する場合、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定化するか、又は正常周期範囲との重複を回避するように可変化(短縮)するかを定めるフラグ値(固定:0、短縮:1)が格納される。車載装置2の処理部20は、データ種別テーブルにて定義されている禁止時間可変フラグ(固定:0、短縮:1)に基づき、イベントデータ送信禁止期間と正常周期範囲とが重複する場合、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定化するか、又は正常周期範囲との重複を回避するように可変化(短縮)するかを決定する。
【0060】
バックキャストフラグは、バックキャスト処理を実行した際、いずれかのイベントデータが異常と判定された場合に、全てのイベントデータに対しバックキャスト処理を継続するか、又はバックキャスト処理を中止するかを定めるフラグ値(中止:0、継続:1)が格納される。車載装置2の処理部20は、データ種別テーブルにて定義されているバックキャストフラグ(中止:0、継続:1)に基づき、いずれかのイベントデータが異常と判定された場合に、全てのイベントデータに対しバックキャスト処理を継続するか、又はバックキャスト処理を中止するかを決定する。
【0061】
図4は、データ受信リストに関する説明図である。車載装置2の処理部20は、正否判定の対象となるデータを受信した場合、当該データに関する情報をリスト形式(データ受信リスト)又はテーブル形式にて記憶部21等、アクセス可能な所定の記憶領域に記憶する。車載装置2の処理部20は、受信したデータに関する情報を、例えばデータ受信リストにて記憶する場合、データ種別に応じて、異なるリストにて記憶するものであってもよい。このようにデータ種別に応じて生成及び記憶されるデータ受信リストは、受信したデータのログ情報(受信ログ)として保存及び管理される。
【0062】
リスト形式(テーブル形式)となるデータ受信リストは、例えば、データ種別毎に異なるリストとして保存及び管理される。データ種別毎となる各データ受信リストは、管理項目(フィールド)として例えば、連番(No)、受信時点(タイムスタンプ)、受信した期間、正常値範囲判定、ペイロード値、フォアキャスト結果、バックキャスト結果、及び結果判定を含む。
【0063】
連番(No)の管理項目には、データを受信した順番を示す番号(連番)が格納される。本実施形態においては、正常周期範囲を特定するための基準データ(基準メッセージ)、すなわち先に受信した周期データの連番が0として設定(格納)される。先の周期データの受信以降、当該周期データと同種のデータを受信都度、連番の値がインクリメント(1つ増加)されて設定(格納)される。
【0064】
受信時点(タイムスタンプ)の管理項目には、同一レコードに格納される連番(No)のデータを受信した時刻を示す受信時点(タイムスタンプ)が格納される。車載装置2の処理部20は、連番が0として設定されるデータ(先に受信した周期データ)の受信時点を基準とし、各データの受信時点との差異(時間差)を算出することにより、これらデータが、イベントデータ送信禁止期間、イベント送信許容期間(イベントデータ送信許容期間)、又は正常周期範囲のいずれかの期間に受信されたかを特定することができる。更に、車載装置2の処理部20は、受信時点が連続する2つのイベントデータにおいて、先のイベントデータの受信時点と、後のイベントデータの受信時点との差異(時間差)を算出することにより、これら受信時点の間隔が、イベントデータ送信禁止時間以下であるか否かを判定することができる。
【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)を上下限とする期間を、正常周期範囲(今回の正常周期範囲)として算出(特定)する。当該正常周期範囲(今回の正常周期範囲)にて受信されたデータ(Msg3)は、後の周期データ(Msg3)として取り扱われる。本実施形態における図示では、今回の正常周期範囲に受信されたデータの個数は、後の周期データ(Msg3)による1つのみであり、かつ周期データ(Msg3)のペイロード値(全てのシグナル値)は正常値範囲内であるため、当該後の周期データ(Msg3)は、正常であると判定される。
【0074】
先の周期データ(基準Msg)の受信時点から、今回の正常周期範囲の下限時点(limit-low)までに2つのデータ(Msg1,Msg2)が受信されている。これら、2つのデータ(Msg1,Msg2)は、イベントデータとして取り扱われ、正否判定がされる。判定対象となるイベントデータは、直前に受信されたデータ(先の周期データ又はイベントデータ)の受信時点を開始時点としたイベントデータ送信禁止期間に含まれているか否かが判定される。受信されたデータ(Msg1)の受信時点は、当該データ(Msg1)の直前に受信された先の周期データ(基準Msg)の受信時点を開始時点としたイベントデータ送信禁止期間に含まれていない。すなわち、先の周期データ(基準Msg)の受信時点から、データ(Msg1)の受信時点までの間隔は、イベントデータ送信禁止期間よりも長い。従って、車載装置2の処理部20は、イベントデータ送信禁止期間外に受信したデータ(Msg1)は、イベントデータ送信禁止時間を鑑みた送信特性(送信タイミング)の観点からは正常なイベントデータであると判定する。
【0075】
受信されたデータ(Msg2)の受信時点は、当該データ(Msg2)の直前に受信されたデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間に含まれている。すなわち、受信時点が連続する2つのイベントデータ(Msg1,2)において、前のイベントデータ(Msg1)の受信時点から、次のイベントデータ(Msg2)の受信時点までの間隔は、イベントデータ送信禁止期間以下である。従って、車載装置2の処理部20は、イベントデータ送信禁止期間内に受信したデータ(Msg2)は、異常なイベントデータであると判定する。この際、車載装置2の処理部20は、当該イベントデータ(Msg2)を異常検知(特定)「異常(特定)」に該当すると判定するものであってもよい。
【0076】
図6は、イベントデータにおけるイベントデータ送信禁止期間(固定)に関する説明図である。車載装置2の処理部20は、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間を設定するにあたり、例えばデータ種別テーブルにてデータ種別に応じて定義されているイベントデータ送信禁止時間を固定的に用いる。この場合、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間(イベントデータ送信禁止時間)が、今回の正常周期範囲と重複する場合が、発生する。本実施形態における図示においては、イベントデータ送信禁止期間と正常周期範囲とが重複する期間にて、データ(Msg2)が受信されている。
【0077】
このようにイベントデータ送信禁止期間と正常周期範囲とが重複する場合であっても、車載装置2の処理部20は、イベントデータ送信禁止期間を優先して当該データ(Msg2)の正否判定を行うものであってもよい。すなわち、車載装置2の処理部20は、イベントデータ送信禁止期間と正常周期範囲とが重複する期間に受信時点が含まれるデータ(Msg2)を、異常検知(特定)「異常(特定)」に該当すると判定するものであってもよい。イベントデータ送信禁止期間と正常周期範囲との重複の有無にかかわらず、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定的に設定する(予め定められている値を同一的に用いる)ことにより、判定処理に関するロジック設計を簡易化でき、処理部20による処理負荷が増加することを抑制することができる。
【0078】
図7は、イベントデータにおけるイベントデータ送信禁止期間(可変)に関する説明図である。車載装置2の処理部20は、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間を設定するにあたり、例えばデータ種別テーブルにてデータ種別に応じて定義されているイベントデータ送信禁止時間を初期値として用いつつ、正常周期範囲との重複の有無に応じて、当該イベントデータ送信禁止期間(イベントデータ送信禁止時間)を可変する。
【0079】
車載装置2の処理部20は、データ種別テーブルにて予め定義されているイベントデータ送信禁止時間を用いることにより、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間が正常周期範囲と重複する場合、予め定義されているイベントデータ送信禁止時間を短縮することにより、当該重複を回避する。すなわち、車載装置2の処理部20は、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間の終了時点を、正常周期範囲の開始時点(下限時点(limit-low))よりも前にすることにより、当該イベントデータ送信禁止期間(イベントデータ送信禁止時間)を短縮する。この場合、データ(Msg2)の受信時点は、正常周期範囲のみに含まれるものとなり、イベントデータ(Msg1)の受信時点を開始時点としたイベントデータ送信禁止期間には、含まれない。従って、データ(Msg2)は周期データとして取り扱われ、当該正常周期範囲内に受信されたデータがデータ(Msg2)のみである場合、正常な周期データであると判定される。
【0080】
イベントデータ送信禁止期間と正常周期範囲とが重複する場合、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定化するか、又は正常周期範囲との重複を回避するように可変化(短縮)するかは、車載システムSにて一律に決定されている場合に限定されない。車載装置2の処理部20は、イベントデータ送信禁止期間と正常周期範囲とが重複する場合、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定化するか、又は正常周期範囲との重複を回避するように可変化(短縮)するかを、例えば、データ種別テーブルにて定義されている禁止時間可変フラグ(固定:0、短縮:1)に基づき、決定するものであってもよい。
【0081】
図8は、イベントデータの正否判定(バックキャスト:パターン1)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)及び後の周期データ(Msg4)は、共に正常であると判定されている。すなわち、後の周期データ(Msg4)は、先の周期データ(基準Msg)の受信時点を基準に設定された正常周期範囲において、唯一受信された同種のデータであり、かつ当該周期データ(Msg4)のペイロード値は正常値範囲内であるため、正常であると判定されている。イベントデータ(Msg3)は、イベント送信許容期間内に受信されており、ペイロード値(シグナル値)も正常値範囲内である。更にイベントデータ(Msg3)のペイロード値(シグナル値)と、後の周期データ(Msg4)のペイロード値(シグナル値)とは、同一(実施的に同一値)である。
【0082】
イベントデータは、直前に送信されたデータ(周期データ又はイベントデータ)のペイロード値が変更されるような事象(イベント)が発生した際、イベントドリブン的に送信される送信特性を有する。これに対し、周期データは、直前に送信されたデータ(周期データ又はイベントデータ)のペイロード値が変更されるような事象(イベント)が発生していない場合、周期的に送信される。従って、周期データの受信時点に対し、直前に受信されたイベントデータのペイロード値(シグナル値)と、当該周期データのペイロード値(シグナル値)とは、一致する(実質的に同一である)ことが想定される。同種のデータ種別において、イベントデータのペイロード値と、当該イベントデータの直後に受信された周期データのペイロード値とが異なる値となる(実質的に同一値とならない)ことは当該送信特性に反し、同一(実施的に同一値)となることは当該送信特性に適合する。当該一致(実質的に同一)するか否かの判定においては、予め定められた差異判定用閾値を用いて判定するものであってもよい。
【0083】
車載装置2の処理部20は、周期データのペイロード値と、イベントデータのペイロード値との同一性に基づき当該イベントデータの正否判定を行うところ、当該同一性の判定は値が完全一致する場合に限定されるものでなくてもよい。車載装置2の処理部20は、周期データとイベントデータとのペイロード値(シグナル値)の差異が所定値以下(実質的同一)である場合、イベントデータは異常であると判定し、周期データとイベントデータとのペイロード値(シグナル値)の差異が所定値を超える(実質的同一でない)場合、イベントデータは正常であると判定するものであってもよい。当該所定値が0の場合、ペイロード値(シグナル値)の完全一致を示すものとなるが、所定値を、例えば0に近接した比較的に小さい値にて設定することにより、イベントデータのデータ種別にて定まる送信特性に対し、柔軟に対応することができる。すなわち、ペイロード値(シグナル値)の比較(差異判定)に用いられる所定値(差異判定用閾値)は、イベントドリブン的に送信されるイベントデータのデータ種別等に応じて、例えばデータ種別テーブルによって個々に設定されるものであってもよい。
【0084】
車載装置2の処理部20は、イベント送信許容期間において最後に受信したイベントデータ(Msg4)のペイロード値(シグナル値)と、後の周期データ(Msg3)のペイロード値(シグナル値)との比較処理(バックキャスト処理)を行う。車載装置2の処理部20は、直後に受信された周期データのペイロード値と、異なる値のペイロード値を有するイベントデータは、異常であると判定する。車載装置2の処理部20は、直後に受信された周期データのペイロード値と、同じ(実質的に同一)値のペイロード値を有するイベントデータは、正常であると判定する。イベントデータ(Msg3)のペイロード値(シグナル値)と、後の周期データ(Msg4)のペイロード値(シグナル値)とは同一(実施的に同一値)であるため、車載装置2の処理部20は、イベントデータ(Msg3)は、正常であると判定する。
【0085】
車載装置2の処理部20は、更に、正常と判定されたイベントデータ(Msg3)よりも前に受信されたイベントデータ(Msg2)に対しても、バックキャスト処理を継続することにより、正否判定を行う。判定対象であるイベントデータ(Msg2)に対し、比較対象となるデータ、すなわち当該イベントデータ(Msg2)の受信時点の直前に受信されたデータであって、正常と判定されたでデータは、イベントデータ(Msg3)となる。上述のとおり、イベントデータは、直前に送信されたデータ(周期データ又はイベントデータ)のペイロード値が変更されるような事象(イベント)が発生した際、イベントドリブン的に送信される送信特性を有するため、受信時点が連続する2つのイベントデータにおいては、ペイロード値(シグナル値)が異なる(実質的に同一でない)ことが想定される。すなわち、同種のデータ種別において、イベントデータのペイロード値と、当該イベントデータの直後に受信されたイベントデータのペイロード値とが異なる値となる(実質的に同一値とならない)ことは当該送信特性に適合し、同一(実施的に同一値)となることは当該送信特性に反する。
【0086】
車載装置2の処理部20は、直後に受信された正常なイベントデータのペイロード値と、異なる値のペイロード値を有するイベントデータは、正常であると判定する。車載装置2の処理部20は、直後に受信された正常なイベントデータのペイロード値と、同じ(実質的に同一)値のペイロード値を有するイベントデータは、異常であると判定する。イベントデータ(Msg2)のペイロード値(シグナル値)と、直後に受信され、かつ正常な判定されたイベントデータ(Msg3)のペイロード値(シグナル値)とが同一(実施的に同一値)であるため、車載装置2の処理部20は、イベントデータ(Msg2)は、異常であると判定する。車載装置2の処理部20は、当該イベントデータ(Msg2)を異常検知(範囲)「異常(範囲)」であると判定するものであってもよい。
【0087】
車載装置2の処理部20は、このように最後に受信したイベントデータから、遡及的に順次にイベントデータに対しバックキャスト処理を行うにあたり、いずれかのイベントデータが異常と判定された場合、当該バックキャスト処理を中止する。従って、車載装置2の処理部20は、異常と判定されたイベントデータ(Msg2)よりも前に受信されたイベントデータ(Msg1)に対し、バックキャスト処理による正否判定を行わない。
【0088】
図9は、イベントデータの正否判定(ペイロード変化:パターン1)に関する説明図である。本実施形態の図示のとおり、受信されたイベントデータに対して、先の周期データを基準としたフォアキャスト処理と、後の周期データを基準としたバックキャスト処理とが行われる。最後に受信したイベントデータ(No.5)から、遡及的に順次にイベントデータに対しバックキャスト処理を行うにあたり、いずれかのイベントデータ(No.3)が異常と判定された場合、当該バックキャスト処理を中止される。当該異常と判定されたイベントデータ(No.3)よりも前に受信されたイベントデータ(No.2,1)に対しては、バックキャスト処理による正否判定は行われない。車載装置2の処理部20は、フォアキャスト処理とバックキャスト処理との結果(OK、NG)に基づき、これら結果の組み合わせに基づき、後述する判定テーブルを用いて最終的な判定結果を決定する。
【0089】
図10は、イベントデータの正否判定(バックキャスト:パターン2)に関する説明図である。車載装置2の処理部20は、図9での説明と同様に、イベントデータ(No.3)及びイベントデータ(No.2)に対するバックキャスト処理による正否判定を行う。車載装置2の処理部20は、イベントデータ(No.2)を異常と判定した場合であっても、バックキャスト処理を継続し、イベントデータ(No.1)に対する正否判定を行う。すなわち、車載装置2の処理部20は、正常判定したイベントデータ(No.3)からの差分(対比)にて、イベントデータ(No.1)の正否判定を行う。従って、判定対象のイベントデータ(No.1)に対し比較対象となるデータ、すなわち当該判定対象のイベントデータ(No.1)の受信時点の直後に受信されたデータであって、正常と判定されたデータは、イベントデータ(No.3)となる。
【0090】
図11は、イベントデータの正否判定(ペイロード変化:パターン2)に関する説明図である。最後に受信したイベントデータ(No.5)から、遡及的に順次にイベントデータに対しバックキャスト処理を行うにあたり、いずれかのイベントデータ(No.3)が異常と判定された場合であっても、当該バックキャスト処理は継続される。これにより、当該異常と判定されたイベントデータ(No.3)よりも前に受信されたイベントデータ(No.2,1)に対しても、バックキャスト処理による正否判定が行われ、受信した全てのイベントデータ(No.5,4,3,2,1)に対するバックキャスト処理が行われる。異常と判定されたイベントデータ(No.3)の受信時点の直前に受信されたイベントデータ(No.2)に対しては、正常と判定されたイベントデータ(No.4)とのペイロード値の比較による正否判定が行われる。すなわち、判定対象となるイベントデータ(No.2)の直前に受信され、かつ正常と判定されたデータは、イベントデータ(No.4)となる。
【0091】
いずれかのイベントデータが異常と判定された場合に、全てのイベントデータに対しバックキャスト処理を継続するか、又はバックキャスト処理を中止するかは、車載システムSにて一律に決定されている場合に限定されない。車載装置2の処理部20は、いずれかのイベントデータが異常と判定された場合に、全てのイベントデータに対しバックキャスト処理を継続するか、又はバックキャスト処理を中止するかを、例えば、データ種別テーブルにて定義されているバックキャストフラグ(中止:0、継続:1)に基づき、決定するものであってもよい。
【0092】
図12は、車載装置2の処理部20によるイベントデータに対する判定態様(判定テーブル)に関する説明図(マトリックス表)である。車載装置2の処理部20は、イベント送信許容期間(イベントデータ送信禁止期間外)において受信され、ペイロード値は正常値範囲内である1つ以上のイベントデータに対し、先の周期データのペイロード値からの変化の有無に基づく判定処理(フォアキャスト処理)と、後の周期データのペイロード値との同一性に基づく判定等の処理(バックキャスト処理)とを行う。
【0093】
この場合、例えば、イベント送信許容期間(イベントデータ送信禁止期間外)において受信され、ペイロード値は正常値範囲内である1つ以上のイベントデータに対しては、フォアキャスト処理とバックキャスト処理との双方の判定処理が行われる。この際、車載装置2の処理部20が、フォアキャスト処理及びバックキャスト処理の結果を組み合わせ、最終的な結果判定を導出するものであってもよい。フォアキャスト処理のみが行われたイベントデータに対しては、車載装置2の処理部20は、当該フォアキャスト処理に基づき、最終的な結果判定を導出するものであってもよい。車載装置2の処理部20は、当該最終的な結果判定を導出するにあたり、例えば、マトリックス表形式にて示される判定テーブルを用いて、イベントデータに対する判定態様(最終的な結果判定)を導出するものであってもよい。
【0094】
判定テーブルは、記憶部21等、処理部20がアクセス可能な所定の記憶領域に記憶されている。マトリックス形式となる判定テーブルは、縦の管理項目となるフォアキャスト結果と、横の管理項目となるバックキャスト結果とを含む。
【0095】
フォアキャスト結果は、細項目として、OK(正常)、NG(異常)及び、異常(特定)の項目を含む。フォアキャスト結果がOK(正常)とは、フォアキャスト処理の判定結果が正常であることを示す。フォアキャスト結果がNG(異常)とは、フォアキャスト処理の判定結果が異常、すなわち判定対象のイベントデータのペイロード値(シグナル値)における変化が無いことを示す。フォアキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示す。
【0096】
バックキャスト結果は、細項目として、判定なし、OK(正常)、NG(異常)及び、異常(特定)の項目を含む。バックキャスト結果が判定なしとは、判定対象のイベントデータに対するバックキャスト処理が実行されなかったことを示す。バックキャスト結果がOK(正常)とは、バックキャスト処理の判定結果が正常であることを示す。バックキャスト結果がNG(異常)とは、バックキャスト処理の判定結果が異常、すなわち判定対象のイベントデータのペイロード値(シグナル値)が、直後に受信された周期データのペイロード値と異なる値である(実質的に同一値とならない)ことを示す。又は、判定対象のイベントデータの直後に受信され、かつ正常と判定されたデータが他のイベントデータである場合、判定対象のイベントデータのペイロード値(シグナル値)が、当該他のイベントデータのペイロード値と同じ値(実質的に同一値)である場合も、バックキャスト結果はNG(異常)となる。バックキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示す。
【0097】
車載装置2の処理部20は、フォアキャスト結果の細項目と、バックキャスト結果の細項目との組み合わせに基づき、最終的な結果判定を導出する。バックキャスト結果が判定なしの場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は正常となり、NG(異常)の場合の最終的な結果判定は異常検知(範囲)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。
【0098】
バックキャスト結果がOK(正常)の場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は正常となり、NG(異常)の場合の最終的な結果判定は異常検知(範囲)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。すなわち、バックキャスト結果とフォアキャスト結果とがOK(正常)とNG(異常)とで異なる場合、異常検知(範囲)となる。
【0099】
バックキャスト結果がNG(異常)の場合、フォアキャスト結果がOK(正常)の場合の最終的な結果判定は異常検知(範囲)となり、NG(異常)の場合の最終的な結果判定は異常検知(特定)となり、異常(特定)場合の最終的な結果判定は異常検知(特定)となる。すなわち、バックキャスト結果とフォアキャスト結果とが共にNG(異常)となる場合、異常検知(特定)となる。
【0100】
バックキャスト結果が異常(特定)の場合、フォアキャスト結果に関係なく、全て異常検知(特定)となる。バックキャスト結果又はフォアキャスト結果が異常(特定)とは、判定対象のイベントデータのペイロード値(シグナル値)が正常値範囲を超えることを示すものである。この場合、車載装置2の処理部20は、判定対象のイベントデータのペイロード値(シグナル値)と、他のデータ(周期データ又はイベントデータ)と比較することなく、当該判定対象のイベントデータは異常、すなわち異常検知(特定)に該当するデータであると判定するものであってもよい。
【0101】
図13は、車載装置2の処理部20の処理を例示するフローチャート(メイン処理)である。車載装置2の処理部20は、例えば車両Cが起動状態(IGスイッチ6又はパワースイッチがオン)又は停止状態(IGスイッチ6又はパワースイッチがオフ)において、定常的に以下の処理を行う。
【0102】
車載装置2の処理部20は、受信した基準となる周期データ(基準データ)に基づき、イベントデータ送信禁止期間及び正常周期範囲を設定する(S101)。車載装置2の処理部20は、周期的に送信される周期データを受信する都度、当該受信した周期データが正常であるか否かを判定している。車載装置2の処理部20は、正常であると判定した周期データ(基準データ)の受信時点に基づき、例えば、データ種別テーブルを参照して、イベントデータ送信禁止期間及び正常周期範囲(今回の正常周期範囲)を設定する。
【0103】
車載装置2の処理部20は、記憶部21に、受信したイベントデータに関する事項を記憶する(S102)。車載装置2の処理部20は、受信した基準となる周期データ(基準データ)の受信時点から、設定した正常周期範囲の下限時点(limit-low)までの期間において受信したイベントデータに関する事項(連番、受信時点等)を、例えばリスト形式(データ受信リスト)にて記憶部21に記憶する。車載装置2の処理部20は、正常周期範囲にて受信した周期データについても、データ受信リストに格納(追記)することにより、記憶部21に記憶するものであってもよい。
【0104】
受信した基準となる周期データ(基準データ)の受信時点から、設定した正常周期範囲の下限時点(limit-low)までの期間は、イベント送信が禁止されるイベントデータ送信禁止期間と、イベント送信が許容されるイベント送信許容期間とを含む。先の周期データ(基準データ)の受信時点を開始時点としたイベントデータ送信禁止期間と、イベント送信許容期間とは、経時的に連続するものとなり、すなわちイベントデータ送信禁止期間が終了直後、イベント送信許容期間が開始されるものとなる。イベント送信許容期間の終了直後、正常周期範囲の期間が開始される。イベントデータ送信禁止期間は、先の周期データの受信時点のみならず、イベントデータの受信時点によっても、設定される。
【0105】
車載装置2の処理部20は、これらイベントデータ送信禁止期間及びイベント送信許容期間にて受信したデータを、正否判定の対象となるイベントデータ(正常周期範囲外Msg)として取得する。当該イベントデータ送信禁止期間及びイベント送信許容期間は、正常周期範囲外の期間に相当する。車載装置2の処理部20は、正常周期範囲内にて受信したデータを、正否判定の対象となる周期データ(正常周期範囲内Msg)として取得する。車載装置2の処理部20は、正常周期範囲内にてデータを受信しなかった場合、すなわち正常周期範囲内にて受信したデータの個数が0の場合についても、当該正常周期範囲にて定められる期間の経過後、以降の処理を実行する。
【0106】
車載装置2の処理部20は、受信したイベントデータの受信時点がイベントデータ送信禁止期間内であるか否かを判定する(S103)。判定対象となるイベントデータに対し、イベントデータ送信禁止期間の開始時点は、先の周期データの受信時点、又は当該判定対象のイベントデータの受信時点の直前に受信された他のイベントデータの受信時点となる。従って、受信した複数のイベントデータにおいて、受信した順番(受信時点が古い順番)にてイベントデータの判定を順次に行う場合、最初に判定されるイベントデータに対応するイベントデータ送信禁止期間の開始時点は、先の周期データの受信時点となる。以降、複数のイベントデータに対し、受信時点が古い順番にて順次に判定を行う際、判定対象のイベントデータに対応するイベントデータ送信禁止期間の開始時点は、当該判定対象のイベントデータの受信時点の直前に受信された他のイベントデータの受信時点となる。このようにイベントデータ送信禁止期間及びイベント送信許容期間が、先の周期データの受信時点のみに基づき決定されるものでなく、個々のイベントデータの受信時点によって個々に設定することにより、受信した複数のイベントデータに対し、これらイベントデータの送信特性を考慮した正否判定を適切に行うことができる。
【0107】
個々のイベントデータの受信時点を開始時点としたイベントデータ送信禁止期間は、例えばデータ受信リストにて定義されるデータ種別に応じたイベントデータ送信禁止時間に格納されている値に基づき、決定される。車載装置2の処理部20は、データ受信リストにて定義されるイベントデータ送信禁止時間を固定的に用いる場合に限定されない。車載装置2の処理部20は、いずれかのイベントデータの受信時点を開始時点としたイベントデータ送信禁止期間(イベントデータ送信禁止時間)が、正常周期範囲と重複する場合、当該イベントデータ送信禁止期間を短縮するものであってもよい。すなわち、車載装置2の処理部20は、イベントデータの受信時点を開始時点としたイベントデータ送信禁止期間の終了時点を、常周期範囲の開始時点(下限時点(limit-low))よりも前にすることにより、当該イベントデータ送信禁止期間(イベントデータ送信禁止時間)を短縮するものであってもよい。車載装置2の処理部20は、イベントデータ送信禁止期間(イベントデータ送信禁止時間)を固定化するか、正常周期範囲との重複を回避するように可変化(短縮)するかを、例えば、データ種別テーブルに含まれる禁止時間可変フラグに応じて、決定するものであってもよい。このようにイベントデータ送信禁止期間の固定化又は可変化(短縮)をイベントデータのデータ種別に応じて個々に設定することにより、受信した複数のイベントデータに対し、これらイベントデータの送信特性を考慮した正否判定を適切に行うことができる。
【0108】
イベントデータの受信時点がイベントデータ送信禁止期間内である場合(S103:YES)、車載装置2の処理部20は、当該イベントデータは異常(異常検知(特定))であると判定する(S1031)。判定対象のイベントデータの受信時点が、当該判定対象のイベントデータの直前に受信されたデータ(先の周期データ又はイベントデータ)の受信時点を開始時点としたイベントデータ送信禁止期間内である場合、判定対象のイベントデータの受信時点と、判定対象のイベントデータの直前に受信されたデータの受信時点との間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)以下となる。この場合、車載装置2の処理部20は、当該イベントデータは異常(異常検知(特定))であると判定する。
【0109】
イベントデータの受信時点がイベントデータ送信禁止期間内でない場合(S103:NO)、すなわちイベントデータの受信時点がイベント送信許容期間内である場合、車載装置2の処理部20は、正常周期範囲に受信した周期データは1つであるか否かを判定する(S104)。判定対象のイベントデータの受信時点が、当該判定対象のイベントデータの直前に受信されたデータ(先の周期データ又はイベントデータ)の受信時点を開始時点としたイベントデータ送信禁止期間内でない場合、判定対象のイベントデータの受信時点と、判定対象のイベントデータの直前に受信されたデータの受信時点との間隔が、イベントデータ送信禁止期間(イベントデータ送信禁止時間)よりも長いものとなる。この場合、車載装置2の処理部20は、当該イベントデータは、イベントデータ送信禁止時間を鑑みた送信特性(送信タイミング)の観点からは正常であると一旦、判定し、当該正常判定した旨を記憶部21に記憶するものであってもよい。
【0110】
正常周期範囲に取得した周期データが1つでない場合(S104:NO)、すなわち正常周期範囲に取得した周期データが0(無し)又は複数である場合、車載装置2の処理部20は、受信したイベントデータ及び複数の周期データを異常(異常検知(範囲))であると判定する(S1041)。又は、車載装置2の処理部20は、正常周期範囲に取得した周期データが0(無し)又は複数である場合、イベントデータ送信禁止期間に受信したイベントデータに対しては、異常検知(特定)であると判定するものであってもよい。この場合、車載装置2の処理部20は、イベント送信許容期間受信したイベントデータに対しては、例えば当該イベントデータのデータ種別に応じた判定処理を行うものであってもよい。
【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は、受信した全てのイベントデータに対しバックキャスト処理を実行するものでなく、受信時点がイベント送信禁止期間内でなく(S103:NO)かつ正常値範囲内である(S105:YES)と判定されたイベントデータに対してのみ、バックキャスト処理を実行するものであってもよい。
【0121】
図14は、車載装置2の処理部20の処理を例示するフローチャート(バックキャスト処理)である。車載装置2の処理部20は、当該フローチャートに基づき、受信した複数のイベントデータに対し順次にバックキャスト処理(S109)を実行する。すなわち、車載装置2の処理部20は、後と受信した周期データのペイロード値、又は正常と判断されたイベントデータのペイロード値との比較により、比較対象となる当該周期データ又はイベントデータよりも前に受信されたイベントデータに対する正否判定を遡及的に順次に行う。
【0122】
車載装置2の処理部20は、比較対象は、後に受信した周期データであるか否かを判定する(S1091)。車載装置2の処理部20は、ペイロード値の比較対象のデータは後に受信した周期データであるか否か、すなわち判定対象となるイベントデータが、後に受信した周期データの受信時点の直近に受信されたイベントデータであるか否かを判定する。判定対象となるイベントデータに対し、比較対象のデータが、後に受信した周期データであるか、又は、正常と判断されたイベントデータであるかによって、ペイロード値(シグナル値)の比較基準が異なる。従って、車載装置2の処理部20は、記憶部21に記憶されているデータ受信リストを参照し、複数のイベントデータそれぞれの受信時点に基づき、イベントデータの正否判定を行うための比較対象のデータが、後に受信した周期データであるか否かを判定する。
【0123】
比較対象が後に受信した周期データである場合(S1091:YES)、車載装置2の処理部20は、判定対象のイベントデータと、後に受信した周期データとのペイロード値が同一であるか否かを判定する(S1092)。比較対象が後に受信した周期データである場合、車載装置2の処理部20は、判定対象のイベントデータと、後に受信した周期データとのペイロード値(全てのシグナル値)が同一であるか否かを判定する。車載装置2の処理部20は、ペイロード値(全てのシグナル値)における同一性の判定において、ペイロード値(シグナル値)との差異(差異の絶対値、又は偏差等)が所定値以下である場合、同一(実質的に同一)であると判定するものであってもよい。車載装置2の処理部20は、ペイロード値の差異を判定する際に用いられる所定値(差異判定用閾値)を、0又は0に近接した比較的に小さい値にて設定する、先に受信したデータのペイロードの値と、イベントデータのペイロードの値との実質的な同一性を判定することができる。
【0124】
判定対象のイベントデータと、後に受信した周期データとのペイロード値が同一である場合(S1092:YES)、車載装置2の処理部20は、判定対象のイベントデータは正常であると判定する(S1093)。ペイロード値が同一である場合、すなわち最後に受信したイベントデータ(判定対象のイベントデータ)と、後と受信した周期データとのペイロード値(全てのシグナル値)が同一である場合、車載装置2の処理部20は、判定対象となるイベントデータは正常であると判定する。
【0125】
判定対象のイベントデータと、後に受信した周期データとのペイロード値が同一でない場合(S1092:NO)、車載装置2の処理部20は、判定対象のイベントデータは異常であると判定する(S1094)。判定対象のイベントデータと、後に受信した周期データとのペイロード値が同一でない場合、すなわち異なる場合、車載装置2の処理部20は、判定対象のイベントデータは異常であると判定する。この場合、車載装置2の処理部20は、判定対象となるイベントデータは異常(異常検知(範囲))であると判定する。
【0126】
比較対象が後に受信した周期データでない場合(S1091:NO)、車載装置2の処理部20は、判定対象のイベントデータと、後に受信したイベントデータとのペイロード値が異なるか否かを判定する(S1095)。比較対象が後に受信した周期データでない場合、すなわち比較対象のデータが正常と判断されたイベントデータであって、判定対象のイベントデータの受信時点の直後に受信したイベントデータである場合、車載装置2の処理部20は、判定対象のイベントデータと、後に受信したイベントデータとのペイロード値(いずれかのシグナル値)が異なるか否かを判定する。車載装置2の処理部20は、ペイロード値(全てのシグナル値)における同一性の判定において、ペイロード値(シグナル値)との差異(差異の絶対値、又は偏差等)が所定値よりも大きい場合、異なる(実質的に同一でない)と判定するものであってもよい。
【0127】
判定対象のイベントデータと、後に受信したイベントデータとのペイロード値が異なる場合(S1095:YES)、車載装置2の処理部20は、判定対象のイベントデータは正常であると判定する(S1096)。ペイロード値が異なる場合、判定対象のイベントデータと、後に受信したイベントデータとのペイロード値(いずれかのシグナル値)が異なる車載装置2の処理部20は、判定対象となるイベントデータは正常であると判定する。
【0128】
判定対象のイベントデータと、後に受信したイベントデータとのペイロード値が異ならない場合(S1095:NO)、車載装置2の処理部20は、判定対象のイベントデータは異常であると判定する(S1097)。判定対象のイベントデータと、後に受信したイベントデータとのペイロード値が異ならない、すなわち同一である場合、車載装置2の処理部20は、判定対象のイベントデータは異常であると判定する。この場合、車載装置2の処理部20は、判定対象となるイベントデータは異常(異常検知(範囲))であると判定する。車載装置2の処理部20は、上述した各処理によるイベントデータそれぞれに対するバックキャスト処理の判定結果(正常又は異常)を、データ受信リストにおけるバックキャスト結果のフィールドに追記することにより、当該判定結果を記憶部21に記憶する。
【0129】
車載装置2の処理部20は、S109(S1091からS1097)の処理を実行後、全てのイベントデータに対する判定が終了したか否かを判定する(S110)。個々のイベントデータに対するバックキャスト処理の判定結果(正常又は異常)はデータ受信リストに追記されており、車載装置2の処理部20は、当該データ受信リストを参照することにより、イベントデータそれぞれに対するバックキャスト処理の進捗状況を把握することができる。
【0130】
車載装置2の処理部20は、複数のイベントデータに対し、最後に受信したイベントデータから、遡及的に順次に全てのイベントデータに対し、バックキャスト処理を継続的に行う。又は、車載装置2の処理部20は、複数のイベントデータに対し、最後に受信したイベントデータから、遡及的に順次にイベントデータに対しバックキャスト処理を行い、いずれかのイベントデータが異常と判定された場合、当該バックキャスト処理を中止するものであってもよい。車載装置2の処理部20は、例えば、データ種別テーブルを参照し、判定対象のイベントデータのデータ種別を特定し、特定したデータ種別に定義されているバックキャストフラグに基づき、いずれかのイベントデータが異常と判定された場合、全てのイベントデータに対しバックキャスト処理を継続するか、又はバックキャスト処理を中止するかを決定するものであってもよい。
【0131】
従って、全てのイベントデータに対する判定が終了した場合(バックキャスト処理の終了条件)は、データ種別テーブルのバックキャストフラグの設定に応じて異なるものとなり、受信した全てのイベントデータの処理が終了した場合(バックキャストフラグ:1)と、いずれかのイベントデータが異常と判定された場合(バックキャストフラグ:0)とを含む。データ種別に応じてバックキャスト処理の継続又は中止を選択的に実行することにより、判定対象のイベントデータのデータ種別に応じた好適な判定処理を行うことができる。全てのイベントデータに対する判定が終了していない(バックキャスト処理の終了条件が満たされていない)場合(S110:NO)、車載装置2の処理部20は、再度S109(S1091からS1097)の処理を実行すべく、ループ処理を行う。
【0132】
全てのイベントデータに対する判定が終了した場合(S110:YES)、車載装置2の処理部20は、判定対象となるイベントデータそれぞれに対し、フォアキャスト結果及びバックキャスト結果に応じて、最終的な判定結果を導出する(S111)。車載装置2の処理部20は、判定対象となるイベントデータそれぞれに対し、データ受信リストにおけるフォアキャスト結果及びバックキャスト結果に応じて、最終的な判定結果を導出する。車載装置2の処理部20は、判定対象となるイベントデータそれぞれにおいて、フォアキャスト結果のみを有するイベントデータについては、当該フォアキャスト結果を最終的な判定結果として導出する。
【0133】
車載装置2の処理部20は、判定対象となるイベントデータそれぞれにおいて、フォアキャスト結果及びバックキャスト結果を有するイベントデータについては、当該フォアキャスト結果とバックキャスト結果との組み合わせに基づき、最終的な判定結果として導出する。車載装置2の処理部20は、例えば、記憶部21に記憶されている判定テーブルを参照して、フォアキャスト結果とバックキャスト結果との組み合わせに基づき、最終的な判定結果として導出するものであってもよい。
【0134】
フォアキャスト結果及びバックキャスト結果が共に正常(OK)である場合、車載装置2の処理部20は、イベントデータは正常である旨を最終的な判定結果として導出するものであってもよい。フォアキャスト結果及びバックキャスト結果が共に異常(NG)である場合、車載装置2の処理部20は、イベントデータは異常(異常検知(特定))である旨を最終的な判定結果として導出するものであってもよい。フォアキャスト結果及びバックキャスト結果が異なる場合、車載装置2の処理部20は、イベントデータは異常(異常検知(範囲))である旨を最終的な判定結果として導出するものであってもよい。
【0135】
車載装置2の処理部20は、導出した最終的な判定結果をデータ受信リストに格納(追記)することにより、ログ情報として記憶部21に記憶するものであってもよい。車載装置2の処理部20は、ログ情報として記憶したデータ受信リストを、外部サーバ100又は表示装置5に出力するものであってもよい。
【0136】
本実施形態において、車載装置2の処理部20は、S109等のバックキャスト処理と、S106等のフォアキャスト処理とを、マルチコア又はマルチCPUのハードウェアリソースを用いて、並列計算(並列処理)するものであってもよい。このようにイベントデータに対する複数の処理を並列化することにより、当該イベントデータの正否判定処理に要する処理時間(エラップスタイム)を低減させることができる。
【0137】
(実施形態2)
図15は、実施形態2(正常周期範囲での複数受信)に係る複数の周期データの正否判定(ペイロード値)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)は正常であると判定されており、当該先の周期データ(基準Msg)の受信時点を基準にイベントデータ送信禁止期間、及び正常値範囲が決定される。当該正常周期範囲において、複数の周期データ(Msg1、Msg2)が受信されている。車載装置2の処理部20は、受信した周期データ(Msg1)及び周期データ(Msg2)のそれぞれのペイロード値(シグナル値)が、正常値範囲(取り得る値)に含まれるか否かを判定する。
【0138】
本実施形態における図示では、周期データ(Msg1、Msg2)のペイロード領域には、シグナルA及びシグナルBの値が含まれている。複数のシグナル値のうち、いずれかのシグナル値のみが正常値範囲外となっている場合であっても、車載装置2の処理部20は、当該正常値範囲外のシグナル値(取り得る範囲を逸脱したシグナル値)をペイロード領域に含むイベントデータを異常検知(特定)「異常(特定)」であると判定するものであってもよい。周期データ(Msg1)のペイロード値(シグナル値)は、データ種別テーブルにて定義されているペイロード正常値範囲(シグナルA及びBの正常値範囲)外となっている。従って、車載装置2の処理部20は、周期データ(Msg1)を異常検知(特定)「異常(特定)」であると判定する。周期データ(Msg2)のペイロード値(シグナル値)は、データ種別テーブルにて定義されているペイロード正常値範囲(シグナルA及びBの正常値範囲)内となっている。従って、車載装置2の処理部20は、周期データ(Msg2)を正常であると判定する。
【0139】
図16は、複数の周期データの正否判定(イベントデータ送信禁止期間)に関する説明図である。本実施形態における図示では、先の周期データ(基準Msg)は正常であると判定されており、当該先の周期データ(基準Msg)の受信時点を基準にイベントデータ送信禁止期間、及び正常値範囲が決定される。当該正常周期範囲において、複数の周期データ(Msg1、Msg2)が受信されている。これら周期データ(Msg1)及び周期データ(Msg2)のそれぞれのペイロード値(シグナル値)は、ペイロード正常値範囲内であり、ペイロード値(シグナル値)の観点からは、これら周期データ(Msg1、Msg2)は正常であると判定されている。
【0140】
車載装置2の処理部20は、ペイロード値(シグナル値)の観点から正常と判定され、受信時点が連続する2つの周期データ(Msg1、Msg2)の受信時点の間隔が、データ種別テーブルにて定義されるイベントデータ送信禁止時間以下であるか否かを判定する。すなわち、ペイロード値(シグナル値)の観点から正常と判定され、受信時点が連続する2つの周期データ(Msg1、Msg2)において、前の周期データ(Msg1)の受信時点を基準としたイベントデータ送信禁止期間に、次の周期データ(Msg2)の受信時点が、含まれるか否かを判定する。当該受信時点がイベントデータ送信禁止期間に含まれない場合、すなわち受信時点の間隔がイベントデータ送信禁止時間よりも長い場合、車載装置2の処理部20は、受信時点が連続する2つの周期データ(Msg1、Msg2)は正常であると判定する。受信時点がイベントデータ送信禁止期間に含まれる場合、すなわち受信時点の間隔がイベントデータ送信禁止時間以下である場合、車載装置2の処理部20は、受信時点が連続する2つの周期データ(Msg1、Msg2)は、共に異常検知(範囲)「異常(範囲)」であると判定する。車載装置2の処理部20は、同じ正常周期範囲内にて複数の周期データを受信した場合、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているように、次の正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移するものであってもよい。
【0141】
図17は、車載装置2の処理部20の処理を例示するフローチャートである。車載装置2の処理部20は、例えば車両Cが起動状態(IGスイッチ6又はパワースイッチがオン)又は停止状態(IGスイッチ6又はパワースイッチがオフ)において、定常的に以下の処理を行う。本処理において、車載装置2の処理部20は、正常周期範囲に受信した周期データが2つ以上であっても、これら2つ以上の周期データを一律に異常(異常検知(範囲))であると判定するものでなく、ペイロード値及びイベントデータ送信禁止期間の観点から、正否判定を行う。従って、本実施形態における処理は、実施形態1にて説明した処理S104及びS1041を更に拡張した処理に相当する。
【0142】
本実施形態におけるフローチャートにおいて、正常周期範囲内に受信した周期データが2つ以上の場合における車載装置2の処理部20にて説明する。なお、正常周期範囲外にて受信したイベントデータに対する各種の処理に関しては、車載装置2の処理部20は、実施形態1と同様の処理を行うものであってもよい。
【0143】
車載装置2の処理部20は、正常周期範囲に受信した周期データは2つ以上であるか否かを判定する(S201)。車載装置2の処理部20は、例えば、実施形態1の処理S101と設定された正常周期範囲内において、受信した周期データの個数が、2つ以上であるか否かを判定する。車載装置2の処理部20は、仮に、正常周期範囲内にて受信したデータを周期データとみなして処理を行うものであっても、正常周期範囲の上下限値を比較的に大きい値に設定することにより、同じ正常値範囲内にて2つのデータを連続して受信することが想定され、当該2つのデータのうち、いずれかのデータはイベントデータである可能性がある。このような場合であっても、車載装置2の処理部20は、受信したデータと受信時点とを関連付けて記憶部21に記憶(データ受信リストに保存)するため、同じ正常値範囲内にて連続して受信した2つのデータ(周期データ及び実質的にイベントデータ)に対し、ペイロード値及びデータ送信特性の観点からの正否判定を行う。
【0144】
正常周期範囲内において、受信した周期データの個数が、2つ以上である場合(S201:YES)、車載装置2の処理部20は、判定対象の周期データのペイロード値が正常値範囲内であるか否かを判定する(S202)。正常周期範囲内において2つ以上の周期データを受信した場合、車載装置2の処理部20は、これら周期データそれぞれのペイロード値が正常値範囲内であるか否かを判定する。車載装置2の処理部20は、例えば、記憶部21に記憶されているデータ種別テーブルを参照することにより、判定対象の周期データのペイロード値が、当該周期データのデータ種別にて決定されるペイロード正常値範囲に収まるか否かを判定する。車載装置2の処理部20は、受信時点が古い周期データから、順次に判定処理を開始するものであってもよい。車載装置2の処理部20は、実施形態1のS105におけるイベントデータに対する判定処理と同様に、ペイロード領域に含まれるシグナル値それぞれに対し、正常値範囲内であるか否かを判定する。
【0145】
正常値範囲内でない場合(S202:NO)、車載装置2の処理部20は、判定対象の周期データは異常であると判定する(S2021)。判定対象の周期データのペイロード値(いずれかのシグナル値)が、正常値範囲内でない場合、車載装置2の処理部20は、当該判定対象の周期データを特定異常検知「異常検知(特定)」に該当すると判定する。
【0146】
正常値範囲内である場合(S202:YES)、車載装置2の処理部20は、ペイロード値からの観点においては、判定対象の周期データは正常であると判定する(S203)。車載装置2の処理部20は、判定対象の周期データのペイロード値(全てのシグナル値)が正常値範囲内であると判定した場合、当該判定対象の周期データは、ペイロード値(シグナル値)の観点からは正常であると一旦、判定し、当該正常判定した旨を記憶部21に記憶するものであってもよい。このようにペイロード値(シグナル値)の観点からは正常であると判定された周期データが、イベントデータ送信禁止期間の観点からの正否判定が実施される周期データとなる。
【0147】
車載装置2の処理部20は、受信した全ての周期データに対する処理が終了したか否かを判定する(S204)。全ての周期データに対する処理が終了していない場合(S204:NO)、車載装置2の処理部20は、再度S202の処理を実行すべく、ループ処理を行う。車載装置2の処理部20は、記憶部21に記憶されているデータ受信リストを参照することにより、同じ正常周期範囲内にて受信した全ての周期データに対する判定が終了したか、すなわち、ペイロード値(シグナル値)の観点からの判定処理が未実施な周期データの有無を判定する。
【0148】
全ての周期データに対する処理が終了した場合(S204:YES)、車載装置2の処理部20は、周期データの受信時点がイベントデータ送信禁止期間内であるか否かを判定する(S205)。車載装置2の処理部20は、S202の処理結果としてペイロード値が正常値範囲内であると判定した周期データのみを対象として、当該判定対象となる周期データの受信時点よりも直近に受信された周期データの受信時点を基準としたイベントデータ送信禁止期間内に、判定対象となる周期データの受信時点が含まれるか否かを判定する。
【0149】
このようにペイロード値が正常値範囲内であると判定され、受信時点が連続する2つの周期データにおいて、前に受信された周期データの受信時点を基準としたイベントデータ送信禁止期間内に、次に受信された周期データの受信時点が含まれるか否かを、車載装置2の処理部20は判定する。すなわち、車載装置2の処理部20は、判定対象となる周期データ(次に受信された周期データ)の受信時点と、直近に受信された周期データ(前に受信された周期データ)の受信時点との間隔が、データ種別テーブルにて定義されるイベントデータ送信禁止時間以下となるか否かを判定する。この場合、同じ正常周期範囲内にて受信した複数の周期データのうち、最初に受信された周期データの受信時点が、イベントデータ送信禁止期間の開始時点となる。従って、当該最初に受信された周期データは、イベントデータ送信禁止期間内であるか否かの判定処理から除外される。イベントデータ送信禁止期間の基準となる周期データ(判定対象となる周期データの受信時点よりも直近に受信された周期データ)についても、ペイロード値が正常値範囲内であると判定された周期データである。
【0150】
周期データの受信時点がイベントデータ送信禁止期間内である場合(S205:YES)、車載装置2の処理部20は、周期データは異常であると判定する(S2051)。周期データの受信時点がイベントデータ送信禁止期間内である場合、すなわち判定対象となる周期データの受信時点と、直近に受信された周期データの受信時点との間隔が、データ種別テーブルにて定義されるイベントデータ送信禁止時間以下となる場合、車載装置2の処理部20は、判定対象の周期データは異常であると判定する。この場合、車載装置2の処理部20は、判定対象の周期データのみならず、イベントデータ送信禁止期間の基準となる周期データについても異常と判定し、これら2つの周期データを異常検知(範囲)「異常(範囲)」と判定するものであってもよい。
【0151】
周期データの受信時点がイベントデータ送信禁止期間内でない場合(S205:NO)、車載装置2の処理部20は、周期データは正常であると判定する(S206)。周期データの受信時点がイベントデータ送信禁止期間内でない場合、すなわち判定対象となる周期データの受信時点と、直近に受信された周期データの受信時点との間隔が、データ種別テーブルにて定義されるイベントデータ送信禁止時間よりも長い場合、車載装置2の処理部20は、判定対象の周期データは正常であると判定する。
【0152】
車載装置2の処理部20は、受信した全ての周期データに対する処理が終了したか否かを判定する(S207)。全ての周期データに対する処理が終了していない場合(S207:NO)、車載装置2の処理部20は、再度S205の処理を実行すべく、ループ処理を行う。これにより、同一の正常周期範囲内にて3つ以上の周期データを受信した場合であっても、これら周期データに対し、順次に判定処理を行うことができる。
【0153】
全ての周期データに対する処理が終了した場合(S207:YES)、又は受信した周期データの個数が2つ以上でない場合(S201:NO)、車載装置2の処理部20は、イベントデータの正否判定を実行する(S208)。車載装置2の処理部20は、受信した周期データの個数が2つ以上であって、これら周期データに対する正否判定を実行後、実施形態1と同様にイベントデータの正否判定を実行する。当該イベントデータの正否判定は、実施形態1にて説明したS102からS111までの処理を含むものであってもよい。正常周期範囲に受信した周期データは2つ以上である場合、車載装置2の処理部20は、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているように、次の正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移するものであってもよい。
【0154】
車載装置2の処理部20は、正常周期範囲に受信した周期データは2つ以上でない場合、すなわち受信した周期データが1つの場合、実施形態1と同様にイベントデータの正否判定を行う。又は、車載装置2の処理部20は、正常周期範囲に受信した周期データが無い場合、実施形態1のS1041と同様に、受信したイベントデータを異常(異常検知(範囲))であると判定するものであってもよい。正常周期範囲に受信した周期データが無い場合、車載装置2の処理部20は、例えば、国際公開第2022/185566号公報(WO/2022/185566)に記載されているように、次の正常周期範囲を特定するにあたり基準となるデータ(周期データ)の受信を行う基準データ受信状態(基準メッセージの取得状態)に遷移するものであってもよい。
【0155】
今回開示された実施形態は全ての点で例示であって、制限的なものではないと考えられるべきである。本発明の範囲は、上記した意味ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内での全ての変更が含まれることが意図される。
【0156】
特許請求の範囲に記載されている複数の請求項に関して、引用形式に関わらず、相互に組み合わせることが可能である。特許請求の範囲では、複数の請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項を記載してもよい。多項従属請求項に従属する多項従属請求項が記載されていない場合であっても、これは、多項従属請求項に従属する多項従属請求項の記載を制限するものではない。
【符号の説明】
【0157】
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
図13
図14
図15
図16
図17