JP4615832B2 - 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法 - Google Patents

対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法 Download PDF

Info

Publication number
JP4615832B2
JP4615832B2 JP2003112235A JP2003112235A JP4615832B2 JP 4615832 B2 JP4615832 B2 JP 4615832B2 JP 2003112235 A JP2003112235 A JP 2003112235A JP 2003112235 A JP2003112235 A JP 2003112235A JP 4615832 B2 JP4615832 B2 JP 4615832B2
Authority
JP
Japan
Prior art keywords
secret
content
license
key
storage medium
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.)
Expired - Fee Related
Application number
JP2003112235A
Other languages
English (en)
Other versions
JP2004040772A (ja
Inventor
パークス エム.ジャイ
ペイナード マーカス
フレドリック ヘリン ヨーナス
ピー.ストロム クリフォード
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 JP2004040772A publication Critical patent/JP2004040772A/ja
Application granted granted Critical
Publication of JP4615832B2 publication Critical patent/JP4615832B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00094Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers
    • G11B20/00115Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised record carriers wherein the record carrier stores a unique medium identifier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00246Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a local device, e.g. device key initially stored by the player or by the recorder
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00253Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier
    • G11B20/00362Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is stored on the record carrier the key being obtained from a media key block [MKB]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/00847Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction is defined by a licence file
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • G11B20/00862Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server wherein the remote server can grant the permission to use a content
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/101Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • General Physics & Mathematics (AREA)
  • Technology Law (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、デジタルコンテンツにおける権利を行使するためのアーキテクチャに関する。より詳細には、本発明は、デジタルコンテンツのユーザによって獲得されたライセンス権利によって指定されたパラメータに従ってのみ暗号化されたデジタルコンテンツへのアクセスを許すそのような行使アーキテクチャに関する。さらにより詳細には、本発明は、限られた暗号解読能力および通信能力を有する比較的小さく、および/または単純なデバイスのためのアーキテクチャに関する。
【0002】
本出願は、1999年4月12日に出願した「ENFORCEMENT ARCHITECTURE AND METHOD FOR DIGITAL RIGHTS MANAGEMENT」という名称の米国特許出願番号09/290,363、および1999年3月27日に出願した「ENFORCEMENT ARCHITECTURE AND METHOD FOR DIGITAL RIGHTS MANAGEMENT」という名称の米国特許仮出願番号60/126,614に関連する。
【0003】
【従来の技術】
デジタル権利の管理および行使は、デジタルコンテンツがユーザに配布されるデジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツに関連して極めて望ましい。配布の通常の様式には、磁気(フロッピー(登録商標))ディスク、磁気テープ、光(コンパクト)ディスク(CD)などの有形のデバイス、ならびに電子掲示板、電子ネットワーク、インターネットなどの無形の媒体が含まれる。ユーザが受け取ると、ユーザは、パーソナルコンピュータ上のメディアプレーヤなどの適切なレンダリングデバイスの助けを借りてデジタルコンテンツをレンダリングする、つまり「再生」する。
【0004】
通常、作成者、発行者、放送業者などのコンテンツ所有者または権利所有者(以降、「コンテンツ所有者」)は、ライセンス料または何らかの他の対価と引換えにユーザまたは受け手にデジタルコンテンツを配布することを望む。コンテンツ所有者は、選択が与えられるのであれば、ユーザが、配布されたデジタルコンテンツに対して何を行うことができるかを制限することを望む可能性が高い。例えば、コンテンツ所有者は、ユーザが、少なくとも第2のユーザからのライセンス料をコンテンツ所有者に与えないような仕方でコンテンツをコピーして第2のユーザに再配布することを禁止することを望む。
【0005】
さらに、コンテンツ所有者は、ユーザに実際に購入されたあらゆるタイプのライセンスの条項を守らせながら、異なるライセンス料で異なるタイプの使用ラインセンスを購入する柔軟性をユーザに提供することを望む可能性がある。例えば、コンテンツ所有者は、配布されたデジタルコンテンツが、限られた回数だけ、ある合計時間だけ、あるタイプのマシン上でだけ、あるタイプのメディアプレーヤ上でだけ、あるタイプのユーザによってだけ再生されるのを許すことを望む可能性がある。
【0006】
しかし、配布が行われた後、コンテンツ所有者は、デジタルコンテンツに対してほとんど規制を有さない。このことは、実質的にすべての新しいパーソナルコンピュータまたは最新のパーソナルコンピュータが、デジタルコンテンツの正確なデジタルコピーを作成し、正確なデジタルコピーを書込み可能な磁気ディスクまたは光ディスクにダウンロードする、または正確なデジタルコピーをインターネットなどのネットワークを介して任意の宛先に送信するのに必要なソフトウェアおよびハードウェアを含むことに鑑みて特に問題である。
【0007】
もちろん、ライセンス料が得られた正当な取引の一環として、コンテンツ所有者は、デジタルコンテンツのユーザが、デジタルコンテンツを再配布しないことを約束することを要求することができる。しかし、そのような約束は、簡単に結ばれて簡単に破られる。コンテンツ所有者は、通常、暗号化および暗号解読が関わるいくつかの周知のセキュリティデバイスの任意のものを介してそのような再配布を防止しようと試みることができる。しかし、ある程度、決心したユーザが、暗号化されたデジタルコンテンツを解読し、デジタルコンテンツを暗号化されていない形態で保存した後、そのコンテンツを再配布することを防止するものはほとんど存在しない。
【0008】
したがって、規制が柔軟であり、デジタルコンテンツのコンテンツ所有者によって定義可能である、任意の形態のデジタルコンテンツの規制されたレンダリングまたは再生を可能にする行使アーキテクチャおよび行使方法を提供する必要性が存在する。また、レンダリング環境が行使アーキテクチャの少なくとも一部分を含む、パーソナルコンピュータなどのコンピューティングデバイス上で規制されたレンダリング環境を提供する必要性も存在する。レンダリング環境は、デジタルコンテンツが、コンテンツ所有者の規制下にないコンピューティングデバイス上でレンダリングされるにしても、コンテンツ所有者によって指定された通りにしかレンダリングされることを許さない。
【0009】
さらに、信頼される構成要素が、コンテンツ所有者によって許可されていない仕方でデジタルコンテンツにアクセスしようとするコンピューティングデバイスのユーザによる試みにさえ抗して、あるデジタルコンテンツに関連してコンピューティングデバイス上でコンテンツ所有者の権利を行使する、コンピューティングデバイス上で実行される信頼される構成要素の必要性が存在する。単に一例として、信頼されるソフトウェア構成要素は、コンピューティングデバイスのユーザが、デジタルコンテンツのコンテンツ所有者によって許可されている形を除き、デジタルコンテンツのコピーを作成するのを防止する。
【0010】
最後に、デジタル権利管理アーキテクチャを比較的小さく、および/または単純なデバイスにも適用することを可能にする方法およびメカニズムの必要性が存在する。より詳細には、比較的小さいデバイス上のコンテンツに関して、コンテンツがレンダリングされるデバイスが比較的小さく、および/または単純であり、非対称鍵暗号解読を行うことやネットワーク接続を介して遠隔のエンティティと通信することなどの比較的複雑な機能を有していなくても、暗号化およびデータ保護を可能にするバージョンのデジタル権利管理アーキテクチャの必要性が存在する。より詳細には、非対称鍵暗号解読を行う必要がなく、Web接続またはネットワーク接続を要さない、DRMアーキテクチャを比較的小さく、および/または単純なデバイスにも適用するメカニズムおよび方法の必要性が存在する。
【0011】
【特許文献1】
米国特許出願公開第2002/0013772号明細書
【特許文献2】
特開2003−101526号公報
【0012】
【発明が解決しようとする課題】
本発明の目的は、上記の必要性を充足することのできる方法を提供することである。
【0013】
【課題を解決するための手段】
前述した必要性は、アーキテクチャおよび方法が、インターネット、光ディスクなどの媒体上で利用可能な保護された(セキュアな)デジタルコンテンツにおける権利を行使する、デジタル権利管理のための行使アーキテクチャおよび行使方法によって少なくともある程度、満たされる。コンテンツを供与するため、このアーキテクチャは、インターネットなどを介して暗号化された形態でデジタルコンテンツがアクセス可能であるコンテンツサーバを含む。また、コンテンツサーバは、光ディスク等の上に記録するために暗号化されたデジタルコンテンツを供給することも可能であり、暗号化されたデジタルコンテンツを光ディスク自体の上で配布することができる。コンテンツサーバにおいて、デジタルコンテンツは、暗号化鍵を使用して暗号化され、デジタルコンテンツをユーザのコンピューティングデバイスまたはクライアントマシンにおいてデジタルライセンスと結び付ける(bind)のに公開鍵/秘密鍵技術が使用される。
【0014】
ユーザが、コンピューティングデバイス上でデジタルコンテンツをレンダリングしようと試みたとき、レンダリングアプリケーションが、ユーザのコンピューティングデバイス上でデジタル権利管理(DRM)システムを起動する。ユーザが、初めてそのデジタルコンテンツをレンダリングしようと試みている場合、DRMシステムは、求めている仕方でデジタルコンテンツをレンダリングするライセンスを獲得するようライセンスサーバにユーザを導くか、またはユーザ側でアクションを全く必要とすることなくライセンスサーバからライセンスをトランスペアレントに獲得する。ライセンスは、以下のものを含む。
【0015】
−暗号化されたデジタルコンテンツを解読する暗号解読鍵(KD)、
−記述がデジタル可読形態である場合、ライセンスによって与えられる権利(再生、コピー等)、および関連する条件(開始日、失効日、再生の回数等)の記述、および
−ライセンスの完全性を保証するデジタル署名。
【0016】
ユーザが、ライセンスサーバからそのようなライセンスを獲得することなしに暗号化されたデジタルコンテンツを解読してレンダリングすることができてはならない。獲得されたライセンスはユーザのコンピューティングデバイス内のライセンスストアに格納される。
【0017】
重要なことには、ライセンスサーバは、「信頼される(trusted)」(すなわち、自らを認証することができる)DRMシステムだけにライセンスを発行する。「信頼」を実装するため、DRMシステムは、DRMシステムのために暗号解読機能および暗号化機能を行う「ブラックボックス」を備えている。ブラックボックスは、公開鍵/秘密鍵ペア、バージョン番号、および固有署名を含み、以上すべてが、承認された認証機関によって提供されるものである。公開鍵は、発行されるライセンスの部分を暗号化し、これにより、ライセンスをブラックボックスに結び付ける(bind)目的でライセンスサーバに供与される。秘密鍵は、対応する公開鍵を使用して暗号化された情報を解読する目的で、ブラックボックスにだけ利用可能であり、ユーザまたは他の何人にも利用可能ではない。DRMシステムは、最初、公開鍵/秘密鍵ペアを有するブラックボックスを備え、ユーザは、ライセンスを最初に要求したとき、ブラックボックスサーバから更新されたセキュアなブラックボックスをダウンロードするように促される。ブラックボックスサーバは、固有の公開鍵/秘密鍵ペアとともに更新されたブラックボックスを提供する。更新されたブラックボックスは、ユーザのコンピューティングデバイス上でだけ実行される固有の実行可能コードで書かれ、定期的に再更新される。
【0018】
ユーザが、ライセンスを要求したとき、クライアントマシンは、ブラックボックスの公開鍵、バージョン番号、および署名をライセンスサーバに送り、ライセンスサーバは、バージョン番号が最新であり、署名が有効である場合にだけ、ライセンスを発行する。また、ライセンス要求は、行われたライセンスの要求が関係するデジタルコンテンツの識別、および要求されたデジタルコンテンツに関連する暗号解読鍵を特定する鍵IDも含む。ライセンスサーバは、ブラックボックス公開鍵を使用して暗号解読鍵を暗号化し、暗号解読鍵を使用してライセンス条項を暗号化した後、暗号化された暗号解読鍵および暗号化されたライセンス条項をライセンス署名とともにユーザのコンピューティングデバイスにダウンロードする。
【0019】
ダウンロードされたライセンスが、DRMシステムライセンスストアの中に記憶されると、ユーザは、ライセンスによって与えられ、ライセンス条項によって指定された権利に従ってデジタルコンテンツをレンダリングすることができる。デジタルコンテンツをレンダリングする要求が行われたとき、ブラックボックスが、暗号解読鍵およびライセンス条項を解読するようにさせられ、またDRMシステムライセンスイバリュエータ(evaluator)が、ライセンス条項を評価する。ブラックボックスは、ライセンス評価により、要求者が、コンテンツを再生することが許されているという判定がもたらされる場合にだけ暗号化されたデジタルコンテンツを解読する。解読されたコンテンツが、レンダリングのためにレンダリングアプリケーションに提供される。
【0020】
本発明の一実施形態では、複数のデバイスのそれぞれが、事前選択されたインデックス値を有するデバイス鍵(DK)を有する。各デバイスは、記憶媒体を受け取るようになっているか、または記憶媒体を有する。記憶媒体には、秘密に従って保護されたデジタルコンテンツ、および複数のエントリを有するテーブルが記憶されている。各エントリは、複数のデバイスの1つのデバイス鍵(DK)、およびインデックス値で暗号解読可能な鍵に従って暗号化された秘密を含む。
【0021】
デバイスが媒体上のコンテンツをレンダリングするには、デバイスは、その媒体からテーブルを獲得し、デバイスのデバイス鍵(DK)、およびそのデバイス鍵(DK)のインデックス値を獲得し、獲得されたインデックス値に基づいてテーブルのエントリを指し示し(index into)、指し示されたエントリから暗号化された秘密を選択し、獲得されたデバイス鍵(DK)を選択された暗号化された秘密に適用してその秘密を露見させ、露見された秘密を適用してコンテンツをレンダリングする。
【0022】
記憶媒体は、自らのIDを含む。ホストコンピュータが媒体にテーブルを提供するには、ホストコンピュータは、キャッシュからテーブルを獲得し、媒体から媒体のIDを獲得し、媒体の獲得されたIDを獲得されたテーブルに付加し、デバイス鍵(DK)、およびデバイス鍵のインデックス値を使用して獲得されたテーブルにおいて対応するエントリを見出して、テーブルの秘密を露見させ、媒体のID、および露見された秘密でテーブルを媒体に結び付け(tie)、結び付けられたテーブルを媒体にコピーする。
【0023】
提供されたテーブルは、第N番のテーブルである。ホストコンピュータが、媒体上の提供された第N番のテーブルと置き換わる第(N+1)番の更新されたテーブルを媒体に提供するには、ホストコンピュータは、第(N+1)番の秘密を有する第(N+1)番のテーブル64をキャッシュから獲得し、媒体から媒体のIDを獲得し、媒体の獲得されたIDを第(N+1)番のテーブルに付加し、第(N+1)番のテーブルから第(N+1)番の秘密を獲得し、媒体上の第N番のテーブルから第N番の秘密を、また存在する場合、第N番のテーブルにおいて前の秘密のデイジーチェーン(daisy chain)を獲得する。デイジーチェーンの中のそれぞれの前の秘密は、直後の秘密に従って暗号化されて一続きのリンクを形成している。次に、ホストコンピュータは、獲得されたデイジーチェーンを拡張して、第(N+1)番の秘密に従って暗号化された第N番の秘密をデイジーチェーンの中の別のリンクとして追加し、拡張されたデイジーチェーンを第(N+1)番のテーブルに付加し、無効にされたデバイス鍵(DK)に関する古い秘密を含むように第(N+1)番のテーブルを調整し、各エントリにバージョン番号を割り当て、媒体のID、および獲得された第(N+1)番の秘密で第(N+1)番のテーブルを媒体に結び付け、媒体上の第N番のテーブルに置き換わるように調整された第(N+1)番のテーブルを媒体にコピーする。
【0024】
ホストコンピュータが、媒体上のテーブルの現行の秘密に従って媒体上にデジタルコンテンツを記憶するには、ホストコンピュータは、媒体からIDを獲得し、テーブルから現行の秘密を獲得し、獲得された現行の秘密、および獲得されたIDを所定の関数に適用して最終の秘密を生成し、媒体上に記憶されるべきコンテンツを最終の秘密に従って保護し、これにより、媒体のIDでコンテンツを媒体に結び付け、保護されたコンテンツを媒体にコピーする。
【0025】
以上の概要、および本発明の実施形態の以下の詳細な説明は、添付の図面と併せて読まれるとき、よりよく理解される。本発明を例示するため、図面には、現在、好ましいとされる実施形態を示している。ただし、理解されるべきこととして、本発明は、図示した構成および手段(instrumentalities)には限定されない。
【0026】
【発明の実施の形態】
同様の符号が、すべての図面にわたって同様の要素を指すように使用される図面を詳細に参照すると、図1に、本発明の一実施形態による行使アーキテクチャ10が示されている。全体として、行使アーキテクチャ10により、デジタルコンテンツ12の所有者が、デジタルコンテンツ12がユーザのコンピューティングデバイス14上でレンダリングされることが許されるには、まず満たされなければならないライセンス規則を指定することが可能になる。ライセンス規則は、ユーザ/ユーザのコンピューティングデバイス14(以降、状況により別段、必要とされない限り、これらの用語は区別しない)が、コンテンツ所有者、またはコンテンツ所有者の代理業者から獲得しなければならないデジタルライセンス16の中で実現される。デジタルコンテンツ12は、暗号化された形態で配布され、無料で広汎に配布されることが可能である。好ましくは、デジタルコンテンツ12を解読するための暗号解読鍵(KD)が、ライセンス16に含められる。
【0027】
コンピュータ環境
図12、および以下の考察は、本発明および/または本発明の部分を実施することができる適切なコンピューティング環境の簡単な一般的説明を提供するものとする。必須ではないが、本発明は、サーバ上のクライアントワークステーションなどのコンピュータによって実行される、プログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈(context)で説明する。一般に、プログラムモジュールには、特定のタスクを行う、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造等が含まれる。さらに、本発明、および/または本発明の部分は、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースの家庭用電化製品またはプログラマブル家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ等を含め、他のコンピュータシステム構成で実施してもよいことを理解されたい。また、本発明は、タスクが、通信網を介してリンクされた遠隔処理デバイスによって行われる分散コンピューティング環境において実施してもよい。分散コンピューティング環境では、プログラムモジュールが、ローカルのメモリ記憶デバイスと遠隔の記憶デバイスの両方の中に配置されることが可能である。
【0028】
図12に示す通り、例としての汎用コンピューティングシステムには、処理ユニット121、システムメモリ122、およびシステムメモリから処理ユニット121までを含む様々なシステム構成要素を結合するシステムバス123を含む、従来のパーソナルコンピュータ120等が含まれる。システムバス123は、様々なバスアーキテクチャの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造の任意のものであることが可能である。システムメモリは、読取り専用メモリ(ROM)124、およびランダムアクセスメモリ(RAM)125を含む。始動中などに、パーソナルコンピュータ120内部の要素間で情報を転送するのを助ける基本ルーチンを含む基本入力/出力システム126(BIOS)が、ROM124の中に記憶される。
【0029】
パーソナルコンピュータ120は、ハードディスク(図示せず)に対して読取りおよび書込みを行うためのハードディスクドライブ127、取外し可能な磁気ディスク129に対して読取りおよび書込みを行うための磁気ディスクドライブ128、およびCD−ROM、または他の光媒体などの取外し可能な光ディスク131に対して読取りおよび書込みを行うための光ディスクドライブ130をさらに含むことが可能である。ハードディスクドライブ127、磁気ディスクドライブ128、および光ディスクドライブ130は、それぞれ、ハードディスクドライブインターフェース132、磁気ディスクドライブインターフェース133、および光ドライブインターフェース134でシステムバス123に接続される。以上のドライブ、および関連するコンピュータ可読媒体により、コンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの不揮発性ストレージがパーソナルコンピュータ20に提供される。
【0030】
本明細書で説明する例としての実施形態は、ハードディスク、取外し可能な磁気ディスク129、および取外し可能な光ディスク131を使用するが、コンピュータがアクセスすることが可能なデータを記憶することができる他のタイプのコンピュータ可読媒体も、例としての動作環境において使用できることを理解されたい。そのような他のタイプの媒体には、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)等が含まれる。
【0031】
オペレーティングシステム135、1つまたは複数のアプリケーションプログラム136、その他のプログラムモジュール137、およびプログラムデータ138を含め、いくつかのプログラムモジュールをハードディスク、磁気ディスク129、光ディスク131、ROM124、またはRAM125に記憶することができる。ユーザは、キーボード140やポインティングデバイス142などの入力デバイスを介してパーソナルコンピュータ120にコマンドおよび情報を入力することができる。他の入力デバイス(図示せず)には、マイクロホン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナ等が含まれることが可能である。以上の入力デバイス、およびその他の入力デバイスは、しばしば、システムバスに結合されたシリアルポートインターフェース146を介して処理ユニット121に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(universal serial bus)(USB)などの他のインターフェースで接続してもよい。また、モニタ147、または他のタイプの表示デバイスも、ビデオアダプタ148などのインターフェースを介してシステムバス123に接続される。モニタ147に加えて、パーソナルコンピュータは、通常、スピーカやプリンタなどの他の周辺出力デバイス(図示せず)も含む。また、図12の例としてのシステムは、ホストアダプタ155、スモールコンピュータシステムインターフェース(Small Computer System Interface)(SCSI)バス156、およびSCSIバス156に接続された外部記憶デバイス162も含む。
【0032】
パーソナルコンピュータ120は、遠隔コンピュータ149のような1つまたは複数の遠隔コンピュータに対する論理接続を使用するネットワーク化された環境において動作することが可能である。遠隔コンピュータ149は、別のパーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、または他の一般的なネットワークノードであることが可能であり、通常、パーソナルコンピュータ120に関連して前述した要素の多く、またはすべてを含むが、図12では、メモリ記憶デバイス150だけを示している。図12に描いた論理接続は、ローカルエリアネットワーク(LAN)151、およびワイドエリアネットワーク(WAN)152を含む。そのようなネットワーキング環境は、オフィス、企業全体のコンピュータ網、イントラネット、およびインターネットで一般的である。
【0033】
LANネットワーキング環境で使用されるとき、パーソナルコンピュータ120は、ネットワークインターフェース、またはネットワークアダプタ153を介してLAN151に接続される。WANネットワーキング環境で使用されるとき、パーソナルコンピュータ120は、通常、インターネットなどのワイドエリアネットワーク152を介して通信を確立するためのモデム154、または他の手段を含む。内部にあることも、外部にあることも可能なモデム154は、シリアルポートインターフェース146を介してシステムバス123に接続される。ネットワーク化された環境では、パーソナルコンピュータ120に関連して描いたプログラムモジュール、またはプログラムモジュールの部分が、遠隔メモリ記憶デバイスの中に記憶されることが可能である。図示したネットワーク接続は、例としてのものであり、コンピュータ間で通信リンクを確立する他の手段も使用できることが理解されよう。
【0034】
アーキテクチャ
図1を再び参照すると、本発明の一実施形態では、アーキテクチャ10が、オーサリングツール(authoring tool)18、コンテンツ−鍵データベース20、コンテンツサーバ22、ライセンスサーバ24、およびブラックボックスサーバ26、ならびに前述したユーザのコンピューティングデバイス14を含む。
【0035】
アーキテクチャ−オーサリングツール18
オーサリングツール18は、デジタルコンテンツ12をパッケージ化して、本発明のアーキテクチャ10に関連して使用するのに適した形態にするためにコンテンツ所有者によって使用される。詳細には、コンテンツ所有者が、デジタルコンテンツ12、デジタルコンテンツ12に付随すべき命令および/または規則、およびデジタルコンテンツ12がどのようにパッケージ化されるべきかに関する命令および/または規則をオーサリングツール18に提供する。次に、オーサリングツール18が、暗号化/暗号解読鍵、およびデジタルコンテンツ12に付随する命令および/または規則に従ってデジタルコンテンツ12が暗号化されたデジタルコンテンツパッケージ12pを生成する。
【0036】
本発明の一実施形態では、オーサリングツール18は、異なる暗号化/暗号解読鍵に従って暗号化された同一のデジタルコンテンツ12をそれぞれが有するいくつかの異なるデジタルコンテンツ12パッケージ12pを連続的に生成するように命令される。理解されるべきこととして、同一のデジタルコンテンツ12を有するいくつかの異なるパッケージ12pを有することは、パッケージ12p/コンテンツ12(以降、別段、必要とされない限り、単に「デジタルコンテンツ12」)の配布を追跡するのに役立つ可能性がある。そのような配布追跡は、通常、必要ないが、デジタルコンテンツ12が違法に販売された、または放送された場合、調査機関によって使用されることが可能である。
【0037】
本発明の一実施形態では、デジタルコンテンツ12を暗号化する暗号化/暗号解読鍵は、暗号化鍵が暗号解読鍵(KD)でもあることで、対称鍵である。以下により詳細に述べる通り、暗号解読鍵(KD)は、デジタルコンテンツ12に関するライセンス16の一部として隠された形態でユーザのコンピューティングデバイス14に送られる。好ましくは、各デジタルコンテンツ12は、コンテンツIDを備え(または各パッケージ12pが、パッケージIDを備え)、各暗号解読鍵(KD)が、鍵IDを有し、またオーサリングツール18により、各デジタルコンテンツ12(または各パッケージ12p)に関する暗号解読鍵(KD)、鍵ID、およびコンテンツID(またはパッケージID)が、コンテンツ−鍵データベース20の中に記憶させられる。さらに、デジタルコンテンツ12に関して発行されるライセンス16のタイプに関するライセンスデータ、および各タイプのライセンス16に関する条項および条件が、コンテンツ−鍵データベース20、あるいは別のデータベース(図示せず)の中に記憶されることが可能である。好ましくは、ライセンスデータは、状況、および市場の条件によって必要となるに応じて、コンテンツ所有者によって変更されることが可能である。
【0038】
使用時に、オーサリングツール18には、とりわけ、以下を含む情報が供給される。
【0039】
−パッケージ化されるべきデジタルコンテンツ12、
−透かし入れ(watermarking)、および/または指紋入れ(fingerprinting)が使用される場合、透かし入れ、および/または指紋入れのタイプおよびパラメータ、
−データ圧縮が使用される場合、データ圧縮のタイプおよびパラメータ、
−使用される暗号化のタイプおよびパラメータ、
−シリアル化(serialization)が使用される場合、シリアル化のタイプおよびパラメータ、および
−デジタルコンテンツ12に付随すべき命令および/または規則。
【0040】
周知の通り、透かしは、識別子としてデジタルコンテンツ12に追加される、隠されたコンピュータ可読の信号である。指紋は、各インスタンスに関して異なる透かしである。理解されるべきこととして、インスタンスは、固有であるデジタルコンテンツ12のバージョンである。任意のインスタンスの複数のコピーを作成することができ、またあらゆるコピーは、特定のインスタンスのものである。デジタルコンテンツの特定のインスタンスが違法に販売された、または放送されたとき、調査機関が、場合により、デジタルコンテンツ12に追加された透かし/指紋に従って容疑者を特定することが可能である。
【0041】
データ圧縮は、本発明の趣旨および範囲を逸脱することなく、任意の適切な圧縮アルゴリズムに従って行われることが可能である。例えば、.mp3圧縮アルゴリズム、または.wav圧縮アルゴリズムを使用することができる。もちろん、デジタルコンテンツ12が、既に圧縮された状態にあることも可能であり、その場合、さらなる圧縮は必要ない。
【0042】
デジタルコンテンツ12に付随すべき命令および/または規則には、本発明の趣旨および範囲を逸脱することなく、実質的にあらゆる適切な命令、規則、または他の情報が含まれることが可能である。以下に述べる通り、付随する命令/規則/情報は、主に、デジタルコンテンツ12をレンダリングするライセンス16を獲得するためにユーザ、およびユーザのコンピューティングデバイス14によって使用される。したがって、付随する命令/規則/情報には、以下により詳細に説明する通り、適切にフォーマットされたライセンス獲得スクリプト等が含まれることが可能である。追加として、または別法として、付随する命令/規則/情報には、ユーザにデジタルコンテンツ12のプレビューを提供するように設計された「プレビュー」情報が含まれることが可能である。
【0043】
供給された情報を使用して、オーサリングツール18は、デジタルコンテンツ12に対応する1つまたは複数のパッケージ12pを生成する。次に、各パッケージ12pを世界に配布するためにコンテンツサーバ22上に記憶することができる。
【0044】
本発明の一実施形態では、図2を参照すると、オーサリングツール18は、指定し、操作することが可能な入力パラメータを受け取る動的オーサリングツール18である。したがって、オーサリングツール18は、複数のデジタルコンテンツ12に関して複数の変種のパッケージ12pを迅速に生成することができる。好ましくは、入力パラメータは、図示する通り、情報28の形態で実現され、辞書28は、以下のようなパラメータを含む。
【0045】
−デジタルコンテンツ12を有する入力ファイル29aの名前、
−行われるべき符号化のタイプ、
−使用されるべき暗号化/暗号解読鍵(KD)、
−デジタルコンテンツ12とともにパッケージ12pの中にパッケージ化されるべき付随する命令/規則/情報(「ヘッダ情報」)、
−行われるべき多重化(muxing)のタイプ、および
−デジタルコンテンツ12に基づいてパッケージ12pが書き込まれるべき出力ファイル29bの名前。
【0046】
理解されるべきこととして、辞書28は、オーサリングツール18のオペレータ(人間またはマシン)によって容易かつ迅速に変更可能であり、したがって、オーサリングツール18によって行われるオーサリングのタイプも同様に、動的な仕方で容易かつ迅速に変更可能である。本発明の一実施形態では、オーサリングツール18は、人間のオペレータに対してコンピュータスクリーン上で表示可能なオペレータインターフェース(図示せず)を含む。したがって、オペレータは、そのインターフェースを使用して辞書28を変更することができ、またさらに、そのインターフェースを使用して辞書28を変更する際に適切な支援および/または制限を受けることが可能である。
【0047】
オーサリングツール18内部で、図2に見られる通り、ソースフィルタ18aが、デジタルコンテンツ12を有する入力ファイル29aを辞書28から受け取り、その入力ファイルからデジタルコンテンツ12を取得して、デジタルコンテンツ12をRAMなどのメモリ29cの中に入れる。次に、符号化フィルタ18bが、メモリ29cの中のデジタルコンテンツ12に対して符号化を行い、辞書28の中で指定される符号化のタイプに従ってファイルを入力形式から出力形式に(すなわち、.wavから.aspに、.mp3から.aspになど)転換し、符号化されたデジタルコンテンツ12をメモリ29cの中に入れる。図示する通り、パッケージ化されるべきデジタルコンテンツ(例えば、音楽)が、.wav形式または.mp3形式などの圧縮された形式で受け取られ、.asp(アクティブストリーミングプロトコル(active streaming protocol))形式などの形式に変換される。もちろん、本発明の趣旨および範囲を逸脱することなく、他の入力形式および出力形式を使用することができる。
【0048】
その後、暗号化フィルタ18cが、辞書28の中で指定された暗号化/暗号解読鍵(KD)に従ってメモリ29cの中の符号化されたデジタルコンテンツ12を暗号化し、暗号化されたデジタルコンテンツ12をメモリ29cの中に入れる。次に、ヘッダフィルタ18dが、辞書28の中で指定されたヘッダ情報をメモリ29cの中の暗号化されたデジタルコンテンツ12に追加する。
【0049】
理解されるべきこととして、状況に応じて、パッケージ12pは、複数のストリームが多重化された(すなわち、「mux処理」された)時間的に揃えられたデジタルコンテンツ12の複数のストリーム(図2では、1つのストリームを示している)を含むことが可能である。したがって、多重化フィルタ(mux filter)18eが、辞書28の中で指定された多重化のタイプに従ってメモリ29cの中のヘッダ情報および暗号化されたデジタルコンテンツ12に対して多重化を行い、その結果をメモリ29cの中に入れる。次に、ファイルライタフィルタ(file writer filter)18fが、その結果をメモリ29cから取得し、辞書28の中で指定された出力ファイル29bにその結果をパッケージ12pとして書き込む。
【0050】
ある状況では、行われるべき符号化のタイプは、通常、変化しないことに留意されたい。多重化のタイプは、通常、符号化のタイプに基づくので、同様に、多重化のタイプも、変化しないことが通例である。実際に変化しない場合、辞書28は、符号化のタイプおよび/または多重化のタイプに関するパラメータを含む必要がない。実際、符号化のタイプが、符号化フィルタの中に「配線によって組まれ(hardwired)」、かつ/または多重化のタイプが、多重化フィルタの中に「配線によって組まれる」だけでよい。もちろん、本発明の趣旨および範囲を逸脱することなく、状況によって必要とされるのに応じて、オーサリングツール18は、前述したフィルタのすべてを含むこと、または他のフィルタを含むことが可能であり、またあらゆる含まれるフィルタが、配線によって組まれる、または辞書28の中で指定されたパラメータに従って機能を行うことが可能である。
【0051】
好ましくは、オーサリングツール18は、適切なソフトウェアを使用して適切なコンピュータ上、プロセッサ上、または他のコンピューティングマシン上に実装される。そのようなマシン、およびそのようなソフトウェアの構造および動作は、本明細書の開示に基づいて明白であるはずであり、したがって、本開示において詳述することは必要ない。
【0052】
アーキテクチャ−コンテンツサーバ22
図1を再び参照すると、本発明の一実施形態では、コンテンツサーバ22が、オーサリングツール18によって生成されたパッケージ12pを配信するか、または別の形で取得のために供与する。パッケージ12pは、本発明の趣旨および範囲を逸脱することなく、コンテンツサーバ22が要求するのに応じて任意の適切な配信チャネルを使用して配信されることが可能である。例えば、配信チャネルは、インターネットまたは別のネットワーク、電子掲示板、電子メール等であることが可能である。コンテンツサーバ22を使用してパッケージ12pを磁気ディスク、または光ディスク、あるいはその他の記憶デバイスにコピーすることができ、次に、記憶デバイスを配布することができる。
【0053】
コンテンツサーバ22は、信頼問題またはセキュリティ問題を顧慮せずにパッケージ12pを配信することが認められよう。以下で述べる通り、そのような問題は、ライセンスサーバ24、およびライセンスサーバ24とユーザの記憶デバイス14の間の関係に関連して対処される。本発明の一実施形態では、コンテンツサーバ22は、デジタルコンテンツ12を要求するあらゆる配信先(distributee)にデジタルコンテンツ12を有するパケット12pを自由にリリースし、配信する。ただし、コンテンツサーバ22は、配信に先立って所定の配信料の支払いをまず要求する、あるいは配信先が自らを認証することを要求する、あるいは実際に、配信先の識別に基づいて配信が行われるべきかどうかを決定することが可能である。
【0054】
さらに、予期されるデマンドを満たすように事前にいくつかの異なるパッケージ12pを生成するようにオーサリングツール18を制御することにより、コンテンツサーバ22を使用してインベントリ(inventory)管理を行うことができる。例えば、サーバは、同一のデジタルコンテンツ12に基づいて100のパッケージを生成し、各パッケージ12pを10回、提供することが可能である。例えば、パッケージ12pの供給が、20まで減少すると、コンテンツサーバ22は、やはり例として、80のさらなるパッケージ12pを生成するようにオーサリングツール18を導くことができる。
【0055】
好ましくは、アーキテクチャ10におけるコンテンツサーバ22は、以下により詳細に説明する通り、ライセンス16を評価し、対応するデジタルコンテンツ12を解読するための暗号解読鍵(KD)を獲得するプロセスの一環として使用される固有の公開鍵/秘密鍵ペア(PU−CS、PR−CS)を有する。周知の通り、公開鍵/秘密鍵ペアは、鍵ペアの鍵の1つで暗号化されたものが、鍵ペアの鍵の他方によってだけ解読することができることで、非対称鍵である。公開鍵/秘密鍵ペア暗号化システムでは、公開鍵は、世界に知らせてもよいが、秘密鍵は、秘密鍵の所有者によって常に秘密に保たれなければならない。したがって、コンテンツサーバ22は、秘密鍵(PR−CS)を使用してデータを暗号化した場合、暗号解読の目的で、公開鍵(PU−CS)とともにその暗号化されたデータを世界に送り出すことができる。したがって、外部デバイスが、コンテンツサーバ22だけがデータを解読することができるようにデータをコンテンツサーバ22に送ることを望む場合、外部デバイスは、まず、そのコンテンツサーバ22の公開鍵(PU−CS)を獲得し、次に、その公開鍵を使用してデータを暗号化しなければならない。したがって、次に、コンテンツサーバ22が(また、コンテンツサーバ22だけが)、その秘密鍵(PR−CS)を使用して暗号化されたデータを解読することができる。
【0056】
オーサリングツール18と同様に、コンテンツサーバ22も、適切なソフトウェアを使用して適切なコンピュータ上、プロセッサ上、またはその他のコンピューティングマシン上で実装される。そのようなマシンおよびそのようなソフトウェアの構造および動作は、本明細書の開示に基づいて明白であるはずであり、したがって、本開示で詳述することは必要ない。本発明の一実施形態では、オーサリングツール18、およびコンテンツサーバ22が、それぞれ別個の作業スペース内で、単一のコンピュータ上、単一のプロセッサ上、または単一の他のコンピューティングマシン上に常駐することが可能である。さらに、コンテンツサーバ22は、ある状況では、前述した通り、オーサリングツール18を含むことが可能であり、かつ/またはオーサリングツール18の機能を行うことが可能であることを認識されたい。
【0057】
デジタルコンテンツパッケージ12pの構造
次に、図3を参照すると、本発明の一実施形態では、コンテンツサーバ22によって配信されるデジタルコンテンツパッケージ12pが、以下のものを含む。
【0058】
−前述した通り、暗号化/暗号解読鍵(KD)を使用して暗号化されたデジタルコンテンツ12(すなわち、(KD(CONTENT)))、
−デジタルコンテンツ12(またはパッケージ12p)のコンテンツID(またはパッケージID)、
−暗号解読鍵(KD)の鍵ID、
−好ましくは、暗号化されていない形態のライセンス獲得情報、および
−コンテンツサーバ22秘密鍵(PR−CS)で署名されたコンテンツサーバ22公開鍵(PU−CS)を暗号化する鍵KD(すなわち、(KD(PU−CS)S(PR−CS)))。
【0059】
(KD(PU−CS)S(PR−CS))に関して、このアイテムは、以下に説明する通り、デジタルコンテンツ12および/またはパッケージ12pを検証することに関連して使用されることを理解されたい。デジタル署名(以下を参照)を有する証明書とは異なり、(KD(PU−CS))を得るのに鍵(PU−CS)は必要ない。代わりに、鍵(PU−CS)は、単に暗号解読鍵を適用することによって獲得される。獲得されると、その鍵(PC−CS)を使用して署名(S(PR−CS))の有効性を試験することができる。
【0060】
また、パッケージ12pがオーサリングツール18によって構成されるには、オーサリングツール18が、想定では、辞書28によって供給されるヘッダ情報として、ライセンス獲得情報、および(KD(PU−CS)S(PR−CS))を既に所有していなければならない。さらに、オーサリングツール18とコンテンツサーバ22が、想定では、(KD(PU−CS)S(PR−CS))を構成するように対話しなければならない。この対話は、例えば、以下のステップを含むことが可能である。
【0061】
−(PU−CS)をオーサリングツール18に送るコンテンツサーバ22、
−(KD)を使用して(PU−CS)を暗号化して(KD(PU−CS))を生成するオーサリングツール18、
−(KD(PU−CS))をコンテンツサーバ22に送るオーサリングツール18、
−(PR−CS)を使用して(KD(PU−CS))に署名して(KD(PU−CS)S(PR−CS))を生成するコンテンツサーバ22、および
−(KD(PU−CS)S(PR−CS))をオーサリングツール18に送るコンテンツサーバ22。
【0062】
アーキテクチャ−ライセンスサーバ24
図1を再び参照すると、本発明の一実施形態では、ライセンスサーバ24が、デジタルコンテンツ12に関連してユーザのコンピューティングデバイス14からライセンス16の要求を受け取る機能、ユーザのコンピューティングデバイス14が、発行されたライセンス16を遵守するものとして信頼できるかどうかを判定する機能、ライセンス16を交渉する機能、ライセンス16を構成する機能、およびライセンス16をユーザのコンピューティングデバイス14に伝送する機能を行う。好ましくは、伝送されるライセンス16は、デジタルコンテンツ12を解読するための暗号解読鍵(KD)を含む。このライセンスサーバ24、および以上の機能を以下により詳細に説明する。好ましくは、コンテンツサーバ22と同様に、アーキテクチャ10におけるライセンスサーバ24は、以下により詳細に説明する通り、ライセンス16を評価し、対応するデジタルコンテンツ12を解読するための暗号解読鍵(KD)を獲得するプロセスの一環として使用される固有の公開鍵/秘密鍵ペア(PU−LS、PR−LS)を有する。
【0063】
オーサリングツール18およびコンテンツサーバ22と同様に、ライセンスサーバ24は、適切なソフトウェアを使用して適切なコンピュータ上、プロセッサ上、または他のコンピューティングマシン上に実装される。そのようなマシンおよびそのようなソフトウェアの構造および動作は、本明細書の開示に基づいて明白であるはずであり、したがって、本開示において詳述するまでもないない。さらに、本発明の一実施形態では、オーサリングツール18および/またはコンテンツサーバ22が、ライセンスサーバ24とともに、それぞれ別個の作業スペース内で、単一のコンピュータ上、単一のプロセッサ上、または単一の他のコンピューティングマシン上に常駐することが可能である。
【0064】
本発明の一実施形態では、ライセンス16の発行に先立って、ライセンスサーバ24とコンテンツサーバ22は、ライセンスサーバ24が、実際に、コンテンツサーバ22によって配信されるデジタルコンテンツ12の少なくとも一部分に関してライセンス機関(licensing authority)となることに合意する代理契約(agency agreement)等を結ぶ。理解されるべきこととして、本発明の趣旨および範囲を逸脱することなく、1つのコンテンツサーバ22が、いくつかのライセンスサーバ24と代理契約等を結ぶことができ、かつ/または1つのライセンスサーバ24が、いくつかのコンテンツサーバ22と代理契約等を結ぶことができる。
【0065】
好ましくは、ライセンスサーバ24は、実際に、自らが、コンテンツサーバ22によって配信されるデジタルコンテンツ12に関するライセンス16を発行する権限を有することを世界に示すことができる。これを行うため、ライセンスサーバ24が、コンテンツサーバ22にライセンスサーバ24公開鍵(PU−LS)を送り、また次に、コンテンツサーバ22が、ライセンスサーバ24に、コンテンツサーバ22秘密鍵で署名されたコンテンツ(CERT(PU−LS)S(PR−CS))としてPU−LSを含むデジタル証明書を送ることが好ましい。理解されるべきこととして、証明書の中のコンテンツ(PU−LS)には、コンテンツサーバ22公開鍵(PU−CS)を使用してだけアクセスすることが可能である。やはり理解されるべきこととして、一般に、基底のデータのデジタル署名は、そのデータの暗号化された形態であり、そのデータが改ざんされている場合、または別の仕方で変更されている場合、そのデータにマッチしない。
【0066】
デジタルコンテンツ12に関連するライセンス機関として、またライセンス機能の一環として、ライセンスサーバ24は、デジタルコンテンツ12に関する暗号解読鍵(KD)へのアクセスを有さなければならない。したがって、ライセンスサーバ24が、デジタルコンテンツ12(またはパッケージ12p)に関する暗号解読鍵(KD)、鍵ID、およびコンテンツID(またはパッケージID)を有するコンテンツ鍵データベース20にアクセスを有することが好ましい。
【0067】
アーキテクチャ−ブラックボックスサーバ26
やはり図1を参照すると、本発明の一実施形態では、ブラックボックスサーバ26が、ユーザのコンピューティングデバイス14における新しいブラックボックス30をインストールする機能、および/またはアップグレードする機能を行う。以下により詳細に説明する通り、ブラックボックス30は、ユーザのコンピューティングデバイス14のために暗号化機能、および暗号解読機能を行う。やはり、以下により詳細に説明する通り、ブラックボックス30は、攻撃に対してセキュアであり、保護されているものとされる。このセキュリティおよび保護は、以下により詳細に説明する通り、少なくともある程度、ブラックボックスサーバ26を使用して、必要に応じて、ブラックボックス30を新しいバージョンにアップグレードすることによって提供される。
【0068】
オーサリングツール18と同様に、コンテンツサーバ22、ライセンスサーバ24、およびブラックボックスサーバ26は、適切なソフトウェアを使用して適切なコンピュータ上、プロセッサ上、または他のコンピューティングマシン上に実装される。そのようなマシンおよびそのようなソフトウェアの構造および動作は、本明細書の開示に基づいて明白であるはずであり、したがって、本開示において詳述することは必要ない。さらに、本発明の一実施形態では、ライセンスサーバ24、オーサリングツール18、および/またはコンテンツサーバ22が、それぞれ別個の作業スペース内で、ブラックボックスサーバ26とともに、単一のコンピュータ上、単一のプロセッサ上、または単一の他のコンピューティングマシン上に常駐することが可能である。ただし、セキュリティ上の目的で、ブラックボックスサーバ26を別個のマシン上に有することが賢明である可能性があることに留意されたい。
【0069】
次に、図4を参照すると、本発明の一実施形態では、ユーザのコンピューティングデバイス14は、キーボード、マウス、スクリーン、プロセッサ、RAM、ROM、ハードドライブ、フロッピー(登録商標)ドライブ、CDプレーヤ、および/または以上に類するものを含む要素を有するパーソナルコンピュータ等である。ただし、ユーザのコンピューティングデバイス14は、本発明の趣旨および範囲を逸脱することなく、とりわけ、テレビジョンまたはモニタなどの専用ビューイング(viewing)デバイス、ステレオプレーヤ、またはその他の音楽プレーヤなどの専用オーディオデバイス、専用プリンタ等であることも可能である。
【0070】
デジタルコンテンツ12のコンテンツ所有者は、ユーザのコンピューティングデバイス14が、コンテンツ所有者自身が指定した規則を遵守すること、すなわち、求める仕方でレンダリングを可能にするライセンス16をユーザが獲得しない限り、デジタルコンテンツ12がレンダリングされないことを信頼しなければならない。したがって、好ましくは、ユーザのコンピューティングデバイス14は、デジタルコンテンツ12に関連し、ユーザによって獲得されるライセンス16で実現されるライセンス規則に従ってでなければ、デジタルコンテンツ12をレンダリングしないことをコンテンツ所有者に確信させることができる信頼される構成要素、または信頼されるメカニズム32を提供しなければならない。
【0071】
この場合、信頼されるメカニズム32は、デジタルコンテンツ12がレンダリングされることをユーザが要求したときにイネーブルにされ、求める仕方でデジタルコンテンツ12をレンダリングするライセンス16をユーザが有するかどうかを判定し、必要な場合、そのライセンス16を獲得することを実行し、ユーザが、デジタルコンテンツ12を再生する権利を有するかどうかをライセンス16に従って判定し、また、ライセンス16に従ってユーザがそのような権利を実際に有する場合、レンダリング目的でデジタルコンテンツ12を解読するデジタル権利管理(DRM)システム32である。ユーザのコンピューティングデバイス14上の、アーキテクチャ10に関連するDRMシステム32の内容および機能を以下に説明する。
【0072】
DRMシステム32
DRMシステム32は、本明細書に開示するアーキテクチャ10を使用して以下の4つの主な機能を行う。すなわち、(1)コンテンツ獲得、(2)ライセンス獲得、(3)コンテンツレンダリング、および(4)ブラックボックス30インストール/更新である。好ましくは、以上の機能の任意のものが、任意の時点で行われることが可能である。ただし、機能のいくつかは、デジタルコンテンツ12が獲得されることを既に必要とすることが認められる。
【0073】
DRMシステム32−コンテンツ獲得
ユーザおよび/またはユーザのコンピューティングデバイス14によるデジタルコンテンツ12の獲得は、通常、比較的簡単なことであり、一般に、暗号化されたデジタルコンテンツ12を有するファイルをユーザのコンピューティングデバイス14上に置くことに関わる。もちろん、本明細書で開示するアーキテクチャ10、およびDRMシステム32で機能するには、暗号化されたデジタルコンテンツ12が、以下に説明する通り、デジタルパケット12pなどの、アーキテクチャ10およびDRMシステム32に適する形態になっていることが必要である。
【0074】
理解されるべきこととして、デジタルコンテンツ12は、本発明の趣旨および範囲を逸脱することなく、直接に、または間接的に、コンテンツサーバ22から任意の仕方で獲得することが可能である。例えば、デジタルコンテンツ12は、インターネットなどのネットワークからダウンロードされること、獲得された光ディスクまたは磁気ディスク等の上に存在すること、電子メール等の一部として受信されること、または電子掲示板等からダウンロードされることが可能である。
【0075】
デジタルコンテンツ12は、獲得されると、好ましくは、コンピューティングデバイス14上で実行されるレンダリングアプリケーション34(以下に説明する)によって、またはDRMシステム32によってアクセス可能であるように記憶される。例えば、デジタルコンテンツ12は、ユーザのコンピューティングデバイス14のハードドライブ(図示せず)上、またはコンピューティングデバイス14がアクセス可能なネットワークサーバ(図示せず)上のファイルとして配置することが可能である。デジタルコンテンツ12が、光ディスク上または磁気ディスク上などで獲得される場合、そのディスクが、ユーザのコンピューティングデバイス14に結合された適切なドライブ(図示せず)の中に存在するだけでよい可能性がある。
【0076】
本発明では、直接の配布ソースとしてのコンテンツサーバ22からも、間接の配布ソースとしての何らかの仲介役からも、デジタルコンテンツ12を獲得するのに特別なツールが必要であることを全く想定していない。つまり、デジタルコンテンツ12が、他のあらゆるデータファイルと同様に容易に獲得されることが好ましい。ただし、DRMシステム32および/またはレンダリングアプリケーション34は、ユーザがデジタルコンテンツ12を獲得するのを支援するように設計されたインターフェース(図示せず)を含むことが可能である。例えば、このインターフェースは、デジタルコンテンツ12を探索すること、デジタルコンテンツ12のソースであることが分かっている事前定義されたインターネットWebサイトにリンクすること等を行うように特に設計されたWebブラウザを含むことが可能である。
【0077】
DRMシステム32−コンテンツレンダリング、第1部
次に、図5Aを参照すると、本発明の一実施形態では、暗号化されたデジタルコンテンツ12が、ユーザに配布されて受け取られ、ユーザによって記憶されたファイルの形態でコンピューティングデバイス14上に置かれたものと想定して、ユーザが、レンダリングコマンドの何らかの変種を実行することにより、デジタルコンテンツ12をレンダリングしようと試みる(ステップ501)。例えば、そのようなレンダリングコマンドは、デジタルコンテンツ12を「再生する」要求、または「開く」要求として実現することができる。例えば、ワシントン州レッドモンドのマイクロソフトコーポレーションによって販売される「MICROSOFT WINDOWS(登録商標)」オペレーティングシステムなどの一部のコンピューティング環境では、この再生コマンド、または開くコマンドは、単にデジタルコンテンツ12を表すアイコン上で「クリックする」程度の簡単なものであることが可能である。もちろん、本発明の趣旨および範囲を逸脱することなく、レンダリングコマンドの他の実施形態も使用することができる。一般に、レンダリングコマンドは、ユーザが、デジタルコンテンツ12を有するファイルが開かれ、遂行され、実行され、かつ/または以上に類することが行われるように指示したときにはいつでも、実行されるものと見なすことができる。
【0078】
重要なことには、さらに、レンダリングコマンドは、デジタルコンテンツ12を、印刷された形態、ビジュアル形態、オーディオ形などの別の形態にコピーする要求として実現することができる。理解されるべきこととして、同一のデジタルコンテンツ12を、コンピュータスクリーン上などのある形態でレンダリングし、次に、印刷されたドキュメントなどの別の形態でレンダリングすることが可能である。本発明では、各タイプのレンダリングは、以下に説明する通り、ユーザがレンダリングを行う権利を有する場合にだけ行われる。
【0079】
本発明の一実施形態では、デジタルコンテンツ12は、拡張子で終わるファイル名を有するデジタルファイルの形態になっており、コンピューティングデバイス14が、その拡張子に基づいて特定の種類のレンダリングアプリケーション34を開始することを決めることができる。例えば、ファイル名***が、デジタルコンテンツ12がテキストファイルであることを示す場合、レンダリングアプリケーション34は、ワシントン州レッドモンドのマイクロソフトコーポレーションによって販売される「MICROSOFT WORD」などの何らかの形態のワードプロセッサである。同様に、ファイル名***が、デジタルコンテンツ12がオーディオファイル、ビデオファイル、および/またはマルチメディアファイルであることを示す場合、レンダリングアプリケーション34は、やはり、ワシントン州レッドモンドのマイクロソフトコーポレーションによって販売される「MICROSOFT MEDIA PLAYER」などの何らかの形態のマルチメディアプレーヤである。
【0080】
もちろん、本発明の趣旨および範囲を逸脱することなく、レンダリングアプリケーションを決める他の方法を使用することも可能である。単に一例として、デジタルコンテンツ12は、そのデジタルコンテンツ12をレンダリングするのに必要なレンダリングアプリケーション34のタイプに関する情報を含むメタデータを暗号化されていない形態(すなわち、前述したヘッダ情報の形態)で含むことが可能である。
【0081】
好ましくは、レンダリングアプリケーション34は、ファイル名に関連するデジタルコンテンツ12を検査し、そのデジタルコンテンツ12が、権利の保護された形態で暗号化されているかどうかを判定する(ステップ503、505)。保護されていない場合、デジタルコンテンツ12は、無造作にレンダリングすることができる(ステップ507)。保護されている場合、レンダリングアプリケーション34は、暗号化されたデジタルコンテンツ12から、そのデジタルコンテンツ12を再生するのにDRMシステム32が必要であると判定する。したがって、レンダリングアプリケーション34は、ユーザのコンピューティングデバイス14が、そのデバイス14上のDRMシステム32を実行するように導く(ステップ509)。次に、レンダリングアプリケーション34は、DRMシステム32を呼び出してデジタルコンテンツ12を解読する(ステップ511)。以下により詳述する通り、DRMシステム32は、ユーザが、デジタルコンテンツ12に関して有効なライセンス16を有し、その有効なライセンス16におけるライセンス規則に従ってデジタルコンテンツ12を再生する権利を有する場合にだけ、実際にそのデジタルコンテンツ12を解読する。好ましくは、DRMシステム32は、レンダリングアプリケーション34によって呼び出された後、少なくとも、ユーザがデジタルコンテンツ12を再生する権利を有するかどうかを判定する目的で、レンダリングアプリケーション34から制御を引き継ぐ(ステップ513)。
【0082】
本発明の一実施形態では、図4を再び参照すると、DRMシステム32が、ライセンスイバリュエータ36、ブラックボックス30、ライセンスストア38、および状態ストア40を含む。
【0083】
DRMシステム32構成要素−ライセンスイバリュエータ36
ライセンスイバリュエータ36は、とりわけ、要求されたデジタルコンテンツ12に対応する1つまたは複数のライセンス16を探し出し、そのライセンス16が有効であるかどうかを判定し、有効なライセンス16におけるライセンス規則を検討し、検討したライセンス規則に基づき、要求側のユーザが、求める仕方で要求のデジタルコンテンツ12をレンダリングする権利を有するかどうかを判定する。理解されるべきこととして、ライセンスイバリュエータ36は、DRMシステム32における信頼される構成要素である。本開示では、「信頼される」ということは、ライセンスサーバ24(または任意の他の信頼する側の要素)が、信頼される要素が、ライセンス16における権利記述に従ってデジタルコンテンツ12の所有者の願いを実行すること、およびユーザが、不正な、または別の何らかの目的で信頼される要素を容易に変更できないことを確信させられることを意味する。
【0084】
ライセンスイバリュエータ36は、実際にライセンス16を適切に評価することを確実にするため、またライセンス16の実際の評価を回避する目的で、ユーザによって不正改造されている、または別の仕方で変更されていることがないことを確実にするため、信頼されなければならない。したがって、ライセンスイバリュエータ36は、保護された環境、または覆われた環境において実行して、ライセンスイバリュエータ36に対するユーザのアクセスが拒否されるようにする。本発明の趣旨および範囲を逸脱することなく、ライセンスイバリュエータ36に関連して他の保護手段も使用することができる。
【0085】
DRMシステム32構成要素−ブラックボックス30
主に、前述した通り、ブラックボックス30は、DRMシステム32において暗号化機能および暗号解読機能を行う。詳細には、ブラックボックス30は、ライセンスイバリュエータ36と連携して動作して、ある情報をライセンスイバリュエータ機能の一環として解読すること、および暗号化することを行う。さらに、ライセンスイバリュエータ36が、ユーザが、求める仕方で要求のデジタルコンテンツ12をレンダリングする権利を実際に有すると判定すると、ブラックボックス30は、デジタルコンテンツ12に関する暗号解読鍵(KD)の提供を受け、暗号解読鍵(KD)に基づいてデジタルコンテンツ12の暗号解読の機能を行う。
【0086】
ブラックボックス30は、DRMシステム32の信頼される構成要素でもある。詳細には、ライセンスサーバ24が、ブラックボックス30が、ライセンス16におけるライセンス規則に従ってだけ暗号解読機能を行うことを信頼し、またブラックボックス30が、ライセンス16の実際の評価を回避するという不正な目的で、ユーザによって不正改造された、または別の仕方で変更された場合、動作しないことを信頼しなければならない。したがって、ブラックボックス30も、保護された環境、または覆われた環境において実行して、ブラックボックス30に対するユーザのアクセスが拒否されるようにする。この場合も、本発明の趣旨および範囲を逸脱することなく、ブラックボックス30に関連して他の保護手段も使用することができる。好ましくは、コンテンツサーバ22およびライセンスサーバ24と同様に、DRMシステム32におけるブラックボックス30は、以下により詳細に説明する通り、ライセンス16を評価し、デジタルコンテンツ12を解読するための暗号解読鍵(KD)を獲得するプロセスの一環として使用される固有の公開鍵/秘密鍵ペア(PU−BB、PR−BB)を有する。
【0087】
DRMシステム32構成要素−ライセンスストア38
ライセンスストア38は、対応するデジタルコンテンツ12に関してDRMシステム32によって受け取られたライセンス16を記憶する。ライセンスストア38自体は、信頼される必要はない。というのは、ライセンスストア38は、以下に説明する通り、信頼構成要素がそれぞれ、内部に既に組み込まれていなければならないライセンス16を単に記憶するだけだからである。本発明の一実施形態では、ライセンスストア38は、ハードディスクドライブまたはネットワークドライブなどのドライブのサブディレクトリに過ぎない。ただし、ライセンスストア38は、DRMシステム32にとって比較的便利な場所にライセンス16を記憶する機能を行う限り、本発明の趣旨および範囲を逸脱することなく、任意の他の形態で実現することができる。
【0088】
DRMシステム32構成要素−状態ストア40
状態ストア40は、現在、ライセンスストア38の中にある、または以前にライセンスストア38の中にあったライセンス16に対応する状態情報を保持する機能を行う。状態情報は、DRMシステム32によって生成され、必要に応じて状態ストア40の中に記憶される。例えば、特定のライセンス16により、対応するデジタルコンテンツ12の所定回数のレンダリングだけが許される場合、状態ストア40は、ライセンス16に関連して何回のレンダリングが実際に行われたかに関する状態情報を保持する。状態ストア40は、ライセンスストア38の中にもはや存在しないライセンス16に関する状態情報を保持しつづけて、そうでなければ、ライセンスストア38からライセンスを削除した後、状態ストア40から対応する状態情報を削除しようとして同一のライセンス16を獲得することが有利である状況を回避する。
【0089】
状態ストア40も、内部に記憶されている情報が、ユーザにより都合の良い状態にリセットされないことを確実にするために信頼されなければならない。したがって、状態ストア40も同様に、保護された環境、または覆われた環境において実行して、状態ストア40に対するユーザのアクセスが拒否されるようにする。この場合も、本発明の趣旨および範囲を逸脱することなく、もちろん、他の保護手段も使用することができる。例えば、状態ストア40は、DRMシステム32によってコンピューティングデバイス14上に暗号化された形態で記憶されることが可能である。
【0090】
DRMシステム32−コンテンツレンダリング、第2部
図5Aを再び参照し、本発明の一実施形態におけるコンテンツレンダリングについて再び述べると、DRMシステム32は、呼出し側のレンダリングアプリケーション34から制御を引き継いだ後、ユーザが、求める仕方で要求のデジタルコンテンツ12をレンダリングする権利を有するかどうかを判定するプロセスを開始する。詳細には、DRMシステム32は、ライセンスストアの中で有効な、使用を可能にするライセンス16を探し出すか(ステップ515、517)、またはライセンスサーバ24から、有効な、使用を可能にするライセンス16を獲得しようと試みる(すなわち、以下に述べ、図7に示すライセンス獲得機能を行う)。
【0091】
第1のステップとして、図6を参照すると、DRMシステム32のライセンスイバリュエータ36が、デジタルコンテンツ12に対応する1つまたは複数の受け取られたライセンス16の存在に関してライセンスストア38を検査する(ステップ601)。通常、ライセンス16は、以下に述べる通り、デジタルファイルの形態になっている。ただし、ライセンス16は、本発明の趣旨および範囲を逸脱することなく、他の形態になっていることも可能であることが認められよう。通常、ユーザは、ライセンス16なしにデジタルコンテンツ12を受け取る。ただし、デジタルコンテンツ12は、本発明の趣旨および範囲を逸脱することなく、対応するライセンス16とともに受け取られることが可能であることも同様に認められよう。
【0092】
図3に関連して前述した通り、各デジタルコンテンツ12は、デジタルコンテンツ12(またはパッケージ12p)を識別するコンテンツID(またはパッケージID)、および暗号化されたデジタルコンテンツ12を解読する暗号解読鍵(KD)を識別する鍵IDを備えたパッケージ12pの中にある。好ましくは、コンテンツID(またはパッケージID)、および鍵IDは、解読されていない形態になっている。したがって、特に、デジタルコンテンツ12のコンテンツIDに基づき、ライセンスイバリュエータ36は、そのコンテンツIDに該当する識別子を含むライセンス16をライセンスストア38の中で探す。特に、デジタルコンテンツ12の所有者が、デジタルコンテンツ12に関して複数の異なる種類のライセンス16を指定しており、ユーザが、そのライセンス16のなかの複数のライセンスを獲得している場合、複数のそのようなライセンスが見出される可能性があることに留意されたい。実際、ライセンスイバリュエータ36が、要求のデジタルコンテンツ12に対応するライセンス16をライセンスストア38の中で全く見出さなかった場合、DRMシステム32は、以下に説明するライセンス獲得の機能(図5Bのステップ519)を行うことが可能である。
【0093】
次に、DRMシステム32に、デジタルコンテンツ12をレンダリングする要求が行われており、またデジタルコンテンツ12に対応する1つまたは複数のライセンス16が、ライセンスストア38の中に存在するものと想定する。本発明の一実施形態では、DRMシステム32のライセンスイバリュエータ36は、各ライセンス16に関して、そのライセンス16自体が有効であるかどうかを判定することに取りかかる(図6のステップ603および605)。好ましくは、詳細には、各ライセンス16が、そのライセンス16のコンテンツ28に基づくデジタル署名を含む。理解されるべきこととして、デジタル署名26は、コンテンツ28が改ざんされているか、または別の仕方で変更されている場合、ライセンス16にマッチしない。したがって、ライセンスイバリュエータ36は、デジタル署名26に基づき、コンテンツ28が、ライセンスサーバ24から受け取られた形態をしている(すなわち、有効である)かどうかを判定することができる。有効なライセンス16がライセンスストア38の中で見出されなかった場合、DRMシステム32は、以下に説明するライセンス獲得機能を行って有効なライセンス16を獲得することができる。
【0094】
1つまたは複数の有効なライセンス16が見出されたと想定すると、それぞれの有効なライセンス16に関して、DRMシステム32のライセンスイバリュエータ36が、次に、その有効なライセンス16が、所望の仕方で対応するデジタルコンテンツ12をレンダリングする権利をユーザに与える(すなわち、使用を可能にするものである)かどうか判定する(ステップ607および609)。詳細には、ライセンスイバリュエータ36は、各ライセンス16における権利記述に基づき、またユーザが、デジタルコンテンツ12に何をしようとしているかに基づき、要求側のユーザが、要求のデジタルコンテンツ12を再生する権利を有するかどうかを判定する。例えば、この権利記述により、ユーザが、デジタルコンテンツ12をサウンドにレンダリングすることが許されるが、解読されたデジタルコピーにレンダリングすることは許されない。
【0095】
理解されるべきこととして、各ライセンス16における権利記述は、ユーザが誰であるか、ユーザがどこに所在するか、ユーザがどのようなタイプのコンピューティングデバイス14を使用しているか、どのようなレンダリングアプリケーション34がDRMシステム32を呼び出しているか、日付、時刻等を含め、いくつかのファクタの任意のものに基づき、ユーザがデジタルコンテンツ12を再生する権利を有するかどうかを指定する。さらに、権利記述は、例えば、所定の回数の再生に、または所定の再生時間にライセンスを制限することが可能である。そのような場合、DRMシステム32は、ライセンス16に関してあらゆる状態情報(すなわち、何回、デジタルコンテンツ12がレンダリングされたか、デジタルコンテンツ12がレンダリングされた合計時間等)を参照しなければならず、この状態情報は、ユーザのコンピューティングデバイス14上のDRMシステム32の状態ストア40の中に記憶されている。
【0096】
したがって、DRMシステム32のライセンスイバリュエータ36が、それぞれ有効なライセンス16の権利記述を検討して、その有効なライセンス16により、求めている権利がユーザに与えられるかどうかを判定する。これを行う際、ライセンスイバリュエータ36は、ユーザのコンピューティングデバイス14にローカルな他のデータを参照して、ユーザが、求めている権利を有するかどうかの判定を行う。図4に見られる通り、このデータは、ユーザのコンピューティングデバイス(マシン)14の識別42およびデバイス14の特定の態様、ユーザの識別44およびユーザの特定の態様、レンダリングアプリケーション34の識別およびアプリケーション34の特定の態様、システムクロック46等を含むことが可能である。求める仕方でデジタルコンテンツ12をレンダリングする権利をユーザに提供する有効なライセンス16が見出されない場合、DRMシステム32は、以下に説明するライセンス獲得機能を行い、そのようなライセンス16が実際に獲得可能である場合、そのライセンス16を獲得する。
【0097】
もちろん、一部の場合、ユーザは、要求する仕方でデジタルコンテンツ12をレンダリングする権利を獲得することができない。というのは、デジタルコンテンツ12のコンテンツ所有者が、そのような権利が許可されるべきでないことを実際に指示しているからである。例えば、デジタルコンテンツ12のコンテンツ所有者が、ユーザがテキストドキュメントを印刷すること、または暗号化されていない形態でマルチメディアプレゼンテーションをコピーすることを許すライセンス16が交付されるべきでないことを指示していることが可能である。本発明の一実施形態では、デジタルコンテンツ12は、ライセンス16の購入時にどのような権利が入手可能かに関するデータ、および入手可能なライセンス16のタイプに関するデータを含む。ただし、デジタルコンテンツ12のコンテンツ所有者は、デジタルコンテンツ12に関して入手可能なライセンス16を変更することにより、デジタルコンテンツに関して現行で入手可能な権利を任意の時点で変更できることが認められよう。
【0098】
DRMシステム32−ライセンス獲得
次に、図7を参照すると、ライセンスイバリュエータ36が、実際に、要求されたデジタルコンテンツ12に対応する有効な、使用を可能にするライセンス16をライセンスストア38の中で見出さなかった場合、DRMシステム32が、ライセンス獲得の機能を行うことが可能である。図3に示す通り、各デジタルコンテンツ12は、そのデジタルコンテンツ12をレンダリングするためのライセンス16をどのように獲得するかに関する暗号化されていない形態の情報(すなわち、ライセンス獲得情報)とともにパッケージ化される。
【0099】
本発明の一実施形態では、ライセンス獲得情報は、とりわけ、入手可能なライセンス16のタイプを含み、また各ライセンスサーバ24が、実際に、デジタルコンテンツ12に対応するライセンス16を発行することができる場合、1つまたは複数の適切なライセンスサーバ24にアクセスすることが可能な1つまたは複数のインターネットWebサイト、または他のサイト情報を含むことが可能である。もちろん、ライセンス16は、本発明の趣旨および範囲を逸脱することなく、他の仕方で獲得することも可能である。例えば、ライセンス16は、電子掲示板において、あるいは磁気ディスクまたは光ディスク等の上のファイルの形態で直接に、または通常の郵便を介してでも獲得することが可能である。
【0100】
ライセンス16を獲得するための場所が、実際に、ネットワーク上のライセンスサーバ24であると想定すると、ライセンスイバリュエータ36が、Webサイト情報、または他のサイト情報に基づき、ライセンスサーバ24に対するネットワーク接続を確立し、次に、接続されたライセンスサーバ24にライセンス16の要求を送信する(ステップ701、703)。詳細には、DRMシステム32は、ライセンスサーバ24にコンタクトすると、適切なライセンス要求情報36をそのライセンスサーバ24に伝送する。本発明の一実施形態では、ライセンス16は、以下のものを含むことが可能な情報36を要求する。すなわち、とりわけ、
−DRMシステム32のブラックボックス30の公開鍵(PU−BB)、
−DRMシステム32のブラックボックス30のバージョン番号、
−ブラックボックス30を認証する認証機関からのデジタル署名を伴う証明書(ただし、証明書は、ブラックボックス30の前述した公開鍵およびバージョン番号を実際に含む)、
−デジタルコンテンツ12(またはパッケージ12p)を識別するコンテンツID(またはパッケージID)、
−デジタルコンテンツ12を解読するための暗号解読鍵(KD)を識別する鍵ID、
−要求されたライセンス16のタイプ(実際に、複数のタイプが入手可能な場合)、
−デジタルコンテンツ12のレンダリングを要求したレンダリングアプリケーション34のタイプ、
および/または以上に類するもの。もちろん、本発明の趣旨および範囲を逸脱することなく、より多量の、またはより少量のライセンス16要求情報36が、DRMシステム32によってライセンスサーバ24に伝送されることが可能である。例えば、レンダリングアプリケーション34のタイプに関する情報が必要でない可能性がある一方で、ユーザおよび/またはユーザのコンピューティングデバイス14に関する追加の情報が必要である可能性がある。
【0101】
ライセンスサーバ24は、DRMシステム32からライセンス16要求情報36を受け取ると、信頼/認証に関して、またその他の目的でいくつかの検査を行うことができる。本発明の一実施形態では、ライセンスサーバ24は、認証機関のデジタル署名に関して証明書を検査して、署名が改ざんされているかどうか、または別の仕方で変更されているかどうかを判定する(ステップ705、707)。改ざん、または変更されている場合、ライセンスサーバ24は、要求情報36に基づいてライセンス16を交付するのを拒否する。また、ライセンスサーバ24は、既知の「不良な」ユーザおよび/またはユーザのコンピューティングデバイス14のリストも保持することができ、リスト上のいずれかの不良なユーザおよび/または不良なユーザのコンピューティングデバイス14からの要求に基づいてライセンス16を交付するのを拒否することができる。本発明の趣旨および範囲を逸脱することなく、そのような「不良」リストを任意の適切な仕方で編成することが可能である。
【0102】
受け取られた要求、およびその要求に関連する情報に基づき、また詳細には、ライセンス要求情報の中のコンテンツID(またはパッケージID)に基づき、ライセンスサーバ24は、コンテンツ−鍵データベース20(図1)に問い合わせ、要求の根拠であるデジタルコンテンツ12(またはパッケージ12p)に対応するレコードを探し出すことができる。前述した通り、このレコードは、そのデジタルコンテンツ12に関する暗号解読鍵(KD)、鍵ID、およびコンテンツIDを含む。さらに、このレコードは、デジタルコンテンツ12に関して発行されるべきライセンス16のタイプに関するライセンスデータ、および各タイプのライセンス16に関する条項および条件を含むことが可能である。あるいは、このレコードは、そのような追加の情報を有する場所に対するポインタ、リンク、またはリファレンスを含むことが可能である。
【0103】
前述した通り、複数のタイプのライセンス16を入手可能とすることができる。例えば、比較的小額のライセンス料で、限られた回数のレンダリングを許すライセンス16を入手可能とすることができる。より高額のライセンス料で、失効日まで無制限のレンダリングを許すライセンス16を、入手可能とすることができる。さらに高額のライセンス料で、失効日なしの無制限のレンダリングを許すライセンス16が入手可能とすることができる。本発明の趣旨および範囲を逸脱することなく、任意の種類のライセンス条項を有する実質的にあらゆるタイプのライセンス16を考案することが可能であり、またライセンスサーバ24によって発行することが可能である。
【0104】
本発明の一実施形態では、ライセンス16の要求は、ライセンスサーバ24からユーザのコンピューティングデバイス14に伝送されるWebページ等の助けを借りて達せられる。好ましくは、このWebページは、ライセンス16要求の根拠であるデジタルコンテンツ12に関してライセンスサーバ24から入手可能なすべてのタイプのライセンス16に関する情報を含む。
【0105】
本発明の一実施形態では、ライセンス16を発行することに先立ち、ライセンスサーバ24は、ブラックボックス30のバージョン番号を検査して、ブラックボックス30が比較的新しいかどうかを判定する(ステップ709、711)。理解すべきこととして、ブラックボックス30は、不正な(すなわち、ライセンス16なしにデジタルコンテンツ12を不適切にレンダリングする、または対応するライセンス16の条項を外れてレンダリングする)目的を有するユーザからの攻撃に対してセキュアであり、保護されているものとする。ただし、そのような攻撃に対して完全にセキュアなシステムおよびソフトウェアデバイスは存在しないことを認識されたい。
【0106】
また、理解されるべきこととして、ブラックボックス30が比較的新しい場合、すなわち、比較的最近に獲得されるか、または更新されている場合、ブラックボックス30が、不正なユーザによって成功裏に攻撃されている可能性がより低い。好ましくは、信頼に関わることとして、ライセンスサーバ24は、比較的新しくはないブラックボックス30バージョン番号を含む要求情報36を伴うライセンス要求を受け取った場合、以下に説明する通り、対応するブラックボックス30が現行のバージョンに更新されるまで、要求されたライセンス16を発行するのを拒否する。簡単に言えば、ライセンスサーバ24は、ブラックボックス30が比較的新しくない限り、ブラックボックス30を信頼しない。
【0107】
本発明のブラックボックス30のコンテキストでは、「現行の」または「比較的新しい」という用語は、本発明の趣旨および範囲を逸脱することなく、ブラックボックス30の経時(age)、または使用法に基づいてブラックボックス30を信頼する機能と整合する任意の適切な意味を有することが可能である。例えば、「現行」は、経時に従って(すなわち、1カ月以内の経時)定義することができる。代替の例として、「現行」は、ブラックボックス30がデジタルコンテンツ12を解読した回数(すなわち、200回以内の暗号解読)に基づいて定義することができる。さらに、「現行」は、ライセンスサーバ24ごとに「現行」に違った定義が行われ、ライセンスサーバ24が、さらに、とりわけ、ライセンス16が要求されたデジタルコンテンツ12に依存して、または要求されたライセンス16のタイプに依存して「現行」に違った定義を行う、各ライセンスサーバ24によって設定されたポリシーに基づくことが可能である。
【0108】
ブラックボックス30のバージョン番号、またはブラックボックス30の他の指示から、ブラックボックス30が現行のものであるとライセンスサーバ24が確信させられたと想定して、ライセンスサーバ24が、ライセンス16に関する条項および条件をユーザと交渉することに取りかかる(ステップ713)。あるいは、ライセンスサーバ24は、ユーザとライセンス16を交渉し、次に、ブラックボックス30のバージョン番号から、ブラックボックス30が現行のものであるという確信を得る(すなわち、ステップ713を行い、次にステップ711を行う)。もちろん、交渉の量は、発行されるべきライセンス16のタイプ、およびその他のファクタに応じて様々である。例えば、ライセンスサーバ24が、単に支払済みの無制限の使用ライセンス16を発行する場合、ほとんど交渉を行う必要がない。他方、ライセンス16が、変化する値、スライディングスケール(sliding scale)、ブレークポイント(break point)、およびその他の詳細などの項目に基づく場合、そのような項目および詳細をライセンスサーバ24とユーザの間で調整してからでないと、ライセンス16を発行することができない可能性がある。
【0109】
理解されるべきこととして、状況に応じて、ライセンス交渉は、ユーザが、ライセンスサーバ24にさらなる情報(例えば、ユーザ、ユーザのコンピューティングデバイス14等に関する情報)を提供することを必要とする可能性がある。重要なことには、ライセンス交渉は、ユーザおよびライセンスサーバ24が、とりわけ、互いに受入れ可能な支払い手段(クレジット口座、デビット(debit)口座、郵送される小切手等)、および/または支払い方法(即時の支払い、ある期間にわたる支払い等)を決めることも要求することが可能である。
【0110】
ライセンス16のすべての条項が交渉され、ライセンスサーバ24とユーザの両方によって合意されると(ステップ715)、ライセンスサーバ24によってデジタルライセンス16が生成され(ステップ719)、この生成されたライセンス16は、少なくともある程度、ライセンス要求、ブラックボックス30公開鍵(PU−BB)、およびコンテンツ−鍵データベース20から獲得される要求の根拠であるデジタルコンテンツ12に関する暗号解読鍵(KD)に基づいている。本発明の一実施形態では、図8で見られる通り、生成されたライセンス16は、以下のものを含む。すなわち、
−ライセンス16が適用されるデジタルコンテンツ12のコンテンツID、
−暗号解読鍵(KD)で、場合により、暗号化されたデジタル権利ライセンス(DRL)48(すなわち、ライセンスイバリュエータ36が問い合わせることができる所定の形式で書かれたライセンス16の権利記述、または実際の条項および条件)(すなわち、KD(DRL))、
−ライセンス要求の中で受け取られたブラックボックス30公開鍵(PU−BB)で暗号化されたデジタルコンテンツに関する暗号解読鍵(すなわち、(PU−BB(KD))、
−(KD(DRL))および(PU−BB(KD))に基づき、ライセンスサーバ24秘密鍵で暗号化されたライセンスサーバ24からのデジタル署名(付加された証明書なしの)(すなわち、(S(PR−LS)))、および
−ライセンスサーバ24が、コンテンツサーバ22から以前に獲得した、ライセンスサーバ24が、ライセンス16を発行するコンテンツサーバ22からの許可を有することを示す証明書(すなわち、(CERT(PU−LS)S(PR−CS)))である。
【0111】
理解されるべきこととして、前述した要素、および、場合により、その他の要素は、デジタルファイル、または何らかの他の適切な形態にパッケージ化される。やはり、理解されるべきこととして、ライセンス16の中のDRL48、または(PU−BB(KD))が改ざんされた、または別の仕方で変更された場合、ライセンス16の中のデジタル署名(S(PR−LS))は、ライセンス16にマッチせず、したがって、ライセンス16を有効にしない。この理由で、DRL48は、必ずしも暗号化された形態(すなわち、前述した(KD(DRL)))でなくてもよい。ただし、暗号化された形態は、一部の場合、望ましく、したがって、本発明の趣旨および範囲を逸脱することなく使用することができる。
【0112】
デジタルライセンス16が準備されると、このライセンス16は、要求側(すなわち、ユーザのコンピューティングデバイス14上のDRMシステム32)に対して発行される(図7のステップ719)。好ましくは、ライセンス16は、ライセンス16の要求が行われたのと同じパス(すなわち、インターネット、または別のネットワーク)を介して伝送される。ただし、本発明の趣旨および範囲を逸脱することなく、別のパスを使用することもできる。受領時に、要求側のDRMシステム32は、好ましくは、受領したデジタルライセンス16をライセンスストア38の中に配置する(ステップ721)。
【0113】
ユーザのコンピューティングデバイス14には、ときとして動作不良が生じる可能性があり、そのユーザのコンピューティングデバイス14上のDRMシステム32のライセンスストア38の中に記憶されたライセンス16が、回復不能な仕方で失われる可能性があることを理解されたい。したがって、ライセンスサーバ24が、発行されたライセンス16のデータベース50を維持し(図1)、またライセンスサーバ24が、発行済みライセンス16のコピーまたは再発行(以降、「再発行」)をユーザに提供することを、そのユーザが、実際に、再発行を受ける資格がある場合、行うことが好ましい。ライセンス16が回復不能な仕方で失われる前述したケースでは、状態ストア40の中に記憶され、ライセンス16に対応する状態情報も失われていることになっている可能性が高い。この失われた状態情報が、ライセンス16を再発行する際、考慮に入れられなければならない。例えば、固定回数のレンダリングライセンス16は、比較的短い期間の後、応分に割振り計算した形で正当に再発行することが可能であるが、比較的長い期間の後、再発行することは可能でない。
【0114】
DRMシステム32−ブラックボックス30のインストール/アップグレード前述した通り、ライセンス16を獲得する機能の一環として、ライセンスサーバ24は、ユーザのコンピューティングデバイス14が、比較的新しくはない、すなわち、比較的古いバージョン番号を有するブラックボックス30を備えたDRMシステム32を有する場合、ユーザからのライセンス16の要求を拒否する可能性がある。その場合、そのDRMシステム32のブラックボックス30をアップグレードして、その後にライセンス獲得機能を開始できるようにすることが好ましい。もちろん、ブラックボックス30は、本発明の趣旨および範囲を逸脱することなく、任意の時点でアップグレードすることができる。
【0115】
好ましくは、ユーザのコンピューティングデバイス14上のDRMシステム32をインストールするプロセスの一環として、ブラックボックス30の固有でない「ライト(lite)」バージョンが提供される。次に、この「ライト」ブラックボックス30を、デジタルコンテンツ12をレンダリングするのに先立って固有の通常のバージョンにアップグレードする。理解されるべきこととして、各DRMシステム32の中のブラックボックス30は固有であり、1つのブラックボックス30のセキュリティを破って侵入することにより、何らかの他のブラックボックス30で容易に侵入を繰り返すことはできない。
【0116】
次に、図9を参照すると、DRMシステム32が、ブラックボックスサーバ26等(前述し、図1に示した)から固有のブラックボックス30を要求することにより、ブラックボックス30を獲得する(ステップ901)。通常、この要求は、インターネットを使用して行われるが、本発明の趣旨および範囲を逸脱することなく、他のアクセス手段を使用することもできる。例えば、ブラックボックスサーバ26に対する接続は、ローカル式または遠隔式の直接接続であることが可能である。ある固有のライトでないブラックボックス30から別の固有のライトでないブラックボックス30へのアップグレードも、例えば、前述した通り、ライセンスサーバ24が、ブラックボックス30が現行のものでないと見なした時点などの任意の時点で、DRMシステム32によって要求されることが可能である。
【0117】
その後、ブラックボックスサーバ26が、新しい固有のブラックボックス30を生成する(ステップ903)。図3に見られる通り、それぞれの新しいブラックボックス30は、バージョン番号、および認証機関からのデジタル署名を有する証明書を備えている。ライセンス獲得機能に関連して前述した通り、ブラックボックス30のバージョン番号は、ブラックボックス30の相対的な経時および/または使用法を示す。やはりライセンス獲得機能に関連して前述した、認証機関からのデジタル署名を備えた証明書は、ライセンスサーバ24がブラックボックス30を信頼すべきことの認証機関からの申し出(proffer)メカニズム、または保証(vouching)メカニズムである。もちろん、ライセンスサーバ24は、認証機関が、実際に信頼に値するブラックボックス30に関して証明書を発行するものと信頼しなければならない。実際には、ライセンスサーバ24が、特定の認証機関を信用せず、その認証機関によって発行されたあらゆる証明書を尊重することを拒否する可能性がある。例えば、特定の認証機関が、証明書を不適切に発行することを繰り返し行っていることが分かった場合、信頼がなされない可能性がある。
【0118】
好ましくは、前述した通り、ブラックボックスサーバ26は、新しい固有の公開鍵/秘密鍵ペア(PU−BB、PR−BB)を新たに生成された固有のブラックボックス30に含める(図9のステップ903)。好ましくは、そのブラックボックス30に関する秘密鍵(PR−BB)には、そのブラックボックス30だけがアクセス可能であり、そのブラックボックス30を有するDRMシステム32を有するコンピューティングデバイス14、およびコンピューティングデバイス14のユーザを含め、それ以外の世界には隠されており、アクセス不可能である。
【0119】
世界から秘密鍵(PR−BB)を隠す機能を実際に行う限り、本発明の趣旨および範囲を逸脱することなく、ほとんどの任意の隠蔽スキームを使用することができる。単に一例として、秘密鍵(PR−BB)は、いくつかの下位構成要素に分割することができ、各下位構成要素を固有に暗号化して、異なる場所に記憶することができる。そのような状況では、下位構成要素が決して完全に組み立てられて秘密鍵全体(PR−BB)をもたらすことがないことが好ましい。
【0120】
本発明の一実施形態では、秘密鍵(PR−BB)は、コードベースの暗号技術に従って暗号化される。詳細には、この実施形態では、ブラックボックス30の実際のソフトウェアコード(または他のソフトウェアコード)が、暗号化鍵として使用される。したがって、ブラックボックス30のコード(または他のソフトウェアコード)が、例えば、不正な目的を有するユーザによって改ざんされた、または別の仕方で変更された場合、その秘密鍵(PR−BB)を解読することができない。
【0121】
それぞれの新しいブラックボックス30は、新しい公開鍵/秘密鍵ペア(PU−BB、PR−BB)とともに配信されるが、新しいブラックボックス30には、好ましくは、ユーザのコンピューティングデバイス14上のDRMシステム32に以前に配信された古いブラックボックス30からの古い公開鍵/秘密鍵ペアに対するアクセスも与えられる(ステップ905)。したがって、アップグレードされたブラックボックス30は、それでも、以下により詳細に述べる通り、古い鍵ペアを使用して、その古い鍵ペアに従って生成されたより古いデジタルコンテンツ12、およびより古い対応するライセンス16にアクセスすることができる。
【0122】
好ましくは、ブラックボックスサーバ26によって配信されたアップグレードされたブラックボックス30は、ユーザのコンピューティングデバイス14に緊密に結び付く、または緊密に関連する。したがって、アップグレードされたブラックボックス30は、不正な目的、またはその他の目的で、複数のコンピューティングデバイス14間で動作上、転送することができない。本発明の一実施形態では、ブラックボックス30の要求(901)の一環として、DRMシステム32が、そのDRMシステム32に固有であり、かつ/またはユーザのコンピューティングデバイス14に固有であるハードウェア情報をブラックボックスサーバ26に提供し、ブラックボックスサーバ26は、その提供されたハードウェア情報にある程度、基づき、そのDRMシステム32用のブラックボックス30を生成する。次に、この生成されたアップグレード済みのブラックボックス30が、ユーザのコンピューティングデバイス14上のDRMシステム32に配信されて、インストールされる(ステップ907、909)。その後、アップグレードされたブラックボックス30が、何らかの仕方で別のコンピューティングデバイス14に転送された場合、転送されたブラックボックス30は、その別のコンピューティングデバイス14を宛先としていないことを認識し、要求されたレンダリングが、その別のコンピューティングデバイス14上で進められることを全く許さない。
【0123】
新しいブラックボックス30がDRMシステム32にインストールされると、DRMシステム32は、ライセンス獲得機能、または任意の他の機能を開始することができる。
【0124】
DRMシステム32−コンテンツレンダリング、第3部
次に、図5Bを参照すると、ライセンスイバリュエータ36が、少なくとも1つの有効なライセンス16を見出し、また有効なライセンス16の少なくとも1つが、求める仕方で対応するデジタルコンテンツ12をレンダリングするのに必要な権利をユーザに提供する(すなわち、使用を可能にするものである)ものと想定すると、ライセンスイバリュエータ36が、そのライセンス16の1つをさらなる使用のために選択する(ステップ519)。詳細には、要求されたデジタルコンテンツ12をレンダリングするため、ライセンスイバリュエータ36とブラックボックス30が一緒に、ライセンス16から暗号解読鍵(KD)を獲得し、ブラックボックス30が、その暗号解読鍵(KD)を使用してデジタルコンテンツ12を解読する。本発明の一実施形態では、前述した通り、ライセンス16から獲得された暗号解読鍵(KD)が、ブラックボックス30公開鍵で暗号化され(PU−BB(KD))、ブラックボックス30が、その暗号化された暗号解読鍵を自らの秘密鍵(PR−BB)を使用して解読して、暗号解読鍵(KD)をもたらす(ステップ521、523)。ただし、本発明の趣旨および範囲を逸脱することなく、デジタルコンテンツ12に関する暗号解読鍵(KD)を獲得する他の方法も使用することができる。
【0125】
ブラックボックス30が、デジタルコンテンツ12に関する暗号解読鍵(KD)、およびそのデジタルコンテンツ12をレンダリングするライセンスイバリュエータ36からの許可を入手すると、制御が、レンダリングアプリケーション34に戻ることが可能である(ステップ525、527)。本発明の一実施形態では、次に、レンダリングアプリケーション34が、DRMシステム32/ブラックボックス30を呼び出し、暗号化されたデジタルコンテンツ12の少なくとも一部分を暗号解読鍵(KD)に従って暗号解読のためにブラックボックス30に向かわせる(ステップ529)。ブラックボックス30は、デジタルコンテンツ12に関する暗号解読鍵(KD)に基づいてデジタルコンテンツ12を解読し、次に、解読したデジタルコンテンツ12を実際のレンダリングのためにレンダリングアプリケーション34に戻す(ステップ533、535)。レンダリングアプリケーション34は、本発明の趣旨および範囲を逸脱することなく、デジタルコンテンツ12に関する暗号解読鍵(KD)に基づき、暗号解読のために暗号化されたデジタルコンテンツ12の一部分、またはデジタルコンテンツ12全体をブラックボックス30に送ることができる。
【0126】
好ましくは、レンダリングアプリケーション34が、暗号解読のためにデジタルコンテンツ12をブラックボックス30に送ったとき、ブラックボックス30および/またはDRMシステム32が、そのレンダリングアプリケーション34を認証して、そのレンダリングアプリケーション34が、DRMシステム32に動作するように最初に要求を行ったのと同じレンダリングアプリケーション34であることを確実にする(ステップ531)。そうでなければ、あるタイプのレンダリングアプリケーション34上のレンダリング要求に基づくことにより、レンダリング許可が不適切に獲得され、実際には、別のタイプのレンダリングアプリケーション34を使用してレンダリングが行われる可能性が存在する。認証が成功し、デジタルコンテンツ12が、ブラックボックス30によって解読されたものと想定すると、次に、レンダリングアプリケーション34が、解読されたデジタルコンテンツ12をレンダリングすることができる(ステップ533、535)。
【0127】
鍵トランザクションのシーケンス
次に、図10を参照すると、本発明の一実施形態では、鍵トランザクションのシーケンスが、暗号解読鍵(KD)を獲得し、要求されたデジタルコンテンツ12に関するライセンス16を評価するように(すなわち、図5Aおよび5Bのステップ515〜523を行うように)行われる。主に、このシーケンスでは、DRMシステム32が、ライセンス16から暗号解読鍵(KD)を獲得し、ライセンス16およびデジタルコンテンツ12から獲得された情報を使用して、ライセンス16とデジタルコンテンツ12の両方の有効性を認証し、または確実にし、次に、ライセンス16が、求められる仕方でデジタルコンテンツ12をレンダリングする権利を実際に提供するかどうかを判定する。提供する場合、デジタルコンテンツ12をレンダリングすることができる。
【0128】
図8に見られる通り、デジタルコンテンツ12に関する各ライセンス16が、
−ライセンス16が適用されるデジタルコンテンツ12のコンテンツID、
−暗号解読鍵(KD)で、場合により、暗号化されたデジタル権利ライセンス(DRL)48(すなわち、KD(DRL))、
−ブラックボックス30公開鍵(PU−BB)で暗号化されたデジタルコンテンツ12に関する暗号解読鍵(KD)(すなわち、(PU−BB(KD)))、−(KD(DRL))および(PU−BB(KD))に基づき、ライセンスサーバ24秘密鍵で暗号化されたライセンスサーバ24からのデジタル署名(すなわち、(S(PR−LS)))、および
ライセンスサーバ24が、コンテンツサーバ22から以前に獲得した証明書(すなわち、(CERT(PU−LS)S(PR−CS)))を含むことを念頭に置き、また、図3に見られる通り、デジタルコンテンツ12を有するパッケージ12pが、
−デジタルコンテンツ12のコンテンツID、
−KDで暗号化されたデジタルコンテンツ12(すなわち、(KD(CONTENT)))、
−暗号化されていないライセンス獲得スクリプト、および
−コンテンツサーバ22秘密鍵(PR−CS)で署名されたコンテンツサーバ22公開鍵(PU−CS)を暗号化する鍵KD(すなわち、(KD(PU−CS)S(PR−CS)))を含むことも念頭に置いて、本発明の一実施形態では、デジタルコンテンツ12に関するライセンス16の特定の1つに関する鍵トランザクションの特定のシーケンスが、以下の通りである。
【0129】
1.ライセンス16からの(PU−BB(KD))に基づき、ユーザのコンピューティングデバイス14上のDRMシステム32のブラックボックス30が、自らの秘密鍵(PR−BB)を適用して(KD)を獲得する(ステップ1001)。(PR−BB(PU−BB(KD))=(KD))。重要なこととして、次に、ブラックボックス30は、KDを使用して無造作にデジタルコンテンツ12を解読することを開始できることに留意されたい。ただし、やはり重要なこととして、ライセンスサーバ24は、ブラックボックス30がそうしないものと信頼する。この信頼は、ライセンスサーバ24が、ブラックボックス30が信頼に値することを保証する認証機関からの証明書に基づいてライセンス16を発行した時点で確立されている。したがって、ブラックボックス30が、最終ステップではなく、初期ステップとして暗号解読鍵(KD)を獲得するにも関わらず、DRMシステム32は、以下に説明する通り、すべてのライセンス16検証機能および評価機能を行いつづける。
【0130】
2.デジタルコンテンツ12からの(KD(PU−CS)S(PR−CS))に基づき、ブラックボックス30は、新たに獲得された暗号解読鍵(KD)を適用して(PU−CS)を獲得する(ステップ1003)。(KD(KD(PU−CS))=(PU−CS))。さらに、ブラックボックス30は、(PU−CS)を署名(S(PR−CS))に照らして適用して、署名およびデジタルコンテンツ12/パッケージ12pが有効であることの確信を得ることができる(ステップ1005)。有効でない場合、プロセスは停止され、デジタルコンテンツ12へのアクセスが拒否される。
【0131】
3.ライセンス16からの(CERT(PU−LS)S(PR−CS))に基づき、ブラックボックス30は、新たに獲得されたコンテンツサーバ22公開鍵(PU−CS)を適用して、証明書が有効であることの確信を得る(ステップ1007)。有効であることは、ライセンス16を発行したライセンスサーバ24が、そうすることの許可をコンテンツサーバ22から得ていることを意味する。次に、ブラックボックス30は、証明書コンテンツを検査して(PU−LS)を獲得する(ステップ1009)。有効でなかった場合、プロセスは停止され、ライセンス16に基づくデジタルコンテンツ12へのアクセスは拒否される。
【0132】
4.ライセンス16からの(S(PR−LS))に基づき、ブラックボックス30は、新たに獲得されたライセンスサーバ24公開鍵(PU−LS)を適用して、ライセンス16が有効であることの確信を得る(ステップ1011)。有効でなかった場合、プロセスは停止され、ライセンス16に基づくデジタルコンテンツ12へのアクセスは拒否される。
【0133】
5.すべての検証ステップが成功し、ライセンス16の中のDRL48が、暗号解読鍵(KD)で実際に暗号化されたものと想定すると、次に、ライセンスイバリュエータ36が、既に獲得済みの暗号解読鍵(KD)をライセンス16から獲得された(KD(DRL))に適用して、ライセンス16からライセンス条項(すなわち、DRL48)を獲得する(ステップ1013)。もちろん、ライセンス16の中のDRL48が、実際に暗号解読鍵(KD)で暗号化されていない場合、ステップ1013は、省略することができる。次に、ライセンスイバリュエータ36が、DRL48の評価/問合せを行い、ライセンス16の中のDRL48に基づき、ユーザのコンピューティングデバイス14が、求める仕方で対応するデジタルコンテンツ12をレンダリングする権利を有するかどうか(すなわち、DRL48が使用を可能にするものであるかどうか)を判定する(ステップ1015)。ライセンスイバリュエータ36が、その権利が存在しないと判定した場合、プロセスは停止され、ライセンス16に基づくデジタルコンテンツ12へのアクセスは拒否される。
【0134】
6.最後に、ライセンス16の評価により、DRL48条項に基づいてユーザのコンピューティングデバイス14が、求める仕方で対応するデジタルコンテンツ12をレンダリングする権利を有するという肯定的な判定がもたらされたものと想定すると、ライセンスイバリュエータ36は、ブラックボックス30が、暗号解読鍵(KD)に従って対応するデジタルコンテンツ12をレンダリングすることができることをブラックボックス30に知らせる。その後、ブラックボックス30は、暗号解読鍵(KD)を適用して、パッケージ12pからデジタルコンテンツ12を解読する(すなわち、(KD(KD(CONTENT))=(CONTENT)))(ステップ1017)。
【0135】
以上に指定した一連のステップは、ライセンス16とデジタルコンテンツ12の間の交替、または「ピンポン(ping−ponging)」を表すことに留意することが重要である。このピンポンにより、検証プロセスおよび評価プロセスが、デジタルコンテンツ12とライセンス16がともに適切に発行された有効な形態で存在する場合にだけ行われることが可能であるということで、デジタルコンテンツ12が、ライセンス16に緊密に結合されることが確実になる。さらに、ライセンス16からコンテンツサーバ22公開鍵(PU−CS)を獲得するのと、パッケージ12pからデジタルコンテンツ12を解読された形態で(また、場合により、ライセンス16からライセンス条項(DRL48)を解読された形態で)獲得するのとに同一の暗号解読鍵(KD)が必要とされるため、以上のアイテムも緊密に結合される。また、署名検証により、デジタルコンテンツ12およびライセンス16が、コンテンツサーバ22およびライセンスサーバ24からそれぞれ発行されたのと同じ形態であることが確実になる。したがって、ライセンスサーバ24を迂回することによってデジタルコンテンツ12を解読することは、不可能でないにしても困難であり、また、デジタルコンテンツ12またはライセンス16を改変した後、解読することも、不可能でないにしても困難である。
【0136】
本発明の一実施形態では、署名確認、特にライセンス16の署名確認が、以下の通り交替で行われる。図8に見られるように、ライセンスサーバ24の秘密鍵(PR−LS)で署名が暗号化されるのではなく、各ライセンス16の署名が、秘密ルート鍵(private root key)(PR−R)(図示せず)で暗号化され、各DRMシステム32のブラックボックス30が、その秘密ルート鍵(PR−R)に対応する公開ルート鍵(public root key)(PU−R)(やはり図示せず)を含んでいる。秘密ルート鍵(PR−R)は、ルートエンティティにだけ知られ、ライセンスサーバ24は、ライセンス16を発行することをルートエンティティと取り決めた場合にだけ、ライセンス16を発行することができる。
【0137】
詳細には、この実施形態では、
1.ライセンスサーバ24が、自らの公開鍵(PU−LS)をルートエンティティに提供し、
2.ルートエンティティが、秘密ルート鍵(PR−R)で暗号化されたライセンスサーバ公開鍵(PU−LS)(すなわち、(CERT(PU−LS)S(PR−R)))をライセンスサーバ24に戻し、また
3.次に、ライセンスサーバ24が、ライセンスサーバ秘密鍵(S(PR−LS))で暗号化された署名を有するライセンス16を発行し、またルートエンティティからの証明書(CERT(PU−LS)S(PR−R))をライセンスに付加する。
【0138】
DRMシステム18が発行されたライセンス16を検証するには、DRMシステム18は、
1.公開ルート鍵(PU−R)を付加された証明書(CERT(PU−LS)S(PR−R))に適用してライセンスサーバ公開鍵(PU−LS)を獲得し、また
2.獲得されたライセンスサーバ公開鍵(PU−LS)をライセンス16の署名(S(PR−LS))に適用する。
【0139】
重要なことには、ルートエンティティが、ライセンスサーバ24に対して証明書(CERT(PU−LS)S(PR−R))を提供することによってライセンス16を発行する許可を与えると、ライセンスサーバ24は、同様の証明書を第2のライセンスサーバ24に提供することができ(すなわち、(CERT(PU−LS2)S(PR−LS1)))、これにより、第2のライセンスサーバもライセンス16を発行することができるようになることを認識されたい。既に明白である通り、第2のライセンスサーバによって発行されるライセンス16は、第1の証明書(CERT(PU−LS1)S(PR−R))、および第2の証明書(CERT(PU−LS2)S(PR−LS1))を含む。同様に、このライセンス16は、第1の証明書から第2の証明書までの連鎖を辿ることによって検証される。もちろん、その連鎖にさらなるリンクを追加してトラバース(traverse)することも可能である。
【0140】
前述した署名確認プロセスの1つの利点は、ルートエンティティが、定期的に秘密ルート鍵(PR−R)を変更し、これにより、各ライセンスサーバ24が新しい証明書(CERT(PU−LS)S(PR−R))を獲得することを同様に要求することが可能なことである。重要なことには、その新しい証明書を獲得する要件として、各ライセンスサーバが、自らをアップグレードすることが必要とされる可能性がある。ブラックボックス30の場合と同様に、ライセンスサーバ24が、比較的新しい場合、すなわち、比較的最近、アップグレードされている場合、ライセンスサーバ24が、成功裏に攻撃を受けている可能性がより低い。
したがって、信頼に関わることとして、各ライセンスサーバ24は、好ましくは、署名確認プロセスなどの適切なアップグレードトリガメカニズムを介して、定期的にアップグレードされることが必要とされる。もちろん、本発明の趣旨および範囲を逸脱することなく、他のアップグレードメカニズムも使用することができる。
【0141】
もちろん、秘密ルート鍵(PR−R)が変更された場合、各DRMシステム18における公開ルート鍵(PU−R)も変更されなければならない。この変更は、例えば、通常のブラックボックス30アップグレード中に行われることが可能であり、あるいは、実際に、ブラックボックス30アップグレードが行われることを要する可能性がある。変更された公開ルート鍵(PU−R)は、より古い秘密ルート鍵(PR−R)に基づいて発行されたより古いライセンス16に関する署名検証の障害になる可能性があるが、この障害は、アップグレードされたブラックボックス30が、すべての古い公開ルート鍵(PU−R)を憶えておくことを要求することによって最小限に抑えることができる。あるいは、ライセンス16に関する証明書確認を1回だけ、例えば、ライセンス16が、DRMシステム18のライセンスイバリュエータ36によって最初に評価されるときにだけ要求することにより、その障害を最小限に抑えることができる。その場合、署名確認が行われたかどうかに関する状態情報がまとめられなければならず、またその状態情報は、DRMシステム18の状態ストア40の中に記憶されなければならない。
【0142】
デジタル権利ライセンス48
本発明の一実施形態では、ライセンスイバリュエータ36が、ライセンス16の権利記述または権利条項としてデジタル権利ライセンス(DRL)48を評価して、DRL48により、求める仕方で対応するデジタルコンテンツ12をレンダリングすることが許されるかどうかが判定される。本発明の一実施形態では、DRL48は、任意のDRL言語でライセンサ(licensor)(すなわち、コンテンツ所有者)が書くことが可能である。
【0143】
理解されるべきこととして、DRL48を指定する多数のやり方が存在する。したがって、あらゆるDRL言語において高い度合いの柔軟性が見込まれなければならない。ただし、特定のライセンス言語におけるDRL48のすべての態様を指定することは実際的ではなく、その言語の作成者が、特定のデジタルライセンサが所望する可能性があるすべての可能なライセンシングの態様を理解できる可能性は、極めて低い。さらに、極めて高度なライセンス言語は、不必要であり、比較的簡単なDRL48を提供するライセンサには障害とさえなる可能性がある。それでも、ライセンサは、どのようにDRL48を指定すべきかを不必要に制限してはならない。同時に、ライセンスイバリュエータ36は、いくつかの特定のライセンス問題に関して常にDRL48から回答を得ることができなければならない。
【0144】
本発明では、図11を参照すると、DRL48は、任意のライセンス言語で指定することができるが、言語識別子、または言語タグ54を含む。ライセンス16を評価するライセンスイバリュエータ36が、言語タグ54を検討して言語を識別する予備ステップを行い、次に、その識別された言語でライセンス16にアクセスするのに適切なライセンス言語エンジン52を選択する。理解されるべきこととして、ライセンス言語エンジン52は、存在し、ライセンスイバリュエータ36がアクセスできなければならない。存在しない場合、言語タグ54および/またはDRL48は、好ましくは、言語エンジン52を獲得するための場所56(通常、Webサイト)を含む。
【0145】
通常、言語エンジン52は、ハードドライブなどのユーザのコンピューティングデバイス14のメモリの中に常駐する実行可能ファイル、または1組のファイルの形態をしている。言語エンジン52は、ライセンスイバリュエータ36を助けて、DRL48に直接に問合せを行い、ライセンスイバリュエータ36は、仲介役をする言語エンジン52等を介してDRL48に間接的に問合せを行う。実行されたとき、言語エンジン52は、RAMなどの、ユーザのコンピューティングデバイス14のメモリ内部の作業空間において実行される。ただし、本発明の趣旨および範囲を逸脱することなく、任意の他の形態の言語エンジン52も使用することができる。
【0146】
好ましくは、任意の言語エンジン52、および任意のDRL言語が、以下に述べる通り、あらゆるDRL48によって応えられることをライセンスイバリュエータ36が予期する少なくともいくつかの特定のライセンス問題をサポートする。したがって、ライセンスイバリュエータ36は、何らかの特定のDRL言語には結び付いておらず、DRL48は、任意の適切なDRL言語で書くことができ、また、新しいライセンス言語で指定されたDRL48が既存のライセンスイバリュエータ36によって使用されることが、対応する新しい言語エンジン52をライセンスイバリュエータ36に獲得させることによって可能になる。
【0147】
DRL言語
それぞれDRL48で実現されたDRL言語の2つの例を以下に提示する。第1の「簡単な」DRL48は、ライセンス属性を指定するDRL言語で書かれ、一方、第2の「スクリプト」DRL48は、DRL48の中で指定されたスクリプトに従って機能を行うことができるDRL言語で書かれる。DRL言語で書かれているが、コードの各行の意味は、各行の言語(linguistics)、および/または以下の属性記述チャートに基づいて明白なはずである。
【0148】
Figure 0004615832
Figure 0004615832
Figure 0004615832
Figure 0004615832
Figure 0004615832
以上に指定した2つのDRL48では、リストされた属性が、以下の表の記述およびデータタイプを有する。
【0149】
【表1】
Figure 0004615832
【0150】
【表2】
Figure 0004615832
【0151】
【表3】
Figure 0004615832
【0152】
メソッド
前述した通り、任意の言語エンジン52および任意のDRL言語が、デジタルライセンスイバリュエータ36が、あらゆるDRL48によって応えられるものと予期する少なくともいくつかの特定のライセンス問題をサポートすることが好ましい。サポートされる問題を認識することには、本発明の趣旨および範囲を逸脱することなく、前述した2つのDRL48の例で使用した用語法と整合するあらゆる問題が含まれる可能性があり、本発明の一実施形態では、サポートされる問題、つまり「メソッド」には、以下の通り、「アクセスメソッド」、「DRLメソッド」、および「イネーブル使用(enabling use)メソッド」が含まれる。
【0153】
アクセスメソッド
アクセスメソッドは、最上位レベルの属性に関してDRL48にクエリを行うのに使用される。
【0154】
VARIANT QueryAttribute(BSTR key)
有効な鍵は、BSRT Variantをそれぞれが戻すLicense.Name、License.Id、Content.Name、Content.Id、Content.Type、Owner.Name、Owner.Id、Owner.PublicKey、Licensee.Name、Licensee.Id、Licensee.PublicKey、Description、およびTerms、ならびにDate Variantをそれぞれが戻すIssued、Validty.Start、およびValidy.Endを含む。
【0155】
DRLメソッド
以下のDRLメソッドの実装は、DRL48ごとに異なる。DRLメソッドの多くは、より高度な情報をDRL48に伝えることを目的とする「データ」というラベルが付けられた変種のパラメータを含む。これは、現在、主に将来的な拡張性のためのものである。
【0156】
Boolean IsActivated(Variant data)
このメソッドは、DRL48/ライセンス16がアクチベートされているかどうかを示すブーリアン(Boolean)を戻す。アクチベートされたライセンス16の例は、初回の再生時に48時間だけアクティブである制限された動作のライセンス16である。
【0157】
Activate(Variant data)
このメソッドは、ライセンス16をアクチベートするのに使用される。ライセンス16は、アクチベートされると、非アクチベートとすることができない。
【0158】
Variant QueryDRL(Variant data)
このメソッドは、より高度なDRL48と通信するのに使用される。これは、主に、DRL48機能セットの将来的な拡張性に関するものである。
【0159】
Variant GetExpires(BSTR action,Variant data)
このメソッドは、提出済みアクション(passed−in action)に関するライセンス16の失効日を戻す。戻り値がNULLである場合、ライセンス16は、決して失効しないか、またはアクチベートされていない等のために、まだ失効日を有さないものと考えられる。
【0160】
Variant GetCount(BSTR action,Variant data)
このメソッドは、残っている提出済みアクションの動作の回数を戻す。NULLが戻された場合、その動作は、無制限の回数、行うことができる。
【0161】
Boolean IsEnabled(BSTR action,Variant data)
このメソッドは、ライセンス16が、現時点で要求されたアクションをサポートするかどうかを示す。
【0162】
Boolean IsSunk(BSTR action,Variant data)
このメソッドは、ライセンス16の代金が支払われているかどうかを示す。前払いで代金が支払われているライセンス16は、TRUEを戻し、一方、使用されるにつれて代金を徴収するライセンス16などの、前払いで代金が支払われていないライセンス16は、FALSEを戻す。
【0163】
イネーブル使用メソッド
このメソッドは、コンテンツを解読する際に使用するためにライセンス16をイネーブルにするのに使用される。
【0164】
Boolean Validate(BSTR key)
このメソッドは、ライセンス16を検証するのに使用される。提出済みの鍵は、ライセンス16の署名の検証で使用するための対応するデジタルコンテンツ12に関する暗号解読鍵(KD)で暗号化されたブラックボックス30公開鍵(PU−BB)(すなわち、(KD(PU−BB)))である。TRUEの戻り値は、ライセンス16が有効であることを示す。FALSEの戻り値は、無効を示す。
【0165】
int OpenLicense 16(BSTR action,BSTR key,Variant data)
このメソッドは、解読されたイネーブルビット(enabling bit)にアクセスする準備をするのに使用される。提出済みの鍵は、前述した通り、(KD(PU−BB))である。0の戻り値が、成功を示す。その他の戻り値は、定義することができる。
【0166】
BSTR GetDecryptedEnablingBits(BSTR action,Varinat data)
Variant GetDecryptedEnablingBitsAsBinary(BSTR action,Variant Data)
このメソッドは、解読された形態のイネーブルビットにアクセスするのに使用される。いくつかの理由のどれかのためにそれが成功しなかった場合、空のストリング、または空のバリアント(variant)が戻される。
【0167】
void CloseLicense(BSTR action,Variant data)
このメソッドは、提出済みアクションを行うためにイネーブルビットへのアクセスをロック解除するのに使用される。いくつかの理由のどれかのためにこれが成功しなかった場合、空のストリングが戻される。
【0168】
ヒューリスティック
前述した通り、同一のデジタルコンテンツ12に関して複数のライセンス16が存在する場合、ライセンス16の1つが、さらなる使用のために選択されなければならない。前述したメソッドを使用して、この選択を行うために以下のヒューリスティックを実施することが可能である。詳細には、デジタルコンテンツ12に対してアクション(例えば、「再生」)を行うため、以下のステップを行うことが可能である。
【0169】
1.特定のデジタルコンテンツ12に適用されるすべてのライセンス16を獲得する。
2.アクションを可能にしない各ライセンス16を、そのライセンス16に対してIsEnabledファンクションを呼び出すことによって除去する。
3.アクティブでない各ライセンス16を、そのライセンス16に対してIsActivatedを呼び出すことによって除去する。
4.前払いで代金が支払われていない各ライセンス16を、そのライセンス16に対してIsSunkを呼び出すことによって除去する。
5.何らかのライセンス16が残っている場合、そのライセンス16を使用する。特に、無制限回数の再生のライセンス16が失効日を有する場合、無制限回数の再生のライセンス16を使用してから、制限された回数の再生のライセンス16を使用する。あらゆる時点で、ユーザは、既に獲得された特定のライセンス16を選択することが、その選択の費用対効果が大きくない場合でも、許されていなければならない。したがって、ユーザは、DRMシステム32には、場合により、明白でない基準に基づいてライセンス16を選択することができる。
6.ライセンス16が全く残っていない場合、そのことを示すステータスを戻す。次に、ユーザに、以下のオプションが与えられる。すなわち、
前払いで代金が支払われていないライセンス16が利用可能である場合、そのライセンス16を使用すること、
あるライセンス16が利用可能である場合、そのライセンス16をアクチベートすること、かつ/または
ライセンスサーバ24からのライセンス獲得を行うこと。
【0170】
比較的単純なデバイスのための単純化された暗号解読
理解されるべきこととして、以上に述べたDRMアーキテクチャ10は、とりわけ、ユーザのコンピューティングデバイス14が、コンテンツ12をレンダリングするライセンス16を受け取るのに先立って、アーキテクチャの中の正当なDRM構成要素として自らを認証するようにさせることによってデジタルコンテンツ12を保護する技術である。この認証は、署名された証明書、交渉、非対称鍵および対称鍵の交換等を含む対話式プロセスを含み、対話式プロセスは、コンピューティングデバイス14と、ライセンスサーバ24などの遠隔のエンティティの間でネットワーク接続等を介して達せられる。
【0171】
ただし、一部の場合では、コンテンツ12がレンダリングされるデバイスは比較的小さく、および/または単純であり、前述した対話式プロセスにおいて非対称鍵暗号解読を行うことや、ネットワーク接続等を介して遠隔のエンティティと通信することなどの比較的複雑な機能を有さないことを理解されたい。代わりに、比較的小さく、および/または単純なデバイスは、通常、記憶媒体上でコンテンツ12等を受け取るか、またはホストコンピュータから内部メモリの中にコンテンツ12等をダウンロードすることができる。したがって、デバイスが非対称鍵暗号解読を行う必要がなく、Web接続またはネットワーク接続を要さない、DRMアーキテクチャ10を比較的小さく、および/または単純なデバイスにも適用するメカニズムおよび方法の必要性が存在する。
【0172】
簡単に述べると、本発明では、デバイスは、デバイス鍵(DK)、および何らかの形態のDRMシステムを与えられることによって事前許可(pre−authorize)を受け、許可は、テーブルを介して確認され、DRMシステムは、(DK)を使用して、パスワードまたはさらなる暗号解読鍵などの秘密を解明する。テーブルは、磁気データディスク、または光データディスク、あるいはデータカードなどの事前記録された媒体上で、またはデバイスのメモリに対する直接のコンテンツのブロードキャスト、またはその他の大量配布(mass publication)においてコンテンツ12に付随することが可能である。デバイスは、テーブル内部へのアクセスを可能にする(DK)およびDRMシステムを有することにより、コンテンツ12を使用することが許可される。
【0173】
次に、図13を参照すると、デジタルコンテンツ12を獲得し、レンダリングする1つの様式において、デジタルコンテンツ12がソース60からダウンロードされ、記憶媒体61上に置かれるのが見られ、記憶媒体61は、比較的小さく、および/または単純なデバイス62に装てんされるか、あるいはデバイス62内部にある。ソース60は、ソース60と記憶媒体61の間で適切な接続が存在しなければならないことに留意して、本発明の趣旨および範囲を逸脱することなく、任意の適切なソースであることが可能である。同様に、記憶媒体61も、本発明の趣旨および範囲を逸脱することなく、任意の適切な媒体であることが可能である。
【0174】
例えば、ソース60は、コンテンツ12が提供される場所である、またはコンテンツ12の提供が媒介されるホストコンピュータ、遠隔のサーバロケーション、またはホストコンピュータとサーバロケーションの組合せであることが可能である。同様に、記憶媒体61は、光ディスク、磁気ディスク、メディアカードなどのようにポータブルであることが可能であり、あるいはデバイス62の内部メモリであることが可能である。前者の場合、例えば、コンテンツ12、および関連するデータは、キオスク、場合によっては小売店にあるソース60からダウンロードされることが可能である。内部メモリである場合、例えば、デバイス62が、例えば、ホストコンピュータなどのソース60に結合され、コンテンツ12および関連するデータが、デバイス62に直接にダウンロードされることが可能である。
【0175】
本発明の一実施形態では、コンテンツ12が媒体61にダウンロードされる際、対応するデジタルライセンス16も獲得され、ダウンロードされるか、または別の仕方で媒体61上に置かれる。ライセンス16は、媒体61のために獲得されるライセンスであることが可能であり、あるいは例えば、ホストコンピュータなどの別のコンピューティングデバイス14のために獲得されたライセンス16から導出されたサブライセンス16sであることが可能である。ライセンス16からサブライセンス16sを導出するための方法は、2001年6月27日に出願した文献に記載している(例えば、特許文献1または2参照)。あるいは、獲得されたコンテンツ12が、内部に獲得されたライセンス16を含むことが可能である。
【0176】
通常、デバイス62は、コンテンツを解読すること、コンテンツをレンダリングすることなどのプレーヤ動作のために比較的少量のメモリを保留している。比較的少量のメモリでは、デバイス62は、非対称(すなわち、公開鍵−秘密鍵)暗号解読を行うことができない可能性が高い。したがって、本発明の一実施形態では、デバイス62は、デバイス62上のメモリの中でインスタンス化されるポータブルDRMシステム32p(図13)だけを使用して対称暗号解読を行う。
【0177】
本発明の一実施形態では、前述した文献(例えば、特許文献1または2参照)に開示した題材の場合と同様に、媒体61に関してデジタルコンテンツ12、および対応するデジタルライセンス16またはサブライセンス16を獲得することはすべて、例えば、自宅のパーソナルコンピュータ、または小売店におけるキオスクにあるコンピュータなどのホストコンピュータ等を使用して行われる。詳細には、ホストコンピュータは、対応するデジタルコンテンツ16に関するライセンス16を獲得し、次に(必要な場合)、デバイス62上でデジタルコンテンツ12をレンダリングするためにサブライセンス16sを媒体61に発行する。サブライセンス16sは、本発明の趣旨および範囲を逸脱することなく、ソース60から媒体61にデジタルコンテンツをダウンロードしている最中に発行されること、またはソース60から媒体61にデジタルコンテンツ12をダウンロードする前、またはダウンロードした後のある時点で発行されることが可能である。
【0178】
理解することができるように、サブライセンス16sが発行される場合、発行されたサブライセンス16sは、デバイス62において媒体61上で対応するコンテンツ12をレンダリングするのに満たされなければならない制限が存在する場合、その制限を指定することができる。もちろん、サブライセンス16sは、適切なライセンスサーバ24から獲得された対応するライセンス16の条項に従って許可される場合にだけ、発行することができる。サブライセンス16sを発行する際、サブライセンス16sの少なくとも一部分が、デバイス62により適した形態に書き換えられる。詳細には、コンピュータ60が、コンテンツ12を解読するためのコンテンツ鍵(KD)を、デバイス62による暗号解読により適した形態に暗号化しなおす。この場合、本発明の一実施形態では、コンテンツ鍵は、媒体61上のテーブル64の中に記憶された対称鍵に従って暗号化しなおされ、対称鍵は、デバイス62のデバイス鍵(DK)に従って暗号化されている。
【0179】
詳細には、コンピュータ60上のライセンス16の中のコンテンツ鍵(KD)が、前述した仕方でホストコンピュータのブラックボックス公開鍵(PU−BB−HC)などの非対称鍵に従って暗号化されているものと想定すると、ホストコンピュータは、前述した仕方でホストコンピュータのブラックボックス秘密鍵(PR−BB−HC)のブラックボックス秘密鍵を適用することによってコンテンツ鍵(KD)を獲得し、少なくともデバイス62の対称鍵(DK)に従ってコンテンツ鍵(KD)を暗号化しなおす。したがって、理解されるべきこととして、コンテンツ鍵(KD)は、(DK)およびサブライセンス16sの適用によって適切な時点で、デバイス62による獲得が可能である。理解されるべきこととして、コンテンツ鍵(KD)を暗号化しなおすことなしには、(PR−BB−HC)を知らないデバイス62は、(PU−BB−HC(KD))を解読して(KD)を獲得することができない。
【0180】
サブライセンス16sを作成するための手続きは、前述した文献(例えば、特許文献1または2参照)により詳細に記載されており、したがって、本明細書で詳述するまでもないない。本発明に鑑みて必要なこの手続きのあらゆる変形形態は、文献(例えば、特許文献1または2参照)に基づいて当分野の技術者一般には明白であろう。
【0181】
やはり図13を参照すると、デジタルコンテンツ12、および対応するライセンス16またはサブライセンス16sを媒体61にダウンロードするため、媒体61は、本発明の趣旨および範囲を逸脱することなく、任意の適切な接続であることが可能な接続63を介してソース60に結合しなければならない。理解することができるように、媒体61が何らかの形態のポータブルの書込み可能なストレージである場合、接続63は、媒体61が装てんされる適切なドライブである。同様に、媒体61が、デバイス62内部にある場合、接続63は、適切なケーブル、RFリンクまたはIRリンクなどの無線リンク等であることが可能である。接続63、および接続63をサポートするハードウェアおよび/またはソフトウェアは、周知であるか、または当分野の技術者一般には明白なはずであり、したがって、本明細書でより詳細に説明するまでもないない。
【0182】
注目すべきこととして、デバイス62は、その単純さに基づき、特に信頼に値するものと考えることができる。つまり、単純なデバイス62は、限られた機能およびアクセス可能性を有することが可能であり、したがって、コンテンツ泥棒、または他の不正な個人による攻撃に対して特に強い。したがって、そのような状況では、サブライセンス16sは、絶対に必要ではない。代わりに、コンテンツ12は、テーブル64を介してデバイス62に利用可能な対称鍵に従って暗号化された媒体61上に配置することが可能であり、デバイス62は、テーブル64の対称鍵を使用してその暗号化されたコンテンツ12を自在にレンダリングすることができる。もちろん、これを行うためには、ホストコンピュータ60によって獲得されたコンテンツ12を、前述したのと同様の仕方で対称鍵に従って解読し、次に暗号化しなおさなければならない可能性が高い。これを行うための詳細および方法は、本開示に基づいて当分野の技術者一般には明白であろう。
【0183】
あるいは、コンテンツ12は、暗号化されていない形態で媒体61上に置かれるが、テーブル64を介してパスワード等がデバイス62に利用可能な場合にだけそのデバイスがアクセスできることが可能であり、デバイス62は、テーブル64の中のパスワードを使用して暗号化されたコンテンツ12を自在にレンダリングすることができる。この場合も、ホストコンピュータ60によって獲得されたコンテンツ12を解読し、次に、パスワード保護しなければならない可能性が高い。これを行うための詳細および方法は、当分野の技術者一般には明白であろう。
【0184】
前述した通り、媒体61上のコンテンツ12にアクセスするためのコンテンツ鍵(KD)、コンテンツ12に関するパスワード等(以降、「秘密」)は、少なくともデバイス62のデバイス鍵(DK)に従って暗号化される。デバイス62は、本発明では、本発明の趣旨および範囲を逸脱することなく、実際には、その機能が存在することが可能であるが、デバイス鍵(DK)を媒体61、またはホストコンピュータ60に伝えることができないものと想定されている。したがって、コンテンツ12に関するコンテンツ鍵(KD)の暗号化を行うエンティティは、デバイス鍵(DK)を既に所有していなければならない。注目すべきこととして、数百万、あるいはそれより多くのデバイス62が存在する可能性があり、各デバイス62が、独自の固有であるものとされるデバイス鍵(DK)を有する可能性がある。しかし、前述した暗号化を行うエンティティが、すべてのデバイス62に関する固有のデバイス鍵(DK)を知っていることは期待できない可能性が高い。
【0185】
したがって、本発明の一実施形態では、各デバイス62が、固有でないデバイス鍵(DK)を有し、これにより、前述したエンティティが所有していなければならないデバイス鍵(DK)の数が、扱いやすいレベルに保たれる。それでも、各デバイス62は、本発明の趣旨および範囲を逸脱することなく、独自の固有のデバイス鍵(DK)を有することも可能である。ただし、各デバイス62が固有でないデバイス鍵(DK)を有するものと想定すると、固有でないデバイス鍵(DK)をデバイス62に配布することを、本発明の趣旨および範囲を逸脱することなく、任意の適切なやり方で行うことができる。例えば、デバイス62の各製造業者に特定のデバイス鍵(DK)を割り当てることが可能であり、これにより、その製造業者によって製造されたすべてのデバイス62が、その製造業者特有の(DK)を備える。同様に、デバイス62の各モデル62に特定の(DK)を割り当てることが可能である。同様に、デバイス62の各製造業者、または各モデルに、デバイス62の特定のものにランダムに、または意図的に提供されたいくつかのデバイス鍵(DK)を割り当てることが可能である。
【0186】
媒体61に保護されたコンテンツ12(暗号化されているか、またはパスワード保護されている)をダウンロードするホストコンピュータ60は、媒体61がどのデバイス62に装てんされるか、またはどのデバイス62の内部にあるかを必ずしも知らない。したがって、図13に見られる通り、本発明の一実施形態では、ホストコンピュータ60は、テーブル64もダウンロードし、テーブル64は、既知のいくつかのデバイス鍵(DK)のそれぞれに従って暗号化されたコンテンツ12の秘密を中に有している。見られる通り、それぞれの暗号化された秘密は、その秘密を暗号化したデバイス鍵(DK)の識別子を指定する対応するインデックス値を有する。
【0187】
本発明の一実施形態では、テーブル64は、対応するコンテンツ12をレンダリングするのに使用されるデバイス62のデバイス鍵(DK)に従って暗号化された秘密を中に含む。テーブル64は、本発明の趣旨および範囲を逸脱することなく、ホストコンピュータ60に既知であるすべてのデバイス鍵(DK)に従って、またはそのデバイス鍵(DK)のサブセットに従って暗号化された秘密を有することが可能であることに留意されたい。例えば、ダウンロードを実行するユーザが、デバイス62がある特定の製造業者によって製造されていることを指定することができ、したがって、テーブル64は、その製造業者のすべてのデバイス鍵(DK)に従って暗号化された秘密を含む。同様に、ユーザは、デバイス62がいくつかの特定のデバイス62のどれかである可能性があることを指定することができ、したがって、テーブル64は、そのいくつかの特定のデバイス62のすべてのデバイス鍵(DK)に従って暗号化された秘密を含む。
【0188】
次に、媒体61上のコンテンツ12をレンダリングするため、デバイス62は、そのコンテンツ12に対応する媒体61上のテーブル64を参照し、デバイス62のデバイス鍵(DK)に従って暗号化された秘密を指し示す。詳細には、図14を参照すると、デバイス62は、コンテンツ12をレンダリングするように指示されると(ステップ1401)、デバイス62自らに対応するテーブル64を獲得し(ステップ1403)、デバイス62自らのデバイス鍵(DK)、および(DK)のインデックス値を獲得し(ステップ1405)、獲得されたインデックス値に基づいてテーブル64の中を指し示し(ステップ1407)、対応する暗号化された秘密を選択する(ステップ1409)。次に、デバイス62は、獲得されたデバイス鍵(DK)を暗号化された秘密に適用してその秘密を露見させ(ステップ1411)、露見された秘密を適用して対応するコンテンツ12をレンダリングする(ステップ1413)。例えば、秘密を使用してコンテンツ12を解読することができる場合、または秘密をライセンス16またはサブライセンス16sに適用してコンテンツ12のレンダリングを可能にすることができる場合、秘密により、コンテンツ12のレンダリングが直接に可能になることに留意されたい。
【0189】
本発明の一実施形態では、媒体61上のテーブル64は、媒体61上の複数のコンテンツ12に対応する共通のテーブル64であり、複数のコンテンツ12のそれぞれが、単一の共通の秘密によって保護されている。したがって、媒体61上の複数のコンテンツ12のどれをレンダリングするのにも、デバイスは、共通のテーブル64を参照して共通の秘密を獲得するだけでよい。したがって、図14に示したのと実質的に同じ方法を使用することができる。
【0190】
前述した通り、ホストコンピュータ60によって生成されたテーブル64は、ホストコンピュータ60に既知のすべてのデバイス鍵(DK)に従って、またはそのデバイス鍵(DK)のサブセットに従って暗号化された秘密を有することが可能である。サブセットに従って暗号化された秘密を有する場合、テーブル64の中のサブセットからデバイス鍵(DK)を排除することにより、対応するデバイス62が、対応するコンテンツ12をレンダリングすることが防止される。すべてのデバイス鍵(DK)に従って暗号化された秘密を有する場合、対応する暗号化された秘密に関してテーブル64の中のフィールドを空白のままにすることにより、対応するデバイス62がコンテンツ12をレンダリングすることが、同様に防止される。あるいは、そのフィールドを、わけのわからない話または無意味なデータなどの何らかの代わりのデータで埋めることができる。
【0191】
本発明の一実施形態では、各デバイス62が、単一ではないより多くのデバイス鍵(DK)を備える。したがって、デバイス62は、コンテンツ12をレンダリングするのに必要な秘密を露見させるものが見出されるまで、テーブル64に対して各(DK)を使用することを試みる。この実施形態では、デバイス62を(例えば、信頼に値しないものとして)無効にすることが必要であると判明した場合、ホストコンピュータは、そのデバイス62のデバイス鍵(DK)のすべてに対応するエントリをテーブル64から除外しなければならない。そのような状況では、デバイス鍵A、B、C、およびDを有する無効にされたデバイス62により、テーブル64からのデバイス鍵A、B、C、およびDの「取消し」がもたらされる。そのような状況では、デバイス鍵B、C、D、およびEを有するデバイス62は、それでも、デバイス鍵Eも取り消されているのではないものと想定すると、テーブル64で、デバイス鍵Eをインデックスとする秘密にアクセスすることができるが、鍵B、C、またはDをインデックスとする秘密にはアクセスすることができない。
【0192】
本発明の一実施形態では、ホストコンピュータ60は、媒体61にダウンロードされるテーブル64を作成する際、および媒体にダウンロードされるコンテンツ12を保護する際、テーブル64およびコンテンツ12を媒体61に結び付ける。したがって、テーブル64およびコンテンツ12は、他の媒体61に自由に移すことができない。この場合、コンテンツ12を結び付けることは、テーブル64から露見された秘密と、媒体61を識別するIDの組合せである最終の秘密を使用してコンテンツ12を露見させることによって行われる。媒体61のIDは、本発明の趣旨および範囲を逸脱することなく、任意の適切なIDであることが可能である。例えば、IDは、媒体61に永久的に関連付けられた通し番号であることが可能である。最終の秘密は、例えば、SHAアルゴリズムまたはHMACアルゴリズムに基づいて獲得されることが可能な秘密およびIDの一方向ハッシュであることが可能である。したがって、最終の秘密を分解して秘密にすることは容易に行うことができない。
【0193】
本発明の一実施形態では、テーブル64は、媒体61のIDを秘密裏に組み込むことによって媒体61に結び付けられる。IDは、テーブル64に付けられる署名のための少なくとも1つの基準として使用することによってテーブルに秘密裏に組み込むことができる。あるいは、IDをテーブル64の秘密によって暗号化する、または署名することができる。
【0194】
理解されるべきこととして、媒体61のIDは、テーブル64を構成し、媒体61に対してコンテンツ12を準備するのに先立ってホストコンピュータ60から収集され、テーブル64およびコンテンツ12は、実際、媒体61に結び付けられるようにホストコンピュータ60によって構成され/準備される。次に、テーブル64が媒体61に関連付けられていることを確認するため、図15を次に参照すると、デバイス62が、媒体61からのIDにアクセスし(ステップ1501)、テーブル64からのIDにアクセスし(ステップ1503)、その2つのIDを比較してそれらが一致するかどうかを判定する(ステップ1505)。一致する場合、レンダリングに取りかかることが許可される(ステップ1507)。ステップ1503でテーブル64からのIDにアクセスすることには、テーブル64の署名を確認して、アクセスされたIDが不正変更されていないことを確かめること(ステップ1503a)、または露見された秘密を暗号化されたIDに適用して(図14のステップ1411)IDを明らかにすること(ステップ1503b)が関わる可能性がある。
【0195】
コンテンツ12が媒体61に関連付けられていることを確認するため、デバイス62は、露見された秘密および確認されたIDをハッシュに適用して最終の秘密を生成する(ステップ1509)。もちろん、最終の秘密が、コンテンツ12のレンダリングをうまく可能にするかどうかの確認が行われる(ステップ1511)。デバイス62は、媒体からのIDにアクセスし(ステップ1501)、露見された秘密およびアクセスされたIDをハッシュに適用して最終の秘密を生成する(ステップ1509)ことだけにより、IDの確認を単純化できることに留意されたい。生成された最終の秘密により、コンテンツ12をレンダリングすることに失敗した場合、デバイス62は、その失敗を説明する目的でテーブル64を確認することができる。
【0196】
前述した通り、媒体61のIDに基づくテーブル64の第1の署名を使用して、テーブル64に関連付けられたIDを確認することができる。同様に、テーブル全体、またはテーブルの一部分が、許可を与えるエージェントによって提供された第2の署名の基準であることが可能である。第2の署名は、コンテンツ12をレンダリングするのにデバイス64によって必要とされていないが、新しいコンテンツ12を既存のテーブル64とともに媒体61に追加するデバイスまたはアプリケーションのためのセキュリティ上の予防策として使用することができる。詳細には、第2の署名は、既存のテーブル64が、不正なエンティティによってではなく、許可を与えるエージェントによって作成されたことを確認する。また、第2の署名は、テーブル64のバージョン番号(以下を参照)を検証するのに役立ち、したがって、テーブル64の「新しさ(freshness)」を検証するのに役立つ。
【0197】
媒体61上のテーブル64内の詳細は、ときどき更新される、または変更される必要がある可能性があることを認識されたい。例えば、デバイス62が無効にされ、デバイス62に関するデバイス鍵(DK)に関するテーブルエントリを除去する必要があり、および/または新しいエントリを追加する必要があり、および/またはテーブル64の秘密を変更する必要がある可能性がある。特に、媒体61が更新される可能性があるが、同時に古いコンテンツ12および古い機能を保持しなければならないとき、困難が生じる。ホストコンピュータ60が、新しい(保護された)コンテンツ12を媒体61に書き込み、古い(保護された)コンテンツが媒体61上に既に存在するとき、特にテーブル64が比較的古い場合、これが当てはまる。この場合、本発明の一実施形態では、古い秘密を有する媒体61上の古いテーブル64が、新しい秘密を有する新しい更新されたテーブル64で置き換えられる。新しい秘密を有する新しいテーブル64は、もちろん、その新しい秘密で保護された媒体61上の新しいコンテンツ12をサポートする。重要なこととして、新しいテーブル64は、古い秘密によって保護される媒体61上の古いコンテンツ12もサポートしなければならない。無効にされたデバイス62を含むすべてのデバイス62が、古いコンテンツ12に対するアクセスを保持しなければならない。
【0198】
これは、テーブル64自体、およびテーブル64の中の各エントリに、アドミニストレータによって保持されるマスタテーブル68との関係で減少しないバージョン値が与えられる図16に示したようなテーブルによって達せられる。アドミニストレータは、本発明の趣旨および範囲を逸脱することなく、任意の適切なエンティティであることが可能であり、マスタテーブル68の中で、任意のテーブル64の中に入れられる可能性があるすべての対称デバイス鍵(DK)を保持することを主に担う。
【0199】
各デバイス鍵(DK)に加えて、アドミニストレータは、例えば、各デバイス鍵(DK)に関するインデックス値や有効フラグなどの情報をマスタテーブル68の中で保持することもできる。理解することができるように、アドミニストレータは、デバイス鍵(DK)がもはや信頼に値しなくなり、したがって、無効にされるときを決定するか、または別のエンティティからその決定を受け取り、それに応じて、そのデバイス鍵(DK)に関する有効フラグにマークを付ける。もちろん、マスタテーブル68は、本発明の趣旨および範囲を逸脱することなく、その他の情報を有することが可能である。重要なこととして、マスタテーブル68は、バージョン値も含み、アドミニストレータがマスタテーブル68を変更するたびに毎回、マスタテーブル68のバージョン値がインクリメントされる。このバージョン値は、バージョン番号、日付、またはその他の増加する値であることが可能である。
【0200】
秘密(N)を有する媒体61上のテーブル(N)が新しい秘密(N+1)を有する新しいテーブル(N+1)64で置き換えられるたびに毎回、その後に媒体61上に置かれた新しいコンテンツ12が、新しい秘密(N+1)にリンクされる。同時に、あらゆる新しいテーブル64の中で、各秘密(N)が、前の秘密(N−1)を暗号化して保護して、媒体61にそれまで関連付けられたすべての秘密、および媒体61上のコンテンツ12が、秘密の「デイジーチェーン」からアクセス可能であるようにする。これにより、デイジーチェーン内の特定の秘密にアクセスすることができるデバイス62が、拡張により、デイジーチェーン内のすべてのより早期の秘密にアクセスすることが可能になるが、より後の秘密のどれにもアクセスすることができない。もちろん、デバイス62は、無効にされているのでない限り、媒体61の最新の秘密にアクセスすることができなければならない。
【0201】
以上のことに基づき、媒体61上のコンテンツ12およびテーブル64を簡便にし、実現し、サポートするための方法について以下に述べる。
【0202】
次に、図17を参照すると、媒体61上に全くテーブル64がない状態で媒体61に新しい秘密のテーブル64を書き込むのに、ホストコンピュータ60は、まず、キャッシュ66(図13)からテーブル64を獲得する(ステップ1701)。キャッシュ66は、少なくとも1つの秘密テーブル64を含み、各テーブル64は、テーブルサーバ等(図示せず)を使用してマスタテーブル68、およびマスタテーブル68のアドミニストレータから獲得された相異なる秘密に基づいている。キャッシュ66に配信されるテーブルサーバによる、またはテーブルサーバのためのテーブル64の生成は、本発明の趣旨および範囲を逸脱することなく、任意の適切な方法によって行われることが可能である。
【0203】
例えば、テーブル64を生成するのに、テーブルサーバまたは別のデバイスは、マスタリストおよび乱数発生器にアクセスを有することが可能であり、乱数発生器を使用して秘密の値を生成することができる。次に、マスタリストの中のそれぞれ有効なデバイス鍵(DK)に関して、そのデバイス鍵(DK)を使用して、生成された秘密を暗号化し、暗号化された秘密が、生成中のテーブル64の中に適切に入れられる。ただし、マスタテーブル68の中のそれぞれの無効なデバイス鍵(DK)に関しては、秘密は、その鍵(DK)によって暗号化されず、生成中のテーブル64の中には入れられないことに留意されたい。代わりに、(DK−X(SECRET))のためのスペースは、単に空白のままにされるか、または0などの何らかの所定の値で埋められる。さらに、マスタリストのバージョン番号が、生成中のテーブル64のバージョン番号として採用され、適切な場所でテーブル64の中に入れられ、テーブル64のバージョン番号を含むテーブル64が、アドミニストレータ、または別のエンティティ(すなわち、前述した許可を与えるエージェント)の秘密鍵によって署名される。
【0204】
この場合、理解されるべきこととして、デマンド等に基づき、適切な時点で1つまたは複数のテーブル64がキャッシュ66の中に入れられる。あるいは、新しいテーブル64が、キャッシュ66として動作しているテーブルサーバから直接にオンデマンドで獲得されることが可能である。ホストコンピュータ64は、本発明の趣旨および範囲を逸脱することなく、キャッシュ66からのテーブル64を1回、または複数回、使用できることに留意されたい。
【0205】
デバイス62と同様に、ホストコンピュータ60は、任意のテーブル64の中を指し示すデバイス鍵(DK)を有する。したがって、ホストコンピュータ60は、デバイス鍵(DK)、およびデバイス鍵(DK)のインデックス値を使用して、獲得されたテーブル64の中で対応するエントリを見出し、そのテーブル64の秘密を明らかにする(ステップ1703)。ホストコンピュータ60は、いくつかのデバイス鍵(DK)を有することが可能であることに留意されたい。獲得されたテーブル64の中の鍵エントリのどれも、最新のテーブルバージョンに一致しない場合、ホストコンピュータのデバイス鍵(DK)は陳腐化しているか、または取り消されており、更新してからでないと、媒体61に全くコンテンツ12を書き込むことができない。
【0206】
獲得されたテーブル64の秘密が明らかにされると、ホストコンピュータは、媒体61のID番号を獲得し(ステップ1705)、そのID番号を獲得されたテーブル64に付加する(ステップ1707)。このテーブル64は、媒体61上に置かれる最初のものであるので、ホストコンピュータ60は、0または1などのバージョン番号をテーブルに割り当てるか、またはテーブル64が、バージョン番号を既に含んでいる。次に、ホストコンピュータ60は、媒体61のID番号が実際に使用されると想定すると、秘密で暗号化または署名を行って、そのID番号を使用してテーブル64を媒体61に結び付け(bind)る(ステップ1709)。その後、ホストコンピュータ60は、テーブル64を媒体61にコピーする(ステップ1711)。
【0207】
次に、媒体61が、自らの上にテーブル64を既に有しており、新しいコンテンツ12を受け取るものと想定して、図18を参照すると、ホストコンピュータが、媒体61上のテーブル64を検査して、テーブルの中の署名が検証されるかどうかを調べる(ステップ1801)。検証されない場合、媒体61は、不良である可能性が高く、再フォーマットされなければならない。さらに、ホストコンピュータ60は、媒体61上でテーブルのバージョン番号、および/またはその他の情報を獲得し(ステップ1801)、そのバージョン番号および/またはその他の情報に基づいてテーブル64が陳腐化しているかどうかを判定する(ステップ1803)。例えば、ホストコンピュータ60は、獲得されたバージョン番号、および/またはその他の情報に基づき、テーブル64が比較的古いこと、またはテーブル64が、ある無効にされたデバイス62を反映していないことを判定することができる。加えて、または別法として、新しいコンテンツ12に対応するライセンス16の中の条項により、テーブル64がより新しいバージョン番号に更新されることが必要とされることが可能である。例えば、媒体61上のテーブル64のバージョン番号が40であり、および条項により、そのバージョン番号が少なくとも60であることが要求される場合、テーブル64を更新しなければならない。
【0208】
媒体61上のテーブル64が実際に更新されなければならない場合、ホストコンピュータは、既に媒体61上にある第N番のテーブル64と置き換わる新しい第(N+1)番のテーブル64を生成して(ステップ1805)、その第(N+1)番のテーブル64を媒体61の上に置く(ステップ1807)。詳細には、図18Aを参照すると、ホストコンピュータは、第(N+1)番の秘密を有する第(N+1)番のテーブル64をキャッシュ66から獲得し(ステップ1805a)、図17の通り、第(N+1)番の秘密を獲得し(ステップ1805b)、図17の通り、第(N+1)番のテーブル64を媒体61に結び付け(bind)る(ステップ1805c)。キャッシュ66を使用してテーブルサーバから獲得された第(N+1)番のテーブル64は、適切な場所により新しいバージョン番号を既に有していることに留意されたい。また、ホストコンピュータ60は、媒体61上の第N番のテーブル64から第N番の秘密を獲得し、また、存在する場合、第N番のテーブル64の中で前の秘密のデイジーチェーンを獲得する(ステップ1805d)。次に、ホストコンピュータは、獲得されたデイジーチェーンを1つだけ拡張して、第(N+1)番の秘密に従って暗号化された第N番の秘密を秘密のデイジーチェーンの中の次のリンクとしてそのデイジーチェーンに追加し(ステップ1805e)、拡張されたデイジーチェーンを第(N+1)番のテーブル64に付加する(ステップ1805f)。
【0209】
また、ホストコンピュータ60は、無効にされたデバイス鍵(DK)に関する古い秘密を含むように第(N+1)番のテーブルを調整することも行い、各エントリにバージョン番号を割り当てる。詳細には、ホストコンピュータ60は、第(N+1)番のテーブル64から、どのデバイス鍵(DK)が無効にされているかを判定し(ステップ1805g)、それぞれの無効にされた(DK)に関して、第N番のテーブル64の中の対応するエントリ、ならびにその対応するエントリのバージョン番号で第(N+1)番のテーブル64の中のエントリを埋める(ステップ1805h)。ホストコンピュータ60は、例えば、第(N+1)番のテーブルの中のどのエントリが空であるか、または0などの何らかの所定の値で埋められているかを判定することにより、第(N+1)番のテーブル64か、どのデバイス鍵(DK)が無効にされているかを判定することができることに留意されたい。
【0210】
次に、ホストコンピュータ60は、第(N+1)番のテーブル64のバージョン番号を、第(N+1)番のテーブル64の中の変更されていない、したがって、依然として有効であるすべてのデバイス鍵エントリに割り当てる。あるいは、第(N+1)番のテーブル64を生成したテーブルサーバが、この割当てを既に行っている。したがって、有効なデバイス鍵(DK)を有する有効なデバイス62は、第(N+1)番のテーブル64の最新の(第(N+1)番)の秘密にアクセスすることができる。これに相応して、無効にされたデバイス鍵(DK)を有する無効にされたデバイス62は、第(N+1)番のテーブル64の中の対応する秘密にアクセスすることができるが、秘密は、媒体61に関する前のテーブル64のものであり、第(N+1)番のテーブル64からのものではない。以上に述べた通り、このアクセスされた秘密を使用して、デバイス62は、拡張により、デイジーチェーンの中のより早期のすべての秘密にアクセスすることができるが、より後の秘密のどれにもアクセスすることはできない。
【0211】
第(N+1)番のテーブルの中のエントリが適切に調整されると、ホストコンピュータ60は、図17の通り、第(N+1)番の秘密で第(N+1)番のテーブル64に暗号化または署名を行って、媒体61のID番号を使用して第(N+1)番のテーブル64を媒体61に結び付け(bind)る(ステップ1805i)。最後に、ステップ1807で、第(N+1)番のテーブル64が媒体61にコピーされて、媒体61上の第N番のテーブル64が置き換えられる。
【0212】
次に、媒体61が自らの上に、現行の秘密マスタテーブル68に相対するバージョン番号、ID番号、ならびに、拡張により、その秘密およびID番号から導出可能な最終の秘密を有する現行のテーブル64を有するものと想定して、ホストコンピュータ60が、コンテンツ12を媒体61に書き込むことができる。これを行うため、図19を参照すると、ホストコンピュータ60は、媒体61からID番号を獲得し(ステップ1901)、媒体61上のテーブル64から秘密を獲得し(ステップ1903)、そのテーブル64の署名を確認し(ステップ1905)、そのテーブル64の中のID番号が、媒体61のID番号に一致することを確認する(ステップ1907)。確認が肯定的であったものと想定すると、次に、ホストコンピュータ60は、獲得された秘密とそのID番号を組み合わせて、前述した通り所定の関数に従って最終の秘密を決定し(ステップ1909)、媒体61に書き込まれるべきコンテンツ12をその最終の秘密に従って暗号化し(ステップ1911)、これにより、そのコンテンツ12を媒体61に結び付け(bind)、暗号化されたコンテンツ12を媒体61にコピーする(ステップ1913)。その後、ホストコンピュータ60は、必要に応じて適宜、あらゆる適切なコピー後アクションを行うことができる。例えば、コンテンツ12が、金銭上の取引の一環として供給された場合、ホストコンピュータは、その取引に完了したものとしてマークを付けること、口座に課金すること、カウント値をインクリメントまたはデクリメントすること等を行うことができる。
【0213】
図19に関連して行われるステップは、媒体61が装てんされる、または内部にあるデバイス62が、有効であるかどうか、したがって、有効なデバイス鍵(DK)を有するかどうかを考慮に入れないことに留意されたい。実際、ホストコンピュータ60は、媒体61にコンテンツ12を書き込むのに先立ってこの問題を確認する手立てを有していない可能性が高い。コンテンツ12が、無効にされたデバイスによって媒体61上のテーブル64においてアクセス可能な何らかの秘密より後の秘密に従って暗号化されており、無効にされているデバイス62が、実際に、媒体61上でコンテンツ12をレンダリングしようと試みた場合、その試みは失敗する。
【0214】
コンテンツ12が、媒体61にコピーされると、そのコンテンツ12は、適合するソフトウェアを有し、および媒体61を読み取ることができ、および媒体61を受け入れることができる(媒体61が、デバイス62とは別個である場合)任意のデバイス62によってレンダリングされることが可能である。もちろん、デバイス62は、適切なDRMシステム32s、および媒体61上のテーブル64の中を指し示す対称デバイス鍵(DK)を有していなければならない。さらに、デバイス62は、テーブル64において取り消されているか、無効にされており、テーブル64において、コンテンツ12をレンダリングするのに必要な秘密にアクセスすることができないわけにはいかない。
【0215】
媒体61上のコンテンツ12をデバイス62がレンダリングするのに、図20を参照すると、デバイス62は、媒体61、および媒体61上のテーブル64からID番号を獲得し(ステップ2001)、媒体61のID番号を媒体61上のテーブル64の中のID番号と比較して、そのテーブル64がその媒体61に属することを確認する(ステップ2003)。比較が成功したものと想定すると、デバイス62は、次に、レンダリングされるコンテンツ12に関連するバージョン番号を獲得する(ステップ2005)。コンテンツ12のバージョン番号は、本発明の趣旨および範囲を逸脱することなく、任意の適切な場所にあることが可能であり、コンテンツ12を保護するのに秘密が使用されたテーブル64のバージョン番号に一致する。例えば、バージョン番号は、コンテンツ12を媒体61にダウンロードするのに先立ってホストコンピュータ60によってコンテンツ12の中に入れられる、またはコンテンツ12に付加されることが可能であり、あるいはホストコンピュータによってコンテンツ12に付随するライセンス16またはサブライセンス16sの中に入れられることが可能である。
【0216】
次に、デバイス62は、デバイス62自らのデバイス鍵のインデックス値を使用して、対応する暗号化された秘密、およびその秘密のバージョン番号をテーブル64から獲得する(ステップ2007)。理解することができるとおり、次に、デバイス62は、獲得された暗号化された秘密の最高のバージョン番号が、コンテンツ12のバージョン番号より低いかどうかを判定する。低い場合、そのコンテンツ12をデバイスがレンダリングすることはできない(ステップ2009)。低くない場合、コンテンツ12のバージョン番号に等しいか、それより大きいバージョン番号を有する暗号化された秘密の1つが選択される(ステップ2011)。選択された暗号化された秘密は、コンテンツ12のバージョン番号を有し、デイジーチェーンを辿ることが全く必要ないようになっているか、またはコンテンツ12のバージョン番号に最も近く、デイジーチェーンを辿ることが可能な限り短いようになっていなければならない。
【0217】
次に、デバイス62は、選択された暗号化された秘密に対応するデバイス62自らのデバイス鍵(DK)を獲得し(ステップ2013)、そのデバイス鍵(DK)を適用してその秘密を明らかにする(ステップ2015)。必要な場合、次に、明らかにされた秘密を使用して、コンテンツ12を保護するのに使用された秘密に戻るまでテーブル64の中のデイジーチェーンを辿り、これにより、コンテンツ12の秘密が明らかにされる(ステップ2017)。理解されるべきこととして、選択された暗号化された秘密のバージョン番号を使用して、どこでデイジーチェーンに入るかが決められ、デバイス62は、コンテンツ12の秘密を明らかにする適切なバージョン番号に戻るまでデイジーチェーンの中を辿る。
【0218】
コンテンツ12の秘密が明らかにされると、その秘密、および媒体61のID番号を適用して最終の秘密を決定し(ステップ2019)、次に、コンテンツ12に対応する何らかの対応するライセンス16またはサブライセンス16sが満たされていると想定すると、その最終の秘密を使用してコンテンツ12をレンダリングすることができる。
【0219】
媒体上に既に存在する第N番のテーブル64と置き換わる第(N+1)番のテーブル64を媒体に提供する最中に、第(N+1)番のテーブル64のバージョン番号が、第N番のテーブル64の次のバージョン番号ではない可能性があることに留意されたい。代わりに、図16にあるように、第N番のテーブル64が、マスタテーブル68のバージョン番号19から生成されており、したがって、19というバージョン番号を有し、また第(N+1)番のテーブル64が、マスタテーブル68のバージョン番号25から生成されており、したがって、25というバージョン番号を有することが可能である。媒体61にダウンロードされたすべてのコンテンツ12は、現行のテーブル64の秘密に従って保護されており、また媒体61上のテーブル64は、秘密19を有するバージョン番号19から、秘密25を有するバージョン番号25に変更されているので、テーブル64がバージョン番号19に変更された後にダウンロードされたコンテンツ12が、秘密19または秘密25以外の何らかの秘密によって保護されていることが可能であることはあり得そうにない。
【0220】
前述した通り、テーブルサーバ等によって生成されたテーブル64は、アドミニストレータ、または別の適切なエンティティの秘密鍵によって署名される。ただし、図18のステップ1805hで、ホストコンピュータ60が、第N番のテーブル64の中の対応するエントリ、ならびにその対応するエントリのバージョン番号で、それぞれの無効にされた(DK)に関する第(N+1)番のテーブル64の中のエントリを埋める。したがって、ホストコンピュータ60が、図19のステップ1905でテーブルサーバ署名を確認するとき、その確認は、ホストコンピュータ60が、まず、テーブルサーバ署名の時点で、それぞれの埋められるエントリが、それの状態を反映するように整えられない限り失敗する。この調整は、当分野の技術者一般には明白なはずであり、本明細書で詳述するまでもないない。
【0221】
図面に関連して説明した通り、テーブル64から獲得された秘密、または最終の秘密により、コンテンツ12自体が解読されるか、またはコンテンツ12へのアクセスが提供される。同等に、コンテンツ鍵がコンテンツ12の中、コンテンツ12に関するライセンス16またはサブライセンス16sの中、または別の場所にある場合、テーブル64から獲得された秘密、または最終の秘密により、コンテンツ12に関するコンテンツ鍵が解読されるか、またはコンテンツ鍵に対するアクセスが提供されることが可能である。理解することができるとおり、秘密、または最終の秘密に従ってコンテンツ鍵を保護することは、コンテンツ12を何らかの特定の媒体に特有のやり方で保護する必要がないことを意味する。それでも、コンテンツ12は、コンテンツ鍵によってだけアクセス可能であることにより、媒体61に結び付けられており、コンテンツ鍵は、媒体61上のテーブル64の秘密、または最終の秘密によって保護されていることにより、媒体61に結び付けられている。
【0222】
やはり、図面に関連して説明した通り、バージョン番号は、マスタテーブル68とともに進む。ただし、代わりに、バージョン番号は、本発明の趣旨および範囲を逸脱することなく、例えば、媒体61とともに進むことも可能である。バージョン番号が、媒体61とともに進む場合、ホストコンピュータ60は、とりわけ、第N番のテーブル64のバージョン番号を判定し、媒体61のための第(N+1)番のテーブル64を生成する際にバージョン番号をインクリメントすることを担うことに留意されたい。
【0223】
マスタテーブル68のバージョン番号が増加するにつれ、あらゆるテーブル64の中で有効なデバイス鍵エントリが、ますます少なくなる。したがって、マスタテーブル68およびテーブル64を拡張して新しいエントリを追加することが望ましい可能性がある。例えば、マスタテーブル68が、10のエントリ、1〜10を有するものと想定する。時間の経過とともに、エントリの基礎であるデバイス鍵(DK)が漏洩し、マスタテーブル68の中で無効にされる。マスタテーブル68の中で単一の有効なエントリ(例えば、3)が残された時点で、エントリ11〜20を追加することによってマスタテーブル68を拡張することが決定される。したがって、すべての新しいテーブル64は、エントリ1、2、および4〜10が無効であり、エントリ3、および11〜20が有効である拡張されたマスタテーブル68に基づく。次に、エントリ3、および11〜20に対応するデバイス鍵(DK)を、新しいコンテンツ12を読み取るために次世代のデバイス62に配布することができる。
【0224】
極めて重要なこととして、無効にされる最後のデバイス鍵(例えば、DK−9)も、次世代のデバイス62に配布される。つまり、すべての新しいデバイス62が、エントリ9に対応するデバイス鍵(DK−9)を含んでいなければならない。(DK−9)は既に危うくなっているが、さらなる配布により、その侵入(penetration)が弱まることはない。ただし、すべての「第1世代」のコンテンツ12は、(DK−9)を有効であると見なしているので、(DK−9)は、第1世代のコンテンツ12へのアクセスを提供するように第1世代のコンテンツ12によって使用されることが可能である。
【0225】
以上のようにして、最後に無効にされたデバイス鍵(DK)は、特別の価値を有する。このデバイス鍵(DK)は漏洩しているので、広く配布することができる。このデバイス鍵(DK)は、「第2世代」の拡張されたテーブル64の発行まで、取り消されていないので、すべての第1世代のコンテンツ12へのアクセスを提供する。したがって、最後の無効にされたデバイス鍵(DK)は、2つの世代を橋渡しする作用をし、また新しいテーブル64を拡張するための極めて重要な要素として作用する。この例では、(DK−3)も、すべての古いコンテンツ12へのアクセスを提供するため、橋渡しの作用をすることが可能であるが、まだ漏洩していないので、あまり広汎に配布することがためらわれることに留意されたい。
【0226】
本発明は、対称暗号化および対称暗号解読だけを行うことができる単純なデバイス62を特に対象としているが、本発明は、非対称暗号化および非対称暗号解読を行う単純なデバイス62、または任意の他のデバイスによっても使用されることが可能である。もちろん、これを行うのに、テーブル64の中の特定のエントリが、秘密鍵に従ってテーブル64の秘密を暗号化し、デバイスが、対応する公開鍵を有することになる。非対称暗号化および非対称暗号解読に対応するのに必要な他の変更は、当分野の技術者一般には明白なはずであり、したがって、本明細書で詳述する必要がない。
【0227】
結論
本発明は、前述したような限られた機能を有する比較的小さく、および/または単純なデバイス62に関連して特に有用であるが、本発明は、本発明の趣旨および範囲を逸脱することなく、例えば、パーソナルコンピュータ、サーバ、インテリジェント機器など、比較的単純であるか、比較的複雑であるかに関わらず、任意の適切なデバイスに関連して実施することができる。より詳細には、本発明を使用して、例えば、CDプレーヤが、保護された音楽を有するCDを再生することができるようにすること、セットトップボックスが、有料テレビジョン放送にアクセスを有することを可能にすること等が可能である。したがって、「単純なデバイス」は、デバイス鍵(DK)を有し、およびコンテンツ12、および付随する秘密のテーブル64を受け取り、受け取られたコンテンツ12をレンダリングする秘密を(DK)に基づいてテーブルから獲得する任意のデバイス62等を包含するものと解釈されたい。
【0228】
本発明に関連して行われるプロセスを実施するのに必要なプログラミングは、比較的簡単であり、該当のプログラミング分野の技術者一般(relevantprogramming public)には明白であるはずである。したがって、そのプログラミングは、本明細書には添付しない。したがって、本発明の趣旨および範囲を逸脱することなく、任意の特定のプログラミングを使用して本発明を実施することができる。
【0229】
以上の説明では、本発明が、デジタル権利管理アーキテクチャ10を比較的小さく、および/または単純なデバイス62にも適用することを可能にする新しく、有用な方法およびメカニズムを含むことを見て取ることができる。このアーキテクチャ10により、コンテンツ12をレンダリングするデバイス62が比較的小さく、および/または単純であり、また非対称鍵暗号解読を行うことや、ネットワーク接続等を介して遠隔のエンティティと通信することなどの比較的複雑な機能を有していなくても、その比較的小さいデバイス62上でコンテンツ12に関する暗号化、およびデータ保護が可能になる。本発明の概念を逸脱することなく、前述した実施形態に変更を加えることができることを理解されたい。したがって、本発明は、開示した特定の実施形態には限定されず、頭記の特許請求の範囲によって定義される本発明の趣旨および範囲に含まれる変更形態を範囲に含むものとする。
【図面の簡単な説明】
【図1】本発明の一実施形態による行使アーキテクチャを示すブロック図である。
【図2】本発明の一実施形態による図1のアーキテクチャのオーサリングツールを示すブロック図である。
【図3】本発明の一実施形態による図1のアーキテクチャに関連して使用するためのデジタルコンテンツを有するデジタルコンテンツパッケージを示すブロック図である。
【図4】本発明の一実施形態による図1のユーザのコンピューティングデバイスを示すブロック図である。
【図5A】本発明の一実施形態によるコンテンツをレンダリングする図4のコンピューティングデバイスのデジタル権利管理(DRM)システムに関連して行われるステップを示す流れ図である。
【図5B】本発明の一実施形態によるコンテンツをレンダリングする図4のコンピューティングデバイスのデジタル権利管理(DRM)システムに関連して行われるステップを示す流れ図である。
【図6】本発明の一実施形態による何らかの有効な、使用を可能にする(enabling)ライセンスが存在するかどうかを判定する図4のDRMシステムに関連して行われるステップを示す流れ図である。
【図7】本発明の一実施形態によるライセンスを獲得する図4のDRMシステムに関連して行われるステップを示す流れ図である。
【図8】本発明の一実施形態による図1のアーキテクチャに関連して使用されるデジタルライセンスを示すブロック図である。
【図9】本発明の一実施形態による新しいブラックボックスを獲得する図4のDRMシステムに関連して行われるステップを示す流れ図である。
【図10】本発明の一実施形態によるライセンスおよびデジタルコンテンツを検証し、そのコンテンツをレンダリングする図4のDRMシステムに関連して行われる主要なトランザクションステップを示す流れ図である。
【図11】本発明の一実施形態による図4のライセンスイバリュエータをライセンスのデジタル権利ライセンス(DRL)およびDRLを解釈するための言語エンジンとともに示すブロック図である。
【図12】本発明の態様、および/または態様の部分を組み込むことができる汎用コンピュータシステムを示すブロック図である。
【図13】本発明の一実施形態による単純なデバイス、ホストコンピュータ、ならびにホストコンピュータによって書き込まれ、デバイスによって読み取られる秘密テーブルおよび暗号化されたコンテンツを有する記憶媒体を示すブロック図である。
【図14】コンテンツをレンダリングする際に図13のデバイスによって行われる主要なステップを示す流れ図である。
【図15】コンテンツをレンダリングする際に図13のデバイスによって行われる主要なステップを示す流れ図である。
【図16】図13のホストコンピュータによって第N番のテーブルから導出された第(N+1)番のテーブルを示すブロック図である。
【図17】媒体に対して新しいテーブルを獲得する際に図13のホストコンピュータによって行われる主要なステップを示す流れ図である。
【図18】媒体上のテーブルを置き換える際に図13のホストコンピュータによって行われる主要なステップを示す流れ図である。
【図18A】媒体上のテーブルを置き換える際に図13のホストコンピュータによって行われる主要なステップを示す流れ図である。
【図19】媒体上にコンテンツを書き込む際に図13のホストコンピュータによって行われる主要なステップを示す流れ図である。
【図20】コンテンツをレンダリングする際に図13のデバイスによって行われるさらなる主要なステップを示す流れ図である。
【符号の説明】
10 アーキテクチャ
12 デジタルコンテンツ
12p デジタルコンテンツパッケージ
16 デジタルライセンス
18 オーサリングツール
18a ソースフィルタ
18b 符号化フィルタ
18c 暗号化フィルタ
18d ヘッダフィルタ
18e 多重化フィルタ
18f ファイルライタフィルタ
20 コンテンツ−鍵データベース
22 コンテンツサーバ
24 ライセンスサーバ
26 ブラックボックスサーバ
28 辞書
29c メモリ
30 ブラックボックス
32,32p DRMシステム
34 レンダリングアプリケーション
36 ライセンスイバリュエータ
38 ライセンスストア
40 状態ストア
42 マシン情報
44 ユーザ情報
46 システムクロック
50 発行済みライセンスデータベース
60 ソース/ホストコンピュータ
61 記憶媒体
62 デバイス
63 接続
64 テーブル
68 マスタテーブル
76 キャッシュ
120 コンピュータ
121 処理ユニット
122 システムメモリ
123 システムバス
127 ハードドライブ
128 フロッピー(登録商標)ドライブ
129,131 ストレージ
130 光ドライブ
133 磁気ディスクドライブI/F
134 光ドライブI/F
136 アプリケーションプログラム
137 他のプログラム
138 プログラムデータ
140 キーボード
142 マウス
146 シリアルポートI/F
147 モニタ
148 ビデオアダプタ
149 遠隔コンピュータ
150 メモリ
153 ネットワークI/F
154 モデム
155 ホストアダプタ
156 SCSIバス
162 記憶デバイス

Claims (17)

  1. 記憶媒体上のテーブルが有するデイジーチェーン中の1つの秘密に従って保護されたデジタルコンテンツを、事前選択されたインデックス値とともにデバイス鍵(DK)を有するデバイスがレンダリングする方法であって、前記記憶媒体は前記デバイスに装てんされ、または前記デバイスの内部にあり、前記記憶媒体上の前記テーブルは、前記デイジーチェーン中に新しい秘密を有するように定期的に更新され、前記デイジーチェーンの中の秘密(N)の秘密(N−1)を暗号化て一続きのリンクを形成し、前記テーブルは複数のエントリを有し、各エントリは、前記デイジーチェーン中の1つの秘密が複数のデバイスの1つの前記デバイス鍵(DK)に従って暗号化された秘密、インデックス値、および前記エントリの前記暗号化された秘密に関するバージョン番号を含んでおり、レンダリングされるべき前記コンテンツが、そのコンテンツを保護している秘密に対応するバージョン番号を有する、前記方法は、
    前記デバイスが、前記記憶媒体上の前記コンテンツをレンダリングする要求を受け取るステップと、
    前記デバイスが、前記記憶媒体から前記テーブルを獲得するステップと、
    前記デバイスが、前記コンテンツのバージョン番号を獲得するステップと、
    前記デバイスが、前記デバイスの前記デバイス鍵(DK)、および、そのデバイス鍵(DK)の前記インデックス値を獲得するステップと、
    前記デバイスが、前記獲得されたインデックス値に基づいて前記テーブルのエントリを指し示すステップと、
    前記デバイスが、前記指し示されたエントリから前記暗号化された秘密を選択するステップと、
    前記デバイスが、前記選択された暗号化された秘密のバージョン番号を獲得するステップと、
    前記デバイスが、前記獲得されたデバイス鍵(DK)を適用して、前記選択された暗号化された秘密を露見させるステップと、
    前記デバイスが、前記選択された暗号化された秘密の前記バージョン番号に基づいて前記デイジーチェーンに入るエントリポイントを決定するステップと、
    前記デバイスが、前記デイジーチェーンの前記エントリポイントから遡って前記コンテンツを保護している秘密を露見させるステップと、
    前記デバイスが、前記コンテンツを保護している秘密を露見させるステップにより露見された秘密を適用して対応する前記コンテンツをレンダリングするステップと
    を含み、
    デバイスは、前記デイジーチェーンを前記エントリポイントから遡って、より早期の秘密を獲得できるが、より後の秘密は獲得できないことを特徴とする方法。
  2. 前記デイジーチェーンの中の秘密は、対称鍵、前記コンテンツに関するコンテンツ鍵、およびパスワードの一つを含むことを特徴とする請求項1に記載の方法。
  3. 前記デバイスは、事前選択されたインデックス値をそれぞれが有する複数のデバイス鍵(DK)を有しており、前記方法は、
    前記デバイスが、前記デバイスの前記デバイス鍵(DK)、および、そのデバイス鍵(DK)の前記インデックス値を獲得するステップと、
    前記デバイスが、それぞれの獲得されたデバイス鍵(DK)に関して、
    前記対応する獲得されたインデックス値に基づいて前記テーブルのエントリを指し示すこと、
    前記指し示されたエントリから前記暗号化された秘密を選択すること、
    および、
    前記獲得されたデバイス鍵(DK)を適用して、前記選択された暗号化された秘密を露見させること
    を実際に前記コンテンツを保護している秘密が露見されるまで行うステップと
    を含むことを特徴とする請求項1に記載の方法。
  4. 前記記憶媒体は、前記記憶媒体のIDを前記記憶媒体上に含み、前記デイジーチェーン中の秘密と前記IDとの組合せから導出された最終の秘密に従って保護された前記デジタルコンテンツを前記記憶媒体上に記憶しており、前記コンテンツが、前記IDによって前記記憶媒体に結び付けられている方法であって、
    前記デバイスが、前記記憶媒体の前記IDを前記記憶媒体から獲得するステップと、
    前記デバイスが、前記コンテンツを保護している秘密を露見させるステップにより露見された秘密、および前記獲得されたIDを所定の関数に適用して最終の秘密を生成するステップと、
    前記デバイスが、前記生成された最終の秘密を適用して対応する前記コンテンツをレンダリングするステップと
    を含むことを特徴とする請求項1に記載の方法。
  5. 前記デバイスが、前記コンテンツを保護している秘密を露見させるステップにより露見された秘密、および前記獲得されたIDを一方向ハッシュ関数に適用して前記最終の秘密を生成することを含むことを特徴とする請求項4に記載の方法。
  6. 前記記憶媒体は、前記記憶媒体のIDを前記記憶媒体上に含み、前記テーブルは、前記テーブルに記憶された前記記憶媒体の前記IDを含み、前記テーブルが前記IDによって前記記憶媒体に結び付けられ、前記方法は、
    前記デバイスが、前記記憶媒体の前記IDを前記記憶媒体から獲得するステップと、
    前記デバイスが、前記テーブルに記憶された前記記憶媒体の前記IDを獲得するステップと、
    前記デバイスが、前記獲得されたIDを比較して、前記IDが互いに一致する場合にだけ先に進むステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  7. 前記テーブルは、前記テーブルに記憶された前記記憶媒体の前記IDに基づく署名を含んでおり、前記方法は、
    前記デバイスが、前記署名を確認して前記IDを検証するステップをさらに含むことを特徴とする請求項6に記載の方法。
  8. 前記テーブルは、前記選択された暗号化された秘密を露見させるステップにより露見された秘密に従って暗号化された前記記憶媒体の前記IDを含んでおり、前記方法は、
    前記デバイスが、前記選択された暗号化された秘密を露見させるステップにより露見された秘密を前記暗号化されたIDに適用することで前記IDを獲得して、一致することを明らかにすることを含むことを特徴とする請求項6に記載の方法。
  9. 前記デバイスが、前記選択された暗号化された秘密の前記バージョン番号、および前記コンテンツの前記バージョン番号に基づき、前記コンテンツをレンダリングすることができるかどうかを判定するステップと、
    前記デバイスが、前記選択された暗号化された秘密の前記バージョン番号が前記コンテンツの前記バージョン番号より低くなく、したがって、前記コンテンツをレンダリングするのに使用することができる場合にだけ先に進むステップと
    をさらに含むことを特徴とする請求項1に記載の方法。
  10. 前記デバイス鍵(DK)は対称鍵であることを特徴とする請求項1に記載の方法。
  11. 複数のデバイスのそれぞれが事前選択されたインデックス値およびデバイス鍵(DK)を有し、前記事前選択されたインデックス値および前記デバイス鍵を複数有するホストコンピュータが、秘密に従って保護されたデジタルコンテンツを有する記憶媒体上の第N番のテーブルを第(N+1)番のテーブルで置き換える方法であって、前記記憶媒体は、前記デジタルコンテンツをレンダリングするために前記デバイスに装てんされ、または前記デバイスの内部にあり、前記記憶媒体のIDを前記記憶媒体上に含み、前記テーブルは複数のエントリを中に有し、各エントリが前記複数のデバイスの1つの前記デバイス鍵(DK)によって暗号解読可能な鍵に従って暗号化された前記秘密、およびインデックス値を含み、前記方法は、
    前記ホストコンピュータが、キャッシュから第(N+1)番の秘密を有する第(N+1)番の前記テーブルを獲得するステップと、
    前記ホストコンピュータが、前記記憶媒体の前記IDを前記記憶媒体から獲得するステップと、
    前記ホストコンピュータが、前記記憶媒体の前記獲得されたIDを前記第(N+1)番のテーブルに付加するステップと、
    前記ホストコンピュータが、デバイス鍵(DK)および前記デバイス鍵(DK)の前記インデックス値を使用して、前記第(N+1)番のテーブルから第(N+1)番の秘密を獲得するステップと、
    前記ホストコンピュータが、前記記憶媒体上の前記第N番のテーブルから第N番の秘密を獲得し、および、存在するならば、前記第N番のテーブルが有するデイジーチェーンを獲得するステップであって、前記デイジーチェーンの中の秘密(N)は前の秘密(N−1)を暗号化て一続きのリンクを形成している、ステップと、
    前記ホストコンピュータが、前記獲得されたデイジーチェーンを拡張するとともに、前記第(N+1)番の秘密に従って暗号化された第N番の秘密を、前記デイジーチェーンの中の別のリンクとして前記デイジーチェーンに追加するステップと、
    前記ホストコンピュータが、前記拡張されたデイジーチェーンを前記第(N+1)番のテーブルに付加するステップと、
    前記ホストコンピュータが、前記第(N+1)番のテーブルを調整して無効にされたデバイス鍵(DK)に関する古い秘密を含ませるとともに、バージョン番号を各エントリに割り当てるステップと、
    前記ホストコンピュータが、前記記憶媒体の前記IDおよび前記獲得された第(N+1)番の秘密により、前記第(N+1)番のテーブルを前記記憶媒体に結び付けるステップと、
    前記ホストコンピュータが、前記調整された第(N+1)番のテーブルを前記記憶媒体にコピーして前記記憶媒体上の前記第N番のテーブルと置き換えるステップと
    を含むことを特徴とする方法。
  12. 前記第(N+1)番のテーブルを前記記憶媒体に結び付けるステップは、前記記憶媒体の前記ID、および前記獲得された秘密に基づいて前記第(N+1)番のテーブルに署名を付加することを含むことを特徴とする請求項11に記載の方法。
  13. 前記記憶媒体の前記IDにより前記第(N+1)番のテーブルを前記記憶媒体に結び付けるステップは、前記獲得された秘密に従って前記IDを暗号化すること、および、前記暗号化されたIDを前記第(N+1)番のテーブルに付加することを含むことを特徴とする請求項11に記載の方法。
  14. 前記ホストコンピュータが、相異なる秘密にそれぞれが基づく複数のテーブルを有するキャッシュから前記第(N+1)番のテーブルを獲得するステップを含むことを特徴とする請求項11に記載の方法。
  15. 前記ホストコンピュータが、前記第(N+1)番のテーブルにバージョン番号を割り当てるステップをさらに含むことを特徴とする請求項11に記載の方法。
  16. 前記第N番のテーブルにおける各エントリは、対応する前記暗号化された秘密のバージョン番号をさらに含んでおり、および、前記第(N+1)番のテーブルを調整して無効にされたデバイス鍵(DK)に関する古い秘密を含ませるとともに、バージョン番号を各エントリに割り当てるステップは、
    前記第(N+1)番のテーブルから、前記テーブルにおいてどのデバイス鍵(DK)が無効にされたかを判定するステップと、
    それぞれの無効にされたデバイス鍵(DK)に関して、前記第N番のテーブルの中の対応するエントリ、ならびにその対応するエントリの前記バージョン番号でその第(N+1)番のテーブルの中のエントリを埋めるステップと、
    前記第(N+1)番のテーブルの前記バージョン番号を、前記エントリを埋めるステップで埋められていない、前記第(N+1)番のテーブルの中のすべての有効なエントリに割り当てるステップと
    を含み、当該方法により、有効なデバイス鍵(DK)を有する有効なデバイスが前記第(N+1)番のテーブルの最新の(第(N+1)番)の秘密にアクセスすることができ、および、無効にされたデバイス鍵(DK)を有する無効にされたデバイスが前記第(N+1)番の秘密より早期の前記第(N+1)番のテーブルの中の対応する秘密にアクセスすることができることにより、前記アクセスされた秘密を使用して、前記デバイスは、拡張により、前記デイジーチェーンの中のすべてのより早期の秘密にアクセスできるが、より後の秘密には全くアクセスできないことを特徴とする請求項11に記載の方法。
  17. 前記デバイス鍵(DK)は対称鍵であることを特徴とする請求項11に記載の方法。
JP2003112235A 2002-04-16 2003-04-16 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法 Expired - Fee Related JP4615832B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/123,303 US7395438B2 (en) 2002-04-16 2002-04-16 Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication

Publications (2)

Publication Number Publication Date
JP2004040772A JP2004040772A (ja) 2004-02-05
JP4615832B2 true JP4615832B2 (ja) 2011-01-19

Family

ID=22407868

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003112235A Expired - Fee Related JP4615832B2 (ja) 2002-04-16 2003-04-16 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法

Country Status (4)

Country Link
US (1) US7395438B2 (ja)
EP (1) EP1357455B1 (ja)
JP (1) JP4615832B2 (ja)
NO (1) NO330422B1 (ja)

Families Citing this family (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6751670B1 (en) * 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
US7127515B2 (en) 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
FR2824212A1 (fr) * 2001-04-25 2002-10-31 Thomson Licensing Sa Procede de gestion d'une cle symetrique dans un reseau de communication et dispositifs pour la mise en oeuvre
US7809944B2 (en) * 2001-05-02 2010-10-05 Sony Corporation Method and apparatus for providing information for decrypting content, and program executed on information processor
US7109922B2 (en) * 2002-04-19 2006-09-19 Roadeye Flr General Partnership Rf system concept for vehicular radar having several beams
EP1629343A1 (en) * 2003-05-14 2006-03-01 Koninklijke Philips Electronics N.V. Controlling access to a data medium
US20050049886A1 (en) * 2003-08-28 2005-03-03 Sbc Knowledge Ventures, L.P. System and method for managing digital rights and content assets
US7979911B2 (en) 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
CN1607589A (zh) * 2003-10-13 2005-04-20 皇家飞利浦电子股份有限公司 光盘、播放光盘的播放器及其播放方法
WO2005043802A1 (en) 2003-10-20 2005-05-12 Drm Technologies, Llc Securing digital content system and method
JP2005141683A (ja) * 2003-11-10 2005-06-02 Sony Corp コンテンツ利用管理システム,コンテンツ再生装置,コンテンツ利用管理方法,コンテンツ再生方法およびコンピュータプログラム
US7620179B2 (en) * 2004-01-29 2009-11-17 Comcast Cable Holdings, Llc System and method for security processing media streams
US8843413B2 (en) * 2004-02-13 2014-09-23 Microsoft Corporation Binding content to a domain
US7676846B2 (en) 2004-02-13 2010-03-09 Microsoft Corporation Binding content to an entity
US7546587B2 (en) 2004-03-01 2009-06-09 Microsoft Corporation Run-time call stack verification
US8646107B1 (en) * 2004-06-25 2014-02-04 Altera Corporation Implementing usage limited systems
US8359332B1 (en) 2004-08-02 2013-01-22 Nvidia Corporation Secure content enabled drive digital rights management system and method
US8402283B1 (en) 2004-08-02 2013-03-19 Nvidia Corporation Secure content enabled drive system and method
CN101044441A (zh) * 2004-10-11 2007-09-26 诺基亚公司 管理私有数据格式内容的方法和系统
JP4110414B2 (ja) * 2004-12-03 2008-07-02 ソニー株式会社 情報再生装置及び情報記録再生装置
US8788425B1 (en) 2004-12-15 2014-07-22 Nvidia Corporation Method and system for accessing content on demand
US8751825B1 (en) * 2004-12-15 2014-06-10 Nvidia Corporation Content server and method of storing content
US8875309B1 (en) 2004-12-15 2014-10-28 Nvidia Corporation Content server and method of providing content therefrom
US8346807B1 (en) 2004-12-15 2013-01-01 Nvidia Corporation Method and system for registering and activating content
US7979702B2 (en) * 2004-12-29 2011-07-12 Intel Corporation Protecting privacy of networked devices containing management subsystems
CN100488163C (zh) * 2005-01-19 2009-05-13 华为技术有限公司 组播业务处理方法和系统
US7860802B2 (en) * 2005-02-01 2010-12-28 Microsoft Corporation Flexible licensing architecture in content rights management systems
JP4703210B2 (ja) * 2005-02-15 2011-06-15 株式会社沖データ 画像形成装置及び画像形成システム
US7693280B2 (en) * 2005-04-22 2010-04-06 Microsoft Corporation Rights management system for streamed multimedia content
US8893299B1 (en) 2005-04-22 2014-11-18 Nvidia Corporation Content keys for authorizing access to content
US8091142B2 (en) * 2005-04-26 2012-01-03 Microsoft Corporation Supplementary trust model for software licensing/commercial digital distribution policy
US8397081B2 (en) * 2005-06-22 2013-03-12 Freescale Semiconductor, Inc. Device and method for securing software
US8306918B2 (en) 2005-10-11 2012-11-06 Apple Inc. Use of media storage structure with multiple pieces of content in a content-distribution system
KR100736091B1 (ko) 2005-12-09 2007-07-06 삼성전자주식회사 복수의 인증서를 관리하는 장치 및 방법
US8131995B2 (en) * 2006-01-24 2012-03-06 Vixs Systems, Inc. Processing feature revocation and reinvocation
US8209548B2 (en) * 2006-02-06 2012-06-26 International Business Machines Corporation Secure caching technique for shared distributed caches
US20070239605A1 (en) * 2006-04-06 2007-10-11 Peter Munguia Supporting multiple key ladders using a common private key set
US8224751B2 (en) 2006-05-03 2012-07-17 Apple Inc. Device-independent management of cryptographic information
US20070269044A1 (en) * 2006-05-16 2007-11-22 Bruestle Michael A Digital library system with rights-managed access
JP4294083B2 (ja) * 2006-05-18 2009-07-08 パナソニック株式会社 電子機器、コンテンツ再生制御方法、プログラム、記憶媒体、集積回路
US20080034444A1 (en) * 2006-08-04 2008-02-07 Nokia Corporation System, network entity, terminal and method for providing digital rights management of client applications
US9224145B1 (en) 2006-08-30 2015-12-29 Qurio Holdings, Inc. Venue based digital rights using capture device with digital watermarking capability
US9280773B1 (en) 2006-08-30 2016-03-08 Qurio Holdings, Inc. System and method for managing first party rights to content captured by third parties
WO2008030993A2 (en) * 2006-09-06 2008-03-13 Agilix Labs, Inc. Security and tamper resistance for high stakes online testing
US20080092239A1 (en) * 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
US8719954B2 (en) 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
KR101291075B1 (ko) 2006-10-31 2013-08-01 에스케이플래닛 주식회사 디지털 권한 관리의 선택적 암호화 및 복호화에 대한 방법및 시스템
DE102007008948B4 (de) * 2007-02-21 2018-02-22 Dspace Digital Signal Processing And Control Engineering Gmbh Verfahren und System zur Verfügungstellung digitaler Inhalte
US9311492B2 (en) * 2007-05-22 2016-04-12 Apple Inc. Media storage structures for storing content, devices for using such structures, systems for distributing such structures
KR101478337B1 (ko) * 2007-11-08 2015-01-02 삼성전자 주식회사 호스트 장치의 drm 유형을 기초로한 암호화 키를제공하는 방법 및 장치
US9300667B2 (en) * 2008-11-05 2016-03-29 At&T Intellectual Property I, L.P. Apparatus and method for protecting media content rights
US8914903B1 (en) * 2009-06-03 2014-12-16 Amdocs Software System Limited System, method, and computer program for validating receipt of digital content by a client device
WO2011017559A2 (en) * 2009-08-05 2011-02-10 Brinton Services, Inc. Media player and peripheral devices therefore
US10289505B2 (en) * 2009-12-29 2019-05-14 International Business Machines Corporation Dispersed multi-media content for a centralized digital video storage system
CN102387407A (zh) * 2010-08-31 2012-03-21 国基电子(上海)有限公司 实现广播网络条件接收的系统和方法
ES2363355B2 (es) * 2010-12-24 2012-11-16 Universidad Politécnica de Madrid Sistema de ralentización de la tasa de transferencia de un dispositivo por método criptográfico.
JP5126918B1 (ja) * 2012-04-01 2013-01-23 利仁 曽根 ライセンス・システムおよび機器
JP6488221B2 (ja) * 2015-03-30 2019-03-20 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 再生方法及び再生装置
US11816191B2 (en) * 2018-02-13 2023-11-14 Sony Corporation Information processing apparatus, information processing method, electronic device, and information processing system for period management of a license used in the electronic device

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316543A (ja) * 1998-02-13 1999-11-16 Matsushita Electric Ind Co Ltd カ―ドデ―タ認証システム
WO2002011139A1 (fr) * 2000-07-31 2002-02-07 Sony Corporation Support d'enregistrement, procede d'enregistrement et/ou de reproduction pour support d'enregistrement, et dispositif d'enregistrement et/ou de reproduction pour support d'enregistrement

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3073590B2 (ja) * 1992-03-16 2000-08-07 富士通株式会社 電子化データ保護システム、使用許諾者側装置および使用者側装置
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
JP3093678B2 (ja) 1996-06-28 2000-10-03 株式会社東芝 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法
GB2329044B (en) * 1997-09-05 2002-10-09 Ibm Data retrieval system
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
EP0984346A1 (en) * 1998-09-02 2000-03-08 Hitachi Europe Limited Copy protection apparatus and method
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
IL130963A (en) * 1999-07-15 2006-04-10 Nds Ltd Key management for content protection
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
JP2001256113A (ja) * 2000-03-13 2001-09-21 Toshiba Corp コンテンツ処理システムおよびコンテンツ保護方法
WO2002001790A1 (fr) * 2000-06-29 2002-01-03 Matsushita Electric Industrial Co., Ltd. Dispositif et methode de protection des droits d'auteur
US7010808B1 (en) * 2000-08-25 2006-03-07 Microsoft Corporation Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
US6912634B2 (en) * 2000-12-28 2005-06-28 Intel Corporation Verifying the integrity of a media key block by storing validation data in a validation area of media
US7088822B2 (en) * 2001-02-13 2006-08-08 Sony Corporation Information playback device, information recording device, information playback method, information recording method, and information recording medium and program storage medium used therewith
US7152166B2 (en) * 2002-06-26 2006-12-19 Microsoft Corporation Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
US7284126B2 (en) * 2002-11-12 2007-10-16 Agilent Technologies, Inc. Device authentication using pre-configured security keys
US7634813B2 (en) * 2004-07-21 2009-12-15 Microsoft Corporation Self-certifying alert

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11316543A (ja) * 1998-02-13 1999-11-16 Matsushita Electric Ind Co Ltd カ―ドデ―タ認証システム
WO2002011139A1 (fr) * 2000-07-31 2002-02-07 Sony Corporation Support d'enregistrement, procede d'enregistrement et/ou de reproduction pour support d'enregistrement, et dispositif d'enregistrement et/ou de reproduction pour support d'enregistrement

Also Published As

Publication number Publication date
US7395438B2 (en) 2008-07-01
EP1357455A3 (en) 2010-05-05
US20030195855A1 (en) 2003-10-16
EP1357455B1 (en) 2015-01-07
NO20031645D0 (no) 2003-04-10
JP2004040772A (ja) 2004-02-05
EP1357455A2 (en) 2003-10-29
NO330422B1 (no) 2011-04-11
NO20031645L (no) 2003-10-17

Similar Documents

Publication Publication Date Title
JP4615832B2 (ja) 対話式認証なしのデバイス上のコンテンツに関するデジタル権利管理(drm)暗号化およびデータ保護方法
JP4486321B2 (ja) デジタル権利管理(drm)システムを使用するソフトウェアアプリケーションの保護のための方法および媒体
US7272858B2 (en) Digital rights management (DRM) encryption and data-protection for content on a relatively simple device
US7080043B2 (en) Content revocation and license modification in a digital rights management (DRM) system on a computing device
US7383205B1 (en) Structure of a digital content package
US7024393B1 (en) Structural of digital rights management (DRM) system
US6973444B1 (en) Method for interdependently validating a digital content package and a corresponding digital license
US7136838B1 (en) Digital license and method for obtaining/providing a digital license
US6775655B1 (en) Rendering digital content in an encrypted rights-protected form
US7051005B1 (en) Method for obtaining a black box for performing decryption and encryption functions in a digital rights management (DRM) system
US7010808B1 (en) Binding digital content to a portable storage device or the like in a digital rights management (DRM) system
JP4226849B2 (ja) デジタル化権管理(drm)システムにおいてデジタルライセンスをポータブルデバイスなどにバイディングし、ポータブルデバイスなどへ/からデジタルライセンスをチェックアウト/チェックインする方法
EP1271280A2 (en) Secure video card in computing device having digital rights management (DRM) system
WO2000059151A2 (en) Rendering digital content in an encrypted rights-protected form

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060329

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090911

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091210

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100629

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20100714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20100714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100929

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: 20101015

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: 20101021

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: 20131029

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

LAPS Cancellation because of no payment of annual fees