(57)【要約】  攪乱部２１２が、サーバ装置２０１に接続されている端末装置のＩＤを並べ替えて端末装置に対して複数種の順序付けを行い、構造情報生成部２１９が複数種の順序付けに対応させて木構造の構造情報を複数個生成し、鍵割り当て部２１３が構造情報ごとに木構造の各ノードに秘密情報を割り当て、複数の端末装置に対してセキュアマルチキャストを行う場合に、集合決定部２１６が、セキュアマルチキャストの送信先の端末装置のみが暗号化メッセージを復号できる秘密情報の割り当てとなっている構造情報であって、通信オーバーヘッドが最も少ない構造情報を決定し、暗号部２１８が、集合決定部２１６により決定された構造情報に割り当てられている秘密情報を用いて送信メッセージを暗号化し、通信部２１７が暗号化メッセージをマルチキャスト送信する。
2009130795.tif 000002
【特許請求の範囲】
【請求項１】
複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信する情報処理装置であって、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成部と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て部と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出部とを有することを特徴とする情報処理装置。
【請求項２】
前記組合せ導出部は、
全ての送信先通信装置が暗号化メッセージを復号できる秘密情報の組合せであって、最も数の少ない秘密情報の組合せを導出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出し、抽出した秘密情報の数を計数し、
前記複数の順序情報の中から秘密情報の数が最も少ない順序情報を判別し、判別した順序情報について抽出された秘密情報を送信メッセージの暗号化に用いる秘密情報とすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較し、最下位階層のグループにおいて１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、最下位階層のグループの同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、
前記複数の順序情報について抽出されたグループ別秘密情報を組み合わせて、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報の組合せであって、秘密情報の数が最も少なくなる組合せを導出することを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）である場合に、ｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）に満たない場合に、不足数分の仮想通信装置を補充してｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項９】
前記順序情報生成部は、
ｍ（ｍ≧２）種の順序付け及びグループ化を示すｍ個の順序情報を１セットとし、ｔ（ｔ≧２）セット分の順序情報を生成し、
前記情報処理装置は、更に、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報を用いて送信メッセージを暗号化する場合に必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔセットの中から特定のセットを選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部により選択されたセットに含まれるｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする請求項１から８のいずれかに記載の情報処理装置。
【請求項１０】
前記順序情報選択部は、
ｔセットの中から、期待値が最も小さいセットを選択することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報の中から、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少ない順序情報を抽出し、組合せパターンごとに抽出した順序情報における秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報に示される各グループの同一グループ通信装置と組合せパターンに含まれる通信装置とを比較して、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少なくなるグループの組合せを抽出し、組合せパターンごとに抽出したグループの組合せにおける秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする請求項９から１１のいずれかに記載の情報処理装置。
【請求項１３】
前記順序情報生成部は、
ｍ（ｍ≧２）段階の各段階において、ｔ（ｔ≧２）種の順序付け及びグループ化を示すｔ個の順序情報を生成し、
前記情報処理装置は、更に、
ｍ段階の各段階において、順序情報ごとに、送信メッセージを暗号化するために必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔ個の順序情報の中から特定の順序情報を選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部によりｍ段階の各段階において選択されたｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする請求項１から８のいずれかに記載の情報処理装置。
【請求項１４】
前記順序情報選択部は、
ｍ段階の各段階において、ｔ個の順序情報の中から、期待値が最も小さい順序情報を選択することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記順序情報生成部は、
前記順序情報選択部によりｔ個の順序情報の中から特定の順序情報が選択された後に、選択された順序情報と異なる順序付け及びグループ化を示すｔ個の順序情報を次の段階のｔ個の順序情報として生成することを特徴とする請求項１３又は１４に記載の情報処理装置。
【請求項１６】
複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信するコンピュータに、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成処理と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て処理と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出処理とを実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号技術を利用して、例えばサーバ装置（以下、サーバともいう）から複数の正当な端末装置（以下、端末ともいう）だけに情報を同報送信（マルチキャスト）する技術に関する。
【背景技術】
【０００２】
セキュアマルチキャストシステムは、暗号技術を利用して、サーバから複数の正当な端末だけに情報を同報送信（マルチキャスト）し、失効した端末（群）には、たとえ失効端末同士で結託があったとしても情報が一切漏れないようにする通信システムである。
ここで、正当な端末とは、サーバから送信される暗号化メッセージの復号が許される端末であり、失効した端末（群）とは、サーバから送信される暗号化メッセージの復号が禁止される端末（群）である。
このようなセキュアマルチキャストシステムに関して、端末が保持するデバイス鍵の数・マルチキャストの通信オーバーヘッド・端末が鍵を導出するための演算オーバーヘッドをできるだけ小さくする様々な技術が提案されている。【０００３】
非特許文献１にて開示されているＣｏｍｐｌｅｔｅ  Ｓｕｂｔｒｅｅ法（ＣＳ法）やＳｕｂｓｅｔ  Ｄｉｆｆｅｒｅｎｃｅ法（ＳＤ法）は、サーバが各端末を木構造の葉（最下層）に配置し、葉を含む各ノードに秘密情報を割り当て、各端末が自分のノードから根ノードまでのパス上にある各ノードに対応する秘密情報を保持する方式である。
これらの方式では、サーバがマルチキャストを行う際に、複数の正当な端末を、適切な方法で、端末の部分集合の和Ｓ１＋Ｓ２＋…＋Ｓｊで表現する。その後、Ｓ１に属する端末だけが保持する（もしくは導出可能である）暗号鍵Ｋ１、Ｓ２に属する端末だけが保持する暗号鍵Ｋ２、…、Ｓｊに属する端末だけが保持する暗号鍵Ｋｊを用いて、送信メッセージ（もしくは送信メッセージを暗号化するためのセッション鍵Ｋ）（本明細書では、送信メッセージ及びセッション鍵Ｋをまとめて送信メッセージと表記する）を暗号化する。
つまり、サーバは、失効した端末は保持していない（導出できない）が、正当な端末は保持している（導出できる）鍵を抽出し、抽出した鍵の各々を用いてメッセージを暗号化し、暗号化メッセージを同報送信する。
上記のように暗号化を行うことで、正当な端末だけが情報を取得することができるセキュアマルチキャストが実現できる。【０００４】
このとき、通信オーバーヘッドは和で表現した際の要素数ｊに比例する値となるが、ＣＳ法やＳＤ法では、各端末に持たせる秘密情報を工夫することによって、ｊの値を小さくすることを実現している。
また、特許文献１では、ＣＳ法やＳＤ法で用いる木構造を、サーバが複数保持することで、通信オーバーヘッドを低減する方式が開示されている。
【特許文献１】特開２００６−１３７９０号公報
【非特許文献１】Ｄ．Ｎａｏｒ，  Ｍ．Ｎａｏｒ，  ａｎｄ  Ｊ．Ｌｏｓｔｐｉｅｃｈ，  “Ｒｅｖｏｃａｔｉｏｎ  ａｎｄ  ｔｒａｃｉｎｇ  ｓｃｈｅｍｅｓ  ｆｏｒ  ｓｔａｔｅｌｅｓｓ  ｒｅｃｅｉｖｅｒｓ，”  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ  −  ＣＲＹＰＴＯ’０１，  ＬＮＣＳ  ｖｏｌ．２１３９，  ｐｐ．４１−６２，  ２００１．
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ｎ個の端末があるとき、そのうちｒ個を失効させた残りに対してセキュアマルチキャストを行うための通信オーバーヘッドはＣＳ法でＯ（ｒ  ｌｏｇ（ｎ／ｒ））、ＳＤ法でＯ（ｒ）である（Ｏはランダウの記法、ｌｏｇは底を２とする対数を表す。以下においても同様）。
いずれもｒにほぼ比例する形で通信オーバーヘッドが大きくなるため、特に狭帯域の通信を行う際に通信帯域を圧迫してしまうという課題がある。【０００６】
上述したように、セキュアマルチキャストにおいては、正当な端末に対して抽出された鍵の各々を用いて送信メッセージを暗号化し、暗号化した全メッセージをマルチキャスト送信する。このため、サーバからマルチキャストされる暗号化メッセージの数は、抽出された鍵数に一致することになる。
従って、通信オーバーヘッドを小さくするためには、抽出される鍵の数をできるだけ小さくすることが必要である。【０００７】
特許文献１ではサーバが複数の木構造を保持することで通信オーバーヘッドを低減する方法が開示されているが、複数木構造の構成法とその効果については、装置・利用者の特性に基づいて構成するとの記述に留まっており、構成法とその効果との関係を明白に開示しているものではない。【０００８】
本発明は、上記の課題を解決することを主な目的としており、セキュアマルチキャストにおいて使用する秘密情報の数を抑制し、通信オーバーヘッドを小さくすることを主な目的とする。
【課題を解決するための手段】
【０００９】
本発明に係る情報処理装置は、複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信する情報処理装置であって、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成部と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て部と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出部とを有することを特徴とする。【００１０】
前記組合せ導出部は、
全ての送信先通信装置が暗号化メッセージを復号できる秘密情報の組合せであって、最も数の少ない秘密情報の組合せを導出することを特徴とする。【００１１】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出し、抽出した秘密情報の数を計数し、
前記複数の順序情報の中から秘密情報の数が最も少ない順序情報を判別し、判別した順序情報について抽出された秘密情報を送信メッセージの暗号化に用いる秘密情報とすることを特徴とする。【００１２】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較し、最下位階層のグループにおいて１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、最下位階層のグループの同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出することを特徴とする。【００１３】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、
前記複数の順序情報について抽出されたグループ別秘密情報を組み合わせて、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報の組合せであって、秘密情報の数が最も少なくなる組合せを導出することを特徴とする。【００１４】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較することを特徴とする。【００１５】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）である場合に、ｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする。【００１６】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）に満たない場合に、不足数分の仮想通信装置を補充してｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする。【００１７】
前記順序情報生成部は、
ｍ（ｍ≧２）種の順序付け及びグループ化を示すｍ個の順序情報を１セットとし、ｔ（ｔ≧２）セット分の順序情報を生成し、
前記情報処理装置は、更に、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報を用いて送信メッセージを暗号化する場合に必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔセットの中から特定のセットを選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部により選択されたセットに含まれるｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする。【００１８】
前記順序情報選択部は、
ｔセットの中から、期待値が最も小さいセットを選択することを特徴とする。【００１９】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報の中から、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少ない順序情報を抽出し、組合せパターンごとに抽出した順序情報における秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする。【００２０】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報に示される各グループの同一グループ通信装置と組合せパターンに含まれる通信装置とを比較して、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少なくなるグループの組合せを抽出し、組合せパターンごとに抽出したグループの組合せにおける秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする。【００２１】
前記順序情報生成部は、
ｍ（ｍ≧２）段階の各段階において、ｔ（ｔ≧２）種の順序付け及びグループ化を示すｔ個の順序情報を生成し、
前記情報処理装置は、更に、
ｍ段階の各段階において、順序情報ごとに、送信メッセージを暗号化するために必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔ個の順序情報の中から特定の順序情報を選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部によりｍ段階の各段階において選択されたｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする。【００２２】
前記順序情報選択部は、
ｍ段階の各段階において、ｔ個の順序情報の中から、期待値が最も小さい順序情報を選択することを特徴とする。【００２３】
前記順序情報生成部は、
前記順序情報選択部によりｔ個の順序情報の中から特定の順序情報が選択された後に、選択された順序情報と異なる順序付け及びグループ化を示すｔ個の順序情報を次の段階のｔ個の順序情報として生成することを特徴とする。【００２４】
本発明に係るプログラムは、複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信するコンピュータに、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成処理と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て処理と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出処理とを実行させることを特徴とする。
【発明の効果】
【００２５】
本発明によれば、通信装置に対して複数種の順序付けを行い複数種の順序情報を生成するとともに、複数種の順序情報における秘密情報の割り当て状況に基づき、送信メッセージの暗号化に用いる秘密情報の組合せを導出するため、全ての送信先通信装置が暗号化メッセージを復号できる秘密情報の組合せであって、最も数の少ない秘密情報の組合せを導出することが可能であり、このため暗号化メッセージの送信時の通信オーバーヘッドを抑制することができる。
【発明を実施するための最良の形態】
【００２６】
実施の形態１．
本実施の形態及び以降の実施の形態では、複数の構造の構成法を工夫することで、通信オーバーヘッドを小さくするセキュアマルチキャストシステムについて説明する。【００２７】
図１は、本実施の形態に係るセキュアマルチキャストシステムのシステム構成例を示す。
図１において、サーバ装置２０１（以下、単にサーバともいう）と複数の端末装置３０１（以下、単に端末ともいう）がネットワーク１０１を介して接続されている。
本実施の形態に係るセキュアマルチキャストシステムにおいても、暗号技術を利用して、サーバ装置２０１から複数の正当な端末装置３０１だけに情報を同報送信（マルチキャスト）し、失効した端末（群）には、たとえ失効端末同士で結託があったとしても情報が一切漏れないようにする。
なお、サーバ装置２０１は情報処理装置の例であり、端末装置３０１は通信装置の例である。【００２８】
図２は、サーバ装置２０１の構成例を表すブロック図である。【００２９】
図２において、アルゴリズム記憶領域２１１は、セキュアマルチキャストにおける鍵割り当て、正当な端末へのメッセージ送信などのアルゴリズムを記憶するデータ記憶手段である。
本実施の形態では、端末を木構造で管理するアルゴリズムを用いる。
例えば、前記のＣＳ法やＳＤ法などのアルゴリズムが記憶される。【００３０】
攪拌部２１２は、全ての端末を並べ替え、その順序付けを出力する手段である。
また、構造情報生成部２１９は、攪拌部２１２による端末の順序付けに従い、端末間に構造を与え、端末の順序付けを所定の構造で表す構造情報（順序情報）を複数種生成する。
本実施の形態では、木構造の構造情報を生成する。
より具体的には、攪拌部２１２は、複数の端末装置３０１に対して複数種の順序付けを行い、構造情報生成部２１９は、各々の順序付けにおいて近接して順序付けられている２つ以上の端末装置３０１を複数階層にてグループ化し、各々の順序付け及び複数階層におけるグループ化の内容を示す複数の構造情報を生成する。
また、サーバ装置２０１に接続している端末装置３０１の数が２ｍ個（ｍ≧２）である場合に、攪拌部２１２はｍ種の順序付けを行い、また、構造情報生成部２１９はｍ種の順序付け及びグループ化を示すｍ個の構造情報を生成する。
攪拌部２１２及び構造情報生成部２１９は、順序情報生成部の例である。【００３１】
鍵割り当て部２１３は、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、順序付けられた端末が示される構造情報を入力し、当該構造情報に示される構造上の各ノードに秘密情報を割り当てる手段である。
より具体的には、鍵割り当て部２１３は、構造情報生成部２１９により生成された構造情報ごとに、各々の端末装置において暗号化メッセージの復号に利用される端末別秘密情報（装置別秘密情報）を端末装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ端末装置（同一グループ通信装置）において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる。
鍵割り当て部２１３は、秘密情報割り当て部の例である。【００３２】
詳細は後述するが、図４が各端末及びグループに秘密情報が割り当てられた木構造の構造情報の例である。
図４の例では、木構造１及び木構造２の二つの構造情報が示される。
木構造１、木構造２ともに、端末０から端末７の８台の端末を対象としており、これら８台の端末が木構造の葉部分のノード（以下、葉ノードともいう）に配列されている。木構造１と木構造２では、端末の配列順序が異なっている。
また、木構造１、木構造２ともに、階層ごとに隣合う２つのノードずつグループ化され、最終的にルートノードに至る。
なお、構造情報生成部２１９は２ｍ台の端末に対してｍ個の構造情報を生成するため、８台の端末に対しては３個の構造情報が生成されるが、図４では作図上の理由から２つの構造情報を示している。【００３３】
また、図４に示すｋ０＿１、ｋａ＿１、ｋ０＿２、ｋａ＿２等は、各端末又は各グループに割り当てられた秘密情報である。秘密情報は例えば鍵、もしくは鍵導出の元となる情報である。葉ノードに割り当てられている端末ごとの秘密情報が端末別秘密情報（装置別秘密情報）であり、ｋｄ＿１、ｋｅ＿１、ｋｆ＿１、ｋｇ＿１、ｋｂ＿１、ｋｃ＿１及びｋａ＿１は端末のグループごとに割り当てられたグループ別秘密情報である。
図４では、各端末は、葉ノードに割り当てられている端末別秘密情報及び葉ノードに連結する上位のノードに割り当てられているグループ別秘密情報を用いることができる。
例えば、木構造１において、端末０は秘密情報ｋ０＿１、ｋｄ＿１、ｋｂ＿１、ｋａ＿１を利用することができる。
構造情報生成部２１９では、攪拌部２１２による複数種の端末の順序付けに従って、木構造の葉ノードに各端末を配置するとともに、２つのノードごとにグループ化する処理を行い、図４に示す秘密情報（ｋ０＿１等）が各ノードに割り当てられていない状態の構造情報を生成する。前述したように、構造情報生成部２１９は、複数の構造情報を生成するが、攪拌部２１２による複数種の端末の順序付けに対応して、構造情報ごとに、葉ノードにおける端末の配置順序は異なる。
そして、鍵割り当て部２１３は、構造情報生成部２１９で生成された各構造情報の各ノードに秘密情報を割り当てて図４に示す状態とする。各ノードに割当てる秘密情報は相互に異なる。【００３４】
秘密情報記憶領域２１４は、秘密情報が割り当てられた構造情報を複数個記憶するデータ記憶手段である。
本実施の形態では、前述したように、全ての端末は木構造で管理される。
秘密情報記憶領域２１４は、図４に例示した構造情報を記憶する。【００３５】
集合導出部２１５は、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、端末に与えられた構造と、正当な端末の集合とを入力として、正当な端末の集合が、端末の部分集合の和Ｓ１＋Ｓ２＋…＋Ｓｊとして表されるよう、各部分集合Ｓｉを導出する手段である。
集合決定部２１６は、秘密情報記憶領域２１４に記憶されている複数の構造情報に対する集合導出部２１５の出力に従い、セキュアマルチキャストの送信に利用する部分集合の組合せを決定する手段である。
つまり、集合導出部２１５と集合決定部２１６は、複数の端末装置３０１の中からセキュアマルチキャスト送信の送信先となる２つ以上の端末装置３０１が送信先端末装置（送信先通信装置）として選択された際に、各構造情報に示されるグループごとに、同一グループ端末装置と送信先端末装置とを比較して、全ての送信先端末装置が暗号化メッセージを復号できる秘密情報の組合せであって、最も数の少ない秘密情報の組合せを導出し、決定する。
集合導出部２１５と集合決定部２１６は、組合せ導出部の例である。【００３６】
通信部２１７は、端末装置３０１と通信を行う手段である。
暗号部２１８は、共通鍵・公開鍵暗号の鍵生成・暗号化、乱数生成などを行う手段である。【００３７】
図３は、セキュアマルチキャストシステム（図１）において、サーバ装置２０１からのマルチキャストを受信する端末装置３０１の構成例を表すブロック図である。【００３８】
図３において、アルゴリズム記憶領域３１１は、セキュアマルチキャストにおける鍵導出・復号などのアルゴリズムを記憶するデータ記憶手段である。
本実施の形態では、端末を木構造で管理するアルゴリズムを用いる。例えば、前記のＣＳ法やＳＤ法などのアルゴリズムが記憶される。【００３９】
秘密情報記憶領域３１２は、サーバ装置２０１が管理するある構造に対応付けられた秘密情報（暗号鍵、もしくは暗号鍵導出の元となる情報）を複数個記憶するデータ記憶手段である。
本実施の形態では、全ての端末は木構造に対応付けられた秘密情報を記憶する。
図５は、秘密情報記憶領域３１２が記憶するデータの一例を表す。
より具体的には、図５は、図４に示す端末０が保有するデータの例を示している。
すなわち、端末０は図４の木構造１の構造情報では、秘密情報ｋ０＿１、ｋｄ＿１、ｋｂ＿１、ｋａ＿１を利用できることが示されるが、図５では、これに対応して、端末０はこれらｋ０＿１、ｋｄ＿１、ｋｂ＿１、ｋａ＿１を保有していることを示している。
木構造２についても同様に、図４では端末０は秘密情報ｋ０＿２、ｋｄ＿２、ｋｂ＿２、ｋａ＿２を利用できることが示されるが、図５では、これに対応して、端末０はこれらｋ０＿２、ｋｄ＿２、ｋｂ＿２、ｋａ＿２を保有していることを示している。【００４０】
鍵導出部３１３は、アルゴリズム記憶領域３１１に記憶されているアルゴリズムに従い、サーバ装置２０１から受信した暗号化メッセージの復号に必要な暗号鍵を、秘密情報記憶領域３１２に記憶されている秘密情報から導出する手段である。【００４１】
通信部３１４は、サーバ装置２０１と通信を行う手段である。
暗号部３１５は、共通鍵・公開鍵暗号の復号、乱数生成などを行う手段である。【００４２】
セキュアマルチキャストにおける手続きは、サーバが各端末に秘密情報を配布する部分と、その秘密情報を用いてサーバから各端末への暗号通信を行う部分の２つに大別される。
図６は、本実施の形態における、サーバから各端末への秘密情報の配布処理を説明するためのフローチャートである。【００４３】
配布処理における動作について、図６のフローチャートを参照しながら説明する。
なお、簡単のため、端末数ｎは２のべき乗で表される値とし、各端末には０からｎ−１までの端末ＩＤが与えられているものとする。
また、サーバが保持・管理する木構造の数ｍを定めておく。本実施の形態では、ｍ＝ｌｏｇ  ｎとする。【００４４】
配布処理を行う前に、あらかじめサーバ装置２０１と各端末装置３０１とで、セキュアマルチキャストのアルゴリズムを共有しておく（ステップＳ６０１）。
ここでは、アルゴリズム記憶領域２１１、アルゴリズム記憶領域３１１に、対応するアルゴリズムが格納されているものとする。【００４５】
まず、サーバ装置２０１の攪拌部２１２が、端末数ｎを入力として、０からｎ−１までの端末ＩＤを並べ替えた順列を出力する（ステップＳ６０２）。
本処理の詳細については後述する。
ステップＳ６０２で得られた順列を入力として、構造情報生成部２１９が、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、端末間に木構造を与えて構造情報を生成し、また、鍵割り当て部２１３および暗号部２１８が、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、木構造の各ノードに秘密情報を割り当て、秘密情報が割り当てられた構造情報を秘密情報記憶領域２１４に格納する（ステップＳ６０３）。
同時に、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、各端末に必要な秘密情報を格納する（ステップＳ６０４）。ステップＳ６０３、Ｓ６０４の詳細は、アルゴリズム記憶領域２１１に記憶されているアルゴリズム（ＣＳ法やＳＤ法など）に依存する。
以上の処理を行い、ｍ個の木構造の構造情報が構成・格納された場合は処理を終了する。
そうでない場合は、ステップＳ６０２に戻って処理を繰り返す（ステップＳ６０５）。
この結果、ステップＳ６０２はｍ回実行されるが、攪拌部２１２は実行のたびに異なる順列を出力するため、秘密情報記憶領域２１４にはｍ個の異なる木構造が格納されることになる。【００４６】
図７は、本実施の形態における、攪拌部２１２の端末ＩＤ並べ替え処理（ステップＳ６０２）を説明するためのフローチャートである。
端末ＩＤ並べ替え処理における動作について、図７のフローチャートを参照しながら説明する。【００４７】
まず、攪拌部２１２は、端末ＩＤ並べ替え処理の呼び出しが初回であるかを判断する（ステップＳ７０１）。
初回である場合、端末ＩＤの順列として、０からｎ−１までのＩＤを順に並べたものを設定し（ステップＳ７０２）、その結果を出力する（ステップＳ７０４）。
例えばｎ＝８の場合、（０，１，２，３，４，５，６，７）が出力される。
２回目以降の呼び出しである場合、前回の出力の各端末ＩＤに対し、これらをｌｏｇ  ｎビットで２進表示したものを考え、右に１ビットずつ巡回シフトを行ったものを設定し（ステップＳ７０３）、その結果を出力する（ステップＳ７０４）。
例えばｎ＝８で２回目の呼び出しの場合、前回出力（０，１，２，３，４，５，６，７）に対し、各端末ＩＤを右に１ビットずつ巡回シフトした（０，４，１，５，２，６，３，７）が出力される。
以上のように端末ＩＤ並べ替え処理を行った結果、鍵割り当てアルゴリズム適用（ステップＳ６０３）後の秘密情報記憶領域２１４には例えば図４のような、複数の異なる木構造が格納されることになる。【００４８】
次に、サーバから各端末への暗号通信処理について説明する。
図８は、本実施の形態における、事前共有した秘密情報を用いた、サーバから各端末への暗号通信処理を説明するためのフローチャートである。
暗号通信処理における動作について、図８のフローチャートを参照しながら説明する。【００４９】
暗号通信処理を行う前に、あらかじめサーバ装置２０１と各端末装置３０１とで、セキュアマルチキャストのアルゴリズムを共有しておく。
ここでは、アルゴリズム記憶領域２１１、アルゴリズム記憶領域３１１に、対応するアルゴリズムが格納されているものとする。
また、サーバ装置２０１の秘密情報記憶領域２１４にはｍ個の木構造が、端末装置３０１の秘密情報記憶領域３１２にはこれに対応する秘密情報が格納されている。端末装置３０１の秘密情報記憶領域３１２への秘密情報の格納は、秘密情報を暗号化してサーバ装置２０１から端末装置３０１に送信してもよいし、秘密情報をメモリカード等の記憶媒体に格納し、オフラインにて端末装置３０１に供給するようにしてもよい。
また、サーバ装置２０１への入力として、失効端末の集合が与えられる（ステップＳ８０１、Ｓ８０２）。【００５０】
まず、サーバ装置２０１では、集合導出部２１５が、秘密情報記憶領域２１４から１番目の木構造の構造情報を読み出し、この木構造と、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、正当な端末の集合を、端末の部分集合の和Ｓ１＋Ｓ２＋…＋Ｓｊとして表す（ステップＳ８０３、Ｓ８０４、Ｓ８０５）。
ステップＳ８０５の詳細は、アルゴリズム記憶領域２１１に記憶されているアルゴリズム（ＣＳ法やＳＤ法など）に依存する。
この処理を、ｍ個全ての木構造について行う（ステップＳ８０６）。【００５１】
その後、集合決定部２１６が、ｍ個の木構造のうち通信オーバーヘッドが最小になるもの、すなわち部分集合の和で表した際の要素数ｊが最小になるものを決定する（ステップＳ８０７）。
そして、決定された木構造と、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、暗号部２１８がメッセージの暗号化を行い（ステップＳ８０８）、通信部２１７が端末装置３０１に、決定された木構造の番号および暗号化メッセージをマルチキャストする（ステップＳ８０９）。
ステップＳ８０８の詳細は、アルゴリズム記憶領域２１１に記憶されているアルゴリズム（ＣＳ法やＳＤ法など）に依存する。【００５２】
正当な（＝失効されていない）端末装置３０１の通信部３１４はメッセージを受信し（ステップＳ８１０）、鍵導出部３１３と暗号部３１５が、アルゴリズム記憶領域３１１に記憶されているアルゴリズムに従い、秘密情報記憶領域３１２に記憶されている秘密情報から導出した暗号鍵で受信メッセージを復号する（ステップＳ８１１）。
ステップＳ８１１の詳細は、アルゴリズム記憶領域３１１に記憶されているアルゴリズム（ＣＳ法やＳＤ法など）に依存する。
一方、失効された端末装置３０１は、マルチキャストのメッセージを受信しても、復号に必要な暗号鍵を導出できないため、情報を得ることができない。
以上の処理を行うことで、セキュアマルチキャストを実現することができる。【００５３】
次に、図１１を参照して、図８のＳ８０６及びＳ８０７の具体例を説明する。
なお、前述したように、ＣＳ法やＳＤ法等のアルゴリズムによって具体的な処理内容は異なるため、ここでは処理の概要を説明するにとどめる。【００５４】
図１１は、図４に示した木構造１及び木構造２の構造情報を示す。
例えば、端末０、端末１、端末３、端末７が正当な端末であり、端末２、端末４、端末５、端末６が失効した端末であるとする。
ここでは、構造情報ごとに、上位の階層のグループから順に同一グループ端末装置と送信先端末装置とを比較して、全ての同一グループ端末装置が送信先端末装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ端末装置が送信先端末装置として選択されていない場合（同一グループ端末装置に失効端末が含まれている場合）に、下位の階層のグループの同一グループ端末装置と送信先端末装置とを比較する。
そして、最下位階層のグループにおいて１つ以上の同一グループ端末装置が送信先端末装置として選択されていない場合（同一グループ端末装置に失効端末が含まれている場合）に、最下位階層のグループの同一グループ端末装置の各々に割り当てられている装置別秘密情報（葉ノードの秘密情報）を抽出して、構造情報ごとに、全ての送信先端末装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出する。【００５５】
木構造１では、端末２、端末４、端末５、端末６が失効端末であるため、これらが同一グループ端末装置に含まれてしまう最上位階層のｋａ＿１は選択することができない。
また、ｋｂ＿１についても、失効端末である端末２が含まれてしまうので選択できない。同様に、ｋｃ＿１についても、失効端末である端末４、端末５、端末６が含まれてしまうので選択できない。
一方、端末０と端末１に対しては同じ秘密情報を利用できるので、グループ別秘密情報であるｋｄ＿１を選択することができる。
また、端末２が失効端末であるので、ｋｅ＿１は選択できない。このため、端末３の端末別秘密情報であるｋ３＿１が選択される。
同様に、端末４、端末５、端末６が失効端末であるので、ｋｆ＿１及びｋｇ＿１は選択できない。このため、端末７の端末別秘密情報であるｋ７＿１が選択される。
以上、木構造１では、ｋｄ＿１、ｋ３＿１、ｋ７＿１の組合せが導出される。
また、同様の手順にて、木構造２では、ｋ０＿２、ｋ１＿２、ｋｇ＿２の組合せが導出される。
図１１の例では、木構造１、木構造２のいずれにおいても３つの秘密情報になるので、木構造１及び木構造２のいずれが選択されてもよい。
木構造１、木構造２のどちらかの秘密情報が少なければ、少ない方が選択される。
なお、図１１の例のように複数の構造情報において秘密情報の数が同数の場合には、予め設定している優先順位（木構造のＩＤ順、ＬＲＵ（Ｌｅａｓｔ  Ｒｅｃｅｎｔｌｙ  Ｕｓｅｄ）等）に基づいて、利用する構造情報を選択する。【００５６】
一般に、ＣＳ法やＳＤ法を始めとする鍵割り当て方式では、木構造が変化することで、部分集合の和で表した際の要素数が変化する。
従って、上記のようにｍ個の木構造から最適なものを用いることで、単一の木構造だけを用いる場合に比べ、秘密情報の記憶容量はｍ倍になるものの、通信オーバーヘッドを低減することができるため、狭帯域でセキュアマルチキャストを行う際に有効である。
さらに、ＳＤ法などの鍵割り当て方式では、例えば失効端末数ｒ＝２の場合、失効した２つの端末が木構造の左半分、右半分に１個ずつ存在する方が通信オーバーヘッドが少ない。前述した端末ＩＤ並べ替え処理（ステップＳ６０２）を行うと、１番目の木では端末ＩＤの最上位ビットが０であるものが左半分、１であるものが右半分となる。同様に、ｉ番目の木では端末ＩＤの上からｉビット目が０であるものが左半分、１であるものが右半分となる。従って、ｍ（＝ｌｏｎ  ｎ）個の木構造を使用する場合、どの２端末が失効した場合でも、１個が左半分、１個が右半分にあるような木構造が必ず存在し、通信オーバーヘッドの少ないセキュアマルチキャストを確実に行うことが可能となる。
また、失効端末が３個以上の場合でも同様の効果が得られる。【００５７】
さらに、本実施の形態における端末ＩＤ並べ替え処理（ステップＳ６０２）によると、端末の順列は確定的に与えられるため、各端末がそれぞれの木構造を記憶する必要がない。【００５８】
なお、本実施の形態では、各端末に格納する鍵の決定と、各端末へのメッセージ送信を同一のサーバ装置が行っているが、これらを別々の装置で行っても良い。【００５９】
また、本実施の形態では、端末数ｎを２のべき乗で表される値としているが、そうでない場合でも、２のべき乗になるまで仮想的な端末を追加するなどして、本方式を適用することが可能である。
つまり、攪拌部２１２は、サーバ装置２０１に接続している端末装置３０１の数が２ｍ個（ｍ≧２）に満たない場合に、不足数分の仮想端末を補充してｍ種の順序付けを行い、構造情報生成部２１９はｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成する。【００６０】
また、本実施の形態では、サーバが保持・管理する木構造の値ｍをｍ＝ｌｏｇ  ｎとしているが、サーバや各端末の性能を考慮して、これより小さい値を利用しても良い。【００６１】
また、本実施の形態では、ステップＳ７０２で端末ＩＤを０からｎ−１まで順に並べた決まった順列を出力しているが、ここで確定的もしくは確率的に並べ替えた順列を出力しても良い。
つまり、ステップＳ７０２における端末ＩＤの並べ方は、必ずしも端末ＩＤを０からｎ−１まで順に並べる必要はなく、任意の並べ方が可能である。【００６２】
また、本実施の形態では、ステップＳ８０７でｍ個の木構造から最適な１個を選択し、これに基づいて部分集合の和Ｓ１＋Ｓ２＋…＋Ｓｊを決定しているが、複数の木構造にまたがって各部分集合Ｓｉを決定することも可能であり、このようにすると、１個だけを選択する場合に比べ、要素数ｊをさらに削減できる可能性がある。
この場合、各部分集合について、どの木構造のものかを表す付加情報が必要になる。【００６３】
複数の木構造にまたがって各部分集合Ｓｉを決定することにより、例えば、図１２に示すように、木構造１のｋｄ＿１と木構造２のｋｇ＿２とを組み合わせて、利用する秘密情報を２つとすることができる。
図１１の例では、木構造１単独では３つの秘密情報となり、木構造２単独でも３つの秘密情報であったが、木構造１と木構造２とを組み合わせることにより２つの秘密情報にすることができる。
木構造１のｋｄ＿１は、端末０と端末１において共通に利用することができ、木構造２のｋｇ＿２は、端末３と端末７に利用することができる。
なお、このような部分集合を組み合わせる方式の実現方法としては、部分集合を総当りで組み合わせることにより最適な組合せを探索することが考えられる。【００６４】
また、本実施の形態では、各端末の管理を木構造の構造情報に基づいて行っているが、端末の順列を変えることによって通信オーバーヘッドが異なるセキュアマルチキャストアルゴリズムであれば、各端末がどのような構造で管理されていたとしても効果がある。【００６５】
例えば、木構造の代わりに、線構造の構造情報を用いてもよい。
この場合、鍵管理アルゴリズムとして、例えば線上で連続している端末が１個の鍵を共通に保持するようなものが考えられる。また、木構造、線構造以外に円状、格子状、グラフ状などの任意の構造を用いることができる。【００６６】
このように、本実施の形態によれば、端末装置の順序付けを変化させて複数種の構造情報を生成するとともに、複数種の構造情報における秘密情報の割り当て状況に基づき、最も数の少ない秘密情報の組合せを導出することが可能であり、このためセキュアマルチキャスト送信時の通信オーバーヘッドを抑制することができる。【００６７】
以上、本実施の形態では、セキュアマルチキャストシステムにおいて、情報を送信するサーバが、情報を受信する複数の端末を管理するために、端末同士の関係をある構造で表したものを複数保持し、マルチキャストの際にこれらのうち最適な構造を利用することで、マルチキャストの際に生じる通信オーバーヘッドを削減する方式について説明した。
また、本実施の形態では、端末同士の関係を木構造で表した方式について説明した。
また、本実施の形態では、複数の木構造を、各端末のＩＤに基づいて系統的に決定する方式について説明した。【００６８】
実施の形態２．
図９は、本実施の形態に係るサーバ装置２０１の構成例を表すブロック図である。
図９において、アルゴリズム記憶領域２１１から構造情報生成部２１９までについては、図２のものと同様であるので、説明は省略する。
構造決定部２２０は、端末を管理する複数の構造情報の組を多数生成し、これらの中から、通信オーバーヘッドの期待値が最も小さくなる組合せを決定する手段である。
効率算出部２２１は、端末を管理する複数の構造、および失効端末数ｒを入力とし、ｒ個の端末が失効した際のセキュアマルチキャストの通信オーバーヘッドの期待値を算出する手段である。
構造決定部２２０及び効率算出部２２１は、順序情報選択部の例である。【００６９】
本実施の形態では、構造情報生成部２１９は、ｍ（ｍ≧２）種の順序付け及びグループ化を示すｍ個の構造情報を１セットとし、ｔ（ｔ≧２）セット分の構造情報を生成する。
効率算出部２２１は、構造情報のセットごとに、そのセットに含まれるｍ個の構造情報を用いて送信メッセージを暗号化する場合に必要な秘密情報の数の期待値を算出する。
また、構造決定部２２０は、効率算出部２２１により算出された期待値に基づいてｔセットの中から期待値が最も小さいセットを選択する。
そして、集合導出部２１５及び集合決定部２１６は、セキュアマルチキャスト送信の送信先となる端末装置が選択された際に、構造決定部２２０により選択されたセットに含まれるｍ個の構造情報を用いて、実施の形態１と同様の手順にて、送信メッセージの暗号化に用いる秘密情報の組合せを導出する。【００７０】
また、効率算出部２２１は、期待値の算出において、所定数の送信先端末数（セキュアマルチキャストの対象となる端末数）に対して接続端末を組み合わせて、端末装置の組合せパターンを複数導出する。詳細は後述するが、例えば、サーバ装置２０１に端末０から端末７の８台の端末装置が接続され、送信先端末数が５台（失効端末数が３台）の場合に、効率算出部２２１は、送信先端末数である５台（又は失効端末数である３台）に対して端末０から端末７を割り当てて、組合せパターンを複数導出する。
そして、効率算出部２２１は、構造情報のセットごとに、そのセットに含まれるｍ個の構造情報の中から、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少ない構造情報を抽出し、組合せパターンごとに抽出した構造情報における秘密情報の数に基づいて、セットごとの期待値を算出する。【００７１】
端末装置３０１については、図３に示した構成と同様であるので、説明は省略する。
また、本実施の形態に係るセキュアマルチキャストシステムの構成例は、図１に示したものと同様である。【００７２】
図１０は、本実施の形態における、サーバから各端末への秘密情報の配布処理を説明するためのフローチャートである。
配布処理における動作について、図１０のフローチャートを参照しながら説明する。
なお、サーバが保持・管理する構造情報の数ｍ、構造決定の試行回数ｔをあらかじめ定めておく。【００７３】
配布処理を行う前に、あらかじめサーバ装置９０１と各端末装置３０１とで、セキュアマルチキャストのアルゴリズムを共有しておく（ステップＳ１００１）。
ここでは、アルゴリズム記憶領域２１１、アルゴリズム記憶領域３１１に、対応するアルゴリズムが格納されているものとする。【００７４】
まず、攪拌部２１２が、端末数ｎを入力として、０からｎ−１までの端末ＩＤをランダムに並べ替えた順列をｍ個出力する（ステップＳ１００２）。
次に、ステップＳ１００２で得られたｍ個の順列それぞれを入力として、構造情報生成部２１９が、アルゴリズム記憶領域２１１に記憶されているアルゴリズムに従い、端末間に木構造を与えてｍ個の構造情報を生成する（ステップＳ１００３）。
ステップＳ１００３で得られたｍ個の構造情報を入力として、効率算出部２２１が、あらかじめ定めておいた特定の失効端末数ｒに対する通信オーバーヘッドの期待値を算出する（ステップＳ１００４）。
具体的には、特定の失効端末数ｒに対する全ての失効パターンについて、ｍ個のうち最適な構造を用いた場合の通信オーバーヘッドを求め、これらを平均することによって期待値を算出する。【００７５】
つまり、例えば、サーバ装置２０１に端末０から端末７の８台の端末装置が接続され、失効端末数が３台の場合に、効率算出部２２１は、失効端末数ｒである３台に対して端末０から端末７を割り当てて、失効パターン１：（端末０、端末１、端末２が失効）、失効パターン２：（端末０、端末１、端末３が失効）という形で、端末０から端末７の組合せから得られる全ての失効パターンを導出する。
なお、「特定の失効端末数」は複数定めておいても良い。
また、ここでは失効端末数に対して端末０から端末７を組み合わせて失効パターンを生成しているが、送信先端末数に対して端末０から端末７を組み合わせて送信パターンを生成してもよい。
そして、効率算出部２２１は、失効パターンごとに、その失効パターンに含まれる失効端末以外の端末にセキュアマルチキャストを行う場合に、送信メッセージを暗号化するために必要な秘密情報の数が最も少ない構造情報をｍ個の構造情報の中から抽出する。
ｍ＝３の場合に、効率算出部２２１は、例えば、失効パターン１に対しては最も秘密情報の数が少ないのが構造情報３、失効パターン２に対しては最も秘密情報の数が少ないのが構造情報２、失効パターン３に対しては最も秘密情報の数が少ないのが構造情報１という形で、失効パターンごとに構造情報を抽出する。
そして、効率算出部２２１は、抽出した構造情報における秘密情報の数の平均値を求め、求めた平均値を当該ｍ個の構造情報についての期待値とする。【００７６】
そして、Ｓ１００２からＳ１００４の試行がｔ回繰り返された後（ステップＳ１００５）、構造決定部２２０が、通信オーバーヘッドの期待値が最も小さいセット、すなわち通信オーバーヘッドの期待値が最も小さいｍ個の構造情報を決定する（ステップＳ１００６）。
そして、選択されたｍ個の構造情報に対して、鍵割り当て部２１３が各ノードに秘密情報を割り当て、秘密情報記憶領域２１４に、秘密情報が割り当てられたｍ個の構造情報を格納し、各端末の秘密情報記憶領域３１２に、対応する秘密情報を格納する（ステップＳ１００７）。【００７７】
サーバ装置２０１から各端末３０１への暗号通信処理については、図８で説明したものと同様であるので、説明は省略する。【００７８】
図１３は、図１０の処理の概要を示した図である。
図１３では、ｍ＝３、ｔ＝５としている。
各回の試行において、Ｓ１００２及びＳ１００３で、ｍ個の構造情報（ｍ１−１、ｍ１−２、ｍ１−３等）が生成され、Ｓ１００４で、ｍ個の構造情報に対する期待値（期待値ｅ１等）が算出され、ｔ回試行されると（Ｓ１００５）、ｔセットのｍ個の構造情報が生成されるとともに、各セットの期待値（期待値ｅ１からｅ５）が生成される。
なお、各構造情報（ｍ１−１、ｍ１−２、ｍ１−３等）は、例えば、図４に示すような木構造の構造情報である（但し、Ｓ１００４までの段階では、図４のように各ノードに秘密情報は割り当てられていない）。
そして、構造決定部２２０が、期待値の最も少ないセット（ｍ個の構造情報）を選択し（Ｓ１００６）、鍵割り当て部２１３が選択されたセットのｍ個の構造情報に対して秘密情報を割当てる（Ｓ１００７）。【００７９】
以上のように、ランダムに決定した構造から最適なｍ個の構造を決定することで、任意のセキュアマルチキャストアルゴリズム・任意の鍵管理構造について、通信オーバーヘッドが小さくなるような構造を自動的に（人手を介することなく）決定することが可能となる。【００８０】
なお、本実施の形態では、一度にｍ個の構造を生成し、ｍ個全部を用いた場合の通信オーバーヘッド期待値が最小になるように構造を決定しているが、１個ずつ構造を生成し、１個の構造追加ごとに期待値が最小になるものを選ぶようにしても良い。【００８１】
例えば、図１４に示すように、ｍ段階の各段階において、ｔ個の構造情報の中から期待値が最も小さい構造情報を選択して、各段階で選択された構造情報を組み合わせてｍ個の構造情報とする。
より具体的には、ｍ＝３、ｔ＝５の場合に、構造情報生成部２１９は、ｍ個の構造情報の１つ目（ｍ１）の候補として、５個の構造情報（ｔ１−１、ｔ１−２、ｔ１−３、ｔ１−４、ｔ１−５）を生成し、効率算出部２２１が、失効パターンの各々を５個の構造情報の各々に対して適用して構造情報ごとに通信オーバーヘッドの期待値（ｅ１からｅ５）を算出する。
構造情報の生成手順、期待値の算出手順は図１０のフローにおいて説明したものと同様である。
そして、構造決定部２２０が、期待値が最も小さい構造情報を選択する。
図１４では、ｔ１−３が選択されている。
次に、構造情報生成部２１９は、ｍ個の構造情報の２つ目（ｍ２）の候補として、５個の構造情報（ｔ２−１、ｔ２−２、ｔ２−３、ｔ２−４、ｔ２−５）を生成し、効率算出部２２１が、失効パターンの各々を、これまでに選択された構造情報（ｔ１−３）と、ｍ２の候補として生成された５個の構造情報の各々を組み合わせたものに対して適用して、組み合わせごとに通信オーバーヘッドの期待値（ｆ１からｆ５）を算出する。そして、構造決定部２２０が、ｍ２の候補から、期待値が最も小さくなる構造情報を選択する。図１４では、ｔ２ー２が選択されている。
以上の処理をｍ段階分行い、各段階で通信オーバヘッドの期待値（ｆ１からｆ５、ｇ１からｇ５）が最も小さい構造情報を選択し、ｍ個の構造情報が得られる。
図１４の例では、ｔ１−３、ｔ２−２、ｔ３−１が選択されている。
そして、上述したのと同様に、集合導出部２１５及び集合決定部２１６は、セキュアマルチキャスト送信の送信先となる端末装置が選択された際に、構造決定部２２０により選択されたｍ個の構造情報を用いて、実施の形態１と同様の手順にて、送信メッセージの暗号化に用いる秘密情報の組合せを導出する。【００８２】
また、本実施の形態では、効率算出部２２１が失効端末数ｒに対する全ての失効パターンに基づいて通信オーバーヘッドの期待値を算出しているが、ｒ個の端末をランダムに選択して通信オーバーヘッドを求めるシミュレーションを繰り返し行うことで、期待値の概算値を算出しても良い。
端末数ｎおよび失効端末数ｒが大きい場合、このようにすることで計算量を小さく抑えることが可能である。
つまり、端末数ｎと失効端末数ｒが大きいと、失効パターン数が非常に大きくなるため、全ての失効パターンについて通信オーバーヘッドを求めると、演算処理に長時間を要することになる。このため、標本調査を行い、一部について通信オーバーヘッドを求めることで、全体の期待値を見積り、処理時間を短縮することができる。【００８３】
また、本実施の形態では、各端末に格納する鍵の決定と、各端末へのメッセージ送信を同一のサーバ装置が行っているが、これらを別々の装置で行っても良い。【００８４】
また、本実施の形態では、ステップＳ１００４、および暗号通信処理のステップＳ８０７でｍ個の木構造から最適な１個を選択し、これに基づいて部分集合の和Ｓ１＋Ｓ２＋…＋Ｓｊを決定しているが、複数の木構造にまたがって各部分集合Ｓｉを決定することも可能であり、このようにすると、１個だけを選択する場合に比べ、要素数ｊをさらに削減できる可能性がある。この場合、各部分集合について、どの木構造のものかを表す付加情報が必要になる。詳細については、実施の形態１において、図１２を参照して説明した手順と同様である。【００８５】
また、本実施の形態では、図１０のＳ１００４において、セットごとにｍ個の構造情報の通信オーバーヘッドの期待値を算出しているが、ｍ個の構造情報のセットをｔセット生成した後に、ｍ×ｔ個の構造情報の中から通信オーバーヘッドの期待値が最も小さくなるｍ個の組合せを抽出するようにしてもよい。
例えば、図１３に示すようなｍ＝３、ｔ＝５の場合に、図１０では、セットごと（３つの構造情報ごと）に通信オーバーヘッドの期待値を算出しているが、ｍ１−１からｍ５−３の１５個の構造情報の中から通信オーバーヘッドの期待値がもっとも小さくなる３個の構造情報を選択してもよい。
このようなｍ×ｔ個の構造情報の中から通信オーバーヘッドの期待値が最も小さくなるｍ個の組合せを抽出する具体的方法としては、ｍ×ｔ個の構造情報を総当りで組み合わせて最適な組合せを探索することが考えられる。【００８６】
また、本実施の形態においても、端末の順列を変えることによって通信オーバーヘッドが異なるセキュアマルチキャストアルゴリズムであれば、木構造以外の構造を用いることができる。【００８７】
以上、本実施の形態では、複数の木構造を、乱数によって決定することを繰り返し、そのうち最適な組み合わせに関して、それら複数の木構造を保持する方式について説明した。【００８８】
最後に、実施の形態１、２に示したサーバ装置２０１及び端末装置３０１のハードウェア構成例について説明する。
図１５は、実施の形態１、２に示すサーバ装置２０１及び端末装置３０１のハードウェア資源の一例を示す図である。
なお、図１５の構成は、あくまでもサーバ装置２０１及び端末装置３０１のハードウェア構成の一例を示すものであり、サーバ装置２０１及び端末装置３０１のハードウェア構成は図１５に記載の構成に限らず、他の構成であってもよい。【００８９】
図１５において、サーバ装置２０１及び端末装置３０１は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。
ＣＰＵ９１１は、バス９１２を介して、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）９１３、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）９１４、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。
更に、ＣＰＵ９１１は、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７と接続していてもよい。また、磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード（登録商標）読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
通信ボード９１５、キーボード９０２、マウス９０３、スキャナ装置９０７、ＦＤＤ９０４などは、入力装置の一例である。
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。【００９０】
通信ボード９１５は、図１に示すように、ネットワークに接続されている。例えば、通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）、インターネット、ＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。【００９１】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。
プログラム群９２３のプログラムは、ＣＰＵ９１１がオペレーティングシステム９２１、ウィンドウシステム９２２を利用しながら実行する。【００９２】
また、ＲＡＭ９１４には、ＣＰＵ９１１に実行させるオペレーティングシステム９２１のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
また、ＲＡＭ９１４には、ＣＰＵ９１１による処理に必要な各種データが格納される。【００９３】
また、ＲＯＭ９１３には、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）プログラムが格納され、磁気ディスク装置９２０にはブートプログラムが格納されている。
サーバ装置２０１及び端末装置３０１の起動時には、ＲＯＭ９１３のＢＩＯＳプログラム及び磁気ディスク装置９２０のブートプログラムが実行され、ＢＩＯＳプログラム及びブートプログラムによりオペレーティングシステム９２１が起動される。【００９４】
上記プログラム群９２３には、実施の形態１、２の説明において「・・・部」として説明している機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。【００９５】
ファイル群９２４には、実施の形態１、２の説明において、「・・・の判断」、「・・・の計算」、「・・・の算出」、「・・・の比較」、「・・・の生成」、「・・・の順序付け」、「・・・の抽出」、「・・・の更新」、「・・・の設定」、「・・・の登録」、「・・・の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「・・・ファイル」や「・・・データベース」の各項目として記憶されている。
「・・・ファイル」や「・・・データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのＣＰＵの動作に用いられる。
抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
また、実施の形態１、２で説明しているフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００９６】
また、実施の形態１、２の説明において「・・・部」として説明しているものは、「・・・回路」、「・・・装置」、「・・・機器」であってもよく、また、「・・・ステップ」、「・・・手順」、「・・・処理」であってもよい。すなわち、「・・・部」として説明しているものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、実施の形態１、２の「・・・部」としてコンピュータを機能させるものである。あるいは、実施の形態１、２の「・・・部」の手順や方法をコンピュータに実行させるものである。【００９７】
このように、実施の形態１、２に示すサーバ装置２０１及び端末装置３０１は、処理装置たるＣＰＵ、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「・・・部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
【図面の簡単な説明】
【００９８】
【図１】実施の形態１に係るセキュアマルチキャストシステムの構成例を示す図。
【図２】実施の形態１に係るサーバ装置の構成例を示す図。
【図３】実施の形態１に係る端末装置の構成例を示す図。
【図４】実施の形態１に係る木構造の構造情報の例を示す図。
【図５】実施の形態１に係る端末装置が記憶するデータの例を示す図。
【図６】実施の形態１に係る秘密情報の配布処理の例を示すフローチャート図。
【図７】実施の形態１に係る端末ＩＤ並べ替え処理の例を示すフローチャート図。
【図８】実施の形態１に係る暗号通信処理の例を示すフローチャート図。
【図９】実施の形態２に係るサーバ装置の構成例を示す図。
【図１０】実施の形態２に係る秘密情報の配布処理の例を示すフローチャート図。
【図１１】実施の形態１に係る秘密情報の選択手順の例を示す図。
【図１２】実施の形態１に係る秘密情報の選択手順の例を示す図。
【図１３】実施の形態２に係る構造情報の選択手順の例を示す図。
【図１４】実施の形態２に係る構造情報の選択手順の例を示す図。
【図１５】実施の形態１、２に係るサーバ装置及び端末装置のハードウェア構成例を示す図。
【符号の説明】
【００９９】
１０１  ネットワーク、２０１  サーバ装置、２１１  アルゴリズム記憶領域、２１２  攪拌部、２１３  鍵割り当て部、２１４  秘密情報記憶領域、２１５  集合導出部、２１６  集合決定部、２１７  通信部、２１８  暗号部、２１９  構造情報生成部、２２０  構造決定部、２２１  効率算出部、３０１  端末装置、３１１  アルゴリズム記憶領域、３１２  秘密情報記憶領域、３１３  鍵導出部、３１４  通信部、３１５  暗号部。
【図１】
2009130795.tif 000003
【図２】
2009130795.tif 000004
【図３】
2009130795.tif 000005
【図４】
2009130795.tif 000006
【図５】
2009130795.tif 000007
【図６】
2009130795.tif 000008
【図７】
2009130795.tif 000009
【図８】
2009130795.tif 000010
【図９】
2009130795.tif 000011
【図１０】
2009130795.tif 000012
【図１１】
2009130795.tif 000013
【図１２】
2009130795.tif 000014
【図１３】
2009130795.tif 000015
【図１４】
2009130795.tif 000016
【図１５】
2009130795.tif 000017
【手続補正書】
【提出日】平成20年9月25日(2008.9.25)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信する情報処理装置であって、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成部と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て部と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出部とを有することを特徴とする情報処理装置。
【請求項２】
前記組合せ導出部は、
全ての送信先通信装置が暗号化メッセージを復号できる秘密情報の組合せであって、最も数の少ない秘密情報の組合せを導出することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出し、抽出した秘密情報の数を計数し、
前記複数の順序情報の中から秘密情報の数が最も少ない順序情報を判別し、判別した順序情報について抽出された秘密情報を送信メッセージの暗号化に用いる秘密情報とすることを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較し、最下位階層のグループにおいて１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、最下位階層のグループの同一グループ通信装置の各々に割り当てられている装置別秘密情報を抽出して、順序情報ごとに、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報を抽出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記組合せ導出部は、
各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、
前記複数の順序情報について抽出されたグループ別秘密情報を組み合わせて、全ての送信先通信装置が暗号化メッセージを復号できるように暗号化するために必要な秘密情報の組合せであって、秘密情報の数が最も少なくなる組合せを導出することを特徴とする請求項１から４のいずれかに記載の情報処理装置。
【請求項６】
前記順序情報生成部は、
近接して順序付けられている２つ以上の通信装置同士を複数階層にてグループ化し、複数階層にて通信装置のグループが示される順序情報を生成し、
前記組合せ導出部は、
順序情報ごとに、上位の階層のグループから順に同一グループ通信装置と前記送信先通信装置とを比較して、全ての同一グループ通信装置が前記送信先通信装置として選択されている場合に、そのグループに割り当てられているグループ別秘密情報を抽出し、１つ以上の同一グループ通信装置が前記送信先通信装置として選択されていない場合に、下位の階層のグループの同一グループ通信装置と前記送信先通信装置とを比較することを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）である場合に、ｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項８】
前記順序情報生成部は、
前記情報処理装置に接続している通信装置の数が２ｍ個（ｍ≧２）に満たない場合に、不足数分の仮想通信装置を補充してｍ種の順序付け及びグループ化を示すｍ個の順序情報を生成することを特徴とする請求項１から６のいずれかに記載の情報処理装置。
【請求項９】
前記順序情報生成部は、
ｍ（ｍ≧２）種の順序付け及びグループ化を示すｍ個の順序情報を１セットとし、ｔ（ｔ≧２）セット分の順序情報を生成し、
前記情報処理装置は、更に、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報を用いて送信メッセージを暗号化する場合に必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔセットの中から特定のセットを選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部により選択されたセットに含まれるｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする請求項１から８のいずれかに記載の情報処理装置。
【請求項１０】
前記順序情報選択部は、
ｔセットの中から、期待値が最も小さいセットを選択することを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報の中から、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少ない順序情報を抽出し、組合せパターンごとに抽出した順序情報における秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする請求項９又は１０に記載の情報処理装置。
【請求項１２】
前記順序情報選択部は、
所定数の送信先通信装置数に対して前記複数の通信装置を組み合わせて、通信装置の組合せパターンを複数導出し、
順序情報のセットごとに、そのセットに含まれるｍ個の順序情報に示される各グループの同一グループ通信装置と組合せパターンに含まれる通信装置とを比較して、組合せパターンごとに送信メッセージを暗号化するために必要な秘密情報の数が最も少なくなるグループの組合せを抽出し、組合せパターンごとに抽出したグループの組合せにおける秘密情報の数に基づいて、セットごとの期待値を算出することを特徴とする請求項９から１１のいずれかに記載の情報処理装置。
【請求項１３】
前記順序情報生成部は、
ｍ（ｍ≧２）段階の各段階において、ｔ（ｔ≧２）種の順序付け及びグループ化を示すｔ個の順序情報を生成し、
前記情報処理装置は、更に、
ｍ段階の各段階において、順序情報ごとに、送信メッセージを暗号化するために必要な秘密情報の数の期待値を算出し、算出した期待値に基づいてｔ個の順序情報の中から特定の順序情報を選択する順序情報選択部を有し、
前記組合せ導出部は、
送信先通信装置が選択された際に、前記順序情報選択部によりｍ段階の各段階において選択されたｍ個の順序情報を用いて、送信メッセージの暗号化に用いる秘密情報の組合せを導出することを特徴とする請求項１から８のいずれかに記載の情報処理装置。
【請求項１４】
前記順序情報選択部は、
ｍ段階の各段階において、ｔ個の順序情報の中から、期待値が最も小さい順序情報を選択することを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記順序情報生成部は、
前記順序情報選択部によりｔ個の順序情報の中から特定の順序情報が選択された後に、選択された順序情報と異なる順序付け及びグループ化を示すｔ個の順序情報を次の段階のｔ個の順序情報として生成することを特徴とする請求項１３又は１４に記載の情報処理装置。
【請求項１６】
複数の通信装置に接続され、前記複数の通信装置の中から選択された２つ以上の通信装置に、秘密情報を用いて送信メッセージを暗号化した暗号化メッセージをマルチキャスト送信するコンピュータに、
前記複数の通信装置に対して複数種の順序付けを行い、各々の順序付けにおいて近接して順序付けられている２つ以上の通信装置同士をグループ化し、各々の順序付け及びグループ化の内容を示す複数の順序情報を生成する順序情報生成処理と、
順序情報ごとに、各々の通信装置において暗号化メッセージの復号に利用される装置別秘密情報を通信装置単位で割り当てるとともに同じグループに分類される２つ以上の同一グループ通信装置において共通に暗号化メッセージの復号に利用できるグループ別秘密情報をグループ単位で割り当てる秘密情報割り当て処理と、
前記複数の通信装置の中からマルチキャスト送信の送信先となる２つ以上の通信装置が送信先通信装置として選択された際に、各順序情報に示されるグループごとに、同一グループ通信装置と前記送信先通信装置とを比較して、送信メッセージの暗号化に用いる秘密情報の組合せを導出する組合せ導出処理とを実行させることを特徴とするプログラム。
【請求項１７】
前記情報処理装置は、
ＩＤが各々に与えられている複数の通信装置に接続されており、
前記順序情報生成部は、
各通信装置のＩＤの２進表示値を所定ビット分巡回シフトし、各通信装置のＩＤの巡回シフト後の２進表示値に基づいて、前記複数の通信装置の順序付けを行うことを特徴とする請求項１に記載の情報処理装置。
【請求項１８】
前記順序情報生成部は、
各通信装置のＩＤの巡回シフト後の２進表示値を更に所定ビット分巡回シフトし、各通信装置のＩＤの更なる巡回シフト後の２進表示値に基づいて、前記複数の通信装置の順序付けを行うことを特徴とする請求項１７に記載の情報処理装置。
【国際調査報告】
2009130795.tif 000018
2009130795.tif 000019