(57)【要約】【課題】複数の機器に情報を効率良く送信する。【解決手段】実施形態に係る管理装置は、複数の機器にネットワークを介して接続可能な管理装置である。管理装置は、木記憶部と、類似度算出部と、割当部と、割当送信部と、を備える。木記憶部は、ノードにノード鍵が割り当てられ、リーフノードに機器が割り当てられた管理木情報を記憶する。類似度算出部は、新たな機器の属性を表す属性情報と管理木情報に割り当て済みの機器の属性情報との類似度を算出する。割当部は、類似度に基づき、管理木情報における新たな機器を割り当てるリーフノードを決定する。割当送信部は、新たな機器に、管理木情報におけるルートノードから対応するリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する。【選択図】図５
2018038077.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器にネットワークを介して接続可能な管理装置であって、
第１の機器の属性情報である第１属性情報を受け取り、
第１のリーフノードより最も近い第２のリーフノードに割り当てることで構成された木構造のグラフのルートノードから前記第２のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信し、
前記第１のリーフノードは第２の機器が割り当てられたノードであり、
前記第２の機器は、前記第２の機器の属性情報である第２属性情報が前記第１属性情報と一致する機器である
管理装置。
【請求項２】
前記木構造のグラフのルートノードから前記第１のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を更に送信する
請求項１に記載の管理装置。
【請求項３】
複数の機器にネットワークを介して接続可能な管理装置であって、
前記複数の機器の少なくとも１以上の機器の属性情報を受け取り、
木構造のグラフのルートノードから各リーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信し、
前記木構造のグラフは、前記複数の機器のうち、前記受け取った属性情報が一致する機器を第１のリーフノードに割り当てられたものであり、かつ、前記複数の機器のうち、前記受け取った属性情報が一致しない機器を第２のリーフノードに割り当てられたものである
管理装置。
【請求項４】
複数の機器にネットワークを介して接続可能な管理装置であって、
第１の機器の識別情報を受け取り、前記第１の機器の識別情報と、１以上の第２の機器の識別情報に基づき構成された木構造のグラフのルートノードからリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する
管理装置。
【請求項５】
複数の機器にネットワークを介して接続可能な管理装置であって、
第１の機器の属性情報を受け取り、前記第１の機器の属性情報と、１以上の第２の機器の属性情報に基づき構成された木構造のグラフのルートノードからリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する
管理装置。
【請求項６】
情報処理装置を、請求項１から５の何れか１項に記載の管理装置として機能させるためのプログラム。
【請求項７】
請求項１から５の何れか１項に記載の管理装置と、ネットワークを介して接続可能な複数の機器とを備えるシステム。
【請求項８】
複数の機器にネットワークを介して接続可能な管理装置において実行される方法であって、
前記管理装置が、第１の機器の属性情報である第１属性情報を受け取り、
前記管理装置が、第１のリーフノードより最も近い第２のリーフノードに割り当てることで構成された木構造のグラフのルートノードから前記第２のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信し、
前記第１のリーフノードは第２の機器が割り当てられたノードであり、
前記第２の機器は、前記第２の機器の属性情報である第２属性情報が前記第１属性情報と一致する機器である
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、管理装置、プログラム、システムおよび方法に関する。
【背景技術】
【０００２】
複数の機器のうちの一部の機器が共有して保有する鍵をグループ鍵と呼ぶ。このようなグループ鍵を用いてデータを暗号化することにより、グループに属する機器にデータを伝達し、グループに属さない機器に対してデータを秘匿することができる。また、グループ鍵をそれぞれの機器に配布するための鍵であって、それぞれの機器に配布される鍵をデバイス鍵と呼ぶ。
【０００３】
デバイス鍵を木構造のグラフを表すデータである管理木情報を用いて管理する方法が知られている。この方法では、管理木情報におけるそれぞれのノードにノード鍵を割り当て、リーフノードに機器を割り当てる。この方法では、それぞれの機器に、ルートノードから対応するリーフノードまでのパスに割り当てられた全てのノード鍵を配布する。そして、この方法では、機器が、配布された全てのノード鍵の組をデバイス鍵として記憶する。グループ鍵は、配布時において、デバイス鍵に含まれる何れか１以上のノード鍵により暗号化される。
【０００４】
ところで、システム内に新たな機器が接続された場合、管理木情報を管理する管理装置は、新たな機器に対してノード鍵およびグループ鍵を配布しなければならない。この場合、管理装置は、同じグループに属する複数の機器に対して効率良く情報を送信できるように、新たな機器を管理木情報に割り当てなければならない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２０４８９７号公報
【特許文献２】国際公開第０２／０８０４４８号
【特許文献３】特開２００５−１９８１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、複数の機器に情報を効率良く送信できるように、管理木情報に機器を割り当てることにある。
【課題を解決するための手段】
【０００７】
実施形態に係る管理装置は、複数の機器にネットワークを介して接続可能である。前記管理装置は、第１の機器の属性情報である第１属性情報を受け取る。前記管理装置は、第１のリーフノードより最も近い第２のリーフノードに割り当てることで構成された木構造のグラフのルートノードから前記第２のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する。前記第１のリーフノードは第２の機器が割り当てられたノードである。前記第２の機器は、前記第２の機器の属性情報である第２属性情報が前記第１属性情報と一致する機器である。
【図面の簡単な説明】
【０００８】
【図１】実施形態に係る通信システムの構成図。
【図２】管理木情報の一例を示す図。
【図３】グループの一例を示す図。
【図４】機器から管理装置へと送信される属性情報を示す図。
【図５】属性情報に基づき決定されたノード鍵の送信例を示す図。
【図６】管理装置の構成を示す図。
【図７】機器の構成を示す図。
【図８】属性情報に含まれる要素を示す図。
【図９】実施形態に係る通信システムのシーケンス図。
【図１０】管理装置の割当処理のフローチャート。
【図１１】図１０のステップＳ２５での処理の一例を示すフローチャート。
【図１２】第１の割り当て例を示す図。
【図１３】第２の割り当て例を示す図。
【図１４】拡張前の管理木情報の第１例を示す図。
【図１５】上位層を拡張した例を示す図。
【図１６】拡張前の管理木情報の第２例を示す図。
【図１７】下位層を拡張した例を示す図。
【図１８】中間層を拡張した例を示す図。
【図１９】一方のリーフノードの下位層を拡張した例を示す図。
【図２０】一方のリーフノードとルートノードとの間の層を拡張した例を示す図。
【図２１】再構成前の管理木情報を示す図。
【図２２】再構成後の管理木情報を示す図。
【図２３】管理装置のハードウェア構成を示す図。
【発明を実施するための形態】
【０００９】
以下、図面を参照しながら実施形態に係る通信システムについて詳細に説明する。本実施形態に係る伝送システムは、グループ鍵等の情報を複数の機器に効率良く送信できるように、管理木情報に機器を割り当てることができる。
【００１０】
なお、本実施形態においては、データを暗号化する暗号鍵を用いる。暗号鍵によりデータを暗号化および復号するためのアルゴリズムは、ＡＥＳ等の対称鍵暗号方式を用いてもよいし、非対称鍵暗号方式（公開鍵暗号方式）を用いてもよい。
【００１１】
図１は、実施形態に係る通信システム１０の構成を示す図である。通信システム１０は、管理装置２０と、複数の機器３０（３０−Ａ〜３０−Ｆ）を備える。
【００１２】
管理装置２０および複数の機器３０は、互いにネットワークを介して接続可能である。ネットワークは、例えば家庭内に形成されたＬＡＮ等である。また、ネットワークは、インターネットまたはＶＰＮ（Virtual  Private  Network）等の公衆回線が含まれてもよい。また、ネットワークは、物理レイヤおよびリンクレイヤとして、ＩＥＥＥ８０２．１１に準拠した無線ＬＡＮ、イーサネット（登録商標）、ＩＥＥＥ１３９４等の種々の形態を適用できる。
【００１３】
管理装置２０は、コンピュータ等の情報処理装置である。管理装置２０は、オペレーティングシステム上において所定のプログラムを実行し、例えば常時起動している。
【００１４】
機器３０は、通信機能および情報処理機能を有する装置である。例えば、機器３０は、家庭で用いられる電化製品（エアーコンディショナ、テレビジョン装置および冷蔵庫等であって、ネットワークに接続可能な装置）であってよい。また、機器３０は、スマートフォン、タブレットまたはノート型コンピュータ等の携帯型の情報機器であってもよい。
【００１５】
通信システム１０では、管理装置２０と機器３０との間、または、機器３０と機器３０との間でデータが送信される。送信されるデータは、例えば、機器３０の動作を制御するための制御コマンド、管理装置２０または機器３０が暗号化または認証に用いる鍵の値、鍵の識別子情報、および、管理装置２０または機器３０の識別情報（ＭＡＣアドレスまたはＩＰアドレス等）等である。また、送信されるデータは、動画像データ、音声データ、テキストデータまたはプログラムコード等であってもよい。
【００１６】
このようなデータは、グループ鍵により暗号化される。グループ鍵は、グループに属する機器３０が共通に保有する鍵である。
【００１７】
管理装置２０は、ネットワークに接続された複数の機器３０に対して、例えばユーザ等の指示または予め設定された規則等に従いグループを設定する。管理装置２０は、複数のグループを設定してもよい。また、管理装置２０は、１つの機器３０を複数のグループに属させてもよい。また、グループに属さない機器３０が存在していてもよい。管理装置２０は、グループ毎に固有のグループ鍵を割り当てる。管理装置２０は、データをグループ鍵により暗号化してネットワークに送信することにより、グループに属する機器３０にデータを取得させ、グループに属さない機器３０に対してデータを秘匿することができる。
【００１８】
また、管理装置２０は、グループ鍵を、それぞれの機器３０に割り当てられたノード鍵により暗号化して機器３０に与える。ノード鍵は、管理装置２０と機器３０とが共有する鍵である。１つの機器３０は、少なくとも１つのノード鍵の組をデバイス鍵として保有する。管理装置２０は、それぞれの機器３０が保有するノード鍵を、木構造（ループを有さない無向グラフ）を表す管理木情報を用いて管理する。なお、管理装置２０は、データをノード鍵により暗号化して機器３０へと送信してもよい。
【００１９】
図２は、管理木情報の一例を示す図である。管理木情報は、複数のノード（図２の丸で示す）と、ノードとノードとの間を接続する複数のエッジとを含む。木構造の頂点（最上位層）の１つのノードをルートノードと呼ぶ。また、木構造の末端（最下位層）に配置されるそれぞれのノードをリーフノードと呼ぶ。
【００２０】
ノードには、固有のノード番号が割り振られている。図２の例では、丸の中の数字がノード番号を示す。
【００２１】
管理装置２０は、ノード鍵をそれぞれのノードに割り当てる。ノード鍵は、ノード毎に異なる。図２の例では、管理装置２０は、ノード番号が１〜１５のノードに、Ｋ１〜Ｋ１５のノード鍵を割り当てている。
【００２２】
また、管理装置２０は、それぞれの機器３０を、何れかのリーフノードに割り当てる。管理装置２０は、１つのリーフノードに１つの機器３０を割り当て、１つのリーフノードに複数の機器３０を重複して割り当てない。管理木情報は、何れの機器３０も割り当てられていない空のリーフノードを含んでよい。図２の例では、管理装置２０は、ノード番号８，９，１０，１１，１３，１５のノードに、識別情報Ａ，Ｂ，Ｃ，Ｄ，Ｅ，Ｆの機器３０を割り当てている。
【００２３】
また、管理装置２０は、それぞれの機器３０に、管理木情報におけるルートノードから、当該機器３０が割り当てられた対応するリーフノードまでのパスに割り当てられている少なくとも１つのノード鍵（例えば、ルートノードから対応するリーフノードまでのパスに割り当てられている全てのノード鍵）を送信する。機器３０は、管理装置２０から送信された少なくとも１つのノード鍵の組をデバイス鍵として記憶する。例えば、管理装置２０は、ノード番号８に割り当てられた識別情報Ａの機器３０に、Ｋ１，Ｋ２，Ｋ４，Ｋ８のノード鍵を送信する。なお、管理装置２０は、少なくともリーフノードに割り当てられたノード鍵を送信すれば、ルートノードから対応するリーフノードまでパスの全てのノード鍵を送信しなくてもよい。
【００２４】
なお、管理木情報は、２分木に限らず、３分木以上であってもよい。また、管理木情報は、非完全の木構造であってもよく、様々な構造であってよい。
【００２５】
図３は、グループの一例を示す図である。管理装置２０は、それぞれのグループ毎に、固有のグループ鍵を生成する。管理装置２０は、グループに属するそれぞれの機器３０に対して、１つのグループ鍵を少なくとも１つのノード鍵で暗号化して生成した少なくとも１つの暗号文を送信する。具体的には、管理装置２０は、グループに属する全ての機器３０が何れかの暗号文を復号可能であり、且つ、送信する暗号文の数が最も少なくなるように、少なくとも１つのノード鍵を選択する。そして、管理装置２０は、選択したそれぞれのノード鍵で暗号文を生成して送信する。
【００２６】
図３の例においては、識別情報Ａ，Ｂの機器３０がグループαを形成している。ノード鍵Ｋ４は、識別情報Ａ，Ｂの機器３０が共通に保有しているが、他の機器３０は保有していない。従って、管理装置２０は、グループαのグループ鍵ＧＫαを、ノード鍵Ｋ４で暗号化する。これにより、管理装置２０は、グループαを形成している２つの機器３０に、効率良くグループ鍵ＧＫαを送信することができる。
【００２７】
また、図３の例においては、識別情報Ａ，Ｂ，Ｃ，Ｄの機器３０がグループβを形成している。ノード鍵Ｋ２は、識別情報Ａ，Ｂ，Ｃ，Ｄの機器３０が共通に保有しているが、他の機器３０は保有していない。従って、管理装置２０は、グループβのグループ鍵ＧＫβを、ノード鍵Ｋ２で暗号化する。これにより、管理装置２０は、グループβを形成している４つの機器３０に、効率良くグループ鍵ＧＫβを送信することができる。
【００２８】
また、図３の例においては、識別情報Ｅ，Ｆの機器３０がグループγを形成している。ノード鍵Ｋ３は、識別情報Ｅ，Ｆの機器３０が共通に保有しているが、他の機器３０は保有していない。従って、管理装置２０は、グループγのグループ鍵ＧＫγを、ノード鍵Ｋ３で暗号化する。これにより、管理装置２０は、グループγを形成している２つの機器３０に、効率良くグループ鍵ＧＫγを送信することができる。
【００２９】
図４は、機器３０から管理装置２０へと送信される属性情報と、管理装置２０から機器３０へと送信される属性情報に基づき決定されたノード鍵を示す図である。図５は、属性情報と、属性情報に基づき決定されたノード鍵の他の送信例を示す図である。
【００３０】
機器３０は、当該機器３０の属性を表す属性情報を管理装置２０へと送信する。属性情報は、少なくとも１つの要素情報を含む。属性情報は、例えば、識別情報、ベンダ名、種別、平均消費電力または最頻コマンド名等を、要素情報として含む。なお、属性情報の詳細については、図８を参照して後述する。
【００３１】
管理装置２０は、このような属性情報に基づいて、それぞれの機器３０に割り当てる１以上のノード鍵を決定し、そのノード鍵を機器３０に送信する。また、管理装置２０は、図５のように、機器３０−１へのノード鍵の割り当てに伴い、その他の機器３０-２のノード鍵の割り当てに変更が生じた場合には、機器３０−２に変更後のノード鍵を送信する。
【００３２】
ここで、管理装置２０は、第１の機器３０の属性情報を受け取り、第１の機器３０の属性情報と、１以上の第２の機器３０の属性情報に基づき構成された管理木情報のルートノードからリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する。
【００３３】
より具体的には、管理装置２０は、第１の機器３０の属性情報である第１属性情報を受け取り、第１のリーフノードより最も近い第２のリーフノードに割り当てることで構成された管理木情報のルートノードから第２のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信する。なお、第１のリーフノードは、第２の機器３０が割り当てられたノードである。また、第２の機器３０は、第２の機器３０の属性情報である第２属性情報が第１属性情報と一致する機器３０である。また、この場合、管理装置２０は、管理木情報のルートノードから第１のリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を更に送信してもよい。
【００３４】
また、管理装置２０は、複数の機器３０の少なくとも１以上の機器３０の属性情報を受け取り、管理木情報のルートノードから各リーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を送信してもよい。この場合、管理木情報は、複数の機器３０のうち、受け取った属性情報が一致する機器３０を第１のリーフノードに割り当てられたものであり、かつ、複数の機器３０のうち、受け取った属性情報が一致しない機器３０を第２のリーフノードに割り当てられたものである。
【００３５】
また、例えば、管理装置２０は、管理木情報に新たな機器３０を割り当てる場合、その新たな機器３０の属性情報に基づき割り当て位置（リーフノードの位置）を決定する。より具体的には、管理装置２０は、類似した属性情報の機器３０同士が近くなり、類似していない属性情報の機器３０同士が遠くなるように、新たな機器３０の割り当て位置を決定する。これにより、管理装置２０は、同一のグループに属する複数の機器３０に、グループ鍵等の情報を少ない情報量（暗号文数）で効率良く送信することができる。
【００３６】
図６は、管理装置２０の構成を示す図である。管理装置２０は、木記憶部４１と、グループ記憶部４２と、属性記憶部４３と、機器発見部４４と、機器認証部４５と、属性取得部４６と、類似度算出部４７と、割当部４８と、割当送信部４９と、グループ鍵送信部５０と、生成部５１と、拡張部５２と、再構成部５３と、暗号化部５４と、第１通信部５５とを有する。
【００３７】
木記憶部４１は、ノードにノード鍵が割り当てられ、リーフノードに機器３０が割り当てられた管理木情報を記憶する。グループ記憶部４２は、グループ毎に、グループ識別情報、グループ鍵、および、属する機器３０のリストを記憶する。属性記憶部４３は、機器３０毎に属性情報を記憶する。
【００３８】
機器発見部４４は、ネットワーク上に存在する機器３０を発見する。機器認証部４５は、機器３０と認証処理を行い、通信相手の機器３０が正当な権限を有するかを確認する。
【００３９】
属性取得部４６は、認証された機器３０から属性情報を取得する。属性取得部４６は、例えばネットワークに新たな機器３０が接続された場合、新たな機器３０から属性情報を取得する。また、属性取得部４６は、属性情報のうち、時間によって変化する要素情報を、それぞれの機器３０から定期的に取得してもよい。属性取得部４６は、取得した属性情報を属性記憶部４３に記憶させる。
【００４０】
類似度算出部４７は、２つの機器３０の属性情報の類似度を算出する。例えばネットワークに新たな機器３０が接続されて、管理木情報にその新たな機器３０を割り当てる場合には、類似度算出部４７は、新たな機器３０の属性情報と、管理木情報に割り当て済みのそれぞれの機器３０の属性情報との類似度を算出する。
【００４１】
割当部４８は、木記憶部４１に記憶されている管理木情報に、新たな機器３０を割り当てる。この場合において、割当部４８は、新たな機器３０の属性情報と管理木情報に割り当て済みの既存の機器３０の属性情報との類似度に基づき、新たな機器３０の割り当て位置（リーフノードの位置）を決定する。より具体的には、割当部４８は、類似度が高い機器３０同士が近い範囲に配置されるように、新たな機器３０を割り当てるリーフノードの位置を決定する。例えば、割当部４８は、新たな機器３０の属性情報との類似度が基準より高い機器３０（例えば、類似度が最も高い機器３０）が割り当てられたリーフノードから、予め定められたエッジ数で到達可能な空のリーフノードに、新たな機器３０を割り当てる。
【００４２】
割当送信部４９は、管理木情報に新たな機器３０が割り当てられた場合、少なくとも１つのノード鍵を認証処理により共有した鍵により暗号化して、新たな機器３０に送信する。より具体的には、割当送信部４９は、管理木情報におけるルートノードから、新たな機器３０に対応するリーフノードまでのパスに割り当てられた少なくとも１つのノード鍵を、新たな機器３０に送信する。新たな機器３０は、受信した少なくとも１つのノード鍵の組をデバイス鍵として記憶する。さらに、割当送信部４９は、新たな機器３０に、管理木情報における割り当て位置およびノード鍵の識別情報を暗号化して送信してもよい。
【００４３】
グループ鍵送信部５０は、新たなグループが形成された場合、グループ鍵を生成する。そして、グループ鍵送信部５０は、形成された新たなグループに属する全ての機器３０に、グループ鍵を送信する。この場合において、グループ鍵送信部５０は、グループに属する全ての機器３０が少なくとも何れか１つを保有しており、グループに属さない機器３０が保有しておらず、且つ、暗号文の数が最も少なくなるような１または複数のノード鍵を選択する。そして、グループ鍵送信部５０は、選択した１または複数のノード鍵によりグループ鍵を暗号化して１または複数の暗号文を送信する。
【００４４】
また、グループ鍵送信部５０は、新たな機器３０が管理木情報に割り当てられ、その新たな機器３０が何れかのグループに追加された場合、新たな機器３０に、対応するグループ鍵を送信する。この場合、グループ鍵送信部５０は、新たな機器３０が保有しており、グループに属さない機器３０が保有していないノード鍵により、対応するグループ鍵を暗号化する。
【００４５】
生成部５１は、新たな管理木情報を生成して木記憶部４１に記憶させる。例えば、生成部５１は、ネットワークに最初に新たな機器３０が接続されて、割り当てるべき管理情報が木記憶部４１に存在しない場合、新たな管理木情報を生成して木記憶部４１に記憶させる。
【００４６】
拡張部５２は、管理木情報の空のリーフノードの数が予め定められた数より少ない場合、木記憶部４１に記憶された管理木情報を拡張する。例えば、拡張部５２は、ネットワークに新たな機器３０が接続された場合であって、木記憶部４１に記憶された管理木情報に空のリーフノードが存在しない場合、管理木情報を拡張する。なお、管理木情報を拡張するとは、管理木情報に含まれるリーフノードが増えるように、新たなノードおよびエッジを追加することをいう。
【００４７】
再構成部５３は、木記憶部４１に記憶された管理木情報を再構成する。例えば、再構成部５３は、管理木情報における機器３０のリーフノードへの割り当て位置を、類似度が高い機器３０同士が近い範囲に集中して配置されるように変更する。より具体的には、例えば、再構成部５３は、管理木情報における機器３０のリーフノードへの割り当て位置を、属性情報の類似度が予め定められた値以上の機器３０同士が予め定められたエッジ数で到達可能な範囲に属するように変更する。再構成部５３は、例えば、定期的または予め定められたイベントが発生した場合に、再構成を実行する。
【００４８】
暗号化部５４は、管理装置２０から何れかの機器３０へとデータを送信する場合、グループ鍵またはノード鍵を用いて対象のデータを暗号化する。暗号化部５４は、指定されたグループに属する機器３０に一括してデータを送信する場合には、グループ鍵により対象のデータを暗号化する。また、暗号化部５４は、指定された何れか１つまたは複数の機器３０にデータを送信する場合には、指定された機器３０が保有しており、他の機器３０が保有していないノード鍵を選択して対象のデータを暗号化する。
【００４９】
第１通信部５５は、ネットワークを介して機器３０と通信を行う。第１通信部５５は、例えば、機器３０と通信を行うための物理レイヤおよびデータリンクレイヤ等のレイヤ処理を実行する。
【００５０】
図７は、機器３０の構成を示す図である。機器３０は、情報記憶部６１と、固定属性記憶部６２と、属性測定部６３と、管理装置発見部６４と、要求部６５と、管理装置認証部６６と、属性送信部６７と、割当受信部６８と、グループ鍵受信部６９と、復号部７０と、第２通信部７１とを有する。
【００５１】
情報記憶部６１は、この機器３０に割り当てられた少なくとも１つのノード鍵の組であるデバイス鍵を記憶する。さらに、情報記憶部６１は、それぞれのノード鍵の識別情報および管理木情報における割り当て位置を記憶してもよい。さらに、情報記憶部６１は、この機器３０が属するグループのグループ鍵およびグループの識別情報を記憶する。
【００５２】
固定属性記憶部６２は、属性情報に含まれる要素情報のうち、時間によって変化しない要素情報を記憶する。属性測定部６３は、属性情報に含まれる要素情報のうち、時間によって変化する要素情報を測定する。属性測定部６３は、定期的に測定してもよいし、予め定められたイベントが発生した場合に測定してもよい。
【００５３】
管理装置発見部６４は、ネットワーク上に存在する管理装置２０を発見する。要求部６５は、管理装置２０に対して、管理木情報への割り当ておよび少なくとも１つのノード鍵の組の発行を要求する。要求部６５は、例えばこの機器３０がネットワークに新たに接続された場合に、少なくとも１つのノード鍵の組の発行を要求する。管理装置認証部６６は、管理装置２０と認証処理を行い、通信相手の管理装置２０が正当な権限を有するかを確認する。
【００５４】
属性送信部６７は、属性情報を管理装置２０へと送信する。属性送信部６７は、例えば、管理木情報への割り当ておよび少なくとも１つのノード鍵の組の発行の要求時において、管理装置２０に対して属性情報を送信する。また、属性送信部６７は、属性情報に含まれる要素情報のうちの時間変化する要素情報を、定期的または予め定められたイベントが発生した場合に管理装置２０へと送信してもよい。
【００５５】
割当受信部６８は、管理装置２０から送信される少なくとも１つのノード鍵を受信する。割当受信部６８は、受信した少なくとも１つのノード鍵の組を、デバイス鍵として情報記憶部６１に記憶させる。また、割当受信部６８は、この機器３０の管理木情報における割り当て位置、および、それぞれのノード鍵の識別情報を受信する。割当受信部６８は、受信したこれらの情報を情報記憶部６１に記憶させる。なお、この機器３０がネットワークに新たに接続された場合、ノード鍵、割り当て位置およびノード鍵の識別情報は、管理装置２０との間の認証処理により共有した鍵により暗号化されている。割当受信部６８は、この共有した鍵により、ノード鍵、割り当て位置およびノード鍵の識別情報を復号する。
【００５６】
グループ鍵受信部６９は、管理装置２０から暗号化されたグループ鍵を受信する。グループ鍵は、この機器３０が保有しているデバイス鍵に含まれる少なくとも１つのノード鍵の組のうちの何れかのノード鍵により暗号化されている。従って、グループ鍵受信部６９は、情報記憶部６１に記憶されているデバイス鍵に含まれる少なくとも１つのノード鍵の組のうちの何れかのノード鍵を選択し、選択したノード鍵を用いて、グループ鍵を復号する。グループ鍵受信部６９は、復号したグループ鍵を情報記憶部６１に記憶させる。
【００５７】
復号部７０は、管理装置２０から送信されたデータをグループ鍵、または、デバイス鍵に含まれる何れかのノード鍵を用いて復号する。第２通信部７１は、ネットワークを介して管理装置２０および他の機器３０と通信を行う。第２通信部７１は、例えば、管理装置２０または他の機器３０と通信を行うための物理レイヤおよびデータリンクレイヤ等のレイヤ処理を実行する。
【００５８】
図８は、属性情報に含まれる要素を示す図である。属性情報は、時間によって変化しない要素情報（固定の要素情報）と、時間によって変化する要素情報（経時変化の要素情報）とを含む。なお、属性情報は、固定の要素情報と、経時変化の要素情報との何れか一方を含んでもよい。
【００５９】
固定の要素情報は、一例として、識別情報、ベンダ名、種別、メモリ量および最大消費電力等である。識別情報は、ネットワーク上で一意に機器３０を識別するための情報であり、例えば機器３０のＭＡＣアドレス、ＩＰアドレスまたは製造番号等である。ベンダ名は、機器３０の製造会社名または販売会社名等である。種別は、機器３０の製品機能を表す名称である。具体的には、種別は、例えば、エアーコンディショナ、テレビジョン装置および冷蔵庫等が記述される。
【００６０】
メモリ量は、機器３０が備えるメモリの容量値である。メモリ量は、容量値に限らず、容量値が予め定められた閾値より大きいか否か等の情報であってもよい。最大消費電力は、機器３０が消費する電力の最大値である。
【００６１】
経時変化の要素情報は、一例として、平均消費電力、最頻コマンド名およびコマンド頻度等である。平均消費電力は、ある期間（例えば、運転開始から現時点まで）において、機器３０が消費した電力の平均値である。最頻コマンド名は、ある期間（例えば、運転開始から現時点まで）において、機器３０が実行した最も多い制御コマンドの名称である。また、コマンド頻度は、ある期間（例えば、運転開始から現時点まで）において、機器３０が制御コマンドを実行した頻度である。
【００６２】
なお、属性情報に含まれる要素情報は、これら以外に、例えば、機種名、機器のキャッシュ量、ＣＰＵ（Central  Processing  Unit）の名称、定格消費電力、通信方式、ネットワークのトポロジー、管理装置２０から機器３０に到達するまでのホップ数、電波強度、機器３０の製造年月日、機器３０の設置場所、機器３０が移動可能であるかまたは固定であるか、接続される周辺装置の識別情報等であってもよい。また、属性情報に含まれる要素情報の組み合わせは、どのような組み合わせであってもよい。
【００６３】
図９は、実施形態に係る通信システム１０のシーケンス図である。通信システム１０では、ネットワークに新しい機器３０が接続された場合、図９に示すシーケンスに従って処理が実行される。
【００６４】
まず、ステップＳ１１において、管理装置２０および機器３０は、ネットワークを介して互いの機器を発見する。続いて、ステップＳ１２において、機器３０は、管理装置２０に対して、管理木情報への割り当ておよび少なくとも１つのノード鍵の組（デバイス鍵）の発行を要求する。
【００６５】
続いて、ステップＳ１３において、管理装置２０および機器３０は、互いに認証処理を行い、通信相手が正当な権限を有するかを確認する。管理装置２０は、ステップＳ１３の機器３０と接続してよいかを判定するための認証処理を、ステップＳ１１またはステップＳ１２の処理と併せて実行してもよい。
【００６６】
なお、管理装置２０および機器３０は、例えば、ＩＳＯ／ＩＥＣ９７９８−１またはＩＳＯ／ＩＥＣ９７９８−３等の方法を用いて認証する。また、管理装置２０および機器３０は、公開鍵証明書を用いる方法で認証してもよい。また、管理装置２０および機器３０は、認証に用いる鍵を予め共有されたパスワードに基づいて生成してもよいし、認証に用いる鍵に工場出荷時等に機器３０に埋め込まれた秘密鍵を用いてもよい。
【００６７】
続いて、相手が正当な管理装置２０であると確認した場合、ステップＳ１４において、機器３０は、属性情報を送信する。この場合において、機器３０は、時間変化しない要素情報を送信する。また、機器３０は、時間変化する要素情報を測定済みの場合には、時間変化する要素情報も送信してもよい。
【００６８】
なお、機器３０は、次の割当処理（Ｓ１５）の前であれば、属性情報をいつ送信してもよい。例えば、機器３０は、発見処理（Ｓ１１）にＵＰｎＰ  ＳＳＤＰを用いる場合には、デバイスディスクリプションの１つのエントリに属性情報を含めて送信してもよい。また、機器３０は、要求処理（Ｓ１２）のプロトコルにＨＴＴＰを用いる場合には、ＨＴＴＰリクエストヘッダの１つのエンティティとして専用のフィールドを定義して属性情報を送信してもよいし、ＨＴＴＰ  ＧＥＴリクエストのＵＲＬに属性情報の格納場所を含めてもよい。
【００６９】
続いて、ステップＳ１５において、管理装置２０は、機器３０を管理木情報における何れかのリーフノードに割り当てる割当処理を実行する。なお、割当処理については図１０を参照して後述する。
【００７０】
続いて、ステップＳ１６において、管理装置２０は、ステップＳ１５の割当処理により得られた割当情報を、機器３０へ送信する。割当情報は、対応する機器３０に割り当てられた少なくとも１つのノード鍵の組（デバイス鍵）を含む。また、割当情報は、管理木情報における割り当て位置、および、それぞれのノード鍵の識別情報を含んでもよい。また、管理装置２０は、割当情報を、認証処理により共有された鍵により暗号化して機器３０に送信する。
【００７１】
続いて、ステップＳ１７において、管理装置２０は、対応する機器３０が属するグループのグループ鍵を取得して、ステップＳ１６で機器３０へと送信した少なくとも１つのノード鍵のうちの何れか１以上のノード鍵により暗号化する。この場合において、管理装置２０は、グループ以外の機器３０が保有していないノード鍵によりグループ鍵を暗号化する。
【００７２】
続いて、ステップＳ１８において、暗号化したグループ鍵を機器３０へ送信する。続いて、ステップＳ１９において、機器３０は、管理装置２０から暗号化したグループ鍵を受信して、保有している少なくとも１つのノード鍵の組（デバイス鍵）のうちの何れかのノード鍵を選択し、選択したノード鍵により復号する。以上の処理により、機器３０は、管理装置２０から少なくとも１つのノード鍵の組（デバイス鍵）およびグループ鍵を取得することができる。
【００７３】
図１０は、管理装置２０の割当処理のフローチャートである。管理装置２０は、割当処理（Ｓ１５）において、図１０に示す処理を実行する。
【００７４】
まず、ステップＳ２１において、管理装置２０の生成部５１は、木記憶部４１に管理木情報が存在するか否かを判断する。管理木情報が存在しない場合（Ｓ２１のＮｏ）、ステップＳ２２において、生成部５１は、新たな管理木情報を生成して、木記憶部４１に記憶させる。この場合において、生成部５１は、階層が予め定められたｉ段の管理木情報を生成する（ｉは、２以上の整数）。なお、管理木情報の階層とは、ルートノードからリーフノードまでのルートのエッジ数を表す。続いて、ステップＳ２３において、管理装置２０の割当部４８は、新たな管理木情報における何れかのリーフノードに、新たな機器３０を割り当てる。そして、ステップＳ２３を終了すると、管理装置２０は、割当処理を終了する。
【００７５】
一方、管理木情報が存在する場合（Ｓ２１のＹｅｓ）、ステップＳ２４において、管理装置２０の類似度算出部４７は、新たな機器３０の属性情報と、管理木情報に既に割り当てられているそれぞれの機器３０の属性情報との類似度を算出する。
【００７６】
２つの属性情報の類似度を算出する場合、類似度算出部４７は、例えば、対応する要素情報同士が、同一であるか、または、値の差が一定範囲内であるかを比較する。例えば、類似度算出部４７は、ベンダ名が同一であるか、種別が同一であるか、メモリ量の差が一定範囲内であるか、最大消費電力の差が一定範囲内であるか、平均消費電力の差が一定範囲内であるか、最頻コマンド名が同一であるか、コマンド頻度の差が一定範囲内であるか等を比較する。
【００７７】
そして、類似度算出部４７は、複数の要素情報毎の比較結果を合成して類似度を算出する。例えば、類似度算出部４７は、要素情報が同一または値の差が一定範囲内である場合には１点、要素情報が同一ではないまたは値の差が一定範囲を超えている場合には０点とし、複数の要素情報の点数を合計した値を類似度とする。
【００７８】
また、類似度算出部４７は、属性情報のうちの全ての要素情報について比較するのではなく、予め定められた特定の１または複数の要素情報を抽出して比較してもよい。例えば、類似度算出部４７は、種別と、平均消費電力とを比較して、これらの比較結果を合成して類似度を算出してもよい。
【００７９】
また、類似度算出部４７は、要素情報によって比較結果に重みを変えて合成してもよい。類似度算出部４７は、例えば、種別が一致する場合には５点、ベンダ名が一致する場合には２点、平均消費電力の値の差が一定の範囲内の場合には４点といったように重みを変えてもよい。なお、類似度算出部４７は、以上の算出方法に代えて、他の算出方法により類似度を算出してもよい。
【００８０】
続いて、ステップＳ２５において、割当部４８は、算出した類似度に基づき、管理木情報における何れかのリーフノードに、新たな機器３０を割り当てる。この場合、割当部４８は、類似する機器３０が近くに集中して配置されるように、新たな機器３０を何れかの空のリーフノードに割り当てる。例えば、割当部４８は、新たな機器３０の属性情報と最も類似度の高い機器３０から、一定のエッジ数以内で到達できる空のリーフノードに新たな機器３０を割り当てる。また、割当部４８は、最も類似度の高い機器３０から一定のエッジ数以内で到達できる空のリーフノードが存在しない場合には、拡張部５２に管理木情報を拡張させてから、新たな機器３０を割り当ててもよい。
【００８１】
そして、ステップＳ２５を終了すると、管理装置２０は、割当処理を終了する。
【００８２】
図１１は、図１０のステップＳ２５での処理の一例を示すフローチャートである。割当部４８は、図１０のステップＳ２５において、例えば図１１に示すような処理を実行してもよい。
【００８３】
まず、ステップＳ３１において、割当部４８は、管理木情報に既に割り当てられている機器３０のうち、新たな機器３０の属性情報との類似度が最も高い機器３０が割り当てられたリーフノードを検出する。
【００８４】
続いて、ステップＳ３２において、割当部４８は、類似度が最も高い機器３０が割り当てられたリーフノードからｎ親等以内に、空のリーフノードが存在するか否かを判断する。ここで、ｎ親等以内のリーフノードとは（ｎは１以上の整数である。）、ある機器３０が割り当てられたリーフノードから、ｎ回以下のエッジ数で到達可能な他のリーフノードをいう。例えば、図２に示した例においては、リーフノード８とリーフノード９との間の親等数は、２である。また、リーフノード８とリーフノード１２の間の親等数は、６である。
【００８５】
類似度が最も高い機器３０が割り当てられたリーフノードからｎ親等以内に、空のリーフノードが存在する場合（Ｓ３２のＹｅｓ）、ステップＳ３３において、割当部４８は、そのｎ親等以内の空のリーフノードに、新たな機器３０を割り当てる。つまり、割当部４８は、類似度が最も高い機器３０が割り当てられたリーフノードから、予め定められたエッジ数で到達可能な空のリーフノードに、新たな機器３０を割り当てる。これにより、割当部４８は、管理木情報における、属性情報が最も類似する既存の機器３０に近い位置に新たな機器３０を割り当てることができる。
【００８６】
なお、ステップＳ３１において、割当部４８は、類似度が基準値以上のうちの、類似度が最も高い機器３０が割り当てられたリーフノードを検出してもよい。この場合において、もし、類似度が基準値以上の機器３０が存在しなければ、割当部４８は、逆にｎ親等より離れた空のリーフノードに、新たな機器３０を割り当ててもよい。これにより、割当部４８は、管理木情報における、属性情報が類似しない既存の機器３０の遠くの位置に、新たな機器３０を割り当てることができる。
【００８７】
そして、管理装置２０は、ステップＳ３３を終了すると、処理を図１０のフローに戻す。
【００８８】
一方、類似度が最も高い機器３０が割り当てられたリーフノードからｎ親等以内に、空のリーフノードが存在しない場合（Ｓ３２のＮｏ）、ステップＳ３４において、割当部４８は、管理木情報に空のリーフノードが存在するか否かを判断する。割当部４８は、管理木情報に空のリーフノードが存在しない場合（Ｓ３４のＮｏ）、処理をステップＳ３５に進め、管理木情報に空のリーフノードが存在する場合（Ｓ３４のＹｅｓ）、処理をステップＳ３６に進める。
【００８９】
ステップＳ３５において、拡張部５２は、管理木情報の木構造を拡張する。これにより、拡張部５２は、管理木情報に空のリーフノードを作成することができる。そして、拡張部５２は、管理木情報を拡張した後に、処理をステップＳ３２に戻して処理を繰り返させる。なお、拡張部５２は、管理木情報を拡張した後に、処理をステップＳ３６に進めてもよい。なお、管理木情報の拡張処理については、図１４〜図２０を参照して後述する。
【００９０】
また、ステップＳ３６において、割当部４８は、何れかの空のリーフノードに新たな機器３０を割り当てる。そして、管理装置２０は、ステップＳ３６を終了すると、処理を図１０のフローに戻す。
【００９１】
なお、ステップＳ３４において、割当部４８は、管理木情報に空のリーフノードが存在するか否かに代えて、管理木情報に空のリーフノードが予め定められた数以上存在するか否かを判断してもよい。この場合、割当部４８は、空のリーフノードが予め定められた数以上存在しなければ、処理をステップＳ３５に進め、存在すれば、処理をステップＳ３６に進める。
【００９２】
図１２は、管理木情報への機器３０の第１の割り当て例を示す図である。例えば、管理木情報は、図１２に示すように、２階層の完全２分木の構造であり、ノード番号４のリーフノードに第１の機器３０−Ａが割り当てられ、ノード番号６のリーフノードに第２の機器３０−Ｂが割り当てられ、ノード番号７のリーフノードに第３の機器３０−Ｃが割り当てられているとする。また、図１２の例において、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２，Ｋ４の組（デバイス鍵）を保有する。第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ３，Ｋ６の組（デバイス鍵）を保有する。第３の機器３０−Ｃは、３つのノード鍵Ｋ１，Ｋ３，Ｋ７の組（デバイス鍵）を保有する。
【００９３】
図１２の例において、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させる場合、管理装置２０は、次式で表される２つの暗号文を生成して送信する。これにより、第１の機器３０−Ａおよび第２の機器３０−Ｂは、グループ鍵ＧＫを保有することができる。なお、Ｅ（Ｋ，Ｍ）は、鍵Ｋを用いてデータＭを暗号化した暗号文を表す。
Ｃ１＝Ｅ（Ｋ４，ＧＫ）
Ｃ２＝Ｅ（Ｋ６，ＧＫ）
【００９４】
続いて、管理装置２０は、制御コマンドＣＭＤを、グループ鍵ＧＫを用いて次式で表されるように暗号化し、暗号文をマルチキャスト送信する。
Ｃ３＝Ｅ（ＧＫ，ＣＭＤ）
【００９５】
第１の機器３０−Ａおよび第２の機器３０−Ｂは、受信した暗号文をグループ鍵ＧＫを用いて復号する。これにより、第１の機器３０−Ａおよび第２の機器３０−Ｂは、制御コマンドＣＭＤを実行することができる。このように、管理木情報が図１２のように構成されている場合、管理装置２０は、３つの暗号文を送信することにより、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることができる。
【００９６】
なお、図１２の例において、管理装置２０は、グループ鍵ＧＫを送信せずに、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることもできる。この場合、管理装置２０は、次式で表される暗号文を生成して送信する。グループ鍵ＧＫを送信しない場合には、管理装置２０は、２つの暗号文を送信することにより、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることができる。
Ｃ１´＝Ｅ（Ｋ４，ＣＭＤ）
Ｃ２´＝Ｅ（Ｋ６，ＣＭＤ）
【００９７】
図１３は、管理木情報への機器３０の第２の割り当て例を示す図である。図１３に示す管理木情報は、第２の機器３０−Ｂがノード番号５のノードに割り当てられている点において、図１２と異なる。図１３の例では、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ２，Ｋ５の組（デバイス鍵）を保有する。
【００９８】
図１３の例において、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させるには、まず、管理装置２０は、次式で表される暗号文を生成して、マルチキャスト送信する。これにより、第１の機器３０−Ａおよび第２の機器３０−Ｂは、グループ鍵ＧＫを保有することができる。
Ｃ１´´＝Ｅ（Ｋ２，ＧＫ）
【００９９】
続いて、管理装置２０は、制御コマンドＣＭＤを、グループ鍵ＧＫを用いて次式で表されるように暗号化し、暗号文をマルチキャスト送信する。
Ｃ３＝Ｅ（ＧＫ，ＣＭＤ）
【０１００】
第１の機器３０−Ａおよび第２の機器３０−Ｂは、受信した暗号文をグループ鍵ＧＫを用いて復号する。これにより、第１の機器３０−Ａおよび第２の機器３０−Ｂは、制御コマンドＣＭＤを実行することができる。以上のように、管理木情報が図１３のように構成されている場合、管理装置２０は、２つの暗号文を送信することにより、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることができる。
【０１０１】
また、図１３の例において、管理装置２０は、グループ鍵ＧＫを送信せずに、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることもできる。この場合、管理装置２０は、次式で表される暗号文を生成して、マルチキャスト送信する。このようにグループ鍵ＧＫを送信しない場合には、管理装置２０は、１つの暗号文を送信することにより、第１の機器３０−Ａおよび第２の機器３０−Ｂに制御コマンドＣＭＤを実行させることができる。
Ｃ１´´´＝Ｅ（Ｋ２，ＣＭＤ）
【０１０２】
以上のように、第１の機器３０−Ａおよび第２の機器３０−Ｂに同一の制御コマンドＣＭＤを実行させる場合、図１２の管理木情報よりも、図１３の管理木情報の方が、データの送信量を少なくすることができ、効率が良い。
【０１０３】
ここで、図１２の管理木情報と図１３の管理木情報とを比較する。図１２の管理木情報は、第１の機器３０−Ａが割り当てられたリーフノードと第２の機器３０−Ｂが割り当てられたリーフノードとの間が、４親等の距離となっている。これに対して、図１３の管理木情報は、第１の機器３０−Ａが割り当てられたリーフノードと第２の機器３０−Ｂが割り当てられたリーフノードとの間が、２親等の距離となっている。すなわち、図１３の管理木情報は、図１２の管理木情報よりも、近い範囲に第１の機器３０−Ａおよび第２の機器３０−Ｂが割り当てられている。このことから、管理木情報は、１つのグループに属する機器３０同士が、近いリーフノードに割り当てられている方が、遠いリーフノードに割り当てられている場合よりも、送信する情報量（暗号文数）を少なくすることができる。
【０１０４】
また、管理装置２０は、属性情報の類似度の高い複数の機器３０に、同一のデータを同時に送信する可能性が高い。例えば、通信システム１０の全体の消費電力を抑制する場合、管理装置２０は、複数のエアーコンディショナに対して、電力消費量を低下させる制御コマンド等を同時に送信する可能性が高い。従って、管理装置２０は、属性情報の類似度の高い複数の機器３０を管理木情報における所定の範囲内のリーフノードに割り当てることにより、送信する情報量（暗号文数）を少なくすることができる。
【０１０５】
本実施形態に係る管理装置２０は、属性情報の類似度が高い機器３０同士を管理木情報における近い位置に割り当てる。従って、管理装置２０によれば、複数の機器３０に少ない情報量で効率良くデータを送信することができる。
【０１０６】
（管理木情報の拡張）
拡張部５２は、例えば、新たな機器３０を管理木情報に割り当てる場合において、管理木情報の空のリーフノードの数が予め定められた数より少ない場合（例えば、空のリーフノードが存在しない場合）、管理木情報を拡張する。
【０１０７】
また、拡張部５２は、管理木情報における新たな機器３０と最も類似度が高い属性情報の機器３０のリーフノードからｎ親等以内に空のリーフノードが存在しない場合に、管理木情報を拡張してもよい。また、拡張部５２は、定期的または所定のイベントが発生した場合であって、管理木情報の空のリーフノードの数が予め定められた数より少ない場合、管理木情報を拡張してもよい。また、拡張部５２は、例えば、ネットワークに接続された機器３０の個数が予め定められた数を超える毎に、管理木情報を拡張してもよい。
【０１０８】
以下、管理木情報の拡張例および拡張後のノード鍵の送信方法について説明する。
【０１０９】
図１４は、拡張前の管理木情報の第１例を示す図である。例えば、管理木情報は、図１４に示すように、１階層の完全２分木の構造であり、ノード番号４のリーフノードに第１の機器３０−Ａが割り当てられ、ノード番号５のリーフノードに第２の機器３０−Ｂが割り当てられているとする。図１４の例において、第１の機器３０−Ａは、２つのノード鍵Ｋ２，Ｋ４の組（デバイス鍵）を保有する。第２の機器３０−Ｂは、２つのノード鍵Ｋ２，Ｋ５の組（デバイス鍵）を保有する。
【０１１０】
このような場合、割当部４８は、新たな機器３０を管理木情報に割り当てることができない。そこで、拡張部５２は、例えば、管理木情報の既存のルートノードの上位層にさらにノードを追加する。
【０１１１】
図１５は、図１４の管理木情報におけるルートノードの上位層に、新たなにノードを追加した例を示す図である。図１５の例において、拡張部５２は、例えば、元のルートノードであるノード番号２の上位層に、ノード番号１の新たなルートノードを追加する。さらに、拡張部５２は、ノード番号１のルートノードの下位層に、１階層の完全２分木の部分木を追加する。これにより、拡張部５２は、管理木情報に、新たに２つの空のリーフノードを形成して、新たな機器３０を割り当て可能にできる。
【０１１２】
続いて、割当送信部４９は、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、管理木情報に割り当て済みの機器３０に送信する。この場合、割当送信部４９は、拡張したノードに割り当てられた新たなノード鍵を、既存のノードに割り当てられていたノード鍵であって、送信対象となる機器３０のみが保有するノード鍵により暗号化して送信する。
【０１１３】
図１５の例においては、割当送信部４９は、次式に示すように、拡張したノード番号１のノードに割り当てられたノード鍵Ｋ１を、既存のノード番号２のノードに割り当てられたノード鍵Ｋ２により暗号化して、第１の機器３０−Ａおよび第２の機器３０−Ｂにマルチキャスト送信する。
Ｃ４＝Ｅ（Ｋ２，Ｋ１）
【０１１４】
これにより、拡張前に管理木情報に割り当てられていた既存の第１の機器３０−Ａおよび第２の機器３０−Ｂは、拡張後の管理木情報における、ルートノードから対応するリーフノードまでに割り当てられている全てのノード鍵を保有することができる。図１５の例においては、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２，Ｋ４の組（デバイス鍵）を保有し、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ２，Ｋ５の組（デバイス鍵）を保有することができる。
【０１１５】
このように、割当送信部４９は、管理木情報をルートノードの上位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器３０へ、既に保有しているノード鍵を用いて暗号化して送信することができる。特に、この場合、割当送信部４９は、新たなノード鍵を元のルートノードに割り当てられていた１つのノード鍵で暗号化すればよいので、送信する情報量を少なくすることができる。
【０１１６】
図１６は、拡張前の管理木情報の第２例を示す図である。例えば、管理木情報は、図１６に示すように、１階層の完全２分木の構造であり、ノード番号２のリーフノードに第１の機器３０−Ａが割り当てられ、ノード番号３のリーフノードに第２の機器３０−Ｂが割り当てられているとする。図１６の例において、第１の機器３０−Ａは、２つのノード鍵Ｋ１，Ｋ２の組（デバイス鍵）を保有する。第２の機器３０−Ｂは、２つのノード鍵Ｋ１，Ｋ３の組（デバイス鍵）を保有する。
【０１１７】
このような場合、割当部４８は、新たな機器３０を管理木情報に割り当てることができない。そこで、拡張部５２は、例えば、管理木情報の既存のリーフノードの下位層にさらにノードを追加してもよい。そして、この場合、拡張部５２は、下位層にノードが追加された既存のリーフノードに割り当てられていた機器３０を、新たなリーフノードに割り当て直す。また、拡張部５２は、例えば、管理木情報の既存のリーフノードとルートノードとの間の中間層にさらにノードを追加してもよい。
【０１１８】
図１７は、図１６の管理木情報におけるリーフノードの下位層に、新たにノードを追加した例を示す図である。図１７の例において、拡張部５２は、例えば、元のリーフノードであるノード番号２の下位層に、ノード番号４およびノード番号５の新たな２つのリーフノードを追加する。さらに、拡張部５２は、ノード番号３の下位層に、ノード番号６およびノード番号７の新たな２つのリーフノードを追加する。
【０１１９】
また、図１７の例において、拡張部５２は、元のリーフノードであるノード番号２に割り当てられていた第１の機器３０−Ａを、ノード番号４の新たなリーフノードに割り当て直す。また、拡張部５２は、元のリーフノードであるノード番号３に割り当てられていた第２の機器３０−Ｂを、ノード番号５の新たなリーフノードに割り当て直す。これにより、拡張部５２は、管理木情報に、新たに２つの空のリーフノードを形成して、新たな機器３０を割り当て可能にできる。
【０１２０】
また、図１７の例において、拡張部５２は、元のリーフノードであるノード番号２およびノード番号３のノードに、新たなノード鍵Ｋ２´，Ｋ３´を割り当て直す。
【０１２１】
続いて、割当送信部４９は、新たに保有すべきノード鍵を、既存のノードに割り当てられていたノード鍵であって、送信対象となる機器３０のみが保有するノード鍵により暗号化して、管理木情報に割り当て済みの機器３０に送信する。図１７の例においては、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ２´，Ｋ４を、既存のノード番号２のノードに割り当てられたノード鍵Ｋ２により暗号化して、第１の機器３０−Ａに送信する。ノード鍵Ｋ２は、送信対象である第１の機器３０−Ａのみが保有し、第２の機器３０−Ｂは保有しない。これにより、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２´，Ｋ４の組（デバイス鍵）を保有することができる。
Ｃ５＝Ｅ（Ｋ２，Ｋ２´）
Ｃ６＝Ｅ（Ｋ２，Ｋ４）
【０１２２】
また、図１７の例においては、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ２´，Ｋ５を、既存のノード番号３のノードに割り当てられたノード鍵Ｋ３により暗号化して、第２の機器３０−Ｂに送信する。ノード鍵Ｋ３は、送信対象である第２の機器３０−Ｂのみが保有し、第１の機器３０−Ａは保有しない。これにより、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ２´，Ｋ５の組（デバイス鍵）を保有することができる。
Ｃ７＝Ｅ（Ｋ３，Ｋ２´）
Ｃ８＝Ｅ（Ｋ３，Ｋ５）
【０１２３】
このように、割当送信部４９は、管理木情報をリーフノードの下位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器３０へ、既に保有しているノード鍵を用いて暗号化して送信することができる。なお、拡張部５２は、Ｋ２´＝Ｋ２としてもよい。これにより、割当送信部４９は、第１の機器３０−Ａにノード鍵Ｋ２を送信しなくてもよいので、送信する情報量をさらに削減することができる。
【０１２４】
図１８は、図１６の管理木情報におけるルートノードとリーフノードとの間の層に、新たにノードを追加した例を示す図である。拡張部５２は、例えば、管理木情報のルートノードとリーフノードとの間の層に、さらに新たなノードを追加してもよい。
【０１２５】
図１８の例において、拡張部５２は、例えば、ノード番号１のルートノードの下位層にノード番号４のノードを新たに追加する。そして、拡張部５２は、ノード番号２のリーフノードおよびノード番号３のリーフノードを、ノード番号４のノードの下位層に接続する。さらに、拡張部５２は、ノード番号１のルートノードの下位層に、１階層の完全２分木の部分木を追加する。これにより、拡張部５２は、管理木情報に、新たに２つの空のリーフノードを形成して、新たな機器３０を割り当て可能にできる。
【０１２６】
続いて、割当送信部４９は、追加されたノード番号４のノードに割り当てられたノード鍵を、管理木情報に割り当て済みの第１の機器３０−Ａおよび第２の機器３０−Ｂに送信する。図１８の例においては、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ４を、既存のノード番号２のノードに割り当てられたノード鍵Ｋ２と、既存のノード番号３のノードに割り当てられたノード鍵Ｋ３により、それぞれ暗号化して、第１の機器３０−Ａおよび第２の機器３０−Ｂにマルチキャスト送信する。これにより、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２，Ｋ４の組（デバイス鍵）を保有することができる。また、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ３，Ｋ４の組を保有することができる。
Ｃ９＝Ｅ（Ｋ２，Ｋ４）
Ｃ１０＝Ｅ（Ｋ３，Ｋ４）
【０１２７】
このように、管理木情報のルートノードとリーフノードとの間の層にさらに新たなノードを追加することにより、割当送信部４９は、追加された新たなノードに割り当てられたノード鍵を、既存のノードに割り当てられていたノード鍵により暗号化して送信することができる。これにより、割当送信部４９によれば、送信する情報量を少なくすることができる。
【０１２８】
なお、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ４を、既存のノード番号１のノードに割り当てられたノード鍵Ｋ１により暗号化して、第１の機器３０−Ａおよび第２の機器３０−Ｂにマルチキャスト送信するように構成してもよい。このように構成しても、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２，Ｋ４の組（デバイス鍵）を保有することができる。また、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ３，Ｋ４の組（デバイス鍵）を保有することができる。さらに、これにより、割当送信部４９は、１つの暗号文を送信するだけでよいので、送信する情報量をさらに削減することができる。
Ｃ１１＝Ｅ（Ｋ１，Ｋ４）
【０１２９】
図１９は、図１６の管理木情報における一方のリーフノードの下位層に、新たなノードを追加した例を示す図である。拡張部５２は、例えば、管理木情報の既存の何れか１つのリーフノードの下位層に、さらにノードを追加してもよい。そして、この場合、拡張部５２は、下位層にノードが追加された既存のリーフノードに割り当てられていた機器３０を、新たなリーフノードに割り当て直す。
【０１３０】
図１９の例において、拡張部５２は、例えば、元のリーフノードであるノード番号３の下位層に、ノード番号４およびノード番号５の新たな２つのリーフノードを追加する。また、図１９の例において、拡張部５２は、元のリーフノードであるノード番号３に割り当てられていた第２の機器３０−Ｂを、ノード番号４の新たなリーフノードに割り当て直す。これにより、拡張部５２は、管理木情報に、新たに１つの空のリーフノードを形成して、新たな機器３０を割り当て可能にできる。また、図１９の例において、拡張部５２は、元のリーフノードであるノード番号３のノードに、新たなノード鍵Ｋ３´を割り当て直す。
【０１３１】
続いて、割当送信部４９は、割り当て位置を変更した第２の機器３０−Ｂに対して、新たに保有すべきノード鍵を送信する。図１９の例においては、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ３´，Ｋ４を、既存のノード番号３のノードに割り当てられたノード鍵Ｋ３により暗号化して、第２の機器３０−Ｂに送信する。これにより、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ３´，Ｋ４の組（デバイス鍵）を保有することができる。
Ｃ１２＝Ｅ（Ｋ３，Ｋ３´）
Ｃ１３＝Ｅ（Ｋ３，Ｋ４）
【０１３２】
このように、割当送信部４９は、管理木情報を一方のリーフノードの下位層へ拡張することにより、管理木情報における拡張したノードに割り当てられた新たなノード鍵を、既存の機器３０へ、既に保有しているノード鍵を用いて暗号化して送信することができる。なお、拡張部５２は、Ｋ３´＝Ｋ３としてもよい。これにより、割当送信部４９は、第２の機器３０−Ｂにノード鍵Ｋ３を送信しなくてもよいので、送信する情報量を少なくすることができる。
【０１３３】
図２０は、図１６の管理木情報におけるルートノードと一方のリーフノードとの間の層に、新たにノードを追加した例を示す図である。拡張部５２は、例えば、管理木情報のルートノードと１つのリーフノードとの間の層に、さらに新たなノードを追加してもよい。
【０１３４】
図２０の例において、拡張部５２は、例えば、ノード番号１のルートノードとノード番号３のリーフノードとの間に、ノード番号４のノードを新たに追加する。そして、拡張部５２は、ノード番号５の新たなリーフノードを、ノード番号４のノードの下位層に追加する。これにより、拡張部５２は、管理木情報に、新たに１つの空のリーフノードを形成して、新たな機器３０を割り当て可能にできる。
【０１３５】
続いて、割当送信部４９は、追加されたノード番号４のノードに割り当てられたノード鍵を、管理木情報に割り当て済みの第２の機器３０−Ｂに送信する。図２０の例においては、割当送信部４９は、次式に示すように、新たなノード鍵Ｋ４を、既存のノード番号３のノードに割り当てられたノード鍵Ｋ３により暗号化して、第２の機器３０−Ｂに送信する。これにより、第２の機器３０−Ｂは、デバイス３つのノード鍵Ｋ１，Ｋ３，Ｋ４の組（デバイス鍵）を保有することができる。
Ｃ１４＝Ｅ（Ｋ３，Ｋ４）
【０１３６】
このように、管理木情報のルートノードとリーフノードとの間の層にさらに新たなノードを追加することにより、割当送信部４９は、追加された新たなノードに割り当てられたノード鍵を、既存のノードに割り当てられていたノード鍵により暗号化して送信することができる。これにより、割当送信部４９によれば、送信する情報量を少なくすることができる。
【０１３７】
（管理木情報の再構成）
つぎに、管理木情報の再構成方法および再構成後のノード鍵の送信方法について説明する。再構成部５３は、管理木情報における機器３０のリーフノードへの割り当て位置を、類似度が高い機器３０同士が近いノードの範囲に集中して配置されるように変更する。
【０１３８】
再構成部５３は、例えば、定期的または予め定められたイベントが発生した場合に、再構成を実行する。例えば、再構成部５３は、拡張部５２により管理木情報が拡張された後に、管理木情報を再構成してもよい。また、例えば、再構成部５３は、管理木情報における新たな機器３０と最も類似度が高い属性情報の機器３０のリーフノードから、ｎ親等以内に空のリーフノードが存在しない場合に、管理木情報を再構成してもよい。また、例えば、再構成部５３は、管理木情報における新たな機器３０と最も類似度が高い属性情報の機器３０のリーフノードから、ｎ親等以内に空のリーフノードが存在した場合であっても、管理木情報を再構成してもよい。
【０１３９】
以下、属性情報に含まれる時刻の経過に応じて変化する要素情報を類似度の指標として用いて、管理木情報を再構成する例について説明する。
【０１４０】
図２１は、再構成前の管理木情報を示す図である。図２１の例において、再構成前の管理木情報は、２階層の完全２分木の構造であり、ノード番号４のリーフノードに第１の機器３０−Ａが割り当てられ、ノード番号５のリーフノードに第２の機器３０−Ｂが割り当てられ、ノード番号６のリーフノードに第３の機器３０−Ｃが割り当てられているとする。図２１の例において、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２，Ｋ４の組（デバイス鍵）を保有する。第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ２，Ｋ５の組（デバイス鍵）を保有する。第３の機器３０−Ｃは、３つのノード鍵Ｋ１，Ｋ３，Ｋ６の組（デバイス鍵）を保有する。
【０１４１】
属性取得部４６は、それぞれの機器３０から属性情報を取得する。第１の機器３０−Ａの平均消費電力が１０００［Ｗ］、第２の機器３０−Ｂの平均消費電力が１００［Ｗ］、第３の機器３０−Ｃの平均消費電力が１２００［Ｗ］であったとする。この場合、第１の機器３０−Ａおよび第３の機器３０−Ｃは、平均消費電力の差が小さく類似度が高いので、例えば、電力消費の抑制を指示する制御コマンドを同時に受け取る可能性が高い。
【０１４２】
第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを実行させる場合、まず、管理装置２０は、次式で示される暗号文を生成して送信する。これにより、第１の機器３０−Ａおよび第３の機器３０−Ｃは、グループ鍵ＧＫを保有することができる。なお、第２の機器３０−Ｂは、ノード鍵Ｋ４およびＫ６を保有していないので、グループ鍵ＧＫを取得することができない。
Ｃ１５＝Ｅ（Ｋ４，ＧＫ）
Ｃ１６＝Ｅ（Ｋ６，ＧＫ）
【０１４３】
続いて、管理装置２０は、次式に示すように、制御コマンドＣＭＤをグループ鍵ＧＫにより暗号化して、第１の機器３０−Ａおよび第３の機器３０−Ｃにマルチキャスト送信する。
Ｃ１７＝Ｅ（ＧＫ，ＣＭＤ）
【０１４４】
第１の機器３０−Ａおよび第３の機器３０−Ｃは、受信した暗号文をグループ鍵ＧＫにより復号し、制御コマンドＣＭＤを実行する。このように、管理木情報が図２１に示されるように構成されている場合、管理装置２０は、第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを送信するためには、３つの暗号文を生成しなければならない。
【０１４５】
図２２は、再構成後の管理木情報を示す図である。再構成部５３は、例えば、属性情報のうちの平均消費電力が一定値以上の機器３０同士が近傍に配置されるように、管理木情報を再構成する。例えば、再構成部５３は、平均消費電力が１０００［Ｗ］以上の機器３０が、２親等以内に配置されるように管理木情報を再構成する。従って、再構成部５３は、図２２に示すように、例えば、ノード番号４のリーフノードに第１の機器３０−Ａを割り当て、ノード番号５のリーフノードに第３の機器３０−Ｃを割り当て、ノード番号６のリーフノードに第２の機器３０−Ｂを割り当てる。
【０１４６】
さらに、再構成部５３は、機器３０の割り当ての変更に伴い、それぞれのノードに割り当てられるノード鍵を変更する。この場合、再構成部５３は、割り当て変更がされた機器３０が保有していたノード鍵を変更し、割り当て変更がされた機器３０が保有していないノード鍵は変更しなくてよい。また、再構成部５３は、割り当て変更がされた全ての機器３０が共通に保有していたノード鍵も変更しなくてもよい。図２２の例においては、再構成部５３は、ノード番号２のノード、ノード番号３のノード、ノード番号５のノードおよびノード番号６のノードのノード鍵を変更する。
【０１４７】
そして、割当送信部４９は、変更されたノード鍵を機器３０へと送信する。図２２の例においては、割当送信部４９は、下記の式に示すように、ノード鍵Ｋ２´をノード鍵Ｋ４で暗号化して第１の機器３０−Ａに送信する。これにより、第１の機器３０−Ａは、３つのノード鍵Ｋ１，Ｋ２´，Ｋ４の組（デバイス鍵）を保有することができる。
Ｃ１８＝Ｅ（Ｋ４，Ｋ２´）
【０１４８】
また、割当送信部４９は、下記の式に示すように、ノード鍵Ｋ２´、Ｋ５´をノード鍵Ｋ６で暗号化して第３の機器３０−Ｃに送信する。これにより、第３の機器３０−Ｃは、３つのノード鍵Ｋ１，Ｋ２´，Ｋ５´の組（デバイス鍵）を保有することができる。
Ｃ１９＝Ｅ（Ｋ６，Ｋ２´）
Ｃ２０＝Ｅ（Ｋ６，Ｋ５´）
【０１４９】
また、割当送信部４９は、下記の式に示すように、ノード鍵Ｋ３´、Ｋ６´をノード鍵Ｋ５で暗号化して第２の機器３０−Ｂに送信する。これにより、第２の機器３０−Ｂは、３つのノード鍵Ｋ１，Ｋ３´，Ｋ６´の組（デバイス鍵）を保有することができる。
Ｃ２１＝Ｅ（Ｋ５，Ｋ３´）
Ｃ２２＝Ｅ（Ｋ５，Ｋ６´）
【０１５０】
続いて、第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを実行させる場合、まず、管理装置２０は、次式で示される暗号文を生成して、第１の機器３０−Ａおよび第３の機器３０−Ｃにマルチキャスト送信する。これにより、第１の機器３０−Ａおよび第３の機器３０−Ｃは、グループ鍵ＧＫを保有することができる。
Ｃ２１＝Ｅ（Ｋ２´，ＧＫ）
【０１５１】
続いて、管理装置２０は、次式に示すように、制御コマンドＣＭＤをグループ鍵ＧＫにより暗号化して、第１の機器３０−Ａおよび第３の機器３０−Ｃにマルチキャスト送信する。
Ｃ２２＝Ｅ（ＧＫ，ＣＭＤ）
【０１５２】
つまり、管理木情報を図２２のように再構成した場合、管理装置２０は、第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを実行させるために、２つの暗号文を送信すればよい。従って、管理装置２０は、第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを実行させるために送信しなければならない暗号文の数を１つ削減することができる。
【０１５３】
なお、管理装置２０は、第１の機器３０−Ａと第３の機器３０−Ｃとの間でグループ鍵ＧＫを共有せずに、ノード鍵Ｋ２´により制御コマンドＣＭＤを暗号化してマルチキャスト送信してもよい。この場合、管理装置２０は、１つの暗号文で第１の機器３０−Ａおよび第３の機器３０−Ｃに制御コマンドを送信することができる。
【０１５４】
以上のように、制御コマンドがマルチキャスト送信される可能性が高い機器３０を少数の部分木に収まるように管理木情報を再構成することにより、管理装置２０は、送信すべき暗号文の数を削減することができ、送信時の情報量を削減できる。
【０１５５】
なお、再構成部５３は、管理木情報の再構成を行う際の類似度の指標として平均消費電力を用いたが、これに限らず、時間変化の無い属性情報の要素情報を類似度の指標としてもよい。また、再構成部５３は、複数の種類の要素情報を合成した値を類似度の指標としてもよい。さらに、再構成部５３は、要素情報に応じて重み付けを変えて合成した類似度を指標としてもよい。
【０１５６】
上述したように本実施形態に係る管理装置２０は、制御コマンドがマルチキャスト送信される可能性が高い機器３０が少数のノードが構成される部分木に収まるように管理木情報を再構成する。これにより、管理装置２０によれば、暗号化または認証に用いるグループ鍵またはノード鍵を共有するための通信量を削減することができる。また、管理装置２０は、機器３０の増加に応じて管理木情報を拡張することができる。従って、管理装置２０は、機器３０の数が少ない場合には管理木情報を小さくして、メモリ量等を削減することができる。
【０１５７】
図２３は、実施形態に係る管理装置２０のハードウェア構成の一例を示す図である。本実施形態に係る管理装置２０は、例えば図２３に示すようなハードウェア構成の情報処理装置により実現される。なお、機器３０も、管理装置２０と同様のハードウェア構成の情報処理装置により実現される。
【０１５８】
この情報処理装置は、ＣＰＵ（Central  Processing  Unit）２０１と、ＲＡＭ（Random  Access  Memory）２０２と、ＲＯＭ（Read  Only  Memory）２０３と、操作入力装置２０４と、表示装置２０５と、記憶装置２０６と、通信装置２０７とを備える。そして、これらの各部は、バスにより接続される。
【０１５９】
ＣＰＵ２０１は、プログラムに従って演算処理および制御処理等を実行するプロセッサである。ＣＰＵ２０１は、ＲＡＭ２０２の所定領域を作業領域として、ＲＯＭ２０３および記憶装置２０６等に記憶されたプログラムとの協働により各種処理を実行する。
【０１６０】
ＲＡＭ２０２は、ＳＤＲＡＭ（Synchronous  Dynamic  Random  Access  Memory）等のメモリである。ＲＡＭ２０２は、ＣＰＵ２０１の作業領域として機能する。ＲＯＭ２０３は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
【０１６１】
操作入力装置２０４は、マウスおよびキーボード等の入力デバイスである。操作入力装置２０４は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をＣＰＵ２０１に出力する。
【０１６２】
表示装置２０５は、ＬＣＤ（Liquid  Crystal  Display）等の表示デバイスである。表示装置２０５は、ＣＰＵ２０１からの表示信号に基づいて、各種情報を表示する。
【０１６３】
記憶装置２０６は、フラッシュメモリ等の半導体による記憶媒体、または、磁気的若しくは光学的に記録可能な記憶媒体等にデータを書き込みおよび読み出しをする装置である。記憶装置２０６は、ＣＰＵ２０１からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。通信装置２０７は、ＣＰＵ２０１からの制御に応じて外部機器とネットワークを介して通信する。
【０１６４】
本実施形態の管理装置２０で実行されるプログラムは、機器発見モジュール、機器認証モジュール、属性取得モジュール、類似度算出モジュール、割当モジュール、割当送信モジュール、グループ鍵送信モジュール、生成モジュール、拡張モジュール、再構成モジュール、暗号化モジュール、および、第１通信モジュールを含むモジュール構成となっている。このプログラムは、ＣＰＵ２０１（プロセッサ）によりＲＡＭ２０２上に展開して実行されることにより、情報処理装置を、機器発見部４４、機器認証部４５、属性取得部４６、類似度算出部４７、割当部４８、割当送信部４９、グループ鍵送信部５０、生成部５１、拡張部５２、再構成部５３、暗号化部５４および第１通信部５５として機能させる。
【０１６５】
なお、管理装置２０は、このような構成に限らず、機器発見部４４、機器認証部４５、属性取得部４６、類似度算出部４７、割当部４８、割当送信部４９、グループ鍵送信部５０、生成部５１、拡張部５２、再構成部５３、暗号化部５４および第１通信部５５の少なくとも一部をハードウェア回路（例えば半導体集積回路）により実現した構成であってもよい。
【０１６６】
本実施形態の機器３０で実行されるプログラムは、属性測定モジュール、管理装置発見モジュール、要求モジュール、管理装置認証モジュール、属性送信モジュール、割当受信モジュール、グループ鍵受信モジュール、復号モジュール、および、第２通信モジュールを含むモジュール構成となっている。このプログラムは、ＣＰＵ２０１（プロセッサ）によりＲＡＭ２０２上に展開して実行されることにより、情報処理装置を、属性測定部６３、管理装置発見部６４、要求部６５、管理装置認証部６６、属性送信部６７、割当受信部６８、グループ鍵受信部６９、復号部７０、および、第２通信部７１として機能させる。
【０１６７】
なお、機器３０は、このような構成に限らず、属性測定部６３、管理装置発見部６４、要求部６５、管理装置認証部６６、属性送信部６７、割当受信部６８、グループ鍵受信部６９、復号部７０、および、第２通信部７１の少なくとも一部をハードウェア回路（例えば半導体集積回路）により実現した構成であってもよい。
【０１６８】
また、本実施形態の管理装置２０で実行されるプログラムは、コンピュータにインストール可能な形式または実行可能な形式のファイルで、ＣＤ−ＲＯＭ、フレキシブルディスク、ＣＤ−Ｒ、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【０１６９】
また、本実施形態の管理装置２０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の管理装置２０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、管理装置２０で実行されるプログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【０１７０】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
【図１】
2018038077.tif 000003
【図２】
2018038077.tif 000004
【図３】
2018038077.tif 000005
【図４】
2018038077.tif 000006
【図５】
2018038077.tif 000007
【図６】
2018038077.tif 000008
【図７】
2018038077.tif 000009
【図８】
2018038077.tif 000010
【図９】
2018038077.tif 000011
【図１０】
2018038077.tif 000012
【図１１】
2018038077.tif 000013
【図１２】
2018038077.tif 000014
【図１３】
2018038077.tif 000015
【図１４】
2018038077.tif 000016
【図１５】
2018038077.tif 000017
【図１６】
2018038077.tif 000018
【図１７】
2018038077.tif 000019
【図１８】
2018038077.tif 000020
【図１９】
2018038077.tif 000021
【図２０】
2018038077.tif 000022
【図２１】
2018038077.tif 000023
【図２２】
2018038077.tif 000024
【図２３】
2018038077.tif 000025