JP3814618B2 - 文章処理装置、及び制御方法 - Google Patents

文章処理装置、及び制御方法 Download PDF

Info

Publication number
JP3814618B2
JP3814618B2 JP2004185238A JP2004185238A JP3814618B2 JP 3814618 B2 JP3814618 B2 JP 3814618B2 JP 2004185238 A JP2004185238 A JP 2004185238A JP 2004185238 A JP2004185238 A JP 2004185238A JP 3814618 B2 JP3814618 B2 JP 3814618B2
Authority
JP
Japan
Prior art keywords
data
text data
normalization
embedded
input
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.)
Expired - Fee Related
Application number
JP2004185238A
Other languages
English (en)
Other versions
JP2005124137A (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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2004185238A priority Critical patent/JP3814618B2/ja
Publication of JP2005124137A publication Critical patent/JP2005124137A/ja
Application granted granted Critical
Publication of JP3814618B2 publication Critical patent/JP3814618B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)
  • Image Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Editing Of Facsimile Originals (AREA)

Description

本発明は、テキストデータに対して透かし情報を埋め込む、又は、透かし情報が埋め込まれたテキストデータから透かし情報を抽出する為の技術に関するものである。
近年、インターネットの普及により通信技術が向上したことに伴い、あらゆる情報のデジタル化が進められインターネット上で流通することが可能となった。データをデジタル化することで再利用性を高め利便性が向上した反面,画像データや音声データなどのデジタルコンテンツを加工したり複製することが容易となったため著作権保護の面で大きな問題が浮上している。
以上のような背景から、著作権保護を目的として特に画像データや音声データに対する電子透かし技術が提案されている。電子透かし技術は、ディジタルデータに人間が知覚できない程度に透かし情報を埋め込む技術であり,著作権保有者の名前や購入者のIDなどが埋めこまれる。上記の透かし情報により加工や複製による無断使用を追跡することができる。
一般的に電子透かし技術は、画像データや音声データなどの冗長部分が多いデータ形式に対して適用されている。一方、文書に対する電子透かしとしては、防衛大方式(中村康弘、松井甲子雄、著作権保護のための電子文書のハードコピーへの署名の埋め込み、情報処理学会論文誌Vol.36 No.8, 1995 年、及び特開平9−186603号公報「電子文書の単語間の空白部分の長さを利用した符号化および復号化方法、電子文書への署名情報の埋め込み方法、機密文書の暗号化方法」)が提案されているが、文書をテキストデータとしてとらえるのではなく画像データとして電子透かし技術を適用しているに過ぎない。具体的には単語間の間隔を操作することで透かし情報を埋め込んでいる。
同様の方式として日本IBM方式(天野富夫、平山唯樹、レイアウト構造を利用したページ記述への電子透かし埋め込み手法、情報処理学会研究報告、マルチメディア通信と分散処理90−9,コンピュータセキュリティ2−9,1998年,特開2000−99501号公報(P2000−99501A)「文書データへの情報の埋め込み方法およびシステム」)が提案されており、これによれば文字間の間隔を操作することで透かし情報を埋め込んでいる。
テキストデータそのものへの電子透かしとしては、強制的に改行文字を挿入する方法や単語間の空白文字を複数にする方法が古くから知られている。松本勉、中川裕志、村瀬一郎、ステガノグラフィを用いた秘匿通信の研究開発(第18回 IPA技術発表会論文集pp.51−60)では、辞書変換法により文書中の単語の置き換えを行う方法が提案されている。この方法は同義語が定義された辞書を使い、文中の単語を別の単語に置きかえることにより透かし情報を埋め込む方法である。
上記従来技術では下記のような問題があった。単語間や文字間の間隔を操作するなどの文書の位置関係を変化させる、つまりレイアウト情報を変更することによる電子透かし手法では、レイアウト情報を持つデータ形式にしか適用できない。
つまり、文書からレイアウト情報を取り除いた文書そのものであるテキストデータを抽出した場合には透かしデータを復元することができない欠点がある。
さらにレイアウト情報を操作するために一見しただけで不自然さが残るという問題点もある。また。辞書変換法による電子透かし手法では、単語変換による文脈の乱れが生じ、同様に不自然さが残る問題点が生じる。
本発明は以上の問題に鑑みてなされたものであり、正規化前のテキストデータに透かし情報が埋め込まれていたとしても、テキストデータの内容の真正性を保証することを目的とする。
本発明の目的を達成するために、例えば本発明の文章処理装置は以下の構成を備える。
即ち、テキストデータを入力する入力手段と、
前記テキストデータを所定の正規化方式を用いて正規化する正規化手段と、
前記正規化されたデータに基づいて、埋め込みデータを生成する埋め込みデータ生成手段と、
前記埋め込みデータを前記テキストデータに対して埋め込む埋め込み手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば本発明の文章処理装置は以下の構成を備える。
即ち、透かし情報が埋め込まれているテキストデータを入力する入力手段と、
前記入力されたテキストデータを、所定の正規化方式を用いて正規化する正規化手段と、
前記正規化手段により正規化されたテキストデータと、前記入力手段により入力されたテキストデータとを比較することによって、前記透かし情報を抽出する抽出手段と
を備えることを特徴とする。
本発明の目的を達成するために、例えば本発明の装置の制御方法は以下の構成を備える。
即ち、テキストデータを入力する入力工程と、
前記テキストデータを所定の正規化方式を用いて正規化する正規化工程と、
前記正規化されたデータに基づいて、埋め込みデータを生成する埋め込みデータ生成工程と、
前記埋め込みデータを前記テキストデータに対して埋め込む埋め込み工程と
を備えることを特徴とする。
本発明の目的を達成するために、例えば本発明の装置の制御方法は以下の構成を備える。
即ち、透かし情報が埋め込まれているテキストデータを入力する入力工程と、
前記入力されたテキストデータを、所定の正規化方式を用いて正規化する正規化工程と、
前記正規化工程で正規化されたテキストデータと、前記入力工程で入力されたテキストデータとを比較することによって、前記透かし情報を抽出する抽出工程と
を備えることを特徴とする。
本発明の構成により、正規化前のテキストデータに透かし情報が埋め込まれていたとしても、テキストデータの内容の真正性を保証することができる。
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
[第1の実施形態]
図1は本実施形態における、文章(テキストデータ)に透かし情報を埋め込む方法を説明するブロック図である。
まず、透かし情報(透かしデータ)を埋め込みたい文書(テキストデータ)の入力を行う(100)。テキストデータは文字データの集まりである。通常コンピュータが文字を扱うときは,文字をある数値に対応させて表現していることが多い。この文字と対応する数値の対応付けを表わす対応表を文字コード(character code)という。文字を数値に変換することを符号化と呼ぶ。つまり、テキストデータはある文字コードを用いて表現された符号化データの集まりである。
次に、入力されたテキストデータを正規化方式(102)に則って、正規化処理を行う(101)。
次に、同じ文字を別の符号化データとして表現することを利用して、透かし情報104を埋め込む、透かし情報埋め込み処理を行う(103)。
文章入力100における具体例として、Unicodeにおける結合文字(Combining Characters)を利用した方法を、以下説明する。
Unicodeは、Unicodeコンソーシアムで規格化された文字集合であり,文字符号化方式としてはUTF−8、UTF−16などがある。Unicodeには結合文字と呼ばれる一群の文字があり、日本語ではU+3099という数値で表わされる「゛」濁点と、U+309A(「゜」半濁点)などが結合文字である。
一方、Unicodeでは、U+304C「が」も存在することから,U+304C「が」と、{U+304B,U+3099}「か゛」は同値である。このように文字としては同じ意味を表現しても符号化データとしては異なる場合がある。
ここでステップ正規化処理101には正規化方式102が必要であるが、正規化方式として「ひらがな・カタカナの濁音文字,半濁音文字では結合文字は使用しないで1文字で表現する」という方式を採用したとすると、次のように透かし情報を埋め込むことができる.
テキストデータ内のすべての濁音文字、半濁音文字ごとに1ビットの透かし情報を対応させる。ビット0を埋め込む場合には1文字表現(つまり結合文字を利用しない)のまま、ビット1を埋め込む場合には結合文字を利用するように、透かし情報埋め込み処理103を行う。例えば、正規化後の「が」に対し、ビット0を埋め込む場合には「が」、ビット1を埋め込む場合には「か゛」(「か」+「゛」)と変換することで透かし情報を埋め込む。
以上の透かし情報の埋め込み処理のフローチャートを図10に示す。本フローチャートに関する説明は上述の説明と同じなので、ここでは簡単に説明する。
まずテキストデータと、透かし情報を入力し(ステップS1001)、入力したテキストデータに対して上述の正規化を行う(ステップS1002)。そして、正規化を施されたテキストデータに対して、同じ文字を別の符号化データとして表現し、透かし情報を埋め込む(ステップS1003)。
図5は上記のような透かし情報を埋め込む処理を行う装置(透かし情報埋め込み装置)の概略構成を示す図である。同装置に対する入力は、テキスト文書501と、透かし情報502である。透かし情報埋め込み装置は、正規化処理101を行う正規化処理装置503と、正規化方式102を格納する正規化方式格納装置504と、透かし情報埋め込み処理103を行う埋め込み処理装置505を有し,透かし処理済テキスト文書506を出力とする。また、以上の各装置は以下説明する図7のような構成を備える装置によっても実現できる。
なお、図10に示したフローチャートに従ったプログラムコードは、不図示のROMやRAMなどのメモリに格納され、不図示のCPUに読み出され、実行されるものとする。
図7においてホストコンピュータ701は、例えば一般に普及しているパソコンであり、ユーザからの各種指示等はマウス712やキーボード713からの入力により行われ、テキストデータをプリンタ715から印刷させることが可能である。
また、ホストコンピュータ701の内部では、バス716により後述する各ブロックが接続され、種々のデータの受け渡しが可能である。
702はシステムメッセージなどを含むユーザへの指示やテキストデータの表示に用いられるモニタである。
703は内部の各ブロックの動作を制御,或いはROM704やRAM705に格納された各種のプログラムを実行するCPUである。
704は印刷されることが認められていない特定画像を記憶したり、あらかじめ必要な画像処理プログラム等(図10に示したフローチャートに従ったプログラムを含む)を記憶しておくROMである。また文字コードなども記憶している。
705はCPU703にて処理を行うために一時的にプログラムや処理対象のテキストデータを格納しておくRAMである。
706は,RAM705等に転送されるプログラムやテキストデータをあらかじめ格納したり,処理後のテキストデータを保存することのできるハードディスク(HD)である。
708は外部記憶媒体の一つであるCD(CD−R)に記憶されたデータを読み込み或いは書き出すことのできるCDドライブである。
709はCDドライブ708と同様に、FDからの読み込み、FDへの書き出しができるFDドライブである。710もCDドライブ708と同様に、DVDからの読み込み、DVDへの書き出しができるDVDドライブである。尚、CD,FD,DVD等に編集用のプログラム、或いはプリンタドライバが記憶されている場合には、これらプログラムをHD706上にインストールし、必要に応じてRAM705に転送されるようになっている。
711はマウス712或いはキーボード713からの入力指示を受け付けるために、これらと接続されるインターフェイス(I/F)である。
718はモデムであり、インターフェース(I/F)719を介し、公衆回線を通じて外部のネットワークに接続されている。
また707はネットワーク接続装置であり、インターフェース(I/F)714により外部のネットワークに接続されている。
次に透かし情報の抽出処理を説明する.
図2は本実施形態における、透かし情報が埋め込まれた文章(テキストデータ)から透かし情報を抽出する方法を説明するブロック図である。
まず、透かし情報が埋め込まれたテキストデータの入力を行う(200)。
次に、入力したテキストデータを後述する正規化方式202に則って文字コードレベルで正規化処理を行う(201)。なお、200で入力したテキストデータは所定の不図示のメモリに格納しておくと共に、このテキストデータのコピーを生成し、このコピーに対して正規化処理を行う。
次に、正規化前のテキストデータ(所定の不図示のメモリに格納されたテキストデータ)と正規化後のテキストデータ(コピーに対して正規化処理を施した結果)との比較処理を行い、差分情報を生成する(203)。
次に、203で得られた差分情報から透かし情報を特定し、透かし情報を抽出する。
本実施形態では正規化方式202として、「ひらがな・かたかなの濁音文字,半濁音文字では結合文字は使用しないで1文字で表現する」という方式を採用し、上述した濁音文字、半濁音文字ごとに1ビットの透かし情報を対応させる方式で抽出を行うとする。
その結果、透かし情報抽出処理204において、濁音文字、半濁音文字のところで1文字表現(つまり結合文字を利用しない)場合はビット0が、結合文字が利用されている場合はビット1を抽出することができる。例えば、正規化後の「が」と比較し,正規化前データが「が」と表現されていた場合にはビット0を、「か゛」と表現されていた場合にはビット1を抽出できる。
以上の透かし情報の抽出処理のフローチャートを図11に示し、以下説明する。本フローチャートに関する説明は上述の説明と同じなので、ここでは簡単に説明する。
まず、透かし情報が埋め込まれたテキストデータを入力し、所定の不図示のメモリに格納すると共に、コピーを生成する(ステップS1101)。次に、コピーされたテキストデータに対して、上述の正規化処理を行う(ステップS1102)。次に、正規化前のテキストデータと、正規化後のテキストデータとの差分情報を生成する(ステップS1103)。次に、全ての濁音文字、半濁音文字に対してこの差分情報に基づき結合文字が利用されているかどうか判断し(ステップS1104)、利用されていれば、ビットを1(ステップS1105),利用されていなければビットを0(ステップS1106)としてビット列を生成し、この検索を全ての濁音文字、半濁音文字に対して行う(ステップS1107)。そして全ての濁音文字、半濁音文字に対して生成されたビット列を得ることで、透かし情報を抽出することができる(ステップS1108)。
図6は上記のような透かし情報を抽出する処理を行う装置としての、透かし情報抽出装置を説明する図である。同装置に対する入力は透かし済テキスト文書601である。透かし情報抽出装置は、正規化処理201を行う正規化処理装置602と、正規化方式202を格納する正規化方式格納装置603と、比較処理203を行う比較処理装置604と、透かし情報抽出処理204を行う抽出処理装置605を有し、透かし情報606を出力とする。なお、図11に示したフローチャートに従ったプログラムコードは、図6に示した装置内の不図示のメモリに格納され、不図示のCPUにより読み出され、実行されるものとする。
また、以上の各装置は図7のような構成をもつ信号処理装置によっても実現できる。この場合、図11に示したフローチャートに従ったプログラムコードはROM704に格納され、CPU703により読み出され、実行されるものとする。
以上の説明により、本実施形態では結合文字として日本語における濁音文字、半濁音文字を取り上げたが、本実施形態は日本語のテキストデータだけに特化した技術ではなく、独語のウムラウトなどにも適用でき、結合文字が利用されるすべての符号化処理コードに適用することが可能である。
また、同じ文字を表わすが符号化データとしては異なる場合として、カンマやコロン、セミコロンを半角文字にするか全角文字するかというデータの振れを利用することも可能である。
[第2の実施形態]
第1の実施形態では、正規化を行うことにより生じる正規化前データとの差分から透かし情報を抽出する方法を説明した。しかし、第1の実施形態では、画像に対する電子透かしとは異なり、耐性が弱く、透かし情報が容易に除去可能であるため、透かし情報を消去されてしまうと困る用途には利用できない。たとえば作者の著作権情報や購入者のIDを埋め込むことで、著作権保護を行う場合などである。しかしテキストデータの真正性を保証し、改ざん検出に利用することができる。
図3は本実施形態における文章(テキストデータ)に透かし情報を埋め込む方法を説明するブロック図である。
まず、透かし情報が埋め込まれたテキストデータの入力を行う(300)。ここで、透かし情報が埋め込まれたテキストデータは、例えば第1の実施形態に係る電子透かし埋め込み方法でもって生成されたものであるとしても良いし、その他の方法でもって生成されたものであっても良い。また、以下の処理の対象となるテキストデータは、入力したテキストデータのコピーである。
次に、入力されたテキストデータを正規化方式302に則って正規化処理を行う(301)。この正規化方式302については、例えば第1の実施形態で用いた正規化方式202と同じものを用いても良いし、その他のものを用いるようにしても良い。
次に、正規化データの後述するハッシュ値を計算する(303)。
次に、後述する署名作成者の秘密鍵を用いて、ハッシュ値計算処理303で得られたハッシュ値から後述する署名データを作成する(304)。
次に、署名計算処理304で得られた署名データを、透かし情報として入力したテキストデータに埋め込む(305)。
なお、本実施形態において、上述の処理を行う透かし情報埋め込み装置の構成は図5に示した装置の場合、更に、前記秘密鍵を埋め込み処理装置505に入力し、埋め込み処理装置505内でハッシュ値計算、署名データの作成を行う。なお、このハッシュ値計算、署名データの作成は、埋め込み処理装置505内でなく、夫々専用の装置を設けても良い。
[ハッシュ値]
ハッシュ値とは1変数関数であるハッシュ関数hの出力値であり、ハッシュ関数とは衝突を起こしにくい圧縮関数をいう。ここで衝突とは、異なる入力値x1,x2に対して、h(x1)=h(x2)となることである。また圧縮関数とは、任意のビット長のビット列をある固定長さのビット列に変換する関数である。
従って、ハッシュ関数とは任意のビット長のビット列をある長さのビット列に変換する関数で、h(x1)=h(x2)を満たすx1,x2を容易に見い出せないものである。ハッシュ関数の代表的なものとしては,MD5(Message Digest 5)、SHA(Secure Hash Algorithm)などがある。
[署名データ]
署名データの作成方法としては公開鍵暗号方式を用いた方式などがあるが、本実施形態では特に限定しない。以下、公開鍵暗号方式を用いた署名方式について説明する。
公開鍵暗号方式は暗号鍵と復号鍵が異なり、暗号鍵を公開、復号鍵を秘密に保持する暗号方式である。通信文Mに対して、公開の暗号鍵kpを用いた暗号化操作をE(kp,M)とし、C=E(kp,M)であるとき(Cは暗号鍵kpにより暗号化された通信文M)、秘密の復号鍵ksを用いた復号操作をD(ks,C)とすると、公開鍵暗号アルゴリズムは次の3つの条件を満たす。
(1) kpが与えられたとき、E(kp,M)の計算は容易である.ksが与えられたとき,D(ks,M)の計算は容易である。
(2) もしksを知らないなら、kpとEの計算手順とC=E(kp,M)を知っていても、Mを決定することは計算量の点で困難である。
(3) 全ての通信文(平文)Mに対し、E(kp,M)が定義でき、D(ks,E(kp,M))=Mが成立する。
以上の性質を満たす公開鍵暗号方式を用いて、ユーザPが文書Mに対して署名を行う。つまりMが確かにPが作成した文書であることを証明する方式は次のとおりである。
Pは自分の秘密鍵ksで送信文C=D(ks,M)を生成し、MとともにユーザVに送る。
ユーザVは、ユーザPの公開鍵kpで、Cを復元変換M’=E(kp,C)を行い。M’が文書Mと一致するかどうかを確認する。このユーザVの操作を署名の検証と呼ぶ。
一般的に公開鍵暗号による暗号化は時間がかかるという欠点があるため、文書M自体に上記の演算を施すのではなく、一度ハッシュ関数を用いてデータを圧縮した上で署名処理が行われることが多く、304の署名計算処理でもこの方式を採用している。
上述の処理のフローチャートを図12に示す。なお、本フローチャートは図10に示したフローチャートに従った処理により生成される、透かし情報が埋め込まれたテキストデータを入力することが前提となっている。よって、本実施形態における透かし情報埋め込み装置が行う処理は、ステップS1003の代わりにステップS1201以降の処理を行うとしたフローチャートに従った処理となる。
また、本フローチャートに従ったプログラムコードは、不図示のROMやRAMなどのメモリに格納され、不図示のCPUにより読み出され、実行されるものとする。
まず、テキストデータ、秘密鍵を入力する(ステップS1201)。次に入力したテキストデータに対して正規化処理を行い(ステップS1202)、正規化されたコピーデータからハッシュ値を算出する(ステップS1203)。次に、入力した秘密鍵を用いて、算出されたハッシュ値から署名データを作成する(ステップS1204)。そしてこの署名データを入力したテキストデータに対して埋め込む(ステップS1205)。
図4は本実施形態における、透かし情報が埋め込まれた文章(テキストデータ)から署名情報を得、検証する方法を説明するブロック図である。
まず、透かし情報が埋め込まれたテキストデータの入力を行う(400)。次に入力したテキストデータのコピーに対して、正規化方式402に則って正規化処理を行う(401)。この正規化方式402については、埋め込み側で用いた正規化方式302と同じものである。
次に、正規化前のテキストデータと正規化後のテキストデータの比較処理を行い、差分情報を生成する(403)。
403で得られた差分情報から、署名データを得る(404)。
404で得た署名データの検証を上述の通り行う。
なお本実施形態における透かし情報抽出装置の構成は、図6に示した装置において、抽出処理装置605から得た署名データの検証を埋め込み時に利用した秘密鍵に対応する検証鍵の入力と共に行う装置を図6に示した装置に加えることで、上述の検証ができる。
なお本実施形態における透かし情報抽出装置が行う上述の処理のフローチャートを図13に示す。また、本フローチャートに従ったプログラムコードは、不図示のROMやRAMなどのメモリに格納され、不図示のCPUにより読み出され、実行されるものとする。
まず透かし情報が埋め込まれたテキストデータを入力すると共に、埋め込み時に利用した秘密鍵に対応する検証鍵も入力する(ステップS1301)。次に、入力したテキストデータのコピーに対して正規化を行い(ステップS1302)、正規化前のテキストデータと、正規化後のテキストデータとの比較を行い、前述の差分情報を生成する(ステップS1303)。次に、この差分情報から署名データを得ると共に(ステップS1304)、この署名データに対して、ステップS1301で入力した秘密の復号鍵を用いて検証を行う(ステップS1305)。
以上の説明により、本実施形態により、署名データを透かし情報として埋め込み、この署名データにより、テキストデータの真正性を保証し、改ざん検出に利用することができる。
即ち、テキストデータを正規化し、正規化データに基づいた値から埋め込みデータを生成し、テキストデータに埋め込むので、たとえ、正規化前のテキストデータに透かし情報が埋め込まれていたとしても、テキストデータの内容の真正性を保証することができる。
また、正規化後に透かし情報が埋め込まれているテキストデータと、オリジナルのテキストデータを正規化したデータとを比較することによって、透かし情報を抽出するので、透かし抽出及び改ざん検出が容易に行うことができる。
[第3の実施形態]
第2の実施形態の特別な場合として、本実施形態ではXML文書に対する署名情報の埋め込みを説明する。
XML(eXtensible Markup Language)はW3Cで策定されたマークアップ言語である。規格はW3C Recommendation、 Extensible Markup Language (XML) 1.0、http://www.w3.org/TR/1998/ REC−xml−19980210.htmlで公開されている。
XMLはテキストデータによって記述される可読のデータ形式で、例えば「<Tag>」と「</Tag>」、といったような「<」と「>」形式のタグでデータ項目を表現し、またこのタグで別のデータを入れ子構造になるように囲むことによって様々なデータを表現する。
さらに、このタグ中にはプロパティと呼ばれる、タグに関連する特徴データを記述することも可能で,例えば,「<Tag prop=”Property”> … </Tag>」というように,「プロパティ名=”値”」という文字列をタグ名(例では”Tag”)と空白文字で区切って後続してタグに内挿することによって実現される。
XML文書は次の3つの部分に分けられる。
(1) バージョン宣言や文字コード宣言を行うXML宣言部分。
(2) 後述するXMLインスタンスの文書構造を宣言し,タグの構文を規定する DTD(Document Type Definition)部分。
(3) 実際のタグ付き文書であるXMLインスタンスの部分。
XMLはテキストデータというデータ形式であるので、一般的な文書編集ソフトウェア(テキストエディタなど)で容易に作成したり編集したりすることができる。このことは,XMLの取り扱いを容易にするという点では長所であり、様々なアプリケーションで利用されつつある。
契約文書の保証などを目的としてデータの署名は必要不可欠な技術であるが、XML文書に対する署名の要求も高く、W3CとIETFでフォーマットの標準化が進められており、規格としてXML−Signature Syntax and Processing、http://www.w3.org/TR/xmldsig−core/ (以下xmldsig−coreとあらわす)が公開されている。
署名処理は,まずW3Cの別の策定文書であるCanonical XML Version 1.0、 http://www.w3.org/TR/xml−c14n (以下xml−c14nとあらわす)で規定された正規化方法に則り、XML文書を正規化した上で署名を施すことが提案されている。
xmldsig−coreにおけるXML文書に対する署名は、xml−c14nによる正規化処理を行ったデータのハッシュを取り、署名データを計算後、署名を施していることを表わす次のようなヘッダ部分を元XML文書に添付させる必要がある。
<Signature>
...
<SignatureValue>
ABCDEF...
</SignatureValue>
</Signature>
xml−c14nでは改行文字をLFにすること、文字符号化方式はつねにUTF−8であることなどが規定されている。しかし文字コードレベルでの正規化については策定文書の範囲外であり、ベンダー間の取り決めが行われたり、アプリケーションに依存することになる。そこで署名を施す前の正規化として,以下の手順で正規化処理を行う。
図9は、本実施形態における署名手順を説明するブロック図である。
したフローチャートである。
まず、透かし情報が埋め込まれたXML文章を入力する(900)。
次に、入力されたXML文書(テキストデータ)を正規化方式902に則って文字コードレベルでの正規化を行う(901)。
次に、xml−c14nによる正規化を行う(903)。
署名作成者の秘密鍵を用い,2種類の正規化処理(901,903)を行ったデータのハッシュ値を取り、署名データを生成する(904)。
904で得られた署名データをヘッダ(以下署名ヘッダ)として透かし情報として埋め込む(905)。
署名を施す前の正規化として、xml−c14nによる正規化の前に、上述の文字コードレベルでの正規化処理を行うことで、第2の実施形態と同様に署名を行うことができ、計算された署名ヘッダをXML文書に埋め込むことができる。
署名ヘッダのデータ容量が大きい場合は以下のようにして署名ヘッダの一部だけを透かしデータとして埋め込む方法も考えられる。以下は署名ヘッダのうち署名データのみを透かし情報として埋め込んだ場合の署名ヘッダの例である.
<Signature>
...
<SignatureValueoption=”WaterMarked”/>
</Signature>
”WaterMarked”というプロパティ値から、署名データが埋め込まれていることがわかる。
なお、実施形態における透かし情報埋め込み装置の構成は第1の実施形態と同じであり、同装置が行う処理のフローチャートとしては、ステップS1202において、更にxml−c14nによる正規化を行うとしたフローチャートである。一方、本実施形態における透かし情報抽出装置の構成は第1の実施形態と同じであり、同装置が行う処理のフローチャートとしては、ステップ1302において、xml−c14nによる正規化を行うとしたフローチャートである。
以上説明したように本実施形態によれば、XML文書に対する署名データを外部に持って別々に管理する必要がなく、XML文書から署名データを抽出して署名の検証を行うことによりXML文書の真正性を保証し、改ざんを検出することができる。また、上記の方式はXMLだけでなくSGMLやHTML等のマークアップ言語に適用可能である。
[第4の実施形態]
前述の実施形態では、正規化処理には正規化方式が必要であった。本実施形態は、この正規化方式を秘匿にし、特定のユーザだけが埋め込みデータを抽出する方法について説明する。なお、埋め込み処理者は正規化方式を秘匿にして文字コードレベルでの正規化を行うと共に、埋め込み処理者は透かし情報の抽出を許可する抽出者にのみ暗号通信路などを用いて正規化方式を安全に共有する。又、本実施形態では暗号方式については特には限定しない。
図8は、抽出者ごとに別々の正規化方式を保持した透かしシステムの概要を示した図である。
埋め込み装置801は正規化方式格納装置802を持ち、埋め込み処理者Xは正規化方式A(803)と、正規化方式B(804)とを作成し、正規化方式格納装置802に格納しておく。
埋め込み処理者Xは抽出者A及び抽出者Bにそれぞれ正規化方式A(803)と、正規化方式B(804)とを第3者に知られないように共有しておく。
抽出装置805を持つ抽出者Aは、正規化方式格納装置806に正規化方式A(807)を格納しておく。同様に、抽出装置808を持つ抽出者Bは正規化方式格納装置809に正規化方式B(810)を格納しておく。
埋め込み処理者Xが抽出者Aにのみ抽出可能な情報を埋め込む場合には、正規化方式A(803)を用いて透かし処理を行うことにより、抽出者Aのみが正規化方式A(807)を用いて情報を抽出することが可能である。この場合、正規化方式Aを持たない抽出者Bは透かし情報を抽出することはできない。
以上説明したように、本実施形態によれば、ユーザごとに個別に正規化方式を持つことにより,特定の抽出者だけが埋め込みデータを抽出することができるしくみを提供することが可能である。
[第5の実施形態]
本実施形態は、透かし情報としてメタデータを扱う例を説明する。メタデータ(meta−data)とは、「データに関するデータ」であり、あるデータDを説明するデータMのことである。しかし、データDとメタデータMが別々のファイルで存在した場合、ファイルの移動やコピーの際に、ユーザが同時に管理しなければならない問題点がある。そこで、本実施形態では透かし情報としてメタデータを適用させることにより、複数のファイルで管理する煩わしさを解消することが可能である。
また、他文書との関連や関係する情報のポインタなどのデータの関連性を示すリンク情報を透かし情報として埋め込むことも可能であり、上記と同様の効果が得られる。
リンク情報としてはアプリケーション特有の識別子や、URL(Uniform Resource Locator)や、URI(Uniform Resource Identifier)などで表わすことができる。URLは、HTMLのハイパーリンクで利用されているインターネット上に存在するデータを特定するためのフォーマットであり、URIは、URLを包含した識別子であり、W3Cで策定されている。
以上説明したように、本実施形態によれば、文書に対するメタデータやリンク情報を外部に持って別々に管理する必要がなく、文書のスムーズな管理をすることができる。また、上記の方式は被埋め込みデータまたは透かし情報としてXML、SGML、HTML等のマークアップ言語で記述することも可能である。
[第6の実施形態]
本発明は上記実施の形態を実現するための装置及び方法及び実施の形態で説明した方法を組み合わせて行う方法のみに限定されるものではなく、上記システム又は装置内のコンピュータ(CPUあるいはMPU)に、上記実施の形態を実現するためのソフトウエアのプログラムコードを供給し、このプログラムコードに従って上記システムあるいは装置のコンピュータが上記各種デバイスを動作させることにより上記実施の形態を実現する場合も本発明の範疇に含まれる。
またこの場合、前記ソフトウエアのプログラムコード自体が上記実施の形態の機能を実現することになり、そのプログラムコード自体、及びそのプログラムコードをコンピュータに供給するための手段、具体的には上記プログラムコードを格納した記憶媒体は本発明の範疇に含まれる。
この様なプログラムコードを格納する記憶媒体としては、例えばフロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、上記コンピュータが、供給されたプログラムコードのみに従って各種デバイスを制御することにより、上記実施の形態の機能が実現される場合だけではなく、上記プログラムコードがコンピュータ上で稼働しているOS(オペレーティングシステム)、あるいは他のアプリケーションソフト等と共同して上記実施の形態が実現される場合にもかかるプログラムコードは本発明の範疇に含まれる。
更に、この供給されたプログラムコードが、コンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能格納ユニットに備わるCPU等が実際の処理の一部または全部を行い、その処理によって上記実施の形態が実現される場合も本発明の範疇に含まれる。
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明した(図10、及び/又は図11、及び/又は図12、及び/又は図13に示す)フローチャートに対応するプログラムコードが格納されることになる。
本発明の第1の実施形態における文章(テキストデータ)に透かし情報を埋め込む方法を説明するブロック図である。 本発明の第1の実施形態における、透かし情報が埋め込まれた文章(テキストデータ)から透かし情報を抽出する方法を説明する図である。 本発明の第2の実施形態における文章(テキストデータ)に透かし情報を埋め込む方法を説明する図である。 本発明の第2の実施形態における、透かし情報が埋め込まれた文章(テキストデータ)から署名情報を得、検証する方法を説明するブロック図である。 本発明の第1の実施形態における透かし情報埋め込み装置の概略構成を示す図である。 本発明の第1の実施形態における透かし情報抽出装置の概略構成を示す図である。 本発明の第1の実施形態における透かし情報埋め込み装置としての装置の概略構成を示す図である。 本発明の第4の実施形態における、抽出者ごとに別々の正規化方式を保持した透かしシステムの概要を示した図である。 本発明の第3の実施形態における、署名手順を説明するブロック図である。 本発明の第1の実施形態における透かし情報埋め込み装置が行う、透かし情報埋め込み処理のフローチャートである。 本発明の第1の実施形態における透かし情報抽出装置が行う、透かし情報抽出処理のフローチャートである。 本発明の第2の実施形態における透かし情報埋め込み装置が行う、透かし情報埋め込み処理のフローチャートである。 本発明の第2の実施形態における透かし情報抽出装置が行う、透かし情報抽出処理のフローチャートである。

