(57)【特許請求の範囲】
【請求項１】
記録システムにおいて、１つのダウンロードセッション中に、宛先コンピュータ読取り可能メディア上の記憶に対して、コピープロテクションを伴って、コンテンツを暗号化する方法であって、
前記記録システムが、コンテンツキーを用いて前記コンテンツを暗号化するステップと、
前記記録システムが、前記ダウンロードセッションに固有のメディアキーを生成するステップと、
前記記録システムが、前記メディアキーを用いて前記コンテンツキーを暗号化するステップと、
前記記録システムが、それぞれがエンドユーザデバイスに対応する１つまたは複数のパブリックキーを用いて前記生成されたメディアキーを暗号化するステップと、
前記記録システムが、前記宛先コンピュータ読取り可能メディアから、前記宛先コンピュータ読取り可能メディアを一意に識別するメディア識別子を取得するステップと、
前記記録システムが、前記ダウンロードセッションについての前記暗号化されたコンテンツのためのメディアシークレットテーブルであり、前記ダウンロードセッションに固有の前記暗号化されたメディアキーを含むメディアシークレットテーブルを生成するステップと、
前記記録システムが、前記メディアシークレットテーブル中に、当該メディアシークレットテーブルを一意に識別するメディアシークレットテーブル識別子を生成するステップと、
前記記録システムが、前記暗号化されたコンテンツ、前記暗号化されたコンテンツキー、および前記宛先コンピュータ読取り可能メディアから取得したメディア識別子を含むパッケージを生成するステップと、
前記記録システムが、前記宛先コンピュータ読取り可能メディアに、前記メディアシークレットテーブルおよび前記パッケージを記憶するステップと
を含み、エンドユーザデバイスが、前記コンテンツをレンダリングするのに先立って、前記宛先コンピュータ読取り可能メディアから取得したメディア識別子を前記パッケージから取得したメディア識別子と比較することによって前記コンテンツについてのコピープロテクションがもたらされることを特徴とする方法。
【請求項２】
前記記録システムが、前記複数のパブリックキーをライセンス組織からネットワークを介して受け取るステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記記録システムが、コンテンツプロバイダからコンテンツを受け取るステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記記録システムが前記メディアキーを生成するステップは、前記記録システムが、乱数を生成するステップを含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記記録システムが、前記メディアシークレットテーブルをキャッシュに記憶するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記記録システムが、前記コンテンツキーを生成するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項７】
前記記録システムが、メッセージ認証コード（ＭＡＣ）を前記生成されたメディアキーのファンクションとして生成するステップと、
前記記録システムが、前記生成されたＭＡＣを前記宛先コンピュータ読取り可能メディア上に記憶するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項８】
前記記録システムが、デジタル署名を前記メディアキーのファンクションとして生成するステップと、
前記記録システムが、前記生成されたデジタル署名を前記宛先コンピュータ読取り可能メディア上に記憶するステップと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
１つのダウンロードセッション中に、宛先コンピュータ読取り可能メディア上の記憶に対して、コピープロテクションを伴って、コンテンツを暗号化するためのプログラムであって、前記プログラムは、コンピュータに、
コンテンツキーを用いて前記コンテンツを暗号化するステップと、
前記ダウンロードセッションに固有のメディアキーを生成するステップと、
前記メディアキーを用いて前記コンテンツキーを暗号化するステップと、
それぞれがエンドユーザデバイスに対応する１つまたは複数のパブリックキーを用いて前記生成されたメディアキーを暗号化するステップと、
前記宛先コンピュータ読取り可能メディアから、前記宛先コンピュータ読取り可能メディアを一意に識別するメディア識別子を取得するステップと、
前記ダウンロードセッションについての前記暗号化されたコンテンツのためのメディアシークレットテーブルであり、前記ダウンロードセッションに固有の前記暗号化されたメディアキーを含むメディアシークレットテーブルを生成するステップと、
前記メディアシークレットテーブル中に、当該メディアシークレットテーブルを一意に識別するメディアシークレットテーブル識別子を生成するステップと、
前記暗号化されたコンテンツ、前記暗号化されたコンテンツキー、および前記宛先コンピュータ読取り可能メディアから取得したメディア識別子を含むパッケージを生成するステップと、
前記宛先コンピュータ読取り可能メディアに、前記メディアシークレットテーブルおよび前記パッケージを記憶するステップと
を実行させ、エンドユーザデバイスが、前記コンテンツをレンダリングするのに先立って、前記宛先コンピュータ読取り可能メディアから取得したメディア識別子を前記パッケージから取得したメディア識別子と比較することによって前記コンテンツについてのコピープロテクションがもたらされる、ことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１０】
エンドユーザデバイスがレンダリングするためのコンピュータ読取り可能メディア上に記憶されたコピープロテクトされたコンテンツを解読する方法であって、前記コンピュータ読取り可能メディアは、それぞれが複数のエンドユーザデバイスのうちの１つに対応するパブリックキーによって暗号化されている１つまたは複数のメディアキーを含むメディアシークレットテーブルであって当該メディアシークレットテーブルを一意に識別するメディアシークレット識別子を含むメディアシークレットテーブルと、１つの記録セッション中に当該記録セッションに固有の前記メディアキーを用いて暗号化されたコンテンツ、暗号化されたコンテンツキー、およびメディア識別子を含むパッケージとを記憶し、前記エンドユーザデバイスは、それに関連づけられたプライベートキーを有し、前記方法は、
前記エンドユーザデバイスが、前記エンドユーザデバイスについてのメディアキーを前記暗号化されたメディアキーから前記プライベートキーのファンクションとして計算するステップと、
前記エンドユーザデバイスが、前記メディアシークレットテーブルから前記メディアシークレットテーブル識別子を取得するステップと、
前記エンドユーザデバイスが、前記コンピュータ読取り可能メディアから前記コンピュータ読み取り可能メディアを一意に識別する当該コンピュータ読取り可能メディアについてのメディア識別子を取得するステップと、
前記エンドユーザデバイスが、前記コンピュータ読取り可能メディアから取得したメディア識別子を前記パッケージに記憶された前記メディア識別子と比較するステップと、
前記比較に応じて、前記コンピュータ読取り可能メディアから取得したメディア識別子が前記パッケージに記憶された前記メディア識別子に対応する場合には、前記エンドユーザデバイスが、前記計算されたメディアキーを用いて、前記メディアシークレットテーブルから取得した前記メディアシークレットテーブル識別子を含む前記パッケージに含まれた前記暗号化されたコンテンツキーを解読し、前記解読されたコンテンツキーを用いて前記暗号化されたコンテンツを解読するステップと
を含むことを特徴とする方法。
【請求項１１】
前記エンドユーザデバイスが、さらに前記メディアシークレットテーブルを前記コンピュータ読取り可能メディアから読み取るステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１２】
前記エンドユーザデバイスが前記メディアシークレットテーブルを読み取るステップは、前記エンドユーザデバイスが、メディアシークレットテーブル識別子を読み取り、前記コンピュータ読取り可能メディア上の前記メディアシークレットテーブルを前記読み取られたメディアシークレットテーブル識別子に基づいて識別するステップを含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記コンピュータ読取り可能メディアは、さらにメッセージ認証コード（ＭＡＣ）を記憶し、前記エンドユーザデバイスが前記定義されたメディア識別子を前記パッケージに記憶された前記メディア識別子と比較するステップは、前記エンドユーザデバイスが、前記ＭＡＣを検証するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１４】
前記エンドユーザデバイスが前記ＭＡＣを検証するステップは、
前記エンドユーザデバイスが、前記定義されたメディア識別子および前記暗号化されたコンテンツキーのファンクションとしてリファレンスＭＡＣを計算するステップと、
前記エンドユーザデバイスが、前記計算されたリファレンスＭＡＣを前記コンピュータ読取り可能メディア上に記憶された前記ＭＡＣと比較するステップとを含むことを特徴とする請求項１３に記載の方法。
【請求項１５】
前記エンドユーザデバイスが、前記解読されたコンテンツをレンダリングするステップをさらに含むことを特徴とする請求項１０に記載の方法。
【請求項１６】
前記コンピュータ読取り可能メディアは、さらに１組の規則を記憶し、前記エンドユーザデバイスが前記解読されたコンテンツをレンダリングするステップは、前記エンドユーザデバイスが、前記１組の規則に従って前記解読されたコンテンツをレンダリングするステップを含むことを特徴とする請求項１５に記載の方法。
【請求項１７】
前記コンピュータ読取り可能メディアは、さらにデジタル署名を記憶し、前記エンドユーザデバイスが、さらに前記計算されたメディアキーのファンクションとして前記デジタル署名を検証するステップを含むことを特徴とする請求項１０に記載の方法。
【請求項１８】
エンドユーザデバイスがレンダリングするためのコンピュータ読取り可能メディア上に記憶されたコピープロテクトされたコンテンツを解読するためのプログラムを記録したコンピュータ読み取り可能な記録媒体であって、前記コンピュータ読取り可能メディアは、それぞれが複数のエンドユーザデバイスのうちの１つに対応するパブリックキーによって暗号化されている１つまたは複数のメディアキーを含むメディアシークレットテーブルであって当該メディアシークレットテーブルを一意に識別するメディアシークレット識別子を含むメディアシークレットテーブルと、１つの記録セッション中に当該記録セッションに固有の前記メディアキーを用いて暗号化されたコンテンツ、暗号化されたコンテンツキー、およびメディア識別子を含むパッケージとを記憶し、前記プログラムは、各々に関連づけられたプライベートキーを有する前記エンドユーザデバイスの１つである前記コンピュータに、
前記前記コンピュータについてのメディアキーを前記暗号化されたメディアキーから前記プライベートキーのファンクションとして計算するステップと、
前記メディアシークレットテーブルから前記メディアシークレットテーブル識別子を取得するステップと、
前記コンピュータ読取り可能メディアから前記コンピュータ読み取り可能メディアを一意に識別する当該コンピュータ読取り可能メディアについてのメディア識別子を取得するステップと、
前記コンピュータ読取り可能メディアから取得したメディア識別子を前記パッケージに記憶された前記メディア識別子と比較するステップと、
前記比較に応じて、前記コンピュータ読取り可能メディアから取得したメディア識別子が前記パッケージに記憶された前記メディア識別子に対応する場合には、前記計算されたメディアキーを用いて、前記メディアシークレットテーブルから取得した前記メディアシークレットテーブル識別子を含む前記パッケージに含まれた前記暗号化されたコンテンツキーを解読し、前記解読されたコンテンツキーを用いて前記暗号化されたコンテンツを解読するステップと
を実行させることを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタルコンテンツにおける権利を執行するためのアーキテクチャに関する。より詳細には、本発明は、そのコンテンツに関連する規則に従ってのみ、携帯用メディア（portable medium）上の暗号化されたデジタルコンテンツへのアクセスを可能にするような執行アーキテクチャに関する。さらにより詳細には、本発明は、そのコンテンツを他のどのメディアからもレンダリングすることができないようにそのコンテンツを一意的に特定可能な携帯用メディアに結びつけるようなアーキテクチャに関する。
【背景技術】
【０００２】
知られているように、また次に図１を参照すると、ＲＭ（ｒｉｇｈｔｓ  ｍａｎａｇｅｍｅｎｔ権利管理）システムおよび権利執行システムが、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツ１２に関して、非常に望まれており、ここで、かかるデジタルコンテンツ１２は、ユーザに配布されるものである。ユーザが受け取ると、ユーザは、パーソナルコンピュータ上のメディアプレーヤ、携帯用再生デバイス、他のユーザコンピューティングデバイス１４など適切なレンダリングデバイスの助けを借りてこのデジタルコンテンツをレンダリング、または「再生」する。
【０００３】
典型的には、かかるデジタルコンテンツ１２を配布するコンテンツ所有者は、かかる配布されたデジタルコンテンツ１２を用いてユーザが何をすることができるかを制限したいと思うものである。例えば、コンテンツ所有者は、ユーザが、かかるコンテンツ１２をコピーし第２のユーザに再配布することがないように制限したいと思うこともあり、限られた回数だけ、ある合計時間までの間だけ、ある種のタイプの機械上だけで、ある種のタイプのメディアプレーヤ上だけで、ある種のタイプのユーザだけによってなどしか、配布されたデジタルコンテンツ１２を再生することができないようにしたいと思うこともある。
【０００４】
しかし、配布が行われてしまった後には、かかるコンテンツ所有者は、たとえあるにしてもデジタルコンテンツ１２に対してほとんど制御することができない。ＲＭシステム１０は、任意形式のデジタルコンテンツ１２の制御されたレンダリングまたは再生を可能にし、ここで、かかる制御は、柔軟であり、かかるデジタルコンテンツのコンテンツ所有者によって定義が可能になっている。典型的には、コンテンツ１２は、適切な任意の流通経路を経由してパッケージ１３の形態でユーザに配布される。配布されるデジタルコンテンツパッケージ１３は、対称の暗号キー／解読キー（ＫＤ）で暗号化されたデジタルコンテンツ１２（例えば、（ＫＤ（ＣＯＮＴＥＮＴ）））、ならびにこのコンテンツを識別する他の情報、どのようにしてかかるコンテンツについてのライセンスを獲得するかなどを含むことができる。
【０００５】
この信頼ベースのＲＭシステム１０により、かかるデジタルコンテンツ１２をレンダリングできるようになる前に、デジタルコンテンツ１２の所有者は満たすべき規則を指定することができるようになる。かかる規則は、前述の規則および／または他の規則を含むことができ、ユーザ／ユーザのコンピューティングデバイス１４（以降、これらの用語は、状況が必要としないかぎり、区別なく使用可能なものとする）がコンテンツ所有者またはその代理人から取得するデジタルライセンス１６内で具現化されることができ、あるいはかかる規則がすでにコンテンツ１２に付属していることもある。例えば、かかるライセンス１６は、おそらくユーザのコンピューティングデバイスまたは他の再生デバイスによって解読可能な別のキーによって暗号化されている、デジタルコンテンツ１２を暗号解読するための解読キー（ＫＤ）を含むことができる。
【０００６】
１つのデジタルコンテンツ１２のコンテンツ所有者は、ユーザが、このライセンス１６または何か他の中でかかるコンテンツ所有者が指定する規則を順守することになると信頼しなければ、このコンテンツ１２をそのユーザに配布したがらないはずである。そのユーザのコンピューティングデバイス１４または他の再生デバイスには、かかる規則に従わないかぎり、デジタルコンテンツ１２をレンダリングすることがない信頼コンポーネントまたはメカニズム１８が提供される。
【０００７】
この信頼コンポーネント１８は典型的に、これらの規則を調べ、この調べられた規則に基づいて、要求しているユーザが、特に要求された方法で要求されたデジタルコンテンツ１２をレンダリングする権利を有するかどうかを判定する評価機構２０を有している。理解されるはずであるが、この評価機構２０は、ＲＭシステム１０において信頼されていてこの規則に従ってデジタルコンテンツ１２の所有者の希望を実行し、ユーザは、かかる信頼コンポーネント１８および／または評価機構２０を非道な、または他のどのような目的のためにも簡単に変更することができてはならない。
【０００８】
理解されるはずであるが、コンテンツ１２をレンダリングするための規則は、ユーザが誰か、そのユーザがどこに位置しているか、どのようなタイプのコンピューティングデバイス１４または他の再生デバイスをそのユーザが使用しているか、どのようなレンダリングアプリケーションがＲＭシステム１０を呼び出しているか、日付、時刻などを含めていくつかのファクタのうちのどれかに基づいて、そのユーザがそのようにレンダリングする権利を有するかどうかを指定する。さらに、これらの規則は、レンダリングを、例えば、所定の再生回数または所定の再生時間に制限することもできる。
【０００９】
これらの規則を、適切な言語またはシンタクスに従って指定することもできる。例えば、言語により、満たすべき属性および値（例えば、Ｘ以降の日付）を単に指定することもでき、あるいは指定されたスクリプト（例えば、日付がＸよりも大きい場合には、Ｙを行う）に従って機能の実施を指定することもできる。
【００１０】
評価機構２０が、そのユーザがこれらの規則を満たすと判定すると、このデジタルコンテンツ１２がレンダリングされる。特に、このコンテンツ１２をレンダリングするためには、あらかじめ定義されたソースから解読キー（ＫＤ）を取得し、これをコンテンツパッケージ１３からの（ＫＤ（ＣＯＮＴＥＮＴ））に適用してコンテンツ１２そのものをもたらし、このコンテンツ１２そのものが、実際にレンダリングされる。
【００１１】
ＲＭシステム１０では、コンテンツ１２は、かかるコンテンツ１２を暗号化し、１組の規則をこのコンテンツ１２に関連づけることによって、ユーザが使用するためにパッケージ化され、それによって、このコンテンツ１２は、これらの規則に従ってのみレンダリング可能となる。このコンテンツ１２は、これらの規則に従ってしかレンダリングされないので、コンテンツ１２を自由に配布することができる。重要なことは、コンテンツ１２、これらの規則、および解読キー（ＫＤ）の暗号化されたバージョンが、コンピューティングデバイス１４または他の再生デバイスに伝えられることである。さらに、この解読キー（ＫＤ）の少なくとも暗号化されたバージョンを作成する際には、この解読キー（ＫＤ）をあるオブジェクトに結びつけ、かかるオブジェクトが存在しなければ、この解読キーの暗号化されたバージョンにアクセスして解読し、このコンテンツ１２をレンダリングすることができないような方法が有用となる。これにより、コンテンツ１２、これらの規則、および解読キー（ＫＤ）の暗号化されたバージョンを、コンテンツ１２を広範にレンダリングすることができるように、およびそのコンテンツ所有者の希望に反してして再配布することはできない。理解されるように、この暗号化された解読キー（ＫＤ）を結びつける対象であるかかるオブジェクトは、コンピューティングデバイス１４または他の再生デバイスであってもよく、あるいはディスクドライブや光ストレージディスクまたは磁気ストレージディスクなどのストレージメディアとすることができる。
【発明の開示】
【発明が解決しようとする課題】
【００１２】
したがって、セキュリティ保護され、シンプルで、処理量の少ない、低価格な、パーソナルコンピュータ、大衆消費電子製品デバイス、および他のコンピューティングデバイスのためのコピー保護システムが、１つまたは複数の上記の問題および他の欠点に対処するために望まれている。
【課題を解決するための手段】
【００１３】
前述の必要性は、パブリックキー−プライベートキー対（ｐｕｂｌｉｃ−ｐｒｉｖａｔｅ  ｋｅｙ  ｐａｉｒ）（ＰＵ−ＰＤ、ＰＲ−ＰＤ）を有し、ストレージメディアを受け取り、または有することができる複数の任意のデバイスからアクセス可能な方法で、ソースが、１つのデジタルコンテンツをストレージメディア上に記憶する本発明によって少なくとも部分的に満たされる。一実施形態においては、本発明は、ＲＭシステム１０が、暗号化された解読キー（ＫＤ）をあるオブジェクトに結びつけることができるような方法およびメカニズムを提供し、かかるオブジェクトが存在しなければ暗号化された解読キー（ＫＤ）を取得することができないようにしている。別の実施形態においては、このオブジェクトは、光ストレージディスクや磁気ストレージディスクなどのように携帯でき、その結果、ユーザは複数のコンピューティングデバイス１４または他の再生デバイスの間で、この暗号化された解読キーを有するオブジェクトを移送することができる。
【００１４】
１つのデバイスには、複数組のパブリックキー−プライベートキー対を割り当てることができる。ソースは、メディアキー（ＫＭ）を生成し、その中の複数のエントリおよびバージョン番号を含むマスタキーリストを取得する。各エントリは、複数のデバイスのうちの１つの（ＰＵ−ＰＤ）を含んでいる。このソースは、（ＫＭ）およびこのマスタキーリストに基づくメディアシークレットテーブル（ｍｅｄｉａ  ｓｅｃｒｅｔ  ｔａｂｌｅ）を生成する。このメディアシークレットテーブルは、このマスタキーリストの複数のエントリの少なくともサブセットに対応した複数のエントリを含んでいる。このメディアシークレットテーブルの各エントリは、このテーブルの対応するエントリのうちの（ＰＵ−ＰＤ）によって暗号化された（ＫＭ）、すなわち（ＰＵ−ＰＤ（ＫＭ））を含んでいる。
【００１５】
ソースは、そこからこのメディアのメディア識別子（ＩＤ）を取得し、このコンテンツについてのコンテンツキー（ＫＤ）を生成し、（ＫＤ）を用いてこのコンテンツを暗号化して（ＫＤ（コンテンツ））をもたらし、（ＫＭ）を用いて（ＫＤ）を暗号化して（ＫＭ（ＫＤ））をもたらし、（ＫＤ（コンテンツ））、（ＫＭ（ＫＤ））、メディアＩＤ、および少なくともこのメディアＩＤに基づき（ＫＭ）を用いて証明可能な署名を含むコンテンツについてのパッケージを生成し、この生成されたパッケージ、マスタキーリスト、およびこのメディアシークレットテーブルをこのメディアにコピーする。さらに、このコンテンツに関連する使用規則（例えば、ライセンス）をこのメディア上に記憶することもできる。
【００１６】
したがって、このメディアを有するデバイスは、そのメディア上のコンテンツをレンダリングする要求を受け取ると、このメディアからメディアシークレットテーブルを取得し、その（ＰＲ−ＰＤ）を取得し、この取得した（ＰＲ−ＰＤ）に基づいてこのメディアシークレットテーブルの１つのエントリを索引入力し、このメディアシークレットテーブルのこの索引入力されたエントリから（ＰＵ−ＰＤ（ＫＭ））を取得し、（ＰＲ−ＰＤ）を（ＰＵ−ＰＤ（ＫＭ））に適用して（ＫＭ）を復号して取り出し、（ＫＭ）に基づいてこのコンテンツパッケージのデジタル署名を検証し、このコンテンツパッケージからメディアＩＤを取得し、このメディアからメディアＩＤを取得し、このコンテンツパッケージからのメディアＩＤが、メディアからのメディアＩＤと一致することを検証し、またこのデジタル署名が正しいことを検証し、メディアＩＤが正しいことを検証した場合には、このパッケージから（ＫＭ（ＫＤ））を取得し、（ＫＭ）を（ＫＭ（ＫＤ））に適用して（ＫＤ）を復号して取り出し、ストレージメディア上のそのコンテンツパッケージから（ＫＤ（コンテンツ））を取得し、（ＫＤ）を（ＫＤ（コンテンツ））に適用してそのコンテンツを復号して取り出し、このメディア上に記憶された使用規則に従ってこの復号して取り出したコンテンツをレンダリングする。
【００１７】
本発明の一側面によれば、一方法では、宛先のコンピュータが読取り可能なメディア上の記憶に関し、コピープロテクションを用いてコンテンツが暗号化される。この方法は、宛先のコンピュータが読取り可能なメディアに関連づけるべきメディアキーを生成するステップと、１つまたは複数のパブリックキーを用いてこの生成されたメディアキーを暗号化するステップとを含んでいる。この各パブリックキーは、エンドユーザデバイスに対応する。この方法は、コンテンツキーを用いてこのコンテンツを暗号化するステップと、このメディアキーを用いてこのコンテンツキーを暗号化するステップを含んでいる。また、この方法は、宛先のコンピュータが読取り可能なメディアに関連するメディア識別子を定義するステップと、この定義されたメディア識別子をこの暗号化されたコンテンツに関連づけるステップも含んでいる。また、この方法は、この暗号化されたコンテンツ、暗号化されたコンテンツキー、暗号化されたメディアキー、および関連するメディア識別子をこの宛先コンピュータが読取り可能なメディアに記憶するステップも含み、このコンテンツをレンダリングするのに先立って、定義されたメディア識別子を暗号化されたコンテンツに関連するメディア識別子と比較することによって、このコンテンツについてのコピープロテクションが提供される。
【００１８】
本発明の別の側面によれば、一方法では、コンピュータが読取り可能なメディア上に記憶されたコピープロテクトされたコンテンツが、エンドユーザデバイスでレンダリングするために解読される。このコンピュータが読取り可能なメディアは、暗号化されたコンテンツ、暗号化されたコンテンツキー、複数のエンドユーザデバイスのうちの１つに関連づけられたパブリックキーでそれぞれが暗号化されている１つまたは複数のメディアキー、およびメディア識別子を含むパッケージを記憶する。このエンドユーザデバイスは、それに関連するプライベートキーを有する。この方法は、その暗号化されたメディアキーからエンドユーザデバイスのためのメディアキーをプライベートキーのファンクションとして計算するステップを含んでいる。また、この方法は、このコンピュータが読取り可能なメディアについてのメディア識別子を定義するステップと、この定義されたメディア識別子をこのパッケージ中に記憶されたメディア識別子と比較するステップとを含んでいる。さらに、この方法は、比較に応じてこの定義されたメディア識別子がこのパッケージ中に記憶されたメディア識別子に対応する場合には、この計算済みのメディアキーを用いてこの暗号化されたコンテンツキーを解読するステップと、この解読されたコンテンツキーを用いてこの暗号化されたコンテンツを解読するステップとを含んでいる。
【００１９】
本発明のさらに他の側面によれば、システムは、コピープロテクションを伴うコンテンツをコンピュータが読取り可能なメディア上に記録する。このシステムは、コンテンツと、このコンピュータが読取り可能なメディアに関連づけられたメディア識別子と、それぞれがエンドユーザデバイスに対応した１つまたは複数のパブリックキーと、この記憶されたコンテンツに関連づけられた１つまたは複数の使用規則とを記憶するためのメモリ域を含んでいる。また、このシステムは、このコンピュータが読取り可能なメディアに関連づけられるメディアキーを生成し、このメモリ域に記憶される各パブリックキーを用いてこの生成されたメディアキーを暗号化し、コンテンツキーを用いてこのメモリ域に記憶されたコンテンツを暗号化し、このメディアキーでこのコンテンツキーを暗号化し、この暗号化されたコンテンツ、暗号化されたコンテンツキー、暗号化されたメディアキー、および関連づけられたメディア識別子をこのコンピュータが読取り可能なメディアに記憶するためのコンピュータ実行可能命令を実行するように構成されたプロセッサを含んでいる。
【００２０】
本発明のさらに他の側面によれば、システムは、コンピュータが読取り可能なメディア上に記憶されたコピープロテクトされたコンテンツをエンドユーザデバイスでレンダリングする。このシステムは、このコンピュータが読取り可能なメディアに関連づけられたメディア識別子と、暗号化されたコンテンツと、この暗号化されたコンテンツに関連づけられたメディア識別子と、暗号化されたコンテンツキーと、それぞれが複数のエンドユーザデバイスのうちの１つに関連づけられたパブリックキーで暗号化された１つまたは複数のメディアキーと、このエンドユーザデバイスに関連づけられたプライベートキーとを記憶するためのメモリ域を含んでいる。また、このシステムは、このメモリ域に記憶されたこの暗号化されたメディアキーからこのエンドユーザデバイスについてのメディアキーをプライベートキーのファンクションとして計算し、このコンピュータが読取り可能なメディアに関連づけられたこのメディア識別子を暗号化されたコンテンツに関連づけられたメディア識別子と比較するコンピュータ実行可能命令を実行するように構成されたプロセッサを含んでいる。さらに、このプロセッサは、比較されるメディア識別子に応じて、コンピュータが読取り可能なメディアに関連づけられたメディア識別子が、暗号化されたコンテンツに関連づけられた識別子に対応する場合には、この計算されたメディアキーを用いてこの暗号化されたコンテンツキーを解読しこの解読されたコンテンツキーを用いてこの暗号化されたコンテンツを解読するためのコンピュータ実行可能命令を実行するように構成されている。
【００２１】
本発明の他の側面によれば、１つまたは複数のコンピュータが読取り可能なメディアは、コンテンツのためのコピープロテクションを提供するコンピュータ実行可能コンポーネントを有する。これらのコンポーネントは、エンドユーザデバイス上で実行可能である。これらのコンポーネントは、コンピュータが読取り可能なメディアに関連づけられたメディアキーを生成し、１つまたは複数のパブリックキーを用いてこの生成されたメディアキーを暗号化することによってこのコンテンツを暗号化するための暗号化コンポーネントを含んでいる。各パブリックキーは、エンドユーザデバイスに対応する。この暗号化コンポーネントは、このコンテンツについてのメディアシークレットテーブルを作成する。このメディアシークレットテーブルは、暗号化されたメディアキーを含んでいる。さらに、この暗号化コンポーネントは、コンテンツキーを用いてこのコンテンツを暗号化し、このメディアキーを用いてこのコンテンツキーを暗号化し、宛先のコンピュータが読取り可能なメディアに関連づけられたメディア識別子を定義し、この定義されたメディア識別子をこの暗号化されたコンテンツに関連づけ、この暗号化されたコンテンツ、暗号化されたコンテンツキー、メディアシークレットテーブル、および関連するメディア識別子をグループとしてコンピュータが読取り可能なメディアに記憶する。また、コンポーネントは、メディアシークレットテーブルからエンドユーザデバイスについてのメディアキーをプライベートキーのファンクションとして計算し、コンピュータが読取り可能なメディアについてのリファレンスメディア識別子を決定し、この決定されたリファレンスメディア識別子をこのグループ中に記憶されたメディア識別子と比較することにより、暗号化コンポーネントによって暗号化されたこのコンテンツを解読し、コピープロテクションを実施するための解読コンポーネントを含んでいる。比較されるメディア識別子に応じて、決定されたリファレンスメディア識別子が、グループ中に記憶されたメディア識別子に対応する場合には、解読コンポーネントはさらに、計算されたメディアキーを用いてこの暗号化されたコンテンツキーを解読し、解読されたコンテンツキーを用いて暗号化されたコンテンツを解読する。
【００２２】
あるいは、本発明は、様々な他の方法および装置を含むことができる。
【００２３】
他の特徴は、一部は明らかであり、一部は、以下に示している。
【００２４】
理解されるはずであるが、本発明は、以下の図に示す厳密な構成および手段だけに限定されない。
【発明を実施するための最良の形態】
【００２５】
対応する参照符号は、全図面にわたってその対応する部分を示している。
【００２６】
典型的には、前述のようなＲＭシステム１０は、とりわけ、ユーザのコンピューティングデバイス１４にそれ自体を合法的なＲＭコンポーネントとして認証させ、コンテンツ１２にアクセスできるようにする解読キー（ＫＤ）の暗号化されたバージョンを構成し受け取る目的で１つまたは複数の暗号キーを伝送することによって、デジタルコンテンツ１２を保護する。かかる認証およびキー伝達には、それだけには限定されないが、サインされた証明書、ネゴシエーション、非対称キーおよび対称キーの交換を含むインタラクティブプロセスなどが含まれることもあり、ここで、このインタラクティブプロセスは、コンピューティングデバイス１４とライセンスサーバなどのリモートエンティティとの間のネットワーク接続上などで実現される。
【００２７】
しかし、そうする際に、コンテンツ１２は、事実上コンピューティングデバイス１４に結びつけられ、したがって、かかるコンピューティングデバイス１４が存在しなければ、レンダリングすることができないことを理解されたい。特に、コンテンツ１２のユーザが、いくつかのコンピューティングデバイス１４および／または他の再生デバイスの間でかかるコンテンツ１２を移送したいと思う場合には、コンテンツ１２にアクセスするための規則およびその解読キー（ＫＤ）の暗号化バージョンと一緒に、コンテンツ１２を携帯用メディア上に記憶することが望ましいはずである。しかし、かかるアイテムがコンテンツ所有者の希望に反するように広く再配布されてしまわないようにすることも望ましいはずである。したがって、本発明の一実施形態では、少なくともこの暗号化された解読キー（ＫＤ）は、かかる携帯用メディアが存在しなければかかる解読キー（ＫＤ）にアクセスすることができないようにしてこの携帯用メディアに結びつけられる。
【００２８】
理解されるように、かかる携帯用メディアは、本発明の趣旨および範囲を逸脱することなく、任意の携帯用メディアとすることができる。例えば、かかる携帯用メディアは、ＣＤディスク、ＤＶＤディスク、フロッピー（登録商標）ディスクなどの光ディスクまたは磁気ディスクとすることができ、また携帯用スマートカード、携帯用ＲＡＭカード、携帯用メディアカード、携帯用ハードドライブ、またはその上にデジタルメモリをもつ同様なものにすることができる。重要なことは、解読キー（ＫＤ）の暗号化されたバージョンを携帯用メディアに結びつけるために、かかる携帯用メディアは、容易に変更可能ではない、またはコピーされない、機械読取り可能な一意的な識別子すなわちＩＤを含むはずである。例えば、かかるＩＤは、あらゆるＤＶＤディスクのハブの近くに配置された一意のバーコードＩＤとすることができる。
【００２９】
したがって、本発明においては、図２を参照すると、再生デバイス６２は、かかるメディア６１を適切に受け取ることにより、それとも内部にメディア６１を含むことにより、携帯用メディア６１または他の宛先のコンピュータ読取り可能メディア上のコンテンツ１２をレンダリングし、または再生する。重要なことは、以下により詳細に述べるように、再生デバイス６２は、１つまたは複数のパブリックキー−プライベートキー対（ＰＵ−ＰＤ、ＰＲ−ＰＤ）およびある形式の信頼コンポーネント１８を授与されることによってメディア６１上のコンテンツ１２にアクセスできるようあらかじめ認可されており、認可がコンテンツ１２を伴うメディア６１上に含まれるメディアシークレットテーブル６４を介して確認され、ここで、このデバイス６２の信頼コンポーネント１８は、（ＰＲ−ＰＤ）を使用してこの解読キー（ＫＤ）の暗号化されたバージョンを解読する。したがって、このデバイス６２は、テーブル６４にアクセスすることができるようになる（ＰＲ−ＰＤ）およびこの信頼コンポーネント１８を有しているために、コンテンツ１２をレンダリングし、それ以外に使用することが認可される。パブリックキー−プライベートキー対の技術は、当技術分野において知られている。
【００３０】
デジタルコンテンツ１２を取得しレンダリングする１つのモードで、さらに図２を参照すると、かかるデジタルコンテンツ１２が、ソース６０からダウンロードされ、あるいは取得され、再生デバイス６２にマウントされ、またはかかるデバイス６２の内部にある携帯用メディア６１上に配置されている。かかるデバイス６２は、本発明の趣旨および範囲を逸脱することなく適切な任意のデバイス１４とすることができる。例えば、かかるデバイス６２は、比較的機能が限られた携帯用プレーヤ、比較的機能が広範囲にわたるコンピューティングデバイス１４などとすることができる。さらに、デバイス６２は、単にコンテンツ１２をレンダリングすることができるだけの場合もあり、あるいは以下により詳細に述べているように関連する規則によってそのように認められている場合には、別の携帯用メディア６１にこのコンテンツ１２をコピーすることができる場合もある。
【００３１】
ソース６０は、ソース６０と携帯用メディア６１の間に接続６３が存在するかぎり、本発明の趣旨と範囲を逸脱することなく、適切な任意のソースとすることができる。例えば、ソース６０は、ホストコンピュータ、リモートサーバロケーション、またはこれらの組合せとすることができ、これらは、コンテンツ１２を有し、またはそれらを介してコンテンツ１２を使用可能とする。例えば、コンテンツ１２および関連するデータが、おそらく小売店舗にあるキオスクにおいてソース６０からダウンロードされる場合もあり得る。別の例では、ソース６０は、ＤＶＤレコーダであり、一方、携帯用メディア６１は、このＤＶＤレコーダで使用するのに適したコンピュータ読取り可能メディアである。あるいは、例えば、デバイス６２が、例えばホストコンピュータなどのソース６０に結合され、コンテンツ１２および関連するデータが、直接にそこにダウンロードされる場合もあり得る。
【００３２】
本発明の一実施形態では、コンテンツ１２がメディア６１にダウンロードされるとき、対応する使用規則のセットも取得されダウンロードされ、あるいはメディア６１上に配置される。これらの規則は、本発明の趣旨および範囲を逸脱することなく、適切な任意の形式を取ることができる。例えば、これらの規則は、メディア６１上のコンテンツ１２に付けられていても、またそれと別になっていてもよく、デバイス６２上の信頼コンポーネント１８が解釈し守ることができる、より正式のライセンス１６またはあまり正式でない命令文（statement）のセットの形式を取ることができる。かかる規則を生成するための方法およびメカニズムは、知られており、すなわち当業者には明らかなはずであり、したがって、本明細書中ではどのように詳細にも述べる必要はない。一般に、これらの規則は、デバイス６２において、メディア６１上の対応するコンテンツ１２をレンダリングするために満たすべき制限を指定することができる。さらに、これらの規則は、例えば、このコンテンツ１２を別のメディア６１にコピーできるかどうかなど他の規定を示すこともできる。
【００３３】
メディア６１上に配置するに先立ってコンテンツ１２が、ＲＭプロテクトされた形式にすでになっていてもよいし、またなっていなくてもよいことに留意されたい。ＲＭプロテクトされた形式にすでになっていて、ソース６０においてコンテンツ１２がコンテンツキー（ＫＤ）によって暗号化されていて、またソース６０においてコンテンツキー（ＫＤ）がソース６０のパブリックキー（ＰＵ）などの非対称キーに従って暗号化されると仮定すると、このソース６０は、対応するプライベートキー（ＰＲ）を適用し、メディアキー６１（ＫＭ）に従ってコンテンツキー（ＫＤ）を再暗号化して（ＫＭ（ＫＤ））を形成することによってコンテンツキー（ＫＤ）を取得するが、ここで、（ＫＭ（ＫＤ））は、コンテンツキー（ＫＤ）の暗号化されたバージョンであり、暗号化されたコンテンツ１２と一緒にメディア６１上に配置される。したがって、理解されるはずであるが、このメディアキー（ＫＭ）に従って暗号化されると（ＫＭ（ＫＤ））が形成されるコンテンツキー（ＫＤ）は、メディア６１に結びつけられ、特にどのデバイス６２にも結びつけられることはない。
【００３４】
ＲＭプロテクトされた形式にまだなっていない場合には、コンテンツ１２は、プレテクトされた型式にされる。特に、ソース６０は、コンテンツ１２ついてのコンテンツキー（ＫＤ）を選択し、かかるコンテンツキー（ＫＤ）を用いてコンテンツ１２を暗号化して（ＫＤ（コンテンツ））を形成する。その後、ソース６０は、メディアキー（ＫＭ）に従ってこのコンテンツキー（ＫＤ）を暗号化して（ＫＭ（ＫＤ））を形成するが、ここで、（ＫＭ（ＫＤ））は、このコンテンツキー（ＫＤ）の暗号化されたバージョンであり、この暗号化されたコンテンツ１２と一緒にメディア６１上に配置される。したがって、この場合にも、メディアキー（ＫＭ）に従って（ＫＭ（ＫＤ））形式に暗号化されたコンテンツキー（ＫＤ）は、メディア６１に結びつけられ、特にどのデバイス６２にも結びつけられることはない。
【００３５】
さらに図２を参照すると、デジタルコンテンツ１２および関連するアイテムをメディア６１にダウンロードするために、かかるメディア６１は、本発明の趣旨および範囲を逸脱することなく適切などのような接続でもよい接続６３を介してソース６０に結合される。理解されるように、メディア６１が何らかの形態の携帯用書込み可能ストレージである場合には、この接続６３は、メディア６１がマウントされる適切なドライブである。同様に、メディア６１がデバイス６２の内部にある場合には、この接続６３は、適切なケーブル、ＲＦリンクやＩＲリンクなどの無線リンクなどでもよい。かかる接続６３、およびそれをサポートするハードウェアおよび／またはソフトウェアは、知られており、すなわち当業者には明らかなはずであり、したがって、本明細書中にはさらにどのようにも詳細に説明する必要はない。
【００３６】
暗号化されたコンテンツ１２、そのための規則、およびメディアキー（ＫＭ）に従って（ＫＭ（ＫＤ））の形式に暗号化されたコンテンツキー（ＫＤ）が、ストレージメディア６１上にあることを念頭におき、さらにコンテンツ１２のコンテンツキー（ＫＤ）が、メディアキー（ＫＭ）に従って（ＫＭ（ＫＤ））の形式に暗号化されていることを念頭におき、このメディアキー（ＫＭ）が対称キーであることを想定すると、かかるメディアキー（ＫＭ）もまた、かかるメディア６１とともに移動すべきである。しかし、（ＫＭ）は、露呈されるべきでなく、したがってメディア６１上に暗号形式で記憶されることが重要である。特に、本発明の一実施形態では、（ＫＭ）は、デバイス６２のパブリックキー（ＰＵ−ＰＤ）で暗号化されて（ＰＵ−ＰＤ（ＫＭ））が形成され、（ＰＵ−ＰＤ（ＫＭ））は、メディア６１上の前述のメディアシークレットテーブル６４に記憶される。
【００３７】
本発明では、デバイス６２は、たとえかかる機能が、本発明の趣旨および範囲を逸脱することなく実際には存在し得るとしても、そのパブリックキー（ＰＵ−ＰＤ）をメディア６１またはソース６０に伝えることができないと想定している。さらに、多数のデバイス６２のどれによっても、メディア６１を受け取ることができるので、ソース６０および／またはこのユーザには、コンテンツ１２および関連するアイテムがこのメディア６１上に配置されるときにはこの意図される各受信デバイス６２が分からないこともある。したがって、（ＰＵ−ＰＤ）で（ＫＭ）を暗号化して（ＰＵ−ＰＤ（ＫＭ））を形成するソース６０は、あらゆる可能なデバイス６２からのあらゆる可能な（ＰＵ−ＰＤ）キーをすでに所有している。
【００３８】
特に、潜在的には、少なくとも数百万のかかるデバイス６２が存在し、各デバイス６２はそれ自体のたぶん一意的な（ＰＵ−ＰＤ）キーを所有することができる。しかし、前述の暗号エンティティは、あらゆるかかるデバイス６２についての一意的な（ＰＵ−ＰＤ）キーを知っていると予想することができない可能性がある。したがって、本発明の一実施形態では、例えば、集中認可組織体または規格組織体によるなどの系統的な方法で（ＰＵ−ＰＤ）キーおよび対応する（ＰＲ−ＰＤ）キーが加入デバイス６２に割り当てられる。その結果、（ＰＵ−ＰＤ）キー数は、管理可能レベルに保たれる。かかる実施形態では、理解されるように、この集中認可組織体または規格組織体（以降、「マスタ」と称する）は、索引が付けられた方法でパブリックキー（ＰＵ−ＰＤ）のマスタキーリスト６８を保持し、ここで、このマスタキーリスト６８は、各ソース６０から直接または間接的にアクセス可能である。
【００３９】
このマスタによる、またはマスタの代理による、デバイス６２へのキー対（ＰＵ−ＰＤ、ＰＲ−ＰＤ）の配布は、本発明の趣旨および範囲を逸脱することなく適切な任意の方法で行うことができる。例えば、デバイス６２の各製造業者には、１つまたは複数の特定のキー対を割り当てることができ、それによって、製造されるすべてのデバイス６２にかかる製造業者特有のキー対が提供される。同様に、デバイス６２の各モデルには、１つまたは複数の特定のキー対を割り当てることができる。同様に、各製造業者またはデバイス６２のモデルには、デバイス６２の特定の１つに対してランダムに、または目的をもって提供されるいくつかのキー対を割り当てることができる。特定の製造業者またはモデルが信用できなくなる場合には、他の製造業者またはモデルに影響を与えないように（以下で考察するように）その各キー対を単にリボークする（ｒｅｖｏｋｅ）ことができることに留意されたい。
【００４０】
この場合にも、プロテクトされたコンテンツ１２、規則、および（ＫＭ（ＫＤ））をメディア６１に対してダウンロードするソース６０は、必ずしもどのデバイス６２にそのメディア６１がマウントされることになるのか、またはどのデバイス６２の内部にあるかを知る必要はない。したがって、図２から分かるように、本発明の一実施形態では、ソース６０はまた、メディアシークレットテーブル６４をメディア６１にダウンロードし、ここでかかるテーブル６４の中には、知られているデバイスのいくつかのパブリックキー（ＰＵ−ＰＤ）のそれぞれに従って暗号化された（ＫＭ）がある。重要なことは、今や理解されるはずであるが、テーブル６４は、前述のマスタキーリスト６８中のパブリックキー（ＰＵ−ＰＤ）に基づいてコンパイルされることである。図から分かるように、テーブル６４において、暗号化された各（ＰＵ−ＰＤｘ（ＫＭ））は、このシークレット（ｓｅｃｒｅｔ）を暗号化した（ＰＵ−ＰＤ）の識別子を指定する対応するインデックス値ｘを有する。例えば、（ＰＵ−ＰＤ３）は、インデックス値３で指定される。理解されるように、かかるインデックスｘは、その特定の（ＰＵ−ＰＤｘ）のインデックスｘを知っているどのデバイス６２でも、同じインデックスに基づいてテーブル６４にインデックス入力して（ＰＵ−ＰＤｘ（ＫＭ））を取得できるようにマスタキーリスト６８にインデックス入力することに対応している。一例では、この識別子は１６ビットである。
【００４１】
本発明の一実施形態においては、テーブル６４は、その対応するコンテンツ１２をレンダリングするために使用されるデバイス６２の（ＰＵ−ＰＤｘ）に従って暗号化された（ＫＭ）を含んでいる。テーブル６４は、すべて本発明の趣旨および範囲を逸脱することなく、マスタキーリスト６８の知識に基づいてソース６０に知られているあらゆる（ＰＵ−ＰＤｘ）、またはその特定のサブセットに従って暗号化された（ＫＭ）を有することができる。例えば、かかるダウンロードを実施するユーザは、デバイス６２が、ある特定の製造業者によって製造され、したがってテーブル６４は、この製造業者のあらゆる（ＰＵ−ＰＤｘ）に従って暗号化される（ＫＭ）を含んでいることを指定することができる。同様に、このユーザは、このデバイス６２がいくつかの特定のデバイス６２のうちのどれであってもよく、したがってテーブル６４は、かかる数の特定のデバイス６２のあらゆる（ＰＵ−ＰＤｘ）に従って暗号化された（ＫＭ）を含んでいることを指定することができる。別の例では、ソース６０は、すべてのリボークされていないデバイス６２によるアクセスを可能とする、テーブル６４などのテーブルを作成する。
【００４２】
メディア６１が、簡単には変更不可能またはコピーされない、またデバイス６２によって読取り可能または認識可能な一意的なメディア識別子（ＩＤ）を含んでいることを思い起こせば、メディア６１上の暗号化されたコンテンツ１２は、かかるメディアＩＤに基づいてそれに結びつけられる。一実施形態では、このメディアＩＤは、製造中にメディア６１に書き込まれるシリアルナンバーである。したがって、コンテンツ１２をメディア６１にコピーする一環として、本発明の一実施形態では、ソース６０は、メディア６１からそのＩＤを読み取り、このメディア６１にコンテンツ１２をコピーする以前にこの暗号化されたコンテンツ１２にＩＤを付ける。以下により詳細に説明するように、かかるコンテンツ１２がかかるメディア６１のメディアＩＤを含んでいる場合にのみ、このデバイス６２が信頼されてこのメディア６１からのコンテンツ１２をレンダリングすることになるので、結び付けが行われる。
【００４３】
図２に示すように、その上にコンテンツ１２が配置されたメディア６１は、メディアＩＤ、暗号化されたコンテンツ（ＫＤ（コンテンツ））、暗号化されたコンテンツキー（ＫＭ（ＫＤ））、このコンテンツを使用するための使用規則、および１組の（ＰＵ−ＰＤｘ（ＫＭ））をもつテーブル６４を含んでいる。
【００４４】
何によっても、暗号化されたコンテンツキー（ＫＭ（ＫＤ））がメディア６１およびそのメディアＩＤにまだ結びつけられていないことに留意されたい。したがって、本発明の一実施形態では、この暗号化されたコンテンツ（ＫＤ（コンテンツ））は、暗号化されたコンテンツキー（ＫＭ（ＫＤ））、このコンテンツを使用するための使用規則、およびこのメディアＩＤのコピーを含んでいるコンテンツパッケージ１３またはファイルにパッケージ化される。したがって、（ＫＭ（ＫＤ））およびメディアＩＤは、今や同じパッケージ１３中に置かれることによって一緒に結びつけられている。もちろん、非道なエンティティは、このパッケージ１３を変更しようと試みるかも知れず、それ故にかかる試みを阻止するために、このパッケージ１３内の少なくともメディアＩＤが、パッケージ１３に付けられているデジタル署名についての基礎として使用される。したがって、このメディアＩＤを変更しようとするどのような試みも、この署名を証明するのを失敗させるはずである。かかる実施形態においては、メディアキー（ＫＭ）を以下で述べるようにして署名照合キーとして使用することができる。
【００４５】
また、何によってもこのパッケージ１３がテーブル６４にまだ結びつけられていないことに留意されたい。別の方法には、コンテンツ１２が複数のセッションでメディア６１に配置され、ここで使用されるメディアキー（ＫＭ）がセッションごとに異なるという場合があり得る。かかる場合には、メディア６１が、複数のパッケージ１３およびテーブル６４を含むこともあり、ここで各メディアシークレットテーブルは、異なるセッションと、したがって異なるメディアキー（ＫＭ）とに基づいている。各セッションは、独立である。したがって、本発明の一実施形態では、テーブルＩＤは、各テーブル６４を特定し、各パッケージ１３は、かかるパッケージ１３に関連して使用されることになるテーブル６４のテーブルＩＤを含んでいる。したがって、このパッケージ１３中のテーブルＩＤを使用して、一緒に使用する対応するテーブル６４を見つける。
【００４６】
デバイス６２がそれ自体、ソース６０などの派生ソースとしての役割を果たすことができ、したがって、デバイス６２がコンテンツ１２を別のメディア６１上に配置する場合もあり得ることに留意されたい。しかし、それを行うためには、この派生ソースとしての役割を果たすデバイス６２は、そのマスタキーリスト６８の現在のコピーを必要とする。しかし、デバイス６２がそれ自体、そのマスタまたはそのエージェントから直接にマスタキーリスト６８の現在のコピーを取得することができない場合には、本発明の一実施形態では、かかるデバイス６２は、そのマスタまたはそのエージェントから直接に現在のコピーを取得するソース６０それ自体によってメディア６１上に記録されたかかるコピーを介してこのマスタキーリスト６８のかかる現在のコピーを取得することができる。
【００４７】
したがって、本発明の一実施形態においては、このソース６０は、派生ソースとしての役割を果たすどのデバイス６２からも使用可能なメディア６１上のマスタキーリスト６８の現在のコピーを実際に配置している。かかる実施形態においては、このマスタは、マスタキーリスト６８を更新すると、減少しないバージョン番号（none-decreasing version number）をそれに対して適用し、このマスタキーリスト６８に適切なキーを用いてサインすることができる。したがって、ソース６０など第２のソースとしての役割を果たすデバイス６２は、メディア６１に出会うとその上のマスタキーリスト６８のこのバージョン番号に基づいて、メディア６１が、かかるデバイス６２のマスタキーリスト６８に比べてさらに最新のマスタキーリスト６８をもつかどうかを判定し、そうである場合にはこのデバイス６２は、このメディアからのマスタキーリスト６８をデバイス６２にコピーする。もちろん、それを行う際に、デバイス６２は、マスタキーリスト６８の署名が、かかるリスト６８が確実に変更されていないように検証できるようにする。
【００４８】
図２に示すように、コンテンツ１２がその上に配置されるメディア６１は、以下を含んでいる。  
−  メディアＩＤ、
−  以下を含むパッケージ１３、
−    暗号化されたコンテンツ（ＫＤ（コンテンツ））、
−    暗号化されたコンテンツキー（ＫＭ（ＫＤ））、
−    （メディアをパッケージにリンクする）メディアＩＤ、
−    （パッケージをマスタキーリストにリンクする）テーブルＩＤ、
−    このコンテンツを使用するための使用規則、
−    （ＫＭ）で検証可能な少なくともメディアＩＤおよびｉに基づく署名、
−  １組の（ＰＵ−ＰＤｘ（ＫＭ））およびテーブルＩＤをもつメディアシークレットテーブル６４、
−  １組の（ＰＵ−ＰＤ）、バージョン番号、および署名をもつマスタキーリスト６８。
【００４９】
メディア６１上のコンテンツ１２をレンダリングするために、デバイス６２は、コンテンツ１２に対応する、メディア６１上のテーブル６４を参照し、かかるデバイス６２の（ＰＵ−ＰＤｘ）に従って暗号化された（ＫＭ）に対してインデックスする。特に次に図３を参照すると、デバイス６２は、３０１でコンテンツ１２をレンダリングするように指示されるのに応じて、かかるコンテンツ１２を有するパッケージ１３内に記述された、かかるコンテンツ１２についての規則を参照し、３０２で信頼コンポーネント１８の評価機構２０を介してこの規則が満たされるかどうかを判定している。
【００５０】
かかる規則が実際に満たされると想定して、デバイス６２は、３０３でパッケージ１３中およびテーブル６４中のテーブルＩＤに基づいてコンテンツ１２／パッケージ１３に対応するテーブル６４を取得し、３０５でかかるデバイス６２のプライベートキー（ＰＲ−ＰＤｘ）およびかかるデバイス６２のインデックス値ｘを取得し、３０７でこの取得されたインデックス値ｘに基づいてテーブル６４にインデックス入力し、３０９で対応する（ＰＵ−ＰＤｘ（ＫＭ））を選択する。デバイス６２は、３１１でこの取得された（ＰＲ−ＰＤｘ）をこの暗号化された（ＰＵ−ＰＤｘ（ＫＭ））に適用してテーブル６４のメディアキー（ＫＭ）を復号して取り出す。
【００５１】
（ＫＭ）を用いて、デバイス６２は、３１３でパッケージ１３に付けられた署名を検証してこのパッケージ内の少なくともメディアＩＤを認証し、さらに３１５でパッケージ１３内のメディアＩＤが、メディア６１自体の上のメディアＩＤとマッチすることを確認する。理解されるように、そうする際に、このデバイスは、パッケージ１３が、実際にそのパッケージ１３が存在するメディア６１に適切に結びつけられていること、および非道なエンティティが不正にパッケージ１３および別のメディア６１からの関連するアイテムをコピーしていないことを確認する。
【００５２】
適切な結び付きが確認された後に、デバイス６２は、３１７でコンテンツ１２のパッケージ１３から（ＫＭ（ＫＤ））を取得することができ、３１９で（ＫＭ）を（ＫＭ（ＫＤ））に適用して（ＫＤ）を復号して取り出す。デバイス６２は、３２１でパッケージ１３から（ＫＤ（コンテンツ））を取得し、（ＫＤ）を（ＫＤ（コンテンツ））に適用してこのコンテンツを復号して取り出しレンダリングする。最後に、３２３でデバイス６２が派生ソースとしての役割を果たす場合、デバイス６２は、そのバージョン番号についてのメディア６１上のマスタキーリスト６８のコピーを検査し、このデバイス６２上のマスタキーリスト６８のコピーのバージョン番号よりも新しいものの場合には、かかるデバイス６２は、これをコピーすることによりこのメディア６１からのマスタキーリスト６８のコピーを採用する。
【００５３】
前述したように、ソース６０が生成するテーブル６４は、このソースに知られているあらゆる（ＰＵ−ＰＤｘ）またはその特定のサブセットに従って暗号化された（ＫＭ）を有することができる。理解されるように、特定の（ＰＵ−ＰＤｘ）をリボークするために、かかる（ＰＵ−ＰＤｘ）をテーブル６４から除外することができ、したがって、対応するデバイス６２は、対応するコンテンツ１２をレンダリングするためにテーブル６４から（ＰＵ−ＰＤｘ（ＫＭ））を取得することができなくなる。あるいは、この対応する（ＰＵ−ＰＤｘ（ＲＮＤ））（式中、ＲＮＤはランダムな整数を表す）についてテーブル６４中のフィールドをブランクにしたままにすることにより、またはゼロデータ、訳の分からないデータ、または意味のないデータなどの任意の代替データでフィールドを埋めることにより、対応するデバイス６２は、このコンテンツ１２をレンダリングすることができなくなる。理解されるように、このマスタは、いつ（ＰＵ−ＰＤｘ）がもはや信頼できず、したがって無効にされるべきかを判断し、あるいはかかる判断を別のエンティティから受け取る。
【００５４】
デバイス６２に複数対のキー対（ＰＵ−ＰＤｘ、ＰＲ−ＰＤｘ）が提供される場合には、このデバイス６２は、（ＫＭ）を復号して取り出すことができる一つが見つかるまで、テーブル６４上の使用可能な各（ＰＲ−ＰＤｘ）を使用することを試みる。かかる実施形態では、（例えば、信頼できないので）デバイス６２を無効にするために、ソース６０は、デバイス６２のすべての（ＰＵ−ＰＤｘ）に対応するはずのエントリをテーブル６４から取り除く。かかる状況では、各（ＰＵ−ＰＤｘ）キーＡ、Ｂ、Ｃ、およびＤを有する無効化されたデバイス６２は、かかるデバイスキーＡ、Ｂ、Ｃ、およびＤのテーブル６４からの「キャンセル」をもたらすはずである。かかる状況では、（ＰＵ−ＰＤｘ）キーＢ、Ｃ、Ｄ、Ｅをもつデバイス６２は、デバイスキーＥがまだキャンセルされなかったと想定すれば、デバイスキーＥの下にインデックスされたシークレットにはテーブル６４から依然としてアクセスすることができるが、デバイスキーＢ、Ｃ、またはＤの下にインデックスされた（ＰＵ−ＰＤｘ）キーにはアクセスできないはずであることに留意されたい。
【００５５】
コンテンツ１２をもつパッケージ１３が、メディアＩＤをその内部にもつことによってメディア６１に結びつけられるように、テーブル６４は、追加してまたはその代わりにメディアＩＤを内部にもつことによってメディア６１へと結びつけることができる。したがって、このテーブル６４を他のメディア６１に自由に移送することはできない。かかる場合には、テーブル６４は、少なくとも部分的にメディアＩＤに基づいて署名を含めて不正変更を防ぐことができ、かかる署名は、図３の３１３および３１５のオペレーションに関連して検証することができる。
【００５６】
テーブル６４は、セッション中にコンテンツ１２をもつメディア６１上に配置され、かかるセッションのコンテンツ１２だけには関連するが、将来のどのセッションのコンテンツ１２にも関連しないことに留意されたい。たとえテーブル６４内の１つまたは複数の（ＰＵ−ＰＤｘ）が、後でマスタによってマスタキーリスト６８中に追加されまたはそこでリボークされているとしても、かかるテーブル６４は、決して更新されず、また修正されることはない。別の方法においては、（ＰＵ−ＰＤｘ）のリボーク（revocation）は、リボークの後に作成されるテーブル６４およびそれに結びつけられるコンテンツ１２に関してのみである。かかる状況では、ポリシーの問題として、古くなったコンテンツ１２は、リボークされたデバイス６２によってさえアクセス可能なことになるが、より新しいコンテンツ１２は、かかるリボークされたデバイス６２からは同様にアクセス可能になることはない。
【００５７】
次に図４を参照すると、特定のセッション中に１つまたは複数のコンテンツ１２をメディア６１に書き込むために、ソース６０は、４０１でこのセッションについてのメディアキー（ＫＭ）を生成し、４０３でマスタからマスタキーリスト６８を取得しあるいはマスタキーリスト６８が最新であるようにし、４０５で（ＫＭ）およびマスタキーリスト６８に基づいてこのセッションについてのメディアシークレットテーブル６４を生成する。このテーブル６４の生成は、本発明の趣旨および範囲を逸脱することなく適切な任意の方法で行うことができる。
【００５８】
例えば、このマスタキーリスト６８中の有効な（ＰＵ−ＰＤｘ）キーの各々について、（ＰＵ−ＰＤｘ）を使用して（ＫＭ）を暗号化し、（ＰＵ−ＰＤｘ（ＫＭ））は、生成されるテーブル６４中に適切に配置される。しかし、このマスタキーリスト６８中の各無効な（ＰＵ−ＰＤｘ）では、（ＫＭ）はそれによっては暗号化されず、生成されるテーブル６４中には配置されないことに留意されたい。その代わり、かかる（ＰＵ−ＰＤｘ（ＫＭ））用のスペースは、単にブランクのまま残されるか、ゼロなど何らかの所定の値で埋められるか、あるいは完全に省略される。さらに、テーブルＩＤは、テーブル６４中の適切なロケーションにおける配置され、他の任意のアイテムも同様に生成されテーブル６４中に配置される。かかる他のアイテムはとりわけ、署名およびこのテーブル６４をコピーする対象のメディア６１のメディアＩＤを含むことができる。
【００５９】
今や理解されるはずであるが、１つまたは複数のテーブル６４が生成されるか、あるいは、特に各テーブル６４の生成がコンピュータを余すとこなく使用するものである場合には、前もって生成され、または部分的に生成され、ソースから使用できるようにキャッシュ６６中に配置しておくことができる。その場合には、テーブル６４は、メディアシークレットテーブルサーバなど（図示せず）で生成され、ソース６０が除去または使用するためにキャッシュ６６中に配置しておくことができる。ここでメディアシークレットテーブルサーバは、４０１〜４０５のオペレーションを実施する。あるいは、キャッシュ６６として動作するメディアシークレットテーブルサーバから直接にオンデマンドで新しいテーブル６４を取得する場合もあり得る。ソース６０は、本発明の趣旨および範囲を逸脱することなく、一度あるいは一度以上キャッシュ６６からのテーブル６４を使用することができることに留意されたい。
【００６０】
このポイントにおいて、ソースは、セッションについて、（ＫＭ）と、この（ＫＭ）を秘密にするテーブル６４とを有し、ここでテーブルは、テーブルＩＤを有している。さらに、ソース６０は、４０７でそこからメディア６１のメディアＩＤを取得し、各コンテンツ１２について、ソース６０は、４０９でコンテンツキー（ＫＤ）を生成し、４１１でコンテンツキー（ＫＤ）を用いてコンテンツ１２を（ＫＤ（コンテンツ））に暗号化し、４１３でメディアキー（ＫＭ）を用いて（ＫＤ）を（ＫＭ（ＫＤ））に暗号化し、４１５で（ＫＤ（コンテンツ））、（ＫＭ（ＫＤ））、メディアＩＤ、テーブルＩＤ、このコンテンツを使用するための使用規則、および少なくともメディアＩＤに基づいて（ＫＭ）を用いて検証可能な署名を有する、コンテンツ１２用のパッケージ１３を生成する。
【００６１】
ソース６０がこのセッションについてのすべてのパッケージ１３を生成した後に、ソース６０は、４１７で、各生成されたパッケージ１３、メディアシークレットテーブル６４、およびマスタキーリスト６８をメディア６１にコピーしてこのセッションを終了させる。その後、ソース６０は、適切などのようなコピー後のアクションを取ることもできる。例えば、コンテンツ１２が金銭上の取引の一部として提供される場合には、このソース６０は、取引の進捗を記録し、課金し、カウント値を増減分することができる。
【００６２】
メディア６１は追加のコピーセッションが後から生起可能であるようにしてもよいし、またしなくてもよいことに留意されたい。生起可能である場合には、前述のように、新しい各セッションは異なるテーブル６４によって示され、ここでかかるセッションのコンテンツパッケージ１３は、かかるセッションのテーブル６４に結びつけられる。本発明の一代替実施形態では問題を簡単にするためにこのセッションメディアキー（ＫＭ）を使用してコンテンツを直接に暗号化することができる。
【００６３】
さらに図４に関連して実施されるオペレーションは、特定のどのデバイス６２にも関係なく生起することに留意されたい。特に、これらのオペレーションでは、メディア６１がマウントされた、または内部に存在するデバイス６２が有効であるかどうか、つまり有効な（ＰＵ−ＰＤｘ）キーを有するかどうかが考慮されない。実際に、ソース６０には、パッケージ１３をメディア６１にコピーするのに先立ってかかる有効性を検証しようがない可能性がある。実際無効化されたデバイス６２がメディア６１上のコンテンツ１２をレンダリングしようと試みる場合に、コンテンツ１２が無効化されたデバイス６２のリボーク以後のマスタキーリスト６８のコピーに従って暗号化される場合には、この試みは失敗することになるが、コンテンツ１２が無効化されたデバイス６２のリボーク以前のマスタキーリスト６８のコピーに従って暗号化される場合には、この試みは成功することになる。
【００６４】
コンテンツ１２がメディア６１にコピーされた後に、かかるコンテンツ１２を、メディア６１がデバイスとは別になっている場合には、互換性のあるソフトウェアを有しており、メディア６１を読み取ることが可能な、同一のメディア６１を受け入れることができる任意のデバイス６２によって、レンダリングすることができる。デバイス６２は、適切な信頼コンポーネント１８と、メディア６１上のテーブル６４にインデックス入力するプライベートキー（ＰＲ−ＰＤｘ）を有するはずである。さらに、デバイス６２は、テーブル６４からリボークされ、すなわち無効化されている、テーブル６４からコンテンツ１２をレンダリングするために必要とされるシークレットにアクセスすることができないデバイスではない。
【００６５】
次に図５を参照すると、ブロック図が、本発明の一実施形態のアーキテクチャの一例について示されている。具体的には、記録デバイスが、規則に準拠したメディア上への記憶のため、および最終的には再生デバイスによるレンダリングのためにコンテンツを暗号化する。さらに、本発明では、どのような暗号化技術および解読技術を用いても動作可能であるが、図５の一例では、ＣＢＣ（Ｃｉｐｈｅｒ  Ｂｌｏｃｋ  Ｃｈａｉｎｉｎｇ暗号ブロック連鎖）モードの、ＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ高度暗号標準）のブロック暗号化および復号が示されている。代わりにあるいは追加して、本発明はまた、ＥＣＣ（Ｅｌｌｉｐｔｉｃ  Ｃｕｒｖｅ  Ｃｒｙｐｔｏｇｒａｐｈｙ楕円曲線暗号）（例えば、楕円曲線ＥｌＧａｍａｌ暗号アルゴリズムまたは楕円曲線デジタル署名アルゴリズム）などの暗号技術を用いても動作可能である。さらに、図５の一例では、このメディアキーは１２８ビットであり、メディアシークレットテーブルは、最大２メガバイトのメモリを有しており、メディア識別子は６４ビットであり、ＭＡＣは１２８ビットであり、このコンテンツキーは１２８ビットである。
【００６６】
図６および以下の考察は、本発明および／またはその一部分を実施することができる適切なコンピューティング環境を簡潔に一般的に説明することを意図したものである。必ずしも必要ではないが、本発明は、クライアントワークステーションやサーバなどのコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的なコンテキストで説明される。一般的に、プログラムモジュールは、特定のタスクを実施し特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含んでいる。図では、オペレーティングシステムなど、プログラムおよび他の実行可能プログラムコンポーネントが、ここでは個別のブロックとして示されている。しかし、かかるプログラムおよびコンポーネントは、様々な時刻にこのコンピュータの異なるストレージコンポーネントに存在し、このコンピュータのデータプロセッサによって実行されることが理解されよう。本発明は、本明細書中で説明される方法および技法に従ってプログラムされる際にはコンピュータそれ自体をも含んでいる。さらに、本発明および／またはその一部分は、ハンドヘルドデバイス、マルチプロセッサシステム、ＤＶＤ（ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃデジタル多用途ディスク）プレーヤやＤＶＤレコーダなどマイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含めて他のコンピュータシステム構成を用いて実施することができる。本発明はまた分散コンピューティング環境においても実施することができ、この場合、タスクは、通信ネットワークを介してリンクされるリモート処理デバイスによって実施される。分散コンピューティング環境では、プログラムモジュールは、ローカルメモリストレージデバイスにもリモートメモリストレージデバイスにも配置することができる。
【００６７】
図６に示すように、汎用コンピューティングシステムの一例は、処理装置１２１、システムメモリ１２２、およびシステムメモリを含む様々なシステムコンポーネントをこの処理装置１２１に結合するシステムバス１２３を含む一般的なパーソナルコンピュータ１２０などを含んでいる。このシステムバス１２３は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのどれかを使用したローカルバスを含めていくつかのタイプのバス構造のうちのどれであってもよい。このシステムメモリは、ＲＯＭ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙリードオンリーメモリ）１２４およびＲＡＭ（ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙランダムアクセスメモリ）１２５を含んでいる。起動中などパーソナルコンピュータ１２０内の要素間で情報を転送する助けをする基本ルーチンを含むＢＩＯＳ（ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ基本入出力システム）１２６は、ＲＯＭ１２４に記憶される。
【００６８】
コンピュータ１２０は、一般に少なくとも何らかの形態のコンピュータ読取り可能メディアを有する。揮発性メディアも不揮発性メディアも着脱可能メディアも着脱不能メディアも含んでいるコンピュータ読取り可能メディアは、コンピュータ１２０がアクセスすることができるどのような使用可能なメディアであってもよい。一例として、限定するものではないが、コンピュータ読取り可能メディアは、コンピュータストレージメディアおよび通信メディアを含む。コンピュータストレージメディアは、コンピュータ読取り可能命令、データ構造、プログラムモジュール、他のデータなど情報を記憶するための任意の方法または技術で実装される揮発性および不揮発性の着脱可能および着脱不能なメディアを含んでいる。例えば、コンピュータストレージメディアは、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは所望の情報を記憶するために使用することができコンピュータ１２０からアクセスすることができる他の任意のメディアを含んでいる。通信メディアは一般に、コンピュータ読取り可能命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の搬送メカニズムなどの変調データ信号中に具現化し、任意の情報配信メディアを含む。その信号中で情報が符号化されるようにその１つまたは複数の特性が設定されまたは変更される変調データ信号については当業者なら理解されよう。有線ネットワークや直接配線接続などの有線メディア、および音響メディア、ＲＦメディア、赤外線メディア、他の無線メディアなどの無線メディアは、通信メディアの例である。以上のうちのどの組合せもまた、コンピュータ読取り可能メディアの範囲内に含まれる。
【００６９】
パーソナルコンピュータ１２０はさらに、ハードディスク（図示せず）から情報を読み取りそれに情報を書き込むハードディスクドライブ１２７、着脱可能磁気ディスク１２９から情報を読み取りそれに情報を書き込む磁気ディスクドライブ１２８、およびＣＤ−ＲＯＭや他の光メディアなどの着脱可能光ディスク１３１から情報を読み取りそれに情報を書き込む光ディスクドライブ１３０を含むことができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光ディスクドライブ１３０は、それぞれハードディスクドライブインターフェース１３２、磁気ディスクドライブインターフェース１３３、および光ドライブインターフェース１３４によってシステムバス１２３に接続されている。これらのドライブおよびその関連するコンピュータ読取り可能メディアは、パーソナルコンピュータ１２０についてのコンピュータ読取り可能命令、データ構造、プログラムモジュールおよび他のデータの不揮発性ストレージを提供する。
【００７０】
本明細書中で説明される環境の一例では、ハードディスク、着脱可能な磁気ディスク１２９、および着脱可能な光ディスク１３１を使用しているが、コンピュータからアクセス可能なデータを記憶する、他のタイプのコンピュータ読取り可能メディアをこの例示の動作環境中で使用することもできることを理解されたい。かかる他のタイプのメディアには、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ（Ｂｅｒｎｏｕｌｌｉ  ｃａｒｔｒｉｄｇｅ）、ランダムアクセスメモリ（ＲＡＭ）、リードオンリーメモリ（ＲＯＭ）などが含まれる。
【００７１】
オペレーティングシステム１３５、１つまたは複数のアプリケーションプログラム１３６、他のプログラムモジュール１３７およびプログラムデータ１３８を含めていくつかのプログラムモジュールをハードディスク、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４またはＲＡＭ１２５に記憶することができる。ユーザは、キーボード１４０やポインティングデバイス１４２などの入力デバイスを介してコマンドおよび情報をパーソナルコンピュータ１２０に入力することができる。他の入力デバイス（図示せず）には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディスク、スキャナなどを含むことができる。これらおよび他の入力デバイスはしばしば、このシステムバスに結合されたシリアルポートインターフェース１４６を介して処理装置１２１に接続されるが、パラレルポート、ゲームポート、ＵＳＢ（ｕｎｉｖｅｒｓａｌ  ｓｅｒｉａｌ  ｂｕｓユニバーサルシリアルバス）など他のインターフェースで接続することもできる。モニタ１４７または他のタイプのディスプレイデバイスを、ビデオアダプタ１４８などのインターフェースを介してシステムバス１２３に接続することもできる。モニタ１４７に加えて、パーソナルコンピュータは、一般にスピーカやプリンタなど他の周辺出力デバイス（図示せず）を含んでいる。図６の例示のシステムはまた、ホストアダプタ１５５、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅスモールコンピュータシステムインターフェース）バス１５６、およびこのＳＣＳＩバス１５６に接続された外部ストレージデバイス１６２を含んでいる。
【００７２】
パーソナルコンピュータ１２０は、リモートコンピュータ１４９など１つまたは複数のリモートコンピュータに対する論理接続を使用してネットワーク環境で動作することができる。リモートコンピュータ１４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードとすることができ、一般にこのパーソナルコンピュータ１２０に関連して以上で説明した要素の多くまたはすべてを含んでいるが、図６にはメモリストレージデバイス１５０だけしか示してはいない。図６２に示す論理接続は、ＬＡＮ（ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋローカルエリアネットワーク）１５１およびＷＡＮ（ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋワイドエリアネットワーク）１５２を含んでいる。かかるネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネット、およびインターネットにおいては一般的なものになっている。
【００７３】
ＬＡＮネットワーク環境で使用するときには、パーソナルコンピュータ１２０は、ネットワークインターフェースまたはアダプタ１５３を介してＬＡＮ１５１に接続される。ＷＡＮネットワーク環境で使用するときには、パーソナルコンピュータ１２０は、一般にインターネットなどのワイドエリアネットワーク１５２上で通信を確立するためのモデム１５４または他の手段を含んでいる。モデム１５４は、内蔵でも外付けでもよいが、シリアルポートインターフェース１４６を介してシステムバス１２３に接続される。ネットワーク環境では、パーソナルコンピュータ１２０に関連して示されるプログラムモジュールまたはその一部分は、リモートメモリストレージデバイスに記憶することができる。図に示すネットワーク接続は例示的なものであり、コンピュータ間で通信リンクを確立するための他の手段も使用することができることを理解されたい。
【００７４】
コンピュータ１２０を含めて例示のコンピューティングシステム環境に関連して説明しているが、本発明は、多数の他の汎用または専用のコンピューティングシステム環境またはコンピューティングシステム構成を用いて動作可能である。このコンピューティングシステム環境は、本発明の使用または機能の範囲についてどのような限定も示唆するものではない。さらに、このコンピューティングシステム環境は、この例示の動作環境に示されるコンポーネントのどれか１つまたは組合せに関してどのような依存性または必要性を有するものとも解釈すべきではない。本発明とともに使用するのに適したものとし得るよく知られているコンピューティングシステム、コンピューティング環境、および／またはコンピューティング構成には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドデバイスまたはラップトップデバイス、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能な家電製品、移動体電話、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、以上のシステムまたはデバイスのどれかを含む分散コンピューティング環境などが含まれる。
【００７５】
ソフトウェアアーキテクチャのコンテキストにおけるインターフェースは、ソフトウェアモジュール、コンポーネント、コード部分、または他のコンピュータ実行可能命令シーケンスを含んでいる。このインターフェースは、例えばこの第１のモジュールの代わりにコンピューティングタスクを実施する第２のモジュールにアクセスする第１のモジュールを含んでいる。この第１および第２のモジュールには、一例では、オペレーティングシステムなどによって提供されるＡＰＩ（ａｐｐｌｉｃａｔｉｏｎ  ｐｒｏｇｒａｍｍｉｎｇ  ｉｎｔｅｒｆａｃｅアプリケーションプログラミングインターフェース）、（例えば、ピアツーピアアプリケーション通信のための）ＣＯＭ（ｃｏｍｐｏｎｅｎｔ  ｏｂｊｅｃｔ  ｍｏｄｅｌコンポーネントオブジェクトモデル）インターフェース、および（例えば、ウェブサービス間の通信のための）ＸＭＩ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ  ｍｅｔａｄａｔａ  ｉｎｔｅｒｃｈａｎｇｅ  ｆｏｒｍａｔ拡張マークアップ言語メタデータ交換フォーマット）インターフェースが含まれる。
【００７６】
このインターフェースは、Ｊ２ＥＥ（Ｊａｖａ（登録商標）２  Ｐｌａｔｆｏｒｍ  Ｅｎｔｅｒｐｒｉｓｅ  Ｅｄｉｔｉｏｎジャバ２プラットフォームエンタープライズ版）、ＣＯＭ、またはＤＣＯＭ（ｄｉｓｔｒｉｂｕｔｅｄ  ＣＯＭ分散ＣＯＭ）の例など、密結合の同期型実装でもよい。代わりにあるいは追加して、このインターフェースは、（例えば、簡単なオブジェクトアクセスプロトコルを使用した）ウェブサービスにおけるなど、疎結合の非同期型実装でもよい。一般に、このインターフェースは、以下の特徴、すなわち密結合、疎結合、同期型、および非同期型の任意の組合せを含んでいる。さらに、このインターフェースは、標準プロトコル、専用プロトコル、または標準プロトコルと専用プロトコルの任意の組合せに従うことができる。
【００７７】
本明細書中で説明されるインターフェースは、すべてが１つのインターフェースの一部分であっても、また別々のインターフェースとして実装されても、あるいはこれらの任意の組合せであってもよい。これらのインターフェースは、機能を提供するためにローカルまたはリモートに実行される。さらに、これらのインターフェースは、本明細書中に図示または説明されているものに比べて追加の機能またはさらに少ない機能を含むこともある。
【００７８】
適切な任意のソース６０、メディア６１、およびデバイス６２に関して本発明を実施することができる。さらに具体的には、例えば本発明を使用してＣＤプレーヤでプロテクトされた音楽の入ったＣＤを再生することを可能にし、セットトップボックスでプレミアム付きのテレビ放送にアクセスすることを可能にすることなどができる。したがって、デバイス６２は、１組のデバイスキー（ＰＵ−ＰＤ、ＰＲ−ＰＤ）をもち、コンテンツ１２および付随するテーブル６４を受け取り、（ＰＲ−ＰＤ）などに基づいてテーブル６４からキーを取得して、受け取ったコンテンツ１２をレンダリングすることができる任意のデバイスを包含すると解釈すべきである。
【００７９】
本発明に関連して実施されるプロセスを遂行するプログラムは、比較的直截的であり、関連するプログラム業界には明らかなはずである。したがって、かかるプログラミングは本明細書には添付していない。本発明の趣旨および範囲を逸脱することなく好みのプログラミングのいずれかを使用して本発明を実施することができる。
【００８０】
前述の説明から、本発明は、新しい有用な方法およびメカニズムを含んでおり、それによって、ＲＭシステム１０は、暗号化された解読キー（ＫＤ）をメディア６１などのオブジェクトに結びつけることで、かかるオブジェクト／メディア６１が存在しなければ暗号化された解読キー（ＫＤ）を取得できないようになることが分かる。したがって、光ストレージディスクまたは磁気ストレージディスクなど、このオブジェクト／メディア６１は、携帯用とすることができ、その結果、ユーザは、その上に暗号化された解読キーを有するオブジェクト／メディア６１を複数のコンピューティングデバイス１４または再生デバイス６２の間で移送することができる。
【００８１】
動作中に、コンピュータ１２０は、本発明の実施形態を実行するために、図３および図４に示す命令などのコンピュータ実行可能命令を実行する。している。
【００８２】
本明細書中に示し説明している方法の実行または実施の順序は、それ以外に指定されないかぎり本質的なものではない。すなわち、それ以外に指定されないかぎり本方法の要素はどのような順序で実施してもよく、本方法は、本明細書中に開示されている要素に比べてさらに多いまたはさらに少ない要素を含むことができる。例えば、特定の要素を別の要素の以前に、同時に、または後で実行しまたは実施することは、本発明の範囲内に含まれるものと意図している。さらに、本方法は、全体的にまたは部分的にハードウェア（例えば、大規模集積化実装）、ソフトウェア、またはそれらの任意の組合せ（例えば、ファームウェア）で実装することができ、本発明の範囲内に含めることができる。
【００８３】
本発明またはその実施形態の要素を紹介するときに、冠詞「１つの（ａ）」、「１つの（ａｎ）」、「その（ｔｈｅ）」および「前記（ｓａｉｄ）」は、１つまたは複数の要素が存在することを意味するものである。用語「含む（ｃｏｍｐｒｉｓｉｎｇ）」、「含む（ｉｎｃｌｕｄｉｎｇ）」、および「有する（ｈａｖｉｎｇ）」は、包含することを意図しており、リストアップされた要素以外の追加の要素が存在し得ることを意味する。
【００８４】
以上を考慮すれば、本発明のいくつかの目的が達成され、他の有利な結果が実現されることが分かるはずである。以上の構成、製品、および方法では本発明の範囲を逸脱することなく様々な変更を行うことができるので、以上の説明に含まれ添付図面に示されるすべての事柄が、例示的で非限定的な意味において解釈すべきことを意図している。したがって、本発明は、開示の特定の実施形態だけには限定されず、添付の特許請求の範囲によって定義される本発明の趣旨および範囲内における変更を包含するものと意図されていることを理解されたい。
【図面の簡単な説明】
【００８５】
【図１】信頼ベースのシステムの一例の一実施アーキテクチャを示すブロック図である。
【図２】本発明の一実施形態による、コンピューティングデバイスと、ホストコンピュータまたは他のソースと、マスタキーリスト、およびこのソースによって書き込まれ、このデバイスによって読み取られる暗号化されたコンテンツを有するストレージメディアとを示すブロック図である。
【図３】図２のメディアからのコンテンツをレンダリングする際に図２のデバイスが実施する主要なオペレーションを示す流れ図である。
【図４】図２のメディアにコンテンツをコピーする際に図２のソースが実施する主要なオペレーションを示す流れ図である。
【図５】本発明の一実装形態のアーキテクチャの一例を示すブロック図である。
【図６】本発明の態様および／またはその一部分を組み込むことができる汎用コンピュータシステムを示すブロック図である。
【符号の説明】
【００８６】
１２    コンテンツ
１３    パッケージ
１８    信頼コンポーネント
６０    ソース（ホストコンピュータ）
６１    メディア
６２    デバイス
６４    メディアシークレットテーブル
６６    キャッシュ
６８    マスタキーリスト
【図１】
0004680564.tif 000002
【図２】
0004680564.tif 000003
【図３】
0004680564.tif 000004
【図４】
0004680564.tif 000005
【図５】
0004680564.tif 000006
【図６】
0004680564.tif 000007