(57)【要約】  複数の通信装置に接続される通信制御装置であって、グループ情報記憶部と圧縮情報生成部と出力部とを備える。グループ情報記憶部は、グループを識別するグループＩＤと、グループに属する通信装置を識別する装置ＩＤとを含むグループ情報を記憶する。圧縮情報生成部は、グループ情報に含まれる装置ＩＤを圧縮した圧縮情報を生成する。出力部は、グループ情報が更新された場合に、更新後のグループ情報に含まれるグループＩＤを特定する特定情報と、更新後のグループ情報に含まれる装置ＩＤが圧縮された圧縮情報と、を含む出力情報を、更新後のグループ情報に含まれる装置ＩＤで識別される通信装置を含む通信装置の集合に対して出力する。
2014010087.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置に接続される通信制御装置であって、
グループを識別するグループＩＤと、前記グループに属する前記通信装置を識別する装置ＩＤとを含むグループ情報を記憶するグループ情報記憶部と、
前記グループ情報に含まれる前記装置ＩＤを圧縮した圧縮情報を生成する圧縮情報生成部と、
前記グループ情報が更新された場合に、更新後の前記グループを特定する特定情報と、更新後の前記グループ情報に含まれる前記装置ＩＤが圧縮された圧縮情報と、を含む出力情報を、更新後の前記グループ情報に含まれる前記装置ＩＤで識別される前記通信装置のすべてと更新後の前記グループ情報に含まれない前記装置ＩＤで識別される前記通信装置を１以上含む複数の前記通信装置に対して出力する出力部と、
を備えることを特徴とする通信制御装置。
【請求項２】
前記出力部は、更新後の前記グループ情報に含まれる前記装置ＩＤで識別される前記通信装置を含む前記通信装置のすべてと更新後の前記グループ情報に含まれない前記装置ＩＤで識別される前記通信装置を１以上含む複数の前記通信装置に対して、マルチキャスト通信により前記出力情報を出力すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記出力部は、ブロードキャスト通信により前記出力情報を出力すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項４】
前記装置ＩＤは数値で表され、
属性が相互に類似または一致する複数の前記通信装置に対して割り当てる前記装置ＩＤの差分が、属性が相互に類似または一致しない複数の前記通信装置に対して割り当てる前記装置ＩＤの差分より小さくなるように、前記装置ＩＤを割り当てる割当部をさらに備えること、
を特徴とする請求項１に記載の通信制御装置。
【請求項５】
前記グループに属する前記通信装置が使用するグループ鍵を生成するグループ鍵生成部と、
前記グループに属する前記通信装置が前記グループ鍵を導出可能な秘匿情報を生成する秘匿情報生成部と、をさらに備え、
前記出力部は、前記秘匿情報をさらに含む前記出力情報を出力すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項６】
前記秘匿情報生成部は、前記グループ鍵と、前記グループ鍵に対応する前記グループに属する前記通信装置に割り当てられるデバイス鍵とから、メディアキーブロックである前記秘匿情報を生成すること、
を特徴とする請求項５に記載の通信制御装置。
【請求項７】
前記グループに属する前記通信装置が、前記グループ鍵と、更新後の前記グループ情報に含まれる前記グループＩＤと、を導出可能な秘匿情報を生成する秘匿情報生成部をさらに備え、
前記出力部は、前記特定情報として前記秘匿情報を含む前記出力情報を出力すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項８】
管理装置にさらに接続され、
前記管理装置は、
前記グループに属する前記通信装置が使用するグループ鍵を生成するグループ鍵生成部と、
前記グループに属する前記通信装置が前記グループ鍵を導出可能な秘匿情報を生成する秘匿情報生成部と、を備え、
前記出力部は、前記管理装置によって生成された前記秘匿情報をさらに含む前記出力情報を出力すること、
を特徴とする請求項１に記載の通信制御装置。
【請求項９】
通信制御装置に接続される通信装置であって、
グループを特定する特定情報と、前記グループに属する装置を識別する装置ＩＤを圧縮した圧縮情報と、を含む出力情報を通信制御装置から受信する受信部と、
前記グループを識別するグループＩＤを記憶するグループＩＤ記憶部と、
前記圧縮情報から求められる前記装置ＩＤに、前記通信装置を識別するＩＤが含まれるか否かを判定する判定部と、
前記圧縮情報から求められる前記装置ＩＤに前記通信装置を識別するＩＤが含まれると判定された場合に、前記出力情報に含まれる前記特定情報によって特定される前記グループの前記グループＩＤで、前記グループＩＤ記憶部に記憶された前記グループＩＤを更新する更新部と、
を備えることを特徴とする通信装置。
【請求項１０】
前記受信部は、マルチキャスト通信により通信制御装置から送信された前記出力情報を受信すること、
を特徴とする請求項９に記載の通信装置。
【請求項１１】
前記受信部は、ブロードキャスト通信により通信制御装置から送信された前記出力情報を受信すること、
を特徴とする請求項９に記載の通信装置。
【請求項１２】
前記受信部は、さらに、前記グループに属する前記通信装置が使用するグループ鍵を含む前記出力情報を受信し、
前記出力情報に含まれる前記グループ鍵を記憶する鍵記憶部をさらに備えること、
を特徴とする請求項９に記載の通信装置。
【請求項１３】
前記受信部は、前記グループ鍵と、１以上の装置に割り当てられるデバイス鍵とから生成されるメディアキーブロックを含む前記出力情報を受信し、
前記通信装置に割り当てられるデバイス鍵を記憶するデバイス鍵記憶部と、
前記デバイス鍵記憶部に記憶されたデバイス鍵と、前記メディアキーブロックとから前記グループ鍵を生成するＭＫＢ処理部と、をさらに備えること、
を特徴とする請求項１２に記載の通信装置。
【請求項１４】
グループを識別するグループＩＤと、前記グループに属する前記通信装置を識別する装置ＩＤとを含むグループ情報を記憶するグループ情報記憶部を備え、複数の通信装置に接続されるコンピュータを、
前記グループ情報に含まれる前記装置ＩＤを圧縮した圧縮情報を生成する圧縮情報生成部と、
前記グループ情報が更新された場合に、更新後の前記グループを特定する特定情報と、更新後の前記グループ情報に含まれる前記装置ＩＤが圧縮された圧縮情報と、を含む出力情報を、更新後の前記グループ情報に含まれる前記装置ＩＤで識別される前記通信装置のすべてと更新後の前記グループ情報に含まれない前記装置ＩＤで識別される前記通信装置を１以上含む複数の前記通信装置に対して出力する出力部と、
として機能させるためのプログラム。
【請求項１５】
グループを識別するグループＩＤを記憶するグループＩＤ記憶部を備え、通信制御装置に接続されるコンピュータを、
前記グループを特定する特定情報と、前記グループに属する装置を識別する装置ＩＤを圧縮した圧縮情報と、を含む出力情報を通信制御装置から受信する受信部と、
前記圧縮情報から求められる前記装置ＩＤに、前記通信装置を識別するＩＤが含まれるか否かを判定する判定部と、
前記圧縮情報から求められる前記装置ＩＤに前記通信装置を識別するＩＤが含まれると判定された場合に、前記出力情報に含まれる前記特定情報によって特定される前記グループの前記グループＩＤで、前記グループＩＤ記憶部に記憶された前記グループＩＤを更新する更新部と、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、通信制御装置、通信装置およびプログラムに関する。
【背景技術】
【０００２】
ネットワークで接続された多数の機器の管理を効率的に行うために、機器をグループで管理する方法が存在する。グループによる管理法には、予め決められたグループ構造を利用する静的な管理法と、状況に応じてグループを生成および削除する動的な管理法が存在する。
【先行技術文献】
【非特許文献】
【０００３】
【非特許文献１】M.  Baugher  et  al.、"RFC  3547、  The  Group  Domain  of  Interpretation"、  [online]、  July  2003、  retrieved  from  the  Internet:  <URL:  http://www.ietf.org/rfc/rfc3547.txt  >
【非特許文献２】S.  Deering、"RFC  1112、Host  Extensions  for  IP  Multicasting"、  [online]、  August  1989、  retrieved  from  the  Internet:  <URL:  http://www.ietf.org/rfc/rfc1112.txt  >
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、動的なグループ管理方法は、状況に応じて柔軟な管理が可能であるが、スケーラビリティの確保が課題となる。【０００５】
本発明は、上記に鑑みてなされたものであって、スケーラビリティを確保しながら動的なグループ管理を実現できる通信制御装置、通信装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の通信制御装置は、複数の通信装置に接続され、グループ情報記憶部と圧縮情報生成部と出力部とを備える。グループ情報記憶部は、グループを識別するグループＩＤと、グループに属する通信装置を識別する装置ＩＤとを含むグループ情報を記憶する。圧縮情報生成部は、グループ情報に含まれる装置ＩＤを圧縮した圧縮情報を生成する。出力部は、グループ情報が更新された場合に、更新後のグループを特定する特定情報と、更新後のグループ情報に含まれる装置ＩＤが圧縮された圧縮情報と、を含む出力情報を、更新後のグループ情報に含まれる装置ＩＤで識別される通信装置を含む通信装置の集合に対して出力する。
【発明の効果】
【０００７】
本発明によれば、スケーラビリティを確保しながら動的なグループ管理を実現できるという効果を奏する。
【図面の簡単な説明】
【０００８】
【図１】第１の実施形態にかかる通信システムのブロック図。
【図２】第１の実施形態の通信制御装置のブロック図。
【図３】グループ情報のデータ構造の一例を示す図。
【図４】アドレス記憶部に記憶されるデータのデータ構造の一例を示す図。
【図５】ワイルドカード文字を利用した圧縮法の一例を示す図。
【図６】第１の実施形態のノードのブロック図。
【図７】第１の実施形態における更新依頼処理のフローチャート。
【図８】第１の実施形態におけるグループ情報更新処理のフローチャート。
【図９】第２の実施形態にかかる通信システムのブロック図。
【図１０】第２の実施形態の通信制御装置のブロック図。
【図１１】第２の実施形態のノードのブロック図。
【図１２】変形例２の通信制御装置および管理装置のブロック図。
【図１３】変形例２の通信制御装置および管理装置のブロック図。
【図１４】第３の実施形態にかかる通信システムのブロック図。
【図１５】第３の実施形態のアクセス装置のブロック図。
【図１６】変形例３にかかる通信システムのブロック図。
【図１７】変形例３の通信システムによる通信処理のシーケンス図。
【図１８】第１〜第３の実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００９】
以下に添付図面を参照して、この発明にかかる装置の好適な実施の形態を詳細に説明する。
【００１０】
（第１の実施形態）
動的なグループ管理方法として、グループ管理サーバと多数のノードとがネットワークで接続されている状況下で、グループ管理サーバがノードとユニキャスト通信による相手認証を実行し、認証に成功したノードにグループ鍵を配布するプロトコルが知られている。この方法では、相手認証とグループ鍵の更新により、グループに属するノードの動的な制御が実現できる。しかし、同時に数多くのノードのグループを変更する場合などには、グループ管理サーバでの処理が集中するという問題がある。また、複数のノードに同じ情報を配信するマルチキャストの技術が知られている。しかし、マルチキャストは、マルチキャストアドレスの割り当てなどの問題により、多数の機器の動的なグループ制御のように、多くのグループが存在しうる状況下には不向きな技術である。このように、動的なグループ制御を実現する際には、認証やデータ配布法のため、スケーラビリティの確保が課題であった。そのため、非常に多くのノードが存在する状況下では、動的なグループ制御を行うシステムの実現が困難であった。
【００１１】
そこで、第１の実施形態にかかる通信システムは、通信制御装置によって通信装置（以下、ノードという）に対して動的に割り当てられるグループＩＤにより、当該ノードが属するグループを決定する。グループＩＤは、グループを識別する識別情報である。グループＩＤを含む情報は、マルチキャスト通信やブロードキャスト通信により送信される。このため、グループＩＤを含む情報は、グループ変更の対象となるノード以外にも届く可能性がある。本実施形態の通信システムでは、グループＩＤに加え、グループ変更の対象となるノードを識別する装置ＩＤ（以下、ノードＩＤという）を効率的に表現した情報に、通信制御装置の署名を付加することにより、動的なグループ変更コマンドの偽造を防止する。以上の処理により、スケーラビリティと安全性を両立しつつ、動的なグループ制御が可能となる。
【００１２】
本実施形態にかかるノードを含む通信システムでは、各ノードは、自身のノードＩＤと通信制御装置の検証鍵とを予め記録している。ノードは、グループ変更のコマンドを受信すると、受信したコマンドに含まれる更新対象のノードＩＤを表す情報と、自身のノードＩＤとを比較する。自身のノードＩＤが更新対象となっている場合、ノードは、コマンドに含まれる署名を検証し、検証に合格した場合、自身の所属するグループのグループＩＤをコマンドに含まれているグループＩＤに変更する。
【００１３】
ここで、ノードＩＤは、各ノードに１つのみが割り当てられるとは限らない。例えば、各ノードが目的に応じて複数のノードＩＤを保持してもよい。この場合、複数のノードＩＤを持つ各ノードは、コマンドの対象となっているノードＩＤを保持しているかの比較を行い、保持していた場合、保持しているノードＩＤに対して先の例と同様の処理を行う。
【００１４】
以上のように、本実施形態では、動的なグループ制御にあたって、従来のように、ユニキャスト通信によるグループＩＤの送付や、ノードと通信制御装置との間での新たな認証を行う必要がない。また、コマンドの対象となるノードＩＤのリストを効率的に表現しているため、多くのノードを対象としたコマンドを発行する場合であっても、特に通信コストを抑えることができる。さらに、ネットワークの構成、ノードの用途、ノードの製造者、および、ノードの設置場所（地理的な位置情報）などの属性を考慮してノードＩＤを割り当てれば、コマンドの対象となるノードＩＤのリストの効率を低下させないことが可能となる。
【００１５】
図１は、第１の実施形態にかかる通信システムの構成の一例を示すブロック図である。図１に示すように、本実施形態の通信システムは、ノード２００ａ〜２００ｆと、通信制御装置１００とが、ネットワーク６０で接続された構成となっている。ネットワーク６０は、インターネットなどのあらゆるネットワーク形態を適用できる。各ノード２００ａ〜２００ｆは、通信制御装置１００と直接接続されている必要はない。
【００１６】
通信制御装置１００は、１つに限られるものではなく、２以上の通信制御装置を備えるように構成してもよい。ノード２００ａ〜２００ｆは同様の構成を備えるため、以下では単にノード２００という場合がある。ノード２００の個数は６に限られるものではない。
【００１７】
図１に示すように、本実施形態では、通信制御装置１００が、各ノード２００に対してグループ変更コマンドを送信する。グループ変更コマンドは、例えば、更新対象のノードＩＤを表す情報、グループＩＤ、および署名を含む。
【００１８】
図２は、通信制御装置１００の構成例を表すブロック図である。図２に示すように、通信制御装置１００は、署名鍵記憶部１２１と、グループ情報記憶部１２２と、アドレス記憶部１２３と、受信部１０１と、グループ情報処理部１０２と、ＩＤ生成部１０３と、圧縮情報生成部１０４と、署名生成部１０５と、出力部１０６と、を備える。
【００１９】
署名鍵記憶部１２１は、署名の生成に用いる署名鍵を記憶する。グループ情報記憶部１２２は、グループＩＤと、グループＩＤで識別されるグループに属するノード２００のノードＩＤとを含むグループ情報を記憶する。つまり、グループ情報記憶部１２２は、グループＩＤと、グループＩＤで識別されるグループに属するノード２００のノードＩＤとを対応付けて記憶する。図３は、グループ情報のデータ構造の一例を示す図である。図３に示すように、グループ情報は、グループＩＤと、１以上のノードＩＤとを含む。なお、図３のデータ構造は一例であり、テーブル形式以外のデータ構造を用いてもよい。なお、あるノード２００が複数のグループに属する場合もあり、この場合、このノード２００のノードＩＤに対して複数のグループＩＤが存在する。
【００２０】
図２に戻り、アドレス記憶部１２３は、出力部１０６による情報の出力先となるアドレスを記憶する。図４は、アドレス記憶部１２３に記憶されるデータのデータ構造の一例を示す図である。図４に示すように、アドレス記憶部１２３は、アドレスと、当該アドレスに対応づけられるノードＩＤとを対応づけたデータを記憶する。アドレスは、例えば、対応する各ノードＩＤのノード２００に対してマルチキャスト通信で情報を送信するためのマルチキャストアドレスである。マルチキャスト通信を用いない場合（例えばブロードキャスト通信を用いる場合）、アドレス記憶部１２３を備えないように構成してもよい。
【００２１】
図２に戻り、受信部１０１は、ノード２００などの外部装置から各種情報を受信する。受信部１０１は、例えば、グループ制御の要求、および、グループ制御の対象を指定する情報などを受信する。グループ制御の要求とは、グループの新規作成、グループの変更（グループに属するノード２００の変更など）などの要求である。なお、外部装置からグループ制御の要求を受信した場合のみでなく、通信制御装置１００内でグループ制御の要否を判断し、必要と判断した場合にグループ制御を実行してもよい。受信部１０１は、グループ制御の要求、および、グループ制御の対象を指定する情報（入力情報）をグループ情報処理部１０２に送る。
【００２２】
グループ情報処理部１０２は、入力情報に従い、グループ管理コマンドを発行するための処理を実行する。グループ情報処理部１０２は、まず、新規のグループを生成する必要の有無を判定する。グループ情報処理部１０２は、新規グループ生成の必要がないと判定した場合、以下に示すグループ管理処理を行う。
【００２３】
新規グループ生成の必要があると判定した場合、グループ情報処理部１０２は、ＩＤ生成部１０３に対して、新規グループに割り当てるグループＩＤの生成を要求する。ＩＤ生成部１０３は、要求に応じて新規のグループＩＤを生成する。ＩＤ生成部１０３によるグループＩＤの生成方法は任意である。例えば、ランダムに選択された文字列をグループＩＤとする方法、および、グループの代表を務める機器のＩＰアドレスとグループの属性とを連結した文字列をグループＩＤとする方法などから、グループの目的に応じて適切な方法を決定すればよい。
【００２４】
グループ情報処理部１０２は、生成されたグループＩＤを用いて、以下に示すグループ管理処理を行う。グループ情報処理部１０２は、グループ情報記憶部１２２から、適切なグループＩＤとノードＩＤのリストを含むグループ情報を読み出し、配布対象のグループＩＤとノードＩＤのリストを作成する。配布対象のグループＩＤとノードＩＤとは、グループの新規作成またはグループの変更の対象となったグループのグループＩＤ、および、このグループＩＤのグループに属するノード２００のノードＩＤである。
【００２５】
グループ情報処理部１０２は、割当部１０２ａをさらに備える。割当部１０２ａは、ノード２００に対してノードＩＤを割り当てる。上述のように、接続されるネットワーク６０の構成、用途、製造者、および位置などの、ノード２００の属性を考慮してノードＩＤを割り当てれば、配布対象となるノードＩＤのリストの効率（圧縮の効率）を向上させることができる。例えば、製造者が同一の複数のノード２００を一括して他のグループに移動させる場合、製造者が同一のノード２００に対して相互に近い値のノードＩＤを割り当てておけば、数値範囲による圧縮法を適用したときの圧縮効率を高めることができる。従って、割当部１０２ａは、属性が相互に類似または一致する複数のノード２００に対して割り当てる複数のノードＩＤ間の差分が、属性が相互に類似または一致しない複数のノード２００に対して割り当てる複数のノードＩＤ間の差分より小さくなるように、ノードＩＤを割り当てる。
【００２６】
図２に戻り、圧縮情報生成部１０４は、グループＩＤの配布対象となるノードＩＤのリストを圧縮表現した圧縮情報を生成する。圧縮法として、例えば、ワイルドカード文字を利用した圧縮法、数値範囲による圧縮法、および、一般的なコンパクト符号による圧縮法などが適用できる。なお、圧縮法はこれらに限られるものではない。ノードＩＤのリストに含まれるノードＩＤを一意に復号可能な圧縮法であれば、あらゆる圧縮法を用いることができる。
【００２７】
図５は、ワイルドカード文字を利用した圧縮法の一例を示す図である。図５の例では、０および１の両方に対応するワイルドカード文字「＊」を用いる。ノードＩＤのリスト（ノードＩＤリスト）に「０００」、「００１」、「１００」、および「１０１」が含まれる場合、まず、「０００」および「００１」が「００＊」のようなワイルドカード表現に変換される。また、「１００」および「１０１」が「１０＊」に変換される。次に、「００＊」および「１０＊」が「＊０＊」に変換される。このような変換が実行できなくなるまで処理が繰り返される。図５の例では、「＊０＊」が最終的なワイルドカード表現として得られる。
【００２８】
０、１および＊には、予めビット列が対応づけられる。図５の例では、ビット列「００」、「１１」、「１０」および「０１」が、それぞれ「０」、「１」、「＊」および「＊」に対応づけられる。この結果、得られた「＊０＊」から、ビット列を連結した圧縮表現「１０００１０」が得られる。すなわち、少なくとも１２ビットで表されていたノードＩＤリストが、６ビットの圧縮情報に圧縮される。
【００２９】
数値範囲による圧縮法の一例として、リストに含まれるノードＩＤが「０００」、「００１」、「０１０」、および、「０１１」のように数値的に連続であるとき、「００００１１」に符号化する方法が存在する。この方法は、数値的に連続したノードＩＤが指定されるときに有効である。
【００３０】
さらに、ノードＩＤリストに含まれるノードＩＤの集合の補集合に対して上述の処理を適用した方がより短いビット列で表現できる場合、補集合に対して処理を行ったことを示す情報と補集合に上述の圧縮法を適用した情報から、圧縮情報を生成してもよい。
【００３１】
図２に戻り、署名生成部１０５は、圧縮情報と配布対象のグループＩＤとに対して、署名鍵記憶部１２１に記憶されている署名鍵による署名を計算（生成）する。
【００３２】
なお、グループ情報処理部１０２は、グループ情報の変更をグループ情報記憶部１２２に反映する。ここで、グループ情報の変更とは、グループＩＤとノードＩＤリストの新規追加、グループＩＤとノードＩＤリストの削除、および、あるグループＩＤに対応するノードＩＤリストの更新などを指す。
【００３３】
出力部１０６は、グループ情報が更新された場合に、更新後のグループを特定する特定情報と、更新後のグループ情報に含まれるノードＩＤが圧縮された圧縮情報と、署名と、を含む出力情報を、ノードＩＤリストに含まれるすべてのノードＩＤで識別されるノード２００とノードＩＤのリストに含まれないノード２００を１以上含む複数のノードに対して出力する。このようにグループ変更の対象ではないノードにも出力部１０６の出力が届くことを許容することで、許容しない場合と比較して、出力部１０６による出力先の決定に要する計算コストを軽減できる。
【００３４】
本実施形態では、グループＩＤが特定情報として用いられる。出力部１０６は、グループとは独立に管理されるノード２００の集合であって、少なくともグループが更新されたすべてのノード２００を含むノード２００の集合に対して出力情報を出力する。ここで、ノード２００の集合とは、複数のノード２００からなる集まりであって、グループＩＤが割り振られているグループとは必ずしも一致しない。ノード２００の集合の例として、あるマルチキャスト通信でデータを受信するノード２００の集合や、ブロードキャスト通信でデータを受信するノード２００からなる集合、つまりすべてのノード２００からなる集合、などが挙げられる。例えば、出力部１０６は、ノードＩＤリストが含まれるノード２００の集合、もしくは、グループに対して、１以上のマルチキャスト通信やブロードキャスト通信により出力情報を送信してもよい。マルチキャスト通信で出力情報を送信する場合、出力部１０６は、例えばアドレス記憶部１２３に記憶されたアドレスのうち、配布対象のノードＩＤのノードＩＤに対応づけられた１以上のアドレス（マルチキャストアドレス）を宛先として、出力情報を送信する。ノード２００が保持するあるノードＩＤに対して、複数のグループＩＤが割り振られる場合、出力部１０６は、更新対象のノード２００に対して、更新対象となるグループＩＤの特定を助ける情報を含めた出力情報を送信してもよい。ここで、グループＩＤの特定を助ける情報とは、グループＩＤで管理されるグループの目的や属性を表す情報や、更新対象となるグループＩＤ自体や、更新対象となるグループＩＤの上位数ビットや、更新対象のグループＩＤは存在せず新規のグループＩＤの割り当てであることを示す情報などを指す。出力情報にグループＩＤの特定を助ける情報を付加することで、ノードが更新対象のグループＩＤを特定する処理を軽減できる。
【００３５】
図６は、ノード２００の構成例を表すブロック図である。図６に示すように、ノード２００は、鍵記憶部２２１と、ノードＩＤ記憶部２２２と、グループＩＤ記憶部２２３と、受信部２０１と、圧縮情報処理部２０２と、署名検証部２０３と、更新部２０４と、を備える。
【００３６】
鍵記憶部２２１は、通信制御装置１００の検証鍵を記憶する。ノードＩＤ記憶部２２２は、ノード２００自身に割り当てられたノードＩＤを記憶する。グループＩＤ記憶部２２３は、ノード２００自身が属するグループのグループＩＤを記憶する。
【００３７】
受信部２０１は、通信制御装置１００および他のノード２００などの外部装置から各種情報を受信する。例えば、受信部２０１は、圧縮情報とグループＩＤと署名とを含む出力情報を通信制御装置１００から受信する。受信部２０１は、マルチキャスト通信およびブロードキャスト通信などにより出力情報を受信する。
【００３８】
圧縮情報処理部２０２は、ノードＩＤ記憶部２２２に記憶されているノードＩＤと、受信した圧縮情報とから、自身のノードＩＤがグループ更新処理の対象であるか否かを判定する。圧縮情報処理部２０２は、通信制御装置１００の圧縮情報生成部１０４が用いる圧縮法に対応する復号方法で、圧縮情報からノードＩＤのリストを復号する。そして、圧縮情報処理部２０２は、復号したノードＩＤのリストに自身のノードＩＤが含まれる場合に、自身のノードＩＤがグループ更新処理の対象であると判定する。グループ更新処理の対象でなかった場合は、ノード２００は処理を終了する。
【００３９】
グループ更新処理の対象であった場合、署名検証部２０３は、鍵記憶部２２１に記憶されている検証鍵と、圧縮情報と、グループＩＤと、を用いて、署名が正しいか否かを判定する。正しい署名でなかった場合は、ノード２００は処理を終了する。
【００４０】
正しい署名であった場合、更新部２０４は、出力情報に含まれるグループＩＤで、グループＩＤ記憶部２２３に記憶されたグループＩＤを更新する。更新対象となるグループＩＤの特定を助ける情報も受信した場合は、更新部２０４がこの情報を用いて更新対象となるグループＩＤを特定してもよい。
【００４１】
なお、上述の各記憶部は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００４２】
次に、このように構成された第１の実施形態にかかる通信システムによるグループ管理処理について説明する。以下では、グループ管理処理のうち、通信制御装置１００が実行する更新依頼処理（図７）と、ノード２００が実行するグループ情報更新処理（図８）と、に分けて説明する。図７は、第１の実施形態における更新依頼処理の一例を示すフローチャートである。
【００４３】
受信部１０１は、外部装置からの情報を受信する（ステップＳ１０１）。グループ情報処理部１０２は、受信した情報を参照し、グループの更新が必要か否かを判定する（ステップＳ１０２）。例えば、グループ情報処理部１０２は、グループ制御の要求、および、グループ制御の対象を指定する入力情報が受信された場合、グループの更新が必要であると判定する。
【００４４】
グループの更新が必要でない場合（ステップＳ１０２：Ｎｏ）、更新依頼処理を終了する。グループの更新が必要である場合（ステップＳ１０２：Ｙｅｓ）、グループ情報処理部１０２は、さらに新規グループの生成が必要か否かを判定する（ステップＳ１０３）。例えば、グループ情報処理部１０２は、グループ制御の要求がグループの新規作成を表す場合、新規グループの生成が必要であると判定する。
【００４５】
新規グループの生成が必要である場合（ステップＳ１０３：Ｙｅｓ）、グループ情報処理部１０２は、新規グループを生成する（ステップＳ１０４）。例えば、グループ情報処理部１０２は、ＩＤ生成部１０３に新規グループに割り当てるグループＩＤの生成を要求する。
【００４６】
新規グループの生成が必要でない場合（ステップＳ１０３：Ｎｏ）、または、新規グループを生成後、圧縮情報生成部１０４は、グループ情報記憶部１２２から処理対象となるグループのグループ情報を読み出す（ステップＳ１０５）。圧縮情報生成部１０４は、読み出したグループ情報に含まれるノードＩＤから圧縮情報を生成する（ステップＳ１０６）。
【００４７】
署名生成部１０５は、生成された圧縮情報と、処理対象となるグループのグループＩＤとに対して、署名鍵記憶部１２１に記憶されている署名鍵による署名を生成する（ステップＳ１０７）。
【００４８】
グループ情報処理部１０２は、グループ情報記憶部１２２のグループ情報を更新する（ステップＳ１０８）。例えば、グループの更新の場合、グループ情報処理部１０２は、更新対象のグループのグループＩＤに、グループ制御の対象として指定されたノードＩＤを新たに対応づけたグループ情報で、グループ情報記憶部１２２に記憶された更新前のグループ情報を更新する。新規グループが生成された場合、グループ情報処理部１０２は、ステップＳ１０４で生成されたグループＩＤに、グループ制御の対象として指定されたノードＩＤを新たに対応づけたグループ情報をグループ情報記憶部１２２に記憶する。
【００４９】
出力部１０６は、更新後のグループ情報に含まれるグループＩＤと、更新後のグループ情報に含まれるノードＩＤが圧縮された圧縮情報と、署名と、を含む出力情報を、例えばマルチキャスト通信により出力する（ステップＳ１０９）。
【００５０】
図８は、第１の実施形態におけるグループ情報更新処理の一例を示すフローチャートである。
【００５１】
ノード２００の受信部２０１は、外部装置からの情報を受信する（ステップＳ２０１）。例えば、受信部２０１は、マルチキャスト通信で送信された出力情報を受信する。なお、受信した出力情報の宛先アドレスが自装置に割り当てられたマルチキャストアドレスと一致しない場合、受信部２０１は、受信した情報を破棄し、処理を終了してもよい。
【００５２】
圧縮情報処理部２０２は、受信した情報を参照し、グループの更新が必要か否かを判定する（ステップＳ２０２）。例えば、圧縮情報処理部２０２は、自装置に割り当てられたマルチキャストアドレスが指定された出力情報が受信された場合、受信された出力情報に含まれる圧縮情報を復号する。圧縮情報処理部２０２は、復号により得られたノードＩＤのリストに自身のノードＩＤが含まれる場合に、更新が必要であると判定する。
【００５３】
更新が必要でない場合（ステップＳ２０２：Ｎｏ）、ノード２００は、グループ情報更新処理を終了する。更新が必要である場合（ステップＳ２０２：Ｙｅｓ）、署名検証部２０３は、検証鍵と圧縮情報とグループＩＤとを用いて、出力情報に含まれる署名が正しいか否かを判定する（ステップＳ２０３）。正しい署名でない場合（ステップＳ２０３：Ｎｏ）、ノード２００はグループ情報更新処理を終了する。
【００５４】
正しい署名である場合（ステップＳ２０３：Ｙｅｓ）、更新部２０４は、出力情報に含まれるグループＩＤで、グループＩＤ記憶部２２３に記憶されたグループＩＤを更新する（ステップＳ２０４）。
【００５５】
このように、第１の実施形態にかかる通信システムでは、通信制御装置１００が更新したグループＩＤを含む出力情報をマルチキャスト通信やブロードキャスト通信により送信する。そして、ノード２００は、出力情報から自装置のグループの更新が必要かを判定し、必要な場合のみ自装置のグループの更新を実行する。これにより、スケーラビリティを確保しながら動的なグループ管理を実現することができる。
【００５６】
（第２の実施形態）
図９は、第２の実施形態にかかる通信システムの構成の一例を示すブロック図である。図９に示す通り、本実施形態の通信システムは、ノード２００−２ａ〜２００−２ｆと、通信制御装置１００−２とが、ネットワーク６０で接続された構成となっている。
【００５７】
通信制御装置１００−２は１つに限られるものではなく、２以上の通信制御装置１００−２を備えるように構成してもよい。ノード２００−２ａ〜２００−２ｆは同様の構成を備えるため、以下では単にノード２００−２という場合がある。ノード２００−２の個数は６に限られるものではない。
【００５８】
図９に示すように、本実施形態では、グループ変更コマンドは、更新対象のノードＩＤを表す情報、グループＩＤ、および署名に加えて、グループ鍵を含む。
【００５９】
図１０は、通信制御装置１００−２の構成例を表すブロック図である。図１０に示すように、通信制御装置１００−２は、署名鍵記憶部１２１と、グループ情報記憶部１２２と、アドレス記憶部１２３と、デバイス鍵記憶部１２４−２と、受信部１０１と、グループ情報処理部１０２−２と、ＩＤ生成部１０３と、圧縮情報生成部１０４と、署名生成部１０５−２と、出力部１０６−２と、グループ鍵生成部１０７−２と、ＭＫＢ（メディアキーブロック）生成部１０８−２と、を備える。
【００６０】
第２の実施形態では、グループ情報処理部１０２−２、署名生成部１０５−２および出力部１０６−２の機能と、デバイス鍵記憶部１２４−２、グループ鍵生成部１０７−２、および、ＭＫＢ生成部１０８−２を追加したことが第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかる通信制御装置１００のブロック図である図２と同様であるので、同一符号を付し、ここでの説明は省略する。
【００６１】
デバイス鍵記憶部１２４−２は、各ノード２００−２に割り当てられるデバイス鍵のリスト（デバイス鍵リスト）を記憶する。デバイス鍵の記憶方法は任意であり、後述するように木構造によりデバイス鍵を記憶してもよい。
【００６２】
グループ鍵生成部１０７−２は、各グループに属するノード２００−２が使用するグループ鍵を生成する。グループ鍵は、対応するグループに属する各ノード２００−２に配布され、グループに属するノード２００−２間の通信の暗号化やグループに属することの認証等に利用される。従って、グループ鍵は、対応するグループ以外の機器からは秘匿される必要がある。
【００６３】
ＭＫＢ生成部１０８−２は、グループに属するノード２００−２のみがグループ鍵を導出可能な秘匿情報であるＭＫＢを生成する。例えば、ＭＫＢ生成部１０８−２は、グループに属するノード２００−２が保持するデバイス鍵のリストとグループ鍵とが入力される。ＭＫＢ生成部１０８−２は、入力されたデバイス鍵リストとグループ鍵とから、デバイス鍵リストに含まれるデバイス鍵を保持する装置のみがグループ鍵を得られるＭＫＢを生成する。ＭＫＢの生成法としては、Complete  Subtree法、Subset  Difference法、Logical  Key  Hierarchy法などが既に知られており、そのようなあらゆる方法を用いることができる。
【００６４】
署名生成部１０５−２は、圧縮情報と配布対象のグループＩＤとＭＫＢとに対して、署名鍵による署名を生成する。
【００６５】
グループ情報処理部１０２−２の機能について以下に説明する。通信制御装置１００−２は、第１の実施形態と同様に、受信部１０１より受信した情報（入力情報）をグループ情報処理部１０２−２に送る。グループ情報処理部１０２−２は、第１の実施形態と同様に、入力情報から、新規グループを生成する必要の有無を判定する。グループ情報処理部１０２−２は、新規グループ生成の必要なしと判定した場合、以下に示すグループ管理処理を行う。グループ情報処理部１０２−２は、新規グループ生成の必要ありと判定した場合、ＩＤ生成部１０３を利用して、新規グループＩＤの生成を行い、以下に示すグループ管理処理を行う。
【００６６】
そして、グループ情報処理部１０２−２は、第１の実施形態と同様に、グループ情報記憶部１２２より、適切なグループＩＤとノードＩＤのリストを読みだし、配布対象のグループＩＤとノードＩＤのリストを作成する。
【００６７】
グループ情報処理部１０２−２は、グループＩＤの配布対象となるノードＩＤのリストより、対応するデバイス鍵リストをデバイス鍵記憶部１２４−２から読みだす。グループ情報処理部１０２−２は、グループ鍵生成部１０７−２にグループ鍵の生成を要求する。
【００６８】
グループ情報処理部１０２−２は、デバイス鍵リストと、生成されたグループ鍵と、をＭＫＢ生成部１０８−２に入力する。ＭＫＢ生成部１０８−２は、デバイス鍵リストに含まれるデバイス鍵を保持する装置のみがグループ鍵を得られるＭＫＢを生成する。ここで、ノードＩＤの割り当て方と同様に、ネットワークの構成やノードの用途や製造者などの属性を考慮してデバイス鍵を割り当てれば、コマンド対象となるＭＫＢの効率を低下させないことが可能となる。
【００６９】
グループ情報処理部１０２−２は、グループＩＤの配布対象となるノードＩＤを圧縮した圧縮情報を圧縮情報生成部１０４から得る。
【００７０】
デバイス鍵が木構造で表される場合、暗号化に用いたデバイス鍵が対応する木の高さの情報を圧縮情報としてもよい。この場合、配布対象となるノードＩＤを圧縮情報から一意に特定することはできない。しかし、各ノード２００−２は、高々保持するデバイス鍵の個数回の試行錯誤により、自分がグループ変更コマンドの対象であるか否かを判定できる。
【００７１】
これらの圧縮法に限らず、あらゆる一意復号可能な圧縮法や、ＭＫＢの暗号化に用いたデバイス鍵を特定する助けとなるあらゆる一意復号が不可能な圧縮法を用いてもよい。
【００７２】
また、グループ操作の対象を完全に秘匿する必要がある場合には、圧縮情報として、何の情報も持たないビット列を割り当てればよい。この場合、配布対象となるノードＩＤを圧縮情報から一意に特定することはできない。しかし、ＭＫＢの生成に用いられたデバイス鍵の個数をｍ個とし、各デバイスが保持するデバイス鍵の個数をｎ個とすると、各デバイスは高々ｍ×ｎ回の試行錯誤により、自分がグループ変更コマンドの対象であるか否かを判定できる。
【００７３】
グループ情報処理部１０２−２は、署名生成部１０５−２に対して、圧縮情報と、配布対象のグループＩＤと、ＭＫＢとに対する署名鍵による署名の生成を要求する。
【００７４】
グループ情報処理部１０２−２は、更新処理による変更をグループ情報記憶部１２２に反映する。ここで、変更とは、第１の実施形態と同様に、グループＩＤとノードＩＤリストとグループ鍵の新規追加、グループＩＤとノードＩＤリストとグループ鍵の削除、および、あるグループＩＤに対応するノードＩＤリストおよびグループ鍵の更新などを指す。
【００７５】
出力部１０６−２は、圧縮情報と、グループＩＤと、ＭＫＢと、署名とを含む出力情報を、ノードＩＤリストに含まれるすべてのノードＩＤで識別されるノード２００とノードＩＤのリストに含まれないノード２００を１以上含む複数のノードに対して出力する。このようにグループ変更の対象ではないノードにも出力部１０６−２の出力が届くことを許容することで、許容しない場合と比較して、出力部１０６−２による出力先の決定に要する計算コストを軽減できる。出力部１０６−２の出力先となる複数のノード２００は、グループとは独立に管理されるノード２００の集合であって、少なくともグループが更新されたすべてのノード２００を含むノード２００の集合に対して出力情報を出力する。
【００７６】
ここで、ノード２００の集合とは、複数のノード２００からなる集まりであって、グループＩＤが割り振られているグループとは必ずしも一致しない。ノード２００の集合の例として、あるマルチキャスト通信でデータを受信するノード２００の集合や、ブロードキャスト通信でデータを受信するノード２００からなる集合、つまりすべてのノード２００からなる集合、などが挙げられる。
【００７７】
第１の実施例と同様に、１以上のマルチキャスト通信や、ブロードキャスト通信を利用して、更新されたすべてのノード２００を含むノード２００の集合に出力情報を出力してもよい。
【００７８】
図１１は、第２の実施形態のノード２００−２の構成の一例を表すブロック図である。図１１に示すように、ノード２００−２は、鍵記憶部２２１と、ノードＩＤ記憶部２２２と、グループＩＤ記憶部２２３と、デバイス鍵記憶部２２４−２と、受信部２０１と、圧縮情報処理部２０２と、署名検証部２０３−２と、更新部２０４と、ＭＫＢ処理部２０５−２と、を備える。
【００７９】
第２の実施形態では、署名検証部２０３−２の機能と、デバイス鍵記憶部２２４−２、および、ＭＫＢ処理部２０５−２を追加したことが第１の実施形態と異なっている。その他の構成および機能は、第１の実施形態にかかるノード２００のブロック図である図６と同様であるので、同一符号を付し、ここでの説明は省略する。
【００８０】
デバイス鍵記憶部２２４−２は、ノード２００に割り当てられるデバイス鍵を記憶する。ＭＫＢ処理部２０５−２は、デバイス鍵記憶部２２４−２に記憶されたデバイス鍵と、ＭＫＢとからグループ鍵を生成する。署名検証部２０３−２は、検証鍵と、圧縮情報と、グループＩＤと、ＭＫＢとを用いて、署名が正しいか否かを判定する。
【００８１】
圧縮情報処理部２０２は、第１の実施形態と同様に、ノードＩＤ記憶部２２２に記憶されている自身のノードＩＤと、受信した圧縮情報とから、自身のノードＩＤがグループ更新処理の対象であるか否かを判定する。対象でなかった場合は、処理を終了する。
【００８２】
対象であった場合、または対象である可能性がある場合、署名検証部２０３−２は、鍵記憶部２２１に記憶されている通信制御装置１００−２の検証鍵と、圧縮情報と、グループＩＤと、ＭＫＢとから、署名が正しいか否かを判定する。もし、正しい署名でなかった場合は、処理を終了する。
【００８３】
署名の検証に合格した場合、ＭＫＢ処理部２０５−２は、デバイス鍵記憶部２２４−２に記憶されているデバイス鍵と、ＭＫＢとを含む情報を入力する。もし、ノード２００−２がコマンドの対象である場合、ＭＫＢ処理部２０５−２は、ＭＫＢを正しく処理できるため、グループ鍵を入手できる。一方、ノード２００−２がコマンドの対象でない場合、ＭＫＢ処理部２０５−２は、不正なグループ鍵またはエラー情報を得ることになる。このため、コマンド対象外の端末がグループに加わることを防止できる。また、ノード２００−２は、１つのノードＩＤに対して、複数組みのデバイス鍵を割り当てられていてもよい。この場合、圧縮情報処理部２０２より得られるデバイス鍵を特定する助けとなる情報をＭＫＢ処理部２０５−２に入力してもよい。デバイス鍵を特定する助けとなる情報とは、デバイス鍵の目的や属性などの情報や、デバイス鍵を識別するためのＩＤ情報などである。このようなデバイス鍵の特定を助ける情報を付加することで、使用すべきデバイス鍵を選択する処理に必要なコストを軽減できる。
【００８４】
正しいグループ鍵が得られた場合、更新部２０４は、更新対象のグループＩＤにより、グループＩＤ記憶部２２３に記憶されているグループＩＤを更新し、処理を終了する。なお、入手したグループ鍵は、鍵記憶部２２１に記憶するように構成してもよい。
【００８５】
（変形例１）
上記実施形態では、グループを特定する特定情報としてグループＩＤ自体を出力情報に含めていた。この場合、更新対象となるグループ以外のグループのノード２００に対しても出力情報が送信されるため、グループＩＤを秘匿することができない。変形例１では、グループ鍵とグループＩＤに対応するＭＫＢを生成して出力情報に含める。すなわち、グループを特定する特定情報としてＭＫＢを用いる。一方、グループＩＤ自体は出力情報から取り除く。このようにすることで、グループの部外者から、処理対象となるグループＩＤを秘匿することができるため、より安全性が高まる。
【００８６】
（変形例２）
変形例２では、通信制御装置１００の機能のうち、秘密に管理しなければならない情報を他の装置で管理するように機能を分離する。これにより安全性をより高めることができる。図１２は、変形例２の通信制御装置１００−２ａおよび管理装置３００ａの構成例を示すブロック図である。
【００８７】
例えば図１２に示すように、グループの管理とコマンドの発行を担う通信制御装置１００−２ａと、グループ鍵の発行とＭＫＢの生成を担う管理装置３００ａとに機能を分離することができる。
【００８８】
通信制御装置１００−２ａは、グループ情報処理部１０２−２ａと出力部１０６−２ａとが図１０と異なっている。グループ情報記憶部１２２と、アドレス記憶部１２３と、受信部１０１と、ＩＤ生成部１０３と、圧縮情報生成部１０４と、出力部１０６と、を備える。これらの機能は図１０と同様であるため同一の符号を付し説明を省略する。
【００８９】
グループ情報処理部１０２−２ａは、図１０のグループ処理部１０２-２と同様の処理を行い、配布対象のグループＩＤとノードＩＤのリストを作成し、ＭＫＢの発行要求として、作成したリストを出力部１０６−２ａに送る。出力部１０２−２ａは、グループ情報処理部１０２−２ａより受け取ったグループＩＤ、対象のノードＩＤ、ＭＫＢ発行要求を管理装置３００ａに送る。グループ情報処理部１０２−２ａは、受信部１０１よりＭＫＢと署名を受け取ったら、図１０と同様の処理で出力すべき情報を決定し、出力部１０６−２ａより出力する。
【００９０】
管理装置３００ａは、受信部３０１と、署名鍵記憶部１２１と、デバイス鍵記憶部１２４−２と、署名生成部１０５−２と、出力部３０３と、グループ鍵生成部１０７−２と、ＭＫＢ生成部１０８−２と、グループ情報記憶部３２１と、グループ情報処理部３０２と、を備える。図１０と同様の機能は同一の符号を付し説明を省略する。
【００９１】
グループ情報記憶部３２１は、グループ情報記憶部１２２と同様にグループ情報を記憶する。ここで、グループ情報記憶部３２１は、グループＩＤとグループ鍵など、ＭＫＢで送付される情報のみを記憶してもよい。グループ情報処理部３０２は、受信部３０１よりグループＩＤと対象のノードＩＤのリストを受け取ったら、グループ情報処理部１０２−２と同様にＭＫＢと署名を生成する処理を実行する。出力部３０３は、通信制御装置１００−２ａに対して各種情報を出力する。なお、通信制御装置１００−２ａと管理装置３００ａとの間の通信方式は任意であるが、例えば専用の通信線で接続するように構成すれば、より安全性を高めることができる。
【００９２】
変形例２では、通信制御装置１００−２ａは、コマンド発行対象となるグループＩＤとノードＩＤのリストとを管理装置３００ａに送付することで、ＭＫＢの発行を要求する。管理装置３００ａは、ノードＩＤリストに含まれるノードＩＤをもとに、デバイス鍵記憶部１２４−２から対応するデバイス鍵を読み出す。グループ鍵生成部１０７−２は、グループ鍵を生成する。ＭＫＢ生成部１０８−２は、デバイス鍵とグループ鍵とからＭＫＢを導出する。署名生成部１０５−２は、ＭＫＢと署名鍵記憶部１２１に記憶されている署名鍵とから署名を導出する。出力部３０３は、ＭＫＢと署名を通信制御装置１００−２ａに送付する。通信制御装置１００−２ａは、コマンド対象の圧縮情報と、ＭＫＢと、署名とをコマンドとしてノード２００に出力する。
【００９３】
このように構成することで、通信制御装置１００−２ａが攻撃を受けたとしても、システム上の秘密に管理しなければならない情報を保護できる。
【００９４】
また、図１２には示していないが、管理装置３００ａがグループ鍵を通信制御装置１００−２ａに送付するように構成してもよい。通信制御装置１００−２ａは、受け取ったグループ鍵を利用することにより、当該グループに属するノード２００とグループ認証を行ったり、グループ鍵を用いた秘匿通信を行ったりすることができる。
【００９５】
また、図１３のように、通信制御装置１００−２ｂがグループ鍵を決定する機能を持つようにしてもよい。すなわち、管理装置３００ｂからグループ鍵生成部１０７−２を削除し、通信制御装置１００−２ｂがグループ鍵生成部１０７−２と同様の機能を有するグループ鍵生成部１０９−２ｂを備えるように構成してもよい。
【００９６】
（第３の実施形態）
図１４は、第３の実施形態にかかる通信システムの構成の一例を示すブロック図である。図１４に示す通り、本実施形態の通信システムは、無線通信または有線通信により各ノード２００−２ａ〜２００−２ｆがメッシュネットワーク６２により接続される。また、アクセス装置４００ａ、４００ｂを介して、メッシュネットワーク６２を構成するノード２００−２ａ〜２００−２ｆと、通信制御装置１００−２と、がネットワーク６１で接続される。ネットワーク６１は、インターネットなどのあらゆるネットワーク形態を適用できる。
【００９７】
通信制御装置１００−２は１つに限られるものではなく、２以上の通信制御装置１００−２を備えるように構成してもよい。ノード２００−２ａ〜２００−２ｆは同様の構成を備えるため、以下では単にノード２００−２という場合がある。アクセス装置４００ａ、４００ｂは同様の構成を備えるため、以下では単にアクセス装置４００という場合がある。
【００９８】
また、アクセス装置４００の機能をノード２００−２が兼ねる場合もある。また、ノード２００−２が構成するメッシュネットワーク６２は１つに限られるものではなく、複数のメッシュネットワーク６２が存在してもよい。また、１つのメッシュネットワーク６２に存在するアクセス装置４００は１つに限られるものではなく、少なくとも１つのアクセス装置４００が存在すればよい。
【００９９】
通信制御装置１００−２の構成は第２の実施形態と同様であるため同一の符号を付し説明を省略する。また、変形例２と同様に、複数の装置で通信制御装置１００−２を実現してもよい。通信制御装置１００−２は、第２の実施形態と同様の方法で、コマンドを構成し、アクセス装置４００にコマンドを送付することで、コマンド対象のノード２００−２にコマンドを送付する。すなわち、通信制御装置１００−２は、アクセス装置４００を介してノード２００−２にコマンドを送付する。
【０１００】
ノード２００−２の構成は第２の実施形態と同様であるため同一の符号を付し説明を省略する。ノード２００−２は、メッシュネットワーク６２を構成する他のノード２００−２やアクセス装置４００を介して通信を行う。
【０１０１】
なお、第３の実施形態では、第２の実施形態の通信制御装置１００−２およびノード２００−２に対して図１４のネットワーク構成を適用しているが、第２の実施形態の通信制御装置１００−２およびノード２００−２の代わりに、第１の実施形態の通信制御装置１００およびノード２００に対して図１４に示すようなネットワーク構成を適用してもよい。
【０１０２】
図１５は、アクセス装置４００の構成の一例を示すブロック図である。アクセス装置４００は、受信部４０１と、転送処理部４０２と、出力部４０３と、を備える。
【０１０３】
受信部４０１は、メッシュネットワーク６２または通信制御装置１００−２が接続されているネットワーク６１から各種情報を受信する。転送処理部４０２は、受信部４０１が受信した情報の転送先を判定する。出力部４０３は、転送処理部４０２の判定結果に基づき、受信した情報をアクセス装置４００またはメッシュネットワーク６２に出力する。なお、アクセス装置４００は、ノード２００−２と同じ機能を備えていてもよい。
【０１０４】
（変形例３）
図１６は、変形例３にかかる通信システムの構成の一例を示すブロック図である。図１６のように、あるメッシュネットワーク（例えばメッシュネットワーク６２ａ）に複数のアクセス装置４００が接続されている状況下において、そのメッシュネットワークに属するノード２００−２はいずれかのアクセス装置４００（例えばアクセス装置４００ａ〜４００ｃのうちアクセス装置４００ａ）を介して、ネットワーク６１に接続されるとする。
【０１０５】
変形例３では、アクセス装置４００を特定する情報としてグループＩＤを用いる。通信制御装置１００−２ａは、ノード２００−２にコマンドを発行することでグループＩＤを送付する。ノード２００−２は、グループＩＤで指定されたアクセス装置４００を介して通信を行うように変更する。例えば、通信制御装置１００−２ａは、アクセス装置４００ａを特定するグループＩＤから、アクセス装置４００ｂを特定するグループＩＤに指定を切り替えることにより、ノード２００−２の通信を転送するアクセス装置４００を切り替える。これにより、通信制御装置１００−２ａは、アクセス装置４００の処理量を制御できる。
【０１０６】
また、ノード２００−２が新たなアクセス装置４００を介して通信を開始する前に、通信制御装置１００−２ａから配布されたグループ鍵を用いて、アクセス装置４００と認証を行ってもよい。ここで、新たなアクセス装置４００には、ＭＫＢが予め配布され、また、ユニキャスト通信により通信制御装置１００−２ａからグループ鍵が予め配布されているものとする。このようにすることで、アクセス装置４００の認証処理の負荷を軽減できるため、スケーラビリティがさらに向上する。
【０１０７】
あるメッシュネットワーク６２ａに属していた複数のノード２００−２を、別のメッシュネットワーク６２ｂに移動させる場合、上述の例と同様に、グループＩＤが新たなアクセス装置４００を特定する情報であれば、通信制御装置１００−２ａが移動したノード２００−２にグループＩＤを送付することで、機器の移動を行うことができる。
【０１０８】
上述の例と同様に、グループ鍵も配布されている場合は、それを用いてアクセス装置４００とノード２００−２との間で認証を行ってもよい。
【０１０９】
また、図１６に示すように、変形例３の通信システムは、新たにデータ配布装置５００を備えている。データ配布装置５００は、通信制御装置１００−２ａから、ＭＫＢと、ユニキャスト通信などの何らかの通信手段で発行されたグループＩＤと、グループ鍵と、を保持している。データ配布装置５００は、グループＩＤで表現されるグループに属するノード２００−２に対して、グループ鍵で暗号化したデータを配布する。
【０１１０】
このように構成することで、各ノード２００−２のファームウェアや周囲の状況など、各ノード２００−２が共通に受信すべきデータを効率よく配布できる。データ配布装置５００は１つに限定されるものではなく、役割やネットワークのトポロジに応じて複数存在してもよい。
【０１１１】
図１７は、変形例３の通信システムによる通信処理の一例を示すシーケンス図である。図１７は、ノード２００−２が属するグループを、アクセス装置４００ａによりアクセスするグループから、アクセス装置４００ｃによりアクセスするグループに切り替える処理を含んでいる。
【０１１２】
通信制御装置１００−２ａは、グループＩＤ（ＧＩＤ）とグループ鍵（ＧＫ）の発行を管理装置３００ａに対して要求する（ステップＳ３０１）。管理装置３００ａのＭＫＢ生成部１０８−２は、要求に応じてＭＫＢを生成する（ステップＳ３０２）。グループ情報処理部３０２は、変更するグループ情報でグループ情報記憶部３２１に記憶されたグループ情報を更新する（ステップＳ３０３）。管理装置３００ａは、グループＩＤ、グループ鍵、ＭＫＢ、および、署名を、通信制御装置１００−２ａに送信する（ステップＳ３０４）。なお、署名は管理装置３００ａの署名生成部１０５−２により生成される。
【０１１３】
通信制御装置１００−２ａは、グループＩＤ（ＧＩＤ）とグループ鍵（ＧＫ）とを指定して、アクセス装置４００ｃに対して、グループの変更を通知する（ステップＳ３０５）。「ｌｏａｄ  ｂａｌａｎｃｉｎｇ」は、負荷分散のため処理を引き継ぐことを表している。また、通信制御装置１００−２ａは、今まで用いていたグループＩＤ（ＧＩＤ’）とグループ鍵（ＧＫ’）とを指定して、アクセス装置４００ａに対して、グループの変更を通知してもよい（ステップＳ３０６）。「ｒｅｍｏｖｅ」は、当該グループに対する処理が不要になることを表している。
【０１１４】
必要に応じて、ステップＳ３０５とステップＳ３０６を行わずに、通信制御装置１００−２ａは、データ配布装置５００に対して、グループＩＤ（ＧＩＤ）とグループ鍵（ＧＫ）とを指定して、データの暗号化に利用するグループ鍵（ＧＫ）の新規割り当て、または、更新を行う（ステップＳ３０７）。「ｕｐｄａｔｅ」は、当該グループに対するグループ鍵が更新されることを表している。グループ鍵で暗号化して送付することで、ファームウェア（Ｆ／Ｗ）など、多くの機器が必要とする共通のデータを効率的に送付できる。必要に応じて、ステップＳ３０５とステップＳ３０６と共に、ステップＳ３０７を行ってもよい。また、データ配布装置の出力データの改ざんや偽造を防ぐために、データ配布装置が発行する署名を付してもよい。
【０１１５】
「ｌｏａｄ  ｂａｌａｎｃｉｎｇ」、「ｒｅｍｏｖｅ」および「ｕｐｄａｔｅ」はあくまでも一例であり、グループ変更の理由はこれらに限定されない。例えば、アクセス装置４００の故障やメンテナンスにより通信ができなくなったことによるグループ変更「ｆａｉｌｏｖｅｒ」など、グループ変更の目的に応じてコマンドを定義することで、任意のグループ変更を実行できる。
【０１１６】
通信制御装置１００−２ａは、ノード２００−２に対して、ＭＫＢと署名とを含む出力情報を通知する（ステップＳ３０８）。ノード２００−２は、出力情報に含まれるＭＫＢからグループＩＤ（ＧＩＤ）とグループ鍵（ＧＫ）とを入手する（ステップＳ３０９）。ノード２００−２は、グループＩＤより、新たな接続先であるアクセス装置４００ａを特定し、アクセス装置４００ａとの間でグループ鍵（ＧＫ）を用いた認証を行うことで、接続先の変更を通知する（ステップＳ３１０）。アクセス装置４００ａは、認証に合格したノードのみを接続させる。グループ鍵（ＧＫ）を用いた認証を行うことで、アクセス装置４００ａの処理コストを軽減する効果がある。また、アクセス装置４００ｃに対して、接続先を変更することを通知してもよい（ステップＳ３１１）。その際に、今までのグループ鍵（ＧＫ’）を用いた認証を行うなどしてもよい。
【０１１７】
データ配布装置５００は、要求等に応じて、ノード２００−２に対してグループ鍵で暗号化したデータを配布する（ステップＳ３１２）。ここで、グループ鍵を直接暗号化鍵に用いるのではなく、ノード２００−２との間で予め共有された方法でグループ鍵を変換し、それを暗号化鍵として用いてもよい。例えば、公開のハッシュ関数や秘密のハッシュ関数を利用して、グループ鍵より暗号化鍵を導出できる。
【０１１８】
以上説明したとおり、第１から第３の実施形態によれば、スケーラビリティを確保しながら動的なグループ管理を実現することができる。
【０１１９】
次に、第１〜第３の実施形態にかかる装置（通信制御装置、ノード（通信装置）、管理装置、アクセス装置、データ配布装置等）のハードウェア構成について図１８を用いて説明する。図１８は、第１〜第３の実施形態にかかる装置のハードウェア構成を示す説明図である。
【０１２０】
第１〜第３の実施形態にかかる装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス７１を備えている。
【０１２１】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【０１２２】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録して提供されるように構成してもよい。
【０１２３】
さらに、第１〜第３の実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第１〜第３の実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【０１２４】
第１〜第３の実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した装置の各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【０１２５】
なお、上記各部は、例えば、ＣＰＵ５１などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【０１２６】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【符号の説明】
【０１２７】
１００  通信制御装置
１０１  受信部
１０２  グループ情報処理部
１０２ａ  割当部
１０３  ＩＤ生成部
１０４  圧縮情報生成部
１０５  署名生成部
１０６  出力部
１０７−２  グループ鍵生成部
１０８−２  ＭＫＢ生成部
１０９−２ｂ  グループ鍵生成部
１２１  署名鍵記憶部
１２２  グループ情報記憶部
１２３  アドレス記憶部
１２４−２  デバイス鍵記憶部
２００  ノード
２０１  受信部
２０２  圧縮情報処理部
２０３  署名検証部
２０４  更新部
２０５−２  ＭＫＢ処理部
２２１  鍵記憶部
２２２  ノードＩＤ記憶部
２２３  グループＩＤ記憶部
２２４−２  デバイス鍵記憶部
【図１】
2014010087.tif 000003
【図２】
2014010087.tif 000004
【図３】
2014010087.tif 000005
【図４】
2014010087.tif 000006
【図５】
2014010087.tif 000007
【図６】
2014010087.tif 000008
【図７】
2014010087.tif 000009
【図８】
2014010087.tif 000010
【図９】
2014010087.tif 000011
【図１０】
2014010087.tif 000012
【図１１】
2014010087.tif 000013
【図１２】
2014010087.tif 000014
【図１３】
2014010087.tif 000015
【図１４】
2014010087.tif 000016
【図１５】
2014010087.tif 000017
【図１６】
2014010087.tif 000018
【図１７】
2014010087.tif 000019
【図１８】
2014010087.tif 000020
【国際調査報告】
2014010087.tif 000021
2014010087.tif 000022
2014010087.tif 000023
2014010087.tif 000024