Claims (9)

  1. テキストデータを入力する入力手段と、
    前記テキストデータを所定の正規化方式を用いて正規化する正規化手段と、
    前記正規化されたデータに基づいて、埋め込みデータを生成する埋め込みデータ生成手段と、
    前記埋め込みデータを前記テキストデータに対して埋め込む埋め込み手段と
    を備えることを特徴とする文章処理装置。
  2. 前記埋め込みデータ生成手段は、前記正規化されたデータに対して一方向性ハッシュ関数によりハッシュ値を算出し、前記ハッシュ値より得られた署名情報を埋め込みデータとして生成することを特徴とする請求項1に記載の文章処理装置。
  3. 前記入力手段が入力するテキストデータは、透かし情報が埋め込まれたデータであることを特徴とする請求項1又は2に記載の文章処理装置。
  4. 前記正規化方式は、前記埋め込み手段の埋め込み方法に応じた正規化方式であることを特徴とする請求項1乃至3の何れか1項に記載の文章処理装置。
  5. 透かし情報が埋め込まれているテキストデータを入力する入力手段と、
    前記入力されたテキストデータを、所定の正規化方式を用いて正規化する正規化手段と、
    前記正規化手段により正規化されたテキストデータと、前記入力手段により入力されたテキストデータとを比較することによって、前記透かし情報を抽出する抽出手段と
    を備えることを特徴とする文章処理装置。
  6. 前記入力手段により入力されたテキストデータは、正規化された後に、前記透かし情報が埋め込まれているデータであることを特徴とする請求項5に記載の文章処理装置。
  7. テキストデータを入力する入力工程と、
    前記テキストデータを所定の正規化方式を用いて正規化する正規化工程と、
    前記正規化されたデータに基づいて、埋め込みデータを生成する埋め込みデータ生成工程と、
    前記埋め込みデータを前記テキストデータに対して埋め込む埋め込み工程と
    を備えることを特徴とする装置の制御方法。
  8. 透かし情報が埋め込まれているテキストデータを入力する入力工程と、
    前記入力されたテキストデータを、所定の正規化方式を用いて正規化する正規化工程と、
    前記正規化工程で正規化されたテキストデータと、前記入力工程で入力されたテキストデータとを比較することによって、前記透かし情報を抽出する抽出工程と
    を備えることを特徴とする装置の制御方法。
  9. コンピュータに請求項7又は8に記載の制御方法を実行させるためのプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
