(57)【要約】【課題】複雑な構造を有する電子文書の改変の検証を容易にする。【解決手段】電子文書作成装置は、他の電子文書５６及び６８を参照する参照情報を含む電子文書本体５０と、参照先電子文書５６及び６８の電子署名６２及び７４の複製６４及び７６を含む関連データ５２と、を有し、電子署名の複製６４及び７６と、参照先電子文書５６及び６８に対応する外部参照と、をそれぞれ関連付けた電子文書４８を作成する。電子文書検証装置は、参照先電子文書５６と、関連データ５２中の参照先電子文書５６に対応する外部参照に関連付けられた電子署名６４と、を用いて、参照先電子文書５６の改変の有無を検証する。【選択図】図３
2008140218.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータを、
記憶部に記憶された他の電子文書、を参照するための参照情報を含む参照情報付電子文書であって、前記参照情報が示す参照先電子文書に基づいて生成された電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段、
として機能させることを特徴とする電子文書作成プログラム。
【請求項２】
請求項１に記載の電子文書作成プログラムにおいて、さらに、
前記参照情報付電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、に基づいて、前記参照情報付電子文書に対する電子署名を生成する電子署名生成手段、
としてコンピュータを機能させることを特徴とする電子文書作成プログラム。
【請求項３】
請求項２に記載の電子文書作成プログラムにおいて、
前記関連データは前記参照情報付電子文書に含まれることを特徴とする電子文書作成プログラム。
【請求項４】
コンピュータを、
記憶部に記憶された他の電子文書、を参照するための参照情報を含む参照情報付電子文書であって、前記参照情報が示す参照先電子文書に基づいて生成された電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書について、
前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段、
として機能させることを特徴とする電子文書検証プログラム。
【請求項５】
請求項４に記載の電子文書検証プログラムにおいて、さらに、
前記参照情報付電子文書に対して生成された電子署名に基づいて、前記参照情報付電子文書及び前記関連データの変更の有無を判定する電子文書変更判定手段、
としてコンピュータを機能させることを特徴とする電子文書検証プログラム。
【請求項６】
請求項５に記載の電子文書検証プログラムにおいて、
前記関連データは前記参照情報付電子文書に含まれることを特徴とする電子文書検証プログラム。
【請求項７】
請求項５又は６に記載の電子文書検証プログラムにおいて、さらに、
現在処理対象となっている電子文書に含まれる前記参照情報が示す参照先電子文書を新たな処理対象として、前記参照先文書変更判定手段及び前記電子文書変更判定手段における判定の少なくとも一方を行う再帰手段、
としてコンピュータを機能させることを特徴とする電子文書検証プログラム。
【請求項８】
他の電子文書を参照するための参照情報を含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、
前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段を有する電子文書作成装置と、
前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段を有する電子文書検証装置と、
を備えることを特徴とする電子文書署名システム。
【請求項９】
他の電子文書を参照するための参照情報を含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、
前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段と、
を備えることを特徴とする電子文書作成装置。
【請求項１０】
他の電子文書を参照するための参照情報を含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、
前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書について、前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段と、
を備えることを特徴とする電子文書検証装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子文書の変更の有無の検証に関し、特に、電子文書作成プログラム、電子文書検証プログラム、電子文書署名システム、電子文書作成装置及び電子文書検証装置に関する。
【背景技術】
【０００２】
紙文書に対して押印や署名を行うように、電子文書に対して、その電子文書の作成者を証明し、かつその電子文書が改変されていないことを保証するために、電子的な署名情報（以下「電子署名」）を付することが一般的に行われている。例えば、電子署名技術として一般的な公開鍵暗号方式では、ハッシュ関数を用いて電子文書からダイジェストを生成し、この生成したダイジェストを署名者の秘密鍵で暗号化したデータを、その電子文書に対する電子署名とする。公開鍵暗号方式による電子署名が付された電子文書を受け取った者は、署名者の公開鍵を用いて電子署名を復号化して得られるダイジェストと、受け取った電子文書から生成したダイジェストと、を比較することで、受け取った電子文書が改変されていないかどうかを検証することができる。
【０００３】
通常、電子署名は電子文書のデータ全体から生成される。したがって、電子文書の一部分のみが改変された場合、その電子文書が改変された事実は電子署名を用いて検出できるが、どの部分が改変されたかを特定することはできない。電子文書の特定の部分の改変を検証するための技術として、特許文献１には、電子文書に含まれる複数の要素のうち、ユーザが指定した要素について電子署名を生成する技術が開示されている。また、特許文献２には、電子文書の指定された領域について電子署名を生成する技術が開示されている。
【０００４】
ところで、最近では、例えばＸＭＬ（Extensible Markup Language）形式の文書など、ある電子文書から他の電子文書を参照するような、複雑な構造を有する電子文書が使用されることが多い。
【０００５】
図７に、他の電子文書を参照する電子文書の例を示す。電子文書１０「売上報告書」は、電子文書１２「２００４年度売上」及び電子文書１４「２００５年度売上」を参照する。電子文書１０は、電子文書１２及び１４への参照情報である外部参照を有する。外部参照は、例えば、インターネット上での参照先文書の位置を示すＵＲＬ（Uniform Resource Locator）や、コンピュータの記憶装置上での参照先文書の位置を示すパスなどを含む、参照先文書の実体データを取得するために必要な情報である。「２００４年度売上」及び「２００５年度売上」の実体データは、それぞれ、電子文書１２及び１４に含まれ、電子文書１０には含まれない。図７の電子文書１０は、電子文書１２及び１４にそれぞれ含まれる「２００４年度売上」及び「２００５年度売上」の実体データを組み込んだ状態を示している。
【０００６】
他の電子文書を参照するような電子文書についての電子署名技術として、参照元の電子文書と参照先の電子文書とを併せたデータから電子署名を生成する技術が最近開発されている。例えば、異なるコンピュータのデータやソフトウェア機能を呼び出すプロトコルの１つであるＳＯＡＰ（Simple Object Access Protocol）における、データ添付技術であるＭＴＯＭ（Message Transmission Optimization Mechanism）／ＸＯＰ（XML‐binary Optimized Packaging）では、送信データとその送信データが参照する外部データとを含んだデータから電子署名が生成される。
【０００７】
【特許文献１】特開平７−１８２４３１号公報
【特許文献２】特開２００５−３０９９７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
他の電子文書を参照するような複雑な構造を有する電子文書に対する改変の検証を行うにあたって、特許文献１及び２に記載される技術を適用しても、参照元の電子文書内での部分的な改変を検出することはできるが、参照先の電子文書の改変を検出することはできない。
【０００９】
また、参照元及び参照先の電子文書を組み込んだデータから電子署名を生成した場合にも、参照元及び参照先の電子文書全体での改変を検出することはできるが、どの電子文書が改変されたかを特定することはできない。つまり、参照元及び参照先のどちらの電子文書が改変されたか、又は参照先電子文書が複数存在する際にどの参照先電子文書が改変されたか、を特定することはできない。
【００１０】
本発明の目的は、複雑な構造を有する電子文書の改変の検証を容易にする、電子文書作成プログラム、電子文書検証プログラム、電子署名システム、電子文書作成装置、及び電子文書検証装置を提供することである。
【課題を解決するための手段】
【００１１】
本発明に係る電子文書作成プログラムは、コンピュータを、記憶部に記憶された他の電子文書、を参照するための参照情報を含む参照情報付電子文書であって、前記参照情報が示す参照先電子文書に基づいて生成された電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段、として機能させることを特徴とする。
【００１２】
本発明に係る電子文書作成プログラムにおいて、さらに、前記参照情報付電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、に基づいて、前記参照情報付電子文書に対する電子署名を生成する電子署名生成手段、としてコンピュータを機能させることが望ましい。また、本発明の電子文書作成プログラムの１つの態様では、前記関連データは前記参照情報付電子文書に含まれる。
【００１３】
本発明に係る電子文書検証プログラムは、コンピュータを、記憶部に記憶された他の電子文書、を参照するための参照情報を含む参照情報付電子文書であって、前記参照情報が示す参照先電子文書に基づいて生成された電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書について、前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段、として機能させることを特徴とする。
【００１４】
本発明に係る電子文書検証プログラムにおいて、さらに、前記参照情報付電子文書に対して生成された電子署名に基づいて、前記参照情報付電子文書及び前記関連データの変更の有無を判定する電子文書変更判定手段、としてコンピュータを機能させることが好ましい。また、本発明に係る電子文書検証プログラムの１つの態様では、前記関連データは前記参照情報付電子文書に含まれる。
【００１５】
本発明に係る電子文書検証プログラムにおいて、さらに、現在処理対象となっている電子文書に含まれる前記参照情報が示す参照先電子文書を新たな処理対象として、前記参照先文書変更判定手段及び前記電子文書変更判定手段における判定の少なくとも一方を行う再帰手段、としてコンピュータを機能させることが望ましい。
【００１６】
本発明に係る電子文書署名システムは、他の電子文書を参照するための参照情報を含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段を有する電子文書作成装置と、前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段を有する電子文書検証装置と、を備えることを特徴とする。
【００１７】
本発明に係る電子文書作成装置は、他の電子文書を参照するための参照情報を含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書を作成する電子文書作成手段と、を備えることを特徴とする。
【００１８】
本発明に係る電子文書検証装置は、他の電子文書を参照するための参照情報を少なくとも１つ含む電子文書と、前記参照情報が示す参照先電子文書に基づいて生成された電子署名を含む関連データと、を記憶した記憶部と、前記電子署名と、この電子署名の生成元となった前記参照先電子文書に対応する前記参照情報と、を関連付ける情報を含む参照情報付電子文書について、前記参照情報付電子文書に含まれる前記参照情報が示す参照先電子文書と、前記関連データ中のこの参照情報に関連付けられた電子署名と、に基づいて、この参照情報が示す参照先電子文書の変更の有無を判定する参照先文書変更判定手段と、を備えることを特徴とする。
【発明の効果】
【００１９】
請求項１に係る発明によれば、他の電子文書を参照する参照情報付電子文書の改変の検証を容易にすることができる。
【００２０】
請求項２及び３に係る発明によれば、参照情報付電子文書と関連データとの両方に対する改変を検証できる。
【００２１】
請求項４に係る発明によれば、参照先電子文書に基づいて生成された電子署名を関連データに保持させた時からその参照先電子文書を検証する時までの間に、その参照先電子文書の改変があったかどうかを検証できる。
【００２２】
請求項５及び６に係る発明によれば、参照情報付電子文書と関連データとの両方に対する改変を検証できる。
【００２３】
請求項７に係る発明によれば、参照情報付電子文書の参照先電子文書と関連データとが改変されているかどうかの検証と、参照情報付電子文書の参照先電子文書がさらに参照する電子文書について、この電子文書から生成された電子署名を、関連データに保持させた時からこの電子文書を検証する時までの間に、この電子文書の改変があったかどうかの検証と、の少なくとも一方を行うことができる。
【００２４】
請求項８、９、及び１０に係る発明によれば、複雑な構造を有する電子文書の改変の検証を容易にすることができる。
【発明を実施するための最良の形態】
【００２５】
以下に、本発明の実施の形態を、図面を用いて詳細に説明する。
【００２６】
図１は、本発明の１つの実施形態の電子署名システムの一例を示す図である。電子署名システム２０は、電子文書作成装置２２、電子文書検証装置２４、及び電子文書データベース２６を備える。電子文書作成装置２２及び電子文書検証装置２４は、通信手段２８を介して電子文書データベース２６と接続される。通信手段２８は、インターネット、ＬＡＮ（Local Area Network）などのネットワークであってもよい。
【００２７】
電子文書作成装置２２は、他の電子文書を参照する参照情報を含む電子文書を作成する装置であって、電子文書に含まれる参照情報に関する処理を行う参照処理部３０と、電子文書に対する電子署名を生成する署名生成部３２と、を備える。電子文書検証装置２４は、電子文書の改変を検証する装置である。電子文書作成装置２２及び電子文書検証装置２４が行う処理の詳細については後述する。
【００２８】
電子文書データベース２６は、電子文書を記憶するデータベースである。電子文書データベース２６は、電子文書作成装置２２によって作成された電子文書を記憶したり、電子文書検証装置２４による検証の対象となる電子文書を電子文書検証装置２４に提供したりする。電子文書データベース２６は、サーバ又はコンピュータなどの記憶装置を用いて実現でき、ＣＤなどの移動記憶媒体上に実現してもよい。電子文書データベース２６は、１つの記憶装置ではなく、複数の記憶装置を用いて実現することもできる。
【００２９】
図２は、本発明の１つの実施形態の電子文書作成装置又は電子文書検証装置として機能させることのできるコンピュータの構成の一例を示す図である。コンピュータ３４は、制御部３６、入力装置３８、出力装置４０、記憶装置４２、及び通信部４４をバス４６で接続した構成をしている。制御部３６は例えばＣＰＵ（中央演算装置：Central Processing Unit）などの演算装置である。入力装置３８は、キーボード、マウスなどの装置であって、制御部３６で行われる処理において必要な指示など、ユーザからの入力を受け付ける。出力装置４０は、例えばＣＲＴ（Cathode Ray Tube）ディスプレイや液晶ディスプレイなどの表示装置であって、電子文書の内容や、制御部３６における処理の結果などを表示する。記憶装置４２は、ハードディスクやＣＤ、ＤＶＤなどの記憶媒体であり、作成された電子文書や、コンピュータ３４に行わせる処理を記述したプログラムなどを記憶させることができる。通信部４４は、コンピュータ３４に接続された、サーバや他のコンピュータ、その他の機器と通信を行う。電子文書作成装置２２又は電子文書検証装置２４が行う後述の処理を記述した電子文書作成プログラム又は電子文書検証プログラムを記憶装置４２に記憶させておき、制御部３６がそのプログラムを呼び出して実行することで、コンピュータ３４を電子文書作成装置２２又は電子文書検証装置２４として機能させることができる。記憶装置４２に、電子文書作成プログラム及び電子文書検証プログラムの両方を記憶させておき、１台のコンピュータ３４を電子文書作成装置２２及び電子文書検証装置２４として機能させることにしてもよい。
【００３０】
図３から図５を参照して、電子文書作成装置２２の参照処理部３０及び署名生成部３２が行う電子文書作成処理の一例を説明する。
【００３１】
図３は、電子文書作成装置２２によって作成される電子文書の一例を示す図である。図３の電子文書４８は、電子文書５６及び６８を参照する。電子文書４８は、文書データを含む電子文書本体５０と参照先電子文書に関する情報を含む関連データ５２とを備える。電子文書本体５０は、電子文書５６及び６８への参照情報である外部参照を含む。関連データ５２は、参照先電子文書５６及び６８の電子署名６２及び７４それぞれの複製６４及び７６を含む。関連データ５２は、電子文書本体５０とは別に存在してもよいし、電子文書本体５０に含まれて存在してもよい。電子署名６２及び７４それぞれの複製６４及び７６は、電子文書本体５０に参照先電子文書５６及び６８への外部参照を最初に挿入した時点で、又は電子文書本体５０内の参照先電子文書５６及び６８への外部参照を更新した時点で、参照先電子文書５６及び６８に付されていた電子署名６２及び７４を複製したものである。関連データ５２中の、電子署名６２及び７４の複製６４及び７６は、それぞれ、電子文書本体５０中の、電子文書５６及び６８への外部参照と関連付けられる。
【００３２】
図４に、電子文書４８が参照する電子文書５６を示す。電子文書５６は、電子文書作成装置２２によって作成される電子文書の他の一例である。電子文書５６は、他の電子文書を参照しないので、電子文書本体５８は、外部参照を含まない。よって、参照先電子文書の署名の複製を保持する部分である関連データ６０は、電子署名を含まない。このように、他の電子文書を参照しない電子文書に含まれる関連データは実質的な情報を含まない。
【００３３】
再び図３に戻ると、電子文書４８の参照先電子文書６８は、さらに電子文書８０を参照する。電子文書６８の関連データ７２には、電子文書８０の電子署名８２の複製８４が含まれる。電子署名８２の複製８４は、電子文書６８の電子文書本体７０に最初に電子文書８０への外部参照を挿入した時点で、又は電子文書本体７０内の電子文書８０への外部参照を更新した時点で、電子文書８０に付されていた電子署名８２を複製したものである。
【００３４】
図３に示すように、電子文書作成装置２２で作成される電子文書は、その電子文書の参照先電子文書が他の電子文書を参照しないものであってもよいし、参照先電子文書がさらに他の電子文書を参照するものであってもよい。図３には示していないが、参照先電子文書によって参照される電子文書が、さらに他の電子文書を参照してもよい。
【００３５】
図５は、電子文書作成装置２２が行う電子文書作成処理の一例を示すフローチャートである。ステップＳ１からステップＳ５までは、電子文書の参照に関する処理であり、参照処理部３０が行う処理に対応する。ステップＳ６は、電子文書に対する署名を生成する処理であり、署名生成部３２が行う処理に対応する。
【００３６】
ステップＳ１からステップＳ５までの、参照処理部３０が行う処理について、図３の電子文書４８に、電子文書５６への外部参照を挿入する際の処理を例に説明する。まず、ステップＳ１で、電子文書データベース２６から参照先電子文書５６を取得する。次に、ステップＳ２で、参照先電子文書５６への参照情報である外部参照を生成する。次に、ステップＳ３で、参照先電子文書５６への外部参照を電子文書本体５０に挿入する。例えば、外部参照を電子文書本体５０に保持させることで、電子文書本体５０内の外部参照部５４に参照先電子文書５６の内容を表示させるようにする。次に、ステップＳ４で、参照先電子文書５６に付された電子署名６２を取得する。ステップＳ５で、取得した参照先電子文書５６の電子署名６２を複製した電子署名６４を、参照先電子文書５６の外部参照と関連付けて関連データ５２に追加する。他に参照すべき電子文書があるときは、参照先電子文書それぞれについて、ステップＳ１からステップＳ５までの処理が行われる。図３の例では、電子文書６８についても、電子文書５６と同様に、ステップＳ１からＳ５までの処理が行われる。
【００３７】
ステップＳ１からステップＳ５までの処理は、電子文書に初めて参照先電子文書への外部参照を挿入する際に行うことができる。また、電子文書にすでに含まれている外部参照について、定期的にステップＳ１からステップＳ５まで、又はステップＳ４及びステップＳ５の処理を行って、関連データ中のその外部参照に関連付けられた電子署名を更新してもよい。この、電子文書にすでに含まれている外部参照に関連付けられた電子署名の更新は、ユーザからの指示があった場合など、必要に応じて行ってもよい。
【００３８】
ステップＳ６で、署名生成部３２は、電子文書本体と関連データとを用いて電子文書に対する電子署名を生成する。例えば、公開鍵暗号方式による電子署名の場合、ハッシュ関数を用いて電子文書本体と関連データとを併せたデータからダイジェストを生成し、署名者の秘密鍵を用いて生成したダイジェストを暗号化することで、電子署名を生成する。図３の例では、電子文書４８の電子署名７８を、電子文書本体５０と関連データ５２とから生成する。図４の例のように、関連データ６０が特に実質的な情報を含まない場合でも、電子文書本体５８と関連データ６０とから電子署名６２を生成することができる。ステップＳ６の電子署名生成処理は必要に応じて実行される。
【００３９】
以上、図３から図５を参照して、電子文書作成装置２２における電子文書作成処理について説明した。以下では、電子文書検証装置２４が行う、電子文書の改変の有無を検証する電子文書検証処理について説明する。電子文書検証装置２４は、他の電子文書への参照情報を含む電子文書の改変の有無を検証する。例えば、電子文書作成装置２２で作成された電子文書４８（図３参照）のような電子文書が、電子文書検証装置２４の検証対象となる。
【００４０】
図６は、電子文書検証装置２４が行う電子文書検証処理の一例を示すフローチャートである。ステップＳ１０で、検証対象の電子文書全体の検証を行う。ステップＳ１０の検証処理では、検証対象の電子文書に付された電子署名を用いる。例えば、図３の電子文書４８が検証対象である場合、電子文書４８に付された電子署名７８を用いて、電子文書４８全体の改変の有無を検証する。
【００４１】
次に、ステップＳ１１で、ステップＳ１０での検証の結果を受け、電子文書全体の改変があるかどうかを判定する。改変があると判定された場合は、ステップＳ１７に進み、予め設定された電子文書改変検出処理を行う。ステップＳ１７の電子文書改変検出処理は、例えば、処理の結果を記録するために用意されたファイルに電子文書改変の検出を記録したり、電子文書の改変を検出した旨を知らせるメッセージを出力装置に出力したりする処理である。ステップＳ１７で、電子文書改変の検出の記録とメッセージ出力との両方を行ってもよい。
【００４２】
ステップＳ１１で電子文書全体の改変がないと判定された場合は、ステップＳ１２に進む。ステップＳ１２では、電子文書本体中に、未検証の外部参照が存在するかどうかを判定する。未検証の外部参照が存在すれば、未検証の外部参照を１つ選択してステップＳ１３に進み、未検証の外部参照が存在しなければ、処理を終了する。
【００４３】
ステップＳ１３では、選択された未検証の外部参照が参照する電子文書を電子文書データベース２６から取得し、その参照先電子文書を検証対象として、このフローチャートを再帰的に呼び出して実行する。つまり、選択された未検証の外部参照が参照する参照先電子文書に対して、ステップＳ１０以下の処理を行う。
【００４４】
次に、ステップＳ１４で、検証対象の電子文書の関連データ中の、ステップＳ１２で選択された未検証の外部参照と関連付けられた電子署名を用いて、その外部参照が参照する電子文書の検証を行う。ステップＳ１４では、例えば、関連データ中の電子署名と、参照先電子文書に付された署名と、を比較することで、検証対象の電子文書にその参照先電子文書への外部参照を挿入した時点からの参照先電子文書の改変の有無を検証する。又は、関連データ中の電子署名を復号化して得られたダイジェストと、取得した参照先電子文書から生成したダイジェストと、を比較することで、参照先電子文書の改変の有無を検証することもできる。
【００４５】
次に、ステップＳ１５で、ステップＳ１４での検証の結果を受け、参照先電子文書に改変があるかどうかを判定する。改変がないと判定された場合は、ステップＳ１２に戻り、ステップＳ１２以下の処理を実行する。改変があると判定された場合は、ステップＳ１６に進む。
【００４６】
ステップＳ１６では、予め設定された参照先電子文書改変検出処理を行う。ステップＳ１６では、例えば、処理の結果を記録するために用意されたファイルに、参照先電子文書の改変を検出した旨、その参照先電子文書のファイル名、及びその他必要な情報を記録する。改変の検出の記録とともに、又は、改変の検出の記録に代えて、参照先電子文書の改変の検出を知らせるメッセージを出力装置に出力することもできる。ステップＳ１６の処理の後、ステップＳ１２以下の処理が繰り返される。
【００４７】
図６に示す電子文書検証処理の実行が終了すると、検証対象の電子文書と、その電子文書が直接的に又は参照先電子文書を介して間接的に参照するすべての電子文書と、の検証が実行されることになる。再帰呼び出しを行うステップＳ１３で、処理対象となった電子文書を示す識別情報を記録しておけば、電子文書検証処理の実行終了後に、検証対象の電子文書、検証対照の電子文書から直接参照される参照先電子文書、及び参照先からさらに参照される電子文書の文書構造の状態を示す情報を得ることもできる。
【００４８】
図６に示す電子文書検証処理の実行終了後、処理結果を出力装置に出力させることができる。処理結果を記録したファイルを生成してもよい。例えば、ステップＳ１６の参照先電子文書改変検出処理及びステップＳ１７の電子文書改変検出処理で、改変が検出された電子文書のファイル名などを記録しておいた場合、改変された電子文書のファイル名、及びその電子文書と検証対象の電子文書との参照関係などを表又はリストにして出力装置に出力したり、そのような表又はリストを記録したファイルを生成したりすることができる。ここで、参照関係とは、電子文書の文書構造を表す情報であり、例えば、検証対象の電子文書からいくつの参照先電子文書を辿ればその改変された電子文書を取得できるか、を示す情報である。また、検証対象の電子文書中の、改変のあった参照先文書に対応する外部参照部を強調して検証対象の電子文書を表示するようにしてもよい。例えば、図３の電子文書４８に対して図６の電子文書検証処理を行った結果、参照先電子文書６８の改変が検出された場合、電子文書本体５０中の、参照先電子文書６８に対応する外部参照部６６について、元の色とは異なる色で表示したり、枠で囲ったり、その他の強調表示を行うことができる。
【００４９】
なお、図６に示すフローチャートは、電子文書検証処理の手順の一例であり、検証対象の電子文書と、その電子文書が直接的に又は参照先電子文書を介して間接的に参照するすべての電子文書と、の検証が実行されるような手順であれば、図６に示す手順と異なる手順で電子文書検証処理を行ってもよい。
【図面の簡単な説明】
【００５０】
【図１】本発明の１つの実施形態の電子署名システムの一例を示す図である。
【図２】本発明の１つの実施形態の電子文書作成装置又は電子文書検証装置として機能させることのできるコンピュータの構成の一例を示す図である。
【図３】本発明の１つの実施形態の電子文書作成装置が作成する電子文書の一例を示す図である。
【図４】本発明の１つの実施形態の電子文書作成装置が作成する電子文書の他の一例を示す図である。
【図５】本発明の１つの実施形態の電子文書作成装置が行う処理の一例を示すフローチャートである。
【図６】本発明の１つの実施形態の電子文書検証装置が行う処理の一例を示すフローチャートである。
【図７】他の電子文書を参照する電子文書の一例を示す図である。
【符号の説明】
【００５１】
２０  電子署名システム、２２  電子文書作成装置、２４  電子文書検証装置、２６  電子文書データベース、２８  通信手段、３０  参照処理部、３２  署名生成部、３４  コンピュータ、３６  制御部、３８  入力装置、４０  出力装置、４２  記憶装置、４４  通信部、４６  バス、４８，８０  電子文書、５０，５８，７０  電子文書本体、５２，６０，７２  関連データ、５４，６０  外部参照部、５６，６８  参照先電子文書、６２，７４，７８，８２  電子署名、６４，７６，８４  電子署名の複製。
【図１】
2008140218.tif 000003
【図２】
2008140218.tif 000004
【図３】
2008140218.tif 000005
【図４】
2008140218.tif 000006
【図５】
2008140218.tif 000007
【図６】
2008140218.tif 000008
【図７】
2008140218.tif 000009