(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-11
(45)【発行日】2024-09-20
(54)【発明の名称】信号検出装置、車両及び方法
(51)【国際特許分類】
H04L 43/16 20220101AFI20240912BHJP
H04L 12/28 20060101ALI20240912BHJP
H04L 12/46 20060101ALI20240912BHJP
【FI】
H04L43/16
H04L12/28 100A
H04L12/46 100C
(21)【出願番号】P 2022107261
(22)【出願日】2022-07-01
【審査請求日】2023-03-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】斎藤 大介
(72)【発明者】
【氏名】廣野 祐樹
【審査官】速水 雄太
(56)【参考文献】
【文献】国際公開第2021/065068(WO,A1)
【文献】特開2018-156450(JP,A)
【文献】特開2017-073834(JP,A)
【文献】特開2018-117242(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
41/00-101/695
(57)【特許請求の範囲】
【請求項1】
予め定められた周期で通信網に入力されることが期待される信号を検出する信号検出部と、
前記信号検出部が検出した信号のうち、不正信号を判定するための基準信号として設定されている第1信号より後に前記信号検出部が検出した第2信号の検出タイミングが、前記第1信号の検出タイミングから前記周期の整数倍だけ後のタイミングである基準タイミングを含む予め定められた範囲内にあるか否か、及び、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第1閾値以下であるか否かを判定する判定部と
を備え、
前記判定部は、
前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値以下である場合に、前記第2信号を基準信号として設定し、
前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値を超える場合に、前記第2信号を基準信号として設定せず、前記第1信号を基準信号とする
信号検出装置。
【請求項2】
前記判定部は、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第2閾値以下である場合に、前記第2信号の検出タイミングが前記基準タイミングを含む前記予め定められた範囲内にあると判定し、
前記第1閾値は、前記第2閾値より小さい
請求項1に記載の信号検出装置。
【請求項3】
前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にある場合に、前記第2信号が正常信号であると判定する
請求項1又は2に記載の信号検出装置。
【請求項4】
前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にない場合に、前記第2信号が正常信号でないと判定し、前記第2信号又は/及び前記通信網に入力される他の信号に含まれる情報に基づいて、前記第2信号が不正信号であるか否かを判定する
請求項1又は2に記載の信号検出装置。
【請求項5】
前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にない場合に、前記第2信号が正常信号でないと判定し、前記第2信号及び前記通信網に入力される他の信号に含まれる情報に基づいて、前記第2信号が不正信号であるか否かを判定する
請求項3に記載の信号検出装置。
【請求項6】
前記第1信号の検出タイミングは、前記信号検出部が前記第1信号の受信を完了したタイミングであり、前記第2信号の検出タイミングは、前記信号検出部が前記第2信号の受信を完了したタイミングである
請求項1に記載の信号検出装置。
【請求項7】
前記第1信号の検出タイミングは、前記信号検出部が前記第1信号の受信を完了したタイミングであり、前記第2信号の検出タイミングは、前記信号検出部が前記第2信号の受信を完了したタイミングである
請求項2に記載の信号検出装置。
【請求項8】
請求項1又は2に記載の信号検出装置を備える車両。
【請求項9】
予め定められた周期で通信網に入力されることが期待される信号を検出する段階と、
前記検出する段階で検出された信号のうち、不正信号を判定するための基準信号として設定されている第1信号より後に検出された第2信号の検出タイミングが、前記第1信号の検出タイミングから前記周期の整数倍だけ後のタイミングである基準タイミングを含む予め定められた範囲内にあるか否か、及び、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第1閾値以下であるか否かを判定する段階と、
前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値以下である場合に、前記第2信号を基準信号として設定する段階と、
前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値を超える場合に、前記第2信号を基準信号として設定せず、前記第1信号を基準信号とする段階と
を備える方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信号検出装置、車両及び方法に関する。
【背景技術】
【0002】
特許文献1及び特許文献2には、通信網に入力される不正信号を検出する技術が開示されている。
[先行技術文献]
[特許文献]
特許文献1 特開2021-136631号公報
特許文献2 特開2021-064921号公報
【発明の概要】
【発明が解決しようとする課題】
【0003】
ところで、通信網に不正に入力される信号をより適切に検出することが課題である。本願は上記課題の解決のため、安全性の向上を目的としたものである。そして、延いては交通の安全性をより一層改善して持続可能な輸送システムの発展に寄与するものである。
【課題を解決するための手段】
【0004】
本発明の第1の態様においては、信号検出装置が提供される。信号検出装置は、予め定められた周期で通信網に入力されることが期待される信号を検出する信号検出部と、前記信号検出部が検出した信号のうち、不正信号を判定するための基準信号として設定されている第1信号より後に前記信号検出部が検出した第2信号の検出タイミングが、前記第1信号の検出タイミングから前記周期の整数倍だけ後のタイミングである基準タイミングを含む予め定められた範囲内にあるか否か、及び、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第1閾値以下であるか否かを判定する判定部とを備える。前記判定部は、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値以下である場合に、前記第2信号を基準信号として設定し、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値を超える場合に、前記第2信号を基準信号として設定せず、前記第1信号を基準信号とする。
【0005】
前記判定部は、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第2閾値以下である場合に、前記第2信号の検出タイミングが前記基準タイミングを含む前記予め定められた範囲内にあると判定し、前記第1閾値は、前記第2閾値より小さくてよい。
【0006】
上記いずれかの信号検出装置において、前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にある場合に、前記第2信号が正常信号であると判定してよい。
【0007】
上記いずれかの信号検出装置において、前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にない場合に、前記第2信号が正常信号でないと判定し、前記第2信号及び前記通信網に入力される他の信号に含まれる情報に基づいて、前記第2信号が不正信号であるか否かを判定してよい。
【0008】
上記いずれかの信号検出装置において、前記判定部は、前記第2信号の検出タイミングが前記予め定められた範囲内にない場合に、前記第2信号が正常信号でないと判定し、前記第2信号及び前記通信網に入力される他の信号に含まれる情報に基づいて、前記第2信号が不正信号であるか否かを判定してよい。
【0009】
上記いずれかの信号検出装置において、前記第1信号の検出タイミングは、前記信号検出部が前記第1信号の受信を完了したタイミングであってよく、前記第2信号の検出タイミングは、前記信号検出部が前記第2信号の受信を完了したタイミングであってよい。
【0010】
上記いずれかの信号検出装置において、前記第1信号の検出タイミングは、前記信号検出部が前記第1信号の受信を完了したタイミングであってよく、前記第2信号の検出タイミングは、前記信号検出部が前記第2信号の受信を完了したタイミングであってよい。
【0011】
本発明の第2の態様においては、車両が提供される。車両は、上記いずれかの信号検出装置を備える。
【0012】
本発明の第3の態様においては、方法が提供される。方法は、予め定められた周期で通信網に入力されることが期待される信号を検出する段階と、前記検出する段階で検出された信号のうち、不正信号を判定するための基準信号として設定されている第1信号より後に検出された第2信号の検出タイミングが、前記第1信号の検出タイミングから前記周期の整数倍だけ後のタイミングである基準タイミングを含む予め定められた範囲内にあるか否か、及び、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが第1閾値以下であるか否かを判定する段階と、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値以下である場合に、前記第2信号を基準信号として設定する段階と、前記第2信号の検出タイミングと前記基準タイミングとの間のずれが前記第1閾値を超える場合に、前記第2信号を基準信号として設定せず、前記第1信号を基準信号とする段階とを備える。
【0013】
上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【0014】
【
図1】一実施形態における車両10のシステム構成を概念的に示す。
【
図2】ECU100が備える機能構成を概略的に示すブロック図である。
【
図3】不正信号を検出するために使用される基準時刻を設定する処理を説明するための図である。
【
図4】判定部220が不正信号を判定する処理を説明するための図である。
【
図5】ECU110が実行する信号検出方法に関するフローチャートである。
【発明を実施するための形態】
【0015】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【0016】
図1は、一実施形態における車両10のシステム構成を概念的に示す。車両10は、システム20を備える。システム20は、ECU100、ECU110、ECU111、ECU120及びECU121を含む複数のECU(電子制御ユニット)を備える。車両10が備えるECUは、例えばエンジン、変速機、操舵装置等のような車両10の走行に直接的な影響を与える機器を制御するためのECUを含む。車両10が備えるECUは、例えばエアコンディショナ及びナビゲーション装置等のような車両10の走行に直接的な影響を与えない機器を制御するためのECUを含む。ECU100、ECU110、ECU111、ECU120及びECU121は、車載機器の一例である。
【0017】
車両10が備えるECUは、コントローラエリアネットワーク(CAN)通信によって相互に通信を行う。車両10が備えるECUのそれぞれは、複数のCAN通信ネットワーク180によって互いに通信可能に接続される。ECU100は、複数のCAN通信ネットワーク180間の通信を中継するゲートウェイとして機能する。CAN通信ネットワーク180は、通信網の一例である。
【0018】
図2は、ECU100が備える機能構成を概略的に示すブロック図である。ECU100は、処理部200と、記憶部280とを備える。ECU100は、第三者がCAN通信ネットワーク180に対して車両10が備えるECUになりすまして不正信号を送信する、いわゆるなりすまし攻撃があるか否かを判定する処理を行う。
【0019】
処理部200は、演算処理を行うCPU等のプロセッサにより実装されてよい。記憶部280は、フラッシュメモリ等の不揮発性記憶媒体、ランダムアクセスメモリ等の揮発性記憶媒体を含んでよい。ECU100はコンピュータを含んで構成され得る。ECU100は、不揮発性記憶媒体に記憶されたプログラムに従って処理部200が動作することによって、各種の制御を実行する。
【0020】
処理部200は、信号検出部210と、判定部220とを備える。信号検出部210は、予め定められた周期でCAN通信ネットワーク180に入力されることが期待される信号を検出する。判定部220は、信号検出部210が検出した信号のうち、不正信号を判定するための基準信号として設定されている第1信号より後に信号検出部210が検出した第2信号の検出タイミングが、第1信号の検出タイミングから周期の整数倍だけ後のタイミングである基準タイミングを含む予め定められた範囲内にあるか否か、及び、第2信号の検出タイミングと基準タイミングとの間のずれが第1閾値以下であるか否かを判定する。判定部220は、第2信号の検出タイミングと基準タイミングとの間のずれが第1閾値以下である場合に、第2信号を基準信号として設定する。判定部220は、第2信号の検出タイミングと基準タイミングとの間のずれが第1閾値を超える場合に、第2信号を基準信号として設定せず、第1信号を基準信号とする。このように、判定部220は、第2信号が正常信号とみなされ得る場合でも、検出タイミングが周期タイミングからずれている場合は第2信号を基準信号とはせずに第1信号を基準信号とし、検出タイミングが周期タイミングからずれていない場合に第2信号を基準信号とすることができる。これにより、外乱等によって基準信号がずれないようにすることができる。
【0021】
判定部220は、第2信号の検出タイミングと基準タイミングとの間のずれが第2閾値以下である場合に、第2信号の検出タイミングが基準タイミングを含む予め定められた範囲内にあると判定する。第1閾値は、第2閾値より小さい。これにより、周期タイミングを基準とすることで不正信号であるか否かを正確に判定しつつ、周期タイミングからずれが小さい正常信号を基準信号とすることができる。
【0022】
判定部220は、第2信号の検出タイミングが予め定められた範囲内にある場合に、第2信号が正常信号であると判定する。これにより、第2信号が正常信号であることを正確に判定することができる。
【0023】
判定部220は、第2信号の検出タイミングが予め定められた範囲内にない場合に、第2信号が正常信号でないと判定し、第2信号又は/及びCAN通信ネットワーク180に入力される他の信号に含まれる情報に基づいて、第2信号が不正信号であるか否かを判定する。これにより、信号に含まれる内部情報を用いて、不正信号であるか否かをより正確に判定することができる。つまり、各信号の後部端(信号の受信完了タイミング)を基準としてタイミングを検出する場合には、第2信号のヘッダに含まれる自己の信号長情報から第1信号との関係で範囲外に押し出されたか否かを判断する。より正確に判断するため、第1信号のヘッダ情報等より第1信号と第2信号の関係性により範囲外に押し出された正常信号か、他の要因により範囲外に存在する異常信号かを判定することができる。
【0024】
第1信号の検出タイミングは、信号検出部210が第1信号の受信を完了したタイミングであってよく、第2信号の検出タイミングは、信号検出部210が第2信号の受信を完了したタイミングであってよい。例えば、信号の受信開始タイミング(又は送信元からの送信開始タイミング)を検出タイミングとして用いる場合、第2の信号が前の信号との通信競合又はバスアイドル待ちによって遅延したか否かを判定するためには、前の信号の受信開始タイミング及び第2の信号の受信開始タイミングの他に、前の信号の信号長を考慮する必要がある。つまり、信号の受信開始タイミングを検出タイミングとして用いる場合、前の信号の信号長を確認する必要がある。これに対し、信号の受信完了タイミング(又は送信完了タイミング)を検出タイミングとして用いる場合、第2の信号が前の信号との競合又はバスアイドル待ちによって遅延したか否かを判定するために、前の信号の受信完了タイミング及び第2の信号の受信完了タイミングの他に、第2の信号の信号長を考慮する必要があるが、第2の信号の信号長は第2の信号のヘッダ情報から取得できる。そのため、信号の受信完了タイミングを検出タイミングとして用いることで、判定部220は、前の信号の信号長を取得することなく、第2の信号自身の内部情報から判定を行うことができる。
【0025】
図3は、不正信号を検出するために使用される基準時刻を設定する処理を説明するための図である。
図3は、信号検出部210がCAN通信ネットワーク180上で信号を実際に検出した時刻を示す。なお、本実施形態において、判定部220は、同一のCAN IDが付与された複数の信号のうち、どの信号が正常信号であるか否かを判定する。そのため、本実施形態においては、特定のCAN IDが付与された信号を取り上げて説明する。
【0026】
図3において、実信号時刻は、信号検出部210が実際に信号を検出した時刻である。本実施形態において、信号を検出した時刻は、信号の送信開始時刻であってよい。例えば、信号を検出した時刻は、信号検出部210が信号の送信開始を検出した時刻であってよい。他の実施形態において、信号を検出した時刻は、信号検出部210が信号の送信時刻であってよい。例えば、信号を検出した時刻は、信号検出部210が信号の送信完了を検出した時刻であってよい。
【0027】
図3において、実信号周期は、CAN通信ネットワーク180に連続して入力された信号間の時間間隔である。本実施形態において処理対象とする信号は、予め定められた10msの周期でCAN通信ネットワーク180に入力されることが期待される信号であるとする。本実施形態では、基準時刻を設定する処理を分かり易く示すため、第1閾値は0.5msであるとする。
【0028】
時刻t1は、システム20においてCAN通信ネットワーク180を通じた通信が可能となった状態になった後、信号検出部210が最初にCAN通信ネットワーク180に入力された信号を受信した時刻であるとする。信号検出部210は、時刻t1から11msの時間が経過した時刻t2で、次の信号を検出する。判定部220は、時刻t2と、時刻t1から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t2における遅延時間は1msとなる。そのため、判定部220は、時刻t2における遅延時間累計値として1msを算出する。信号検出部210は、遅延時間累計値が第1閾値を超えるため、時刻t2に受信した信号を基準信号には設定しない。
【0029】
続いて、信号検出部210は、時刻t2から更に11msの時間が経過した時刻t3で、更に次の信号を検出する。判定部220は、時刻t3と、時刻t2から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t2における遅延時間は1msとなる。そのため、判定部220は、時刻t3における遅延時間累計値として2msを算出する。信号検出部210は、遅延時間累計値が第1閾値を超えるため、時刻t3に受信した信号を基準信号には設定しない。
【0030】
続いて、信号検出部210は、時刻t3から更に8msの時間が経過した時刻t4で、更に次の信号を検出する。判定部220は、時刻t4と、時刻t3から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t4における遅延時間は-2msとなる。そのため、判定部220は、時刻t4における遅延時間累計値として0msを算出する。信号検出部210は、遅延時間累計値が第1閾値以下であるため、時刻t4に受信した信号を基準信号として設定し、時刻t4を基準時刻として設定する。
【0031】
続いて、信号検出部210は、時刻t4から更に11.02msの時間が経過した時刻t5で、更に次の信号を検出する。判定部220は、時刻t5と、時刻t4から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t5における遅延時間は1.02msとなる。そのため、判定部220は、時刻t4における遅延時間累計値として1.02msを算出する。信号検出部210は、遅延時間累計値が第1閾値を超えるため、時刻t5に受信した信号を基準信号として設定しない。
【0032】
続いて、信号検出部210は、時刻t5から更に8.5msの時間が経過した時刻t6で、更に次の信号を検出する。判定部220は、時刻t6と、時刻t5から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t6における遅延時間は-1.5msとなる。そのため、判定部220は、時刻t6における遅延時間累計値として-0.48msを算出する。信号検出部210は、遅延時間累計値の絶対値が第1閾値以下であるため、時刻t6に受信した信号を基準信号として設定し、時刻t6を基準時刻として設定する。このとき、判定部220は、遅延時間累積値をリセットして0にする。
【0033】
続いて、信号検出部210は、時刻t6から更に10.4msの時間が経過した時刻t7で、更に次の信号を検出する。判定部220は、時刻t7と、時刻t6から周期10msの時間が経過したタイミングとの差を、遅延時間として算出する。時刻t6において遅延時間累積値は0にリセットされているため、時刻t7における遅延時間は0.4msとなる。そのため、判定部220は、時刻t7における遅延時間累計値として0.4msを算出する。信号検出部210は、遅延時間累計値が第1閾値以下であるため、時刻t7に受信した信号を基準信号として設定し、時刻t7を基準時刻として設定する。
【0034】
このように、判定部220は、新たな信号を検出した場合に、当該新たな信号を検出したタイミングと、基準時刻から信号周期の整数倍だけ後のタイミングである基準タイミングとの間のずれが第1閾値以下である場合に、当該新たな信号を基準信号として設定し、当該新たな信号を検出した時刻を、不正信号を検出するために用いられる基準時刻として設定する。
【0035】
図4は、判定部220が不正信号を判定する処理を説明するための図である。
図4を参照して、時刻t11が基準時刻として設定された後に検出した信号が不正信号であるか否かを判定する場合を説明する。本実施形態では、不正信号であるか否かを判定する処理を分かり易く示すため、正常信号であるか否かを判定するための第2閾値は1msであるとする。つまり、信号を検出した時刻が基準時刻から算出される基準タイミングを中心とする±1msの範囲内である場合に、検出した信号が正常信号であると判定するものとする。本実施形態では、図示し易さを目的として、第1閾値(0.5ms)は第2閾値(1ms)の1/2であるとして説明するが、第1閾値は第2閾値の1/5以下であってよい。第1閾値は第2閾値の1/10であってよい。
【0036】
図4を参照して、信号検出部210は、時刻t11から11msが経過した時刻t12において新たな信号を検出する。判定部220は、基準時刻から10msだけ後の時刻を基準タイミングとして設定する。時刻t12と基準タイミングとの差は1msである。つまり、時刻t12は基準タイミングを中心とする±1msの範囲内にある。そのため、判定部220は、時刻t12で検出した信号が正常信号であると判定する。
【0037】
続いて、信号検出部210は、時刻t12から10.5msが経過した時刻t13において新たな信号を検出する。判定部220は、基準時刻から10×2msだけ後の時刻を基準タイミングとして設定する。時刻t13と基準タイミングとの差は1.5msである。つまり、時刻t13は基準タイミングを中心とする±1msの範囲内にない。そのため、判定部220は、時刻t13で検出した信号が不正信号である可能性があると判定する。
【0038】
判定部220は、時刻t13で検出した信号が不正信号であるか否かを、時刻t13で検出した信号に含まれる情報、及び/又は、時刻t13で検出した信号の直前にCAN通信ネットワーク180に送信された信号に含まれる情報に基づいて判定してよい。例えば、判定部220は、各信号のヘッダ情報に含まれる信号長及び各信号の検出時刻に基づいて、時刻t13で検出した信号が送信時に他の信号と競合することによって遅延したか否かを判定してよい。判定部220は、時刻t13で検出した信号が送信時に他の信号と競合することによって遅延したと判定した場合、時刻t13で検出した信号が正常信号であると判定してよい。判定部220は、時刻t13で検出した信号が送信時に他の信号と競合することによって遅延していないと判定した場合、時刻t13で検出した信号が不正信号であると判定してよい。
【0039】
続いて、信号検出部210は、時刻t13から9.5msが経過した時刻t14において新たな信号を検出する。判定部220は、基準時刻から10×3msだけ後の時刻を基準タイミングとして設定する。時刻t14と基準タイミングとの差は1msである。つまり、時刻t14は基準タイミングを中心とする±1msの範囲内にある。そのため、判定部220は、時刻t14で検出した信号が正常信号であると判定する。
【0040】
続いて、信号検出部210は、時刻t14から9.8msが経過した時刻t15において新たな信号を検出する。判定部220は、基準時刻から10×4msだけ後の時刻を基準タイミングとして設定する。時刻t15と基準タイミングとの差は0.8msである。つまり、時刻t15は基準タイミングを中心とする±1msの範囲内にある。そのため、判定部220は、時刻t15で検出した信号が正常信号であると判定する。
【0041】
このように、判定部220は、新たな信号を検出した場合に、基準時刻から周期の整数倍だけ後のタイミングを基準タイミングとして設定する。判定部220は、新たな信号の検出タイミングが当該基準タイミングを含む予め定められた範囲内にある場合に、新たな信号が正常信号であると判定してよい。一方、判定部220は、新たな信号の検出タイミングが当該基準タイミングを含む予め定められた範囲内にない場合に、新たな信号が不正信号であると判定してよい。
【0042】
図5は、ECU110が実行する信号検出方法に関するフローチャートである。
図5は、基準時刻を設定する処理に関するフローチャートである。
図5のフローチャートの処理は、信号検出部210が信号を検出する毎に実行され得る。
【0043】
信号検出部210が信号を検出すると、S502において、判定部220は、現在設定されている基準時刻、現在の遅延時間累積値、及び信号の検出時刻とに基づいて、検出した信号に対する遅延時間累積値を算出する。S504において、判定部220は、遅延時間累積値の絶対値が第1閾値以下であるか否かを判定する。遅延時間累積値の絶対値が第1閾値以下である場合、S506において、判定部220は、信号検出部210が検出した信号を基準信号として設定し、記憶部280は、当該信号の検出時刻を現在の基準時刻として格納する。
【0044】
S506において、遅延時間累積値の絶対値が第1閾値を超える場合、判定部220は、基準時刻を更新せずに、本フローチャートの処理を終了する。
【0045】
ところで、遅延時間累積値の絶対値が第1閾値を超える場合、判定部220は、現在の基準時刻から当該信号の検出時刻までの経過時間が予め定められた時間を超えていることを条件として、当該信号の検出時刻を基準時刻として設定してよい。CAN通信ネットワーク180に信号が実際に入力される周期に一定の誤差があると、基準時刻と周期に基づいて算出される基準タイミングにも誤差が生じる。そのため、基準時刻を長時間にわたって更新されない場合には、基準タイミングに生じる誤差が累積するため、正常信号であるか否かを誤判定してしまう可能性がある。現在の基準時刻からの経過時間が予め定められた時間を超えている場合に、新たな信号の検出時刻を基準時刻として設定することで、累積誤差によって正常信号であるか否かを誤判定してしまう可能性を低減することができる場合がある。
【0046】
CAN通信ネットワーク180においては、CAN通信ネットワーク180に信号を入力する際に競合が生じた場合、通信調停によって優先順位に従って信号が送信されるので、信号が実際に送信されるまで遅延が生じ得る。そのため、遅延した信号の検出時刻を基準時刻として不正信号を判定すると、正常信号か否かを誤判定してしまう場合がある。これに対し、システム20によれば、判定部220は、信号検出部210が新たな信号を検出した場合に、当該新たな信号を検出したタイミングと、基準時刻から信号周期の整数倍だけ後のタイミングである基準タイミングとの間のずれが第1閾値以下である場合に、当該新たな信号を基準信号として設定し、当該新たな信号を検出した時刻を基準時刻として設定する。これにより、CAN通信ネットワーク180に不正に入力される信号を検出するための基準時刻をより適切に設定することが可能になる。ひいては、CAN通信ネットワーク180に不正に入力される信号を適切に検出することが可能になる。
【0047】
図6は、本発明の複数の実施形態が全体的又は部分的に具現化され得るコンピュータ2000の例を示す。コンピュータ2000にインストールされたプログラムは、コンピュータ2000を、実施形態に係るシステム20等のシステム又はシステムの各部、もしくはECU110等の装置又は当該装置の各部として機能させる、当該システム又はシステムの各部もしくは当該装置又は当該装置の各部に関連付けられるオペレーションを実行させる、及び/又は、実施形態に係るプロセス又は当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ2000に、本明細書に記載の処理手順及びブロック図のブロックのうちのいくつか又はすべてに関連付けられた特定のオペレーションを実行させるべく、CPU2012によって実行されてよい。
【0048】
本実施形態によるコンピュータ2000は、CPU2012、及びRAM2014を含み、それらはホストコントローラ2010によって相互に接続されている。コンピュータ2000はまた、ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040を含む。ROM2026、フラッシュメモリ2024、通信インタフェース2022、及び入力/出力チップ2040は、入力/出力コントローラ2020を介してホストコントローラ2010に接続されている。
【0049】
CPU2012は、ROM2026及びRAM2014内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。
【0050】
通信インタフェース2022は、ネットワークを介して他の電子デバイスと通信する。フラッシュメモリ2024は、コンピュータ2000内のCPU2012によって使用されるプログラム及びデータを格納する。ROM2026は、アクティブ化時にコンピュータ2000によって実行されるブートプログラム等、及び/又はコンピュータ2000のハードウエアに依存するプログラムを格納する。入力/出力チップ2040はまた、キーボード、マウス及びモニタ等の様々な入力/出力ユニットをシリアルポート、パラレルポート、キーボードポート、マウスポート、モニタポート、USBポート、HDMI(登録商標)ポート等の入力/出力ポートを介して、入力/出力コントローラ2020に接続してよい。
【0051】
プログラムは、CD-ROM、DVD-ROM、又はメモリカードのようなコンピュータ可読記憶媒体又はネットワークを介して提供される。RAM2014、ROM2026、又はフラッシュメモリ2024は、コンピュータ可読記憶媒体の例である。プログラムは、フラッシュメモリ2024、RAM2014、又はROM2026にインストールされ、CPU2012によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ2000に読み取られ、プログラムと上記様々なタイプのハードウエアリソースとの間の連携をもたらす。装置又は方法が、コンピュータ2000の使用に従い情報のオペレーション又は処理を実現することによって構成されてよい。
【0052】
例えば、コンピュータ2000及び外部デバイス間で通信が実行される場合、CPU2012は、RAM2014にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース2022に対し、通信処理を命令してよい。通信インタフェース2022は、CPU2012の制御下、RAM2014及びフラッシュメモリ2024のような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取った送信データをネットワークに送信し、ネットワークから受信された受信データを、記録媒体上に提供される受信バッファ処理領域等に書き込む。
【0053】
また、CPU2012は、フラッシュメモリ2024等のような記録媒体に格納されたファイル又はデータベースの全部又は必要な部分がRAM2014に読み取られるようにし、RAM2014上のデータに対し様々な種類の処理を実行してよい。CPU2012は次に、処理されたデータを記録媒体にライトバックする。
【0054】
様々なタイプのプログラム、データ、テーブル、及びデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理にかけられてよい。CPU2012は、RAM2014から読み取られたデータに対し、本明細書に記載され、プログラムの命令シーケンスによって指定される様々な種類のオペレーション、情報処理、条件判断、条件分岐、無条件分岐、情報の検索/置換等を含む、様々な種類の処理を実行してよく、結果をRAM2014にライトバックする。また、CPU2012は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第2の属性の属性値に関連付けられた第1の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、CPU2012は、第1の属性の属性値が指定されている、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第2の属性の属性値を読み取り、それにより予め定められた条件を満たす第1の属性に関連付けられた第2の属性の属性値を取得してよい。
【0055】
上で説明したプログラム又はソフトウエアモジュールは、コンピュータ2000上又はコンピュータ2000近傍のコンピュータ可読記憶媒体に格納されてよい。専用通信ネットワーク又はインターネットに接続されたサーバーシステム内に提供されるハードディスク又はRAMのような記録媒体が、コンピュータ可読記憶媒体として使用可能である。コンピュータ可読記憶媒体に格納されたプログラムを、ネットワークを介してコンピュータ2000に提供してよい。
【0056】
コンピュータ2000にインストールされ、コンピュータ2000をECU110として機能させるプログラムは、CPU2012等に働きかけて、コンピュータ2000を、ECU110の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ2000に読込まれることにより、ソフトウェアと上述した各種のハードウエア資源とが協働した具体的手段であるECU110の各部として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ2000の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のECU110が構築される。
【0057】
様々な実施形態が、ブロック図等を参照して説明された。ブロック図において各ブロックは、(1)オペレーションが実行されるプロセスの段階又は(2)オペレーションを実行する役割を持つ装置の各部を表わしてよい。特定の段階及び各部が、専用回路、コンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、及び/又はコンピュータ可読記憶媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタル及び/又はアナログハードウエア回路を含んでよく、集積回路(IC)及び/又はディスクリート回路を含んでよい。プログラマブル回路は、論理AND、論理OR、論理XOR、論理NAND、論理NOR、及び他の論理オペレーション、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブルロジックアレイ(PLA)等のようなメモリ要素等を含む、再構成可能なハードウエア回路を含んでよい。
【0058】
コンピュータ可読記憶媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読記憶媒体は、処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく実行され得る命令を含む製品の少なくとも一部を構成する。コンピュータ可読記憶媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読記憶媒体のより具体的な例としては、フロッピー(登録商標)ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリメモリ(ROM)、消去可能プログラマブルリードオンリメモリ(EPROM又はフラッシュメモリ)、電気的消去可能プログラマブルリードオンリメモリ(EEPROM)、静的ランダムアクセスメモリ(SRAM)、コンパクトディスクリードオンリメモリ(CD-ROM)、デジタル多用途ディスク(DVD)、ブルーレイ(登録商標)ディスク、メモリスティック、集積回路カード等が含まれてよい。
【0059】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、又はSmalltalk(登録商標)、JAVA(登録商標)、C++等のようなオブジェクト指向プログラミング言語、及び「C」プログラミング言語又は同様のプログラミング言語のような従来の手続型プログラミング言語を含む、1又は複数のプログラミング言語の任意の組み合わせで記述されたソースコード又はオブジェクトコードのいずれかを含んでよい。
【0060】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサ又はプログラマブル回路に対し、ローカルに又はローカルエリアネットワーク(LAN)、インターネット等のようなワイドエリアネットワーク(WAN)を介して提供され、説明された処理手順又はブロック図で指定されたオペレーションを実行するための手段をもたらすべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【0061】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【0062】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の序順で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【0063】
10 車両
20 システム
100 ECU
110 ECU
111 ECU
120 ECU
121 ECU
180 CAN通信ネットワーク
200 処理部
210 信号検出部
220 判定部
280 記憶部
2000 コンピュータ
2010 ホストコントローラ
2012 CPU
2014 RAM
2020 入力/出力コントローラ
2022 通信インタフェース
2024 フラッシュメモリ
2026 ROM
2040 入力/出力チップ