説明

情報処理装置、および情報処理方法、並びにプログラム

【課題】暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成を提供する。
【解決手段】コンテンツの構成データであるブロック1〜ブロックiを異なるブロック鍵で暗号化したパターン1〜kを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック1〜iの異なるブロック配列(パターンシーケンス)からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵(タイトル鍵)が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、コンテンツの不正利用の防止や不正流通コンテンツの出所追跡を可能とするシステムにおいて利用される情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【0002】
昨今、インターネット等のネットワークを介したデータ通信が盛んになり、多くの画像データや音楽データ等がネットワークを介して盛んに流通している。
【0003】
音楽データ、画像データ等の多くのコンテンツは、その作成者あるいは販売者に著作権、頒布権等が保有されている。従って、例えばサービスプロバイダがサーバからネットワークを介してユーザにコンテンツを提供する場合、正規な利用権を持つユーザのみにコンテンツの利用を許容する利用制御を行うのが一般的である。
【0004】
具体的には、例えばコンテンツを暗号化コンテンツとして送信し、正規なコンテンツ購入処理を行ったユーザに提供した暗号鍵によってのみ復号可能とするといった制御等が行われる。しかし、このような処理を行っても、例えば暗号化コンテンツを取得したユーザが復号したコンテンツや、暗号鍵を不正に配布、あるいは公開するなどの処理を行ってしまうと不特定多数のコンテンツの不正利用が発生する。特に昨今は、ネットワークを介したデータの不正公開や配信が行われるケースが多く、これらの不正をいかに防止するかが大きな課題となっている。
【0005】
具体的な暗号鍵やコンテンツの不正流通例について図を参照して説明する。
図1は、暗号鍵の不正公開の一例を示す図である。コンテンツ配信サーバ10は、暗号鍵12を適用して暗号化した暗号化コンテンツ11を暗号鍵12とともに正規なコンテンツ購入手続を実行したクライアントA21、クライアントB22に提供する。
【0006】
これらのクライアントA,21、クライアントB22は、暗号鍵12を適用して暗号化コンテンツ11の復号を行ってコンテンツ再生を実行することができる。
しかし、ここで、クライアントB22が、暗号鍵12を例えば誰でもアクセス可能なネット上のサイトに公開するといった行為を行ったとする。
【0007】
このような鍵の公開処理を実行すると、公開された暗号鍵31は、不特定多数のユーザにより取得可能な状態となる。
結果として、例えば正規なコンテンツ購入を行っていない不正ユーザ23によって、公開された暗号鍵31がネットを介して取得され、さらに、暗号化コンテンツのコピー32を他のクライアント等から取得して暗号化コンテンツのコピー32を、公開された暗号鍵31を適用して復号しコンテンツ再生を行うことができる。
このような事態が発生すると、コンテンツの不正利用が蔓延することになる。
【0008】
図1に示す例は、すべてのクライアントに提供する暗号鍵が同じ暗号鍵であるため、1人の不正者が鍵を漏えいしてしまうと、他のクライアントに提供した全てのコンテンツがすべてその不正鍵によって復号可能な事態となる。また、また、不正に鍵を公開したクライアントを特定することも困難となる。
【0009】
このような問題を解決する手法としては、各クライアントに提供する暗号化コンテンツを異なる暗号鍵で暗号化した構成が有効となる。
すなわち、図2に示すように、コンテンツ配信サーバ10は、
クライアントA24に対しては、暗号鍵A14を適用して暗号化した暗号化コンテンツを暗号鍵A14とともに提供する。
クライアントB25に対しては、暗号鍵B15を適用して暗号化した暗号化コンテンツを暗号鍵B15とともに提供する。
クライアントC26に対しては、暗号鍵C16を適用して暗号化した暗号化コンテンツを暗号鍵C16とともに提供する。
【0010】
このような設定とすれば、万が一、いずれかの暗号鍵が漏えいした場合、その漏えい鍵で復号できるコンテンツは、その漏えい鍵によって暗号化された1つの暗号化コンテンツに限られ、また漏えい元、すなわち暗号鍵を公開した不正クライアントの特定も可能となる。
【0011】
しかしながら、このようにクライアント単位で暗号鍵を変更しようとすると、コンテンツ配信サーバ10は、各クライアント単位で異なる暗号化コンテンツを生成することが必要となり、サーバ側の処理負荷が増大してしまうという問題が発生する。
【0012】
図1、図2を参照して説明した例は、コンテンツの暗号化および復号処理に適用する暗号鍵の不正公開や漏えいを行った場合の例であるが、不正公開や漏えいの対象となるのは暗号鍵ばかりではなく、復号されたコンテンツである場合もある。
【0013】
図3に、復号コンテンツの不正公開の例を示す。
コンテンツ配信サーバ10は、暗号鍵12を適用して暗号化した暗号化コンテンツ11をクライアント28に提供する。この提供処理は、正規のコンテンツ購入処理として実行される。
【0014】
しかし、クライアント28が暗号鍵12を適用して暗号化コンテンツ11を復号し、その復号コンテンツ11を不正に公開してしまうと、結果として、不正公開コンテンツ33が、図3に示す不正ユーザ29を含む不特定多数のユーザによって利用可能な状態になってしまう。
【0015】
このように復号コンテンツが公開されてしまうと、暗号鍵をクライアント単位で変更しても、復号コンテンツの不正利用が蔓延し、また復号コンテンツを不正公開したクライアントを特定することもできない。
【発明の概要】
【発明が解決しようとする課題】
【0016】
本発明は、例えば上記問題点に鑑みてなされたものであり、不正に公開されたコンテンツの公開元の特定を可能とする情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【0017】
また、本発明は、不正にコンテンツを公開した公開元の特定を可能とする構成をサーバの処理負荷を過大に増大させることなく実現する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0018】
本発明の第1の側面は、
クライアントに提供するコンテンツを生成するデータ処理部を有し、
前記データ処理部は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出し、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成し、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理装置にある。
【0019】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、前記暗号化ブロックの復号処理に適用するブロック鍵Kb(Px,By)と、前記個別鍵(ユーザ鍵Ku)をクライアントに送信する処理を行う。
【0020】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、コンテンツの提供先であるクライアントを識別するクライアント識別情報と、提供コンテンツのブロック配列情報を対応付けた管理情報を生成して記憶部に格納する。
【0021】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、さらに、前記クライアント識別情報と、前記クライアントに提供した暗号鍵情報を対応付けた管理情報を生成して記憶部に格納する。
【0022】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、流通コンテンツに含まれるブロックの配列解析処理を実行し、解析したブロック配列情報と前記管理情報の登録情報との照合処理により、コンテンツ配信先としてのクライアントを特定する。
【0023】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、流通したブロック鍵または個別鍵の少なくともいずれかの鍵情報と前記管理情報の登録情報との照合処理により、ブロック鍵または個別鍵の配信先としてのクライアントを特定する。
【0024】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記ブロックを再分割したサブブロック単位で前記個別暗号化部分の設定を行う。
【0025】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記オリジナルコンテンツから抽出した複数のブロック以外のブロック外領域を複数のコンテンツ配信クライアントに共通する共通鍵で暗号化を行い、該共通鍵による暗号化処理を施したブロック外領域をクライアントに提供するコンテンツとして生成する。
【0026】
さらに、本発明の情報処理装置の一実施態様において、前記共通鍵は、コンテンツのタイトルに対応するタイトル鍵Ktである。
【0027】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、コンテンツの暗号化構成情報を含むコンテンツ構成情報をクライアントに提供するデータとして生成する。
【0028】
さらに、本発明の第2の側面は、
クライアントに対するコンテンツ提供処理を実行するコンテンツ提供ユニットと、
前記コンテンツ提供ユニットからコンテンツを受信するクライアントからなるコンテンツ配信システムであり、
クライアントに対する提供コンテンツは、複数ブロックとブロック領域外データから構成され、
前記コンテンツ提供ユニットの構成ユニットAは、
(1)ブロック領域外データを共通鍵(Kt)で暗号化した共通鍵暗号化データと、
(2)ブロックデータを各々異なるブロック鍵(Kb)で暗号化した暗号化ブロックデータと、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットBは、
(3)ブロックデータの平文データ、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットBは、前記クライアントからのコンテンツ要求に応じて、
クライアント対応の個別鍵(ユーザ鍵)を生成し、
クライアントに提供するブロックデータを選択し、
選択ブロックの構成データの一部を前記クライアント対応の個別鍵(ユーザ鍵)で暗号化してクライアントに提供するとともに、
個別鍵(ユーザ鍵)暗号化データを除くコンテンツ構成データを識別するデータ識別情報をクライアントに提供し、
前記コンテンツ提供ユニットの構成ユニットAは、
前記クライアントから前記データ識別情報を受信し、受信したデータ識別情報によって特定されるデータをクライアントに提供するコンテンツ配信システムにある。
【0029】
さらに、本発明のコンテンツ配信システムの一実施態様において、前記コンテンツ構成データを識別するデータ識別情報はURL(Uniform Resource Locator)である。
【0030】
さらに、本発明の第3の側面は、
コンテンツ再生処理を実行するデータ処理部を有し、
前記データ処理部は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理装置にある。
【0031】
さらに、本発明の情報処理装置の一実施態様において、前記ブロック鍵による暗号化領域は、各々が異なるブロック鍵で暗号化された複数のブロック領域によって構成され、前記データ処理部は、前記コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する。
【0032】
さらに、本発明の第4の側面は、
クライアントに提供するコンテンツを生成する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出し、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成し、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理方法にある。
【0033】
さらに、本発明の第5の側面は、
コンテンツ再生処理を実行する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理方法にある。
【0034】
さらに、本発明の第6の側面は、
クライアントに提供するコンテンツを生成する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出する処理と、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定する処理と、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成する処理と、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択する処理と、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成する処理と、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する処理とを実行させるプログラムにある。
【0035】
さらに、本発明の第7の側面は、
コンテンツ再生処理を実行する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行わせて、コンテンツ再生を実行させるプログラムにある。
【0036】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【0037】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0038】
本発明の一実施例の構成によれば、暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成が実現される。
具体的には、コンテンツの構成データであるブロック1〜ブロックiを異なるブロック鍵で暗号化したパターン1〜kを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック1〜iの異なるブロック配列(パターンシーケンス)からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵(タイトル鍵)が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。
【図面の簡単な説明】
【0039】
【図1】暗号鍵の不正公開によるコンテンツの不正利用例について説明する図である。
【図2】暗号鍵の不正公開によるコンテンツの不正利用例について説明する図である。
【図3】復号コンテンツの不正公開によるコンテンツの不正利用例について説明する図である。
【図4】本発明の概要について説明する図である。
【図5】サーバの提供するコンテンツの具体例について説明する図である。
【図6】サーバの提供するコンテンツの具体例について説明する図である。
【図7】サーバがクライアントに提供するコンテンツ構成を規定するパラメータについて説明する図である。
【図8】サーバがクライアントに提供するコンテンツ構成を規定するパラメータの具体例について説明する図である。
【図9】サーバからクライアントに対するコンテンツ提供処理のシーケンスについて説明する図である。
【図10】サーバの記憶手段に保持される管理情報のデータ構成例について説明する図である。
【図11】複数のサーバによるクライアントに対するコンテンツ提供処理の構成例について説明する図である。
【図12】複数サーバによるクライアントに対するコンテンツ提供処理を行う構成において、ウェブサーバが保持するデータの構成例について説明する図である。
【図13】複数サーバによるクライアントに対するコンテンツ提供処理を行う構成において、アプリケーションサーバが保持するデータの構成例について説明する図である。
【図14】複数サーバによるクライアントに対するコンテンツ提供処理を行う場合のコンテンツ提供処理のシーケンスについて説明する図である。
【図15】クライアントにおけるコンテンツ再生処理例について説明する図である。
【図16】サービスプロバイダ等のサーバにおいて実行するコンテンツ生成処理シーケンスについて説明するフローチャートを示す図である。
【図17】サービスプロバイダ等のサーバにおいて実行するコンテンツ提供処理シーケンスについて説明するフローチャートを示す図である。
【図18】クライアントにおけるコンテンツ再生処理について説明する図である。
【図19】不正な流通コンテンツが発見された場合に実行する出所判定処理シーケンスについて説明するフローチャートを示す図である。
【図20】サーバのハードウェア構成例について説明する図である。
【図21】クライアントのハードウェア構成例について説明する図である。
【発明を実施するための形態】
【0040】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
1.本発明の概要について
2.サーバのコンテンツ提供処理の具体例について
3.コンテンツ構成を規定するパラメータについて
4.コンテンツ配信シーケンスについて
5.コンテンツを提供するサーバのシステム例
6.クライアントにおけるコンテンツ再生処理について
7.サーバにおけるコンテンツ生成、提供処理シーケンスについて
7−1.サーバにおけるコンテンツ生成処理シーケンス
7−2.サーバにおけるコンテンツ提供処理シーケンス
8.クライアントにおけるコンテンツ再生シーケンスについて
9.サーバにおける不正流通コンテンツに基づく出所判定処理シーケンスについて
10.各装置のハードウェア構成例について
【0041】
[1.本発明の概要について]
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。
【0042】
まず、図4を参照して、本発明の概要について説明する。本発明は例えばネットワーク上に流通する不正コンテンツの発信元を特定可能とするものである。
図4には映画や音楽などのコンテンツを提供するサービスプロバイダの運営するサーバ100を示している。
例えばPC等のクライアント120はサーバ100にアクセスして、正規のコンテンツ購入手続を行ってコンテンツを取得する。図4に示すネットワーク上のルート(a)を介して正規コンテンツを取得する。
【0043】
クライアント120のユーザは、正規購入コンテンツを一定の利用制限の下で再生する処理が許容される。例えば配信コンテンツが暗号化コンテンツである場合でも、正規購入者は、サーバから提供された復号用の鍵を適用して暗号化コンテンツを復号して再生することができる。
【0044】
しかし、クライアント120のユーザは、復号したコンテンツを不正にネットワークを介して他のユーザ(図に示すクライアント131〜133のユーザ)に提供してしまう可能性がある。例えば図4に示すネットワーク上の経路(b)を介して不特定多数のユーザに復号コンテンツを提供するといった事態が起こり得る。例えば不特定多数のユーザがアクセス可能なネットワーク上のサイトに復号コンテンツを置くといった処理である。
【0045】
あるいは、クライアント120のユーザは、復号したコンテンツを、不正にディスクなどのメディアに記録して大量の不正コピー記録メディアを作成して他のユーザに提供してしまう場合がある。例えば図4に示すディスク141である。
【0046】
本発明は、このような不正なコンテンツの流通が発覚した場合に、不正コンテンツの出所元を特定することを可能とする。図4に示す場合、この出所元はクライアント120となる。また、このような構成をサーバ100の処理負荷を過大に増加させることなく実現する。
【0047】
[2.サーバのコンテンツ提供処理の具体例について]
上述したように、本発明は、不正コンテンツの出所を追跡可能とするものであり、この処理の実現のために、正規コンテンツの提供を行うサーバ100は、特殊な構成を持つコンテンツを生成してクライアントに提供する。
【0048】
図5以下を参照して、例えばサービスプロバイダ等の運営するサーバ(コンテンツ配信サーバ等)がクライアント(ユーザ装置)に提供するコンテンツの構成について説明する。サーバは、コンテンツを不正に公開または流通させたクライアントあるいはユーザを特定可能とするための特殊なコンテンツを作成して各クライアントに提供する。
【0049】
図5は、サーバが予め準備するデータについて説明する図である。
図5には、
(a)コンテンツ
(b)ブロック領域外データ
(c)ブロック領域データ
これらを示している。
【0050】
サーバは、コンテンツを構成する複数の部分データをブロックとして抽出する。ここではブロック数をiとして、i個のブロックを抽出する。
コンテンツから抽出されたブロック以外のデータ領域が図5(b)に示すブロック領域外データである。
この(b)ブロック領域外データについては、1つの暗号鍵(タイトル鍵(Kt)を適用して暗号化する。タイトル鍵(Kt)は例えばコンテンツのタイトルに対して設定された1つの暗号鍵である。
【0051】
一方、コンテンツから抽出したi個のブロックに対しては、図5(c)に示すような暗号化データを生成する。
まず、コンテンツから抽出したi個のブロック列をk個、準備する。
これらをパターン1(P1)〜パターンk(Pk)とする。
次に、これらの各パターンに含まれるブロック各々について、異なるブロック鍵を適用して個別に暗号化を行う。
【0052】
例えば、パターン1(P1)のブロック(B1)の暗号化に適用するブロック鍵をKb(P1,B1)と表記する。
図5に示すように、
パターン1(P1)に含まれるi個のブロックは、それぞれ、
ブロック鍵:Kb(P1,B1)〜Kb(P1,Bi)の異なるブロック鍵によって暗号化された暗号化ブロックの集合として設定される。
【0053】
また、パターン2(P2)に含まれるi個のブロックは、それぞれ、
ブロック鍵:Kb(P2,B1)〜Kb(P2,Bi)の異なるブロック鍵によって暗号化された暗号化ブロックの集合として設定される。
このようなパターンをkパターン生成する。
なお、各パターン1〜kの各々に含まれるブロックはi個であるので、k個のパターンを生成するために適用するブロック鍵は、
パターン1:Kb(P1,B1)〜Kb(P1,Bi)
パターン2:Kb(P2,B1)〜Kb(P2,Bi)

パターンk:Kb(Pk,B1)〜Kb(Pk,Bi)
これらの鍵となる。
【0054】
すなわち、k個のパターンを生成するために適用するブロック鍵の総数は、Kb(P1,B1)〜Kb(Pk,Bi)の
i×k個のブロック鍵となる。
【0055】
このように、サーバは、まず、(a)コンテンツに基づいて、
(b)タイトル鍵(Kt)で暗号化したブロック領域外データ
(c)各ブロックを個別のブロック鍵で暗号化したk個のパターン
これらを生成する。
【0056】
次に、図6を参照してクライアント(ユーザ装置)への配信データについて説明する。
サーバは、図5に示す
(b)タイトル鍵(Kt)で暗号化したブロック領域外データ
(c)各ブロックを個別のブロック鍵で暗号化したk個のパターン
これらを利用して各クライアントに提供するデータを生成する。
【0057】
サーバは、コンテンツの配信単位の処理として、図5(c)に示すパターン1〜パターンkのk個のパターンから、ランダムなブロックの選択を行う。
すなわち、コンテンツの配信処理毎に、個別のブロック鍵Kbで暗号化された暗号化ブロックから、ブロック1〜ブロックiまでを1つずつパターン1〜kの中から選択する。
【0058】
図5(c)に示す個別のブロック鍵Kb(Px,By)で暗号化された暗号化ブロックからブロック1〜ブロックiを1つずつ選択し、さらに、図5(b)に示すタイトル鍵(Kt)で暗号化したブロック領域外データを組み合わせて特定のクライアントに提供するコンテンツデータ列を設定する。
さらに、生成したコンテンツデータ列に含まれるブロックの一部をユーザ(クライアント)に対応する個別鍵(ユーザ鍵)Kuを適用して暗号化する。
この処理によってユーザへの提供コンテンツを生成する。
【0059】
なお、ブロック内に設定されるユーザ対応の個別鍵(ユーザ鍵)Kuによる暗号化領域は、ブロック鍵:Kbの暗号化データを、さらに、ユーザ対応の個別鍵(ユーザ鍵)Kuを適用して2重に暗号化する設定としてもよいし、
ブロック鍵:Kbの暗号化を施さず、またはブロック鍵:Kbの暗号化を復号し、ユーザ対応の個別鍵(ユーザ鍵)Kuのみによって暗号化された暗号化領域として設定する構成としてもよい。
【0060】
図6には、
ユーザAに対する提供コンテンツ、
ユーザBに対する提供コンテンツ、
これらのデータ構成例を示している。
【0061】
例えば、図6に示すユーザAに対する提供コンテンツは、
図5(b)に示すタイトル鍵(Kt)で暗号化したブロック領域外データと、
図5(c)に示すパターン1〜パターンkのk個のパターンから、ランダムなブロック選択によって選択されたブロック1〜i、
これらによって構成されている。
さらに、ブロックの一部領域は、ユーザAに対応して生成されるユーザ個別のユーザ鍵Kuによって暗号化される。
例えば図に示すユーザAに対する配信コンテンツとして選択されたブロック1は、ブロック鍵Kb(P2,B1)によって暗号化されたブロック、すなわち図5(c)に示すパターン2のブロック1である。
このブロック鍵Kb(P2,B1)によって暗号化されたブロックの一部領域をユーザAに対応するユーザ固有の鍵であるユーザ鍵Ku(a)を適用して暗号化する。
図に示す黒塗りつぶし部分がユーザ鍵Ku(a)による暗号化部分(個別暗号化部分)である。
ユーザ鍵による暗号化領域(個別暗号化部分)はブロック1〜iの全ブロックに設定する。
なお、一部のブロックに対してユーザ鍵による暗号化領域(個別暗号化部分)を設定する構成としてもよい。また、1つのブロック内に複数のユーザ鍵による暗号化領域(個別暗号化部分)を設定する構成としてもよい。
【0062】
また、図に示すユーザBに対する配信コンテンツとして選択されたブロック1は、ブロック鍵Kb(P1,B1)によって暗号化されたブロック、すなわち図5(c)に示すパターン1のブロック1である。
このブロック鍵Kb(P1,B1)によって暗号化されたブロックの一部領域をユーザBに対応するユーザ固有の鍵であるユーザ鍵Ku(b)を適用して暗号化する。
図に示す黒塗りつぶし部分がユーザ鍵Ku(b)による暗号化部分である。
【0063】
なお、ユーザ鍵による暗号化領域は配信処理単位に変更してもよいし、同一領域としてもよい。
また、ユーザ鍵による暗号化領域は、コンテンツの重要データ、重要シーン領域を含む設定とすることが好ましい。例えばMPEGデータにおけるiピクチャを含む領域等に設定することが好ましい。
なお、ユーザ鍵は、例えば乱数生成処理などにより、サーバがコンテンツ配信時に生成し、生成鍵をユーザに提供するとともに、データベースに格納する。
【0064】
ユーザに対して提供するデータは、図6に示すように、暗号化コンテンツの他、暗号化コンテンツの復号に適用する暗号鍵のセットも含まれる。
例えばユーザAに対して提供される暗号鍵は、
(a)全ユーザに共通する共通鍵であるタイトル鍵
(b)ユーザAに対する提供コンテンツ中のi個のブロックの復号に適用するi個のブロック鍵、
(c)ユーザAのユーザ対応の個別鍵であるユーザ鍵:Ku(a)
これらの鍵セットとなる。
【0065】
また、ユーザBに対して提供される暗号鍵は、
(a)全ユーザに共通する共通鍵であるタイトル鍵
(b)ユーザBに対する提供コンテンツ中のi個のブロックの復号に適用するi個のブロック鍵、
(c)ユーザBのユーザ対応の個別鍵であるユーザ鍵:Ku(b)
これらの鍵セットとなる。
【0066】
(a)のタイトル鍵Ktは、コンテンツタイトルが共通すれば、すべてのユーザに同じタイトル鍵が提供される。
(b)のi個のブロック鍵Kbは、各ユーザへの提供コンテンツとして選択されたブロックに応じて異なる組み合わせとなる。
(c)のユーザ鍵Kuは、各ユーザ単位で異なる鍵となる。
【0067】
サーバは、このように各ユーザに対する配信コンテンツと鍵セットを生成して各ユーザに提供する。
【0068】
[3.コンテンツ構成を規定するパラメータについて]
次に、ユーザに対する配信コンテンツの構成を規定するパラメータの設定例について図7、図8を参照して説明する。
図7に示すように、配信コンテンツを規定するパラメータとしては例えば以下のパラメータがある。
a:ブロックサイズ
i:ブロック数
k:パターン数
b:ユーザ鍵(Ku)による個別暗号化部分のサイズ
c:1ブロック内のユーザ鍵(Ku)による個別暗号化部分の数
【0069】
図8にこれらのパラメータの具体的な設定例の一例を示す。なお、図8に示す例は、コンテンツが、Video rate=8Mbps、Duration=7200sec、Size=7.2GB、IDR interval=1sec、
このような態様のコンテンツである場合のパラメータ設定例を示している。
【0070】
(a:ブロックサイズ)
ブロックサイズは例えば1MBとする。
ブロックサイズは、暗号化処理や復号処理の単位等の所定のフォーマットの規定に従った構成とすることが設定条件となる。
この設定条件を満たすために、例えば1Block=1Symbol、8Block=1Segmentの設定とする。
【0071】
(i:ブロック数)
ブロック数は、例えば1コンテンツあたり720とする。
ブロック数は、ブロック部分が再生できない場合にもユーザを十分にフラストレートできる設定とすることが必要である。
これを満たすため、コンテンツ全体の10%程度(7200*0.1=720sec)(720/8=90Segment)のブロックを設定する。
【0072】
(k:パターン数)
パターン数kは例えば32とする。
コンテンツ配信単位で異なるパターンの組み合わせが実現されることが望ましい。
パターン数k=32として、ブロックをi個とすれば、
32個の異なるブロック組み合わせが実現される。
【0073】
(b:ユーザ鍵(Ku)による個別暗号化部分のサイズ)
ユーザ鍵による個別暗号化部分のサイズは例えば16Byteとする。
(c:1ブロック内のユーザ鍵(Ku)による個別暗号化部分の数)
1ブロック内のユーザ鍵(Ku)による個別暗号化部分の数は、例えば8個とする。
これらのパラメータb,cは、例えば正当な配信コンテンツが、その後、不正に流通した場合に、ユーザ鍵(Ku)による個別暗号化部分の復号なしでは正常なコンテンツ鑑賞ができないレベルとすることが要求され、コンテンツに応じて決定する構成とすることが好ましい。
【0074】
例えば図8に示すパラメータの設定とすることで、
ユーザ対応の個別鍵(ユーザ鍵)がない場合に再生できないコンテンツ部分(再生時間)は720sec、
ユーザ対応の個別鍵(ユーザ鍵)による暗号化部分の合計サイズは、1コンテンツあたり92160byte
k個のパターンに対応するブロックの合計サイズは、22.3GB
となる。
なお。パラメータ設定は、配信コンテンツの態様に応じて最適なパラメータを適宜、決定する設定としてよい。
【0075】
[4.コンテンツ配信シーケンスについて]
次に、コンテンツ配信シーケンスの一例について図9に示すシーケンス図を参照して説明する。
図9は、サーバとクライアント間のコンテンツ配信シーケンスを示す図である。
クライアントは、例えばユーザの所有するPC、通信端末等の情報処理装置である。
なお、コンテンツ提供処理に伴う例えば決済処理やサーバクライアント間の認証処理については、本シーケンスでは省略しているが、必要に応じてこのような決済処理、認証処理が実行される。
【0076】
クライアントは、まず、ステップS11において、サーバに対してコンテンツの配信を要求する。例えばサーバの提供するコンテンツリストから特定のコンテンツを指定したコンテンツ指定情報をサーバに送信する。
【0077】
サーバは、ステップS12において、コンテンツ要求に応じて、ユーザ(クライアント)に対応する個別鍵であるユーザ鍵Kuを生成する。例えば乱数生成によりユーザ鍵Kuを生成する。
【0078】
次に、ステップS13において、クライアントに提供するコンテンツに設定するブロックの選択処理を実行し、さらに、選択したブロック各々について、ブロック内のユーザ対応の個別鍵(ユーザ鍵)による個別暗号化部分を決定する。
【0079】
ステップS13におけるブロック選択処理は、図5を参照して説明した図5(c)に示すパターン1〜kからブロック1〜iを1つずつランダムに選択する処理として実行される。
選択したブロック内のユーザ鍵による個別暗号化部分の決定処理は、例えば図8を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。
【0080】
次に、ステップS14において、サーバはステップS13で決定した個別暗号化部分に対して、クライアント対応の個別鍵(ユーザ鍵:Ku)を適用した暗号化処理を行う。さらに、ユーザ鍵:Kuによる暗号化の施された各ブロックの個別暗号化部分をまとめて、1つのデータファイル(サブブロックファイル)として設定する。
【0081】
なお、各ブロックは、暗号化処理単位としてのサブブロックの集合として設定され、ユーザ対応の個別鍵(ユーザ鍵)による暗号化データ部分もサブブロックを単位として実行される。
【0082】
次に、サーバは、ステップS15において、クライアントに対するデータ配信を行う。配信データは例えば図9(S15)に示すように、以下のデータのセットとなる。
(1)ブロック以外の共通鍵(Kt)暗号化データ
(2)ユーザ対応の個別鍵(ユーザ鍵)暗号化部分を除くブロック鍵(Kb)暗号化データ
(3)ユーザ対応の個別鍵(ユーザ鍵)暗号化データからなるサブブロックファイル
(4)共通鍵(Kt)、ブロック鍵(Kb)、ユーザ鍵(Ku)
これらの暗号化コンテンツデータと、鍵セットをクライアントに送信する。
なお、これらのデータの他、サーバは、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報をクライアントに提供する。
【0083】
次に、サーバは、ステップS16においてデータベースに配信コンテンツ情報としての管理情報を登録する。例えば図10に示す管理情報の登録処理を行う。この管理データについては後段で説明する。
【0084】
暗号化コンテンツと鍵セットをサーバから受信したクライアントは、ステップS17において、以下の受信データ、すなわち、
(1)ブロック以外の共通鍵(Kt)暗号化データ
(2)ユーザ対応の個別鍵(ユーザ鍵)暗号化部分を除くブロック鍵(Kb)暗号化データ
(3)ユーザ対応の個別鍵(ユーザ鍵)暗号化データからなるサブブロックファイル
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、サーバから受信した鍵データ、すなわち、
(4)共通鍵(Kt)、ブロック鍵(Kb)、ユーザ鍵(Ku)
これらの鍵データとともにクライアント内の記憶装置に格納する。さらに、各暗号鍵を利用した復号処理を実行してコンテンツ再生を行う。
【0085】
なお、コンテンツの復号に際しては、サーバから提供されるコンテンツ構成情報、すなわち、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報を参照して適用する暗号鍵を切り替えた復号処理を行うことになる。
【0086】
図10を参照してサーバが配信コンテンツの管理情報として記録するデータについて説明する。
図10は、サーバの記憶手段に保持される管理情報のデータ構成例である。
図10に示すように、管理情報には、
配信コンテンツ情報、
配信先情報、
配信ユーザ情報、
配信日時情報、
ブロック情報、
暗号鍵情報(共通鍵、ブロック鍵、ユーザ対応の個別鍵(ユーザ鍵))
例えばこれらの情報が含まれる。
【0087】
配信コンテンツ情報は、コンテンツのタイトル、コンテンツのIDなどの情報によって構成される。
配信先情報は、コンテンツ配信先のアドレス、例えばクライアントやユーザに対応するアドレスなどの情報である。
配信ユーザ情報は、ユーザ名、住所、連絡先等ののユーザ情報である。
配信日時情報は、コンテンツの配信日時情報である。
【0088】
ブロック情報は、配信コンテンツに含まれるブロック1〜iに関する情報である。各ブロックがどのパターンから選択されたブロックであるかを識別可能とした次用法である。
【0089】
暗号鍵情報には、各提供コンテンツの暗号化処理に適用した暗号鍵の情報が記録される。具体的には、
(a)全ユーザに共通する共通鍵であるタイトル鍵:Kt
(b)ユーザに対する提供コンテンツ中のi個のブロックの復号に適用するi個のブロック鍵:Kb、
(c)ユーザ対応の個別鍵であるユーザ鍵:Ku
これらの鍵セットに関する情報となる。
このような鍵情報が管理情報としてコンテンツの配信先情報に対応付けて記録される。
【0090】
例えば配信コンテンツが不正に流通した場合、流通コンテンツに含まれるブロックの組み合わせを解析し、図10に示す管理情報の登録情報を利用することで、不正流通コンテンツの配信先クライアントを特定することが可能となる。
【0091】
また、例えば鍵の漏えいが発生した場合、その漏えいした鍵を解析して、図10に示す管理情報と照合することで、鍵の漏えい元のクライアントがどのクライアントであるかを判断することが可能となる。
【0092】
なお、図10に示す管理情報の例は一例であり、これらの情報の全てを記録することが必ずしも必須ではなく、また、これらの情報以外の情報を管理情報として保持してもよい。
【0093】
[5.コンテンツを提供するサーバのシステム例]
上述した実施例では、クライアントに対するデータ配信を1つのサーバがすべて実行する処理例として説明した。
以下では、データ配信効率等を考慮した構成例として、クライアントに対してコンテンツ提供処理を行う複数のサーバを設定し、サーバ各々が、コンテンツ構成データの一部をクライアントに提供する処理例について説明する。
【0094】
図11には、コンテンツ提供処理を実行する2つのサーバ(第1サーバ201、第2サーバ202)と、コンテンツを受信する複数のクライアント(クライアントa211〜クライアントn213)を示している。
【0095】
図11に示すように、
第1サーバ(ウェブ(Web)サーバ)201は、各クライアント211〜213に対して、以下のデータを送信する。
(1)共通鍵(Kt)暗号化データ
(2)個別鍵(ユーザ鍵)暗号化部分を除くブロックデータ(ブロック鍵暗号化データ)
【0096】
一方、第2サーバ(アプリケーションサーバ)202は、各クライアント211〜213に対して、以下のデータを送信する。
(3)ユーザ対応の個別鍵(ユーザ鍵(Ku))による暗号化データ
【0097】
このように第1サーバ(ウェブ(Web)サーバ)201と、第2サーバ(アプリケーションサーバ)202は、それぞれ、クライアントに対する配信コンテンツの一部を送信コンテンツとして担当したデータ送信処理を行う。
【0098】
ユーザ対応個別鍵(ユーザ鍵)の生成処理と、個別鍵(ユーザ鍵)を適用した暗号化処理はコンテンツ配信単位の処理として、第2サーバ(アプリケーションサーバ)202が実行する。
【0099】
第1サーバ(ウェブ(Web)サーバ)201は、コンテンツ配信処理毎に新たなデータ暗号化等の処理は実行せず、予めデータベースに格納されたデータの選択抽出を実行し、選択したデータをクライアントに提供する。すなわち、
(1)共通鍵(Kt)暗号化データ
(2)個別鍵(ユーザ鍵)暗号化部分を除くブロックデータ(ブロック鍵暗号化データ)
これらのデータを配信処理単位で選択してクライアントに提供する。
【0100】
このような2つのサーバを利用した構成とすることで、コンテンツ配信処理における負荷分散が可能となり、効率的なコンテンツ配信が実現される。
【0101】
図12、図13を参照して、
第1サーバ(ウェブ(Web)サーバ)201が保持するデータ、
第2サーバ(アプリケーションサーバ)202が保持するデータ、
これらのデータ例について説明する。
【0102】
まず、図12を参照して、
第1サーバ(ウェブ(Web)サーバ)201が保持するデータについて説明する。
図11を参照して説明したように、第1サーバ(ウェブ(Web)サーバ)201は、
(1)共通鍵(Kt)暗号化データ
(2)ユーザ対応個別鍵(ユーザ鍵)による暗号化部分を除くブロックデータ(ブロック鍵暗号化データ)
これらのデータをクライアントに提供する。
【0103】
上記データは、予め準備可能なデータである。(2)に示すユーザ対応個別鍵(ユーザ鍵)による暗号化部分を除くブロックデータ(ブロック鍵暗号化データ)は、ユーザ単位で選択するブロックと、ユーザ対応個別鍵(ユーザ鍵)による暗号化部分については、コンテンツ配信処理次に決定することが必要であるが、ブロック鍵による暗号化データ事態は、コンテンツ配信先のクライアントの決定以前に予め準備し、データベースに格納しておくことができる。
【0104】
図12に示すように、第1サーバ(ウェブ(Web)サーバ)201は、
(1)ブロック領域外暗号化データ(共通鍵(タイトル鍵Kt)による暗号化データ)
(2)ブロック領域暗号化データ(ブロック鍵Kbによる暗号化データ)
これらのデータをデータベースに保持すればよい。
これらのデータは、先に図5を参照して説明した(b)、(c)のデータに対応する。
第1サーバ(ウェブ(Web)サーバ)201は、これらのデータを記憶部に保持すればよい。
なお、鍵データとして共通鍵(タイトル鍵Kt)、ブロック鍵(Kb)を保有する。
【0105】
なお、(2)ブロック領域暗号化データ(ブロック鍵Kbによる暗号化データ)は、暗号化処理単位として規定されるサブブロック単位でブロック鍵Kbによる暗号化が実行される。
図12に示すように、第1サーバ(ウェブサーバ)201が保持するブロックデータは、暗号化処理単位としてのサブブロック単位で識別可能な設定となっている。図12に示す例は、1つのブロックがn個のサブブロックによって構成された例である。
【0106】
ユーザ対応の個別鍵(ユーザ鍵)による暗号化単位も、このサブブロック単位となる。
ユーザ対応の個別鍵(ユーザ鍵)による暗号化は、第2サーバ(アプリケーションサーバ)202において実行され、クライアントに提供される。
従って、第1サーバ(ウェブ(Web)サーバ)201は、ユーザ対応の個別鍵(ユーザ鍵)による暗号化がなされるサブブロック領域を除去したサブブロックのみからなるブロックデータをクライアントに提供する。
【0107】
第1サーバ(ウェブ(Web)サーバ)201がクライアントに提供するデータは以下のデータである。
(1)ブロック領域外暗号化データ
これは、コンテンツタイトルに対応して設定される共通鍵(タイトル鍵:Kt)を適用してブロック以外のデータ領域を暗号化したデータである。
(2)ブロック領域暗号化データ
これは、図5(c)を参照して説明したように、パターン1〜kのk個のパターンに対応するブロック1〜iの各々に対して異なるブロク鍵:Kbを適用して暗号化した暗号化ブロックデータであり、ユーザ対応の個別鍵(ユーザ鍵)による暗号化がなされるサブブロック領域を除去したサブブロックのみからなるデータである。
【0108】
一方、第2サーバ(アプリケーションサーバ)202が保持するデータは、図13に示すデータである。
すなわち、各パターン(パターン1〜k)に応じたブロックデータの暗号化の施されていない平文データを保持する。
【0109】
なお、第2サーバ(アプリケーションサーバ)202が保持するブロックデータも、図13に示すように暗号化処理単位としてのサブブロック単位で識別可能な設定となっている。図13に示す例は、1つのブロックがn個のサブブロックによって構成された例である。
【0110】
本処理例では、ブロック内に設定する個別鍵(ユーザ鍵:Ku)による個別暗号化部分は、ブロック鍵:Kbの暗号化を施さず、ユーザ対応の個別鍵(ユーザ鍵)Kuのみによって暗号化された暗号化データとして構成された処理例として説明する。なお、この態様に限らず、個別暗号化部分をブロック鍵:Kbと個別鍵(ユーザ鍵:Ku)との二重暗号化部分として設定することも可能である。
【0111】
図14を参照して、第1サーバ(ウェブ(Web)サーバ)201と、第2サーバ(アプリケーションサーバ)202の2つのサーバを利用したコンテンツ提供シーケンスについて説明する。
【0112】
先に図9を参照して説明したシーケンスと同様、クライアントは、例えばユーザの所有するPC、通信端末等の情報処理装置である。コンテンツ提供処理に伴う例えば決済処理やサーバクライアント間の認証処理については、本シーケンスでは省略しているが、必要に応じてこのような決済処理、認証処理が実行される。
【0113】
クライアントは、まず、ステップS21において、アプリケーションサーバに対してコンテンツの配信を要求する。例えばアプリケーションサーバの提供するコンテンツリストから特定のコンテンツを指定したコンテンツ指定情報をサーバに送信する。
【0114】
アプリケーションサーバは、ステップS22において、コンテンツ要求に応じて、ユーザ(クライアント)に対応する個別鍵であるユーザ鍵Kuを生成する。例えば乱数生成によりユーザ鍵Kuを生成する。
【0115】
次に、アプリケーションサーバは、ステップS23において、クライアントに提供するコンテンツに設定するブロックの選択処理を実行し、さらに、選択したブロック各々について、ブロック内のユーザ対応の個別鍵(ユーザ鍵)による個別暗号化部分を決定する。
【0116】
ステップS23におけるブロック選択処理は、先に図5を参照して説明した図5(c)に示すパターン1〜kからブロック1〜iを1つずつランダムに選択する処理に対応する処理である。
ただし、アプリケーションサーバは、図13を参照して説明したブロック対応の平文データを保持しているのみで、ブロック鍵Kbで暗号化したデータを保持しているわけではない。
従って、アプリケーションサーバは、ステップS23において、クライアントに対する提供ブロックに対応するパターンシーケンスを決定するのみとなる。
【0117】
例えば、
ブロック1:パターン2、
ブロック2:パターン1、
ブロック3:パターンk、

ブロックi:パターン5、
このようにブロック1〜iをどのパターンから選択するかの、
パターンシーケンス:[2,1,k,・・・,5]
を決定する。
【0118】
さらに、アプリケーションサーバは、ステップS23において、決定したパターンシーケンスに対応するブロックについて、各ブロック内の個別鍵(ユーザ鍵:Ku)による暗号化部分(個別暗号化部分)を決定する。
この選択ブロック内の個別暗号化部分の決定処理は、例えば図8を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。
なお、この個別暗号化部分は、サブブロック単位で決定する。
【0119】
次に、アプリケーションサーバは、ステップS24において、各ブロックから選択したユーザ鍵による暗号化データ部分、すなわち、個別暗号化部分として選択したサブブロックに対して、ステップS22で生成した個別鍵(ユーザ鍵:Ku)を適用した暗号化を実行する。
先に図13を参照して説明したように、アプリケーションサーバは、平文データとしてのブロックデータを保持している。この平文ブロックデータはサブブロック単位で区分された設定であり、アプリケーションサーバは、個別暗号化部分として選択したサブブロック(平文)に対して、ステップS22で生成した個別鍵(ユーザ鍵:Ku)を適用して暗号化を行う。
【0120】
さらに、アプリケーションサーバは、個別鍵(ユーザ鍵:Ku)によって暗号化を行った個別暗号化サブブロックデータをまとめて、1つのデータファイル(サブブロックファイル)として設定する。
【0121】
次に、ステップS25において、アプリケーションサーバは、ステップS24で生成した個別暗号化サブブロックデータファイル(サブブロックファイル)をクライアントに対して送信する。
さらに、鍵データと、ウェブサーバからクライアントに対して提供すべきデータの識別情報(例えば、データ対応のURL(Uniform Resource Locator)、アドレス情報等)をクライアントに送信する。
【0122】
なお、ウェブサーバからクライアントに対して提供すべきデータは、
(1)ブロック以外の共通鍵(Kt)暗号化データ
(2)ユーザ対応の個別鍵(ユーザ鍵)暗号化部分を除くブロック鍵(Kb)暗号化データ
これらのデータである。
アプリケーションサーバは、これらのデータの識別情報(例えば、データ対応のURL、アドレス情報等)を個別暗号化サブブロックデータファイル(サブブロックファイル)に併せてクライアントに送信する。
【0123】
アプリケーションサーバからクライアントに提供する配信データには例えば図14(S25)に示すように、以下のデータが含まれる。
(a1)ユーザ対応の個別鍵(ユーザ鍵)による暗号化データ
(a2)ブロック領域以外の共通鍵(Kt)による暗号化データの識別情報(例えば、データ対応のURL、アドレス情報等)
(a3)ユーザ対応の個別鍵(ユーザ鍵)による個別暗号化部分を除くサブブロックの識別情報(例えば、サブブロックデータ対応のURL、アドレス情報等)
(a4)ユーザ対応個別鍵(ユーザ鍵)
これらの暗号化データと、データ識別情報と、鍵セットをクライアントに送信する。
【0124】
なお、これらのデータの他、アプリケーションサーバは、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報をクライアントに提供する。
【0125】
次のステップS26の処理は、クライアントの処理である。
クライアントは、上記(a1)〜(a4)の各データをアプリケーションサーバから受信し、受信データに含まれる上記(a2),(a3)のデータを利用して、アプリケーションサーバから受信したコンテンツ以外のコンテンツ構成データをウェブサーバに対して要求する。
【0126】
すなわち、
(a2)ブロック領域以外の共通鍵(Kt)による暗号化データの識別情報(例えば、データ対応のURL、アドレス情報等)
(a3)ユーザ対応の個別鍵(ユーザ鍵)による個別暗号化部分を除くサブブロックの識別情報(例えば、サブブロックデータ対応のURL、アドレス情報等)
これらのデータ識別情報(例えばURL)を利用してウェブサーバにアクセスして、データ識別情報に対応するデータの取得要求を行う。
【0127】
ウェブサーバは、ステップS27において、クライアントからの要求データをクライアントに提供する。
ウェブサーバがクライアントに提供するデータには、図14(S27)に示すように以下のデータが含まれる。
(b1)ブロック以外の共通鍵(タイトル鍵:Kt)による暗号化データ
(b2)クライアントに対して選択されたブロックデータ中のユーザ対応の個別鍵(ユーザ鍵)による個別暗号化部分を除くサブブロックデータ
(b3)共通鍵(タイトル鍵:Kt)、ブロック鍵(Kb)
【0128】
上記データ中(b1),(b2)の各データは、クライアントから受信する各データ対応のURL等のデータ識別情報によって特定される。
(b3)の共通鍵(Kt)はコンテンツ対応のタイトルによって特定され、クライアントから受信するURL等のデータ識別情報に含まれるデータによって特定される。
同様に、(b3)のブロック鍵(Kb)も、上記データ中の(b2)のサブブロックデータの識別情報から解析されるブロック識別子によって特定されるブロックに対応するブロック鍵を選択してクライアントに提供する処理が実行される。
【0129】
ウェブサーバから上述した(b1)〜(b3)の暗号化データと鍵セットを受信したクライアントは、ステップS28において、アプリケーションサーバトウェブサーバからの受信データに基づいてコンテンツの再構成を行う。
【0130】
すなわち、以下の受信データ、すなわち、
(1)ブロック以外の共通鍵(Kt)暗号化データ
(2)ユーザ対応の個別鍵(ユーザ鍵)暗号化部分を除くブロック鍵(Kb)暗号化データ(サブブロックデータ)
(3)ユーザ対応の個別鍵(ユーザ鍵)暗号化データからなるサブブロックデータ
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、各サーバから受信した鍵データ、すなわち、
(4)共通鍵(Kt)、ブロック鍵(Kb)、ユーザ鍵(Ku)
これらの鍵データとともにクライアント内の記憶装置に格納する。さらに、各暗号鍵を利用した復号処理を実行してコンテンツ再生を行う。
【0131】
なお、コンテンツの復号に際しては、サーバから提供されるコンテンツ構成情報、すなわち、共通鍵による暗号化領域、ブロック領域、個別暗号化部分等、復号に適用する鍵の選択に必要となる領域情報を記録したコンテンツ構成情報を参照して、適用暗号鍵を適宜、切り替えて復号処理を行うことになる。
【0132】
なお、上記実施例では、2つのサーバを利用したコンテンツ配信処理例について説明したが、前述したように、これらのコンテンツ配信処理は、1つのサーバ等の1つの装置(ユニット)において実行してもよいし、2以上の複数の装置(ユニット)による分散処理として実行してもよい。
【0133】
[6.クライアントにおけるコンテンツ再生処理について]
次に図15を参照してクライアントにおけるコンテンツ再生処理例について説明する。図15には、クライアントにおけるコンテンツ再生処理を実行するデータ処理部の構成と記憶部を示している。
【0134】
図9と、図14を参照して2つの異なるシーケンスに従ったコンテンツ提供シーケンスについて説明した。しかし、いずれの処理においても、クライアントは、サーバから以下のデータを受信する。
(1)ブロック以外の共通鍵(Kt)暗号化データ
(2)ユーザ対応の個別鍵(ユーザ鍵)暗号化部分を除くブロック鍵(Kb)暗号化データ(サブブロックデータ)
(3)ユーザ対応の個別鍵(ユーザ鍵)暗号化データからなるサブブロックデータ
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、各サーバから受信した鍵データ、すなわち、
(4)共通鍵(Kt)、ブロック鍵(Kb)、ユーザ鍵(Ku)
(5)コンテンツ構成情報
【0135】
クライアントは、これらのデータを図15に示す記憶部501格納し、記憶部501に格納されたデータに基づくコンテンツの復号、再生処理を実行する。
【0136】
クライアントのデータ処理部の制御部502は、まず、記憶部501からコンテンツ構成情報511を取得する。これは、クライアントに提供されたコンテンツのブロック領域、ブロック内の個別暗号化部分等の位置情報等からなる暗号化データ構成を示す情報である。すなわち、
共通鍵(Kt)による暗号化領域、
各ブロック鍵(Kb)による暗号化領域、
個別鍵(ユーザ鍵Ku)で暗号化された暗号化領域、
これらの各領域を確認し、復号に適用する鍵を選択するために必要となる情報である。
【0137】
図15に示すように、クライアントの制御部502は、記憶部501からコンテンツ構成情報511を読みだして、コンテンツ構成情報511を参照して、鍵切り替え情報514を復号部503に出力する。
すなわち、
共通鍵(Kt)による暗号化領域の処理に際しては、共通鍵の適用命令を復号部503に出力し、
各ブロック鍵(Kb)による暗号化領域の処理に際しては、復号対象のブロックに対応するブロック鍵の適用命令を復号部503に出力し、
個別鍵(ユーザ鍵(Ku))で暗号化されたデータ領域については個別鍵の適用命令を復号部503に出力する。
【0138】
復号部503は、記憶部501から読みだした暗号化コンテンツ512に対する復号処理を、記憶部501から読みだした暗号鍵(共通鍵、ブロック鍵、個別鍵)513を適用して適宜、鍵の切り替えを実行して復号処理を実行する。
【0139】
復号結果は、デコードおよび再生処理部504に提供される。デコードおよび再生処理部504は、所定のデコード処理、例えばMPEGデコードを実行して再生処理を実行し、再生データ520を出力する。
【0140】
[7.サーバにおけるコンテンツ生成、提供処理シーケンスについて]
次に、図16、図17に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ生成と提供処理シーケンスについて説明する。
【0141】
(7−1.サーバにおけるコンテンツ生成処理シーケンス)
まず、図16に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ生成処理シーケンスについて説明する。
【0142】
図16に示すフローに従った処理は、サーバのデータ処理部において実行される。
まず、ステップS101において、
オリジナルコンテンツ、例えば映画等のオリジナルコンテンツを取得する。
次に、ステップS102において、オリジナルコンテンツに複数(i個)のブロックを設定し、抽出する。
【0143】
さらに、ステップS103において、抽出したブロック以外のブロック領域外データに対して共通鍵(タイトル鍵Kt)を適用して暗号化を行う。
【0144】
次に、ステップS104において、オリジナルコンテンツから抽出した複数(i個)のブロックを、ブロック1〜ブロックiからなるk個のパターンとして設定する。
さらに、ステップS105において、パターン1〜パターンkのブロック1〜ブロックiに対して、異なるブロック鍵(Kb(Px,By))を適用して暗号化する処理を実行する。
これらの処理によって、図5を参照して説明した(b)、(c)のデータが生成される。
【0145】
(7−2.サーバにおけるコンテンツ提供処理シーケンス)
次に、図17に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ提供処理シーケンスについて説明する。
なお、先に図9のシーケンス図と、図15のシーケンス図を参照して説明したように、クライアントに対するコンテンツ提供処理は、1つのサーバから実行してもよいし、複数のサーバによる処理として実行してもよい。
従って、図17のフローに示す処理は、1つのサーバまたは複数のサーバによって実行可能な処理である。
【0146】
図17に示すフローに従った処理は、クライアントに対するコンテンツ配信処理毎に、逐次サーバのデータ処理部において実行される。
まず、ステップS151において、
クライアントからのコンテンツダウンロードリクエストを受信する。
次に、ステップS152において、
クライアント(ユーザ)対応の個別鍵(ユーザ鍵Ku)を生成する。例えば乱数生成処理等によって生成する。
【0147】
次に、ステップS153において、クライアントに提供するブロック列を決定する。すなわち、ブロック1〜iを選択するパターン1〜kのシーケンスを決定する。
例えば、以下のようなパターンシーケンス(ブロック配列情報)である。
ブロック1:パターン2、
ブロック2:パターン1、
ブロック3:パターンk、

ブロックi:パターン5、
このようにブロック1〜iをどのパターンから選択するかの、
パターンシーケンス:[2,1,k,・・・,5](=ブロック配列情報)
を決定する。
【0148】
次に、ステップS154において、選択したブロック各々について、ブロック内の個別暗号化部分を決定する。すなわち、各ブロック内の個別鍵(ユーザ鍵:Ku)による暗号化部分(個別暗号化部分)を決定する。
この選択ブロック内の個別暗号化部分の決定処理は、例えば図8を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。なお、この個別暗号化部分は、各ブロックの再分割単位として設定されるサブブロック単位で決定する。
【0149】
次に、ステップS155において、個別鍵(ユーザ鍵:Ku)による個別暗号化部分の暗号化を実行する。
なお、この個別鍵(ユーザ鍵:Ku)による個別暗号化部分の暗号化処理態様としては、先に説明したように、ユーザ鍵Kuのみの暗号化データとしてもよいし、ブロック鍵Kbとユーザ鍵Kuによる二重暗号化構成としてもよい。
【0150】
次に、ステップS156において、コンテンツ構成情報を作成する。コンテンツ構成情報は、コンテンツの復号に際して適用すべき鍵を選択するために必要な情報が含まれる。すなわち、
共通鍵(タイトル鍵Kt)の適用領域
各ブロック鍵(KB(Px,By))の適用領域、
個別鍵(ユーザ鍵Ku)の適用領域、
これらの各鍵の適用領域を識別可能な情報を含む。
【0151】
次に、ステップS157において、サーバは、クライアントに対するデータ配信を実行する。すなわち、以下のデータをクライアントに提供する。
(1)共通鍵(タイトル鍵Kt)による暗号化データ、
(2)ブロック鍵Kbによる暗号化データ、
(3)個別鍵(ユーザ鍵Ku)による暗号化データ、
(4)共通鍵Kt、ブロック鍵Kb、個別鍵Ku
(5)コンテンツ構成情報、
これらのデータをクライアントに対して配信する。
【0152】
さらに、ステップS158において、
コンテンツ提供クライアント情報とブロック配列情報(パターンシーケンス)と暗号鍵情報との対応データを含む管理情報を作成して記憶部に格納する。
【0153】
ステップS158において生成する管理情報は、例えば、図6を参照して説明した管理情報である。
各クライアントに提供したコンテンツ単位で、配信先情報や配信ユーザ情報等のクライアント情報、ブロック情報、暗号鍵情報が対応付けて記録された管理情報である。
【0154】
[8.クライアントにおけるコンテンツ再生シーケンスについて]
次に、図18に示すフローチャートを参照してクライアントにおけるコンテンツ再生処理シーケンスについて説明する。この処理は、クライアント装置において再生処理を実行するデータ処理部の処理として実行される。
【0155】
コンテンツ再生処理を実行するクライアント装置は、まず、ステップS301において、サーバから受信したコンテンツ構成情報を取得する。すなわち、
共通鍵(タイトル鍵Kt)の適用領域
各ブロック鍵(KB(Px,By))の適用領域、
個別鍵(ユーザ鍵Ku)の適用領域、
これらの各鍵の適用領域を識別可能な情報を記録したコンテンツ構成情報である。
【0156】
次に、ステップS302において、
コンテンツ構成情報に基づいて各暗号鍵の切り替え位置情報を取得する。
次に、ステップS303において、
取得した切り替え位置情報に応じて共通鍵とブロック鍵と個別鍵を切り替えて各暗号化コンテンツを順次、復号する。
すなわち、共通鍵で暗号化されたデータ領域については共通鍵(タイトル鍵Kt)を適用した復号処理、ブロック鍵で暗号化されたデータ領域についてはブロック鍵KB(Px,By)を適用した復号処理、
個別鍵(ユーザ鍵Ku)で暗号化されたデータ領域については個別鍵(ユーザ鍵Ku)を適用した復号処理を実行する。
【0157】
なお、コンテンツ構成情報には、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかについての情報が記載されている。
クライアントは、コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する。
【0158】
次に、ステップS304において、
復号コンテンツをデコード、例えばMPEGデコード処理を実行して再生処理を行う。
【0159】
[9.サーバにおける不正流通コンテンツに基づく出所判定処理シーケンスについて]
次に、不正な流通コンテンツが発見された場合に実行する出所判定処理シーケンスについて図19に示すフローチャートを参照して説明する。
【0160】
図19に示すフローに従った処理は、例えばコンテンツ配信を実行したサービスプロバイダのサーバのデータ処理部において実行される処理である。
【0161】
まず、ステップS501において、
不正流通コンテンツを取得する。
なお、不正流通コンテンツとは、例えばネットワーク上の誰でもアクセス可能なサイトから自由にダウンロード可能な設定とされたコンテンツや、不正に流通しているディスクに記録されたコピーコンテンツなどである。
【0162】
次に、ステップS502において、
不正流通コンテンツの解析によりコンテンツを構成するブロック配列(パターンシーケンス)を解析する。
【0163】
次に、ステップS503では、
不正流通コンテンツから取得したブロック配列情報と、管理情報に記録されたブロック情報を照合し、不正流通コンテンツの流通元であるコンテンツ配信先クライアントを判定する。
なお、管理情報とは、先に説明した図10に示す管理情報である。
【0164】
なお、図19に示すフローでは、ブロック配列の解析処理例のみを説明したが、クライアントに提供する暗号鍵にはクライアント固有の個別鍵(ユーザ鍵Ku)や、クライアント固有のブロック配列に対応するブロック鍵のセットが含まれ、これらの鍵が、不正に流通している場合にも、その不正流通している鍵と、図10に示す管理情報の登録情報との照合を行うことで、不正流通鍵の出所を明らかにすることが可能となる。
【0165】
[10.各装置のハードウェア構成例について]
最後に、図20、図21を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
まず、図20を参照して、コンテンツ提供処理を実行するサーバのハードウェア構成例について説明する。
【0166】
CPU(Central Processing Unit)601は、ROM(Read Only Memory)602、または記憶部608に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。
【0167】
例えば、上述の各実施例において説明した暗号化コンテンツの生成処理や、コンテンツ提供処理、管理情報の作成記録処理等を実行する。RAM(Random Access Memory)603には、CPU601が実行するプログラムやデータなどが適宜記憶される。これらのCPU601、ROM602、およびRAM603は、バス604により相互に接続されている。
【0168】
CPU601はバス604を介して入出力インタフェース605に接続され、入出力インタフェース605には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部606、ディスプレイ、スピーカなどよりなる出力部607が接続されている。CPU601は、入力部606から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部607に出力する。
【0169】
入出力インタフェース605に接続されている記憶部608は、例えばハードディスク等からなり、CPU601が実行するプログラムや各種のデータを記憶する。例えば図6を参照して説明した管理情報等も記録される。
通信部609は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0170】
次に、図22を参照して、コンテンツの受信、再生処理等を実行するクライアント装置のハードウェア構成例について説明する。
【0171】
CPU(Central Processing Unit)701は、ROM(Read Only Memory)702、または記憶部708に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。
【0172】
例えば、上述の各実施例において説明したサーバとの通信処理やサーバからの受信データの記憶部708(ハードディスク等)に対する記録処理、記憶部708(ハードディスク等)からのデータ再生処理等を実行する。
【0173】
RAM(Random Access Memory)703には、CPU701が実行するプログラムやデータなどが適宜記憶される。これらのCPU701、ROM702、およびRAM703は、バス704により相互に接続されている。
【0174】
CPU701はバス704を介して入出力インタフェース705に接続され、入出力インタフェース705には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部706、ディスプレイ、スピーカなどよりなる出力部707が接続されている。CPU701は、入力部706から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部707に出力する。
【0175】
入出力インタフェース705に接続されている記憶部708は、例えばハードディスク等からなり、CPU701が実行するプログラムや各種のデータを記憶する。通信部709は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【0176】
入出力インタフェース705に接続されているドライブ710は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア711を駆動し、記録されているコンテンツ、プログラム等の各種データを取得する。
【0177】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0178】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0179】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0180】
以上、説明したように、本発明の一実施例の構成によれば、暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成が実現される。
具体的には、コンテンツの構成データであるブロック1〜ブロックiを異なるブロック鍵で暗号化したパターン1〜kを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック1〜iの異なるブロック配列(パターンシーケンス)からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵(タイトル鍵)が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。
【符号の説明】
【0181】
10 コンテンツ配信サーバ
11 暗号化コンテンツ
12,14〜16 暗号鍵
21,22,24〜26 クライアント
23,29 不正ユーザ
28 不正クライアント
31 公開された暗号鍵
32 暗号化コンテンツのコピー
33 不正公開コンテンツ
100 サーバ
120 クライアント
131〜133 クライアント
141 ディスク
201 第1サーバ(ウェブサーバ)
202 第2サーバ(アプリケーションサーバ)
211〜213 クライアント
501 記憶部
502 制御部
503 復号部
504 デコードおよび再生処理部
520 再生データ
601 CPU
602 ROM
603 RAM
604 バス
605 入出力インタフェース
606 入力部
607 出力部
608 記憶部
609 通信部
701 CPU
702 ROM
703 RAM
704 バス
705 入出力インタフェース
706 入力部
707 出力部
708 記憶部
709 通信部
710 ドライブ
711 リムーバブルメディア

【特許請求の範囲】
【請求項1】
クライアントに提供するコンテンツを生成するデータ処理部を有し、
前記データ処理部は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出し、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成し、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理装置。
【請求項2】
前記データ処理部は、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
前記暗号化ブロックの復号処理に適用するブロック鍵Kb(Px,By)と、前記個別鍵(ユーザ鍵Ku)をクライアントに送信する処理を行う請求項1に記載の情報処理装置。
【請求項3】
前記データ処理部は、
コンテンツの提供先であるクライアントを識別するクライアント識別情報と、
提供コンテンツのブロック配列情報を対応付けた管理情報を生成して記憶部に格納する請求項1に記載の情報処理装置。
【請求項4】
前記データ処理部は、さらに、
前記クライアント識別情報と、
前記クライアントに提供した暗号鍵情報を対応付けた管理情報を生成して記憶部に格納する請求項3に記載の情報処理装置。
【請求項5】
前記データ処理部は、
流通コンテンツに含まれるブロックの配列解析処理を実行し、解析したブロック配列情報と前記管理情報の登録情報との照合処理により、コンテンツ配信先としてのクライアントを特定する請求項3に記載の情報処理装置。
【請求項6】
前記データ処理部は、
流通したブロック鍵または個別鍵の少なくともいずれかの鍵情報と前記管理情報の登録情報との照合処理により、ブロック鍵または個別鍵の配信先としてのクライアントを特定する請求項4に記載の情報処理装置。
【請求項7】
前記データ処理部は、
前記ブロックを再分割したサブブロック単位で前記個別暗号化部分の設定を行う請求項1に記載の情報処理装置。
【請求項8】
前記データ処理部は、
前記オリジナルコンテンツから抽出した複数のブロック以外のブロック外領域を複数のコンテンツ配信クライアントに共通する共通鍵で暗号化を行い、該共通鍵による暗号化処理を施したブロック外領域をクライアントに提供するコンテンツとして生成する請求項1に記載の情報処理装置。
【請求項9】
前記共通鍵は、コンテンツのタイトルに対応するタイトル鍵Ktである請求項8に記載の情報処理装置。
【請求項10】
前記データ処理部は、
コンテンツの暗号化構成情報を含むコンテンツ構成情報をクライアントに提供するデータとして生成する請求項1に記載の情報処理装置。
【請求項11】
クライアントに対するコンテンツ提供処理を実行するコンテンツ提供ユニットと、
前記コンテンツ提供ユニットからコンテンツを受信するクライアントからなるコンテンツ配信システムであり、
クライアントに対する提供コンテンツは、複数ブロックとブロック領域外データから構成され、
前記コンテンツ提供ユニットの構成ユニットAは、
(1)ブロック領域外データを共通鍵(Kt)で暗号化した共通鍵暗号化データと、
(2)ブロックデータを各々異なるブロック鍵(Kb)で暗号化した暗号化ブロックデータと、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットBは、
(3)ブロックデータの平文データ、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットBは、前記クライアントからのコンテンツ要求に応じて、
クライアント対応の個別鍵(ユーザ鍵)を生成し、
クライアントに提供するブロックデータを選択し、
選択ブロックの構成データの一部を前記クライアント対応の個別鍵(ユーザ鍵)で暗号化してクライアントに提供するとともに、
個別鍵(ユーザ鍵)暗号化データを除くコンテンツ構成データを識別するデータ識別情報をクライアントに提供し、
前記コンテンツ提供ユニットの構成ユニットAは、
前記クライアントから前記データ識別情報を受信し、受信したデータ識別情報によって特定されるデータをクライアントに提供するコンテンツ配信システム。
【請求項12】
前記コンテンツ構成データを識別するデータ識別情報はURL(Uniform Resource Locator)である請求項11に記載のコンテンツ配信システム。
【請求項13】
コンテンツ再生処理を実行するデータ処理部を有し、
前記データ処理部は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理装置。
【請求項14】
前記ブロック鍵による暗号化領域は、各々が異なるブロック鍵で暗号化された複数のブロック領域によって構成され、
前記データ処理部は、
前記コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する請求項13に記載の情報処理装置。
【請求項15】
クライアントに提供するコンテンツを生成する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出し、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成し、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理方法。
【請求項16】
コンテンツ再生処理を実行する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理方法。
【請求項17】
クライアントに提供するコンテンツを生成する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
オリジナルコンテンツからコンテンツ構成データである複数のブロック(ブロック1〜i)を抽出する処理と、
抽出ブロック1〜ブロックiのブロック列からなる複数のパターンとして、パターン1〜パターンkを設定する処理と、
各パターンおよび各ブロック単位で異なるブロック鍵Kb(Px,By)を適用した暗号化ブロックを生成する処理と、
ただし、Pxはk個のパターン識別子(P1〜Pk)、Byはi個のブロック識別子(B1〜Bi)、
さらに、コンテンツ配信単位で、前記パターン1〜kから暗号化されたブロック1〜ブロックiをランダムに選択する処理と、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵(ユーザ鍵Ku)を適用して暗号化を行って、個別暗号化部分を生成する処理と、
前記ブロック鍵Kb(Px,By)による暗号化処理を施した暗号化ブロックと、
前記個別鍵(ユーザ鍵Ku)による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する処理とを実行させるプログラム。
【請求項18】
コンテンツ再生処理を実行する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行わせて、コンテンツ再生を実行させるプログラム。

【図8】
image rotate

【図10】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2012−169753(P2012−169753A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−27300(P2011−27300)
【出願日】平成23年2月10日(2011.2.10)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】