説明

ノード及びグループ鍵更新方法

【課題】1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、グループ鍵を更新する際に、送受信されるグループ鍵更新メッセージの数を低減可能なグループ鍵更新技術を提供する。
【解決手段】1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、根ノードが、グループ鍵と、グループ鍵の配送が禁止される対象の第1のノードを示すリストとを生成し、根ノードの子ノードのうち第1のノード以外の第1の子ノードが復号可能なグループ鍵を暗号化し、第1の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、リストとを含む第1のメッセージを送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、ノード及びグループ鍵更新方法に関する。
【背景技術】
【0002】
従来より、1つの根ノード(ルートノードという)となるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、グループ鍵を各ノードに配送する技術がある。グループ鍵は、例えば、ネットワークに接続された各ノードに対する通信の可否を確認するための認証に用いられる。この技術では、グループ鍵は暗号化されてルートノード(エッジルータ)から各ノードに配送される。このとき、上位のノードから下位のノードへ、暗号化されたグループ鍵を含むグループ鍵配送メッセージが転送される。グループ鍵が配送される際の暗号化に用いられる暗号化鍵は、各ノードがグループに参加する際にルートノードとの間で実行されるネットワークアクセス認証が成功した時に生成される。このようなグループ鍵は、例えば、ネットワークに接続されたノードが変更される度に、更新され、グループ鍵配送メッセージと同様にして、ネットワークにおいて通信可能な各ノードに対して暗号化されたグループ鍵を含むグループ鍵更新メッセージが各々配送される。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010−108520号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術においてグループ鍵を配送する方法では、上位のノードほど、転送するグループ鍵更新メッセージの数が増える。ブロードキャストやマルチキャストによりグループ鍵を配送する方法も考えられるが、ブロードキャストやマルチキャストの信頼性が低く且つ休眠状態であるノードも存在する無線メッシュネットワークではその適用が困難であった。
【0005】
本発明の一側面は、1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、グループ鍵を更新する際に、送受信されるグループ鍵更新メッセージの数を低減可能なノード及びグループ鍵更新方法を提供することを目的とする。
【課題を解決するための手段】
【0006】
一実施形態のノードは、1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークの前記根ノードであって、グループ鍵と、前記グループ鍵の配送が禁止される対象の第1のノードを示すリストとを生成する生成部と、前記根ノードの子ノードのうち前記第1のノード以外の第1の子ノードが復号可能な前記グループ鍵を暗号化する暗号化部と、前記第1の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、前記リストとを含む第1のメッセージを送信する送信部とを備える。
【図面の簡単な説明】
【0007】
【図1】一実施の形態のネットワークを例示する図。
【図2】初段ノード装置50の機能的構成を例示する図。
【図3】グループ鍵更新メッセージのデータ構成を例示する図。
【図4】非初段ノード装置の機能的構成を例示する図。
【図5】グループ鍵更新処理の概要を示すシーケンスチャート。
【図6】初段ノード装置50の行う処理の手順を示すフローチャート。
【図7】非初段ノード装置の行う処理の手順を示すフローチャート。
【図8】一変形例のMKBの構造及びデバイス鍵の割当てを例示する図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、本実施形態に係るノード及びグループ鍵更新方法を詳細に説明する。
【0009】
[第1の実施の形態]
本実施の形態に係る1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークは、木構造のトポロジーを形成するものとする。図1は、本実施の形態に係る木構造のトポロジーを形成するネットワークを例示する図である。同図に示されるネットワークは、隣接する階層のノード間で親子関係を各々有する3つの階層を有する。最上位の階層には、根ノードに相当する初段ノード装置50が存在し、2番目に上位の階層には、第2段ノード装置60a,60bが存在し、最下位の階層には、葉ノードに相当する第3段ノード装置70a,70b,70cが存在する。初段ノード装置50の子ノードは、第2段ノード装置60a,60bであり、第2段ノード装置60aの子ノードは、第3段ノード装置70a,70bであり、第2段ノード装置60bの子ノードは、第3段ノード装置70cである。尚、初段ノード装置50、第2段ノード装置60a,60b及び第3段ノード装置70a,70b,70cのいずれも区別する必要がない場合には、単にノード装置という。また、初段ノード装置50と、初段ノード装置50以外のノード装置とを区別する必要がある場合には、後者を非初段ノード装置という場合がある。各ノード装置には、各々を識別するためのノード識別情報が各々割り当てられている。
【0010】
次に、本実施の形態に係るノード装置のハードウェア構成について説明する。ノード装置は、装置全体を制御するCPU(Central Processing Unit)等の制御部と、各種データや各種プログラムを記憶するROM(Read Only Memory)やRAM(Random Access Memory)等の主記憶部と、各種データや各種プログラムを記憶するHDD(Hard Disk Drive)やCD(Compact Disk)ドライブ装置等の補助記憶部と、外部装置の通信を制御する通信I/F(interface)と、これらを接続するバスとを備えており、通常のコンピュータを利用したハードウェア構成となっている。また、ノード装置には、情報を表示する表示部と、ユーザの指示入力を受け付けるキーボードやマウス等の操作入力部とが有線又は無線により各々接続されるようにしても良い。尚、非初段ノード装置には、グループ鍵の配送の際の暗号化に用いる各々暗号化鍵が各々割り当てられており、各初段ノード装置の補助記憶部には、自身に割り当てられた暗号化鍵と、自身の子ノードに割り当てられた暗号化鍵とが記憶されている。一方、初段ノード装置50の補助記憶部には、初段ノード装置50の子ノードである第2段ノード装置60a,60bに各々割り当てられた暗号化鍵が各々記憶されている。また、これらの暗号化鍵には、各々を識別するための暗号化鍵識別情報が割り当てられている。
【0011】
次に、このようなハードウェア構成において、ノード装置によって実現される各種機能について説明する。初段ノード装置50の機能的構成と、非初段ノード装置の機能的構成とは異なるため、これらを区別して説明する。まず、初段ノード装置50の機能的構成について図2を用いて説明する。初段ノード装置50は、通信制御部51と、鍵更新制御部52とを有する。通信制御部51の機能は、初段ノード装置50の有する通信I/Fと、初段ノード装置50の有するCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。鍵更新制御部52の機能は、初段ノード装置50の有するCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。
【0012】
通信制御部51は、非初段ノード装置との通信を制御するものであり、送信部及び受信部に相当する。具体的には、通信制御部51は、後述の鍵更新制御部52が初段ノード装置50の子ノードである第2段ノード装置60a,60bに対してそれぞれ生成したグループ鍵更新メッセージを送信したり、第2段ノード装置60a,60bからグループ鍵更新メッセージを受信した旨を示す送達確認メッセージを受信したり、後述のグループ鍵更新完了メッセージをネットワークに接続された全てのノード装置に送信したりする。
【0013】
鍵更新制御部52は、グループ鍵の更新を制御するものであり、生成部及び暗号化部に相当する。具体的には、鍵更新制御部52は、所定の更新条件に従って、新たなグループ鍵と、グループ鍵の配送が禁止される対象の非初段ノード装置(配送禁止ノードという)のノード識別情報を示すグループ鍵配送禁止リストとを生成する。グループ鍵には、当該グループ鍵を識別するためのグループ鍵識別情報が割り当てられるものとする。所定の更新条件とは、例えば、ネットワークを構成するノード装置が変わったこと等である。配送禁止ノードは、例えば、当該ネットワークから離脱した非初段ノード装置であったり、ネットワークの利用に関する契約上で一時的又は永久的にネットワークの利用が禁止された非初段ノード装置であったりする。前者の配送禁止ノードについては、鍵更新制御部52が、通信制御部51を介してネットワークに接続された非初段ノード装置を定期的又は任意のタイミングで検知することにより、当該ネットワークから離脱した非初段ノード装置を配送禁止ノードとして検知して、当該非初段ノード装置のノード識別情報を取得する。後者の配送禁止ノードについては、当該配送禁止ノードのノード識別情報が初段ノード装置50の例えば補助記憶部に予め記憶されており、鍵更新制御部52は、当該ノード識別情報を補助記憶部から読み出すことにより取得する。
【0014】
そして、鍵更新制御部52は、初段ノード装置50の子ノードのうち配送禁止ノードでない子ノードに対して当該子ノードが復号可能に暗号化したグループ鍵(暗号化グループ鍵という)を含むグループ鍵更新メッセージを生成し、通信制御部51を介してこのグループ鍵更新メッセージを送信する。ここでは、初段ノード装置50の子ノードである第2段ノード装置60a,60bは配送禁止ノードでないとする。この場合、具体的には、鍵更新制御部52は、第2段ノード装置60aに対して、第2段ノード装置60aに割り当てられた暗号化鍵を用いて、新たなグループ鍵を暗号化し、暗号化したグループ鍵(暗号化グループ鍵)及び配送禁止ノードリストを含むグループ鍵更新メッセージを生成してこれを通信制御部51を介して送信する。第2段ノード装置60bに対しても同様に、鍵更新制御部52は、第2段ノード装置60bに割り当てられた暗号化鍵を用いて、新たなグループ鍵を暗号化し、暗号化グループ鍵及び配送禁止ノードリストを含むグループ鍵更新メッセージを生成し、通信制御部51を介してこのグループ鍵更新メッセージを送信する。
【0015】
図3は、グループ鍵更新メッセージのデータ構成を例示する図である。グループ鍵更新メッセージは、グループ鍵情報と、配送禁止ノードリストとを含む。グループ鍵情報は、暗号化鍵を用いて暗号化されたグループ鍵である暗号化グループ鍵と、当該グループ鍵を識別するためのグループ鍵識別情報と、グループ鍵の暗号化に用いられた暗号化鍵を識別するための暗号化鍵識別情報とを含む。同図の例では、配送禁止ノードリストは、配送禁止ノードのノード識別情報をリスト要素としてN個示すと共に、そのリスト要素の数(リスト要素数)N個自体を示す。尚、グループ鍵更新メッセージのデータ構成は、暗号化グループ鍵及び配送禁止ノードを少なくとも含むものであれば、これに限らない。
【0016】
また、鍵更新制御部52は、グループ鍵更新メッセージを送信した全ての子ノード(ここでは第2段ノード装置60a,60bである)から通信制御部51が送達確認メッセージを受信した場合、グループ鍵を使用可能であることを示すグループ鍵更新完了メッセージを、ネットワークに接続された全てのノードに通信制御部51を介して一斉送信して、グループ鍵を有効化する。グループ鍵を有効化とするとは、ネットワークに接続された各ノード装置に対する通信の可否を確認するための認証に当該グループ鍵を用いるということである。
【0017】
次に、非初段ノード装置の機能的構成について図4を用いて説明する。非初段ノード装置は、通信制御部81と、鍵更新制御部82とを有する。通信制御部81の機能は、非初段ノード装置の有する通信I/Fと、非初段ノード装置の有するCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。鍵更新制御部82の機能は、非初段ノード装置の有するCPUが主記憶部や補助記憶部に記憶された各種プログラムを実行することにより実現される。
【0018】
通信制御部81は、当該非初段ノード装置の子ノードや親ノードとの通信を制御するものであり、送信部及び受信部に相当する。具体的には、通信制御部81は、当該非初段ノード装置の親ノードからグループ鍵更新メッセージを受信したり、後述の鍵更新制御部82が当該非初段ノード装置の子ノードに対して生成したグループ鍵更新メッセージを送信したり、当該子ノードからグループ鍵更新メッセージを受信した旨を示す送達確認メッセージを受信したり、当該子ノードからの送達確認メッセージの受信を契機として当該非初段ノード装置の親ノードに送達確認メッセージを送信したり、初段ノード装置50から一斉送信されたグループ鍵更新完了メッセージを受信したりする。尚、通信制御部81は、当該非初段ノード装置の親ノードからグループ鍵更新メッセージを受信した後、後述の鍵更新制御部82がグループ鍵更新メッセージを生成しない場合、グループ鍵更新メッセージを送信することなく、当該非初段ノード装置の親ノードに送達確認メッセージを送信する。
【0019】
鍵更新制御部82は、グループ鍵の更新を制御するものであり、復号部及び暗号化部に相当する。具体的には、鍵更新制御部82は、通信制御部81を介して自身の親ノードからグループ鍵更新メッセージを受信すると、グループ鍵更新メッセージに含まれる暗号化グループ鍵及びグループ鍵配送禁止リストを取得し、自身に割り当てられた暗号化鍵を用いて当該暗号化グループ鍵を復号して、グループ鍵を得る。そして、鍵更新制御部82は、自身に子ノードが存在する場合、当該子ノードのうち、グループ鍵配送禁止リストによってそのノード識別情報が示されていない子ノードに対して当該子ノードが復号可能に暗号化されたグループ鍵(暗号化グループ鍵という)を含むグループ鍵更新メッセージを生成してこれを通信制御部81を介して送信する。具体的には、鍵更新制御部82は、、当該子ノードに割り当てられた暗号化鍵を用いて、当該グループ鍵を暗号化し、暗号化したグループ鍵である暗号化グループ鍵及び受信したグループ鍵更新メッセージに含まれる配送禁止ノードリストを含むグループ鍵更新メッセージを生成してこれを通信制御部81を介して送信する。尚、鍵更新制御部82は、自身に子ノードが存在しない場合や、自身に子ノードが存在する場合であっても当該子ノード全てが配送禁止ノードである場合、即ち、当該子ノード全てノード識別情報がグループ鍵配送禁止リストによって示されている場合は、ノードグループ鍵更新メッセージを生成しない。
【0020】
また、鍵更新制御部82は、通信制御部81を介して初段ノード装置50からグループ鍵更新完了メッセージを受信すると、復号して得たグループ鍵を有効化する。
【0021】
次に、本実施の形態に係るネットワークにおいてグループ鍵を更新するグループ鍵更新処理について説明する。図5は、グループ鍵更新処理の概要を示すシーケンスチャートである。初段ノード装置50は、所定の更新条件に従って、新たなグループ鍵と、配送禁止ノードのノード識別情報を示すグループ鍵配送禁止リストとを生成する。ここでは、第3段ノード装置70bを配送禁止ノードとする。このため、初段ノード装置50は、第3段ノード装置70bのノード識別情報を示すグループ鍵配送禁止リストを生成することになる。
【0022】
初段ノード装置50の子ノードである第2段ノード装置60a,60bは配送禁止ノードではないため、初段ノード装置50は、第2段ノード装置60a,60bのそれぞれに対してグループ鍵更新メッセージを生成する。具体的には、初段ノード装置50は、第2段ノード装置60a,60bのそれぞれに対して割り当てられた暗号化鍵を用いてグループ鍵を各々暗号化し、暗号化したグループ鍵である暗号化グループ鍵及びグループ鍵配送禁止リストを含むグループ鍵更新メッセージを各々生成する。そして、初段ノード装置50は、第2段ノード装置60aに対して生成したグループ鍵更新メッセージを第2段ノード装置60aに送信し(ステップS1)、第2段ノード装置60bに対して生成したグループ鍵更新メッセージを送達確認付きユニキャストにより第2段ノード装置60bに送信する(ステップS2)。
【0023】
第2段ノード装置60aは、初段ノード装置50から送信されたグループ鍵更新メッセージを受信すると、当該グループ鍵更新メッセージに含まれる暗号化グループ鍵及びグループ鍵配送禁止リストを取得し、自身に割り当てられた暗号化鍵を用いて当該暗号化グループ鍵を復号して、グループ鍵を得る。また、第2段ノード装置60aは、グループ鍵配送禁止リストによって示されるノード識別情報を参照して、自身の子ノードである第3段ノード装置70a,70bのうち第3段ノード装置70bが配送禁止ノードであることを判別し、第3段ノード装置70bに対してグループ鍵更新メッセージの生成及び送信を行わないことを決定する。そして、第2段ノード装置60aは、自身の子ノードのうち配送禁止ノード以外の子ノードである第3段ノード装置70aに対して割り当てられた暗号化鍵を用いてグループ鍵を暗号化し、暗号化したグループ鍵である暗号化グループ鍵及びグループ鍵配送禁止リストを含むグループ鍵更新メッセージを生成する。そして、第2段ノード装置60aは、第3段ノード装置70aに対して生成したグループ鍵更新メッセージを送達確認付きユニキャストにより送信する(ステップS3)。第2段ノード装置60bは、初段ノード装置50から送信されたグループ鍵更新メッセージを受信すると、第2段ノード装置60aと同様にして、グループ鍵配送禁止リストによって示されるノード識別情報を参照する。このとき、第2段ノード装置60bは、自身の子ノードである第3段ノード装置70cが配送禁止ノードでないことを判別し、第3段ノード装置70cに対して割り当てられた暗号化鍵を用いてグループ鍵を暗号化し、暗号化したグループ鍵である暗号化グループ鍵及びグループ鍵配送禁止リストを含むグループ鍵更新メッセージを生成する。そして、第2段ノード装置60bは、第3段ノード装置70cに対して生成したグループ鍵更新メッセージを送達確認付きユニキャストにより送信する(ステップS4)。
【0024】
第3段ノード装置70aは、親ノードである第2段ノード装置60aから送信されたグループ鍵更新メッセージを受信すると、自身の子ノードが存在しないため、第2段ノード装置60aに対してグループ鍵更新メッセージを受信した旨を示す送達確認メッセージを送信する(ステップS5)。第3段ノード装置70cについても第3段ノード装置70aと同様に、親ノードである第2段ノード装置60bから送信されたグループ鍵更新メッセージを受信すると、自身の子ノードが存在しないため、第2段ノード装置60bに対して送達確認メッセージを送信する(ステップS6)。
【0025】
第2段ノード装置60aは、第3段ノード装置70aから送信された送達確認メッセージを受信すると、親ノードである初段ノード装置50に送達確認メッセージを送信する(ステップS7)。第2段ノード装置60bについても第2段ノード装置60aと同様に、第3段ノード装置70cから送信された送達確認メッセージを受信すると、親ノードである初段ノード装置50に送達確認メッセージを送信する(ステップS8)。
【0026】
初段ノード装置50は、第2段ノード装置60aから送信された送達確認メッセージ及び第2段ノード装置60bから送信された送達確認メッセージを受信すると、グループ鍵を使用可能であることを示すグループ鍵更新完了メッセージをネットワークに接続された全てのノード装置に一斉送信して(ステップS9)、グループ鍵を有効化する。一斉送信の方法としては、ブロードキャスト、マルチキャストのいずれを用いても良い。
【0027】
第2段ノード装置60a,60b、第3段ノード装置70a,70cは、グループ鍵更新完了メッセージを受信すると、自身の親ノードから受信したグループ鍵更新メッセージから得られたグループ鍵を有効化する。以上のようにして、グループ鍵が更新される。
【0028】
ここで、上述のグループ鍵更新処理において初段ノード装置50の行う処理の詳細について図6を用いて説明する。上述したように、初段ノード装置50は、所定の更新条件に従って、新たなグループ鍵と、配送禁止ノードのノード識別情報を示すグループ鍵配送禁止リストPとを生成する(ステップS20)。ここで、初段ノード装置50の子ノードのノード識別情報を示すリストをLとし、グループ鍵更新メッセージに対する送達確認メッセージの受信を待機している対象の子ノードのノード識別情報を示すリストをTとし、Tの初期値を「null」とし、グループ鍵更新完了メッセージの送信の可否を示すグループ鍵更新完了メッセージ送信フラグをSとし、Sの値を「偽」とする。
【0029】
次いで、初段ノード装置50は、「Lが空か?」という条件の真偽を判断し、当該条件が真であれば、ステップS25に進み、当該条件が偽であれば、ステップS22に進む。ステップS22では、初段ノード装置50は、Lによって示されるノード識別情報のうち未抽出のノード識別情報を1つ抽出する。これをXとする。初段ノード装置50は、「XがPによって示されているか?」という条件の真偽を判断し(ステップS23)、当該条件が真であれば、ステップS21に戻り、当該条件が偽であれば、ステップS24に進む。ステップS24では、初段ノード装置50は、Xに対応するノード装置(ここでは第2段ノード装置60a,60bのいずれか)に割り当てられた暗号化鍵を用いてグループ鍵を暗号化し、暗号化したグループ鍵である暗号化グループ鍵KEYMAT及びPを含むグループ鍵更新メッセージMを生成し、これをXに対応するノード装置に送信し、TにXを追加する。
【0030】
ステップS25では、初段ノード装置50は、「Tが空か?」という条件の真偽を判断し、当該条件が真であれば、ステップS29に進み、当該条件が偽であれば、ステップS26に進む。ステップS26では、初段ノード装置50は、ステップS24で送信したグループ鍵更新メッセージに対する送達確認メッセージの受信を待機し、待機の対象である子ノードのノード識別情報をXとし、TからXを削除する。そして、初段ノード装置50は、「送達確認メッセージを受信したか?」、即ち、「送達確認結果が成功か?」という条件の真偽を判断し(ステップS27)、当該条件が真であれば、ステップS28に進み、当該条件が偽であれば、ステップS25に戻る。ステップS28では、初段ノード装置50は、Sを真とし、ステップS25に戻る。
【0031】
ステップS29では、初段ノード装置50は、「Sが真か?」という条件の真偽を判断し、当該条件が真であれば、ステップS30に進み、当該条件が偽であれば、処理を終了する。ステップS30では、初段ノード装置50は、鍵更新完了メッセージをネットワークに接続された全てのノード装置に一斉送信して、グループ鍵を有効化し、処理を終了する。
【0032】
上述のグループ鍵更新処理において非初段ノード装置の行う処理の詳細について図7を用いて説明する。上述したように、非初段ノード装置は、親ノードからグループ鍵更新メッセージMを受信すると、当該グループ鍵更新メッセージに含まれる暗号化グループ鍵及びグループ鍵配送禁止リストPを取得し、自身に割り当てられた暗号化鍵を用いて当該暗号化グループ鍵KEYMATを復号して、グループ鍵Kを得る(ステップS40)。ここで、当該非初段ノード装置の子ノードのノード識別情報を示すリストをLとし、グループ鍵更新完了メッセージに対する送達確認メッセージの受信を待機している対象の子ノードのノード識別情報をTとし、Tの初期値を「null」とする。
【0033】
次いで、非初段ノード装置は、「Lが空か?」という条件の真偽を判断し(ステップS41)、当該条件が真であれば、ステップS45に進み、当該条件が偽であれば、ステップS42に進む。ステップS42では、非初段ノード装置は、Lによって示されるノード識別情報のうち未抽出のノード識別情報を1つ抽出する。これをXとする。初段ノード装置50は、「XがPによって示されているか?」という条件の真偽を判断し(ステップS43)、当該条件が真であれば、ステップS41に戻り、当該条件が偽であれば、ステップS44に進む。ステップS44では、初段ノード装置50は、Xに対応するノード装置に割り当てられた暗号化鍵を用いてグループ鍵を暗号化し、暗号化したグループ鍵である暗号化グループ鍵KEYMAT´及びPを含むグループ鍵更新メッセージMを生成し、これをXに対応するノード装置に送信し、TにXを追加する。
【0034】
ステップS45では、非初段ノード装置は、「Tが空か?」という条件の真偽を判断し、当該条件が真であれば、ステップS47に進み、当該条件が偽であれば、ステップS46に進む。ステップS46では、非初段ノード装置は、ステップS44で送信したグループ鍵更新メッセージに対する送達確認メッセージの受信を待機し、待機の対象である子ノードのノード識別情報をXとし、TからXを削除する。ステップS47では、非初段ノード装置は、親ノードに送達確認メッセージを送信する。その後、非初段ノード装置は、初段ノード装置50から送信された鍵更新完了メッセージの受信に成功したか否かを判断し(ステップS48)、当該判断結果が肯定的である場合、ステップS49に進み、当該判断結果が否定的である場合、処理を終了する。ステップS49では、非初段ノード装置は、グループ鍵を有効化して、処理を終了する。
【0035】
以上のように、1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、グループ鍵を更新する際に、暗号化した新たなグループ鍵と鍵更新禁止ノードリストとを含むグループ鍵更新メッセージを、送達確認付きユニキャストにより、ネットワークの根ノードから順に、親子関係を有するノード装置間で下の階層へと伝搬させる。これにより、各ノード装置が送信するグループ鍵更新メッセージの数がノード装置の存在する階層に依存しなくなり、かつ、ネットワーク内で送受信されるグループ鍵更新メッセージの総数を低減することができる。また、ブロードキャストやマルチキャストの信頼性が低いネットワークにおいてもグループ鍵の更新が可能となる。
【0036】
[変形例]
尚、本発明は前記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、前記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除しても良い。更に、異なる実施形態にわたる構成要素を適宜組み合わせても良い。また、以下に例示するような種々の変形が可能である。
【0037】
上述した実施の形態において、ノード装置で実行される各種プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また当該各種プログラムを、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供するように構成しても良い。
【0038】
上述した実施の形態において、ノード装置は、電力メータ、電気自動車、センサ、家電機器、蓄電池、太陽光発電装置、HEMS(Home Energy Management System)、BEMS (Building EMS)及びCEMS(Community EMS)等のエネルギー機器の中に組み込まれていても良い。
【0039】
上述した実施の形態において、ノード装置は、子ノードが休眠状態である場合には、子ノードが通常状態になるまでグループ鍵更新メッセージの送信をペンディングしても良く、その場合、子ノードから何らかのパケット(例えば、IEEE 802.15.4のData Request MACフレーム)を受信すると、子ノードが通常状態になったとみなして、子ノードにグループ鍵更新メッセージを送信するようにしても良い。
【0040】
上述した実施の形態において、初段ノード装置50は、自身の子ノードのうち配送禁止ノード以外の子ノードに対してグループ鍵更新メッセージを送信後、所定の時間間隔で再送するようにしても良い。そして、初段ノード装置50は、当該子ノードからの送達確認メッセージの受信に成功した場合又は失敗した場合でも、即ち、当該子ノードからの送達確認メッセージの受信の結果に応じて、グループ鍵更新完了メッセージを一斉送信して、グループ鍵を有効化しても良い。
【0041】
また、非初段ノード装置は、自身の子ノードのうち配送禁止ノード以外の子ノードに対してグループ鍵更新メッセージを送信後、所定の時間間隔で再送するようにしても良い。そして、非初段ノード装置は、当該子ノードからの送達確認メッセージの受信に成功した場合又は失敗した場合でも、即ち、当該子ノードからの送達確認メッセージの受信の結果に応じて、自身の親ノードに送達確認メッセージを送信するようにしても良い。
【0042】
また、非初段ノード装置は、グループ鍵更新メッセージの受信に失敗した又はグループ鍵更新メッセージの受信には成功したがグループ鍵更新完了メッセージの受信に失敗した場合、特許文献1に記載のグループ鍵配送方法を用いて更新されたグループ鍵を取得しても良い。
【0043】
上述した実施の形態において、1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーは、ルーチングプロトコルが生成するトポロジー情報を下に構成されるようにしても良い。例えば、参考文献1に規定されるRPL(IPv6 Routing Protocol for Low power and Lossy Networks)が生成するDODAG(Destination Oriented Directed Acyclic Graph)の情報を下に無閉路有向グラフトポロジーが構成されるようにしても良い。
(参考文献1)http://tools.ietf.org/html/draft-ietf-roll-rpl-15
【0044】
上述した実施の形態において、子ノードは、複数の親ノードを有する場合、複数の親ノードの中から1つの親ノード(代表親ノードという)を選択し、代表親ノードからグループ鍵更新メッセージを受信した場合、上述の実施の形態と同様にして、自身の子ノードのうち配送禁止ノード以外の子ノードに対してグループ鍵更新メッセージを生成して送信し、当該子ノードから送達確認メッセージを受信すると、当該代表親ノードに送達確認メッセージを送信する。一方、複数の親ノードを有する子ノードが、代表親ノード以外の親ノードからグループ鍵更新メッセージを受信した場合、自身の子ノードが存在しないものとして動作する、即ち、代表親ノード以外の親ノードから受信したグループ鍵更新メッセージに含まれる暗号化グループ鍵を復号することなく、自身の子ノードに対してグループ鍵更新メッセージを生成せず送信しない。
【0045】
上述した実施の形態においては、グループ鍵の暗号化に用いる暗号化鍵は、上述の例に限らない。例えば、子ノードに割り当てられた公開鍵を暗号化鍵として用いるようにしても良い。また、子ノードと親ノードとの間でのみ共有される共有鍵を暗号化鍵として用いるようにしても良い。
【0046】
また、暗号化鍵としてMKB(media key block)を用いても良い。MKBは、例えば初段ノード装置50により生成され、各非初段ノード装置に対してMKBに含まれるデバイス鍵が各々割り当てられる。図8は、本変形例に係るMKBの構造及び非初段ノード装置に暗号化鍵としてのデバイス鍵の割当てを例示する図である。同図に示されるMKBでは、複数のデバイス鍵K1,K21,K22,K31〜K34,K41〜K48が1次元の木構造をなしている。この木構造において、最上位の階層に存在する根ノードはデバイス鍵K1であり、最下位の階層に存在する葉ノードはデバイス鍵K41〜K48である。この木構造における各葉ノードに各非初段ノード装置を各々対応させて、各非初段ノード装置に、この木構造における根ノードから葉ノードまでのパス上のデバイス鍵の組を暗号化鍵として割り当てる。例えば、第2段ノード装置60aには、デバイス鍵「DK2=(K1,K21,K31,K42)」が割り当てられ、第2段ノード装置60bには、デバイス鍵「DK3=(K1,K21,K32,K43)」が割り当てられ、第3段ノード装置70aには、デバイス鍵「DK4=(K1,K21,K32,K44)」が割り当てられ、第3段ノード装置70bには、デバイス鍵「DK5=(K1,K22,K33,K45)」が割り当てられ、第3段ノード装置70cには、デバイス鍵「DK6=(K1,K22,K33,K46)」が割り当てられる。このような構成において、初段ノード装置50は、グループ鍵更新メッセージに含ませる暗号化グループ鍵を、各非初段ノード装置に対して割り当てられた有効なデバイス鍵の各々でグループ鍵GKが暗号化された暗号化グループ鍵の集合、即ち、{E(GK,DK2),E(GK,DK3),E(GK,DK4),E(GK,DK5),E(GK,DK6)}としても良い。ここで、E(m,y)は、mをyで暗号化した値である。但し、上述の実施の形態と同様に、第3段ノード装置70bが配送禁止ノードである場合、第3段ノード装置70bのデバイス鍵DK5は無効化されていても良く、その場合、初段ノード装置50は、グループ鍵更新メッセージに含ませる暗号化グループ鍵からE(GK,DK5)は除外するようにしても良い。一方、各非初段ノード装置は、自身の親ノードからグループ鍵更新メッセージを受信すると、自身に割り当てられたデバイス鍵を用いて暗号化グループ鍵の復号化を行う。そして、各非初段ノード装置は、自身の子ノードにグループ鍵更新メッセージを送信する際、当該子ノードに対して割り当てられた暗号化鍵であるデバイス鍵を用いてグループ鍵を暗号化することなく、自身の親ノードから受信したグループ鍵更新メッセージを送信すれば良い。
【0047】
具体的には、図5のグループ鍵更新処理では、初段ノード装置50は、ステップS1〜S2で、暗号化グループ鍵の集合及びグループ鍵配送禁止リストを含むグループ鍵更新メッセージを第2段ノード装置60a,60bのそれぞれに送信する。ステップS3では、第2段ノード装置60aは、初段ノード装置50から送信されたグループ鍵更新メッセージを受信すると、当該グループ鍵更新メッセージに含まれる暗号化グループ鍵の集合及びグループ鍵配送禁止リストを取得し、自身に割り当てられたデバイス鍵を用いて当該暗号化グループ鍵の集合に含まれる暗号化グループ鍵(ここではE(GK,DK2)である)を復号して、グループ鍵を得る。そして、第2段ノード装置60aは、第3段ノード装置70aに対して、初段ノード装置50から受信したグループ鍵更新メッセージを送信する。ステップS4もステップS3と同様である。
【0048】
以上のような構成によっても、1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、グループ鍵を更新する際に、送受信されるグループ鍵更新メッセージの数を低減することができる。更に、非初段ノード装置が、グループ鍵の暗号化を行う必要をなくし、自身の子ノードに割り当てられた暗号化鍵を記憶する必要をなくすことができる。
【符号の説明】
【0049】
50 初段ノード装置
51 通信制御部
52 鍵更新制御部
60a,60b 第2段ノード装置
70a,70b,70c 第3段ノード装置
81 通信制御部
82 鍵更新制御部

