(57)【要約】      （修正有）【課題】時間情報を用いることなく、攻撃を検出することができる電子制御装置を提供する。【解決手段】電子制御装置１０は、ＥＣＵ８から送信された複数のＣＡＮフレームを、ＣＡＮバス４を介して受信する受信部１２と、ＥＣＵ８から同一送信周期で送信される複数のＣＡＮフレームの種類数と同数のＣＡＮフレームが受信部１２で受信される期間である判定期間内に、同一送信周期で送信された同一種類のフレームが２個以上受信部１２で受信された場合に、ＣＡＮフレームが異常であると判定する判定部１６とを備える。【選択図】図１
2020102771.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して通信装置と通信可能な電子制御装置であって、
前記通信装置から送信された複数のフレームを、前記ネットワークを介して受信する受信部と、
前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する判定部と、
を備える電子制御装置。
【請求項２】
前記電子制御装置は、さらに、前記通信装置から前記同一送信周期で送信される複数のフレームをグルーピングしたグループを示すグループ情報を記憶する記憶部を備え、
前記判定部は、前記グループ情報に基づいて前記受信部で受信されたフレームが属する前記グループを特定し、特定した前記グループに属する複数のフレームの種類数と同数のフレームが前記第１の判定期間内に前記受信部で受信された際に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信されたか否かを判定する、
請求項１に記載の電子制御装置。
【請求項３】
前記判定部は、
前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信された場合に、当該第１の判定期間内に複数のフレームがそれぞれ前記受信部で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間毎に、前記同一送信周期で送信された同一種類のフレームが当該検証用判定期間内に２個以上前記受信部で受信されたか否かを判定し、
過半数の前記検証用判定期間において、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合には、フレームが異常であると判定する、
請求項１又は２に記載の電子制御装置。
【請求項４】
前記判定部は、前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信された際に、前記第１の判定期間を、前記種類数のｎ倍（ｎは２以上の整数）の数のフレームが前記受信部で受信される期間である拡張判定期間に拡張し、前記同一送信周期で送信された複数のフレームが前記拡張判定期間内にフレームの種類毎にｎ個ずつ前記受信部で受信された場合に、前記第１の判定期間内に受信されたフレームが正常であると判定する、
請求項１又は２に記載の電子制御装置。
【請求項５】
前記判定部は、前記同一送信周期と異なる送信周期で送信されたフレームが前記第１の判定期間内に前記受信部で受信された個数が閾値以上である場合に、当該第１の判定期間の次の周期の前記第１の判定期間の開始タイミングを、前記同一送信周期で送信された複数のフレームが前記受信部でそれぞれ受信された複数の受信タイミングのいずれかに変更する、
請求項１又は２に記載の電子制御装置。
【請求項６】
前記判定部は、前記複数の受信タイミングの中から、前記同一送信周期と異なる送信周期で送信されたフレームが前記第１の判定期間内に前記受信部で受信される個数が最も少なくなる前記受信タイミングを選択し、選択した前記受信タイミングを前記第１の判定期間の開始タイミングとして決定する、
請求項５に記載の電子制御装置。
【請求項７】
前記判定部は、さらに、同一の前記通信装置から送信された複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第２の判定期間内に、前記同一の通信装置から送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する、
請求項１又は２に記載の電子制御装置。
【請求項８】
前記判定部は、前記通信装置から前記同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記第１の判定期間内に前記受信部で受信されたタイミングで、前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信されたか否かを判定する、
請求項１〜７のいずれか１項に記載の電子制御装置。
【請求項９】
前記判定部は、前記通信装置から前記同一送信周期で送信された複数のフレームの種類数よりも少ない数のフレームが前記第１の判定期間内に前記受信部で受信された状態で、前記同一送信周期で送信された同一種類のフレームが２回前記受信部で受信されたタイミングで、フレームが異常であると判定する、
請求項１に記載の電子制御装置。
【請求項１０】
ネットワークを介して通信装置と通信可能な電子制御装置の制御方法であって、
前記通信装置から送信された複数のフレームを、前記ネットワークを介して受信するステップと、
前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定するステップと、
を含む電子制御装置の制御方法。
【請求項１１】
通信装置から送信された複数のフレームを、ネットワークを介して受信する処理と、
前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する処理と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、電子制御装置、電子制御装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
近年、車両の加減速、操舵及び制動等の運転操作を自動で行う自動運転システムが知られている。この自動運転システムは、車両の運転操作を制御するための複数のＥＣＵ（Ｅｌｅｃｔｒｉｃ  Ｃｏｎｔｒｏｌ  Ｕｎｉｔ）を備えている。複数のＥＣＵは、共通のＣＡＮ（Ｃｏｎｔｒｏｌｌｅｒ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）バスに接続されている。これにより、送信側のＥＣＵから送信されたＣＡＮフレームは、ＣＡＮバスを介して受信側のＥＣＵで受信される。
【０００３】
上述した自動運転システムでは、例えばハッキング等により不正なＣＡＮフレームがＣＡＮバス上に侵入した場合に、ＥＣＵが誤動作するおそれがある。そのため、不正なＣＡＮフレームの侵入等の攻撃を検出するための監視装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１６／０８０４２２号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した従来の監視装置では、周期フィルタ等から取得したＣＡＮフレームの受信時刻を示す時間情報に基づいて、当該ＣＡＮフレームの周期の乱れを検出することにより、ＣＡＮバスへの不正なＣＡＮフレームの侵入を検出する。
【０００６】
しかしながら、例えばＡＵＴＯＳＡＲ（登録商標）（Ａｕｔｏｍｏｔｉｖｅ  Ｏｐｅｎ  Ｓｙｓｔｅｍ  Ａｒｃｈｉｔｅｃｔｕｒｅ）を搭載したＥＣＵでは、その仕様上、場合によっては、ＣＡＮフレームの受信時刻を示す時間情報を使用することができない。そのため、攻撃を検出する機能を備えたＥＣＵにＡＵＴＯＳＡＲを搭載した際に、時間情報を取得できない場合には、時間情報を使用する従来の周期監視又は頻度監視を行うことができないという課題が生じる。
【０００７】
そこで、本開示は、時間情報を用いることなく、攻撃を検出することができる電子制御装置、電子制御装置の制御方法及びプログラムを提供する。
【課題を解決するための手段】
【０００８】
本開示の一態様に係る電子制御装置は、ネットワークを介して通信装置と通信可能な電子制御装置であって、前記通信装置から送信された複数のフレームを、前記ネットワークを介して受信する受信部と、前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する判定部と、を備える。
【０００９】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【発明の効果】
【００１０】
本開示の一態様に係る電子制御装置等によれば、時間情報を用いることなく、攻撃を検出することができる。
【図面の簡単な説明】
【００１１】
【図１】実施の形態１〜６に係る通信システムの概要を示すブロック図である。
【図２Ａ】実施の形態１に係るグループ情報の一例を示す図である。
【図２Ｂ】実施の形態１に係る受信回数情報の一例を示す図である。
【図３】実施の形態１に係る電子制御装置の動作の流れを示すフローチャートである。
【図４Ａ】実施の形態１に係る通信システムにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【図４Ｂ】実施の形態１に係る通信システムにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【図４Ｃ】実施の形態１に係る通信システムにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【図５】実施の形態２に係る電子制御装置の動作の流れを示すフローチャートである。
【図６】実施の形態２に係る通信システムにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【図７】実施の形態３に係る電子制御装置の動作の流れを示すフローチャートである。
【図８】実施の形態３に係る通信システムにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【図９】実施の形態３に係る通信システムにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【図１０】実施の形態４に係る電子制御装置の動作の流れを示すフローチャートである。
【図１１】実施の形態４に係る通信システムにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【図１２】実施の形態４に係る通信システムにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【図１３】実施の形態５に係る電子制御装置の動作の流れを示すフローチャートである。
【図１４】実施の形態５に係る通信システムにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【図１５】実施の形態６に係る通信システムにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【発明を実施するための形態】
【００１２】
本開示の一態様に係る電子制御装置は、ネットワークを介して通信装置と通信可能な電子制御装置であって、前記通信装置から送信された複数のフレームを、前記ネットワークを介して受信する受信部と、前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する判定部と、を備える。
【００１３】
本態様によれば、判定部は、同一送信周期で送信された同一種類のフレームが第１の判定期間内に２個以上受信部で受信された場合に、フレームが異常であると判定する。これにより、例えばフレームの受信時刻等の時間情報を用いることなく、不正なフレームの侵入等の攻撃を検出することができる。
【００１４】
例えば、前記電子制御装置は、さらに、前記通信装置から前記同一送信周期で送信される複数のフレームをグルーピングしたグループを示すグループ情報を記憶する記憶部を備え、前記判定部は、前記グループ情報に基づいて前記受信部で受信されたフレームが属する前記グループを特定し、特定した前記グループに属する複数のフレームの種類数と同数のフレームが前記第１の判定期間内に前記受信部で受信された際に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信されたか否かを判定するように構成してもよい。
【００１５】
本態様によれば、判定部は、グループ情報を参照することにより、同一送信周期で送信された同一種類のフレームが２個以上受信部で受信されたか否かを容易に判定することができる。
【００１６】
例えば、前記判定部は、前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信された場合に、当該第１の判定期間内に複数のフレームがそれぞれ前記受信部で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間毎に、前記同一送信周期で送信された同一種類のフレームが当該検証用判定期間内に２個以上前記受信部で受信されたか否かを判定し、過半数の前記検証用判定期間において、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合には、フレームが異常であると判定するように構成してもよい。
【００１７】
本態様によれば、例えば通信装置によるフレームの送信周期の乱れが発生した際に、送信周期の乱れた正常なフレームを異常であると誤検出するのを回避することができる。
【００１８】
例えば、前記判定部は、前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信された際に、前記第１の判定期間を、前記種類数のｎ倍（ｎは２以上の整数）の数のフレームが前記受信部で受信される期間である拡張判定期間に拡張し、前記同一送信周期で送信された複数のフレームが前記拡張判定期間内にフレームの種類毎にｎ個ずつ前記受信部で受信された場合に、前記第１の判定期間内に受信されたフレームが正常であると判定するように構成してもよい。
【００１９】
本態様によれば、例えば通信装置によるフレームの送信周期の乱れが発生した際に、送信周期の乱れた正常なフレームを異常であると誤検出するのを回避することができる。
【００２０】
例えば、前記判定部は、前記同一送信周期と異なる送信周期で送信されたフレームが前記第１の判定期間内に前記受信部で受信された個数が閾値以上である場合に、当該第１の判定期間の次の周期の前記第１の判定期間の開始タイミングを、前記同一送信周期で送信された複数のフレームが前記受信部でそれぞれ受信された複数の受信タイミングのいずれかに変更するように構成してもよい。
【００２１】
本態様によれば、例えば通信装置によるフレームの送信周期の乱れが発生した際に、送信周期の乱れた正常なフレームを異常であると誤検出するのを回避することができる。
【００２２】
例えば、前記判定部は、前記複数の受信タイミングの中から、前記同一送信周期と異なる送信周期で送信されたフレームが前記第１の判定期間内に前記受信部で受信される個数が最も少なくなる前記受信タイミングを選択し、選択した前記受信タイミングを前記第１の判定期間の開始タイミングとして決定するように構成してもよい。
【００２３】
本態様によれば、開始タイミングを変更した第１の判定期間を効率良く短縮化することができる。
【００２４】
例えば、前記判定部は、さらに、同一の前記通信装置から送信された複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第２の判定期間内に、前記同一の通信装置から送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定するように構成してもよい。
【００２５】
本態様によれば、不正なフレームの侵入等の攻撃を確実に検出することができる。
【００２６】
例えば、前記判定部は、前記通信装置から前記同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記第１の判定期間内に前記受信部で受信されたタイミングで、前記同一送信周期で送信された同一種類のフレームが前記第１の判定期間内に２個以上前記受信部で受信されたか否かを判定するように構成してもよい。
【００２７】
本態様によれば、判定部は、第１の判定期間が完結したタイミングで、同一送信周期で送信された同一種類のフレームが第１の判定期間内に２個以上受信部で受信されたか否かを判定することができる。
【００２８】
例えば、前記判定部は、前記通信装置から前記同一送信周期で送信された複数のフレームの種類数よりも少ない数のフレームが前記第１の判定期間内に前記受信部で受信された状態で、前記同一送信周期で送信された同一種類のフレームが２回前記受信部で受信されたタイミングで、フレームが異常であると判定するように構成してもよい。
【００２９】
本態様によれば、判定部は、同一送信周期で送信された同一種類のフレームが２回受信部で受信されたタイミングで、フレームが異常であると判定する。これにより、不正なフレームの侵入等の攻撃をリアルタイムに検出することができる。
【００３０】
本開示の一態様に係る電子制御装置の制御方法は、ネットワークを介して通信装置と通信可能な電子制御装置の制御方法であって、前記通信装置から送信された複数のフレームを、前記ネットワークを介して受信するステップと、前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定するステップと、を含む。
【００３１】
本態様によれば、同一送信周期で送信された同一種類のフレームが第１の判定期間内に２個以上受信された場合に、フレームが異常であると判定する。これにより、例えばフレームの受信時刻等の時間情報を用いることなく、不正なフレームの侵入等の攻撃を検出することができる。
【００３２】
本開示の一態様に係るプログラムは、通信装置から送信された複数のフレームを、ネットワークを介して受信する処理と、前記通信装置から同一送信周期で送信される複数のフレームの種類数と同数のフレームが前記受信部で受信される期間である第１の判定期間内に、前記同一送信周期で送信された同一種類のフレームが２個以上前記受信部で受信された場合に、フレームが異常であると判定する処理と、をコンピュータに実行させる。
【００３３】
本態様によれば、同一送信周期で送信された同一種類のフレームが第１の判定期間内に２個以上受信された場合に、フレームが異常であると判定する。これにより、例えばフレームの受信時刻等の時間情報を用いることなく、不正なフレームの侵入等の攻撃を検出することができる。
【００３４】
なお、これらの包括的又は具体的な態様は、システム、方法、集積回路、コンピュータプログラム又はコンピュータで読み取り可能なＣＤ−ＲＯＭ等の記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム又は記録媒体の任意な組み合わせで実現されてもよい。
【００３５】
以下、実施の形態について、図面を参照しながら具体的に説明する。
【００３６】
なお、以下で説明する実施の形態は、いずれも包括的又は具体的な例を示すものである。以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置位置及び接続形態、ステップ、ステップの順序等は、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。
【００３７】
（実施の形態１）
［１−１．通信システムの概要］
まず、図１を参照しながら、実施の形態１に係る通信システム２の概要について説明する。図１は、実施の形態１に係る通信システム２の概要を示すブロック図である。
【００３８】
実施の形態１に係る通信システム２は、例えば自動車等の車両に搭載された、車両の運転操作を自動で行うための自動運転システムである。図１に示すように、通信システム２は、複数のＣＡＮバス４（ネットワークの一例）と、ゲートウェイＥＣＵ６と、複数のＥＣＵ８（通信装置の一例）と、電子制御装置１０とを備えている。
【００３９】
複数のＣＡＮバス４は、ＣＡＮプロトコルに従ったＣＡＮフレーム（フレームの一例）を通信するための車載ネットワークであり、車両の内部に構築されている。
【００４０】
ゲートウェイＥＣＵ６は、複数のＣＡＮバス４にＣＡＮフレームを送受信するための電子制御ユニットである。ゲートウェイＥＣＵ６は、複数のＣＡＮバス４を介して、複数のＥＣＵ８及び電子制御装置１０と接続されている。
【００４１】
複数のＥＣＵ８の各々は、先進運転者支援システム（ＡＤＡＳ：Ａｄｖａｎｃｅｄ  Ｄｒｉｖｅｒ  Ａｓｓｉｓｔａｎｃｅ  Ｓｙｓｔｅｍ）における車両の自動運転操作を制御するための電子制御ユニットである。具体的には、複数のＥＣＵ８の各々は、例えば、車両の加減速、操舵及び制動等を制御する。複数のＥＣＵ８の各々は、ＣＡＮバス４と接続されている。複数のＥＣＵ８の各々は、ＣＡＮバス４に対してＣＡＮフレームを送受信する。
【００４２】
なお、ＣＡＮフレームは、ＣＡＮプロトコルで規定されたデータフレームである。ＣＡＮフレームは、例えば、ＳＯＦ（Ｓｔａｒｔ  Ｏｆ  Ｆｒａｍｅ）、ＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）フィールド、ＲＴＲ（Ｒｅｍｏｔｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｒｅｑｕｅｓｔ）、コントロールフィールド、データフィールド、ＣＲＣ（Ｃｙｃｌｉｃ  Ｒｅｄｕｎｄａｎｃｙ  Ｃｈｅｃｋ）フィールド、ＡＣＫ（Ａｃｋｎｏｗｌｅｄｇｅｍｅｎｔ）フィールド、及び、ＥＯＦ（Ｅｎｄ  Ｏｆ  Ｆｒａｍｅ）の各フィールドで構成される。
【００４３】
ここで、ＩＤフィールドは、１１ビットで構成された、ＣＡＮフレームの種類を示す値であるＩＤ（いわゆる、ＣＡＮ  ＩＤ）を格納するためのフィールドである。複数のＥＣＵ８の各々は、ＩＤ毎に予め定められた送信周期で、ＣＡＮフレームをＣＡＮバス４に送信する。
【００４４】
電子制御装置１０は、複数のＥＣＵ８の各々から送信されたＣＡＮフレームを受信することにより、不正なＣＡＮフレームの侵入等の攻撃を検出するための装置である。電子制御装置１０は、複数のＣＡＮバス４を介して、ゲートウェイＥＣＵ６及び複数のＥＣＵ８と接続されている。電子制御装置１０の機能構成については後述する。
【００４５】
なお、電子制御装置１０は、例えば、プロセッサ及びメモリ等で構成されたデジタル回路、アナログ回路及び通信回路等を含む。メモリは、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等であり、プロセッサにより実行されるプログラム（すなわち、ソフトウェアとしてのコンピュータプログラム）を記憶する。例えばプロセッサがプログラムに従って動作することにより、電子制御装置１０は各種機能を実現する。
【００４６】
［１−２．電子制御装置の機能構成］
次に、図１〜図２Ｂを参照しながら、実施の形態１に係る電子制御装置１０の機能構成について説明する。図２Ａは、実施の形態１に係るグループ情報２０の一例を示す図である。図２Ｂは、実施の形態１に係る受信回数情報２２の一例を示す図である。
【００４７】
図１に示すように、電子制御装置１０は、受信部１２と、記憶部１４と、判定部１６と、制御部１８とを備えている。
【００４８】
受信部１２は、複数のＥＣＵ８からそれぞれ送信された複数のＣＡＮフレームを、複数のＣＡＮバス４を介して受信する。受信部１２は、受信した複数のＣＡＮフレームを判定部１６に出力する。
【００４９】
記憶部１４は、グループ情報２０及び受信回数情報２２を記憶するためのメモリである。グループ情報２０は、送信周期毎に、複数のＥＣＵ８から同一送信周期で送信される複数のＣＡＮフレームをグルーピングしたグループを示す情報である。グループ情報２０は、例えば図２Ａに示すように、グループと当該グループに属するＣＡＮフレームとの対応関係を示すデータテーブルである。
【００５０】
図２Ａに示す例では、ＣＡＮフレームＡ（ＩＤ：０ｘ１００）、ＣＡＮフレームＢ（ＩＤ：０ｘ２００）及びＣＡＮフレームＣ（ＩＤ：０ｘ３００）は、各々のＩＤにより予め定められた送信周期が同一（１０ｍｓ）であるため、「グループＡ」としてグルーピングされている。すなわち、グループＡに属するＣＡＮフレームの種類数は、「３個」である。なお、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣは、同一のＥＣＵ８から送信されてもよく、あるいは、互いに異なる複数のＥＣＵ８からそれぞれ送信されてもよい。
【００５１】
また、図２Ａに示す例では、ＣＡＮフレームＤ（ＩＤ：０ｘ４００）及びＣＡＮフレームＥ（ＩＤ：０ｘ５００）は、各々のＩＤにより予め定められた送信周期が同一（３０ｍｓ）であるため、「グループＢ」としてグルーピングされている。すなわち、グループＢに属するＣＡＮフレームの種類数は、「２個」である。
【００５２】
受信回数情報２２は、グループ情報２０に記憶されたグループ毎に、判定期間（第１の判定期間の一例）内に受信部１２で受信されたＣＡＮフレームの受信回数を記憶する。ここで、判定期間は、複数のＥＣＵ８から同一送信周期で送信される複数のＣＡＮフレームの種類数と同数のＣＡＮフレームが受信部１２で受信される期間であり、グループ情報２０に記憶されたグループ毎に設定される。例えば、グループＡについての判定期間では、グループＡに属するＣＡＮフレームの種類数（３個）と同数の、グループＡに属する３個のＣＡＮフレームが受信部１２で受信される。同様に、グループＢについての判定期間では、グループＢに属するＣＡＮフレームの種類数（２個）と同数の、グループＢに属する２個のＣＡＮフレームが受信部１２で受信される。
【００５３】
受信回数情報２２は、例えば図２Ｂに示すように、グループ情報２０に記憶されたグループ毎に、各グループに属する複数のＣＡＮフレームの各受信回数を示すデータテーブルである。図２Ｂに示す例では、グループＡについての判定期間内に、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣがそれぞれ１回ずつ受信されたことを示している。
【００５４】
判定部１６は、記憶部１４に記憶されたグループ情報２０に基づいて、受信部１２で受信された複数のＣＡＮフレームの各々が属するグループを特定する。例えばＣＡＮフレームＡが受信部１２で受信された場合には、判定部１６は、グループ情報２０に基づいて、ＣＡＮフレームＡが属するグループとして「グループＡ」を特定する。なお、判定部１６は、ＣＡＮフレームが判定期間内に受信部１２で受信される毎に、記憶部１４に記憶された受信回数情報２２のうち、受信された当該ＣＡＮフレームの受信回数を「１回」加算する。
【００５５】
また、判定部１６は、記憶部１４に記憶された受信回数情報２２に基づいて、特定したグループに属する複数のＣＡＮフレームの種類数と同数のＣＡＮフレームが判定期間内に受信部１２で受信されたタイミングで、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信されたか否かを判定する。例えば、グループＡに属する複数のＣＡＮフレームの種類数（３個）と同数の、グループＡに属する３個のＣＡＮフレームが判定期間内に受信部１２で受信されたタイミングで、判定部１６は、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣのうちいずれか１種類のＣＡＮフレームが２個以上受信部１２で受信されたか否かを判定する。
【００５６】
判定部１６は、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信された場合には、当該同一種類のＣＡＮフレームが異常であると判定する。例えば、ＣＡＮフレームＡが判定期間内に２個受信部１２で受信された場合には、判定部１６は、ＣＡＮフレームが異常である（すなわち、車両が攻撃を受けた）と判定する。一方、判定部１６は、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信されない場合には、当該判定期間内に受信された複数のＣＡＮフレームが全て正常である（すなわち、車両が攻撃を受けていない）と判定する。例えば、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが判定期間内にそれぞれ１個ずつ受信部１２で受信された場合には、判定部１６は、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが全て正常である（すなわち、車両が攻撃を受けていない）と判定する。なお、判定部１６は、上述した判定を行った後に、記憶部１４に記憶された受信回数情報２２のうち、判定期間内に受信部１２で受信された複数のＣＡＮフレームの各受信回数を「０回」にリセットする。
【００５７】
なお、本明細書において、「ＣＡＮフレームが異常であると判定する」とは、車両が攻撃を受けたと判定することを意味し、「ＣＡＮフレームが正常であると判定する」とは、車両が攻撃を受けていないと判定することを意味するものとする。
【００５８】
制御部１８は、例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等で構成された制御回路であり、電子制御装置１０の動作を統括的に制御する。
【００５９】
［１−３．電子制御装置の動作］
次に、図３〜図４Ｃを参照しながら、実施の形態１に係る電子制御装置１０の動作について説明する。図３は、実施の形態１に係る電子制御装置１０の動作の流れを示すフローチャートである。図４Ａは、実施の形態１に係る通信システム２において車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。図４Ｂ及び図４Ｃは、実施の形態１に係る通信システム２において車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。
【００６０】
なお、説明の都合上、図４Ａ〜図４Ｃにおいて、ＣＡＮフレームＡを「〇（丸）」、ＣＡＮフレームＢを「△（三角）」、ＣＡＮフレームＣを「□（四角）」でそれぞれ示している。
【００６１】
図３に示すように、まず、受信部１２は、ＥＣＵ８から送信されたＣＡＮフレームを受信する（Ｓ１０１）。受信部１２は、受信したＣＡＮフレームを判定部１６に出力する。なお、本実施の形態では、受信部１２がグループＡに属するＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）を受信する場合について説明する。
【００６２】
判定部１６は、記憶部１４に記憶されたグループ情報２０に基づいて、受信部１２で受信されたＣＡＮフレームが属するグループとして「グループＡ」を特定する（Ｓ１０２）。判定部１６は、記憶部１４に記憶された受信回数情報２２に基づいて、特定したグループＡについての判定期間が設定済みであるか否かを判定する（Ｓ１０３）。特定したグループＡについての判定期間が設定済みでない、換言すると、受信回数情報２２のうち特定したグループＡに属する複数のＣＡＮフレームの各受信回数がいずれも「０回」である場合には（Ｓ１０３でＮＯ）、判定部１６は、新規にグループＡについての判定期間を設定する（Ｓ１０４）。この場合、判定部１６は、新規に設定した判定期間内に受信部１２で受信されたＣＡＮフレームの受信個数を「１個」加算する（Ｓ１０５）。なお、この加算処理は、例えば記憶部１４に記憶された受信回数情報２２を用いて行われる。
【００６３】
一方、特定したグループＡについての判定期間が設定済みである、換言すると、受信回数情報２２のうち特定したグループＡに属する複数のＣＡＮフレームのいずれかの受信回数が「１回」又は「２回」である場合には（Ｓ１０３でＹＥＳ）、判定部１６は、既に設定された判定期間内に受信部１２で受信されたＣＡＮフレームの受信個数を「１個」加算する（Ｓ１０５）。
【００６４】
その後、判定部１６は、特定したグループＡに属する複数のＣＡＮフレームの種類数（３個）と同数の３個のＣＡＮフレームが判定期間内に受信部１２で受信されたか否かを判定する（Ｓ１０６）。判定期間内におけるＣＡＮフレームの受信個数が３個未満である場合には（Ｓ１０６でＮＯ）、ステップＳ１０１に戻り、上述と同様にステップＳ１０１〜Ｓ１０５を再度実行する。
【００６５】
一方、判定期間内におけるＣＡＮフレームの受信個数が３個に到達した場合には（Ｓ１０６でＹＥＳ）、判定部１６は、当該判定期間を完結する（Ｓ１０７）。その後、判定部１６は、記憶部１４に記憶された受信回数情報２２に基づいて、同一送信周期で送信されたグループＡに属する同一種類の（すなわち、同一ＩＤの）のＣＡＮフレームが判定期間内に２個以上受信部１２で受信されたか否かを判定する（Ｓ１０８）。
【００６６】
例えば図４Ａに示すように、グループＡに属する同一種類のＣＡＮフレームが判定期間Ｔ（Ｔ１，Ｔ２，Ｔ３）内に２個以上受信部１２で受信されていない場合には（Ｓ１０８でＮＯ）、判定部１６は、当該判定期間Ｔ内に受信された複数のＣＡＮフレームが全て正常であると判定する（Ｓ１０９）。図４Ａに示す例では、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが各判定期間Ｔ１，Ｔ２，Ｔ３内にそれぞれ１個ずつ受信部１２で受信されている。この場合、判定部１６は、判定期間Ｔ１，Ｔ２，Ｔ３内に受信部１２で受信されたＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが全て正常であると判定する。
【００６７】
なお、図４Ａに示すように、判定期間Ｔ１内では、ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣの順に受信部１２で受信され、判定期間Ｔ２内では、ＣＡＮフレームＢ、ＣＡＮフレームＡ及びＣＡＮフレームＣの順に受信部１２で受信され、判定期間Ｔ３内では、ＣＡＮフレームＢ、ＣＡＮフレームＣ及びＣＡＮフレームＡの順に受信部１２で受信されている。これは、ＥＣＵ８によるＣＡＮフレームの送信周期の乱れに起因するものであるが、判定期間Ｔ１，Ｔ２，Ｔ３内におけるＣＡＮフレームの受信順序の入れ替わりは許容されるものとし、異常とは判定されない。
【００６８】
図３に戻り、ステップＳ１０９の後に、ＣＡＮフレームの受信を継続する場合には（Ｓ１１０でＹＥＳ）、ステップＳ１０１に戻る。一方、ＣＡＮフレームの受信を継続しない場合には（Ｓ１１０でＮＯ）、処理を終了する。
【００６９】
ステップＳ１０８に戻り、例えば図４Ｂ及び図４Ｃに示すように、グループＡに属する同一種類のＣＡＮフレームが判定期間Ｔ内に２個以上受信部１２で受信された場合には（Ｓ１０８でＹＥＳ）、判定部１６は、ＣＡＮフレームが異常であると判定する（Ｓ１１１）。
【００７０】
図４Ｂに示す例では、判定期間Ｔ３内で不正なＣＡＮフレームＣの侵入による攻撃（すなわち、不正なＣＡＮフレームをＣＡＮバス４に追加する攻撃）を受けたために、同一種類のＣＡＮフレームＣが判定期間Ｔ３内に２個受信部１２で受信されている。なお、不正なＣＡＮフレームＣは、例えばハッキング等によりＣＡＮバス４に侵入した、正常なＣＡＮフレームＣと同一ＩＤのデータフレームである。この場合、判定部１６は、ＣＡＮフレームが異常であると判定する。
【００７１】
一方、図４Ｃに示す例では、判定期間Ｔ２内でＥＣＵ８からのＣＡＮフレームＣの送信を妨害する攻撃（すなわち、診断メッセージ等を送信することにより、ＥＣＵ８によるＣＡＮフレームの送信を一時的に停止させる攻撃）を受けたために、判定期間Ｔ２内では、ＣＡＮフレームＣが受信部１２で受信されずに、ＣＡＮフレームＢ、ＣＡＮフレームＡ及びＣＡＮフレームＢの順に受信部１２で受信される。その結果、同一種類のＣＡＮフレームＢが判定期間Ｔ２内に２個受信部１２で受信される。この場合、判定部１６は、ＣＡＮフレームが異常であると判定する。
【００７２】
図３に戻り、ステップＳ１１１の後に、ＣＡＮフレームの受信を継続する場合には（Ｓ１１０でＹＥＳ）、ステップＳ１０１に戻る。一方、ＣＡＮフレームの受信を継続しない場合には（Ｓ１１０でＮＯ）、処理を終了する。
【００７３】
［１−４．効果］
上述したように、判定部１６は、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信された場合には、ＣＡＮフレームが異常であると判定する。これにより、例えばＣＡＮフレームの受信時刻等の時間情報を用いることなく、不正なＣＡＮフレームの侵入等の攻撃を検出することができる。その結果、ＥＣＵ８が時間情報を使用できない場合であっても、攻撃を検出することができる。
【００７４】
［１−５．変形例］
本実施の形態では、グループＡに属する複数のＣＡＮフレームの種類数を３個としたが、これに限定されず、２個又は４個以上の任意の数でもよい。この時、グループＡに属する複数のＣＡＮフレームの種類数を多くすることにより、グループＡに属する全てのＣＡＮフレームを不正なＣＡＮフレームとしてＣＡＮバス４に侵入させる攻撃（すなわち、検出を回避する攻撃）を回避することができる。例えば、送信周期が２０ｍｓである１０個のＣＡＮフレームがグループＡに属する場合、不正な１０個のＣＡＮフレームを、正規の１０個のＣＡＮフレームが受信される２つの判定期間の間に侵入させることは困難となる。
【００７５】
また、本実施の形態では、複数のＥＣＵ８から同一送信周期で送信される複数のＣＡＮフレームの種類数と同数のＣＡＮフレームが判定期間内に受信部１２で受信された際に、当該判定期間を完結したが、これに限定されない。例えば、グループＡに属する全種類のＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）が判定期間内に受信部１２で受信された際に、当該判定期間を完結してもよい。これにより、例えばＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣがこの順に判定期間内に受信部１２で受信される場合に、当該判定期間内でＣＡＮフレームＡとＣＡＮフレームＢとの間に不正なＣＡＮフレームＡが受信部１２で受信されたとする。この場合、上記判定期間内に同一種類のＣＡＮフレームＡが２個受信部１２で受信されるため、判定部１６は、ＣＡＮフレームが異常であると判定することができる。
【００７６】
（実施の形態２）
［２−１．電子制御装置の機能構成］
次に、図１を参照しながら、実施の形態２に係る電子制御装置１０Ａの機能構成について説明する。図１は、実施の形態２に係る通信システム２Ａの概要を示すブロック図である。なお、以下に示す各実施の形態において、上記実施の形態１と同一の構成要素には同一の符号を付して、その説明を省略する。
【００７７】
図１に示すように、実施の形態２に係る通信システム２Ａの電子制御装置１０Ａでは、判定部１６Ａによる判定のタイミングが上記実施の形態１と異なっている。具体的には、判定部１６Ａは、複数のＥＣＵ８から同一送信周期で送信された複数のＣＡＮフレームの種類数よりも少ない数のＣＡＮフレームが判定期間内に受信部１２で受信された状態（すなわち、判定期間が完結していない状態）で、同一送信周期で送信された同一種類のＣＡＮフレームが２回受信部１２で受信されたタイミングで、ＣＡＮフレームが異常であると判定する。
【００７８】
［２−２．電子制御装置の動作］
図５及び図６を参照しながら、実施の形態２に係る電子制御装置１０Ａの動作について説明する。図５は、実施の形態２に係る電子制御装置１０Ａの動作の流れを示すフローチャートである。図６は、実施の形態２に係る通信システム２Ａにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。なお、図５のフローチャートにおいて、図３のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【００７９】
図５に示すように、上記実施の形態１と同様に、まず、ステップＳ１０１〜Ｓ１０５が実行される。なお、本実施の形態では、上記実施の形態１と同様に、ステップＳ１０１において受信部１２がグループＡに属するＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）を受信する場合について説明する。
【００８０】
ステップＳ１０５の後に、判定部１６Ａは、記憶部１４に記憶された受信回数情報２２に基づいて、同一送信周期で送信されたグループＡに属する同一種類のＣＡＮフレームが判定期間内に２回受信部１２で受信されたか否かを判定する（Ｓ２０１）。グループＡに属する同一種類のＣＡＮフレームが判定期間内に２回受信部１２で受信されていない場合には（Ｓ２０１でＮＯ）、ステップＳ１０６に進み、ステップＳ１０６，Ｓ１０７及びＳ１１０が実行される。
【００８１】
一方、例えば図６に示すように、グループＡに属する同一種類のＣＡＮフレームが判定期間Ｔ内に２回受信部１２で受信された場合に（Ｓ２０１でＹＥＳ）、判定部１６Ａは、当該同一種類のＣＡＮフレームを２回目に受信したタイミングで、ＣＡＮフレームが異常であると判定する（Ｓ２０２）。
【００８２】
図６に示す例では、判定期間Ｔ２内で不正なＣＡＮフレームＡの侵入による攻撃を受けたために、同一種類のＣＡＮフレームＡが判定期間Ｔ２内に２個受信部１２で受信されている。この場合、判定部１６Ａは、ＣＡＮフレームを２回目に受信したタイミングで、ＣＡＮフレームが異常であると判定する。その後、ステップＳ１０６に進む。
【００８３】
［２−３．効果］
上述したように、判定部１６Ａは、同一送信周期で送信された同一種類のＣＡＮフレームが２回受信部１２で受信されたタイミングで、ＣＡＮフレームが異常であると判定する。これにより、不正なＣＡＮフレームの侵入等の攻撃をリアルタイムに検出することができる。
【００８４】
（実施の形態３）
［３−１．電子制御装置の機能構成］
次に、図１を参照しながら、実施の形態３に係る電子制御装置１０Ｂの機能構成について説明する。図１は、実施の形態３に係る通信システム２Ｂの概要を示すブロック図である。
【００８５】
図１に示すように、実施の形態３に係る通信システム２Ｂの電子制御装置１０Ｂでは、判定部１６Ｂによる判定方法が上記実施の形態１と異なっている。具体的には、判定部１６Ｂは、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信された場合に、当該判定期間内に複数のＣＡＮフレームがそれぞれ受信部１２で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間を設定する。判定部１６Ｂは、これらの複数の検証用判定期間毎に、同一送信周期で送信された同一種類のＣＡＮフレームが当該検証用判定期間内に２個以上受信部１２で受信されたか否かを判定する。これにより、判定部１６Ｂは、過半数の検証用判定期間において、同一送信周期で送信された同一種類のＣＡＮフレームが２個以上受信部１２で受信されたと判定した場合には、ＣＡＮフレームが異常であると判定する。
【００８６】
［３−２．電子制御装置の動作］
図７〜図９を参照しながら、実施の形態３に係る電子制御装置１０Ｂの動作について説明する。図７は、実施の形態３に係る電子制御装置１０Ｂの動作の流れを示すフローチャートである。図８は、実施の形態３に係る通信システム２Ｂにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。図９は、実施の形態３に係る通信システム２Ｂにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。なお、図７のフローチャートにおいて、図３のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【００８７】
図７に示すように、上記実施の形態１と同様に、まず、ステップＳ１０１〜Ｓ１０８が実行される。なお、本実施の形態では、上記実施の形態１と同様に、ステップＳ１０１において受信部１２がグループＡに属するＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）を受信する場合について説明する。
【００８８】
ステップＳ１０８において、例えば図８及び図９に示すように、グループＡに属する同一種類のＣＡＮフレームが判定期間Ｔ内に２個以上受信部１２で受信された場合には（Ｓ１０８でＹＥＳ）、判定部１６Ｂは、当該判定期間Ｔ内に複数のＣＡＮフレームがそれぞれ受信部１２で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３を設定する（Ｓ３０１）。
【００８９】
図８に示す例では、ＥＣＵ８によるＣＡＮフレームの送信周期の乱れにより、ＣＡＮフレームＡ及びＣＡＮフレームＣの各受信順序が入れ替わったために、同一種類のＣＡＮフレームＡが判定期間Ｔ２内に２個受信部１２で受信されている。この場合、図８の（ａ）〜（ｃ）に示すように、判定部１６Ｂは、判定期間Ｔ２内にＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＡがそれぞれ受信部１２で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３を設定する。判定部１６Ｂは、複数の検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３毎に、同一送信周期で送信された同一種類のＣＡＮフレームが当該検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３内に２個以上受信部１２で受信されたか否かを判定する。
【００９０】
図８の（ａ）〜（ｃ）に示す例では、検証用判定期間ＶＴ１において、同一送信周期で送信された同一種類のＣＡＮフレームＡが２個受信部１２で受信されているが、検証用判定期間ＶＴ２，ＶＴ３では、同一送信周期で送信された同一種類のＣＡＮフレームＡが２個以上受信部１２で受信されていない。この場合、判定部１６Ｂは、過半数の検証用判定期間において、同一送信周期で送信された同一種類のＣＡＮフレームが２個以上受信部１２で受信されていないと判定し（Ｓ３０２でＮＯ）、ＣＡＮフレームが正常であると判定する（Ｓ１０９）。
【００９１】
一方、図９に示す例では、判定期間Ｔ２内で不正なＣＡＮフレームＡの侵入による攻撃を受けたために、同一種類のＣＡＮフレームＡが判定期間Ｔ２内に２個受信部１２で受信されている。この場合、図９の（ａ）〜（ｃ）に示すように、判定部１６Ｂは、判定期間Ｔ２内にＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＡがそれぞれ受信部１２で受信された複数の受信タイミングをそれぞれ起点とする複数の検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３を設定する。判定部１６Ｂは、複数の検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３毎に、同一送信周期で送信された同一種類のＣＡＮフレームが当該検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３内に２個以上受信部１２で受信されたか否かを判定する。
【００９２】
図９の（ａ）〜（ｃ）に示す例では、全ての検証用判定期間ＶＴ１，ＶＴ２，ＶＴ３において、同一送信周期で送信された同一種類のＣＡＮフレームＡが２個受信部１２で受信されている。この場合、判定部１６Ｂは、過半数の検証用判定期間において、同一送信周期で送信された同一種類のＣＡＮフレームが２個以上受信部１２で受信されたと判定し（Ｓ３０２でＹＥＳ）、ＣＡＮフレームが異常であると判定する（Ｓ１１１）。
【００９３】
［３−３．効果］
例えばＥＣＵ８によるＣＡＮフレームの送信周期の乱れが発生した際に、送信周期の乱れにより、正常なＣＡＮフレームを異常であると誤検出するのを回避することができる。
【００９４】
（実施の形態４）
［４−１．電子制御装置の機能構成］
次に、図１を参照しながら、実施の形態４に係る電子制御装置１０Ｃの機能構成について説明する。図１は、実施の形態４に係る通信システム２Ｃの概要を示すブロック図である。
【００９５】
図１に示すように、実施の形態４に係る通信システム２Ｃの電子制御装置１０Ｃでは、判定部１６Ｃによる判定方法が上記実施の形態１と異なっている。具体的には、判定部１６Ｃは、同一送信周期で送信された同一種類のＣＡＮフレームが判定期間内に２個以上受信部１２で受信された際に、当該判定期間を拡張判定期間に拡張する。ここで、拡張判定期間とは、判定部１６Ｃにより特定されたグループに属する複数のＣＡＮフレームの種類数のｎ倍（ｎは２以上の整数）の数のＣＡＮフレームが、受信部１２で受信される期間をいう。判定部１６Ｃは、同一送信周期で送信された複数のＣＡＮフレームが拡張判定期間内にＣＡＮフレームの種類毎にｎ個ずつ受信部１２で受信された場合に、ＣＡＮフレームが正常であると判定する。
【００９６】
［４−２．電子制御装置の動作］
図１０〜図１２を参照しながら、実施の形態４に係る電子制御装置１０Ｃの動作について説明する。図１０は、実施の形態４に係る電子制御装置１０Ｃの動作の流れを示すフローチャートである。図１１は、実施の形態４に係る通信システム２Ｃにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。図１２は、実施の形態４に係る通信システム２Ｃにおいて車両が攻撃を受けた異常時における、各ＣＡＮフレームのグルーピング方法及び異常検出方法を示す図である。なお、図１０のフローチャートにおいて、図３のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【００９７】
図１０に示すように、上記実施の形態１と同様に、まず、ステップＳ１０１〜Ｓ１０８が実行される。なお、本実施の形態では、上記実施の形態１と同様に、ステップＳ１０１において受信部１２がグループＡに属するＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）を受信する場合について説明する。
【００９８】
ステップＳ１０８において、例えば図１１の（ａ）及び図１２の（ａ）に示すように、グループＡに属する同一種類のＣＡＮフレームが判定期間Ｔ２内に２個以上受信部１２で受信された場合には（Ｓ１０８でＹＥＳ）、判定部１６Ｃは、図１１の（ｂ）及び図１２の（ｂ）に示すように、当該判定期間Ｔ２を拡張判定期間ＥＴに拡張する（Ｓ４０１）。図１１及び図１２に示す例では、拡張判定期間ＥＴでは、判定部１６Ｃにより特定されたグループＡに属する複数のＣＡＮフレームの種類数（３個）の３倍（ｎ＝３）の９個のＣＡＮフレームが受信部１２で受信される。なお、本実施の形態では、拡張判定期間ＥＴを設定する際の上記ｎの値としてｎ＝３の場合について説明するが、これに限定されず、例えばｎ＝２でもよく、ｎは２以上の任意の整数でよい。
【００９９】
図１１の（ａ）に示す例では、ＥＣＵ８によるＣＡＮフレームの送信周期の乱れにより、ＣＡＮフレームＡ及びＣＡＮフレームＣの各受信順序が入れ替わったために、同一種類のＣＡＮフレームＡが判定期間Ｔ２内に２個受信部１２で受信されている。この場合、同一送信周期で送信されたＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣがそれぞれ拡張判定期間ＥＴ内に３個ずつ受信部１２で受信されるので（Ｓ４０２でＹＥＳ）、判定部１６Ｃは、ＣＡＮフレームが正常であると判定する（Ｓ１０９）。
【０１００】
一方、図１２の（ａ）に示す例では、判定期間Ｔ２内に不正なＣＡＮフレームＡの侵入による攻撃を受けたために、同一種類のＣＡＮフレームＡが判定期間Ｔ２内に２個受信部１２で受信されている。この場合、同一送信周期で送信されたＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣがそれぞれ拡張判定期間ＥＴ内に３個ずつ受信部１２で受信されないので（Ｓ４０２でＮＯ）、判定部１６Ｃは、ＣＡＮフレームが異常であると判定する（Ｓ１１０）。
【０１０１】
［４−３．効果］
例えばＥＣＵ８によるＣＡＮフレームの送信周期の乱れが発生した際に、送信周期の乱れにより、正常なＣＡＮフレームを異常であると誤検出するのを回避することができる。
【０１０２】
（実施の形態５）
［５−１．電子制御装置の機能構成］
次に、図１を参照しながら、実施の形態５に係る電子制御装置１０Ｄの機能構成について説明する。図１は、実施の形態５に係る通信システム２Ｄの概要を示すブロック図である。
【０１０３】
図１に示すように、実施の形態５に係る通信システム２Ｄの電子制御装置１０Ｄでは、判定部１６Ｄによる判定方法が上記実施の形態１と異なっている。具体的には、判定部１６Ｄは、特定したグループについての判定期間内に、特定した当該グループ以外の他のグループに属するＣＡＮフレーム（すなわち、同一送信周期と異なる送信周期で送信されたＣＡＮフレーム）が受信部１２で受信された個数をカウントする。判定部１６Ｄは、カウントした個数が閾値（例えば８個）以上である場合に、当該判定期間の次の周期の判定期間の開始タイミングを変更する。
【０１０４】
［５−２．電子制御装置の動作］
図１３及び図１４を参照しながら、実施の形態５に係る電子制御装置１０Ｄの動作について説明する。図１３は、実施の形態５に係る電子制御装置１０Ｄの動作の流れを示すフローチャートである。図１４は、実施の形態５に係る通信システム２Ｄにおいて車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。なお、図１３のフローチャートにおいて、図３のフローチャートの処理と同一の処理には同一のステップ番号を付して、その説明を省略する。
【０１０５】
図１３に示すように、上記実施の形態１と同様に、まず、ステップＳ１０１〜Ｓ１０９及びＳ１１１が実行される。なお、本実施の形態では、上記実施の形態１と同様に、ステップＳ１０１において受信部１２がグループＡに属するＣＡＮフレーム（ＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣ）を受信する場合について説明する。
【０１０６】
ステップＳ１０９又はＳ１１１の後に、判定部１６Ｄは、特定したグループＡについての判定期間内に、グループＡ以外の他のグループに属するＣＡＮフレームが受信部１２で受信された個数が閾値（例えば８個）以上であるか否かを判定する。なお、図１４では、グループＡ以外の他のグループに属するＣＡＮフレームを「◇（菱形）」で示している。
【０１０７】
グループＡ以外の他のグループに属するＣＡＮフレームが判定期間内に受信部１２で受信された個数が閾値未満である場合には（Ｓ５０１でＮＯ）、ステップＳ１１０に進む。この場合、判定部１６Ｄは、当該判定期間の開始タイミングを変更しない。
【０１０８】
一方、グループＡ以外の他のグループに属するＣＡＮフレームが判定期間内に受信部１２で受信された個数が閾値以上である場合には（Ｓ５０１でＹＥＳ）、判定部１６Ｄは、当該判定期間の次の周期の判定期間の開始タイミングを変更する（Ｓ５０２）。図１４の（ａ）に示す例では、グループＡについての判定期間Ｔ２内に、グループＡ以外の他のグループに属するＣＡＮフレームが受信部１２で受信された個数は８個であり、閾値以上となっている。この場合、判定部１６Ｄは、当該判定期間Ｔ２の次の周期の判定期間Ｔ３の開始タイミングを変更する。
【０１０９】
この時、判定部１６Ｄは、判定期間Ｔ２内でＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが受信部１２でそれぞれ受信された複数の受信タイミングの中から、グループＡ以外の他のグループに属するＣＡＮフレームが判定期間Ｔ３内に受信部１２で受信される個数が最も少なくなる受信タイミングを選択し、選択した受信タイミングを判定期間Ｔ３の開始タイミングとして決定する。
【０１１０】
図１４の（ａ）に示す例では、判定期間Ｔ３の開始タイミングをＣＡＮフレームＡの受信タイミングとした場合には、グループＡ以外の他のグループに属するＣＡＮフレームが判定期間Ｔ３内に受信部１２で受信される個数は８個となる。また、図１４の（ｂ）に示す例では、判定期間Ｔ３の開始タイミングをＣＡＮフレームＢの受信タイミングとした場合には、グループＡ以外の他のグループに属するＣＡＮフレームが判定期間Ｔ３内に受信部１２で受信される個数は６個となる。また、図１４の（ｃ）に示す例では、判定期間Ｔ３の開始タイミングをＣＡＮフレームＣの受信タイミングとした場合には、グループＣ以外の他のグループに属するＣＡＮフレームが判定期間Ｔ３内に受信部１２で受信される個数は０個となる。したがって、判定部１６Ｄは、判定期間Ｔ２内でＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが受信部１２でそれぞれ受信された複数の受信タイミングの中から、ＣＡＮフレームＣの受信タイミングを判定期間Ｔ３の開始タイミングとして決定する。
【０１１１】
［５−３．効果］
図１４の（ａ）に示すように、判定期間Ｔ２の開始タイミングから終了タイミングまでの時間が比較的長い場合には、例えばＥＣＵ８によるＣＡＮフレームの送信周期の乱れが発生した際に、送信周期の乱れた正常なＣＡＮフレームを異常であると誤検出するおそれがある。
【０１１２】
本実施の形態では、上述したように、判定期間Ｔ２の次の周期の判定期間Ｔ３の開始タイミングを変更することにより、判定期間Ｔ３の開始タイミングから終了タイミングまでの時間を短縮化することができる。その結果、送信周期の乱れにより、正常なＣＡＮフレームを異常であると誤検出するのを回避することができる。
【０１１３】
（実施の形態６）
［６−１．電子制御装置の機能構成］
次に、図１及び図１５を参照しながら、実施の形態６に係る電子制御装置１０Ｅの機能構成について説明する。図１は、実施の形態６に係る通信システム２Ｅの概要を示すブロック図である。図１５は、実施の形態６に係る通信システム２Ｅにより車両が攻撃を受けていない正常時における、各ＣＡＮフレームのグルーピング方法を示す図である。
【０１１４】
図１に示すように、実施の形態６に係る通信システム２Ｅの電子制御装置１０Ｅでは、判定部１６Ｅによる判定方法が上記実施の形態１と異なっている。具体的には、図１５に示すように、判定部１６Ｅは、同一のＥＣＵ８から送信された複数のＣＡＮフレームの種類数（例えば３個）と同数のＣＡＮフレームが受信部１２で受信される期間である判定期間Ｔ’（第２の判定期間の一例）内に、同一のＥＣＵ８から送信された同一種類のＣＡＮフレームが２個以上受信部１２で受信された場合に、ＣＡＮフレームが異常であると判定する。さらに、判定部１６Ｅは、上記実施の形態１と同様に、同一送信周期で送信された同一種類のＣＡＮフレームが受信部１２で受信される判定期間Ｔ内に、同一送信周期で送信された同一のＣＡＮフレームが２個以上受信部１２で受信された場合に、ＣＡＮフレームが異常であると判定する。
【０１１５】
図１５に示す例では、ＣＡＮフレームＡ（送信周期：１０ｍｓ）、ＣＡＮフレームＢ（送信周期：１０ｍｓ）及びＣＡＮフレームＣ（送信周期：３０ｍｓ）は、送信元であるＥＣＵ８が同一であるため、「グループＡ」としてグルーピングされている。すなわち、グループＡに属するＣＡＮフレームの種類数は、「３個」である。
【０１１６】
図１５に示す例では、判定期間Ｔ１，Ｔ２，Ｔ３，Ｔ４内には、同一送信周期（１０ｍｓ）で送信されたＣＡＮフレームＡ及びＣＡＮフレームＢが受信部１２で受信される。また、判定期間Ｔ１’，Ｔ２’内には、同一のＥＣＵ８から送信されたＣＡＮフレームＡ、ＣＡＮフレームＢ及びＣＡＮフレームＣが受信部１２で受信される。この時、ＣＡＮフレームＣの送信周期は、ＣＡＮフレームＡ及びＣＡＮフレームＢの各送信周期の３倍であるため、判定期間Ｔ’の発生周期は、判定期間Ｔの発生周期の３倍となる。
【０１１７】
なお、本実施の形態では、ＣＡＮフレームＣの送信周期がＣＡＮフレームＡ及びＣＡＮフレームＢの各送信周期の整数倍である場合について説明したが、これに限定されない。例えば、ＣＡＮフレームＡ及びＣＡＮフレームＢの各送信周期を１０ｍｓ、ＣＡＮフレームＣの送信周期を３５ｍｓとしてもよい。このような場合であっても、ＣＡＮフレームＣをＣＡＮフレームＡ及びＣＡＮフレームＢとグルーピングしてもよい。
【０１１８】
［６−２．効果］
例えば送信周期が３０ｍｓであるＣＡＮフレームがＣＡＮフレームＣのみである場合であっても、ＣＡＮフレームＣをＣＡＮフレームＡ及びＣＡＮフレームＢとグルーピングすることができる。これにより、不正なＣＡＮフレームＣがＣＡＮバス４に侵入した場合であっても、不正なＣＡＮフレームＣの侵入を検出することができる。
【０１１９】
さらに、同一のＥＣＵ８が送信するＣＡＮフレームでグルーピングすることにより、送信周期の乱れによるＣＡＮフレームの受信順序の入れ替わりが発生せず、正常なＣＡＮフレームを異常であると誤検出することを回避することができる。
【０１２０】
（他の変形例）
以上、一つ又は複数の態様に係る電子制御装置について、上記各実施の形態に基づいて説明したが、本開示は、上記各実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思い付く各種変形を上記各実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つ又は複数の態様の範囲内に含まれてもよい。
【０１２１】
上記各実施の形態では、電子制御装置１０（１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ（１０Ａ〜１０Ｅ））とゲートウェイＥＣＵ６とを別々に構成したが、これに限定されず、電子制御装置１０（１０Ａ〜１０Ｅ）の機能をゲートウェイＥＣＵ６に搭載してもよい。
【０１２２】
上記各実施の形態では、本開示に係る電子制御装置１０（１０Ａ〜１０Ｅ）の適用例として、自動車等の車両に搭載される車載ネットワークにおけるセキュリティ対策への適用について説明したが、本開示に係る電子制御装置１０（１０Ａ〜１０Ｅ）の適用範囲はこれに限定されない。本開示に係る電子制御装置１０（１０Ａ〜１０Ｅ）は、自動車等の車両に限定されず、例えば、建機、農機、船舶、鉄道又は飛行機等の任意のモビリティに適用してもよい。
【０１２３】
なお、上記実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵ又はプロセッサ等のプログラム実行部が、ハードディスク又は半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１２４】
また、上記実施の形態に係る電子制御装置の機能の一部又は全てを、ＣＰＵ等のプロセッサがプログラムを実行することにより実現してもよい。
【０１２５】
上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能なＩＣカード又は単体のモジュールから構成されているとしても良い。前記ＩＣカード又は前記モジュールは、マイクロプロセッサ、ＲＯＭ、ＲＡＭ等から構成されるコンピュータシステムである。前記ＩＣカード又は前記モジュールは、上記の超多機能ＬＳＩを含むとしても良い。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ＩＣカード又は前記モジュールは、その機能を達成する。このＩＣカード又はこのモジュールは、耐タンパ性を有するとしても良い。
【０１２６】
本開示は、上記に示す方法であるとしても良い。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしても良いし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えばフレキシブルディスク、ハードディスク、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＢＤ（Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ）、半導体メモリ等に記録したものとしても良い。また、これらの記録媒体に記録されている前記デジタル信号であるとしても良い。また、本開示は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしても良い。また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしても良い。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしても良い。
【産業上の利用可能性】
【０１２７】
本開示に係る電子制御装置は、例えば車両に搭載された自動運転システム等に適用可能である。
【符号の説明】
【０１２８】
２，２Ａ，２Ｂ，２Ｃ，２Ｄ，２Ｅ  通信システム
４  ＣＡＮバス
６  ゲートウェイＥＣＵ
８  ＥＣＵ
１０，１０Ａ，１０Ｂ，１０Ｃ，１０Ｄ，１０Ｅ  電子制御装置
１２  受信部
１４  記憶部
１６，１６Ａ，１６Ｂ，１６Ｃ，１６Ｄ，１６Ｅ  判定部
１８  制御部
２０  グループ情報
２２  受信回数情報
Ｔ，Ｔ’，Ｔ１，Ｔ１’，Ｔ２，Ｔ２’，Ｔ３，Ｔ４  判定期間
ＥＴ  拡張判定期間
ＶＴ１，ＶＴ２，ＶＴ３  検証用判定期間
【図１】
2020102771.tif 000003
【図２Ａ】
2020102771.tif 000004
【図２Ｂ】
2020102771.tif 000005
【図３】
2020102771.tif 000006
【図４Ａ】
2020102771.tif 000007
【図４Ｂ】
2020102771.tif 000008
【図４Ｃ】
2020102771.tif 000009
【図５】
2020102771.tif 000010
【図６】
2020102771.tif 000011
【図７】
2020102771.tif 000012
【図８】
2020102771.tif 000013
【図９】
2020102771.tif 000014
【図１０】
2020102771.tif 000015
【図１１】
2020102771.tif 000016
【図１２】
2020102771.tif 000017
【図１３】
2020102771.tif 000018
【図１４】
2020102771.tif 000019
【図１５】
2020102771.tif 000020