JP2004080751A - デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること - Google Patents

デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること Download PDF

Info

Publication number
JP2004080751A
JP2004080751A JP2003181884A JP2003181884A JP2004080751A JP 2004080751 A JP2004080751 A JP 2004080751A JP 2003181884 A JP2003181884 A JP 2003181884A JP 2003181884 A JP2003181884 A JP 2003181884A JP 2004080751 A JP2004080751 A JP 2004080751A
Authority
JP
Japan
Prior art keywords
hwid
component
secure
driver
operating system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2003181884A
Other languages
English (en)
Other versions
JP4598375B2 (ja
Inventor
Steven Bourne
スティーブン ボーン
Vinay Krishnaswamy
ビネー クリシュナスワミー
Michael P Calligaro
マイケル ピー.カリガロ
Randal Ramig
ランダル ラミグ
David Brian Wecker
デビッド ブライアン ウェッカー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2004080751A publication Critical patent/JP2004080751A/ja
Application granted granted Critical
Publication of JP4598375B2 publication Critical patent/JP4598375B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】デジタル著作権管理(DRM)システムで使用するための安全なハードウェア識別子(HWID)を提供すること。
【解決手段】デバイスの信頼あるコンポーネントは安全なHWIDを含んでおり、デバイスから鍵を獲得し、デバイスのオペレーティングシステムの各署名されたコンポーネントを検証することによって検証される。カーネル内のアドレスに戻るポインタを含んでいることが検証されるHWIDドライバを探し出すためにドライバテーブルが検査される。HWIDドライバによってHWIDコンポーネントから安全なHWIDを獲得し、安全なHWIDを信頼あるコンポーネントに戻すために、検証されたオペレーティングシステムが呼び出される。その後、戻されたHWIDは、信頼あるコンポーネントに含まれるHWIDと一致することが検証される。
【選択図】    図3

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルコンテンツで権利を施行するためのデジタル著作権管理(DRM)システムなどのシステムに関する。より詳細には、本発明は、暗号化されたデジタルコンテンツに対するアクセスを、そのデジタルコンテンツのユーザによって取得されたライセンス権によって指定されたパラメータに従ってのみ許可する施行システムなどに関する。さらに詳細には、本発明は、施工システムをHWIDにバインドさせることができる、施工システムなどで使用するための安全なハードウェア識別子(HWID)をデバイスに提供することに関する。
【0002】
【従来の技術】
周知のように、また次に図1を参照すると分かるように、デジタル著作権管理(DRM)および施行システムは、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツ12がユーザに分配される場合には、そのようなデジタルコンテンツ12に関しては非常に望ましいとされる。ユーザは、受信中に、パーソナルコンピュータ14などにあるメディアプレイヤなどの適切なレンダリングデバイスの補助によりデジタルコンテンツをレンダリング、すなわち「再生」する。
【0003】
典型的には、そのようなデジタルコンテンツ12を分配しているコンテンツ所有者は、そのような分配されたデジタルコンテンツ12をユーザがどのように扱うことができるかを制限することを希望している。例えば、コンテンツ所有者は、ユーザがそのようなコンテンツ12をコピーして、第2のユーザに再分配することを制限することを希望する場合や、分配されたデジタルコンテンツ12を、例えば限定された回数だけ、一定の合計数だけ、ある種のマシンでのみ、ある種のメディアプレイヤでのみ、ある種のユーザによってのみ再生されることを許可することを希望する場合がある。
【0004】
【発明が解決しようとする課題】
しかし、一旦分配が発生してしまうと、そのようなコンテンツ所有者は、そのデジタルコンテンツ12に対して、有していたとしてもほんの僅かな抑制力しか有しない。この場合、DRMシステム10は、そのような抑制力に融通性があり、そのようなデジタルコンテンツのコンテンツ所有者によって定義可能な場合には、その抑制の下でデジタルコンテンツ12を任意の形式でレンダリング、すなわち再生することを許可する。典型的には、コンテンツ12は、任意の適切な分配経路によってパッケージ13の形式でユーザに分配される。分配されたデジタルコンテンツパッケージ13は、対称暗号化/暗号化解除鍵(KD)(すなわち、(KD(コンテンツ)))で暗号化されたデジタルコンテンツ12、ならびにコンテンツを識別する他の情報、そのようなコンテンツに対するライセンスを入手する方法などを含むことができる。
【0005】
信頼に基づくDRMシステム10は、そのようなデジタルコンテンツ12がユーザのコンピュータデバイス14でレンダリングされることが許可される前に満たされなければならないライセンス規則を、デジタルコンテンツ12の所有者が指定することを可能にする。そのようなライセンス規則は、上述の時間的要件を含むことができ、1人または複数のユーザのコンピュータデバイス14(以下、このような用語は状況がそれ以外のものを要求しない限り相互交換可能である)がコンテンツ所有者またはその代理人から取得する必要のあるデジタルライセンス16の範囲内で実施することができる。そのようなライセンス16は、恐らくはユーザのコンピュータデバイスによって暗号化解除可能な鍵に従って暗号化された、デジタルコンテンツを暗号化解除するための暗号化解除鍵(KD)も含む。
【0006】
デジタルコンテンツ12の1つのコンテンツ所有者は、ユーザのコンピュータデバイス14が、そのようなコンテンツ所有者によってライセンス16で指定された規則および要件に準拠していること、すなわちデジタルコンテンツ12はライセンス16の規則および要件が満たされない限りレンダリングされないことを信頼しなければならない。この場合、ユーザのコンピュータデバイス14には、デジタルコンテンツ12に関連付けられており、ユーザによって取得されたライセンス16に盛り込まれたライセンス規則に従う以外は、デジタルコンテンツ12をレンダリングしない信頼あるコンポーネントまたは機構18が備えられていることが好ましい。
【0007】
信頼あるコンポーネント18は、典型的には、ライセンス16が有効であるか否かを判定し、そのような有効なライセンス16のライセンス規則および要件を検討し、検討されたライセンス規則および要件に基づいて、要求しているユーザが、要求したデジタルコンテンツ12を、特に所望の方式でレンダリングする権利を有するか否かを判定するライセンスエバリュエータ20を有する。理解されるべきことは、ライセンスエバリュエータ20が、ライセンス16の規則および要件に従ってデジタルコンテンツ12の所有者の希望を達成することがDRMシステム10で信頼されていること、不正であるなしに関わらず、どのような目的でも、ユーザがそのような信頼ある要素を容易に変更することは不可能であるべきであることである。
【0008】
理解されるべきことは、ライセンス16の規則および要件は、ユーザは誰であるか、ユーザはどこに位置しているか、ユーザはどのタイプのコンピュータデバイスを使用しているか、どのレンダリングアプリケーションがDRMシステムを呼び出しているか、日付、時刻などを含めて、複数の要因のどれかに基づいて、デジタルコンテンツ12をレンダリングする権利をユーザが有するか否かを指定することができることである。さらに、ライセンス16の規則および要件は、所定数の再生、すなわち所定回数の再生などにライセンス16を制限する場合がある。
【0009】
規則および要件は、任意の適切な言語および構文に従ってライセンス16で指定することができる。例えば、言語は満たされるべき属性および値(日付はXよりも後になるべきである、など)を単純に指定することができ、または指定されたスクリプト(日付がXよりも大きい場合、・・・する、など)に従って機能を実行することを要求することができる。
【0010】
ライセンス16が有効であり、ユーザはその規則および要件を満たしているとライセンスエバリュエータ20が判定すると、デジタルコンテンツ12をレンダリングすることができる。具体的には、コンテンツ12をレンダリングするために、暗号化解除鍵(KD)がライセンス12から獲得され、実際のコンテンツ12を得るためにこの暗号化解除鍵(KD)がコンテンツパッケージ13から(KD(コンテンツ))に適用され、次いで実際のコンテンツ12が現実にレンダリングされる。
【0011】
DRMシステム10で、そのようなコンテンツ12を暗号化し、そのコンテンツ12に一組の規則を有するライセンス16を関連付けることによって、ユーザが使用するためにコンテンツ12がパッケージされる。これによってコンテンツ12は、ライセンス16の規則に従ってのみレンダリングすることができる。コンテンツ12は、それ自体にアクセスするためのライセンス16を必要とするので、コンテンツ12は自由に分配することができる。重要なことは、ライセンス16は、コンテンツ12がレンダリングされるべきコンピュータデバイス14に対して、何らかの形で直接的または間接的にバインドされる必要があるということである。そうしないと、ライセンス12は、無数の他のデバイス14にコピーされ、そこでさらにレンダリングされるという危険性がある。
【0012】
ライセンス16をデバイス14にバインドすることは周知であり、または当業者には明白であるはずなので、本明細書では詳細に説明する必要はない。直接的にバインドされた場合、ライセンス16は、デバイス14の識別子を含むことができ、デバイス14が本当にライセンスによって識別されたデバイス14であるという確認を要求することができる。直接的にバインドされた場合、ライセンス16は、デバイス14上に構成されたハードウェアまたはソフトウェア(すなわち、信頼あるコンポーネント18)によってのみ復号可能な暗号化された暗号化解除鍵を含むことができ、この構成は、デバイス14の識別子を含むことができ、ライセンス16および/または構成は、デバイス14が本当にその構成で識別されたデバイス14であるという確認を要求することができる。
【0013】
典型的には、ライセンス16は、デバイス14に現在ある一意のハードウェア識別子(HWID)によってコンピュータデバイス14にバインドされ、いかなる他のデバイス14にも容易には転送不可能である。このようなHWIDは、デバイス14に永続的に書き込まれた物理HWIDであって、デバイス14から電子的に獲得可能としても、またはデバイス14に電子的に存在する複数の値、例えばハードドライブのシリアル番号、メモリのシリアル番号、プロセッサのシリアル番号などから計算可能としてもよい。デバイス14に現在ある値に基づいてHWIDを計算することは周知であり、または当業者には明白であるはずなので、本明細書では詳細には説明する必要はない。重要なのは、信頼あるコンポーネント18は、典型的には、デバイス14に存在する値からHWIDを計算するということであり、そのような値はコンピュータ可読であり、不正なエンティティがDRMシステム10を破壊するためにその値を変更または不正確に伝えることができないという、ハードウェアの観点から十分に信頼に足るものと見なされるということである。すなわち、デバイス14のハードウェアは、値を変更したり、不正に伝えたりすることを防止するには十分に信頼に足るものであると見なされる必要がある。
【0014】
しかし、デバイス14の値に基づくHWIDを安全であると見なすことができるほど、デバイス14の値が本当に信頼できるものであると実際には見なすことができない場合がある。すなわち、デバイス14のハードウェアはその値を保護するほどには信頼できないという場合がある。例えばハードウェアは、いかなる適切な値をも有さない場合があり、または適切な値は有するがコンピュータ可読の安全な形ではない場合があり、または特に不正確な値を提示するように操作される危険性がある。このような信頼できないハードウェアおよび値は、携帯用音楽プレイヤ、または携帯用データアシスタントのように特に比較的単純なデバイス14に存在する場合がある。理解できようが、そのような単純なデバイス14では、取り上げるべきハードウェアがほとんどない場合があり、そのようなハードウェアは、識別値として機能することができるコンピュータ可読識別子を含まない場合があり、ハードウェアは識別子をオペレーティングシステムに伝達することができない場合があり、かつ/またはデバイス14およびそのハードウェアは、特にそのような値を明かすために必須の機能を有しない場合がある。当然ながら、他のさらに複雑なデバイス14も、デバイス14に安全なHWIDを与えるために必須の信頼できるハードウェアおよび値を有しないという場合もある。
【0015】
ハードウェアが安全なHWIDを提供するほどには信頼されていない場合に、デバイス14に安全なHWIDを与えるための方法および機構が求められている。具体的には、デバイス14の製造業者が、デバイス14のオペレーティングシステムが獲得することのできる安全なHWIDをデバイス14に与えることを可能にする方法および機構が求められている。さらに具体的には、安全なHWIDが不正なエンティティによって容易に変更または不正に伝えられることができない場合、信頼することができる製造業者によって提供された際に、デバイス14のソフトウェアが、安全なHWIDをデバイス14に与え、そのような安全なHWIDをそのデバイス14のオペレーティングシステムに明かすことが求められている。
【0016】
【課題を解決するための手段】
上記の需要は、コンピュータデバイスが安全なハードウェ識別子(HWID)に確実にアクセスすることができるように製造される本発明によって、少なくとも一部には満たされる。このコンピュータデバイスは、デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、そのライセンスに従ってコンテンツをレンダリングするためのものであり、そのライセンスは、異なる安全なHWIDを有する別のデバイスでは作動不能になるように安全なHWIDにバインドされる。
【0017】
公開鍵(PU−OEM)は、認証局からその認証局の署名と共に受け取られ、署名付き(PU−OEM)はデバイスのメモリに入れられる。そのデバイス用のオペレーティングシステムが実行可能なカーネル、複数のドライバ、および各ドライバに対するポインタを有するドライバテーブルを含む複数の個々のコンポーネントを有する場合、そのオペレーティングシステムは受け取られる。これら個々のコンポーネントの少なくとも一部のそれぞれには、そのコンポーネントに基づく署名が添付されている。
【0018】
オペレーティングシステムが安全なHWIDを要求した際に、安全なHWIDをデバイスから獲得し、その安全なHWIDをデバイスのオペレーティングシステムに転送するためのHWIDコンポーネントがデバイスに提供され、HWIDドライバがオペレーティングシステムへの追加としてメモリに入れられる。HWIDドライバは、安全なHWIDを獲得して転送するために、HWIDコンポーネントと通信する。
【0019】
HWIDドライバへの参照がドライバテーブルに入れられ、オペレーティングシステムの署名されたコンポーネントごとに、そのコンポーネントの署名が検証され、除去される。次いでコンポーネントは、(PU−OEM)に対応するプライベート鍵(PR−OEM)で署名される。次いで、オペレーティングシステムのすべてのコンポーネントは、(PR−OEM)署名を伴うコンポーネントを含めて、メモリに入れられる。
【0020】
信頼あるコンポーネントは、信頼あるコンポーネント認証局からデバイスに対して獲得され、安全な方法で安全なHWIDを含めるように構成される。信頼あるコンポーネントは、署名付き(PU−OEM)を獲得し、その署名を検証することによって検証される。オペレーティングシステムの各署名されたコンポーネントは、獲得した(PU−OEM)に基づいてその署名を検証することによっても検証され、HWIDドライバを探し出すためにドライバテーブルが検査され、そのHWIDドライバはカーネル内のアドレスに戻るためのポインタを含んでいることが検証される。
【0021】
HWIDドライバとオペレーティングシステムが証明された場合、オペレーティングシステムはHWIDコンポーネントから安全なHWIDを獲得し、信頼あるコンポーネントに安全なHWIDを戻すために呼び出される。カーネルは、呼び出しを受け取り、その呼び出しをドライバテーブルによってHWIDドライバに転送し、HWIDドライバはHWIDコンポーネントによって安全なHWIDを獲得し、その安全なHWIDを信頼あるコンポーネントに戻す。その後、戻されたHWIDが、信頼あるコンポーネントに含まれたHWIDと一致するかどうかが検証される。
【0022】
上記の「発明を解決するための手段」と、以下の本発明の実施形態の詳細な説明は、添付の図面を参照しながら読むことによってさらによく理解されよう。本発明を説明するために、図面には現在好ましいとされる実施形態を示す。しかし、理解されるべきことは、本発明は、図示する構成および手段に厳密に限定されるものではないということである。
【0023】
【発明の実施の形態】
コンピュータ環境
図1および以下の説明は、本発明および/またはその一部を実施することができる適切なコンピュータ環境に関する、簡単で一般的な説明を提供することを目的としている。必須ではないが、本発明は、クライアントワークステーションまたはサーバなどのコンピュータによって実行中の、プログラムモジュールなどのコンピュータ実行可能命令という一般的状況で説明する。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データ型を実施する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。さらに、本発明および/またはその一部は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの、すなわちプログラム可能な家庭電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどを含めて、他のコンピュータシステム構成で実行することができるということを理解されたい。本発明は、通信ネットワークによってリンクされた遠隔処理装置によってタスクが実行される分散型コンピュータ環境でも実施することができる。分散型コンピュータ環境では、プログラムモジュールは、ローカル記憶装置と遠隔記憶装置の両方に置くことができる。
【0024】
図2に示すように、典型的な一般の汎用コンピュータシステムには、処理装置121、システムメモリ122、およびシステムメモリを含めて様々なシステムコンポーネントを処理装置121に結合するシステムバス123を含む、従来型のパーソナルコンピュータ120などが含まれる。システムバス123は、メモリバスまたはメモリコントローラ、周辺バス、および様々なバスアーキテクチャのどれかを使用するローカルバスを含めて、複数のタイプのバス構造のどれであってもよい。システムメモリには、読み取り専用メモリ(ROM)124およびランダムアクセスメモリ(RAM)125が含まれる。基本入出力システム126(BIOS)は、起動時などにパーソナルコンピュータ120の素子間で情報の転送を補助する基本ルーチンを含み、ROM124に記憶されている。
【0025】
パーソナルコンピュータ120は、ハードディスク(図示せず)から読み取り、またそこに書き込むためのハードディスクドライブ127、取り外し可能な磁気ディスク129から読み取り、またそこに書き込むための磁気ディスクドライブ128、およびCD−ROMまたは他の光メディアなどの取り外し可能な光ディスク131から読み取り、またそこに書き込むための光ディスクドライブ130をさらに含むことができる。ハードディスクドライブ127、磁気ディスクドライブ128、および光ディスクドライブ130は、それぞれハードディスクドライブインターフェース132、磁気ディスクドライブインターフェース133、および光ディスクドライブインターフェース134によってシステムバス123に接続される。これらのドライブおよびその関連付けられたコンピュータ可読媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびパーソナルコンピュータ20向けの他のデータの不揮発性記憶を提供する。
【0026】
本明細書で説明する典型的な実施形態は、ハードディスク、取り外し可能な磁気ディスク129、および取り外し可能な光ディスク131を使用しているが、コンピュータによってアクセス可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も典型的なオペレーティングシステムで使用できるということを理解されたい。このような他のタイプの媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)などが含まれる。
【0027】
いくつかのプログラムモジュールは、オペレーティングシステム135、1つまたは複数のアプリケーションプログラム136、他のプログラムモジュール137、およびプログラムデータ138を含めて、ハードディスク、磁気ディスク129、光ディスク131、ROM124、またはRAM125に記憶することができる。ユーザは、キーボード140およびポインティングデバイス142などの入力装置によってパーソナルコンピュータ120にコマンドおよび情報を入力することができる。他の入力装置(図示せず)は、マイクロフォン、ジョイスティック、ゲームパッド、衛星放送受信アンテナ、スキャナなどを含むことができる。これらの入力装置および他の入力装置は、システムバスに結合されているシリアルポートインターフェース146を介して処理装置121に接続されることがよくあるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースによって接続することもできる。モニタ147または他のタイプの表示装置もまた、ビデオアダプタ148などのインターフェースを介してシステムバス123に接続される。モニタ147の他に、パーソナルコンピュータは、通常、スピーカおよびプリンタなどの他の周辺出力装置(図示せず)を含む。図2の典型的なシステムは、ホストアダプタ155、スモールコンピュータシステムインターフェース(SCSI)バス156、およびSCSIバス156に接続されている外部記憶装置162も含む。
【0028】
パーソナルコンピュータ120は、遠隔コンピュータ149などの1つまたは複数の遠隔コンピュータに対する論理接続を使用してネットワーク接続された環境で動作することができる。遠隔コンピュータ149は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであってよく、典型的には、パーソナルコンピュータ120に関して上述した要素の多くの要素またはそのすべてを含むが、図2には記憶装置150しか示していない。図2に示す論理接続には、ローカルエリアネットワーク(LAN)151とワイドエリアネットワーク(WAN)152とが含まれる。このようなネットワーク接続された環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットでは普及している。パーソナルコンピュータ120は、別のパーソナルコンピュータ120、携帯用プレイヤまたは携帯用データアシスタントなどのさらに特化したデバイスなどのゲストに対するホストとしても動作することができ、それによってホストは特にそのゲストにデータをダウンロードし、かつ/またはそのゲストからデータをアップロードする。
【0029】
LANネットワーク接続環境で使用される場合、パーソナルコンピュータ120は、ネットワークインターフェースまたはアダプタ153を介してLAN151に接続される。WANネットワーク接続環境で使用される場合、パーソナルコンピュータ120は、典型的には、モデム154、またはインターネットなどのワイドエリアネットワーク152を介して通信を確立するための他の手段を含む。内蔵型であっても外付けであってもよいモデム154は、シリアルポートインターフェース146を介してシステムバス123に接続される。ネットワーク接続された環境では、パーソナルコンピュータ120に関して示したプログラムモジュール、またはその一部は、遠隔記憶装置に記憶することができる。図示したネットワーク接続は例示であって、コンピュータ間に通信リンクを確立する他の手段も使用できるということが理解されよう。
【0030】
安全なハードウェア識別子(HWID)
安全なHWIDはデバイス14を個別化し、デバイス14の信頼あるコンポーネント18が、それが本当にデバイス14を対象としたものかどうかを検証することを可能にする。すなわち、信頼あるコンポーネント14をデバイス12にバインドするために安全なHWIDが使用され、信頼あるコンポーネント14にバインドされたライセンス16は、引いてはデバイス14にバインドされ、デバイス14でコンテンツ12がレンダリングされることを許可する。したがって、安全でないオペレーティングシステムによってコンテンツ12をデバイス14上で安全にレンダリングすることができる。しかし一部のデバイス14では、デバイス14のオペレーティングシステムは、デバイス14に現在ある1つまたは複数の値に基づいてデバイス14から安全なHWIDをそれ自体で取り出すことはできない。
【0031】
したがって、本発明の一実施形態では、また図3を参照すると、デバイス14のオペレーティングシステム32がその安全なHWIDを要求した際に、デバイス14から安全なHWIDを取り出し、デバイス14のオペレーティングシステム32にその安全なHWIDを転送するHWIDコンポーネント30をデバイス14に供給する製造業者によって、デバイス14は製造される。恐らくは、安全なHWIDは、デバイス14にライセンス16をバインドすることまたはライセンス16がデバイス14に実際にバインドされていることを検証することの一部として要求される。但し、安全なHWIDは、本発明の趣旨および範囲を逸脱せずに、いかなる他の目的のためにも要求することができる。
【0032】
HWIDコンポーネント30は、本発明の趣旨および範囲を逸脱せずにどのような適切なコンポーネントであってもよい。例えば、HWIDコンポーネント30は、ソフトウェアの一部であっても、ハードウェアであってもよい。さらに、HWIDコンポーネント30は、本発明の趣旨および範囲を逸脱せずに、安全なHWIDを含むことができ、またはどこからでも安全なHWIDを獲得することができる。例えば、安全なHWIDは、HWIDコンポーネント30に常駐しても、または獲得可能な遠隔にあってもよい。安全なHWIDは、本発明の趣旨および範囲を逸脱せずに、いかなる適切な位置に記憶されていてもよい。例えば、安全なHWIDはハードウェアの一部に物理的に記憶されていても、または単なるソフトウェアの一部であってもよい。一般に、HWIDを安全に獲得するためにHWIDを安全に記憶し、HWIDコンポーネント30を使用することは知られており、または当業者には明らかであるはずなので、本明細書では詳細に記載する必要はない。重要なのは、製造業者が、実施されたHWIDが本当に安全であり、不正なエンティティによる変更または不正確な伝達を容易に被り易くない限り、本発明の趣旨および範囲から逸脱せずに、いかなる方法でも安全なHWIDを実施することができる。
【0033】
本発明の一実施形態では、HWIDコンポーネント30はオペレーティングシステム32に登録され、アプリケーション34が安全なHWIDを要求した場合に呼び出される。HWIDをセキュリティ保護し、その信頼性を伝えることの一部として、製造業者の供給によるHWIDコンポーネント30と、オペレーティングシステム32のそれぞれの呼び出しているコンポーネントの両方は、それぞれのデジタル署名を生成するためにデジタルに署名され、その署名は、そのコンポーネントが改ざんまたは置き換えられていないことを保証するために、呼び出しのプロセスの一部として検証される。
【0034】
本発明の一実施形態では、オペレーティングシステム32またはその少なくとも1つの関連部分が、ROM(読み取り専用メモリ)34でデバイス14に常駐しており、そこからインスタンス化され、オペレーティングシステム32は、オペレーティングシステム32がHWIDコンポーネント30によって安全なHWIDにアクセスすることができることを保証するために、本発明の方法に従って、デバイス14の製造業者の要請によりROM34に入れられる。図4を参照すると、この方法は以下の通りである。
【0035】
予備的に、製造業者(manufacturer)またはその代理人(agent)(以下、「製造業者」と称する)は、非同期公開−プライベート製造業者鍵対(PU−OEM、PR−OEM)を生成し(ステップ401)、(PU−OEM)をDRMサーバ(図示せず)に提供する(ステップ403)。理解されようが、DRMサーバは、その製造業者が実際にDRMシステム10にデバイス14を含んでいることを証明する中央当局であり、((PU−OEM)S(PR−DRM))を得るためにDRMサーバのプライベート鍵(PR−DRM)によって署名した製造業者に(PU−OEM)を戻すことによって認証を示す。製造業者は((PU−OEM)S(PR−DRM))を受け取り(ステップ405)、その((PU−OEM)S(PR−DRM))を図5に示すようにROMイメージ36に入れる(ステップ407)。
【0036】
典型的には、製造業者は外部ソースから実際のオペレーティングシステム32を受け取り(ステップ409)、そのオペレーティングシステム32をデバイス14に組み込む。本発明の一実施形態では、受け取られた際にオペレーティングシステム32は、複数の個別ファイルを含んでおり、オペレーティングシステム32の各関連ファイルにはファイルに基づいて署名が添付されている。理解されようが、各関連ファイルはすべてのファイルを含んでも、または実行ファイル、DRMプロセスに関連する実行ファイル、DRMプロセスに関連するすべてのファイル、これらの組み合わせなどのようなすべてのファイルの選択サブセットであってもよい。
【0037】
図3に示すように、オペレーティングシステム32のファイルの1つは、典型的にはカーネル実行可能ファイル38である。理解されようが、オペレーティングシステム32内のカーネル38は中核機能を提供する。典型的には、カーネル38は、機能を実行するためにオペレーティングシステム32のドライバを呼び出すことによってその機能を起動し、カーネル38は、各ドライバに対するポインタを含むドライバテーブル40にアクセスする。本発明に最も適切なのは、デバイス14のオペレーティングシステム32が、安全なHWIDを獲得するためにHWIDコンポーネント30と通信するHWIDドライバ42を含むことである。殊に、HWIDドライバ42はHWIDコンポーネント30に固有のものであり、HWIDコンポーネント30は製造業者によって提供され、したがってHWIDドライバ42も製造業者によって提供される。特に、製造業者は、HWIDドライバ42をROMイメージ36に入れることによってHWIDドライバ42を提供し(ステップ411)、HWIDドライバ42への参照をドライバテーブル40に入れる(ステップ413)。製造業者は、(PR−OEM)でHWIDドライバ42に署名し、その署名をROMイメージ36に入れることもできる(ステップ414)。
【0038】
製造業者はまた、提供された際にオペレーティングシステム32のファイルを取り、そのファイルを署名されたファイルごとにROMイメージ36に入れる(ステップ415)。次に図4Aを参照すると、製造業者はその署名を検証し(ステップ415A)、その署名を除去し(ステップ415B)、(PR−OEM)でそのための新しい署名を作成し(ステップ415C)、ROMイメージ36にそのための新しい署名を付けてファイルを入れる(ステップ415D)。本発明の一実施形態では、((ファイル、開始、長さ)S(PR−OEM))を得るために、各署名はファイルだけでなく、ROMイメージ36のベースアドレスとファイルの長さにも基づいている。
【0039】
図5に示すように、ROMイメージ36で実施される際にオペレーティングシステム32を使用し、また恐らくは他の情報を使用して、製造業者は、ROMイメージ36をそのようなデバイス14のROM34に組み込むことによってオペレーティングシステム32をデバイス14に入れる(ステップ417)。さらに、製造業者は、DRMの信頼あるコンポーネントサーバ(図示せず)からデバイス14に対して信頼あるコンポーネント18を獲得する。理解されようが、DRMの信頼あるコンポーネントサーバは、信頼あるコンポーネント18を提供し、それぞれの信頼あるコンポーネント18がデバイス14にバインドされていることを保証する中央認証局である。
【0040】
特に、製造業者はデバイス14から安全なHWIDにアクセスし(ステップ419)、アクセスされたHWIDを、デバイス14に対する信頼あるコンポーネント18への要求の一部としてサーバに提供する(ステップ421)。サーバは、提供されたHWIDを含め、またデバイス14に関連付けられるべき公開−プライベート鍵対(PU−HW、PR−HW)をも含めるために、信頼あるコンポーネント18を構成する。理解されようが、HWIDおよび(PR−HW)は、そのようなアイテムが安易に変更することはできないが信頼あるコンポーネント18自体によって見つけることができるように、非常に安全な方法で信頼あるコンポーネント18に埋め込まれる。次いで製造業者は、HWID、(PU−HW)および(PR−HW)を有する信頼あるコンポーネント18を受け取り、受け取った信頼あるコンポーネント18をデバイスのメモリ44に入れる(ステップ423)。信頼あるコンポーネント18は時々更新することができ、その場合は、メモリ44は不揮発性の書き換え可能メモリ44であるということに留意されたい。当然ながら、信頼あるコンポーネント18は不正なエンティティによる変更に対して保護されるべきであり、したがって少なくとも検証する署名と、恐らくは他のセキュリティ手段を含むべきである。本発明の別の一実施形態では、デバイス14のエンドユーザが信頼あるコンポーネント18を獲得するということに留意されたい。
【0041】
安全なHWID、HWIDコンポーネント30、ROM34のオペレーティングシステム32、およびメモリ44の信頼あるコンポーネント18を使用して、動作中のデバイス14は、オペレーティングシステム32を検証し、次いでHWIDコンポーネント30から安全なHWIDを獲得するためにHWIDドライバ42を呼び出すことによってその安全なHWIDにアクセスする。ここでもまた、安全なHWIDは、恐らくは、ライセンス16をデバイス14にバインドすること、またはライセンス16が実際にデバイス14にバインドされていることを検証することの一部として要求される。但し、安全なHWIDは、本発明の趣旨および範囲を逸脱せずに、いかなる他の目的のためにも要求することができる。理解できようが、オペレーティングシステム32を検証することによって、HWIDドライバ42には信用が与えられ、それによって戻されるHWIDが有効であり正確であるという保証が与えられる。
【0042】
安全なHWIDは、典型的には、信頼あるコンポーネント18の要求に際してアクセスされる。但し、本発明の趣旨および範囲を逸脱せずに他の要求者(requestors)を使用することができる。本発明の一実施形態では、また図6を参照すると、安全なHWIDは以下の方法でアクセスされる。
【0043】
予備的に、信頼あるコンポーネント18はROMメモリ34から((PU−OEM)S(PR−DRM))を獲得し(ステップ601)、署名を検証し、その獲得した(PU−OEM)に基づいてオペレーティングシステム32を検証する(ステップ603)。具体的には、オペレーティングシステム32の署名されたファイルごとに、署名は(PR−OEM)に基づいており、信頼あるコンポーネント18は、獲得した(PU−OEM)と、署名を作成するために使用されたファイルの属性および/または要素(すなわち、ファイル自体、およびROMメモリ34のベースアドレスおよびファイルの長さ)とに基づいて署名を検証する。
【0044】
各署名が証明され、オペレーティングシステム32も同様に証明されて信頼できると見なされた場合、プロセスは次に進む。そうでない場合、オペレーティングシステム32は、信頼できるとは見なされず、プロセスは停止する。各署名が証明され、プロセスが次に進むと仮定すると、信頼あるコンポーネント18は次に、HWIDドライバ42を探し出すためにROM34でドライバテーブル40を検査し(ステップ605)、(ある場合は)HWIDドライバ42の署名を(PU−OEM)によって検証し(ステップ607)、そのHWIDドライバ42がカーネル38内のアドレスに戻るポインタを含んでいるか否かを判定する(ステップ609)。
【0045】
HWIDドライバ42が証明され、カーネル38内のアドレスに戻るポインタを含んでおり、HWIDドライバがHWIDコンポーネント30から安全なHWIDを適切に獲得してその安全なHWIDをカーネル38に戻すと推定できる場合、そのHWIDドライバ42は信頼できると見なされ、プロセスは次に進む。そうでない場合、HWIDドライバ42は信頼できるとは見なされず、プロセスは停止する。HWIDドライバ42が信頼できると見なされたと仮定すると、信頼あるコンポーネント18は、オペレーティングシステム32は信頼されるべきであると推定し、HWIDコンポーネント30から安全なHWIDを獲得し、その安全なHWIDを信頼あるコンポーネント18に戻すためにカーネル38、ドライバテーブル40、およびHWIDドライバ42によって実際にオペレーティングシステム32を呼び出す(ステップ611)。理解されようが、呼び出しはカーネル38に向けられており、カーネル38はその呼び出しをドライバテーブル40の補助により透過的にHWIDドライバ42に転送し、HWIDドライバ42から戻された安全なHWIDを受け取り、その安全なHWIDを信頼あるコンポーネント18に送る。
【0046】
次いで信頼あるコンポーネント18は、安全なHWIDと共に、信頼あるコンポーネント18が実際に正確なデバイス14にあることを検証することを含めて、安全なHWIDに関して要求されるいかなるタスクでも実行するステップに進む(ステップ613)。したがって、ライセンス16が信頼あるコンポーネント18に(例えば、(PU−HW)に従って暗号化されたコンテンツ鍵(CK)を含めることによって)バインドされている場合、そのライセンスは、引いては安全なHWIDを有するデバイス14にバインドされる。
【0047】
結論
本発明は、独自の安全なHWIDを生成する機能が制限されているデバイス14に関しては特に有益であるが、本発明は、パーソナルコンピュータ、サーバ、インテリジェント機器などのいかなる適切なデバイスに関しても、本発明の趣旨および範囲を逸脱せずに実施することができる。したがって、デバイス14は、安全なHWIDを要求するいかなる適切なデバイスをも包含するものと解釈されるべきである。
【0048】
本発明に関して実行される処理を有効にするために必須のプログラミングは、比較的簡単であり、プログラミングの関係者には明瞭であるはずある。したがって、そのようなプログラミングに関しては本明細書には記載しない。本発明の趣旨および範囲を逸脱せずに本発明を実現するために、どのような特別のプログラミングでも使用することができる。
【0049】
上記の説明では、本発明は、安全なHWIDを提供するという信用がハードウェアにない場合などは、安全なHWIDをデバイス14に与える新しくて有用な方法および機構を含んでいる。与えられた安全なHWIDは、デバイス14の製造業者によって提供された際にHWIDコンポーネント30によってデバイス14のオペレーティングシステム32が獲得することができる。安全なHWIDが不正なエンティティによって容易に変更または不正確に伝えられることができない場合、HWIDコンポーネント30には、安全なHWIDをデバイス14に与え、そのデバイス14のオペレーティングシステムにその安全なHWIDを明かすという信用がある。本発明の概念を逸脱せずに上記の実施形態に変更を加えることができるということを理解されたい。したがって、本発明は、開示した特定の実施形態に限定されるものではなく、首記の特許請求の範囲で定義された本発明の趣旨および範囲内の修正形態を対象とするものであることを理解されたい。
【図面の簡単な説明】
【図1】信頼に基づくシステムの一例の施行方式を示すブロック図である。
【図2】本発明の態様および/またはその一部を組み込むことのできる汎用コンピュータシステムを示すブロック図である。
【図3】本発明の一実施形態によってデバイスに対する安全なHWIDを獲得するための信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子(HWID)コンポーネントを有するコンピュータデバイスを示すブロック図である。
【図4】本発明の一実施形態によって図3のデバイスに、信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子(HWID)コンポーネントを置く際に実行される主要なステップを示す流れ図である。
【図4A】本発明の一実施形態によって図3のデバイスに、信頼あるコンポーネント、オペレーティングシステム、およびハードウェア識別子(HWID)コンポーネントを置く際に実行される主要なステップを示す流れ図である。
【図5】図4および4Aのステップで作成されるROMイメージを示すブロック図である。
【図6】本発明の一実施形態によって図3のデバイスの安全なHWIDを獲得するために、図3の信頼あるコンポーネントによって実行される主要なステップを示す流れ図である。
【符号の説明】
10 DRMシステム
12 (KD(コンテンツ))
13 コンテンツパッケージ
14 ユーザのコンピュータデバイス
16 ライセンス
18 信頼あるコンポーネント
20 ライセンスエバリュエータ

