JP6481311B2 - コンテンツ作成装置及びコンテンツ作成方法 - Google Patents

コンテンツ作成装置及びコンテンツ作成方法 Download PDF

Info

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
Application number
JP2014197116A
Other languages
English (en)
Other versions
JP2016071431A (ja
Inventor
明華 丸山
明華 丸山
敏生 岡
敏生 岡
良仁 秋元
良仁 秋元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toppan Inc
Original Assignee
Toppan Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toppan Inc filed Critical Toppan Inc
Priority to JP2014197116A priority Critical patent/JP6481311B2/ja
Priority to CN201580050564.9A priority patent/CN106716427B/zh
Priority to PCT/JP2015/072936 priority patent/WO2016047307A1/ja
Publication of JP2016071431A publication Critical patent/JP2016071431A/ja
Priority to US15/470,103 priority patent/US10747855B2/en
Application granted granted Critical
Publication of JP6481311B2 publication Critical patent/JP6481311B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program or content traceability, e.g. by watermarking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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/3239Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/608Watermarking

Description

本発明は、コンテンツ作成装置及びコンテンツ作成方法に関する。
デジタルによるコンテンツは情報を損失することなくコピーが可能である。また、個人がコピーしたコンテンツを第三者に不正に配布するといった行為も、インターネットなどを利用することで、コストをかけることなく簡単に行うことができる。
上記のようなコンテンツの不正利用を防止するための技術は、例えばDRM(Digital Rights Management:デジタル著作権管理)などと呼ばれる。DRMとしては、コンテンツの提供者がコンテンツを暗号化し、提供者から正当な復号鍵を受け取った利用者がコンテンツを復号して利用するという技術が主流である。しかし、このような暗号化を伴う技術では、コンテンツの復号に専用のソフトウェアが必要になるために、コンテンツの閲覧環境が制限されてしまい、汎用性が低いという問題がある。
そこで、電子透かし(Digital Watermarking)と呼ばれるDRMの技術が知られている。電子透かしとは、コンテンツに対して特定の内容の情報(例えば、作者名、課金情報及びコピー可能回数など)を埋め込む技術である。このように電子透かしとしての情報をコンテンツに埋め込むことにより、コンテンツの不正なコピーや不正な配布などをけん制する効果がある。
例えば、電子透かしにコンテンツの配布を正規に受けたユーザを示す情報を含めておくようにすれば、コンテンツが不正に配布された場合には、電子透かしの内容を確認することで、不正に配布を行ったユーザを追跡することができる。
電子透かしとしての情報のコンテンツへの埋め込みの態様の1つとして、コンテンツが再生されたときに電子透かしが埋め込まれていることがユーザに知覚されにくいように埋め込むということが行われる。
ここで、音声、画像(静止画像)、動画などのデータはそもそも冗長度が高いことから、例えばデータの一部分を変更して電子透かしとしての情報を埋め込んだとしても、コンテンツを表現するための情報量のほうが人に知覚される情報量に対してはるかに多い。このために、ユーザがコンテンツを再生しているときに電子透かしとして埋め込まれた情報を知覚させないようにすることは比較的容易であり、この点でコンテンツ製作者の意図が損なわれるようなことは生じにくい。
特開2008−219875号公報
しかしながら、コンテンツが電子書籍のような文書データである場合、コンテンツの冗長度は低い。即ち、文書データについては、人に知覚される情報量に対してデータの情報量が少ない。このため、コンテンツそのものに電子透かしを埋め込むと、埋め込まれた情報の影響による知覚的な変化が比較的目立つようになり、コンテンツ製作者の意図を損なってしまう可能性が高いという問題がある。
例えばXML形式やHTML形式などによる構造化文書に対して、改竄検出範囲をタグにより指定し、指定された改竄検出範囲の階層化において、タグにより暗号鍵、認証データ、署名データなどを電子透かしの情報として格納する技術が知られている(例えば、特許文献1参照)。
このような技術であれば、埋め込まれた情報の影響による知覚的な変化は生じにくい。しかし、上記の技術においては、電子透かしとして埋め込まれた情報は、構造化文書において文書構造を定義するタグによって、電子透かしとしての情報であることが明確に定義されてしまっている。このために、ユーザが電子透かしの情報が埋め込まれた箇所を特定し、特定した箇所の電子透かしの情報を除去するといった不正な行為が容易に行われてしまう可能性がある。
本発明は、このような事情に鑑みてなされたもので、構造化文書を有するコンテンツに対して情報を埋め込むにあたり、情報の埋め込みによるコンテンツの知覚的な変化を抑えつつ、情報の埋め込み箇所の特定が困難なようにすることを目的とする。
上述した課題を解決するための本発明の一態様は、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する能動的要素変換を行い、前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する受動的要素変換を行う変換処理部を備えるコンテンツ作成装置である。
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する1以上の拡張制御情報を含み、前記変換処理部は、前記構造化文書と前記1以上の拡張制御情報のうちの1以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記1以上の拡張制御情報のうちの1以上に含まれる要素を対象として前記受動的要素変換を実行してもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツは、前記拡張制御情報として、前記構造化文書についての装飾を指定する装飾指定情報と、前記構造化文書の再生に動的機能を与える動的機能付与情報との少なくともいずれか一方を含んでもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、誤り訂正符号化された埋め込み情報に基づいて生成された前記変更制御符号に基づいて前記能動的要素変換を実行してもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、埋込対象データと、前記埋込対象データに基づいて計算したチェックデジットとを含む前記埋め込み情報を生成してもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記コンテンツの一部または全部について難読化が図られるようにする難読化処理部をさらに備えてもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、前記能動的要素変換の集合と前記受動的要素変換の集合が、コンテンツの配布先のユーザごとに異なるように、前記能動的要素変換と前記受動的要素変換とを行ってもよい。
本発明の一態様は、上記のコンテンツ作成装置であって、前記変換処理部は、前記能動的要素変換または受動的要素変換として、文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置のうちの少なくともいずれか1つを変換してもよい。
本発明の一態様は、検査対象コンテンツが上記のコンテンツ作成装置により作成されたコンテンツであるか否かについて検査するコンテンツ検査装置であって、原コンテンツにおける能動的変更対象要素または受動的変更対象要素との類似性に基づいて、検査対象コンテンツから受動的変更結果要素または能動的変更結果要素を特定する変更結果要素特定部と、前記変更結果要素特定部による受動的変更結果要素または能動的変更結果要素の特定結果に基づいて埋め込み情報を復元する埋め込み情報復元部とを備えるコンテンツ検査装置である。
本発明の一態様は、上記のコンテンツ検査装置であって、前記埋め込み情報に含まれるチェックデジットが、前記埋め込み情報復元部により復元された埋め込み情報に含まれる埋込対象データを利用して計算された値と一致するか否かについて判定してもよい。
本発明の一態様は、変換処理部が、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する能動的要素変換を実行し、前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する受動的要素変換を実行するステップを含むコンテンツ作成方法である。
本発明の一態様は、構造化文書を少なくとも有する構造において、原コンテンツにおける能動的変更対象要素が所定の変更制御符号に基づいて変換された能動的変更結果要素と、原コンテンツにおける受動的変更対象要素から変換された受動的変更結果要素とが含まれるコンテンツのデータ構造であって、コンピュータが、前記能動的変更結果要素を利用して、前記コンテンツを再生したときの知覚的態様について前記原コンテンツを再生したときとは異なる所定の変化を与え、前記受動的変更結果要素を利用して、前記能動的変更結果要素により与えられた知覚的態様の変化について原コンテンツを再生したときと同等の状態に戻すコンテンツのデータ構造である。
以上説明したように、本発明によれば、構造化文書を有するコンテンツに対して情報を埋め込むにあたり、情報の埋め込みによるコンテンツの知覚的な変化を抑えつつ、情報の埋め込み箇所の特定が困難なようにすることができるという効果が得られる。
第1実施形態におけるコンテンツ作成装置の構成例を示す図である。 第1実施形態における原コンテンツの構造例を示す図である。 第1実施形態のコンテンツ作成装置による総合的変換の一態様例を示す図である。 第1実施形態のコンテンツ作成装置による能動的コンテンツ変換の手順の一例を示す図である。 第1実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。 第1実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。 第1実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。 第1実施形態のコンテンツ作成装置による総合的変換の他の態様例を示す図である。 第1実施形態におけるコンテンツ作成装置が実行する処理手順例を示すフローチャートである。 第1実施形態におけるコンテンツ検査装置の構成例を示す図である。 第2実施形態におけるコンテンツ作成装置の構成例を示す図である。
以下、本発明の一実施形態によるコンテンツ作成装置、コンテンツ検査装置について図面を参照して説明する。
<第1実施形態>
図1は、第1実施形態としてのコンテンツ作成装置100の構成例を示している。同図に示すコンテンツ作成装置100は、変換処理部101を備える。
コンテンツの作成にあたり、変換処理部101は、能動的要素変換と受動的要素変換を行う。
能動的要素変換は、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を変換する処理である。
能動的要素変換による変換後の能動的変更対象要素については、能動的変更結果要素と呼ぶ。能動的要素変換は、1つの能動的変更対象要素に対して行う個々の変換として定義される。
受動的要素変換は、能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化が、原コンテンツが再生されたときと同等の状態に戻されるように、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を変換する処理である。
受動的要素変換による変換後の受動的変更対象要素については、受動的変更結果要素と呼ぶ。受動的要素変換は、1つの受動的変更対象要素に対して行う個々の変換として定義される。
また、本実施形態において、変更制御符号の生成元となる埋め込み情報は、コンテンツに埋め込むべき情報である。本実施形態において、埋め込み情報は、作成されたコンテンツの正規の配布先のユーザを特定可能なユーザ特定情報を埋込対象データとして含む。
なお、ここでのユーザ特定情報により特定されるユーザは、個人以外であってもよく、例えば法人などの団体であってもよい。
また、ユーザ特定情報は、それ自体でユーザを特定できなくとも、他の情報と組み合わせることでユーザが特定可能となるような情報であってもよい。例えばユーザ識別子などは、それ自体は識別子としての数値等を表すのみであって直接的にユーザを特定できるものではないが、ユーザ識別子に対応付けられたユーザ名などのユーザ情報との組み合わせによってユーザが特定可能になる。
なお、埋め込み情報が含む埋込対象データとしては特に限定されず、ユーザ特定情報以外の情報が含まれてもよいが、以下の説明においては、埋込対象データがユーザ特定情報を含む場合を例に挙げる。このようなユーザ特定情報を埋込対象データとして含む埋め込み情報は、例えばDRM(Digital Rights Management:デジタル著作権管理)のための情報として機能する。
以降の説明にあたり、以下のように語句を定義する。
「能動的要素変換」の集合については、「能動的要素変換集合」と呼ぶ。また、「受動的要素変換」の集合については、「受動的要素変換集合」と呼ぶ。
また、「能動的要素変換」と「受動的要素変換」とについて特に区別しない場合には、「要素変換」と呼ぶ。
また、「能動的変更対象要素」と「受動的変更対象要素」とについて特に区別しない場合には、「変更対象要素」と呼ぶ。
また、能動的要素変換がそれぞれの能動的変更対象要素に対して行われることによってコンテンツ全体に付与することとなる変換については、「能動的コンテンツ変換」と呼ぶ。
また、受動的要素変換がそれぞれの受動的変更対象要素に対して行われることによってコンテンツ全体に付与することとなる変換については、「受動的コンテンツ変換」と呼ぶ。
また、「能動的コンテンツ変換」と「受動的コンテンツ変換」とで特に区別しない場合には、「コンテンツ変換」と呼ぶ。
さらに、「能動的コンテンツ変換」と「受動的コンテンツ変換」とを組み合わせた変換を「総合的変換」と呼ぶ。
コンテンツ作成装置100は、総合的変換が行われた原コンテンツ200を、コンテンツ300として出力する。コンテンツ300は、例えば、ネットワークなどを経由して、ユーザに配布することができる。
図2は、本実施形態における原コンテンツ200の構造例を示している。本実施形態の原コンテンツ200は、HTMLファイル201とCSSファイル202とJavaScriptファイル203とを有する。
HTMLファイル201は、HTML(HyperText Markup Language)としてのマークアップ言語により記述された文書のファイルである。HTMLファイル201は、テキストによる文書と、文書構造を定義した情報とを形成されるファイルである。HTMLファイル201における文書構造の定義は、文書を形成する要素(ノード)にタグを付すことによって行われる。HTMLファイル201のように文書構造が定義された文書は構造化文書とも呼ばれる。
なお、原コンテンツ200が含む構造化文書としては、HTMLファイル201に限定されるものではなく、例えばXML(Extensible Markup Language)、SGML(Standard Generalized Markup Language)などのように、他のマークアップ言語により記述されたファイルなどであってもよい。
CSSファイル202は、HTMLファイル201により定義された要素についての装飾を指定する情報(拡張制御情報、装飾指定情報の一例)である。具体的に、CSSファイル202は、構造化文書などにおける表示形式を制御するスタイルシートの1つであるCSS(Cascading Style Sheets)に従って記述される。
なお、装飾指定情報としては、CSSファイル202に限定されることなく、他のスタイルシートであってもよい。
JavaScriptファイル203は、HTMLファイルの再生に動的機能を与える情報(拡張制御情報、動的機能付与情報の一例)である。JavaScript(登録商標)によって記述されたプログラムのファイルである。
HTMLファイル201によっては静的な状態が表現される。そのうえで、本実施形態の原コンテンツ200のようにJavaScriptファイル203が含められることで、HTMLファイル201を再生して得られるコンテンツの態様に、動きや対話性などの動的な機能を与えることができる。
なお、動的機能付与情報としては、JavaScriptファイル203以外のプログラムによるファイルであってもよい。
また、図示は省略するが、本実施形態のコンテンツ作成装置100における変換処理部101が総合的変換の対象とする原コンテンツ200は、例えばコンテンツ作成装置100が備える記憶装置またはコンテンツ作成装置100と接続される外部の記憶装置などに記憶されればよい。変換処理部101は、これらの記憶装置に記憶されている原コンテンツ200を取得すればよい。
続いて、図3を参照して、本実施形態の変換処理部101による原コンテンツ200に対する総合的変換の一態様例について説明する。
同図においては、本実施形態の変換処理部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におけるアスタリスクは写像の合成を表す。
なお能動的コンテンツ変換と受動的コンテンツ変換は式1のように交互かつ同数でなくてもよい。コンテンツに対する総合的変換(式1の処理F)が知覚的態様に対して恒等的な写像である限り、順序や個数に対して交互もしくは同数といった制約は必要ない。例えば複数の能動的コンテンツ変換を異なる数の受動的コンテンツ変換で知覚的態様を相殺してもよい。能動的コンテンツ変換と受動的コンテンツ変換とが1対1でない場合の例を式2に例示する。
式2の例ではf1とf2による能動的コンテンツ変換をg1による受動的コンテンツ変換で相殺している。同様にf3による能動的コンテンツ変換をg2とg3により、fkによる能動的コンテンツ変換をgmによって相殺している。
以下では説明を簡単にするため、kとmが同数であるgi=fi -1の場合について述べるが、総合的変換が知覚的態様について恒等変換であるかぎりにおいて能動的コンテンツ変換と受動的コンテンツ変換の組み合わせ方は任意である。以下でfi -1となっている部分はgjに置き換えることによって、より一般的な形式にすることができる。
Figure 0006481311
Figure 0006481311
上記のように総合的変換が行われる結果、同じ図3に示すコンテンツ300が作成される。コンテンツ300は、能動的変換HTMLファイル301とCSSファイル202と受動的変換JavaScriptファイル303を含む。
能動的変換HTMLファイル301は、能動的コンテンツ変換が行われたHTMLファイルである。受動的変換JavaScriptファイル303は、受動的コンテンツ変換が行われたJavaScriptファイルである。CSSファイル202は、コンテンツ変換は行われておらず、原コンテンツ200におけるCSSファイル202と同じ内容を有する。
図3の例のようにHTMLファイル201に対する能動的コンテンツ変換を行う場合の手順の一例について、図4を参照して説明する。
まず、変換処理部101は、埋め込み情報Dtについて符号化Sを行って、1次符号列Dtを生成する。
埋め込み情報Dtは、前述のように、HTMLファイル201に埋め込むべき情報であり、コンテンツの正当な配布先のユーザを示すユーザ特定情報を含む。ユーザ特定情報は、例えばコンテンツの正当な配布先のユーザを一意に示すユーザ識別子とすることができる。なお、同図においては埋め込み情報Dtとして「ABCD」の文字列が示されているが、これは埋め込み情報Dtが文字列であってもよいことを表しているのであって、具体的な埋め込み情報Dtの文字列は任意である。
次に、変換処理部101は、1次符号列Dtについて誤り訂正符号化Sを行い、2次符号列Dtを生成する。
次に、変換処理部101は、2次符号列Dtに対する分割処理Sを行うことで複数の分割データDt4−1〜Dt4−5を得る。本実施形態においては、分割処理Sにより2次符号列Dtを分割して得られた分割データDt4−1〜Dt4−5が、それぞれ、変更制御符号(D1〜D5)である。
なお、分割データDt4−1〜Dt4−5について特に区別しない場合には、分割データDtと記載する。また、同図の場合のように、2次符号列Dtが5つの分割データDt4−1〜Dt4−5に分割される場合は、HTMLファイル201において5つの能動的変更対象要素(N1〜N5)が定められている場合の例に対応する。
また、同図の例からも分かるように、分割データDt4−1〜Dt4−5としての変更制御符号(D1〜D5)の各々は、図示するように、同じビット数(データ長)である必要はない。
次に、変換処理部101は、分割データDt4−1〜Dt4−5として得られた変更制御符号(D1〜D5)を、HTMLファイル201における各要素(能動的変更対象要素)N1〜N5に対して埋め込む。
ここで、変更制御符号としての分割データDtを対応の能動的変更対象要素に埋め込む態様としては多様に考えられるが、一例として以下のような態様を採ることができる。
まず、HTMLファイル201における能動的変更対象要素については以下のように選択することができる。例えば変換処理部101は、HTMLファイル201において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から所定文字数おきに1番目〜5番目までの文字をそれぞれ能動的変更対象要素として選択する。
そして、変換処理部101は、1番目〜5番目の各文字(能動的変更対象要素)のコードポイントのそれぞれについて、変更制御符号(D1〜D5)のそれぞれに基づいて変更を行う。このようにして、埋め込み情報Dtが埋め込まれた能動的変換HTMLファイル301が得られる。
なお、変換処理部101は、埋め込み情報Dtにチェックデジットを含める処理を行ってもよい。
変換処理部101は、例えば以下のように埋め込み情報Dtにチェックデジットを含めることができる。
ここでは、ユーザ特定情報が「ABCD」の文字列であって、「ABCD」の文字列により特定されるユーザに割り当てた秘密の文字列が「8QtZ2p」である場合を例に挙げる。
この場合の変換処理部101は、「ABCD」の文字列に「8QtZ2p」を連結することで「ABCD8QtZ2p」の文字列を得る。
そのうえで、変換処理部101は、「ABCD8QtZ2p」の文字列に対して暗号学的ハッシュ関数(たとえばSHA−512)によりハッシュ値を計算する。そして、変換処理部101は、計算によって得られたハッシュ値を「ABCD」の文字列に付加する。このように、「ABCD」の文字列にハッシュ値が付加された情報が埋め込み情報Dtとなる。
また、埋め込み情報Dtから変更制御符号を生成するにあたり、誤り訂正符号化Sと分割処理Sの少なくともいずれか1つが省略されてもよい。また、分割処理Sを行わない場合、埋め込み情報Dtから生成される変更制御符号は1つとなる。この場合において能動的変更対象要素が複数である場合には、複数の能動的変更対象要素の各々に対して、同じ1つの変更制御符号により能動的要素変換を行えばよい。
また、上記のように能動的コンテンツ変換が行われたのに応じて、JavaScriptファイル203に対する受動的コンテンツ変換は、例えば以下のように行われる。
変換処理部101は、JavaScriptファイル203において、能動的コンテンツ変換による変換対象とされた能動的変更対象要素に対応する受動的変更対象要素P1〜Pmのそれぞれについて受動的要素変換を行う。この際には、能動的変換HTMLファイル301による原コンテンツからの視覚的態様の変化がキャンセルされるように、即ち、上記の1番目〜5番目の各文字(能動的変更結果要素)のコードポイントを原コンテンツ200と同じとする制御が行われるように受動的変更対象要素P1〜Pmを変換する。このようにして受動的変換JavaScriptファイル303が得られる。
なお、上記の説明では、能動的変更対象要素の数と受動的変更対象要素の数とが同じ(k=m)である場合を例に挙げている。しかし、能動的変更対象要素の数と受動的変更対象要素の数は同じであるとは限らない。
上記のように総合的変換が行われることによって得られたコンテンツ300を、コンテンツ再生装置(例えばウェブブラウザなど)が再生するにあたり、まず、能動的変換HTMLファイル301を再生することによっては、以下のような態様が得られる。
つまり、能動的変換HTMLファイル301を再生して表示される1番目〜5番目の各文字(能動的変更結果要素)については、HTMLファイル201を再生したときと異なる文字となる。
そのうえで、コンテンツ再生装置によって、上記のように表示された能動的変換HTMLファイル301に対して、受動的変換JavaScriptファイル303が実行される。これにより、上記の1番目〜5番目の文字(能動的変更結果要素)のコードポイントは、原コンテンツ200におけるHTMLファイル201に含まれていた能動的変更対象要素と同じとなるように変更される。この結果、1番目〜5番目の要素に対応する文字は、原コンテンツ200を再生させたときに表示されるのと同じものが表示される。
このようにしてコンテンツ300が再生されることによっては、能動的変換HTMLファイル301によって原コンテンツ200と異なる視覚的態様の変化が与えられる。そのうえで、受動的変換JavaScriptファイル303によっては、能動的変換HTMLファイル301による原コンテンツからの視覚的態様の変化を、原コンテンツが再生されたときと同等の状態に戻すように変更が与えられる。
この結果、コンテンツ300は、能動的変換HTMLファイル301と受動的変換JavaScriptファイル303とにより2段階の視覚的変更が与えられるのではあるが、表示される内容としては、原コンテンツ200と同じ内容を有している。
また、図5を参照して、原コンテンツ200におけるHTMLファイル201とJavaScriptファイル203とを対象とする総合的変換の他の態様例について説明する。
つまり、同図に示す総合的変換(F(x))は、図3の場合とは逆に、原コンテンツ200におけるJavaScriptファイル203に能動的コンテンツ変換(f1(x)〜fk(x))を行い、HTMLファイル201に対して受動的コンテンツ変換(f1 -1(x)〜fm -1(x))を行うというものである。
即ち、同図と図3とから分かるように、能動的コンテンツ変換の対象となるファイルと、受動的コンテンツ変換の対象となるファイルとが入れ替わってもよい。
そして、図5のように作成されたコンテンツ300Aについて再生を行った場合には、能動的変換JavaScriptファイル303Aの実行により、再生された受動的変換HTMLファイル301Aの視覚的態様に変化が与えられる。ただし、受動的変換HTMLファイル301Aは受動的コンテンツ変換が行われている。このため、能動的変換JavaScriptファイル303Aによって与えられた視覚的態様の変化は、受動的変換HTMLファイル301A自体を再生することによって戻される。この結果、図5のコンテンツ300Aを再生した場合にも、原コンテンツ200と同じ視覚的態様による表示が行われる。
続いて、本実施形態における総合的変換の他の態様例について説明する。
図6(a)は、総合的変換(F(x))として、HTMLファイル201に対して能動的コンテンツ変換が行われ、CSSファイル202に対して受動的コンテンツ変換が行われる例である。
また、図6(b)は、図6(a)とは逆に、総合的変換(F(x))として、HTMLファイル201に対して受動的コンテンツ変換が行われ、CSSファイル202に対して能動的コンテンツ変換が行われる例である。
図7(a)は、総合的変換(F(x))として、JavaScriptファイル203に対して能動的コンテンツ変換が行われ、CSSファイル202に対して受動的コンテンツ変換が行われる例である。
また、図7(b)は、図7(a)とは逆に、総合的変換(F(x))として、JavaScriptファイル203に対して受動的コンテンツ変換が行われ、CSSファイル202に対して能動的コンテンツ変換が行われる例である。
ここで、図3及び図5〜図7に挙げた総合的変換は、能動的コンテンツ変換と受動的コンテンツ変換とのそれぞれを、原コンテンツ200の構造における異なるファイルに施すというものであった。
これに対して、図8は、総合的変換(F(x))として、同じJavaScriptファイル203に対して能動的コンテンツ変換と受動的コンテンツ変換とが行われる例である。
このように、本実施形態における総合的変換は、原コンテンツ200における同じ1つのファイルに能動的コンテンツ変換と受動的コンテンツ変換とが行われてもよい。
また、上記のように原コンテンツ200の構造における同じ1つのファイルを対象として能動的コンテンツ変換と受動的コンテンツ変換とを行うにあたり、対象とするファイルは、JavaScriptファイル203に限定されるものではない。つまり、能動的コンテンツ変換と受動的コンテンツ変換とを行う対象のファイルとしては、HTMLファイル201であってもよいし、CSSファイル202であってもよい。
そのうえで、HTMLファイル201に能動的コンテンツ変換と受動的コンテンツ変換とを行う場合、本実施形態のコンテンツ300としては、少なくともHTMLファイル301を有する構造であってもよい。
また、図示による説明は省略するが、能動的コンテンツ変換において能動的要素変換集合を成す能動的要素変換のそれぞれは、全て同じ1つのファイルに対して行われなくともよく、複数のファイルに対して分散して行われてよい。
例えば、能動的要素変換集合におけるk(k=k+k+k)個の能動的要素変換のうち、k個の所定の能動的要素変換はHTMLファイル201に対して行われ、k個の所定の能動的要素変換はCSSファイル202に対して行われ、k個の所定の能動的要素変換はJavaScriptファイル203に対して行われるようにしてよい。
受動的要素変換集合におけるm(m=m+m+m)個の受動的要素変換についても同様である。
また、図4の説明では、変更制御符号と能動的変更対象要素とが1対1の関係である場合を例示しているが、必ずしも1対1の関係である必要はない。一例として、複数の異なる能動的変更対象要素のそれぞれに対して、同じ1つの変更制御符号により能動的要素変換を行ってもよい。
さらに、コンテンツを配布するユーザごとに異なる総合的変換が行われるようにしてもよい。ユーザごとに総合的変換を異ならせるパターンは多様である。
一例として、ユーザごとに、能動的変更対象要素と、これに対応する受動的変更対象要素とを異ならせることができる。
例えば、前述の図3の例の場合のようにコードポイントを変更するにあたり、或るユーザに対応しては、HTMLファイル201において段落を定義するタグ<p>からタグ</p>までの間に文章として記述される文字のうち、先頭から5文字おきに能動的変更対象要素としての文字を選択する。これに対して、他のユーザに対応しては、先頭から10文字おきに能動的変更対象要素としての文字を選択するというものである。上記のように能動的変更対象要素の選択が異なるのに伴い、受動的変更対象要素の選択もユーザごとに異なってくる。
また、上記のようにユーザごとに能動的変更対象要素と受動的変更対象要素とを異ならせる場合、能動的変更対象要素及び受動的変更対象要素の数も、ユーザごとに異なっていてよい。
また、ユーザごとに、能動的コンテンツ変換が行われるファイルと、受動的コンテンツ変換が行われるファイルとが異なっていてもよい。
さらに、能動的要素変換集合における能動的要素変換のそれぞれが変換対象とする要素が含まれるファイルが、ユーザごとに異なっていてもよい。
また、これまでの説明において、能動的要素変換及び受動的要素変換による視覚的態様の制御の対象としては、文字としてのオブジェクトのコードポイント、即ち文字である例を挙げたが、これに限定されるものではない。
例えば、同じ文字としてのオブジェクトの文字間隔を、能動的要素変換及び受動的要素変換により制御してもよい。
文字間隔の制御にあたり、HTMLファイルに対して能動的要素変換を行う場合の一具体例としては、<div id=”box1” class=”box”>のタグにおいて、<style>のタグにより、boxのクラス属性におけるletter-spacingの値を、変更制御符号に基づいて変更すればよい。また、上記の能動的要素変換に対応する受動的要素変換としては、例えばCSSファイルにおけるid=”box1”に対してletter-spacing: normalと記述すればよい。
上記のように要素変換が行われた場合、例えばHTMLファイルを再生することによっては、box1に対応して配置される文字について変更後のletter-spacingの値に従った文字間隔が与えられる。しかし、CSSファイルにおいて、同じbox1について、letter-spacing: normalが記述されていることで、上記のHTMLファイルのletter-spacingの値に従った文字間隔がキャンセルされ、標準の文字間隔に戻される。つまり、コンテンツを再生して得られる要素変換に対応の文字は、原コンテンツ200と同じ視覚的態様となる。
また、要素変換による視覚的態様の制御対象は、オブジェクトの色であってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトのサイズであってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトの形状であってもよい。また、要素変換による視覚的態様の制御対象は、オブジェクトの配置(レイアウト)であってもよい。
そのうえで、1つの総合的変換を成す複数の能動的コンテンツ変換及び受動的コンテンツ変換による視覚的態様の制御対象は、例えば上記の文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置などのうちから適宜選択されてよい。つまり、1つの総合的変換における複数組の能動的要素変換及び受動的要素変換の各組による視覚的態様の制御対象は、それぞれが異なっていてもよい。
また、視覚的態様の制御対象となるオブジェクトは、文字に限定されるものではなく、例えば背景、フレームなどであってもよい。
これまでの説明から理解されるように、本実施形態のコンテンツ作成装置100により作成されるコンテンツ300は、原コンテンツ200に対して能動的コンテンツ変換と、受動的コンテンツ変換とが行われたものである。これにより、コンテンツ300は、原コンテンツ200における能動的変更対象要素と受動的変更対象要素とのそれぞれから変換された能動的変更結果要素と受動的変更結果要素とを含むデータ構造を有する。
そのうえで、コンテンツ300には、先に図4により説明した受動的コンテンツ変換によって埋め込み情報Dtが埋め込まれている。
そして、ウェブブラウザなどが動作する情報処理装置(コンピュータ)がコンテンツ300を再生する際には、情報処理装置は、コンテンツ300に含まれる能動的変更結果要素と受動的変更結果要素とを以下のように利用する。つまり、情報処理装置は、能動的変更結果要素を利用して、コンテンツ300を再生したときの知覚的態様について、原コンテンツ200を再生したときとは異なる所定の変化を与える。その一方で、情報処理装置は、受動的変更結果要素を利用して、能動的変更結果要素により与えられる知覚的態様の変化について原コンテンツ200を再生したときと同等の状態に戻す。
このようにしてコンテンツ300が再生されることによって得られる視覚的態様は、結果的には原コンテンツ200と同じである。一方、例えば一般的な電子透かしなどは、原コンテンツとは異なる視覚的態様によりコンテンツに対して著作権保護情報が埋め込まれる。
このような電子透かしの技術と比較すれば、本実施形態のコンテンツ300は、著作権保護情報を埋め込み情報Dtとして埋め込んでいるのにも関わらず、原コンテンツ200と同じ視覚的態様となることから、例えばコンテンツの制作者の意図を損なうことがない。
また、本実施形態のコンテンツ300が原コンテンツ200と同じ視覚的態様で再生されることにより、例えば埋め込み情報Dtによる著作権保護情報が埋め込まれていることが悪意あるユーザに気づかれにくい。さらに、埋め込み情報Dtが埋め込まれていることがユーザに認知されているとしても、原コンテンツ200との視覚的な差異がないことから、コンテンツ300においてどのように埋め込み情報Dtが埋め込まれているのかを特定することも困難になる。
そのうえで、本実施形態のコンテンツ作成装置100における変換処理部101は、先に説明したように、コンテンツの配布先のユーザに応じて、総合的変換の内容を異ならせてコンテンツ300を作成することができる。そして、このように作成されたコンテンツ300が各ユーザに配布される。
これにより、総合的変換の規則性を見出すことがさらに難しくなり、埋め込み情報Dtがどのようなものであるのかについて特定することがさらに困難になる。
前述のように本実施形態においてコンテンツ300に埋め込まれる埋め込み情報Dtは、ユーザ特定情報を含み、コンテンツ300の配布先のユーザごとに固有となる情報である。このようにコンテンツ300に対してユーザ特定情報が埋め込まれることによって、以下のようにコンテンツを不正に配布したユーザを特定することができる。
図10は、本実施形態におけるコンテンツ検査装置の構成例を示している。同図に示すコンテンツ検査装置400は、変更結果要素特定部401、埋め込み情報復元部402及びチェックデジット判定部403を備える。
変更結果要素特定部401は、原コンテンツにおける能動的変更対象要素または受動的変更対象要素との類似性に基づいて、検査対象コンテンツ500から変更結果要素(受動的変更結果要素または能動的変更結果要素)を特定する。
埋め込み情報復元部402は、変更結果要素特定部401による変更結果要素の特定結果に基づいて埋め込み情報を復元する。
チェックデジット判定部403は、埋め込み情報に含まれるチェックデジットが、埋め込み情報復元部402により復元された埋め込み情報に含まれるユーザ特定情報(埋込対象データの一例)を利用して計算されたハッシュ値(計算された値の一例)と一致するか否かについて判定する。
上記の構成から理解されるように、コンテンツ検査装置400は、不正に配布されたコンテンツの検査として、コンテンツに埋め込まれている埋め込み情報Dtを復元する。
図4のコンテンツの場合を例に埋め込み情報Dtの復元の具体例について説明する。変更結果要素特定部401は、まず、検査対象となるHTMLファイルにおける変更結果要素(能動的変更結果要素または受動的変更結果要素)の特定を行う。このため、変更結果要素特定部401は、原コンテンツと検査対象のコンテンツとのそれぞれを構文解析し、原コンテンツの変更対象要素と類似(もしくは一致)する要素(変更結果要素候補)を検査対象コンテンツから抽出する。
類似性に基づく変更結果要素の抽出は、例えば以下のようにして行うことができる。つまり、変更結果要素特定部401は、構文解析された結果を木構造として取得し、木構造のルート(根)要素から子要素へと一階層ずつ類似の要素を辿っていく。そして、変更結果要素特定部401は、類似の要素を辿っていく過程において、原コンテンツの変更対象要素との対応が得られる検査対象コンテンツの要素を変更結果要素として抽出するというものである。
ここで、不正にコンテンツを配布しようとするユーザは、埋め込み情報Dtの復元を困難化するために、検査対象のコンテンツの構造において、例えば要素の変更、追加、削除などの変化を与えている可能性がある。このようなことを考慮し、変更結果要素特定部401は、変更結果要素の抽出にあたっては、必ずしも完全一致する要素を対象としなくともよい。
例えば、変更結果要素特定部401は、ルート(根)要素から子要素に一階層ずつ類似の要素を辿ってゆくにあたり、所定の閾値以上の類似度が得られる場合には、原コンテンツの変更対象要素との対応が得られる要素を変更結果要素として抽出すればよい。
具体例として、HTMLファイルの場合であれば、<div style=”background-color:#123456”>との記述と、<div style=”background-color:#123457”>との記述は、閾値以上の類似度を有する。また<div>タグと機能が類似する<span>タグを類似性が高いとみなしてもよい。
このように変更結果要素が抽出されることを以て、変更結果要素が特定される。
上記の変更結果要素の特定結果に基づいて、埋め込み情報復元部402は、HTMLファイルにおける1番目から5番目の要素N1〜N5ごとに埋め込まれた変更制御符号としての分割データDt4−1〜Dt4−5を抽出する。
埋め込み情報復元部402は、例えば、コンテンツ300の能動的変換HTMLファイル301における1番目から5番目の各要素に対する、原コンテンツ200のHTMLファイル201における1番目から5番目の各要素の差分に基づいて、分割データDt4−1〜Dt4−5を抽出できる。
埋め込み情報復元部402は、抽出された分割データDt4−1〜Dt4−5を連結して2次符号列Dtを生成し、2次符号列Dtに付加された誤り訂正符号を利用した誤り訂正を行うことにより1次符号列Dtを生成する。そして、埋め込み情報復元部402は、1次符号列Dtについて復号を行って埋め込み情報Dtを生成する。このようにして、埋め込み情報復元部402によって、不正に配布されたコンテンツから埋め込み情報Dtを復元することができる。
埋め込み情報復元部402は、上記のように復元された埋め込み情報Dtを取得することによりユーザ特定情報を取得することができる。
コンテンツ不正配信についての監視者は、これまでにコンテンツを正規に配布したユーザごとのユーザ特定情報を格納したユーザ特定情報データベースを保有している。そこで、監視者は、コンテンツ検査装置400により取得されたユーザ特定情報とユーザ特定情報データベースとを照合することによって、コンテンツを不正に再配布したユーザを特定することができる。
なお、コンテンツ検査装置400に上記のユーザ特定情報データベースを記憶させておいてもよい。そして、コンテンツ検査装置400が不正に配布された検査対象コンテンツから取得したユーザ特定情報とユーザ特定情報データベースとを照合して、コンテンツを不正に再配布したユーザを特定できるようにしてもよい。
また、コンテンツ検査装置400は、ユーザ特定情報を取得したうえで、取得されたユーザ特定情報が真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものであるか否かについての検証(判定)をさらに行うこともできる。
上記の手法によるユーザ特定情報の取得(埋め込み情報Dtの復元)にあたっては、原コンテンツから作成されたものではない別のコンテンツを対象として埋め込み情報の復元を行った場合に、復元された埋め込み情報が、原コンテンツから作成されたコンテンツの埋め込み情報と偶発的に一致してしまう可能性がある。
埋め込み情報(ユーザ特定情報)が偶発的に一致してしまうことの可能性を排除するには、前述のように、コンテンツ変換に際して埋め込み情報にチェックデジットを付加することが有効である。そして、コンテンツ検査装置400が、埋め込み情報の復元にあたって、その埋め込み情報に付加されているチェックデジットを利用した検証を行うことで、埋め込み情報が、別のコンテンツではなく、真に原コンテンツに埋め込まれたものであるか否かを判定できる。つまり、取得されたユーザ特定情報が真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものであるか否かが判定できる。
コンテンツ検査装置400は、チェックデジットを利用した検証を例えば以下のように行うことができる。
前述のように、チェックデジットは、例えば「ABCD」などのユーザ特定情報としての文字列に「8QtZ2p」などの秘密の文字列を連結した文字列(「ABCD8QtZ2p」)を利用して計算して得られるハッシュ値であり、ユーザ特定情報の文字列に付加される。
そこで、コンテンツ検査装置400は、検査対象のコンテンツから取得したユーザ特定情報を利用してハッシュ値を計算する。そして、計算されたハッシュ値と、検査対象のコンテンツから取得した埋め込み情報に含まれるチェックデジットとが一致するか否かについて判定する。
ハッシュ値とチェックデジットとが一致すれば、取得されたユーザ特定情報が真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものであると判定される。
一方、ハッシュ値とチェックデジットとが一致しなければ、取得されたユーザ特定情報は、真にコンテンツ作成装置100によって生成されたコンテンツに埋め込まれたものではないと判定される。
なお、暗号学的ハッシュ関数では異なる入力に対して出力が衝突する確率は事実上無視できる。このため、情報埋め込み装置によって生成していないコンテンツについて、コンテンツ検査装置400が計算したハッシュ値と検査対象コンテンツから取得したチェックデジットが一致してしまうことは事実上起こらないと考えてよい。
上記のようにして、コンテンツ検査装置400においては、コンテンツの配布を正規に受けたユーザを特定することができる。この場合において、上記のように特定されたユーザは、自己が正規に配布を受けたコンテンツを、さらに不正に再配布していると捉えることができる。つまり、コンテンツの配布を正規に受けたユーザを特定することにより、コンテンツを不正に配布するユーザが特定可能になる。
このように、埋め込み情報Dtが埋め込まれたコンテンツ300は、不正に配布を行ったユーザを特定可能にするという著作権保護機能を有している。
また、図4にて説明したように、本実施形態における変更制御符号は、誤り訂正符号化S2の処理を経て生成することができる。つまり、本実施形態においては、誤り訂正符号化された埋め込み情報Dtに基づいて生成された変更制御符号に基づいて能動的要素変換を行うことができる。
例えば悪意のあるユーザがコンテンツ300を不正に配布するにあたり、コンテンツ300における能動的変更結果要素について改竄を行う可能性がある。しかし、上記のように誤り訂正符号化された埋め込み情報Dtに基づく能動的要素変換が行われることで、能動的変更結果要素に対する改竄が行われたとしても、誤り訂正によって埋め込み情報Dtを正常に復元できる可能性が高くなる。これにより、例えば監視者がコンテンツを不正に配布したユーザを特定できる可能性が高くなる。
次に、図9のフローチャートを参照して、コンテンツ作成装置100が実行する処理手順例について説明する。なお、同図に示す処理は、図3及び図4にて説明したように、総合的変換として、HTMLファイル201に能動的コンテンツ変換を行い、JavaScriptファイル203に受動的コンテンツ変換を行う場合の例に対応する。
コンテンツ作成装置100において、変換処理部101は、埋め込み情報Dtを入力する(ステップS101)。
次に、変換処理部101は、ステップS101にて入力した埋め込み情報Dtを利用して、HTMLファイル201におけるi番目の能動的変更対象要素N(1≦i≦k)のそれぞれに対応する変更制御符号D1〜Dkを生成する(ステップS102)。
先に図4にて説明した例では、変更制御符号D1〜Dkは、分割データDt4−1〜Dt4−5(k=5)であり、例えば変換処理部101が図4にて説明した符号化S、誤り訂正符号化S、分割処理Sを実行することによって得られる。
次に、変換処理部101は、変数iに初期値としての1を代入する(ステップS103)。
続いて、以降における変換処理部101は、HTMLファイル201を対象とする能動的コンテンツ変換fi(x)のための処理を行う。
そのために、変換処理部101は、HTMLファイル201における能動的変更対象要素Niに対して、変更制御符号Diによる能動的要素変換を行う(ステップS104)。
ステップS104により能動的要素変換を行った後、変換処理部101は、変数iをインクリメントしたうえで(ステップS105)、変数iが最大値であるkより大きいか否かについて判定する(ステップS106)。
変数iがk以下である場合(ステップS106−NO)、まだ全ての能動的要素変換が完了していない。
そこで、この場合の変換処理部101は、ステップS104に処理を戻すことで、HTMLファイル201における次の能動的変更対象要素Niに対して能動的要素変換を行う。
そして、全ての能動的変更対象要素N1〜Nkに対する能動的要素変換が完了するのに応じて、変換処理部101は、変数iがkより大きいことを判定する(ステップS106−YES)。この場合、変換処理部101は、JavaScriptファイル203を対象とする受動的コンテンツ変換のための以下の処理に移行する。
次に、変換処理部101は、変数jについて、初期値である1を代入する(ステップS107)。
続いて、変換処理部101は、JavaScriptファイル203における受動的変更対象要素Pjに対して受動的要素変換を行う(ステップS108)。
ステップS108により受動的変更対象要素Pjに対する受動的要素変換を行った後、変換処理部101は、変数jをインクリメントしたうえで(ステップS109)、変数jが最大値であるmより大きいか否かについて判定する(ステップS110)。
変数jがm以下である場合(ステップS110−NO)、まだ全ての受動的要素変換が完了していない。
そこで、この場合の変換処理部101は、ステップS108に処理を戻すことで、JavaScriptファイル203を対象として次の受動的変更対象要素Pjに対する受動的要素変換を行う。
そして、全ての受動的変更対象要素P1〜Pmに対する受動的要素変換(受動的コンテンツ変換)が完了するのに応じて、変換処理部101は、変数jがmより大きいことを判定すると(ステップS110−YES)、同図に示す処理を終了する。
このようにして、能動的コンテンツ変換と受動的コンテンツ変換(総合的変換)とが行われることで、例えば図3に例示したように、能動的変換HTMLファイル301、受動的変換JavaScriptファイル303及びCSSファイル202を含むコンテンツ300が作成される。
なお、同図に示す処理手順では、先に能動的コンテンツ変換(ステップS101〜S106)を実行し、次に受動的コンテンツ変換(ステップS107〜S110)を実行している。しかし、先に受動的コンテンツ変換を実行し、次に能動的コンテンツ変換を実行するという処理手順であってもよい。
また、i番目の能動的変更対象要素Niとj番目の受動的変更対象要素Pjの組み合わせごとに、順次、i番目の能動的変更対象要素Niに対する能動的要素変換とj番目の受動的変更対象要素Pjに対する受動的要素変換とを実行していくという処理手順であってもよい。この場合においても、能動的要素変換と受動的要素変換の順序としては、能動的要素変換が先で、受動的要素変換が後となってもよいし、逆に、受動的要素変換が先で、能動的要素変換が後となってもよい。
<第2実施形態>
続いて、第2実施形態について説明する。図11は、第2実施形態におけるコンテンツ作成装置100Aの構成例を示している。なお、同図において図1と同一部分には同一符号を付し、ここでは主に図1との相違点について説明する。
同図に示すコンテンツ作成装置100Aは、変換処理部101に加えて、難読化処理部102をさらに備える。
難読化処理部102は、コンテンツ300の一部または全部について難読化が図られるようにする。なお、コンテンツ300の難読化にあたり、一般的にはスクリプト部分(JavaScriptファイル)に対して難読化が行われるが、難読化によって視覚的効果に影響を与えない場合、スタイルシート(CSSファイル)や構造化文書(HTMLファイル)に対して難読化が行われてもよい。
具体的に、JavaScriptファイルに対して難読化を行う場合、難読化処理部102は、能動的要素変換と受動的要素変換との少なくともいずれか一方が行われたJavaScriptファイルを入力し、入力したJavaScriptファイルについて難読化のための処理を行えばよい。
なお、難読化のアルゴリズムとしては特に限定されるものではなく、例えば既存のアルゴリズムが適用されてもよい。
なお、上記の例では、能動的要素変換または受動的要素変換が行われた後のファイルを対象として難読化処理部102による難読化処理が行われている。しかし、上記とは逆に、難読化処理部102が難読化処理を行ったファイルに対して、能動的要素変換または受動的要素変換が行われるようにしてもよい。
このように、コンテンツについて難読化が図られることにより、例えば悪意のあるユーザが、コンテンツにおいて埋め込み情報が埋め込まれた箇所をリバースエンジニアリングなどにより特定することがさらに困難となる。
また、これまでの説明においては、コンテンツに対する要素変換(能動的要素変換、受動的要素変換)として、視覚的態様に変化を与えている。しかし、コンテンツに対する総合的変換としては、例えば聴覚的態様などに変化を与えるものであってもよい。例えば、構造化文書を有するコンテンツが音声を再生可能なように作成された場合において、変更制御符号に基づいて音声データに対して変換を行うことにより、聴覚的な変化を与えることが可能である。
即ち、本実施形態における要素変換(能動的要素変換、受動的要素変換)は、コンテンツの視覚的態様や聴覚的態様などをはじめとする知覚的態様に変化を与えるものであればよい。
また、受動的要素変換によっては、必ずしも対応の能動的要素変換により与えられる知覚的態様の変化が完全に元に戻されなくともよい。つまり、受動的要素変換としては、能動的要素変換により与えられる知覚的態様の変化について、完全に元に戻しはしないものの、例えば人によっては知覚できない程度に戻すようなものであってもよい。
また、能動的要素変換もしくは受動的要素変換に伴って例えば意図しない遅延が発生し、遅延によって知覚的態様に何らかの想定外な変化が生じる可能性はあるが、その変化は無視できるものとする。
なお、コンテンツ作成装置(100、100A)と、監視システムにおけるコンテンツ検査装置400とは互いに個別の装置であってもよいし、コンテンツ作成機能とコンテンツ検査機能とを有する1つの装置として構成されてもよい。
なお、コンテンツ作成装置(100、100A)、コンテンツ検査装置400の各機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによりコンテンツ作成装置(100、100A)、コンテンツ検査装置400としての処理を行ってもよい。ここで、「記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行する」とは、コンピュータシステムにプログラムをインストールすることを含む。ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、インターネットやWAN、LAN、専用回線等の通信回線を含むネットワークを介して接続された複数のコンピュータ装置を含んでもよい。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。このように、プログラムを記憶した記録媒体は、CD−ROM等の非一過性の記録媒体であってもよい。また、記録媒体には、当該プログラムを配信するために配信サーバからアクセス可能な内部または外部に設けられた記録媒体も含まれる。配信サーバの記録媒体に記憶されるプログラムのコードは、端末装置で実行可能な形式のプログラムのコードと異なるものでもよい。すなわち、配信サーバからダウンロードされて端末装置で実行可能な形でインストールができるものであれば、配信サーバで記憶される形式は問わない。なお、プログラムを複数に分割し、それぞれ異なるタイミングでダウンロードした後に端末装置で合体される構成や、分割されたプログラムのそれぞれを配信する配信サーバが異なっていてもよい。さらに「コンピュータ読み取り可能な記録媒体」とは、ネットワークを介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。また、上記プログラムは、上述した機能の一部を実現するためのものであってもよい。さらに、上述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
100,100A コンテンツ作成装置、101 変換処理部、102 難読化処理部、200 原コンテンツ、201 HTMLファイル、202 CSSファイル、203 JavaScriptファイル、300、300A コンテンツ、301 能動的変換HTMLファイル、301A 受動的変換HTMLファイル、303 受動的変換JavaScriptファイル、303A 能動的変換JavaScriptファイル、400 コンテンツ検査装置、401 変更結果要素特定部、402 埋め込み情報復元部、403 チェックデジット判定部、500 検査対象コンテンツ、Dt 埋め込み情報、Dt 1次符号列、Dt 2次符号列、Dt 分割データ、S 符号化、S 誤り訂正符号化、S 分割処理、S 埋め込み

Claims (8)

  1. 構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を行い、
    前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を行う変換処理部を備え、
    前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する1以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
    前記変換処理部は、前記構造化文書と前記1以上の拡張制御情報のうちの1以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記1以上の拡張制御情報のうちの1以上に含まれる要素を対象として前記受動的要素変換を実行する
    コンテンツ作成装置。
  2. 前記コンテンツは、前記拡張制御情報として、前記構造化文書についての装飾を指定する装飾指定情報と、前記構造化文書の再生に動的機能を与える動的機能付与情報との少なくともいずれか一方を含む
    請求項1に記載のコンテンツ作成装置。
  3. 前記変換処理部は、誤り訂正符号化された埋め込み情報に基づいて生成された前記変更制御符号に基づいて前記能動的要素変換を実行する
    請求項1または2に記載のコンテンツ作成装置。
  4. 前記変換処理部は、埋込対象データと、前記埋込対象データに基づいて計算したチェックデジットとを含む前記埋め込み情報を生成する
    請求項1から3のいずれか一項に記載のコンテンツ作成装置。
  5. 前記コンテンツの一部または全部について難読化が図られるようにする難読化処理部をさらに備える
    請求項1から4のいずれか一項に記載のコンテンツ作成装置。
  6. 前記変換処理部は、
    前記能動的要素変換の集合と前記受動的要素変換の集合が、コンテンツの配布先のユーザごとに異なるように、前記能動的要素変換と前記受動的要素変換とを行う
    請求項1から5のいずれか一項に記載のコンテンツ作成装置。
  7. 前記変換処理部は、前記能動的要素変換または受動的要素変換として、文字、文字間隔、オブジェクトの色、オブジェクトのサイズ、オブジェクトの形状、オブジェクトの配置のうちの少なくともいずれか1つを変換する
    請求項1から6のいずれか一項に記載のコンテンツ作成装置。
  8. 変換処理部が、構造化文書を少なくとも有する構造のコンテンツの作成にあたり、埋め込み情報に基づいて生成された変更制御符号に基づいて、原コンテンツに含まれる要素のうちの所定の能動的変更対象要素を能動的変更結果要素に変換し、原コンテンツにおいて前記能動的変更対象要素を前記能動的変更結果要素で置き換える能動的要素変換を実行し、
    前記能動的要素変換によって前記能動的変更対象要素から変換された能動的変更結果要素によって与えられる原コンテンツからの知覚的態様の変化を、原コンテンツが再生されたときと同じ状態に戻すため、原コンテンツに含まれる要素のうちの所定の受動的変更対象要素を受動的変更結果要素に変換し、原コンテンツにおいて前記受動的変更対象要素を受動的変更結果要素で置き換える受動的要素変換を実行する変換処理ステップを含み、
    前記コンテンツは、前記構造化文書を再生したときの知覚的態様を拡張する1以上の拡張制御情報であって、前記構造化文書により定義された要素についての装飾を指定する情報と構造化文書の再生に動的機能を与える情報との双方またはいずれか一方の拡張制御情報を含み、
    前記変換処理ステップは、前記構造化文書と前記1以上の拡張制御情報のうちの1以上を対象として前記能動的要素変換を実行し、前記構造化文書と前記1以上の拡張制御情報のうちの1以上に含まれる要素を対象として前記受動的要素変換を実行する
    コンテンツ作成方法。
JP2014197116A 2014-09-26 2014-09-26 コンテンツ作成装置及びコンテンツ作成方法 Active JP6481311B2 (ja)

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)

* Cited by examiner, † Cited by third party
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 北大方正集团有限公司 一种文本中数字水印信息的嵌入和提取方法及装置

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