(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-26
(45)【発行日】2024-08-05
(54)【発明の名称】ユーザ保護ライセンス
(51)【国際特許分類】
H04L 9/30 20060101AFI20240729BHJP
G06F 21/10 20130101ALI20240729BHJP
G06F 21/64 20130101ALI20240729BHJP
G09C 1/00 20060101ALI20240729BHJP
【FI】
H04L9/30 Z
G06F21/10
G06F21/64 350
G09C1/00 620Z
(21)【出願番号】P 2020564729
(86)(22)【出願日】2019-05-21
(86)【国際出願番号】 US2019033264
(87)【国際公開番号】W WO2019226622
(87)【国際公開日】2019-11-28
【審査請求日】2020-11-18
【審判番号】
【審判請求日】2023-11-02
(32)【優先日】2018-05-22
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】000002185
【氏名又は名称】ソニーグループ株式会社
(73)【特許権者】
【識別番号】596102126
【氏名又は名称】ソニー ピクチャーズ エンターテインメント インコーポレイテッド
(74)【代理人】
【識別番号】100092093
【氏名又は名称】辻居 幸一
(74)【代理人】
【識別番号】100109070
【氏名又は名称】須田 洋之
(74)【代理人】
【識別番号】100067013
【氏名又は名称】大塚 文昭
(74)【代理人】
【氏名又は名称】上杉 浩
(74)【代理人】
【識別番号】100141553
【氏名又は名称】鈴木 信彦
(72)【発明者】
【氏名】ディール エリック
【合議体】
【審判長】吉田 美彦
【審判官】林 毅
【審判官】大塚 俊範
(56)【参考文献】
【文献】特開2007-172593(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L9/00
G06F21/10
G06F21/64
G09C1/00
(57)【特許請求の範囲】
【請求項1】
ライセンスに含まれる使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを配信及び強要するための方法であって、前記方法は、
ユーザのデバイスにおいて、準同型暗号化を用いて、当該デバイスを所有するユーザに特有の鍵で前記使用権を暗号化し、前記暗号化された使用権をエージェントに送信するステップと、ここで前記エージェントは、ノンスを用いて前記暗号化された使用権に対して準同型演算を実行して、修正暗号化使用権を生成し、前記ノンスはユーザとエージェントとの間の通信において1回だけ用いられる擬似乱数であり、
ユーザのデバイスにおいて、前記エージェントから修正暗号化使用権を受け取るステップと、
ユーザのデバイスにおいて、前記修正暗号化使用権を復号して、復号された修正使用権を生成し、前記復号された修正使用権を前記エージェントに返送するステップと、
前記エージェントにおいて、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって、前記復号された修正使用権から、使用権を抽出するステップと、
前記エージェントにおいて、抽出された使用権が前記ライセンスに含まれる使用権と同じことを検証するステップと、
を含むことを特徴とする方法。
【請求項2】
更に、
前記検証がなされたときに、ユーザのデバイスにおいて、前記使用権に従って消費されるべき前記コンテンツを受け取るステップを含むことを特徴とする、請求項1に記載の方法。
【請求項3】
前記コンテンツは、ユーザが所有するモバイルデバイスのアプリケーションによって受け取られることを特徴とする、請求項2に記載の方法。
【請求項4】
更に、ユーザのデバイスにおいて、前記鍵を自己生成するステップを含むことを特徴とする、請求項1に記載の方法。
【請求項5】
前記準同型演算は、高度暗号化標準カウンタ(AES-CTR)モード及び排他的論理和(XOR)を含むことを特徴とする、請求項1に記載の方法。
【請求項6】
ライセンスに含まれる使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを強要するためのコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記コンピュータプログラムは、コンピュータに、
準同型暗号化を用いて、当該デバイスを所有するユーザに特有の鍵で前記使用権を暗号化し、前記暗号化された使用権をエージェントに送信し、ここで、前記エージェントは、ノンスを用いて前記暗号化された使用権に対して準同型演算を実行して修正暗号化使用権を生成し、前記ノンスはユーザとエージェントとの間の通信において1回だけ用いられる擬似乱数であり、
修正暗号化使用権を、前記エージェントから受け取り、
前記修正暗号化使用権を復号して復号された修正使用権を生成し、前記復号された修正使用権を前記エージェントに返送し、
実行可能な命令を含むことを特徴とする非一時的コンピュータ可読記憶媒体。
【請求項7】
前記エージェントが、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって前記復号された修正使用権から使用権を抽出し、抽出された使用権が前記ライセンスに含まれる使用権と同じことを検証したときに、前記コンピュータに、前記使用権に従って消費されるべき前記コンテンツを受け取らせる、実行可能な命令を含むことを特徴とする、請求項6に記載の非一時的コンピュータ可読記憶媒体。
【請求項8】
前記準同型暗号化は、前記準同型演算として、高度暗号化標準カウンタ(AES-CTR)モード及び排他的論理和(XOR)を使用することを特徴とする、請求項6に記載の非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
[0001] 本開示は、デジタル権利管理(DRM)ライセンスに関し、具体的には、DRMライセンスを配信及び強要することに関する。
【背景技術】
【0002】
[0002] DRMライセンスは、現在、顧客管理サービス又は権利ロッカーから許可及び使用権を受け取るライセンスサーバによって発行される。これらのライセンスは、所与の装置又は装置の組に結び付けられる。DRM又は条件付きアクセスシステム(CAS)は、ライセンス又は権限付与管理メッセージ(EMM)と呼ばれるデータ構造において、1つのコンテンツ及びユーザに関連する使用権を記載することができる。このライセンスは、保護(及び制限)されて、1つの所与の装置又は識別された装置の組のみが、データ構造を利用することができるようになっている。この制限は、対象の装置に対して一意にライセンスを暗号化することによって実行される。したがって、使用権は、いくつかの秘密を保持する所与のハードウェア装置の組の所有権に結び付けられる。ライセンスは、通常、ライセンスサーバによって生成される。
【0003】
[0003] しかしながら、上記の構成は、いくつかの欠点を有する。例えば、この構成では、ユーザは、ユーザの人物ではなく、ユーザが所有する装置によって規定される。ユーザが新しい装置を取得する場合、ユーザは、新しい装置を、新しい装置専用の新しいライセンスの組を発行するライセンスサーバ(又は場合によっては、権利ロッカー)に登録しなければならない。
【0004】
[0004] 上記の構成の欠点に対処するため、ブロックチェーンを用いて、ユーザの全てのライセンスを保持する別の構成が提案されている。この構成の1つの欠点は、使用権が匿名化されないことである。すなわち、ブロックチェーンは潜在的に公開されているので、攻撃者は、使用権が平文であったので、又は暗号化されている場合は、既知のブロックチェーンにおいて同様のライセンスを捜すことによって、ユーザが購入したタイトルを発見することができる。
【発明の概要】
【発明が解決しようとする課題】
【0005】
[0005] 本開示は、ライセンスを装置ではなくその被許諾者に結び付けるとともに、依然として、ライセンスを保護することを提供する。
【課題を解決するための手段】
【0006】
[0006] 1つの実装では、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを配信及び強要するための方法を開示する。前記方法は、準同型暗号化を用いて鍵で前記使用権を暗号化し、前記暗号化された使用権をエージェントに送信するステップと、ノンスを用いて前記暗号化された使用権に対して準同型演算を実行することによって生成される修正暗号化使用権を、前記エージェントから受け取るステップと、前記修正暗号化使用権を復号し、前記復号された修正使用権を前記エージェントに返送するステップと、を含み、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって、前記復号された修正使用権から、使用権が抽出される。
【0007】
[0007] 1つの実装では、前記方法は、更に、前記抽出された使用権が、前記ライセンスに含まれる前記使用権と同じであることを検証するステップを含む。1つの実装では、前記方法は、更に、前記検証が行われるとき、前記使用権に従って消費されるべき前記コンテンツを受け取るステップを含む。1つの実装では、前記コンテンツは、ユーザが所有するモバイルデバイスにインストールされるアプリケーションによって受け取られる。1つの実装では、前記鍵は、前記ユーザに特有の秘密鍵である。1つの実装では、前記鍵は、前記ユーザによって自己生成される。1つの実装では、前記準同型暗号化は、前記準同型演算として、高度暗号化標準カウンタ(AES-CTR)モード及び排他的論理和(XOR)を使用する。
【0008】
[0008] 別の実装では、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを配信及び強要するための方法を開示する。前記方法は、準同型暗号化を用いて鍵で暗号化されたユーザからの暗号化使用権を受け取るステップと、ノンスを用いて前記暗号化使用権に対して準同型演算を実行して、修正暗号化使用権を生成し、それを前記ユーザに送信するステップと、前記鍵を用いて復号された復号修正使用権を、前記ユーザから受け取るステップと、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって、前記復号修正使用権から、使用権を抽出するステップと、を含む。
【0009】
[0009] 1つの実装では、前記方法は、更に、前記抽出された使用権が、前記ライセンスに含まれる前記使用権と同じであることを検証するステップを含む。1つの実装では、前記ライセンスは、前記暗号化使用権、ハッシュ使用権、及び登録認定機関のデジタル署名を含む。1つの実装では、前記方法は、更に、前記登録認定機関の前記デジタル署名の妥当性をチェックすることによって、前記ライセンスの妥当性を検証するステップを含む。
【0010】
[0010] 更に別の実装では、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを強要するためのアプリケーションを含むモバイルデバイスを開示する。前記モバイルデバイスは、エージェントと結合される第1のインターフェイスと、登録認定機関と結合され、前記登録認定機関によって生成される前記コンテンツの前記使用権を受け取るように構成される第2のインターフェイスと、を含み、前記アプリケーションは、準同型暗号化を用いて鍵で前記使用権を暗号化し、前記第1のインターフェイスを介して、前記暗号化された使用権を前記エージェントに送信し、前記エージェントは、前記暗号化された使用権を受け取り、ノンスを用いて前記暗号化された使用権に対して準同型演算を実行し、前記第1のインターフェイスを介して、修正暗号化使用権を前記アプリケーションに返送し、前記アプリケーションは、前記修正暗号化使用権を復号し、前記復号された修正使用権を前記エージェントに返送して、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって、前記使用権及び前記ユーザの妥当性を検証する。
【0011】
[0011] 1つの実装では、前記使用権の前記妥当性は、前記復号された修正使用権から、使用権を抽出し、前記抽出された使用権が、前記ライセンスに含まれる前記使用権と同じであることを検証する、ことによって検証される。1つの実装では、前記アプリケーションは、前記使用権の前記妥当性が前記エージェントによって検証されるとき、第3のインターフェイスを介して、前記使用権に従って消費されるべき前記コンテンツを受け取る。1つの実装では、前記ライセンスは、ブロックチェーンに保存される。
【0012】
[0012] 更に別の実装では、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツの前記ライセンスを強要するためのコンピュータプログラムを記憶する非一時的コンピュータ可読記憶媒体を開示する。前記コンピュータプログラムは、コンピュータに、準同型暗号化を用いて鍵で前記使用権を暗号化し、前記暗号化された使用権をエージェントに送信し、ノンスを用いて前記暗号化された使用権に対して準同型演算を実行することによって生成される修正暗号化使用権を、前記エージェントから受け取り、前記修正暗号化使用権を復号し、前記復号された修正使用権を前記エージェントに返送させる、実行可能な命令を含み、前記ノンスを用いて前記準同型演算と逆の演算を実行することによって、前記復号された修正使用権から、使用権が抽出される。
【0013】
[0013] 1つの実装では、前記非一時的コンピュータ可読記憶媒体は、更に、前記コンピュータに、前記抽出された使用権が、前記ライセンスに含まれる前記使用権と同じであることを検証させる、実行可能な命令を含む。1つの実装では、前記非一時的コンピュータ可読記憶媒体は、更に、前記コンピュータに、前記検証が行われるとき、前記使用権に従って消費されるべき前記コンテンツを受け取らせる、実行可能な命令を含む。1つの実装では、前記コンテンツは、ユーザが所有するモバイルデバイスにインストールされるアプリケーションによって受け取られる。1つの実装では、前記準同型暗号化は、前記準同型演算として、高度暗号化標準カウンタ(AES-CTR)モード及び排他的論理和(XOR)を使用する。
【0014】
[0014] 本開示の態様を一例として示す本明細書からは、他の特徴及び利点も明らかになるはずである。
【0015】
[0015] 同じ部分を同じ参照数字によって示す添付図面を検討することにより、本開示の詳細をその構造及び動作の両方に関して部分的に収集することができる。
【図面の簡単な説明】
【0016】
【
図1A】本開示の1つの実装による、コンテンツ(例えばメディア)のライセンスを配信及び強要するためのシステムのブロック図である。
【
図1B】本開示の1つの実装による、コンテンツ(例えばメディア)のライセンスを配信及び強要するためのプロセスのフロー図である。
【
図2】本開示の1つの実装による、登録認定機関によって生成されるライセンスのブロック図である。
【
図3】本開示の別の実装による、登録認定機関によって生成されるライセンスのブロック図である。
【
図4A】本開示の1つの実装による、エージェントによって、難読化された暗号化使用権を生成するためのプロセスを示すフロー図である。
【
図4B】本開示の1つの実装による、ユーザによって、難読化された暗号化使用権を受け取り、復号された難読化使用権を生成するためのプロセスを示すフロー図である。
【
図5】本開示の1つの実装による、使用権を受け取り、スクランブル解除されたコンテンツを生成するためのプロセスを示すフロー図である。
【発明を実施するための形態】
【0017】
[0023] 上述したように、DRMライセンスは、所与の装置又は装置の組に結び付けられるので、欠点が存在する。本開示のいくつかの実装は、ライセンスを装置ではなくその被許諾者に結び付けるとともに、依然として、ライセンスを保護することを提供する。DRMエージェント又は認定機関は、いかなる秘密もユーザと共有しないが、依然として、ユーザを認証し、ライセンスがユーザに「属している」ことを確認する。この解決策は、認可されたコンテンツのポートフォリオを開示しないので、ブロックチェーンにプライバシーを追加する。
【0018】
[0024] これらの説明を読んだ後には、様々な実装及び用途における本開示の実施方法が明らかになるであろう。本明細書では本開示の様々な実装について説明するが、これらの実装は、限定ではなく一例として提示するものにすぎないと理解されたい。したがって、様々な実装についての詳細な説明は、本開示の範囲又は外延を限定するものとして解釈すべきではない。
【0019】
[0025]
図1Aは、本開示の1つの実装による、コンテンツ(例えばメディア)のライセンスを配信及び強要するためのシステム100のブロック図である。
図1Aに示す実装では、ライセンス配信システム100は、DRMエージェント110と、登録認定機関120と、コンテンツプロバイダ130と、ユーザ140とを含む。1つの実装では、「ユーザ」という用語は、アプリケーション(例えば、ユーザのモバイルデバイス上のアプリケーション)、ユーザ認証情報、又はユーザの人物を指すことができる。
【0020】
[0026] 1つの実装では、ユーザ140は、コンテンツプロバイダ130からコンテンツを購入し、DRMエージェント110を介してコンテンツを再生する。ユーザ140は、自己生成されたユーザ鍵142を有し、ユーザ鍵142は、秘密対称鍵とすることができる。1つの実装では、ユーザは、スマートカードなどのリムーバブルデバイス上で又はクラウド内で動作するアプリケーションである。別の実装では、ユーザは、モバイルデバイス上で動作するアプリケーションである。コンテンツプロバイダ130は、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツを、ユーザ140に提供するように構成される。1つの実装では、コンテンツを消費することは、ユーザが、モバイルデバイス上でコンテンツを再生することを含む。登録認定機関120は、コンテンツのライセンスを生成するように構成される。ライセンスは、所与のユーザ140の使用権の組及び使用権のハッシュを記載する。DRMエージェント110は、ライセンスを受け取り、ライセンスが有効であって使用権が適切に満たされているかどうかを検証する。そうである場合、DRMエージェント110は、コンテンツを復号し、復号されたコンテンツをユーザ140に提供する。
【0021】
[0027] 1つの実装では、ユーザ140は、登録認定機関120から使用権を受け取り、ユーザに特有のユーザ鍵142で使用権を暗号化する。1つの実装では、使用権は、準同型暗号化を用いて暗号化され、準同型暗号化は、暗号化されたテキストに対して計算を実行することができ、これは、復号されるときに平文に対して実行される演算の結果と一致する。したがって、暗号Eが演算子∫と準同型である場合、2つのメッセージm及びm’が与えられると、下式
【数1】
となり、ここで、Dは、暗号Eに対応する復号を表す。
【0022】
[0028] 1つの実装では、DRMエージェント110は、ノンスを用いて、暗号化された使用権に対して準同型演算を実行する(「難読化」と呼ばれる)。ノンスは、暗号通信において1回だけ用いられる任意の乱数又は擬似乱数である。したがって、準同型演算は、選択された準同型暗号化に適合しなければならない。ユーザ140は、修正(又は難読化)暗号化使用権を受け取り、それを復号し、その結果をDRMエージェントに戻す。DRMエージェント110は、戻された演算が正しいかどうかを検証する。この場合、ユーザ140が、使用権を暗号化するために最初に用いられた適切な復号鍵を有する場合のみ、ユーザ140は、適切な情報を戻すことができる。
【0023】
[0029] 1つの実装では、ユーザ140は、モバイルデバイス上のアプリケーションとして実装され、モバイルデバイスは、DRMエージェント110とインターフェイスする第1のインターフェイス144と、登録認定機関120とインターフェイスする第2のインターフェイス146と、コンテンツプロバイダ130とインターフェイスする第3のインターフェイス148とを含む。1つの実装では、第2のインターフェイス146は、登録認定機関120によって生成される使用権を受け取り、使用権をアプリケーションに送信するように構成され、アプリケーションは、準同型暗号化を用いて鍵で使用権を暗号化する。アプリケーションは、第1のインターフェイス144を介して、暗号化された使用権をエージェント110に送信する。エージェント110は、暗号化された使用権を受け取り、ノンスを用いて、暗号化された使用権に対して演算を実行して、難読化暗号化使用権を生成し、第1のインターフェイス144を介して、難読化暗号化使用権をアプリケーションに返送する。次に、アプリケーションは、難読化暗号化使用権を復号し、復号された難読化使用権をエージェントに返送して、使用権及びユーザの妥当性を検証する。1つの実装では、エージェント110が、使用権及びユーザが有効であって、アプリケーションによってコンテンツを消費することができることを確認すると、復号されたコンテンツが、第1のインターフェイス144を介してエージェント110から受け取られる。別の実装では、第3のインターフェイスは、エージェント110が、使用権及びユーザが有効であって、アプリケーションによってコンテンツを消費することができることを確認すると、コンテンツプロバイダ130から復号されたコンテンツを受け取るように構成される。
【0024】
[0030]
図1Bは、本開示の1つの実装による、コンテンツ(例えばメディア)のライセンスを配信及び強要するためのプロセス150のフロー図である。
図1Bに示す実装では、ユーザ140がコンテンツプロバイダ130からコンテンツを購入すると、ステップ152において、ユーザ140が、コンテンツプロバイダ130から、ライセンスに記述される使用権によって規定される条件に従って消費されるべきコンテンツを受け取る。また、ステップ154において、コンテンツプロバイダ130が、コンテンツのライセンスを生成するように登録認定機関120に通知する。ライセンスは、所与のユーザ140の使用権の組を記載する。次に、登録認定機関120からユーザ140に使用権が送信され、ステップ160において、ユーザ140が、ユーザに特有のユーザ鍵142で使用権を暗号化し、ステップ162において、ユーザ140が、暗号化された使用権をDRMエージェント110に送信する。1つの実装では、使用権は、準同型暗号化を用いて暗号化され、準同型暗号化は、暗号化されたテキストに対して計算を実行することができ、これは、復号されるときに平文に対して実行される演算の結果と一致する。したがって、暗号Eが演算子∫と準同型である場合、2つのメッセージm及びm’が与えられると、下式
【数2】
となり、ここで、Dは、暗号Eに対応する復号を表す。
【0025】
[0031] 1つの実装では、DRMエージェント110は、ノンスを用いて、暗号化された使用権に対して演算を実行し、その結果をユーザ140に返送する。ステップ170において、ユーザ140が、修正暗号化使用権を受け取り、それを復号し、その結果をDRMエージェント110に戻す。ステップ180において、DRMエージェント110が、戻された演算が正しいかどうかを検証する。この場合、ユーザ140が、最初に使用権を暗号化するために用いられたユーザ鍵142に対応する適切な復号鍵を有する場合のみ、ユーザ140は、適切な情報を戻すことができる。したがって、ステップ180において、戻された演算が正しいと判定された場合、ステップ184において、使用権に従ってコンテンツを再生することができる。そうでなければ、ステップ180において、戻された演算が正しくないと判定された場合、ステップ182において、コンテンツを再生することができない。
【0026】
[0032] 1つの実装では、ユーザ140がコンテンツプロバイダ130からコンテンツを購入すると、コンテンツプロバイダ130及び登録認定機関120によって、以下の動作が実行される。コンテンツプロバイダ130は、使用権を規定し、使用権は、コンテンツアイテムの識別子と、コンテンツの認可された使用条件とを含む。コンテンツプロバイダ130は、ユーザ140とのリンクを用いて、登録認定機関120に使用権を送信する。登録認定機関120は、ユーザ140に使用権を暗号化するように要求する。ユーザ140は、そのユーザ鍵142で使用権を暗号化し、暗号化された使用権を登録認定機関120に戻す。1つの実装では、使用権は、準同型暗号化を用いて暗号化される。登録認定機関120は、使用権のハッシュを計算して、ハッシュ使用権を作成する。1つの実装では、ハッシュは、base64で符号化されたSHA-512である。
【0027】
[0033] 1つの実装では、使用権は、以下のように表すことができる。すなわち、使用権={コンテンツID,認可された権利}である。ここで、コンテンツIDは、Entertainment Identifier Registry(EIDR)を使用し、認可された権利は、認可されたオーディオ言語のリストと認可された字幕のリストとを列挙するデータ構造である。
【0028】
[0034] 1つの実装では、DRMエージェント110が、一意の128ビットDRM_KEYを使用して、スクランブル鍵CWを暗号化する。1つの実装では、高度暗号化標準(AES)暗号化が使用される。したがって、暗号化CW=AES{DRM_KEY}(CW)である。更に、コンテンツは、以下のように表すことができる。すなわち、コンテンツ={コンテンツID,暗号化CW,スクランブルエッセンス}である。ここで、コンテンツIDは、EIDRコードであり、暗号化CWは、AES暗号化CWであり、スクランブルエッセンスは、CWを用いてエッセンス(全ての利用可能なオーディオトラック及び字幕トラックを含む)をAES暗号化したものである。
【0029】
[0035] 他の実装では、コンテンツプロバイダ130が、複数のDRM技術を使用する。この場合、サポートされる各DRMエージェントは、DRM-IDによって識別される。この場合、コンテンツは、DRM-IDと対応する暗号化CWとのペアのリストを含むこともできる。更に、各暗号化CWは、対応するDRMエージェントの秘密DRM_KEYによって暗号化されたCWである。
【0030】
[0036] 1つの実装では、ユーザ140がコンテンツプロバイダ130からコンテンツを購入すると、コンテンツプロバイダ130が、購入されたバージョンのコンテンツをEIDRグローバルデータベースに登録して、コンテンツIDを受け取る。コンテンツプロバイダ130は、また、CWであるランダムな128ビットの数を生成する。更に、コンテンツプロバイダ130は、対応するDRM_KEYを用いてCWを暗号化することによって、対応する暗号化CWを計算する。コンテンツプロバイダ130は、CWを用いて非暗号文エッセンスをスクランブル化して、スクランブルエッセンスを生成する。1つの実装では、CTRモードのAESがスクランブルに使用される。コンテンツプロバイダ130は、これらの情報を全て、コンテンツにパッケージ化する。コンテンツは、自動保護されているので、自由に配信することができる。
【0031】
[0037]
図2は、本開示の1つの実装による、登録認定機関によって生成されるライセンス200のブロック図である。
図2に示す実装では、ライセンス200は、暗号化使用権210、ハッシュ使用権220、及び署名230を含む。1つの実装では、署名230は、暗号化使用権210及びハッシュ使用権220の登録認定機関によるデジタル署名である。1つの実装では、登録認定機関120が、ライセンス200をユーザに提供する。別の実装では、ライセンスは、ブロックチェーンに保存される。
【0032】
[0038] 1つの実装では、ユーザ140がコンテンツアイテムを再生する前に、DRMエージェント110が、提供されたライセンス200についての3つの条件を受け取り、それらを検証する。第1に、DRMエージェント110は、既知の合法の認定機関が、署名230の妥当性をチェックすることによって、ライセンスを発行したこと、及びそれが登録認定機関120によって署名されたことを検証する。第2に、DRMエージェント110は、以下のこと、すなわち、(1)ノンス(Agent_nonce)を生成し、(2)下式を計算し、
【数3】
(3)ObfuscatedEncryptedUsageRightsをユーザ140に送信して、ユーザ鍵142を用いてそれを復号し、(4)その結果Obfuscated DecryptedUsageRightsをユーザ140から受け取り、(5)下式を計算し、
【数4】
(6)DecryptedUsageRightsのハッシュを計算して、それがハッシュ使用権220に等しいことを検証する、ことを実行することによって、ライセンスの所有者(すなわちユーザ)がライセンスの使用権を復号することができたことを確かめるためにチェックする。(3)に関して、暗号が演算fについて準同型であるので、演算結果は、元の使用権となるはずである。更に、ノンスを用いて、転送されたDecryptedUsageRightsを保護したので、ユーザ140がユーザ鍵142を所有していたことが証明される。また、これによって、確実に、攻撃者が辞書攻撃をすることができなくなる。第3に、DRMエージェント110は、使用権が有効である、すなわち、条件が満たされていることをチェックする。したがって、上述の3つの条件が満たされると、DRMエージェント110は、コンテンツを復号し始める。
【0033】
[0039] 1つの特定の実装では、準同型暗号化は、
【数5】
として表される演算XORのために、高度暗号化標準カウンタ(AES-CTR)モードを使用する。したがって、演算は、以下のように記述される。
【数6】
ここで、E
{K,IV}は、鍵K及び初期ノンス又は初期化ベクトル(IV)(初期カウンタ=0)を用いるCTRモードのAES暗号化を表し、D
{K,IV}は、対応する復号を表す。
【0034】
[0040] AES-CTRモードの使用は、XOR関数を暗号化されたメッセージに適用することができることを意味する。
【0035】
[0041]
図1Aに戻って参照すると、1つの実装では、ユーザ鍵142は、ユーザに特有の128ビットの乱数であり、ユーザ140によって生成される。ユーザ鍵142は、ユーザに知られているだけであり、秘密に保たれている。1つの特定の実装では、登録認定機関120が、Rivest-Shamir-Adleman(RSA)4096公開-秘密鍵ペア(K
pub_authority及びK
pri_authority)を用いて、署名を生成する。鍵K
pub_authorityは、全てのユーザ及びDRMエージェントに利用可能である。1つの特定の実装では、登録認定機関120が、RSA2048公開-秘密鍵ペア(K
pub_user及びK
pri_user)、及びK
pri_authorityを用いて登録認定機関によって署名された対応するX509証明書を(ユーザ140に)提供する。
【0036】
[0042]
図3は、本開示の別の実装による、登録認定機関によって生成されるライセンス300のブロック図である。
図3に示す実装では、ライセンス300は、暗号化使用権310、ハッシュ使用権320、初期化ベクトル(IV)330、及び署名340を含む。1つの実装では、署名340は、暗号化使用権310、ハッシュ使用権320及びIV330の登録認定機関120によるデジタル署名である。1つの実装では、登録認定機関120が、ライセンス300をユーザに提供する。別の実装では、ライセンスは、ブロックチェーンに保存される。
【0037】
[0043] 別の実装では、ユーザがコンテンツプロバイダからコンテンツアイテムを購入すると、
図1Aに示すエンティティによって、以下の動作が実行される。コンテンツプロバイダ130が、使用権(UsageRights)を規定する。使用権は、ユーザ140が取得した全てのオーディオトラック及び字幕を列挙する。登録認定機関120が、使用権のハッシュを計算して、HashUsageRightsを作成する。1つの実装では、下式である。
【数7】
コンテンツプロバイダ130が、ユーザ140とのリンク及びユーザの公開証明書K
pub_userを用いて、登録認定機関120に使用権を送信する。登録認定機関120は、それがユーザ140に提供した公開-秘密鍵ペア(K
pub_user及びK
pri_user)に基づいて通常のチャレンジレスポンスを用いて、ユーザ140のアイデンティティを検証する。登録認定機関120は、使用権をユーザ140に確実に送信することによって、ユーザ140に使用権を暗号化するように要求する。ユーザ140は、128ビットのノンスIVを生成することによって、ユーザ鍵142で使用権を暗号化する。ユーザ140は、下式
【数8】
のように、ユーザ鍵及びIV330でUsageRightsを暗号化することによって、EncryptedUsageRightsを計算する。その後、ユーザ140は、EncryptedUsageRights及びIVを登録認定機関120に戻し、登録認定機関120は、上記の要素を含むライセンスを構築する。
【0038】
[0044]
図4Aは、本開示の1つの実装による、エージェントによって、難読化された暗号化使用権を生成するためのプロセス400を示すフロー図である。したがって、
図4Aに示す実装では、ユーザ140がコンテンツアイテムを再生する前に、DRMエージェント110が、ステップ410においてライセンス300を受け取り、記憶されているK
pub_authorityを用いて、ステップ420において署名340の妥当性をチェックすることによって、ライセンス300の妥当性を検証する。ステップ420において、署名の妥当性を確認することができない場合、プロセス400は、ステップ422で停止する。そうでなければ、ステップ420において、署名の妥当性が確認された場合、DRMエージェント110は、次に、ステップ430において、EncryptedUsageRights(すなわち、ユーザが自身の鍵を用いて暗号化した使用権)のサイズのノンス(すなわち、Agent_nonce)を生成し、ステップ440において、下式を計算する。
【数9】
ステップ450において、その結果(すなわち、ObfuscatedEncryptedUsageRights)を、IV330と一緒に、ユーザ140に送信する。
【0039】
[0045]
図4Bは、本開示の1つの実装による、ユーザによって、難読化された暗号化使用権を受け取り、復号された難読化使用権を生成するためのプロセス460を示すフロー図である。
図4Bに示す実装では、ステップ470において、エージェントから、難読化された暗号化使用権を受け取る。次に、ステップ480において、ユーザ鍵142及びIV330を用いて、難読化された暗号化使用権を復号することによって、復号された難読化使用権を生成する。
【数10】
ステップ490において、その結果をエージェントに返送する。
【0040】
[0046]
図5は、本開示の1つの実装による、復号された難読化使用権を受け取り、スクランブル解除されたコンテンツを生成するためのプロセス500を示すフロー図である。したがって、
図5に示す実装では、エージェント110が、ステップ510において、ObfuscatedDecryptedUsageRightsを受け取り、ステップ520において、下式を計算する。
【数11】
DRMエージェント110は、また、ステップ530において、DecryptedUsageRightsのハッシュを計算し、ステップ540において、それがHashUsageRights(すなわち、登録認定機関120から最初に受け取ったライセンスの使用権のハッシュ;SHA_512(DecryptedUsageRights) == HashUsageRights)に等しいことを検証する。ステップ540において、テストがYESの場合、DRMエージェント110は、ステップ550において、Decrypted UsageRightsのコンテンツIDがコンテンツのコンテンツIDと一致することを検証することによって、DecryptedUsage Rightsが有効であるかどうかを検証する。そうである場合、ステップ560において、DRMエージェント110は、その秘密鍵DRM_KEYを用いて暗号化CWを復号して、非暗号文CWを取り出す。次に、ステップ570において、DRMエージェント110は、このCWを用いてコンテンツをスクランブル解除し、DecryptedUsageRightsに列挙される言語及び字幕を提供する。そうでなければ、ステップ540及び/又は550において、テストがNOの場合、プロセス500は停止する。
【0041】
[0047] 開示した実装についての本明細書の説明は、当業者が本開示を実施又は利用できるように行ったものである。当業者には、これらの実装の多数の修正が容易に明らかになると思われ、また本明細書で定義した原理は、本開示の趣旨又は範囲から逸脱することなく他の実装にも適用することができる。したがって、本開示は、本明細書に示す実装に限定されることを意図するものではなく、本明細書で開示した原理及び新規の特徴と一致する最も広い範囲が与えられるべきである。
【0042】
[0048] 本開示の様々な実装は、電子ハードウェア、コンピュータソフトウェア、又はこれらの技術の組み合わせの形で実現される。いくつかの実装は、1又は2以上のコンピュータ装置により実行される1又は2以上のコンピュータプログラムを含む。一般に、コンピュータ装置は、1又は2以上のプロセッサ、1又は2以上のデータ記憶構成要素(例えば、ハードディスクドライブ及びフロッピーディスクドライブ、CD-ROMドライブ、及び磁気テープドライブなどの揮発性又は不揮発性メモリモジュール及び持続的な光学及び磁気記憶装置)、1又は2以上の入力装置(例えば、ゲームコントローラ、マウス及びキーボード)、及び1又は2以上の出力装置(例えば、ディスプレイ装置)を含む。
【0043】
[0049] コンピュータプログラムは、通常、持続的な記憶媒体に記憶され、実行時にメモリにコピーされる実行可能なコードを含む。少なくとも1つのプロセッサが、所定の順序でメモリからプログラム命令を取り出すことによって、コードを実行する。プログラムコードの実行中には、コンピュータは、入力及び/又は記憶装置からデータを受け取り、データに対して処理を実行し、これにより得られたデータを出力及び/又は記憶装置に供給する。
【0044】
[0050] 当業者であれば、本明細書で説明した様々な例示的なモジュール及び方法ステップを電子ハードウェア、ソフトウェア、ファームウェア又はこれらの組み合わせとして実装することができると理解するであろう。このハードウェアとソフトウェアの互換性を明確に示すために、本明細書では、様々な例示的なモジュール及び方法ステップについて、一般にこれらの機能面から説明した。このような機能をハードウェア又はソフトウェアのいずれとして実装するかは、特定の用途及びシステム全体に課せられる設計制約に依存する。当業者であれば、説明した機能を各特定の用途のために様々な方法で実装することができるが、このような実装の決定を、本開示の範囲からの逸脱を引き起こすものとして解釈すべきではない。また、モジュール又はステップ内の機能のグループ化は、説明を容易にするためのものである。本開示から逸脱することなく、特定の機能を1つのモジュール又はステップから別のモジュール又はステップへ移すことができる。
【0045】
[0051] 上記の各実施例の全ての特徴が、本開示の特定の実装において必ずしも必要というわけではない。更に、本明細書で提示した説明及び図面は、本開示が広く意図する主題を表すものであると理解されたい。更に、本開示の範囲は、当業者にとって明らかになり得る他の実装を完全に含み、したがって、本開示の範囲は、添付の特許請求の範囲以外のものによって限定されるものではないと理解されたい。
【符号の説明】
【0046】
100 ライセンス配信システム
110 DRMエージェント
120 登録認定機関
130 コンテンツプロバイダ
140 ユーザ
142 ユーザ鍵
144 第1のインターフェイス
146 第2のインターフェイス
148 第3のインターフェイス
200 ライセンス
210 暗号化使用権
220 ハッシュ使用権
230 署名
300 ライセンス
310 暗号化使用権
320 ハッシュ使用権
330 初期化ベクトル(IV)
340 署名