説明

符号化装置、追跡装置、符号化方法、追跡方法、および、プログラム

【課題】Tardos符号を改良し、符号長を短縮しより実用的な符号法を与えるための符号化装置を提供する。
【解決手段】符号化装置1は、結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置4で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成する。
符号化装置1は、前記追跡装置4で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成する最適Z計算部11と、生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択する最適符号長計算部12と、選択された値の符号長で、利用者ごとに異なる符号語を生成する符号語生成部とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタルコンテンツの流通に際し、デジタルフィンガープリンティングで埋め込まれる符号語への符号化、または、結託により改ざんされたデジタルコンテンツからの結託者の符号語の追跡に係る符号化装置、追跡装置、符号化方法、追跡方法、および、プログラムに関する。
【背景技術】
【0002】
デジタルコンテンツの著作権保護を目的として、コンテンツのコピー毎に異なる識別情報を埋め込み、不正コピーが現れた際に、埋め込まれている識別情報からその出所追跡するスキームをデジタルフィンガープリンティング(digital fingerprinting)と呼ぶ。
【0003】
デジタルコンテンツに識別情報を埋め込む方法として、コンテンツの品質を落さずに別の情報を埋め込む電子透かし(digital watermarking)がある。電子透かしには、コンテンツがMPEG圧縮やデジタル・アナログ・デジタル変換などのさまざまな操作を受けても埋め込まれた情報が失われないロバスト電子透かし(robust digital watermarking)と呼ばれるものがある。しかし、例えロバスト電子透かしとしても、利用者毎に異なる識別情報が埋め込まれたコンテンツの配布を受けた利用者が結託して、各自のコンテンツを持ち寄り、コピーを比較するとコンテンツ中のコピー毎に異なる部分が分かり、その情報をもとにコンテンツに改ざんを加えることで、埋め込まれた識別情報を改ざん・消去する結託攻撃(collusion attack)が可能である。
【0004】
結託攻撃に対する対策として、識別情報に対して結託攻撃に強い符号化を施してからコンテンツに埋め込む方法がある。そのような符号を結託耐性符号(collusion−resilient fingerprinting code)と呼ぶ。誤りεを持つc−secure符号(c−secure code with ε−error)は、結託者数cまでの結託攻撃に対して高々εの追跡誤り確率で少なくとも1人の結託者を特定することが可能な結託耐性符号である。
【0005】
誤りεを持つc−secure符号の構成法の一種として、Tardos符号(Tardos code)が、知られている。(例えば、非特許文献1参照)。
【非特許文献1】Tarodos,G.:Optimal Probabilistic FingerprintingCodes. In:STOC’03,ACM(2003)116−125
【発明の開示】
【発明が解決しようとする課題】
【0006】
Tardos符号は、論理上誤りεを持つc−secure符号として有力な方式であるが、現実的には、符号長mが長すぎるため、あまり実用的ではなかった。
【0007】
そこで、本発明は、Tardos符号を改良し、符号長を短縮しより実用的な符号法を与えるための符号化装置、追跡装置、符号化方法、追跡方法、および、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明は、結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成する符号化装置であって、前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成する閾値計算手段と、前記閾値計算手段で生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択する最適符号長計算手段と、前記最適符号長計算手段で選択された値の符号長で、利用者ごとに異なる符号語を生成する符号語生成手段とを備えたことを特徴とする。
【0009】
また、本発明は、利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡装置であって、不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成する閾値計算手段と、前記閾値計算手段で生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択する最適符号長計算手段と、前記最適符号長計算手段で選択された値の符号長で、利用者ごとに異なる符号語を生成する符号語生成手段と、前記改ざんデータと、前記符号化生成手段で生成された符号語との相関値をそれぞれ計算する相関計算手段と、前記最適符号長計算手段で選択された符号長に対応する閾値を複数の閾値の候補から選定し、前記相関計算手段で計算された各相関値が該選定された閾値を超えるか否かを判定する判定手段とを備えたことを特徴とする。
【0010】
また、本発明は、利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡装置であって、前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶する記憶手段と、前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算する相関計算手段と、前記相関計算手段で計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定する判定手段とを備えたことを特徴とする。
【0011】
また、本発明は、結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成する符号化方法であって、前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成し、該生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択し、該選択された値の符号長で、利用者ごとに異なる符号語を生成するようにした。
【0012】
また、本発明は、利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡方法であって、不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成し、該生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択し、該選択された値の符号長で、利用者ごとに異なる符号語を生成し、前記改ざんデータと、該生成された符号語との相関値をそれぞれ計算し、該選択された符号長に対応する閾値を複数の閾値の候補から選定し、該計算された各相関値が該選定された閾値を超えるか否かを判定するようにした。
【0013】
また、本発明は、利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡方法であって、前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶手段に記憶し、前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算し、該計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定するようにした。
【0014】
また、本発明は、結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成させるためにコンピュータで実行されるプログラムであって、前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成させる第1プログラムコードと、前記第1プログラムコードで生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めさせ、該複数の符号長の値から最も小さい値を選択させる第2プログラムコードと、 前記第2プログラムコードで選択された値の符号長で、利用者ごとに異なる符号語を生成させる第3プログラムコードとを備えた。
【0015】
また、本発明は、利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡させるために、コンピュータで実行されるプログラムであって、不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成させる第1プログラムコードと、前記第1プログラムコードで生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めさせ、該複数の符号長の値から最も小さい値を選択させる第2プログラムコードと、前記第2プログラムコードで選択された値の符号長で、利用者ごとに異なる符号語を生成させる第3プログラムコードと、前記改ざんデータと、前記第3プログラムコードで生成された符号語との相関値をそれぞれ計算する第4プログラムコードと、前記第2プログラムコードで選択された符号長に対応する閾値を複数の閾値の候補から選定し、前記第4プログラムコードで計算された各相関値が該選定された閾値を超えるか否かを判定する第5プログラムコードとを備えた。
【0016】
また、本発明は、利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡させるために、コンピュータで実行されるプログラムであって、前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶手段に記憶させる第1プログラムコードと、前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算させる第2プログラムコードと、前記第2プログラムコードで計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定する第3プログラムコードとを備えた。
【発明の効果】
【0017】
本発明によれば、誤りεを持つc−secure符号であることを維持しつつ、より短い符号長mを実現できる。
【発明を実施するための最良の形態】
【0018】
以下、図面を用いて本実施の形態を説明する。
【0019】
図1は、本実施の形態の符号化装置/追跡装置が利用されるシステムの一例を示している。このシステムは、同じデジタルコンテンツを利用したい複数の人に配布する際に利用者ごとにそれぞれ異なる固有の識別情報uを決定し、符号化装置1で各識別情報uからそれぞれ異なる各符号語wを生成し、埋込み装置2でデジタルコンテンツに生成された各符号語wを知覚できないように埋め込み、各符号語wを埋め込み済みのデジタルコンテンツを各利用者へ配布する。その後、不正な利用者によって、結託攻撃が行われたとする。結託攻撃とは、配布された異なる符号語が埋め込まれたデジタルコンテンツまたはそのコピーを複数入手し、それらの間の違いを見出して得られた知識を用い、埋め込み済みのデジタルコンテンツに埋め込まれる符号語を改ざん・消去しようとする攻撃である。不正な利用者は、結託攻撃によって攻撃された後の結託攻撃済みのデジタルコンテンツを不正に流通させる。不正に流通された結託攻撃済みのデジタルコンテンツを取得し、埋め込み装置2での埋め込み方式に対応する検出方式を備えた検出装置3にて、結託攻撃済みのデジタルコンテンツに埋め込まれている符号語(追跡対象符号語)yを検出する。検出された追跡対象符号語yを、追跡装置4で検査することによって、この結託攻撃に利用された複数のデジタルコンテンツの利用者のうち少なくとも一人の識別情報がわかる。これにより、結託に携わった少なくとも一人を特定できることになり、デジタルコンテンツの著作権保護につながる。なお、符号化装置1、埋め込み装置2、検出装置3、追跡装置4は、専用装置で構成しても良いが、プロセッサ、主メモリ、HDD等を備えた通常のコンピュータ装置に、ソフトウェアプログラムを実行させることにより実現しても良いことは勿論である。また、符号化装置1、埋め込み装置2、検出装置3、追跡装置4は、それぞれ独立した装置構成でも良いし、これらの幾つかを同時に備えた装置構成としても良い。
【0020】
上記のシステムにおいて、デジタルコンテンツに埋め込む符号語は、結託攻撃に強い符号であることが重要である。そのような符号を結託耐性符号(collusion−resilient fingerprinting code)と呼ぶ。誤りεを持つc−secure符号(c−secure code with ε−error)は、結託者数cまでの結託攻撃に対して高々εの追跡誤り確率で少なくとも1人の結託者を特定することが可能な結託耐性符号である。Tardos符号(Tardos code)は、誤りεを持つc−secure符号の構成法の一種であるが、本実施の形態ではこれを一部改良した。これについて、以下に詳細な説明を行う前に、用いる表記方法について定義しておく。
【0021】
[n]と記すと、1からnまでの整数の集合を示すとする。また、[a,b]は、a以上b以下の全ての実数の集合を示すとする。また、a∈Cは、aが集合Cの元であることを示すとする。また、C\Dは、集合Cと集合Dとの差集合を示し、集合Cから集合Dに属する元を取り除いたものである。例えば、[n]\[c]は、1からnまでの整数の集合と1からcまでの整数の集合の差集合であるので、c+1からnまでの整数の集合となる。また、a∈Cは、確率変数aが集合Cから一様に値をとることを示す。また、Pr[E]は、事象Eが生起する確率を示す。また、≡は、記号の定義を示す式に用い、左辺を右辺と定義するか右辺を左辺と定義する場合に用いる。また、対数関数をln≡logとし、eは自然対数の底を示し、e=2.71828・・・である。また、∀xA(x)は、全てのxに対して式A(x)が成り立つという意味である。同様に、∀x∈CA(x)は、Cの全ての元に対して式A(x)が成り立つという意味である。また、E[B(x)]は、B(x)の期待値を表す記号で、確率変数xが集合Aから値をとるとき、E[B(x)]≡Σa∈APr[x=a]B(a)と定義される。また、(wi=1,,…,8=(w,w,・・・,w)=(1,0,1,1,0,1,1,0)である。
【0022】
まず、符号化法の概略動作を図2を用いて説明する。
【0023】
以下、利用者数をn、想定する最大結託者数をc、追跡誤り確率をε、符号長をmとする。また、利用者の識別情報をu∈[n]≡{1,2,・・・,n}とする。識別情報u∈[n]の利用者に割り当てられる符号語wの第iビットをwu,i(i=1・・・m)と示すと、符号生成においてwu,iが値1を取る確率をPr[wu,i=1]と示す。
【0024】
まず、各iに対してpを生成する(ステップS11)。より詳細には、t=1/(300c)、t’=arcsin t1/2とし、r∈[t’,π・2−t’]を一様分布に従う確率変数とし、rの値をランダムに生成し、p=sinを生成する。
【0025】
次に、各u、各iに対して、Pr[wu,i=1]=p、Pr[wu,i=0]=1−pとし、wu,i∈{0,1}をランダムに生成する(ステップS12)。
【0026】
生成した符号語w(=wu,1,wu,2,・・・,wu,m)を出力する(ステップS13)。
【0027】
以上のようにして符号語w生成される。
【0028】
一方、符号語yの追跡法の概略動作を図3を用いて説明する。
【0029】
まず、結託攻撃を受けたと想定されるデジタルコンテンツから、検出された追跡対象符号語y(=y,y,・・・,y)と、調査対象のある一利用者の識別情報に対応する符号語w(=wu,1,wu,2,・・・,wu,m)とを入力する(ステップS21)。
【0030】
次に、追跡対象符号語yと符号語wとの相関値S(y,w)を計算する(ステップS22)。この相関値S(y,w)が、閾値Zを越えているか否かを判断する(ステップS23)。超えていると判断された場合にはその符号語wに対応する識別情報の利用者が結託者であると決定し(ステップS24)、超えていなければこの利用者は結託者でないと決定し(ステップS25)、決定結果を出力する(ステップS26)。
【0031】
以上のことを調査対象の利用者を代えて、順次調べることにより、少なくとも結託者の一人を特定する。
【0032】
次に、Tardos符号語wがc−secure符号であるための十分条件を以下に説明する。
【0033】
ステップSの相関値の計算を式として示すと以下のようになる
【数1】

【0034】
符号がc−secure符号であるには、いかなるc人以下の結託に対しても、確率(1−ε)以上で少なくとも一人の結託者を追跡できなければならない。つまり、結託者数は、1人からc人までの任意の数であるとする。そこで、c’人の結託者による攻撃が行われたとする。但し、c’∈[c]とする。
【0035】
Tardos特定の符号語を特別扱いするものではないので、一般性を失うことなく、結託者の集合を[c’]とすることができる。このとき、無実の利用者の符号語の集合は、符号語全体の集合と結託者の符号語の集合の差集合[n]\[c’]である。
【0036】
c−secure符号は、その定義により追跡誤り確率がε以下でなければならない。追跡誤りが起こる場合として、1)結託者でない人を誤って追跡してしまう、2)結託者を誰一人として追跡できない。これらの追跡誤りが怒る確率の和がε以下ならば、Tardos符号はc−secure符号となる。
【0037】
判定条件を表す式[数1]より、あるu∈[n]\[c’]は、S(y,w)>Zのとき不正者として誤って追跡される。その確率はPr[S(y,w)>Z]で表される。
【0038】
一方、判定条件を表す式[数1]より、結託者u∈[c’]は、S(y,w)>Zのとき追跡されるので、Σu∈[c’]S(y,w)>c’Zならば、少なくとも一人の結託者uに対しては、S(y,w)>Zとなることが保証されるので、少なくとも一人の不正者が追跡される(図4)。反対に、Σu∈[c’]S(y,w)≦c’Zのときは、少なくとも一人を追跡されるという保証はなくなる。
【0039】
以上のことから、次式を満たすときに、Tardos符号は誤りεを持つc−secure符号となる。
【数2】

【数3】

【0040】
実際、[数2]、[数3]の2つの不等式より、追跡誤り確率が、次式の通りεで抑えられるからである。
【数4】

【0041】
なお、式[数4]の右辺の第1因子(n−c’)は、不正者でないユーザについての確率を足し上げるためである。
【0042】
式[数2]と式[数3]の式のそれぞれに、よく知られるMarkov不等式(後述)を適用し、次式を得る。
【数5】

【数6】

【0043】
ここで、Markov不等式について説明する。Markov不等式は、ある非負の確率変数Xと、非負の実数vが与えられていたとき、次式のことをいう。
【数7】

【0044】
Markov不等式を使うと、任意の整数αに対して、
【数8】

【0045】
が成り立つ。
【0046】
式[数5]、式[数6]のαとα’は、式[数2]、式[数3]のそれぞれに、Markov不等式を適用する際に現れる正定数で、Tardos符号の構成上のパラメータとなる。
【0047】
また、Aは、α’とcに依存する関数で、次式で定義される。
【数9】

【0048】
Eは、期待値を示し、p=(pi=1、・・・mとw=(wu,ii=1、・・・mの確率分布に従って計算される。
【0049】
さらに、Tardos符号において符号語の各ビットが独立であることを用いると、
【数10】

【0050】
となる。ここで、xは結託者のうち符号語の第iビットが1である者の数である。
【0051】
以上の説明により、Tardos符号は、符号長mが[数5]、[数6]の不等式を満たすとき、誤りεを持つc−secure符号となることがわかる。
【0052】
ところで、従来から知られているTardos符号は、閾値Zおよび符号長mは、次式によって定められていた。
【数11】

【数12】

【0053】
これらも、式[数5]、式[数6]の不等式を満たすため、誤りεを持つc−secure符号となるが、符号長mの長さについて考慮されておらず、実際、この符号長mでは、長すぎて実用上利用できなかった。
【0054】
そこで、以下では、符号長mを誤りεを持つc−secure符号であることを保ちつつ、最小の符号長mを求めることについて考察を進める。
【0055】
図5は、[数5]と[数6]によって、符号長が決まる様子を表している。式[数5]と式[数6]は、それぞれ符号長mの上限と下限を与えている。従って、このあいだの黒塗りの領域内にmが取り得る値がある。なお、符号長mは、図5からもわかるように、2つの直線の交点のmが、mの最小値となる。この交点は、次式で表される。
【数13】

【数14】

【0056】
式[数13]より、mが最小になるαを決定する。これはdm/dα=0を満たす極限値を求めることによって行われる(図6)。その結果、
【数15】

のとき、符号長が最小になり、そのときの閾値Zと符号長mは、
【数16】

【数17】

【0057】
となる。
【0058】
式[数16]、式[数17]からわかるように、閾値Zと符号長mとは、α’によって求まる。α’は、小数第2位程度の値を取り得ることがわかっているので、α’をその近辺の値として所定間隔(例えば、0.001間隔)で変更しつつ、式[数16]が最小になるα’を探索することにより最小となる符号長mと、そのときのα’から式[数17]を計算することにより得られる閾値Zとを決定することができる。
【0059】
次に、上記で説明してきた本実施の形態の符号長mを最小にする誤りεを持つc−secure符号を実現する符号化装置および復号装置について、以下に説明する。
【0060】
図7は、符号化装置1の全体を示した図である。符号化装置1は、パラメータ入力部16、最適Z計算部11、最適符号長計算部12、符号語生成部13、および、符号語出力部17とを備える。
【0061】
パラメータ入力部16は、図示しない表示装置やキーボードなどのマンマシン・インタフェースを介し、本装置を利用する人から、配布するデジタルコンテンツを利用する利用者数(配布数)n、想定する最大結託者数c、および、追跡誤り確率εの入力を受け、一時的に保持する。また、パラメータ入力部16は、利用者数nに基づき、ユーザ識別情報u1・・・nを自動生成する。なお、この自動生成に代え、ユーザが識別情報を1つずつ入力するようにしても良い。
【0062】
最適Z計算部11は、パラメータn、c、εの入力を受け、復号時に利用される最適な閾値Z(+)を求めるための閾値候補群Z(+),Z(+),・・・,Z(+)を不定なパラメータα’を残したまま、式[数18]を計算するものである。
【数18】

【0063】
最適Z計算部11内の機能ブロックを図8に示す。最適Z計算部11は、ε/n計算部110、α’系列生成部120、A計算部130、Z(+)計算部140を備える。
【0064】
ε/n計算部110は、パラメータ入力部16からεとnとを入力し、ε/nを計算し、計算結果をZ(+)計算部140へ出力するものである。
【0065】
α’系列生成部120は、閾値Zの最適値がその中に存在すると想定するα’領域内から、α’の値の候補をM個生成する。または、α’系列生成部120は、上記でも説明したように、小数第2位程度の値を取り得ることがわかっているので、そのようなα’の値の候補をM個を予め用意しておいても良い。なお、Mは、予め定めた値でも良いし、適宜変更される値であっても良い。α’系列生成部120は、α’の値の候補を系列α’,α’,・・・,α’としてA計算部130およびZ(+)計算部140へ出力する。
【0066】
A計算部130は、パラメータ入力部16からcを入力し、α’系列生成部120から入力された系列α’,α’,・・・,α’の各値に対して、Aを計算する。Aの計算は、具体的には[数10]の式の右辺を計算するが、yに依存しない値を出すために、不等式の最後の右辺を計算する。α’に対するAの計算結果をAとすると、A計算部130は、系列(α’,A),(α’,A),・・・,(α’,A)をZ(+)計算部140へ出力する。
【0067】
(+)計算部140は、入力されたε/nと系列(α’,A),(α’,A),・・・,(α’,A)とから、各α’に対して、それぞれ式[数18]に対応した式[数19]の計算を行うものである。
【数19】

【0068】
計算結果は、系列(α’,A,Z(+)),(α’,A,Z(+)),・・・,(α’,A,Z(+))として出力する。
【0069】
次に、最適符号長計算部12は、符号時に利用される最も小さい符号長mMINを求めるためのものである。最適符号長計算部12内の機能ブロックを図9に示す。最適符号長計算部12は、ε/n計算部210とmmin計算部220とmMIN決定部230とを備える。
【0070】
ε/n計算部210は、パラメータ入力部16からεとnとを入力し、ε/nを計算し、計算結果をmmin計算部220へ出力する。なお、ε/n計算部210は、最適Z計算部11内のε/n計算部110と同一の機能を有しているから、ε/n計算部210を省略し、最適Z計算部11内のε/n計算部110から直接入力するようにしても良い。
【0071】
min計算部220は、各α’に対して、次式を計算する。
【数20】

【0072】
MIN決定部230は、mmin1,mmin2,・・・,mminMの中から最小値を求め、その値mMINを出力する。
【0073】
次に、符号語生成部13は、識別情報uとmMINとから符号長mMINビットの符号を生成するものである。符号語生成部13内の機能ブロックを図10に示す。符号語生成部13は、p生成部310とwu,i生成部320とを備える。
【0074】
生成部310は、パラメータ入力部16からcを、最適符号長計算部12からmMINを入力し、乱数の系列p,p,・・・,pmMINを生成する。各pは、rを[arcsin(1/300c)1/2,π/2−arcsin(1/300c)1/2]から一様に選択し、p=sinとする。生成されたp,p,・・・,pmMINをwu,i生成部320へ出力する。
【0075】
u,i生成部320は、i=1,2,・・・,mMINに対して、入力されたpの値に基づいて、Pr[wu,i=1]=pとPr[wu,i=0]=1−pの確率に従って、wu,iの値をランダムに生成する。こうして得られた符号語w=(wu,ii=1、・・・mMINを出力する。この出力された符号語w=(wu,ii=1、・・・mMINは、符号化装置1の出力となる。
【0076】
以上のようにして、符号化装置1は、構成される。なお、図7の最適Z計算部11、最適符号長計算部12、及び、符号語生成部13で求められた値を図示しない記憶部へ出力し(図の点線矢印)、記憶させるようにしても良い。
【0077】
次に、このような符号語生成装置1の動作について図11を用いて説明する。
【0078】
パラメータ入力部16は、利用者数(配布数)n、想定する最大結託者数c、および、追跡誤り確率εの入力を受ける(ステップS31)。最適Z計算部11は、閾値Z候補を複数生成する(ステップS32)。最適符号長計算部12は、生成された閾値Z候補群を入力し、複数の符号長を求め、その中から最小となる符号長を決定する(ステップS33)。
【0079】
パラメータ入力部16は、符号語生成部13へ符号化したい識別情報を入力する(ステップS34)。符号語生成部13は、ステップS33で決定した符号長と、入力された識別情報とに基づき、符号語を生成する(ステップS35)。符号語生成部13は、生成された符号語を出力する(ステップS36)。なお、生成された符号語は一旦図示しない記憶部に保持し、後で全符号語を纏めて出力するようにしても良い。
【0080】
まだ、符号化を行う識別情報があるか確認し(ステップS37)、なければ、符号化の処理を終了する。一方、符号化を行う識別情報がまだある場合には、符号語生成対象とする識別情報を更新し(ステップS38)、ステップS34の処理に戻る。
【0081】
以上のようにして、符号化装置1は、各識別情報uに対し各ユーザの符号語wを生成・出力し、例えば、埋込み装置2は、デジタルコンテンツのコピーごとに、符号語wを変えて透かし情報として埋め込む。
【0082】
次に、追跡装置について説明する。図12は、追跡装置4の全体を示した図である。
【0083】
追跡装置4は、符号化部21、相関計算部22、および、不正者判定部23を備える。
【0084】
符号化部21は、上記した符号化装置1と、同等の機能を有している。これは、相関計算部22で、検出対象語との相関を求めるための各利用者の識別情報uに基づく符号語wが必要になるため、更に、閾値Zを得るために備えているものである。従って、符号化部21の代わりに、符号化装置1での生成した符号語w、閾値Zを記憶しておき、記憶した内容を利用するような構成でも良い。
【0085】
デジタルコンテンツから検出装置3で検出された検出対象符号語yを検出装置3から受け取り一時的に保持しておく。
【0086】
相関計算部22は、デジタルコンテンツから検出装置3で検出された検出対象符号語yと、符号化部21からのwとを入力し、それらの符号の間の相関値σ(w,y)を計算し、計算結果を出力する。相関値σ(w,y)の計算は、各ビットの値が1のときに、個数を求める計算を行う。
【0087】
不正者判定部23は、相関計算部22が出力した相関値が、mMINを与えた場合のα’の値に対する閾値Z(+)を超えるか否かを判定する。超える場合には、識別情報uの利用者が不正者であるという旨の出力を行う。超えない場合には、不正者とはいえない旨の出力を行う。
【0088】
次に、このような符号語生成装置1の動作について図13を用いて説明する。
【0089】
まず、相関計算部22は、検出装置1で検出された検出対象符号語yを入力する(ステップS41)。また、符号化部21(または符号語を記憶した記憶部)から、調べる符号語wをひとつ入力する(ステップS42)。相関計算部22は、入力された検出対象符号語yと符号語wの各ビット間を比較し、相関値を計算する(ステップS43)。
【0090】
不正者判定部23は、符号化部21(または、閾値Zを記憶した記憶部)から得られた閾値Zより、該計算された相関値が小さいかを確認する(Sステップ44)。もし、相関値のほうが大きければ、調べた符号語wに対応する識別情報を出力する(ステップS45)。これはこの識別情報に対応する利用者が、結託者であることを示す。一方、相関値のほうが小さければ、結託者であるとは断定できないとして、次に、調べる符号語wがあるか否かを確認し(ステップS46)、あればステップS42の処理に戻る。なお、ステップS45で識別情報を出力した後、更に結託者を探す処理(ステップS46へ)に進んでも良いし、結託者を探す処理を終了しても良い。
【0091】
以上のように、本実施の形態によれば、本発明によれば、誤りεを持つc−secure符号であることを維持しつつ、より短い符号長mを実現できるようになった。その結果、実用性に優れた結託耐性符号を提供できる。
【0092】
次に、他の実施形態を説明する。
【0093】
式[数5]に変えて、より厳密な以下の不等式を用いても、Tardos符号は、誤りεを持つc−secure符号となる。
【数21】

【0094】
ここで、Bはαとcに依存する関数で、以下のように定義される。
【数22】

【0095】
Eは期待値を表し、p=(pi=1,。。。,mとw=(wu,ii=1、・・・mに関してとられる。
【0096】
式[数6]と式[数21]とを用いて符号長を決定する場合、式[数21]の左辺が大きいほうがより短い符号長を与える。
【0097】
上の考え方に従って、先の実施形態の最適Z計算部11と最適符号長計算部12とを合わせた機能として、代わりに、別の最適符号長計算部31による実施形態を、図14を用いて説明する。
【0098】
最適符号長計算部31は、ε/n計算部41、α’系列生成部42、α系列生成部43、Z系列生成部44、A計算部45、B計算部46、下限計算部47、上限計算部48、および、最小下限計算部49を備える。
【0099】
本実施形態では、Aの他に式[数22]で定義されたBという量の計算が必要となる。Bはパラメータαとcに依存する量である。そのため、Aの場合と同様に、α系列生成部43が生成したαの値の系列α,α,・・・,αの各値に対して、B計算部46は、cとαから、それぞれのBの値、B,B,・・・,Bを計算する。B計算部46は、(α,B),(α,B),・・・,(α,B)を出力する。
【0100】
Z系列生成部44は、想定するZの値の範囲内から所定の間隔でZの値の系列Z,Z,・・・,Zを生成する。
【0101】
下限計算部47は、ε/n計算部41が出力したε/nとcとそれぞれA計算部45が出力した系列とを入力として、式[数6]の左辺に相当する、
【数23】

【0102】
を各i=1,2,・・・,Mと各j=1,2,・・・,Mに対して計算し、系列(α’,Z,mmin,1,1),・・・,(α’,Z,mmin,1,M),・・・,(α’,Z,mmin,M,1),・・・,(α’,Z,mmin,M,M)を出力する。
【0103】
上限計算部48は、ε/n計算部が出力したε/nとcとそれぞれB計算部が出力した系列を入力として、式[数22]の左辺に相当する、
【数24】

を各i=1,2,・・・,Mと各j=1,2,・・・,Mに対して計算し、系列(α,Z,mmax,1,1),・・・,(α,Z,mmax,1,M),・・・,(α,Z,mmax,M,1),・・・,(α,Z,mmax,M,M)を出力する。
【0104】
最小下限計算部49は、上限計算部の出力と下限計算部の出力から、各(i,j,k)∈{1,・・・,M}に対して、条件mmin,i,j≦mmax,k,jを満たすもののうち、最小のmmin,i,j≡mMINを与える(i,j,k)≡(iMIN,jMIN,kMIN)を選択する。ZMIN≡ZjMINとして、ZMIN,mMINを出力する。
【0105】
以上のような本実施の形態によれば、先の実施の形態よりも、より厳密な[数22]の不等式を用いるから、誤りεを持つc−secure符号であることを維持しつつ、より短い符号長で実現できる可能性を秘めている。その結果、実用性に優れた結託耐性符号を提供できる。
【図面の簡単な説明】
【0106】
【図1】本実施の形態の符号化装置/追跡装置が利用されるシステムの一例を示す図。
【図2】符号化法の概略動作を示す図。
【図3】符号語yの追跡法の概略動作を示す図。
【図4】少なくとも一人の不正者が追跡されることを示すグラフ。
【図5】[数7]と[数8]の式をグラフ化した図。
【図6】[数15]の式のdm/dαを示したグラフ。
【図7】符号化装置1の全体を示した図。
【図8】最適Z計算部11内の機能ブロックを示す図。
【図9】最適符号長計算部12内の機能ブロックを示す図。
【図10】符号語生成部13内の機能ブロックを示す図。
【図11】符号語生成装置1の動作について示した図。
【図12】追跡装置4の全体を示した図。
【図13】符号語生成装置1の動作について示した図。
【図14】別の最適符号長計算部31による実施形態を示した図。
【符号の説明】
【0107】
1・・・符号化装置
2・・・埋込み装置
3・・・検出装置
4・・・追跡装置
11・・・最適Z計算部
12、31・・・最適符号長計算部
13・・・符号語生成部
16・・・パラメータ入力部
17・・・符号語出力部
21・・・符号化部
22・・・相関計算部
23・・・不正者判定部
41、110、210・・・ε/n計算部
42、120・・・α’系列生成部
43・・・α系列生成部
44・・・Z系列生成部
45、130・・・A計算部
46・・・B計算部
47・・・下限計算部
48・・・上限計算部
49・・・最小下限計算部
140・・・Z(+)計算部
220・・・mmin計算部
230・・・mMIN決定部
310・・・p生成部
320・・・wu,i生成部

【特許請求の範囲】
【請求項1】
結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成する符号化装置であって、
前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成する閾値計算手段と、
前記閾値計算手段で生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択する最適符号長計算手段と、
前記最適符号長計算手段で選択された値の符号長で、利用者ごとに異なる符号語を生成する符号語生成手段とを備えたことを特徴とする符号化装置。
【請求項2】
前記閾値計算手段は、許容される閾値の範囲を示す、閾値と符号長の値とを変数とする2次不等式で与えられた解の領域から、閾値の候補を計算により複数生成するようにしたことを特徴とする請求項1に記載の符号化装置。
【請求項3】
利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡装置であって、
不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成する閾値計算手段と、
前記閾値計算手段で生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択する最適符号長計算手段と、
前記最適符号長計算手段で選択された値の符号長で、利用者ごとに異なる符号語を生成する符号語生成手段と、
前記改ざんデータと、前記符号化生成手段で生成された符号語との相関値をそれぞれ計算する相関計算手段と、
前記最適符号長計算手段で選択された符号長に対応する閾値を複数の閾値の候補から選定し、前記相関計算手段で計算された各相関値が該選定された閾値を超えるか否かを判定する判定手段とを備えたことを特徴とする追跡装置。
【請求項4】
前記閾値計算手段は、
許容される閾値の範囲を示す、閾値と符号長の値とを変数とする2次不等式で与えられた解の領域から、閾値の候補を計算により複数生成するようにしたことを特徴とする請求項3に記載の追跡装置。
【請求項5】
利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡装置であって、
前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶する記憶手段と、
前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算する相関計算手段と、
前記相関計算手段で計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定する判定手段とを備えたことを特徴とする追跡装置。
【請求項6】
結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成する符号化方法であって、
前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成し、
該生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択し、
該選択された値の符号長で、利用者ごとに異なる符号語を生成するようにしたことを特徴とする符号化方法。
【請求項7】
利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡方法であって、
不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成し、
該生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めて、該複数の符号長の値から最も小さい値を選択し、
該選択された値の符号長で、利用者ごとに異なる符号語を生成し、
前記改ざんデータと、該生成された符号語との相関値をそれぞれ計算し、
該選択された符号長に対応する閾値を複数の閾値の候補から選定し、該計算された各相関値が該選定された閾値を超えるか否かを判定するようにしたことを特徴とする追跡方法。
【請求項8】
利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡するための追跡方法であって、
前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶手段に記憶し、
前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算し、
該計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定するようにしたことを特徴とする追跡方法。
【請求項9】
結託して作られた不正デジタルデータに残る改ざんデータから不正利用されたデジタルデータの利用者を追跡装置で追跡するために、デジタルデータへ埋め込まれる、利用者ごとに異なる符号語を生成させるためにコンピュータで実行されるプログラムであって、
前記追跡装置で不正者追跡のための判定のために用いる閾値の候補を計算により複数生成させる第1プログラムコードと、
前記第1プログラムコードで生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めさせ、該複数の符号長の値から最も小さい値を選択させる第 2プログラムコードと、
前記第2プログラムコードで選択された値の符号長で、利用者ごとに異なる符号語を生成させる第3プログラムコードとを備え、コンピュータで実行されるプログラム。
【請求項10】
利用者ごとに異なる符号語を埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡させるために、コンピュータで実行されるプログラムであって、
不正利用されたデジタルデータの利用者であるか否かの判定のために用いる閾値の候補を計算により複数生成させる第1プログラムコードと、
前記第1プログラムコードで生成された複数の閾値の候補のそれぞれに対応する複数の符号長の値を計算により求めさせ、該複数の符号長の値から最も小さい値を選択させる第2プログラムコードと、
前記第2プログラムコードで選択された値の符号長で、利用者ごとに異なる符号語を生成させる第3プログラムコードと、
前記改ざんデータと、前記第3プログラムコードで生成された符号語との相関値をそれぞれ計算する第4プログラムコードと、
前記第2プログラムコードで選択された符号長に対応する閾値を複数の閾値の候補から選定し、前記第4プログラムコードで計算された各相関値が該選定された閾値を超えるか否かを判定する第5プログラムコードとを備え、コンピュータで実行されるプログラム。
【請求項11】
利用者ごとに異なる符号語を符号化装置で生成し、生成された各符号語をそれぞれ埋め込んだデジタルデータの幾つかに基づいて作られた不正デジタルデータから検出された改ざんデータから不正利用されたデジタルデータの利用者を追跡させるために、コンピュータで実行されるプログラムであって、
前記符号化装置で符号語の生成時に生成された閾値と、各符号語とを記憶手段に記憶させる第1プログラムコードと、
前記改ざんデータと、前記記憶手段で記憶する各符号語との相関値をそれぞれ計算させる第2プログラムコードと、
前記第2プログラムコードで計算された各相関値が前記記憶手段に記憶する閾値を超えるか否かを判定する第3プログラムコードとを備え、コンピュータで実行されるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2007−178857(P2007−178857A)
【公開日】平成19年7月12日(2007.7.12)
【国際特許分類】
【出願番号】特願2005−379175(P2005−379175)
【出願日】平成17年12月28日(2005.12.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】