JP2004185238A 2004-06-23 2004-06-23 文章処理装置、及び制御方法 Expired - Fee Related JP3814618B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004185238A JP3814618B2 (ja) 2004-06-23 2004-06-23 文章処理装置、及び制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004185238A JP3814618B2 (ja) 2004-06-23 2004-06-23 文章処理装置、及び制御方法

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2000295014A Division JP2002108851A (ja) 2000-09-27 2000-09-27 文章処理装置及びその方法並びに記憶媒体

Publications (2)

Publication Number Publication Date
JP2005124137A JP2005124137A (ja) 2005-05-12
JP3814618B2 true JP3814618B2 (ja) 2006-08-30

Family

ID=34616968

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004185238A Expired - Fee Related JP3814618B2 (ja) 2004-06-23 2004-06-23 文章処理装置、及び制御方法

Country Status (1)

Country Link
JP (1) JP3814618B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6031729B1 (ja) * 2015-04-30 2016-11-24 合同会社Qrテクノロジー Rfidタグコード生成装置およびその方法、認証装置およびその方法、ならびにプログラム
CN110008663B (zh) * 2018-12-27 2020-12-08 杭州基尔区块链科技有限公司 一种用于pdf文档保护和分发跟踪的信息快速嵌入和提取的方法

Also Published As

