(57)【特許請求の範囲】
【請求項１】
コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御装置において、
コンテンツと第１の制御モジュールとからなる制御モジュール付きコンテンツ、および前記コンテンツの利用許諾情報からなるライセンスと第２の制御モジュールとからなる制御モジュール付きライセンスを入力する入力手段と、
複数の制御モジュール付きコンテンツおよび複数の制御モジュール付きライセンスを格納するデータベースをとさらに備え、
前記制御モジュール付きコンテンツは、自コンテンツに関連のある制御モジュール付きライセンスを前記データベースから検索し、検索された制御モジュール付きライセンスを起動させ、
前記制御モジュール付きライセンスは、前記制御モジュール付きコンテンツによって起動された場合に、自ライセンスに関連のある制御モジュール付きコンテンツを前記データベースから検索し、検索されたコンテンツを起動させ、
前記制御モジュール付きライセンスによって起動された制御モジュール付きコンテンツは、自コンテンツに関連のある制御モジュール付きライセンスを検索し、検索された制御モジュール付きライセンスを起動させ、
前記制御モジュール付きコンテンツによって起動された制御モジュール付きライセンスは、自ライセンスに関連のある制御モジュール付きコンテンツを検索し、検索された制御モジュール付きコンテンツを起動させること
を特徴とするコンテンツ利用制御装置。
【請求項２】
前記第１のモジュールによって検索された制御モジュール付きライセンスと、前記第２のモジュールによって検索された前記制御モジュール付きコンテンツとを正規のものであるか認証する第３の制御モジュールをさらに備えることを特徴とする請求項１に記載のコンテンツ利用制御装置。
【請求項３】
コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御装置において、
コンテンツと第１の制御モジュールとからなる制御モジュール付きコンテンツ、および前記コンテンツの利用許諾情報からなるライセンスと第２の制御モジュールとからなる制御モジュール付きライセンスを入力する入力工程を含み、
前記制御モジュール付きコンテンツは、自コンテンツに関連のある制御モジュール付きライセンスを検索し、検索された制御モジュール付きライセンスを起動させ、
前記制御モジュール付きライセンスは、前記制御モジュール付きコンテンツによって起動された場合に、自ライセンスに関連のある制御モジュール付きコンテンツを検索し、検索されたコンテンツを起動させること
を特徴とするコンテンツ利用制御方法。
【請求項４】
前記ライセンスの制御モジュールが、前記データベース内のコンテンツに関して、消去、追加、削除の制御を行うことを特徴とする請求項３に記載のコンテンツ利用制御方法。
【請求項５】
前記請求項３に記載のコンテンツ利用制御方法をコンピュータに実行させるためのコンテンツ利用制御プログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、映画、音楽、映像等のコンテンツの利用を制御するコンテンツ利用制御装置、コンテンツ利用制御方法およびコンテンツ利用制御プログラムに関するものであり、特に、コンテンツ利用の柔軟性を高め、課金管理を容易にするコンテンツ利用制御装置、コンテンツ利用制御方法およびコンテンツ利用制御プログラムに関するものである。
【０００２】
近時においては、マルチメディア化の波を受けて、ディジタル化された映画、音楽等のコンテンツのインターネット配信がスタートしたことから、コンテンツ利用に関するユーザの関心が高まっている。このニーズを受けて、コンテンツ利用の際の柔軟性が高いコンテンツ利用制御の手段、方法が切望されている。
【０００３】
【従来の技術】
従来より、映画、音楽等のコンテンツ（著作物）に関しては、著作者の許諾を得なければ、営利目的で販売、譲渡することができない。ここでいうコンテンツとは、単一の記録媒体に記録可能なビット列の集合としての構造をもつディジタルコンテンツをいい、文章テキスト、静止画、動画、プログラムソフトウェア等をいう。
【０００４】
この種のコンテンツは、インターネット上のダウンロードサイトや、記録媒体により利用者に提供される。この場合、著作権保護を目的としてライセンス（利用許諾情報）を用いたコンテンツの利用に関する制御（以下、コンテンツ利用制御という）が行われる。このコンテンツ利用制御は、正当な許諾を受けた利用者のみがコンテンツを利用できるようにするためのものである。
【０００５】
また、コンテンツを利用するためのコンテンツ利用制御装置では、当該ライセンスおよびコンテンツを利用するための、固有の利用環境が設定されている。この利用環境では、当該コンテンツ利用制御装置を識別するための装置識別情報が設定されている。従って、コンテンツ利用制御装置では、装置識別情報、当該ライセンスを用いて、コンテンツを復号することにより、コンテンツ利用制御が行われる。また、従来では、有料でコンテンツを利用する際に、利用者に対して課金されるが、この課金に関する管理は、コンテンツ提供者側で管理されている。
【０００６】
【発明が解決しようとする課題】
ところで、前述したように、従来のコンテンツ利用制御装置では、装置側の利用環境に対応するように個別的に作成されたコンテンツおよびライセンスが提供される。従って、従来では、コンテンツおよびライセンスがコンテンツ利用制御装置の利用環境に大きく依存していることから、利用者側で柔軟にコンテンツ利用ができず、しかも個別的にコンテンツおよびライセンスを作成しなければならず無駄が多くコンテンツ提供者側の負担が大きいという問題があった。
【０００７】
また、従来では、ライセンスに課金情報を持たせることができないため、コンテンツ利用の課金に関する管理をコンテンツ提供者側で行っており、課金管理が非常に面倒であるという問題もあった。
【０００８】
本発明は、上記に鑑みてなされたもので、コンテンツ利用の柔軟性を高めることができ、コンテンツ利用に関する課金管理を容易に行うことができるコンテンツ利用制御装置、コンテンツ利用制御方法およびコンテンツ利用制御プログラムを提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するために、本発明は、コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御装置において、コンテンツと第１の制御モジュールとからなる制御モジュール付きコンテンツ、および前記コンテンツの利用許諾情報からなるライセンスと第２の制御モジュールとからなる制御モジュール付きライセンスを入力する入力手段と、複数の制御モジュール付きコンテンツおよび複数の制御モジュール付きライセンスを格納するデータベースをとさらに備え、前記制御モジュール付きコンテンツは、自コンテンツに関連のある制御モジュール付きライセンスを前記データベースから検索し、検索された制御モジュール付きライセンスを起動させ、前記制御モジュール付きライセンスは、前記制御モジュール付きコンテンツによって起動された場合に、自ライセンスに関連のある制御モジュール付きコンテンツを前記データベースから検索し、検索されたコンテンツを起動させる。そして、制御モジュール付きライセンスによって起動された制御モジュール付きコンテンツは、自コンテンツに関連のある制御モジュール付きライセンスを検索し、検索された制御モジュール付きライセンスを起動させ、制御モジュール付きコンテンツによって起動された制御モジュール付きライセンスは、自ライセンスに関連のある制御モジュール付きコンテンツを検索し、検索された制御モジュール付きコンテンツを起動させることを特徴とする。
【００１０】
この発明によれば、第１の制御モジュールと第２の制御モジュールとの相互連携により、コンテンツ利用に関する制御を行うようにしたので、従来のようにコンテンツを利用する装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができる。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明にかかるコンテンツ利用制御装置、コンテンツ利用制御方法およびコンテンツ利用制御プログラムの一実施の形態について詳細に説明する。
【００１２】
はじめに、本発明にかかる一実施の形態で用いられる各種制御モジュール付きコンテンツおよび制御モジュール付きライセンスの構成について図１〜図４を参照して説明する。図１（ａ）および（ｂ）には、制御モジュール付きコンテンツ１０および制御モジュール付きライセンス２０が図示されている。これらの制御モジュール付きコンテンツ１０および制御モジュール付きライセンス２０は、記録媒体、インターネット等を介してコンテンツ提供者から利用者へ提供される。
【００１３】
図１（ａ）に示した制御モジュール付きコンテンツ１０は、制御モジュール１１およびコンテンツ１２から構成されている。この制御モジュール１１は、コンテンツ１２、制御モジュール２１（図１（ｂ）参照）、外部のモジュール（図示略）を動的に制御するものである。また、制御モジュール１１は、ソースコード形式のファイルである。従って、制御モジュール１１を起動させるためには、制御モジュール１１を実行形式のファイル（exeファイル）にコンパイルする必要がある。コンテンツ１２は、音楽、映像、音声等の情報である。
【００１４】
図１（ｂ）に示した制御モジュール付きライセンス２０は、制御モジュール２１およびライセンス２２から構成されている。制御モジュール２１は、ライセンス２２、制御モジュール１１（図１（ａ）参照）、外部のモジュールを動的に制御するものである。また、制御モジュール２１は、ソースコード形式のファイルである。従って、制御モジュール２１を起動させるためには、制御モジュール２１を実行形式のファイル（exeファイル）にコンパイルする必要がある。ライセンス２２は、コンテンツ１２の利用許諾情報である。従って、利用者は、コンテンツ１２とライセンス２２の双方を入手しなければ、コンテンツ１２を利用（再生）することができないようになっている。
【００１５】
図２（ａ）および（ｂ）には、制御モジュール付きコンテンツ３０および制御モジュール付きライセンス４０が図示されている。これらの制御モジュール付きコンテンツ３０および制御モジュール付きライセンス４０は、記録媒体、インターネット等を介してコンテンツ提供者から利用者へ提供される。
【００１６】
図２（ａ）に示した制御モジュール付きコンテンツ３０は、制御モジュール３１およびコンテンツ３２から構成されている。この制御モジュール３１は、コンテンツ３２、制御モジュール４１（図２（ｂ）参照）、外部のモジュール（図示略）を動的に制御するものである。また、制御モジュール３１は、実行形式のファイル（exeファイル）であり、実行命令により起動される。従って、制御モジュール３１は、コンパイルする必要がない。コンテンツ３２は、音楽、映像、音声等の情報である。
【００１７】
図２（ｂ）に示した制御モジュール付きライセンス４０は、制御モジュール４１およびライセンス４２から構成されている。制御モジュール４１は、ライセンス４２、制御モジュール３１（図２（ａ）参照）、外部のモジュールを動的に制御するものである。また、制御モジュール４１は、実行形式のファイル（exeファイル）であり、実行命令により起動される。従って、制御モジュール４１は、コンパイルする必要がない。ライセンス４２は、コンテンツ３２の利用許諾情報である。従って、利用者は、コンテンツ３２とライセンス４２の双方を入手しなければ、コンテンツ３２を利用（再生）することができないようになっている。
【００１８】
図３（ａ）および（ｂ）には、制御モジュール付きコンテンツ５０および制御モジュール付きライセンス６０が図示されている。これらの制御モジュール付きコンテンツ５０および制御モジュール付きライセンス６０は、記録媒体、インターネット等を介してコンテンツ提供者から利用者へ提供される。
【００１９】
図３（ａ）に示した制御モジュール付きコンテンツ５０は、制御モジュール５１およびコンテンツ５２から構成されている。この制御モジュール５１は、三種類の第１の制御モジュール５１1 〜第３の制御モジュール５１3 から構成されており、コンテンツ５２、制御モジュール６１（図３（ｂ）参照）、外部のモジュール（図示略）を動的に制御するものである。これらの第１の制御モジュール５１1 〜第３の制御モジュール５１3 は、後述する第１の制御モジュール６１1 〜第３の制御モジュール６１3 との組み合わせ（例えば、第１の制御モジュール５１1 と第２の制御モジュール６１2 ）に応じた複数種類の制御を実現するためのものである。コンテンツ５２は、音楽、映像、音声等の情報である。
【００２０】
図３（ｂ）に示した制御モジュール付きライセンス６０は、制御モジュール６１およびライセンス６２から構成されている。制御モジュール６１は、三種類の第１の制御モジュール６１1 〜第３の制御モジュール６１3 から構成されており、ライセンス６２、制御モジュール５１（図３（ａ）参照）、外部のモジュールを動的に制御するものである。
【００２１】
これらの第１の制御モジュール６１1 〜第３の制御モジュール６１3 は、第１の制御モジュール５１1 〜第３の制御モジュール５１3 との組み合わせ（例えば、第１の制御モジュール５１1 と第２の制御モジュール６１2 ）に応じた複数種類の制御を実現するためのものである。ライセンス６２は、コンテンツ５２の利用許諾情報である。従って、利用者は、コンテンツ５２とライセンス６２の双方を入手しなければ、コンテンツ５２を利用（再生）することができないようになっている。
【００２２】
図４（ａ）には、制御モジュール付きコンテンツ集／ライセンス集７０の構成が図示されている。この制御モジュール付きコンテンツ集／ライセンス集７０は、図４（ｂ）に示したように、階層構造をなす複数のコンテンツ（コンテンツ集）およびこれらの複数のコンテンツに対応する複数のライセンス（ライセンス集）ならびに複数のコンテンツおよびライセンスに対応する複数の制御モジュールから構成されている。この制御モジュール付きコンテンツ集／ライセンス集７０は、一つのファイルとして格納されている。また、制御モジュール付きコンテンツ集／ライセンス集７０は、記録媒体、インターネット等を介してコンテンツ提供者から利用者へ提供される。
【００２３】
具体的には、制御モジュール付きコンテンツ集／ライセンス集７０は、制御モジュール７１、制御モジュール付きコンテンツ集８０および制御モジュール付きライセンス集１２０から構成されている。図４（ｂ）に示したように、制御モジュール７１は、制御モジュール付きコンテンツ集／ライセンス集７０から制御モジュール付きコンテンツ集８０と制御モジュール付きライセンス集１２０とを取り出す際の制御を行う。
【００２４】
制御モジュール付きコンテンツ集８０は、制御モジュール８１、ビューアコンテンツ９０、制御モジュール付き映画コンテンツ１００および制御モジュール付き音楽コンテンツ１１０から構成されている。この制御モジュール８１は、制御モジュール付きコンテンツ集８０からビューアコンテンツ９０、制御モジュール付き映画コンテンツ１００および制御モジュール付き音楽コンテンツ１１０を取り出す際の制御を行う。
【００２５】
ビューアコンテンツ９０は、ビューアからなるコンテンツであり、後述するビューア／音楽ライセンス１３２により利用可能とされる。制御モジュール付き映画コンテンツ１００は、制御モジュール１０１、映像コンテンツ１０２および音声コンテンツ１０３から構成されている。制御モジュール１０１は、映像コンテンツ１０２、音声コンテンツ１０３や、後述する制御モジュール１４１、外部のモジュール（図示略）を動的に制御するものである。
【００２６】
映像コンテンツ１０２は、映画を構成する映像からなるコンテンツである。この映像コンテンツ１０２は、後述する映像ライセンス１４３により利用可能とされる。音声コンテンツ１０３は、映画を構成する音声からなるコンテンツである。音声コンテンツ１０３は、後述する音声ライセンス１４２により利用可能とされる。制御モジュール付き音楽コンテンツ１１０は、制御モジュール１１１および音楽コンテンツ１１２から構成されている。
【００２７】
制御モジュール１１１は、音楽コンテンツ１１２や後述する制御モジュール１３１、外部のモジュール（図示略）を動的に制御するものである。音楽コンテンツ１１２は、音楽からなるコンテンツである。この音楽コンテンツ１１２は、後述するビューア／音楽ライセンス１３２により利用可能とされる。
【００２８】
一方、制御モジュール付きライセンス集１２０は、制御モジュール１２１、制御モジュール付きライセンス１３０および制御モジュール付きライセンス１４０から構成されている。制御モジュール１２１は、制御モジュール付きライセンス集１２０から制御モジュール付きライセンス１３０および制御モジュール付きライセンス１４０を取り出す際の制御を行う。
【００２９】
制御モジュール付きライセンス１３０は、制御モジュール１３１およびビューア／音楽ライセンス１３２から構成されている。制御モジュール１３１は、ビューア／音楽ライセンス１３２や、上述した制御モジュール８１、制御モジュール１１１、外部のモジュール（図示略）を動的に制御するものである。ビューア／音楽ライセンス１３２は、音楽コンテンツ１１２およびビューアコンテンツ９０の利用許諾情報である。
【００３０】
制御モジュール付きライセンス１４０は、制御モジュール１４１、音声ライセンス１４２および映像ライセンス１４３から構成されている。制御モジュール１４１は、音声ライセンス１４２、映像ライセンス１４３、制御モジュール１０１や、外部のモジュール（図示略）を動的に制御するものである。音声ライセンス１４２は、音声コンテンツ１０３の利用許諾情報である。映像ライセンス１４３は、映像コンテンツ１０２の利用許諾情報である。
【００３１】
ここで、図４に示した制御モジュール付きコンテンツ集／ライセンス集７０においては、所望の制御モジュール付きコンテンツ集および制御モジュール付きライセンス集が取り出され、これらが利用／配布される。例えば、制御モジュール付きコンテンツ集／ライセンス集７０から制御モジュール付き映画コンテンツ１００およびこれに対応する制御モジュール付きライセンス１４０が取り出された場合、図５に示したように、制御モジュール付き映画コンテンツ１００の制御モジュール１０１（図４参照）および制御モジュール１４１（図４参照）は、相互連携により、音声ライセンス１４２および映像ライセンス１４３を用いて、映像コンテンツ１０２および音声コンテンツ１０３を利用する。
【００３２】
ここで、前述した制御モジュール付きライセンスおよび制御モジュール付きコンテンツ（図１〜図４参照）によりコンテンツを利用するための構成例について図６〜図１１を参照して説明する。図６〜図１１は、本発明にかかる一実施の形態の構成例１〜６を示すブロック図である。
【００３３】
まず、図６を参照して一実施の形態の構成例１について詳述する。この図において、ＣＰＵ(Central Processing Unit）３００は、制御モジュール付きライセンス２１０および制御モジュール付きコンテンツ２００に基づいて、暗号化ライセンス２１２を復号することでコンテンツ復号鍵３３０を生成し、このコンテンツ復号鍵３３０を用いて暗号化コンテンツ２０２が復号されたコンテンツ（例えば、コンピュータプログラム）を実行する。
【００３４】
制御モジュール付きコンテンツ２００は、制御モジュール付きコンテンツ１０（図１（ａ）参照）に対応するものであり、記録媒体やインターネット（図示略）を介してＣＰＵ３００に入力される。この制御モジュール付きコンテンツ２００は、制御モジュール２０１および暗号化コンテンツ２０２から構成されている。制御モジュール２０１は、制御モジュール１１（図１（ａ）参照）と同様の機能を備えている。暗号化コンテンツ２０２は、暗号化されたコンテンツ（例えば、コンピュータプログラム）である。
【００３５】
制御モジュール付きライセンス２１０は、制御モジュール付きライセンス２０（図１（ｂ）参照）に対応するものであり、記録媒体やインターネットを介してＣＰＵ３００に入力される。この制御モジュール付きライセンス２１０は、制御モジュール２１１および暗号化ライセンス２１２から構成されている。制御モジュール２１１は、制御モジュール２１（図１（ｂ）参照）と同様の機能を備えている。暗号化ライセンス２１２は、暗号化コンテンツ２０２を復号するためのコンテンツ復号鍵３３０が暗号化されたものである。
【００３６】
ＣＰＵ３００において、常駐モジュール３１０（「特許請求の範囲」の第３の制御モジュールに対応）は、制御モジュール２１１および制御モジュール２０１が正規のものであるか否かを認証する機能を備えている。ＣＰＵ個別鍵３２０は、当該ＣＰＵ３００に予め割り当てられており、暗号化ライセンス２１２を復号する際に用いられる鍵である。コンテンツ復号鍵３３０は、ＣＰＵ個別鍵３２０を用いて暗号化ライセンス２１２が復号された鍵であり、暗号化コンテンツ２０２を復号する際に用いられる。コンテンツ復号部３４０は、コンテンツ復号鍵３３０を用いて、暗号化コンテンツ２０２を復号する。実行部３５０は、暗号化コンテンツ２０２が復号されたコンテンツを実行する。
【００３７】
つぎに、図１２に示したフローチャートを参照しつつ、図６に示した構成例１の動作について説明する。同図に示したステップＳＡ１〜ステップＳＡ７は、モジュールＭA（図６の常駐モジュール３１０に対応）の認証動作の工程を表し、ステップＳＢ１〜ステップＳＢ７は、モジュールＭB（図６の制御モジュール２１１および制御モジュール２０１に対応）の認証動作の工程を表す。図６に示したＣＰＵ３００に制御モジュール付きコンテンツ２００および制御モジュール付きライセンス２１０が入力されると、常駐モジュール３１０（図１２：モジュールＭA ）と、制御モジュール２０１および制御モジュール２１１（図１２：モジュールＭB ）との間で認証動作が行われる。
【００３８】
すなわち、図１２に示したステップＳＡ１では、常駐モジュール３１０（モジュールＭA ）は、乱数ＲA を生成する。ステップＳＡ２では、常駐モジュール３１０は、乱数ＲA を秘密鍵ＨA で暗号化し、制御モジュール２０１（モジュールＭB ）に送る。この暗号化された乱数ＲA を受け取ると、ステップＳＢ１では、制御モジュール２０１は、暗号化された乱数ＲA を公開鍵ＫA で復号し、乱数ＲA を取り出す。ステップＳＢ２では、制御モジュール２０１は、乱数ＲB を生成する。
【００３９】
ステップＳＢ３では、制御モジュール２０１は、上記乱数ＲA および乱数ＲB を秘密鍵ＨB で暗号化し、常駐モジュール３１０に送る。この暗号化された乱数ＲA および乱数ＲB を受け取ると、ステップＳＡ３では、常駐モジュール３１０は、暗号化された乱数ＲA および乱数ＲB を公開鍵ＫB で復号し、乱数ＲA および乱数ＲB を取り出す。ステップＳＡ４では、常駐モジュール３１０は、制御モジュール２０１に送った乱数ＲA（ステップＳＡ１で生成）と、受け取った乱数ＲA（ステップＳＡ３で復号）とが同じものであるか否かを判断する。
【００４０】
このステップＳＡ４の判断結果が「Ｎｏ」である場合、常駐モジュール３１０は、制御モジュール２０１が正規のものではなく、認証されなかったものとして、ステップＳＡ７でエラー処理を実行する。この場合、ステップＳＡ４の判断結果が「Ｙｅｓ」、すなわち認証されたものとすると、ステップＳＡ５では、常駐モジュール３１０は、乱数ＲB を秘密鍵ＨA で暗号化し、これを制御モジュール２０１に送る。ステップＳＡ６では、常駐モジュール３１０は、乱数ＲA と乱数ＲB との排他的論理和をセッション鍵とする。
【００４１】
そして、暗号化された乱数ＲB を受け取ると、ステップＳＢ４では、制御モジュール２０１は、暗号化された乱数ＲB を公開鍵ＫA で復号し、乱数ＲB を取り出す。ステップＳＢ５では、制御モジュール２０１は、常駐モジュール３１０に送った乱数ＲB（ステップＳＢ２で生成）と、受け取った乱数ＲB（ステップＳＢ４で復号）とが同じものであるか否かを判断する。
【００４２】
このステップＳＢ５の判断結果が「Ｎｏ」である場合、制御モジュール２０１は、常駐モジュール３１０が正規のものではなく、認証されなかったものとしてステップＳＢ７でエラー処理を実行する。この場合、ステップＳＢ５の判断結果が「Ｙｅｓ」、すなわち常駐モジュール３１０と制御モジュール２０１との間で相互認証されたものとすると、ステップＳＢ６では、制御モジュール２０１は、乱数ＲA と乱数ＲB との排他的論理和をセッション鍵とする。
【００４３】
一方、常駐モジュール３１０と制御モジュール２１１との間でも、上述した常駐モジュール３１０と制御モジュール２０１との間の認証動作と同様にして、認証動作が行われる。この場合、常駐モジュール３１０と制御モジュール２１１との間で相互認証されたものとする。
【００４４】
つぎに、図６に示した常駐モジュール３１０は、ＣＰＵ個別鍵３２０を用いて、暗号化ライセンス２１２を復号し、コンテンツ復号鍵３３０を生成し、これをコンテンツ復号部３４０へ送る。これにより、コンテンツ復号部３４０は、暗号化コンテンツ２０２をコンテンツ復号鍵３３０を用いて復号し、復号結果（コンテンツ）を実行部３５０へ送る。実行部３５０では、上記コンテンツ（例えば、コンピュータプログラム）が実行される。
【００４５】
つぎに、図７を参照して一実施の形態の構成例２について詳述する。この図において、図６の各部に対応する部分には同一の符号を付ける。同図では、図６に示したＣＰＵ３００に代えてデコーダ４００が設けられている。デコーダ４００は、制御モジュール付きライセンス２１０および制御モジュール付きコンテンツ２００に基づいて、暗号化ライセンス２１２を復号することでコンテンツ復号鍵４３０を生成し、このコンテンツ復号鍵４３０を用いて暗号化コンテンツ２０２が復号されたコンテンツをデコードする。
【００４６】
デコーダ４００において、常駐モジュール４１０は、常駐モジュール３１０（図６参照）と同様の機能（認証機能等）を備えている。デコーダ個別鍵４２０は、当該デコーダ４００に予め割り当てられており、暗号化ライセンス２１２を復号する際に用いられる鍵である。コンテンツ復号鍵４３０は、デコーダ個別鍵４２０を用いて暗号化ライセンス２１２が復号された鍵であり、暗号化コンテンツ２０２を復号する際に用いられる。コンテンツ復号部４４０は、コンテンツ復号鍵４３０を用いて、暗号化コンテンツ２０２を復号する。デコード部４５０は、暗号化コンテンツ２０２が復号されたコンテンツをデコードする。
【００４７】
つぎに、図１２に示したフローチャートを参照しつつ、図７に示した構成例２の動作について説明する。同図に示したステップＳＡ１〜ステップＳＡ７は、モジュールＭA（図７の常駐モジュール４１０に対応）の認証動作の工程を表し、ステップＳＢ１〜ステップＳＢ７は、モジュールＭB（図７の制御モジュール２１１および制御モジュール２０１に対応）の認証動作の工程を表す。図７に示したデコーダ４００に制御モジュール付きコンテンツ２００および制御モジュール付きライセンス２１０が入力されると、常駐モジュール４１０（図１２：モジュールＭA ）と、制御モジュール２０１および制御モジュール２１１（図１２：モジュールＭB ）との間で認証動作が行われる。
【００４８】
すなわち、図１２に示したステップＳＡ１では、常駐モジュール４１０（モジュールＭA ）は、乱数ＲA を生成する。ステップＳＡ２では、常駐モジュール４１０は、乱数ＲA を秘密鍵ＨA で暗号化し、制御モジュール２０１（モジュールＭB ）に送る。この暗号化された乱数ＲA を受け取ると、ステップＳＢ１では、制御モジュール２０１は、暗号化された乱数ＲA を公開鍵ＫA で復号し、乱数ＲA を取り出す。ステップＳＢ２では、制御モジュール２０１は、乱数ＲB を生成する。
【００４９】
ステップＳＢ３では、制御モジュール２０１は、上記乱数ＲA および乱数ＲB を秘密鍵ＨB で暗号化し、常駐モジュール４１０に送る。この暗号化された乱数ＲA および乱数ＲB を受け取ると、ステップＳＡ３では、常駐モジュール４１０は、暗号化された乱数ＲA および乱数ＲB を公開鍵ＫB で復号し、乱数ＲA および乱数ＲB を取り出す。ステップＳＡ４では、常駐モジュール４１０は、制御モジュール２０１に送った乱数ＲA（ステップＳＡ１で生成）と、受け取った乱数ＲA（ステップＳＡ３で復号）とが同じものであるか否かを判断する。
【００５０】
このステップＳＡ４の判断結果が「Ｎｏ」である場合、常駐モジュール４１０は、制御モジュール２０１が正規のものではなく、認証されなかったものとして、ステップＳＡ７でエラー処理を実行する。この場合、ステップＳＡ４の判断結果が「Ｙｅｓ」、すなわち認証されたものとすると、ステップＳＡ５では、常駐モジュール４１０は、乱数ＲB を秘密鍵ＨA で暗号化し、これを制御モジュール２０１に送る。ステップＳＡ６では、常駐モジュール４１０は、乱数ＲA と乱数ＲB との排他的論理和をセッション鍵とする。
【００５１】
そして、暗号化された乱数ＲB を受け取ると、ステップＳＢ４では、制御モジュール２０１は、暗号化された乱数ＲB を公開鍵ＫA で復号し、乱数ＲB を取り出す。ステップＳＢ５では、制御モジュール２０１は、常駐モジュール４１０に送った乱数ＲB（ステップＳＢ２で生成）と、受け取った乱数ＲB（ステップＳＢ４で復号）とが同じものであるか否かを判断する。
【００５２】
このステップＳＢ５の判断結果が「Ｎｏ」である場合、制御モジュール２０１は、常駐モジュール４１０が正規のものではなく、認証されなかったものとしてステップＳＢ７でエラー処理を実行する。この場合、ステップＳＢ５の判断結果が「Ｙｅｓ」、すなわち常駐モジュール４１０と制御モジュール２０１との間で相互認証されたものとすると、ステップＳＢ６では、制御モジュール２０１は、乱数ＲA と乱数ＲB との排他的論理和をセッション鍵とする。
【００５３】
一方、常駐モジュール４１０と制御モジュール２１１との間でも、上述した常駐モジュール４１０と制御モジュール２０１との間の認証動作と同様にして、認証動作が行われる。この場合、常駐モジュール４１０と制御モジュール２１１との間で相互認証されたものとする。
【００５４】
つぎに、図７に示した常駐モジュール４１０は、デコーダ個別鍵４２０を用いて、暗号化ライセンス２１２を復号し、コンテンツ復号鍵４３０を生成し、これをコンテンツ復号部４４０へ送る。これにより、コンテンツ復号部４４０は、暗号化コンテンツ２０２をコンテンツ復号鍵４３０を用いて復号し、復号結果（コンテンツ）をデコード部４５０へ送る。デコード部４５０では、上記コンテンツがデコードされる。
【００５５】
つぎに、図８を参照して一実施の形態の構成例３について詳述する。この図において、記録媒体５００は、制御モジュール付きコンテンツ５１０および個別鍵５２０を記録してなり、光ディスク、フロッピーディスク等である。制御モジュール付きコンテンツ５１０は、制御モジュール５１１および暗号化コンテンツ５１２から構成されている。制御モジュール５１１は、制御モジュール１１（図１（ａ）参照）と同様の機能を備えており、後述する常駐モジュール６４０との間で認証処理等を実行する。暗号化コンテンツ５１２は、鍵Ｋｃおよび鍵Ｋｃ’により二重に暗号化されている。個別鍵５２０は、暗号化された暗号化コンテンツ５１２を復号するための鍵である。
【００５６】
記憶装置６００は、記録媒体５００から制御モジュール付きコンテンツ５１０、個別鍵５２０を読み出す機能と、暗号化コンテンツ５１２を復号する機能とを備えている。復号部６１０は、個別鍵５２０を用いて、暗号化コンテンツ５１２を復号し、暗号化コンテンツ５１２ａを生成する。常駐モジュール６４０は、制御モジュール５１１が正規のものであるか否かを認証する機能等を備えている。個別鍵６３０は、当該記憶装置６００に予め割り当てられており、暗号化コンテンツ５１２ａを復号する際に用いられる鍵である。復号部６２０は、個別鍵６３０を用いて、暗号化コンテンツ５１２ａを復号し、復号済コンテンツ５１２ｂを生成する。
【００５７】
つぎに、図１９に示したフローチャートを参照しつつ、図８に示した構成例３の動作について説明する。同図に示したステップＳＪ１〜ステップＳＪ６は、常駐モジュール６４０の動作を表し、ステップＳＫ１〜ステップＳＫ４は、制御モジュール５１１の動作を表す。図８に示した記憶装置６００に記録媒体５００がセットされると、ステップＳＪ１では、常駐モジュール６４０は、制御モジュール５１１から個別鍵５２０を受け取り、これを復号部６１０に渡すことにより、復号処理を実行する。すなわち、復号処理では、復号部６１０は、個別鍵５２０を用いて、暗号化コンテンツ５１２を復号し、暗号化コンテンツ５１２ａを生成する。
【００５８】
ステップＳＪ２では、常駐モジュール６４０は、制御モジュール付きコンテンツ５１０が制御モジュールを備えるコンテンツであるか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＪ６でエラー処理を実行する。この場合、ステップＳＪ２の判断結果を「Ｙｅｓ」とし、ステップＳＪ３では、常駐モジュール６４０は、制御モジュール５１１との間で認証処理を実行する。これに平行して、ステップＳＫ１では、制御モジュール５１１は、常駐モジュール６４０との間で認証処理を実行する。この認証処理では、図１２を参照して説明した動作を経て相互認証が行われる。
【００５９】
この認証処理が終了すると、ステップＳＪ４では、常駐モジュール６４０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＪ６でエラー処理を実行する。一方、ステップＳＫ２では、制御モジュール５１１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＫ４でエラー処理を実行する。この場合、相互認証されたものとすると、常駐モジュール６４０は、ステップＳＪ４の判断結果を「Ｙｅｓ」とし、制御モジュール５１１は、ステップＳＫ２の判断結果を「Ｙｅｓ」とする。
【００６０】
ステップＳＪ５では、常駐モジュール６４０は、制御モジュール５１１を起動する。これにより、ステップＳＫ３では、制御モジュール５１１は、自身に記述された制御の内容に従って処理を実行する。具体的には、制御モジュール５１１は、個別鍵６３０を復号部６２０に渡す。これにより、復号部６２０は、暗号化コンテンツ５１２ａを復号し、復号済コンテンツ５１２ｂを生成する。この復号済コンテンツ５１２ｂは、図示しないデコーダで再生される。
【００６１】
つぎに、図９を参照して一実施の形態の構成例４について詳述する。この図において、映画コンテンツ７００は、制御モジュール７１０、音声コンテンツ７２０および映像コンテンツ７３０から構成されている。制御モジュール７１０は、音声コンテンツ７２０および映像コンテンツ７３０を発行する機能や、データベース８００を検索する機能を備えている。音声コンテンツ７２０は、映画を構成する音楽に関するコンテンツであり、暗号化されている。映像コンテンツ７３０は、映画を構成する映像に関するコンテンツであり、暗号化されている。
【００６２】
データベース８００は、複数の制御モジュール付きライセンスを格納している。同図に示した例では、データベース８００には、制御モジュール付きライセンスとしてライセンス９００が格納されている。ライセンス９００は、映画コンテンツ７００の利用許諾情報であり、制御モジュール９１０、音声ライセンス９２０、映像ライセンス９３０および課金情報９４０から構成されている。制御モジュール９１０は、音声ライセンス９２０、映像ライセンス９３０を発行する機能、課金情報９４０を書き換える機能、データベース１０００を検索する機能を備えている。
【００６３】
音声ライセンス９２０は、上述した音声コンテンツ７２０の利用許諾情報（コンテンツ復号鍵）である。映像ライセンス９３０は、上述した映像コンテンツ７３０の利用許諾情報（コンテンツ復号鍵）である。課金情報９４０は、音声コンテンツ７２０、映像コンテンツ７３０、後述する日本語字幕コンテンツ１２２０の利用に係る課金情報である。
【００６４】
データベース１０００は、複数の制御モジュール付きライセンスを格納している。同図に示した例では、データベース１０００には、制御モジュール付きコンテンツ１２００が格納されている。制御モジュール付きコンテンツ１２００は、制御モジュール１２１０および日本語字幕コンテンツ１２２０から構成されており、映画コンテンツ７００を再生する際の日本語字幕の情報を提供する。制御モジュール１２１０は、日本語字幕コンテンツ１２２０を発行する機能や、データベース１３００を検索する機能を備えている。日本語字幕コンテンツ１２２０は、映画の日本語字幕の情報であり、暗号化されている。
【００６５】
データベース１３００は、複数の制御モジュール付きライセンスを格納している。同図に示した例では、制御モジュール付きライセンス１４００が格納されている。制御モジュール付きライセンス１４００は、制御モジュール１４１０および日本語字幕ライセンス１４２０から構成されており、制御モジュール付きコンテンツ１２００の利用許諾情報である。制御モジュール１４１０は、日本語字幕ライセンス１４２０を発行する機能を備える。日本語字幕ライセンス１４２０は、日本語字幕コンテンツ１２２０の利用許諾情報（コンテンツ復号鍵）である。
【００６６】
デコーダ１５００は、音声ライセンス９２０を用いて音声コンテンツ７２０をデコード（復号）する。デコードされた音声コンテンツ７２０は、スピーカを介して、映画の音声として出力される。デコーダ１５１０は、映像ライセンス９３０を用いて映像コンテンツ７３０をデコード（復号）する。デコーダ１５２０は、日本語字幕ライセンス１４２０を用いて日本語字幕コンテンツ１２２０をデコード（復号）する。デコーダ１５１０およびデコーダ１５２０のそれぞれの出力は、ビューアにより合成され、日本語字幕を含む映画の映像とされる。
【００６７】
つぎに、図１４に示したフローチャートを参照しつつ、図９に示した構成例４の動作について説明する。同図に示したステップＳＤ１〜ステップＳＤ８は、図９に示した制御モジュール７１０、制御モジュール１２１０の動作を表し、ステップＳＥ１〜ステップＳＥ４は、制御モジュール９１０および制御モジュール１４１０の動作を表す。
【００６８】
同図に示したステップＳＤ１では、制御モジュール７１０は、映画コンテンツ７００に対応するライセンス側の制御モジュールについて、データベース８００を検索する。ステップＳＤ２では、制御モジュール７１０は、検索ヒット数がいくつであるかを判断する。検索ヒット数が０である場合、制御モジュール７１０は、ステップＳＤ８でエラー処理を実行する。また、検索ヒット数が２である場合、制御モジュール７１０は、ステップＳＤ３で二つのライセンス（制御モジュール）のうちいずれか一方を選択する。
【００６９】
この場合、検索ヒット数が１であり、制御モジュール９１０（ライセンス９００）がヒットしたものとする。従って、ステップＳＤ４では、制御モジュール７１０は、制御モジュール９１０との間で認証処理を実行する。この認証処理では、図１２を参照して説明した動作を経て相互認証が行われる。また、ステップＳＥ１でも、制御モジュール９１０は、制御モジュール７１０との間で認証処理を実行する。
【００７０】
この認証処理が終了すると、ステップＳＤ５では、制御モジュール７１０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＤ８でエラー処理を実行する。一方、ステップＳＥ２では、制御モジュール９１０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＥ４でエラー処理を実行する。
【００７１】
この場合、相互認証されたものとすると、制御モジュール７１０は、ステップＳＤ５の判断結果を「Ｙｅｓ」とし、制御モジュール９１０は、ステップＳＥ２の判断結果を「Ｙｅｓ」とする。ステップＳＤ６では、制御モジュール７１０は、制御モジュール９１０を起動する。これにより、ステップＳＥ３では、制御モジュール９１０は、復号鍵として音声ライセンス９２０および映像ライセンス９３０を取り出す。
【００７２】
つぎに、制御モジュール９１０は、図１３に示したフローチャートに従って、課金情報９４０を書き換える処理を実行する。すなわち、ステップＳＣ１では、制御モジュール９１０は、課金情報９４０を復号する。ステップＳＣ２では、制御モジュール９１０は、課金計算を実行する。
【００７３】
すなわち、制御モジュール９１０は、復号された課金情報９４０から得られる残高から、映画に関するコンテンツ（音声コンテンツ７２０、映像コンテンツ７３０等）を１回利用する際の利用料金を減算し、減算結果を新たな残高とする。ステップＳＣ３では、上記残高が、残高しきい値以上であるか否かを判断する。この判断結果が「Ｎｏ」である場合、制御モジュール９１０は、料金不足により、当該映画に関するコンテンツの利用ができないものとし、ステップＳＣ７でエラー処理を実行する。
【００７４】
この場合、ステップＳＣ３の判断結果が「Ｙｅｓ」であるものとすると、ステップＳＣ４では、制御モジュール９１０は、課金情報（残高）を暗号化し、これを課金情報９４０として格納する。ステップＳＣ５では、制御モジュール７１０は、格納が成功したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＣ７でエラー処理を実行する。この場合、ステップＳＣ５の判断結果が「Ｙｅｓ」であるものとすると、制御モジュール９１０は、音声ライセンス９２０をデコーダ１５００に対して発行するとともに、映像ライセンス９３０をデコーダ１５１０に対して発行する。
【００７５】
これに並行して、図１４に示したステップＳＤ７では、制御モジュール７１０は、暗号化された音声コンテンツ７２０および映像コンテンツ７３０を取り出し、音声コンテンツ７２０をデコーダ１５００に対して発行するとともに、映像コンテンツ７３０をデコーダ１５１０に対して発行する。これにより、デコーダ１５００により、音声コンテンツ７２０が音声ライセンス９２０を用いてデコードされ、スピーカーから映画の音声が出力される。また、デコーダ１５１０により、映像コンテンツ７３０が映像ライセンス９３０を用いてデコードされ、映画の映像が出力される。
【００７６】
つぎに、制御モジュール９１０は、図１５に示したフローチャートに従って、データベース１０００から、映画に関連する制御モジュール付きコンテンツを検索する処理を実行する。すなわち、ステップＳＦ１では、制御モジュール９１０は、データベース１０００から、映画に関連する制御モジュール付きコンテンツを検索する。ステップＳＦ２では、制御モジュール９１０は、検索ヒットしたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＦ６でエラー処理を実行する。
【００７７】
この場合、制御モジュール付きコンテンツ１２００が検索ヒットしたものとすると、制御モジュール９１０は、ステップＳＦ２の判断結果を「Ｙｅｓ」とする。ステップＳＦ３では、制御モジュール９１０は、制御モジュール付きコンテンツ１２００をデータベース１０００から取り出す。ステップＳＦ４では、制御モジュール９１０は、制御モジュール付きコンテンツ１２００の制御モジュール１２１０を起動する。ステップＳＦ５では、制御モジュール９１０は、上記起動が成功したか否かを判断し、この判断結果が「Ｙｅｓ」である場合、正常終了する。一方、ステップＳＦ６の判断結果が「Ｎｏ」である場合、制御モジュール９１０は、ステップＳＦ６でエラー処理を実行する。
【００７８】
また、制御モジュール１２１０が起動されると、図１４に示したフローチャートに従って処理が実行される。すなわち、ステップＳＤ１では、制御モジュール１２１０は、制御モジュール付きコンテンツ１２００に対応するライセンス側の制御モジュールについて、データベース１３００を検索する。ステップＳＤ２では、制御モジュール１２１０は、検索ヒット数がいくつであるかを判断する。検索ヒット数が０である場合、制御モジュール１２１０は、ステップＳＤ８でエラー処理を実行する。また、検索ヒット数が２である場合、制御モジュール１２１０は、ステップＳＤ３で二つのライセンス（制御モジュール）のうちいずれか一方を選択する。
【００７９】
この場合、検索ヒット数が１であり、制御モジュール１４１０（制御モジュール付きライセンス１４００）がヒットしたものとする。従って、ステップＳＤ４では、制御モジュール１２１０は、制御モジュール１４１０との間で認証処理を実行する。この認証処理では、図１２を参照して説明した動作を経て相互認証が行われる。また、ステップＳＥ１でも、制御モジュール１４１０は、制御モジュール１２１０との間で認証処理を実行する。
【００８０】
この認証処理が終了すると、ステップＳＤ５では、制御モジュール１２１０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＤ８でエラー処理を実行する。一方、ステップＳＥ２では、制御モジュール１４１０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＥ４でエラー処理を実行する。この場合、相互認証されたものとすると、制御モジュール１２１０は、ステップＳＤ５の判断結果を「Ｙｅｓ」とし、制御モジュール１４１０は、ステップＳＥ２の判断結果を「Ｙｅｓ」とする。
【００８１】
ステップＳＤ６では、制御モジュール１２１０は、制御モジュール１４１０を起動する。これにより、ステップＳＥ３では、制御モジュール１４１０は、復号鍵として日本語字幕ライセンス１４２０を取り出し、これをデコーダ１５２０に渡す。これに並行して、ステップＳＤ７では、制御モジュール１２１０は、日本語字幕コンテンツ１２２０を取り出し、これをデコーダ１５２０に対して発行する。これにより、デコーダ１５２０により、日本語字幕コンテンツ１２２０が日本語字幕ライセンス１４２０を用いてデコードされ、映画の日本語字幕の情報が出力される。
【００８２】
また、上述した制御モジュール９１０は、データベース１０００におけるコンテンツ（この場合、制御モジュール付きコンテンツ）に関して、消去、追加および変更を行う機能を備える。以下では、図１６〜図１８に示したフローチャートを参照して、消去、追加および変更のそれぞれの処理について説明する。消去処理において、図１６に示したステップＳＧ１では、制御モジュール９１０は、データベース１０００から消去すべきコンテンツを検索する。ステップＳＧ２では、制御モジュール９１０は、検索ヒットしたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ５でエラー処理を実行する。
【００８３】
ステップＳＧ２の判断結果が「Ｙｅｓ」である場合、ステップＳＧ３では、制御モジュール９１０は、データベース１０００から当該コンテンツを消去する。ステップＳＧ４では、制御モジュール９１０は、消去が成功したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＧ５でエラー処理を実行する。ステップＳＧ４の判断結果が「Ｙｅｓ」である場合、制御モジュール９１０は、正常終了する。
【００８４】
また、追加処理において、図１７に示したステップＳＨ１では、制御モジュール９１０は、図１２で説明した手順に従って、データベース１０００に追加すべきコンテンツ（制御モジュール付きコンテンツ）を認証する。ステップＳＨ２では、制御モジュール９１０は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＨ５でエラー処理を実行する。
【００８５】
ステップＳＨ２の判断結果が「Ｙｅｓ」である場合、ステップＳＨ３では、制御モジュール９１０は、コンテンツ（制御モジュール付きコンテンツ）をデータベース１０００に格納する。ステップＳＨ４では、制御モジュール９１０は、格納が成功したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＨ５でエラー処理を実行する。ステップＳＨ４の判断結果が「Ｙｅｓ」である場合、制御モジュール９１０は、正常終了する。
【００８６】
また、変更処理において、図１８に示したステップＳＩ１では、制御モジュール９１０は、データベース１０００から、変更すべきコンテンツ（制御モジュール付きコンテンツ）を検索する。ステップＳＩ２では、制御モジュール９１０は、検索ヒットしたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＩ５でエラー処理を実行する。
【００８７】
ステップＳＩ２の判断結果が「Ｙｅｓ」である場合、ステップＳＩ３では、制御モジュール９１０は、当該コンテンツ（制御モジュール付きコンテンツ）を変更後、これをデータベース１０００に格納する。ステップＳＩ４では、制御モジュール９１０は、格納が成功したか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＩ５でエラー処理を実行する。ステップＳＩ４の判断結果が「Ｙｅｓ」である場合、制御モジュール９１０は、正常終了する。なお、上述した消去、変更、追加の処理は、制御モジュール付きコンテンツ内の制御モジュール、前述した常駐モジュールによっても実行可能である。
【００８８】
つぎに、図１０を参照して一実施の形態の構成例５について詳述する。この図において、送信側システム１６００は、コンテンツ１６０３と制御モジュール１６０４とを合成する機能と、合成された制御モジュール付きコンテンツ１６０５を受信側システム１６５０へ送信する機能とを備えている。送信側システム１６００において、常駐モジュール１６０１は、外部プログラムとしての送信プログラム１６０２および受信プログラム１６５２を認証する機能と、送信プログラム１６０２の実行を制御する機能とを備えている。
【００８９】
送信プログラム１６０２は、図示しないＣＰＵにより実行され、コンテンツ１６０３と制御モジュール１６０４とを合成する機能と、合成された制御モジュール付きコンテンツ１６０５をセッション鍵（図１２参照）で暗号化する機能と、制御モジュール付きコンテンツ１６０５を送信する機能を実現する。受信側システム１６５０は、送信側システム１６００からの制御モジュール付きコンテンツ１６０５を受信する機能と、制御モジュール付きコンテンツ１６０５に基づいて処理を実行する機能とを備えている。
【００９０】
受信側システム１６５０において、常駐モジュール１６５１は、常駐モジュール１６０１を認証する機能と、外部プログラムとしての受信プログラム１６５２の実行を制御する機能とを備えている。受信プログラム１６５２は、図示しないＣＰＵにより実行され、制御モジュール付きコンテンツ１６０５を受信する機能と、制御モジュール付きコンテンツ１６０５をセッション鍵（図１２参照）で復号する機能と、制御モジュール付きコンテンツ１６５３を認証する機能と、制御モジュール付きコンテンツ１６５３に基づいて処理を実行する機能とを備えている。
【００９１】
なお、構成例５では、送信プログラム１６０２および受信プログラム１６５２がＣＰＵで実行されることにより、各種機能が実現されるが、以下では、説明を簡単にするために、送信プログラム１６０２および受信プログラム１６５２が各種機能を実現するものとして説明する。
【００９２】
つぎに、図２０に示したフローチャートを参照しつつ、図１０に示した構成例５の動作について説明する。同図に示したステップＳＬ１〜ステップＳＬ５は、常駐モジュール１６０１および常駐モジュール１６５１の動作を表す。はじめに、常駐モジュール１６０１および常駐モジュール１６５１は、図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、常駐モジュール１６０１に対応しており、モジュールＭB は、常駐モジュール１６５１に対応している。
【００９３】
そして、常駐モジュール１６０１と常駐モジュール１６５１との間の相互認証処理が正常終了すると、図２０に示したステップＳＬ１では、常駐モジュール１６０１は、送信プログラム１６０２との間で図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、常駐モジュール１６０１に対応しており、モジュールＭB は、送信プログラム１６０２に対応している。ステップＳＬ２では、常駐モジュール１６０１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＬ５でエラー処理を実行する。
【００９４】
この場合、ステップＳＬ２の判断結果が「Ｙｅｓ」であるものとすると、ステップＳＬ３では、常駐モジュール１６０１は、外部プログラムとしての送信プログラム１６０２に制御を要求する。具体的には、常駐モジュール１６０１は、送信プログラム１６０２に対して送信要求を出す。ステップＳＬ４では、常駐モジュール１６０１は、上記送信要求が送信プログラム１６０２に正常に受け取られたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＬ５でエラー処理を実行する。この場合、ステップＳＬ４の判断結果が「Ｙｅｓ」であるものとし、常駐モジュール１６０１は、正常終了する。
【００９５】
また、常駐モジュール１６０１からの送信要求が出されると、送信プログラム１６０２は、コンテンツ１６０３と制御モジュール１６０４とを合成し、制御モジュール付きコンテンツ１６０５を生成する。つぎに、送信プログラム１６０２は、制御モジュール付きコンテンツ１６０５をセッション鍵（図１２参照）で暗号化した後、これを受信側システム１６５０へ送信する。
【００９６】
一方、図２０に示したステップＳＬ１では、常駐モジュール１６５１は、受信プログラム１６５２との間で図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、常駐モジュール１６５１に対応しており、モジュールＭB は、受信プログラム１６５２に対応している。ステップＳＬ２では、常駐モジュール１６５１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＬ５でエラー処理を実行する。
【００９７】
この場合、ステップＳＬ２の判断結果が「Ｙｅｓ」であるものとすると、ステップＳＬ３では、常駐モジュール１６５１は、外部プログラムとしての受信プログラム１６５２に制御を要求する。具体的には、常駐モジュール１６５１は、受信プログラム１６５２に対して受信要求を出す。ステップＳＬ４では、常駐モジュール１６５１は、上記受信要求が受信プログラム１６５２に正常に受け取られたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＬ５でエラー処理を実行する。この場合、ステップＳＬ４の判断結果が「Ｙｅｓ」であるものとし、常駐モジュール１６５１は、正常終了する。
【００９８】
また、常駐モジュール１６５１からの受信要求が出されると、受信プログラム１６５２は、暗号化された制御モジュール付きコンテンツ１６０５を受信した後セッション鍵（図１２参照）を用いて復号する。つぎに、受信プログラム１６５２は、復号された制御モジュール付きコンテンツ１６５３内の制御モジュール１６０４との間で図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、受信プログラム１６５２に対応しており、モジュールＭBは、制御モジュール１６０４に対応している。そして、認証処理が正常終了すると、受信プログラム１６５２は、前述した各種制御モジュールと同様の処理を実行するように、制御モジュール付きコンテンツ１６５３内の制御モジュール１６０４を起動する。
【００９９】
つぎに、図１１を参照して一実施の形態の構成例６について詳述する。この図において、システム１７００は、コンテンツ１７０５、制御モジュール付きコンテンツ１７０３および制御モジュール付きライセンス１７０２を認証・制御・処理する機能や、制御モジュール付きコンテンツ１７０３をシステム１７５０へ送信する機能を備えている。制御モジュール付きライセンス１７０２は、制御モジュール付きコンテンツ１７０３の利用許諾情報であり、図１（ｂ）に示した制御モジュール付きライセンス２０と同様にして、制御モジュールおよびライセンスから構成されている。
【０１００】
制御モジュール付きコンテンツ１７０３は、図１（ａ）に示した制御モジュール付きコンテンツ１０と同様にして、制御モジュールおよびコンテンツから構成されている。常駐モジュール１７０１は、制御モジュール付きライセンス１７０２および制御モジュール付きコンテンツ１７０３を認証・処理・制御する機能や、制御モジュール付きコンテンツ１７０３をシステム１７５０へ送信する機能を備えている。
【０１０１】
さらに、常駐モジュール１７０１は、常駐モジュール１７０４を認証・制御する機能や、コンテンツ１７０５を処理・制御する機能も備えている。常駐モジュール１７０４は、常駐モジュール１７０１の認証・制御を行う機能や、制御モジュール付きコンテンツ１７０３やコンテンツ１７０５を制御する機能を備えている。
【０１０２】
一方、システム１７５０において、常駐モジュール１７５１は、制御モジュール付きライセンス１７０２を認証・処理・制御する機能、常駐モジュール１７０１を認証する機能、システム１７００からの制御モジュール付きコンテンツ１７０３を受信する機能等を備えている。ここで、システム１７００内の制御モジュール付きライセンス１７０２と、システム１７５０内の制御モジュール付きライセンス１７０２とは、いずれも制御モジュール付きコンテンツ１７０３の利用許諾情報である。
【０１０３】
つぎに、図２１に示したフローチャートを参照しつつ、図１１に示した構成例６の動作について説明する。同図において、システムＳＹA 、制御モジュールＣＭA 、常駐モジュールＪＭA 、システムＳＹB および常駐モジュールＪＭB は、図１１に示したシステム１７００、制御モジュール付きコンテンツ１７０３内の制御モジュール（図示略）、常駐モジュール１７０１、システム１７５０および常駐モジュール１７５１に対応している。
【０１０４】
ステップＳＭ１では、制御モジュール付きコンテンツ１７０３内の制御モジュールは、常駐モジュール１７０１に対して図１２で説明した認証処理を実行する。同時に、ステップＳＮ１では、常駐モジュール１７０１は、制御モジュール付きコンテンツ１７０３内の制御モジュールに対して図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、制御モジュール付きコンテンツ１７０３内の制御モジュールに対応しており、モジュールＭB は、常駐モジュール１７０１に対応している。
【０１０５】
そして、制御モジュール付きコンテンツ１７０３内の制御モジュールと常駐モジュール１７０１との間の相互認証処理が正常終了すると、ステップＳＭ２では、制御モジュール付きコンテンツ１７０３内の制御モジュールは、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＭ５でエラー処理を実行する。同時に、ステップＳＮ２では、常駐モジュール１７０１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＮ８でエラー処理を実行する。
【０１０６】
この場合、ステップＳＭ２およびステップＳＮ２の両判断結果が「Ｙｅｓ」であるものとする。ステップＳＭ３では、制御モジュール付きコンテンツ１７０３内の制御モジュールは、常駐モジュール１７０１に対して、制御モジュール付きコンテンツ１７０３をシステム１７５０へ送信する処理を要求する。ステップＳＭ４では、上記要求が常駐モジュール１７０１に正常に受け取られたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＭ５でエラー処理を実行する。この場合、ステップＳＭ４の判断結果が「Ｙｅｓ」であるものとすると、制御モジュール付きコンテンツ１７０３内の制御モジュールは、正常終了する。
【０１０７】
また、制御モジュール付きコンテンツ１７０３内の制御モジュールからの要求（ステップＳＭ３）を受け取ると、ステップＳＮ３では、常駐モジュール１７０１は、システム１７５０の常駐モジュール１７５１に対して図１２で説明した認証処理を実行する。同時に、ステップＳＯ１では、常駐モジュール１７５１は、常駐モジュール１７０１に対して図１２で説明した認証処理を実行する。この場合、図１２に示したモジュールＭA は、常駐モジュール１７０１に対応しており、モジュールＭB は、常駐モジュール１７５１に対応している。
【０１０８】
そして、常駐モジュール１７０１と常駐モジュール１７５１との間の相互認証処理が正常終了すると、ステップＳＮ４では、常駐モジュール１７０１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＮ８でエラー処理を実行する。同時に、ステップＳＯ２では、常駐モジュール１７５１は、認証されたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＯ８でエラー処理を実行する。
【０１０９】
この場合、ステップＳＮ４およびステップＳＯ２の両判断結果が「Ｙｅｓ」であるものとする。ステップＳＮ５では、常駐モジュール１７０１は、制御モジュール付きコンテンツ１７０３をセッション鍵（図１２参照）を用いて暗号化し、これをシステム１７５０へ送信するとともに、制御モジュール付きコンテンツ１７０３内の制御モジュールに従って処理を実行するようにシステム１７５０へ要求を出す。
【０１１０】
ステップＳＮ６では、常駐モジュール１７０１は、ステップＳＮ５の一連の処理が正常に行われたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＮ８でエラー処理を実行する。この場合、ステップＳＮ６の判断結果が「Ｙｅｓ」であるものとすると、ステップＳＮ７では、常駐モジュール１７０１は、制御モジュール付きコンテンツ１７０３内の制御モジュールに対して送信完了通知を出し、正常終了する。
【０１１１】
一方、ステップＳＯ３では、常駐モジュール１７５１は、暗号化された制御モジュール付きコンテンツ１７０３を受信した後、セッション鍵（図１２参照）を用いて復号する。ステップＳＯ４では、ステップＳＯ３の処理が正常に行われたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＯ８でエラー処理を実行する。この場合、ステップＳＯ４の判断結果が「Ｙｅｓ」であるものとすると、ステップＳＯ５では、常駐モジュール１７５１は、常駐モジュール１７０１に対して、受信完了通知を出す。
【０１１２】
ステップＳＯ６では、常駐モジュール１７５１は、受信した制御モジュール付きコンテンツ１７０３の制御モジュール（図示略）と制御モジュール付きライセンス１７０２の制御モジュールとの間で認証処理を行い、前述した動作と同様にして、コンテンツを利用するための一連の処理を実行する。ステップＳＯ７では、常駐モジュール１７５１は、一連の処理が正常に行われたか否かを判断し、この判断結果が「Ｎｏ」である場合、ステップＳＯ８でエラー処理を実行する。この場合、ステップＳＯ７の判断結果が「Ｙｅｓ」であるものとすると、常駐モジュール１７５１は、正常終了する。
【０１１３】
以上説明したように、一実施の形態によれば、制御モジュール付きコンテンツ側の制御モジュールと、制御モジュール付きライセンス側の制御モジュールとの相互連携により、コンテンツ利用に関する制御を行うようにしたので、従来のようにコンテンツを利用する装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができる。
【０１１４】
また、一実施の形態によれば、制御モジュール付きコンテンツ側の制御モジュール、常駐モジュール、制御モジュール付きライセンス側の制御モジュールの相互間で認証し、この認証結果に従って、コンテンツ利用に関する制御を行うようにしたので、セキュリティを高めることができ、不正利用を防止することができる。
【０１１５】
また、一実施の形態によれば、図１０に示したようにコンテンツ１６０３と制御モジュール１６０４とを合成し制御モジュール付きコンテンツ１６０５を生成した後、これを受信側システム１６５０へ送信するようにしたので、受信側システム１６５０でも装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができる。
【０１１６】
また、一実施の形態によれば、図１０に示したように、常駐モジュール１６０１と常駐モジュール１６５１との間で相互認証を行った結果に基づいて、制御モジュール付きコンテンツ１６０５を送信するようにしたので、セキュリティを高めることができ、悪意の第三者へ誤送信することを防止できる。
【０１１７】
また、一実施の形態によれば、図９に示したように、制御モジュール７１０、９１０および１２１０に、関連性が高い制御モジュール付きライセンスおよび制御モジュール付きコンテンツをデータベース８００、１０００および１３００から検索する検索機能を持たせ、検索されたものとの相互連携によりコンテンツ利用に関する制御を行うようにしたので、装置側の複雑な制御を必要とすることなく、容易に複数のコンテンツを利用することができる。
【０１１８】
また、一実施の形態によれば、図１６〜図１８を参照して説明したように、制御モジュール９１０にデータベース１０００の更新処理を行わせるようにしたので、装置側のデータベース管理に関する負担を低減させることができる。
【０１１９】
また、一実施の形態によれば、図３を参照して説明したように、第１の制御モジュール５１1 〜第３の制御モジュール５１3 と第１の制御モジュール６１1 〜第３の制御モジュール６１3  との組み合わせに対応する、コンテンツ利用に関する複数の制御を行うようにしたので、従来のようにコンテンツを利用する装置側の環境に依存することなく、さらに柔軟にコンテンツ利用を行うことができる。
【０１２０】
また、一実施の形態によれば、図１３を参照して説明したように、制御モジュール９１０により、当該コンテンツの利用に際して課金情報９４０を更新するようにしたので、従来のようにコンテンツ提供権限者側で課金管理する場合に比して、コンテンツ提供の管理負担を低減させることができる。
【０１２１】
また、一実施の形態によれば、図４を参照して説明したように、制御モジュール付きコンテンツ集／ライセンス集７０を用い、コンテンツ利用に関する制御を階層的に行うようにしたので、効率良く複数のコンテンツを利用することができる。
【０１２２】
以上本発明にかかる一実施の形態について図面を参照して詳述してきたが、具体的な構成例はこの一実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等があっても本発明に含まれる。以下では、図２２〜図２６を参照して一実施の形態の変形例１〜８について説明する。
【０１２３】
前述した一実施の形態では、図１（ａ）に示した制御モジュール１１によりコンテンツ１２を制御する例について説明したが、外部の制御モジュールにより制御を行うようにしてもよい。この場合を一実施の形態の変形例１として説明する。図２２は、一実施の形態の変形例１を説明する図である。この図において、仮制御モジュール付きコンテンツ１８００は、仮制御モジュール１８１０およびコンテンツ１８２０から構成されている。
【０１２４】
この仮制御モジュール１８１０は、外部からの実行要求を受けた場合に、外部の真制御モジュール１８３０に対して制御要求を出す。従って、仮制御モジュール１８１０は、コンテンツ１８２０を直接制御できない。真制御モジュール１８３０は、図１（ａ）に示した制御モジュール１１に対応するものであり、仮制御モジュール１８１０からの制御要求に応じて、制御モジュール１１と同様の制御を実行する。
【０１２５】
また、一実施の形態では、図１（ａ）に示した制御モジュール付きコンテンツ１０内の制御モジュール１１およびコンテンツ１２を、ＣＰＵ、制御モジュール、常駐モジュール等（以下、単にＣＰＵ等という）により、新たな制御モジュールおよびコンテンツに更新できるようにしてもよい。以下では、この場合を一実施の形態の変形例２として説明する。図２３（ａ）は、一実施の形態の変形例２を説明する図である。
【０１２６】
この図において、旧制御モジュール付きコンテンツ１９００Ａは、更新前のものであり、旧制御モジュール１９１０Ａおよび旧コンテンツ１９２０Ａから構成されている。この状態でＣＰＵ等により、更新処理が行われると、旧制御モジュール付きコンテンツ１９００Ａは、新制御モジュール付きコンテンツ１９００Ｂに更新される。この新制御モジュール付きコンテンツ１９００Ｂは、更新後の新制御モジュール１９１０Ｂ（旧制御モジュール１９１０Ａに対応）と、更新後の新コンテンツ１９２０Ｂ（旧コンテンツ１９２０Ａに対応）とから構成されている。
【０１２７】
また、図２３（ａ）に示した一実施の形態の変形例２では、制御モジュールおよびコンテンツの全ての部分を更新する例について説明したが、コンテンツの一部分を更新するようにしてもよい。この場合を一実施の形態の変形例３として説明する。図２３（ｂ）は、一実施の形態の変形例３を説明する図である。
【０１２８】
この図において、旧制御モジュール付きコンテンツ２０００Ａは、更新前のものであり、旧制御モジュール２０１０Ａおよび旧コンテンツ２０２０Ａから構成されている。旧コンテンツ２０２０Ａには、変更可能な旧部分コンテンツ２０３０Ａが含まれている。この状態でＣＰＵ等により、旧制御モジュール２０１０Ａおよび旧部分コンテンツ２０３０Ａに対する更新処理が行われると、旧制御モジュール付きコンテンツ２０００Ａは、新制御モジュール付きコンテンツ２０００Ｂに更新される。
【０１２９】
この新制御モジュール付きコンテンツ２０００Ｂは、更新後の新制御モジュール２０１０Ｂ（旧制御モジュール２０１０Ａに対応）と、更新後の新コンテンツ２０２０Ｂ（旧コンテンツ２０２０Ａに対応）とから構成されている。新コンテンツ２０２０Ｂにおいて更新された部分は、新部分コンテンツ２０３０Ｂである。
【０１３０】
また、図２３（ａ）に示した一実施の形態の変形例２では、制御モジュールおよびコンテンツの全ての部分を更新する例について説明したが、制御モジュールのみを更新するようにしてもよい。この場合を一実施の形態の変形例４として説明する。図２４（ａ）は、一実施の形態の変形例４を説明する図である。
【０１３１】
この図において、制御モジュール付きコンテンツ２１００Ａは、更新前のものであり、コンテンツ２１１０Ａおよび旧制御モジュール２１２０Ａから構成されている。この状態でＣＰＵ等により、旧制御モジュール２１２０Ａに対する更新処理が行われると、制御モジュール付きコンテンツ２１００Ａは、新制御モジュール付きコンテンツ２１００Ｂに更新される。この新制御モジュール付きコンテンツ２１００Ｂは、更新されない制御モジュール付きコンテンツ２１００Ａと、更新後の新制御モジュール２１２０Ｂ（旧制御モジュール２１２０Ａに対応）とから構成されている。
【０１３２】
また、図２３（ａ）に示した一実施の形態の変形例２では、制御モジュールおよびコンテンツの全ての部分を更新する例について説明したが、制御モジュールの一部分を更新するようにしてもよい。この場合を一実施の形態の変形例５として説明する。図２４（ｂ）は、一実施の形態の変形例５を説明する図である。
【０１３３】
この図において、旧制御モジュール付きコンテンツ２２００Ａは、更新前のものであり、コンテンツ２２１０Ａおよび旧制御モジュール２２２０Ａから構成されている。旧制御モジュール２２２０Ａには、更新できない制御モジュール不変部２２３０Ａと、更新可能な旧制御モジュール可変部２２４０Ａが含まれている。この状態でＣＰＵ等により、旧制御モジュール可変部２２４０Ａに対する更新処理が行われると、旧制御モジュール付きコンテンツ２２００Ａは、新制御モジュール付きコンテンツ２２００Ｂに更新される。
【０１３４】
この新制御モジュール付きコンテンツ２２００Ｂは、更新されないコンテンツ２２１０Ａと、更新後の新制御モジュール２２２０Ｂ（旧制御モジュール２２２０Ａに対応）とから構成されている。新制御モジュール２２２０Ｂは、制御モジュール不変部２２３０Ａおよび新制御モジュール可変部２２４０Ｂから構成されている。新制御モジュール２２２０Ｂにおいて更新された部分は、新制御モジュール可変部２２４０Ｂである。
【０１３５】
また、一実施の形態では、常駐モジュールを、ＣＰＵ、制御モジュール、常駐モジュール等（以下、単にＣＰＵ等という）により、新たな常駐モジュールに更新できるようにしてもよい。以下では、この場合を一実施の形態の変形例６として説明する。図２５（ａ）は、一実施の形態の変形例６を説明する図である。旧常駐モジュール２３００Ａは、更新前のものである。この状態でＣＰＵ等により、更新処理が行われると、旧常駐モジュール２３００Ａは、新常駐モジュール２３００Ｂに更新される。なお、上述した変形例１〜５では、制御モジュール付きコンテンツに代えて、制御モジュール付きライセンスに対しても更新できるようにしてもよい。
【０１３６】
また、一実施の形態の変形例６では、常駐モジュールの全ての部分を更新する例について説明したが、一部分を更新するようにしてもよい。以下では、この場合を実施の形態７として説明する。図２５（ｂ）は、一実施の形態の変形例７を説明する図である。
【０１３７】
この図において、旧常駐モジュール２４００Ａは、更新されない常駐モジュール不変部２４１０Ａと、更新可能な旧常駐モジュール可変部２４２０Ａとから構成されている。この状態でＣＰＵ等により、旧常駐モジュール可変部２４２０Ａに対する更新処理が行われると、旧常駐モジュール２４００Ａは、新常駐モジュール２４００Ｂに更新される。この新常駐モジュール２４００Ｂは、更新されない常駐モジュール不変部２４１０Ａと、更新後の新常駐モジュール可変部２４２０Ｂとから構成されている。
【０１３８】
また、一実施の形態では、変形例８として、前述したコンテンツ利用制御を実現するためのコンテンツ利用制御プログラムを図２６に示したコンピュータ読み取り可能な記録媒体２６００に記録して、この記録媒体２６００に記録されたコンテンツ利用制御プログラムを同図に示したコンピュータ２５００に読み込ませ、実行することによりコンテンツ利用制御を行うようにしてもよい。
【０１３９】
図２６に示したコンピュータ２５００は、上記コンテンツ利用制御プログラムを実行するＣＰＵ２５０１と、キーボード、マウス等の入力装置２５０２と、各種データを記憶するＲＯＭ（Read Only Memory）２５０３と、演算パラメータ等を記憶するＲＡＭ（Random Access Memory）２５０４と、記録媒体２６００からコンテンツ利用制御プログラムを読み取る読取装置２５０５と、ディスプレイ、プリンタ等の出力装置２５０６と、装置各部を接続するバスＢＵとから構成されている。
【０１４０】
ＣＰＵ２５０１は、読取装置２５０５を経由して記録媒体２６００に記録されているコンテンツ利用制御プログラムを読み込んだ後、コンテンツ利用制御プログラムを実行することにより、前述したコンテンツ利用制御を行う。なお、記録媒体２６００には、光ディスク、フロッピーディスク、ハードディスク等の可搬型の記録媒体が含まれることはもとより、ネットワークのようにデータを一時的に記録保持するような伝送媒体も含まれる。
【０１４１】
また、前述した一実施の形態では、制御モジュールのファイル形式として「ソースコード形式」、「実行形式」の例について説明したが、これらに限られることなく、ＪＡＶＡ  ＳＣＲＩＰＴやＰＥＲＬ等のスクリプト言語で記述されたファイル形式を用いてもよい。
【０１４２】
なお、前述した一実施の形態では、複数の構成例、動作例、制御モジュール、常駐モジュールについて説明したが、これらを必要に応じて組み合わせた場合も本発明に含まれる。
【０１４３】
（付記１）コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御装置において、
コンテンツと第１の制御モジュールとからなる制御モジュール付きコンテンツ、および前記コンテンツの利用許諾情報からなるライセンスと第２の制御モジュールとからなる制御モジュール付きライセンスを入力する入力手段を備え、
前記第１の制御モジュールと前記第２の制御モジュールとは、相互連携によりコンテンツ利用に関する制御を行うこと、
を特徴とするコンテンツ利用制御装置。
（付記２）前記第１の制御モジュールおよび前記第２の制御モジュールを認証し、前記第１の制御モジュールおよび前記第２の制御モジュールとの相互連携によりコンテンツ利用に関する制御を行う第３の制御モジュールを備えたことを特徴とする付記１に記載のコンテンツ利用制御装置。
（付記３）前記第３の制御モジュールの制御に従って、コンテンツと第１の制御モジュールとを合成し前記制御モジュール付きコンテンツを生成した後、該制御モジュール付きコンテンツを外部装置へ送信する送信手段を備えたことを特徴とする付記２に記載のコンテンツ利用制御装置。
（付記４）前記第３の制御モジュールは、前記外部装置との間で相互認証を行った結果に基づいて、前記送信手段を制御することを特徴とする付記３に記載のコンテンツ利用制御装置。
（付記５）前記送信手段と前記外部装置との間では、前記制御モジュール付きコンテンツに関して暗号化通信が行われ、前記送信手段は、所定の暗号鍵を用いて前記制御モジュール付きコンテンツを暗号化したものを送信することを特徴とする付記３または４に記載のコンテンツ利用制御装置。
（付記６）前記第３の制御モジュールの制御に従って、外部装置から送信された制御モジュール付きコンテンツを受信した後、該制御モジュール付きコンテンツの利用に関する制御を実行させる受信手段を備えたことを特徴とする付記２に記載のコンテンツ利用制御装置。
（付記７）前記第３の制御モジュールは、前記外部装置との間で相互認証を行った結果に基づいて、前記受信手段を制御することを特徴とする付記６に記載のコンテンツ利用制御装置。
（付記８）前記外部装置と前記受信手段との間では、前記制御モジュール付きコンテンツに関して暗号化通信が行われ、前記受信手段は、所定の復号鍵を用いて暗号化された制御モジュール付きコンテンツを復号することを特徴とする付記６または７に記載のコンテンツ利用制御装置。
（付記９）前記第１の制御モジュールおよび前記第２の制御モジュールは、少なくとも、相互認証し、認証された場合にライセンスに基づいてコンテンツを利用することを特徴とする付記１〜８のいずれか一つに記載のコンテンツ利用制御装置。
（付記１０）複数の制御モジュール付きコンテンツおよび複数の制御モジュール付きライセンスを格納するデータベースを備え、
前記第１の制御モジュールは、前記データベースから当該コンテンツに関連のある制御モジュール付きライセンスを検索し、検索された当該制御モジュール付きライセンスの制御モジュールと相互連携し、当該コンテンツの利用に関する制御を行い、前記第２の制御モジュールは、前記データベースから当該ライセンスに関連のある制御モジュール付きコンテンツを検索し、検索された当該制御モジュール付きコンテンツの制御モジュールと相互連携し、当該コンテンツの利用に関する制御を行うことを特徴とする付記１または２に記載のコンテンツ利用制御装置。
（付記１１）前記第２の制御モジュールは、前記データベース内の制御モジュール付きコンテンツの消去、追加、変更に関する更新処理を実行することを特徴とする付記１０に記載のコンテンツ利用制御装置。
（付記１２）前記第１の制御モジュールは、複数の第１のサブ制御モジュールからなり、前記第２の制御モジュールは、複数の第２のサブ制御モジュールからなり、前記複数の第１のサブ制御モジュールと前記複数の第２のサブ制御モジュールとは、組み合わせに対応する、コンテンツ利用に関する複数の制御を行うことを特徴とする付記１に記載のコンテンツ利用制御装置。
（付記１３）前記制御モジュール付きライセンスは、当該コンテンツ利用に関する課金情報を含み、前記第２の制御モジュールは、当該コンテンツの利用に際して前記課金情報を更新することを特徴とする付記１〜１２のいずれか一つに記載のコンテンツ利用制御装置。
（付記１４）コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御装置において、
階層構造をなす複数のコンテンツと該複数のコンテンツにそれぞれ対応する複数の第１の制御モジュールとからなる制御モジュール付きコンテンツ集、および前記複数のコンテンツの利用許諾情報にそれぞれ対応し階層構造をなす複数のライセンスと前記複数のライセンスにそれぞれ対応する複数の第２の制御モジュールとからなる制御モジュール付きライセンス集を入力する入力手段を備え、
前記制御モジュール付きコンテンツ集および前記制御モジュール付きライセンス集は、少なくとも一つのファイルに格納されており、
前記第１の制御モジュールと前記第２の制御モジュールとは、相互連携によりコンテンツ利用に関する制御を階層的に行うこと、
を特徴とするコンテンツ利用制御装置。
（付記１５）前記制御モジュール付きコンテンツ集および前記制御モジュール付きライセンス集からは、所望のコンテンツ、該コンテンツに対応する第１の制御モジュール、所望のライセンス、該ライセンスに対応する第２の制御モジュールが取り出し可能とされており、これらのコンテンツ、第１の制御モジュール、ライセンスおよび第２の制御モジュールは、制御モジュール付きコンテンツおよび制御モジュール付きライセンスとして利用／配布されることを特徴とする付記１４に記載のコンテンツ利用制御装置。
（付記１６）前記第１の制御モジュールと同一の機能を備える真制御モジュールを備え、前記制御モジュール付きコンテンツは、前記第１の制御モジュールに代えて、前記真制御モジュールへ制御要求を出す仮制御モジュールを備えていることを特徴とする付記１〜１５のいずれか一つに記載のコンテンツ利用制御装置。（付記１７）前記コンテンツおよび前記第１の制御モジュールを更新する更新手段を備えたことを特徴とする付記１〜１５のいずれか一つに記載のコンテンツ利用制御装置。
（付記１８）前記コンテンツの一部分を更新する更新手段を備えたことを特徴とする付記１〜１５のいずれか一つに記載のコンテンツ利用制御装置。
（付記１９）前記第１の制御モジュールを更新する更新手段を備えたことを特徴とする付記１〜１５のいずれか一つに記載のコンテンツ利用制御装置。
（付記２０）前記第１の制御モジュールの一部分を更新する更新手段を備えたことを特徴とする付記１〜１５のいずれか一つに記載のコンテンツ利用制御装置。
（付記２１）前記第３の制御モジュールを更新する更新手段を備えたことを特徴とする付記２に記載のコンテンツ利用制御装置。
（付記２２）前記第３の制御モジュールの一部を更新する更新手段を備えたことを特徴とする付記２に記載のコンテンツ利用制御装置。
（付記２３）コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御方法において、
コンテンツと第１の制御モジュールとからなる制御モジュール付きコンテンツ、および前記コンテンツの利用許諾情報からなるライセンスと第２の制御モジュールとからなる制御モジュール付きライセンスを入力する入力工程を含み、
前記第１の制御モジュールと前記第２の制御モジュールとは、相互連携によりコンテンツ利用に関する制御を行うこと、
を特徴とするコンテンツ利用制御方法。
（付記２４）前記第１の制御モジュールおよび前記第２の制御モジュールを認証し、前記第１の制御モジュールおよび前記第２の制御モジュールとの相互連携によりコンテンツ利用に関する制御を行う第３の制御モジュール工程を含むことを特徴とする付記２３に記載のコンテンツ利用制御方法。
（付記２５）前記第３の制御モジュール工程における制御に従って、コンテンツと第１の制御モジュールとを合成し前記制御モジュール付きコンテンツを生成した後、該制御モジュール付きコンテンツを外部装置へ送信する送信工程を含むことを特徴とする付記２４に記載のコンテンツ利用制御方法。
（付記２６）前記第３の制御モジュール工程の制御に従って、外部装置から送信された制御モジュール付きコンテンツを受信した後、該制御モジュール付きコンテンツの利用に関する制御を実行させる受信工程を備えたことを特徴とする付記２４に記載のコンテンツ利用制御方法。
（付記２７）複数の制御モジュール付きコンテンツおよび複数の制御モジュール付きライセンスをデータベースに格納させる格納工程を含み、
前記第１の制御モジュールは、前記データベースから当該コンテンツに関連のある制御モジュール付きライセンスを検索し、検索された当該制御モジュール付きライセンスの制御モジュールと相互連携し、当該コンテンツの利用に関する制御を行い、前記第２の制御モジュールは、前記データベースから当該ライセンスに関連のある制御モジュール付きコンテンツを検索し、検索された当該制御モジュール付きコンテンツの制御モジュールと相互連携し、当該コンテンツの利用に関する制御を行うことを特徴とする付記２３または２４に記載のコンテンツ利用制御方法。
（付記２８）前記制御モジュール付きライセンスは、当該コンテンツ利用に関する課金情報を含み、前記第２の制御モジュールは、当該コンテンツの利用に際して前記課金情報を更新することを特徴とする付記２３〜２７のいずれか一つに記載のコンテンツ利用制御方法。
（付記２９）コンテンツ提供権限者からコンテンツ利用者に対して提供されるコンテンツの利用制御を行うコンテンツ利用制御方法において、
階層構造をなす複数のコンテンツと該複数のコンテンツにそれぞれ対応する複数の第１の制御モジュールとからなる制御モジュール付きコンテンツ集、および前記複数のコンテンツの利用許諾情報にそれぞれ対応し階層構造をなす複数のライセンスと前記複数のライセンスにそれぞれ対応する複数の第２の制御モジュールとからなる制御モジュール付きライセンス集を入力する入力工程を備え、
前記制御モジュール付きコンテンツ集および前記制御モジュール付きライセンス集は、少なくとも一つのファイルに格納されており、
前記第１の制御モジュールと前記第２の制御モジュールとは、相互連携によりコンテンツ利用に関する制御を階層的に行うこと、
を特徴とするコンテンツ利用制御方法。
（付記３０）前記制御モジュール付きコンテンツ集および前記制御モジュール付きライセンス集からは、所望のコンテンツ、該コンテンツに対応する第１の制御モジュール、所望のライセンス、該ライセンスに対応する第２の制御モジュールが取り出し可能とされており、これらのコンテンツ、第１の制御モジュール、ライセンスおよび第２の制御モジュールは、制御モジュール付きコンテンツおよび制御モジュール付きライセンスとして利用／配布されることを特徴とする付記２９に記載のコンテンツ利用制御方法。
（付記３１）前記付記２３〜３０のいずれか一つに記載のコンテンツ利用制御方法をコンピュータに実行させるためのコンテンツ利用制御プログラム。
（付記３２）前記付記２３〜３０のいずれか一つに記載のコンテンツ利用制御方法をコンピュータに実行させるためのコンテンツ利用制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１４４】
【発明の効果】
以上説明したように、本発明によれば、第１の制御モジュールと第２の制御モジュールとの相互連携により、コンテンツ利用に関する制御を行うようにしたので、従来のようにコンテンツを利用する装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができるという効果を奏する。
【０１４５】
また、本発明によれば、第１の制御モジュールおよび前記第２の制御モジュールを認証し、この認証結果に従って、第１の制御モジュールおよび第２の制御モジュールとの相互連携によりコンテンツ利用に関する制御を行うようにしたので、セキュリティを高めることができ、不正利用を防止することができるという効果を奏する。
【０１４６】
また、本発明によれば、コンテンツと第１の制御モジュールとを合成し制御モジュール付きコンテンツを生成した後、これを外部装置へ送信するようにしたので、外部装置でも装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができるという効果を奏する。
【０１４７】
また、本発明によれば、外部装置との間で相互認証を行った結果に基づいて、制御モジュール付きコンテンツを送信するようにしたので、セキュリティを高めることができ、悪意の第三者へ誤送信することを防止できるという効果を奏する。
【０１４８】
また、本発明によれば、外部装置から送信された制御モジュール付きコンテンツを受信した後、該制御モジュール付きコンテンツの利用に関する制御を行うようにしたので、外部装置でも装置側の環境に依存することなく、柔軟にコンテンツ利用を行うことができるという効果を奏する。
【０１４９】
また、本発明によれば、外部装置との間で相互認証を行った結果に基づいて、制御モジュール付きコンテンツを受信するようにしたので、セキュリティを高めることができ、意図しない制御モジュール付きコンテンツを誤受信することを防止できるという効果を奏する。
【０１５０】
また、本発明によれば、第１の制御モジュールと第２の制御モジュールとの間で相互認証し、認証された場合にライセンスに基づいてコンテンツを利用するようにしたので、極めて高いセキュリティを確保することができるという効果を奏する。
【０１５１】
また、本発明によれば、第１の制御モジュールおよび第２の制御モジュールに、当該コンテンツおよび当該ライセンスに関連のある制御モジュール付きライセンスおよび制御モジュール付きコンテンツをデータベースから検索する検索機能を持たせ、検索されたものとの相互連携によりコンテンツ利用に関する制御を行うようにしたので、装置側の複雑な制御を必要とすることなく、容易に複数のコンテンツを利用することができるという効果を奏する。
【０１５２】
また、本発明によれば、第２の制御モジュールにデータベースの更新処理を行わせるようにしたので、装置側のデータベース管理に関する負担を低減させることができるという効果を奏する。
【０１５３】
また、本発明によれば、複数の第１のサブ制御モジュールと複数の第２のサブ制御モジュールとの組み合わせに対応する、コンテンツ利用に関する複数の制御を行うようにしたので、従来のようにコンテンツを利用する装置側の環境に依存することなく、さらに柔軟にコンテンツ利用を行うことができるという効果を奏する。
【０１５４】
また、本発明によれば、第２の制御モジュールにより、当該コンテンツの利用に際して課金情報を更新するようにしたので、従来のようにコンテンツ提供権限者側で課金管理する場合に比して、コンテンツ提供の管理負担を低減させることができるという効果を奏する。
【０１５５】
また、本発明によれば、制御モジュール付きコンテンツ集、および制御モジュール付きライセンス集を用い、第１の制御モジュールと第２の制御モジュールとが相互連携によりコンテンツ利用に関する制御を階層的に行うようにしたので、効率良く複数のコンテンツを利用することができるという効果を奏する。
【図面の簡単な説明】
【図１】  本発明にかかる一実施の形態で用いられる制御モジュール付きコンテンツ１０および制御モジュール付きライセンス２０の構成を示す図である。
【図２】  同一実施の形態で用いられる制御モジュール付きコンテンツ３０および制御モジュール付きライセンス４０の構成を示す図である。
【図３】  同一実施の形態で用いられる制御モジュール付きコンテンツ５０および制御モジュール付きライセンス６０の構成を示す図である。
【図４】  同一実施の形態で用いられる制御モジュール付きコンテンツ集／ライセンス集７０の構成を示す図である。
【図５】  同一実施の形態の動作を説明する図である。
【図６】  同一実施の形態の構成例１を示すブロック図である。
【図７】  同一実施の形態の構成例２を示すブロック図である。
【図８】  同一実施の形態の構成例３を示すブロック図である。
【図９】  同一実施の形態の構成例４を示すブロック図である。
【図１０】  同一実施の形態の構成例５を示すブロック図である。
【図１１】  同一実施の形態の構成例６を示すブロック図である。
【図１２】  同一実施の形態の動作を説明するフローチャートである。
【図１３】  同一実施の形態の動作を説明するフローチャートである。
【図１４】  同一実施の形態の動作を説明するフローチャートである。
【図１５】  同一実施の形態の動作を説明するフローチャートである。
【図１６】  同一実施の形態の動作を説明するフローチャートである。
【図１７】  同一実施の形態の動作を説明するフローチャートである。
【図１８】  同一実施の形態の動作を説明するフローチャートである。
【図１９】  同一実施の形態の動作を説明するフローチャートである。
【図２０】  同一実施の形態の動作を説明するフローチャートである。
【図２１】  同一実施の形態の動作を説明するフローチャートである。
【図２２】  同一実施の形態の変形例１を説明する図である。
【図２３】  同一実施の形態の変形例２および３を説明する図である。
【図２４】  同一実施の形態の変形例４および５を説明する図である。
【図２５】  同一実施の形態の変形例６および７を説明する図である。
【図２６】  同一実施の形態の変形例８示すブロック図である。
【符号の説明】
１０  制御モジュール付きコンテンツ
１１ 制御モジュール
１２ コンテンツ
２０  制御モジュール付きライセンス
２１ 制御モジュール
２２  ライセンス
７０  制御モジュール付きコンテンツ集／ライセンス集
３００ ＣＰＵ
３１０ 常駐モジュール
４００ デコーダ
４１０ 常駐モジュール
８００ データベース
１０００ データベース
１３００ データベース
１６００ 送信側システム
１６０１ 常駐モジュール
１６０２ 送信プログラム
１６５０ 受信側システム
１６５１ 常駐モジュール
１６５２ 受信プログラム
１７００ システム
１７０１ 常駐モジュール
１７０４ 常駐モジュール
１７５０ システム
１７５１ 常駐モジュール
２５００ コンピュータ
２５０１ ＣＰＵ
２６００ 記録媒体
【図１】
0004469518.tif 000002
【図２】
0004469518.tif 000003
【図３】
0004469518.tif 000004
【図４】
0004469518.tif 000005
【図５】
0004469518.tif 000006
【図６】
0004469518.tif 000007
【図７】
0004469518.tif 000008
【図８】
0004469518.tif 000009
【図９】
0004469518.tif 000010
【図１０】
0004469518.tif 000011
【図１１】
0004469518.tif 000012
【図１２】
0004469518.tif 000013
【図１３】
0004469518.tif 000014
【図１４】
0004469518.tif 000015
【図１５】
0004469518.tif 000016
【図１６】
0004469518.tif 000017
【図１７】
0004469518.tif 000018
【図１８】
0004469518.tif 000019
【図１９】
0004469518.tif 000020
【図２０】
0004469518.tif 000021
【図２１】
0004469518.tif 000022
【図２２】
0004469518.tif 000023
【図２３】
0004469518.tif 000024
【図２４】
0004469518.tif 000025
【図２５】
0004469518.tif 000026
【図２６】
0004469518.tif 000027