Claims (20)

  1. デジタルコンテンツとそれに対するデジタルライセンスとを受け取り、前記ライセンスに従って前記コンテンツをレンダリングするコンピュータデバイスを製造し、前記デバイスが安全なハードウェア識別子(HWID)にアクセスすることができることを保証する方法であって、前記ライセンスが、異なる安全なHWIDを有する別のデバイスでは作動不能になるように前記安全なHWIDにバインドされており、
    認証局から前記認証局の署名付きの公開鍵(PU−OEM)を受け取るステップと、
    前記署名付きの(PU−OEM)を前記デバイスのメモリに入れるステップと、
    前記デバイスに対するオペレーティングシステムを受け取るステップであって、前記オペレーティングシステムは、実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有し、前記個々のコンポーネントの少なくとも一部のそれぞれに前記コンポーネントに基づく署名が添付されているステップと、
    前記オペレーティングシステムが前記安全なHWIDを要求した際に、前記安全なHWIDを前記デバイスから獲得し、前記安全なHWIDを前記デバイスの前記オペレーティングシステムに転送するためのHWIDコンポーネントを前記デバイスに提供するステップと、
    HWIDドライバを前記オペレーティングシステムに対する追加として前記メモリに入れるステップであって、前記HWIDドライバは、前記安全なHWIDを獲得して転送するために前記HWIDコンポーネントと通信するステップと、
    前記HWIDへの参照を前記ドライバテーブルに入れるステップと、
    前記オペレーティングシステムの署名したコンポーネントごとに、前記コンポーネントの前記署名を検証し、前記検証した署名を除去し、(PU−OEM)に対応するプライベート鍵(PR−OEM)で前記コンポーネントに署名するステップと、
    (PR−OEM)署名付きの前記コンポーネントを含む前記オペレーティングシステムの前記コンポーネントを前記メモリに入れるステップと
    を含むことを特徴とする方法。
  2. 前記HWIDコンポーネントは、ソフトウェアおよびハードウェアの1つであることを特徴とする請求項1に記載の方法。
  3. 前記HWIDコンポーネントは、内部および外部の1つから前記安全なHWIDを取り出すことを特徴とする請求項1に記載の方法。
  4. 前記HWIDドライバを(PR−OEM)で署名するステップと、前記HWIDドライバの前記署名を前記メモリに入れるステップとをさらに含むことを特徴とする請求項1に記載の方法。
  5. 前記署名付き(PU−OEM)を前記デバイスのメモリに与えられるべきイメージに入れるステップと、前記HWIDドライバを前記オペレーティングシステムへの追加として前記イメージに入れるステップと、前記オペレーティングシステムの前記コンポーネントを前記イメージに入れるステップと、前記デバイスの前記メモリに前記イメージを与えるステップとをさらに含むことを特徴とする請求項1に記載の方法。
  6. 前記デバイスのメモリに与えられるべき前記イメージは、前記デバイスのROMメモリに与えられるべきROMイメージであり、前記方法は、前記デバイスの前記ROMメモリに前記ROMイメージを与えるステップを含むことを特徴とする請求項5に記載の方法。
  7. 前記オペレーティングシステムの署名されたコンポーネントごとに、前記コンポーネントに基づく(PR−OEM)と、前記イメージでの前記コンポーネントのベースアドレスおよび長さとで前記コンポーネントに署名して、((ファイル、開始、長さ)S(PR−OEM))を得ることを特徴とする請求項1に記載の方法。
  8. 前記デバイスから前記安全なHWIDにアクセスし、
    前記アクセスされたHWIDを、前記デバイスに対する前記信頼あるコンポーネントへの要求の一部として前記認証局に提供し、前記認証局は、前記提供されたHWIDを含め、また安全な方法で前記信頼あるコンポーネントに埋め込まれている前記デバイスに関連付けられるべき公開−プライベート鍵対(PU−HW、PR−HW)、HWID、および(PR−HW)をも含めるように前記信頼あるコンポーネントを構成し、
    HWID、(PU−HW)および(PR−HW)を有する前記信頼あるコンポーネントを受け取り、
    前記受け取った信頼あるコンポーネントを前記デバイスのメモリに入れる
    ことによって、信頼あるコンポーネント認証局から前記デバイスに対する信頼あるコンポーネントを獲得するステップをさらに含むことを特徴とする請求項1に記載の方法。
  9. 前記信頼あるコンポーネントは時々更新することができ、前記信頼あるコンポーネントを有する前記メモリは不揮発性の書き換え可能メモリであることを特徴とする請求項8に記載の方法。
  10. デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、前記ライセンスに従って前記コンテンツをレンダリングする、アクセス可能で安全なハードウェア識別子(HWID)を有するコンピュータデバイスであって、前記ライセンスが、異なる安全なHWIDを有する別のデバイスでは作動不能になるように前記安全なHWIDにバインドされるためのものであり、
    認証局からの、前記認証局の署名付きの公開鍵(PU−OEM)と、
    実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有するオペレーティングシステムであって、前記個々のコンポーネントの少なくとも一部のそれぞれは、前記コンポーネントに基づく署名が添付されており、(PU−OEM)に対応するプライベート鍵(PR−OEM)によって署名されるオペレーティングシステムと、
    前記オペレーティングシステムが前記安全なHWIDを要求した際に、前記安全なHWIDを前記デバイスから獲得し、前記安全なHWIDを前記デバイスの前記オペレーティングシステムに転送するためのHWIDコンポーネントと、
    前記オペレーティングシステムに追加され、前記HWIDコンポーネントと通信して前記安全なHWIDを獲得して転送するHWIDドライバであって、前記ドライバテーブルは前記HWIDドライバへの参照を有するHWIDドライバとを含むことを特徴とするデバイス。
  11. 前記HWIDコンポーネントは、ソフトウェアおよびハードウェアの1つであることを特徴とする請求項10に記載のデバイス。
  12. 前記HWIDコンポーネントは、内部および外部の1つから前記安全なHWIDを取り出すことを特徴とする請求項10に記載のデバイス。
  13. (PR−OEM)で署名された前記HWIDドライバに対する署名をさらに含むことを特徴とする請求項10に記載のデバイス。
  14. 前記署名付き(PU−OEM)と、前記デバイスのROMメモリの前記HWIDドライバを含む前記オペレーティングシステムの前記コンポーネントとを含むことを特徴とする請求項10に記載のデバイス。
  15. 前記オペレーティングシステムの各署名されたコンポーネントが、前記コンポーネントに基づく(PR−OEM)と、前記コンポーネントのベースアドレスおよび長さとで署名されて、((ファイル、開始、長さ)S(PR−OEM))を得ることを特徴とする請求項10に記載のデバイス。
  16. 信頼あるコンポーネント認証局から前記デバイスに対して獲得された信頼あるコンポーネントをさらに含み、当該コンポーネントは、前記信頼あるHWIDを含め、また安全な方法で前記信頼あるコンポーネントに埋め込まれている前記デバイスに関連付けられるべき公開−プライベート鍵対(PU−HW、PR−HW)、HWID、および(PR−HW)をも含めるように構成されたことを特徴とする請求項10に記載のデバイス。
  17. 前記信頼あるコンポーネントは時々更新することができ、不揮発性の書き換え可能メモリに記憶されることを特徴とする請求項16に記載のデバイス。
  18. デジタルコンテンツおよびそれに対するデジタルライセンスを受け取り、前記ライセンスに従って前記コンテンツをレンダリングする、コンピュータデバイスで使用される方法であって、前記デバイスはアクセス可能で安全なハードウェア識別子(HWID)を有し、前記ライセンスが、異なる安全なHWIDを有する別のデバイスでは作動不能になるように前記安全なHWIDにバインドされ、前記デバイスは、
    認証局からの、前記認証局の署名付きの公開鍵(PU−OEM)と、
    実行可能なカーネルと、複数のドライバと、各ドライバに対するポインタを有するドライバテーブルとを含む複数の個々のコンポーネントを有するオペレーティングシステムであって、前記個々のコンポーネントの少なくとも一部のそれぞれは、前記コンポーネントに基づく署名が添付されており、(PU−OEM)に対応するプライベート鍵(PR−OEM)によって署名されるオペレーティングシステムと、
    前記オペレーティングシステムが前記安全なHWIDを要求した際に、前記安全なHWIDを前記デバイスから獲得し、前記安全なHWIDを前記デバイスの前記オペレーティングシステムに転送するためのHWIDコンポーネントと、
    前記オペレーティングシステムに追加され、前記HWIDコンポーネントと通信して前記安全なHWIDを獲得して転送するHWIDドライバであって、前記ドライバテーブルは前記HWIDドライバへの参照を有するHWIDドライバと安全な方法で前記安全なHWIDを含めるように構成された、信頼あるコンポーネント認証局から前記デバイスに対して獲得した信頼あるコンポーネントと
    を含み、
    前記信頼あるコンポーネントを検証する前記方法は、
    前記署名付きの(PU−OEM)を獲得し、前記署名を検証するステップと、
    前記オペレーティングシステムの各署名されたコンポーネントを、前記獲得した(PU−OEM)に基づいて前記署名を検証することによって検証するステップと、
    前記ドライバテーブルを検査して前記HWIDドライバを探し出すステップと、
    前記HWIDドライバが前記カーネル内のアドレスに戻るためのポインタを含んでいることを検証するステップと、
    前記HWIDドライバと前記オペレーティングシステムが証明された場合は、
    前記オペレーティングシステムを呼び出して、前記HWIDコンポーネントから前記安全なHWIDを獲得し、前記信頼あるコンポーネントに前記安全なHWIDを戻すステップであって、前記カーネルは、前記呼び出しを受け取り、前記呼び出しを前記ドライバテーブルによって前記HWIDドライバに転送し、前記HWIDドライバは前記HWIDコンポーネントによって前記安全なHWIDを獲得し、前記安全なHWIDを前記信頼あるコンポーネントに戻すステップと、前記戻されたHWIDが、前記信頼あるコンポーネントに含まれた前記HWIDと一致するかどうかを検証するステップと
    を含むことを特徴とする方法。
  19. 前記HWIDドライバには(PR−OEM)によって署名された前記HWIDドライバに対する署名が添付されており、前記方法は、前記獲得した(PU−OEM)で前記HWIDドライバの前記署名を検証するステップを含むことを特徴とする請求項18に記載の方法。
  20. 前記署名付きの(PU−OEM)と、前記HWIDドライバを含む前記オペレーティングシステムの前記コンポーネントとは前記デバイスのROMメモリ内にあり、前記オペレーティングシステムの各署名されたコンポーネントは、前記コンポーネントに基づく(PR−OEM)と、前記ROMメモリのベースアドレスと、前記ROMメモリの前記コンポーネントの長さとで署名されて((ファイル、開始、長さ)S(PR−OEM))が得られており、前記方法は、前記コンポーネントと、前記ROMメモリの前記ベースアドレスと、前記ROMメモリの前記長さとに基づいて前記署名を検証することによって前記オペレーティングシステムの各署名されたコンポーネントを検証するステップを含むことを特徴とする請求項18に記載の方法。
JP2003181884A 2002-06-27 2003-06-25 デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること Expired - Fee Related JP4598375B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/185,660 US7152243B2 (en) 2002-06-27 2002-06-27 Providing a secure hardware identifier (HWID) for use in connection with digital rights management (DRM) system

Publications (2)

Publication Number Publication Date
JP2004080751A true JP2004080751A (ja) 2004-03-11
JP4598375B2 JP4598375B2 (ja) 2010-12-15

Family

ID=27733961

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003181884A Expired - Fee Related JP4598375B2 (ja) 2002-06-27 2003-06-25 デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること

Country Status (7)

Country Link
US (1) US7152243B2 (ja)
EP (1) EP1376305B1 (ja)
JP (1) JP4598375B2 (ja)
AT (1) ATE508421T1 (ja)
DE (1) DE60336961D1 (ja)
DK (1) DK1376305T3 (ja)
NO (1) NO334468B1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006006781A1 (en) * 2004-07-12 2006-01-19 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
JP2006048648A (ja) * 2004-07-30 2006-02-16 Microsoft Corp ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
JP2006108903A (ja) * 2004-10-01 2006-04-20 Hiromi Fukaya 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
US7054840B1 (en) * 2000-11-02 2006-05-30 Pitney Bowes Inc. Virtual bookshelf for online storage use and sale of material
US7255270B2 (en) 2004-07-12 2007-08-14 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
JP2010534451A (ja) * 2007-07-23 2010-11-04 インタートラスト テクノロジーズ コーポレイション テザード装置システム及び方法

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10013535B2 (en) * 2003-11-21 2018-07-03 Ciena Corporation Software configuration of module dependent on history
US8021230B2 (en) * 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US7892093B2 (en) 2004-08-19 2011-02-22 Igt Gaming system having multiple gaming machines which provide bonus awards
US7963847B2 (en) * 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US20060064756A1 (en) * 2004-09-17 2006-03-23 Ebert Robert F Digital rights management system based on hardware identification
US7890428B2 (en) * 2005-02-04 2011-02-15 Microsoft Corporation Flexible licensing architecture for licensing digital application
JP2006259810A (ja) * 2005-03-15 2006-09-28 Matsushita Electric Ind Co Ltd デバッグ装置
US8091142B2 (en) 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
JP4868801B2 (ja) * 2005-09-13 2012-02-01 キヤノン株式会社 ライセンス認証装置
US8407146B2 (en) * 2005-10-28 2013-03-26 Microsoft Corporation Secure storage
KR100703811B1 (ko) * 2006-02-28 2007-04-09 삼성전자주식회사 휴대용 저장장치 및 휴대용 저장장치의 데이터 관리 방법
US20070269044A1 (en) * 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access
JP5113169B2 (ja) * 2006-07-12 2013-01-09 イルデト・コーポレート・ビー・ヴイ 暗号関数を難読化する方法およびシステム
US7984516B2 (en) * 2006-08-31 2011-07-19 Silicon Laboratories Inc. Method and apparatus for protection of voice over internet protocol software
US9002745B2 (en) * 2006-12-21 2015-04-07 Igt Secure media distribution in a wager gaming system
US8555070B2 (en) * 2007-04-10 2013-10-08 Abbott Medical Optics Inc. External interface access control for medical systems
US8555410B2 (en) * 2007-04-10 2013-10-08 Abbott Medical Optics Inc. External interface access control
US8620818B2 (en) * 2007-06-25 2013-12-31 Microsoft Corporation Activation system architecture
US8646096B2 (en) * 2007-06-28 2014-02-04 Microsoft Corporation Secure time source operations for digital rights management
US8661552B2 (en) * 2007-06-28 2014-02-25 Microsoft Corporation Provisioning a computing system for digital rights management
US8689010B2 (en) * 2007-06-28 2014-04-01 Microsoft Corporation Secure storage for digital rights management
US20090164379A1 (en) * 2007-12-21 2009-06-25 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Conditional authorization for security-activated device
WO2009105002A1 (en) * 2008-02-20 2009-08-27 Telefonaktiebolaget Lm Ericsson (Publ) Flexible node identity for telecom nodes
US20100293095A1 (en) * 2009-05-18 2010-11-18 Christopher Alan Adkins Method for Secure Identification of a Device
EP2405377B1 (en) * 2010-07-09 2017-12-27 BlackBerry Limited Securing a component prior to manufacture of a device
US9032186B2 (en) 2010-07-09 2015-05-12 Blackberry Limited Utilization of a microcode interpreter built in to a processor
EP2591437B1 (en) 2010-07-09 2018-11-14 BlackBerry Limited Microcode-based challenge/response process
US9118686B2 (en) 2011-09-06 2015-08-25 Microsoft Technology Licensing, Llc Per process networking capabilities
US9773102B2 (en) 2011-09-09 2017-09-26 Microsoft Technology Licensing, Llc Selective file access for applications
US8990561B2 (en) 2011-09-09 2015-03-24 Microsoft Technology Licensing, Llc Pervasive package identifiers
US9800688B2 (en) 2011-09-12 2017-10-24 Microsoft Technology Licensing, Llc Platform-enabled proximity service
US9703950B2 (en) * 2012-03-30 2017-07-11 Irdeto B.V. Method and system for preventing and detecting security threats
US10356204B2 (en) 2012-12-13 2019-07-16 Microsoft Technology Licensing, Llc Application based hardware identifiers
US20140181985A1 (en) * 2012-12-21 2014-06-26 Broadcom Corporation Content Specific Data Scrambling
CN104756120B (zh) * 2013-03-27 2019-04-23 爱迪德技术有限公司 存储和访问数据
KR102100456B1 (ko) * 2013-05-09 2020-04-13 삼성전자주식회사 전자장치에서 디지털 저작권 관리 서비스를 제공하기 위한 장치 및 방법
US9858247B2 (en) 2013-05-20 2018-01-02 Microsoft Technology Licensing, Llc Runtime resolution of content references
US9785577B2 (en) * 2014-05-28 2017-10-10 Red Hat, Inc. Kernel key handling
US20180260539A1 (en) * 2017-03-08 2018-09-13 Microsoft Technology Licensing, Llc Device specific identity linked to user account
US11501002B2 (en) * 2020-07-10 2022-11-15 Dell Products L.P. Protocol security system
US11397822B2 (en) * 2020-07-23 2022-07-26 Dell Products L.P. System and method of utilizing document security

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
WO1998042098A1 (en) * 1997-03-14 1998-09-24 Cryptoworks, Inc. Digital product rights management technique
WO2000021239A1 (en) * 1998-10-07 2000-04-13 Nuvomedia, Inc. Certificate handling for digital rights management system

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715403A (en) * 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
CA2225805C (en) * 1995-06-29 2002-11-12 Allan E. Alcorn Electronic casino gaming system with improved play capacity, authentication and security
US5841870A (en) * 1996-11-12 1998-11-24 Cheyenne Property Trust Dynamic classes of service for an international cryptography framework
KR100298420B1 (ko) * 1997-03-10 2001-10-24 윤종용 롬바이오스의업데이트방법
US6327652B1 (en) * 1998-10-26 2001-12-04 Microsoft Corporation Loading and identifying a digital rights management operating system
US6418472B1 (en) * 1999-01-19 2002-07-09 Intel Corporation System and method for using internet based caller ID for controlling access to an object stored in a computer
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US6772340B1 (en) 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
US6704730B2 (en) * 2000-02-18 2004-03-09 Avamar Technologies, Inc. Hash file system and method for use in a commonality factoring system
US7051200B1 (en) * 2000-06-27 2006-05-23 Microsoft Corporation System and method for interfacing a software process to secure repositories
US6993664B2 (en) * 2001-03-27 2006-01-31 Microsoft Corporation Method and system for licensing a software product
US6978018B2 (en) * 2001-09-28 2005-12-20 Intel Corporation Technique to support co-location and certification of executable content from a pre-boot space into an operating system runtime environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5421006A (en) * 1992-05-07 1995-05-30 Compaq Computer Corp. Method and apparatus for assessing integrity of computer system software
WO1998042098A1 (en) * 1997-03-14 1998-09-24 Cryptoworks, Inc. Digital product rights management technique
WO2000021239A1 (en) * 1998-10-07 2000-04-13 Nuvomedia, Inc. Certificate handling for digital rights management system

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7054840B1 (en) * 2000-11-02 2006-05-30 Pitney Bowes Inc. Virtual bookshelf for online storage use and sale of material
WO2006006781A1 (en) * 2004-07-12 2006-01-19 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
US7255270B2 (en) 2004-07-12 2007-08-14 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
AU2005263101B2 (en) * 2004-07-12 2008-05-15 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
CN100465938C (zh) * 2004-07-12 2009-03-04 三星电子株式会社 搜索存储在便携式存储装置中的权限对象的方法和设备
US7571852B2 (en) 2004-07-12 2009-08-11 Samsung Electronics Co., Ltd. Method and apparatus for searching rights objects stored in portable storage device using object location data
JP2006048648A (ja) * 2004-07-30 2006-02-16 Microsoft Corp ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
JP2006108903A (ja) * 2004-10-01 2006-04-20 Hiromi Fukaya 暗号化データ配布方法、暗号化装置、復号化装置、暗号化プログラム及び復号化プログラム
JP2010534451A (ja) * 2007-07-23 2010-11-04 インタートラスト テクノロジーズ コーポレイション テザード装置システム及び方法

