鍵生成の方法および装置
M×T個の鍵のある鍵空間において所与の基本鍵KMTおよび所与の修正鍵K'MT
からセグメント鍵KSmtを生成する方法。基本鍵KMTは二つの部分LMT、RMTに分割され、それに対して一方向性関数がそれぞれM−m回、T−t回適用され、その結果が再び組み合わされてターゲット基本鍵を形成する。修正鍵K'MTに対して一方向性関数が、所与の基本鍵とセグメント鍵との間の距離値zに対応する回数だけ適用される。ある好ましい実施形態では、z=(M−m)+(T−t)である。この結果はターゲット基本鍵とXORされてセグメント鍵KSmtが得られる。装置も提供される。
からセグメント鍵KSmtを生成する方法。基本鍵KMTは二つの部分LMT、RMTに分割され、それに対して一方向性関数がそれぞれM−m回、T−t回適用され、その結果が再び組み合わされてターゲット基本鍵を形成する。修正鍵K'MTに対して一方向性関数が、所与の基本鍵とセグメント鍵との間の距離値zに対応する回数だけ適用される。ある好ましい実施形態では、z=(M−m)+(T−t)である。この結果はターゲット基本鍵とXORされてセグメント鍵KSmtが得られる。装置も提供される。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概括的にはデジタル・コンテンツ保護に、詳細には初期鍵からの暗号化鍵および復号鍵の生成に関する。
【背景技術】
【0002】
この節は、読者に技術の諸側面を紹介するために意図されている。それらの側面は本発明のさまざまな側面に関係することがありうる。この議論は、読者に、本発明のさまざまな側面のよりよい理解を容易にする背景情報を与える助けになると思われる。よって、これらの陳述はこの観点で読まれるべきであって、従来技術の自認として読まれるべきではないことを理解しておくべきである。
【0003】
WO2008/055900は、初期の「マスター」鍵からの暗号化鍵および復号鍵の生成のためのシステムを教示している。このシステムは、低位の諸向上層(lower enhancement layers)のための諸復号鍵を生成しうるもとになる単一の鍵を受信側に提供するためにMPEG-4において有利に使用されうる。図1は、2かける2(すなわち4)の向上層についての鍵生成を例解する。鍵2,2へのアクセスをもつ受信機は、「マスター」鍵の特定の部分に一方向性関数、有利にはハッシュを適用することによって、鍵1,2;2,1および1,1を生成しうる。たとえば、鍵2,1を生成するために、受信機は鍵2,2の左側――L2,2――を鍵2,2の右側――R2,2――のハッシュ値――H(R2,2)――と連結する。
【0004】
同様に、鍵1,2を生成するために、受信機は鍵2,2の右側――R2,2――を鍵2,2の左側――L2,2――のハッシュ値――H(L2,2)――と連結する。鍵1,1は、鍵2,2;2,1および1,2のいずれからでも生成されうる。当業者は、
鍵1,2を介して計算される鍵1,1 Key1,1=L1,2‖H(R1,2)=H(L2,2)‖H(R2,2)が、
鍵2,1を介して計算される鍵1,1 Key1,1=H(L2,1)‖R2,1=H(L2,2)‖H(R2,2)
と等しいことを認識するであろう。
【0005】
当業者は、鍵を修正するために使われる関数が一方向性なので、鍵3,2を鍵2,2からまたは鍵3,1から生成することが計算量的に現実的でないことも認識するであろう(逆は可能であるが)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】WO2008/055900
【発明の概要】
【発明が解決しようとする課題】
【0007】
のちに見るように、WO2008/055900には欠点がある。したがって、従来技術の欠点を克服するコンテンツ保護システムの必要があることが理解されるであろう。本発明はそのような解決策を提供する。
【課題を解決するための手段】
【0008】
第一の側面では、本発明は、n次元の鍵空間におけるターゲット鍵の生成の方法であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応する、方法に向けられる。n個の値から構成される座標(X,Y,…)をもつ開始基本鍵KMTが取得され、n個の鍵部分に分割され、各鍵部分が一つの次元に対応する。各次元について、その次元に対応する鍵部分に一方向性関数が、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用され、それによりターゲット基本鍵部分を取得する。n個のターゲット基本鍵部分が組み合わされて、ターゲット基本鍵が得られる。開始修正鍵K'MTが取得される。開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値が生成される。開始修正鍵K'MTに一方向性関数が前記距離値に等しい回数適用され、それによりターゲット修正鍵が得られる。次いで、ターゲット基本鍵およびターゲット修正鍵が組み合わされてターゲット鍵が得られる。
【0009】
第一の好ましい実施形態では、nは2に等しい。
【0010】
第二の好ましい実施形態では、ターゲット基本鍵およびターゲット修正鍵はXORされる。
【0011】
第三の好ましい実施形態では、距離値は、各次元についての開始基本鍵KMTおよびターゲット鍵の座標間の差を足すことによって計算される。
【0012】
第四の好ましい実施形態では、すべての鍵部分の長さは同一である。
【0013】
第五の好ましい実施形態では、開始基本鍵および開始修正鍵は開始グローバル鍵に含まれる。
【0014】
第二の側面では、本発明は、n次元の鍵空間におけるターゲット鍵の生成のための装置であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応する、装置に向けられる。本装置は:n個の値から構成される座標(X,Y,…)をもつ開始基本鍵KMTを取得し;前記開始基本鍵KMTをn個の鍵部分に分割し、ここで、各鍵部分が一つの次元に対応し;各次元について、一つの次元に対応する鍵部分に一方向性関数を、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用し、それによりターゲット基本鍵部分を取得し; n個のターゲット基本鍵部分を組み合わせて、ターゲット基本鍵を取得し;開始修正鍵K'MTを取得し;開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成し;開始修正鍵K'MTに一方向性関数を前記距離値に等しい回数適用し、それによりターゲット修正鍵を取得し;ターゲット基本鍵およびターゲット修正鍵を組み合せてターゲット鍵を取得するよう適応されたプロセッサを有する。
【0015】
本発明の好ましい特徴について、これから、限定しない例として、付属の図面を参照しつつ述べる。
【図面の簡単な説明】
【0016】
【図1】従来技術の文書WO2008/055900において教示される鍵生成を示す図である。
【図2】本発明のある好ましい実施形態に基づいて、マスター基本鍵K33およびマスター修正鍵K'33からどのようにして鍵が計算されうるかを示す図である。
【図3】本発明のある好ましい実施形態に基づく鍵生成のためのシステムを示す図である。
【発明を実施するための形態】
【0017】
本発明は、提起されている解決策が結託攻撃(collusion attacks)に対して脆弱でありうることが発見されたという事実にその存在理由を見出す。
【0018】
攻撃者が二つの受信機を分解し、少なくとも二つの保護されたライセンス鍵を入手する(あるいは他の仕方でこれらの鍵を取得する)とする。さらに、これらの鍵の一つが鍵2,1=(L2,2‖H(R2,2))であり、他方の鍵は鍵1,2=(H(L2,2)‖R2,2)であるとする。どちらの装置も鍵2,2を生成することはできないが、鍵2,1=(L2,2‖H(R2,2))の左側の値と鍵1,2=(H(L2,2)‖R2,2)の右側の値を使うことにより、攻撃者は鍵2,2=(L2,2‖R2,2)を再構成できる。これが結託攻撃である。本発明は、この結託攻撃に対処するための一般的な鍵生成方式を二つの実施形態とともに提案する。
【0019】
本発明の一般的な方式は、WO2008/055900における方式を、その鍵(以下「基本鍵」と呼ぶ)を修正鍵を用いて修正してセグメント鍵を生成することによって発展させる。
【0020】
以下、次の記法を用いる。
【0021】
・鍵空間はM×T個の異なるセグメント鍵(すなわち、一方の次元方向にM、他方の次元方向にT)を含み、各セグメント鍵はKSmtと表され、ここでm∈{1,…,M}であり、t∈{1,…,T}である。
【0022】
・2kビット鍵Kmtは、22k-1<Kmt<22kとなるような鍵である。Kmtのk個の上位ビット(すなわち左側部分)はLmtと記され、k個の下位ビット(すなわち右側部分)はRmtと記される。換言すれば、Kmt=Lmt‖Rmtであり、Lmt×2k+Rmtと書くことができる。鍵Kmtとその表現Lmt‖Rmtの間の区別はしない。
【0023】
・鍵KMTは、好ましくはWO2008/055900のようにして他の基本鍵が生成されうるもとになる2kビット・マスター基本鍵である。
【0024】
・H1、H2およびH3は一方向性関数を表す。ここで、H1およびH2の出力のサイズはkビットであり、H3の出力のサイズは2kビットである。H1およびH2が同一であることが有利であるが、このことは必須ではない。H1、H2についての好適なハッシュ関数はたとえば、128ビットの出力をもつMD5であり、H3についてはたとえば256ビットの出力をもつSHA-256である。
【0025】
・K'MTは、後述する2kビット・マスター修正鍵を表す。
【0026】
修正鍵は基本鍵と相異なるものとして記述されるが、両方の鍵をグローバル鍵中で提供し、グローバル鍵が必要なときにいつでも分割されて修正鍵および基本鍵にされることも可能である。
【0027】
セグメント鍵KSmtは次のようにして生成される:
・KMTを、KMT=(LMT‖RMT)となるよう二つの部分、好ましくは(今の例におけるように)半分に分割する。
・第一および第二の距離値x=M−mおよびy=T−tが計算される。距離値は、ある次元方向において、マスター鍵と現在の鍵の間の「レベル」の差を表す。
・総合距離値zが計算される。総合距離値は、実施形態に依存して異なる仕方で計算される。
・セグメント鍵KSmtは
KSmt=(H1x(LMT)‖H2y(RMT)) XOR H3z(K'MT)
を計算することによって生成される。別の言い方をすれば、KSmt=Kmt XOR K'mtである。
【0028】
第一の実施形態では、z=x+yである。
【0029】
第二の実施形態では、zは次のように計算される。
・x=0かつy=0であれば、z=0;
・x=0かつy≠0であれば、z=2y−1;
・x≠0かつy=0であれば、z=2x−1;
・x≠0かつy≠0であれば、z=2x+2y−2。
【0030】
鍵生成方式を、以下で例によって示す。
【0031】
本例について、次のことを想定する。
・M=3、T=3;
・H1=H2はkビットの出力をもち、H3は2kビットの出力をもつ。
・zは上記第二の実施形態に従って計算される。
【0032】
図2は、マスター基本鍵K33およびマスター修正鍵K'33から、鍵KS32、KS31、KS23、KS22、KS21、KS13、KS12およびKS11がどのようにして計算されうるかを示している。当業者は、マスター基本鍵K33とマスター修正鍵K'33がヘッドエンドにおける装置によってランダムにまたは擬似ランダムに生成されることが好ましいことを認識するであろう。
【0033】
すると、任意の装置(ヘッドエンドにおけるまたは受信機側における)がマスター基本鍵K33およびマスター修正鍵K'33から任意の鍵を生成しうる。一般的な仕方で表現すると、装置は、ある「上位」鍵から任意の「低位」鍵を生成できる――低位鍵は両方の次元方向において同じまたはより低い値をもつ――が、逆はできない。
【0034】
もちろん、類似の計算により、ある低位鍵を、最も近いいくつかの上位鍵のうちの一つから生成すること、たとえばKS22をK32、K'32、MおよびTから、あるいはK23、K'23、MおよびTからのいずれかで生成することも可能である。たとえば、K32およびK'32から、KS22=(H1(L32)‖R32) XOR H3(K'32)となる。
【0035】
さらなる明確化のため、図2におけるzの種々の値がどのようにして計算されたかを説明する:
・m=3, t=2: x=M−m=3−3=0; y=T−t=3−2=1; z=2y−1=21−1=1;
・m=3, t=1: x=M−m=3−3=0; y=T−t=3−1=2; z=2y−1=22−1=3;
・m=2, t=3: x=M−m=3−2=1; y=T−t=3−3=0; z=2x−1=21−1=1;
・m=2, t=2: x=M−m=3−2=1; y=T−t=3−2=1; z=2x+2y−1=21+21−2=2;
・m=2, t=1: x=M−m=3−2=1; y=T−t=3−1=2; z=2x+2y−1=21+22−2=4;
・m=1, t=2: x=M−m=3−1=2; y=T−t=3−2=1; z=2x+2y−1=22+21−2=4;
・m=1, t=1: x=M−m=3−1=2; y=T−t=3−1=2; z=2x+2y−1=22+22−2=6。
【0036】
当業者は、XOR以外の好適な組み合わせ関数が可能であることを認識するであろう。たとえば、ターゲット鍵を、修正鍵および基本鍵の連結をハッシュすることによって得てもよい。
【0037】
提案される方式では、「低位」セグメント鍵をもつ二つの受信機の結託は、「上位」セグメント鍵の計算を許容しない。
【0038】
二つの受信機R1およびR2を考える。R1はK31およびK'31を受信し、一方、R2はK13およびK'13を受信する。よって、R1はセグメント鍵KS31、KS21およびKS11を生成しうる。R2はセグメント鍵KS13、KS12およびKS11を生成しうる。共有されるセグメント鍵はKS11であり、一方、KS31およびKS21はR1だけに限られており、KS13およびKS12はR2だけに限られている。
【0039】
WO2008/055900の解決策では、R1からのL31とR2からのR13を組み合わせることによってKS33=K33を生成することが可能であった。しかしながら、本発明に基づく方式ではこれは不可能である。KS33を計算するためには、二つの鍵K33およびK'33を計算しなければならない。
【0040】
WO2008/055900の方式と同様、K33はR1からのK31のL31とR2からのK13のR13を組み合わせることによって容易に得られる。しかしながら、R1からのK'31とR2からのK'13を組み合わせることによってK'33を計算することは計算量的に困難である。
【0041】
実際、K'33を計算しそれによりKS33を得るためには、K'31=K'13=H33(K'33)なので、H3の逆を必要とする。一方向性関数は、今のところ、逆を求めることはできないとされている。
【0042】
K'32=H31(K'33)、K'23=H31(K'33)、K'22=H32(K'33)を計算し、それによりR1からのK'31およびR2からのK'13を組み合わせることによってセグメント鍵KS32 KS23 KS22を生成することさえ可能ではない。
【0043】
このように、修正鍵K'mtの使用は、本方式に、結託攻撃に対する耐性をもたらす。
【0044】
よって、「上位」セグメント鍵が「低位」セグメント鍵の特徴の組み合わせによって生成できないことが認識されるであろう。
【0045】
本発明の鍵生成方式は、DRM(Digital Right Management[デジタル権利管理])技術によって提供される柔軟なサービスに特に適応されたMPEG-FGS(Fine Grain Scalability[微細粒度スケーラビリティ])について特に好適である。スケーラブル暗号化技法は、好適な鍵管理方式と組み合わされれば、改善されたアクセス制御プロセスを可能にする。
【0046】
本発明は二次元で記述してきたが、当業者は、基本鍵をn個の部分に分割することによってn次元に一般化されうることを認識するであろう。nは好ましくは2の冪乗である。
【0047】
図3は、本発明のある好ましい実施形態に基づく鍵生成および配布のためのシステムを示している。システム200は、少なくともマスター基本鍵KMTおよびマスター修正鍵K'MTを生成するよう適応されたコンテンツ・プロバイダー210を有する。これら二つの鍵は、すべてのセグメント鍵を生成することを許容する。コンテンツ・プロバイダー210はさらに、すべてのセグメント鍵を計算し、コンテンツを暗号化するためにそれらを使うよう適応されている。次いで暗号化されたコンテンツは、配送のために、適切な配送サーバー230、たとえばウェブ・サーバーに転送261される。コンテンツ・プロバイダー210はマスター鍵KMT、マスター修正鍵K'MTおよび必要な使用規則をライセンス・サーバー240に送る262。使用規則は、コンテンツがどのように使用されるべきか、典型的には品質レベルおよび可能な解像度を指定する。ライセンス・サーバー240はコンテンツ・ライセンスの生成およびユーザーへの配送を受け持つ。他端では、ユーザー装置220が配送サーバー230からコンテンツをダウンロードする263、264。暗号化されたコンテンツを消費できるためには、ユーザー装置220はライセンス・サーバー240にライセンスを要求265する。ライセンス・サーバー240は、基本鍵Kmtおよび修正鍵K'mtを含む有効なライセンスを生成する。これら二つの鍵は、ユーザー装置220によって要求される品質に適合するよう、ライセンス・サーバー240によって計算される。最後に、しばしば支払い後に、ライセンスがユーザー装置220に安全に送達266され、ライセンス中の使用規則に従って、暗号化されたコンテンツが解読され使用されることができるようになる。たとえば、ユーザー装置がビデオの完全な品質についての権利を取得する場合、ライセンスはマスター基本鍵KMTおよびマスター修正鍵K'MTを含む。ライセンス・サーバー240は通信のためのインターフェース・ユニット242、少なくとも一つのプロセッサ(以下「プロセッサ」)244およびライセンスを生成するよう適応されたメモリ空間246を有する。
【0048】
上記第一および第二の実施形態において、zの値は相対的な仕方で、すなわち、K'mtが必ずしもマスター修正鍵K'MTでない場合に修正鍵K'mtから、計算されることもできる。これは第一の実施形態についてはうまく機能する。任意の低位修正鍵K'ijを得るために一方向性関数が修正鍵K'mtに適用されるべき回数をユーザー装置220が計算することが容易だからである。しかしながら、第二の実施形態ではもう少し事情は複雑になる。
【0049】
実際、別の修正鍵K'mtに対する任意の修正鍵K'ijについてのzの計算は、MおよびTの知識を要求する。その場合、zの計算は次のようにして実行されうる。
1.まずK'ijについてz1を計算する、たとえばz1=2M-i+2T-j−2、
2.次にK'mtについてz2を計算する、たとえばz2=2M-m+2T-t−2、
3.最後にz=z1−z2およびK'ij=H3z(K'mt)。
【0050】
M=3、T=3であり、受信された修正鍵はK'22であり、ユーザー装置220が最低位の修正鍵K'11を計算することを考える。その際、ユーザー装置220はK'11についてz1を計算し:z1=2M-1+2T-1−2=22+22−2=6、K'22についてz2を計算する:z2=2M-2+2T-2−2=21+21−2=2。K'22に対するK'11についてのzの値は、z=z1−z2=6−2=4である。よって、K'11=H3z(K'22)=H34(K'22)である。よって、ユーザー装置は当該鍵空間についてのMおよびTに関する知識を必要とすることが見て取れるであろう。よって、ユーザー装置220がすでにMおよびTの値を有するのでない場合(たとえばユーザー装置がこれらの値を登録フェーズの間に、あるいはダウンロードされたコンテンツと一緒に取得した場合、それらの値が変わらないとすれば、有することがありうる)、これらの値はユーザー装置に、たとえばライセンス266と一緒にメッセージ内において、送達される。
【0051】
このモデルの利点は、ユーザーが受信した暗号化されたコンテンツを他のユーザー250に超流通(super-distribution)を通じて再配送できるということである。これは、配送サーバーの直接的な関与なしに、スケーラブルなコンテンツが幅広い多様な装置(携帯電話、TVセット、ハイエンドPCなど)をもつ多数のユーザーに配送されることを許容する。スケーラブルなコンテンツが自由に配送できるものの、スケーラブルなコンテンツにアクセスするためには、受信者はライセンス・サーバーに接触して(支払いをして)セグメント解読のために必要とされる基本鍵および修正鍵を入手しなければならない。
【0052】
コンテンツ・プロバイダー210およびユーザー装置220は通信のためのインターフェース・ユニット212、222、少なくとも一つのプロセッサ(以下「プロセッサ」)214、224およびメモリ空間216、226を有する。コンテンツ・プロバイダー210のプロセッサ214は、マスター基本鍵KMTおよびマスター修正鍵K'MTを生成するよう適応されているが、有利にはさらに、すべてのセグメント鍵KSmtを生成し、それらのセグメント鍵を使ってコンテンツを暗号化するよう適応されている。ユーザー装置220のプロセッサ222は、ライセンス中で受信された鍵からセグメント鍵を生成し、これらの鍵を使ってコンテンツを解読するよう適応される。
【0053】
本稿および(適切な場合には)請求項および図面において開示される各特徴は、独立して設けられてもよいし、あるいは任意の適切な組み合わせで設けられてもよい。ハードウェアで実装されるものとして記述されている特徴はソフトウェアで実装されてもよく、逆にソフトウェアで実装されるものとして記述されている特徴はハードウェアで実装されてもよい。接続は、適用可能な場合には、無線接続または有線として実装されてもよく、必ずしも直接または専用の接続でなくてもよい。
【0054】
請求項に参照符号があったとしても、単に例解のためであり、特許請求の範囲に対して限定する効果をもつものではない。
【技術分野】
【0001】
本発明は、概括的にはデジタル・コンテンツ保護に、詳細には初期鍵からの暗号化鍵および復号鍵の生成に関する。
【背景技術】
【0002】
この節は、読者に技術の諸側面を紹介するために意図されている。それらの側面は本発明のさまざまな側面に関係することがありうる。この議論は、読者に、本発明のさまざまな側面のよりよい理解を容易にする背景情報を与える助けになると思われる。よって、これらの陳述はこの観点で読まれるべきであって、従来技術の自認として読まれるべきではないことを理解しておくべきである。
【0003】
WO2008/055900は、初期の「マスター」鍵からの暗号化鍵および復号鍵の生成のためのシステムを教示している。このシステムは、低位の諸向上層(lower enhancement layers)のための諸復号鍵を生成しうるもとになる単一の鍵を受信側に提供するためにMPEG-4において有利に使用されうる。図1は、2かける2(すなわち4)の向上層についての鍵生成を例解する。鍵2,2へのアクセスをもつ受信機は、「マスター」鍵の特定の部分に一方向性関数、有利にはハッシュを適用することによって、鍵1,2;2,1および1,1を生成しうる。たとえば、鍵2,1を生成するために、受信機は鍵2,2の左側――L2,2――を鍵2,2の右側――R2,2――のハッシュ値――H(R2,2)――と連結する。
【0004】
同様に、鍵1,2を生成するために、受信機は鍵2,2の右側――R2,2――を鍵2,2の左側――L2,2――のハッシュ値――H(L2,2)――と連結する。鍵1,1は、鍵2,2;2,1および1,2のいずれからでも生成されうる。当業者は、
鍵1,2を介して計算される鍵1,1 Key1,1=L1,2‖H(R1,2)=H(L2,2)‖H(R2,2)が、
鍵2,1を介して計算される鍵1,1 Key1,1=H(L2,1)‖R2,1=H(L2,2)‖H(R2,2)
と等しいことを認識するであろう。
【0005】
当業者は、鍵を修正するために使われる関数が一方向性なので、鍵3,2を鍵2,2からまたは鍵3,1から生成することが計算量的に現実的でないことも認識するであろう(逆は可能であるが)。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】WO2008/055900
【発明の概要】
【発明が解決しようとする課題】
【0007】
のちに見るように、WO2008/055900には欠点がある。したがって、従来技術の欠点を克服するコンテンツ保護システムの必要があることが理解されるであろう。本発明はそのような解決策を提供する。
【課題を解決するための手段】
【0008】
第一の側面では、本発明は、n次元の鍵空間におけるターゲット鍵の生成の方法であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応する、方法に向けられる。n個の値から構成される座標(X,Y,…)をもつ開始基本鍵KMTが取得され、n個の鍵部分に分割され、各鍵部分が一つの次元に対応する。各次元について、その次元に対応する鍵部分に一方向性関数が、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用され、それによりターゲット基本鍵部分を取得する。n個のターゲット基本鍵部分が組み合わされて、ターゲット基本鍵が得られる。開始修正鍵K'MTが取得される。開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値が生成される。開始修正鍵K'MTに一方向性関数が前記距離値に等しい回数適用され、それによりターゲット修正鍵が得られる。次いで、ターゲット基本鍵およびターゲット修正鍵が組み合わされてターゲット鍵が得られる。
【0009】
第一の好ましい実施形態では、nは2に等しい。
【0010】
第二の好ましい実施形態では、ターゲット基本鍵およびターゲット修正鍵はXORされる。
【0011】
第三の好ましい実施形態では、距離値は、各次元についての開始基本鍵KMTおよびターゲット鍵の座標間の差を足すことによって計算される。
【0012】
第四の好ましい実施形態では、すべての鍵部分の長さは同一である。
【0013】
第五の好ましい実施形態では、開始基本鍵および開始修正鍵は開始グローバル鍵に含まれる。
【0014】
第二の側面では、本発明は、n次元の鍵空間におけるターゲット鍵の生成のための装置であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応する、装置に向けられる。本装置は:n個の値から構成される座標(X,Y,…)をもつ開始基本鍵KMTを取得し;前記開始基本鍵KMTをn個の鍵部分に分割し、ここで、各鍵部分が一つの次元に対応し;各次元について、一つの次元に対応する鍵部分に一方向性関数を、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用し、それによりターゲット基本鍵部分を取得し; n個のターゲット基本鍵部分を組み合わせて、ターゲット基本鍵を取得し;開始修正鍵K'MTを取得し;開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成し;開始修正鍵K'MTに一方向性関数を前記距離値に等しい回数適用し、それによりターゲット修正鍵を取得し;ターゲット基本鍵およびターゲット修正鍵を組み合せてターゲット鍵を取得するよう適応されたプロセッサを有する。
【0015】
本発明の好ましい特徴について、これから、限定しない例として、付属の図面を参照しつつ述べる。
【図面の簡単な説明】
【0016】
【図1】従来技術の文書WO2008/055900において教示される鍵生成を示す図である。
【図2】本発明のある好ましい実施形態に基づいて、マスター基本鍵K33およびマスター修正鍵K'33からどのようにして鍵が計算されうるかを示す図である。
【図3】本発明のある好ましい実施形態に基づく鍵生成のためのシステムを示す図である。
【発明を実施するための形態】
【0017】
本発明は、提起されている解決策が結託攻撃(collusion attacks)に対して脆弱でありうることが発見されたという事実にその存在理由を見出す。
【0018】
攻撃者が二つの受信機を分解し、少なくとも二つの保護されたライセンス鍵を入手する(あるいは他の仕方でこれらの鍵を取得する)とする。さらに、これらの鍵の一つが鍵2,1=(L2,2‖H(R2,2))であり、他方の鍵は鍵1,2=(H(L2,2)‖R2,2)であるとする。どちらの装置も鍵2,2を生成することはできないが、鍵2,1=(L2,2‖H(R2,2))の左側の値と鍵1,2=(H(L2,2)‖R2,2)の右側の値を使うことにより、攻撃者は鍵2,2=(L2,2‖R2,2)を再構成できる。これが結託攻撃である。本発明は、この結託攻撃に対処するための一般的な鍵生成方式を二つの実施形態とともに提案する。
【0019】
本発明の一般的な方式は、WO2008/055900における方式を、その鍵(以下「基本鍵」と呼ぶ)を修正鍵を用いて修正してセグメント鍵を生成することによって発展させる。
【0020】
以下、次の記法を用いる。
【0021】
・鍵空間はM×T個の異なるセグメント鍵(すなわち、一方の次元方向にM、他方の次元方向にT)を含み、各セグメント鍵はKSmtと表され、ここでm∈{1,…,M}であり、t∈{1,…,T}である。
【0022】
・2kビット鍵Kmtは、22k-1<Kmt<22kとなるような鍵である。Kmtのk個の上位ビット(すなわち左側部分)はLmtと記され、k個の下位ビット(すなわち右側部分)はRmtと記される。換言すれば、Kmt=Lmt‖Rmtであり、Lmt×2k+Rmtと書くことができる。鍵Kmtとその表現Lmt‖Rmtの間の区別はしない。
【0023】
・鍵KMTは、好ましくはWO2008/055900のようにして他の基本鍵が生成されうるもとになる2kビット・マスター基本鍵である。
【0024】
・H1、H2およびH3は一方向性関数を表す。ここで、H1およびH2の出力のサイズはkビットであり、H3の出力のサイズは2kビットである。H1およびH2が同一であることが有利であるが、このことは必須ではない。H1、H2についての好適なハッシュ関数はたとえば、128ビットの出力をもつMD5であり、H3についてはたとえば256ビットの出力をもつSHA-256である。
【0025】
・K'MTは、後述する2kビット・マスター修正鍵を表す。
【0026】
修正鍵は基本鍵と相異なるものとして記述されるが、両方の鍵をグローバル鍵中で提供し、グローバル鍵が必要なときにいつでも分割されて修正鍵および基本鍵にされることも可能である。
【0027】
セグメント鍵KSmtは次のようにして生成される:
・KMTを、KMT=(LMT‖RMT)となるよう二つの部分、好ましくは(今の例におけるように)半分に分割する。
・第一および第二の距離値x=M−mおよびy=T−tが計算される。距離値は、ある次元方向において、マスター鍵と現在の鍵の間の「レベル」の差を表す。
・総合距離値zが計算される。総合距離値は、実施形態に依存して異なる仕方で計算される。
・セグメント鍵KSmtは
KSmt=(H1x(LMT)‖H2y(RMT)) XOR H3z(K'MT)
を計算することによって生成される。別の言い方をすれば、KSmt=Kmt XOR K'mtである。
【0028】
第一の実施形態では、z=x+yである。
【0029】
第二の実施形態では、zは次のように計算される。
・x=0かつy=0であれば、z=0;
・x=0かつy≠0であれば、z=2y−1;
・x≠0かつy=0であれば、z=2x−1;
・x≠0かつy≠0であれば、z=2x+2y−2。
【0030】
鍵生成方式を、以下で例によって示す。
【0031】
本例について、次のことを想定する。
・M=3、T=3;
・H1=H2はkビットの出力をもち、H3は2kビットの出力をもつ。
・zは上記第二の実施形態に従って計算される。
【0032】
図2は、マスター基本鍵K33およびマスター修正鍵K'33から、鍵KS32、KS31、KS23、KS22、KS21、KS13、KS12およびKS11がどのようにして計算されうるかを示している。当業者は、マスター基本鍵K33とマスター修正鍵K'33がヘッドエンドにおける装置によってランダムにまたは擬似ランダムに生成されることが好ましいことを認識するであろう。
【0033】
すると、任意の装置(ヘッドエンドにおけるまたは受信機側における)がマスター基本鍵K33およびマスター修正鍵K'33から任意の鍵を生成しうる。一般的な仕方で表現すると、装置は、ある「上位」鍵から任意の「低位」鍵を生成できる――低位鍵は両方の次元方向において同じまたはより低い値をもつ――が、逆はできない。
【0034】
もちろん、類似の計算により、ある低位鍵を、最も近いいくつかの上位鍵のうちの一つから生成すること、たとえばKS22をK32、K'32、MおよびTから、あるいはK23、K'23、MおよびTからのいずれかで生成することも可能である。たとえば、K32およびK'32から、KS22=(H1(L32)‖R32) XOR H3(K'32)となる。
【0035】
さらなる明確化のため、図2におけるzの種々の値がどのようにして計算されたかを説明する:
・m=3, t=2: x=M−m=3−3=0; y=T−t=3−2=1; z=2y−1=21−1=1;
・m=3, t=1: x=M−m=3−3=0; y=T−t=3−1=2; z=2y−1=22−1=3;
・m=2, t=3: x=M−m=3−2=1; y=T−t=3−3=0; z=2x−1=21−1=1;
・m=2, t=2: x=M−m=3−2=1; y=T−t=3−2=1; z=2x+2y−1=21+21−2=2;
・m=2, t=1: x=M−m=3−2=1; y=T−t=3−1=2; z=2x+2y−1=21+22−2=4;
・m=1, t=2: x=M−m=3−1=2; y=T−t=3−2=1; z=2x+2y−1=22+21−2=4;
・m=1, t=1: x=M−m=3−1=2; y=T−t=3−1=2; z=2x+2y−1=22+22−2=6。
【0036】
当業者は、XOR以外の好適な組み合わせ関数が可能であることを認識するであろう。たとえば、ターゲット鍵を、修正鍵および基本鍵の連結をハッシュすることによって得てもよい。
【0037】
提案される方式では、「低位」セグメント鍵をもつ二つの受信機の結託は、「上位」セグメント鍵の計算を許容しない。
【0038】
二つの受信機R1およびR2を考える。R1はK31およびK'31を受信し、一方、R2はK13およびK'13を受信する。よって、R1はセグメント鍵KS31、KS21およびKS11を生成しうる。R2はセグメント鍵KS13、KS12およびKS11を生成しうる。共有されるセグメント鍵はKS11であり、一方、KS31およびKS21はR1だけに限られており、KS13およびKS12はR2だけに限られている。
【0039】
WO2008/055900の解決策では、R1からのL31とR2からのR13を組み合わせることによってKS33=K33を生成することが可能であった。しかしながら、本発明に基づく方式ではこれは不可能である。KS33を計算するためには、二つの鍵K33およびK'33を計算しなければならない。
【0040】
WO2008/055900の方式と同様、K33はR1からのK31のL31とR2からのK13のR13を組み合わせることによって容易に得られる。しかしながら、R1からのK'31とR2からのK'13を組み合わせることによってK'33を計算することは計算量的に困難である。
【0041】
実際、K'33を計算しそれによりKS33を得るためには、K'31=K'13=H33(K'33)なので、H3の逆を必要とする。一方向性関数は、今のところ、逆を求めることはできないとされている。
【0042】
K'32=H31(K'33)、K'23=H31(K'33)、K'22=H32(K'33)を計算し、それによりR1からのK'31およびR2からのK'13を組み合わせることによってセグメント鍵KS32 KS23 KS22を生成することさえ可能ではない。
【0043】
このように、修正鍵K'mtの使用は、本方式に、結託攻撃に対する耐性をもたらす。
【0044】
よって、「上位」セグメント鍵が「低位」セグメント鍵の特徴の組み合わせによって生成できないことが認識されるであろう。
【0045】
本発明の鍵生成方式は、DRM(Digital Right Management[デジタル権利管理])技術によって提供される柔軟なサービスに特に適応されたMPEG-FGS(Fine Grain Scalability[微細粒度スケーラビリティ])について特に好適である。スケーラブル暗号化技法は、好適な鍵管理方式と組み合わされれば、改善されたアクセス制御プロセスを可能にする。
【0046】
本発明は二次元で記述してきたが、当業者は、基本鍵をn個の部分に分割することによってn次元に一般化されうることを認識するであろう。nは好ましくは2の冪乗である。
【0047】
図3は、本発明のある好ましい実施形態に基づく鍵生成および配布のためのシステムを示している。システム200は、少なくともマスター基本鍵KMTおよびマスター修正鍵K'MTを生成するよう適応されたコンテンツ・プロバイダー210を有する。これら二つの鍵は、すべてのセグメント鍵を生成することを許容する。コンテンツ・プロバイダー210はさらに、すべてのセグメント鍵を計算し、コンテンツを暗号化するためにそれらを使うよう適応されている。次いで暗号化されたコンテンツは、配送のために、適切な配送サーバー230、たとえばウェブ・サーバーに転送261される。コンテンツ・プロバイダー210はマスター鍵KMT、マスター修正鍵K'MTおよび必要な使用規則をライセンス・サーバー240に送る262。使用規則は、コンテンツがどのように使用されるべきか、典型的には品質レベルおよび可能な解像度を指定する。ライセンス・サーバー240はコンテンツ・ライセンスの生成およびユーザーへの配送を受け持つ。他端では、ユーザー装置220が配送サーバー230からコンテンツをダウンロードする263、264。暗号化されたコンテンツを消費できるためには、ユーザー装置220はライセンス・サーバー240にライセンスを要求265する。ライセンス・サーバー240は、基本鍵Kmtおよび修正鍵K'mtを含む有効なライセンスを生成する。これら二つの鍵は、ユーザー装置220によって要求される品質に適合するよう、ライセンス・サーバー240によって計算される。最後に、しばしば支払い後に、ライセンスがユーザー装置220に安全に送達266され、ライセンス中の使用規則に従って、暗号化されたコンテンツが解読され使用されることができるようになる。たとえば、ユーザー装置がビデオの完全な品質についての権利を取得する場合、ライセンスはマスター基本鍵KMTおよびマスター修正鍵K'MTを含む。ライセンス・サーバー240は通信のためのインターフェース・ユニット242、少なくとも一つのプロセッサ(以下「プロセッサ」)244およびライセンスを生成するよう適応されたメモリ空間246を有する。
【0048】
上記第一および第二の実施形態において、zの値は相対的な仕方で、すなわち、K'mtが必ずしもマスター修正鍵K'MTでない場合に修正鍵K'mtから、計算されることもできる。これは第一の実施形態についてはうまく機能する。任意の低位修正鍵K'ijを得るために一方向性関数が修正鍵K'mtに適用されるべき回数をユーザー装置220が計算することが容易だからである。しかしながら、第二の実施形態ではもう少し事情は複雑になる。
【0049】
実際、別の修正鍵K'mtに対する任意の修正鍵K'ijについてのzの計算は、MおよびTの知識を要求する。その場合、zの計算は次のようにして実行されうる。
1.まずK'ijについてz1を計算する、たとえばz1=2M-i+2T-j−2、
2.次にK'mtについてz2を計算する、たとえばz2=2M-m+2T-t−2、
3.最後にz=z1−z2およびK'ij=H3z(K'mt)。
【0050】
M=3、T=3であり、受信された修正鍵はK'22であり、ユーザー装置220が最低位の修正鍵K'11を計算することを考える。その際、ユーザー装置220はK'11についてz1を計算し:z1=2M-1+2T-1−2=22+22−2=6、K'22についてz2を計算する:z2=2M-2+2T-2−2=21+21−2=2。K'22に対するK'11についてのzの値は、z=z1−z2=6−2=4である。よって、K'11=H3z(K'22)=H34(K'22)である。よって、ユーザー装置は当該鍵空間についてのMおよびTに関する知識を必要とすることが見て取れるであろう。よって、ユーザー装置220がすでにMおよびTの値を有するのでない場合(たとえばユーザー装置がこれらの値を登録フェーズの間に、あるいはダウンロードされたコンテンツと一緒に取得した場合、それらの値が変わらないとすれば、有することがありうる)、これらの値はユーザー装置に、たとえばライセンス266と一緒にメッセージ内において、送達される。
【0051】
このモデルの利点は、ユーザーが受信した暗号化されたコンテンツを他のユーザー250に超流通(super-distribution)を通じて再配送できるということである。これは、配送サーバーの直接的な関与なしに、スケーラブルなコンテンツが幅広い多様な装置(携帯電話、TVセット、ハイエンドPCなど)をもつ多数のユーザーに配送されることを許容する。スケーラブルなコンテンツが自由に配送できるものの、スケーラブルなコンテンツにアクセスするためには、受信者はライセンス・サーバーに接触して(支払いをして)セグメント解読のために必要とされる基本鍵および修正鍵を入手しなければならない。
【0052】
コンテンツ・プロバイダー210およびユーザー装置220は通信のためのインターフェース・ユニット212、222、少なくとも一つのプロセッサ(以下「プロセッサ」)214、224およびメモリ空間216、226を有する。コンテンツ・プロバイダー210のプロセッサ214は、マスター基本鍵KMTおよびマスター修正鍵K'MTを生成するよう適応されているが、有利にはさらに、すべてのセグメント鍵KSmtを生成し、それらのセグメント鍵を使ってコンテンツを暗号化するよう適応されている。ユーザー装置220のプロセッサ222は、ライセンス中で受信された鍵からセグメント鍵を生成し、これらの鍵を使ってコンテンツを解読するよう適応される。
【0053】
本稿および(適切な場合には)請求項および図面において開示される各特徴は、独立して設けられてもよいし、あるいは任意の適切な組み合わせで設けられてもよい。ハードウェアで実装されるものとして記述されている特徴はソフトウェアで実装されてもよく、逆にソフトウェアで実装されるものとして記述されている特徴はハードウェアで実装されてもよい。接続は、適用可能な場合には、無線接続または有線として実装されてもよく、必ずしも直接または専用の接続でなくてもよい。
【0054】
請求項に参照符号があったとしても、単に例解のためであり、特許請求の範囲に対して限定する効果をもつものではない。
【特許請求の範囲】
【請求項1】
n次元の鍵空間におけるターゲット鍵の生成の方法であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応し、当該方法は、装置において:
・n個の値によって構成される座標(X,Y,…)をもつ開始基本鍵KMTを得る段階と;
・前記開始基本鍵KMTを、各鍵部分が一つの次元に対応するn個の鍵部分に分割する段階と;
・各次元について、その次元に対応する鍵部分に一方向性関数をある回数適用し、前記回数はその次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しく、これによりターゲット基本鍵部分を得る段階と;
・n個のターゲット基本鍵部分を組み合わせてターゲット基本鍵を得る段階と;
・開始修正鍵K'MTを得る段階と;
・開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成する段階と;
・開始修正鍵K'MTに一方向性関数を、前記距離値に等しい回数適用し、これによりターゲット修正鍵を得る段階と;
・ターゲット基本鍵およびターゲット修正鍵をXORしてターゲット鍵を得る段階とを含む、
方法。
【請求項2】
nが2に等しい、請求項1記載の方法。
【請求項3】
ターゲット基本鍵およびターゲット修正鍵が等しい長さである、請求項1記載の方法。
【請求項4】
前記距離値は、各次元についての開始基本鍵KMTおよびターゲット鍵の座標間の差を足すことによって計算される、請求項1記載の方法。
【請求項5】
すべての鍵部分の長さが同一である、請求項1記載の方法。
【請求項6】
開始基本鍵および開始修正鍵が開始グローバル鍵に含まれる、請求項1記載の方法。
【請求項7】
n次元の鍵空間におけるターゲット鍵の生成のための装置であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応し、当該装置は:
・n個の値によって構成される座標(X,Y,…)をもつ開始基本鍵KMTを取得し;
・前記開始基本鍵KMTを、各鍵部分が一つの次元に対応するn個の鍵部分に分割し;
・各次元について、一つの次元に対応する鍵部分に一方向性関数を、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用し、それによりターゲット基本鍵部分を取得し;
・n個のターゲット基本鍵部分を組み合わせて、ターゲット基本鍵を取得するよう適応されたプロセッサを有しており、
前記プロセッサがさらに:
・開始修正鍵K'MTを取得し;
・開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成し;
・開始修正鍵K'MTに一方向性関数を前記距離値に等しい回数適用し、それによりターゲット修正鍵を取得し;
・ターゲット基本鍵およびターゲット修正鍵をXORしてターゲット鍵を取得するよう適応されていることを特徴とする、
装置。
【請求項1】
n次元の鍵空間におけるターゲット鍵の生成の方法であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応し、当該方法は、装置において:
・n個の値によって構成される座標(X,Y,…)をもつ開始基本鍵KMTを得る段階と;
・前記開始基本鍵KMTを、各鍵部分が一つの次元に対応するn個の鍵部分に分割する段階と;
・各次元について、その次元に対応する鍵部分に一方向性関数をある回数適用し、前記回数はその次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しく、これによりターゲット基本鍵部分を得る段階と;
・n個のターゲット基本鍵部分を組み合わせてターゲット基本鍵を得る段階と;
・開始修正鍵K'MTを得る段階と;
・開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成する段階と;
・開始修正鍵K'MTに一方向性関数を、前記距離値に等しい回数適用し、これによりターゲット修正鍵を得る段階と;
・ターゲット基本鍵およびターゲット修正鍵をXORしてターゲット鍵を得る段階とを含む、
方法。
【請求項2】
nが2に等しい、請求項1記載の方法。
【請求項3】
ターゲット基本鍵およびターゲット修正鍵が等しい長さである、請求項1記載の方法。
【請求項4】
前記距離値は、各次元についての開始基本鍵KMTおよびターゲット鍵の座標間の差を足すことによって計算される、請求項1記載の方法。
【請求項5】
すべての鍵部分の長さが同一である、請求項1記載の方法。
【請求項6】
開始基本鍵および開始修正鍵が開始グローバル鍵に含まれる、請求項1記載の方法。
【請求項7】
n次元の鍵空間におけるターゲット鍵の生成のための装置であって、nは2以上の整数であり、各鍵は前記鍵空間におけるある座標に対応し、前記ターゲット鍵は座標(x,y,…)に対応し、当該装置は:
・n個の値によって構成される座標(X,Y,…)をもつ開始基本鍵KMTを取得し;
・前記開始基本鍵KMTを、各鍵部分が一つの次元に対応するn個の鍵部分に分割し;
・各次元について、一つの次元に対応する鍵部分に一方向性関数を、その次元についての最大座標値からターゲット鍵の次元の座標を引いたものに等しい回数だけ適用し、それによりターゲット基本鍵部分を取得し;
・n個のターゲット基本鍵部分を組み合わせて、ターゲット基本鍵を取得するよう適応されたプロセッサを有しており、
前記プロセッサがさらに:
・開始修正鍵K'MTを取得し;
・開始修正鍵K'MTとターゲット鍵との間の前記鍵空間における距離を整数として表す距離値を生成し;
・開始修正鍵K'MTに一方向性関数を前記距離値に等しい回数適用し、それによりターゲット修正鍵を取得し;
・ターゲット基本鍵およびターゲット修正鍵をXORしてターゲット鍵を取得するよう適応されていることを特徴とする、
装置。
【図1】
【図2】
【図3】
【図2】
【図3】
【公表番号】特表2011−528521(P2011−528521A)
【公表日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願番号】特願2011−517887(P2011−517887)
【出願日】平成21年7月13日(2009.7.13)
【国際出願番号】PCT/EP2009/058916
【国際公開番号】WO2010/007021
【国際公開日】平成22年1月21日(2010.1.21)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
【公表日】平成23年11月17日(2011.11.17)
【国際特許分類】
【出願日】平成21年7月13日(2009.7.13)
【国際出願番号】PCT/EP2009/058916
【国際公開番号】WO2010/007021
【国際公開日】平成22年1月21日(2010.1.21)
【出願人】(501263810)トムソン ライセンシング (2,848)
【氏名又は名称原語表記】Thomson Licensing
【住所又は居所原語表記】1−5, rue Jeanne d’Arc, 92130 ISSY LES MOULINEAUX, France
【Fターム(参考)】
[ Back to top ]