以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。したがって、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
請求項1に記載の情報処理システムは、第1の情報処理装置(例えば、図1のメタデータサーバ4)は、コンテンツ(例えば、図1のコンテンツ11)に関するメタデータ(例えば、図1のメタデータ21)を利用するために必要な権利情報を表すメタデータ利用条件(例えば、図1のメタデータライセンス22)を、第2の情報処理装置に送信する送信手段(例えば、図2の通信部39)を備え、第2の情報処理装置(例えば、図1のユーザ端末1−1)は、第1の情報処理装置から、メタデータ利用条件を受信する受信手段と、受信手段により受信されたメタデータ利用条件に含まれるセキュリティレベルに応じた所定の領域に、暗号化されたメタデータを復号する復号手段(例えば、図4のメタデータ復号部211)と、コンテンツの検索要求に基づいて、復号手段により所定の領域に復号されたメタデータを用いて、セキュリティレベルに応じたコンテンツの検索処理を実行する検索処理手段(例えば、図4のメタデータ検索部213)と、検索処理手段によるコンテンツの検索結果を出力する出力手段(例えば、図19のステップS90の処理を実行する図4のメタデータ表示制御部214)とを備えることを特徴とする。
請求項3に記載の情報処理装置は、他の情報処理装置(例えば、図1のメタデータサーバ4)から、コンテンツ(例えば、図1のコンテンツ11)に関するメタデータ(例えば、図1のメタデータ21)を利用するために必要な権利情報を表すメタデータ利用条件(例えば、図1のメタデータライセンス22)を受信する受信手段(例えば、図3の受信部101)と、受信手段により受信されたメタデータ利用条件に含まれるセキュリティレベルに応じた所定の領域に、暗号化されたメタデータを復号する復号手段(例えば、図4のメタデータ復号部211)と、コンテンツの検索要求に基づいて、復号手段により所定の領域に復号されたメタデータを用いて、セキュリティレベルに応じたコンテンツの検索処理を実行する検索処理手段(例えば、例えば、図19のステップ83の処理を制御する図4の利用条件判定処理部202)と、検索処理手段によるコンテンツの検索結果を出力する出力手段(例えば、図19のステップS90の処理を実行する図4のメタデータ出力制御部214)とを備えることを特徴とする。
請求項5に記載の情報処理装置は、検索処理手段は、コンテンツの検索要求に基づいて、復号手段により所定の領域に復号されたメタデータに、セキュリティレベルに応じた処理を実行するメタデータ処理手段(例えば、例えば、図23のステップ181の処理を制御する図4の利用条件判定処理部202)と、メタデータ処理手段によりメタデータ利用条件に応じた処理が実行されたメタデータを用いて、コンテンツを検索する検索手段(例えば、図23のステップS183の処理を実行する図4のメタデータ検索部213)とを備えることを特徴とする。
請求項6に記載の情報処理装置は、コンテンツの再生要求に基づいて、コンテンツ(例えば、図1のコンテンツ11)を利用するために必要な権利情報を表すコンテンツ利用条件(例えば、図4のコンテンツ利用条件151)に基づいて、コンテンツが再生可能であるか否かを判定する再生判定手段(図4の利用条件判定処理部222)と、再生判定手段によりコンテンツが再生可能であると判定された場合、コンテンツを復号し、再生する再生手段(例えば、図4のコンテンツ復号部234)とをさらに備えることを特徴とする。
請求項7に記載の情報処理方法は、他の情報処理装置(例えば、図1のメタデータサーバ4)から、コンテンツ(例えば、図1のコンテンツ11)に関するメタデータ(例えば、図1のメタデータ21)を利用するために必要な権利情報を表すメタデータ利用条件(例えば、図1のメタデータライセンス22)を受信する受信ステップ(例えば、図18のステップS41)と、受信ステップの処理により受信されたメタデータ利用条件に含まれるセキュリティレベルに応じた所定の領域に、暗号化されたメタデータを復号する復号ステップ(例えば、図18のステップS45)と、コンテンツの検索要求に基づいて、復号ステップの処理により所定の領域に復号されたメタデータを用いて、セキュリティレベルに応じたコンテンツの検索処理を実行する検索処理ステップ(例えば、図19のステップS83)と、検索処理ステップの処理によるコンテンツの検索結果を出力する出力ステップと(例えば、図19のステップS90)を含むことを特徴とする。
なお、請求項8に記載の記録媒体および請求項9に記載のプログラムは、上述した請求項7に記載の情報処理方法と基本的に同様の構成であるため、繰り返しになるのでその説明は省略する。
以下、図を参照して本発明の実施の形態について説明する。
図1は、本発明を適用したコンテンツ提供システムの構成例を表している。インターネットに代表されるネットワーク2には、パーソナルコンピュータなどにより構成されるユーザ端末1−1,1−2(以下、これらのユーザ端末を個々に区別する必要がない場合、単にユーザ端末1と称する)が接続されている。この例においては、ユーザ端末が2台のみ示されているが、ネットワーク2には、任意の台数のユーザ端末が接続される。
また、ネットワーク2には、コンテンツサーバ3およびメタデータサーバ4が接続されている。これらのコンテンツサーバ3およびメタデータサーバ4も、任意の台数、ネットワーク2に接続される。
コンテンツサーバ3には、図示せぬコンテンツプロバイダにより、著作権保護を必要とするコンテンツ11、および、そのコンテンツ11を利用するために必要なコンテンツ利用条件が含まれるコンテンツライセンス12が記憶される。コンテンツサーバ3は、ユーザ端末1に対して、コンテンツ11およびコンテンツライセンス12を、ネットワーク2を介して提供する。コンテンツ利用条件は、例えば、対象となる対象コンテンツの「コンテンツID(識別子)」、対象コンテンツを利用するための「権利付与の対象者(ユーザ、グループ)」、並びに、対象コンテンツに対して許可される操作、期限、および回数などの「権利行使の条件」などからなる。
メタデータサーバ4には、図示せぬメタデータプロバイダにより、コンテンツサーバ3から提供されるコンテンツに関するメタデータ21、および、そのメタデータを利用するために必要なメタデータ利用条件が含まれるメタデータライセンス22が記憶される。メタデータサーバ4は、ユーザ端末1に対して、記憶されているメタデータ21およびメタデータライセンス22を、ネットワーク2を介して提供する。
メタデータ21は、コンテンツのリリースや放送形態に依存しないコンテンツに関する一般的な情報(例えば、コンテンツのタイトルや内容、ジャンルなどの情報)であり、コンテンツの内容を検索するために用いられる。メタデータ利用条件は、例えば、対象となる対象メタデータの「メタデータID(識別子)」、対象メタデータを利用するための「権利付与の対象者(ユーザ、グループ)」、並びに、対象メタデータに対して許可される操作、期限、回数、および、対象メタデータを処理するユーザ端末1におけるセキュリティレベルなどの「権利行使の条件」などからなる。
ユーザ端末1は、メタデータサーバ4からのメタデータ21およびメタデータライセンス22を受信すると、メタデータライセンス22のメタデータ利用条件に応じて、受信したメタデータ21の暗号を解除し、展開する。また、ユーザ端末1は、ユーザよりコンテンツの検索要求があった場合、メタデータ利用条件に応じて、展開されているメタデータ21を用いて、検索要求されたコンテンツ11を検索する。そして、ユーザ端末1は、検索されたコンテンツ11に対して、ユーザの再生要求があった場合、コンテンツライセンス12のコンテンツ利用条件に応じて、要求されたコンテンツ11の暗号を解除し、再生する。
以上のように、図1のコンテンツ提供システムにおいては、ユーザ端末1には、コンテンツライセンス12とは別に、メタデータ21を利用するために必要なメタデータライセンス22が提供され、メタデータ21は、メタデータライセンス22に基づいて処理され、コンテンツ11は、コンテンツライセンス12に基づいて処理される。
なお、図1の例においては、コンテンツ11とコンテンツライセンス12をコンテンツサーバ3から提供し、メタデータ21とメタデータライセンス22をメタデータサーバ4から提供するようにしたが、コンテンツ11、コンテンツライセンス12、メタデータ21、およびメタデータライセンス22の提供方法は、図1の例に限らず、すべてを同じサーバから提供するようにしてもよいし、それぞれ別のサーバから提供するようにしてもよい。
また、ユーザ端末1は、パーソナルコンピュータで構成することができることはもちろん、例えば、携帯電話機その他のPDA(Personal Digital Assistant)機器や、AV(Audio Visual)機器や家電(家庭用電化製品)などのCE(Consumer Electronics)機器などで構成することもできる。
図2は、ユーザ端末1のハードウェア構成例を表している。図2においては、ユーザ端末1は、例えばコンピュータをベースに構成されている。
CPU(Central Processing Unit)31は、ROM(Read Only Memory)32に記憶されているプログラム、または記憶部38からRAM(Random Access Memory)33にロードされたプログラムに従って各種の処理を実行する。RAM33にはまた、CPU31が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU31、ROM32、およびRAM33は、バス34を介して相互に接続されている。このバス34にはまた、入出力インタフェース35も接続されている。
入出力インタフェース35には、キーボード、マウスなどよりなる入力部36、CRT(Cathode Ray Tube)、LCD(Liquid Crystal Display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部37、ハードディスクなどより構成される記憶部38、モデム、ターミナルアダプタなどより構成される通信部39が接続されている。通信部39は、ネットワーク2を介しての通信処理を行う。
入出力インタフェース35にはまた、必要に応じてドライブ40が接続され、磁気ディスク41、光ディスク42、光磁気ディスク43、或いは半導体メモリ44などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部38にインストールされる。
なお、図示は省略するが、コンテンツサーバ3、およびメタデータサーバ4も、図2に示したユーザ端末1と基本的に同様の構成を有するコンピュータにより構成される。そこで、以下の説明においては、図2の構成は、コンテンツサーバ3、またはメタデータサーバ4などの構成としても引用される。
ここで、CPU31が、各種のプログラムを実行することにより、図2のコンピュータは、ユーザ端末1、コンテンツサーバ3、またはメタデータサーバ4として機能することとなる。この場合、プログラムは、図2のコンピュータに内蔵されている記録媒体としてのROM32や記憶部38に予め記録しておくことができる。あるいはまた、プログラムは、磁気ディスク41や、光ディスク42、光磁気ディスク43、半導体メモリ44などのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)し、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体から図2のコンピュータにインストールする他、ダウンロードサイトから、デジタル衛星放送用の人工衛星を介して、図2のコンピュータに無線で転送したり、LAN(Local Area Network)、ネットワーク2を介して、図2のコンピュータに有線で転送してインストールすることもできる。
図3は、ユーザ端末1の機能構成例を示すブロック図である。図3に示される機能ブロックは、ユーザ端末1のCPU31により所定の制御プログラムが実行されることで実現される。
受信部101は、コンテンツサーバ3またはメタデータサーバ4からネットワーク2を介して送信されてくるコンテンツ11、コンテンツライセンス12、メタデータ21、または、メタデータライセンス22を受信し、メタデータ21をメタデータ処理部103に、コンテンツ11をコンテンツ処理部104に、それぞれ供給し、コンテンツライセンス12およびメタデータライセンス22をDRM(Digital rights management)制御部102に供給する。
DRM制御部102は、メタデータ利用条件判定部111およびコンテンツ利用条件判定部112により構成され、コンテンツ11およびメタデータ21の著作権を保護する処理を行う。メタデータ利用条件判定部111は、受信部101からメタデータライセンス22を入力すると、メタデータライセンス22のメタデータ利用条件に応じて、メタデータ処理部103を制御し、メタデータ21に対して所定の処理をさせる。すなわち、メタデータ利用条件判定部111は、メタデータ利用条件に基づいて、ユーザ端末1がメタデータ21を展開可能であるか(すなわち、メタデータ21を用いて、コンテンツ検索処理が可能であるか)否かを判定し、ユーザ端末1がメタデータ21を展開可能であると判定した場合、メタデータ処理部103を制御し、対応するメタデータ21の暗号を解除させ、図4を参照して後述するメタデータDB(データベース)212に蓄積させる。また、メタデータ利用条件判定部111は、入力部36を介して、ユーザのコンテンツ検索の操作信号が入力されると、メタデータ利用条件に応じて、メタデータ処理部103に、メタデータDB212に蓄積されているメタデータ21を用いたコンテンツの検索処理を実行させる。
コンテンツ利用条件判定部112は、入力部36を介して、ユーザのコンテンツ再生の操作信号が入力されると、受信部101より供給されるコンテンツライセンス12のコンテンツ利用条件に基づいて、コンテンツ処理部104を制御し、コンテンツ11に対して所定の処理をさせる。すなわち、コンテンツ利用条件判定部112は、入力部36からコンテンツ11の再生要求が指示されると、受信部101より供給されるコンテンツライセンス12のコンテンツ利用条件に基づいて、ユーザ端末1がそのコンテンツ11を再生可能であるか否かを判定し、ユーザ端末1がコンテンツ11を再生可能であると判定した場合、コンテンツ処理部104を制御し、コンテンツ11の暗号を解除させ、再生させる。また、コンテンツ利用条件判定部112は、入力部36より指示されたコンテンツライセンス12がユーザ端末1にない場合、コンテンツ処理部104を制御し、コンテンツライセンス12の要求を、送信部105およびネットワーク2を介して、コンテンツサーバ3に送信させる。
メタデータ処理部103は、メタデータ利用条件判定部111の制御のもと、メタデータ21に対して所定の処理を実行する。すなわち、メタデータ処理部103は、受信部101より供給されるメタデータ21の暗号の解除、または、メタデータ21のメタデータDB212への蓄積などを実行したり、メタデータDB212に蓄積されているメタデータ21の検索処理を実行し、その検索結果を、出力部37を構成するモニタに表示させる。また、メタデータ処理部103は、メタデータ21またはメタデータライセンス22の要求を、送信部105およびネットワーク2を介して、メタデータサーバ4に送信する。
コンテンツ処理部104は、コンテンツ利用条件判定部112の制御のもと、コンテンツ11またはコンテンツライセンス12の要求を、送信部105およびネットワーク2を介して、コンテンツサーバ3に送信したり、コンテンツ記憶部232(図4)にコンテンツ11を蓄積したり、コンテンツ11の暗号を解除し、暗号が解除されたコンテンツ11を再生し、出力部37のモニタに表示させる。
送信部105は、コンテンツ処理部104からのコンテンツ取得の要求、または、メタデータ処理部103からのメタデータ取得の要求を、ネットワーク2を介して、コンテンツサーバ3またはメタデータサーバ4に送信する。
図4は、図3のユーザ端末1の詳細な機能構成例を表している。すなわち、図4は、図3のメタデータ処理部103、コンテンツ処理部104、メタデータ利用条件判定部111、およびコンテンツ利用条件判定部112の詳細な構成例を示すブロック図である。なお、図4において、太枠は、暗号化の状態を表している。
したがって、コンテンツ11は、コンテンツサーバ3から、図示せぬコンテンツプロバイダによりコンテンツ暗号鍵152で暗号化された状態で、ネットワーク2および受信部101を介して、コンテンツ蓄積部231に供給される。コンテンツライセンス12は、コンテンツサーバ3から、コンテンツプロバイダのPKI(Public Key Infrastructure)に基づいたコンテンツプロバイダ秘密鍵で暗号化された状態で、ネットワーク2および受信部101を介して、コンテンツライセンス復号部221に供給される。
コンテンツライセンス12は、コンテンツ利用条件151、および、コンテンツ11の暗号を解除するためのコンテンツ暗号鍵152により構成される。コンテンツ利用条件151は、例えば、対象となる対象コンテンツの「コンテンツID(識別子)例えば、URL(Uniform Resource Locator)」、対象コンテンツを利用するための「権利を行使する対象者(ユーザ、グループ)」、並びに、対象コンテンツに対して許可される操作(例えば、蓄積、再生、または複製など)、期限、および回数などの「権利行使の条件」などにより構成される。
メタデータ21は、メタデータサーバ4から、図示せぬメタデータプロバイダによりメタデータ暗号鍵162で暗号化された状態で、ネットワーク2および受信部101を介して、メタデータ復号部211に供給される。メタデータライセンス22は、メタデータサーバ4から、メタデータプロバイダのPKIに基づいたメタデータプロバイダ秘密鍵で暗号化された状態で、ネットワーク2および受信部101を介して、メタデータライセンス復号部201に供給される。
メタデータ21は、コンテンツに関連する情報などにより構成される。メタデータライセンス22は、メタデータ利用条件161、および、メタデータ21の暗号を解除するためのメタデータ暗号鍵162により構成される。メタデータ利用条件161は、図5に示されるように、例えば、「メタデータID(識別子)」、「権利付与の対象者(ユーザ名/ ユーザクラス名)」、「操作の対象要素(要素名)」、および「権利行使の条件」などにより構成される。
図5の例において、対象メタデータIDは、対象となるメタデータを識別する識別子であり、例えば、URLで表される。権利付与の対象者は、権利が付与される対象を表すものであり、ユーザ名であってもよいし、ユーザが属するユーザクラス名であってもよい。具体的には、権利付与の対象者は、ユーザ端末のデバイス名や、ユーザによりメタデータを利用するために、メタデータプロバイダに予め契約される契約クラス名などからなる。操作の対象要素は、対象となるメタデータのうち、利用することが可能である部分(要素)を表す。権利行使の条件は、例えば、「デバイスセキュリティクラス」および「操作クラス」などからなる。
デバイスセキュリティクラスは、権利行使可能なデバイスのセキュリティレベル(例えば、レベル−X)を表すものである。デバイスのセキュリティレベルとは、デバイス(例えば、ユーザ端末1)が、著作権保護を必要とするデータに対して、どの程度のセキュリティで処理を実行することができるかということを定義したものである。
例えば、セキュリティレベルは、後述する図6の場合、メタデータを展開するメタデータDB212の構成要素(メモリやハードディスクなど)がセキュリティ対策されているか否かで定義されている。この場合、メタデータDB212の構成要素がメタデータ利用条件161のセキュリティレベルより低い場合、ユーザ端末1は、対象メタデータを展開することができないというように、メタデータDB212の構成要素が、耐タンパ領域(セキュアな領域)に構成されているか(すなわち、メタデータが耐タンパ領域で処理されるか)否かに基づいて、メタデータプロバイダは、メタデータを処理するデバイスを制限することができる。すなわち、メタデータプロバイダは、セキュリティレベルが低いとされるデバイスに、メタデータの処理を禁止することができる。
操作クラスは、例えば、「ディスクに蓄積」などのように対象メタデータに対して許可される操作(例えば、蓄積、展開、または検索など)を示す。なお、ここには、期限、および回数なども記述することができる。
図4に戻って、点線で囲まれた領域は、ユーザ端末1における耐タンパ領域を表している。すなわち、ユーザ端末1において、メタデータ利用条件判定部111、コンテンツ利用条件判定部112、メタデータ処理部103のメタデータ復号部211およびメタデータDB212の一部、並びに、コンテンツ処理部104のコンテンツ復号部234は、耐タンパ領域に構成されている。
メタデータ利用条件判定部111は、メタデータライセンス復号部201、利用条件判定処理部202により構成される。メタデータライセンス復号部201は、図示せぬ認証局(以下、CA(Certification Authority)と称する)より、メタデータプロバイダのPKIに基づいたメタデータプロバイダ公開鍵171を予め取得し、記憶している。メタデータライセンス復号部201は、受信部101から供給されるメタデータライセンス22の暗号を、メタデータプロバイダ公開鍵171で解除し、暗号が解除されたメタデータライセンス22を、メタデータ利用条件161とメタデータ暗号鍵162に分け、利用条件判定処理部202に供給する。
利用条件判定処理部202は、ユーザ端末1が、メタデータライセンス復号部201により供給されたメタデータ利用条件161に該当する端末1であるか否かを判定し、その判定結果に基づいて、メタデータ暗号鍵162をメタデータ復号部211に供給し、メタデータ復号部211を制御し、対象メタデータに対して、メタデータ利用条件161に応じたメタデータ蓄積処理を実行させる。また、利用条件判定処理部202は、入力部36を介してユーザのコンテンツ検索の操作信号が入力されると、メタデータDB212に蓄積されているメタデータ21のメタデータ利用条件161に応じて、メタデータ検索部213を制御し、メタデータDB212に蓄積されているメタデータ21を用いたコンテンツの検索処理を実行させる。
メタデータ処理部103は、メタデータ復号部211、メタデータDB212、メタデータ検索部213、およびメタデータ表示制御部214により構成される。メタデータ復号部211には、受信部101より暗号化されたメタデータ21が供給され、利用条件判定処理部202よりメタデータ暗号鍵162が供給される。メタデータ復号部211は、利用条件判定処理部202の制御のもと、メタデータ暗号鍵162でメタデータ21の暗号を解除し、暗号が解除されたメタデータ21を、メタデータDB212の耐タンパ領域に展開、蓄積したり、または、再度暗号化し、メタデータDB212の耐タンパではない通常領域にメタデータ21を蓄積する。また、メタデータ復号部211は、メタデータDB212の通常領域に蓄積されるメタデータ21がメタデータ検索部213により特定された場合、特定されたメタデータ21の暗号を耐タンパ領域において解除し、メタデータ検索部213に供給する。
メタデータDB212は、耐タンパ領域(例えば、セキュアメモリやセキュアハードディスクなど)と通常領域で構成され、例えば、図6を参照して後述するように、その構成要素に応じて、セキュリティレベルが定義されており、メタデータ復号部211によりメタデータ21が展開、あるいは蓄積される。
メタデータ検索部213は、利用条件判定処理部202の制御のもと、メタデータDB212に蓄積されているメタデータ21を用いて、ユーザ指定のコンテンツの検索処理を実行し、ユーザ指定のコンテンツに対応するメタデータ21を取得し、取得したメタデータ21に応じて、コンテンツの検索結果情報を生成し、生成したコンテンツの検索結果情報を、メタデータ表示制御部214に供給する。また、メタデータ検索部213は、利用条件判定処理部202の制御のもと、送信部105およびネットワーク2を介して、メタデータサーバ4から所望のメタデータ21およびメタデータライセンス22を取得させる。
メタデータ表示制御部214は、メタデータ検索部213より供給される、メタデータ21を用いて実行されたコンテンツの検索結果情報などに基づいた画像を、出力部37を構成するモニタなどに出力する制御を行う。
コンテンツ利用条件判定部112は、コンテンツライセンス復号部221、および利用条件判定処理部222により構成される。コンテンツライセンス復号部221は、図示せぬCAより、コンテンツプロバイダのPKIに基づいたコンテンツプロバイダ公開鍵172を予め取得し、記憶している。コンテンツライセンス復号部201は、受信部101から供給されるコンテンツライセンス12の暗号を、コンテンツプロバイダ公開鍵172で解除し、暗号が解除されたコンテンツライセンス12を、コンテンツ利用条件151とコンテンツ暗号鍵152に分け、利用条件判定処理部222に供給する。
利用条件判定処理部222は、ユーザの操作により、入力部36を介して入力される操作信号に基づいて、ユーザ端末1が、コンテンツライセンス復号部221により供給されたコンテンツ利用条件151に該当する端末1であるか否かを判定し、その判定結果に基づいて、コンテンツ暗号鍵152をコンテンツ復号部234に供給するとともに、コンテンツ蓄積部231、コンテンツ検索部233、およびコンテンツ復号部234に、対象コンテンツに対して、コンテンツ利用条件151に応じた処理を実行させる。すなわち、利用条件判定処理部222は、入力部36からコンテンツ11の再生要求が指示されると、コンテンツ利用条件151に基づいて、ユーザ端末1がそのコンテンツ11を再生可能であるか否かを判定し、ユーザ端末1がコンテンツ11を再生可能であると判定した場合、コンテンツ暗号鍵152を、コンテンツ復号部234に供給するとともに、コンテンツ検索部233およびコンテンツ復号部234を制御し、コンテンツ11の暗号を解除させ、再生させる。
コンテンツ処理部104は、コンテンツ蓄積部231、コンテンツ記憶部232、コンテンツ検索部233、コンテンツ復号部234、および、コンテンツ表示制御部235により構成される。コンテンツ蓄積部231には、受信部101より暗号化されたコンテンツ11が供給される。コンテンツ蓄積部231は、利用条件判定処理部222の制御のもと、供給されたコンテンツ11を、コンテンツ記憶部232に蓄積する。
コンテンツ記憶部232は、メモリやハードディスクなどにより構成され、暗号化されたコンテンツ11を、一旦蓄積したり、記憶する。コンテンツ検索部233は、利用条件判定処理部222の制御のもと、再生対象のコンテンツIDに対応するコンテンツをコンテンツ記憶部232から検索し、検索したコンテンツを、コンテンツ復号部234に復号させる。また、メタデータ検索部213は、再生対象のコンテンツIDに対応するコンテンツ11が、コンテンツ記憶部232に蓄積されていない場合、送信部105を制御し、ネットワーク2を介して、コンテンツサーバ3から所望のコンテンツ11を取得させる。
コンテンツ復号部234は、コンテンツ記憶部232において、コンテンツ検索部233により検索されたコンテンツ11を入力し、コンテンツ暗号鍵152で、コンテンツ11の暗号を耐タンパ領域において解除し、暗号が解除されたコンテンツ11をコンテンツ表示制御部235に供給する。コンテンツ表示制御部235は、コンテンツ復号部234より供給されるコンテンツに基づいた画像を、出力部37を構成するモニタなどに出力する制御を行う。
図6は、メタデータDB212の構成要素とセキュリティレベルの対応関係の例を表している。ユーザ端末1においては、メタデータDB212の構成要素のセキュリティの程度に応じて、セキュリティレベルが定義されている。
メタデータDB212の構成要素が、耐タンパなメモリであるセキュアメモリで構成される場合、このユーザ端末1のセキュリティレベルは、レベル1とされる。メタデータDB212の構成要素が、セキュアメモリと耐タンパなハードディスクであるセキュアハードディスクで構成される場合、このユーザ端末1のセキュリティレベルは、レベル2とされる。メタデータDB212の構成要素が、セキュアメモリと耐タンパではないハードディスクである通常ハードディスクで構成される場合、このユーザ端末1のセキュリティレベルは、レベル3とされる。メタデータDB212の構成要素が、耐タンパではないメモリである通常メモリと耐タンパなハードディスクであるセキュアハードディスクで構成される場合、このユーザ端末1のセキュリティレベルは、レベル4とされる。
なお、図6の例においては、ユーザ端末1におけるセキュリティレベルがメタデータDB212の構成要素のセキュリティの程度により定義される場合を説明したが、メタデータDB212だけでなく、メタデータの検索処理や、検索結果の応答処理を行うメタデータ検索部213のセキュリティの程度や、メタデータ検索部213からメタデータ検索結果が供給されるメタデータ表示制御部214のセキュリティの程度(すなわち、メタデータ検索部213またはメタデータ表示制御部214が耐タンパ領域上で処理可能か否か)などに応じて、ユーザ端末1のセキュリティレベルを定義するようにしてもよい。
図7を参照して、図6のセキュリティレベルで構成されるメタデータDB212におけるメタデータの処理について説明する。図7の例においては、メタデータDB212が、セキュリティレベル1であるメタデータDB212−1、セキュリティレベル2であるメタデータDB212−2、セキュリティレベル3であるメタデータDB212−3、および、セキュリティレベル4であるメタデータDB212−4である場合の構成例についてそれぞれ説明する。なお、ユーザ端末1において、メタデータDBの構成は、すべての構成を可能なように構成するようにしてもよいし、ユーザ端末1が有する機能の構成要素に応じて、これらの構成のうち、いずれか1つの構成などをとるようにしてもよい。
図7の例の場合、ユーザ端末1は、セキュアメモリ301、通常メモリ302、セキュアハードディスク303、通常ハードディスク304を有している。なお、各メモリおよびディスクにおいて、実線で示されるインデックステーブルまたはデータブロックは、常時展開(常駐)していることを表し、点線で示されるインデックステーブルまたはデータブロックは、逐次展開することを表し、太線で示されるインデックステーブルまたはデータブロックは、常時暗号化の状態であることを表す。
メタデータDB212−1は、セキュリティレベル1であり、セキュアメモリ301により構成される。このメタデータDB212−1の構成において、例えば、メタデータ21のメタデータ利用条件161の「権利行使の条件」が、「セキュリティレベル1で検索許可」であった場合、メタデータ復号部211は、利用条件判定処理部202の制御のもと、メタデータ21のデータ要素を効率よく検索するための索引としてのインデックステーブル311と、メタデータ21のデータ要素であるデータブロック312に分けて、セキュアメモリ301に展開する。
メタデータDB212−2は、セキュリティレベル2であり、セキュアメモリ301およびセキュアハードディスク303により構成される。このメタデータDB212−2の構成において、例えば、メタデータ21のメタデータ利用条件161の「権利行使の条件」が、「セキュリティレベル2で検索許可」であった場合、メタデータ復号部211は、利用条件判定処理部202の制御のもと、インデックステーブル311と、データブロック312に分け、インデックステーブル311をセキュアメモリ301に展開し、データブロック312を、セキュアハードディスク303に展開する。
メタデータDB212−3は、セキュリティレベル3であり、セキュアメモリ301および通常ハードディスク304により構成される。このメタデータDB212−3の構成において、例えば、メタデータ21のメタデータ利用条件161の「権利行使の条件」が、「セキュリティレベル3で検索許可」であった場合、メタデータ復号部211は、利用条件判定処理部202の制御のもと、インデックステーブル311と、データブロック312に分け、インデックステーブル311をセキュアメモリ301に展開し、データブロック312を再度暗号化し、暗号化したデータブロック312を、通常ハードディスク304に展開する。
メタデータDB212−4は、セキュリティレベル4であり、通常メモリ302およびセキュアハードディスク303により構成される。このメタデータDB212−4の構成において、例えば、メタデータ21のメタデータ利用条件161の「権利行使の条件」が、「セキュリティレベル4で検索許可」であった場合、メタデータ復号部211は、利用条件判定処理部202の制御のもと、インデックステーブル311と、データブロック312に分け、インデックステーブル311とデータブロック312を、セキュアハードディスク303に展開する。
なお、ユーザ端末1に、セキュリティレベル1のメタデータDB212−1を構成する場合、インデックステーブル311およびデータブロック312を常時蓄積しておける容量の高価なセキュアメモリ301が必要になるが、インデックステーブル311も、データブロック312もセキュアメモリ301に展開されるため、メタデータの安全性は高く、検索速度は速くなる。
ユーザ端末1に、セキュリティレベル2のメタデータDB212−2を構成する場合、インデックステーブル311はセキュアメモリ301に展開され、データブロック312はセキュアハードディスク303に展開されるため、セキュリティレベル1よりは、安全性も検索速度も多少低くなるが、インデックステーブル311を常時蓄積しておけるだけのセキュアメモリ301と、データブロック312を蓄積する、セキュアメモリ301より安価なセキュアハードディスク303があればよく、セキュリティレベル1より安く構成できる。
ユーザ端末1に、セキュリティレベル3のメタデータDB212−3を構成する場合、インデックステーブル311はセキュアメモリ301に展開され、データブロック312は通常ハードディスク303に暗号化されて蓄積されるため、通常ハードディスク304からの入出力時に暗号化復号処理が必要となり、検索速度が遅くなってしまうが、セキュアハードディスク303が必要ない分、コストを安く構成できる。
ユーザ端末1に、セキュリティレベル4のメタデータDB212−4を構成する場合、インデックステーブル311およびデータブロック312はセキュアハードディスク303に展開、蓄積されているため、メタデータの検索の度に、通常メモリ302に、インデックステーブル311を展開する必要があり、検索速度も、安全性も高いとはいえないが、高価なセキュアメモリ301が必要ない分、コストを安く構成できる。
以上のように、メタデータ利用条件161に、「権利行使の条件」として、ユーザ端末1のデータベースDB212のセキュリティレベルを記述することにより、ユーザ端末1において、メタデータを展開できるユーザ端末1や、ユーザ端末1内の処理方法(領域)を制限することができる。次に、このようにして、メタデータDB212−1乃至メタデータDB212−4に蓄積されたメタデータ21を用いて実行されるコンテンツの検索処理について、それぞれ説明する。
メタデータDB212−1に展開されているメタデータ21を検索処理する場合、メタデータ検索部213は、利用条件判定処理部202から、ユーザ指定のコンテンツの検索要求が指示されると、利用条件判定処理部202のメタデータ利用条件161のセキュリティレベルに応じた制御のもと、セキュアメモリ301のインデックステーブル311を用いて、指定のコンテンツに対応するメタデータを検索し、セキュアメモリ301のデータブロック312から、検索されたメタデータに対応するデータブロック(データ要素)を特定し、特定されたデータブロックに基づいて、コンテンツの検索結果を求め、コンテンツの検索結果を、メタデータ表示制御部214に供給する。
メタデータDB212−2に展開されているメタデータ21を検索処理する場合、メタデータ検索部213は、利用条件判定処理部202から、ユーザ指定のコンテンツの検索要求が指示されると、利用条件判定処理部202のメタデータ利用条件161のセキュリティレベルに応じた制御のもと、セキュアメモリ301のインデックステーブル311を用いて、指定のコンテンツに対応するメタデータを検索し、セキュアハードディスク303のデータブロック312から、検索されたメタデータに対応するデータブロックを特定し、特定されたデータブロックに基づいて、コンテンツの検索結果を求め、コンテンツの検索結果を、メタデータ表示制御部214に供給する。
メタデータDB212−3に蓄積されているメタデータ21を検索処理する場合、メタデータ検索部213は、利用条件判定処理部202から、ユーザ指定のコンテンツの検索要求が指示されると、利用条件判定処理部202のメタデータ利用条件161のセキュリティレベルに応じた制御のもと、セキュアメモリ301のインデックステーブル311を用いて、指定のコンテンツに対応するメタデータを検索し、通常ハードディスク304のデータブロック312から、検索されたメタデータに対応するデータブロックを特定し、メタデータ復号部211に、特定したデータブロックの暗号を解除させ、暗号が解除されたデータブロックに基づいて、コンテンツの検索結果を求め、コンテンツの検索結果を、メタデータ表示制御部214に供給する。
メタデータDB212−4に蓄積されているメタデータ21を検索処理する場合、メタデータ検索部213は、利用条件判定処理部202から、ユーザ指定のコンテンツの検索要求が指示されると、利用条件判定処理部202のメタデータ利用条件161のセキュリティレベルに応じた制御のもと、セキュアハードディスク303のインデックステーブル311を、通常メモリ302にインデックステーブル313として展開し、展開されたインデックステーブル313を用いて、指定のコンテンツに対応するメタデータを検索し、セキュアハードディスク303のデータブロック312から、検索されたメタデータに対応するデータブロックを特定し、特定したデータブロックに基づいて、コンテンツの検索結果を求め、コンテンツの検索結果を、メタデータ表示制御部214に供給する。そして、メタデータ検索部213は、メタデータ21を用いて指定のコンテンツが検索された後、通常メモリ302に展開したインデックステーブル313を消去する。
以上のように、メタデータ検索部213は、メタデータ利用条件161のセキュリティレベルに応じて、検索処理を実行する。すなわち、メタデータ利用条件161に、ユーザ端末1のセキュリティレベルを記述することにより、メタデータの内容の重要性に応じて、ユーザ端末1における処理を制御することができ、セキュアメモリ311など、該当する機能を有していないユーザ端末1の処理を制限することができる。
図8は、コンテンツ利用条件151の構成例を表している。なお、図8において、各行頭の数字と、コロン記号(:)は、説明の便宜上付加したものであり、コードの一部ではなく、先頭行および最終行の「…」は、前後にもコードがあることを示している。後述する図9乃至図11でも同様である。また、図8の例の場合、コンテンツ利用条件151は、XrML(eXtensible Rights Mark-up Language)(http://www.xrml.org/)より記述されている。
第1行目の<?xml version="1.0" encoding="UTF-8" ?>は、第2行目以下に記述されるコンテンツ利用条件151が、XML形式のバージョン"1.0"で記述されており、UTF-8でエンコードされていることを表している。そして、図8の例においては、第2行目乃至第5行目の<license xmlns="urn:abc:contentsLicense" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="urn:abc:contentsLicense http://www.abc.com/contentsLicense.xsd" >から、第34行目の</license>までの間に、コンテンツ利用条件がXML形式で記述される。このライセンス<license>は、XrMLのアクセス制御表現形式のベースとなるもので、以下に説明する、主体(権利付与の対象者)<user>、資源(対象コンテンツ)<digitalResource>、条件<allConditions>、操作<Action>により規則が表される。
第6行目乃至第10行目の「<inventory> <digitalResource licensePartId="targetContent"> <nonSecureIndirect URI="urn:xyz:contents1"/> </digitalResource> </inventory>」には、対象の資源(コンテンツ)が、コンテンツID「URI="urn:xyz:contents1」で特定されるコンテンツであることが記述される。
第11行目の<grantGroup>から、第33行目の</grantGroup>までの間に、対象のコンテンツに対する権利の範囲が記述される。第12行目の<user deviceID="stb1.abc.co.jp"/>には、主体(権利付与の対象者)<user>がデバイスID「stb1.abc.co.jp」(セットトップボックス等)で特定されるユーザであることが記述される。このユーザが許可される権利の内容は、第13行目の<grant>乃至第22行目の</grant>、および第23行目の<grant>乃至第32行目の</grant>に記述されている。
第13行目の<grant>乃至第22行目の</grant>において、第14行目の<play/>は、操作<Action>が再生「play」であることを表し、第15行目の<digitalResource licensePartIdRef="targetContent"/>は、対象の資源<digitalResource>が、第8行目の「targetContent」に記述されるコンテンツIDであることを表し、第16行目乃至第21行目の「<allConditions> <validityInterval> <notBefore>2003-11-15T04:03:02</notBefore> <notAfter>2003-12-06T04:03:02</notAfter> </validityInterval> </allConditions>」は、条件<allConditions>として、有効期限「validityInterval」が2003年11月15日の4時03分02秒「2003-11-15T04:03:02」から、2003年12月6日の4時03分02秒「2003-12-06T04:03:02」であることを表している。
第23行目の<grant>乃至第32行目の</grant>において、第24行目の<copy/>は、操作<Action>がコピー「copy」であることを表し、第25行目の<digitalResource licensePartIdRef="targetContent"/>は、対象の資源<digitalResource>が、第8行目の「targetContent」に記述されるコンテンツIDであることを表し、第26行目乃至第31行目の「<allConditions> <count>1</count> <recordingMedia> <memoryStick/> </recordingMedia> </allConditions>」は、条件<allConditions>として、記録メディア「recordingMedia」がメモリスティック(商標)「memoryStick」で、記録回数「count」が1回であることを表している。
すなわち、図8のコンテンツ利用条件151は、デバイスID「stb1.abc.co.jp」で特定されるセットトップボックス等のユーザ端末1が、コンテンツID「URI="urn:xyz:contents1」のコンテンツを、有効期間内「2003年11月15日の4時03分02秒から、2003年12月6日の4時03分02秒まで」に再生「play」でき、かつ、記録メディア「memoryStick」に1回のみコピー「copy」できることを表している。
次に、図9乃至図11を参照して、XACML(eXtensible Access Control Language)(http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=xacml)より記述されるメタデータ利用条件161の例を説明する。
第1行目の<?xml version="1.0" encoding="UTF-8" ?>は、第2行目以下に記述されるメタデータ利用条件161が、XML形式のバージョン"1.0"で記述されており、UTF-8でエンコードされていることを表している。そして、第2行目乃至第7行目の「<Policy xmlns="urn:oasis:names:tc:xacml:1.0:policy" xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation="urn:oasis:names:tc:xacml:1.0:policy http://www.oasis-open.org/tc/xacml/1.0/cs-xacml-schema-policy-01.xsd" PolicyId="urn:metadataAccessControlPolicy1" RuleCombiningAlgId="urn:oasis:names:tc:xacml:1.0:rule-combining-algorithm:deny-overrides">」から、第62行目の</Policy>までの間に、メタデータを利用するためのルール<Rule>がXML形式で記述される。
第8行目乃至第12行目の「<Target> <Subjects> <AnySubject/> </Subjects> <Resources> <AnySubject/> </Resources> <Actions> <AnyAction/> </Actions> </Target>は、第13行目の<Rule RuleId="urn:metadtaAccessControlRule1" Effect="Permit">」から、第61行目の</Rule>までの間に記述される、XrMLのアクセス制御表現形式のベースとなるルール(利用条件)<Rule>が、主体(権利付与の対象者)<subjects>、資源(対象メタデータ)<Resources>、および動作(操作)<Actions>に対する規則により構成されることを示している。
第15行目の<Subjects>から、第37行目の</Subjects>までの間には、複数の主体に関する規則を記述することができ、この場合、第16行目の<Subject>から、第36行目の</Subject>までの間に1つの主体に関する3つの規則が記述されている。
第17行目乃至第23行目の「<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:rfc822Name-match"> <SubjectAttributeDesignator AttributeId="urn:oasis:names:tc:xacml:1.0:subject:subject-id" DataType="rfc822Name" /> <AttributeValue DataType="rfc822Name">abc.co.jp</AttributeValue> </SubjectMatch>」は、主体のID(識別子)属性「subject-id」に、「abc.co.jp」の文字列が含まれることを表している。第24行目乃至第29行目の「<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <SubjectAttributeDesignator AttributeId="urn:abc:xacml:subject:group" DataType="http://www.w3.org/2001/XMLSchema#string" /> <AttributeValue>subscriberGroup1</AttributeValue> </SubjectMatch>」は、主体のグループ属性「subject-group」が、「ubscriberGroup1」であることを表している。第30行目乃至第35行目の「<SubjectMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <SubjectAttributeDesignator AttributeId="urn:abc:xacml:subject:deviceSecurityLevel" DataType="http://www.w3.org/2001/XMLSchema#string" /> <AttributeValue>level1</AttributeValue> </SubjectMatch>」は、主体のデバイスセキュリティレベル属性「deviceSecurityLevel」が、レベル1「level1」であることを表している。
第38行目の<Resources>から、第49行目の</Resources>までの間には、メタデータ利用条件161において、複数の対象となる資源(メタデータ)を記述することができ、この場合、第39行目の<Resource>から、第48行目の</Resource>までの間に1つの資源(メタデータ)が記述されている。
すなわち、第40行目乃至第47行目の「<ResourceMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:anyURI-equal"> <ResourceAttributeDesignator AttributeId="urn:abc:xacml:resource:resource-uri" DataType="http://www.w3.org/2001/XMLSchema#anyURI"/> <AttributeValue> file://localhost/metadataInstanceRepository/metadataInstance1.xml </AttributeValue> </ResourceMatch>」は、資源のID(識別子)属性「resource-uri」が、「file://localhost/metadataInstanceRepository/metadataInstance1.xml」であることを表している。
第50行目の<Actions>から、第59行目の</ Actions>までの間には、メタデータ利用条件161において、主体が資源をアクセスする操作方法を複数記述することができ、この場合、第51行目の<Action>から、第58行目の</Action>までの間に1つの操作方法が記述されている。
すなわち、第52行目乃至第57行目の「<ActionMatch MatchId="urn:oasis:names:tc:xacml:1.0:function:string-equal"> <ActionAttributeDesignatorAttributeId="urn:abc:xacml:action" DataType=" http://www.w3.org/2001/XMLSchema#string" /> <AttributeValue>read</AttributeValue> </ActionMatch>」は、操作方法「Action」が、「read」であることを表している。
すなわち、図9乃至図11のメタデータ利用条件161は、「abc.co.jp」が含まれるデバイスID(識別属性)のセットトップボックス(例えば、「stb1.abc.co.jp」)で、メタデータ取得契約クラス「ubscriberGroup1」で、かつ、デバイスセキュリティレベル「level1」であれば、メタデータID「file://localhost/metadataInstanceRepository/metadataInstance1.xml」のメタデータを、「read」できるというルール(利用条件)を表している。
図12乃至図15は、メタデータ21の構成例を表している。メタデータ21は、コンテンツのリリースや放送形態に依存しないコンテンツに関する一般的な情報であり、記述される情報に応じて、図12のプログラムメタデータ、図13のプログラムロケーションメタデータ、図14のセグメンテーションメタデータ、および図15のプログラムグループメタデータなどに分類される。
図12は、プログラムメタデータとしてのメタデータ21の構成例を示している。プログラムメタデータは、番組を構成するコンテンツの単位であるプログラムについての情報により構成されるメタデータであり、コンテンツを検索する場合や、コンテンツの内容を知りたい場合などに利用される。
図12の例の場合、プログラムメタデータは、コンテンツのタイトル「title」、概要「Synopsis」、検索のためのキーワード「Keyword」、ドラマ、ニュースなどのジャンル「Genre」、コンテンツへのアクセスするための規制レベルの値であるペアレンタル・レーティング「ParentalRating」、音声の言語「Language」、出演者一覧「CastList」、関連する他の情報への参照「ReltatedMaterial」、制作年「ProductionYear」、制作国「ProductionCountry」、および、レビューや評価「Review」などにより構成される。
図13は、プログラムロケーションメタデータとしてのメタデータ21の構成例を示している。プログラムロケーションメタデータは、コンテンツが、ネットワーク2などで配信される場合と、デジタル放送波で配信される場合では、配信される時間帯、放送チャンネル、登録(アーカイブ)されているコンテンツサーバ3などのアドレス、配信プロトコルやフォーマットが異なるために必要となるメタデータである。
図13の例の場合、プログラムロケーションメタデータは、コンテンツが登録されている位置情報としてのURL「LocationURL」、登録されている符号化フォーマット「Format」、および、コンテンツが配信(取得)可能な開始時刻と終了時刻「StartDate/EndDate」などにより構成される。なお、プログラムロケーションメタデータとしては、他に、コンテンツが放送される場合のチャンネル、時刻、および生放送であるかなどの情報も記述される。
図14は、セグメントメタデータとしてのメタデータ21の構成例を示している。セグメントメタデータは、異なるプログラムから派生する複数のセグメントを、1つのセグメントグループとしてまとめることができ、例えば、コンテンツのダイジェスト版などのように、コンテンツのハイライトシーンのみを集めたり、好きな俳優の出演場面だけを集めてオリジナル番組を構成する際に利用されるメタデータである。
図14の例の場合、セグメントメタデータは、コンテンツのタイトル「title」、概要「Synopsis」、検索のためのキーワード「Keyword」、プログラムの中でのセグメントの位置を示すキーフレーム「KeyFrame」、および、必要なセグメント区間の開始時刻と終了時刻「SegmentLocation」などにより構成される。
図15は、プログラムグループメタデータとしてのメタデータ21の構成例を示している。プログラムグループメタデータは、複数のプログラムをまとめたプログラムグループについての情報により構成されるメタデータであり、プログラムグループ、例えば、シリーズ単位でコンテンツを検索する場合などに利用される。なお、プログラムグループの種類としては、番組のシリーズ「series」(例えば、エピソード1番からN番など)、番組のシリーズをまとめたもの「show」(例えば、すべてのエピソードなど)、プログラムコンセプト「programconcept」(例えば、ディレクターズカットなど)、あるいは、プログラムを編集したものであるプログラムコンピレーション「programCompilation」(例えば、戦争に関するニューズセグメントを編集したもの)などがある。
図15の例の場合、プログラムグループメタデータは、コンテンツのタイトル「title」、概要「Synopsis」、検索のためのキーワード「Keyword」、ドラマ、ニュースなどのジャンル「Genre」、コンテンツへのアクセスするための規制レベルの値であるペアレンタル・レーティング「ParentalRating」、音声の言語「Language」、出演者一覧「CastList」、シリーズものなど関連コンテンツ「ReltatedMaterial」、制作年「ProductionYear」、制作国「ProductionCountry」、レビューや評価「Review」、およびグループの要素「GroupElement」などにより構成される。
次に、図16のフローチャートを参照して、コンテンツサーバ3の送信処理を説明する。例えば、後述する図24のステップS206において、ユーザ端末1よりネットワーク2を介して、コンテンツ11のコンテンツライセンス12が要求される。
コンテンツサーバ3の通信部39は、コンテンツライセンス12の要求を受信し、受信したコンテンツライセンス12の要求を、CPU31に供給する。CPU31は、ステップS1において、コンテンツライセンス12が要求されたと判定するまで待機しており、コンテンツライセンス12が要求されたと判定した場合、ステップS2に進み、要求されたコンテンツ11のコンテンツライセンス12を記憶部38から読み出し、読み出したコンテンツライセンス12を、通信部39を制御して、ネットワーク2を介して、ユーザ端末1に送信させる。
これに対応して、図24のステップS210において、ユーザ端末1よりコンテンツ11の要求が送信されてくる。コンテンツサーバ3の通信部39は、コンテンツ11の要求を受信し、受信したコンテンツ11の要求を、CPU31に供給する。CPU31は、ステップS3において、ユーザ端末1により、コンテンツ11が要求されたか否かを判定し、コンテンツ11が要求されたと判定した場合、ステップS4に進み、要求されたコンテンツ11を記憶部38から読み出し、読み出したコンテンツ11を、通信部39を制御して、ネットワーク2を介して、ユーザ端末1に送信させ、コンテンツ送信処理を終了する。
CPU31は、ステップS3において、ユーザ端末1により、コンテンツ11が要求されていないと判定した場合、送信処理を終了する。
以上のようにして、コンテンツサーバ3から、ユーザ端末1には、コンテンツライセンス12が送信され、コンテンツ11が送信、提供される。
なお、図16の例においては、ユーザ端末1の要求に応じて、コンテンツライセンス12およびコンテンツ11を送信するように説明したが、コンテンツライセンス12およびコンテンツ11の送信タイミングについては、図16の例に限らず、コンテンツライセンス12と同時にコンテンツ11を送信するようにしてもよいし、コンテンツ11を送信した後に、コンテンツライセンス12を送信するようにしてもよい。
次に、図17のフローチャートを参照して、メタデータサーバ4の送信処理を説明する。例えば、図17の例においては、メタデータプロバイダによりメタデータ21およびメタデータライセンス22の配信時刻が予め設定されている。
メタデータサーバ4のCPU31は、ステップS21において、内蔵するクロックで計時動作を行って、所定の時刻になったと判定するまで待機しており、所定の時刻になったと判定した場合、ステップS22に進み、対象のメタデータ21のメタデータライセンス22を記憶部38から読み出し、読み出したメタデータライセンス22を、通信部39を制御して、ネットワーク2を介して、ユーザ端末1に送信させ、ステップS23に進む。
CPU31は、ステップS23において、対象のメタデータ21を記憶部38から読み出し、読み出したメタデータ21を、通信部39を制御して、ネットワーク2を介して、ユーザ端末1に送信させ、送信処理を終了する。
以上のようにして、メタデータサーバ4から、ユーザ端末1には、メタデータライセンス22およびメタデータ21が送信、提供される。
なお、図17の例においては、所定の時刻になった場合に、メタデータライセンス22およびメタデータ21を送信するように説明したが、メタデータライセンス22およびメタデータ21の送信タイミングについては、図17の例に限らず、図16のコンテンツと同様に、ユーザの要求に応じてメタデータライセンス22およびメタデータ21を順に送信するようにしてもよいし、メタデータ21を送信した後に、メタデータライセンス22を送信するようにしてもよい。
次に、図18のフローチャートを参照して、ユーザ端末1のメタデータ蓄積処理について説明する。例えば、図17のステップS22およびS23において、メタデータサーバ4により、メタデータライセンス22およびメタデータ21がネットワーク2を介してユーザ端末1に送信される。メタデータライセンス22は、メタデータプロバイダのPKIに基づいたメタデータプロバイダ暗号鍵で暗号化されており、メタデータ21は、メタデータ暗号鍵162で暗号化されている。
ユーザ端末1の受信部101は、ステップS41において、メタデータサーバ4からのメタデータライセンス22を受信し、受信したメタデータライセンス22を、メタデータライセンス復号部201に供給し、ステップS42に進む。また、受信部101は、ステップS42において、メタデータサーバ4からのメタデータ21を受信し、受信したメタデータ21を、メタデータ復号部211に供給し、ステップS43に進む。
ステップS43において、メタデータライセンス復号部201は、予め取得しているメタデータプロバイダ公開鍵171を用いて、受信部101より供給されたメタデータライセンス22の暗号を解除し、メタデータ利用条件161およびメタデータ暗号鍵162に分けて、メタデータ利用条件161およびメタデータ暗号鍵162を、利用条件判定処理部202に供給し、ステップS44に進む。
利用条件判定処理部202は、ステップS44において、メタデータライセンス復号部201からのメタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、さらに、権利行使の条件として、セキュリティレベルがレベル1で、検索許可であるか否かを判定する。
利用条件判定処理部202は、ステップS44において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル1で、検索許可であると判定した場合、ステップS45に進み、メタデータ暗号鍵162をメタデータ復号部211に供給するとともに、メタデータ復号部211を制御し、受信部101より供給されたメタデータ21の暗号を解除(復号)させ、ステップS46に進み、メタデータ復号部211を制御し、暗号解除されたメタデータ21を、メタデータDB212のセキュアメモリ301内に展開、蓄積させる。すなわち、メタデータ復号部211は、ステップS46において、暗号解除されたメタデータ21を、インデックステーブル311とデータブロック312に分けて、メタデータDB212−1のセキュアメモリ301内に展開、蓄積し、メタデータ蓄積処理を終了する。
利用条件判定処理部202は、ステップS44において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものではない、セキュリティレベルがレベル1ではない、または検索許可ではないと判定した場合、ステップS47に進み、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル2で、検索許可であるか否かを判定する。
利用条件判定処理部202は、ステップS47において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル2で、検索許可であると判定した場合、ステップS48に進み、メタデータ暗号鍵162をメタデータ復号部211に供給するとともに、メタデータ復号部211を制御し、受信部101より供給されたメタデータ21の暗号を解除させ、ステップS49に進み、メタデータ復号部211を制御し、暗号解除されたメタデータ21を、メタデータDB212のセキュアメモリ301およびセキュアハードディスク303内に展開、蓄積させる。すなわち、メタデータ復号部211は、ステップS49において、暗号解除されたメタデータ21を、インデックステーブル311とデータブロック312に分けて、インデックステーブル311をメタデータDB212−2のセキュアメモリ301内に展開、蓄積し、データブロック312をメタデータDB212−2のセキュアハードディスク303内に展開、蓄積し、メタデータ蓄積処理を終了する。
利用条件判定処理部202は、ステップS47において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものではない、セキュリティレベルがレベル2ではない、または、検索許可ではないと判定した場合、ステップS50に進み、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル3で、検索許可であるか否かを判定する。
利用条件判定処理部202は、ステップS50において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル3で、検索許可であると判定した場合、ステップS51に進み、メタデータ暗号鍵162をメタデータ復号部211に供給するとともに、メタデータ復号部211を制御し、受信部101より供給されたメタデータ21の暗号を解除させ、ステップS52に進み、メタデータ復号部211を制御し、暗号解除されたメタデータ21のインデックステーブル311を、メタデータDB212のセキュアメモリ301内に展開させ、ステップS53に進み、メタデータ21のデータブロック312を再度暗号化させて、メタデータDB212の通常ハードディスク304内に蓄積させる。
すなわち、メタデータ復号部211は、ステップS52において、暗号解除されたメタデータ21を、インデックステーブル311とデータブロック312に分けて、インデックステーブル311をメタデータDB212−3のセキュアメモリ301内に展開、蓄積し、ステップS53に進み、データブロック312を再度暗号化して、暗号化されたデータブロック312を、メタデータDB212−3の通常ハードディスク304内に蓄積し、メタデータ蓄積処理を終了する。
利用条件判定処理部202は、ステップS50において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものではない、セキュリティレベルがレベル3ではない、または、検索許可ではないと判定した場合、ステップS54に進み、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル4で、検索許可であるか否かを判定する。
利用条件判定処理部202は、ステップS54において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものであり、セキュリティレベルがレベル4で、検索許可であると判定した場合、ステップS55に進み、メタデータ暗号鍵162をメタデータ復号部211に供給するとともに、メタデータ復号部211を制御し、受信部101より供給されたメタデータ21の暗号を解除させ、ステップS56に進み、メタデータ復号部211に、暗号解除されたメタデータ21を、インデックステーブル311とデータブロック312に分けて、メタデータDB212のセキュアハードディスク303内に展開、蓄積させる。
すなわち、メタデータ復号部211は、ステップS56において、暗号解除されたメタデータ21を、インデックステーブル311とデータブロック312に分けて、インデックステーブル311およびデータブロック312を、メタデータDB212−4のセキュアハードディスク303内に蓄積し、メタデータ蓄積処理を終了する。
一方、利用条件判定処理部202は、ステップS54において、メタデータ利用条件161が、ユーザ端末1を権利付与の対象とするものではない、セキュリティレベルがレベル4ではない、または、検索許可ではないと判定した場合、メタデータを復号すること、蓄積することなく、メタデータ蓄積処理を終了する。
以上のように、ユーザ端末1において、メタデータ21は、メタデータDB212内の、メタデータ利用条件161のセキュリティレベルに応じた耐タンパな領域、または、耐タンパではない通常の領域に展開蓄積される。したがって、メタデータは、メタデータ利用条件161のセキュリティレベルに応じて、盗聴されることが抑制される。また、各セキュリティレベルの耐タンパ領域を有しないユーザ端末1の場合には、メタデータの展開、蓄積が禁止される。
なお、図18の例においては、検索許可が判定される場合のため、メタデータ21を暗号解除、展開して蓄積するように説明したが、これに対して、蓄積許可の場合には、メタデータ21は、暗号解除や展開されず、メタデータ利用条件161のセキュリティレベルに応じた所定の領域に暗号化された状態で蓄積されるようにしてもよい。
次に、図19のフローチャートを参照して、ユーザ端末1に蓄積されているメタデータ21を用いて、コンテンツを検索するコンテンツ検索処理を説明する。ユーザは、入力部36を構成するマウスまたはキーボードなどを操作することにより、所望のコンテンツを検索するためのキーワードなどを入力する。
利用条件判定処理部202は、ステップS81において、キーワード検索の要求があったと判定するまで待機しており、ユーザの操作により、入力部36を介して入力される操作信号に基づいて、キーワード検索の要求があったと判定した場合、ステップS82に進み、メタデータDB202に蓄積(展開)されているメタデータ21のメタデータ利用条件161がセキュリティレベル1であるか否かを判定し、メタデータ21のメタデータ利用条件161がセキュリティレベル1であると判定した場合、ステップS83に進み、メタデータ検索部213を制御し、セキュリティレベル1のメタデータDB検索処理を実行させる。
このメタデータDBの検索処理は、図20を参照して説明するが、ステップS83の処理により、メタデータDB212−1のインデックステーブル311から、キーワードに対応するメタデータが検索され、データブロック312から、検索されたメタデータに対応するデータブロックが特定され、特定されたデータブロックに基づいて、コンテンツの検索結果情報が生成され、処理は、ステップS89に進む。
利用条件判定処理部202は、ステップS82において、メタデータ21のメタデータ利用条件161がセキュリティレベル1ではないと判定した場合、ステップS84に進み、メタデータDB202に蓄積されているメタデータ21のメタデータ利用条件161がセキュリティレベル2であるか否かを判定し、メタデータ21のメタデータ利用条件161がセキュリティレベル2であると判定した場合、ステップS85に進み、メタデータ検索部213を制御し、セキュリティレベル2のメタデータDB検索処理を実行させる。
このメタデータDBの検索処理は、図21を参照して説明するが、ステップS85の処理により、メタデータDB212−2のインデックステーブル311から、キーワードに対応するメタデータが検索され、データブロック312から、検索されたメタデータに対応するデータブロックが特定され、特定されたデータブロックに基づいて、コンテンツの検索結果情報が生成され、処理は、ステップS89に進む。
利用条件判定処理部202は、ステップS84において、メタデータ21のメタデータ利用条件161がセキュリティレベル2ではないと判定した場合、ステップS86に進み、メタデータDB202に蓄積されているメタデータ21のメタデータ利用条件161がセキュリティレベル3であるか否かを判定し、メタデータ21のメタデータ利用条件161がセキュリティレベル3であると判定した場合、ステップS87に進み、メタデータ検索部213を制御し、セキュリティレベル3のメタデータDB検索処理を実行させる。
このメタデータDBの検索処理は、図22を参照して説明するが、ステップS87の処理により、メタデータDB212−3のインデックステーブル311から、キーワードに対応するメタデータが検索され、データブロック312から、検索されたメタデータに対応するデータブロックが特定され、特定されたデータブロックの暗号が解除され、暗号が解除されたデータブロックに基づいて、コンテンツの検索結果情報が生成され、処理は、ステップS89に進む。
利用条件判定処理部202は、ステップS86において、メタデータ21のメタデータ利用条件161がセキュリティレベル3ではない(すなわち、メタデータ21のメタデータ利用条件161がセキュリティレベル4である)と判定した場合、ステップS88に進み、メタデータ検索部213を制御し、セキュリティレベル4のメタデータDB検索処理を実行させる。
このメタデータDBの検索処理は、図23を参照して説明するが、ステップS87の処理により、メタデータDB212−4のインデックステーブル311からインデックステーブル313が展開され、インデックステーブル313から、キーワードに対応するメタデータが検索され、データブロック312から、検索されたメタデータに対応するデータブロックが特定され、特定されたデータブロックに基づいて、コンテンツの検索結果情報が生成され、処理は、ステップS89に進む。
メタデータ検索部213は、ステップS89において、コンテンツの検索結果を、メタデータ表示制御部214に供給し、ステップS90に進む。メタデータ表示制御部214は、ステップS90において、メタデータ検索部213からのコンテンツの検索結果に対応する画像を、出力部37を構成するモニタに表示させ、メタデータ検索処理を終了する。
なお、上述したコンテンツの検索処理において、キーワードに対応するメタデータ21がユーザ端末1内にないとされた場合には、メタデータ表示制御部214に、キーワードに該当するものがないという情報を表示させたり、あるいは、ネットワーク2上より検索するか否かをユーザに選択させるような情報を表示させ、ユーザの操作に応じて、ネットワーク2上のメタデータサーバ4から該当するメタデータ21を検索し、所望のメタデータ21を取得するようにしてもよい。
次に、図20のフローチャートを参照して、図19のステップS83のセキュリティレベル1のメタデータDB検索処理を説明する。セキュリティレベル1の場合、メタデータ21のインデックステーブル311およびデータブロック312は、メタデータDB212−1のセキュアメモリ301に展開されている。
利用条件判定処理部202を介して、検索対象のキーワードが入力されると、メタデータ検索部213は、ステップS121において、メタデータDB212−1のセキュアメモリ301に展開されているインデックステーブル311から、キーワードに対応するメタデータを検索し、ステップS122に進む。
ステップS122において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがあったか否かを判定し、インデックステーブル311に、キーワードに対応するメタデータがあったと判定した場合、ステップS123に進み、セキュアメモリ301から、検索されたメタデータに対応するデータブロック312を特定し、特定したデータブロック312を取得し、ステップS124に進む。
一方、ステップS122において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがないと判定した場合、ステップS123の処理をスキップし、ステップS124に進む。メタデータ検索部213は、ステップS124において、取得したデータブロック312、または、キーワードに対応するメタデータがないという判定結果に基づいて、コンテンツの検索結果情報を生成し、メタデータDB検索処理を終了し、図19のステップS89に戻る。
次に、図21のフローチャートを参照して、図19のステップS85のセキュリティレベル2のメタデータDB検索処理を説明する。セキュリティレベル2の場合、メタデータ21のインデックステーブル311は、メタデータDB212−2のセキュアメモリ301に展開されており、データブロック312は、セキュアハードディスク303に展開されている。
利用条件判定処理部202を介して、検索対象のキーワードが入力されると、メタデータ検索部213は、ステップS141において、メタデータDB212−2のセキュアメモリ301に展開されているインデックステーブル311から、キーワードに対応するメタデータを検索し、ステップS142に進む。
ステップS142において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがあったか否かを判定し、インデックステーブル311に、キーワードに対応するメタデータがあったと判定した場合、ステップS143に進み、セキュアハードディスク303から、検索されたメタデータに対応するデータブロック312を特定し、特定したデータブロック312を取得し、ステップS144に進む。
一方、ステップS142において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがないと判定した場合、ステップS143の処理をスキップし、ステップS144に進む。メタデータ検索部213は、ステップS144において、取得したデータブロック312、または、キーワードに対応するメタデータがないという判定結果に基づいて、コンテンツの検索結果を生成し、メタデータDB検索処理を終了し、図19のステップS89に戻る。
次に、図22のフローチャートを参照して、図19のステップS87のセキュリティレベル3のメタデータDB検索処理を説明する。セキュリティレベル3の場合、メタデータ21のインデックステーブル311は、メタデータDB212−3のセキュアメモリ301に展開されており、データブロック312は、通常ハードディスク304に暗号化されて蓄積されている。
利用条件判定処理部202を介して入力されるキーワード検索の操作信号に基づいて、メタデータ検索部213は、ステップS161において、メタデータDB212のセキュアメモリ301に展開されているインデックステーブル311から、キーワードに対応するメタデータを検索し、ステップS162に進む。
ステップS162において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがあったか否かを判定し、インデックステーブル311に、キーワードに対応するメタデータがあったと判定した場合、ステップS163に進み、通常ハードディスク304から、検索されたメタデータに対応するデータブロック312を特定し、特定したデータブロック312を、データ復号部211に出力し、ステップS164に進む。
データ復号部211は、ステップS164において、暗号化されたデータブロック312を入力すると、データブロック312の暗号を解除し、データ検索部213に供給し、ステップS165に進む。
一方、ステップS162において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがないと判定した場合、ステップS143の処理をスキップし、ステップS165に進む。メタデータ検索部213は、ステップS165において、データブロック312、または、キーワードに対応するメタデータがないという判定結果に基づいて、メタデータの検索結果情報を生成し、メタデータDB検索処理を終了し、図19のステップS89に戻る。
次に、図23のフローチャートを参照して、図19のステップS88のセキュリティレベル4のメタデータDB検索処理を説明する。セキュリティレベル4の場合、メタデータ21のインデックステーブル311およびデータブロック312は、メタデータDB212−4のセキュアハードディスク303に展開されている。
利用条件判定処理部202を介して、検索対象のキーワードが入力されると、メタデータ検索部213は、ステップS181において、メタデータDB212−4のセキュアハードディスク303のインデックステーブル311を、通常メモリ302にインデックステーブル313として展開させ、ステップS182に進み、メタデータDB212−4の通常メモリ302に展開されているインデックステーブル313から、キーワードに対応するメタデータを検索し、ステップS183に進む。
ステップS183において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがあったか否かを判定し、インデックステーブル311に、キーワードに対応するメタデータがあったと判定した場合、ステップS184に進み、セキュアハードディスク303から、検索されたメタデータに対応するデータブロック312を特定し、特定したデータブロック312を取得し、ステップS185に進む。
一方、ステップS183において、メタデータ検索部213は、インデックステーブル311に、キーワードに対応するメタデータがないと判定した場合、ステップS184の処理をスキップし、ステップS185に進む。メタデータ検索部213は、ステップS144において、取得したデータブロック312、または、キーワードに対応するメタデータがないという判定結果に基づいて、メタデータの検索結果情報を生成し、ステップS186に進む。
ステップS186において、メタデータ検索部213は、メタデータDB212−4の通常メモリ302に展開したインデックステーブル313を消去し、メタデータDB検索処理を終了し、図19のステップS89に戻る。
以上のように、ユーザ端末1においては、コンテンツ11の検索処理は、メタデータ利用条件161のセキュリティレベルに応じてメタデータDBに蓄積されているメタデータ21を処理し、処理されたメタデータ21を検索することにより実行される。したがって、ユーザ端末1は、メタデータDB212のセキュリティレベルに応じた安全性および検索速度での処理を実行することができる。これにより、ユーザ端末1において、セキュリティを必要とするメタデータは、盗聴されるような安全ではない領域で処理されることが抑制され、メタデータの著作権保護を推進することができる。
次に、図24のフローチャートを参照して、コンテンツ再生処理を説明する。ユーザは、図19のコンテンツ検索処理の結果を参照し、入力部36を構成するマウスなどを操作することにより、所望のコンテンツを指定する。
ステップS201において、利用条件判定処理部222は、コンテンツが要求されると判定するまで待機しており、ユーザの操作により、入力部36を介して入力される操作信号に基づいて、コンテンツが要求されたと判定した場合、ステップS202に進み、コンテンツIDに基づいて、要求されたコンテンツ11のコンテンツライセンス12があるか否かを判定し、コンテンツライセンス12があると判定した場合、ステップS203に進む。
利用条件判定処理部222は、ステップS203において、コンテンツライセンス12のコンテンツ利用条件151に基づいて、ユーザ端末1によるコンテンツの再生が許可されているか否かを判定し、ユーザ端末1によるコンテンツの再生が許可されていると判定した場合、ステップS204に進み、コンテンツ復号部234に、コンテンツ暗号鍵152を供給し、コンテンツ検索部233およびコンテンツ復号部234にコンテンツIDのコンテンツ再生を指示し、ステップS205に進む。
コンテンツ検索部233は、ステップS205において、供給されたコンテンツIDのコンテンツがコンテンツ記憶部232にあると判定した場合、ステップS211に進む。コンテンツ検索部233は、ステップS205において、供給されたコンテンツIDのコンテンツがコンテンツ記憶部232にないと判定した場合、ステップS210に進む。
一方、利用条件判定処理部222は、ステップS202において、コンテンツIDに基づいて、コンテンツライセンス22がないと判定した場合、ステップS206において、コンテンツ検索部233を制御し、コンテンツIDに基づいて、送信部105に、ネットワーク2のコンテンツサーバ3に対して、コンテンツIDのコンテンツライセンス12を取得させ、ステップS207に進む。
これに対応して、コンテンツサーバ3は、図16のステップS2において、コンテンツライセンス12をネットワーク2を介して送信してくる。コンテンツライセンス12は、コンテンツプロバイダのPKIに基づいたコンテンツプロバイダ秘密鍵で暗号化されている。受信部101は、コンテンツサーバ3からのコンテンツライセンス12を受信し、コンテンツライセンス復号部221に供給する。
コンテンツライセンス復号部221は、ステップS207において、予め取得済みのコンテンツプロバイダ公開鍵172で、受信部101からのコンテンツライセンス12の暗号を解除し、コンテンツ利用条件151とコンテンツ暗号鍵152に分けて、利用条件判定処理部222に供給する。利用条件判定処理部222は、ステップS208において、コンテンツ利用条件151に基づいて、ユーザ端末1によるコンテンツの再生が許可されているか否かを判定し、ユーザ端末1によるコンテンツの再生が許可されていると判定した場合、ステップS209において、コンテンツ復号部234に、コンテンツ暗号鍵152を供給し、コンテンツ検索部233およびコンテンツ復号部234にコンテンツIDのコンテンツ再生を指示し、ステップS210に進む。
ステップS210において、コンテンツ検索部233は、再生が許可されているコンテンツIDに基づいて、送信部105に、ネットワーク2のコンテンツサーバ3に対して、コンテンツIDのコンテンツ11を取得させ、ステップS211に進む。
これに対応して、コンテンツサーバ3は、図16のステップS4において、コンテンツ11をネットワーク2を介して送信してくる。コンテンツライセンス11は、コンテンツ暗号鍵152で暗号化されている。受信部101は、コンテンツサーバ3からのコンテンツライセンス12を受信し、コンテンツ蓄積部231に供給する。コンテンツ蓄積部231は、利用条件判定処理部222のコンテンツ利用条件151に基づいた判定結果のもと、コンテンツIDのコンテンツ11を、コンテンツ記憶部232に蓄積する。
ステップS211において、コンテンツ復号部234は、利用条件判定処理部222からのコンテンツ暗号鍵152を用いて、耐タンパ領域で、コンテンツ記憶部232に蓄積されるコンテンツ11の暗号を解除し、暗号が解除されたコンテンツ11を、コンテンツ表示制御部235に出力し、ステップS212に進む。
コンテンツ表示制御部235は、ステップS212において、コンテンツ復号部234からのコンテンツ11を再生し、出力部37を構成するモニタに表示させ、コンテンツ再生処理を終了する。
ステップS203およびS208において、コンテンツIDの再生がユーザ端末1において許可されていないと判定された場合、利用条件判定処理部222は、コンテンツ再生処理を終了させる。
以上のように、コンテンツ利用条件151とは別に、コンテンツとは異なるタイミングで、異なる処理を行うメタデータに、メタデータ利用条件161を設けて、メタデータ利用条件161に応じて、メタデータの蓄積、展開などの処理を制御するようにしたので、著作権保護の必要なメタデータを、コンテンツの検索時よりも先に展開するようにしても、コストに応じたセキュリティを維持することができる。すなわち、高価な耐タンパなメモリやハードディスクにかかるコストを、セキュリティに応じて最小限に抑えることができる。
また、メタデータの内容に応じて、ユーザ端末1を制限するだけでなく、ユーザ端末1における処理のセキュリティレベルを制限するようにしたので、それに応じた処理をユーザ端末1にさせたり、セキュリティレベル以下のユーザ端末1でのメタデータの処理を禁止することができる。したがって、メタデータの種類に応じた運用ができ、メタデータの流通および利用を促進させることができる。
なお、上記説明においては、コンテンツ11、コンテンツライセンス12、メタデータ21、およびメタデータライセンス22を、ネットワーク2を介して提供する場合を説明したが、本発明は、ネットワーク2に限らず、地上波デジタルなどの放送波にも適用することができる。すなわち、コンテンツライセンス12、メタデータ21、およびメタデータライセンス22は、放送波に多重されて送信されるようにしてもよい。なお、この場合、ユーザ端末1は、放送波を受信するためのチューナなどを有する。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム格納媒体からインストールされる。
コンピュータにインストールされ、コンピュータによって実行可能な状態とされるプログラムを格納するプログラム格納媒体は、図2に示されるように、磁気ディスク41(フレキシブルディスクを含む)、光ディスク42(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク43(MD(Mini-Disc)(商標)を含む)、もしくは半導体メモリ44などよりなるパッケージメディア、または、プログラムが一時的もしくは永続的に格納される記憶部38などにより構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に従って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1−1,1−2 ユーザ端末,2 ネットワーク,3 コンテンツサーバ,4 メタデータサーバ,11 コンテンツ,12 コンテンツライセンス12 メタデータ,22 メタデータライセンス,101 受信部,102 DRM制御部,103 メタデータ処理部,104 コンテンツ処理部,105 送信部,111 メタデータ利用条件判定部,112 コンテンツ利用条件判定部,151 コンテンツ利用条件,161 メタデータ,201 メタデータライセンス復号部,202 利用条件判定処理部,211 メタデータ復号部,212 メタデータDB,213 メタデータ検索部,214 メタデータ表示制御部,221 コンテンツライセンス復号部,222 利用条件判定処理部,231 コンテンツ蓄積部,232 コンテンツ記憶部,233 コンテンツ検索部,234 コンテンツ復号部,235 コンテンツ表示制御部