(57)【要約】      （修正有）【課題】  電子署名の生成及び検証の双方に先立ち正規化される電子文書について、両正規化処理の結果の間の差異発生を防止する。【解決手段】電子署名付き電子文書交換支援サーバ３０は、電子文書を含む署名リクエストを文書作成装置１０Ａ〜１０Ｎから受け付け、この電子文書を正規化した後ダイジェスト値を算出し、文書作成装置に返信する。文書作成装置が、そのダイジェスト値の暗号化により生成した電子署名が電子署名付き電子文書交換支援サーバ３０に送信され、この電子署名と電子文書とから電子署名付き文書が生成され、文書作成装置に返信される。一方、電子署名付き電子文書交換支援サーバ３０は、電子署名付き電子文書及び公開鍵を含む検証リクエストを署名検証装置２０Ａ〜２０Ｍから受けた時は、公開鍵による電子署名の復号値と、前記正規化処理により正規化した電子文書のダイジェスト値とを比較し、その比較の結果を署名検証装置に返信する。【選択図】  図１
2006157399.tif 000002
【特許請求の範囲】
【請求項１】
電子署名付き電子文書の交換を支援する情報処理装置であって、
ネットワークに接続される通信手段と、
前記通信手段が、前記ネットワーク上の第１のコンピュータから、第１の電子文書を含む署名リクエストを受け付けると、前記第１の電子文書を正規化処理により正規化し、当該正規化された第１の電子文書のダイジェスト値を算出して、当該ダイジェスト値を前記第１のコンピュータ宛てに前記通信手段から出力させる処理手段と、
を備え、
前記処理手段は、前記第１のコンピュータが前記ダイジェスト値の暗号化により生成した電子署名を前記通信手段が受け付けると、前記電子署名と前記第１の電子文書とから、前記電子署名付きの前記第１の電子文書を生成して、前記第１のコンピュータ宛てに前記通信手段から出力させることを特徴とする情報処理装置。
【請求項２】
請求項１記載の情報処理装置であって、
前記通信手段が、前記ネットワーク上の第２のコンピュータから、電子署名付きの第２の電子文書及び当該電子署名を検証するための公開鍵を含む検証リクエストを受け付けると、前記処理手段は、前記公開鍵による前記電子署名の復号により得られる値と、前記正規化処理により正規化した第２の電子文書のダイジェスト値とを比較し、当該比較の結果を、前記第２のコンピュータ宛てに前記通信手段から出力させる
ことを特徴とする情報処理装置。
【請求項３】
請求項２記載の情報処理装置であって、
前記検証リクエストに、認証局の自己署名証明書が含まれている場合には、前記処理手段は、当該自己署名証明書をトラストアンカーとして前記公開鍵の有効性を検証することを特徴とする情報処理装置。
【請求項４】
請求項２または３記載の情報処理装置であって、
署名検証履歴情報を格納するための記憶手段を有し、
前記処理手段は、前記電子署名の復号により得られる値と、前記第２の電子文書のダイジェスト値との比較を行なった場合、前記電子署名付きの前記第２の電子文書と当該比較の結果と前記第２のコンピュータの識別情報とを含む情報を前記署名検証履歴情報として前記記憶手段に格納することを特徴とする情報処理装置。
【請求項５】
請求項１記載の情報処理装置であって、
署名履歴情報を格納するための記憶手段を有し、
前記処理手段は、前記電子署名付きの前記第１の電子文書を算出した場合、当該電子署名付きの前記第１の電子文書と前記第１のコンピュータの識別情報とを含む情報を前記署名履歴情報として前記記憶手段に格納することを特徴とする情報処理装置。
【請求項６】
電子署名の生成前に正規化される電子文書が格納される記憶手段と、
前記電子文書に対する電子署名の付与指示を受け付ける入力受付手段と、
ネットワークに接続される通信手段と、
前記入力受付手段が前記付与指示を受け付けると、前記電子文書を含む署名リクエストを前記ネットワーク上のサーバ宛てに前記通信手段から出力させ、前記サーバからの、前記電子文書のダイジェスト値を前記通信手段が受け付けると、当該ダイジェスト値の暗号化により前記電子署名を生成し、当該電子署名を前記サーバ宛てに前記通信手段から出力させ、当該電子署名及び前記電子文書から生成した前記電子署名付き電子文書を前記通信手段が前記サーバから受け付けると、当該電子署名付き電子文書を前記記憶手段に格納する処理手段と、
を備えることを特徴とする情報処理装置。
【請求項７】
電子文書付きの電子署名が格納される記憶手段と、
前記電子署名の検証指示の入力を受け付ける入力受付手段と、
ネットワークに接続される通信手段と、
前記入力受付手段が前記検証指示の入力を受け付けると、前記電子署名付きの前記電子文書及び前記電子署名を検証するための公開鍵を含む検証リクエストを、前記ネットワーク上のサーバー宛てに前記通信手段から出力させ、前記電子文書のダイジェスト値と前記公開鍵による前記電子署名の復号化により得られた値との比較結果を前記通信手段が前記サーバから受け付けると、当該比較結果を出力する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
ネットワーク上における電子署名付き電子文書の交換を、前記ネットワークに接続される通信手段と処理手段とを有するサーバが支援する、電子署名付き電子文書交換支援方法であって、
前記通信手段が、前記ネットワーク上の第１のコンピュータから、第１の電子文書を含む署名リクエストを受け付けると、前記処理手段が、前記第１の電子文書を正規化処理により正規化し、当該正規化された第１の電子文書のダイジェスト値を算出する処理と、
前記通信手段が、前記ダイジェスト値を前記第１のコンピュータに送信する処理と、
前記第１のコンピュータが前記ダイジェスト値の暗号化により生成した電子署名を前記通信手段が受け付けると、前記処理手段が、前記電子署名と前記第１の電子文書とから、前記電子署名付きの前記第１の電子文書を生成する処理と、
前記通信手段が、前記電子署名付きの前記第１の電子文書を、前記第１のコンピュータに送信する処理と、
を含むことを特徴とする電子署名付き電子文書交換支援方法。
【請求項９】
請求項８記載の電子文書交換支援方法であって、
前記検証リクエストに、認証局の自己署名証明書が含まれている場合には、前記処理手段が、当該自己署名証明書をトラストアンカーとして前記公開鍵の有効性を検証する処理を含むことを特徴とする電子文書交換支援方法。
【請求項１０】
ネットワーク上における電子署名付き電子文書の交換の支援処理を、前記ネットワークに接続される通信手段と処理手段とを有するサーバに実行させるプログラムであって、
前記通信手段が、前記ネットワーク上の第１のコンピュータから、第１の電子文書を含む署名リクエストを受け付けると、前記処理手段が、前記第１の電子文書を正規化処理により正規化し、当該正規化された第１の電子文書のダイジェスト値を算出する処理と、
前記通信手段が、前記ダイジェスト値を前記第１のコンピュータに送信する処理と、
前記第１のコンピュータが前記ダイジェスト値の暗号化により生成した電子署名を前記通信手段が受け付けると、前記処理手段が、前記電子署名と前記第１の電子文書とから、前記電子署名付きの前記第１の電子文書を生成する処理と、
前記通信手段が、前記電子署名付きの前記第１の電子文書を、前記第１のコンピュータに送信する処理と、
を、前記サーバにおいて実現させることを特徴とするプログラム。
【請求項１１】
請求項１０記載のプログラムであって、
前記検証リクエストに、認証局の自己署名証明書が含まれている場合には、前記処理手段が、当該自己署名証明書をトラストアンカーとして前記公開鍵の有効性を検証する処理を、前記サーバにおいてさらに実現させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名の付与前及び検証前に正規化が行なわれる電子文書に関して、電子署名の生成及び検証を支援する技術に関する。
【背景技術】
【０００２】
なりすまし及び改ざんを防止するため、ＸＭＬ（Extensible Markup Language）で記述された電子文書（以下、ＸＭＬ文書）には、そのＸＭＬ文書を作成した送信元情報処理装置（以下、文書作成装置）において電子署名が添付されることが多い。この電子署名は、署名対象となるＸＭＬ文書のメッセージダイジェスト値（ハッシュ値）を、文書作成装置の秘密鍵で暗号化することにより生成される。
【０００３】
一方、この電子署名付きＸＭＬ文書を受信した情報処理装置（以下、署名検証装置）においては、署名対象となるＸＭＬ文書のメッセージダイジェスト値の算出、及び、デジタル署名を文書作成装置の公開鍵によるデジタル署名の復号化が行われ、両結果の比較によりＸＭＬ文書の正当性が確認される。
【０００４】
ところで、電子署名付きＸＭＬ文書の送信途中に、空白及び改行の数が変わっただけでも、ＸＭＬ文書のダイジェスト値が変わるため、署名検証装置ではＸＭＬ文書の検証に失敗する。そこで、ＸＭＬ文書への署名付与およびＸＭＬ文書の署名検証を行う場合には、文書作成装置及び署名検証装置の双方において、ダイジェスト値の算出前に、署名対象となるＸＭＬ文書の正規化処理が行われる。このような正規化処理ついては、Ｗ３Ｃ（World Wide Web Consortium）において標準化が進められている。例えば、非特許文献１記載のCanonical ＸＭＬ、非特許文献２記載のExclusive ＸＭＬ Canonicalizationが標準仕様として公表されている。
【０００５】
【非特許文献１】Boyer, John.、"Canonical ＸＭＬ Version 1.0, W3C Recommendation 15 March 2001"、［online］、15 Mar. 2001、［平成16年7月20日検索］、インターネット＜URL：http://www.w3.org/TR/ＸＭＬ-c14n＞
【非特許文献２】Boyer, John.、外2名、"Exclusive ＸＭＬ Canonicalization Version 1.0, W3C Recommendation 18 July 2002."、［online］、18 July 2002、［平成16年7月20日検索］、インターネット＜URL：http://www.w3.org/TR/ＸＭＬ-exc-c14n/＞
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ところが、上記従来の標準仕様が公開されてはいるが、実装者（ベンダー等）が異なれば、標準仕様の解釈が異なる等によって、ＸＭＬ文書の正規化処理の実装方法にずれが生じる可能性がある。このために文書作成装置及び署名検証装置における正規化結果に差異が生じると、ＸＭＬ文書が改ざんされていないにもかかわらず、ＸＭＬ署名の検証に失敗する可能性がある。
【０００７】
そこで、本発明は、電子署名の生成及び検証の双方に先立ち正規化処理が行われる文書に関して、電子署名の生成前に行われる正規化処理の結果と、電子署名の検証前に行われる正規化処理の結果との間の不整合を防止することを目的とする。
【課題を解決するための手段】
【０００８】
本発明によれば、
電子署名付き電子文書の交換を支援する情報処理装置であって、
ネットワークに接続される通信手段と、
前記通信手段が、前記ネットワーク上の第１のコンピュータから、第１の電子文書を含む署名リクエストを受け付けると、前記第１の電子文書を正規化処理により正規化し、当該正規化された第１の電子文書のダイジェスト値を算出して、当該ダイジェスト値を前記第１のコンピュータ宛てに前記通信手段から出力させる処理手段と、
を備え、
前記処理手段は、前記第１のコンピュータが前記ダイジェスト値の暗号化により生成した電子署名を前記通信手段が受け付けると、前記電子署名と前記第１の電子文書とから、前記電子署名付きの前記第１の電子文書を生成して、前記第１のコンピュータ宛てに前記通信手段から出力させることを特徴とする情報処理装置が提供される。
【０００９】
この情報処理装置において、さらに、
前記通信手段が、前記ネットワーク上の第２のコンピュータから、電子署名付きの第２の電子文書及び当該電子署名を検証するための公開鍵を含む検証リクエストを受け付けると、前記処理手段は、前記公開鍵による前記電子署名の復号により得られる値と、前記正規化処理により正規化した第２の電子文書のダイジェスト値とを比較し、当該比較の結果を、前記第２のコンピュータ宛てに前記通信手段から出力させることができる。
【発明の効果】
【００１０】
本発明によれば、署名の生成前及び検証前に正規化が行われる電子文書について、署名の生成前に行われる正規化処理の結果と、署名の検証前に行われる正規化処理の結果との間の差異の発生を防止することができる。
【発明を実施するための最良の形態】
【００１１】
以下、添付の図面を参照しながら、本発明に係る一実施形態について説明する。
【００１２】
まず、本実施形態に係る電子署名付き文書交換システムの概略構成を説明する。ここでは、署名の生成及び検証の双方に先立ち正規化処理が行われる文書の一例としてＸＭＬ文書を挙げる。
【００１３】
図１に示すように、本実施形態に係る電子署名付き文書交換システムは、電子署名付きＸＭＬ文書（以下、電子署名付き文書）を交換する複数の情報処理装置（文書作成装置１０Ａ，．．．，１０Ｎ、文書検証装置２０Ａ，．．．，２０Ｍ）、署名の付与前及び検証前のＸＭＬ文書の正規化処理を実行する情報処理装置（電子署名付き文書交換支援サーバ）３０、これらの情報処理装置群を相互に接続するネットワーク（インターネット等）１４、を有している。
【００１４】
この電子署名付き文書交換システムに含まれる各情報処理装置は、例えば、図２に示すように、メモリ１、要求される機能を実現するための各種プログラムがインストールされた外部記憶装置（ハードディスク等）２、可搬性記憶媒体（光ディスク等）Ｄから情報を読み取れる読み取り装置３、外部記憶装置２または可搬性記憶媒体Ｄからメモリ１にロードされたプログラムを実行するＣＰＵ４、ネットワークＮＥＴを介した通信を制御する通信装置５、外部装置が接続されるインタフェース６、これらを相互に接続するバス、を有している。ここで、インタフェース６に接続される外部装置としては、例えば、ユーザからの入力を受け付ける入力装置（キーボード、マウス等）７、ユーザに提示すべき情報を出力する出力装置（モニタ、プリンタ等）８が挙げられる。なお、外部記憶装置５３上のプログラムは、読み取り装置３を介して記憶媒体Ｄからインストールされたものであってもよいし、通信装置５を介してネットワークＮＥＴ上の他の情報処理装置からダウンロードされたものであってもよい。
【００１５】
このようなハードウエア構成上におけるプログラムの実行により、各情報処理装置は、文書作成装置１０Ａ〜１０Ｎ、文書検証装置２０Ａ〜２０Ｍ及び電子署名付き文書交換支援サーバ３０のうちの少なくとも１種類の装置として機能構成を実現する。具体的には、以下の通りである。
【００１６】
図３は、文書作成装置１０Ａ〜１０Ｎの機能構成図である。
【００１７】
文書作成装置１０Ａ〜１０Ｎは、それぞれ、電子署名の付与に必要な情報が格納される記憶部１２０、記憶部１２０内の情報を用いて後述の電子署名付き文書作成処理を実行する処理部１１０、ネットワークＮＥＴを介して他の情報処理装置との通信を行う通信部１４０、ネットワーク上の他の情報処理装置との間でやりとりするデータの安全性を確保するための処理（認証、通信路の暗号化等）を実行するセキュアセッション制御部１３０、入力装置及び出力装置を制御する入出力部１５０を実現する。処理部１１０には、電子署名付き文書交換支援サーバ３０に対する署名要求電文を生成する署名要求電文作成部１１１、電子署名付き文書交換支援サーバ２０が作成したハッシュ値を秘密鍵で暗号化する電子署名生成部１１２、電子署名付き文書等の内容を表示させるためにＸＭＬ文書を解析する文書解析部１１３、これら各部を制御する制御部１１４、が含まれている。
【００１８】
記憶部１２０には、電子署名の生成に用いられる秘密鍵１２１、秘密鍵１２１に対応する公開鍵が記述された公開鍵証明書１２２が予め格納されている。さらに、記憶部１２０には、電子署名の付与対象となる電子文書１２３、電子署名付き文書交換支援サーバ３０が作成した電子署名付き文書１２４も格納される。
【００１９】
このような機能構成により、文書作成装置１０Ａ〜１０Ｎは、例えば、ユーザが作成した電子文書に対する電子署名の付与を、ユーザからの指示に応じて電子署名付き文書交換支援サーバ３０に依頼することができる。
【００２０】
図４は、署名検証装置２０Ａ〜２０Ｍの機能構成図である。
【００２１】
署名検証装置２０Ａ〜２０Ｍは、それぞれ、正当な認証局から発行された自己署名証明書（以下、ＴＡ証明書)２２２が予め格納された記憶部２２０、処理部２１０、ネットワークＮＥＴを介して他の情報処理装置との通信を行う通信部２４０、ネットワーク上の他の情報処理装置との間でやりとりするデータの安全性を確保するための処理（機器認証、通信路の暗号化等）を実行するセキュアセッション制御部２３０、入力装置及び出力装置を制御する入出力部２５０を有する。
【００２２】
処理部２１０には、電子署名付き文書交換支援サーバ３０に対する署名検証依頼電文を生成する署名検証要求電文作成部２１１と、文書作成装置から受け取った電子署名付き文書等の内容を表示させるためにＸＭＬ文書を解析する文書解析部２１２、これら各部を制御する制御部２１３、が含まれている。なお、記憶部２２０には、いずれかの文書作成装置からの電子署名付き文書２２１及びこれに添付された公開鍵証明書２２３も格納される。
【００２３】
このような機能構成により、各署名検証装置２０Ａ〜２０Ｍは、例えば、いずれかの文書作成装置から受信した電子署名付き文書の電子証明の検証を、ユーザからの指示に応じて電子署名付き文書交換支援サーバ３０に依頼することができる。
【００２４】
図５、電子署名付き文書交換支援サーバ３０の機能構成図である。
【００２５】
電子署名付き文書交換支援サーバは、署名履歴情報及び検証履歴情報を管理する履歴管理データベース３２１が格納された記憶部３２０、ネットワークＮＥＴを介して他の情報処理装置との通信を行う通信部３４０、ネットワーク上の他の情報処理装置との間でやりとりするデータの安全性を確保するための処理（認証、通信路の暗号化等）を実行するセキュアセッション制御部３３０、ネットワーク上の他の情報処理装置からの要求に応じて後述の署名生成処理及び署名検証処理を実行する処理部３１０、入力装置及び出力装置を制御する入出力部３５０、を実現する。
【００２６】
処理部３１０には、文書作成装置からの署名要求電文に含まれる署名対象電文からダイジェスト値を算出するダイジェスト値生成部３１１、文書作成装置からのデータ（署名値、公開鍵証明書、署名対象電文）を用いて電子署名付き文書を生成する電子署名付き文書作成部３１２、署名検証装置からの署名検証依頼電文に応じてＸＭＬ署名を検証する電子署名検証部３１３、電子署名付き文書に添付された公開鍵証明書を検証する証明書検証部３１４、これら各部を制御する制御部３１５、が含まれている。
【００２７】
履歴管理データベース３２１には、署名履歴情報が登録される署名履歴管理テーブルまたは検証履歴情報が格納される検証履歴管理テーブルが含まれている。署名履歴管理テーブルには、図６に示すように、作成された電子署名付き文書ごとに、作成日時情報３２１Ａ１、署名者またはその使用装置の識別情報３２１Ａ２、電子署名付き文書データ３２１Ａ３が登録される。一方、検証履歴管理テーブルには、図７に示すように、検証済みの電子署名付き文書ごとに、署名の検証日時情報３２１Ｂ１、署名の検証結果を表す情報（ここでは、検証成功を表す文字列「ＯＫ」、または、検証失敗を表す文字列「ＮＧ」）３２１Ｂ２、証明書の検証日時情報３２１Ｂ３、証明書の有効性に関する検証結果を表す情報（ここでは、有効を表す文字列「ＯＫ」、または、失効を表す文字列「ＮＧ」）３２１Ｂ４、検証者またはその使用装置の識別情報３２１Ｂ５、電子署名付き文書データ３２１Ｂ５、が登録される。
【００２８】
このような機能構成により、電子署名付き文書交換支援サーバ３０は、いずれかの文書作成装置からのリクエストに応じて、その文書作成装置が作成した電子文書に電子署名を付与し、いずれかの文書検証装置からのリクエストに応じて、その文書検証装置からの電子署名付き文書の電子署名を検証する。
【００２９】
つぎに、このような電子署名付き文書交換システムにおいて実行される処理について説明する。
【００３０】
本実施形態の電子署名付き文書交換システムにおいては実行される処理は、以下に示す電子署名付き文書作成処理（１）及び電子署名付き文書の検証処理（２）に分けられる。
（１）電子署名付き文書の作成処理
図８は、電子署名付き文書交換支援サーバ３０といずれかの文書作成装置（１０ｋとする）との間で行われる、電子署名付き文書の作成処理のフローチャートである。
【００３１】
文書作成装置１０ｋにおいて、ユーザがＸＭＬ署名の指示を入力装置に入力すると、入出力部１５０が、その指示を制御部１１４に渡す。制御部１１４は、これに応じて、電子署名付き文書交換支援サーバ３０との間のセッション確立をセキュアセッション制御部１３０に指示する（Ｓ１０１）。
【００３２】
この指示に応じて、セキュアセッション制御部１３０は、通信部１４０を介して、電子署名付き文書交換支援サーバ３０にセキュアセッション確立リクエストを送信する。これにより、文書作成装置１０ｋ上のセキュアセッション制御部１３０と、電子署名付き文書交換支援サーバ３０上のセキュアセッション制御部３３０とにより、相互認証及び通信路の暗号化を行われて、文書作成装置１０ｋと電子署名付き文書交換支援サーバ３０との間にセキュアセッションが確立される（Ｓ８０２、Ｓ８１１）。これにより、文書作成装置１０ｋと電子署名付き文書交換支援サーバ３０との間でこれからやりとりされる情報のセキュリティが確保される。
【００３３】
このようにしてセキュアセッションが確立された後、文書作成装置１０ｋにおいては、署名要求電文作成部１１１が、署名対象となる電子文書１２３を記憶部１２０から読み出し、この電子文書を含む署名リクエストメッセージ（署名要求電文）を生成する。さらに、通信部１４０は、制御部１１１の指示に応じて、この署名要求電文を電子署名付き文書交換支援サーバ３０宛てに送信する（Ｓ８０３）。
【００３４】
電子署名付き文書交換支援サーバ３０において、通信部３４０がこの署名要求電文を受信すると、まず、制御部３１５が、このＸＭＬ署名要求電文から、署名対象となる電子文書１２３を取り出し、これをダイジェスト値生成部３１１に渡す。
【００３５】
つぎに、ダイジェスト値生成部３１１が、この電子文書１２３を、ＸＭＬ形式に変換してから、予め定めた正規化方法によって正規化し（Ｓ８１３）、さらに、正規化した電子文書のハッシュ値を算出する。その後、制御部３１５は、このとき得られたハッシュ値の返信を通信部３４０に指示する。この指示に応じて、通信部３４０は、そのハッシュ値を、署名対象となる電子文書１２３のダイジェスト値８２０として文書作成装置１０ｋに返信する（Ｓ８１４）。
【００３６】
文書作成装置１０ｋの通信部１４０は、このダイジェスト値８２０を受信すると、それを制御部１１４に渡す（Ｓ８０４）。その後、制御部１１４は、そのダイジェスト値８２０からの署名値の生成を電子署名生成部１１２に指示する。これに応じて、電子署名生成部１１２は、記憶部１２０から秘密鍵１２１を読み出して、この秘密鍵でダイジェスト値８２０を暗号化する。これにより、署名値が生成される（Ｓ８０５）。なお、ここでは、ダイジェスト値の暗号化を文書作成装置で行っているが、電子署名付き文書交換支援サーバ３０に文書作成装置１０ｋの秘密鍵を受け渡すことができれば、電子署名付き文書交換支援サーバ３０が、その処理を行ってもよい。
【００３７】
その後、制御部１１４は、署名値の生成に用いた秘密鍵１２１に対応付けられた公開鍵証明書１２２を記憶部１２０から読み出し、通信部１４０を介して、この公開鍵証明書１２２とともに署名値８２１を電子署名付き文書交換支援サーバ３０へ送信する（Ｓ８０６）。
【００３８】
電子署名付き文書交換支援サーバ３０においては、通信部３４０が、文書作成装置からの署名値８２１及び公開鍵証明書１２２を受信すると（Ｓ８１５）、制御部３１４が、それらを電子署名検証部３１３に渡す。これに応じて、電子署名検証部３１３は、その署名値８２１を検証する（Ｓ８１６）。具体的には、電子署名検証部３１３は、公開鍵証明書１２２内の公開鍵で署名値８２１を復号化し、それにより得られた値と、Ｓ８１４で生成したダイジェスト値８２０とを比較する。その結果、両値が一致すれば、署名値８２１が、署名要求電文を発信した文書作成装置による電子署名である、すなわち、電子署名の検証成功と判断され、両者が一致しなければ、署名値８２１が、署名要求電文を発信した文書作成装置による電子署名ではない、すなわち、電子署名の検証失敗と判断される。
【００３９】
電子署名の検証に成功すると、電子署名付き文書作成部３１２は、署名対象の電子文書１２３、ダイジェスト値８２０及び公開鍵証明書１２２を組み合わせることによって電子署名付き文書を作成する。そして、制御部３１５は、通信部３４０を介して、この電子署名付き文書を文書作成装置１０ｋへ返信する（Ｓ８１７）。一方、電子署名の検証に失敗すると、制御部３１５は、通信部３４０を介して、その旨のメッセージを文書作成装置１０ｋへ返信する。
【００４０】
その後、制御部３１５は、このとき返信した電子署名付き文書３２１Ａ３と、その作成日時３２１Ａ１と、送信先の文書作成装置１０ｋの識別情報３２１Ａ２との対応情報を、署名履歴情報として、履歴管理データベース３２１の署名履歴管理テーブル（図６参照）に登録する（Ｓ８０７）。
【００４１】
文書作成装置１０ｋの通信部１４０が、電子署名付き文書交換支援サーバ３０からの電子署名付き文書を受信すると、制御部１１４は、その電子署名付き文書１２４を記憶部１２０に格納するとともに、その電子署名付き文書１２４の表示を文書解析部１１３に指示する。最終的に、この指示に応じて、文書解析部１１３は、その電子署名付き文書を解析して、その解析結果を、入出力部１５０を介して出力装置に出力する（Ｓ８０８）。
【００４２】
このとき、ユーザが、入力装置に、署名検証装置（例えば、署名検証装置２０ｋ）への電子署名付き文書の送信指示を入力すると、入出力部１５０は、その指示を制御部１１４に渡す。これに応じて、制御部１１４は、記憶部１２０から電子署名付き文書１２４を読み出し、通信部１４０を介して、それを、指定された署名検証装置２０ｋに送信する。
（２）電子署名付き文書の検証処理
図９は、電子署名付き文書交換支援サーバ３０と、文書作成装置からの電子署名付き文書を受信した署名検証装置２０ｋとの間で行われる、電子署名付き文書の検証処理のフローチャートである。
【００４３】
いずれかの文書作成装置から電子署名付き文書を受信した署名検証装置２０ｋにおいて、ユーザがＸＭＬ署名の検証指示を入力装置に入力すると、入出力部２５０が、その指示を制御部２１３に渡す。制御部２１３は、この指示に応じて、電子署名付き文書交換支援サーバ３０との間のセキュアセッション確立をセキュアセッション制御部２３０に指示する（Ｓ９０１）。
【００４４】
この指示に応じて、セキュアセッション制御部２３０は、通信部２４０を介して、電子署名付き文書交換支援サーバ３０にセキュアセッション確立リクエストを送信する。これにより、署名検証装置２０ｋ上のセキュアセッション制御部２３０と、電子署名付き文書交換支援サーバ３０上のセキュアセッション制御部３３０とにより、相互認証及び通信路の暗号化が行われて、署名検証装置２０ｋと電子署名付き文書交換支援サーバ３０との間にセキュアセッションが確立される（Ｓ９０２、Ｓ９１１）。これにより、署名検証装置２０ｋと電子署名付き文書交換支援サーバ３０との間でこれからやりとりされる情報のセキュリティが確保される。
【００４５】
セキュアセッションが確立された後、署名検証装置２０ｋにおいては、制御部２１３が、署名検証リクエストメッセージ（署名検証要求電文）の生成を署名検証要求電文作成部２１１に指示する。この指示に応じて、署名検証要求電文作成部２１１は、検証対象となる電子署名付き文書２２１、公開鍵証明書２２３及びＴＡ証明書２２２を記憶部２２０から読み出し、これらを含む署名検証要求電文を生成する。その後、制御部２１３は、通信部２４０を介して、署名検証要求電文作成部２１１により生成された署名検証要求電文を電子署名付き文書交換支援サーバ３０宛てに送信する（Ｓ９０３）。
【００４６】
電子署名付き文書交換支援サーバ３０においては、通信部３４０がこの署名検証要求電文を受信すると、制御部３１５が、この署名検証要求電文から、電子署名付き文書、公開鍵証明書及びＴＡ証明書を取り出してから、それらを電子署名検証部３１３に渡す（Ｓ９１２）。これに応じて、電子署名検証部３１３は、電子署名付き文書内のＸＭＬ文書を正規化してから、そのハッシュ値（ダイジェスト値）を求めるとともに、公開鍵証明書に記載された公開鍵で電子署名付き文書の署名値を復号化する。さらに、電子署名検証部３１３は、ここで求めたダイジェスト値と、署名値の復号化により得られた値とを比較することにより、電子署名付き文書の署名を検証する（Ｓ９１３）。
【００４７】
その結果、電子署名検証部３１３が、両値が一致しないと判断すれば、すなわち、署名の検証に失敗したと判断すれば（Ｓ９１４）、証明書検証部３４０は、通信部３１５を制御して、署名の検証結果「失敗」を、署名検証リクエストに対する返信メッセージとして署名検証装置２０ｋに返信する（Ｓ９１５）。
【００４８】
一方、電子署名検証部３１３が、両値が一致したと判断すれば、すなわち、署名の検証に成功したと判断すれば（Ｓ９１４）、証明書検証部３１４が、署名の検証に用いた公開鍵証明書の検証を行う。これにより、電子署名付き文書交換支援サーバ３０において、署名の検証に用いた公開鍵の有効性がさらに確認される。具体的には、証明書検証部３１４は、トラストアンカ（ＴＡ証明書）からターゲット証明書（検証対象の公開鍵証明書）までの認証パスの構築および検証を行う。具体的には、電子署名付き文書交換支援サーバが、認証局が提供するディレクトリサーバから、順次、認証パス上の各証明書及びそれに関する失効情報（ＣＲＬ／ＡＲＬ）を取得しながら、それらの証明書が失効していないかどうかを検証してゆく。または、証明書の検証を代理で行うサーバ（以下、証明書検証サーバ）に証明書検証リクエストを送信し、検証結果を受け取ることによって、ＴＡ証明書から公開鍵証明書までの認証パスの構築および検証を行ってもよい。
【００４９】
その結果、署名の検証に用いた公開鍵の有効性が確認されたら、証明書検証部３１４は、通信部３４０に指示を与えることにより、署名の検証結果「成功」、公開鍵証明書の検証結果「有効」を、署名検証リクエストに対する返信メッセージとして、署名検証装置２０ｋに送信する（Ｓ９１５）。
【００５０】
このようにして、署名検証要求電文に対する返信メッセージの送信を行うと、制御部２１３は、署名の検証日時情報３２１Ｂ１、署名の検証結果を表す情報（「ＯＫ」または「ＮＧ」）３２１Ｂ２、証明書の検証日時情報３２１Ｂ３、証明書の有効性に関する検証結果を表す情報（「ＯＫ」または「ＮＧ」）３２１Ｂ４、検証者またはその使用装置の識別情報（ここでは、署名検証装置２０ｋの識別情報）３２１Ｂ５、Ｓ９０３で電子署名付き文書交換支援サーバ３０に送信した電子署名付き文書３２１Ｂ５を、検証履歴情報として、履歴管理データベース３２１の検証履歴管理テーブル（図７参照）に登録する（Ｓ９１６）。
【００５１】
署名検証装置２０ｋにおいて、電子署名付き文書交換支援サーバ３０からの返信メッセージを通信部４０が受信すると（Ｓ９０４）、制御部２１３が、その返信メッセージから検証結果（署名の検証結果及び公開鍵証明書の有効性、または、署名の検証結果）を取り出し、それを、入出力部２５０を介して出力装置に表示する。ユーザが、このとき入力装置に電子署名付き文書の表示指示を入力すると、入出力部２５０によって、その指示が制御部２１３に渡される。これに応じて、制御部２１３が、記憶部１２０から電子署名付き文書２２１を読み出し、その解析を入出力部２５０に指示する。この指示に応じて、文書解析部２１２が、電子署名付き電子文書２２１の文書データを解析して、その解析結果を、入出力部２５０を介して出力装置に表示させる（Ｓ９０５）。
【００５２】
以上の、電子署名付き文書作成処理（１）及び電子署名付き文書の検証処理（２）によれば、電子署名作成前の正規化処理および署名検証前の正規化処理が、共通の電子署名付き文書交換支援サーバにおいて実行される。このため、検証対象となる電子署名が付与されていた電子文書の正規化結果と、その電子署名が生成されたときの電子文書の正規化結果との間に、正規化処理の実装方法の相違による差異が生じることを防止することができる。したがって、例えば、電子署名の生成及び検証の際に正規化が必要となるＸＭＬ文書に関して、電子署名の検証を確実に行うことができる。また、新たな標準仕様を採用する場合には、電子署名付き文書交換支援サーバのみが、その新たな標準仕様に対応すれば足りるため、個々のユーザの管理負担を軽減することができる。さらに、本実施の形態においては、電子署名付き文書交換支援サーバにおいて、署名履歴及び署名検証履歴を管理しているため、ネットワーク上の情報処理装置が、例えば押印記録簿の作成等の業務処理に共通の履歴情報を利用することができる。
【００５３】
なお、以上においては、署名付与対象となる電子文書としてＸＭＬ文書を例に挙げたが、本実施の形態に係る電子署名付き文書交換システムは、署名の付与前及び検証前の双方において正規化処理が行われる電子文書であれば、どのような電子文書を署名付与対象としてもよい。
【００５４】
また、以上においては、文書作成装置及び署名検証装置を別々な情報処理装置により実現しているが、文書作成装置及び署名検証装置の双方の機能を１台の情報処理装置が有していてもよい。
【００５５】
また、以上においては、文書作成装置としての機能を１台の情報処理装置で実現する場合を想定しているが、文書作成装置としての機能が、複数の情報処理装置に分散されていてもよい。例えば、図１に示すように、図８のＳ８０４〜Ｓ８０６の処理を実行する情報処理装置（署名生成装置）１２と、Ｓ８０１〜Ｓ８０３及びＳ８０７の処理を実行する情報処理装置（署名要求装置）１１とをＬＡＮ等で接続することによって、上述の図８の一連の処理Ｓ８０１〜Ｓ８０７を実行する文書作成システム１０Ｚを構成してもよい。この場合、署名要求装置及び署名生成装置は、物理的に同じ場所に設置されていなくてもよい。
【００５６】
また、以上においては、電子文書、署名値及び公開鍵証明書を組み合わせることによって電子署名付き文書を生成しているが、必要に応じて、その他の情報を著名付き文書に付加してもよい。例えば、複数の電子署名付き文書交換支援サーバが存在する場合には、電子署名付き文書にさらに電子署名付き文書交換支援サーバの識別情報（サーバのＦＱＤＮ、ＵＲＩ、ＩＰアドレス等）を含めておくことによって、署名検証装置は、その識別情報に基づき、署名検証要求電文を送付すべき電子署名付き文書交換支援サーバを検索することとができる。
【００５７】
また、電子署名付き文書交換支援サーバに、さらに別の処理を実行させるようにしてもよい。例えば、ＸＭＬ文書自体の暗号処理及びＸＭＬ文書の暗号文の復号化処理をさらに実行させるようにしてもよい。このようにする場合には、暗号化及び復号化に用いる暗号化鍵が、文書作成装置、電子署名付き文書交換支援サーバ及び署名検証装置により共有されている必要がある。
【図面の簡単な説明】
【００５８】
【図１】本発明の一実施形態に係る電子署名付き文書交換システムの概略構成図である。
【図２】図１の電子署名付き文書交換システムに含まれる情報処理装置のハードウェア構成図である。
【図３】図１の電子署名付き文書交換システムに含まれる文書作成装置の機能構成図である。
【図４】図１の電子署名付き文書交換システムに含まれる署名検証装置の機能構成図である。
【図５】図１の電子署名付き文書交換システムに含まれる電子署名付き文書交換支援サーバの機能構成図である。
【図６】署名履歴テーブルのデータ構造例を概念的に示した図である。
【図７】検証履歴管理テーブルのデータ構造例を概念的に示した図である。
【図８】本発明の一実施形態に係る電子署名付き文書交換システムにおいて実行される、電子署名付き文書の作成処理のフローチャートである。
【図９】本発明の一実施形態に係る電子署名付き文書交換システムにおいて実行される、電子署名付き文書の検証処理のフローチャートである。
【符号の説明】
【００５９】
１０Ａ〜１０Ｎ…文書作成装置、２０Ａ〜２０Ｍ…署名検証装置、３０…電子署名付き文書交換支援サーバ、１１０…処理部、１２０…記憶部、１３０…セキュアセッション制御部、１４０…通信部、１５０…入出力部、２１０…処理部、２２０…記憶部、２３０…セキュアセッション制御部、２４０…通信部、２５０…入出力部、３１０…処理部、１２０…記憶部、３３０…セキュアセッション制御部、３４０…通信部、３５０…入出力部
【図１】
2006157399.tif 000003
【図２】
2006157399.tif 000004
【図３】
2006157399.tif 000005
【図４】
2006157399.tif 000006
【図５】
2006157399.tif 000007
【図６】
2006157399.tif 000008
【図７】
2006157399.tif 000009
【図８】
2006157399.tif 000010
【図９】
2006157399.tif 000011