(57)【特許請求の範囲】
【請求項１】
デジタルコンテンツのレンダリングを望む１人または複数のユーザに対して、ライセンスサーバが前記コンテンツに対応するデジタルライセンスを発行することを可能にする前記コンテンツをパブリッシュする方法であって、
前記コンテンツをコンテンツ鍵（ＣＫ）に従って暗号化して（ＣＫ（コンテンツ））を得るステップと、
前記ライセンスサーバの公開鍵（ＰＵ−ＲＭ）に従って前記コンテンツ鍵（ＣＫ）を暗号化するステップと、
権利テンプレートを取得するステップであって、前記権利テンプレートは、あらかじめ定義されたユーザの組、定義されたユーザごとにあらかじめ定義された権利、およびあらかじめ定義された使用条件を識別する情報を含み、複数のコンテンツに権利を定義するのに繰り返し用いるよう適合される、ステップと、
前記取得された権利テンプレートから前記コンテンツに関連付ける権利データを取り出すステップであって、前記権利データは、複数のライセンスサーバ（ＰＵｘ−ＲＭ）の公開鍵と、前記複数のライセンスサーバから少なくとも１つのライセンスサーバを選択するための規則とを含み、各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）は、前記規則にしたがって、前記権利データから取り出すことができる、ステップと、
前記取り出された権利データを変更するための規則を前記取得された権利テンプレートから取り出すステップであって、前記権利データを変更するための規則に基づいて変更されない権利データの部分の少なくとも一部はマーキング属性の組を有するタグによりマークされている、ステップと、
前記権利データを変更するための規則に従って、前記権利テンプレートから取り出された権利データを変更するステップであって、前記権利テンプレートのマークされている部分は変更されない、ステップと、
前記変更された権利データと前記暗号化されたコンテンツ鍵（ＣＫ）とを前記ライセンスサーバによる署名のために前記ライセンスサーバに権利ラベルとして提出し、前記ライセンスサーバは、前記権利ラベルの有効性を検証し、有効である場合は、（ＰＵ−ＲＭ）に対応する秘密鍵（ＰＲ−ＲＭ）に基づき、かつ少なくとも一部が前記権利データに基づくデジタル署名を作成し、署名済み権利ラベル（ＳＲＬ）を得て、前記ＳＲＬを返すステップと、
前記返されたＳＲＬを受け取り、受け取ったＳＲＬと（ＣＫ（コンテンツ））を連結してコンテンツパッケージを形成するステップと、
前記コンテンツパッケージを前記１人または複数のユーザが操作するコンピューティング装置に配布し、それにより、前記コンテンツのレンダリングを望むユーザが操作するコンピューティング装置は、前記コンテンツパッケージから前記ＳＲＬを取り出し、前記取り出したＳＲＬを、前記コンテンツに対応するライセンスの要求の一部として前記ライセンスサーバに提出し、それにより、前記ライセンスサーバは、（ＰＵ−ＲＭ）と、少なくとも部分的に前記変更された権利データとに基づいて前記ＳＲＬの署名を検証し、前記ＳＲＬ中の権利データにアクセスし、前記権利データを調べて、前記ユーザが前記ライセンスを与えられる資格を有するかどうかを判定し、資格を有する場合は、前記ユーザに前記ライセンスを発行し、前記ライセンスは、前記ユーザからアクセス可能な暗号化された形態の（ＣＫ）を含むステップと
を備えることを特徴とする方法。
【請求項２】
前記取得された権利テンプレートから、ユーザの組、各ユーザに付与される任意の権利、および各権利に課される任意の条件を含む権利データを取り出し、前記取得された権利テンプレートから、前記ユーザ、権利、および権利データの条件を変更するための規則を取り出すステップと、
前記規則に従って、前記権利テンプレートからの権利データの前記ユーザ、権利、および条件を変更するステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項３】
前記取得された権利テンプレートから、前記権利データから削除してはならないユーザを含む権利データを取り出すステップを備えることを特徴とする請求項２に記載の方法。
【請求項４】
前記権利テンプレートは、前記権利テンプレートを使用してパブリッシュすることができる１人または複数のユーザをその中に指定し、前記方法は、特定のユーザが、その権利テンプレートを使用してパブリッシュすることができるユーザの１人として前記権利テンプレートに指定される場合にのみ、前記権利テンプレートを取得するステップを備えることを特徴とする請求項１に記載の方法。
【請求項５】
前記取得された権利テンプレートから、前記コンテンツに関連付ける権利データを取り出し、前記取り出された権利データは、他の場所に記憶された情報への参照を含むステップと、
前記参照に基づいて、他の場所に記憶された前記情報を取り出すステップと、
前記権利テンプレートから取り出された前記権利データを変更して、前記参照を前記取り出された情報に置き換えるステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項６】
前記取得された権利テンプレートから、前記コンテンツに関連付ける権利データを取り出し、前記取り出される権利データは、変数によって表される情報を含むステップと、
前記権利テンプレートから取り出された前記権利データを変更して、前記変数を、前記変数に対応する１つまたは複数の情報に置き換えるステップと
を備えることを特徴とする請求項１に記載の方法。
【請求項７】
前記取得された権利テンプレートから、前記コンテンツに関連付ける権利データを取り出し、前記取り出される権利データは、変数によって表されるあるクラスのユーザを含むステップと、
前記権利テンプレートから取り出された前記権利データを変更して、前記変数を、その変数によって表されるクラスの１人または複数のユーザに置き換えるステップと
を備えることを特徴とする請求項６に記載の方法。
【請求項８】
デジタルコンテンツのレンダリングを望む１人または複数のユーザに対して、複数のライセンスサーバが前記コンテンツに対応するデジタルライセンスを発行することを可能にする前記コンテンツをパブリッシュする方法であって、
前記コンテンツをコンテンツ鍵（ＣＫ）に従って暗号化して（ＣＫ（コンテンツ））を得るステップと、
権利テンプレートを取得するステップであって、前記権利テンプレートは、あらかじめ定義されたユーザの組、定義されたユーザごとにあらかじめ定義された権利、およびあらかじめ定義された使用条件を識別する情報を含み、複数のコンテンツに権利を定義するのに繰り返し用いるよう適合される、ステップと、
前記取得された権利テンプレートから前記コンテンツに関連付ける権利データであって、前記複数のライセンスサーバの各々に対応する公開鍵を含む権利データを取り出すステップと、
前記権利データから、前記ライセンスの発行を可能にされる複数のライセンスサーバのうちの各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）を取り出すステップと、
各可能にされたライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）に従って前記コンテンツ鍵（ＣＫ）を暗号化して、可能にされた各ライセンスサーバについての（ＰＵｘ−ＲＭ（ＣＫ））を得るステップと、
前記権利データと、各可能にされたライセンスサーバについての（ＰＵｘ−ＲＭ（ＣＫ））とを前記ライセンスサーバによる署名のために権利ラベルとして前記ライセンスサーバに提出し、前記ライセンスサーバが前記権利ラベルの有効性を検証し、有効である場合は、少なくとも一部分が前記権利データに基づくデジタル署名を作成し、署名済み権利ラベル（ＳＲＬ）を得て、前記ＳＲＬを返すステップと、
前記返されたＳＲＬを受け取り、前記受け取ったＳＲＬと（ＣＫ（コンテンツ））を連結してコンテンツパッケージを形成するステップと、
前記コンテンツパッケージを前記１人または複数のユーザが操作するコンピューティング装置に配布し、それにより、前記コンテンツのレンダリングを望むユーザが操作するコンピューティング装置は、前記コンテンツパッケージから前記ＳＲＬを取り出し、前記取り出したＳＲＬを、前記コンテンツに対応するライセンスの要求の一部として前記可能にされたライセンスサーバの１つに提出し、それにより、前記可能にされたライセンスサーバは前記ＳＲＬを検証し、前記ＳＲＬ中の権利データにアクセスし、前記権利データを調べて、前記ユーザが前記ライセンスを与えられる資格を有するかどうかを判定し、資格を有する場合は、該ライセンスサーバに対応する前記権利データから（ＰＵｘ−ＲＭ（ＣＫ））を取り出し、そこから（ＣＫ）を取り出し、前記ユーザに前記ライセンスを発行し、前記ライセンスは、前記ユーザからアクセス可能な暗号化された形態の（ＣＫ）を含むステップと
を備えることを特徴とする方法。
【請求項９】
前記取り出された権利データは、前記ＳＲＬを発行する複数のライセンスサーバを識別し、前記方法は、
前記権利データから前記複数のライセンスサーバを取り出すステップと、
前記複数のライセンスサーバの１つを選択するステップと、
前記権利データと前記暗号化されたコンテンツ鍵（ＣＫ）とを、前記選択されたライセンスサーバによる署名のために前記選択されたライセンスサーバに権利ラベルとして提出するステップと
を備えることを特徴とする請求項８に記載の方法。
【請求項１０】
デジタルコンテンツのレンダリングを望む１人または複数のユーザに対して、ライセンスサーバが前記コンテンツに対応するデジタルライセンスを発行することを可能にする前記コンテンツをパブリッシュする方法であって、
前記コンテンツをコンテンツ鍵（ＣＫ）に従って暗号化して（ＣＫ（コンテンツ））を得るステップと、
前記ライセンスサーバの公開鍵（ＰＵ−ＲＭ）に従って前記コンテンツ鍵（ＣＫ）を暗号化するステップと、
権利テンプレートを取得するステップであって、前記権利テンプレートは、あらかじめ定義されたユーザの組、定義されたユーザごとにあらかじめ定義された権利、およびあらかじめ定義された使用条件を識別する情報を含み、複数のコンテンツに権利を定義するのに繰り返し用いるよう適合される、ステップと、
前記取得された権利テンプレートから前記コンテンツに関連付ける権利データを取り出すステップであって、前記権利データは、複数のライセンスサーバ（ＰＵｘ−ＲＭ）の公開鍵と、前記複数のライセンスサーバから少なくとも１つのライセンスサーバを選択するための規則とを含み、各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）は、前記規則にしたがって、前記権利データから取り出すことができる、ステップと、
前記権利データから複数のパブリッシュサーバの識別を取り出すステップと、
前記複数のパブリッシュサーバのうち１つを選択するステップと、
取り出された前記権利データを変更するための規則を前記取得された権利テンプレートから取り出すステップであって、前記権利データを変更するための規則に基づいて変更されない権利データの部分の少なくとも一部はマーキング属性の組を有するタグによりマークされている、ステップと、
前記権利データを変更するための規則に従って、前記権利テンプレートから取り出された権利データを変更するステップであって、前記権利テンプレートのマークされている部分は変更されない、ステップと、
前記変更された権利データと前記暗号化されたコンテンツ鍵（ＣＫ）とを前記選択されたパブリッシュサーバによる署名のために前記パブリッシュサーバに権利ラベルとして提出し、前記パブリッシュサーバが前記権利ラベルの有効性を検証し、有効である場合は、少なくとも一部が前記権利データに基づくデジタル署名を作成し署名済み権利ラベル（ＳＲＬ）を得て、前記ＳＲＬを返すステップと、
前記返されたＳＲＬを受け取り、受け取ったＳＲＬと（ＣＫ（コンテンツ））とを連結してコンテンツパッケージを形成するステップと、
前記コンテンツパッケージを前記１人または複数のユーザが操作するコンピューティング装置に配布し、それにより、前記コンテンツのレンダリングを望むユーザが操作するコンピューティング装置は、前記コンテンツパッケージから前記ＳＲＬを取り出し、前記取り出したＳＲＬを、前記コンテンツに対応するライセンスの要求の一部として前記ライセンスサーバに提出し、それにより、前記ライセンスサーバは、（ＰＵ−ＲＭ）と、少なくとも部分的に前記変更された権利データとに基づいて前記ＳＲＬの署名を検証し、前記ＳＲＬ中の権利データにアクセスし、前記権利データを調べて、前記ユーザが前記ライセンスを与えられる資格を有するかどうかを判定し、資格を有する場合は、前記ユーザに前記ライセンスを発行し、前記ライセンスは、前記ユーザからアクセス可能な暗号化された形態の（ＣＫ）を含むステップと
を備えることを特徴とする方法。
【請求項１１】
デジタルコンテンツがそこからパブリッシュされるべき権利テンプレートを作成して、ライセンスサーバが、前記コンテンツのレンダリングを望む１人または複数のユーザに前記コンテンツに対応するデジタルライセンスを発行できるようにする方法であって、
前記権利テンプレート中に、あらかじめ定義されたユーザの組と、複数のコンテンツに関連付けられ、定義されたユーザごとにあらかじめ定義された権利データと、前記権利データを変更するための規則とを定義するステップであって、前記権利テンプレートは、複数のコンテンツに権利を定義するのに繰り返し用いるよう適合され、前記権利データは、複数のライセンスサーバ（ＰＵｘ−ＲＭ）の公開鍵と、前記複数のライセンスサーバから少なくとも１つのライセンスサーバを選択するための規則とを含み、各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）は、前記規則にしたがって、前記権利データから取り出すことができる、ステップと、
前記権利データを変更するための規則に基づいて変更されない前記権利データの部分を識別し、前記識別された部分の少なくとも一部をマーキング属性の組を有するタグによりマークするステップと、
前記権利テンプレートの前記マークされた部分に基づいて前記権利テンプレートに署名してデジタル署名を作成し、それにより、前記コンテンツをパブリッシュするパブリッシャは、前記権利データを変更するための規則に従って前記テンプレートの前記権利データを変更できるが、前記テンプレートの前記マークされた部分は変更しないものとされ、したがって前記デジタル署名の検証を妨げてはならないステップと
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、著作権管理（ＲＭ）システムに関する。
特に、本発明は、そのようなＲＭシステムで、柔軟性のある権利テンプレートを使用して、デジタルコンテンツの一部についてライセンスサーバから署名された権利ラベル（ＳＲＬ）を取得する際に行われるステップに関する。
【背景技術】
【０００２】
著作権の管理と執行は、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツのようなデジタルコンテンツを１人または複数のユーザに配布すべき場合に、そうしたコンテンツとの関連で非常に望ましい。デジタルコンテンツは、例えばテキスト文書のように静的であるか、または、ライブイベントのストリームオーディオ／ビデオのようにストリーミングすることができる。典型的な配布方式には、磁気（フロッピー（登録商標））ディスク、磁気テープ、光（コンパクト）ディスク（ＣＤ）などの有形のデバイスと、電子掲示板、電子ネットワーク、インターネットなどのような無形の媒体が含まれる。ユーザによって受信されると、ユーザは、パーソナルコンピュータのメディアプレーヤなどの適当なレンダリングデバイスを用いてそのデジタルコンテンツをレンダリングあるいは「再生」する。
【０００３】
あるシナリオでは、作者、パブリッシャ（ｐｕｂｌｉｓｈｅｒ）、放送者などのコンテンツ所有者あるいは著作権所有者は、ライセンス料あるいは何らかの他の対価と引き換えにそのようなデジタルコンテンツを多数のユーザあるいは受信者１人１人に配布することを望む。そのようなシナリオでは、コンテンツは、歌、歌のアルバム、映画などであり、配布の目的は、ライセンス料を生み出すことである。そのようなコンテンツ所有者は、選択の自由を与えられると、ユーザがそのような配布後のデジタルコンテンツに行える事柄を制限することをおそらく望むであろう。例えば、コンテンツ所有者は、少なくともコンテンツ所有者が第２のユーザからライセンス料を得られないような方式でユーザがコンテンツをコピーし、第２のユーザに再配布することを制限したいと考える。
【０００４】
また、コンテンツ所有者は、異なるライセンス料で異なる種類の使用ライセンスを購入する柔軟性をユーザに提供し、同時に、実際に購入されたライセンス種類の条件を守らせることを望む場合がある。例えば、コンテンツ所有者は、配布後のデジタルコンテンツを、限られた回数だけ、所定の合計時間のみ、所定の種類のマシンでのみ、所定の種類のメディアプレーヤでのみ、所定の種類のユーザによってのみ再生できるようにしたい場合がある。
【０００５】
別のシナリオでは、組織の従業員などのコンテンツ開発者が、デジタルコンテンツを組織内の１人または複数の他の従業員、あるいは組織外の他の個人に配布したいが、その他の者はそのコンテンツをレンダリングできないようにしたい場合がある。この場合のコンテンツの配布は、ライセンス料あるいは何らかの他の対価と引き換えに行われる広範囲の配布と対照的に、機密のあるいは制約のある方式による組織内のコンテンツ共有により近い。そのようなシナリオでは、コンテンツは、オフィス環境で交換されるような文書のプレゼンテーション、表計算、データベース、電子メールなどであり、コンテンツ開発者は、コンテンツがオフィス環境内にとどまり、例えば競合者や敵対者などの権限のない者によってレンダリングされないようにしたいと考える。この場合も、コンテンツ開発者は、受信者が配布後のデジタルコンテンツに行える事柄を制限したいと考える。例えば、コンテンツ所有者は、少なくともコンテンツのレンダリングを許可されるべき者の範囲を超えてコンテンツを露出する方式でユーザがコンテンツをコピーし、第２のユーザに再配布することを制限したいと望む。
【０００６】
また、コンテンツ開発者は、様々な受信者に異なるレベルのレンダリング権を提供したい場合がある。例えば、コンテンツ開発者は、あるクラスの個人については保護されたデジタルコンテンツを閲覧できるが印刷はできないようにし、別のクラスの個人については閲覧と印刷を可能にしたい場合がある。
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかし、いずれのシナリオでも、配布が行われてしまうと、そのようなコンテンツ所有者／開発者は、デジタルコンテンツに対するコントロールを持つにしても非常にわずかしか持たない。これは特に、そのようなデジタルコンテンツの正確なデジタルコピーを作成し、その正確なデジタルコピーを書き込み可能な磁気ディスクあるいは光ディスクにダウンロードするか、またはその正確なデジタルコピーをインターネットなどのネットワークを介して任意の宛先に送信するのに必要なソフトウェアとハードウェアを、実質的にすべてのパーソナルコンピュータが備えているという事実を考慮すると問題となる。
【０００８】
もちろん、コンテンツが配布されるトランザクションの一部として、コンテンツ所有者／開発者は、デジタルコンテンツのユーザ／受信者がそのようなデジタルコンテンツを好ましくない方式で再配布しないと約束することを要求することができる。しかし、そのような約束は、容易に行われ、容易に破られる。コンテンツ所有者／開発者は、通例は暗号化と復号化を伴ういくつかの周知のセキュリティ手段のいずれかを介してそのような再配布を防止することを試みることができる。しかし、決意の弱いユーザが暗号化されたデジタルコンテンツを復号化し、そのデジタルコンテンツを非暗号化形式で保存し、それを再配布することを防止するものは非常にわずかしかない。
【０００９】
したがって、任意形式のデジタルコンテンツのコントロールされたレンダリングあるいは再生を可能にする著作権管理および執行のアーキテクチャおよび方法を提供することが必要とされ、そのコントロールは、柔軟性があって、デジタルコンテンツのコンテンツ所有者／開発者によって定義可能なものが必要とされる。より具体的には、特に規定された個人のグループまたはクラスの個人の間で文書が共有されるオフィスまたは組織環境などで、そのようなコントロールされたレンダリングを可能にするとともに容易にするアーキテクチャが必要とされる。さらに具体的には、そのような環境内のデジタルコンテンツのパブリッシャに、デジタルコンテンツに関してのユーザとそのようなユーザの権利を指定する、あらかじめ定義された、本質的に柔軟性のあるテンプレートを提供するアーキテクチャが必要とされる。
【課題を解決するための手段】
【００１０】
本発明は、ライセンスサーバが、コンテンツのレンダリングを望む１人または複数のユーザに対してコンテンツに対応するデジタルライセンスを発行することを可能にする、デジタルコンテンツをパブリッシュするシステムおよび方法を提供することにより、当技術分野における上述の要求を満たす。
【００１１】
１つの方法では、コンテンツは、コンテンツ鍵に従って暗号化されその結果（ＣＫ（コンテンツ））が得られ、コンテンツ鍵（ＣＫ）は、ライセンスサーバの公開鍵（ＰＵ−ＲＭ）に従って保護される。権利テンプレートから権利データを取り出してコンテンツに関連付け、取り出した権利データを変更するための規則も、取り出した権利テンプレートから取り出される。権利テンプレートから取り出された権利データは、規則に従って変更され、権利データと保護されたコンテンツ鍵（ＣＫ）は、ライセンスサーバによる署名のために権利ラベルとしてライセンスサーバに提出される。したがって、ライセンスサーバは、権利ラベルの有効性を検証し、有効である場合は、（ＰＵ−ＲＭ）に対応する、少なくとも一部分が権利データに基づく秘密鍵（ＰＲ−ＲＭ）に基づいてデジタル署名を作成し、その結果署名済み権利ラベル（ＳＲＬ）を得て、ＳＲＬを返す。
【００１２】
返されたＳＲＬは、受け取られ、（ＣＫ（コンテンツ））と連結されてコンテンツパッケージを形成し、このコンテンツパッケージが１人または複数のユーザに配布される。したがって、コンテンツをレンダリングしたいユーザは、コンテンツパッケージからＳＲＬを取り出し、取り出したＳＲＬを、コンテンツに対応するライセンスの要求の一部としてライセンスサーバに提出する。ライセンスサーバは、（ＰＵ−ＲＭ）と、少なくとも部分的には保護された権利データとに基づいてＳＲＬの署名を検証し、ＳＲＬ中の権利データにアクセスし、その権利データを調べて、ユーザがライセンスを得る資格を有するかどうかを判定し、有する場合はユーザにライセンスを発行し、このライセンスは、ユーザからアクセス可能な保護された形式の（ＣＫ）を含む。
【００１３】
別の方法では、複数のライセンスサーバが、コンテンツに対応するデジタルライセンスを発行することを可能にされる。詳細には、ライセンスの発行を可能にされるべき各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）が権利テンプレートの権利データから取り出され、可能にされた各ライセンスサーバの公開鍵（ＰＵｘ−ＲＭ）に従ってコンテンツ鍵（ＣＫ）が保護されて、可能にされたライセンスサーバごとに（ＰＵｘ−ＲＭ（ＣＫ））がもたらされる。したがって、権利データと、可能にされた各ライセンスサーバの（ＰＵｘ−ＲＭ（ＣＫ））とがライセンスサーバによる署名のために権利ラベルとしてライセンスサーバに提出される。コンテンツのレンダリングを望むユーザは、結果生成されたＳＲＬを取り出し、取り出したＳＲＬを、コンテンツに対応するライセンスを求める要求の一部として、可能にされたライセンスサーバの１つに提出する。次いで、可能にされたライセンスサーバは、ＳＲＬの有効性を検証し、ＳＲＬの権利データにアクセスし、権利データを調べて、ユーザがライセンスを得る資格を有するかどうかを判定し、有する場合は、そのライセンスサーバに対応する（ＰＵｘ−ＲＭ（ＣＫ））を権利データから取り出し、そこから（ＣＫ）を取り出し、ユーザにライセンスを発行する。ここで、ライセンスは、ユーザからアクセス可能な保護された形式の（ＣＫ）を含む。
【００１４】
さらに別の方法では、複数のパブリッシュサーバのアイデンティフィケーション（ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）が権利データから取り出され、その複数のパブリッシュサーバの１つが選択される。したがって、権利データと保護されたコンテンツ鍵（ＣＫ）が、発行サーバによる署名のために、選択されたパブリッシュサーバに権利ラベルとして提出される。
【００１５】
さらに別の方法では、コンテンツに関連付ける権利データと、その権利データを変更するための規則とを権利テンプレート中に定義し、その規則に基づいて変更されない権利データの部分を識別することにより、権利テンプレートを作成する。識別された部分の少なくとも一部はマークされ、マークされた部分に基づいて権利テンプレートが署名されてデジタル署名を作成する。したがって、コンテンツをパブリッシュするパブリッシャは、規則に従ってテンプレートの権利データを変更することができるが、テンプレートのマークされた部分は変更しないものとされ、したがって、デジタル署名の検証を妨げてはならない。
【００１６】
本発明のこの他の特徴は、添付の図面と併せて以下の本発明の実施形態の詳細な説明からさらに明らかになろう。
【発明を実施するための最良の形態】
【００１７】
例示的コンピューティングデバイス
図１および以下の説明では、本発明を実施することが可能な適切なコンピューティング環境の簡単で概略的な説明を提供することを意図している。ただし、あらゆる種類のハンドヘルド型、携帯型、およびその他のコンピューティング装置の使用が、本発明との関連で考慮されていることを理解されるべきである。以下では汎用コンピュータを説明するが、これは一例に過ぎず、本発明は、ネットワークサーバとの相互接続と対話を有するシンクライアント（ｔｈｉｎ  ｃｌｉｅｎｔ）のみを必要とする。したがって、本発明は、例えばクライアント装置が単にブラウザとしてまたはワールドワイドウェブとのインターフェースとしての役目をするネットワーク環境など、非常に少ないか、最小限のクライアントリソースが関与する、ネットワーク化されたホストされるサービスからなる環境で実施することができる。
【００１８】
これは必須ではないが、本発明は、開発者によって使用される、および／またはネットワークブラウズソフトウェア内に含まれるアプリケーションプログラミングインターフェース（ＡＰＩ）を介して実施することができ、このＡＰＩについては、クライアントワークステーション、サーバ、あるいは他の装置などの１つまたは複数のコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明する。一般に、プログラムモジュールには、特定のタスクを行うか、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。通常、プログラムモジュールの機能は、各種の実施形態で要望どおりに組み合わせても分散してもよい。さらに、当業者は、本発明が他のコンピュータシステム構成で実施できることを理解されよう。本発明に使用するのに好適でありうる、他のよく知られたコンピューティングシステム、環境、および／または構成には、これらに限定しないが、パーソナルコンピュータ（ＰＣ）、現金自動預払機、サーバコンピュータ、ハンドヘルドまたはラップトップ機、マルチプロセッサシステム、マイクロプロセッサを利用したシステム、プログラム可能な家庭電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどが含まれる。本発明は、通信ネットワークまたは他のデータ伝送媒体を介してリンクされた遠隔の処理装置によってタスクが行われる分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含むローカルおよびリモート両方のコンピュータ記憶媒体に置くことができる。
【００１９】
したがって、図１には本発明を実施することができる好適なコンピューティングシステム環境１００の一例を示すが、上記で明確にしているように、コンピューティングシステム環境１００は、好適なコンピューティング環境の一例に過ぎず、本発明の使用または機能の範囲についていかなる制限を示唆することを意図するものではない。また、コンピューティング環境１００は、例示的動作環境１００に示す構成要素のいずれか１つまたは組合せに関連する依存性を有するものとも必要性を有するものとも解釈すべきでない。
【００２０】
図１を参照すると、本発明を実施する例示的システムは、コンピュータ１１０の形態の汎用コンピューティング装置を含む。コンピュータ１１０の構成要素には、これらに限定しないが、処理装置１２０、システムメモリ１３０、およびシステムメモリを含む各種のシステム構成要素を処理装置１２０に接続するシステムバス１２１が含まれる。システムバス１２１は、各種のバスアーキテクチャのいずれかを使用した、メモリバスまたはメモリコントローラ、ペリフェラルバス、およびローカルバスを含む数種のバス構造のいずれでもよい。限定ではなく例として、そのようなアーキテクチャには、ＩＳＡ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＭＣＡ（Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）バス、ＥＩＳＡ（Ｅｎｈａｎｃｅｄ  ＩＳＡ）バス、ＶＥＳＡ（Ｖｉｄｅｏ  Ｅｌｅｃｔｒｏｎｉｃｓ  Ｓｔａｎｄａｒｄｓ  Ａｓｓｏｃｉａｔｉｏｎ）ローカルバス、（メザニンバスとしても知られている）ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バスが挙げられる。
【００２１】
コンピュータ１１０は通常、各種のコンピュータ読み取り可能な媒体を含む。コンピュータ読み取り可能な媒体は、コンピュータ１１０によるアクセスが可能な任意の利用可能な媒体でよく、揮発性および不揮発性の、取り外し可能および固定の媒体が含まれる。限定ではなく例として、コンピュータ読み取り可能な媒体は、コンピュータ記憶媒体と通信媒体を含むことができる。コンピュータ記憶媒体には、コンピュータ読み取り可能な命令、データ構造、プログラムモジュール、またはその他のデータなどの情報を記憶するための任意の方法または技術で実施された揮発性および不揮発性の、取り外し可能および固定の媒体が含まれる。コンピュータ記憶媒体には、これらに限定しないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、または他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）、または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置、またはその他の磁気記憶装置、あるいは、所望の情報を記憶するのに使用することができ、コンピュータ１１０によるアクセスが可能な任意の他の媒体が含まれる。通信媒体は、典型的には、搬送波やその他の搬送メカニズムなどの変調されたデータ信号中のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、または他のデータなどを具現化するものであり、任意の情報伝達媒体を含む。「変調されたデータ信号」という用語は、信号内に情報を符号化するような方法で、１つまたは複数の特性が設定または変更された信号を意味する。限定ではなく例として、通信媒体には、有線ネットワークや直接配線接続などの有線媒体と、音響、ＲＦ、赤外線、および他の無線媒体などの無線媒体がある。上記の任意の組合せもコンピュータ読み取り可能な媒体の範囲に含まれる。
【００２２】
システムメモリ１３０は、読み出し専用メモリ（ＲＯＭ）１３１およびランダムアクセスメモリ（ＲＡＭ）１３２などの揮発性および／または不揮性メモリの形態のコンピュータ記憶媒体を含む。起動時などにコンピュータ１１０内の構成要素間の情報転送を支援する基本ルーチンを含んだ基本入出力システム１３３（ＢＩＯＳ）が、通常、ＲＯＭ１３１に記憶される。ＲＡＭ１３２は通常、処理装置１２０によって即座にアクセス可能な、および／または処理装置１２０によって現在操作中のデータおよび／またはプログラムモジュールを含む。限定ではなく例として、図１には、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示す。
【００２３】
コンピュータ１１０は、この他の取り外し可能／固定の、揮発性／不揮発性のコンピュータ記憶媒体も含むことができる。単なる例として、図１には、固定で、不揮発性の磁気媒体の読み書きを行うハードディスクドライブ１４１、取り外し可能で、不揮発性の磁気ディスク１５２の読み書きを行う磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭや他の光媒体などの取り外し可能で、不揮発性の光ディスク１５６の読み書きを行う光ディスクドライブ１５５を示す。この例示的動作環境で使用できるこの他の取り外し可能／固定、揮発性／不揮発性のコンピュータ記憶媒体には、これらに限定しないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、ソリッドステートＲＡＭ、ソリッドステートＲＯＭなどが含まれる。ハードディスクドライブ１４１は、通常、インターフェース１４０などの固定のメモリインターフェースを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は通常、インターフェース１５０などの取り外し可能メモリインターフェースによりシステムバス１２１に接続される。
【００２４】
上で説明し、図１に示すこれらのドライブとそれに関連付けられたコンピュータ記憶媒体は、コンピュータ１１０のコンピュータ読み取り可能な命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。例えば、図１では、ハードディスクドライブ１４１に、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７が記憶されている。これらのコンポーネントは、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じものでも、異なるものでもよいことに留意されたい。ここでは、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７には、それらが少なくとも異なるコピーであることを表すために異なる番号を付している。ユーザは、キーボード１６２や、一般にマウス、トラックボール、タッチパッドと称されるポインティングデバイス１６１などの入力装置を通じてコンピュータ１１０にコマンドと情報を入力することができる。他の入力装置（図示せず）としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星受信アンテナ、スキャナなどが挙げられる。これらの入力装置およびその他の入力装置は、システムバス１２１に接続されたユーザ入力インターフェース１６０を通じて処理装置１２０に接続されることが多いが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースおよびバス構造で接続することもできる。
【００２５】
モニタ１９１または他の種類の表示装置も、ビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続される。ノースブリッジ（Ｎｏｒｔｈｂｒｉｄｇｅ）などのグラフィックインターフェース１８２もシステムバス１２１に接続することができる。ノースブリッジは、ＣＰＵすなわちホスト処理装置１２０と通信し、アクセラレーテッドグラフィックポート（ＡＧＰ）通信について責任を負うチップセットである。１つまたは複数のグラフィック処理装置（ＧＰＵ）１８４が、グラフィックインターフェース１８２と通信することができる。これに関して、ＧＰＵ１８４は一般に、レジスタストレージなどのオンチップメモリストレージを含み、ＧＰＵ１８４はビデオメモリ１８６と通信する。しかし、ＧＰＵ１８４は、コプロセッサの一例に過ぎず、各種のコプロセッシング装置をコンピュータ１１０に含めることができる。モニタ１９１または他の種類の表示装置もビデオインターフェース１９０などのインターフェースを介してシステムバス１２１に接続され、ビデオインターフェース１９０等は同様にビデオメモリ１８６と通信することができる。モニタ１９１に加えて、コンピュータは、スピーカ１９７やプリンタ１９６などの他の周辺出力装置も含むことができ、それらは出力周辺インターフェース１９５を通じて接続することができる。
【００２６】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータとの論理接続を使用するネットワーク環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア（ｐｅｅｒ）装置、または他の一般的なネットワークノードであり、通常、コンピュータ１１０に関して上述した構成要素の多くまたはすべてを含むが、図１にはメモリ記憶装置１８１のみを示している。図１に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）１７１とワイドエリアネットワーク（ＷＡＮ）１７３が含まれるが、他のネットワークを含めることも可能である。このようなネットワーキング環境は、オフィス、企業内のコンピュータネットワーク、イントラネット、およびインターネットに一般的に見られる。
【００２７】
ＬＡＮネットワーキング環境で使用される場合、コンピュータ１１０は、ネットワークインターフェースあるいはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用される場合、コンピュータ１１０は通常、インターネットなどのＷＡＮ１７３を介して通信を確立するためのモデム１７２あるいは他の手段を含む。モデム１７２は、内蔵型でも外付け型でもよく、ユーザ入力インターフェース１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク環境では、コンピュータ１００に関連して図示するプログラムモジュール、またはその一部は、遠隔のメモリ記憶装置に記憶することができる。限定ではなく例として、図１では、リモートアプリケーションプログラム１８５がメモリデバイス１８１に存在する。図のネットワーク接続は例示的なものであり、コンピュータ間に通信リンクを確立する他の手段を使用できることは理解されよう。
【００２８】
当業者は、コンピュータ１１０または他のクライアント装置は、コンピュータネットワークの一部として配置できることを理解できよう。この点で、本発明は、任意数のメモリまたは記憶装置と、任意数の記憶装置あるいはボリュームにわたって存在する任意数のアプリケーションおよびプロセスを有するコンピュータシステムに関するものである。本発明は、リモートまたはローカルのストレージを有する、ネットワーク環境に配置されたサーバコンピュータとクライアントコンピュータを有する環境に適用することができる。本発明は、プログラミング言語機能、解釈機能、および実行機能を有するスタンドアロンのコンピューティング装置にも適用することができる。
【００２９】
分散コンピューティングは、コンピューティング装置とシステムとの直接交換によるコンピュータリソースとサービスを共有することを容易にする。このリソースおよびサービスには、情報の交換、キャッシュ記憶、およびファイルのディスク記憶が含まれる。分散コンピューティングは、ネットワークの接続性を活用し、クライアントがその集合的な力を利用して企業全体に利益をもたらすことを可能にする。これに関して、各種のデバイスが、対話して信頼されるグラフィックパイプラインのための本発明の認証技術に関与しうるアプリケーション、オブジェクト、またはリソースを有することができる。
【００３０】
図２に、例示的なネットワーク型あるいは分散型のコンピューティング環境の概略図を示す。この分散コンピューティング環境は、コンピューティングオブジェクト１０ａ、１０ｂなどと、コンピューティングオブジェクトまたはデバイス１１０ａ、１１０ｂ、１１０ｃなどを備える。これらのオブジェクトは、プログラム、メソッド、データストア、プログラマブルロジックなどを備えることができる。オブジェクトは、ＰＤＡ、テレビ、ＭＰ３プレーヤ、テレビ、パーソナルコンピュータなどの同種のデバイスまたは異なるデバイスの一部からなることもできる。各オブジェクトは、通信ネットワーク１４を介して別のオブジェクトと通信することができる。このネットワークはそれ自体、図２のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピューティング装置を備えることができる。本発明の一態様によれば、各オブジェクト１０または１１０は、信頼されるグラフィックパイプラインのために本発明の認証技術を要求することができるアプリケーションを含むことができる。
【００３１】
また、１１０ｃなどのオブジェクトは、別のコンピューティング装置１０または１１０をホストとすることができることも理解できよう。したがって、図の物理的環境では接続されたデバイスをコンピュータとして示すが、この図示は例示的なものに過ぎず、この物理的環境は代わりに、ＰＤＡ、テレビ、ＭＰ３プレーヤなどの各種のデジタル装置と、インターフェース、ＣＯＭオブジェクトなどのソフトウェアオブジェクトを備えるものとして図示または説明することもできる。
【００３２】
分散コンピューティング環境をサポートする各種のシステム、コンポーネント、およびネットワーク構成が存在する。例えば、コンピューティングシステムは、有線または無線システムにより、ローカルネットワーク、または広域分散ネットワークにより、互いに接続することができる。現在、ネットワークの多くはインターネットにつながれているが、インターネットは、広域に分散したコンピューティングのためのインフラストラクチャを提供し、多くの異なるネットワークを包含する。
【００３３】
家庭のネットワーキング環境では、電力線、データ（無線および有線両方）、音声（電話など）、および娯楽媒体など、それぞれが固有のプロトコルをサポートすることができる少なくとも４つの本質的に異なるネットワークトランスポート媒体がある。照明のスイッチや電気器具などの大半の家庭用制御装置は、接続に電力線を使用することができる。データサービスは、ブロードバンドとして（ＤＳＬまたはケーブルモデムなど）家庭に入り、家庭内では、無線（ＨｏｍｅＲＦや８０２．１１ｂなど）または有線（ＨｏｍｅＰＮＡ、Ｃａｔ５、あるいは電力線など）の接続を用いてアクセス可能である。音声トラフィックは、有線（Ｃａｔ３など）または無線（携帯電話など）として家庭に入り、家庭内ではＣａｔ３配線を使用して分配することができる。娯楽媒体は、衛星またはケーブルを通じて家庭に入ることができ、家庭内では通常同軸ケーブルを使用して分配される。ＩＥＥＥ１３９４およびＤＶＩも、メディアデバイス群のためのデジタル相互接続として出現している。これらのネットワーク環境と、プロトコル標準として出現する可能性のある他の環境をすべて相互接続して、インターネットを経由して外部世界に接続することが可能なイントラネットを形成することができる。要するに、データの記憶と送信には本質的に異なる各種ソースが存在し、その結果、コンピューティング装置は、今後データ処理パイプラインのすべての部分でコンテンツを保護する方式を必要とするであろう。
【００３４】
インターネットは一般に、コンピュータネットワーキングの分野で周知であるＴＣＰ／ＩＰプロトコルスイート（ｓｕｉｔｅ  ｏｆ  ｐｒｏｔｏｃｏｌｓ）を利用するネットワークとゲートウェイの集合を指す。ＴＣＰ／ＩＰは、「トランスポート制御プロトコル／インターフェースプログラム」の頭字語である。インターネットは、ユーザがネットワークを介して対話し、情報を共有することを可能にするネットワーキングプロトコルを実行するコンピュータによって相互接続された、地理的に分散した遠隔のコンピュータネットワークからなるシステムと説明することができる。そのような広域にわたる情報の共有のため、インターネットなどのリモートネットワークは、現在までのところ一般的に、開発者が、特化された動作やサービスを行うソフトウェアアプリケーションを本質的に制約なしに設計することができるオープンシステムに発展してきた。
【００３５】
したがって、ネットワークインフラストラクチャは、クライアント／サーバ、ピアツーピア、あるいは混成（ｈｙｂｒｉｄ）アーキテクチャなどの多数のネットワーク接続形態を可能にしている。「クライアント」とは、それが関連しない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。したがって、コンピューティングにおいて、クライアントはプロセス、すなわち大まかに言うと、別のプログラムから提供されるサービスを要求する命令またはタスクの組である。クライアントプロセスは、別のプログラムあるいはサービス自体については動作の詳細を一切「知る」必要なしに、要求したサービスを利用する。クライアント／サーバアーキテクチャ、特にネットワークシステムでは、クライアントは通例、例えばサーバなどの別のコンピュータによって提供される共有ネットワークリソースにアクセスするコンピュータである。図２の例では、コンピュータ１１０ａ、１１０ｂなどをクライアントと考え、コンピュータ１０ａ、１０ｂなどをサーバと考えることができ、サーバ１０ａ、１０ｂなどはデータを保持し、そのデータがクライアントコンピュータ１１０ａ、１１０ｂなどで複製される。
【００３６】
サーバは通常、インターネットなどのリモートネットワークを介してアクセス可能なリモートコンピュータシステムである。第１のコンピュータシステムでクライアントプロセスがアクティブであり、第２のコンピュータシステムでサーバプロセスがアクティブであり、通信媒体を介して互いと通信し、それにより、分散した機能を提供し、複数のクライアントがサーバの情報収集能力を利用できるようにすることが可能である。
【００３７】
クライアントとサーバは、プロトコル層によって提供される機能を利用して互いに通信する。例えば、ハイパーテキスト転送プロトコル（ＨＴＴＰ）が、ワールドワイドウェブ（ＷＷＷ）との関連で用いられる一般的なプロトコルである。典型的には、ユニバーサルリソースロケータ（ＵＲＬ）やインターネットプロトコル（ＩＰ）アドレスなどのコンピュータネットワークアドレスを使用して、サーバまたはクライアントコンピュータをお互いに識別する。ネットワークアドレスは、ユニバーサルリソースロケータアドレスと呼ぶことができる。例えば、通信は、通信媒体を介して提供することができる。具体的には、高容量通信のために、ＴＣＰ／ＩＰ接続を介してクライアントとサーバを互いと結合することができる。
【００３８】
図２に、サーバがネットワーク／バスを介してクライアントコンピュータと通信する例示的なネットワーク環境あるいは分散環境を示し、上に述べたように、この環境において本発明を用いることができる。より詳細には、本発明により、いくつものサーバ１０ａ、１０ｂなどが、ＬＡＮ、ＷＡＮ、イントラネット、インターネットなどの通信ネットワーク／バス１４を介して、携帯型コンピュータ、ハンドヘルドコンピュータ、シンクライアント、ネットワーク機器、あるいはＶＣＲ、ＴＶ、オーブン、ヒータなどの他の装置などの多くのクライアントあるいはリモートコンピューティング装置１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅ等と相互接続されている。したがって、本発明は、信頼される発信元からのセキュアなコンテンツを、それとの関連で処理、記憶、またはレンダリングすることが望ましい任意のコンピューティング装置に適用できることを考慮している。
【００３９】
例えば、通信ネットワーク／バス１４がインターネットであるネットワーク環境では、サーバ１０は、クライアント１１０ａ、１１０ｂ、１１０ｃ、１１０ｄ、１１０ｅなどがＨＴＴＰなどの多くの周知のプロトコルのいずれかを介して通信するウェブサーバとすることができる。サーバ１０は、分散コンピューティング環境の特徴であるように、クライアント１１０として機能することもできる。通信は、必要に応じて有線でも無線でもよい。クライアント装置１１０は、通信ネットワーク／バス１４を介して通信してもしなくてもよく、それに関連付けられた独立した通信を有することができる。例えば、ＴＶあるいはＶＣＲの場合は、その制御にネットワーク化された態様があってもなくともよい。各クライアントコンピュータ１１０とサーバコンピュータ１０は、各種のアプリケーションプログラムモジュールまたはオブジェクト１３５と、各種の記憶要素またはオブジェクトへの接続またはアクセス権を備えることができ、その記憶要素やオブジェクトにファイルを記憶するか、それらにファイルの一部をダウンロードあるいは移動することができる。したがって、本発明は、コンピュータネットワーク／バス１４にアクセスし、対話することができるクライアントコンピュータ１１０ａ、１１０ｂ等と、クライアントコンピュータ１１０ａ、１１０ｂ等およびその他のデバイス１１１およびデータベース２０と対話することが可能なサーバコンピュータ１０ａ、１０ｂ等とを有するコンピュータネットワーク環境で利用することができる。
【００４０】
著作権管理（ＲＭ）の概要
ここで図７を参照すると、知られるように、著作権の管理（ＲＭ）と執行は、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディア等のデジタルコンテンツ１２がユーザに配布される場合に、そのようなコンテンツ１２との関連で非常に望ましい。ユーザによって受信されると、ユーザは、パーソナルコンピュータ１４のメディアプレーヤなどの適切なレンダリングデバイスを用いてデジタルコンテンツをレンダリングすなわち「再生」する。
【００４１】
通常、そのようなデジタルコンテンツ１２を配布するコンテンツ所有者または開発者（以下「所有者」）は、ユーザが配布後のデジタルコンテンツ１２に行える事柄を制限することを望む。例えば、コンテンツ所有者は、ユーザがコンテンツ１２をコピーし、第２のユーザに再配布することを制限するか、あるいは、配布後のデジタルコンテンツ１２を、制限された回数だけ、所定の合計時間だけ、所定の種類のマシンでのみ、所定の種類のメディアプレーヤでのみ、所定の種類のユーザによってのみ再生できるようにしたい場合がある。
【００４２】
しかし、配布が行われてしまうと、そのようなコンテンツ所有者は、デジタルコンテンツ１２に対するコントロールを持つにしても非常にわずかしか持たない。そこで、ＲＭシステム１０は、任意形態のデジタルコンテンツ１２のコントロールされたレンダリングまたは再生を可能にし、このコントロールは柔軟性があり、デジタルコンテンツのコンテンツ所有者によって定義することができる。典型的には、コンテンツ１２は、適切な配布チャネルを通じて、パッケージ１３の形態でユーザに配布される。配布されるデジタルコンテンツパッケージ１３は、対称暗号／復号鍵（ＫＤ）で暗号化されたデジタルコンテンツ１２（すなわち、ＫＤ（ＣＯＮＴＥＮＴ））と、さらに、コンテンツを識別する他の情報、そのコンテンツのライセンスの取得法などの他の情報を含むことができる。
【００４３】
信頼に基づくＲＭシステム１０では、デジタルコンテンツ１２の所有者が、デジタルコンテンツ１２をユーザのコンピューティング装置１４でレンダリングすることが許可される前に満たされなければならないライセンス規則を指定することができる。そのようなライセンス規則は、上述の時間に関する要件を含むことができ、ユーザ／ユーザのコンピューティング装置１４（以下これらの語は、文脈により異なる語義が必要とされない限り同義とする）が、コンテンツ所有者またはその代理人から得なければならないデジタルライセンス１６の中に具体化することができる。このようなライセンス１６は、恐らくはユーザのコンピューティング装置により復号化可能な鍵に従って暗号化されたデジタルコンテンツを復号化するための復号鍵（ＫＤ）も含む。
【００４４】
デジタルコンテンツ１２の一部分のコンテンツ所有者は、ユーザのコンピューティング装置１４が、コンテンツ所有者によってライセンス１６中に指定された規則と要件に従うこと、すなわち、ライセンス１６中の規則と要件が満たされない限りデジタルコンテンツ１２がレンダリングされないことを信頼しなければならない。したがって、ユーザのコンピューティング装置１４は、デジタルコンテンツ１２に関連付けられ、ユーザによって取得されるライセンス１６中に具体化されたライセンス規則に従って以外はデジタルコンテンツ１２をレンダリングを行わない、信頼されるコンポーネントあるいは機構１８を備えることが好ましい。
【００４５】
信頼されるコンポーネント１８は通常ライセンスエバリュエータ２０を有し、これは、諸事項の中でも特に、ライセンス１６が有効であるかどうかを判定し、有効なライセンス１６中のライセンス規則と要件を調べ、調べたライセンス規則と要件に基づいて、要求元のユーザが要求したデジタルコンテンツ１２を求められた方式でレンダリングする権利を有するかどうかを判定する。理解されるように、ライセンスエバリュエータ２０は、ＲＭシステム１０中で、ライセンス１６の規則と要件に従ってデジタルコンテンツ１２の所有者の要望を実行することを信頼して任せられ、ユーザは、不正な目的であろうとその他の目的であろうと、この信頼される要素を容易に改変することができてはならない。
【００４６】
理解されるように、ライセンス１６中の規則と要件は、ユーザの身元、ユーザの場所、ユーザが使用しているコンピューティング装置の種類、ＲＭシステムを呼び出しているレンダリングアプリケーション、日付、時刻などを含むいくつかの要因のいずれかに基づいて、ユーザがデジタルコンテンツ１２をレンダリングする権利を有するかどうかを指定することができる。また、ライセンス１６の規則と要件は、ライセンス１６を、例えばあらかじめ決められた再生回数や、あらかじめ決められた再生時間に制限することができる。
【００４７】
この規則と要件は、任意の適切な言語と構文に従ってライセンス１６に指定することができる。例えば、この言語は、満たさなければならない属性と値を単に指定（例えば、ＤＡＴＥはＸより後でなければならない等）してもよいし、指定されたスクリプトに従って機能の実行を要求（例えば、ＤＡＴＥがＸより大きい場合は．．．する等）してもよい。
【００４８】
ライセンス１６が有効であり、ユーザがライセンス１６の規則と要件を満たすとライセンスエバリュエータ２０が判定すると、デジタルコンテンツ１２をレンダリングすることができる。詳細には、コンテンツ１２をレンダリングするには、ライセンス１２から復号鍵（ＫＤ）を取得し、その鍵をコンテンツパッケージ１３の（ＫＤ（ＣＯＮＴＥＮＴ））に適用して、その結果実際のコンテンツ１２を得て、その実際のコンテンツ１２を実際にレンダリングする。
【００４９】
デジタルコンテンツのパブリッシュ
図３は、本発明によるデジタルコンテンツをパブリッシュするシステムおよび方法の好ましい実施形態の機能ブロック図である。本明細書で使用する用語「パブリッシュする（Ｐｕｂｌｉｓｈｉｎｇ）」とは、アプリケーションまたはサービスが、信頼されるエンティティとの間に、そのエンティティがそのコンテンツに発行することのできる権利と条件の組（ｓｅｔ）と、その権利と条件を発行することができる対象者とを定めるためにとるプロセスを意味する。本発明によれば、パブリッシュプロセスは、デジタルコンテンツを暗号化し、そのコンテンツの作者がそのコンテンツの、見込まれる全ユーザに対して、意図した永続的で執行可能な権利のリストを関連付けることを含む。このプロセスは、コンテンツの作者によって意図されない限りは権利のいずれかへまたはコンテンツへのアクセスを禁止するセキュアな方式で実行することができる。
【００５０】
本発明の好ましい実施形態では、詳細には３つのエンティティを用いてセキュアなデジタルコンテンツをパブリッシュすることができる。すなわち、クライアント３００で実行され、パブリッシュするコンテンツを作成するコンテンツ作成アプリケーション３０２、同じくクライアント装置３００に存在する著作権管理（ＲＭ）アプリケーションプログラムインターフェース（ＡＰＩ）３０６、および、通信ネットワーク３３０を介してクライアント３００に通信で接続されたＲＭサーバ３２０、である。本発明の好ましい実施形態では、通信ネットワーク３３０はインターネットを含むが、通信ネットワーク３３０は、例えば独自のイントラネットなど任意のローカルまたはワイドエリアネットワークでよいことを理解されたい。
【００５１】
コンテンツ作成アプリケーション３０２は、デジタルコンテンツを作成する任意のアプリケーションでよい。アプリケーション３０２は、例えば、ワードプロセッサや、デジタルテキストファイル、デジタル音楽、ビデオ、その他の同様のコンテンツを作成する他のパブリッシャとすることができる。コンテンツには、例えば実況または記録されたイベントのストリーミングオーディオ／ビデオなどのストリーミングコンテンツも含まれる。
本発明によれば、コンテンツ作成アプリケーションは、ユーザが、そのユーザが提供する鍵を用いてコンテンツを暗号化するように促す。アプリケーション３０２はその鍵を使用してデジタルコンテンツを暗号化し、それにより、暗号化されたデジタルコンテンツファイル３０４を形成する。クライアントアプリケーションはまた、デジタルコンテンツファイル３０４についての権利データを提供することをユーザに促す。この権利データには、そのデジタルコンテンツに権利を有する各エンティティの個々のアイデンティティが含まれる。そのようなエンティティは、例えば、個人、あるクラスの個人、またはデバイスである。そのようなエンティティごとに、権利データは、そのエンティティがコンテンツに有する権利のリストと、その権利のいずれかまたはすべてに課すことが可能な条件も含む。そのような権利には、デジタルコンテンツを読む、編集する、コピーする、印刷する等の権利が含まれる。また、権利は包含的（ｉｎｃｌｕｓｉｖｅ）でも排他的（ｅｘｃｌｕｓｉｖｅ）でもよい。包含的な権利とは、指定されたユーザが、そのコンテンツに指定された権利を有することを意味する（例えば、ユーザはデジタルコンテンツを編集することができる等）。排他的な権利とは、指定されたユーザが、指定されたものを除くそのコンテンツに指定されたすべての権利を有することを意味する（例えば、ユーザはコピーすることを除いてそのデジタルコンテンツに何を行ってもよい等）。
【００５２】
本発明の一実施形態によれば、クライアントＡＰＩ３０６は、暗号化されたデジタルコンテンツと権利データをＲＭサーバ３２０に渡すことができる。ＲＭサーバ３２０は、下記で詳述するプロセスを使用して、ユーザに割り当てられた権利を執行することができるかどうかを判定し、できる場合、ＲＭサーバ３２０は、権利データに署名して署名済み権利ラベル（ＳＲＬ）３０８を形成する。ただし、一般には、任意の信頼されるエンティティが、好ましくはＲＭサーバ３２０によって信頼されている鍵を用いて、権利データに署名することができる。例えば、クライアントが、ＲＭサーバ３２０から提供された鍵を使用して権利データに署名することができる。
【００５３】
権利ラベル３０８は、権利の記述、暗号化されたコンテンツ鍵、および権利の記述と暗号化コンテンツ鍵に対するデジタル署名を表すデータを含むことができる。ＲＭサーバが権利ラベルに署名する場合、ＲＭサーバは、署名済み権利ラベル３０８をクライアントＡＰＩ３０６を通じてクライアントに戻し、クライアントは、署名済み権利ラベル３０８をクライアント装置３００に格納する。コンテンツ作成アプリケーション３０２は、次いで、署名済み権利ラベル３０８を暗号化デジタルコンテンツファイル３０４に関連付ける。例えば、ＳＲＬ３０８を暗号化されたデジタルコンテンツファイルと連結して、権利が管理されたコンテンツファイル３１０を形成することができる。ただし、一般には、権利データをデジタルコンテンツと組み合わせる必要はない。例えば、知られた場所に権利データを記憶し、その記憶された権利データへの参照を暗号化されたデジタルコンテンツと組み合わせることができる。この参照は、権利データが記憶された場所（例えば権利データを保持するデータストア）を示す識別子と、その特定の記憶場所にあるその特定の権利データに対応する識別子（例えば関心のある特定の権利データを保持するファイルを識別する）を含むことができる。そして、権利が管理されたコンテンツ３１０を任意の場所の任意の対象者に配信することができ、そのコンテンツを消費する権利を有するエンティティだけが、指定された権利に従ってのみ、そのコンテンツを消費することができる。
【００５４】
図４は、本発明により権利が管理されたデジタルコンテンツをパブリッシュする例示的方法４００のフローチャートであり、ここではＲＭサーバによって権利ラベルが署名される。ただし、この実施形態は例示的なものに過ぎず、権利ラベルは一般には、任意の信頼されるエンティティによって署名できることを理解されたい。概して、本発明によりデジタルコンテンツをパブリッシュする方法は、コンテンツ鍵（ＣＫ）を使用してデジタルコンテンツを暗号化すること、デジタルコンテンツに関連付けられた権利の記述を生成すること、ＲＭサーバの公開鍵（ＰＵ−ＲＭ）に従ってコンテンツ鍵（ＣＫ）を暗号化してその結果（ＰＵ−ＲＭ（ＣＫ））を得ること、および、権利の記述と（ＰＵ−ＲＭ（ＣＫ））の組合せに対して、（ＰＵ−ＲＭ）に対応する秘密鍵（ＰＲ−ＲＭ）に基づくデジタル署名を作成すること、を含むことができる。
【００５５】
ステップ４０２で、アプリケーション３０２は、デジタルコンテンツの暗号化に使用されるコンテンツ鍵（ＣＫ）を生成する。コンテンツ鍵（ＣＫ）は対称鍵であることが好ましいが、一般には、デジタルコンテンツの暗号化にはどのような鍵を使用してもよい。時に「秘密鍵」アルゴリズムと称される対称鍵アルゴリズムは、メッセージを暗号化するのに使用する鍵と同じ鍵を使用してメッセージを復号化する。この理由から（ＣＫ）を秘密に保つことが好ましい。送信者と受信者間の（ＣＫ）の共有は、（ＣＫ）の不正な傍受を防ぐために非常に慎重に行わなければならない。（ＣＫ）は、暗号者と復号者の間で共有されるので、暗号化メッセージが送信される前に通信されることが好ましい。
【００５６】
いくつかの対称鍵生成アルゴリズムが当技術分野で周知である。好ましい実施形態では、データ暗号化標準（ＤＥＳ）が用いられるが、任意の対称アルゴリズムを使用できることを理解されたい。そのような対称鍵アルゴリズムの例として、これらに限定しないが、Ｔｒｉｐｌｅ−ＤＥＳ、国際データ暗号化アルゴリズム（ＩＤＥＡ）、Ｃａｓｔ、Ｃａｓｔ−１２８、ＲＣ４、ＲＣ５、およびＳｋｉｐＪａｃｋが挙げられる。
【００５７】
ステップ４０４で、アプリケーション３０２は、対称コンテンツ鍵（ＣＫ）でデジタルコンテンツを暗号化して暗号化デジタルコンテンツ３０４を形成する。なお、この暗号化されたコンテンツを表記（ＣＫ（コンテンツ））を用いて表すことができる。アプリケーション３０２を使用する作者は、デジタルコンテンツに関連付けられた権利データも生成することもできる。権利データは、そのコンテンツを消費する資格が与えられるエンティティのリストと、それら各エンティティがコンテンツに関して有する具体的な権利を、その権利に課すことが可能な条件とともに含むことができる。そのような権利には例えば、コンテンツの閲覧、印刷などがある。アプリケーション３０２は、権利データをＡＰＩ３０６に提供する。ＸＭＬ／ＸｒＭＬフォーマットによる権利データの一例を別表１として添える。
【００５８】
ステップ４０６で、ＡＰＩ３０６は、コンテンツ鍵（ＣＫ）を暗号化するために使用される第２の暗号鍵（ＤＥＳ１）を生成する。（ＤＥＳ１）も対称鍵であることが好ましい。ステップ４０８で、ＡＰＩ３０６は、（ＤＥＳ１）で（ＣＫ）を暗号化してその結果（ＤＥＳ１（ＣＫ））を得る。ステップ４１０で、ＡＰＩ３０６は（ＣＫ）を破棄し、その結果（ＣＫ）は、（ＤＥＳ１（ＣＫ））を復号化することによってしか得られなくなる。（ＣＫ（コンテンツ））が中央のＲＭサーバ３２０に対して保護され、コンテンツに対するすべての「ライセンス要求」が権利データに従って中央で行われるように、ステップ４１２で、ＡＰＩ３０６は、提供されたＲＭサーバ３２０にコンタクトし、その公開鍵（ＰＵ−ＲＭ）を取ってくる。ステップ４１４で、ＡＰＩ３０６は、（ＰＵ−ＲＭ）で（ＤＥＳ１）を暗号化してその結果（ＰＵ−ＲＭ（ＤＥＳ１））を得る。したがって、ＲＭサーバ３２０が、（ＣＫ（コンテンツ））を復号化するのに必要な（ＣＫ）へのアクセス権を得ることができる唯一のエンティティとなることを確実にするために、（ＰＵ−ＲＭ）に対して（ＣＫ）を保護する。ステップ４１６で、ＡＰＩ３０６は、権利データ（すなわち、権限を有するエンティティのリストと、そのリスト中の権限を有する各エンティティに関連付けられた個々の権利と条件）を（ＤＥＳ１）で暗号化してその結果（ＤＥＳ１（権利データ））を得る。
【００５９】
簡略化された恐らく好ましい実施形態では、（ＣＫ）を使用して直接権利データを暗号化してその結果（ＣＫ（権利データ））を得て、それにより（ＤＥＳ１）をまったく使用せずに済ませることができる。もちろん、そのような場合、（ＰＵ−ＲＭ（ＤＥＳ１））は代わりに（ＰＵ−ＲＭ（ＣＫ））になる。ただし、権利データを暗号化するために（ＤＥＳ１）を使用することは、その（ＤＥＳ１）を、ＲＭサーバに適合性がある可能性のある任意だが特定のアルゴリズムに従わせることができるが、一方、（ＣＫ）は、ＲＭサーバとは無関係のエンティティによって指定され、ＲＭサーバに対して（ＤＥＳ１）ほど適合性がない可能性がある。
【００６０】
ステップ４１８で、コンテンツ保護アプリケーション３０２は、（ＰＵ−ＲＭ（ＤＥＳ１）と、（ＤＥＳ１（権利データ））または（ＣＫ（権利データ））を、署名するために権利ラベルとしてＲＭサーバ３２０に提出することができる。あるいは、クライアント自体が権利データに署名することもできる。権利データが署名のためにサーバに提出される場合は、ステップ４２０で、ＲＭサーバ３２０は、権利データにアクセスし、自身が、提出された権利ラベル中の権利と条件を執行できることを検証する。権利データを執行できることを検証するために、ＲＭサーバ３２０は、（ＰＵ−ＲＭ（ＤＥＳ１））に（ＰＲ−ＲＭ）を適用し（ＤＥＳ１）を得て、次いで（ＤＥＳ１）を（ＤＥＳ１（権利データ））に適用して平文の権利データを得る。次いで、サーバ３２０は、ポリシーの確認を行って、権利データに指定されるユーザ、権利、および条件が、サーバ３２０によって執行されるポリシーの範囲内であることを確認することができる。サーバ３２０は、最初に提出された（ＰＵ−ＲＭ（ＤＥＳ１））と（ＤＥＳ１（権利データ））を含む権利ラベルに署名し署名済み権利ラベル（ＳＲＬ）３０８を得て、ここで署名はＲＭサーバ３２０の秘密鍵（ＰＲ−ＲＭ）に基づき、サーバ３２０はＳＲＬ３０８をＡＰＩ３０６に返し、ＡＰＩ３０６は、返されたＳＲＬ３０８をクライアントアプリケーション３０２に提示する。
【００６１】
ＳＲＬ３０８は、デジタル的に署名された文書であり、そのため、改ざんに対する耐性を持つ。また、ＳＲＬ３０８は、コンテンツの暗号化に使用された実際の鍵の種類とアルゴリズムに依存せず、それが保護するコンテンツとの間に強い１対１の関係を保持する。次いで図４Ａを参照すると、本発明の一実施形態では、ＳＲＬ３０８は、ＳＲＬ３０８の基礎となるコンテンツについての情報を含むことができ、この情報には、中でも特に、恐らく、コンテンツのＩＤ；（ＰＵ−ＲＭ（ＤＥＳ１））と、ネットワーク上でＲＭサーバを見つけるためのＵＲＬとそのＵＲＬが機能しない場合の予備情報などの参照情報とを含む、ＳＲＬ３０８に署名するＲＭサーバについての情報；ＳＲＬ３０８自体を記述する情報；（ＤＥＳ１（権利データ））；（ＤＥＳ１（ＣＫ））；およびＳ（ＰＲ−ＲＭ）、が含まれる。ＸＭＬ／ＸｒＭＬによるＳＲＬ３０８の実例を別表２として添える。
【００６２】
信頼されるエンティティが権利データに署名して署名済み権利ラベル３０８を作成することを確実にすることにより、ＲＭサーバは、権利ラベル３０８の権利データに記載される、パブリッシャによって示された条件に従ってコンテンツのライセンスを発行することを主張する。理解されるように、特に、ライセンスがコンテンツ鍵（ＣＫ）を含んでいるので、ユーザは、コンテンツをレンダリングするにはライセンスを得ること必要とされる。ユーザは、暗号化コンテンツのライセンスを得たいとき、そのコンテンツのＳＲＬ３０８とユーザの資格を証明する証明書とを含むライセンス要求をＲＭサーバ３２０または他のライセンス発行エンティティに提示することができる。そしてライセンス発行エンティティは、（ＰＵ−ＲＭ（ＤＥＳ１））と（ＤＥＳ１（権利データ））を復号化して権利データを作成し、作成者からライセンス要求エンティティに与えられる権利（ある場合）をすべて列挙し、それら特定の権利のみを含むライセンスを構築することができる。
【００６３】
好ましくは、アプリケーション３０２は、ＳＲＬ３０８を受け取ると、署名済み権利ラベル３０８を、対応する（ＣＫ（コンテンツ））３０４と連結して、権利が管理されたデジタルコンテンツを形成する。あるいは、権利データを知られている場所に記憶して、その場所への参照が暗号化デジタルコンテンツとともに提供されることもできる。したがって、ＲＭ対応のレンダリングアプリケーションは、そのレンダリングアプリケーションがレンダリングしようとしているコンテンツを介して、署名済み権利ラベル３０８を発見することができる。この発見が引き金となって、レンダリングアプリケーションがＲＭライセンシングサーバ３２０に対してライセンス要求を開始する。パブリッシュするアプリケーション３０２は、例えばＲＭライセンシングサーバ３２０のＵＲＬを記憶することができ、または、ＲＭライセンシングサーバ３２０が、自身のＵＲＬをメタデータとしてデジタル的に署名する前の権利ラベルに埋め込むことができ、それにより、レンダリングアプリケーションによって呼び出されたＲＭクライアントＡＰＩ３０６は、正しいＲＭライセンシングサーバ３２０を識別することができる。例えばグローバル一意識別子（ＧＵＩＤ）等の一意の識別子が、署名前のラベルに入れられることが好ましい。
【００６４】
本発明の好ましい実施形態では、コンテンツ保護アプリケーション３０２またはレンダリングアプリケーションとＲＭサーバ３２０との通信には、シンプルオブジェクトアクセスプロトコル（ＳＯＡＰ）を使用することができる。また、ＡＰＩ３０６などのＡＰＩライブラリを提供して、アプリケーション３０２などのアプリケーションが、ＲＭプロトコルのクライアントサイドを実施することを必要とされず、単にローカルのＡＰＩ呼び出しを行えるようにすることができる。権利の記述、ライセンス、およびデジタルコンテンツの権利ラベルの記述にはＸＭＬ言語の１つであるＸｒＭＬを使用することが好ましいが、権利の記述と他のデータには任意の適当なフォーマットを使用できることを理解されたい。
【００６５】
パブリッシュされたコンテンツのライセンスの取得
図５は、本発明による権利が管理されたデジタルコンテンツのライセンスを取得するシステムおよび方法の好ましい実施形態の機能ブロック図である。本発明で使用される用語「ライセンスを取得（Ｌｉｃｅｎｓｉｎｇ）」とは、ライセンス中に指示されるエンティティがライセンスに指定される条件に従ってコンテンツを消費することを可能にするライセンスを要求し、受け取るために、アプリケーションまたはサービスが従うプロセスを指す。ライセンス取得プロセスへの入力は、ライセンスが要求されるコンテンツに関連付けられた署名済み権利ラベル（ＳＲＬ）３０８と、ライセンスが要求される対象のエンティティの公開鍵証明書とを含むことができる。ライセンスを要求するエンティティは、必ずしもそのライセンスが要求される対象のエンティティでなくともよいことに留意されたい。通例、ライセンスは、ＳＲＬ３０８からの権利の記述、暗号化コンテンツを復号化することができる暗号化鍵、および権利の記述と暗号化鍵に対するデジタル署名を含む。デジタル署名は、指示されるエンティティと権利が正当であることを主張する。
【００６６】
権利が管理されたコンテンツ３１０をアプリケーション３０２が消費する方式の１つは、クライアントＡＰＩ３０６が、権利が管理されたコンテンツ３１０の署名済み権利ラベル３０８を、通信ネットワーク３３０を介してＲＭサーバ３２０に転送するものである。ＲＭサーバ３２０の場所は、例えばＳＲＬ３０８中の参照情報に見つけることができる。そのような実施形態では、ＲＭライセンシングサーバ３２０は、下記で詳細に述べるプロセスを介して、権利ラベルの権利の記述を使用して、自身がライセンスを発行できるかどうかを判定し、発行できる場合は、ライセンスとともに含める権利の記述を得ることができる。上記のように、権利ラベル３０８は、ＲＭサーバ３２０の公開鍵（ＰＵ−ＲＭ）に従って暗号化されたコンテンツ鍵（ＣＫ）（すなわち（ＰＵ−ＲＭ）（ＣＫ）））を含むことができる。ライセンスを発行する過程で、ＲＭサーバ３２０は、この値をセキュアに復号化して（ＣＫ）を得る。次いで、ライセンス要求で渡された公開鍵証明書の中の公開鍵（ＰＵ−ＥＮＴＩＴＹ）を使用して（ＣＫ）を再度暗号化する（すなわち（ＰＵ−ＥＮＴＩＴＹ（ＣＫ）））。新たに暗号化された（ＰＵ−ＥＮＴＩＴＹ（ＣＫ））が、サーバ３２０がライセンス中に入れる内容である。したがって、関連付けられた秘密鍵（ＰＲ−ＥＮＴＩＴＹ）の保持者のみが（ＰＵ−ＥＮＴＩＴＹ（ＣＫ））から（ＣＫ）を回復することができるので、（ＣＫ）を露出する危険性なしに呼び出し元にライセンスを返すことができる。クライアントＡＰＩ３０６は次いで、（ＣＫ）を使用して暗号化コンテンツを復号化して、復号化されたデジタルコンテンツ３１２を形成する。そして、クライアントアプリケーション３０２は、ライセンス中に提供された権利に従って、暗号化デジタルコンテンツ３１２を使用することができる。
【００６７】
あるいは、例えばパブリッシュするクライアントなどのクライアントが、コンテンツを消費するための独自のライセンスを発行することもできる。そのような実施形態では、該当する状況でデジタルコンテンツを復号化するのに必要な鍵をクライアントに提供する、セキュリティが確保されたプロセスをクライアントコンピュータで実行することができる。
【００６８】
図６Ａおよび６Ｂに、本発明による権利が管理されたデジタルコンテンツのライセンスを取得する方法６００の好ましい実施形態のフローチャートを示す。本発明によれば、要求元のエンティティは、１つまたは複数の可能なライセンシに代わってライセンス要求を提出することができる。要求元エンティティは、可能なライセンシの１つであってもそうでなくともよい。可能なライセンシは、個人、グループ、デバイス、あるいはコンテンツを何らかの方式で消費することが可能な他の同様のエンティティである。以下、ＲＭサーバがライセンス要求を処理する実施形態を参照して方法６００を説明するが、ライセンス要求の処理はクライアントで行ってもよく、またライセンスはクライアントから直接発行されてもよいことを理解されたい。
【００６９】
ステップ６０２で、例えばＲＭサーバなどのライセンス発行エンティティが、ライセンス要求を受け取る。ライセンス要求は、１つまたは複数の要求されるライセンシそれぞれの公開鍵証明書またはアイデンティティを含むことが好ましい。
【００７０】
ステップ６０４で、要求元エンティティ（すなわちライセンス要求を行っているエンティティ）が認証される。本発明の一実施形態によれば、ライセンス発行エンティティは、プロトコル（チャレンジ−リスポンス）認証を使用して要求元エンティティのアイデンティティを判定するか、または、要求元エンティティの認証を必要としない（「匿名認証を許可する」とも言う）ように構成することができる。認証が必要とされる場合は、任意の種の認証方式を使用することができる（例えば上述のチャレンジ−レスポンス方式や、ＭＩＣＲＯＳＯＦＴ（登録商標）．ＮＥＴ、ＰＡＳＳＰＯＲＴ、ＷＩＮＤＯＷＳ（登録商標）の認証、ｘ５０９などのユーザＩＤとパスワードを用いる方式など）。匿名認証が許可されることが好ましく、また、総合情報システムでサポートされるプロトコル認証方式をいずれもサポートすることが好ましい。認証ステップの結果、例えば「匿名の」アイデンティティ（匿名認証の場合）、あるいは個人アカウントのアイデンティティなどのアイデンティティが得られる。何らかの理由でライセンス要求を認証することができない場合は、エラーが返され、ライセンスは与えられない。
【００７１】
ステップ６０６で、認証されたエンティティに権限を付与する。すなわち、ステップ６０８で認証されたエンティティに、（そのエンティティ自体の、または別のエンティティのための）ライセンスを要求することを許可するかどうかが判定される。ライセンス発行エンティティは、ライセンスを要求することを許可された（または許可されない）エンティティのリストを記憶することが好ましい。好ましい実施形態では、このアイデンティティリスト中のアイデンティティは、ライセンスが要求される対象のエンティティのアイデンティティではなく、要求を行っているエンティティのアイデンティティであるが、どちらであってもよい。例えば、個人アカウントのアイデンティティは、直接ライセンス要求を行うことを許可されないようにすることができ、信頼されるサーバプロセスが、そのようなエンティティに代わってライセンス要求を行うことができる。
【００７２】
本発明によれば、ライセンス要求は、可能な各ライセンシの公開鍵証明書またはアイデンティティを含むことができる。１つのみのライセンシにライセンスが要求される場合は、１つのみの証明書またはアイデンティティが指示される。複数のライセンシにライセンスが要求される場合は、可能なライセンシごとに証明書またはアイデンティティを指示することができる。
【００７３】
ライセンス発行エンティティは、有効な各ライセンシの公開鍵証明書を有することが好ましい。ただし、アプリケーション３０２が所与のユーザのためにライセンスを発行したいが、アプリケーション３０２は、そのユーザの公開鍵証明書へのアクセス権を持たない場合がある。そのような状況では、アプリケーション３０２は、ライセンス要求にユーザのアイデンティティを指定し、その結果、ライセンス発行エンティティは、ディレクトリサービスで検索を行って該当ユーザの公開鍵証明書を返す登録証明書プラグインモジュールを呼び出すことができる。
【００７４】
ステップ６０８でライセンス要求に公開鍵証明書が含まれないと発行エンティティが判定した場合、発行エンティティは、指定されたアイデンティティを使用して、ディレクトリサービスまたはデータベースで該当する公開鍵証明書の検索を行う。ステップ６１０で、発行エンティティがディレクトリに証明書があると判定した場合、ステップ６１２でその証明書が取り出される。好ましい実施形態では、証明書プラグインを使用して、ディレクトリアクセスプロトコルによりディレクトリサービスから公開鍵証明書を取り出す。要求にもディレクトリにも所与の可能なライセンシの証明書が見つからない場合、ライセンスサーバは、その可能なライセンシのライセンスを生成せず、ステップ６１４で要求元エンティティにエラーが返される。
【００７５】
ライセンス発行エンティティが少なくとも１つの可能なライセンシの公開鍵証明書を有すると仮定すると、ステップ６１６で、発行エンティティは、そのライセンシ証明書の信頼性を確認する。発行エンティティは、信頼される証明書発行者の証明書の組を備えて構成され、ライセンシ証明書の発行者が信頼される発行者のリストにあるかどうかを判定することが好ましい。ステップ６１６で、発行エンティティが、ライセンシ証明書の発行者が信頼される発行者のリストにないと判定した場合、そのライセンシについての要求は失敗となり、ステップ６１４でエラーが生成される。このように、証明書が信頼される発行者によって発行されていない可能なライセンシは、ライセンスを受け取らない。
【００７６】
また、発行エンティティは、信頼される発行者の証明書から個々のライセンシの公開鍵証明書に至る証明書チェーンのすべてのエントリにデジタル署名の検証を行うことが好ましい。チェーンのデジタル署名を検証するプロセスは、よく知られたアルゴリズムである。所与の可能なライセンシの公開鍵証明書の有効性が確認されない場合、またはチェーン中に有効性が確認されない証明書がある場合、その可能なライセンシは信頼されず、したがってその潜在的ライセンシにはライセンスが発行されない。その他の場合は、ステップ６１８でライセンスを発行することができる。このプロセスは、ライセンスが要求されるすべてのエンティティが処理されるまでステップ６２０で繰り返される。
【００７７】
図６Ｂに示すように、ライセンス発行エンティティは、次いで、ライセンス要求で受け取った署名済み権利ラベル３０８を検証する。好ましい実施形態では、発行エンティティは、権利ラベルプラグインとバックエンドデータベースを使用して、発行エンティティによって署名されたすべての権利ラベルのマスタコピーをサーバに記憶することができる。権利ラベルは、パブリッシュ時に権利ラベルに入れられるＧＵＩＤによって識別される。ライセンス取得時（ステップ６２２）に、発行エンティティは、ライセンス要求に入力された権利ラベルを解析し、そのＧＵＩＤを取り出す。次いで、そのＧＵＩＤを権利ラベルプラグインに渡し、プラグインは、データベースにクエリを発行してマスタ権利ラベルのコピーを取り出す。マスタ権利ラベルは、ライセンス要求で送信された権利ラベルのコピーより新しい可能性があり、マスタ権利ラベルが、下記のステップで要求に使用される権利ラベルとなる。ＧＵＩＤに基づいてデータベースに権利ラベルが見つからない場合、発行エンティティは、ステップ６２４で自身のポリシーを調べて、要求中の権利ラベルに基づいてライセンスを発行することをなお許可されるかどうかを判定する。ポリシーが発行を許可しない場合、ライセンス要求はステップ６２６で失敗となり、ステップ６２８でＡＰＩ３０６にエラーが返される。
【００７８】
ステップ６３０で、ライセンス発行エンティティが権利ラベル３０８の有効性を確認する。権利ラベルへのデジタル署名の有効性が確認され、ライセンス発行エンティティがその権利ラベルの発行者（それに署名したエンティティ）でない場合、ライセンス発行エンティティは、権利ラベルの発行者が別の信頼されるエンティティであるかどうかを判定する（例えばライセンス発行エンティティが鍵の材料を共有することが可能なエンティティ）。権利ラベルの有効性が認められない場合、または権利ラベルが信頼されるエンティティによって発行されていない場合、ライセンス要求はステップ６２６で失敗となり、ステップ６２８でＡＰＩ３０６にエラーが返される。
【００７９】
すべての有効性の確認が行われると、ライセンス発行エンティティは、権利ラベル３０８を、承認された各ライセンシのライセンスに変換する。ステップ６３２で、ライセンス発行エンティティは、各ライセンシに発行されるライセンスの個々の権利の記述を生成する。ライセンシごとに、発行エンティティは、権利ラベル中の権利の記述に指示されるアイデンティティに照らして、そのライセンシの公開鍵証明書に指示されるアイデンティティを評価する。権利の記述は、すべての権利または権利の組に、ライセンス中のその権利または権利の組を行使することができるアイデンティティの組を割り当てる。そのライセンシのアイデンティティが関連付けられたすべての権利または権利の組について、その権利または権利の組がそのライセンスの新しいデータ構造にコピーされる。結果得られるデータ構造が、その特定ライセンシのライセンス中の権利の記述となる。このプロセスの一部として、ライセンス発行エンティティは、権利ラベルの権利の記述中の権利または権利の組のいずれかに関連付けられる場合がある必要条件を評価する。例えば、権利には、ライセンス発行エンティティが指定された時間の後にライセンスを発行しないように制限する時間の必要条件が関連付けられることが可能である。この場合、発行エンティティは、現在の時間を調べる必要があり、必要条件で指定された時間を過ぎている場合は、そのライセンシのアイデンティティがその権利に関連付けられていても、そのライセンシにはその権利を発行することができない。
【００８０】
ステップ６３６で、発行エンティティは権利ラベル３０８の（ＰＵ−ＲＭ（ＤＥＳ１））と（ＤＥＳ１（ＣＫ））を取り出し、（ＰＲ−ＲＭ）を適用して（ＣＫ）を得る。次いで、発行エンティティは、ライセンシの公開鍵証明書の（ＰＵ−ＥＮＴＩＴＹ）を使用して（ＣＫ）を再度暗号化して（ＰＵ−ＥＮＴＩＴＹ（ＣＫ））を得る。ステップ６３８で、発行エンティティは、生成した権利の記述と（ＰＵ−ＥＮＴＩＴＹ（ＣＫ））を連結し、結果得られるデータ構造に（ＰＲ−ＲＭ）を使用してデジタル的に署名する。この署名されたデータ構造がその特定ライセンシのライセンスとなる。
【００８１】
ステップ６４０で、発行エンティティが、その特定の要求に対して生成すべきライセンスがそれ以上ないと判定した時、発行エンティティは、ゼロまたは１つ以上のライセンスを生成している。生成されたライセンスは、ステップ６４２で、そのライセンスに関連付けられた証明書チェーン（例えばサーバ自体の公開鍵証明書と、サーバの証明書を発行した証明書など）とともに要求元エンティティに返される。
【００８２】
本発明によるシステムの一実施形態では、複数のライセンス発行者鍵を使用することができる。そのような実施形態では、暗号化された状態で権利ラベル３０８を通じてライセンスに移動するコンテンツ鍵（ＣＫ）は、実際には任意のデータとすることができる。特に有用な変形の１つは、権利の記述中でそれぞれ異なる権利または異なるプリンシパル（ｐｒｉｎｃｉｐａｌｓ）に関連付けられた複数の別個の暗号化コンテンツ鍵（ＣＫ）を使用するものである。例えば、あるアルバムの歌のデジタルバージョンをすべて異なる鍵（ＣＫ）で暗号化することができる。それらの鍵（ＣＫ）を同じ権利ラベルに含めるが、あるプリンシパルは、その歌の１つを再生する権利を有し（例えば、そのプリンシパルはその１つの鍵を自分のライセンス中に得る権利しか持たないなど）、一方、第２のプリンシパルは、全曲を再生する権利を有することができる（自分のライセンスにすべての鍵を得る権利を有する）。
【００８３】
本発明によるシステムでは、パブリッシュアプリケーション／ユーザが、権利ラベル３０８中にライセンシのグループまたはクラスを指示できることが好ましい。そのような実施形態では、ライセンス発行エンティティは、権利ラベルに指示されたグループ／クラスを評価して、現在のライセンシのアイデンティティがそれらのグループクラスのメンバであるかどうかを判定する。指示されたグループ／クラスへのメンバーシップが見つかった場合、発行エンティティは、そのグループ／クラスに関連付けられた権利または権利の組を、そのライセンスに使用される権利の記述のデータ構造に追加することができる。
【００８４】
本発明の好ましい実施形態では、ＲＭサーバ中のパブリッシュおよびライセンシングのプロトコルインターフェースは、呼び出し元のアプリケーションまたはユーザの認証と権限付与をサポートし、ＲＭサーバの管理コンソールでは、管理者が、ライセンスインターフェースとパブリッシュインターフェース両方のアクセス制御リストを生成することができる。これにより、サーバの顧客は、ユーザ／アプリケーションがパブリッシュまたはライセンシング、あるいはその両方を許可される際に基づくポリシーを適用することができる。
【００８５】
署名済み権利ラベル３０８の自己パブリッシュ
本発明の一実施形態では、ＳＲＬ３０８は、要求元のユーザ自身によって署名してよい。したがって、ユーザは、関連付けられたコンテンツのＳＲＬ３０８を得るためにＲＭサーバ３２０に接触する必要がない。そのため、自己パブリッシュは、オフラインパブリッシュと称してもよい。そのような実施形態では、そのような自己パブリッシュされたＳＲＬ３０８に基づくライセンスを要求するために、ＲＭサーバ３２０に接触することをユーザに要求することができる。パブリッシュエンティティがそれ自身のライセンスを発行できるようにしてもよいことを理解されたい。
【００８６】
詳細には、次いで図８を参照すると、この実施形態では、ユーザは初めに、公開鍵（ＰＵ−ＣＥＲＴ）と、ユーザの公開鍵（ＰＵ−ＥＮＴＩＴＹ）に従って暗号化されて（ＰＵ−ＥＮＴＩＴＹ（ＰＲ−ＣＥＲＴ））となっている、対応する秘密鍵（ＰＲ−ＣＥＲＴ）とを含むＲＭ証明書８１０をＲＭサーバ３２０から受け取ることにより、自己パブリッシュすることを可能にされる（ｐｒｏｖｉｓｉｏｎ）。下記でより詳細に述べるように、ＲＭサーバ３２０が証明書を検証できるように、証明書は、ＲＭサーバ３２０の秘密鍵（ＰＲ−ＲＭ）で署名されなければならない。理解できるように、ＲＭ証明書８１０は、自己パブリッシュする権限をユーザに与える。これも理解できるように、鍵のペア（ＰＵ−ＣＥＲＴ、ＰＲ−ＣＥＲＴ）は、（ＰＵ−ＥＮＴＩＴＹ、ＰＲ−ＥＮＴＩＴＹ）とは別個であり、自己パブリッシュに限定して用いられる。鍵のペア（ＰＵ−ＣＥＲＴ、ＰＲ−ＣＥＲＴ）はなしで済ますこともでき、その場合ＲＭ証明書８１０は、ユーザの公開鍵（ＰＵ−ＥＮＴＩＴＹ）だけを含み、ＲＭサーバ３２０が証明書８１０を検証できるようにＲＭサーバ３２０の秘密鍵（ＰＲ−ＲＭ）で署名されていることに留意されたい。
【００８７】
自己パブリッシュは、ＲＭサーバ３２０によって行われるステップに関してユーザが基本的にＲＭサーバ３２０に取って替わる点で、図４に示すパブリッシュと異なる。重要な点として、ユーザは、ＲＭ証明書８１０から得られる（ＰＲ−ＣＥＲＴ）（すなわちＳ（ＰＲ−ＣＥＲＴ））で、（ＰＵ−ＲＭ（ＤＥＳ１））と（ＤＥＳ１（権利データ））を含む提出された権利ラベルに署名して、署名済み権利ラベル（ＳＲＬ）３０８を得る。理解されるように、ユーザは、ＲＭ証明書８１０から（ＰＵ−ＥＮＴＩＴＹ（ＰＲ−ＣＥＲＴ））を入手し、（ＰＲ−ＥＮＴＩＴＹ）をそれに適用することにより、ＲＭ証明書８１０から（ＰＲ−ＣＥＲＴ）を得る。ただし、特にユーザは（ＰＵ−ＲＭ（ＤＥＳ１））に適用する（ＰＲ−ＲＭ）を持たないため、ユーザは、提出された権利ラベル中の権利をＲＭサーバ３２０が執行できることを確認することができない点に留意されたい。したがって、ＲＭサーバ３２０は自身で、ライセンスが要求された時に、自己パブリッシュされたＳＲＬ３０８に基づいて確認を行わなければならない。
【００８８】
ユーザがＳＲＬ３０８を自己パブリッシュすると、ユーザはその自己パブリッシュされたＳＲＬ３０８と、ＳＲＬ３０８を生成するのに用いたＲＭ証明書８１０とをコンテンツに連結し、ＳＲＬ３０８とＲＭ証明書８１０を有するそのコンテンツが別のユーザに配布される。その後、その相手のユーザが、図６Ａおよび６Ｂに示すのとほぼ同じ方式で、ＲＭサーバ３２０にコンテンツのライセンスを要求し、入手する。ただし、ここで、ライセンスの要求元ユーザは、コンテンツに連結されていた自己パブリッシュされたＳＲＬ３０８とＲＭ証明書８１０の両方をＲＭサーバ３２０に提出する。そして、ＲＭサーバ３２０は、対応する（ＰＵ−ＲＭ）に基づいてＲＭ証明書８１０のＳ（ＰＲ−ＲＭ）を検証し、ＲＭ証明書８１０から（ＰＵ−ＣＥＲＴ）を得る。次いでＲＭサーバ３２０は、取得した（ＰＵ−ＣＥＲＴ）に基づいてＳＲＬ３０８中のＳ（ＰＲ−ＣＥＲＴ）を検証し、先と同じように進行する。ただし、ユーザはＲＭサーバ３２０がＳＲＬ３０８中の権利を執行できることを確かめていないので、先に述べたように、ＲＭサーバ３２０自体がこの時にこの確認を行わなければならない。
【００８９】
権利テンプレート
上記で述べたように、ユーザには、ユーザまたはユーザのクラスを定義し、定義した各ユーザまたはユーザクラスの権利を定義し、使用条件を定義することにより、権利ラベル中にほぼあらゆる種類あるいは部類の権利データを作成する自由が与えられる。しかし、重要な点として、特に同じユーザまたはユーザクラス、権利、条件を異なるコンテンツに繰り返し定義する場合には、複数の権利ラベルに権利データを繰り返し定義することが煩瑣で反復的である場合がある。そのような状況は例えば、ユーザが、特定の定義されたユーザチームと共有される異なるコンテンツを繰り返しパブリッシュする企業あるいはオフィスの環境で生じる可能性がある。そのような状況では、そして本発明の一実施形態では、ユーザが権利ラベルの作成との関連で繰り返し用いることができる権利テンプレートが作成され、この権利テンプレートは、あらかじめ定義されたユーザの組またはユーザのクラス、あらかじめ定義されたユーザまたはユーザクラスごとにあらかじめ定義された権利、およびあらかじめ定義された条件をすでに含んでいる。
【００９０】
本発明の一実施形態では、次いで図９を参照すると、権利テンプレート９００は、権利ラベルとほぼ同じ権利データを有する。ただし、コンテンツがパブリッシュされるまで（ＤＥＳ１）および／または（ＣＫ）が分からないので、権利データは、権利ラベルの場合のように（ＤＥＳ１）または（ＣＫ）に従って暗号化することはできない。そこで、本発明の一実施形態では、図４のステップ４１６の（ＤＥＳ１）または（ＣＫ）で権利データを暗号化して（ＤＥＳ１（権利データ））または（ＣＫ（権利データ））を生成する過程で、暗号化されていない権利データを含む権利テンプレート９００が提出される。言うまでもなく、権利データは、上記のように暗号化される前に、提出された権利テンプレート９００から取り出される。
【００９１】
権利テンプレートの構築時にＲＭサーバ３２０とその公開鍵（ＰＵ−ＲＭ）が分かっている場合もそうでない場合もある。さらに、分かっている場合でも、それぞれが各自の（ＰＵ−ＲＭ）を有するＲＭサーバ３２０が２つ以上ある場合もそうでない場合もある。それでも、ＲＭサーバ３２０とその公開鍵（ＰＵ−ＲＭ）が権利テンプレートの構築時に分かっている場合と、１つのみのＲＭサーバ３２０が用いられるか、権利テンプレート９００との関連で１つのみのＲＭサーバ３２０が用いられる場合は、権利テンプレートは、そのＲＭサーバの公開鍵（ＰＵ−ＲＭ）を含み、その権利テンプレート９００から作成される権利ラベルに署名すべきＲＭサーバに関する情報も含むことができる。その（ＰＵ−ＲＭ）は、（ＤＥＳ１）または（ＣＫ）を暗号化して（ＰＵ−ＲＭ（ＤＥＳ１））または（ＰＵ−ＲＭ（ＣＫ））となった形でＳＲＬ３０８中に表されるが、コンテンツがパブリッシュされるまで（ＤＥＳ１）および／または（ＣＫ）は不明であり、したがって権利テンプレート９００中の（ＰＵ−ＲＭ）は、権利ラベルの場合のように（ＤＥＳ１）または（ＣＫ）を暗号化することはできないことを再度理解されたい。そこで、本発明の一実施形態では、暗号化されていない（ＰＵ−ＲＭ）を含む権利テンプレート９００は、図４のステップ４１４で（ＰＵ−ＲＭ）で（ＤＥＳ１）を暗号化して（ＰＵ−ＲＭ（ＤＥＳ１））を得る過程か、または（ＰＵ−ＲＭ（ＣＫ））を作成する過程で提出される。もちろん、（ＰＵ−ＲＭ）は、用いられる前に、提出された権利テンプレート９００から取り出される。
【００９２】
同じく上述の場合に、権利テンプレートに含めることが可能なＲＭサーバに関する他の情報は、ネットワーク上でＲＭサーバを見つけるためのＵＲＬと、そのＵＲＬが機能しない場合の予備情報などの参照情報も含むことができる。いずれの場合も、権利テンプレートは、特に、権利テンプレート９００自体を記述する情報も含むことができる。権利テンプレート９００は、コンテンツおよび／または暗号化鍵（ＣＫ）および（ＤＥＳ１）との関連で権利ラベル中に現れる情報などパブリッシュされるコンテンツに関連する情報のためのスペースも提供することができるが、そのようなスペースは、権利テンプレートのインスタンス化が実際に権利ラベルに変換されない場合は不要であることに留意されたい。
【００９３】
ここまで開示した権利テンプレート９００は、主としてユーザの利便のためであるが、状況によっては、ユーザは、権利ラベルに権利データを定義する無制限の自由を有するべきでなく、権利テンプレート９００を使用して、作成できる権利ラベルの範囲または種類を制限できることも理解されたい。例えば、特に企業やオフィス環境の場合に、特定のユーザが常に特定のクラスのユーザのみにコンテンツをパブリッシュすべきこと、あるいはユーザが特定クラスのユーザにはコンテンツをパブリッシュすべきでないことを、ポリシーとして事前に定義することができる。いずれの場合も、本発明の一実施形態では、そのようなポリシーは、１つまたは複数の権利テンプレート９００にあらかじめ定義された権利データとして実施され、コンテンツをパブリッシュする際にその権利テンプレートを用いて権利ラベルを作成するようにユーザを制限することができる。留意点として、そのユーザのパブリッシュポリシーを指定するためにユーザが利用できる権利テンプレートまたは権利テンプレートのグループは、本発明の主旨および範囲から逸脱することなく、特定の種類のパブリッシュポリシーを指定することができる。
【００９４】
制限のあるユーザなどに対する権利テンプレート９００を指定するには、次いで図１０を参照すると、管理者などが、あらかじめ定義された権利データを定義し（ステップ１００１）、特定のＲＭサーバ３２０に関連する情報など必要かつ適当である他のデータを定義する（ステップ１００３）ことにより、権利テンプレート９００を実際に構築する。重要な点として、制限のあるユーザなどが使用するために権利テンプレートを有効化するには、権利テンプレート９００を公式にしなければならない。すなわち、権利テンプレート９００が、制限のあるユーザなどが使用可能な権利テンプレートとして認識できるようにしなければならない。したがって、本発明の一実施形態では、管理者などによって構築された権利テンプレートは、ＲＭサーバ３２０による署名のためにＲＭサーバに提出され、その署名により権利テンプレートが公式になる（ステップ１００５）。
【００９５】
署名を行うＲＭサーバ３２０は、そのような情報が実際に権利テンプレート９００中にある場合には、そのサーバについての情報が権利テンプレート９００中にあるＲＭサーバ３２０であることに留意されたい。また、ＲＭサーバ３２０は、必要な確認を行った後にのみ権利テンプレート９００に署名しても、まったく確認を行わずに署名してもよいことにも留意されたい。最後に、ＲＭサーバからのテンプレートの署名Ｓ（ＰＲ−ＲＭ−Ｔ）（−Ｔは、署名がＯＲＴ９００に対することを意味する）は、少なくとも権利テンプレート９００中のあらかじめ定義された権利データに基づくべきであるが、本発明の主旨および範囲から逸脱せずに他の情報に基づいてもよいことに留意されたい。下記で述べるように、署名Ｓ（ＰＲ−ＲＭ−Ｔ）は、権利ラベル中に組み込まれ、権利ラベルとの関連で検証され、したがって、署名が基づく事柄もすべて変更されない形で権利ラベルに組み込まれなくてはならない。
【００９６】
ＲＭサーバ３２０が権利テンプレート９００に署名し、それを管理者などに返すと、管理者は、署名され、現在は公式となったＳ（ＰＲ−ＲＭ−Ｔ）を有する権利テンプレート９００を受け取り（ステップ１００７）、その公式権利テンプレート（ＯＲＴ）９００を使用のために１人または複数のユーザに転送する（ステップ１００９）。したがって、ユーザは、ＯＲＴ９００に基づいてコンテンツをパブリッシュするために、ＯＲＴ９００を取り出し（ステップ１０１１）、コンテンツに関する情報、適切な鍵情報、（ＤＥＳ１）または（ＣＫ）で暗号化されて（ＤＥＳ１（権利データ））または（ＣＫ（権利データ））となったＯＲＴ９００からの権利データ、およびＯＲＴ９００からの他の情報などの必要な情報を提供することにより、ＯＲＴ９００に基づく権利ラベルを構築する（ステップ１０１３）。重要な点として、ユーザは、ＯＲＴ９００からの署名Ｓ（ＰＲ−ＲＭ−Ｔ）も権利ラベルに含める。
【００９７】
その後、先と同じように、ユーザは、署名のために権利ラベルをＲＭサーバ３２０に提出する（ステップ１０１５）。ただし、ここで、ＲＭサーバ３２０は、権利ラベル中のＳ（ＰＲ−ＲＭ−Ｔ）が正しいことが証明されない限り、提出された権利ラベルに署名しない。すなわち、ＲＭサーバ３２０は、提出された権利ラベルがＯＲＴ９００からの署名Ｓ（ＰＲ−ＲＭ−Ｔ）を含まない場合は、提出された権利ラベルに署名することを拒否することにより、提出される権利ラベルをＯＲＴ９００に基づかせることをユーザに強制する。詳細には、ＲＭサーバ３２０は、提出された権利ラベルからＳ（ＰＲ−ＲＭ−Ｔ）とその署名が基づいている情報を取り出し、（ＰＵ−ＲＭ）に基づいてその署名を検証する。提出された権利ラベル中の権利データは、（ＤＥＳ１）に従って（すなわち（ＤＥＳ１（権利データ）））、または（ＣＫ）に従って（すなわち（ＣＫ（権利データ）））暗号化されていることに留意されたい。したがって、ＲＭサーバ３２０は、まず、図７との関連で上述したように暗号化された権利データを復号化して、提出された権利ラベル中の権利データに基づく署名を検証できる状態にならなければならない。
【００９８】
署名が正しいことが検証されると、ＲＭサーバ３２０は、提出された権利ラベルにＳ（ＰＲ−ＲＭ−Ｌ）で署名して、先と同様にＳＲＬ３０８を作成する（−Ｌは署名がＳＲＬ３０８に対するものであることを意味する）。ここで、Ｓ（ＰＲ−ＲＭ−Ｌ）は、Ｓ（ＰＲ−ＲＭ−Ｔ）に取って替わるか、またはＳ（ＰＲ−ＲＭ−Ｔ）に追加されることができる。追加される場合は、Ｓ（ＰＲ−ＲＭ−Ｌ）は、一部がＳ（ＰＲ−ＲＭ−Ｔ）に基づくことができる。（ＰＲ−ＲＭ）を用いてＳ（ＰＲ−ＲＭ−Ｔ）とＳ（ＰＲ−ＲＭ−Ｌ）の両方を作成しても、または、Ｓ（ＰＲ−ＲＭ−Ｔ）とＳ（ＰＲ−ＲＭ−Ｌ）それぞれに異なる（ＰＲ−ＲＭ）を用いてもよいことに留意されたい。ＲＭサーバ３２０が権利ラベルに署名し、ＳＲＬ３０８をユーザに返すと、ユーザはＳ（ＰＲ−ＲＭ−Ｌ）を有するＳＲＬ３０８を受け取り（ステップ１０１７）、次いで、上記と同様にＳＲＬ３０８とパブリッシュされるコンテンツとを連結する。
【００９９】
柔軟性のある権利テンプレート
ＯＲＴ９００の署名Ｓ（ＰＲ−ＲＭ−Ｔ）の少なくとも一部分が、ＯＲＴ９００のあらかじめ定義された権利データに基づく場合、ＳＲＬ３０８に現れるその権利データは、変更または修正することができない。変更が可能であると、ＳＲＬ３０８に現れる可能性のあるＳ（ＰＲ−ＲＭ−Ｔ）の有効性が証明されない。それでも、本発明の一実施形態では、ＯＲＴ９００の権利データは、同じくＯＲＴ９００に含まれる規定された規則の範囲内で修正することができる。例えば、この規則は、１つまたは２つの権利データの組をＳＲＬ３０８に含めることを指定する、あるいは選択肢の組からの選択を許可することができる。理解できるように、この規則は、本発明の主旨および範囲から逸脱することなく、適切な構文で記述された任意の特定の規則とすることができる。ここでは、規則は、権利ラベルの作成時に、ユーザの適切な規則インタープリタによって解釈される。権利データは変化してよいが、規則は同様には変化せず、したがって、ＯＲＴ９００のテンプレートの署名Ｓ（ＰＲ−ＲＭ−Ｔ）は、少なくとも一部が規則に基づき、権利データ自体には基づかない可能性がある。規則に基づく場合、ＯＲＴ９００に含まれる規則は、ＳＲＬ３０８にも含めなければならない。
【０１００】
本発明の一実施形態では、上述のように、ＯＲＴ９００中のあらかじめ定義された権利データは、一部は固定され、不変であり、一部は可変で、柔軟性があり、規則に左右される。ここで、ＯＲＴ９００のテンプレート署名Ｓ（ＰＲ−ＲＭ−Ｔ）は、少なくとも部分的には、権利データの固定部分の少なくとも１つと、権利データの柔軟な部分についての規則とに基づく。
【０１０１】
ＯＲＴ９００などの権利テンプレートの柔軟性は、下記で述べるようにいくつかの方式のいずれで示してもよい。
【０１０２】
上記で説明し、図４Ａとの関連で分かるように、ＯＲＴ９００は、１つまたは複数の特定のユーザまたはユーザのグループとその権利を指定することができ、したがって、そのユーザは、ＳＲＬ３０８に基づくライセンス１６を得ることができる。しかし、詳細には、このＯＲＴ９００は、ＯＲＴ９００に基づくＳＲＬ３０８をパブリッシュする際に、そのようなユーザ、権利、および関連する条件等を指定することに関してパブリッシャに選択の自由を与えない。換言すると、ここまで開示されたＯＲＴ９００は、ＯＲＴ９００に基づくライセンス１６を得ることができるユーザ、ライセンス１６中に指定されるそのようなユーザの権利、ライセンス１６に指定され、ユーザが権利を用いるために満たさなければならない条件などを定義する際に、パブリッシャに一切の柔軟性を与えない。
【０１０３】
したがって、本発明の一実施形態では、必要とされるユーザのサブセット、各ユーザに必要とされるライセンス権利のサブセット、権利に必要とされる条件のサブセット、ならびに、ＯＲＴ９００に基づくパブリッシュの過程でパブリッシャがそのようなユーザ、権利、条件を選択する際に用いるべき対応する規則をＯＲＴ９００中に指定することにより、ＯＲＴ９００に柔軟性を持たせる。そのようなユーザ、権利、条件を、規則と併せて表す擬似コードは、次のように表すことができる。
【０１０４】
【表１】
0004847701.tif 000002
【０１０５】
例えば、ユーザに関して、ＯＲＴ９００は、パブリッシャが、組織内のユーザ、あらかじめ定義されたグループに属する組織内のユーザのみ、指定された個人ユーザのみ、あるいはそれらの組合せを指定できるようにすることができる。同様に、ＯＲＴ９００は、パブリッシャがユーザまたはユーザのグループを指定できるようにするが、パブリッシャが、特定の管理ユーザを、その組織内にライセンス１６を入手できるユーザが他にいない場合にライセンス１６を得ることのできる「ｌａｓｔ  ｍａｎ」ユーザに指定することを必須とする。
【０１０６】
権利と条件に関して、ＯＲＴ９００は、パブリッシャが、特定のユーザまたはユーザグループにはすべての権利を与える、あるいは特定のユーザまたはユーザグループを特定の権利に制限する、あるいは別のユーザがすべての権利を得られる場合はあるユーザを特定の権利に制限する、あるいはこれらの組合せが可能である。同様に、ＯＲＴ９００は、パブリッシャが、例えば上述のｌａｓｔ  ｍａｎユーザなどの特定のユーザまたはユーザグループにすべての権利を与えることを必須としてもよい。同様に、ＯＲＴ９００は、第１種のユーザについての権利を第１の方式で条件付け、第２種のユーザについての同じ権利を第２の方式で条件付けることを必須としてもよい。理解されるように、ユーザ、権利、条件などをＯＲＴ９００に指定する方式は、本発明の主旨および範囲から逸脱せずに適当な方式とすることができる。
【０１０７】
上記で図４Ａおよび９との関連で述べ、図から分かるように、ＯＲＴ９００とＯＲＴ９００から得られるＳＲＬ３０８は、１人または複数の特定のユーザまたはユーザのグループとそのユーザの権利各々を指定することができ、したがってそのユーザは、ＳＲＬ３０８に基づいてライセンス１６を得ることができる。しかし、詳細には、そのようなＯＲＴ９００は、ユーザがＯＲＴ９００を用いてパブリッシュすることができる場合には、１人または複数のユーザまたはユーザのグループを同様に指定することはない。言い換えると、ここまで開示されたＯＲＴ９００は、そのＯＲＴ９００を使用してパブリッシュすることができるユーザに関しては一切選択性を許可しない。
【０１０８】
したがって、本発明の一実施形態では、ＯＲＴ９００を使用してパブリッシュできる１人または複数のユーザまたはユーザのグループそれぞれと、恐らくは、パブリッシュするためにＯＲＴ９００を用いることを望むパブリッシャが、実際にＯＲＴ９００に指定されたパブリッシャであり、したがって実際にそのＯＲＴ９００に基づいてパブリッシュすることをＯＲＴ９００によって許可されることをどのように保証するかを示す対応する規則とをＯＲＴ９００の中に指定することにより、ＯＲＴ９００に柔軟性を持たせる。パブリッシュを許可されたそのようなユーザを表す擬似コードは次のように表すことが可能である。
【０１０９】
【表２】
0004847701.tif 000003
【０１１０】
したがって、一例として、企業の経理部がその部のために作成された特定の経理用ＯＲＴ９００を有することができ、その特定の経理用ＯＲＴ９００は、経理部のすべてのメンバとその企業の会計課の全メンバが経理用ＯＲＴ９００を使用してよいことをその中に指定する。同様に、企業の法務部は、その部のために作成された特定の法務用ＯＲＴ９００を有することができ、その特定の法務用ＯＲＴ９００は、弁護士である法務部のすべてのメンバがその法務用ＯＲＴ９００を使用してよいことを指定する。
【０１１１】
対応する規則は、単に、可能なパブリッシャを明確にＯＲＴ９００に列挙すること、あるいは可能なパブリッシャが、ＯＲＴ９００に明確に列挙されたグループのメンバであることを必須としてもよいことに留意されたい。あるいは、対応する規則は、可能なパブリッシャがＯＲＴ９００に明確に列挙され、かつ可能なパブリッシャがＯＲＴ９００に明確に列挙されるグループのメンバであること、あるいは可能なパブリッシャが別のより複雑な要件を満たすことを必須としてもよい。理解されるように、対応する規則は、本発明の主旨および範囲から逸脱せずに、適切な規則とすることができる。
【０１１２】
上記で述べ、図４Ａとの関連で分かるように、ＳＲＬ３０８は、（ＤＥＳ１）または（ＣＫ）を暗号化して（ＰＵ−ＲＭ（ＤＥＳ１）または（ＰＵ−ＲＭ（ＣＫ））を生成しているＲＭサーバ３２０の公開鍵を含み、その結果、そのＲＭサーバ３２０だけが、要求元ユーザにライセンスを発行する過程で（ＤＥＳ１）または（ＣＫ）にアクセスすることができる。それに応じて、図９に示すＯＲＴ９００は、そのような（ＰＵ−ＲＭ）を含んでおり、したがってそのＯＲＴ９００を使用するとＳＲＬ３０８が明確にＲＭサーバ３２０に結び付けられ、また、ライセンス１６が明確にそのＲＭサーバ３２０に結び付けられる。
【０１１３】
したがって、本発明の一実施形態では、いくつかの異なるＲＭサーバ３２０各々の公開鍵（ＰＵｘ−ＲＭ）と、そのＯＲＴ９００に基づいて権利ラベルを構築する際に各自の対応する（ＰＵｘ−ＲＭ）でそれら異なるＲＭサーバ３２０の１つまたは複数を選択する方式を指定する対応する規則とをＯＲＴ９００に含めることにより、ＯＲＴ９００に柔軟性を持たせる。ライセンスの発行を許可されたＲＭサーバ３２０を規則と併せて表す擬似コードは、次のように表すことができる。
【０１１４】
【表３】
0004847701.tif 000004
【０１１５】
例えば、ＯＲＴ９００は、それぞれが第１、第２、第３のＲＭサーバ３２０に対応する公開鍵（ＰＵ１−ＲＭ）、（ＰＵ２−ＲＭ）、および（ＰＵ３−ＲＭ）と、そのＯＲＴ９００から得られる権利ラベルが、その第１、第２、第３のＲＭサーバ３２０のいずれかまたはすべてを含むことができることを指定する規則とを指定することができる。それら第１、第２、第３のＲＭサーバ３２０は、パブリッシャの組織内のＲＭサーバ３２０であっても、かつ／またはパブリッシャの組織外のＲＭサーバ３２０であってもよいことに留意されたい。後者の場合、パブリッシャの組織外のユーザには、そのユーザが、指定されるＲＭサーバ３２０のいずれかからライセンス１６を得る権利を有する場合、そのパブリッシャによってパブリッシュされたコンテンツ１２へのアクセス権を提供することができる。
【０１１６】
ここで理解されるように、パブリッシャは、ＳＲＬ３０８に現れる特定の各（ＰＵｘ−ＲＭ）をＯＲＴ９００から選択する際に、その（ＰＵｘ−ＲＭ）を、（ＣＫ）または（ＤＥＳ１）を暗号化するものとして実際にＳＲＬ３０８に入れる（以後「ＣＫ」あるいは相当語句）。一例として、パブリッシャが、ＯＲＴ９００から（ＰＵ１−ＲＭ）と（ＰＵ３−ＲＭ）を選択した場合、作成されるＳＲＬ３０８は、（ＰＵ１−ＲＭ（ＣＫ））と（ＰＵ３−ＲＭ（ＣＫ））の両方を含むことになる。その結果、ユーザがそのＲＭサーバ３２０からライセンス１６をそのように得る権利をその他の形で有すると仮定すると、ユーザは、第１または第３のＲＭサーバ３２０のどちらからでもライセンス１６を得ることを許可される。
【０１１７】
同様に、上記で説明し、図９に示すＯＲＴ９００は、パブリッシュの過程でそのようなＯＲＴ９００に基づいてＳＲＬ３０８を提供できる特定のＲＭサーバ３２０を指定しない。したがって、本発明の一実施形態では、パブリッシュするために使用できる１つまたは複数の特定のＲＭサーバ３２０それぞれの公開鍵（ＰＵｘ−ＲＭ）と、そのＯＲＴ９００に基づいて権利ラベルを構築する際に、各自の対応する（ＰＵｘ−ＲＭ）を手段としてＲＭサーバ３２０から選択する方式を指定する対応する規則とをＯＲＴ９００に含めることにより、ＯＲＴ９００に柔軟性を持たせる。そのための規則と併せて、パブリッシュすることを許可されたＲＭサーバ３２０を表す擬似コードは次のように表すことができる。
【０１１８】
【表４】
0004847701.tif 000005
【０１１９】
例えば、ＯＲＴ９００は、それぞれが上述の第１、第２、および第３のＲＭサーバ３２０に対応する上述の公開鍵（ＰＵ１−ＲＭ）、（ＰＵ２−ＲＭ）、および（ＰＵ３−ＲＭ）と、その第１、第２、第３のＲＭサーバ３２０のみによってＯＲＴ９００から権利ラベルを得るべきことを指定する規則とを指定することができる。あるいは、この規則は、利用不能でない限りは第１のＲＭサーバを用いるべきであり、第１のＲＭサーバが利用できない場合は、第２または第３のＲＭサーバ３２０を用いることを指定してもよい。上記と同様に、第１、第２、第３のＲＭサーバ３２０は、パブリッシャの組織内のＲＭサーバ３２０であっても、かつ／またはパブリッシャの組織外のＲＭサーバ３２０であってもよい。
【０１２０】
ＯＲＴ９００に基づいてパブリッシュするために用いることができるＯＲＴ９００中のＲＭサーバ３２０のリストは、特に、ＯＲＴ９００から得られたＳＲＬ３０８中では恐らくは不要なので、そのようなＳＲＬ３０８には必ずしも現れない。しかし、そのようなリストは、本発明の主旨および範囲から逸脱せずにＳＲＬ３０８に表すことが可能である。
【０１２１】
ここまで開示されたＯＲＴ９００は、その中に直接示された情報を含み、そのため、その情報を変更する唯一の方式はＯＲＴ９００を変更することである点に留意されたい。しかし、そのような情報をより迅速な方式で変更することが必要な場合があることは理解されよう。例えば、あるユーザが、もはやある組織の１つまたは複数のＯＲＴ９００に明確に列挙されるべきでない場合、特にその組織が比較的大きく、ユーザがその組織の何百あるいは何千ものＯＲＴ９００に列挙されている可能性がある場合には、それらのＯＲＴ９００１つ１つを編集してユーザを削除するのは煩瑣である可能性がある。同様に、あるＲＭサーバ３２０をライセンス１６の発行元として組織の１つまたは複数のＯＲＴ９００に追加すべき場合も、それらの各ＯＲＴ９００を編集してＲＭサーバ３２０をＯＲＴ９００に追加するのは煩瑣であることが考えられる。
【０１２２】
したがって、本発明の一実施形態では、変更を受ける可能性のある情報などの特定の情報は、直接ＯＲＴ９００に現れなくともよく、代わりに、その情報を入手することが可能な場所への参照としてＯＲＴ９００中に表すことができる。この参照は、例えばポインタなどである。そのような参照を含む擬似コードは、次のようにすることができる。
【０１２３】
【表５】
0004847701.tif 000006
【０１２４】
もちろん、このような参照によって得られる情報は、必要に応じてＯＲＴ９００から得られたＳＲＬ３０８には直接現れるべきである。そのような情報を得ることが可能な場所は、その場所にある情報を変更することを試みうる悪意のあるエンティティの影響を容易に受けない安全な場所であるべきことは理解されよう。
【０１２５】
理解できるように、ＯＲＴ９００中で参照される情報は、本発明の主旨および範囲から逸脱せずに任意の適切な情報とすることができる。例えば、参照される情報としては、パブリッシャがパブリッシュするために使用できる特定のＲＭサーバ３２０の公開鍵、パブリッシャがパブリッシュするために使用できるすべてのＲＭサーバ３２０の公開鍵のリスト、ＯＲＴ９００とそのＯＲＴから得られたＳＲＬ３０８中で上述のｌａｓｔ  ｍａｎユーザとすべき特定のユーザ、ＯＲＴ９００とそのＯＲＴ９００から得られたＳＲＬ３０８中のすべてのユーザのリスト、特定ユーザの権利のリスト、特定の権利についての条件のリスト等が可能である。
【０１２６】
本発明の別の実施形態では、変更を受ける可能性のある情報などの特定の情報は、ワイルドカード、変数などによりＯＲＴ９００に表すことができる。したがって、一例として、ＡＢＣ社の各ユーザを個々に指定するのではなく、ＯＲＴ９００は単に、「＊＠ＡＢＣ」などの語句によりすべてのユーザを指定することができ、「＊」は、全ユーザに対応するワイルドカードであり、「＠ＡＢＣ」は、ＡＢＣ社を表す。このようなワイルドカードを含む擬似コードは次のように表すことができる。
【０１２７】
【表６】
0004847701.tif 000007
【０１２８】
同種のワイルドカードの使用法には、「Ｍ＊＠ｅｎｇｉｎｅｅｒｉｎｇ＠ＸＹＺ」、すなわちＸＹＺ社の技術部門のユーザ名がＭで始まる全ユーザ、あるいは「＊＠ｐｒｏｊｅｃｔｘ＠ｒｅｓｅａｒｃｈ＠ＰＤＱ」、すなわちＰＤＱ社の調査部で企画Ｘに携わる全ユーザ、等がある。ここでも、このようなワイルドカード、変数などによって得られる情報は、必要に応じて、ＯＲＴ９００から得られたＳＲＬ３０８に直接表すべきである。
【０１２９】
通例、ＯＲＴ９００に基づいてＳＲＬ３０８を構築する際にＯＲＴ９００の署名Ｓ（ＰＲ−ＲＭ−Ｔ）を含むＯＲＴ９００が権利ラベルに入れられ、そのため、ＯＲＴ９００は、参照、変数、ワイルドカード、およびＯＲＴ９００中の変動する可能性があるその他の形で変換可能な（ｒｅｓｏｌｖｉｎｇ）権利データを入れ替えることにより、権利ラベル内で変更することができる。その後、図６Ａおよび６Ｂとの関連で述べたように、中の権利データが変更された権利ラベルは、署名してＳＲＬ３０８を生成するために適当なＲＭサーバ３２０に提出される。そのようなＳＲＬ３０８を表す擬似コードは、次のように表すことができる。
【０１３０】
【表７】
0004847701.tif 000008
【０１３１】
このように、上記で示唆したように、ＳＲＬ３０８に現れるＯＲＴ９００の署名Ｓ（ＰＲ−ＲＭ−Ｔ）は、ＯＲＴ９００中の変化しない権利データの少なくとも一部に基づかなければならない。そうでないと、署名Ｓ（ＰＲ−ＲＭ−Ｔ）が、そのＯＲＴ９００から得られたＳＲＬ３０８に現れる権利データの正当性を証明しない。しかし、あらかじめ定義された取り決めがないと、署名Ｓ（ＰＲ−ＲＭ−Ｔ）を検証しようとする検証者は、権利データのどの部分が実際に署名が基づいている変化の部分であるかが分からず、したがって実際にどのようにその署名を検証すべきかが分からない。
【０１３２】
したがって、本発明の一実施形態では、権利データは、ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（ＸＭＬ）フォーマットなどのタグ付きのフォーマットでＯＲＴ９００中と、したがってＳＲＬ３０８に表され、署名Ｓ（ＰＲ−ＲＭ−Ｔ）の基礎となっている権利データの各部分は、基礎となっている旨がマークされる。例えば、基礎となっている権利データの各部分は、特別なタグでマークするか、特別な属性を持つタグでマークすることができる。そのようなマークされた部分を持つＯＲＴ９００を表す擬似コードは、例えば次のようになる。
【０１３３】
【表８】
0004847701.tif 000009
【０１３４】
ここで理解されるように、ＳＲＬ３０８の署名Ｓ（ＰＲ−ＲＭ−Ｔ）を検証するには、検証者は、署名Ｓ（ＰＲ−ＲＭ−Ｔ）の基礎となっているとしてマークされたＳＲＬ３０８中の権利データの各部分を識別し、そのマークされた部分を取り出し、適切に連結して署名ブロックを形成し、その署名ブロックを用いて署名Ｓ（ＰＲ−ＲＭ−Ｔ）を検証すればよい。もちろん、マークされた部分の連結は、本発明の主旨および範囲から逸脱せずに任意の適切な方式で行うことができる。例えば、連結は、マークされた各部分がＳＲＬ３０８中で出現する順序で行うことができる。
【０１３５】
開示された柔軟性のあるＯＲＴ９００で、次いで図１１を参照すると、そのようなＯＲＴ９００に基づくＳＲＬ３０８とライセンス１６の作成は、以下と同様の方式で行うことができる。事前に、ＯＲＴ９００自体を組織内の適当なエンティティによって作成し、そのＯＲＴ９００に基づいてパブリッシュすることを望むパブリッシャから場合によってアクセスできるように、データベースなどに適切に配置する（ステップ１１０１）。例えば、そのようなＯＲＴ９００は、ＷＢＰＡ社の法務部の全ユーザに権利を付与する（すなわち＊＠ｌｅｇａｌ＠ＷＢＰＡ）、パブリッシャがそのような各ユーザの権利とその各権利の条件を指定できるようにする、法務部のすべての幹部メンバがＯＲＴ９００に基づいてパブリッシュできると定義する（すなわち＊＠ｅｘｅｃ＠ｌｅｇａｌ＠ＷＢＰＡ）、各自の公開鍵（ＰＵ１−ＲＭ）、（ＰＵ２−ＲＭ）、（ＰＵ３−ＲＭ）で識別される、ライセンス１６を発行する３つの特定のＲＭサーバ３２０を指定すること等ができる。データベース等に記憶されたＯＲＴ９００は、恐らくは上記の方法と同様に、ＯＲＴ９００の特徴の記述を示す記述部分を含むべきである。ＯＲＴ９００を作成する際、ＯＲＴ９００の作成者は、ＯＲＴ９００中の変更すべきでない権利データ部分を適宜マークし、そのマークされた権利データ部分に基づくＯＲＴ９００に署名して、そのＯＲＴ９００に含められるデジタル署名を得る。
【０１３６】
その後、作成者は、何らかの種類のコンテンツ１２を作成し、その作成したコンテンツ１２をパブリッシュすることを決定する（ステップ１１０３）。したがって、現在はパブリッシャとして機能している作者は、コンテンツ鍵（ＣＫ）でコンテンツ１２を暗号化し（ステップ１１０５）、１つまたは複数の当該ＯＲＴ９００を求めて上述のデータベース等を検索し、恐らくは各ＯＲＴ９００の記述部分に基づき、作者／パブリッシャは、使用する適切なＯＲＴ９００を選択する（ステップ１１０７）。本発明の一実施形態では、データベース等の各ＯＲＴ９００は、そのパブリッシャがそのＯＲＴを使用することが可能であるとＯＲＴ９００内で定義されている場合にのみ、パブリッシャに対して表示される。したがって、上記の例示的ＯＲＴ９００では、そのようなＯＲＴ９００は、パブリッシャがＷＢＰＡ社の法務部の幹部メンバである場合にのみパブリッシャに見え、したがって、パブリッシャは、ＷＢＰＡ社の法務部の幹部メンバである場合にのみＯＲＴ９００を使用することができる。それ以外の場合、別のＯＲＴ９００がパブリッシャのパブリッシュに関する必要性を満たすのであれば、パブリッシャは、別のＯＲＴ９００を使用しなければならない。
【０１３７】
ここで、上記のＯＲＴ９００の例が実際にパブリッシャによって使用できるとすると、ＯＲＴ９００がパブリッシャに提示され、パブリッシャには、ＯＲＴ９００に課された規則と制約に沿ってＯＲＴ９００の権利データを変更する機会が与えられる（ステップ１１０９）。したがって、上記のＯＲＴ９００の例に基づくと、パブリッシャは、ＷＢＰＡ社の法務部の１人または複数のユーザを権利の受け取り手として選択することができ、それらのユーザごとに権利を選択し、その各権利に条件を選択することができる。
【０１３８】
作者がＯＲＴ９００の権利データの変更を終えると、パブリッシャは、上記と同様の方式で変更した権利データに基づいてパブリッシュする（ステップ１１１１）。ここで、ＯＲＴ９００の変更した権利データとＯＲＴ９００の署名は、（ＰＵ１−ＲＭ）、（ＰＵ２−ＲＭ）、（ＰＵ３−ＲＭ）それぞれに従って暗号化されて（ＰＵ１−ＲＭ（ＣＫ））、（ＰＵ２−ＲＭ（ＣＫ））、（ＰＵ３−ＲＭ（ＣＫ））を作成しているコンテンツ鍵およびおそらくは他のデータとともに権利ラベルに入れられ、権利ラベルは次いで、署名して当該権利ラベルに基づくＳＲＬ３０８を作成するために適切なＲＭサーバ３２０に送信されることを理解されたい。その後、パブリッシャは、ＳＲＬ３０８と暗号化したコンテンツ１２を連結してパッケージ１３を形成し、暗号化コンテンツ１２を含むパッケージ１３を１人または複数のユーザに適宜配布する（ステップ１１１３）。
【０１３９】
特定のユーザは、パッケージ１３を受信し、その中のコンテンツ１２をレンダリングすることを希望すると、各自の公開鍵（ＰＵ１−ＲＭ）、（ＰＵ２−ＲＭ）、（ＰＵ３−ＲＭ）で識別される、ＯＲＴ９００を経由してＳＲＬ３０８中に指定された３つの特定のライセンス発行ＲＭサーバ３２０の１つに、パッケージ１３のＳＲＬ３０８と該当する証明書を提示し（ステップ１１１５）、それが適切な場合、ユーザは、ＲＭサーバ３２０からライセンス１６を受け取る（ステップ１１１７）。理解されるように、権限を付与するＲＭサーバ３２０は、ＳＲＬ３０８の署名の正当性が証明され、ＳＲＬ３０８中に入れられたＯＲＴ９００の署名も証明された場合にのみライセンスを発行し、ここで、ＯＲＴ９００の署名は、ＳＲＬ３０８中で適宜マークされた権利データに照らして検証される。これも理解されるように、権限を付与するＲＭサーバ３２０は、ＳＲＬ３０８中の（ＰＵｘ−ＲＭ（ＣＫ））を、（ＣＫ）を暗号化して（ＰＵ−ＵＳＥＲ（ＣＫ））を形成しているユーザの公開鍵（ＰＵ−ＵＳＥＲ）と置き換え、（ＰＵ−ＵＳＥＲ）は提示された証明書から得られる。言うまでもなく、ライセンス１６が、要求される方式でコンテンツ１２をレンダリングする権利をユーザに与えると仮定すると、ユーザは、ライセンス１６に基づいてそのコンテンツ１２を実際にレンダリングする。
【０１４０】
結論
本発明との関連で行われるプロセスを実施するために必要なプログラミングは、比較的単純であり、関連するプログラミングの当業者には明らかであるはずである。したがって、そのプログラミングは本明細書に添付しない。本発明の主旨および範囲から逸脱することなく、任意の特定のプログラミングを用いて本発明を実施することができる。
【０１４１】
上に述べたように、デジタルコンテンツとサービスのための使用ライセンスを署名済み権利ラベルを介して発行するシステムおよび方法を説明した。当業者は、本発明の好ましい実施形態には多数の変更と修正を行えること、およびその変更と修正は本発明の主旨から逸脱せずに行えることを認識されよう。したがって、添付の特許請求の範囲は、本発明の真の主旨および範囲に該当するそのような同等の変形形態をすべて包含するものとする。
【０１４２】
前述の説明で、本発明は、任意形態のデジタルコンテンツ１２のコントロールされたレンダリングあるいは再生を可能にする新規で有用なアーキテクチャと方法を備え、このコントロールは柔軟性があり、デジタルコンテンツ１２のコンテンツ所有者／開発者によって定義できることが理解できよう。このアーキテクチャは、特に、定義された個人のグループまたは個人のクラス間で文書が共有されるオフィスあるいは組織の環境で、そのようなコントロールされたレンダリングを可能にし、促進する。このアーキテクチャは、そのような環境におけるデジタルコンテンツ１２のパブリッシャに、デジタルコンテンツに関してユーザとそのユーザの権利とを指定する、あらかじめ定義されたテンプレート／ＯＲＴ９００を提供し、このテンプレート／ＯＲＴ９００は本質的に柔軟性がある。
【０１４３】
別表１
権利データサンプル
【０１４４】
【表９−１】
0004847701.tif 000010
【０１４５】
【表９−２】
0004847701.tif 000011
【０１４６】
別表２
署名済み権利ラベル（ＳＲＬ）３０８のサンプル
【０１４７】
【表１０−１】
0004847701.tif 000012
【０１４８】
【表１０−２】
0004847701.tif 000013
【図面の簡単な説明】
【０１４９】
【図１】本発明を実施することが可能な、例示的な非限定的コンピューティング環境を示すブロック図である。
【図２】本発明を実施することが可能な各種のコンピューティング装置を有する例示的ネットワーク環境を示すブロック図である。
【図３】本発明による、デジタルコンテンツをパブリッシュするシステムおよび方法の好ましい実施形態の機能ブロック図である。
【図４】本発明による、権利が管理されたデジタルコンテンツをパブリッシュする方法の好ましい実施形態のフローチャートである。
【図４Ａ】図４の方法によって作成される署名済み権利ラベルの構造を示すブロック図である。
【図５】本発明による、権利が管理されたデジタルコンテンツのライセンスを取得するシステムおよび方法の好ましい実施形態の機能ブロック図である。
【図６Ａ】本発明による、権利が管理されたデジタルコンテンツのライセンスを取得する方法の好ましい実施形態のフローチャートである。
【図６Ｂ】本発明による、権利が管理されたデジタルコンテンツのライセンスを取得する方法の好ましい実施形態のフローチャートである。
【図７】信頼に基づくシステムの一例の執行アーキテクチャを示すブロック図である。
【図８】本発明の一実施形態による、ユーザがオフラインパブリッシュを行えるようにするためにＲＭサーバによってユーザに発行される証明書を示すブロック図である。
【図９】本発明の一実施形態による、権利ラベルに組み込む情報を指定する権利テンプレートを示すブロック図である。
【０１５０】
【図１０】本発明の一実施形態による、図９の権利テンプレートの作成と、権利テンプレートに基づいて図４Ａの署名済み権利ラベルの作成とが行われる主要なステップを示すフローチャートである。
【図１１】本発明の一実施形態による、柔軟性のある権利テンプレートの作成とその使用が行われる主要なステップを示すフローチャートである。
【符号の説明】
【０１５１】
１００  コンピューティング環境
１１０ａ  コンピューティング装置
１１０ｂ  コンピューティング装置
１１０ｅ  コンピューティング装置
１１０ｃ  オブジェクト
１１０ｄ  オブジェクト
１２０  処理装置
１２１  システムバス
１３０  システムメモリ
１３４  オペレーティングシステム
１３５  アプリケーションプログラム
１３６  他のプログラムモジュール
１３７  プログラムデータ
１４０  固定の不揮発性メモリインターフェース
１４４  オペレーティングシステム
１４５  アプリケーションプログラム
１４６  他のプログラムモジュール
１４７  プログラムデータ
１５０  取り外し可能な不揮発性メモリインターフェース
１６０  ユーザ入力インターフェース
１６１  マウス
１６２  キーボード
１７０  ネットワークインターフェース
１７１  ローカルエリアネットワーク
１７２  モデム
１７３  ワイドエリアネットワーク
１８０  リモートコンピュータ
１８２  グラフィックインターフェース
１８５  リモートアプリケーションプログラム
１８６  ビデオメモリ
１９０  ビデオインターフェース
１９１  モニタ
１９５  出力周辺インターフェース
１９６  プリンタ
１９７  スピーカ
【図１】
0004847701.tif 000014
【図２】
0004847701.tif 000015
【図３】
0004847701.tif 000016
【図４】
0004847701.tif 000017
【図４Ａ】
0004847701.tif 000018
【図５】
0004847701.tif 000019
【図６Ａ】
0004847701.tif 000020
【図６Ｂ】
0004847701.tif 000021
【図７】
0004847701.tif 000022
【図８】
0004847701.tif 000023
【図９】
0004847701.tif 000024
【図１０】
0004847701.tif 000025
【図１１】
0004847701.tif 000026