(57)【要約】【課題】参照ファイルの差し替えによる文書の改ざんを有効に防止可能とする。【解決手段】本発明の文書処理装置は、文書本体ファイルから参照される参照ファイルの所在を示す参照先情報の指定を受け付ける処理（Ｓ２）と、参照ファイルの正当性を保証するための署名情報の指定を受け付ける処理（Ｓ３）と、署名情報の復号化に使用する復号鍵の指定を受け付ける処理（Ｓ４）と、受け付けた参照先情報、署名情報及び復号鍵のうち、参照先情報と復号鍵を対応付けて文書本体ファイルに記録する処理（Ｓ７）とを行なう機能を備える。【選択図】図３
2008040707.tif 000002
【特許請求の範囲】
【請求項１】
文書本体ファイルから参照される参照ファイルの所在を示す参照先情報の指定を受け付ける手段と、
前記参照ファイルの正当性を保証するための署名情報の指定を受け付ける手段と、
前記署名情報の復号化に使用する復号鍵の指定を受け付ける手段と、
前記受け付けた参照先情報、署名情報及び復号鍵のうち、少なくとも参照先情報と復号鍵を対応付けて前記文書本体ファイルに記録する手段と
を備えることを特徴とする文書処理装置。
【請求項２】
コンピュータを、
文書本体ファイルから参照される参照ファイルの所在を示す参照先情報の指定を受け付ける手段と、
前記参照ファイルの正当性を保証するための署名情報の指定を受け付ける手段と、
前記署名情報の復号化に使用する復号鍵の指定を受け付ける手段と、
前記受け付けた参照先情報、署名情報及び復号鍵のうち、少なくとも参照先情報と復号鍵を対応付けて前記文書本体ファイルに記録する手段として機能させるためのプログラム。
【請求項３】
参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、
前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、
前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、
前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証された場合に、前記参照ファイルを適用した処理の実行を許可する手段と
を備えることを特徴とする文書処理装置。
【請求項４】
コンピュータを、
参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、
前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、
前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、
前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証された場合に、前記参照ファイルを適用した処理の実行を許可する手段として機能させるためのプログラム。
【請求項５】
参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、
前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、
前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、
前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証されなかった場合に、前記参照ファイルを適用した処理の実行を禁止する手段と
を備えることを特徴とする文書処理装置。
【請求項６】
コンピュータを、
参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、
前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、
前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、
前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証されなかった場合に、前記参照ファイルを適用した処理の実行を禁止する手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書処理装置及びプログラムに関する。
【背景技術】
【０００２】
構造化文書の一つの形態として、文書本体ファイルで表される文書内の特定の領域に、文書本体ファイルとは別に用意された参照ファイルの内容を組み込めるようにしたものがある。
【０００３】
この種の構造化文書では、文書内の特定の領域に参照ファイルの所在を示す情報を設定しておき、この設定にしたがって参照ファイルの内容を読み出して特定の領域に組み込む仕組みになっている。こうした構造化文書は、例えば、文書の内容の一部（例えば、宛先など）を用紙１枚ごとに変えて印刷するバリアブル印刷などで利用されている。
【０００４】
また、デジタル文書の改ざん防止を目的として、文書の内容を勝手に編集できないように保護する機能（編集保護機能）や、デジタル署名を利用する技術が知られている。
【０００５】
例えば、第１の従来技術として、特許文献１には、文書の作成時に任意の文字列に対してパスワード保護による機密設定を行ない、文書を呼び出す際のパスワード不一致時に機密設定箇所を除いて出力する技術が記載されている。
【０００６】
また、第２の従来技術として、特許文献２には、文書内の任意の領域を保護領域に指定して保護情報を設定し、保護領域の編集作業を禁止する技術が記載されている。
【０００７】
また、第３の従来技術として、特許文献３には、文書中の文字列に対する修飾機能に対して保護をかける技術が記載されている。
【０００８】
また、第４の従来技術として、特許文献４には、文書中のリンク情報（ＵＲＬ）が設定された文字列に対して保護をかける技術が記載されている。
【０００９】
また、第５の従来技術として、特許文献５には、可搬性保存媒体上のファイルの差し替えや削除によるデータの改ざんを防ぐために、媒体管理用ファイルにファイルの識別子とデジタル署名を対応付けて保存し、媒体管理用ファイルのデジタル署名を参照することで改ざんを検出する技術が記載されている。
【００１０】
また、第６の従来技術として、特許文献６には、構造化文書の各エンティティに対して署名を付加して管理するとともに、エンティテイの内容を独立して参照・編集可能な構造化文書として取り出す技術が記載されている。
【００１１】
【特許文献１】特開昭６４−５７３６０号公報
【特許文献２】特開平５−１９７７１８号公報
【特許文献３】特開平８−２８７０６４号公報
【特許文献４】特開平１０−２５４８５９号公報
【特許文献５】特開２０００−１３２４５９号公報
【特許文献６】特開２００１−１６７０８６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところで、このような外部ファイルを参照する構造化文書においては、文書本体に記録される参照情報を保護しても、参照ファイルそのものが差し替えられることによる文書の改ざんを防止することが困難であった。本発明は、参照ファイルの差し替えによる文書の改ざんを有効に防止可能とすることを目的とする。
【課題を解決するための手段】
【００１３】
請求項１に記載の文書処理装置は、文書本体ファイルから参照される参照ファイルの所在を示す参照先情報の指定を受け付ける手段と、前記参照ファイルの正当性を保証するための署名情報の指定を受け付ける手段と、前記署名情報の復号化に使用する復号鍵の指定を受け付ける手段と、前記受け付けた参照先情報、署名情報及び復号鍵のうち、少なくとも参照先情報と復号鍵を対応付けて前記文書本体ファイルに記録する手段とを備えるものである。
【００１４】
請求項２に記載のプログラムは、コンピュータを、文書本体ファイルから参照される参照ファイルの所在を示す参照先情報の指定を受け付ける手段と、前記参照ファイルの正当性を保証するための署名情報の指定を受け付ける手段と、前記署名情報の復号化に使用する復号鍵の指定を受け付ける手段と、前記受け付けた参照先情報、署名情報及び復号鍵のうち、少なくとも参照先情報と復号鍵を対応付けて前記文書本体ファイルに記録する手段として機能させるものである。
【００１５】
請求項３に記載の文書処理装置は、参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証された場合に、前記参照ファイルを適用した処理の実行を許可する手段とを備えるものである。
【００１６】
請求項４に記載のプログラムは、コンピュータを、参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証された場合に、前記参照ファイルを適用した処理の実行を許可する手段として機能させるものである。
【００１７】
請求項５に記載の文書処理装置は、参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証されなかった場合に、前記参照ファイルを適用した処理の実行を禁止する手段とを備えるものである。
【００１８】
請求項６に記載のプログラムは、コンピュータを、参照ファイルの所在を示す参照先情報と、前記参照ファイルの正当性を保証するための署名情報と、前記署名情報の復号化に使用する復号鍵のうち、少なくとも参照先情報と復号鍵が対応付けて記録された文書本体ファイルから、前記参照先情報を抽出する手段と、前記抽出した参照先情報にしたがって参照ファイルを読み出す手段と、前記抽出した参照先情報に対応付けて前記文書本体ファイルに記録されている前記復号鍵を用いて、前記文書本体ファイル又は前記参照ファイルに記録されている前記署名情報を復号化する手段と、前記復号化によって得られた検証用データを用いた検証処理により、前記読み出した参照ファイルの正当性が保証されなかった場合に、前記参照ファイルを適用した処理の実行を禁止する手段として機能させるものである。
【発明の効果】
【００１９】
請求項１に記載の文書処理装置によれば、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。
【００２０】
請求項２に記載のプログラムによれば、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。
【００２１】
請求項３に記載の文書処理装置によれば、文書本体ファイルから参照される参照ファイルの内容が差し替えられていない場合にかぎり、参照ファイルを適用した処理の実行を許可することができる。したがって、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。また、文書の編集権限をもたないユーザーでも環境（コンピュータの構成など）に合わせて参照ファイルの参照先情報を変更することができるため、データの可搬性が良好なものとなる。
【００２２】
請求項４に記載のプログラムによれば、文書本体ファイルから参照される参照ファイルの内容が差し替えられていない場合にかぎり、参照ファイルを適用した処理の実行を許可することができる。したがって、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。また、文書の編集権限をもたないユーザーでも環境（コンピュータの構成など）に合わせて参照ファイルの参照先情報を変更することができるため、データの可搬性が良好なものとなる。
【００２３】
請求項５に記載の文書処理装置によれば、文書本体ファイルから参照される参照ファイルの内容が差し替えられている場合に、参照ファイルを適用した処理の実行を禁止することができる。したがって、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。また、文書の編集権限をもたないユーザーでも環境（コンピュータの構成など）に合わせて参照ファイルの参照先情報を変更することができるため、データの可搬性が良好なものとなる。
【００２４】
請求項６に記載のプログラムによれば、文書本体ファイルから参照される参照ファイルの内容が差し替えられている場合に、参照ファイルを適用した処理の実行を禁止することができる。したがって、参照ファイルの差し替えによる文書の改ざんを有効に防止することができる。また、文書の編集権限をもたないユーザーでも環境（コンピュータの構成など）に合わせて参照ファイルの参照先情報を変更することができるため、データの可搬性が良好なものとなる。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の具体的な実施の形態について図面を参照しつつ詳細に説明する。
【００２６】
図１は本発明に係る文書処理装置を実現するコンピュータ装置の構成例を示す概略図である。図示したコンピュータ装置は、コンピュータのハードウェア資源として、ＣＰＵ(Central Processing Unit)１、ＲＯＭ(Read-Only Memory)２、ＲＡＭ(Random Access Memory)３、ＨＤＤ(Hard Disk Drive)４、入力装置５、出力装置６などを備え、これらの構成要素がバスライン７を介して相互に接続されている。
【００２７】
ＣＰＵ１は、ＲＯＭ２又はＨＤＤ４に格納（記憶）された各種のプログラムをＲＡＭ３に読み出して実行することにより、各種の処理を行なうものである。ＲＯＭ２は、ＣＰＵ１によって実行されるプログラムを格納するものである。ＲＡＭ３は、ＣＰＵ１がプログラムを実行する際の作業領域として利用されるものである。
【００２８】
ＨＤＤ４は、ＣＰＵ１によって実行されるプログラムや各種のデータを格納する補助記憶装置である。ＨＤＤ４に格納されるプログラムは、大きくは、オペレーティングシステム（ＯＳ）とアプリケーションプログラムに分けられる。オペレーティングシステムは、コンピュータ資源の管理を行うものである。アプリケーションプログラムは、オペレーティングシステムによってＲＡＭ３上に読み出されて実行されるものである。なお、補助記憶装置としては、ＨＤＤ４の他に、例えばＣＤやＤＶＤなどの記録媒体に対してデータの読み出しや書き込みを行なうドライブを備えたものであってもよい。
【００２９】
入力装置５は、コンピュータに情報を入力するものである。入力装置５は、例えば、キーボード、マウス、タブレットなどで構成されるものである。
【００３０】
出力装置６は、コンピュータで処理する情報を出力するものである。出力装置６は、例えば、コンピュータで処理する情報を画面に表示出力するディスプレイや、記録用紙に印刷出力するプリンタなどで構成されるものである。
【００３１】
図２は、上記コンピュータ装置を用いて実現される、本発明の実施形態に係る文書処理装置の機能的な構成例を示すブロック図である。図示した文書処理装置は、制御部１１と、文書編集部１２と、データ格納部１３と、ハッシュ生成部１４と、暗号・復号処理部１５と、表示・印刷出力部１６とを備えた構成となっている。
【００３２】
制御部１１は、コンピュータ（文書処理装置）を操作するユーザーからの入力指示にしたがって、文書処理装置全体の処理動作を統括的に制御するものである。コンピュータを操作するユーザーには、文書を作成する文書作成者、文書を編集する文書編集者、文書のファイルに署名を付与する署名者などが含まれる。
【００３３】
文書編集部１２は、文書作成者（文書編集者）からの入力指示にしたがって、新規に文書を作成したり、作成済みの文書を編集したりするものである。
【００３４】
データ格納部１３は、文書処理装置で取り扱う種々のデータ（情報）を格納するものである。データ格納部１３は、例えば、上述したＨＤＤ４や他の補助記憶装置を用いて構成されるものである。
【００３５】
ハッシュ生成部１４は、入力されるファイルのデータにハッシュ関数を適用した演算処理を行なって、当該ファイルに対応するハッシュ値を生成するものである。
【００３６】
暗号・復号処理部１５は、平文のデータを暗号鍵を用いて暗号化したり、暗号文のデータを復号鍵を用いて復号化したりするものである。本発明においては、電子的な署名情報に暗号化技術を用いることから、暗号・復号処理部１５では、秘密鍵と公開鍵を用いた公開鍵暗号方式でデータの暗号化や復号化を行なうものとなっている。
【００３７】
表示・印刷出力部１６は、文書を表示出力したり印刷出力したりするものである。表示・印刷出力部１６は、ディスプレイとプリンタを用いて構成されるものである。
【００３８】
以上の機能部のうち、特に、制御部１１、文書編集部１２、ハッシュ生成部１４、暗号・復号処理部１５の各機能部は、上記コンピュータ装置の構成（図１参照）において、ＲＯＭ２又はＨＤＤ４に格納されたプログラムをＣＰＵ１がＲＡＭ３に読み出して実行することにより実現されるものである。そのためのプログラムは、予め文書処理装置にインストールされていてもよいし、ＣＤ−ＲＯＭ、ＭＯ、ＤＶＤ等のコンピュータで読み取り可能な記録媒体に格納して提供されてもよいし、有線又は無線などの通信網を介して提供されてもよい。
【００３９】
図３は本発明の実施形態に係る文書処理装置を用いて文書を作成する際の手順を示すフローチャートである。
【００４０】
まず、文書作成者からの入力指示に基づいて制御部１１が文書編集部１２を起動し、この文書編集部１２で文書本体ファイルを作成する（ステップＳ１）。文書編集部１２で作成される文書本体ファイルは、例えば、ＸＭＬ(extensible markup language)などで作成される構造化文書である。
【００４１】
次に、制御部１１は、文書本体ファイルを用いて参照される参照ファイルの参照先情報の指定を文書作成者からの入力指示によって受け付ける（ステップＳ２）。文書本体ファイルから参照される参照ファイルは、予め文書作成者が文書編集部１２を起動して作成したものを、コンピュータ上の所定の場所（データ格納部１３内）に格納してあるものとする。
【００４２】
参照先情報は、参照ファイルの所在を示す情報である。参照先情報は、例えば、文書作成者がキーボードやマウスを操作して、参照先情報となる文字列を入力するか、参照ファイルの格納場所を選択することにより指定されるものである。その際、コンピュータ内に参照ファイルが存在する場合は、コンピュータ上で参照ファイルの格納場所を表すパスが参照先情報として指定される。
【００４３】
なお、インターネット上に参照ファイルが存在する場合は、インターネット上で参照ファイルの格納場所を示すＵＲＬ(Uniform Resource Locator)が参照先情報として指定される。また、インターネット上に存在する参照ファイルを取得（ダウンロード）するには、インターネットを介してウェブサーバとデータ通信するためのネットワーク通信部（不図示）が必要となる。
【００４４】
次に、制御部１１は、参照ファイルの正当性を保証するための署名情報の指定を文書作成者（署名者）からの入力指示によって受け付ける（ステップＳ３）。署名情報は、文書作成者（署名者）の暗号鍵で暗号化された電子的な情報である。署名情報としては、例えば、電子署名の一つであるデジタル署名を利用すればよい。
【００４５】
デジタル署名は、参照ファイルの平文をハッシュ関数で処理して得られるハッシュ値（メッセージダイジェスト）を、公開鍵暗号方式の秘密鍵で暗号化して得られる署名情報である。暗号化に使用する秘密鍵は、文書作成者（署名者）自身が非公開で保有する鍵である。デジタル署名は、例えば、文書作成者が予め所定の手順でデジタル署名を作成して参照ファイルとともにコンピュータ内（データ格納部１３内）に格納しておき、その格納しておいたデジタル署名をマウスの操作により選択することで指定すればよい。
【００４６】
ここで、デジタル署名の作成方法について説明する。まず、文書作成者からの入力指示にしたがって、デジタル署名を付与する参照ファイルのデジタルデータをハッシュ生成部１４に入力する。そうすると、ハッシュ生成部１４は、入力された参照ファイルのデジタルデータにハッシュ関数を適用した演算を行ない、この演算結果を参照ファイルのハッシュ値として出力する。次に、ハッシュ生成部１４で生成した参照ファイルのハッシュ値を暗号・復号処理部１５が暗号鍵を用いて暗号化する。暗号鍵には、文書作成者がマウス操作等で指定した秘密鍵が用いられる。これにより、暗号・復号処理部１５からは、参照ファイルのハッシュ値を暗号化した暗号文がデジタル署名として生成される。
【００４７】
その後、制御部１１は、署名情報の復号化に使用する復号鍵の指定を文書作成者からの入力指示によって受け付ける（ステップＳ４）。この場合、文書作成者は、例えば、上述のように署名情報の暗号化に使用した暗号鍵が公開鍵暗号方式の秘密鍵であれば、この秘密鍵と対をなす公開鍵を復号鍵として指定することになる。復号鍵の指定は、例えば、コンピュータ上（データ格納部１３内）で復号鍵（公開鍵）が格納されている場所をマウス操作等で指定することにより行なわれる。
【００４８】
次に、署名の照合を行なう（ステップＳ５）。具体的には、上記ステップＳ２で受け付けた参照先情報にしたがって制御部１１がデータ格納部１３から参照ファイルを読み出し、この参照ファイルにハッシュ生成部１４がハッシュ関数を適用して第１のハッシュ値（メッセージダイジェスト）を生成する。また、上記ステップＳ３で受け付けた署名情報を、上記ステップＳ４で受け付けた復号鍵を用いて暗号・復号処理部１５が復号化することにより、第２のハッシュ値（メッセージダイジェスト）を生成する。そして、第１のハッシュ値と第２のハッシュ値とを照合することにより、双方のハッシュ値が一致するかどうかを制御部１１で確認する。
【００４９】
次に、署名の照合に成功した場合（第１のハッシュ値と第２のハッシュ値が一致した場合）は、ステップＳ６でＹｅｓと判断してステップＳ７に進む。ステップＳ７において、制御部１１は、上記ステップＳ１で作成した文書本体ファイルに対して、上記ステップＳ２で受け付けた参照先情報と上記ステップＳ４で受け付けた復号鍵とを対応付けて記録する。
【００５０】
また、署名の照合に失敗した場合（第１のハッシュ値と第２のハッシュ値が一致しなかった場合）は、ステップＳ６でＮｏと判断してステップＳ８に進む。ステップＳ８において、制御部１１は、署名の照合に失敗した旨を文書作成者に通知するためのエラー通知処理を行なう。エラー通知処理では、例えば、署名の照合に失敗した旨のエラーメッセージを、表示・印刷出力部１６でディスプレイ画面に表示する。このエラー通知処理は、必要に応じて行うようにすればよい。
【００５１】
その後、制御部１１は、追加で指定する情報（参照先情報、署名情報、復号鍵）があるかどうかを、例えば表示・印刷出力部１６のディスプレイ画面へのメッセージ表示によって文書作成者に問い合わせ（ステップＳ９）、追加で指定する情報があれば、上記ステップＳ２に戻り、追加で指定する情報がなければ、処理を終了する。こうして作成された文書本体ファイルは、当該文書本体ファイルから参照される参照ファイルとは別のファイルとしてデータ格納部１３に格納される。
【００５２】
その際、文書本体ファイルの改ざんを防止するために、例えば、文書本体ファイルをパスワードで保護したり、文書本体ファイルに電子署名（デジタル署名）を付加したりしてもよいが、文書本体ファイルに記録されている参照ファイルの参照先情報（パス、ＵＲＬ等）については、パスワードによる保護の対象や、デジタル署名のハッシュ計算対象から除外する。
【００５３】
なお、文書作成者が作成した参照ファイルが、例えばＰＤＦファイルのように署名情報をファイル内部に記録できるものであれば、上記ステップＳ３で受け付けた署名情報を、上記ステップＳ７で参照ファイルに記録（付加）すればよい。また、文書作成者が作成した参照ファイルの内部に署名情報を記録できない場合は、上記ステップＳ７で文書本体ファイルに参照先情報、署名情報及び復号鍵を対応付けて記録すればよい。
【００５４】
図４は文書本体ファイルと参照ファイルの事例を示す概念図である。図示のように、文書本体ファイルと参照ファイルは、別々のファイルとして存在する。ただし、文書本体ファイルで表される「連絡書」の文書中には、外部の参照ファイルの情報を組み込むための外部参照領域（図中破線で示す矩形の領域）が設定され、この外部参照領域に、参照ファイルで表される「宛先」の情報が組み込まれるものとなっている。
【００５５】
このような関係にある文書本体ファイルと参照ファイルを作成する場合は、図５に示すように、一つの文書本体ファイルの中に、外部参照を定義するタグ情報として、参照ファイルの所在を示す参照先情報（パス）と、参照ファイルに付与された署名情報（図例ではデジタル署名）の復号化に使用する復号鍵（図例では公開鍵）とを対応付けて記録する。また、文書本体ファイルで表される「連絡書」の文書中に複数の外部参照領域を設定する場合は、各々の外部参照領域ごとに、外部参照を定義するタグ情報として、参照ファイルの所在を示す参照先情報（パス）と、参照ファイルに付与された署名情報（図例ではデジタル署名）の復号化に使用する復号鍵（図例では公開鍵）とを対応付けて記録する。
【００５６】
図６は本発明の実施形態に係る文書処理装置を用いて文書を処理する際の手順を示すフローチャートである。なお、上記図３に例示した処理手順にしたがって文書を作成するコンピュータ装置と、当該コンピュータ装置で作成した文書を以下の処理手順で処理するコンピュータ装置とは、同じ装置であってもよいし、異なる装置であってもよい。
【００５７】
まず、ユーザー（コンピュータの操作者）からの入力指示に基づいて文書の編集、表示又は印刷を行なうにあたり、制御部１１は、処理の対象としてユーザーが選択（指定）した文書本体ファイルの内容を検索する（ステップＳ１１）。そして、文書本体ファイルの中に参照先情報が記録され、この参照先情報が上記ステップＳ１１での検索によって検出された場合（ステップＳ１２でＹｅｓと判断した場合）は、検出された参照先情報を文書本体ファイルから抽出する（ステップＳ１３）。
【００５８】
文書本体ファイルに複数の参照先情報が記録されている場合は、その中から上記ステップＳ１１での検索によって最初に検出された参照先情報を上記ステップＳ１３で１つだけ抽出する。これにより、文書本体ファイル内に複数の参照先情報が記録されている場合は、その中から１つずつ順に参照先情報が抽出されることになる。
【００５９】
次に、制御部１１は、上記ステップＳ１３で抽出した参照先情報が示す場所（データ格納部１３内）に参照ファイルが存在するかどうかを確認する（ステップＳ１４）。例えば、参照先情報がパスで記録されていた場合は、このパスが示す格納場所に参照ファイルが存在するかどうかを確認する。そして、参照ファイルが存在しない場合は、ユーザーから参照先情報の入力を受け付ける（ステップＳ１５）。
【００６０】
ここで、文書本体ファイルに記録されている参照先情報は、パスワードの設定等で編集保護されていない。このため、文書処理装置を操作するユーザーは、文書を処理するコンピュータの構成に合わせて参照先情報を変更することが可能である。例えば、第１のコンピュータ装置がＣＤ−ＲＯＭドライブを備え、当該第１のコンピュータ装置で作成した文書本体ファイルに、参照ファイルの所在先情報としてＣＤ−ＲＯＭドライブを示すファイルパスを記録した状況において、当該文書本体ファイルを、ＣＤ−ＲＯＭドライブを備えていない第２のコンピュータ装置に移動（コピー等）して使用する場合は、文書本体ファイルに記録されている参照ファイルの参照先情報を、ＣＤ−ＲＯＭドライブに代わる別のドライブ（参照ファイルを格納したドライブ）に変更することにより、文書本体ファイルから参照ファイルを参照できるようになる。
【００６１】
その後、制御部１１は、上記ステップＳ１３で抽出した参照先情報が示す場所に参照ファイルが存在した場合、又は上記ステップＳ１５でユーザーから入力を受け付けた参照先情報が示す場所に参照ファイルが存在した場合は、その場所（データ格納部１３内）から参照ファイルを読み出す（ステップＳ１６）。ここでは、一例として、参照先情報にしたがって読み出した参照ファイル（ＰＤＦファイル等）の内部に署名情報が記録（付加）されているものとする。
【００６２】
次に、上記ステップＳ１３で抽出した参照先情報に対応付けて文書本体ファイルに記録されている復号鍵を用いて、上記ステップＳ１６で読み出した参照ファイルに記録されている署名情報を、暗号・復号処理部１５で復号化する（ステップＳ１７）。このとき、署名情報を復号化して得られるハッシュ値（メッセージダイジェスト）は、参照ファイルの正当性を検証するための検証用データとなる。
【００６３】
次に、上記ステップＳ１７の復号化によって得られた検証用データを用いて、上記ステップＳ１６で読み出した参照ファイルが正当なものであるかどうかの検証（署名の照合）を行なう（ステップＳ１８）。この検証処理は、上記ステップＳ１６で読み出した参照ファイルの内容が、文書作成者（署名者）以外の第三者によって改ざん（ファイルの差し替えなど）されたものでないかどうかを検証するための処理でもある。
【００６４】
ステップＳ１８の検証処理は、基本的に署名の照合と同様の手法で行なわれる。すなわち、上記ステップＳ１６で読み出した参照ファイルにハッシュ生成部１４がハッシュ関数を適用してハッシュ値（メッセージダイジェスト）を生成し、このハッシュ値と、上記ステップＳ１７の復号化によって得られた検証用データ、すなわち署名情報を復号化して得られたハッシュ値（メッセージダイジェスト）とを制御部１１で照合する。そして、双方のハッシュ値が一致した場合は、制御部１１は、参照ファイルの正当性が保証されたと判断する。また、双方のハッシュ値が一致しない場合は、制御部１１は、参照ファイルの正当性が保証されなかったと判断する。
【００６５】
図７は検証処理の具体的な事例を示す概念図である。図示のように、文書本体ファイルの中に、外部参照を定義するタグ情報として、参照ファイルの所在を示す参照先情報（パス）と、参照ファイルに付与された署名情報（図例ではデジタル署名）の復号化に使用する復号鍵（図例では公開鍵）とが記録されている場合は、参照先情報にしたがって読み出した参照ファイルのハッシュ値（メッセージダイジェスト）を生成し、このハッシュ値と、参照ファイルに付与されたデジタル署名を文書本体ファイルに記録された公開鍵で復号化して得られたハッシュ値（メッセージダイジェスト）とを照合することにより、参照ファイルの正当性を検証する。
【００６６】
上記ステップＳ１８の検証処理で参照ファイルの正当性が保証された場合は、制御部１１は、参照ファイルを適用した処理の実行を許可する処理として、上記ステップＳ１６で読み出した参照ファイルを処理実行リストに登録する（ステップＳ２０）。なお、処理実行リストには、個々の参照ファイル固有の識別情報を登録してもよい。その後、まだ抽出を終えてない次の参照先情報を抽出するために、上記ステップＳ１１に戻る。処理実行リストは、制御部１１が、後述するステップＳ２１〜Ｓ２３で、参照ファイルを適用した処理の実行を管理するために使用するリストである。
【００６７】
また、上記ステップＳ１８の検証処理で参照ファイルの正当性が保証されなかった場合は、制御部１１は、参照ファイルを適用した処理の実行を禁止する処理として、上記処理実行リストに参照ファイルを登録することなく、上記ステップＳ１１に戻る。なお、参照ファイルの正当性が保証されなかった場合は、参照ファイルの正当性が保証されていない旨の通知とあわせて、それ以降の処理を継続するかどうかをディスプレイ画面へのメッセージ表示によってユーザーに問い合わせ、この問い合わせに対するユーザーからの応答（入力指示）を受け付けて、それ以降の処理を継続するか中止するかを切り替えるようにしてもよい。
【００６８】
一方、上記ステップＳ１１における文書本体ファイルの検索で、未抽出の参照先情報が検出されなかった場合（文書本体ファイルに記録された全ての参照先情報の抽出を終えた場合や、文書本体ファイルにもともと参照先情報が記録されていない場合）は、ステップＳ１２からステップＳ２１に移行する。
【００６９】
ステップＳ２１において、制御部１１は、上記処理実行リストに未処理の参照ファイルが登録されているかどうかを確認する。そして、処理実行リストに未処理の参照ファイルが登録されている場合は、その参照ファイルに関して所定の処理を実行する（ステップＳ２２）。
【００７０】
所定の処理が文書の表示処理であれば、参照ファイルの内容を文書本体ファイルの内容とともに、表示・印刷出力部１６のディスプレイ画面に表示する処理を実行する。また、所定の処理が文書の印刷処理であれば、参照ファイルの内容を文書本体ファイルの内容とともに、表示・印刷出力部１６のプリンタで記録用紙に印刷する処理を実行する。
【００７１】
次に、上記ステップＳ２２で処理を実行した参照ファイルを実行処理リストから削除した後（ステップＳ２３）、上記ステップＳ２１に戻る。そして、処理実行リストに登録されている全ての参照ファイルに関して処理の実行を完了した段階で一連の処理を終える。
【００７２】
こうした文書処理の適用例の一つとしてバリアブル印刷（差し込み印刷）が考えられる。バリアブル印刷では、１ページ分のページ領域を固定領域と可変領域に区分して、印刷ページごとに、固定領域に共通の印刷データ（コンスタントデータ）を適用し、かつ可変領域に異なる印刷データ（バリアブルデータ）を順に適用しながら、記録用紙に画像の印刷を行なう。このため、固定領域に適用する印刷データを文書本体ファイルで作成し、可変領域に適用する印刷データを、共通の参照先情報で参照される複数の参照ファイルで作成すれば、上記の文書処理を適用したバリアブル印刷が実現される。
【００７３】
バリアブル印刷の代表的な事例としては、ダイレクトメールやハガキなどの宛名書き印刷が挙げられる。その場合、文書本体ファイルから参照される参照ファイルは、ファイル単位で署名情報（デジタル署名等）が付与された住所録ファイルとなり、この住所録ファイルから順に宛先情報（住所、氏名等の情報）を取り出して差し込み印刷を行なう。これにより、１つの文書本体ファイルを用いて、住所録ファイルに登録された人数分の印刷物が得られる。その際、住所録ファイルが宛先別に複数のファイルで構成され、かつファイル単位で署名情報を付与されていても、この署名情報の復号化に使用する復号鍵は、文書本体ファイル側に記録されているため、そこから取り出した共通の復号鍵を用いて、各々のファイルの正当性を検証することが可能である。
【００７４】
また、上記の文書処理においては、文書作成者からの指定を受け付けた参照先情報、署名情報及び復号鍵のうち、文書本体ファイルに参照先情報と復号鍵を対応付けて記録し、参照ファイルに署名情報を記録するものとしたが、例えば、参照ファイルに署名情報を記録できないなどの理由で、文書本体ファイルに参照先情報、署名情報及び復号鍵を対応付けて記録した場合は、文書本体ファイルに記録されている署名情報を、当該署名情報に対応付けて文書本体ファイルに記録されている復号鍵を用いて復号化することになる。
【００７５】
また、文書本体ファイルから参照される参照ファイルは、テキストファイル、ドキュメントファイル、画像ファイルなどの他に、プログラムファイルであってもよい。その場合は、所定の処理として、プログラムファイルに格納されたプログラムを実行することになる。具体的な適用例としては、インターネットを介して通信を行なうウェブサーバとクライアント（ウェブブラウザ搭載のコンピュータ装置）との間で、ウェブサーバが提供するＨＴＭＬ（HyperText Markup Language）の文書本体ファイルをクライアントがダウンロードしてウェブブラウザで処理する場合が想定される。
【００７６】
上記適用例において、ウェブサーバの管理者は、例えば、図８に示すように、ＨＴＭＬで記述された文書本体ファイル内に参照先情報(applet  archive=″test.jar″)と復号鍵(key＝″....................″)を記録したものと、文書本体ファイルから参照される参照ファイル（参照アプレット）にデジタル署名を付加したものを予め用意してウェブサーバ上に格納しておく。
【００７７】
これに対して、クライアントのウェブブラウザ側では、文書本体ファイルと、当該文書本体ファイルから参照される参照ファイルを、ＳＳＬ(secure sockets layer)などのセキュアチャネル経由でダウンロードした後、参照ファイルに付加されたデジタル署名の検証（メッセージダイジェストの照合）を行なう。その際、文書本体ファイルから参照される参照ファイルがプログラムファイルであるとすると、検証結果として、参照ファイルの正当性が保証された場合は参照ファイルのプログラムが実行されるが、参照ファイルの正当性が保証されなかった場合は参照ファイルのプログラムが実行されない。
【図面の簡単な説明】
【００７８】
【図１】本発明に係る文書処理装置を実現するコンピュータ装置の構成例を示す概略図である。
【図２】本発明の実施形態に係る文書処理装置の機能的な構成例を示すブロック図である。
【図３】本発明の実施形態に係る文書処理装置を用いて文書を作成する際の手順を示すフローチャートである。
【図４】文書本体ファイルと参照ファイルの事例を示す概念図である。
【図５】文書本体ファイルと参照ファイルの作成例を示す概念図である。
【図６】本発明の実施形態に係る文書処理装置を用いて文書を処理する際の手順を示すフローチャートである。
【図７】検証処理の具体的な事例を示す概念図である。
【図８】ウェブサーバとクライアントによる文書処理の一例を示す図である。
【符号の説明】
【００７９】
１…ＣＰＵ、２…ＲＯＭ，３…ＲＡＭ、４…ＨＤＤ、５…入力装置、６…出力装置、１１…制御部、１２…文書編集部、１３…データ格納部、１４…ハッシュ生成部、１５…暗号・復号処理部、１６…表示・印刷出力部
【図１】
2008040707.tif 000003
【図２】
2008040707.tif 000004
【図３】
2008040707.tif 000005
【図４】
2008040707.tif 000006
【図５】
2008040707.tif 000007
【図６】
2008040707.tif 000008
【図７】
2008040707.tif 000009
【図８】
2008040707.tif 000010