セッションチケットに基づいてコンテンツにアクセスするための方法および装置
記憶装置に格納されているコンテンツにアクセスするための方法が提供される。この方法では、コンテンツにアクセスするためのリクエストが送られ、セッションチケットが受け取られる。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される変数に基づいて生成される。コンテンツは、セッションチケットに基づいてアクセスされ得る。メモリと、メモリと通信するプロセッサとを備える装置も提供される。このプロセッサは、記憶装置へ、この記憶装置に格納されているコンテンツにアクセスするために、リクエストを送り、セッションチケットを受け取り、セッションチケットに基づいてコンテンツにアクセスするように構成される。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される数に基づいて生成される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、一般的にコンテンツアクセスに関し、特に、コンテンツをライセンスとリンクさせ、セッションチケットに基づいてコンテンツにアクセスすることに関する。
【背景技術】
【0002】
デジタル著作権管理(DRM:Digital Rights Management )は、音楽ファイル、ビデオファイルのようなコンテンツ、およびその他のコンテンツの配布を保護し制御するために使用される技術である。DRMでは、コンテンツは暗号鍵で暗号化され、その暗号鍵はコンテンツを復号するためにも使用され得る。ユーザがコンテンツを復号してアクセスするためには、ユーザは、そのコンテンツに関連付けられているライセンスへのアクセスを持たなければならない。一般的に、ライセンスは、ライセンスプロバイダにより定められたパーミッションに依存してコンテンツに対する種々のアクセス権を与えることができる。例えば、ライセンスは、限られた回数だけプレーされ得るようにコンテンツ(例えば、音楽ファイル)を制限することができる。
【0003】
従来のDRM技術では、コンテンツを復号するために使用される暗号鍵はライセンスの中にだけ格納される。ライセンスはハッキングされる可能性があり、暗号鍵はライセンスから容易に抽出される可能性がある。暗号鍵が危険にさらされたならば、無許可のユーザがライセンスなしでコンテンツを復号し、これによりコンテンツに無制限にアクセスする可能性がある。その結果、コンテンツの保護をさらに改善するニーズが存在する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願第11/600,270号
【特許文献2】米国特許出願第11/600,263号
【特許文献3】米国特許出願第11/600,273号
【特許文献4】米国特許出願第11/600,262号
【特許文献5】米国特許出願第11/600,245号
【特許文献6】米国特許出願第11/599,994号
【特許文献7】米国特許出願第11/599,995号
【特許文献8】米国特許出願第11/600,005号
【特許文献9】米国特許出願第11/599,991号
【特許文献10】米国特許出願第11/600,300号
【特許文献11】米国特許出願第11/600,006号
【発明の概要】
【0005】
本発明の種々の実施形態は、ライセンスをコンテンツとリンクさせて、セッションチケットに基づいてコンテンツにアクセスする方法、システムおよび/または装置を提供する。この実施形態は、方法、回路、システム、あるいは装置を含む多数の仕方で実現され得るということが理解されるべきである。本発明の幾つかの実施形態が以下で記述される。
【0006】
1つの実施形態において、記憶装置に格納されているコンテンツにアクセスするための方法が提供される。この方法では、コンテンツにアクセスするためのリクエストが送られ、セッションチケットが受け取られる。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される変数に基づいて生成される。コンテンツは、セッションチケットに基づいてアクセスされ得る。
【0007】
他の1つの実施形態では、装置が提供される。この装置は、メモリと、メモリと通信するプロセッサとを含む。このプロセッサは、記憶装置へ、この記憶装置に格納されているコンテンツにアクセスするために、リクエストを送り、セッションチケットを受け取り、セッションチケットに基づいてコンテンツにアクセスするように構成される。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される変数に基づいて生成される。
【0008】
本発明の他の実施形態および利点は、本発明の原理を例を挙げて説明する、添付図面と関連して検討される以下の詳細な説明から明らかである。
【0009】
本発明は、添付図面と関連する以下の詳細な記述により容易に理解され、同様の参照数字は同様の構造要素を示す。
【図面の簡単な説明】
【0010】
【図1】本発明の1つの実施形態による装置のシステムの略ブロック図である。
【図2】本発明の1つの実施形態によるコンテンツを復号するために使用されるパラメータの生成を描いたブロック図である。
【図3】本発明の1つの実施形態による記憶装置にアクセスするためのシステムの略ブロック図である。
【図4】本発明の1つの実施形態による記憶装置からのコンテンツのアクセスを描いたフローチャート図である。
【図5】本発明の1つの実施形態によるセッションチケットの生成を描いたブロック図である。
【図6】本発明の1つの実施形態によるセッションチケットを用いて記憶装置にアクセスするためのシステムの略ブロック図である。
【図7】本発明の1つの実施形態によるセッションチケットに基づく記憶装置からのコンテンツのアクセスを描いたフローチャート図である。
【図8】本発明の1つの実施形態によるコンテンツにアクセスするためにホスト計算装置上でホストされ得るプログラムアプリケーションの略ブロック図である。
【図9】本発明の1つの実施形態による記憶装置に包含され得るプログラムアプリケーションの略ブロック図である。
【図10】本発明の1つの実施形態によるコンテンツ保護プラットフォームおよび他のプログラムアプリケーションをホストするのに適するホスト計算装置の全般的概観の略ブロック図である。
【図11】本発明の1つの実施形態による記憶装置の略ブロック図である。
【発明を実施するための形態】
【0011】
添付図面と共に、1つ以上の実施形態についての詳細な説明が以下で提供される。詳細な説明は、そのような実施形態に関して提供されるけれども、特定の実施形態には限定されない。範囲は、特許請求の範囲によってのみ限定され、多数の代案、改変形、および同等物が含まれる。完全な理解を提供するために多数の具体的な詳細が以下の記述において説明される。これらの詳細は例示を目的として提供されるのであり、記述される実施形態は、これらの具体的な詳細の幾つかまたは全部を伴わずに特許請求の範囲に従って実現され得る。明瞭性を目的として、実施形態に関連する技術分野で知られている技術的事項は、記述を不必要に不明瞭にしないように、詳しくは記述されていない。
【0012】
本願明細書に記載されている実施形態は、ライセンスをコンテンツとリンクさせること、および、セッションチケットに基づくコンテンツのアクセスを提供する。暗号化されているコンテンツを復号してアクセスするために暗号鍵が使用される。以下でより詳しく説明されるように、暗号鍵を導出するために、ライセンスおよびコンテンツの両方に関連付けられたパラメータが使用される。或る実施形態では、暗号鍵を導出するために使用されるパラメータは、コンテンツへのアクセスが1つのセッションに限定されるように、変数でさらに暗号化され得る。
【0013】
図1は、本発明の1つの実施形態による装置のシステムの略ブロック図である。図1に示されているように、システム102はホスト計算装置114と記憶装置116とを含む。ホスト計算装置114は、コンテンツ118を記憶装置に格納し、あるいは格納されているコンテンツ118を取り出すために記憶装置116にアクセスすることのできるいろいろな電子装置を含むことができる。記憶装置116は、ピンおよび/またはソケットコネクタのような機械的インターフェイス108を介してホスト計算装置114に取り外し可能に結合され得る。記憶装置116は、メモリ記憶装置である。以下で説明されるように、記憶装置116の一例は、不揮発性メモリを使用するメモリカードである。
【0014】
ホスト計算装置114は、アプリケーション104をホストする。アプリケーション104は、いろいろなプログラムアプリケーションを含むことができる。例えば、アプリケーション104は、ホスト計算装置114上のハードウェアリソースおよびソフトウェアリソースを管理するオペレーティングシステムであり得る。他の例では、アプリケーション104は、オーディオファイルおよびビデオファイルをプレーするように構成されたマルチメディアプレーヤであり得る。さらに、例えば、アプリケーション104はビデオゲームであり得る。アプリケーション104は、記憶装置116に格納されているコンテンツ118にアクセスすることができる。コンテンツ118は、いろいろなデータを含むことができる。コンテンツ118の例は、ウェーブ(WAVE)、MPEG−1オーディオレイヤ3(MP3)、アドバンスドオーディオコーディング(AAC)のようなオーディオファイルフォーマットおよび他のオーディオファイルフォーマットで符号化されたオーディオファイルを含む。コンテンツ118は、オーディオビデオインターリーブ(AVI)、ムービングピクチャエキスパートグループ(MPEG)のようなビデオファイルフォーマット、および他のビデオファイルフォーマットで符号化されたビデオファイルも含むことができる。コンテンツ118の他の例は、文書ファイル、画像ファイル、アプリケーションファイル、および他のデータを含む。
【0015】
ライセンスをコンテンツとリンクさせること
図2は、本発明の1つの実施形態によるコンテンツを復号するために使用されるパラメータの生成を描いたブロック図である。図2は、コンテンツ118と、関連するライセンス204とを示す。コンテンツ118は、コンテンツが分かりにくいように暗号化される。一般的に、ライセンス204は、コンテンツ118がアクセスされることを可能にするデータ(例えば、ストリング、ファイル、および他のデータ)である。ライセンス204は、アクセスの持続時間、コンテンツのアクセスを特定の計算装置に制限すること、コンテンツがアクセスされ得る日付、時間、回数のような、コンテンツ118にアクセスするためのパーミッションあるいはルールと、他のパーミッションとを含むことができる。従って、ライセンス204は、コンテンツ118にアクセスするためのパーミッションを確定するように構成され得る。従って、ユーザは、ライセンス204に含まれるパーミッションに基づいてコンテンツ118へのアクセスを与えられる。例えば、ライセンス204は、音楽ファイルの形のコンテンツ118が特定の計算装置で3回プレーされることを可能にすることができる。他の例では、ライセンス204は、コンテンツ118がアクセスされることを許すことができるけれども他の計算装置にコピーされることを許すことができない。
【0016】
コンテンツ118は暗号化され、コンテンツを復号するために使用される第3のパラメータ210が構成される。第3のパラメータ210は、コンテンツ118の復号に関連付けられ得るいろいろなデータを含む。例えば、第3のパラメータ210は、コンテンツ118の暗号化および復号に使用される暗号鍵であり得る。第3のパラメータ210は、暗号鍵の代わりに、暗号鍵へのリファレンスを含むこともできる。そのリファレンスは、例えば、暗号鍵を特定する数またはストリングであり得る。第3のパラメータ210は認証鍵も含むことができる。認証鍵は、ホスト計算装置と記憶装置との間の認証セッションに使用される暗号鍵である。他の1つの例では、第3のパラメータ210は暗号ナンス(nonce) であり得る。暗号ナンスは、暗号鍵を生成するために使用され得る数である。
【0017】
第3のパラメータ210は第1のパラメータ202および第2のパラメータ206に基づいて生成される。換言すれば、第3のパラメータ210を、
第3のパラメータ=F(第1のパラメータ、第2のパラメータ) (1.0)
と表示することができ、第3のパラメータは第1のパラメータ202および第2のパラメータ206の関数である。この関数はハッシュ関数のような種々の関数を含むことができ、その場合、第3のパラメータ210はハッシュ関数のハッシュ値であることができる。第1のパラメータ202はライセンス204に関連付けられ、第2のパラメータ206はコンテンツ118に関連付けられる。第1のパラメータ202および第2のパラメータ206はいろいろなデータを含むことができる。例えば、第1のパラメータ202は数であり得る。1つの実施形態では、その数はランダムに生成され得る。他の1つの実施形態では、その数は事前に確定される。第2のパラメータ206は第1のパラメータ202に従属することができ、あるいはその逆でもあり得る。例えば、第2のパラメータ206は、暗号鍵へのリファレンスと第1のパラメータ202との両方から導出される数またはストリングであり得る。そのような数またはストリングを、
第2のパラメータ=F(鍵リファレンス、第1のパラメータ) (1.2)
と表示することができ、第2のパラメータ206は暗号鍵へのリファレンスと第1のパラメータ202との両方の関数である。第2のパラメータ206が認証鍵と第1のパラメータ202との両方からも導出され得るということが理解されるべきである。他の1つの例では、第2のパラメータ206は暗号ナンスと第1のパラメータ202とから導出され得る。逆に、第1のパラメータ202は、第2のパラメータ206および認証鍵、暗号鍵へのリファレンス、暗号ナンスまたは他のパラメータから導出され得る。
【0018】
第1のパラメータ202および第2のパラメータ206は、ライセンス204およびコンテンツ118にそれぞれ関連付けられる。ライセンス204またはコンテンツ118に関連付けられるために、第1のパラメータ202および第2のパラメータ206をそれぞれライセンスおよびコンテンツの中に置くかまたは包含することができる。例えば、第2のパラメータ206をコンテンツ118のヘッダまたはフッタに置くことができる。あるいは、第1のパラメータ202および/または第2のパラメータ206をライセンス204および/またはコンテンツ118とは別に置くこともできる。別々に置く場合には、ライセンス204を、第1のパラメータへのポインタを包含する第1のパラメータ202に関連付けることができる。第2のパラメータがコンテンツとは別に置かれる場合には、コンテンツ118も第2のパラメータ206へのポインタを含むことができる。
【0019】
図3は、本発明の1つの実施形態による記憶装置にアクセスするためのシステムの略ブロック図である。図に示されているように、システム302は、記憶装置116に結合されたホスト計算装置114を含む。ホスト計算装置114は、アプリケーション104と第1のコンテンツ保護プラットフォーム304とを含むことができる。記憶装置116は、第2のコンテンツ保護プラットフォーム306と、コンテンツ118と、ライセンス204とを含む。1つの実施形態では、ライセンス204は、ライセンスが多くのアプリケーションからは見えなくてかつアクセスもできない記憶装置116の秘密パーティションに格納され得る。記憶装置116に格納されるのに加えて、ライセンス204はホスト計算装置114にも格納され得る。第1のコンテンツ保護プラットフォーム304および第2のコンテンツ保護プラットフォーム306は、記憶装置116にコンテンツ118を守るための技術プラットフォームである。第1のコンテンツ保護プラットフォーム304および/または第2のコンテンツ保護プラットフォーム306で、ユーザは、コンテンツ保護を危険にさらすことなく記憶装置116およびそのコンテンツ118を渡すことができる。データを守るために使用され得るいろいろなコンテンツ保護プラットフォームがあり、その例が(サンディスク コーポレイションにより製造され)TrustedFlash(登録商標)およびGruvi(登録商標)という商標のもとで販売されている。
【0020】
図3に示されているように、アプリケーション104は、第1のコンテンツ保護プラットフォーム304を介して、記憶装置116に格納されているコンテンツ118を求めるリクエストを送信する。ここで、コンテンツ118は暗号化されている。コンテンツ118を復号するために、ライセンス204に関連付けられた第1のパラメータ202と、コンテンツ118に関連付けられた第2のパラメータ206とが取り出される。第1のパラメータ202および第2のパラメータ206を、ライセンス204およびコンテンツ118にそれぞれ含むことができ、あるいはライセンスおよびコンテンツとは別に置かれたファイルであることができる。方程式1.0により定義されているように、第1のパラメータ202および第2のパラメータ206に基づいて第3のパラメータが生成される。換言すれば、第3のパラメータを第1のパラメータ202および第2のパラメータ206から導出することができる。第3のパラメータは、コンテンツ118を復号するために使用される暗号鍵、その暗号鍵へのリファレンス、認証鍵、ナンス、あるいは他のパラメータであることができる。第3のパラメータで、アプリケーション104はコンテンツ118を復号してアクセスすることができる。コンテンツ118にアクセスするために、第1のコンテンツ保護プラットフォーム304は第3のパラメータと、コンテンツ118を求めるリクエストとを記憶装置116に送ることができる。第2のコンテンツ保護プラットフォーム306は、第3のパラメータに基づいてコンテンツ118を復号することができ、その復号されたコンテンツを第1のコンテンツ保護プラットフォーム304を介してアプリケーション104に送ることができる。
【0021】
図3の実施形態において、ホスト計算装置114でホストされる第1のコンテンツ保護プラットフォーム304は、第1のパラメータ202および第2のパラメータ206を取り出し、第1のパラメータおよび第2のパラメータに基づいて第3のパラメータを生成する。他の1つの実施形態では、記憶装置116に含まれる第2のコンテンツ保護プラットフォーム306も、第1のパラメータ202および第2のパラメータ206を取り出し、第1のパラメータおよび第2のパラメータに基づいて第3のパラメータを生成することができる。
【0022】
図4は、本発明の1つの実施形態による記憶装置からのコンテンツのアクセスを描いたフローチャート図である。402から開始して、コンテンツが保護されている(すなわち、暗号化されている)か否かを判定するためにコンテンツが分析される。コンテンツに関連付けられた種々の情報は、コンテンツが暗号化されているか否かを示すことができる。例えば、コンテンツのヘッダは、コンテンツが暗号化されていることを示すことができる。あるいは、コンテンツのファイル名拡張子も、コンテンツが暗号化されていることを示すことができる。コンテンツが保護されていなければ、410でコンテンツは直ちにアクセスされることができる。コンテンツが保護されていれば、404で第1のパラメータがライセンスから取り出される。この実施形態では、第1のパラメータは数である。その数をランダムに生成するかあるいは事前に確定することができる。406で第2のパラメータがコンテンツから取り出される。1つの実施形態では、方程式1.2で表示されているように、第2のパラメータを暗号鍵へのリファレンスと第1のパラメータとから導出することができる。暗号鍵はコンテンツを暗号化あるいは復号するために使用される。その結果、第2のパラメータはコンテンツおよびライセンスの両方と関連付けられる。とういのも、第2のパラメータが、コンテンツを復号するために使用される暗号鍵へのリファレンスと、ライセンスに含まれる数とから導出あるいは計算されるからである。他の1つの実施形態では第1のパラメータ(例えば、1つの数)をコンテンツに関連付けることができ、第2のパラメータをライセンスに関連付けることができるということに留意すべきである。
【0023】
第1のパラメータおよび第2のパラメータで、暗号鍵へのリファレンスを408で生成するかあるいは計算することができる。前に方程式1.0で表示されたように、暗号鍵へのリファレンスは第1のパラメータおよび第2のパラメータに基づいて生成され得る。その後、410で、コンテンツを第3のパラメータに基づいて復号し、アクセスすることができる。例えば、1つの実施形態では、暗号鍵へのリファレンスの形の第3のパラメータを記憶装置へ送ることができる。記憶装置は、暗号鍵を格納する安全なストアを包含することができる。記憶装置は、暗号鍵へのリファレンスを用いて、その安全なストアから暗号鍵を取り出すことができる。暗号鍵で、記憶装置はコンテンツを復号し、その復号されたコンテンツをホスト計算装置に送ることができる。
【0024】
セッションチケットに基づいてコンテンツにアクセスすること
図5は、本発明の1つの実施形態によるセッションチケットの生成を描いたブロック図である。パラメータ502は当初に提供され、パラメータをコンテンツの復号に関連付けることのできるいろいろなデータを含む。パラメータ502は、前に論じられたように、ライセンスおよびコンテンツに関連付けられたパラメータに基づいて生成され得る。パラメータ502の例は、コンテンツの復号に使用される暗号鍵へのリファレンス、暗号ナンスあるいは他のパラメータを含む。
【0025】
セッションチケット506の生成は、変数504の使用を含む。変数504はいろいろなデータを含む。例えば、データは1つの数であり得る。その数は、事前に確定されあるいはランダムに生成され得る。他の1つの実施形態では、データは文字ストリングであり得る。前に論じられたパラメータとは違って、変数504をライセンスおよびコンテンツに関連付けることができない。換言すると、変数504をライセンスおよびコンテンツから独立することができる。変数504は、セッションで変化するように構成される。セッションは、1つの期間にわたることができる。例えば、セッションは、1時間、1日、1週間、または他の単位の時間にわたって続くことができる。さらに、セッションは、記憶装置に結合されているホスト計算装置が起動あるいは再スタートされる時に終了することもできる。セッションは、記憶装置がホスト計算装置から切り離される時にも終了することができる。さらに、例えば、セッションは、コンテンツへの限られた数(例えば、コンテンツがアクセスされることのできる限られた回数)のアクセスにわたることができる。
【0026】
セッションチケット506はパラメータ502および変数504に基づいて生成され、これによりパラメータはセッションチケット506を定義するために変数に基づいて暗号化される。従って、セッションチケット506を、
セッションチケット=F(パラメータ、変数) (2.0)
と表示することができ、セッションチケットはパラメータ502および変数504の関数である。セッションチケット506があれば、コンテンツはセッションチケットに基づいてアクセスされ得る。例えば、ホスト計算装置はセッションチケット506を記憶装置に送ることができる。記憶装置は、コンテンツを復号するために使用されるパラメータをセッションチケット506に基づいて導出することができる。パラメータ502を、
パラメータ=F-i(セッションチケット、変数) (2.2)
から導出することができ、パラメータはセッションチケット506および変数504の逆関数である。
【0027】
セッションチケット506を1つの特定のコンテンツと関連付けるということが理解されるべきである。というのも、セッションチケットがコンテンツを復号するために使用されるからである。その結果、記憶装置に格納されている他のコンテンツは、セッションチケットが他のコンテンツを復号するための(502のような)パラメータを含んでいなければ、セッションチケット506で使用あるいはアクセスすることができない。例として、記憶装置に格納されている2つの別々のコンテンツが異なる暗号鍵で暗号化されているならば、ホスト計算装置または記憶装置は、その2つの別々のコンテンツにアクセスするために2つの異なるセッションチケットを生成する。ここで、1つのセッションチケットを、異なる暗号鍵で暗号化されている2つの別々のコンテンツにアクセスするために使用することはできない。
【0028】
図6は、本発明の1つの実施形態によるセッションチケットを用いて記憶装置にアクセスするためのシステムの略ブロック図である。システム602は、記憶装置116に結合されているホスト計算装置114を含む。ホスト計算装置114は、アプリケーション104と第1のコンテンツ保護プラットフォーム304とを含むことができる。記憶装置116は、第2のコンテンツ保護プラットフォーム306と、コンテンツ118と、ライセンス204とを含む。前に論じられたように、第1のコンテンツ保護プラットフォーム304および第2のコンテンツ保護プラットフォーム306は、記憶装置116に格納されているコンテンツ118のデジタル権を管理するように構成され得る。
【0029】
図6に示されているように、アプリケーション104は、記憶装置116に格納されているコンテンツ118を求めるリクエストを第1のコンテンツ保護プラットフォーム304を介して送る。コンテンツ118は暗号鍵で暗号化されている。暗号鍵に関連付けられたパラメータ(例えば、暗号鍵へのリファレンス、ナンス、あるいは他のパラメータ)が第2のコンテンツ保護プラットフォーム306に提供される。コンテンツ118にアクセスするためのリクエストに応答して、第2のコンテンツ保護プラットフォーム306は、方程式2.0で表示されているセッションチケットを確定するためにパラメータを変数604に基づいて暗号化する。第2のコンテンツ保護プラットフォーム306は、変数604(例えば、数、ストリング、または他のパラメータ)を生成することができる。変数604は、セッションで変化するように構成される。例えば、第2のコンテンツ保護プラットフォーム306は、全てのセッションのためにそれぞれ別々の変数604を生成することができる。変数604をランダムに生成するかあるいは事前に確定することができる。
【0030】
セッションチケットが生成された後、第2のコンテンツ保護プラットフォーム306はセッションチケットをホスト計算装置114に送る。セッションチケットがあれば、ホスト計算装置114はセッションチケットに基づいてコンテンツ118にアクセスすることができる。コンテンツ118にアクセスするために、ホスト計算装置114はその後、セッションチケットを記憶装置116に送り返す。セッションチケットを受け取ると、第2のコンテンツ保護プラットフォーム306はコンテンツ118を復号するために使用されるパラメータを抽出するためにセッションチケットを復号する(方程式2.2で表示されている)。変数604が変化していなければ、復号はパラメータを暗号化するために使用された変数と同一の変数に基づくので、パラメータは抽出され得る。変数604は、異なるセッションで変化し得る。その結果、それらが同じセッションの中で生成されたのであれば、変数604は、パラメータを暗号化するために使用された変数と同一である。しかし、変数604が変化していれば、復号はパラメータを暗号化するために使用された変数とは異なる変数に基づくので、パラメータは抽出され得ない。それらが異なるセッションの中で生成されたのであれば、変数604はパラメータを暗号化するために使用された変数とは異なる。セッションで変数604を変化させることにより、セッションチケットは1つのセッションの間持続するかあるいは有効である。パラメータが抽出され得たならば、第2のコンテンツ保護プラットフォーム306はパラメータに基づいてコンテンツ118を復号し、その復号されたコンテンツをホスト計算装置114に送ることができる。
【0031】
他の1つの実施形態では、第1のコンテンツ保護プラットフォーム304は、コンテンツ118を復号するために使用されるパラメータを暗号化することによりセッションチケットを生成することもできる。ここで、コンテンツ118にアクセスするためのアプリケーション104によるリクエストに応答して、第1のコンテンツ保護プラットフォーム304はセッションチケットを生成してセッションチケットをアプリケーション104に送ることができる。アプリケーション104はその後、コンテンツ118にアクセスするためにセッションチケットを第1のコンテンツ保護プラットフォーム304に送り返すことができる。
【0032】
図7は、本発明の1つの実施形態によるセッションチケットに基づく記憶装置からのコンテンツのアクセスを描いたフローチャート図である。702から開始して、暗号鍵へのリファレンスが取り出される。リファレンスをホスト計算装置または記憶装置から取り出すことができる。記憶装置に格納されているコンテンツは、暗号鍵を用いて暗号化され復号され得る。暗号鍵へのリファレンスがあれば、暗号鍵へのリファレンスはセッションチケットを確定するために704で1つの数に基づいて暗号化される。その数はセッションで変化するように構成され、ランダムに生成され得る。セッションチケットを、その後、706で例えばホスト計算装置に送ることができる。
【0033】
ホスト計算装置が記憶装置に格納されているコンテンツにアクセスする時、ホスト計算装置は、受け取ったセッションチケットを706で記憶装置に送ることができる。記憶装置は、708でセッションチケットを受け取り、710でセッションチケットを1つの数に基づいて復号する。その数が、セッションチケットを生成するために使用された数と一致すれば、暗号鍵へのリファレンスが復号動作から抽出され得る。しかし、セッションが変わって異なる数が記憶装置によって保持されているならば、数が一致しないので暗号鍵へのリファレンスは復号動作から抽出され得ない。暗号鍵へのリファレンスがセッションチケットから抽出され得るならば、暗号鍵は712でリファレンスに基づいて取り出される。暗号鍵を、例えば、安全なストアから取り出すことができる。その後、コンテンツは714で暗号鍵を用いて復号され、その後、716で例えばホスト計算装置に送られる。
【0034】
図8は、本発明の1つの実施形態によるコンテンツにアクセスするためにホスト計算装置上でホストされ得るプログラムアプリケーションの略ブロック図である。ホスト計算装置114は、アプリケーション104、デジタル著作権管理(DRM)モジュール806、コンテンツ保護プラットフォーム304、ファイルシステムマネージャ808、およびデバイスドライバ810をホストすることができる。前に論じられたように、アプリケーション104は、マルチメディアプレーヤ、ビデオゲーム、および他のアプリケーションのようないろいろなプログラムアプリケーションを含むことができる。DRMモジュール806およびコンテンツ保護プラットフォーム304はアプリケーション104と通信する。DRMモジュール806は、記憶装置または他の記憶場所に格納されているコンテンツのデジタル権をホスト計算装置114が管理することを可能にする。例えば、DRMモジュール806はコンテンツを保護し、その配布を制御することができる。前に論じられたように、コンテンツ保護プラットフォーム304は、記憶装置上のコンテンツを守るための技術プラットフォームである。コンテンツ保護プラットフォーム304は、セキュリティマネージャ802およびホスト暗号エンジン804を含むことができる。一般的に、セキュリティマネージャ802は、記憶装置に格納されているコンテンツのアクセスを管理する。管理は、例えば、コンテンツが保護されるか否かを調べること、ライセンスおよびコンテンツに関連付けられたパラメータに基づいて暗号鍵へのリファレンスを生成すること、パラメータおよび変数に基づいてセッションチケットを生成すること、変数を生成すること、および他の操作を含む。ホスト暗号エンジン804は、暗号操作を処理するための暗号ライブラリを含む。コンテンツ保護プラットフォーム304およびDRMモジュール806は共同してホスト計算装置114(および記憶装置)に安全な記憶能力およびコンテンツ管理能力を提供する。例えば、コンテンツ保護プラットフォーム304およびDRMモジュール806は、記憶装置に格納されているコンテンツ(例えば、音楽ファイル、映画ファイル、ソフトウェア、および他のデータ)の安全な格納およびコンテンツへのアクセスを制御するための所定のポリシーの実施を可能にする。
【0035】
ファイルシステムマネージャ808はコンテンツ保護プラットフォーム304と通信する。一般的に、ファイルシステムマネージャ808は、記憶装置に格納されているコンテンツのアクセス(例えば、読み出し、書き込み、および他のアクセス操作)を管理し処理するように構成される。例えば、ファイルシステムマネージャ808は、記憶装置からコンテンツを読み出し、そのコンテンツを、処理のためにコンテンツ保護プラットフォーム304に送ることができる。ホスト計算装置114は記憶装置とインターフェイスすることができる。従って、ホスト計算装置114は、記憶装置とインターフェイスするために、ファイルシステムマネージャ808と通信するデバイスドライバ810を含むことができる。デバイスドライバ810は、例えば、記憶装置と通信するための下位レベルインターフェイス機能を含むことができる。下位レベルインターフェイス機能の例は、記憶装置へのデータの入力および記憶装置からのデータの出力に関連付けられた入出力機能を含む。
【0036】
図9は、本発明の1つの実施形態による記憶装置に包含され得るプログラムアプリケーションの略ブロック図である。記憶装置116は、DRMモジュール902、コンテンツ保護プラットフォーム306、暗号エンジン904、および安全なストア906を含むことができる。記憶装置116において、DRMモジュール902は、記憶装置116が記憶装置に格納されているコンテンツのデジタル権を管理することを可能にする。例えば、DRMモジュール902は、コンテンツ権を実施するように構成され得る。コンテンツ保護プラットフォーム306は、前に論じられたように、記憶装置116に格納されているコンテンツを保護するための技術プラットフォームである。コンテンツ保護プラットフォーム306を、パラメータおよび変数に基づいてセッションチケットを生成するためにライセンスおよびコンテンツに関連付けられたパラメータに基づいて暗号鍵へのリファレンスを生成するように構成することができ、また他の操作のために構成することができる。暗号エンジン904は暗号操作を処理し、安全なストア906は暗号鍵を記憶する。
【0037】
他の実施形態では図8のホスト計算装置114および図9の記憶装置116は、図8および図9に示されているものとは別に、より少数のあるいはより多数のプログラムアプリケーションを包含することができるということが理解されるべきである。例えば、図8に示されているように、ファイルシステムマネージャ808およびデバイスドライバ810はコンテンツ保護プラットフォーム304に統合され得る。従って、図8のホスト計算装置114はDRMモジュール806およびコンテンツ保護プラットフォーム304を含むことができる。
【0038】
図10は、本発明の1つの実施形態によるコンテンツ保護プラットフォームおよび他のプログラムアプリケーションをホストするのに適するホスト計算装置の全般的概観の略ブロック図である。或る実施形態では、ホスト計算装置114は、コンピュータプログラム(例えば、コンテンツ保護プラットフォーム)、ロジック、アプリケーション、方法、プロセス、あるいはコンテンツにアクセスするための他のソフトウェアを実行するために使用され得る。ホスト計算装置114の例は、デスクトップ形コンピュータ、サーバ、携帯計算装置、個人用携帯情報端末(PDA)、携帯電話機、装置内の計算エンジン、および他のコンピュータシステムを含む。図10に示されているように、ホスト計算装置114は情報を伝えるためのバス1002または他の通信メカニズムを含み、それは、プロセッサ1004、システムメモリ1006(例えば、ランダムアクセスメモリ(RAM))、記憶装置1008(例えば、読み出し専用メモリ(ROM)、磁気ディスクドライブ、光ディスクドライブ、および他の記憶装置)、通信インターフェイス1012(例えば、モデムまたはイーサネットカード)、ディスプレイ1014(例えば、ブラウン管(CRT)または液晶ディスプレイ(LCD))、入出力装置1016(例えば、キーボード)、およびカーソル制御装置1018(例えば、マウスまたはトラックボール)のようなサブシステムおよび装置を相互に接続する。
【0039】
或る実施形態では、ホスト計算装置114は、システムメモリ1006に格納されている1つ以上のプログラム命令の1つ以上のシーケンスを実行するとき、プロセッサ1004によって特定の操作を行う。そのようなプログラム命令は、記憶装置1008のような他のコンピュータ可読媒体からシステムメモリ1006に読み込まれ得る。或る実施形態では、本発明の実施形態を実行するためにソフトウェアプログラム命令の代わりにまたはこれと組み合わされてハードワイヤード回路が使用され得る。
【0040】
「コンピュータ可読媒体」という用語はプログラム命令を実行のためのプロセッサ1004に提供するのに関与する適切な媒体を指すということが理解されるべきである。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定はされない多くの形をとることができる。不揮発性媒体は、例えば、記憶装置1008のような光ディスクまたは磁気ディスクを含むことができる。揮発性媒体は、システムメモリ1006のようなダイナミックメモリを含むことができる。伝送媒体は、バス1002を構成するワイヤを含む、同軸ケーブル、銅線、およびファイバオプティックスを含む。伝送媒体は、電波通信および赤外線データ通信のときに生成されるもののような音波あるいは光波の形をとることもできる。コンピュータ可読媒体のありふれた形は、例えば、磁気媒体(例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、および他の磁気媒体)、光媒体(例えば、コンパクトディスク読み出し専用メモリ(CD−ROM)および他の光媒体)、パターンを有する物理媒体(例えば、パンチカード、紙テープ、および他の物理媒体)、メモリチップまたはカートリッジ、搬送波(例えば、RAM、プログラム可能な読み出し専用メモリ(PROM)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、フラッシュメモリ、および他のメモリチップまたはカートリッジ)、およびコンピュータが読み出すことのできる他の任意の媒体を含む。
【0041】
或る実施形態では、実施形態を実施するためのプログラム命令のシーケンスの実行は、単一の計算装置114により行われ得る。他の実施形態では、通信リンク1020(例えば、ローカルエリアネットワーク(LAN)、一般加入電話網(PSTN)、無線ネットワーク、および他の通信リンク)により結合されたホスト計算装置114のような2つ以上のコンピュータシステムが、互いに協力して実施形態を実施するためにプログラム命令のシーケンスを実行することができる。さらに、計算装置114は、通信リンク1020および通信インターフェイス1012を通してメッセージ、データ、およびプログラムを含む命令すなわちアプリケーションコードを送受信することができる。受け取られたプログラム命令は、プログラム命令が受け取られるとプロセッサ1004により実行され、かつ/または、後に実行されるべく記憶装置1008または他の不揮発性記憶装置に格納され得る。
【0042】
図11は、本発明の1つの実施形態による記憶装置の略ブロック図である。図11に示されているように、記憶装置116は、メモリ1104と通信するメモリコントローラ1102を含む。一般的に、メモリコントローラ1102はメモリ1106の操作を制御する。操作の例は、データを書き込むこと(またはプログラムすること)、データを読み出すこと、データを消去すること、データをベリファイすること、および他の操作を含む。さらに、メモリコントローラ1102は、ライセンスおよびコンテンツに関連付けられたパラメータに基づいてパラメータを生成し、パラメータおよび数に基づいてセッションチケットを生成するように構成されることができ、また、前述した他の操作のために構成されることができる。
【0043】
記憶装置116は、いろいろな不揮発性メモリ構造および技術を含むことができる。メモリ技術の例は、フラッシュメモリ(例えば、NAND、NOR、シングルレベルセル(SLC/BIN)、マルチレベルセル(MLC)、分割ビット線NOR(DINOR)、AND、高容量結合比(HiCR)、非対称無接点トランジスタ(ACT)、および他のフラッシュメモリ)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、一度だけプログラム可能なメモリ(OTP)、および他のメモリ技術を含む。1つの実施形態では、記憶装置116は、フラッシュメモリを使用するフラッシュメモリカードであり得る。フラッシュメモリカードの例として、セキュアデジタル(登録商標)(カリフォルニア州サンラモンのSDカード協会によって維持される規格に準拠)、マルチメディアカード(登録商標)(カリフォルニア州パロアルトのマルチメディアカード協会(「MMCA」)によって維持される規格に準拠)、ミニSD(登録商標)(サンディスク コーポレイション)製造)、マイクロSD(登録商標)(サンディスク コーポレイション)製造)、コンパクトフラッシュ(登録商標)(カリフォルニア州パロアルトのコンパクトフラッシュ協会(「CFA」)によって維持される規格に準拠)、スマートメディア(登録商標)(日本の横浜のソリッドステートフロッピーディスクカード(「SSFDC))フォーラムによって維持される規格に準拠)、xDピクチャカード(登録商標)(日本の東京のxDピクチャカードライセンスオフィスによって維持される規格に準拠)、メモリスティック(登録商標)(日本の横浜のソリッドステートフロッピーディスクカード(「SSFDC」)フォーラムにより維持されている仕様に従う)、トランスフラッシュ(登録商標)(サンディスク コーポレイション製造)のような商標付き製品、および他のフラッシュメモリカードが挙げられる。他の1つの実施形態では、記憶装置116は、取り外しできない記憶装置として実現され得る。
【0044】
以下の特許文献は、本願明細書に記載されている実施形態に使用され得る実施形態を含んでいる。これらの各特許文献は、それぞれ本願と同じ日に出願され、本発明の譲受人に譲渡され、本願明細書において参照により援用されている。これらの特許文献とは、「Apparatuses for Linking Content with License」という米国特許出願第11/600,270号(特許文献1)、「Methods for Accessing Content Based on a Session Ticket 」という米国特許出願第11/600,263号(特許文献2)、「Apparatuses for Accessing Content Based on a Session Ticket 」という米国特許出願第11/600,273号(特許文献3)、「Methods for Binding Content to a Separate Memory Device 」という米国特許出願第11/600,262号(特許文献4)、「Apparatuses for Binding Content to a Separate Memory Device 」という米国特許出願第11/600,245号(特許文献5)、「Method for Allowing Multiple Users to Access Preview Content」という米国特許出願第11/599,994号(特許文献6)、「System for Allowing Multiple Users to Access Preview Content」という米国特許出願第11/599,995号(特許文献7)、「Method for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System 」という米国特許出願第11/600,005号(特許文献8)、「System for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System 」という米国特許出願第11/599,991号(特許文献9)、「Method for Connecting to a Network Location Associated with Content 」という米国特許出願第11/600,300号(特許文献10)、および「System for Connecting to a Network Location Associated with Content 」という米国特許出願第11/600,006号(特許文献11)である。
【0045】
前述した実施形態は理解を明快にする目的で或る程度詳しく記載されたけれども、この実施形態は、与えられた細目に限定されない。実施形態を実現する代わりの方法が多数ある。従って、開示された実施形態は実例であって制限的ではないと解されるべきであり、実施形態は、本願明細書において与えられた細目に限定されるべきではなくて、添付されている特許請求の範囲および同等物の中で改変され得る。特許請求の範囲において、明示的に述べられていない限り、要素および/または操作は特定の操作の順序を示唆しない。
【技術分野】
【0001】
本発明の実施形態は、一般的にコンテンツアクセスに関し、特に、コンテンツをライセンスとリンクさせ、セッションチケットに基づいてコンテンツにアクセスすることに関する。
【背景技術】
【0002】
デジタル著作権管理(DRM:Digital Rights Management )は、音楽ファイル、ビデオファイルのようなコンテンツ、およびその他のコンテンツの配布を保護し制御するために使用される技術である。DRMでは、コンテンツは暗号鍵で暗号化され、その暗号鍵はコンテンツを復号するためにも使用され得る。ユーザがコンテンツを復号してアクセスするためには、ユーザは、そのコンテンツに関連付けられているライセンスへのアクセスを持たなければならない。一般的に、ライセンスは、ライセンスプロバイダにより定められたパーミッションに依存してコンテンツに対する種々のアクセス権を与えることができる。例えば、ライセンスは、限られた回数だけプレーされ得るようにコンテンツ(例えば、音楽ファイル)を制限することができる。
【0003】
従来のDRM技術では、コンテンツを復号するために使用される暗号鍵はライセンスの中にだけ格納される。ライセンスはハッキングされる可能性があり、暗号鍵はライセンスから容易に抽出される可能性がある。暗号鍵が危険にさらされたならば、無許可のユーザがライセンスなしでコンテンツを復号し、これによりコンテンツに無制限にアクセスする可能性がある。その結果、コンテンツの保護をさらに改善するニーズが存在する。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】米国特許出願第11/600,270号
【特許文献2】米国特許出願第11/600,263号
【特許文献3】米国特許出願第11/600,273号
【特許文献4】米国特許出願第11/600,262号
【特許文献5】米国特許出願第11/600,245号
【特許文献6】米国特許出願第11/599,994号
【特許文献7】米国特許出願第11/599,995号
【特許文献8】米国特許出願第11/600,005号
【特許文献9】米国特許出願第11/599,991号
【特許文献10】米国特許出願第11/600,300号
【特許文献11】米国特許出願第11/600,006号
【発明の概要】
【0005】
本発明の種々の実施形態は、ライセンスをコンテンツとリンクさせて、セッションチケットに基づいてコンテンツにアクセスする方法、システムおよび/または装置を提供する。この実施形態は、方法、回路、システム、あるいは装置を含む多数の仕方で実現され得るということが理解されるべきである。本発明の幾つかの実施形態が以下で記述される。
【0006】
1つの実施形態において、記憶装置に格納されているコンテンツにアクセスするための方法が提供される。この方法では、コンテンツにアクセスするためのリクエストが送られ、セッションチケットが受け取られる。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される変数に基づいて生成される。コンテンツは、セッションチケットに基づいてアクセスされ得る。
【0007】
他の1つの実施形態では、装置が提供される。この装置は、メモリと、メモリと通信するプロセッサとを含む。このプロセッサは、記憶装置へ、この記憶装置に格納されているコンテンツにアクセスするために、リクエストを送り、セッションチケットを受け取り、セッションチケットに基づいてコンテンツにアクセスするように構成される。セッションチケットはコンテンツを復号するために使用されるパラメータを含み、セッションチケットは、セッションで変化するように構成される変数に基づいて生成される。
【0008】
本発明の他の実施形態および利点は、本発明の原理を例を挙げて説明する、添付図面と関連して検討される以下の詳細な説明から明らかである。
【0009】
本発明は、添付図面と関連する以下の詳細な記述により容易に理解され、同様の参照数字は同様の構造要素を示す。
【図面の簡単な説明】
【0010】
【図1】本発明の1つの実施形態による装置のシステムの略ブロック図である。
【図2】本発明の1つの実施形態によるコンテンツを復号するために使用されるパラメータの生成を描いたブロック図である。
【図3】本発明の1つの実施形態による記憶装置にアクセスするためのシステムの略ブロック図である。
【図4】本発明の1つの実施形態による記憶装置からのコンテンツのアクセスを描いたフローチャート図である。
【図5】本発明の1つの実施形態によるセッションチケットの生成を描いたブロック図である。
【図6】本発明の1つの実施形態によるセッションチケットを用いて記憶装置にアクセスするためのシステムの略ブロック図である。
【図7】本発明の1つの実施形態によるセッションチケットに基づく記憶装置からのコンテンツのアクセスを描いたフローチャート図である。
【図8】本発明の1つの実施形態によるコンテンツにアクセスするためにホスト計算装置上でホストされ得るプログラムアプリケーションの略ブロック図である。
【図9】本発明の1つの実施形態による記憶装置に包含され得るプログラムアプリケーションの略ブロック図である。
【図10】本発明の1つの実施形態によるコンテンツ保護プラットフォームおよび他のプログラムアプリケーションをホストするのに適するホスト計算装置の全般的概観の略ブロック図である。
【図11】本発明の1つの実施形態による記憶装置の略ブロック図である。
【発明を実施するための形態】
【0011】
添付図面と共に、1つ以上の実施形態についての詳細な説明が以下で提供される。詳細な説明は、そのような実施形態に関して提供されるけれども、特定の実施形態には限定されない。範囲は、特許請求の範囲によってのみ限定され、多数の代案、改変形、および同等物が含まれる。完全な理解を提供するために多数の具体的な詳細が以下の記述において説明される。これらの詳細は例示を目的として提供されるのであり、記述される実施形態は、これらの具体的な詳細の幾つかまたは全部を伴わずに特許請求の範囲に従って実現され得る。明瞭性を目的として、実施形態に関連する技術分野で知られている技術的事項は、記述を不必要に不明瞭にしないように、詳しくは記述されていない。
【0012】
本願明細書に記載されている実施形態は、ライセンスをコンテンツとリンクさせること、および、セッションチケットに基づくコンテンツのアクセスを提供する。暗号化されているコンテンツを復号してアクセスするために暗号鍵が使用される。以下でより詳しく説明されるように、暗号鍵を導出するために、ライセンスおよびコンテンツの両方に関連付けられたパラメータが使用される。或る実施形態では、暗号鍵を導出するために使用されるパラメータは、コンテンツへのアクセスが1つのセッションに限定されるように、変数でさらに暗号化され得る。
【0013】
図1は、本発明の1つの実施形態による装置のシステムの略ブロック図である。図1に示されているように、システム102はホスト計算装置114と記憶装置116とを含む。ホスト計算装置114は、コンテンツ118を記憶装置に格納し、あるいは格納されているコンテンツ118を取り出すために記憶装置116にアクセスすることのできるいろいろな電子装置を含むことができる。記憶装置116は、ピンおよび/またはソケットコネクタのような機械的インターフェイス108を介してホスト計算装置114に取り外し可能に結合され得る。記憶装置116は、メモリ記憶装置である。以下で説明されるように、記憶装置116の一例は、不揮発性メモリを使用するメモリカードである。
【0014】
ホスト計算装置114は、アプリケーション104をホストする。アプリケーション104は、いろいろなプログラムアプリケーションを含むことができる。例えば、アプリケーション104は、ホスト計算装置114上のハードウェアリソースおよびソフトウェアリソースを管理するオペレーティングシステムであり得る。他の例では、アプリケーション104は、オーディオファイルおよびビデオファイルをプレーするように構成されたマルチメディアプレーヤであり得る。さらに、例えば、アプリケーション104はビデオゲームであり得る。アプリケーション104は、記憶装置116に格納されているコンテンツ118にアクセスすることができる。コンテンツ118は、いろいろなデータを含むことができる。コンテンツ118の例は、ウェーブ(WAVE)、MPEG−1オーディオレイヤ3(MP3)、アドバンスドオーディオコーディング(AAC)のようなオーディオファイルフォーマットおよび他のオーディオファイルフォーマットで符号化されたオーディオファイルを含む。コンテンツ118は、オーディオビデオインターリーブ(AVI)、ムービングピクチャエキスパートグループ(MPEG)のようなビデオファイルフォーマット、および他のビデオファイルフォーマットで符号化されたビデオファイルも含むことができる。コンテンツ118の他の例は、文書ファイル、画像ファイル、アプリケーションファイル、および他のデータを含む。
【0015】
ライセンスをコンテンツとリンクさせること
図2は、本発明の1つの実施形態によるコンテンツを復号するために使用されるパラメータの生成を描いたブロック図である。図2は、コンテンツ118と、関連するライセンス204とを示す。コンテンツ118は、コンテンツが分かりにくいように暗号化される。一般的に、ライセンス204は、コンテンツ118がアクセスされることを可能にするデータ(例えば、ストリング、ファイル、および他のデータ)である。ライセンス204は、アクセスの持続時間、コンテンツのアクセスを特定の計算装置に制限すること、コンテンツがアクセスされ得る日付、時間、回数のような、コンテンツ118にアクセスするためのパーミッションあるいはルールと、他のパーミッションとを含むことができる。従って、ライセンス204は、コンテンツ118にアクセスするためのパーミッションを確定するように構成され得る。従って、ユーザは、ライセンス204に含まれるパーミッションに基づいてコンテンツ118へのアクセスを与えられる。例えば、ライセンス204は、音楽ファイルの形のコンテンツ118が特定の計算装置で3回プレーされることを可能にすることができる。他の例では、ライセンス204は、コンテンツ118がアクセスされることを許すことができるけれども他の計算装置にコピーされることを許すことができない。
【0016】
コンテンツ118は暗号化され、コンテンツを復号するために使用される第3のパラメータ210が構成される。第3のパラメータ210は、コンテンツ118の復号に関連付けられ得るいろいろなデータを含む。例えば、第3のパラメータ210は、コンテンツ118の暗号化および復号に使用される暗号鍵であり得る。第3のパラメータ210は、暗号鍵の代わりに、暗号鍵へのリファレンスを含むこともできる。そのリファレンスは、例えば、暗号鍵を特定する数またはストリングであり得る。第3のパラメータ210は認証鍵も含むことができる。認証鍵は、ホスト計算装置と記憶装置との間の認証セッションに使用される暗号鍵である。他の1つの例では、第3のパラメータ210は暗号ナンス(nonce) であり得る。暗号ナンスは、暗号鍵を生成するために使用され得る数である。
【0017】
第3のパラメータ210は第1のパラメータ202および第2のパラメータ206に基づいて生成される。換言すれば、第3のパラメータ210を、
第3のパラメータ=F(第1のパラメータ、第2のパラメータ) (1.0)
と表示することができ、第3のパラメータは第1のパラメータ202および第2のパラメータ206の関数である。この関数はハッシュ関数のような種々の関数を含むことができ、その場合、第3のパラメータ210はハッシュ関数のハッシュ値であることができる。第1のパラメータ202はライセンス204に関連付けられ、第2のパラメータ206はコンテンツ118に関連付けられる。第1のパラメータ202および第2のパラメータ206はいろいろなデータを含むことができる。例えば、第1のパラメータ202は数であり得る。1つの実施形態では、その数はランダムに生成され得る。他の1つの実施形態では、その数は事前に確定される。第2のパラメータ206は第1のパラメータ202に従属することができ、あるいはその逆でもあり得る。例えば、第2のパラメータ206は、暗号鍵へのリファレンスと第1のパラメータ202との両方から導出される数またはストリングであり得る。そのような数またはストリングを、
第2のパラメータ=F(鍵リファレンス、第1のパラメータ) (1.2)
と表示することができ、第2のパラメータ206は暗号鍵へのリファレンスと第1のパラメータ202との両方の関数である。第2のパラメータ206が認証鍵と第1のパラメータ202との両方からも導出され得るということが理解されるべきである。他の1つの例では、第2のパラメータ206は暗号ナンスと第1のパラメータ202とから導出され得る。逆に、第1のパラメータ202は、第2のパラメータ206および認証鍵、暗号鍵へのリファレンス、暗号ナンスまたは他のパラメータから導出され得る。
【0018】
第1のパラメータ202および第2のパラメータ206は、ライセンス204およびコンテンツ118にそれぞれ関連付けられる。ライセンス204またはコンテンツ118に関連付けられるために、第1のパラメータ202および第2のパラメータ206をそれぞれライセンスおよびコンテンツの中に置くかまたは包含することができる。例えば、第2のパラメータ206をコンテンツ118のヘッダまたはフッタに置くことができる。あるいは、第1のパラメータ202および/または第2のパラメータ206をライセンス204および/またはコンテンツ118とは別に置くこともできる。別々に置く場合には、ライセンス204を、第1のパラメータへのポインタを包含する第1のパラメータ202に関連付けることができる。第2のパラメータがコンテンツとは別に置かれる場合には、コンテンツ118も第2のパラメータ206へのポインタを含むことができる。
【0019】
図3は、本発明の1つの実施形態による記憶装置にアクセスするためのシステムの略ブロック図である。図に示されているように、システム302は、記憶装置116に結合されたホスト計算装置114を含む。ホスト計算装置114は、アプリケーション104と第1のコンテンツ保護プラットフォーム304とを含むことができる。記憶装置116は、第2のコンテンツ保護プラットフォーム306と、コンテンツ118と、ライセンス204とを含む。1つの実施形態では、ライセンス204は、ライセンスが多くのアプリケーションからは見えなくてかつアクセスもできない記憶装置116の秘密パーティションに格納され得る。記憶装置116に格納されるのに加えて、ライセンス204はホスト計算装置114にも格納され得る。第1のコンテンツ保護プラットフォーム304および第2のコンテンツ保護プラットフォーム306は、記憶装置116にコンテンツ118を守るための技術プラットフォームである。第1のコンテンツ保護プラットフォーム304および/または第2のコンテンツ保護プラットフォーム306で、ユーザは、コンテンツ保護を危険にさらすことなく記憶装置116およびそのコンテンツ118を渡すことができる。データを守るために使用され得るいろいろなコンテンツ保護プラットフォームがあり、その例が(サンディスク コーポレイションにより製造され)TrustedFlash(登録商標)およびGruvi(登録商標)という商標のもとで販売されている。
【0020】
図3に示されているように、アプリケーション104は、第1のコンテンツ保護プラットフォーム304を介して、記憶装置116に格納されているコンテンツ118を求めるリクエストを送信する。ここで、コンテンツ118は暗号化されている。コンテンツ118を復号するために、ライセンス204に関連付けられた第1のパラメータ202と、コンテンツ118に関連付けられた第2のパラメータ206とが取り出される。第1のパラメータ202および第2のパラメータ206を、ライセンス204およびコンテンツ118にそれぞれ含むことができ、あるいはライセンスおよびコンテンツとは別に置かれたファイルであることができる。方程式1.0により定義されているように、第1のパラメータ202および第2のパラメータ206に基づいて第3のパラメータが生成される。換言すれば、第3のパラメータを第1のパラメータ202および第2のパラメータ206から導出することができる。第3のパラメータは、コンテンツ118を復号するために使用される暗号鍵、その暗号鍵へのリファレンス、認証鍵、ナンス、あるいは他のパラメータであることができる。第3のパラメータで、アプリケーション104はコンテンツ118を復号してアクセスすることができる。コンテンツ118にアクセスするために、第1のコンテンツ保護プラットフォーム304は第3のパラメータと、コンテンツ118を求めるリクエストとを記憶装置116に送ることができる。第2のコンテンツ保護プラットフォーム306は、第3のパラメータに基づいてコンテンツ118を復号することができ、その復号されたコンテンツを第1のコンテンツ保護プラットフォーム304を介してアプリケーション104に送ることができる。
【0021】
図3の実施形態において、ホスト計算装置114でホストされる第1のコンテンツ保護プラットフォーム304は、第1のパラメータ202および第2のパラメータ206を取り出し、第1のパラメータおよび第2のパラメータに基づいて第3のパラメータを生成する。他の1つの実施形態では、記憶装置116に含まれる第2のコンテンツ保護プラットフォーム306も、第1のパラメータ202および第2のパラメータ206を取り出し、第1のパラメータおよび第2のパラメータに基づいて第3のパラメータを生成することができる。
【0022】
図4は、本発明の1つの実施形態による記憶装置からのコンテンツのアクセスを描いたフローチャート図である。402から開始して、コンテンツが保護されている(すなわち、暗号化されている)か否かを判定するためにコンテンツが分析される。コンテンツに関連付けられた種々の情報は、コンテンツが暗号化されているか否かを示すことができる。例えば、コンテンツのヘッダは、コンテンツが暗号化されていることを示すことができる。あるいは、コンテンツのファイル名拡張子も、コンテンツが暗号化されていることを示すことができる。コンテンツが保護されていなければ、410でコンテンツは直ちにアクセスされることができる。コンテンツが保護されていれば、404で第1のパラメータがライセンスから取り出される。この実施形態では、第1のパラメータは数である。その数をランダムに生成するかあるいは事前に確定することができる。406で第2のパラメータがコンテンツから取り出される。1つの実施形態では、方程式1.2で表示されているように、第2のパラメータを暗号鍵へのリファレンスと第1のパラメータとから導出することができる。暗号鍵はコンテンツを暗号化あるいは復号するために使用される。その結果、第2のパラメータはコンテンツおよびライセンスの両方と関連付けられる。とういのも、第2のパラメータが、コンテンツを復号するために使用される暗号鍵へのリファレンスと、ライセンスに含まれる数とから導出あるいは計算されるからである。他の1つの実施形態では第1のパラメータ(例えば、1つの数)をコンテンツに関連付けることができ、第2のパラメータをライセンスに関連付けることができるということに留意すべきである。
【0023】
第1のパラメータおよび第2のパラメータで、暗号鍵へのリファレンスを408で生成するかあるいは計算することができる。前に方程式1.0で表示されたように、暗号鍵へのリファレンスは第1のパラメータおよび第2のパラメータに基づいて生成され得る。その後、410で、コンテンツを第3のパラメータに基づいて復号し、アクセスすることができる。例えば、1つの実施形態では、暗号鍵へのリファレンスの形の第3のパラメータを記憶装置へ送ることができる。記憶装置は、暗号鍵を格納する安全なストアを包含することができる。記憶装置は、暗号鍵へのリファレンスを用いて、その安全なストアから暗号鍵を取り出すことができる。暗号鍵で、記憶装置はコンテンツを復号し、その復号されたコンテンツをホスト計算装置に送ることができる。
【0024】
セッションチケットに基づいてコンテンツにアクセスすること
図5は、本発明の1つの実施形態によるセッションチケットの生成を描いたブロック図である。パラメータ502は当初に提供され、パラメータをコンテンツの復号に関連付けることのできるいろいろなデータを含む。パラメータ502は、前に論じられたように、ライセンスおよびコンテンツに関連付けられたパラメータに基づいて生成され得る。パラメータ502の例は、コンテンツの復号に使用される暗号鍵へのリファレンス、暗号ナンスあるいは他のパラメータを含む。
【0025】
セッションチケット506の生成は、変数504の使用を含む。変数504はいろいろなデータを含む。例えば、データは1つの数であり得る。その数は、事前に確定されあるいはランダムに生成され得る。他の1つの実施形態では、データは文字ストリングであり得る。前に論じられたパラメータとは違って、変数504をライセンスおよびコンテンツに関連付けることができない。換言すると、変数504をライセンスおよびコンテンツから独立することができる。変数504は、セッションで変化するように構成される。セッションは、1つの期間にわたることができる。例えば、セッションは、1時間、1日、1週間、または他の単位の時間にわたって続くことができる。さらに、セッションは、記憶装置に結合されているホスト計算装置が起動あるいは再スタートされる時に終了することもできる。セッションは、記憶装置がホスト計算装置から切り離される時にも終了することができる。さらに、例えば、セッションは、コンテンツへの限られた数(例えば、コンテンツがアクセスされることのできる限られた回数)のアクセスにわたることができる。
【0026】
セッションチケット506はパラメータ502および変数504に基づいて生成され、これによりパラメータはセッションチケット506を定義するために変数に基づいて暗号化される。従って、セッションチケット506を、
セッションチケット=F(パラメータ、変数) (2.0)
と表示することができ、セッションチケットはパラメータ502および変数504の関数である。セッションチケット506があれば、コンテンツはセッションチケットに基づいてアクセスされ得る。例えば、ホスト計算装置はセッションチケット506を記憶装置に送ることができる。記憶装置は、コンテンツを復号するために使用されるパラメータをセッションチケット506に基づいて導出することができる。パラメータ502を、
パラメータ=F-i(セッションチケット、変数) (2.2)
から導出することができ、パラメータはセッションチケット506および変数504の逆関数である。
【0027】
セッションチケット506を1つの特定のコンテンツと関連付けるということが理解されるべきである。というのも、セッションチケットがコンテンツを復号するために使用されるからである。その結果、記憶装置に格納されている他のコンテンツは、セッションチケットが他のコンテンツを復号するための(502のような)パラメータを含んでいなければ、セッションチケット506で使用あるいはアクセスすることができない。例として、記憶装置に格納されている2つの別々のコンテンツが異なる暗号鍵で暗号化されているならば、ホスト計算装置または記憶装置は、その2つの別々のコンテンツにアクセスするために2つの異なるセッションチケットを生成する。ここで、1つのセッションチケットを、異なる暗号鍵で暗号化されている2つの別々のコンテンツにアクセスするために使用することはできない。
【0028】
図6は、本発明の1つの実施形態によるセッションチケットを用いて記憶装置にアクセスするためのシステムの略ブロック図である。システム602は、記憶装置116に結合されているホスト計算装置114を含む。ホスト計算装置114は、アプリケーション104と第1のコンテンツ保護プラットフォーム304とを含むことができる。記憶装置116は、第2のコンテンツ保護プラットフォーム306と、コンテンツ118と、ライセンス204とを含む。前に論じられたように、第1のコンテンツ保護プラットフォーム304および第2のコンテンツ保護プラットフォーム306は、記憶装置116に格納されているコンテンツ118のデジタル権を管理するように構成され得る。
【0029】
図6に示されているように、アプリケーション104は、記憶装置116に格納されているコンテンツ118を求めるリクエストを第1のコンテンツ保護プラットフォーム304を介して送る。コンテンツ118は暗号鍵で暗号化されている。暗号鍵に関連付けられたパラメータ(例えば、暗号鍵へのリファレンス、ナンス、あるいは他のパラメータ)が第2のコンテンツ保護プラットフォーム306に提供される。コンテンツ118にアクセスするためのリクエストに応答して、第2のコンテンツ保護プラットフォーム306は、方程式2.0で表示されているセッションチケットを確定するためにパラメータを変数604に基づいて暗号化する。第2のコンテンツ保護プラットフォーム306は、変数604(例えば、数、ストリング、または他のパラメータ)を生成することができる。変数604は、セッションで変化するように構成される。例えば、第2のコンテンツ保護プラットフォーム306は、全てのセッションのためにそれぞれ別々の変数604を生成することができる。変数604をランダムに生成するかあるいは事前に確定することができる。
【0030】
セッションチケットが生成された後、第2のコンテンツ保護プラットフォーム306はセッションチケットをホスト計算装置114に送る。セッションチケットがあれば、ホスト計算装置114はセッションチケットに基づいてコンテンツ118にアクセスすることができる。コンテンツ118にアクセスするために、ホスト計算装置114はその後、セッションチケットを記憶装置116に送り返す。セッションチケットを受け取ると、第2のコンテンツ保護プラットフォーム306はコンテンツ118を復号するために使用されるパラメータを抽出するためにセッションチケットを復号する(方程式2.2で表示されている)。変数604が変化していなければ、復号はパラメータを暗号化するために使用された変数と同一の変数に基づくので、パラメータは抽出され得る。変数604は、異なるセッションで変化し得る。その結果、それらが同じセッションの中で生成されたのであれば、変数604は、パラメータを暗号化するために使用された変数と同一である。しかし、変数604が変化していれば、復号はパラメータを暗号化するために使用された変数とは異なる変数に基づくので、パラメータは抽出され得ない。それらが異なるセッションの中で生成されたのであれば、変数604はパラメータを暗号化するために使用された変数とは異なる。セッションで変数604を変化させることにより、セッションチケットは1つのセッションの間持続するかあるいは有効である。パラメータが抽出され得たならば、第2のコンテンツ保護プラットフォーム306はパラメータに基づいてコンテンツ118を復号し、その復号されたコンテンツをホスト計算装置114に送ることができる。
【0031】
他の1つの実施形態では、第1のコンテンツ保護プラットフォーム304は、コンテンツ118を復号するために使用されるパラメータを暗号化することによりセッションチケットを生成することもできる。ここで、コンテンツ118にアクセスするためのアプリケーション104によるリクエストに応答して、第1のコンテンツ保護プラットフォーム304はセッションチケットを生成してセッションチケットをアプリケーション104に送ることができる。アプリケーション104はその後、コンテンツ118にアクセスするためにセッションチケットを第1のコンテンツ保護プラットフォーム304に送り返すことができる。
【0032】
図7は、本発明の1つの実施形態によるセッションチケットに基づく記憶装置からのコンテンツのアクセスを描いたフローチャート図である。702から開始して、暗号鍵へのリファレンスが取り出される。リファレンスをホスト計算装置または記憶装置から取り出すことができる。記憶装置に格納されているコンテンツは、暗号鍵を用いて暗号化され復号され得る。暗号鍵へのリファレンスがあれば、暗号鍵へのリファレンスはセッションチケットを確定するために704で1つの数に基づいて暗号化される。その数はセッションで変化するように構成され、ランダムに生成され得る。セッションチケットを、その後、706で例えばホスト計算装置に送ることができる。
【0033】
ホスト計算装置が記憶装置に格納されているコンテンツにアクセスする時、ホスト計算装置は、受け取ったセッションチケットを706で記憶装置に送ることができる。記憶装置は、708でセッションチケットを受け取り、710でセッションチケットを1つの数に基づいて復号する。その数が、セッションチケットを生成するために使用された数と一致すれば、暗号鍵へのリファレンスが復号動作から抽出され得る。しかし、セッションが変わって異なる数が記憶装置によって保持されているならば、数が一致しないので暗号鍵へのリファレンスは復号動作から抽出され得ない。暗号鍵へのリファレンスがセッションチケットから抽出され得るならば、暗号鍵は712でリファレンスに基づいて取り出される。暗号鍵を、例えば、安全なストアから取り出すことができる。その後、コンテンツは714で暗号鍵を用いて復号され、その後、716で例えばホスト計算装置に送られる。
【0034】
図8は、本発明の1つの実施形態によるコンテンツにアクセスするためにホスト計算装置上でホストされ得るプログラムアプリケーションの略ブロック図である。ホスト計算装置114は、アプリケーション104、デジタル著作権管理(DRM)モジュール806、コンテンツ保護プラットフォーム304、ファイルシステムマネージャ808、およびデバイスドライバ810をホストすることができる。前に論じられたように、アプリケーション104は、マルチメディアプレーヤ、ビデオゲーム、および他のアプリケーションのようないろいろなプログラムアプリケーションを含むことができる。DRMモジュール806およびコンテンツ保護プラットフォーム304はアプリケーション104と通信する。DRMモジュール806は、記憶装置または他の記憶場所に格納されているコンテンツのデジタル権をホスト計算装置114が管理することを可能にする。例えば、DRMモジュール806はコンテンツを保護し、その配布を制御することができる。前に論じられたように、コンテンツ保護プラットフォーム304は、記憶装置上のコンテンツを守るための技術プラットフォームである。コンテンツ保護プラットフォーム304は、セキュリティマネージャ802およびホスト暗号エンジン804を含むことができる。一般的に、セキュリティマネージャ802は、記憶装置に格納されているコンテンツのアクセスを管理する。管理は、例えば、コンテンツが保護されるか否かを調べること、ライセンスおよびコンテンツに関連付けられたパラメータに基づいて暗号鍵へのリファレンスを生成すること、パラメータおよび変数に基づいてセッションチケットを生成すること、変数を生成すること、および他の操作を含む。ホスト暗号エンジン804は、暗号操作を処理するための暗号ライブラリを含む。コンテンツ保護プラットフォーム304およびDRMモジュール806は共同してホスト計算装置114(および記憶装置)に安全な記憶能力およびコンテンツ管理能力を提供する。例えば、コンテンツ保護プラットフォーム304およびDRMモジュール806は、記憶装置に格納されているコンテンツ(例えば、音楽ファイル、映画ファイル、ソフトウェア、および他のデータ)の安全な格納およびコンテンツへのアクセスを制御するための所定のポリシーの実施を可能にする。
【0035】
ファイルシステムマネージャ808はコンテンツ保護プラットフォーム304と通信する。一般的に、ファイルシステムマネージャ808は、記憶装置に格納されているコンテンツのアクセス(例えば、読み出し、書き込み、および他のアクセス操作)を管理し処理するように構成される。例えば、ファイルシステムマネージャ808は、記憶装置からコンテンツを読み出し、そのコンテンツを、処理のためにコンテンツ保護プラットフォーム304に送ることができる。ホスト計算装置114は記憶装置とインターフェイスすることができる。従って、ホスト計算装置114は、記憶装置とインターフェイスするために、ファイルシステムマネージャ808と通信するデバイスドライバ810を含むことができる。デバイスドライバ810は、例えば、記憶装置と通信するための下位レベルインターフェイス機能を含むことができる。下位レベルインターフェイス機能の例は、記憶装置へのデータの入力および記憶装置からのデータの出力に関連付けられた入出力機能を含む。
【0036】
図9は、本発明の1つの実施形態による記憶装置に包含され得るプログラムアプリケーションの略ブロック図である。記憶装置116は、DRMモジュール902、コンテンツ保護プラットフォーム306、暗号エンジン904、および安全なストア906を含むことができる。記憶装置116において、DRMモジュール902は、記憶装置116が記憶装置に格納されているコンテンツのデジタル権を管理することを可能にする。例えば、DRMモジュール902は、コンテンツ権を実施するように構成され得る。コンテンツ保護プラットフォーム306は、前に論じられたように、記憶装置116に格納されているコンテンツを保護するための技術プラットフォームである。コンテンツ保護プラットフォーム306を、パラメータおよび変数に基づいてセッションチケットを生成するためにライセンスおよびコンテンツに関連付けられたパラメータに基づいて暗号鍵へのリファレンスを生成するように構成することができ、また他の操作のために構成することができる。暗号エンジン904は暗号操作を処理し、安全なストア906は暗号鍵を記憶する。
【0037】
他の実施形態では図8のホスト計算装置114および図9の記憶装置116は、図8および図9に示されているものとは別に、より少数のあるいはより多数のプログラムアプリケーションを包含することができるということが理解されるべきである。例えば、図8に示されているように、ファイルシステムマネージャ808およびデバイスドライバ810はコンテンツ保護プラットフォーム304に統合され得る。従って、図8のホスト計算装置114はDRMモジュール806およびコンテンツ保護プラットフォーム304を含むことができる。
【0038】
図10は、本発明の1つの実施形態によるコンテンツ保護プラットフォームおよび他のプログラムアプリケーションをホストするのに適するホスト計算装置の全般的概観の略ブロック図である。或る実施形態では、ホスト計算装置114は、コンピュータプログラム(例えば、コンテンツ保護プラットフォーム)、ロジック、アプリケーション、方法、プロセス、あるいはコンテンツにアクセスするための他のソフトウェアを実行するために使用され得る。ホスト計算装置114の例は、デスクトップ形コンピュータ、サーバ、携帯計算装置、個人用携帯情報端末(PDA)、携帯電話機、装置内の計算エンジン、および他のコンピュータシステムを含む。図10に示されているように、ホスト計算装置114は情報を伝えるためのバス1002または他の通信メカニズムを含み、それは、プロセッサ1004、システムメモリ1006(例えば、ランダムアクセスメモリ(RAM))、記憶装置1008(例えば、読み出し専用メモリ(ROM)、磁気ディスクドライブ、光ディスクドライブ、および他の記憶装置)、通信インターフェイス1012(例えば、モデムまたはイーサネットカード)、ディスプレイ1014(例えば、ブラウン管(CRT)または液晶ディスプレイ(LCD))、入出力装置1016(例えば、キーボード)、およびカーソル制御装置1018(例えば、マウスまたはトラックボール)のようなサブシステムおよび装置を相互に接続する。
【0039】
或る実施形態では、ホスト計算装置114は、システムメモリ1006に格納されている1つ以上のプログラム命令の1つ以上のシーケンスを実行するとき、プロセッサ1004によって特定の操作を行う。そのようなプログラム命令は、記憶装置1008のような他のコンピュータ可読媒体からシステムメモリ1006に読み込まれ得る。或る実施形態では、本発明の実施形態を実行するためにソフトウェアプログラム命令の代わりにまたはこれと組み合わされてハードワイヤード回路が使用され得る。
【0040】
「コンピュータ可読媒体」という用語はプログラム命令を実行のためのプロセッサ1004に提供するのに関与する適切な媒体を指すということが理解されるべきである。そのような媒体は、不揮発性媒体、揮発性媒体、および伝送媒体を含むがこれらに限定はされない多くの形をとることができる。不揮発性媒体は、例えば、記憶装置1008のような光ディスクまたは磁気ディスクを含むことができる。揮発性媒体は、システムメモリ1006のようなダイナミックメモリを含むことができる。伝送媒体は、バス1002を構成するワイヤを含む、同軸ケーブル、銅線、およびファイバオプティックスを含む。伝送媒体は、電波通信および赤外線データ通信のときに生成されるもののような音波あるいは光波の形をとることもできる。コンピュータ可読媒体のありふれた形は、例えば、磁気媒体(例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、および他の磁気媒体)、光媒体(例えば、コンパクトディスク読み出し専用メモリ(CD−ROM)および他の光媒体)、パターンを有する物理媒体(例えば、パンチカード、紙テープ、および他の物理媒体)、メモリチップまたはカートリッジ、搬送波(例えば、RAM、プログラム可能な読み出し専用メモリ(PROM)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、フラッシュメモリ、および他のメモリチップまたはカートリッジ)、およびコンピュータが読み出すことのできる他の任意の媒体を含む。
【0041】
或る実施形態では、実施形態を実施するためのプログラム命令のシーケンスの実行は、単一の計算装置114により行われ得る。他の実施形態では、通信リンク1020(例えば、ローカルエリアネットワーク(LAN)、一般加入電話網(PSTN)、無線ネットワーク、および他の通信リンク)により結合されたホスト計算装置114のような2つ以上のコンピュータシステムが、互いに協力して実施形態を実施するためにプログラム命令のシーケンスを実行することができる。さらに、計算装置114は、通信リンク1020および通信インターフェイス1012を通してメッセージ、データ、およびプログラムを含む命令すなわちアプリケーションコードを送受信することができる。受け取られたプログラム命令は、プログラム命令が受け取られるとプロセッサ1004により実行され、かつ/または、後に実行されるべく記憶装置1008または他の不揮発性記憶装置に格納され得る。
【0042】
図11は、本発明の1つの実施形態による記憶装置の略ブロック図である。図11に示されているように、記憶装置116は、メモリ1104と通信するメモリコントローラ1102を含む。一般的に、メモリコントローラ1102はメモリ1106の操作を制御する。操作の例は、データを書き込むこと(またはプログラムすること)、データを読み出すこと、データを消去すること、データをベリファイすること、および他の操作を含む。さらに、メモリコントローラ1102は、ライセンスおよびコンテンツに関連付けられたパラメータに基づいてパラメータを生成し、パラメータおよび数に基づいてセッションチケットを生成するように構成されることができ、また、前述した他の操作のために構成されることができる。
【0043】
記憶装置116は、いろいろな不揮発性メモリ構造および技術を含むことができる。メモリ技術の例は、フラッシュメモリ(例えば、NAND、NOR、シングルレベルセル(SLC/BIN)、マルチレベルセル(MLC)、分割ビット線NOR(DINOR)、AND、高容量結合比(HiCR)、非対称無接点トランジスタ(ACT)、および他のフラッシュメモリ)、消去可能でプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能でプログラム可能な読み出し専用メモリ(EEPROM)、読み出し専用メモリ(ROM)、一度だけプログラム可能なメモリ(OTP)、および他のメモリ技術を含む。1つの実施形態では、記憶装置116は、フラッシュメモリを使用するフラッシュメモリカードであり得る。フラッシュメモリカードの例として、セキュアデジタル(登録商標)(カリフォルニア州サンラモンのSDカード協会によって維持される規格に準拠)、マルチメディアカード(登録商標)(カリフォルニア州パロアルトのマルチメディアカード協会(「MMCA」)によって維持される規格に準拠)、ミニSD(登録商標)(サンディスク コーポレイション)製造)、マイクロSD(登録商標)(サンディスク コーポレイション)製造)、コンパクトフラッシュ(登録商標)(カリフォルニア州パロアルトのコンパクトフラッシュ協会(「CFA」)によって維持される規格に準拠)、スマートメディア(登録商標)(日本の横浜のソリッドステートフロッピーディスクカード(「SSFDC))フォーラムによって維持される規格に準拠)、xDピクチャカード(登録商標)(日本の東京のxDピクチャカードライセンスオフィスによって維持される規格に準拠)、メモリスティック(登録商標)(日本の横浜のソリッドステートフロッピーディスクカード(「SSFDC」)フォーラムにより維持されている仕様に従う)、トランスフラッシュ(登録商標)(サンディスク コーポレイション製造)のような商標付き製品、および他のフラッシュメモリカードが挙げられる。他の1つの実施形態では、記憶装置116は、取り外しできない記憶装置として実現され得る。
【0044】
以下の特許文献は、本願明細書に記載されている実施形態に使用され得る実施形態を含んでいる。これらの各特許文献は、それぞれ本願と同じ日に出願され、本発明の譲受人に譲渡され、本願明細書において参照により援用されている。これらの特許文献とは、「Apparatuses for Linking Content with License」という米国特許出願第11/600,270号(特許文献1)、「Methods for Accessing Content Based on a Session Ticket 」という米国特許出願第11/600,263号(特許文献2)、「Apparatuses for Accessing Content Based on a Session Ticket 」という米国特許出願第11/600,273号(特許文献3)、「Methods for Binding Content to a Separate Memory Device 」という米国特許出願第11/600,262号(特許文献4)、「Apparatuses for Binding Content to a Separate Memory Device 」という米国特許出願第11/600,245号(特許文献5)、「Method for Allowing Multiple Users to Access Preview Content」という米国特許出願第11/599,994号(特許文献6)、「System for Allowing Multiple Users to Access Preview Content」という米国特許出願第11/599,995号(特許文献7)、「Method for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System 」という米国特許出願第11/600,005号(特許文献8)、「System for Allowing Content Protected by a First DRM System to Be Accessed by a Second DRM System 」という米国特許出願第11/599,991号(特許文献9)、「Method for Connecting to a Network Location Associated with Content 」という米国特許出願第11/600,300号(特許文献10)、および「System for Connecting to a Network Location Associated with Content 」という米国特許出願第11/600,006号(特許文献11)である。
【0045】
前述した実施形態は理解を明快にする目的で或る程度詳しく記載されたけれども、この実施形態は、与えられた細目に限定されない。実施形態を実現する代わりの方法が多数ある。従って、開示された実施形態は実例であって制限的ではないと解されるべきであり、実施形態は、本願明細書において与えられた細目に限定されるべきではなくて、添付されている特許請求の範囲および同等物の中で改変され得る。特許請求の範囲において、明示的に述べられていない限り、要素および/または操作は特定の操作の順序を示唆しない。
【特許請求の範囲】
【請求項1】
記憶装置に格納されているコンテンツにアクセスするための方法であって、
前記コンテンツにアクセスするためのリクエストを送るステップと、
セッションで変化するように構成された変数に基づいて生成された、前記コンテンツを復号するために使用されるパラメータを含むセッションチケットを受け取るステップと、
前記セッションチケットに基づいて前記コンテンツにアクセスするステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記コンテンツにアクセスするステップは、
前記セッションチケットを前記記憶装置に送るステップと、
前記コンテンツを前記記憶装置から受け取るステップと、
を含む方法。
【請求項3】
請求項1記載の方法において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化される方法。
【請求項4】
請求項1記載の方法において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される方法。
【請求項5】
請求項1記載の方法において、
前記変数は、数である方法。
【請求項6】
請求項5記載の方法において、
前記数は、ランダムに変化するように構成される方法。
【請求項7】
請求項1記載の方法において、
前記セッションは、1つの期間にわたる方法。
【請求項8】
請求項1記載の方法において、
前記セッションは、前記記憶装置に結合されている計算装置が再スタートされる時に終了する方法。
【請求項9】
請求項1記載の方法において、
前記セッションは、前記記憶装置が計算装置から切り離される時に終了する方法。
【請求項10】
コンピュータ可読媒体において具体化されるコンピュータプログラム製品であって、
コンテンツを復号するために使用されるパラメータを提供するためのコンピュータ命令と、
セッションで変化するように構成された第1の数に基づいて、セッションチケットを確定するために、前記パラメータを暗号化するためのコンピュータ命令と、
前記セッションチケットに基づいて前記コンテンツにアクセスするためのコンピュータ命令と、
を含むコンピュータプログラム製品。
【請求項11】
請求項10記載のコンピュータプログラム製品であって、
前記パラメータを抽出するために第2の数に基づいて前記セッションチケットを復号するためのコンピュータ命令をさらに含むコンピュータプログラム製品。
【請求項12】
請求項11記載のコンピュータプログラム製品において、
前記第2の数が前記セッションで生成されたのであれば、前記第1の数は前記第2の数と同一であるコンピュータプログラム製品。
【請求項13】
請求項11記載のコンピュータプログラム製品において、
前記第2の数が異なるセッションで生成されたのであれば、前記第1の数は前記第2の数とは異なるコンピュータプログラム製品。
【請求項14】
請求項10記載のコンピュータプログラム製品において、
前記第1の数は、ランダムに変化するように構成されるコンピュータプログラム製品。
【請求項15】
記憶装置に格納されているコンテンツにアクセスするための方法であって、
暗号鍵へのリファレンスを提供するステップであって、前記コンテンツは前記暗号鍵を用いて暗号化されるステップと、
セッションでランダムに変化するように構成された数に基づいて、セッションチケットを確定するために、前記暗号鍵への前記リファレンスを暗号化するステップと、
前記セッションチケットに基づいて前記コンテンツにアクセスするステップと、
を含む方法。
【請求項16】
請求項15記載の方法において、
前記セッションは、1つの期間にわたる方法。
【請求項17】
請求項15記載の方法において、
前記セッションは、前記記憶装置に結合されている計算装置が再スタートされる時に終了する方法。
【請求項18】
請求項15記載の方法において、
前記セッションは、前記記憶装置が計算装置から切り離される時に終了する方法。
【請求項19】
記憶装置であって、
メモリと、
前記メモリと通信するメモリコントローラであって、
コンテンツを復号するために使用されるパラメータを取り出し、
前記パラメータと、セッションで変化するように構成された数とに基づいてセッションチケットを生成し、
前記記憶装置に結合されるように構成された計算装置に前記セッションチケットを送り、
前記計算装置から前記セッションチケットを受け取り、かつ
前記セッションチケットに基づいて前記コンテンツにアクセスするように構成されるメモリコントローラと、
を備える記憶装置。
【請求項20】
請求項19記載の記憶装置において、
前記メモリコントローラは、
前記パラメータを抽出するために前記数に基づいて前記セッションチケットを復号し、かつ
前記パラメータに基づいて前記コンテンツにアクセスするようにさらに構成される記憶装置。
【請求項21】
請求項19記載の記憶装置において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化される記憶装置。
【請求項22】
請求項19記載の記憶装置において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される記憶装置。
【請求項23】
請求項19記載の記憶装置において、
前記セッションは、1つの期間にわたる記憶装置。
【請求項24】
請求項19記載の記憶装置において、
前記セッションは、前記計算装置が再スタートされる時に終了する記憶装置。
【請求項25】
請求項19記載の記憶装置において、
前記セッションは、前記記憶装置が前記計算装置から切り離される時に終了する記憶装置。
【請求項26】
記憶装置であって、
不揮発性メモリと、
前記不揮発性メモリと通信するメモリコントローラであって、
コンテンツを復号するために使用される暗号鍵へのリファレンスを取り出し、
セッションで変化するように構成された数に基づいて、セッションチケットを確定するために、前記暗号鍵への前記リファレンスを暗号化し、
前記記憶装置に結合されるように構成された計算装置に前記セッションチケットを送り、
前記計算装置から前記セッションチケットを受け取り、かつ
前記セッションチケットに基づいて前記コンテンツにアクセスするように構成されるメモリコントローラと、
を備える記憶装置。
【請求項27】
請求項26記載の記憶装置において、
前記メモリコントローラは、
前記暗号鍵への前記リファレンスを抽出するために前記数に基づいて前記セッションチケットを復号し、
前記暗号鍵への前記リファレンスに基づいて前記暗号鍵を取り出し、
前記暗号鍵を用いて前記コンテンツを復号し、かつ
前記コンテンツを前記計算装置に送るようにさらに構成される記憶装置。
【請求項28】
請求項26記載の記憶装置において、
前記数は、ランダムに生成される記憶装置。
【請求項29】
請求項26記載の記憶装置において、
前記セッションは、1つの期間にわたる記憶装置。
【請求項30】
請求項26記載の記憶装置において、
前記セッションは、前記計算装置が再スタートされる時に終了する記憶装置。
【請求項31】
請求項26記載の記憶装置において、
前記セッションは、前記記憶装置が前記計算装置から切り離される時に終了する記憶装置。
【請求項32】
装置であって、
メモリと、
前記メモリと通信するプロセッサであって、
記憶装置へ、前記記憶装置に格納されている第1のコンテンツにアクセスするための第1のリクエストを送り、
セッションで変化するように構成された数に基づいて生成される、前記第1のコンテンツを復号するために使用される第1のパラメータを含む第1のセッションチケットを受け取り、かつ
前記第1のセッションチケットに基づいて前記第1のコンテンツにアクセスするように構成されるプロセッサと、
を備える装置。
【請求項33】
請求項32記載の装置において、
前記プロセッサは、
前記記憶装置に格納されている第2のコンテンツにアクセスするための第2のリクエストを前記記憶装置に送り、
前記第2のコンテンツを復号するために使用される第2のパラメータを含む第2のセッションチケットを受け取り、かつ
前記第2のセッションチケットに基づいて前記第2のコンテンツにアクセスするようにさらに構成される装置。
【請求項34】
請求項32記載の装置において、
前記プロセッサは、
前記セッションチケットを前記記憶装置に送り、かつ
前記コンテンツを前記記憶装置から受け取るようにさらに構成される装置。
【請求項35】
請求項32記載の装置において、
前記プロセッサは、
前記パラメータを抽出するために前記数に基づいて前記セッションチケットを復号し、かつ
前記パラメータに基づいて前記コンテンツにアクセスするようにさらに構成される装置。
【請求項36】
請求項32記載の装置において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化されている装置。
【請求項37】
請求項32記載の装置において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される装置。
【請求項1】
記憶装置に格納されているコンテンツにアクセスするための方法であって、
前記コンテンツにアクセスするためのリクエストを送るステップと、
セッションで変化するように構成された変数に基づいて生成された、前記コンテンツを復号するために使用されるパラメータを含むセッションチケットを受け取るステップと、
前記セッションチケットに基づいて前記コンテンツにアクセスするステップと、
を含む方法。
【請求項2】
請求項1記載の方法において、
前記コンテンツにアクセスするステップは、
前記セッションチケットを前記記憶装置に送るステップと、
前記コンテンツを前記記憶装置から受け取るステップと、
を含む方法。
【請求項3】
請求項1記載の方法において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化される方法。
【請求項4】
請求項1記載の方法において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される方法。
【請求項5】
請求項1記載の方法において、
前記変数は、数である方法。
【請求項6】
請求項5記載の方法において、
前記数は、ランダムに変化するように構成される方法。
【請求項7】
請求項1記載の方法において、
前記セッションは、1つの期間にわたる方法。
【請求項8】
請求項1記載の方法において、
前記セッションは、前記記憶装置に結合されている計算装置が再スタートされる時に終了する方法。
【請求項9】
請求項1記載の方法において、
前記セッションは、前記記憶装置が計算装置から切り離される時に終了する方法。
【請求項10】
コンピュータ可読媒体において具体化されるコンピュータプログラム製品であって、
コンテンツを復号するために使用されるパラメータを提供するためのコンピュータ命令と、
セッションで変化するように構成された第1の数に基づいて、セッションチケットを確定するために、前記パラメータを暗号化するためのコンピュータ命令と、
前記セッションチケットに基づいて前記コンテンツにアクセスするためのコンピュータ命令と、
を含むコンピュータプログラム製品。
【請求項11】
請求項10記載のコンピュータプログラム製品であって、
前記パラメータを抽出するために第2の数に基づいて前記セッションチケットを復号するためのコンピュータ命令をさらに含むコンピュータプログラム製品。
【請求項12】
請求項11記載のコンピュータプログラム製品において、
前記第2の数が前記セッションで生成されたのであれば、前記第1の数は前記第2の数と同一であるコンピュータプログラム製品。
【請求項13】
請求項11記載のコンピュータプログラム製品において、
前記第2の数が異なるセッションで生成されたのであれば、前記第1の数は前記第2の数とは異なるコンピュータプログラム製品。
【請求項14】
請求項10記載のコンピュータプログラム製品において、
前記第1の数は、ランダムに変化するように構成されるコンピュータプログラム製品。
【請求項15】
記憶装置に格納されているコンテンツにアクセスするための方法であって、
暗号鍵へのリファレンスを提供するステップであって、前記コンテンツは前記暗号鍵を用いて暗号化されるステップと、
セッションでランダムに変化するように構成された数に基づいて、セッションチケットを確定するために、前記暗号鍵への前記リファレンスを暗号化するステップと、
前記セッションチケットに基づいて前記コンテンツにアクセスするステップと、
を含む方法。
【請求項16】
請求項15記載の方法において、
前記セッションは、1つの期間にわたる方法。
【請求項17】
請求項15記載の方法において、
前記セッションは、前記記憶装置に結合されている計算装置が再スタートされる時に終了する方法。
【請求項18】
請求項15記載の方法において、
前記セッションは、前記記憶装置が計算装置から切り離される時に終了する方法。
【請求項19】
記憶装置であって、
メモリと、
前記メモリと通信するメモリコントローラであって、
コンテンツを復号するために使用されるパラメータを取り出し、
前記パラメータと、セッションで変化するように構成された数とに基づいてセッションチケットを生成し、
前記記憶装置に結合されるように構成された計算装置に前記セッションチケットを送り、
前記計算装置から前記セッションチケットを受け取り、かつ
前記セッションチケットに基づいて前記コンテンツにアクセスするように構成されるメモリコントローラと、
を備える記憶装置。
【請求項20】
請求項19記載の記憶装置において、
前記メモリコントローラは、
前記パラメータを抽出するために前記数に基づいて前記セッションチケットを復号し、かつ
前記パラメータに基づいて前記コンテンツにアクセスするようにさらに構成される記憶装置。
【請求項21】
請求項19記載の記憶装置において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化される記憶装置。
【請求項22】
請求項19記載の記憶装置において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される記憶装置。
【請求項23】
請求項19記載の記憶装置において、
前記セッションは、1つの期間にわたる記憶装置。
【請求項24】
請求項19記載の記憶装置において、
前記セッションは、前記計算装置が再スタートされる時に終了する記憶装置。
【請求項25】
請求項19記載の記憶装置において、
前記セッションは、前記記憶装置が前記計算装置から切り離される時に終了する記憶装置。
【請求項26】
記憶装置であって、
不揮発性メモリと、
前記不揮発性メモリと通信するメモリコントローラであって、
コンテンツを復号するために使用される暗号鍵へのリファレンスを取り出し、
セッションで変化するように構成された数に基づいて、セッションチケットを確定するために、前記暗号鍵への前記リファレンスを暗号化し、
前記記憶装置に結合されるように構成された計算装置に前記セッションチケットを送り、
前記計算装置から前記セッションチケットを受け取り、かつ
前記セッションチケットに基づいて前記コンテンツにアクセスするように構成されるメモリコントローラと、
を備える記憶装置。
【請求項27】
請求項26記載の記憶装置において、
前記メモリコントローラは、
前記暗号鍵への前記リファレンスを抽出するために前記数に基づいて前記セッションチケットを復号し、
前記暗号鍵への前記リファレンスに基づいて前記暗号鍵を取り出し、
前記暗号鍵を用いて前記コンテンツを復号し、かつ
前記コンテンツを前記計算装置に送るようにさらに構成される記憶装置。
【請求項28】
請求項26記載の記憶装置において、
前記数は、ランダムに生成される記憶装置。
【請求項29】
請求項26記載の記憶装置において、
前記セッションは、1つの期間にわたる記憶装置。
【請求項30】
請求項26記載の記憶装置において、
前記セッションは、前記計算装置が再スタートされる時に終了する記憶装置。
【請求項31】
請求項26記載の記憶装置において、
前記セッションは、前記記憶装置が前記計算装置から切り離される時に終了する記憶装置。
【請求項32】
装置であって、
メモリと、
前記メモリと通信するプロセッサであって、
記憶装置へ、前記記憶装置に格納されている第1のコンテンツにアクセスするための第1のリクエストを送り、
セッションで変化するように構成された数に基づいて生成される、前記第1のコンテンツを復号するために使用される第1のパラメータを含む第1のセッションチケットを受け取り、かつ
前記第1のセッションチケットに基づいて前記第1のコンテンツにアクセスするように構成されるプロセッサと、
を備える装置。
【請求項33】
請求項32記載の装置において、
前記プロセッサは、
前記記憶装置に格納されている第2のコンテンツにアクセスするための第2のリクエストを前記記憶装置に送り、
前記第2のコンテンツを復号するために使用される第2のパラメータを含む第2のセッションチケットを受け取り、かつ
前記第2のセッションチケットに基づいて前記第2のコンテンツにアクセスするようにさらに構成される装置。
【請求項34】
請求項32記載の装置において、
前記プロセッサは、
前記セッションチケットを前記記憶装置に送り、かつ
前記コンテンツを前記記憶装置から受け取るようにさらに構成される装置。
【請求項35】
請求項32記載の装置において、
前記プロセッサは、
前記パラメータを抽出するために前記数に基づいて前記セッションチケットを復号し、かつ
前記パラメータに基づいて前記コンテンツにアクセスするようにさらに構成される装置。
【請求項36】
請求項32記載の装置において、
前記パラメータは暗号鍵へのリファレンスであり、前記コンテンツは前記暗号鍵で暗号化されている装置。
【請求項37】
請求項32記載の装置において、
前記パラメータは暗号ナンスであり、前記暗号ナンスは暗号鍵を生成するために使用される装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2010−509887(P2010−509887A)
【公表日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願番号】特願2009−537160(P2009−537160)
【出願日】平成19年11月9日(2007.11.9)
【国際出願番号】PCT/US2007/023617
【国際公開番号】WO2008/069888
【国際公開日】平成20年6月12日(2008.6.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
2.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
【公表日】平成22年3月25日(2010.3.25)
【国際特許分類】
【出願日】平成19年11月9日(2007.11.9)
【国際出願番号】PCT/US2007/023617
【国際公開番号】WO2008/069888
【国際公開日】平成20年6月12日(2008.6.12)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.イーサネット
2.フロッピー
【出願人】(506197901)サンディスク コーポレイション (175)
【Fターム(参考)】
[ Back to top ]