(57)【要約】【課題】ハードウェア資源を増大させることなく、秘匿性の高いアドホックネットワーク通信を可能にすることを目的とする。【解決手段】ノード装置１は、鍵生成部２４と暗号化部２５と送信部６とを有する。鍵生成部２４は、隣接するノード装置Ｂが起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、自身のノード装置Ａが起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する。暗号化部２５は、前記鍵生成部２４が生成する共通鍵で、前記隣接するノード装置Ｂに送信するデータフレームを暗号化する。送信部６は、前記暗号化部２５が暗号化した前記データフレームを前記隣接するノード装置Ｂに送信する。【選択図】図６
2015099984.tif 000002
【特許請求の範囲】
【請求項１】
ノード装置であって、
隣接するノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する鍵生成部と、
前記鍵生成部が生成する共通鍵で、前記隣接するノード装置に送信するデータフレームを暗号化する暗号化部と、
前記暗号化部が暗号化した前記データフレームを前記隣接するノード装置に送信する送信部と、
を備えるノード装置。
【請求項２】
前記鍵生成部は、前記経過時間を一定時間ごとに正規化する正規化部、
を備える請求項１記載のノード装置。
【請求項３】
前記鍵生成部は、前記隣接するノード装置のアドレスと前記自身のノード装置のアドレスと前記正規化部が正規化した正規化時間とを連結したデータを暗号化して前記共通鍵を生成する、
請求項２記載のノード装置。
【請求項４】
前記鍵生成部は、前記連結したデータを暗号化するときに、鍵の値が変化しない固定共通鍵を使用する、
請求項３記載のノード装置。
【請求項５】
前記鍵生成部は、前記連結したデータのバイト数が前記共通鍵のバイト数より少ない場合には、前記隣接するノード装置のアドレスまたは前記自身のノード装置のアドレスを連結して、前記共通鍵のバイト数と一致させる、
請求項３または４記載のノード装置。
【請求項６】
前記鍵生成部は、前記連結したデータのバイト数が前記共通鍵のバイト数以上の場合には、前記連結したデータと前記正規化時間のデータとで排他的論理和の演算を行い、前記共通鍵を生成する、
請求項３または４記載のノード装置。
【請求項７】
自身のノード装置にデータフレームを送信する隣接するノード装置に自身のノード装置が起動してからの経過時間を通知し、且つ前記経過時間を通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する復号化部、
を備える請求項１乃至６の何れか１項に記載のノード装置。
【請求項８】
前記データフレームに含まれる前記正規化時間に対応した識別番号が前記自身のノード装置の正規化時間の前後の範囲内に含まれるときに、前記データフレームが許可され、前記範囲内にないときに、前記データフレームが許可されない、
請求項７記載のノード装置。
【請求項９】
第１のノード装置と第２のノード装置とを有する通信システムであって、
前記第１のノード装置は、
前記第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する鍵生成部と、
前記鍵生成部が生成する共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化する暗号化部と、
前記暗号化部が暗号化した前記データフレームを前記第２のノード装置に送信する送信部と、
を備え、
前記第２のノード装置は、
前記データフレームを受信する受信部と、
前記第２のノード装置に前記第１のノード装置が起動してからの経過時間を通知し、且つ通知したときの経過時間に基づいた鍵の値が変化する共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて共通鍵で前記データフレームを復号化する復号化部と、
を備える、
通信システム。
【請求項１０】
第１のノード装置と第２のノード装置との間で通信を行う通信方法であって、
前記第１のノード装置は、前記第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成し、
前記第１のノード装置は、生成した共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化し、
前記第１のノード装置は、暗号化した前記データフレームを前記第２のノード装置に送信し、
前記第２のノード装置は、前記データフレームを受信し、
前記第２のノード装置は、前記第１のノード装置にデータフレームを送信する隣接するノード装置に前記第１のノード装置が起動してからの経過時間を通知し、且つ通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する、
通信方法。
【請求項１１】
第１のノード装置は、第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成し、
前記第１のノード装置は、生成した共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化し、
前記第１のノード装置は、暗号化した前記データフレームを前記第２のノード装置に送信し、
前記第２のノード装置は、前記データフレームを受信し、
前記第２のノード装置は、前記第１のノード装置にデータフレームを送信する他の隣接するノード装置に前記第１のノード装置が起動してからの経過時間を通知し、且つ通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する、
処理をコンピュータに実行させる通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ノード装置、通信システム、通信方法および通信プログラムに関する。
【背景技術】
【０００２】
アドホックネットワークでは、ノード装置同士が自律的にネットワークを形成する。自律的に通信を行うことにより、使用者が随時通信ルートを設定する必要がなく、サーバやルータ等の通信を管理する専用の通信端末やインフラを必要としない。関連する技術として、ＨＥＬＬＯフレームを用いて、自律的にアドホックネットワークを形成する技術が提案されている（例えば、特許文献１参照）。
【０００３】
ノード装置同士で通信を行うときに、通信されるフレームのセキュリティを確保する必要がある。このために、ノード装置同士で通信を行う場合に、通信を行うデータを暗号化した後に、ノード装置はフレームを相手方のノード装置に送信する。関連する技術として、２つの通信端末装置を一体に保持して複数回揺動させて、ピーク位置の時間を取得して、暗号化する技術が提案されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１１／０１３１６５号公報
【特許文献２】特開２０１１−１３０２２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ノード装置間で通信を行うときには、フレームという単位で通信が行われる。フレームの一例として、ＨＥＬＬＯフレームとデータフレームとがある。経路構築を行うために使用されるＨＥＬＬＯフレームは、高い秘匿性は要求されない。
【０００６】
従って、ＨＥＬＬＯフレームの場合には、鍵の値が固定された共通鍵（以下、固定共通鍵と称する）を用いることができる。一方、データフレーム（送信するデータの中身が含まれるフレーム）は、高い秘匿性が要求される。従って、データフレームを固定共通鍵で暗号化することは好ましくない。
【０００７】
そこで、データフレームの通信を行うときには、鍵の値が変化する共通鍵（以下、可変共通鍵と称する）を用いて、データフレームを暗号化することが好ましい。可変共通鍵でデータフレームを暗号化することで、高い秘匿性の通信を行うことができる。
【０００８】
可変共通鍵でデータフレームを暗号化および復号化する場合、フレームを送信するノード装置とフレームを受信するノード装置との両者が可変共通鍵を認識している必要がある。可変共通鍵は、鍵の値が変化していくため、送信側および受信側の両者で変化する鍵の値を認識しなければならない。
【０００９】
従って、各ノード装置は、可変共通鍵を認識できる機能を備える必要がある。このために、各ノード装置は、可変共通鍵を認識する機能を実現するハードウェア資源を備える必要がある。ノード装置の中には、ハードウェア資源に乏しいノード装置もある。よって、この場合には、秘匿性の高い通信を行うことができなくなる。
【００１０】
本発明は、１つの側面では、秘匿性の高いアドホックネットワーク通信を可能にすることを目的とする。
【課題を解決するための手段】
【００１１】
１つの案では、ノード装置は、鍵生成部と暗号化部と送信部とを有する。鍵生成部は、隣接するノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する。暗号化部は、前記鍵生成部が生成する共通鍵で、前記隣接するノード装置に送信するデータフレームを暗号化する。送信部は、前記暗号化部が暗号化した前記データフレームを前記隣接するノード装置に送信する。
【発明の効果】
【００１２】
秘匿性の高いアドホックネットワーク通信を可能にすることができる。
【図面の簡単な説明】
【００１３】
【図１】ＨＥＬＬＯフレームを用いた経路構築の一例を示す図（その１）である。
【図２】ＨＥＬＬＯフレームを用いた経路構築の一例を示す図（その２）である。
【図３】ＨＥＬＬＯフレームを用いた経路構築の一例を示す図（その３）である。
【図４】ＨＥＬＬＯフレームを用いた経路構築の一例を示す図（その４）である。
【図５】アドホックネットワークの構成の一例を示す図である。
【図６】ノード装置の機能ブロックの一例を示す図である。
【図７】データフレームの構成の一例を示す図である。
【図８】アドホックヘッダの構成の一例を示す図である。
【図９】アドホックヘッダの各項目の一例を説明する図である。
【図１０】リンクテーブルの構成の一例を説明する図である。
【図１１】可変共通鍵を生成する例を説明する図（その１）である。
【図１２】可変共通鍵を生成する例を説明する図（その２）である。
【図１３】実施形態の処理の一例を説明するフローチャートである。
【図１４】暗号化および復号化の処理の一例を示すフローチャートである。
【図１５】２つのノード装置の間でデータフレームを送受信する一例を説明する図である。
【図１６】経過時間を正規化する一例を説明する図である。
【図１７】第１の応用例における暗号化および復号化の一例を説明する図である。
【図１８】第２の応用例における暗号化および復号化の一例を説明する図（その１）である。
【図１９】第２の応用例における暗号化および復号化の一例を説明する図（その２）である。
【図２０】第３の応用例における暗号化および復号化の一例を説明する図である。
【図２１】ノード装置のハードウェア構成の一例を示す図である。
【図２２】ゲートウェイ装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００１４】
＜ＨＥＬＬＯフレームを用いた経路構築の一例＞
図１を参照して、ＨＥＬＬＯフレームを用いた経路構築の一例を説明する。図１に一例として示すアドホックネットワークは、ゲートウェイ装置ＧＷとノード装置ａ〜eおよびＹとを有している。ゲートウェイ装置はノード装置の一種である。また、ゲートウェイ装置は、さらに、Ｌ３ネットワークを介して、ネットワークサーバと通信する機能を有している。
【００１５】
一例として、ノード装置ａ〜eおよびＹはスマートメータを適用することができる。スマートメータは、電力やガス、水道等の使用量を計測する計測機器であり、通信機能を有している。計測した値は通信機能を利用してネットワークサーバに送信することができる。
【００１６】
一例として、ノード装置ａ〜eおよびＹは、フレームをゲートウェイ装置ＧＷに送信する。ゲートウェイ装置ＧＷは、ノード装置ａ〜eおよびＹが送信したフレームを受信する。ゲートウェイ装置ＧＷは、Ｌ３ネットワークを介して、受信したフレームをネットワークサーバに送信する。
【００１７】
ＨＥＬＬＯフレームは、通信経路を構築するときに、各ノード装置が隣接するノード装置に一斉にブロードキャストするフレームである。データフレームは、ノード装置が送信するデータの中身が含まれるフレームである。
【００１８】
図１に一例として示すアドホックネットワークは、メッシュ状に構成されたアドホックネットワークである。ゲートウェイ装置ＧＷおよびノード装置ａ〜eおよびＹは、隣接するゲートウェイ装置ＧＷまたはノード装置ａ〜eおよびＹに対して定期的にＨＥＬＬＯフレームをブロードキャストする。
【００１９】
ＨＥＬＬＯフレームは、経路情報や通信品質情報等の種々の情報を有している。ゲートウェイ装置ＧＷおよびノード装置ａ〜eおよびＹは、ＨＥＬＬＯフレームを定期的にブロードキャストすることで、適切な経路構築を行う。
【００２０】
図２は、ゲートウェイ装置ＧＷがＨＥＬＬＯフレームをブロードキャストする一例を示している。ゲートウェイ装置ＧＷは、自身がＨＥＬＬＯフレームを送信するタイミングになったときに、ノード装置ａ、ｂおよびｃにＨＥＬＬＯフレームをブロードキャストする。ノード装置ａ、ｂおよびｃは、ＨＥＬＬＯフレームを受信する。
【００２１】
ノード装置ａ、ｂおよびｃは、受信したＨＥＬＬＯフレームに基づいて、経路品質やリンクの通信品質を計算し、計算した結果をテーブル（ルーティングテーブルと称される）に記憶する。
【００２２】
次に、ノード装置ｂに着目する。図３に示すように、ノード装置ｂは、自身がＨＥＬＬＯフレームを送信するタイミングで自身が保持するノード装置の情報を含むＨＥＬＬＯフレームをブロードキャストする。このＨＥＬＬＯフレームには、ゲートウェイ装置ＧＷの情報も含まれている。ノード装置ｂは、ノード装置ｄ、eおよびＹにＨＥＬＬＯフレームをブロードキャストする。
【００２３】
次に、ノード装置Ｙに着目する。ノード装置Ｙは、ノード装置ｂが送信したＨＥＬＬＯフレームを受信する。ノード装置Ｙは、受信したＨＥＬＬＯフレームに基づいて、経路品質やリンクの通信品質を計算し、計算した結果をルーティングテーブルに記憶する。
【００２４】
ノード装置ｄおよびeも同様であり、受信したＨＥＬＬＯフレームに基づいて、経路品質やリンクの通信品質を計算し、計算した結果をルーティングテーブルに記憶する。そして、ノード装置ｄは、ノード装置ａおよびＹにＨＥＬＬＯフレームをブロードキャストする。同様に、ノード装置eは、ノード装置ｃおよびＹにＨＥＬＬＯフレームをブロードキャストする。
【００２５】
以上により、図４に示すように、ゲートウェイ装置ＧＷとノード装置ａ〜eおよびＹとの全てのノード装置にＨＥＬＬＯフレームが伝播される。ノード装置Ｙがゲートウェイ装置ＧＷにデータフレームを送信するときに、データフレームを受信したノード装置は、自身のルーティングテーブルの情報を参照する。そして、ノード装置は、ルーティングテーブルの情報に基づいて、次の送信先のノード装置として適切なノード装置を選択する。
【００２６】
適切なノード装置の選択は、ルーティングテーブルに記憶されている経路品質や通信品質等の情報に基づいて行われる。一例として、ノード装置Ｙは、ノード装置ｂを経由して、ゲートウェイ装置ＧＷにデータフレームを送信することができる。
【００２７】
ただし、ノード装置Ｙ、ノード装置ｂ、ゲートウェイ装置ＧＷの通信経路の品質よりも、ノード装置Ｙ、ノード装置ｄ、ノード装置ａ、ゲートウェイ装置ＧＷの方が通信経路の品質の方が良い場合ある。この場合、後者の方がホップ数は多いが、適切な経路として、後者が選択される。
【００２８】
＜アドホックネットワーク構成の一例＞
図５は、アドホックネットワークの構成の一例を示している。図５では、複数のノード装置Ｎと２つのゲートウェイ装置ＧＷと保守端末ＨＴとがアドホックネットワークに参加している。２つのゲートウェイ装置ＧＷはインターネット網を介してサーバに接続されている。
【００２９】
アドホックネットワークに参加している各装置の間は、無線で通信が行われてもよいし、有線で通信が行われてもよい。実施形態では、各装置の間は無線で通信が行われるものとする。
【００３０】
２つのゲートウェイ装置ＧＷおよび保守端末はノード装置の一種である。各ノード装置Ｎは、何れかのゲートウェイ装置ＧＷにデータフレームを送信する。ゲートウェイ装置ＧＷはインターネット網を介して、データフレームをサーバに送信する。保守端末ＨＴは、任意のノード装置Ｎに対して、種々の試験や情報収集等を行う。保守端末ＨＴは、任意のノード装置Ｎに対する操作を行うこともできる。
【００３１】
＜ノード装置の構成の一例＞
図６は、ノード装置１の一例を示している。図６に一例として示すノード装置１は、フレーム受信部２とフレーム受信情報解析部３と制御部４とフレーム送信情報生成部５とフレーム送信部６とセキュリティ処理部７とリンクテーブル８とルーティングテーブル９とタイマ１０とを備えている。
【００３２】
フレーム受信部２は、ノード装置１に隣接する他のノード装置１（ゲートウェイ装置および保守端末を含む）が送信したＨＥＬＬＯフレームまたはデータフレームを受信する。フレーム受信部２は、他の種類のフレームを受信してもよい。フレーム受信部２は、受信部の一例である。なお、フレームは、隣接するノード装置１の間を通信される情報である。
【００３３】
フレーム受信情報解析部３は、受信したフレームを解析する。また、フレーム受信情報解析部３は、アドホック層終端処理を行う。フレーム受信情報解析部３は、解析した情報を制御部４およびセキュリティ処理部７に出力する。
【００３４】
制御部４は、ノード装置１の全体の管理を行う。また、制御部４は、受信したフレームおよび送信するフレームの管理を行う。制御部４は、所定のアプリケーションにより実現されてもよい。
【００３５】
フレーム送信情報生成部５は、制御部４が送信を指示したフレームのアドホック層の加工処理を行う。また、フレーム送信情報生成部５は、リンクテーブル８およびルーティングテーブル９を参照して、フレームの次の送信先ノード装置１を決定する。決定された送信先のノード装置１は、自身のノード装置１に隣接している。
【００３６】
フレーム送信部６は、フレーム送信情報生成部５が決定した送信先のノード装置１にＨＥＬＬＯフレームまたはデータフレームを送信する。フレーム送信部６は、他の種類のフレームを送信してもよい。フレーム送信部６は、送信部の一例である。
【００３７】
セキュリティ処理部７は、フレーム送信部６が送信するデータフレームに暗号化処理を行う。ノード装置間を通信されるデータフレームは暗号化処理されている。これにより、データフレームの秘匿性を確保している。また、セキュリティ処理部７は、暗号化されたフレームの復号化を行う。その他に、セキュリティ処理部７は、署名認証や固定共通鍵の管理、共通鍵の生成等のセキュリティ処理を行う。
【００３８】
リンクテーブル８は、ノード装置１に隣接するノード装置に関する情報やノード装置間の通信品質等の情報を記憶している。ルーティングテーブル９は、ノード装置１からグローバル宛先アドレスＧＤまでの経路情報を記憶している。ルーティングテーブル９が記憶している経路情報に基づいて、ノード装置１は隣接するノード装置１にデータフレームを送信する。タイマ１０は、時間をカウントする。
【００３９】
ローカル送信元アドレスＬＳ（Local Source)、ローカル宛先アドレスＬＤ(Local Destination)、グローバル送信元アドレスＧＳ(Global Source)およびグローバル宛先アドレスＧＤ(Global Destination)について説明する。
【００４０】
ローカル送信元アドレスＬＳは、フレームを送信する送信元のノード装置１のアドレスを示す。ローカル宛先アドレスＬＤは、フレームを送信する次の送信先のノード装置１のアドレスを示す。グローバル送信元アドレスＧＳは、フレームを生成するノード装置１を示す。グローバル宛先アドレスＧＤは、フレームの最終的な送信先となるノード装置１を示す。
【００４１】
従って、ローカル送信元アドレスＬＳのノード装置１とローカル宛先アドレスのノード装置１とは隣接している。一方、グローバル送信元アドレスＧＳのノード装置１とグローバル宛先アドレスＧＤのノード装置１とが隣接しているとは限らない。
【００４２】
次に、セキュリティ処理部７について説明する。セキュリティ処理部７は、固定共通鍵記憶部２１と経過時間生成部２２と正規化部２３と鍵生成部２４と暗号化部２５と署名部２６と復号化部２７と認証部２８と検知部２９とを備えている。セキュリティ処理部７は、これら以外の構成を備えていてもよい。
【００４３】
固定共通鍵記憶部２１は、鍵の値が変化しない共通鍵（以下、固定共通鍵と称する）を記憶する。従って、固定共通鍵は、鍵の値が変化する共通鍵（以下、可変共通鍵と称する）よりも秘匿性は低い。ただし、固定共通鍵で暗号化することにより、情報の秘匿性を得ることはできる。固定共通鍵は、固定共通鍵記憶部２１に予め記憶されている。
【００４４】
経過時間生成部２２は、ノード装置１が起動してから経過した時間を生成する。一例として、経過時間生成部２２は初期値として「０」を保持し、タイマ１０がカウントする時間を入力して経過時間を生成してもよい。
【００４５】
正規化部２３は、経過時間を正規化する。経過時間を正規化した時間を正規化時間とする。また、正規化部２３は、識別番号（Ｋｅｙ−ＩＤ）を生成する。識別番号は、正規化時間に対応しており、データフレームを受信したノード装置１が当該データフレームの復号化を許可するか否かを判定するために用いられる。
【００４６】
鍵生成部２４は、一例として、ローカル宛先アドレスＬＤ、ローカル送信元アドレスＬＳ、正規化時間および固定共通鍵を使用して、可変共通鍵を生成する。暗号化部２５は、ノード装置１が送信するフレームに対して、鍵生成部２４が生成した可変共通鍵で暗号化を行う。署名部２６は、送信するフレームに署名情報を付与する。
【００４７】
復号化部２７は、フレーム受信部２が受信したフレームに対して、鍵生成部２４が生成した可変共通鍵を使用して、復号化を行う。認証部２８は、フレーム受信部２が受信したフレームの署名情報が正しいか否かを判定する。検知部２９は、フレーム受信部２が受信したデータフレームの信頼性の判定を行う。一例として、検知部２９は、データフレームに含まれる経過時間を使用して、データフレームの信頼性の判定を行う。
【００４８】
＜データフレームの構成の一例＞
図７は、データフレームの構成の一例を示している。図７のデータフレームは、物理ヘッダとＭＡＣヘッダとアドホックヘッダとペイロードと署名とパディングとＦＣＳとを有している。ペイロード部分が、データフレームの本体の情報であり、ペイロード部分を暗号化する。ただし、署名およびパディングも暗号化の対象に含まれる。
【００４９】
一例として、可変共通鍵の長さを１２８ｂｉｔとしたとき、ペイロードおよび署名だけでは、１２８ｂｉｔ未満になる場合がある。この場合、ペイロードと署名とパディングとの合計が可変共通鍵の長さ（１２８ｂｉｔ）と等しくなるように、データフレームにパディングが付与される。
【００５０】
次に、アドホックヘッダについて説明する。図８は、アドホックヘッダの一例を示している。アドホックヘッダは、データフレームのヘッダの１つであり、図８の一例では、２バイトの情報量になっている。
【００５１】
アドホックヘッダは、識別情報（図８ではＫｅｙ−ＩＤ）と鍵種別とフレーム種別と予備とを有している。図８のｂ１が最下位ビットであり、ｂ１６が最上位ビットである。図８の例では、識別番号は４ｂｉｔを使用することが可能である。アドホックヘッダが有する項目は、図８の例には限定されない。
【００５２】
図９は、アドホックヘッダの各項目の一例を説明している。実施形態では、鍵種別と識別番号（Ｋｅｙ−ＩＤ）との項目を使用する。鍵種別は、共通鍵の種別の一例を示している。図９の一例では、鍵種別に２ｂｉｔが割り当てられている。
【００５３】
鍵種別「０ｘ００」は固定共通鍵であることを示している。鍵種別「０ｘ０１」はＬＤの可変共通鍵であることを示している。ＬＤの可変共通鍵は、ローカル宛先アドレスＬＤのノード装置１の経過時間を使用して生成される可変共通鍵である。鍵種別が「０ｘ０２」はＬＳの可変共通鍵であることを示している。ＬＳの可変共通鍵は、自身のノード装置１の経過時間で生成する可変共通鍵である。鍵種別が「０ｘ０３」は予備であることを示している。
【００５４】
識別番号（Ｋｅｙ−ＩＤ）は、経過時間より算出される値であることを示している。上述したように、識別番号は、正規化時間に対応している。図９に示す一例では、識別番号に４ｂｉｔが割り当てられている。従って、識別番号は、ゼロから１５までの値を表現できる。
【００５５】
＜リンクテーブル構造の一例＞
次に、図１０を参照して、ノード装置１のリンクテーブル８の構造の一例を説明する。図１０に一例として示すリンクテーブル８は、ローカル送信元アドレスＬＳと経過時間との項目を有している。リンクテーブル８が有する項目は図１０に示した一例には限定されない。リンクテーブル８は他の項目を有していてもよい。ローカル送信元アドレスＬＳは、ノード装置１がＨＥＬＬＯフレームを受信したときには、ＨＥＬＬＯフレームを送信したノード装置１のアドレスを示す。一方、リンクテーブル８のローカル送信元アドレスＬＳは、データフレームを送信するときには、ローカル宛先アドレスＬＤになる。
【００５６】
リンクテーブル８のローカル送信元アドレスＬＳは、ノード装置１が隣接するノード装置１からＨＥＬＬＯフレームを受信したときに、ＨＥＬＬＯフレームに含まれる情報に基づいて得ることができる。経過時間は、ノード装置１が隣接するノード装置からＨＥＬＬＯフレームまたはデータフレームを送信したときに、ＨＥＬＬＯフレームまたはデータフレームに含まれる情報に基づいて得ることができる。
【００５７】
＜可変共通鍵の生成の一例＞
次に、図１１および図１２を参照して、可変共通鍵を生成する一例について説明する。鍵生成部２４は、ローカル送信元アドレスＬＳ、ローカル宛先アドレスＬＤおよび正規化時間を使用して、可変共通鍵を生成する。
【００５８】
可変共通鍵の生成方法は、暗号化を行う対象となる全データのｂｙｔｅ数が可変共通鍵のｂｙｔｅ数と同じか否かで異なる。図１１は、暗号化を行う対象となる全データのｂｙｔｅ数が可変共通鍵のｂｙｔｅ数と異なる場合を示しており、図１２は、同じ場合を示している。
【００５９】
図１１に示す一例では、ローカル送信元アドレスＬＳおよびローカル宛先アドレスＬＤが６４ｂｉｔ（＝８ｂｙｔｅ）で表現されているものとする（６４ｂｉｔアドレス）。一方、図１２に示す一例では、ローカル送信元アドレスＬＳおよびローカル宛先アドレスＬＤが１６ｂｉｔ（＝２ｂｙｔｅ）で表現されているものとする。
【００６０】
図１１を参照して、ローカル送信元アドレスＬＳおよびローカル宛先アドレスＬＤが６４ｂｉｔで表現されている場合における、可変共通鍵の生成方法について説明する。正規化部２３は、経過時間生成部２２が生成している経過時間を取得する。一例として、経過時間は４ｂｙｔｅで表現されるものとする。
【００６１】
正規化部２３は、取得した経過時間を正規化する。正規化部２３が正規化した時間を正規化時間とする。一例として、正規化時間も４ｂｙｔｅで表現されるものとする。鍵生成部２４は、フレーム受信部２が受信したフレームのＭＡＣヘッダに含まれるローカル送信元アドレスＬＳとローカル宛先アドレスＬＤとを取得する。
【００６２】
鍵生成部２４は、ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤとを連結させる。連結されたデータは、１６ｂｙｔｅ（＝８ｂｙｔｅ＋８ｂｙｔｅ）の情報量になる。ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤとを連結したデータに正規化時間（＝４ｂｙｔｅ）を加えると、全体で合計２０ｂｙｔｅになる。
【００６３】
可変共通鍵は１６ｂｙｔｅであるため、暗号化する対象のデータも１６ｂｙｔｅであることが好ましい。そこで、鍵生成部２４は、ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤとを連結したデータの上位４ｂｙｔｅの情報と正規化時間の４ｂｙｔｅの情報との排他的論理和の演算を行う。
【００６４】
これにより、暗号化の対象となるデータは１６ｂｙｔｅとなる。この１６ｂｙｔｅのデータには正規化時間が含まれている。鍵生成部２４は、固定共通鍵記憶部２１から固定共通鍵を取得し、排他的論理和の演算を行った結果の値に対して、固定共通鍵で暗号化を行う。これにより、可変共通鍵が生成される。
【００６５】
可変共通鍵は、鍵の値が変化する共通鍵である。鍵生成部２４は、可変共通鍵を生成するときに、正規化時間を使用する。正規化時間は、経過時間を正規化した時間である。経過時間は、タイマ１０がカウントする値に基づいて、時間が経過するごとに変化する。正規化時間は、経過時間に応じて変化する。
【００６６】
鍵生成部２４は、経過時間に応じて変化する正規化時間を使用して可変共通鍵を生成しているため、可変共通鍵の値は時間の経過に応じて変化する。従って、可変共通鍵を用いて、フレームの所定領域を高い秘匿性で暗号化することができる。
【００６７】
また、鍵生成部２４は、ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤとを連結したデータの上位４ｂｙｔｅの情報と正規化時間の４ｂｙｔｅの情報との排他的論理和の演算を行っている。これにより、可変共通鍵の秘匿性をさらに向上させることができる。
【００６８】
実施形態では、鍵生成部２４は、ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤと正規化時間とを使用し、固定共通鍵で暗号化を行い、可変共通鍵を生成している。鍵生成部２４は、可変共通鍵を生成することができれば、固定共通鍵を使用しなくてもよい。
【００６９】
ただし、固定共通鍵を使用して可変共通鍵を生成することで、セキュリティの高い可変共通鍵を生成することができる。従って、鍵生成部２４は、固定共通鍵を用いて、可変共通鍵を生成することが好ましい。
【００７０】
また、鍵生成部２４は、ローカル送信元アドレスＬＳとローカル宛先アドレスＬＤと正規化時間とを用いて暗号化を行って可変共通鍵を生成しているが、可変共通鍵の生成は、この例に限定されない。
【００７１】
次に、図１２を参照して、フレームに含まれるローカル送信元アドレスＬＳおよびローカル宛先アドレスＬＤが１６ｂｉｔの場合について説明する。アドレスを１６ｂｉｔで表現する場合、異なるノード装置１に同じアドレスが付与される可能性がある。
【００７２】
そこで、図１２に示すように、鍵生成部２４は、６４ｂｉｔアドレスを使用する。この６４ｂｉｔアドレスは、ローカル送信元アドレスＬＳまたはローカル宛先アドレスＬＤの何れかのアドレスを６４ｂｉｔで表現した情報である。
【００７３】
ローカル送信元アドレスＬＳの経過時間を用いて可変共通鍵を生成する場合（鍵種別がＬＳの場合）には、ローカル送信元アドレスＬＳの６４ｂｉｔアドレスが使用される。ローカル宛先アドレスＬＤの経過時間を用いて可変共通鍵を生成する場合（鍵種別がＬＤの場合）には、ローカル宛先アドレスＬＤの６４ｂｉｔアドレスが使用される。
【００７４】
鍵生成部２４は、図１２に示すように、２ｂｙｔｅのローカル送信元アドレスＬＳと２ｂｙｔｅのローカル宛先アドレスＬＤと６４ｂｉｔアドレス（８ｂｙｔｅ）とを連結する。連結したデータは可変共通鍵と同じ１６ｂｙｔｅとなる。
【００７５】
従って、上述した排他的論理和は必須ではない。ただし、秘匿性をより向上させるために、連結したデータの上位４ｂｙｔｅの情報と正規化時間の４ｂｙｔｅの情報との排他的論理和の演算を行ってもよい。また、連結したデータは可変共通鍵と同じｂｙｔｅ数でなくてもよい。
【００７６】
＜ノード装置の処理の一例＞
次に、図１３を参照して、ノード装置１の処理の一例について説明する。図１３では、データフレームの送信側のノード装置と受信側のノード装置との処理を分けて説明する。経過時間生成部２２は、タイマ１０が計測している時間に基づいて、ノード装置１が起動してから経過した時間（経過時間）を生成する（ステップＳ１）。
【００７７】
署名部２６は、署名を計算して、データフレームに署名を付与する（ステップＳ２）。上述したように、データフレームのペイロードと署名とパディングとの合計のｂｉｔ数は、可変共通鍵のｂｉｔ数と等しくする場合には、パディングのｂｉｔ数が計算される。計算されたｂｉｔ数のパディングはデータフレームに付与される（ステップＳ３）。
【００７８】
なお、暗号化の方式によっては、データフレームのペイロードと署名とパディングとの合計のｂｉｔ数は可変共通鍵のｂｉｔ数で割り切れる値としてもよい。また、暗号化方式によっては、データフレームのペイロードと署名とパディングとの合計のｂｉｔ数は任意に設定してもよい。
【００７９】
暗号化部２５は、データフレームのうち、ペイロードと署名とパディングとの領域を暗号化する（ステップＳ４）。また、フレーム送信情報生成部５は、フレームの鍵種別を指定する。暗号化する部分は、ペイロードと署名とパディングとには限定されない。
【００８０】
暗号化部２５が、ローカル宛先アドレスＬＤの経過時間を使用して暗号化を行った場合には、鍵種別はＬＤとなる。暗号化部２５が、自身のノード装置１の経過時間で暗号化を行った場合には、鍵種別はＬＳとなる。つまり、ローカル宛先アドレスＬＤの経過時間を使用しないで暗号化を行った場合に、鍵種別はＬＳとなる。
【００８１】
フレーム送信部６は、暗号化されたペイロードを含み、鍵種別が指定されたデータフレームを受信側ノード装置に送信する（ステップＳ５）。受信側ノード装置は、鍵種別を含むデータフレームを受信する（ステップＳ６）。
【００８２】
受信側ノード装置の復号化部２７は、受信したフレームの復号化を行う（ステップＳ７）。復号化部２７は、フレームに含まれる鍵種別によって、異なる方法で復号化を行う。そして、復号化されたフレームのパディングがチェックされる（ステップＳ８）。
【００８３】
署名部２６は、受信したフレームの署名を計算して、チェックを行う（ステップＳ９）。そして、検知部２９は、なりすまし検知を行う（ステップＳ１０）。なりすましは、フレームに含まれる経過時間の情報に基づいて検知することができる。
【００８４】
次に、図１４（Ａ）を用いて、フレームを送信するときの暗号化の一例について説明する。鍵生成部２４は、ローカル宛先アドレスＬＤが保守端末であるか否かを判定する（ステップＳ２０）。送信先が保守端末である場合（ステップＳ２０でＹＥＳ）、保守端末の経過時間を使用して暗号化を行う（ステップＳ２１）。保守端末についての詳細は後述する。
【００８５】
送信先が保守端末でない場合（ステップＳ２０でＮＯ）、鍵生成部２４はリンクテーブルに送信先のノード装置１の経過時間の情報があるか否かを判定する（ステップＳ２２）。ここで、リンクテーブル８には、ローカル送信元アドレスＬＳの項目がある。この項目は、ＨＥＬＬＯフレームの場合には、ローカル送信元アドレスＬＳを示すが、データフレームの場合には、ローカル宛先アドレスＬＤを示す。
【００８６】
ノード装置１が送信先のノード装置１から、経過時間が含まれているＨＥＬＬＯフレームまたはデータフレームを受信した場合、ＨＥＬＬＯフレームまたはデータフレームを受信したノード装置１は、リンクテーブル８に送信先のノード装置１の経過時間を記憶する。
【００８７】
従って、自身のノード装置１のリンクテーブル８に送信先のノード装置１の経過時間が記憶されている場合（ステップＳ２２でＹＥＳ）、鍵生成部２４は、記憶されている経過時間を使用して、可変共通鍵の生成を行う（ステップＳ２３）。この可変共通鍵の鍵種別はＬＤになる。
【００８８】
つまり、鍵生成部２４は、フレームの送信先のノード装置（ローカル宛先アドレスＬＤ）１の経過時間を使用して暗号化を行い、可変共通鍵を生成する。ただし、鍵生成部２４が暗号化を行うときには、ローカル宛先アドレスＬＤの経過時間だけを暗号化の対象にしない。鍵生成部２４は、ローカル宛先アドレスＬＤの経過時間が通知された時点から経過した時間をローカル宛先アドレスＬＤの経過時間に加算した時間を暗号化する。
【００８９】
ノード装置１が、送信先のノード装置１の経過時間が含まれているＨＥＬＬＯフレームおよびデータフレームを受信したことがない場合、リンクテーブル８は送信先のノード装置の経過時間を記憶していない（ステップＳ２２でＮＯ）。よって、この場合、ノード装置１の鍵生成部２４は、自身の経過時間で暗号化を行い、可変共通鍵を生成する（ステップＳ２４）。この可変共通鍵は鍵種別がＬＳになる。
【００９０】
次に、図１４（Ｂ）を用いて、フレームを受信したときの復号化の一例について説明する。復号化部２７は、自身のノード装置１が保守端末であるか否かを判定する（ステップＳ３０）。
【００９１】
自身のノード装置１が保守端末である場合（ステップＳ３０でＹＥＳ）には、鍵生成部２４は、自身のノード装置１の経過時間を使用して、可変共通鍵を生成する。そして、復号化部２７は、鍵生成部２４が生成した可変共通鍵を用いて、受信したフレームの暗号化された部分を復号化する（ステップＳ３１）。
【００９２】
自身のノード装置１が保守端末でない場合（ステップＳ３０でＮＯ）には、復号化部２７は、受信したデータフレームの鍵種別がＬＤであるか否かを判定する（ステップＳ３２）。受信したデータフレームの鍵種別がＬＤである場合（ステップＳ３２でＹＥＳ）には、鍵生成部２４は、自身のノード装置１の経過時間を使用して、可変共通鍵を生成する。復号化部２７は、鍵生成部２４が生成した可変共通鍵を用いて、受信したフレームの暗号化された部分を復号化する（ステップＳ３３）。
【００９３】
一方、受信したデータフレームの鍵種別がＬＤでない場合（ステップＳ３２でＮＯ）、データフレームの鍵種別はＬＳとなる。この場合、鍵生成部２４は、自身のノード装置１のリンクテーブル８に記憶されているローカル送信元アドレスＬＳのノード装置１の経過時間を使用して、可変共通鍵を生成する。
【００９４】
よって、鍵生成部２４は、リンクテーブル８に記憶されている経過時間に、ローカル送信元アドレスＬＳのノード装置１の経過時間が通知されてから経過した時間を加算する。加算された経過時間を、正規化時間を使用して暗号化した鍵が可変共通鍵になる。復号化部２７は、この可変共通鍵を使用して、受信したフレームの暗号化された部分を復号化する（ステップＳ３４）。
【００９５】
従って、鍵種別によって、ノード装置１が受信したデータフレームの復号化の方法が異なる。鍵種別がＬＤの場合には、自身のノード装置１の経過時間で可変共通鍵を生成し、鍵種別がＬＳの場合には、ローカル送信元アドレスＬＳの経過時間を使用して可変共通鍵を生成する。
【００９６】
＜ノード間シーケンスの一例＞
次に、図１５を参照して、ノード間シーケンスの一例を説明する。図１５に示すノード装置Ａとノード装置Ｂとは隣接している。一例として、ノード装置Ｂは、起動してからの時間が１０秒であるとする。また、最初の１０秒が経過するまでは、ノード装置Ａとノード装置Ｂとの間でＨＥＬＬＯフレームの通信は行われていないものとする。ノード装置Ａは第１のノード装置の一例である。ノード装置Ｂは第２のノード装置の一例である。
【００９７】
ノード装置Ｂは、ノード装置ＡにＨＥＬＬＯフレームを送信する。ノード装置Ｂは、ＨＥＬＬＯフレームに、ノード装置Ｂが起動してから経過した時間（経過時間）が１０秒であるという情報を含める。これにより、ノード装置Ｂの経過時間がノード装置Ａに通知される。
【００９８】
ノード装置Ａのフレーム受信部２は、ＨＥＬＬＯフレームを受信する。フレーム受信情報解析部３は、ＨＥＬＬＯフレームから、ノード装置Ｂの起動時間が１０秒であることを認識する。この１０秒という時間は、ノード装置Ｂがノード装置Ａに通知したときの経過時間である。
【００９９】
リンクテーブル（図８では「ＬＴ」として示している）８のローカル送信元アドレスＬＳの項目にはノード装置Ｂのアドレスが記憶されると共に、ローカル送信元アドレスＬＳの経過時間が１０秒という情報が記憶される。
【０１００】
図１５に示した一例では、ノード装置Ａはノード装置Ｂにデータフレーム（第１データフレーム）を送信する。ノード装置ＡがＨＥＬＬＯフレームを受信してから、ノード装置Ａが第１データフレームを送信するまでの時間を１０秒とする。この時間は、タイマ１０から得ることができる。
【０１０１】
従って、ノード装置Ａが第１データフレームを送信するときの経過時間は２０秒（＝１０秒＋１０秒）となる。鍵生成部２４は、経過時間２０秒に基づいて暗号化を行い、可変共通鍵を生成する。この可変共通鍵は、リンクテーブル８の経過時間を使用して暗号化を行った鍵である。つまり、この可変共通鍵は、通信を行う相手方のノード装置Ｂの経過時間を使用して、暗号化した鍵であるため、鍵種別はＬＤとなる。
【０１０２】
ノード装置Ａの暗号化部２５は、経過時間２０秒に基づいた可変共通鍵を用いて、第１データフレームのペイロードを含む所定部分を暗号化する。暗号化が行われた第１データフレームには鍵種別ＬＤが設定される。
【０１０３】
ノード装置Ａのフレーム送信部６は、鍵種別がＬＤの第１データフレームをノード装置Ｂに送信する。ノード装置Ｂのフレーム受信部２は第１データフレームを受信する。ノード装置Ｂの鍵生成部２４は、第１データフレームの鍵種別がＬＤになっているため、ノード装置Ｂの経過時間を使用して、可変共通鍵を生成する。
【０１０４】
ノード装置Ｂは、起動してからの経過時間が２０秒になっている。従って、鍵生成部２４は、経過時間が２０秒の可変共通鍵を生成する。そして、復号化部２７は、生成した可変共通鍵で第１データフレームの暗号化された部分を復号化する。
【０１０５】
このとき、第１データフレームのペイロードを含む所定部分は、経過時間が２０秒の可変共通鍵を用いて暗号化がされている。そして、ノード装置Ｂの鍵生成部２４も経過時間が２０秒で可変共通鍵を生成し、復号化部２７はこの可変共通鍵を用いて復号化を行っている。よって、暗号化を行った可変共通鍵と復号化を行う可変共通鍵とは２０秒という共通の値で生成される。従って、復号化部２７は、第１データフレームを復号化することができる。
【０１０６】
図１５に示す一例では、復号化部２７が第１データフレームを復号化してから、１０秒後に、ノード装置Ｂはノード装置Ａに第２データフレームを送信する。ノード装置Ｂは、ノード装置ＡからＨＥＬＬＯフレームを受信していない。このため、ノード装置Ｂは、ノード装置Ａから起動してからの経過時間の通知を受けていない。
【０１０７】
従って、鍵生成部２４は、自身のノード装置Ｂの経過時間を使用して、可変共通鍵を生成する。ノード装置Ｂの経過時間は、３０秒（＝１０秒＋１０秒＋１０秒）である。よって、鍵生成部２４は、ノード装置Ｂの経過時間３０秒で可変共通鍵を生成する。そして、暗号化部２５は、この可変共通鍵を用いて、第２データフレームのペイロードを含む所定部分を暗号化する。
【０１０８】
暗号化が行われた第２データフレームには鍵種別が設定される。鍵種別はＬＳとなる。鍵種別がＬＳとなるのは、送信先のノード装置Ａの経過時間を使用せず、自身のノード装置Ｂの経過時間で暗号化を行っているためである。
【０１０９】
ノード装置Ｂのフレーム送信部６は、第２データフレームをノード装置Ａに送信する。ノード装置Ａのフレーム受信部２は、第２データフレームを受信する。ノード装置Ａの鍵生成部２４は、鍵種別がＬＳになっているため、リンクテーブル８に記憶されている１０秒という時間を使用する。
【０１１０】
ノード装置Ａのリンクテーブル８には、ノード装置Ｂの経過時間１０秒が記憶されている。従って、ノード装置Ａは、通信の相手方の経過時間を認識していることになる。そして、ノード装置ＡがＨＥＬＬＯフレームを受信してから、２０秒（＝１０秒＋１０秒）の時間が経過している。
【０１１１】
この２０秒という時間は、タイマ１０から得ることができる。従って、鍵生成部２４は、リンクテーブル８に記憶されている１０秒という時間に、ＨＥＬＬＯフレームを受信してから経過した２０秒という時間を加算する。よって、可変共通鍵を生成するための経過時間は３０秒（＝１０秒＋２０秒）となる。
【０１１２】
鍵生成部２４は、３０秒という時間を使用して、可変共通鍵を生成する。復号化部２７は、生成された可変共通鍵を用いて、第２データフレームの暗号化された部分を復号化する。
【０１１３】
第２データフレームのペイロードを含む所定部分は、３０秒という経過時間を使用して生成された可変共通鍵で暗号化されている。また、ノード装置Ａの鍵生成部２４は３０秒という経過時間を使用して可変共通鍵を生成し、復号化部２７はこの可変共通鍵で第２データフレームの暗号化された部分を復号化している。
【０１１４】
よって、暗号化を行う可変共通鍵を生成するときに使用される経過時間（３０秒）と復号化を行う可変共通鍵を生成するときに使用される経過時間（３０秒）とは、同じ時間となっている。このため、復号化部２７は、第２データフレームの暗号化された部分を復号化することができる。
【０１１５】
従って、ノード装置Ａとノード装置Ｂとの間で秘匿性の高いフレームの通信を行うことができる。実施形態では、隣接しているノード装置間で、相手方のノード装置が起動してからの経過時間を使用して可変共通鍵を生成してデータフレームを暗号化している。ノード装置Ａおよびノード装置Ｂとは全く異なるノード装置の間では、異なる経過時間を使用した可変共通鍵を使用する。
【０１１６】
アドホックネットワークは複数のノード装置で構成されており、ノード装置Ａおよびノード装置Ｂとは異なるノード装置間では、ノード装置Ａおよびノード装置Ｂとは異なる可変共通鍵でデータフレームが暗号化される。アドホックネットワークの２つのノード装置間は、それぞれ独自の可変共通鍵でデータフレームの所定部分を暗号化する。
【０１１７】
アドホックネットワークを構成する全てのノード装置が、一律な可変共通鍵で暗号化することも考えられるが、通信を行う２つのノード装置が独自の可変共通鍵を用いてデータフレームを、通信の秘匿性を向上させることができる。
【０１１８】
また、データフレームの暗号化および復号化を行うときに、相手方のノード装置１の経過時間を利用しているため、２つのノード装置１の間で可変共通鍵を共有する特別なハードウェアを設ける必要がない。従って、ハードウェア資源は増大することがない。
【０１１９】
＜経過時間の正規化の一例＞
次に、図１６を参照して、経過時間の正規化の一例について説明する。上述したように、隣接するノード装置間でフレームの通信を行うときに、相手方の経過時間を使用して、暗号化を行う。
【０１２０】
図１５の一例では、ＨＥＬＬＯフレームに送信先のノード装置Ｂの経過時間が含まれている。ノード装置Ａは、ＨＥＬＬＯフレームを受信することにより、ノード装置Ｂの経過時間を認識できる。そして、ノード装置Ａは、ノード装置Ｂの経過時間を使用して、暗号化および復号化を行う。
【０１２１】
ノード装置ＢがＨＥＬＬＯフレームを送信したときに、ＨＥＬＬＯフレームがノード装置Ａに到達するまでに所定時間を生じる。この時間は、遅延時間となる。可変共通鍵を生成時に使用される経過時間は、遅延時間が考慮されていない。従って、ノード装置Ａの経過時間とノード装置Ｂの経過時間との間にずれを生じる。
【０１２２】
そこで、実施形態では、正規化部２３は、荒い粒度で経過時間を正規化する。図１６（Ａ）に経過時間の正規化の一例を示す。図１６（Ａ）に示す一例では、経過時間を１０秒（ｓｅｃ）の単位で正規化している。一例として、可変共通鍵の更新間隔の単位で正規化してもよい。
【０１２３】
上述したように、ＨＥＬＬＯフレームは、経過時間と識別番号とを有している。識別番号は、正規化時間に対応して生成される。図１６（Ａ）に示す一例では、識別番号（Ｋｅｙ−ＩＤ）は、正規化時間と共にインクリメントされる。ただし、識別番号は、１６の倍数になった時点でゼロになる。図１６（Ａ）の例では、識別番号がゼロになるのは、１６の倍数に限定されない。
【０１２４】
ＨＥＬＬＯフレームは、経過時間生成部２２が生成する経過時間と正規化部２３が生成する識別番号とを有する。このＨＥＬＬＯフレームが、ローカル送信元アドレスＬＳのノード装置１からローカル宛先アドレスＬＤのノード装置１に送信される。
【０１２５】
許容範囲について説明する。許容範囲は、ローカル送信元アドレスＬＳのノード装置１が送信したデータフレームをローカル宛先アドレスＬＤのノード装置１が受信することを許容するか否かを示す基準となる。
【０１２６】
上述したように、ローカル送信元アドレスＬＳのノード装置１の経過時間とローカル宛先アドレスＬＤのノード装置１の経過時間との間にずれを生じることがある。一例として、ローカル送信元アドレスＬＳのノード装置１の経過時間を１９とすると、正規化時間は１となる。
【０１２７】
一方、ローカル宛先アドレスＬＤのノード装置１の経過時間を２０とすると、正規化時間は２となる。よって、ローカル送信元アドレスＬＳのノード装置１の正規化時間とローカル宛先アドレスＬＤのノード装置１の正規化時間とは一致しない。
【０１２８】
従って、正規化時間を正規化した正規化時間が切り替わるタイミングを考慮して、前後の正規化時間および識別番号を許容する。一例として、正規化時間が２であるときには、正規化時間が２だけでなく、正規化時間１および３も許容する。つまり、正規化時間のプラスマイナス１の正規化時間を許容する。
【０１２９】
図１６（Ｂ）は、ローカル送信元アドレスＬＳのノード装置１が送信したデータフレームをローカル宛先アドレスＬＤのノード装置１が受信することが許可される一例を示している。図１６（Ｂ）において、「Ｓｒｃ」と示しているのは、ローカル送信元アドレスＬＳのノード装置１であり、「Ｄｓｔ」と示しているのは、ローカル宛先アドレスＬＤのノード装置１である。
【０１３０】
図１６（Ｂ）の１番目は、Ｄｓｔのノード装置１がデータフレームを正常に受信する一例を示している。Ｓｒｃのノード装置１は、Ｄｓｔのノード装置１の経過時間が１４秒であると認識している。従って、Ｓｒｃのノード装置１の正規化部２３が正規化した正規化時間は１となる。
【０１３１】
従って、Ｓｒｃのノード装置１の鍵生成部２４は、正規化時間の１を用いて可変共通鍵を生成する。暗号化部２５は、可変共通鍵を用いてデータフレームのペイロードを含む部分を暗号化する。フレーム送信部６は、識別番号の１を含むデータフレームをＤｓｔのノード装置１に送信する。
【０１３２】
一方、Ｄｓｔのノード装置１の経過時間は１５秒である。Ｓｒｃのノード装置１が認識している経過時間とは１秒ずれているが、正規化時間は１となる。Ｄｓｔのノード装置１のフレーム受信部２は、Ｓｒｃのノード装置１からデータフレームを受信する。受信したデータフレームには識別番号の１が含まれている。
【０１３３】
受信したデータフレームの識別番号とＤｓｔのノード装置１が正規化した正規化時間とは一致している。よって、Ｄｓｔのノード装置１は、データフレームを許可する。そして、Ｄｓｔのノード装置１は、正規化時間の１を用いて生成した可変共通鍵を用いて、受信したデータフレームの暗号化された部分を復号化する。
【０１３４】
図１６（Ｂ）の２番目も、Ｄｓｔのノード装置１がデータフレームの受信することが許可される一例を示している。Ｓｒｃのノード装置１は、Ｄｓｔのノード装置１の経過時間が１９秒であると認識している。従って、Ｓｒｃのノード装置１の正規化部２３が正規化した正規化時間は２となる。
【０１３５】
従って、Ｓｒｃのノード装置１の鍵生成部２４は、正規化時間の２を用いて可変共通鍵を生成する。暗号化部２５は、可変共通鍵を用いてデータフレームのペイロードを含む部分を暗号化する。フレーム送信部６は、識別番号の２を含むデータフレームをＤｓｔのノード装置１に送信する。
【０１３６】
一方、Ｄｓｔのノード装置１の経過時間は２０秒である。上述した１番目の例と同様に、Ｓｒｃのノード装置１が認識している経過時間とは１秒ずれている。しかし、経過時間２０秒を正規化すると、正規化時間は２となる。Ｄｓｔのノード装置１のフレーム受信部２は、Ｓｒｃのノード装置１からデータフレームを受信する。受信したデータフレームには識別番号の１が含まれている。
【０１３７】
受信したデータフレームの識別番号は１であり、Ｄｓｔのノード装置１が正規化した正規化時間は２であるため、Ｓｒｃの正規化時間より値が１つ大きい。しかし、上述したように、前後１つのずれは許容される。従って、Ｄｓｔのノード装置１は、データフレームを許可する。
【０１３８】
このとき、Ｄｓｔのノード装置１は、自身が認識している正規化時間である２ではなく、受信したデータフレームの識別番号である１を用いて可変共通鍵を生成する。復号化部２７は、生成された可変共通鍵を用いて、受信したデータフレームの暗号化された部分を復号化する。
【０１３９】
図１６（Ｂ）の３番目は、Ｄｓｔのノード装置１がデータフレームの受信を許可しない一例を示している。Ｓｒｃのノード装置１は、Ｄｓｔのノード装置１の経過時間が１５５秒であると認識している。Ｓｒｃのノード装置１の正規化部２３が正規化した正規化時間は１５となる。
【０１４０】
従って、Ｓｒｃのノード装置１の鍵生成部２４は、正規化時間の１５を用いて可変共通鍵を生成する。暗号化部２５は、可変共通鍵を用いてデータフレームのペイロードを含む部分を暗号化する。フレーム送信部６は、識別番号の１５を含むデータフレームをＤｓｔのノード装置１に送信する。
【０１４１】
一方、Ｄｓｔのノード装置１の経過時間は１７５秒であるため、経過時間１７５秒を正規化すると、正規化時間は１７となる。Ｄｓｔのノード装置１のフレーム受信部２は、Ｓｒｃのノード装置１からデータフレームを受信する。受信したデータフレームには識別番号の１５が含まれている。
【０１４２】
受信したデータフレームの識別番号は１５であり、Ｄｓｔのノード装置１が正規化した正規化時間は１７である。従って、Ｄｓｔのノード装置１が正規化した正規化時間は、受信したデータフレームの識別番号は１５よりも値が２つ大きい。よって、Ｄｓｔのノード装置１は、Ｓｒｃのノード装置１が送信したデータフレームを許可しない。この場合、Ｓｒｃのノード装置１が送信したデータフレームは破棄される。
【０１４３】
図１６（Ｂ）の４番目も、Ｄｓｔのノード装置１がデータフレームの受信を許可しない一例を示している。Ｓｒｃのノード装置１は、Ｄｓｔのノード装置１の経過時間が１５秒であると認識している。従って、Ｓｒｃのノード装置１の正規化部２３が正規化した正規化時間は１となる。
【０１４４】
従って、Ｓｒｃのノード装置１の鍵生成部２４は、正規化時間の１５を用いて可変共通鍵を生成する。暗号化部２５は、可変共通鍵を用いてデータフレームのペイロードを含む部分を暗号化する。フレーム送信部６は、識別番号の１を含むデータフレームをＤｓｔのノード装置１に送信する。
【０１４５】
一方、Ｄｓｔのノード装置１の経過時間は１７５秒であるため、経過時間１７５秒を正規化すると、正規化時間は１７となる。受信したデータフレームの識別番号は１であり、Ｄｓｔのノード装置１が正規化した正規化時間は１７である。図１６（Ａ）に示すように、正規化時間の１７に対応する識別番号は１である。よって、正規化時間と識別番号との対応関係は正常である。
【０１４６】
Ｄｓｔのノード装置１は、Ｓｒｃのノード装置１が送信したデータフレームの暗号化された部分を復号化する。このとき、Ｄｓｔのノード装置１は、正規化時間である１７で生成した可変共通鍵を用いて、受信したデータフレームの暗号化された部分を復号化する。
【０１４７】
しかしながら、Ｓｒｃのノード装置１は、正規化時間が１の可変共通鍵で暗号化を行っている。よって、Ｄｓｔのノード装置１が受信したデータフレームは正常に復号されない。このため、Ｄｓｔのノード装置１は、受信したデータフレームを許容しない。よって、データフレームは破棄される。
【０１４８】
＜第１の応用例＞
次に、図１７を参照して、第１の応用例について説明する。図１７に一例として示すクライアントノード（図１７ではクライアントと示している）およびホストノード（図１７ではホストと示している）は、ノード装置１の構成を有しているものとする。第１の応用例は、クライアントモードとも称され、クライアントノードとホストノードとの間で行われる通信形態を示している。
【０１４９】
クライアントノードは、常時において、スリープ状態となっている。よって、クライアントノードは、隣接するノード装置と通信を行わない。従って、スリープ状態となっているクライアントノードは、ホストノードと通信を行わない。
【０１５０】
クライアントノードは、スリープ状態から起動状態（ＷａｋｅＵｐ状態）に変化した後に、隣接するノード装置１からＨＥＬＬＯフレームを受信する。ＨＥＬＬＯフレームは、ホストノードの経過時間を含んでいるため、クライアントノードは、最初の受信したＨＥＬＬＯフレームに含まれるホストノードの経過時間をリンクテーブル８に記憶する。
【０１５１】
図１７の「１．ホスト要求／データ取得要求」に示されるように、クライアントノードの鍵生成部２４は、ホストノードの経過時間を使用して、鍵種別がＬＤの可変共通鍵を生成する。クライアントノードは、送信するデータフレームの暗号化する部分に自身の経過時間を含める。一例として、自身の経過時間はデータフレームのペイロードに含まれてもよい。
【０１５２】
クライアントノードの暗号化部２５は、データフレームのペイロードを含む部分を暗号化する。従って、クライアントノードの経過時間も可変共通鍵で暗号化される。クライアントノードのフレーム送信部６は、暗号化したデータフレームをホストノードに送信する。
【０１５３】
ホストノードは、クライアントノードにＨＥＬＬＯフレームを送信してからの経過時間をタイマ１０で計測している。ホストノードの鍵生成部２４は、経過時間を用いて可変共通鍵を生成する。ホストノードの復号化部２７は、クライアントノードが送信したフレームの復号化を行う。これにより、ホストノードは、クライアントノードの経過時間を認識することができる。
【０１５４】
次に、図１７の「２．ホスト応答／データ取得応答」に示されるように、ホストノードは、鍵種別がＬＤの可変共通鍵を生成する。ホストノードは、送信するデータフレームの暗号化する部分に自身の経過時間を含める。一例として、自身の経過時間はデータフレームのペイロードに含まれてもよい、
ホストノードの暗号化部２５は、データフレームのペイロードを含む部分を暗号化する。従って、ホストノードの経過時間も可変共通鍵で暗号化される。ホストノードのフレーム送信部６は、暗号化したデータフレームをホストノードに送信する。
【０１５５】
クライアントノードは、ホストノードにデータフレームを送信してからの経過時間をタイマ１０で計測している。クライアントノードの鍵生成部２４は、経過時間を用いて可変共通鍵を生成する。クライアントノードの復号化部２７は、ホストノードが送信したフレームの復号化を行う。これにより、クライアントノードは、ホストノードの経過時間を認識することができる。
【０１５６】
以降のクライアントノードとホストノードとの通信は、図１７の「３．以降の送受信」で示されるように、データフレームの送信時には、相手方のノード装置１から取得した経過時間を使用した可変共通鍵で暗号化を行う。このときに、データフレームの暗号化される部分に自身の経過時間を含める。これにより、クライアントノードおよびホストノードは、相手方のノード装置１の経過時間を使用して、暗号化を行うことができる。
【０１５７】
クライアントノードおよびホストノードが復号化を行うときには、自身のノード装置１の経過時間を使用して可変共通鍵を生成する。そして、クライアントノードおよびホストノードは、生成した可変共通鍵を用いて、受信したデータフレームを復号化する。
【０１５８】
従って、クライアントノードおよびホストノードは、自身の経過時間を暗号化したデータフレームを送信するため、ＨＥＬＬＯフレームではなく、データフレームに基づいて、経過時間を用いた可変共通鍵を生成することができる。
【０１５９】
特に、クライアントノードは、使用電力削減のため、一定時間通信が行われていない場合には、スリープ状態となる。スリープ状態の場合には、クライアントノードはＨＥＬＬＯフレームを受信することができない。このような場合に、データフレームに経過時間を含めることで、高い秘匿性のデータフレームの通信が可能になる。また、使用電力削減の効果を得ることができる。
【０１６０】
＜第２の応用例＞
次に、図１８および図１９を参照して、第２の応用例について説明する。第２の応用例は、ＧＤ検索と称される例である。ＧＤ検索は、ゲートウェイ装置（図１８および図１９では、ＧＷと示している）が、１つの特定のノード装置１にフレームを送信する場合に用いられる。送信されるフレームは、ＵＣ(Uni Cast)データとも称される。
【０１６１】
ゲートウェイ装置は、自身のルーティングテーブルにフレーム（ＵＣデータ）を送信する送信先のノード装置１（以下、特定ノード装置と称する）のアドレスがルーティングテーブルに記憶されていない場合、ＧＤ検索が実行される。
【０１６２】
ＧＤ検索を行うとき、ゲートウェイ装置は、自身に隣接するノード装置１のルーティングテーブル９に特定ノード装置のアドレスが記憶されているか否かを問い合わせる。そして、ルーティングテーブルに特定ノード装置のアドレスを記憶しているノード装置１があれば、このノード装置１を経由して、フレームが送信される。このノード装置１を、応答ノードとする。
【０１６３】
図１８および図１９を用いて、ＧＤ検索について説明する。ＧＤ検索は、ＧＤ検索要求とＧＤ検索応答とを含む。ＧＤ検索要求は、ゲートウェイ装置が隣接するノード装置１に対して、特定ノード装置のアドレスが記憶されているか否かを問い合わせる。
【０１６４】
図１８の「１．ＧＤ検索要求」に示すように、ＧＤ検索要求を行う場合、ゲートウェイ装置は、ＧＤ検索要求を固定共通鍵で暗号化する。ＧＤ検索要求は、可変共通鍵で暗号化してもよい。
【０１６５】
応答ノードは、ＧＤ検索要求のフレームを復号化する。ＧＤ検索要求のフレームは、固定共通鍵で暗号化されているため、応答ノードは、ＧＤ検索要求のフレームを復号化することができる。
【０１６６】
次に、ＧＤ検索応答について説明する。図１８のＡ−２は、固定共通鍵で暗号化した場合のＧＤ検索応答を示している。応答ノードは、ゲートウェイ装置からのＧＤ検索要求に対して、自身が特定ノード装置のアドレスを記憶していることを応答する。応答ノードは、この応答（ＧＤ経路あり）を固定共通鍵で暗号化したフレームをゲートウェイ装置に送信する。
【０１６７】
ゲートウェイ装置は、固定共通鍵を復号化することで、応答ノードをフレームの送信先として確定する。つまり、ゲートウェイ装置は、応答ノード経由で、特定ノード装置にデータフレームを送信する。
【０１６８】
図１８のＡ−３は、以降の送受信例を示している。ゲートウェイ装置と応答ノードとの間で送受信されるデータフレームは、高い秘匿性が要求される。従って、データフレームは可変共通鍵で暗号化される。
【０１６９】
ゲートウェイ装置は、リンクテーブル（図１８のＬＴ）に応答ノードの経過時間が記憶されていない場合、鍵種別がＬＤの可変共通鍵（図１８以降では、ＬＤ共通鍵と示すこともある）でフレームを暗号化することができない。従って、ゲートウェイ装置は、鍵種別がＬＳの可変共通鍵でフレームを暗号化する。
【０１７０】
ゲートウェイ装置は、暗号化したデータフレームを応答ノードに送信する。応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間を記憶していない。従って、鍵種別がＬＳの可変共通鍵で暗号化されたデータフレームを復号化することができない。
【０１７１】
一方、応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間が記憶されていない場合、鍵種別がＬＳの可変共通鍵でデータフレームを暗号化する。応答ノードは、暗号化されたデータフレームをゲートウェイ装置に送信する。
【０１７２】
ゲートウェイ装置は、リンクテーブルに応答ノードの経過時間が記憶されていない場合、鍵種別がＬＳの可変共通鍵で暗号化されたデータフレームを復号化することができない。従って、図１８のＡ−２およびＡ−３の場合には、ゲートウェイ装置と応答ノードとの間でデータフレームの送受信を行うことができない。
【０１７３】
次に、鍵種別がＬＤの可変共通鍵で暗号化した場合のＧＤ検索応答について説明する。図１８のＢ−２に示すように、応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間が記憶されている場合、記憶されている経過時間を使用して、可変共通鍵を生成する。そして、応答ノードは、可変共通鍵を用いて、フレームを暗号化し、暗号化したフレームをゲートウェイ装置に送信する。
【０１７４】
ゲートウェイ装置は、鍵種別がＬＤの可変共通鍵（図１８以降では、ＬＤ共通鍵と示すこともある）で暗号化されたフレームを受信しているため、フレームの復号化を行うことができる。これにより、フレームの送信先が応答ノードであることが確定する。
【０１７５】
図１８のＢ−３は、以降の送受信例を示している。ゲートウェイ装置が応答ノードにデータフレームを送信する場合について説明する。ゲートウェイ装置のリンクテーブルに応答ノードの経過時間がない場合は、鍵種別がＬＳの可変共通鍵でデータフレームを暗号化する。そして、ゲートウェイ装置は、データフレームを応答ノードに送信する。
【０１７６】
応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間を記憶している。よって、応答ノードは、鍵種別がＬＤの可変共通鍵を生成することができる。応答ノードは、受信したフレームを鍵種別がＬＤの可変共通鍵で復号化する。
【０１７７】
次に、応答ノードがゲートウェイ装置にデータフレームを送信する場合について説明する。応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間が記憶されている。よって、応答ノードは、鍵種別がＬＤの可変共通鍵でデータフレームを暗号化する。
【０１７８】
応答ノードは、鍵種別がＬＤの可変共通鍵を受信しているため、自身の応答ノードの経過時間を使用して可変共通鍵を生成する。そして、応答ノードは、自身の可変共通鍵を使用して、データフレームを復号化する。従って、ゲートウェイ装置と応答ノードとの間でデータフレームの送受信を高い秘匿性で行うことができる。
【０１７９】
次に、鍵種別がＬＳの可変共通鍵で暗号化した場合のＧＤ検索応答について説明する。図１９のＣ−２に示すように、応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間が記憶されていない場合、自身の経過時間を使用して、可変共通鍵を生成する。そして、応答ノードは、鍵種別がＬＳの可変共通鍵でデータフレームを暗号化して、暗号化したフレームをゲートウェイ装置に送信する。
【０１８０】
ゲートウェイ装置は、リンクテーブルに応答ノードの経過時間が記憶されている場合には、当該経過時間を使用して、鍵種別がＬＤの可変共通鍵を生成する。ゲートウェイ装置は、生成した可変共通鍵を使用して、受信したフレームを復号化する。これにより、ゲートウェイ装置が応答ノードにデータフレームを送信することが確定する。
【０１８１】
図１９のＣ−３は、以降の送受信例を示している。ゲートウェイ装置は、リンクテーブルに応答ノードの経過時間が記憶されているため、この経過時間を使用して、鍵種別がＬＤの可変共通鍵を生成する。ゲートウェイ装置は、生成した可変共通鍵でデータフレームを暗号化して、応答ノードにデータフレームを送信する。
【０１８２】
応答ノードは、鍵種別がＬＤの可変共通鍵で暗号化されたデータフレームを受信しているため、自身の経過時間を使用して生成した可変共通鍵で受信したデータフレームを復号化する。
【０１８３】
応答ノードがゲートウェイ装置にデータフレームを送信する場合について説明する。応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間を記憶していない。従って、自身の経過時間を使用した可変共通鍵でデータフレームを暗号化する。そして、応答ノードは、暗号化したデータフレームをゲートウェイ装置に送信する。
【０１８４】
ゲートウェイ装置は、リンクテーブルに応答ノードの経過時間を記憶している。従って、応答ノードは、リンクテーブルにある経過時間を使用して、鍵種別がＬＤの可変共通鍵を生成する。そして、ゲートウェイ装置は、生成した可変共通鍵でフレームを復号化する。従って、ゲートウェイ装置と応答ノードとの間でデータフレームの送受信を高い秘匿性で行うことができる。
【０１８５】
図１９のＤ−２は、鍵種別がＬＳの可変共通鍵を使用して暗号化を行い、ゲートウェイ装置が復号化できない場合のＧＤ検索応答の一例を示している。応答ノードは、リンクテーブル８にゲートウェイ装置の経過時間が記憶されていない場合には、自身の経過時間を使用して、鍵種別がＬＳの可変共通鍵を生成する。そして、応答ノードは、生成した可変共通鍵を用いて、検索応答のフレームを暗号化し、検索応答のフレームをゲートウェイ装置に送信する。
【０１８６】
ゲートウェイ装置は、リンクテーブルに応答ノードの経過時間が記憶されていない場合、受信したフレームの復号化を行うことができない。この場合、ゲートウェイ装置および応答ノードの両者に、相手方の経過時間が記憶されていないことになる。
【０１８７】
従って、応答ノードのルーティングテーブルに特定ノード装置の情報が記憶されているとしても、図１９のＤ−２の場合には、ゲートウェイ装置は応答ノードにデータフレームを送信しない。つまり、図１９のＤ−２における応答ノードは、データフレームの送信先としては選択されない。この場合は、別の応答ノードが検索されて、別の応答ノード経由で、ゲートウェイ装置は応答ノードにフレームを送信する。
【０１８８】
＜第３の応用例＞
次に、図２０を参照して、保守端末がノード装置と通信する一例について説明する。保守端末は、任意のノード装置に対する操作が可能な端末である。よって、保守端末が不正な攻撃を受けると、ネットワーク全体に攻撃が可能になる。このため、保守端末は、固定共通鍵を使用してデータフレームを送信しない。
【０１８９】
保守端末とノード装置１（以下、対象ノードとする）との間でデータフレームを送受信する一例について説明する。図２０の「１．保守端末認証要求」に示すように、保守端末は、自身の経過時間を含むフレームを固定共通鍵で暗号化し、暗号化したフレームを対象ノードに送信する。
【０１９０】
対象ノードは、固定共通鍵で暗号化されたフレームを復号化し、保守端末の経過時間を取得する。図２０の「２．保守端末認証応答」に示されるように、対象ノードは、鍵種別がＬＤの可変共通鍵で自身の経過時間を暗号化し、暗号化したフレームを保守端末に送信する。
【０１９１】
保守端末は、鍵種別がＬＤの可変共通鍵で暗号化されたフレームを受信しているため、受信したフレームを復号化できる。これにより、保守端末は、対象ノードの経過時間を取得することができる。
【０１９２】
図２０の「３．以降の送受信」に示されるように、保守端末および対象ノードがデータフレームの送信を行うときには、保守端末および対象ノードは、データフレームを鍵種別がＬＤの可変共通鍵で暗号化する。
【０１９３】
保守端末および対象ノードがデータフレームの受信を行うときには、保守端末および対象ノードは、自身の経過時間で可変共通鍵を生成し、生成した可変共通鍵で受信したデータフレームの復号化を行う。従って、保守端末と対象ノードとの間でデータフレームの送受信を高い秘匿性で行うことができる。
【０１９４】
＜ノード装置のハードウェア構成の一例＞
次に、ノード装置１のハードウェア構成の一例について説明する。図２１に示すように、ノード装置１は、バス４０に対して、プロセッサ４１とＲＡＭ（Random Access Memory）３２とＲＯＭ（Read Only Memory)３３と補助記憶装置４４と無線モジュール４５と可搬型記憶装置接続部４６とハードウェアタイマ４８が接続されている。
【０１９５】
プロセッサ４１はＣＰＵ（Central Processing Unit)のような任意の処理回路である。プロセッサ４１はＲＡＭ４２に展開されたプログラムを実行する。ＲＯＭ４３はＲＡＭ４２に展開されるプログラムを記憶する不揮発性の記憶装置である。ＲＡＭ４２に展開されるプログラムは補助記憶装置４４に記憶されていてもよい。記憶装置の一例としては、フラッシュメモリやハードディスクドライブ等を適用することができる。
【０１９６】
無線モジュール４５は、ノード装置１が他の通信装置と無線通信を行う機能を有する通信インタフェースである。無線モジュール４５を介して、ノード装置とノード装置との間の通信、およびノード装置とゲートウェイ装置との間の通信が行われる。
【０１９７】
可搬型記憶装置接続部４６は、可搬型記憶装置４７と接続可能に設けられている。可搬型記憶装置４７としては、可搬型のメモリや光学式ディスク（例えば、ＣＤ（Compact Disk)やＤＶＤ（Digital Video Disk)等）を適用することができる。ハードウェアタイマ４８は、時間をカウントする。
【０１９８】
ＲＡＭ４２、ＲＯＭ４３および補助記憶装置４４は、何れもコンピュータ読み取り可能な有形の記憶媒体の一例である。これらの有形な記憶媒体は、信号搬送波のような一時的な媒体ではない。
【０１９９】
一例として、フレーム受信部２およびフレーム送信部６は無線モジュール４５により実現されてもよい。フレーム受信情報解析部３、制御部４およびフレーム送信情報生成部５は、プロセッサ４１により実現されてもよい。固定共通鍵記憶部２１はＲＯＭ４３により実現されてもよい。リンクテーブル８およびルーティングテーブル９は、補助記憶装置４４により実現されてもよい。タイマ１０は、ハードウェアタイマ４８により実現されてもよい。
【０２００】
＜ゲートウェイ装置のハードウェア構成の一例＞
図２２は、ゲートウェイ装置のハードウェア構成の一例を示している。ゲートウェイ装置は、ノード装置の一種であり、ゲートウェイ装置とノード装置とはほぼ同様のハードウェア構成となっている。ゲートウェイ装置は、図２１に示したノード装置のハードウェア構成に対して、インタフェース４９が追加されている。インタフェース４９は、ゲートウェイ装置がネットワークサーバと通信を行うときに使用してもよい。
【０２０１】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０２０２】
以上の実施形態に関し、更に以下の付記を開示する。
（付記１）
ノード装置であって、
隣接するノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する鍵生成部と、
前記鍵生成部が生成する共通鍵で、前記隣接するノード装置に送信するデータフレームを暗号化する暗号化部と、
前記暗号化部が暗号化した前記データフレームを前記隣接するノード装置に送信する送信部と、
を備えるノード装置。
（付記２）
前記鍵生成部は、前記経過時間を一定時間ごとに正規化する正規化部、
を備える付記１記載のノード装置。
（付記３）
前記鍵生成部は、前記隣接するノード装置のアドレスと前記自身のノード装置のアドレスと前記正規化部が正規化した正規化時間とを連結したデータを暗号化して前記共通鍵を生成する、
付記２記載のノード装置。
（付記４）
前記鍵生成部は、前記連結したデータを暗号化するときに、鍵の値が変化しない固定共通鍵を使用する、
付記３記載のノード装置。
（付記５）
前記鍵生成部は、前記連結したデータのバイト数が前記共通鍵のバイト数より少ない場合には、前記隣接するノード装置のアドレスまたは前記自身のノード装置のアドレスを連結して、前記共通鍵のバイト数と一致させる、
付記３記載のノード装置。
（付記６）
前記鍵生成部は、前記連結したデータのバイト数が前記共通鍵のバイト数以上の場合には、前記連結したデータと前記正規化時間のデータとで排他的論理和の演算を行い、前記共通鍵を生成する、
付記３記載のノード装置。
（付記７）
前記経過時間は、ＨＥＬＬＯフレームに含められる、
付記１記載のノード装置。
（付記８）
前記経過時間は暗号化されて、暗号化された前記経過時間はデータフレームに含められる、
付記１記載のノード装置。
（付記９）
前記ノード装置に隣接する前記隣接するノード装置は、保守端末であり、
前記保守端末は、前記ノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成して、生成した共通鍵で前記ノード装置に送信するデータフレームを暗号化し、
前記ノード装置は、前記保守端末が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成して、生成した共通鍵で前記保守端末に送信するデータフレームを暗号化する、
付記１記載のノード装置。
（付記１０）
前記データフレームに含まれる経過時間に基づいて、なりすまし検知を行う検知部、
を備える付記１記載のノード装置。
（付記１１）
前記ノード装置は、スリープ状態から起動状態に変化した後に、前記隣接するノード装置から最初に受信したＨＥＬＬＯフレームに含まれる経過時間に基づいて、暗号化を行う、
付記１記載のノード装置。
（付記１２）
自身のノード装置にデータフレームを送信する隣接するノード装置に自身のノード装置が起動してからの経過時間を通知し、且つ通知したときの経過時間に基づいて鍵の値が変化する共通鍵で暗号化されたデータフレームを受信したときに、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する復号化部、
を備える付記１記載のノード装置。
（付記１３）
前記データフレームに含まれる前記正規化時間に対応した識別番号が前記自身のノード装置の経過時間を正規化時間の前後の範囲内にあるときに、前記データフレームが許可され、前記範囲内にないときに、前記データフレームが許可されない、
付記１２記載のノード装置。
（付記１４）
プロセッサを備えるノード装置であって、
隣接するノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、
前記経過時間を通知されていないときには、自身のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成し、
前記鍵生成部が生成する共通鍵で、前記隣接するノード装置に送信するデータフレームを暗号化し、
暗号化した前記データフレームを前記隣接するノード装置に送信する、
ノード装置。
（付記１５）
第１のノード装置と第２のノード装置とを有する通信システムであって、
前記第１のノード装置は、
前記第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成する鍵生成部と、
前記鍵生成部が生成する共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化する暗号化部と、
前記暗号化部が暗号化した前記データフレームを前記第２のノード装置に送信する送信部と、
を備え、
前記第２のノード装置は、
前記データフレームを受信する受信部と、
前記第２のノード装置に前記第１のノード装置が起動してからの経過時間を通知し、且つ通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する復号化部と、
を備える、
通信システム。
（付記１６）
第１のノード装置と第２のノード装置との間で通信を行う通信方法であって、
前記第１のノード装置は、前記第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵を生成し、
前記第１のノード装置は、生成した共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化し、
前記第１のノード装置は、暗号化した前記データフレームを前記第２のノード装置に送信し、
前記第２のノード装置は、前記データフレームを受信し、
前記第２のノード装置は、前記第１のノード装置にデータフレームを送信する他の隣接するノード装置に前記第１のノード装置が起動してからの経過時間を通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する、
通信方法。
（付記１７）
第１のノード装置は、第２のノード装置が起動してからの経過時間を通知されているときには、通知された前記経過時間に基づいて鍵の値が変化する共通鍵を生成し、前記経過時間を通知されていないときには、前記第１のノード装置が起動してからの経過時間に基づいて共通鍵を生成し、
前記第１のノード装置は、生成した共通鍵で、前記第２のノード装置に送信するデータフレームを暗号化し、
前記第１のノード装置は、暗号化した前記データフレームを前記第２のノード装置に送信し、
前記第２のノード装置は、前記データフレームを受信し、
前記第２のノード装置は、前記第１のノード装置にデータフレームを送信する他の隣接するノード装置に前記第１のノード装置が起動してからの経過時間を通知したときの経過時間に基づいた共通鍵で暗号化されたデータフレームを受信したときに、前記第１のノード装置が起動してからの経過時間に基づいて鍵の値が変化する共通鍵で前記データフレームを復号化する、
処理をコンピュータに実行させる通信プログラム。
【符号の説明】
【０２０３】
１    通信装置
２    フレーム受信部
３    フレーム送信部
７    セキュリティ処理部
１０  タイマ
２１  固定共通鍵記憶部
２２  経過時間生成部
２３  正規化部
２４  鍵生成部
２５  暗号化部
２７  復号化部
４１  プロセッサ
４２  ＲＡＭ
４３  ＲＯＭ
【図１】
2015099984.tif 000003
【図２】
2015099984.tif 000004
【図３】
2015099984.tif 000005
【図４】
2015099984.tif 000006
【図５】
2015099984.tif 000007
【図６】
2015099984.tif 000008
【図７】
2015099984.tif 000009
【図８】
2015099984.tif 000010
【図９】
2015099984.tif 000011
【図１０】
2015099984.tif 000012
【図１１】
2015099984.tif 000013
【図１２】
2015099984.tif 000014
【図１３】
2015099984.tif 000015
【図１４】
2015099984.tif 000016
【図１５】
2015099984.tif 000017
【図１６】
2015099984.tif 000018
【図１７】
2015099984.tif 000019
【図１８】
2015099984.tif 000020
【図１９】
2015099984.tif 000021
【図２０】
2015099984.tif 000022
【図２１】
2015099984.tif 000023
【図２２】
2015099984.tif 000024