(57)【要約】【課題】デジタル著作権管理（ＤＲＭ）システムで使用するための安全なハードウェア識別子（ＨＷＩＤ）を提供すること。【解決手段】デバイスの信頼あるコンポーネントは安全なＨＷＩＤを含んでおり、デバイスから鍵を獲得し、デバイスのオペレーティングシステムの各署名されたコンポーネントを検証することによって検証される。カーネル内のアドレスに戻るポインタを含んでいることが検証されるＨＷＩＤドライバを探し出すためにドライバテーブルが検査される。ＨＷＩＤドライバによってＨＷＩＤコンポーネントから安全なＨＷＩＤを獲得し、安全なＨＷＩＤを信頼あるコンポーネントに戻すために、検証されたオペレーティングシステムが呼び出される。その後、戻されたＨＷＩＤは、信頼あるコンポーネントに含まれるＨＷＩＤと一致することが検証される。【選択図】　　　　図３
2004080751.tif 000002
【特許請求の範囲】
【請求項１】
デジタルコンテンツとそれに対するデジタルライセンスとを受け取り、前記ライセンスに従って前記コンテンツをレンダリングするコンピュータデバイスを製造し、前記デバイスが安全なハードウェア識別子（ＨＷＩＤ）にアクセスすることができることを保証する方法であって、前記ライセンスが、異なる安全なＨＷＩＤを有する別のデバイスでは作動不能になるように前記安全なＨＷＩＤにバインドされており、
認証局から前記認証局の署名付きの公開鍵（ＰＵ−ＯＥＭ）を受け取るステップと、
前記署名付きの（ＰＵ−ＯＥＭ）を前記デバイスのメモリに入れるステップと、
前記デバイスに対するオペレーティングシステムを受け取るステップであって、前記オペレーティングシステムは、実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有し、前記個々のコンポーネントの少なくとも一部のそれぞれに前記コンポーネントに基づく署名が添付されているステップと、
前記オペレーティングシステムが前記安全なＨＷＩＤを要求した際に、前記安全なＨＷＩＤを前記デバイスから獲得し、前記安全なＨＷＩＤを前記デバイスの前記オペレーティングシステムに転送するためのＨＷＩＤコンポーネントを前記デバイスに提供するステップと、
ＨＷＩＤドライバを前記オペレーティングシステムに対する追加として前記メモリに入れるステップであって、前記ＨＷＩＤドライバは、前記安全なＨＷＩＤを獲得して転送するために前記ＨＷＩＤコンポーネントと通信するステップと、
前記ＨＷＩＤへの参照を前記ドライバテーブルに入れるステップと、
前記オペレーティングシステムの署名したコンポーネントごとに、前記コンポーネントの前記署名を検証し、前記検証した署名を除去し、（ＰＵ−ＯＥＭ）に対応するプライベート鍵（ＰＲ−ＯＥＭ）で前記コンポーネントに署名するステップと、
（ＰＲ−ＯＥＭ）署名付きの前記コンポーネントを含む前記オペレーティングシステムの前記コンポーネントを前記メモリに入れるステップと
を含むことを特徴とする方法。
【請求項２】
前記ＨＷＩＤコンポーネントは、ソフトウェアおよびハードウェアの１つであることを特徴とする請求項１に記載の方法。
【請求項３】
前記ＨＷＩＤコンポーネントは、内部および外部の１つから前記安全なＨＷＩＤを取り出すことを特徴とする請求項１に記載の方法。
【請求項４】
前記ＨＷＩＤドライバを（ＰＲ−ＯＥＭ）で署名するステップと、前記ＨＷＩＤドライバの前記署名を前記メモリに入れるステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記署名付き（ＰＵ−ＯＥＭ）を前記デバイスのメモリに与えられるべきイメージに入れるステップと、前記ＨＷＩＤドライバを前記オペレーティングシステムへの追加として前記イメージに入れるステップと、前記オペレーティングシステムの前記コンポーネントを前記イメージに入れるステップと、前記デバイスの前記メモリに前記イメージを与えるステップとをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
前記デバイスのメモリに与えられるべき前記イメージは、前記デバイスのＲＯＭメモリに与えられるべきＲＯＭイメージであり、前記方法は、前記デバイスの前記ＲＯＭメモリに前記ＲＯＭイメージを与えるステップを含むことを特徴とする請求項５に記載の方法。
【請求項７】
前記オペレーティングシステムの署名されたコンポーネントごとに、前記コンポーネントに基づく（ＰＲ−ＯＥＭ）と、前記イメージでの前記コンポーネントのベースアドレスおよび長さとで前記コンポーネントに署名して、（（ファイル、開始、長さ）Ｓ（ＰＲ−ＯＥＭ））を得ることを特徴とする請求項１に記載の方法。
【請求項８】
前記デバイスから前記安全なＨＷＩＤにアクセスし、
前記アクセスされたＨＷＩＤを、前記デバイスに対する前記信頼あるコンポーネントへの要求の一部として前記認証局に提供し、前記認証局は、前記提供されたＨＷＩＤを含め、また安全な方法で前記信頼あるコンポーネントに埋め込まれている前記デバイスに関連付けられるべき公開−プライベート鍵対（ＰＵ−ＨＷ、ＰＲ−ＨＷ）、ＨＷＩＤ、および（ＰＲ−ＨＷ）をも含めるように前記信頼あるコンポーネントを構成し、
ＨＷＩＤ、（ＰＵ−ＨＷ）および（ＰＲ−ＨＷ）を有する前記信頼あるコンポーネントを受け取り、
前記受け取った信頼あるコンポーネントを前記デバイスのメモリに入れる
ことによって、信頼あるコンポーネント認証局から前記デバイスに対する信頼あるコンポーネントを獲得するステップをさらに含むことを特徴とする請求項１に記載の方法。
【請求項９】
前記信頼あるコンポーネントは時々更新することができ、前記信頼あるコンポーネントを有する前記メモリは不揮発性の書き換え可能メモリであることを特徴とする請求項８に記載の方法。
【請求項１０】
デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、前記ライセンスに従って前記コンテンツをレンダリングする、アクセス可能で安全なハードウェア識別子（ＨＷＩＤ）を有するコンピュータデバイスであって、前記ライセンスが、異なる安全なＨＷＩＤを有する別のデバイスでは作動不能になるように前記安全なＨＷＩＤにバインドされるためのものであり、
認証局からの、前記認証局の署名付きの公開鍵（ＰＵ−ＯＥＭ）と、
実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有するオペレーティングシステムであって、前記個々のコンポーネントの少なくとも一部のそれぞれは、前記コンポーネントに基づく署名が添付されており、（ＰＵ−ＯＥＭ）に対応するプライベート鍵（ＰＲ−ＯＥＭ）によって署名されるオペレーティングシステムと、
前記オペレーティングシステムが前記安全なＨＷＩＤを要求した際に、前記安全なＨＷＩＤを前記デバイスから獲得し、前記安全なＨＷＩＤを前記デバイスの前記オペレーティングシステムに転送するためのＨＷＩＤコンポーネントと、
前記オペレーティングシステムに追加され、前記ＨＷＩＤコンポーネントと通信して前記安全なＨＷＩＤを獲得して転送するＨＷＩＤドライバであって、前記ドライバテーブルは前記ＨＷＩＤドライバへの参照を有するＨＷＩＤドライバとを含むことを特徴とするデバイス。
【請求項１１】
前記ＨＷＩＤコンポーネントは、ソフトウェアおよびハードウェアの１つであることを特徴とする請求項１０に記載のデバイス。
【請求項１２】
前記ＨＷＩＤコンポーネントは、内部および外部の１つから前記安全なＨＷＩＤを取り出すことを特徴とする請求項１０に記載のデバイス。
【請求項１３】
（ＰＲ−ＯＥＭ）で署名された前記ＨＷＩＤドライバに対する署名をさらに含むことを特徴とする請求項１０に記載のデバイス。
【請求項１４】
前記署名付き（ＰＵ−ＯＥＭ）と、前記デバイスのＲＯＭメモリの前記ＨＷＩＤドライバを含む前記オペレーティングシステムの前記コンポーネントとを含むことを特徴とする請求項１０に記載のデバイス。
【請求項１５】
前記オペレーティングシステムの各署名されたコンポーネントが、前記コンポーネントに基づく（ＰＲ−ＯＥＭ）と、前記コンポーネントのベースアドレスおよび長さとで署名されて、（（ファイル、開始、長さ）Ｓ（ＰＲ−ＯＥＭ））を得ることを特徴とする請求項１０に記載のデバイス。
【請求項１６】
信頼あるコンポーネント認証局から前記デバイスに対して獲得された信頼あるコンポーネントをさらに含み、当該コンポーネントは、前記信頼あるＨＷＩＤを含め、また安全な方法で前記信頼あるコンポーネントに埋め込まれている前記デバイスに関連付けられるべき公開−プライベート鍵対（ＰＵ−ＨＷ、ＰＲ−ＨＷ）、ＨＷＩＤ、および（ＰＲ−ＨＷ）をも含めるように構成されたことを特徴とする請求項１０に記載のデバイス。
【請求項１７】
前記信頼あるコンポーネントは時々更新することができ、不揮発性の書き換え可能メモリに記憶されることを特徴とする請求項１６に記載のデバイス。
【請求項１８】
デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、前記ライセンスに従って前記コンテンツをレンダリングする、コンピュータデバイスで使用される方法であって、前記デバイスはアクセス可能で安全なハードウェア識別子（ＨＷＩＤ）を有し、前記ライセンスが、異なる安全なＨＷＩＤを有する別のデバイスでは作動不能になるように前記安全なＨＷＩＤにバインドされ、前記デバイスは、
認証局からの、前記認証局の署名付きの公開鍵（ＰＵ−ＯＥＭ）と、
実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有するオペレーティングシステムであって、前記個々のコンポーネントの少なくとも一部のそれぞれは、前記コンポーネントに基づく署名が添付されており、（ＰＵ−ＯＥＭ）に対応するプライベート鍵（ＰＲ−ＯＥＭ）によって署名されるオペレーティングシステムと、
前記オペレーティングシステムが前記安全なＨＷＩＤを要求した際に、前記安全なＨＷＩＤを前記デバイスから獲得し、前記安全なＨＷＩＤを前記デバイスの前記オペレーティングシステムに転送するためのＨＷＩＤコンポーネントと、
前記オペレーティングシステムに追加され、前記ＨＷＩＤコンポーネントと通信して前記安全なＨＷＩＤを獲得して転送するＨＷＩＤドライバであって、前記ドライバテーブルは前記ＨＷＩＤドライバへの参照を有するＨＷＩＤドライバと安全な方法で前記安全なＨＷＩＤを含めるように構成された、信頼あるコンポーネント認証局から前記デバイスに対して獲得した信頼あるコンポーネントと
を含み、
前記信頼あるコンポーネントを検証する前記方法は、
前記署名付きの（ＰＵ−ＯＥＭ）を獲得し、前記署名を検証するステップと、
前記オペレーティングシステムの各署名されたコンポーネントを、前記獲得した（ＰＵ−ＯＥＭ）に基づいて前記署名を検証することによって検証するステップと、
前記ドライバテーブルを検査して前記ＨＷＩＤドライバを探し出すステップと、
前記ＨＷＩＤドライバが前記カーネル内のアドレスに戻るためのポインタを含んでいることを検証するステップと、
前記ＨＷＩＤドライバと前記オペレーティングシステムが証明された場合は、
前記オペレーティングシステムを呼び出して、前記ＨＷＩＤコンポーネントから前記安全なＨＷＩＤを獲得し、前記信頼あるコンポーネントに前記安全なＨＷＩＤを戻すステップであって、前記カーネルは、前記呼び出しを受け取り、前記呼び出しを前記ドライバテーブルによって前記ＨＷＩＤドライバに転送し、前記ＨＷＩＤドライバは前記ＨＷＩＤコンポーネントによって前記安全なＨＷＩＤを獲得し、前記安全なＨＷＩＤを前記信頼あるコンポーネントに戻すステップと、前記戻されたＨＷＩＤが、前記信頼あるコンポーネントに含まれた前記ＨＷＩＤと一致するかどうかを検証するステップと
を含むことを特徴とする方法。
【請求項１９】
前記ＨＷＩＤドライバには（ＰＲ−ＯＥＭ）によって署名された前記ＨＷＩＤドライバに対する署名が添付されており、前記方法は、前記獲得した（ＰＵ−ＯＥＭ）で前記ＨＷＩＤドライバの前記署名を検証するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
前記署名付きの（ＰＵ−ＯＥＭ）と、前記ＨＷＩＤドライバを含む前記オペレーティングシステムの前記コンポーネントとは前記デバイスのＲＯＭメモリ内にあり、前記オペレーティングシステムの各署名されたコンポーネントは、前記コンポーネントに基づく（ＰＲ−ＯＥＭ）と、前記ＲＯＭメモリのベースアドレスと、前記ＲＯＭメモリの前記コンポーネントの長さとで署名されて（（ファイル、開始、長さ）Ｓ（ＰＲ−ＯＥＭ））が得られており、前記方法は、前記コンポーネントと、前記ＲＯＭメモリの前記ベースアドレスと、前記ＲＯＭメモリの前記長さとに基づいて前記署名を検証することによって前記オペレーティングシステムの各署名されたコンポーネントを検証するステップを含むことを特徴とする請求項１８に記載の方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、デジタルコンテンツで権利を施行するためのデジタル著作権管理（ＤＲＭ）システムなどのシステムに関する。より詳細には、本発明は、暗号化されたデジタルコンテンツに対するアクセスを、そのデジタルコンテンツのユーザによって取得されたライセンス権によって指定されたパラメータに従ってのみ許可する施行システムなどに関する。さらに詳細には、本発明は、施工システムをＨＷＩＤにバインドさせることができる、施工システムなどで使用するための安全なハードウェア識別子（ＨＷＩＤ）をデバイスに提供することに関する。
【０００２】
【従来の技術】
周知のように、また次に図１を参照すると分かるように、デジタル著作権管理（ＤＲＭ）および施行システムは、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツ１２がユーザに分配される場合には、そのようなデジタルコンテンツ１２に関しては非常に望ましいとされる。ユーザは、受信中に、パーソナルコンピュータ１４などにあるメディアプレイヤなどの適切なレンダリングデバイスの補助によりデジタルコンテンツをレンダリング、すなわち「再生」する。
【０００３】
典型的には、そのようなデジタルコンテンツ１２を分配しているコンテンツ所有者は、そのような分配されたデジタルコンテンツ１２をユーザがどのように扱うことができるかを制限することを希望している。例えば、コンテンツ所有者は、ユーザがそのようなコンテンツ１２をコピーして、第２のユーザに再分配することを制限することを希望する場合や、分配されたデジタルコンテンツ１２を、例えば限定された回数だけ、一定の合計数だけ、ある種のマシンでのみ、ある種のメディアプレイヤでのみ、ある種のユーザによってのみ再生されることを許可することを希望する場合がある。
【０００４】
【発明が解決しようとする課題】
しかし、一旦分配が発生してしまうと、そのようなコンテンツ所有者は、そのデジタルコンテンツ１２に対して、有していたとしてもほんの僅かな抑制力しか有しない。この場合、ＤＲＭシステム１０は、そのような抑制力に融通性があり、そのようなデジタルコンテンツのコンテンツ所有者によって定義可能な場合には、その抑制の下でデジタルコンテンツ１２を任意の形式でレンダリング、すなわち再生することを許可する。典型的には、コンテンツ１２は、任意の適切な分配経路によってパッケージ１３の形式でユーザに分配される。分配されたデジタルコンテンツパッケージ１３は、対称暗号化／暗号化解除鍵（ＫＤ）（すなわち、（ＫＤ（コンテンツ）））で暗号化されたデジタルコンテンツ１２、ならびにコンテンツを識別する他の情報、そのようなコンテンツに対するライセンスを入手する方法などを含むことができる。
【０００５】
信頼に基づくＤＲＭシステム１０は、そのようなデジタルコンテンツ１２がユーザのコンピュータデバイス１４でレンダリングされることが許可される前に満たされなければならないライセンス規則を、デジタルコンテンツ１２の所有者が指定することを可能にする。そのようなライセンス規則は、上述の時間的要件を含むことができ、１人または複数のユーザのコンピュータデバイス１４（以下、このような用語は状況がそれ以外のものを要求しない限り相互交換可能である）がコンテンツ所有者またはその代理人から取得する必要のあるデジタルライセンス１６の範囲内で実施することができる。そのようなライセンス１６は、恐らくはユーザのコンピュータデバイスによって暗号化解除可能な鍵に従って暗号化された、デジタルコンテンツを暗号化解除するための暗号化解除鍵（ＫＤ）も含む。
【０００６】
デジタルコンテンツ１２の１つのコンテンツ所有者は、ユーザのコンピュータデバイス１４が、そのようなコンテンツ所有者によってライセンス１６で指定された規則および要件に準拠していること、すなわちデジタルコンテンツ１２はライセンス１６の規則および要件が満たされない限りレンダリングされないことを信頼しなければならない。この場合、ユーザのコンピュータデバイス１４には、デジタルコンテンツ１２に関連付けられており、ユーザによって取得されたライセンス１６に盛り込まれたライセンス規則に従う以外は、デジタルコンテンツ１２をレンダリングしない信頼あるコンポーネントまたは機構１８が備えられていることが好ましい。
【０００７】
信頼あるコンポーネント１８は、典型的には、ライセンス１６が有効であるか否かを判定し、そのような有効なライセンス１６のライセンス規則および要件を検討し、検討されたライセンス規則および要件に基づいて、要求しているユーザが、要求したデジタルコンテンツ１２を、特に所望の方式でレンダリングする権利を有するか否かを判定するライセンスエバリュエータ２０を有する。理解されるべきことは、ライセンスエバリュエータ２０が、ライセンス１６の規則および要件に従ってデジタルコンテンツ１２の所有者の希望を達成することがＤＲＭシステム１０で信頼されていること、不正であるなしに関わらず、どのような目的でも、ユーザがそのような信頼ある要素を容易に変更することは不可能であるべきであることである。
【０００８】
理解されるべきことは、ライセンス１６の規則および要件は、ユーザは誰であるか、ユーザはどこに位置しているか、ユーザはどのタイプのコンピュータデバイスを使用しているか、どのレンダリングアプリケーションがＤＲＭシステムを呼び出しているか、日付、時刻などを含めて、複数の要因のどれかに基づいて、デジタルコンテンツ１２をレンダリングする権利をユーザが有するか否かを指定することができることである。さらに、ライセンス１６の規則および要件は、所定数の再生、すなわち所定回数の再生などにライセンス１６を制限する場合がある。
【０００９】
規則および要件は、任意の適切な言語および構文に従ってライセンス１６で指定することができる。例えば、言語は満たされるべき属性および値（日付はＸよりも後になるべきである、など）を単純に指定することができ、または指定されたスクリプト（日付がＸよりも大きい場合、・・・する、など）に従って機能を実行することを要求することができる。
【００１０】
ライセンス１６が有効であり、ユーザはその規則および要件を満たしているとライセンスエバリュエータ２０が判定すると、デジタルコンテンツ１２をレンダリングすることができる。具体的には、コンテンツ１２をレンダリングするために、暗号化解除鍵（ＫＤ）がライセンス１２から獲得され、実際のコンテンツ１２を得るためにこの暗号化解除鍵（ＫＤ）がコンテンツパッケージ１３から（ＫＤ（コンテンツ））に適用され、次いで実際のコンテンツ１２が現実にレンダリングされる。
【００１１】
ＤＲＭシステム１０で、そのようなコンテンツ１２を暗号化し、そのコンテンツ１２に一組の規則を有するライセンス１６を関連付けることによって、ユーザが使用するためにコンテンツ１２がパッケージされる。これによってコンテンツ１２は、ライセンス１６の規則に従ってのみレンダリングすることができる。コンテンツ１２は、それ自体にアクセスするためのライセンス１６を必要とするので、コンテンツ１２は自由に分配することができる。重要なことは、ライセンス１６は、コンテンツ１２がレンダリングされるべきコンピュータデバイス１４に対して、何らかの形で直接的または間接的にバインドされる必要があるということである。そうしないと、ライセンス１２は、無数の他のデバイス１４にコピーされ、そこでさらにレンダリングされるという危険性がある。
【００１２】
ライセンス１６をデバイス１４にバインドすることは周知であり、または当業者には明白であるはずなので、本明細書では詳細に説明する必要はない。直接的にバインドされた場合、ライセンス１６は、デバイス１４の識別子を含むことができ、デバイス１４が本当にライセンスによって識別されたデバイス１４であるという確認を要求することができる。直接的にバインドされた場合、ライセンス１６は、デバイス１４上に構成されたハードウェアまたはソフトウェア（すなわち、信頼あるコンポーネント１８）によってのみ復号可能な暗号化された暗号化解除鍵を含むことができ、この構成は、デバイス１４の識別子を含むことができ、ライセンス１６および／または構成は、デバイス１４が本当にその構成で識別されたデバイス１４であるという確認を要求することができる。
【００１３】
典型的には、ライセンス１６は、デバイス１４に現在ある一意のハードウェア識別子（ＨＷＩＤ）によってコンピュータデバイス１４にバインドされ、いかなる他のデバイス１４にも容易には転送不可能である。このようなＨＷＩＤは、デバイス１４に永続的に書き込まれた物理ＨＷＩＤであって、デバイス１４から電子的に獲得可能としても、またはデバイス１４に電子的に存在する複数の値、例えばハードドライブのシリアル番号、メモリのシリアル番号、プロセッサのシリアル番号などから計算可能としてもよい。デバイス１４に現在ある値に基づいてＨＷＩＤを計算することは周知であり、または当業者には明白であるはずなので、本明細書では詳細には説明する必要はない。重要なのは、信頼あるコンポーネント１８は、典型的には、デバイス１４に存在する値からＨＷＩＤを計算するということであり、そのような値はコンピュータ可読であり、不正なエンティティがＤＲＭシステム１０を破壊するためにその値を変更または不正確に伝えることができないという、ハードウェアの観点から十分に信頼に足るものと見なされるということである。すなわち、デバイス１４のハードウェアは、値を変更したり、不正に伝えたりすることを防止するには十分に信頼に足るものであると見なされる必要がある。
【００１４】
しかし、デバイス１４の値に基づくＨＷＩＤを安全であると見なすことができるほど、デバイス１４の値が本当に信頼できるものであると実際には見なすことができない場合がある。すなわち、デバイス１４のハードウェアはその値を保護するほどには信頼できないという場合がある。例えばハードウェアは、いかなる適切な値をも有さない場合があり、または適切な値は有するがコンピュータ可読の安全な形ではない場合があり、または特に不正確な値を提示するように操作される危険性がある。このような信頼できないハードウェアおよび値は、携帯用音楽プレイヤ、または携帯用データアシスタントのように特に比較的単純なデバイス１４に存在する場合がある。理解できようが、そのような単純なデバイス１４では、取り上げるべきハードウェアがほとんどない場合があり、そのようなハードウェアは、識別値として機能することができるコンピュータ可読識別子を含まない場合があり、ハードウェアは識別子をオペレーティングシステムに伝達することができない場合があり、かつ／またはデバイス１４およびそのハードウェアは、特にそのような値を明かすために必須の機能を有しない場合がある。当然ながら、他のさらに複雑なデバイス１４も、デバイス１４に安全なＨＷＩＤを与えるために必須の信頼できるハードウェアおよび値を有しないという場合もある。
【００１５】
ハードウェアが安全なＨＷＩＤを提供するほどには信頼されていない場合に、デバイス１４に安全なＨＷＩＤを与えるための方法および機構が求められている。具体的には、デバイス１４の製造業者が、デバイス１４のオペレーティングシステムが獲得することのできる安全なＨＷＩＤをデバイス１４に与えることを可能にする方法および機構が求められている。さらに具体的には、安全なＨＷＩＤが不正なエンティティによって容易に変更または不正に伝えられることができない場合、信頼することができる製造業者によって提供された際に、デバイス１４のソフトウェアが、安全なＨＷＩＤをデバイス１４に与え、そのような安全なＨＷＩＤをそのデバイス１４のオペレーティングシステムに明かすことが求められている。
【００１６】
【課題を解決するための手段】
上記の需要は、コンピュータデバイスが安全なハードウェ識別子（ＨＷＩＤ）に確実にアクセスすることができるように製造される本発明によって、少なくとも一部には満たされる。このコンピュータデバイスは、デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、そのライセンスに従ってコンテンツをレンダリングするためのものであり、そのライセンスは、異なる安全なＨＷＩＤを有する別のデバイスでは作動不能になるように安全なＨＷＩＤにバインドされる。
【００１７】
公開鍵（ＰＵ−ＯＥＭ）は、認証局からその認証局の署名と共に受け取られ、署名付き（ＰＵ−ＯＥＭ）はデバイスのメモリに入れられる。そのデバイス用のオペレーティングシステムが実行可能なカーネル、複数のドライバ、および各ドライバに対するポインタを有するドライバテーブルを含む複数の個々のコンポーネントを有する場合、そのオペレーティングシステムは受け取られる。これら個々のコンポーネントの少なくとも一部のそれぞれには、そのコンポーネントに基づく署名が添付されている。
【００１８】
オペレーティングシステムが安全なＨＷＩＤを要求した際に、安全なＨＷＩＤをデバイスから獲得し、その安全なＨＷＩＤをデバイスのオペレーティングシステムに転送するためのＨＷＩＤコンポーネントがデバイスに提供され、ＨＷＩＤドライバがオペレーティングシステムへの追加としてメモリに入れられる。ＨＷＩＤドライバは、安全なＨＷＩＤを獲得して転送するために、ＨＷＩＤコンポーネントと通信する。
【００１９】
ＨＷＩＤドライバへの参照がドライバテーブルに入れられ、オペレーティングシステムの署名されたコンポーネントごとに、そのコンポーネントの署名が検証され、除去される。次いでコンポーネントは、（ＰＵ−ＯＥＭ）に対応するプライベート鍵（ＰＲ−ＯＥＭ）で署名される。次いで、オペレーティングシステムのすべてのコンポーネントは、（ＰＲ−ＯＥＭ）署名を伴うコンポーネントを含めて、メモリに入れられる。
【００２０】
信頼あるコンポーネントは、信頼あるコンポーネント認証局からデバイスに対して獲得され、安全な方法で安全なＨＷＩＤを含めるように構成される。信頼あるコンポーネントは、署名付き（ＰＵ−ＯＥＭ）を獲得し、その署名を検証することによって検証される。オペレーティングシステムの各署名されたコンポーネントは、獲得した（ＰＵ−ＯＥＭ）に基づいてその署名を検証することによっても検証され、ＨＷＩＤドライバを探し出すためにドライバテーブルが検査され、そのＨＷＩＤドライバはカーネル内のアドレスに戻るためのポインタを含んでいることが検証される。
【００２１】
ＨＷＩＤドライバとオペレーティングシステムが証明された場合、オペレーティングシステムはＨＷＩＤコンポーネントから安全なＨＷＩＤを獲得し、信頼あるコンポーネントに安全なＨＷＩＤを戻すために呼び出される。カーネルは、呼び出しを受け取り、その呼び出しをドライバテーブルによってＨＷＩＤドライバに転送し、ＨＷＩＤドライバはＨＷＩＤコンポーネントによって安全なＨＷＩＤを獲得し、その安全なＨＷＩＤを信頼あるコンポーネントに戻す。その後、戻されたＨＷＩＤが、信頼あるコンポーネントに含まれたＨＷＩＤと一致するかどうかが検証される。
【００２２】
上記の「発明を解決するための手段」と、以下の本発明の実施形態の詳細な説明は、添付の図面を参照しながら読むことによってさらによく理解されよう。本発明を説明するために、図面には現在好ましいとされる実施形態を示す。しかし、理解されるべきことは、本発明は、図示する構成および手段に厳密に限定されるものではないということである。
【００２３】
【発明の実施の形態】
コンピュータ環境
図１および以下の説明は、本発明および／またはその一部を実施することができる適切なコンピュータ環境に関する、簡単で一般的な説明を提供することを目的としている。必須ではないが、本発明は、クライアントワークステーションまたはサーバなどのコンピュータによって実行中の、プログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明する。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、本発明および／またはその一部は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの、すなわちプログラム可能な家庭電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステム構成で実行することができるということを理解されたい。本発明は、通信ネットワークによってリンクされた遠隔処理装置によってタスクが実行される分散型コンピュータ環境でも実施することができる。分散型コンピュータ環境では、プログラムモジュールは、ローカル記憶装置と遠隔記憶装置の両方に置くことができる。
【００２４】
図２に示すように、典型的な一般の汎用コンピュータシステムには、処理装置１２１、システムメモリ１２２、およびシステムメモリを含めて様々なシステムコンポーネントを処理装置１２１に結合するシステムバス１２３を含む、従来型のパーソナルコンピュータ１２０などが含まれる。システムバス１２３は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのどれかを使用するローカルバスを含めて、複数のタイプのバス構造のどれであってもよい。システムメモリには、読み取り専用メモリ（ＲＯＭ）１２４およびランダムアクセスメモリ（ＲＡＭ）１２５が含まれる。基本入出力システム１２６（ＢＩＯＳ）は、起動時などにパーソナルコンピュータ１２０の素子間で情報の転送を補助する基本ルーチンを含み、ＲＯＭ１２４に記憶されている。
【００２５】
パーソナルコンピュータ１２０は、ハードディスク（図示せず）から読み取り、またそこに書き込むためのハードディスクドライブ１２７、取り外し可能な磁気ディスク１２９から読み取り、またそこに書き込むための磁気ディスクドライブ１２８、およびＣＤ−ＲＯＭまたは他の光メディアなどの取り外し可能な光ディスク１３１から読み取り、またそこに書き込むための光ディスクドライブ１３０をさらに含むことができる。ハードディスクドライブ１２７、磁気ディスクドライブ１２８、および光ディスクドライブ１３０は、それぞれハードディスクドライブインターフェース１３２、磁気ディスクドライブインターフェース１３３、および光ディスクドライブインターフェース１３４によってシステムバス１２３に接続される。これらのドライブおよびその関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ２０向けの他のデータの不揮発性記憶を提供する。
【００２６】
本明細書で説明する典型的な実施形態は、ハードディスク、取り外し可能な磁気ディスク１２９、および取り外し可能な光ディスク１３１を使用しているが、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も典型的なオペレーティングシステムで使用できるということを理解されたい。このような他のタイプの媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読み取り専用メモリ（ＲＯＭ）などが含まれる。
【００２７】
いくつかのプログラムモジュールは、オペレーティングシステム１３５、１つまたは複数のアプリケーションプログラム１３６、他のプログラムモジュール１３７、およびプログラムデータ１３８を含めて、ハードディスク、磁気ディスク１２９、光ディスク１３１、ＲＯＭ１２４、またはＲＡＭ１２５に記憶することができる。ユーザは、キーボード１４０およびポインティングデバイス１４２などの入力装置によってパーソナルコンピュータ１２０にコマンドおよび情報を入力することができる。他の入力装置（図示せず）は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらの入力装置および他の入力装置は、システムバスに結合されているシリアルポートインターフェース１４６を介して処理装置１２１に接続されることがよくあるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）などの他のインターフェースによって接続することもできる。モニタ１４７または他のタイプの表示装置もまた、ビデオアダプタ１４８などのインターフェースを介してシステムバス１２３に接続される。モニタ１４７の他に、パーソナルコンピュータは、通常、スピーカおよびプリンタなどの他の周辺出力装置（図示せず）を含む。図２の典型的なシステムは、ホストアダプタ１５５、スモールコンピュータシステムインターフェース（ＳＣＳＩ）バス１５６、およびＳＣＳＩバス１５６に接続されている外部記憶装置１６２も含む。
【００２８】
パーソナルコンピュータ１２０は、遠隔コンピュータ１４９などの１つまたは複数の遠隔コンピュータに対する論理接続を使用してネットワーク接続された環境で動作することができる。遠隔コンピュータ１４９は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、または他の一般的なネットワークノードであってよく、典型的には、パーソナルコンピュータ１２０に関して上述した要素の多くの要素またはそのすべてを含むが、図２には記憶装置１５０しか示していない。図２に示す論理接続には、ローカルエリアネットワーク（ＬＡＮ）１５１とワイドエリアネットワーク（ＷＡＮ）１５２とが含まれる。このようなネットワーク接続された環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットでは普及している。パーソナルコンピュータ１２０は、別のパーソナルコンピュータ１２０、携帯用プレイヤまたは携帯用データアシスタントなどのさらに特化したデバイスなどのゲストに対するホストとしても動作することができ、それによってホストは特にそのゲストにデータをダウンロードし、かつ／またはそのゲストからデータをアップロードする。
【００２９】
ＬＡＮネットワーク接続環境で使用される場合、パーソナルコンピュータ１２０は、ネットワークインターフェースまたはアダプタ１５３を介してＬＡＮ１５１に接続される。ＷＡＮネットワーク接続環境で使用される場合、パーソナルコンピュータ１２０は、典型的には、モデム１５４、またはインターネットなどのワイドエリアネットワーク１５２を介して通信を確立するための他の手段を含む。内蔵型であっても外付けであってもよいモデム１５４は、シリアルポートインターフェース１４６を介してシステムバス１２３に接続される。ネットワーク接続された環境では、パーソナルコンピュータ１２０に関して示したプログラムモジュール、またはその一部は、遠隔記憶装置に記憶することができる。図示したネットワーク接続は例示であって、コンピュータ間に通信リンクを確立する他の手段も使用できるということが理解されよう。
【００３０】
安全なハードウェア識別子（ＨＷＩＤ）
安全なＨＷＩＤはデバイス１４を個別化し、デバイス１４の信頼あるコンポーネント１８が、それが本当にデバイス１４を対象としたものかどうかを検証することを可能にする。すなわち、信頼あるコンポーネント１４をデバイス１２にバインドするために安全なＨＷＩＤが使用され、信頼あるコンポーネント１４にバインドされたライセンス１６は、引いてはデバイス１４にバインドされ、デバイス１４でコンテンツ１２がレンダリングされることを許可する。したがって、安全でないオペレーティングシステムによってコンテンツ１２をデバイス１４上で安全にレンダリングすることができる。しかし一部のデバイス１４では、デバイス１４のオペレーティングシステムは、デバイス１４に現在ある１つまたは複数の値に基づいてデバイス１４から安全なＨＷＩＤをそれ自体で取り出すことはできない。
【００３１】
したがって、本発明の一実施形態では、また図３を参照すると、デバイス１４のオペレーティングシステム３２がその安全なＨＷＩＤを要求した際に、デバイス１４から安全なＨＷＩＤを取り出し、デバイス１４のオペレーティングシステム３２にその安全なＨＷＩＤを転送するＨＷＩＤコンポーネント３０をデバイス１４に供給する製造業者によって、デバイス１４は製造される。恐らくは、安全なＨＷＩＤは、デバイス１４にライセンス１６をバインドすることまたはライセンス１６がデバイス１４に実際にバインドされていることを検証することの一部として要求される。但し、安全なＨＷＩＤは、本発明の趣旨および範囲を逸脱せずに、いかなる他の目的のためにも要求することができる。
【００３２】
ＨＷＩＤコンポーネント３０は、本発明の趣旨および範囲を逸脱せずにどのような適切なコンポーネントであってもよい。例えば、ＨＷＩＤコンポーネント３０は、ソフトウェアの一部であっても、ハードウェアであってもよい。さらに、ＨＷＩＤコンポーネント３０は、本発明の趣旨および範囲を逸脱せずに、安全なＨＷＩＤを含むことができ、またはどこからでも安全なＨＷＩＤを獲得することができる。例えば、安全なＨＷＩＤは、ＨＷＩＤコンポーネント３０に常駐しても、または獲得可能な遠隔にあってもよい。安全なＨＷＩＤは、本発明の趣旨および範囲を逸脱せずに、いかなる適切な位置に記憶されていてもよい。例えば、安全なＨＷＩＤはハードウェアの一部に物理的に記憶されていても、または単なるソフトウェアの一部であってもよい。一般に、ＨＷＩＤを安全に獲得するためにＨＷＩＤを安全に記憶し、ＨＷＩＤコンポーネント３０を使用することは知られており、または当業者には明らかであるはずなので、本明細書では詳細に記載する必要はない。重要なのは、製造業者が、実施されたＨＷＩＤが本当に安全であり、不正なエンティティによる変更または不正確な伝達を容易に被り易くない限り、本発明の趣旨および範囲から逸脱せずに、いかなる方法でも安全なＨＷＩＤを実施することができる。
【００３３】
本発明の一実施形態では、ＨＷＩＤコンポーネント３０はオペレーティングシステム３２に登録され、アプリケーション３４が安全なＨＷＩＤを要求した場合に呼び出される。ＨＷＩＤをセキュリティ保護し、その信頼性を伝えることの一部として、製造業者の供給によるＨＷＩＤコンポーネント３０と、オペレーティングシステム３２のそれぞれの呼び出しているコンポーネントの両方は、それぞれのデジタル署名を生成するためにデジタルに署名され、その署名は、そのコンポーネントが改ざんまたは置き換えられていないことを保証するために、呼び出しのプロセスの一部として検証される。
【００３４】
本発明の一実施形態では、オペレーティングシステム３２またはその少なくとも１つの関連部分が、ＲＯＭ（読み取り専用メモリ）３４でデバイス１４に常駐しており、そこからインスタンス化され、オペレーティングシステム３２は、オペレーティングシステム３２がＨＷＩＤコンポーネント３０によって安全なＨＷＩＤにアクセスすることができることを保証するために、本発明の方法に従って、デバイス１４の製造業者の要請によりＲＯＭ３４に入れられる。図４を参照すると、この方法は以下の通りである。
【００３５】
予備的に、製造業者（ｍａｎｕｆａｃｔｕｒｅｒ）またはその代理人（ａｇｅｎｔ）（以下、「製造業者」と称する）は、非同期公開−プライベート製造業者鍵対（ＰＵ−ＯＥＭ、ＰＲ−ＯＥＭ）を生成し（ステップ４０１）、（ＰＵ−ＯＥＭ）をＤＲＭサーバ（図示せず）に提供する（ステップ４０３）。理解されようが、ＤＲＭサーバは、その製造業者が実際にＤＲＭシステム１０にデバイス１４を含んでいることを証明する中央当局であり、（（ＰＵ−ＯＥＭ）Ｓ（ＰＲ−ＤＲＭ））を得るためにＤＲＭサーバのプライベート鍵（ＰＲ−ＤＲＭ）によって署名した製造業者に（ＰＵ−ＯＥＭ）を戻すことによって認証を示す。製造業者は（（ＰＵ−ＯＥＭ）Ｓ（ＰＲ−ＤＲＭ））を受け取り（ステップ４０５）、その（（ＰＵ−ＯＥＭ）Ｓ（ＰＲ−ＤＲＭ））を図５に示すようにＲＯＭイメージ３６に入れる（ステップ４０７）。
【００３６】
典型的には、製造業者は外部ソースから実際のオペレーティングシステム３２を受け取り（ステップ４０９）、そのオペレーティングシステム３２をデバイス１４に組み込む。本発明の一実施形態では、受け取られた際にオペレーティングシステム３２は、複数の個別ファイルを含んでおり、オペレーティングシステム３２の各関連ファイルにはファイルに基づいて署名が添付されている。理解されようが、各関連ファイルはすべてのファイルを含んでも、または実行ファイル、ＤＲＭプロセスに関連する実行ファイル、ＤＲＭプロセスに関連するすべてのファイル、これらの組み合わせなどのようなすべてのファイルの選択サブセットであってもよい。
【００３７】
図３に示すように、オペレーティングシステム３２のファイルの１つは、典型的にはカーネル実行可能ファイル３８である。理解されようが、オペレーティングシステム３２内のカーネル３８は中核機能を提供する。典型的には、カーネル３８は、機能を実行するためにオペレーティングシステム３２のドライバを呼び出すことによってその機能を起動し、カーネル３８は、各ドライバに対するポインタを含むドライバテーブル４０にアクセスする。本発明に最も適切なのは、デバイス１４のオペレーティングシステム３２が、安全なＨＷＩＤを獲得するためにＨＷＩＤコンポーネント３０と通信するＨＷＩＤドライバ４２を含むことである。殊に、ＨＷＩＤドライバ４２はＨＷＩＤコンポーネント３０に固有のものであり、ＨＷＩＤコンポーネント３０は製造業者によって提供され、したがってＨＷＩＤドライバ４２も製造業者によって提供される。特に、製造業者は、ＨＷＩＤドライバ４２をＲＯＭイメージ３６に入れることによってＨＷＩＤドライバ４２を提供し（ステップ４１１）、ＨＷＩＤドライバ４２への参照をドライバテーブル４０に入れる（ステップ４１３）。製造業者は、（ＰＲ−ＯＥＭ）でＨＷＩＤドライバ４２に署名し、その署名をＲＯＭイメージ３６に入れることもできる（ステップ４１４）。
【００３８】
製造業者はまた、提供された際にオペレーティングシステム３２のファイルを取り、そのファイルを署名されたファイルごとにＲＯＭイメージ３６に入れる（ステップ４１５）。次に図４Ａを参照すると、製造業者はその署名を検証し（ステップ４１５Ａ）、その署名を除去し（ステップ４１５Ｂ）、（ＰＲ−ＯＥＭ）でそのための新しい署名を作成し（ステップ４１５Ｃ）、ＲＯＭイメージ３６にそのための新しい署名を付けてファイルを入れる（ステップ４１５Ｄ）。本発明の一実施形態では、（（ファイル、開始、長さ）Ｓ（ＰＲ−ＯＥＭ））を得るために、各署名はファイルだけでなく、ＲＯＭイメージ３６のベースアドレスとファイルの長さにも基づいている。
【００３９】
図５に示すように、ＲＯＭイメージ３６で実施される際にオペレーティングシステム３２を使用し、また恐らくは他の情報を使用して、製造業者は、ＲＯＭイメージ３６をそのようなデバイス１４のＲＯＭ３４に組み込むことによってオペレーティングシステム３２をデバイス１４に入れる（ステップ４１７）。さらに、製造業者は、ＤＲＭの信頼あるコンポーネントサーバ（図示せず）からデバイス１４に対して信頼あるコンポーネント１８を獲得する。理解されようが、ＤＲＭの信頼あるコンポーネントサーバは、信頼あるコンポーネント１８を提供し、それぞれの信頼あるコンポーネント１８がデバイス１４にバインドされていることを保証する中央認証局である。
【００４０】
特に、製造業者はデバイス１４から安全なＨＷＩＤにアクセスし（ステップ４１９）、アクセスされたＨＷＩＤを、デバイス１４に対する信頼あるコンポーネント１８への要求の一部としてサーバに提供する（ステップ４２１）。サーバは、提供されたＨＷＩＤを含め、またデバイス１４に関連付けられるべき公開−プライベート鍵対（ＰＵ−ＨＷ、ＰＲ−ＨＷ）をも含めるために、信頼あるコンポーネント１８を構成する。理解されようが、ＨＷＩＤおよび（ＰＲ−ＨＷ）は、そのようなアイテムが安易に変更することはできないが信頼あるコンポーネント１８自体によって見つけることができるように、非常に安全な方法で信頼あるコンポーネント１８に埋め込まれる。次いで製造業者は、ＨＷＩＤ、（ＰＵ−ＨＷ）および（ＰＲ−ＨＷ）を有する信頼あるコンポーネント１８を受け取り、受け取った信頼あるコンポーネント１８をデバイスのメモリ４４に入れる（ステップ４２３）。信頼あるコンポーネント１８は時々更新することができ、その場合は、メモリ４４は不揮発性の書き換え可能メモリ４４であるということに留意されたい。当然ながら、信頼あるコンポーネント１８は不正なエンティティによる変更に対して保護されるべきであり、したがって少なくとも検証する署名と、恐らくは他のセキュリティ手段を含むべきである。本発明の別の一実施形態では、デバイス１４のエンドユーザが信頼あるコンポーネント１８を獲得するということに留意されたい。
【００４１】
安全なＨＷＩＤ、ＨＷＩＤコンポーネント３０、ＲＯＭ３４のオペレーティングシステム３２、およびメモリ４４の信頼あるコンポーネント１８を使用して、動作中のデバイス１４は、オペレーティングシステム３２を検証し、次いでＨＷＩＤコンポーネント３０から安全なＨＷＩＤを獲得するためにＨＷＩＤドライバ４２を呼び出すことによってその安全なＨＷＩＤにアクセスする。ここでもまた、安全なＨＷＩＤは、恐らくは、ライセンス１６をデバイス１４にバインドすること、またはライセンス１６が実際にデバイス１４にバインドされていることを検証することの一部として要求される。但し、安全なＨＷＩＤは、本発明の趣旨および範囲を逸脱せずに、いかなる他の目的のためにも要求することができる。理解できようが、オペレーティングシステム３２を検証することによって、ＨＷＩＤドライバ４２には信用が与えられ、それによって戻されるＨＷＩＤが有効であり正確であるという保証が与えられる。
【００４２】
安全なＨＷＩＤは、典型的には、信頼あるコンポーネント１８の要求に際してアクセスされる。但し、本発明の趣旨および範囲を逸脱せずに他の要求者（ｒｅｑｕｅｓｔｏｒｓ）を使用することができる。本発明の一実施形態では、また図６を参照すると、安全なＨＷＩＤは以下の方法でアクセスされる。
【００４３】
予備的に、信頼あるコンポーネント１８はＲＯＭメモリ３４から（（ＰＵ−ＯＥＭ）Ｓ（ＰＲ−ＤＲＭ））を獲得し（ステップ６０１）、署名を検証し、その獲得した（ＰＵ−ＯＥＭ）に基づいてオペレーティングシステム３２を検証する（ステップ６０３）。具体的には、オペレーティングシステム３２の署名されたファイルごとに、署名は（ＰＲ−ＯＥＭ）に基づいており、信頼あるコンポーネント１８は、獲得した（ＰＵ−ＯＥＭ）と、署名を作成するために使用されたファイルの属性および／または要素（すなわち、ファイル自体、およびＲＯＭメモリ３４のベースアドレスおよびファイルの長さ）とに基づいて署名を検証する。
【００４４】
各署名が証明され、オペレーティングシステム３２も同様に証明されて信頼できると見なされた場合、プロセスは次に進む。そうでない場合、オペレーティングシステム３２は、信頼できるとは見なされず、プロセスは停止する。各署名が証明され、プロセスが次に進むと仮定すると、信頼あるコンポーネント１８は次に、ＨＷＩＤドライバ４２を探し出すためにＲＯＭ３４でドライバテーブル４０を検査し（ステップ６０５）、（ある場合は）ＨＷＩＤドライバ４２の署名を（ＰＵ−ＯＥＭ）によって検証し（ステップ６０７）、そのＨＷＩＤドライバ４２がカーネル３８内のアドレスに戻るポインタを含んでいるか否かを判定する（ステップ６０９）。
【００４５】
ＨＷＩＤドライバ４２が証明され、カーネル３８内のアドレスに戻るポインタを含んでおり、ＨＷＩＤドライバがＨＷＩＤコンポーネント３０から安全なＨＷＩＤを適切に獲得してその安全なＨＷＩＤをカーネル３８に戻すと推定できる場合、そのＨＷＩＤドライバ４２は信頼できると見なされ、プロセスは次に進む。そうでない場合、ＨＷＩＤドライバ４２は信頼できるとは見なされず、プロセスは停止する。ＨＷＩＤドライバ４２が信頼できると見なされたと仮定すると、信頼あるコンポーネント１８は、オペレーティングシステム３２は信頼されるべきであると推定し、ＨＷＩＤコンポーネント３０から安全なＨＷＩＤを獲得し、その安全なＨＷＩＤを信頼あるコンポーネント１８に戻すためにカーネル３８、ドライバテーブル４０、およびＨＷＩＤドライバ４２によって実際にオペレーティングシステム３２を呼び出す（ステップ６１１）。理解されようが、呼び出しはカーネル３８に向けられており、カーネル３８はその呼び出しをドライバテーブル４０の補助により透過的にＨＷＩＤドライバ４２に転送し、ＨＷＩＤドライバ４２から戻された安全なＨＷＩＤを受け取り、その安全なＨＷＩＤを信頼あるコンポーネント１８に送る。
【００４６】
次いで信頼あるコンポーネント１８は、安全なＨＷＩＤと共に、信頼あるコンポーネント１８が実際に正確なデバイス１４にあることを検証することを含めて、安全なＨＷＩＤに関して要求されるいかなるタスクでも実行するステップに進む（ステップ６１３）。したがって、ライセンス１６が信頼あるコンポーネント１８に（例えば、（ＰＵ−ＨＷ）に従って暗号化されたコンテンツ鍵（ＣＫ）を含めることによって）バインドされている場合、そのライセンスは、引いては安全なＨＷＩＤを有するデバイス１４にバインドされる。
【００４７】
結論
本発明は、独自の安全なＨＷＩＤを生成する機能が制限されているデバイス１４に関しては特に有益であるが、本発明は、パーソナルコンピュータ、サーバ、インテリジェント機器などのいかなる適切なデバイスに関しても、本発明の趣旨および範囲を逸脱せずに実施することができる。したがって、デバイス１４は、安全なＨＷＩＤを要求するいかなる適切なデバイスをも包含するものと解釈されるべきである。
【００４８】
本発明に関して実行される処理を有効にするために必須のプログラミングは、比較的簡単であり、プログラミングの関係者には明瞭であるはずある。したがって、そのようなプログラミングに関しては本明細書には記載しない。本発明の趣旨および範囲を逸脱せずに本発明を実現するために、どのような特別のプログラミングでも使用することができる。
【００４９】
上記の説明では、本発明は、安全なＨＷＩＤを提供するという信用がハードウェアにない場合などは、安全なＨＷＩＤをデバイス１４に与える新しくて有用な方法および機構を含んでいる。与えられた安全なＨＷＩＤは、デバイス１４の製造業者によって提供された際にＨＷＩＤコンポーネント３０によってデバイス１４のオペレーティングシステム３２が獲得することができる。安全なＨＷＩＤが不正なエンティティによって容易に変更または不正確に伝えられることができない場合、ＨＷＩＤコンポーネント３０には、安全なＨＷＩＤをデバイス１４に与え、そのデバイス１４のオペレーティングシステムにその安全なＨＷＩＤを明かすという信用がある。本発明の概念を逸脱せずに上記の実施形態に変更を加えることができるということを理解されたい。したがって、本発明は、開示した特定の実施形態に限定されるものではなく、首記の特許請求の範囲で定義された本発明の趣旨および範囲内の修正形態を対象とするものであることを理解されたい。
【図面の簡単な説明】
【図１】信頼に基づくシステムの一例の施行方式を示すブロック図である。
【図２】本発明の態様および／またはその一部を組み込むことのできる汎用コンピュータシステムを示すブロック図である。
【図３】本発明の一実施形態によってデバイスに対する安全なＨＷＩＤを獲得するための信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子（ＨＷＩＤ）コンポーネントを有するコンピュータデバイスを示すブロック図である。
【図４】本発明の一実施形態によって図３のデバイスに、信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子（ＨＷＩＤ）コンポーネントを置く際に実行される主要なステップを示す流れ図である。
【図４Ａ】本発明の一実施形態によって図３のデバイスに、信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子（ＨＷＩＤ）コンポーネントを置く際に実行される主要なステップを示す流れ図である。
【図５】図４および４Ａのステップで作成されるＲＯＭイメージを示すブロック図である。
【図６】本発明の一実施形態によって図３のデバイスの安全なＨＷＩＤを獲得するために、図３の信頼あるコンポーネントによって実行される主要なステップを示す流れ図である。
【符号の説明】
１０　ＤＲＭシステム
１２　（ＫＤ（コンテンツ））
１３　コンテンツパッケージ
１４　ユーザのコンピュータデバイス
１６　ライセンス
１８　信頼あるコンポーネント
２０　ライセンスエバリュエータ
【図１】
2004080751.tif 000003
【図２】
2004080751.tif 000004
【図３】
2004080751.tif 000005
【図４】
2004080751.tif 000006
【図４Ａ】
2004080751.tif 000007
【図５】
2004080751.tif 000008
【図６】
2004080751.tif 000009