(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-11
(45)【発行日】2024-03-19
(54)【発明の名称】通信システム、中継装置、受信装置及び通信制御方法
(51)【国際特許分類】
H04L 12/46 20060101AFI20240312BHJP
【FI】
H04L12/46 100C
(21)【出願番号】P 2022553225
(86)(22)【出願日】2020-09-29
(86)【国際出願番号】 IB2020000825
(87)【国際公開番号】W WO2022069915
(87)【国際公開日】2022-04-07
【審査請求日】2023-03-14
(73)【特許権者】
【識別番号】000003997
【氏名又は名称】日産自動車株式会社
(73)【特許権者】
【識別番号】507308902
【氏名又は名称】ルノー エス.ア.エス.
【氏名又は名称原語表記】RENAULT S.A.S.
【住所又は居所原語表記】122-122 bis, avenue du General Leclerc, 92100 Boulogne-Billancourt, France
(74)【代理人】
【識別番号】110000486
【氏名又は名称】弁理士法人とこしえ特許事務所
(72)【発明者】
【氏名】中 健
(72)【発明者】
【氏名】山口 貴士
(72)【発明者】
【氏名】山田 英明
【審査官】和平 悠希
(56)【参考文献】
【文献】特開2018-070121(JP,A)
【文献】特開2019-165473(JP,A)
【文献】国際公開第2018/198297(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-101/695
(57)【特許請求の範囲】
【請求項1】
通信ネットワークに接続された第1の通信装置及び第2の通信装置と、
前記通信ネットワークに接続され、前記第1の通信装置と前記第2の通信装置との間の通信を中継する中継装置と、を備え、
前記中継装置は、
前記第1の通信装置から前記通信ネットワークへ送信されたデータフレームを受信する受信処理と、受信した前記データフレームを前記第2の通信装置へ送信する送信処理とを行う中継部を備え、
前記第1の通信装置は、
前記データフレームの前記通信ネットワークへの送信回数をカウントするカウンタを備え、
前記カウンタのカウンタ値が格納された前記データフレームを前記通信ネットワークへ送信し、
前記第2の通信装置は、
前記第1の通信装置により送信された前記データフレームの前記カウンタ値を管理するカウンタ値管理情報が記憶されたカウンタ値検証部を備え、
前記カウンタ値が格納された前記データフレームを受信し、
前記カウンタ値検証部は、受信した前記データフレームの前記カウンタ値が、前記カウンタ値管理情報に登録されているか否かに応じて、受信した前記データフレームの正当性を検証する通信システムにおいて、
前記カウンタ値管理情報には、所定の数値幅の前記カウンタ値が登録されており、
前記第2の通信装置は、前記カウンタ値管理情報に登録されている前記カウンタ値の数値幅を制御する通信システム。
【請求項2】
前記中継部により受信した前記データフレームに基づいて、受信した前記データフレームの送信処理の優先度を判定する優先度判定部と、を備え、
前記中継部は、前記優先度判定部により判定された優先度に基づいて、前記データフレームの送信処理を行う請求項
1に記載の通信システム。
【請求項3】
前記優先度判定部は、前記中継部が複数の前記データフレームを受信すると、受信した複数の前記データフレームに基づいて、前記複数のデータフレームの送信処理の優先度を判定し、
前記中継部は、判定された優先度に基づいて、前記複数のデータフレームの送信処理を行う請求項
2に記載の通信システム。
【請求項4】
前記中継部は、優先度が高い前記データフレームは、優先度が低い前記データフレームよりも優先して送信処理を行う請求項
2又は3に記載の通信システム。
【請求項5】
前記優先度判定部は、前記データフレームに含まれるメッセージIDに基づいて優先度を判定する請求項
2~4のいずれか1項に記載の通信システム。
【請求項6】
前記第1の通信装置は、
前記データフレームに格納される格納データと、予め備える共通鍵とに基づいて第1のメッセージ認証コードを生成し、前記格納データと、生成された前記第1のメッセージ認証コードとが格納された前記データフレームを生成するフレーム生成部と、
前記第1のメッセージ認証コードが格納された前記データフレームを前記通信ネットワークへ送信する第1の通信部と、を備え、
前記第2の通信装置は、
前記第1のメッセージ認証コードが格納された前記データフレームを受信する第2の通信部と、
前記第2の通信部により受信した前記データフレーム内の前記格納データと、前記第1の通信装置と共通の前記共通鍵とに基づいて第2のメッセージ認証コードを生成し、生成された前記第2のメッセージ認証コードと、受信した前記第1のメッセージ認証コードとが一致するか否かによって、受信した前記データフレームの正当性を検証する認証コード検証部と、を備える請求項
2~5のいずれか1項に記載の通信システム。
【請求項7】
前記カウンタ値検証部により、受信した前記データフレームの前記カウンタ値と、前記カウンタ値管理情報とに基づいて、受信した前記データフレームの正当性を検証する請求項
2~6のいずれか1項に記載の通信システム。
【請求項8】
前記第2の通信装置は、新たに受信した前記データフレームの前記カウンタ値が、前記カウンタ値管理情報に登録されている前記カウンタ値の最大値よりも大きい場合に、新たに受信した前記データフレームの前記カウンタ値が前記カウンタ値管理情報内で最大値となるように、所定の数値幅の前記カウンタ値を更新する請求項
1~7のいずれか1項に記載の通信システム。
【請求項9】
前記第2の通信装置は、前記通信ネットワークにおける通信が途絶されていると判断される所定の通信途絶時間を上限として、前記カウンタ値管理情報に登録されている前記カウンタ値の数値幅を制御する請求項
1~8のいずれか1項に記載の通信システム。
【請求項10】
前記第2の通信装置は、前記カウンタ値管理情報を記憶する記憶部の記憶容量、又は前記中継装置にて前記データフレームをバッファするバッファ容量を上限として、前記カウンタ値管理情報に登録されている前記カウンタ値の数値幅を制御する請求項
1~9のいずれか1項に記載の通信システム。
【請求項11】
前記カウンタ値管理情報は、前記データフレームの種類毎に設けられている請求項
1~10のいずれか1項に記載の通信システム。
【請求項12】
前記第2の通信装置は、前記データフレームの種類別の送信頻度に基づいて、前記データフレームの種類毎に設けられている前記カウンタ値管理情報の前記カウンタ値の数値幅を制御する請求項
11に記載の通信システム。
【請求項13】
前記第2の通信装置は、送信頻度が低い種類の前記データフレームの前記カウンタ値管理情報は、送信頻度が高い種類の前記データフレームの前記カウンタ値管理情報よりも、前記カウンタ値の数値幅が広くなるように制御する請求項
12に記載の通信システム。
【請求項14】
前記カウンタ値管理情報には、受信済み又は未受信の前記データフレームの前記カウンタ値が登録されており、
前記カウンタ値検証部は、受信した前記データフレームの前記カウンタ値が受信済みであるか否かに応じて、受信した前記データフレームの正当性を検証する請求項
1~13のいずれか1項に記載の通信システム。
【請求項15】
前記第2の通信装置は、未受信の前記データフレームを受信すると、前記カウンタ値管理情報の前記カウンタ値を受信済みに更新する請求項
14に記載の通信システム。
【請求項16】
前記第2の通信装置は、受信した前記データフレームが不正であると判定された場合に、受信した前記データフレームを破棄する請求項
1~15のいずれか1項に記載の通信システム。
【請求項17】
前記通信ネットワークは、CAN(Controller Area Network)である請求項
1~16のいずれか1項に記載の通信システム。
【請求項18】
通信ネットワークに接続され、送信装置から前記通信ネットワークへ送信されたデータフレームを受信する受信装置であって、
前記送信装置から、前記データフレームの前記通信ネットワークへの送信回数を示すカウンタ値が格納された前記データフレームを受信する受信部と、
前記送信装置により送信された前記データフレームの前記カウンタ値を管理するカウンタ値管理情報が記憶されたカウンタ値検証部と、を備え、
前記受信部により、前記カウンタ値が格納された前記データフレームを受信し、
前記カウンタ値検証部により、受信した前記データフレームの前記カウンタ値と、前記カウンタ値管理情報とに基づいて、受信した前記データフレームの正当性を検証する受信装置において、
前記カウンタ値管理情報には、所定の数値幅の前記カウンタ値が登録されており、
前記カウンタ値管理情報に登録されている前記カウンタ値の数値幅を制御する受信装置。
【請求項19】
中継装置により中継され、通信ネットワークに接続された第1の通信装置と第2の通信装置によって実行される通信制御方法であって、
前記第1の通信装置は、
前記
第1の通信装置から前記通信ネットワークへ送信されたデータフレームの前記通信ネットワークへの送信回数をカウントするカウンタを備え、
前記カウンタのカウンタ値が格納された前記データフレームを前記通信ネットワークへ送信し、
前記第2の通信装置は、
前記第1の通信装置により送信された前記データフレームの前記カウンタ値を管理するカウンタ値管理情報が記憶されたカウンタ値検証部を備え、
前記カウンタ値が格納された前記データフレームを受信し、
前記カウンタ値検証部は、受信した前記データフレームの前記カウンタ値が、前記カウンタ値管理情報に登録されているか否かに応じて、受信した前記データフレームの正当性を検証する通信制御方法において、
前記カウンタ値管理情報には、所定の数値幅の前記カウンタ値が登録されており、
前記第2の通信装置は、前記カウンタ値管理情報に登録されている前記カウンタ値の数値幅を制御する通信制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信ネットワークを介してデータフレームを送受信する通信システム、中継装置、受信装置及び通信制御方法に関するものである。
【背景技術】
【0002】
特許文献1には、車載機器を制御する複数のECU(Electronic Control Unit)と、各ECUが相互に通信できるように接続するCAN(Controller Area Network)等の車載ネットワークと、ECU間の通信を中継するCGW(Central Gate Way)とを備える車載ネットワークシステムが開示されている。CGWは、送信元のECUからCANに送信されたデータフレームを受信し、受信したデータフレームを送信先のECUへ送信する。特許文献1の車載ネットワークシステムでは、このような車載ネットワークに対するリプレイ攻撃等に対処するために、公知のメッセージ認証コード(Message Authentication Code、以下「MAC」ともいう)を用いてデータフレームの正当性を検証している。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
CGWは、複数のデータフレームを受信してバッファすると、受信したデータフレームから順に送信先のECUへ送信する。そのため、重要なデータフレームの送信が後回しになり、送信先のECUが適切なタイミングで重要なデータフレームを受信できない可能性がある。
【0005】
本発明が解決しようとする課題は、データフレームの送信頻度等が変化した場合でも、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することである。
【課題を解決するための手段】
【0006】
本発明は、通信ネットワークに接続された第1の通信装置及び第2の通信装置と、前記通信ネットワークに接続され、前記第1の通信装置と前記第2の通信装置との間の通信を中継する中継装置と、を備えた通信システムにおいて、第2の通信装置は、第1の通信装置により送信されたデータフレームのカウンタ値を管理するカウンタ値管理情報が記憶されたカウンタ値検証部を備え、カウンタ値管理情報には、所定の数値幅の前記カウンタ値が登録されており、第2の通信装置は、カウンタ値管理情報に登録されているカウンタ値の数値幅を制御することによって上記課題を解決する。
【発明の効果】
【0007】
本発明によれば、データフレームの送信頻度等が変化した場合でも、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本発明に係る通信システム、中継装置、受信装置及び通信制御方法を適用した、車載ネットワークシステムの構成図である。
【
図2】
図2は、
図1のゲートウェイによりデータフレームの送信処理の優先度を判定している状態を示す説明図である。
【
図4】
図4は、
図1の車載ネットワークシステムで通信されるデータフレームのデータ構成を示す説明図である。
【
図5A】
図5Aは、
図1のカウンタ値管理情報を用いてデータフレームの正当性を検証している状態を示す説明図である。
【
図5B】
図5Bは、
図1のカウンタ値管理情報の受信フラグを更新した状態を示す説明図である。
【
図6A】
図6Aは、
図1のカウンタ値管理情報の最大のカウンタ値よりも大きなカウンタ値を有するデータフレームを受信した状態を示す説明図である。
【
図6B】
図6Bは、
図1のカウンタ値管理情報のカウンタ値情報をカウンタ値の最大値に基づいて更新した状態を示す説明図である。
【
図7】
図7は、
図1の車載ネットワークシステムにてデータフレームを通信する手順を示すシーケンスチャートである。
【
図8】
図8は、
図1の車載ネットワークシステムの通信途絶時間を上限としてカウンタ値管理情報のカウンタ値情報を制御する状態を示す説明図である。
【
図9】
図9は、
図1のゲートウェイのバッファメモリの記憶容量を上限としてカウンタ値管理情報のカウンタ値情報を制御する状態を示す説明図である。
【
図10】
図10は、データフレームの種類毎に設けられたカウンタ値管理情報を示す説明図である。
【発明を実施するための形態】
【0009】
以下、本発明の実施形態を図面に基づいて説明する。
本実施形態では、本発明に係る通信システム、中継装置、受信装置及び通信制御方法を、車載ネットワークシステムに適用した例を用いて説明する。
図1に示すように、本実施形態の車載ネットワークシステム2は、自動車である車両1に搭載されている。車載ネットワークシステム2は、CAN3と、CAN3に接続された複数のECU4a、ECU4b、ECU4c、ECU4d及びECU4eと、TCU(Telematics Control Unit)5と、OBD(On-board diagnostics)ポート6と、ゲートウェイ7とを備えている。なお、CAN3は、本発明の通信ネットワークの一例に相当する。また、ECU4a~4e及びTCU5は、本発明の第1の通信装置、第2の通信装置及び受信装置の一例に相当する。また、ゲートウェイ7は、本発明の中継装置の一例に相当する。なお、ECU4a~4eを総称してECU4ともいう。
【0010】
CAN3は、各ECU4、TCU5及びゲートウェイ7等が接続された複数のバス3a、3b、3c、3d、3e及び3fを備えている。CAN3の通信プロトコルでは、バス3a~3fに接続された各ECU4及びTCU5等が、データフレームと呼ばれるメッセージを送受信する。データフレームには、送信元や送信先を示す識別子は付加されておらず、各ECU4及びTCU5は、データフレーム毎にCAN ID(メッセージIDともいう)と呼ばれる識別情報を付加してバス3a~3fに送信する。CAN IDは、メッセージの種類を示す識別情報であり、各ECU4及びTCU5は、予め定められたCAN IDのみを受信する。
【0011】
各ECU4a~4eには、図示しないセンサ又はアクチュエータ等の車載機器が接続されている。また、各ECU4a~4eは、接続されているセンサから、センサによる検知結果を示すセンサ情報を取得し、取得したセンサ情報を含む制御情報を格納したデータフレームをバス3a~3fへ送信する。また、各ECU4a~4eは、バス3a~3fからデータフレームを受信し、受信したデータフレームに格納されている制御情報に基づいてアクチュエータ等の車載機器を制御する。
【0012】
CAN3は、各バス3a~3fと、各バス3a~3fに接続された各ECU4a~4e及びTCU5により、車両1の基本構成毎に区分けされた複数の制御グループを構成している。この制御グループは、ドメインとも呼ばれる。バス3a及びECU4aは、例えば、マルチメディアドメインを構成し、カーナビゲーション装置を含むヘッドユニット等の情報提示機器を制御する。また、バス3b及びECU4bは、例えば、ADAS(Advanced Driver-Assistance System)ドメインを構成し、カメラやレーダ、LIDAR(Light Detection and Ranging)、これらの出力に基づいてセンサフュージョン処理を行う物体認識装置等の走行支援制御に関連する車載機器を制御する。バス3c及びECU4cは、例えば、パワートレインドメインを構成し、エンジンやモータ等の車両1の駆動源等を制御する。また、バス3d及びECU4dは、例えば、シャーシドメインを構成し、ステアリング機構等のシャーシ関連の車載機器を制御する。さらに、バス3e及びECU4eは、例えば、ボディドメインを構成し、パワーウィンドウ等のボディ関連の車載機器を制御する。
【0013】
TCU5は、車両1の外部の外部通信網8と接続して通信を行う通信用ECUである。外部通信網8は、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)、公衆回線、LTE(Long Term Evolution)等の移動体通信網等の電気通信回線網である。OBDポート6は、CAN3を流れる様々な情報、例えば車両1の動作状態を示す情報を外部装置へ出力するポートである。TCU5及びOBDポート6と、これらが接続されたバス3fは、例えば、外部通信ドメインを構成する。すなわち、バス3fを流れるデータフレームには、例えば、外部通信網8側の装置から送信されたデータフレーム、及びOBDポート6に接続された装置から送信されたデータフレームが含まれる。
【0014】
ゲートウェイ7は、CAN3の複数のバス3a~3fに接続され、バス間でのデータフレームの中継処理およびルーティング処理を実行するECUである。従来のゲートウェイは、複数のデータフレームを受信してバッファすると、受信したデータフレームから順に送信先のECUへ送信していた。そのため、重要なデータフレームの送信が後回しになり、送信先のECUが適切なタイミングで重要なデータフレームを受信できない可能性があった。本実施形態のゲートウェイ7は、このような問題を解決するために、中継部71と、優先度判定部72とを備えている。
【0015】
ゲートウェイ7の中継部71は、送信元のECU4又はTCU5からCAN3に送信されたデータフレームを受信する受信処理と、受信したデータフレームを送信先のECU4又はTCU5へ送信する送信処理とを行う。また、ゲートウェイ7の優先度判定部72は、中継部71の受信処理により受信したデータフレームに基づいて、受信したデータフレームの送信処理の優先度を判定する。具体的には、優先度判定部72は、中継部71が複数のデータフレームを受信してバッファすると、バッファされている複数のデータフレームのCAN IDに基づいて、複数のデータフレームの送信処理の優先度を判定する。本実施形態の車載ネットワークシステム2では、CAN IDは、重要度が高いデータフレームほど数値が小さくなるように設定されている。なお、重要度が高いデータフレームとは、例えば、車両1の走行制御に関するデータフレーム等である。そのため、優先度判定部72は、CAN IDに基づいて、送信処理の優先度を判定することができる。中継部71は、判定された優先度に基づいて、複数のデータフレームの送信処理を行う。より具体態には、中継部71は、優先度が高いデータフレームは、優先度が低いデータフレームよりも優先して送信処理を行う。
【0016】
図2に示すように、ゲートウェイ7の中継部71は、例えば、CAN IDが「307」、「105」、「409」、「201」、「105」のデータフレームを順に受信してバッファしているとする。この場合、優先度判定部72は、CAN IDが小さい順に送信処理が行われるように優先度を判定する。また、CAN ID「105」のデータフレームのように、同じCAN IDのデータフレームが複数存在する場合には、データフレームの送信順序を示すカウンタ値が小さいデータフレームの優先度を高くする。なお、データフレームのカウンタ値については、詳しくは後述する。すなわち、優先度判定部72は、送信処理の優先度が「105(カウンタ値:45)」、「105(カウンタ値:48)」、「201」、「307」、「409」の順に高くなるように、優先度を判定する。中継部71は、優先度判定部72の判定結果に基づいて、CAN IDが「105(カウンタ値:45)」、「105(カウンタ値:48)」、「201」、「307」、「409」のデータフレームを順に送信する。これにより、送信先のECU4又はTCU5は、優先度に応じた適切なタイミングでデータフレームを受信することができる。
【0017】
ECU4は、ハードウェア及びソフトウェアを備えたコンピュータにより構成されている。詳しくは図示しないが、ECU4は、プログラムを格納したROM(Read Only Memory)と、このROMに格納されたプログラムを実行するCPU(Central Processing Unit)と、プログラムの実行中に生じたデータを一時的に記憶するRAM(Random Access Memory)とを備えている。ROMには、各ECU4a~4f毎に接続されている車載機器に応じた制御を行うための制御プログラムが記憶されている。なお、動作回路としては、CPUに代えて又はこれとともに、MPU(Micro Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を用いることができる。
【0018】
図3は、ECU4のCPUが制御プログラムに基づいて動作することにより構成される各種の機能部を示している。ECU4は、記憶部41、通信部42、カウンタ43、データ取得部44、フレーム生成部45、MAC検証部46、カウンタ値検証部47、車載機器制御部48、管理情報更新部49を備えている。なお、詳しくは説明しないが、TCU5も同様の構成を備えている。
【0019】
記憶部41は、上記のROMによって構成されており、車載ネットワークシステム2に対するリプレイ攻撃への対処に利用されるカウンタ値411、共通鍵412及びカウンタ値管理情報413が記憶されている。ここで、リプレイ攻撃とは、ネットワーク上を流れるデータフレームを盗聴してその内容を記憶しておき、記憶したデータフレーム、又は改変したデータフレームをネットワーク内に送信することにより、ネットワーク内の機器に不正な動作を引き起こすサイバー攻撃である。リプレイ攻撃は、TCU5と通信を行う外部機器や、ODBポート6に接続された外部機器によって行われる。
【0020】
通信部42は、CAN3及びゲートウェイ7を介して他のECU4及びTCU5と通信を行う。通信部42は、他のECU4及びTCU5から送信されたデータフレームを受信する際に、データフレームのCAN IDを確認し、予め定められたCAN IDを有するデータフレーム、すなわち、通信部42が設けられているECU4に関連するデータフレームのみを受信する。
【0021】
カウンタ43は、データフレームがCAN3に送信された回数をカウントし、カウンタ値をインクリメントする。すなわち、カウンタ43は、車載ネットワークシステム2内のECU4a~4e、TCU5及びOBDポート6等が、データフレームをCAN3へ送信した回数をカウントする。したがって、各ECU4a~4e及びTCU5のカウンタは、同じカウンタ値となる。カウンタ43によりカウントされたカウンタ値は、符号411で示すように、記憶部41に記憶される。
【0022】
データ取得部44は、ECU4に接続されたセンサ等の車載機器から、センサによる検知結果を示すセンサ情報を取得する。フレーム生成部45は、データ取得部44により取得されたセンサ情報に基づいて、センサ情報を含む制御情報を生成し、生成された制御情報に基づいて、通信部42により送信されるデータフレームを生成する。具体的には、フレーム生成部45は、データ取得部44により取得したセンサ情報の種類に応じてCAN IDを設定する。フレーム生成部45は、例えば、センサ情報とCAN IDとが対応付けられたテーブルを記憶しており、このテーブルに基づいてCAN IDを設定する。
【0023】
また、フレーム生成部45は、上述したリプレイ攻撃に対処するために、設定したCAN IDと、生成された制御情報と、記憶部41に記憶されているカウンタ値411とに基づいて、記憶部41に記憶されている共通鍵412によりMACを生成する。共通鍵412は、各ECU4a~4e及びTCU5において、共通のものが用いられる。また、MACの算出には、ハッシュ関数を使う方式(HMAC)や、ブロック暗号アルゴリズムを使う方式(CMAC等)等が用いられる。フレーム生成部45は、設定したCAN IDと、データ取得部44により取得したセンサ情報を含む制御情報と、記憶部41に記憶されているカウンタ値411と、生成したMACとに基づいてデータフレームを生成する。フレーム生成部45にて生成されるMACは、本発明の第1のメッセージ認証コードの一例に相当する。
【0024】
図4は、フレーム生成部45により生成されるデータフレームの構成の一例を示している。データフレームは、CAN IDが格納されるIDフィールド91と、データが格納されるデータフィールド92とを備えている。データフィールド92には、上記のセンサ情報を含む制御情報と、カウンタ値と、MACとが格納される。なお、CAN ID、制御情報及びカウンタ値は、本発明の格納データの一例に相当する。
【0025】
MAC検証部46は、通信部42により受信したデータフレームのMACに基づいて、データフレームの正当性、すなわち、受信したデータフレームが車載ネットワークシステム2内の他のECU4又はTCU5から送信されたものであるか否かを検証する。具体的には、MAC検証部46は、受信したデータフレームから、CAN IDと、制御情報と、カウンタ値と、MACとを取得する。MAC検証部46は、取得されたCAN IDと、制御情報と、カウンタ値とに基づいて、記憶部41に記憶されている共通鍵412により検証用のMACを生成する。この検証用のMACは、本発明の第2のメッセージ認証コードの一例に相当する。
【0026】
次いで、MAC検証部46は、受信したデータフレームから取得したMACと、検証用のMACとを比較し、取得したMACと検証用のMACとが一致する場合に、受信したデータフレームが正当なデータであると判定する。MAC検証部46は、受信したデータフレームが正当なデータであると判定すると、受信したデータフレームをカウンタ値検証部47に出力する。また、MAC検証部46は、受信したデータフレームが不正なデータであると判定すると、受信したデータフレームを破棄する。このように、MACを利用して不正なデータフレームを検出して破棄することができるので、車載ネットワークシステム2に対するリプレイ攻撃等を防ぐことが可能である。なお、MACの生成にCAN IDと、制御情報と、カウンタ値とを用いているが、これらの3つのデータのうち、いずれか1つ又は2つの組み合わせを用いてMACを生成してもよい。
【0027】
カウンタ値検証部47は、通信部42により受信したデータフレームのカウンタ値に基づいて、データフレームの正当性、すなわち、受信したデータフレームが車載ネットワークシステム2内の他のECU4又はTCU5から送信されたものであるか否かを検証する。また、カウンタ値検証部47は、受信したデータフレームのカウンタ値を利用して、データフレームの過度な破棄を抑制する。すなわち、ゲートウェイ7において、MAC IDを利用してデータフレームの送信処理の優先度を制御すると、優先度の低いデータフレームの送信タイミングは遅くなる。このような送信タイミングが遅くなったデータフレームには、車両1の制御において必要なものが存在する一方、送信タイミングが遅くなりすぎて不要になっているものも存在するため、送信タイミングが遅くなったデータフレームを適切に取捨選択する必要がある。本実施形態では、データフレームに送信順序を示すカウンタ値が格納されているため、例えば、既に受信済みのデータフレームのカウンタ値よりも小さいカウンタ値を有するデータフレーム(すなわち、受信済みのデータフレームよりも古いデータフレーム)を受信した場合に、そのデータフレームを破棄する、という処理を行うことが可能である。しかしながら、このような処理では、重要なデータフレームが破棄され、あるいは破棄されるデータフレームが多くなる可能性がある。例えば、
図2に示す例であれば、CAN IDが「105」でカウンタ値が「48」の重要なデータフレームは、CAN IDが「105」でカウンタ値が「45」のデータフレームよりも古いため、破棄されてしまう。このような課題を解決するために、本実施形態のカウンタ値検証部47は、受信したデータフレームのカウンタ値を利用して、リプレイ攻撃に対処しながら、データフレームの過度な破棄を抑制する。
【0028】
カウンタ値検証部47は、記憶部41に記憶されているカウンタ値管理情報413を備えている。カウンタ値管理情報413は、送信されたデータフレームのカウンタ値を管理する情報である。
図5Aに示すように、カウンタ値管理情報413は、所定の数値幅(例えば、64)のカウンタ値(例えば、107~43)を示すカウンタ値情報413aと、カウンタ値が格納されたデータフレームがいずれかのECU4又はTCU5により受信済みであるか否かを示す受信フラグ413bとが対応付けられている。受信フラグ413bは、受信済みのカウンタ値には「受信済み」の受信フラグが登録され、未受信のカウンタ値には「未受信」の受信フラグが登録されている。
【0029】
カウンタ値検証部47は、受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているか否かに応じて、受信した前記データフレームの正当性を検証する。また、カウンタ値検証部47は、受信したデータフレームのカウンタ値が受信済みであるか否かに応じて、受信したデータフレームの正当性を検証する。より具体的には、カウンタ値検証部47は、受信したデータフレームのカウンタ値が未受信である場合には、受信したデータフレームは正当なデータフレームであると判定する。また、カウンタ値検証部47は、受信したデータフレームのカウンタ値が受信済みである場合、あるいは受信したデータフレームのカウンタ値がカウンタ値情報413aに登録されているカウンタ値よりも小さい値である場合には、受信したデータフレームは不正なデータフレームであると判定する。
【0030】
例えば、
図5Aに示すカウンタ値管理情報413において、新たに受信したデータフレームのカウンタ値が「106」の場合には、このデータフレームは未受信であるため、カウンタ値検証部47は、カウンタ値「106」のデータフレームを正当なデータフレームであると判定する。また、新たに受信したデータフレームのカウンタ値が「45」の場合には、このデータフレームは未受信であるため、カウンタ値検証部47は、カウンタ値「45」のデータフレームを正当なデータフレームであると判定する。
【0031】
これに対し、新たに受信したデータフレームのカウンタ値が「104」の場合には、このデータフレームは既に受信済みであるため、カウンタ値検証部47は、カウンタ値「104」のデータフレームを不正なデータフレームであると判定する。さらに、新たに受信したデータフレームのカウンタ値が「32」の場合には、カウンタ値情報413aに登録されていない古いデータフレームであると判定できるため、カウンタ値検証部47は、カウンタ値「32」のデータフレームを不正なデータフレームであると判定する。
【0032】
カウンタ値検証部47は、受信したデータフレームが正当なデータであると判定すると、受信したデータフレームを車載機器制御部48に出力する。車載機器制御部48は、カウンタ値検証部47から出力されたデータフレームの制御情報に基づいて、車載機器を制御する。また、カウンタ値検証部47は、受信したデータフレームが不正なデータであると判定すると、受信したデータフレームを破棄する。このように、データフレームのカウンタ値により、そのデータフレームが受信済みであるか否かを判定するので、受信済みのデータフレームに偽装して送信された不正なデータフレームを検出して破棄することができる。また、カウンタ値情報413aの数値幅を所定数にしているので、送信タイミングが多少遅くなったデータフレームを受信し、送信タイミングが大幅に遅くなった古いデータフレームを破棄することができる。
【0033】
カウンタ値情報413aの数値幅は、データフレームの過度な破棄の抑制と、セキュリティリスクの低減とが両立するような値に設定されることが好ましい。すなわち、カウンタ値情報413aの数値幅を広くすると、データフレームの過度な破棄は抑制することができるが、リプレイ攻撃に利用可能なデータフレームが増えるため、セキュリティリスクは上昇する。これに対し、カウンタ値情報413aの数値幅を狭くすると、データフレームの過度な破棄は抑制できなくなるが、リプレイ攻撃に利用可能なデータフレームが少なくなるため、セキュリティリスクは低下する。このように、データフレームの破棄の抑制と、セキュリティリスクの低減とは、カウンタ値情報413aの数値幅に影響される。なお、
図5Aに示す例では、カウンタ値情報413aの数値幅を例えば「64」にしているため、最大で63フレーム分のデータフレームの破棄を抑制し、リプレイ攻撃を防ぐことができる。また、データフレームが送信される最短周期が、例えば10msである場合には、630msの間のデータフレームの破棄を抑制し、リプレイ攻撃を防ぐことができる。
【0034】
管理情報更新部49は、未受信のデータフレームを受信すると、この受信したデータフレームのカウンタ値に基づいて、カウンタ値管理情報413の受信フラグ413bを受信済みに更新する。例えば、
図5Aに示すカウンタ値管理情報413において、新たに受信したデータフレームのカウンタ値が「106」、「45」の場合、このデータフレームは未受信であるため、管理情報更新部49は、
図6Bに示すように、カウンタ値「106」、「45」のデータフレームの受信フラグを受信済みに更新する。
【0035】
また、管理情報更新部49は、新たに受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているカウンタ値の最大値よりも大きい場合に、新たに受信したデータフレームのカウンタ値がカウンタ値管理情報413内で最大値となるように、所定の数値幅のカウンタ値情報413aを更新する。例えば、
図6Aに示すカウンタ値管理情報413において、新たに受信したデータフレームのカウンタ値が、カウンタ値管理情報413の最大値「107」よりも大きな「150」であるとする。この場合、管理情報更新部49は、
図6Bに示すように、新たに受信したデータフレームのカウンタ値「150」がカウンタ値管理情報413内で最大値となるように、カウンタ値情報413aの所定の数値幅「64」を維持しつつ、カウンタ値「107~43」を、「150~86」に更新する。このように、カウンタ値管理情報413は、データフレームの受信状況に応じて更新されるので、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0036】
次に、
図7に示すシーケンスチャートに基づいて、上記実施形態の作用について説明する。なお、以下では、送信元ECU4aから、送信先ECU4bへデータフレームを送信する場合について説明する。
図7のステップS1において、データフレームを送信する送信元ECU4aは、データ取得部44により、接続されているセンサ等から、センサによる検知結果を示すセンサ情報を取得する。送信元ECU4aは、次のステップS2において、フレーム生成部45によりMAC値を生成する。具体的には、フレーム生成部45は、データ取得部44により取得したセンサ情報の種類に応じてCAN IDを設定する。また、フレーム生成部45は、センサ情報の種類に応じて、センサ情報を含む制御情報を生成する。さらにフレーム生成部45は、設定したCAN IDと、生成した制御情報と、記憶部41に記憶されているカウンタ値411とに基づいて、記憶部41に記憶されている共通鍵412によりMACを生成する。
【0037】
送信元ECU4aは、次のステップS3において、フレーム生成部45によりデータフレームを生成する。フレーム生成部45は、設定したCAN IDと、センサ情報に基づいて生成した制御情報と、記憶部41に記憶されているカウンタ値411と、生成したMACとに基づいてデータフレームを生成する。送信元ECU4aは、次のステップS4において、通信部42により、生成したデータフレームをCAN3のバス3aに送信する。送信元ECU4aは、次のステップS5において、カウンタ43のカウンタ値をインクリメントする。なお、詳しくは図示しないが、データフレームの送信回数のカウントは、他のECU4及びTCU5でも行われる。
【0038】
ゲートウェイ7は、送信元ECU4aから送信されたデータフレームを中継部71により受信すると、ステップS6において、優先度判定部72により、受信したデータフレームの送信処理の優先度を判定する。優先度判定部72は、CAN IDが小さいほど送信処理の優先度が高くなるように優先度を判定する。また、優先度判定部72は、同じCAN IDのデータフレームが複数存在する場合には、カウンタ値が小さいほど送信処理の優先度が高くなるように優先度を判定する。ゲートウェイ7は、次のステップS7において、中継部71により、優先度判定部72により判定された優先度に基づいて、優先度が高いデータフレームを、優先度が低いデータフレームよりも優先して送信処理を行う。中継部71は、送信元ECU4aから受信したデータフレームをバス3bに送信する。
【0039】
送信先ECU4bは、通信部42により、バス3bを流れるデータフレームのCAN IDを確認し、予め定められたCAN IDのデータフレームを受信する。送信先ECU4bは、データフレームを受信すると、ステップS8において、MAC検証部46により、受信したデータフレームのMACを検証する。MAC検証部46は、受信したデータフレームから、CAN IDと、制御情報と、カウンタ値と、MACとを取得する。MAC検証部46は、取得されたCAN IDと、制御情報と、カウンタ値とに基づいて、記憶部41に記憶されている共通鍵412により検証用のMACを生成する。
【0040】
MAC検証部46は、次のステップS9において、受信したデータフレームから取得したMACと、検証用のMACとを比較する。MAC検証部46は、取得したMACと検証用のMACとが一致する場合に、受信したデータフレームが正当なデータであると判定する。MAC検証部46は、受信したデータフレームが正当なデータであると判定すると、受信したデータフレームをカウンタ値検証部47に出力する。また、MAC検証部46は、受信したデータフレームが不正なデータであると判定すると、ステップS16において、受信したデータフレームを破棄する。
【0041】
MAC検証部46において、受信したデータフレームが正当なデータであると判定された場合、送信先ECU4bは、次のステップS10において、カウンタ値検証部47により、カウンタ値に基づいて、受信したデータフレームの正当性を検証する。カウンタ値検証部47は、受信したデータフレームからカウンタ値を取得し、取得したカウンタ値と、カウンタ値管理情報413とに基づいて、受信したデータフレームが受信済みであるか否かを検証する。
【0042】
送信先ECU4bは、次のステップS11において、受信したデータフレームのカウンタ値が未受信である場合には、受信したデータフレームは正当なデータフレームであると判定する。また、カウンタ値検証部47は、受信したデータフレームのカウンタ値が受信済みである場合、あるいはカウンタ値管理情報413のカウンタ値よりも小さい値である場合には、受信したデータフレームは不正なデータフレームであると判定する。
【0043】
カウンタ値検証部47は、受信したデータフレームが正当なデータであると判定すると、次のステップS12において、新たに受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているカウンタ値の最大値よりも大きいか否かを判定する。送信先ECU4bは、新たに受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているカウンタ値の最大値よりも大きい場合には、次のステップS13において、管理情報更新部49により、カウンタ値管理情報413を更新する。管理情報更新部49は、新たに受信したデータフレームのカウンタ値がカウンタ値管理情報413内で最大値となるように、カウンタ値情報413aを更新する。
【0044】
送信先ECU4bは、次のステップS14において、管理情報更新部49により、カウンタ値管理情報413を更新する。具体的には、管理情報更新部49は、未受信のデータフレームを受信すると、この受信したデータフレームのカウンタ値に基づいて、カウンタ値管理情報413の受信フラグ413bを受信済みに更新する。
【0045】
カウンタ値検証部47は、受信したデータフレームが正当なデータであると判定すると、受信したデータフレームを車載機器制御部48に出力する。車載機器制御部48は、次のステップS15において、カウンタ値検証部47から出力されたデータフレームの制御情報に基づいて、車載機器を制御する。また、カウンタ値検証部47は、受信したデータフレームが不正なデータであると判定すると、ステップS16において、受信したデータフレームを破棄する。
【0046】
以上で説明したように、本実施形態に係る車載ネットワークシステム2によれば、CAN3に接続された複数のECU4a~4e及びTCU5と、ゲートウェイ7とを備えている。ゲートウェイ7は、送信元ECU4aからCAN3へ送信されたデータフレームを受信する受信処理と、受信したデータフレームを送信先ECU4bへ送信する送信処理とを行う中継部71と、中継部71により受信したデータフレームに基づいて、受信したデータフレームの送信処理の優先度を判定する優先度判定部72とを備えている。中継部71は、優先度判定部72により判定された優先度に基づいて、データフレームの送信処理を行う。これにより、データフレームは、優先度に基づいて送信処理が行われるので、送信先ECU4bは、優先度に応じた適切なタイミングでデータフレームを受信することができる。
【0047】
また、本実施形態に係る車載ネットワークシステム2によれば、優先度判定部72は、中継部71が複数のデータフレームを受信すると、受信した複数のデータフレームに基づいて、複数のデータフレームの送信処理の優先度を判定し、中継部71は、判定された優先度に基づいて、複数のデータフレームの送信処理を行う。これにより、複数のデータフレームは、優先度に基づいて送信処理が行われるので、送信先ECU7bは、優先度に応じた適切なタイミングで複数のデータフレームを受信することができる。
【0048】
また、本実施形態に係る車載ネットワークシステム2によれば、中継部71は、優先度が高いデータフレームは、優先度が低いデータフレームよりも優先して送信処理を行う。これにより、送信先ECU7bは、優先度が高いデータフレームを、優先度が低いデータフレームよりも優先して受信することができるので、優先度の高い処理を迅速に実行することができる。
【0049】
また、本実施形態に係る車載ネットワークシステム2によれば、優先度判定部72は、データフレームに含まれるCAN IDに基づいて優先度を判定するので、複雑な処理が不要であり、処理負荷を低減できるとともに、判定ミスを抑制することが可能である。
【0050】
また、本実施形態に係る車載ネットワークシステム2によれば、送信元ECU4aは、データフレームに格納される制御情報等の格納データと、予め備える共通鍵412とに基づいてMACを生成し、格納データと、生成されたMACとが格納されたデータフレームを生成するフレーム生成部45と、MACが格納されたデータフレームを通信ネットワークへ送信する通信部42とを備えている。また、送信先ECU4bは、MACが格納されたデータフレームを受信する通信部42と、受信したデータフレーム内の格納データと共通鍵412とに基づいて検証用のMACを生成し、生成された検証用のMACと、受信したMACとが一致するか否かによって、受信したデータフレームの正当性を検証するMAC検証部46とを備えている。これにより、MACを利用して不正なデータフレームを検出して破棄することができるので、車載ネットワークシステム2に対するリプレイ攻撃等を防ぐことが可能である。
【0051】
また、本実施形態に係る車載ネットワークシステム2によれば、送信元ECU4aは、データフレームのCAN3への送信回数をカウントするカウンタ43を備え、カウンタ43のカウンタ値が格納されたデータフレームをCAN3へ送信する。また、送信先ECU4bは、送信元ECU4aにより送信されたデータフレームのカウンタ値を管理するカウンタ値管理情報413が記憶されたカウンタ値検証部47を備えている。カウンタ値検証部47は、カウンタ値が格納されたデータフレームを受信すると、受信したデータフレームのカウンタ値と、カウンタ値管理情報413とに基づいて、受信したデータフレームの正当性を検証する。このように、データフレームのカウンタ値により、そのデータフレームの正当性を検証するので、受信済みのデータフレームに偽装して送信された不正なデータフレームを検出して破棄し、車載ネットワークシステム2に対するリプレイ攻撃等を防ぐことが可能である。
【0052】
また、本実施形態に係る車載ネットワークシステム2によれば、カウンタ値管理情報413には、所定の数値幅のカウンタ値を示すカウンタ値情報413aが登録されており、カウンタ値検証部47は、受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているか否かに応じて、受信したデータフレームの正当性を検証する。このように、カウンタ値情報413aの数値幅を所定数にしているので、送信タイミングが多少遅くなったデータフレームは受信することができ、送信タイミングが大幅に遅くなった古いデータフレームは破棄することができる。また、カウンタ値情報413aの数値幅を適正に設定することにより、データフレームの過度な破棄の抑制と、セキュリティリスクの低減とを両立することができる。
【0053】
また、本実施形態に係る車載ネットワークシステム2によれば、送信先ECU4bは、新たに受信したデータフレームのカウンタ値が、カウンタ値管理情報413に登録されているカウンタ値の最大値よりも大きい場合に、新たに受信したデータフレームのカウンタ値がカウンタ値管理情報413内で最大値となるように、所定の数値幅のカウンタ値情報413aを更新する。このように、カウンタ値管理情報413は、データフレームの受信状況に応じて適宜更新されるので、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0054】
また、本実施形態に係る車載ネットワークシステム2によれば、カウンタ値管理情報413には、受信済み又は未受信のデータフレームのカウンタ値が登録されており、カウンタ値検証部47は、受信したデータフレームのカウンタ値が受信済みであるか否かに応じて、受信したデータフレームの正当性を検証する。これにより、受信済みのデータフレームに偽装して送信された不正なデータフレームを検出して破棄し、車載ネットワークシステム2に対するリプレイ攻撃等を防ぐことが可能である。
【0055】
また、本実施形態に係る車載ネットワークシステム2によれば、送信先ECU4bは、未受信のデータフレームを受信すると、未受信のデータフレームのカウンタ値に基づいて、カウンタ値管理情報413の受信フラグ413bを受信済みに更新する。このように、カウンタ値管理情報413は、データフレームの受信状況に応じて適宜更新されるので、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0056】
なお、上記の実施形態では、データフレームの送信後にカウンタ43で送信回数をカウントする手順について説明したが、先にカウンタ43で送信回数をカウントし、このカウント後のカウンタ値を利用してMACを生成し、生成したMACを含むデータフレームを送信するようにしてもよい。これによれば、実際の送信回数のカウンタ値をデータフレームの検証に利用することができる。
【0057】
また、上記の実施形態では、カウンタ値管理情報413に、所定の数値幅のカウンタ値(カウンタ値情報413a)と、受信済み又は未受信のデータフレームのカウンタ値(受信フラグ413b)とが登録されている例について説明したが、いずれか一方のみが登録されたカウンタ値管理情報413を用いて、データフレームの正当性を検証してもよい。上述したように、所定の数値幅のカウンタ値と、受信済み又は未受信のデータフレームのカウンタ値とのいずれか一方を用いた場合でも、データフレームの正当性を検証することは可能である。
【0058】
また、上記の実施形態では、カウンタ値管理情報413のカウンタ値情報413aの所定の数値幅を「64」等の固定値としているが、例えば、データフレームの送信頻度等に基づいて、カウンタ値情報413aの数値幅を適宜増減するように制御してもよい。これにより、データフレームの送信頻度が変化した場合でも、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。例えば、
図8に示す例では、MAC3において通信が途絶している状態と判断される通信途絶時間T1を上限として、カウンタ値管理情報413A、413Bのように、カウンタ値情報413aの数値幅を増減している。カウンタ値情報413aの数値幅の上限を通信途絶時間T1とするのは、MAC3において、データフレームの通信が遅滞する最大時間が通信途絶時間T1であり、それ以上のカウンタ値情報413aを保持しても無駄になるからである。なお、通信途絶時間T1が、例えば1秒であり、データフレームが送信される最短周期が、例えば10msである場合には、カウンタ値情報413aの最大の数値幅は「100」である。
【0059】
また、
図9に示すように、ゲートウェイ7において、データフレームをバッファするバッファメモリの記憶容量C1を上限として、カウンタ値管理情報413C、413Dのように、カウンタ値情報413aの数値幅を増減してもよい。ゲートウェイ7のバッファメモリの記憶容量C1を上限とすることにより、ゲートウェイ7でバッファされている全てのデータフレームの正当性をカウンタ値に基づいて検証することができる。なお、記憶部41において、カウンタ値管理情報413の記憶に割り当てられている記憶容量を上限として、カウンタ値情報413aの数値幅を増減してもよい。
【0060】
また、
図10に示すように、データフレームに格納されているデータの種類毎、すなわち、CAN ID毎にカウンタ値管理情報413E、413F、413G等を設けてもよい。これにより、データフレームの種類毎にデータフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。この場合、CAN ID毎の送信頻度に基づいて、カウンタ値管理情報413E、413F、413Gのカウンタ値情報413aの数値幅を増減してもよい。
図10に示す例では、送信頻度が低いCAN ID「105」のデータフレームの検証に用いられるID105用カウンタ値管理情報413Eは、送信頻度が高いCAN ID「409」のデータフレームの検証に用いられるID409用カウンタ値管理情報341Gよりも、カウンタ値情報413aの数値幅が広くなるように設定されている。これにより、送信頻度が少なく重要なCAN ID「105」のデータフレームを優先して確実に検証することができる。
【0061】
以上で説明したように、本実施形態に係る車載ネットワークシステム2によれば、送信先ECU4bは、カウンタ値管理情報413に登録されているカウンタ値情報413aの数値幅を制御する。これにより、データフレームの送信頻度等が変化した場合でも、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0062】
また、本実施形態に係る車載ネットワークシステム2によれば、送信先ECU4bは、CAN3における通信が途絶されていると判断される所定の通信途絶時間T1を上限として、カウンタ値管理情報413A,413Bのように、登録されているカウンタ値情報413aの数値幅を制御する。これにより、CAN3の通信途絶によって通信が遅滞したデータフレームを確実に検証するとともに、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0063】
また、本実施形態に係る車載ネットワークシステム2によれば、送信先ECU4bは、カウンタ値管理情報413を記憶する記憶部41の記憶容量、又はゲートウェイ7にてデータフレームをバッファするバッファメモリの記憶容量C1を上限として、カウンタ値管理情報413C、413Dのように、登録されているカウンタ値情報413aの数値幅を制御する。これにより、ゲートウェイ7でバッファされている全てのデータフレームの正当性をカウンタ値に基づいて検証するとともに、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0064】
また、本実施形態に係る車載ネットワークシステム2によれば、データフレームの種類毎、すなわち、CAN ID毎にカウンタ値管理情報413E~413Gが設けられている。これにより、データフレームの種類毎に、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0065】
また、本実施形態に係る車載ネットワークシステム2によれば、データフレームの種類別の送信頻度に基づいて、データフレームの種類毎に設けられているカウンタ値管理情報413E~413Gのカウンタ値情報413aの数値幅を制御する。これにより、データフレームの種類毎の送信頻度に基づいて、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【0066】
また、本実施形態に係る車載ネットワークシステム2によれば、送信頻度が低い種類のデータフレームのカウンタ値管理情報413Aは、送信頻度が高い種類のデータフレームのカウンタ値管理情報413Cよりも、カウンタ値情報413aの数値幅が広くなるように制御する。これにより、送信頻度が少なく重要なデータフレームを優先して確実に検証するとともに、データフレームの過度な破棄を抑制しながら、セキュリティリスクを低減することができる。
【符号の説明】
【0067】
1…車両
2…車載ネットワークシステム
3…CAN(Controller Area Network)
3a~3f…バス
4、4a~4e…ECU(Electronic Control Unit)
41…記憶部
411…カウンタ値
412…共通鍵
413…カウンタ値管理情報
413a…カウンタ値情報
413b…受信フラグ
42…通信部
43…カウンタ
44…データ取得部
45…フレーム生成部
46…MAC検証部
47…カウンタ値検証部
48…車載機器制御部
49…管理情報更新部