JP2017139530A - 通信システム - Google Patents

通信システム Download PDF

Info

Publication number
JP2017139530A
JP2017139530A JP2016017496A JP2016017496A JP2017139530A JP 2017139530 A JP2017139530 A JP 2017139530A JP 2016017496 A JP2016017496 A JP 2016017496A JP 2016017496 A JP2016017496 A JP 2016017496A JP 2017139530 A JP2017139530 A JP 2017139530A
Authority
JP
Japan
Prior art keywords
node
counter value
authentication
transmission
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016017496A
Other languages
English (en)
Other versions
JP6601244B2 (ja
Inventor
将秀 坂野
Masahide Sakano
将秀 坂野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2016017496A priority Critical patent/JP6601244B2/ja
Publication of JP2017139530A publication Critical patent/JP2017139530A/ja
Application granted granted Critical
Publication of JP6601244B2 publication Critical patent/JP6601244B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Small-Scale Networks (AREA)

Abstract

【課題】送信ノード或いは受信ノードにリセット等が発生し、送信ノードと受信ノードの双方で保持されるカウンタ値が異なる状況になっても、受信ノードが送信ノードから送信されるメッセージの認証を適切に行うことが可能なCAN通信システムを提供する。【解決手段】マスタノードは、送信ノードからメッセージが送信される度に所定の規則に従いカウンタ値を更新すると共に、送信ノード及び受信ノードにカウンタ値を送信する。送信ノードは、起動後、カウンタ値をマスタノードから受信するまでの間、カウンタ値に基づく第1認証用データの生成とメインデータ及び第1認証用データの受信ノードへの送信を停止する。受信ノードは、起動後、カウンタ値をマスタノードから受信するまでの間、カウンタ値に基づく第2認証用データの生成と、送信ノードから受信する第1認証用データと第2認証用データとの比較による受信メッセージの認証を停止する。【選択図】図6

Description

本発明は、CAN(Controller Area Network)通信システムに関する。
従来、メインメッセージと、メインメッセージに対応する認証用データ(例えば、MAC:Message Authentication Code)を生成して受信ノードに送信する送信ノードと、受信したメインメッセージに対応する認証用データを生成する受信ノードを含むCAN通信システムが知られている(例えば、特許文献1等参照)。
特許文献1では、送信ノードと受信ノードの双方が共通するカウンタ値を記憶し、送信ノードは、メインメッセージと自身が記憶するカウンタ値に所定のアルゴリズムを適用してMACを生成して受信ノードに送信する。そして、受信ノードは、受信したメインメッセージと自身が記憶するカウンタ値に同様のアルゴリズムを適用してMACを生成して、受信したMACと比較することにより、メインメッセージの正当性を認証する。
国際公開2013/065689号
しかしながら、特許文献1に開示される技術では、例えば、受信ノード或いは送信ノードが何等かの理由でリセットされると、送信ノードと受信ノードとの間で共通のカウンタ値にならない可能性がある。そのため、受信ノードは、受信メッセージの誤認証を行ってしまう可能性がある。
一方、送信ノードから受信ノードにカウンタ値を送信して、受信ノードは、送信ノードから受信したカウンタ値を用いて認証用データを生成することも可能である。しかしながら、例えば、車両に搭載されるCAN通信装置では、車両寿命を勘案すると、カウンタ値のデータサイズとして128ビット程度が必要とされるのに対して、CANメッセージのデータフィールドは、最大8バイト(64ビット)である。そのため、送信ノードは、フルサイズのカウンタ値を受信ノードに送信することができない可能性がある。
そこで、上記課題に鑑み、送信ノード或いは受信ノードにリセット等が発生し、送信ノードと受信ノードの双方で保持されるカウンタ値が異なる状況になっても、受信ノードが送信ノードから送信されるメッセージの認証を適切に行うことが可能なCAN通信システムを提供することを目的とする。
上記目的を達成するため、本発明の一実施態様において、
マスタノード、送信ノード、及び受信ノードがバスで接続されるCAN通信システムであって、
前記マスタノードは、前記送信ノードからメッセージが送信される度に所定の規則に従いカウンタ値を更新すると共に、前記送信ノード及び前記受信ノードに前記カウンタ値を送信し、
前記送信ノードは、前記マスタノードから前記カウンタ値を受信する第1カウンタ値受信部と、前記受信ノードへの送信対象であるメインデータと前記第1カウンタ値受信部が受信したカウンタ値に基づき、第1認証用データを生成する第1生成部と、前記メインデータ及び前記第1認証用データを前記受信ノードに送信するデータ送信部と、前記送信ノードが起動してから前記第1カウンタ値受信部が前記カウンタ値を前記マスタノードから受信するまでの間、前記第1生成部及び前記データ送信部による処理を停止させる第1停止部と、を含み、
前記受信ノードは、前記送信ノードから前記メインデータ及び前記第1認証用データを受信するデータ受信部と、前記マスタノードから前記カウンタ値を受信する第2カウンタ値受信部と、前記データ受信部が受信した前記メインデータと前記第2カウンタ値受信部が受信した前記カウンタ値に基づき、第2認証用データを生成する第2生成部と、前記データ受信部が受信した前記第1認証用データと前記第2生成部が生成した前記第2認証用データの比較により、前記メインデータを含むメッセージの正当性を認証する認証部と、前記受信ノードが起動してから前記第2カウンタ値受信部が前記カウンタ値を前記マスタノードから受信するまでの間、前記第2生成部及び前記認証部による処理を停止させる第2停止部と、を含む、
CAN通信システムが提供される。
本発明の一実施態様によれば、CAN通信装置のマスタノードは、送信ノードからメッセージが送信される度に所定の規則に従いカウンタ値を更新すると共に、送信ノード及び受信ノードにカウンタ値を送信する。そして、CAN通信装置の送信ノードは、送信ノードが起動してから第1カウンタ値受信部がカウンタ値を受信するまでの間、第1生成部及びデータ送信部による処理を停止させる第1停止部を含む。従って、何等かの理由で送信ノードがリセットされた場合、送信ノードが再起動した後、マスタノードから最新のカウンタ値を受信するまで、カウンタ値に基づく第1認証用データの生成や、メインデータ及び第1認証用データの送信が行われない。即ち、送信ノードのリセットにより、送信ノードが保持するカウンタ値が不定値等になり、受信ノードが保持するカウンタ値と異なるような事態が発生しても、マスタノードから最新のカウンタ値を受信しない限り、カウンタ値に基づく第1認証用データの生成やメインデータ及び第1認証用データの送信が行われない。そのため、送信ノードにおいて、受信ノードが保持するものと異なるカウンタ値に基づく第1認証用データが受信ノードに送信されることがなくなり、受信ノードにおける誤った第1認証用データに基づくメッセージの誤認証を抑制することができる。
また、受信ノードは、受信ノードが起動してから第2カウンタ値受信部がカウンタ値を受信するまでの間、第2生成部及び認証部による処理を停止させる第2停止部を含む。従って、何等かの理由で受信ノードがリセット等された場合、受信ノードが再起動した後、マスタノードから最新のカウンタ値を受信するまで、カウンタ値に基づく第2認証用データの生成や、送信ノードから受信する第1認証用データと第2認証用データとの比較によるメインデータを含むメッセージの正当性の認証が行われない。即ち、受信ノードのリセット等により、受信ノードが保持するカウンタ値が不定値等になり、送信ノードが保持するカウンタ値と異なるような事態が発生しても、マスタノードから最新のカウンタ値を受信しない限り、カウンタ値に基づく第2認証用データの生成や、送信ノードから受信する第1認証用データと第2認証用データとの比較によるメインデータを含むメッセージの正当性の認証が行われない。そのため、受信ノードにおいて、送信ノードが保持するものと異なるカウンタ値に基づく第2認証用データが生成されないようにすることができ、誤った第2認証用データに基づくメッセージの誤認証を抑制することができる。
送信ノード或いは受信ノードにリセット等が発生し、送信ノードと受信ノードの双方で保持されるカウンタ値が異なる状況になっても、受信ノードが送信ノードから送信されるメッセージの認証を適切に行うことが可能なCAN通信システムを提供することができる。
CAN通信システムの構成の一例を概略的に示す構成図である。 ECUの構成の一例を概略的に示すブロック図である。 ECUの起動時における処理の一例を概略的に示すフローチャートである。 ECUの停止時における処理の一例を概略的に示すフローチャートである。 ECUにおけるメッセージの送信処理の一例を概略的に示すフローチャートである。 ECUにおけるメッセージの受信処理の一例を概略的に示すフローチャートである。
図1は、本実施形態に係るCAN通信システム(以下、単に「通信システム」と称する)1の構成の一例を概略的に示す構成図である。
通信システム1は、例えば、車両に搭載され、バス2に接続される複数のECU(Electrical Control Unit)10と、マスタECU20とを含む。
ECU10は、予め割り当てられた機能を実現するための各種制御処理を行う電子制御ユニットである。各ECU10は、バス2を通じて、他のECU10との間で、CANプロトコルに基づくCANメッセージ(以下、単に「メッセージ」と称する)の送受信を行う。即ち、各ECU10は、通信システム1における送信ノードの一例であり、受信ノードの一例でもある。
マスタECU20は、ECU10(即ち、送信ノード)の何れかがバス2を通じて他のECU10(即ち、受信ノード)にメッセージを送信する度、即ち、ECU10の何れかがメッセージをバス2上に出力する度に、所定の規則に従いカウンタ値Ctを更新する処理を行う。所定の規則は、例えば、"メッセージが送信される度に、カウンタ値Ctを所定値(例えば、"1")だけインクリメントすること"や"メッセージが送信される度に、カウンタ値Ctを所定値(例えば、"1")だけデクリメントすること"等、任意であってよい。以下、カウンタ値Ctは、所定の規則に従い、単調増加することを前提に説明を続ける。マスタECU20は、所定時間毎に、最新のカウンタ値Ctをバス2に出力して、各ECU10に送信する。
尚、本実施形態におけるマスタECU20は、バス2に含まれるバス2aとバス2bとの間で送受信されるメッセージの中継を行う機能を果たす。即ち、マスタECU20は、ゲートウェイ装置(ゲートウェイECU)である。
次に、図2を参照して、ECU10の構成について説明する。
図2は、本実施形態に係るECU10の構成の一例を概略的に示すブロック図である。ECU10は、アプリケーション101、送信管理部102、受信管理部103、認証管理部104、メッセージボックス(MBOX)105,106、CANコントローラ107、CANトランシーバ108を含む。
アプリケーション101は、ECU10内のCPU(不図示)上で実行され、各ECU10に割り当てられる任意の機能を実現するための各種制御処理を行うプログラムである。アプリケーション101は、予め規定された条件等に応じて、演算結果(以下、「制御データ(受信ノードである他のECU10への送信対象であるメインデータの一例)」と称する)を他のECU10に送信するため、送信管理部102に送信要求を出力する。
送信管理部102は、マスタECU20から送信され、CANコントローラ107がCANトランシーバ108を介してバス2から受信したカウンタ値CtをMBOX105から取得する。また、送信管理部102は、起動している間、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する。一方、送信管理部102は、停止している間、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信せず、アプリケーション101からの送信要求をキューイング或いは破棄する。
尚、送信管理部102が"起動している"状態は、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能が実行可能な状態になっていることを表す。即ち、ECU10が起動していれば、送信管理部102が起動していない場合でも、送信管理部102は、他の機能(送信要求の有無を判断する機能や送信要求をキューイング或いは破棄したりする機能等)を実行可能である。
受信管理部103は、マスタECU20から送信され、CANコントローラ107がCANトランシーバ108を介してバス2から受信したカウンタ値CtをMBOX105から取得する。また、受信管理部103は、CANコントローラ107がCANトランシーバ108を介してバス2から受信した制御データを含むメッセージ(以下、「受信メッセージ」と称する)をMBOX106から取得する。また、受信管理部103は、起動している間、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する。一方、受信管理部103は、停止している間、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送信せず、受信メッセージをキューイング或いは破棄する。
尚、受信管理部103が"起動している"状態は、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能が実行可能な状態になっていることを表す。即ち、ECU10が起動していれば、受信管理部103が起動していない場合でも、受信管理部103は、他の機能(受信メッセージの有無を判断する機能や受信メッセージをキューイング或いは破棄したりする機能等)を実行可能である。
ここで、図3、図4を参照して、ECU10の起動/停止に伴う、送信管理部102、受信管理部103の起動/停止動作について説明する。
図3は、ECU10の起動時における処理の一例を概略的に示すフローチャートである。図4は、ECU10の停止時における処理の一例を概略的に示すフローチャートである。図3に示すフローチャートによる処理は、起動要求(起動信号)がECU10に入力されると実行される。また、図4に示すフローチャートによる処理は、停止要求(停止信号)がECU10に入力されると実行される。
図3を参照するに、ステップS102にて、ECU10は起動する。
ステップS104にて、ECU10は、送信管理部102及び受信管理部103が停止しているか否かを判定する。ECU10は、送信管理部102及び受信管理部103が停止している場合、ステップS108に進み、停止していない場合、ステップS106に進む。
ステップS106にて、ECU10は、送信管理部102及び受信管理部103を停止させて、ステップS108に進む。
ステップS108にて、ECU10は、送信管理部102及び受信管理部103の初期化を行う。
ステップS110にて、ECU10は、ECU10の起動後、CANコントローラ107がCANトランシーバ108を介してマスタECU20からカウンタ値Ctを受信したか否かを判定する。ECU10は、マスタECU20からカウンタ値Ctを受信している場合、ステップS112に進み、マスタECU20からカウンタ値Ctを受信していない場合、ステップS110の処理を繰り返す。
ステップS112にて、ECU10は、送信管理部102及び受信管理部103を起動し、今回の処理を終了する。
また、図4を参照するに、ステップS202にて、ECU10は。送信管理部102及び受信管理部103を停止させる。
そして、ステップS204にて、ECU10は、停止し、今回の処理を終了する。
このように、送信管理部102及び受信管理部103は、ECU10の停止に伴い、停止し、ECU10の起動した後、CANコントローラ107がCANトランシーバ108を介してマスタECU20から送信されたカウンタ値Ctを受信すると、起動する。即ち、送信管理部102及び受信管理部103は、ECU10が起動してから、マスタECU20からのカウンタ値を受信するまで、停止している。
図2に戻り、認証管理部104は、制御データを含むメッセージ(以下、送信メッセージと称する)を他のECU10に送信する際、他のECU10で実行されるメッセージ認証のための認証用データ(以下、「第1認証用データ」と称する)を生成する。具体的には、認証管理部104は、送信管理部102から取得した制御データ及びカウンタ値Ctに基づき、第1認証用データを生成する。より具体的には、認証管理部104は、制御データとカウンタ値Ctを結合したデータに対して、所定のアルゴリズム(例えば、一方向ハッシュ関数等)を適用することにより、第1認証用データ(例えば、ハッシュ値)を生成する。以下、第1認証用データは、制御データとカウンタ値Ctを結合したデータに対して、一方向ハッシュ関数を適用して生成されるハッシュ値である前提で説明を継続する。そして、認証管理部104は、制御データ、カウンタ値Ctの下位ビットデータ(カウンタ値Ctの最下位ビットから予め規定された数桁分のデータ。以下、単に「下位ビットデータ」と称する)、及び第1認証用データ(ハッシュ値)を含む送信メッセージを生成する。具体的には、認証管理部104は、CANメッセージのデータフィールドの最大64ビットのデータサイズに収まるように、制御データ、下位ビットデータ、及びハッシュ値を含む送信メッセージを生成する。
また、認証管理部104は、メッセージを他のECU10から受信した際、受信メッセージに含まれる下位ビットデータと、例えば、RAM上の所定領域等に保持するカウンタ値Ctの前回値(最新値の1つ前のカウンタ値Ct。以下、単に「前回値」と称する)との比較により、受信メッセージの正当性を認証する(第1認証)。具体的には、認証管理部104は、受信メッセージに含まれる下位ビットデータと前回値との比較により、受信メッセージに含まれる下位ビットデータが所定の規則に従っている(即ち、前回値から単調増加している)と判断した場合、第1認証を成功とする。また、認証管理部104は、第1認証に成功した場合、受信メッセージに含まれる第1認証用データとの比較により、受信メッセージの正当性を認証するための認証用データ(以下、「第2認証用データ」と称する)を生成する。具体的には、認証管理部104は、受信管理部103から取得した受信メッセージに含まれる制御データと、受信管理部103から取得したカウンタ値Ctに基づき、第2認証用データを生成する。より具体的には、認証管理部104は、受信メッセージに含まれる制御データ及びマスタECU20から送信された最新のカウンタ値Ctを結合したデータに対して、第1認証用データを生成する際と同様のアルゴリズム、即ち、一方向ハッシュ関数を適用することにより、第2認証用データ(ハッシュ値)を生成する。そして、認証管理部104は、受信メッセージに含まれる第1認証用データ(ハッシュ値)と生成した第2認証用データ(ハッシュ値)を比較し、一致する場合、受信メッセージの正当性を認証する(第2認証)。即ち、認証管理部104は、第1認証と第2認証の双方に成功した場合、受信メッセージの正当性を認証する。
MBOX105は、マスタECU20から送信され、CANコントローラ107がCANトランシーバ108を介して受信するカウンタ値Ctを含むメッセージを格納する記憶領域である。
MBOX106は、他のECU10から送信され、CANコントローラ107がCANトランシーバ108を介してバス2から受信する制御データを含むメッセージ(受信メッセージ)を格納する記憶領域である。
CANコントローラ107は、プロトコルコントローラや、CPUクロックを分周する分周器、レジスタ等を備え、CANトランシーバ108を介して、バス2(バス2a或いはバス2b)との間でメッセージを送受信する。
CANトランシーバ108は、CANコントローラ107から取得した送信メッセージを作動電圧に変換してバス2に出力する。また、CANトランシーバ108は、バス2からメッセージを取得する際、バス2の作動電圧を読み取り、所定の電圧範囲に含まれるように整形した受信信号をCANコントローラ107に出力する。
次に、図5、図6を参照して、ECU10によるメッセージの送信処理及び受信処理について説明する。
図5は、ECU10におけるメッセージの送信処理の一例を概略的に示すフローチャートである。図6は、ECU10におけるメッセージの受信処理の一例を概略的に示すフローチャートである。図5に示すフローチャートは、CPU上で実行されるアプリケーション101が送信対象である制御データを生成する度に実行される。図6に示すフローチャートは、CANコントローラ107がCANトランシーバ108を介して他のECU10からの制御データを含むメッセージを受信する度に実行される。
図5を参照するに、ステップS302にて、アプリケーション101は、送信管理部102に制御データを含むメッセージの送信要求を送る。
ステップS304にて、送信管理部102は、起動しているか否か、即ち、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能が実行可能な状態か否かを確認する。送信管理部102は、起動していない場合、ステップS306に進み、起動している場合、ステップS308に進む。
ステップS306にて、送信管理部102は、アプリケーション101からの送信要求をキューイングし、ステップS318に進む。
尚、本ステップにて、送信管理部102は、送信要求を破棄すると共に、その旨をアプリケーション101に通知してもよい。
一方、ステップS308にて、送信管理部102は、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する。
ステップS310にて、認証管理部104は、送信管理部102から受信した制御データ及びカウンタ値Ctからハッシュ値を生成する。
ステップS312にて、認証管理部104は、制御データ、下位ビットデータ、及びハッシュ値を含む送信メッセージを生成する。
ステップS314にて、認証管理部104は、作成した送信メッセージをMBOX106に格納する。
ステップS316にて、CANコントローラ107は、CANトランシーバ108を介してMBOX106に格納される送信メッセージをバス2に出力し、他のECU10に送信する。
ステップS318にて、送信管理部102は、キューに送信要求があるか否かを確認する。送信管理部102は、キューに送信要求がある場合、ステップS304に戻り、ステップS304〜S318の処理を繰り返し、キューに送信要求がない場合、今回の処理を終了する。
また、図6を参照するに、ステップS402にて、CANコントローラ107は、他のECU10から制御データを含むメッセージを受信した旨を受信管理部103に通知する。
ステップS404にて、受信管理部103は、起動しているか否か、即ち、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能が実行可能な状態になっているか否かを確認する。受信管理部103は、起動していない場合、ステップS406に進み、起動している場合、ステップS408に進む。
ステップS406にて、受信管理部103は、受信メッセージをキューイングし、ステップS426に進む。
尚、本ステップにて、受信管理部103は、受信メッセージを破棄すると共に、その旨をアプリケーション101に通知してもよい。
一方、ステップS408にて、受信管理部103は、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送る。
ステップS410にて、認証管理部104は、受信メッセージから下位ビットデータを取得する。
ステップS412にて、認証管理部104は、下位ビットデータと前回値の比較を行い、下位ビットデータの最下位ビットが前回値から増加しているか否かを確認する。認証管理部104は、最下位ビットが前回値から増加していない場合、ステップS414に進み、最下位ビットが前回値から増加している場合、カウンタ値Ctが所定の規則に従い単調増加している、即ち、第1認証の成功と判断し、ステップS416に進む。
ステップS414にて、認証管理部104は、下位ビットデータの桁上がりがあるか否かを確認する。認証管理部104は、下位ビットデータの桁上がりがある場合、カウンタ値Ctが所定の規則に従い単調増加している、即ち、第1認証の成功と判断し、ステップS416に進み、下位ビットデータの桁上がりがない場合、第1認証の失敗と判断し、ステップS422に進む。
尚、ECU10にリセットが発生し、前回値が保持されていない場合、認証管理部104は、MBOX105から取得した最新のカウンタ値Ctから所定の規則に従い、前回値を生成し、生成した前回値を用いて、ステップS412、S414の処理を実行する。
ステップS416にて、認証管理部104は、受信管理部103から取得した受信メッセージに含まれる制御データと、受信管理部103から取得したカウンタ値Ctからハッシュ値を生成する。
ステップS418にて、認証管理部104は、受信メッセージから取得したハッシュ値と、ステップS416で生成したハッシュ値を比較し、一致するか否かを判定する。認証管理部104は、一致する場合、第2認証の成功と判断し、ステップS420に進み、一致しない場合、第2認証の失敗と判断し、ステップS422に進む。
ステップS420にて、認証管理部104は、受信メッセージの正当性を認証し、受信メッセージに含まれる制御データをアプリケーション101に送る(認証成功)。
一方、ステップS422にて、認証管理部104は、受信メッセージの正当性を認証せず(認証失敗)、受信メッセージを破棄し、ステップS424に進む。
そして、ステップS424にて、認証管理部104は、受信メッセージの認証失敗をアプリケーション101に通知する。
ステップS426にて、受信管理部103は、キューに受信メッセージがあるか否かを確認する。受信管理部103は、キューに受信メッセージがある場合、ステップS404に戻り、ステップS404〜S426の処理を繰り返し、キューに受信メッセージがない場合、今回の処理を終了する。
尚、本実施形態では、第1認証と第2認証の双方により、受信メッセージの正当性の認証を試みるが、第2認証だけで受信メッセージの正当性の認証を行ってもよい。
このように、本実施形態では、マスタECU20は、各ECU10からメッセージが送信される度に所定の規則に従いカウンタ値を更新すると共に、各ECU10にカウンタ値を送信する。そして、送信管理部102は、ECU10が起動してからカウンタ値をマスタECU20から受信するまでの間、アプリケーション101からの制御データを含む送信要求と、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能を停止する。換言すれば、送信管理部102は、認証管理部104による処理(即ち、カウンタ値Ctに基づく第1認証用データを生成すると共に、制御データ、下位ビットデータ、及び第1認証用データを含む送信メッセージを生成する処理)及びCANコントローラ107による処理(即ち、制御データを含む送信メッセージを他のECU10に送信する処理)を停止させる。従って、何等かの理由でECU10がリセットされた場合、ECU10が再起動した後、マスタECU20から最新のカウンタ値Ctを受信するまで、カウンタ値Ctに基づく第1認証用データの生成や、制御データ、下位ビットデータ、及び第1認証用データを含む送信メッセージの送信が行われない。即ち、ECU10(送信ノード)のリセットにより、当該ECU10が保持するカウンタ値が不定値等になり、他のECU10(受信ノード)が保持するカウンタ値と異なるような事態が発生しても、マスタECU20から最新のカウンタ値を受信しない限り、カウンタ値Ctに基づく第1認証用データの送信や制御データ、下位ビットデータ、及び第1認証用データを含む送信メッセージの送信が行われない。そのため、当該ECU10において、他のECU10が保持するものと異なるカウンタ値に基づく下位ビットデータや第1認証用データが他のECU10に送信されることがなくなり、他のECU10における誤った下位ビットデータや第1認証用データに基づく受信メッセージの誤認証を抑制することができる。
また、受信管理部103は、ECU10が起動してからカウンタ値をマスタECU20から受信するまでの間、MBOX106から取得した受信メッセージと、MBOX105から取得したカウンタ値Ctを認証管理部104に送信する機能を停止する。換言すれば、受信管理部103は、ECU10が起動してからカウンタ値をマスタECU20から受信するまでの間、認証管理部104による処理(即ち、カウンタ値Ctに基づく第2認証用データを生成すると共に、第1認証及び第2認証による受信メッセージの正当性を認証する処理)を停止させる。従って、何等かの理由でECU10がリセット等された場合、当該ECU10が再起動した後、マスタECU20から最新のカウンタ値を受信するまで、カウンタ値Ctに基づく第2認証用データの生成や、下位ビットデータ及び第2認証用データに基づく制御データを含む受信メッセージの正当性の認証が行われない。即ち、ECU10(受信ノード)のリセット等により、当該ECU10が保持するカウンタ値が不定値等になり、他のECU10(送信ノード)が保持するカウンタ値と異なるような事態が発生しても、マスタECU20から最新のカウンタ値を受信しない限り、カウンタ値Ctに基づく第2認証用データの生成や、下位ビットデータ及び第2認証用データに基づく制御データを含む受信メッセージの正当性の認証が行われない。そのため、当該ECU10において、他のECU10が保持するものと異なるカウンタ値に基づく第2認証用データが生成されないようにすることができると共に、誤った下位ビットデータ及び第2認証用データに基づく受信メッセージの正当性の認証(第1認証及び第2認証)が行われることがなくなり、当該ECU10における受信メッセージの誤認証を抑制することができる。
以上、本発明を実施するための形態について詳述したが、本発明はかかる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
1 CAN通信システム
2,2a,2b バス
10 ECU(送信ノード、受信ノード)
20 マスタECU(マスタノード)
101 アプリケーション
102 送信管理部(第1停止部)
103 受信管理部(第2停止部)
104 認証管理部(第1生成部、第2生成部、認証部)
105,106 メッセージボックス
107 CANコントローラ(データ送信部、第1カウンタ値受信部、データ受信部、第2カウンタ値受信部)
108 CANトランシーバ

Claims (1)

  1. マスタノード、送信ノード、及び受信ノードがバスで接続されるCAN通信システムであって、
    前記マスタノードは、前記送信ノードからメッセージが送信される度に所定の規則に従いカウンタ値を更新すると共に、前記送信ノード及び前記受信ノードに前記カウンタ値を送信し、
    前記送信ノードは、前記マスタノードから前記カウンタ値を受信する第1カウンタ値受信部と、前記受信ノードへの送信対象であるメインデータと前記第1カウンタ値受信部が受信したカウンタ値に基づき、第1認証用データを生成する第1生成部と、前記メインデータ及び前記第1認証用データを前記受信ノードに送信するデータ送信部と、前記送信ノードが起動してから前記第1カウンタ値受信部が前記カウンタ値を前記マスタノードから受信するまでの間、前記第1生成部及び前記データ送信部による処理を停止させる第1停止部と、を含み、
    前記受信ノードは、前記送信ノードから前記メインデータ及び前記第1認証用データを受信するデータ受信部と、前記マスタノードから前記カウンタ値を受信する第2カウンタ値受信部と、前記データ受信部が受信した前記メインデータと前記第2カウンタ値受信部が受信した前記カウンタ値に基づき、第2認証用データを生成する第2生成部と、前記データ受信部が受信した前記第1認証用データと前記第2生成部が生成した前記第2認証用データの比較により、前記メインデータを含むメッセージの正当性を認証する認証部と、前記受信ノードが起動してから前記第2カウンタ値受信部が前記カウンタ値を前記マスタノードから受信するまでの間、前記第2生成部及び前記認証部による処理を停止させる第2停止部と、を含む、
    CAN通信システム。
JP2016017496A 2016-02-01 2016-02-01 通信システム Active JP6601244B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016017496A JP6601244B2 (ja) 2016-02-01 2016-02-01 通信システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016017496A JP6601244B2 (ja) 2016-02-01 2016-02-01 通信システム

Publications (2)

Publication Number Publication Date
JP2017139530A true JP2017139530A (ja) 2017-08-10
JP6601244B2 JP6601244B2 (ja) 2019-11-06

Family

ID=59566028

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016017496A Active JP6601244B2 (ja) 2016-02-01 2016-02-01 通信システム

Country Status (1)

Country Link
JP (1) JP6601244B2 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066703A (ja) * 2009-09-17 2011-03-31 Oki Electric Industry Co Ltd 通信データ新規性確認システム及び通信端末
JP2013098719A (ja) * 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム
WO2015170452A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び更新処理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011066703A (ja) * 2009-09-17 2011-03-31 Oki Electric Industry Co Ltd 通信データ新規性確認システム及び通信端末
JP2013098719A (ja) * 2011-10-31 2013-05-20 Toyota Infotechnology Center Co Ltd 通信システムにおけるメッセージ認証方法および通信システム
WO2015170452A1 (ja) * 2014-05-08 2015-11-12 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 車載ネットワークシステム、電子制御ユニット及び更新処理方法

Also Published As

Publication number Publication date
JP6601244B2 (ja) 2019-11-06

Similar Documents

Publication Publication Date Title
US12217042B2 (en) Method and apparatus for processing upgrade package of vehicle
JP6512023B2 (ja) 通信システム、送信ノード、及び受信ノード
JP6814549B2 (ja) 演算装置、認証システム、認証方法
KR102223563B1 (ko) 네트워크 타이밍 동기화
CN108023730B (zh) 通信系统及通信方法
US20160191408A1 (en) Communication control apparatus and communication control method
US20180234248A1 (en) Communication system, vehicle, and monitoring method
US20220191040A1 (en) Devices and methods for the generating and authentication of at least one data packet to be transmitted in a bus system (bu), in particular of a motor vehicle
JP2018121220A (ja) 車載ネットワークシステム
JP2017191965A (ja) 通信装置及びパケット送受信プログラム
CN111699706A (zh) 用于通过蓝牙低能耗连接进行通信的主从系统
JP6376073B2 (ja) 通信システム、カウント値同期方法、及びプログラム
KR102437864B1 (ko) 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법
CN115361136B (zh) 验证方法及装置、设备、计算机可读存储介质
JP6601244B2 (ja) 通信システム
US11139982B2 (en) Communication-efficient device delegation
KR102411841B1 (ko) 펌웨어를 수신하는 방법 및 펌웨어를 전송하는 방법
CN108632218A (zh) 用于消息安全的方法和装置
JP2018078473A (ja) 通信システム
WO2017026361A1 (ja) 通信システム、管理ノード、通常ノード、カウンタ同期方法、プログラム、記録媒体
JP2017098937A (ja) 通信システム、受信装置、受信方法およびプログラム
CN118264486B (zh) 证书动态加载方法、装置、设备以及可读存储介质
JP6915717B2 (ja) 通信システム
JP5768622B2 (ja) メッセージ認証システム、通信装置及び通信プログラム
CN112764771A (zh) 固件更新方法与能够执行固件更新的装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180921

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190815

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190923

R151 Written notification of patent or utility model registration

Ref document number: 6601244

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151