Also Published As

Publication number Publication date
NO334468B1 (no) 2014-03-10
JP4598375B2 (ja) 2010-12-15
EP1376305A3 (en) 2004-12-29
EP1376305A2 (en) 2004-01-02
EP1376305B1 (en) 2011-05-04
NO20032947L (no) 2003-12-29
US20040003271A1 (en) 2004-01-01
NO20032947D0 (no) 2003-06-26
US7152243B2 (en) 2006-12-19
ATE508421T1 (de) 2011-05-15
DK1376305T3 (da) 2011-07-18
DE60336961D1 (de) 2011-06-16

Similar Documents

Publication Publication Date Title
JP4598375B2 (ja) デジタル化権管理(drm)システムで使用するための安全なハードウェア識別子(hwid)を提供すること
EP1477879B1 (en) Tying a digital license to a user and tying the user to multiple computing devices in a digital rights management (DRM) system
US6327652B1 (en) Loading and identifying a digital rights management operating system
TWI242704B (en) Secure video card in computing device having digital rights management (DRM) system
US7194092B1 (en) Key-based secure storage
US8738536B2 (en) Licensing content for use on portable device
US6330670B1 (en) Digital rights management operating system
US6820063B1 (en) Controlling access to content based on certificates and access predicates
JP4615832B2 (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
US7225333B2 (en) Secure processor architecture for use with a digital rights management (DRM) system on a computing device
JP4799038B2 (ja) コンピューティングデバイスなどのネットワーク内における保護されたデジタルコンテンツのレンダリング
JP4425579B2 (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
EP1453241A1 (en) Revocation of a certificate in a digital rights management system based on a revocation list from a delegated revocation authority
US7152245B2 (en) Installation of black box for trusted component for digital rights management (DRM) on computing device
JP2003330560A (ja) デジタル権利管理(drm)システムを使用するソフトウェアアプリケーションの保護のための方法および媒体
US20050060549A1 (en) Controlling access to content based on certificates and access predicates
US20060015860A1 (en) System and method for storing attributes in a file for processing an operating system
US7568102B2 (en) System and method for authorizing the use of stored information in an operating system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060516

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091124

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100224

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100917

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100924

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131001

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees