(57)【要約】【課題】各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能な、鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムを提供する。【解決手段】本発明に係る鍵生成装置は、ｎ個の受信装置がリーフに割り当てられたＹ分木構造を階層的に構成するとともに、Ｙ分木構造を用いてｎ個の受信装置をグループ化する第１の方式と、受信装置をＢ個（Ｂ＞Ｙ）ずつにグループ化する方式とを切り替えて用いる第２の方式という、２つの共通鍵方式を用いて、暗号鍵を生成する。共通鍵方式を用いた上記第１の方式および第２の方式は、暗号鍵生成において共通のパラメータを使用するため、各受信装置が保持する個人秘密鍵のサイズを削減することができ、また、センタや契約者が自由にコンテンツ配信を実施することが可能である。【選択図】図１
2008113203.tif 000002
【特許請求の範囲】
【請求項１】
相異なる暗号鍵をそれぞれ生成する第１処理部および第２処理部を備える、鍵生成装置であって、
前記第１処理部は、
ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成部と、
前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当部と、
前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当部と、
前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて、鍵を算出する第１鍵算出部と、
を備え、
前記第２処理部は、前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化し、前記受信装置の暗号鍵を算出することを特徴とする、鍵生成装置。
【請求項２】
前記鍵生成装置は、前記第１処理部または前記第２処理部により算出された鍵セットを、各受信装置にそれぞれ配布する配布部を、更に備えることを特徴とする、請求項１に記載の鍵生成装置。
【請求項３】
前記鍵生成装置は、素数ｐを無作為に選択し、前記素数ｐを位数とする双線形群Ｇを決定し、前記Ｇの生成元であるｇを無作為に選択する双線形群決定部を更に備え、
前記パラメータ割当部は、前記リーフを除く全てのノードそれぞれに、ノードパラメータγx,y（γx,yは整数）を無作為に選択し、前記生成元ｇおよび前記ノードパラメータγx,yに基づき、以下の式Ａを用いて前記中間ノードおよび前記ルートに前記パラメータνｘ，ｙを割り当てることを特徴とする、請求項１に記載の鍵生成装置。
【数１】
2008113203.tif 000042
【請求項４】
前記第１処理部は、
秘密の乱数α（αは整数）を無作為に選択する第１乱数決定部を更に備え、
前記第１リーフキー割当部は、
以下の式Ｂに基づき、前記リーフキーｇｙを算出し、
前記第１鍵算出部は、
前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙの、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータγｘ，ｙ乗で得られる値を、秘密鍵とすることを特徴とする、請求項３に記載の鍵生成装置。
【数２】
2008113203.tif 000043
（ｙ＝１，２，・・・，Ｙ，Ｙ＋２，・・・，２Ｙ）
【請求項５】
前記第２処理部は、
秘密の乱数α’（α’は整数）を無作為に選択する第２乱数決定部と、
前記リーフに対して、リーフキーｇｂ’（ｂ＝１，２，・・・，Ｂ）を割り当てる第２リーフキー割当部と、
前記リーフキーｇｂ’に基づき、各受信装置の暗号鍵を算出する第２鍵算出部と、
を備え、
前記第２リーフキー割当部は、前記第２乱数決定部で決定された前記乱数α’に基づいて、以下の式Ｃを満たすリーフキーｇｂ’を算出することを特徴とする、請求項４に記載の鍵生成装置。
【数３】
2008113203.tif 000044
（ｂ＝１，２，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）
【請求項６】
前記配布部は、前記第１処理部において得られた第１の秘密鍵および前記第２処理部において得られた第２の秘密鍵の双方を各受信装置に送信する送信部を、備えることを特徴とする、請求項１に記載の鍵生成装置。
【請求項７】
ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定部を備えることを特徴とする、暗号化装置。
【請求項８】
前記暗号化装置は、
前記排除される受信装置の個数ｒが、以下の式Ｄを満たすか否かを判定し、
前記排除される受信装置の個数ｒが前記式Ｄを満たす場合には、前記第２処理部によって生成された鍵を利用してセッション鍵を生成する、第２セッション鍵決定部を選択し、
前記排除される受信装置の個数ｒが前記式Ｄを満たさない場合には、前記第１処理部によって生成された鍵を利用してセッション鍵を生成する、第１セッション鍵決定部を選択する、セッション鍵選択部を更に備えることを特徴とする、請求項７に記載の暗号化装置。
【数４】
2008113203.tif 000045
【請求項９】
前記第１セッション鍵決定部は、ｔ（ｔは整数）を無作為に選択して、セッション鍵ｓ＝ｅ（ｇＹ，ｇ１）ｔを決定することを特徴とする、請求項８に記載の暗号化装置。
ここで、前記ｅ（ｇＹ，ｇ１）は、双線形群上の２つの元ｇＹ、ｇ１に対する双線形写像を示す。
【請求項１０】
前記第１セッション鍵決定部は、
階層化された木構造において、前記排除された受信装置のリーフから前記ルートに至るパス上に存在する全てのノードそれぞれにマークをし、前記マークされたノードに割り当てられたパラメータνｘ，ｙと、前記マークされたノードを親ノードとする中間ノードに割り当てられた前記リーフキーｇｙとを用いて、以下の式Ｅで表される第１ヘッダ要素を算出する、第１ヘッダ要素算出部と、
前記第１ヘッダ要素算出部において得られた前記第１ヘッダ要素ｃｘ，ｙと、ｇｔと、をヘッダ情報とする第１ヘッダ情報生成部と、
を更に備えることを特徴とする、請求項９に記載の暗号化装置。
【数５】
2008113203.tif 000046
ここで、Ｓｘ，ｙは、前記マークされたノードを親ノードとする各サブグループに所属する、マークされていない子ノードの集合を示す。
【請求項１１】
前記第２セッション鍵決定部は、ｔ（ｔは整数）を無作為に選択して、セッション鍵ｓ＝ｅ（ｇＢ，ｇ１）ｔを決定することを特徴とする、請求項１０に記載の暗号化装置。
ここで、前記ｅ（ｇＢ，ｇ１）は、双線形群上の２つの元ｇＢ、ｇ１に対する双線形写像を示す。
【請求項１２】
前記第２セッション鍵決定部は、
前記リーフの親ノードを子ノードとする中間ノードに割り当てられたパラメータνｘ，ｙと、前記リーフに割り当てられた前記リーフキーｇｂ’と、を用いて、以下の式Ｆで表される第２ヘッダ要素を算出する、第２ヘッダ要素算出部と、
前記第２ヘッダ要素算出部において得られた前記第２ヘッダ要素ｃｂと、前記ｇｔと、をヘッダ情報とする第２ヘッダ情報生成部と、
を更に備えることを特徴とする、請求項１１に記載の暗号化装置。
【数６】
2008113203.tif 000047
【請求項１３】
前記暗号化装置は、前記第１セッション鍵決定部によるセッション鍵ｓ、または、前記第２セッション鍵決定部によるセッション鍵ｓのいずれかを用いて、配信するコンテンツを暗号化する暗号化部を更に備えることを特徴とする、請求項９に記載の暗号化装置。
【請求項１４】
鍵生成装置および暗号化装置と通信可能な受信装置であって、
前記鍵生成装置において、ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信部を備えることを特徴とする、受信装置。
【請求項１５】
前記受信部は、排除する受信装置が特定された情報である、排除されていない受信装置の集合Ｓに関する情報を更に受信することを特徴とする、請求項１４に記載の受信装置。
【請求項１６】
前記受信装置は、
排除されていない受信装置の集合Ｓから排除される受信装置の個数ｒを算出し、前記排除される受信装置の個数ｒが、以下の式Ｇを満たすか否かを判定する、復号方式選択部を更に備え、
前記復号方式選択部は、
前記排除される受信装置の個数ｒが前記式Ｇを満たす場合には、第２復号処理部を選択し、
前記排除される受信装置の個数ｒが前記式Ｇを満たさない場合には、第１復号処理部を選択することを特徴とする、請求項１５に記載の受信装置。
【数７】
2008113203.tif 000048
【請求項１７】
前記第１復号処理部は、
受信装置が前記集合Ｓに含まれているか否かを判定する判定部と、
秘密鍵に基づきセッション鍵ｓを算出する、第１セッション鍵算出部と、
を備え、
前記判定部において、受信装置が前記集合Ｓに含まれていると判断された場合、前記第１セッション鍵算出部は、前記セッション鍵ｓを、以下の式Ｈに基づいて算出することで、前記暗号化コンテンツを復号化することを特徴とする、請求項１６に記載の受信装置。
【数８】
2008113203.tif 000049
【請求項１８】
前記第２復号処理部は、
受信装置が前記集合Ｓに含まれているか否かを判定する判定部と、
秘密鍵に基づきセッション鍵ｓを算出する、第２セッション鍵算出部と、
を備え、
前記判定部において、受信装置が前記集合Ｓに含まれていると判断された場合、前記第２セッション鍵算出部は、前記セッション鍵ｓを、以下の式Ｉに基づいて算出することで、前記暗号化コンテンツを復号化することを特徴とする、請求項１７に記載の受信装置。
【数９】
2008113203.tif 000050
【請求項１９】
ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成ステップと、
前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当ステップと、
前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当ステップと、
前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第１鍵算出ステップと、
前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化し、前記受信装置の暗号鍵を算出する第２鍵算出ステップと、
を備えることを特徴とする、鍵作成方法。
【請求項２０】
ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定ステップを備えることを特徴とする、暗号化方法。
【請求項２１】
ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信ステップを備えることを特徴とする、鍵処理方法。
【請求項２２】
コンピュータに、
ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成する、木構造構成機能と、
前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当機能と、
前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当機能と、
前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第１鍵算出機能と、
前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化し、前記受信装置の暗号鍵を算出する第２鍵算出機能と、
を実現させるためのプログラム。
【請求項２３】
コンピュータに、ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定機能を実現させるためのプログラム。
【請求項２４】
コンピュータに、ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、前記リーフとルートとの間に存在する中間ノードの下位に存在する複数の前記リーフからなるサブグループを構成し、前記リーフおよび前記中間ノードそれぞれに対して、リーフキーｇｙを割り当て、前記中間ノードおよび前記ルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、前記ルートから前記リーフに至るパスを特定し、当該パス上に存在する前記中間ノードまたは前記リーフに割り当てられた前記リーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられた前記パラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて算出された暗号鍵と、前記ｎ個の受信装置を、前記Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信機能を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムに関する。
【背景技術】
【０００２】
近年、パーソナルコンピュータ（ＰＣ）のみならず、携帯電話やディジタル家電等の普及、発達に伴い、音楽や映像等のコンテンツ配信ビジネスが益々重要になってきている。コンテンツ配信ビジネスとしては、例えば、ケーブルテレビや衛星放送、またはインターネットを利用した有料放送や、ＣＤ、ＤＶＤ等の物理メディアを利用したコンテンツの販売等があるが、いずれの場合においても、契約者のみがコンテンツを取得可能となる仕組みを構成する必要がある。
【０００３】
通常、このようなコンテンツ配信システムでは、システムの管理者（以下、センタと表記する。）が予め契約者のみに鍵を提供しておき、コンテンツの配信時には、コンテンツＭをセッション鍵ｓで暗号化した暗号文Ｃと、契約者のみがセッション鍵ｓを取得可能とするためのヘッダｈを配信することにより、契約者のみがコンテンツＭを取得可能となる。
【０００４】
上記のような状況を実現するコンテンツ配信方式として、例えば公開鍵を利用した方式がある（例えば、非特許文献１参照。）。
【０００５】
しかし、上記の非特許文献１に記載の方法では、排除される契約者数が少ない場合であっても常に一定サイズのヘッダｈを配信する必要があるため、排除される契約者数がいない、もしくは全体に対して占める割合が少ない、というような現実的に最も起こりうるような状況において、ヘッダサイズを削減することができず、コンテンツ配信時におけるデータの冗長性が高くなるという問題点が存在する。
【０００６】
そこで、上記非特許文献１では、コンテンツ配信システムとして、あらかじめＳｕｂｓｅｔ  Ｄｉｆｆｅｒｅｎｃｅ  Ｍｅｔｈｏｄ（例えば、非特許文献２参照。以降、ＳＤＭという。）と呼ばれる共通鍵を利用したコンテンツ配信システム用の鍵と、非特許文献１の方式における鍵を準備しておき、排除される契約者が存在しない、もしくは少ない場合には、コンテンツ配信システムとしてＳＤＭを利用し、契約者が増加してきた場合には、非特許文献１の方式を利用することによって、ヘッダサイズの削減を図ることを試みている。
【０００７】
【非特許文献１】Ｄ．Ｂｏｎｅｈ，Ｃ．Ｇｅｎｔｒｙ，Ｂ．Ｗａｔｅｒｓ，“Ｃｏｌｌｕｓｉｏｎ  Ｒｅｓｉｓｔａｎｔ  Ｂｒｏａｄｃａｓｔ  Ｅｎｃｒｙｐｔｉｏｎ  Ｗｉｔｈ  Ｓｈｏｒｔ  Ｃｉｐｈｅｒｔｅｘｔｓ  ａｎｄ  Ｐｒｉｖａｔｅ  Ｋｅｙｓ”，ＣＲＹＰＴＯ’０５，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２５ｔｈ  Ａｎｎｕａｌ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｒｙｐｔｏｌｏｇｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ，Ｌｏｎｄｏｎ，ＵＫ，Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ，２００５，ｐｐ．５８〜７５．
【非特許文献２】Ｄ．Ｎａｏｒ，Ｍ．Ｎａｏｒ，Ｊ．Ｌｏｔｓｐｉｅｃｈ，“Ｒｅｖｏｃａｔｉｏｎ  ａｎｄ  Ｔｒａｃｉｎｇ  Ｓｃｈｅｍｅｓ  ｆｏｒ  Ｓｔａｔｅｌｅｓｓ  Ｒｅｃｅｉｖｅｒｓ”，ＣＲＹＰＴＯ’０１，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ２１ｓｔ  Ａｎｎｕａｌ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｒｙｐｔｏｌｏｇｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ，  Ｌｏｎｄｏｎ，ＵＫ，Ｓｐｒｉｎｇｅｒ  Ｖｅｒｌａｇ，２００１，ｐｐ．４１−６２．
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記の非特許文献１に記載の方法では、各契約者はＳＤＭ用の鍵と非特許文献１の方式用の鍵を保持する必要があり、各契約者が保持する個人秘密鍵のサイズが非常に大きなものとなるという問題点が存在した。また、非特許文献１は公開鍵を利用した方式であり、任意のｅｎｔｉｔｙが配信者としてコンテンツを配信することが可能であったにも関わらず、共通鍵を利用した方法であるＳＤＭ利用時には、センタしかコンテンツを配信できないという問題点が存在した。
【０００９】
そこで、本発明は、このような問題に鑑みてなされたもので、その目的は、各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能な、新規かつ改良された鍵生成装置、暗号化装置、受信装置、鍵生成方法、暗号化方法、鍵処理方法、およびプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１の観点によれば、相異なる暗号鍵をそれぞれ生成する第１処理部および第２処理部を備える、鍵生成装置であって、第１処理部は、ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成部と、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当部と、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当部と、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよびノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第１鍵算出部と、を備え、第２処理部は、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化し、受信装置の暗号鍵を算出する鍵生成装置が提供される。
【００１１】
上記の鍵生成装置は、第１処理部または第２処理部により算出された鍵セットを、各受信装置にそれぞれ配布する配布部を、更に備えるように構成してもよい。
【００１２】
上記の鍵生成装置は、素数ｐを無作為に選択し、素数ｐを位数とする双線形群Ｇを決定し、Ｇの生成元であるｇを無作為に選択する双線形群決定部を更に備え、上記のパラメータ割当部は、リーフを除く全てのノードそれぞれに、ノードパラメータγx,y（γx,yは整数）を無作為に選択し、生成元ｇおよびノードパラメータγx,yに基づき、以下の式Ａを用いて中間ノードおよびルートに対してパラメータνｘ，ｙを割り当てるように構成してもよい。
【００１３】
【数１】
2008113203.tif 000003
【００１４】
上記の第１処理部は、秘密の乱数α（αは整数）を無作為に選択する第１乱数決定部を更に備え、上記の第１リーフキー割当部は、以下の式Ｂで表されるリーフキーｇｙ（ｙ＝１，２，・・・，Ｙ，Ｙ＋２，・・・，２Ｙ）を算出し、上記の第１鍵算出部は、中間ノードまたはリーフに割り当てられたリーフキーｇｙの、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータγｘ，ｙ乗で得られる値を、秘密鍵としてもよい。すなわち、中間ノードまたはリーフに割り当てられたリーフキーｇｙをＫと略記し、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータγｘ，ｙをＴと略記する場合に、ＫＴで得られる値を、秘密鍵としてもよい。
【００１５】
【数２】
2008113203.tif 000004
【００１６】
上記の第２処理部は、秘密の乱数α’（α’は整数）を無作為に選択する第２乱数決定部と、リーフに対して、リーフキーｇｂ’（ｂ＝１，２，・・・，Ｂ）を割り当てる第２リーフキー割当部と、リーフキーｇｂ’に基づき、各受信装置の暗号鍵を算出する第２鍵算出部と、を備え、上記の第２リーフキー割当部は、第２乱数決定部で決定された乱数α’に基づいて、以下の式Ｃで表されるｇｂ’（ｂ＝１，２，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）を算出するように構成してもよい。
【００１７】
【数３】
2008113203.tif 000005
【００１８】
上記の配布部は、第１処理部において得られた第１の秘密鍵および第２処理部において得られた第２の秘密鍵の双方を各受信装置に送信する送信部を、更に備えてもよい。
【００１９】
上記課題を解決するために、本発明の第２の観点によれば、ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定部を備える暗号化装置が提供される。
【００２０】
上記の暗号化装置は、排除される受信装置の個数ｒが、以下の式Ｄを満たすか否かを判定し、排除される受信装置の個数ｒが上記式Ｄを満たす場合には、第２処理部によって生成された鍵を利用してセッション鍵を生成する、第２セッション鍵決定部を選択し、排除される受信装置の個数ｒが上記式Ｄを満たさない場合には、第１処理部によって生成された鍵を利用してセッション鍵を生成する、第１セッション鍵決定部を選択する、セッション鍵選択部を更に備えるように構成してもよい。
【００２１】
【数４】
2008113203.tif 000006
【００２２】
上記の第１セッション鍵決定部は、ｔ（ｔは整数）を無作為に選択して、セッション鍵ｓ＝ｅ（ｇＹ，ｇ１）ｔを決定してもよい。
【００２３】
ここで、上記のｅ（ｇＹ，ｇ１）は、双線形群上の２つの元ｇＹ、ｇ１に対する双線形写像を示す。
【００２４】
上記の第１セッション鍵決定部は、階層化された木構造において、排除された受信装置のリーフからルートに至るパス上に存在する全てのノードそれぞれにマークをし、マークされたノードに割り当てられたパラメータνｘ，ｙと、マークされたノードを親ノードとする中間ノードに割り当てられたリーフキーｇｙとを用いて、以下の式Ｅで表される第１ヘッダ要素ｃｘ，ｙを算出する、第１ヘッダ要素算出部と、第１ヘッダ要素算出部において得られたｃｘ，ｙと、ｇｔと、をヘッダ情報とする第１ヘッダ情報生成部と、を更に備えてもよい。
【００２５】
【数５】
2008113203.tif 000007
【００２６】
ここで、上記式中のＳｘ，ｙは、マークされたノードを親ノードとする各サブグループに所属する、マークされていない子ノードの集合を示す。
【００２７】
上記の第２セッション鍵決定部は、ｔ（ｔは整数）を無作為に選択して、セッション鍵ｓ＝ｅ（ｇＢ，ｇ１）ｔを決定してもよい。
【００２８】
第２セッション鍵決定部は、リーフの親ノードを子ノードとする中間ノードに割り当てられたパラメータνｘ，ｙと、リーフに割り当てられたリーフキーｇｂ’と、を用いて、以下の式Ｆで表される第２ヘッダ要素を算出する、第２ヘッダ要素算出部と、第２ヘッダ要素算出部において得られた第２ヘッダ要素ｃｂと、ｇｔと、をヘッダ情報とする第２ヘッダ情報生成部と、を更に備えてもよい。
【００２９】
【数６】
2008113203.tif 000008
【００３０】
上記の暗号化装置は、第１セッション鍵決定部によるセッション鍵ｓ、または、第２セッション鍵決定部によるセッション鍵ｓのいずれかを用いて、配信するコンテンツを暗号化する暗号化部を更に備えるように構成してもよい。
【００３１】
上記課題を解決するために、本発明の第３の観点によれば、鍵生成装置および暗号化装置と通信可能な受信装置であって、上記の鍵生成装置において、ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当て、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよびノードパラメータγx,yに基づいて算出された暗号鍵と、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信部を備えることを特徴とする受信装置が提供される。
【００３２】
上記の受信部は、排除する受信装置が特定された情報である、排除されていない受信装置の集合Ｓに関する情報を更に受信してもよい。
【００３３】
上記の受信装置は、排除されていない受信装置の集合Ｓから排除される受信装置の個数ｒを算出し、排除される受信装置の個数ｒが、下記の式Ｇを満たすか否かを判定する、復号方式選択部を更に備え、上記の復号方式選択部は、排除される受信装置の個数ｒが式Ｇを満たす場合には、第２復号処理部を選択し、排除される受信装置の個数ｒが式Ｇを満たさない場合には、第１復号処理部を選択するようにしてもよい。
【００３４】
【数７】
2008113203.tif 000009
【００３５】
上記の第１復号処理部は、受信装置が集合Ｓに含まれているか否かを判定する判定部と、秘密鍵に基づき、セッション鍵ｓを算出する、第１セッション鍵算出部と、を備え、上記判定部において、受信装置が前記集合Ｓに含まれていると判断された場合、第１セッション鍵算出部は、セッション鍵ｓを、以下の式Ｈにより算出することで、暗号化コンテンツを復号化してもよい。
【００３６】
【数８】
2008113203.tif 000010
【００３７】
上記の第２復号処理部は、受信装置が前記集合Ｓに含まれているか否かを判定する判定部と、秘密鍵に基づき、セッション鍵ｓを算出する、第２セッション鍵算出部と、を備え、上記判定部において、受信装置が集合Ｓに含まれていると判断された場合、第２セッション鍵算出部は、セッション鍵ｓを、以下の式Ｉにより算出することで、暗号化コンテンツを復号化してもよい。
【００３８】
【数９】
2008113203.tif 000011
【００３９】
上記課題を解決するために、本発明の第４の観点によれば、ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成ステップと、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当ステップと、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当ステップと、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよび前記ノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第１鍵算出ステップと、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化し、受信装置の暗号鍵を算出する第２鍵算出ステップと、を備えることを特徴とする、鍵作成方法が提供される。
【００４０】
上記課題を解決するために、本発明の第５の観点によれば、ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定ステップを備える暗号化方法が提供される。
【００４１】
上記課題を解決するために、本発明の第６の観点によれば、ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当て、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよびノードパラメータγx,yに基づいて算出された暗号鍵と、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信ステップを備えることを特徴とする、鍵処理方法が提供される。
【００４２】
上記課題を解決するために、本発明の第７の観点によれば、コンピュータに、ｎ個の受信装置がリーフに割り当てられ、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成する、木構造構成機能と、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当てる第１リーフキー割当機能と、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当てるパラメータ割当機能と、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよびノードパラメータγx,yに基づいて、各受信装置の暗号鍵を算出する第１鍵算出機能と、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化し、受信装置の暗号鍵を算出する第２鍵算出機能と、を実現させるためのプログラムが提供される。
【００４３】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の鍵生成装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００４４】
上記課題を解決するために、本発明の第８の観点によれば、コンピュータに、ｎ個の受信装置のなかから排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する排除受信装置特定機能を実現させるためのプログラムが提供される。
【００４５】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の暗号化装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【００４６】
上記課題を解決するために、本発明の第９の観点によれば、コンピュータに、ｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構成し、リーフとルートとの間に存在する中間ノードの下位に存在する複数のリーフからなるサブグループを構成し、リーフおよび中間ノードそれぞれに対して、リーフキーｇｙを割り当て、中間ノードおよびルートに、相異なるパラメータνｘ,ｙ（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とノードパラメータγx,y（ｘ：階層、ｙ：１，２，・・・，Ｙｘ）とをそれぞれ割り当て、ルートからリーフに至るパスを特定し、当該パス上に存在する中間ノードまたはリーフに割り当てられたリーフキーｇｙと、当該中間ノードまたは当該リーフの親ノードに割り当てられたパラメータνｘ，ｙおよびノードパラメータγx,yに基づいて算出された暗号鍵と、ｎ個の受信装置を、Ｙ以上の整数Ｂに基づいてグループ化して算出された暗号鍵と、をそれぞれ受信する受信機能を実現させるためのプログラムが提供される。
【００４７】
かかる構成によれば、コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の受信装置として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【発明の効果】
【００４８】
本発明によれば、各契約者が保持する個人秘密鍵のサイズを削減することができ、センタや契約者が自由にコンテンツ配信を実施することが可能である。
【発明を実施するための最良の形態】
【００４９】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００５０】
（第１の実施形態）
以下に、本発明の第１の実施形態に係る暗号鍵配信システムについて、詳細に説明する。
【００５１】
図１は、本実施形態に係る暗号鍵配信システム１０を示した説明図である。暗号鍵配信システム１０は、例えば、通信網１２と、鍵生成装置２０と、暗号化装置３０と、受信装置４０Ａと、受信装置４０Ｂと、を含む。
【００５２】
通信網１２は、鍵生成装置２０、暗号化装置３０および受信装置４０を双方向通信又は一方向通信可能に接続する通信回線網である。この通信網は、例えば、インターネット、電話回線網、衛星通信網、同報通信路等の公衆回線網や、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ−Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ）、ワイヤレスＬＡＮ等の専用回線網などで構成されており、有線／無線を問わない。
【００５３】
鍵生成装置２０は、公開鍵と、複数の受信装置それぞれに固有の秘密鍵とを生成し、公開鍵を公開するとともに、各受信装置に対して、安全な通信路を介して、それぞれの秘密鍵を配信する。なお、この鍵生成装置２０は、公開鍵および秘密鍵の生成・管理を行うセンタが所有する。
【００５４】
暗号化装置３０は、鍵生成装置２０によって生成および公開された公開鍵を用いて、任意のコンテンツを暗号化し、通信網１２を介して、各受信装置に配信する。この暗号化装置３０は、任意の第三者が所有することが可能であり、また、鍵生成装置２０の所有者や、受信装置４０の所有者が所有することも可能である。
【００５５】
受信装置４０は、暗号化装置３０から配信された暗号化されたコンテンツを、固有の秘密鍵によって復号化して利用することが可能である。なお、受信装置４０Ａと受信装置４０Ｂとは、通信網１２または有線を介して互いに接続可能である。なお、この受信装置４０は、各契約者によって所有されるものである。
【００５６】
なお、図示の例では、受信装置４０として、パーソナルコンピュータ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ：ＰＣ）等のコンピュータ装置（ノート型、デスクトップ型を問わない。）を示しているが、かかる例に限定されず、ネットワークを介した通信機能を有する機器であれば、例えばＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）、家庭用ゲーム機、ＤＶＤ／ＨＤＤレコーダ、テレビジョン受像器等の情報家電、テレビジョン放送用のチューナやデコーダなどで構成することもできる。また、受信装置４０は、契約者が持ち運びできるポータブルデバイス（Ｐｏｒｔａｂａｌｅ  Ｄｅｖｉｃｅ）、例えば、携帯型ゲーム機、携帯電話、携帯型映像／音声プレーヤ、ＰＤＡ、ＰＨＳなどであってもよい。
【００５７】
次に、本実施形態に係る鍵生成装置２０のハードウェア構成について、図２を参照しながら簡単に説明する。
【００５８】
図２は、鍵生成装置２０のハードウェア構成を示したブロック図である。鍵生成装置２０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２０１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２０３と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２０５と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）２０７と、暗号処理部２０９と、メモリ（セキュアモジュール）２１１とを備える。
【００５９】
ＣＰＵ２０１は、演算処理装置および制御装置として機能し、各種プログラムに従って鍵生成装置２０内の動作全般を制御する。ＲＯＭ２０３は、ＣＰＵ２０１が使用するプログラムや演算パラメータ等を記憶する。ＲＡＭ２０５は、ＣＰＵ２０１の実行において使用するプログラムや、このプログラムの実行において適宜変化するパラメータ等を、一次記憶する。
【００６０】
ＨＤＤ２０７は、本実施形態に係る鍵生成装置２０の記憶部の一例として構成されたデータ格納用の装置である。このＨＤＤ２０７は、ハードディスクを駆動し、ＣＰＵ２０１が実行するプログラムや各種データを格納する。暗号処理部２０９は、本実施形態に係る鍵生成装置２０がＣＰＵ２０１の制御のもとで実行する各種の暗号処理を実行する。メモリ（セキュアモジュール）２１１は、主に、個人秘密鍵や、センタ秘密である乱数等の秘匿が必要な情報を安全に格納するが、このメモリ２１１の内部に格納された情報は、外部から参照することができないという特徴がある。また、メモリ（セキュアモジュール）２１１は、例えば、耐タンパ性を有する記憶装置により構成されていてもよい。なお、セキュアモジュールはメモリである旨の記載をしているが、本発明に係るセキュアモジュールは、メモリに限定されるわけではなく、例えば、磁気ディスク、光ディスク、光磁気ディスクであってもよく、また、半導体メモリ等の記憶媒体であってもよい。
【００６１】
上記のＣＰＵ２０１、ＲＯＭ２０３、ＲＡＭ２０５、ＨＤＤ２０７、暗号処理部２０９、および、メモリ２１１は、ＣＰＵバス等から構成されるバス２１３により、相互に接続されている。
【００６２】
バス２１３は、ブリッジを介して、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ／Ｉｎｔｅｒｆａｃｅ）バスなどの入出力インターフェース２１５に接続されている。
【００６３】
入力部２１７は、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチおよびレバー等のユーザが操作する操作手段と、使用者による操作に基づいて入力信号を生成し、ＣＰＵ２０１に出力する入力制御回路等から構成されている。鍵生成装置２０の使用者は、この入力部２１７を操作することにより、鍵生成装置２０に対して各種のデータを入力したり処理動作を指示したりすることができる。
【００６４】
出力部２１９は、例えば、ＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）ディスプレイ装置、液晶ディスプレイ（ＬＣＤ）装置およびランプ等の表示装置と、スピーカおよびヘッドホン等の音声出力装置等で構成される。出力部２１９は、例えば、再生されたコンテンツを出力することが可能である。具体的には、表示装置は、再生された映像データ等の各種情報を、テキストまたはイメージで表示する。一方、音声出力装置は、再生された音楽データ等を音声に変換して出力する。
【００６５】
通信部２２１は、例えば、通信網１２に接続するための通信デバイス等で構成された通信インターフェースである。この通信部２２１は、例えば暗号化装置３０や受信装置４０Ａ、４０Ｂとの間で、通信網１２を介して、暗号鍵に関する情報や、コンテンツ情報等といった、各種データを送受信する。
【００６６】
ドライブ２２３は、記憶媒体用リーダライタであり、鍵生成装置２０に内蔵、あるいは外付けされる。ドライブ２２３は、装着されている磁気ディスク、光ディスク、光磁気ディスク、または半導体メモリ等のリムーバブル記録媒体１４に記録されている情報を読み出して、ＲＡＭ２０５に出力する。
【００６７】
なお、暗号化装置３０および受信装置４０のハードウェア構成は、鍵生成装置２０のハードウェア構成と実質的に同一であるので、説明を省略する。
【００６８】
以上、本実施形態に係る鍵生成装置２０、暗号化装置３０および受信装置４０の機能を実現可能なハードウェア構成の一例を示した。上記の各構成要素は、汎用的な部材を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用するハードウェア構成を変更することが可能である。また、上記のハードウェア構成は、あくまでも一例であり、これに限定されるものでないことは言うまでもない。例えば、ＨＤＤ２０７とメモリ（セキュアモジュール）２１１とを同一の記憶装置により構成してもよい。また、利用形態によっては、バス２１３、又は入出力インターフェース２１５等を省略する構成も可能である。以下、上記のようなハードウェア構成により実現される暗号鍵生成方式について詳述する。
【基盤技術に関する説明】
【００６９】
まず、本発明に係る好適な実施形態について詳細なる説明をするに先立ち、本実施形態を実現する上で基盤を成す技術的事項について述べる。なお、本実施形態は、以下に記載する基盤技術の上に改良を加えることにより、より顕著な効果を得ることができるように構成されたものである。従って、その改良に係る技術こそが本実施形態の特徴を成す部分である。つまり、本実施形態は、ここで述べる技術的事項の基礎概念を踏襲するが、その本質はむしろ改良部分に集約されており、その構成が明確に相違すると共に、その効果において基盤技術とは一線を画するものであることに注意されたい。
【００７０】
従来の公開鍵を利用したコンテンツ配信方式では、センタがコンテンツ配信システムのシステムパラメータｋを決定し、このシステムパラメータｋに基づく、ｋ次のセンタ秘密多項式を構成する。その後、このｋ次の秘密多項式を用いて、公開鍵ＰＫと、契約者ｉに固有の秘密鍵ｄｉ（以下、個人秘密鍵と表記する。）とを生成し、公開鍵ＰＫを公開するとともに、安全な通信路を用いて、契約者ｉに個人秘密鍵ｄｉを配布していた。また、コンテンツ配信時には、暗号文Ｃとヘッダｈとを配信するが、ヘッダｈは、公開鍵ＰＫを利用して生成されるため、任意の配信者がヘッダｈを生成可能となる。この従来の公開鍵を利用したコンテンツ配信方式では、契約者ｉは、個人秘密鍵ｄｉ一つのみを保持すればよく、また、公開鍵ＰＫを公開することによって、センタ以外の配信者がコンテンツを配信することが可能となる。
【００７１】
しかしながら、個人秘密鍵を生成するために、セキュリティパラメータであるｋに基づいたｋ次多項式を利用しており、ｋ＋１人以上の契約者が結託すると、システムの安全性が保持されなくなるという、結託問題が存在していた。
【００７２】
そこで、上記の非特許文献１では、任意数の契約者が結託してもシステムの安全性が保持されるという、公開鍵コンテンツ配信法を提案している。
【００７３】
Ｂｏｎｅｈ，Ｇｅｎｔｒｙ，Ｗａｔｅｒｓらによる非特許文献１に記載の方式は、個人秘密鍵の生成にｋ次多項式を利用せず、双線形群と呼ばれる巡回乗法群の一種を利用し、この群における契約者ｉに固有の要素を、個人秘密鍵ｄｉとして提供する。また、ヘッダｈの生成および各契約者によるセッション鍵ｓの取得に、双線形写像と呼ばれる演算を利用することによって、従来の公開鍵を利用したコンテンツ配信システムにおいて大きな問題となっていた結託問題を、解決している。
【００７４】
非特許文献１では、まず基本方式として、契約者集合を一つのグループとして取り扱う方式を示している。以下では、図３を参照しながら、この基本方式について説明する。この基本方式では、センタ５１が双線形群の生成元ｇと、センタ秘密であるαを生成し，これらを用いて契約者ｉ（ｉ＝１，・・・，ｎ）に、パラメータ
【数１０】
2008113203.tif 000012
を割り当てる．
【００７５】
また、契約者５５の集合を一つのグループとして扱うためのパラメータν＝ｇγを生成し、これらの生成元ｇおよびパラメータνとを、公開鍵ＰＫ＝（ｇ，ｇ１，・・・，ｇｎ，ｇｎ＋２，・・・，ｇ２ｎ，ν）として公開する。さらに契約者ｉには、ｉに割り当てられたパラメータ
【数１１】
2008113203.tif 000013
を用いて、個人秘密鍵
【数１２】
2008113203.tif 000014
を、安全な一対一通信路５３を介して、予め提供しておく。
【００７６】
配信者は、公開鍵ＰＫ＝（ｇ，ｇ１，・・・，ｇｎ，ｇｎ＋２，・・・，ｇ２ｎ，ν）から、排除されていない全ての契約者に割り当てられたパラメータ
【数１３】
2008113203.tif 000015
と、契約者を一つのグループにまとめるためのパラメータν＝ｇγとから、排除されていない全ての契約者に対応する共通のヘッダ要素を一つ作成し、このヘッダ要素と、セッション鍵生成時に利用される乱数要素と、を含んだヘッダ要素を用いて、ヘッダｈを生成し、暗号文Ｃと共に配信する。
【００７７】
このように、基本方式では、契約者集合を一つのグループとして取り扱い、そのグループに対応するヘッダ要素を構成することにより、ヘッダｈの大きさ（以下、ヘッダサイズと表記する。）を最小にしている。
【００７８】
しかしながら、全ての契約者を一つのグループとして取り扱うため、各契約者に各々異なるパラメータｇ１，・・・，ｇｎを割り当てる必要がある。そのため、公開鍵サイズが、契約者数の二倍以上の大きさになる。また、各契約者がヘッダｈからセッション鍵ｓを取得する際には、自身を除く排除されていない全契約者に対応するパラメータｇ１，・・・，ｇｎの積を計算する必要があるため、契約者の総数であるｎの値が非常に大きな値となる場合には、契約者に対する計算量の負担が非常に大きくなる。現実的なコンテンツ配信においては、有料放送やＤＶＤ等の物理メディア、インターネット等を通じて、非常に多くの契約者に対してコンテンツを配信する必要があるため、以上のような問題点を考慮すると、基本方式は現実的に利用不可能であるといえる。
【００７９】
上記の問題点を解消する方法として、非特許文献１では、契約者集合を複数のサブグループに分割することにより公開鍵サイズを抑えることが可能となる、一般化方式を提案している。一般化方式では、契約者集合を複数のサブグループに分割し、分割された各サブグループに対して、基本方式同様の処理を行っている。従って，サブグループ毎に異なるヘッダ要素を生成する必要があり、ヘッダサイズは増大するが、公開鍵サイズを抑えることが可能となっている。また、各契約者は、分割されたサブグループに所属する各契約者に割り当てられたパラメータの積を計算する必要があるが、基本方式と比較して、契約者集合がサブグループに分割されているため、計算する必要があるパラメータ数を抑えることが可能となり、基本方式における問題点の解消している。
【００８０】
しかしながら、非特許文献１における一般化方式を利用したとしても、契約者集合の分割数を大きくすると、各契約者におけるコンテンツ復号時の計算量は抑えることが可能となるが、ヘッダサイズが増大してしまい、また、逆に小さくすると、ヘッダサイズは抑えられるものの、計算量が増大するという問題点が存在する。また、排除される契約者数が少ない場合であっても常に一定サイズのヘッダｈを配信する必要があるため、排除される契約者数がいない、もしくは全体に対して占める割合が少ない、というような現実的に最も起こりうるような状況において、ヘッダサイズを削減することができず、コンテンツ配信時におけるデータの冗長性が高くなるという問題点が存在する。
【００８１】
そこで、非特許文献１では、上記の一般化方式における問題を回避する方法として、コンテンツ配信システムとして、あらかじめＳＤＭと呼ばれる共通鍵（例えば、非特許文献２参照。）を利用したコンテンツ配信システム用の鍵と、非特許文献１の方式における鍵とを準備しておき、排除される契約者が存在しない、もしくは少ない場合には、コンテンツ配信システムとしてＳＤＭを利用する。また、排除される契約者が増加してきた場合には、非特許文献１の一般化方式を利用することによって、ヘッダサイズの削減を試みている。
【００８２】
以下では、はじめに、非特許文献１に記載の方式とその問題点を説明する上で必要となる記号の定義を示した後に、非特許文献１において排除される契約者数が少ない場合に利用されるＳＤＭの概要と、その問題点に関して説明する。次に、排除される契約者数が増加した場合に利用する非特許文献１の一般化方式を説明する上で必要となる双線形群及び双線形写像について説明し、最後に、これらの定義を利用して、非特許文献１における切り替え方式の詳細およびその問題点について述べる。
【００８３】
＜記号の定義＞
非特許文献１に記載の一般化方式を説明する上で使用する各記号を、以下のように定義する。
【００８４】
ｎ  ：契約者の総数
Ａ  ：契約者グループを複数のサブグループに分割する際の分割数
Ｂ  ：分割されたサブグループに所属する契約者数
ＰＫ  ：システムの公開鍵
ｄｉ  ：ｉ番目の契約者の個人秘密鍵
ｒ  ：排除される契約者の総数
ｐ  ：双線形群の位数となる大きな素数
Ｇ，Ｇ１  ：位数ｐの双線形群
ｇ  ：Ｇの生成元
Ｍ  ：暗号化されていないコンテンツ（平文）
ｓ  ：セッション鍵
Ｃ  ：平文Ｍをセッション鍵ｓで暗号化したときの暗号文
Ｅｓ（Ｍ）  ：平文Ｍの鍵ｓによる暗号化
Ｄｓ（Ｃ）  ：暗号文Ｃの鍵ｓによる復号
ｅ（ｕ，ｖ）  ：双線形群Ｇ上の二つの元ｕ，ｖに対する双線形写像
【００８５】
＜ＳＤＭの特徴とその問題点＞
ここでは，非特許文献１の切り替え方式において、排除される契約者数が少ない場合において用いられるＳＤＭとその問題点について、説明する。なお、ＳＤＭの詳細に関しては、非特許文献２に記載の通りであるため、ここでは概要に関してのみ述べる。
【００８６】
ＳＤＭは、論理木を利用した、共通鍵によるコンテンツ配信法の一つである。ＳＤＭは、論理木に沿って複数の契約者に割り当てられたリーフからなる部分木から、排除された契約者に割り当てられたリーフのみを含む部分木を除いたものをＳｕｂｓｅｔとして定義し、各Ｓｕｂｓｅｔに割り当てられたＳｕｂｓｅｔ  ｋｅｙを利用して、コンテンツ配信を実現するものである。
【００８７】
センタは、まず論理木を構成し、各契約者を論理木のリーフに割り当てると共に、契約者が排除されていない場合に構成され得る全Ｓｕｂｓｅｔに対応するＳｕｂｓｅｔ  ｋｅｙを生成するためのラベルを、安全な通信路を用いて配信しておく。配信時には、排除する契約者を決定すると共に、配信対象となるＳｕｂｓｅｔを決定し、各Ｓｕｂｓｅｔに対応するＳｕｂｓｅｔ  ｋｅｙを用いてヘッダを生成する。
【００８８】
契約者は、受信したヘッダのうち自身が所属するＳｕｂｓｅｔに対応する要素を取得し、自身が秘密保持するラベルから、自身が所属するＳｕｂｓｅｔに対応するＳｕｂｓｅｔ  ｋｅｙを、擬似乱数生成器を利用して計算し、コンテンツを取得する。
【００８９】
このようにコンテンツ配信システムを構成することにより、排除される契約者をまとめることが可能となり、ヘッダサイズを２ｒ−１に削減することが可能となる。しかしながら、各契約者が保持する必要のあるラベルがＯ（ｌｏｇ２ｎ）となり、非常に大きな値となるという問題点が存在する。また、ラベルからＳｕｂｓｅｔ  ｋｅｙを生成するために、擬似乱数生成器を保持する必要があり、さらにこれを用いて、Ｏ（ｌｏｇ  ｎ）回擬似乱数生成演算を行う必要があるという問題点が存在する。
【００９０】
これは、各契約者が保持する必要のある秘密情報が非常に大きく、かつ復号器を構成する際のコストが大きくなることを意味している。なお、ここではｌｏｇ  ｎを、底を２とするｎの対数としており、以降特に記述しない限り、対数の底は２とする。
【００９１】
＜双線形群における双線形写像＞
ここでは，非特許文献１において、排除される契約者数が大きくなった場合に用いられる、双線形群上の双線形写像に関して、説明する。双線形写像ｅ（ｕ，ｖ）とは、巡回乗法群Ｇの二つの要素ｕ，ｖを巡回乗法群Ｇ１の要素へと変換する写像であり、以下の性質を満たすものである。
【００９２】
１．双線形性：任意のｕ，ｖ∈Ｇ及びａ，ｂ∈Ｚに対して、ｅ（ｕａ，ｖｂ）＝ｅ（ｕ，ｖ）ａｂが成立する。
２．非退化性：ｅ（ｇ，ｇ）≠１
【００９３】
続いて、非特許文献１に記載の切り替え方式について、図４〜図８を参照しながら、詳細に説明する。この切り替え方式は、主に、鍵生成フェーズ、暗号化フェーズ、復号フェーズという三つのフェーズから構成される。鍵生成フェーズは、センタがシステム構成時に一度だけ実行し、暗号化フェーズは配信者、復号フェーズは契約者が、各々配信ごとに実行する。以下、各フェーズの説明を行う。
【００９４】
＜鍵生成フェーズ＞
以下では、図４および図５を参照しながら、鍵生成フェーズについて説明する。図４は、非特許文献１の切り替え方式における鍵生成フェーズを説明するための説明図である。図５は、非特許文献１の切り替え方式における鍵生成フェーズの流れ図である。
【００９５】
センタ５１は、以下の手順に従って、各契約者５５の個人秘密鍵と公開鍵とを生成する。
まず、センタ５１は、大きな素数ｐを選択し、位数ｐの双線形群Ｇを決定する（ステップＳ１１）。
【００９６】
次いで、センタ５１は、上記ステップＳ１１で決定したＧの生成元であるｇと、センタ秘密である乱数α（αは整数である。）とを、それぞれ無作為に選択する（ステップＳ１３）。
【００９７】
続いて、センタ５１は、分割されたサブグループに所属する契約者数Ｂを決定し、分割数Ａを以下の計算により決定した後、契約者をＡ個のサブグループに分割する（ステップＳ１５）。
【００９８】
【数１４】
2008113203.tif 000016
【００９９】
ここで、上式の右辺に示されている記号は、「（ｎ／Ｂ）以上の最小の整数」を表す記号である。なお、非特許文献１の一般化方式では、Ｂ＝（ｎ）１／２と設定することを推奨しているため、通常このように設定する。
【０１００】
次いで、センタ５１は、ｉ（ｉ＝１，・・・Ｂ，Ｂ＋２，・・・，２Ｂ）に対してｇｉを以下のようにして計算する（ステップＳ１７）。
【０１０１】
【数１５】
2008113203.tif 000017
【０１０２】
続いて、センタ５１は、サブグループ数Ａに対応するＡ個の乱数γ（γ１，・・・，γＡ、γは整数。）を無作為に選択する。続いて、双線形群Ｇに属するν１，・・・，νＡを、以下のようにして算出する（ステップＳ１９）。
【０１０３】
【数１６】
2008113203.tif 000018
【０１０４】
続いて、センタ５１は、上記のステップＳ１３で選択したｇと、ステップＳ１７で算出したｇｉと、ステップＳ１９で算出したνｉとに基づいて、以下で表される公開鍵ＰＫを決定し、公開する（ステップＳ２１）。
【０１０５】
ＰＫ＝（ｇ，ｇ１，・・・，ｇＢ，ｇＢ＋２，・・・，ｇ２Ｂ，ν１，・・・，νＡ）
・・・（式４）
【０１０６】
続いて、センタ５１は、契約者ｉが所属するサブグループＳａ（ａは、ｉ／Ｂ以上の最小の整数である。）と、このサブグループにおける契約者ｉのインデックスであるｂ＝ｉｍｏｄＢ（ここで、ｉは１以上Ｂ以下の整数である。）に対応するパラメータｇｂ、γａを選択して、以下の式で算出される契約者ｉの個人秘密鍵ｄｉを生成する（ステップＳ２３）。
【０１０７】
【数１７】
2008113203.tif 000019
【０１０８】
次いで、センタ５１は、リーフがｎ個以上存在する論理二分木を生成し、各契約者をリーフに割り当てる（ステップＳ２５）。
【０１０９】
続いて、センタ５１は、非特許文献２に記載の方法に従って、契約者ｉ（ｉ＝１，・・・，ｎ）に対応する、以下の式６で表されるラベルを生成し、ステップＳ２３で生成した個人秘密鍵ｄｉと共に、安全な通信路を用いて、契約者ｉに配布する（ステップＳ２７）。
【０１１０】
【数１８】
2008113203.tif 000020
【０１１１】
図４に示したように、非特許文献１における切り替え方式では、センタ５１は、鍵生成フェーズのステップＳ１１からステップＳ２３までの処理で、一般化方式における鍵生成フェーズを実行している。その後、センタ５１は、ステップＳ２５において、ＳＤＭによるコンテンツ配信を実現するための論理木を構成し、ステップＳ２７において、ＳＤＭによるコンテンツ配信に対応するための複数のラベルと、非特許文献１の一般化方式によるコンテンツ配信に対応するための個人秘密鍵とを、安全な一対一通信路５３を介して、各契約者５５に配信している。
【０１１２】
＜暗号化フェーズ＞
以下では、図６および図７を参照しながら、暗号化フェーズについて説明する。図６は、非特許文献１の切り替え方式における暗号化フェーズを説明するための説明図である。図７は、非特許文献１の切り替え方式における暗号化フェーズの流れ図である。
【０１１３】
配信者５７は、以下の手順に従って配信するコンテンツを暗号化し、同報通信路５９を介して、非契約者６１および契約者６３に、暗号化したコンテンツをまとめて配信する。
まず、配信者５７は、排除される契約者を決定し、排除される契約者数ｒと（ｎ）１／２との大小関係を判定する（ステップＳ３１）。排除される契約者数ｒが、ｒ＜（ｎ）１／２であるならば、配信者５７は、続けてステップＳ３３の処理を行う。また、排除される契約者数ｒが、ｒ＜（ｎ）１／２の関係を満たさないのであれば、配信者５７は、続けてステップＳ３５の処理を行う。
【０１１４】
上記のステップＳ３１において、ｒ＜（ｎ）１／２の関係が成立した場合、配信者５７は、コンテンツを復号可能な契約者の集合Ｓを決定した後、セッション鍵ｓをランダムに選択し、非特許文献２に記載の方式に従ってヘッダｈを生成する（ステップＳ３３）。その後、配信者５７は、ステップＳ４１の処理を行う。
【０１１５】
他方、上記のステップＳ３１において、ｒ＜（ｎ）１／２の関係が成立しなかった場合、配信者５７は、整数ｔを無作為に選択し、セッション鍵ｓを、以下のように計算する（ステップＳ３５）。
【０１１６】
ｓ＝ｅ（ｇＢ＋１，ｇ）ｔ＝ｅ（ｇＢ，ｇ１）ｔ  ・・・（式７）
【０１１７】
上記のステップＳ３５の処理の後に、配信者５７は、コンテンツを復号可能な契約者の集合Ｓを決定し、ｌ＝１，・・・，Ａに対して、以下のように各サブグループを決定する（ステップＳ３７）。
【０１１８】
【数１９】
2008113203.tif 000021
【０１１９】
ここで、添字ｌはサブグループを表すパラメータであり、上記の式８で表される集合は、パラメータｌで表されるサブグループに含まれる契約者および非契約者の集合であり、上記の式９で表される集合は、パラメータｌで表されるサブグループ内において、契約者はサブグループ内の何番目の人なのかを表す集合である。
【０１２０】
上記のステップＳ３７に続いて、配信者５７は、契約者６３がセッション鍵ｓを算出するために必要なヘッダｈを、以下のように構成する（ステップＳ３９）。
【０１２１】
【数２０】
2008113203.tif 000022
【０１２２】
配信者５７は、非特許文献１に記載の方法（ステップＳ３５〜ステップＳ３９）または非特許文献２に記載の方法（ステップＳ３３）で生成したセッション鍵ｓを用いて、コンテンツＭを、以下の計算により暗号文Ｃに変換し、ヘッダｈおよび集合Ｓと共に、同報通信路５９を介して、非契約者６１、契約者６３を問わず、配信する（ステップＳ４１）。
【０１２３】
Ｃ＝Ｅｓ（Ｍ）  ・・・（式１１）
【０１２４】
以上説明したように、暗号化フェーズのステップＳ３１おいて、排除される契約者を決定すると共に、排除される契約者数ｒが一定数（ｎ）１／２未満かどうかを判断している。ここで、ｒ＜（ｎ）１／２である場合、ステップＳ３３において、ランダムなセッション鍵ｓを生成し、ＳＤＭを利用したヘッダｈの生成を行っている。続いて、ステップＳ４１にて、暗号文Ｃを計算している。これにより、排除される契約者が少ない場合には、ヘッダサイズを削減することが可能となっている。また、ｒが（ｎ）１／２以上であれば、ステップＳ３５からステップＳ３９にかけて、非特許文献１の一般化方式における暗号化フェーズを、実現している。
【０１２５】
＜復号フェーズ＞
以下では、図８を参照しながら、復号フェーズについて説明する。図８は、非特許文献１の一般化方式における復号フェーズの流れ図である。
【０１２６】
暗号化コンテンツ等の配信を受けた契約者ｉは、以下の手順に従って、暗号化コンテンツの復号処理を行う。
まず、契約者ｉは、配信者から送信された集合Ｓから排除される契約者数ｒを算出し、排除される契約者数ｒと（ｎ）１／２との大小関係を判定する（ステップＳ５１）。排除される契約者数ｒが、ｒ＜（ｎ）１／２であるならば、契約者ｉは、続けてステップＳ５３の処理を行う。また、排除される契約者数ｒが、ｒ＜（ｎ）１／２の関係を満たさないのであれば、受信者ｉは、続けてステップＳ５５の処理を行う。
【０１２７】
上記のステップＳ５１において、ｒ＜（ｎ）１／２の関係が成立した場合、契約者ｉは、非特許文献２に記載の方式に従って、自身が保持するラベルと、受信したヘッダｈとからセッション鍵ｓを取得する（ステップＳ５３）。その後、契約者ｉは、ステップＳ５９の処理を行う。
【０１２８】
他方、上記のステップＳ５１において、ｒ＜（ｎ）１／２の関係が成立しなかった場合、契約者ｉは、自身のインデックスであるｉが、集合Ｓに含まれているかどうかの判定を行う（ステップＳ５５）。自身のインデックスｉが、集合Ｓに含まれていないならば、契約者ｉは、排除されたものとして処理を終了する。また、自身のインデックスｉが集合Ｓに含まれていた場合には、契約者ｉは、以下のステップＳ５７の処理を行う。
【０１２９】
次に、契約者ｉは、送信されたヘッダｈのうち、自身が所属するサブグループＳａに対応するヘッダ要素を選択して、セッション鍵ｓを算出する（ステップＳ５７）。すなわち、ヘッダｈは、ｈ＝（Ｃ０，Ｃ１，・・・，ＣＡ）のように、それぞれのサブグループに対応するヘッダ要素によって構成されており、自身が所属するサブグループＳａに対応する要素Ｃ０、Ｃａを選択し、これらのヘッダ要素に基づき、以下の計算のようにセッション鍵ｓを取得する。
【０１３０】
【数２１】
2008113203.tif 000023
【０１３１】
上記の式１２−５と、式７とから明らかなように、契約者ｉは、配信者５７から送信されたヘッダｈと公開鍵ＰＫ、および、契約者自身が保有している個人秘密鍵ｄｉを用いることによって、配信者５７が暗号化に利用したコンテンツ鍵ｓと同じものを、算出することが可能である。
【０１３２】
契約者ｉは、非特許文献１に記載の方法（ステップＳ５５〜ステップＳ５７）または非特許文献２に記載の方法（ステップＳ５３）で生成したセッション鍵ｓを用いて、暗号化コンテンツＣを、以下の計算により平文Ｍに復号する（ステップＳ５９）。
【０１３３】
Ｍ＝Ｄｓ（Ｃ）  ・・・（式１３）
【０１３４】
以上説明したように、復号フェーズでは、ステップＳ５１において、配信されたヘッダから、ＳＤＭによるコンテンツ配信であるのか、非特許文献１の一般化方式を利用したコンテンツ配信であるかを各契約者が判断する。その結果、ＳＤＭを利用したコンテンツ配信であった場合には、契約者は、ステップＳ５３において、ＳＤＭにおけるセッション鍵の復号処理、すなわち自身が所属するＳｕｂｓｅｔを特定し、自身が保持するラベルからそのＳｕｂｓｅｔに対応するＳｕｂｓｅｔ  ｋｅｙを、擬似乱数生成演算により導出する処理、を実行する。これに対して、非特許文献１の一般化方式を利用したコンテンツ配信であった場合には、ステップＳ５５からステップＳ５７において、非特許文献１の一般化方式における復号フェーズを実行する。
【０１３５】
以上説明したように、非特許文献１の切り替え方式では、あらかじめ二つの異なるコンテンツ配信システムを構成しておき、排除される契約者数によって、コンテンツ配信システムを切り替える。そのため、排除される契約者数が少ない、すなわちｒ＜（ｎ）１／２である場合には、ヘッダサイズが２ｒ−１となる。また、排除される契約者数が多くなる、すなわちｒが（ｎ）１／２以上となる場合には、ヘッダサイズがＡ＋１となるように構成可能となり、排除される契約者数に応じたヘッダサイズの削減を、実現している。
【０１３６】
しかしながら、排除される契約者数が少ない場合には、ＳＤＭを利用したコンテンツ配信を利用しているため、各契約者が保持すべき鍵数が非常に大きなものとなるという問題点が、存在する。
【０１３７】
非特許文献１の切り替え方式では、鍵生成フェーズのステップＳ２５において論理二分木を構成し、ステップＳ２７において各契約者に個人秘密鍵と複数のラベルとを配布している。ここで、各契約者に配信されるラベルは、契約者が排除されていない場合の全Ｓｕｂｓｅｔ  ｋｅｙを生成する元情報となるものであり、そのサイズはＯ（ｌｏｇ２ｎ）で表される。これは、論理二分木における高さを表すｌｏｇ  ｎの二乗に比例した数のラベルが必要であることを示しており、契約者数ｎが大きくなればなるほど、保持する必要のある鍵数が増加することを意味している。
【０１３８】
また、復号フェーズにおいても、ＳＤＭを利用したコンテンツ配信の場合には、ステップＳ５３において、非特許文献２に記載の方法に従ってセッション鍵を取得しているが、自身が保持するラベルからセッション鍵を取得するためには、自身が所属するＳｕｂｓｅｔに対応するＳｕｂｓｅｔ  ｋｅｙを構成する必要がある。このとき非特許文献２に記載の方式では、契約者自身が擬似乱数生成器をあらかじめ保持しておき、ラベルを入力とした擬似乱数生成演算をＯ（ｌｏｇ  ｎ）だけ行う必要がある。これは、非特許文献１における一般化方式のみを利用したコンテンツ配信システムと比較して、各契約者が保持すべき復号器に、新たな機能を付加する必要があることを示しており、復号器を構成する際のコストアップに繋がるという問題点が存在する。
【０１３９】
さらに、非特許文献１の切り替え方式では、排除される契約者数が少ない場合においてＳＤＭを利用しているが、ＳＤＭは共通鍵を利用したコンテンツ配信システムであるため、ＳＤＭを利用してコンテンツ配信を実現している間は、センタ以外のｅｎｔｉｔｙにはコンテンツの配信が不可能であるという問題点が存在する。
【０１４０】
そこで、本願発明者らは、上記の問題点を解決すべく鋭意研究を行い、以下に説明するような、本発明の一実施形態に係る暗号鍵配信システムを開発した。本実施形態に係る鍵生成装置では、非特許文献１に示されたような、排除される契約者数に応じてコンテンツ配信システムの切り替えを行うことにより、ヘッダサイズの削減を図るものである。本実施形態に係る鍵生成装置は、排除される契約者数が存在しない、もしくは少ない場合には、非特許文献１における一般化方式に、若干のパラメータを加えて論理木を構成することにより、排除される契約者数が少ない場合においても、非特許文献１に記載の方式よりもヘッダサイズを削減することを可能とした方式を利用する。この方式は、非特許文献１の方式におけるヘッダサイズ並びに復号時に必要となる演算の計算量を、根本的に改善する方式として、非常に有効である。また、排除される契約者数が増加した場合には、非特許文献１における一般化方式を利用するように構成する。
【０１４１】
上記のような構成とすることで、排除される契約者数に関わらず、効率的にコンテンツを配信可能とすると共に、各コンテンツ配信システムにおいて必要となるパラメータ及び鍵を共用することが可能となるため、効率的なコンテンツ配信を実現しつつ、各契約者が保持する個人秘密鍵サイズを削減することが可能となる。また、切り替えるために準備するコンテンツ配信システムは、いずれも公開鍵を利用したコンテンツ配信システムであるため、いずれのコンテンツ配信システムを利用した場合でも、任意のｅｎｔｉｔｙがコンテンツを配信することが可能となる。
【本実施形態に係る説明】
【０１４２】
これまで説明したような基盤技術を踏まえながら、以下において、本実施形態に係る鍵生成装置、暗号化装置および受信装置について、詳細に説明する。
【０１４３】
まず、本実施形態に係る鍵生成装置２０の構成について、図９を参照しながら説明する。図９は、本実施形態に係る鍵生成装置２０の構成を示したブロック図である。
【０１４４】
鍵生成装置２０は、例えば、双線形群決定部２３１と、第１処理部２３３と、第２処理部２４５と、記憶部２５３と、配布部２６４と、を備える。
【０１４５】
双線形群決定部２３１は、本実施形態に係る鍵生成装置２０が用いる、双線形群を決定する。すなわち、双線形群決定部２３１は、素数ｐを無作為に選択して、この素数ｐを位数とする双線形群Ｇを決定するほかに、Ｇの生成元であるｇを無作為に選択する。
【０１４６】
第１処理部２３３は、Ｙ分木構造を構築した上で、ｎ個のリーフをグループ化し、リーフに割り当てられた受信装置に対して、以下に示す非特許文献１の一般化方法を根本的に改良した方法を用いることで、暗号鍵を生成する。
【０１４７】
この第１処理部２３３は、例えば、木構造構成部２３５と、パラメータ割当部２３７と、第１乱数決定部２３９と、第１リーフキー割当部２４１と、第１鍵算出部２４３と、を備える。
【０１４８】
木構造構成部２３５は、本実施形態に係る鍵生成装置２０の重要な要素である、論理木を構築する。すなわち、対象となるｎ個の受信装置をリーフに割り当て、高さが（ｌｏｇＹｎ）で表されるＹ分木構造を階層的に構築する。さらに、リーフとルートとの間に存在する中間ノードを、各々親ノードとする、Ｙ分木からなるサブグループを構成する。つまり、木構造構成部２３５により、１つのノードから下に向かって、常にＹ本の枝がでているＹ分木構造が、階層的に積み重ねられる。構築された階層化Ｙ分木構造の全体を見ると、最上位階層（以下、第０階層と称する。）にはルートが１つだけ存在し、このルートの下には、このルートを親ノードとするＹ個の子ノードが、第１階層として構築される。また、この第１階層に存在するＹ個の子ノードそれぞれを親ノードとして、第２階層には、さらにＹ２個の子ノードが存在する。このような構造が繰り返され、一番下の階層、すなわち、第（ｌｏｇＹｎ）階層には、全体としてｎ個のリーフが存在する。
【０１４９】
ここで、１つのノードから下向きに１本の枝が伸びており、この枝の先に１つのノードが存在する場合に、相対的に上側のノードのことを親ノードと呼び、相対的に下側のノードのことを子ノードと呼ぶこととする。この親ノード、子ノードという概念は相対的なものである。例えば、３つのノードが１本の枝で上下につながっている場合に、最上部のノードを親ノードとした場合には、中間に位置するノードは子ノードとなる。また、最下部のノードに着目した場合には、最下部のノードは、中間に位置するノードを親ノードとする子ノードとなる。
【０１５０】
また、階層化された木構造において、最上位階層に存在するルートと、最下位階層に存在するｎ個のリーフとの間に存在する各ノードを、中間ノードと呼ぶこととする。
【０１５１】
パラメータ割当部２３５は、木構造構成部２３１が構築した、階層化されたＹ分木構造において、末端のｎ個のリーフ以外の全てのノード、すなわち、最上位階層のルートと、ルートとリーフとの間に存在する全ての中間ノードに対して、ノードパラメータγx,y（γx,yは整数）を無作為に選択する。パラメータ割当部２３５は、このノードパラメータγx,yに基づき、最上位階層のルートと、ルートとリーフとの間に存在する全ての中間ノードに対して、任意のパラメータνｘ，ｙを割り当てる。ここで、ｘ、ｙはそれぞれノードの位置を表す添字であり、ｘは階層を示すものであり、ｙは階層ｘの何番目のノードに当たるかを示すものである。
【０１５２】
第１乱数決定部２３９は、暗号鍵の算出に必要となり、センタが秘密裏に管理する乱数α（αは整数である。）を、無作為に選択する。第１リーフキー割当部２４１は、木構造構成部２３１が構築したＹ分木構造における中間ノードおよびリーフに対して、リーフキーｇｙを割り当てる。第１鍵算出部２４３は、木構造構成部２３１が構築したＹ分木構造において、ルートからリーフに至るパスを特定し、当該パス上に存在するリーフまたは中間ノードに割り当てられたリーフキーｇｙと、中間ノードまたはリーフの親ノードに割り当てられたパラメータνｘ，ｙとノードパラメータγx,yとに基づいて、公開鍵と、各受信装置の暗号鍵とを算出する。
【０１５３】
第２処理部２４５は、本実施形態の基盤技術である、非特許文献１に記載の一般化方式に基づいて、暗号鍵を生成する。第２処理部２４５は、例えば、第２乱数決定部２４７と、第２リーフキー割当部２４９と、第２鍵算出部２５１と、を備える。
【０１５４】
第２乱数決定部２４７は、暗号鍵の算出に必要となり、センタが秘密裏に管理する乱数α’（α’は整数である。）を、無作為に選択する。第２リーフキー割当部２４９は、木構造構成部２３１が構築したＹ分木構造のリーフに対して、リーフキーｇｂ’（ｂ＝１，２，・・・，Ｂ）を割り当てる。第２暗号鍵算出部２４５は、第２リーフキー割当部２４９が各リーフに対して割り当てたリーフキーｇｂ’を用いて、非特許文献１の一般化方式に基づいて、公開鍵と暗号鍵とを算出する。
【０１５５】
記憶部２５３は、例えば、木構造記憶部２５５、乱数記憶部２５７、リーフキー記憶部２５９、パラメータ記憶部２６１、および鍵記憶部２６３等を含む。これらの記憶部には、各処理部が行った処理の途中で必要となった変数や計算結果、または、処理の結果得られたもの記憶する。双線形群決定部２３１、第１処理部２３３および第２処理部２４５等の各処理部は、この記憶部２５３に対して、自由にデータを書き込んだり、データを読み出したりすることが可能である。
【０１５６】
また、この記憶部２５３には、上記の記憶部２５５、２５７、２５９、２６１、２６３以外にも、様々なデータを記憶させておくことが可能である。なお、図９においては、記憶部２５３の中に様々な記憶部が個別に存在するように示しているが、様々な記憶部を個別に存在させず、全体として１つの記憶部に様々なデータを記憶させておいてもよい。また、記憶部２５３としては、セキュアモジュールを備えた記憶媒体を用いることも可能である。
【０１５７】
本実施形態に係る鍵生成装置における配布部２６４は、例えば、送信部２６５と、公開鍵公開部２６７とを備える。送信部２６５は、第１処理部２３７および第２処理部２４５が算出し、鍵記憶部２６３に記憶されている個人秘密鍵を、各受信装置へと送信する。また、公開鍵公開部２６７は、第１処理部２３７および第２処理部２４５が算出し、鍵記憶部２６３に記憶されている公開鍵を、各受信装置に公開する。
【０１５８】
続いて、本実施形態に係る暗号化装置３０の構成について、図１０を参照しながら説明する。図１０は、本実施形態に係る暗号化装置３０の構成を示したブロック図である。
【０１５９】
図１０に示したように、暗号化装置３０は、例えば、受信部３０１と、記憶部３０３と、排除受信装置特定部３０５と、セッション鍵選択部３０７と、第１セッション鍵決定部３０９と、第２セッション鍵決定部３１５と、暗号化部３２１と、コンテンツ記憶部３２３と、コンテンツ送信部３２５と、を備える。
【０１６０】
受信部３０１は、鍵生成装置２０により生成され、公開された公開鍵を受信する。また、受信部３０１は、公開鍵以外にも、鍵生成装置２０により生成された素数ｐや、排除する受信装置が特定された情報である、排除されていない受信装置の集合Ｓに関する情報を更に受信することができる。
【０１６１】
記憶部３０３は、例えば、鍵生成装置２０によって生成された公開鍵を記憶する。また、公開鍵以外にも、素数ｐや排除されていない受信装置の集合Ｓに関する情報等の情報を記憶することが可能である。
【０１６２】
排除受信装置特定部３０５は、暗号化装置３０に通信網１２を介して接続されている複数の受信装置４０の中から、コンテンツの配信を排除する受信装置を特定し、排除されていない受信装置の集合Ｓを決定する。集合Ｓの決定に際しては、排除受信装置特定部３０５は、記憶部３０３に記憶されている様々なデータを参照することができる。
【０１６３】
セッション鍵選択部３０７は、コンテンツを暗号化する際に用いる鍵、すなわち、鍵生成装置２０の第１処理部２３７が生成した暗号鍵と、鍵生成装置２０の第２処理部２４５が生成した暗号鍵、を選択する。セッション鍵の選択に当たっては、セッション鍵選択部３０７は、記憶部３０３に記憶された、契約者に関する情報等を参照することが可能である。
【０１６４】
第１セッション鍵決定部３０９は、鍵生成装置２０により構築されたＹ分木構造、および、鍵生成装置２０の第１処理部２３７が生成した公開鍵等に基づいて、コンテンツを暗号化するためのセッション鍵ｓを算出する。第１セッション鍵決定部３０９は、例えば、第１ヘッダ要素算出部３１１と、第１ヘッダ情報生成部３１３と、を更に備える。
【０１６５】
第１ヘッダ要素算出部３１１は、鍵生成装置２０により構築されたＹ分木構造、および、鍵生成装置２０の第１処理部２３７が生成したリーフキーや公開鍵等の暗号鍵に基づいて、暗号化したコンテンツと共に配信されるヘッダｈの構成要素を、算出する。第１ヘッダ情報生成部３１３は、第１ヘッダ要素算出部３１１が算出したヘッダ要素と、鍵生成装置２０の第１処理部２３７が生成した公開鍵とに基づいて、ヘッダｈを生成する。
【０１６６】
第２セッション鍵決定部３１５は、非特許文献１に記載に一般化方式に基づいて、コンテンツを暗号化するためのセッション鍵ｓを算出する。第２セッション鍵決定部３１５は、例えば、第２ヘッダ要素算出部３１７と、第２ヘッダ情報生成部３１９と、を更に備える。
【０１６７】
第２ヘッダ要素算出部３１７は、鍵生成装置２０の第２処理部２４５が生成したリーフキーや公開鍵等に基づいて、暗号化したコンテンツと共に配信されるヘッダｈの構成要素を、算出する。第２ヘッダ情報生成部３１９は、第２ヘッダ要素算出部３１７が算出したヘッダ要素と、鍵生成装置２０の第２処理部２４５が生成した公開鍵とに基づいて、ヘッダｈを生成する。
【０１６８】
暗号化部３２１は、コンテンツ記憶部３２３から配信するコンテンツを選び出し、セッション鍵選択部３０７が選択したセッション鍵、すなわち、第１セッション鍵決定部３０９により算出されたセッション鍵ｓ、または、第２セッション鍵決定部３１５により算出されたセッション鍵ｓのいずれかを用いて、コンテンツを暗号化する。
【０１６９】
コンテンツ記憶部３２３は、暗号化されていないコンテンツを記憶する。また、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）やメモリーカード等のメディア媒体から取得したコンテンツを記憶するとしてもよい。ここで、上記のコンテンツとは、例えば、映画、テレビジョン番組、ビデオプログラム、図表等の動画又は静止画からなる映像（Ｖｉｄｅｏ）コンテンツ、音楽、講演、ラジオ番組等の音声（Ａｕｄｉｏ）コンテンツや、ゲームコンテンツ、文書コンテンツ、ソフトウェアなど、任意のコンテンツデータであってもよい。映像コンテンツは、映像データのみならず、音声データを含んでいてもよい。
【０１７０】
コンテンツ送信部３２５は、暗号化部３２１によって暗号化された暗号化コンテンツと、暗号化に用いられたセッション鍵とともに生成されたヘッダと、排除受信装置特定部３０５によって特定された集合Ｓとを、通信網１２を介して、各受信装置に送信する。
【０１７１】
続いて、本実施形態に係る受信装置４０の構成について、図１１を参照しながら説明する。図１１は、本実施形態に係る受信装置４０の構成を示したブロック図である。
【０１７２】
図１１に示したように、受信装置４０は、例えば、受信部４０１と、記憶部４０３と、復号方式選択部４０５と、第１復号処理部４０７と、第２復号処理部４１３と、を備える。
【０１７３】
受信部４０１は、鍵生成装置２０により生成された個人秘密鍵を受信する。また、受信部４０１は、個人秘密鍵以外にも、鍵生成装置２０により生成された公開鍵や、排除する受信装置が特定された情報である、排除されていない受信装置の集合Ｓに関する情報を更に受信することができる。また、暗号化装置３０によって暗号化されたコンテンツについても、受信することが可能である。
【０１７４】
記憶部４０３は、例えば、鍵生成装置２０によって生成された公開鍵や個人秘密鍵を記憶する。また、これらの暗号鍵以外にも、排除されていない受信装置の集合Ｓに関する情報や、配信された暗号化コンテンツや復号されたコンテンツ等のコンテンツ情報を記憶することが可能である。
【０１７５】
復号方式選択部４０５は、鍵生成装置２０から配信された、排除されていない受信装置の集合Ｓから、排除される受信装置の個数ｒを算出し、排除される受信装置の個数ｒに応じて、復号に用いる復号処理部、すなわち、第１復号処理部４０７または第２復号処理部４１３のいずれか、を選択する。
【０１７６】
第１復号処理部４０７は、鍵生成装置２０の第１セッション鍵決定部２７５で生成されたセッション鍵によって暗号化されたコンテンツを、復号する。第１復号処理部４０７は、例えば、判定部４０９と、第１セッション鍵算出部４１１とを、更に備える。
【０１７７】
判定部４０９は、受信装置４０自身が、排除されていない受信装置の集合Ｓに含まれているか否かを判定する。第１セッション鍵算出部４１１は、送信されてきたヘッダｈと、自身が所有している個人秘密鍵と、公開鍵とに基づいて、復号に必要なセッション鍵を算出する。
【０１７８】
第２復号処理部４１３は、鍵生成装置２０の第２セッション鍵決定部２８１で生成されたセッション鍵によって暗号化されたコンテンツを、復号する。第２復号処理部４１３は、例えば、判定部４１５と、第２セッション鍵算出部４１７とを、更に備える。
【０１７９】
判定部４１５は、受信装置４０自身が、排除されていない受信装置の集合Ｓに含まれているか否かを判定する。第２セッション鍵算出部４１７は、送信されてきたヘッダｈと、自身が所有している個人秘密鍵と、公開鍵とに基づいて、復号に必要なセッション鍵を算出する。
【０１８０】
以上、本実施形態に係る鍵生成装置２０、暗号化装置３０および受信装置４０の機能の一例を示した。上記の各構成要素は、汎用的な部材や回路を用いて構成されていてもよいし、各構成要素の機能に特化したハードウェアにより構成されていてもよい。また、各構成要素の機能を、ＣＰＵ等が全て行ってもよい。従って、本実施形態を実施する時々の技術レベルに応じて、適宜、利用する構成を変更することが可能である。
【０１８１】
本実施形態に係る鍵生成装置２０は、非特許文献１の切り替え方式同様、あらかじめ二つのコンテンツ配信システムを準備しておき、排除される契約者数に応じて、コンテンツ配信システムを切り替えるものである。
【０１８２】
非特許文献１の切り替え方式では、排除される契約者数が少ない場合におけるコンテンツ配信システムとして、共通鍵方式であるＳＤＭを利用していた。
【０１８３】
本実施形態では、上記のＳＤＳの代わりに、非特許文献１の一般化方式にパラメータを追加し、論理木構造を構築するようにし、さらに、この方式における論理木に、新たなパラメータを割り当てた方式を使用する。このような構成によって、配信システムを切り替える際にも各パラメータを共用することが可能となり、非特許文献１の切り替え方式よりも、契約者が保持する鍵数を、少なくすることが可能となる。
【０１８４】
本実施形態は、非特許文献１の切り替え方式同様、鍵生成、暗号化、および復号という、三つのフェーズから構成される。鍵生成フェーズは、センタである鍵生成装置２０が、システム構成時に一度だけ実行する。また、暗号化フェーズは配信者が各々コンテンツを配信するごとに実行され、復号フェーズは、契約者が暗号化コンテンツを受信するごとに実行される。なお、本実施形態の詳細を説明する上で使用する各記号及び演算は、基盤技術の説明において定義したものと同一のものとする。以下、初めに、本実施形態において構成する論理木に関する定義及び説明を行い、その後、各フェーズについて、詳細に説明する。
【０１８５】
＜論理木の構成と定義＞
本実施形態に係る鍵生成装置２０を説明する上で必要となる論理木に関して、まず説明および定義を行う。本実施形態に係る鍵生成装置２０では、各契約者をリーフに割り当て、かつ非特許文献１における契約者の分割をこの論理木に割り当てることによって、効率的なコンテンツ配信を実現している。なお、この論理木は、本実施形態に係る鍵生成装置２０における、木構造構成部２３５によって構成される。
【０１８６】
基盤技術である非特許文献１では、分割されたサブグループに所属する契約者数であるＢを用いたのに対して、本実施形態では、Ｂ＞ＹとなるＹ分木を利用するものとする。また、全契約者をリーフに割り当てる必要があるため、契約者総数ｎが、Ｙのべき乗で表される値であると仮定する。
【０１８７】
ただし、実際のコンテンツ配信においては、ｎがＹのべき乗とならない場合も多々存在するが、この場合には、ｎよりも十分に大きい、Ｙのべき乗数のリーフを、予め用意しておくことによって、容易に対応することが可能である。以下に、論理木に関する各定義を示す。
【０１８８】
本実施形態において利用するＹ分木は、リーフがｎであるので、Ｙ分木の高さをＨとすると、Ｈ＝ｌｏｇＹｎとなる。また、リーフを除くノードの総数をＮとすると、Ｎ＝（ｎ−１）／（Ｙ−１）となる。よって、Ｙ分木にはＨ個の階層が存在し、本実施形態では、この階層を、Ｌａｙｅｒと定義する。即ち、ルートの子ノードの集合をＬａｙｅｒ１、Ｌａｙｅｒ１の全ノードの子ノード（すなわち、ルートの孫ノード）の集合を、Ｌａｙｅｒ２という形で、Ｙ分木の各階層を、Ｌａｙｅｒ  ｘ（ｘ＝０，・・・，Ｈ）と定義する。ここで、ｘは、階層を表す添字である。また、Ｌａｙｅｒ  ｘに含まれる各ノードのインデックスを、ノードインデックスと呼び、（ｘ，ｙ）（ｙ＝１，・・・，Ｙｘ）と定義する。このとき、ルートは、Ｌａｙｅｒ０のノードであり、そのインデックスは（０，１）となる。ルートを除く全ノード（ｘ，ｙ）（ｘ＝１，・・・，Ｈ，ｙ＝１，・・・，Ｙｘ）には、排除される契約者数が大きい場合において利用されるコンテンツ配信用のパラメータｇｘ，ｙと共に、リーフに対して排除される契約者数が小さい場合におけるパラメータｇ’ｘ，ｙを割り当てる。また、リーフを除く全ノード（ｘ，ｙ）（ｘ＝０，・・・，Ｈ−１，ｙ＝１，・・・，Ｙｘ）にも、パラメータνｘ，ｙを割り当てるが、このパラメータは、二つのコンテンツ配信システムにおいて、共用されるパラメータである。
【０１８９】
このように定義したＹ分木の例として、図１２に、契約者数ｎ＝２５６、分岐数Ｙ＝４、及びＢ＝１６とした場合を示す。
【０１９０】
契約者数ｎが２５６であるため、ルートを除く４分木の高さＨは、ｌｏｇ４２５６＝４となる。従って、この４分木には、ルートを含めて５つの階層が存在する。すなわち、ルートを含む階層５０１がＬａｙｅｒ０となり、ルートの子ノードである４つのノードを含む階層５０３が、Ｌａｙｅｒ１となる。Ｌａｙｅｒ１に存在する４つのノードをそれぞれ親ノードとした場合の子ノードの階層５０５が、Ｌａｙｅｒ２となる。Ｌａｙｅｒ２には、Ｌａｙｅｒ１に存在する４つのノードそれぞれから、４つの子ノードが形成されるために、全部で１６個のノードが存在することとなる。Ｌａｙｅｒ２に存在する１６個のノードをそれぞれ親ノードとした場合の子ノードの階層５０７が、Ｌａｙｅｒ３である。Ｌａｙｅｒ３には、Ｌａｙｅｒ２の１６個のノードそれぞれから、４つの子ノードが形成されるために、全部で６４個のノードが存在することとなる。続いて、Ｌａｙｅｒ３の６４個のノードそれぞれから４つの子ノードが形成され、この子ノードの階層５０９が、リーフとなるＬａｙｅｒ４となる。このＬａｙｅｒ４には、４４＝２５６個のリーフが存在する。
【０１９１】
また、リーフを除くノードの数Ｎ、すなわち、ルートと中間ノードの数の和は、（２５６−１）／（４−１）＝８５となる。
【０１９２】
リーフを含めたそれぞれのノードに割り当てられるノードインデックスは、例えば、ルートは（０，１）となり、Ｌａｙｅｒ１の３つのノードは、それぞれ左端から（１，１）、（１，２）、（１，３）となる。同様にして、各Ｌａｙｅｒにおけるノードに対して、ノードインデックスが割り当てられる。また、Ｌａｙｅｒ４の２５６個のノード、すなわちリーフには、左端からそれぞれ（４，１）、（４，２），・・・，（４，２５６）というノードインデックスが付される。
【０１９３】
また、本実施形態に係る鍵生成装置２０では、このリーフそれぞれに受信装置４０、すなわち、コンテンツ配信に関する契約者５１１を割り当てる。つまり、Ｌａｙｅｒ４のリーフ（４，１）、（４，２）、・・・、（４，２５６）には、それぞれ、契約者１、契約者２、・・・、契約者２５６が割り当てられる。
【０１９４】
続いて、前述の論理木に関する定義を利用し、以下に、本実施形態に係る暗号鍵配信システムの具体的な説明を示す。
【０１９５】
＜鍵生成装置２０の動作：鍵生成フェーズ＞
センタは、所有する鍵生成装置２０を操作し、以下の手順に従って、公開鍵と各契約者の個人秘密鍵とを生成する。以下に、図１２、図１３および図１４を参照しながら、本実施形態に係る鍵生成装置２０の動作、すなわち暗号鍵生成フェーズについて、詳細に説明する。図１３は、鍵生成装置２０による鍵生成の概要を説明するための説明図である。図１４は、鍵生成装置２０による暗号鍵生成フェーズの流れ図である。
【０１９６】
まず、鍵生成装置２０の双線形群決定部２３１は、値の大きな素数ｐを選択し、位数ｐの双線形群Ｇを決定する（ステップＳ１０１）。ここで、値の大きな素数ｐとは、桁数の多い素数を意味する。双線形群決定部２３１は、容易に離散対数問題が解けないような、桁数の多い素数を選択することで、本実施形態に係る暗号鍵の安全性を担保する。
【０１９７】
次いで、双線形群決定部２３１が、双線形群Ｇの中から生成元ｇを選択するとともに、第１処理部２３３の第１乱数決定部２３９と、第２処理部２４５の第２乱数決定部２４７とが、それぞれ別個に、乱数α、α’を整数の中から無作為に選択する（ステップＳ１０３）。
【０１９８】
これらの素数ｐ、双線形群Ｇ、生成元ｇおよび乱数αに関するデータは、例えば、記憶部２５３中の乱数記憶部２５７の中に記憶され、第１処理部２３３、第２処理部２４５等によって参照される。
【０１９９】
次いで、第１処理部２３３の木構造決定部２３５が、分割されたサブグループに所属する契約者数Ｂを決定し、Ｂ＞Ｙとなるように論理木の分岐数Ｙを決定する。また、排除された契約者数が大きい場合における契約者集合の分割数Ａと、排除された契約者数が小さい場合における契約者集合の分割数Ｘを、以下の計算により決定し、各契約者をリーフとして割り当てたＹ分木を構成する（ステップＳ１０５）。ここで、以下の式１０１、式１０２中のｎは、契約者の総数である。
【０２００】
【数２２】
2008113203.tif 000024
2008113203.tif 000025
【０２０１】
すなわち、Ｂ＞Ｙとなるような論理木の分岐数Ｙと、この分岐数Ｙによって決定される分割数Ｘとを用いて、第１処理部２３３は暗号鍵生成処理を行うとともに、分割されたサブグループに所属する契約者数Ｂと、この契約者数Ｂによって決定される分割数Ａとを用いて、第２処理部２４５は暗号鍵生成処理を行う。
【０２０２】
例えば、図１２に示したように、契約者数が２５６であり、分割されたサブグループに所属する契約者数Ｂが１６、分岐数Ｙが４である場合には、式１０１より分割数Ａは１６となり、式１０２より分割数Ｘは６４となる。
【０２０３】
以上のようにして決定された分割数や、構築されたＹ分木構造等を、木構造構成部２３５は、記憶部２５３中の木構造記憶部２５５に記憶させる。
【０２０４】
続いて、第１処理部２３３の第１リーフキー割当部２４１は、ｉ（ｉ＝１，・・・，Ｙ，Ｙ＋２，・・・，２Ｙ）に対して、リーフキーｇｉを、以下のようにして算出する（ステップＳ１０７）。
【０２０５】
【数２３】
2008113203.tif 000026
【０２０６】
あわせて、第２処理部２４５の第２リーフキー割当部２４９は、ｊ（ｊ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）に対して、リーフキーｇ’ｊを、以下のようにして算出する（ステップＳ１０７）。
【０２０７】
【数２４】
2008113203.tif 000027
【０２０８】
上記の式１０２から明らかなように、リーフキーｇｉの算出にあたっては、双線形群決定部２３１が決定した生成元ｇ、および、第１乱数決定部２３９が決定したセンタ秘密である乱数αを用いる。そのため、第１リーフキー割当部２４１は、記憶部２５３中の乱数記憶部２５７にアクセスして、これらのデータを読み出す。リーフキーを算出した後は、第１リーフキー割当部２４１は、算出したリーフキーｇｉを、記憶部２５３中のリーフキー記憶部２５９に保存する。
【０２０９】
同様にして、リーフキーｇ’ｊの算出にあたっては、双線形群決定部２３１が決定した生成元ｇ、および、第２乱数決定部２４７が決定したセンタ秘密である乱数α’を用いる。そのため、第２リーフキー割当部２４９は、記憶部２５３中の乱数記憶部２５７にアクセスして、これらのデータを読み出す。リーフキーを算出した後は、第２リーフキー割当部２４９は、算出したリーフキーｇ’ｊを、記憶部２５３中のリーフキー記憶部２５９に保存する。
【０２１０】
なお、ステップＳ１０７においては、リーフキーｇｉを、サブグループに所属する契約者の数であるＹ個だけでなく、ｉをＹ＋１を除く２Ｙまで変化させて、リーフキーｇｉを算出している。ｇＹ＋１を算出しない理由は、本実施形態に係る暗号鍵配信システム１０の安全性を担保するためであり、ｇＹ＋２からｇ２Ｙまでのリーフキーｇｉは、後に述べる復号フェーズで復号を行う際に必要となるからである。リーフキーｇ’ｊについても、同様である。
【０２１１】
続いて、第１処理部２３３のパラメータ割当部２３７は、リーフを除く全ノード（ｘ，ｙ）に対応する乱数γｘ，ｙ（γｘ，ｙは整数）を無作為に選択する。続いて、パラメータνｘ，ｙを以下のように算出し、Ｙ分木のリーフを除く各ノードに、それぞれ割り当てる（ステップＳ１０９）。ここで、ｘ＝０，・・・，Ｈ−１（Ｈは、Ｙ分木構造の高さである。）であり、ｙ＝１，・・・，Ｙｘである。
【０２１２】
【数２５】
2008113203.tif 000028
【０２１３】
例えば、図１２のように、２５６人の契約者に対して４分木構造を構築した場合には、４分木構造の高さＨは４であるため、ｘは０〜３となる。また、ｙは、１〜６４となる。つまり、図１２の場合は、パラメータ割当部２３７によって割り当てられるパラメータνｘ，ｙは、ν０，１〜ν３，６４の計８５個となる。したがって、γｘ，ｙについても、８５個の整数が無作為に選択されることとなる。このようにして決定された値に基づき、式１０４によって、各ノードにパラメータが割り当てられる。
【０２１４】
また、パラメータ割当部２３７によって算出されたパラメータνｘ，ｙやノードパラメータγｘ，ｙ等は、記憶部２５３中のパラメータ記憶部２６１に記憶される。
【０２１５】
続いて、第１リーフキー割当部２４１は、ルートを除く全ノードに、ｇｘ，ｙを割り当てる（ステップＳ１１１）。ここで、ｘ＝１，・・・Ｈ、ｙ＝１，・・・，Ｙｘであり、ｇｘ，ｙは、ｇ１，・・・，ｇＹからなる集合｛ｇ１，・・・，ｇＹ｝の元である。同時に、第２リーフキー割当部２４９は、リーフに対して、ｇ’ｘ，ｙを割り当てる（ステップＳ１１１）。ここで、ｘ＝Ｈ、ｙ＝１，・・・，ＹＨであり、ｇ’ｘ，ｙは、ｇ’１，・・・，ｇ’Ｂからなる集合｛ｇ’１，・・・，ｇ’Ｂ｝の元である。割り当てた結果は、記憶部２５３中のリーフキー記憶部２５９に、構築された木構造に関連付けられて記憶される。
【０２１６】
例として、図１２に示した場合を考える。この場合、Ｌａｙｅｒ１（５０３）には、ルートを親ノードとする４つの子ノードが存在し、１つのサブグループを構成している。したがって、ノード（１，１）には、ｇ１，１としてｇ１が、ノード（１，２）には、ｇ１，２としてｇ２が、ノード（１，３）には、ｇ１，３としてｇ３が、ノード（１，４）には、ｇ１，４としてｇ４がそれぞれ割り当てられる。
【０２１７】
また、Ｌａｙｅｒ２（５０５）を考えると、このノード（１，１）を親ノードとする４つの子ノード（２，１）、（２，２）、（２，３）、（２，４）からなるサブグループ、ノード（１，２）を親ノードとする４つの子ノード（２，５）、（２，６）、（２，７）、（２，８）からなるサブグループ等、計４つのサブグループが存在している。この場合、ノード（２，１）には、ｇ２，１としてｇ１が、ノード（２，２）には、ｇ２，２としてｇ２が、ノード（２，３）には、ｇ２，３としてｇ３が、ノード（２，４）には、ｇ２，４としてｇ４が割り当てられる。同様に、ノード（２，５）には、ｇ２，５としてｇ１が、ノード（２，６）には、ｇ２，６としてｇ２が、ノード（２，７）には、ｇ２，７としてｇ３が、ノード（２，８）には、ｇ２，８としてｇ４が割り当てられ、以下、同様にして、ノード（２，１６まで、リーフキーｇｉが割り当てられる。
【０２１８】
また、Ｌａｙｅｒ２（５０５）と同様にして、Ｌａｙｅｒ３（５０７）の６４個のノード、および、Ｌａｙｅｒ４（５０９）の２５６個のリーフに対しても、それぞれリーフキーｇｉが割り当てられる。
【０２１９】
同時に、Ｌａｙｅｒ４（５０９）の２５６個のリーフに対しては、リーフキーであるｇ’１〜ｇ’１６が、左から順に繰り返し割り当てられる。すなわち、リーフ（４，１６）にリーフキーｇ’１６が割り当てられると、右隣のリーフ（４，１７）には、ｇ’１が割り当てられ、最終的に、リーフ（４，２５６）には、リーフキーｇ’１６が割り当てられる。
【０２２０】
続いて、第１処理部２３３の第１鍵算出部２４３と、第２処理部２４５の第２鍵算出部２５１とは、それぞれ公開鍵ＰＫの要素を算出し、公開鍵公開部２６７を介して公開する（ステップＳ１１３）。
【０２２１】
【数２６】
2008113203.tif 000029
【０２２２】
上記の式１０５から明らかなように、公開鍵ＰＫは、双線形群決定部２３１が決定した生成元ｇと、第１リーフキー割当部２４１が算出したリーフキーｇｉと、第２リーフキー割当部２４９が算出したリーフキーｇ’ｊと、パラメータ割当部２３７が算出したパラメータνｘ，ｙから構成されている。したがって、第１鍵算出部２４３および第２鍵算出部２５１は、記憶部２５３中の各記憶部２５７、２５９、２６１を参照して、公開鍵ＰＫを構成する。第１鍵算出部２４３および第２鍵算出部２５１は、構成した公開鍵ＰＫを、記憶部２５３中の鍵記憶部２６３に記憶する。公開鍵公開部２６７は、この鍵記憶部２６３を参照して、公開鍵を公開する。なお、それぞれの鍵算出部は、構成した公開鍵ＰＫの要素を、直接公開鍵公開部２６７へと送信してもよい。
【０２２３】
第１処理部２３３の第１鍵算出部２４３は、契約者ｉ（ｉ＝１，・・・，ｎ）に対して、ルートから契約者ｉに割り当てられたリーフに至るパスを特定し、そのパス上にあるＬａｙｅｒ  ｘ上のノードに対する契約者ｉのインデックスをｉｘとする。すなわち、ｉ０＝（０，１）であり、ｉＨ＝（Ｈ，ｉ）である。センタは、契約者ｉに割り当てられたルートを除く全ノードｉ１，・・・，ｉＨに対して、これらのノードに割り当てられたパラメータｇｉｘを特定し、リーフを除く全ノードｉ０，・・・，ｉＨ−１に割当てられたパラメータγｉｘを特定する。また、第２処理部２４５の第２鍵算出部２４５は、リーフに割り当てられたｇ’ｉＨを特定する。それぞれの鍵算出部は、以下のようにして契約者ｉの個人秘密鍵ｄｉを計算し、安全な通信路を用いて契約者ｉに配布する（ステップＳ１１５）。
【０２２４】
【数２７】
2008113203.tif 000030
【０２２５】
式１０６から明らかなように、個人秘密鍵ｄｉの各要素は、第１処理部２３３の第１鍵算出部２４３が算出した個人秘密鍵と、第２処理部２４５の第２鍵算出部２５１が算出した個人秘密鍵との組合せとなっている。第１鍵算出部２４３が算出した個人秘密鍵は、特定したパス上にあるノードｉｘに割り当てられたリーフキーｇｉｘと、ノードｉｘの親ノードとなるノードに割り当てられたパラメータγｉｘ−１と、に基づいて計算される。また、第２鍵算出部２５１が算出した個人秘密鍵は、契約者が割り当てられたリーフのリーフキーｇ’ｉＨと、当該リーフの親ノードのさらに親ノードに割り当てられたパラメータγｉｘ−２と、に基づいて計算される。すなわち、それぞれの個人秘密鍵ｄｉは、各ノードに割り当てられたリーフキーに基づいて算出された鍵のセットであるといえる。
【０２２６】
なお、それぞれの鍵算出部において、各契約者固有の個人秘密鍵ｄｉが算出されると、それぞれの鍵算出部は、これらの個人秘密鍵を、記憶部２５３中の鍵記憶部２６３に記憶する。送信部２６５が、各契約者に対して個人秘密鍵ｄｉを送信する場合には、送信部２６５は、記憶部２５３中の鍵記憶部２６３を参照して、必要な情報を取得する。また、それぞれの鍵算出部が、生成した個人秘密鍵を、直接送信部２６５へと受け渡すようにしてもよい。
【０２２７】
以上説明したように、本実施形態に係る鍵生成装置２０は、図１３に示したように、センタ５１３である鍵生成装置２０が、双線形群Ｇや、各種のパラメータを選択し、公開鍵ＰＫと、契約者固有の個人秘密鍵ｄｉを生成する。そして、センタ５１３は、公開鍵ＰＫを公開するとともに、各契約者５１１に対して、安全な一対一通信路５１５を用いて、個人秘密鍵ｄｉを配布する。
【０２２８】
＜暗号化装置３０の動作：暗号化フェーズ＞
続いて、図１５および１６を参照しながら、本実施形態に係る暗号化装置３０の動作、すなわち暗号化フェーズを、詳細に説明する。図１５は、鍵生成装置２０による暗号化の概要を説明するための説明図である。図１６は、鍵生成装置２０による暗号化フェーズの流れ図である。なお、以下に説明する暗号化フェーズは、暗号化装置３０を所有する任意の第三者が行うことも可能である。また、鍵生成装置２０の所有者や受信装置４０の所有者であっても、暗号化装置３０の所有者であれば、以下の暗号化フェーズを行うことが可能である。
【０２２９】
以下に説明する暗号化フェーズを実行するに先立ち、暗号化装置３０の受信部３０１は、鍵生成装置２０によって生成および公開された公開鍵と、素数ｐと、木構造に関する情報と、排除されていない受信装置の集合Ｓに関する情報と、をそれぞれ受信する。受信部３０１が取得したこれらの情報は、記憶部３０３に記憶される。記憶部３０３に記憶されたこれらの情報は、暗号化装置３０の各処理部が、自由に読み出すことができる。
【０２３０】
まず、セッション鍵選択部３０７は、記憶部３０３等を参照しながら、排除される契約者を決定し、排除される契約者数ｒが以下の式１０７を満たすか否かを判定する（ステップＳ３０１）。判定の結果、式１０７が成立する場合には、暗号化装置３０は、第２セッション鍵決定部３１５に対して、ステップＳ３０３を実行するように指示を出す。また、式１０７が成立しない場合には、暗号化装置３０は、第１セッション鍵決定部３０９に対して、ステップＳ３０５を実行するように指示を出す。なお、本実施形態では、一人の契約者が一台の受信装置を所有している場合について説明を行うが、一人の契約者が複数の受信装置を所有している場合には、排除される契約者数ｒは、排除される受信装置数ｒとなることは言うまでもない。
【０２３１】
【数２８】
2008113203.tif 000031
【０２３２】
ここで、上記の式１０７は、排除される契約者ｒの数に基づいて、用いる暗号鍵の種類、すなわち、鍵生成装置２０の第１処理部２３３で生成された暗号鍵か、鍵生成装置２０の第２処理部２４５で生成された暗号鍵か、を判定する式となっている。
【０２３３】
ステップＳ３０１において、上記の式１０７が成立した場合には、第２セッション鍵決定部３１５は、コンテンツを復号可能な契約者の集合Ｓを決定するとともに、基盤技術である非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１を、実行する（ステップＳ３０３）。その際、上記の非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１において、ｇｊ＝ｇ’ｊ（ｊ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）およびνｉ＝νＨ−２，ｉ（ｉ＝１，・・・，Ａ）として実行する。
【０２３４】
上記のようにして各ステップを実行することで、第２セッション鍵決定部３１５がセッション鍵ｓを決定するとともに、第２ヘッダ要素算出部３１７がヘッダ要素を算出し、第２ヘッダ情報生成部３１９が、ヘッダｈを算出する。得られたセッション鍵ｓに基づいて、暗号化部３２１がコンテンツを暗号化し、コンテンツ送信部３２５は、暗号化コンテンツＣ、ヘッダｈ、集合Ｓを、契約者へと送信する。
【０２３５】
ステップＳ３０１において、上記の式１０７が成立しなかった場合には、排除受信装置特定部３０５は、排除したい全ての契約者に割り当てられたリーフからルートに至るパス上にある全てのノードをマークし、排除されていない契約者が、ヘッダｈから自身に割り当てられたヘッダ要素を特定するためのノードインデックスの集合Ｓを、Ｓ＝φ（φは空集合を表す。）として初期化する（ステップＳ３０５）。
【０２３６】
続いて、第１セッション鍵決定部３０９は、任意の整数ｔを無作為に選択して、セッション鍵ｓを以下のように算出する（ステップＳ３０７）。
【０２３７】
ｓ＝ｅ（ｇＹ＋１，ｇ）ｔ＝ｅ（ｇＹ，ｇ１）ｔ  ・・・（式１０８）
【０２３８】
続いて、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、階層を表すパラメータであるｘを−１と設定する（ステップＳ３０９）。すなわち、このステップＳ３０９は、階層を表すパラメータｘの初期化ステップである。
【０２３９】
続いて、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、ｘにｘ＋１を代入して、ｘの値を１つ増加させる（ステップＳ３１１）。
【０２４０】
次に、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、ｙをゼロとして、パラメータの初期化をはかる（ステップＳ３１３）。
【０２４１】
続いて、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、各ｌａｙｅｒにおけるノードの位置を表すパラメータであるｙに、ｙ＋１を代入して、ｙの値を１つ増加させる（ステップＳ３１５）。
【０２４２】
次に、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、ノード（ｘ，ｙ）に対応するヘッダ要素ｃｘ，ｙを、ｃｘ，ｙ＝０として、初期化する（ステップＳ３１７）。
【０２４３】
以下に示すステップより、第１セッション鍵決定部３０９の第１ヘッダ要素算出部３１１は、ヘッダ要素を算出するための具体的な処理を行うこととなる。
【０２４４】
続いて、第１ヘッダ要素算出部３１１は、ノード（ｘ，ｙ）の子ノードが、全てマークされているか否かを判定する（ステップＳ３１９）。判定の結果、全ての子ノードがマークされている場合には、以下に示すステップＳ３２５へと進む。また、マークされていない子ノードが存在する場合には、以下のステップＳ３２１へと進む。
【０２４５】
次に、第１ヘッダ要素算出部３１１は、マークされていない子ノードの集合をＳｘ，ｙとし、Ｓｘ，ｙの各要素をルートとする部分木（サブグループ）に所属する契約者に対応するヘッダ要素を、以下のように算出する（ステップＳ３２１）。
【０２４６】
【数２９】
2008113203.tif 000032
【０２４７】
また、第１ヘッダ要素算出部３１１は、集合Ｓを以下のように設定する（ステップＳ３２１）。
【０２４８】
【数３０】
2008113203.tif 000033
【０２４９】
次に、第１ヘッダ要素算出部３１１は、Ｓｘ，ｙの各要素をルートとする部分木に対して、その部分木に所属する全ノード（リーフを含む。）をマークする（ステップＳ３２３）。
【０２５０】
続いて、第１ヘッダ要素算出部３１１は、現在着目しているパラメータｙが、Ｙｘに該当するか否かを判定する（ステップＳ３２５）。判定の結果、ｙがＹｘである場合には、以下に示すステップＳ３２７へと移行する。また、ｙがＹｘではない場合には、ステップＳ３１５へと戻って、パラメータｙを１増加させる。
【０２５１】
次に、第１ヘッダ要素算出部３１１は、現在着目しているパラメータｘが、Ｈ−１であるか否かを判定する（ステップＳ３２７）。判定の結果、ｘがＨ−１であれば、以下のステップＳ３２９へと移行する。また、ｘがＨ−１でない場合には、ステップＳ３１１へと戻って、パラメータｘを１増加させる。
【０２５２】
上記のように、ステップＳ３２５およびステップＳ３２７の条件を共に満足するまで、ステップＳ３１１〜ステップＳ３２７を繰り返すことで、第１ヘッダ要素算出部３１１は、ヘッダ生成に必要な全てのヘッダ要素を算出することが可能である。
【０２５３】
すなわち、具体的なヘッダ要素の算出に先立ち、ステップＳ３１７において、着目しているノード（ｘ，ｙ）に対応するヘッダ要素ｃｘ，ｙをゼロに初期化しているため、ステップＳ３１９において、着目しているノード（ｘ，ｙ）の子ノードが全てマークされている場合には、ノード（ｘ，ｙ）のヘッダ要素ｃｘ，ｙはゼロのままで記憶される。一方、着目しているノード（ｘ，ｙ）の子ノードが全てマークされていない場合には、ステップＳ３２１において、ｃｘ，ｙに新たな値が代入されるため、ｃｘ，ｙはゼロではない値を有することとなる。
【０２５４】
上記のステップを繰り返すことで得られたヘッダ要素の全てを、第１ヘッダ要素算出部３１１は、第１ヘッダ情報生成部３１３へと受け渡す。また、第１ヘッダ要素算出部３１１は、算出したヘッダ要素を、記憶部３０３に記憶してもよい。
【０２５５】
続いて、第１ヘッダ情報生成部３１３は、生成元ｇと、ステップＳ３０７で選択したｔと、を用いて、ｇｔを計算する。また、ヘッダ要素ｃｘ，ｙがゼロではないヘッダ要素のみを利用して、ヘッダｈを以下のように構成する（ステップＳ３２９）。
【０２５６】
ｈ＝（ｇｔ，ｃ０，１，・・・，ｃＨ−１，Ｘ）  （ｃｘ，ｙ≠０）  ・・・（式１１１）
【０２５７】
第１ヘッダ情報生成部３１３は、ヘッダ情報を生成すると、生成したヘッダｈを暗号化部３２１へと受け渡す。また、第１ヘッダ情報生成部３１３は、生成したヘッダｈを、記憶部３０３に記憶してもよい。
【０２５８】
続いて、暗号化部３２１は、暗号化されていない配信予定のコンテンツＭをコンテンツ記憶部３２３から受け取り、第１セッション鍵決定部３０９が決定したセッション鍵ｓを用いて、以下のように、コンテンツＭを暗号化する。その後、コンテンツ送信部３２５は、暗号化したコンテンツＣを、第１ヘッダ情報生成部３１３が生成したヘッダｈおよびノードインデックスの集合Ｓと共に、契約者へと送信する（ステップＳ３３１）。
【０２５９】
Ｃ＝Ｅｓ（Ｍ）  ・・・（式１１０）
【０２６０】
以上説明したように、本実施形態に係る暗号化フェーズは、図１５に示したように、配信者５１７が、公開鍵ＰＫと、自身が選択した乱数ｔとを用いて、セッション鍵ｓと、ヘッダｈとを算出する。同時に、配信者５１７は、コンテンツを復号可能な契約者の集合Ｓも決定する。そして、配信者５１７は、同報通信路５１９を介して、契約者５１１、非契約者５２１を問わず、暗号化コンテンツＣ、ヘッダｈ、および集合Ｓを配信する。
【０２６１】
＜受信装置４０の動作：復号フェーズ＞
続いて、図１７を参照しながら、本実施形態に係る受信装置４０の動作、すなわち復号フェーズを、詳細に説明する。図１７は、受信装置４０による鍵処理方法である、復号フェーズの流れ図である。
【０２６２】
まず、暗号化コンテンツＣ、ヘッダｈ、集合Ｓを受信部４０１により受信した受信装置４０は、これらの情報を、一旦記憶部４０３に記憶する。この後、暗号化コンテンツＣの復号処理が行われる。
【０２６３】
受信装置４０の復号方式選択部４０５は、集合Ｓから排除される契約者数ｒを算出し、以下の式１１１が成立するか否かを判断する（ステップＳ５０１）。式１１１が成立する場合には、復号方式選択部４０５は、第２復号処理部４１３に対して、以下のステップＳ５０３を実行するように指示を出す。また、式１１１が成立しない場合には、復号方式判定部４０５は、第１復号処理部４０７に対して、以下のステップＳ５０５を実行するように指示を出す。
【０２６４】
【数３１】
2008113203.tif 000034
【０２６５】
ステップＳ５０１において、上記の式１１１が成立した場合には、第２復号処理部４１３は、基盤技術である非特許文献１の復号フェーズのステップＳ５５〜ステップＳ５７を実行する（ステップＳ５０３）。その際、上記の非特許文献１の復号フェーズのステップＳ５５〜ステップＳ５７において、ｇｊ＝ｇ’ｊ（ｊ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）およびνｉ＝νＨ−２，ｉ（ｉ＝１，・・・，Ａ）として実行する。
【０２６６】
具体的には、第２復号処理部４１３の判定部４１５が、自身が集合Ｓに含まれているか否かを判定し、自身が集合Ｓに含まれている場合に、第２セッション鍵算出部４１７が、自身が所有している個人秘密鍵と、送信されたヘッダｈと、公開鍵とを用いて、セッション鍵ｓを算出する。その後、算出されたセッション鍵ｓを用いて、暗号化コンテンツＣを、平文Ｍへと復号する。
【０２６７】
ステップＳ５０１において、上記の式１１１が成立しなかった場合には、第１復号処理部４０７の判定部４０９は、記憶部４０３に記憶されている集合Ｓを参照して、自身に割り当てられたリーフからルートに至るまでの各ノードのうち、集合Ｓに含まれるものが存在するか否かを判定する（ステップＳ５０５）。判定の結果、集合Ｓに含まれるノードが存在しなければ、自身は排除されたものとして、以下の復号処理を終了する。また、判定の結果、集合Ｓに含まれるノードが存在する場合には、集合Ｓに含まれるノードのノードインデックスを（ｘ’，ｙ’）として、以下のステップＳ５０７を行うこととなる。
【０２６８】
第１復号処理部４０７の第１セッション鍵算出部４１１は、受信部４０１が受信し記憶部４０３に記憶されているヘッダｈの各要素のうち、ノード（ｘ’，ｙ’）の親ノード（ｘ，ｙ）に対応するヘッダ要素ｃｘ，ｙとｇｔとを選択する（ステップＳ５０７）。ここで、ノード（ｘ’，ｙ’）の親ノード（ｘ，ｙ）は、以下の式で表される。
【０２６９】
【数３２】
2008113203.tif 000035
【０２７０】
また、第１セッション鍵算出部４１１は、公開鍵と、自身の個人秘密鍵ｄｉからノード（ｘ’，ｙ’）に対応する要素とを利用して、以下のようにセッション鍵ｓを取得する（ステップＳ５０７）。
【０２７１】
【数３３】
2008113203.tif 000036
【０２７２】
続いて、第１復号処理部４０７は、得られたセッション鍵ｓを用いて、暗号化されたコンテンツＣを復号し、平文Ｍを得る（ステップＳ５０９）。
【０２７３】
Ｍ＝Ｄｓ（Ｃ）  ・・・（式１１４）
【０２７４】
以上、本実施形態に係る暗号鍵生成システム１０における鍵生成、暗号化、および復号という三つのフェーズの一例を、詳細に説明した。
【０２７５】
なお、コンピュータを、上述したような本実施形態に係る鍵生成装置２０、暗号化装置３０および受信装置４０として機能させるためのコンピュータプログラムを、作成することも可能である。コンピュータプログラムは、コンピュータが備える記憶部に格納され、コンピュータが備えるＣＰＵに読み込まれて実行されることにより、そのコンピュータを上記の鍵生成装置２０、暗号化装置３０および受信装置４０として機能させる。また、コンピュータプログラムが記録された、コンピュータで読み取り可能な記録媒体も提供することができる。記録媒体は、例えば、磁気ディスク、光ディスク、光磁気ディスク、フラッシュメモリなどである。また、上記のコンピュータプログラムは、記録媒体を用いずに、例えばネットワークを介して配信してもよい。
【０２７６】
続いて、以下では、本実施形態に係る暗号鍵生成システム１０と、基盤技術である非特許文献１に記載のコンテンツ配信システムとの比較を行うこととする。
【０２７７】
基盤技術である非特許文献１の切り替え方式は、あらかじめコンテンツ配信システムを二つ準備しておき、排除される契約者数に応じて、コンテンツ配信システムを配信毎に切り替えることにより、ヘッダサイズの削減を実現した方式である。しかしながら、排除される契約者が少ない場合において利用するコンテンツ配信システムとして、ＳＤＭを利用しているため、各契約者が保持する必要のある鍵数が非常に大きくなるという問題点が、存在する。
【０２７８】
また、ＳＤＭを利用しているために、復号器は、Ｓｕｂｓｅｔ  ｋｅｙを導出するための擬似乱数生成器を備えなければならず、復号器のコストが増大する。さらに、ＳＤＭを利用する場合には、センタ以外のｅｎｔｉｔｙがコンテンツを配信不可能となるという問題点が存在する。
【０２７９】
これに対して本実施形態では、非特許文献１の切り替え方式同様に、排除される契約者数に応じてコンテンツ配信システムを切り替えることにより、ヘッダサイズの削減を実現するものである。だが、非特許文献１の切り替え方式とは異なり、排除される契約者が少ない場合には、非特許文献１の一般化方式にパラメータを追加し、論理木構造を構築するようにして、さらに、この方式における論理木に、新たなパラメータを割り当てた方式を使用する。また、排除される契約者が多い場合には、非特許文献１の一般化方式を利用している。
【０２８０】
ここで、非特許文献１の一般化方式にパラメータを追加し、論理木構造を構築するようにし、さらに、この方式における論理木に、新たなパラメータを割り当てた方式は、非特許文献１の一般化方式同様、非特許文献１の基本方式に基づいて構成されている。このため、コンテンツ配信システムを実現するために、両方式において必要なパラメータを、共有することが可能となり、各契約者が保持する必要のある鍵数を、基盤技術の方式よりも削減することを可能とする。
【０２８１】
また、あらかじめ準備するいずれのコンテンツ配信システムにおいても、同様の暗号化、復号演算を実現しているため、復号器である受信装置において、擬似乱数生成器を保持する必要がなく、基盤技術の方式と比較して、復号器のコストを削減することが可能となっている。
【０２８２】
さらに、いずれのコンテンツ配信システムも、公開鍵を利用したものであるため、コンテンツ配信時において、任意のｅｎｔｉｔｙがコンテンツを配信可能となっている。
【０２８３】
以下、基盤技術と本実施形態との主な相違点について、フェーズ毎の違いに着目して説明するとともに、各契約者が保持する必要のある鍵数に関して、具体的な数値例を用いて比較する。
【０２８４】
＜鍵生成フェーズの相違点＞
はじめに、鍵生成フェーズにおける相違点について述べる。非特許文献１の切り替え方式では、ステップＳ０１からステップＳ２３において、排除される契約者が多い場合に利用する非特許文献１の一般化方式による鍵生成フェーズを実行し、ステップＳ２５およびステップＳ２７において、排除される契約者が少ない場合に利用するＳＤＭの鍵生成フェーズを実行している。
【０２８５】
これに対して本実施形態では、ステップＳ１０１からステップＳ１１５において、排除される契約者が少ない場合に利用されるコンテンツ配信システムである、非特許文献１の一般化方式を根本的に改良した方式を実行しているが、それに加えて、排除される契約者が多い場合に利用されるコンテンツ配信システムである、非特許文献１の一般化方式におけるパラメータも、同時に生成している。
【０２８６】
非特許文献１の切り替え方式では、ステップＳ１１およびステップＳ１３において、一般化方式の各種パラメータを設定した後、ステップＳ１５において、契約者をＢ人毎Ａ個のサブグループに分割している。ここで、本実施形態においても同様に、ステップＳ１０１およびステップＳ１０３において、各種パラメータを設定しているが、ステップＳ１０３において、さらに排除される契約者が多い場合のコンテンツ配信システム用パラメータとして、乱数α’を生成している。また、ステップＳ１０５では、ステップＳ１５同様に、契約者をＢ人ごとＡ個のサブグループに分割しているが、これに加えて本実施形態では、Ｂ＞Ｙを満たすＹ分木を構成し、契約者をＹ人ごとＸ個のサブグループに分割している。
【０２８７】
さらにステップＳ１７では、一般化方式におけるパラメータｇｉ（ｉ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）のみを計算しているのに対して、本実施形態では、排除される契約者が少ない場合に用いるパラメータ
【数３４】
2008113203.tif 000037
と、排除される契約者数が多い場合に用いる、非特許文献１の一般化方式におけるパラメータ
【数３５】
2008113203.tif 000038
を生成している。非特許文献１の切り替え方式では、ステップＳ１９において、各サブグループに対応するヘッダ要素を一つにまとめるためのセンタ秘密であるγ１，・・・，γＡ、および、それらに対応する公開の値ν１，・・・，νＡが、サブグループの分割数であるＡ個必要となるのに対し、本実施形態では、ステップＳ１０３において構成したＹ分木のうち、リーフを除く全てのノードに対して、サブグループを構成することが可能になるため、リーフを除く全ノード数であるＮ個の値が必要となる。ただし、これらの値は、排除される契約者が多い場合に利用する非特許文献１の一般化方式においても、利用可能である。
【０２８８】
これらパラメータを設定したのち、非特許文献１の切り替え方式では、ステップＳ２５において、ＳＤＭを利用する場合における論理木の構成を行い、ステップＳ２７において、ＳＤＭにおける秘密鍵であるラベルを生成し、ステップＳ２３で生成した一般化方式の個人秘密鍵と共に、各契約者に配信している。
【０２８９】
これに対して本実施形態では、ステップＳ１１１において、各パラメータを論理木に割り当てた後、ステップＳ１１３において公開鍵を公開し、ステップＳ１１５において、各契約者に割り当てられたノードに対応する個人秘密鍵を生成すると同時に、非特許文献１の一般化方式における個人秘密鍵に対応する
【数３６】
2008113203.tif 000039
を計算し、各契約者に配信している。これにより、非特許文献１の切り替え方式と比較して、排除される契約者が多い場合に利用する一般化方式において利用する鍵数は同数であるが、少ない場合に利用するコンテンツ配信システムにおいて利用する鍵数が、基盤技術である非特許文献１ではＳＤＭを利用しているためＯ（ｌｏｇ２ｎ）となるが、本実施形態ではＯ（ｌｏｇＹｎ）となる。
【０２９０】
＜暗号化フェーズの相違点＞
次に、暗号化フェーズに関して説明する。非特許文献１の切り替え方式では、ステップＳ３１において、排除される契約者数が（ｎ）１／２よりも少ない場合はＳＤＭを利用し、そうでなければ非特許文献１の一般化方式を利用するという判断を行っている。これに対して本実施形態では、ステップＳ３０１において、排除される契約者数ｒに対し、
【数３７】
2008113203.tif 000040
が成立する場合には非特許文献１の一般化方式を利用し、そうでなければ、非特許文献１の一般化方式を根本的に改良した方式を利用するという判断を行っている。ここで、上記の式１０７は、非特許文献１の一般化方式を根本的に改良した方式における、ヘッダサイズを表している。
【０２９１】
上記のように、ステップＳ３０１では、決定した排除される契約者数によって導出される非特許文献１の一般化方式を根本的に改良した方式のヘッダサイズが、非特許文献１の一般化方式よりも少ない場合には、非特許文献１の一般化方式を根本的に改良した方式を利用するようになっている。
【０２９２】
これにより、非特許文献１の切り替え方式同様、排除される契約者数に応じたヘッダサイズの削減を実現しているが、もっとも大きな違いは、非特許文献１の切り替え方式では、共通鍵を利用したコンテンツ配信システムであるＳＤＭを利用しているのに対して、本実施形態では、公開鍵を利用したコンテンツ配信システムである、非特許文献１の一般化方式を根本的に改良した方式を利用しているという点である。これにより、本実施形態では、いずれのコンテンツ配信システムを利用した場合でも、任意のｅｎｔｉｔｙがコンテンツを配信可能としている。
【０２９３】
＜復号フェーズの相違点＞
最後に、復号フェーズに関して述べる。復号フェーズでは、ステップＳ５１およびステップＳ５０１において、二つのコンテンツ配信システムのうちいずれの方式が利用されているかを判断している。判断の結果、排除される契約者数が少ない場合には、基盤技術である非特許文献１の切り替え方式は、ステップＳ５３においてＳＤＭによるセッション鍵の取得を行っているのに対し、本実施形態はステップＳ５０３において、非特許文献１の一般化方式を根本的に改良した方式によるセッション鍵の取得を行っている。
【０２９４】
ここで、ＳＤＭにおけるセッション鍵の取得には、擬似乱数生成器が必要となるが、非特許文献１の一般化方式を根本的に改良した方式では、非特許文献１の一般化方式における復号と同様の動作を行うため、復号器である受信装置に、擬似乱数生成器を備える必要がない。以降の復号フェーズに関しては、それぞれ非特許文献１の一般化方式と、非特許文献１の一般化方式を根本的に改良した方式における復号フェーズの動作と同様である。
【０２９５】
＜ヘッダサイズに関する比較＞
非特許文献１の切り替え方式では、あらかじめ二つのコンテンツ配信システムとして、共通鍵を利用したＳＤＭと公開鍵を利用した非特許文献１の一般化方式を準備しておき、配信時に排除される契約者が少ない場合には、ヘッダサイズを削減することが可能となるＳＤＭを利用し、排除される契約者が多い場合には、排除される契約者数に関わらずヘッダサイズが一定となる非特許文献１の一般化方式を利用している。これにより、排除される契約者が少ない場合にはヘッダサイズを削減し、多い場合においても一定の範囲内に収めることが可能となるため、効率よくコンテンツを配信することが可能となっている。
【０２９６】
しかしながら、排除される契約者が少ない場合にＳＤＭを利用しているため、各契約者は、非特許文献１の一般化方式における個人秘密鍵に加え、ＳＤＭに対応する鍵を保持する必要がある。ＳＤＭは、共通鍵を利用した木構造によるコンテンツ配信システムであり、ヘッダサイズを削減する場合には有効な方式であるが、各契約者が保持する必要のある鍵数が、Ｏ（ｌｏｇ２ｎ）となる。これは、ＳＤＭにおいて利用する論理木の高さである、ｌｏｇ  ｎの二乗に比例する数の鍵を保持する必要があることを示しており、各契約者が保持する鍵数が大きくなるというＳＤＭの問題点が、そのまま非特許文献１の切り替え方式における問題点となる。
【０２９７】
また、ＳＤＭでは、各契約者は、自身が排除されていない場合の全Ｓｕｂｓｅｔ  に対応するＳｕｂｓｅｔ  ｋｅｙを、ラベルから生成する必要があるが、この際に、擬似乱数生成演算を行う必要がある。このため、ＳＤＭを利用した場合には、復号器である受信装置が、擬似乱数生成器を保持する必要があり、復号器を作成するための時間や費用面におけるコストが、増大するという問題点が存在する。これはそのまま非特許文献１の切り替え方式における問題点となる。
【０２９８】
さらには、ＳＤＭが共通鍵を利用したコンテンツ配信システムであることから、排除される契約者が少ない場合においては、センタ以外はＳｕｂｓｅｔ  ｋｅｙを生成不可能となるため、センタ以外のｅｎｔｉｔｙがコンテンツを配信不可能となる。よって、排除される契約者数によっては、コンテンツを配信可能なｅｎｔｉｔｙが制限されてしまうことにより、システムの柔軟性や機能面での利点を制限するといった問題点が存在する。
【０２９９】
これに対して本実施形態は、非特許文献１の切り替え方式同様、排除される契約者数に応じてコンテンツ配信システムを切り替えることにより、排除される契約者数に関わらず効率的なコンテンツ配信を実現するものである。基盤技術とのもっとも大きな違いは、排除される契約者が少ない場合におけるコンテンツ配信方式として、非特許文献１の一般化方式を根本的に改良した方式を利用する点である。この方式は、非特許文献１の一般化方式に若干のパラメータを追加することによって論理木を構成し、特に排除される契約者が少ない場合において、効率的にコンテンツを配信可能な方式である。
【０３００】
論理木を構成することによって、契約者が保持する鍵数は増加するが、ＳＤＭを利用した基盤技術では契約者が保持する必要のある鍵数がＯ（ｌｏｇ２ｎ）で表されるのに対し、本実施形態ではＯ（ｌｏｇＹｎ）となる。これは、ＳＤＭは、契約者数ｎの増加に対して契約者が保持する必要のある鍵数はｌｏｇ２ｎに比例して増加するのに対し、本実施形態ではｌｏｇＹＮに比例して増加することを意味している。ここで、Ｙは論理木の分岐数であるためＹ≧２であり、任意の正整数ｎに対してｌｏｇＹｎ≦ｌｏｇＮである。よって、本実施形態は基盤技術と比較して、契約者が保持する必要のある鍵数の増加を、大幅に削減することが可能であることが分かる。
【０３０１】
例えば、ｎ＝２２０＝４１０＝１０４８５７６、Ｙ＝４とした場合、ＳＤＭを利用した場合の鍵数は（１／２）ｌｏｇ２ｎ＋（１／２）ｌｏｇ  ｎ＋１＝２１１であるのに対して、本実施形態ではｌｏｇＹｎ＝１０となり、本実施形態における鍵数の方が、圧倒的に少なくなることが分かる。
【０３０２】
また、ＳＤＭを利用した場合には、復号器において非特許文献１の一般化方式に対応するための復号機構とは別に、ラベルからＳｕｂｓｅｔ  ｋｅｙを生成するための擬似乱数生成器が必要となるが、本実施形態において利用する、非特許文献１の一般化方式を根本的に改良した方式の復号動作は、本質的に非特許文献１の一般化方式における復号動作と同等であるため、擬似乱数生成器を保持する必要がなくなる。これにより、復号器を構成する際の時間や経済的コストを削減することが可能となっている。
【０３０３】
さらに、本実施形態において利用する、非特許文献１の一般化方式を根本的に改良した方式は、非特許文献１の一般化方式同様、公開鍵を利用したコンテンツ配信システムである。そのため、契約者数の増減に関わらず、任意のｅｎｔｉｔｙがコンテンツを配信可能となっている。これは、コンテンツ配信システムとしての機能制限を行う必要がないことを示している。
【０３０４】
以上、基盤技術と比較しながら説明したように、本発明は、公開鍵を利用したコンテンツ配信方式の一方式であり、基盤技術と比較して、以下の特徴を有する。
【０３０５】
第１に、排除される契約者数が存在しない、もしくは少ない場合におけるコンテンツ配信システムとして、非特許文献１の一般化方式を根本的に改良した方式を利用する。
【０３０６】
第２に、排除される契約者数が増加した場合におけるコンテンツ配信システムとして、非特許文献１の一般化方式を利用する。
【０３０７】
第３に、上記のようにしてコンテンツ配信システムを構成することにより、非特許文献１において示されたＳＤＭと一般化方式を利用する方法よりも、各契約者が保持する個人秘密鍵サイズを、削減することが可能である。
【０３０８】
（第１変形例）
本発明は、あらかじめ二つのコンテンツ配信システムを準備しておき、排除される契約者数に応じて、配信効率が良い、すなわちヘッダサイズが小さい方のコンテンツ配信システムを選択し、それを用いてコンテンツ配信を実現している。したがって、コンテンツ配信時には、暗号化フェーズのステップＳ３０１に示したように、排除される契約者数によって、コンテンツ配信システムを切り替える必要がある。また、復号時においても、復号フェーズのステップＳ５０１に示したように、いずれのコンテンツ配信システムが利用されているかを、判断する必要がある。
【０３０９】
ここで、復号時における判断は、コンテンツ配信時における判断と同一であるため、コンテンツ配信時における判断結果のみをヘッダと共に配信すれば、配信する情報量は若干増加するものの、各契約者による、コンテンツ配信システムを決定するために必要となる演算を、削減することが可能となる。
【０３１０】
そこで、本変形例では、第１の実施形態における暗号化フェーズのステップＳ３０１とステップＳ３３１、および、復号フェーズのステップＳ５０１の構成を若干変更することによって、各契約者におけるコンテンツ配信システム決定のための演算を、削減することが可能となる。以下に、具体的な方法について記載する。なお、本変形例に係る暗号化装置３０や受信装置４０のハードウェア構成等は、第１の実施形態におけるものと同様である。
【０３１１】
以下に、コンテンツ配信に利用されているコンテンツ配信システムに関する情報を追加することにより、各契約者におけるコンテンツ配信システムを決定するための演算を削減する変形例を示す。なお、この変形例は、本発明の第１の実施形態において示した、暗号化フェーズのステップＳ３０１、および、復号フェーズのステップＳ５０１のみが異なるため、変更点についてのみ説明する。
【０３１２】
＜暗号化フェーズの変更点＞
この変形例では、第１の実施形態による暗号化フェーズにおいて、ステップＳ３０１、ステップＳ３０３およびステップＳ３３１を、以下に示す新たなステップＳ３０１ａ、ステップＳ３０３ａおよびステップＳ３３１ａへと変更する。
【０３１３】
暗号化装置３０のセッション鍵選択部３０７は、記憶部３０３等を参照しながら、排除される契約者数ｒを決定し、上記の式１０７を満たすか否かを判定する（ステップＳ３０１ａ）。排除される契約者数ｒが式１０７を満たす場合には、コンテンツ配信システム判断用情報ＩをＩ＝１として、ステップＳ３０３に進む（ステップＳ３０１ａ）。また、排除される契約者数ｒが式１０７を満たさない場合には、Ｉ＝０として、ステップＳ３０５に進む（ステップＳ３０１ａ）。
【０３１４】
ステップＳ３０１ａにおいて、上記の式１０７が成立した場合には、第２セッション鍵決定部３１５は、コンテンツを復号可能な契約者の集合Ｓを決定するとともに、基盤技術である非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１を、実行する（ステップＳ３０３ａ）。その際、上記の非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１において、ｇｊ＝ｇ’ｊ（ｊ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）およびνｉ＝νＨ−２，ｉ（ｉ＝１，・・・，Ａ）として実行する。
【０３１５】
上記のようにして各ステップを実行することで、第２セッション鍵決定部３１５がセッション鍵ｓを決定するとともに、第２ヘッダ要素算出部３１７がヘッダ要素を算出し、第２ヘッダ情報生成部３１９が、ヘッダｈを算出する。得られたセッション鍵ｓに基づいて、暗号化装置３０の暗号化部３２１がコンテンツを暗号化し、コンテンツ送信部３２５は、暗号化コンテンツＣ、ヘッダｈ、集合Ｓ、および、コンテンツ配信システム判断用情報Ｉを、契約者へと送信する（ステップＳ３０３ａ）。
【０３１６】
暗号化装置３０の暗号化部３２１は、暗号化されていない配信予定のコンテンツＭをコンテンツ記憶部３２３から受け取り、第１セッション鍵決定部３０９が決定したセッション鍵ｓを用いて、以下のように、コンテンツＭを暗号化する。その後、暗号化したコンテンツＣを、第１ヘッダ情報生成部２７９が生成したヘッダｈ、ノードインデックスの集合Ｓおよびコンテンツ配信システム判断用情報Ｉと共に、契約者へと送信する（ステップＳ３３１ａ）。
【０３１７】
＜復号フェーズの変更点＞
続いて、第１の実施形態の復号フェーズにおいて、ステップＳ５０１を、以下に示す新たなステップＳ５０１ａへと変更する。
【０３１８】
まず、暗号化コンテンツＣ、ヘッダｈ、集合Ｓおよびコンテンツ配信システム判断用情報Ｉを受信部４０１により受信した受信装置４０は、これらの情報を、一旦記憶部４０３に記憶する。この後、暗号化コンテンツＣの復号処理が行われる。
【０３１９】
受信装置４０の復号方式選択部４０５は、記憶部４０３に記憶されているコンテンツ配信システム判断用情報Ｉを取得し、Ｉが１か否かを判定する（ステップＳ５０１ａ）。判定の結果、Ｉ＝１であった場合には、復号方式選択部４０５は、第２復号処理部４１３に対して、以下のステップＳ５０３を実行するように指示を出す。また、Ｉ＝１でない場合、すなわち、Ｉ＝０であった場合には、復号方式判定部４０５は、第１復号処理部４０７に対して、以下のステップＳ５０５を実行するように指示を出す。
【０３２０】
以上説明したような本実施形態を実現することにより、配信する情報は若干増加するものの、各契約者における演算を、削減することが可能となる。
【０３２１】
（第２変形例）
上記の第１変形例では、コンテンツ配信システム判断用情報Ｉを利用することによって、各契約者における演算を削減する方法を示した。これに加えて、いずれのコンテンツ配信システムを利用するかの判断基準を変更することにより、ヘッダサイズを削減可能となる場合も存在する。以下に、上記の変更例を、第２変形例として説明する。
【０３２２】
本発明の第１の実施形態における暗号化フェーズのステップＳ３０１では、排除される契約者数ｒに対し、非特許文献１の一般化方式を根本的に改良した方式を利用した場合の最大ヘッダサイズを表す、以下の式１１５による計算結果と、非特許文献１の一般化方式を利用した場合のヘッダサイズであるＡ＋１とを比較し、いずれか小さい方のコンテンツ配信システムを利用している。
【０３２３】
【数３８】
2008113203.tif 000041
【０３２４】
ここで、上記の式１１５は、排除される契約者数ｒに対してヘッダサイズが最大となる場合を表しているが、排除される契約者に割り当てられたリーフが、特定のノードの子ノードとしてまとまっているような場合には、非特許文献１の一般化方式を根本的に改良した方式におけるヘッダサイズは、上記の式１１５によって導出される値よりも小さくなる。
【０３２５】
このような場合には、第１実施形態における暗号化フェーズにおいて、ステップＳ３０１の判断基準を適用するよりも、排除される契約者数ｒに対して、両方のコンテンツ配信システムにおける具体的なヘッダサイズを比較し、ヘッダサイズが小さくなる方のコンテンツ配信システムを利用した方が、効率的にコンテンツを配信可能となる。
【０３２６】
以下に、コンテンツ配信に利用されているコンテンツ配信システムに関する情報を追加することにより、各契約者におけるコンテンツ配信システムを決定するための演算を削減する変形例を示す。なお、本変形例は、第１実施形態において示した暗号化フェーズのステップＳ３０１、および、復号フェーズのステップＳ５０１のみが異なるため、変更点についてのみ説明する。
【０３２７】
＜暗号化フェーズの変更点＞
本変形例では、第１実施形態の暗号化フェーズにおいて、ステップＳ３０１を、以下に示す新たなステップＳ３０１ｂに変更し、さらに、ステップＳ３０３およびステップＳ３３１を、それぞれ第２実施形態に示したステップＳ３０３ａ、ステップＳ３３１ａへと変更する。
【０３２８】
暗号化装置３０のセッション鍵選択部３０７は、記憶部３０３等を参照しながら、排除される契約者を決定した後、排除される契約者数ｒに対して、非特許文献１の一般化方式を根本的に改良した方式を利用した場合におけるヘッダサイズｈｓ１と、非特許文献１の一般化方式を利用した場合におけるヘッダサイズｈｓ２を計算し、ｈｓ１とｈｓ２の大小関係を判定する（ステップＳ３０１ｂ）。ｈｓ１およびｈｓ２が、ｈｓ１＞ｈｓ２の条件を満たすならば、コンテンツ配信システム判断用情報ＩをＩ＝１として、ステップＳ３０３に進む。また、ｈｓ１およびｈｓ２が上記の条件を満たさないのであれば、Ｉ＝０として、ステップＳ３０５に進む。
【０３２９】
ステップＳ３０１ｂにおいて、ｈｓ１＞ｈｓ２が成立した場合には、第２セッション鍵決定部３１５は、コンテンツを復号可能な契約者の集合Ｓを決定するとともに、基盤技術である非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１を、実行する（ステップＳ３０３ａ）。その際、上記の非特許文献１の暗号化フェーズのステップＳ３７〜ステップＳ４１において、ｇｊ＝ｇ’ｊ（ｊ＝１，・・・，Ｂ，Ｂ＋２，・・・，２Ｂ）およびνｉ＝νＨ−２，ｉ（ｉ＝１，・・・，Ａ）として実行する。
【０３３０】
上記のようにして各ステップを実行することで、第２セッション鍵決定部３１５がセッション鍵ｓを決定するとともに、第２ヘッダ要素算出部３１７がヘッダ要素を算出し、第２ヘッダ情報生成部３１９が、ヘッダｈを算出する。得られたセッション鍵ｓに基づいて、暗号化装置３０の暗号化部３２１がコンテンツを暗号化し、コンテンツ送信部３２５は、暗号化コンテンツＣ、ヘッダｈ、集合Ｓ、および、コンテンツ配信システム判断用情報Ｉを、契約者へと送信する（ステップＳ３０３ａ）。
【０３３１】
暗号化装置３０の暗号化部３２１は、暗号化されていない配信予定のコンテンツＭをコンテンツ記憶部３２３から受け取り、第１セッション鍵決定部３０９が決定したセッション鍵ｓを用いて、以下のように、コンテンツＭを暗号化する。その後、暗号化したコンテンツＣを、第１ヘッダ情報生成部３１３が生成したヘッダｈ、ノードインデックスの集合Ｓおよびコンテンツ配信システム判断用情報Ｉと共に、契約者へと送信する（ステップＳ３３１ａ）。
【０３３２】
＜復号フェーズの変更点＞
本変形例では、コンテンツ配信システムを選択する際の判断基準を変更している以外は、第１変形例と同様の変更を実施するのみである。よって、復号フェーズにおける変更点は、第１変形例と同様に、ステップＳ５０１をステップＳ５０１ａへと変更するのみである。
【０３３３】
以上説明したように、本発明の第１の実施形態に加え、第１変形例、第２変形例を実現することにより、コンテンツ配信時における通信路や、復号器に要求される条件等の違いに応じた、効率的なコンテンツ配信を実現することが可能となる。
【実施例】
【０３３４】
本発明の効果をより詳細に説明するために、具体例として、パラメータｎ，Ａ，Ｂ，Ｘ，Ｙを小さな値に設定した場合における、契約者が保持する必要のある鍵数の比較を、図１８に示す。
【０３３５】
非特許文献１の一般化方式では、分割されたサブグループに含まれる契約者数Ｂの値を、契約者数ｎに対してＢ＝（ｎ）１／２として設定することを推奨している。これに対して、本発明の各実施形態では、非特許文献１のＢに対応するパラメータである論理木の分岐数Ｙを、Ｙ≦Ｂと設定することにより、ヘッダサイズ及び計算量の点で効率化を図ることが可能である。よって以下では、比較のため契約者数ｎを同一とし、Ｙ＜Ｂと設定した。非特許文献１の切り替え方式と、本実施形態における鍵数の比較を、図１８に示す。
【０３３６】
具体的な数値として、図１８では、各パラメータを、ｎ＝２５６、Ａ＝１６、Ｂ＝１６、Ｘ＝３２、Ｙ＝４とする。図１８の横軸は、契約者の総数を表し、縦軸は、各契約者が保持する必要のある個人秘密鍵数を表す。また、図１８における実線は、非特許文献１の切り替え方式における鍵数、破線は、本実施形態における鍵数を表している。
【０３３７】
図１８より明らかなように、契約者総数ｎの値に関わらず、本実施形態に係る方式の方が、鍵数を少なくすることが可能となっている。さらにそのうえ、契約者総数ｎの増加に伴って、本実施形態に係る方式の方が、非特許文献１の切り替え方式よりも、鍵数をより少なく抑えられることがわかった。
【０３３８】
以上より、本実施形態を適用することにより、非特許文献１の切り替え方式同様、排除される契約者数によらず効率的なコンテンツ配信を実現しつつ、公開鍵を利用したコンテンツ配信システムの利便性の確保、契約者が保持する鍵数の削減、および効率的な復号器の構成を実現することが可能となる。
【０３３９】
以上説明したように、本発明の各実施形態は、あらかじめ二つのコンテンツ配信システムを準備しておき、配信する状況に応じてコンテンツ配信システムを切り替えるというコンテンツ配信システムにおいて、従来の方式よりも、各契約者が保持する鍵数の削減、および効率的な復号器を実現する方法である。本発明の実施により、従来のシステムを切り替え可能なコンテンツ配信システムと比較して、契約者が保持する鍵数を削減すること、および、復号器を構成する際のコストを削減することが可能である。
【０３４０】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０３４１】
例えば、上記の木構造構成部２３５は、上から下に枝が広がった木構造を想定していたが、必ずしもこれに限定されず、下から上、左から右、又は右から左に向かって枝が広がった木構造を有していてもよい。
【０３４２】
また、本明細書の各流れ図における各ステップは、必ずしも流れ図として記載された順序に沿って時系列に処理する必要はなく、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含むとしても良い。
【図面の簡単な説明】
【０３４３】
【図１】本発明の好適な実施形態に係る暗号鍵生成システムを説明するための説明図である。
【図２】同実施形態に係る鍵生成装置のハードウェア構成を説明するためのブロック図である。
【図３】本発明の基盤技術の基本方式に係る鍵生成の概略を説明するための説明図である。
【図４】本発明の基盤技術の一般化方式に係る鍵生成の概略を説明するための流れ図である。
【図５】本発明の基盤技術の一般化方式に係る鍵生成フェーズを説明するための流れ図である。
【図６】本発明の基盤技術の一般化方式に係る暗号化の概略を説明するための説明図である。
【図７】本発明の基盤技術の一般化方式に係る暗号化フェーズを説明するための流れ図である。
【図８】本発明の基盤技術の一般化方式に係る復号フェーズを説明するための流れ図である。
【図９】本発明の好適な実施形態に係る鍵生成装置の構成を説明するためのブロック図である。
【図１０】同実施形態に係る暗号化装置の構成を説明するためのブロック図である。
【図１１】同実施形態に係る受信装置の構成を説明するためのブロック図である。
【図１２】同実施形態に係る論理木の具体例を説明するための説明図である。
【図１３】同実施形態に係る鍵生成の概略を説明するための説明図である。
【図１４】同実施形態に係る鍵生成フェーズを説明するための流れ図である。
【図１５】同実施形態に係る暗号化の概略を説明するための説明図である。
【図１６】同実施形態に係る暗号化フェーズを説明するための流れ図である。
【図１７】同実施形態に係る復号フェーズを説明するための流れ図である。
【図１８】契約者が保持する個人秘密鍵数を比較したグラフ図である。
【符号の説明】
【０３４４】
１０    暗号鍵配信システム
１２    通信網
１４    リムーバブル記録媒体
２０    鍵生成装置
３０    暗号化装置
４０    受信装置
２０１    ＣＰＵ
２０３    ＲＯＭ
２０５    ＲＡＭ
２０７    ＨＤＤ
２０９    暗号処理部
２１１    メモリ
２１３    バス
２１５    入出力インターフェース
２１７    入力部
２１９    出力部
２２１    通信部
２２３    ドライブ
２３１    双線形群決定部
２３３    第１処理部
２３５    木構造構成部
２３７    パラメータ割当部
２３９    第１乱数決定部
２４１    第１リーフキー割当部
２４３    第１鍵算出部
２４５    第２処理部
２４７    第２乱数決定部
２４９    第２リーフキー割当部
２５１    第２鍵算出部
２５３    記憶部
２５５    木構造記憶部
２５７    乱数記憶部
２５９    リーフキー記憶部
２６１    パラメータ記憶部
２６３    鍵記憶部
２６４    配布部
２６５    送信部
２６７    公開鍵公開部
３０１    受信部
３０３    記憶部
３０５    排除受信装置特定部
３０７    セッション鍵選択部
３０９    第１セッション鍵決定部
３１１    第１ヘッダ要素算出部
３１３    第１ヘッダ情報生成部
３１５    第２セッション鍵決定部
３１７    第２ヘッダ要素算出部
３１９    第２ヘッダ情報生成部
３２１    暗号化部
３２３    コンテンツ記憶部
３２５    コンテンツ送信部
４０１    受信部
４０３    記憶部
４０５    復号方式選択部
４０７    第１復号処理部
４０９、４１５    判定部
４１１    第１セッション鍵算出部
４１７    第２セッション鍵算出部
【図１】
2008113203.tif 000051
【図２】
2008113203.tif 000052
【図３】
2008113203.tif 000053
【図４】
2008113203.tif 000054
【図５】
2008113203.tif 000055
【図６】
2008113203.tif 000056
【図７】
2008113203.tif 000057
【図８】
2008113203.tif 000058
【図９】
2008113203.tif 000059
【図１０】
2008113203.tif 000060
【図１１】
2008113203.tif 000061
【図１２】
2008113203.tif 000062
【図１３】
2008113203.tif 000063
【図１４】
2008113203.tif 000064
【図１５】
2008113203.tif 000065
【図１６】
2008113203.tif 000066
【図１７】
2008113203.tif 000067
【図１８】
2008113203.tif 000068