(57)【要約】【課題】スケーラビリティを確保しながら動的なグループ管理を実現する。【解決手段】通信制御装置は、抽出部と出力部とを備える。第１グループには１以上の通信装置が属し、第２グループには１以上の通信装置が属する。抽出部は、複数の要素を含むメディアキーブロックのうち、第２グループに属する通信装置が処理できる要素を含む部分情報を抽出する。出力部は、第１グループを識別するグループＩＤと、特定情報と、部分情報とを、部分情報に対応する特定情報で特定される第２グループに属する通信装置に対して出力する。【選択図】図２
2014093658.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  >
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、動的なグループ管理方法は、状況に応じて柔軟な管理が可能であるが、スケーラビリティの確保が課題となる。
【０００５】
本発明は、上記に鑑みてなされたものであって、スケーラビリティを確保しながら動的なグループ管理を実現できる通信制御装置、通信装置およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
実施形態の通信制御装置は、抽出部と出力部とを備える。第１グループには１以上の通信装置が属し、第２グループには１以上の通信装置が属する。抽出部は、複数の要素を含むメディアキーブロックのうち、第２グループに属する通信装置が処理できる要素を含む部分情報を抽出する。出力部は、第１グループを識別するグループＩＤと、特定情報と、部分情報とを、部分情報に対応する特定情報で特定される第２グループに属する通信装置に対して出力する。
【図面の簡単な説明】
【０００７】
【図１】実施形態にかかる通信システムのブロック図。
【図２】実施形態にかかる通信制御装置のブロック図。
【図３】グループ操作メッセージのデータ構造の一例を示す図。
【図４】ＣＳ法のＭＫＢを用いる場合の具体例を示す図。
【図５】ＳＤ法のＭＫＢを用いる場合の具体例を示す図。
【図６】実施形態にかかる通信装置のブロック図。
【図７】実施形態における通信制御処理のフローチャート。
【図８】実施形態におけるグループ制御処理のフローチャート。
【図９】実施形態にかかる装置のハードウェア構成図。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、この発明にかかる通信制御装置の好適な実施形態を詳細に説明する。
【０００９】
ＧＤＯＩ（The  Group  Domain  of  Interpretation）は、マルチキャストを用いて、グループメンバの参加と離脱、および、グループ鍵の安全な配布を行うための技術である。ＧＤＯＩでは、グループの作成、グループの更新、および、グループ鍵の配布を行うことができる。しかし、ＧＤＯＩでは、グループメンバの更新ごとに、ほとんどすべてのメンバにおいて、階層構造を持つ鍵情報（LKH＿DOWNLOAD＿ARRAY）が更新される。そのため、１つの通信装置が複数のグループに所属するような場合には、単一の通信装置が複数のLKH＿DOWNLOAD＿ARRAYを持つことが必要となり、効率的な管理を行うことが困難である。
【００１０】
そこで、本実施形態では、ＭＫＢ（メディアキーブロック）という技術を用いてグループ操作を行う。ＭＫＢを用いることにより、単一のデバイス鍵（LKH＿DOWNLOAD＿ARRAYに相当する鍵束）によって、複数グループへの所属を効率的に管理することが可能である。
【００１１】
ＭＫＢとは、対応するデバイス鍵を用いて処理を行うことで、メディアに記録されたコンテンツを復号するためのメディア鍵を導出可能なデータである。ＭＫＢは１以上の要素を含む。典型的なＭＫＢは、１つのメディア鍵を１以上のデバイス鍵でそれぞれ暗号化することで生成される１以上の暗号文（要素）を含む。さらに、ＭＫＢは、各暗号文を処理するためのデバイス鍵を特定する情報を含んでも良い。ＭＫＢが含む暗号文の個数は、対応するデバイス鍵に依存して決まる。そのため、対応するデバイス鍵によっては、ＭＫＢは、非常に多くの暗号文を要素として含む場合がある。
【００１２】
本実施の形態では、ＭＫＢを処理することで得られるメディア鍵を、グループに属する１以上の通信装置で共有されるグループ鍵として用いる。すなわち、グループに属する通信装置が保持するデバイス鍵で処理することでグループ鍵を導出できるＭＫＢを配布することで、グループに属する通信装置にのみグループ鍵を配布できることを用いて、通信装置のグループ管理を実現している。
【００１３】
本実施の形態では、ＭＫＢによってグループ管理（操作）を行う場合、あるＭＫＢを処理してグループ鍵を取り出すことができたメンバはグループに所属する（現在所属していなければ、グループに新規参加する）という制御が行われる。また、グループ鍵の取得に失敗したメンバは当該グループに所属しない（現在所属していれば、グループから離脱する）という制御が行われる。
【００１４】
しかし、対象となるメンバの数が非常に大きくなった場合、グループ操作用のＭＫＢのサイズが極めて大きくなる可能性がある。従って、そのままＭＫＢを通信ネットワークに配布した場合、通信負荷が極めて大きくなる可能性がある。
【００１５】
そこで、本実施形態では、ネットワーク負荷を軽減するために、複数の暗号文を要素として含むＭＫＢを分割して送付する。しかし、上記のようなグループ制御方法を前提とする場合、単純に暗号文ごとにＭＫＢを分割送付しても、意図した通りのグループ制御を行うことができない場合がある。例えば、通信装置が分割されたＭＫＢを受信して、かつ、当該ＭＫＢからグループ鍵を取得できなかった場合、当該通信装置はグループからの離脱処理を行う。しかし、実際には、当該通信装置が処理してグループ鍵を取得することができるようなＭＫＢが後から到着する可能性があるからである。
【００１６】
この問題を回避するため、ＭＫＢによるグループ操作の対象となる通信装置の集合を定める情報を、当該ＭＫＢに付す。例えば、マルチキャストグループを特定する特定情報（例えば、マルチキャストグループＩＤまたはマルチキャストアドレス）を、通信装置の集合を定める情報として利用できる。マルチキャストグループは、ＭＫＢによるグループ操作の対象となるグループ（第１グループ）と独立に管理されるグループ（第２グループ）の一例である。以下では、第２グループとしてマルチキャストグループを用いる例を説明する。第２グループはマルチキャストグループに限られるものではなく、第１グループと独立に管理されるグループであればどのようなものであってもよい。通信装置の集合を定める情報が付されたＭＫＢを受け取った通信装置は、以下の擬似コードに示すような動作を行う。
ｉｆ（第２グループに属している）｛
ＭＫＢを処理；
ｉｆ（グループ鍵取得成功）｛
ｉｆ（現在第１グループに所属）｛
第１グループ更新；
｝
ｅｌｓｅ｛
ｉｆ（現在第１グループに所属していない）｛
第１グループに参加；
｝
｝
ｅｌｓｅ｛
ｉｆ（現在第１グループに所属）｛
第１グループ離脱；
｝
｝
｝
【００１７】
当該通信装置自身が指定された集合に属しているか否かチェックする。もし、指定された集合に属しているならば、当該通信装置が保持しているデバイス鍵によりＭＫＢを処理し、グループ鍵の取得に成功し、かつ、第１グループに参加しているならば、導出したグループ鍵を用いて、参加している第１グループの情報を更新する。グループ鍵の取得に成功し、かつ、第１グループに参加していないならば、導出したグループ鍵を用いて、第１グループに参加する。グループ鍵の取得に失敗し、かつ、第１グループに参加しているならば、第１グループより離脱する。
【００１８】
このように、本実施形態では、最初に通信装置がグループ操作の対象装置であるか否かをチェックする。そして、自身がグループ操作の対象にではない場合、グループ操作を実行しない。これにより、分割されたＭＫＢによっても、意図しないグループ離脱動作が起きないようにすることができる。
【００１９】
以下、本実施形態の詳細について説明する。図１は、本実施形態にかかる通信システムの構成の一例を示すブロック図である。図１に示すように、本実施形態の通信システムは、通信装置２００ａ〜２００ｆと、通信制御装置１００とが、ネットワーク６０で接続された構成となっている。ネットワーク６０は、インターネットなどのあらゆるネットワーク形態を適用できる。各通信装置２００ａ〜２００ｆは、通信制御装置１００と直接接続されている必要はない。
【００２０】
通信制御装置１００は、１つに限られるものではなく、２以上の通信制御装置を備えるように構成してもよい。通信装置２００ａ〜２００ｆは同様の構成を備えるため、以下では単に通信装置２００という場合がある。通信装置２００の個数は６に限られるものではない。
【００２１】
図１に示すように、本実施形態では、通信制御装置１００が、各通信装置２００に対してグループ操作コマンドを送信する。グループ操作コマンドは、例えば、更新後のグループを識別するグループＩＤ、マルチキャストグループを特定する特定情報、および、ＭＫＢを分割して得られる部分情報を含む。
【００２２】
図２は、通信制御装置１００の構成例を表すブロック図である。図２に示すように、通信制御装置１００は、グループ情報記憶部１２１（第２記憶部）と、アドレス記憶部１２２（第１記憶部）と、鍵記憶部１２３（第３記憶部）と、受信部１０１と、ＭＫＢ生成部１０２と、抽出部１０３と、出力部１０４と、を備える。
【００２３】
グループ情報記憶部１２１は、1以上の通信装置２００が所属するグループのグループＩＤと、グループＩＤで識別されるグループに属する通信装置２００を識別する装置ＩＤ（以下、デバイスＩＤという）とを含むグループ情報を記憶する。つまり、グループ情報記憶部１２１は、グループＩＤと、グループＩＤで識別されるグループに属する1以上の通信装置２００のデバイスＩＤとを対応付けて記憶する。
【００２４】
本実施の形態では、グループ情報記憶部１２１は、予め、１以上のグループＩＤを記憶しているとするが、グループ情報記憶部１２１を備えず、外部装置より受け取ったグループ情報に基づき、グループ操作を行うようにしてもよい。
【００２５】
アドレス記憶部１２２は、１以上の通信装置２００が所属するマルチキャストグループを特定する特定情報（マルチキャストグループＩＤ、マルチキャストアドレスなど）と、マルチキャストグループに属する通信装置２００のデバイスＩＤとを対応づけて記憶する。マルチキャストアドレスは、例えば、対応する各デバイスＩＤの通信装置２００に対してマルチキャスト通信で情報を送信するためのアドレスである。マルチキャスト通信を用いない場合（例えばブロードキャスト通信を用いる場合）、アドレス記憶部１２２を備えないように構成してもよい。
【００２６】
本実施の形態では、アドレス記憶部１２２は、予め、１以上の特定情報を記憶しているとするが、外部装置より受け取った情報に基づき、アドレス記憶部１２２に新たな情報を追加したり、既に記憶されている情報の更新を行ったりするように構成しても良い。
【００２７】
鍵記憶部１２３は、通信装置２００それぞれに割り当てられるデバイス鍵を記憶する。後述するようにＭＫＢがＣＳ（Complete  Subtree）法などにより生成される場合、鍵記憶部１２３が、グラフ構造（木構造など）のノードに対応づけてデバイス鍵を記憶してもよい。
【００２８】
受信部１０１は、通信装置２００などの外部装置から各種情報を受信する。受信部１０１は、例えば、グループ制御の要求、および、グループ制御の対象を指定する情報などを受信する。グループ制御の要求とは、グループの新規作成、グループの変更（グループに属する通信装置２００の変更など）などの要求である。例えば、キーボードなどの操作部（図示せず）を用いてオペレータが入力した、操作対象となるグループのグループＩＤと、当該グループに入れるべき通信装置２００のデバイスＩＤとを、受信部１０１が受信するように構成してもよい。なお、外部装置からグループ制御の要求を受信した場合のみでなく、通信制御装置１００内でグループ制御の要否を判断し、必要と判断した場合にグループ制御を実行してもよい。受信部１０１は、グループ制御の要求、および、グループ制御の対象を指定する情報（入力情報）をＭＫＢ生成部１０２に送る。
【００２９】
ＭＫＢ生成部１０２は、グループ制御の要求、および、グループ制御の対象を指定する情報に基づき、ＭＫＢの生成を行う。生成されたＭＫＢは、グループ制御のために用いられる。例えば、ＭＫＢ生成部１０２は、グループの更新を指定する入力情報を受付けた場合、入力情報に応じてグループ情報記憶部１２１のグループ情報を更新する。そして、ＭＫＢ生成部１０２は、グループを更新した場合に、更新後のグループに属する通信装置２００のデバイス鍵を用いることで、グループに属する通信装置のみが、更新後のグループのグループ鍵を導出可能なＭＫＢを生成する。
【００３０】
例えば、ＭＫＢ生成部１０２は、グループに属する通信装置２００が保持するデバイス鍵のリストとグループ鍵とが入力される。ＭＫＢ生成部１０２は、入力されたデバイス鍵リストとグループ鍵とから、デバイス鍵リストに含まれるデバイス鍵を保持する装置のみがグループ鍵を得られるＭＫＢを生成する。ＭＫＢの生成法としては、ＣＳ法、ＳＤ（Subset  Difference）法、ＬＫＨ（Logical  Key  Hierarchy）法などが既に知られており、そのようなあらゆる方法を用いることができる。
【００３１】
ＭＫＢ生成部１０２は、グループ情報の変更をグループ情報記憶部１２１に反映する。ここで、グループ情報の変更とは、グループＩＤとデバイスＩＤリストの新規追加、グループＩＤとデバイスＩＤリストの削除、および、あるグループＩＤに対応するデバイスＩＤリストの更新などを指す。
【００３２】
抽出部１０３は、アドレス記憶部１２２に記憶される特定情報ごとに、ＭＫＢのうち、特定情報で特定されるグループ（マルチキャストグループ）に属する通信装置２００のデバイス鍵で処理できる要素を含む部分情報を抽出する。また、抽出部１０３は、抽出した部分情報を含むグループ操作メッセージを生成する。例えば、部分情報は、通信装置２００のデバイス鍵で処理できる暗号文と、その暗号文の処理に用いるデバイス鍵を特定する情報と、を含む。１つの部分情報に含まれる暗号文は、１つに限られるものではなく、複数の暗号文を含んでも良い。
【００３３】
図３は、グループ操作メッセージのデータ構造の一例を示す図である。図３に示すように、グループ操作メッセージは、ＭＳＧ＿ＩＤと、ＭＧ＿ＩＤと、ＧＩＤと、ＭＫＢ＿ＤＡＴＡと、を含む。ＭＳＧ＿ＩＤは、メッセージの種類を示す情報である。ＭＳＧ＿ＩＤには、例えば、グループ操作メッセージであることを示す番号が記録される。ＭＧ＿ＩＤは、マルチキャストグループＩＤである。マルチキャストグループＩＤが、グループ操作対象となる通信装置２００を限定する役割を果たす。
【００３４】
ＧＩＤは、当該グループ操作メッセージの操作対象であるグループのグループＩＤである。ＭＫＢ＿ＤＡＴＡは、ＭＫＢのデータ本体である。本実施形態では、ＭＫＢ生成部１０２により生成されたＭＫＢ全体ではなく、このＭＫＢ全体から抽出部１０３により抽出されたＭＫＢの一部の要素を含む部分情報が、ＭＫＢ＿ＤＡＴＡに設定される。
【００３５】
次に、抽出部１０３の動作の一例を述べる。ＭＫＢ生成部１０２が生成したＭＫＢをＭＫＢ＿ｔとする。また、グループ操作メッセージ（ｍｓｇとする）のＭＳＧ＿ＩＤフィールド、ＭＧ＿ＩＤフィールド、およびＭＫＢ＿ＤＡＴＡフィールドを、それぞれｍｓｇ．ＭＳＧ＿ＩＤ、ｍｓｇ．ＭＧ＿ＩＤ、およびｍｓｇ．ＭＫＢ＿ＤＡＴＡと表記する。
【００３６】
以下に、抽出部１０３の動作を表す擬似コードの例を示す。
ｆｏｒ（ｉｄ  ｉｎ  ［アドレス記憶部１２２のマルチキャストグループＩＤ］）｛
ｍｓｇ．ＭＫＢ＿ＤＡＴＡ＝φ；
ｆｏｒ（ｄｅｖ＿ｉｄ  ｉｎ  ［アドレス記憶部１２２でｉｄに関連付けられているデバイスＩＤ］）｛
ｍｓｇ．ＭＫＢ＿ＤＡＴＡに［ＭＫＢ＿ｔに含まれる、ｄｅｖ＿ｉｄをカバーするデータ］を付加；
//［ＭＫＢ＿ｔに含まれる、ｄｅｖ＿ｉｄをカバーするデータ］はφであっても良い。
｝
ｉｆ（ｍｓｇ．ＭＫＢ＿ＤＡＴＡ≠φ）｛
ｍｓｇ．ＭＳＧ＿ＩＤに適切なメッセージ番号を記録；
ｍｓｇ．ＭＧ＿ＩＤ＝ｉｄ；
ｍｓｇ．ＧＩＤに操作対象のグループＩＤを記録；
ｍｓｇ．を出力部１０４に送る；
｝
｝
アドレス記憶部１２２が記憶しているＭＧ＿ＩＤ：ｉｄごとに、次のような処理を行う。ｍｓｇ．ＭＫＢ＿ＤＡＴＡを空集合として初期化し、ｉｄで特定されるマルチキャストグループに属する装置のＩＤ：ｄｅｖ＿ｉｄごとに、ＭＫＢ＿ｔに含まれるｄｅｖ＿ｉｄをカバーするデータを抽出し、ｍｓｇ．ＭＫＢ＿ＤＡＴＡに抽出したデータを付加する。ＭＧ＿ＩＤに属する全てのｄｅｖ＿ｉｄに対して上述の処理を行った結果、ｍｓｇ．ＭＫＢ＿ＤＡＴＡが空集合で無いならば、ｍｓｇ．ＭＳＧ＿ＩＤに適切なメッセージ番号を割り当てし、ｍｓｇ．ＭＧ＿ＩＤにｉｄを割り当て、ｍｓｇ．ＧＩＤに操作対象のグループＩＤを割り当て、（ｍｓｇ．ＭＳＧ＿ＩＤ、ｍｓｇ．ＭＧ＿ＩＤ、ｍｓｇ．ＧＩＤ）の組を少なくとも含むｍｓｇを出力部１０４に送る。
【００３７】
上述の動作により、アドレス記憶部１２２に含まれる全てのマルチキャストグループＩＤについて、それぞれ１つのｍｓｇが出力部１０４に送られる。
【００３８】
ＭＫＢにおいて、あるデバイスＩＤをカバーするデータとは、例えば、以下のように定義される。ここでは、ＣＳ法のＭＫＢを想定する。ＣＳ法では、後述の例のとおり、デバイス鍵は、二分木の各ノードに割り振られた暗号鍵であるノード鍵の部分集合となる。異なるデバイス鍵は、必ず、異なるリーフにあたるノードに割り振られた暗号鍵を含む。リーフのノードに割り振られた暗号鍵を、リーフ鍵と呼ぶ。
【００３９】
本実施の形態では、各リーフには、リーフを特定するためのリーフ番号が割り振られているとする。また、通信制御装置１００が管理する通信装置２００のデバイスＩＤは、通信装置２００に割り当てられたデバイス鍵に含まれるリーフ鍵のリーフ番号とする。このようなデバイスＩＤは、あくまでも１例であり、ＣＳ法の二分木のリーフ番号と独立に割り振ってもよい。
【００４０】
当該リーフ番号が割り当てられた通信装置２００がＭＫＢを正しく処理できる場合、当該リーフ番号をカバーするデータが存在する。デバイスＩＤをカバーするデータとは、ノード鍵でグループ鍵が暗号化された暗号文と、そのノードを特定するするインデックスであって、そのノードをルートとする部分木のリーフに、当該デバイスＩＤであるリーフ番号が割り当てられたノードが含まれたものである。他方、リーフ番号を割り当てられた通信装置２００がＭＫＢを正しく処理できない場合、当該リーフ番号をカバーするデータは存在しない。この場合、デバイスＩＤをカバーするデータは空集合φとする。デバイスＩＤをカバーするデータが、ＭＫＢの一部の要素からなる部分情報に相当する。
【００４１】
つまり、通信装置２００がＭＫＢを正しく処理できるとは、通信装置２００が保持するデバイス鍵を用いて、ＭＫＢよりグループ鍵を導出できることを指す。また、通信装置２００がＭＫＢを正しく処理できないとは、通信装置２００が保持するあらゆる情報を用いたとしても、ＭＫＢよりグループ鍵を導出できないことを指す。
【００４２】
図４は、ＣＳ法のＭＫＢを用いる場合の具体例を示す図である。ここでは、リーフ番号は０または１の長さ３の列で表わす。すなわち、ルートノードからリーフ（末端）までの経路について、左に進んだ場合に０を割り当て、右に進んだ場合に１を割り当てることで、リーフ番号（「０００」〜「１１１」）が得られる。ノードのインデックス（「０」、「１」、「００」、「０１」、「１０」、「１１」）も同様に与えられる。各ノードおよび各リーフには暗号鍵が割り当てられている。例えば、インデックス「００」のノード（以下、インデックスｎのノードをノードｎともいう）には鍵ｋ（００）が割り当てられている。
【００４３】
図４の例では、次の３つの要素を含むＭＫＢが与えられている。これらは、ノード００、リーフ番号１００のリーフ（以下、リーフ番号ｍのリーフをリーフｍともいう）、ノード１１にそれぞれ対応する。
（００，Ｅｎｃ［ｋ（００）］（Ｋｇ）），（１００，Ｅｎｃ［ｋ（１００）］（Ｋｇ）），（１１，Ｅｎｃ［ｋ（１１）］（Ｋｇ））
ただし、Ｋｇはグループ鍵を表し、Ｅｎｃ［ｋ（００）］（Ｋｇ）はＫｇをｋ（００）で暗号化したデータを表す。
【００４４】
このＭＫＢは、リーフ０１０、０１１および１０１にあたる通信装置２００には正しく処理できない。すなわち、リーフ０１０、０１１および１０１にあたる通信装置２００が保持するデバイス鍵や、その他に備えているあらゆる情報を用いたとしても、ＭＫＢよりＫｇを導出できない。
【００４５】
このＭＫＢでは、リーフ０００をカバーするデータは（００，Ｅｎｃ［ｋ（００）］（Ｋｇ））となる。また、リーフ０１１にあたる通信装置２００は、当該ＭＫＢを正しく処理できないため、リーフ０１１をカバーするデータは空集合φである。同様に、例えば、リーフ１００をカバーするデータは（１００，Ｅｎｃ［ｋ（１００）］（Ｋｇ））となる。
【００４６】
また、ＣＳ法以外の方法で作成されたＭＫＢも分割可能である。例えば、ＳＤ法のＭＫＢを想定する。ＣＳ法と同様に、デバイスＩＤは通信装置２００に割り当てられたリーフ番号であるが、ＳＤ法では、ＣＳ法とカバーの条件が異なる。ＳＤ法では、あるリーフ番号を保持する通信装置２００がＭＫＢを正しく処理できる場合、当該リーフ番号が、あるノードをルートとする木に含まれるが、当該ノードの子孫となる、ある１つのノードをルートとする木には含まれないような、ノードの組（ノード、子孫のノード）が存在する。デバイスＩＤをカバーするデータとは、上述の（ノード、子孫のノード）の組に割り当てられた暗号鍵で暗号化されたグループ鍵、および、ノードの組に含まれる各ノードを指定するインデックスの組である。
【００４７】
他方、あるリーフ番号にあたる通信装置２００がＭＫＢを正しく処理できない場合、当該リーフ番号をカバーする木のノードは存在しない。すなわち、ＭＫＢを正しく処理できない通信装置がに割り当てられたリーフ番号は、当該リーフ番号があるノードをルートとする木に含まれ、かつ、その子孫のノードをルートとする木にも含まれるようなノードの組（ノード、子孫のノード）が存在するか、当該リーフ番号を含むノードを持つが組（ノード、子孫のノード）が存在しない。この場合、デバイスＩＤをカバーするデータは空集合φとする。
【００４８】
図５は、ＳＤ法のＭＫＢを用いる場合の具体例を示す図である。ＣＳ法の例（図４）と同様に、リーフ番号は０または１の長さ３の列で表わす。各ノードと、ノードの各子孫のノードの組には暗号鍵が割り当てられている。例えば、ノード０とノード０１との組には鍵ｋ（０，０１）が割り当てられている。このような鍵を全て保持すると、多くの記憶領域が必要となる。このため、一方向性関数を応用して、このような鍵を逐次計算するための鍵のみを記憶することで、記憶領域を削減するように構成してもよい。
【００４９】
図５の例では、次の２つの要素を含むＭＫＢが与えられている。これらは、ノード０とノード００の組、および、ノード１０とリーフ１０１の組にそれぞれ対応する。
（（０，０１），Ｅｎｃ[ｋ（０，０１）]（Ｋｇ）），（（１０，１０１），Ｅｎｃ[ｋ（１０，１０１）]（Ｋｇ）））
【００５０】
従って、リーフ０１０、０１１、１０１、１１０および１１１にあたる通信装置２００では、このＭＫＢを正しく処理できない。このとき、リーフ０００をカバーするデータは（（０，１０），Ｅｎｃ［ｋ（０，０１）］（Ｋｇ））となる。ただし、Ｋｇはグループ鍵を表し、Ｅｎｃ［ｋ（０，０１）］（Ｋｇ）はＫｇをｋ（０，０１）で暗号化したデータを表す。また、リーフ０１１にあたる通信装置２００は、このＭＫＢを正しく処理できないため、リーフ０１１をカバーするデータは空集合φである。すなわち、リーフ０１１は、ｋ（０，０１）を保持しない、または、導出できないように、デバイス鍵が割り振られている。同様に、例えば、ノード１００をカバーするデータは（（１０，１０１），Ｅｎｃ［ｋ（１０，１０１）］（Ｋｇ））となる。
【００５１】
ＣＳ法およびＳＤ法以外のＭＫＢも、そのＭＫＢの構成に合わせて、生成されたＭＫＢ全体から、マルチキャストグループに属する通信装置２００のデバイス鍵で処理できる部分情報を抽出するように抽出部１０３を構成すればよい。
【００５２】
図２に戻り、出力部１０４は、グループ情報が更新された場合に、更新後のグループのグループＩＤと、特定情報（例えば、マルチキャストグループＩＤ）と、部分情報とを含む出力情報を、特定情報で特定されるグループ（マルチキャストグループ）に出力する。例えば、出力部１０４は、出力情報としてグループ操作メッセージを、グループ操作メッセージに含まれるＭＧ＿ＩＤで識別されるマルチキャストグループ宛にマルチキャストで送信する。このようにグループ変更の対象ではない通信装置２００にも出力部１０４の出力が届くことを許容することで、許容しない場合と比較して、出力部１０４による出力先の決定に要する計算コストを軽減できる。
【００５３】
また、出力部１０４より、更新前のグループには含まれるが、更新後のグループには含まれない通信装置２００が含まれるマルチキャストグループに、上述の情報を送信するようにしてもよい。そのような通信装置２００は、マルチキャストグループに属しているが、部分情報を正しく処理できないため、更新後のグループから離脱を行う。このように、分割したＭＫＢを用いて、グループの離脱を命じるコマンドを発行することができる。このようなコマンドを発行することで、通信装置２００が保持すべき情報を適切に管理することができる。
【００５４】
また、更新後のグループに含まれない通信装置２００に、上述のような、離脱を命じるコマンドを送付しなくても良い。これは、更新後のグループに含まれない通信装置は、更新を命じるコマンドより、更新後のグループ鍵を導出できないため、更新後のグループには参加できないためである。このように構成することで、通信制御装置１００が発行すべきコマンドの量を削減できる場合がある。
【００５５】
出力部１０４は、ＭＫＢによるグループ操作の対象となるグループとは独立に管理される通信装置２００の集合（グループ）であって、少なくともグループが更新されたすべての通信装置２００を含む通信装置２００の集合に対して出力情報を出力する。ここで、通信装置２００の集合とは、複数の通信装置２００からなる集まりであって、グループＩＤが割り振られているグループとは必ずしも一致しない。通信装置２００の集合の例として、あるマルチキャスト通信でデータを受信する通信装置２００の集合や、ブロードキャスト通信でデータを受信する通信装置２００からなる集合、つまりすべての通信装置２００からなる集合、などが挙げられる。例えば、出力部１０４は、デバイスＩＤリストが含まれる通信装置２００の集合、または、グループに対して、１以上のマルチキャスト通信やブロードキャスト通信により出力情報を送信してもよい。マルチキャスト通信で出力情報を送信する場合、出力部１０４は、例えばアドレス記憶部１２２に記憶されたアドレスのうち、配布対象のデバイスＩＤのデバイスＩＤに対応づけられた１以上のアドレス（マルチキャストアドレス）を宛先として、出力情報を送信する。
【００５６】
上述の例では、抽出部１０３は、アドレス記憶部１２２に格納されたマルチキャストグループＩＤ毎にＭＫＢを分割するものであるが、抽出部１０３には異なる動作も考えられる。例えば、先に受け取ったＭＫＢよりＭＫＢの部分情報を定め、当該ＭＫＢの部分情報毎に、当該部分情報の送信先マルチキャストグループＩＤを求め、当該送信先マルチキャストグループとＭＫＢの部分集合を出力部１０４に送る、分割方法が考えられる。
【００５７】
その一例を下記に示す。図４のＭＫＢを｛Ｍ１、Ｍ２｝と表記する。Ｍ１、Ｍ２は互いに共通部分の無いＭＫＢの２個の部分集合である。図４では、Ｍ１＝｛（００，Ｅｎｃ［ｋ（００）］（Ｋｇ））｝、Ｍ２＝｛（１００，Ｅｎｃ［ｋ（１００）］（Ｋｇ））、（１１，Ｅｎｃ［ｋ（１１）］（Ｋｇ））｝である。抽出部１０３の処理を以下に示す。
ｆｏｒ（ｍ  ｉｎ  ［ＭＫＢの部分集合］）｛//ｍはＭ１またはＭ２
［ｍの送出先集合]＝φ;
ｆｏｒ  （ｎｏｄｅ−ｄａｔａ  ｉｎ  ［ｍの要素］)｛
ｆｏｒ（ｄｅｖ＿ｉｄ  ｉｎ  ［ｎｏｄｅ−ｄａｔａがカバーするデバイスＩＤ］)｛
アドレス記憶部１２２でｄｅｖ＿ｉｄに対応するマルチキャストグループＩＤを探す;//これは空ではない
ｉｄ＝上記で見出したマルチキャストグループＩＤ;
[ｍの送出先集合]にｉｄを追加;
｝
｝
ｍと［ｍの送出先集合]と、を出力部１０４に送る;
｝
【００５８】
抽出部１０３は、ＭＫＢの部分集合に属する要素ｍごとに次の処理を行う。[ｍの送出先集合]を初期化し、ｍに含まれるｎｏｄｅ−ｄａｔａごとに、ｎｏｄｅ−ｄａｔａがカバーするデバイスＩＤであるｄｅｖ＿ｉｄを求める。ここで、ｎｏｄｅ−ｄａｔａとは、ＭＫＢに含まれる暗号文を含むデータである。本実施の形態では、ｎｏｄｅ−ｄａｔａは、ノードのインデックスとそのインデックスで特定されるノードに割り当てられたノード鍵でグループ鍵を暗号化した暗号文である。そして、求めたｄｅｖ＿ｉｄが属するマルチキャストグループＩＤを特定し、それをｉｄとし、[ｍの送出先集合]にｉｄを追加する。ｍに含まれる全てのｎｏｄｅ−ｄａｔａに対して、上述の処理を終えたら、ｍと［ｍの送出先集合]とを出力部１０４に送る。
【００５９】
この場合、出力部１０４は、抽出部１０３よりＭＫＢの部分集合ｍと[ｍの出力先集合]とを受け取ると、逐次、ｍを[ｍの出力先集合]の要素であるマルチキャストグループにマルチキャスト送信する。
【００６０】
図６は、通信装置２００の構成例を表すブロック図である。図６に示すように、通信装置２００は、ＧＩＤ記憶部２２１と、グループ鍵記憶部２２２と、デバイス鍵記憶部２２３と、ＭＧ＿ＩＤ記憶部２２４と、受信部２０１と、判定部２０２と、ＭＫＢ処理部２０３と、グループ制御部２０４と、を備える。
【００６１】
ＧＩＤ記憶部２２１は、通信装置２００が属するグループのグループＩＤ（ＧＩＤ）を記憶する。グループ鍵記憶部２２２は、ＧＩＤ記憶部２２１が記憶するグループＩＤで識別されるグループのグループ鍵を記憶する。デバイス鍵記憶部２２３は、通信装置２００のデバイス鍵を記憶する。ＭＧ＿ＩＤ記憶部２２４は、通信装置２００が属するマルチキャストグループを特定する特定情報（例えばマルチキャストグループＩＤ）を記憶する。
【００６２】
受信部２０１は、通信制御装置１００および他の通信装置２００などの外部装置から各種情報を受信する。例えば、受信部２０１は、グループ操作メッセージを通信制御装置１００から受信する。受信部２０１は、マルチキャスト通信およびブロードキャスト通信などにより出力情報を受信する。受信部２０１は、受信されたメッセージがグループ操作メッセージであるか判定する。グループ操作メッセージでない場合、受信されたメッセージは、当該メッセージを処理すべき他のモジュール（図示せず）に渡されて処理される。メッセージがグループ操作メッセージである場合、メッセージのデータは判定部２０２に送られる。
【００６３】
判定部２０２は、グループ操作メッセージに含まれる特定情報（ＭＧ＿ＩＤ）と、ＭＧ＿ＩＤ記憶部２２４に記憶された特定情報とが一致するか否か判定する。両者が一致しない場合、当該通信装置２００は受信したグループ操作メッセージの対象機器ではないので、当該グループ操作メッセージに対する動作を中止する。両者が一致する場合は、当該通信装置２００はグループ操作メッセージの対象であるので、グループ操作メッセージはＭＫＢ処理部２０３に渡される。
【００６４】
ＭＫＢ処理部２０３は、判定部２０２により一致すると判定された場合に、グループ操作メッセージに含まれる部分情報（ＭＫＢ＿ＤＡＴＡ）と、デバイス鍵記憶部２２３に記憶されたデバイス鍵とからグループ鍵を生成するＭＫＢ処理を実行する。ＭＫＢ処理の結果、グループ鍵が得られた場合、当該通信装置２００はＧＩＤに示されるグループに所属することを意味する。ＭＫＢ処理部２０３は、ＧＩＤと、取得したグループ鍵と、をグループ制御部２０４に送る。
【００６５】
グループ制御部２０４は、ＧＩＤをＧＩＤ記憶部２２１に格納し、グループ鍵をグループ鍵記憶部２２２に格納する。既にＧＩＤが記憶されている場合は、グループ制御部２０４は、グループ操作メッセージ内のＧＩＤで、ＧＩＤ記憶部２２１に記憶されているＧＩＤを更新する。
【００６６】
一方、ＭＫＢ処理の結果、グループ鍵が得られなかった場合は、当該通信装置２００はＧＩＤに示されるグループに所属しないことを意味する。従って、所属している場合は離脱する必要がある。このため、ＭＫＢ処理部２０３は、ＧＩＤと、グループ鍵が取得できなかった旨の通知と、をグループ制御部２０４に送る。
【００６７】
グループ制御部２０４は、ＧＩＤ記憶部２２１とグループ鍵記憶部２２２とを空にする。ＧＩＤまたはグループ鍵が既に格納されている場合は、グループ制御部２０４はそれらを消去する。
【００６８】
なお、上述の各記憶部は、ＨＤＤ（Hard  Disk  Drive）、光ディスク、メモリカード、ＲＡＭ（Random  Access  Memory）などの一般的に利用されているあらゆる記憶媒体により構成することができる。
【００６９】
また、通信制御装置１００の受信部１０１、ＭＫＢ生成部１０２、抽出部１０３、および、出力部１０４、並びに、通信装置２００の受信部２０１、判定部２０２、ＭＫＢ処理部２０３、および、グループ制御部２０４は、例えば、ＣＰＵ（Central  Processing  Unit）などの処理装置にプログラムを実行させること、すなわち、ソフトウェアにより実現してもよいし、ＩＣ（Integrated  Circuit）などのハードウェアにより実現してもよいし、ソフトウェアおよびハードウェアを併用して実現してもよい。
【００７０】
次に、本実施形態にかかる通信制御装置１００による通信制御処理について図７を用いて説明する。図７は、本実施形態における通信制御処理の一例を示すフローチャートである。
【００７１】
受信部１０１は、操作対象となるグループのＧＩＤと、当該グループに属する通信装置２００のデバイスＩＤとを取得（受信）する（ステップＳ１０１）。ＭＫＢ生成部１０２は、取得されたデバイスＩＤをもとにＭＫＢを生成する（ステップＳ１０２）。例えば、ＭＫＢ生成部１０２は、取得されたデバイスＩＤの通信装置２００がグループ鍵を得られるＭＫＢを生成する。
【００７２】
次に、抽出部１０３は、アドレス記憶部１２２に記憶される特定情報（ＭＧ＿ＩＤ）ごとに、生成されたＭＫＢから、ＭＧ＿ＩＤで特定されるグループ（マルチキャストグループ）に属する通信装置２００のデバイス鍵で処理できる部分情報を抽出する（ステップＳ１０３）。抽出部１０３は、抽出した部分情報を含むグループ操作メッセージを生成する。
【００７３】
出力部１０４は、グループ操作メッセージを出力する（ステップＳ１０４）。グループ操作メッセージはアドレス記憶部１２２に記憶されるＭＧ＿ＩＤごとに生成される。あるＭＧ＿ＩＤに対応するグループ操作メッセージが空である場合、当該グループ操作メッセージはＭＧ＿ＩＤで特定されるマルチキャストグループに出力されない。このため、出力部１０４は、最大で、アドレス記憶部１２２に記憶されるＭＧ＿ＩＤの個数分、グループ操作メッセージを出力する。
【００７４】
次に、本実施形態にかかる通信装置２００によるグループ制御処理について図８を用いて説明する。図８は、本実施形態におけるグループ制御処理の一例を示すフローチャートである。
【００７５】
受信部２０１は、通信制御装置１００などの外部装置からメッセージを受信する（ステップＳ２０１）。受信部２０１は、受信したメッセージがグループ操作メッセージであるか否かを判定する（ステップＳ２０２）。グループ操作メッセージでない場合（ステップＳ２０２：Ｎｏ）、グループ制御処理を終了する。なお、上述のようにグループ操作メッセージ以外のメッセージは、当該メッセージを処理すべきモジュールに渡されて適切に処理される。
【００７６】
グループ操作メッセージである場合（ステップＳ２０２：Ｙｅｓ）、判定部２０２は、グループ操作メッセージ内のＭＧ＿ＩＤが、ＭＧ＿ＩＤ記憶部２２４に記憶されたＭＧ＿ＩＤと一致するか否かを判定する（ステップＳ２０３）。
【００７７】
一致しない場合（ステップＳ２０３：Ｎｏ）、グループ操作の対象外であるため、グループ制御処理を終了する。一致する場合（ステップＳ２０３：Ｙｅｓ）、ＭＫＢ処理部２０３は、グループ操作メッセージ内のＭＫＢ（ＭＫＧ＿ＤＡＴＡ）を処理する（ステップＳ２０４）。
【００７８】
ＭＫＢ処理部２０３は、ＭＫＢが正しく処理されたか否かを判定する（ステップＳ２０５）。正しく処理された場合（ステップＳ２０５：Ｙｅｓ）、グループ制御部２０４は、グループ操作メッセージ内のＧＩＤをＧＩＤ記憶部２２１に記憶するとともに、ＭＫＢ処理により得られたグループ鍵をグループ鍵記憶部２２２に記憶する（ステップＳ２０６）。正しく処理されなかった場合（ステップＳ２０５：Ｎｏ）、グループ制御部２０４は、グループ操作メッセージ内のＧＩＤをＧＩＤ記憶部２２１から削除するとともに、グループ鍵からグループ鍵記憶部２２２から削除する（ステップＳ２０７）。
【００７９】
このように、本実施形態にかかる通信制御装置では、スケーラビリティを確保しながら動的なグループ管理を実現することができる。また、グループ管理のために、ＭＫＢ全体ではなく、ＭＫＢから抽出された部分情報を送信するため、通信負荷を軽減することができる。このとき、グループ操作の対象となる通信装置の範囲を定める情報とともに部分情報を送信するため、意図しないグループ操作が行われることを回避できる。
【００８０】
（変形例１）
第１の実施形態の抽出部１０３では、あるマルチキャストグループに属するデバイスＩＤをカバーするＭＫＢの一部の要素を含む部分情報を抽出し、抽出した部分情報を、出力部１０４を通じて送出していた。しかし、抽出した部分情報をそのまま送出するのではなく、予め定められたサイズ以下となるように、部分情報に含まれるＭＫＢの一部の要素を分割し、分割した部分情報を、おのおの、出力部１０４に送り、送出するようにしてもよい。また、予め定められたサイズ以下とするのではなく、各マルチキャストグループに送出される部分情報が、同一のサイズとなるように分割を行ってもよい。さらに、この予め定められたサイズとして、マルチキャストグループごとに異なるサイズを定めてもよい。このように、部分情報の再構成を行うことで、通信速度、通信装置２００が備える一時記憶領域の量などの性能、マルチキャストグループの特性などを考慮し、様々な状況に適したコマンドを送出できる。
【００８１】
（変形例２）
第１の実施形態の抽出部では、ＭＫＢより、ＭＫＢの一部の要素を含む部分情報を抽出し、各部分情報に対して、当該部分情報が送出されるべきマルチキャストグループを求め、求めたマルチキャストグループに対して当該部分情報を送出していた。しかし、あるマルチキャストグループに、１以上の部分情報が送出される場合、それらの部分情報を一括するなど、再構成をして、出力部１０４に送り、送出するようにしてもよい。さらに、変形例１と同様に、送出される部分情報が、予め定められたサイズ以下となるように分割をしてもよい。また、予め定められたサイズ以下とするのではなく、各マルチキャストグループに送出される部分情報の組が、同一のサイズとなるように分割を行ってもよい。この予め定められたサイズとして、マルチキャストグループごとに異なるサイズを定めてもよい。このように、部分情報の再構成を行うことで、通信速度、通信装置２００が備える一時記憶領域の量などの性能、マルチキャストグループの特性などを考慮し、様々な状況に適したコマンドを送出できる。
【００８２】
次に、本実施形態にかかる通信制御装置のハードウェア構成について図９を用いて説明する。図９は、本実施形態にかかる通信制御装置のハードウェア構成を示す説明図である。
【００８３】
本実施形態にかかる通信制御装置は、ＣＰＵ（Central  Processing  Unit）５１などの制御装置と、ＲＯＭ（Read  Only  Memory）５２やＲＡＭ（Random  Access  Memory）５３などの記憶装置と、ネットワークに接続して通信を行う通信Ｉ／Ｆ５４と、各部を接続するバス６１を備えている。
【００８４】
本実施形態にかかる装置（通信制御装置、通信装置）で実行されるプログラムは、ＲＯＭ５２等に予め組み込まれて提供される。
【００８５】
本実施形態にかかる装置で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disk）等のコンピュータで読み取り可能な記録媒体に記録してコンピュータプログラムプロダクトとして提供されるように構成してもよい。
【００８６】
さらに、本実施形態にかかる装置で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態にかかる装置で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
【００８７】
本実施形態にかかる装置で実行されるプログラムは、コンピュータを上述した各部として機能させうる。このコンピュータは、ＣＰＵ５１がコンピュータ読取可能な記憶媒体からプログラムを主記憶装置上に読み出して実行することができる。
【００８８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１００  通信制御装置
１０１  受信部
１０２  ＭＫＢ生成部
１０３  抽出部
１０４  出力部
１２１  グループ情報記憶部
１２２  アドレス記憶部
１２３  鍵記憶部
２００  通信装置
２０１  受信部
２０２  判定部
２０３  ＭＫＢ処理部
２０４  グループ制御部
２２１  ＧＩＤ記憶部
２２２  グループ鍵記憶部
２２３  デバイス鍵記憶部
２２４  ＭＧ＿ＩＤ記憶部
【図１】
2014093658.tif 000003
【図２】
2014093658.tif 000004
【図３】
2014093658.tif 000005
【図４】
2014093658.tif 000006
【図５】
2014093658.tif 000007
【図６】
2014093658.tif 000008
【図７】
2014093658.tif 000009
【図８】
2014093658.tif 000010
【図９】
2014093658.tif 000011