JP2009171384A - 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム - Google Patents

暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム Download PDF

Info

Publication number
JP2009171384A
JP2009171384A JP2008008784A JP2008008784A JP2009171384A JP 2009171384 A JP2009171384 A JP 2009171384A JP 2008008784 A JP2008008784 A JP 2008008784A JP 2008008784 A JP2008008784 A JP 2008008784A JP 2009171384 A JP2009171384 A JP 2009171384A
Authority
JP
Japan
Prior art keywords
content
polynomial
coefficient
secret key
generated
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.)
Pending
Application number
JP2008008784A
Other languages
English (en)
Inventor
Kazuto Ogawa
一人 小川
Goichiro Hanaoka
悟一郎 花岡
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2008008784A priority Critical patent/JP2009171384A/ja
Publication of JP2009171384A publication Critical patent/JP2009171384A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】安全性を保持しつつ、秘密鍵のデータ量を抑えるコンテンツ配信システムを提供する。
【解決手段】コンテンツ配信システム1は、暗号化情報生成装置10において、2つの素数及び生成元を基本情報として生成し、最大結託者数k以上の数k、kをそれぞれ次数とした第1多項式及び第2多項式の係数を生成し、生成元gを第1多項式の係数ごとに当該係数でべき乗したべき乗値と、生成元hを第2多項式の係数ごとに当該係数でべき乗したべき乗値とを算出し、第1多項式の最大次数kからk(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と第2多項式の最小次数の係数から数えてk個のべき乗値とを乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、基本情報とを含んだ公開鍵を生成することを特徴とする。
【選択図】図1

Description

本発明は、コンテンツを暗号化して配信するコンテンツ配信システムに用いられる暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラムに関する。
近年、インターネット(ネットワーク)上で、映像、音声等の種々のコンテンツが流通するようになってきた。
しかし、インターネット上でコンテンツの売買を行う場合、正規の利用者が不正によりコンテンツを流通させてしまうことがあり、コンテンツ提供者に被害を与えるケースが増えている。このような問題に対して、不正に流通したコンテンツがどの利用者から配信されたものかを特定する方法として、「不正者追跡(Traitor Tracing)方式」と呼ばれる暗号化技術を用いる手法がある(以下、「KD98法」という。非特許文献1参照)。
このKD98法では、暗号化されたコンテンツを復号する鍵となる秘密鍵を、利用者固有の識別子と多項式とを用いて生成している。すなわち、多項式をf(x)としたとき、変数xに利用者固有の識別子IDを代入したf(ID)が利用者の秘密鍵となる。このため、利用者が不正に秘密鍵の複製を作成した場合には、その秘密鍵f(ID)を作成するために使用した識別子IDを求めることで、どの利用者が不正を行ったかを特定することができる。なお、このKD98法では、当該不正者追跡方式を用いたシステムに対して、結託してk人の不正者が不正(攻撃)を行った場合でも耐性を持たせるために、多項式f(x)の次数をk次としている。
さらに、KD98法の安全性を高めるため、多項式f(x)の次数を(2k−1)次に高めた方式も提案されている(以下、「KY02法」という。非特許文献2参照)。このように次数を高めることで、線形攻撃(Linear Attack)と呼ばれる攻撃に対して耐性を持たせることができる。
また、前記したKD98法やKY02法は、攻撃者が、ある定められた鍵のみ漏洩を受けることができる非適応的(Non−Adaptive)な攻撃に対して安全性が証明されている。
これに対し、攻撃者が、いかなる鍵であっても、鍵漏洩を受けることができる適応的(Adaptive)な攻撃に対しても安全性が証明された手法が提案されている(以下、「DF03法」という。非特許文献3参照)。
このDF03法では、次数が(2k−1)次の多項式を2つ(f(x),f(x))用いて、利用者の秘密鍵を生成している。すなわち、多項式を(f(x),f(x))としたとき、変数xに利用者固有の識別子IDを代入した(f(ID),f(ID))が利用者の秘密鍵となる。
なお、多項式の係数によって、任意の利用者の秘密鍵を生成することが可能である。そこで、コンテンツ提供者(プロバイダ)は、多項式の係数を厳重に管理・保管している。
Kaisa Nyberg著"Advances in Cryptology−EUROCRYPT’98",Lecture Notes in Computer Science,vol1403,pp.145−157 David Naccache and Pascal Paillier著"Public Key Cryptography−PKC’02",Lecture Notes in Computer Science,vol2274,pp.172−187 Yvo.G.Desmedt著"Public Key Cryptography−PKC’03",Lecture Notes in Computer Science,vol2567,pp.100−115
前記したように、KD98法、KY02法及びDF03法は、多項式の係数を、プロバイダの秘密情報として厳重に管理・保管する必要がある。ここで、システムに対して、結託して攻撃を行う不正者の数をk、1個の係数のデータ長を|q|(一般に、|q|は160ビット程度)とすると、KD98法を使用したシステムにおいては、多項式の係数を保管するために、(k+1)×|q|の記憶容量が必要になる。同様に、KY02法では2k×|q|、DF03法では2k×2×|q|の記憶容量が必要になる。
すなわち、従来の手法によれば、攻撃に対する安全性を高めれば高めるほど、プロバイダが管理・保管する秘密情報(多項式の係数)のデータ量が多くなってしまうという問題がある。
本発明は、以上のような問題点に鑑みてなされたものであり、DF03法と同程度の高い安全性を保持しつつ、秘密情報のデータ量を抑えることが可能な暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラムを提供することを目的とする。
本発明は、前記目的を達成するために創案されたものであり、まず、請求項1に記載の暗号化情報生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布される秘密鍵を生成するための多項式係数と、当該秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、基本情報生成手段と、多項式係数生成手段と、公開鍵生成手段と、を備える構成とした。
かかる構成において、暗号化情報生成装置は、基本情報生成手段によって、(p−1)の値がqで割り切れる素数p及びqと、qを位数とした乗法に関して群をなす乗法群に含まれる生成元g及びhとを、基本情報として生成する。
そして、暗号化情報生成装置は、多項式係数生成手段によって、基本情報生成手段で生成された素数q未満の数の中から、不正者の予め定めた最大結託者数k以上の数であるk、kをそれぞれ次数とした第1多項式の係数a{0≦i≦k}と、第2多項式の係数b{0≦i≦k}とを選択して、多項式係数として生成する。この係数の選択は、乱数によって任意に選択されることとしてもよいし、当該暗号化情報生成装置を操作する操作者によって選択されることとしてもよい。この段階で、2つの多項式が特定されることになる。
なお、最小個数の係数を生成するのであれば、k及びkをともにkとすればよい。すなわち、多項式係数生成手段は、数列{1,2,…,q−1}から、(2k+2)個の値を選択し、(k+1)個ずつの第1多項式の係数a{0≦i≦k}及び第2多項式の係数b{0≦i≦k}を生成すればよい。
そして、暗号化情報生成装置は、公開鍵生成手段によって、生成元gを第1多項式の係数ごとに当該係数でべき乗した複数のべき乗値と、生成元hを第2多項式の係数ごとに当該係数でべき乗した複数のべき乗値とを算出する。そして、暗号化情報生成装置は、公開鍵生成手段によって、第1多項式の最大次数kから予め定めた数k(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と、第2多項式の最小次数の係数から数えてk個のべき乗値とをそれぞれ乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、基本情報生成手段で生成された基本情報とを要素として含んだ公開鍵を生成する。ここで、乗法群の生成元のべき乗値を算出することで、離散対数計算の有する困難性により暗号系の安全性を確保することができる。
このように、暗号化情報生成装置は、2つの多項式の係数の数をそれぞれ最少で(k+1)個とすることができる。これによって、それぞれの多項式の係数を2k個とする場合に比べて、多項式の係数の数を減少させることができ、かつ、2つの多項式を用いることで、Adaptiveな攻撃に対して安全性を確保することが可能な公開鍵を生成することができる。
また、請求項2に記載の暗号化情報生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布される秘密鍵を生成するための多項式係数と、当該秘密鍵に対応する公開鍵とを生成するために、コンピュータを、基本情報生成手段と、多項式係数生成手段と、公開鍵生成手段として機能させる構成とした。
かかる構成において、暗号化情報生成プログラムは、基本情報生成手段によって、(p−1)の値がqで割り切れる素数p及びqと、qを位数とした乗法に関して群をなす乗法群に含まれる生成元g及びhとを、基本情報として生成する。
そして、暗号化情報生成装置は、多項式係数生成手段によって、基本情報生成手段で生成された素数q未満の数の中から、不正者の予め定めた最大結託者数k以上の数であるk、kをそれぞれ次数とした第1多項式の係数a{0≦i≦k}と、第2多項式の係数b{0≦i≦k}とを選択して、多項式係数として生成する。
そして、暗号化情報生成プログラムは、公開鍵生成手段によって、生成元gを第1多項式の係数ごとに当該係数でべき乗した複数のべき乗値と、生成元hを第2多項式の係数ごとに当該係数でべき乗した複数のべき乗値とを算出する。そして、暗号化情報生成プログラムは、公開鍵生成手段によって、第1多項式の最大次数kから予め定めた数k(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と、第2多項式の最小次数の係数から数えてk個のべき乗値とをそれぞれ乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、基本情報生成手段で生成された基本情報とを要素として含んだ公開鍵を生成する。
また、請求項3に記載の秘密鍵生成装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された多項式係数に基づいて、コンテンツ復号装置に配布する秘密鍵を生成する秘密鍵生成装置であって、第1多項式演算手段と、第2多項式演算手段と、秘密鍵出力手段と、を備える構成とした。
かかる構成において、秘密鍵生成装置は、第1多項式演算手段によって、暗号化情報生成装置で生成された第1多項式の係数a{0≦i≦k}と、第1多項式の各項の次数i{0≦i≦k}とで特定される第1多項式に、ユーザ固有の値を代入することで、第1多項式を演算する。ここで、ユーザ固有の値とは、ユーザを特定する情報であれば何でもよく、例えば、ユーザに予め割り振られた識別子(ユーザID)を用いることができる。
また、秘密鍵生成装置は、第2多項式演算手段によって、暗号化情報生成装置で生成された第2多項式の係数b{0≦i≦k}と、第2多項式の各項の次数i{0≦i≦k}とで特定される第2多項式に、ユーザ固有の値を代入することで、第2多項式を演算する。
そして、秘密鍵生成装置は、秘密鍵出力手段によって、第1多項式演算手段で演算された演算結果と、第2多項式演算手段で演算された演算結果とを、秘密鍵として出力する。この秘密鍵は、コンテンツ復号装置において、ユーザがコンテンツを復号する際に使用される。
このように、多項式の演算を行うことで、秘密鍵生成装置は、不正者追跡(Traitor Tracing)方式で利用可能な秘密鍵を生成することができる。
さらに、請求項4に記載の秘密鍵生成プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項2に記載の暗号化情報生成装置によって生成された多項式係数に基づいて、コンテンツ復号装置に配布する秘密鍵を生成するために、コンピュータを、第1多項式演算手段、第2多項式演算手段、秘密鍵出力手段として機能させる構成とした。
かかる構成において、秘密鍵生成プログラムは、第1多項式演算手段によって、暗号化情報生成装置で生成された第1多項式の係数a{0≦i≦k}と、第1多項式の各項の次数i{0≦i≦k}とで特定される第1多項式に、ユーザ固有の値を代入することで、第1多項式を演算する。
また、秘密鍵生成プログラムは、第2多項式演算手段によって、暗号化情報生成装置で生成された第2多項式の係数b{0≦i≦k}と、第2多項式の各項の次数i{0≦i≦k}とで特定される第2多項式に、ユーザ固有の値を代入することで、第2多項式を演算する。
そして、秘密鍵生成プログラムは、秘密鍵出力手段によって、第1多項式演算手段で演算された演算結果と、第2多項式演算手段で演算された演算結果とを、秘密鍵として出力する。
また、請求項5に記載のコンテンツ復号装置は、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置で生成された公開鍵PKを、
Figure 2009171384
としたとき、前記コンテンツを暗号化した暗号化鍵Ksと乱数rとにより生成された次式で示すヘッダ情報
Figure 2009171384
と暗号化コンテンツとで構成される配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成された秘密鍵に基づいて復号するコンテンツ復号装置であって、分離手段と、暗号化鍵復号手段と、コンテンツ復号手段と、を備える構成とした。
かかる構成において、コンテンツ復号装置は、分離手段によって、配信用コンテンツを、ヘッダ情報と暗号化コンテンツとに分離する。
そして、コンテンツ復号装置は、暗号化鍵復号手段によって、分離手段で分離されたヘッダ情報を
Figure 2009171384
としたとき、秘密鍵である第1多項式の演算結果SKID1、及び、第2多項式の演算結果SKID2と、ユーザ固有の値IDとに基づいて、
Figure 2009171384
により、コンテンツを暗号化した暗号化鍵Ksを復号する。
そして、コンテンツ復号装置は、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵に基づいて、暗号化コンテンツを復号する。
さらに、請求項6に記載のコンテンツ復号プログラムは、コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項2に記載の暗号化情報生成装置で生成された公開鍵PKを、
Figure 2009171384
としたとき、前記コンテンツを暗号化した暗号化鍵Ksと乱数rとにより生成された次式で示すヘッダ情報
Figure 2009171384
と暗号化コンテンツとで構成される配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成された秘密鍵に基づいて復号するために、コンピュータを、分離手段、暗号化鍵復号手段、コンテンツ復号手段、として機能させる構成とした。
かかる構成において、コンテンツ復号プログラムは、分離手段によって、配信用コンテンツを、ヘッダ情報と暗号化コンテンツとに分離する。
そして、コンテンツ復号プログラムは、暗号化鍵復号手段によって、分離手段で分離されたヘッダ情報を
Figure 2009171384
としたとき、秘密鍵である第1多項式の演算結果SKID1、及び、第2多項式の演算結果SKID2と、ユーザ固有の値IDとに基づいて、
Figure 2009171384
により、コンテンツを暗号化した暗号化鍵Ksを復号する。
そして、コンテンツ復号プログラムは、コンテンツ復号手段によって、暗号化鍵復号手段で復号された暗号化鍵に基づいて、暗号化コンテンツを復号する。
本発明は、以下に示す優れた効果を奏するものである。
請求項1又は請求項2に記載の発明によれば、従来の2つの多項式を用いた不正者追跡(Traitor Tracing)方式に比べ、安全性を確保したまま、多項式の係数(秘密情報)を減らすことができる。例えば、k及びkをともに不正者の予め定めた最大結託者数kとすれば多項式の係数(秘密情報)を約半分に減らすことができる。これによって、コンテンツ配信システムにおいて、多項式の係数を管理する記憶容量を減らすことができる。
請求項3又は請求項4に記載の発明によれば、請求項1又は請求項2に記載の発明により生成された多項式の係数を用いて秘密鍵を生成するため、従来の2つの多項式を用いた不正者追跡方式に比べ、多項式の係数を減らすことができ、多項式の演算を行うCPUの負荷を軽減することができる。
請求項5又は請求項6に記載の発明によれば、暗号化コンテンツが、不正に流通する場合であっても、その暗号化コンテンツを復号するための情報は、そのユーザ固有の識別情報であり、どのユーザが不正を行ったかを特定することが可能になる。
以下、本発明の実施の形態について図面を参照して説明する。
[コンテンツ配信システムの構成]
まず、図1を参照して、コンテンツ配信システムの構成について説明する。図1は、本発明の実施の形態に係るコンテンツ配信システムの構成を示すブロック図である。コンテンツ配信システム1は、コンテンツの配信者(以下、プロバイダという)にイントラネット3で接続された暗号化情報生成サーバ10と、秘密鍵生成サーバ20と、コンテンツサーバ30と、コンテンツ配信サーバ40と、ゲートウェイ(GW)5とを備え、インターネット7を経由してコンテンツの購入者(以下、ユーザという)側の端末であるユーザ端末50にコンテンツを配信するシステムである。
暗号化情報生成サーバ(暗号化情報生成装置)10は、コンテンツを暗号化する際に用いる暗号化情報として、秘密鍵生成サーバ20で使用する多項式の係数や、コンテンツサーバ30で使用する公開鍵を生成するものである。なお、生成された多項式の係数は、秘密鍵生成サーバ20に送信され、公開鍵は、コンテンツサーバ30に送信される。
秘密鍵生成サーバ(秘密鍵生成装置)20は、暗号化されたコンテンツを復号する際に使用するユーザ固有の秘密鍵(ユーザ秘密鍵)を生成するものである。この生成されたユーザ秘密鍵は、ユーザ側のユーザ端末50に配布(送信)される。
コンテンツサーバ(配信用コンテンツ生成装置)30は、コンテンツを暗号化し、暗号化情報生成サーバ10で生成される公開鍵を用いて、コンテンツの暗号化に使用した暗号化鍵を暗号化してヘッダ情報を生成し、暗号化されたコンテンツと合成することで、ユーザ側に配信するコンテンツ(配信用コンテンツ)を生成するものである。なお、コンテンツサーバ30は、図示していない記憶手段に複数の配信用コンテンツを保持し、コンテンツ配信サーバ40から要求のあった配信用コンテンツをコンテンツ配信サーバ40に送信する。
コンテンツ配信サーバ40は、ユーザ端末50から要求のあったコンテンツ(配信用コンテンツ)を、コンテンツサーバ30から取得し、ユーザ端末50に送信するものである。
ユーザ端末(コンテンツ復号装置)50は、ユーザが所望するコンテンツ(配信用コンテンツ)をコンテンツ配信サーバ40に対して要求し、コンテンツ配信サーバ40から取得した配信用コンテンツを復号するものである。このユーザ端末50は、予め秘密鍵生成サーバ20から、ユーザ固有のユーザ秘密鍵を取得し、配信コンテンツを復号する。なお、ここでは、1台のユーザ端末50のみを図示しているが、インターネット7を介して、複数のユーザ端末50が接続可能なことは言うまでもない。
ゲートウェイ(GW)5は、イントラネット3とインターネット7との各ネットワークを接続するための装置である。このゲートウェイ5は、例えば、IPルータ(IP:Internet Protocol)であり、イントラネット3内への不正アクセスを防ぐファイア・ウォールの機能を有するものである。
以下、プロバイダ側の装置である暗号化情報生成サーバ10、秘密鍵生成サーバ20、コンテンツサーバ30及びコンテンツ配信サーバ40の各構成と、ユーザ側の装置であるユーザ端末50の構成とについて順次説明を行う。
(暗号化情報生成サーバの構成)
まず、図2を参照(適宜図1参照)して、暗号化情報生成サーバの構成について説明する。図2は、暗号化情報生成サーバの構成を示すブロック図である。ここでは、暗号化情報生成サーバ10は、基本情報生成手段11と、多項式係数生成手段12と、多項式係数送信手段13と、公開鍵生成手段14と、公開鍵送信手段15とを備えている。
基本情報生成手段11は、多項式係数生成手段12や公開鍵生成手段14において多項式の係数や公開鍵を生成するために用いる基本情報を生成するものである。
具体的には、基本情報生成手段11は、基本情報として、2つの素数(p及びq)と、2つの生成元(g及びh)とを生成する。
ここでは、基本情報生成手段11は、(p−1)の値がqで割り切れる素数p及びqを生成する。また、基本情報生成手段11は、位数(素数)qの乗法に関して群をなす乗法群Z の中から、2つの異なる生成元g及びhを生成する。
なお、基本情報生成手段11は、生成した素数の1つである素数qを多項式係数生成手段12に出力し、生成した素数p及びqと、生成元g及びhとを公開鍵生成手段14に出力する。
多項式係数生成手段12は、秘密鍵生成サーバ20において、ユーザ秘密鍵を生成する際に用いる多項式の係数を生成するものである。
ここでは、多項式係数生成手段12は、基本情報生成手段11で生成された素数q未満の数の中から、不正者の予め定めた最大結託者数(コンテンツ配信システム1に対して、不正者が結託して不正(攻撃)を行った場合でも耐性を持たせことが可能な最大数)以上の数を次数とした第1多項式及び第2多項式の係数を選択して、多項式係数として生成する。なお、係数の選択は、乱数によって任意に選択されることとしてもよいし、暗号化情報生成サーバ10を操作する操作者によって選択されることとしてもよい。
また、多項式係数生成手段12が生成する第1多項式及び第2多項式の係数の個数は、それぞれ最大結託者数k以上の数であればよく、最大結託者数k以上の数をk、kとしたとき、多項式係数生成手段12は、第1多項式の係数a{0≦i≦k}と、第2多項式の係数b{0≦i≦k}を生成する。なお、ここでは、最も多項式の係数が少なくなるk及びkがともにkである場合について説明することとする。
すなわち、ここでは、多項式係数生成手段12は、数列{1,2,…,q−1}から(2k+2)個の値をランダムに選択し、(2k+2)個の値を(k+1)個ずつに分けることで、係数a{0≦i≦k(=k)}及びb{0≦i≦k(=k)}を生成する。なお、この最大結託者数kは、図示を省略した記憶装置に予め記憶させておいてもよいし、外部から図示を省略した入力手段を介して入力されることとしてもよい。
このように生成された係数a及びbは、以下の(1)式に示す2つの多項式f(x)及びf(x)の係数を示している。
Figure 2009171384
なお、多項式係数生成手段12は、生成した多項式の係数を、多項式係数送信手段13と公開鍵生成手段14とに出力する。
ここで、図11を参照して、ユーザ秘密鍵を生成する際に用いる多項式について、従来の多項式と比較して説明する。図11は、ユーザ秘密鍵を生成する際に用いる多項式を示す図であって、(a)は本発明において使用する多項式、(b)は従来のKY02法で使用する多項式、(c)は従来のDF03法で使用する多項式である。
図11(a)に示すように、本発明においては、2つの多項式f(x)及びf(x)の次数を、それぞれk次としている。この場合、使用する係数は、a〜a及びb〜bの(2k+2)個となる。
また、図11(b)に示すように、従来のKY02法においては、1つの多項式f(x)の次数を(2k−1)次としている。この場合、使用する係数は、a〜a2k−1の2k個となる。
また、図11(c)に示すように、従来のDF03法においては、2つの多項式f(x)及びf(x)の次数を、それぞれ(2k−1)次としている。この場合、使用する係数は、a〜a2k−1及びb〜b2k−1の(2k×2=4k)個となる。
なお、本発明者は、2つの多項式を用いることで、(a)のように次数を省略した多項式であっても、(c)に示した従来のDF03法と同程度の高い安全性を有することを解明した。これによって、本発明は、(b)に示した従来のKY02法と同程度の係数の個数を用いて、DF03法と同程度の高い安全性を確保することが可能になる。
図2に戻って、暗号化情報生成サーバ10の構成について説明を続ける。
多項式係数送信手段13は、多項式係数生成手段12で生成された多項式の係数を、イントラネット3を介して秘密鍵生成サーバ20に送信するものである。
公開鍵生成手段14は、コンテンツサーバ30において、配信用コンテンツに合成するヘッダ(コンテンツ配信ヘッダ)を生成するための公開鍵(Traitor Tracing用公開鍵;TT用公開鍵)を生成するものである。
ここでは、公開鍵生成手段14は、基本情報生成手段11で生成された2つの素数(p及びq)及び2つの生成元(g及びh)と、多項式係数生成手段12で生成された多項式の係数(a{0≦i≦k}及びb{0≦i≦k})とに基づいて、以下の(2)式に示す公開鍵PKを生成する。
Figure 2009171384
この(2)式に示すように、公開鍵には、2つの素数(p及びq)及び2つの生成元(g及びh)以外に、生成元(g及びh)を多項式の係数乗(べき乗)した要素y,y,…,y2kを含んでいる。
ここで、要素y〜yk−1は、それぞれ生成元gを係数a〜ak−1乗したべき乗値であり、要素yk+1〜y2kは、それぞれ生成元hを係数b〜b乗したべき乗値である。また、要素yは、生成元gを係数a乗したべき乗値と、生成元hを係数b乗したべき乗値との積(乗算値)である。この係数aは、第1の多項式の次数がk(最大結託者数)の係数(第1係数)であり、係数bは、第2の多項式の次数が最小(ゼロ)の係数(第2係数)である。また、公開鍵生成手段14は、生成した公開鍵を公開鍵送信手段15に出力する。
なお、ここでは、2つの多項式が両方ともk次多項式となる場合に、公開鍵生成手段14が公開鍵を生成する手法について説明したが、これに限定されるものではない。例えば、第1の多項式が(k+1)次で第2の多項式がk次でもよく、この場合、k次のべき乗値及び(k+1)次のべき乗値は、それぞれ
Figure 2009171384
となる。また、2つの多項式の次数は、ともにk次以上であればその数が限定されることはない。
このように、2つの多項式の次数をそれぞれk次以上の任意の数を用いる場合、公開鍵生成手段14は、基本情報生成手段11で生成された2つの素数(p及びq)及び2つの生成元(g及びh)と、多項式係数生成手段12で生成された多項式の係数(a{0≦i≦k}及びb{0≦i≦k})とに基づいて、以下の(3)式により公開鍵PKを生成することができる。
Figure 2009171384
すなわち、公開鍵生成手段14は、第1の多項式の係数a{0≦i≦k}と、第2の多項式の係数b{0≦i≦k}に対して、生成元gを第1の多項式の係数ごとに当該係数でべき乗した複数のべき乗値と、生成元hを第2の多項式の係数ごとに当該係数でべき乗した複数のべき乗値とを算出し、第1の多項式の最大次数kから予め定めた数k(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と、第2の多項式の最小次数の係数から数えてk個のべき乗値とをそれぞれ乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、基本情報生成手段11で生成された基本情報とを要素として含んだ公開鍵を生成する。
公開鍵送信手段15は、公開鍵生成手段14で生成された公開鍵を、イントラネット3を介してコンテンツサーバ30に送信するものである。
このように暗号化情報生成サーバ10を構成することで、暗号化情報生成サーバ10は、ユーザの秘密鍵を生成するための多項式の係数と、公開鍵とを生成することができる。
なお、暗号化情報生成サーバ10は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、暗号化情報生成サーバ10は、コンピュータを、前記した各手段として機能させる暗号化情報生成プログラムによって動作する。
(秘密鍵生成サーバの構成)
次に、図3を参照(適宜図1参照)して、秘密鍵生成サーバの構成について説明する。図3は、秘密鍵生成サーバの構成を示すブロック図である。ここでは、秘密鍵生成サーバ20は、多項式係数受信手段21と、多項式係数記憶手段22と、秘密鍵生成手段23と、秘密鍵出力手段24とを備えている。
多項式係数受信手段21は、暗号化情報生成サーバ10で生成される暗号化情報の中で、多項式の係数(a{0≦i≦k}及びb{0≦i≦k})を、イントラネット3を介して受信するものである。ここで受信された多項式の係数は、多項式係数記憶手段22に記憶される。
多項式係数記憶手段22は、多項式係数受信手段21で受信した多項式の係数を記憶するもので、ハードディスク等の一般的な記憶装置である。なお、多項式係数記憶手段22には、多項式の各項の次数が予め記憶されているものとする。この多項式係数記憶手段22に記憶されている係数と、各項の次数とによって、多項式が特定されることになる。
この多項式係数記憶手段22に記憶されている係数及び次数は、秘密鍵生成手段23によって読み出される。
秘密鍵生成手段(第1多項式演算手段、第2多項式演算手段)23は、ユーザを識別するための値(例えば、ユーザ固有の識別子〔ID〕)から、ユーザ固有の秘密鍵(ユーザ秘密鍵)を生成するものである。なお、秘密鍵生成手段23は、図示を省略した第1多項式演算手段と第2多項式演算手段とを備え、それぞれの多項式の演算を行う。
ここでは、秘密鍵生成手段23は、多項式係数記憶手段22に記憶されている係数や次数で特定される多項式、すなわち、前記(1)式で示した多項式f(x)、f(x)に、ユーザIDを代入することで、ユーザ秘密鍵SKを生成する(以下の(4)式参照)。なお、ユーザIDは、図示を省略した入力手段を介して入力されるものとする。
Figure 2009171384
この秘密鍵生成手段23で生成されたユーザ秘密鍵は、秘密鍵出力手段24に出力される。なお、ここでは、ユーザ秘密鍵に、ユーザIDを含ませることとしたが、このユーザIDは、必ずしも秘密の情報とする必要はない。よって、秘密鍵生成手段23は、ユーザ秘密鍵SKを以下の(5)式により生成することとしてもよい。
Figure 2009171384
秘密鍵出力手段24は、秘密鍵生成手段23で生成されたユーザ秘密鍵を外部に出力するものである。なお、秘密鍵出力手段24は、耐タンパ性を有するICカードやフレキシブルディスク等の汎用の記憶媒体(外部記憶媒体)に書き込むものとしてもよいし、ネットワーク(イントラネット3、インターネット7)を介してユーザ端末50に送信するものとしてもよい。ただし、記憶媒体にユーザ秘密鍵が書き込まれた場合、当該記憶媒体は、郵送等によって、ユーザ側に配送されることになる。
このように秘密鍵生成サーバ20を構成することで、秘密鍵生成サーバ20は、ユーザ秘密鍵を生成するための多項式の係数と、公開鍵とを生成することができる。
なお、秘密鍵生成サーバ20は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、秘密鍵生成サーバ20は、コンピュータを、前記した各手段として機能させる秘密鍵生成プログラムによって動作する。
(コンテンツサーバの構成)
次に、図4を参照(適宜図1参照)して、コンテンツサーバの構成について説明する。図4は、コンテンツサーバの構成を示すブロック図である。ここでは、コンテンツサーバ30は、暗号化鍵生成手段31と、公開鍵受信手段32と、ヘッダ生成手段33と、コンテンツ受信手段34と、コンテンツ暗号化手段35と、ヘッダ合成手段36と、配信用コンテンツ記憶手段37と、コンテンツ要求受信手段38と、配信用コンテンツ送信手段39とを備えている。
暗号化鍵生成手段31は、コンテンツを暗号化するための暗号化鍵を生成するものである。ここで生成された暗号化鍵は、ヘッダ生成手段33及びコンテンツ暗号化手段35に出力される。なお、この暗号化鍵は、コンテンツ暗号化手段35で使用される暗号化鍵であり、図示していない擬似乱数発生手段、ハッシュ(Hash)関数等を用いて乱数化され、鍵長を揃えたものである。
公開鍵受信手段32は、暗号化情報生成サーバ10で生成された公開鍵(TT用公開鍵PK〔前記(2)式参照〕)を、イントラネット3を介して受信するものである。ここで受信された公開鍵は、ヘッダ生成手段33に出力される。
ヘッダ生成手段33は、暗号化鍵生成手段31で生成された暗号化鍵を、公開鍵受信手段32で受信した公開鍵で暗号化することで、コンテンツに合成するヘッダ(コンテンツ配信ヘッダ)を生成するものである。
ここでは、ヘッダ生成手段33は、乱数rをZ の中から選択し(図示を省略した擬似乱数発生手段により乱数rを発生させ)、以下の(6)式に示すコンテンツ配信ヘッダ(ヘッダ情報)Headを生成する。
Figure 2009171384
なお、ヘッダ生成手段33は、暗号化情報生成サーバ10で生成された公開鍵が、前記(3)式で生成されたものとする場合は、以下の(7)式によりコンテンツ配信ヘッダ(ヘッダ情報)Headを生成するものとする。
Figure 2009171384
そして、ヘッダ生成手段33は、生成したコンテンツ配信ヘッダをヘッダ合成手段36に出力する。
コンテンツ受信手段34は、配信用のコンテンツを受信するものである。ここで受信されたコンテンツはコンテンツ暗号化手段35に出力される。このコンテンツ受信手段34は、例えば、図示していない記録媒体からコンテンツを読み出すものであってもよいし、ネットワーク(インターネット7等)を介して、通信データとしてコンテンツを取得するものであってもよい。
コンテンツ暗号化手段35は、コンテンツ受信手段34で受信した配信用のコンテンツを、暗号化鍵生成手段31で生成された暗号化鍵で暗号化し、暗号化コンテンツを生成するものである。ここで生成された暗号化コンテンツは、ヘッダ合成手段36に出力される。なお、コンテンツ暗号化手段35は、暗号化鍵を用いて、共通鍵暗号化方式によりコンテンツを暗号化する。また、暗号化対象となるコンテンツには、映像等のデータ量の多い情報を想定しているため、ここでは、公開鍵暗号化方式に比べて暗号化処理の速い共通鍵暗号化方式を使用することとする。例えば、AES(Advanced Encryption Standard)等の一般的な共通鍵暗号化方式でよい。
ヘッダ合成手段36は、コンテンツ暗号化手段35で生成された暗号化コンテンツと、ヘッダ生成手段33で生成されたコンテンツ配信ヘッダ(前記(6)式参照)とを合成して、配信用コンテンツを生成するものである。ここで生成された配信用コンテンツは、固有のコンテンツ識別情報(例えばファイル名等)を付して、配信用コンテンツ記憶手段37に記憶される。
なお、ヘッダ合成手段36における暗号化コンテンツと暗号化コンテンツヘッダとの合成は、1つのデータ(ファイル、ストリーム)として合成することのみを意味しない。すなわち、暗号化コンテンツと暗号化コンテンツヘッダとは、少なくとも関連付けられていればよく、個別のデータとして管理することも可能である。ただし、管理を簡易化するために、暗号化コンテンツと暗号化コンテンツヘッダとを合成して1つのデータとすることが好ましい。
配信用コンテンツ記憶手段37は、ヘッダ合成手段36で生成された配信用コンテンツを記憶するもので、ハードディスク等の一般的な記憶装置である。この配信用コンテンツ記憶手段37に記憶されている配信用コンテンツは、配信用コンテンツ送信手段39によって読み出される。
コンテンツ要求受信手段38は、コンテンツ配信サーバ40から送信される、配信用コンテンツを特定するコンテンツ識別情報を含んだコンテンツの要求(コンテンツ要求)を、イントラネット3を介して受信するものである。このコンテンツ要求受信手段38は、コンテンツ要求に含まれる識別情報を配信用コンテンツ送信手段39に出力する。
配信用コンテンツ送信手段39は、コンテンツ要求受信手段38から出力されるコンテンツ識別情報に対応する配信用コンテンツを、配信用コンテンツ記憶手段37から読み出して、要求のあったコンテンツ配信サーバ40に送信するものである。
このようにコンテンツサーバ30を構成することで、コンテンツサーバ30は、コンテンツを暗号化鍵で暗号化し、その暗号化された暗号化コンテンツと、コンテンツ配信ヘッダとを関連付けて配信用コンテンツを生成することができる。
なお、コンテンツサーバ30は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツサーバ30は、コンピュータを、前記した各手段として機能させる配信用コンテンツ生成プログラムによって動作する。
(コンテンツ配信サーバの構成)
次に、図5を参照(適宜図1参照)して、コンテンツ配信サーバの構成について説明する。図5は、コンテンツ配信サーバの構成を示すブロック図である。ここでは、コンテンツ配信サーバ40は、ユーザ要求受信手段41と、コンテンツ要求送信手段42と、配信用コンテンツ受信手段43と、配信用コンテンツ送信手段44とを備えている。
ユーザ要求受信手段41は、ユーザ端末50から送信される、ユーザが所望するコンテンツを示す要求(コンテンツ要求書)を、ネットワークを介して受信するものである。このコンテンツ要求書には、少なくともコンテンツを特定するためのコンテンツ識別情報と、どのユーザ端末50からの要求かを示す端末識別情報(例えば、IPアドレス等)とが含まれている。このユーザ要求受信手段41は、コンテンツ識別情報をコンテンツ要求送信手段42に出力し、端末識別情報を配信用コンテンツ送信手段44に出力する。
コンテンツ要求送信手段42は、ユーザ要求受信手段41から出力されるコンテンツ識別情報を含んだコンテンツの要求(コンテンツ要求)を、イントラネット3を介してコンテンツサーバ30に送信するものである。
配信用コンテンツ受信手段43は、コンテンツ要求送信手段42から送信されたコンテンツ識別情報に対応した配信用コンテンツを、イントラネット3を介してコンテンツサーバ30から受信するものである。この配信用コンテンツ受信手段43は、受信した配信用コンテンツを、配信用コンテンツ送信手段44に出力する。
配信用コンテンツ送信手段44は、配信用コンテンツ受信手段43で受信した配信用コンテンツを、ユーザ要求受信手段41から出力される端末識別情報に対応するユーザ端末50に送信するものである。
このようにコンテンツ配信サーバ40を構成することで、コンテンツ配信サーバ40は、ユーザ端末50から要求のあった配信用コンテンツをコンテンツサーバ30から取得し、要求のあったユーザ端末50に配信することができる。
なお、コンテンツ配信サーバ40は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、コンテンツ配信サーバ40は、コンピュータを、前記した各手段として機能させるコンテンツ配信プログラムによって動作する。
以上、コンテンツ配信システム1におけるプロバイダ側の各装置の構成について説明したが、本発明はこれに限定されるものではない。例えば、暗号化情報生成サーバ10をコンテンツサーバ30内に組み込んで、新たにコンテンツサーバ30B(図示せず)として構成してもよい。あるいは、前記コンテンツサーバ30B(図示せず)をコンテンツ配信サーバ40内に組み込んで、新たにコンテンツ配信サーバ40B(図示せず)として構成してもよい。
また、例えば、コンテンツ配信システム1における負荷を分散させるため、コンテンツサーバ30を、コンテンツの種類等によって複数(コンテンツサーバ30B、30C…等:図示せず)備えることとしてもよい。この場合、コンテンツ配信サーバ40は、コンテンツの種類等によって、コンテンツを要求するコンテンツサーバを切り替えて、コンテンツ要求を送信する。
(ユーザ端末の構成)
次に、図6を参照(適宜図1参照)して、ユーザ端末の構成について説明する。図6は、ユーザ端末の構成を示すブロック図である。ここでは、ユーザ端末50は、配信用コンテンツ要求手段51と、配信用コンテンツ受信手段52と、分離手段53と、秘密鍵記憶手段54と、暗号化鍵復号手段55と、コンテンツ復号手段56とを備えている。
配信用コンテンツ要求手段51は、ユーザが所望するコンテンツ(配信用コンテンツ)を示す要求(コンテンツ要求書)を、インターネット7を介してプロバイダ側のコンテンツ配信サーバ40に送信するものである。例えば、配信用コンテンツ要求手段51は、図示していない入力手段によって、利用者が所望するコンテンツを特定するコンテンツ識別情報(例えばファイル名等)を入力されることで、このコンテンツ識別情報を含んだコンテンツ要求書を生成し、コンテンツ配信サーバ40に送信する。
配信用コンテンツ受信手段52は、プロバイダ側のコンテンツ配信サーバ40から、ユーザが要求した配信用コンテンツを、インターネット7を介して受信するものである。ここで受信した配信用コンテンツは、分離手段53に出力される。なお、ここで受信した配信用コンテンツには、暗号化されたコンテンツ(暗号化コンテンツ)に、コンテンツ配信ヘッダHead(前記(6)式参照)が合成されている。
分離手段53は、配信用コンテンツ受信手段52で受信した配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離するものである。ここで分離されたコンテンツ配信ヘッダは、暗号化鍵復号手段55に出力され、暗号化コンテンツは、コンテンツ復号手段56に出力される。
秘密鍵記憶手段54は、対タンパ性を有するICカードやフレキシブルディスク等の汎用の記憶媒体(外部記憶媒体)であって、予めプロバイダ側でユーザ秘密鍵が書き込まれ、ユーザに配布されるものである。
暗号化鍵復号手段55は、秘密鍵記憶手段54に記憶されているユーザ秘密鍵に基づいて、分離手段53で分離されたコンテンツ配信ヘッダから暗号化鍵を復号して抽出するものである。ここで復号された暗号化鍵は、コンテンツ復号手段56に出力される。
この暗号化鍵復号手段55は、秘密鍵記憶手段54に記憶されている秘密鍵が、SKID=(ID,SKID1,SKID2)、分離手段53で分離されたコンテンツ配信ヘッダが、Head=(x,x,x,x,…,x2k)であった場合、暗号化鍵Kを以下の(8)式により復号する。ここで、IDは、ユーザ固有の情報(ユーザID)である。なお、(8)式における暗号化鍵Kの復号の正当性については、後で証明を行うこととする。
Figure 2009171384
コンテンツ復号手段56は、暗号化鍵復号手段55で復号された暗号化鍵を用いて、暗号化コンテンツを復号するものである。このコンテンツ復号手段56は、分離手段53でコンテンツ配信ヘッダを分離された後の暗号化コンテンツを、暗号化鍵を用いて復号する。これによって、暗号化コンテンツは、視聴等が可能なコンテンツに復号されたことになる。
なお、コンテンツ配信ヘッダが前記(7)式によって生成されたものであり、
Figure 2009171384
とする場合、暗号化鍵復号手段55は、暗号化鍵Kを以下の(9)式により復号することができる。
Figure 2009171384
このようにユーザ端末50を構成することで、ユーザ端末50は、暗号化鍵Kを復号する際に、ユーザ固有の情報(ユーザID)を使用しなければならならない。これによって、あるユーザが、自分が所有する秘密鍵を用いて、不正なユーザ端末を作成した場合であっても、その不正ユーザ端末には、所有者のIDと秘密鍵とを含まなければならないため、不正ユーザ端末を作成したユーザを容易に特定することができる。
なお、ユーザ端末50は、図示を省略したCPUやメモリを搭載した一般的なコンピュータで実現することができる。このとき、ユーザ端末50は、コンピュータを、前記した各手段として機能させるコンテンツ復号プログラムによって動作する。
<ユーザ端末における暗号化鍵の復号について>
ここで、ユーザ端末50が、暗号化鍵復号手段55によって、前記(8)式で暗号化鍵を復号することが可能であることを証明しておく。
まず、分離手段53で分離されたコンテンツ配信ヘッダHead=(x,x,x,x,…,x2k)は、前記(6)式のコンテンツ配信ヘッダHead=(y,y,K ,y ,…,y2k )と等しいことから、前記(8)式の右辺は、以下の(10)式の関係を満たす。
Figure 2009171384
さらに、この(10)式のy,y,y,y,…,y2kが、前記(1)式及び(2)式に示した条件であることから、前記(8)式の右辺は、以下の(11)式に変形することで、暗号化鍵Kと等しくなる。
Figure 2009171384
[コンテンツ配信システムの動作]
次に、図7乃至図10を参照して、本発明の実施の形態に係るコンテンツ配信システムの動作について説明する。
(公開鍵・ユーザ秘密鍵生成動作)
最初に、図7を参照(適宜図1、図2及び図3参照)して、コンテンツ配信システム1において、公開鍵とユーザ秘密鍵とを生成する動作について説明する。図7は、コンテンツ配信システムにおいて、公開鍵とユーザ秘密鍵とを生成する動作を示すフローチャートである。
まず、暗号化情報生成サーバ10は、基本情報生成手段11によって、(p−1)の値がqで割り切れる2つの素数p及びqを生成(選択)する(ステップS10)。さらに、暗号化情報生成サーバ10は、基本情報生成手段11によって、位数(素数)qの乗法に関して群をなす乗法群Z の中から、2つの異なる生成元g及びhを生成(選択)する(ステップS11)。
そして、暗号化情報生成サーバ10は、多項式係数生成手段12によって、ステップS10で生成された素数qに基づく数列{1,2,…,q−1}から(2k+2)個の値をランダムに選択し、(2k+2)個の値を(k+1)個ずつに分けることで、係数a{0≦i≦k}及びb{0≦i≦k}を生成する(ステップS12)。なお、kは、コンテンツ配信システム1に対して、不正者が結託して不正(攻撃)を行った場合でも耐性を持たせことが可能な最大結託者数を示す。
そして、暗号化情報生成サーバ10は、多項式係数送信手段13によって、ステップS12で生成された多項式の係数を、イントラネット3を介して秘密鍵生成サーバ20に送信する(ステップS13)。
さらに、暗号化情報生成サーバ10は、公開鍵生成手段14によって、ステップS10で生成された素数p及びqと、ステップS11で生成された生成元g及びhと、ステップS12で生成された係数a及びbとを用いて、前記(2)式により、公開鍵PKを生成する(ステップS14)。
その後、暗号化情報生成サーバ10は、公開鍵送信手段15によって、ステップS14で生成した公開鍵を、イントラネット3を介してコンテンツサーバ30に送信する(ステップS15)。
また、秘密鍵生成サーバ20は、多項式係数受信手段21によって、ステップS13で暗号化情報生成サーバ10から送信された多項式の係数を受信する(ステップS16)。
そして、秘密鍵生成サーバ20は、秘密鍵生成手段23によって、ステップS16で受信した係数で特定される多項式(前記(1)式で示した多項式f(x)、f(x))に、ユーザIDを代入することで、ユーザ秘密鍵SKを生成する(ステップS17)。
その後、秘密鍵生成サーバ20は、秘密鍵出力手段24によって、ステップS17で生成されたユーザ秘密鍵SKを記憶媒体に書き込む。そして、プロバイダが当該記憶媒体をユーザに配布する(ステップS18)。なお、秘密鍵出力手段24は、ユーザ秘密鍵SKを、ネットワーク(イントラネット3、インターネット7)を介してユーザ端末50に送信することとしてもよい。
以上の動作によって、暗号化情報生成サーバ10は、公開鍵を生成し、コンテンツサーバ30に送信することができる。また、秘密鍵生成サーバ20は、ユーザ秘密鍵を生成し、ユーザに配布することができる。
(配信用コンテンツ生成動作)
次に、図8を参照(適宜図1及び図4参照)して、コンテンツ配信システム1において、配信用コンテンツを生成する動作について説明する。図8は、コンテンツ配信システムにおいて、配信用コンテンツを生成する動作を示すフローチャートである。
まず、コンテンツサーバ30は、暗号化鍵生成手段31によって、コンテンツを暗号化するための暗号化鍵Kを生成する(ステップS20)。
そして、コンテンツサーバ30は、公開鍵受信手段32によって、暗号化情報生成サーバ10で生成された公開鍵PK(前記(2)式参照)を、イントラネット3を介して受信する(ステップS21)。
その後、コンテンツサーバ30は、ヘッダ生成手段33によって、ステップS20で生成した暗号化鍵Kを、ステップS21で受信した公開鍵PKで暗号化することで、コンテンツに合成するヘッダ(コンテンツ配信ヘッダHead;前記(6)式参照)を生成する(ステップS22)。
また、コンテンツサーバ30は、コンテンツ受信手段34によって、配信用のコンテンツを外部から受信する(ステップS23)。そして、コンテンツサーバ30は、コンテンツ暗号化手段35によって、ステップS23で受信したコンテンツを、ステップS20で生成した暗号化鍵Kを用いて、AES等の共通鍵暗号化方式により暗号化する(ステップS24)。
その後、コンテンツサーバ30は、ヘッダ合成手段36によって、ステップS24で暗号化されたコンテンツ(暗号化コンテンツ)と、ステップS22で生成されたコンテンツ配信ヘッダHeadとを合成することで、配信用コンテンツを生成する(ステップS25)。なお、配信用コンテンツは配信用コンテンツ記憶手段37に記憶される。
以上の動作によって、コンテンツサーバ30は、暗号化コンテンツに、ユーザ秘密鍵を用いなければ復号することができないコンテンツ配信ヘッダを合成した配信用コンテンツを生成することができる。
(配信用コンテンツ配信動作)
次に、図9を参照(適宜図1、図4乃至図6参照)して、コンテンツ配信システム1において、コンテンツ(配信用コンテンツ)を配信する動作について説明する。図9は、コンテンツ配信システムにおいて、配信用コンテンツを配信する動作を示すフローチャートである。
まず、ユーザ端末50が、配信用コンテンツ要求手段51によって、ユーザが所望するコンテンツを示すコンテンツ識別情報を含んだコンテンツ要求書を生成し(ステップS30)、コンテンツ配信サーバ40に送信する(ステップS31)。
また、コンテンツ配信サーバ40が、ユーザ要求受信手段41によって、ユーザ端末50からコンテンツ要求書を受信し(ステップS32)、コンテンツ要求送信手段42によって、そのコンテンツ要求書に記載されているコンテンツの識別情報(ファイル名等のコンテンツ識別情報)をコンテンツ要求として、コンテンツサーバ30に送信する(ステップS33)。
そして、コンテンツサーバ30が、コンテンツ要求受信手段38によって、コンテンツ配信サーバ40からコンテンツ要求を受信し(ステップS34)、配信用コンテンツ送信手段39によって、該当するコンテンツ(配信用コンテンツ)を配信用コンテンツ記憶手段37から読み出して(ステップS35)、コンテンツ配信サーバ40に送信する(ステップS36)。
そして、コンテンツ配信サーバ40が、配信用コンテンツ受信手段43によって、コンテンツサーバ30から配信用コンテンツを受信し(ステップS37)、配信用コンテンツ送信手段44によって、その配信用コンテンツを、要求のあったユーザ端末50に送信する(ステップS38)。
そして、ユーザ端末50が、配信用コンテンツ受信手段52によって、配信用コンテンツを受信する(ステップS39)。
以上の動作によって、コンテンツ配信サーバ40が、要求のあったユーザ端末50に配信用コンテンツを送信(配信)することができる。
(配信用コンテンツ復号動作)
次に、図10を参照(適宜図1及び図6参照)して、コンテンツ配信システム1において、コンテンツ(配信用コンテンツ)を復号する動作について説明する。図10は、ユーザ端末が配信用コンテンツを復号する動作を示すフローチャートである。
まず、ユーザ端末50は、配信用コンテンツ受信手段52によって、コンテンツ配信サーバ40から配信用コンテンツを受信する(ステップS40)。そして、ユーザ端末50は、分離手段53によって、配信用コンテンツを、コンテンツ配信ヘッダと暗号化コンテンツとに分離する(ステップS41)。
そして、ユーザ端末50は、暗号化鍵復号手段55によって、秘密鍵記憶手段54に記憶されているユーザ秘密鍵を読み出し(ステップS42)、そのユーザ秘密鍵に基づいて、ステップS41で分離されたコンテンツ配信ヘッダから暗号化鍵を前記(8)式により復号して抽出する(ステップS43)。
そして、ユーザ端末50は、コンテンツ復号手段56によって、ステップS43で復号された暗号化鍵を用いて、暗号化コンテンツを復号する(ステップS44)。この段階で、ユーザは、復号されたコンテンツを視聴することが可能になる。
以上の動作によって、ユーザ端末50は、ユーザ固有のユーザ秘密鍵によって、暗号化鍵を復号し、その暗号化鍵によって、暗号化コンテンツを復号することができる。
本発明の実施の形態に係るコンテンツ配信システムの構成を示すブロック図である。 暗号化情報生成サーバの構成を示すブロック図である。 秘密鍵生成サーバの構成を示すブロック図である。 コンテンツサーバの構成を示すブロック図である。 コンテンツ配信サーバの構成を示すブロック図である。 ユーザ端末の構成を示すブロック図である。 コンテンツ配信システムにおいて、公開鍵とユーザ秘密鍵とを生成する動作を示すフローチャートである。 コンテンツ配信システムにおいて、配信用コンテンツを生成する動作を示すフローチャートである。 コンテンツ配信システムにおいて、配信用コンテンツを配信する動作を示すフローチャートである。 ユーザ端末が配信用コンテンツを復号する動作を示すフローチャートである。 ユーザ秘密鍵に用いる多項式の係数について説明するための説明図である。
符号の説明
1 コンテンツ配信システム
10 暗号化情報生成サーバ(暗号化情報生成装置)
11 基本情報生成手段
12 多項式係数生成手段
13 多項式係数送信手段
14 公開鍵生成手段
15 公開鍵送信手段
20 秘密鍵生成サーバ(秘密鍵生成装置)
21 多項式係数受信手段
22 多項式係数記憶手段
23 秘密鍵生成手段(第1多項式演算手段、第2多項式演算手段)
24 秘密鍵出力手段
30 コンテンツサーバ(配信用コンテンツ生成装置)
31 暗号化鍵生成手段
32 公開鍵受信手段
33 ヘッダ生成手段
34 コンテンツ受信手段
35 コンテンツ暗号化手段
36 ヘッダ合成手段
37 配信用コンテンツ記憶手段
38 コンテンツ要求受信手段
39 配信用コンテンツ送信手段
40 コンテンツ配信サーバ
41 ユーザ要求受信手段
42 コンテンツ要求送信手段
43 配信用コンテンツ受信手段
44 配信用コンテンツ送信手段
50 ユーザ端末(コンテンツ復号装置)
51 配信用コンテンツ要求手段
52 配信用コンテンツ受信手段
53 分離手段
54 秘密鍵記憶手段
55 暗号化鍵復号手段
56 コンテンツ復号手段

Claims (6)

  1. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布される秘密鍵を生成するための多項式係数と、当該秘密鍵に対応する公開鍵とを生成する暗号化情報生成装置であって、
    (p−1)の値がqで割り切れる素数p及びqと、qを位数とした乗法に関して群をなす乗法群に含まれる生成元g及びhとを、基本情報として生成する基本情報生成手段と、
    この基本情報生成手段で生成された素数q未満の数の中から、不正者の予め定めた最大結託者数k以上の数であるk、kをそれぞれ次数とした第1多項式の係数a{0≦i≦k}と、第2多項式の係数b{0≦i≦k}とを選択して、前記多項式係数として生成する多項式係数生成手段と、
    前記生成元gを前記第1多項式の係数ごとに当該係数でべき乗した複数のべき乗値と、前記生成元hを前記第2多項式の係数ごとに当該係数でべき乗した複数のべき乗値とを算出し、前記第1多項式の最大次数kから予め定めた数k(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と、前記第2多項式の最小次数の係数から数えて前記k個のべき乗値とをそれぞれ乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、前記基本情報生成手段で生成された基本情報とを要素として含んだ前記公開鍵を生成する公開鍵生成手段と、
    を備えていることを特徴とする暗号化情報生成装置。
  2. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、コンテンツ復号装置に配布される秘密鍵を生成するための多項式係数と、当該秘密鍵に対応する公開鍵とを生成するために、コンピュータを、
    (p−1)の値がqで割り切れる素数p及びqと、qを位数とした乗法に関して群をなす乗法群に含まれる第1生成元及び第2生成元とを、基本情報として生成する基本情報生成手段、
    この基本情報生成手段で生成された素数q未満の数の中から、不正者の予め定めた最大結託者数k以上の数であるk、kをそれぞれ次数とした第1多項式の係数a{0≦i≦k}と、第2多項式の係数b{0≦i≦k}とを選択して、前記多項式係数として生成する多項式係数生成手段、
    前記生成元gを前記第1多項式の係数ごとに当該係数でべき乗した複数のべき乗値と、前記生成元hを前記第2多項式の係数ごとに当該係数でべき乗した複数のべき乗値とを算出し、前記第1多項式の最大次数kから予め定めた数k(1≦k≦k−k+1、かつ、k≦k−k+1)を減算した次数以上の係数に対応するk個のべき乗値と、前記第2多項式の最小次数の係数から数えて前記k個のべき乗値とをそれぞれ乗算した乗算べき乗値と、当該乗算べき乗値の演算に用いたべき乗値以外のべき乗値群と、前記基本情報生成手段で生成された基本情報とを要素として含んだ前記公開鍵を生成する公開鍵生成手段、
    として機能させることを特徴とする暗号化情報生成プログラム。
  3. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された多項式係数に基づいて、コンテンツ復号装置に配布する秘密鍵を生成する秘密鍵生成装置であって、
    前記暗号化情報生成装置で生成された第1多項式の係数a{0≦i≦k}と、前記第1多項式の各項の次数i{0≦i≦k}とで特定される第1多項式に、ユーザ固有の値IDを代入することで、前記第1多項式を演算する第1多項式演算手段と、
    前記暗号化情報生成装置で生成された第2多項式の係数b{0≦i≦k}と、前記第2多項式の各項の次数i{0≦i≦k}とで特定される第2多項式に、ユーザ固有の値IDを代入することで、前記第2多項式を演算する第2多項式演算手段と、
    前記第1多項式演算手段で演算された演算結果と、前記第2多項式演算手段で演算された演算結果とを、前記秘密鍵として出力する秘密鍵出力手段と、
    を備えていることを特徴とする秘密鍵生成装置。
  4. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置によって生成された多項式係数に基づいて、コンテンツ復号装置に配布する秘密鍵を生成するために、コンピュータを、
    前記暗号化情報生成装置で生成された第1多項式の係数a{0≦i≦k}と、前記第1多項式の各項の次数i{0≦i≦k}とで特定される第1多項式に、ユーザ固有の値を代入することで、前記第1多項式を演算する第1多項式演算手段、
    前記暗号化情報生成装置で生成された第2多項式の係数b{0≦i≦k}と、前記第2多項式の各項の次数i{0≦i≦k}とで特定される第2多項式に、ユーザ固有の値を代入することで、前記第2多項式を演算する第2多項式演算手段、
    前記第1多項式演算手段で演算された演算結果と、前記第2多項式演算手段で演算された演算結果とを、前記秘密鍵として出力する秘密鍵出力手段、
    として機能させることを特徴とする秘密鍵生成プログラム。
  5. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置で生成された公開鍵PKを、
    Figure 2009171384
    としたとき、前記コンテンツを暗号化した暗号化鍵Ksと乱数rとにより生成された次式で示すヘッダ情報
    Figure 2009171384
    と暗号化コンテンツとで構成される配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成された秘密鍵に基づいて復号するコンテンツ復号装置であって、
    前記配信用コンテンツを、前記ヘッダ情報と前記暗号化コンテンツとに分離する分離手段と、
    この分離手段で分離されたヘッダ情報を
    Figure 2009171384
    としたとき、前記秘密鍵である第1多項式の演算結果SKID1、及び、第2多項式の演算結果SKID2と、ユーザ固有の値IDとに基づいて、
    Figure 2009171384
    により、コンテンツを暗号化した暗号化鍵Ksを復号する暗号化鍵復号手段と、
    この暗号化鍵復号手段で復号された暗号化鍵に基づいて、前記暗号化コンテンツを復号するコンテンツ復号手段と、
    を備えていることを特徴とするコンテンツ復号装置。
  6. コンテンツを暗号化して配信するコンテンツ配信システムにおいて、請求項1に記載の暗号化情報生成装置で生成された公開鍵PKを、
    Figure 2009171384
    としたとき、前記コンテンツを暗号化した暗号化鍵Ksと乱数rとにより生成された次式で示すヘッダ情報
    Figure 2009171384
    と暗号化コンテンツとで構成される配信用コンテンツを、請求項3に記載の秘密鍵生成装置で生成された秘密鍵に基づいて復号するために、コンピュータを、
    前記配信用コンテンツを、前記ヘッダ情報と前記暗号化コンテンツとに分離する分離手段、
    この分離手段で分離されたヘッダ情報を
    Figure 2009171384
    としたとき、前記秘密鍵である第1多項式の演算結果SKID1、及び、第2多項式の演算結果SKID2と、ユーザ固有の値IDとに基づいて、
    Figure 2009171384
    により、コンテンツを暗号化した暗号化鍵Ksを復号する暗号化鍵復号手段、
    この暗号化鍵復号手段で復号された暗号化鍵に基づいて、前記暗号化コンテンツを復号するコンテンツ復号手段、
    として機能させることを特徴とするコンテンツ復号プログラム。
JP2008008784A 2008-01-18 2008-01-18 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム Pending JP2009171384A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008008784A JP2009171384A (ja) 2008-01-18 2008-01-18 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008008784A JP2009171384A (ja) 2008-01-18 2008-01-18 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Publications (1)

Publication Number Publication Date
JP2009171384A true JP2009171384A (ja) 2009-07-30

Family

ID=40972041

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008008784A Pending JP2009171384A (ja) 2008-01-18 2008-01-18 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Country Status (1)

Country Link
JP (1) JP2009171384A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248227A1 (en) * 2020-06-09 2021-12-16 Quantropi Inc. Methods and systems for encryption, decryption, signing and verification of digital messages
US11641347B2 (en) 2021-03-10 2023-05-02 Quantropi Inc. Quantum-safe cryptographic methods and systems

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159043A (ja) * 2002-11-06 2004-06-03 Sony Corp 暗号通信システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2005236963A (ja) * 2004-01-21 2005-09-02 Toshiba Corp コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム
JP2007266722A (ja) * 2006-03-27 2007-10-11 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008152105A (ja) * 2006-12-19 2008-07-03 Nippon Hoso Kyokai <Nhk> 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004159043A (ja) * 2002-11-06 2004-06-03 Sony Corp 暗号通信システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2005236963A (ja) * 2004-01-21 2005-09-02 Toshiba Corp コンテンツ提供側システム、ユーザ側システム、追跡システム、装置、方法及びプログラム
JP2007266722A (ja) * 2006-03-27 2007-10-11 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2008152105A (ja) * 2006-12-19 2008-07-03 Nippon Hoso Kyokai <Nhk> 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021248227A1 (en) * 2020-06-09 2021-12-16 Quantropi Inc. Methods and systems for encryption, decryption, signing and verification of digital messages
US11641347B2 (en) 2021-03-10 2023-05-02 Quantropi Inc. Quantum-safe cryptographic methods and systems

Similar Documents

Publication Publication Date Title
Juels Targeted advertising... and privacy too
US8855317B2 (en) System for protecting an encrypted information unit
US7978848B2 (en) Content encryption schema for integrating digital rights management with encrypted multicast
US8892908B2 (en) Cryptography module for use with fragmented key and methods for use therewith
JP2014535199A (ja) コンテンツの安全な配給
JP5492007B2 (ja) コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
Gritti et al. Broadcast encryption with dealership
JP4875481B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2006227411A (ja) 通信システム、暗号化装置、鍵生成装置、鍵生成方法、復元装置、通信方法、暗号化方法、暗号復元方法
JP2009171384A (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP4452105B2 (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP4598437B2 (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2009171016A (ja) 暗号化情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP2005020623A (ja) コンテンツ配信サーバ及びそのプログラム、ライセンス発行サーバ及びそのプログラム、コンテンツ復号端末及びそのプログラム、並びに、コンテンツ配信方法及びコンテンツ復号方法
JP5391043B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
JP5557707B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
JP4867425B2 (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4133364B2 (ja) 暗号化装置及びそのプログラム、復号装置及びそのプログラム、並びに、コンテンツ配信サーバ及びコンテンツ復号端末
JP5357785B2 (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム
Prihandoko et al. Secure and private content distribution in the DRM environment
JP2004221800A (ja) 暗号処理システムにおける不正エンティティ追跡方法、暗号処理システム、および不正エンティティ追跡処理装置、並びにコンピュータ・プログラム
JP4559868B2 (ja) セキュリティモジュール、コンテンツ受信装置、契約情報生成装置及び契約情報検証装置、並びに、契約情報検証方法
Ibrahim Efficient robust and secure E-DRM with encrypted content search
JP2004159043A (ja) 暗号通信システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP2011066667A (ja) 暗号化情報生成装置及びそのプログラム、秘密鍵生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、コンテンツ復号装置及びそのプログラム、並びに、ユーザ特定装置及びそのプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120209

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120221

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120626