JP6481311B2 - コンテンツ作成装置及びコンテンツ作成方法 - Google Patents
コンテンツ作成装置及びコンテンツ作成方法 Download PDFInfo
- Publication number
- JP6481311B2 JP6481311B2 JP2014197116A JP2014197116A JP6481311B2 JP 6481311 B2 JP6481311 B2 JP 6481311B2 JP 2014197116 A JP2014197116 A JP 2014197116A JP 2014197116 A JP2014197116 A JP 2014197116A JP 6481311 B2 JP6481311 B2 JP 6481311B2
- Authority
- JP
- Japan
- Prior art keywords
- content
- conversion
- active
- passive
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 33
- 238000006243 chemical reaction Methods 0.000 claims description 301
- 230000008859 change Effects 0.000 claims description 186
- 238000012545 processing Methods 0.000 claims description 73
- 230000008569 process Effects 0.000 claims description 14
- 238000012937 correction Methods 0.000 claims description 12
- 238000005034 decoration Methods 0.000 claims description 9
- 238000007689 inspection Methods 0.000 description 27
- 230000000007 visual effect Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 16
- 230000009466 transformation Effects 0.000 description 13
- 238000009826 distribution Methods 0.000 description 12
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 7
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000000844 transformation Methods 0.000 description 6
- 230000010365 information processing Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 230000001771 impaired effect Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003796 beauty Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/608—Watermarking
Description
例えば、電子透かしにコンテンツの配布を正規に受けたユーザを示す情報を含めておくようにすれば、コンテンツが不正に配布された場合には、電子透かしの内容を確認することで、不正に配布を行ったユーザを追跡することができる。
ここで、音声、画像(静止画像)、動画などのデータはそもそも冗長度が高いことから、例えばデータの一部分を変更して電子透かしとしての情報を埋め込んだとしても、コンテンツを表現するための情報量のほうが人に知覚される情報量に対してはるかに多い。このために、ユーザがコンテンツを再生しているときに電子透かしとして埋め込まれた情報を知覚させないようにすることは比較的容易であり、この点でコンテンツ製作者の意図が損なわれるようなことは生じにくい。
このような技術であれば、埋め込まれた情報の影響による知覚的な変化は生じにくい。しかし、上記の技術においては、電子透かしとして埋め込まれた情報は、構造化文書において文書構造を定義するタグによって、電子透かしとしての情報であることが明確に定義されてしまっている。このために、ユーザが電子透かしの情報が埋め込まれた箇所を特定し、特定した箇所の電子透かしの情報を除去するといった不正な行為が容易に行われてしまう可能性がある。
図1は、第1実施形態としてのコンテンツ作成装置100の構成例を示している。同図に示すコンテンツ作成装置100は、変換処理部101を備える。
コンテンツの作成にあたり、変換処理部101は、能動的要素変換と受動的要素変換を行う。
能動的要素変換は、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する処理である。
能動的要素変換による変換後の能動的変更対象要素については、能動的変更結果要素と呼ぶ。能動的要素変換は、1つの能動的変更対象要素に対して行う個々の変換として定義される。
受動的要素変換による変換後の受動的変更対象要素については、受動的変更結果要素と呼ぶ。受動的要素変換は、1つの受動的変更対象要素に対して行う個々の変換として定義される。
なお、ここでのユーザ特定情報により特定されるユーザは、個人以外であってもよく、例えば法人などの団体であってもよい。
また、ユーザ特定情報は、それ自体でユーザを特定できなくとも、他の情報と組み合わせることでユーザが特定可能となるような情報であってもよい。例えばユーザ識別子などは、それ自体は識別子としての数値等を表すのみであって直接的にユーザを特定できるものではないが、ユーザ識別子に対応付けられたユーザ名などのユーザ情報との組み合わせによってユーザが特定可能になる。
なお、埋め込み情報が含む埋込対象データとしては特に限定されず、ユーザ特定情報以外の情報が含まれてもよいが、以下の説明においては、埋込対象データがユーザ特定情報を含む場合を例に挙げる。このようなユーザ特定情報を埋込対象データとして含む埋め込み情報は、例えばDRM(Digital Rights Management:デジタル著作権管理)のための情報として機能する。
「能動的要素変換」の集合については、「能動的要素変換集合」と呼ぶ。また、「受動的要素変換」の集合については、「受動的要素変換集合」と呼ぶ。
また、「能動的要素変換」と「受動的要素変換」とについて特に区別しない場合には、「要素変換」と呼ぶ。
また、「能動的変更対象要素」と「受動的変更対象要素」とについて特に区別しない場合には、「変更対象要素」と呼ぶ。
また、受動的要素変換がそれぞれの受動的変更対象要素に対して行われることによってコンテンツ全体に付与することとなる変換については、「受動的コンテンツ変換」と呼ぶ。
また、「能動的コンテンツ変換」と「受動的コンテンツ変換」とで特に区別しない場合には、「コンテンツ変換」と呼ぶ。
さらに、「能動的コンテンツ変換」と「受動的コンテンツ変換」とを組み合わせた変換を「総合的変換」と呼ぶ。
HTMLファイル201は、HTML(HyperText Markup Language)としてのマークアップ言語により記述された文書のファイルである。HTMLファイル201は、テキストによる文書と、文書構造を定義した情報とを形成されるファイルである。HTMLファイル201における文書構造の定義は、文書を形成する要素(ノード)にタグを付すことによって行われる。HTMLファイル201のように文書構造が定義された文書は構造化文書とも呼ばれる。
なお、装飾指定情報としては、CSSファイル202に限定されることなく、他のスタイルシートであってもよい。
HTMLファイル201によっては静的な状態が表現される。そのうえで、本実施形態の原コンテンツ200のようにJavaScriptファイル203が含められることで、HTMLファイル201を再生して得られるコンテンツの態様に、動きや対話性などの動的な機能を与えることができる。
なお、動的機能付与情報としては、JavaScriptファイル203以外のプログラムによるファイルであってもよい。
同図においては、本実施形態の変換処理部101が原コンテンツ200に対して行う総合的変換をF(x)として示している。
同図に示される総合的変換(F(x))における能動的コンテンツ変換として、変換処理部101は、HTMLファイル201における1番目からk番目の能動的変更対象要素(N1〜Nk)のそれぞれに対して、1番目からk番目の変更制御符号(D1〜Dk)に基づいた変換を行う。これらの能動的要素変換に伴ってコンテンツ全体に能動的コンテンツ変換(f1(x)〜fk(x))がなされる。
また、総合的変換(F(x))における受動的コンテンツ変換として、変換処理部101は、JavaScriptファイル203における1番目からm番目の受動的変更対象要素(P1〜Pm)のそれぞれについて、上記の能動的コンテンツ変換(f1(x)〜fk(x))により付与される原コンテンツ200からの視覚的態様の変化が、原コンテンツ200と同等の状態に戻るように変換を行う(f1 -1(x)〜fm -1(x))。
上記のような総合的変換は、処理Fとして、下記の式1のように1以上の合成写像として表すことができる(式1はk=mの場合)。ただし、式1におけるアスタリスクは写像の合成を表す。
式2の例ではf1とf2による能動的コンテンツ変換をg1による受動的コンテンツ変換で相殺している。同様にf3による能動的コンテンツ変換をg2とg3により、fkによる能動的コンテンツ変換をgmによって相殺している。
以下では説明を簡単にするため、kとmが同数であるgi=fi -1の場合について述べるが、総合的変換が知覚的態様について恒等変換であるかぎりにおいて能動的コンテンツ変換と受動的コンテンツ変換の組み合わせ方は任意である。以下でfi -1となっている部分はgjに置き換えることによって、より一般的な形式にすることができる。
能動的変換HTMLファイル301は、能動的コンテンツ変換が行われたHTMLファイルである。受動的変換JavaScriptファイル303は、受動的コンテンツ変換が行われたJavaScriptファイルである。CSSファイル202は、コンテンツ変換は行われておらず、原コンテンツ200におけるCSSファイル202と同じ内容を有する。
まず、変換処理部101は、埋め込み情報Dt1について符号化S1を行って、1次符号列Dt2を生成する。
埋め込み情報Dt1は、前述のように、HTMLファイル201に埋め込むべき情報であり、コンテンツの正当な配布先のユーザを示すユーザ特定情報を含む。ユーザ特定情報は、例えばコンテンツの正当な配布先のユーザを一意に示すユーザ識別子とすることができる。なお、同図においては埋め込み情報Dt1として「ABCD」の文字列が示されているが、これは埋め込み情報Dt1が文字列であってもよいことを表しているのであって、具体的な埋め込み情報Dt1の文字列は任意である。
次に、変換処理部101は、2次符号列Dt3に対する分割処理S3を行うことで複数の分割データDt4−1〜Dt4−5を得る。本実施形態においては、分割処理S3により2次符号列Dt3を分割して得られた分割データDt4−1〜Dt4−5が、それぞれ、変更制御符号(D1〜D5)である。
また、同図の例からも分かるように、分割データDt4−1〜Dt4−5としての変更制御符号(D1〜D5)の各々は、図示するように、同じビット数(データ長)である必要はない。
まず、HTMLファイル201における能動的変更対象要素については以下のように選択することができる。例えば変換処理部101は、HTMLファイル201において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から所定文字数おきに1番目〜5番目までの文字をそれぞれ能動的変更対象要素として選択する。
そして、変換処理部101は、1番目〜5番目の各文字(能動的変更対象要素)のコードポイントのそれぞれについて、変更制御符号(D1〜D5)のそれぞれに基づいて変更を行う。このようにして、埋め込み情報Dt1が埋め込まれた能動的変換HTMLファイル301が得られる。
変換処理部101は、例えば以下のように埋め込み情報Dt1にチェックデジットを含めることができる。
ここでは、ユーザ特定情報が「ABCD」の文字列であって、「ABCD」の文字列により特定されるユーザに割り当てた秘密の文字列が「8QtZ2p」である場合を例に挙げる。
この場合の変換処理部101は、「ABCD」の文字列に「8QtZ2p」を連結することで「ABCD8QtZ2p」の文字列を得る。
そのうえで、変換処理部101は、「ABCD8QtZ2p」の文字列に対して暗号学的ハッシュ関数(たとえばSHA−512)によりハッシュ値を計算する。そして、変換処理部101は、計算によって得られたハッシュ値を「ABCD」の文字列に付加する。このように、「ABCD」の文字列にハッシュ値が付加された情報が埋め込み情報Dt1となる。
変換処理部101は、JavaScriptファイル203において、能動的コンテンツ変換による変換対象とされた能動的変更対象要素に対応する受動的変更対象要素P1〜Pmのそれぞれについて受動的要素変換を行う。この際には、能動的変換HTMLファイル301による原コンテンツからの視覚的態様の変化がキャンセルされるように、即ち、上記の1番目〜5番目の各文字(能動的変更結果要素)のコードポイントを原コンテンツ200と同じとする制御が行われるように受動的変更対象要素P1〜Pmを変換する。このようにして受動的変換JavaScriptファイル303が得られる。
なお、上記の説明では、能動的変更対象要素の数と受動的変更対象要素の数とが同じ(k=m)である場合を例に挙げている。しかし、能動的変更対象要素の数と受動的変更対象要素の数は同じであるとは限らない。
つまり、能動的変換HTMLファイル301を再生して表示される1番目〜5番目の各文字(能動的変更結果要素)については、HTMLファイル201を再生したときと異なる文字となる。
そのうえで、コンテンツ再生装置によって、上記のように表示された能動的変換HTMLファイル301に対して、受動的変換JavaScriptファイル303が実行される。これにより、上記の1番目〜5番目の文字(能動的変更結果要素)のコードポイントは、原コンテンツ200におけるHTMLファイル201に含まれていた能動的変更対象要素と同じとなるように変更される。この結果、1番目〜5番目の要素に対応する文字は、原コンテンツ200を再生させたときに表示されるのと同じものが表示される。
この結果、コンテンツ300は、能動的変換HTMLファイル301と受動的変換JavaScriptファイル303とにより2段階の視覚的変更が与えられるのではあるが、表示される内容としては、原コンテンツ200と同じ内容を有している。
つまり、同図に示す総合的変換(F(x))は、図3の場合とは逆に、原コンテンツ200におけるJavaScriptファイル203に能動的コンテンツ変換(f1(x)〜fk(x))を行い、HTMLファイル201に対して受動的コンテンツ変換(f1 -1(x)〜fm -1(x))を行うというものである。
即ち、同図と図3とから分かるように、能動的コンテンツ変換の対象となるファイルと、受動的コンテンツ変換の対象となるファイルとが入れ替わってもよい。
図6(a)は、総合的変換(F(x))として、HTMLファイル201に対して能動的コンテンツ変換が行われ、CSSファイル202に対して受動的コンテンツ変換が行われる例である。
また、図7(b)は、図7(a)とは逆に、総合的変換(F(x))として、JavaScriptファイル203に対して受動的コンテンツ変換が行われ、CSSファイル202に対して能動的コンテンツ変換が行われる例である。
これに対して、図8は、総合的変換(F(x))として、同じJavaScriptファイル203に対して能動的コンテンツ変換と受動的コンテンツ変換とが行われる例である。
このように、本実施形態における総合的変換は、原コンテンツ200における同じ1つのファイルに能動的コンテンツ変換と受動的コンテンツ変換とが行われてもよい。
そのうえで、HTMLファイル201に能動的コンテンツ変換と受動的コンテンツ変換とを行う場合、本実施形態のコンテンツ300としては、少なくともHTMLファイル301を有する構造であってもよい。
例えば、能動的要素変換集合におけるk(k=k1+k2+k3)個の能動的要素変換のうち、k1個の所定の能動的要素変換はHTMLファイル201に対して行われ、k2個の所定の能動的要素変換はCSSファイル202に対して行われ、k3個の所定の能動的要素変換はJavaScriptファイル203に対して行われるようにしてよい。
受動的要素変換集合におけるm(m=m1+m2+m3)個の受動的要素変換についても同様である。
一例として、ユーザごとに、能動的変更対象要素と、これに対応する受動的変更対象要素とを異ならせることができる。
例えば、前述の図3の例の場合のようにコードポイントを変更するにあたり、或るユーザに対応しては、HTMLファイル201において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から5文字おきに能動的変更対象要素としての文字を選択する。これに対して、他のユーザに対応しては、先頭から10文字おきに能動的変更対象要素としての文字を選択するというものである。上記のように能動的変更対象要素の選択が異なるのに伴い、受動的変更対象要素の選択もユーザごとに異なってくる。
また、上記のようにユーザごとに能動的変更対象要素と受動的変更対象要素とを異ならせる場合、能動的変更対象要素及び受動的変更対象要素の数も、ユーザごとに異なっていてよい。
さらに、能動的要素変換集合における能動的要素変換のそれぞれが変換対象とする要素が含まれるファイルが、ユーザごとに異なっていてもよい。
例えば、同じ文字としてのオブジェクトの文字間隔を、能動的要素変換及び受動的要素変換により制御してもよい。
上記のように要素変換が行われた場合、例えばHTMLファイルを再生することによっては、box1に対応して配置される文字について変更後のletter-spacingの値に従った文字間隔が与えられる。しかし、CSSファイルにおいて、同じbox1について、letter-spacing: normalが記述されていることで、上記のHTMLファイルのletter-spacingの値に従った文字間隔がキャンセルされ、標準の文字間隔に戻される。つまり、コンテンツを再生して得られる要素変換に対応の文字は、原コンテンツ200と同じ視覚的態様となる。
そのうえで、1つの総合的変換を成す複数の能動的コンテンツ変換及び受動的コンテンツ変換による視覚的態様の制御対象は、例えば上記の文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置などのうちから適宜選択されてよい。つまり、1つの総合的変換における複数組の能動的要素変換及び受動的要素変換の各組による視覚的態様の制御対象は、それぞれが異なっていてもよい。
また、視覚的態様の制御対象となるオブジェクトは、文字に限定されるものではなく、例えば背景、フレームなどであってもよい。
そのうえで、コンテンツ300には、先に図4により説明した受動的コンテンツ変換によって埋め込み情報Dt1が埋め込まれている。
このような電子透かしの技術と比較すれば、本実施形態のコンテンツ300は、著作権保護情報を埋め込み情報Dt1として埋め込んでいるのにも関わらず、原コンテンツ200と同じ視覚的態様となることから、例えばコンテンツの制作者の意図を損なうことがない。
また、本実施形態のコンテンツ300が原コンテンツ200と同じ視覚的態様で再生されることにより、例えば埋め込み情報Dt1による著作権保護情報が埋め込まれていることが悪意あるユーザに気づかれにくい。さらに、埋め込み情報Dt1が埋め込まれていることがユーザに認知されているとしても、原コンテンツ200との視覚的な差異がないことから、コンテンツ300においてどのように埋め込み情報Dt1が埋め込まれているのかを特定することも困難になる。
これにより、総合的変換の規則性を見出すことがさらに難しくなり、埋め込み情報Dt1がどのようなものであるのかについて特定することがさらに困難になる。
変更結果要素特定部401は、原コンテンツにおける能動的変更対象要素または受動的変更対象要素との類似性に基づいて、検査対象コンテンツ500から変更結果要素(受動的変更結果要素または能動的変更結果要素)を特定する。
埋め込み情報復元部402は、変更結果要素特定部401による変更結果要素の特定結果に基づいて埋め込み情報を復元する。
チェックデジット判定部403は、埋め込み情報に含まれるチェックデジットが、埋め込み情報復元部402により復元された埋め込み情報に含まれるユーザ特定情報(埋込対象データの一例)を利用して計算されたハッシュ値(計算された値の一例)と一致するか否かについて判定する。
図4のコンテンツの場合を例に埋め込み情報Dt1の復元の具体例について説明する。変更結果要素特定部401は、まず、検査対象となるHTMLファイルにおける変更結果要素(能動的変更結果要素または受動的変更結果要素)の特定を行う。このため、変更結果要素特定部401は、原コンテンツと検査対象のコンテンツとのそれぞれを構文解析し、原コンテンツの変更対象要素と類似(もしくは一致)する要素(変更結果要素候補)を検査対象コンテンツから抽出する。
例えば、変更結果要素特定部401は、ルート(根)要素から子要素に一階層ずつ類似の要素を辿ってゆくにあたり、所定の閾値以上の類似度が得られる場合には、原コンテンツの変更対象要素との対応が得られる要素を変更結果要素として抽出すればよい。
具体例として、HTMLファイルの場合であれば、<div style=”background-color:#123456”>との記述と、<div style=”background-color:#123457”>との記述は、閾値以上の類似度を有する。また<div>タグと機能が類似する<span>タグを類似性が高いとみなしてもよい。
このように変更結果要素が抽出されることを以て、変更結果要素が特定される。
埋め込み情報復元部402は、例えば、コンテンツ300の能動的変換HTMLファイル301における1番目から5番目の各要素に対する、原コンテンツ200のHTMLファイル201における1番目から5番目の各要素の差分に基づいて、分割データDt4−1〜Dt4−5を抽出できる。
埋め込み情報復元部402は、上記のように復元された埋め込み情報Dt1を取得することによりユーザ特定情報を取得することができる。
なお、コンテンツ検査装置400に上記のユーザ特定情報データベースを記憶させておいてもよい。そして、コンテンツ検査装置400が不正に配布された検査対象コンテンツから取得したユーザ特定情報とユーザ特定情報データベースとを照合して、コンテンツを不正に再配布したユーザを特定できるようにしてもよい。
上記の手法によるユーザ特定情報の取得(埋め込み情報Dt1の復元)にあたっては、原コンテンツから作成されたものではない別のコンテンツを対象として埋め込み情報の復元を行った場合に、復元された埋め込み情報が、原コンテンツから作成されたコンテンツの埋め込み情報と偶発的に一致してしまう可能性がある。
前述のように、チェックデジットは、例えば「ABCD」などのユーザ特定情報としての文字列に「8QtZ2p」などの秘密の文字列を連結した文字列(「ABCD8QtZ2p」)を利用して計算して得られるハッシュ値であり、ユーザ特定情報の文字列に付加される。
そこで、コンテンツ検査装置400は、検査対象のコンテンツから取得したユーザ特定情報を利用してハッシュ値を計算する。そして、計算されたハッシュ値と、検査対象のコンテンツから取得した埋め込み情報に含まれるチェックデジットとが一致するか否かについて判定する。
ハッシュ値とチェックデジットとが一致すれば、取得されたユーザ特定情報が真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものであると判定される。
一方、ハッシュ値とチェックデジットとが一致しなければ、取得されたユーザ特定情報は、真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものではないと判定される。
なお、暗号学的ハッシュ関数では異なる入力に対して出力が衝突する確率は事実上無視できる。このため、情報埋め込み装置によって生成していないコンテンツについて、コンテンツ検査装置400が計算したハッシュ値と検査対象コンテンツから取得したチェックデジットが一致してしまうことは事実上起こらないと考えてよい。
このように、埋め込み情報Dt1が埋め込まれたコンテンツ300は、不正に配布を行ったユーザを特定可能にするという著作権保護機能を有している。
例えば悪意のあるユーザがコンテンツ300を不正に配布するにあたり、コンテンツ300における能動的変更結果要素について改竄を行う可能性がある。しかし、上記のように誤り訂正符号化された埋め込み情報Dt3に基づく能動的要素変換が行われることで、能動的変更結果要素に対する改竄が行われたとしても、誤り訂正によって埋め込み情報Dt1を正常に復元できる可能性が高くなる。これにより、例えば監視者がコンテンツを不正に配布したユーザを特定できる可能性が高くなる。
次に、変換処理部101は、ステップS101にて入力した埋め込み情報Dt1を利用して、HTMLファイル201におけるi番目の能動的変更対象要素Ni(1≦i≦k)のそれぞれに対応する変更制御符号D1〜Dkを生成する(ステップS102)。
先に図4にて説明した例では、変更制御符号D1〜Dkは、分割データDt4−1〜Dt4−5(k=5)であり、例えば変換処理部101が図4にて説明した符号化S1、誤り訂正符号化S2、分割処理S3を実行することによって得られる。
続いて、以降における変換処理部101は、HTMLファイル201を対象とする能動的コンテンツ変換fi(x)のための処理を行う。
そのために、変換処理部101は、HTMLファイル201における能動的変更対象要素Niに対して、変更制御符号Diによる能動的要素変換を行う(ステップS104)。
変数iがk以下である場合(ステップS106−NO)、まだ全ての能動的要素変換が完了していない。
そこで、この場合の変換処理部101は、ステップS104に処理を戻すことで、HTMLファイル201における次の能動的変更対象要素Niに対して能動的要素変換を行う。
そして、全ての能動的変更対象要素N1〜Nkに対する能動的要素変換が完了するのに応じて、変換処理部101は、変数iがkより大きいことを判定する(ステップS106−YES)。この場合、変換処理部101は、JavaScriptファイル203を対象とする受動的コンテンツ変換のための以下の処理に移行する。
続いて、変換処理部101は、JavaScriptファイル203における受動的変更対象要素Pjに対して受動的要素変換を行う(ステップS108)。
変数jがm以下である場合(ステップS110−NO)、まだ全ての受動的要素変換が完了していない。
そこで、この場合の変換処理部101は、ステップS108に処理を戻すことで、JavaScriptファイル203を対象として次の受動的変更対象要素Pjに対する受動的要素変換を行う。
そして、全ての受動的変更対象要素P1〜Pmに対する受動的要素変換(受動的コンテンツ変換)が完了するのに応じて、変換処理部101は、変数jがmより大きいことを判定すると(ステップS110−YES)、同図に示す処理を終了する。
このようにして、能動的コンテンツ変換と受動的コンテンツ変換(総合的変換)とが行われることで、例えば図3に例示したように、能動的変換HTMLファイル301、受動的変換JavaScriptファイル303及びCSSファイル202を含むコンテンツ300が作成される。
また、i番目の能動的変更対象要素Niとj番目の受動的変更対象要素Pjの組み合わせごとに、順次、i番目の能動的変更対象要素Niに対する能動的要素変換とj番目の受動的変更対象要素Pjに対する受動的要素変換とを実行していくという処理手順であってもよい。この場合においても、能動的要素変換と受動的要素変換の順序としては、能動的要素変換が先で、受動的要素変換が後となってもよいし、逆に、受動的要素変換が先で、能動的要素変換が後となってもよい。
続いて、第2実施形態について説明する。図11は、第2実施形態におけるコンテンツ作成装置100Aの構成例を示している。なお、同図において図1と同一部分には同一符号を付し、ここでは主に図1との相違点について説明する。
難読化処理部102は、コンテンツ300の一部または全部について難読化が図られるようにする。なお、コンテンツ300の難読化にあたり、一般的にはスクリプト部分(JavaScriptファイル)に対して難読化が行われるが、難読化によって視覚的効果に影響を与えない場合、スタイルシート(CSSファイル)や構造化文書(HTMLファイル)に対して難読化が行われてもよい。
なお、難読化のアルゴリズムとしては特に限定されるものではなく、例えば既存のアルゴリズムが適用されてもよい。
即ち、本実施形態における要素変換(能動的要素変換、受動的要素変換)は、コンテンツの視覚的態様や聴覚的態様などをはじめとする知覚的態様に変化を与えるものであればよい。
また、能動的要素変換もしくは受動的要素変換に伴って例えば意図しない遅延が発生し、遅延によって知覚的態様に何らかの想定外な変化が生じる可能性はあるが、その変化は無視できるものとする。
Claims (8)
- 構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を行い、
前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を行う変換処理部を備え、
前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する1以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
前記変換処理部は、前記構造化文書と前記1以上の拡張制御情報のうちの1以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記1以上の拡張制御情報のうちの1以上に含まれる要素を対象として前記受動的要素変換を実行する
コンテンツ作成装置。 - 前記コンテンツは、前記拡張制御情報として、前記構造化文書についての装飾を指定する装飾指定情報と、前記構造化文書の再生に動的機能を与える動的機能付与情報との少なくともいずれか一方を含む
請求項1に記載のコンテンツ作成装置。 - 前記変換処理部は、誤り訂正符号化された埋め込み情報に基づいて生成された前記変更制御符号に基づいて前記能動的要素変換を実行する
請求項1または2に記載のコンテンツ作成装置。 - 前記変換処理部は、埋込対象データと、前記埋込対象データに基づいて計算したチェックデジットとを含む前記埋め込み情報を生成する
請求項1から3のいずれか一項に記載のコンテンツ作成装置。 - 前記コンテンツの一部または全部について難読化が図られるようにする難読化処理部をさらに備える
請求項1から4のいずれか一項に記載のコンテンツ作成装置。 - 前記変換処理部は、
前記能動的要素変換の集合と前記受動的要素変換の集合が、コンテンツの配布先のユーザごとに異なるように、前記能動的要素変換と前記受動的要素変換とを行う
請求項1から5のいずれか一項に記載のコンテンツ作成装置。 - 前記変換処理部は、前記能動的要素変換または受動的要素変換として、文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置のうちの少なくともいずれか1つを変換する
請求項1から6のいずれか一項に記載のコンテンツ作成装置。 - 変換処理部が、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を実行し、
前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を実行する変換処理ステップを含み、
前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する1以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
前記変換処理ステップは、前記構造化文書と前記1以上の拡張制御情報のうちの1以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記1以上の拡張制御情報のうちの1以上に含まれる要素を対象として前記受動的要素変換を実行する
コンテンツ作成方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014197116A JP6481311B2 (ja) | 2014-09-26 | 2014-09-26 | コンテンツ作成装置及びコンテンツ作成方法 |
CN201580050564.9A CN106716427B (zh) | 2014-09-26 | 2015-08-13 | 内容制作装置、内容检查装置、内容制作方法及包含内容的数据构造的计算机可读介质 |
PCT/JP2015/072936 WO2016047307A1 (ja) | 2014-09-26 | 2015-08-13 | コンテンツ作成装置、コンテンツ検査装置、コンテンツ作成方法及びコンテンツのデータ構造を含むコンピュータ可読媒体 |
US15/470,103 US10747855B2 (en) | 2014-09-26 | 2017-03-27 | Content generating device, content inspecting device, content generating method, and computer-readable medium including content data structure |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014197116A JP6481311B2 (ja) | 2014-09-26 | 2014-09-26 | コンテンツ作成装置及びコンテンツ作成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016071431A JP2016071431A (ja) | 2016-05-09 |
JP6481311B2 true JP6481311B2 (ja) | 2019-03-13 |
Family
ID=55580838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014197116A Active JP6481311B2 (ja) | 2014-09-26 | 2014-09-26 | コンテンツ作成装置及びコンテンツ作成方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10747855B2 (ja) |
JP (1) | JP6481311B2 (ja) |
CN (1) | CN106716427B (ja) |
WO (1) | WO2016047307A1 (ja) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7027614B2 (en) * | 2000-04-19 | 2006-04-11 | Digimarc Corporation | Hiding information to reduce or offset perceptible artifacts |
JP4801681B2 (ja) | 2001-11-27 | 2011-10-26 | 富士通株式会社 | 文書配布方法および文書管理方法 |
JP4570026B2 (ja) * | 2004-02-25 | 2010-10-27 | 大日本印刷株式会社 | 電子透かしの埋め込み方法 |
JP2005327154A (ja) | 2004-05-17 | 2005-11-24 | Fujitsu Ltd | Htmlファイル処理方法及びプログラム |
JP4129984B2 (ja) * | 2004-10-07 | 2008-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | コンテンツ出力装置、これを実現するコンピュータプログラム、コンテンツ配信出力システムおよびコンテンツ出力方法 |
JP2010282327A (ja) * | 2009-06-03 | 2010-12-16 | Nec Corp | フォーマット変換システムおよびフォーマット変換方法並びにプログラム |
CN102194205B (zh) * | 2010-03-18 | 2013-05-22 | 南京信息工程大学 | 一种基于同义词替换的文本可恢复水印方法和装置 |
CN102968582A (zh) * | 2012-12-13 | 2013-03-13 | 北京大学 | 基于字符结构特征的文本水印嵌入和提取方法 |
CN104346321B (zh) * | 2013-07-31 | 2017-09-12 | 北大方正集团有限公司 | 一种文本中数字水印信息的嵌入和提取方法及装置 |
-
2014
- 2014-09-26 JP JP2014197116A patent/JP6481311B2/ja active Active
-
2015
- 2015-08-13 WO PCT/JP2015/072936 patent/WO2016047307A1/ja active Application Filing
- 2015-08-13 CN CN201580050564.9A patent/CN106716427B/zh active Active
-
2017
- 2017-03-27 US US15/470,103 patent/US10747855B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2016071431A (ja) | 2016-05-09 |
US20170199993A1 (en) | 2017-07-13 |
CN106716427B (zh) | 2020-05-26 |
US10747855B2 (en) | 2020-08-18 |
CN106716427A (zh) | 2017-05-24 |
WO2016047307A1 (ja) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10778441B2 (en) | Redactable document signatures | |
CN110457873B (zh) | 一种水印嵌入与检测方法及装置 | |
JP2007213549A (ja) | 電子文書管理システム、電子文書管理方法、電子文書管理プログラム | |
CN110809763A (zh) | 使用带有时间戳的嵌入式版权信息识别版权材料 | |
JP2007027920A (ja) | 電子画像データ検証プログラム、電子画像データ検証システム及び電子画像データ検証方法 | |
CN107169325A (zh) | 版权信息保护、确权方法、装置、系统及内容编辑设备 | |
JP2007207051A (ja) | 電子透かし埋め込み・配信方法、及び装置 | |
JP2009301370A (ja) | 電子署名管理装置及び電子署名管理プログラム | |
US20160005411A1 (en) | Versatile music distribution | |
Fu et al. | Digital forensics of Microsoft Office 2007–2013 documents to prevent covert communication | |
US9722978B2 (en) | System and method for automated licensing identification and verification | |
Mehta et al. | A Novel approach as Multi-place Watermarking for Security in Database | |
CN105574371A (zh) | 基于文本水印的安卓应用程序信息隐藏与软件保护方法 | |
JP2017118447A (ja) | 管理局装置、著作権保護装置、編集装置、検証装置、管理プログラム、著作権保護プログラム、編集プログラム、及び検証プログラム | |
JP6481311B2 (ja) | コンテンツ作成装置及びコンテンツ作成方法 | |
JP2001134180A (ja) | データ処理方法及び装置、及び記憶媒体 | |
CN116611032A (zh) | 一种jar包中嵌入和提取软件水印的方法、系统和存储介质 | |
CN107026841B (zh) | 在网络中发布作品的方法和装置 | |
US8782803B2 (en) | System and method of encrypting a derivative work using a cipher created from its source | |
CN110008663B (zh) | 一种用于pdf文档保护和分发跟踪的信息快速嵌入和提取的方法 | |
JP5408113B2 (ja) | 電子画像データ検証プログラム、電子画像データ検証方法及び電子画像データ検証装置 | |
JP2007333851A (ja) | 音声合成方法、音声合成装置、音声合成プログラム、音声合成配信システム | |
Awasthi et al. | Two Phase Watermarking for Security in Database | |
JP4697451B2 (ja) | データ入出力装置、データ入出力方法、データ入出力プログラム | |
KR101596589B1 (ko) | 프로그램 배포 서버가 수행하는 프로그램 배포 방법 및 핑거프린트 코드 추적 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170822 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180327 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180523 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20180524 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20181102 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20181106 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181225 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190115 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190128 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6481311 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |