(57)【要約】【課題】セキュア通信に係るセキュリティキー（鍵）を変更したときでも、セキュアフレームによる通信を行うことができるようにする。【解決手段】本発明は、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を管理する１又は複数の他の通信装置から、少なくとも送信フレームカウンタ値が付与されたセキュアフレームを受信する通信装置において、１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶するものであって、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶する受信フレームカウンタ記憶手段を備えることを特徴とする通信装置である。【選択図】      図３
2014232999.tif 000002
【特許請求の範囲】
【請求項１】
セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を管理する１又は複数の他の通信装置から、少なくとも上記送信フレームカウンタ値が付与されたセキュアフレームを受信する通信装置において、
上記１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶するものであって、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する受信フレームカウンタ記憶手段を
備えることを特徴とする通信装置。
【請求項２】
上記セキュア通信に鍵を変更する際に、上記１又は複数の他の通信装置に対して鍵の変更を通知する鍵変更通知手段を備え、
上記受信フレームカウンタ記憶手段が、変更前の旧鍵と変更後の新鍵とのそれぞれの、上記各他の通信装置の受信フレームカウンタ値を記憶するものである
ことを特徴とする通信装置。
【請求項３】
上記セキュアフレームには上記他の通信装置が利用した鍵を示す利用鍵情報も付与されており、
上記他の通信装置から受信したセキュアフレームに付与されている上記利用鍵情報に基づいて、上記受信フレームカウンタ記憶手段における、対応する鍵に係る当該他の通信装置の受信フレームカウンタ値と、上記セキュアフレームに付与されている上記送信フレームカウンタ値とに基づいて、セキュアフレームの正当性を判定する判定手段を備えることを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
セキュア通信に係る鍵を記憶する鍵記憶手段を備え、
上記受信フレームカウンタ記憶手段が、上記各他の通信装置の識別情報と、上記受信フレームカウンタ値と、上記鍵記憶手段に記憶される鍵を識別する鍵情報とを関連付けて記憶するものである
ことを特徴とする請求項１〜３のいずれかに記載の通信装置。
【請求項５】
上記鍵情報が、上記鍵記憶手段に記憶される鍵の位置を示す記憶位置情報であることを特徴とする請求項４に記載の通信装置。
【請求項６】
上記鍵情報が、上記鍵記憶手段に記憶される鍵を識別する鍵識別情報、又は上記鍵識別情報の記憶位置を示す記憶位置情報であることを特徴とする請求項４に記載の通信装置。
【請求項７】
上記鍵情報が、上記鍵記憶手段に記憶される鍵自体であることを特徴とする請求項４に記載の通信装置。
【請求項８】
第１の通信装置と第２の通信装置と間でセキュア通信を行う通信システムにおいて、
上記第１の通信装置が、
セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段と、
少なくとも上記送信フレームカウンタ値を付与したセキュアフレームを送信する送信手段と
を備え、
上記第２の通信装置が、
上記１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、
上記受信フレームカウンタ記憶手段が、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する
ことを特徴とする通信システム。
【請求項９】
第１の通信装置と第２の通信装置と間でセキュア通信を行う通信方法において、
上記第１の通信装置が、
セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段を備え、
送信手段が、少なくとも上記送信フレームカウンタ値を付与したセキュアフレームを送信し、
上記第２の通信装置が、
上記１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている上記送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、
上記受信フレームカウンタ記憶手段が、上記各他の通信装置の受信フレームカウンタ値を、上記鍵毎に個別に記憶する
ことを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、通信システム及び通信方法に関し、例えば、セキュア通信を行う通信装置、通信システム及び通信方法に適用し得るものである。
【背景技術】
【０００２】
セキュリティ機能を持つ情報通信装置において、セキュアフレームにセキュア通信回数を示すカウンタを付与することが多い。これは、ネットワークを経由した認証等の際、第三者が認証情報等を取得して、接続先ホストに不正なアクセスを行うリプレイ攻撃を防ぐためである。
【０００３】
例えば、ＺｉｇＢｅｅネットワークをインタネットプロトコル（ＩＰ）に接続するための通信プロトコルとしてＺｉｇＢｅｅＩＰがある。ＺｉｇＢｅｅＩＰは、ＩＥＥＥ８０２．１５．４に規定される規格化技術をＭＡＣ（Media  Access  control）層として利用することが規定されている。
【０００４】
ＩＥＥＥ８０２．１５．４の規格化技術は、ＭＡＣ層の設定値として、セキュアフレームの通信回数を示すＦｒａｍｅＣｏｕｎｔｅｒ（ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ）という値を有している。
【０００５】
送信ノードは、セキュアフレームの送信の際、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をフレームに付与して送信する。送信ノードは、セキュアフレームを送信する毎にカウンタ値を１ずつインクリメントしていく。
【０００６】
受信ノードは、送信ノードからセキュアフレームを受信すると、セキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を抽出して、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を送信ノード毎に記憶している。ここで、受信ノードが記憶する各送信ノードのＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒをＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒと呼ぶ。
【０００７】
そして、受信ノードがセキュアフレームを受信するたびに、受信ノードは、セキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、自身が記憶している当該送信ノードのＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と比較する。Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値のほうが大きい場合、受信ノードは、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期異常であると判断して、受信したセキュアフレームを破棄する。
【０００８】
また、ＺｉｇＢｅｅＩＰの仕様には、以下のような技術が規定されている。
【０００９】
ＺｉｇＢｅｅＩＰにおいては、ＭＡＣ層のセキュリティキーを定期的に変更する。
【００１０】
ＺｉｇＢｅｅＩＰには、ネットワーク上の全てのノードに対して、コーディネータである親ノードがセキュリティキーを配布する仕組みがある。
【００１１】
ネットワーク上の各ノードは、新しいセキュリティキー（以下、「新鍵」という）が配布され、新鍵を利用して暗号化を行う場合でも、古いセキュリティキー（以下、「旧鍵」という）を消去しない。
【００１２】
各ノードは、セキュリティキーを変更した際に、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする。
【００１３】
ネットワーク上の親ノードは、周囲の子ノードに対して、「今からセキュリティキーを変更する」旨を示す変更開始情報を通知する。親ノードの変更開始情報の通知後、親ノードは、自身が記憶している各子ノードのＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする。
【００１４】
新鍵を持っていない状態で親ノードから変更開始情報の通知を受けた場合、子ノードは、親ノードに対して新鍵を要求する機能を有する。
【００１５】
上記のようなＩＥＥＥ８０２．１５．４の規格化技術をＭＡＣ層に利用するＺｉｇＢｅｅＩＰの仕様において、ＭＡＣ層のセキュリティキーを変更する処理は以下のようになる。
【００１６】
（１）親ノードがセキュリティキーを変更する場合、親ノードは、周囲の子ノードに対して、「今からセキュリティキーを変更する」旨の変更開始情報を通知する。
【００１７】
（２）親ノードが変更開始情報の通知後、親ノードが記憶している子ノードのＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」に設定する。
【００１８】
（３）親ノードから変更開始情報の通知を受けた子ノードは、今後のセキュアフレーム送信時に利用するセキュリティキーを旧鍵から新鍵に変更し、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」に設定する。
【先行技術文献】
【非特許文献】
【００１９】
【非特許文献１】ＩＥＥＥ８０２．１５．４−２０１１
【発明の概要】
【発明が解決しようとする課題】
【００２０】
上述したように、ネットワーク上の全てのノードに「新鍵」と「旧鍵」との両方が配布された場合、上述したセキュリティキーの変更手順は問題なく行なわれる。
【００２１】
しかしながら、ネットワーク上のノードにスリープノードが存在する場合には、以下のような問題が生じ得る。
【００２２】
ノードがスリープ状態の場合、当該スリープノードはデータ通信を行うことができないため、スリープノードは新鍵を受信することができない。ＺｉｇＢｅｅＩＰの仕様は、ネットワーク上の全てのノードに対してセキュリティキーを配布する仕組みはある。しかし、スリープノードは、独自のタイミングでスリープ状態に遷移する。そのため、コーディネータである親ノードは、実際に全てのノードのセキュリティキーを配布できたかを確認することは難しい。
【００２３】
従って、親ノードがセキュリティキーの変更開始情報を通知したとしても、スリープ状態にあったノードは、その通知後セキュリティキーの変更を行うまで、旧鍵を利用して通信することになる。そして、新鍵入手後に、スリープ状態にあったノードは、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒの値を「０」に設定することになる。
【００２４】
そうすると、親ノードが子ノード（スリープ状態にあったノード）に対するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットするタイミングと、子ノード（スリープ状態にあったノード）がＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にするタイミングとが異なることになる。
【００２５】
この結果、子ノードが、新鍵であるセキュリティキーを用いてセキュアフレームを送信した場合、親ノードにおいて、当該子ノードのＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値が「０」以上の値となり、当該子ノードからのセキュアフレームに付与されるＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値は「０」となってしまう。
【００２６】
このような場合、ＩＥＥＥ８０２．１５．４の規格化技術に基づいて、親ノードは、ＦｒａｍｅＣｏｕｎｔｅｒの同期異常と判断し、当該子ノードからのフレームを破棄することになる。そのため、通信ができなくなってしまうという問題が生じ得る。
【００２７】
そのため、上記課題に鑑み、セキュア通信に係るセキュリティキー（鍵）を変更したときでも、セキュアフレームによる通信を行うことができる通信装置、通信システム及び通信方法が求められている。
【課題を解決するための手段】
【００２８】
かかる課題を解決するようために、第１の発明は、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を管理する１又は複数の他の通信装置から、少なくとも送信フレームカウンタ値が付与されたセキュアフレームを受信する通信装置において、１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶するものであって、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶する受信フレームカウンタ記憶手段を備えることを特徴とする通信装置である。
【００２９】
第２の本発明は、第１の通信装置と第２の通信装置と間でセキュア通信を行う通信システムにおいて、第１の通信装置が、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段と、少なくとも送信フレームカウンタ値を付与したセキュアフレームを送信する送信手段とを備え、第２の通信装置が、１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、受信フレームカウンタ記憶手段が、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶することを特徴とする通信システムである。
【００３０】
第３の本発明は、第１の通信装置と第２の通信装置と間でセキュア通信を行う通信方法において、第１の通信装置が、セキュア通信に係る鍵を用いたセキュアフレームの送信回数を示す送信フレームカウンタ値を記憶する送信フレームカウンタ記憶手段を備え、送信手段が、少なくとも送信フレームカウンタ値を付与したセキュアフレームを送信し、第２の通信装置が、１又は複数の他の通信装置のいずれから受信したセキュアフレームに付与されている送信フレームカウンタ値を、当該他の通信装置の受信フレームカウンタ値として記憶する受信フレームカウンタ記憶手段を備え、受信フレームカウンタ記憶手段が、各他の通信装置の受信フレームカウンタ値を、鍵毎に個別に記憶することを特徴とする通信方法である。
【発明の効果】
【００３１】
本発明によれば、セキュア通信に係るセキュリティキー（鍵）を変更したときでも、セキュアフレームによる通信を行うことができる。
【図面の簡単な説明】
【００３２】
【図１】実施形態に係る無線通信システムの構成及び各ノードの内部構成を示す構成図である。
【図２】実施形態の送信側のノードのＭＡＣ層の詳細な内部構成を示す内部構成図である。
【図３】実施形態の受信側のノードのＭＡＣ層の詳細な内部構成を示す内部構成図である。
【図４】実施形態に係る無線通信システムのセキュアフレーム伝送処理を示すシーケンス図である（その１）。
【図５】実施形態に係る無線通信システムのセキュアフレーム伝送処理を示すシーケンス図である（その２）。
【発明を実施するための形態】
【００３３】
（Ａ）主たる実施形態
以下では、本発明の通信装置、通信システム及び通信方法の実施形態を、図面を参照しながら詳細に説明する。
【００３４】
この実施形態では、例えば、ＩＥＥＥ８０２．１５．４−２００６、ＩＥＥＥ８０２．１５．４−２０１１、ＩＥＥＥ８０２．１５．４ｇ等で規定される規格化技術（以下、これらを含むものをＩＥＥＥ８０２．１５．４の規格化技術という）を、ＭＡＣ層に関する技術に採用するＺｉｇＢｅｅＩＰ対応の無線通信装置及び無線通信システムに、本発明を適用する場合を例示する。
【００３５】
この実施形態は、ＩＥＥＥ８０２．１５．４の規格化技術に拡張機能を追加することにより、ＺｉｇＢｅｅＩＰの仕様上の制約を回避するものである。
【００３６】
（Ａ−１）実施形態の構成
図１は、この実施形態に係る無線通信システムの構成及び各ノードの内部構成を示す構成図である。図１において、実施形態に係る無線通信システム１０は、複数のノードを有して構成される。
【００３７】
図１では、説明を容易にするために、無線通信システム１０が、３台のノード１−１、ノード１−２、ノード２を有する場合を例示する。勿論、ノードの数は特に限定されるものではない。
【００３８】
なお、送信側の通信装置であるノード１−１及びノード１−２は、同一又は対応する構成要素を備えるものであるため、共通の機能を説明する場合にはノード１と表記して説明する。
【００３９】
また、ノード１（１−１及び１−２）、ノード２はいずれも同様の送信機能及び受信機能を有するものであり、説明を容易にするために、ノード１がデータパケットをノード２に送信する送信側の通信装置とし、ノード２が、ノード１からのデータパケットを受信する受信側の通信装置として説明する。
【００４０】
ノード１は、暗号化したセキュアフレームを含むパケットをノード２に送信するものであり、送信部１１、制御部１２、受信部１３を有するものである。ノード１は、受信部１２によって受信されたノード２からのセキュリティキーを記憶しておき、セキュリティキーを用いてデータを暗号化し、その暗号化したフレームデータを含むパケットを送信する。
【００４１】
また、ノード１は、セキュアフレームの送信回数を示すＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ（これを送信側セキュリティフレームカウンタともいう）を管理している。つまり、ノード１は、セキュアフレームを送信するたびに、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒの値を「１」ずつインクリメントして更新する。また、ノード１は、セキュアフレームを送信する際、自身において管理するＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をフレームに付与して送信する。
【００４２】
さらに、ノード１は、送信部１１の送信処理及び受信部１３の受信処理を、所定のスリープ制御により休止するスリープ機能を有する。
【００４３】
ノード２は、ノード１から送信されたフレームデータを含むパケットを受信するものであり、受信部２１、制御部２３、送信部２３を有するものである。ノード２は、ＺｉｇＢｅｅネットワークを管理するコーディネータとして動作するものである。
【００４４】
ノード２は、ノード１における暗号化に必要なセキュリティキーを全てのノード１に送信するものである。また、ノード２は、セキュリティキーの変更を行うこともでき、セキュリティキーを変更する場合、変更後のセキュリティキーを送信する。
【００４５】
また、ノード２は、ノード１からセキュアフレームを受信すると、受信したセキュアフレームに付与されている当該ノード１のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を抽出し、この抽出したＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ（これを受信側フレームカウンタともいう）の値としてノード１毎に記憶する。なお、Ｄｅｖｉｓｅ＿ＦｒａｍｅＣｏｕｎｔｅｒの記憶方法の詳細については後述する。
【００４６】
ノード２は、送信側であるノード１からセキュアフレームを受信すると、受信したセキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、自身で記憶している当該ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値とを比較する。そして、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値が、受信フレームのＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値よりも大きい場合には、ノード２は、ＦｒａｍｅＣｏｕｎｔｅｒの同期異常と判断して、当該受信フレームを破棄する。そうでない場合、ノード２は、当該受信フレームを正しく受信する。
【００４７】
このように、ノード２は、受信フレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値とＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値との比較を行い、受信フレームを破棄するか否かを判断することで、リプレイ攻撃を防止している。
【００４８】
図２は、この実施形態のノード１のＭＡＣ層の詳細な内部構成を示す内部構成図である。図２において、ノード１は、データ取得部１０１、暗号化部１０２、フレーム形成部１０３、パケット形成部１０４、変調部１０５、復調部１０６、パケット解析部１０７、フレーム分析部１０８、通信制御部１２０を有する。
【００４９】
データ取得部１０１は、送信すべきデータを取得し、その取得したデータを暗号化部１０２に与えるものである。データ取得部１０１が送信すべきデータは、例えば、ノード１が有するセンシング機能によりセンシングされたデータや、周囲に存在する他ノードから受信した転送すべきデータ等がある。
【００５０】
暗号化部１０２は、データ取得部１０１から取得したデータを所定の暗号化方式に従って暗号化し、暗号化したデータをフレーム形成部１０３に与えるものである。
【００５１】
ここで、暗号化部１０２による暗号化方式は、例えばＩＥＥＥ８０２．１５．４において規定されている暗号化方式を適用することができ、具体的にはＡＥＳ暗号化方式やＤＥＳ暗号化方式等を適用することができる。例えば、暗号化部１０２は、セキュリティキー記憶部１２２に記憶されるセキュリティキー、及び又は、送信側フレームカウンタ記憶部１２１に記憶されるＩＰＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いてデータの暗号化を行う。
【００５２】
フレーム形成部１０３は、暗号化部１０２から取得した暗号化データを含むフレームを形成し、形成したフレームをパケット形成部１０４に与えるものである。このとき、フレーム形成部１０３は、フレームカウンタ記憶部１２１に記憶されるＩＰＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をフレームに付与する。また、フレーム形成部１０３は、セキュアフレームの形成に利用したセキュリティキー情報をフレームに付与する。
【００５３】
パケット形成部１０４は、フレーム形成部１０３から取得したフレームを含むパケットを形成し、形成したパケットを変調部１０５に与えるものである。
【００５４】
変調部１０５は、パケット形成部１０４により形成されたパケットを所定の変調方式に従って変調し、変調後の信号を送信するものである。変調部１０５は、ＩＥＥＥ８０２．１５．４の規格化技術を適用することができる。変調方式は、例えば、オフセット直交位相偏移変調方式（Ｏｆｆｓｅｔ  ＱＰＳＫ）等を用いることができ、周波数帯は、例えば、８６８ＭＨｚ帯、９１５ＭＨｚ帯、２．４ＧＨｚ帯等を用いることができる。
【００５５】
復調部１０６は、受信した信号を復調し、復調した信号をパケット解析部１０７に与えるものである。
【００５６】
パケット解析部１０７は、復調部１０６から受け取ったパケットに含まれるフレームを抽出し、その抽出したフレームをフレーム分析部１０８に与えるものである。
【００５７】
フレーム分析部１０８は、パケット解析部１０７から受け取ったフレームを分析し、そのフレーム分析結果を通信制御部１２０に与えるものである。
【００５８】
通信制御部１２０は、ＭＡＣ層で提供される通信機能としてデータ伝送やネットワーク管理やセキュリティ管理を行うものである。
【００５９】
通信制御部１２０は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、入出力インタフェース部等を有して構成されるものであり、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、送信側のノード１の機能を実現することができる。また、処理プログラムは、インストールにより構築することができ、その場合でも機能的には図２に示すことができる。
【００６０】
通信制御部１２０は、送信側フレームカウンタ記憶部１２１、セキュリティ記憶部１２２、送信側フレームカウンタ設定部１２３、セキュリティ設定部１２４、スリープ制御部１２５を有する。
【００６１】
送信側フレームカウンタ記憶部１２１は、セキュアフレームの送信回数を示すカウンタ値（ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値）を記憶するものである。
【００６２】
セキュリティキー記憶部１２２は、データの暗号化に必要なセキュリティキーを記憶するものである。セキュリティキー記憶部１２２は、１又は複数のセキュリティキーを記憶することができる。すなわち、新鍵のセキュリティキーが配布された場合には、セキュリティ記憶部１２２は、旧鍵と新鍵とを記憶する。なお、複数回に亘ってセキュリティキーが変更された場合でも、セキュリティキー記憶部１２２は、それまでの全ての旧鍵であるセキュリティキーを記憶する。なお、この実施形態では、セキュリティキー記憶部１２２が、２個のセキュリティキーＸ及びセキュリティキーＹを記憶している場合を例示する。
【００６３】
送信側フレームカウンタ設定部１２３は、送信側フレームカウンタ記憶部１２１に記憶するＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を設定するものである。送信側フレームカウンタ設定部１２３は、セキュアフレームが送信されるたびに、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「１」ずつインクリメントして、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する。
【００６４】
また、送信側フレームカウンタ設定部１２３は、フレーム分析部１０８を介して、ノード２からセキュリティキー変更開始情報の通知を受けると、送信側フレームカウンタ設定部１２３に記憶されるＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットするものである。
【００６５】
ここで、ノード２からのセキュリティキー変更開始情報の通知は、セキュリティキーの変更の旨をノード１に通知すると共に、送信側であるノード１と受信側であるノード２との間でそれぞれ管理するＦｒａｍｅＣｏｕｎｔｅｒ値の同期を図るためのものである。
【００６６】
つまり、ノード１は、ノード２からセキュリティキー変更開始情報の通知を受けることで、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をリセットする。一方、ノード２がセキュリティキー変更開始情報をノード１に通知すると、ノード２においても、当該ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をリセットする。これにより、送信側のノード１と受信側のノード２との間で、新鍵を用いたセキュアフレームの送信回数を示すカウンタ値を同期させることができ、新鍵を用いたセキュアな通信を実現できる。
【００６７】
セキュリティキー設定部１２４は、セキュリティキー記憶部１２２に記憶するセキィリティキーを設定するものである。例えば、セキュリティキー設定部１２４は、フレーム分析部１０８を介して、ノード２から取得したセキュリティキーをセキュリティキー記憶部１２２に記憶する。
【００６８】
また、ノード２からセキュリティキー変更開始情報の通知があった場合、セキュリティキー設定部１２４は、ノード２に対して新鍵を要求する。これに対して、ノード２から新鍵を受信すると、セキュリティキー設定部１２４は、ノード２から受信した新鍵をセキュリティキー記憶部１２２に記憶する。なお、セキュリティキーの配布手順は、ＩＥＥＥ８０２．１５．４の規格化技術を適用することができる。
【００６９】
スリープ制御部１２５は、自身の送信部１１の送信処理及び受信部１３の受信処理を、所定のスリープ制御により休止するものである。スリープ制御部１２５によるスリープ制御は、ＩＥＥＥ８０２．１５．４の規格化技術を適用することができる。例えば、スリープ制御部１２５は、周期的に、送信部１１及び受信部１２の全部又は一部の構成要素への電源供給を休止するようにしても良いし、また例えば、スリープ制御部１２５は、送信部１１の送信処理及び受信部１２の受信処理を監視し、送受信処理がなされない時間が所定時間を経過した場合に、送信部１１及び受信部１２の全部又は一部の構成要素への電源供給を休止するようにしても良い。
【００７０】
図３は、この実施形態のノード２のＭＡＣ層の詳細な内部構成を示す内部構成図である。図３において、ノード２は、復調部２０１、パケット解析部２０２、フレーム分析部２０３、復号部２０４、データ送出部２０５、フレーム形成部２０７、パケット形成部２０８、変調部２０９、通信制御部２２０を有する。
【００７１】
復調部２０１は、受信した信号を復調して、復調した信号をパケット解析部２０２に与えるものである。
【００７２】
パケット解析部２０２は、復調部２０１から受け取ったパケットに含まれるフレームを抽出し、その抽出したフレームをフレーム分析部２０３に与えるものである。
【００７３】
フレーム分析部２０３は、パケット解析部２０２から受け取ったフレームを分析し、そのフレームを復号部２０４に与えるものである。
【００７４】
復号部２０４は、通信制御部２２０のカウンタ値同期判定部２２３によりＦｒａｍｅＣｏｕｎｔｅｒ値の同期が正当であると判定された場合に、フレーム分析部２０３からのセキュアフレームに含まれるデータ（ペイロードデータ）を所定の復号方式（暗号化方式）に従って復号するものである。
【００７５】
ここで、復号部２０４は、例えばＩＥＥＥ８０２．１５．４において規定されている暗号化方式に対応する復号方式を適用することができ、具体的にはＡＥＳ方式やＤＥＳ方式等を適用することができる。例えば、復号部２０４は、セキュリティキー記憶部２２２に記憶されるセキュリティキー、及び又は、受信側フレームカウンタ記憶部２２１の当該ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いてデータの復号を行う。
【００７６】
データ送出部２０５は、復号部２０４から受け取ったデータを、上位層に与えるものである。
【００７７】
フレーム形成部２０７は、通信制御部２２０の制御を受けて、所定のフレームを形成し、その形成したフレームをパケット形成部２０８に与えるものである。
【００７８】
パケット形成部２０８は、フレーム形成部２０７から取得したフレームを含むパケットを形成し、形成したパケットを変調部２０９に与えるものである。
【００７９】
変調部２０９は、パケット形成部２０８により形成されたパケットを所定の変調方式に従って変調し、変調後の信号を送信するものである。
【００８０】
通信制御部２２０は、コーディネータとしてのノード２のデータ伝送制御やネットワーク管理制御やセキュリティ制御を行うものである。
【００８１】
通信制御部２２０は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ、入出力インタフェース部等を有して構成されるものであり、ＣＰＵが、ＲＯＭに格納される処理プログラムを実行することにより、コーディネータとしてのノード２の機能を実現することができる。また、処理プログラムは、インストールにより構築することができ、その場合でも機能的には図３に示すことができる。
【００８２】
通信制御部２２０は、受信側フレームカウンタ記憶部２２１、セキュリティ記憶部２２２、カウンタ値同期判定部２２３、受信側フレームカウンタ設定部２２４、セキュリティキー設定部２２５、セキュリティキー配信部２２６、セキュリティキー変更開始通知部２２７を有する。
【００８３】
受信側フレームカウンタ記憶部２２１は、それぞれのノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値をセキュリティキー毎に記憶するものである。
【００８４】
ここで、従来、ＩＥＥＥ８０２．１５．４では、メモリ消費量を減らすために、受信側のノードが管理するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒは、１台の送信側のノード１に対して１個のみと決まっている。従来は、複数のセキュリティキーがある場合でも、各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒの値を共用していた。
【００８５】
これに対して、この実施形態では、セキュリティキー毎に、各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒを記憶する。これにより、セキュリティキーの変更後でも、旧鍵を利用したセキュアフレームの受信を許容することができる。
【００８６】
セキュリティ記憶部２２２は、ノード１でのデータの暗号化に必要なセキュリティキーを記憶するものである。セキュリティキー記憶部２２２は、１又は複数のセキュリティキーを記憶することができる。この実施形態では、説明を様にするために、セキュリティキー記憶部２２２が、２個のセキュリティキーＸ及びセキュリティキーＹを記憶している場合を例示する。
【００８７】
カウンタ値同期判定部２２３は、リプレイ攻撃を防止するために、セキュアフレームの送信側のノード１との間のＦｒａｍｅＣｏｕｎｔｅｒ値の同期判定するものである。
【００８８】
カウンタ値同期判定部２２３は、セキュアフレームを受信すると、当該セキュアフレームの送信元のノード識別情報を識別する。また、カウンタ値同期判定部２２３は、セキュアフレームに付与されているセキュリティキー情報を抽出する。
【００８９】
そして、カウンタ値同期判定部２２３は、当該ノード識別情報とセキュリティキー情報とに基づいて、対応するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を受信側フレームカウンタ２２１から読み出す。
【００９０】
カウンタ値同期判定部２２３は、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、受信したセキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値とを比較する。そして、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値がＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値よりも大きい場合、カウンタ値同期判定部２２３は、当該セキュアフレームを破棄し、そうでない場合、カウンタ値同期判定部２２３は、復号部２０４に対して復号を指示する。
【００９１】
受信側フレームカウンタ設定部２２４は、それぞれのノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を、ノード識別情報と紐付すると共に、セキュリティキー情報とも紐付けして、各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を設定するものである。つまり、受信側フレームカウンタ設定部２２４は、セキュリティキー情報毎に、送信側である各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を設定する。
【００９２】
ここで、ノード識別情報は、送信側のノード１を識別するものである。例えば、ノード識別情報は、通信時に送信側のノード１が利用するアドレス情報等を適用することができる。
【００９３】
また、セキュリティキー情報は、セキュリティキーを特定する情報である。この実施形態では、ノード２は、セキュリティキー毎に、各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を管理する。そのため、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期判定の際に、各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値がどのセキュリティキーに対応するものであるかを認識できるようにする。
【００９４】
そこで、セキュリティキー情報は、セキュリティキー記憶部２２２に記憶されるセキュリティキー自体であっても良いし、セキュリティキー記憶部２２２に記憶されるセキュリティキーの記憶位置を示すポインタであっても良い。
【００９５】
さらに、セキュリティキー情報は、セキュリティキーを特定するための識別情報（例えばＩＤ等）であっても良いし、又はセキュリティキーを特定するための識別情報の記憶位置を示すポインタであっても良い。
【００９６】
また、受信側フレームカウンタ設定部２２４は、カウンタ値同期判定部２２３によりカウンタ値の同期が正当であると判定された場合に、今回受信したセキュアフレームの送信元ノードのノード識別情報とセキュリティキー情報とに基づいて、対応するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒの値を「１」ずつインクリメントして更新するものである。
【００９７】
さらに、受信側フレームカウンタ設定部２２４は、後述するセキュリティキー変更開始通知部２２７がセキュリティキー変更開始情報を通知後、当該セキュリティキー変更に係るセキュリティキー情報についての各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする。
【００９８】
セキュリティキー設定部２２５は、ノード１での暗号化に必要なセキュリティキーをセキュリティキー記憶部２２２に記憶するものである。セキュリティキーを変更する場合、セキュリティキー設定部２２５は、新鍵をセキュリティキー記憶部２２２に記憶する。
【００９９】
セキュリティキー配信部２２６は、ネットワーク上の全てのノード１に対してセキュリティキーを配信するものである。セキュリティキー配信方法は、ＺｉｇＢｅｅ仕様の規格化技術を適用することができる。例えばセキュリティキーを全てのノード１にブロードキャストするために、ＡＯＤＶ（Ad  hoc  On-demand  Distance  Vector）等を利用する方法を適用することができる。
【０１００】
セキュリティキー変更開始通知部２２７は、セキュリティキーを変更する際に、全てのノード１に対してセキュリティキー変更開始情報を通知するものである。
【０１０１】
（Ａ−２）実施形態の動作
次に、実施形態に係る無線通信システム１０のセキュアフレーム伝送処理を、図面を参照しながら詳細に説明する。
【０１０２】
図４及び図５は、実施形態に係る無線通信システム１０のセキュアフレーム伝送処理を示すシーケンス図である。
【０１０３】
図４において、ノード２は、セキュアな通信のために、セキュリティキーＸを利用することを決定する。ノード２において、セキュリティキーＸがセキュリティキー記憶部２２２から読み出される。
【０１０４】
フレーム形成部２０７は、セキュリティキー配信部２２６の制御を受けて、セキュリティキーＸを含むフレームを形成し、パケット形成部２０８は、セキュリティキーＸを含むパケットをネットワーク上の全てのノード１に対して配送する（Ｓ１０１）。
【０１０５】
ノード２では、セキュリティキーＸが配送されると、受信側フレームカウンタ設定部２２４は、セキュリティキーＸについて、配送先である各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする（Ｓ１０２）。
【０１０６】
つまり、受信側フレームカウンタ設定部２２４は、各ノード１のノード識別情報及び各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、セキュリティキーＸを示すセキュリティキー情報とを対応付けて（紐付けて）、受信側フレームカウンタ記憶部２２１に記憶する。このとき、受信側フレームカウンタ設定部２２４は、当該セキュリティキーＸに関する各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする。
【０１０７】
ノード１−１、ノード１−２において、ノード２からセキュリティキーＸを含むパケットが受信されると、フレーム分析部１０８は、パケット解析部１０７から受け取ったフレームに含まれるセキュリティキーＸを取得する。そして、セキュリティキー記憶部１２４は、セキュリティキーＸをセキュリティキー記憶部１２２に記憶する（Ｓ１０３、Ｓ１０４）。
【０１０８】
ノード１−１、ノード１−２において、配送されたセキュリティキーＸが記憶されると、送信側フレームカウンタ設定部１２３は、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする（Ｓ１０５、Ｓ１０６）。
【０１０９】
その後、ノード１−１、ノード１−２は、セキュリティキーＸを利用してセキュアフレームの送信を行う。ここでは、ノード１−１がセキュリティキーＸを利用してセキュアフレームを送信する場合を例示する。
【０１１０】
ノード１−１において、暗号化部１０２は、ＩＥＥＥ８０２．１５．４において規定されている暗号化方式に従って、データ取得部１０１からのデータを暗号化する。例えば、暗号化部１０２は、セキュリティキー記憶部１２２に記憶されるセキュリティキーＸ、及び又は、送信側フレームカウンタ記憶部１２１のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いてデータを暗号化する（Ｓ１０７）。
【０１１１】
ノード１−１において、フレーム形成部１０３は、暗号化部１０２により暗号化されたデータを含むフレームを形成する。このとき、フレーム形成部１０３は、セキュアフレームに、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値及び利用したセキュリティキーＸを示す情報を付与する。パケット形成部１０４は、セキュアフレームを含むパケットを形成してノード２宛に送信する（Ｓ１０８）。
【０１１２】
ノード１−１において、セキュアフレームが送信されると、送信側フレームカウンタ設定部１２３は、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒの値に「１」をインクリメントして、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する（Ｓ１０９）。
【０１１３】
ノード２において、ノード１−１から送信されたセキュアフレームが与えられると、カウンタ値同期判定部２２３は、受信したフレームに含まれているノード識別情報及び利用したセキュリティキーを示す情報を取得する（Ｓ１１０）。
【０１１４】
カウンタ値同期判定部２２３は、取得したノード識別情報及び利用したセキュリティキーを示す情報に対応するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を、受信側フレームカウンタ記憶部２２１から検索する（Ｓ１１１）。
【０１１５】
そして、カウンタ値同期判定部２２３は、ＩＥＥＥ８０２．１５．４の規定に従って、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期判定を行う（Ｓ１１２）。
【０１１６】
すなわち、カウンタ値同期判定部２２３は、検索したＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、受信したセキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値とを比較する。Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値がＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値より大きい場合、カウンタ値同期判定部２２３は、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期異常と判断し、当該セキュアフレームを破棄する。
【０１１７】
ＦｒａｍｅＣｏｕｎｔｅｒ値の同期が正しい場合、復号部２０４は、受信したセキュアフレームのセキュリティキー情報に基づいてセキュリティキーＸをセキュリティ記憶部２２２から読み出す。そして、復号部２０４は、セキュリティキーＸ、及び又は、セキュリティキーＸに対応する当該ノード識別情報のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いて復号する（Ｓ１１３）。
【０１１８】
復号されたデータは、データ送出部２０５を介して外部に送出される。このとき、復号がなされると、受信側フレームカウンタ設定部２２４は、セキュリティキーＸに対応付けられた、ノード１−１（ノード識別情報）のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値に「１」をインクリメントして、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する（Ｓ１１４）。
【０１１９】
上記のように、送信側のノード１−１は、セキュアフレームを送信するたびに、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する。一方、受信側のノード２は、セキュアフレームを受信するたびに、当該セキュリティキーに対応するノード１−１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する。そのため、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期を維持することができる。
【０１２０】
次に、図５を用いて、ノード２がセキュリティキーを変更する場合の処理を例示する。ここでは、セキュリティキーＸからセキュリティキーＹに変更するものとする。
【０１２１】
ノード２がセキュリティキーを変更する際、ノード２は、ＩＥＥＥ８０２．１５．４の規定に従って、セキュリティキーを変更開始する旨を示すセキュリティキー変更開始情報を、ネットワーク上の全てのノード１に通知する（Ｓ２０１）。
【０１２２】
ノード２は、図４のＳ１０１及びＳ１０２と同様に、変更後のセキュリティＹを含むパケットを、ネットワーク上の全てのノード１に配送し（Ｓ２０２）、
受信側フレームカウンタ設定部２２４が、セキュリティキーＹについて、配送先である各ノード１のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする（Ｓ２０３）。
【０１２３】
ノード１−１は、図４のＳ１０４及びＳ１０６と同様に、ノード２から配送されたセキュリティキーＹをセキュリティキー記憶部１２２に記憶し（Ｓ２０４）、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする（Ｓ２０５）。
【０１２４】
このとき、ノード１−２は、スリープノードであるとする。そのため、ノード１−２は、スリープ状態にある場合、セキュリティキーＹ（新鍵）を取得することができない。
【０１２５】
ノード１−２がスリープ状態から起動状態に遷移すると、新鍵であるセキュリティキーＹを取得していないため、旧鍵であるセキュリティキーＸを利用してセキュアフレームを送信することになる。
【０１２６】
つまり、ノード１−２において、暗号化部１０２は、ＩＥＥＥ８０２．１５．４において規定されている暗号化方式に従って、データ取得部１０１からのデータを暗号化する。例えば、暗号化部１０２は、セキュリティキー記憶部１２２に記憶されるセキュリティキーＸ、及び又は、送信側フレームカウンタ記憶部１２１のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いてデータを暗号化する（Ｓ２０６）。
【０１２７】
ノード１−２において、フレーム形成部１０３は、暗号化部１０２により暗号化されたデータを含むフレームを形成する。このとき、フレーム形成部１０３は、セキュアフレームに、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値及び利用したセキュリティキーＸを示す情報を付与する。パケット形成部１０４は、セキュアフレームを含むパケットを形成してノード２宛に送信する（Ｓ２０７）。
【０１２８】
ノード１−２において、セキュアフレームが送信されると、送信側フレームカウンタ設定部１２３は、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒの値に「１」をインクリメントして、ＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する（Ｓ２０８）。
【０１２９】
ノード２において、ノード１−２から送信されたセキュアフレームが与えられると、カウンタ値同期判定部２２３は、受信したフレームに含まれているノード識別情報及び利用したセキュリティキーを示す情報を取得する（Ｓ２０９）。
【０１３０】
ここで、スリープ状態にあったノード１−２は、セキュリティキーＸを利用している。従って、カウンタ値同期判定部２２３は、ノード１−２のノード識別情報及び利用したセキュリティキーＸを示す情報に対応するＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を、受信側フレームカウンタ記憶部２２１から検索する（Ｓ２１０）。
【０１３１】
このとき、ノード２の受信側フレームカウンタ記憶部２２１は、セキュリティキー毎に、各ノードのＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を記憶している。従って、セキュリティキーの変更後でも、変更前のセキュリティキーＸに対応付けられた、ノード１−２のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値は、受信側フレームカウンタ記憶部２２１に記憶されたままである。従って、カウンタ値同期判定部２２３は、セキュリティキーＸに対応する、ノード１−２のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を検索できる。
【０１３２】
そして、カウンタ値同期判定部２２３は、ＩＥＥＥ８０２．１５．４の規定に従って、ＦｒａｍｅＣｏｕｎｔｅｒ値の同期判定を行う（Ｓ２１１）。
【０１３３】
すなわち、カウンタ値同期判定部２２３は、検索したＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値と、受信したセキュアフレームに付与されているＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値とを比較する。
【０１３４】
ＦｒａｍｅＣｏｕｎｔｅｒ値の同期が正しい場合、復号部２０４は、受信したセキュアフレームのセキュリティキー情報に基づいてセキュリティキーＸをセキュリティ記憶部２２２から読み出す。そして、復号部２０４は、セキュリティキーＸ、及び又は、セキュリティキーＸに対応する当該ノード識別情報のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を用いて復号する（Ｓ２１２）。
【０１３５】
復号されたデータは、データ送出部２０５を介して外部に送出される。このとき、復号がなされると、受信側フレームカウンタ設定部２２４は、セキュリティキーＸに対応付けられた、ノード１−２（ノード識別情報）のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値に「１」をインクリメントして、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を更新する（Ｓ２１３）。
【０１３６】
その後、ノード１−２において、スリープ状態の際に、ノード２からセキュリティキー変更開始情報の通知があった場合、セキュリティキー設定部１２４は、ノード２に対して新鍵を要求する（Ｓ２１４）。これに対して、ノード２は、新鍵であるセキュリティキーＹをノード１−２に送信する（Ｓ２１５）。
【０１３７】
そうすると、ノード１−２は、図４のＳ１０３及びＳ１０５と同様に、ノード２から配送されたセキュリティキーＹをセキュリティキー記憶部１２２に記憶し（Ｓ２１６）、自身のＰＩＢ＿ＦｒａｍｅＣｏｕｎｔｅｒ値を「０」にリセットする（Ｓ２１７）。
【０１３８】
この場合においても、ノード２における、セキュリティキーＹに対応付けられた、ノード１−２のＤｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒ値「０」のままである。そのため、スリープ状態にあったノード１−１とノード２との間でＦｒａｍｅＣｏｕｎｔｅｒ値の同期を図ることができる。
【０１３９】
（Ａ−３）実施形態の効果
以上のように、実施形態によれば、セキュリティキー毎（新鍵、旧鍵毎）に、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒを設定することにより、旧鍵を利用したセキュアフレームを受信することができる。
【０１４０】
また、実施形態によれば、受信側のノードがセキュリティキー毎に、Ｄｅｖｉｃｅ＿ＦｒａｍｅＣｏｕｎｔｅｒを設定するものであるため、送信側ノードが、特別な対処をしていない場合でも、ＭＡＣ層にＩＥＥＥ８０２．１５．４の規格化技術を採用したＺｉｇＢｅｅ仕様の通信を行うことができる。
【０１４１】
（Ｂ）他の実施形態
（Ｂ−１）上述した実施形態では、ＩＥＥＥ８０２．１５．４−２００６、ＩＥＥＥ８０２．１５．４−２０１１、ＩＥＥＥ８０２．１５．４ｇ等で規定される規格化技術を含むＩＥＥＥ８０２．１５．４の規格化技術を、ＺｉｇＢｅｅ仕様のＭＡＣ層に採用する場合を例示した。
【０１４２】
ＩＥＥＥ８０２．１５．４の規格化技術は、上記のＩＥＥＥ８０２．１５．４−２００６、ＩＥＥＥ８０２．１５．４−２０１１、ＩＥＥＥ８０２．１５．４ｇの規格化技術に限定されるものではない。例えば、ＩＥＥＥ８０２．１５．４−２００６、ＩＥＥＥ８０２．１５．４−２０１１、ＩＥＥＥ８０２．１５．４ｇの規格化技術を拡張したものや、他の通信方式に関する技術にも適用することができる。
【符号の説明】
【０１４３】
１０…無線通信システム、１（１−１、１−２）…送信側のノード、２…受信側のノード、１１…送信部、１２…制御部、１３…受信部、２１…受信部、２２…制御部、２３…送信部、
１０２…暗号化部、１０３…フレーム形成部、１２０…通信制御部、１２１…送信側フレームカウンタ記憶部、１２２…セキュリティキー記憶部、１２３…送信側フレームカウンタ設定部、１２４…セキュリティキー設定部、１２５…スリープ制御部、
２０３…フレーム分析部、２０４…復号部、２２０…通信制御部、２２１…受信側フレームカウンタ記憶部、２２２…セキュリティキー記憶部、２２３…カウンタ値同期判定部、２２４…受信側フレームカウンタ設定部、２２５…セキュリティキー設定部、２２６…セキュリティキー配信部、２２７…セキュリティキー変更開始通知部。
【図１】
2014232999.tif 000003
【図２】
2014232999.tif 000004
【図３】
2014232999.tif 000005
【図４】
2014232999.tif 000006
【図５】
2014232999.tif 000007