【特許請求の範囲】
【請求項1】
1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークの前記根ノードであって、
グループ鍵と、前記グループ鍵の配送が禁止される対象の第1のノードを示すリストとを生成する生成部と、
前記根ノードの子ノードのうち前記第1のノード以外の第1の子ノードが復号可能な前記グループ鍵を暗号化する暗号化部と、
前記第1の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、前記リストとを含む第1のメッセージを送信する送信部とを備える
ノード。
【請求項2】
前記第1の子ノードから前記第1のメッセージを受信した旨を示す第2のメッセージを受信する受信部を更に備え、
前記送信部は、更に、前記第1の子ノードに対して送信した前記第1のメッセージを所定の時間間隔で再送し、前記第1のメッセージに対する前記第1の子ノードからの前記第2のメッセージの受信の結果に応じて、前記グループ鍵が使用可能であることを示す第3のメッセージを前記複数のノードに送信する
請求項1に記載のノード。
【請求項3】
前記暗号化部は、前記第1の子ノードに割り当てられた公開鍵を用いて前記グループ鍵を暗号化する
請求項1又は2に記載のノード。
【請求項4】
前記暗号化部は、前記根ノードと前記第1の子ノードとの間でのみ共有される共有鍵を用いて前記グループ鍵を暗号化する
請求項1又は2に記載のノード。
【請求項5】
前記暗号化部は、MKB(Media Key Block)を用いて前記グループ鍵を暗号化する
請求項1又は2に記載のノード。
【請求項6】
1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークの前記根ノード以外の第1のノードであって、
前記第1のノードが復号可能に暗号化されたグループ鍵である暗号化グループ鍵と、前記グループ鍵の配送が禁止される対象の第2のノードを示すリストを含む第1のメッセージを前記第1のノードの親ノードから受信する受信部と、
前記暗号化グループ鍵を復号化して、前記グループ鍵を得る復号部と、
前記第1のノードの子ノードのうち前記リストによって示される第2のノード以外の第1の子ノードが復号可能に前記グループ鍵を暗号化する暗号化部と、
前記第1の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、前記リストとを含む第2のメッセージを送信する送信部とを備える
ノード。
【請求項7】
前記送信部は、前記第1のノードの子ノード又は前記第1の子ノードが存在しない場合、前記第1のメッセージを受信した旨を示す第3のメッセージを前記親ノードに送信する
請求項6に記載のノード。
【請求項8】
前記受信部は、前記第1の子ノードが存在する場合、更に、前記第1の子ノードから前記第2のメッセージを受信した旨を示す第4のメッセージを受信し、
前記送信部は、前記第1の子ノードが存在する場合、更に、前記第1の子ノードに対して送信した前記第2のメッセージを所定の時間間隔で再送し、前記第1の子ノードから送信された前記第4のメッセージの受信の結果に応じて、前記第3のメッセージを前記親ノードに送信する
請求項7に記載のノード。
【請求項9】
前記受信部は、更に、前記の根ノードから送信された、前記グループ鍵が使用可能であることを示す第5のメッセージを受信し、
前記第5のメッセージが受信された場合、前記グループ鍵を有効化する有効化部とを更に備える
請求項6乃至8のいずれか一項に記載のノード。
【請求項10】
前記親ノードが複数存在する場合、複数の前記親ノードの中から第1の親ノードを選択する選択部を更に備え、
前記復号部は、複数の前記親ノードのうち前記第1の親ノード以外の第2の親ノードから受信された前記第1のメッセージに含まれる前記暗号化グループ鍵を復号化しない
請求項6乃至9のいずれか一項に記載のノード。
【請求項11】
1つの根ノードとなるノードを含み且つ隣接する階層のノード間で親子関係を有する複数のノードにより無閉路有向グラフトポロジーを形成するネットワークにおいて、
前記根ノードが、
グループ鍵と、前記グループ鍵の配送が禁止される対象の第1のノードを示すリストとを生成し、
前記根ノードの子ノードのうち前記第1のノード以外の第1の子ノードが復号可能に前記グループ鍵を暗号化し、
前記第1の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、前記リストとを含む第1のメッセージを送信し、
前記根ノード以外の第2のノードが、
前記第2のノードが復号可能に暗号化されたグループ鍵である暗号化グループ鍵と、前記グループ鍵の配送が禁止される対象の第3のノードを示すリストを含む第2のメッセージを前記第2のノードの親ノードから受信し、
前記暗号化グループ鍵を復号化して、前記グループ鍵を得て、
前記第2のノードの子ノードのうち前記リストによって示される第3のノード以外の第2の子ノードが復号可能に前記グループ鍵を暗号化し、
前記第2の子ノードに対して暗号化されたグループ鍵である暗号化グループ鍵と、前記リストとを含む第3のメッセージを送信する
グループ鍵更新方法。
【請求項12】
前記根ノードが、更に、前記第1の子ノードに対して送信した前記第1のメッセージを所定の時間間隔で再送し、
前記第2のノードが、前記第2のノードの子ノード又は前記第2の子ノードが存在しない場合、前記第2のメッセージを受信した旨を示す第6のメッセージを前記親ノードに送信し、前記第2の子ノードが存在する場合、更に、前記第2の子ノードに対して送信した前記第3のメッセージを所定の時間間隔で再送し、前記第2の子ノードからの前記第3のメッセージを受信した旨を示す第7のメッセージの受信の結果に応じて、前記第6のメッセージを前記親ノードに送信し、
前記根ノードが、前記第1の子ノードからの前記第1のメッセージを受信した旨を示す第4のメッセージの受信の結果に応じて、前記グループ鍵が使用可能であることを示す第5のメッセージを前記複数のノードに送信して、前記グループ鍵を有効化し、
前記複数のノードの全部又は一部が、前記第5のメッセージを受信して、前記グループ鍵を有効化する
請求項11に記載のグループ鍵更新方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate