(57)【特許請求の範囲】
【請求項１】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、
入力された正整数ｍに対し、基本情報として、ｍ個の素数（ｐ１，…，ｐｍ）及びｍ個の生成元（ｇ１，…，ｇｍ）と、前記素数の合成数ｎ（ｎ＝ｐ１…ｐｍ）及び前記生成元を合成した要素ｇ（ｇ＝ｇ１…ｇｍ）とを生成するとともに、前記合成数ｎを位数、合成された前記要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅを特定し、公開情報（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）を生成する基本情報生成手段と、
この基本情報生成手段で生成された合成数ｎに応じて、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍであるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎであるα，βとを選択し、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）を生成し、前記マスタ秘密情報として、ｇαβを演算することでマスタ秘密鍵ｍｓｋを生成するとともに、パラメータｐａｒａｍを、
【数１】
0005391043.tif 000028
により生成するマスタ秘密情報生成手段と、
このマスタ秘密情報生成手段で生成されたパラメータｐａｒａｍと、前記生成元（ｇ１，…，ｇｍ）と、前記双線形写像ｅと、前記秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）とから、前記公開鍵ＰＫを、
【数２】
0005391043.tif 000029
により生成する公開鍵生成手段と、
を備えることを特徴とする暗号化情報生成装置。
【請求項２】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成するために、コンピュータを、
入力された正整数ｍに対し、基本情報として、ｍ個の素数（ｐ１，…，ｐｍ）及びｍ個の生成元（ｇ１，…，ｇｍ）と、前記素数の合成数ｎ（ｎ＝ｐ１…ｐｍ）及び前記生成元を合成した要素ｇ（ｇ＝ｇ１…ｇｍ）とを生成するとともに、前記合成数ｎを位数、合成された前記要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅを特定し、公開情報（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）を生成する基本情報生成手段、
この基本情報生成手段で生成された合成数ｎに応じて、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍであるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎであるα，βとを選択し、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）を生成し、前記マスタ秘密情報として、ｇαβを演算することでマスタ秘密鍵ｍｓｋを生成するとともに、パラメータｐａｒａｍを、
【数３】
0005391043.tif 000030
により生成するマスタ秘密情報生成手段、
このマスタ秘密情報生成手段で生成されたパラメータｐａｒａｍと、前記生成元（ｇ１，…，ｇｍ）と、前記双線形写像ｅと、前記秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）とから、前記公開鍵ＰＫを、
【数４】
0005391043.tif 000031
により生成する公開鍵生成手段、
として機能させることを特徴とする暗号化情報生成プログラム。
【請求項３】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成する秘密鍵生成装置であって、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化情報生成装置で生成されたマスタ秘密情報の一部である前記パラメータｐａｒａｍと、前記マスタ秘密情報の一部である前記マスタ秘密鍵ｍｓｋと、ユーザを識別するためのユーザ識別子ｖと、予めＺｎ＊から選択した乱数ｒｖとから、少なくとも、
【数５】
0005391043.tif 000032
を含んだユーザ秘密鍵ｄｖを生成するユーザ秘密鍵生成手段と、
このユーザ秘密鍵生成手段で生成されたユーザ秘密鍵ｄｖを出力するユーザ秘密鍵出力手段と、
を備えることを特徴とする秘密鍵生成装置。
【請求項４】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成するために、コンピュータを、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化情報生成装置で生成されたマスタ秘密情報の一部である前記パラメータｐａｒａｍと、前記マスタ秘密情報の一部である前記マスタ秘密鍵ｍｓｋと、ユーザを識別するためのユーザ識別子ｖと、予めＺｎ＊から選択した乱数ｒｖとから、少なくとも、
【数６】
0005391043.tif 000033
を含んだユーザ秘密鍵ｄｖを生成するユーザ秘密鍵生成手段、
このユーザ秘密鍵生成手段で生成されたユーザ秘密鍵ｄｖを出力するユーザ秘密鍵出力手段、
として機能させることを特徴とする秘密鍵生成プログラム。
【請求項５】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成された公開鍵ＰＫに基づいて、配信用コンテンツを生成する配信用コンテンツ生成装置であって、
前記コンテンツを暗号化する暗号化鍵Ｋｓを生成する暗号化鍵生成手段と、
この暗号化鍵生成手段で生成された暗号化鍵Ｋｓで前記コンテンツを暗号化し、暗号化コンテンツを生成するコンテンツ暗号化手段と、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化鍵生成手段で生成された暗号化鍵Ｋｓと、前記公開鍵ＰＫと、予めＺｎ＊から選択した乱数ｔ及び１≦ｊ≦ｍから選択したインデックスｊとに基づいて、前記暗号化コンテンツに合成するコンテンツ配信ヘッダＣを、
【数７】
0005391043.tif 000034
により生成するヘッダ生成手段と、
このヘッダ生成手段で生成されたコンテンツ配信ヘッダＣと、前記暗号化コンテンツとを合成することで前記配信用コンテンツを生成するヘッダ合成手段と、
を備えることを特徴とする配信用コンテンツ生成装置。
【請求項６】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成された公開鍵ＰＫに基づいて、配信用コンテンツを生成するために、コンピュータを、
前記コンテンツを暗号化する暗号化鍵Ｋｓを生成する暗号化鍵生成手段、
この暗号化鍵生成手段で生成された暗号化鍵Ｋｓで前記コンテンツを暗号化し、暗号化コンテンツを生成するコンテンツ暗号化手段、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化鍵生成手段で生成された暗号化鍵Ｋｓと、前記公開鍵ＰＫと、予めＺｎ＊から選択した乱数ｔ及び１≦ｊ≦ｍから選択したインデックスｊとに基づいて、前記暗号化コンテンツに合成するコンテンツ配信ヘッダＣを、
【数８】
0005391043.tif 000035
により生成するヘッダ生成手段、
このヘッダ生成手段で生成されたコンテンツ配信ヘッダＣと、前記暗号化コンテンツとを合成することで前記配信用コンテンツを生成するヘッダ合成手段、
として機能させることを特徴とする配信用コンテンツ生成プログラム。
【請求項７】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項５に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖに基づいて復号するコンテンツ復号装置であって、
前記配信用コンテンツを、前記コンテンツ配信ヘッダＣと前記暗号化コンテンツとに分離する分離手段と、
この分離手段で分離されたコンテンツ配信ヘッダＣを（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）とし、前記ユーザ識別子ｖに対して前記ユーザ秘密鍵ｄｖが（ｄｖ，１，ｄｖ，２）で構成されている場合、請求項１に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像ｅを用いて、前記コンテンツの暗号化に用いた前記暗号化鍵Ｋｓを、
【数９】
0005391043.tif 000036
により復号する暗号化鍵復号手段と、
この暗号化鍵復号手段で復号された暗号化鍵Ｋｓで、前記暗号化コンテンツを復号するコンテンツ復号手段と、
を備えることを特徴とするコンテンツ復号装置。
【請求項８】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項５に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖに基づいて復号するために、コンピュータを、
前記配信用コンテンツを、前記コンテンツ配信ヘッダＣと前記暗号化コンテンツとに分離する分離手段、
この分離手段で分離されたコンテンツ配信ヘッダＣを（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）とし、前記ユーザ識別子ｖに対して前記ユーザ秘密鍵ｄｖが（ｄｖ，１，ｄｖ，２）で構成されている場合、請求項１に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像ｅを用いて、前記コンテンツの暗号化に用いた前記暗号化鍵Ｋｓを、
【数１０】
0005391043.tif 000037
により復号する暗号化鍵復号手段、
この暗号化鍵復号手段で復号された暗号化鍵Ｋｓで、前記暗号化コンテンツを復号するコンテンツ復号手段、
として機能させることを特徴とするコンテンツ復号プログラム。
【請求項９】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖを組み込んだ請求項７に記載のコンテンツ復号装置から、前記ユーザ秘密鍵に対応するユーザを特定するユーザ特定装置であって、
暗号化鍵Ｋｓと、請求項１に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の１つである合成数ｎで特定されるＺn＊から選択した２つ異なる乱数ｔ，ｔ′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数１１】
0005391043.tif 000038
を生成し、テスト用コンテンツを前記暗号化鍵Ｋｓで暗号化した暗号化コンテンツに合成することで前記ユーザ識別子のｊビット目をテストするためのテストデータを生成するテストデータ生成手段と、
このテストデータ生成手段で生成されたテストデータを、前記コンテンツ復号装置に送信するテストデータ送信手段と、
前記コンテンツ復号装置から、前記テストデータにより復号したコンテンツを受信する復号データ受信手段と、
この復号データ受信手段で受信したコンテンツと、前記テスト用コンテンツとを、１≦ｊ≦ｍのすべてのｊについて比較し、当該比較結果が一致するか否かに基づいて、前記ユーザ識別子のｊビット目の値を特定するユーザ識別子特定手段と、
予め前記ユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、前記ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索するユーザ探索手段と、
を備えることを特徴とするユーザ特定装置。
【請求項１０】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖを組み込んだ請求項７に記載のコンテンツ復号装置から、前記ユーザ秘密鍵に対応するユーザを特定するために、コンピュータを、
暗号化鍵Ｋｓと、請求項１に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の１つである合成数ｎで特定されるＺn＊から選択した２つ異なる乱数ｔ，ｔ′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数１２】
0005391043.tif 000039
を生成し、テスト用コンテンツを前記暗号化鍵Ｋｓで暗号化した暗号化コンテンツに合成することで前記ユーザ識別子のｊビット目をテストするためのテストデータを生成するテストデータ生成手段、
このテストデータ生成手段で生成されたテストデータを、前記コンテンツ復号装置に送信するテストデータ送信手段、
前記コンテンツ復号装置から、前記テストデータにより復号したコンテンツを受信する復号データ受信手段、
この復号データ受信手段で受信したコンテンツと、前記テスト用コンテンツとを、１≦ｊ≦ｍのすべてのｊについて比較し、当該比較結果が一致するか否かに基づいて、前記ユーザ識別子のｊビット目の値を特定するユーザ識別子特定手段、
予め前記ユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、前記ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索するユーザ探索手段、
として機能させることを特徴とするユーザ特定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツを暗号化して配信するコンテンツ配信システムに用いられる暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラムに関する。
【背景技術】
【０００２】
近年、インターネット（ネットワーク）上で、映像、音声等の種々のコンテンツが流通するようになってきた。
しかし、インターネット上でコンテンツの売買を行う場合、正規の利用者が不正にコンテンツを流通させてしまうことがあり、コンテンツ提供者に被害を与えるケースが増えている。このような問題に対して、不正に流通したコンテンツがどの利用者から配信されたものかを特定する方法として、「不正者追跡（Ｔｒａｉｔｏｒ  Ｔｒａｃｉｎｇ）方式」と呼ばれる暗号化技術を用いる手法がある（以下、「ＫＤ９８法」という。非特許文献１参照）。
【０００３】
このＫＤ９８法では、暗号化されたコンテンツを復号する鍵となる秘密鍵を、利用者固有の識別子と多項式とを用いて生成している。すなわち、多項式をｆ（ｘ）としたとき、変数ｘに利用者固有の識別子ＩＤを代入したｆ（ＩＤ）が利用者の秘密鍵となる。このため、利用者が不正に秘密鍵の複製を作成した場合には、その秘密鍵ｆ（ＩＤ）を作成するために使用した識別子ＩＤを求めることで、どの利用者が不正を行ったかを特定することができる。なお、このＫＤ９８法では、当該不正者追跡方式を用いたシステムに対して、結託してｋ人の不正者が不正（攻撃）を行った場合でも耐性を持たせるために、多項式ｆ（ｘ）の次数をｋ次としている。
【０００４】
また、ＫＤ９８法の安全性を高めるため、多項式ｆ（ｘ）の次数を（２ｋ−１）次に高め、さらに２つの多項式（ｆ１（ｘ），ｆ２（ｘ））を用いた方式も提案されている（以下、「ＤＦ０３法」という。非特許文献２参照）。このように次数を高めることで、線形攻撃（Ｌｉｎｅａｒ  Ａｔｔａｃｋ）と呼ばれる攻撃に対して耐性を持たせることができ、さらに、多項式の数を２つにすることで、攻撃者が、予め怪しいと思われるｋ個の鍵から新たな鍵を偽造するような非適応的（Ｎｏｎ−Ａｄａｐｔｉｖｅ）な攻撃ができないだけでなく、任意のｋ個の鍵を取得して新たな鍵を偽造するような適応的（Ａｄａｐｔｉｖｅ）な攻撃に対して安全性を保つことができる。
【０００５】
また、ＫＤ９８法を使用したシステムにおいては、暗号文が（ｋ＋２）個の要素で構成されている。さらに、ＤＦ０３法を使用したシステムにおいては、暗号文が（２ｋ＋２）個の要素で構成されている。なお、各手法の暗号文には、多項式の係数以外に生成元の乱数乗が要素として付加されている。
【０００６】
ここで、ＤＦ０３法の暗号文の要素数について具体的に説明する。ＤＦ０３法では、暗号文の要素として、多項式の係数である暗号部以外に、生成元の乱数乗を含んでいる。
ＤＦ０３法は、（２ｋ−１）次の２つの多項式の係数が（２ｋ×２）個であり、暗号文としてこれらの係数を２個づつまとめて使用するため、暗号部の要素数は、（２ｋ×２）／２＝２ｋ個となる。より具体的には、ＤＦ０３法では、２つの多項式（ｆ１（ｘ），ｆ２（ｘ））の次数が同じ項の係数、例えば、ｘｉの係数がａｉ，ｂｉであったとすると、これらを２つの生成元（ｇ，ｈ）を用いて合成し、（ｇａｉｈｂｉ）ｒ（ｒは乱数）として１つの要素とするため、暗号文の暗号部の要素数は２ｋ個となる。
さらに、ＤＦ０３法は、生成元（ｇ，ｈ）を乱数ｒ乗した値ｇｒ，ｈｒの２個の要素を暗号文に付加している。このように、ＤＦ０３法は、暗号文を、（２ｋ＋２）個の要素で構成している。
【０００７】
これに対し、双線形写像をベースとした「ｃ−セキュア（Ｓｅｃｕｒｅ）符号」（非特許文献３参照）と、公開鍵暗号を組み合わせて、暗号文を３個の要素だけで構成した方式も提案されている（以下、「ＢＮ０８法」という。非特許文献４参照）。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Kaisa Nyberg著“Advances in Cryptology-EUROCRYPT’98”, Lecture Notes in Computer Science, vol1403, pp.145-157
【非特許文献２】Yvo. G. Desmedt著“Public Key Cryptography-PKC’03”, LectureNotes in Computer Science, vol2567, pp.100-115
【非特許文献３】D. Boneh, J. Shaw著“Collusion−Secure Fingerprinting for Digital Data”, IEEE Trans. on Information Theory, vol.44, pp.1987-1905, 1998.
【非特許文献４】D. Boneh, M. Naor著“Traitor Tracing with Constant Size Ciphertext”, Proc. of ACM-CCS 2008, pp.501-510, 2008.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
前記したように、ＫＤ９８法及びＤＦ０３法は、多項式の係数を、プロバイダの秘密情報として秘密裏に管理・保管する必要がある。ここで、システムに対して、結託して攻撃を行う不正者の数をｋ、１個の係数のデータ長を｜ｑ｜（一+般に、｜ｑ｜は１６０ビット程度）とすると、ＫＤ９８法を使用したシステムにおいては、各ユーザの持つ秘密鍵のサイズは｜ｑ｜、暗号文のサイズは要素数が（ｋ＋２）個であるため（ｋ＋２）×｜ｑ｜となる。同様に、ＤＦ０３法では秘密鍵のサイズが２×｜ｑ｜、暗号文のサイズは要素数が（２ｋ＋２）個であるため（２ｋ＋２）×｜ｑ｜となる。
一方、ＢＮ０８法では、秘密鍵のサイズはｋ２に比例して大きくなるが、暗号文の要素数は３個であるため３×｜ｑ｜となる。
すなわち、従来の手法によれば、管理するユーザ数が多くなれば、結託して攻撃する不正者の数ｋに依存して、秘密鍵サイズ、もしくは、暗号文の要素数が変化してしまう。特に、ＫＤ９８法及びＤＦ０３法においては、暗号文の要素数がｋに比例して大きくなり、ＢＮ０８法では、秘密鍵のサイズがｋ２に比例して大きくなるという問題がある。
【００１０】
本発明は、以上のような問題点に鑑みてなされたものであり、ＢＮ０８法の暗号文の要素数を保持しつつ、各ユーザが保持する秘密鍵のサイズをユーザ数（あるいは最大結託者数ｋ）に依存しない、一定サイズにすることが可能な暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラムを提供することを課題とする。
【課題を解決するための手段】
【００１１】
本発明は、前記課題を解決するために創案されたものであり、まず、請求項１に記載の暗号化情報生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、基本情報生成手段と、マスタ秘密情報生成手段と、公開鍵生成手段と、を備える構成とした。
【００１２】
かかる構成において、暗号化情報生成装置は、基本情報生成手段によって、入力された正整数ｍに対し、基本情報として、ｍ個の素数（ｐ１，…，ｐｍ）及びｍ個の生成元（ｇ１，…，ｇｍ）と、素数の合成数ｎ（ｎ＝ｐ１…ｐｍ）及び生成元を合成した要素ｇ（ｇ＝ｇ１…ｇｍ）とを生成するとともに、合成数ｎを位数、合成された要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅを特定する。例えば、基本情報生成手段は、ｅ：Ｇ×Ｇ→ＧＴとなる双線形写像ｅとして、一般的な“Ｗｅｉｌ  Ｐａｒｉｎｇ”、“Ｔａｔｅ  Ｐａｒｉｎｇ”等に基づいて楕円曲線のパラメータを特定する。ここで、双線形写像ｅは、２つの引数を持つｅ（・，・）で表される写像である。また、基本情報生成手段は、（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）を、公開情報として生成する。
【００１３】
なお、正整数ｍは、不正者の予め定めた最大結託者数（コンテンツ配信システムに対して、不正者が結託して不正（攻撃）を行った場合でも耐性を持たせることが可能な最大数）をｋ、全ユーザ数をＮ、安全性パラメータをεとしたとき、ｋ２ｌｏｇ（Ｎ／ε）以上の数とすることが望ましい。これによって、コンテンツ配信システムに対して、最大結託者数に対して、耐性を持たせることができる。
【００１４】
そして、暗号化情報生成装置は、マスタ秘密情報生成手段によって、合成数ｎに応じて、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍであるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎであるα，βとを選択する。そして、暗号化情報生成装置は、マスタ秘密情報生成手段によって、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）を生成し、マスタ秘密情報として、合成された要素ｇのαβ乗（べき乗）を演算することでマスタ秘密鍵ｍｓｋ（＝ｇαβ）を生成するとともに、生成元（ｇ１，…，ｇｍ）をそれぞれ秘密情報の一部である（ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１）の値でべき乗演算することで、パラメータｐａｒａｍを、
【数１】
0005391043.tif 000002
として生成する。
【００１５】
そして、暗号化情報生成装置は、公開鍵生成手段によって、パラメータｐａｒａｍと、生成元（ｇ１，…，ｇｍ）と、双線形写像ｅと、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）とから、公開鍵ＰＫを、
【数２】
0005391043.tif 000003
により生成する。このように、公開鍵は生成元のべき乗値を有することで、コンテンツ配信システムにおいて、離散対数計算の有する困難性により暗号系の安全性を確保することができる。
【００１６】
また、請求項２に記載の暗号化情報生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成するために、コンピュータを、基本情報生成手段、マスタ秘密情報生成手段、公開鍵生成手段、として機能させる構成とした。
【００１７】
かかる構成において、暗号化情報生成プログラムは、基本情報生成手段によって、入力された正整数ｍに対し、基本情報として、ｍ個の素数（ｐ１，…，ｐｍ）及びｍ個の生成元（ｇ１，…，ｇｍ）と、素数の合成数ｎ（ｎ＝ｐ１…ｐｍ）及び生成元を合成した要素ｇ（ｇ＝ｇ１…ｇｍ）とを生成するとともに、合成数ｎを位数、合成された要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅ（・，・）を特定する。また、基本情報生成手段は、（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）を、公開情報として生成する。
【００１８】
そして、暗号化情報生成プログラムは、マスタ秘密情報生成手段によって、合成数ｎに応じて、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍであるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎであるα，βとを選択する。そして、暗号化情報生成プログラムは、マスタ秘密情報生成手段によって、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）を生成し、マスタ秘密情報として、合成された要素ｇのαβ乗（べき乗）を演算することでマスタ秘密鍵ｍｓｋ（＝ｇαβ）を生成するとともに、生成元（ｇ１，…，ｇｍ）をそれぞれ秘密情報の一部である（ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１）の値でべき乗演算することで、パラメータｐａｒａｍを、
【数３】
0005391043.tif 000004
として生成する。
【００１９】
そして、暗号化情報生成プログラムは、公開鍵生成手段によって、パラメータｐａｒａｍと、生成元（ｇ１，…，ｇｍ）と、双線形写像ｅと、秘密情報（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）とから、公開鍵ＰＫを、
【数４】
0005391043.tif 000005
により生成する。
【００２０】
また、請求項３に記載の秘密鍵生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成する秘密鍵生成装置であって、ユーザ秘密鍵生成手段と、ユーザ秘密鍵出力手段と、を備える構成とした。
【００２１】
かかる構成において、秘密鍵生成装置は、ユーザ秘密鍵生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化情報生成装置で生成されたマスタ秘密情報の一部であるパラメータｐａｒａｍと、マスタ秘密情報の一部である前記マスタ秘密鍵ｍｓｋと、ユーザを識別するためのユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｒｖとから、少なくとも、
【数５】
0005391043.tif 000006
を含んだユーザ秘密鍵ｄｖを生成する。なお、ユーザ秘密鍵は、ユーザ識別子ｖを付加して３要素として生成してもよい。
【００２２】
そして、秘密鍵生成装置は、ユーザ秘密鍵出力手段によって、ユーザ秘密鍵を出力する。このユーザ秘密鍵は、ネットワークを介してコンテンツ復号装置に出力されることとしてもよいし、コンテンツ復号装置に配布される記憶媒体に書き込んで出力することとしてもよい。なお、このユーザ秘密鍵は、コンテンツ復号装置において、ユーザがコンテンツを復号する際に使用される。
このように、秘密鍵生成装置は、ユーザ秘密鍵をユーザ数に依存しない固定数の要素で表すことができる。
【００２３】
また、請求項４に記載の秘密鍵生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成するために、コンピュータを、ユーザ秘密鍵生成手段、ユーザ秘密鍵出力手段、として機能させる構成とした。
【００２４】
かかる構成において、秘密鍵生成プログラムは、ユーザ秘密鍵生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化情報生成装置で生成されたマスタ秘密情報の一部である前記パラメータｐａｒａｍと、前記マスタ秘密情報の一部である前記マスタ秘密鍵ｍｓｋと、ユーザを識別するためのユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｒｖとから、少なくとも、
【数６】
0005391043.tif 000007
を含んだユーザ秘密鍵ｄｖを生成する。そして、秘密鍵生成プログラムは、ユーザ秘密鍵出力手段によって、ユーザ秘密鍵を出力する。
【００２５】
さらに、請求項５に記載の配信用コンテンツ生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成された公開鍵ＰＫに基づいて、配信用コンテンツを生成する配信用コンテンツ生成装置であって、暗号化鍵生成手段と、コンテンツ暗号化手段と、ヘッダ生成手段と、ヘッダ合成手段と、を備える構成とした。
【００２６】
かかる構成において、配信用コンテンツ生成装置は、暗号化鍵生成手段によって、コンテンツを暗号化する暗号化鍵Ｋｓを生成する。そして、配信用コンテンツ生成装置は、コンテンツ暗号化手段によって、暗号化鍵生成手段で生成された暗号化鍵Ｋｓでコンテンツを暗号化し、暗号化コンテンツを生成する。
【００２７】
そして、配信用コンテンツ生成装置は、ヘッダ生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化鍵生成手段で生成された暗号化鍵Ｋｓと、公開鍵ＰＫと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｔ及び１≦ｊ≦ｍから選択したインデックスｊとに基づいて、暗号化コンテンツに合成するコンテンツ配信ヘッダＣを、
【数７】
0005391043.tif 000008
により生成する。
【００２８】
すなわち、ヘッダ生成手段は、１≦ｊ≦ｍから選択したインデックスｊと、公開鍵ＰＫに含まれるインデックスｊに対応するＧｊをｔ乗した値と暗号化鍵Ｋｓとの積（ＫｓＧｊｔ）と、公開鍵ＰＫに含まれるインデックスｊに対応するＥｊ、Ｈｊ，０、Ｈｊ，１をそれぞれｔ乗した値（Ｅｊｔ、Ｈｊ，０ｔ、Ｈｊ，１ｔ）とを含んだコンテンツ配信ヘッダＣを生成する。
【００２９】
そして、配信用コンテンツ生成装置は、ヘッダ合成手段によって、ヘッダ生成手段で生成されたコンテンツ配信ヘッダＣと、暗号化コンテンツとを合成することで配信用コンテンツを生成する。すなわち、ヘッダ合成手段は、配信用コンテンツを、暗号化コンテンツとコンテンツ配信ヘッダとが一体となったファイルあるいはストリームとして生成する。
このように、配信用コンテンツ生成装置は、暗号文となるコンテンツ配信ヘッダＣを、ユーザ数に依存しない固定数の要素で表すことができる。
【００３０】
また、請求項６に記載の配信用コンテンツ生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項１に記載の暗号化情報生成装置によって生成された公開鍵ＰＫに基づいて、配信用コンテンツを生成するために、コンピュータを、暗号化鍵生成手段、コンテンツ暗号化手段、ヘッダ生成手段、ヘッダ合成手段、として機能させる構成とした。
【００３１】
かかる構成において、配信用コンテンツ生成プログラムは、暗号化鍵生成手段によって、コンテンツを暗号化する暗号化鍵Ｋｓを生成する。そして、配信用コンテンツ生成プログラムは、コンテンツ暗号化手段によって、暗号化鍵生成手段で生成された暗号化鍵Ｋｓでコンテンツを暗号化し、暗号化コンテンツを生成する。
【００３２】
そして、配信用コンテンツ生成プログラムは、ヘッダ生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化鍵生成手段で生成された暗号化鍵Ｋｓと、公開鍵ＰＫと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｔ及び１≦ｊ≦ｍから選択したインデックスｊとに基づいて、暗号化コンテンツに合成するコンテンツ配信ヘッダＣを、
【数８】
0005391043.tif 000009
により生成する。
【００３３】
そして、配信用コンテンツ生成プログラムは、ヘッダ合成手段によって、ヘッダ生成手段で生成されたコンテンツ配信ヘッダＣと、暗号化コンテンツとを合成することで配信用コンテンツを生成する。
【００３４】
また、請求項７に記載のコンテンツ復号装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項５に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖに基づいて復号するコンテンツ復号装置であって、分離手段と、暗号化鍵復号手段と、コンテンツ復号手段と、を備える構成とした。
【００３５】
かかる構成において、コンテンツ復号装置は、分離手段によって、配信用コンテンツを、コンテンツ配信ヘッダＣと暗号化コンテンツとに分離する。
そして、コンテンツ復号装置は、暗号化鍵復号手段によって、分離手段で分離されたコンテンツ配信ヘッダＣを（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）とし、ユーザ識別子ｖに対してユーザ秘密鍵ｄｖが（ｄｖ，１，ｄｖ，２）で構成されている場合、請求項１に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像ｅを用いて、コンテンツの暗号化に用いた暗号化鍵Ｋｓを、
【数９】
0005391043.tif 000010
により復号する。
なお、ここで、Ｃ３＋ｖｊは、ｖｊの値が“０”の場合はＣ３、ｖｊの値が“１”の場合はＣ４を表す。
そして、コンテンツ復号装置は、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵Ｋｓで、暗号化コンテンツを復号する。
【００３６】
また、請求項８に記載のコンテンツ復号プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項５に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖに基づいて復号するために、コンピュータを、分離手段、暗号化鍵復号手段、コンテンツ復号手段、として機能させる構成とした。
【００３７】
かかる構成において、コンテンツ復号プログラムは、分離手段によって、配信用コンテンツを、コンテンツ配信ヘッダＣと暗号化コンテンツとに分離する。
そして、コンテンツ復号プログラムは、暗号化鍵復号手段によって、分離手段で分離されたコンテンツ配信ヘッダＣを（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）とし、ユーザ識別子ｖに対してユーザ秘密鍵ｄｖが（ｄｖ，１，ｄｖ，２）で構成されている場合、請求項１に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像ｅ（・，・）を用いて、コンテンツの暗号化に用いた暗号化鍵Ｋｓを、
【数１０】
0005391043.tif 000011
により復号する。
そして、コンテンツ復号プログラムは、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵Ｋｓで、暗号化コンテンツを復号する。
【００３８】
また、請求項９に記載のユーザ特定装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖを組み込んだ請求項７に記載のコンテンツ復号装置から、前記ユーザ秘密鍵ｄｖに対応するユーザを特定するユーザ特定装置であって、テストデータ生成手段と、テストデータ送信手段と、復号データ受信手段と、ユーザ識別子特定手段と、ユーザ探索手段と、を備える構成とした。
【００３９】
かかる構成において、ユーザ特定装置は、テストデータ生成手段によって、暗号化鍵Ｋｓと、請求項１に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の１つである合成数ｎで特定されるＺn＊から選択した２つ異なる乱数ｔ，ｔ′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数１１】
0005391043.tif 000012
を生成する。さらに、ユーザ特定装置は、テストデータ生成手段によって、テスト用コンテンツを暗号化鍵Ｋｓで暗号化した暗号化コンテンツに合成することでユーザ識別子のｊビット目をテストするためテストデータを生成する。
これによって、テストデータは、テスト用コンテンツ配信ヘッダにおいて、ｊ番目のＨｊ，０又はＨｊ，１のいずれか一方が、他の要素とは異なるｔ′乗となり、ダミーデータが組み込まれることになる。
【００４０】
そして、ユーザ特定装置は、テストデータ送信手段によって、テストデータ生成手段で生成されたテストデータを、コンテンツ復号装置に送信する。そして、ユーザ特定装置は、復号データ受信手段によって、コンテンツ復号装置から、テストデータにより復号したコンテンツを受信する。
【００４１】
そして、ユーザ特定装置は、ユーザ識別子特定手段によって、復号データ受信手段で受信したコンテンツと、テスト用コンテンツとを、１≦ｊ≦ｍのすべてのｊについて比較し、当該比較結果が一致するか否かに基づいて、ユーザ識別子のｊビット目の値を特定する。本発明においては、他の要素とは異なるｔ′乗の値を用いて復号した場合、コンテンツは正常に復号されないことを利用する。すなわち、ユーザ識別子特定手段は、テスト用コンテンツ配信ヘッダとして、Ｃ＊ｊ，１を使用した場合、比較結果が一致すれば、ユーザ識別子のｊビット目の値を“１”、比較結果が一致しなければ、ユーザ識別子のｊビット目の値を“０”とする。また、ユーザ識別子特定手段は、テスト用コンテンツ配信ヘッダとして、Ｃ＊ｊ，０を使用した場合、比較結果が一致すれば、ユーザ識別子のｊビット目の値を“０”、比較結果が一致しなければ、ユーザ識別子のｊビット目の値を“１”とすることで、ユーザ識別子を特定する。
【００４２】
そして、ユーザ特定装置は、ユーザ探索手段によって、予めユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索する。
【００４３】
また、請求項１０に記載のユーザ特定プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項３に記載の秘密鍵生成装置で生成されたユーザ秘密鍵ｄｖを組み込んだ請求項７に記載のコンテンツ復号装置から、前記ユーザ秘密鍵ｄｖに対応するユーザを特定するために、コンピュータを、テストデータ生成手段、テストデータ送信手段、復号データ受信手段、ユーザ識別子特定手段、ユーザ探索手段、として機能させる構成とした。
【００４４】
かかる構成において、ユーザ特定プログラムは、テストデータ生成手段によって、暗号化鍵Ｋｓと、請求項１に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の１つである素数ｐで特定されるＺｐ＊から選択した２つ異なる乱数ｔ，ｔ′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数１２】
0005391043.tif 000013
を生成する。さらに、ユーザ特定プログラムは、テストデータ生成手段によって、テスト用コンテンツを暗号化鍵Ｋｓで暗号化した暗号化コンテンツに合成することでユーザ識別子のｊビット目をテストするためテストデータを生成する。
【００４５】
そして、ユーザ特定プログラムは、テストデータ送信手段によって、テストデータ生成手段で生成されたテストデータを、コンテンツ復号装置に送信する。そして、ユーザ特定プログラムは、復号データ受信手段によって、コンテンツ復号装置から、テストデータにより復号したコンテンツを受信する。
【００４６】
そして、ユーザ特定プログラムは、ユーザ識別子特定手段によって、復号データ受信手段で受信したコンテンツと、テスト用コンテンツとを、１≦ｊ≦ｍのすべてのｊについて比較し、当該比較結果が一致するか否かに基づいて、ユーザ識別子のｊビット目の値を特定する。
【００４７】
そして、ユーザ特定プログラムは、ユーザ探索手段によって、予めユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索する。
【発明の効果】
【００４８】
本発明は、以下に示す優れた効果を奏するものである。
請求項１，２に記載の発明によれば、秘密鍵（ユーザ秘密鍵）の要素数を固定数とすることが可能なマスタ秘密鍵や、暗号文となるコンテンツ配信ヘッダの要素数を固定数とすることが可能な公開鍵を生成することができる。
【００４９】
請求項３，４に記載の発明によれば、要素数が固定数であって、ユーザ数に依存しない固定長のサイズとなる秘密鍵（ユーザ秘密鍵）を生成することができる。これによって、コンテンツ復号装置において保持する秘密鍵のデータ量を削減することができる。
【００５０】
請求項５，６に記載の発明によれば、要素数が固定数であって、暗号文がユーザ数に依存しない固定長のサイズとなるコンテンツ配信ヘッダを付加した配信用コンテンツを生成することができる。これによって、コンテンツを一斉配信する場合であっても、暗号文となるコンテンツ配信ヘッダの要素数が固定数であるため、データ量を抑えることができ、ネットワークの負荷を軽減させることができる。
【００５１】
請求項７，８に記載の発明によれば、ユーザ数に依存しない要素数が固定数のコンテンツ配信ヘッダから、暗号化鍵を復号することができる。
【００５２】
請求項９，１０に記載の発明によれば、コンテンツ復号装置から、当該コンテンツ復号装置を使用するユーザを特定することができる。これによって、不正なユーザが、配布されたユーザ秘密鍵を複製して、不正なコンテンツ復号装置を作成した場合であっても、当該不正なコンテンツ復号装置を作成したユーザを特定することができる。
【図面の簡単な説明】
【００５３】
【図１】本発明の第１実施形態に係るコンテンツ配信システムの構成を示すブロック図である。
【図２】本発明の第１実施形態に係る暗号化情報生成サーバ（暗号化情報生成装置）の構成を示すブロック図である。
【図３】本発明の第１実施形態に係る秘密鍵生成サーバ（秘密鍵生成装置）の構成を示すブロック図である。
【図４】本発明の第１実施形態に係るコンテンツサーバ（配信用コンテンツ生成装置）の構成を示すブロック図である。
【図５】本発明の第１実施形態に係るコンテンツ配信サーバの構成を示すブロック図である。
【図６】本発明の第１実施形態に係るユーザ端末（コンテンツ復号装置）の構成を示すブロック図である。
【図７】本発明の第１実施形態に係る不正ユーザ追跡サーバ（ユーザ特定装置）の構成を示すブロック図である。
【図８】本発明の第１実施形態に係るコンテンツ配信システムにおいて、公開鍵とユーザ秘密鍵とを生成する動作を示すフローチャートである。
【図９】本発明の第１実施形態に係るコンテンツ配信システムにおいて、配信用コンテンツを生成する動作を示すフローチャートである。
【図１０】本発明の第１実施形態に係るコンテンツ配信システムにおいて、配信用コンテンツを配信する動作を示すフローチャートである。
【図１１】本発明の第１実施形態に係るユーザ端末が配信用コンテンツを復号する動作を示すフローチャートである。
【図１２】本発明の第１実施形態に係る不正なユーザ端末から当該ユーザ端末を作成したユーザを追跡する動作を示すフローチャートである。
【図１３】本発明の第２実施形態に係るコンテンツ配信システムの構成を示すブロック図である。
【図１４】本発明の第２実施形態に係る暗号化情報生成サーバ（暗号化情報生成装置）の構成を示すブロック図である。
【図１５】本発明の第２実施形態に係る秘密鍵生成サーバ（秘密鍵生成装置）の構成を示すブロック図である。
【図１６】本発明の第２実施形態に係るユーザ端末（コンテンツ復号装置）の構成を示すブロック図である。
【発明を実施するための形態】
【００５４】
以下、本発明の実施形態について図面を参照して説明する。
＜第１実施形態＞
［コンテンツ配信システムの構成］
まず、図１を参照して、第１実施形態に係るコンテンツ配信システムの構成について説明する。コンテンツ配信システム１は、コンテンツの配信者（以下、プロバイダという）側にイントラネット３で接続された暗号化情報生成サーバ１０と、秘密鍵生成サーバ２０と、コンテンツサーバ３０と、コンテンツ配信サーバ４０と、ゲートウェイ（ＧＷ）５とを備え、インターネット７を経由してコンテンツの購入者（以下、ユーザという）側の端末であるユーザ端末５０にコンテンツを配信するシステムである。
なお、本実施形態では、コンテンツ配信システム１は、プロバイダ側に、不正ユーザ追跡サーバ９０をさらに備えている。
【００５５】
暗号化情報生成サーバ（暗号化情報生成装置）１０は、コンテンツを暗号化する際に用いる暗号化情報として、秘密鍵生成サーバ２０で使用するプロバイダ側で秘密の情報であるマスタ秘密情報や、コンテンツサーバ３０で使用する公開鍵を生成するものである。なお、生成されたマスタ秘密情報は、秘密鍵生成サーバ２０に送信され、公開鍵は、コンテンツサーバ３０に送信される。
【００５６】
秘密鍵生成サーバ（秘密鍵生成装置）２０は、暗号化されたコンテンツを復号する際に使用するユーザ固有の秘密鍵（ユーザ秘密鍵）を生成するものである。この生成されたユーザ秘密鍵は、ユーザ側のユーザ端末５０に配布（送信）される。
【００５７】
コンテンツサーバ（配信用コンテンツ生成装置）３０は、コンテンツを暗号化し、暗号化情報生成サーバ１０で生成される公開鍵を用いて、コンテンツの暗号化に使用した暗号化鍵を暗号化してヘッダ情報（コンテンツ配信ヘッダ）を生成し、暗号化されたコンテンツと合成することで、ユーザ側に配信するコンテンツ（配信用コンテンツ）を生成するものである。なお、コンテンツサーバ３０は、図示していない記憶手段に複数の配信用コンテンツを保持し、コンテンツ配信サーバ４０から要求のあった配信用コンテンツをコンテンツ配信サーバ４０に送信する。
【００５８】
コンテンツ配信サーバ４０は、ユーザ端末５０から要求のあったコンテンツ（配信用コンテンツ）を、コンテンツサーバ３０から取得し、ユーザ端末５０に送信するものである。
【００５９】
ユーザ端末（コンテンツ復号装置）５０は、ユーザが所望するコンテンツ（配信用コンテンツ）をコンテンツ配信サーバ４０に対して要求し、コンテンツ配信サーバ４０から取得した配信用コンテンツを復号するものである。このユーザ端末５０は、予め秘密鍵生成サーバ２０から、ユーザ固有のユーザ秘密鍵を取得し、配信コンテンツを復号する。なお、ここでは、１台のユーザ端末５０のみを図示しているが、インターネット７を介して、複数のユーザ端末５０が接続可能なことは言うまでもない。
【００６０】
ゲートウェイ（ＧＷ）５は、イントラネット３とインターネット７との各ネットワークを接続するための装置である。このゲートウェイ５は、例えば、ＩＰルータ（ＩＰ：Ｉｎｔｅｒｎｅｔ Ｐｒｏｔｏｃｏｌ）であり、イントラネット３内への不正アクセスを防ぐファイア・ウォールの機能を有するものである。
【００６１】
不正ユーザ追跡サーバ（ユーザ特定装置）９０は、ユーザ端末５０を使用するユーザを特定するものである。この不正ユーザ追跡サーバ９０は、例えば、不正なユーザが、配布されたユーザ秘密鍵を複製して、不正なユーザ端末５０Ｚ（５０）を作成した場合、この不正に作成されたユーザ端末５０Ｚにテストデータを入力し、ユーザ端末５０Ｚから出力されるデータを解析することで、当該ユーザ端末５０Ｚを作成したユーザをユーザ識別子により特定する。
【００６２】
以下、プロバイダ側の装置である暗号化情報生成サーバ１０、秘密鍵生成サーバ２０、コンテンツサーバ３０及びコンテンツ配信サーバ４０の各構成と、ユーザ側の装置であるユーザ端末５０の構成とについて順次説明を行い、さらに、不正ユーザ追跡サーバ９０の構成について説明を行う。
【００６３】
（暗号化情報生成サーバの構成）
まず、図２を参照（適宜図１参照）して、暗号化情報生成サーバ１０の構成について説明する。ここでは、暗号化情報生成サーバ１０は、基本情報生成手段１１と、マスタ秘密情報生成手段１２と、マスタ秘密情報送信手段１３と、公開鍵生成手段１４と、公開鍵送信手段１５と、を備えている。
【００６４】
基本情報生成手段１１は、マスタ秘密情報生成手段１２や公開鍵生成手段１４においてマスタ秘密情報や公開鍵を生成するために用いる基本情報を生成するものである。
ここでは、基本情報生成手段１１は、図示していない入力手段により外部から正整数ｍを入力し、基本情報として、ｍ個の素数（ｐ１，ｐ２，…，ｐｍ）と、素数（ｐ１，…，ｐｍ）を位数とする群の生成元（ｇ１，…，ｇｍ）を生成する。さらに、基本情報生成手段１１は、基本情報として、素数（ｐ１，ｐ２，…，ｐｍ）をすべて乗算した素数の合成数ｎ（ｎ＝ｐ１…ｐｍ）と、生成元（ｇ１，…，ｇｍ）をすべて乗算した生成元を合成した要素ｇ（ｇ＝ｇ１…ｇｍ）を生成する。なお、不正者の予め定めた最大結託者数（コンテンツ配信システム１に対して、不正者が結託して不正（攻撃）を行った場合でも耐性を持たせことが可能な最大数）をｋ、全ユーザ数をＮ、安全性パラメータをεとしたとき、正整数ｍは、ｋ２ｌｏｇ（Ｎ／ε）以上の数とする。例えば、ユーザ数Ｎ＝１００００人、最大結託攻撃者数ｋ＝１０人、安全性パラメータε＝０．０００１、とした場合、正整数ｍは、ｍ≧１８４３となる。
【００６５】
さらに、基本情報生成手段１１は、合成数ｎを位数、合成された要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅ（・，・）を決定する。例えば、基本情報生成手段１１は、ｅ：Ｇ×Ｇ→ＧＴとなる双線形写像ｅ（・，・）として、一般的な“Ｗｅｉｌ  Ｐａｒｉｎｇ”、“Ｔａｔｅ  Ｐａｒｉｎｇ”等に基づいて楕円曲線のパラメータを特定する。
【００６６】
なお、基本情報生成手段１１は、入力された正整数ｍと、生成した各種の基本情報（合成数ｎ、素数ｐ１，…，ｐｍ、合成された要素ｇ、生成元ｇ１，…，ｇｍ、双線形写像ｅ（・，・））とを、マスタ秘密情報生成手段１２及び公開鍵生成手段１４に出力する。
【００６７】
マスタ秘密情報生成手段１２は、秘密鍵生成サーバ２０において、ユーザ秘密鍵を生成する際に用いるマスタ秘密情報を生成するものである。
具体的には、マスタ秘密情報生成手段１２は、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍとなる２ｍ個の数ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎとなる２個の数α，βとをランダムに選択して、秘密情報ｍａｓｔｅｒ＝（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）として生成する。
【００６８】
さらに、マスタ秘密情報生成手段１２は、基本情報生成手段１１で生成された生成元ｇ１，…，ｇｍと、秘密情報の一部であるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータ（以下、公開パラメータ）ｐａｒａｍを、以下の（１）式により生成するとともに、マスタ秘密鍵ｍｓｋをｇαβにより生成（ｍｓｋ＝ｇαβ）する。
【００６９】
【数１３】
0005391043.tif 000014
【００７０】
すなわち、マスタ秘密情報生成手段１２は、合成された要素ｇのαβ乗（べき乗）を演算することでマスタ秘密鍵ｍｓｋ（＝ｇαβ）を生成するとともに、生成元（ｇ１，…，ｇｍ）をそれぞれ秘密情報（ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１）の値でべき乗演算することで、公開パラメータｐａｒａｍを生成する。なお、この公開パラメータは、公開情報に加え、さらに秘密鍵生成サーバ２０に公開される情報である。
【００７１】
そして、マスタ秘密情報生成手段１２は、生成したマスタ秘密鍵ｍｓｋと公開パラメータｐａｒａｍとを、マスタ秘密情報としてマスタ秘密情報送信手段１３に出力する。
さらに、マスタ秘密情報生成手段１２は、生成した公開パラメータｐａｒａｍと秘密情報の一部であるα，βとを公開鍵生成手段１４に出力する。
【００７２】
マスタ秘密情報送信手段１３は、マスタ秘密情報生成手段１２で生成されたマスタ秘密情報を、イントラネット３を介して秘密鍵生成サーバ２０に送信するものである。すなわち、マスタ秘密情報送信手段１３は、マスタ秘密情報生成手段１２で生成されたマスタ秘密鍵ｍｓｋと公開パラメータｐａｒａｍとを秘密鍵生成サーバ２０に送信する。
【００７３】
公開鍵生成手段１４は、コンテンツ配信サーバ４０において、配信用コンテンツに合成するヘッダ（コンテンツ配信ヘッダ）を生成するための公開鍵（Ｔｒａｉｔｏｒ  Ｔｒａｃｉｎｇ用公開鍵）を生成するものである。
【００７４】
ここでは、公開鍵生成手段１４は、基本情報生成手段１１において入力された正整数ｍと、基本情報生成手段１１で生成された素数ｐ１，ｐ２，…，ｐｍ、生成元ｇ１，ｇ２，…，ｇｍ及び双線形写像ｅ（・，・）と、マスタ秘密情報生成手段１２で生成された公開パラメータｐａｒａｍ（前記（１）式参照）及び秘密情報の一部であるα，βとに基づいて、以下の（２）式により公開鍵ＰＫ＝（Ｅ１，Ｅ２，…，Ｅｍ，Ｇ１，Ｇ２，…，Ｇｍ，Ｈ１，０，Ｈ２，０，…，Ｈｍ，０，Ｈ１，１，Ｈ２，１，…，Ｈｍ，１）を生成する。
【００７５】
【数１４】
0005391043.tif 000015
【００７６】
そして、公開鍵生成手段１４は、生成した公開鍵ＰＫを公開鍵送信手段１５に出力する。
公開鍵送信手段１５は、公開鍵生成手段１４で生成された公開鍵を、イントラネット３を介してコンテンツサーバ３０に送信するものである。
【００７７】
なお、暗号化情報生成サーバ１０は、基本情報生成手段１１で生成された暗号化、復号、鍵生成等に使用する（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）を公開情報として公開する。
ここでは、暗号化情報生成サーバ１０は、マスタ秘密情報送信手段１３や公開鍵送信手段１５によって、公開情報を、秘密鍵生成サーバ２０やコンテンツサーバ３０に送信することで公開することとする。なお、公開情報を送信するため、別途、公開情報送信手段（図示せず）を設けてもよい。
【００７８】
このように暗号化情報生成サーバ１０を構成することで、暗号化情報生成サーバ１０は、マスタ秘密情報（マスタ秘密鍵、公開パラメータ）と、公開鍵とを生成することができる。
【００７９】
なお、暗号化情報生成サーバ１０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、暗号化情報生成サーバ１０は、コンピュータを、前記した各手段として機能させる暗号化情報生成プログラムによって動作する。
【００８０】
（秘密鍵生成サーバの構成）
次に、図３を参照（適宜図１参照）して、秘密鍵生成サーバ２０の構成について説明する。ここでは、秘密鍵生成サーバ２０は、マスタ秘密情報受信手段２１と、マスタ秘密情報記憶手段２２と、ユーザ秘密鍵生成手段２３と、ユーザ秘密鍵出力手段２４と、を備えている。
【００８１】
マスタ秘密情報受信手段２１は、暗号化情報生成サーバ１０で生成されたマスタ秘密情報であるマスタ秘密鍵ｍｓｋと公開情報（公開パラメータｐａｒａｍを含む）とを、イントラネット３を介して受信するものである。このマスタ秘密情報受信手段２１で受信したマスタ秘密鍵及び公開情報（公開パラメータｐａｒａｍを含む）は、マスタ秘密情報記憶手段２２に記憶される。
【００８２】
マスタ秘密情報記憶手段２２は、マスタ秘密情報受信手段２１で受信したマスタ秘密鍵と公開情報（公開パラメータｐａｒａｍを含む）とを記憶するもので、ハードディスク等の一般的な記憶装置である。このマスタ秘密情報記憶手段２２に記憶されているマスタ秘密鍵及び公開パラメータ（公開情報）は、ユーザ秘密鍵生成手段２３によって読み出される。
【００８３】
ユーザ秘密鍵生成手段２３は、ユーザを識別するための値（例えば、ユーザ固有のユーザ識別子〔ｖ〕）から、ユーザ固有の秘密鍵（ユーザ秘密鍵）を生成するものである。
ここでは、ユーザ秘密鍵生成手段２３は、マスタ秘密情報記憶手段２２に記憶されているマスタ秘密鍵ｍｓｋ（＝ｇαβ）と、公開情報（公開パラメータｐａｒａｍ（前記（１）式参照））と、ユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）（ただし、ｎは、公開情報として取得した合成数）から選択した乱数ｒｖとから、以下の（３）式によりユーザ秘密鍵ｄｖを生成する。
【００８４】
【数１５】
0005391043.tif 000016
【００８５】
この（３）式において、ユーザ識別子ｖは、図示を省略した入力手段を介して入力されるものである。また、ユーザ識別子ｖは、暗号化情報生成サーバ１０の基本情報生成手段１１（図２参照）に入力される正整数ｍのビット長のデータである。ここでは、ユーザ識別子ｖをビット列で表したときのｉビット目（１≦ｉ≦ｍ）のビット値を、ｖｉと表記する。すなわち、ユーザ識別子ｖは、（ｖ１，ｖ２，…，ｖｍ）のビット列で構成される。
【００８６】
なお、ここでは、ユーザ秘密鍵に、ユーザ識別子ｖを含ませることとしたが、このユーザ識別子ｖは、必ずしも秘密の情報とする必要はない。よって、ユーザ秘密鍵生成手段２３は、ユーザ秘密鍵ｄｖを以下の（４）式により生成することとしてもよい。
【００８７】
【数１６】
0005391043.tif 000017
【００８８】
このユーザ秘密鍵生成手段２３で生成されたユーザ秘密鍵は、ユーザ秘密鍵出力手段２４に出力される。
【００８９】
ユーザ秘密鍵出力手段２４は、ユーザ秘密鍵生成手段２３で生成されたユーザ秘密鍵を外部に出力するものである。なお、ユーザ秘密鍵出力手段２４は、耐タンパ性を有するＩＣカードやフレキシブルディスク等の汎用の記憶媒体（外部記憶媒体）に書き込むものとしてもよいし、ネットワーク（イントラネット３、インターネット７）を介してユーザ端末５０に送信するものとしてもよい。ただし、記憶媒体にユーザ秘密鍵が書き込まれた場合、当該記憶媒体は、郵送等によって、ユーザ側に配送されることになる。
このように秘密鍵生成サーバ２０を構成することで、秘密鍵生成サーバ２０は、ユーザ端末５０に配信するユーザ秘密鍵を生成することができる。
【００９０】
なお、秘密鍵生成サーバ２０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、秘密鍵生成サーバ２０は、コンピュータを、前記した各手段として機能させる秘密鍵生成プログラムによって動作する。
【００９１】
（コンテンツサーバの構成）
次に、図４を参照（適宜図１参照）して、コンテンツサーバ３０の構成について説明する。ここでは、コンテンツサーバ３０は、暗号化鍵生成手段３１と、公開鍵受信手段３２と、ヘッダ生成手段３３と、コンテンツ受信手段３４と、コンテンツ暗号化手段３５と、ヘッダ合成手段３６と、配信用コンテンツ記憶手段３７と、コンテンツ要求受信手段３８と、配信用コンテンツ送信手段３９と、を備えている。
【００９２】
暗号化鍵生成手段３１は、コンテンツを暗号化するための暗号化鍵を生成するものである。ここで生成された暗号化鍵は、ヘッダ生成手段３３及びコンテンツ暗号化手段３５に出力される。なお、この暗号化鍵は、コンテンツ暗号化手段３５で使用される暗号化鍵であり、図示していない擬似乱数発生手段、ハッシュ（Ｈａｓｈ）関数等を用いて乱数化され、鍵長を揃えたものである。
【００９３】
公開鍵受信手段３２は、暗号化情報生成サーバ１０で生成された公開鍵ＰＫ（前記（２）式参照）を、イントラネット３を介して受信するものである。ここで受信された公開鍵は、ヘッダ生成手段３３に出力される。
ここでは、公開鍵受信手段３２は、公開鍵ＰＫとともに、公開情報（合成数ｎ、合成された要素ｇ、生成元ｇ１，…，ｇｍ、双線形写像ｅ、群Ｇ及び群ＧＴ）を受信する。公開鍵受信手段３２は、この受信した公開情報を、配信用コンテンツ記憶手段３７に書き込み、公開情報のうちの合成数ｎをヘッダ生成手段３３に出力する。
なお、公開情報の受信は、別途、公開情報受信手段（図示せず）を設けて、公開鍵ＰＫとは独立して受信することとしてもよい。
【００９４】
ヘッダ生成手段３３は、暗号化鍵生成手段３１で生成された暗号化鍵Ｋｓを、公開鍵受信手段３２で受信した公開鍵ＰＫで暗号化することで、コンテンツに合成するヘッダ（コンテンツ配信ヘッダ）を生成するものである。
ここでは、ヘッダ生成手段３３は、予め乱数ｔをＺｎ＊（＝｛１，２，…，ｎ−１｝）（ただし、ｎは、公開情報として取得した合成数）の中から選択し（図示を省略した擬似乱数発生手段により乱数ｔを発生させ）、さらに、インデックスｊを（１≦ｊ≦ｍ）から選択し、暗号化鍵Ｋｓと公開鍵ＰＫとを用いて、暗号文となる以下の（５）式に示すコンテンツ配信ヘッダ（ヘッダ情報）Ｃを生成する。
【００９５】
【数１７】
0005391043.tif 000018
【００９６】
すなわち、ヘッダ生成手段３３は、１≦ｊ≦ｍから選択したインデックスｊと、公開鍵ＰＫに含まれるインデックスｊに対応するＧｊをｔ乗した値と暗号化鍵Ｋｓとの積（ＫｓＧｊｔ）と、公開鍵ＰＫに含まれるインデックスｊに対応するＥｊ、Ｈｊ，０、Ｈｊ，１をそれぞれｔ乗した値（Ｅｊｔ、Ｈｊ，０ｔ、Ｈｊ，１ｔ）とを含んだコンテンツ配信ヘッダＣを生成する。そして、ヘッダ生成手段３３は、生成したコンテンツ配信ヘッダをヘッダ合成手段３６に出力する。
【００９７】
コンテンツ受信手段３４は、配信用のコンテンツを受信するものである。ここで受信されたコンテンツはコンテンツ暗号化手段３５に出力される。このコンテンツ受信手段３４は、例えば、図示していない記録媒体からコンテンツを読み出すものであってもよいし、ネットワーク（インターネット７等）を介して、通信データとしてコンテンツを取得するものであってもよい。
【００９８】
コンテンツ暗号化手段３５は、コンテンツ受信手段３４で受信した配信用のコンテンツを、暗号化鍵生成手段３１で生成された暗号化鍵で暗号化し、暗号化コンテンツを生成するものである。ここで生成された暗号化コンテンツは、ヘッダ合成手段３６に出力される。なお、コンテンツ暗号化手段３５は、暗号化鍵を用いて、共通鍵暗号化方式によりコンテンツを暗号化する。また、暗号化対象となるコンテンツには、映像等のデータ量の多い情報を想定しているため、ここでは、公開鍵暗号化方式に比べて暗号化処理の速い共通鍵暗号化方式を使用することとする。例えば、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）等の一般的な共通鍵暗号化方式でよい。
【００９９】
ヘッダ合成手段３６は、コンテンツ暗号化手段３５で生成された暗号化コンテンツと、ヘッダ生成手段３３で生成されたコンテンツ配信ヘッダＣ（前記（５）式参照）とを合成して、配信用コンテンツを生成するものである。ここで生成された配信用コンテンツは、固有のコンテンツ識別情報（例えばファイル名等）を付して、配信用コンテンツ記憶手段３７に記憶される。
【０１００】
なお、ヘッダ合成手段３６における暗号化コンテンツとコンテンツ配信ヘッダとの合成は、１つのデータ（ファイル、ストリーム）として合成することのみを意味しない。すなわち、暗号化コンテンツとコンテンツ配信ヘッダとは、少なくとも関連付けられていればよく、個別のデータとして管理することも可能である。ただし、管理を簡易化するために、暗号化コンテンツとコンテンツ配信ヘッダとを合成して１つのデータとすることが好ましい。
【０１０１】
配信用コンテンツ記憶手段３７は、ヘッダ合成手段３６で生成された配信用コンテンツを記憶するもので、ハードディスク等の一般的な記憶装置である。この配信用コンテンツ記憶手段３７に記憶されている配信用コンテンツは、配信用コンテンツ送信手段３９によって読み出される。
また、ここでは、配信用コンテンツ記憶手段３７は、公開鍵受信手段３２で受信した公開情報も記憶しておくこととする。
【０１０２】
コンテンツ要求受信手段３８は、コンテンツ配信サーバ４０から送信される、配信用コンテンツを特定するコンテンツ識別情報を含んだコンテンツの要求（コンテンツ要求）を、イントラネット３を介して受信するものである。このコンテンツ要求受信手段３８は、コンテンツ要求に含まれる識別情報を配信用コンテンツ送信手段３９に出力する。
【０１０３】
配信用コンテンツ送信手段３９は、コンテンツ要求受信手段３８から出力されるコンテンツ識別情報に対応する配信用コンテンツを、配信用コンテンツ記憶手段３７から読み出して、要求のあったコンテンツ配信サーバ４０に送信するものである。
なお、コンテンツ要求受信手段３８は、コンテンツ要求の前に、公開情報の要求（公開情報要求）を受信した場合、配信用コンテンツ送信手段３９にその旨を通知する。そして、配信用コンテンツ送信手段３９は、配信用コンテンツ記憶手段３７から、公開情報を読み出して、コンテンツ配信サーバ４０に送信する。
【０１０４】
このようにコンテンツサーバ３０を構成することで、コンテンツサーバ３０は、コンテンツを暗号化鍵で暗号化し、その暗号化された暗号化コンテンツと、コンテンツ配信ヘッダとを関連付けて配信用コンテンツを生成することができる。
【０１０５】
なお、コンテンツサーバ３０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツサーバ３０は、コンピュータを、前記した各手段として機能させる配信用コンテンツ生成プログラムによって動作する。
【０１０６】
（コンテンツ配信サーバの構成）
次に、図５を参照（適宜図１参照）して、コンテンツ配信サーバ４０の構成について説明する。ここでは、コンテンツ配信サーバ４０は、ユーザ要求受信手段４１と、コンテンツ要求送信手段４２と、配信用コンテンツ受信手段４３と、配信用コンテンツ送信手段４４と、を備えている。
【０１０７】
ユーザ要求受信手段４１は、ユーザ端末５０から送信される、ユーザが所望するコンテンツを示す要求（コンテンツ要求書）を、ネットワークを介して受信するものである。このコンテンツ要求書には、少なくともコンテンツを特定するためのコンテンツ識別情報と、どのユーザ端末５０からの要求かを示す端末識別情報（例えば、ＩＰアドレス等）とが含まれている。このユーザ要求受信手段４１は、コンテンツ識別情報をコンテンツ要求送信手段４２に出力し、端末識別情報を配信用コンテンツ送信手段４４に出力する。
【０１０８】
コンテンツ要求送信手段４２は、ユーザ要求受信手段４１から出力されるコンテンツ識別情報を含んだコンテンツの要求（コンテンツ要求）を、イントラネット３を介してコンテンツサーバ３０に送信するものである。
【０１０９】
配信用コンテンツ受信手段４３は、コンテンツ要求送信手段４２から送信されたコンテンツ識別情報に対応した配信用コンテンツを、イントラネット３を介してコンテンツサーバ３０から受信するものである。この配信用コンテンツ受信手段４３は、受信した配信用コンテンツを、配信用コンテンツ送信手段４４に出力する。
【０１１０】
配信用コンテンツ送信手段４４は、配信用コンテンツ受信手段４３で受信した配信用コンテンツを、ユーザ要求受信手段４１から出力される端末識別情報に対応するユーザ端末５０に送信するものである。
【０１１１】
このようにコンテンツ配信サーバ４０を構成することで、コンテンツ配信サーバ４０は、ユーザ端末５０から要求のあった配信用コンテンツをコンテンツサーバ３０から取得し、要求のあったユーザ端末５０に配信することができる。
また、コンテンツ配信サーバ４０は、ユーザ端末５０から、公開情報の要求があった場合、コンテンツサーバ３０に公開情報要求を送信し、公開情報を取得し、ユーザ端末５０に送信することとする。この場合、公開情報要求及び公開情報のデータの流れは、コンテンツ要求及び配信用コンテンツと同様の流れとなる。
【０１１２】
なお、コンテンツ配信サーバ４０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツ配信サーバ４０は、コンピュータを、前記した各手段として機能させるコンテンツ配信プログラムによって動作する。
【０１１３】
以上、コンテンツ配信システム１におけるプロバイダ側の各装置の構成について説明したが、本発明はこれに限定されるものではない。例えば、暗号化情報生成サーバ１０をコンテンツサーバ３０内に組み込んで、新たにコンテンツサーバ３０Ｂ（図示せず）として構成してもよい。あるいは、前記コンテンツサーバ３０Ｂ（図示せず）をコンテンツ配信サーバ４０内に組み込んで、新たにコンテンツ配信サーバ４０Ｂ（図示せず）として構成してもよい。
【０１１４】
また、例えば、コンテンツ配信システム１における負荷を分散させるため、コンテンツサーバ３０を、コンテンツの種類等によって複数（コンテンツサーバ３０Ｂ、３０Ｃ…等：図示せず）備えることとしてもよい。この場合、コンテンツ配信サーバ４０は、コンテンツの種類等によって、コンテンツを要求するコンテンツサーバを切り替えて、コンテンツ要求を送信する。
【０１１５】
（ユーザ端末の構成）
次に、図６を参照（適宜図１参照）して、ユーザ端末５０の構成について説明する。ここでは、ユーザ端末５０は、配信用コンテンツ要求手段５１と、配信用コンテンツ受信手段５２と、分離手段５３と、秘密鍵記憶手段５４と、暗号化鍵復号手段５５と、コンテンツ復号手段５６と、を備えている。
【０１１６】
配信用コンテンツ要求手段５１は、ユーザが所望するコンテンツ（配信用コンテンツ）を示す要求（コンテンツ要求書）を、インターネット７を介してプロバイダ側のコンテンツ配信サーバ４０に送信するものである。例えば、配信用コンテンツ要求手段５１は、図示していない入力手段によって、利用者が所望するコンテンツを特定するコンテンツ識別情報（例えばファイル名等）を入力されることで、このコンテンツ識別情報を含んだコンテンツ要求書を生成し、コンテンツ配信サーバ４０に送信する。
【０１１７】
配信用コンテンツ受信手段５２は、プロバイダ側のコンテンツ配信サーバ４０から、ユーザが要求した配信用コンテンツを、インターネット７を介して受信するものである。ここで受信した配信用コンテンツは、分離手段５３に出力される。なお、ここで受信した配信用コンテンツには、暗号化されたコンテンツ（暗号化コンテンツ）に、コンテンツ配信ヘッダＣ（前記（５）式参照）が合成されている。
【０１１８】
分離手段５３は、配信用コンテンツ受信手段５２で受信した配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離するものである。ここで分離されたコンテンツ配信ヘッダは、暗号化鍵復号手段５５に出力され、暗号化コンテンツは、コンテンツ復号手段５６に出力される。
【０１１９】
秘密鍵記憶手段５４は、対タンパ性を有するＩＣカードやフレキシブルディスク等の汎用の記憶媒体（外部記憶媒体）であって、予めプロバイダ側でユーザ秘密鍵が書き込まれ、ユーザに配布されるものである。
【０１２０】
暗号化鍵復号手段５５は、秘密鍵記憶手段５４に記憶されているユーザ秘密鍵に基づいて、分離手段５３で分離されたコンテンツ配信ヘッダから暗号化鍵を復号して抽出するものである。ここで復号された暗号化鍵は、コンテンツ復号手段５６に出力される。
この暗号化鍵復号手段５５は、秘密鍵記憶手段５４に記憶されているユーザ秘密鍵が、ｄｖ（＝前記（３）式）＝（ｖ，ｄｖ，１，ｄｖ，２）、分離手段５３で分離されたコンテンツ配信ヘッダが、Ｃ（＝前記（５）式）＝（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）であった場合、暗号化鍵Ｋｓを以下の（６）式により復号する。なお、ここで使用する双線形写像ｅは、公開情報として、配信用コンテンツと同様の経路で予め取得し、図示を省略した記憶手段に記憶しておくこととする。
【０１２１】
【数１８】
0005391043.tif 000019
【０１２２】
ここで、ｖは、ユーザ固有の情報（ユーザ識別子）である。また、この（６）式は、ｖのｊビット目が値が“０”の場合、Ｋｓ＝Ｃ１ｅ（ｄｖ，２，Ｃ３）／ｅ（ｄｖ，１，Ｃ２）、ｖのｊビット目の値が“１”の場合、Ｋｓ＝Ｃ１ｅ（ｄｖ，２，Ｃ４）／ｅ（ｄｖ，１，Ｃ２）を示す。
この（６）式の右辺は、前記（２）式、（４）式及び（５）式、並びに、双線形写像ｅの性質に基づいて、以下の（７）式に示す変形により、暗号化鍵Ｋｓを示すものであることを証明することができる。
【０１２３】
【数１９】
0005391043.tif 000020
【０１２４】
なお、双線形写像ｅは、ｅ（ｇ１…ｇｊ−１ｇｊ＋１…ｇｍ，ｇｊ）＝１、すなわち、群Ｇから、生成元ｇｊから構成される部分群Ｇｊを除いた部分群の要素ｇ１…ｇｊ−１ｇｊ＋１…ｇｍと、部分群Ｇｊの要素ｇｊに対する双線形写像の値が“１”となる性質を有している。そこで、この性質を利用して、前記（７）式における第２〜４変形式の変形を行っている。
また、双線形写像ｅは、ｅ（ｇ１α，ｇ２β）＝ｅ（ｇ１，ｇ２）αβとなる性質を有している。そこで、この性質を利用して、前記（７）式における第４変形式の変形を行っている。
【０１２５】
コンテンツ復号手段５６は、暗号化鍵復号手段５５で復号された暗号化鍵を用いて、暗号化コンテンツを復号するものである。このコンテンツ復号手段５６は、分離手段５３でコンテンツ配信ヘッダを分離された後の暗号化コンテンツを、暗号化鍵を用いて復号する。これによって、暗号化コンテンツは、視聴等が可能なコンテンツに復号されたことになる。
【０１２６】
このようにユーザ端末５０を構成することで、ユーザ端末５０は、暗号化鍵Ｋｓを復号する際に、ユーザ固有の情報（ユーザＩＤ）を使用しなければならならない。これによって、あるユーザが、自分が所有する秘密鍵を用いて、不正なユーザ端末を作成した場合であっても、その不正ユーザ端末には、所有者のＩＤと秘密鍵とを含まなければならないため、不正ユーザ端末を作成したユーザを容易に特定することができる。
【０１２７】
なお、ユーザ端末５０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、ユーザ端末５０は、コンピュータを、前記した各手段として機能させるコンテンツ復号プログラムによって動作する。
【０１２８】
（不正ユーザ追跡サーバの構成）
次に、図７を参照（適宜図１参照）して、不正ユーザ追跡サーバ９０の構成について説明する。ここでは、不正ユーザ追跡サーバ９０は、公開情報記憶手段９１と、コンテンツ記憶手段９２と、テストデータ生成手段９３と、テストデータ送信手段９４と、復号データ受信手段９５と、ユーザ識別子特定手段９６と、ユーザ情報記憶手段９７と、ユーザ探索手段９８と、を備えている。なお、ここでは、不正ユーザ追跡サーバ９０は、ユーザを特定する対象となるユーザ端末５０Ｚ（５０）が接続されているものとする。
【０１２９】
公開情報記憶手段９１は、暗号化情報生成サーバ１０において公開される公開鍵（公開情報）を記憶するもので、ハードディスク等の一般的な記憶装置である。この公開情報記憶手段９１には、具体的には、暗号化情報生成サーバ１０において公開されている公開情報（ｎ，ｇ，ｇ１，…，ｇｍ，ｅ，Ｇ，ＧＴ）と、公開鍵ＰＫ＝（Ｅ１，Ｅ２，…，Ｅｍ，Ｇ１，Ｇ２，…，Ｇｍ，Ｈ１，０，Ｈ２，０，…，Ｈｍ，０，Ｈ１，１，Ｈ２，１，…，Ｈｍ，１）とを予め記憶しておく。
この公開情報記憶手段９１に記憶されている公開鍵（公開情報）は、テストデータ生成手段９３によって読み出される。
【０１３０】
コンテンツ記憶手段９２は、ユーザ端末５０Ｚに出力するテストデータに含ませるテスト用のコンテンツを記憶するもので、ハードディスク等の一般的な記憶装置である。このコンテンツ記憶手段９２に記憶されるコンテンツは、正規のユーザ端末５０に配信されるものと同種のものであればよい。例えば、ユーザ端末５０Ｚが、映像・音声コンテンツを視聴する端末であれば、コンテンツ記憶手段９２には、映像・音声コンテンツをテストデータ用のコンテンツとして記憶しておく。また、例えば、ユーザ端末５０Ｚが、文字情報を提示する端末であれば、コンテンツ記憶手段９２には、テキストデータをテストデータ用のコンテンツとして記憶しておく。
このコンテンツ記憶手段９２に記憶されているコンテンツは、テストデータ生成手段９３及びユーザ識別子特定手段９６によって読み出される。
【０１３１】
テストデータ生成手段９３は、ユーザ端末５０Ｚから、当該ユーザ端末５０Ｚを使用するユーザのユーザ識別子の所定ビット目をテスト（ビット値を特定）するためのテストデータを生成するものである。ここでは、テストデータ生成手段９３は、ヘッダ生成手段９３１と、コンテンツ暗号化手段９３２と、ヘッダ合成手段９３３と、を備えている。
【０１３２】
ヘッダ生成手段９３１は、テスト用のコンテンツに合成するヘッダ（テスト用コンテンツ配信ヘッダ）を生成するものである。ここでは、ヘッダ生成手段９３１は、予め２つの異なる乱数ｔ，ｔ′をＺｐ＊（＝｛１，２，…，ｎ−１｝）（ただし、ｎは、公開情報として公開情報記憶手段９１に記憶されている合成数）の中から選択し（図示を省略した擬似乱数発生手段により乱数ｔ，ｔ′を発生させ）、暗号化鍵Ｋｓと公開鍵ＰＫとを用いて、以下の（８）式に示すテスト用コンテンツ配信ヘッダ（ヘッダ情報）Ｃ＊ｊ，１を生成する。
【０１３３】
【数２０】
0005391043.tif 000021
【０１３４】
このように生成されたテスト用コンテンツ配信ヘッダＣ＊０，１，Ｃ＊１，１，…，Ｃ＊ｍ，１は、順次ヘッダ合成手段９３３に出力される。
なお、前記（８）式において、ｊは、１≦ｊ≦ｍの整数であって、ｍは、ユーザ識別子ｖのビット長である。また、この（８）式において、Ｈｊ，１のみがｔ′乗となっており、他はｔ乗となっている。
すなわち、ヘッダ生成手段９３１は、ｊ＝１から順次ｊを１ずつ加算し、前記（８）式により、テスト用コンテンツ配信ヘッダＣ＊０，１，Ｃ＊１，１，…，Ｃ＊ｍ，１を生成する。このとき、各Ｃ＊ｊ，１は、Ｈｊ，１のみがｔ′乗の値となっている。
これによって、各テスト用コンテンツ配信ヘッダＣ＊ｊ，１は、ｊの値によって特定されるＨ１，１〜Ｈｍ，１がｔ′乗となり、ダミーデータが設定されることになる。
【０１３５】
一方、ユーザ端末５０Ｚで使用されるユーザ秘密鍵ｄｖは、前記（３）式、（４）式に示すように、生成元ｇのｘ１，ｖ１乗、ｘ２，ｖ２乗、…、ｘｍ，ｖｍ乗を用いて生成されたものである。このｖ１，ｖ２，…，ｖｍは、ユーザ識別子ｖのビット値である。
よって、例えば、ｇのｘ１，ｖ１乗は、ユーザ識別子ｖの１ビット目の値が“０”であればｇのｘ１，０乗（Ｈ１，０；前記（２）式参照）が使用され、１ビット目の値が“１”であればｘ１，１乗（Ｈ１，１）が使用されていることになる。
【０１３６】
ここで、テスト用コンテンツ配信ヘッダＣ＊ｊ，１において、例えば、ｊ＝１にダミーデータが設定されていたとする。すなわち、Ｈ１，１のみがｔ′乗であったとする。すると、ユーザ端末５０Ｚは、ユーザ識別子ｖの１ビット目の値が“０”であれば、正規のＨ１，０のｔ乗が使用されるため、コンテンツを復号することができるが、ユーザ識別子ｖの１ビット目の値が“１”であれば、ダミーデータであるＨ１，１のｔ′乗が使用されるため、コンテンツを復号することができない。
【０１３７】
このように、Ｈｊ，１のｔ′乗を、順次ｊ＝１からｊ＝ｍまで設定することで、コンテンツを復号することができるか否かにより、ユーザ識別子ｖの各ビット値を特定することができる。なお、このユーザ識別子ｖの各ビット値の特定は、後記するユーザ識別子特定手段９６において行われる。
【０１３８】
コンテンツ暗号化手段９３２は、テスト用のコンテンツを暗号化するものである。ここでは、コンテンツ暗号化手段９３２は、暗号化鍵Ｋｓでコンテンツ記憶手段９２に記憶されているテスト用のコンテンツを暗号化する。なお、暗号化鍵Ｋｓは、暗号化鍵生成手段３１（図４参照）と同様に生成することとしてもよいし、予めコンテンツ記憶手段９２に記憶しておくこととしてもよい。このコンテンツ暗号化手段９３２は、暗号化したコンテンツをヘッダ合成手段９３３に出力する。
【０１３９】
ヘッダ合成手段９３３は、ヘッダ生成手段９３１で順次生成されるテスト用コンテンツ配信ヘッダＣ＊ｊ，１（前記（８）式参照）に、コンテンツ暗号化手段９３２で生成された暗号化コンテンツを合成して、テストデータを生成するものである。ここで生成されたテストデータは、テストデータ送信手段９４に出力される。
【０１４０】
テストデータ送信手段９４は、テストデータ生成手段９３で生成されたテストデータを、ユーザを特定する対象となるユーザ端末５０Ｚに順次送信するものである。これによって、テストデータを入力されたユーザ端末５０Ｚは、テストデータに含まれている暗号化コンテンツを、同じくテストデータに含まれているテスト用コンテンツ配信ヘッダＣ＊ｊ，１と、ユーザ端末５０Ｚが保持しているユーザ秘密鍵とを用いて復号する。このユーザ端末５０Ｚで復号された復号データ（復号コンテンツ）は、不正ユーザ追跡サーバ９０に入力される。
【０１４１】
復号データ受信手段９５は、ユーザ端末５０Ｚで復号された復号データ（復号コンテンツ）を受信するものである。この復号データ受信手段９５には、テストデータ送信手段９４から出力されたユーザ識別子ｖのビット数分のテストデータに応じた数の復号データが、ユーザ端末５０Ｚから入力されることになる。
この復号データ受信手段９５で受信した復号データは、順次、ユーザ識別子特定手段９６に出力される。
【０１４２】
ユーザ識別子特定手段９６は、テストデータ生成手段９３においてテストデータを生成した際に使用したコンテンツと、復号データ受信手段９５で順次受信される復号データ（復号コンテンツ）とを比較することで、ユーザ識別子を特定するものである。
ここで、テストデータを生成した際に使用したコンテンツ（より具体的には、コンテンツ記憶手段９２に記憶されているコンテンツ）をＭ、復号データ受信手段９５で入力される復号データをＭ′ｊ（１≦ｊ≦ｍ；ｍはユーザ識別子のビット長）とする。
【０１４３】
このとき、ユーザ識別子特定手段９６は、Ｍ＝Ｍ′ｊの場合、ユーザ識別子のｊビット目の値ｖｊを値“０”、Ｍ≠Ｍ′ｊの場合、ユーザ識別子のｊビット目の値ｖｊを値“１”と特定する。
そして、ユーザ識別子特定手段９６は、１≦ｊ≦ｍのすべてのｊについて特定されたユーザ識別子のビット値を連結することで、ユーザ識別子ｖ＝（ｖ１ｖ２…ｖｍ）を特定する。このように特定されたユーザ識別子ｖは、ユーザ探索手段９８に出力される。
【０１４４】
ユーザ情報記憶手段９７は、ユーザ情報とユーザ識別子とを対応付けたデータベースを記憶するもので、ハードディスク等の一般的な記憶装置である。ここでユーザ情報とは、ユーザを特定する情報であって、例えば、ユーザの個人情報（氏名、住所等）である。なお、このユーザ情報記憶手段９７は、プロバイダが、予めユーザ情報とユーザ識別子とを対応付けてデータベース化しておくこととする。
【０１４５】
ユーザ探索手段９８は、ユーザ情報記憶手段９７に記憶されているデータベースから、ユーザ識別子特定手段９６で特定されたユーザ識別子に対応するユーザ情報を探索しユーザを特定するものである。このユーザ探索手段９８で特定されたユーザのユーザ情報は、ユーザ端末５０Ｚのユーザを特定する情報として外部（例えば、図示を省略した表示装置）に出力される。
【０１４６】
以上、不正ユーザ追跡サーバ９０の構成について説明したが、本発明は、これに限定されるものではない。ここでは、ヘッダ生成手段９３１が、各テスト用コンテンツ配信ヘッダＣ＊ｊ，１において、Ｈ１，１〜Ｈｍ，１をｔ′乗としたが、以下の（９）式に示すように、Ｈ１，０〜Ｈｍ，０をｔ′乗としたテスト用コンテンツ配信ヘッダＣ＊ｊ，０を使用することとしてもよい。
【数２１】
0005391043.tif 000022
【０１４７】
この場合、ユーザ端末５０Ｚは、例えば、ユーザ識別子ｖの１ビット目の値が“１”であれば、正規のＨ１，１のｔ乗が使用されるため、コンテンツを復号することができるが、ユーザ識別子ｖの１ビット目の値が“０”であれば、ダミーデータであるＨ１，０のｔ′乗が使用されるため、コンテンツを復号することができない。
よって、前記（９）式を用いる場合、ユーザ識別子特定手段９６は、テストデータを生成した際に使用したコンテンツをＭ、復号データ受信手段で入力される復号データをＭ′ｊ（１≦ｊ≦ｍ；ｍはユーザ識別子のビット長）としたとき、Ｍ＝Ｍ′ｊの場合、ユーザ識別子のｊビット目の値ｖｊを値“１”、Ｍ≠Ｍ′ｊの場合、ユーザ識別子のｊビット目の値ｖｊを値“０”と特定する。
【０１４８】
また、ここでは、不正ユーザ追跡サーバ９０は、ユーザ情報（ユーザの個人情報等）を特定することとしたが、単にユーザ識別子を特定するまでの機能を持った形態としてもよい。この場合、不正ユーザ追跡サーバ９０は、図７で説明した構成から、ユーザ情報記憶手段９７及びユーザ探索手段９８を省いて構成する。
【０１４９】
また、ここでは、不正ユーザ追跡サーバ９０は、ユーザ端末５０Ｚから、復号されたデータ（復号コンテンツ）を入力することとした。しかし、例えば、ユーザ端末５０Ｚが、コンテンツを映像信号や音声信号として再生出力する場合、テストデータ生成手段９３は、外部から入力される操作者の指示により、順次、テストデータを生成し、出力することで、操作者が、実際に映像あるいは音声として正常に再生されたか否かを判定し、ユーザ識別子を特定する。この場合、不正ユーザ追跡サーバ９０は、テストデータを順次送信するのみの構成となり、復号データ受信手段９５、ユーザ識別子特定手段９６、ユーザ情報記憶手段９７及びユーザ探索手段９８を省いて構成する。
【０１５０】
なお、不正ユーザ追跡サーバ９０は、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、不正ユーザ追跡サーバ９０は、コンピュータを、前記した各手段として機能させる不正ユーザ追跡プログラム（ユーザ特定プログラム）によって動作する。
【０１５１】
［コンテンツ配信システムの動作］
次に、図８乃至図１２を参照して、第１実施形態に係るコンテンツ配信システムの動作について説明する。
【０１５２】
（公開鍵・ユーザ秘密鍵生成動作）
最初に、図８を参照（適宜図１、図２及び図３参照）して、コンテンツ配信システム１において、公開鍵とユーザ秘密鍵とを生成する動作について説明する。
【０１５３】
まず、暗号化情報生成サーバ１０は、基本情報生成手段１１によって、入力された正整数ｍに対応するｍ個の素数（ｐ１，…，ｐｍ）を生成（選択）する（ステップＳ１０）。また、暗号化情報生成サーバ１０は、基本情報生成手段１１によって、位数（素数）（ｐ１，…，ｐｍ）の群の生成元（ｇ１，…，ｇｍ）を生成（選択）する（ステップＳ１１）。
【０１５４】
さらに、暗号化情報生成サーバ１０は、基本情報生成手段１１によって、ｍ個の素数の合成数ｎ＝ｐ１…ｐｍと、ｍ個の生成元を合成した要素ｇ＝ｇ１…ｇｍとを生成し、合成数ｎを位数、合成された要素ｇを生成元とする群Ｇから群ＧＴへの双線形写像ｅ（・，・）を特定する（ステップＳ１２）。
【０１５５】
次に、暗号化情報生成サーバ１０は、マスタ秘密情報生成手段１２によって、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍとなる２ｍ個の数ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦α，β＜ｎとなる２個の数α，βとをランダムに選択して、秘密情報ｍａｓｔｅｒ＝（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，α，β）を生成する。
そして、暗号化情報生成サーバ１０は、マスタ秘密情報生成手段１２によって、合成された要素ｇ及び生成元ｇ１，…，ｇｍと、秘密情報の一部であるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータとなる公開パラメータｐａｒａｍ（前記（１）式参照）と、マスタ秘密鍵ｍｓｋ（＝ｇαβ）とを、マスタ秘密情報として生成する（ステップＳ１３）。
【０１５６】
そして、暗号化情報生成サーバ１０は、マスタ秘密情報送信手段１３によって、ステップＳ１３で生成されたマスタ秘密情報（マスタ秘密鍵ｍｓｋ，公開パラメータｐａｒａｍ）を、イントラネット３を介して秘密鍵生成サーバ２０に送信する（ステップＳ１４）。
なお、公開パラメータ以外の公開情報は、ステップＳ１２の後、あるいは、ステップＳ１４のタイミングで秘密鍵生成サーバ２０に送信されることとする。
【０１５７】
さらに、暗号化情報生成サーバ１０は、公開鍵生成手段１４によって、ステップＳ１０において入力された正整数ｍと、ステップＳ１０で生成された素数ｐ１，ｐ２，…，ｐｍと、ステップＳ１１で生成された生成元ｇ１，ｇ２，…，ｇｍと、ステップＳ１３で生成された公開パラメータｐａｒａｍと、秘密情報の一部であるα，βとに基づいて、公開鍵ＰＫ（前記（２）式参照）を生成する（ステップＳ１５）。
その後、暗号化情報生成サーバ１０は、公開鍵送信手段１５によって、ステップＳ１５で生成した公開鍵を、イントラネット３を介してコンテンツサーバ３０に送信する（ステップＳ１６）。
【０１５８】
また、秘密鍵生成サーバ２０は、マスタ秘密情報受信手段２１によって、ステップＳ１４で暗号化情報生成サーバ１０から送信されたマスタ秘密情報（マスタ秘密鍵ｍｓｋ，公開パラメータｐａｒａｍ）を受信し、マスタ秘密情報記憶手段２２に書き込み記憶する（ステップＳ１７）。
【０１５９】
そして、秘密鍵生成サーバ２０は、ユーザ秘密鍵生成手段２３によって、マスタ秘密情報記憶手段２２に記憶されているマスタ秘密鍵ｍｓｋと、公開パラメータｐａｒａｍと、ユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｒｖとから、前記（３）式により、ユーザ毎のユーザ秘密鍵ｄｖを生成する（ステップＳ１８）。
【０１６０】
その後、秘密鍵生成サーバ２０は、ユーザ秘密鍵出力手段２４によって、ステップＳ１８で生成されたユーザ秘密鍵ｄｖを記憶媒体に書き込む。そして、プロバイダが当該記憶媒体をユーザに配布する（ステップＳ１９）。なお、ユーザ秘密鍵出力手段２４は、ユーザ秘密鍵ｄｖを、ネットワーク（イントラネット３、インターネット７）を介してユーザ端末５０に送信することとしてもよい。
【０１６１】
以上の動作によって、暗号化情報生成サーバ１０は、公開鍵を生成し、コンテンツサーバ３０に送信することができる。また、秘密鍵生成サーバ２０は、ユーザ秘密鍵を生成し、ユーザに配布することができる。
【０１６２】
（配信用コンテンツ生成動作）
次に、図９を参照（適宜図１及び図４参照）して、コンテンツ配信システム１において、配信用コンテンツを生成する動作について説明する。なお、公開情報は、予め取得しているものとする。
【０１６３】
まず、コンテンツサーバ３０は、暗号化鍵生成手段３１によって、コンテンツを暗号化するための暗号化鍵Ｋｓを生成する（ステップＳ２０）。
そして、コンテンツサーバ３０は、公開鍵受信手段３２によって、暗号化情報生成サーバ１０で生成された公開鍵ＰＫ（前記（２）式参照）を、イントラネット３を介して受信する（ステップＳ２１）。
【０１６４】
その後、コンテンツサーバ３０は、ヘッダ生成手段３３によって、ステップＳ２０で生成した暗号化鍵Ｋｓを、ステップＳ２１で受信した公開鍵ＰＫで暗号化することで、コンテンツに合成するヘッダ（コンテンツ配信ヘッダＣ；前記（５）式参照）を生成する（ステップＳ２２）。
【０１６５】
また、コンテンツサーバ３０は、コンテンツ受信手段３４によって、配信用のコンテンツを外部から受信する（ステップＳ２３）。そして、コンテンツサーバ３０は、コンテンツ暗号化手段３５によって、ステップＳ２３で受信したコンテンツを、ステップＳ２０で生成した暗号化鍵Ｋｓを用いて、ＡＥＳ等の共通鍵暗号化方式により暗号化する（ステップＳ２４）。
【０１６６】
その後、コンテンツサーバ３０は、ヘッダ合成手段３６によって、ステップＳ２４で暗号化されたコンテンツ（暗号化コンテンツ）と、ステップＳ２２で生成されたコンテンツ配信ヘッダＣとを合成することで、配信用コンテンツを生成する（ステップＳ２５）。なお、配信用コンテンツは配信用コンテンツ記憶手段３７に記憶される。
以上の動作によって、コンテンツサーバ３０は、暗号化コンテンツに、ユーザ秘密鍵を用いなければ復号することができないコンテンツ配信ヘッダを合成した配信用コンテンツを生成することができる。
【０１６７】
（配信用コンテンツ配信動作）
次に、図１０を参照（適宜図１、図４乃至図６参照）して、コンテンツ配信システム１において、コンテンツ（配信用コンテンツ）を配信する動作について説明する。
【０１６８】
まず、ユーザ端末５０が、配信用コンテンツ要求手段５１によって、ユーザが所望するコンテンツを示すコンテンツ識別情報を含んだコンテンツ要求書を生成し（ステップＳ３０）、コンテンツ配信サーバ４０に送信する（ステップＳ３１）。
また、コンテンツ配信サーバ４０が、ユーザ要求受信手段４１によって、ユーザ端末５０からコンテンツ要求書を受信し（ステップＳ３２）、コンテンツ要求送信手段４２によって、そのコンテンツ要求書に記載されているコンテンツの識別情報（ファイル名等のコンテンツ識別情報）をコンテンツ要求として、コンテンツサーバ３０に送信する（ステップＳ３３）。
【０１６９】
そして、コンテンツサーバ３０が、コンテンツ要求受信手段３８によって、コンテンツ配信サーバ４０からコンテンツ要求を受信し（ステップＳ３４）、配信用コンテンツ送信手段３９によって、該当するコンテンツ（配信用コンテンツ）を配信用コンテンツ記憶手段３７から読み出して（ステップＳ３５）、コンテンツ配信サーバ４０に送信する（ステップＳ３６）。
【０１７０】
そして、コンテンツ配信サーバ４０が、配信用コンテンツ受信手段４３によって、コンテンツサーバ３０から配信用コンテンツを受信し（ステップＳ３７）、配信用コンテンツ送信手段４４によって、その配信用コンテンツを、要求のあったユーザ端末５０に送信する（ステップＳ３８）。
そして、ユーザ端末５０が、配信用コンテンツ受信手段５２によって、配信用コンテンツを受信する（ステップＳ３９）。
以上の動作によって、コンテンツ配信サーバ４０が、要求のあったユーザ端末５０に配信用コンテンツを送信（配信）することができる。
【０１７１】
（配信用コンテンツ復号動作）
次に、図１１を参照（適宜図１及び図６参照）して、コンテンツ配信システム１において、コンテンツ（配信用コンテンツ）を復号する動作について説明する。なお、公開情報は、予め取得しているものとする。
【０１７２】
まず、ユーザ端末５０は、配信用コンテンツ受信手段５２によって、コンテンツ配信サーバ４０から配信用コンテンツを受信する（ステップＳ４０）。そして、ユーザ端末５０は、分離手段５３によって、配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離する（ステップＳ４１）。
そして、ユーザ端末５０は、暗号化鍵復号手段５５によって、秘密鍵記憶手段５４に記憶されているユーザ秘密鍵ｄｖを読み出し（ステップＳ４２）、そのユーザ秘密鍵ｄｖに基づいて、ステップＳ４１で分離されたコンテンツ配信ヘッダから暗号化鍵Ｋｓを前記（６）式により復号して抽出する（ステップＳ４３）。
【０１７３】
そして、ユーザ端末５０は、コンテンツ復号手段５６によって、ステップＳ４３で復号された暗号化鍵を用いて、暗号化コンテンツを復号する（ステップＳ４４）。この段階で、ユーザは、復号されたコンテンツを視聴することが可能になる。
以上の動作によって、ユーザ端末５０は、ユーザ固有のユーザ秘密鍵によって、暗号化鍵を復号し、その暗号化鍵によって、暗号化コンテンツを復号することができる。
【０１７４】
（ユーザ特定動作）
次に、図１２を参照（適宜図７参照）して、コンテンツ配信システム１において、不正なユーザ端末５０Ｚ（５０）を作成したユーザを特定する動作について説明する。なお、公開情報は、予め公開情報記憶手段９１に記憶されているものとする。
【０１７５】
まず、不正ユーザ追跡サーバは９０、変数ｊを初期化（値“１”）する（ステップＳ５０）。
そして、不正ユーザ追跡サーバ９０は、テストデータ生成手段９３によって、ユーザ識別子のｊビット目をテストするためテストデータを生成する（ステップＳ５１）。
具体的には、不正ユーザ追跡サーバ９０は、テストデータ生成手段９３のヘッダ生成手段９３１によって、２つの異なる乱数ｔ，ｔ′と、暗号化鍵Ｋｓと公開情報記憶手段９１に記憶されている公開鍵ＰＫとを用いて、前記（８）式又は（９）式に示すテスト用コンテンツ配信ヘッダＣ＊ｊ，１又はＣ＊ｊ，０（１≦ｊ≦ｍ；ｍはユーザ識別子のビット長）を生成する。
【０１７６】
また、不正ユーザ追跡サーバ９０は、テストデータ生成手段９３のコンテンツ暗号化手段９３２によって、コンテンツ記憶手段９２に記憶されているテスト用のコンテンツを暗号化鍵Ｋｓで暗号化する。
そして、不正ユーザ追跡サーバ９０は、テストデータ生成手段９３のヘッダ合成手段９３３によって、テスト用コンテンツ配信ヘッダＣ＊ｊ，１又はＣ＊ｊ，０（１≦ｊ≦ｍ）に、暗号化コンテンツを合成することで、テストデータを生成する。
【０１７７】
その後、不正ユーザ追跡サーバ９０は、テストデータ送信手段９４によって、変数ｊのテスト用コンテンツ配信ヘッダＣ＊ｊ，１又はＣ＊ｊ，０を有するテストデータをユーザ端末５０に送信する（ステップＳ５２）。
そして、不正ユーザ追跡サーバ９０は、ユーザ端末５０がテストデータを復号した復号データ（復号コンテンツ）を、復号データ受信手段９５によって受信する（ステップＳ５３）。
【０１７８】
そして、不正ユーザ追跡サーバ９０は、ユーザ識別子特定手段９６によって、ステップＳ５３で受信した復号データ（復号コンテンツ）を解析し、ユーザ識別子のｊビット目の値を特定する（ステップＳ５４）。
すなわち、ステップＳ５１において、前記（８）式（Ｃ＊ｊ，１）を使用した場合、ユーザ識別子特定手段９６は、ステップＳ５１において使用したコンテンツと、ステップＳ５３で受信した復号データ（復号コンテンツ）とが同一のものであれば、ユーザ識別子のｊビット目の値を値“０”、同一でなければ値“１”と特定する。
【０１７９】
また、ステップＳ５１において、前記（９）式（Ｃ＊ｊ，０）を使用した場合、ユーザ識別子特定手段９６は、ステップＳ５１において使用したコンテンツと、ステップＳ５３で受信した復号データ（復号コンテンツ）とが同一のものであれば、ユーザ識別子のｊビット目の値を値“１”、同一でなければ値“０”と特定する。
【０１８０】
そして、不正ユーザ追跡サーバ９０は、変数ｊが、ユーザ識別子のビット長であるｍと一致するか、すなわち、ｊ＝ｍであるか否かを判定する（ステップＳ５５）。
ここで、ｊ＝ｍではない場合（ステップＳ５５で“Ｎｏ”）、不正ユーザ追跡サーバ９０は、変数ｊをインクリメント（＋１）し（ステップＳ５６）、ステップＳ５１に戻る。
一方、ｊ＝ｍの場合（ステップＳ５５で“Ｙｅｓ”）、不正ユーザ追跡サーバ９０は、ユーザ識別子特定手段９６によって、ステップＳ５４で順次特定されたビット値を連結することで、ユーザ識別子を特定する（ステップＳ５７）。
【０１８１】
そして、不正ユーザ追跡サーバ９０は、ユーザ探索手段９８によって、ユーザ情報記憶手段９７に記憶されているデータベースから、ステップＳ５７で特定されたユーザ識別子に対応するユーザ情報を探索しユーザを特定する（ステップＳ５８）。ここで特定されたユーザが、不正を行ったユーザとして特定されることになる。
以上の動作によって、不正ユーザ追跡サーバ９０は、不正に作成されたユーザ端末５０が、どのユーザによって作成されたのかを追跡（検出）することができる。
【０１８２】
＜第２実施形態＞
［コンテンツ配信システムの構成］
次に、図１３を参照して、第２実施形態に係るコンテンツ配信システムの構成について説明する。コンテンツ配信システム１Ｂは、プロバイダ側にイントラネット３で接続された暗号化情報生成サーバ１０Ｂと、秘密鍵生成サーバ２０Ｂと、コンテンツサーバ３０と、コンテンツ配信サーバ４０と、ゲートウェイ（ＧＷ）５とを備え、インターネット７を経由してユーザ側の端末であるユーザ端末５０Ｂにコンテンツを配信するシステムである。なお、本実施形態では、コンテンツ配信システム１Ｂは、プロバイダ側に、不正ユーザ追跡サーバ９０をさらに備えている。
このシステム構成は、基本的には第１実施形態で説明したコンテンツ配信システム１（図１参照）と同じであり、内部の処理方法が異なっているのみである。そこで、以降の説明においては、コンテンツ配信システム１と異なる部分についてのみ説明し、同一の構成については、同一の符号を付して説明を省略する。
【０１８３】
（暗号化情報生成サーバの構成）
まず、図１４を参照（適宜図１３参照）して、暗号化情報生成サーバ１０Ｂの構成について説明する。ここでは、暗号化情報生成サーバ１０Ｂは、基本情報生成手段１１と、マスタ秘密情報生成手段１２Ｂと、マスタ秘密情報送信手段１３Ｂと、公開鍵生成手段１４Ｂと、公開鍵送信手段１５と、を備えている。基本情報生成手段１１及び公開鍵送信手段１５は、図２で説明した暗号化情報生成サーバ１０と同一の構成である。
【０１８４】
マスタ秘密情報生成手段１２Ｂは、秘密鍵生成サーバ２０Ｂにおいて、ユーザ秘密鍵を生成する際に用いるマスタ秘密情報を生成するものである。
具体的には、マスタ秘密情報生成手段１２Ｂは、１≦ｘ１，０，ｘ１，１＜ｐ１，…，１≦ｘｍ，０，ｘｍ，１＜ｐｍとなる２ｍ個の数ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１と、１≦β＜ｎとなるβとをランダムに選択して、秘密情報ｍａｓｔｅｒ＝（ｐ１，…，ｐｍ，ｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１，β）として生成する。
【０１８５】
さらに、マスタ秘密情報生成手段１２Ｂは、基本情報生成手段１１で生成された生成元ｇ１，…，ｇｍと、秘密情報の一部であるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータ（公開パラメータ）ｐａｒａｍを、前記（１）式により生成するとともに、マスタ秘密鍵ｍｓｋをｇβにより生成（ｍｓｋ＝ｇβ）する。
【０１８６】
すなわち、マスタ秘密情報生成手段１２Ｂは、合成された要素ｇのβ乗（べき乗）を演算することでマスタ秘密鍵ｍｓｋ（＝ｇβ）を生成するとともに、生成元（ｇ１，…，ｇｍ）をそれぞれ秘密情報の一部であるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１の値でべき乗演算することで、公開パラメータｐａｒａｍを生成する。なお、この公開パラメータは、公開情報に加え、さらに秘密鍵生成サーバ２０Ｂに公開される情報である。
【０１８７】
そして、マスタ秘密情報生成手段１２Ｂは、生成した秘密情報ｍａｓｔｅｒ、マスタ秘密鍵ｍｓｋ及び公開パラメータｐａｒａｍを、マスタ秘密情報としてマスタ秘密情報送信手段１３に出力する。
さらに、マスタ秘密情報生成手段１２Ｂは、生成した公開パラメータｐａｒａｍと秘密情報ｍａｓｔｅｒとを公開鍵生成手段１４に出力する。
【０１８８】
マスタ秘密情報送信手段１３Ｂは、マスタ秘密情報生成手段１２Ｂで生成されたマスタ秘密情報を、イントラネット３を介して秘密鍵生成サーバ２０Ｂに送信するものである。すなわち、マスタ秘密情報送信手段１３Ｂは、マスタ秘密情報生成手段１２Ｂで生成されたマスタ秘密鍵ｍｓｋと公開パラメータｐａｒａｍと秘密情報ｍａｓｔｅｒとを、秘密鍵生成サーバ２０Ｂに送信する。
【０１８９】
公開鍵生成手段１４Ｂは、コンテンツ配信サーバ４０において、配信用コンテンツに合成するヘッダ（コンテンツ配信ヘッダ）を生成するための公開鍵（Ｔｒａｉｔｏｒ  Ｔｒａｃｉｎｇ用公開鍵）を生成するものである。
【０１９０】
ここでは、公開鍵生成手段１４Ｂは、基本情報生成手段１１において入力された正整数ｍと、基本情報生成手段１１で生成された素数ｐ１，ｐ２，…，ｐｍ、生成元ｇ１，ｇ２，…，ｇｍ及び双線形写像ｅ（・，・）と、マスタ秘密情報生成手段１２で生成された公開パラメータｐａｒａｍ（前記（１）式参照）及び秘密情報の一部であるβとに基づいて、以下の（１０）式により公開鍵ＰＫ＝（Ｅ１，Ｅ２，…，Ｅｍ，Ｇ１，Ｇ２，…，Ｇｍ，Ｈ１，０，Ｈ２，０，…，Ｈｍ，０，Ｈ１，１，Ｈ２，１，…，Ｈｍ，１）を生成する。
【０１９１】
【数２２】
0005391043.tif 000023
【０１９２】
そして、公開鍵生成手段１４Ｂは、生成した公開鍵ＰＫを公開鍵送信手段１５に出力する。
【０１９３】
このように暗号化情報生成サーバ１０Ｂを構成することで、暗号化情報生成サーバ１０Ｂは、マスタ秘密情報（秘密情報、マスタ秘密鍵及び公開パラメータ）を秘密鍵生成サーバ２０Ｂに送信し、公開鍵をコンテンツサーバ３０に送信する。
なお、暗号化情報生成サーバ１０Ｂは、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、暗号化情報生成サーバ１０Ｂは、コンピュータを、前記した各手段として機能させる暗号化情報生成プログラムによって動作する。
【０１９４】
（秘密鍵生成サーバの構成）
次に、図１５を参照（適宜図１３参照）して、秘密鍵生成サーバ２０Ｂの構成について説明する。ここでは、秘密鍵生成サーバ２０Ｂは、マスタ秘密情報受信手段２１Ｂと、マスタ秘密情報記憶手段２２Ｂと、ユーザ秘密鍵生成手段２３Ｂと、ユーザ秘密鍵出力手段２４と、を備えている。ユーザ秘密鍵出力手段２４は、図３で説明した秘密鍵生成サーバ２０と同一の構成である。
【０１９５】
マスタ秘密情報受信手段２１Ｂは、暗号化情報生成サーバ１０Ｂで生成されたマスタ秘密情報であるマスタ秘密鍵ｍｓｋと公開情報（公開パラメータｐａｒａｍを含む）と秘密情報ｍａｓｔｅｒとを、イントラネット３を介して受信するものである。このマスタ秘密情報受信手段２１Ｂで受信したマスタ秘密鍵、公開情報（公開パラメータｐａｒａｍを含む）及び秘密情報は、マスタ秘密情報記憶手段２２Ｂに記憶される。
【０１９６】
マスタ秘密情報記憶手段２２Ｂは、マスタ秘密情報受信手段２１Ｂで受信したマスタ秘密鍵と公開情報（公開パラメータｐａｒａｍを含む）と秘密情報とを記憶するもので、ハードディスク等の一般的な記憶装置である。このマスタ秘密情報記憶手段２２に記憶されているマスタ秘密鍵、公開パラメータ（公開情報）及び秘密情報は、ユーザ秘密鍵生成手段２３Ｂによって読み出される。
【０１９７】
ユーザ秘密鍵生成手段２３Ｂは、ユーザを識別するための値（例えば、ユーザ固有のユーザ識別子〔ｖ〕）から、ユーザ固有の秘密鍵（ユーザ秘密鍵）を生成するものである。
ここでは、ユーザ秘密鍵生成手段２３Ｂは、マスタ秘密情報記憶手段２２に記憶されている秘密情報ｍａｓｔｅｒの一部であるβ、マスタ秘密鍵ｍｓｋ（＝ｇβ）と、公開情報（公開パラメータｐａｒａｍ（前記（１）式参照））と、ユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）（ただし、ｎは、公開情報として取得した合成数）から選択した乱数ｒｖとから、以下の（１１）式によりユーザ秘密鍵ｄｖを生成する。
【０１９８】
【数２３】
0005391043.tif 000024
【０１９９】
この（１１）式において、ユーザ識別子ｖは、図示を省略した入力手段を介して入力されるものである。また、ユーザ識別子ｖは、暗号化情報生成サーバ１０Ｂの基本情報生成手段１１（図１４参照）に入力される正整数ｍのビット長のデータである。また、ｖｉは、ユーザ識別子ｖをビット列で表したときのｉビット目（１≦ｉ≦ｍ）のビット値を示す。
【０２００】
なお、ここでは、ユーザ秘密鍵に、ユーザ識別子ｖを含ませることとしたが、このユーザ識別子ｖは、必ずしも秘密の情報とする必要はない。よって、ユーザ秘密鍵生成手段２３Ｂは、ユーザ秘密鍵ｄｖを以下の（１２）式により生成することとしてもよい。
【０２０１】
【数２４】
0005391043.tif 000025
【０２０２】
このユーザ秘密鍵生成手段２３Ｂで生成されたユーザ秘密鍵は、ユーザ秘密鍵出力手段２４に出力される。
このように秘密鍵生成サーバ２０Ｂを構成することで、秘密鍵生成サーバ２０Ｂは、ユーザ端末５０Ｂに配信するユーザ秘密鍵を生成することができる。
【０２０３】
なお、秘密鍵生成サーバ２０Ｂは、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、秘密鍵生成サーバ２０Ｂは、コンピュータを、前記した各手段として機能させる秘密鍵生成プログラムによって動作する。
【０２０４】
（ユーザ端末の構成）
次に、図１６を参照（適宜図１３参照）して、ユーザ端末５０Ｂの構成について説明する。ここでは、ユーザ端末５０Ｂは、配信用コンテンツ要求手段５１と、配信用コンテンツ受信手段５２と、分離手段５３と、秘密鍵記憶手段５４と、暗号化鍵復号手段５５Ｂと、コンテンツ復号手段５６と、を備えている。暗号化鍵復号手段５５Ｂ以外の構成については、図６で説明したユーザ端末５０と同一の構成である。
【０２０５】
暗号化鍵復号手段５５Ｂは、秘密鍵記憶手段５４に記憶されているユーザ秘密鍵に基づいて、分離手段５３で分離されたコンテンツ配信ヘッダから暗号化鍵を復号して抽出するものである。ここで復号された暗号化鍵は、コンテンツ復号手段５６に出力される。
この暗号化鍵復号手段５５Ｂは、秘密鍵記憶手段５４に記憶されているユーザ秘密鍵が、ｄｖ（＝前記（１１）式）＝（ｖ，ｄｖ，１，ｄｖ，２）、分離手段５３で分離されたコンテンツ配信ヘッダが、Ｃ（＝前記（５）式）＝（ｊ，Ｃ１，Ｃ２，Ｃ３，Ｃ４）であった場合、暗号化鍵Ｋｓを以下の（１３）式により復号する。なお、ここで使用する双線形写像ｅは、公開情報として、配信用コンテンツと同様の経路で予め取得し、図示を省略した記憶手段に記憶しておくこととする。
【０２０６】
【数２５】
0005391043.tif 000026
【０２０７】
ここで、ｖは、ユーザ固有の情報（ユーザ識別子）である。また、この（６）式は、ｖのｊビット目が値が“０”の場合、Ｋｓ＝Ｃ１ｅ（ｄｖ，２，Ｃ３）／ｅ（ｄｖ，１，Ｃ２）、ｖのｊビット目の値が“１”の場合、Ｋｓ＝Ｃ１ｅ（ｄｖ，２，Ｃ４）／ｅ（ｄｖ，１，Ｃ２）を示す。
この（１３）式の右辺は、前記（５）式、（１０）式及び（１１）式、並びに、双線形写像ｅの性質に基づいて、以下の（１４）式に示す変形により、暗号化鍵Ｋｓを示すものであることを証明することができる。
【０２０８】
【数２６】
0005391043.tif 000027
【０２０９】
なお、双線形写像ｅが持つｅ（ｇ１…ｇｊ−１ｇｊ＋１…ｇｍ，ｇｊ）＝１となる性質を利用して、前記（１４）式における第２〜４変形式の変形を行っている。
また、双線形写像ｅが持つｅ（ｇ１α，ｇ２β）＝ｅ（ｇ１，ｇ２）αβとなる性質を利用して、前記（１４）式における第４変形式の変形を行っている。
【０２１０】
このようにユーザ端末５０Ｂを構成することで、ユーザ端末５０Ｂは、暗号化鍵Ｋｓを復号する際に、ユーザ固有の情報（ユーザＩＤ）を使用しなければならならない。これによって、あるユーザが、自分が所有する秘密鍵を用いて、不正なユーザ端末を作成した場合であっても、その不正ユーザ端末には、所有者のＩＤと秘密鍵とを含まなければならないため、不正ユーザ端末を作成したユーザを容易に特定することができる。
【０２１１】
なお、ユーザ端末５０Ｂは、図示を省略したＣＰＵやメモリを搭載した一般的なコンピュータで実現することができる。このとき、ユーザ端末５０は、コンピュータを、前記した各手段として機能させるコンテンツ復号プログラムによって動作する。
【０２１２】
［コンテンツ配信システムの動作］
第２実施形態に係るコンテンツ配信システム１Ｂの基本的な動作については、図８乃至図１２で説明した動作と同じである。ただし、生成されるマスタ秘密鍵、公開鍵、ユーザ秘密鍵が異なっている。そこで、ここでは、第１実施形態の動作と異なる部分（公開鍵・ユーザ秘密鍵生成動作）についてのみ説明する。
【０２１３】
（公開鍵・ユーザ秘密鍵生成動作）
図８に示した第１実施形態のコンテンツ配信システム１の公開鍵・ユーザ秘密鍵生成動作に対し、第２実施形態のコンテンツ配信システム１Ｂの公開鍵・ユーザ秘密鍵生成動作は、ステップＳ１３、ステップＳ１５及びステップＳ１８のみが異なっている。
【０２１４】
すなわち、図１４で説明した暗号化情報生成サーバ１０Ｂは、ステップＳ１３で、マスタ秘密情報生成手段１２Ｂによって、合成された要素ｇ及び生成元ｇ１，…，ｇｍと、秘密情報の一部であるｘ１，０，ｘ１，１，…，ｘｍ，０，ｘｍ，１とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータとなる公開パラメータｐａｒａｍ（前記（１）式参照）と、マスタ秘密鍵ｍｓｋ（＝ｇβ）とを、マスタ秘密情報として生成する。
【０２１５】
また、暗号化情報生成サーバ１０Ｂは、ステップＳ１５で、公開鍵生成手段１４によって、ステップＳ１０において入力された正整数ｍと、ステップＳ１０で生成された素数ｐ１，ｐ２，…，ｐｍと、ステップＳ１１で生成された生成元ｇ１，ｇ２，…，ｇｍと、ステップＳ１３で生成された公開パラメータｐａｒａｍと、秘密情報の一部であるβとに基づいて、公開鍵ＰＫ（前記（１０）式参照）を生成する。
【０２１６】
また、図１５で説明した秘密鍵生成サーバ２０Ｂは、ステップＳ１８で、ユーザ秘密鍵生成手段２３Ｂによって、マスタ秘密情報記憶手段２２Ｂに記憶されているマスタ秘密鍵ｍｓｋと、公開パラメータｐａｒａｍと、秘密情報ｍａｓｔｅｒと、ユーザ識別子ｖと、予めＺｎ＊（＝｛１，２，…，ｎ−１｝）から選択した乱数ｒｖとから、前記（１１）式により、ユーザ毎のユーザ秘密鍵ｄｖを生成する。
【０２１７】
以上説明したように、コンテンツ配信システム１，１Ｂは、ユーザ秘密鍵の要素数を固定数とすることが可能なマスタ秘密鍵や、暗号文となるコンテンツ配信ヘッダの要素数を固定数とすることが可能な公開鍵を生成することができる。
これによって、コンテンツ配信システム１，１Ｂは、ユーザ端末（コンテンツ復号装置）５０，５０Ｂにおいて保持する秘密鍵のデータ量を削減することができる。また、コンテンツを一斉配信する場合であっても、暗号文となるコンテンツ配信ヘッダの要素数が固定数であるため、データ量を抑えることができ、ネットワークの負荷を軽減させることができる。
【符号の説明】
【０２１８】
１      コンテンツ配信システム
１０    暗号化情報生成サーバ（暗号化情報生成装置）
１１    基本情報生成手段
１２    マスタ秘密情報生成手段
１３    マスタ秘密情報送信手段
１４    公開鍵生成手段
１５    公開鍵送信手段
２０    秘密鍵生成サーバ（秘密鍵生成装置）
２１    マスタ秘密情報受信手段
２２    マスタ秘密情報記憶手段
２３    ユーザ秘密鍵生成手段
２４    ユーザ秘密鍵出力手段
３０    コンテンツサーバ（配信用コンテンツ生成装置）
３１    暗号化鍵生成手段
３２    公開鍵受信手段
３３    ヘッダ生成手段
３４    コンテンツ受信手段
３５    コンテンツ暗号化手段
３６    ヘッダ合成手段
３７    配信用コンテンツ記憶手段
３８    コンテンツ要求受信手段
３９    配信用コンテンツ送信手段
４０    コンテンツ配信サーバ
４１    ユーザ要求受信手段
４２    コンテンツ要求送信手段
４３    配信用コンテンツ受信手段
４４    配信用コンテンツ送信手段
５０    ユーザ端末（コンテンツ復号装置）
５１    配信用コンテンツ要求手段
５２    配信用コンテンツ受信手段
５３    分離手段
５４    秘密鍵記憶手段
５５    暗号化鍵復号手段
５６    コンテンツ復号手段
９０    不正ユーザ追跡サーバ（ユーザ特定装置）
９１    公開情報記憶手段
９２    コンテンツ記憶手段
９３    テストデータ生成手段
９４    テストデータ送信手段
９５    復号データ受信手段
９６    ユーザ識別子特定手段
９７    ユーザ情報記憶手段（データベース）
９８    ユーザ探索手段
【図１】
0005391043.tif 000040
【図２】
0005391043.tif 000041
【図３】
0005391043.tif 000042
【図４】
0005391043.tif 000043
【図５】
0005391043.tif 000044
【図６】
0005391043.tif 000045
【図７】
0005391043.tif 000046
【図８】
0005391043.tif 000047
【図９】
0005391043.tif 000048
【図１０】
0005391043.tif 000049
【図１１】
0005391043.tif 000050
【図１２】
0005391043.tif 000051
【図１３】
0005391043.tif 000052
【図１４】
0005391043.tif 000053
【図１５】
0005391043.tif 000054
【図１６】
0005391043.tif 000055