説明

暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム

【課題】暗号文のサイズをユーザ数に依存しない(ユーザ数に比例しない)サイズとするコンテンツ配信システムを提供する。
【解決手段】コンテンツ配信システムの暗号化情報生成サーバ10は、素数p,p及び生成元g,gを生成するとともに、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像eを特定する基本情報生成手段11と、ユーザを識別するためのユーザ識別子のビット長となる予め定めた正整数をmとして、1≦x,x1,0,x1,1,…,xm,0,xm,1<p、1≦α,β,γ,δ<pとなる各値を秘密情報として選択し、マスタ秘密鍵と公開パラメータを生成するマスタ秘密情報生成手段12と、公開パラメータと、双線形写像eと、秘密情報とに基づいて、公開鍵を生成する公開鍵生成手段14と、を備えることを特徴とする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンテンツを暗号化して配信するコンテンツ配信システムに用いられる暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラムに関する。
【背景技術】
【0002】
近年、インターネット(ネットワーク)上で、映像、音声等の種々のコンテンツが流通するようになってきた。
しかし、インターネット上でコンテンツの売買を行う場合、正規の利用者が不正にコンテンツを流通させてしまうことがあり、コンテンツ提供者に被害を与えるケースが増えている。このような問題に対して、不正に流通したコンテンツがどの利用者から配信されたものかを特定する方法として、「不正者追跡(Traitor Tracing)方式」と呼ばれる暗号化技術を用いる手法がある(以下、「KD98法」という。非特許文献1参照)。
【0003】
このKD98法では、暗号化されたコンテンツを復号する鍵となる秘密鍵を、利用者固有の識別子と多項式とを用いて生成している。すなわち、多項式をf(x)としたとき、変数xに利用者固有の識別子IDを代入したf(ID)が利用者の秘密鍵となる。このため、利用者が不正に秘密鍵の複製を作成した場合には、その秘密鍵f(ID)を作成するために使用した識別子IDを求めることで、どの利用者が不正を行ったかを特定することができる。なお、このKD98法では、当該不正者追跡方式を用いたシステムに対して、結託してk人の不正者が不正(攻撃)を行った場合でも耐性を持たせるために、多項式f(x)の次数をk次としている。
【0004】
また、KD98法の安全性を高めるため、多項式f(x)の次数を(2k−1)次に高め、さらに2つの多項式(f(x),f(x))を用いた方式も提案されている(以下、「DF03法」という。非特許文献2参照)。このように次数を高めることで、線形攻撃(Linear Attack)と呼ばれる攻撃に対して耐性を持たせることができ、さらに、多項式の数を2つにすることで、攻撃者が、予め怪しいと思われるk個の鍵から新たな鍵を偽造するような非適応的(Non−Adaptive)な攻撃ができないだけでなく、任意のk個の鍵を取得して新たな鍵を偽造するような適応的(Adaptive)な攻撃に対して安全性を保つことができる。
【0005】
また、KD98法を使用したシステムにおいては、暗号文と暗号化をする際に使用する鍵である公開鍵とが(k+2)個の要素で構成されている。さらに、DF03法を使用したシステムにおいては、暗号文と公開鍵とが(2k+2)個の要素で構成されている。なお、各手法の暗号文には、多項式の係数以外に生成元の乱数乗が要素として付加されている。
【0006】
ここで、DF03法の暗号文の要素数について具体的に説明する。DF03法では、暗号文の要素として、多項式の係数である暗号部以外に、生成元の乱数乗を含んでいる。
DF03法は、(2k−1)次の2つの多項式の係数が(2k×2)個であり、暗号文としてこれらの係数を2個ずつまとめて使用するため、暗号部の要素数は、(2k×2)/2=2k個となる。より具体的には、DF03法では、2つの多項式(f(x),f(x))の次数が同じ項の係数、例えば、xの係数がa,bであったとすると、これらを2つの生成元(g,h)を用いて合成し、(gaibi(rは乱数)として1つの要素とするため、暗号文の暗号部の要素数は2k個となる。
さらに、DF03法は、生成元(g,h)を乱数r乗した値g,hの2個の要素を暗号文に付加している。このように、DF03法は、暗号文を、(2k+2)個の要素で構成している。
【0007】
これに対し、双線形写像をベースとした「c−セキュア(Secure)符号」(非特許文献3参照)と、公開鍵暗号を組み合わせて、暗号文を3個の要素だけで構成した方式も提案されている(以下、「BN08法」という。非特許文献4参照)。
【先行技術文献】
【非特許文献】
【0008】
【非特許文献1】Kaisa Nyberg著“Advances in Cryptology-EUROCRYPT’98”, Lecture Notes in Computer Science, vol1403, pp.145-157
【非特許文献2】Yvo. G. Desmedt著“Public Key Cryptography-PKC’03”, LectureNotes in Computer Science, vol2567, pp.100-115
【非特許文献3】D. Boneh, J. Shaw著“Collusion−Secure Fingerprinting for Digital Data”, IEEE Trans. on Information Theory, vol.44, pp.1987-1905, 1998.
【非特許文献4】D. Boneh, M. Naor著“Traitor Tracing with Constant Size Ciphertext”, Proc. of ACM-CCS 2008, pp.501-510, 2008.
【発明の概要】
【発明が解決しようとする課題】
【0009】
前記したように、KD98法及びDF03法は、多項式の係数を、プロバイダの秘密情報として秘密裏に管理・保管する必要がある。ここで、システムに対して、結託して攻撃を行う不正者の数をk、1個の係数のデータ長を|q|(一般に、|q|は160ビット程度)とすると、KD98法を使用したシステムにおいては、各ユーザ(利用者)の持つ秘密鍵のサイズは|q|、暗号文のサイズは要素数が(k+2)個であるため(k+2)×|q|となる。同様に、DF03法では秘密鍵のサイズが2×|q|、暗号文のサイズは要素数が(2k+2)個であるため(2k+2)×|q|となる。
一方、BN08法では、秘密鍵のサイズはkに比例して大きくなるが、暗号文の要素数は3個であるため3×|q|となる。
すなわち、従来の手法によれば、管理するユーザ数が多くなれば、結託して攻撃する不正者の数kに依存して、秘密鍵サイズ、もしくは、暗号文の要素数が変化してしまう。特に、KD98法及びDF03法においては、結託して攻撃する不正者の数kを予測できない場合、kを総ユーザ数Nに設定する必要があるため、暗号文の要素数がNに比例して大きくなり、BN08法では、秘密鍵のサイズがNに比例して大きくなるという問題がある。
【0010】
本発明は、以上のような問題点に鑑みてなされたものであり、KD98法の各ユーザが保有する秘密鍵のサイズを保持しつつ、暗号文と暗号化する際に使用される鍵である公開鍵のサイズをユーザ数(あるいは最大結託者数k)に依存しない(ユーザ数に比例しない)サイズにすることが可能な暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【0011】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の暗号化情報生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、基本情報生成手段と、マスタ秘密情報生成手段と、公開鍵生成手段と、を備える構成とした。
【0012】
かかる構成において、暗号化情報生成装置は、基本情報生成手段によって、基本情報として、素数p,p及び生成元g,gを生成する。このとき、生成元gは、素数pを位数とする群Gの生成元であり、生成元gは、素数pを位数とする群Gの生成元とする。また、暗号化情報生成装置は、基本情報生成手段によって、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像eを特定する。例えば、基本情報生成手段は、e:G×G→Gとなる双線形写像eとして、一般的な“Weil Paring”、“Tate Paring”等に基づいて楕円曲線のパラメータを特定する。ここで、双線形写像eは、2つの引数を持つe(・,・)で表される写像である。また、基本情報生成手段は、(p,g,e(),G,G)を、公開情報として生成する。
【0013】
そして、暗号化情報生成装置は、マスタ秘密情報生成手段によって、ユーザを識別するためのユーザ識別子のビット長となる予め定めた正整数をmとして、合成数pに応じて、1≦x,x1,0,x1,1,…,xm,0,xm,1<pであるx,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pであるα,β,γ,δとを選択する。そして、暗号化情報生成装置は、マスタ秘密情報生成手段によって、秘密情報(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)を生成し、生成元gのαβ乗(べき乗)を演算してマスタ秘密鍵msk(msk=(gαβ,g))を生成するとともに、生成元gをそれぞれ秘密情報の一部である(x,x1,0,x1,1,…,xm,0,xm,1)の値でべき乗演算することで、パラメータparamを、
【数1】

として生成する。なお、正整数mは、総ユーザ数をNとしたとき、log(N)以上の値で予め定めておく。これによって、マスタ秘密情報生成手段は、マスタ秘密情報として、秘密情報、マスタ秘密鍵及びパラメータを生成する。
【0014】
そして、暗号化情報生成装置は、公開鍵生成手段によって、パラメータparamと、双線形写像eと、秘密情報とから、公開鍵PKを、
【数2】

により生成する。これによって、公開鍵生成手段が生成する公開鍵は、要素数が、H1,0,H1,1,H2,0,H2,1,…,Hm,0,Hm,1のようにユーザを識別するためのユーザ識別子のビット長mに依存することになる。すなわち、公開鍵のサイズは、ユーザ数の対数に依存したものとなる。また、このように、公開鍵は生成元のべき乗値を有することで、コンテンツ配信システムにおいて、離散対数計算の有する困難性により暗号系の安全性を確保することができる。
【0015】
また、請求項2に記載の暗号化情報生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成するために、コンピュータを、基本情報生成手段、マスタ秘密情報生成手段、公開鍵生成手段、として機能させる構成とした。
【0016】
かかる構成において、暗号化情報生成プログラムは、基本情報生成手段によって、基本情報として、素数p,p及び生成元g,gを生成する。このとき、生成元gは、素数pを位数とする群Gの生成元であり、生成元gは、素数pを位数とする群Gの生成元とする。また、暗号化情報生成プログラムは、基本情報生成手段によって、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像eを特定する。また、基本情報生成手段は、(p,g,e(),G,G)を、公開情報として生成する。
【0017】
そして、暗号化情報生成プログラムは、マスタ秘密情報生成手段によって、ユーザを識別するためのユーザ識別子のビット長となる予め定めた正整数をmとして、合成数pに応じて、1≦x,x1,0,x1,1,…,xm,0,xm,1<pであるx,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pであるα,β,γ,δとを選択する。そして、暗号化情報生成プログラムは、マスタ秘密情報生成手段によって、秘密情報(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)を生成し、生成元gのαβ乗(べき乗)を演算してマスタ秘密鍵msk(msk=(gαβ,g))を生成するとともに、生成元gをそれぞれ秘密情報の一部である(x,x1,0,x1,1,…,xm,0,xm,1)の値でべき乗演算することで、パラメータparamを、
【数3】

として生成する。
【0018】
そして、暗号化情報生成プログラムは、公開鍵生成手段によって、パラメータparamと、双線形写像eと、秘密情報とから、公開鍵PKを、
【数4】

により生成する。
【0019】
また、請求項3に記載の秘密鍵生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成する秘密鍵生成装置であって、ユーザ秘密鍵生成手段と、ユーザ秘密鍵出力手段と、を備える構成とした。
【0020】
かかる構成において、秘密鍵生成装置は、ユーザ秘密鍵生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化情報生成装置で生成されたマスタ秘密情報である秘密情報、パラメータparam及びマスタ秘密鍵mskと、ユーザを識別するためのユーザ識別子vと、予めZ(={1,2,…,p−1})から選択した乱数rv,1,rv,2とから、少なくとも、第1秘密情報、第2秘密情報及び第3秘密情報として、
【数5】

を含んだユーザ秘密鍵dを生成する。
【0021】
そして、秘密鍵生成装置は、ユーザ秘密鍵出力手段によって、ユーザ秘密鍵を出力する。このユーザ秘密鍵は、ネットワークを介してコンテンツ復号装置に出力されることとしてもよいし、コンテンツ復号装置に配布される記憶媒体に書き込んで出力することとしてもよい。なお、このユーザ秘密鍵は、コンテンツ復号装置において、ユーザがコンテンツを復号する際に使用される。
このように、秘密鍵生成装置は、ユーザ秘密鍵をユーザ数に依存しない固定数の要素で表すことができる。
【0022】
また、請求項4に記載の秘密鍵生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成するために、コンピュータを、ユーザ秘密鍵生成手段、ユーザ秘密鍵出力手段、として機能させる構成とした。
【0023】
かかる構成において、秘密鍵生成プログラムは、ユーザ秘密鍵生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化情報生成装置で生成されたマスタ秘密情報である秘密情報、パラメータparam及びマスタ秘密鍵mskと、ユーザを識別するためのユーザ識別子vと、予めZ(={1,2,…,p−1})から選択した乱数rv,1,rv,2とから、少なくとも、第1秘密情報、第2秘密情報及び第3秘密情報として、
【数6】

を含んだユーザ秘密鍵dを生成する。そして、秘密鍵生成プログラムは、ユーザ秘密鍵出力手段によって、ユーザ秘密鍵を出力する。
【0024】
さらに、請求項5に記載の配信用コンテンツ生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された公開鍵PKに基づいて、配信用コンテンツを生成する配信用コンテンツ生成装置であって、暗号化鍵生成手段と、コンテンツ暗号化手段と、ヘッダ生成手段と、ヘッダ合成手段と、を備える構成とした。
【0025】
かかる構成において、配信用コンテンツ生成装置は、暗号化鍵生成手段によって、コンテンツを暗号化する暗号化鍵Ksを生成する。そして、配信用コンテンツ生成装置は、コンテンツ暗号化手段によって、暗号化鍵生成手段で生成された暗号化鍵Ksでコンテンツを暗号化し、暗号化コンテンツを生成する。
【0026】
そして、配信用コンテンツ生成装置は、ヘッダ生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化鍵生成手段で生成された暗号化鍵Ksと、公開鍵PKと、予めZ(={1,2,…,p−1})から選択した乱数t,t,tと、ユーザ識別子の中のビット位置を示すインデックスj(ビットインデックス)に基づいて、暗号化コンテンツに合成するコンテンツ配信ヘッダCを、
【数7】

により生成する。
【0027】
すなわち、ヘッダ生成手段は、公開鍵PKに含まれるGをt乗した値と暗号化鍵Ksとの積(KsG)と、公開鍵PKに含まれるEγ、H、H1,0、H1,1、…、Hm,0、Hm,1をそれぞれt乗した値(Eγ、H、H1,0、H1,1、…、Hm,0、Hm,1)と、Eγをt乗及びt乗した値(Eγt0、Eγt1)と、Eδをt乗及びt乗したそれぞれの値にHj,0、Hj,1を乗算した値(Hj,0δt0、Hj,1δt1)とを含んだコンテンツ配信ヘッダCを生成する。これによって、ヘッダ生成手段が生成する暗号文となるコンテンツ配信ヘッダは、要素数が、H1,0、H1,1、…、Hm,0、Hm,1のようにユーザを識別するためのユーザ識別子のビット長mに依存することになる。すなわち、コンテンツ配信ヘッダのサイズは、ユーザ数の対数に依存したものとなる。
【0028】
そして、配信用コンテンツ生成装置は、ヘッダ合成手段によって、ヘッダ生成手段で生成されたコンテンツ配信ヘッダCと、暗号化コンテンツとを合成することで配信用コンテンツを生成する。すなわち、ヘッダ合成手段は、配信用コンテンツを、暗号化コンテンツとコンテンツ配信ヘッダとが一体となったファイルあるいはストリームとして生成する。
このように、配信用コンテンツ生成装置は、暗号文となるコンテンツ配信ヘッダCを、ユーザ数の対数に比例する数の要素で表すことができる。
【0029】
また、請求項6に記載の配信用コンテンツ生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された公開鍵PKに基づいて、配信用コンテンツを生成するために、コンピュータを、暗号化鍵生成手段、コンテンツ暗号化手段、ヘッダ生成手段、ヘッダ合成手段、として機能させる構成とした。
【0030】
かかる構成において、配信用コンテンツ生成プログラムは、暗号化鍵生成手段によって、コンテンツを暗号化する暗号化鍵Ksを生成する。そして、配信用コンテンツ生成プログラムは、コンテンツ暗号化手段によって、暗号化鍵生成手段で生成された暗号化鍵Ksでコンテンツを暗号化し、暗号化コンテンツを生成する。
【0031】
そして、配信用コンテンツ生成プログラムは、ヘッダ生成手段によって、暗号化情報生成装置で生成された公開情報と、暗号化鍵生成手段で生成された暗号化鍵Ksと、公開鍵PKと、予めZ(={1,2,…,p−1})から選択した乱数t,t,tと、ユーザ識別子の中のビット位置を示すインデックスj(ビットインデックス)に基づいて、暗号化コンテンツに合成するコンテンツ配信ヘッダCを、
【数8】

により生成する。
【0032】
そして、配信用コンテンツ生成プログラムは、ヘッダ合成手段によって、ヘッダ生成手段で生成されたコンテンツ配信ヘッダCと、暗号化コンテンツとを合成することで配信用コンテンツを生成する。
【0033】
また、請求項7に記載のコンテンツ復号装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項5に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dに基づいて復号するコンテンツ復号装置であって、分離手段と、暗号化鍵復号手段と、コンテンツ復号手段と、を備える構成とした。
【0034】
かかる構成において、コンテンツ復号装置は、分離手段によって、配信用コンテンツを、コンテンツ配信ヘッダCと暗号化コンテンツとに分離する。
そして、コンテンツ復号装置は、暗号化鍵復号手段によって、分離手段で分離されたコンテンツ配信ヘッダCを(j,C,C,CE0,CE1,C,C1,0,C1,1,…,Cm,0,Cm,1)とし、ユーザ識別子vに対してユーザ秘密鍵dの第1秘密情報、第2秘密情報及び第3秘密情報が(dv,1,dv,2,dv,3)である場合、請求項1に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像eを用いて、コンテンツの暗号化に用いた暗号化鍵Ksを、
【数9】

により復号する。
なお、ここで、Ci,viは、vの値が“0”の場合はCi,0、vの値が“1”の場合はCi,1を表す。
そして、コンテンツ復号装置は、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵Ksで、暗号化コンテンツを復号する。
【0035】
また、請求項8に記載のコンテンツ復号プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項5に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dに基づいて復号するために、コンピュータを、分離手段、暗号化鍵復号手段、コンテンツ復号手段、として機能させる構成とした。
【0036】
かかる構成において、コンテンツ復号プログラムは、分離手段によって、配信用コンテンツを、コンテンツ配信ヘッダCと暗号化コンテンツとに分離する。
そして、コンテンツ復号プログラムは、暗号化鍵復号手段によって、分離手段で分離されたコンテンツ配信ヘッダCを(j,C,C,CE0,CE1,C,C1,0,C1,1,…,Cm,0,Cm,1)とし、ユーザ識別子vに対してユーザ秘密鍵dの第1秘密情報、第2秘密情報及び第3秘密情報が(dv,1,dv,2,dv,3)である場合、請求項1に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像e(・,・)を用いて、コンテンツの暗号化に用いた暗号化鍵Ksを、
【数10】

により復号する。
そして、コンテンツ復号プログラムは、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵Ksで、暗号化コンテンツを復号する。
【0037】
また、請求項9に記載のユーザ特定装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dを組み込んだ請求項7に記載のコンテンツ復号装置から、前記ユーザ秘密鍵dに対応するユーザを特定するユーザ特定装置であって、テストデータ生成手段と、テストデータ送信手段と、復号データ受信手段と、ユーザ識別子特定手段と、ユーザ探索手段と、を備える構成とした。
【0038】
かかる構成において、ユーザ特定装置は、テストデータ生成手段によって、暗号化鍵Ksと、請求項1に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の1つである合成数pで特定されるZから選択した6つ異なる乱数t,t,t,t′,t′,t′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数11】

を生成する。さらに、ユーザ特定装置は、テストデータ生成手段によって、テスト用コンテンツを暗号化鍵Ksで暗号化した暗号化コンテンツに合成することでユーザ識別子のjビット目をテストするためテストデータを生成する。
これによって、テストデータは、テスト用コンテンツ配信ヘッダにおいて、Eγt1又はEγt0と、Hj,1δt1又はHj,0δt0のいずれか一方が、他の要素とは異なる群Gの生成元gを含んでおり、ダミーデータが組み込まれることになる。
【0039】
そして、ユーザ特定装置は、テストデータ送信手段によって、テストデータ生成手段で生成されたテストデータを、コンテンツ復号装置に送信する。そして、ユーザ特定装置は、復号データ受信手段によって、コンテンツ復号装置から、テストデータにより復号したコンテンツを受信する。
【0040】
そして、ユーザ特定装置は、ユーザ識別子特定手段によって、復号データ受信手段で受信したコンテンツと、テスト用コンテンツとを、1≦j≦mのすべてのjについて比較し、当該比較結果が一致するか否かに基づいて、ユーザ識別子のjビット目の値を特定する。本発明においては、他の要素とは異なるt′乗の値を用いて復号した場合、コンテンツは正常に復号されないことを利用する。すなわち、ユーザ識別子特定手段は、テスト用コンテンツ配信ヘッダとして、Cj,1を使用した場合、比較結果が一致すれば、ユーザ識別子のjビット目の値を“1”、比較結果が一致しなければ、ユーザ識別子のjビット目の値を“0”とする。また、ユーザ識別子特定手段は、テスト用コンテンツ配信ヘッダとして、Cj,0を使用した場合、比較結果が一致すれば、ユーザ識別子のjビット目の値を“0”、比較結果が一致しなければ、ユーザ識別子のjビット目の値を“1”とすることで、ユーザ識別子を特定する。
【0041】
そして、ユーザ特定装置は、ユーザ探索手段によって、予めユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索する。
【0042】
また、請求項10に記載のユーザ特定プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dを組み込んだ請求項7に記載のコンテンツ復号装置から、前記ユーザ秘密鍵dに対応するユーザを特定するために、コンピュータを、テストデータ生成手段、テストデータ送信手段、復号データ受信手段、ユーザ識別子特定手段、ユーザ探索手段、として機能させる構成とした。
【0043】
かかる構成において、ユーザ特定プログラムは、テストデータ生成手段によって、暗号化鍵Ksと、請求項1に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の1つである合成数pで特定されるZから選択した6つ異なる乱数t,t,t,t′,t′,t′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数12】

を生成する。さらに、ユーザ特定プログラムは、テストデータ生成手段によって、テスト用コンテンツを暗号化鍵Ksで暗号化した暗号化コンテンツに合成することでユーザ識別子のjビット目をテストするためテストデータを生成する。
【0044】
そして、ユーザ特定プログラムは、テストデータ送信手段によって、テストデータ生成手段で生成されたテストデータを、コンテンツ復号装置に送信する。そして、ユーザ特定プログラムは、復号データ受信手段によって、コンテンツ復号装置から、テストデータにより復号したコンテンツを受信する。
【0045】
そして、ユーザ特定プログラムは、ユーザ識別子特定手段によって、復号データ受信手段で受信したコンテンツと、テスト用コンテンツとを、1≦j≦mのすべてのjについて比較し、当該比較結果が一致するか否かに基づいて、ユーザ識別子のjビット目の値を特定する。
【0046】
そして、ユーザ特定プログラムは、ユーザ探索手段によって、予めユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索する。
【発明の効果】
【0047】
本発明は、以下に示す優れた効果を奏するものである。
請求項1,2に記載の発明によれば、秘密鍵(ユーザ秘密鍵)の要素数を固定数とすることが可能なマスタ秘密鍵や、暗号文となるコンテンツ配信ヘッダの要素数をユーザ数に比例せず、ユーザ数の対数に比例する数とすることが可能な公開鍵を生成することができる。
【0048】
請求項3,4に記載の発明によれば、要素数が固定数であって、ユーザ数に依存しない固定長のサイズとなる秘密鍵(ユーザ秘密鍵)を生成することができる。これによって、コンテンツ復号装置において保持する秘密鍵のデータ量を削減することができる。
【0049】
請求項5,6に記載の発明によれば、要素数が固定数であって、暗号文がユーザ数に比例せず、ユーザ数の対数に比例するサイズとなるコンテンツ配信ヘッダを付加した配信用コンテンツを生成することができる。これによって、コンテンツを一斉配信する場合であっても、暗号文となるコンテンツ配信ヘッダの要素数がユーザ数の対数に比例した数であるため、従来のユーザ数に比例する方式に比べ、データ量を抑えることができ、ネットワークの負荷を軽減させることができる。
【0050】
請求項7,8に記載の発明によれば、ユーザ数の対数に比例した要素数のコンテンツ配信ヘッダから、暗号化鍵を復号することができる。
【0051】
請求項9,10に記載の発明によれば、コンテンツ復号装置から、当該コンテンツ復号装置を使用するユーザを特定することができる。これによって、不正なユーザが、配布されたユーザ秘密鍵を複製して、不正なコンテンツ復号装置を作成した場合であっても、当該不正なコンテンツ復号装置を作成したユーザを特定することができる。
【図面の簡単な説明】
【0052】
【図1】本発明の実施形態に係るコンテンツ配信システムの構成を示すブロック図である。
【図2】本発明の実施形態に係る暗号化情報生成サーバ(暗号化情報生成装置)の構成を示すブロック図である。
【図3】本発明の実施形態に係る秘密鍵生成サーバ(秘密鍵生成装置)の構成を示すブロック図である。
【図4】本発明の実施形態に係るコンテンツサーバ(配信用コンテンツ生成装置)の構成を示すブロック図である。
【図5】本発明の実施形態に係るコンテンツ配信サーバの構成を示すブロック図である。
【図6】本発明の実施形態に係るユーザ端末(コンテンツ復号装置)の構成を示すブロック図である。
【図7】本発明の実施形態に係る不正ユーザ追跡サーバ(ユーザ特定装置)の構成を示すブロック図である。
【図8】本発明の実施形態に係るコンテンツ配信システムにおいて、公開鍵とユーザ秘密鍵とを生成する動作を示すフローチャートである。
【図9】本発明の実施形態に係るコンテンツ配信システムにおいて、配信用コンテンツを生成する動作を示すフローチャートである。
【図10】本発明の実施形態に係るコンテンツ配信システムにおいて、配信用コンテンツを配信する動作を示すフローチャートである。
【図11】本発明の実施形態に係るユーザ端末が配信用コンテンツを復号する動作を示すフローチャートである。
【図12】本発明の実施形態に係る不正なユーザ端末から当該ユーザ端末を作成したユーザを追跡する動作を示すフローチャートである。
【発明を実施するための形態】
【0053】
以下、本発明の実施形態について図面を参照して説明する。
[コンテンツ配信システムの構成]
まず、図1を参照して、本発明の実施形態に係るコンテンツ配信システムの構成について説明する。コンテンツ配信システム1は、コンテンツの配信者(以下、プロバイダという)側にイントラネット3で接続された暗号化情報生成サーバ10と、秘密鍵生成サーバ20と、コンテンツサーバ30と、コンテンツ配信サーバ40と、ゲートウェイ(GW)5とを備え、インターネット7を経由してコンテンツの購入者(以下、ユーザという)側の端末であるユーザ端末50にコンテンツを配信するシステムである。
なお、本実施形態では、コンテンツ配信システム1は、プロバイダ側に、不正ユーザ追跡サーバ90をさらに備えている。
【0054】
暗号化情報生成サーバ(暗号化情報生成装置)10は、コンテンツを暗号化する際に用いる暗号化情報として、秘密鍵生成サーバ20で使用するプロバイダ側で秘密の情報であるマスタ秘密情報や、コンテンツサーバ30で使用する公開鍵を生成するものである。なお、生成されたマスタ秘密情報は、秘密鍵生成サーバ20に送信され、公開鍵は、コンテンツサーバ30に送信される。
【0055】
秘密鍵生成サーバ(秘密鍵生成装置)20は、暗号化されたコンテンツを復号する際に使用するユーザ固有の秘密鍵(ユーザ秘密鍵)を生成するものである。この生成されたユーザ秘密鍵は、ユーザ側のユーザ端末50に配布(送信)される。
【0056】
コンテンツサーバ(配信用コンテンツ生成装置)30は、コンテンツを暗号化し、暗号化情報生成サーバ10で生成される公開鍵を用いて、コンテンツの暗号化に使用した暗号化鍵を暗号化してヘッダ情報(コンテンツ配信ヘッダ)を生成し、暗号化されたコンテンツと合成することで、ユーザ側に配信するコンテンツ(配信用コンテンツ)を生成するものである。なお、コンテンツサーバ30は、図示していない記憶手段に複数の配信用コンテンツを保持し、コンテンツ配信サーバ40から要求のあった配信用コンテンツをコンテンツ配信サーバ40に送信する。
【0057】
コンテンツ配信サーバ40は、ユーザ端末50から要求のあったコンテンツ(配信用コンテンツ)を、コンテンツサーバ30から取得し、ユーザ端末50に送信するものである。
【0058】
ユーザ端末(コンテンツ復号装置)50は、ユーザが所望するコンテンツ(配信用コンテンツ)をコンテンツ配信サーバ40に対して要求し、コンテンツ配信サーバ40から取得した配信用コンテンツを復号するものである。このユーザ端末50は、予め秘密鍵生成サーバ20から、ユーザ固有のユーザ秘密鍵を取得し、配信コンテンツを復号する。なお、ここでは、1台のユーザ端末50のみを図示しているが、インターネット7を介して、複数のユーザ端末50が接続可能なことは言うまでもない。
【0059】
ゲートウェイ(GW)5は、イントラネット3とインターネット7との各ネットワークを接続するための装置である。このゲートウェイ5は、例えば、IPルータ(IP:Internet Protocol)であり、イントラネット3内への不正アクセスを防ぐファイア・ウォールの機能を有するものである。
【0060】
不正ユーザ追跡サーバ(ユーザ特定装置)90は、ユーザ端末50を使用するユーザを特定するものである。この不正ユーザ追跡サーバ90は、例えば、不正なユーザが、配布されたユーザ秘密鍵を複製して、不正なユーザ端末50B(50)を作成した場合、この不正に作成されたユーザ端末50Bにテストデータを入力し、ユーザ端末50Bから出力されるデータを解析することで、当該ユーザ端末50Bを作成したユーザをユーザ識別子により特定する。
【0061】
以下、プロバイダ側の装置である暗号化情報生成サーバ10、秘密鍵生成サーバ20、コンテンツサーバ30及びコンテンツ配信サーバ40の各構成と、ユーザ側の装置であるユーザ端末50の構成とについて順次説明を行い、さらに、不正ユーザ追跡サーバ90の構成について説明を行う。
【0062】
(暗号化情報生成サーバの構成)
まず、図2を参照(適宜図1参照)して、暗号化情報生成サーバ10の構成について説明する。ここでは、暗号化情報生成サーバ10は、基本情報生成手段11と、マスタ秘密情報生成手段12と、マスタ秘密情報送信手段13と、公開鍵生成手段14と、公開鍵送信手段15と、を備えている。
【0063】
基本情報生成手段11は、マスタ秘密情報生成手段12や公開鍵生成手段14においてマスタ秘密情報や公開鍵を生成するために用いる基本情報を生成するものである。
ここでは、基本情報生成手段11は、図示していない入力手段により外部からユーザを識別するためのユーザ識別子のビット長となる正整数mを入力し、基本情報として、素数p及び素数pと、素数pを位数とする群Gの生成元g及び素数pを位数とする群Gの生成元gとを生成する。なお、全ユーザ数をNとしたとき、正整数mは、log(N)以上の数とする。
【0064】
さらに、基本情報生成手段11は、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像e(・,・)を決定する。例えば、基本情報生成手段11は、e:G×G→Gとなる双線形写像e(・,・)として、一般的な“Weil Paring”、“Tate Paring”等に基づいて楕円曲線のパラメータを特定する。
【0065】
なお、基本情報生成手段11は、入力された正整数mと、生成した各種の基本情報(素数p,p、合成数p、生成元g,g、双線形写像e(・,・))とを、マスタ秘密情報生成手段12及び公開鍵生成手段14に出力する。
【0066】
マスタ秘密情報生成手段12は、秘密鍵生成サーバ20において、ユーザ秘密鍵を生成する際に用いるマスタ秘密情報を生成するものである。
具体的には、マスタ秘密情報生成手段12は、1≦x,x1,0,x1,1,…,xm,0,xm,1<pとなる2m+1個の数x,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pとなる4個の数α,β,γ,δとをランダムに選択して、秘密情報master=(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)として生成する。
【0067】
さらに、マスタ秘密情報生成手段12は、基本情報生成手段11で生成された生成元g,gと、秘密情報の一部であるx,x1,0,x1,1,…,xm,0,xm,1とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータ(以下、公開パラメータ)paramを、以下の(1)式により生成するとともに、マスタ秘密鍵mskをgαβとgとにより生成(msk=(gαβ,g))する。
【0068】
【数13】

【0069】
すなわち、マスタ秘密情報生成手段12は、生成元gのαβ乗(べき乗)を演算し、生成元gとからなるマスタ秘密鍵msk(=(gαβ,g))を生成するとともに、生成元gをそれぞれ秘密情報(x,x1,0,x1,1,…,xm,0,xm,1)の値でべき乗演算することで、公開パラメータparamを生成する。なお、この公開パラメータは、公開情報に加え、さらに秘密鍵生成サーバ20に公開される情報である。
【0070】
そして、マスタ秘密情報生成手段12は、生成した秘密情報master、マスタ秘密鍵msk及び公開パラメータparamを、マスタ秘密情報としてマスタ秘密情報送信手段13に出力する。
さらに、マスタ秘密情報生成手段12は、生成した公開パラメータparamと秘密情報とを公開鍵生成手段14に出力する。
【0071】
マスタ秘密情報送信手段13は、マスタ秘密情報生成手段12で生成されたマスタ秘密情報を、イントラネット3を介して秘密鍵生成サーバ20に送信するものである。すなわち、マスタ秘密情報送信手段13は、マスタ秘密情報生成手段12で生成された秘密情報master、マスタ秘密鍵msk及び公開パラメータparamを秘密鍵生成サーバ20に送信する。
【0072】
公開鍵生成手段14は、コンテンツ配信サーバ40において、配信用コンテンツに合成するヘッダ(コンテンツ配信ヘッダ)を生成するための公開鍵(Traitor Tracing用公開鍵)を生成するものである。
【0073】
ここでは、公開鍵生成手段14は、基本情報生成手段11において入力された正整数mと、基本情報生成手段11で生成された双線形写像e(・,・)と、マスタ秘密情報生成手段12で生成された公開パラメータparam(前記(1)式参照)及び秘密情報(具体的には、(g,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ))とに基づいて、以下の(2)式により公開鍵PK=(G,Eγ,Eδ,H,H1,0,H2,0,…,Hm,0,H1,1,H2,1,…,Hm,1)を生成する。
【0074】
【数14】

【0075】
そして、公開鍵生成手段14は、生成した公開鍵PKを公開鍵送信手段15に出力する。
公開鍵送信手段15は、公開鍵生成手段14で生成された公開鍵を、イントラネット3を介してコンテンツサーバ30に送信するものである。
【0076】
なお、暗号化情報生成サーバ10は、基本情報生成手段11で生成された暗号化、復号、鍵生成等に使用する(p,g,e,G,G)を公開情報として公開する。
ここでは、暗号化情報生成サーバ10は、マスタ秘密情報送信手段13や公開鍵送信手段15によって、公開情報を、秘密鍵生成サーバ20やコンテンツサーバ30に送信することで公開することとする。なお、公開情報を送信するため、別途、公開情報送信手段(図示せず)を設けてもよい。
【0077】
このように暗号化情報生成サーバ10を構成することで、暗号化情報生成サーバ10は、マスタ秘密情報(秘密情報、マスタ秘密鍵及び公開パラメータ)と、公開鍵とを生成することができる。
【0078】
なお、暗号化情報生成サーバ10は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、暗号化情報生成サーバ10は、コンピュータを、前記した各手段として機能させる暗号化情報生成プログラムによって動作する。
【0079】
(秘密鍵生成サーバの構成)
次に、図3を参照(適宜図1参照)して、秘密鍵生成サーバ20の構成について説明する。ここでは、秘密鍵生成サーバ20は、マスタ秘密情報受信手段21と、マスタ秘密情報記憶手段22と、ユーザ秘密鍵生成手段23と、ユーザ秘密鍵出力手段24と、を備えている。
【0080】
マスタ秘密情報受信手段21は、暗号化情報生成サーバ10で生成されたマスタ秘密情報(秘密情報、マスタ秘密鍵及び公開パラメータ)を、イントラネット3を介して受信するものである。このマスタ秘密情報受信手段21で受信したマスタ秘密情報(秘密情報、マスタ秘密鍵及び公開パラメータ)は、マスタ秘密情報記憶手段22に記憶される。なお、ここでは、マスタ秘密情報受信手段21は、暗号化情報生成サーバ10で生成された公開情報も受信し、マスタ秘密情報記憶手段22に書き込み記憶させておくこととする。
【0081】
マスタ秘密情報記憶手段22は、マスタ秘密情報受信手段21で受信したマスタ秘密情報(秘密情報、マスタ秘密鍵及び公開パラメータ)や公開情報を記憶するもので、ハードディスク等の一般的な記憶装置である。このマスタ秘密情報記憶手段22に記憶されている秘密情報、マスタ秘密鍵及び公開パラメータ(公開情報)は、ユーザ秘密鍵生成手段23によって読み出される。
【0082】
ユーザ秘密鍵生成手段23は、ユーザを識別するための値(例えば、ユーザ固有のユーザ識別子〔v〕)から、ユーザ固有の秘密鍵(ユーザ秘密鍵)を生成するものである。
ここでは、ユーザ秘密鍵生成手段23は、マスタ秘密情報記憶手段22に記憶されているマスタ秘密情報(秘密情報master(=(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ))、マスタ秘密鍵msk(=(gαβ,g))及び公開パラメータparam(前記(1)式参照))と、公開情報と、ユーザ識別子vと、予めZ(={1,2,…,p−1})(ただし、pは、公開情報として取得した合成数)から選択した乱数rv,1,rv,2とから、以下の(3)式により、ユーザ識別子、第1秘密情報、第2秘密情報及び第3秘密情報を含んだユーザ秘密鍵dを生成する。なお、(3)式中、第2項〜第4項が、それぞれ第1〜第3秘密情報に対応する。
【0083】
【数15】

【0084】
この(3)式において、ユーザ識別子vは、図示を省略した入力手段を介して入力されるものである。また、ユーザ識別子vは、暗号化情報生成サーバ10の基本情報生成手段11(図2参照)に入力される正整数mのビット長のデータである。ここでは、ユーザ識別子vをビット列で表したときのiビット目(1≦i≦m)のビット値を、vと表記する。すなわち、ユーザ識別子vは、(v,v,…,v)のビット列で構成される。
【0085】
なお、ここでは、ユーザ秘密鍵に、ユーザ識別子vを含ませることとしたが、このユーザ識別子vは、必ずしも秘密の情報とする必要はない。よって、ユーザ秘密鍵生成手段23は、ユーザ秘密鍵dを第1秘密情報、第2秘密情報及び第3秘密情報を含んだ以下の(4)式により生成することとしてもよい。なお、(4)式中、第1項〜第3項が、それぞれ第1〜第3秘密情報に対応する。
【0086】
【数16】

【0087】
このユーザ秘密鍵生成手段23で生成されたユーザ秘密鍵は、ユーザ秘密鍵出力手段24に出力される。
【0088】
ユーザ秘密鍵出力手段24は、ユーザ秘密鍵生成手段23で生成されたユーザ秘密鍵を外部に出力するものである。なお、ユーザ秘密鍵出力手段24は、耐タンパ性を有するICカードやフレキシブルディスク等の汎用の記憶媒体(外部記憶媒体)に書き込むものとしてもよいし、ネットワーク(イントラネット3、インターネット7)を介してユーザ端末50に送信するものとしてもよい。ただし、記憶媒体にユーザ秘密鍵が書き込まれた場合、当該記憶媒体は、郵送等によって、ユーザ側に配送されることになる。
このように秘密鍵生成サーバ20を構成することで、秘密鍵生成サーバ20は、ユーザ端末50に配信するユーザ秘密鍵を生成することができる。
【0089】
なお、秘密鍵生成サーバ20は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、秘密鍵生成サーバ20は、コンピュータを、前記した各手段として機能させる秘密鍵生成プログラムによって動作する。
【0090】
(コンテンツサーバの構成)
次に、図4を参照(適宜図1参照)して、コンテンツサーバ30の構成について説明する。ここでは、コンテンツサーバ30は、暗号化鍵生成手段31と、公開鍵受信手段32と、ヘッダ生成手段33と、コンテンツ受信手段34と、コンテンツ暗号化手段35と、ヘッダ合成手段36と、配信用コンテンツ記憶手段37と、コンテンツ要求受信手段38と、配信用コンテンツ送信手段39と、を備えている。
【0091】
暗号化鍵生成手段31は、コンテンツを暗号化するための暗号化鍵を生成するものである。ここで生成された暗号化鍵は、ヘッダ生成手段33及びコンテンツ暗号化手段35に出力される。なお、この暗号化鍵は、コンテンツ暗号化手段35で使用される暗号化鍵であり、図示していない擬似乱数発生手段、ハッシュ(Hash)関数等を用いて乱数化され、鍵長を揃えたものである。
【0092】
公開鍵受信手段32は、暗号化情報生成サーバ10で生成された公開鍵PK(前記(2)式参照)を、イントラネット3を介して受信するものである。ここで受信された公開鍵は、ヘッダ生成手段33に出力される。
ここでは、公開鍵受信手段32は、公開鍵PKとともに、公開情報(合成数p、生成元g、双線形写像e、群G及び群G)を受信する。公開鍵受信手段32は、この受信した公開情報を、配信用コンテンツ記憶手段37に書き込み、公開情報のうちの合成数pをヘッダ生成手段33に出力する。
なお、公開情報の受信は、別途、公開情報受信手段(図示せず)を設けて、公開鍵PKとは独立して受信することとしてもよい。
【0093】
ヘッダ生成手段33は、暗号化鍵生成手段31で生成された暗号化鍵Ksを、公開鍵受信手段32で受信した公開鍵PKで暗号化することで、コンテンツに合成するヘッダ(コンテンツ配信ヘッダ)を生成するものである。
ここでは、ヘッダ生成手段33は、予め乱数tをZ(={1,2,…,p−1})(ただし、pは、公開情報として取得した合成数)の中から選択し(図示を省略した擬似乱数発生手段により乱数tを発生させ)、暗号化鍵Ksと公開鍵PKとを用いて、暗号文となる以下の(5)式に示すコンテンツ配信ヘッダ(ヘッダ情報)Cを生成する。
【0094】
【数17】

【0095】
すなわち、ヘッダ生成手段33は、公開鍵PKに含まれるGをt乗した値と暗号化鍵Ksとの積(KsG)と、公開鍵PKに含まれるEγ、H、H1,0、H1,1、…、Hm,0、Hm,1をそれぞれt乗した値(Eγ、H、H1,0、H1,1、…、Hm,0、Hm,1)と、Eγをそれぞれtとt乗した値と、Eδをそれぞれtとt乗した値とHj,0、Hj,1との積(Hj,0δt0、Hj,1δt1)とを含んだコンテンツ配信ヘッダCを生成する。なお、jは、ユーザ識別子の中のビット位置を示すインデックス(ビットインデックス)であって、ユーザ識別子のビット長である正整数mにおいて、1≦j≦mの値である。このインデックスjは、プロバイダが、予め1≦j≦mから選択した値で、図示を省略した入力手段を介して入力されるものである。そして、ヘッダ生成手段33は、生成したコンテンツ配信ヘッダをヘッダ合成手段36に出力する。
【0096】
コンテンツ受信手段34は、配信用のコンテンツを受信するものである。ここで受信されたコンテンツはコンテンツ暗号化手段35に出力される。このコンテンツ受信手段34は、例えば、図示していない記録媒体からコンテンツを読み出すものであってもよいし、ネットワーク(インターネット7等)を介して、通信データとしてコンテンツを取得するものであってもよい。
【0097】
コンテンツ暗号化手段35は、コンテンツ受信手段34で受信した配信用のコンテンツを、暗号化鍵生成手段31で生成された暗号化鍵で暗号化し、暗号化コンテンツを生成するものである。ここで生成された暗号化コンテンツは、ヘッダ合成手段36に出力される。なお、コンテンツ暗号化手段35は、暗号化鍵を用いて、共通鍵暗号化方式によりコンテンツを暗号化する。また、暗号化対象となるコンテンツには、映像等のデータ量の多い情報を想定しているため、ここでは、公開鍵暗号化方式に比べて暗号化処理の速い共通鍵暗号化方式を使用することとする。例えば、AES(Advanced Encryption Standard)等の一般的な共通鍵暗号化方式でよい。
【0098】
ヘッダ合成手段36は、コンテンツ暗号化手段35で生成された暗号化コンテンツと、ヘッダ生成手段33で生成されたコンテンツ配信ヘッダC(前記(5)式参照)とを合成して、配信用コンテンツを生成するものである。ここで生成された配信用コンテンツは、固有のコンテンツ識別情報(例えばファイル名等)を付して、配信用コンテンツ記憶手段37に記憶される。
【0099】
なお、ヘッダ合成手段36における暗号化コンテンツとコンテンツ配信ヘッダとの合成は、1つのデータ(ファイル、ストリーム)として合成することのみを意味しない。すなわち、暗号化コンテンツとコンテンツ配信ヘッダとは、少なくとも関連付けられていればよく、個別のデータとして管理することも可能である。ただし、管理を簡易化するために、暗号化コンテンツとコンテンツ配信ヘッダとを合成して1つのデータとすることが好ましい。
【0100】
配信用コンテンツ記憶手段37は、ヘッダ合成手段36で生成された配信用コンテンツを記憶するもので、ハードディスク等の一般的な記憶装置である。この配信用コンテンツ記憶手段37に記憶されている配信用コンテンツは、配信用コンテンツ送信手段39によって読み出される。
また、ここでは、配信用コンテンツ記憶手段37は、公開鍵受信手段32で受信した公開情報も記憶しておくこととする。
【0101】
コンテンツ要求受信手段38は、コンテンツ配信サーバ40から送信される、配信用コンテンツを特定するコンテンツ識別情報を含んだコンテンツの要求(コンテンツ要求)を、イントラネット3を介して受信するものである。このコンテンツ要求受信手段38は、コンテンツ要求に含まれる識別情報を配信用コンテンツ送信手段39に出力する。
【0102】
配信用コンテンツ送信手段39は、コンテンツ要求受信手段38から出力されるコンテンツ識別情報に対応する配信用コンテンツを、配信用コンテンツ記憶手段37から読み出して、要求のあったコンテンツ配信サーバ40に送信するものである。
なお、コンテンツ要求受信手段38は、コンテンツ要求の前に、公開情報の要求(公開情報要求)を受信した場合、配信用コンテンツ送信手段39にその旨を通知する。そして、配信用コンテンツ送信手段39は、配信用コンテンツ記憶手段37から、公開情報を読み出して、コンテンツ配信サーバ40に送信する。
【0103】
このようにコンテンツサーバ30を構成することで、コンテンツサーバ30は、コンテンツを暗号化鍵で暗号化し、その暗号化された暗号化コンテンツと、コンテンツ配信ヘッダとを関連付けて配信用コンテンツを生成することができる。
【0104】
なお、コンテンツサーバ30は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツサーバ30は、コンピュータを、前記した各手段として機能させる配信用コンテンツ生成プログラムによって動作する。
【0105】
(コンテンツ配信サーバの構成)
次に、図5を参照(適宜図1参照)して、コンテンツ配信サーバ40の構成について説明する。ここでは、コンテンツ配信サーバ40は、ユーザ要求受信手段41と、コンテンツ要求送信手段42と、配信用コンテンツ受信手段43と、配信用コンテンツ送信手段44と、を備えている。
【0106】
ユーザ要求受信手段41は、ユーザ端末50から送信される、ユーザが所望するコンテンツを示す要求(コンテンツ要求書)を、ネットワークを介して受信するものである。このコンテンツ要求書には、少なくともコンテンツを特定するためのコンテンツ識別情報と、どのユーザ端末50からの要求かを示す端末識別情報(例えば、IPアドレス等)とが含まれている。このユーザ要求受信手段41は、コンテンツ識別情報をコンテンツ要求送信手段42に出力し、端末識別情報を配信用コンテンツ送信手段44に出力する。
【0107】
コンテンツ要求送信手段42は、ユーザ要求受信手段41から出力されるコンテンツ識別情報を含んだコンテンツの要求(コンテンツ要求)を、イントラネット3を介してコンテンツサーバ30に送信するものである。
【0108】
配信用コンテンツ受信手段43は、コンテンツ要求送信手段42から送信されたコンテンツ識別情報に対応した配信用コンテンツを、イントラネット3を介してコンテンツサーバ30から受信するものである。この配信用コンテンツ受信手段43は、受信した配信用コンテンツを、配信用コンテンツ送信手段44に出力する。
【0109】
配信用コンテンツ送信手段44は、配信用コンテンツ受信手段43で受信した配信用コンテンツを、ユーザ要求受信手段41から出力される端末識別情報に対応するユーザ端末50に送信するものである。
【0110】
このようにコンテンツ配信サーバ40を構成することで、コンテンツ配信サーバ40は、ユーザ端末50から要求のあった配信用コンテンツをコンテンツサーバ30から取得し、要求のあったユーザ端末50に配信することができる。
また、コンテンツ配信サーバ40は、ユーザ端末50から、公開情報の要求があった場合、コンテンツサーバ30に公開情報要求を送信し、公開情報を取得し、ユーザ端末50に送信することとする。この場合、公開情報要求及び公開情報のデータの流れは、コンテンツ要求及び配信用コンテンツと同様の流れとなる。
【0111】
なお、コンテンツ配信サーバ40は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツ配信サーバ40は、コンピュータを、前記した各手段として機能させるコンテンツ配信プログラムによって動作する。
【0112】
以上、コンテンツ配信システム1におけるプロバイダ側の各装置の構成について説明したが、本発明はこれに限定されるものではない。例えば、暗号化情報生成サーバ10をコンテンツサーバ30内に組み込んで、新たにコンテンツサーバ30B(図示せず)として構成してもよい。あるいは、前記コンテンツサーバ30B(図示せず)をコンテンツ配信サーバ40内に組み込んで、新たにコンテンツ配信サーバ40B(図示せず)として構成してもよい。
【0113】
また、例えば、コンテンツ配信システム1における負荷を分散させるため、コンテンツサーバ30を、コンテンツの種類等によって複数備えることとしてもよい。この場合、コンテンツ配信サーバ40は、コンテンツの種類等によって、コンテンツを要求するコンテンツサーバを切り替えて、コンテンツ要求を送信する。
【0114】
(ユーザ端末の構成)
次に、図6を参照(適宜図1参照)して、ユーザ端末50の構成について説明する。ここでは、ユーザ端末50は、配信用コンテンツ要求手段51と、配信用コンテンツ受信手段52と、分離手段53と、秘密鍵記憶手段54と、暗号化鍵復号手段55と、コンテンツ復号手段56と、を備えている。
【0115】
配信用コンテンツ要求手段51は、ユーザが所望するコンテンツ(配信用コンテンツ)を示す要求(コンテンツ要求書)を、インターネット7を介してプロバイダ側のコンテンツ配信サーバ40に送信するものである。例えば、配信用コンテンツ要求手段51は、図示していない入力手段によって、利用者が所望するコンテンツを特定するコンテンツ識別情報(例えばファイル名等)を入力されることで、このコンテンツ識別情報を含んだコンテンツ要求書を生成し、コンテンツ配信サーバ40に送信する。
【0116】
配信用コンテンツ受信手段52は、プロバイダ側のコンテンツ配信サーバ40から、ユーザが要求した配信用コンテンツを、インターネット7を介して受信するものである。ここで受信した配信用コンテンツは、分離手段53に出力される。なお、ここで受信した配信用コンテンツには、暗号化されたコンテンツ(暗号化コンテンツ)に、コンテンツ配信ヘッダC(前記(5)式参照)が合成されている。
【0117】
分離手段53は、配信用コンテンツ受信手段52で受信した配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離するものである。ここで分離されたコンテンツ配信ヘッダは、暗号化鍵復号手段55に出力され、暗号化コンテンツは、コンテンツ復号手段56に出力される。
【0118】
秘密鍵記憶手段54は、対タンパ性を有するICカードやフレキシブルディスク等の汎用の記憶媒体(外部記憶媒体)であって、予めプロバイダ側でユーザ秘密鍵が書き込まれ、ユーザに配布されるものである。
【0119】
暗号化鍵復号手段55は、秘密鍵記憶手段54に記憶されているユーザ秘密鍵に基づいて、分離手段53で分離されたコンテンツ配信ヘッダから暗号化鍵を復号して抽出するものである。ここで復号された暗号化鍵は、コンテンツ復号手段56に出力される。
この暗号化鍵復号手段55は、秘密鍵記憶手段54に記憶されているユーザ秘密鍵が、d(=前記(3)式)=(v,dv,1,dv,2,dv,3)、分離手段53で分離されたコンテンツ配信ヘッダが、C(=前記(5)式)=(j,C,C,CE0,CE1,C,C1,0,C1,1,…,Cm,0,Cm,1)であった場合、暗号化鍵Ksを以下の(6)式により復号する。なお、ここで使用する双線形写像eは、公開情報として、配信用コンテンツと同様の経路で予め取得し、図示を省略した記憶手段に記憶しておくこととする。
【0120】
【数18】

【0121】
ここで、vは、ユーザ固有の情報(ユーザ識別子)である。また、vは、ユーザ識別子vのiビット目の値である。この(6)式の右辺は、前記(2)式、(4)式及び(5)式、並びに、双線形写像eの性質に基づいて、以下の(7)式に示す変形により、暗号化鍵Ksを示すものであることを証明することができる。
【0122】
【数19】

【0123】
なお、双線形写像eは、e(gα,gβ)=e(g,gαβとなる性質を有している。そこで、この性質を利用して、前記(7)式に示した変形を行っている。
【0124】
コンテンツ復号手段56は、暗号化鍵復号手段55で復号された暗号化鍵を用いて、暗号化コンテンツを復号するものである。このコンテンツ復号手段56は、分離手段53でコンテンツ配信ヘッダを分離された後の暗号化コンテンツを、暗号化鍵を用いて復号する。これによって、暗号化コンテンツは、視聴等が可能なコンテンツに復号されたことになる。
【0125】
このようにユーザ端末50を構成することで、ユーザ端末50は、暗号化鍵Ksを復号する際に、ユーザ固有の情報(ユーザ識別子)を使用しなければならならない。これによって、あるユーザが、自分が所有する秘密鍵を用いて、不正なユーザ端末を作成した場合であっても、その不正ユーザ端末には、所有者のIDと秘密鍵とを含まなければならないため、不正ユーザ端末を作成したユーザを容易に特定することができる。
【0126】
なお、ユーザ端末50は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、ユーザ端末50は、コンピュータを、前記した各手段として機能させるコンテンツ復号プログラムによって動作する。
【0127】
(不正ユーザ追跡サーバの構成)
次に、図7を参照(適宜図1参照)して、不正ユーザ追跡サーバ90の構成について説明する。ここでは、不正ユーザ追跡サーバ90は、公開情報記憶手段91と、コンテンツ記憶手段92と、テストデータ生成手段93と、テストデータ送信手段94と、復号データ受信手段95と、ユーザ識別子特定手段96と、ユーザ情報記憶手段97と、ユーザ探索手段98と、を備えている。なお、ここでは、不正ユーザ追跡サーバ90は、ユーザを特定する対象となるユーザ端末50B(50)が接続されているものとする。
【0128】
公開情報記憶手段91は、暗号化情報生成サーバ10において公開される公開鍵(公開情報)を記憶するもので、ハードディスク等の一般的な記憶装置である。この公開情報記憶手段91には、具体的には、暗号化情報生成サーバ10において公開されている公開情報(p,g,e(),G,G)と、公開鍵PK=(G,Eγ,Eδ,H,H1,0,H2,0,…,Hm,0,H1,1,H2,1,…,Hm,1)とを予め記憶しておく。
この公開情報記憶手段91に記憶されている公開鍵(公開情報)は、テストデータ生成手段93によって読み出される。
【0129】
コンテンツ記憶手段92は、ユーザ端末50Bに出力するテストデータに含ませるテスト用のコンテンツを記憶するもので、ハードディスク等の一般的な記憶装置である。このコンテンツ記憶手段92に記憶されるコンテンツは、正規のユーザ端末50に配信されるものと同種のものであればよい。例えば、ユーザ端末50Bが、映像・音声コンテンツを視聴する端末であれば、コンテンツ記憶手段92には、映像・音声コンテンツをテストデータ用のコンテンツとして記憶しておく。また、例えば、ユーザ端末50Bが、文字情報を提示する端末であれば、コンテンツ記憶手段92には、テキストデータをテストデータ用のコンテンツとして記憶しておく。
このコンテンツ記憶手段92に記憶されているコンテンツは、テストデータ生成手段93及びユーザ識別子特定手段96によって読み出される。
【0130】
テストデータ生成手段93は、ユーザ端末50Bから、当該ユーザ端末50Bを使用するユーザのユーザ識別子の所定ビット目をテスト(ビット値を特定)するためのテストデータを生成するものである。ここでは、テストデータ生成手段93は、ヘッダ生成手段931と、コンテンツ暗号化手段932と、ヘッダ合成手段933と、を備えている。
【0131】
ヘッダ生成手段931は、テスト用のコンテンツに合成するヘッダ(テスト用コンテンツ配信ヘッダ)を生成するものである。ここでは、ヘッダ生成手段931は、予め6つの異なる乱数t,t,t,t′,t′,t′をZ(={1,2,…,p−1})(ただし、pは、公開情報として公開情報記憶手段91に記憶されている合成数)の中から選択し(図示を省略した擬似乱数発生手段により乱数t,t,t,t′,t′,t′を発生させ)、暗号化鍵Ksと公開鍵PKとを用いて、以下の(8)式に示すテスト用コンテンツ配信ヘッダ(ヘッダ情報)Cj,1を生成する。
【0132】
【数20】

【0133】
このように生成されたテスト用コンテンツ配信ヘッダC0,1,C1,1,…,Cm,1は、順次ヘッダ合成手段933に出力される。
なお、前記(8)式において、jは、1≦j≦mの整数であって、mは、ユーザ識別子vのビット長である。また、この(8)式において、Eγt1とHj,1δt1が、他の要素とは異なる群Gの生成元gを含んでいる。
すなわち、ヘッダ生成手段931は、j=1から順次jを1ずつ加算し、前記(8)式により、テスト用コンテンツ配信ヘッダC0,1,C1,1,…,Cm,1を生成する。このとき、各Cj,1は、Hj,1のみがt乗されると同時にEδt1倍された値となっている。
これによって、各テスト用コンテンツ配信ヘッダCj,1は、jの値によって特定されるHj,1δt1が他の要素とは異なる群Gの生成元gを含むことなり、ダミーデータが設定されることになる。
【0134】
一方、ユーザ端末50Bで使用されるユーザ秘密鍵dは、前記(3)式、(4)式に示すように、生成元gのx1,v1乗、x2,v2乗、…、xm,vm乗を用いて生成されたものである。このv,v,…,vは、ユーザ識別子vのビット値である。
よって、例えば、gのx1,v1乗は、ユーザ識別子vの1ビット目の値が“0”であればgのx1,0乗(H1,0;前記(2)式参照)が使用され、1ビット目の値が“1”であればx1,1乗(H1,1)が使用されていることになる。
【0135】
ここで、テスト用コンテンツ配信ヘッダCj,1において、例えば、j=1にダミーデータが設定されていたとする。すなわち、H1,1のみがt乗され、Eδt1倍されているとする。すると、ユーザ端末50Bは、ユーザ識別子vの1ビット目の値が“0”であれば、正規のH1,0のt乗が使用されるため、コンテンツを復号することができるが、ユーザ識別子vの1ビット目の値が“1”であれば、ダミーデータであるHj,1δt1のgが使用されるため、コンテンツを復号することができない。
【0136】
このように、Hj,1δt1を、順次j=1からj=mまで設定することで、コンテンツを復号することができるか否かにより、ユーザ識別子vの各ビット値を特定することができる。なお、このユーザ識別子vの各ビット値の特定は、後記するユーザ識別子特定手段96において行われる。
【0137】
コンテンツ暗号化手段932は、テスト用のコンテンツを暗号化するものである。ここでは、コンテンツ暗号化手段932は、暗号化鍵Ksでコンテンツ記憶手段92に記憶されているテスト用のコンテンツを暗号化する。なお、暗号化鍵Ksは、暗号化鍵生成手段31(図4参照)と同様に生成することとしてもよいし、予めコンテンツ記憶手段92に記憶しておくこととしてもよい。このコンテンツ暗号化手段932は、暗号化したコンテンツをヘッダ合成手段933に出力する。
【0138】
ヘッダ合成手段933は、ヘッダ生成手段931で順次生成されるテスト用コンテンツ配信ヘッダCj,1(前記(8)式参照)に、コンテンツ暗号化手段932で生成された暗号化コンテンツを合成して、テストデータを生成するものである。ここで生成されたテストデータは、テストデータ送信手段94に出力される。
【0139】
テストデータ送信手段94は、テストデータ生成手段93で生成されたテストデータを、ユーザを特定する対象となるユーザ端末50Bに順次送信するものである。これによって、テストデータを入力されたユーザ端末50Bは、テストデータに含まれている暗号化コンテンツを、同じくテストデータに含まれているテスト用コンテンツ配信ヘッダCj,1と、ユーザ端末50Bが保持しているユーザ秘密鍵とを用いて復号する。このユーザ端末50Bで復号された復号データ(復号コンテンツ)は、不正ユーザ追跡サーバ90に入力される。
【0140】
復号データ受信手段95は、ユーザ端末50Bで復号された復号データ(復号コンテンツ)を受信するものである。この復号データ受信手段95には、テストデータ送信手段94から出力されたユーザ識別子vのビット数分のテストデータに応じた数の復号データが、ユーザ端末50Bから入力されることになる。
この復号データ受信手段95で受信した復号データは、順次、ユーザ識別子特定手段96に出力される。
【0141】
ユーザ識別子特定手段96は、テストデータ生成手段93においてテストデータを生成した際に使用したコンテンツと、復号データ受信手段95で順次受信される復号データ(復号コンテンツ)とを比較することで、ユーザ識別子を特定するものである。
ここで、テストデータを生成した際に使用したコンテンツ(より具体的には、コンテンツ記憶手段92に記憶されているコンテンツ)をM、復号データ受信手段95で入力される復号データをM′(1≦j≦m;mはユーザ識別子のビット長)とする。
【0142】
このとき、ユーザ識別子特定手段96は、M=M′の場合、ユーザ識別子のjビット目の値vを値“0”、M≠M′の場合、ユーザ識別子のjビット目の値vを値“1”と特定する。
そして、ユーザ識別子特定手段96は、1≦j≦mのすべてのjについて特定されたユーザ識別子のビット値を連結することで、ユーザ識別子v=(v…v)を特定する。このように特定されたユーザ識別子vは、ユーザ探索手段98に出力される。
【0143】
ユーザ情報記憶手段97は、ユーザ情報とユーザ識別子とを対応付けたデータベースを記憶するもので、ハードディスク等の一般的な記憶装置である。ここでユーザ情報とは、ユーザを特定する情報であって、例えば、ユーザの個人情報(氏名、住所等)である。なお、このユーザ情報記憶手段97は、プロバイダが、予めユーザ情報とユーザ識別子とを対応付けてデータベース化しておくこととする。
【0144】
ユーザ探索手段98は、ユーザ情報記憶手段97に記憶されているデータベースから、ユーザ識別子特定手段96で特定されたユーザ識別子に対応するユーザ情報を探索しユーザを特定するものである。このユーザ探索手段98で特定されたユーザのユーザ情報は、ユーザ端末50Bのユーザを特定する情報として外部(例えば、図示を省略した表示装置)に出力される。
【0145】
以上、不正ユーザ追跡サーバ90の構成について説明したが、本発明は、これに限定されるものではない。ここでは、ヘッダ生成手段931が、各テスト用コンテンツ配信ヘッダCj,1において、H1,1〜Hm,1のうちの1つをt乗し、Eδt1倍したが、以下の(9)式に示すように、H1,0〜Hm,0のうちの1つをt乗し、Eδt0倍したテスト用コンテンツ配信ヘッダCj,0を使用することとしてもよい。
【0146】
【数21】

【0147】
この場合、ユーザ端末50Bは、例えば、ユーザ識別子vの1ビット目の値が“1”であれば、正規のH1,1のt乗とEδt1が乗算された値が使用されるため、コンテンツを復号することができるが、ユーザ識別子vの1ビット目の値が“0”であれば、ダミーデータであるHj,0δt0が使用されるため、コンテンツを復号することができない。
よって、前記(9)式を用いる場合、ユーザ識別子特定手段96は、テストデータを生成した際に使用したコンテンツをM、復号データ受信手段95で入力される復号データをM′(1≦j≦m;mはユーザ識別子のビット長)としたとき、M=M′の場合、ユーザ識別子のjビット目の値vを値“1”、M≠M′の場合、ユーザ識別子のjビット目の値vを値“0”と特定する。
【0148】
また、ここでは、不正ユーザ追跡サーバ90は、ユーザ情報(ユーザの個人情報等)を特定することとしたが、単にユーザ識別子を特定するまでの機能を持った形態としてもよい。この場合、不正ユーザ追跡サーバ90は、図7で説明した構成から、ユーザ情報記憶手段97及びユーザ探索手段98を省いて構成する。
【0149】
また、ここでは、不正ユーザ追跡サーバ90は、ユーザ端末50Bから、復号されたデータ(復号コンテンツ)を入力することとした。しかし、例えば、ユーザ端末50Bが、コンテンツを映像信号や音声信号として再生出力する場合、テストデータ生成手段93は、外部から入力される操作者の指示により、順次、テストデータを生成し、出力することで、操作者が、実際に映像あるいは音声として正常に再生されたか否かを判定し、ユーザ識別子を特定する。この場合、不正ユーザ追跡サーバ90は、テストデータを順次送信するのみの構成となり、復号データ受信手段95、ユーザ識別子特定手段96、ユーザ情報記憶手段97及びユーザ探索手段98を省いて構成する。
【0150】
なお、不正ユーザ追跡サーバ90は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、不正ユーザ追跡サーバ90は、コンピュータを、前記した各手段として機能させる不正ユーザ追跡プログラム(ユーザ特定プログラム)によって動作する。
【0151】
以上、コンテンツ配信システム1の構成について説明したが、本システムにおける暗号化方式は、スタンダードモデル(Standard Model)上で、CDH(Computational Diffie−Hellman)仮定と、DBDH(Decisional Bilinear Diffie−Hellman)仮定に基づいた安全性証明が可能である。一般に、他のモデル、例えば、ジェネリックモデル(Generic Model)上で安全性が証明されるよりも、スタンダードモデル上で安全性が証明された方がより安全性が高いと言われている。よって、コンテンツ配信システム1は、他の暗号化方式でシステムを構成した場合に比べ、より高い安全性を確保することができる。
【0152】
[コンテンツ配信システムの動作]
次に、図8乃至図12を参照して、本発明の実施形態に係るコンテンツ配信システムの動作について説明する。
【0153】
(公開鍵・ユーザ秘密鍵生成動作)
最初に、図8を参照(適宜図1、図2及び図3参照)して、コンテンツ配信システム1において、公開鍵とユーザ秘密鍵とを生成する動作について説明する。
【0154】
まず、暗号化情報生成サーバ10は、基本情報生成手段11によって、素数p,pと合成数p=p×pを生成(選択)する(ステップS10)。また、暗号化情報生成サーバ10は、基本情報生成手段11によって、位数(素数)pの群の生成元gと位数pの群の生成元gを生成(選択)するとともに、生成元g=g×gを生成する(ステップS11)。
【0155】
さらに、暗号化情報生成サーバ10は、基本情報生成手段11によって、合成数pを位数、要素gを生成元とする群Gから群Gへの双線形写像e(・,・)を特定する(ステップS12)。
【0156】
次に、暗号化情報生成サーバ10は、マスタ秘密情報生成手段12によって、1≦x,x1,0,x1,1,…,xm,0,xm,1<pとなる2m+1個の数x,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pとなる4個の数α,β,γ,δとをランダムに選択して、秘密情報master=(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)を生成する。
そして、暗号化情報生成サーバ10は、マスタ秘密情報生成手段12によって、生成元g,gと、秘密情報の一部であるx,x1,0,x1,1,…,xm,0,xm,1とから、ユーザ秘密鍵や公開鍵を生成するためのパラメータとなる公開パラメータparam(前記(1)式参照)と、マスタ秘密鍵msk(=(gαβ,g))とを、秘密情報とともにマスタ秘密情報として生成する(ステップS13)。
【0157】
そして、暗号化情報生成サーバ10は、マスタ秘密情報送信手段13によって、ステップS13で生成されたマスタ秘密情報(マスタ秘密鍵msk,公開パラメータparam)を、イントラネット3を介して秘密鍵生成サーバ20に送信する(ステップS14)。
なお、公開パラメータ以外の公開情報は、ステップS12の後、あるいは、ステップS14のタイミングで秘密鍵生成サーバ20に送信されることとする。
【0158】
さらに、暗号化情報生成サーバ10は、公開鍵生成手段14によって、ステップS10において入力された正整数mと、ステップS10で生成された合成数pと、ステップS11で生成された生成元gと、ステップS13で生成された公開パラメータparamと、秘密情報の一部であるα,β,γ,δとに基づいて、公開鍵PK(前記(2)式参照)を生成する(ステップS15)。
その後、暗号化情報生成サーバ10は、公開鍵送信手段15によって、ステップS15で生成した公開鍵を、イントラネット3を介してコンテンツサーバ30に送信する(ステップS16)。
【0159】
また、秘密鍵生成サーバ20は、マスタ秘密情報受信手段21によって、ステップS14で暗号化情報生成サーバ10から送信されたマスタ秘密情報(秘密情報master、マスタ秘密鍵msk及び公開パラメータparam)を受信し、マスタ秘密情報記憶手段22に書き込み記憶する(ステップS17)。
【0160】
そして、秘密鍵生成サーバ20は、ユーザ秘密鍵生成手段23によって、マスタ秘密情報記憶手段22に記憶されているマスタ秘密鍵mskと、公開パラメータparamと、ユーザ識別子vと、予めZ(={1,2,…,p−1})から選択した乱数rv,1,rv,2とから、前記(3)式により、ユーザ毎のユーザ秘密鍵dを生成する(ステップS18)。
【0161】
その後、秘密鍵生成サーバ20は、ユーザ秘密鍵出力手段24によって、ステップS18で生成されたユーザ秘密鍵dを記憶媒体に書き込む。そして、プロバイダが当該記憶媒体をユーザに配布する(ステップS19)。なお、ユーザ秘密鍵出力手段24は、ユーザ秘密鍵dを、ネットワーク(イントラネット3、インターネット7)を介してユーザ端末50に送信することとしてもよい。
【0162】
以上の動作によって、暗号化情報生成サーバ10は、公開鍵を生成し、コンテンツサーバ30に送信することができる。また、秘密鍵生成サーバ20は、ユーザ秘密鍵を生成し、ユーザに配布することができる。
【0163】
(配信用コンテンツ生成動作)
次に、図9を参照(適宜図1及び図4参照)して、コンテンツ配信システム1において、配信用コンテンツを生成する動作について説明する。なお、公開情報は、予め取得しているものとする。
【0164】
まず、コンテンツサーバ30は、暗号化鍵生成手段31によって、コンテンツを暗号化するための暗号化鍵Ksを生成する(ステップS20)。
そして、コンテンツサーバ30は、公開鍵受信手段32によって、暗号化情報生成サーバ10で生成された公開鍵PK(前記(2)式参照)を、イントラネット3を介して受信する(ステップS21)。
【0165】
その後、コンテンツサーバ30は、ヘッダ生成手段33によって、ステップS20で生成した暗号化鍵Ksを、ステップS21で受信した公開鍵PKで暗号化することで、コンテンツに合成するヘッダ(コンテンツ配信ヘッダC;前記(5)式参照)を生成する(ステップS22)。
【0166】
また、コンテンツサーバ30は、コンテンツ受信手段34によって、配信用のコンテンツを外部から受信する(ステップS23)。そして、コンテンツサーバ30は、コンテンツ暗号化手段35によって、ステップS23で受信したコンテンツを、ステップS20で生成した暗号化鍵Ksを用いて、AES等の共通鍵暗号化方式により暗号化する(ステップS24)。
【0167】
その後、コンテンツサーバ30は、ヘッダ合成手段36によって、ステップS24で暗号化されたコンテンツ(暗号化コンテンツ)と、ステップS22で生成されたコンテンツ配信ヘッダCとを合成することで、配信用コンテンツを生成する(ステップS25)。なお、配信用コンテンツは配信用コンテンツ記憶手段37に記憶される。
以上の動作によって、コンテンツサーバ30は、暗号化コンテンツに、ユーザ秘密鍵を用いなければ復号することができないコンテンツ配信ヘッダを合成した配信用コンテンツを生成することができる。
【0168】
(配信用コンテンツ配信動作)
次に、図10を参照(適宜図1、図4乃至図6参照)して、コンテンツ配信システム1において、コンテンツ(配信用コンテンツ)を配信する動作について説明する。
【0169】
まず、ユーザ端末50が、配信用コンテンツ要求手段51によって、ユーザが所望するコンテンツを示すコンテンツ識別情報を含んだコンテンツ要求書を生成し(ステップS30)、コンテンツ配信サーバ40に送信する(ステップS31)。
また、コンテンツ配信サーバ40が、ユーザ要求受信手段41によって、ユーザ端末50からコンテンツ要求書を受信し(ステップS32)、コンテンツ要求送信手段42によって、そのコンテンツ要求書に記載されているコンテンツの識別情報(ファイル名等のコンテンツ識別情報)をコンテンツ要求として、コンテンツサーバ30に送信する(ステップS33)。
【0170】
そして、コンテンツサーバ30が、コンテンツ要求受信手段38によって、コンテンツ配信サーバ40からコンテンツ要求を受信し(ステップS34)、配信用コンテンツ送信手段39によって、該当するコンテンツ(配信用コンテンツ)を配信用コンテンツ記憶手段37から読み出して(ステップS35)、コンテンツ配信サーバ40に送信する(ステップS36)。
【0171】
そして、コンテンツ配信サーバ40が、配信用コンテンツ受信手段43によって、コンテンツサーバ30から配信用コンテンツを受信し(ステップS37)、配信用コンテンツ送信手段44によって、その配信用コンテンツを、要求のあったユーザ端末50に送信する(ステップS38)。
そして、ユーザ端末50が、配信用コンテンツ受信手段52によって、配信用コンテンツを受信する(ステップS39)。
以上の動作によって、コンテンツ配信サーバ40が、要求のあったユーザ端末50に配信用コンテンツを送信(配信)することができる。
【0172】
(配信用コンテンツ復号動作)
次に、図11を参照(適宜図1及び図6参照)して、コンテンツ配信システム1において、コンテンツ(配信用コンテンツ)を復号する動作について説明する。なお、公開情報は、予め取得しているものとする。
【0173】
まず、ユーザ端末50は、配信用コンテンツ受信手段52によって、コンテンツ配信サーバ40から配信用コンテンツを受信する(ステップS40)。そして、ユーザ端末50は、分離手段53によって、配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離する(ステップS41)。
そして、ユーザ端末50は、暗号化鍵復号手段55によって、秘密鍵記憶手段54に記憶されているユーザ秘密鍵dを読み出し(ステップS42)、そのユーザ秘密鍵dに基づいて、ステップS41で分離されたコンテンツ配信ヘッダから暗号化鍵Ksを前記(6)式により復号して抽出する(ステップS43)。
【0174】
そして、ユーザ端末50は、コンテンツ復号手段56によって、ステップS43で復号された暗号化鍵を用いて、暗号化コンテンツを復号する(ステップS44)。この段階で、ユーザは、復号されたコンテンツを視聴することが可能になる。
以上の動作によって、ユーザ端末50は、ユーザ固有のユーザ秘密鍵によって、暗号化鍵を復号し、その暗号化鍵によって、暗号化コンテンツを復号することができる。
【0175】
(ユーザ特定動作)
次に、図12を参照(適宜図7参照)して、コンテンツ配信システム1において、不正なユーザ端末50B(50)を作成したユーザを特定する動作について説明する。なお、公開情報は、予め公開情報記憶手段91に記憶されているものとする。
【0176】
まず、不正ユーザ追跡サーバ90は、変数jを初期化(値“1”)する(ステップS50)。
そして、不正ユーザ追跡サーバ90は、テストデータ生成手段93によって、ユーザ識別子のjビット目をテストするためテストデータを生成する(ステップS51)。
具体的には、不正ユーザ追跡サーバ90は、テストデータ生成手段93のヘッダ生成手段931によって、6つの異なる乱数t,t,t,t′,t′,t′と、暗号化鍵Ksと公開情報記憶手段91に記憶されている公開鍵PKとを用いて、前記(8)式又は(9)式に示すテスト用コンテンツ配信ヘッダCj,1又はCj,0(1≦j≦m;mはユーザ識別子のビット長)を生成する。
【0177】
また、不正ユーザ追跡サーバ90は、テストデータ生成手段93のコンテンツ暗号化手段932によって、コンテンツ記憶手段92に記憶されているテスト用のコンテンツを暗号化鍵Ksで暗号化する。
そして、不正ユーザ追跡サーバ90は、テストデータ生成手段93のヘッダ合成手段933によって、テスト用コンテンツ配信ヘッダCj,1又はCj,0(1≦j≦m)に、暗号化コンテンツを合成することで、テストデータを生成する。
【0178】
その後、不正ユーザ追跡サーバ90は、テストデータ送信手段94によって、変数jのテスト用コンテンツ配信ヘッダCj,1又はCj,0を有するテストデータをユーザ端末50に送信する(ステップS52)。
そして、不正ユーザ追跡サーバ90は、ユーザ端末50がテストデータを復号した復号データ(復号コンテンツ)を、復号データ受信手段95によって受信する(ステップS53)。
【0179】
そして、不正ユーザ追跡サーバ90は、ユーザ識別子特定手段96によって、ステップS53で受信した復号データ(復号コンテンツ)を解析し、ユーザ識別子のjビット目の値を特定する(ステップS54)。
すなわち、ステップS51において、前記(8)式(Cj,1)を使用した場合、ユーザ識別子特定手段96は、ステップS51において使用したコンテンツと、ステップS53で受信した復号データ(復号コンテンツ)とが同一のものであれば、ユーザ識別子のjビット目の値を値“0”、同一でなければ値“1”と特定する。
【0180】
また、ステップS51において、前記(9)式(Cj,0)を使用した場合、ユーザ識別子特定手段96は、ステップS51において使用したコンテンツと、ステップS53で受信した復号データ(復号コンテンツ)とが同一のものであれば、ユーザ識別子のjビット目の値を値“1”、同一でなければ値“0”と特定する。
【0181】
そして、不正ユーザ追跡サーバ90は、変数jが、ユーザ識別子のビット長であるmと一致するか、すなわち、j=mであるか否かを判定する(ステップS55)。
ここで、j=mではない場合(ステップS55で“No”)、不正ユーザ追跡サーバ90は、変数jをインクリメント(+1)し(ステップS56)、ステップS51に戻る。
一方、j=mの場合(ステップS55で“Yes”)、不正ユーザ追跡サーバ90は、ユーザ識別子特定手段96によって、ステップS54で順次特定されたビット値を連結することで、ユーザ識別子を特定する(ステップS57)。
【0182】
そして、不正ユーザ追跡サーバ90は、ユーザ探索手段98によって、ユーザ情報記憶手段97に記憶されているデータベースから、ステップS57で特定されたユーザ識別子に対応するユーザ情報を探索しユーザを特定する(ステップS58)。ここで特定されたユーザが、不正を行ったユーザとして特定されることになる。
以上の動作によって、不正ユーザ追跡サーバ90は、不正に作成されたユーザ端末50が、どのユーザによって作成されたのかを追跡(検出)することができる。
【0183】
以上説明したように、コンテンツ配信システム1は、ユーザ秘密鍵の要素数を固定数とすることが可能なマスタ秘密鍵や、暗号文となるコンテンツ配信ヘッダの要素数をユーザ数の対数に比例する数とすることが可能な公開鍵を生成することができる。
これによって、コンテンツ配信システム1は、ユーザ端末(コンテンツ復号装置)50において保持する秘密鍵のデータ量を削減することができる。また、コンテンツを一斉配信する場合であっても、暗号文となるコンテンツ配信ヘッダの要素数がユーザ数に比例せず、ユーザ数の対数に比例する数であるため、データ量を抑えることができ、ネットワークの負荷を軽減させることができる。
さらに、コンテンツ配信システム1は、ユーザ端末からユーザ(ユーザ識別子)を特定することができるため、ユーザ秘密鍵を複製し、不正に作成されたユーザ端末から、不正なユーザを特定することができる。
【符号の説明】
【0184】
1 コンテンツ配信システム
10 暗号化情報生成サーバ(暗号化情報生成装置)
11 基本情報生成手段
12 マスタ秘密情報生成手段
13 マスタ秘密情報送信手段
14 公開鍵生成手段
15 公開鍵送信手段
20 秘密鍵生成サーバ(秘密鍵生成装置)
21 マスタ秘密情報受信手段
22 マスタ秘密情報記憶手段
23 ユーザ秘密鍵生成手段
24 ユーザ秘密鍵出力手段
30 コンテンツサーバ(配信用コンテンツ生成装置)
31 暗号化鍵生成手段
32 公開鍵受信手段
33 ヘッダ生成手段
34 コンテンツ受信手段
35 コンテンツ暗号化手段
36 ヘッダ合成手段
37 配信用コンテンツ記憶手段
38 コンテンツ要求受信手段
39 配信用コンテンツ送信手段
40 コンテンツ配信サーバ
41 ユーザ要求受信手段
42 コンテンツ要求送信手段
43 配信用コンテンツ受信手段
44 配信用コンテンツ送信手段
50 ユーザ端末(コンテンツ復号装置)
51 配信用コンテンツ要求手段
52 配信用コンテンツ受信手段
53 分離手段
54 秘密鍵記憶手段
55 暗号化鍵復号手段
56 コンテンツ復号手段
90 不正ユーザ追跡サーバ(ユーザ特定装置)
91 公開情報記憶手段
92 コンテンツ記憶手段
93 テストデータ生成手段
94 テストデータ送信手段
95 復号データ受信手段
96 ユーザ識別子特定手段
97 ユーザ情報記憶手段(データベース)
98 ユーザ探索手段

【特許請求の範囲】
【請求項1】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、
基本情報として、素数p,p、並びに、素数pを位数とする群Gの生成元g、及び、素数pを位数とする群Gの生成元gを生成するとともに、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像eを特定し、公開情報(p,g,e,G,G)を生成する基本情報生成手段と、
ユーザを識別するためのユーザ識別子のビット長となる予め定めた正整数をmとして、前記基本情報生成手段で生成された合成数pに応じて、1≦x,x1,0,x1,1,…,xm,0,xm,1<pであるx,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pであるα,β,γ,δとを選択し、前記マスタ秘密情報として、秘密情報(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)と、マスタ秘密鍵msk=(gαβ,g)とを生成するとともに、パラメータparamを、
【数1】

により生成するマスタ秘密情報生成手段と、
このマスタ秘密情報生成手段で生成されたパラメータparamと、前記双線形写像eと、前記秘密情報とから、前記公開鍵PKを、
【数2】

により生成する公開鍵生成手段と、
を備えることを特徴とする暗号化情報生成装置。
【請求項2】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布されるユーザ秘密鍵を生成するためのマスタ秘密情報と、当該ユーザ秘密鍵に対応する公開鍵とを生成するために、コンピュータを、
基本情報として、素数p,p、並びに、素数pを位数とする群Gの生成元g、及び、素数pを位数とする群Gの生成元gを生成するとともに、合成数p=p×pを位数、g=g×gを生成元とする群Gから群Gへの双線形写像eを特定し、公開情報(p,g,e,G,G)を生成する基本情報生成手段、
ユーザを識別するためのユーザ識別子のビット長となる予め定めた正整数をmとして、前記基本情報生成手段で生成された合成数pに応じて、1≦x,x1,0,x1,1,…,xm,0,xm,1<pであるx,x1,0,x1,1,…,xm,0,xm,1と、1≦α,β,γ,δ<pであるα,β,γ,δとを選択し、前記マスタ秘密情報として、秘密情報(g,g,p,p,x,x1,0,x1,1,…,xm,0,xm,1,α,β,γ,δ)と、マスタ秘密鍵msk=(gαβ,g)とを生成するとともに、パラメータparamを、
【数3】

により生成するマスタ秘密情報生成手段、
このマスタ秘密情報生成手段で生成されたパラメータparamと、前記双線形写像eと、前記秘密情報とから、前記公開鍵PKを、
【数4】

により生成する公開鍵生成手段、
として機能させることを特徴とする暗号化情報生成プログラム。
【請求項3】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成する秘密鍵生成装置であって、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化情報生成装置で生成されたマスタ秘密情報である前記秘密情報、前記パラメータparam及び前記マスタ秘密鍵mskと、ユーザを識別するためのユーザ識別子vと、予めZから選択した乱数rv,1,rv,2とから、少なくとも、第1秘密情報、第2秘密情報及び第3秘密情報として、
【数5】

を含んだユーザ秘密鍵dを生成するユーザ秘密鍵生成手段と、
このユーザ秘密鍵生成手段で生成されたユーザ秘密鍵dを出力するユーザ秘密鍵出力手段と、
を備えることを特徴とする秘密鍵生成装置。
【請求項4】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成されたマスタ秘密情報に基づいて、コンテンツ復号装置に配布するユーザ秘密鍵を生成するために、コンピュータを、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化情報生成装置で生成されたマスタ秘密情報である前記秘密情報、前記パラメータparam及び前記マスタ秘密鍵mskと、ユーザを識別するためのユーザ識別子vと、予めZから選択した乱数rv,1,rv,2とから、少なくとも、第1秘密情報、第2秘密情報及び第3秘密情報として、
【数6】

を含んだユーザ秘密鍵dを生成するユーザ秘密鍵生成手段、
このユーザ秘密鍵生成手段で生成されたユーザ秘密鍵dを出力するユーザ秘密鍵出力手段、
として機能させることを特徴とする秘密鍵生成プログラム。
【請求項5】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された公開鍵PKに基づいて、配信用コンテンツを生成する配信用コンテンツ生成装置であって、
前記コンテンツを暗号化する暗号化鍵Ksを生成する暗号化鍵生成手段と、
この暗号化鍵生成手段で生成された暗号化鍵Ksで前記コンテンツを暗号化し、暗号化コンテンツを生成するコンテンツ暗号化手段と、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化鍵生成手段で生成された暗号化鍵Ksと、前記公開鍵PKと、予めZから選択した乱数t,t,tと、ユーザ識別子の中のビット位置を示すインデックスjに基づいて、前記暗号化コンテンツに合成するコンテンツ配信ヘッダCを、
【数7】

により生成するヘッダ生成手段と、
このヘッダ生成手段で生成されたコンテンツ配信ヘッダCと、前記暗号化コンテンツとを合成することで前記配信用コンテンツを生成するヘッダ合成手段と、
を備えることを特徴とする配信用コンテンツ生成装置。
【請求項6】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された公開鍵PKに基づいて、配信用コンテンツを生成するために、コンピュータを、
前記コンテンツを暗号化する暗号化鍵Ksを生成する暗号化鍵生成手段、
この暗号化鍵生成手段で生成された暗号化鍵Ksで前記コンテンツを暗号化し、暗号化コンテンツを生成するコンテンツ暗号化手段、
前記暗号化情報生成装置で生成された公開情報と、前記暗号化鍵生成手段で生成された暗号化鍵Ksと、前記公開鍵PKと、予めZから選択した乱数t,t,tと、ユーザ識別子の中のビット位置を示すインデックスjに基づいて、前記暗号化コンテンツに合成するコンテンツ配信ヘッダCを、
【数8】

により生成するヘッダ生成手段、
このヘッダ生成手段で生成されたコンテンツ配信ヘッダCと、前記暗号化コンテンツとを合成することで前記配信用コンテンツを生成するヘッダ合成手段、
として機能させることを特徴とする配信用コンテンツ生成プログラム。
【請求項7】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項5に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dに基づいて復号するコンテンツ復号装置であって、
前記配信用コンテンツを、前記コンテンツ配信ヘッダCと前記暗号化コンテンツとに分離する分離手段と、
この分離手段で分離されたコンテンツ配信ヘッダCを(j,C,C,CE0,CE1,C,C1,0,C1,1,…,Cm,0,Cm,1)とし、前記ユーザ識別子vに対して前記ユーザ秘密鍵dの前記第1秘密情報、前記第2秘密情報及び前記第3秘密情報が(dv,1,dv,2,dv,3)である場合、請求項1に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像eを用いて、前記コンテンツの暗号化に用いた前記暗号化鍵Ksを、
【数9】

により復号する暗号化鍵復号手段と、
この暗号化鍵復号手段で復号された暗号化鍵Ksで、前記暗号化コンテンツを復号するコンテンツ復号手段と、
を備えることを特徴とするコンテンツ復号装置。
【請求項8】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項5に記載の配信用コンテンツ生成装置で生成された配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dに基づいて復号するために、コンピュータを、
前記配信用コンテンツを、前記コンテンツ配信ヘッダCと前記暗号化コンテンツとに分離する分離手段、
この分離手段で分離されたコンテンツ配信ヘッダCを(j,C,C,CE0,CE1,C,C1,0,C1,1,…,Cm,0,Cm,1)とし、前記ユーザ識別子vに対して前記ユーザ秘密鍵dの前記第1秘密情報、前記第2秘密情報及び前記第3秘密情報が(dv,1,dv,2,dv,3)である場合、請求項1に記載の暗号化情報生成装置で特定され公開情報として公開されている双線形写像eを用いて、前記コンテンツの暗号化に用いた前記暗号化鍵Ksを、
【数10】

により復号する暗号化鍵復号手段、
この暗号化鍵復号手段で復号された暗号化鍵Ksで、前記暗号化コンテンツを復号するコンテンツ復号手段、
として機能させることを特徴とするコンテンツ復号プログラム。
【請求項9】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dを組み込んだ請求項7に記載のコンテンツ復号装置から、前記ユーザ秘密鍵に対応するユーザを特定するユーザ特定装置であって、
暗号化鍵Ksと、請求項1に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の1つである合成数pで特定されるZから選択した6つ異なる乱数t,t,t,t′,t′,t′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数11】

を生成し、テスト用コンテンツを前記暗号化鍵Ksで暗号化した暗号化コンテンツに合成することで前記ユーザ識別子のjビット目をテストするためのテストデータを生成するテストデータ生成手段と、
このテストデータ生成手段で生成されたテストデータを、前記コンテンツ復号装置に送信するテストデータ送信手段と、
前記コンテンツ復号装置から、前記テストデータにより復号したコンテンツを受信する復号データ受信手段と、
この復号データ受信手段で受信したコンテンツと、前記テスト用コンテンツとを、1≦j≦mのすべてのjについて比較し、当該比較結果が一致するか否かに基づいて、前記ユーザ識別子のjビット目の値を特定するユーザ識別子特定手段と、
予め前記ユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、前記ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索するユーザ探索手段と、
を備えることを特徴とするユーザ特定装置。
【請求項10】
コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項3に記載の秘密鍵生成装置で生成されたユーザ秘密鍵dを組み込んだ請求項7に記載のコンテンツ復号装置から、前記ユーザ秘密鍵に対応するユーザを特定するために、コンピュータを、
暗号化鍵Ksと、請求項1に記載の暗号化情報生成装置で生成された公開情報及び公開鍵と、当該公開情報の1つである合成数pで特定されるZから選択した6つ異なる乱数t,t,t,t′,t′,t′とに基づいて、テスト用コンテンツ配信ヘッダとして、
【数12】

を生成し、テスト用コンテンツを前記暗号化鍵Ksで暗号化した暗号化コンテンツに合成することで前記ユーザ識別子のjビット目をテストするためのテストデータを生成するテストデータ生成手段、
このテストデータ生成手段で生成されたテストデータを、前記コンテンツ復号装置に送信するテストデータ送信手段、
前記コンテンツ復号装置から、前記テストデータにより復号したコンテンツを受信する復号データ受信手段、
この復号データ受信手段で受信したコンテンツと、前記テスト用コンテンツとを、1≦j≦mのすべてのjについて比較し、当該比較結果が一致するか否かに基づいて、前記ユーザ識別子のjビット目の値を特定するユーザ識別子特定手段と、
予め前記ユーザ識別子とユーザを特定するユーザ情報とを対応付けたデータベースから、前記ユーザ識別子特定手段で特定されたユーザ識別子に対応するユーザ情報を探索するユーザ探索手段、
として機能させることを特徴とするユーザ特定プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate