JP2004226849A - Enciphering method, device and program for the same, decoding method, device and program for the same, contents distributing server and contents decoding terminal - Google Patents
Enciphering method, device and program for the same, decoding method, device and program for the same, contents distributing server and contents decoding terminal Download PDFInfo
- Publication number
- JP2004226849A JP2004226849A JP2003016602A JP2003016602A JP2004226849A JP 2004226849 A JP2004226849 A JP 2004226849A JP 2003016602 A JP2003016602 A JP 2003016602A JP 2003016602 A JP2003016602 A JP 2003016602A JP 2004226849 A JP2004226849 A JP 2004226849A
- Authority
- JP
- Japan
- Prior art keywords
- data
- content
- encrypted
- power value
- decryption
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
【0001】
【発明の属する技術分野】
本発明は、デジタルデータを暗号化する暗号化技術、並びに、暗号化されたデジタルデータを復号する復号技術に関し、さらにこの暗号化技術及び復号技術を用いたコンテンツ配信サーバ及びコンテンツ復号端末に関する。
【0002】
【従来の技術】
近年、映像や音声等のマルチメディアコンテンツ(以下コンテンツという)が、ネットワーク(インターネット等)上で流通するようになっている。このような環境において、従来、コンテンツの著作権を保護するためには、擬似乱数により暗号鍵を生成した共通鍵暗号方式によってコンテンツの暗号化を行う方法が一般的である(例えば、非特許文献1参照)。
【0003】
この共通鍵暗号方式によってコンテンツの暗号化を行う方法では、暗号化したコンテンツに、暗号化に使用した鍵の一部の情報や、コンテンツ利用条件等のコンテンツに関連する情報等を付加して配信するパッケージサーバと、暗号化されたコンテンツを復号するための復号鍵情報をコンテンツの正規利用者に対して発行するライセンスサーバとが、予め安全な通信手段を用いて暗号鍵を生成するためのライセンスシードを共有しておかなければならない。また、パッケージサーバには暗号化に関するすべての情報が集中しているため、ライセンスサーバの利用許諾を受けることなく、ライセンスシード等の秘密情報を悪用し、不正利用者に対してコンテンツの暗号復号鍵を不当に流出させてしまう恐れがあった。
【0004】
このような問題に対して、本願出願人は、ID−Based暗号方式と呼ばれる技術を用いて、パッケージサーバとライセンスサーバとを独立に運用する手法を提案(出願)した(「コンテンツ配信システム」特願2002−268285)。
【0005】
ここで、図12を参照してID−Based暗号方式を用いてコンテンツを配信する手法について説明する。図12は、ID−Based暗号方式を用いてコンテンツの配信を行うコンテンツ配信システム1Bの構成を示すブロック図である。
【0006】
図12に示すように、コンテンツ配信システム1Bは、配信するコンテンツに識別子を割り当てるコンテンツサーバ10と、暗号化されたコンテンツを復号するための復号鍵情報やコンテンツの利用条件等の情報をコンテンツの正規利用者に対して発行するライセンスサーバ20Bと、配信するコンテンツを暗号化し、その暗号化したコンテンツに暗号化に使用した鍵の一部の情報やコンテンツ利用条件等のコンテンツに関連する情報を付加して配信するパッケージサーバ(コンテンツ配信サーバ)30Bと、コンテンツを視聴/閲覧するユーザ端末40Bとが、ネットワーク(例えばインターネット3)に接続されて構成されている。
【0007】
このコンテンツ配信システム1Bでは、コンテンツサーバ10が、配信するコンテンツに識別子(識別情報)を割り当て、その識別子をライセンスサーバ20Bとパッケージサーバ30Bとに送信する。
ライセンスサーバ20Bは、ライセンスサーバ20Bの秘密情報を使用してライセンスサーバ公開情報を作成し、公開するとともにパッケージサーバ30Bへ送信する。
【0008】
パッケージサーバ(コンテンツ配信サーバ)30Bは、擬似乱数を使用してパッケージサーバ公開情報を作成し、公開情報として公開する。さらに、パッケージサーバ30Bは、配信するコンテンツに対して、ライセンスサーバ20Bが公開したライセンスサーバ公開情報と擬似乱数とを用いて、ID−Based暗号方式(例えば、Boneh,Franklin方式)により暗号化を行い暗号化コンテンツを作成する。そして、パッケージサーバ30Bは、暗号化コンテンツと、コンテンツの識別子と、パッケージサーバ公開情報とを合成したパッケージを作成し、コンテンツを要求したユーザ端末40Bへ送信する。
【0009】
このパッケージ(暗号化コンテンツを含む)を受信したユーザ端末40Bは、パッケージを分離して、暗号化コンテンツ、コンテンツの識別子及びパッケージサーバ公開情報を取得し、取得したコンテンツの識別子をライセンスサーバ20Bへ送信し、暗号化コンテンツを復号するための情報を要求する。
【0010】
ライセンスサーバ20Bは、ユーザ端末40Bからコンテンツの識別子を受信すると、ユーザ認証をユーザ端末40Bに要求する。
このユーザ認証を要求されたユーザ端末40Bは、ユーザに対してパスワードやクレジットカード番号等の認証情報を入力させ、入力された認証情報をライセンスサーバ20Bへ送信する。
【0011】
そして、ライセンスサーバ20Bは、ユーザ端末40Bから送信された認証情報に基づいてユーザ認証を行い、正当なユーザであると確認された場合にのみ、秘密情報とコンテンツの識別子とを使用して秘密鍵(復号鍵)を作成し、ユーザ端末40Bへ送信する。
【0012】
この秘密鍵を受信したユーザ端末40Bは、秘密鍵とパッケージサーバ公開情報とを使用して、暗号化コンテンツを復号し、コンテンツを取得する。
このように、ID−Based暗号方式を用いてコンテンツを配信する場合、ライセンスサーバとパッケージサーバとの間で、公開情報以外の情報交換を行う必要がなく、それぞれのサーバを独立に運用することが可能になる。
【0013】
【非特許文献1】
ウォーウィック・フォード、マイケル・バウム著、山田慎一郎訳
「ディジタル署名と暗号技術」第2版、株式会社ピアソン・エデュケーション、2001年10月10日、p.75−117
【0014】
【発明が解決しようとする課題】
しかし、前記従来のID−Based暗号方式を用いてコンテンツを配信する手法は、ライセンスサーバとパッケージサーバとの間で、公開情報以外の情報交換を行う必要がないため、ライセンスサーバとパッケージサーバとの通信や秘密情報管理に関わるコストを低減できる点においては優れているが、以下のような問題を含んでいる。
【0015】
すなわち、現在知られているID−Based暗号方式は、本来存在し得ない理想的な関数の存在と、Bilinear Deffie−Hellman問題と呼ばれる特殊な数論的問題を解く困難性を前提としたものであるため、その安全性については必ずしも信頼できるものではない。このため、ID−Based暗号方式によって暗号化されたコンテンツは、不正に解読される危険性を含んでいる。
【0016】
本発明は、以上のような問題点に鑑みてなされたものであり、ライセンスサーバとパッケージサーバとの間で秘密情報を共有せず、それぞれ独立に運用し、かつ、暗号化コンテンツの不正利用(不正解読)を低減させる暗号化方法、その装置及びそのプログラム、並びに、復号方法、その装置及びそのプログラム、並びに、コンテンツ配信サーバ及びコンテンツ復号端末を提供することを目的とする。
【0017】
【課題を解決するための手段】
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の暗号化方法は、予め公開された公開情報に基づいて、デジタルデータを暗号化する暗号化方法であって、前記公開情報は、特定の位数により巡回群となる群と、その群の要素である第一元及び第二元と、前記第一元及び前記第二元を、それぞれ予め定めた多項式の係数によりべき乗して生成される生成値とを備え、この公開された前記群、前記第一元、前記第二元及び前記生成値と、前記デジタルデータを識別するための識別情報とに基づいて、前記デジタルデータを演算し、暗号化データを生成することを特徴とする。
【0018】
この方法によれば、予め定めた多項式の係数を指数(べき指数)として、特定の位数により巡回群となる群の要素である第一元及び第二元をべき乗して生成した生成値を、群、第一元及び第二元とともに公開情報として公開する。そして、公開情報と、デジタルデータを識別するための識別情報とに基づいて、演算を行うことでデジタルデータを暗号化した暗号化データを生成する。この識別情報には、デジタルデータ固有の情報、例えばファイル名、コンテンツ名等を用いることができる。このように、暗号化する側では、公開情報以外の情報を他の装置(サーバ)等から取得する必要がない。
【0019】
ここでは、公開情報である生成値を生成するための多項式そのものは公開していない。このため、例えば、デジタルデータを配信する側が、配信するデジタルデータの識別情報に基づいて、多項式を演算した結果を暗号化データの復号鍵として用いることが可能になる。また、巡回群を用いることで、暗号化側と復号側とで、既知の暗号化方式であるElGamal暗号化方式や、Deffie−Hellman鍵配送と同様な手法を用いることができ、復号側で巡回群の要素である第一元及び第二元と、復号鍵とにより暗号化データを復号することが可能になる。なお、巡回群とは、集合{c,c2,…,cn−1,cn=e}となる集合であって、n乗すると単位元(e)になるものをいう。このnを特に位数という。
【0020】
また、請求項2に記載の暗号化方法は、予め公開された、特定の位数(q)により巡回群となる群(G)と、その群(G)の要素である第一元(g1)及び第二元(g2)と、多項式{fi(λ):=Σt j=0ai,jλj}(1≦ai,j≦qの整数、i=1,2,3,4,5,6、1≦tの整数)から、
【0021】
【数15】
【0022】
前記(1)式により生成された生成値(ui,j)とからなる公開情報に基づいて、デジタルデータ(m)を暗号化した、暗号化データ(c)を生成する暗号化方法であって、前記公開情報と、前記デジタルデータ(m)を識別するための識別情報(id)と、前記位数(q)以下の予め定めた正整数である指数(r)とから、
【0023】
【数16】
【0024】
前記(2)式(但し、κ:=H(id,α,β,γ)、Hはハッシュ関数)により第一元べき乗値(α)、第二元べき乗値(β)、変換データ(γ)及び復号認証データ(δ)を生成するデータ生成ステップと、このデータ生成ステップで生成された第一元べき乗値(α)、第二元べき乗値(β)、変換データ(γ)及び復号認証データ(δ)を合成し、前記暗号化データ(c)とするデータ合成ステップと、を含んでいることを特徴とする。
【0025】
この方法によれば、暗号化方法は、データ生成ステップで、公開情報として公開されている特定の位数により巡回群となる群と、その群の要素である第一元及び第二元と、予め定めた多項式の係数から生成される生成値と、デジタルデータを識別するための識別情報と、位数以下の予め定めた正整数である指数とに基づいて、第一元べき乗値、第二元べき乗値、変換データ及び復号認証データを生成する。
【0026】
ここで、変換データは、デジタルデータそのものを変換したデータであって、暗号化データの実体となるものである。また、第一元べき乗値及び第二元べき乗値は、復号側で、変換データを元のデジタルデータに変換するために用いられるデータである。
【0027】
また、復号認証データは、暗号化データが正当な手続き(このデータ生成ステップ)によって生成されたものであることを特定するためのデータである。すなわち、この復号認証データによって、復号側で、暗号化データ(c)の正当性を判定することが可能になる。
【0028】
そして、データ合成ステップで、第一元べき乗値、第二元べき乗値、変換データ及び復号認証データを合成することで、暗号化データを生成する。なお、暗号化データの正当性の判定を必要としない簡易な暗号化の場合では、第一元べき乗値、第二元べき乗値及び変換データのみを合成することで、暗号化データを生成することとしてもよい。
【0029】
なお、生成値をf1(λ)〜f6(λ)の6つの多項式から生成するのは、R.Cramer and V.Shoup,”A Practical public key cryptosystem provably secure against adaptive chosen ciphertext attack”,in proc. Crypto ’98,pp.13−25.により、暗号化データの不正解読に対する安全性が証明されていることによる。
【0030】
さらに、請求項3に記載の復号方法は、請求項2に記載の暗号化方法によってデジタルデータ(m)を暗号化した暗号化データ(c)を、前記デジタルデータ(m)を識別するための識別情報(id)に基づいて前記多項式から算出された復号鍵{fi(id)}(i=1,2,3,4,5,6)により復号する復号方法であって、前記識別情報(id)と、前記暗号化データ(c)に含まれる第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)とから、
【0031】
【数17】
【0032】
前記(3)式(但し、κ´:=H(id,α,β,γ)、Hはハッシュ関数)により比較認証データ(δ´)を生成する比較認証データ生成ステップと、この比較認証データ生成ステップで生成された比較認証データ(δ´)と、前記暗号化データ(c)に含まれる復号認証データ(δ)とを比較することで、前記暗号化データ(c)が正当な手続きによって生成されたものかどうかを認証する比較認証ステップと、この比較認証ステップで前記暗号化データ(c)が正当な手続きによって生成されたものと判定された場合に、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
【0033】
【数18】
【0034】
前記(4)式により前記デジタルデータ(m)を生成する復号データ生成ステップと、を含んでいることを特徴とする。
【0035】
この方法によれば、復号方法は、比較認証データ生成ステップで、デジタルデータを識別するための識別情報と、暗号化データに含まれる第一元べき乗値、第二元べき乗値及び変換データとから、暗号化データが正当な手続きによって生成されたものであるかどうかを認証するための比較認証データを生成する。この比較認証データは、暗号化データが正当な手続きによって生成されたものである場合は、暗号化データに含まれる復号認証データと等しくなるため、比較認証ステップで、その比較を行うことで暗号化データの正当性を認証することが可能になる。そして、暗号化データが正当なものである場合にのみ、復号データ生成ステップで、復号鍵により、暗号化データに含まれる変換データからデジタルデータを生成する。
【0036】
また、請求項4に記載の暗号化装置は、予め公開された、特定の位数(q)より巡回群となる群(G)と、その群(G)の要素である第一元(g1)及び第二元(g2)と、多項式{fi(λ):=Σt j=0ai,jλj}(1≦ai,j≦qの整数、i=1,2,3,4,5,6、1≦tの整数)から、
【0037】
【数19】
【0038】
前記(1)式により生成された生成値(ui,j)とからなる公開情報に基づいて、デジタルデータ(m)を暗号化した、暗号化データ(c)を生成する暗号化装置であって、前記位数(q)以下の予め定めた正整数を指数(r)として、前記第一元(g1)及び前記第二元(g2)をべき乗し、第一元べき乗値(α)及び第二元べき乗値(β)を生成するべき乗値生成手段と、前記デジタルデータ(m)を識別するための識別情報(id)、前記指数(r)及び前記生成値(ui,j)から、
【0039】
【数20】
【0040】
前記(5)式により前記デジタルデータ(m)を変換した変換データ(γ)を生成する変換データ生成手段と、前記第一元べき乗値(α)、前記第二元べき乗値(β)及び前記変換データ(γ)を合成し、前記暗号化データ(c)とするデータ合成手段と、を備えていることを特徴とする。
【0041】
かかる構成によれば、暗号化装置は、べき乗値生成手段によって、特定の位数により巡回群となる群の要素である第一元及び第二元を、その位数以下の予め定めた正整数を指数としてべき乗して、第一元べき乗値及び第二元べき乗値を生成する。そして、変換データ生成手段によって、デジタルデータを変換した変換データを生成する。なお、変換データは、デジタルデータを識別するための識別情報と、群の位数以下で選択された指数と、公開情報として公開された生成値とから算出され、暗号化データの実体となるものである。なお、第一元べき乗値及び第二元べき乗値は、復号側で、この変換データを元のデジタルデータに変換するために用いられる。そして、データ合成手段によって、第一元べき乗値、第二元べき乗値及び変換データを合成して暗号化データとする。
【0042】
このように、暗号化装置は、デジタルデータ固有の識別情報と、暗号化する側で選択した指数と、公開情報とによって暗号化を行うため、ライセンスサーバ等のデジタルデータの権利を管理する装置(サーバ)と秘密情報を通信する必要がなく、独立して暗号化を行うことが可能になる。
【0043】
さらに、請求項5に記載の暗号化装置は、請求項4に記載の暗号化装置において、前記識別情報(id)、前記第一元べき乗値(α)、前記第二元べき乗値(β)及び前記変換データ(γ)から、特定の長さの情報となるハッシュ値(κ)を生成するハッシュ値生成手段と、前記識別情報(id)、前記指数(r)、前記ハッシュ値(κ)及び前記生成値(ui,j)から、
【0044】
【数21】
【0045】
前記(6)式(但し、κ:=H(id,α,β,γ)、Hはハッシュ関数)により復号認証データ(δ)を生成する復号認証データ生成手段とを備え、前記データ合成手段が、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び復号認証データ(δ)を合成し、前記暗号化データ(c)とすることを特徴とする。
【0046】
かかる構成によれば、暗号化装置は、ハッシュ値生成手段によって、識別情報、第一元べき乗値、第二元べき乗値及び変換データから、SHA(SecureHash Algorithm)等のハッシュ関数によって一定長のデータとなるハッシュ値を計算する。そして、復号認証データ生成手段によって、デジタルデータ固有の識別情報と、暗号化する側で選択した指数と、ハッシュ値と、公開情報である生成値とに基づいて、復号認証データを生成する。この復号認証データは、暗号化データが正当な手続きによって生成されたものであることを特定するためのデータとなる。
【0047】
そして、データ合成手段によって、第一元べき乗値、第二元べき乗値及び変換データに、さらに復号認証データを付加して暗号化データとする。これによって、復号側で、暗号化データの正当性を判定することが可能になる。
【0048】
また、請求項6に記載の暗号化プログラムは、予め公開された、特定の位数(q)により巡回群となる群(G)と、その群(G)の要素である第一元(g1)及び第二元(g2)と、多項式{fi(λ):=Σt j=0ai,jλj}(1≦ai,j≦qの整数、i=1,2,3,4,5,6、1≦tの整数)から、
【0049】
【数22】
【0050】
前記(1)式により生成された生成値(ui,j)とからなる公開情報に基づいて、デジタルデータ(m)を暗号化した、暗号化データ(c)を生成するために、コンピュータを、以下の手段によって機能させる構成とした。
【0051】
すなわち、前記位数(q)以下の予め定めた正整数を指数(r)として、前記第一元(g1)及び前記第二元(g2)をべき乗し、第一元べき乗値(α)及び第二元べき乗値(β)を生成するべき乗値生成手段、前記デジタルデータ(m)を識別するための識別情報(id)、前記指数(r)及び前記生成値(ui,j)から、
【0052】
【数23】
【0053】
前記(5)式により前記デジタルデータ(m)を変換した変換データ(γ)を生成する変換データ生成手段、前記第一元べき乗値(α)、前記第二元べき乗値(β)及び前記変換データ(γ)を合成し、前記暗号化データ(c)とするデータ合成手段、とした。
【0054】
かかる構成によれば、暗号化プログラムは、べき乗値生成手段によって、特定の位数により巡回群となる群の要素である第一元及び第二元を、その位数以下の予め定めた正整数を指数としてべき乗して、第一元べき乗値及び第二元べき乗値を生成する。そして、変換データ生成手段によって、デジタルデータを変換した変換データを生成する。なお、変換データは、デジタルデータを識別するための識別情報と、群の位数以下で選択された指数と、公開情報として公開された生成値とから算出され、暗号化データの実体となるものである。なお、第一元べき乗値及び第二元べき乗値は、復号側で、この変換データを元のデジタルデータに変換するために用いられる。そして、データ合成手段によって、第一元べき乗値、第二元べき乗値及び変換データを合成して暗号化データとする。
【0055】
このように、コンピュータを前記した各手段として機能させることで、暗号化プログラムは、一般的なパーソナルコンピュータ、ワークステーション等で動作させることができる。
【0056】
さらに、請求項7に記載の復号装置は、請求項4に記載の暗号化装置によってデジタルデータ(m)を暗号化した暗号化データ(c)を、前記デジタルデータ(m)を識別するための識別情報(id)に基づいて前記多項式から算出された復号鍵{fi(id)}(i=1,2,3,4,5,6)により復号する復号装置であって、前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)に分割するデータ分割手段と、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
【0057】
【数24】
【0058】
前記(4)式により前記デジタルデータ(m)を生成する復号データ生成手段と、を備えていることを特徴とする。
【0059】
かかる構成によれば、復号装置は、データ分割手段によって、暗号化データを、第一元べき乗値、第二元べき乗値及び変換データに分割し、復号データ生成手段によって、第一元べき乗値、第二元べき乗値及び復号鍵により変換データを変換(復号)してデジタルデータとする。これによって、請求項4に記載の暗号化装置によって暗号化された暗号化データを、復号することができる。
【0060】
また、請求項8に記載の復号装置は、請求項5に記載の暗号化装置によってデジタルデータ(m)を暗号化した暗号化データ(c)を、前記デジタルデータ(m)を識別するための識別情報(id)に基づいて前記多項式から算出された復号鍵{fi(id)}(i=1,2,3,4,5,6)により復号する復号装置であって、前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)、変換データ(γ)及び復号認証データ(δ)に分割するデータ分割手段と、前記識別情報(id)と、前記データ分割手段で分割された第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)とから、特定の長さの情報となる認証用ハッシュ値(κ´)を生成する認証用ハッシュ値生成手段と、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記認証用ハッシュ値(κ´)及び前記復号鍵{fi(id)}から、
【0061】
【数25】
【0062】
前記(3)式(但し、κ´:=H(id,α,β,γ)、Hはハッシュ関数)により比較認証データ(δ´)を生成する比較認証データ生成手段と、この比較認証データ生成手段で生成された比較認証データ(δ´)と、前記復号認証データ(δ)とを比較することで、前記暗号化データ(c)が正当な手続きによって生成されたものかどうかを認証する比較認証手段と、この比較認証手段の判定結果に基づいて、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
【0063】
【数26】
【0064】
前記(4)式により前記デジタルデータ(m)を生成する復号データ生成手段と、を備えていることを特徴とする。
【0065】
かかる構成によれば、復号装置は、データ分割手段によって、暗号化データを、第一元べき乗値、第二元べき乗値、変換データ及び復号認証データに分割する。そして、認証用ハッシュ値生成手段によって、デジタルデータ固有の識別情報と、第一元べき乗値、第二元べき乗値及び変換データとから、SHA(Secure Hash Algorithm)等のハッシュ関数により一定長のデータである認証用ハッシュ値を生成する。このハッシュ関数は、暗号化装置で復号認証データを生成する際に用いたハッシュ関数と同じ関数とする。
【0066】
そして、比較認証データ生成手段によって、比較認証データを生成する。この復号装置で生成した比較認証データは、暗号化データが正当な手続きによって生成されたものである場合は、復号認証データと同一の値となるものである。そこで、比較認証手段によって、比較認証データと復号認証データとを比較することで、暗号化データが正当な手続きによって生成されたものである場合にのみ、復号データ生成手段によってデジタルデータを生成(復号)する。これにより、この復号装置は、請求項5に記載の暗号化装置によって暗号化された暗号化データの正当性を認証し、正当なものである場合にのみ復号することができる。
【0067】
さらに、請求項9に記載の復号プログラムは、請求項6に記載の暗号化プログラムによってデジタルデータ(m)を暗号化した暗号化データ(c)を、前記デジタルデータ(m)を識別するための識別情報(id)に基づいて前記多項式から算出された復号鍵{fi(id)}(i=1,2,3,4,5,6)により復号するために、コンピュータを、以下の手段によって機能させる構成とした。
すなわち、前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)に分割するデータ分割手段、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
【0068】
【数27】
【0069】
前記(4)式により前記デジタルデータ(m)を生成する復号データ生成手段、とした。
【0070】
かかる構成によれば、復号プログラムは、データ分割手段によって、暗号化データを、第一元べき乗値、第二元べき乗値及び変換データに分割し、復号データ生成手段によって、第一元べき乗値、第二元べき乗値及び復号鍵により変換データを変換(復号)してデジタルデータとする。これによって、請求項6に記載の暗号化プログラムによって暗号化された暗号化データを、復号することができる。
【0071】
また、請求項10に記載のコンテンツ配信サーバは、デジタルデータであるコンテンツのライセンス情報を提供するライセンスサーバによって、予め公開された、特定の位数(q)により巡回群となる群(G)と、前記群(G)の要素である第一元(g1)及び第二元(g2)と、多項式{fi(λ):=Σt j=0ai,jλj}(1≦ai,j≦qの整数、i=1,2,3,4,5,6、1≦tの整数)から、
【0072】
【数28】
【0073】
前記(1)式により生成された生成値(ui,j)とからなる公開情報に基づいて、前記コンテンツを暗号化した暗号化データである暗号化コンテンツを生成し配信するコンテンツ配信サーバであって、前記公開情報を前記ライセンスサーバから取得する公開情報取得手段と、前記位数以下の正整数を指数として選択する指数選択手段と、前記公開情報と、前記コンテンツを識別する識別情報と、前記指数とに基づいて、前記コンテンツを暗号化して暗号化コンテンツを生成する請求項4又は請求項5に記載の暗号化装置と、この暗号化装置で生成された暗号化データである暗号化コンテンツを蓄積する暗号化コンテンツ蓄積手段と、端末から要求のあった暗号化コンテンツを前記暗号化コンテンツ蓄積手段から読み込んで前記端末へ送信するコンテンツ送信手段と、を備えていることを特徴とする。
【0074】
かかる構成によれば、コンテンツ配信サーバは、公開情報取得手段によって、公開情報として公開されている特定の位数により巡回群となる群と、その群の要素である第一元及び第二元と、予め定めた多項式の係数から生成される生成値とを取得する。そして、指数選択手段によって、群の位数以下の正整数を指数として選択する。この指数はコンテンツ配信サーバ内で任意に選択したものであればよく、例えば、擬似乱数発生装置によって生成した擬似乱数とすることで、暗号化コンテンツの秘匿性を高めることができる。
【0075】
そして、コンテンツ配信サーバは、公開情報と群の位数以下の指数とコンテンツを識別する識別情報とに基づいて、暗号化装置によりコンテンツを暗号化し、その暗号化された暗号化コンテンツを暗号化コンテンツ蓄積手段に蓄積する。この暗号化コンテンツ蓄積手段に蓄積された暗号化コンテンツは、コンテンツ送信手段によって要求のあった端末に対して送信される。
【0076】
このように、コンテンツ配信サーバは、デジタルデータであるコンテンツ固有の識別情報と、暗号化する側で選択した指数と、公開情報とによって暗号化を行うため、コンテンツの権利を管理するライセンスサーバと秘密情報を通信する必要がなく、独立して暗号化を行うことが可能になる。
【0077】
さらに、請求項11に記載のコンテンツ復号端末は、請求項10に記載のコンテンツ配信サーバによって暗号化された暗号化データである暗号化コンテンツを、デジタルデータであるコンテンツを識別するための識別情報と、ライセンスサーバから取得した前記多項式から算出された復号鍵とに基づいて、前記コンテンツに復号するコンテンツ復号端末であって、前記暗号化コンテンツを前記コンテンツ配信サーバから取得する暗号化コンテンツ取得手段と、前記復号鍵を含んだライセンス情報を前記ライセンスサーバから取得するライセンス情報取得手段と、前記暗号化コンテンツを、前記識別情報及び前記復号鍵に基づいて前記コンテンツに復号する請求項7又は請求項8に記載の復号装置と、を備えていることを特徴とする。
【0078】
かかる構成によれば、コンテンツ復号端末は、暗号化コンテンツ取得手段によって、ユーザが所望する暗号化コンテンツをコンテンツ配信サーバから取得し、ライセンス情報取得手段によって、ライセンスサーバから暗号化コンテンツを復号するための復号鍵を含んだライセンス情報を取得する。このライセンス情報には、コンテンツの利用条件を付加することとしてもよい。
そして、復号装置によって、コンテンツ固有の識別情報と復号鍵とに基づいて、暗号化コンテンツを復号する。
【0079】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
[コンテンツ配信システムの構成]
まず、図1を参照して、本発明の実施の形態であるコンテンツ配信システム1の構成について説明する。図1は、コンテンツ配信システム1の構成を示すブロック図である。コンテンツ配信システム1は、コンテンツサーバ10と、ライセンスサーバ20と、コンテンツ配信サーバ30と、ユーザ端末(コンテンツ復号端末)40とを、インターネット3等のネットワークを介して接続し、ユーザが所望するコンテンツをユーザ端末40に配信するシステムである。
【0080】
コンテンツサーバ10は、図示していない記憶手段に複数のコンテンツを保持し、そのコンテンツにコンテンツを識別するための識別情報を割り当てる(対応付ける)ものである。例えば、識別情報として、コンテンツ固有のコンテンツ名やファイル名を割り当てる。また、このコンテンツサーバ10は、コンテンツ配信サーバ30からの識別情報を含んだ要求に基づいて、要求されたコンテンツをコンテンツ配信サーバ30へ送信するものでもある。
【0081】
ライセンスサーバ20は、コンテンツサーバ10に保持されているコンテンツのライセンスを管理するものである。より詳細には、ライセンスサーバ20は、コンテンツを暗号化するための情報をシステム全体の公開情報inf(記憶手段21に記憶)として公開するとともに、ユーザ端末40からの要求に基づいて、ユーザのコンテンツの利用条件や、暗号化されたコンテンツの復号鍵を含んだライセンス情報を発行するものである。なお、この公開情報infについては後記する。
【0082】
コンテンツ配信サーバ30は、ユーザ端末40から要求のあったコンテンツをコンテンツサーバ10から取得し、ライセンスサーバ20が公開している公開情報infに基づいて、そのコンテンツを暗号化してユーザ端末40に配信するものである。このコンテンツ配信サーバ30は、コンテンツを暗号化する暗号化手段(暗号化装置)34を含んでいる。
【0083】
ユーザ端末(コンテンツ復号端末)40は、ユーザが所望するコンテンツ(暗号化コンテンツ)をコンテンツ配信サーバ30から取得し、さらに、ライセンスサーバ20からライセンス情報を取得し、そのライセンス情報に含まれる復号鍵に基づいて、暗号化コンテンツを復号することで、コンテンツをユーザに提示するものである。このユーザ端末40は、復号手段(復号装置)44を含んでいる。
【0084】
(コンテンツの暗号化及び復号の概要)
ここで、コンテンツ配信システム1におけるコンテンツの暗号化及び復号について、その概要を説明する。
【0085】
<公開情報の公開>
ライセンスサーバ20では、予め特定の位数(qとする)により巡回群となる群Gと、その群Gの任意の二つの要素である第一元g1及び第二元g2と、Zq(1〜qの整数)上の多項式((7)式)とを選択する。
【0086】
fi(λ):=Σt j=0ai,jλj(1≦ai,j≦qの整数、i=1,2,3,4,5,6、1≦tの整数) …(7)式
【0087】
そして、この(7)式の係数であるai,jを用いて(1)式により生成値ui,jを算出し、群G、第一元g1、第二元g2及び生成値ui,jを公開情報infとして公開する。
【0088】
【数29】
【0089】
<復号鍵の生成>
なお、ライセンスサーバ20は、前記(7)式そのものは公開せず、ライセンスサーバ20の秘密情報として記憶手段21に記憶しておく。そして、ライセンスサーバ20は、ユーザ端末40から、あるコンテンツのライセンス要求があった段階で、前記(7)式により復号鍵を生成する。すなわち、コンテンツの識別情報をid、復号鍵をDmとすると、復号鍵は(8)式で算出される。
【0090】
Dm={fi(id)}(i=1,2,3,4,5,6) …(8)式
【0091】
<コンテンツの暗号化>
コンテンツ配信サーバ30では、公開情報infに基づいて、コンテンツの暗号化を行う。このときコンテンツ配信サーバ30は、公開情報infを参照することにより、(2)式の演算を行う。ここで、idはコンテンツの識別情報、mはコンテンツのデータ、rはZqから選択した擬似乱数(指数)を示す。また、κはHをハッシュ関数とし、κ:=H(id,α,β,γ)として得られる値とする。
【0092】
【数30】
【0093】
そして、コンテンツ配信サーバ30は、この(2)式で生成されたα、β、γ及びδを合成して暗号化コンテンツとする。この暗号化コンテンツは、ユーザ端末40へ配信される。
【0094】
<暗号化コンテンツの復号>
ユーザ端末40では、ライセンスサーバ20から暗号化コンテンツの復号鍵を取得し、コンテンツ配信サーバ30から配信された暗号化コンテンツの復号を行う。ここで、ユーザ端末40は、暗号化コンテンツに含まれるα、β及びγと、コンテンツの識別情報idから、(3)式によって、比較認証データであるδ´を算出する。
【0095】
【数31】
【0096】
なお、κ´はHをハッシュ関数とし、κ´:=H(id,α,β,γ)として得られる値とする。また、前記(3)式のκ´を生成するために使用したハッシュ関数Hは、前記(2)式のκを生成するために使用したハッシュ関数Hと同じハッシュ値を発生させる関数とする。
【0097】
ユーザ端末40は、前記(3)式で算出したδ´と、前記(2)式で算出したδとを比較して、同一である場合のみ、(4)式によって、暗号化コンテンツをコンテンツmに復号し、ユーザに視聴/閲覧可能なデータとして提示する。
【0098】
【数32】
【0099】
以上、コンテンツ配信システム1におけるコンテンツの暗号化及び復号の概要について説明した。以下、コンテンツ配信システム1においてコンテンツの暗号化を行うコンテンツ配信サーバ30、及び、復号を行うユーザ端末40について詳細に説明する。
【0100】
(コンテンツ配信サーバの構成)
まず、図2を参照(適宜図1参照)して、コンテンツ配信サーバ30の構成について説明する。図2は、コンテンツ配信サーバ30の構成を示したブロック図である。図2に示すように、コンテンツ配信サーバ30は、公開情報infに基づいて、コンテンツmを暗号化し、暗号化したコンテンツ(暗号化コンテンツc)を、要求のあったユーザ端末40へ配信するものである。なお、コンテンツmは、群Gに属したデータ(m∈G)であるものとする。
【0101】
ここでは、コンテンツ配信サーバ30を、コンテンツ受信手段31と、公開情報取得手段32と、指数選択手段33と、暗号化手段(暗号化装置)34と、暗号化コンテンツ蓄積手段35と、コンテンツ配信受付手段36と、コンテンツ送信手段37とを備えて構成した。
【0102】
コンテンツ受信手段31は、コンテンツサーバ10から、コンテンツmとそのコンテンツmを識別する識別情報idとをネットワーク(インターネット3)を介して受信するものである。ここで受信したコンテンツm及び識別情報idは暗号化手段34に通知される。
【0103】
公開情報取得手段32は、ライセンスサーバ20が公開している公開情報infをネットワーク(インターネット3)を介して取得するものである。この公開情報取得手段32は、公開情報infとして公開されている群G、第一元g1、第二元g2及び生成値ui,jを取得し、群Gを指数選択手段33へ、第一元g1、第二元g2及び生成値ui,jを暗号化手段34へそれぞれ通知するものとする。
【0104】
指数選択手段33は、公開情報取得手段32から通知される群Gの位数qにより、1からqの範囲の整数で、暗号化手段34で使用する指数(べき指数)rを選択するものである。ここでは、指数選択手段33を、1からqの範囲の整数で擬似乱数を発生させる擬似乱数発生装置とする。なお、この指数rは暗号化手段34に通知される。
【0105】
暗号化手段(暗号化装置)34は、コンテンツ受信手段31で受信した識別情報idと、公開情報取得手段32で取得した公開情報である第一元g1、第二元g2及び生成値ui,jと、指数選択手段33で選択された指数rとに基づいて、コンテンツmを暗号化した暗号化コンテンツcを生成するものである。ここで生成された暗号化コンテンツcは、識別情報idに対応付けられて暗号化コンテンツ蓄積手段35に蓄積される。この暗号化手段(暗号化装置)34については、後でさらに詳細に説明する。
【0106】
暗号化コンテンツ蓄積手段35は、暗号化手段34で暗号化された暗号化コンテンツcを蓄積するもので、一般的なハードディスク等で構成されている。
コンテンツ配信受付手段36は、ユーザ端末40から送信されるコンテンツの配信要求reqを受け付けるものである。ここで受け付けた配信要求reqは、コンテンツ送信手段37に通知される。なお、この配信要求reqには、コンテンツを識別するための識別情報idを含んでいるものとする。
【0107】
コンテンツ送信手段37は、コンテンツ配信受付手段36から通知された配信要求reqに基づいて、その配信要求reqに含まれる識別情報idによって指定されたコンテンツ(暗号化コンテンツc)を、暗号化コンテンツ蓄積手段35から読み込んで、ユーザ端末40へ送信するものである。
【0108】
以上、説明したようにコンテンツ配信サーバ30を構成することで、コンテンツ配信サーバ30は、ライセンスサーバ20の公開情報によってコンテンツmを暗号化するため、ライセンスサーバ20との間で暗号化鍵等の秘密情報を送受信する必要がなく、ライセンスサーバ20とは機能を独立させて実現することができる。
【0109】
また、ここではコンテンツmを群Gに属するデータに制限したが、コンテンツmを一般的な暗号化方式によるセッション鍵Ks(図示せず)を用いて暗号化する場合は、そのセッション鍵Ksを群Gに属したデータ(Ks∈G)とし、セッション鍵Ksでコンテンツmを暗号化し、コンテンツ配信サーバ30において、セッション鍵Ksをコンテンツmの代わりに暗号化することとしてもよい。この場合、コンテンツmは群Gに属したデータ(m∈G)である必要はない。
【0110】
なお、コンテンツ配信サーバ30は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合してコンテンツ配信プログラムとして動作させることも可能である。
【0111】
<暗号化装置の構成>
ここで、図3を参照して、コンテンツ配信サーバ30(図2)内の暗号化装置34の構成について、さらに詳細に説明する。図3は、暗号化装置34の構成を示したブロック図である。図3に示すように、暗号化装置34は、予め公開された公開情報infと、任意の数(擬似乱数;指数r)と、識別情報idとに基づいて、コンテンツ(デジタルデータ)mを暗号化した暗号化コンテンツ(暗号化データ)cを生成するものである。
ここでは、暗号化装置34を、べき乗値生成手段34aと、変換データ生成手段34bと、ハッシュ値生成手段34cと、復号認証データ生成手段34dと、データ合成手段34eとを備えて構成した。
【0112】
べき乗値生成手段34aは、指数rと、公開情報で公開されている第一元g1及び第二元g2とを入力し、第一元g1及び第二元g2をそれぞれ指数rによりべき乗演算(g1 r、g2 r)し、第一元べき乗値α(=g1 r)及び第二元べき乗値β(=g2 r)を生成するものである。ここで生成された第一元べき乗値α及び第二元べき乗値βは、ハッシュ値生成手段34c及びデータ合成手段34eに通知される。
【0113】
変換データ生成手段34bは、コンテンツmと、そのコンテンツmの識別情報idと、指数rと、公開情報で公開されている生成値ui,jとを入力し、コンテンツmを(5)式によって変換した変換データγを生成するものである。なお、(5)式におけるΠは総積記号を示すものとする。
【0114】
【数33】
【0115】
ここで生成された変換データγは、ハッシュ値生成手段34c、復号認証データ生成手段34d及びデータ合成手段34eに通知される。
【0116】
ハッシュ値生成手段34cは、SHA(Secure Hash Algorithm)等のハッシュ関数によってハッシュ値を計算するものである。ここでは、ハッシュ値生成手段34cは、コンテンツmの識別情報idと、べき乗値生成手段34aで生成された第一元べき乗値α及び第二元べき乗値βと、変換データ生成手段34bで生成された変換データγとを入力し、ハッシュ値κを生成する。このハッシュ値κは復号認証データ生成手段34dに通知される。
【0117】
復号認証データ生成手段34dは、復号時に暗号化コンテンツcが正当な手続きによって暗号化されたものであるかどうかを認証するためのデータ(復号認証データδ)を生成するものである。ここでは、復号認証データ生成手段34dは、コンテンツmの識別情報idと、指数rと、公開情報で公開されている生成値ui,jと、変換データ生成手段34bで生成された変換データγと、ハッシュ値生成手段34cで生成されたハッシュ値κとを入力し、復号認証データδを生成する。この復号認証データδは、(6)式により算出され、データ合成手段34eに通知される。
【0118】
【数34】
【0119】
データ合成手段34eは、べき乗値生成手段34aで生成された第一元べき乗値α及び第二元べき乗値βと、変換データ生成手段34bで生成された変換データγと、復号認証データ生成手段34dで生成された復号認証データδとを合成して、暗号化コンテンツcを生成するものである。例えば、第一元べき乗値αと、第二元べき乗値βと、変換データγと、復号認証データδとを順番に連結して1つのデータとする。
【0120】
以上、一実施形態に基づいて本発明に係る暗号化装置34の構成について説明したが、本発明はこれに限定されるものではない。例えば、復号時に暗号化コンテンツcが正当な手続きによって暗号化されたものであるかどうかを認証する必要がない場合は、暗号化装置34の構成からハッシュ値生成手段34c及び復号認証データ生成手段34dを削除し、データ合成手段34eが、第一元べき乗値αと、第二元べき乗値βと、変換データγとを合成することで暗号化コンテンツcを生成することとしてもよい。
【0121】
また、この暗号化装置34の暗号化対象は、コンテンツに限られず、一般的なデジタルデータであればよい。すなわち、暗号化装置34は、デジタルデータを暗号化した暗号化データを生成するものであるということができる。
また、暗号化装置34は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合して暗号化プログラムとして動作させることも可能である。
【0122】
(ユーザ端末の構成)
次に、図4を参照(適宜図1参照)して、ユーザ端末(コンテンツ復号端末)40の構成について説明する。図4は、ユーザ端末40の構成を示したブロック図である。図4に示すように、ユーザ端末40は、コンテンツ配信サーバ30から配信される暗号化コンテンツcを、ライセンスサーバ20から取得したライセンス情報L(復号鍵を含む)に基づいて復号し、視聴データDとしてユーザに提示するものである。
【0123】
ここでは、ユーザ端末40を、暗号化コンテンツ取得手段41と、ライセンス情報取得手段42と、利用者認証手段43と、復号手段(復号装置)44と、コンテンツ提示手段45とを備えて構成した。
【0124】
暗号化コンテンツ取得手段41は、コンテンツの識別情報idを図示していない入力手段から入力されることで、コンテンツの識別情報idを含んだコンテンツの配信要求reqをコンテンツ配信サーバ30へ送信し、コンテンツ配信サーバ30から、そのコンテンツを暗号化した暗号化コンテンツcを受信(取得)するものである。ここで受信した暗号化コンテンツcは復号手段44に通知される。
【0125】
ライセンス情報取得手段42は、コンテンツの識別情報idを含んだライセンス発行要求Lreqをライセンスサーバ20へ送信し、ライセンスサーバ20から、暗号化コンテンツcを復号するための復号鍵Dm{=fi(id),(i=1,2,3,4,5,6)}を含んだライセンス情報Lを受信(取得)するものである。なお、ライセンス情報取得手段42は、ライセンス情報Lに含まれる復号鍵Dmを抽出し、復号手段44に通知するとともに、ライセンス情報Lを利用者認証手段43に通知する。
【0126】
利用者認証手段43は、ライセンス情報取得手段42で取得したライセンス情報Lに記載されている利用条件を判定し、正規の利用条件に則した利用である場合にのみ、復号手段44に対して復号の開始を指示する信号(復号指示)を通知するものである。例えば、利用者認証手段43は、ライセンス情報Lにコンテンツの利用期限が記載されている場合は、その期限が切れていないかどうかを判定する。
【0127】
復号手段(復号装置)44は、コンテンツの識別情報idとライセンス情報取得手段42で取得し抽出された復号鍵Dmとに基づいて、暗号化コンテンツ取得手段41で取得した暗号化コンテンツcを、コンテンツmに復号するものである。ここで復号されたコンテンツmは、コンテンツ提示手段45に通知される。また、この復号手段44は、利用者認証手段43から復号の開始を指示する信号(復号指示)を通知された場合にのみ起動するものとする。この復号手段(復号装置)44については、後でさらに詳細に説明する。
【0128】
コンテンツ提示手段45は、復号手段44で復号されたコンテンツmをユーザが視聴可能なデータ(視聴データD)へ変換してユーザへ提示するものである。例えば、コンテンツ提示手段45は、コンテンツmがMPEG2 Videoで符号化されたデータである場合は、コンテンツmを動画像に復号するデコーダとして機能するものである。
【0129】
以上、ユーザ端末(コンテンツ復号端末)40の構成について説明したが、ユーザ端末(コンテンツ復号端末)40は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合してコンテンツ復号プログラムとして動作させることも可能である。
【0130】
<復号装置の構成>
ここで、図5を参照して、ユーザ端末40(図4)内の復号装置44の構成について、さらに詳細に説明する。図5は、復号装置44の構成を示したブロック図である。図5に示すように、復号装置44は、コンテンツを識別する識別情報idと、復号鍵Dm{=fi(id)}とに基づいて、暗号化コンテンツcを復号してコンテンツmを再生するものである。
【0131】
ここでは、復号装置44を、データ分割手段44aと、認証用ハッシュ値生成手段44bと、比較認証データ生成手段44cと、比較認証手段44dと、復号データ生成手段44eとを備えて構成した。
【0132】
データ分割手段44aは、入力された暗号化コンテンツcを、第一元べき乗値αと、第二元べき乗値βと、変換データγと、復号認証データδとに分割するものである。ここで分割された第一元べき乗値α及び第二元べき乗値βは認証用ハッシュ値生成手段44b、比較認証データ生成手段44c、並びに、復号データ生成手段44eに通知される。また、変換データγは、認証用ハッシュ値生成手段44bと復号データ生成手段44eとに通知され、復号認証データδは、比較認証手段44dに通知される。
【0133】
認証用ハッシュ値生成手段44bは、SHA等のハッシュ関数によってハッシュ値を計算するものである。ここでは、認証用ハッシュ値生成手段44bは、コンテンツの識別情報idと、データ分割手段44aから通知された第一元べき乗値α、第二元べき乗値β及び変換データγとを入力し、認証用ハッシュ値κ´を生成する。この認証用ハッシュ値κ´は比較認証データ生成手段44cに通知される。なお、この認証用ハッシュ値生成手段44bのハッシュ関数は、暗号化装置34(図3)のハッシュ値生成手段34cと同一のハッシュ関数を用いることとする。
【0134】
比較認証データ生成手段44cは、データ分割手段44aで分割された第一元べき乗値α及び第二元べき乗値βと、認証用ハッシュ値生成手段44bで生成された認証用ハッシュ値κ´と、入力された復号鍵Dm{=fi(id)}とに基づいて、暗号化コンテンツcが正当な手続きで生成されたものであるかどうかを判定するための比較認証データδ´を生成するものである。ここでは、比較認証データδ´を前記(3)式により算出し生成する。
【0135】
この比較認証データδ´は、暗号化コンテンツcが正当な手続きで生成されたものである場合は、復号認証データδと同一の値となる。
比較認証手段44dは、データ分割手段44aから通知された復号認証データδと、比較認証データ生成手段44cから通知された比較認証データδ´とを比較し、その判定結果cmpを復号データ生成手段44eに通知するものである。例えば、復号認証データδと比較認証データδ´とが等しい場合は、判定結果cmpとして数値「1」を、等しくない場合は、判定結果cmpとして数値「0」を、復号データ生成手段44eに通知する。
【0136】
復号データ生成手段44eは、データ分割手段44aから通知された第一元べき乗値α、第二元べき乗値β及び変換データγと、入力された復号鍵Dm{=fi(id)}とに基づいて、暗号化コンテンツcを復号したコンテンツmを生成するものである。ここでは、コンテンツmを前記(4)式により算出し生成する。
【0137】
なお、この復号データ生成手段44eは、比較認証手段44dから通知される判定結果cmpにおいて、復号認証データδと比較認証データδ´とが等しいと判定された場合にのみ、復号動作を行う。
【0138】
以上、一実施形態に基づいて本発明に係る復号装置44の構成について説明したが、本発明はこれに限定されるものではない。例えば、復号時に暗号化コンテンツcが正当な手続きによって暗号化されたものであるかどうかを認証する必要がない場合は、復号装置44の構成から認証用ハッシュ値生成手段44b、比較認証データ生成手段44c及び比較認証手段44dを削除し、復号データ生成手段44eが、認証を行うことなく第一元べき乗値α、第二元べき乗値β、変換データγ及び復号鍵Dmに基づいて、暗号化コンテンツcを復号したコンテンツmを生成することとしてもよい。
【0139】
また、この復号装置44の復号対象は、コンテンツに限られず、一般的なデジタルデータを暗号化したものであればよい。すなわち、復号装置44は、デジタルデータを暗号化した暗号化データを、デジタルデータに復号するものであるということができる。
【0140】
なお、復号装置44は、コンピュータにおいて各手段を各機能プログラムとして実現することも可能であり、各機能プログラムを結合して復号プログラムとして動作させることも可能である。
【0141】
[コンテンツ配信システムの動作]
次に、図6乃至図11を参照して、本発明の実施の形態であるコンテンツ配信システム1の動作について説明する。
(ライセンスサーバによる公開情報の公開)
まず、図6を参照(適宜図1参照)して、ライセンスサーバ20が、公開情報を公開する動作について説明する。図6は、ライセンスサーバ20が、公開情報を公開する動作を示すフローチャートである。
【0142】
ライセンスサーバ20は、まず、特定の位数(qとする)により巡回群となる群Gと、その群Gの任意の二つの要素である第一元g1及び第二元g2と、Zq(1〜qの整数)上の多項式{fi(λ)}(i=1,2,3,4,5,6)(前記(7)式)とを選択し(ステップS10)、群G、第一元g1、第二元g2及び多項式{fi(λ)}をライセンスサーバ20の記憶手段21に記憶する(ステップS11)。
【0143】
そして、ライセンスサーバ20は、多項式{fi(λ)}の係数であるai,jを用いて、前記(1)式により生成値{ui,j}(i=1,3,5,1≦j≦t)を算出し(ステップS12)、ステップS10で選択した群G、第一元g1及び第二元g2と、ステップS12で算出した生成値{ui,j}とを公開する(ステップS13)。
【0144】
(コンテンツ配信サーバによるコンテンツの暗号化)
次に、図7を参照(適宜図1及び図2参照)して、コンテンツ配信サーバ30が、コンテンツを暗号化する動作について説明する。図7は、コンテンツ配信サーバ30が、コンテンツmを暗号化する動作を示すフローチャートである。
【0145】
コンテンツ配信サーバ30は、コンテンツ受信手段31によって、コンテンツサーバ10から、コンテンツmとそのコンテンツmを識別する識別情報idとを受信する(ステップS20)。
【0146】
また、コンテンツ配信サーバ30は、公開情報取得手段32によって、ライセンスサーバ20が公開した公開情報infを取得し(ステップS21)、指数選択手段33によって、公開情報infで公開されている群Gの位数qを超えない範囲の整数(1以上q以下の整数)で擬似乱数を発生させることで、指数rを選択する(ステップS22)。
【0147】
そして、コンテンツ配信サーバ30は、識別情報id、公開情報inf及び指数rに基づいて、コンテンツmを暗号化し(ステップS23)、暗号化された暗号化コンテンツcを暗号化コンテンツ蓄積手段35に蓄積する(ステップS24)。
【0148】
以上の各ステップによって、コンテンツ配信サーバ30は、コンテンツmを暗号化した暗号化コンテンツcを暗号化コンテンツ蓄積手段35に蓄積し、要求のあった暗号化コンテンツを配信する準備ができたことになる。
【0149】
<コンテンツ暗号化の詳細動作>
ここで、図8を参照(適宜図1及び図3参照)して、ステップS23のコンテンツmの暗号化について、詳細に説明する。図8は、コンテンツ配信サーバ30内の暗号化手段(暗号化装置)34の動作を示すフローチャートである。
【0150】
〔データ生成ステップ〕
暗号化手段34は、べき乗値生成手段34aによって、指数rと、公開情報で公開されている第一元g1及び第二元g2とを入力し、第一元べき乗値α(=g1 r)及び第二元べき乗値β(=g2 r)を生成する(ステップS30)。
また、暗号化手段34は、変換データ生成手段34bによって、前記(5)式により、変換データγを生成する(ステップS31)。
【0151】
さらに、暗号化手段34は、ハッシュ値生成手段34cのハッシュ関数によって、識別情報id、第一元べき乗値α、第二元べき乗値β及び変換データγから、ハッシュ値κを生成し(ステップS32)、復号認証データ生成手段34dによって、前記(6)式により、復号認証データδを生成する(ステップS33)。
【0152】
〔データ合成ステップ〕
そして、暗号化手段34は、データ合成手段34eによって、ステップS30で生成した第一元べき乗値α及び第二元べき乗値βと、ステップS31で生成した変換データγと、ステップS33で生成した復号認証データδとを合成することで、暗号化コンテンツcを生成する(ステップS34)。
【0153】
(ユーザ端末によるコンテンツの復号/視聴)
次に、図9を参照(適宜図1及び図4参照)して、ユーザ端末(コンテンツ復号端末)40が、暗号化コンテンツを復号し、ユーザに対してコンテンツを提示する動作について説明する。図9は、ユーザ端末40の動作を示すフローチャートである。
【0154】
ユーザ端末40が、ユーザの所望するコンテンツをコンテンツ配信サーバ30に要求することで(ステップとして図示せず)、コンテンツ配信サーバ30が、暗号化コンテンツ蓄積手段35(図2)から対応する暗号コンテンツcを読み出して、ユーザ端末40へ配信する(ステップS40)。
【0155】
そして、ユーザ端末40が、暗号化コンテンツ取得手段41によって、暗号コンテンツcを取得し(ステップS41)、ライセンス情報取得手段42によって、ライセンスサーバ20に対して、暗号コンテンツcのライセンス情報Lの発行を要求する(ステップS42)。
【0156】
このライセンス情報Lの発行を要求されたライセンスサーバ20は、この発行要求が、コンテンツを視聴する正当なユーザからの要求であるかどうかを判定し(ステップS43)、正当なユーザからの要求である場合(Yes)は、暗号化コンテンツcを復号するための復号鍵Dm{=fi(id)}を含み、コンテンツの利用条件を記載したライセンス情報Lをユーザ端末40に対して発行(送信)する(ステップS44)。一方、正当なユーザからの要求でない場合(ステップS43でNo)の場合は、ライセンス情報Lを発行せずに動作を終了する。
【0157】
そして、ユーザ端末40が、ライセンス取得手段42によって、ライセンスサーバ20からライセンス情報Lを取得し(ステップS45)、ライセンス情報Lに含まれる復号鍵Dmを抽出する(ステップS46)。
そして、ユーザ端末40が、利用者認証手段43によって、ライセンス情報Lに記載されている利用条件を判定し(ステップS47)、利用条件が適正でない場合(No)、例えば、コンテンツの視聴期限が切れている等の場合は、暗号化コンテンツcの復号を行わずに動作を終了する。
【0158】
一方、ステップS47で利用条件が適正である場合(Yes)は、復号手段44によって、ステップS46で抽出した復号鍵Dmを用いて、暗号化コンテンツcの復号を行う(ステップS48)。そして、コンテンツ提示手段45によって、復号されたコンテンツcをデコードすることで、コンテンツcは、ユーザが視聴可能な視聴データDとなる(ステップS49)。
【0159】
以上の各ステップによって、ユーザ端末40は、ユーザが所望するコンテンツ(暗号化コンテンツc)をコンテンツサーバ30から取得し、ライセンスサーバ20から、そのコンテンツに対するライセンス情報Lを取得し、そのライセンス情報Lに含まれる復号鍵によって、暗号化コンテンツcを復号し、視聴データDとすることができる。
【0160】
<ライセンス情報発行の詳細動作>
ここで、ステップS44のライセンス情報Lの発行について、図10を参照(適宜図1参照)して、詳細に説明する。図10は、ライセンスサーバ20がライセンス情報Lを発行する動作を示すフローチャートである。
【0161】
ライセンスサーバ20は、ユーザ端末40からコンテンツの識別情報idを含んだライセンス発行要求を受信すると(ステップS50)、記憶手段21に記憶している群G、第一元g1、第二元g2及び多項式{fi(λ)}(i=1,2,3,4,5,6)を読み込む(ステップS51)。
そして、コンテンツの識別情報idに基づいて、多項式{fi(λ)}(前記(7)式参照)から、復号鍵Dm{=fi(id)}(i=1,2,3,4,5,6)を生成する(ステップS52)。
【0162】
そして、ライセンスサーバ20は、コンテンツの利用条件と、復号鍵Dm{=fi(id)}(i=1,2,3,4,5,6)とを合成したライセンス情報Lを作成し(ステップS53)、ユーザ端末40へ発行(送信)する。なお、コンテンツの利用条件は、ライセンス発行要求を受信したときに、要求時刻等によって逐次作成することとしてもよいし、コンテンツ毎に予め設定した条件を使用することとしてもよい。
【0163】
<コンテンツ復号の詳細動作>
次に、図11を参照(適宜図5参照)して、図9におけるステップS48の暗号化コンテンツcの復号動作について、詳細に説明する。図11は、ユーザ端末40内の復号手段(復号装置)44の動作を示すフローチャートである。
【0164】
〔データ分割ステップ〕
復号手段44は、データ分割手段44aによって、暗号化コンテンツcを第一元べき乗値αと、第二元べき乗値βと、変換データγと、復号認証データδとに分割する(ステップS60)。
【0165】
〔比較認証データ生成ステップ〕
そして、復号手段44は、認証用ハッシュ値生成手段44bによって、コンテンツの識別情報id、第一元べき乗値α、第二元べき乗値β及び変換データγから、認証用ハッシュ値κ´を生成し(ステップS61)、比較認証データ生成手段44cによって、前記(3)式により、比較認証データδ´を生成する(ステップS62)。
【0166】
〔比較認証ステップ、復号データ生成ステップ〕
そして、この比較認証データδ´と、データ分割手段44aで分割した復号認証データδとを比較し(ステップS63)、比較認証データδ´及び復号認証データδの値が等しい場合(Yes)は、変換データγ、第一元べき乗値α、第二元べき乗値β及び復号鍵Dm{=fi(id)}(i=1,2,3,4,5,6)から、前記(4)式によって、コンテンツmを復号する(ステップS64)。一方、ステップS63において、比較認証データδ´及び復号認証データδの値が等しくない場合(No)は、コンテンツmの復号は行わず動作を終了する。
【0167】
以上説明したように、コンテンツ配信システム1(図1)では、ライセンスサーバ20と、コンテンツ配信サーバ30との間で、公開情報以外の情報交換がないため、秘匿通信等の必要がなく、各サーバの管理コストを低減させることができる。また、ライセンスサーバ20では、公開された情報から復号鍵を生成するため、復号鍵を保管(管理)する必要がない。さらに、コンテンツ配信サーバ30では、ライセンスサーバ20により復号鍵が生成されたかどうかに依存せず、コンテンツの暗号化を行うことができるので、ライセンスサーバ20と、コンテンツ配信サーバ30とを独立して動作させることが可能になる。
【0168】
また、コンテンツ配信システム1におけるコンテンツの暗号化及び復号は、従来のような、存在し得ない理想的な関数(ハッシュ関数)の存在や、数論的問題を解く困難性を前提としたものではないため、暗号化されたコンテンツを不正に解読する危険性を低減させることができる。
【0169】
【発明の効果】
以上説明したとおり、本発明に係る暗号化方法、その装置及びそのプログラム、並びに、復号方法、その装置及びそのプログラム、並びに、コンテンツ配信サーバ及びコンテンツ復号端末では、以下に示す優れた効果を奏する。
【0170】
請求項1、請求項2、請求項4又は請求項6に記載の発明によれば、デジタルデータ固有の識別情報と、暗号化する側で選択した指数と、予め公開された公開情報とによって暗号化を行うため、ライセンスサーバ等のデジタルデータの権利を管理する装置(サーバ)と暗号鍵等の秘密情報を通信する必要がなく、独立して暗号化を行うことが可能になる。
【0171】
請求項5に記載の発明によれば、復号認証データを付加して暗号化データとするため、復号側で、暗号化データの正当性を判定することが可能になる。これによって、暗号化データの改竄に対する安全性を強固にすることができる。
【0172】
請求項3、請求項7又は請求項9に記載の発明によれば、デジタルデータ固有の識別情報と、暗号化する側で選択した指数と、予め公開された公開情報とによって暗号化された暗号化データを、識別情報と復号鍵とを用いて復号することができる。また、この復号鍵は、公開情報を生成するときに用いた秘密情報である多項式によって生成されたものでるため、暗号化データを不正に解読することは困難である。これによって、安全性の高い暗号化/復号システムを構築することが可能になる。
【0173】
請求項8に記載の発明によれば、暗号化データに含まれる復号認証データと、復号側で生成する比較認証データとを比較することで、暗号化データが正当な手順で生成されたものかどうかを認証することができるので、暗号化データの改竄に対する安全性を強固にすることができる。
【0174】
請求項10に記載の発明によれば、デジタルデータであるコンテンツ固有の識別情報と、暗号化する側で選択した指数と、公開情報とによって暗号化を行うため、コンテンツの権利を管理するライセンスサーバと秘密情報を通信する必要がなく、独立して暗号化を行うことが可能になる。これによって、暗号化コンテンツの不正解読や改竄に対する安全性を強固にすることができる。
【0175】
請求項11に記載の発明によれば、コンテンツ固有の識別情報と、暗号化する側で選択した指数と、予め公開された公開情報とによって暗号化された暗号化コンテンツを、識別情報と復号鍵とを用いて復号することができる。また、この復号鍵は、公開情報を生成するときに用いた秘密情報である多項式によって生成されたものでるため、暗号化コンテンツを不正に解読することは困難である。これによって、安全性の高いコンテンツ配信システムを構築することが可能になる。
【図面の簡単な説明】
【図1】本発明の実施の形態に係るコンテンツ配信システムの構成を示すブロック図である。
【図2】本発明の実施の形態に係るコンテンツ配信サーバの構成を示すブロック図である。
【図3】本発明の実施の形態に係る暗号化装置の構成を示すブロック図である。
【図4】本発明の実施の形態に係るユーザ端末(コンテンツ復号端末)の構成を示すブロック図である。
【図5】本発明の実施の形態に係る復号装置の構成を示すブロック図である。
【図6】本発明の実施の形態に係るライセンスサーバによる公開情報を公開する動作を示すフローチャートである。
【図7】本発明の実施の形態に係るコンテンツ配信サーバの動作を示すフローチャートである。
【図8】本発明の実施の形態に係る暗号化装置の動作を示すフローチャートである。
【図9】本発明の実施の形態に係るユーザ端末(コンテンツ復号端末)の動作を示すフローチャートである。
【図10】本発明の実施の形態に係るライセンスサーバによるライセンス情報を発行する動作を示すフローチャートである。
【図11】本発明の実施の形態に係る復号装置の動作を示すフローチャートである。
【図12】従来のコンテンツ配信システムの構成を示すブロック図である。
【符号の説明】
1、1B ……コンテンツ配信システム
3 ……インターネット
10 ……コンテンツサーバ
20、20B……ライセンスサーバ
30、30B……コンテンツ配信サーバ
31 ……コンテンツ受信手段
32 ……公開情報取得手段
33 ……指数選択手段
34 ……暗号化手段(暗号化装置)
34a ……べき乗値生成手段
34b ……変換データ生成手段
34c ……ハッシュ値生成手段
34d ……復号認証データ生成手段
34e ……データ合成手段
35 ……暗号化コンテンツ蓄積手段
36 ……コンテンツ配信受付手段
37 ……コンテンツ送信手段
40、40B……ユーザ端末(コンテンツ復号端末)
41 ……暗号化コンテンツ取得手段
42 ……ライセンス情報取得手段
43 ……利用者認証手段
44 ……復号手段(復号装置)
44a ……データ分割手段
44b ……認証用ハッシュ値生成手段
44c ……比較認証データ生成手段
44d ……比較認証手段
44e ……復号データ生成手段
45 ……コンテンツ提示手段[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an encryption technology for encrypting digital data and a decryption technology for decrypting the encrypted digital data, and further relates to a content distribution server and a content decryption terminal using the encryption technology and the decryption technology.
[0002]
[Prior art]
2. Description of the Related Art In recent years, multimedia contents such as video and audio (hereinafter, referred to as contents) have been distributed on networks (such as the Internet). In such an environment, conventionally, in order to protect the copyright of the content, a method of encrypting the content by a common key cryptosystem in which an encryption key is generated by a pseudorandom number is generally used (for example, see Non-Patent Documents). 1).
[0003]
In the method of encrypting content by using the common key encryption method, a part of information of a key used for encryption and information related to the content such as content usage conditions are added to the encrypted content and distributed. A license server for generating an encryption key using a secure communication means in advance by a package server that performs encryption and a license server that issues decryption key information for decrypting the encrypted content to an authorized user of the content. You have to share the seed. In addition, since all information related to encryption is concentrated on the package server, confidential information such as license seeds can be abused without receiving license from the license server, and the content encryption / decryption key can be used by unauthorized users. There was a risk of illegally flowing out.
[0004]
In response to such a problem, the applicant of the present application has proposed (filed) a method of independently operating a package server and a license server using a technique called ID-Based encryption (“content distribution system”). Application 2002-268285).
[0005]
Here, a method of distributing content using the ID-Based encryption scheme will be described with reference to FIG. FIG. 12 is a block diagram illustrating a configuration of a
[0006]
As shown in FIG. 12, the
[0007]
In the
The
[0008]
The package server (content distribution server) 30B creates package server public information by using the pseudo-random numbers and publishes it as public information. Further, the
[0009]
Upon receiving this package (including the encrypted content), the
[0010]
Upon receiving the content identifier from the
The
[0011]
The
[0012]
The
As described above, when the content is distributed using the ID-based encryption method, there is no need to exchange information other than public information between the license server and the package server, and each server can be operated independently. Will be possible.
[0013]
[Non-patent document 1]
Warwick Ford, Michael Baum, Translated by Shinichiro Yamada
"Digital Signature and Cryptography", 2nd edition, Pearson Education Inc., October 10, 2001, p. 75-117
[0014]
[Problems to be solved by the invention]
However, in the conventional method of distributing content using the ID-Based encryption method, since there is no need to exchange information other than public information between the license server and the package server, there is no need to exchange information between the license server and the package server. Although it is excellent in that costs related to communication and confidential information management can be reduced, it has the following problems.
[0015]
That is, the currently known ID-based cryptosystem presupposes the existence of an ideal function that cannot originally exist and the difficulty of solving a special number-theoretic problem called the Bilinear Defie-Hellman problem. Therefore, its security is not always reliable. For this reason, the content encrypted by the ID-based encryption scheme includes a risk of being illegally decrypted.
[0016]
The present invention has been made in view of the above problems, and does not share confidential information between a license server and a package server, operates them independently, and illegally uses encrypted content ( It is an object of the present invention to provide an encryption method, an apparatus and a program thereof, and a decryption method, an apparatus and a program thereof, and a content distribution server and a content decryption terminal for reducing (illegal decryption).
[0017]
[Means for Solving the Problems]
SUMMARY OF THE INVENTION The present invention has been made to achieve the above object. First, an encryption method according to
[0018]
According to this method, a generated value generated by raising a first element and a second element, which are elements of a group that forms a cyclic group by a specific order, to a power of a predetermined polynomial coefficient as an exponent (power exponent) is generated. , As well as the group, the first element and the second element as public information. Then, an operation is performed based on the public information and the identification information for identifying the digital data, thereby generating encrypted data obtained by encrypting the digital data. As the identification information, information unique to digital data, such as a file name and a content name, can be used. Thus, the encrypting side does not need to acquire information other than the public information from another device (server) or the like.
[0019]
Here, the polynomial itself for generating a generated value that is public information is not disclosed. For this reason, for example, the side that distributes digital data can use the result of calculating a polynomial based on the identification information of the digital data to be distributed as a decryption key for encrypted data. In addition, by using the cyclic group, the encryption side and the decryption side can use the same method as the known ElGamal encryption method or the Diffie-Hellman key distribution, and the decryption side uses the cyclic method. The encrypted data can be decrypted using the first element and the second element, which are the elements of the group, and the decryption key. Note that the cyclic group is a set {c, c2, ..., cn-1, Cn= E}, which becomes the unit element (e) when raised to the nth power. This n is particularly called an order.
[0020]
Further, the encryption method according to the second aspect of the present invention provides a group (G) that is published in advance and forms a cyclic group with a specific order (q), and a first element (g) that is an element of the group (G).1) And the second element (g2) And the polynomial {fi(Λ): = Σt j = 0ai, jλj} (1 ≦ ai, j≤q, i = 1,2,3,4,5,6,1≤t))
[0021]
[Equation 15]
[0022]
The generated value (u) generated by the above equation (1)i, jAn encryption method for generating encrypted data (c) by encrypting digital data (m) based on public information consisting of: (i) identifying the public information and the digital data (m) Information (id) and an exponent (r) that is a predetermined positive integer equal to or less than the order (q),
[0023]
(Equation 16)
[0024]
The first elementary power value (α), the second elementary power value (β), and the converted data (γ) are obtained by the above equation (2) (where κ: = H (id, α, β, γ), and H is a hash function). ) And decryption authentication data (δ), the first elementary power value (α), the second elementary power value (β), the conversion data (γ), and the decryption authentication generated in the data generation step. Combining the data (δ) to obtain the encrypted data (c).
[0025]
According to this method, the encryption method includes, in the data generation step, a group that becomes a cyclic group with a specific order published as public information, and a first element and a second element that are elements of the group, Based on a generated value generated from a coefficient of a predetermined polynomial, identification information for identifying digital data, and an exponent that is a predetermined positive integer equal to or less than the order, a first elementary power value, a second An original power value, conversion data, and decryption authentication data are generated.
[0026]
Here, the conversion data is data obtained by converting the digital data itself, and is the substance of the encrypted data. The first elementary power value and the second elementary power value are data used on the decoding side to convert the converted data into the original digital data.
[0027]
The decryption authentication data is data for specifying that the encrypted data has been generated by a valid procedure (this data generation step). That is, the decryption authentication data allows the decryption side to determine the validity of the encrypted data (c).
[0028]
Then, in the data combining step, the encrypted data is generated by combining the first power value, the second power value, the converted data, and the decryption authentication data. In the case of simple encryption that does not require the determination of the validity of the encrypted data, the encrypted data may be generated by combining only the first power value, the second power value, and the converted data. It may be.
[0029]
Note that the generated value is f1(Λ)-f6Generated from the six polynomials of (λ) is R. Cramer and V.S. Shop, “A Practical public key cryptosystem secure secure against adaptive chosen ciphertext attack”, in proc. Crypto '98, pp. 13-25. Thus, security against unauthorized decryption of encrypted data has been proven.
[0030]
Further, a decryption method according to a third aspect of the present invention uses encrypted data (c) obtained by encrypting the digital data (m) by the encryption method according to the second aspect to identify the digital data (m). A decryption key {f calculated from the polynomial based on the identification information (id)i(Id) A decryption method for decrypting according to} (i = 1, 2, 3, 4, 5, 6), wherein the identification information (id) and the first elementary power contained in the encrypted data (c) are obtained. From the value (α), the second power value (β), and the conversion data (γ),
[0031]
[Equation 17]
[0032]
A comparative authentication data generating step of generating comparative authentication data (δ ′) by the above equation (3), where κ ′: = H (id, α, β, γ) and H is a hash function; By comparing the comparison authentication data (δ ′) generated in the generation step with the decryption authentication data (δ) included in the encrypted data (c), the encrypted data (c) can be obtained by a valid procedure. A comparative authentication step of authenticating whether the encrypted data (c) has been generated, and, if it is determined in the comparative authentication step that the encrypted data (c) has been generated by a valid procedure, the first elementary power value (α ), The second power value (β), the converted data (γ), and the decryption key {fiFrom (id)}
[0033]
(Equation 18)
[0034]
A decoded data generating step of generating the digital data (m) according to the equation (4).
[0035]
According to this method, the decryption method includes, in the comparison authentication data generation step, the identification information for identifying the digital data, and the first power value, the second power value, and the conversion data included in the encrypted data. , And generates comparative authentication data for authenticating whether or not the encrypted data is generated by a valid procedure. When the encrypted data is generated by a valid procedure, the comparison authentication data is equal to the decryption authentication data included in the encrypted data. It is possible to authenticate the validity of the data. Then, only when the encrypted data is valid, in the decryption data generation step, digital data is generated from the conversion data included in the encrypted data using the decryption key.
[0036]
In addition, the encryption device according to claim 4 includes a group (G) that is disclosed in advance and is a cyclic group from a specific order (q), and a first element (g) that is an element of the group (G).1) And the second element (g2) And the polynomial {fi(Λ): = Σt j = 0ai, jλj} (1 ≦ ai, j≤q, i = 1,2,3,4,5,6,1≤t))
[0037]
[Equation 19]
[0038]
The generated value (u) generated by the above equation (1)i, jA) encrypting the digital data (m) on the basis of the public information consisting of: (c) and generating encrypted data (c). As the index (r), the first element (g)1) And the second element (g2) To generate a first elementary power value (α) and a second elementary power value (β), identification information (id) for identifying the digital data (m), and the exponent (R) and the generated value (ui, j),
[0039]
(Equation 20)
[0040]
A conversion data generation unit that generates conversion data (γ) obtained by converting the digital data (m) according to the expression (5), the first element power value (α), the second element power value (β), and A data synthesizing means for synthesizing the converted data (γ) to generate the encrypted data (c).
[0041]
According to this configuration, the encryption device uses the exponent value generation unit to convert the first element and the second element, which are the elements of the group that forms a cyclic group by a specific order, into a predetermined positive integer equal to or less than the order. Is used as an exponent to generate a first elementary power value and a second elementary power value. Then, the conversion data generation means generates conversion data obtained by converting the digital data. The conversion data is calculated from identification information for identifying digital data, an index selected below the order of the group, and a generated value published as public information, and becomes the substance of the encrypted data. It is. The first elementary power value and the second elementary power value are used on the decoding side to convert the converted data into the original digital data. The data combining means combines the first power value, the second power value, and the converted data into encrypted data.
[0042]
As described above, the encryption device performs the encryption using the identification information unique to the digital data, the exponent selected on the encrypting side, and the public information. It is not necessary to communicate secret information with the server), and encryption can be performed independently.
[0043]
Further, the encryption device according to claim 5 is the encryption device according to claim 4, wherein the identification information (id), the first power value (α), and the second power value (β). And a hash value generation unit that generates a hash value (κ) serving as information of a specific length from the conversion data (γ), the identification information (id), the exponent (r), and the hash value (κ). And the generated value (ui, j),
[0044]
(Equation 21)
[0045]
Decryption authentication data generation means for generating decryption authentication data (δ) by the above equation (where κ: = H (id, α, β, γ), H is a hash function); Synthesizes the first elementary power value (α), the second elementary power value (β), the converted data (γ), and the decryption authentication data (δ) to obtain the encrypted data (c). Features.
[0046]
According to this configuration, the encryption device uses the hash value generation unit to convert the identification information, the first elementary power value, the second elementary power value, and the converted data into a fixed-length data using a hash function such as SHA (Secure Hash Algorithm). Calculate the hash value that becomes Then, the decryption authentication data generating means generates the decryption authentication data based on the identification information unique to the digital data, the exponent selected on the encrypting side, the hash value, and the generated value which is the public information. The decryption authentication data is data for specifying that the encrypted data has been generated by a valid procedure.
[0047]
Then, the data combining means adds decryption authentication data to the first elementary power value, the second elementary power value, and the converted data to obtain encrypted data. This makes it possible for the decryption side to determine the validity of the encrypted data.
[0048]
Further, the encryption program according to claim 6 includes a group (G) that is published in advance and is a cyclic group with a specific order (q), and a first element (g) that is an element of the group (G).1) And the second element (g2) And the polynomial {fi(Λ): = Σt j = 0ai, jλj} (1 ≦ ai, j≤q, i = 1,2,3,4,5,6,1≤t))
[0049]
(Equation 22)
[0050]
The generated value (u) generated by the above equation (1)i, jIn order to generate the encrypted data (c) obtained by encrypting the digital data (m) based on the public information consisting of the following, the computer is operated by the following means.
[0051]
That is, a predetermined positive integer less than or equal to the order (q) is defined as an index (r) and the first element (g1) And the second element (g2) To generate a first elementary power value (α) and a second elementary power value (β), identification information (id) for identifying the digital data (m), and the exponent ( r) and the generated value (ui, j),
[0052]
(Equation 23)
[0053]
A conversion data generation unit that generates conversion data (γ) obtained by converting the digital data (m) according to the equation (5), the first elementary power value (α), the second elementary power value (β), and the conversion Data combining means for combining the data (γ) and obtaining the encrypted data (c).
[0054]
According to this configuration, the encryption program uses the exponent value generating means to convert the first element and the second element, which are elements of the group that forms a cyclic group by a specific order, into a predetermined positive integer equal to or less than the order. Is used as an exponent to generate a first elementary power value and a second elementary power value. Then, the conversion data generation means generates conversion data obtained by converting the digital data. The conversion data is calculated from identification information for identifying digital data, an index selected below the order of the group, and a generated value published as public information, and becomes the substance of the encrypted data. It is. The first elementary power value and the second elementary power value are used on the decoding side to convert the converted data into the original digital data. The data combining means combines the first power value, the second power value, and the converted data into encrypted data.
[0055]
By causing a computer to function as each of the above-described units, the encryption program can be operated on a general personal computer, a workstation, or the like.
[0056]
Further, a decryption device according to a seventh aspect of the present invention uses encrypted data (c) obtained by encrypting digital data (m) by the encryption device according to the fourth aspect to identify the digital data (m). A decryption key {f calculated from the polynomial based on the identification information (id)i(Id) A decryption device for decrypting according to} (i = 1, 2, 3, 4, 5, 6), wherein the encrypted data (c) is converted into a first elementary power value (α) and a second elementary power Data dividing means for dividing the data into a value (β) and converted data (γ), the first elementary power value (α), the second elementary power value (β), the converted data (γ), and the decryption key {fiFrom (id)}
[0057]
[Equation 24]
[0058]
A decoded data generating means for generating the digital data (m) according to the equation (4).
[0059]
According to such a configuration, the decryption device divides the encrypted data into the first elementary power value, the second elementary power value, and the converted data by the data dividing means, and the first elementary power value, The converted data is converted (decrypted) using the second elementary power value and the decryption key to obtain digital data. Thus, the encrypted data encrypted by the encryption device according to the fourth aspect can be decrypted.
[0060]
Further, a decryption device according to an eighth aspect of the present invention uses encrypted data (c) obtained by encrypting digital data (m) by the encryption device according to the fifth aspect to identify the digital data (m). A decryption key {f calculated from the polynomial based on the identification information (id)i(Id) A decryption device for decrypting according to} (i = 1, 2, 3, 4, 5, 6), wherein the encrypted data (c) is converted into a first elementary power value (α) and a second elementary power A data dividing unit for dividing the data into a value (β), converted data (γ), and decryption authentication data (δ); the identification information (id); a first elementary power value (α) divided by the data dividing unit; An authentication hash value generation unit for generating an authentication hash value (κ ′) serving as information of a specific length from the second elementary power value (β) and the conversion data (γ), and the first elementary power value (Α), the second power value (β), the hash value for authentication (κ ′), and the decryption key {fiFrom (id)}
[0061]
(Equation 25)
[0062]
A comparative authentication data generating means for generating comparative authentication data (δ ') by the above equation (where κ': = H (id, α, β, γ), H is a hash function); By comparing the comparison authentication data (δ ′) generated by the generation means with the decryption authentication data (δ), it is authenticated whether or not the encrypted data (c) is generated by a valid procedure. A first authenticating power value (α), a second exponential value (β), the converted data (γ), and the decryption key {fiFrom (id)}
[0063]
(Equation 26)
[0064]
A decoded data generating means for generating the digital data (m) according to the equation (4).
[0065]
According to this configuration, the decryption device divides the encrypted data into the first elementary power value, the second elementary power value, the converted data, and the decryption authentication data by the data dividing unit. Then, the hash value generating means for authentication uses the hash information such as SHA (Secure Hash Algorithm) to convert the identification information unique to the digital data, the first elementary power value, the second elementary power value, and the converted data into a hash value such as SHA (Secure Hash Algorithm). Generate an authentication hash value of This hash function is the same as the hash function used when the decryption authentication data is generated by the encryption device.
[0066]
Then, the comparative authentication data generating means generates comparative authentication data. The comparison authentication data generated by the decryption device has the same value as the decryption authentication data when the encrypted data is generated by a valid procedure. Therefore, by comparing the comparative authentication data with the decrypted authentication data by the comparative authentication means, the digital data is generated (decrypted) by the decrypted data generating means only when the encrypted data is generated by a valid procedure. ). Thus, the decryption device authenticates the validity of the encrypted data encrypted by the encryption device according to claim 5, and can decrypt the encrypted data only when the data is valid.
[0067]
Further, a decryption program according to a ninth aspect of the present invention provides an encrypted data (c) obtained by encrypting digital data (m) by the encryption program according to the sixth aspect, for identifying the digital data (m). A decryption key {f calculated from the polynomial based on the identification information (id)i(Id) In order to perform decoding according to} (i = 1, 2, 3, 4, 5, 6), the computer is configured to function by the following means.
That is, data dividing means for dividing the encrypted data (c) into a first elementary power value (α), a second elementary power value (β), and converted data (γ), and the first elementary power value (α) , The second element power value (β), the converted data (γ), and the decryption key {fiFrom (id)}
[0068]
[Equation 27]
[0069]
A decoded data generating means for generating the digital data (m) according to the above equation (4).
[0070]
According to such a configuration, the decryption program divides the encrypted data into the first elementary power value, the second elementary power value, and the converted data by the data dividing means, and the first elementary power value, The converted data is converted (decrypted) using the second elementary power value and the decryption key to obtain digital data. Thus, the encrypted data encrypted by the encryption program according to claim 6 can be decrypted.
[0071]
Further, the content distribution server according to
[0072]
[Equation 28]
[0073]
The generated value (u) generated by the above equation (1)i, jA content distribution server for generating and distributing encrypted content, which is encrypted data obtained by encrypting the content, based on the public information comprising: public information obtaining means for obtaining the public information from the license server And exponent selecting means for selecting a positive integer less than or equal to the order as an exponent; encrypting the content based on the public information, identification information for identifying the content, and the exponent; 6. The encryption device according to claim 4 or claim 5, wherein the encryption device stores encrypted content which is encrypted data generated by the encryption device, and encryption requested by the terminal. Content transmission means for reading encrypted content from the encrypted content storage means and transmitting the encrypted content to the terminal. To.
[0074]
According to this configuration, the content distribution server, by the public information acquisition means, a group that becomes a cyclic group with a specific order published as public information, and the first element and the second element that are elements of the group , And a generated value generated from a coefficient of a predetermined polynomial. Then, a positive integer less than or equal to the order of the group is selected as an exponent by the exponent selecting means. The exponent may be any index that is arbitrarily selected in the content distribution server. For example, by using a pseudorandom number generated by a pseudorandom number generator, the secrecy of the encrypted content can be enhanced.
[0075]
Then, the content distribution server encrypts the content with the encryption device based on the public information, an index equal to or less than the order of the group, and the identification information for identifying the content, and encrypts the encrypted content. Store in the storage means. The encrypted content stored in the encrypted content storage means is transmitted by the content transmission means to the requesting terminal.
[0076]
As described above, the content distribution server performs encryption using the identification information unique to the content, which is digital data, the index selected on the encrypting side, and the public information. There is no need to communicate information, and encryption can be performed independently.
[0077]
Further, the content decrypting terminal according to claim 11 is a device for converting encrypted content, which is encrypted data encrypted by the content distribution server according to
[0078]
According to this configuration, the content decryption terminal acquires the encrypted content desired by the user from the content distribution server by the encrypted content acquisition unit, and decrypts the encrypted content from the license server by the license information acquisition unit. Obtain license information including the decryption key. Content usage conditions may be added to this license information.
Then, the encrypted content is decrypted by the decryption device based on the identification information unique to the content and the decryption key.
[0079]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[Content distribution system configuration]
First, a configuration of a
[0080]
The
[0081]
The
[0082]
The
[0083]
The user terminal (content decrypting terminal) 40 acquires the content (encrypted content) desired by the user from the
[0084]
(Overview of content encryption and decryption)
Here, an outline of encryption and decryption of content in the
[0085]
<Public information disclosure>
In the
[0086]
fi(Λ): = Σt j = 0ai, jλj(1 ≦ ai, j≤q integer, i = 1,2,3,4,5,6,1≤t integer) Expression (7)
[0087]
Then, the coefficient a of the equation (7)i, jAnd the generated value u by equation (1)i, j, The group G, the first element g1, The second element g2And the generated value ui, jIs made public as public information inf.
[0088]
(Equation 29)
[0089]
<Generation of decryption key>
The
[0090]
Dm= {Fi(Id)} (i = 1, 2, 3, 4, 5, 6) (8)
[0091]
<Content encryption>
The
[0092]
[Equation 30]
[0093]
Then, the
[0094]
<Decryption of encrypted content>
The
[0095]
[Equation 31]
[0096]
Note that κ ′ is a value obtained as κ ′: = H (id, α, β, γ) using H as a hash function. The hash function H used to generate κ ′ in the above equation (3) is a function that generates the same hash value as the hash function H used to generate κ in the above equation (2).
[0097]
The
[0098]
(Equation 32)
[0099]
The outline of encryption and decryption of content in the
[0100]
(Configuration of content distribution server)
First, the configuration of the
[0101]
Here, the
[0102]
The content receiving means 31 receives the content m and the identification information id for identifying the content m from the
[0103]
The public information acquisition means 32 acquires the public information inf published by the
[0104]
The exponent selecting means 33 selects an exponent (exponent exponent) r used by the encrypting means 34 with an integer in the range of 1 to q according to the order q of the group G notified from the public
[0105]
The encryption unit (encryption device) 34 includes the identification information id received by the
[0106]
The encrypted content storage means 35 stores the encrypted content c encrypted by the encryption means 34, and is composed of a general hard disk or the like.
The content distribution receiving means 36 receives a content distribution request req transmitted from the
[0107]
The
[0108]
By configuring the
[0109]
Further, here, the content m is limited to data belonging to the group G. However, when the content m is encrypted using a session key Ks (not shown) by a general encryption method, the session key Ks is The content m may be encrypted using the session key Ks as data belonging to G (Ks∈G), and the
[0110]
In the
[0111]
<Configuration of encryption device>
Here, the configuration of the
Here, the
[0112]
The exponent value generating means 34a calculates the exponent r and the first element g disclosed in the public information.1And the second element g2And the first element g1And the second element g2To the exponent r (g1 r, G2 r) And the first elementary power value α (= g1 r) And the second elementary power value β (= g2 r). The first elementary power value α and the second elementary power value β generated here are notified to the hash value generation means 34c and the data synthesis means 34e.
[0113]
The conversion data generating means 34b calculates the content m, the identification information id of the content m, the index r, and the generated value u disclosed in the public information.i, jIs input to generate converted data γ obtained by converting the content m according to equation (5). In the expression (5), Π indicates a total product symbol.
[0114]
[Equation 33]
[0115]
The conversion data γ generated here is notified to the hash
[0116]
The hash
[0117]
The decryption authentication data generation means 34d generates data (decryption authentication data δ) for authenticating whether or not the encrypted content c has been encrypted by a valid procedure at the time of decryption. Here, the decryption authentication data generating means 34d outputs the identification information id of the content m, the index r, and the generated value u disclosed in the public information.i, jAnd the converted data γ generated by the converted data generating means 34b and the hash value κ generated by the hash value generating means 34c, and the decrypted authentication data δ is generated. The decryption authentication data δ is calculated by the equation (6), and is notified to the data combining unit 34e.
[0118]
[Equation 34]
[0119]
The data synthesizing unit 34e includes a first elementary power value α and a second elementary power value β generated by the power
[0120]
The configuration of the
[0121]
The object to be encrypted by the
In the
[0122]
(Configuration of user terminal)
Next, the configuration of the user terminal (content decoding terminal) 40 will be described with reference to FIG. 4 (refer to FIG. 1 as appropriate). FIG. 4 is a block diagram showing the configuration of the
[0123]
Here, the
[0124]
The encrypted
[0125]
The license
[0126]
The
[0127]
The decryption unit (decryption device) 44 converts the encrypted content c acquired by the encrypted
[0128]
The
[0129]
The configuration of the user terminal (content decoding terminal) 40 has been described above. However, in the user terminal (content decoding terminal) 40, each unit can be realized as a function program in a computer, and the function programs are combined. To operate as a content decryption program.
[0130]
<Configuration of decoding device>
Here, with reference to FIG. 5, the configuration of the
[0131]
Here, the
[0132]
The data dividing means 44a divides the input encrypted content c into a first elementary power value α, a second elementary power value β, conversion data γ, and decryption authentication data δ. The first elementary power value α and the second elementary power value β divided here are notified to the authentication hash value generation means 44b, the comparative authentication data generation means 44c, and the decryption data generation means 44e. Also, the converted data γ is notified to the authentication hash
[0133]
The authentication hash value generation means 44b calculates a hash value using a hash function such as SHA. Here, the authentication hash
[0134]
The comparison authentication
[0135]
This comparison authentication data δ ′ has the same value as the decryption authentication data δ when the encrypted content c is generated by a valid procedure.
The
[0136]
The decrypted data generation unit 44e calculates the first elementary power value α, the second elementary power value β and the converted data γ notified from the
[0137]
Note that the decrypted data generation unit 44e performs the decryption operation only when it is determined in the determination result cmp notified from the
[0138]
As described above, the configuration of the
[0139]
Further, the decryption target of the
[0140]
The
[0141]
[Operation of content distribution system]
Next, an operation of the
(Public disclosure of information by license server)
First, with reference to FIG. 6 (see FIG. 1 as appropriate), an operation in which the
[0142]
The
[0143]
Then, the
[0144]
(Content encryption by the content distribution server)
Next, with reference to FIG. 7 (see FIGS. 1 and 2 as appropriate), an operation in which the
[0145]
The
[0146]
Further, the
[0147]
Then, the
[0148]
Through the above steps, the
[0149]
<Detailed operation of content encryption>
Here, the encryption of the content m in step S23 will be described in detail with reference to FIG. 8 (see FIGS. 1 and 3 as appropriate). FIG. 8 is a flowchart showing the operation of the encryption means (encryption device) 34 in the
[0150]
[Data generation step]
The
Further, the
[0151]
Further, the
[0152]
[Data synthesis step]
Then, the encrypting
[0153]
(Decryption / viewing of content by user terminal)
Next, an operation in which the user terminal (content decrypting terminal) 40 decrypts the encrypted content and presents the content to the user will be described with reference to FIG. 9 (see FIGS. 1 and 4 as appropriate). FIG. 9 is a flowchart showing the operation of the
[0154]
When the
[0155]
Then, the
[0156]
The
[0157]
Then, the
Then, the
[0158]
On the other hand, if the use conditions are appropriate in step S47 (Yes), the
[0159]
Through the above steps, the
[0160]
<Detailed operation of license information issuance>
Here, the issuance of the license information L in step S44 will be described in detail with reference to FIG. 10 (see FIG. 1 as appropriate). FIG. 10 is a flowchart showing an operation in which the
[0161]
When the
Then, based on the identification information id of the content, the polynomial {fiFrom (λ)} (see equation (7)), the decryption key Dm {= fi(Id)} (i = 1, 2, 3, 4, 5, 6) is generated (step S52).
[0162]
Then, the
[0163]
<Detailed operation of content decryption>
Next, the operation of decrypting the encrypted content c in step S48 in FIG. 9 will be described in detail with reference to FIG. FIG. 11 is a flowchart showing the operation of the decoding means (decoding device) 44 in the
[0164]
[Data division step]
The decrypting means 44 divides the encrypted content c into a first elementary power value α, a second elementary power value β, converted data γ, and decrypted authentication data δ by the data dividing means 44a (step S60).
[0165]
[Comparative authentication data generation step]
Then, the decryption means 44 generates the authentication hash value κ 'from the identification information id of the content, the first elementary power value α, the second elementary power value β, and the conversion data γ by the authentication hash value generation means 44b. (Step S61) The comparative authentication data generating means 44c generates the comparative authentication data δ 'according to the above equation (3) (Step S62).
[0166]
[Comparative authentication step, decryption data generation step]
Then, the comparison authentication data δ ′ is compared with the decryption authentication data δ divided by the
[0167]
As described above, in the content distribution system 1 (FIG. 1), since there is no information exchange other than the public information between the
[0168]
Further, the encryption and decryption of content in the
[0169]
【The invention's effect】
As described above, the encryption method, the device, the program, and the decryption method, the device, the program, the content distribution server, and the content decryption terminal according to the present invention have the following excellent effects.
[0170]
According to the first, second, fourth, or sixth aspect of the present invention, encryption is performed using identification information unique to digital data, an exponent selected on the encrypting side, and public information previously published. Therefore, there is no need to communicate secret information such as an encryption key with a device (server) that manages the right of digital data, such as a license server, and encryption can be performed independently.
[0171]
According to the fifth aspect of the present invention, since the decryption authentication data is added to the encrypted data, the decryption side can determine the validity of the encrypted data. As a result, security against tampering of the encrypted data can be enhanced.
[0172]
According to the third, seventh, or ninth aspect of the present invention, the encryption encrypted by the identification information unique to the digital data, the exponent selected on the encrypting side, and the public information published in advance. The decrypted data can be decrypted using the identification information and the decryption key. Further, since this decryption key is generated by a polynomial which is secret information used when generating public information, it is difficult to illegally decrypt the encrypted data. This makes it possible to construct a highly secure encryption / decryption system.
[0173]
According to the invention described in
[0174]
According to the tenth aspect of the present invention, the license server manages the right of the content because the encryption is performed using the identification information unique to the content, which is digital data, the index selected on the encrypting side, and the public information. There is no need to communicate secret information with the user, and encryption can be performed independently. As a result, security against unauthorized decryption and tampering of the encrypted content can be enhanced.
[0175]
According to the eleventh aspect of the present invention, the encrypted content encrypted by the identification information unique to the content, the exponent selected on the encrypting side, and the public information published in advance is converted into the identification information and the decryption key. And can be decoded using Further, since this decryption key is generated by a polynomial which is secret information used when generating public information, it is difficult to illegally decrypt the encrypted content. This makes it possible to construct a highly secure content distribution system.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of a content distribution system according to an embodiment of the present invention.
FIG. 2 is a block diagram showing a configuration of a content distribution server according to the embodiment of the present invention.
FIG. 3 is a block diagram showing a configuration of an encryption device according to the embodiment of the present invention.
FIG. 4 is a block diagram showing a configuration of a user terminal (content decoding terminal) according to the embodiment of the present invention.
FIG. 5 is a block diagram showing a configuration of a decoding device according to the embodiment of the present invention.
FIG. 6 is a flowchart showing an operation of publishing public information by the license server according to the embodiment of the present invention.
FIG. 7 is a flowchart showing an operation of the content distribution server according to the embodiment of the present invention.
FIG. 8 is a flowchart showing an operation of the encryption device according to the embodiment of the present invention.
FIG. 9 is a flowchart showing an operation of the user terminal (content decoding terminal) according to the embodiment of the present invention.
FIG. 10 is a flowchart showing an operation of issuing license information by the license server according to the embodiment of the present invention.
FIG. 11 is a flowchart showing an operation of the decoding device according to the embodiment of the present invention.
FIG. 12 is a block diagram illustrating a configuration of a conventional content distribution system.
[Explanation of symbols]
1, 1B ... Content distribution system
3 ... Internet
10 Content server
20, 20B ... License server
30, 30B ... Content distribution server
31 Content receiving means
32 ...... Public information acquisition means
33: Index selection means
34 ... Encryption means (encryption device)
34a... Exponent value generation means
34b conversion data generating means
34c hash value generating means
34d: decryption authentication data generation means
34e Data combining means
35 ...... Encrypted content storage means
36 Content Delivery Acceptance Means
37 ...... Content transmission means
40, 40B... User terminal (content decoding terminal)
41 ...... Encrypted content acquisition means
42 License information acquisition means
43… User authentication means
44... Decoding means (decoding device)
44a Data dividing means
44b... Authentication hash value generating means
44c ...... Comparative authentication data generation means
44d: Comparison authentication means
44e... Decrypted data generation means
45 ... Content presentation means
Claims (11)
前記公開情報は、特定の位数により巡回群となる群と、その群の要素である第一元及び第二元と、前記第一元及び前記第二元を、それぞれ予め定めた多項式の係数によりべき乗して生成される生成値とを備え、
この公開された前記群、前記第一元、前記第二元及び前記生成値と、前記デジタルデータを識別するための識別情報とに基づいて、前記デジタルデータを演算し、暗号化データを生成することを特徴とする暗号化方法。An encryption method for encrypting digital data based on public information published in advance,
The public information is a group that becomes a cyclic group by a specific order, the first element and the second element that are the elements of the group, and the first element and the second element, respectively, are coefficients of a predetermined polynomial. And a generated value generated by exponentiation by
Based on the published group, the first element, the second element, and the generated value, and identification information for identifying the digital data, calculate the digital data to generate encrypted data. An encryption method, characterized in that:
前記公開情報と、前記デジタルデータ(m)を識別するための識別情報(id)と、前記位数(q)以下の予め定めた正整数である指数(r)とから、
このデータ生成ステップで生成された第一元べき乗値(α)、第二元べき乗値(β)、変換データ(γ)及び復号認証データ(δ)を合成し、前記暗号化データ(c)とするデータ合成ステップと、
を含んでいることを特徴とする暗号化方法。A group (G) that is a cyclic group based on a specific order (q) and elements 1 (g 1 ) and 2 (g 2 ) of the group (G) and a polynomial {F i (λ): = { t j = 0 a i, j λ j } (1 ≦ a i, j ≦ q, i = 1, 2, 3, 4, 5, 6, 1 ≦ t Integer)
From the public information, identification information (id) for identifying the digital data (m), and an exponent (r) that is a predetermined positive integer equal to or less than the order (q),
The first elementary power value (α), the second elementary power value (β), the converted data (γ), and the decryption authentication data (δ) generated in the data generation step are synthesized, and the encrypted data (c) and Data synthesizing step,
An encryption method comprising:
前記識別情報(id)と、前記暗号化データ(c)に含まれる第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)とから、
この比較認証データ生成ステップで生成された比較認証データ(δ´)と、前記暗号化データ(c)に含まれる復号認証データ(δ)とを比較することで、前記暗号化データ(c)が正当な手続きによって生成されたものかどうかを認証する比較認証ステップと、
この比較認証ステップで前記暗号化データ(c)が正当な手続きによって生成されたものと判定された場合に、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
を含んでいることを特徴とする復号方法。An encrypted data (c) obtained by encrypting digital data (m) by the encryption method according to claim 2 is calculated from the polynomial based on identification information (id) for identifying the digital data (m). A decryption key {f i (id)} (i = 1, 2, 3, 4, 5, 6)
From the identification information (id) and the first elementary power value (α), the second elementary power value (β) and the conversion data (γ) included in the encrypted data (c),
By comparing the comparison authentication data (δ ′) generated in the comparison authentication data generation step with the decryption authentication data (δ) included in the encrypted data (c), the encrypted data (c) is obtained. A comparative authentication step for authenticating whether or not it was generated by a legitimate procedure;
If it is determined in the comparison authentication step that the encrypted data (c) is generated by a valid procedure, the first elementary power value (α), the second elementary power value (β), and the conversion From the data (γ) and the decryption key {f i (id)},
A decoding method comprising:
前記位数(q)以下の予め定めた正整数を指数(r)として、前記第一元(g1)及び前記第二元(g2)をべき乗し、第一元べき乗値(α)及び第二元べき乗値(β)を生成するべき乗値生成手段と、
前記デジタルデータ(m)を識別するための識別情報(id)、前記指数(r)及び前記生成値(ui,j)から、
前記第一元べき乗値(α)、前記第二元べき乗値(β)及び前記変換データ(γ)を合成し、前記暗号化データ(c)とするデータ合成手段と、
を備えていることを特徴とする暗号化装置。A group (G) that is a cyclic group based on a specific order (q) and elements 1 (g 1 ) and 2 (g 2 ) of the group (G) and a polynomial {F i (λ): = { t j = 0 a i, j λ j } (1 ≦ a i, j ≦ q, i = 1, 2, 3, 4, 5, 6, 1 ≦ t Integer)
The first element (g 1 ) and the second element (g 2 ) are raised to a power by taking a predetermined positive integer less than or equal to the order (q) as an exponent (r). Power value generating means for generating a second element power value (β);
From identification information (id) for identifying the digital data (m), the index (r), and the generated value (u i, j ),
Data synthesizing means for synthesizing the first elementary power value (α), the second elementary power value (β), and the converted data (γ) to obtain the encrypted data (c);
An encryption device comprising:
前記識別情報(id)、前記指数(r)、前記ハッシュ値(κ)及び前記生成値(ui,j)から、
前記データ合成手段が、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び復号認証データ(δ)を合成し、前記暗号化データ(c)とすることを特徴とする請求項4に記載の暗号化装置。A hash value (κ) serving as information of a specific length is generated from the identification information (id), the first elementary power value (α), the second elementary power value (β), and the converted data (γ). Hash value generating means for performing
From the identification information (id), the exponent (r), the hash value (κ), and the generated value (u i, j ),
The data combining means combines the first elementary power value (α), the second elementary power value (β), the converted data (γ), and the decryption authentication data (δ) to obtain the encrypted data (c). The encryption device according to claim 4, wherein:
前記位数(q)以下の予め定めた正整数を指数(r)として、前記第一元(g1)及び前記第二元(g2)をべき乗し、第一元べき乗値(α)及び第二元べき乗値(β)を生成するべき乗値生成手段、
前記デジタルデータ(m)を識別するための識別情報(id)、前記指数(r)及び前記生成値(ui,j)から、
前記第一元べき乗値(α)、前記第二元べき乗値(β)及び前記変換データ(γ)を合成し、前記暗号化データ(c)とするデータ合成手段、
として機能させることを特徴とする暗号化プログラム。A group (G) that is a cyclic group based on a specific order (q) and elements 1 (g 1 ) and 2 (g 2 ) of the group (G) and a polynomial {F i (λ): = { t j = 0 a i, j λ j } (1 ≦ a i, j ≦ q, i = 1, 2, 3, 4, 5, 6, 1 ≦ t Integer)
The first element (g 1 ) and the second element (g 2 ) are raised to a power by taking a predetermined positive integer less than or equal to the order (q) as an exponent (r). Power value generating means for generating a second element power value (β);
From identification information (id) for identifying the digital data (m), the index (r), and the generated value (u i, j ),
Data synthesizing means for synthesizing the first elementary power value (α), the second elementary power value (β), and the converted data (γ) to obtain the encrypted data (c);
An encryption program characterized by functioning as:
前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)に分割するデータ分割手段と、
前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
を備えていることを特徴とする復号装置。An encrypted data (c) obtained by encrypting digital data (m) by the encryption device according to claim 4 is calculated from the polynomial based on identification information (id) for identifying the digital data (m). And a decryption device that decrypts the decryption key {f i (id)} (i = 1, 2, 3, 4, 5, 6, 6)
Data dividing means for dividing the encrypted data (c) into a first elementary power value (α), a second elementary power value (β), and converted data (γ);
The first way exponential value (alpha), from the second original exponential value (beta), the converted data (gamma) and the decryption key {f i (id)},
A decoding device comprising:
前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)、変換データ(γ)及び復号認証データ(δ)に分割するデータ分割手段と、
前記識別情報(id)と、前記データ分割手段で分割された第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)とから、特定の長さの情報となる認証用ハッシュ値(κ´)を生成する認証用ハッシュ値生成手段と、
前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記認証用ハッシュ値(κ´)及び前記復号鍵{fi(id)}から、
この比較認証データ生成手段で生成された比較認証データ(δ´)と、前記復号認証データ(δ)とを比較することで、前記暗号化データ(c)が正当な手続きによって生成されたものかどうかを認証する比較認証手段と、
この比較認証手段の判定結果に基づいて、前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
を備えていることを特徴とする復号装置。An encrypted data (c) obtained by encrypting digital data (m) by the encryption device according to claim 5 is calculated from the polynomial based on identification information (id) for identifying the digital data (m). A decryption device that decrypts the decryption key {f i (id)} (i = 1, 2, 3, 4, 5, 6, 6)
Data dividing means for dividing the encrypted data (c) into a first elementary power value (α), a second elementary power value (β), conversion data (γ), and decryption authentication data (δ);
Information of a specific length is obtained from the identification information (id), the first elementary power value (α), the second elementary power value (β), and the converted data (γ) divided by the data dividing means. An authentication hash value generating means for generating an authentication hash value (κ ′);
The first way exponential value (alpha), from the second original exponential value (beta), the authentication hash value (κ') and the decryption key {f i (id)},
By comparing the comparison authentication data (δ ′) generated by the comparison authentication data generation means with the decryption authentication data (δ), it is determined whether the encrypted data (c) is generated by a valid procedure. A comparative authentication means for authenticating whether
Based on the determination result of the comparison the authentication means, from the first original exponential value (alpha), the second way exponential value (beta), the converted data (gamma) and the decryption key {f i (id)},
A decoding device comprising:
前記暗号化データ(c)を、第一元べき乗値(α)、第二元べき乗値(β)及び変換データ(γ)に分割するデータ分割手段、
前記第一元べき乗値(α)、前記第二元べき乗値(β)、前記変換データ(γ)及び前記復号鍵{fi(id)}から、
として機能させることを特徴とする復号プログラム。An encrypted data (c) obtained by encrypting digital data (m) by the encryption program according to claim 6 is calculated from the polynomial based on identification information (id) for identifying the digital data (m). In order to decrypt with the decryption key {f i (id)} (i = 1, 2, 3, 4, 5, 6)
Data dividing means for dividing the encrypted data (c) into a first elementary power value (α), a second elementary power value (β), and converted data (γ);
The first way exponential value (alpha), from the second original exponential value (beta), the converted data (gamma) and the decryption key {f i (id)},
A decryption program characterized by functioning as:
前記公開情報を前記ライセンスサーバから取得する公開情報取得手段と、
前記位数以下の正整数を指数として選択する指数選択手段と、
前記公開情報と、前記コンテンツを識別する識別情報と、前記指数とに基づいて、前記コンテンツを暗号化して暗号化コンテンツを生成する請求項4又は請求項5に記載の暗号化装置と、
この暗号化装置で生成された暗号化データである暗号化コンテンツを蓄積する暗号化コンテンツ蓄積手段と、
端末から要求のあった暗号化コンテンツを前記暗号化コンテンツ蓄積手段から読み込んで前記端末へ送信するコンテンツ送信手段と、
を備えていることを特徴とするコンテンツ配信サーバ。A group (G) to be a cyclic group with a specific order (q) previously published by a license server that provides license information of content as digital data, and a first element which is an element of the group (G) (G 1 ) and the second element (g 2 ), and a polynomial {f i (λ): = { t j = 0 a i, j λ j } (1 ≦ a i, an integer of j ≦ q, i = 1 , 2, 3, 4, 5, 6, 1 ≦ t))
Public information acquisition means for acquiring the public information from the license server;
Exponent selecting means for selecting a positive integer less than or equal to the order as an exponent,
The encryption device according to claim 4 or 5, wherein the encryption device generates the encrypted content by encrypting the content based on the public information, the identification information for identifying the content, and the index.
Encrypted content storage means for storing encrypted content that is encrypted data generated by the encryption device;
Content transmitting means for reading the encrypted content requested from the terminal from the encrypted content storage means and transmitting the encrypted content to the terminal;
A content distribution server comprising:
前記暗号化コンテンツを前記コンテンツ配信サーバから取得する暗号化コンテンツ取得手段と、
前記ライセンス情報を前記ライセンスサーバから取得するライセンス情報取得手段と、
前記暗号化コンテンツを、前記識別情報及び前記ライセンス情報に含まれる復号鍵に基づいて前記コンテンツに復号する請求項7又は請求項8に記載の復号装置と、
を備えていることを特徴とするコンテンツ復号端末。An encrypted content, wherein the content being digital data is encrypted data encrypted by the content distribution server according to claim 10, including identification information for identifying the content, and a decryption key obtained from a license server. A content decryption terminal that decrypts the content based on the license information,
Encrypted content acquisition means for acquiring the encrypted content from the content distribution server,
License information obtaining means for obtaining the license information from the license server;
The decryption device according to claim 7, wherein the encrypted content is decrypted into the content based on a decryption key included in the identification information and the license information.
A content decryption terminal comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003016602A JP4133364B2 (en) | 2003-01-24 | 2003-01-24 | ENCRYPTION DEVICE AND ITS PROGRAM, DECRYPTION DEVICE AND ITS PROGRAM, CONTENT DISTRIBUTION SERVER, AND CONTENT DECRYPTION TERMINAL |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003016602A JP4133364B2 (en) | 2003-01-24 | 2003-01-24 | ENCRYPTION DEVICE AND ITS PROGRAM, DECRYPTION DEVICE AND ITS PROGRAM, CONTENT DISTRIBUTION SERVER, AND CONTENT DECRYPTION TERMINAL |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2004226849A true JP2004226849A (en) | 2004-08-12 |
JP4133364B2 JP4133364B2 (en) | 2008-08-13 |
Family
ID=32904007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003016602A Expired - Fee Related JP4133364B2 (en) | 2003-01-24 | 2003-01-24 | ENCRYPTION DEVICE AND ITS PROGRAM, DECRYPTION DEVICE AND ITS PROGRAM, CONTENT DISTRIBUTION SERVER, AND CONTENT DECRYPTION TERMINAL |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4133364B2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354496A (en) * | 2004-06-11 | 2005-12-22 | Nippon Hoso Kyokai <Nhk> | Decryption information generator, program thereof, download content generator, program thereof, content decryption device and program thereof |
JP2006121359A (en) * | 2004-10-21 | 2006-05-11 | Nippon Hoso Kyokai <Nhk> | License information generating device and program therefor, distributed content generating device and program therefor, content decoding device and program therefor, and content decoding method |
JP2008053768A (en) * | 2006-08-22 | 2008-03-06 | Kddi Corp | Content distributing method, content distributing server, broadcasting station server, and terminal |
-
2003
- 2003-01-24 JP JP2003016602A patent/JP4133364B2/en not_active Expired - Fee Related
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005354496A (en) * | 2004-06-11 | 2005-12-22 | Nippon Hoso Kyokai <Nhk> | Decryption information generator, program thereof, download content generator, program thereof, content decryption device and program thereof |
JP4598437B2 (en) * | 2004-06-11 | 2010-12-15 | 日本放送協会 | Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof |
JP2006121359A (en) * | 2004-10-21 | 2006-05-11 | Nippon Hoso Kyokai <Nhk> | License information generating device and program therefor, distributed content generating device and program therefor, content decoding device and program therefor, and content decoding method |
JP2008053768A (en) * | 2006-08-22 | 2008-03-06 | Kddi Corp | Content distributing method, content distributing server, broadcasting station server, and terminal |
JP4587399B2 (en) * | 2006-08-22 | 2010-11-24 | Kddi株式会社 | Content delivery method and system |
Also Published As
Publication number | Publication date |
---|---|
JP4133364B2 (en) | 2008-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7200230B2 (en) | System and method for controlling and enforcing access rights to encrypted media | |
US7978848B2 (en) | Content encryption schema for integrating digital rights management with encrypted multicast | |
EP2494486B1 (en) | System for protecting an encrypted information unit | |
JP3993385B2 (en) | Content distribution system, copyright protection system, and content receiving terminal | |
KR100670017B1 (en) | Method for broadcast encryption based on the combination | |
JP5492007B2 (en) | Content server, content receiving apparatus, attribute key issuing server, user key issuing server, access control system, content distribution program, and content receiving program | |
JP4733497B2 (en) | CONTENT DISTRIBUTION DEVICE, LICENSE ISSUING DEVICE, BILLING DEVICE AND CONTENT VIEWING TERMINAL, LICENSE REQUEST GENERATION PROGRAM, LICENSE GENERATION PROGRAM, AND BILLING PROGRAM | |
JP2002300158A (en) | Right protection method in overall data distribution service | |
US9026781B2 (en) | System and method for data transmission | |
JP4377619B2 (en) | CONTENT DISTRIBUTION SERVER AND ITS PROGRAM, LICENSE ISSUING SERVER AND ITS PROGRAM, CONTENT DECRYPTION TERMINAL AND ITS PROGRAM, CONTENT DISTRIBUTION METHOD AND CONTENT DECRYPTION METHOD | |
JPH11346210A (en) | Encryption method and device, decoding method and device, record medium recording encryption program, record medium recording decoding program, method for electronic signature and method for authenticating electronic signature | |
JP4133364B2 (en) | ENCRYPTION DEVICE AND ITS PROGRAM, DECRYPTION DEVICE AND ITS PROGRAM, CONTENT DISTRIBUTION SERVER, AND CONTENT DECRYPTION TERMINAL | |
US20220171832A1 (en) | Scalable key management for encrypting digital rights management authorization tokens | |
JP4080283B2 (en) | Content distribution system | |
JP4452105B2 (en) | Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof | |
JP4598437B2 (en) | Decryption information generation device and program thereof, distribution content generation device and program thereof, and content decryption device and program thereof | |
US20110066857A1 (en) | Method for secure delivery of digital content | |
JP4875481B2 (en) | Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, and content decrypting device and program thereof | |
JP2009171016A (en) | Encrypted information generation device, its program, content generation device for distribution, its program, and content decoding device, and its program | |
JP2004347636A (en) | Ticket processing system and method therefor | |
JP5391043B2 (en) | Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, content decrypting device and program thereof, and user specifying device and program thereof | |
JP5557707B2 (en) | Encrypted information generating device and program thereof, secret key generating device and program thereof, distribution content generating device and program thereof, content decrypting device and program thereof, and user specifying device and program thereof | |
JP2009171384A (en) | Encryption information generation device and its program, secret key generation device and its program, and content decryption apparatus and its program | |
JP4559868B2 (en) | Security module, content receiving apparatus, contract information generating apparatus, contract information verifying apparatus, and contract information verifying method | |
EP2293211A1 (en) | Digital rights management system with diversified content protection process |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080122 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080324 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080507 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080602 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110606 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120606 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130606 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |