(57)【要約】【課題】暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成を提供する。【解決手段】コンテンツの構成データであるブロック１〜ブロックｉを異なるブロック鍵で暗号化したパターン１〜ｋを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック１〜ｉの異なるブロック配列（パターンシーケンス）からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵（タイトル鍵）が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。【選択図】図１４
2012169753.tif 000002
【特許請求の範囲】
【請求項１】
クライアントに提供するコンテンツを生成するデータ処理部を有し、
前記データ処理部は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出し、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成し、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理装置。
【請求項２】
前記データ処理部は、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
前記暗号化ブロックの復号処理に適用するブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）と、前記個別鍵（ユーザ鍵Ｋｕ）をクライアントに送信する処理を行う請求項１に記載の情報処理装置。
【請求項３】
前記データ処理部は、
コンテンツの提供先であるクライアントを識別するクライアント識別情報と、
提供コンテンツのブロック配列情報を対応付けた管理情報を生成して記憶部に格納する請求項１に記載の情報処理装置。
【請求項４】
前記データ処理部は、さらに、
前記クライアント識別情報と、
前記クライアントに提供した暗号鍵情報を対応付けた管理情報を生成して記憶部に格納する請求項３に記載の情報処理装置。
【請求項５】
前記データ処理部は、
流通コンテンツに含まれるブロックの配列解析処理を実行し、解析したブロック配列情報と前記管理情報の登録情報との照合処理により、コンテンツ配信先としてのクライアントを特定する請求項３に記載の情報処理装置。
【請求項６】
前記データ処理部は、
流通したブロック鍵または個別鍵の少なくともいずれかの鍵情報と前記管理情報の登録情報との照合処理により、ブロック鍵または個別鍵の配信先としてのクライアントを特定する請求項４に記載の情報処理装置。
【請求項７】
前記データ処理部は、
前記ブロックを再分割したサブブロック単位で前記個別暗号化部分の設定を行う請求項１に記載の情報処理装置。
【請求項８】
前記データ処理部は、
前記オリジナルコンテンツから抽出した複数のブロック以外のブロック外領域を複数のコンテンツ配信クライアントに共通する共通鍵で暗号化を行い、該共通鍵による暗号化処理を施したブロック外領域をクライアントに提供するコンテンツとして生成する請求項１に記載の情報処理装置。
【請求項９】
前記共通鍵は、コンテンツのタイトルに対応するタイトル鍵Ｋｔである請求項８に記載の情報処理装置。
【請求項１０】
前記データ処理部は、
コンテンツの暗号化構成情報を含むコンテンツ構成情報をクライアントに提供するデータとして生成する請求項１に記載の情報処理装置。
【請求項１１】
クライアントに対するコンテンツ提供処理を実行するコンテンツ提供ユニットと、
前記コンテンツ提供ユニットからコンテンツを受信するクライアントからなるコンテンツ配信システムであり、
クライアントに対する提供コンテンツは、複数ブロックとブロック領域外データから構成され、
前記コンテンツ提供ユニットの構成ユニットＡは、
（１）ブロック領域外データを共通鍵（Ｋｔ）で暗号化した共通鍵暗号化データと、
（２）ブロックデータを各々異なるブロック鍵（Ｋｂ）で暗号化した暗号化ブロックデータと、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットＢは、
（３）ブロックデータの平文データ、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットＢは、前記クライアントからのコンテンツ要求に応じて、
クライアント対応の個別鍵（ユーザ鍵）を生成し、
クライアントに提供するブロックデータを選択し、
選択ブロックの構成データの一部を前記クライアント対応の個別鍵（ユーザ鍵）で暗号化してクライアントに提供するとともに、
個別鍵（ユーザ鍵）暗号化データを除くコンテンツ構成データを識別するデータ識別情報をクライアントに提供し、
前記コンテンツ提供ユニットの構成ユニットＡは、
前記クライアントから前記データ識別情報を受信し、受信したデータ識別情報によって特定されるデータをクライアントに提供するコンテンツ配信システム。
【請求項１２】
前記コンテンツ構成データを識別するデータ識別情報はＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である請求項１１に記載のコンテンツ配信システム。
【請求項１３】
コンテンツ再生処理を実行するデータ処理部を有し、
前記データ処理部は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理装置。
【請求項１４】
前記ブロック鍵による暗号化領域は、各々が異なるブロック鍵で暗号化された複数のブロック領域によって構成され、
前記データ処理部は、
前記コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する請求項１３に記載の情報処理装置。
【請求項１５】
クライアントに提供するコンテンツを生成する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出し、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成し、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理方法。
【請求項１６】
コンテンツ再生処理を実行する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理方法。
【請求項１７】
クライアントに提供するコンテンツを生成する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出する処理と、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定する処理と、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成する処理と、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択する処理と、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成する処理と、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する処理とを実行させるプログラム。
【請求項１８】
コンテンツ再生処理を実行する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行わせて、コンテンツ再生を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法、並びにプログラムに関する。特に、コンテンツの不正利用の防止や不正流通コンテンツの出所追跡を可能とするシステムにおいて利用される情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
昨今、インターネット等のネットワークを介したデータ通信が盛んになり、多くの画像データや音楽データ等がネットワークを介して盛んに流通している。
【０００３】
音楽データ、画像データ等の多くのコンテンツは、その作成者あるいは販売者に著作権、頒布権等が保有されている。従って、例えばサービスプロバイダがサーバからネットワークを介してユーザにコンテンツを提供する場合、正規な利用権を持つユーザのみにコンテンツの利用を許容する利用制御を行うのが一般的である。
【０００４】
具体的には、例えばコンテンツを暗号化コンテンツとして送信し、正規なコンテンツ購入処理を行ったユーザに提供した暗号鍵によってのみ復号可能とするといった制御等が行われる。しかし、このような処理を行っても、例えば暗号化コンテンツを取得したユーザが復号したコンテンツや、暗号鍵を不正に配布、あるいは公開するなどの処理を行ってしまうと不特定多数のコンテンツの不正利用が発生する。特に昨今は、ネットワークを介したデータの不正公開や配信が行われるケースが多く、これらの不正をいかに防止するかが大きな課題となっている。
【０００５】
具体的な暗号鍵やコンテンツの不正流通例について図を参照して説明する。
図１は、暗号鍵の不正公開の一例を示す図である。コンテンツ配信サーバ１０は、暗号鍵１２を適用して暗号化した暗号化コンテンツ１１を暗号鍵１２とともに正規なコンテンツ購入手続を実行したクライアントＡ２１、クライアントＢ２２に提供する。
【０００６】
これらのクライアントＡ，２１、クライアントＢ２２は、暗号鍵１２を適用して暗号化コンテンツ１１の復号を行ってコンテンツ再生を実行することができる。
しかし、ここで、クライアントＢ２２が、暗号鍵１２を例えば誰でもアクセス可能なネット上のサイトに公開するといった行為を行ったとする。
【０００７】
このような鍵の公開処理を実行すると、公開された暗号鍵３１は、不特定多数のユーザにより取得可能な状態となる。
結果として、例えば正規なコンテンツ購入を行っていない不正ユーザ２３によって、公開された暗号鍵３１がネットを介して取得され、さらに、暗号化コンテンツのコピー３２を他のクライアント等から取得して暗号化コンテンツのコピー３２を、公開された暗号鍵３１を適用して復号しコンテンツ再生を行うことができる。
このような事態が発生すると、コンテンツの不正利用が蔓延することになる。
【０００８】
図１に示す例は、すべてのクライアントに提供する暗号鍵が同じ暗号鍵であるため、１人の不正者が鍵を漏えいしてしまうと、他のクライアントに提供した全てのコンテンツがすべてその不正鍵によって復号可能な事態となる。また、また、不正に鍵を公開したクライアントを特定することも困難となる。
【０００９】
このような問題を解決する手法としては、各クライアントに提供する暗号化コンテンツを異なる暗号鍵で暗号化した構成が有効となる。
すなわち、図２に示すように、コンテンツ配信サーバ１０は、
クライアントＡ２４に対しては、暗号鍵Ａ１４を適用して暗号化した暗号化コンテンツを暗号鍵Ａ１４とともに提供する。
クライアントＢ２５に対しては、暗号鍵Ｂ１５を適用して暗号化した暗号化コンテンツを暗号鍵Ｂ１５とともに提供する。
クライアントＣ２６に対しては、暗号鍵Ｃ１６を適用して暗号化した暗号化コンテンツを暗号鍵Ｃ１６とともに提供する。
【００１０】
このような設定とすれば、万が一、いずれかの暗号鍵が漏えいした場合、その漏えい鍵で復号できるコンテンツは、その漏えい鍵によって暗号化された１つの暗号化コンテンツに限られ、また漏えい元、すなわち暗号鍵を公開した不正クライアントの特定も可能となる。
【００１１】
しかしながら、このようにクライアント単位で暗号鍵を変更しようとすると、コンテンツ配信サーバ１０は、各クライアント単位で異なる暗号化コンテンツを生成することが必要となり、サーバ側の処理負荷が増大してしまうという問題が発生する。
【００１２】
図１、図２を参照して説明した例は、コンテンツの暗号化および復号処理に適用する暗号鍵の不正公開や漏えいを行った場合の例であるが、不正公開や漏えいの対象となるのは暗号鍵ばかりではなく、復号されたコンテンツである場合もある。
【００１３】
図３に、復号コンテンツの不正公開の例を示す。
コンテンツ配信サーバ１０は、暗号鍵１２を適用して暗号化した暗号化コンテンツ１１をクライアント２８に提供する。この提供処理は、正規のコンテンツ購入処理として実行される。
【００１４】
しかし、クライアント２８が暗号鍵１２を適用して暗号化コンテンツ１１を復号し、その復号コンテンツ１１を不正に公開してしまうと、結果として、不正公開コンテンツ３３が、図３に示す不正ユーザ２９を含む不特定多数のユーザによって利用可能な状態になってしまう。
【００１５】
このように復号コンテンツが公開されてしまうと、暗号鍵をクライアント単位で変更しても、復号コンテンツの不正利用が蔓延し、また復号コンテンツを不正公開したクライアントを特定することもできない。
【発明の概要】
【発明が解決しようとする課題】
【００１６】
本発明は、例えば上記問題点に鑑みてなされたものであり、不正に公開されたコンテンツの公開元の特定を可能とする情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【００１７】
また、本発明は、不正にコンテンツを公開した公開元の特定を可能とする構成をサーバの処理負荷を過大に増大させることなく実現する情報処理装置、および情報処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の第１の側面は、
クライアントに提供するコンテンツを生成するデータ処理部を有し、
前記データ処理部は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出し、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成し、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理装置にある。
【００１９】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、前記暗号化ブロックの復号処理に適用するブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）と、前記個別鍵（ユーザ鍵Ｋｕ）をクライアントに送信する処理を行う。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、コンテンツの提供先であるクライアントを識別するクライアント識別情報と、提供コンテンツのブロック配列情報を対応付けた管理情報を生成して記憶部に格納する。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、さらに、前記クライアント識別情報と、前記クライアントに提供した暗号鍵情報を対応付けた管理情報を生成して記憶部に格納する。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、流通コンテンツに含まれるブロックの配列解析処理を実行し、解析したブロック配列情報と前記管理情報の登録情報との照合処理により、コンテンツ配信先としてのクライアントを特定する。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、流通したブロック鍵または個別鍵の少なくともいずれかの鍵情報と前記管理情報の登録情報との照合処理により、ブロック鍵または個別鍵の配信先としてのクライアントを特定する。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記ブロックを再分割したサブブロック単位で前記個別暗号化部分の設定を行う。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記オリジナルコンテンツから抽出した複数のブロック以外のブロック外領域を複数のコンテンツ配信クライアントに共通する共通鍵で暗号化を行い、該共通鍵による暗号化処理を施したブロック外領域をクライアントに提供するコンテンツとして生成する。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記共通鍵は、コンテンツのタイトルに対応するタイトル鍵Ｋｔである。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、コンテンツの暗号化構成情報を含むコンテンツ構成情報をクライアントに提供するデータとして生成する。
【００２８】
さらに、本発明の第２の側面は、
クライアントに対するコンテンツ提供処理を実行するコンテンツ提供ユニットと、
前記コンテンツ提供ユニットからコンテンツを受信するクライアントからなるコンテンツ配信システムであり、
クライアントに対する提供コンテンツは、複数ブロックとブロック領域外データから構成され、
前記コンテンツ提供ユニットの構成ユニットＡは、
（１）ブロック領域外データを共通鍵（Ｋｔ）で暗号化した共通鍵暗号化データと、
（２）ブロックデータを各々異なるブロック鍵（Ｋｂ）で暗号化した暗号化ブロックデータと、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットＢは、
（３）ブロックデータの平文データ、
を記憶部に保持し、
前記コンテンツ提供ユニットの構成ユニットＢは、前記クライアントからのコンテンツ要求に応じて、
クライアント対応の個別鍵（ユーザ鍵）を生成し、
クライアントに提供するブロックデータを選択し、
選択ブロックの構成データの一部を前記クライアント対応の個別鍵（ユーザ鍵）で暗号化してクライアントに提供するとともに、
個別鍵（ユーザ鍵）暗号化データを除くコンテンツ構成データを識別するデータ識別情報をクライアントに提供し、
前記コンテンツ提供ユニットの構成ユニットＡは、
前記クライアントから前記データ識別情報を受信し、受信したデータ識別情報によって特定されるデータをクライアントに提供するコンテンツ配信システムにある。
【００２９】
さらに、本発明のコンテンツ配信システムの一実施態様において、前記コンテンツ構成データを識別するデータ識別情報はＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）である。
【００３０】
さらに、本発明の第３の側面は、
コンテンツ再生処理を実行するデータ処理部を有し、
前記データ処理部は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理装置にある。
【００３１】
さらに、本発明の情報処理装置の一実施態様において、前記ブロック鍵による暗号化領域は、各々が異なるブロック鍵で暗号化された複数のブロック領域によって構成され、前記データ処理部は、前記コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する。
【００３２】
さらに、本発明の第４の側面は、
クライアントに提供するコンテンツを生成する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出し、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定し、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成し、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択し、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成し、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する情報処理方法にある。
【００３３】
さらに、本発明の第５の側面は、
コンテンツ再生処理を実行する情報処理装置において実行する情報処理方法であり、
前記情報処理装置は、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行い、コンテンツ再生を実行する情報処理方法にある。
【００３４】
さらに、本発明の第６の側面は、
クライアントに提供するコンテンツを生成する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
オリジナルコンテンツからコンテンツ構成データである複数のブロック（ブロック１〜ｉ）を抽出する処理と、
抽出ブロック１〜ブロックｉのブロック列からなる複数のパターンとして、パターン１〜パターンｋを設定する処理と、
各パターンおよび各ブロック単位で異なるブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）を適用した暗号化ブロックを生成する処理と、
ただし、Ｐｘはｋ個のパターン識別子（Ｐ１〜Ｐｋ）、Ｂｙはｉ個のブロック識別子（Ｂ１〜Ｂｉ）、
さらに、コンテンツ配信単位で、前記パターン１〜ｋから暗号化されたブロック１〜ブロックｉをランダムに選択する処理と、
選択ブロックの構成データの一部を、コンテンツ配信先のクライアント対応の個別鍵（ユーザ鍵Ｋｕ）を適用して暗号化を行って、個別暗号化部分を生成する処理と、
前記ブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）による暗号化処理を施した暗号化ブロックと、
前記個別鍵（ユーザ鍵Ｋｕ）による暗号化処理を施した個別暗号化部分と、
を含む暗号化コンテンツをクライアントに提供するコンテンツとして生成する処理とを実行させるプログラムにある。
【００３５】
さらに、本発明の第７の側面は、
コンテンツ再生処理を実行する情報処理装置において情報処理を実行させるプログラムであり、
前記情報処理装置に、
コンテンツの暗号化構成情報としてのコンテンツ構成情報を参照して、
共通鍵による暗号化領域と、
ブロック鍵による暗号化領域と、
ユーザ対応の個別鍵による暗号化領域を判別し、
共通鍵とブロック鍵と個別鍵を切り替えて復号処理を行わせて、コンテンツ再生を実行させるプログラムにある。
【００３６】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な情報処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００３７】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３８】
本発明の一実施例の構成によれば、暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成が実現される。
具体的には、コンテンツの構成データであるブロック１〜ブロックｉを異なるブロック鍵で暗号化したパターン１〜ｋを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック１〜ｉの異なるブロック配列（パターンシーケンス）からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵（タイトル鍵）が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。
【図面の簡単な説明】
【００３９】
【図１】暗号鍵の不正公開によるコンテンツの不正利用例について説明する図である。
【図２】暗号鍵の不正公開によるコンテンツの不正利用例について説明する図である。
【図３】復号コンテンツの不正公開によるコンテンツの不正利用例について説明する図である。
【図４】本発明の概要について説明する図である。
【図５】サーバの提供するコンテンツの具体例について説明する図である。
【図６】サーバの提供するコンテンツの具体例について説明する図である。
【図７】サーバがクライアントに提供するコンテンツ構成を規定するパラメータについて説明する図である。
【図８】サーバがクライアントに提供するコンテンツ構成を規定するパラメータの具体例について説明する図である。
【図９】サーバからクライアントに対するコンテンツ提供処理のシーケンスについて説明する図である。
【図１０】サーバの記憶手段に保持される管理情報のデータ構成例について説明する図である。
【図１１】複数のサーバによるクライアントに対するコンテンツ提供処理の構成例について説明する図である。
【図１２】複数サーバによるクライアントに対するコンテンツ提供処理を行う構成において、ウェブサーバが保持するデータの構成例について説明する図である。
【図１３】複数サーバによるクライアントに対するコンテンツ提供処理を行う構成において、アプリケーションサーバが保持するデータの構成例について説明する図である。
【図１４】複数サーバによるクライアントに対するコンテンツ提供処理を行う場合のコンテンツ提供処理のシーケンスについて説明する図である。
【図１５】クライアントにおけるコンテンツ再生処理例について説明する図である。
【図１６】サービスプロバイダ等のサーバにおいて実行するコンテンツ生成処理シーケンスについて説明するフローチャートを示す図である。
【図１７】サービスプロバイダ等のサーバにおいて実行するコンテンツ提供処理シーケンスについて説明するフローチャートを示す図である。
【図１８】クライアントにおけるコンテンツ再生処理について説明する図である。
【図１９】不正な流通コンテンツが発見された場合に実行する出所判定処理シーケンスについて説明するフローチャートを示す図である。
【図２０】サーバのハードウェア構成例について説明する図である。
【図２１】クライアントのハードウェア構成例について説明する図である。
【発明を実施するための形態】
【００４０】
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。なお、説明は以下の項目に従って行う。
１．本発明の概要について
２．サーバのコンテンツ提供処理の具体例について
３．コンテンツ構成を規定するパラメータについて
４．コンテンツ配信シーケンスについて
５．コンテンツを提供するサーバのシステム例
６．クライアントにおけるコンテンツ再生処理について
７．サーバにおけるコンテンツ生成、提供処理シーケンスについて
７−１．サーバにおけるコンテンツ生成処理シーケンス
７−２．サーバにおけるコンテンツ提供処理シーケンス
８．クライアントにおけるコンテンツ再生シーケンスについて
９．サーバにおける不正流通コンテンツに基づく出所判定処理シーケンスについて
１０．各装置のハードウェア構成例について
【００４１】
［１．本発明の概要について］
以下、図面を参照しながら本発明の情報処理装置、および情報処理方法、並びにプログラムの詳細について説明する。
【００４２】
まず、図４を参照して、本発明の概要について説明する。本発明は例えばネットワーク上に流通する不正コンテンツの発信元を特定可能とするものである。
図４には映画や音楽などのコンテンツを提供するサービスプロバイダの運営するサーバ１００を示している。
例えばＰＣ等のクライアント１２０はサーバ１００にアクセスして、正規のコンテンツ購入手続を行ってコンテンツを取得する。図４に示すネットワーク上のルート（ａ）を介して正規コンテンツを取得する。
【００４３】
クライアント１２０のユーザは、正規購入コンテンツを一定の利用制限の下で再生する処理が許容される。例えば配信コンテンツが暗号化コンテンツである場合でも、正規購入者は、サーバから提供された復号用の鍵を適用して暗号化コンテンツを復号して再生することができる。
【００４４】
しかし、クライアント１２０のユーザは、復号したコンテンツを不正にネットワークを介して他のユーザ（図に示すクライアント１３１〜１３３のユーザ）に提供してしまう可能性がある。例えば図４に示すネットワーク上の経路（ｂ）を介して不特定多数のユーザに復号コンテンツを提供するといった事態が起こり得る。例えば不特定多数のユーザがアクセス可能なネットワーク上のサイトに復号コンテンツを置くといった処理である。
【００４５】
あるいは、クライアント１２０のユーザは、復号したコンテンツを、不正にディスクなどのメディアに記録して大量の不正コピー記録メディアを作成して他のユーザに提供してしまう場合がある。例えば図４に示すディスク１４１である。
【００４６】
本発明は、このような不正なコンテンツの流通が発覚した場合に、不正コンテンツの出所元を特定することを可能とする。図４に示す場合、この出所元はクライアント１２０となる。また、このような構成をサーバ１００の処理負荷を過大に増加させることなく実現する。
【００４７】
［２．サーバのコンテンツ提供処理の具体例について］
上述したように、本発明は、不正コンテンツの出所を追跡可能とするものであり、この処理の実現のために、正規コンテンツの提供を行うサーバ１００は、特殊な構成を持つコンテンツを生成してクライアントに提供する。
【００４８】
図５以下を参照して、例えばサービスプロバイダ等の運営するサーバ（コンテンツ配信サーバ等）がクライアント（ユーザ装置）に提供するコンテンツの構成について説明する。サーバは、コンテンツを不正に公開または流通させたクライアントあるいはユーザを特定可能とするための特殊なコンテンツを作成して各クライアントに提供する。
【００４９】
図５は、サーバが予め準備するデータについて説明する図である。
図５には、
（ａ）コンテンツ
（ｂ）ブロック領域外データ
（ｃ）ブロック領域データ
これらを示している。
【００５０】
サーバは、コンテンツを構成する複数の部分データをブロックとして抽出する。ここではブロック数をｉとして、ｉ個のブロックを抽出する。
コンテンツから抽出されたブロック以外のデータ領域が図５（ｂ）に示すブロック領域外データである。
この（ｂ）ブロック領域外データについては、１つの暗号鍵（タイトル鍵（Ｋｔ）を適用して暗号化する。タイトル鍵（Ｋｔ）は例えばコンテンツのタイトルに対して設定された１つの暗号鍵である。
【００５１】
一方、コンテンツから抽出したｉ個のブロックに対しては、図５（ｃ）に示すような暗号化データを生成する。
まず、コンテンツから抽出したｉ個のブロック列をｋ個、準備する。
これらをパターン１（Ｐ１）〜パターンｋ（Ｐｋ）とする。
次に、これらの各パターンに含まれるブロック各々について、異なるブロック鍵を適用して個別に暗号化を行う。
【００５２】
例えば、パターン１（Ｐ１）のブロック（Ｂ１）の暗号化に適用するブロック鍵をＫｂ（Ｐ１，Ｂ１）と表記する。
図５に示すように、
パターン１（Ｐ１）に含まれるｉ個のブロックは、それぞれ、
ブロック鍵：Ｋｂ（Ｐ１，Ｂ１）〜Ｋｂ（Ｐ１，Ｂｉ）の異なるブロック鍵によって暗号化された暗号化ブロックの集合として設定される。
【００５３】
また、パターン２（Ｐ２）に含まれるｉ個のブロックは、それぞれ、
ブロック鍵：Ｋｂ（Ｐ２，Ｂ１）〜Ｋｂ（Ｐ２，Ｂｉ）の異なるブロック鍵によって暗号化された暗号化ブロックの集合として設定される。
このようなパターンをｋパターン生成する。
なお、各パターン１〜ｋの各々に含まれるブロックはｉ個であるので、ｋ個のパターンを生成するために適用するブロック鍵は、
パターン１：Ｋｂ（Ｐ１，Ｂ１）〜Ｋｂ（Ｐ１，Ｂｉ）
パターン２：Ｋｂ（Ｐ２，Ｂ１）〜Ｋｂ（Ｐ２，Ｂｉ）
：
パターンｋ：Ｋｂ（Ｐｋ，Ｂ１）〜Ｋｂ（Ｐｋ，Ｂｉ）
これらの鍵となる。
【００５４】
すなわち、ｋ個のパターンを生成するために適用するブロック鍵の総数は、Ｋｂ（Ｐ１，Ｂ１）〜Ｋｂ（Ｐｋ，Ｂｉ）の
ｉ×ｋ個のブロック鍵となる。
【００５５】
このように、サーバは、まず、（ａ）コンテンツに基づいて、
（ｂ）タイトル鍵（Ｋｔ）で暗号化したブロック領域外データ
（ｃ）各ブロックを個別のブロック鍵で暗号化したｋ個のパターン
これらを生成する。
【００５６】
次に、図６を参照してクライアント（ユーザ装置）への配信データについて説明する。
サーバは、図５に示す
（ｂ）タイトル鍵（Ｋｔ）で暗号化したブロック領域外データ
（ｃ）各ブロックを個別のブロック鍵で暗号化したｋ個のパターン
これらを利用して各クライアントに提供するデータを生成する。
【００５７】
サーバは、コンテンツの配信単位の処理として、図５（ｃ）に示すパターン１〜パターンｋのｋ個のパターンから、ランダムなブロックの選択を行う。
すなわち、コンテンツの配信処理毎に、個別のブロック鍵Ｋｂで暗号化された暗号化ブロックから、ブロック１〜ブロックｉまでを１つずつパターン１〜ｋの中から選択する。
【００５８】
図５（ｃ）に示す個別のブロック鍵Ｋｂ（Ｐｘ，Ｂｙ）で暗号化された暗号化ブロックからブロック１〜ブロックｉを１つずつ選択し、さらに、図５（ｂ）に示すタイトル鍵（Ｋｔ）で暗号化したブロック領域外データを組み合わせて特定のクライアントに提供するコンテンツデータ列を設定する。
さらに、生成したコンテンツデータ列に含まれるブロックの一部をユーザ（クライアント）に対応する個別鍵（ユーザ鍵）Ｋｕを適用して暗号化する。
この処理によってユーザへの提供コンテンツを生成する。
【００５９】
なお、ブロック内に設定されるユーザ対応の個別鍵（ユーザ鍵）Ｋｕによる暗号化領域は、ブロック鍵：Ｋｂの暗号化データを、さらに、ユーザ対応の個別鍵（ユーザ鍵）Ｋｕを適用して２重に暗号化する設定としてもよいし、
ブロック鍵：Ｋｂの暗号化を施さず、またはブロック鍵：Ｋｂの暗号化を復号し、ユーザ対応の個別鍵（ユーザ鍵）Ｋｕのみによって暗号化された暗号化領域として設定する構成としてもよい。
【００６０】
図６には、
ユーザＡに対する提供コンテンツ、
ユーザＢに対する提供コンテンツ、
これらのデータ構成例を示している。
【００６１】
例えば、図６に示すユーザＡに対する提供コンテンツは、
図５（ｂ）に示すタイトル鍵（Ｋｔ）で暗号化したブロック領域外データと、
図５（ｃ）に示すパターン１〜パターンｋのｋ個のパターンから、ランダムなブロック選択によって選択されたブロック１〜ｉ、
これらによって構成されている。
さらに、ブロックの一部領域は、ユーザＡに対応して生成されるユーザ個別のユーザ鍵Ｋｕによって暗号化される。
例えば図に示すユーザＡに対する配信コンテンツとして選択されたブロック１は、ブロック鍵Ｋｂ（Ｐ２，Ｂ１）によって暗号化されたブロック、すなわち図５（ｃ）に示すパターン２のブロック１である。
このブロック鍵Ｋｂ（Ｐ２，Ｂ１）によって暗号化されたブロックの一部領域をユーザＡに対応するユーザ固有の鍵であるユーザ鍵Ｋｕ（ａ）を適用して暗号化する。
図に示す黒塗りつぶし部分がユーザ鍵Ｋｕ（ａ）による暗号化部分（個別暗号化部分）である。
ユーザ鍵による暗号化領域（個別暗号化部分）はブロック１〜ｉの全ブロックに設定する。
なお、一部のブロックに対してユーザ鍵による暗号化領域（個別暗号化部分）を設定する構成としてもよい。また、１つのブロック内に複数のユーザ鍵による暗号化領域（個別暗号化部分）を設定する構成としてもよい。
【００６２】
また、図に示すユーザＢに対する配信コンテンツとして選択されたブロック１は、ブロック鍵Ｋｂ（Ｐ１，Ｂ１）によって暗号化されたブロック、すなわち図５（ｃ）に示すパターン１のブロック１である。
このブロック鍵Ｋｂ（Ｐ１，Ｂ１）によって暗号化されたブロックの一部領域をユーザＢに対応するユーザ固有の鍵であるユーザ鍵Ｋｕ（ｂ）を適用して暗号化する。
図に示す黒塗りつぶし部分がユーザ鍵Ｋｕ（ｂ）による暗号化部分である。
【００６３】
なお、ユーザ鍵による暗号化領域は配信処理単位に変更してもよいし、同一領域としてもよい。
また、ユーザ鍵による暗号化領域は、コンテンツの重要データ、重要シーン領域を含む設定とすることが好ましい。例えばＭＰＥＧデータにおけるｉピクチャを含む領域等に設定することが好ましい。
なお、ユーザ鍵は、例えば乱数生成処理などにより、サーバがコンテンツ配信時に生成し、生成鍵をユーザに提供するとともに、データベースに格納する。
【００６４】
ユーザに対して提供するデータは、図６に示すように、暗号化コンテンツの他、暗号化コンテンツの復号に適用する暗号鍵のセットも含まれる。
例えばユーザＡに対して提供される暗号鍵は、
（ａ）全ユーザに共通する共通鍵であるタイトル鍵
（ｂ）ユーザＡに対する提供コンテンツ中のｉ個のブロックの復号に適用するｉ個のブロック鍵、
（ｃ）ユーザＡのユーザ対応の個別鍵であるユーザ鍵：Ｋｕ（ａ）
これらの鍵セットとなる。
【００６５】
また、ユーザＢに対して提供される暗号鍵は、
（ａ）全ユーザに共通する共通鍵であるタイトル鍵
（ｂ）ユーザＢに対する提供コンテンツ中のｉ個のブロックの復号に適用するｉ個のブロック鍵、
（ｃ）ユーザＢのユーザ対応の個別鍵であるユーザ鍵：Ｋｕ（ｂ）
これらの鍵セットとなる。
【００６６】
（ａ）のタイトル鍵Ｋｔは、コンテンツタイトルが共通すれば、すべてのユーザに同じタイトル鍵が提供される。
（ｂ）のｉ個のブロック鍵Ｋｂは、各ユーザへの提供コンテンツとして選択されたブロックに応じて異なる組み合わせとなる。
（ｃ）のユーザ鍵Ｋｕは、各ユーザ単位で異なる鍵となる。
【００６７】
サーバは、このように各ユーザに対する配信コンテンツと鍵セットを生成して各ユーザに提供する。
【００６８】
［３．コンテンツ構成を規定するパラメータについて］
次に、ユーザに対する配信コンテンツの構成を規定するパラメータの設定例について図７、図８を参照して説明する。
図７に示すように、配信コンテンツを規定するパラメータとしては例えば以下のパラメータがある。
ａ：ブロックサイズ
ｉ：ブロック数
ｋ：パターン数
ｂ：ユーザ鍵（Ｋｕ）による個別暗号化部分のサイズ
ｃ：１ブロック内のユーザ鍵（Ｋｕ）による個別暗号化部分の数
【００６９】
図８にこれらのパラメータの具体的な設定例の一例を示す。なお、図８に示す例は、コンテンツが、Ｖｉｄｅｏ  ｒａｔｅ＝８Ｍｂｐｓ、Ｄｕｒａｔｉｏｎ＝７２００ｓｅｃ、Ｓｉｚｅ＝７．２ＧＢ、ＩＤＲ  ｉｎｔｅｒｖａｌ＝１ｓｅｃ、
このような態様のコンテンツである場合のパラメータ設定例を示している。
【００７０】
（ａ：ブロックサイズ）
ブロックサイズは例えば１ＭＢとする。
ブロックサイズは、暗号化処理や復号処理の単位等の所定のフォーマットの規定に従った構成とすることが設定条件となる。
この設定条件を満たすために、例えば１Ｂｌｏｃｋ＝１Ｓｙｍｂｏｌ、８Ｂｌｏｃｋ＝１Ｓｅｇｍｅｎｔの設定とする。
【００７１】
（ｉ：ブロック数）
ブロック数は、例えば１コンテンツあたり７２０とする。
ブロック数は、ブロック部分が再生できない場合にもユーザを十分にフラストレートできる設定とすることが必要である。
これを満たすため、コンテンツ全体の１０％程度（７２００＊０．１＝７２０ｓｅｃ）（７２０／８＝９０Ｓｅｇｍｅｎｔ）のブロックを設定する。
【００７２】
（ｋ：パターン数）
パターン数ｋは例えば３２とする。
コンテンツ配信単位で異なるパターンの組み合わせが実現されることが望ましい。
パターン数ｋ＝３２として、ブロックをｉ個とすれば、
３２ｉ個の異なるブロック組み合わせが実現される。
【００７３】
（ｂ：ユーザ鍵（Ｋｕ）による個別暗号化部分のサイズ）
ユーザ鍵による個別暗号化部分のサイズは例えば１６Ｂｙｔｅとする。
（ｃ：１ブロック内のユーザ鍵（Ｋｕ）による個別暗号化部分の数）
１ブロック内のユーザ鍵（Ｋｕ）による個別暗号化部分の数は、例えば８個とする。
これらのパラメータｂ，ｃは、例えば正当な配信コンテンツが、その後、不正に流通した場合に、ユーザ鍵（Ｋｕ）による個別暗号化部分の復号なしでは正常なコンテンツ鑑賞ができないレベルとすることが要求され、コンテンツに応じて決定する構成とすることが好ましい。
【００７４】
例えば図８に示すパラメータの設定とすることで、
ユーザ対応の個別鍵（ユーザ鍵）がない場合に再生できないコンテンツ部分（再生時間）は７２０ｓｅｃ、
ユーザ対応の個別鍵（ユーザ鍵）による暗号化部分の合計サイズは、１コンテンツあたり９２１６０ｂｙｔｅ
ｋ個のパターンに対応するブロックの合計サイズは、２２．３ＧＢ
となる。
なお。パラメータ設定は、配信コンテンツの態様に応じて最適なパラメータを適宜、決定する設定としてよい。
【００７５】
［４．コンテンツ配信シーケンスについて］
次に、コンテンツ配信シーケンスの一例について図９に示すシーケンス図を参照して説明する。
図９は、サーバとクライアント間のコンテンツ配信シーケンスを示す図である。
クライアントは、例えばユーザの所有するＰＣ、通信端末等の情報処理装置である。
なお、コンテンツ提供処理に伴う例えば決済処理やサーバクライアント間の認証処理については、本シーケンスでは省略しているが、必要に応じてこのような決済処理、認証処理が実行される。
【００７６】
クライアントは、まず、ステップＳ１１において、サーバに対してコンテンツの配信を要求する。例えばサーバの提供するコンテンツリストから特定のコンテンツを指定したコンテンツ指定情報をサーバに送信する。
【００７７】
サーバは、ステップＳ１２において、コンテンツ要求に応じて、ユーザ（クライアント）に対応する個別鍵であるユーザ鍵Ｋｕを生成する。例えば乱数生成によりユーザ鍵Ｋｕを生成する。
【００７８】
次に、ステップＳ１３において、クライアントに提供するコンテンツに設定するブロックの選択処理を実行し、さらに、選択したブロック各々について、ブロック内のユーザ対応の個別鍵（ユーザ鍵）による個別暗号化部分を決定する。
【００７９】
ステップＳ１３におけるブロック選択処理は、図５を参照して説明した図５（ｃ）に示すパターン１〜ｋからブロック１〜ｉを１つずつランダムに選択する処理として実行される。
選択したブロック内のユーザ鍵による個別暗号化部分の決定処理は、例えば図８を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。
【００８０】
次に、ステップＳ１４において、サーバはステップＳ１３で決定した個別暗号化部分に対して、クライアント対応の個別鍵（ユーザ鍵：Ｋｕ）を適用した暗号化処理を行う。さらに、ユーザ鍵：Ｋｕによる暗号化の施された各ブロックの個別暗号化部分をまとめて、１つのデータファイル（サブブロックファイル）として設定する。
【００８１】
なお、各ブロックは、暗号化処理単位としてのサブブロックの集合として設定され、ユーザ対応の個別鍵（ユーザ鍵）による暗号化データ部分もサブブロックを単位として実行される。
【００８２】
次に、サーバは、ステップＳ１５において、クライアントに対するデータ配信を行う。配信データは例えば図９（Ｓ１５）に示すように、以下のデータのセットとなる。
（１）ブロック以外の共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応の個別鍵（ユーザ鍵）暗号化部分を除くブロック鍵（Ｋｂ）暗号化データ
（３）ユーザ対応の個別鍵（ユーザ鍵）暗号化データからなるサブブロックファイル
（４）共通鍵（Ｋｔ）、ブロック鍵（Ｋｂ）、ユーザ鍵（Ｋｕ）
これらの暗号化コンテンツデータと、鍵セットをクライアントに送信する。
なお、これらのデータの他、サーバは、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報をクライアントに提供する。
【００８３】
次に、サーバは、ステップＳ１６においてデータベースに配信コンテンツ情報としての管理情報を登録する。例えば図１０に示す管理情報の登録処理を行う。この管理データについては後段で説明する。
【００８４】
暗号化コンテンツと鍵セットをサーバから受信したクライアントは、ステップＳ１７において、以下の受信データ、すなわち、
（１）ブロック以外の共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応の個別鍵（ユーザ鍵）暗号化部分を除くブロック鍵（Ｋｂ）暗号化データ
（３）ユーザ対応の個別鍵（ユーザ鍵）暗号化データからなるサブブロックファイル
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、サーバから受信した鍵データ、すなわち、
（４）共通鍵（Ｋｔ）、ブロック鍵（Ｋｂ）、ユーザ鍵（Ｋｕ）
これらの鍵データとともにクライアント内の記憶装置に格納する。さらに、各暗号鍵を利用した復号処理を実行してコンテンツ再生を行う。
【００８５】
なお、コンテンツの復号に際しては、サーバから提供されるコンテンツ構成情報、すなわち、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報を参照して適用する暗号鍵を切り替えた復号処理を行うことになる。
【００８６】
図１０を参照してサーバが配信コンテンツの管理情報として記録するデータについて説明する。
図１０は、サーバの記憶手段に保持される管理情報のデータ構成例である。
図１０に示すように、管理情報には、
配信コンテンツ情報、
配信先情報、
配信ユーザ情報、
配信日時情報、
ブロック情報、
暗号鍵情報（共通鍵、ブロック鍵、ユーザ対応の個別鍵（ユーザ鍵））
例えばこれらの情報が含まれる。
【００８７】
配信コンテンツ情報は、コンテンツのタイトル、コンテンツのＩＤなどの情報によって構成される。
配信先情報は、コンテンツ配信先のアドレス、例えばクライアントやユーザに対応するアドレスなどの情報である。
配信ユーザ情報は、ユーザ名、住所、連絡先等ののユーザ情報である。
配信日時情報は、コンテンツの配信日時情報である。
【００８８】
ブロック情報は、配信コンテンツに含まれるブロック１〜ｉに関する情報である。各ブロックがどのパターンから選択されたブロックであるかを識別可能とした次用法である。
【００８９】
暗号鍵情報には、各提供コンテンツの暗号化処理に適用した暗号鍵の情報が記録される。具体的には、
（ａ）全ユーザに共通する共通鍵であるタイトル鍵：Ｋｔ
（ｂ）ユーザに対する提供コンテンツ中のｉ個のブロックの復号に適用するｉ個のブロック鍵：Ｋｂ、
（ｃ）ユーザ対応の個別鍵であるユーザ鍵：Ｋｕ
これらの鍵セットに関する情報となる。
このような鍵情報が管理情報としてコンテンツの配信先情報に対応付けて記録される。
【００９０】
例えば配信コンテンツが不正に流通した場合、流通コンテンツに含まれるブロックの組み合わせを解析し、図１０に示す管理情報の登録情報を利用することで、不正流通コンテンツの配信先クライアントを特定することが可能となる。
【００９１】
また、例えば鍵の漏えいが発生した場合、その漏えいした鍵を解析して、図１０に示す管理情報と照合することで、鍵の漏えい元のクライアントがどのクライアントであるかを判断することが可能となる。
【００９２】
なお、図１０に示す管理情報の例は一例であり、これらの情報の全てを記録することが必ずしも必須ではなく、また、これらの情報以外の情報を管理情報として保持してもよい。
【００９３】
［５．コンテンツを提供するサーバのシステム例］
上述した実施例では、クライアントに対するデータ配信を１つのサーバがすべて実行する処理例として説明した。
以下では、データ配信効率等を考慮した構成例として、クライアントに対してコンテンツ提供処理を行う複数のサーバを設定し、サーバ各々が、コンテンツ構成データの一部をクライアントに提供する処理例について説明する。
【００９４】
図１１には、コンテンツ提供処理を実行する２つのサーバ（第１サーバ２０１、第２サーバ２０２）と、コンテンツを受信する複数のクライアント（クライアントａ２１１〜クライアントｎ２１３）を示している。
【００９５】
図１１に示すように、
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、各クライアント２１１〜２１３に対して、以下のデータを送信する。
（１）共通鍵（Ｋｔ）暗号化データ
（２）個別鍵（ユーザ鍵）暗号化部分を除くブロックデータ（ブロック鍵暗号化データ）
【００９６】
一方、第２サーバ（アプリケーションサーバ）２０２は、各クライアント２１１〜２１３に対して、以下のデータを送信する。
（３）ユーザ対応の個別鍵（ユーザ鍵（Ｋｕ））による暗号化データ
【００９７】
このように第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１と、第２サーバ（アプリケーションサーバ）２０２は、それぞれ、クライアントに対する配信コンテンツの一部を送信コンテンツとして担当したデータ送信処理を行う。
【００９８】
ユーザ対応個別鍵（ユーザ鍵）の生成処理と、個別鍵（ユーザ鍵）を適用した暗号化処理はコンテンツ配信単位の処理として、第２サーバ（アプリケーションサーバ）２０２が実行する。
【００９９】
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、コンテンツ配信処理毎に新たなデータ暗号化等の処理は実行せず、予めデータベースに格納されたデータの選択抽出を実行し、選択したデータをクライアントに提供する。すなわち、
（１）共通鍵（Ｋｔ）暗号化データ
（２）個別鍵（ユーザ鍵）暗号化部分を除くブロックデータ（ブロック鍵暗号化データ）
これらのデータを配信処理単位で選択してクライアントに提供する。
【０１００】
このような２つのサーバを利用した構成とすることで、コンテンツ配信処理における負荷分散が可能となり、効率的なコンテンツ配信が実現される。
【０１０１】
図１２、図１３を参照して、
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１が保持するデータ、
第２サーバ（アプリケーションサーバ）２０２が保持するデータ、
これらのデータ例について説明する。
【０１０２】
まず、図１２を参照して、
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１が保持するデータについて説明する。
図１１を参照して説明したように、第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、
（１）共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応個別鍵（ユーザ鍵）による暗号化部分を除くブロックデータ（ブロック鍵暗号化データ）
これらのデータをクライアントに提供する。
【０１０３】
上記データは、予め準備可能なデータである。（２）に示すユーザ対応個別鍵（ユーザ鍵）による暗号化部分を除くブロックデータ（ブロック鍵暗号化データ）は、ユーザ単位で選択するブロックと、ユーザ対応個別鍵（ユーザ鍵）による暗号化部分については、コンテンツ配信処理次に決定することが必要であるが、ブロック鍵による暗号化データ事態は、コンテンツ配信先のクライアントの決定以前に予め準備し、データベースに格納しておくことができる。
【０１０４】
図１２に示すように、第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、
（１）ブロック領域外暗号化データ（共通鍵（タイトル鍵Ｋｔ）による暗号化データ）
（２）ブロック領域暗号化データ（ブロック鍵Ｋｂによる暗号化データ）
これらのデータをデータベースに保持すればよい。
これらのデータは、先に図５を参照して説明した（ｂ）、（ｃ）のデータに対応する。
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、これらのデータを記憶部に保持すればよい。
なお、鍵データとして共通鍵（タイトル鍵Ｋｔ）、ブロック鍵（Ｋｂ）を保有する。
【０１０５】
なお、（２）ブロック領域暗号化データ（ブロック鍵Ｋｂによる暗号化データ）は、暗号化処理単位として規定されるサブブロック単位でブロック鍵Ｋｂによる暗号化が実行される。
図１２に示すように、第１サーバ（ウェブサーバ）２０１が保持するブロックデータは、暗号化処理単位としてのサブブロック単位で識別可能な設定となっている。図１２に示す例は、１つのブロックがｎ個のサブブロックによって構成された例である。
【０１０６】
ユーザ対応の個別鍵（ユーザ鍵）による暗号化単位も、このサブブロック単位となる。
ユーザ対応の個別鍵（ユーザ鍵）による暗号化は、第２サーバ（アプリケーションサーバ）２０２において実行され、クライアントに提供される。
従って、第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１は、ユーザ対応の個別鍵（ユーザ鍵）による暗号化がなされるサブブロック領域を除去したサブブロックのみからなるブロックデータをクライアントに提供する。
【０１０７】
第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１がクライアントに提供するデータは以下のデータである。
（１）ブロック領域外暗号化データ
これは、コンテンツタイトルに対応して設定される共通鍵（タイトル鍵：Ｋｔ）を適用してブロック以外のデータ領域を暗号化したデータである。
（２）ブロック領域暗号化データ
これは、図５（ｃ）を参照して説明したように、パターン１〜ｋのｋ個のパターンに対応するブロック１〜ｉの各々に対して異なるブロク鍵：Ｋｂを適用して暗号化した暗号化ブロックデータであり、ユーザ対応の個別鍵（ユーザ鍵）による暗号化がなされるサブブロック領域を除去したサブブロックのみからなるデータである。
【０１０８】
一方、第２サーバ（アプリケーションサーバ）２０２が保持するデータは、図１３に示すデータである。
すなわち、各パターン（パターン１〜ｋ）に応じたブロックデータの暗号化の施されていない平文データを保持する。
【０１０９】
なお、第２サーバ（アプリケーションサーバ）２０２が保持するブロックデータも、図１３に示すように暗号化処理単位としてのサブブロック単位で識別可能な設定となっている。図１３に示す例は、１つのブロックがｎ個のサブブロックによって構成された例である。
【０１１０】
本処理例では、ブロック内に設定する個別鍵（ユーザ鍵：Ｋｕ）による個別暗号化部分は、ブロック鍵：Ｋｂの暗号化を施さず、ユーザ対応の個別鍵（ユーザ鍵）Ｋｕのみによって暗号化された暗号化データとして構成された処理例として説明する。なお、この態様に限らず、個別暗号化部分をブロック鍵：Ｋｂと個別鍵（ユーザ鍵：Ｋｕ）との二重暗号化部分として設定することも可能である。
【０１１１】
図１４を参照して、第１サーバ（ウェブ（Ｗｅｂ）サーバ）２０１と、第２サーバ（アプリケーションサーバ）２０２の２つのサーバを利用したコンテンツ提供シーケンスについて説明する。
【０１１２】
先に図９を参照して説明したシーケンスと同様、クライアントは、例えばユーザの所有するＰＣ、通信端末等の情報処理装置である。コンテンツ提供処理に伴う例えば決済処理やサーバクライアント間の認証処理については、本シーケンスでは省略しているが、必要に応じてこのような決済処理、認証処理が実行される。
【０１１３】
クライアントは、まず、ステップＳ２１において、アプリケーションサーバに対してコンテンツの配信を要求する。例えばアプリケーションサーバの提供するコンテンツリストから特定のコンテンツを指定したコンテンツ指定情報をサーバに送信する。
【０１１４】
アプリケーションサーバは、ステップＳ２２において、コンテンツ要求に応じて、ユーザ（クライアント）に対応する個別鍵であるユーザ鍵Ｋｕを生成する。例えば乱数生成によりユーザ鍵Ｋｕを生成する。
【０１１５】
次に、アプリケーションサーバは、ステップＳ２３において、クライアントに提供するコンテンツに設定するブロックの選択処理を実行し、さらに、選択したブロック各々について、ブロック内のユーザ対応の個別鍵（ユーザ鍵）による個別暗号化部分を決定する。
【０１１６】
ステップＳ２３におけるブロック選択処理は、先に図５を参照して説明した図５（ｃ）に示すパターン１〜ｋからブロック１〜ｉを１つずつランダムに選択する処理に対応する処理である。
ただし、アプリケーションサーバは、図１３を参照して説明したブロック対応の平文データを保持しているのみで、ブロック鍵Ｋｂで暗号化したデータを保持しているわけではない。
従って、アプリケーションサーバは、ステップＳ２３において、クライアントに対する提供ブロックに対応するパターンシーケンスを決定するのみとなる。
【０１１７】
例えば、
ブロック１：パターン２、
ブロック２：パターン１、
ブロック３：パターンｋ、
：
ブロックｉ：パターン５、
このようにブロック１〜ｉをどのパターンから選択するかの、
パターンシーケンス：［２，１，ｋ，・・・，５］
を決定する。
【０１１８】
さらに、アプリケーションサーバは、ステップＳ２３において、決定したパターンシーケンスに対応するブロックについて、各ブロック内の個別鍵（ユーザ鍵：Ｋｕ）による暗号化部分（個別暗号化部分）を決定する。
この選択ブロック内の個別暗号化部分の決定処理は、例えば図８を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。
なお、この個別暗号化部分は、サブブロック単位で決定する。
【０１１９】
次に、アプリケーションサーバは、ステップＳ２４において、各ブロックから選択したユーザ鍵による暗号化データ部分、すなわち、個別暗号化部分として選択したサブブロックに対して、ステップＳ２２で生成した個別鍵（ユーザ鍵：Ｋｕ）を適用した暗号化を実行する。
先に図１３を参照して説明したように、アプリケーションサーバは、平文データとしてのブロックデータを保持している。この平文ブロックデータはサブブロック単位で区分された設定であり、アプリケーションサーバは、個別暗号化部分として選択したサブブロック（平文）に対して、ステップＳ２２で生成した個別鍵（ユーザ鍵：Ｋｕ）を適用して暗号化を行う。
【０１２０】
さらに、アプリケーションサーバは、個別鍵（ユーザ鍵：Ｋｕ）によって暗号化を行った個別暗号化サブブロックデータをまとめて、１つのデータファイル（サブブロックファイル）として設定する。
【０１２１】
次に、ステップＳ２５において、アプリケーションサーバは、ステップＳ２４で生成した個別暗号化サブブロックデータファイル（サブブロックファイル）をクライアントに対して送信する。
さらに、鍵データと、ウェブサーバからクライアントに対して提供すべきデータの識別情報（例えば、データ対応のＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）、アドレス情報等）をクライアントに送信する。
【０１２２】
なお、ウェブサーバからクライアントに対して提供すべきデータは、
（１）ブロック以外の共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応の個別鍵（ユーザ鍵）暗号化部分を除くブロック鍵（Ｋｂ）暗号化データ
これらのデータである。
アプリケーションサーバは、これらのデータの識別情報（例えば、データ対応のＵＲＬ、アドレス情報等）を個別暗号化サブブロックデータファイル（サブブロックファイル）に併せてクライアントに送信する。
【０１２３】
アプリケーションサーバからクライアントに提供する配信データには例えば図１４（Ｓ２５）に示すように、以下のデータが含まれる。
(ａ１)ユーザ対応の個別鍵（ユーザ鍵）による暗号化データ
(ａ２)ブロック領域以外の共通鍵（Ｋｔ）による暗号化データの識別情報（例えば、データ対応のＵＲＬ、アドレス情報等）
(ａ３)ユーザ対応の個別鍵（ユーザ鍵）による個別暗号化部分を除くサブブロックの識別情報（例えば、サブブロックデータ対応のＵＲＬ、アドレス情報等）
（ａ４)ユーザ対応個別鍵（ユーザ鍵）
これらの暗号化データと、データ識別情報と、鍵セットをクライアントに送信する。
【０１２４】
なお、これらのデータの他、アプリケーションサーバは、ブロック領域、個別暗号化部分の領域情報を記録したコンテンツ構成情報をクライアントに提供する。
【０１２５】
次のステップＳ２６の処理は、クライアントの処理である。
クライアントは、上記（ａ１）〜（ａ４）の各データをアプリケーションサーバから受信し、受信データに含まれる上記（ａ２），（ａ３）のデータを利用して、アプリケーションサーバから受信したコンテンツ以外のコンテンツ構成データをウェブサーバに対して要求する。
【０１２６】
すなわち、
(ａ２)ブロック領域以外の共通鍵（Ｋｔ）による暗号化データの識別情報（例えば、データ対応のＵＲＬ、アドレス情報等）
(ａ３)ユーザ対応の個別鍵（ユーザ鍵）による個別暗号化部分を除くサブブロックの識別情報（例えば、サブブロックデータ対応のＵＲＬ、アドレス情報等）
これらのデータ識別情報（例えばＵＲＬ）を利用してウェブサーバにアクセスして、データ識別情報に対応するデータの取得要求を行う。
【０１２７】
ウェブサーバは、ステップＳ２７において、クライアントからの要求データをクライアントに提供する。
ウェブサーバがクライアントに提供するデータには、図１４（Ｓ２７）に示すように以下のデータが含まれる。
（ｂ１）ブロック以外の共通鍵（タイトル鍵：Ｋｔ）による暗号化データ
（ｂ２）クライアントに対して選択されたブロックデータ中のユーザ対応の個別鍵（ユーザ鍵）による個別暗号化部分を除くサブブロックデータ
（ｂ３）共通鍵（タイトル鍵：Ｋｔ）、ブロック鍵（Ｋｂ）
【０１２８】
上記データ中（ｂ１），（ｂ２）の各データは、クライアントから受信する各データ対応のＵＲＬ等のデータ識別情報によって特定される。
（ｂ３）の共通鍵（Ｋｔ）はコンテンツ対応のタイトルによって特定され、クライアントから受信するＵＲＬ等のデータ識別情報に含まれるデータによって特定される。
同様に、（ｂ３）のブロック鍵（Ｋｂ）も、上記データ中の（ｂ２）のサブブロックデータの識別情報から解析されるブロック識別子によって特定されるブロックに対応するブロック鍵を選択してクライアントに提供する処理が実行される。
【０１２９】
ウェブサーバから上述した（ｂ１）〜（ｂ３）の暗号化データと鍵セットを受信したクライアントは、ステップＳ２８において、アプリケーションサーバトウェブサーバからの受信データに基づいてコンテンツの再構成を行う。
【０１３０】
すなわち、以下の受信データ、すなわち、
（１）ブロック以外の共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応の個別鍵（ユーザ鍵）暗号化部分を除くブロック鍵（Ｋｂ）暗号化データ（サブブロックデータ）
（３）ユーザ対応の個別鍵（ユーザ鍵）暗号化データからなるサブブロックデータ
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、各サーバから受信した鍵データ、すなわち、
（４）共通鍵（Ｋｔ）、ブロック鍵（Ｋｂ）、ユーザ鍵（Ｋｕ）
これらの鍵データとともにクライアント内の記憶装置に格納する。さらに、各暗号鍵を利用した復号処理を実行してコンテンツ再生を行う。
【０１３１】
なお、コンテンツの復号に際しては、サーバから提供されるコンテンツ構成情報、すなわち、共通鍵による暗号化領域、ブロック領域、個別暗号化部分等、復号に適用する鍵の選択に必要となる領域情報を記録したコンテンツ構成情報を参照して、適用暗号鍵を適宜、切り替えて復号処理を行うことになる。
【０１３２】
なお、上記実施例では、２つのサーバを利用したコンテンツ配信処理例について説明したが、前述したように、これらのコンテンツ配信処理は、１つのサーバ等の１つの装置（ユニット）において実行してもよいし、２以上の複数の装置（ユニット）による分散処理として実行してもよい。
【０１３３】
［６．クライアントにおけるコンテンツ再生処理について］
次に図１５を参照してクライアントにおけるコンテンツ再生処理例について説明する。図１５には、クライアントにおけるコンテンツ再生処理を実行するデータ処理部の構成と記憶部を示している。
【０１３４】
図９と、図１４を参照して２つの異なるシーケンスに従ったコンテンツ提供シーケンスについて説明した。しかし、いずれの処理においても、クライアントは、サーバから以下のデータを受信する。
（１）ブロック以外の共通鍵（Ｋｔ）暗号化データ
（２）ユーザ対応の個別鍵（ユーザ鍵）暗号化部分を除くブロック鍵（Ｋｂ）暗号化データ（サブブロックデータ）
（３）ユーザ対応の個別鍵（ユーザ鍵）暗号化データからなるサブブロックデータ
これらのデータを組み合わせて、一連のコンテンツを再構成し、さらに、各サーバから受信した鍵データ、すなわち、
（４）共通鍵（Ｋｔ）、ブロック鍵（Ｋｂ）、ユーザ鍵（Ｋｕ）
（５）コンテンツ構成情報
【０１３５】
クライアントは、これらのデータを図１５に示す記憶部５０１格納し、記憶部５０１に格納されたデータに基づくコンテンツの復号、再生処理を実行する。
【０１３６】
クライアントのデータ処理部の制御部５０２は、まず、記憶部５０１からコンテンツ構成情報５１１を取得する。これは、クライアントに提供されたコンテンツのブロック領域、ブロック内の個別暗号化部分等の位置情報等からなる暗号化データ構成を示す情報である。すなわち、
共通鍵（Ｋｔ）による暗号化領域、
各ブロック鍵（Ｋｂ）による暗号化領域、
個別鍵（ユーザ鍵Ｋｕ）で暗号化された暗号化領域、
これらの各領域を確認し、復号に適用する鍵を選択するために必要となる情報である。
【０１３７】
図１５に示すように、クライアントの制御部５０２は、記憶部５０１からコンテンツ構成情報５１１を読みだして、コンテンツ構成情報５１１を参照して、鍵切り替え情報５１４を復号部５０３に出力する。
すなわち、
共通鍵（Ｋｔ）による暗号化領域の処理に際しては、共通鍵の適用命令を復号部５０３に出力し、
各ブロック鍵（Ｋｂ）による暗号化領域の処理に際しては、復号対象のブロックに対応するブロック鍵の適用命令を復号部５０３に出力し、
個別鍵（ユーザ鍵（Ｋｕ））で暗号化されたデータ領域については個別鍵の適用命令を復号部５０３に出力する。
【０１３８】
復号部５０３は、記憶部５０１から読みだした暗号化コンテンツ５１２に対する復号処理を、記憶部５０１から読みだした暗号鍵（共通鍵、ブロック鍵、個別鍵）５１３を適用して適宜、鍵の切り替えを実行して復号処理を実行する。
【０１３９】
復号結果は、デコードおよび再生処理部５０４に提供される。デコードおよび再生処理部５０４は、所定のデコード処理、例えばＭＰＥＧデコードを実行して再生処理を実行し、再生データ５２０を出力する。
【０１４０】
［７．サーバにおけるコンテンツ生成、提供処理シーケンスについて］
次に、図１６、図１７に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ生成と提供処理シーケンスについて説明する。
【０１４１】
（７−１．サーバにおけるコンテンツ生成処理シーケンス）
まず、図１６に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ生成処理シーケンスについて説明する。
【０１４２】
図１６に示すフローに従った処理は、サーバのデータ処理部において実行される。
まず、ステップＳ１０１において、
オリジナルコンテンツ、例えば映画等のオリジナルコンテンツを取得する。
次に、ステップＳ１０２において、オリジナルコンテンツに複数（ｉ個）のブロックを設定し、抽出する。
【０１４３】
さらに、ステップＳ１０３において、抽出したブロック以外のブロック領域外データに対して共通鍵（タイトル鍵Ｋｔ）を適用して暗号化を行う。
【０１４４】
次に、ステップＳ１０４において、オリジナルコンテンツから抽出した複数（ｉ個）のブロックを、ブロック１〜ブロックｉからなるｋ個のパターンとして設定する。
さらに、ステップＳ１０５において、パターン１〜パターンｋのブロック１〜ブロックｉに対して、異なるブロック鍵（Ｋｂ（Ｐｘ，Ｂｙ））を適用して暗号化する処理を実行する。
これらの処理によって、図５を参照して説明した（ｂ）、（ｃ）のデータが生成される。
【０１４５】
（７−２．サーバにおけるコンテンツ提供処理シーケンス）
次に、図１７に示すフローチャートを参照してサービスプロバイダ等のサーバにおいて実行するコンテンツ提供処理シーケンスについて説明する。
なお、先に図９のシーケンス図と、図１５のシーケンス図を参照して説明したように、クライアントに対するコンテンツ提供処理は、１つのサーバから実行してもよいし、複数のサーバによる処理として実行してもよい。
従って、図１７のフローに示す処理は、１つのサーバまたは複数のサーバによって実行可能な処理である。
【０１４６】
図１７に示すフローに従った処理は、クライアントに対するコンテンツ配信処理毎に、逐次サーバのデータ処理部において実行される。
まず、ステップＳ１５１において、
クライアントからのコンテンツダウンロードリクエストを受信する。
次に、ステップＳ１５２において、
クライアント（ユーザ）対応の個別鍵（ユーザ鍵Ｋｕ）を生成する。例えば乱数生成処理等によって生成する。
【０１４７】
次に、ステップＳ１５３において、クライアントに提供するブロック列を決定する。すなわち、ブロック１〜ｉを選択するパターン１〜ｋのシーケンスを決定する。
例えば、以下のようなパターンシーケンス（ブロック配列情報）である。
ブロック１：パターン２、
ブロック２：パターン１、
ブロック３：パターンｋ、
：
ブロックｉ：パターン５、
このようにブロック１〜ｉをどのパターンから選択するかの、
パターンシーケンス：［２，１，ｋ，・・・，５］（＝ブロック配列情報）
を決定する。
【０１４８】
次に、ステップＳ１５４において、選択したブロック各々について、ブロック内の個別暗号化部分を決定する。すなわち、各ブロック内の個別鍵（ユーザ鍵：Ｋｕ）による暗号化部分（個別暗号化部分）を決定する。
この選択ブロック内の個別暗号化部分の決定処理は、例えば図８を参照して説明したパラメータに従って、ブロック各々について重要なシーンやデータ領域を含めるように個別暗号化部分を決定する。なお、この個別暗号化部分は、各ブロックの再分割単位として設定されるサブブロック単位で決定する。
【０１４９】
次に、ステップＳ１５５において、個別鍵（ユーザ鍵：Ｋｕ）による個別暗号化部分の暗号化を実行する。
なお、この個別鍵（ユーザ鍵：Ｋｕ）による個別暗号化部分の暗号化処理態様としては、先に説明したように、ユーザ鍵Ｋｕのみの暗号化データとしてもよいし、ブロック鍵Ｋｂとユーザ鍵Ｋｕによる二重暗号化構成としてもよい。
【０１５０】
次に、ステップＳ１５６において、コンテンツ構成情報を作成する。コンテンツ構成情報は、コンテンツの復号に際して適用すべき鍵を選択するために必要な情報が含まれる。すなわち、
共通鍵（タイトル鍵Ｋｔ）の適用領域
各ブロック鍵（ＫＢ（Ｐｘ，Ｂｙ））の適用領域、
個別鍵（ユーザ鍵Ｋｕ）の適用領域、
これらの各鍵の適用領域を識別可能な情報を含む。
【０１５１】
次に、ステップＳ１５７において、サーバは、クライアントに対するデータ配信を実行する。すなわち、以下のデータをクライアントに提供する。
（１）共通鍵（タイトル鍵Ｋｔ）による暗号化データ、
（２）ブロック鍵Ｋｂによる暗号化データ、
（３）個別鍵（ユーザ鍵Ｋｕ）による暗号化データ、
（４）共通鍵Ｋｔ、ブロック鍵Ｋｂ、個別鍵Ｋｕ
（５）コンテンツ構成情報、
これらのデータをクライアントに対して配信する。
【０１５２】
さらに、ステップＳ１５８において、
コンテンツ提供クライアント情報とブロック配列情報（パターンシーケンス）と暗号鍵情報との対応データを含む管理情報を作成して記憶部に格納する。
【０１５３】
ステップＳ１５８において生成する管理情報は、例えば、図６を参照して説明した管理情報である。
各クライアントに提供したコンテンツ単位で、配信先情報や配信ユーザ情報等のクライアント情報、ブロック情報、暗号鍵情報が対応付けて記録された管理情報である。
【０１５４】
［８．クライアントにおけるコンテンツ再生シーケンスについて］
次に、図１８に示すフローチャートを参照してクライアントにおけるコンテンツ再生処理シーケンスについて説明する。この処理は、クライアント装置において再生処理を実行するデータ処理部の処理として実行される。
【０１５５】
コンテンツ再生処理を実行するクライアント装置は、まず、ステップＳ３０１において、サーバから受信したコンテンツ構成情報を取得する。すなわち、
共通鍵（タイトル鍵Ｋｔ）の適用領域
各ブロック鍵（ＫＢ（Ｐｘ，Ｂｙ））の適用領域、
個別鍵（ユーザ鍵Ｋｕ）の適用領域、
これらの各鍵の適用領域を識別可能な情報を記録したコンテンツ構成情報である。
【０１５６】
次に、ステップＳ３０２において、
コンテンツ構成情報に基づいて各暗号鍵の切り替え位置情報を取得する。
次に、ステップＳ３０３において、
取得した切り替え位置情報に応じて共通鍵とブロック鍵と個別鍵を切り替えて各暗号化コンテンツを順次、復号する。
すなわち、共通鍵で暗号化されたデータ領域については共通鍵（タイトル鍵Ｋｔ）を適用した復号処理、ブロック鍵で暗号化されたデータ領域についてはブロック鍵ＫＢ（Ｐｘ，Ｂｙ）を適用した復号処理、
個別鍵（ユーザ鍵Ｋｕ）で暗号化されたデータ領域については個別鍵（ユーザ鍵Ｋｕ）を適用した復号処理を実行する。
【０１５７】
なお、コンテンツ構成情報には、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかについての情報が記載されている。
クライアントは、コンテンツ構成情報を参照して、各ブロックがどのブロック鍵によって暗号化された暗号化領域であるかを判別して、ブロック鍵の切り替えによる復号処理を実行する。
【０１５８】
次に、ステップＳ３０４において、
復号コンテンツをデコード、例えばＭＰＥＧデコード処理を実行して再生処理を行う。
【０１５９】
［９．サーバにおける不正流通コンテンツに基づく出所判定処理シーケンスについて］
次に、不正な流通コンテンツが発見された場合に実行する出所判定処理シーケンスについて図１９に示すフローチャートを参照して説明する。
【０１６０】
図１９に示すフローに従った処理は、例えばコンテンツ配信を実行したサービスプロバイダのサーバのデータ処理部において実行される処理である。
【０１６１】
まず、ステップＳ５０１において、
不正流通コンテンツを取得する。
なお、不正流通コンテンツとは、例えばネットワーク上の誰でもアクセス可能なサイトから自由にダウンロード可能な設定とされたコンテンツや、不正に流通しているディスクに記録されたコピーコンテンツなどである。
【０１６２】
次に、ステップＳ５０２において、
不正流通コンテンツの解析によりコンテンツを構成するブロック配列（パターンシーケンス）を解析する。
【０１６３】
次に、ステップＳ５０３では、
不正流通コンテンツから取得したブロック配列情報と、管理情報に記録されたブロック情報を照合し、不正流通コンテンツの流通元であるコンテンツ配信先クライアントを判定する。
なお、管理情報とは、先に説明した図１０に示す管理情報である。
【０１６４】
なお、図１９に示すフローでは、ブロック配列の解析処理例のみを説明したが、クライアントに提供する暗号鍵にはクライアント固有の個別鍵（ユーザ鍵Ｋｕ）や、クライアント固有のブロック配列に対応するブロック鍵のセットが含まれ、これらの鍵が、不正に流通している場合にも、その不正流通している鍵と、図１０に示す管理情報の登録情報との照合を行うことで、不正流通鍵の出所を明らかにすることが可能となる。
【０１６５】
［１０．各装置のハードウェア構成例について］
最後に、図２０、図２１を参照して、上述した処理を実行する各装置のハードウェア構成例について説明する。
まず、図２０を参照して、コンテンツ提供処理を実行するサーバのハードウェア構成例について説明する。
【０１６６】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）６０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）６０２、または記憶部６０８に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。
【０１６７】
例えば、上述の各実施例において説明した暗号化コンテンツの生成処理や、コンテンツ提供処理、管理情報の作成記録処理等を実行する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）６０３には、ＣＰＵ６０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ６０１、ＲＯＭ６０２、およびＲＡＭ６０３は、バス６０４により相互に接続されている。
【０１６８】
ＣＰＵ６０１はバス６０４を介して入出力インタフェース６０５に接続され、入出力インタフェース６０５には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部６０６、ディスプレイ、スピーカなどよりなる出力部６０７が接続されている。ＣＰＵ６０１は、入力部６０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部６０７に出力する。
【０１６９】
入出力インタフェース６０５に接続されている記憶部６０８は、例えばハードディスク等からなり、ＣＰＵ６０１が実行するプログラムや各種のデータを記憶する。例えば図６を参照して説明した管理情報等も記録される。
通信部６０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７０】
次に、図２２を参照して、コンテンツの受信、再生処理等を実行するクライアント装置のハードウェア構成例について説明する。
【０１７１】
ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）７０１は、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）７０２、または記憶部７０８に記憶されているプログラムに従って各種の処理を実行するデータ処理部として機能する。
【０１７２】
例えば、上述の各実施例において説明したサーバとの通信処理やサーバからの受信データの記憶部７０８（ハードディスク等）に対する記録処理、記憶部７０８（ハードディスク等）からのデータ再生処理等を実行する。
【０１７３】
ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）７０３には、ＣＰＵ７０１が実行するプログラムやデータなどが適宜記憶される。これらのＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４により相互に接続されている。
【０１７４】
ＣＰＵ７０１はバス７０４を介して入出力インタフェース７０５に接続され、入出力インタフェース７０５には、各種スイッチ、キーボード、マウス、マイクロホンなどよりなる入力部７０６、ディスプレイ、スピーカなどよりなる出力部７０７が接続されている。ＣＰＵ７０１は、入力部７０６から入力される指令に対応して各種の処理を実行し、処理結果を例えば出力部７０７に出力する。
【０１７５】
入出力インタフェース７０５に接続されている記憶部７０８は、例えばハードディスク等からなり、ＣＰＵ７０１が実行するプログラムや各種のデータを記憶する。通信部７０９は、インターネットやローカルエリアネットワークなどのネットワークを介して外部の装置と通信する。
【０１７６】
入出力インタフェース７０５に接続されているドライブ７１０は、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１を駆動し、記録されているコンテンツ、プログラム等の各種データを取得する。
【０１７７】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１７８】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１７９】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１８０】
以上、説明したように、本発明の一実施例の構成によれば、暗号化コンテンツの暗号鍵の漏えいが生じた場合でも、コンテンツの完全な再生を防止可能とする構成が実現される。
具体的には、コンテンツの構成データであるブロック１〜ブロックｉを異なるブロック鍵で暗号化したパターン１〜ｋを設定し、コンテンツ配信単位でランダムにブロック選択を実行してブロック１〜ｉの異なるブロック配列（パターンシーケンス）からなるコンテンツをクライアントに提供する。クライアントに対する提供コンテンツのブロック配列は管理情報として登録する。コンテンツの一部の暗号鍵として利用される共通鍵（タイトル鍵）が漏えいしても、コンテンツの完全再生は不可能となる。また、不正流通コンテンツからブロック配列を取得して管理情報の登録情報と照合することで不正流通コンテンツの出所元となったクライアントの特定が可能となる。
【符号の説明】
【０１８１】
１０  コンテンツ配信サーバ
１１  暗号化コンテンツ
１２，１４〜１６  暗号鍵
２１，２２，２４〜２６  クライアント
２３，２９  不正ユーザ
２８  不正クライアント
３１  公開された暗号鍵
３２  暗号化コンテンツのコピー
３３  不正公開コンテンツ
１００  サーバ
１２０  クライアント
１３１〜１３３  クライアント
１４１  ディスク
２０１  第１サーバ（ウェブサーバ）
２０２  第２サーバ（アプリケーションサーバ）
２１１〜２１３  クライアント
５０１  記憶部
５０２  制御部
５０３  復号部
５０４  デコードおよび再生処理部
５２０  再生データ
６０１  ＣＰＵ
６０２  ＲＯＭ
６０３  ＲＡＭ
６０４  バス
６０５  入出力インタフェース
６０６  入力部
６０７  出力部
６０８  記憶部
６０９  通信部
７０１  ＣＰＵ
７０２  ＲＯＭ
７０３  ＲＡＭ
７０４  バス
７０５  入出力インタフェース
７０６  入力部
７０７  出力部
７０８  記憶部
７０９  通信部
７１０  ドライブ
７１１  リムーバブルメディア
【図８】
2012169753.tif 000003
【図１０】
2012169753.tif 000004
【図１５】
2012169753.tif 000005
【図１６】
2012169753.tif 000006
【図１７】
2012169753.tif 000007
【図１８】
2012169753.tif 000008
【図１９】
2012169753.tif 000009
【図２０】
2012169753.tif 000010
【図２１】
2012169753.tif 000011
【図１】
2012169753.tif 000012
【図２】
2012169753.tif 000013
【図３】
2012169753.tif 000014
【図４】
2012169753.tif 000015
【図５】
2012169753.tif 000016
【図６】
2012169753.tif 000017
【図７】
2012169753.tif 000018
【図９】
2012169753.tif 000019
【図１１】
2012169753.tif 000020
【図１２】
2012169753.tif 000021
【図１３】
2012169753.tif 000022
【図１４】
2012169753.tif 000023