説明

データを暗号化および/または復号化する追跡可能な方法およびシステムならびに該方法を実施する記録媒体

本発明は、多数の暗号化されたヘッダのブロードキャストを必要としない、数個のデコーダに向けて少なくとも一個の送信器によりブロードキャストされるデータを暗号化および/または復号化する非組み合わせ的で追跡可能な方法であって、ブロードキャストされるデータの暗号化において、上記送信器は、少なくともひとつの第1の秘密関数を適用する(86において)ことで、暗号化されていないメッセージを暗号化されたメッセージへと変換し、かつ、上記ブロードキャストされたデータの復号化においては、すべてのデコーダは、少なくともひとつの共通の第2の秘密関数を適用し(92において)、ゆえに各デコーダはメモリ(21)に記憶された第2の関数の数学的記述を使用し、上記第2の関数の上記数学的記述はデコーダ毎に又はデコーダのグループ毎に異なり、使用される数学的記述によって特定のデコーダ又はデコーダのグループが識別される方法に関する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ブロードキャストされたデータを暗号化および/または復号化する追跡可能な方法およびシステム、ならびに、該方法を実施する記録媒体に関する。
【0002】
さらにくわしくは、本発明は、
ブロードキャストされたデータを暗号化する場合、送信器は少なくともひとつの第1の秘密暗号化関数を適用し、かつ、
上記ブロードキャストされたデータを復号化する場合、すべてのデコーダは上記第1の関数またはその逆関数と同一の第2の秘密暗号化関数を適用し、この目的のために各デコーダはメモリ内に記録された上記第2の関数の数学的記述を用いる、
追跡可能な方法に関する。
【背景技術】
【0003】
追跡可能な暗号化方法とは、不正者(traitor)を追跡する方法を実施することができる方法である。
【0004】
不正者追跡方法は、ビデオ、テレビ、画像、音楽、テキスト、ウェブ・ページ、電子ブック、プログラムなどの暗号化されたマルチメディア・コンテンツをブロードキャスト・チャネル上で配信するサービスに対する海賊行為に対抗すべく用いられる。不正者追跡方法の目的は、上記サービスのひとり以上の正当ユーザが、自身の復号化機器に埋め込まれた秘密鍵および復号化アルゴリズムから演繹されるデータを再配信することを防止して、上記コンテンツに対して不法ユーザ(海賊)が通常のアクセスを不可能にすることである。これらの方法によれば、かかる不正行為が行われたとしても、不法ユーザに対して再配信されたデータに基づき、上記コンテンツを配信するサービス事業者またはさらに一般的には権限者により、不正行為の起点における少なくともひとりの正当ユーザのID(身元)を、再構成することができることが保証される。本明細書では以下、不正行為の起点における正当ユーザを“不正者”という。
【0005】
不正者を追跡するという概念は、ベニー・コール(Benny Chor)、アモス・フィアット(Amos Fiat)およびモニ・ナオール(Moni Naor)により、1994年における論文:“暗号作成術における進歩、不正者の追跡”−Crypto’94、コンピュータサイエンスにおける講義ノート、第839巻、シュプリンガ出版社、1994年、第257〜270頁(”Tracing Traitors, Advances in Cryptology”−Crypto’94, Lecture Notes in Computer Science, vol. 839, Springer−Verlag, 1994, pp. 257−270)にて最初に提案された。この論文においては、暗号システムにおける最初の追跡技術が提唱された。不正者追跡方法が実施され得る暗号システムは、“追跡可能”と称される。これらの技術の殆どすべては、組み合わせ的な性質である。換言すると、暗号システムの各正当ユーザに対しては、基本鍵の集合(一般的には十分に大きな集合)から鍵の部分集合が割当てられる。ひとりのユーザに対して割当てられた基本鍵のこの部分集合は、各ユーザに対して一意的でありかつ該ユーザ自身の個人鍵を形成する。
【0006】
このシステム内でブロードキャストされるデータは、暗号化されたメッセージを含む。暗号化された各メッセージは、コンテンツ暗号化鍵により暗号化されたコンテンツと、各々が基本鍵により暗号化されたヘッダとから形成される。各ヘッダは、コンテンツ暗号化鍵の一部を表す値を含んでいる。
【0007】
各ユーザがこれらのメッセージの内のひとつのメッセージを受信したとき、各ユーザは自身の基本鍵の部分集合を使用することで、受信したヘッダに含まれた幾つかの値を復号化する。各ユーザは次に、これらの復号化された値を組み合わせてコンテンツ暗号化鍵を再構成すると共に、この再構成されたコンテンツ暗号化鍵はメッセージのコンテンツを復号化すべく使用される。
【0008】
上記システムの正当ユーザのひとりが自身の個人鍵を不法ユーザに対して通信する場合に、この追跡可能な暗号システムは、上記不法ユーザにより使用された個人鍵から不正者のIDを追跡することができる。
【0009】
しかし、組み合わせ的な性質の不正者追跡方法は、相当の量のヘッダのブロードキャストを必要とするという不都合を有する。特に、ブロードキャストされるべきヘッダの個数は上記システムの正当ユーザの人数の対数に比例し、防護が求められる不正者の連合体の最大サイズkなどの他のパラメータに比例する。ここで連合体というのは、k人の不正者のグループであって、生成される新たな個人鍵の検証が行われる限りにおいては、各不正者の内のひとりの不正者のIDが開示されない場合、各自の個人鍵を組み合わせて、暗号化されたコンテンツを復号化するために使用される新たな個人鍵を生成しようとして、グループを形成するk人の不正者のグループを意味する。
【発明の開示】
【0010】
本発明は、多数のヘッダのブロードキャストを必要としない新規な不正者追跡方法を提案することで、この欠点を克服することを目的とする。
【0011】
ゆえに本発明は、上述の如き不正者追跡方法において、第2の関数を実施するときに、各デコーダが参照するこの第2の関数の数学的記述は、デコーダ毎にまたはデコーダのグループ毎に異なり、その結果一意的に参照される数学的記述によって、すべてのデコーダの中から特定のデコーダもしくはデコーダ・グループが識別されることを特徴とする不正者追跡方法である。
【0012】
該方法においては、自身の第2の秘密関数の数学的記述を不法ユーザに対して通信した不正者を、送信されたデータを復号化すべく上記不法ユーザにより使用されたこの第2の関数の数学的記述の分析に基づいて追跡することが可能である。当該システムにおける各数学的記述の構造によれば、上記記述は上記不正者のIDを表す。ところで、上記の組み合わせ的方法によれば、各デコーダにおいて一群の個人鍵が使用されるという事実を考慮すると、同一のコンテンツ暗号化鍵が異なる形態で暗号化されて、数回送信される必要がある。ブロードキャストされるコンテンツの最初に載置されるヘッダは、この目的のために使用される。ゆえにヘッダに含まれる情報は極めて冗長であり、かつ、各デコーダは受信したヘッダの一部のみを処理する。
【0013】
しかし本発明の方法において、不正者の識別は、もはや一群の個人鍵の使用に基づくのではなく、第1の暗号化関数もしくはその逆関数と同じひとつの同一の暗号化関数の個々の記述を送信器が使用することに基づくという事実を考慮すると、ブロードキャストされるデータの少なくとも一部が冗長化されることはもはや必要とされない。その結果、暗号化されたメッセージを上記方法を用いてブロードキャストするために必要とされるヘッダの個数は、組み合わせ的な方法を用いて同一メッセージをブロードキャストするために必要とされるヘッダの個数より少ない。
【0014】
上記方法の他の特性によれば、該方法は、
上記第2の暗号化関数は非冗長データを処理可能であり、
各デコーダのメモリ内に記録された上記数学的記述FKjは、上記第2の秘密関数を形成するために所定順番で次々と構成されるべき数個の基本関数Gi,jから形成され、
各基本関数Gi,jは、以下の各式の内のひとつの式のように少なくとも3個の関数の合成物に等しく:
1,j=f’1,jogσj(1)oS
2,j=f’2,jogσj(2)of1,j
………………………………………………………
r-1,j=f’r-1,jogσj(r-1)ofr-2,j
r,j=Togσj(r)ofr-1,j
式中、
i,jは、jをデコーダを又はデコーダのグループを特定する添数として、デコーダjの第i番目の基本関数であり、
関数fi,jおよびf’i,jは、各基本関数Gi,jを相互間で非可換とすることができる予め定められた関数であり、
σjは、すべての添数{1;…;r}の順列であって、各デコーダに対し又はデコーダの各グループに対して一意的である順列であり、
σj(t)は、相互間で可換であるr個の非線形の予め定められた関数giから形成される所定の集合の内の第σj(t)番目の関数であり、かつ、
SおよびTは、基本関数G1,jおよびGr,jの暗号解析を困難とすることができる予め定められた関数であり、
各関数f’i,jは関数fi,jの逆関数f-11,jに等しく、
上記関数fi,jは、有限体Lから、有限体Lの要素のタプルの集合Lnへの線形関数であり、
関数SおよびTは可逆であり、
上記関数SおよびTは、有限体Lへの完成集合体Lの要素のタプルの集合Lnの線形関数であり、
上記関数giは、各基本関数Gi,jが多変数暗号化アルゴリズムの暗号化ブロックに対応するように選択され、
各関数giはgi(a)=aeiの形態であり、aはq個の要素を備える次数nの基本体Lの拡大L’の要素であり、
指数eiは1+qθ1+…qθi+…+qθd-1の形態であり、式中、指数θiは所定の整数である、
ことを特徴とする。
【0015】
本発明の他の主題は、データ記録媒体において、該データ記録媒体は、当該命令がデコーダにより実行される場合、本発明の追跡可能な方法を実行する該命令を備えることを特徴とするデータ記録媒体である。
【0016】
本発明のさらに他の主題は、データ記録媒体において、該データ記録媒体は、当該命令が送信器により実行される場合、本発明の追跡可能な方法を実行する該命令を備えることを特徴とするデータ記録媒体である。
【0017】
本発明のさらに他の主題は、ブロードキャストされたデータを暗号化および/または復号化する追跡可能なシステムであって、該システムは、個々の正当ユーザの中の不正者であって権限のないサード・パーティに対して秘密データを通信し、該サード・パーティがブロードキャストされたデータを暗号化および/または復号化することができるようにする不正者を識別することができると共に、
ブロードキャストされたデータを暗号化することができる送信器であって、少なくともひとつの第1の秘密暗号化関数を適用することができる送信器と、
ブロードキャストされたデータを復号化することができる数個のデコーダであって、すべてのデコーダは上記第1の関数と同一またはその逆関数と同一である、少なくともひとつの第2の秘密暗号化関数を適用可能であり、この目的のために各デコーダは上記第2の関数の数学的記述が記録されるメモリを備えるという数個のデコーダと、
を備える追跡可能なシステムにおいて、
各デコーダのメモリは、他のデコーダのメモリ内または他のデコーダのグループのメモリ内に記録された数学的記述とは異なる上記第2の関数の数学的記述を含み、この数学的記述によって、すべてのデコーダの内の特定のデコーダは又はデコーダのグループは一意的に識別されることを特徴とする追跡可能なシステムである。
【0018】
最後に、本発明のさらに他の主題は、本発明に係る追跡可能な暗号化および/または復号化システムのデコーダに関連するメモリにおいて、
それは、上記第2の秘密関数と等価的な数学的記述であって上記デコーダにより使用され得る数学的記述を備え、この数学的記述は、当該数個の基本関数Gi,jの各々が以下の各式の内のひとつの式のように少なくとも3個の関数の合成に等しいという数個の基本関数Gi,jから成ることを特徴とするメモリに関する。
【0019】
1,j=f’1,jogσj(1)oS
2,j=f’2,jogσj(2)of1,j
………………………………………………………
r-1,j=f’r-1,jogσj(r-1)ofr-2,j
r,j=Togσj(r)ofr-1,j
式中、
i,jは、jがデコーダを又はデコーダのグループを特定する添数として、デコーダjの第番目の基本関数であり、
関数fi,jおよびf’i,jは、各基本関数Gi,jを相互間で非可換とすることができる所定関数であり、
σjは、すべての添数{1;…;r}の順列であって各デコーダに対し又はデコーダの各グループに対して一意的である順列であり、
σj(t)は、相互間で可換であるr個の非線形の所定関数giから形成される所定の集合の内の第σj(t)番目の関数であり、かつ、
SおよびTは、基本関数G1,jおよびGr,jの暗号解析を困難とすることができる所定関数である。
【発明を実施するための最良の形態】
【0020】
本発明は、図面を参照して、単なる一例として与えられる以下の説明によりさらに良好に理解されよう。
【0021】
図1は、追跡可能な暗号システム2を示している。このシステム2は、暗号化されたデータの送信器4と、データ伝送ネットワーク6と、送信器4によりネットワーク6を介してブロードキャストされた暗号化データを復号化することができる複数個のデコーダとを備えて成る。システム2はN個のデコーダを備え、Nは100、1000またはそれ以上の数より大きい整数である。ここでは、図示を簡素化するために唯一個のデコーダ8が示される。他のデコーダ(図示せず)は、たとえばデコーダ8と同一である。以下の説明において、このデコーダ8には添数jが付される。
【0022】
一例として、送信器4は、有料テレビ・チャネルの送信器である。この送信器4は、コンテンツBaを暗号化するモジュール10と、制御ワードCWaを算出するモジュール12とを備える。コンテンツBaはここでは、通常のすなわち暗号化されないテレビ・チャネルを表す一連のデータ・ビットで形成される。モジュール12によって、数学的記述FKにより定義される暗号化関数を実行することができる。この暗号化関数は、n個のキャラクタにわたりコード化されたヘッダEBaを直接的に処理することで、該ヘッドを、これもまたn個のキャラクタにわたりコード化された制御ワードCWaへと変換することを目的としており、nはたとえば100より大きい正の整数である。ここでは一例として、各キャラクタは“0”または“1”のいずれかである。
【0023】
この目的のために送信器4には、上記暗号化関数の数学的記述FKが記録されるメモリ14が接続される。数学的記述とは、すべての入力値に対してこの関数の対応出力値を計算するために行われるべき数学的演算の厳密なシーケンスを決定する一群のデータであって、該計算を行う上でプログラムに対しては該関数の入力値以外の一切の値を提供する必要がないという一群のデータである。この記述FKは、上記送信器により直接的に使用され得るフォーマットでメモリ14に記録されることから、モジュール12は、この記述に基づいてその暗号化関数を実行することができる。ここでは、例えば記述FKは、コンピュータ・プログラムを形成する一連の命令である。ただし以下の説明において、各関数の数学的記述は単に、従来の記号を用いて表された数学的関係の形態で示される。以下に説明される数学的関係に対応する単一もしくは複数のコンピュータ・プログラムを書くことは容易である。
【0024】
記述FKは、図2に関してさらに詳細に説明される。
【0025】
モジュール10は、コンテンツBaを暗号化するためにモジュール12により構築された制御ワードCWaによりパラメータ化された暗号化関数Eを実行することができると共に、対応して暗号化されたコンテンツCBaを出力することができる。ここで暗号化関数Eは、従来の可逆な暗号化関数である。それは例えば、AES(高度暗号化規格)暗号化関数、または、“ワンタイム・パッド(one time pad)”の名称で知られた暗号化アルゴリズムである。
【0026】
制御ワードCWaを用いてモジュール10により暗号化された各コンテンツBaに対して、送信器4は、上記システムにおけるすべてのデコーダに向けて、データ対をブロードキャストすることができる。このデータ対は、ヘッダEBaと暗号化されたコンテンツCBaとにより形成される。送信器4によりネットワーク6を介して送信もしくはブロードキャストされるデータを復号化するために、デコーダ8は、制御ワードCWaを計算する計算モジュール20と、暗号化されたコンテンツCBaを復号化する復号化モジュール22とを備える。
【0027】
モジュール20は、暗号化関数を実行することができる。この関数は、記述FKとは異なる数学的記述FKjにより定義される。さらに正確には、この記述FKjは、システム2の他の各デコーダにおいて使用されるすべての記述FKjから異なっている。ただし、数学的記述FKjは記述FKとは異なるとしても、それが定義する上記関数は同一である。結果として、モジュール20によるヘッダEBaの変換により、制御ワードCWaが、すなわち、モジュール12を用いて求められたのと同一の制御ワードが求められ得る。これらの条件下で、記述FKjは記述FKと等しいと称される。
【0028】
送信器4と同様に、デコーダ8には、数学的記述FKjが記録されるメモリ21が接続される。
【0029】
記述FKjは、図2に関してさらに詳細に説明される。
【0030】
モジュール22は、復号化関数Dを実行することができる。この関数Dは関数Eの逆関数であることから、受信されたヘッダEBaに基づきモジュール20により構築された制御ワードCWaを用いて、コンテンツCBaを復号化することができる。
【0031】
デコーダ8はまた、モジュール22により復号化されたコンテンツBaをテレビ受像機26に対して送信して、通常のとおり表示することもできる。
【0032】
送信器4および上記デコーダの各々は、データ記録媒体上に記録された命令を実行することができる従来のプログラム可能計算機に基づいている。この目的のためにメモリ14および21は、送信されたデータを暗号化かつ復号化するための秘密パラメータに加えて、図2における方法を実行するための命令を含んでいる。
【0033】
次に、図2の方法を参照して、システム2の機能を説明する。
【0034】
図2における方法は、3つの主要段階に分割される。システム2の設定段階50、システム2の使用段階52、および、システム2の種々の正当ユーザの中からひとりの不正者を検索する検索段階54である。
【0035】
段階50は、数学的記述FKを構築する構築ステップ60で開始する。この目的のために、rは正の整数として、演算62においてr個の非線形関数giが生成される。関数giの個数rは以下の関係を検証すべく選択される:
(1) N<r!
式中、Nはシステム2におけるデコーダの個数である。
【0036】
これらの関数giは、合成の演算において、相互間で可換であるべく構築されることから、以下の関係が検証される:
(2)∀i,l∈{1,…,r}、i≠l giogl=glogi
式中、記号oは2つの数学的関数の合成の演算を表す。
【0037】
ここで、これらの関数の各々は、ひとつのタプルを別のタプルへと変換する非線形関数である。タプルは、ここではn個の要素の集合を意味する。たとえば次数(n−1)の多項式の一群のn個の係数はタプルと考えることができる。
【0038】
ゆえに、各関数giはn個の入力変数を取ると共に、計算されたn個の変数を出力する。それらの各々は、n変数のn次非線形方程式の系に対応し、nは、ヘッダEBaのキャラクタの個数に対応する正の整数である。
【0039】
各関数giは、至る所でそれが線形関数により構成されたときに、多変量暗号化アルゴリズムの暗号化ブロックGiを形成すべく選択される。多変数暗号化アルゴリズムの例は、たとえば、松本勉(Tsutomu Matsumoto)氏および今井秀樹(Hideki Imai)氏の“暗号作成術における進歩、効率的な署名照合およびメッセージ暗号化に対する公開二次多項式タプル”−EUROCRYPT ’88(クリストフ・ゲー・ギュンター編)、コンピュータサイエンスにおける講義ノート、第330巻、シュプリンガ出版社、1988年、第419〜453頁(”Public Quadratic Polynomial−tuples for Efficient Signature Verification and Message Encryption, Advances in Cryptology”−EIJROCRYPT ’88 (Cristoph G. Guenther, e d), Lecture Notes in Computer Science, vol. 330, Springer, 1988, pp. 419−453))において松本氏および今井氏により提案されたC*アルゴリズムである。多変量暗号化アルゴリズムの他の例は、SFLASH v2(NESSIEプロジェクト、署名、インテグリティおよび暗号化に対する新たな欧州方式[NESSIE project, New European Schemes for Signatures, Integrity and Encryption])、および、HFE(PATARINジャック、不可視フィールド方程式(HFE)および多項式の同型写像(IP):非対称アルゴリズムの新たな2つの系統[PATARIN Jacques Hidden Fields Equations (HFE) and Isomorphisms of Polynomials (IP): two new families of Asymmetric Algorithms](Eurocrypt 96、シュプリンガ出版社、第33〜48頁)である。
【0040】
各要素giから得られる暗号化ブロックGiの単純でコンパクトな記述を求めるために、各関数giは、単項式と称される単項関数として選択される。
【0041】
一例としてここでは、関数giの各々は、q個の要素を備える次数nの基本体Lの拡大L’を各要素に関して演算する。たとえばここでは、q=2およびL={0,1}である。
【0042】
拡大L’は、次式の形態の一群の多項式である:
【0043】
【数1】

【0044】
式中、
各係数は体Lの要素であり、
添数iは整数であり、かつ、
Xは変数である。
【0045】
拡大L’は、多項式の加法と、次式により定義される次数nの既約多項式を法とした乗法とを備える:
【0046】
【数2】

【0047】
式中、
係数piは体Lの所定要素であり、かつ、
Xは変数である。
【0048】
一例として各関数giは、拡大L’から拡大L’への関数であり、次の形態である:
i(a)=aei
式中、
aは拡大L’の要素であり、かつ、
指数eiは1+qθ1+…qθi+…+qθd-1の形態の所定の整数であり、式中、qは体Lの要素の個数でありかつ指数θiは所定整数である。
【0049】
ここで、dは2に等しく選択されることから、関数giの各々の指数eiは1+qθ1の形態を有する。
【0050】
この形態における指数eiの利点は、拡大L’の各要素aが係数のタプル(a0、a1、…、an-1)により特定されるなら、式b=gi(a)により定義される拡大L’の要素bの係数b0、b1、…、bn-1の各々はaの係数a0、a1、…、an-1による次数dのみの関数として書かれるということである。すなわち、ここでは、dが2に等しい特定の場合における二次関数である。この特定の場合において、各係数biは以下の二次関数の形態で書かれ得る:
i=(c00+…+cn-1n-1)+(c0,101+…+c0,n-10n-1)+(c1,212+…+c1,n-11n-1)+…+cn-2,n-1n-2n-1
式中、n個の係数cuおよびn(n−1)/2個の係数cU,Vは体Lに属する定数である。
【0051】
ゆえに、選択された指数の形態により、各関数giの数学的記述はコンパクトでありかつ容易にメモリ内に記録され得る。
【0052】
引き続き、演算64においては、LnからLnへの2つの関数SおよびTが選択される。ここでLnは体Lの各要素から形成された一群のタプルである。好適には、これらの関数SおよびTは線形可逆関数である。
【0053】
たとえば、これらの関数SおよびTの各々の数学的記述は、各要素が体Lに属するn個の要素×n個の要素の行列である。
【0054】
記述FKは引き続き、演算66において、各関数giおよび関数SおよびTを以下の様式で構成することにより構築される:
(3)FK=Togrogr-1o…og2og1oS
Kを構築した後、該方法は、各デコーダに対する等価的記述FKjを構築するために、構築ステップ70により継続される。
【0055】
ステップ70において、上記システムにおける各デコーダjに対し、集合{1,2,…,r}の1つの一意的な順列σjが演算72に定義される。この順列σjはたとえば、ランダムに構築されるか、または、デコーダを特定する添数jと秘密パラメータMとから演繹される。
【0056】
なお、上記式(1)が成立することから、上記システムにおける各デコーダに対して一意的な順列を構築することが可能であることに注意されたい。
【0057】
引き続き、演算74において、ユーザjに対してはr−1個の全単射fi,jが選択される。これらの全単射fi,jの各々は、集合Lnのそれ自体の上への可逆関数である。これらの全単射fi,jはたとえば、各要素が集合Lに属するn個の要素×n個の要素の行列を用いて記述される。
【0058】
たとえば演算74において、各全単射fi,jは、集合Lnのそれ自体の上への一群の可逆線形適用からランダムに引出される。別の可能性は、これらの全単射fi,jの各々をデコーダの添数jと秘密パラメータMとから演繹することである。
【0059】
最後に、演算76においては数学的記述FKjが構築される。この目的のために、デコーダjに対してはr個の基本関数Gi,jが構築される。これらの関数Gi,jは、関数S、Tおよびgiを以下の如く構成することで構築される。
【0060】
(4)
1,j=f-11,j,ogσj(1)oS
2,j=f-12,j,ogσj(2)of1,j
………………………………………………………
r-1,j=f-1r-1,j,ogσj(r-1)ofr-2,j
r,j=Togσj(r)ofr-1,j
式中、
-11,jは全単射fi,jの逆であり、かつ、
σj(t)は、tは集合{1,2,…,r}に属するものとし、デコーダjの順列σjにより添数tの順列に等しい添数iを有するという関数giである。
【0061】
式b=gi(a)により定義される拡張L’の要素bの各係数biが次数dのみの多項式により記述できるという関数giの特性は、該関数giが至る処で全単射または線形関数により構成されたときに保存される。ゆえに、式y=Gi,j(x)により定義されたLnの要素yの成分は、Lnの要素xの成分xiの次数dのみの多項式により記述することができる。たとえばdが2に等しい場合、成分yiは以下の数学的記述を用いて定義される:
1=(c’00+…+c’n-1n-1)+(c’0,101+…+c’0,n-10n-1)+
(c’1,212+…+c’1,n-11n-1)+…+c’n-2,n-1n-2n-2
式中、
n個の係数c’uおよびn(n−1)/2個の係数c’U,Vは、体Lに属する定数である。
【0062】
ゆえに、1+qθ1の形態の指数eiを選択することにより、各基本関数Gi,jの数学的記述は簡素かつコンパクトであることから、メモリ空間を殆ど取らない。特に、ここで説明される実施例において各基本関数Gi,jの数学的記述は、n変数によるn次非線形方程式の系である。
【0063】
記述FKjは、これらのr個の基本関数Gi,jにより形成される。入力メッセージを式(5):FKj=Gr,joGr-1,jo…oG2,joG1,jにより処理することにより、記述FKを用いて求められるであろう出力メッセージと厳密に同一の出力メッセージが求められる。数学的記述FKjとFKとの等価性は、先行する式において、各基本関数Gi,jを、式(4)により与えられるそれの定義により置き換えることで容易に検証される。先行する式においてそのようにすることにより、次式が求められる:
Kj=Togσj(r)ogσj(r-1)o…ogσj(2)ogσj(1)oS
関数giのすべては相互間で可換であることから、記述FKjは記述FKと等価的であることが示される。
【0064】
ゆえに、全単射fi,jの機能は基本関数Gi,jを相互間で非可換とすることであることは理解される。この場合、記述FKの等価的記述を求めるために、各基本関数Gi,jは、式(5)における如き添数iの昇順にのみ相互に構成され得る。
【0065】
これに加え、本明細書中で説明される具体的な実施例において試みられる一切の暗号解析に対する上記システムの耐性は、IP問題としても知られる、多項式の同型性の困難さに基づく。関数Gi,jが知られた場合、関数g1〜grのすべてを認識したとしても値σj(i)を特定することは数学的に困難である、と言うのも、各基本関数Gi,jにおいては至る所で構成による該基本関数のカモフラージュのために未知関数が使用されるからである。ここでこれらの未知関数は、秘密が守られた関数SおよびT、ならびに、全単射fi,jである。すると、一群の有効な基本関数Gi,jを処理する不法ユーザは新たな群の基本関数G’i,jを構築することは不可能であり、その場合には、σjにより定義された順序関係が、各関数gi間で維持されない。換言すると、不法ユーザは各基本関数Gi,jから関数S、Tおよびfi,jを見出すことができないので、該ユーザは、各基本関数Gi,jが組み合わされるべき順序を改変できず、これらの基本関数の数学的記述を改変することで満足せねばならない。ゆえに、各基本関数G’i,jが組み合わされる順番は改変されないので、各関数giが組み合わされる順番も改変されない。この特性の利点は、以下の説明により明らかとなろう。
【0066】
システム2の各ユーザjに対して夫々の基本関数Gi,jが構築されたなら、それらはステップ80において配信されると共に、たとえばコンピュータ・プログラムの形態で各デコーダ8のメモリ21内に記録される。
【0067】
同様に、ステップ80において、不正者検索段階54を実行するために必要な情報が、例えばメモリ14内に記録される。特に、各基本関数Gi,jを構築するために使用される関数のすべて、ならびに、使用される順列σjの各々はこのメモリ14に記録される。各順列σjと、それに対して使用されたデコーダとの間の関係が記録される。同様に、このメモリ14には、上記デコーダのIDからユーザの識別を可能とする関係が記録される。
【0068】
各デコーダ8の上記メモリ内に関数Gi,jが記録されたなら、システム2の使用段階52を開始することができる。
【0069】
この段階52では、送信器4はステップ84において、例えば毎秒などのように規則的な時間間隔で新たなヘッダEBaをランダムに引出す。
【0070】
このヘッダEBaは、制御ワードCWaを求めるために、ステップ86で、モジュール12により記述FKを用いて変換される。
【0071】
次にステップ88において、コンテンツBaは、関数Eおよび制御ワードCWaを用いてモジュール10により変換される。暗号化されたコンテンツCBa、およびこの目的のために使用されるヘッダEBaは次に、ステップ90において、送信器4によりネットワーク6を介して、システム2内のすべてのデコーダに向けて、結合してブロードキャストされる。
【0072】
暗号化データの受信時に各デコーダはまず、ステップ92において、受信したヘッダEBaから制御ワードCWaの計算に着手する。このステップにおいてモジュール20は、式(5)に従う各基本関数Gi,jの合成に対応する計算を実施するために、そのメモリ21に記録された基本関数Gi,jの各々を順次的にかつ順番に使用する。
【0073】
このステップ92の後でモジュール20は、送信器4のモジュール12により構築されたのと同一の制御ワードCWaを出力する。
【0074】
この制御ワードCWaおよび関数Dを用いて、ステップ94においてモジュール22は、受信した暗号化コンテンツCBaを復号化する。復号化されると共にモジュール22により供給されたコンテンツBaは次に、たとえば通常の表示のためにテレビ受像機26へと送信される。
【0075】
ステップ84および94は、送信器4によりブロードキャストされる各データ項目またはデータ・フレームに対し、システム2の使用段階全体にわたり反復される。
【0076】
以下の説明では、デコーダjのユーザが自身の一群の基本関数Gi,jを不法ユーザに送信したことから、この不法ユーザはたとえば、送信器4によりブロードキャストされたデータを聴取料を支払わずに復号化する侵害デコーダを使用することができることが仮定される。ゆえにデコーダjのユーザは不正者である、と言うのも、該ユーザは秘密データを違法かつ不法に送信することで、送信器4によりブロードキャストされたデータの復号化を許容したからである。
【0077】
不正者検索段階54は、ステップ100において上記不法ユーザの海賊デコーダを捕捉かつ分析することにより開始する。このステップにおいては、当該デコーダに対して不正者により不法に通信された各基本関数Gi,jと、受信されたヘッダEBaを制御ワードCWaへと変換すべくこれらの関数Gi,jが組み合わされる順番とを該デコーダにおいて検出するために、デコーダの分析が行われる。
【0078】
海賊デコーダに見られる各基本関数はここではGi,pと記され、この場合に添数iは、制御ワードEBaを変換するために、これらの基本関数が使用される順番を表している。
【0079】
引き続きステップ102においては各関数Gi,pが分析され、それの構築の基礎とされた関数giが見出される。上記分析は、たとえばシステム2の操作者により可能である、と言うのも、該操作者は該システムの各ユーザの基本関数Gi,jを構築するために使用された関数S、T、fi,jおよびgiを認識しているからである。
【0080】
ゆえに、ステップ102の後でシステム2の操作者は、基本関数G1,pおよび基本関数G2,pを構築するために使用された関数giの添数を、関数gmおよびgnの添数mおよびnが夫々表すという関数Gi,pの各々に対し、基本関数G1,pは関数gmから構築され、基本関数G2,pは関数gnから構築され、以下同様である、と述べることができる。
【0081】
ゆえに、この情報に基づいて、操作者はステップ104において、海賊デコーダにおいて使用された基本関数Gi,pの構築中に使用された順列σjを再構築することができる。この順列σjが再構築されたなら、それは、ステップ106において、ステップ80においてメモリ14に記録された種々の順列と比較される。
【0082】
上記により、不正者すなわちデコーダjのユーザは識別される、と言うのも、システム2において、各順列σjは、単一のユーザと関連する単一のデコーダ自体に対応するからである。
【0083】
したがって、このシステムおよびこの方法は、暗号化されたコンテンツCBaを復号化するために必要なデータを、正当ユーザが通信するのを防止できるほど制止的であることがわかる。
【0084】
試行された暗号解析に対する図2の方法の耐性に関する考察が行われた。これらの考察によれば、特に図2のシステムおよび方法は、kを2より大きな正の整数としてk人の不正者の連合体により行われる攻撃に耐えることが示された。k人の不正者の連合体という用語によって、夫々の群の基本関数Gi,jを共同使用することにより関数FKの新たな等価的記述を構築せんとするk人の正当ユーザのグループを意味する。これらの不法ユーザはせいぜい、これらのk個の群の基本関数Gi,jから新たな一群以上の基本関数Gi,pを用いてひとつの関数を構築することができるだけであることが示された。ただし、各群の基本関数から自由に抽出された連続的なシーケンスの基本関数Gi,jの組み合わせからは、任意の新たな群の基本関数Gi,pが得られる。たとえば2人の不正者の連合体に対し、不法ユーザが構築することができる新たな群の基本関数Gi,pは、第1不正者の最初のp個の基本関数{G1,1,G2,1,…,Gp,1}および第2不正者の最後のr−p個の基本関数{Gp+1,2,…,Gr,2}から構成される。不正者のIDの試行カモフラージュに対抗するために、関数giの個数rは十分に大きく選択されることから、少なくともひとりの不正者は、該不正者自身の基本関数Gi,jの群を構築すべく使用された順列σjの一部のみを段階54において識別することに基づくだけで識別され得る。たとえば、2人の不正者の連合体に対してrは十分に大きく選択されることから、各不正者の少なくとも一方は、最初のp個の基本関数Gi,1に基づき又は最後のr−p個の基本関数Gi,2に基づき識別され得る。
【0085】
なお、上記方法においては、同一の秘密データ、すなわち記述FK、FKjに関係付けられた暗号化関数が暗号化および復号化に使用されることから、説明された暗号化方法は対称的暗号化のアルゴリズムと同一の特性を有する。特にこの特性により、ここで説明された方法は非対称的暗号化のアルゴリズムよりも迅速である。
【0086】
ここで関数S、T、fi,jは秘密に維持される一方、各関数giは選択的に公開される。
【0087】
システム2においては、送信器4および各デコーダの両方にて、制御ワードCWaを計算する唯一個の同一の関数が使用される。ゆえにこの暗号化関数は可逆である必要はなく、各関数giの選択および構築が容易となる。ただし変形例では、記述FKは、暗号化関数に対応すると共に、記述FKjは、この暗号化関数の逆関数に対応する。この変形例において、上記システムの個々のデコーダに埋め込まれた個々の記述FKjは、相互に等価的であり、かつ、記述FKにより定義される関数の逆関数と等価的な記述である。先に説明した記述FKjの構築が当てはまり、唯一の相違点は、この変形例においては各関数giが可逆でなければならないことである。この場合、記述FKは、たとえばコンテンツBaを直接的に暗号化すべく使用される一方、等価的な記述FKjは、暗号化されたコンテンツCBaを直接的に復号化すべく使用される。
【0088】
ここで、記述FKおよびFKjに対応する暗号化関数は、n個のキャラクタにわたりコード化された最初のメッセージを、同様に同一個数のキャラクタにわたりコード化された変換済みメッセージへと変換する。この暗号化関数は、たとえば非対称的アルゴリズムで見られるのとは対照的に、初期メッセージのサイズに関して変換済みメッセージのサイズを増大しない。変形例では、上記暗号化関数は初期メッセージのサイズに関して変換済みメッセージのサイズを増大する。ただし、変形例におけるサイズの増大は不正者の人数に無関係なままである。
【0089】
システム2は、単一のデコーダに対して記述FKjが関係付けられるという特定の場合において説明された。変形例として、一群のデコーダに対して、ひとつの同一の記述FKjが関係付けられる。この変形例では、システム2のすべてのデコーダは、数個のグループにグループ分けされることから、記述FKjによれば、特定のひとつのデコーダではなく、この特定のデコーダが属するグループが識別される。
【図面の簡単な説明】
【0090】
【図1】図1は、本発明に係る追跡可能な暗号システムのアーキテクチャの概略図である。
【図2】図2は、本発明の上記不正者追跡方法のフローチャートである。

【特許請求の範囲】
【請求項1】
少なくとも一個の送信器から数個のデコーダに向けてブロードキャストされるデータを暗号化および/または復号化する追跡可能な方法であって、該方法は、前記各デコーダの個々の正当ユーザの中の不正者であって、権限のないサード・パーティに対して秘密データを通信し、該サード・パーティが、前記送信器によりブロードキャストされるデータを暗号化および/または復号化できるようにする不正者の識別を可能とし、
前記ブロードキャストされるデータの暗号化(86)において、前記送信器は少なくともひとつの第1の秘密暗号化関数を適用し、かつ、
前記ブロードキャストされたデータの復号化(92)において、前記デコーダのすべては前記第1の関数もしくはその逆関数と同一である少なくともひとつの第2の秘密暗号化関数を適用し、各デコーダはこの目的のためにメモリ(21)内に記録された前記第2の関数の数学的記述を参照する、
という追跡可能な方法において、
前記第2の関数の適用(92)において、各デコーダが参照する該第2の関数の前記数学的記述は、デコーダ毎に又はデコーダのグループ毎に異なることから、参照される前記数学的記述により、すべての前記デコーダの内の特定のデコーダが又はデコーダのグループが一意的に識別されることを特徴とする、追跡可能な方法。
【請求項2】
前記第2の暗号化関数は非冗長データを処理可能であることを特徴とする、請求項1記載の方法。
【請求項3】
各デコーダの前記メモリ内に記録された前記数学的記述(FKj)は、前記第2の秘密関数を形成するために相互に所定の順序で構成されなければならない数個の基本関数(Gi,j)で形成されることを特徴とする、請求項1または2に記載の方法。
【請求項4】
各基本関数Gi,jは、以下の各式の内のひとつの式による少なくとも3個の関数の合成関数に等しいことを特徴とする、請求項3記載の方法:
1,j=f’1,jogσj(1)oS
2,j=f’2,jogσj(2)of1,j
………………………………………………………
r-1,j=f’r-1,jogσj(r-1)ofr-2,j
r,j=Togσj(r)ofr-1,j
式中、
i,jは、jがデコーダを又はデコーダのグループを特定する添数として、デコーダjの第番目の基本関数であり、
関数fi,jおよびf’i,jは、各基本関数Gi,jを相互間で非可換とする予め定められた関数であり、
σjは、すべての添数{1;…;r}の順列であって各デコーダに対し又はデコーダの各グループに対して一意的である順列であり、
σj(t)は、相互間で可換であるr個の非線形の予め定められた関数giから形成される所定の集合の内の第σj(t)番目の関数であり、かつ、
SおよびTは、基本関数G1,jおよびGr,jの暗号解析を困難とすることができる予め定められた関数である。
【請求項5】
各関数f’i,jは関数fi,jの逆関数f-11,jに等しい、請求項4または5に記載の方法。
【請求項6】
前記関数fi,jは、該有限体(L)の要素のn−組の集合(Ln)の線形関数であることを特徴とする、請求項4または5に記載の方法。
【請求項7】
関数SおよびTは可逆であることを特徴とする、請求項4〜6のいずれか一項に記載の方法。
【請求項8】
前記関数SおよびTは、有限体(L)自体に向けた該有限体(L)の要素のタプルの集合(Ln)の線形関数であることを特徴とする、請求項4〜7のいずれか一項に記載の方法。
【請求項9】
前記関数giは、各基本関数Gi,jが多変数暗号化アルゴリズムの暗号化ブロックに対応するように選択されることを特徴とする、請求項4〜8のいずれか一項に記載の方法。
【請求項10】
各関数giはgi(a)=aeiの形態であり、aはq個の要素を備える次数nの基本体Lの拡大L’の要素であることを特徴とする、請求項4〜9のいずれか一項に記載の方法。
【請求項11】
指数eiは1+qθ1+…qθi+…+qθd-1の形態であり、式中、指数θiは所定の整数であることを特徴とする、請求項10記載の方法。
【請求項12】
請求項1〜12のいずれか一項に記載の追跡可能な暗号化および/または復号化方法を実行する該命令であって、デコーダにより実行される命令を備えることを特徴とする、データ記録媒体(21)。
【請求項13】
請求項1〜10のいずれか一項に記載の追跡可能なデータ暗号化および/または復号化方法を実行する命令であって、送信器により実行される命令を備えることを特徴とする、データ記録媒体(14)。
【請求項14】
ブロードキャストされたデータを暗号化および/または復号化する追跡可能なシステムであって、該システムは、正当ユーザの中の不正者であって、権限のないサード・パーティに対して秘密データを通信し、該サード・パーティが、ブロードキャストされたデータを暗号化および/または復号化できるようにする不正者の識別を可能にし、
該システムは、
ブロードキャストされたデータを暗号化することができる送信器であって、少なくともひとつの第1の秘密暗号化関数を適用することでメッセージを直接的に処理してから前記メッセージをブロードキャストする送信器と、
ブロードキャストされたデータを復号化する数個のデコーダであって、すべてのデコーダは前記ブロードキャストされたメッセージの直接的処理のために前記第1の関数と同一またはその逆関数と同一である第2の秘密暗号化関数を適用可能であり、この目的のために各デコーダは前記第2の関数の数学的記述が記録されるメモリ(21)を備える数個のデコーダと、
を備える追跡可能なシステムにおいて、
各デコーダのメモリは、他のデコーダのメモリ内または他のデコーダのグループのメモリ内に記録された数学的記述とは異なる前記第2の関数の数学的記述を含むことから、この数学的記述によって、すべてのデコーダの内の特定のデコーダは又はデコーダのグループは一意的に識別されることを特徴とする、追跡可能なシステム。
【請求項15】
請求項13記載の追跡可能なデータ暗号化および/または復号化システムのデコーダに接続されるメモリであって、
前記第2の秘密関数と等価的な数学的記述であって前記デコーダにより使用され得る数学的記述を備え、この数学的記述は、当該数個の基本関数(Gi,j)の各々が以下の各式の内のひとつの式による少なくとも3個の関数の合成関数に等しい数個の基本関数(Gi,j)から成ることを特徴とするメモリ:
1,j=f’1,jogσj(1)oS
2,j=f’2,jogσj(2)of1,j
………………………………………………………
r-1,j=f’r-1,jogσj(r-1)ofr-2,j
r,j=Togσj(r)ofr-1,j
式中、
i,jは、jがデコーダを又はデコーダのグループを特定する添数として、デコーダjの第番目の基本関数であり、
関数fi,jおよびf’i,jは、各基本関数Gi,jを相互間で非可換とすることができる所定関数であり、
σjは、すべての添数{1;…;r}の順列であって各デコーダに対し、又はデコーダの各グループに対して一意的である順列であり、
σj(t)は、相互間で可換であるr個の非線形の所定関数giから形成される所定の集合の内の第σj(t)番目の関数であり、かつ、
SおよびTは、基本関数G1,jおよびGr,jの暗号解析を困難とすることができる所定関数である。

【図1】
image rotate

【図2】
image rotate


【公表番号】特表2006−527944(P2006−527944A)
【公表日】平成18年12月7日(2006.12.7)
【国際特許分類】
【出願番号】特願2006−516259(P2006−516259)
【出願日】平成16年6月2日(2004.6.2)
【国際出願番号】PCT/FR2004/001362
【国際公開番号】WO2005/008951
【国際公開日】平成17年1月27日(2005.1.27)
【出願人】(591034154)フランス・テレコム (290)
【Fターム(参考)】