(57)【要約】【課題】アプリケーションをカスタマイズすることなく、また、特定のアプリケーションに限定されることなく、コンテンツ権利管理機能を提供できるシステムを実現する。【解決手段】サーバ２において、権利パラメータ生成管理部２２とフォルダ名−権利パラメータ対応付け管理部２３とは、コンテンツ６と「どのユーザにはいかなる処理の実行を許可するか」を示す権利パラメータとの対応関係を管理する。アプリケーション７にコンテンツ権利管理機能が追加されていない場合には、カーネルモードで、処理対象のコンテンツ６と権利パラメータとが暗号化される。暗号化されたデータは、サーバ２からクライアント３に送信される。クライアント３では、復号化された権利パラメータに基づいて、各ユーザに対するアプリケーション７の各処理の実行の許可／不許可が制御される。【選択図】図３
2008250607.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコンテンツを配信する配信装置と該配信装置から配信されたデジタルコンテンツを受信する受信装置とからなり、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理システムであって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段と、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第１の暗号化手段と、
前記第１の暗号化手段によって生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する、カーネルモードで動作する第１の復号化手段と、
前記第１の復号化手段によって復号化された権利パラメータに基づいて、前記第１の復号化手段によって復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する、カーネルモードで動作する第１の処理制御手段と
を備えることを特徴とする、コンテンツ権利管理システム。
【請求項２】
前記第１の暗号化手段は、カーネルモードで動作することを特徴とする、請求項１に記載のコンテンツ権利管理システム。
【請求項３】
前記コンテンツ−権利パラメータ管理手段は、
前記配信装置において、外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
前記配信装置において、デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と、
前記受信装置において、前記第１の復号化手段によって復号化された権利パラメータを管理する復号化権利パラメータ管理手段と、
前記受信装置において、デジタルコンテンツに関する情報を表す第２のメタデータを用いて各デジタルコンテンツと前記第１の復号化手段によって復号化された権利パラメータとの対応関係を管理する第２のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする、請求項１または２に記載のコンテンツ権利管理システム。
【請求項４】
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする、請求項３に記載のコンテンツ権利管理システム。
【請求項５】
前記第２のメタデータは、デジタルコンテンツに対する処理を行うアプリケーションプログラムのプロセスまたはスレッドを表すデータであることを特徴とする、請求項３または４に記載のコンテンツ権利管理システム。
【請求項６】
前記第１の復号化手段によって復号化されたデジタルコンテンツに対する編集処理が実行されたときに、前記第１の復号化手段によって復号化された権利パラメータに基づいて、前記編集処理後のデジタルコンテンツを平文保存または暗号文保存する編集データ保存手段を更に備えることを特徴とする、請求項１から５までのいずれか１項に記載のコンテンツ権利管理システム。
【請求項７】
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第２の暗号化手段と、前記第２の暗号化手段によって生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する第２の復号化手段と、前記第２の復号化手段によって復号化された権利パラメータに基づいて、前記第２の復号化手段によって復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する第２の処理制御手段とをアプリケーションプログラムに埋め込むことにより、コンテンツ権利管理機能をアプリケーションプログラムに追加するコンテンツ権利管理機能追加手段と、
前記コンテンツ権利管理機能がアプリケーションプログラムに追加されていないときには前記第１の暗号化手段と前記第１の復号化手段と前記第１の処理制御手段とを動作させ、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているときには前記第２の暗号化手段と前記第２の復号化手段と前記第２の処理制御手段とを動作させるために、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているか否かを判定する機能拡張判定手段と
を更に備えることを特徴とする、請求項１から６までのいずれか１項に記載のコンテンツ権利管理システム。
【請求項８】
デジタルコンテンツを配信する配信装置と該配信装置から配信されたデジタルコンテンツを受信する受信装置とからなるシステムにおいて、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理方法であって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理ステップと、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第１の暗号化ステップと、
カーネルモードで、前記第１の暗号化ステップで生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する第１の復号化ステップと、
カーネルモードで、前記第１の復号化ステップで復号化された権利パラメータに基づいて、前記第１の復号化ステップで復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する第１の処理制御ステップと
を備えることを特徴とする、コンテンツ権利管理方法。
【請求項９】
前記第１の暗号化ステップは、カーネルモードで実行されることを特徴とする、請求項８に記載のコンテンツ権利管理方法。
【請求項１０】
デジタルコンテンツを外部の受信装置に配信し、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理装置であって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段と、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する、カーネルモードで動作する第１の暗号化手段と、
前記受信装置において、前記第１の暗号化手段によって暗号化された権利パラメータに基づいて、前記第１の暗号化手段によって暗号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可が制御されるように、前記暗号化コンテンツデータを前記受信装置に配信する配信手段と
を備えることを特徴とする、コンテンツ権利管理装置。
【請求項１１】
前記コンテンツ−権利パラメータ管理手段は、
外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする、請求項１０に記載のコンテンツ権利管理装置。
【請求項１２】
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする、請求項１１に記載のコンテンツ権利管理装置。
【請求項１３】
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第２の暗号化手段をアプリケーションプログラムに埋め込むことにより、コンテンツ権利管理機能をアプリケーションプログラムに追加するコンテンツ権利管理機能追加手段と、
前記コンテンツ権利管理機能がアプリケーションプログラムに追加されていないときには前記第１の暗号化手段を動作させ、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているときには前記第２の暗号化手段を動作させるために、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているか否かを判定する機能拡張判定手段と
を更に備えることを特徴とする、請求項１０から１２までのいずれか１項に記載のコンテンツ権利管理装置。
【請求項１４】
デジタルコンテンツを受信装置に配信し、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためにコンピュータを、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する、前記コンピュータのカーネルモードで動作する第１の暗号化手段、および、
前記受信装置において、前記第１の暗号化手段によって暗号化された権利パラメータに基づいて、前記第１の暗号化手段によって暗号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可が制御されるように、前記暗号化コンテンツデータを前記受信装置に配信する配信手段、
として機能させるためのコンテンツ権利管理プログラム。
【請求項１５】
前記コンテンツ−権利パラメータ管理手段は、
外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする、請求項１４に記載のコンテンツ権利管理プログラム。
【請求項１６】
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする、請求項１５に記載のコンテンツ権利管理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツ権利管理システムに関し、更に詳しくは、主にインターネット等のネットワークを介して送受信されるデジタルコンテンツの不正な使用を防止するためのシステムに関する。
【背景技術】
【０００２】
近年、インターネット環境のブロードバンド化が進み、ネットワークを介した大容量のデジタルデータの送受信が行われている。このような環境下において、文書データ（例えば「電子ブック」と呼ばれているもの）、画像データ、音楽データなどのデジタルコンテンツをネットワークを介して配布（提供）することが行われている。
【０００３】
ところで、デジタルコンテンツはその複製が容易であるので、デジタルコンテンツの配布に際しては、例えば著作権の侵害となるような不正な複製を防止する必要がある。また、企業が文書データを協力会社に送信する場合に、当該協力会社では文書データに対して所定の操作のみ（例えば「表示」のみ）を許可したいことがある。そこで、デジタルコンテンツ（以下、単に「コンテンツ」という。）の配信側で「各コンテンツに対して、どのユーザにはいかなる処理（操作）の実行を許可するか」を設定して受信側における各コンテンツに対するユーザの処理の実行を制限する機能（以下、このような機能のことを「コンテンツ権利管理」という。）を備えるシステム（以下、「コンテンツ権利管理システム」という。）が提供されている。このようなコンテンツ権利管理システムとしては、例えば、マイクロソフト株式会社が提供する「Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅｓ」、株式会社エヌ・エス・イーが提供する「時限くん」（登録商標）、アルプスシステムインテグレーション株式会社が提供する「ＤｏｃｕｍｅｎｔＳｅｃｕｒｉｔｙ」などが知られている。
【特許文献１】特開２００５−３１６９０３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところが、上述した「Ｒｉｇｈｔｓ  Ｍａｎａｇｅｍｅｎｔ  Ｓｅｒｖｉｃｅｓ」については、対象のコンテンツを処理するアプリケーションプログラム（以下、単に「アプリケーション」という。）のカスタマイズが必要となる。また、「時限くん」や「ＤｏｃｕｍｅｎｔＳｅｃｕｒｉｔｙ」については、アプリケーションをカスタマイズする必要はないが、利用できるアプリケーションが限られている。また、受信側において（コンテンツの）権利管理の情報を保持しつつコンテンツの二次利用（コンテンツを編集して保存すること）を認めることのできるシステムがない。
【０００５】
そこで、本発明では、アプリケーションをカスタマイズすることなく、また、特定のアプリケーションに限定されることなく、コンテンツ権利管理の機能を提供できるシステムを実現することを目的とする。また、さらに、権利管理の情報を保持しつつコンテンツの二次利用を認める機能を提供できるシステムを実現することも目的とする。
【課題を解決するための手段】
【０００６】
第１の発明は、デジタルコンテンツを配信する配信装置と該配信装置から配信されたデジタルコンテンツを受信する受信装置とからなり、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理システムであって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段と、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第１の暗号化手段と、
前記第１の暗号化手段によって生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する、カーネルモードで動作する第１の復号化手段と、
前記第１の復号化手段によって復号化された権利パラメータに基づいて、前記第１の復号化手段によって復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する、カーネルモードで動作する第１の処理制御手段と
を備えることを特徴とする。
【０００７】
第２の発明は、第１の発明において、
前記第１の暗号化手段は、カーネルモードで動作することを特徴とする。
【０００８】
第３の発明は、第１または第２の発明において、
前記コンテンツ−権利パラメータ管理手段は、
前記配信装置において、外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
前記配信装置において、デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と、
前記受信装置において、前記第１の復号化手段によって復号化された権利パラメータを管理する復号化権利パラメータ管理手段と、
前記受信装置において、デジタルコンテンツに関する情報を表す第２のメタデータを用いて各デジタルコンテンツと前記第１の復号化手段によって復号化された権利パラメータとの対応関係を管理する第２のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする。
【０００９】
第４の発明は、第３の発明において、
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする。
【００１０】
第５の発明は、第３または第４の発明において、
前記第２のメタデータは、デジタルコンテンツに対する処理を行うアプリケーションプログラムのプロセスまたはスレッドを表すデータであることを特徴とする。
【００１１】
第６の発明は、第１から第５までのいずれかの発明において、
前記第１の復号化手段によって復号化されたデジタルコンテンツに対する編集処理が実行されたときに、前記第１の復号化手段によって復号化された権利パラメータに基づいて、前記編集処理後のデジタルコンテンツを平文保存または暗号文保存する編集データ保存手段を更に備えることを特徴とする。
【００１２】
第７の発明は、第１から第６までのいずれかの発明において、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第２の暗号化手段と、前記第２の暗号化手段によって生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する第２の復号化手段と、前記第２の復号化手段によって復号化された権利パラメータに基づいて、前記第２の復号化手段によって復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する第２の処理制御手段とをアプリケーションプログラムに埋め込むことにより、コンテンツ権利管理機能をアプリケーションプログラムに追加するコンテンツ権利管理機能追加手段と、
前記コンテンツ権利管理機能がアプリケーションプログラムに追加されていないときには前記第１の暗号化手段と前記第１の復号化手段と前記第１の処理制御手段とを動作させ、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているときには前記第２の暗号化手段と前記第２の復号化手段と前記第２の処理制御手段とを動作させるために、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているか否かを判定する機能拡張判定手段と
を更に備えることを特徴とする。
【００１３】
第８の発明は、デジタルコンテンツを配信する配信装置と該配信装置から配信されたデジタルコンテンツを受信する受信装置とからなるシステムにおいて、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理方法であって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理ステップと、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第１の暗号化ステップと、
カーネルモードで、前記第１の暗号化ステップで生成された暗号化コンテンツデータよりデジタルコンテンツと権利パラメータとを復号化する第１の復号化ステップと、
カーネルモードで、前記第１の復号化ステップで復号化された権利パラメータに基づいて、前記第１の復号化ステップで復号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可を制御する第１の処理制御ステップと
を備えることを特徴とする。
【００１４】
第９の発明は、第８の発明において、
前記第１の暗号化ステップは、カーネルモードで実行されることを特徴とする。
【００１５】
第１０の発明は、デジタルコンテンツを外部の受信装置に配信し、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためのコンテンツ権利管理装置であって、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段と、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する、カーネルモードで動作する第１の暗号化手段と、
前記受信装置において、前記第１の暗号化手段によって暗号化された権利パラメータに基づいて、前記第１の暗号化手段によって暗号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可が制御されるように、前記暗号化コンテンツデータを前記受信装置に配信する配信手段と
を備えることを特徴とする。
【００１６】
第１１の発明は、第１０の発明において、
前記コンテンツ−権利パラメータ管理手段は、
外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする。
【００１７】
第１２の発明は、第１１の発明において、
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする。
【００１８】
第１３の発明は、第１０から第１２までのいずれかの発明において、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する第２の暗号化手段をアプリケーションプログラムに埋め込むことにより、コンテンツ権利管理機能をアプリケーションプログラムに追加するコンテンツ権利管理機能追加手段と、
前記コンテンツ権利管理機能がアプリケーションプログラムに追加されていないときには前記第１の暗号化手段を動作させ、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているときには前記第２の暗号化手段を動作させるために、前記コンテンツ権利管理機能がアプリケーションプログラムに追加されているか否かを判定する機能拡張判定手段と
を更に備えることを特徴とする。
【００１９】
第１４の発明は、デジタルコンテンツを受信装置に配信し、前記受信装置においてユーザ毎にデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を制御するためにコンピュータを、
各ユーザによるデジタルコンテンツに対するアプリケーションプログラムの各処理の実行の許可／不許可を表す権利パラメータを生成し、各デジタルコンテンツと前記権利パラメータとの対応関係を管理するコンテンツ−権利パラメータ管理手段、
アプリケーションプログラムによって所定の処理が実行されているデジタルコンテンツと当該デジタルコンテンツに対応付けられている権利パラメータとを暗号化して暗号化コンテンツデータを生成する、前記コンピュータのカーネルモードで動作する第１の暗号化手段、および、
前記受信装置において、前記第１の暗号化手段によって暗号化された権利パラメータに基づいて、前記第１の暗号化手段によって暗号化されたデジタルコンテンツに対する各ユーザによるアプリケーションプログラムの各処理の実行の許可／不許可が制御されるように、前記暗号化コンテンツデータを前記受信装置に配信する配信手段、
として機能させるためのコンテンツ権利管理プログラムである。
【００２０】
第１５の発明は、第１４の発明において、
前記コンテンツ−権利パラメータ管理手段は、
外部からの入力に基づいて前記権利パラメータを生成する権利パラメータ生成手段と、
デジタルコンテンツに関する情報を表す第１のメタデータを用いて各デジタルコンテンツと前記権利パラメータとの対応関係を管理する第１のメタデータ−権利パラメータ管理手段と
を含むことを特徴とする。
【００２１】
第１６の発明は、第１５の発明において、
前記第１のメタデータは、デジタルコンテンツの保存先を表すデータであることを特徴とする。
【発明の効果】
【００２２】
上記第１の発明によれば、第１の暗号化手段によってデジタルコンテンツと権利パラメータとは暗号化され、暗号化されたデータは第１の復号化手段によって復号化される。このため、（デジタルコンテンツに）暗号化を施して、配信装置から受信装置にデジタルコンテンツを送信することができる。これにより、送信中のデジタルコンテンツをネットワーク上で不正に取得するなどしてデジタルコンテンツを不正に利用することを防止することができる。また、コンテンツ−権利パラメータ管理手段によって「各ユーザにアプリケーションプログラムのいかなる処理の実行を認めるか」が管理され、第１の処理制御手段によって各ユーザに対するアプリケーションプログラムの各処理の実行の許可／不許可が制御される。このため、デジタルコンテンツの配信者は、ユーザ（デジタルコンテンツの受信者）毎に予め定めた処理のみを実行できるように設定することができる。また、第１の復号化手段と第１の処理制御手段とはカーネルモードで動作する。このため、アプリケーションプログラムの種類に関わらず、アプリケーションプログラムとオペレーティングシステムとの間でのデータの入出力処理に、第１の復号化手段と第１の処理制御手段による処理を介入させることができる。これにより、ユーザ（デジタルコンテンツの受信者）のアプリケーションプログラムに依存することなく、上述のようなコンテンツ権利管理機能を実現することができる。
【００２３】
上記第２の発明によれば、デジタルコンテンツの配信者側のアプリケーションプログラムに依存することなく、コンテンツ権利管理機能を実現することができる。
【００２４】
上記第３の発明によれば、メタデータを用いてデジタルコンテンツと権利パラメータとの対応関係が管理される。このため、デジタルコンテンツと権利パラメータとの対応付けを容易に行うことが可能となる。これにより、容易な運用で、アプリケーションプログラムに依存することなくコンテンツ権利管理機能を実現することができる。
【００２５】
上記第４の発明によれば、配信装置では、デジタルコンテンツの保存先を用いてデジタルコンテンツと権利パラメータとの対応関係が管理される。このため、例えば、所望の権利パラメータと対応付けられているフォルダに処理対象のデジタルコンテンツを保存することによって、当該処理対象のデジタルコンテンツに所望の権利パラメータを設定することができる。これにより、デジタルコンテンツの配信側において、各デジタルコンテンツに対して簡易なオペレーションにより所望の権利パラメータを設定することができる。
【００２６】
上記第５の発明によれば、受信装置では、アプリケーションプログラムのプロセスまたはスレッドを用いてデジタルコンテンツと権利パラメータとの対応関係が管理される。このため、「受信側において、デジタルコンテンツを処理すべきアプリケーションプログラムとは異なるアプリケーションプログラムを用いて、当該デジタルコンテンツを不正に使用すること」を防止することができる。
【００２７】
上記第６の発明によれば、編集処理の施されたデジタルコンテンツが、編集データ保存手段によって権利パラメータに基づいて保存される。このため、権利管理の情報を保持しつつデジタルコンテンツの二次利用を認める機能が提供される。これにより、アプリケーションプログラムに依存することなく、二次利用についての権利管理も可能なコンテンツ権利管理機能を実現することができる。
【００２８】
上記第７の発明によれば、アプリケーションプログラムによっては、コンテンツ権利管理機能が当該アプリケーションプログラム内に追加される。そして、コンテンツ権利管理機能がアプリケーションプログラムに追加されていれば、その追加機能によって暗号化等の処理が施され、コンテンツ権利管理機能がアプリケーションプログラムに追加されていなければ、カーネルモードで暗号化等の処理が施される。このため、アプリケーションプログラムをカスタマイズするなどによりコンテンツ権利管理機能が追加されている場合に、当該アプリケーションプログラムによるコンテンツ権利管理の処理を優先させることができる。
【発明を実施するための最良の形態】
【００２９】
以下、添付図面を参照しつつ、本発明の一実施形態について説明する。
【００３０】
＜１．システムの全体構成およびハードウェア構成＞
図１は、本発明の一実施形態に係るコンテンツ権利管理システムの全体構成図である。このコンテンツ権利管理システムは、「サーバ」と呼ばれるコンピュータと「クライアント」と呼ばれるコンピュータとによって構成されている。サーバ２はコンテンツを配信するための配信部２９を備え、クライアント３はコンテンツを受信するための受信部３９を備えている。そして、サーバ２とクライアント３との間では、インターネット４を介してコンテンツの送受信が行われる。
【００３１】
サーバ２では、「各コンテンツに対して、どのユーザにはいかなる処理（ここでの「処理」とは、後述のデバイスドライバが動作する処理のことである。）の実行を許可するか」を設定するための処理やコンテンツを暗号化してクライアント３に配信する処理などが行われる。クライアント３では、サーバ２から配信された暗号化データを受信して、それを復号化する処理や復号化後のコンテンツの出力処理（例えば、表示装置の画面にコンテンツの画像を出力する処理、印刷装置によってコンテンツの画像を印刷物として出力する処理、コンテンツを編集して編集後のデータを補助記憶装置等に出力する処理）などが行われる。このように、このコンテンツ権利管理システム全体において、サーバ２はコンテンツを配信する側にあり、クライアント３はコンテンツを受信する側にある。そして、本実施形態では、サーバ２によってコンテンツ権利管理装置が実現されている。
【００３２】
図２は、本実施形態におけるサーバ２のハードウェア構成を示すブロック図である。サーバ２は、パソコン（パーソナルコンピュータ）を用いて実現されており、本体５０と補助記憶装置６０とＣＲＴ等の表示装置６１とキーボード６２や指示手段としてのマウス６３等の入力装置とを備えている。パソコン本体５０には、ＣＰＵ５００とＲＡＭやＲＯＭ等のメモリ５１０とネットワークインタフェース部５２０とディスクインタフェース部５３０と表示制御部５４０と入力インタフェース部５５０とが含まれている。ディスクインタフェース部５３０には補助記憶装置６０が接続され、表示制御部５４０には表示装置６１が接続され、入力インタフェース部５５０には入力装置が接続されている。また、サーバ２はネットワークインタフェース部５２０によってＬＡＮ６４に接続されている。そして、例えばＬＡＮ６４上に設けられたルータを介して、サーバ２はインターネット４と接続される。
【００３３】
コンテンツ権利管理のためのプログラム（以下、「コンテンツ権利管理プログラム」という。）６００は補助記憶装置６０に格納されており、このサーバ２の動作が開始すると、コンテンツ権利管理プログラム６００はディスクインタフェース部５３０を介してメモリ５１０に読み込まれる。そして、ＣＰＵ５００によって、コンテンツ権利管理プログラム６００が実行される。なお、このコンテンツ権利管理プログラム６００は、例えばＣＤ−ＲＯＭ等のコンピュータ読み取り可能な記録媒体に格納されて提供される。すなわち利用者は、コンテンツ権利管理プログラム６００の記録媒体としてのＣＤ−ＲＯＭを購入してＣＤ−ＲＯＭ駆動装置（不図示）に装着し、そのＣＤ−ＲＯＭからコンテンツ権利管理プログラム６００を読み出して補助記憶装置６０にインストールする。また、これに代えて、ＬＡＮ６４を介して送られるコンテンツ権利管理プログラム６００を受信して、補助記憶装置６０にインストールするようにしてもよい。
【００３４】
クライアント３のハードウェア構成については、図２に示すサーバ２のハードウェア構成と同様の構成となっているので、説明を省略する。但し、サーバ２は多数のクライアント３からの処理要求に応答する必要があるため、クライアント３よりもサーバ２の方が高い処理能力が必要とされる。
【００３５】
＜２．ソフトウェア構成＞
次に、本実施形態におけるソフトウェア構成について説明する。なお、サーバ２およびクライアント３において、仮想メモリは、オペレーティングシステムの中核部分であるカーネルが動作するカーネル空間とアプリケーションプログラムが動作するユーザ空間とに分けられている。
【００３６】
＜２．１  サーバのソフトウェア構成＞
図３は、サーバ２のソフトウェア構成の要部を示すブロック図である。ユーザ空間で動作する構成要素として、サーバ２には、プラグイン用プログラム２０を構成するプラグイン用暗号化部２０１、プラグイン用復号化部２０２、およびプラグイン用処理制御部２０３と、機能拡張判定部２１と、権利パラメータ生成管理部２２と、フォルダ名−権利パラメータ対応付け管理部２３と、機能追加部２６とが設けられている。また、サーバ２には、クライアント３に配信するコンテンツ６を処理するための各種アプリケーション７がインストールされている。
【００３７】
一方、カーネル空間で動作する構成要素として、サーバ２には、フィルタドライバ２７を構成するフィルタドライバ用暗号化部２７１、フィルタドライバ用復号化部２７２、およびフィルタドライバ用処理制御部２７３と、デバイス（補助記憶装置６０、表示装置６１、印刷装置など）８の動作を制御するためのデバイスドライバ２８とが設けられている。
【００３８】
プラグイン用プログラム２０は、アプリケーション７に機能を追加するためのプログラムである。本実施形態においては、機能追加部２６がプラグイン用プログラム２０をアプリケーション７に埋め込む（一般に「プラグイン」と呼ばれている。）ことによって、当該アプリケーション７にコンテンツ権利管理の機能が追加される。なお、アプリケーション７には、プラグイン用プログラム２０の埋め込みができるものと埋め込みができないものとがある。
【００３９】
プラグイン用暗号化部２０１は、アプリケーション７が読み込んでいるコンテンツ６と当該コンテンツ６について設定されている権利パラメータとを暗号化し、それら暗号化されたデータを１つのデータ（以下、「パッケージ化コンテンツ」という。）としてまとめる。ここで、「権利パラメータ」とは、（コンテンツに対して）どのユーザにはいかなる処理の実行を許可するかを設定した情報のことである。
【００４０】
プラグイン用復号化部２０２は、アプリケーション７が読み込んだパッケージ化コンテンツよりコンテンツ６と権利パラメータとを復号化する。プラグイン用処理制御部２０３は、プラグイン用復号化部２０２によって復号化された権利パラメータに基づいて、プラグイン用復号化部２０２によって復号化されたコンテンツ６に対するアプリケーション７の各処理の実行の許可／不許可を制御する。
【００４１】
機能拡張判定部２１は、アプリケーション７にコンテンツ権利管理の機能が追加されているかの判定、具体的にはプラグイン用プログラム２０がアプリケーション７に埋め込まれているかの判定を、例えばレジストリに格納されている情報に基づいて行う。なお、この機能拡張判定部２１はフィルタドライバ２７から呼び出されることによって動作する。
【００４２】
権利パラメータ生成管理部２２は、オペレータによる権利管理の情報の設定（入力）を受け付け、その情報に基づいて権利パラメータを生成し、生成した権利パラメータを管理する。本実施形態においては、オペレータは、図４（ａ）に示すように、ユーザ毎に許可する処理を割り当てる。このようなオペレータの操作により、例えば「ユーザＡ：表示○  印刷○  編集保存×、ユーザＢ：表示○  印刷×  編集保存×、ユーザＣ：表示○  印刷○  編集保存○」というようなテキスト形式の権利パラメータが生成される。なお、図４（ｂ）に示すように、許可する処理毎にユーザを割り当てるようにしても良い。
【００４３】
上述の権利パラメータは、一意の番号（以下、「ＩＤ」という。）によって識別される。すなわち、図５（ａ）に示すように、各権利パラメータにはＩＤが付与される。なお、以下においては、便宜上、或る項目と別の項目との対応関係は表によって管理されるものとして説明する。例えば、上述したＩＤと権利パラメータとの対応関係は、権利パラメータ生成管理部２２により、図５（ｂ）に示すような表（以下、「ＩＤ−権利パラメータ対応表」という。）によって管理される。
【００４４】
フォルダ名−権利パラメータ対応付け管理部２３は、コンテンツ６の保存先のフォルダの名称（フォルダ名）と権利パラメータＩＤとの対応関係を管理する。このように、コンテンツ６と権利パラメータとを対応付けるためにコンテンツ６に関する情報を表すメタデータ（本実施形態では「フォルダ名」）が用いられる。なお、フォルダ名と権利パラメータＩＤとの対応付けについては、例えばＧＵＩを設けてオペレータによる設定（入力）を受け付けるようにすれば良い。フォルダ名−権利パラメータ対応付け管理部２３は、フォルダ名と権利パラメータＩＤとの対応関係を例えば図６に示すような表（以下、「フォルダ名−権利パラメータＩＤ対応表」という。）により管理する。図６に示すような対応関係がある場合に、例えば「Ｃ：￥ＤＡＴＡ￥Ｆｏｌｄｅｒ−Ａ」フォルダに或るコンテンツ６が格納されると、当該コンテンツ６は、ＩＤとして「２」が付与されている権利パラメータと対応付けられる。従って、図５（ｂ）に示したように権利パラメータの設定が行われている場合、当該コンテンツ６に対して、ユーザＡには「表示」と「印刷」とが許可され、ユーザＤには「表示」のみが許可される。
【００４５】
フィルタドライバ２７は、アプリケーション７とデバイスドライバ２８との間の入出力データの内容を書き換えるなどして、デバイスドライバ２８の動作を通常とは異なる動作にする。デバイスドライバ２８は、補助記憶装置６０、表示装置６１、印刷装置などのデバイス８の動作を制御する。なお、フィルタドライバ２７とデバイスドライバ２８とは、カーネルモードで動作する。
【００４６】
フィルタドライバ用暗号化部２７１は、補助記憶装置６０等のデバイス８に保存するためにアプリケーション７から出力されるコンテンツ６と当該コンテンツ６について設定されている権利パラメータとを暗号化し、それら暗号化されたデータをパッケージ化コンテンツとしてまとめる。
【００４７】
フィルタドライバ用復号化部２７２は、補助記憶装置６０等のデバイス８からアプリケーション７が読み込もうとしているパッケージ化コンテンツよりコンテンツ６と権利パラメータとを復号化する。フィルタドライバ用処理制御部２７３は、フィルタドライバ用復号化部２７２によって復号化された権利パラメータに基づいて、フィルタドライバ用復号化部２７２によって復号化されたコンテンツ６に対するアプリケーション７の各処理の実行の許可／不許可を制御する。
【００４８】
なお、本実施形態においては、プラグイン用暗号化部２０１によって第２の暗号化手段が実現され、プラグイン用復号化部２０２によって第２の復号化手段が実現され、プラグイン用処理制御部２０３によって第２の処理制御手段が実現されている。また、機能拡張判定部２１によって機能拡張判定手段が実現され、権利パラメータ生成管理部２２によって権利パラメータ生成手段が実現され、フォルダ名−権利パラメータ対応付け管理部２３によって第１のメタデータ−権利パラメータ管理手段が実現され、機能追加部２６によってコンテンツ権利管理機能追加手段が実現されている。さらに、フィルタドライバ用暗号化部２７１によって第１の暗号化手段が実現され、フィルタドライバ用復号化部２７２によって第１の復号化手段が実現され、フィルタドライバ用処理制御部２７３によって第１の処理制御手段が実現されている。
【００４９】
＜２．２  クライアントのソフトウェア構成＞
図７は、クライアント３のソフトウェア構成の要部を示すブロック図である。ユーザ空間で動作する構成要素として、クライアント３には、プラグイン用プログラム２０を構成するプラグイン用復号化部２０２およびプラグイン用処理制御部２０３と、機能拡張判定部２１と、復号化権利パラメータ管理部２４と、プロセスＩＤ−権利パラメータ対応付け管理部２５と、機能追加部２６とが設けられている。また、クライアント３には、サーバ２から配信されるコンテンツ６を処理するための各種アプリケーション７がインストールされている。
【００５０】
一方、カーネル空間で動作する構成要素として、クライアント３には、フィルタドライバ２７を構成するフィルタドライバ用復号化部２７２、フィルタドライバ用処理制御部２７３、およびフィルタドライバ用編集保存部２７４と、デバイス８の動作を制御するためのデバイスドライバ２８とが設けられている。
【００５１】
復号化権利パラメータ管理部２４は、パッケージ化コンテンツを復号化することによって得られる権利パラメータを管理する。プロセスＩＤ−権利パラメータ対応付け管理部２５は、コンテンツ（パッケージ化コンテンツ）の読み込みを行ったアプリケーション７のプロセス（プロセスＩＤ）と権利パラメータＩＤとの対応関係を管理する。このように、コンテンツ６と権利パラメータとを対応付けるために、コンテンツ６を処理するアプリケーション７のプロセスのＩＤが用いられている。プロセスＩＤ−権利パラメータ対応付け管理部２５は、プロセスＩＤと権利パラメータＩＤとの対応関係を例えば図８に示すような表（以下、「プロセスＩＤ−権利パラメータＩＤ対応表」という。）により管理する。なお、プロセスについては、（プロセスの）ＩＤとプロセス名とが図９に示すように対応付けられている。
【００５２】
フィルタドライバ用編集保存部２７４は、クライアント３側にて編集が施されたコンテンツ６について、補助記憶装置６０等のデバイス８に保存するために、アプリケーション７から出力されるコンテンツ６と当該コンテンツ６について設定されている権利パラメータとを暗号化し、それら暗号化されたデータをパッケージ化コンテンツとしてまとめる。
【００５３】
機能拡張判定部２１、プラグイン用復号化部２０２、プラグイン用処理制御部２０３、機能追加部２６、フィルタドライバ用復号化部２７２、フィルタドライバ用処理制御部２７３、およびデバイスドライバ２８の動作についてはサーバ２に設けられているものと同様であるので説明を省略する。
【００５４】
なお、本実施形態においては、復号化権利パラメータ管理部２４によって復号化権利パラメータ管理手段が実現され、プロセスＩＤ−権利パラメータ対応付け管理部２５によって第２のメタデータ−権利パラメータ管理手段が実現され、フィルタドライバ用編集保存部２７４によって編集データ保存手段が実現されている。
【００５５】
＜３．コンテンツ権利管理＞
次に、本実施形態においてどのようにコンテンツ権利管理が行われるのかを説明する。まず、サーバ２において、「どのユーザにはいかなる処理の実行を許可するか」を示す権利パラメータが権利パラメータ生成管理部２２によって生成される。各権利パラメータにはＩＤが付与され、権利パラメータ生成管理部２２は、図５（ｂ）に示したようなＩＤ−権利パラメータ対応表によって権利パラメータを管理する。さらに、サーバ２において、コンテンツ６を保存するフォルダの名称（フォルダ名）と権利パラメータＩＤとの対応関係が、フォルダ名−権利パラメータ対応付け管理部２３により、図６に示したようなフォルダ名−権利パラメータＩＤ対応表によって管理される。ここで、ＩＤ−権利パラメータ対応表とフォルダ名−権利パラメータＩＤ対応表とは、権利パラメータＩＤによって互いにリンクされている。
【００５６】
ここで、図５（ｂ）に示すＩＤ−権利パラメータ対応表と図６に示すフォルダ名−権利パラメータＩＤ対応表とが存在する状態において、或るコンテンツ６に対して「ユーザＡ：表示○  印刷×  編集保存×、ユーザＣ：表示○  印刷○  編集保存×、ユーザＥ：表示○  印刷○  編集保存○」というような権利パラメータを設定したいものと仮定する。この場合、当該権利パラメータのＩＤは、図５（ｂ）より「３」である。さらに、図６より、権利パラメータＩＤが「３」であるところのフォルダ名は「Ｃ：￥ＤＡＴＡ￥Ｆｏｌｄｅｒ−Ｃ」である。そこで、オペレータは、処理対象のコンテンツ６を「Ｃ：￥ＤＡＴＡ￥Ｆｏｌｄｅｒ−Ｃ」に保存する。このとき、アプリケーション７にコンテンツ権利管理の機能が追加されていれば、当該追加機能によって処理対象のコンテンツ６と権利パラメータとが暗号化され、パッケージ化コンテンツとして保存される。一方、アプリケーション７にコンテンツ権利管理の機能が追加されていなければ、フィルタドライバ２７に設けられた機能によって処理対象のコンテンツ６と権利パラメータとが暗号化され、パッケージ化コンテンツとして保存される。以上のようにして、サーバ２において、コンテンツ６と権利パラメータとの対応付けが行われる。
【００５７】
サーバ２で生成されたパッケージ化コンテンツは、インターネット４を介して、クライアント３に送信される。クライアント３では、アプリケーション７によるコンテンツ６（パッケージ化コンテンツ）の読み込みが行われる。このとき、アプリケーション７にコンテンツ権利管理の機能が追加されていれば、当該追加機能によってパッケージ化コンテンツからコンテンツ６と権利パラメータとが復号化される。一方、アプリケーション７にコンテンツ権利管理の機能が追加されていなければ、フィルタドライバ２７に設けられた機能によってパッケージ化コンテンツからコンテンツ６と権利パラメータとが復号化される。復号化権利パラメータ管理部２４は、復号化された権利パラメータをＩＤ−権利パラメータ対応表によって管理する。プロセスＩＤ−権利パラメータ対応付け管理部２５は、復号化された権利管理パラメータとアプリケーション７のプロセスとに基づいて、図８に示したようなプロセスＩＤ−権利パラメータＩＤ対応表を生成する。以上のようにして、クライアント３において、コンテンツ６を処理するアプリケーション７のプロセスと権利パラメータとの対応付けが行われる。
【００５８】
ここで、図５（ｂ）に示すＩＤ−権利パラメータ対応表と図８に示すプロセスＩＤ−権利パラメータＩＤ対応表とが存在する状態において、「ユーザＡ」によりプロセスＩＤが「１２５」のアプリケーション７によってコンテンツ６の処理が行われたものと仮定する。この場合、図８より、プロセスＩＤが「１２５」であるところの権利パラメータＩＤは「３」である。さらに、図５（ｂ）より、ＩＤが「３」であるところの権利パラメータは「ユーザＡ：表示○  印刷×  編集保存×、ユーザＣ：表示○  印刷○  編集保存×、ユーザＥ：表示○  印刷○  編集保存○」となっている。このため、ユーザＡには、「表示」は許可されるが、「印刷」と「編集保存」とは許可されない。
【００５９】
本実施形態では、以上のようにして、コンテンツ権利管理が行われている。
【００６０】
＜４．動作＞
次に、本実施形態においてアプリケーション７がコンテンツ６の入出力を行う際の処理手順について説明する。アプリケーション７で実行される典型的な処理としては「コンテンツの保存処理」、「コンテンツの入力処理」、および「コンテンツの出力処理」があり、これらについて以下に説明する。
【００６１】
＜４．１  コンテンツの保存処理＞
コンテンツ６の保存処理について説明する。図１０は、アプリケーション７がメモリ５１０上のコンテンツ６を補助記憶装置６０等のデバイス８に保存する際の処理手順を示すフローチャートである。
【００６２】
まず、アプリケーション７によって、補助記憶装置６０等のデバイス８へのコンテンツ６の保存指示が行われる（ステップＳ１０）。この保存指示は、例えば、オペレータがアプリケーション７に設けられている「保存メニュー」を選択することによって行われる。この保存指示により、アプリケーション７からフィルタドライバ２７が呼び出される。これにより、保存対象のコンテンツ６に対する処理の主体がアプリケーション７からフィルタドライバ２７へと移される。従って、ステップＳ２０以降の処理は、フィルタドライバ２７で行われる処理である。ステップＳ１０の終了後、ステップＳ２０に進む。
【００６３】
ステップＳ２０では、アプリケーション７にコンテンツ権利管理の機能が追加されているか否かの判定が行われる。このステップでは、まず機能拡張判定部２１がフィルタドライバ２７によって呼び出される。そして、機能拡張判定部２１は、プラグイン用プログラム２０がアプリケーション７に埋め込まれているか否かに基づいて、アプリケーション７にコンテンツ権利管理の機能が追加されているか否かを判定する。判定の結果、コンテンツ権利管理の機能が追加されていれば、ステップＳ９０に進む。一方、コンテンツ権利管理の機能が追加されていなければ、ステップＳ３０に進む。
【００６４】
ステップＳ３０では、コンテンツ６の保存先のフォルダ（フォルダ名）の取得が行われる。ステップＳ３０の終了後、ステップＳ４０に進む。ステップＳ４０では、保存対象のコンテンツ６に権利パラメータが設定されているか否かの判定が行われる。この判定は、ステップＳ３０で取得されたフォルダ名に基づいて、上述したフォルダ名−権利パラメータＩＤ対応表を参照することにより行われる。判定の結果、権利パラメータが設定されていれば、ステップＳ５０に進む。一方、権利パラメータが設定されていなければ、ステップＳ９０に進む。
【００６５】
ステップＳ５０では、権利パラメータの取得が行われる。この権利パラメータの取得は、フォルダ名−権利パラメータＩＤ対応表に格納されている権利パラメータＩＤに基づいて、上述したＩＤ−権利パラメータ対応表を参照することにより行われる。ステップＳ５０の終了後、ステップＳ６０に進む。ステップＳ６０では、フィルタドライバ用暗号化部２７１が、保存対象のコンテンツ６とステップＳ５０で取得された権利パラメータとを暗号化し、それら暗号化されたデータをパッケージ化コンテンツとしてまとめる。ステップＳ６０の終了後、ステップＳ７０に進み、暗号化されたパッケージ化コンテンツに対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、保存処理は終了する。
【００６６】
ステップＳ９０では、保存対象のコンテンツ６に対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、保存処理は終了する。
【００６７】
＜４．２  コンテンツの入力処理＞
コンテンツ６の入力処理について説明する。図１１は、アプリケーション７が補助記憶装置６０等のデバイス８からメモリ５１０上にコンテンツ６を読み出す（入力する）際の処理手順を示すフローチャートである。
【００６８】
まず、補助記憶装置６０等に保存されているコンテンツ６のアプリケーション７への入力指示が行われる（ステップＳ１１０）。この入力指示は、例えば、オペレータがアプリケーション７に設けられているファイル読み込み用のメニューより処理対象のファイル（コンテンツ）を指定することによって行われる。この入力指示により、アプリケーション７からフィルタドライバ２７が呼び出される。これにより、処理対象のコンテンツ６に対する処理の主体がアプリケーション７からフィルタドライバ２７へと移される。従って、ステップＳ１２０以降の処理は、フィルタドライバ２７で行われる処理である。ステップＳ１１０の終了後、ステップＳ１２０に進む。
【００６９】
ステップＳ１２０では、図１０のステップＳ２０と同様、アプリケーション７にコンテンツ権利管理の機能が追加されているか否かの判定が行われる。判定の結果、コンテンツ権利管理の機能が追加されていれば、ステップＳ４００に進む。一方、コンテンツ権利管理の機能が追加されていなければ、ステップＳ１３０に進む。
【００７０】
ステップＳ１３０では、フィルタドライバ２７の呼び出しを行ったアプリケーション７のプロセス（プロセスＩＤ）の取得が行われる。ステップＳ１３０の終了後、ステップＳ１４０に進む。ステップＳ１４０では、処理対象のコンテンツ（ステップＳ１１０で入力指示が行われたコンテンツ）６がパッケージ化コンテンツであるか否かの判定が行われる。判定の結果、パッケージ化コンテンツであれば、ステップＳ１５０に進む。一方、パッケージ化コンテンツでなければ、ステップＳ４００に進む。
【００７１】
ステップＳ１５０では、パッケージ化コンテンツに含まれている権利パラメータの復号化ができるか否かの判定が行われる。この判定は、例えばオペレータによって入力されたパスワードに基づいて行われる。判定の結果、復号化することができれば、ステップＳ１６０に進む。一方、復号化することができなければ、ステップＳ３００に進み、エラー処理が行われる。ステップＳ１６０では、フィルタドライバ用復号化部２７２によって、暗号化されている（権利パラメータの）データを復号化することにより、権利パラメータの取得が行われる。ステップＳ１６０の終了後、ステップＳ１７０に進む。
【００７２】
ステップＳ１７０では、ログイン中のユーザ名とステップＳ１６０で取得された権利パラメータとに基づいて、処理対象のコンテンツ６を利用する権利をユーザが保持しているか否かの判定が行われる。判定の結果、権利を保持していれば、ステップＳ１８０に進む。一方、権利を保持していなければ、ステップＳ３００に進み、エラー処理が行われる。ステップＳ１８０では、ステップＳ１３０で取得されたプロセスのＩＤとステップＳ１６０で取得された権利パラメータとに基づいて、プロセス毎の権利パラメータの管理が行われる。この管理は、復号化権利パラメータ管理部２４がＩＤ−権利パラメータ対応表を生成し、プロセスＩＤ−権利パラメータ対応付け管理部２５がプロセスＩＤ−権利パラメータＩＤ対応表を生成することによって行われる。ステップＳ１８０の終了後、ステップＳ１９０に進む。
【００７３】
ステップＳ１９０では、フィルタドライバ用復号化部２７２によって、暗号化されているコンテンツ６のデータの復号化が行われる。ステップＳ１９０の終了後、ステップＳ２００に進み、復号化されたコンテンツ６に対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、入力処理は終了する。
【００７４】
ステップＳ４００では、処理対象のコンテンツ６に対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、入力処理は終了する
【００７５】
＜４．３  コンテンツの出力処理＞
コンテンツ６の出力処理について説明する。図１２および図１３は、アプリケーション７がメモリ５１０上のコンテンツ６をデバイス８に出力する際の処理手順を示すフローチャートである。
【００７６】
まず、アプリケーション７によって、デバイス８へのコンテンツ６の出力指示が行われる（ステップＳ５１０）。この出力指示は、例えば、オペレータがアプリケーション７に設けられているメニューより「印刷メニュー」を選択することによって行われる。なお、コンテンツ６の出力としては、補助記憶装置６０への出力、表示装置６１への出力、印刷装置への出力などがある。この出力指示により、アプリケーション７からフィルタドライバ２７が呼び出される。これにより、処理対象のコンテンツ６に対する処理の主体がアプリケーション７からフィルタドライバ２７へと移される。従って、ステップＳ５２０以降の処理は、フィルタドライバ２７で行われる処理である。ステップＳ５１０の終了後、ステップＳ５２０に進む。
【００７７】
ステップＳ５２０では、図１０のステップＳ２０と同様、アプリケーション７にコンテンツ権利管理の機能が追加されているか否かの判定が行われる。判定の結果、コンテンツ権利管理の機能が追加されていれば、図１３のステップＳ８００に進む。一方、コンテンツ権利管理の機能が追加されていなければ、ステップＳ５３０に進む。
【００７８】
ステップＳ５３０では、フィルタドライバ２７の呼び出しを行ったアプリケーション７のプロセス（プロセスＩＤ）の取得が行われる。ステップＳ５３０の終了後、ステップＳ５４０に進む。ステップＳ５４０では、「ステップＳ５３０で取得されたプロセスが、権利パラメータを用いてユーザ毎に処理の制限を行っているプロセスであるか否か」の判定が行われる。この判定は、プロセスＩＤに基づいて、プロセスＩＤ−権利パラメータＩＤ対応表を参照することにより行われる。判定の結果、権利パラメータを用いた管理が行われているプロセスであれば、ステップＳ５５０に進む。一方、権利パラメータを用いた管理が行われていないプロセスでなければ、ステップＳ８００に進む。
【００７９】
ステップＳ５５０では、権利パラメータの取得が行われる。この権利パラメータの取得は、プロセスＩＤ−権利パラメータＩＤ対応表に格納されている権利パラメータＩＤに基づいて、ＩＤ−権利パラメータ対応表を参照することにより行われる。ステップＳ５５０の終了後、ステップＳ５６０に進む。ステップＳ５６０では、アプリケーション７によって実行されようとしている処理内容の取得が行われる。ステップＳ５６０の終了後、ステップＳ５７０に進む。
【００８０】
ステップＳ５７０では、ログイン中のユーザ名とステップＳ５５０で取得された権利パラメータとに基づいて、処理対象のコンテンツ６を処理する権利をユーザが保持しているか否かの判定が行われる。判定の結果、権利を保持していれば、ステップＳ５８０に進む。一方、権利を保持していなければ、図１３のステップＳ７００に進み、エラー処理が行われる。ステップＳ５８０では、ステップＳ５６０で取得された処理内容が「編集保存」であるか否かの判定が行われる。判定の結果、「編集保存」であれば、ステップＳ５９０に進む。一方、「編集保存」でなければ、ステップＳ８００に進む。従って、表示装置６１への出力や印刷装置への出力の場合には、ステップＳ５８０からステップＳ８００に進む。
【００８１】
ステップＳ５９０では、処理対象のコンテンツ６に対して「平文保存」する権利をユーザが保持しているか否かの判定が行われる。判定の結果、権利を保持していれば、ステップＳ８００に進む。一方、権利を保持していなければ、ステップＳ６００に進む。ステップＳ６００では、処理対象のコンテンツ６に対して「暗号文保存」する権利をユーザが保持しているか否かの判定が行われる。判定の結果、権利を保持していれば、図１３のステップＳ６１０に進む。一方、権利を保持していなければ、ステップＳ７００に進み、エラー処理が行われる。
【００８２】
ステップＳ６１０では、フィルタドライバ用編集保存部２７４が、処理対象のコンテンツ６とステップＳ５５０で取得された権利パラメータとを暗号化し、それら暗号化されたデータをパッケージ化コンテンツとしてまとめる。ステップＳ６１０の終了後、ステップＳ６２０に進み、暗号化されたパッケージ化コンテンツに対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、出力処理は終了する。
【００８３】
ステップＳ８００では、処理対象のコンテンツ６に対する処理の主体がフィルタドライバ２７からアプリケーション７に戻される。その後、アプリケーション７が通常の処理を行い、出力処理は終了する。
【００８４】
なお、上述のように「平文保存」や「暗号文保存」する権利をユーザが保持しているか否かを判定するためには、「平文保存」についての許可／不許可および「暗号文保存」についての許可／不許可の判定ができるように権利パラメータが生成されていなければならない。
【００８５】
＜５．効果＞
以上のように、本実施形態によると、サーバ２ではフィルタドライバ用暗号化部２７１によってコンテンツ６と「どのユーザにはいかなる処理の実行を許可するか」を示す権利パラメータとが暗号化され、その暗号化によって生成されたパッケージ化コンテンツはクライアント３においてフィルタドライバ用復号化部２７２によって復号化される。このため、コンテンツ６の配信者は、暗号化を施してコンテンツ６を配信し、コンテンツ６の受信者側でコンテンツ６の復号化をさせることができる。これにより、送信中のコンテンツ６をネットワーク上で不正に取得するなどしてコンテンツ６を不正に利用することを防止することができる。また、権利パラメータ生成管理部２２とフォルダ名−権利パラメータ対応付け管理部２３とによってコンテンツ６と権利パラメータとの対応関係が管理され、その対応関係に基づいて、フィルタドライバ用処理制御部２７３によって各ユーザに対するアプリケーション７の各処理の実行の許可／不許可が制御される。このため、コンテンツ６の配信者は、ユーザ毎に予め定めた処理のみを実行できるように設定することができる。ここで、フィルタドライバ用暗号化部２７１、フィルタドライバ用復号化部２７２、およびフィルタドライバ用処理制御部２７３はカーネルモードで動作する。このため、アプリケーション７の種類に関わらず、アプリケーション７とオペレーティングシステムとの間でのデータの入出力処理に、フィルタドライバ用暗号化部２７１、フィルタドライバ用復号化部２７２、およびフィルタドライバ用処理制御部２７３による処理を介入させることができる。これにより、アプリケーション７に依存することなく、上述のようなコンテンツ権利管理機能を提供することができる。すなわち、アプリケーション７をカスタマイズすることなく、また、特定のアプリケーション７に限定されることなく、コンテンツ権利管理機能を提供できるシステムが実現される。
【００８６】
また、サーバ２では、コンテンツ６を保存するフォルダの名称（フォルダ名）を用いてコンテンツ６と権利パラメータとの対応関係が管理され、所望の権利パラメータと対応付けられているフォルダに処理対象のコンテンツ６を保存することによって、当該処理対象のコンテンツ６に所望の権利パラメータを設定することができる。これにより、コンテンツ６の配信者は、各コンテンツ６に対して簡易なオペレーションにより所望の権利パラメータを設定することができる。一方、クライアント３では、アプリケーション７のプロセスＩＤを用いてコンテンツ６と権利パラメータとの対応関係が管理される。このため、コンテンツ６を処理すべきアプリケーション７とは異なるアプリケーション７を用いて当該コンテンツ６を不正に使用することを防止することができる。
【００８７】
さらに、クライアント３では、編集処理の施されたコンテンツ６がフィルタドライバ用処理制御部２０３によって権利パラメータに基づいて保存される。このため、権利管理の情報を保持しつつコンテンツ６の二次利用を認める機能が提供される。これにより、アプリケーション７に依存することなく、二次利用についての権利管理も可能なコンテンツ権利管理機能を実現することができる。
【００８８】
さらにまた、機能追加部２６により、アプリケーション７によってはコンテンツ権利管理機能が当該アプリケーション７内に追加される。そして、コンテンツ権利管理機能がアプリケーション７に追加されていれば、その追加機能によって暗号化等の処理が施され、コンテンツ権利管理機能がアプリケーション７に追加されていなければ、カーネルモードで暗号化等の処理が施される。このため、アプリケーション７をカスタマイズするなどによりコンテンツ権利管理機能が追加されている場合に、当該アプリケーション７によるコンテンツ権利管理の処理を優先させることができる。
【００８９】
＜６．その他＞
上記実施形態においては、コンテンツ６の保存処理はサーバ２で行われ、コンテンツ６の入力処理および出力処理はクライアント３で行われる場合について説明しているが、これらの各処理はサーバ２およびクライアント３の双方で行われても良い。
【００９０】
また、上記実施形態においては、コンテンツ６と権利パラメータとを対応付けるためのメタデータとして、サーバ２ではフォルダ名が用いられ、クライアント３ではプロセスのＩＤが用いられているが、本発明はこれに限定されない。コンテンツ６と権利パラメータとの対応関係を取得できるものであれば、例えばクライアント３においてスレッドのＩＤがメタデータとして用いられても良い。
【００９１】
さらに、上記実施形態においては、「表示」や「印刷」などの処理が行われる文書データ、画像データなどの送受信が行われることを想定して説明しているが、本発明はこれに限定されない。例えば「再生」などの処理が行われる音楽データの送受信が行われるシステムにおいても本発明を適用することができる。
【００９２】
さらにまた、上記実施形態においては、ネットワークを介してコンテンツの送受信が行われることを想定して説明しているが、本発明はこれに限定されず、オフラインでコンテンツの送受信が行われる場合にも本発明を適用することができる。
【図面の簡単な説明】
【００９３】
【図１】本発明の一実施形態に係るコンテンツ権利管理システムの全体構成図である。
【図２】上記実施形態において、サーバのハードウェア構成を示すブロック図である。
【図３】上記実施形態において、サーバのソフトウェア構成の要部を示すブロック図である。
【図４】上記実施形態において、権利パラメータの設定について説明するための図である。
【図５】上記実施形態において、ＩＤ−権利パラメータ対応表を示す図である。
【図６】上記実施形態において、フォルダ名−権利パラメータＩＤ対応表を示す図である。
【図７】上記実施形態において、クライアントのソフトウェア構成の要部を示すブロック図である。
【図８】上記実施形態において、プロセスＩＤ−権利パラメータＩＤ対応表を示す図である。
【図９】上記実施形態において、プロセスＩＤとプロセス名との対応付けについて説明するための図である。
【図１０】上記実施形態において、アプリケーションがメモリ上のコンテンツをデバイスに保存する際の処理手順を示すフローチャートである。
【図１１】上記実施形態において、アプリケーションがデバイスからメモリ上にコンテンツを読み出す際の処理手順を示すフローチャートである。
【図１２】上記実施形態において、アプリケーションがメモリ上のコンテンツをデバイスに出力する際の処理手順を示すフローチャートである。
【図１３】上記実施形態において、アプリケーションがメモリ上のコンテンツをデバイスに出力する際の処理手順を示すフローチャートである。
【符号の説明】
【００９４】
２…サーバ
３…クライアント
４…インターネット
６…コンテンツ
７…アプリケーション
２１…機能拡張判定部
２２…権利パラメータ生成管理部
２３…フォルダ名−権利パラメータ対応付け管理部
２４…復号化権利パラメータ管理部
２５…プロセスＩＤ−権利パラメータ対応付け管理部
２６…機能追加部
２７…フィルタドライバ
２０１…プラグイン用暗号化部
２０２…プラグイン用復号化部
２０３…プラグイン用処理制御部
２７１…フィルタドライバ用暗号化部
２７２…フィルタドライバ用復号化部
２７３…フィルタドライバ用処理制御部
２７４…フィルタドライバ用編集保存部
【図１】
2008250607.tif 000003
【図２】
2008250607.tif 000004
【図３】
2008250607.tif 000005
【図４】
2008250607.tif 000006
【図５】
2008250607.tif 000007
【図６】
2008250607.tif 000008
【図７】
2008250607.tif 000009
【図８】
2008250607.tif 000010
【図９】
2008250607.tif 000011
【図１０】
2008250607.tif 000012
【図１１】
2008250607.tif 000013
【図１２】
2008250607.tif 000014
【図１３】
2008250607.tif 000015