(57)【特許請求の範囲】
【請求項１】
優先度が設定されている複数の記憶領域と、
前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されており、
前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較する比較手段と、
前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えする配置手段と、
前記第１のデータを記憶させる前記エリアの記憶領域を拡大する拡大手段と、
前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させる記憶制御手段と
を備える情報処理装置。
【請求項２】
前記第１の記憶領域は、暗復号処理を実行するブロック内に備えられ、
前記第２の記憶領域は、前記暗復号処理を実行するブロック外に備えられている
請求項１に記載の情報処理装置。
【請求項３】
優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置の情報処理方法において、
前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、
前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、
前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、
前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させる
ステップを含む情報処理方法。
【請求項４】
優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置を制御するコンピュータに、
前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、
前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、
前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、
前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させる
ステップを含む処理を実行させるためのコンピュータ読み取り可能なプログラムを記録している記録媒体。
【請求項５】
優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置を制御するコンピュータに、
前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、
前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、
前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、
前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させる
ステップを含む処理を実行させるためのコンピュータ読み取り可能なプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、暗号化されたコンテンツデータのデータ処理や記憶のために複数のメモリ領域を暗号学的な安全度により評価し、データの内容に応じてメモリ領域に配置し暗号または復号の関連処理を行うことで、システム毎に設計したハードウエアを用いることなく、迅速にデータを処理するときに用いて好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
近年、コンテンツデータをネットワークを介して配信する配信システムが構築されている。配信されるコンテンツデータは、データの改竄を防ぐため、暗号化されたり、ディジタル署名が付加されるなどの処理が施されている。暗号化されたコンテンツデータは、利用者の端末により復号処理されることにより、利用者はそのコンテンツデータを利用することができる。
【０００３】
暗号化技術の安全性は、復号する際の処理の難しさに依存しているため、暗号化技術の高度化にともなって、コンテンツデータを利用する利用者の端末には、より処理能力の高い端末が要求されるようになってきている。そこで、処理能力を向上させるために、利用者の端末に復号処理専用のLSI（Large Scale Integration）を配置することが提案されている。図１は、復号処理専用のLSI（以下、適宜、復号LSIと称する）の構成例を示している。
【０００４】
復号LSI１は、復号LSI１の外部に配置されるコントロールマイクロコンピュータ（以下、コントロールマイコンと略称する）２から転送される指令により復号処理を行う。復号処理には、暗号化されたコンテンツデータを復号する処理の他に、コンテンツデータに付加されているディジタル署名を検証する処理も含まれる。復号LSI１が処理した結果は、復号LSI１の外部に配置される外部メモリ３に記憶される。
【０００５】
復号LSI１は、通信インタフェース１１、コントロールユニット１２、ＲＡＭ（Random Access Memory）１３、メモリコントローラ１４、フラッシュメモリ１５、べき乗演算器１６、およびハッシュ値演算器１７から構成される。
【０００６】
コントロールマイコン２から転送される指令は、通信インタフェース１１を介してコントロールユニット１２に伝えられる。コントロールユニット１２は、べき乗演算器１６およびハッシュ値演算器１７などを補助的に用いつつ、復号LSI１の全体の動作を制御し、暗号化されているデータの復号処理、およびディジタル署名の検証処理などを行う。
【０００７】
ＲＡＭ１３には、コントロールユニット１２が利用するプログラムが記憶される。メモリコントローラ１４は、外部メモリ３に対するデータの読み書きを制御する。フラッシュメモリ１５には、コントロールユニット１２の指令によりべき乗演算器１６、およびハッシュ値演算器１７が演算した結果や、処理に必要なデータが、適宜、記憶される。
【０００８】
利用者が使用する端末に、上述したような復号LSI１を配置することにより、コンテンツデータの復号処理能力の確保および向上させることが可能となる。
【０００９】
【発明が解決しようとする課題】
利用者の端末に復号LSI１（ハードウエア）を設置する場合、データ処理用あるいはデータ保持用のメモリはデータの不正利用、データの改竄などの不正行為防止のために、内部に容易にはアクセスできない耐タンパー性を持つ、同一パッケージ内に暗号演算回路（不図示）などと共に設置される。
【００１０】
また、暗号演算回路、メモリなどを同一のシリコン上に混在させることも行われ、処理速度の向上や実装面積の縮小が実現できる。しかしながら、暗号化処理の対象となるデータの容量は、適用されるアプリケーションによって様々であり、それぞれの仕様に合わせてメモリ容量の異なるLSIを設計することは効率的ではなく、また、LSIを設計し直す必要があるため、バージョンアップ等の変更が実質的に困難であった。
【００１１】
さらに、チップの製造歩留まりとチップ面積は、一般的に反比例の関係にあるため、同一シリコン上にメモリや暗号演算回路などを混在する場合、チップの歩留まりを向上させるためにメモリ容量を可能な限り小さくすることが必要であった。その結果、処理能力の低下、暗号処理に関する実現仕様が制約されるなどの課題があった。
【００１２】
本発明はこのような状況に鑑みてなされたものであり、暗号化されたコンテンツデータを、利用者の端末において復号する場合に、システム毎に設計したハードウエアを利用することなく、低コストで、かつ、比較的容易に機能を変更できるシステムを実現できるようにすることを目的とする。
【００１３】
【課題を解決するための手段】
本発明の一側面の情報処理装置は、優先度が設定されている複数の記憶領域と、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されており、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較する比較手段と、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えする配置手段と、前記第１のデータを記憶させる前記エリアの記憶領域を拡大する拡大手段と、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させる記憶制御手段とを備える。
【００１４】
前記第１の記憶領域は、暗復号処理を実行するブロック内に備えられ、前記第２の記憶領域は、前記暗復号処理を実行するブロック外に備えられているようにすることができる。
【００１５】
本発明の一側面の情報処理方法は、優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置の情報処理方法において、前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させるステップを含む。
【００１６】
本発明の一側面の記録媒体は、優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置を制御するコンピュータに、前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させるステップを含む処理を実行させるためのコンピュータ読み取り可能なプログラムを記録している。
【００１７】
本発明の一側面のプログラムは、優先度が設定されている複数の記憶領域であって、前記複数の記憶領域のうち、優先度が高い第１の記憶領域には、優先度が設定されている複数のデータをそれぞれ記憶するエリアが設定されている記憶領域、比較手段、配置手段、拡大手段、および記憶制御手段を備える情報処理装置を制御するコンピュータに、前記比較手段が、前記第１の記憶領域に記憶させる第１のデータを記憶させるとき、その記憶させる第１のデータの容量分以上の空き容量が、前記第１の記憶容量にないと判断された場合、前記第１の記憶領域に既に記憶されている前記複数のデータのそれぞれの優先度と、前記第１のデータの優先度を比較し、前記配置手段が、前記比較手段による比較の結果、優先度が低いと判断されたデータを前記第１の記憶領域から、前記第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えし、前記拡大手段が、前記第１のデータを記憶させる前記エリアの記憶領域を拡大し、前記記憶制御手段が、前記拡大手段により拡大された前記記憶領域に、前記第１のデータを記憶させるステップを含む処理を実行させるためのコンピュータ読み取り可能なプログラムである。
【００１８】
本発明の一側面の情報処理装置および方法、記録媒体、並びにプログラムにおいては、第１の記憶領域に記憶させる第１のデータが記憶されるとき、その記憶される第１のデータの容量分以上の空き容量が、第１の記憶容量にないと判断された場合、第１の記憶領域に既に記憶されている複数のデータのそれぞれの優先度と、第１のデータの優先度が比較され、優先度が低いと判断されたデータが第１の記憶領域から、第１の記憶領域よりも優先度が低く設定されている第２の記憶領域に配置換えされ、第１のデータを記憶させるエリアの記憶領域が拡大され、その拡大された記憶領域に、第１のデータが記憶される。
【００２１】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。図２は、本発明を適用したデータ処理システムの一実施の形態の構成を示すブロック図である。データ送信装置２１により生成され、暗号化されたコンテンツデータは、ネットワーク２２を介してデータ受信装置２３に送信される。
【００２２】
データ送信装置２１は、データ処理判断部３１、データ生成部３２、データ記憶部３３、およびデータ送信部３４から構成される。データ処理判断部３１は、データ送信装置２１内の動作を制御する。データ生成部３２は、所定の方法により提供されたコンテンツデータを暗号化したり、ディジタル署名を生成する（以下、コンテンツデータの暗号化処理、およびディジタル署名の生成処理をまとめて暗号関連処理と称する）。
【００２３】
また、データ生成部３２は、コンテンツデータの暗号化に関するデータなどが記述されているメタデータを生成する。データ記憶部３３は、データ生成部３２により生成されたコンテンツデータおよびメタデータを、一旦記憶する。データ送信部３４は、データ受信装置２３からの要求に応じて、データ記憶部３３に記憶されているコンテンツデータおよびメタデータを、ネットワーク２２を介してデータ受信装置２３に対して送信する。
【００２４】
ネットワーク２２は、データ送信装置２１とデータ受信装置２３の間で送受信されるデータの伝送路であり、例えば、インターネット、電話回線網、ケーブルテレビジョン放送網、衛星を介したディジタルテレビジョン放送網等により構成される。
【００２５】
データ受信装置２３は、データ受信部４１、データ処理判断部４２、復号処理部４３、計算部４４、およびデータ記憶部４５より構成される。データ受信部４１は、データ送信装置２１から送信されたメタデータおよびコンテンツデータを受信する。データ処理判断部４２は、データ受信装置２３の全体の動作を制御する。復号処理部４３は、データ受信部４１により受信されたコンテンツデータが暗号化されている場合にはコンテンツデータを復号し、ディジタル署名が付加されている場合には、ディジタル署名の検証などの処理を行う（以下、コンテンツデータの復号処理、およびディジタル署名の検証処理をまとめて復号関連処理と称する）。
【００２６】
計算部４４は、データ処理判断部４２の指令を受けて、演算処理実行する。データ記憶部４５は、データ受信部４１により受信されたコンテンツデータ、および復号処理部４３により復号され、かつディジタル署名が検証されたコンテンツデータを記憶する。
【００２７】
次に、データ送信装置２１が送信するメタデータおよびコンテンツデータを、データ受信装置２３が受信し、処理する一連の処理について、図３と図４のフローチャートを参照して説明する。
【００２８】
図３は、データ送信装置２１の処理を説明するフローチャートである。ステップＳ１において、データ生成部３２は、外部から所定の方法により提供されるアナログデータまたはディジタルデータを取得し、その取得されたデータを、ネットワーク２２を介してデータ受信装置２３に対して送信することが可能な形式に圧縮し、暗号関連処理を施すことにより、コンテンツデータを作成する。
【００２９】
また、データ生成部３２は、メタデータも生成する。メタデータには、送信されるコンテンツデータの特徴、コンテンツデータの暗号関連処理に関する情報である暗号関連情報が記述される。メタデータに含まれるコンテンツデータの特徴には、例えば、コンテンツデータの制作者、制作時期、制作者を識別する制作者ID、コンテンツデータの利用形態、コンテンツデータ利用形態毎の料金、コンテンツデータの再生時間、コンテンツデータの圧縮方法、総データ量、データの転送速度などが含まれる。また、メタデータに含まれるコンテンツデータの暗号関連情報には、例えば、暗号化アルゴリズム、ディジタル署名の生成アルゴリズム、データ単位が含まれる。これらの具体例については後述する。
【００３０】
ステップＳ２において、データ記憶部３３は、ステップＳ１の処理でデータ生成部３２により作成されたコンテンツデータおよびメタデータを記憶する。ステップＳ３において、データ処理判断部３１は、データ受信装置２３からメタデータの送信が要求されたか否かを判断する。ステップＳ３において、メタデータの送信が要求されたと判断されるまで待機状態が維持される。ステップＳ３において、データ処理判断部３１により、メタデータの送信が要求されたと判断された場合、処理はステップＳ４に進む。
【００３１】
ステップＳ４において、データ送信部３４は、データ記憶部３３に記憶されているメタデータを、ネットワーク２２を介してデータ受信装置２３に送信する。後述するように、メタデータを受信したデータ受信装置２３は、メタデータに記述されている情報を分析し、コンテンツデータを処理するための準備を行う。メタデータに記述されているコンテンツデータの情報に基づいて、コンテンツデータを処理するための準備が完了された場合、データ受信装置２３は、コンテンツデータの送信をデータ送信装置２１に要求する。
【００３２】
そこで、ステップＳ５において、データ処理判断部３１は、データ受信装置２３からコンテンツデータの送信が要求されたか否かを判断する。ステップＳ５において、データ処理判断部３１によりデータ受信装置２３からコンテンツデータの送信が要求されていないと判断された場合、データ処理判断部３１は、データ受信装置２３が、コンテンツデータの処理の準備が完了していないと認識し、コンテンツデータの送信が要求されるまで待機状態を維持する。
【００３３】
ステップＳ５において、データ処理判断部３１が、データ受信装置２３からコンテンツデータの送信が要求されたと判断した場合、ステップＳ６に進み、データ送信部３４は、データ記憶部３３に記憶されているコンテンツデータを読み出し、ネットワーク２２を介してデータ受信装置２３に対して送信する。
【００３４】
図４は、データ受信装置２３の処理を説明するフローチャートである。ステップＳ１１において、データ処理判断部４２は、データ受信装置２３を管理する利用者からコンテンツデータの受信の指令が入力された場合、データ送信装置２１に対して、そのコンテンツデータに対応するメタデータの送信を要求する。
【００３５】
ステップＳ１２において、データ受信部４１は、データ送信装置２１から送信されてきたメタデータを、ネットワーク２２を介して受信する。データ受信部４１が受信したメタデータは、データ処理判断部４２に転送され、記述されている内容の分析が行われる。
【００３６】
ステップＳ１３において、データ処理判断部４２は、メタデータに記述されているコンテンツデータに関する情報から、送信されてくるコンテンツデータは、暗号関連処理が施されているか否かを判断する。ステップＳ１３において、データ処理判断部４２は、送信されてくるコンテンツデータには、暗号関連処理が施されていないと判断した場合、ステップＳ１４に進み、データ処理判断部４２は、データ送信装置２１に対して、コンテンツデータの送信を要求する。
【００３７】
ステップＳ１５において、データ受信部４１は、データ送信装置２１から、ネットワーク２２を介して送信されたコンテンツデータを受信する。データ受信装置２３を管理する利用者がデータ受信部４１により受信されたコンテンツデータを利用する場合、コンテンツデータは復号関連処理を行う必要がないため、データ記憶部４５は、受信されたコンテンツデータを記憶し、データ受信装置２３を管理する利用者から要求があるまで保持する。
【００３８】
一方、ステップＳ１３において、データ処理判断部４２は、メタデータに記述されている内容から、送信されてくるコンテンツデータは暗号関連処理が施されているデータであると判断した場合、処理はステップＳ１６に進む。
【００３９】
ステップＳ１６において、データ処理判断部４２は、受信したメタデータより暗号処理過程において必要となるワーク用メモリ領域、記録用メモリ領域の容量を確定する。ステップＳ１７において、データ処理判断部４２は、ワーク用メモリ領域、記録用メモリ領域の利用にあたってデータの種類、特性に応じて暗号学的優先度を確定させる。ここで暗号学的優先度とは、各データがどのような強度で保護される必要があるかを定量的に表したもので、各データ間の相対的な保護の優先性、あるいは、各データの絶対的な保護要求レベルを表している。保護優先度の規定は、データ毎に予め決めておいてもよいし、メタデータにより規定してもよい。あるいは、その複合でもよい。これらは、システムの実装に依存する。
【００４０】
ステップＳ１８において、データ処理判断部４２は、ステップＳ１７で決定された優先度に従い、データを、それぞれ配置するメモリエリアを決定する。システムが、利用可能な各メモリエリアには、それぞれ暗号学的安全性が定量的に規定されている。データ配置の決定にあたっては、データの優先度の高いものから順番に、安全性の高いメモリエリアに配置することも可能だし、各データが要求する暗号学的安全度の絶対値と各メモリエリアの持つ暗号学的安全性の絶対値とを規定し、条件の満たされるメモリエリアにのみデータを保持することも可能である。結果は、復号処理部４３に通知される。メモリエリアとしては、例えば、データ受信装置２３が備えるデータ記憶部４５、復号処理部４３が備える専用メモリ（不図示）などである。
【００４１】
ステップＳ１９において、データ処理判断部４２は、データ送信装置２１に対してデータの送信を要求する。ステップＳ２０において、データ受信部４１は、コンテンツデータを受信し、所定のメモリエリアに展開する。この際、データ処理判断部４２は、必要に応じて復号処理部４３により展開するデータを暗号化したり、ハッシュ値を計算する。
【００４２】
ステップＳ２１において、復号処理部４３は受信データの復号処理を実行し、実行結果を適宜保存すると共に、結果をデータ処理判断部４２に通知する。この際、復号処理に必要なデータのワークエリア、データ記録エリアは、ステップＳ１８における処理で決定された結果が適用される。また、データが利用、配置されるにあたっては、必要に応じてデータの暗号化、データのハッシュ値の計算などが行われる。
【００４３】
ステップＳ２２において、復号処理部４３はワークエリア、データ記録エリアに配置されたステップＳ２０，Ｓ２１の処理に関わるデータが、不正にアクセスされていないか否かの検査を行う。ステップＳ２２の処理は、実装対象に応じて、検査対象項目が決定され、実行されない場合もある。ステップＳ２２において、不正が検出された場合、図４に示したフローチャートの処理は、終了される。
【００４４】
一方、ステップＳ２２において、不正は検出されないと判断された場合、ステップＳ２３に進み、データ処理判断部４２は、復号処理がすべて終了したか否かを判断する。ステップＳ２３において、処理が終了していないと判断された場合、ステップＳ１９に戻り、それ以降の処理が繰り返されることにより、復号処理が再開され、処理が終了したと判断された場合、図４に示したフローチャートの処理は終了される。
【００４５】
図５は、本発明を適用したコンテンツ配信システムの構成を示す図である。コンテンツプロバイダ５１は、コンテンツサーバ５２を管理しており、コンテンツデータおよびメタデータを作成する。コンテンツプロバイダ５１が作成したコンテンツデータおよびメタデータは、サービスプロバイダ５３が管理するサービスサーバ５４に供給される。コンテンツデータは、映画、音楽などのディジタルデータであり、メタデータにはそれらのデータに関する情報が記述される。
【００４６】
サービスプロバイダ５３は、ネットワーク２２を介して、契約者である利用者５５に対してコンテンツデータおよびメタデータを送信する。利用者５５は、サービスプロバイダ５３から送信されたコンテンツデータおよびメタデータを、自らが操作する端末５６において利用する。
【００４７】
決済センタ５７は、決済サーバ５８を管理しており、利用者５５に対してコンテンツデータの使用権情報を発行するとともに、使用権情報の代金の決済処理を行う。また、決済センタ５７は、利用者５５から支払われた代金を、コンテンツプロバイダ５１と、サービスプロバイダ５３の間で予め設定された契約に基づいて分配する。
【００４８】
図７は、コンテンツサーバ５２の構成例を示すブロック図である。コンテンツサーバ５２は、データキャプチャ装置７１、データ編集装置７２、メタデータ生成装置７３、データ暗号化装置７４、データ記憶装置７５、およびデータ送信装置７６より構成される。
【００４９】
データキャプチャ装置７１は、外部から取り込んだデータを、コンテンツサーバ５２の各装置が処理できるデータ形式に変換する。データ編集装置７２は、データキャプチャ装置７１から転送されたデータから、利用者５５に提供するコンテンツデータを作成する。また、データ編集装置７２は、メタデータ生成装置７３が生成したメタデータを、コンテンツデータに付加する。
【００５０】
データ暗号化装置７４は、データ編集装置７２から転送されたコンテンツデータおよびメタデータに暗号関連処理を施す。データ記憶装置７５は、データ暗号化装置７４により暗号関連処理が施されたメタデータおよびコンテンツデータを記憶し、必要に応じてデータ送信装置７６に転送する。
【００５１】
データ送信装置７６は、サービスプロバイダ５３が管理するサービスサーバ５４にコンテンツデータを送信する。なお、具体的な各装置の処理については、図１４のフローチャートを参照して後述する。
【００５２】
図７は、コンテンツサーバ５２内のデータ暗号化装置７４の構成例を示すブロック図である。データ暗号化装置７４は、入出力インタフェースブロック９１、データ処理判断ブロック９２、データ記憶ブロック９３、乱数生成ブロック９４、および暗号化処理ブロック９５から構成される。さらに、暗号化処理ブロック９５は、暗号化処理サブブロック９６、ディジタル署名生成サブブロック９７、およびハッシュ値計算サブブロック９８より構成される。
【００５３】
入出力インタフェースブロック９１は、データ編集装置７２（図６）から供給されるメタデータおよびコンテンツデータを、データ処理判断ブロック９２に転送する。データ処理判断ブロック９２は、データ暗号化装置７４の全体の動作を制御する。データ記憶ブロック９３は、暗号化処理ブロック９５において、暗号関連処理が施されたメタデータ、コンテンツデータ、処理に必要なデータなどを、適宜、記憶する。
【００５４】
乱数生成ブロック９４は、データ処理判断ブロック９２からの指令により乱数を生成し、暗号化処理ブロック９５に供給する。乱数生成ブロック９４が生成する乱数は、暗号化アルゴリズムであるDES（Data Encryption Standard）、RSA（Rivest-Shamir-Adleman scheme）などの共通鍵暗号方式で暗号関連処理する場合の鍵として利用される。
【００５５】
暗号化処理ブロック９５は、コンテンツデータの暗号化およびディジタル署名の生成処理を行う。この暗号化処理ブロック９５の暗号化処理サブブロック９６は、DES、RSAなどの暗号化アルゴリズムによりコンテンツデータの暗号化処理を行う。
【００５６】
ディジタル署名生成サブブロック９７は、DSA（Digital Signature Algorithm）などによるディジタル署名の生成アルゴリズムによりディジタル署名を生成する。ディジタル署名は、データの改竄のチェックおよびデータの制作者を認証するためのデータである。
【００５７】
ハッシュ値計算サブブロック９８は、ハッシュ関数による計算を行う。ハッシュ関数は、送信するデータを入力とし、その入力されたデータを、所定のビット長のデータに圧縮し、ハッシュ値として出力する関数である。ハッシュ関数は、出力であるハッシュ値から入力データを復元することが難しく、また、同一の出力結果のハッシュ値を持つ入力データを探し出すことが困難である（一方向である）特徴を有する。
【００５８】
ここで、ディジタル署名の生成および検証について説明する。ディジタル署名の生成者は、送信するデータから特定のアルゴリズムを用いて、メッセージダイジェストを作成する（ハッシュ値計算サブブロック９８により、送信されるデータに、ハッシュ関数が適用され、メッセージダイジェストが作成される）。ディジタル署名の生成者は、自分の秘密鍵（乱数生成ブロック９４により生成された乱数）を用いて、このメッセージダイジェストと送信するデータの全文を暗号化し、利用者５５（端末５６（図５））に送信する。
【００５９】
一方、データの利用者５５は、データを受信し、ディジタル署名の生成者が提供する公開鍵を利用して、暗号化されているデータの全文、およびメッセージダイジェストを復号処理する。次に、データの利用者は復号したデータの全文から、ディジタル署名の生成者と同一の方式（同一のハッシュ関数）でメッセージダイジェストを作成する。生成されたメッセージダイジェストと受信されたメッセージダイジェストを比較することにより、ディジタル署名の検証が行なわれる。
【００６０】
すなわち、データの作成者から送信され、受信者が復号したメッセージダイジェストと、受信者が復号したデータの全文から、作成者と同一の方式により作成されたメッセージダイジェストが等しければ、そのデータは改竄などの不正な処理が行われていないことを表す。
【００６１】
なお、データ暗号化装置７４において、説明の便宜上、暗号化処理サブブロック９６、およびディジタル署名生成サブブロック９７は暗号関連処理を行うとしたが、通常は、復号関連処理も行うことが可能である。すなわち、暗号化処理サブブロック９６はデータの暗号化および復号が可能であるし、ディジタル署名生成サブブロック９７はディジタル署名の生成および検証が可能である。
【００６２】
さらに、後述する図１２の暗号化処理ブロック１６３に配置されている暗号化処理部１８６を構成するサブブロックも、データ暗号化装置７４を構成するサブブロックと同様に、復号関連処理だけでなく暗号関連処理を実行することができる。また、サービスサーバ５４に配置されているデータ暗号化装置１１４も上述したコンテンツサーバ５２に配置されているデータ暗号化装置７４、および復号処理ブロック１６３と同様に、復号関連処理だけでなく暗号関連処理を実行することができる。これにより、それぞれの装置間で送受信されるデータに、改竄などの不正な処理が行われることを防ぐことが可能となる。
【００６３】
上述したような暗号関連処理が施されたコンテンツデータおよびメタデータは、サービスプロバイダ５３が管理するサービスサーバ５４に送信される。
【００６４】
図８は、サービスサーバ５４（図５）の構成例を示すブロック図である。サービスサーバ５４は、データ送受信装置１１１、データ編集装置１１２、メタデータ生成装置１１３、データ暗号化装置１１４、コンテンツプロモーションサーバ１１５、およびデータ記憶装置１１６より構成される。
【００６５】
データ送受信装置１１１は、コンテンツサーバ５２（図５，６）から送信されるコンテンツデータおよびメタデータを受信する。また、データ送受信装置１１１は、利用者５５の端末５６（図５）に対し、ネットワーク２２を介してコンテンツデータおよびメタデータを送信する。データ送受信装置１１１は、コンテンツデータおよびメタデータを送信するタイミングを判断する。送信するタイミングは、例えば、利用者５５からの要求に応じて送信する場合や、メタデータに記述されているタイミングで送信する場合などがある。
【００６６】
データ編集装置１１２は、サービスサーバ５４の各装置で処理されたデータを編集し、利用者５５に提供する形態にデータを編集する。メタデータ生成装置１１３は、メタデータを生成する。メタデータ生成装置１１３が生成するメタデータには、サービスプロバイダ５３がコンテンツデータを利用者５５に提供する際に、サービスプロバイダ５３が利用者５５に対して通知する情報が記述される。
【００６７】
データ暗号化装置１１４は、メタデータ生成装置１１３が生成したメタデータにディジタル署名を生成するなどの暗号関連処理を行う。データ暗号化装置１１４の詳細な構成は、図６に示したコンテンツサーバ５２のデータ暗号化装置７４（図７）の構成と同様である。
【００６８】
コンテンツプロモーションサーバ１１５は、サービスプロバイダ５３が利用者５５に提供するコンテンツの一覧情報を作成するとともに、ディスカウント情報などを利用者５５の要求に応じて提供する。コンテンツプロモーションサーバ１１５は、WWWサーバとして設置され、利用者５５は端末５６に装備されているブラウザを利用することにより、コンテンツプロモーションサーバ１１５が提供するサービスを受けることができる。さらに、コンテンツプロモーションサーバ１１５は、利用者５５からの電話による問い合わせに対応できるようにもなっている。
【００６９】
データ記憶装置１１６は、データ編集装置１１２で編集されたデータを記憶し、利用者５５からの要求に応じて、データ送受信装置１１１に対してコンテンツデータおよびメタデータを転送する。なお、具体的な各装置の処理については、図１７のフローチャートを参照して後述する。
【００７０】
図１０は、決済センタ５７（図５）が管理している決済サーバ５８の構成例を示すブロック図である。決済サーバ５８は、データ送受信装置１３１、ライセンス装置１３２、ユーザ管理装置１３３、著作権管理装置１３４、課金装置１３５、および決済装置１３６より構成される。
【００７１】
データ送受信装置１３１は、端末５６から、ネットワーク２２を介して通知されるコンテンツデータの使用権の購入要求情報を受信するとともに、コンテンツプロバイダ５１（コンテンツサーバ５２）およびサービスプロバイダ５３（サービスサーバ５４）に対して、利用者５５から回収した代金に関する課金情報を送信する。
【００７２】
ライセンス装置１３２は、利用者５５からコンテンツデータの使用権購入が要求された場合、使用権情報の発行処理を行う。ユーザ管理装置１３３は、サービスプロバイダ５３から、コンテンツデータの提供を受ける契約をしている利用者５５、および、その利用者５５が操作する端末５６の情報を管理する。利用者５５および端末５６の情報には、端末５６に含まれるセットトップボックス（不図示）の契約日、契約条件、サービスの利用情報などが含まれる。
【００７３】
著作権管理装置１３４は、コンテンツデータの著作権の他、サービスプロバイダ５３から提供される利用者５５が利用可能なコンテンツデータの利用形態、および利用者５５によるコンテンツデータの購入履歴などを管理する。課金装置１３５は、コンテンツデータの使用権情報の料金情報を管理するとともに、利用者５５に対して、課金情報を通知する。
【００７４】
決済装置１３６は、課金装置１３５から決済処理の要求をうけて、決済処理を行う。具体的な決済方法としては、クレジットカードによる決済方法、プリペイド型の電子マネーによる決済方法などがある。なお、決済サーバ５８の使用権情報の発行処理については、図１９に示すフローチャートを参照して後述する。
【００７５】
図１０は、利用者５５が管理する端末５６の構成例を示すブロック図である。端末５６は、セットトップボックス１５１（以下、適宜、ＳＴＢ１５１と称する）、およびデータ再生装置１５２より構成される。
【００７６】
ＳＴＢ１５１は、ネットワーク２２を介して、サービスサーバ５４、および決済サーバ５８との間でデータの送受信を行う。データ再生装置１５２は、サービスサーバ５４から提供され、ＳＴＢ１５１が処理したコンテンツデータを再生する装置である。データ再生装置１５２は、例えば、テレビジョン受像機、パーソナルコンピュータなどの電子機器により構成される。
【００７７】
図１１は、セットトップボックス１５１（図１０）の構成例を示すブロック図である。ＳＴＢ１５１は、データ送受信ブロック１６１、コントローラ１６２、暗号化処理ブロック１６３、フラッシュメモリ１６４、および外部ＲＡＭ（Random Access Memory）１６５から構成される。
【００７８】
データ送受信ブロック１６１は、サービスサーバ５４から、ネットワーク２２を介して送信されるコンテンツデータおよびメタデータ、若しくは決済サーバ５８から送信されるコンテンツデータの使用権情報などを受信する。また、データ送受信ブロック１６１は、サービスサーバ５４に対するデータの送信要求、および決済サーバ５８に対する使用権情報を要求する情報などを送信するとともに、データ再生装置１５２に、処理結果を転送する。
【００７９】
コントローラ１６２は、ソフトウェアにより動作し、ＳＴＢ１５１全体の動作を制御する。暗号化処理ブロック１６３は、データ送受信ブロック１６１が受信するコンテンツデータおよびメタデータの復号関連処理を行う。
【００８０】
フラッシュメモリ１６４は、ＳＴＢ１５１の電源遮断後もデータを記憶している不揮発性のメモリである。フラッシュメモリ１６４には、各ブロックが処理するために必要なデータ、および各ブロックの処理結果が、適宜、記憶される。外部ＲＡＭ１６５は、暗号化処理ブロック１６３による処理結果、および他のブロックが分散処理を行った場合の分散処理結果を記憶する。
【００８１】
図１２は、暗号化処理ブロック１６３（図１１）の詳細な構成例を示すブロック図である。暗号化処理ブロック１６３は、入出力インタフェースブロック１８１、マイクロプロセッサ１８２、ＲＡＭ１８３、乱数生成ブロック１８４、フラッシュメモリ１８５、および暗号化処理部１８６より構成される。さらに、暗号化処理部１８６は、暗号化処理サブブロック１８７、ディジタル署名検証サブブロック１８８、およびハッシュ値計算サブブロック１８９より構成される。
【００８２】
入出力インタフェースブロック１８１は、データ送受信ブロック１６１（図１１）が受信したコンテンツデータおよびメタデータのうち、コントローラ１６２（図１１）により復号関連処理が必要であると判断され、暗号化処理ブロック１６３（図１１）に転送されるデータを受信する。入出力インタフェースブロック１８１は、コントローラ１６１から供給されるデータを、マイクロプロセッサ１８２に転送する。マイクロプロセッサ１８２は、暗号化処理ブロック１６３の全体の動作を制御する。
【００８３】
ＲＡＭ１８３は、マイクロプロセッサ１８２が処理をするのに必要なプログラムを記憶している。また、ＲＡＭ１８３には、マイクロプロセッサ１８２が処理した結果も、適宜、記憶される。
【００８４】
乱数生成ブロック１８４は、マイクロプロセッサ１８２からの指令により乱数を生成し、暗号化処理部１８６に供給する。乱数生成ブロック１８４が生成した乱数は、DES、RSAなどの暗号方式で暗号関連処理が施されたデータを、復号する場合の鍵として利用される。
【００８５】
フラッシュメモリ１８５は、不揮発性のメモリであり、内部に図示せぬコントローラを保持している。マイクロプロセッサ１８２において動作するソフトウエアの実行コード、復号関連処理に必要となる各種データ、購入したコンテンツデータの使用権情報などが記憶される。
【００８６】
暗号化処理部１８６は、コンテンツデータおよびメタデータの復号関連処理を行う。暗号化処理部１８６は、さらに、以下の機能を提供するサブブロックにより構成される。
【００８７】
暗号化処理サブブロック１８７は、DES、RSAなどの暗号化アルゴリズムにより暗号化されたコンテンツデータの復号処理を行う。ディジタル署名検証サブブロック１８８は、DSAなどによるディジタル署名アルゴリズムによりディジタル署名が付加されたコンテンツデータおよびメタデータのディジタル署名検証処理を行う。ハッシュ値計算サブブロック１８９は、ハッシュ関数による計算を行う。
【００８８】
図１３は、暗号化処理ブロック１６３が、コントローラ１６２等と送受信するデータのデータ形式を示す図である。コントローラ１６２は、暗号化処理ブロック１６３に対して、図１３のデータ形式のコマンドデータで処理を要求する。また、暗号化処理ブロック１６３は、コマンドデータに基づいて各ブロックを制御し、所定の処理を実行させるとともに、コマンドデータにより処理を要求したコントローラ１６２に対して、図１３のデータ形式のレスポンスデータで処理結果を送信する。
【００８９】
フィールド１は、データ種識別フィールドであり、コマンドデータ、またはレスポンスデータの種類が記述される。フィールド２は、データ番号フィールドであり、コマンドデータ、または、レスポンスデータの番号が記述される。フィールド３は、データ長フィールドであり、データフィールド４に記述されるデータの長さが記述される。
【００９０】
フィールド４は、データフィールドであり、コマンドデータとして処理を要求するデータ、またはレスポンスデータとして送信する処理結果のデータが記述される。以下、コマンドデータ、およびレスポンスデータについて説明する。
【００９１】
フィールド２のデータ番号フィールドに記述される番号が、１であるコマンド１は、ディジタル署名の検証処理の要求を表し、フィールド４のデータフィールドに記述されているデータに対して、暗号化処理ブロック１６３は、データが改竄されていないかを検証し、その処理結果をレスポンス１として、データ処理を要求したブロックに送信する。
【００９２】
コマンド２は、ディジタル署名の生成処理の要求を表し、暗号化処理ブロック１６３は、フィールド４のデータフィールドに記述されているデータに対して、ディジタル署名を付加したデータをレスポンス２として、データ処理を要求したブロックに送信する。
【００９３】
コマンド３は、暗号化されているデータの復号処理の要求を表し、暗号化処理ブロック１６３は、フィールド４のデータフィールドに記述されている暗号化されているデータに対して、復号処理を行い、復号したデータをレスポンス３として、データ処理を要求したブロックに送信する。
【００９４】
コマンド４は、暗号化処理の要求を表し、暗号化処理ブロック１６３は、フィールド４のデータフィールドに記述されているデータを暗号化し、暗号化したデータをレスポンス４として、データ処理を要求したブロックに送信する。
【００９５】
コマンド５は、ハッシュ値計算の要求を表し、ハッシュ値計算サブブロック１８９は、フィールド４のデータフィールドに記述されているデータ、およびアルゴリズムをもとに、ハッシュ関数による計算を行い、計算結果のデータをレスポンス５として、データ処理を要求したブロックに送信する。
【００９６】
コマンド６は、処理の停止要求を表し、このコマンドを受信した場合、暗号化処理ブロック１６３は、その時点で行っている処理を停止し、停止した旨の通知をレスポンス６として処理の停止を要求するブロックに送信する。
【００９７】
コマンド７は、使用権情報の送信要求を表し、このコマンドを受信した場合、暗化号処理ブロック１６３は、自らがフラッシュメモリ１８５に保持している使用権情報を暗号化して、決済サーバ５８にレスポンス７として送信する。
【００９８】
コマンド８は、外部装置または他のブロックから送信されるメッセージである。そのデータフィールドには、コンテンツデータの分散処理先である装置、コントローラ１６２などからメッセージが入力される。
【００９９】
レスポンス９は、暗号化処理ブロック１６３が、外部装置または他のブロックに対して送信するメッセージである。
【０１００】
以下、コンテンツプロバイダ５１が提供するコンテンツデータを、利用者５５が利用するまでの一連の処理についてフローチャートを参照して説明する。まず、図１４のフローチャートを参照して、コンテンツプロバイダ５１が管理するコンテンツサーバ５２（図６）の処理について説明する。
【０１０１】
ステップＳ４１において、データキャプチャ装置７１は、ビデオカメラ、およびオーディオレコーダなどから取り込んだアナログデータ、またはディジタルデータを、コンテンツサーバ５２の各装置が処理できるデータ形式に、ディジタル化処理や圧縮などの処理を行う。
【０１０２】
ステップＳ４２において、データ編集装置７２は、データキャプチャ装置７１から取得したデータから、コンテンツプロバイダ５１の指令に基づいて、利用者５５に提供するコンテンツデータを作成する。また、データ編集装置７２は、メタデータ生成装置７３が生成するメタデータをコンテンツデータに付加する。
【０１０３】
図１５は、メタデータ生成装置７３が生成するメタデータの構成について説明する図である。図１５（Ａ）のメタデータ１において、フィールド１には、コンテンツプロバイダ５１を特定するコンテンツプロバイダIDが“２”、メタデータ１に対応するコンテンツデータ（以下、適宜、コンテンツデータ１と称する。後述する他のメタデータが付加されるコンテンツデータの場合も同様とする）を特定するコンテンツIDが“１”、コンテンツデータ１の著作権の権利発生日時が“西暦２０００年１月１日”と、それぞれ記述されている。
【０１０４】
フィールド２には、利用者５５によるコンテンツデータ１の利用形態が記述される。ここでは、利用形態１としてストリーミング、利用形態２として買い取りが記述されている。ストリーミングによる利用形態は、端末５６において、サービスサーバ５４からコンテンツデータ１を受信しながらリアルタイムで再生する利用形態であり、利用回数が１回のみの利用形態である。買い取りによる利用形態とは、期間および利用回数が無制限である利用形態であり、端末５６に送信されたコンテンツデータ１は、端末５６に備えられている図示せぬ記録媒体に記録される。
【０１０５】
フィールド３には、コンテンツデータ１の利用形態毎の料金が記述される。ここでは、コンテンツデータ１を利用形態１のストリーミングにより利用した場合、料金は２０円とされ、コンテンツデータ１を利用形態２の買い取りにより利用した場合、料金は１００円とされている。利用者５５は、フィールド３に記述される料金に基づいて、決済センタ５７に対して使用権情報の代金を支払う。
【０１０６】
フィールド４には、コンテンツデータ１の形式的な情報が記述される。ここでは、コンテンツデータ１の総データ量は“５７．６MB”で、端末５６のデータ再生装置１５２で再生した場合の再生時間は“１０分”と記述されている。また、コンテンツデータ１は、“MP３(MPEG（Moving Picture Experts Group )-１ Audio Layer３）”の規格で圧縮されているオーディオデータであり、データ転送速度は、“１２８Kbps”と記述されている。
【０１０７】
フィールド５には、データ暗号化装置７４が、コンテンツデータおよびメタデータに施した暗号関連処理の情報が記述される。図１５（Ａ）に示した例では、ディジタル署名の生成アルゴリズムは“DSA”、コンテンツデータ１の暗号化アルゴリズムは“DES”、コンテンツデータ１の暗号化のデータ単位は“６４KB”と記述されている。暗号化のデータ単位は、１つの暗号化の鍵で連続して暗号化する場合のデータの大きさである。
【０１０８】
暗号化に利用した鍵は、さらに別の鍵（メタ鍵）で暗号化されており、メタ鍵は決済センタ５７に委託され、利用者５５が使用権情報を購入した場合、決済サーバ５８から使用権情報とともに、後述する使用権情報のデータ形式で、利用者５５に提供される。
【０１０９】
図１５（Ｂ）に示したメタデータ２において、フィールド１には、コンテンツプロバイダIDが“２”、コンテンツIDが“２”、著作権の権利発生日時が“西暦２０００年１月１日”として記述されている。
【０１１０】
フィールド２には、コンテンツデータ２の利用形態１としてストリーミング、利用形態２として買い取り、利用形態３として期間限定１年が記述されている。期間限定１年の利用形態とは、コンテンツデータ２が端末５６の図示せぬ記録媒体に記録された後、利用者５５は期間が１年間以内であれば、回数は無制限にコンテンツデータ２を利用することが可能な形態である。
【０１１１】
フィールド３には、コンテンツデータ２の料金が記述されている。料金は、利用形態１のストリーミングにより利用した場合は“２０円”とされ、利用形態２の買い取りによる利用の場合は“１００円”とされ、利用形態３の期間限定１年による利用の場合は“５０円”とされている。
【０１１２】
フィールド４には、コンテンツデータ２の総データ量として“３００MB”、再生時間として“１０分”と記述されている。また、コンテンツデータ２は、“MPEG-２”の規格で圧縮されているビデオデータであり、データの転送速度は“４Mbps”であるというデータも記述されている。フィールド５には、ディジタル署名の生成アルゴリズムは“DSA”、コンテンツデータの暗号化アルゴリズムは“DES”、暗号化のデータ単位は“２５６KB”と記述されている。
【０１１３】
図１４のフローチャートの説明に戻り、ステップＳ４３において、データ暗号化装置７４（図６）は、データ編集装置７２から転送されるコンテンツデータおよびメタデータに暗号関連処理を施す。
【０１１４】
すなわち、乱数生成ブロック９４（図７）は、暗号化鍵（コンテンツデータ用）として所定のビット数の乱数を生成し、暗号化処理サブブロック９６に供給する。暗号化処理サブブロック９６は、乱数生成ブロック９４が生成した乱数を暗号鍵としてコンテンツデータを暗号化するとともに、使用権情報に配置されて決済サーバ５８から端末５６に対して送信されるメタ鍵を使用して、暗号化鍵（コンテンツデータ用）をDESなどの共通鍵暗号方式で暗号化する。
【０１１５】
ハッシュ値計算サブブロック９８は、コンテンツサーバ５２が、サービスプロバイダ５３に対して送信するメタデータにハッシュ関数を適用してハッシュ値を算出する。ディジタル署名生成サブブロック９７は、予め保持する自身の秘密鍵を用いて、ディジタル署名を生成する。
【０１１６】
ステップＳ４４において、データ記憶装置７５は、データ暗号化装置７４により暗号関連処理が施されたデータを記憶し、必要に応じてデータ送信装置７６に出力する。ステップＳ４５において、データ送信装置７６は、サービスプロバイダ５３が管理するサービスサーバ５４にメタデータおよびコンテンツデータを送信する。
【０１１７】
図１６に、ステップＳ４５の処理により送信されるデータのフォーマットの例を示す。レイヤ１は、ステップＳ４２の処理により生成されたメタデータ、ステップＳ４３の処理により付加されたメタデータ用のディジタル署名、ステップＳ４３の処理で用いられた暗号化鍵（コンテンツデータ用）、並びにコンテンツデータにより構成される。コンテンツデータは、さらに、レイヤ２としての暗号化単位ブロックにより構成されている。暗号化単位ブロックは、コンテンツデータ１の場合６４KB毎のブロックとされ、コンテンツデータ２の場合２５６KB毎のブロックとされている。
【０１１８】
次に、図１７のフローチャートを参照して、サービスプロバイダ５３が管理するサービスサーバ５４（図８）の処理を説明する。ステップＳ６１において、データ送受信装置１１１は、コンテンツサーバ５２から、暗号関連処理が施されたコンテンツデータおよびメタデータを受信する。
【０１１９】
ステップＳ６２において、メタデータ生成装置１１３は、送信されてきたメタデータを確認し、元のデータを変更し、新たなメタデータを生成する。すなわち、このときデータ暗号化装置１１４は、予め取得したコンテンツプロバイダ５１の公開鍵を利用してディジタル署名（メタデータ用）（図１６）を復号する。そして、メタデータ生成装置１１３は、復号して得られたメタデータと、平文で送信されてきたメタデータを比較し、両者が一致していること、すなわち、メタデータが改竄されていないことを確認する。
【０１２０】
さらに、メタデータ生成装置１１３は、新たにメタデータを生成する。この新たに生成されるメタデータは、コンテンツサーバ５２が生成したメタデータ１（図１５（A））およびメタデータ２（図１５（B））のフィールド１およびフィールド３の内容を、サービスプロバイダ５３が利用者５５に通知する情報に書き換えたデータである。メタデータ３およびメタデータ４の内容は、サービスプロバイダ５３が決定する。
【０１２１】
図１８に、図１５に示されるコンテンツプロバイダ５１が生成したメタデータが、ステップＳ６２の処理で、メタデータ生成装置１１３により変更されることにより、生成されたメタデータの例を示す。図１５（Ａ）のメタデータ１を変更して生成された、図１８（Ａ）に示すメタデータ３においては、フィールド１に、サービスプロバイダ５３を特定するサービスプロバイダIDが“２”、コンテンツプロバイダ５１を特定するコンテンツプロバイダＩＤが“２”、コンテンツを特定するコンテンツＩＤが“１”、メタデータ３を作成した日時が“西暦２０００年１月２日”と、それぞれ記述されている。
【０１２２】
フィールド３に記述されている料金には、図１５（Ａ）に示すメタデータ１のフィールド３に記述されている料金に、サービスプロバイダ５３が利用者５５に対してコンテンツデータを送信する送信料が付加された料金とされている。図１８（Ａ）に示したメタデータ３においては、料金は、コンテンツデータをストリーミングの利用形態により利用する場合、コンテンツプロバイダ５１が受け取るコンテンツデータの料金に、サービスプロバイダ５３が受け取る送信料の１０円が付加されて“３０円”とされ、コンテンツデータを買い取りの利用形態により利用する場合、コンテンツプロバイダ５１が受け取るコンテンツデータの料金に、サービスプロバイダ５３が受け取る送信料の５０円が付加されて“１５０円”とされている。
【０１２３】
図１５（Ｂ）のメタデータ２が変更されることにより生成された、図１８（Ｂ）に示したメタデータ４においては、フィールド１には、サービスプロバイダIDが“２”、コンテンツプロバイダＩＤが“２”、コンテンツＩＤが“２”、メタデータ４を作成した日時が“西暦２０００年１月２日”と記述されている。
【０１２４】
フィールド３に記述される料金には、コンテンツデータの利用形態がストリーミングの場合、コンテンツプロバイダ５１が受け取るコンテンツデータの料金に、送信料の１０円が付加されて“３０円”とされ、利用形態が買い取りの場合、送信料の５０円が付加されて“１５０円”とされ、さらに利用形態が期間限定１年の場合は送信料の３０円が付加されて“８０円”とされている。
【０１２５】
ステップＳ６３において、データ暗号化装置１１４は、新たに生成したメタデータのハッシュ値を演算し、予め保持する自身の秘密鍵を用いて、新たなディジタル署名を生成し、ステップＳ６２の処理で生成された新たなメタデータに付加する。データ暗号化装置１１４の暗号関連処理は、コンテンツサーバ５２のデータ暗号化装置７４の処理と同様にして行われる。
【０１２６】
ステップＳ６４において、データ編集装置１１２は、サービスサーバ５４の各装置で処理されたデータを編集し、利用者５５に提供するコンテンツデータを作成する。このため、暗号化装置１１４は、送信されてきたコンテンツデータを暗号化鍵（コンテンツデータ用）で一旦復号する。その後のデータ編集装置１１２により行われる編集には、コンテンツサーバ５２から送信されたコンテンツデータに、ステップＳ６２の処理で生成されたメタデータを付加する処理、または、複数のコンテンツデータを統合し、１つのコンテンツデータにまとめて利用者５５に提供するアルバム化などの処理がある。編集後のコンテンツデータは、データ暗号化装置１１４により暗号化鍵（コンテンツデータ用）を用いて再び暗号化される。
【０１２７】
ステップＳ６５において、データ記憶装置１１６は、データ編集装置１１２で編集され、データ暗号化装置１１４により暗号化されたデータを記憶する。ステップＳ６６において、データ送受信装置１１１は、利用者５５が管理する端末５６から、メタデータの送信が要求されたか否かを判断し、メタデータの送信が要求されたと判断するまで待機状態を維持する。その後、データ送受信装置１１１が、メタデータの送信が要求されたと判断した場合、処理はステップＳ６７に進む。
【０１２８】
ステップＳ６７において、データ送受信装置１１１は、利用者５５が要求するコンテンツデータに対応するメタデータを、データ記憶装置１１６から取得し、ネットワーク２２を介して端末５６に送信する。データ送受信装置１１１が送信するメタデータを受信した端末５６のＳＴＢ１５１（図１６）は、メタデータに記述されている内容を確認し、コンテンツデータの復号関連処理の準備をする。ＳＴＢ１５１の詳細な処理については後述するが、その後、ＳＴＢ１５１からコンテンツデータの送信が要求されてくる。
【０１２９】
そこで、ステップＳ６８において、データ送受信装置１１１は、端末５６からコンテンツデータの送信が要求されたか否かを判断する。ステップＳ６８において、データ送受信装置１１１が、端末５６からコンテンツデータの送信が要求されたと判断した場合、ステップＳ６９に進み、データ送受信装置１１１は、データ記憶装置１１６に記憶されているコンテンツデータを、ネットワーク２２を介して端末５６に送信する。
【０１３０】
次に、決済センタ５７が管理する決済サーバ５８（図９）が、端末５６に対して行うコンテンツデータの使用権情報の発行処理について、図１９のフローチャートを参照して説明する。
【０１３１】
ステップＳ８１において、ライセンス装置１３２は、端末５６からコンテンツデータの使用権情報の購入が要求されたか否かを判断し、要求されたと判断するまで待機状態を維持する。ライセンス装置１３２が、端末５６から使用権情報の購入が要求されたと判断した場合、処理はステップＳ８２に進む。
【０１３２】
ステップＳ８２において、ライセンス装置１３２は、使用権情報の購入を要求している利用者５５が、サービスプロバイダ５３からコンテンツデータの提供を受ける契約をしているか否かを確認するため、端末５６のＳＴＢ１５１から送信される情報に基づいて、ＳＴＢ１５１は契約対象の機器であるか否かをユーザ管理装置１３３に問い合わせる。
【０１３３】
この問い合わせに応じて、ユーザ管理装置１３３は、自分自身が管理している契約情報から、使用権情報の購入を要求するＳＴＢ１５１が、契約対象の機器であるか否かを検索する。すなわち、このシステムでは、利用者５５は、コンテンツデータの提供を受ける前に、サービスプロバイダ５３と予め契約をする必要がある。契約情報は、サービスプロバイダ５３から決済センタ５７に供給され、ユーザ管理装置１３３に登録される。
【０１３４】
ステップＳ８３において、ライセンス装置１３２は、ステップＳ８２のユーザ管理装置１３３の検索結果を参照して、ＳＴＢ１５１は契約機器であるか否かを判断する。ステップＳ８３において、ライセンス装置１３２が、使用権情報の購入を要求しているＳＴＢ１５１は、契約対象の機器でないと判断した場合、端末５６に対して使用権情報を販売することができないことを通知し、処理を終了する。
【０１３５】
一方、ステップＳ８３において、ライセンス装置１３２が、使用権情報の購入を要求しているＳＴＢ１５１は、契約対象の機器であると判断した場合、ステップＳ８４に進み、ライセンス装置１３２は、データ送受信装置１３１からネットワーク２２を介してＳＴＢ１５１の暗号化処理ブロック１６３（図１１）と相互認証を行い、セッション鍵を共有する。
【０１３６】
ステップＳ８５において、ライセンス装置１３２は、相互認証が成立したか否かを判断し、相互認証が成立していないと判断した場合、処理は終了される。ステップＳ８５において、ライセンス装置１３２が、相互認証が成立したと判断した場合、ステップＳ８６に進み、ライセンス装置１３２は、ＳＴＢ１５１から送信される要求内容に基づいて、使用権情報の発行が可能であるか否かを著作権管理装置１３４に問い合わせる。
【０１３７】
ＳＴＢ１５１から送信される要求内容には、利用者５５が利用を希望するコンテンツデータのコンテンツID、コンテンツデータの利用形態、および使用権情報の代金の決済方法が含まれる。例えば、決済方法がクレジットカードによる決済の場合、クレジットカードのカード番号が、また、決済方法がプリペイドカード型の電子マネーによる決済の場合、プリペイドカードのカード番号が、それぞれ含まれる。ＳＴＢ１５１から送信される要求情報は、改竄などの不正処理を防ぐために、暗号化処理ブロック１６３により暗号化されてＳＴＢ１５１から送信される。
【０１３８】
ステップＳ８７において、ライセンス装置１３２は、ステップＳ８６で著作権管理装置１３４に問い合わせた結果を参照して、使用権情報の発行が可能であるか否かを判断する。ステップＳ８７において、ライセンス装置１３２が、使用権情報の発行ができないと判断した場合、端末５６に使用権情報の発行ができないことを通知し、処理を終了する。
【０１３９】
ステップＳ８７において、ライセンス装置１３２が、使用権情報の発行が可能であると判断した場合、ステップＳ８８に進み、ライセンス装置１３２は、課金装置１３５に対して課金処理を要求する。課金装置１３５は、ステップＳ８９において、自らが管理している料金情報から、利用者５５が要求する使用権情報の代金を取得し、決済装置１３６に対して決済処理の要求をするとともに、端末５６に対して課金情報を通知する。
【０１４０】
ステップＳ９０において、課金装置１３５から決済処理の要求を受けた決済装置１３６は、決済処理を行う。決済方法がクレジットカードによる決済の場合、決済装置１３６は、図示せぬクレジットカード会社の決済サーバに、使用権情報の購入を要求している利用者５５のユーザID、および課金装置１３５が取得した使用権情報の代金を通知し、クレジット会社の決済サーバから、決済が可能であるか否かのメッセージを受け取る。決済装置１３６は、メッセージの結果を課金装置１３５に通知する。
【０１４１】
利用者５５が要求する決済方法が、プリペイドカード型の電子マネーによる決済の場合、決済装置１３６は、利用者５５から通知されたカードIDと、自分自身が管理するプリペイドカードのカードIDを照合し、決済が可能であるか否かを判断する。決済装置１３６は、この判断結果を課金装置１３５に通知するとともに、決済が可能である場合、利用者５５が使用しているプリペイドカード型の電子マネーの残高情報を更新する。
【０１４２】
ステップＳ９１において、課金装置１３５は、決済装置１３６から通知される情報により、決済が成立したか否かを判断する。ステップＳ９１において、決済は成立されていないと判断された場合、課金装置１３５は、決済が成立していないことを利用者５５に通知し、処理を終了する。
【０１４３】
ステップＳ９１において、課金装置１３５が、決済は成立したと判断した場合、ライセンス装置１３２に決済が成立したことを通知する。このときステップＳ９２の処理として、ライセンス装置１３２は、使用権情報をセッション鍵で暗号化し、ネットワーク２２を介して端末５６に送信する。送信された使用権情報は、ＳＴＢ１５１の暗号化処理ブロック１６３によりセッション鍵が用いられて復号される。
【０１４４】
図２０は、使用権情報の例を示す図である。この使用権情報の例では、フィールド１には、利用者５５に対してコンテンツデータの使用権情報の発行を許可するコンテンツプロバイダ５１のIDが“２”、利用が許可されたコンテンツデータのコンテンツIDが“１”、および使用権の権利発生日時が“西暦２０００年１月２日”と記述されている。
【０１４５】
フィールド２には、コンテンツプロバイダ５１により許可された利用形態がストリーミングであることが記述されており、フィールド３には、そのストリーミングによる利用形態の料金が“３０円”と記述されている。
【０１４６】
フィールド４には、メタ鍵が配置されている。通常、利用が許可されたコンテンツデータを復号するための鍵（暗号化鍵（コンテンツデータ用）（図１６））は暗号化されており、メタ鍵はその暗号化鍵（コンテンツデータ用）を復号して取得するための鍵である。
【０１４７】
フィールド５には、使用権情報全体のディジタル署名が付加される。使用権情報は、ＳＴＢ１５１の暗号化処理ブロック１６３により、そのディジタル署名の検証が行われた後、暗号化処理ブロック１６３の内部に配置されているフラッシュメモリ１８５に記憶される。記憶された使用権情報は、コンテンツデータの復号関連処理において、適宜、利用される。
【０１４８】
次に、使用権情報を取得した後のＳＴＢ１５１（図１１）の処理について、図２１と図２２のフローチャートを参照して説明する。ステップＳ１０１において、利用者５５からの指令に基づいてＳＴＢ１５１のコントローラ１６２は、サービスサーバ５４に対して、使用権情報を購入したコンテンツデータに対応するメタデータの送信を要求する。
【０１４９】
ステップＳ１０２において、データ送受信ブロック１６１は、サービスサーバ５４から送信されたメタデータを、ネットワーク２２を介して受信する。ステップＳ１０２で受信されたメタデータは、図１８に示したメタデータ３またはメタデータ４である。コントローラ１６２は、受信されたメタデータには、ディジタル署名が付加されているため、ディジタル署名の検証が必要であると認識する。そこで、コントローラ１６２は、メタデータを暗号化処理ブロック１６３に転送する。
【０１５０】
ステップＳ１０３において、暗号化処理ブロック１６３のマイクロプロセッサ１８２（図１２）は、転送されてきたメタデータのディジタル署名を検証し、メタデータの正当性を判断する。
【０１５１】
すなわち、ハッシュ値計算サブブロック１８９は、平文で送られてきたメタデータにハッシュ関数を適用してハッシュ値を演算する。暗号化処理サブブロック１８７は、フラッシュメモリ１８５に記憶されているサービスプロバイダ５３の公開鍵を用いてディジタル署名を復号し、そこに含まれるハッシュ値を得る。
【０１５２】
ディジタル署名検証サブブロック１８８は、ハッシュ値計算サブブロック１８９が、転送されたメタデータの全文からハッシュ関数を利用して算出したハッシュ値と、暗号化処理サブブロック１８７により復号されたハッシュ値を比較することにより、ディジタル署名を検証する。
【０１５３】
なお、ハッシュ値計算サブブロック１８９が利用するハッシュ関数は、コンテンツサーバ５２のハッシュ値計算サブブロック９８や、サービスサーバ５４のデータ暗号化装置１１４が利用するハッシュ関数と同一の関数である。
【０１５４】
マイクロプロセッサ１８２は、ディジタル署名検証サブブロック１８８が検証した結果を取得し、不正処理の有無を判断する。ステップＳ１０４において、マイクロプロセッサ１８２は、メタデータが正常なデータ（改竄されていないデータ）であるか否かを判断し、不正処理を認識した場合（ハッシュ値が一致しない場合）、コントローラ１６２に通知する。コントローラ１６２は、不正処理の存在を利用者５５に通知し、処理を終了する。
【０１５５】
一方、ステップＳ１０４において、マイクロプロセッサ１８２により、メタデータが正常なデータであることが確認された場合、ステップＳ１０５に進み、マイクロプロセッサ１８２は、受信したメタデータの内容を、決済センタ５７から購入し、フラッシュメモリ１８５に記憶されている使用権情報の内容と比較する。この処理により、データ送受信ブロック１６１が受信したメタデータは、利用者５５が使用権情報を購入し、サービスサーバ５４に送信を要求するコンテンツデータに対応するメタデータであるか否かがマイクロプロセッサ１８２により判断される。
【０１５６】
ステップＳ１０６において、ステップＳ１０５でマイクロプロセッサ１８２が比較した結果が参照され、マイクロプロセッサ１８２により、メタデータの正当性が確認されたか否かが判断される。ステップＳ１０６において、マイクロプロセッサ１８２が、メタデータの内容は使用権情報の内容と一致せず、正当性が確認できないと判断した場合、コントローラ１６２に、その旨を通知する。コントローラ１６２は、利用者５５に対してメタデータに不正処理が存在していることを通知し、処理を終了する。
【０１５７】
ステップＳ１０６において、マイクロプロセッサ１８２が、メタデータの内容と使用権情報の内容を比較することにより、メタデータの正当性が確認された場合、ステップＳ１０７に進む。ステップＳ１０７において、マイクロプロセッサ１８２は、コンテンツデータの復号化処理を行うために必要となるデータ（復号化関連データ）の種類と容量を確定する。必要となるデータの種類は、暗号化処理ブロック１６３に記憶されており、それらの記憶されているデータの内、コンテンツの復号化のためにワークＲＡＭを利用する必要のあるデータは、メタ鍵、コンテンツ鍵（暗号化された状態）、コンテンツ鍵（復号化された状態）、および暗号化されたコンテンツデータ（暗号化されたデータ単位）である。
【０１５８】
これらのデータのうち、メタ鍵のサイズは8バイト、コンテンツ鍵のサイズは8バイトであることは予め定められいるが、コンテンツデータの暗号化単位は、メタデータから取得される。図１８に示したメタデータ3の場合、コンテンツデータの暗号化単位は64Kバイトであることがわかり、結果として、コンテンツデータの暗号化単位用に64Kバイト、メタ鍵用に8バイト、コンテンツ鍵（暗号化された状態）用に8バイト、コンテンツ鍵（復号化された状態）用に8バイト必要であると確定される。
【０１５９】
ステップＳ１０８において、マイクロプロセッサ１８２は、ステップＳ１０７のしょりにおいて確定された復号化関連データのプライオリティ（暗号的優先度）を算出する。プライオリティは値が小さいほど高いものとする。コンテンツのプライオリティはデータ毎にあらかじめ定量化され暗号化処理ブロック１６３に記憶されている。本実施の形態の各データのプライオリティは、メタ鍵が“１”、コンテンツ鍵（暗号化された状態）が“３”、コンテンツ鍵（復号化された状態）が“２”、コンテンツデータの暗号化単位が“４”と、それぞれ記憶されている。
【０１６０】
ステップＳ１０９において、マイクロプロセッサ１８２は、復号化関連データのワークＲＡＭへの実際の配置を決定する。本実施の形態の場合、受信側のセットトップボックス１５１には、汎用のワークＲＡＭである外部ＲＡＭ１６５、汎用の記憶領域であるフラッシュメモリ１６４、暗号化処理ブロック１６３内の専用のワークＲＡＭであるＲＡＭ１８３、専用の記憶領域であるフラッシュメモリ１８５を持つ。それぞれの容量は、外部ＲＡＭ１６５が１６MByte、フラッシュメモリ１６４が１MByte、ＲＡＭ１８３が１２８K Byte、フラッシュメモリ１８５が１KByteであるとする。
【０１６１】
また、ワークＲＡＭのプライオリティはＲＡＭ１８３が１、外部ＲＡＭ１６５が２であるとし、その値が小さいほどプライオリティが高いものとする。本実施の形態では、復号関連データのワークＲＡＭ必要容量が、プライオリティの一番高いワークＲＡＭであるＲＡＭ１８３の容量１２８Kバイトに満たないため、すべてのデータをＲＡＭ１８３に配置することを決定し、暗号処理ブロック１８６に通知する。
【０１６２】
ステップＳ１１０（図２２）において、マイクロプロセッサ１８２は、入出力インタフェースブロック１８１を介してコンテンツデータの送信要求をサービスサーバ５４に出す。ステップＳ１１１において、マイクロプロセッサ１８２は、入出力インタフェースブロック１８１を介してコンテンツデータを受信する。受信されたデータは、ステップ１０９における処理による決定に従ってＲＡＭ１８３に配置される。配置されるにあたりデータは、ハッシュ値が計算される。
【０１６３】
ステップＳ１１２において、受信されたコンテンツデータの復号化処理が行われる。本実施の形態では、受信データは、すべてＲＡＭ１８３に配置され、暗号処理ブロック１８６により順次復号化される。復号化されたデータは、本実施の形態では、特に暗号化関連データとして保護の指定が行われていないため外部ＲＡＭ１６５に置かれる。
【０１６４】
ステップＳ１１３において、ＲＡＭ１８３に配置されたデータのチェックのためハッシュ値が計算され、ステップＳ１１１の処理で計算されたハッシュ値と比較される。仮に、これらの値が異なっていれば、処理データに異常が生じたものとして、マイクロプロセッサ１８２は、処理を中止する。
【０１６５】
ステップＳ１１３において、マイクロプロセッサ１８２はデータの復号化処理が最後まで終了したか否かを判断する。ステップＳ１１３において、最後のデータまで処理が終了したと判断された場合、図２１，２２に示したフローチャートの処理は終了される。
【０１６６】
次に、サービスサーバ５４から送信されるコンテンツデータに、図１８（Ｂ）に示したメタデータ４が対応付けられている場合のマイクロプロセッサ１８２の処理について説明する。
【０１６７】
メタデータ以外の条件に関しては、図１８（Ａ）に示したメタデータ３の場合と同様である。メタデータ４の場合、ステップＳ１０９において、マイクロプロセッサ１８２が、復号関連データのワークＲＡＭ上の配置を決定する段階で、コンテンツデータの暗号化単位が２５６Kバイトのためプライオリティの１番低いコンテンツデータの暗号化単位は、プライオリティ２の外部ＲＡＭ１６５に配置されるように決定する。この決定の結果は、ステップＳ１１１における処理に反映される。
【０１６８】
また、ステップＳ１１１において外部ＲＡＭ１６５に配置された暗号化データのハッシュ値が計算され、ステップＳ１１３においてデータの改竄などの不正アクセスが生じなかったか否かが判断される。このようにして、メタデータ４に対応したコンテンツデータの復号化処理も実行される。
【０１６９】
以下、暗号処理関連データのメモリ配置をデータのプライオリティに従って最適化する場合の別の例を挙げて説明する。本実施の形態において、暗号化関連データとしては、セットトップボックス１５１自体の公開鍵（以下、データ１）、秘密鍵ペア（以下、データ２）、ＣＡの公開鍵（以下、データ３）、サービスプロバイダの公開鍵（以下、データ４）、課金情報（以下、データ５）、利用者のプロファイルなどのプライベートデータ（以下、データ６）、購入履歴データ（以下、データ７）、およびコンテンツのメタ鍵（以下、データ８）がある。
【０１７０】
データ１，２はコンテンツの課金情報のサービスセンタへの送付時にディジタル署名の生成などに用いられ、データサイズは、それぞれ１６バイトとする。またデータのプライオリティは、１とする。データ３は、公開鍵暗号方式の暗号処理を行う場合の認証局の公開鍵データでデータサイズは、１６バイトとする。またデータのプライオリティは、３とする。
【０１７１】
データ４は、コンテンツを提供するサービスプロバイダ５３の公開鍵データでデータサイズは１６バイトとする。また、データのプライオリティは４とする。データ５は、利用者が、実際に購入したデータの履歴情報でデータサイズは１履歴あたり３２バイトとする。また、データのプライオリティは、２とする。
【０１７２】
データ６は、利用者の生年月日などのプロファイルデータでデータサイズは２５６バイトとする。また、データのプライオリティは、４とする。データ７は、利用者が、実際に、どのコンテンツを購入したかを記述した情報であり、データサイズは１６バイトである。また、データのプライオリティは、２とする。データ８は、購入したコンテンツを視聴するためにコンテンツを復号化するための鍵データで、データサイズは、８バイトとする。また、データのプライオリティは、２とする。
【０１７３】
図２３は、データ１乃至８の、フラッシュメモリへの配置方法について説明する図である。ここでは、ＳＴＢ１５１（図１１）を例に挙げて説明する。ＳＴＢ１５１が備えるフラッシュメモリのうち、暗号化処理ブロック１６３内に内蔵されているフラッシュメモリであるフラッシュメモリ１８５は、１KByte(1024Byte)であり、暗号化処理ブロック１６３に対して外部に備えられているフラッシュメモリであるフラッシュメモリ１６４が、１Mbyteであるとする。
【０１７４】
図２３に示したように、各データを記録する領域のことをエリアと称し、データ１乃至８が、それぞれエリア１乃至８に、それぞれ記録されるものとする。各エリア１乃至８の容量は、状況に応じて変化する。
【０１７５】
コンテンツがまったく購入されていない状態（最初の状態）では、図２３（Ａ）のように、データエリア乃至３は、それぞれ１６Byteのデータ１が１個分、データエリア４は、１６Byteのデータ４が５個分、データエリア５は、３２Byteのデータ５が１１個分、データエリア６は、２５６Byteのデータ６が１個分、データエリア７は、１６Byteのデータ７が１１個分、および、データエリア８は、８Byteのデータ８が１１個分、それぞれ確保されている。なお、データエリア５，７，８は、１コンテンツの購入に対して、それぞれ１つずつ生成される。
【０１７６】
１１個のコンテンツが既に購入され、１２個目のコンテンツが購入される処理が行われる場合を例に挙げて説明する。この場合、データエリア５，７，８は、予め確保されているエリアが１１個分であるため、既に購入済の１１個のコンテンツのデータで占められている。また、図２３（Ａ）に示した状態において、フラッシュメモリ１８５内で、データエリア１乃至８として確保されていない残りの容量は、２４Byteである。１つのコンテンツが購入されることにより記憶させなくてはならないデータとしては、データ５，７，８が考えられ、これらのデータの総量は、５６Byte（＝３２＋１６＋８）である。
【０１７７】
従って、余っている容量２４Byteでは、新たに購入されるコンテンツの、少なくとも５６Byteのデータを記憶させることができないため、マイクロプロセッサ１８２は、暗号化処理ブロック１６３に対して、外付けのフラッシュメモリ１６４へ、暗号化処理ブロック１６３に内蔵されているフラッシュメモリ１８５に記憶されているデータの一部を割り当てる必要が生じる。
【０１７８】
この際、マイクロプロセッサ１８２は、記録されいているデータと、新たに購入されるコンテンツの記憶されるデータのプライオリティを比較する。その結果、プライオリティの最も低いデータ４またはデータ６を、外付けのフラッシュメモリ１６４へ割り当てることを決定する。
【０１７９】
１つのコンテンツの購入にあたり、データ５，７，８のトータルの増加分は５６Byteなので、データエリア４を、フラッシュメモリ１６４へ割り当て直すことで、記憶させるデータの容量を確保することができる。このため、マイクロプロセッサ１８２は、データエリア４をフラッシュメモリ１６４へ割り当て、フラッシュメモリ１８５のエリア５，７，８を、それぞれ１データ分、記録領域を拡大するよう決定する。フラッシュメモリ１６４へ記録されるデータ４は、データのハッシュ値が計算された上、記録される。このような処理により、データの配置は、図２３（Ｂ）に示すように変化される。
【０１８０】
この例では、データエリア４のみが、フラッシュメモリ１６４に割り当てられたが、データエリア６を変わりに割り当てられるようにしても良いし、データエリア４，６の両方が割り当てられるようにしてもよい。更に、データエリア4のようにデータの数を減らすことのできるデータの場合、記憶されているデータの数を減らすことにより対応してもよい。
【０１８１】
なお、本発明は、上述した実施の形態に限られるものではなく、ディジタルデータを処理する様々な装置（コンテンツデータ以外のデータを処理する装置）に適用可能である。上述した実施の形態においては、コンテンツデータ等の復号化処理にあたってのメモリとして、ＳＴＢ１５１の内部に配置されている、フラッシュメモリ１６４や、ＳＴＢ１５１内のさらに暗号化処理ブロック１６３内のフラッシュメモリ１８５を用いたが、IEEE（The Institute of Electrical and Electronics Engineer,Inc）１３９４などの通信インタフェースを介してデータを送受信することが可能である場合、外部の装置に配置されているメモリを利用することもできる。
【０１８２】
また、上述した実施の形態としては、受信されたデータの優先度を判断するのに、そのデータの関連情報としてのデジタル署名や暗号化情報を用いたが、他の関連情報を基に、優先度を決定するようにしても良い。例えば、予め受信側と送信側で一定のルールを設定しておき、そのルールに従って、優先度が決定されるような関連情報を設定し、用いるようにしても良い。
【０１８３】
ルールとしては、例えば、情報Ａを受信したときには、その情報Ａの優先度は優先度１とするといったようなものである。このようなルールに基づき、優先度を決定する場合、データに関連する関連情報として、例えば、データのヘッダなどに記載されている内容から、そのデータがどのような種類のものかを判断すれば良く、通常、データの関連情報として付加されている既存の情報を用いることができる。また、新たにルールに基づく判断を行える情報を追加したとしてもその情報は、少ない情報ですむ。すなわち、送信側、受信側において、優先度の決定にかかわる処理の負担を少なくすることが可能となる。
【０１８４】
上述したように、プライオリティの高い、すなわち、重要度の高いデータを、他のプライオリティの低いデータより優先的に、安全度の高い記憶領域、例えば、チップに内蔵されている記憶領域に記憶させるようにすることにより、重要なデータの改竄などを防ぐことが可能となる。
【０１８５】
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータや、ＳＴＢ１５１などに、記録媒体からインストールされる。
【０１８６】
図２４は、一連の処理を実行するソフトウェアがインストールされるパーソナルコンピュータ２０１の構成例を示している。パーソナルコンピュータ２０１は、CPU(Central Processing Unit)２１１を内蔵している。CPU２１１にはバス２１４を介して、入出力インタフェース２１５が接続されている。
【０１８７】
入出力インタフェース２１５には、キーボード、マウスなどの入力デバイスよりなる入力部２１６、処理結果としての例えば音声信号を出力する出力部２１７、処理結果としての画像を表示するディスプレイなどよりなる表示部２１８、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部２１９、LAN(Local Area Network)やインタネットを介してデータを通信するモデムなどよりなる通信部２２０、および、磁気ディスク２３１（フロッピディスクを含む）、光ディスク２３２（ＣＤ-ＲＯＭ(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク２３３（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリ２３４などの記録媒体に対してデータを読み書きするドライブ２２１が接続されている。バス２１４には、ＲＯＭ(Read Only
Memory)２１２およびＲＡＭ２１３も接続されている。
【０１８８】
一連の処理を実行するソフトウェアは、磁気ディスク２３１、光ディスク２３２、光磁気ディスク２３３、および半導体メモリ２３４に格納された状態でパーソナルコンピュータ２０１に供給され、ドライブ２２１によって読み出されて、記憶部２１９に内蔵されるハードディスクドライブにインストールされる。記憶部２１９にインストールされているエージェントプログラムは、入力部２１６に入力されるユーザからのコマンドに対応するCPU２１１の指令によって、記憶部２１９からＲＡＭ２１３にロードされて実行される。
【０１８９】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９０】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１９１】
【発明の効果】
以上の如く本発明の一側面によれば、低コストで、且つ、機能変更が容易な、迅速にデータを処理することができる装置の実現と高度なデータ保護機能の両立を実現させることが可能となる。
【図面の簡単な説明】
【図１】従来の復号LSIの構成例を示すブロック図である。
【図２】本発明を適用したデータ処理システムの構成例を示すブロック図である。
【図３】データ送信装置の処理を説明するフローチャートである。
【図４】データ受信装置の処理を説明するフローチャートである。
【図５】本発明を適用したコンテンツ配信システムの概念を示す図である。
【図６】コンテンツサーバの構成例を示すブロック図である。
【図７】データ暗号化装置の詳細な構成例を示すブロック図である。
【図８】サービスサーバの構成例を示すブロック図である。
【図９】決済サーバの構成例を示すブロック図である。
【図１０】端末の構成例を示すブロック図である。
【図１１】セットトップボックスの構成例を示すブロック図である。
【図１２】暗号化処理ブロックの詳細な構成例を示すブロック図である。
【図１３】暗号化処理ブロックが送受信するデータ形式の例を示す図である。
【図１４】コンテンツサーバの処理を説明するフローチャートである。
【図１５】コンテンツサーバが生成するメタデータの例を示す図である。
【図１６】コンテンツサーバが送信するデータのフォーマットの例を示す図である。
【図１７】サービスプロバイダの処理を説明するフローチャートである。
【図１８】サービスサーバが生成するメタデータの例を示す図である。
【図１９】決済サーバの使用権情報の発行処理を説明するフローチャートである。
【図２０】使用権情報の例を示す図である。
【図２１】セットトップボックスの処理を説明するフローチャートである。
【図２２】図２２の続きのフローチャートである。
【図２３】データ配置のフォーマットの例を説明する図である。
【図２４】パーソナルコンピュータの構成例を示すブロック図である。
【符号の説明】
２１  データ送信装置，  ２２  ネットワーク，  ２３  データ受信装置，  ４１  データ受信部，  ４２  データ処理判断部，  ４３  復号処理部，  ４４計算部，  ４５  データ記憶部，  ５６  利用者の端末，  １５１  セットトップボックス，  １５２  データ再生装置，  １６１  データ送受信ブロック，１６２  コントローラ，  １６３  暗号化処理ブロック，  １６４  フラッシュメモリ，  １６５  外部ＲＡＭ，  １８１  入出力インタフェースブロック，１８２  マイクロプロセッサ，  １８３  ＲＡＭ，  １８４  乱数生成ブロック，  １８５  フラッシュメモリ，  １８６  暗号化処理部，  １８７  暗号化処理サブブロック，  １８８  ディジタル署名検証サブブロック，  １８９  ハッシュ値計算サブブロック
【図１】
0004734750.tif 000002
【図２】
0004734750.tif 000003
【図３】
0004734750.tif 000004
【図４】
0004734750.tif 000005
【図５】
0004734750.tif 000006
【図６】
0004734750.tif 000007
【図７】
0004734750.tif 000008
【図８】
0004734750.tif 000009
【図９】
0004734750.tif 000010
【図１０】
0004734750.tif 000011
【図１１】
0004734750.tif 000012
【図１２】
0004734750.tif 000013
【図１３】
0004734750.tif 000014
【図１４】
0004734750.tif 000015
【図１５】
0004734750.tif 000016
【図１６】
0004734750.tif 000017
【図１７】
0004734750.tif 000018
【図１８】
0004734750.tif 000019
【図１９】
0004734750.tif 000020
【図２０】
0004734750.tif 000021
【図２１】
0004734750.tif 000022
【図２２】
0004734750.tif 000023
【図２３】
0004734750.tif 000024
【図２４】
0004734750.tif 000025