(57)【要約】【課題】グループに対して複数のグループ鍵を切り替え可能とし、安全且つ効率的なグループ鍵管理が行えるグループ鍵管理方式を提案する。【解決手段】前記端末装置のそれぞれに葉ノード秘密鍵を生成するステップと、  前記端末装置の葉ノード秘密鍵からその端末装置の葉ノード迷彩鍵を生成するステップと、同一小グループに属するｎ個の端末装置の葉ノード迷彩鍵を用いて、親ノードである中間ノードのｎＣｒ種類の秘密鍵を生成するステップと、前記中間ノードのｎＣｒ種類の中間ノード迷彩鍵と、その中間ノードの兄弟ノードである他の２つの中間ノードのｎＣｒ種類の迷彩鍵のうち、同種の迷彩鍵を用いて、さらに上位のノードのｎＣｒ種類の秘密鍵を生成するステップとを有することを特徴とするグループ鍵生成方法（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）である。【選択図】図１１
2009044245.tif 000002
【特許請求の範囲】
【請求項１】
一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置間でマルチキャスト通信をおこなうためのマルチキャスト通信システムであって、
前記端末装置のそれぞれに対応する葉ノード秘密鍵と、
前記葉ノード秘密鍵を第１の関数により変換して得られる葉ノード迷彩鍵と、
同一の小グループに属するｎ個の葉ノード迷彩鍵から選んだｒ個の葉ノード迷彩鍵から一つの秘密鍵を生成する第２の関数を用いて生成されたｎＣｒ種類の中間ノード秘密鍵と、
ｎＣｒ種類の中間ノード秘密鍵のそれぞれを前記第１の関数により変換して得られるｎＣｒ種類の中間ノード迷彩鍵と、
前記ｎ分木構造の根ノードと同一の小グループに属するｎ個の中間ノードのそれぞれが有するｎＣｒ種類の中間ノード迷彩鍵のうち、同種類の中間ノード迷彩鍵から前記第２の関数を用いて生成されたｎＣｒ種類の根ノード秘密鍵と
を有し
前記ｎＣｒ個の根ノード秘密鍵のうちどれをグループ鍵とするかを定めた鍵利用ルールを有する
ことを特徴とするマルチキャスト通信システム（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【請求項２】
前記マルチキャスト通信システムは、前記ｎＣｒ個の根ノード秘密鍵を作るための迷彩鍵の種類を指定する鍵生成ルールをさらに有する、ことを特徴とする請求項１に記載のマルチキャスト通信システム。
【請求項３】
一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置間で行われるマルチキャスト通信に用いられるグループ鍵を生成するグループ鍵生成方法であって、
前記端末装置のそれぞれに葉ノード秘密鍵を生成するステップと、
前記端末装置の葉ノード秘密鍵からその端末装置の葉ノード迷彩鍵を生成するステップと、
同一小グループに属するｎ個の端末装置の葉ノード迷彩鍵を用いて、親ノードである中間ノードのｎＣｒ種類の秘密鍵を生成するステップと、
前記中間ノードのｎＣｒ種類の中間ノード迷彩鍵と、その中間ノードの兄弟ノードである他の２つの中間ノードのｎＣｒ種類の迷彩鍵のうち、同種の迷彩鍵を用いて、さらに上位のノードのｎＣｒ種類の秘密鍵を生成するステップと
を有することを特徴とするグループ鍵生成方法（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【請求項４】
一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置であって、
自己の葉ノード秘密鍵と、同一小グループに属する他の端末装置の葉ノード迷彩鍵と、その端末装置から根ノードまでの経路に位置する中間ノードの兄弟ノードである中間ノードのそれぞれのｎＣｒ種類の中間ノード迷彩鍵とを記憶する鍵記憶手段と、
前記自己の葉ノード秘密鍵からその端末装置の葉ノード迷彩鍵を生成し、同一小グループに属するｎ個の端末装置のｎ個の葉ノード迷彩鍵のうちｒ個の葉ノード迷彩鍵を用いて、親ノードである中間ノードのｎＣｒ種類の中間ノード秘密鍵を生成し、前記親ノードである中間ノードのｎＣｒ種類の中間ノード秘密鍵からｎＣｒ種類の中間ノード迷彩鍵を生成し、前記親ノードである中間ノードのｎＣｒ種類の中間ノード迷彩鍵と、その中間ノードの兄弟ノードである他の中間ノードのｎＣｒ種類の迷彩鍵のうち、同種の迷彩鍵を用いて、さらに上位のノードのｎＣｒ種類の秘密鍵を生成することを、上位のノードが無くなるまで繰り返して、ｎＣｒ種類の根ノード秘密鍵を生成する鍵算出手段と、前記ｎＣｒ種類の根ノード秘密鍵のうちどれをグループ鍵とするかを定める鍵利用ルールを記憶する鍵利用ルール記憶手段とを有することを特徴とする端末装置（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【請求項５】
前記ｎＣｒ種類の迷彩鍵のうち、さらに上位のノードのｎＣｒ種類の秘密鍵を生成するための迷彩鍵の種類を定める鍵生成ルールを記憶する鍵生成ルール記憶手段をさらに有することを特徴とする請求項４に記載の端末装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マルチキャスト通信システム、グループ鍵生成方法、並びに端末装置に関し、より詳しくは、グループに属するメンバのみが情報の閲覧を行えるようにする暗号鍵であるグループ鍵を用いるマルチキャスト通信に適した、マルチキャスト通信システム、グループ鍵生成方法、並びに端末装置に関する。
【背景技術】
【０００２】
近年の通信インフラの普及発展及び、パーソナルコンピュータなどの通信機能を備えた情報処理装置の普及発展に伴い、マルチキャスト通信が利用されるようになってきている。マルチキャスト通信は多数の受信者に対して効率よくメッセージを伝達できる利点がある。マルチキャスト通信の利点を利用しつつ、暗号化技術を用いることで特定のグループに属するメンバにのみメッセージを伝える技術はマルチキャスト通信秘匿化技術として知られている。この際、グループの各メンバに送信されるメッセージを暗号化／復号する鍵をグループ鍵と呼ぶ。
【０００３】
従来のマルチキャスト通信秘匿化技術では、グループ鍵管理の効率化が課題となる。特に、グループのメンバが追加／削除される際、新メンバには過去のメッセージを秘匿する必要がある場合があり、また、脱退メンバには脱退後の新たなメッセージを知らせない必要がある。これを実現するための方法として、単純には、ユニキャスト通信で逐一各メンバにグループ鍵を通知する方式が考えられるが、その場合通信コストが高い。このため、鍵配布もマルチキャスト通信を利用して実現する技術が知られている。
【０００４】
鍵配布をマルチキャスト通信を利用して実現する技術として以下のような技術が提案されている。
一つは、ＯＦＴ(Key  Establishment  in Large Dynamic  Groups  Using  One-Way  Function  Trees)と呼ばれる技術である（例えば、特許文献１、非特許文献１）。
ＯＦＴは、二分木を利用した鍵管理により、グループ鍵を効率的に管理する手法である。この手法に従った鍵管理システムでは、鍵サーバに鍵生成に関する情報を管理する中央管理型アルゴリズムを用いる。各ノードには一つのUnblinded Keyが対応付けられてあたえられている。Unblinded Keyは子ノードのBlinded Keyから算出される。Blinded KeyはUnblinded Keyから一方向関数を用いて算出されるものである。
【０００５】
また、各メンバは、サーバとの共通鍵、ルートまでたどる親ノードの兄弟のBlinded Keyを有している。各メンバは、メンバ更新の際に、対応する親ノードの鍵を更新する。例えば、サーバの共通鍵が更新される場合(メンバ更新)、対応するUnblinded Key、Blinded Keyとグループ鍵を更新する。Blinded Keyの更新があったら、それを保有するノードに、更新したBlinded Keyを暗号化してマルチキャスト通信して配布する。
【０００６】
また、もう一つの従来技術として、二分木を利用した鍵管理により、グループ鍵を効率的に管理する手法が提案されている（例えば、特許文献２）。この技術では、ノード毎の鍵以外に、使い捨ての鍵リストを持ち、鍵更新の際に両者を利用することで鍵更新を容易化するものである。この手法を実現するシステムでは、鍵サーバに鍵生成に関する情報を管理する中央管理型アルゴリズムが搭載される。
【特許文献１】USP  7,095,850 B1
【特許文献２】US  Patent  Application Publication US2006/0078110  A1
【非特許文献１】インターネット” http://citeseer.ist.psu.edu/mcgrew98key.html”
【発明の開示】
【発明が解決しようとする課題】
【０００７】
これらの既存のグループ鍵管理技術では、グループ鍵として扱える鍵はグループに対して一つであり、鍵の変更はメンバ変更時のみ行われる。このような一つのグループ鍵による通信秘匿方法では、グループ鍵が漏洩した場合、新たなグループ鍵を生成しこれを全メンバに配布し直さなければならない。
【０００８】
本発明は、一つのグループ鍵を利用し続ける従来の方法に比べて、より強い秘匿化が実現可能な、グループ鍵管理方法であって、グループに対して複数のグループ鍵を切り替え可能とし、安全且つ効率的なグループ鍵管理が行える技術を提案することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するための手段として、本発明は以下の特徴を有する。  
本発明の第１の態様は、一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置間でマルチキャスト通信をおこなうためのマルチキャスト通信システムとして提案される。このマルチキャスト通信システムは、前記端末装置のそれぞれに対応する葉ノード秘密鍵と、前記葉ノード秘密鍵を第１の関数により変換して得られる葉ノード迷彩鍵と、同一の小グループに属するｎ個の葉ノード迷彩鍵から選んだｒ個の葉ノード迷彩鍵から一つの秘密鍵を生成する第２の関数を用いて生成されたｎＣｒ種類の中間ノード秘密鍵と、ｎＣｒ種類の中間ノード秘密鍵のそれぞれを前記第１の関数により変換して得られるｎＣｒ種類の中間ノード迷彩鍵と、前記ｎ分木構造の根ノードと同一の小グループに属するｎ個の中間ノードのそれぞれが有するｎＣｒ種類の中間ノード迷彩鍵のうち、同種類の中間ノード迷彩鍵から前記第２の関数を用いて生成されたｎＣｒ種類の根ノード秘密鍵とを有し、前記ｎＣｒ個の根ノード秘密鍵のうちどれをグループ鍵とするかを定めた鍵利用ルールを有することを特徴としている（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【００１０】
本発明の第２の態様は、一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置間で行われるマルチキャスト通信に用いられるグループ鍵を生成するグループ鍵生成方法として提案される。この方法は、前記端末装置のそれぞれに葉ノード秘密鍵を生成するステップと、前記端末装置の葉ノード秘密鍵からその端末装置の葉ノード迷彩鍵を生成するステップと、同一小グループに属するｎ個の端末装置の葉ノード迷彩鍵を用いて、親ノードである中間ノードのｎＣｒ種類の秘密鍵を生成するステップと、前記中間ノードのｎＣｒ種類の中間ノード迷彩鍵と、その中間ノードの兄弟ノードである他の２つの中間ノードのｎＣｒ種類の迷彩鍵のうち、同種の迷彩鍵を用いて、さらに上位のノードのｎＣｒ種類の秘密鍵を生成するステップとを有することを特徴とするグループ鍵生成方法（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【００１１】
本発明の第３の態様は、一個の親ノードとｎ個の子ノードから構成される小グループから構成されるｎ分木構造の葉ノードに相当する端末装置として提案される。個の端末装置は、自己の葉ノード秘密鍵と、同一小グループに属する他の端末装置の葉ノード迷彩鍵と、その端末装置から根ノードまでの経路に位置する中間ノードの兄弟ノードである中間ノードのそれぞれのｎＣｒ種類の中間ノード迷彩鍵とを記憶する鍵記憶手段と、前記自己の葉ノード秘密鍵からその端末装置の葉ノード迷彩鍵を生成し、同一小グループに属するｎ個の端末装置のｎ個の葉ノード迷彩鍵のうちｒ個の葉ノード迷彩鍵を用いて、親ノードである中間ノードのｎＣｒ種類の中間ノード秘密鍵を生成し、前記親ノードである中間ノードのｎＣｒ種類の中間ノード秘密鍵からｎＣｒ種類の中間ノード迷彩鍵を生成し、前記親ノードである中間ノードのｎＣｒ種類の中間ノード迷彩鍵と、その中間ノードの兄弟ノードである他の中間ノードのｎＣｒ種類の迷彩鍵のうち、同種の迷彩鍵を用いて、さらに上位のノードのｎＣｒ種類の秘密鍵を生成することを、上位のノードが無くなるまで繰り返して、ｎＣｒ種類の根ノード秘密鍵を生成する鍵算出手段と、前記ｎＣｒ種類の根ノード秘密鍵のうちどれをグループ鍵とするかを定める鍵利用ルールを記憶する鍵利用ルール記憶手段とを有することを特徴としている（但し、ｎ、ｒは正の整数でｎ＞ｒ≧２）。
【発明の効果】
【００１２】
本発明によれば、秘匿化されたマルチキャスト通信を行うグループにおいて、複数のグループ鍵を切り替え可能とし、安全且つ効率的なグループ鍵管理が行える。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照しながら本発明の実施の形態を説明する。
図１は、本実施の形態にかかる、グループ鍵生成方法を実行するマルチキャスト通信システムの構成例を示すブロック図である。マルチキャスト通信システム１は、グループ管理サーバ１０と、ネットワーク２０を介してグループ管理サーバ１０及び他の端末装置と通信可能な端末装置３０とを有している。
【００１４】
図１に示した例では、マルチキャスト通信を行うグループは、９人のメンバによって構成され、９人のそれぞれに対応する９台の端末装置３０によって、一つのマルチキャスト通信を行うグループが構成されているものとする。
【００１５】
［１．グループ管理サーバ］
グループ管理サーバ１０は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、必要な場合にはハードディスク装置等の外部記憶装置を具備している装置であって、例えばコンピュータ、ワークステーションなどの装置である。前記ＲＯＭ、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、ＣＰＵがこれを実行することによりグループ管理サーバ１０が実現される。また、上記プログラムは必ずしも情報処理装置内の記憶装置に記憶されていなくともよく、外部の装置（例えば、ＡＳＰ（アプリケーション・サービス・プロバイダのサーバなど））から提供され、これを主メモリに乗せる構成であってもよい。さらに、このグループ管理サーバ１０は単体の装置で構成されていてもよいし、複数の装置をネットワークにより結合して構成されるものでもよい。
【００１６】
グループ管理サーバ１０は、以下の機能を有する装置である。
（１）グループのメンバ間で情報を暗号化／復号するデータ（ビット列）であるグループ秘密鍵と、グループ秘密鍵を生成のための情報（鍵生成ルールと呼ぶ）を保持する。なお、本実施の形態では、メンバと端末装置は一対一の対応関係にあるものとする。
（２）グループ鍵を生成するための情報をグループに属するメンバ、すなわち端末装置３０に送信する。
（３）グループに属するメンバ、すなわち端末装置３０を管理する。
（４）グループへのメンバ追加と削除、すなわち端末装置３０の追加、削除を管理する。
（５）グループ鍵を切り替えるために新しい鍵生成ルール、及び／又は鍵利用ルールをメンバ、すなわち端末装置３０に送信する。
【００１７】
より詳しくは、グループ管理サーバ１０は、以下の処理を実行する。
（Ａ）グループに属するメンバ、すなわち端末装置３０の構成情報を管理する。
（Ｂ）根ノード（グループ管理サーバ）、中間ノード、葉ノード（メンバ又は端末装置）からなる３分木の構成情報を管理する。
（Ｃ）根ノード、中間ノード、葉ノードに設定される秘密鍵、迷彩鍵を保持する
メンバ変更時には、グループ管理サーバ１０は以下の処理を実行する。
（Ｄ）新たにグループに加わったメンバ（以下、新メンバ）の秘密鍵を生成し、これをそのメンバに対応する端末装置３０に送付する。
（Ｅ）新メンバに対応する端末装置３０に現行の鍵生成ルールを送付する。
（Ｆ）新メンバに対応する端末装置３０に現行の鍵利用ルールを送付する。
（Ｇ）全中間ノード、並びに葉ノードの迷彩鍵を算出し保持記憶する。
（Ｈ）各メンバに対応する端末装置３０に必要な迷彩鍵を算出し、送付する。
【００１８】
また、既存メンバがグループから離脱する、或いはグループ鍵の漏洩などの理由によって、グループ秘密鍵を切り替えるグループ鍵切替時には、グループ管理サーバ１０は以下のいずれか又は両方の処理を行う。
（Ｉ）各メンバに対応する端末装置３０に新たなグループ鍵利用ルールを送付する（マイナーチェンジ）。
（Ｊ）各メンバに対応する端末装置３０に新たなグループ鍵利用ルール及び秘密鍵生成ルールの両方を送付する（メジャーチェンジ）。
前者（マイナーチェンジ）は後者（メジャーチェンジ）より鍵交換の際の通信量が少ないという利点があり、後者は前者より切り替えられる鍵の範囲が広いためより安全性が高まるという利点がある。
【００１９】
［１．１．三分木構造］
ここで、本発明においてマルチキャスト通信の対象となるグループの構成について説明する。
本発明にかかるマルチキャスト通信の鍵管理は、三分木構造を用いて行われる。図２は、図１に示すマルチキャスト通信システム１に対応する三分木構造構成の例を示す図である。三分木構造２００は、グループ管理サーバ１０に相当する一つの根ノード２０１と、端末装置３０に相当する複数の葉ノード２０２と、根ノード２０１と葉ノード２０２との間をつなぐ中間ノード２０３とを有している。各ノード２０１，２０２，２０３は白丸枠で表示しており、白丸枠内の数字は各ノードを区別するためのノード番号である。以下、各ノードを区別する場合、これらノード番号を用いる。例えば、葉ノード２０２のうち、図２中左端に位置する葉ノード２０２をノード［５］と呼ぶ場合がある。
【００２０】
葉ノード２０２は３つで一つの小グループ２０４を構成しており、一つの小グループ２０４は、３つの子ノード（下位のノード）と一つの親ノード（上位のノード）により構成される。すなわち、子ノードであるノード［６］、ノード［７］、ノード［８］の３つの葉ノード２０２と、これらの親ノードであるノード［２］はひとつの小グループ２０４を構成する。また同様に、子ノードであるノード［８］、ノード［９］、ノード［１０］の３つの葉ノード２０２と、これらの親ノードであるノード［３］は別のひとつの小グループ２０４を構成する。またさらに同様に、子ノードであるノード［１１］、ノード［１２］、ノード［１３］の３つの葉ノード２０２と、これらの親ノードであるノード［４］はさらに別のひとつの小グループ２０４を構成する。また、中間ノード２０４であるノード［２］、ノード［３］、ノード［４］は、その親ノードであるノード［１］とさらに別の小グループを構成する。
これら小グループ２０４が階層的に積み上がっていくことにより、全体として三文木構造２００が構成される。
【００２１】
図３に、図２に示す三文木構造２００における各ノードに設定される鍵を図示した。
葉ノード２０２であるノード[５]からノード[１３]には、一つの秘密鍵（葉ノード秘密鍵と呼ぶ）とその葉ノード秘密鍵から生成される一つの迷彩鍵（葉ノード迷彩鍵と呼ぶ）が定められる。
【００２２】
図４に、葉ノード秘密鍵から葉ノード迷彩鍵を生成する方法の一例を図示する。葉ノード秘密鍵を一方向関数、例えば、ハッシュ関数により変換する。変換して得られるデータを葉ノード秘密鍵とする。同様のやり方で、すべての葉ノード秘密鍵から葉ノード迷彩鍵が生成されることになる。
【００２３】
図３に戻り、中間ノード２０３に設定される鍵について説明する。各中間ノード２０３について、その中間ノード２０３と同一の小グループ２０４に属する葉ノード２０２の葉ノード迷彩鍵に基づいて生成される３種類の秘密鍵（中間ノード秘密鍵と呼ぶ）及び、その３種類の中間ノード秘密鍵から一つずつ生成される３種類の迷彩鍵（中間ノード迷彩鍵と呼ぶ）が定められる。
【００２４】
図５に、中間ノード２０３について定められる３種類の中間ノード秘密鍵と、３種類の中間ノード迷彩鍵との生成方法の例を示す。図５に示す例では、中間ノードとして図３に示すノード[２]と、その葉ノード２０２である図３に示すノード[５]、ノード[６]、ノード[７]を例として挙げる。ノード[５]、ノード[６]、ノード[７]の葉ノード迷彩鍵を互いに区別するために、葉ノード迷彩鍵Ｌ、葉ノード迷彩鍵Ｍ、葉ノード迷彩鍵Ｒと呼ぶこととする。記号Ｌ、Ｍ、Ｒはノード[５]、ノード[６]、ノード[７]が左（Ｌ）、中間（Ｍ）、右（Ｒ）に位置することに由来するものであり、単に区別するための符号である。
【００２５】
先に述べたように、一つの中間ノード２０３は、３種類の中間ノード秘密鍵を付与される。各中間ノード秘密鍵は同一の小グループ２０４に属する２つの葉ノード迷彩鍵から生成される。
【００２６】
同一の小グループ２０４には、３つの葉ノード秘密鍵が存在する。３つの葉ノード秘密鍵から２つの葉ノード秘密鍵を選ぶ組み合わせは３Ｃ２＝（３×２×１）／(２×１)＝３（通り）となり、３つの葉ノード秘密鍵から３種類の中間ノード秘密鍵が作れることになる。ここで、中間ノード[２]に付与される３種類の中間ノード秘密鍵を、中間ノード秘密鍵Ｌα、中間ノード秘密鍵Ｌβ、中間ノード秘密鍵Ｌγと呼ぶこととする。「α」、「γ」、「β」は一つの中間ノードに付与される中間ノード秘密鍵の種類を表す符合である。他の中間ノードの３種類の中間ノード秘密鍵も同様に、「α」、「γ」、「β」によって種類の区別がなされる。また、符号Ｌは、その中間ノードの兄弟ノードの中間ノード秘密鍵と区別させるための符号であって、ノード[２]の兄弟ノードであるノード[３]に付与される中間ノード秘密鍵には符号Ｍを付し、もう一つの兄弟ノードであるノード[４]に付与される中間ノード秘密鍵には符号Ｒを付すこととする（図３参照）。
【００２７】
これら３種類の中間ノード秘密鍵Ｌα、Ｌβ、Ｌγのそれぞれから一つずつ中間ノード迷彩鍵が生成され、結果としてすべての中間ノードは３種類の中間ノード迷彩鍵を付与されることになる。ここでは、対応する中間ノード秘密鍵の符号に下線を付して、中間ノード[２]に付与される３種類の中間ノード迷彩鍵を中間ノード迷彩鍵Ｌα、中間ノード迷彩鍵Ｌβ、中間ノード迷彩鍵Ｌγと呼ぶこととする。
【００２８】
図５（ａ）は、一組目の２つの葉ノード迷彩鍵であるノード[５]の葉ノード迷彩鍵Ｌと、ノード[６]の葉ノード迷彩鍵Ｍとから一種類目の中間ノードであるノード[２]の中間ノード秘密鍵Ｌαを生成し、さらにこの中間ノード秘密鍵Ｌαから一種類目の中間ノード迷彩鍵Ｌαが生成されることを示している。
【００２９】
ノード[５]の葉ノード迷彩鍵Ｌとノード[６]の葉ノード迷彩鍵Ｍとの２つのを混合関数（例えば、排他的論理和）の入力として一つのデータを生成し、生成されたデータを親ノードであるノード[２]の一種類目の中間ノード秘密鍵Ｌαとする。さらにこの中間ノード秘密鍵Ｌαを一方向関数（例えば、ハッシュ関数）の入力として、一つのデータを生成する。生成されたデータを、中間ノード秘密鍵Ｌαに対応する、一種類目の中間ノード迷彩鍵Ｌαとする。
【００３０】
図５（ｂ）は、二組目の２つの葉ノード迷彩鍵であるノード[６]の葉ノード迷彩鍵Ｍと、ノード[７]の葉ノード迷彩鍵Ｒとから一種類目の中間ノードであるノード[２]の中間ノード秘密鍵Ｌβを生成し、さらにこの中間ノード秘密鍵Ｌβから一種類目の中間ノード迷彩鍵Ｌβが生成されることを示している。
【００３１】
ノード[６]の葉ノード迷彩鍵Ｍとノード[７]の葉ノード迷彩鍵Ｒとの２つのを混合関数（例えば、排他的論理和）の入力として一つのデータを生成し、生成されたデータを親ノードであるノード[２]の二種類目の中間ノード秘密鍵Ｌβとする。さらにこの中間ノード秘密鍵Ｌβを一方向関数（例えば、ハッシュ関数）の入力として、一つのデータを生成する。生成されたデータを中間ノード秘密鍵Ｌβに対応する、二種類目の中間ノード迷彩鍵Ｌβとする。
【００３２】
図５（ｃ）は、三組目の２つの葉ノード迷彩鍵であるノード[５]の葉ノード迷彩鍵Ｌと、ノード[７]の葉ノード迷彩鍵Ｒとから、中間ノードであるノード[２]の三種類目の中間ノード秘密鍵Ｌγを生成し、さらにこの中間ノード秘密鍵Ｌγから三種類目の中間ノード迷彩鍵Ｌγが生成されることを示している。
【００３３】
ノード[５]の葉ノード迷彩鍵Ｌとノード[７]の葉ノード迷彩鍵Ｒとの２つのを混合関数（例えば、排他的論理和）の入力として一つのデータを生成し、生成されたデータを親ノードであるノード[２]の三種類目の中間ノード秘密鍵Ｌγとする。さらにこの中間ノード秘密鍵Ｌγを一方向関数（例えば、ハッシュ関数）の入力として、一つのデータを生成する。生成されたデータを中間ノード秘密鍵Ｌγに対応する三種類目の中間ノード迷彩鍵Ｌγとする。
【００３４】
このようにして、同一小グループ２０４に属する葉ノード２０２の３つの葉ノード迷彩鍵から、親ノードである中間ノード２０４の三種類の中間ノード秘密鍵、及び三種類の中間ノード秘密鍵が得られる。
【００３５】
同様に、別の小グループ２０４であるノード[３]とその子ノード[８]、［９］、［１０］、及びノード[４]とその子ノード[１１]、［１２］、［１３］についても、３つの葉ノード迷彩鍵から、親ノードである中間ノード２０４の三種類の中間ノード秘密鍵、及び三種類の中間ノード秘密鍵が得られる。
【００３６】
図３に戻り、根ノード２０１であるノード［１］に付与される鍵について説明する。
根ノード２０１は、根ノード２０１と同一の小グループ２０４に属する３つの中間ノード２０３それぞれの３種類の中間ノード迷彩鍵から、同種の中間ノード迷彩鍵を用いて生成される３種類の秘密鍵（根ノード秘密鍵と呼ぶ）が定められる。具体的には、根ノード２０１であるノード［１］は、三種類の根ノード秘密鍵を付与される。三種類の根ノード秘密鍵を区別するため、根ノード秘密鍵α、根ノード秘密鍵β、根ノード秘密鍵γと呼ぶこととする。
【００３７】
根ノード２０１に設定される３種類の秘密鍵、根ノード秘密鍵α、根ノード秘密鍵β、根ノード秘密鍵γは、いずれか一つのみマルチキャスト通信の暗号鍵、復号鍵であるグループ鍵として用いられる。どの根ノード秘密鍵をグループ鍵として用いるかは後述する鍵利用ルールによって定められる。
【００３８】
図６に、根ノード２０１について定められる３種類の根ノード秘密鍵の生成方法の例を示す。３種類の根ノード秘密鍵は、根ノード２０１の子ノードに相当する３つの中間ノード２０２それぞれが有する３種類の中間ノード迷彩鍵のうち、同種の中間ノード迷彩鍵３個から生成される。
【００３９】
前述の通り、各中間ノード２０３には、３種類の中間ノード迷彩鍵が定められる。例えば、図２及び図３に示すノード［２］、ノード［３］、ノード［４］はそれぞれ以下のような中間ノード迷彩鍵が定められる。
ノード［２］：中間ノード迷彩鍵Ｌα、中間ノード迷彩鍵Ｌβ、中間ノード迷彩鍵Ｌγ
ノード［３］：中間ノード迷彩鍵Ｍα、中間ノード迷彩鍵Ｍβ、中間ノード迷彩鍵Ｍγ
ノード［４］：中間ノード迷彩鍵Ｒα、中間ノード迷彩鍵Ｒβ、中間ノード迷彩鍵Ｒγ
上記の各迷彩鍵に付された符号の意味は先に述べたところと同様である。
【００４０】
これらの中間ノード迷彩鍵のうち、同種の中間ノード迷彩鍵とは、種類を表す符合α、β、γが同一のものをいう。例えば、種類がαである中間ノード迷彩鍵は、中間ノード迷彩鍵Ｌα、中間ノード迷彩鍵Ｍα、中間ノード迷彩鍵Ｒαである。なお、種類がβ、或いはγの場合についても、同様に定まることになる。この中間ノード迷彩鍵の種類を指定する情報は、後述する鍵生成ルールに記述されている。
【００４１】
三種類の根ノード秘密鍵を互いに区別するため、根ノード秘密鍵α、根ノード秘密鍵β、根ノード秘密鍵γと呼ぶ。根ノード秘密鍵α、根ノード秘密鍵β、根ノード秘密鍵γのそれぞれは、同一の小グループ２０４に属する同種類の中間ノード迷彩鍵３個のうち、２個の中間ノード迷彩鍵から生成される。同種の中間ノード迷彩鍵３個から２つ中間ノード迷彩鍵を選ぶ組み合わせは３Ｃ２＝（３×２×１）／(２×１)＝３（通り）となり、同種の中間ノード秘密鍵３個から３種類の根ノード秘密鍵が作れることになる。なお、中間ノード迷彩鍵の種類はさらに別に２種類あるため、生成可能な根ノード秘密鍵の種類は３×３＝９種類であるが、同時に生成される根ノード秘密鍵は３種類であって、異なる種類の中間ノード迷彩鍵に基づいて生成された根ノード秘密鍵が同時に使用されることは、本実施の形態では行わない。
【００４２】
図６（ａ）から（ｃ）に示した例では、根ノード秘密鍵の生成に用いる中間ノード迷彩鍵の種類を”α”と指定されているものとする。この場合には、種類が”β”又は”γ”である中間ノード迷彩鍵はいずれも根ノード秘密鍵の生成に使用されることは無い。
【００４３】
図６（ａ）は、一組目の同種の２個の中間ノード迷彩鍵であるノード[２]の中間ノード迷彩鍵Ｌαと、ノード[３]の中間ノード迷彩鍵Ｍαとから一種類目の根ノード秘密鍵Ｌαが生成されることを示している。
【００４４】
ノード[２]の中間ノード迷彩鍵Ｌαとノード[３]の中間ノード迷彩鍵Ｍαとの２つの中間ノード迷彩鍵を混合関数（例えば、排他的論理和）の入力として処理して一つのデータを生成し、生成されたデータを一種類目の根ノード秘密鍵αとする。
【００４５】
図６（ｂ）は、二組目の同種の２個の中間ノード迷彩鍵であるノード[３]の中間ノード迷彩鍵Ｍαと、ノード[４]の中間ノード迷彩鍵Ｒαとから一種類目の根ノード秘密鍵Ｌβが生成されることを示している。
【００４６】
ノード[３]の中間ノード迷彩鍵Ｍαとノード[４]の中間ノード迷彩鍵Ｒαとの２つの中間ノード迷彩鍵を混合関数（例えば、排他的論理和）の入力として処理して一つのデータを生成し、生成されたデータを二種類目の根ノード秘密鍵βとする。
【００４７】
図６（ｃ）は、三組目の同種の２個の中間ノード迷彩鍵であるノード[２]の中間ノード迷彩鍵Ｌαと、ノード[４]の中間ノード迷彩鍵Ｒαとから三種類目の根ノード秘密鍵Ｌβが生成されることを示している。
【００４８】
ノード[２]の中間ノード迷彩鍵Ｌαとノード[４]の中間ノード迷彩鍵Ｒαとの２つの中間ノード迷彩鍵を混合関数（例えば、排他的論理和）の入力として処理して一つのデータを生成し、生成されたデータを三種類目の根ノード秘密鍵γとする。
【００４９】
このようにして、根ノード２０１の子ノードである３つの中間ノードに設定される中間ノード迷彩鍵のうち同種の中間ノード迷彩鍵３個から、その親ノードである根ノード２０１の三種類の根ノード秘密鍵が得られる。
【００５０】
［１．２．グループ管理サーバの構成例］
次に、グループ管理サーバ１０の構成例について説明する。図７は、グループ管理サーバ１０の構成例を示した機能ブロック図である。グループ管理サーバ１０は通信部１０１と、鍵算出部１０２と、鍵生成ルール記憶部１０３と、サーバ側鍵記憶部１０４と、鍵利用ルール記憶部１０５と、グループ構成情報記憶部１０６とを有している。
【００５１】
通信部１０１は、端末装置３０とデータを送受信するために、所定のプロトコルに従ってパケットを生成してこれをマルチキャスト或いはユニキャストにより送信し、端末装置３０から送信されたパケットを受信する。
【００５２】
鍵算出部１０２は、所定の鍵生成ルールに従って、端末装置３０の葉ノード秘密鍵の生成、葉ノード秘密鍵から葉ノード迷彩鍵の生成、葉ノード迷彩鍵から中間ノード秘密鍵の生成、中間ノード秘密鍵から中間ノード迷彩鍵の生成、中間ノード迷彩鍵から根ノート秘密鍵の生成を実行する機能を有する。
【００５３】
鍵生成ルール記憶部１０３は、下位の中間ノード２０３の３つの中間ノード迷彩鍵のうち、どの鍵を用いてその上位のノード（中間ノード２０３、又は根ノード２０１）の３つの秘密鍵を生成するか、を定めた情報である鍵生成ルールを生成し、記憶する機能を有する。なお、鍵生成ルールは、適宜変更することができる。
【００５４】
サーバ側鍵記憶部１０４は、鍵算出部１０２によって生成された各種の鍵を記憶する機能を有する。図８は、図２に示す三分木構造を有するグループを管理する場合の、サーバ側鍵記憶部１０４の記憶内容例を示す図である。
【００５５】
サーバ側鍵記憶部１０４は、各葉ノード２０２であるノード［５］〜ノード［１３］のそれぞれに対応する葉ノード秘密鍵Ｋ（５）〜Ｋ（１３）と、前記葉ノード秘密鍵からそれぞれ生成された迷彩鍵Ｋ（５）〜Ｋ（１３）とを記憶している。なお、鍵の参照符号中かっこ（）内の数字は図２に示したノード番号を示している。また、迷彩鍵を示す参照符号は、その元となった秘密鍵の参照符号に下線を付したものを用いる。
【００５６】
また、サーバ側鍵記憶部１０４は、第１の中間ノード２０３であるノード［２］の３つの秘密鍵である中間ノード秘密鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γと、第２の中間ノード２０３であるノード［３］の３つの秘密鍵である中間ノード秘密鍵Ｋ（３）α、Ｋ（３）β、Ｋ（３）γと、第３の中間ノード２０３であるノード［４］の３つの秘密鍵である中間ノード秘密鍵Ｋ（４）α、Ｋ（４）β、Ｋ（４）γとを記憶している。
【００５７】
また、サーバ側鍵記憶部１０４は、前記中間ノード秘密鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γと、Ｋ（３）α、Ｋ（３）β、Ｋ（３）γと、Ｋ（４）α、Ｋ（４）β、Ｋ（４）γのそれぞれに対応する中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γ、Ｋ（３）α、Ｋ（３）β、Ｋ（３）γ、Ｋ（４）α、Ｋ（４）β、Ｋ（４）γを記憶している。
【００５８】
またさらに、サーバ側鍵記憶部１０４は、中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γ、Ｋ（３）α、Ｋ（３）β、Ｋ（３）γ、Ｋ（４）α、Ｋ（４）β、Ｋ（４）γのうち同種の中間ノード迷彩鍵の３つから生成される、３つの根ノード秘密鍵Ｋ（ｒｏｏｔ）α、Ｋ（ｒｏｏｔ）β、Ｋ（ｒｏｏｔ）γを記憶している。
【００５９】
なお、上記の各鍵を示す参照符号は、かっこ（）内の数字が対応するノード番号であり、下線が付されたものは、対応する秘密鍵から生成された迷彩鍵であることを示している。例えば、葉ノード秘密鍵Ｋ（５）から生成された葉ノード迷彩鍵はＫ（５）と表示している。
【００６０】
図７に戻り、グループ管理サーバ１０の構成例の説明を続ける。
鍵利用ルール記憶部１０５は、同一ノードに属する秘密鍵のうち、どの種類の秘密鍵を使用して暗号化／復号するかを定めたルールである鍵利用ルールを生成し、記憶する機能を有する。例えば、鍵利用ルールが種類αの秘密鍵を使用することを定めている場合、グループ管理サーバ１０、及び／又は各端末装置３０は、中間ノード秘密鍵Ｋ（２）α、Ｋ（３）α、Ｋ（４）α、或いは根ノード秘密鍵Ｋ（ｒｏｏｔ）αを用いて通信の暗号化／復号を行うのである。
【００６１】
グループ構成情報記憶部１０６は、グループに属するメンバ、すなわち端末装置３０の情報（ＩＰアドレス、メールアドレスなどの宛先情報を含む）、そのグループの三本木構造（図２参照）、各端末装置３０と葉ノード秘密鍵の対応関係などを記憶する。グループへのメンバ、すなわち端末装置３０の新規加入、離脱が発生すると、グループ構成情報記憶部１０６の記憶内容が修正されると共に、鍵算出部１０２が新たな葉ノード秘密鍵の生成を行ったり、鍵生成ルールの変更、鍵利用ルールの変更が自動的に或いはオペレータの指令に従って行われる。
【００６２】
［１．２．端末装置］
次に、端末装置３０について説明する。端末装置３０はグループに属するメンバがグループ鍵を用いて情報を暗号化／復号することによって、情報を秘匿しながら他のメンバと通信することを可能とする情報処理装置である。
【００６３】
端末装置３０は、以下の機能を有する。
（１）グループ鍵で暗号化したメッセージなどの情報をマルチキャストによりグループ内の他のメンバ、すなわち端末装置３０に送信する。
（２）他の端末装置３０がグループ鍵で暗号化した情報をそのグループ鍵で復号する。
（３）グループ管理サーバ１０から受信したグループ鍵生成ルールに従って、複数種類（本実施の形態では３Ｃ２＝３種類）のグループ鍵を生成し、保持する。
（４）グループ管理サーバ１０から受信したグループ鍵利用ルールに従って、複数種類のグループ鍵のうち指定されたものを利用する
端末装置３０のより詳細な責務としては、自身の秘密鍵と、同一小グループ２０４に属する他の端末装置３０の迷彩鍵と、グループ管理サーバ１０に相当する根ノード２０１手前までの中間ノード２０３であって、自己の上位ノード（経路上ノードと呼ぶ）の兄弟ノードに相当する中間ノード２０３の中間ノード迷彩鍵とを記憶保持する。
【００６４】
端末装置３０は、演算処理装置（ＣＰＵ）、主メモリ（ＲＡＭ）、読出し専用メモリ（ＲＯＭ）、入出力装置（Ｉ／Ｏ）、必要な場合にはハードディスク装置等の外部記憶装置を具備している装置であって、例えばネットワーク通信機能を有するコンピュータ、ＰＤＡ，携帯電話機、携帯ゲーム機などの装置である。前記ＲＯＭ、若しくはハードディスク装置などにプログラムが記憶されており、このプログラムを主メモリ上に載せ、ＣＰＵがこれを実行することにより端末装置３０が実現される。また、上記プログラムは必ずしも情報処理装置内の記憶装置に記憶されていなくともよく、外部の装置（例えば、ＡＳＰ（アプリケーション・サービス・プロバイダのサーバなど））から提供され、これを主メモリに乗せる構成であってもよい。
【００６５】
図９は、端末装置３０の構成例を示す機能ブロック図である。端末装置３０は、端末側通信部３０１と、端末側鍵算出部３０２と、端末側鍵生成ルール記憶部３０３と、端末側鍵記憶部３０４と、端末側鍵利用ルール記憶部３０５とを有している。
【００６６】
端末側通信部３０１は、他の端末装置３０及びグループ管理サーバ１０とデータを送受信するために、所定のプロトコルに従ってパケットを生成してこれをマルチキャスト或いはユニキャストにより送信し、端末装置３０から送信されたパケットを受信する。また、グループ秘密鍵を用いて送信するデータを暗号化し、受信したデータを復号する。
【００６７】
端末側鍵算出部３０２は、端末側鍵生成ルール記憶部３０３に記憶された鍵生成ルールに従って、葉ノード秘密鍵から葉ノード迷彩鍵の生成、葉ノード迷彩鍵から中間ノード秘密鍵の生成、中間ノード秘密鍵から中間ノード迷彩鍵の生成、中間ノード迷彩鍵から根ノード秘密鍵の生成を実行する機能を有する。迷彩鍵、中間ノード秘密鍵、根ノード秘密鍵の生成に用いる関数は、グループ管理サーバ１０の鍵算出部１０２が用いるものと同様であって、グループ管理サーバ１０が生成するこれら鍵と、端末装置３０が生成するこれら鍵は一致するようになっている。
【００６８】
端末側鍵生成ルール記憶部３０３は、鍵生成ルールを記憶する機能を有する。この鍵生成ルールは、グループ管理サーバ１０の鍵生成ルール記憶部１０３に記憶されているものと同一であり、グループ管理サーバ１０の鍵生成ルール記憶部１０３において、鍵生成ルールが変更された場合は、端末装置３０の鍵生成ルール記憶部３０３の鍵生成ルールもこれに一致するように変更される。
【００６９】
端末側鍵記憶部３０４は、グループ管理サーバ１０より受信する以下の鍵、すなわち、同一小グループ２０４に属する他の葉ノード２０２の葉ノード迷彩鍵、その端末装置３０に相当する葉ノード２０４と根ノード２０１とのパス上に存在する中間ノード２０３の兄弟ノード（その中間ノードと同一の階層に属する他の中間ノードをいう）の中間ノード迷彩鍵と、端末側鍵算出部３０２によって生成された秘密鍵、迷彩鍵を記憶する機能を有する。
【００７０】
図１０は、図２に示す三分木構造を有するグループに属するノード［５］に相当する端末装置３０の端末側鍵記憶部３０４の記憶内容例を示す図である。なお、図中、網掛けをされた枠によって示されている鍵は、グループ管理サーバ１０によって生成されたものを端末装置３０が受信し、記憶したものであり、一方、網掛けをされていない枠によって示されている鍵は、その端末装置３０の鍵算出部３０２によって生成された鍵である。
【００７１】
端末側鍵記憶部３０４は、自己の葉ノード秘密鍵Ｋ（５）と、前記葉ノード秘密鍵Ｋ（５）から鍵算出部３０２によって生成された葉ノード迷彩鍵Ｋ（５）と、グループ管理サーバ１０から取得した、同一小グループ２０４に属する他の端末装置３０の葉ノード迷彩鍵Ｋ（６）、Ｋ（７）を記憶している。また、端末側鍵記憶部３０４は、自己の親ノードである中間ノード［２］の兄弟ノードである中間ノード［３］、中間ノード［４］それぞれに対応する３つの中間ノード迷彩鍵Ｋ（３）α、Ｋ（３）β、Ｋ（３）γ、及び３つの中間ノード迷彩鍵Ｋ（４）α、Ｋ（４）β、Ｋ（４）γとを記憶している。なお、本実施の形態中の、秘密鍵、迷彩鍵の参照符号中、ギリシャ文字α、β、γは鍵を区別するための識別用符号であって、後に述べる鍵利用ルール、鍵生成ルールにおいて使用される情報である。
【００７２】
またさらに、端末側鍵記憶部３０４は、同一小グループ２０４に属する各端末装置３０の葉ノード迷彩鍵Ｋ（５）、Ｋ（６）、Ｋ（７）から鍵算出部３０２が生成した親ノードの秘密鍵、すなわち、ノード［２］の中間ノード秘密鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γを記憶する。
【００７３】
またさらに、端末側鍵記憶部３０４は、中間ノード秘密鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γから鍵算出部３０２が生成した中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γを記憶する。
【００７４】
またさらに、端末側鍵記憶部３０４は、中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γ、Ｋ（３）α、Ｋ（３）β、Ｋ（３）γ、Ｋ（４）α、Ｋ（４）β、Ｋ（４）γのうち同種の中間ノード迷彩鍵の３つから鍵算出部３０２によって生成される、３つの根ノード秘密鍵Ｋ（ｒｏｏｔ）α、Ｋ（ｒｏｏｔ）β、Ｋ（ｒｏｏｔ）γを記憶している。この３つの根ノード秘密鍵は、グループ管理サーバ１０の鍵算出部１０２と同一の中間ノード迷彩鍵、同一の鍵生成ルール、同一の鍵生成関数を用いて生成されているため、グループ管理サーバ１０及び他の端末装置３０が生成し、記憶する根ノード秘密鍵Ｋ（ｒｏｏｔ）α、Ｋ（ｒｏｏｔ）β、Ｋ（ｒｏｏｔ）γとそれぞれ同一である。
【００７５】
図９に戻り、端末装置３０の構成例の説明を続ける。
【００７６】
鍵利用ルール記憶部３０５は、３種類の根ノード秘密鍵のうち、どの種類の秘密鍵を使用して暗号化／復号するかを定めたルールである鍵利用ルールを記憶する機能を有する。例えば、鍵利用ルールが種類αの根ノード秘密鍵を使用することを定めている場合、グループ管理サーバ１０、及び各端末装置３０はグループ鍵である根ノード秘密鍵Ｋ（ｒｏｏｔ）αを用いて通信の暗号化／復号を行うのである。
【００７７】
この鍵利用ルールは、グループ管理サーバ１０の鍵利用ルール記憶部１０５に記憶されているものと同一であり、グループ管理サーバ１０の鍵利用ルール記憶部１０５において、鍵利用ルールが変更された場合は、端末装置３０の鍵利用ルール記憶部３０５の鍵生成ルールもこれに一致するように変更される。
【００７８】
以上で、マルチキャスト通信システム１の構成例の説明を終了する。
【００７９】
［２．動作例］
次に、マルチキャスト通信システム１の動作例、より詳しくは本発明のグループ鍵管理方法を実行する端末装置３０、グループ管理サーバ１０のグループ鍵生成等に関する動作例について説明する。
【００８０】
［２．１．端末装置でのグループ鍵算出］
まず、端末装置３０におけるグループ鍵生成方法について図１１を参照しながら説明する。図７は、端末装置３０、より詳しくは鍵算出部３０２の動作の一例を示すフローチャートである。
【００８１】
まず、端末装置３０、より詳しくは鍵算出部３０２は、その端末装置３０自身の秘密鍵からその端末装置の迷彩鍵を生成する（Ｓ１０）。端末装置３０自身の葉ノード秘密鍵をＫ、その端末装置の葉ノード迷彩鍵をＫと表すと、両者の関係は以下の式で決定される。
Ｋ＝Ｈ（Ｋ）
ここで、関数Ｈ（）は同じbit数を入力、出力とするハッシュ関数である。
【００８２】
次に、端末装置３０、より詳しくは鍵算出部３０２は同一小グループ２０４に属する端末装置３０、すなわち３つの葉ノード迷彩鍵を用いて、その親ノードである中間ノード２０４の３種類の秘密鍵を生成する（Ｓ２０）。その端末装置３０が属する小グループ２０４の葉ノード２０２の葉ノード迷彩鍵をＫＬ１、ＫＭ１、ＫＲ１、これら葉ノード２０２の親ノードである中間ノード２０３の３種類の秘密鍵をＫ２α、Ｋ２β、Ｋ２γと表すと、これらの関係は以下の式で決定される。
Ｋ２α=Ｆ（ＫＬ１、ＫＭ１）
Ｋ２β=Ｆ（ＫＭ１、ＫＲ１）
Ｋ２γ=Ｆ（ＫＲ１、ＫＬ１）
ただし、ＫＬ１、ＫＭ１、ＫＲ１のうちどの２つの組み合わせをＫ２α、Ｋ２β、Ｋ２γに対応させるかは自由に定めることができ、上記の式で表した対応関係にほ発明が限定される趣旨ではない。
【００８３】
なお、関数Ｆ（）は同じbit数を入力、出力とする排他論理和などの融合関数である。
より一般化すると、ｎ個の迷彩鍵からｒ個選んだ場合ｎＣｒ通りの２個の迷彩鍵のセットができ、それぞれの迷彩鍵のセットから所定の関数を用いて一つの秘密鍵を生成する。結果としてｎ個の迷彩鍵からｎＣｒ個の秘密鍵を生成することになる。
【００８４】
また、端末装置３０、より詳しくは端末側鍵算出部３０２は、中間ノード２０３の３種類の秘密鍵から中間ノード２０３の３種類の中間ノード迷彩鍵を生成する。これには先の迷彩鍵の生成に使用したのと同一の関数、例えば関数Ｈ（）を使用してよい。一例として、図１０に示した例では、ノード［５］に相当する端末装置３０の端末側鍵算出部３０２は、中間ノード２０３であるノード［２］の３種類の秘密鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γから中間ノード２０３の３種類の中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γを生成する。これには先の葉ノード迷彩鍵の生成に使用したのと同一の関数、例えば関数Ｈ（）を使用してよい。
【００８５】
次に、端末装置３０、より詳しくは端末側鍵算出部３０２は、Ｓ２０で生成した中間ノード２０３の３種類の中間ノード迷彩鍵、及びその中間ノード２０３の兄弟ノードである他の２つの中間ノード２０３の３種類の中間ノード迷彩鍵から、それぞれ同種の中間ノード迷彩鍵を用いて、さらに上位のノードの３つの秘密鍵を生成する（Ｓ３０）。
【００８６】
上位のノードの秘密鍵の生成を式で表すと以下のようになる。
Ｋ（ｎ＋１）α＝Ｆ（ＫＬｎα、ＫＭｎα） 
Ｋ（ｎ＋１）β＝Ｆ（ＫＭｎα、ＫＲｎα）
Ｋ（ｎ＋１）γ＝Ｆ（ＫＲｎα、ＫＬｎα）
上位のノード（親ノード）の３つの秘密鍵をＫ（ｎ＋１）α、Ｋ（ｎ＋１）β、Ｋ（ｎ＋１）γとし、３つの下位の中間ノード（子ノード）のうち、左側の中間ノードの中間ノード迷彩鍵をＫＬｎα、ＫＬｎβ、ＫＬｎγ、中央の中間ノードの中間ノード迷彩鍵をＫＭｎα、ＫＭｎβ、ＫＭｎγ、右側の中間ノードの中間ノード迷彩鍵をＫＲｎα、ＫＲｎβ、ＫＲｎγとする。なお、鍵生成ルールは、鍵生成に際しては種類αの鍵を使用することを定めているものとする。また、鍵の参照符号中、「ｎ」、「ｎ＋１」はそのノードの階層を示しており、「ｎ」の一つ上位が「ｎ＋１」である。また、Ｌ、Ｍ、Ｒは３つの兄弟ノードを互いに区別するための符号である。
【００８７】
さらに具体例を示す。例えば、図２に示す例で言うと、葉ノード［５］に相当する端末装置３０が、今ステップＳ２０において、中間ノード［２］の３種類の中間ノード迷彩鍵Ｋ（２）α、Ｋ（２）β、Ｋ（２）γを生成したものとする。次のステップであるＳ３０では、この葉ノード［５］に相当する端末装置３０は、中間ノード［２］の兄弟ノードに相当する中間ノード［３］及び中間ノード［４］の中間ノード迷彩鍵Ｋ（３）α、Ｋ（３）β、Ｋ（３）γ、及びＫ（４）α、Ｋ（４）β、Ｋ（４）γから同種の中間ノード迷彩鍵（例えば、種別情報αを持つ迷彩鍵Ｋ（２）α、Ｋ（３）α、Ｋ（４）α）から、ステップＳ２０において３種類の秘密鍵を生成した算出方法と同様の方法で、さらに上位のノードである根ノード［１］の３種類の秘密鍵、すなわち根ノード秘密鍵Ｋ（ｒｏｏｔ）α、Ｋ（ｒｏｏｔ）β、Ｋ（ｒｏｏｔ）γを生成する。この生成に関して使用する関数は、先に述べた関数Ｆ（）を使用すればよい。
【００８８】
次に、端末装置３０、より詳しくは鍵算出部３０２は、ステップＳ３０で秘密鍵を生成した上位のノードよりさらに上位のノードがあるか否かを判定する（Ｓ４０）。さらに上位のノードがあると判定した場合（Ｓ４０、Ｙｅｓ）、端末装置３０、より詳しくは端末側鍵算出部３０２は、直前のステップＳ３０において生成した３種類の中間ノード秘密鍵から３種類の中間ノード迷彩鍵を生成する（Ｓ５０）。これには先の迷彩鍵の生成に使用したのと同一の関数、例えば関数Ｈ（）を使用してよい。
【００８９】
一方、さらに上位のノードはないと判定した場合（Ｓ４０、Ｎｏ）、端末装置３０、より詳しくは端末側鍵算出部３０２は、グループ鍵算出処理を終了する。
【００９０】
［２．２．グループ管理サーバでのグループ鍵算出］
次に、グループ管理サーバ１０の鍵算出部１０２の動作について説明する。
グループ管理サーバ１０の鍵算出部１０２は、各葉ノード２０２の葉ノード秘密鍵から、その葉ノード迷彩鍵、上位の中間ノードの中間ノード秘密鍵、中間ノード迷彩鍵を、端末装置３０が用いたのと同様のアルゴリズムにより生成し、最終的に根ノード２０１の３種の根ノード秘密鍵Ｋ（ｒｏｏｔ）α、Ｋ（ｒｏｏｔ）β、Ｋ（ｒｏｏｔ）γを生成し、サーバ側鍵記憶部１０４に記憶させる（図８参照）。
【００９１】
なお、グループ管理サーバ１０の鍵利用ルール記憶部１０５、及び各端末装置３０の鍵利用ルール記憶部３０５に記憶された鍵利用ルールにより、根ノード秘密鍵のうちα、β、γのいずれの鍵を選択するかの指定がなされており、各端末装置３０は鍵利用ルールによって指定された根ノード秘密鍵をグループ鍵として利用する。
【００９２】
［２．３．鍵利用ルールの変更］
次に、本マルチキャスト通信システム１における鍵利用ルールの変更、更新について説明する。
本マルチキャスト通信システム１で使用される鍵利用ルールは、随時変更可能である。
鍵利用ルールを変更することにより、新たなグループ鍵の配布／送信などを行うことなく、情報漏洩、第三者の盗み取りに対する安全性を向上させることができる。
【００９３】
グループ管理サーバ１０は、鍵サーバから各端末装置３０に対して新たな鍵利用ルールを送信して、更新させる。各端末措置３０はその端末側鍵利用ルール記憶部３０５に新たな鍵利用ルールを記憶し、それ以降は新たな鍵利用ルールに基づいて、３種類の根ノード秘密鍵から一つをグループ鍵として選択して、暗号化／復号の際に使用する。なお、本実施の形態では、新たな鍵利用ルールの変更、生成は、グループ管理サーバ１０のオペレータの操作や自動プログラムによって、鍵利用ルール記憶部３０５が実行するものとするが、この構成に本発明は制限されない。
【００９４】
また、鍵利用ルールの変更を、予め特定のイベントの発生をトリガとして実行することは有効である。特定のイベントとして、例えば、以下のものが考えられる。
（１）所定の時間の到来（例えば、毎日午前０時）
（２）グループのメンバの特定の状態変化（例えば、ある端末装置が故障が判明した場合や、鍵の漏洩などセキュリティ上の問題が明確になった場合）
【００９５】
［２．４．鍵生成ルールの変更］
次に、本マルチキャスト通信システム１における鍵生成ルールの変更について説明する。
本マルチキャスト通信システム１で使用される鍵生成ルールは、随時変更可能である。
鍵生成ルールの変更により、グループ鍵の漏洩、情報漏洩、第三者の盗み取りに対する安全性が向上する。
【００９６】
鍵利用ルールの変更は、グループ管理サーバ１０から各端末装置３０に対して新たな鍵生成ルールを送信して、各端末装置３０に更新させることにより行われる。各端末措置３０はその鍵利用ルール記憶部３０５に新たな鍵利用ルールを記憶し、それ以降は新たな鍵利用ルールに基づいて、３種類の根ノード秘密鍵から一つをグループ鍵として選択して、暗号化／復号の際に使用する。
【００９７】
鍵生成ルールが変更されると、グループ管理サーバ１０及び各端末装置３０は、中間ノード秘密鍵、根ノード秘密鍵（グループ鍵）を新しい鍵生成ルールに従って算出し、これらを新しく生成された鍵で置き換える。これにより、中間ノード秘密鍵、根ノード秘密鍵（グループ鍵）の切り替えを行うことができる。
【００９８】
鍵利用ルールの変更による鍵の変更に比べて、コストがかかるが、中間ノード秘密鍵、根ノード秘密鍵を置き換えできるので、葉ノード２０２の葉ノード秘密鍵以外の鍵が奪われた場合にも、通信の安全性を復活させることができる。
【００９９】
［２．５．グループ管理サーバによる鍵の配布］
先にも述べているが、本実施の形態にかかるマルチキャスト通信システム１では、グループ管理サーバ１０から端末装置３０には、グループ鍵の配信は行わない。
【０１００】
但し、グループ管理サーバ１０の初期化時には個々の端末装置３０に宛てて、以下の鍵を送信する。
（１）その端末装置３０の秘密鍵（葉ノード秘密鍵）
（２）その端末装置に対応する葉ノード２０２から根ノード２０１まで辿るパス上の中間ノードの兄弟ノードの中間ノード迷彩鍵
（３）鍵生成ルール
（４）鍵利用ルール
なお、各端末装置に対する上記（１）の送信については、葉ノード秘密鍵とは別に用意されているノード固有通信鍵により暗号化して行う。このノード固有通信鍵については、本手法とは以外の別の手段、例えば、可搬メディアを用いた人間系による伝達（郵送、手渡しなど）により、予めメンバとグループ管理サーバ１０に配布するようにすればよい。
【０１０１】
［３．変形例、その他］
（１）  上記の実施の形態では、三分木構造を用いたが、本発明は四分木構造以上であっても成立する。すなわちｎ分木構造（ｎは３以上の正の整数）を用いた場合中間ノード２０３及び根ノード２０１はそれぞれｎＣｒ個の秘密鍵を有する（ｎ＞ｒ≧２、ｒは正の整数）。鍵利用ルールはｎＣｒ個の根ノード鍵のうち、どれをグループ鍵として使用するかを定め、鍵生成ルールは、下位のノードのｎＣｒ個の中間ノード迷彩鍵のうち、どの種類の中間ノード迷彩鍵を用いて上位のノードのｎＣｒ個の中間ノード秘密鍵を生成するかを定めることとなる。
【０１０２】
（２）上記の実施の形態では、鍵生成ルールはグループ管理サーバ１０、及び各端末装置３０において共通の鍵生成ルールを使用するとして説明したが、鍵生成ルールはノードごとに個別に定めるようにしても、本発明は成立する。また、鍵生成ルールは三分木構造の段ごとに定めるようにしても本発明は成立する。
【図面の簡単な説明】
【０１０３】
【図１】本実施の形態にかかる、グループ鍵生成方法を実行するマルチキャスト通信システムの構成例を示すブロック図
【図２】三分木構造を有するグループの構成例を示す図
【図３】図２に示す三文木構造における各ノードに設定される鍵を示す図
【図４】葉ノード秘密鍵から葉ノード迷彩鍵を生成する方法を示す図
【図５】（ａ）は、一種類目の中間ノード秘密鍵、中間ノード迷彩鍵の生成方法の例を示す図であり、（ｂ）は、二種類目の中間ノード秘密鍵、中間ノード迷彩鍵の生成方法の例を示す図であり、（ｃ）は、一種類目の中間ノード秘密鍵、中間ノード迷彩鍵の生成方法の例を示す図
【図６】（ａ）は一種類目の根ノード秘密鍵の生成方法の例を示す図、（ｂ）は二種類目の根ノード秘密鍵の生成方法の例を示す図、（ｃ）は三種類目の根ノード秘密鍵の生成方法の例を示す図
【図７】グループ管理サーバの構成例を示した機能ブロック図
【図８】図２に示す三分木構造を有するグループを管理する場合の、サーバ側鍵記憶部の記憶内容例を示す図
【図９】端末装置の構成例を示す機能ブロック図
【図１０】図２に示す三分木構造を有するグループに属するノード［５］に相当する端末装置の端末側鍵記憶部の記憶内容例を示す図
【図１１】端末装置の動作の一例を示すフローチャート
【符号の説明】
【０１０４】
１        …  マルチキャスト通信システム
１０      …  グループ管理サーバ
２０      …  ネットワーク
３０      …  端末装置
【図１】
2009044245.tif 000003
【図２】
2009044245.tif 000004
【図３】
2009044245.tif 000005
【図４】
2009044245.tif 000006
【図５】
2009044245.tif 000007
【図６】
2009044245.tif 000008
【図７】
2009044245.tif 000009
【図８】
2009044245.tif 000010
【図９】
2009044245.tif 000011
【図１０】
2009044245.tif 000012
【図１１】
2009044245.tif 000013