(57)【特許請求の範囲】
【請求項１】
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置とを有する車両用通信網装置であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化するためのアルゴリズムであって逆演算が可能なものである暗号化アルゴリズム、及び復号化する際に演算される該暗号化アルゴリズムの逆演算を保有し、
前記第１装置は、
保有する前記第１情報を第１共通鍵により、前記暗号化アルゴリズム（暗号化）によって暗号化して第１暗号化データを生成する手段と、
生成した前記第１暗号化データを前記第２装置に送信する手段とを有し、
前記第２装置は、
受信した前記第１装置からの前記第１暗号化データを、保有する前記第１情報を基に、前記暗号化アルゴリズムの逆演算（復号化）を行って、第２共通鍵を生成する手段と、
保有する前記第２情報を、生成した前記第２共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第２暗号化データを生成する手段と、
生成した前記第２暗号化データを前記第１装置に送信する手段とを有し、
前記第１装置は、さらに、
受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って第３共通鍵を生成する手段と、
生成した前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する手段とを有し、
前記第１装置と前記第２装置は、前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始することを特徴とする車両用通信網装置。
【請求項２】
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置とを有する車両用通信網装置であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化アルゴリズムとしての乗算演算、及び該暗号化アルゴリズムの逆演算としての除算演算を保有し、
前記第１装置は、
保有する前記第１情報を第１共通鍵により、前記暗号化アルゴリズムとしての乗算に基づいて演算することにより第１暗号化データを生成する手段と、
生成した前記第１暗号化データを前記第２装置に送信する手段とを有し、
前記第２装置は、
受信した前記第１装置からの前記第１暗号化データを、保有する前記第１情報を基に、前記暗号化アルゴリズムの逆演算としての除算に基づいて演算することにより、第２共通鍵を生成する手段と、
保有する前記第２情報を、生成した前記第２共通鍵により前記暗号化アルゴリズムとしての乗算に基づいて演算することにより、第２暗号化データを生成する手段と、
生成した前記第２暗号化データを前記第１装置に送信する手段とを有し、
前記第１装置は、さらに、
受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算としての除算に基づいて演算することにより、第３共通鍵を生成する手段と、
生成した前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する手段とを有し、
前記第１装置と前記第２装置は、前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始することを特徴とする車両用通信網装置。
【請求項３】
請求項１又は２記載の車両用通信網装置において、
前記第１情報及び前記第２情報は、車両で使用される制御データで兼用していることを特徴とする車両用通信網装置。
【請求項４】
請求項１〜３のいずれか１項に記載の車両用通信網装置において、
前記第１情報及び前記第２情報は、前記第１装置の起動毎に変化することを特徴とする車両用通信網装置。
【請求項５】
請求項４記載の車両用通信網装置において、
前記第１装置は、
前記暗号化通信が開始された後、次回の前記第１装置の起動によって変化する前記第１情報及び前記第２情報の情報を、事前に前記第２装置に転送する手段を有することを特徴とする車両用通信網装置。
【請求項６】
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置との通信方法であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化するためのアルゴリズムであって逆演算が可能なものである暗号化アルゴリズム、及び復号化する際に演算される該暗号化アルゴリズムの逆演算を保有し、
前記第１装置と前記第２装置とは、以下のステップにより、共通鍵を用いた暗号化通信を確立させることを特徴とする通信方法。
第１ステップ：前記第１装置は、前記第１情報を第１共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第１暗号化データを生成し、当該第１暗号化データを前記第２装置に送信する。
第２ステップ：前記第２装置は、受信した前記第１暗号化データを、保有する前記第１情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って、第２共通鍵を生成する。
第３ステップ：前記第２装置は、保有する前記第２情報を前記第２共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第２暗号化データを生成し、当該第２暗号化データを前記第１装置に送信する。
第４ステップ：前記第１装置は、受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って、第３共通鍵を生成する。
第５ステップ：前記第１装置は、前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する。
第６ステップ：前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１装置と前記第２装置は、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【請求項７】
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置との通信方法であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化アルゴリズムとしての乗算演算、及び該暗号化アルゴリズムの逆演算としての除算演算を保有し、
前記第１装置と前記第２装置とは、以下のステップにより、共通鍵を用いた暗号化通信を確立させることを特徴とする通信方法。
第１ステップ：前記第１装置は、前記第１情報を第１共通鍵により前記暗号化アルゴリズム（乗算）によって暗号化して第１暗号化データを生成し、当該第１暗号化データを前記第２装置に送信する。
第２ステップ：前記第２装置は、受信した前記第１暗号化データを、保有する前記第１情報を基に前記暗号化アルゴリズムの逆演算（除算）を行って、第２共通鍵を生成する。
第３ステップ：前記第２装置は、保有する前記第２情報を前記第２共通鍵により前記暗号化アルゴリズム（乗算）によって暗号化して第２暗号化データを生成し、当該第２暗号化データを前記第１装置に送信する。
第４ステップ：前記第１装置は、受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（除算）を行って、第３共通鍵を生成する。
第５ステップ：前記第１装置は、前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する。
第６ステップ：前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１装置と前記第２装置は、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【請求項８】
請求項６又は７記載の通信方法において、
前記第１情報及び前記第２情報は、車両で使用される制御データで兼用していることを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、車両用通信網装置に関し、例えば車体内に設置された複数のＥＣＵ（電子制御装置）間の信号（パケットを含む）の送受信を監視制御する車両用通信網装置及び通信方法に関する。
【背景技術】
【０００２】
従来の車両用通信網装置は、例えばオプション装置に対して車載ネットワークより受信した情報の数値情報を変換し送信するゲートウェイ装置（特許文献１参照）や、通信方式やプロトコルに依存せず、送信パケットのデータを変換する通信ソフトを有する制御装置（特許文献２参照）がある。その他、アプリケーションの共通化のために、固有ＩＤに対して共通ＩＤへ変換するルーター部を設けたソフトウェア構造等も提案されている（特許文献３参照）。
【０００３】
また、従来は、通信の信頼性を保証するために、秘密鍵や公開鍵を用いたり、共通鍵に所定のＭＡＣ値を付加して真正性を検証する従来技術が多数存在している。中には、送信する装置を特定するための個別の情報を付加したり、暗号化されたデータから認証情報を作成し付加したり、データをパケット化して再構築するために、煩雑な処理を用いて実施する装置が多数存在している。また、装置の改竄防止を目的として、一般的に使用されている公開鍵の認証方法を用いる方法もある（特許文献４〜６参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第５５８９７２１号公報
【特許文献２】特許第３６９２８２０号公報
【特許文献３】特許第５６９２０１３号公報
【特許文献４】特許第５３１０７６１号公報
【特許文献５】特許第５５６９４０１号公報
【特許文献６】特許第５７３２６２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、車両用通信網装置では、中継装置を介した装置間の送受信を考慮した送信先装置の故障時や、ネットワーク上の障害による中継装置の受信異常時に対応することができていない。また、各種暗号化通信の従来技術では、共通鍵を予め送受信する装置間で管理する必要があった。また、接続される制御装置が正しいか否かを確認する場合に、装置内のＲＯＭ上のデータから装置特有の情報、例えば制御装置の正当性を検証するためにのみ用いるデータを、制御装置の数だけ新たに設定し、一致するか否かを照合する必要があった。
【０００６】
本発明は、このような課題を考慮してなされたものであり、データの利用効率を上げつつ、共通鍵の漏洩を回避した通信を確立することができる車両用通信網装置及び通信方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
［１］  本発明の第１の態様は、
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置とを有する車両用通信網装置であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化するためのアルゴリズムであって逆演算が可能なものである暗号化アルゴリズム、及び復号化する際に演算される該暗号化アルゴリズムの逆演算を保有し、
前記第１装置は、
保有する前記第１情報を第１共通鍵により、前記暗号化アルゴリズム（暗号化）によって暗号化して第１暗号化データを生成する手段と、
生成した前記第１暗号化データを前記第２装置に送信する手段とを有し、
前記第２装置は、
受信した前記第１装置からの前記第１暗号化データを、保有する前記第１情報を基に、前記暗号化アルゴリズムの逆演算（復号化）を行って、第２共通鍵を生成する手段と、
保有する前記第２情報を、生成した前記第２共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第２暗号化データを生成する手段と、
生成した前記第２暗号化データを前記第１装置に送信する手段とを有し、
前記第１装置は、さらに、
受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って第３共通鍵を生成する手段と、
生成した前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する手段とを有し、
前記第１装置と前記第２装置は、前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【０００８】
［２］ 本発明の第２の態様は、
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置とを有する車両用通信網装置であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化アルゴリズムとしての乗算演算、及び該暗号化アルゴリズムの逆演算としての除算演算を保有し、
前記第１装置は、
保有する前記第１情報を第１共通鍵により、前記暗号化アルゴリズムとしての乗算に基づいて演算することにより第１暗号化データを生成する手段と、
生成した前記第１暗号化データを前記第２装置に送信する手段とを有し、
前記第２装置は、
受信した前記第１装置からの前記第１暗号化データを、保有する前記第１情報を基に、前記暗号化アルゴリズムの逆演算としての除算に基づいて演算することにより、第２共通鍵を生成する手段と、
保有する前記第２情報を、生成した前記第２共通鍵により前記暗号化アルゴリズムとしての乗算に基づいて演算することにより、第２暗号化データを生成する手段と、
生成した前記第２暗号化データを前記第１装置に送信する手段とを有し、
前記第１装置は、さらに、
受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算としての除算に基づいて演算することにより、第３共通鍵を生成する手段と、
生成した前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する手段とを有し、
前記第１装置と前記第２装置は、前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【０００９】
［３］ 本発明の第３の態様は、
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置との通信方法であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化するためのアルゴリズムであって逆演算が可能なものである暗号化アルゴリズム、及び復号化する際に演算される該暗号化アルゴリズムの逆演算を保有し、
前記第１装置と前記第２装置とは、以下のステップにより、共通鍵を用いた暗号化通信を確立させる。
第１ステップ：前記第１装置は、前記第１情報を第１共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第１暗号化データを生成し、当該第１暗号化データを前記第２装置に送信する。
第２ステップ：前記第２装置は、受信した前記第１暗号化データを、保有する前記第１情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って、第２共通鍵を生成する。
第３ステップ：前記第２装置は、保有する前記第２情報を前記第２共通鍵により前記暗号化アルゴリズム（暗号化）によって暗号化して第２暗号化データを生成し、当該第２暗号化データを前記第１装置に送信する。
第４ステップ：前記第１装置は、受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（復号化）を行って、第３共通鍵を生成する。
第５ステップ：前記第１装置は、前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する。
第６ステップ：前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１装置と前記第２装置は、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【００１０】
［４］ 本発明の第４の態様は、
第１装置と、該第１装置とバスで接続された少なくとも１つの第２装置との通信方法であって、
前記第１装置及び前記第２装置は、互いに共通した、第１情報、及び第２情報、並びに暗号化アルゴリズムとしての乗算演算、及び該暗号化アルゴリズムの逆演算としての除算演算を保有し、
前記第１装置と前記第２装置とは、以下のステップにより、共通鍵を用いた暗号化通信を確立させる。
第１ステップ：前記第１装置は、前記第１情報を第１共通鍵により前記暗号化アルゴリズム（乗算）によって暗号化して第１暗号化データを生成し、当該第１暗号化データを前記第２装置に送信する。
第２ステップ：前記第２装置は、受信した前記第１暗号化データを、保有する前記第１情報を基に前記暗号化アルゴリズムの逆演算（除算）を行って、第２共通鍵を生成する。
第３ステップ：前記第２装置は、保有する前記第２情報を前記第２共通鍵により前記暗号化アルゴリズム（乗算）によって暗号化して第２暗号化データを生成し、当該第２暗号化データを前記第１装置に送信する。
第４ステップ：前記第１装置は、受信した前記第２暗号化データを、保有する前記第２情報を基に前記暗号化アルゴリズムの逆演算（除算）を行って、第３共通鍵を生成する。
第５ステップ：前記第１装置は、前記第３共通鍵が、保有する前記第１共通鍵と一致するかを検証する。
第６ステップ：前記第３共通鍵と前記第１共通鍵とが一致する場合に、前記第１装置と前記第２装置は、前記第１共通鍵と前記第２共通鍵を基に暗号化通信を開始する。
【発明の効果】
【００３１】
本発明に係る車両用通信網装置及び通信方法によれば、データの利用効率を上げつつ、共通鍵の漏洩を回避した通信を確立することができる。
【図面の簡単な説明】
【００３２】
【図１】本実施の形態に係る車両用通信網装置を示す構成図である。
【図２】第１装置の構成を示す機能ブロック図である。
【図３】図３Ａは一時ＩＤテーブルの一例を示す説明図であり、図３Ｂは情報テーブルの一例を示す説明図であり、図３Ｃは共通鍵テーブルの一例を示す説明図である。
【図４】第２装置の構成を示す機能ブロック図である。
【図５】第１装置における共通鍵の検証処理の一例を示す動作概念図である。
【図６】第１装置の起動時における初期化処理を示すフローチャートである。
【図７】第２装置でのコネクションフレームに対する応答処理を示すフローチャートである。
【図８】第１装置での応答フレームに対する処理を示すフローチャート（その１）である。
【図９】第１装置での応答フレームに対する処理を示すフローチャート（その２）である。
【図１０】図１０Ａ〜図１０Ｃは車両のイグニッションをオンにした段階から、第１装置と３つの第２装置との信号のやりとりの一例を示すタイムチャートである。
【図１１】第１装置における共通鍵の検証処理の他の例を示す動作概念図である。
【発明を実施するための形態】
【００３３】
以下、本発明に係る車両用通信網装置及び通信方法の実施の形態例を図１〜図１１を参照しながら説明する。
【００３４】
本実施の形態に係る車両用通信網装置１０は、図１に示すように、第１装置１２と、第１装置１２とバスで接続された複数の第２装置１４（第２装置１４Ａ、１４Ｂ、１４Ｃ）とを有する。ここでは、説明を簡単にするために、３つの第２装置１４Ａ、１４Ｂ及び１４Ｃを例に説明を行う。なお、以下の説明では、第２装置１４Ａ、１４Ｂ及び１４Ｃを総括していう場合は第２装置１４と記す。
【００３５】
第１装置１２は、図示しないが、中央処理装置（ＣＰＵ）と、入出力装置と、各種記憶装置（主メモリ、不揮発性メモリ等）と、これら装置間を接続するバス等を有する。ＣＰＵは、記憶装置に格納されたプログラム及びデータを用いる。
【００３６】
第１装置１２は、３つの第２装置間の通信を中継及び監視する中継装置として機能する。
【００３７】
各第２装置１４もそれぞれ上述した第１装置１２と同様に、図示しない中央処理装置（ＣＰＵ）と、入出力装置と、各種記憶装置と、これら装置間を接続するバス等を有する。ＣＰＵは、記憶装置に格納されたプログラム及びデータを用いる。また、各第２装置１４は、図４に示すように、２つのタイマを有する。１つは応答待ちタイマ１６ａで、他の１つはコネクションフレーム待ちタイマ１６ｂである。各タイマ１６ａ及び１６ｂは、第１装置１２の制御によって初期化された時点でクロック信号を計数して計時を開始する。
【００３８】
各第２装置１４は、例えば車両内に設置され、車両の各部（アクチュエータ等）を制御する電子制御装置（以下、「ＥＣＵ」ともいう）として機能する。ＥＣＵとしては、例えばエンジンＥＣＵ、電動パワーステアリングシステムＥＣＵ（以下「ＥＰＳ−ＥＣＵ」という）、レーンキープアシストＥＣＵ（以下「ＬＫＡＳ−ＥＣＵ」という）、車両挙動安定化制御システムＥＣＵ（以下「ＶＳＡ−ＥＣＵ」という）等を含むことができる。
【００３９】
エンジンＥＣＵは、図示しないエンジンの出力を制御する。ＥＰＳ−ＥＣＵは、図示しない電動パワーステアリングシステムを制御する。ＬＫＡＳ−ＥＣＵは、図示しないレーンキープアシストシステムの制御を行う。ＶＳＡ−ＥＣＵは、図示しない制動装置を用いて車体を安定化させる制御を行う。
【００４０】
そして、第１装置１２は、図２に示すように、例えば不揮発性メモリ１８に記憶されたＩＤテーブル２０と、同じく不揮発性メモリ１８に記憶されたインデックスデータ２２（出荷時の初期値「０」）と、起動時に主メモリに読み出されたＩＤテーブル（以下、一時ＩＤテーブル２４という）と、起動時に主メモリに読み出されたインデックスデータ（以下、カレントインデックス２６という）と、暗号通信設定部２８と、コネクションフレーム処理部３０と、応答フレーム受信部３２と、第３共通鍵生成部３４と、共通鍵検証部３６と、通信無効処理部３８と、通常フレーム処理部４０と、次回情報設定部４２と、転送フレーム処理部４４と、待ち時間初期化部４６とを有する。
【００４１】
一時ＩＤテーブル２４は、図３Ａに示すように、各レコードに第２装置のＩＤと有効／無効ビットが登録されている。
【００４２】
有効／無効ビットは、「０」であれば、対応するＩＤの第２装置１４が有効、すなわち、正当性が検証された第２装置１４であることを示し、「１」であれば、対応するＩＤの第２装置１４が無効、すなわち、通信処理を行わない第２装置１４であることを示す。
【００４３】
暗号通信設定部２８は、情報テーブル４８と、共通鍵テーブル５０と、インデックス更新部５２と、情報設定部５４と、共通鍵設定部５６とを有する。
【００４４】
情報テーブル４８は、図３Ｂに示すように、各レコードにそれぞれ異なった第１情報と第２情報の組み合わせが登録されている。図３Ｂでは、３つの第２装置１４Ａ、１４Ｂ及び１４Ｃに対応して３つのレコード１、２及び３を示している。レコード１には第１情報Ｄ１１及び第２情報Ｄ２１が登録され、レコード２には第１情報Ｄ１２及び第２情報Ｄ２２が登録され、レコード３には第１情報Ｄ１３及び第２情報Ｄ２３が登録されている。なお、以下の説明では、第１情報Ｄ１１、Ｄ１２及びＤ１３を総括していう場合は第１情報Ｄ１と記し、第２情報Ｄ２１、Ｄ２２及びＤ２３を総括していう場合は、第２情報Ｄ２と記す。
【００４５】
第１情報Ｄ１及び第２情報Ｄ２としては、第２装置１４の正当性を検証するためにのみ用いるデータではなく、例えば第２装置１４（各種ＥＣＵ）での制御で使用されるエンジン回転数の初期値やしきい値、あるいは代替値等の制御データである。
【００４６】
第１情報Ｄ１及び第２情報Ｄ２として、第２装置１４の正当性を検証するためにのみ用いるデータを用いた場合、データ設定に手間がかかることと、第２装置１４の数が多くなると、それだけ管理するデータ量が多くなり、車両用通信網装置１０の設計や保守が煩雑になるという問題がある。一方、本実施の形態では、第１情報Ｄ１及び第２情報Ｄ２として、第２装置１４（各種ＥＣＵ）での制御で使用されるエンジン回転数の初期値やしきい値、あるいは代替値等の制御データを兼用するようにしたので、データの利用効率を向上させることができ、しかも、管理するデータ量が増加することもないため、車両用通信網装置１０の設計や保守が容易になる。
【００４７】
共通鍵テーブル５０は、図３Ｃに示すように、各レコードにそれぞれ異なった第１共通鍵Ｋ１１、Ｋ１２及びＫ１３が登録されている。なお、第１共通鍵Ｋ１１、Ｋ１２及びＫ１３を総括して言う場合は第１共通鍵Ｋ１と記す。
【００４８】
インデックス更新部５２は、第１装置１２の起動毎に情報テーブル４８、共通鍵テーブル５０のアクセス用インデックスである上述したカレントインデックス２６を＋１更新する。カレントインデックス２６が情報テーブル４８のレコード数＋１となった段階で、該カレントインデックス２６を「１」に戻す。すなわち、情報テーブル４８をあたかもリングバッファのように取り扱う。これは、共通鍵テーブル５０についても同様である。更新後のカレントインデックス２６は、不揮発性メモリ１８内のインデックスデータ２２に上書きされる。
【００４９】
情報設定部５４は、各第２装置１４について３組の第１情報Ｄ１及び第２情報Ｄ２から１組の第１情報Ｄ１及び第２情報Ｄ２を選択し、設定する。
【００５０】
すなわち、情報設定部５４は、例えば第２装置１４Ａ用として、情報テーブルの第１情報Ｄ１及び第２情報Ｄ２のうち、カレントインデックス２６（＝第１インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。カレントインデックス２６、すなわち、第１インデックスの値が「１」であれば、レコード１の第１情報Ｄ１１及び第２情報Ｄ２１が選択される。
【００５１】
同様に、例えば第２装置１４Ｂ用として、情報テーブル４８の第１情報Ｄ１及び第２情報Ｄ２のうち、第１インデックス＋１（＝第２インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。但し、インデックス更新部５２は、第２インデックスが情報テーブル４８のレコード数＋１となった段階で、第２インデックスを１にする。第１インデックスの値が「１」であれば、第２インデックスが「２」となり、レコード２の第１情報Ｄ１２及び第２情報Ｄ２２が選択される。
【００５２】
同様に、例えば第２装置１４Ｃ用として、情報テーブル４８の第１情報Ｄ１及び第２情報Ｄ２のうち、第２インデックス＋１（＝第３インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。この場合も、インデックス更新部５２は、第３インデックスが情報テーブル４８のレコード数＋１となった段階で、第３インデックスを１にする。第２インデックスの値が「２」であれば、第３インデックスが「３」となり、レコード３の第１情報Ｄ１３及び第２情報Ｄ２３が選択される。
【００５３】
共通鍵設定部５６は、各第２装置１４について３つの第１共通鍵Ｋ１から１つの第１共通鍵Ｋ１を選択し、設定する。
【００５４】
すなわち、共通鍵設定部５６は、例えば第２装置１４Ａ用として、共通鍵テーブル５０の第１共通鍵Ｋ１のうち、第１インデックスに対応するレコードの第１共通鍵Ｋ１（例えばＫ１１）を選択する。
【００５５】
同様に、例えば第２装置１４Ｂ用として、共通鍵テーブル５０の第１共通鍵Ｋ１のうち、第２インデックスに対応するレコードの共通鍵Ｋ１（例えばＫ１２）を選択する。
【００５６】
同様に、例えば第２装置１４Ｃ用として、共通鍵テーブル５０の第１共通鍵Ｋ１のうち、第３インデックスに対応するレコードの共通鍵Ｋ１（例えばＫ１３）を選択する。
【００５７】
コネクションフレーム処理部３０は、ＩＤ設定、暗号化データ設定、コネクションフレーム送信、コネクションフレーム再送、通信切断処理等を行う。コネクションフレームＦｃは、図５に示すように、主にＩＤと暗号化データＥｄ１にて構成されている。
【００５８】
ＩＤ設定は、コネクションフレームＦｃの例えば先頭に各種ＩＤを設定する。具体的には、少なくとも送信元ＩＤ（第１装置のＩＤ）と、送信先ＩＤ（送信先の第２装置のＩＤ）と、フレームＩＤ（コネクションフレームＦｃであることを示すＩＤ）を設定する。
【００５９】
暗号化データ設定は、選択された第１情報Ｄ１を、設定された第１共通鍵Ｋ１により暗号化アルゴリズムによって暗号化して暗号化データＥｄ１を作成し、コネクションフレームＦｃに設定する。暗号化アルゴリズムとしては、例えば乗算等が挙げられる。
【００６０】
コネクションフレーム送信は、作成したコネクションフレームＦｃを送信先ＩＤに対応する第２装置１４に送信する。
【００６１】
コネクションフレーム再送は、応答待ちタイマ１６ａが所定時間を経過した第２装置１４に対してコネクションフレームＦｃを再送する。このとき、各第２装置１４に対応して設定された再送カウンタのうち、コネクションフレームＦｃを再送した再送カウンタの値を＋１更新する。
【００６２】
通信切断処理は、再送カウンタが所定値以上となった段階で、送信先ＩＤに対応する第２装置１４の通信切断を確定する。すなわち、一時ＩＤテーブル２４のうち、送信先ＩＤに対応するレコードの有効／無効ビットを「１」にして、その後の送信先ＩＤに対応する第２装置１４との通信を遮断する。これは、当該第２装置１４が故障している、あるいは、ネットワーク上の障害による中継装置の受信異常があるとして、通信を遮断する。このとき、運転者に知らせるべく、アラーム（音声や表示）を出力するようにしてもよい。
【００６３】
一方、応答フレーム受信部３２は、送信先ＩＤに対応する第２装置１４からの応答フレームＦａ（図５参照）を受信する。
【００６４】
第３共通鍵生成部３４は、送信先ＩＤに対応する第２装置１４からの応答フレームＦａに登録された暗号化データＥｄ２を、保有する第２情報（情報設定部５４にて設定した第１情報Ｄ１及び第２情報Ｄ２のうちの第２情報Ｄ２）を基に暗号化アルゴリズムの逆演算を行って、第３共通鍵Ｋ３を生成する。暗号化アルゴリズムの逆演算としては、例えば除算等が挙げられる。
【００６５】
共通鍵検証部３６は、共通鍵設定部５６にて設定された第１共通鍵Ｋ１と、第３共通鍵生成部３４にて生成された第３共通鍵Ｋ３とが一致するか否かを判別する。一致した場合、送信先ＩＤに対応する第２装置１４の正当性が検証されることになる。
【００６６】
通信無効処理部３８は、一時ＩＤテーブル２４のうち、受信した応答フレームＦａの送信元ＩＤに対応するレコードの有効／無効ビットを「１」にして、その後の送信元ＩＤに対応する第２装置１４との通信を遮断する。これは、例えば当該第２装置１４が情報セキュリティ上のなりすまし等によって制御不能等になっているものとして、通信を遮断する。この場合も、運転者に知らせるべく、アラーム（音声や表示）を出力するようにしてもよい。
【００６７】
通常フレーム処理部４０は、第１装置１２を複数の第２装置１４間の中継装置として機能させ、正当性が検証された第２装置１４との通常の通信を行う処理部であって、通常フレーム受信と通常フレーム送信を行う。
【００６８】
通常フレーム受信は、正当性が検証された第２装置１４（送信元）からの通常フレームＦｎ（図示せず）を受信し、受信した通常フレームＦｎの暗号化データを、送信元の第２装置１４に対応する第１共通鍵Ｋ１を使用して復号化する。
【００６９】
通常フレーム送信は、先ず、受信した通常フレームＦｎに登録された送信先ＩＤを読み出す。受信した通常フレームＦｎの復号化データを、送信先ＩＤの第２装置１４に対応する第１共通鍵Ｋ１を用いて暗号化して暗号化データにする。その後、送信元ＩＤと、送信先ＩＤと、暗号化データを有する通常フレームＦｎを作成して、送信先の第２装置１４に送信する。通常フレームＦｎを受信した第２装置１４では、通常フレームＦｎの暗号化データを、保有する第２共通鍵Ｋ２を使用して復号化して復号化データにする。当該第２装置１４では、復号化データの内容に応じた各種制御を行う。
【００７０】
次回情報設定部４２は、各第２装置１４について３組の第１情報Ｄ１及び第２情報Ｄ２から、次回の１組の第１情報Ｄ１及び第２情報Ｄ２を選択し、設定する。
【００７１】
すなわち、次回情報設定部４２は、例えば第２装置１４Ａ用として、情報テーブル４８の第１情報Ｄ１及び第２情報Ｄ２のうち、第１インデックス＋１（＝カレントインデックス＋１＝第１次回インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。但し、インデックス更新部５２は、第１次回インデックスが情報テーブル４８のレコード数＋１となった段階で、第１次回インデックスを１にする。第１インデックスの値が「１」であれば、第１次回インデックスが「２」となり、レコード２の第１情報Ｄ１２及び第２情報Ｄ２２が選択される。
【００７２】
同様に、例えば第２装置１４Ｂ用として、情報テーブル４８の第１情報Ｄ１及び第２情報Ｄ２のうち、第１次回インデックス＋１（＝第２次回インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。但し、インデックス更新部５２は、第２次回インデックスが情報テーブル４８のレコード数＋１となった段階で、第２次回インデックスを１にする。第１次回インデックスの値が「２」であれば、第２次回インデックスが「３」となり、レコード３の第１情報Ｄ１３及び第２情報Ｄ２３が選択される。
【００７３】
同様に、例えば第２装置１４Ｃ用として、情報テーブル４８の第１情報Ｄ１及び第２情報Ｄ２のうち、第２次回インデックス＋１（＝第３次回インデックス）に対応するレコードの第１情報Ｄ１及び第２情報Ｄ２を選択する。この場合も、カレントインデックス更新部は、第３次回インデックスが情報テーブル４８のレコード数＋１となった段階で、第３次回インデックスを１にする。第２次回インデックスの値が「３」であれば、第３次回インデックスが「１」となり、レコード１の第１情報Ｄ１１及び第２情報Ｄ２１が選択される。
【００７４】
転送フレーム処理部４４は、次回の暗号通信設定のために、予め各第２装置１４に次回の第１情報Ｄ１及び第２情報Ｄ２を転送する。これは以下の理由による。すなわち、情報テーブル４８に対するアクセスが固定、例えば第２装置１４Ａと情報テーブル４８の第１レコードが対応し、同様に、第２装置１４Ｂと情報テーブル４８の第２レコードが対応する形式であれば、第２装置１４Ａからの第２情報Ｄ２と、情報テーブル４８の第１レコードの第２情報Ｄ２とが常時対応することになる。
【００７５】
しかし、本実施の形態では、情報テーブル４８内の第１情報Ｄ１及び第２情報Ｄ２の組を、第１装置１２が起動する毎に、リングバッファ形式でアクセスするため、第１情報Ｄ１及び第２情報Ｄ２は、３つの第２装置１４に対して固定となっていない。そのため、第２装置１４Ａに対応して例えば情報テーブル４８の第２レコードの第２情報Ｄ２を対応させた場合、通常であれば、正当性の検証ができず、第２装置１４Ａが正常であったとしても、無効として判断されるおそれがある。
【００７６】
そこで、本実施の形態では、出荷後の最初の正当性の検証が済んだ第２装置１４に対して、コネクションフレームＦｃを送る前に、事前に、次回の検証に使用する第１情報Ｄ１及び第２情報Ｄ２を転送する。これによって、第１装置１２での第１情報Ｄ１及び第２情報Ｄ２の組と、第２装置１４での第１情報Ｄ１及び第２情報Ｄ２の組を対応させることができ、第２装置１４が正常であったとしても、無効として判断される、ということがなくなり、正当性の検証の信頼性を向上させることができる。しかも、起動毎に、各第２装置１４に対する第１情報Ｄ１及び第２情報Ｄ２が変化するため、不正アクチュエータに対する耐性を向上させることができる。
【００７７】
転送フレーム処理部４４は、先ず、正当性が検証された第２装置１４に、次回の第１情報Ｄ１を転送する。すなわち、次回の第１情報Ｄ１を、第２装置１４に対応する第１共通鍵Ｋ１にて暗号化して暗号化データとする。そして、この暗号化データと、送信元ＩＤ（第１装置１２のＩＤ）と、送信先ＩＤ（送信先の第２装置１４のＩＤ）と、フレームＩＤ（第１転送フレームＦｔ１（図示せず）を示すＩＤ）とを含む第１転送フレームＦｔ１を作成して、送信先ＩＤに対応する第２装置１４に送信する。
【００７８】
同様に、正当性が検証された第２装置１４に、次回の第２情報Ｄ２を転送する。すなわち、次回の第２情報Ｄ２を、第２装置１４に対応する第１共通鍵Ｋ１にて暗号化して暗号化データとする。そして、この暗号化データと、送信元ＩＤ（第１装置１２のＩＤ）と、送信先ＩＤ（送信先の第２装置１４のＩＤ）と、フレームＩＤ（第２転送フレームＦｔ２（図示せず）を示すＩＤ）とを含む第２転送フレームＦｔ２を作成して、送信先ＩＤに対応する第２装置１４に送信する。
【００７９】
待ち時間初期化部４６は、第１装置１２の起動時に、各第２装置１４の応答待ちタイマ１６ａ及びコネクションフレーム待ちタイマ１６ｂを初期化する。
【００８０】
一方、第２装置１４は、図４に示すように、コネクションフレーム受信処理部６０と、第２共通鍵生成部６２と、応答処理部６４と、通常フレーム受信処理部６６と、転送フレーム受信処理部６８と、第１情報更新部７０Ａと、第２情報更新部７０Ｂと、通信切断処理部７２と、カレント第１情報格納領域７４ａと、カレント第２情報格納領域７４ｂと、次回第１情報格納領域７６ａと、次回第２情報格納領域７６ｂとを有する。
【００８１】
コネクションフレーム受信処理部６０は、受信したフレームのフレームＩＤがコネクションフレームＦｃを示す場合に動作し、第２共通鍵生成部６２、応答処理部６４を起動する。
【００８２】
第２共通鍵生成部６２は、図５に示すように、コネクションフレームＦｃの暗号化データＥｄ１を、保有する第１情報Ｄ１（カレント第１情報格納領域７４ａに格納されている第１情報Ｄ１）を基に暗号化アルゴリズムの逆演算を行って、第２共通鍵Ｋ２を生成する。
【００８３】
応答処理部６４は、ＩＤ設定、暗号化データ設定、応答フレーム送信を行う。
【００８４】
ＩＤ設定は、応答フレームＦａの例えば先頭に各種ＩＤを設定する。具体的には、少なくとも送信元ＩＤ（当該第２装置１４のＩＤ）と、送信先ＩＤ（第１装置１２のＩＤ）と、フレームＩＤ（応答フレームＦａであることを示すＩＤ）を設定する。
【００８５】
暗号化データ設定は、保有する第２情報Ｄ２（カレント第２情報格納領域７４ｂに格納されている第２情報Ｄ２）を、生成した第２共通鍵Ｋ２により暗号化アルゴリズムによって暗号化して暗号化データＥｄ１を作成し、応答フレームＦａに登録する。
【００８６】
応答フレーム送信は、作成した応答フレームＦａを送信先である第１装置１２に送信する。
【００８７】
通常フレーム受信処理部６６は、受信したフレームのフレームＩＤが通常フレームＦｎを示す場合に動作し、通常フレームＦｎの暗号化データを第２共通鍵Ｋ２を使用して復号化して送信データ（別の第２装置１４からの制御データ等）を復元する。当該第２装置１４は、復元した送信データに基づいて各種制御を行う。
【００８８】
通信切断処理部７２は、コネクションフレーム待ちタイマ１６ｂの値（時間）が所定時間を経過しても第１装置１２からのコネクションフレームＦｃが送信されてこない場合に、第１装置１２との通信を切断する。
【００８９】
カレント第１情報格納領域７４ａは、出荷時には初期値「０」が格納される。第２装置１４の起動毎に次回第１情報格納領域７６ａの第１情報Ｄ１が格納される。
【００９０】
カレント第２情報格納領域７４ｂは、出荷時には初期値「０」が格納される。第２装置１４の起動毎に次回第２情報格納領域７６ｂの第２情報Ｄ２が格納される。
【００９１】
次回第１情報格納領域７６ａは、出荷時に、第１装置Ｄ１の情報テーブル４８のうち、第１レコードの第１情報Ｄ１１が登録される。当該第２装置１４の起動毎であって、且つ、第２装置１４が有効（正当性が検証された第２装置１４）である場合に、第１装置１２から転送される次回の第１情報Ｄ１（復号化データ）が格納される。
【００９２】
次回第２情報格納領域７６ｂは、出荷時に、第１装置１２の情報テーブル４８のうち、第１レコードの第２情報Ｄ２１が登録される。当該第２装置１４の起動毎であって、且つ、第２装置１４が有効（正当性が検証された第２装置１４）である場合に、第１装置１２から転送される次回の第２情報Ｄ２（復号化データ）が格納される。
【００９３】
転送フレーム受信処理部６８は、受信したフレームのフレームＩＤが第１転送フレームＦｔ１又は第２転送フレームＦｔ２を示す場合に動作し、第１情報処理及び第２情報処理を行う。
【００９４】
第１情報処理は、第１転送フレームＦｔ１に登録された暗号化データを第２共通鍵Ｋ２を使用して復号化して第１情報Ｄ１に復元し、復元した第１情報Ｄ１を次回第１情報格納領域７６ａに格納する。
【００９５】
第２情報処理は、第２転送フレームＦｔ２に登録された暗号化データを第２共通鍵Ｋ２を使用して復号化して第２情報Ｄ２に復元し、復元した第２情報Ｄ２を次回第２情報格納領域７６ｂに格納する。
【００９６】
第１情報更新部７０Ａは、当該第２装置１４の起動毎に、次回第１情報格納領域７６ａ内の第１情報Ｄ１をカレント第１情報格納領域７４ａに格納する。
【００９７】
第２情報更新部７０Ｂは、当該第２装置１４の起動毎に、次回第２情報格納領域７６ｂ内の第２情報Ｄ２をカレント第２情報格納領域７４ｂに格納する。
【００９８】
次に、本実施の形態に係る車両用通信網装置１０の処理動作を図５の動作説明図並びに図６〜図９のフローチャートを参照しながら説明する。
【００９９】
最初に、第１装置１２の起動時における初期化処理について図５及び図６を参照しながら説明する。
【０１００】
先ず、図６のステップＳ１において、第１装置１２は、不揮発性メモリ１８に記憶されたＩＤテーブル２０及びインデックスデータ２２を主メモリに読み出して一時ＩＤテーブル２４及びカレントインデックス２６とする。
【０１０１】
ステップＳ２において、インデックス更新部５２は、カレントインデックス２６を＋１更新する。更新後のカレントインデックス２６の値が情報テーブル４８のレコード数を超えた場合は、カレントインデックス２６の値を「１」にする。
【０１０２】
ステップＳ３において、インデックス更新部５２は、更新後のカレントインデックス２６を不揮発性メモリ１８内のインデックスデータ２２に上書きする。
【０１０３】
ステップＳ４において、第２装置１４の指定用カウンタｍに初期値「１」を格納し、各種テーブルのレコード指定用カウンタｎにカレントインデックス２６の値を格納する。
【０１０４】
ステップＳ５において、暗号通信設定部２８は、ｍ番目の第２装置１４に対する第１情報Ｄ１及び第１共通鍵Ｋ１の設定を行う。すなわち、情報設定部５４は、情報テーブル４８のｎレコードから第１情報Ｄ１を読み出す。共通鍵設定部５６は、共通鍵テーブル５０のｎレコードから第１共通鍵Ｋ１を読み出す。
【０１０５】
ステップＳ６において、コネクションフレーム処理部３０は、コネクションフレームＦｃを作成し、送信する。
【０１０６】
すなわち、コネクションフレーム処理部３０は、ＩＤ設定と暗号化データ設定を行う。図５に示すように、ＩＤ設定では、コネクションフレームＦｃの例えば先頭に各種ＩＤを設定する。例えば送信元ＩＤ（第１装置１２のＩＤ）と、送信先ＩＤ（送信先であるｍ番目の第２装置１４のＩＤ）と、フレームＩＤ（コネクションフレームＦｃであることを示すＩＤ）を設定する。
【０１０７】
暗号化データ設定では、読み出された第１情報Ｄ１を、読み出された第１共通鍵Ｋ１により暗号化アルゴリズムによって暗号化して暗号化データＥｄ１を作成し、コネクションフレームＦｃに設定する。
【０１０８】
その後、コネクションフレーム処理部３０は、作成したコネクションフレームＦｃをｍ番目の第２装置１４に向けて送信する。
【０１０９】
ステップＳ７において、カウンタｎの値を＋１更新する。
【０１１０】
ステップＳ８において、更新後のカウンタｎの値が情報テーブル４８のレコード数を超えているか否かを判別する。超えていれば、ステップＳ９に進み、更新後のカウンタｎの値を１にする。
【０１１１】
ステップＳ１０において、カウンタｍの値を＋１更新する。
【０１１２】
ステップＳ１１において、更新後のカウンタｍの値が第２装置１４の数を超えている否かを判別する。超えていなければ、ステップＳ５以降の処理を繰り返す。
【０１１３】
上記ステップＳ１１において、カウンタｍの値が第２装置１４の数を超えていると判別された場合は、ステップＳ１２に進み、待ち時間初期化部４６は、各第２装置１４の応答待ちタイマの値を初期化する。これによって、各第２装置１４での応答待ちタイマ１６ａが計時を開始する。
【０１１４】
ステップＳ１３において、待ち時間初期化部４６は、各第２装置１４のコネクションフレーム待ちタイマ１６ｂの値を初期化する。これによって、各第２装置１４でのコネクションフレーム待ちタイマが計時を開始する。
【０１１５】
次に、第２装置１４での処理動作、特に、コネクションフレームＦｃに対する応答処理について図５及び図７を参照しながら説明する。
【０１１６】
先ず、図７のステップＳ１０１において、コネクションフレーム受信処理部６０は、第１装置１２からのコネクションフレームＦｃの到来を待つ。受信したフレームのフレームＩＤがコネクションフレームＦｃを示す場合に、第２共通鍵生成部６２及び応答処理部６４を起動する。
【０１１７】
ステップＳ１０２において、第２共通鍵生成部６２は、図５にも示すように、受信したコネクションフレームＦｃの暗号化データＥｄ１を、保有する第１情報Ｄ１を基に暗号化アルゴリズムの逆演算（復号化）を行って、第２共通鍵Ｋ２を生成する。
【０１１８】
ステップＳ１０３〜Ｓ１０５において、応答処理部６４は、応答フレームＦａの作成及び送信を行う。
【０１１９】
すなわち、ステップＳ１０３において、応答処理部６４はＩＤ設定を行う。ＩＤ設定は、応答フレームＦａの例えば先頭に、少なくとも送信元ＩＤ（当該第２装置１４のＩＤ）と、送信先ＩＤ（第１装置１２のＩＤ）と、フレームＩＤ（応答フレームＦａであることを示すＩＤ）を設定する。
【０１２０】
ステップＳ１０４において、応答処理部６４は暗号化データ設定を行う。暗号化データ設定は、保有する第２情報Ｄ２を、生成した第２共通鍵Ｋ２により暗号化アルゴリズムによって暗号化して暗号化データＥｄ１を作成し、応答フレームＦａに登録する。
【０１２１】
ステップＳ１０５において、応答処理部６４は、作成した応答フレームＦａを送信先である第１装置１２に送信する。
【０１２２】
上記ステップＳ１０１において、コネクションフレームＦｃの受信がないと判別された場合は、ステップＳ１０６に進み、通信切断処理部は、コネクションフレーム待ち時間が所定時間経過したか否かを判別する。所定時間が経過していれば、すなわち、コネクションフレーム待ち時間が所定時間を経過しても第１装置１２からのコネクションフレームＦｃが送信されて来ない場合は、ステップＳ１０７に進み、第１装置１２との通信を切断する。
【０１２３】
次に、第１装置１２での応答フレームＦａに対する処理について図５、図８及び図９を参照しながら説明する。
【０１２４】
先ず、図８のステップＳ２０１において、応答数のカウンタｋに初期値「０」を格納する。
【０１２５】
ステップＳ２０２において、応答フレーム受信部３２は、第２装置１４からの応答フレームの到来を待つ。受信したフレームのフレームＩＤが応答フレームＦａを示す場合に、ステップＳ２０３に進み、カウンタｋを＋１更新する。第３共通鍵生成部３４等を起動する。
【０１２６】
ステップＳ２０４において、第３共通鍵生成部３４は、図５に示すように、送信先ＩＤに対応する第２装置１４からの応答フレームＦａに登録された暗号化データＥｄ１を、保有する第２情報Ｄ２（情報設定部５４にて設定した第１情報Ｄ１及び第２情報Ｄ２のうちの第２情報Ｄ２）を基に暗号化アルゴリズムの逆演算を行って、第３共通鍵Ｋ３を生成する。
【０１２７】
ステップＳ２０５において、共通鍵検証部３６は、保有する第１共通鍵Ｋ１（共通鍵設定部５６にて設定した第１共通鍵Ｋ１）と生成した第３共通鍵Ｋ３とが一致するか否かを判別する。
【０１２８】
一致する場合は、ステップＳ２０６において、第１装置１２は、正当性が検証された第２装置１４に対する通常フレームＦｎの送受信や、転送フレームの送信等を許可する。
【０１２９】
一致しない場合は、ステップＳ２０７に進み、通信無効処理部３８は、一時ＩＤテーブル２４のうち、受信した応答フレームＦａの送信元ＩＤに対応するレコードの有効／無効ビットを「１」にして、その後の送信元ＩＤに対応する第２装置１４との通信を遮断する。
【０１３０】
上記ステップＳ２０２において、応答フレームＦａの到来がないと判別された場合は、図９のステップＳ２０８に進み、待ち時間初期化部４６は、応答待ちタイマ１６ａの値（応答待ち時間）が所定時間経過したか否かを判別する。所定時間経過していれば、ステップＳ２０９に進み、コネクションフレーム処理部３０は、応答フレームの送信がない第２装置１４に対して、コネクションフレームＦｃを再送する。
【０１３１】
その後、ステップＳ２１０において、待ち時間初期化部４６は、コネクションフレームＦｃの再送対象の第２装置１４の応答待ちタイマ１６ａを初期化する。これによって、再度、応答時間の計時が開始される。
【０１３２】
ステップＳ２１１において、コネクションフレームＦｃを再送した第２装置１４の再送カウンタの値を＋１更新する。
【０１３３】
上記ステップＳ２０８において、応答待ちタイマ１６ａの値（時間）が所定時間経過していないと判別した場合は、次のステップＳ２１２に進み、再送カウンタが所定回数以上の第２装置１４が存在するか否かを判別する。存在している場合は、次のステップＳ２１３に進み、通信無効処理部３８は、再送カウンタが所定回数以上となった第２装置１４の通信切断を確定する。すなわち、一時ＩＤテーブル２４のうち、送信先ＩＤに対応するレコードの有効／無効ビットを「１」にして、その後の送信先ＩＤに対応する第２装置１４との通信を遮断する。すなわち、該当する第２装置１４を無効にする。
【０１３４】
ステップＳ２１４において、カウンタｋの値にステップＳ２１３において無効化された第２装置１４の数を加算する。
【０１３５】
その後、図８のステップＳ２１５において、全ての第２装置１４について応答処理が終了したか否かを判別する。この判別は、カウンタｋの値が第２装置１４の全数以上であるかどうかで行われる。
【０１３６】
全ての第２装置１４について応答処理が終了していなければ、ステップＳ２０２に戻り、該ステップＳ２０２以降の処理を繰り返す。全ての第２装置１４について応答処理が終了した段階で、この応答処理を終了する。
【０１３７】
次に、車両のイグニッションをオンにした段階から、第１装置１２と３つの第２装置１４Ａ〜１４Ｃとの信号のやりとりの一例を図１０Ａ〜図１０Ｃを参照しながら説明する。
【０１３８】
先ず、例えば図１０Ａに示すように、第１装置１２よりも第２装置１４Ａが早く起動した場合を想定すると、起動した第１装置１２から第２装置１４Ａに対してコネクションフレームＦｃが送信される。
【０１３９】
その後、第２装置１４Ａから応答フレームＦａが第１装置１２に送信され、検証の結果、第２装置１４Ａが正常と判定される。その後、第２装置１４Ａから第１装置１２に通常フレームＦｎの送信が行われ、その間に、第１装置１２から第２装置１４Ａへの第１転送フレームＦｔ１の送信と第２フレームＦｔ２の送信が行われる。
【０１４０】
第２装置１４Ａにおいて、第１転送フレームＦｔ１及び第２転送フレームＦｔ２が受信されることで、その後の正当性の検証において無効として判断されることがなくなる。
【０１４１】
次に、図１０Ｂに示すように、第１装置１２が第２装置１４Ｂよりも早く起動した場合を想定すると、起動した第１装置１２から第２装置１４Ｂに対してコネクションフレームＦｃが送信される。しかし、第２装置１４Ｂがまだ起動していないため、応答フレームＦａは送信されない。当該第２装置１４Ｂに対応する応答待ちタイマ１６ａが所定時間経過した段階でも応答フレームＦａが送信されない場合は、第１装置１２からコネクションフレームＦｃが再送される。
【０１４２】
その後、第２装置１４Ｂから応答フレームＦａが第１装置１２に送信され、検証の結果、第２装置１４Ｂが正常と判定される。その後、第２装置１４Ｂから第１装置１２に通常フレームＦｎの送信が行われ、その間に、第１装置１２から第２装置１４Ｂへの第１転送フレームＦｔ１の送信と第２転送フレームＦｔ２の送信が行われる。これにより、第２装置１４Ｂにおいて、第１転送フレームＦｔ１及び第２転送フレームＦｔ２が受信されることで、その後の正当性の検証において無効として判断されることがなくなる。
【０１４３】
次に、第２装置１４Ｃとの通信を切断する例について、図１０Ｃを参照しながら説明する。一例として、第１装置１２が第２装置１４Ｂよりも早く起動した場合を想定する。先ず、起動した第１装置１２から第２装置１４Ｃに対してコネクションフレームＦｃが送信される。しかし、第２装置１４Ｃがまだ起動していないため、応答フレームＦａは送信されない。当該第２装置１４Ｃに対応する応答待ちタイマ１６ａが所定時間経過した段階でも応答フレームＦａが送信されない場合は、第１装置１２からコネクションフレームＦｃが再送される。
【０１４４】
それでも、応答フレームＦａが送信されない場合は、第１装置１２は、所定時間が経過する毎に、コネクションフレームＦｃを第２装置１４に再送する。再送回数が所定回数以上となった段階で、第２装置１４Ｃに対する通信を切断する。
【０１４５】
このように、本実施の形態に係る車両用通信網装置１０は、第１装置１２と第２装置１４間で利用する共通鍵を通信上で交換する必要がないため、不正アクチュエータに対する耐性を向上させることができる。これは、通信の秘匿性と信頼性の向上につながる。しかも、第１装置１２の起動毎に、各第２装置１４に対する第１情報Ｄ１及び第２情報Ｄ２が変化するため、さらなる通信の秘匿性と信頼性の向上を図ることができる。
【０１４６】
また、第１情報Ｄ１及び第２情報Ｄ２として、第２装置１４（各種ＥＣＵ）での制御で使用されるエンジン回転数の初期値やしきい値、あるいは代替値等の制御データを兼用するようにしたので、データの利用効率を向上させることができ、しかも、管理するデータ量が増加することもないため、車両用通信網装置１０の設計や保守が容易になる。
【０１４７】
また、出荷後の最初の正当性の検証が済んだ第２装置１４に対して、コネクションフレームＦｃを送る前に、事前に、次回の検証に使用する第１情報Ｄ１及び第２情報Ｄ２を転送するようにしている。これによって、第１装置１２での第１情報Ｄ１及び第２情報Ｄ２の組と、第２装置１４での第１情報Ｄ１及び第２情報Ｄ２の組を対応させることができ、第２装置１４が正常であったとしても、無効として判断される、ということがなくなり、正当性の検証の信頼性を向上させることができる。
【０１４８】
また、応答待ちタイマ１６ａやコネクションフレーム待ちタイマ１６ｂを監視し、また、コネクションフレームＦｃの再送回数を監視することで、情報セキュリティ上のなりすまし等によって制御不能等に陥っている第２装置１４、あるいは、故障状態や通信途絶状態にある第２装置１４の早期検出につながり、車両の安全性を高めることもできる。
【０１４９】
上述の例では、第１装置１２において、受信した暗号化データＥｄ１を、保有する第２情報Ｄ２を基に暗号化アルゴリズムの逆演算を行って第３共通鍵Ｋ３を生成し、生成した第３共通鍵Ｋ３が、保有する第１共通鍵Ｋ１と一致するかを検証したが、その他、図１１に示すように、他の手法によって共通鍵の検証を行ってもよい。
【０１５０】
すなわち、第１装置１２は、保有する第２情報Ｄ２を、保有する第１共通鍵Ｋ１により、暗号化アルゴリズムによって暗号化して暗号化データＥｄ３を生成する。第２装置１４は、保有する第２情報Ｄ２を、保有する第２共通鍵Ｋ２により暗号化アルゴリズムによって暗号化して暗号化データＥｄ４を生成し、生成した第４暗号化データＥｄ４を第１装置１２に送信する。そして、第１装置１２は、受信した暗号化データＥｄ４が、保有する暗号化データＥｄ３と一致するかを検証する。
【０１５１】
第１装置１２と第２装置１４は、暗号化データＥｄ４と暗号化データＥｄ３とが一致する場合に、第１共通鍵Ｋ１と第２共通鍵Ｋ２を基に暗号化通信を開始する。この場合、第３共通鍵Ｋ３を生成する必要がないため、検証のための処理を簡略化することができる。
【０１５２】
本発明は上記した実施形態に限らず、本発明の要旨を逸脱することなく、種々の構成を採り得ることは当然可能である。
【０１５３】
上述では、第１装置と３つの第２装置との通信を想定したが、第１装置と１つの第２装置との通信や、第１装置と４つ以上の第２装置との通信も実行することができることはもちろんである。第２装置の数が多くなっても、情報テーブルをリングバッファ形式でアクセスすることで、起動毎に第１情報及び第２情報を変化させるようにしているため、第２装置の数に応じて情報テーブルのレコード数や情報テーブルの数を増やす必要がなく、データの利用効率をさらに向上させることができる。
【符号の説明】
【０１５４】
１０…車両用通信網装置                    １２…第１装置
１４、１４Ａ、１４Ｂ、１４Ｃ…第２装置    ２２…インデックスデータ
２４…一時ＩＤテーブル                    ２８…暗号通信設定部
３０…コネクションフレーム処理部          ３２…応答フレーム処理部
３４…第３共通鍵生成部                    ３６…共通鍵検証部
３８…通信無効処理部                      ４０…通常フレーム処理部
４２…次回情報設定部                      ４４…転送フレーム処理部
４６…待ち時間初期化部                    ４８…情報テーブル
５０…共通鍵テーブル                      ５２…インデックス更新部
５４…情報設定部                          ５６…共通鍵設定部
６０…コネクションフレーム受信処理部      ６２…第２共通鍵生成部
６４…応答処理部                          ６６…通常フレーム受信処理部
６８…転送フレーム受信処理部              ７０Ａ…第１情報更新部
７０Ｂ…第２情報更新部                    ７２…通信切断処理部
【図１】
0006681755.tif 000002
【図２】
0006681755.tif 000003
【図３】
0006681755.tif 000004
【図４】
0006681755.tif 000005
【図５】
0006681755.tif 000006
【図６】
0006681755.tif 000007
【図７】
0006681755.tif 000008
【図８】
0006681755.tif 000009
【図９】
0006681755.tif 000010
【図１０】
0006681755.tif 000011
【図１１】
0006681755.tif 000012