マルチメディア・コンテント配信のための効率的鍵階層構造
【課題】デジタル著作権管理(DRM)に係わり、マルチメディア・コンテント配信のための効率的鍵階層構造の創成を容易にする装置を実現する。
【解決手段】装置は、クライアントから非対称鍵対の少なくとも一部分を受信するための手段を含む。第1対称鍵及び少なくとも第2の対称鍵を創成するための手段も含む。該第2の対称鍵を暗号化するために該第1対称鍵を利用するための手段及び該非対称鍵対の少なくとも一部分を用いて該第2対称鍵を暗号化するための手段も含む。そして、適合する秘密鍵によってのみ逆暗号化されることが出来る情報を暗号化するために、非対称暗号方式が該DRMシステムによって使用されて、対称鍵を安全に配送する。
【解決手段】装置は、クライアントから非対称鍵対の少なくとも一部分を受信するための手段を含む。第1対称鍵及び少なくとも第2の対称鍵を創成するための手段も含む。該第2の対称鍵を暗号化するために該第1対称鍵を利用するための手段及び該非対称鍵対の少なくとも一部分を用いて該第2対称鍵を暗号化するための手段も含む。そして、適合する秘密鍵によってのみ逆暗号化されることが出来る情報を暗号化するために、非対称暗号方式が該DRMシステムによって使用されて、対称鍵を安全に配送する。
【発明の詳細な説明】
【優先権の主張】
【0001】
本特許出願は、2005年9月1日に提出され、そして、その全体が参照として本出願に組み込まれた、“マルチメディア・コンテント配信のための効率的鍵階層構造”と題する米国特許仮出願番号第60/714,153号に優先権を主張する。
【技術分野】
【0002】
下記の記載は、一般にデジタル著作権管理(digital rights management)に係わり、更に詳しくはマルチメディア・コンテント配信のための効率的鍵階層構造に関する。
【背景技術】
【0003】
第3世代(3G)モバイル・システムとその他のセルラ・ネットワークが配備されるに従って、新しいインターネット・プロトコル(Internet Protocol)(IP)パケット・データに基づくサービスが出現しつつある。ネットワーク事業者達が開発しようと求めているサービス分野は、大衆市場へのビデオ・コンテントの配信を含む。高品質ビデオは、一種のデータ集約型コンテントである。家庭用表示オプションを持つ消費者の経験は、利用者の諸期待を予め定義した目標市場をネットワーク事業者やコンテント・プロバイダ達に提供する。可搬性、魅力的なビジネス・モデル、ネットワークの制御と管理、接続制御、及びデバイス能力と結合されたこれ等の利用者の期待は、ネットワーク事業者やコンテント・プロバイダ達に複雑な挑戦的課題を提示する。
【0004】
配信されるコンテントの保護は、非認可複製に対して防護するために、そして、コンテント配信を直接的又は間接的に制御するために生じる課題である。コンテント・プロバイダは、一般的にはコンテント配信システムがデジタル著作権管理(Digital Rights Management)(DRM)を提供する能力を有することを要求する。このDRMは、幾つかの技術協定の内の任意のものを指し、該協定は、このような手段が組み込まれた電子デバイス上で配信されるものの利用者のために制御を提供する。コンテント配信システムの基盤になる構成要素は、送信/受信の期間におけるメディアの暗号化/逆暗号化機能、サブスクリプションに基づくコンテント配信サービスにおけるような機能、である。DRMソフトウェアは、基盤になる暗号化/逆暗号化アルゴリズム、クライアント部分及びサーバ部分の両者で使用されるハッシュ・アルゴリズム及び認証アルゴリズムのインプリメンテーションを提供することが出来る。DRMは、クライアントに対してライセンスのダウンロード及び安全なファイル記憶機能を提供することも出来る。
【0005】
DRMシステムで利用されることが出来る2つの型の暗号方式又は暗号作成技術は、対称暗号方式と非対称暗号方式である。対称鍵暗号方式では、暗号化と逆暗号化双方に対して同一の鍵が使用される。対称鍵暗号方式の例は、データ暗号化規格(Data Encryption Standard)(DES)システム及び高度暗号化規格(advanced Encryption Standard)(AES)システムを含む。公開鍵暗号方式としても知られる、非対称暗号方式では、各利用者は、公開鍵と秘密鍵を有する。暗号化は、公開鍵を用いて実行され、他方逆暗号化は、秘密鍵を用いて実行される。非対称鍵暗号方式の例は、リベスト−シャミア−エーデルマン(Rivest Shamir and Adleman)(RSA)アルゴリズム及び楕円曲線暗号方式(Elliptic Curve Cryptography)(ECC)を含む。対称鍵暗号方式は、非対称鍵暗号方式と比べて高速であるが、しかし対称鍵暗号方式は、その共有鍵を通信対象に秘密裏に伝達しなければならないという欠点が難である。非対称鍵暗号方式は、その名が表すように、公開鍵と秘密鍵の利用に基づいて処理要求を不均等に分割する。
【発明の概要】
【サマリー】
【0006】
下記は、開示される実施形態の幾つかの態様の基本的な理解を提供するために、簡単化された概要を提示する。この概要は、広範囲の概観ではないし、そのような実施形態の不可欠な又は決定的に重要な要素を特定することも又そのような実施形態の範囲を正確に概説することも意図していない。その目的は、説明される実施形態の幾つかの概念を後に提示される更に詳細な説明への前奏として簡単化された形で提示することである。
【0007】
1又は複数の実施形態とその対応する開示に従って、マルチメディア・コンテント配信のための効率的鍵階層構造に関連して種々の態様が説明される。2つの型の暗号作成技術(例えば、対称暗号方式と非対称暗号方式)が認証、鍵、及びコンテント保護のために利用される。幾つかの実施形態によれば、複数のコンテントに対するデジタル著作権管理をクライアント・デバイス上で実行するための方法が提供される。該方法は、公開部分と秘密部分を具備する非対称鍵対を生成して該非対称鍵対の公開部分を送信することを含む。該方法は、第1対称鍵と第2対称鍵を受信することも含む。該第1対称鍵は、該非対称鍵対の公開部分を利用して暗号化されることが出来、そして該第2対称鍵は、複数のコンテントに関連付けられる。
【0008】
幾つかの実施形態に従ったものは、デジタル著作権管理を容易にする装置である。該装置は、非対称鍵対を生成するための命令を実行して該非対称鍵対の少なくとも第1部分をサーバに選択的に送信する、プロセッサを含む。該非対称鍵対の少なくとも第2部分に関連する情報を記憶するメモリも該装置に含まれる。
【0009】
幾つかの実施形態によるものは、マルチメディア・コンテントのデジタル著作権管理を容易にする装置である。該装置は、公開鍵と秘密鍵を生成するための手段及び該公開鍵をライセンス・ファイルの要求と共にサブスクリプション・サーバに公開鍵を伝達するための手段を含む。又、該装置には、該要求されたライセンス・ファイルを受信するための手段、及び該ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するための手段、が含まれる。
【0010】
幾つかの実施形態に従ったものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令をその上に記憶しているコンピュータ可読媒体である。該命令は、非対称鍵対を生成すること及び該非対称鍵対の少なくとも第1部分とマルチメディア・コンテントへの接続要求とをサーバに送ること、を含む。該命令は、該マルチメディア・コンテントに関連する接続情報と対称鍵とを含むライセンス・ファイルを受信すること及び該マルチメディア・コンテントをディスプレイ上に可視化するために該接続情報を逆暗号化すること、を更に含む。
【0011】
幾つかの実施形態によれるものは、マルチメディア・コンテントの配信のための鍵階層構造に対するコンピュータ実行可能な諸命令を実行するプロセッサである。該命令は、公開鍵と秘密鍵とを具備する鍵対を生成すること及びサブスクリプション・サーバからのライセンス・ファイルをフェッチするために該公開鍵を送信すること、を含む。該命令は、ヘッダ情報と少なくとも1つの対称鍵とを含むライセンス・ファイル情報を受信すること及び該ヘッダ情報に一部は基づいてプログラムを逆暗号化すること、を更に含む。
【0012】
幾つかの実施形態によるものは、複数のコンテントのためのサーバ上でデジタル著作権管理を実行するための方法である。該方法は、クライアントから非対称鍵対の公開部分を受信することを含む。第1対称鍵は、第2対称鍵を使用して暗号化されそして複数のコンテントと関連付けられる。第2対称鍵は、非対称鍵対の公開部分を使用して暗号化される。
【0013】
幾つかの実施形態に従ったものは、マルチメディア・コンテントの配信を容易にする装置である。該装置は、暗号化された第1対称鍵及びマルチメディア・コンテントの配信の要求と関連付けられる少なくとも第2の暗号化された対称鍵を生成するための命令とを実行する、プロセッサを含む。該装置は又、該プロセッサによって生成された該第1対称鍵と該少なくとも第2の対称鍵との内の少なくとも1つに関連する情報を記憶する、メモリを含む。
【0014】
幾つかの実施形態によれるものは、コンテントの配信のための鍵階層構造の創成を容易にする装置である。該装置は、クライアントから非対称鍵対の少なくとも一部分を受信するための手段を含む。同様に含まれるものは、第1対称鍵及び少なくとも第2の対称鍵を創成するための手段である。しかも、該少なくとも第2の対称鍵を暗号化するために該第1対称鍵を利用するための手段及び該非対称鍵対の少なくとも一部分を用いて該第2対称鍵を暗号化するための手段、もある。
【0015】
幾つかの実施形態に従ったものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令をその上に記憶しているコンピュータ可読媒体がある。該命令は、マルチメディア・コンテントへの接続のための要求を受理することを含み、該要求は、非対称鍵対の少なくとも一部分を含む。第1対称鍵及び少なくとも第2の対称鍵が創成されて、該第1対称鍵は、該第2対称鍵対を用いて暗号化される。該命令は、該第2対称鍵対を該マルチメディア・コンテントと関連付けること及び該第1対称鍵と該第2対称鍵とをクライアントに送ることを含む。
【0016】
幾つかの実施形態によるものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令を実行するプロセッサである。該命令は、要求されたライセンス・ファイルに対する暗号化されたセッション鍵を生成すること及び申し込まれたサービスと関連付けられる少なくとも1つの暗号化されたサービス鍵を創成すること、を含む。該命令は、クライアントの暗号化鍵を用いて少なくとも1つの暗号化されたセッション鍵を創成すること及び該暗号化されたサービス鍵と該少なくとも1つの暗号化されたセッション鍵とを該要求されたライセンス・ファイルの中に記憶すること、を更に含む。
【0017】
上述及び関連する目的達成のために、1又は複数の実施形態は、下記で十分に説明されそして請求項において特別に指摘される諸特徴を含む。下記の説明と添付図は、特定の実例となる諸態様を詳細に説明し、そして、諸実施形態の諸原理が利用されることが可能な種々の方法の内の単なる数例を示す。他の利点と新規性が下記の詳細な説明から図面と合わせて考慮されれば明白であり、そして開示される諸実施形態は、全てのこのような態様及びそれ等の同等物を含むように意図される。
【0018】
[用語解説]
サービス鍵KService=プログラム鍵KProgramを暗号化するために使用される鍵。サービス鍵KServiceは、特定のサービス(例えば、CNN、MSNBC)にマッピングする。鍵の型:対称。
【0019】
プログラム鍵KProgram=プログラムのビデオ・データと音声データを暗号化するために使用される鍵。プログラム鍵KProgramは、特定のプログラム(例えば、テレビ・プログラム)にマッピングする。鍵の型:対称。
【0020】
セッション鍵KSession=データを対称に暗号化するために一時的な方法で使用される鍵。セッション鍵KSessionは、ライセンス・ファイル中のサービス鍵KServiceを暗号化するために使用される。鍵の型:対称。
【0021】
クライアントの暗号化鍵EDevice=クライアントの暗号化鍵の公開部分。この鍵は、該クライアントにメッセージを配信することを望む任意のデバイスに配布されることが出来る。鍵の型:非対称。
【0022】
クライアントの逆暗号化鍵DDevice=クライアントの暗号化鍵の秘密部分。この鍵は、クライアントには秘密のままである。鍵の型:非対称。
【0023】
認証鍵QDevice=クライアント−サーバ通信の期間それぞれの側を認証するために使用される認証鍵。鍵の型:キー−ハッシュド(Keyed−Hashed)メッセージ認証コード。
【図面の簡単な説明】
【0024】
【図1】図1は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステムのブロック図を図示する。
【図2】図2は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステムの別のブロック図を図示する。
【図3】図3は、プログラム鍵を使用するマルチメディア・コンテントの暗号化を図示する。
【図4】図4は、サービス鍵を使用するプログラム鍵の暗号化を図示する。
【図5】図5は、セッション鍵を使用するサービス鍵の暗号化を図示する。
【図6】図6は、クライアントの暗号化鍵を使用するセッション鍵の暗号化を図示する。
【図7】図7は、デジタル著作権管理(DRM)システムの例示的なアーキテクチャを図示する。
【図8】図8は、DRMシステムの動作のための方法を図示する。
【図9】図9は、クライアントの起動呼プロセス流れを図示する。
【図10】図10は、クライアントがライセンス・ファイルをフェッチするためのプロセス図を示す。
【図11】図11は、種々の鍵を用いるプログラム逆暗号化シーケンスを示す。
【図12】図12は、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するための方法を図示する。
【図13】図13は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するための方法を図示する。
【図14】図14は、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するためのシステムを図示する。
【図15】図15は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するためのシステムを図示する。
【図16】図示された図16は、無線デバイス又は無線端末の可能な構成の概念的なブロック図である。
【発明を実施するための形態】
【0025】
種々の実施形態が図面を参照してここに説明される。下記の説明では、説明の目的のために、多くの具体的な詳細が1又は複数の態様の完全な理解を提供するために説明される。しかしながら、そのような(諸)実施形態は、これ等の具体的な詳細がなくても実行されることが可能であることは明らかであると言える。他の例では、周知の構成及びデバイスがこれ等の実施形態を説明することを容易にするためにブロック図の形式で示される。
【0026】
本願で使用されるように、用語“コンポーネント”、“モジュール”、“システム”及び類似の用語は、コンピュータ関連の構成要素、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、或いは実行中のソフトウェア、を指すように意図される。例えば、コンポーネントは、プロセッサ上で走るプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び/又はコンピュータであることが出来るが、これ等に限定されない。説明のために、計算デバイス上で走るアプリケーションと該計算デバイスは、両者共にコンポーネントであることが出来る。1又は複数のコンポーネントが処理及び/又は実行のスレッド内に常駐出来る、そして、ある1つのコンポーネントは、1つのコンピュータ上に局在されることが出来る及び/又は2以上のコンピュータ間に分散されることも出来る。その上、これ等のコンポーネントは、種々のデータ構造をその上に記憶させた種々のコンピュータ可読媒体から実行することが出来る。該コンポーネントは、例えば、1又は複数のデータ・パケットを有する信号に従って局所プロセス及び/又は遠隔プロセスによって通信することが出来る(例えば、1つのコンポーネントからのデータは、局所システム、分散型システム内の別のコンポーネントと、及び/又は信号によってインターネットのようなネットワークをわたり他のシステムと、影響しあう)。
【0027】
更に、種々の実施形態が利用者デバイスに関連して本明細書で説明される。利用者デバイスは、又、システム、加入者ユニット、加入者局、移動局、移動デバイス、遠隔局、接続点、基地局、遠隔端末、接続端末、ハンドセット、ホスト、利用者端末、端末、利用者エージェント、無線端末、無線デバイス、又は利用者設備、とも呼ばれることが出来る。利用者デバイスは、セルラ電話機、コードレス電話機、シップ(Session Initiation Protocol)(SIP)電話機、無線ローカル・ループ(wireless local loop)(WLL)局、個人デジタル補助装置(Personal Digital Assistant)(PDA)、無線接続能力を有するハンドヘルド・デバイス、或いは無線モデムに接続される他の(複数の)処理デバイス、であることが出来る。
【0028】
その上、本明細書で説明される種々の態様又は特徴は、方法、装置、或いは標準プログラム技術及び/又は工業技術を使用する製造要綱、として与えられることが出来る。本明細書で使用される用語“製造要綱”は、任意のコンピュータ可読デバイス、キャリア、又は媒体から接続可能なコンピュータ・プログラムを含むように意図される。例えば、コンピュータ可読媒体は、磁気記憶デバイス(例えば、ハード・ディスク、フロッピー(登録商標)ディスク、磁気テープ…)、光学ディスク(例えば、コンパクト・ディスク(CD)、デジタル多用途ディスク(digital versatile disk)(DVD)…)、スマート・カード、及びフラッシュ・メモリ・デバイス(例えば、カード、スティック、キー・ドライブ…)を含むことが出来るがこれ等に限定されない。
【0029】
種々の実施形態が、多数のデバイス、コンポーネント、モジュール、及び類似のものを含むことが出来るシステムの用語で提示される。該種々のシステムは、追加のデバイス、コンポーネント、モジュール、等々を含むことが出来る、及び/又は図面に関連して説明されるデバイス、コンポーネント、モジュール、等々を必ずしも全て含まなくても良い、ということは理解及び認識されて然るべきである。これ等の手法の組合せも又使用されることが出来る。
【0030】
ここで図を参照して、図1は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステム100のブロック図を図示する。本明細書に記載される種々の実施形態は、マルチメディア・コンテントの安全な配信に影響する様々な異なる暗号作成技術の効率的使用を提供する暗号化鍵と逆暗号化鍵の軽量レイヤ化を提供する。該レイヤ化、すなわち、階層構造は、第1対称鍵を暗号化する利用者鍵に基づいており、該対称鍵は、次にサービス鍵を暗号化する。サービス鍵は、プログラム鍵を暗号化するために使用され、プログラム鍵は、最終的にマルチメディア・コンテントを暗号化する。
【0031】
幾つかの実施形態では、非対称暗号方式は、そこでは符合する秘密鍵によってのみ逆暗号化されることが出来る情報を暗号化するために公開鍵が使用され、対称鍵を安全に配送するために使用される。しかしながら、対称暗号方式が非対称暗号方式よりも計算機上で高速であるという2つのアルゴリズム間のプロセス上の差異のために、一旦対称鍵が転送されると、対称暗号方式が大部分の暗号化/逆暗号化を実行するために使用される。
【0032】
幾つかの実施形態に従えば、対称暗号方式がメッセージの信憑性を確認するために使用される。具体的には、ハッシュ・メッセージ認証符号−セキュア・ハッシュ・アルゴリズム1(Hash Message Authentication Code−Secure Hash Algorithm 1)(HMAC−SHA1)がメッセージ署名と検証のために利用されることが出来る。ハッシュ法は、システム100におけるエンティティを認証するために鍵とともに使用されることも出来る。ハッシュ・アルゴリズムは、任意の長さのメッセージを入力として受け取りそして固定長のハッシュ値を戻す。メッセージが容易には元に戻せないような(例えば、ハッシュ値から原メッセージに戻ることは容易ではない)方法でメッセージを固定長値に変換する一方向機能を与えるハッシュ・アルゴリズムである、セキュア・ハッシュ・アルゴリズムが使用される。更に、使用されるハッシュ法の技術は、極度に低い衝突確率(例えば、2つの異なるメッセージは同一ハッシュ値を生成するはずがない)を有するはずである。ハッシュ法は、エンティティを認証するために鍵とともに使用されることが出来る。
【0033】
ハッシュ法は、鍵の秘密部分を持つエンティティがメッセージをハッシュに暗号化したこと及び該メッセージが転送中に外部から読み取られなかったことを証明する、デジタル署名を創成するために非対称暗号方式を用いて使用されることが出来る。署名の別の形式は、メッセージ認証符号(Message Authentication Code)(MAC)のような対称鍵を用いて遂行されることが出来る。MACは、送信側と受信側の間で共有される秘密鍵を用いて計算されることが出来る。
【0034】
システム100は、例えば、サービス・コンテントを入力として受け取って多数の利用者に該コンテントを出力するMediaFLOシステムであることが出来る。本明細書で議論されるように、MediaFLOシステムは、該システムにおける秘密を保護するために対称暗号方式と非対称暗号方式の双方を使用することが出来る。一般に、2つのアルゴリズムの処理上の相違のために、非対称暗号方式は、対称鍵を安全に配送するために使用されることが出来る。対称暗号方式は、大部分の暗号化/逆暗号化を実行するために使用されることが出来る。非対称暗号方式は、メッセージ認証のために使用されることが出来る。
【0035】
システム100は、クライアント又は利用者デバイス102の中に含まれることが可能で、それは、例えばセルラ電話機、スマート・フォーン、ラップトップ、ハンドヘルド通信デバイス、ハンドヘルド計算デバイス、衛星無線通信装置、全地球測位システム、個人デジタル補助装置(PDA)、及び/又は無線通信ネットワークを介して通信するための他の適切なデバイスのような、移動デバイスであることが出来る。利用者デバイス102は、ライセンス管理サーバ104と無線で通信することが出来る。通信ネットワーク中には多数の利用者デバイス102とサーバ104が含まれることが出来るけれども、理解されるように、簡明を期するため単一のサーバ104と通信データ信号を送信する単一の利用者デバイス102が図示されている。
【0036】
利用者デバイス102は、非対称鍵対のような、鍵対108を生成するために構成されることが出来るプロセッサ106を含むことが出来る。鍵対108は、公開部分と秘密部分を含むことが出来る。非対称鍵対は、例えば、下記でさらに詳細に論じられる起動プロセス期間中に生成されることが出来る。鍵対108の公開部分は、マルチメディア・コンテントに対するデジタル著作権を取得するために及び/又はライセンス・サーバ104からライセンス・ファイルをフェッチするために、送信機/受信機110によってサーバ104に(例えば、無線で)送信されることが出来る。デジタル著作権は、該コンテントがデバイス上でいかにして使用されることが出来るかを説明することが出来る。例えば、コンテントに関連付けられたデジタル著作権は、該コンテントをただ見ること、特定の回数該コンテントを見ること、該コンテントの許容される保存、該コンテントが見られることが出来る回数、等々を制限することが出来る。送信機/受信機は、1つのコンポーネントとして図示されるけれども、それは2つ以上のコンポーネントで構成されることが出来るということは理解されるべきである。
【0037】
もし利用者デバイス102がマルチメディア・コンテントを取得するために認可されれば、サーバは、デバイスの送信機/受信機110により受信されることが出来る、1又は複数の対称鍵114を用いて応じることが出来る。記憶媒体112は、非対称鍵108、対称鍵114、或いは両方の鍵と関連付けられる情報を検索可能な書式で保持するために構成されることが出来る。例えば、利用者デバイス102で受信される第1対称鍵は、鍵対108の公開部分を使用して暗号化されることが出来る。幾つかの実施形態では、第1対称鍵は、ある期間の後鍵が無効にされる有効期間と関連付けられることが出来る逆暗号化方式(若しくは、別の無効化方式)を用いて暗号化されることが出来る。受信される第2対称鍵は、複数のコンテント(例えば、マルチメディア・コンテント)と関連付けられることが出来る。幾つかの実施形態では、第2対称鍵は、第1対称鍵を用いて暗号化されることが出来る。
【0038】
プロセッサ110は、対称鍵を逆暗号化するために構成されることが出来る。例えば、第1対称鍵は、非対称鍵対108の秘密部分を利用して逆暗号化されることが出来る。幾つかの実施形態に従えば、第1対称鍵と第2対称鍵114は、ライセンス・ファイル116中に含まれる。そのような実施形態では、プロセッサ110は、第2対称鍵をライセンス・ファイルから検索するためにそしてそれを第1対称鍵に基づき対称暗号方式を使用して逆暗号化するために、構成されることが出来る。ディスプレイ118は、利用者デバイス102と関連付けられることが出来て、プログラムを逆暗号化することは、媒体がディスプレイ上に可視化されることと実質的に同時に実行されることが出来る。
【0039】
幾つかの実施形態に従えば、第3対称鍵がサーバ104によって提供されることが出来、そして、多数のマルチメディア・コンテント中の第1のコンテント及び第2対称鍵と関連付けられることが出来る。プロセッサ110は、第2対称鍵を利用して第3対称鍵を逆暗号化するために及び第3対称鍵と関連付けられる多数のコンテントから第1コンテントを逆暗号化するために、構成されることが出来る。幾つかの実施形態では、第3対称鍵は、第1対称鍵を用いて暗号化(及び、逆暗号化)されることが出来る。
【0040】
その上あるいはそれに代わり、受信機110は、ヘッダ情報(例えば、利用者ID、EpochID)を含むライセンス・ファイル116の情報を受信するために、構成されることが出来る。ライセンス・ファイル116は、暗号化されたセッション鍵と少なくとも1つのサービス鍵を含むことも出来る。暗号化されたサービス鍵は、記憶媒体112中に検索可能な書式で記憶されることが出来る。プロセッサ110は、ライセンス・ファイル116中の受信されたヘッダ情報に一部は基づいて、プログラム或いはマルチメディア・コンテントを逆暗号化するために構成されることが出来る。逆暗号化は、幾つかの実施形態に従えば、プログラム或いはマルチメディア・コンテントがディスプレイ上に可視化されることと実質的に同時に行われることが出来る
本明細書中で使用されるメモリ、記憶装置、データベース、或いはその他の媒体への何れの参照が、不揮発性及び/又は揮発性メモリを含むことが出来る。適切な不揮発性メモリは、読み出し専用メモリ(read only memory)(ROM)、プログラム可能ROM(PROM)、電気的プログラム可能ROM(EPROM)、電気的消去書き込み可能ROM(EEPROM)或いはフラッシュ・メモリを含むことが出来る。揮発性メモリは、ランダム・アクセス・メモリ(random access memory)(RAM)を含むことが出来、それは外部キャッシュ・メモリとして働く。限定としてではなく説明として、RAMは、例えば、スタティックRAM(static RAM)(SRAM)、ダイナミックRAM(dynamic RAM)(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レート(double data rate)SDRAM(DDR SDRAM)、エンハンスト(enhanced)SDRAM(ESDRAM)、シンクリンク(Synchlink)DRAM(SLDRAM)、ラムバス・ダイレクト(Rambus direct)RAM(RDRAM)、ダイレクト・ラムバス・ダイナミック(direct Rambus dynamic)RAM(DRDRAM)、及びラムバス・ダイナミック(Rambus dynamic)RAM(RDRAM)のような、多数の形態で利用可能である。
【0041】
図2は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステム200の別のブロック図を図示する。システムは、1又は複数のクライアント或いは利用者デバイス202(例えば、移動デバイス)及び、ライセンス・サーバ或いは認証デバイスであることが出来る1又は複数のサーバ204を含む。利用者デバイス202は、秘密部分208と公開部分210とを含むことが出来る非対称鍵対206を生成するために構成されることが出来る。鍵対206の公開部分210は、利用者デバイス202の利用者が利用者デバイス202上の申し込んだマルチメディア・コンテントへの複数の権利を取得するためにサーバ204に送信されることが出来る。
【0042】
サーバ204は、利用者デバイス202から公開部分210を、例えば(送信機/受信機対212として示される)受信機212により、受信するために構成されることが出来る。サーバ204は、利用者デバイス202の利用者により申し込まれたコンテント216と関連付けられることが出来る少なくとも1つのサービス識別子214を(利用者デバイス202或いは別のソースから)受信するため又は要求するために構成されることも出来る。
【0043】
サーバ204と関連付けられるプロセッサ218は、マルチメディア・コンテントへの接続を取得するために利用者デバイス202により利用されることが出来る種々の対称鍵を生成するために構成されることが出来る。例えば、プロセッサ218は、第1対称鍵と第2対称鍵220とを生成すること及び第2対称鍵を用いて第1対称鍵を暗号化することが出来る。第2対称鍵は、非対称鍵対206の公開部分208を使用して暗号化されることが出来る。幾つかの実施形態に従えば、第1対称鍵は、利用者によって申し込まれたコンテント216と関連付けられる。第1対称鍵を暗号化するために、プロセッサ218は、利用者により申し込まれたコンテント216と関連付けられる1又は複数のサービス識別子214を検索するために及び該検索された1又は複数のサービス識別子214に基づいて第2対称鍵を検索するために、構成されることが出来る。幾つかの実施形態に従えば、クライアントは、サーバ204又は別のデバイスによって該複数の対称鍵の暗号化の前に認証されることが出来る。対称鍵220は、送信機212により利用者デバイスに伝達されることが出来る。
【0044】
幾つかの実施形態に従えば、サーバ204は、利用者デバイス202からライセンス・ファイル222の要求を受信する。該要求は、クライアント暗号化鍵208と申し込まれたサービスのリスト214を含むことが出来る。プロセッサ218は、申し込まれたサービス214に関連付けられる暗号化されたセッション鍵220を(対称暗号方式によって)生成するために及びクライアントの暗号化鍵208を用いて暗号化される暗号化されたセッション鍵220を(非対称暗号方式によって)生成するために、構成されることが出来る。サーバ204(又は、プロセッサ218)と関連付けられる記憶媒体224は、該暗号化されたサービス鍵及び該要求されたライセンス・ファイル222中に該少なくとも1つの暗号化されたセッション鍵を記憶すること又は保持することが出来る。ライセンス・ファイル222は、認証された利用者デバイス202へ送られることが出来る。
【0045】
図3は、プログラム鍵を使用するマルチメディア・コンテントの暗号化300を図示する。特定のプログラム(平文プログラム302)のためのマルチメディア・コンテントは、対称鍵暗号化304を用いる対称暗号方式を使用しプログラム鍵KProgram306によって暗号化される。平文は、暗号化操作が適用される前のデータに与えられる名称であり、そして、暗号文は、暗号化操作が適用された後のデータに与えられる名称である。プログラム鍵KProgram306は、それ自身サービス鍵KService(示されない)によって暗号化され、そして暗号化されたプログラム鍵KProgram306は、プログラムKProgram[Program]308と共に配送される。プログラミングは、メタデータ部分とコンテント部分とを含むことが出来る。コンテント部分は、プログラム鍵KProgram306により暗号化される。コンテント部分についての情報(例えば、コンテントのデジタル表示、セキュリティ又は権利管理情報、等々)を含む、該プログラミングのメタデータ部分は、暗号化されたプログラム鍵KProgram306を含む。
【0046】
さて図4を参照すると、サービス鍵を使用するプログラム鍵の暗号化400が図示される。プログラム鍵KProgram402は、対称鍵暗号化406を使用して対応するサービス鍵KService404により暗号化される。これは暗号化されたプログラム鍵(KService[KProgram])408を作る。それぞれのプログラム鍵KProgram402を対応するサービス鍵KService404を使用して防護することによって、単一のプログラムが異なる複数のサービスに対して再利用されることが出来て、該異なる複数のサービスに対して該プログラムを暗号化するために使用される該プログラム鍵は、複製されるべき唯一のデータである。
【0047】
限定目的ではなく例示目的のために、第1利用者“A”は、ESPNサービスに申し込み、そして第2利用者“B”は、CNNサービスとESPNサービス両方に申し込んでいる。両サービスで“放送”されるべきプログラム、例えば、商業広告(Ad)プログラムは、Adプログラム鍵KServiceAdを用いて暗号化され、暗号化されたAdプログラムKProgramAd(Ad Program)を創成する。Adプログラム鍵KProgramAdは、ESPNサービス鍵KServiceESPNによって暗号化され、ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)を創成する。Adプログラム鍵KProgramAdは又、CNNサービス鍵KServiceCNNによっても暗号化され、CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)を創成する。ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)は、暗号化されたAdプログラムKProgramAd(Ad Program)と共に第1利用者Aと第2利用者Bとに配信される。第1利用者Aと第2利用者Bは、ESPNサービス鍵KServiceESPNを使用することによってKProgramAdが検索された後に、ESPNサービス中のAdプログラムに接続することが出来る。しかしながら、Adプログラムを暗号化するために同一の鍵(KProgramAd)が使用されるという理由で、該Adプログラムは、暗号化されたAdプログラムKProgramAd(Ad Program)の別の複製をCNNサービスに対して配布することを必要とせずに、CNNサービスを介して第2利用者Bによっても接続可能である。CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)のみが配布されるべきである。このようにして、Adプログラムは、利用者が(ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)からAdプログラム鍵KProgramAdを検索すること/逆暗号化することによって)ESPNサービスに接続しようと、(CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)からAdプログラム鍵KProgramAdを検索すること/逆暗号化することによって)CNNサービスに接続しようと、第2利用者Bによって逆暗号化されることが出来る。
【0048】
図5は、セッション鍵を使用するサービス鍵の暗号化500を図示する。サービス鍵KService502は、対称鍵暗号化方式506を用いてセッション鍵KSession504によって暗号化され、暗号化されたサービス鍵(KSession[KService])508を創成する。幾つかの実施形態では、セッション鍵KSession504は、複数のサービス鍵KService502を扱う、ここで該複数のサービス鍵KService502は、ライセンス・ファイル510で配信される。このようにして、特定の利用者に提供されるサービスは、これは該利用者によって申し込まれたサービスに基づいていることが出来、ライセンス・ファイル510により定義される。その上、それぞれのライセンス・ファイル510及びライセンス・ファイル510中のサービス鍵KService502は、ある事前に決定された期間有効であることが出来、その期間は“エポック(Epoch)”と呼ばれることが出来る。このような事前に決定された期間の後、ライセンス・ファイル510及びライセンス・ファイル510中のサービス鍵KService502は、期限満了とされる或いは失効させられる。このような鍵の失効は、認可されてない利用者に知られるようになった鍵がもたらす可能性があるシステム損壊を阻止する或いは緩和することが出来る。所与のエポックのためのサービス鍵は、視聴時期が所与のエポックで規定されていた、コンテントの失効時刻の後デバイスから除去されるべきである。
【0049】
サービス鍵KServiceは、クライアントの暗号化鍵EDeviceを使用して非対称暗号化方式により暗号化されることが出来るけれども、この暗号化方法(及びその関連付けられる逆暗号化方法)は、遅いことがあり得る。そこで、セッション鍵KSessionがクライアント/ライセンス/エポックそれぞれに対して創成されることが出来て、該セッション鍵KSessionのみが非対称暗号方式を使用して保護される。利用者によって選択されている“チャネル”の表示が速くなるようにクライアント上でサービス鍵KServiceの逆暗号化が速くなるために(例えば、利用者が“チャネル・サーフィン”している場合該利用者によって選択されたサービスと関連付けられるプログラムを逆暗号化するために必要とされる特別なプログラム鍵の逆暗号化は速いものであるべき)、全てのサービス鍵KServiceは、そのエポックに対して単一のセッション鍵KSessionによって保護される。該セッション鍵KSessionは、サービス鍵KServiceを保護するために対称暗号方式を実行する。この方法において、サービス鍵KServiceは、それ等が対称暗号方式を使用してクライアント上に暗号化された形式で記憶されるので、可能な限り長く保護される。幾つかの実施形態では、暗号化されたセッション鍵KSessionは、クライアントが起動されるのと実質的に同時に、(非対称暗号方式を使用して)逆暗号化され、そして該逆暗号化されたセッション鍵KSessionは、クライアント上でキャッシュに蓄えられ、従ってそれは、毎回逆暗号化される必要はなく(非対称暗号方式よりも比較的速い、対称暗号方式を使用して)1又は複数のサービス鍵KServiceを逆暗号化するために使用されることが出来る。
【0050】
図6は、クライアント暗号化鍵を使用するセッション鍵の暗号化600を図示する。セッション鍵KSession602は、非対称鍵暗号化方式606を使用してクライアントへの配送のためにクライアントの即ちデバイスの暗号化鍵EDevice604、それは公開鍵である、によって暗号化される。暗号化されたセッション鍵(EDevice[KSession])が配送され、そして該クライアントは、クライアントの逆暗号化鍵DDevice、それは秘密鍵である、を使用してセッション鍵KSession602を逆暗号化することが出来る。
【0051】
さて図7を参照すると、デジタル著作権管理(DRM)システム700の例示的なアーキテクチャが図示される。幾つかの実施形態では、異なる様々な型の鍵のレイヤ化、即ち、階層構造は、セッション鍵KSessionを暗号化するクライアント暗号化鍵EDeviceに基礎を置き、該セッション鍵KSessionは、次にサービス鍵KServiceを暗号化する。更に、該サービス鍵KServiceは、マルチメディア・コンテントを保護するために使用されるプログラム鍵KProgramを暗号化するために使用される。このようにして、本明細書に記載されるDRMシステム700は、コンテントのデジタル著作権を保護するために鍵の階層構造を利用することが出来る。幾つかの実施形態では、高度暗号化標準−カウンタ(Counter)(AES−CTR)が対称鍵アルゴリズムとして使用される、ここにAESは、米連邦情報処理規格(US Federal Information Processing Standards)(FIPS)PUB197として米国連邦標準技術局(the National Institute of Standards and Technology)(NIST)により採用された暗号技術規格である。
【0052】
DRMシステム700に含まれるものは、クライアント702(システム700中に存在可能な全てのクライアントの代表)、DRMサーバ704、ライセンス鍵サーバ706、及びサブスクリプション・サーバ708である。幾つかの実施形態では、1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールは、基盤になる暗号化/逆暗号化コンポーネント及びハッシング/認証コンポーネントを提供して、クライアント702、DRMサーバ704、ライセンス鍵サーバ706、及びサブスクリプション・サーバ708で使用される。その上、該1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールは、ライセンスの検索/ダウンロード機能及びクライアント702のための安全なファイル−記憶機能を提供することも出来る。そのような記憶装置は、クライアント鍵データベース710と関連付けられることが出来る。
【0053】
該1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールによって提供される機能は、異なる一般的な範疇に分割されることが出来る、それは公開鍵暗号化方式機能、メディア暗号法機能、及び認証機能を含むことが出来る。異なる範疇の機能は、互いに影響し合って、そのような機能を、安全なファイル記憶として、乱数発生(random number generation)(RNG)として、及び、組込みファイル・システム(embedded file system)(EFS)における鍵の検索と記憶として、提供する。例えば、認証機能は、複数の認証鍵を生成するための、及び、1つの認証鍵を使用してクライアントとサーバにおいてメッセージに署名及び検証するための、機能を提供する。認証機能は、又該認証鍵をEFS中に記憶してクライアント702で必要とされる場合、それを検索する機能も提供する。
【0054】
幾つかの実施形態では、署名と検証のために使用されるアルゴリズムは、HMAC、鍵付きハッシュ・アルゴリズムであり、そのHMACは、幾つかの実施形態では、メッセージ認証コードを生成するためにメッセージ・ダイジェスト・バージョン5(Message Digest Version 5)(MD5)とともに認証鍵を使用する。例えば、クライアント/サーバ通信の期間に使用される認証鍵QDeviceは、鍵付きハッシュ・メッセージ認証コード(HMAC)であって、それは秘密鍵との組み合わせで暗号学的ハッシュ関数を使用して計算されるメッセージ認証コードの1つの型である。何れかのMACを用いるので、該コードは、データの完全性とメッセージの真正性の双方を実質的に同時に検証するために使用されることが出来る。メッセージ・ダイジェスト・アルゴリズム5(MD5)又はセキュア・ハッシュ・アルゴリズム1(SHA−1)のような任意の繰り返し暗号学的ハッシュ関数がHMACの計算において使用されることが出来る、その結果、MACアルゴリズムは、従ってMMAC−MD5又はHMAC−SHA−1と呼ばれる。HMACの暗号方式としての強さは、基盤となるハッシュ関数の暗号方式の強さ及び鍵の大きさと品質に依存する。
【0055】
メディア暗号法の機能の範疇は、プログラム鍵KProgram、サービス鍵KService、及びセッション鍵KSessionを生成するための機能を提供し、そしてこれ等の鍵を使用してメディアと鍵を暗号化しそして逆暗号化する。幾つかの実施形態では、該機能は、暗号方式のコアによって提供される。全ての暗号化関数と逆暗号化関数は、セッション鍵KSessionの暗号化/逆暗号化に対する場合を除いて、対称暗号方式を用いて実行されることが出来る。本明細書で論じられるように、セッション鍵KSessionの暗号化/逆暗号化は、非対称暗号方式を使用して実行される。
【0056】
クライアント702は、起動プロセスの一部として公開鍵/秘密鍵対を生成することが出来る。幾つかの実施形態では、公開鍵暗号方式の機能範疇と認証の機能範疇は、クライアント702が自身をDRMシステム700におけるサーバに登録するプロセスである、クライアントの起動呼プロセス中に使用される。クライアントの起動呼プロセスは、図9を参照して下記で更に詳細に論じられる。
【0057】
図8は、DRMシステムの動作のための方法800を図示する。802では、公開鍵/秘密鍵対が生成される。鍵対のこのような生成は、クライアントが起動されるのと実質的に同時に行われることが出来て、該鍵対は、クライアント上に記憶されることが出来る。公開鍵は、サブスクリプション・サーバに通信されることも出来る。クライアントは、公開鍵/秘密鍵対の生成を介して暗号学的アイデンティティの所有者であると考えられることが出来る。本明細書で論じられるように、公開鍵の提供は、クライアントへの通信の安全なチャネルを提供する。具体的には、公開鍵暗号方式の機能は、クライアント暗号化鍵EDeviceとクライアント逆暗号化鍵DDeviceを生成する機能を提供し、そしてそれ等の鍵をクライアント上に記憶する。幾つかの実施形態では、クライアント暗号化鍵EDeviceは、公開鍵であり、そしてクライアント逆暗号化鍵DDeviceは、秘密鍵であって、これらの鍵は、公開鍵/秘密鍵対を構成する。このようにして、該起動プロセスは、これ等の鍵を生成させ、EFS中に配置させ、そしてクライアント鍵の公開部分EDeviceをサブスクリプション・サーバ上のクライアント鍵データベース中に組み込まれるようにする。
【0058】
804では、クライアントは、公開鍵EDeviceを送ることによってサブスクリプション・サーバに接続することが出来、そしてサブスクリプション・サーバは、クライアント鍵データベースを更新するために該鍵をライセンス・サーバに送ることが出来る。該鍵対のこの公開部分は、ライセンス・ファイル或いはクライアントへ送られる他の秘密情報を暗号化するために後に使用される。起動プロセスは、又利用者識別子(user identifier)(UserID)がクライアントに割り当てられるようにする。クライアントのクライアント暗号化鍵EDeviceは、この特別なUserIDに関連付けられる。幾つかの実施形態では、ライセンス鍵サーバとクライアントの全ての更なる通信は、正しいライセンスを検索するためにこのUserIDを使用する。
【0059】
クライアントが認証された後で又はそれと実質的に同時に、サブスクリプション・サーバは、DRMサーバにクライアントに関する認証鍵QDeviceの要求を送る。DRMサーバは、認証鍵QDeviceを生成して、それをサブスクリプション・サーバに戻す。サブスクリプション・サーバは、EDeviceを用いて認証鍵QDeviceを暗号化して、該暗号化された認証鍵EDevice(QDevice)をクライアントに返送する。クライアントは、該サーバを認証の後、該暗号化された認証鍵EDevice(QDevice)をクライアントのEFS中に記憶する。クライアントとサーバは、互いからのメッセージを認証するために使用されることが出来る認証鍵を今や共有する。一旦クライアントが起動されてしまうと、DRMシステム中の諸サービスに接続するために必要とされるライセンス・ファイルは、クライアントによって取得されることが出来る。幾つかの実施形態では、クライアントが該メディア・コンテントに接続し続けるために、サービス鍵の新セットを含む新ライセンス・ファイルとKServiceは、事前に決定された間隔(例えば、エポックの有効期限)で取得される。
【0060】
806では、ライセンス鍵サーバは、ライセンス・ファイルをフェッチするためにクライアントにより接続される。クライアントがライセンス・ファイルをフェッチするためのプロセス図は、図10を参照して下記で説明される。一旦取得されると、ライセンス・ファイルは、クライアントにおいてその場所に記憶されることが出来て、後でそこに記憶されたサービス鍵KServiceとセッション鍵KSessionとの検索のために用いられる。要求を処理するために、808において、ライセンス鍵サーバは、クライアントが真正且つ認可されたクライアントであるかどうかを、サブスクリプション・サーバに連絡することにより、及びクライアントのクライアント暗号化鍵EDeviceと認証鍵QDeviceと更にクライアントにより申し込まれているサービスのリスト(ServiceIDs)とをUserIDに基づき検索することによって、判定することが出来る。このようにして、サブスクリプション・サーバは、クライアントの認証情報をクライアントの認証鍵QDeviceの形式で提供する。一旦これ等の鍵が検索されると、ライセンス鍵サーバは、クライアントのクライアント暗号化鍵EDeviceを使用して署名を検査することが出来る。
【0061】
もしクライアントが認証されるならば、次にライセンス・ファイルの要求がDRMサーバに転送される。このようにして、DRMサーバは、クライアントが認証され認可された後で接続されるだけである。具体的には、810において、クライアントのクライアント暗号化鍵EDeviceとクライアントにより申し込まれているサービスのリストがDRMサーバに送られる。DRMサーバは、該ライセンス・ファイルに対するセッション鍵KSessionを生成し、そして該セッション鍵KSessionを使用して、クライアントにより申し込まれているサービスに対する全てのサービス鍵KServiceを、ServiceIDsによって決められたように、暗号化する。サービス鍵KServiceの暗号化は、対称暗号方式によって実行される。DRMサーバは、クライアントのクライアント暗号化鍵EDeviceを使用してセッション鍵KSessionも暗号化する。上述で論じられたように、この暗号化は、非対称暗号方式を使用して実行される。
【0062】
812では、暗号化されたセッション鍵KSessionと暗号化されたサービス鍵KServiceがライセンス鍵サーバによってライセンス・ファイル中に、その他のヘッダ情報と共に記憶される。該ヘッダ情報は、例えば、UserID、その間サービス鍵KServiceが有効であるEpochID、及びエポックの開始と終了時間、である。このようにして、複数のライセンス・ファイルが事前に決定された期間においてクライアントのために生成されることが出来て、それぞれのライセンス・ファイルは、その特別なエポックの間有効であるサービス鍵KServiceを、該ライセンス・ファイルに対して生成されたセッション鍵KSessionを用いて暗号化されたサービス鍵KServiceと共に含むことが出来る。例えば、利用者がサブスクリプションを変更すると、クライアントは、変更された申し込まれたプログラミングと関連付けられるサービス鍵KServiceの変更されたセットを入手するはである。サービス鍵KServiceのこの変更されたセットは、新しく生成され(且つ暗号化された)セッション鍵KSessionを含む新しいライセンス・ファイルと共に配送される。
【0063】
例示的なライセンス・ファイルが下記に示される。
【表1】
【0064】
814では、ライセンス・ファイルがライセンス鍵サーバによってクライアントへ返送される。幾つかの実施形態では、最終的な結果は、クライアントにライセンス・ファイル(複数のサービス鍵KServiceを含む)と上述のように(該エポックの間)安全化されたセッション鍵KSessionとを提供することである。
【0065】
816では、プログラムを逆暗号化するために、クライアントは、逆暗号化されたプログラム鍵KProgramを求めるための鍵をフェッチするために関数呼出しにおいてEpochID、ServiceID、ProgramID及び暗号化されたプログラム鍵KProgramを使用する。例えば、EpochID Y、ServiceID X、ProgramID Z及び暗号化されたプログラム鍵KServiceX(KProgramZ)が与えられると、逆暗号化されたプログラム鍵KProgramZが求められることが出来る。プログラム逆暗号化のシーケンスは、図11を参照して下記で説明される。
【0066】
818では、クライアントは、該メディア・コンテントを逆暗号化して再生する。幾つかの実施形態では、プログラム鍵KProgramを使用するコンテントの実際の対称暗号方式逆暗号化は、該メディアがクライアント上のプレーヤ(player)によってディスプレイ上に可視化されるのと実質的に同時に行われる。暗号化されたプログラム・ファイル名とプログラム鍵KProgramは、次にインターフェースを使用してプレーヤに供給される。メディアの逆暗号化は、仮想ファイルI/Oインターフェースを利用することが出来、それは暗号方式のコア・インプリメンテーションの周りに仮想ファイルI/Oラッパーを提供しそしてプレーヤへの逆暗号化プロセスを単純化する。
【0067】
図9は、クライアントの起動呼プロセス流れ900を図示する。公開鍵暗号方式の機能は、クライアント鍵を生成する機能を提供し、クライアント鍵を使用してセッション鍵を暗号化及び逆暗号化することが出来る。幾つかの実施形態では、公開鍵暗号方式の機能は、暗号化されたプログラム鍵を逆暗号化するための且つ特定のエポックの間セッション鍵をキャッシュに蓄えるための、ラッパー機能も又提供する。幾つかの実施形態では、クライアント鍵は、公開鍵と秘密鍵双方を有する、ロン・リベスト(Ron Rivest)、アディ・シャミア(Adi Shamir)、レン・エーデルマン(Len Adleman)(RSA)によって説明された方式に基づくアルゴリズムを使用して生成される。
【0068】
DRMクライアント902は、例えば、フォーン・インフォ・ハッシュ(Phone Info Hash)906を介してサブスクリプション・サーバ904にクライアント暗号化鍵EDeviceを伝達する。サブスクリプション・サーバ904は、908において、利用者デバイスを認証することが出来て、そしてクライアント902が認証されるのと実質的に同時に、912において、クライアント暗号化鍵EDeviceをDRMサーバ910に転送することが出来る。DRMサーバ910は、914において、認証鍵EDevice(QDevice)及び認証鍵QDeviceに関連付けられるクライアント暗号化鍵を用いて応答する。認証鍵EDevice(QDevice)に関連付けられるクライアント暗号化鍵及びフォーン・インフォ・ハッシュは、916において、DRMクライアント902に送られる。
【0069】
クライアントがライセンス・ファイルをフェッチするためのプロセス図1000が図10に示される。幾つかの実施形態では、DRMクライアント1002は、ライセンス鍵サーバに利用者の識別子(例えば、UserID)及びクライアント1002が該ライセンス・ファイルをフェッチすることを望むエポックの識別子(例えば、EpochID)を提供することによって、ライセンス鍵サーバ1004からライセンス・ファイルをフェッチする。利用者識別子とエポック識別子は、1006において、ライセンス要求と共に送られる。その上、クライアント1002は、ライセンス鍵サーバ1004にクライアント1002のクライアント逆暗号化鍵DDeviceを用いて署名されたクライアント1002の認証鍵QDeviceを提供することが出来る。
【0070】
ライセンス鍵サーバ1004は、1010において、サブスクリプション・サーバ1008からのクライアント認証を要求する。サブスクリプション・サーバ1008は、1012において、クライアント認証(例えば、サービスIDs、EDevice、QDevice)の要求に応答することが出来る。クライアント1002は、1014において、認証され、そしてサービス鍵(例えば、サービスIDS、EpochID、EDevice)の要求が、1018において、DRMサーバ1016に送られる。
【0071】
1020において、暗号化されたセッション鍵KSession及び暗号化されたサービス鍵KServiceがサーバ1016によって生成される。1022では、サービス鍵(暗号化されたセッション鍵KSession、暗号化されたサービス鍵KService)の要求への応答がライセンス鍵サーバ1004に送られる。ライセンスの要求への応答が、1024において、クライアント1002に送られる。一旦取得されると、1026では、ライセンス・ファイルは、クライアント1002においてその場所に記憶されることが出来て、そこに記憶されたサービス鍵KServiceとセッション鍵KSessionの後の検索のために用いられる。
【0072】
図11は、種々の鍵を用いるプログラム逆暗号化シーケンス1100を図示し、ここでは、内部的には、クライアントは、EpochIDに関連付けられるエポックに対して要求されるライセンスが既にフェッチされたことを仮定する。クライアントは、1102において、過去に記憶されたクライアント逆暗号化鍵DDeviceを使用してライセンス・ファイル中のセッション鍵EDevice(KSession)を逆暗号化し、1104において、該逆暗号化された(平文の)セッション鍵KSessionを使用してライセンス・ファイル中のサービスXに対するサービス鍵KSession(KServiceX)を逆暗号化し、そして、1106において、サービスXに対する逆暗号化されたサービス鍵KServiceXを使用してプログラムZに対する暗号化されたプログラム鍵KServiceX(KProgramZ)を逆暗号化する。クライアントは、次に1108において、プログラムの逆暗号化のために平文でのプログラム鍵KProgramZを返す。このようにして、幾つかの実施形態では、クライアントにおいてプログラムを逆暗号化するために、クライアントは、利用者がシステム内で起動されそして適切なクライアント鍵ファイル(例えば、クライアント暗号化鍵EDeviceとクライアント逆暗号化鍵DDevice)を有する、と仮定する。クライアントは、又該特定のエポックに対するライセンス・ファイルがクライアントにダウンロード完了していると仮定する。もしこれらの要求が有効でなければ、DRMシステムは、誤りを通報することが出来る。もし(クライアントがシステム内で起動された時に生成された鍵ファイルとは別の)異なる鍵ファイルがクライアント上に存在するならば、誤りのない逆暗号化が起きても出力データは、有用なデータではない。
【0073】
クライアント上で多数のコンテントのためのデジタル著作権管理を実行するための方法1200が図12に図示される。説明を単純にする目的で、本明細書で開示される方法は、一連のブロックとして示されそして説明されるけれども、請求項に記載される内容は、ブロックの番号や順序によって限定されないことが理解されそして認識されるべきである、というのは、ある複数のブロックは、異なる順番で及び/又は本明細書で図示され説明されるものとは異なるブロックを並列的に用いて生じることが可能だからである。その上、必ずしも全ての図示されたブロックが下記に記載される方法を実現するために必要とされるわけではない。該ブロックに関連付けられる機能は、ソフトウェア、ハードウェア、それ等の組合せ或いはその他任意の適切な手段(例えば、デバイス、システム、プロセス、コンポーネント)によって実現されることが出来ることが認識されるべきである。加えて、本明細書全体に亘って開示される方法は、このような方法を種々のデバイスに輸送し移転することを容易にする製品上に、記憶されることが出来るということが更に認識されるべきである。当業者等は、方法が一連の相互に関係する状態又は事象として、例えば、ステート・ダイアグラムで、別の形で表わされることが出来ることを理解し認識する。
【0074】
方法1200は、1202で開始し、そこでは、例えば、起動プロセスの一部として、非対称鍵対が生成される。非対称鍵対の生成は、公開鍵又は公開部分及び秘密鍵又は秘密部分を生成することを含むことが出来る。1204では、非対称鍵対の公開部分がサーバ、デジタル著作権管理機関、ライセンス・サーバ、或いはその他(本明細書でサーバと呼ばれる)、に伝送される。サーバは、第1対称鍵と第2対称鍵を暗号化して、該暗号化された対称鍵をクライアントに転送することが出来る。1206では、第1対称鍵と第2対称鍵がクライアントに受信される。
【0075】
第1対称鍵は、非対称鍵対の公開部分を用いて暗号化されることが出来る。幾つかの実施形態では、第1対称鍵は、事前に決定された間隔の間有効である逆暗号化方式(例えば、時間あるいは間隔を測定するための他の方式)を用いて暗号化されることが出来る。第2対称鍵は、多数のコンテントに関連付けられることが出来る。幾つかの実施形態では、第2対称鍵は、第1対称鍵を用いて暗号化されることが出来る。
【0076】
幾つかの実施形態では、1208において、方法1200は継続することが出来て、そこでは、第1対称鍵、第2対称鍵、或いは両対称鍵が逆暗号化される。例えば、第1対称鍵は、非対称鍵対の秘密部分を使用して逆暗号化されることが出来る。もし第2対称鍵が第1対称鍵を用いて暗号化されているならば、第2対称鍵の逆暗号化は、第1対称鍵に基づいて行われることが出来る。
【0077】
1210では、第3対称鍵を受信することが幾つかの実施形態に従い方法1200に含まれることが出来る。第3対称鍵は、多数のコンテントに関連付けられることが出来る。サーバは、第1対称鍵を用いて第3対称鍵を暗号化することが出来る。1208において、方法1200は継続し、そこでは、少なくとも第3対称鍵は、第1対称鍵に基づいて逆暗号化されている。
【0078】
幾つかの実施形態に従い、第1対称鍵と第2対称鍵は、ライセンス・ファイルの中に含まれることが出来る。もしライセンス・ファイルの中に含まれていれば、1208において、第1対称鍵に基づいて行われる第2対称鍵を逆暗号化することは、該ライセンス・ファイルから第2対称鍵を検索すること及び対称暗号方式を用いて第2対称鍵を逆暗号化することを含む。幾つかの実施形態では、多数のコンテント中の第1コンテントと第2対称鍵は、第3対称鍵と関連付けられる。第3対称鍵は、逆暗号化された第2対称鍵を用いて逆暗号化されることが出来る、そして第3対称鍵と関連付けられる多数のコンテントから第1コンテントが逆暗号化されることが出来る。
【0079】
図13は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するための方法1300を図示する。方法1300は1302で開始し、そこでは非対称鍵対の公開部分がクライアントから受信される。1304では、第1対称鍵が第2対称鍵を使用して暗号化される。第1対称鍵は、多数のコンテントに関連付けられることが出来る。第1対称鍵を暗号化することは、クライアントによって申し込まれている多数のコンテントに関連付けられる多数のサービス識別子(ID)を検索することを含む。第1対称鍵は、該検索された多数のサービスIDに基づいて検索されることが出来る。幾つかの実施形態では、第1対称鍵を暗号化する前に、1306において、クライアントが認可される。方法1300は1308へと継続し、そこでは、第2対称鍵は、非対称鍵対の公開部分を用いて暗号化される。幾つかの実施形態に従い、第1対称鍵と第2対称鍵は、1310において、クライアントに転送されることが出来る。
【0080】
さて図14を参照すると、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するためのシステム1400が図示される。システム1400は、機能ブロックとして表わされ、それは、プロセッサ、ソフトウェア或いはそれ等の組合せ(例えばファームウェア)により実現される機能を表す機能ブロックであることが出来る。
【0081】
システム1400は、公開鍵と秘密鍵を生成するために構成されることが出来る生成モジュール1402を含む。それ等の鍵は、非対称暗号方式を利用して生成されることが出来る。該公開鍵をライセンス・ファイルの要求と共にライセンス・サーバに伝達するために構成されることが出来る伝達モジュール1404も又含まれる。受信モジュール1406は、要求されたライセンス・ファイルを受信するために構成されることが出来る。該ライセンス・ファイルは、例えば、サーバから受信されることが出来る。ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するために構成されることが出来る逆暗号化モジュール1408も又含まれる。幾つかの実施形態に従えば、システム1400は、ライセンス・ファイルに含まれるサービス鍵を記憶するために構成されることが出来る記憶モジュール(示されない)も又含むことが出来る。幾つかの実施形態に従えば、マルチメディア・コンテントが逆暗号化されるのと実質的に同時にディスプレイ・スクリーン上にメディアを可視化するために構成されることが出来る可視化モジュール(示されない)がシステムに含まれる。
【0082】
図15は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するためのシステム1500を図示する。システム1500は、機能ブロックとして表わされ、それはプロセッサ、ソフトウェア或いはそれ等の組合せ(例えばファームウェア)により実現される機能を表す機能ブロックであることが出来る。
【0083】
システム1500は、クライアントから非対称鍵対の少なくとも一部を受信するために構成されることが出来る受信モジュール1502を含む。受信される部分は、公開部分であることが出来る。第1対称鍵と少なくとも第2対称鍵を創成するために構成されることが出来る創成モジュール1504も又含まれる。第1対称鍵は、複数のコンテントに関連付けられることが出来る。システム1500は、少なくとも第2対称鍵を暗号化するために第1対称鍵を利用するために構成されることが出来る利用モジュール1506を更に含むことが出来る。非対称鍵対の少なくとも一部を用いて第2対称鍵を暗号化するために構成されることが出来る暗号化モジュールも又含まれる。幾つかの実施形態に従えば、第1対称鍵と少なくとも第2対称鍵を創成する前にクライアントを認証するために構成されることが出来る認証モジュール(示されない)がある。幾つかの実施形態に従えば、暗号化された第1対称鍵と暗号化された第2対称鍵とをクライアントに伝送するために構成されることが出来る伝送モジュール(示されない)がある。
【0084】
さて図16を参照すると、無線デバイス又は無線端末1600の可能な構成の概念的なブロック図が図示される。当業者等が認めるように、端末1600の精確な構成は、具体的なアプリケーションと全体的な設計上の制約に依存して変わり得る。プロセッサ1602は、本明細書で開示されたシステムと方法を実装することが出来る。
【0085】
端末1600は、アンテナ1606に接続されたフロントエンド・トランシーバ1604を用いて与えられることが出来る。フロントエンド・トランシーバ1604は、データ通信を受信するために構成される。ベース・バンド・プロセッサ1608は、該トランシーバ1604に接続されることが出来る。ベース・バンド・プロセッサ1608は、ソフトウェアに基づくアーキテクチャ又は他の型のアーキテクチャを用いて実装されることが出来る。マイクロプロセッサは、プラットフォームとして利用されることが出来て、諸機能の中でもとりわけ、制御機能と全体的なシステム管理機能を提供するソフトウェア・プログラムを走らせる。デジタル信号プロセッサ(digital signal processor)(DSP)は、組込み通信ソフトウェア層とともに与えられることが出来、それはマイクロプロセッサの処理要求を軽減する特定用途アルゴリズムを走らせる。該DSPは、例えばパイロット信号捕捉、時間同期、周波数追跡、スペクトル拡散処理、変調及び復調機能、及び順送り(forward)誤り訂正のような、種々の信号処理機能を提供するために利用されることが出来る。
【0086】
端末1600は、ベース・バンド・プロセッサ1608に接続される種々の利用者インターフェース1610を含むことも出来る。利用者インターフェース1610は、キーパッド、マウス、タッチ・スクリーン、ディスプレイ、着信報知機、バイブレータ、オーディオ・スピーカ、マイクロフォン、カメラ、及び/又はその他の入出力デバイスを含むことが出来る。
【0087】
ベース・バンド・プロセッサ1608は、プロセッサ1602を具備する。ベース・バンド・プロセッサ1608のソフトウェアに基づく実行では、該プロセッサは、マイクロプロセッサ上で走るソフトウェア・プログラムであることが出来る。しかしながら、当業者等は容易に認めるように、プロセッサ1602は、この実施形態に限定されず、本明細書に記載される種々の機能を実行することが出来る、ハードウェア構成、ソフトウェア構成、又はそれ等の組合せを含む、公知の種々の手段によって与えられることが出来る。プロセッサ1602は、データの記憶のためにメモリ1612に接続されることが出来る。メモリ1612は、製造及び/又は試験プロセス期間中に受信されたプログラム・データを記憶するために構成され、そしてプロセッサ1602又は1608は、該プログラム・データを用いてプログラムされるために構成される。
【0088】
(例えば、マルチメディア・コンテントとデジタル著作権管理の配信のための効率的鍵階層構造に関連する)種々の実施形態は、それ等の種々の態様を遂行するために種々の人工知能(AI)に基づく方式を利用することが出来る。例えば、自動分類システムとプロセスを介して1又は複数の利用者に対する種々の鍵を有効にする及び無効にするためのプロセスである。本明細書で使用されるように、用語“推論”は、一般に、事象、センサ、及び/又はデータを介して獲得された観測情報の集合から、システム、環境、及び/又は利用者の状態を推論する又はそれについて思考するプロセスのことを指す。推論は、特定のコンテクスト又は動作を識別するために利用されることが出来る、或いは、例えば状態に関する確率分布を生成することが出来る。推論は、確率的―即ち、データと事象の考察に基づく関心のある状態に関する確率分布の計算、であることが出来る。推論は、事象及び/又はデータの集合からより高いレベルの事象を構成するために利用される技術を指すことも出来る。このような推論は、観測された諸事象及び/又は記憶された事象データの集合から、該諸事象が時間的近接性において相関付けられるか否かに関わらず、及び該諸事象とデータが1つの事象及びデータ源から来たのか数個の源から来たのかに関わらず、新しい事象又は動作の構成をもたらす。種々の分類方式及び/又はシステム(例えば、サポート・ベクトル・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイズ信頼性ネットワーク、ファジー論理、データ融合エンジン…)が、主題の実施形態と関連する自動的及び/又は推論的動作を実行することに関連して利用されることが出来る。
【0089】
分類子(classifier)は、ある入力属性ベクトル、x=(x1,x2,x3,x4,xn)を該入力があるクラスに属する信頼度(confidence)にマッピングする関数、即ち、f(x)=confidence(class)、である。このような分類子は、確率論及び/又は統計学に基づく解析(例えば、ユーティリティや費用を要因として解析に織り込む)を利用して、利用者が自動的に実行されることを願う動作を予測又は推論する。
【0090】
サポート・ベクトル・マシン(SVM)は、利用され得る分類子の一例である。SVMは、可能な入力空間中に超曲面を見つけることによって動作し、その超曲面は、トリガリング基準(triggering criteria)を非トリガリング事象から分割しようと試行する。直観的に、これは、トレーニング・データに近いが同一ではない試験データに対する分類を正しくする。他の有向(directed)及び無向(undirected)モデル分類手法は、例えば、ナイーブ・ベイズ、ベイジアン・ネットワーク、判定ツリー、ニューラル・ネットワーク、ファジー論理モデルを含み、そして独立な種々異なるパターンを提供する確率論的分類モデルが利用されることができる。本明細書で使用される分類は、又優先順位のモデルを開発するために利用される、統計回帰を含む。
【0091】
本明細書から容易に理解されるように、1又は複数の実施形態は、暗示的に(例えば、利用者の挙動を観察すること、外部の情報を受信することにより)トレーニングされるばかりでなく、明示的に(例えば、汎用トレーニング・データにより)トレーニングされる、分類子を使用することができる。例えば、SVMの分類子は、分類子コンストラクタ及び属性選択モジュール内で学習フェーズ又はトレーニング・フェーズ(phase)によって構成される。従って、多数の機能を自動的に学習及び実行するために該分類子が使用されることができる、該機能は、事前に決定された基準に従い、何時鍵を創成するか、何れの型の鍵を創成するか、を判断することが含むが、それに限定されない。該基準は、接続すべきデータ又はコンテントの量、コンテントの型、該コンテントの重要性、等々を含むことが出来るが、それ等に限定されない。
【0092】
本明細書で説明された諸実施形態は、ハードウェア、ソフトウェア、ミドルウェア、マイクロコード、或いはこれ等の任意の組合せ、によって実現されることが出来る。システム及び/又は方法がソフトウェア、ファームウェア、ミドルウェア又はマイクロコード、プログラム・コード又はコード・セグメントで与えられる場合、それ等は、記憶コンポーネントのような、機械可読媒体中に記憶されることが出来る。コード・セグメントは、処理手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェア・パッケージ、クラス、或いは命令の任意の組合せ、データ構造、或いはプログラム文、を表すことが出来る。1つのコード・セグメントは、情報、データ、引数、パラメータ、或いはメモリ内容を渡すこと及び/又は受信することによって、別のコード・セグメント或いはハードウェア回路に接続されることが出来る。情報、引数、パラメータ、データ等々は、メモリ・シェアリング(memory sharing)、メッセージ・パッシング(message passing)、トークン・パッシング(token passing)、ネットワーク伝送等々を含む、任意の適切な手段を用いて渡され、転送され或いは送信されることが出来る。
【0093】
ソフトウェアの実行に関しては、本明細書に記載された諸技術は、本明細書中で説明された諸機能を実行するモジュール(例えば、処理手順、関数、等々)を用いて実行されることが出来る。ソフトウェア・コードは、メモリ・ユニットの中に記憶されることができ、そして、プロセッサにより実行されることが出来る。該メモリ・ユニットは、プロセッサの内部又はプロセッサの外部に実装されることが出来る、後者の場合、該メモリ・ユニットは、公知の種々の手段を介して該プロセッサに通信で接続されることが出来る。
【0094】
開示された諸実施形態は、下記の技術の任意の1つ又はそれ等の組合せに適用されることが可能である、該技術は、即ち:符号分割多元接続(Code Division Multiple Access)(CDMA)システム、マルチキャリア(Multiple−Carrier)CDMA(MC−CDMA)、広帯域CDMA(W−CDMA)、高速下り回線パケット・アクセス(High−Speed Downlink Packet Access)(HSDPA)、時分割多元接続(Time Division Multiple Access)(TDMA)システム、周波数分割多元接続(Frequency Division Multiple Access)(FDMA)システム、及び直交周波数分割多元接続(Orthogonal FDMA)(OFDMA)システムである。
【0095】
本明細書中で開示された諸実施形態に関連して説明された方法或いはアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサにより遂行されるソフトウェア・モジュールにおいて、或いは両者の組合せにおいて、具体化されることが可能である。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、CD−ROM、或いは他の任意の公知の記憶媒体形式、の中に常駐することが出来る。例示的な記憶媒体は、プロセッサが該記憶媒体から情報を読み、該記憶媒体に情報を書くことが出来るように、プロセッサと接続されている。それに代わって、記憶媒体は、プロセッサと一体になることも出来る。プロセッサと記憶媒体は、ASICの中に常駐することが可能である。該ASICは、利用者端末の中に常駐することが出来る。それに代わって、プロセッサと記憶媒体は、利用者端末中で単体部品として常駐することが可能である。
【0096】
本明細書に記載された方法は、同業者には公知の多様なハードウェア、プロセッサ及びシステム上で実現されることが出来ることは注目されるべきである。例えば、本明細書に記載されたように、クライアントが動作するための一般的な要求は、クライアントが、コンテント及び情報を表示するためのディスプレイと、該クライアントの動作を制御するプロセッサと、そして該クライアントの動作に関係するデータとプログラムを記憶するためのメモリとを有することである。幾つかの実施形態では、クライアントはセルラ電話である。幾つかの実施形態では、クライアントは、通信能力を有するハンドヘルド・コンピュータである。更に別の実施形態では、クライアントは、通信能力を有するパーソナル・コンピュータである。その上、GPS受信機のようなハードウェアが本明細書に記載された種々の実施形態を実現するために必要に応じてクライアント中に組み込まれることが出来る。更に、 “クライアント”と“サーバ”のような用語は、本明細書中で具体的なデバイス及び/又はエンティティを指すために使用されてきたけれども、これ等の用語は、何れにせよ限定的であると解釈されるべきではなくて、本明細書に含まれる諸実施形態のより明確な説明を提供するために使用されている。従って、一連のトランザクション又はシナリオの中で“クライアント”であるデバイス又はエンティティは、別系統のトランザクション又はシナリオの中では“サーバ”と考えられることが出来る。
【0097】
本明細書中で開示された諸実施形態と関連して説明された種々の説明的なロジック、論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processor)(DSP)、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array)(FPGA)或いは他のプログラム可能な論理デバイス、ディスクリート・ゲート(discrete gate)或いはトランジスタ・ロジック(transistor logic)、ディスクリート・ハードウェア部品(discrete hardware components)、或いは本明細書に記載された機能を実行するために設計されたそれ等の任意の組合せ、を用いて実装又は実行されることが出来る。汎用プロセッサは、マイクロプロセッサであって良い、しかし、その代わりに、プロセッサは、任意の通常のプロセッサ、制御器、マイクロ制御器、或いはステート・マシン(state machine)であって良い。プロセッサは、計算するデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと結合された1又は複数のマイクロプロセッサ、或いは任意の他のこのような構成、として実装されることも可能である。
【0098】
上述で説明されてきた内容は、1又は複数の実施形態の具体例を含む。無論、前述の諸実施形態を説明する目的のために、コンポーネントや方法の全ての考え得る組合せを説明することは不可能である。しかし、当業者は、種々の実施形態の多くの更なる組合せと置き換えが可能であることを認識する。従って、説明された諸実施形態は、添付された請求項の範囲の中に入る全てのその様な変更、修正及び変形を含んでいると意図される。更に、用語“含む(include)”が詳細な説明あるいは請求項で使用される範囲では、その用語は、“具備する(comprising)”が請求項中で移行語として使用される場合に解釈されるように、用語“具備する(comprising)”と同様な意味において包含することを意図される。
【優先権の主張】
【0001】
本特許出願は、2005年9月1日に提出され、そして、その全体が参照として本出願に組み込まれた、“マルチメディア・コンテント配信のための効率的鍵階層構造”と題する米国特許仮出願番号第60/714,153号に優先権を主張する。
【技術分野】
【0002】
下記の記載は、一般にデジタル著作権管理(digital rights management)に係わり、更に詳しくはマルチメディア・コンテント配信のための効率的鍵階層構造に関する。
【背景技術】
【0003】
第3世代(3G)モバイル・システムとその他のセルラ・ネットワークが配備されるに従って、新しいインターネット・プロトコル(Internet Protocol)(IP)パケット・データに基づくサービスが出現しつつある。ネットワーク事業者達が開発しようと求めているサービス分野は、大衆市場へのビデオ・コンテントの配信を含む。高品質ビデオは、一種のデータ集約型コンテントである。家庭用表示オプションを持つ消費者の経験は、利用者の諸期待を予め定義した目標市場をネットワーク事業者やコンテント・プロバイダ達に提供する。可搬性、魅力的なビジネス・モデル、ネットワークの制御と管理、接続制御、及びデバイス能力と結合されたこれ等の利用者の期待は、ネットワーク事業者やコンテント・プロバイダ達に複雑な挑戦的課題を提示する。
【0004】
配信されるコンテントの保護は、非認可複製に対して防護するために、そして、コンテント配信を直接的又は間接的に制御するために生じる課題である。コンテント・プロバイダは、一般的にはコンテント配信システムがデジタル著作権管理(Digital Rights Management)(DRM)を提供する能力を有することを要求する。このDRMは、幾つかの技術協定の内の任意のものを指し、該協定は、このような手段が組み込まれた電子デバイス上で配信されるものの利用者のために制御を提供する。コンテント配信システムの基盤になる構成要素は、送信/受信の期間におけるメディアの暗号化/逆暗号化機能、サブスクリプションに基づくコンテント配信サービスにおけるような機能、である。DRMソフトウェアは、基盤になる暗号化/逆暗号化アルゴリズム、クライアント部分及びサーバ部分の両者で使用されるハッシュ・アルゴリズム及び認証アルゴリズムのインプリメンテーションを提供することが出来る。DRMは、クライアントに対してライセンスのダウンロード及び安全なファイル記憶機能を提供することも出来る。
【0005】
DRMシステムで利用されることが出来る2つの型の暗号方式又は暗号作成技術は、対称暗号方式と非対称暗号方式である。対称鍵暗号方式では、暗号化と逆暗号化双方に対して同一の鍵が使用される。対称鍵暗号方式の例は、データ暗号化規格(Data Encryption Standard)(DES)システム及び高度暗号化規格(advanced Encryption Standard)(AES)システムを含む。公開鍵暗号方式としても知られる、非対称暗号方式では、各利用者は、公開鍵と秘密鍵を有する。暗号化は、公開鍵を用いて実行され、他方逆暗号化は、秘密鍵を用いて実行される。非対称鍵暗号方式の例は、リベスト−シャミア−エーデルマン(Rivest Shamir and Adleman)(RSA)アルゴリズム及び楕円曲線暗号方式(Elliptic Curve Cryptography)(ECC)を含む。対称鍵暗号方式は、非対称鍵暗号方式と比べて高速であるが、しかし対称鍵暗号方式は、その共有鍵を通信対象に秘密裏に伝達しなければならないという欠点が難である。非対称鍵暗号方式は、その名が表すように、公開鍵と秘密鍵の利用に基づいて処理要求を不均等に分割する。
【発明の概要】
【サマリー】
【0006】
下記は、開示される実施形態の幾つかの態様の基本的な理解を提供するために、簡単化された概要を提示する。この概要は、広範囲の概観ではないし、そのような実施形態の不可欠な又は決定的に重要な要素を特定することも又そのような実施形態の範囲を正確に概説することも意図していない。その目的は、説明される実施形態の幾つかの概念を後に提示される更に詳細な説明への前奏として簡単化された形で提示することである。
【0007】
1又は複数の実施形態とその対応する開示に従って、マルチメディア・コンテント配信のための効率的鍵階層構造に関連して種々の態様が説明される。2つの型の暗号作成技術(例えば、対称暗号方式と非対称暗号方式)が認証、鍵、及びコンテント保護のために利用される。幾つかの実施形態によれば、複数のコンテントに対するデジタル著作権管理をクライアント・デバイス上で実行するための方法が提供される。該方法は、公開部分と秘密部分を具備する非対称鍵対を生成して該非対称鍵対の公開部分を送信することを含む。該方法は、第1対称鍵と第2対称鍵を受信することも含む。該第1対称鍵は、該非対称鍵対の公開部分を利用して暗号化されることが出来、そして該第2対称鍵は、複数のコンテントに関連付けられる。
【0008】
幾つかの実施形態に従ったものは、デジタル著作権管理を容易にする装置である。該装置は、非対称鍵対を生成するための命令を実行して該非対称鍵対の少なくとも第1部分をサーバに選択的に送信する、プロセッサを含む。該非対称鍵対の少なくとも第2部分に関連する情報を記憶するメモリも該装置に含まれる。
【0009】
幾つかの実施形態によるものは、マルチメディア・コンテントのデジタル著作権管理を容易にする装置である。該装置は、公開鍵と秘密鍵を生成するための手段及び該公開鍵をライセンス・ファイルの要求と共にサブスクリプション・サーバに公開鍵を伝達するための手段を含む。又、該装置には、該要求されたライセンス・ファイルを受信するための手段、及び該ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するための手段、が含まれる。
【0010】
幾つかの実施形態に従ったものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令をその上に記憶しているコンピュータ可読媒体である。該命令は、非対称鍵対を生成すること及び該非対称鍵対の少なくとも第1部分とマルチメディア・コンテントへの接続要求とをサーバに送ること、を含む。該命令は、該マルチメディア・コンテントに関連する接続情報と対称鍵とを含むライセンス・ファイルを受信すること及び該マルチメディア・コンテントをディスプレイ上に可視化するために該接続情報を逆暗号化すること、を更に含む。
【0011】
幾つかの実施形態によれるものは、マルチメディア・コンテントの配信のための鍵階層構造に対するコンピュータ実行可能な諸命令を実行するプロセッサである。該命令は、公開鍵と秘密鍵とを具備する鍵対を生成すること及びサブスクリプション・サーバからのライセンス・ファイルをフェッチするために該公開鍵を送信すること、を含む。該命令は、ヘッダ情報と少なくとも1つの対称鍵とを含むライセンス・ファイル情報を受信すること及び該ヘッダ情報に一部は基づいてプログラムを逆暗号化すること、を更に含む。
【0012】
幾つかの実施形態によるものは、複数のコンテントのためのサーバ上でデジタル著作権管理を実行するための方法である。該方法は、クライアントから非対称鍵対の公開部分を受信することを含む。第1対称鍵は、第2対称鍵を使用して暗号化されそして複数のコンテントと関連付けられる。第2対称鍵は、非対称鍵対の公開部分を使用して暗号化される。
【0013】
幾つかの実施形態に従ったものは、マルチメディア・コンテントの配信を容易にする装置である。該装置は、暗号化された第1対称鍵及びマルチメディア・コンテントの配信の要求と関連付けられる少なくとも第2の暗号化された対称鍵を生成するための命令とを実行する、プロセッサを含む。該装置は又、該プロセッサによって生成された該第1対称鍵と該少なくとも第2の対称鍵との内の少なくとも1つに関連する情報を記憶する、メモリを含む。
【0014】
幾つかの実施形態によれるものは、コンテントの配信のための鍵階層構造の創成を容易にする装置である。該装置は、クライアントから非対称鍵対の少なくとも一部分を受信するための手段を含む。同様に含まれるものは、第1対称鍵及び少なくとも第2の対称鍵を創成するための手段である。しかも、該少なくとも第2の対称鍵を暗号化するために該第1対称鍵を利用するための手段及び該非対称鍵対の少なくとも一部分を用いて該第2対称鍵を暗号化するための手段、もある。
【0015】
幾つかの実施形態に従ったものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令をその上に記憶しているコンピュータ可読媒体がある。該命令は、マルチメディア・コンテントへの接続のための要求を受理することを含み、該要求は、非対称鍵対の少なくとも一部分を含む。第1対称鍵及び少なくとも第2の対称鍵が創成されて、該第1対称鍵は、該第2対称鍵対を用いて暗号化される。該命令は、該第2対称鍵対を該マルチメディア・コンテントと関連付けること及び該第1対称鍵と該第2対称鍵とをクライアントに送ることを含む。
【0016】
幾つかの実施形態によるものは、デジタル著作権管理のためのコンピュータ実行可能な諸命令を実行するプロセッサである。該命令は、要求されたライセンス・ファイルに対する暗号化されたセッション鍵を生成すること及び申し込まれたサービスと関連付けられる少なくとも1つの暗号化されたサービス鍵を創成すること、を含む。該命令は、クライアントの暗号化鍵を用いて少なくとも1つの暗号化されたセッション鍵を創成すること及び該暗号化されたサービス鍵と該少なくとも1つの暗号化されたセッション鍵とを該要求されたライセンス・ファイルの中に記憶すること、を更に含む。
【0017】
上述及び関連する目的達成のために、1又は複数の実施形態は、下記で十分に説明されそして請求項において特別に指摘される諸特徴を含む。下記の説明と添付図は、特定の実例となる諸態様を詳細に説明し、そして、諸実施形態の諸原理が利用されることが可能な種々の方法の内の単なる数例を示す。他の利点と新規性が下記の詳細な説明から図面と合わせて考慮されれば明白であり、そして開示される諸実施形態は、全てのこのような態様及びそれ等の同等物を含むように意図される。
【0018】
[用語解説]
サービス鍵KService=プログラム鍵KProgramを暗号化するために使用される鍵。サービス鍵KServiceは、特定のサービス(例えば、CNN、MSNBC)にマッピングする。鍵の型:対称。
【0019】
プログラム鍵KProgram=プログラムのビデオ・データと音声データを暗号化するために使用される鍵。プログラム鍵KProgramは、特定のプログラム(例えば、テレビ・プログラム)にマッピングする。鍵の型:対称。
【0020】
セッション鍵KSession=データを対称に暗号化するために一時的な方法で使用される鍵。セッション鍵KSessionは、ライセンス・ファイル中のサービス鍵KServiceを暗号化するために使用される。鍵の型:対称。
【0021】
クライアントの暗号化鍵EDevice=クライアントの暗号化鍵の公開部分。この鍵は、該クライアントにメッセージを配信することを望む任意のデバイスに配布されることが出来る。鍵の型:非対称。
【0022】
クライアントの逆暗号化鍵DDevice=クライアントの暗号化鍵の秘密部分。この鍵は、クライアントには秘密のままである。鍵の型:非対称。
【0023】
認証鍵QDevice=クライアント−サーバ通信の期間それぞれの側を認証するために使用される認証鍵。鍵の型:キー−ハッシュド(Keyed−Hashed)メッセージ認証コード。
【図面の簡単な説明】
【0024】
【図1】図1は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステムのブロック図を図示する。
【図2】図2は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステムの別のブロック図を図示する。
【図3】図3は、プログラム鍵を使用するマルチメディア・コンテントの暗号化を図示する。
【図4】図4は、サービス鍵を使用するプログラム鍵の暗号化を図示する。
【図5】図5は、セッション鍵を使用するサービス鍵の暗号化を図示する。
【図6】図6は、クライアントの暗号化鍵を使用するセッション鍵の暗号化を図示する。
【図7】図7は、デジタル著作権管理(DRM)システムの例示的なアーキテクチャを図示する。
【図8】図8は、DRMシステムの動作のための方法を図示する。
【図9】図9は、クライアントの起動呼プロセス流れを図示する。
【図10】図10は、クライアントがライセンス・ファイルをフェッチするためのプロセス図を示す。
【図11】図11は、種々の鍵を用いるプログラム逆暗号化シーケンスを示す。
【図12】図12は、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するための方法を図示する。
【図13】図13は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するための方法を図示する。
【図14】図14は、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するためのシステムを図示する。
【図15】図15は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するためのシステムを図示する。
【図16】図示された図16は、無線デバイス又は無線端末の可能な構成の概念的なブロック図である。
【発明を実施するための形態】
【0025】
種々の実施形態が図面を参照してここに説明される。下記の説明では、説明の目的のために、多くの具体的な詳細が1又は複数の態様の完全な理解を提供するために説明される。しかしながら、そのような(諸)実施形態は、これ等の具体的な詳細がなくても実行されることが可能であることは明らかであると言える。他の例では、周知の構成及びデバイスがこれ等の実施形態を説明することを容易にするためにブロック図の形式で示される。
【0026】
本願で使用されるように、用語“コンポーネント”、“モジュール”、“システム”及び類似の用語は、コンピュータ関連の構成要素、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、或いは実行中のソフトウェア、を指すように意図される。例えば、コンポーネントは、プロセッサ上で走るプロセス、プロセッサ、オブジェクト、実行ファイル、実行のスレッド、プログラム、及び/又はコンピュータであることが出来るが、これ等に限定されない。説明のために、計算デバイス上で走るアプリケーションと該計算デバイスは、両者共にコンポーネントであることが出来る。1又は複数のコンポーネントが処理及び/又は実行のスレッド内に常駐出来る、そして、ある1つのコンポーネントは、1つのコンピュータ上に局在されることが出来る及び/又は2以上のコンピュータ間に分散されることも出来る。その上、これ等のコンポーネントは、種々のデータ構造をその上に記憶させた種々のコンピュータ可読媒体から実行することが出来る。該コンポーネントは、例えば、1又は複数のデータ・パケットを有する信号に従って局所プロセス及び/又は遠隔プロセスによって通信することが出来る(例えば、1つのコンポーネントからのデータは、局所システム、分散型システム内の別のコンポーネントと、及び/又は信号によってインターネットのようなネットワークをわたり他のシステムと、影響しあう)。
【0027】
更に、種々の実施形態が利用者デバイスに関連して本明細書で説明される。利用者デバイスは、又、システム、加入者ユニット、加入者局、移動局、移動デバイス、遠隔局、接続点、基地局、遠隔端末、接続端末、ハンドセット、ホスト、利用者端末、端末、利用者エージェント、無線端末、無線デバイス、又は利用者設備、とも呼ばれることが出来る。利用者デバイスは、セルラ電話機、コードレス電話機、シップ(Session Initiation Protocol)(SIP)電話機、無線ローカル・ループ(wireless local loop)(WLL)局、個人デジタル補助装置(Personal Digital Assistant)(PDA)、無線接続能力を有するハンドヘルド・デバイス、或いは無線モデムに接続される他の(複数の)処理デバイス、であることが出来る。
【0028】
その上、本明細書で説明される種々の態様又は特徴は、方法、装置、或いは標準プログラム技術及び/又は工業技術を使用する製造要綱、として与えられることが出来る。本明細書で使用される用語“製造要綱”は、任意のコンピュータ可読デバイス、キャリア、又は媒体から接続可能なコンピュータ・プログラムを含むように意図される。例えば、コンピュータ可読媒体は、磁気記憶デバイス(例えば、ハード・ディスク、フロッピー(登録商標)ディスク、磁気テープ…)、光学ディスク(例えば、コンパクト・ディスク(CD)、デジタル多用途ディスク(digital versatile disk)(DVD)…)、スマート・カード、及びフラッシュ・メモリ・デバイス(例えば、カード、スティック、キー・ドライブ…)を含むことが出来るがこれ等に限定されない。
【0029】
種々の実施形態が、多数のデバイス、コンポーネント、モジュール、及び類似のものを含むことが出来るシステムの用語で提示される。該種々のシステムは、追加のデバイス、コンポーネント、モジュール、等々を含むことが出来る、及び/又は図面に関連して説明されるデバイス、コンポーネント、モジュール、等々を必ずしも全て含まなくても良い、ということは理解及び認識されて然るべきである。これ等の手法の組合せも又使用されることが出来る。
【0030】
ここで図を参照して、図1は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステム100のブロック図を図示する。本明細書に記載される種々の実施形態は、マルチメディア・コンテントの安全な配信に影響する様々な異なる暗号作成技術の効率的使用を提供する暗号化鍵と逆暗号化鍵の軽量レイヤ化を提供する。該レイヤ化、すなわち、階層構造は、第1対称鍵を暗号化する利用者鍵に基づいており、該対称鍵は、次にサービス鍵を暗号化する。サービス鍵は、プログラム鍵を暗号化するために使用され、プログラム鍵は、最終的にマルチメディア・コンテントを暗号化する。
【0031】
幾つかの実施形態では、非対称暗号方式は、そこでは符合する秘密鍵によってのみ逆暗号化されることが出来る情報を暗号化するために公開鍵が使用され、対称鍵を安全に配送するために使用される。しかしながら、対称暗号方式が非対称暗号方式よりも計算機上で高速であるという2つのアルゴリズム間のプロセス上の差異のために、一旦対称鍵が転送されると、対称暗号方式が大部分の暗号化/逆暗号化を実行するために使用される。
【0032】
幾つかの実施形態に従えば、対称暗号方式がメッセージの信憑性を確認するために使用される。具体的には、ハッシュ・メッセージ認証符号−セキュア・ハッシュ・アルゴリズム1(Hash Message Authentication Code−Secure Hash Algorithm 1)(HMAC−SHA1)がメッセージ署名と検証のために利用されることが出来る。ハッシュ法は、システム100におけるエンティティを認証するために鍵とともに使用されることも出来る。ハッシュ・アルゴリズムは、任意の長さのメッセージを入力として受け取りそして固定長のハッシュ値を戻す。メッセージが容易には元に戻せないような(例えば、ハッシュ値から原メッセージに戻ることは容易ではない)方法でメッセージを固定長値に変換する一方向機能を与えるハッシュ・アルゴリズムである、セキュア・ハッシュ・アルゴリズムが使用される。更に、使用されるハッシュ法の技術は、極度に低い衝突確率(例えば、2つの異なるメッセージは同一ハッシュ値を生成するはずがない)を有するはずである。ハッシュ法は、エンティティを認証するために鍵とともに使用されることが出来る。
【0033】
ハッシュ法は、鍵の秘密部分を持つエンティティがメッセージをハッシュに暗号化したこと及び該メッセージが転送中に外部から読み取られなかったことを証明する、デジタル署名を創成するために非対称暗号方式を用いて使用されることが出来る。署名の別の形式は、メッセージ認証符号(Message Authentication Code)(MAC)のような対称鍵を用いて遂行されることが出来る。MACは、送信側と受信側の間で共有される秘密鍵を用いて計算されることが出来る。
【0034】
システム100は、例えば、サービス・コンテントを入力として受け取って多数の利用者に該コンテントを出力するMediaFLOシステムであることが出来る。本明細書で議論されるように、MediaFLOシステムは、該システムにおける秘密を保護するために対称暗号方式と非対称暗号方式の双方を使用することが出来る。一般に、2つのアルゴリズムの処理上の相違のために、非対称暗号方式は、対称鍵を安全に配送するために使用されることが出来る。対称暗号方式は、大部分の暗号化/逆暗号化を実行するために使用されることが出来る。非対称暗号方式は、メッセージ認証のために使用されることが出来る。
【0035】
システム100は、クライアント又は利用者デバイス102の中に含まれることが可能で、それは、例えばセルラ電話機、スマート・フォーン、ラップトップ、ハンドヘルド通信デバイス、ハンドヘルド計算デバイス、衛星無線通信装置、全地球測位システム、個人デジタル補助装置(PDA)、及び/又は無線通信ネットワークを介して通信するための他の適切なデバイスのような、移動デバイスであることが出来る。利用者デバイス102は、ライセンス管理サーバ104と無線で通信することが出来る。通信ネットワーク中には多数の利用者デバイス102とサーバ104が含まれることが出来るけれども、理解されるように、簡明を期するため単一のサーバ104と通信データ信号を送信する単一の利用者デバイス102が図示されている。
【0036】
利用者デバイス102は、非対称鍵対のような、鍵対108を生成するために構成されることが出来るプロセッサ106を含むことが出来る。鍵対108は、公開部分と秘密部分を含むことが出来る。非対称鍵対は、例えば、下記でさらに詳細に論じられる起動プロセス期間中に生成されることが出来る。鍵対108の公開部分は、マルチメディア・コンテントに対するデジタル著作権を取得するために及び/又はライセンス・サーバ104からライセンス・ファイルをフェッチするために、送信機/受信機110によってサーバ104に(例えば、無線で)送信されることが出来る。デジタル著作権は、該コンテントがデバイス上でいかにして使用されることが出来るかを説明することが出来る。例えば、コンテントに関連付けられたデジタル著作権は、該コンテントをただ見ること、特定の回数該コンテントを見ること、該コンテントの許容される保存、該コンテントが見られることが出来る回数、等々を制限することが出来る。送信機/受信機は、1つのコンポーネントとして図示されるけれども、それは2つ以上のコンポーネントで構成されることが出来るということは理解されるべきである。
【0037】
もし利用者デバイス102がマルチメディア・コンテントを取得するために認可されれば、サーバは、デバイスの送信機/受信機110により受信されることが出来る、1又は複数の対称鍵114を用いて応じることが出来る。記憶媒体112は、非対称鍵108、対称鍵114、或いは両方の鍵と関連付けられる情報を検索可能な書式で保持するために構成されることが出来る。例えば、利用者デバイス102で受信される第1対称鍵は、鍵対108の公開部分を使用して暗号化されることが出来る。幾つかの実施形態では、第1対称鍵は、ある期間の後鍵が無効にされる有効期間と関連付けられることが出来る逆暗号化方式(若しくは、別の無効化方式)を用いて暗号化されることが出来る。受信される第2対称鍵は、複数のコンテント(例えば、マルチメディア・コンテント)と関連付けられることが出来る。幾つかの実施形態では、第2対称鍵は、第1対称鍵を用いて暗号化されることが出来る。
【0038】
プロセッサ110は、対称鍵を逆暗号化するために構成されることが出来る。例えば、第1対称鍵は、非対称鍵対108の秘密部分を利用して逆暗号化されることが出来る。幾つかの実施形態に従えば、第1対称鍵と第2対称鍵114は、ライセンス・ファイル116中に含まれる。そのような実施形態では、プロセッサ110は、第2対称鍵をライセンス・ファイルから検索するためにそしてそれを第1対称鍵に基づき対称暗号方式を使用して逆暗号化するために、構成されることが出来る。ディスプレイ118は、利用者デバイス102と関連付けられることが出来て、プログラムを逆暗号化することは、媒体がディスプレイ上に可視化されることと実質的に同時に実行されることが出来る。
【0039】
幾つかの実施形態に従えば、第3対称鍵がサーバ104によって提供されることが出来、そして、多数のマルチメディア・コンテント中の第1のコンテント及び第2対称鍵と関連付けられることが出来る。プロセッサ110は、第2対称鍵を利用して第3対称鍵を逆暗号化するために及び第3対称鍵と関連付けられる多数のコンテントから第1コンテントを逆暗号化するために、構成されることが出来る。幾つかの実施形態では、第3対称鍵は、第1対称鍵を用いて暗号化(及び、逆暗号化)されることが出来る。
【0040】
その上あるいはそれに代わり、受信機110は、ヘッダ情報(例えば、利用者ID、EpochID)を含むライセンス・ファイル116の情報を受信するために、構成されることが出来る。ライセンス・ファイル116は、暗号化されたセッション鍵と少なくとも1つのサービス鍵を含むことも出来る。暗号化されたサービス鍵は、記憶媒体112中に検索可能な書式で記憶されることが出来る。プロセッサ110は、ライセンス・ファイル116中の受信されたヘッダ情報に一部は基づいて、プログラム或いはマルチメディア・コンテントを逆暗号化するために構成されることが出来る。逆暗号化は、幾つかの実施形態に従えば、プログラム或いはマルチメディア・コンテントがディスプレイ上に可視化されることと実質的に同時に行われることが出来る
本明細書中で使用されるメモリ、記憶装置、データベース、或いはその他の媒体への何れの参照が、不揮発性及び/又は揮発性メモリを含むことが出来る。適切な不揮発性メモリは、読み出し専用メモリ(read only memory)(ROM)、プログラム可能ROM(PROM)、電気的プログラム可能ROM(EPROM)、電気的消去書き込み可能ROM(EEPROM)或いはフラッシュ・メモリを含むことが出来る。揮発性メモリは、ランダム・アクセス・メモリ(random access memory)(RAM)を含むことが出来、それは外部キャッシュ・メモリとして働く。限定としてではなく説明として、RAMは、例えば、スタティックRAM(static RAM)(SRAM)、ダイナミックRAM(dynamic RAM)(DRAM)、シンクロナスDRAM(SDRAM)、ダブル・データ・レート(double data rate)SDRAM(DDR SDRAM)、エンハンスト(enhanced)SDRAM(ESDRAM)、シンクリンク(Synchlink)DRAM(SLDRAM)、ラムバス・ダイレクト(Rambus direct)RAM(RDRAM)、ダイレクト・ラムバス・ダイナミック(direct Rambus dynamic)RAM(DRDRAM)、及びラムバス・ダイナミック(Rambus dynamic)RAM(RDRAM)のような、多数の形態で利用可能である。
【0041】
図2は、マルチメディア・コンテント配信のための効率的鍵階層構造のためのシステム200の別のブロック図を図示する。システムは、1又は複数のクライアント或いは利用者デバイス202(例えば、移動デバイス)及び、ライセンス・サーバ或いは認証デバイスであることが出来る1又は複数のサーバ204を含む。利用者デバイス202は、秘密部分208と公開部分210とを含むことが出来る非対称鍵対206を生成するために構成されることが出来る。鍵対206の公開部分210は、利用者デバイス202の利用者が利用者デバイス202上の申し込んだマルチメディア・コンテントへの複数の権利を取得するためにサーバ204に送信されることが出来る。
【0042】
サーバ204は、利用者デバイス202から公開部分210を、例えば(送信機/受信機対212として示される)受信機212により、受信するために構成されることが出来る。サーバ204は、利用者デバイス202の利用者により申し込まれたコンテント216と関連付けられることが出来る少なくとも1つのサービス識別子214を(利用者デバイス202或いは別のソースから)受信するため又は要求するために構成されることも出来る。
【0043】
サーバ204と関連付けられるプロセッサ218は、マルチメディア・コンテントへの接続を取得するために利用者デバイス202により利用されることが出来る種々の対称鍵を生成するために構成されることが出来る。例えば、プロセッサ218は、第1対称鍵と第2対称鍵220とを生成すること及び第2対称鍵を用いて第1対称鍵を暗号化することが出来る。第2対称鍵は、非対称鍵対206の公開部分208を使用して暗号化されることが出来る。幾つかの実施形態に従えば、第1対称鍵は、利用者によって申し込まれたコンテント216と関連付けられる。第1対称鍵を暗号化するために、プロセッサ218は、利用者により申し込まれたコンテント216と関連付けられる1又は複数のサービス識別子214を検索するために及び該検索された1又は複数のサービス識別子214に基づいて第2対称鍵を検索するために、構成されることが出来る。幾つかの実施形態に従えば、クライアントは、サーバ204又は別のデバイスによって該複数の対称鍵の暗号化の前に認証されることが出来る。対称鍵220は、送信機212により利用者デバイスに伝達されることが出来る。
【0044】
幾つかの実施形態に従えば、サーバ204は、利用者デバイス202からライセンス・ファイル222の要求を受信する。該要求は、クライアント暗号化鍵208と申し込まれたサービスのリスト214を含むことが出来る。プロセッサ218は、申し込まれたサービス214に関連付けられる暗号化されたセッション鍵220を(対称暗号方式によって)生成するために及びクライアントの暗号化鍵208を用いて暗号化される暗号化されたセッション鍵220を(非対称暗号方式によって)生成するために、構成されることが出来る。サーバ204(又は、プロセッサ218)と関連付けられる記憶媒体224は、該暗号化されたサービス鍵及び該要求されたライセンス・ファイル222中に該少なくとも1つの暗号化されたセッション鍵を記憶すること又は保持することが出来る。ライセンス・ファイル222は、認証された利用者デバイス202へ送られることが出来る。
【0045】
図3は、プログラム鍵を使用するマルチメディア・コンテントの暗号化300を図示する。特定のプログラム(平文プログラム302)のためのマルチメディア・コンテントは、対称鍵暗号化304を用いる対称暗号方式を使用しプログラム鍵KProgram306によって暗号化される。平文は、暗号化操作が適用される前のデータに与えられる名称であり、そして、暗号文は、暗号化操作が適用された後のデータに与えられる名称である。プログラム鍵KProgram306は、それ自身サービス鍵KService(示されない)によって暗号化され、そして暗号化されたプログラム鍵KProgram306は、プログラムKProgram[Program]308と共に配送される。プログラミングは、メタデータ部分とコンテント部分とを含むことが出来る。コンテント部分は、プログラム鍵KProgram306により暗号化される。コンテント部分についての情報(例えば、コンテントのデジタル表示、セキュリティ又は権利管理情報、等々)を含む、該プログラミングのメタデータ部分は、暗号化されたプログラム鍵KProgram306を含む。
【0046】
さて図4を参照すると、サービス鍵を使用するプログラム鍵の暗号化400が図示される。プログラム鍵KProgram402は、対称鍵暗号化406を使用して対応するサービス鍵KService404により暗号化される。これは暗号化されたプログラム鍵(KService[KProgram])408を作る。それぞれのプログラム鍵KProgram402を対応するサービス鍵KService404を使用して防護することによって、単一のプログラムが異なる複数のサービスに対して再利用されることが出来て、該異なる複数のサービスに対して該プログラムを暗号化するために使用される該プログラム鍵は、複製されるべき唯一のデータである。
【0047】
限定目的ではなく例示目的のために、第1利用者“A”は、ESPNサービスに申し込み、そして第2利用者“B”は、CNNサービスとESPNサービス両方に申し込んでいる。両サービスで“放送”されるべきプログラム、例えば、商業広告(Ad)プログラムは、Adプログラム鍵KServiceAdを用いて暗号化され、暗号化されたAdプログラムKProgramAd(Ad Program)を創成する。Adプログラム鍵KProgramAdは、ESPNサービス鍵KServiceESPNによって暗号化され、ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)を創成する。Adプログラム鍵KProgramAdは又、CNNサービス鍵KServiceCNNによっても暗号化され、CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)を創成する。ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)は、暗号化されたAdプログラムKProgramAd(Ad Program)と共に第1利用者Aと第2利用者Bとに配信される。第1利用者Aと第2利用者Bは、ESPNサービス鍵KServiceESPNを使用することによってKProgramAdが検索された後に、ESPNサービス中のAdプログラムに接続することが出来る。しかしながら、Adプログラムを暗号化するために同一の鍵(KProgramAd)が使用されるという理由で、該Adプログラムは、暗号化されたAdプログラムKProgramAd(Ad Program)の別の複製をCNNサービスに対して配布することを必要とせずに、CNNサービスを介して第2利用者Bによっても接続可能である。CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)のみが配布されるべきである。このようにして、Adプログラムは、利用者が(ESPNサービス暗号化されたAdプログラム鍵KServiceESPN(KProgramAd)からAdプログラム鍵KProgramAdを検索すること/逆暗号化することによって)ESPNサービスに接続しようと、(CNNサービス暗号化されたAdプログラム鍵KServiceCNN(KProgramAd)からAdプログラム鍵KProgramAdを検索すること/逆暗号化することによって)CNNサービスに接続しようと、第2利用者Bによって逆暗号化されることが出来る。
【0048】
図5は、セッション鍵を使用するサービス鍵の暗号化500を図示する。サービス鍵KService502は、対称鍵暗号化方式506を用いてセッション鍵KSession504によって暗号化され、暗号化されたサービス鍵(KSession[KService])508を創成する。幾つかの実施形態では、セッション鍵KSession504は、複数のサービス鍵KService502を扱う、ここで該複数のサービス鍵KService502は、ライセンス・ファイル510で配信される。このようにして、特定の利用者に提供されるサービスは、これは該利用者によって申し込まれたサービスに基づいていることが出来、ライセンス・ファイル510により定義される。その上、それぞれのライセンス・ファイル510及びライセンス・ファイル510中のサービス鍵KService502は、ある事前に決定された期間有効であることが出来、その期間は“エポック(Epoch)”と呼ばれることが出来る。このような事前に決定された期間の後、ライセンス・ファイル510及びライセンス・ファイル510中のサービス鍵KService502は、期限満了とされる或いは失効させられる。このような鍵の失効は、認可されてない利用者に知られるようになった鍵がもたらす可能性があるシステム損壊を阻止する或いは緩和することが出来る。所与のエポックのためのサービス鍵は、視聴時期が所与のエポックで規定されていた、コンテントの失効時刻の後デバイスから除去されるべきである。
【0049】
サービス鍵KServiceは、クライアントの暗号化鍵EDeviceを使用して非対称暗号化方式により暗号化されることが出来るけれども、この暗号化方法(及びその関連付けられる逆暗号化方法)は、遅いことがあり得る。そこで、セッション鍵KSessionがクライアント/ライセンス/エポックそれぞれに対して創成されることが出来て、該セッション鍵KSessionのみが非対称暗号方式を使用して保護される。利用者によって選択されている“チャネル”の表示が速くなるようにクライアント上でサービス鍵KServiceの逆暗号化が速くなるために(例えば、利用者が“チャネル・サーフィン”している場合該利用者によって選択されたサービスと関連付けられるプログラムを逆暗号化するために必要とされる特別なプログラム鍵の逆暗号化は速いものであるべき)、全てのサービス鍵KServiceは、そのエポックに対して単一のセッション鍵KSessionによって保護される。該セッション鍵KSessionは、サービス鍵KServiceを保護するために対称暗号方式を実行する。この方法において、サービス鍵KServiceは、それ等が対称暗号方式を使用してクライアント上に暗号化された形式で記憶されるので、可能な限り長く保護される。幾つかの実施形態では、暗号化されたセッション鍵KSessionは、クライアントが起動されるのと実質的に同時に、(非対称暗号方式を使用して)逆暗号化され、そして該逆暗号化されたセッション鍵KSessionは、クライアント上でキャッシュに蓄えられ、従ってそれは、毎回逆暗号化される必要はなく(非対称暗号方式よりも比較的速い、対称暗号方式を使用して)1又は複数のサービス鍵KServiceを逆暗号化するために使用されることが出来る。
【0050】
図6は、クライアント暗号化鍵を使用するセッション鍵の暗号化600を図示する。セッション鍵KSession602は、非対称鍵暗号化方式606を使用してクライアントへの配送のためにクライアントの即ちデバイスの暗号化鍵EDevice604、それは公開鍵である、によって暗号化される。暗号化されたセッション鍵(EDevice[KSession])が配送され、そして該クライアントは、クライアントの逆暗号化鍵DDevice、それは秘密鍵である、を使用してセッション鍵KSession602を逆暗号化することが出来る。
【0051】
さて図7を参照すると、デジタル著作権管理(DRM)システム700の例示的なアーキテクチャが図示される。幾つかの実施形態では、異なる様々な型の鍵のレイヤ化、即ち、階層構造は、セッション鍵KSessionを暗号化するクライアント暗号化鍵EDeviceに基礎を置き、該セッション鍵KSessionは、次にサービス鍵KServiceを暗号化する。更に、該サービス鍵KServiceは、マルチメディア・コンテントを保護するために使用されるプログラム鍵KProgramを暗号化するために使用される。このようにして、本明細書に記載されるDRMシステム700は、コンテントのデジタル著作権を保護するために鍵の階層構造を利用することが出来る。幾つかの実施形態では、高度暗号化標準−カウンタ(Counter)(AES−CTR)が対称鍵アルゴリズムとして使用される、ここにAESは、米連邦情報処理規格(US Federal Information Processing Standards)(FIPS)PUB197として米国連邦標準技術局(the National Institute of Standards and Technology)(NIST)により採用された暗号技術規格である。
【0052】
DRMシステム700に含まれるものは、クライアント702(システム700中に存在可能な全てのクライアントの代表)、DRMサーバ704、ライセンス鍵サーバ706、及びサブスクリプション・サーバ708である。幾つかの実施形態では、1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールは、基盤になる暗号化/逆暗号化コンポーネント及びハッシング/認証コンポーネントを提供して、クライアント702、DRMサーバ704、ライセンス鍵サーバ706、及びサブスクリプション・サーバ708で使用される。その上、該1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールは、ライセンスの検索/ダウンロード機能及びクライアント702のための安全なファイル−記憶機能を提供することも出来る。そのような記憶装置は、クライアント鍵データベース710と関連付けられることが出来る。
【0053】
該1組の暗号方式のシステム・モジュール及びDRMシステム・モジュールによって提供される機能は、異なる一般的な範疇に分割されることが出来る、それは公開鍵暗号化方式機能、メディア暗号法機能、及び認証機能を含むことが出来る。異なる範疇の機能は、互いに影響し合って、そのような機能を、安全なファイル記憶として、乱数発生(random number generation)(RNG)として、及び、組込みファイル・システム(embedded file system)(EFS)における鍵の検索と記憶として、提供する。例えば、認証機能は、複数の認証鍵を生成するための、及び、1つの認証鍵を使用してクライアントとサーバにおいてメッセージに署名及び検証するための、機能を提供する。認証機能は、又該認証鍵をEFS中に記憶してクライアント702で必要とされる場合、それを検索する機能も提供する。
【0054】
幾つかの実施形態では、署名と検証のために使用されるアルゴリズムは、HMAC、鍵付きハッシュ・アルゴリズムであり、そのHMACは、幾つかの実施形態では、メッセージ認証コードを生成するためにメッセージ・ダイジェスト・バージョン5(Message Digest Version 5)(MD5)とともに認証鍵を使用する。例えば、クライアント/サーバ通信の期間に使用される認証鍵QDeviceは、鍵付きハッシュ・メッセージ認証コード(HMAC)であって、それは秘密鍵との組み合わせで暗号学的ハッシュ関数を使用して計算されるメッセージ認証コードの1つの型である。何れかのMACを用いるので、該コードは、データの完全性とメッセージの真正性の双方を実質的に同時に検証するために使用されることが出来る。メッセージ・ダイジェスト・アルゴリズム5(MD5)又はセキュア・ハッシュ・アルゴリズム1(SHA−1)のような任意の繰り返し暗号学的ハッシュ関数がHMACの計算において使用されることが出来る、その結果、MACアルゴリズムは、従ってMMAC−MD5又はHMAC−SHA−1と呼ばれる。HMACの暗号方式としての強さは、基盤となるハッシュ関数の暗号方式の強さ及び鍵の大きさと品質に依存する。
【0055】
メディア暗号法の機能の範疇は、プログラム鍵KProgram、サービス鍵KService、及びセッション鍵KSessionを生成するための機能を提供し、そしてこれ等の鍵を使用してメディアと鍵を暗号化しそして逆暗号化する。幾つかの実施形態では、該機能は、暗号方式のコアによって提供される。全ての暗号化関数と逆暗号化関数は、セッション鍵KSessionの暗号化/逆暗号化に対する場合を除いて、対称暗号方式を用いて実行されることが出来る。本明細書で論じられるように、セッション鍵KSessionの暗号化/逆暗号化は、非対称暗号方式を使用して実行される。
【0056】
クライアント702は、起動プロセスの一部として公開鍵/秘密鍵対を生成することが出来る。幾つかの実施形態では、公開鍵暗号方式の機能範疇と認証の機能範疇は、クライアント702が自身をDRMシステム700におけるサーバに登録するプロセスである、クライアントの起動呼プロセス中に使用される。クライアントの起動呼プロセスは、図9を参照して下記で更に詳細に論じられる。
【0057】
図8は、DRMシステムの動作のための方法800を図示する。802では、公開鍵/秘密鍵対が生成される。鍵対のこのような生成は、クライアントが起動されるのと実質的に同時に行われることが出来て、該鍵対は、クライアント上に記憶されることが出来る。公開鍵は、サブスクリプション・サーバに通信されることも出来る。クライアントは、公開鍵/秘密鍵対の生成を介して暗号学的アイデンティティの所有者であると考えられることが出来る。本明細書で論じられるように、公開鍵の提供は、クライアントへの通信の安全なチャネルを提供する。具体的には、公開鍵暗号方式の機能は、クライアント暗号化鍵EDeviceとクライアント逆暗号化鍵DDeviceを生成する機能を提供し、そしてそれ等の鍵をクライアント上に記憶する。幾つかの実施形態では、クライアント暗号化鍵EDeviceは、公開鍵であり、そしてクライアント逆暗号化鍵DDeviceは、秘密鍵であって、これらの鍵は、公開鍵/秘密鍵対を構成する。このようにして、該起動プロセスは、これ等の鍵を生成させ、EFS中に配置させ、そしてクライアント鍵の公開部分EDeviceをサブスクリプション・サーバ上のクライアント鍵データベース中に組み込まれるようにする。
【0058】
804では、クライアントは、公開鍵EDeviceを送ることによってサブスクリプション・サーバに接続することが出来、そしてサブスクリプション・サーバは、クライアント鍵データベースを更新するために該鍵をライセンス・サーバに送ることが出来る。該鍵対のこの公開部分は、ライセンス・ファイル或いはクライアントへ送られる他の秘密情報を暗号化するために後に使用される。起動プロセスは、又利用者識別子(user identifier)(UserID)がクライアントに割り当てられるようにする。クライアントのクライアント暗号化鍵EDeviceは、この特別なUserIDに関連付けられる。幾つかの実施形態では、ライセンス鍵サーバとクライアントの全ての更なる通信は、正しいライセンスを検索するためにこのUserIDを使用する。
【0059】
クライアントが認証された後で又はそれと実質的に同時に、サブスクリプション・サーバは、DRMサーバにクライアントに関する認証鍵QDeviceの要求を送る。DRMサーバは、認証鍵QDeviceを生成して、それをサブスクリプション・サーバに戻す。サブスクリプション・サーバは、EDeviceを用いて認証鍵QDeviceを暗号化して、該暗号化された認証鍵EDevice(QDevice)をクライアントに返送する。クライアントは、該サーバを認証の後、該暗号化された認証鍵EDevice(QDevice)をクライアントのEFS中に記憶する。クライアントとサーバは、互いからのメッセージを認証するために使用されることが出来る認証鍵を今や共有する。一旦クライアントが起動されてしまうと、DRMシステム中の諸サービスに接続するために必要とされるライセンス・ファイルは、クライアントによって取得されることが出来る。幾つかの実施形態では、クライアントが該メディア・コンテントに接続し続けるために、サービス鍵の新セットを含む新ライセンス・ファイルとKServiceは、事前に決定された間隔(例えば、エポックの有効期限)で取得される。
【0060】
806では、ライセンス鍵サーバは、ライセンス・ファイルをフェッチするためにクライアントにより接続される。クライアントがライセンス・ファイルをフェッチするためのプロセス図は、図10を参照して下記で説明される。一旦取得されると、ライセンス・ファイルは、クライアントにおいてその場所に記憶されることが出来て、後でそこに記憶されたサービス鍵KServiceとセッション鍵KSessionとの検索のために用いられる。要求を処理するために、808において、ライセンス鍵サーバは、クライアントが真正且つ認可されたクライアントであるかどうかを、サブスクリプション・サーバに連絡することにより、及びクライアントのクライアント暗号化鍵EDeviceと認証鍵QDeviceと更にクライアントにより申し込まれているサービスのリスト(ServiceIDs)とをUserIDに基づき検索することによって、判定することが出来る。このようにして、サブスクリプション・サーバは、クライアントの認証情報をクライアントの認証鍵QDeviceの形式で提供する。一旦これ等の鍵が検索されると、ライセンス鍵サーバは、クライアントのクライアント暗号化鍵EDeviceを使用して署名を検査することが出来る。
【0061】
もしクライアントが認証されるならば、次にライセンス・ファイルの要求がDRMサーバに転送される。このようにして、DRMサーバは、クライアントが認証され認可された後で接続されるだけである。具体的には、810において、クライアントのクライアント暗号化鍵EDeviceとクライアントにより申し込まれているサービスのリストがDRMサーバに送られる。DRMサーバは、該ライセンス・ファイルに対するセッション鍵KSessionを生成し、そして該セッション鍵KSessionを使用して、クライアントにより申し込まれているサービスに対する全てのサービス鍵KServiceを、ServiceIDsによって決められたように、暗号化する。サービス鍵KServiceの暗号化は、対称暗号方式によって実行される。DRMサーバは、クライアントのクライアント暗号化鍵EDeviceを使用してセッション鍵KSessionも暗号化する。上述で論じられたように、この暗号化は、非対称暗号方式を使用して実行される。
【0062】
812では、暗号化されたセッション鍵KSessionと暗号化されたサービス鍵KServiceがライセンス鍵サーバによってライセンス・ファイル中に、その他のヘッダ情報と共に記憶される。該ヘッダ情報は、例えば、UserID、その間サービス鍵KServiceが有効であるEpochID、及びエポックの開始と終了時間、である。このようにして、複数のライセンス・ファイルが事前に決定された期間においてクライアントのために生成されることが出来て、それぞれのライセンス・ファイルは、その特別なエポックの間有効であるサービス鍵KServiceを、該ライセンス・ファイルに対して生成されたセッション鍵KSessionを用いて暗号化されたサービス鍵KServiceと共に含むことが出来る。例えば、利用者がサブスクリプションを変更すると、クライアントは、変更された申し込まれたプログラミングと関連付けられるサービス鍵KServiceの変更されたセットを入手するはである。サービス鍵KServiceのこの変更されたセットは、新しく生成され(且つ暗号化された)セッション鍵KSessionを含む新しいライセンス・ファイルと共に配送される。
【0063】
例示的なライセンス・ファイルが下記に示される。
【表1】
【0064】
814では、ライセンス・ファイルがライセンス鍵サーバによってクライアントへ返送される。幾つかの実施形態では、最終的な結果は、クライアントにライセンス・ファイル(複数のサービス鍵KServiceを含む)と上述のように(該エポックの間)安全化されたセッション鍵KSessionとを提供することである。
【0065】
816では、プログラムを逆暗号化するために、クライアントは、逆暗号化されたプログラム鍵KProgramを求めるための鍵をフェッチするために関数呼出しにおいてEpochID、ServiceID、ProgramID及び暗号化されたプログラム鍵KProgramを使用する。例えば、EpochID Y、ServiceID X、ProgramID Z及び暗号化されたプログラム鍵KServiceX(KProgramZ)が与えられると、逆暗号化されたプログラム鍵KProgramZが求められることが出来る。プログラム逆暗号化のシーケンスは、図11を参照して下記で説明される。
【0066】
818では、クライアントは、該メディア・コンテントを逆暗号化して再生する。幾つかの実施形態では、プログラム鍵KProgramを使用するコンテントの実際の対称暗号方式逆暗号化は、該メディアがクライアント上のプレーヤ(player)によってディスプレイ上に可視化されるのと実質的に同時に行われる。暗号化されたプログラム・ファイル名とプログラム鍵KProgramは、次にインターフェースを使用してプレーヤに供給される。メディアの逆暗号化は、仮想ファイルI/Oインターフェースを利用することが出来、それは暗号方式のコア・インプリメンテーションの周りに仮想ファイルI/Oラッパーを提供しそしてプレーヤへの逆暗号化プロセスを単純化する。
【0067】
図9は、クライアントの起動呼プロセス流れ900を図示する。公開鍵暗号方式の機能は、クライアント鍵を生成する機能を提供し、クライアント鍵を使用してセッション鍵を暗号化及び逆暗号化することが出来る。幾つかの実施形態では、公開鍵暗号方式の機能は、暗号化されたプログラム鍵を逆暗号化するための且つ特定のエポックの間セッション鍵をキャッシュに蓄えるための、ラッパー機能も又提供する。幾つかの実施形態では、クライアント鍵は、公開鍵と秘密鍵双方を有する、ロン・リベスト(Ron Rivest)、アディ・シャミア(Adi Shamir)、レン・エーデルマン(Len Adleman)(RSA)によって説明された方式に基づくアルゴリズムを使用して生成される。
【0068】
DRMクライアント902は、例えば、フォーン・インフォ・ハッシュ(Phone Info Hash)906を介してサブスクリプション・サーバ904にクライアント暗号化鍵EDeviceを伝達する。サブスクリプション・サーバ904は、908において、利用者デバイスを認証することが出来て、そしてクライアント902が認証されるのと実質的に同時に、912において、クライアント暗号化鍵EDeviceをDRMサーバ910に転送することが出来る。DRMサーバ910は、914において、認証鍵EDevice(QDevice)及び認証鍵QDeviceに関連付けられるクライアント暗号化鍵を用いて応答する。認証鍵EDevice(QDevice)に関連付けられるクライアント暗号化鍵及びフォーン・インフォ・ハッシュは、916において、DRMクライアント902に送られる。
【0069】
クライアントがライセンス・ファイルをフェッチするためのプロセス図1000が図10に示される。幾つかの実施形態では、DRMクライアント1002は、ライセンス鍵サーバに利用者の識別子(例えば、UserID)及びクライアント1002が該ライセンス・ファイルをフェッチすることを望むエポックの識別子(例えば、EpochID)を提供することによって、ライセンス鍵サーバ1004からライセンス・ファイルをフェッチする。利用者識別子とエポック識別子は、1006において、ライセンス要求と共に送られる。その上、クライアント1002は、ライセンス鍵サーバ1004にクライアント1002のクライアント逆暗号化鍵DDeviceを用いて署名されたクライアント1002の認証鍵QDeviceを提供することが出来る。
【0070】
ライセンス鍵サーバ1004は、1010において、サブスクリプション・サーバ1008からのクライアント認証を要求する。サブスクリプション・サーバ1008は、1012において、クライアント認証(例えば、サービスIDs、EDevice、QDevice)の要求に応答することが出来る。クライアント1002は、1014において、認証され、そしてサービス鍵(例えば、サービスIDS、EpochID、EDevice)の要求が、1018において、DRMサーバ1016に送られる。
【0071】
1020において、暗号化されたセッション鍵KSession及び暗号化されたサービス鍵KServiceがサーバ1016によって生成される。1022では、サービス鍵(暗号化されたセッション鍵KSession、暗号化されたサービス鍵KService)の要求への応答がライセンス鍵サーバ1004に送られる。ライセンスの要求への応答が、1024において、クライアント1002に送られる。一旦取得されると、1026では、ライセンス・ファイルは、クライアント1002においてその場所に記憶されることが出来て、そこに記憶されたサービス鍵KServiceとセッション鍵KSessionの後の検索のために用いられる。
【0072】
図11は、種々の鍵を用いるプログラム逆暗号化シーケンス1100を図示し、ここでは、内部的には、クライアントは、EpochIDに関連付けられるエポックに対して要求されるライセンスが既にフェッチされたことを仮定する。クライアントは、1102において、過去に記憶されたクライアント逆暗号化鍵DDeviceを使用してライセンス・ファイル中のセッション鍵EDevice(KSession)を逆暗号化し、1104において、該逆暗号化された(平文の)セッション鍵KSessionを使用してライセンス・ファイル中のサービスXに対するサービス鍵KSession(KServiceX)を逆暗号化し、そして、1106において、サービスXに対する逆暗号化されたサービス鍵KServiceXを使用してプログラムZに対する暗号化されたプログラム鍵KServiceX(KProgramZ)を逆暗号化する。クライアントは、次に1108において、プログラムの逆暗号化のために平文でのプログラム鍵KProgramZを返す。このようにして、幾つかの実施形態では、クライアントにおいてプログラムを逆暗号化するために、クライアントは、利用者がシステム内で起動されそして適切なクライアント鍵ファイル(例えば、クライアント暗号化鍵EDeviceとクライアント逆暗号化鍵DDevice)を有する、と仮定する。クライアントは、又該特定のエポックに対するライセンス・ファイルがクライアントにダウンロード完了していると仮定する。もしこれらの要求が有効でなければ、DRMシステムは、誤りを通報することが出来る。もし(クライアントがシステム内で起動された時に生成された鍵ファイルとは別の)異なる鍵ファイルがクライアント上に存在するならば、誤りのない逆暗号化が起きても出力データは、有用なデータではない。
【0073】
クライアント上で多数のコンテントのためのデジタル著作権管理を実行するための方法1200が図12に図示される。説明を単純にする目的で、本明細書で開示される方法は、一連のブロックとして示されそして説明されるけれども、請求項に記載される内容は、ブロックの番号や順序によって限定されないことが理解されそして認識されるべきである、というのは、ある複数のブロックは、異なる順番で及び/又は本明細書で図示され説明されるものとは異なるブロックを並列的に用いて生じることが可能だからである。その上、必ずしも全ての図示されたブロックが下記に記載される方法を実現するために必要とされるわけではない。該ブロックに関連付けられる機能は、ソフトウェア、ハードウェア、それ等の組合せ或いはその他任意の適切な手段(例えば、デバイス、システム、プロセス、コンポーネント)によって実現されることが出来ることが認識されるべきである。加えて、本明細書全体に亘って開示される方法は、このような方法を種々のデバイスに輸送し移転することを容易にする製品上に、記憶されることが出来るということが更に認識されるべきである。当業者等は、方法が一連の相互に関係する状態又は事象として、例えば、ステート・ダイアグラムで、別の形で表わされることが出来ることを理解し認識する。
【0074】
方法1200は、1202で開始し、そこでは、例えば、起動プロセスの一部として、非対称鍵対が生成される。非対称鍵対の生成は、公開鍵又は公開部分及び秘密鍵又は秘密部分を生成することを含むことが出来る。1204では、非対称鍵対の公開部分がサーバ、デジタル著作権管理機関、ライセンス・サーバ、或いはその他(本明細書でサーバと呼ばれる)、に伝送される。サーバは、第1対称鍵と第2対称鍵を暗号化して、該暗号化された対称鍵をクライアントに転送することが出来る。1206では、第1対称鍵と第2対称鍵がクライアントに受信される。
【0075】
第1対称鍵は、非対称鍵対の公開部分を用いて暗号化されることが出来る。幾つかの実施形態では、第1対称鍵は、事前に決定された間隔の間有効である逆暗号化方式(例えば、時間あるいは間隔を測定するための他の方式)を用いて暗号化されることが出来る。第2対称鍵は、多数のコンテントに関連付けられることが出来る。幾つかの実施形態では、第2対称鍵は、第1対称鍵を用いて暗号化されることが出来る。
【0076】
幾つかの実施形態では、1208において、方法1200は継続することが出来て、そこでは、第1対称鍵、第2対称鍵、或いは両対称鍵が逆暗号化される。例えば、第1対称鍵は、非対称鍵対の秘密部分を使用して逆暗号化されることが出来る。もし第2対称鍵が第1対称鍵を用いて暗号化されているならば、第2対称鍵の逆暗号化は、第1対称鍵に基づいて行われることが出来る。
【0077】
1210では、第3対称鍵を受信することが幾つかの実施形態に従い方法1200に含まれることが出来る。第3対称鍵は、多数のコンテントに関連付けられることが出来る。サーバは、第1対称鍵を用いて第3対称鍵を暗号化することが出来る。1208において、方法1200は継続し、そこでは、少なくとも第3対称鍵は、第1対称鍵に基づいて逆暗号化されている。
【0078】
幾つかの実施形態に従い、第1対称鍵と第2対称鍵は、ライセンス・ファイルの中に含まれることが出来る。もしライセンス・ファイルの中に含まれていれば、1208において、第1対称鍵に基づいて行われる第2対称鍵を逆暗号化することは、該ライセンス・ファイルから第2対称鍵を検索すること及び対称暗号方式を用いて第2対称鍵を逆暗号化することを含む。幾つかの実施形態では、多数のコンテント中の第1コンテントと第2対称鍵は、第3対称鍵と関連付けられる。第3対称鍵は、逆暗号化された第2対称鍵を用いて逆暗号化されることが出来る、そして第3対称鍵と関連付けられる多数のコンテントから第1コンテントが逆暗号化されることが出来る。
【0079】
図13は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するための方法1300を図示する。方法1300は1302で開始し、そこでは非対称鍵対の公開部分がクライアントから受信される。1304では、第1対称鍵が第2対称鍵を使用して暗号化される。第1対称鍵は、多数のコンテントに関連付けられることが出来る。第1対称鍵を暗号化することは、クライアントによって申し込まれている多数のコンテントに関連付けられる多数のサービス識別子(ID)を検索することを含む。第1対称鍵は、該検索された多数のサービスIDに基づいて検索されることが出来る。幾つかの実施形態では、第1対称鍵を暗号化する前に、1306において、クライアントが認可される。方法1300は1308へと継続し、そこでは、第2対称鍵は、非対称鍵対の公開部分を用いて暗号化される。幾つかの実施形態に従い、第1対称鍵と第2対称鍵は、1310において、クライアントに転送されることが出来る。
【0080】
さて図14を参照すると、クライアント上で多数のコンテントのためのデジタル著作権管理を実行するためのシステム1400が図示される。システム1400は、機能ブロックとして表わされ、それは、プロセッサ、ソフトウェア或いはそれ等の組合せ(例えばファームウェア)により実現される機能を表す機能ブロックであることが出来る。
【0081】
システム1400は、公開鍵と秘密鍵を生成するために構成されることが出来る生成モジュール1402を含む。それ等の鍵は、非対称暗号方式を利用して生成されることが出来る。該公開鍵をライセンス・ファイルの要求と共にライセンス・サーバに伝達するために構成されることが出来る伝達モジュール1404も又含まれる。受信モジュール1406は、要求されたライセンス・ファイルを受信するために構成されることが出来る。該ライセンス・ファイルは、例えば、サーバから受信されることが出来る。ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するために構成されることが出来る逆暗号化モジュール1408も又含まれる。幾つかの実施形態に従えば、システム1400は、ライセンス・ファイルに含まれるサービス鍵を記憶するために構成されることが出来る記憶モジュール(示されない)も又含むことが出来る。幾つかの実施形態に従えば、マルチメディア・コンテントが逆暗号化されるのと実質的に同時にディスプレイ・スクリーン上にメディアを可視化するために構成されることが出来る可視化モジュール(示されない)がシステムに含まれる。
【0082】
図15は、サーバ上で多数のコンテントのためのデジタル著作権管理を実行するためのシステム1500を図示する。システム1500は、機能ブロックとして表わされ、それはプロセッサ、ソフトウェア或いはそれ等の組合せ(例えばファームウェア)により実現される機能を表す機能ブロックであることが出来る。
【0083】
システム1500は、クライアントから非対称鍵対の少なくとも一部を受信するために構成されることが出来る受信モジュール1502を含む。受信される部分は、公開部分であることが出来る。第1対称鍵と少なくとも第2対称鍵を創成するために構成されることが出来る創成モジュール1504も又含まれる。第1対称鍵は、複数のコンテントに関連付けられることが出来る。システム1500は、少なくとも第2対称鍵を暗号化するために第1対称鍵を利用するために構成されることが出来る利用モジュール1506を更に含むことが出来る。非対称鍵対の少なくとも一部を用いて第2対称鍵を暗号化するために構成されることが出来る暗号化モジュールも又含まれる。幾つかの実施形態に従えば、第1対称鍵と少なくとも第2対称鍵を創成する前にクライアントを認証するために構成されることが出来る認証モジュール(示されない)がある。幾つかの実施形態に従えば、暗号化された第1対称鍵と暗号化された第2対称鍵とをクライアントに伝送するために構成されることが出来る伝送モジュール(示されない)がある。
【0084】
さて図16を参照すると、無線デバイス又は無線端末1600の可能な構成の概念的なブロック図が図示される。当業者等が認めるように、端末1600の精確な構成は、具体的なアプリケーションと全体的な設計上の制約に依存して変わり得る。プロセッサ1602は、本明細書で開示されたシステムと方法を実装することが出来る。
【0085】
端末1600は、アンテナ1606に接続されたフロントエンド・トランシーバ1604を用いて与えられることが出来る。フロントエンド・トランシーバ1604は、データ通信を受信するために構成される。ベース・バンド・プロセッサ1608は、該トランシーバ1604に接続されることが出来る。ベース・バンド・プロセッサ1608は、ソフトウェアに基づくアーキテクチャ又は他の型のアーキテクチャを用いて実装されることが出来る。マイクロプロセッサは、プラットフォームとして利用されることが出来て、諸機能の中でもとりわけ、制御機能と全体的なシステム管理機能を提供するソフトウェア・プログラムを走らせる。デジタル信号プロセッサ(digital signal processor)(DSP)は、組込み通信ソフトウェア層とともに与えられることが出来、それはマイクロプロセッサの処理要求を軽減する特定用途アルゴリズムを走らせる。該DSPは、例えばパイロット信号捕捉、時間同期、周波数追跡、スペクトル拡散処理、変調及び復調機能、及び順送り(forward)誤り訂正のような、種々の信号処理機能を提供するために利用されることが出来る。
【0086】
端末1600は、ベース・バンド・プロセッサ1608に接続される種々の利用者インターフェース1610を含むことも出来る。利用者インターフェース1610は、キーパッド、マウス、タッチ・スクリーン、ディスプレイ、着信報知機、バイブレータ、オーディオ・スピーカ、マイクロフォン、カメラ、及び/又はその他の入出力デバイスを含むことが出来る。
【0087】
ベース・バンド・プロセッサ1608は、プロセッサ1602を具備する。ベース・バンド・プロセッサ1608のソフトウェアに基づく実行では、該プロセッサは、マイクロプロセッサ上で走るソフトウェア・プログラムであることが出来る。しかしながら、当業者等は容易に認めるように、プロセッサ1602は、この実施形態に限定されず、本明細書に記載される種々の機能を実行することが出来る、ハードウェア構成、ソフトウェア構成、又はそれ等の組合せを含む、公知の種々の手段によって与えられることが出来る。プロセッサ1602は、データの記憶のためにメモリ1612に接続されることが出来る。メモリ1612は、製造及び/又は試験プロセス期間中に受信されたプログラム・データを記憶するために構成され、そしてプロセッサ1602又は1608は、該プログラム・データを用いてプログラムされるために構成される。
【0088】
(例えば、マルチメディア・コンテントとデジタル著作権管理の配信のための効率的鍵階層構造に関連する)種々の実施形態は、それ等の種々の態様を遂行するために種々の人工知能(AI)に基づく方式を利用することが出来る。例えば、自動分類システムとプロセスを介して1又は複数の利用者に対する種々の鍵を有効にする及び無効にするためのプロセスである。本明細書で使用されるように、用語“推論”は、一般に、事象、センサ、及び/又はデータを介して獲得された観測情報の集合から、システム、環境、及び/又は利用者の状態を推論する又はそれについて思考するプロセスのことを指す。推論は、特定のコンテクスト又は動作を識別するために利用されることが出来る、或いは、例えば状態に関する確率分布を生成することが出来る。推論は、確率的―即ち、データと事象の考察に基づく関心のある状態に関する確率分布の計算、であることが出来る。推論は、事象及び/又はデータの集合からより高いレベルの事象を構成するために利用される技術を指すことも出来る。このような推論は、観測された諸事象及び/又は記憶された事象データの集合から、該諸事象が時間的近接性において相関付けられるか否かに関わらず、及び該諸事象とデータが1つの事象及びデータ源から来たのか数個の源から来たのかに関わらず、新しい事象又は動作の構成をもたらす。種々の分類方式及び/又はシステム(例えば、サポート・ベクトル・マシン、ニューラル・ネットワーク、エキスパート・システム、ベイズ信頼性ネットワーク、ファジー論理、データ融合エンジン…)が、主題の実施形態と関連する自動的及び/又は推論的動作を実行することに関連して利用されることが出来る。
【0089】
分類子(classifier)は、ある入力属性ベクトル、x=(x1,x2,x3,x4,xn)を該入力があるクラスに属する信頼度(confidence)にマッピングする関数、即ち、f(x)=confidence(class)、である。このような分類子は、確率論及び/又は統計学に基づく解析(例えば、ユーティリティや費用を要因として解析に織り込む)を利用して、利用者が自動的に実行されることを願う動作を予測又は推論する。
【0090】
サポート・ベクトル・マシン(SVM)は、利用され得る分類子の一例である。SVMは、可能な入力空間中に超曲面を見つけることによって動作し、その超曲面は、トリガリング基準(triggering criteria)を非トリガリング事象から分割しようと試行する。直観的に、これは、トレーニング・データに近いが同一ではない試験データに対する分類を正しくする。他の有向(directed)及び無向(undirected)モデル分類手法は、例えば、ナイーブ・ベイズ、ベイジアン・ネットワーク、判定ツリー、ニューラル・ネットワーク、ファジー論理モデルを含み、そして独立な種々異なるパターンを提供する確率論的分類モデルが利用されることができる。本明細書で使用される分類は、又優先順位のモデルを開発するために利用される、統計回帰を含む。
【0091】
本明細書から容易に理解されるように、1又は複数の実施形態は、暗示的に(例えば、利用者の挙動を観察すること、外部の情報を受信することにより)トレーニングされるばかりでなく、明示的に(例えば、汎用トレーニング・データにより)トレーニングされる、分類子を使用することができる。例えば、SVMの分類子は、分類子コンストラクタ及び属性選択モジュール内で学習フェーズ又はトレーニング・フェーズ(phase)によって構成される。従って、多数の機能を自動的に学習及び実行するために該分類子が使用されることができる、該機能は、事前に決定された基準に従い、何時鍵を創成するか、何れの型の鍵を創成するか、を判断することが含むが、それに限定されない。該基準は、接続すべきデータ又はコンテントの量、コンテントの型、該コンテントの重要性、等々を含むことが出来るが、それ等に限定されない。
【0092】
本明細書で説明された諸実施形態は、ハードウェア、ソフトウェア、ミドルウェア、マイクロコード、或いはこれ等の任意の組合せ、によって実現されることが出来る。システム及び/又は方法がソフトウェア、ファームウェア、ミドルウェア又はマイクロコード、プログラム・コード又はコード・セグメントで与えられる場合、それ等は、記憶コンポーネントのような、機械可読媒体中に記憶されることが出来る。コード・セグメントは、処理手順、関数、サブプログラム、プログラム、ルーチン、サブルーチン、モジュール、ソフトウェア・パッケージ、クラス、或いは命令の任意の組合せ、データ構造、或いはプログラム文、を表すことが出来る。1つのコード・セグメントは、情報、データ、引数、パラメータ、或いはメモリ内容を渡すこと及び/又は受信することによって、別のコード・セグメント或いはハードウェア回路に接続されることが出来る。情報、引数、パラメータ、データ等々は、メモリ・シェアリング(memory sharing)、メッセージ・パッシング(message passing)、トークン・パッシング(token passing)、ネットワーク伝送等々を含む、任意の適切な手段を用いて渡され、転送され或いは送信されることが出来る。
【0093】
ソフトウェアの実行に関しては、本明細書に記載された諸技術は、本明細書中で説明された諸機能を実行するモジュール(例えば、処理手順、関数、等々)を用いて実行されることが出来る。ソフトウェア・コードは、メモリ・ユニットの中に記憶されることができ、そして、プロセッサにより実行されることが出来る。該メモリ・ユニットは、プロセッサの内部又はプロセッサの外部に実装されることが出来る、後者の場合、該メモリ・ユニットは、公知の種々の手段を介して該プロセッサに通信で接続されることが出来る。
【0094】
開示された諸実施形態は、下記の技術の任意の1つ又はそれ等の組合せに適用されることが可能である、該技術は、即ち:符号分割多元接続(Code Division Multiple Access)(CDMA)システム、マルチキャリア(Multiple−Carrier)CDMA(MC−CDMA)、広帯域CDMA(W−CDMA)、高速下り回線パケット・アクセス(High−Speed Downlink Packet Access)(HSDPA)、時分割多元接続(Time Division Multiple Access)(TDMA)システム、周波数分割多元接続(Frequency Division Multiple Access)(FDMA)システム、及び直交周波数分割多元接続(Orthogonal FDMA)(OFDMA)システムである。
【0095】
本明細書中で開示された諸実施形態に関連して説明された方法或いはアルゴリズムのステップは、直接ハードウェアにおいて、プロセッサにより遂行されるソフトウェア・モジュールにおいて、或いは両者の組合せにおいて、具体化されることが可能である。ソフトウェア・モジュールは、RAMメモリ、フラッシュ・メモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハード・ディスク、リムーバブル・ディスク、CD−ROM、或いは他の任意の公知の記憶媒体形式、の中に常駐することが出来る。例示的な記憶媒体は、プロセッサが該記憶媒体から情報を読み、該記憶媒体に情報を書くことが出来るように、プロセッサと接続されている。それに代わって、記憶媒体は、プロセッサと一体になることも出来る。プロセッサと記憶媒体は、ASICの中に常駐することが可能である。該ASICは、利用者端末の中に常駐することが出来る。それに代わって、プロセッサと記憶媒体は、利用者端末中で単体部品として常駐することが可能である。
【0096】
本明細書に記載された方法は、同業者には公知の多様なハードウェア、プロセッサ及びシステム上で実現されることが出来ることは注目されるべきである。例えば、本明細書に記載されたように、クライアントが動作するための一般的な要求は、クライアントが、コンテント及び情報を表示するためのディスプレイと、該クライアントの動作を制御するプロセッサと、そして該クライアントの動作に関係するデータとプログラムを記憶するためのメモリとを有することである。幾つかの実施形態では、クライアントはセルラ電話である。幾つかの実施形態では、クライアントは、通信能力を有するハンドヘルド・コンピュータである。更に別の実施形態では、クライアントは、通信能力を有するパーソナル・コンピュータである。その上、GPS受信機のようなハードウェアが本明細書に記載された種々の実施形態を実現するために必要に応じてクライアント中に組み込まれることが出来る。更に、 “クライアント”と“サーバ”のような用語は、本明細書中で具体的なデバイス及び/又はエンティティを指すために使用されてきたけれども、これ等の用語は、何れにせよ限定的であると解釈されるべきではなくて、本明細書に含まれる諸実施形態のより明確な説明を提供するために使用されている。従って、一連のトランザクション又はシナリオの中で“クライアント”であるデバイス又はエンティティは、別系統のトランザクション又はシナリオの中では“サーバ”と考えられることが出来る。
【0097】
本明細書中で開示された諸実施形態と関連して説明された種々の説明的なロジック、論理ブロック、モジュール、及び回路は、汎用プロセッサ、デジタル信号プロセッサ(digital signal processor)(DSP)、特定用途向け集積回路(application specific integrated circuit)(ASIC)、フィールド・プログラマブル・ゲート・アレイ(field programmable gate array)(FPGA)或いは他のプログラム可能な論理デバイス、ディスクリート・ゲート(discrete gate)或いはトランジスタ・ロジック(transistor logic)、ディスクリート・ハードウェア部品(discrete hardware components)、或いは本明細書に記載された機能を実行するために設計されたそれ等の任意の組合せ、を用いて実装又は実行されることが出来る。汎用プロセッサは、マイクロプロセッサであって良い、しかし、その代わりに、プロセッサは、任意の通常のプロセッサ、制御器、マイクロ制御器、或いはステート・マシン(state machine)であって良い。プロセッサは、計算するデバイスの組合せ、例えば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと結合された1又は複数のマイクロプロセッサ、或いは任意の他のこのような構成、として実装されることも可能である。
【0098】
上述で説明されてきた内容は、1又は複数の実施形態の具体例を含む。無論、前述の諸実施形態を説明する目的のために、コンポーネントや方法の全ての考え得る組合せを説明することは不可能である。しかし、当業者は、種々の実施形態の多くの更なる組合せと置き換えが可能であることを認識する。従って、説明された諸実施形態は、添付された請求項の範囲の中に入る全てのその様な変更、修正及び変形を含んでいると意図される。更に、用語“含む(include)”が詳細な説明あるいは請求項で使用される範囲では、その用語は、“具備する(comprising)”が請求項中で移行語として使用される場合に解釈されるように、用語“具備する(comprising)”と同様な意味において包含することを意図される。
【特許請求の範囲】
【請求項1】
複数のコンテントに対してクライアント上でデジタル著作権管理を実行するための方法であって、
公開部分と秘密部分とを具備する非対称鍵対を生成すること、
該非対称鍵対の該公開部分を送信すること、及び
第1対称鍵と第2対称鍵とを受信すること、ここにおいて、該第1対称鍵は該非対称鍵対の該公開部分を使用して暗号化され、そして該第2対称鍵は複数のコンテントに関連付けられる、
ことを具備する方法。
【請求項2】
該非対称鍵対の該秘密部分を使用して該第1対称鍵を逆暗号化することを更に具備する、請求項1の方法。
【請求項3】
該第1対称鍵に基づいて該第2対称鍵を逆暗号化することを更に具備する、ここにおいて、該第2対称鍵は該第1対称鍵を用いて暗号化される、請求項1の方法。
【請求項4】
ライセンス・ファイルから該第2対称鍵を検索すること、ここにおいて、該第1対称鍵と該第2対称鍵は該ライセンス・ファイルに含まれる、及び
対称暗号方式を使用して該第2対称鍵を逆暗号化すること
を更に具備する、請求項1の方法。
【請求項5】
該逆暗号化された第2対称鍵を使用して第3対称鍵を逆暗号化すること、ここにおいて、該第3対称鍵は該第2対称鍵と該複数のコンテント中の第1コンテントとに関連付けられる、及び
該第3対称鍵に関連付けられる該複数のコンテントから該第1コンテントを逆暗号化すること
を更に具備する、請求項4の方法。
【請求項6】
該第1対称鍵と該複数のコンテントに関連付けられる該第2対称鍵とを受信することは、該複数のコンテントに関連付けられる第3対称鍵を受信することを具備する、請求項1の方法。
【請求項7】
該第1対称鍵に基づいて該第3対称鍵を逆暗号化することを更に具備する、ここにおいて、該第3対称鍵は該第1対称鍵を用いて暗号化される、請求項6の方法。
【請求項8】
該非対称鍵対を生成することは、公開鍵と秘密鍵とを生成することを具備する、請求項1の方法。
【請求項9】
事前に決定された期間のあいだ有効な逆暗号化方式を用いて該第1対称鍵を暗号化することを更に具備する、請求項1の方法。
【請求項10】
デジタル著作権管理を容易にする装置であって、
非対称鍵対を生成するための命令を実行し且つ該非対称鍵の少なくとも第1部分をサーバに選択的に送信するプロセッサ、及び
該プロセッサによって生成された該非対称鍵の少なくとも第2部分に関する情報を記憶するメモリ、
を具備する装置。
【請求項11】
該プロセッサは、第1対称鍵と少なくとも第2対称鍵とを受信するための命令を更に実行する、ここにおいて、該第1対称鍵は該非対称鍵対の少なくとも第1部分を使用して暗号化され、そして該第2対称鍵は複数のコンテントに関連付けられる、請求項10の装置。
【請求項12】
該プロセッサは、該非対称鍵対の第2部分を使用して該第1対称鍵を逆暗号化するための命令を更に実行する、請求項10の装置。
【請求項13】
マルチメディア・コンテントのデータ著作権管理を容易にする装置であって、
公開鍵と秘密鍵とを生成するための手段、
ライセンス・ファイルの要求と共にサブスクリプション・サーバに該公開鍵を伝達するための手段、
該要求されたライセンス・ファイルを受信するための手段、及び
該ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するための手段
を具備する装置。
【請求項14】
該ライセンス・ファイルに含まれるサービス鍵を記憶するための手段を更に具備する、請求項13の装置。
【請求項15】
該ヘッダ情報は、利用者識別子とエポック識別子との内の少なくとも1つを含む、請求項13の装置。
【請求項16】
該マルチメディア・コンテントが逆暗号化されるのと実質的に同時に情報媒体をディスプレイ・スクリーン上に可視化するための手段を更に具備する、請求項13の装置。
【請求項17】
デジタル著作権管理のためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ可読媒体であって、該命令は、
非対称鍵対を生成すること、
該非対称鍵対の少なくとも第1部分とマルチメディア・コンテントへの接続の要求とをサーバに送ること、
対称鍵と該マルチメディア・コンテントとに関する接続情報を含むライセンス・ファイルを受信すること、及び
ディスプレイ上に該マルチメディア・コンテントを可視化するために該接続情報を逆暗号化すること、
を具備する上記命令である、コンピュータ可読媒体。
【請求項18】
該命令は、該非対称鍵対の第2部分を記憶媒体に保持することを更に具備する、請求項17のコンピュータ可読媒体。
【請求項19】
該非対称鍵対の該第1部分は公開鍵であり、そして該非対称鍵対の該第2部分は秘密鍵である、請求項17のコンピュータ可読媒体。
【請求項20】
マルチメディア・コンテント配信のための鍵階層構造のためのコンピュータ実行可能な命令を実行するプロセッサであって、該命令は、
公開鍵と秘密鍵とを具備する鍵対を生成すること、
サブスクリプション・サーバからライセンス・ファイルをフェッチするために該公開鍵を送信すること、
ヘッダ情報と少なくとも1つの対称鍵とを含むライセンス・ファイル情報を受信すること、及び
該ヘッダ情報に一部は基づいてプログラムを逆暗号化すること
を具備する上記命令である、プロセッサ。
【請求項21】
鍵対を生成することは、起動プロセスに関連付けられる、請求項20のプロセッサ。
【請求項22】
該公開鍵はクライアント暗号化鍵であり、そして該秘密鍵はクライアント逆暗号化鍵である、請求項20のプロセッサ。
【請求項23】
該ライセンス・ファイルに含まれるサービス鍵をクライアント上に記憶することを更に具備する、請求項20のプロセッサ。
【請求項24】
該プログラムを逆暗号化することは、情報媒体がディスプレイ上に可視化されるのと実質的に同時に実行される、請求項20のプロセッサ。
【請求項25】
該ライセンス・ファイルは、暗号化されたセッション鍵と少なくとも1つのサービス鍵とを具備し、そして該ヘッダ情報は、UserIDとEpochIDとの内の少なくとも1つを具備する、請求項20のプロセッサ。
【請求項26】
複数のコンテントに対してサーバ上でデジタル著作権管理を実行するための方法であって、
クライアントから非対称鍵対の公開部分を受信すること、
第2対称鍵を使用して第1対称鍵を暗号化すること、ここにおいて、該第1対称鍵は複数のコンテントに関連付けられる、及び
該非対称鍵対の該公開部分を使用して該第2対称鍵を暗号化すること
を具備する方法。
【請求項27】
該暗号化された第1対称鍵と該第2対称鍵とをクライアントに送信することを更に具備する、請求項26の方法。
【請求項28】
該第1対称鍵を暗号化することは、
該クライアントによって申し込まれた該複数のコンテントに関連付けられる複数のサービス識別子を検索すること、及び
該検索された複数のサービス識別子に基づき該第1対称鍵を検索すること
を具備する、請求項26の方法。
【請求項29】
該第1対称鍵を暗号化する前に該クライアントを認証することを更に具備する、請求項26の方法。
【請求項30】
マルチメディア・コンテントの配信を容易にする装置であって、
暗号化された第1対称鍵及びマルチメディア・コンテントの配信の要求に関係する少なくとも第2の暗号化された対称鍵を生成するための命令を実行するプロセッサ、及び
該プロセッサによって生成された該第1対称鍵及び該少なくとも第2対称鍵との内の少なくとも1つに関する情報を記憶するメモリ
を具備する装置。
【請求項31】
該プロセッサは、非対称鍵対の少なくとも一部をクライアントから受信するための命令を更に実行する、請求項30の装置。
【請求項32】
該プロセッサは、該第2対称鍵を用いて複数のコンテントに関連付けられる、該第1対称鍵を暗号化するための、そして該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化するための、命令を更に実行する、請求項31の装置。
【請求項33】
コンテント配信のための鍵階層構造の創成を容易にする装置であって、
非対称鍵対の少なくとも一部をクライアントから受信するための手段、
第1対称鍵と少なくとも第2対称鍵とを創成するための手段、
該少なくとも第2対称鍵を暗号化するために該第1対称鍵を利用するための手段、及び 該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化するための手段
を具備する装置。
【請求項34】
該非対称鍵対の該少なくとも一部は公開部分であり、そして該第1対称鍵は複数のコンテントに関連付けられる、請求項33の装置。
【請求項35】
該第1対称鍵と該少なくとも第2対称鍵とを創成する前にクライアントを認証するための手段を更に具備する、請求項33の装置。
【請求項36】
暗号化された第1対称鍵と該暗号化された第2対称鍵とをクライアントに送信するための手段を更に具備する、請求項33の装置。
【請求項37】
デジタル著作権管理のためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ可読媒体であって、該命令は、
マルチメディア・コンテントへの接続の要求を受理すること、ここにおいて、該要求は非対称鍵対の少なくとも一部を含む、
第1対称鍵と少なくとも第2対称鍵とを創成すること、
該第2対称鍵を用いて該第1対称鍵を暗号化すること、
該第2対称鍵を該マルチメディア・コンテントに関連付けること、及び
該第1対称鍵と該第2対称鍵とをクライアントに送ること
を具備する上記命令である、コンピュータ可読媒体。
【請求項38】
該命令は、該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化することを具備する、請求項37のコンピュータ可読媒体。
【請求項39】
該命令は、該第1対称鍵と該少なくとも第2対称鍵とに関する情報を記憶媒体に保持することを更に具備する、請求項37のコンピュータ可読媒体。
【請求項40】
デジタル著作権管理のためのコンピュータ実行可能な命令を実行するプロセッサであって、該命令は、
要求されたライセンス・ファイルに対する暗号化されたセッション鍵を生成すること、 申し込まれたサービスに関連付けられる少なくとも1つの暗号化されたサービス鍵を創成すること、
クライアント暗号化鍵を用いて少なくとも1つの暗号化されたセッション鍵を創成すること、及び
該暗号化されたサービス鍵と該少なくとも1つの暗号化されたセッション鍵とを該要求されたライセンス・ファイル中に記憶すること
を具備する上記命令である、プロセッサ。
【請求項41】
暗号化されたセッション鍵を生成する前に、認証されたクライアントからのライセンス・ファイルの要求を受信することを更に具備し、ここにおいて、該要求は、該クライアント暗号化鍵と申し込まれたサービスのリストとを含む、請求項40のプロセッサ。
【請求項42】
該要求されたライセンス・ファイルを認証されたクライアントに送ることを更に具備する、請求項40のプロセッサ。
【請求項43】
暗号化されたセッション鍵を生成することは、対称暗号方式によって実行される、請求項40のプロセッサ。
【請求項1】
複数のコンテントに対してクライアント上でデジタル著作権管理を実行するための方法であって、
公開部分と秘密部分とを具備する非対称鍵対を生成すること、
該非対称鍵対の該公開部分を送信すること、及び
第1対称鍵と第2対称鍵とを受信すること、ここにおいて、該第1対称鍵は該非対称鍵対の該公開部分を使用して暗号化され、そして該第2対称鍵は複数のコンテントに関連付けられる、
ことを具備する方法。
【請求項2】
該非対称鍵対の該秘密部分を使用して該第1対称鍵を逆暗号化することを更に具備する、請求項1の方法。
【請求項3】
該第1対称鍵に基づいて該第2対称鍵を逆暗号化することを更に具備する、ここにおいて、該第2対称鍵は該第1対称鍵を用いて暗号化される、請求項1の方法。
【請求項4】
ライセンス・ファイルから該第2対称鍵を検索すること、ここにおいて、該第1対称鍵と該第2対称鍵は該ライセンス・ファイルに含まれる、及び
対称暗号方式を使用して該第2対称鍵を逆暗号化すること
を更に具備する、請求項1の方法。
【請求項5】
該逆暗号化された第2対称鍵を使用して第3対称鍵を逆暗号化すること、ここにおいて、該第3対称鍵は該第2対称鍵と該複数のコンテント中の第1コンテントとに関連付けられる、及び
該第3対称鍵に関連付けられる該複数のコンテントから該第1コンテントを逆暗号化すること
を更に具備する、請求項4の方法。
【請求項6】
該第1対称鍵と該複数のコンテントに関連付けられる該第2対称鍵とを受信することは、該複数のコンテントに関連付けられる第3対称鍵を受信することを具備する、請求項1の方法。
【請求項7】
該第1対称鍵に基づいて該第3対称鍵を逆暗号化することを更に具備する、ここにおいて、該第3対称鍵は該第1対称鍵を用いて暗号化される、請求項6の方法。
【請求項8】
該非対称鍵対を生成することは、公開鍵と秘密鍵とを生成することを具備する、請求項1の方法。
【請求項9】
事前に決定された期間のあいだ有効な逆暗号化方式を用いて該第1対称鍵を暗号化することを更に具備する、請求項1の方法。
【請求項10】
デジタル著作権管理を容易にする装置であって、
非対称鍵対を生成するための命令を実行し且つ該非対称鍵の少なくとも第1部分をサーバに選択的に送信するプロセッサ、及び
該プロセッサによって生成された該非対称鍵の少なくとも第2部分に関する情報を記憶するメモリ、
を具備する装置。
【請求項11】
該プロセッサは、第1対称鍵と少なくとも第2対称鍵とを受信するための命令を更に実行する、ここにおいて、該第1対称鍵は該非対称鍵対の少なくとも第1部分を使用して暗号化され、そして該第2対称鍵は複数のコンテントに関連付けられる、請求項10の装置。
【請求項12】
該プロセッサは、該非対称鍵対の第2部分を使用して該第1対称鍵を逆暗号化するための命令を更に実行する、請求項10の装置。
【請求項13】
マルチメディア・コンテントのデータ著作権管理を容易にする装置であって、
公開鍵と秘密鍵とを生成するための手段、
ライセンス・ファイルの要求と共にサブスクリプション・サーバに該公開鍵を伝達するための手段、
該要求されたライセンス・ファイルを受信するための手段、及び
該ライセンス・ファイルに含まれるヘッダ情報に一部は基づいてマルチメディア・コンテントを逆暗号化するための手段
を具備する装置。
【請求項14】
該ライセンス・ファイルに含まれるサービス鍵を記憶するための手段を更に具備する、請求項13の装置。
【請求項15】
該ヘッダ情報は、利用者識別子とエポック識別子との内の少なくとも1つを含む、請求項13の装置。
【請求項16】
該マルチメディア・コンテントが逆暗号化されるのと実質的に同時に情報媒体をディスプレイ・スクリーン上に可視化するための手段を更に具備する、請求項13の装置。
【請求項17】
デジタル著作権管理のためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ可読媒体であって、該命令は、
非対称鍵対を生成すること、
該非対称鍵対の少なくとも第1部分とマルチメディア・コンテントへの接続の要求とをサーバに送ること、
対称鍵と該マルチメディア・コンテントとに関する接続情報を含むライセンス・ファイルを受信すること、及び
ディスプレイ上に該マルチメディア・コンテントを可視化するために該接続情報を逆暗号化すること、
を具備する上記命令である、コンピュータ可読媒体。
【請求項18】
該命令は、該非対称鍵対の第2部分を記憶媒体に保持することを更に具備する、請求項17のコンピュータ可読媒体。
【請求項19】
該非対称鍵対の該第1部分は公開鍵であり、そして該非対称鍵対の該第2部分は秘密鍵である、請求項17のコンピュータ可読媒体。
【請求項20】
マルチメディア・コンテント配信のための鍵階層構造のためのコンピュータ実行可能な命令を実行するプロセッサであって、該命令は、
公開鍵と秘密鍵とを具備する鍵対を生成すること、
サブスクリプション・サーバからライセンス・ファイルをフェッチするために該公開鍵を送信すること、
ヘッダ情報と少なくとも1つの対称鍵とを含むライセンス・ファイル情報を受信すること、及び
該ヘッダ情報に一部は基づいてプログラムを逆暗号化すること
を具備する上記命令である、プロセッサ。
【請求項21】
鍵対を生成することは、起動プロセスに関連付けられる、請求項20のプロセッサ。
【請求項22】
該公開鍵はクライアント暗号化鍵であり、そして該秘密鍵はクライアント逆暗号化鍵である、請求項20のプロセッサ。
【請求項23】
該ライセンス・ファイルに含まれるサービス鍵をクライアント上に記憶することを更に具備する、請求項20のプロセッサ。
【請求項24】
該プログラムを逆暗号化することは、情報媒体がディスプレイ上に可視化されるのと実質的に同時に実行される、請求項20のプロセッサ。
【請求項25】
該ライセンス・ファイルは、暗号化されたセッション鍵と少なくとも1つのサービス鍵とを具備し、そして該ヘッダ情報は、UserIDとEpochIDとの内の少なくとも1つを具備する、請求項20のプロセッサ。
【請求項26】
複数のコンテントに対してサーバ上でデジタル著作権管理を実行するための方法であって、
クライアントから非対称鍵対の公開部分を受信すること、
第2対称鍵を使用して第1対称鍵を暗号化すること、ここにおいて、該第1対称鍵は複数のコンテントに関連付けられる、及び
該非対称鍵対の該公開部分を使用して該第2対称鍵を暗号化すること
を具備する方法。
【請求項27】
該暗号化された第1対称鍵と該第2対称鍵とをクライアントに送信することを更に具備する、請求項26の方法。
【請求項28】
該第1対称鍵を暗号化することは、
該クライアントによって申し込まれた該複数のコンテントに関連付けられる複数のサービス識別子を検索すること、及び
該検索された複数のサービス識別子に基づき該第1対称鍵を検索すること
を具備する、請求項26の方法。
【請求項29】
該第1対称鍵を暗号化する前に該クライアントを認証することを更に具備する、請求項26の方法。
【請求項30】
マルチメディア・コンテントの配信を容易にする装置であって、
暗号化された第1対称鍵及びマルチメディア・コンテントの配信の要求に関係する少なくとも第2の暗号化された対称鍵を生成するための命令を実行するプロセッサ、及び
該プロセッサによって生成された該第1対称鍵及び該少なくとも第2対称鍵との内の少なくとも1つに関する情報を記憶するメモリ
を具備する装置。
【請求項31】
該プロセッサは、非対称鍵対の少なくとも一部をクライアントから受信するための命令を更に実行する、請求項30の装置。
【請求項32】
該プロセッサは、該第2対称鍵を用いて複数のコンテントに関連付けられる、該第1対称鍵を暗号化するための、そして該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化するための、命令を更に実行する、請求項31の装置。
【請求項33】
コンテント配信のための鍵階層構造の創成を容易にする装置であって、
非対称鍵対の少なくとも一部をクライアントから受信するための手段、
第1対称鍵と少なくとも第2対称鍵とを創成するための手段、
該少なくとも第2対称鍵を暗号化するために該第1対称鍵を利用するための手段、及び 該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化するための手段
を具備する装置。
【請求項34】
該非対称鍵対の該少なくとも一部は公開部分であり、そして該第1対称鍵は複数のコンテントに関連付けられる、請求項33の装置。
【請求項35】
該第1対称鍵と該少なくとも第2対称鍵とを創成する前にクライアントを認証するための手段を更に具備する、請求項33の装置。
【請求項36】
暗号化された第1対称鍵と該暗号化された第2対称鍵とをクライアントに送信するための手段を更に具備する、請求項33の装置。
【請求項37】
デジタル著作権管理のためのコンピュータ実行可能な命令をその上に記憶しているコンピュータ可読媒体であって、該命令は、
マルチメディア・コンテントへの接続の要求を受理すること、ここにおいて、該要求は非対称鍵対の少なくとも一部を含む、
第1対称鍵と少なくとも第2対称鍵とを創成すること、
該第2対称鍵を用いて該第1対称鍵を暗号化すること、
該第2対称鍵を該マルチメディア・コンテントに関連付けること、及び
該第1対称鍵と該第2対称鍵とをクライアントに送ること
を具備する上記命令である、コンピュータ可読媒体。
【請求項38】
該命令は、該非対称鍵対の該少なくとも一部を用いて該第2対称鍵を暗号化することを具備する、請求項37のコンピュータ可読媒体。
【請求項39】
該命令は、該第1対称鍵と該少なくとも第2対称鍵とに関する情報を記憶媒体に保持することを更に具備する、請求項37のコンピュータ可読媒体。
【請求項40】
デジタル著作権管理のためのコンピュータ実行可能な命令を実行するプロセッサであって、該命令は、
要求されたライセンス・ファイルに対する暗号化されたセッション鍵を生成すること、 申し込まれたサービスに関連付けられる少なくとも1つの暗号化されたサービス鍵を創成すること、
クライアント暗号化鍵を用いて少なくとも1つの暗号化されたセッション鍵を創成すること、及び
該暗号化されたサービス鍵と該少なくとも1つの暗号化されたセッション鍵とを該要求されたライセンス・ファイル中に記憶すること
を具備する上記命令である、プロセッサ。
【請求項41】
暗号化されたセッション鍵を生成する前に、認証されたクライアントからのライセンス・ファイルの要求を受信することを更に具備し、ここにおいて、該要求は、該クライアント暗号化鍵と申し込まれたサービスのリストとを含む、請求項40のプロセッサ。
【請求項42】
該要求されたライセンス・ファイルを認証されたクライアントに送ることを更に具備する、請求項40のプロセッサ。
【請求項43】
暗号化されたセッション鍵を生成することは、対称暗号方式によって実行される、請求項40のプロセッサ。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2012−134983(P2012−134983A)
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【外国語出願】
【出願番号】特願2011−284034(P2011−284034)
【出願日】平成23年12月26日(2011.12.26)
【分割の表示】特願2008−529345(P2008−529345)の分割
【原出願日】平成18年8月31日(2006.8.31)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
【公開日】平成24年7月12日(2012.7.12)
【国際特許分類】
【出願番号】特願2011−284034(P2011−284034)
【出願日】平成23年12月26日(2011.12.26)
【分割の表示】特願2008−529345(P2008−529345)の分割
【原出願日】平成18年8月31日(2006.8.31)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】
[ Back to top ]