Publication number Publication date
JP2005124137A (ja) 2005-05-12

Similar Documents

Publication Publication Date Title
JP4921065B2 (ja) 情報処理装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
CN1897522B (zh) 水印嵌入和/或检测的方法、装置及系统
US6912294B2 (en) Multi-stage watermarking process and system
Jalil et al. A review of digital watermarking techniques for text documents
Mali et al. Implementation of text watermarking technique using natural language watermarks
Kaur et al. An existential review on text watermarking techniques
Khadam et al. Text data security and privacy in the internet of things: threats, challenges, and future directions
US20070047758A1 (en) Tamper-resistant text stream watermarking
Chiang et al. Natural language watermarking using semantic substitution for Chinese text
CN104517045A (zh) 数字文档保护方法及系统
US8976003B2 (en) Large-scale document authentication and identification system
Wen et al. Two Zero-Watermark methods for XML documents
JP4541473B2 (ja) データ処理方法及び装置、及び記憶媒体
CN111382398B (zh) 信息处理、隐藏信息解析和嵌入的方法、装置及设备
CN109800547B (zh) 一种用于word文档保护和分发跟踪的信息快速嵌入和提取的方法
JP3814618B2 (ja) 文章処理装置、及び制御方法
JP2004185312A (ja) 文書管理装置
Jaiswal et al. Implementation of a new technique for web document protection using unicode
JP2002108851A (ja) 文章処理装置及びその方法並びに記憶媒体
Khadam et al. A watermarking technique based on file page objects for PDF
Xin et al. An improved tamper detection and location scheme for DOCX format documents
JP5511270B2 (ja) 情報処理装置、及び情報処理方法
Rameshbabu et al. Text watermarking using combined image & text
KR100773854B1 (ko) 정보 처리 장치, 정보 처리 방법, 및 컴퓨터 판독가능한기억 매체
CN110197054B (zh) MusicXML格式文件水印嵌入及提取方法、装置及存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060123

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: 20060515

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060605

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090609

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100609

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110609

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120609

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130609

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees