(57)【要約】【課題】  本発明は、閲覧者が電子ファイルを利用しやすいように、階層分けされた複数の電子ファイルを加工することなく階層構造中の電子ファイルの配置の等価性を検証できる電子署名装置を提供することを目的とする。【解決手段】  本発明の電子署名装置は、階層分けされた複数の電子ファイルの配置情報及び前記複数の電子ファイルの内容情報を管理する電子ファイル管理手段（１）と、前記電子ファイル管理手段によって管理される前記複数の電子ファイルの前記配置情報及び前記内容情報の全てを所定の順番に連結して連結情報を生成する連結手段（２、３、４、５）と、前記連結手段によって生成された連結情報に基づいて、秘密鍵によって暗号化される電子署名情報を生成する暗号化手段（１４）と、を有するように構成する。【選択図】図１
2005115933.tif 000002
【特許請求の範囲】
【請求項１】
階層分けされた複数の電子ファイルの配置情報及び前記複数の電子ファイルの内容情報を管理する電子ファイル管理手段と、
前記電子ファイル管理手段によって管理される前記複数の電子ファイルの前記配置情報及び前記内容情報の全てを所定の順番に連結して連結情報を生成する連結手段と、
前記連結手段によって生成された連結情報に基づいて、秘密鍵によって暗号化される電子署名情報を生成する暗号化手段と、
を有することを特徴とする電子署名装置。
【請求項２】
前記暗号化手段によって生成された電子署名情報を前記秘密鍵に対応する公開鍵を使用して複号化する複号手段と、
前記複号手段によって複号された複号情報と前記連結手段によって連結された連結情報とを照合する照合手段と、
を更に有することを特徴とする請求項１に記載の電子署名装置。
【請求項３】
階層分けされた複数の電子ファイルの配置情報及び前記複数の電子ファイルの内容情報を管理する電子ファイル管理手段と、
前記電子ファイル管理手段によって管理される前記電子ファイルの前記内容情報から該電子ファイルを一意に識別できる識別コードを生成する個別識別コード生成手段と、
前記個別識別コード生成手段によって生成された前記識別コードと該識別コードに対応する電子ファイルの前記配置情報とを関係付けて組み合わせ情報を生成する配置情報関係付け手段と、
前記配置情報関係付け手段によって生成した前記複数の電子ファイルに対応する各々の組み合わせ情報を所定の順序で連結して連結情報を生成する組み合わせ情報連結手段と、
前記組み合わせ情報連結手段によって生成された前記連結情報から単一の電子ファイルを生成する統合電子ファイル生成手段と、
前記統合電子ファイル生成手段によって生成された単一の電子ファイルから、該単一の電子ファイルを一意に識別できる識別コードを生成する統合識別コード生成手段と、
前記統合識別コード生成手段によって生成された識別コードに対し、秘密鍵を使用して暗号化処理を施して電子署名情報を生成する暗号化手段と、
を有することを特徴とする電子署名装置。
【請求項４】
前記暗号化手段によって生成された電子署名情報を前記秘密鍵に対応する公開鍵を使用して前記単一の電子ファイルを一意に識別できる識別コードに複号させる複号手段と、
前記複号手段によって複号された識別コードと前記統合識別コード生成手段によって生成された識別コードとを照合する照合手段と、
を更に有することを特徴とする請求項３に記載の電子署名装置。
【請求項５】
記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させるプログラムであって、
前記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記配置関係を示す配置情報を結合する機能と、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結する機能と、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、
秘密鍵を使用した暗号化処理に基づいて前記ハッシュ値から生成した電子書名情報を受け取る機能と、
をコンピュータに実現させるプログラム。
【請求項６】
記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させるプログラムであって、
前記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記配置関係を示す配置情報を結合する機能と、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結する機能と、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、
秘密鍵を使用した暗号化処理に基づいて、前記ハッシュ値から電子書名情報を生成する機能と、
をコンピュータに実現させるプログラム。
【請求項７】
記憶部に記憶される、配置関係を有する複数の電子ファイル及び秘密鍵によって暗号化された電子署名情報を用いて、前記複数の電子ファイルに対する電子署名の検証を行なうことをコンピュータに実行させるプログラムであって、
前記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記配置関係を示す配置情報を結合する機能と、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結する機能と、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、
前記ハッシュ値と前記記憶部に記憶された電子書名情報に基づいて前記複数の電子ファイルにおけるオリジナルの複数の電子ファイルとの等価性の判定結果を受け取る機能と、
をコンピュータに実現させるプログラム。
【請求項８】
記憶部に記憶される、配置関係を有する複数の電子ファイル及び秘密鍵によって暗号化された電子署名情報を用いて、前記複数の電子ファイルに対する電子署名の検証を行なうことをコンピュータに実行させるプログラムであって、
前記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記配置関係を示す配置情報を結合する機能と、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結する機能と、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、
前記記憶部に記憶された電子署名情報からハッシュ値を複号化する機能と、
前記連結情報に基づいて計算したハッシュ値及び前記複号化したハッシュ値を照合する機能と、
をコンピュータに実現させるプログラム。
【請求項９】
記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させるプログラムであって、
前記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、
前記読み出した電子ファイルから順にハッシュ値を計算する機能と、
前記読み出した電子ファイルの順に該電子ファイルの前記配置関係を示す配置情報と前記計算されたハッシュ値を一変数につき一電子ファイルの単位で該変数に格納する機能と、
前記変数に格納された前記配置情報及びハッシュ値の全てを、前記読み出した電子ファイルの順に連結して単一の電子ファイルにまとめる機能と、
前記単一の電子ファイルからハッシュ値を計算する機能と、
前記単一の電子ファイルから計算したハッシュ値から、秘密鍵を使用した暗号化処理に基づいて電子書名情報を生成する機能と、
をコンピュータに実現させるプログラム。
【請求項１０】
階層構造中に振り分けて管理される複数の電子ファイルに対し、一括して電子署名を行なうための方法であって、
前記複数の電子ファイルを所定の順番に読み出し、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記階層構造中の配置を特定する配置情報を結合し、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結し、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算し、
秘密鍵を使用した暗号化処理に基づいて、前記ハッシュ値から電子書名情報を生成し、
前記複数の電子ファイル及び前記電子署名情報を取得し、
前記複数の電子ファイルを所定の順番に読み出し、
前記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び前記電子ファイルの前記階層構造中の配置を特定する配置情報を結合し、
前記電子ファイルの単位で前記識別情報及び前記配置情報が結合されてなる結合情報の全てを連結し、
前記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算し、
前記電子署名情報からハッシュ値を複号化し、
前記連結情報に基づいて計算したハッシュ値及び前記複号化したハッシュ値を照合する、
ことを特徴とする電子署名方法。
【請求項１１】
電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置とによって構成される電子署名システムであって、
前記管理装置は、
電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成する電子署名情報生成手段と、
前記識別情報と前記版数情報とを関連付けて管理する電子署名情報管理手段と、
前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供する電子ファイル提供手段と、
前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信する管理装置側照合手段と、
を有し、
前記電子ファイル利用装置は、
電子ファイルから前記識別情報を生成する識別情報生成手段と、
前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、
前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、前記管理装置側照合手段による前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、
を有する、
ことを特徴とする電子署名システム。
【請求項１２】
前記電子ファイル提供手段は、
前記電子署名情報を前記電子ファイルと共に可搬型記憶媒体に格納させて前記電子ファイル利用装置に提供する、
ことを特徴とする請求項１に記載の電子署名システム。
【請求項１３】
電子ファイル利用装置に対して電子ファイルを提供する電子ファイル提供装置であって、
電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成する電子署名情報生成手段と、
前記識別情報と前記版数情報とを関連付けて管理する電子署名情報管理手段と、
前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供する電子ファイル提供手段と、
前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信する管理装置側照合手段と、
を有する、
ことを特徴とする電子ファイル提供装置。
【請求項１４】
前記電子ファイル利用装置に対し、
電子ファイルから前記識別情報を生成する識別情報生成手段と、
前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、
前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、前記管理装置側照合手段による前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、
を提供する提供手段を更に有する、
ことを特徴とする請求項１３に記載の電子ファイル提供装置。
【請求項１５】
電子ファイル及び該電子ファイルに対の電子署名情報を基に該電子ファイルの真正を確認する電子ファイル利用装置であって、
前記電子ファイルから所定手順で識別情報を生成する識別情報生成手段と、
前記電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、
前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して所定の管理装置へ送信し、前記管理装置から送信された前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、
を有する、
ことを特徴とする電子ファイル利用装置。
【請求項１６】
電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置で実行可能なプログラムであって、
前記管理装置において、
電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成する機能と、
前記生成された識別情報と版数情報とを関連付け、データベースで該識別情報と版数情報を生成順に一括管理する機能と、
前記識別情報と前記版数情報とを含む電子署名情報を作成し、該識別情報と該版数情報の生成元である電子ファイルと共に前記電子署名情報を前記電子ファイル利用装置に提供する機能と、
前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信する機能と、
前記受信した電子署名情報に含まれている識別情報及び版数情報と前記データベースで管理されている識別情報及び版数情報を照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ返信する機能と、
を実現し
前記電子ファイル利用装置において、
電子ファイルから前記識別情報を生成し、該識別情報及び前記電子ファイルに対の電子署名情報に含まれている識別情報を照合する機能と、
前記照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信する機能と、
前記管理装置から送信された、前記電子署名情報に対する照合結果を、前記通信ネットワークを介して受信する機能と、
を実現するプログラム。
【請求項１７】
電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置とによって構成される電子署名システムで行なわれる電子署名方法であって、
前記管理装置において、
電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成し、
前記識別情報と前記版数情報とを関連付けて管理し、
前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供し、
前記電子ファイル利用装置において、
電子ファイルから前記識別情報を生成し、
前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記生成された識別情報とを照合し、
前記照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、
前記管理装置において、
前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、
該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、
該照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信し、
前記電子ファイル利用装置において、
前記電子署名情報の照合結果を前記通信ネットワークを介して受信する、
ことを特徴とする電子署名方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子ファイルに適用させる電子署名技術に関し、特に、階層分けされた複数の電子ファイルに適用させる電子署名技術、または電子ファイルの版数管理を可能にする電子署名技術に関する。
【背景技術】
【０００２】
オリジナルの電子ファイルと改竄された電子ファイルとを見分けるための技術として電子署名技術が知られている。
この技術では、オリジナルの電子ファイルを作成した作成端末において、その電子ファイルからハッシュ値を算出させ、そのハッシュ値を秘密鍵で暗号化することにより、その電子ファイルに対応する電子署名を作成する。そして、当該電子ファイルの閲覧者（以下、利用者ともいう）は、例えば通信ネットワークを介するなどして作成元から当該電子ファイル、この電子ファイルの電子署名、及びこの電子署名を作成する際に使用された上記秘密鍵とペアの公開鍵を取得し、取得した電子ファイルから新たに算出したハッシュ値と、取得した公開鍵によって上記電子署名から複号されるハッシュ値とを閲覧者の閲覧端末で照合する。閲覧者は、この照合によって示される互いのハッシュ値の一致または不一致の照合結果から、当該電子ファイルに対するオリジナルの電子ファイルとの等価性を確認することができる。すなわち、上記互いのハッシュ値が一致すれば上記取得した電子ファイルはオリジナルであることが確認でき、上記互いのハッシュ値が一致しなければ、例えば通信中にオリジナルの電子ファイルに不正な改竄があったものと判断されるなどして、オリジナルの電子ファイルではないことが確認できる。
【０００３】
このような電子署名技術の発展型として、電子ファイルに収録される文書内容の文書構造の等価性を検証できる技術が開示されたものがある。
その技術では、章・節・段落などの文書構造がＸＭＬなどによって木構造で記述された電子ファイルを対象に、該電子ファイルに収録されている文書内容の等価性の検証及び上記文書内容の文書構造の等価性の検証を行なう事ができる。この技術では、電子ファイルの文書内容を対象に生成した署名コードの後段に、ＸＭＬなどによって記述された文書構造の各要素（章・節・段落など）を対象に個々に生成した署名コードをその文書構造の記述順に連結させてなる署名コードが使用され、一つの電子ファイルにつき上記一つの署名コードを用いるだけで文書内容のみならず文書構造の等価性をも検証できる（特許文献１参照）。
【０００４】
ところで、電子ファイルは一般的に、フォルダにまとめられるなどして階層分けして管理される。このように階層分けされて管理される電子ファイルは、その文書内容やその文書構造だけでなく、階層分けされてなる電子ファイルの配置の等価性も検証対象となりうる。このような場合も考慮して各種等価性を検証する方法を示すと以下の通りである。
【０００５】
図１６は、複数の電子ファイルを対象とする２パターンの電子署名処理と単一の電子ファイルを対象とする1パターンの電子署名処理を示した電子署名処理フローである。
具体的には、複数の電子ファイルを単一の電子ファイルにまとめ、その単一の電子ファイルに対して電子署名を行なう第１の電子署名処理、複数の電子ファイルの各々に電子署名を行なう第２の電子署名処理、そして単一の電子ファイルに電子署名を行なう第３の電子署名処理が統合されて示されている。
【０００６】
上記各々の電子署名処理は、第１に、電子署名を行なうものとして指定された電子ファイルが複数であるかどうかを判定するステップＳ１６００における作成者による判断、第２に、複数の電子ファイルを単一のファイルにまとめるかどうかを判定するステップＳ１６０２における作成者による判断を基に、適宜実行される。
【０００７】
第１の電子署名処理は、ステップＳ１６００及びＳ１６０２において作成者が共にＹＥＳ判定を下した際に実行される。
上記第１の電子署名処理では複数の電子ファイルを単一の電子ファイルにまとめることが必要となる。そのために、先ず、ファイル圧縮・解凍ソフト（例えば、ＬＺＳＳ法及び静的ハフマン法の２段階の符号化により文字列または文字列単位に圧縮を行なう「ＬＨＡ」や、ＬＺＳＳ法及び適応型ハフマン方の２段階の符号化により文字列または文字列単位に圧縮を行なう「Ｌｈａｒｃ」など）が適用される。
【０００８】
上記ファイル圧縮・解凍ソフトの働きは、大きく分けて三つある。第１の働きは電子ファイルの圧縮作業、第２の働きは圧縮された電子ファイルの復元である。そして、第３の働きとして複数の電子ファイルを一つにまとめる機能（アーカイブ機能）を有している。
【０００９】
よって、同図のステップＳ１６０４においては、上記第１及び第３の機能が上記複数の電子ファイルに対して適用され、一つの圧縮ファイルの中に複数の電子ファイルがまとめられる（Ｓ１６０４）。
【００１０】
続いて、上記まとめられた一つの圧縮ファイルに対してハッシュ値が計算される（Ｓ１６０６）。
最後に、上記ハッシュ値を秘密鍵で暗号化することにより、上記複数ファイルに対して一つの電子署名が生成される（Ｓ１６０８）。
【００１１】
第２の電子署名処理は、作成者がステップＳ１６００でＹＥＳ判定を下し、ステップＳ１６０２でＮＯ判定を下した際に実行される。
第２の電子署名処理では、各電子ファイルの一つ一つに電子署名を作成する。
【００１２】
先ず初めに作成者が電子署名を適用する電子ファイルを一つ選ぶと、その電子ファイルに対してハッシュ値が計算される（Ｓ１６１０）。
そして、上記ハッシュ値を秘密鍵で暗号化することにより、上記電子ファイルに対する電子署名が生成される（Ｓ１６１２）。
【００１３】
ここで、未署名の電子ファイルが残っていないかどうかを作成者は確認し（Ｓ１６１４）、未署名の電子ファイルが残っている場合は、作成者がその残りの電子ファイルから電子署名を適用する電子ファイルを一つ選び、ステップＳ１６１０から処理を繰り返し、全ての電子ファイルに対して個々に電子署名を作成する。
【００１４】
第３の電子署名処理は、ステップＳ１６００及びＳ１６０２において作成者が共にＮＯ判定を下した際に実行される。
第３の電子署名処理では、単一の電子ファイルに対して電子署名を作成する。
【００１５】
これは、第２の電子署名処理における一つの電子ファイルに電子署名を作成する方法と同じである、すなわち、当該単一の電子ファイルからハッシュ値が計算され（Ｓ１６１６）、そして、上記ハッシュ値を秘密鍵で暗号化することにより、上記単一の電子ファイルに対する電子署名が生成される（Ｓ１６１８）。
【００１６】
このように上述した処理を実行すれば、単一の電子ファイルの文書内容の等価性の検証のみならず、階層分けされた複数の電子ファイルの配置関係の等価性の検証も行なうことが可能になる。
【００１７】
電子署名技術としてはこの他にも、受注・発注コンピュータシステムにおいて、受注側コンピュータシステムで製造された製品が発注側コンピュータシステムで発注された電子図面データに基づいて製造されたものであるか否かを発注側コンピュータシステム側で検証できるようにした技術がある。この技術では、受注側コンピュータシステムで製造された製品と、該製品を製造するもととなった電子図面データとを共に発注側コンピュータシステムに送り、これらを発注側コンピュータシステムに記録されている発注図面データと比較させ、それらの整合性をチェックする。これにより、受注側コンピュータシステムで製造された製品が発注側コンピュータシステムから提供された発注図面データに基づいて作成されたものであるか否かを検証することができる（特許文献２参照）。この技術は受注側コンピュータシステムで製造に使用された電子図面データが発注図面データと等価であるか否かを検証する技術であるため、本明細書では、電子データの等価性を検証する電子署名技術の従来技術の一つに含めて記載した。
【００１８】
またその他、参考までに電子署名技術の関連技術を以下に記載する。
他の関連技術には、２つのプログラムモジュールの手順の信憑性を署名コードによって互いのプログラムモジュールから検証する電子署名技術が開示されている。
【００１９】
プログラムモジュールＡからプログラムモジュールＢを呼び出して実行する際、プログラムＡはプログラムモジュールＢの信憑性を署名コードを用いてベリファイアで検証し、他方のプログラムモジュールＢはプログラムモジュールＡの信憑性を上記同様に署名コードを用いて上記ベリファイアで検証し、当該検証結果に基づいて、各プログラムを実行または中断させるようにした技術である（特許文献３参照）。
【特許文献１】特開２００２−２２９４４８号公報
【特許文献２】特開２００１−１９５３０６号公報
【特許文献３】特開平９−２３１０６８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２０】
一般的に、電子署名技術は各電子ファイルの例えば文書内容などの等価性を検証するために適用される。
一方、電子ファイルの作成者は作成した複数の電子ファイルをフォルダに振り分けるなどして階層的に管理する。例えば、作成者は、複数の電子ファイルを作成日・所定の並び順・種類・重要度といった観点でフォルダに振分ける。この結果、閲覧者は、上記のように整理された階層構造に従って所定の電子ファイルを取得することができる。
【００２１】
このような場合、電子ファイルによっては、その階層構造中の配置関係が意味を要するものも少なくない。電子ファイルが別のフォルダに移動させられることにより、閲覧者がその電子ファイルに収録されている文書内容を別の意味に取り違えてしまう事も予測される。よって、このようなケースを考慮すると、従来の電子署名技術は、その文書内容の等価性のみならず階層構造中の配置関係の等価性も検証できるように改善されるべきである。
【００２２】
会社などでは、作成したあらゆる電子ファイル（見積り書、請求書、報告書、議事録、決裁書など）をサーバ内でフォルダによって一括管理しており、社員は、社内ネットワークを介してサーバから自分の端末に所定の情報をフォルダ毎コピーするなどして、その電子ファイルを利用している。しかし、そのサーバには複数の社員がアクセス可能であるため、サーバ内の電子ファイルの改竄（文書情報や配置の改竄）或いは操作ミスによる変更（文書情報や配置の変更）が行なわれる危険性は十分にある。このような時、閲覧者は閲覧している電子ファイルの配置に改竄や操作ミスによる変更があったかどうかを検証する術がないため、仮にその電子ファイルの配置に改竄や操作ミスによる変更があったとしても、その電子ファイルをオリジナルの電子ファイルの配置であると誤認してしまう。背景技術に、電子署名技術において上記配置関係の等価性を検証しうるものとしてアーカイバを使用した第３の電子署名処理を説明した。しかし、この第３の電子署名処理では、一旦、アーカイバを使用して複数の電子ファイルを単一の電子ファイルに統合しなければならない。このため、上述した会社の例のように閲覧者がいつでも電子ファイルを利用できるように階層構造化して各電子ファイルを管理している場合、個々の電子ファイルをアーカイバによって統合させた単一の電子ファイルの状態で閲覧者に対して提示しなければならず、この提示を受けた閲覧者は、その単一の電子ファイルを解凍しなければ中身の複数の電子ファイルを参照できなくなり、非常に不便なものとなる。
【００２３】
そこで、階層化されるなどした互いの配置に意味がある複数の電子ファイルを対象にその電子ファイルの文書内容と階層構造中の配置の等価性を検証できる、より実用的な電子署名技術の実現が望まれる。
【００２４】
またその他、利用者によって利用される電子ファイルが、作成元で正規に更新された電子ファイルではなく不正コピーや不正更新されてなる第Ｎ（但し、Ｎは正の整数とする）版の電子ファイルであるというケースがある。このようなケースでは、利用者によってその利用する電子ファイルが正規にコピーまたは更新された電子ファイルであるか否かを検証できなければならない。しかしながら従来の技術では、そのような版数の等価性を検証できる簡便な仕組みは存在しないため、これまた実現が望まれている。
【００２５】
そこで本発明は、電子ファイルの等価性を電子ファイルの利用者が簡便な方法で検証できる電子署名装置、電子署名方法、及びそのプログラムを提供することを目的とする。
【課題を解決するための手段】
【００２６】
本発明は上記課題を解決するために以下のように構成する。
本発明の電子署名装置の態様の一つは、階層分けされた複数の電子ファイルの配置情報及び上記複数の電子ファイルの内容情報（例えば文書情報など）を管理する電子ファイル管理手段と、上記電子ファイル管理手段によって管理される上記複数の電子ファイルの上記配置情報及び上記内容情報の全てを所定の順番に連結して連結情報を生成する連結手段と、上記連結手段によって生成された連結情報に基づいて、秘密鍵によって暗号化される電子署名情報を生成する暗号化手段と、を有する
なお、上記電子署名装置は、上記暗号化手段によって生成された電子署名情報を上記秘密鍵に対応する公開鍵を使用して複号化する複号手段と、上記複号手段によって複号された複号情報と上記連結手段によって連結された連結情報とを照合する照合手段と、を更に有することが望ましい。
【００２７】
また、本発明の電子署名装置の態様のその他の一つは、階層分けされた複数の電子ファイルの配置情報及び上記複数の電子ファイルの内容情報（例えば文書情報など）を管理する電子ファイル管理手段と、上記電子ファイル管理手段によって管理される上記電子ファイルの上記内容情報から該電子ファイルを一意に識別できる識別コード（例えばハッシュ値など）を生成する個別識別コード生成手段と、上記個別識別コード生成手段によって生成された上記識別コードと該識別コードに対応する電子ファイルの上記配置情報とを関係付けて組み合わせ情報を生成する配置情報関係付け手段と、上記配置情報関係付け手段によって生成した上記複数の電子ファイルに対応する各々の組み合わせ情報を所定の順序（所定の順序は、後述する「予め決められた読み取りルール」によって決定される）で連結して連結情報を生成する組み合わせ情報連結手段と、上記組み合わせ情報連結手段によって生成された上記連結情報から単一の電子ファイルを生成する統合電子ファイル生成手段と、上記統合電子ファイル生成手段によって生成された単一の電子ファイルから、該単一の電子ファイルを一意に識別できる識別コード（例えばハッシュ値など）を生成する統合識別コード生成手段と、上記統合識別コード生成手段によって生成された識別コードに対し、秘密鍵を使用して暗号化処理を施して電子署名情報を生成する暗号化手段と、を有する。
【００２８】
なお、上記電子署名装置は、上記暗号化手段によって生成された電子署名情報を上記秘密鍵に対応する公開鍵を使用して上記単一の電子ファイルを一意に識別できる識別コードに複号させる複号手段と、上記複号手段によって複号された識別コードと上記統合識別コード生成手段によって生成された識別コードとを照合する照合手段と、を更に有することが望ましい。
【００２９】
本発明のプログラムの一つは、記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させることを前提とし、上記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記配置関係を示す配置情報を結合する機能と、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結する機能と、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、秘密鍵を使用した暗号化処理に基づいて上記ハッシュ値から生成した電子書名情報を受け取る機能と、をコンピュータに実現させる。
【００３０】
また、本発明のプログラムのその他の一つは、記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させることを前提とし、上記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記配置関係を示す配置情報を結合する機能と、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結する機能と、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、秘密鍵を使用した暗号化処理に基づいて、上記ハッシュ値から電子書名情報を生成する機能と、をコンピュータに実現させる。
【００３１】
また、本発明のプログラムのその他の一つは、記憶部に記憶される、配置関係を有する複数の電子ファイル及び秘密鍵によって暗号化された電子署名情報を用いて、上記複数の電子ファイルに対する電子署名の検証を行なうことをコンピュータに実行させることを前提とし、上記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記配置関係を示す配置情報を結合する機能と、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結する機能と、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、上記ハッシュ値と上記記憶部に記憶された電子書名情報に基づいて上記複数の電子ファイルにおけるオリジナルの複数の電子ファイルとの等価性の判定結果を受け取る機能と、をコンピュータに実現させる。
【００３２】
また、本発明のプログラムのその他の一つは、記憶部に記憶される、配置関係を有する複数の電子ファイル及び秘密鍵によって暗号化された電子署名情報を用いて、上記複数の電子ファイルに対する電子署名の検証を行なうことをコンピュータに実行させることを前提とし、上記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記配置関係を示す配置情報を結合する機能と、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結する機能と、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算する機能と、上記記憶部に記憶された電子署名情報からハッシュ値を複号化する機能と、上記連結情報に基づいて計算したハッシュ値及び上記複号化したハッシュ値を照合する機能と、をコンピュータに実現させる。
【００３３】
また、本発明のプログラムのその他の一つは、記憶部に記憶される、配置関係を有する複数の電子ファイルに対し、一括して電子署名を行なうことをコンピュータに実行させることを前提とし、上記記憶部に記憶された複数の電子ファイルを所定の順番に読み出す機能と、上記読み出した電子ファイルから順にハッシュ値を計算する機能と、上記読み出した電子ファイルの順に該電子ファイルの上記配置関係を示す配置情報と上記計算されたハッシュ値を一変数につき一電子ファイルの単位で該変数に格納する機能と、上記変数に格納された上記配置情報及びハッシュ値の全てを、上記読み出した電子ファイルの順に連結して単一の電子ファイルにまとめる機能と、上記単一の電子ファイルからハッシュ値を計算する機能と、上記単一の電子ファイルから計算したハッシュ値から、秘密鍵を使用した暗号化処理に基づいて電子書名情報を生成する機能と、をコンピュータに実現させる。
【００３４】
本発明の電子署名方法の一つは、階層構造中に振り分けて管理される複数の電子ファイルに対し、一括して電子署名を行なうための方法であって、上記複数の電子ファイルを所定の順番に読み出し、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記階層構造中の配置を特定する配置情報を結合し、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結し、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算し、秘密鍵を使用した暗号化処理に基づいて、上記ハッシュ値から電子書名情報を生成し、上記複数の電子ファイル及び上記電子署名情報を取得し、上記複数の電子ファイルを所定の順番に読み出し、上記読み出した電子ファイルから順に、該電子ファイルを一意に識別できる識別情報及び上記電子ファイルの上記階層構造中の配置を特定する配置情報を結合し、上記電子ファイルの単位で上記識別情報及び上記配置情報が結合されてなる結合情報の全てを連結し、上記結合情報の全てが連結してなる連結情報に基づいてハッシュ値を計算し、上記電子署名情報からハッシュ値を複号化し、上記連結情報に基づいて計算したハッシュ値及び上記複号化したハッシュ値を照合する。
【００３５】
以上のように、本発明では、複数の電子ファイルに対し、各電子ファイルの内容情報或いはこの内容情報を一意に識別できる識別コード、及びその配置情報を組み合わせ、各電子ファイルに対して組み合わされた組み合わせ情報の全てを所定の順番で連結させてなる連結情報を基に電子署名情報を作成している。
【００３６】
このため、複数の電子ファイルの各文書内容や配置構成を示す情報は上記電子署名情報に全て含まれることになる。
よって、各電子ファイルの配置構成を示す情報を含ませるための特別な加工を複数の電子ファイルに対して施す必要がなくなる。
【００３７】
そして、本発明では、複数の電子ファイルにおけるオリジナルの電子ファイルとの文書内容及び配置構成の等価性を、上記特別な加工が施されていない複数の電子ファイルから上記連結情報を同様な手順で生成し、更に上記電子署名情報を複号化した情報を照合するだけで、検証することができるようになる。
【００３８】
また、本発明は上記課題を解決するために以下のようにも構成することができる。
本発明の電子署名装置の他の態様の一つは、電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置とによって構成される電子署名システムであって、前記管理装置は、電子ファイルを一意に識別するための識別情報（チェックコードなど）及び該電子ファイルの最新の版数情報（例えば更新回数を示す数値情報など）を生成する電子署名情報生成手段と、前記識別情報と前記版数情報とを関連付けて管理する電子署名情報管理手段と、前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供する電子ファイル提供手段と、前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信する管理装置側照合手段と、を有し、前記電子ファイル利用装置は、電子ファイルから前記識別情報を生成する識別情報生成手段と、前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、前記管理装置側照合手段による前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、を有する、ように構成する。
【００３９】
なお、前記電子ファイル提供手段は、前記電子署名情報を前記電子ファイルと共に可搬型記憶媒体に格納させて前記電子ファイル利用装置に提供する、ように構成しても良い。
本発明の電子ファイル提供装置（管理装置）の態様に一つは、電子ファイル利用装置に対して電子ファイルを提供する電子ファイル提供装置であって、電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成する電子署名情報生成手段と、前記識別情報と前記版数情報とを関連付けて管理する電子署名情報管理手段と、前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供する電子ファイル提供手段と、前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信する管理装置側照合手段と、を有する、ように構成する。
【００４０】
なお、前記電子ファイル利用装置に対し、電子ファイルから前記識別情報を生成する識別情報生成手段と、前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、前記管理装置側照合手段による前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、を提供する提供手段を更に有する、ように構成しても良い。
【００４１】
本発明の電子ファイル利用装置の態様に一つは、電子ファイル及び該電子ファイルに対の電子署名情報を基に該電子ファイルの真正を確認する電子ファイル利用装置であって、前記電子ファイルから所定手順で識別情報を生成する識別情報生成手段と、前記電子署名情報に含まれている識別情報と前記識別情報生成手段によって生成された識別情報とを照合する第一の照合手段と、前記第一の照合手段の照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して所定の管理装置へ送信し、前記管理装置から送信された前記電子署名情報の照合結果を前記通信ネットワークを介して受信する第二の照合手段と、を有する、ように構成する。
【００４２】
本発明のプログラムの一つは、電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置で実行可能なプログラムであって、前記管理装置において、電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成する機能と、前記生成された識別情報と版数情報とを関連付け、データベースで該識別情報と版数情報を生成順に一括管理する機能と、前記識別情報と前記版数情報とを含む電子署名情報を作成し、該識別情報と該版数情報の生成元である電子ファイルと共に前記電子署名情報を前記電子ファイル利用装置に提供する機能と、前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信する機能と、前記受信した電子署名情報に含まれている識別情報及び版数情報と前記データベースで管理されている識別情報及び版数情報を照合し、照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ返信する機能と、を実現し、前記電子ファイル利用装置において、
電子ファイルから前記識別情報を生成し、該識別情報及び前記電子ファイルに対の電子署名情報に含まれている識別情報を照合する機能と、前記照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信する機能と、前記管理装置から送信された、前記電子署名情報に対する照合結果を、前記通信ネットワークを介して受信する機能と、を実現する。
【００４３】
本発明の電子署名方法の一つは、電子ファイル利用装置と該電子ファイル利用装置に通信ネットワークを介して接続される管理装置とによって構成される電子署名システムで行なわれる電子署名方法であって、前記管理装置において、電子ファイルを一意に識別するための識別情報及び該電子ファイルの最新の版数情報を生成し、前記識別情報と前記版数情報とを関連付けて管理し、前記電子ファイルを対象に生成された前記識別情報と前記最新の版数情報とを含む電子署名情報を作成し、該電子署名情報を前記電子ファイルと共に前記電子ファイル利用装置に提供し、前記電子ファイル利用装置において、電子ファイルから前記識別情報を生成し、前記電子ファイルに対となる電子署名情報に含まれている識別情報と前記生成された識別情報とを照合し、前記照合により前記互いの識別情報が一致した場合に、前記電子署名情報を前記通信ネットワークを介して前記管理装置へ送信し、前記管理装置において、前記電子ファイル利用装置から前記通信ネットワークを介して前記電子署名情報を受信し、該電子署名情報に含まれている識別情報及び版数情報と前記電子署名情報管理手段に管理されている識別情報及び版数情報とを照合し、該照合結果を前記通信ネットワークを介して前記電子ファイル利用装置へ送信し、前記電子ファイル利用装置において、前記電子署名情報の照合結果を前記通信ネットワークを介して受信する、ようにする。
【００４４】
本構成では、電子ファイルの版数情報を電子署名情報に含まれる識別情報と共に電子ファイル提供装置（管理装置）で管理する。また、電子ファイルを利用する電子ファイル利用装置では、受け取った電子ファイルから識別情報を生成し、該電子ファイルと共に受け取った電子署名情報に含まれている識別情報を照合する。
【００４５】
よって、電子ファイル利用装置では、電子ファイル提供装置に電子ファイルの全てを転送することなく電子ファイルの原本性をチェックすることができる。そして、当該電子ファイルが電子ファイル提供装置から提供されたものであるか不正にコピーや更新が行なわれたものであるかのチェックは、既に電子ファイルの原本性はチェックされているため必要最小限の電子署名情報を電子ファイル提供装置に提供するだけで行なえる。
【発明の効果】
【００４６】
以上述べたように、本発明によれば、閲覧者が電子ファイルを利用しやすいように、階層分けされた複数の電子ファイルを加工せず、階層分けされた状態のまま複数の電子ファイルを閲覧者に提示し、更に、階層構造中の電子ファイルの配置の等価性は一つの電子署名情報によって検証できるようになる。
【００４７】
また、更に、電子ファイルの各々に収録される内容情報の等価性も一つの電子署名情報によって検証できるようになる。
また、本発明によれば、電子ファイルが、電子ファイル提供装置によって管理される版数の、正当な電子ファイルと同一であるか否かの等価性の検証を、簡便な方法で行なうことが可能になる。そして、当該等価性を検証する際に電子ファイル提供装置及び電子ファイル利用装置間で伝送される情報量は少なく抑えることが可能になる。
【００４８】
以上のように電子ファイルの等価性の検証が簡便になる。
【発明を実施するための最良の形態】
【００４９】
以下、本発明を実施するための最良の形態を、図面を参照しながら詳細に説明する。
図１は、本発明を実施するための最良の形態の一つである、階層構造中にある電子ファイルの配置の等価性を検証する電子署名装置の構成図である。
【００５０】
同図の電子署名装置は、作成した電子ファイルに対して電子署名を適用させる作成装置１００と、LANやインターネットなどの通信ネットワーク１０２を介して受信した上記電子ファイルと作成装置１００で作成されたオリジナルの電子ファイルとの等価性を上記電子署名によって検証する閲覧装置１０４とにより構成される。
【００５１】
なお、上記電子ファイルは、例えば文書情報で構成される文書ファイルや画像情報で構成される画像ファイルなどを指すが、説明を分かり易くするため、以下に説明する電子ファイルは特に説明しない限り文書情報であるものとする。
【００５２】
また、上記電子ファイルが複数ある場合、これらの電子ファイルは上記作成装置１００及び閲覧装置１０４において互いに所定の配置関係（後述する階層構造内の電子ファイルの配置）が管理されるものとする。
【００５３】
同図の作成装置１００は、電子ファイル管理手段１・個別ハッシュ値生成手段２・配置情報関係付け手段３・ハッシュ値連結手段４・統合電子ファイル生成手段５からなる単一電子ファイル代替手段１０と、ハッシュ値生成手段１２、及び暗号化手段１４により構成されている。
【００５４】
電子ファイル管理手段１は、電子ファイルの情報（文書情報や、上述した階層構造内の電子ファイルの配置情報など）を管理する。
個別ハッシュ値生成手段２は、上記電子情報管理手段１によって管理される電子ファイルの文書情報から、各々の文書情報を一意に識別できる固定長のハッシュ値を電子ファイル毎に生成する。
【００５５】
配置情報関係付け手段３は、上記個別ハッシュ値生成手段２によって生成されたハッシュ値と、各ハッシュ値に対応する電子ファイルの上記配置情報との関係付けを行なう。
ハッシュ値連結手段４は、上記配置情報関係付け手段３によって各電子ファイルに対応するように互いに関係付けされた上記ハッシュ値及び上記配置情報からなる組み合わせ情報の全てを所定の順番に連結させる。
【００５６】
統合電子ファイル生成手段５は、上記ハッシュ値連結手段４における各組み合わせ情報の連結によって生成されたハッシュ値連結情報を単一の電子ファイルとして生成する。
ハッシュ値生成手段１２は、上記統合電子ファイル生成手段５によって生成された単一の電子ファイルを基に、改めてハッシュ値を生成する。
【００５７】
暗号化手段１４は、上記ハッシュ値生成手段５によって新たに生成されたハッシュ値に対し、秘密鍵を使用して暗号化処理を施し、これにより電子署名情報を生成する。
一方、同図の閲覧装置１０４は、上記作成装置１００に構成される単一電子ファイル代替手段１０に相当する単一電子ファイル代替手段１０´及びハッシュ値生成手段１２に相当するハッシュ値生成手段１２´を備え、更に加えて、作成装置１００の暗号化手段１４によって生成された電子署名情報を上記秘密鍵のペアの公開鍵によって複号させる複号化手段１６、及び閲覧装置１０４の上記ハッシュ値生成手段１２´によって生成されたハッシュ値と上記複号化手段１６によって電子署名情報が複号化されて生成される複号情報とを照合する照合手段１８とを備える。
【００５８】
そして、本電子署名装置の特徴が分かり易くなるように同図にはあえて示さなかったが、当然、上記作成装置１００及び上記閲覧装置１０４には通信手段が備えられており、互いの通信手段を用いて、上記電子ファイル・上記電子署名情報・上記公開鍵のセットが同図に太い矢印で示されるように作成装置１００から閲覧装置１０４へ通信ネットワーク１０２を介して送信される。
【００５９】
なお、上記の説明では、上記作成装置１００及び閲覧装置１０４間の情報の授受を、互いの通信手段を用いて通信ネットワーク１０４を介して行なうものとして説明したが、通信手段を用いることなく例えばフレキシブルディスクやＣＤ−ＲＯＭやＤＶＤなどの可搬型記録媒体を用いるなどして情報の授受を行なうようにしても良い。
【００６０】
また、各装置に構成される手段の一部をその他の装置に行なわせるようにしても良い。例えば、通信ネットワーク１０２上に作成装置１００の暗号化手段１４と閲覧装置１０４の複号化手段１６と照合手段１８を備えた認証装置を構成した場合を考えてみる。この場合、作成装置１００は、ハッシュ値生成手段１２によって生成されたハッシュ値を通信手段を使用して上記認証装置に送信することにより上記認証装置から、この認証装置で秘密鍵によって暗号化された電子署名情報を受け取ることが可能となる。さらに、閲覧端末１０４では、ハッシュ値生成手段１２´によって生成されたハッシュ値と作成端末１００から受信した当該複数の電子ファイルの電子署名情報とを上記認証装置に通信手段を使用して送信することにより、上記認証装置から、上記電子署名情報の複号情報と上記ハッシュ値との照合結果を受け取ることが可能となる。
【００６１】
以上のように、本電子署名装置では、作成装置及び閲覧装置において、電子ファイルの文書情報から生成したハッシュ値とその配置情報との組み合わせ情報を生成し、更に、各電子ファイルの組み合わせ情報を所定の順番に連結させる。そして、その連結されてなるハッシュ値連結情報を単一のファイルとして、その単一ファイルから電子署名情報の基になるハッシュ値を改めて生成する。
【００６２】
この処理により、本電子署名装置では、作成装置で作成する一つの電子署名情報に複数個の電子ファイルの配置情報及び文書情報を含めることが可能になる。更に、閲覧装置で受信した電子ファイルから、上記電子署名情報の基になるハッシュ値を作成装置と同様な手順で生成することが可能になるため、当然、このハッシュ値にも配置情報及び文書情報が含まれる。そして、閲覧装置ではオリジナルの電子ファイルとの文書情報及び配置情報の等価性を、作成装置から送信された電子署名情報を基に複号化したハッシュ値と、閲覧装置において電子ファイルから生成した上記ハッシュ値とを照合することで確認できる。
【００６３】
また、本処理においてはハッシュ値を適宜使用しているため、電子署名を適用する電子ファイルが多数あった場合においても、情報の取り扱いが容易になる。
図２は、上記処理をソフトウエアで実現する作成装置（または閲覧装置）のハードウエア構成図の例である。
【００６４】
なお、作成装置及び閲覧装置は共に同じ構成をとるので、以下においては一方の作成装置について説明する事とし、必要な場合のみ閲覧装置について補足説明する。
同図には、プログラムを実行するＣＰＵ（中央演算処理部）２００、各部の制御プログラムやファイル管理プログラムなどの各種プログラムやデータを記憶するＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリ２０２、後述の電子署名処理手順や検証処理手順が記されたプログラム、文書作成プログラム、及び電子ファイルなどのデータを記録するハードディスク２０４、プログラムに命令するキーボードやマウスなどの入力部２０６、ＣＰＵにおける演算結果が出力されるＣＲＴモニタや液晶モニタやプリンタなどの出力部２０８、外部機器とデータ通信を行なう通信部２１０、及びフレキシブルディスクやＣＤ−ＲＯＭやＤＶＤなどの着脱可能な記録媒体が装着される着脱式記録部２１２がバス２１４を介して接続されている。
【００６５】
例えば文書作成プログラムが実行されるなどして作成された複数の電子ファイルは、ハードディスク２０４に記録され、ファイル管理システムによりその電子ファイルの配置情報等が管理されることになる。
【００６６】
本電子署名プログラムは、ＣＰＵ２００で当該プログラムを実行できるように、着脱可能な記録媒体から上記着脱式記録部２１２を介してハードディスク２０４に記録させたり、上記通信部２１０を介してハードディスク２０４に記録させたりすることができる。
【００６７】
ハードディスク２０４に記録された電子署名プログラムは入力部２０６の指示によりメモリ２０２にロードされ、ＣＰＵ２００で各種処理が実行される。その電子署名プログラムの実行は、先ず始めに電子署名を対象とする単一もしくは複数の電子ファイルが上記入力部２０６で選択されることにより始まる。
【００６８】
図３は、図２のブロック図で示される作成装置の電子署名作成フローの一例である。
上記ＣＰＵ２００における電子署名プログラムの実行の基で、先ず、上記入力部２０６で選択された電子署名を対象とする電子ファイルが単一であるか複数であるかを判定する（Ｓ３００）。
【００６９】
この判定により電子署名を対象とする電子ファイルは単一であると判定すると、ハードディスク２０４に記録されている当該単一の電子ファイルをメモリに読み込ませ、ハッシュ関数を用いて当該電子ファイルの文書情報からハッシュ値を計算し、計算結果をメモリ２０２に記憶する（Ｓ３０２）。
【００７０】
そして、上記計算したハッシュ値に対して、所定のアルゴリズム計算を実行させる秘密鍵により暗号化処理を施し、処理結果を電子署名情報としてメモリ２０２に記憶する（Ｓ３０４）。
【００７１】
こうして、単一の電子ファイルに対する電子署名情報を作成することができる。
このように作成された電子署名情報は、当該電子ファイル更には上記秘密鍵とペアの公開鍵と共にハードディスク２０４に記録され、上記着脱式記録部２１２から着脱可能な記録媒体に転送されたり上記通信部２１０を介するなどして閲覧者の端末に送信される。
【００７２】
一方、ステップＳ３００において電子署名を対象とする電子ファイルは複数であると判定すると、ハードディスク２０４に記録されている当該複数の電子ファイルを、一例を挙げて後述する「予め定義した所定の読み取りルール」に従ってメモリ２０２に読み込ませる（Ｓ３０６）。
【００７３】
上記「予め定義した所定の読み取りルール」に従った一つ目の電子ファイルがメモリに読み込まれると、この文書情報Ａ（Ａ＝1〜Ｎ、Ｎは正の整数）からハッシュ関数を用いてハッシュ値を計算し、計算結果をメモリ２０２に記憶する（Ｓ３０８）。
【００７４】
続いて、ステップＳ３０８でメモリ２０２に記憶されたハッシュ値と当該電子ファイルの配置情報を組み合わせてメモリ２０２に生成した変数領域Ａ（Ａ＝1〜Ｎ、Ｎは正の整数）に格納する（Ｓ３１０）。
【００７５】
ここで、上記入力部２０６で指定された複数の電子ファイルを全て処理したかどうかを判定し（Ｓ３１２）、未処理の電子ファイルがあればステップＳ３０６に戻り、「予め定義した所定の読み取りルール」に従ってハードディスク２０４に記録される未処理の電子ファイルの一つをメモリ２０２に読み込み、ステップＳ３１０までの処理を繰り返す。
【００７６】
ステップＳ３０６からステップＳ３１０の処理を電子署名を対象とする全ての電子ファイルに対して実行すると、ステップＳ３１２において上記入力部２０６で指定された複数の電子ファイルを全て処理したと判定し、続くステップＳ３１４に処理を移行する。
【００７７】
ステップＳ３１４では、ステップＳ３１０においてメモリ２０２の変数領域Ａに格納された組み合わせ情報を上記「予め定義した所定の読み取りルール」にしたがった読み込み順、すなわち変数領域１に記憶された組み合わせ情報、変数領域２に記憶された組み合わせ情報、…変数領域Ｎに記憶された組み合わせ情報の順に、連結し、メモリ２０２に生成した変数領域Ｘにその連結情報を記憶させる（Ｓ３１４）。
【００７８】
更に、上記連結情報を基に単一のファイルを作成する（Ｓ３１６）。
これにより、この単一のファイルに対して上記ステップＳ３０２からステップＳ３０４までの処理を順次実行でき、最終的に上記複数の電子ファイルに対する一つの電子署名情報を生成することができる。
【００７９】
なお、閲覧装置における電子署名検証フローは、通信部２１０或いは着脱式記録部２１２から閲覧装置のハードディスク２０４に記録した上記単一或いは複数の電子ファイルを対象に、上記ステップＳ３０４以外の処理を閲覧装置のＣＰＵ２００に実行させて、上記単一或いは複数の電子ファイルのハッシュ値を生成する。また、従来から知られている方法であるが、通信部２１０或いは着脱式記録部２１２から閲覧装置のハードディスク２０４に記録した当該電子ファイルの電子署名情報をメモリ２０２に読み出し、上記秘密鍵のアルゴリズム計算に対称となるアルゴリズム計算を実行する公開鍵によって複号化処理を施し、上記電子署名情報を基のハッシュ値に複号させる。そして、上記各々の方法で抽出されたハッシュ値を照合して一致度を判定する。この一致度の判定により各ハッシュ値が一致していれば、閲覧装置で取得した電子ファイルの文書情報及びそれらの配置関係がオリジナルと変わらない事が確認できる。また、この一致度の判定により各ハッシュ値が一致していなければ、閲覧装置で取得した電子ファイルは、その電子ファイルの取得途中で第３者によってオリジナルの電子ファイルの文書情報や配置関係に手を加えられた電子ファイルである事が確認できる。
【００８０】
なお、上記電子ファイルの作成や閲覧を行なうユーザは、上記出力装置のモニタ画面を見ながら対話式に、上記電子ファイルに対して電子署名を適用したり、電子署名が適用された電子ファイルに対するオリジナルの電子ファイルとの等価性の検証を行なったりすることができる。
【００８１】
また、上述した処理の一部を上記作成端末及び閲覧端末以外で行なわせるようにしても良い。
例えば、ステップＳ３０２が完了した後、通信ネットワーク上に構成される認証装置に対して上記作成装置の通信部２１０からステップＳ３０２で計算したハッシュ値を送信する。そして、ステップＳ３０４の処理を上記認証装置で行なわせ、ステップＳ３０４で得られた電子署名情報を上記作成装置で通信部２１０から取得するようにしても良い。
【００８２】
また、閲覧装置における電子署名検証フローにおいては、通信部２１０或いは着脱式記録部２１２から閲覧装置のハードディスク２０４に記録した上記単一或いは複数の電子ファイルを対象に、上記ステップＳ３０４以外の処理を閲覧装置のＣＰＵ２００に実行させて、上記単一或いは複数の電子ファイルのハッシュ値を生成する。そして、このハッシュ値及び閲覧装置から取得した電子署名情報を閲覧装置の通信部２１０から上記認証装置に送信し、当該認証装置において各情報の照合処理を行なわせるようにしても良い。
【００８３】
また、上記電子署名検証フローは、閲覧端末ではなく、閲覧端末からの遠隔操作の下で作成端末において実行させるようにしてもよい。
図４は、上記「予め定義した所定の読み取りルール」の一例を説明するための図である。
【００８４】
本例における読み取りのルールは、第１に各階層において電子ファイルよりもフォルダを優先して読み取ることを前提とし、第２に同じく各階層においてフォルダ名称またはファイル名称のアルファベットの昇順のものを優先して読み取ることを前提とする。そして、上記前提条件の下、上位階層から同一経路内の下位階層に向けて電子ファイルを探索してその末端に配置された電子ファイルを優先して読み取り、経路途中に分岐点がある場合は、末端に配置された電子ファイルの探索が終わった後に当該階層または直近上位の階層における経路の分岐点からその他に残された探索経路をさらに下位の階層に向けて探索し、その末端に配置された電子ファイルを続いて読み取る事とする。
【００８５】
このように決められたルールに従ってハードディスクからメモリに読み出されるに電子ファイルの文書情報及び当該電子ファイルの配置情報は、それらの組み合わせを配列変数ＤＩＲ[ｍ][ｎ]＝[ｍ]＋[ｎ]＋[電子ファイルの文書情報のハッシュ値]で示す事ができる。この「ｍ」は、電子ファイル管理手段１で管理される電子ファイルが収容されるフォルダの階層を表し、「ｎ」は、同一階層内のファイルの読み取り順序を表し、何れの値も１から始まる正の整数である。
【００８６】
さて、同図に示される配置構成の例に基づいて上記ルールを適用させることを考える。
同図の配置構成は、ルート上に3つのフォルダと2つの電子ファイルが並列に並んだ第１階層（同図左端の破線４００で示した階層）を最上位の階層とし、その各フォルダに属するフォルダをさらに展開したものを同図の右に順次示すようにしたことで明らかなように、第１階層から深さが第４階層にまで及ぶ構成（第１階層４００、第２階層４０２、第３階層４０４、第４階層４０６）をとっている。
【００８７】
この構成における各電子ファイルは、上記読み取りルールに従えば、同図の一番上に示される探索経路の末端の電子ファイル（第３階層４０４の二つの電子ファイルＡ、Ｂ）が最初の読み取り対象となる。続いて、同図の第１階層から延びる上から二つ目の探索経路の最も深い第４階層４０６に位置する２つの電子ファイルＣ、Ｄが続く読み取り対象となる。その次は上記二つ目の探索経路の最も深い第４階層４０６の直近上位の第３階層４０４で分岐して示される１つの電子ファイルＥが続く読み取り対象となる。以降も同様なルールで電子ファイルの読み込み順序が決定され、結果的に各電子ファイルは同図にアルファベットの大文字の昇順（Ａ、Ｂ、Ｃ、Ｄ、・・・）で示される順番に読み取られることとなる。
【００８８】
なお、上述したルールで読み取られた電子ファイルを対象にメモリに記憶される上記配列変数（ＤＩＲ[ｍ][ｎ]）を、同図の各電子ファイルの右隣に示す事とした。例えば、同図の電子ファイルＩを代表して説明すると、当該電子ファイルは第１階層の二つの電子ファイルのうちの二つ目の電子ファイルにカウントされるため、その配列変数はＤＩＲ[１][２]と示される。そして、その電子ファイルＩの文書情報のハッシュ値を仮に「beub/rkd86」とすると、上記配列変数ＤＩＲ[１][２]の示す値（[ｍ]＋[ｎ]＋[電子ファイルの文書情報のハッシュ値]）は「12beub/rkd86」となる。
【００８９】
ところで、上記[ｎ]は必ずしも必要ではない。なぜならば、[ｎ]は上記読み取りルールで定義された読み取り順番そのものを示す情報であり、上述したようにその読み取った順番で配列変数に設定した情報を連結させれば、その連結順が入れ替わらない限り、その配列順が上記[ｎ]の役割を果たすからである。
【００９０】
図５は、上記配列変数に示される[ｍ]の必要性を証明する図である。
同図の左にはオリジナルの電子ファイルの配置構成が示され、同図の右にはオリジナルの配置構成を変更した後の配置構成が示される。
【００９１】
本例のオリジナルの電子ファイルの配置構成は、ルート上に2つのフォルダと2つの電子ファイルが並列に並んだ第１階層（同図左端の破線５００で示した階層）と、その一方のフォルダに属する一つのフォルダと二つの電子ファイルａ、ｂの第２階層５０２とからなる。そして、変更後の配置構成は、オリジナルの電子ファイルの配置構成に示される第１階層５００の電子ファイルｃを第２階層５０２の電子ファイルｂの次の位置に移動させている。
【００９２】
しかし、本例のような配置変更の場合、電子ファイルｃを上記のように移動させても、上記読み取りルールの下では移動後の配置構成における電子ファイルの読み取り順番は移動前と変わらない。
【００９３】
よって、上記[ｍ]の情報を付加させなければ、本例のような配置変更の場合はその配置の変化を検出することができなくなってしまう。よって、上記[ｍ]は、上述した配置変更をも検出させたい場合には必要な情報である。
【００９４】
なお、図４及び図５で示した電子ファイルの配置構成やその読み込みルールは一例であり、この他にも様様な配置構成が考えられ、上記読み込みルールも適宜、自由に定義することができる。
【００９５】
以上のように、本実施形態においては、複数の電子ファイルの文書情報及び階層構造中のその電子ファイルの配置情報を電子署名情報にまとめて収録させることができる。
このため、複数の電子ファイルに対して電子署名情報を作成する場合、電子ファイルの一つ一つに対して電子署名情報を作成する必要がなくなり、電子署名情報の作成が容易になる。また、それらの電子ファイルを検証する際にも、一つの電子署名情報を用いるだけで各々の電子ファイルの文書情報及び配置情報の等価性を一度に検証できるので、検証が容易に行なえるようになる。
【００９６】
更に、上述したように電子署名情報に配置情報が収録されているので、アーカイバを用いて各電子ファイルを単一の電子ファイルに加工する必要がなくなり、よって、この加工された単一の電子ファイルで複数の電子ファイルの受け渡しを行なうことなく、加工前の複数の電子ファイルのままの受け渡しを可能にする。
【００９７】
図６は、本発明を実施するための最良の形態のその他の一つである、電子ファイル（本例では、文書情報に限らず、図面データ等の特に大きなデータ量をもつものも含む）の版数の等価性の検証を可能にする電子署名装置の構成図である。
【００９８】
同図に示されるように、当該電子署名装置は、管理装置６００及び電子ファイル利用装置６５０が互いにＬＡＮやインターネットなどの通信ネットワーク６８０によって接続された態様をとる。
【００９９】
同図の管理装置６００には、電子署名情報生成手段６１、電子署名情報管理手段６２、電子ファイル提供手段６３、及び管理装置側照合手段６４が構成される。
一方の電子ファイル利用装置６５０には、識別情報生成手段６５、第一の照合手段６６、及び第二の照合手段６７が構成される。
【０１００】
なお、図中の矢印は、各手段間でやり取りされる情報の流れを示している。
上記電子署名情報生成手段６１は、新規作成または更新された一つ一つの電子ファイルを単位として、電子ファイルを一意に識別するための識別情報と、当該電子ファイルが属するカテゴリ内における最新の版数情報を生成する。なお、上記「識別情報」としては、例えば所定の手順で当該電子ファイルから生成したチェックコードなどが利用できる。また、上記「電子ファイルが属するカテゴリ内における最新の版数情報」とは、例えば上記「カテゴリ」を電子ファイルがもつ「主題」としたならば、同一主題をもつ電子ファイルの内でそれらの電子ファイルに対して未だ付与されていない最新の版数情報を意味し、後述の電子署名情報管理手段で管理されている「版数情報」に基づいて最新の版数情報を生成できる。
【０１０１】
上記電子署名情報管理手段６２は、電子署名情報生成手段６１で生成された「識別情報」と「版数情報」を関連付けて管理する。なお、以下においては上記電子署名情報管理手段６２に管理される上記「識別情報」と上記「版数情報」の組み合わせを「版数管理情報」とも呼ぶことにする。
【０１０２】
電子ファイル提供手段６３は、不図示の電子ファイルと、電子署名情報管理手段６２に管理される上記電子ファイルの「情報識別情報」と「版数情報」とを、共に関連付けして電子ファイル利用装置６５０に提供する。以下、電子ファイル利用装置６５０に提供される上記「識別情報」と上記「版数情報」とを組み合わせた情報を「電子署名情報」と呼ぶこととする。
【０１０３】
上記提供方法としては、例えばフレキシブルディスクなどの可搬型記憶媒体に上記「電子ファイル」と上記「電子署名情報」を共に格納し、オフラインで電子ファイル利用装置６５０に提供する方法がある。またその他の方法としては、例えば上記「電子ファイル」と上記「電子署名情報」を関係付けして通信ネットワークを介して電子ファイル利用装置６５０に提供する方法などもある。
【０１０４】
上記管理装置側照合手段６４は、電子ファイル利用装置６５０から通信ネットワーク６８０を介して「電子署名情報」を受信し、該「電子署名情報」と上記電子署名情報管理手段６２に管理されている「識別情報」及び「版数情報」とを照合する。そして、例えば電子ファイル利用装置６５０から送信された「電子署名情報」に対応する「識別情報」及び「版数情報」が電子署名情報管理手段６２に含まれている場合は「一致」、一致する情報が含まれていない場合は「不一致」など、その照合結果を通信ネットワーク６８０を介して上記電子ファイル利用装置６５０へ返信する。
【０１０５】
上記識別情報生成手段６５は、例えば管理装置６００の電子ファイル提供手段６３から通信ネットワーク６８０を介して提供された或いはオフラインで提供されるなどした「電子署名情報」及び「電子ファイル」を対象とし、管理装置６００の電子署名情報生成手段６１と同様の手順で上記「電子ファイル」から上記「識別情報」を生成する。
【０１０６】
第一の照合手段６６は、上記識別情報生成手段６５で「電子ファイル」から生成した「識別情報」と、該「電子ファイル」に関連付けされている「電子署名情報」に含まれる「識別情報」とを照合する。この照合により互いの「識別情報」が一致していなければ、当該電子ファイルが例えば改竄されるなどした不正の電子ファイルである（オリジナルではない）ことが確認され、電子ファイル利用装置６５０における利用を防止できる。
【０１０７】
第二の照合手段６７は、上記第一の照合手段６６の照合により互いの「識別情報」が一致した場合に作用する。本手段６７は、第一の照合手段６６で一致が確認された上記「電子ファイル」が管理装置６００で管理されている正規の電子ファイルであるか否かを確認するために、該「電子ファイル」に関連付けされている上記「電子署名情報」を通信ネットワーク６８０を介して管理装置６００の管理装置側照合手段６４へ送信する。そして、先に説明した、管理装置側照合手段６４の照合により得られた当該電子署名情報の照合結果を、通信ネットワーク６８０を介して受信する。この照合により、電子ファイル利用装置６５０に提供された電子ファイルが電子署名情報管理手段６２によって管理されている正規の電子ファイルであるか否かを管理装置６００に「電子署名情報」を送信するだけで検出でき、その結果として、例えば不正に更新された未登録の電子ファイルなどの利用を防止できる。
【０１０８】
なお、上記識別情報生成手段６５、第一の照合手段６６、及び第二の照合手段６７は、全てまたはその一部の機能を管理装置６００の電子ファイル提供手段６３から提供してもよい。例えば、電子ファイル利用装置６５０がパーソナルコンピュータなどの汎用コンピュータであった場合、上記電子ファイル提供手段６３は、「電子ファイル」及び「電子署名情報」と共に、上記各手段で行なわれる処理手順が記載されたプログラムやデータを例えば可搬型記憶媒体に記憶させて提供することもできる。この場合、詳しくは後述するが、電子ファイル利用装置６５０は当該プログラムやデータをメモリにロードし、該プログラムをＣＰＵ（中央演算処理装置）で実行させることにより、上記各種機能を実現させることができる。
【０１０９】
図７から図１４は、電子ファイルの版数の等価性を検証できる環境をソフトウエア処理で実現させた場合の例である。
図７は、上記管理装置６００及び上記電子ファイル利用装置６５０のハードウエア構成図である。
【０１１０】
同図には、各種プログラムを実行するＣＰＵ（中央演算処理部）７１、各部の制御プログラムや、例えばデータベースに対する情報の登録・検索・更新・削除等を行なうデータベース管理プログラムやＸＭＬ文書を取り扱うためのＸＭＬ解析プログラム等の各種プログラムや、各種のデータを記憶するＲＡＭやＲＯＭなどのメモリ７２、後述の電子署名を用いた電子ファイルの真正検証に使用される各種プログラムやデータを記録するハードディスク７３、フレキシブルディスクやＣＤ−ＲＯＭやＤＶＤなどの着脱可能な記憶媒体Ｂが装着される着脱式記憶部７４、プログラムに命令するキーボードやマウスなどの入力部７５、ＣＰＵにおける演算結果等が出力されるＣＲＴモニタや液晶モニタやプリンタなどの出力部７６、及び電子ファイル利用装置とデータ通信を行なう通信部７７がバス７８を介して接続されている。
【０１１１】
なお、同図のハードディスク７３には、電子ファイルの版数を管理するためのデータベースが構築されている。これらのデータベースは、データベース管理プログラムによって管理され、このプログラムを介することにより情報の登録、更新、削除、検索等が行なわれる。
【０１１２】
図８は、上記データベースに構成されている版数管理テーブルの一例である。
同図に一例として示されている版数管理テーブル８００は、電子ファイルに付与された主題を登録するための「主題」の欄８０１、同一主題をもつ電子ファイルの版数を登録するための「版数」の欄８０３、電子ファイルの作成／更新日を登録するための「日付」の欄８０５、及び電子ファイルから所定手順で生成した「識別情報（チェックコードとも呼ぶ）」を登録するための「チェックコード」の欄８０７が設けられており、一電子ファイル毎に、横一列の一レコード分の情報（つまり、「版数管理情報」）が登録される。
【０１１３】
なお以下の説明で版数管理テーブルを引用する場合、特に説明しない限り本例の版数管理テーブルを使用するものとする。
一方の電子ファイル利用装置６５０は、各種プログラムを実行するＣＰＵ（中央演算処理部）８１、各部の制御プログラムや、ＸＭＬ文書を取り扱うためのＸＭＬ解析プログラム等の各種プログラムや、各種のデータを記憶するＲＡＭやＲＯＭなどのメモリ８２、後述の電子署名を用いた電子ファイルの真正検証に使用される各種プログラムやデータを記録するハードディスク８３、フレキシブルディスクやＣＤ−ＲＯＭやＤＶＤなどの着脱可能な記憶媒体Ｂが装着される着脱式記憶部８４、プログラムに命令するキーボードやマウスなどの入力部８５、ＣＰＵ８１における演算結果等が出力されるＣＲＴモニタや液晶モニタやプリンタなどの出力部８６、及び電子ファイル利用装置とデータ通信を行なう通信部８７がバス８８を介して接続されている。
【０１１４】
以下、電子ファイルの版数の等価性を検証するために管理装置６００及び電子ファイル利用装置６５０で実行される各種処理について説明する。
図９は、管理装置６００で行なわれる、版数管理情報を登録するための処理フローである。
【０１１５】
以下の処理は、例えば、着脱式記憶部７４に装着された記憶媒体Ｂの電子ファイル（新規作成した電子ファイルや更新後の電子ファイルなど）やハードディス７３の電子ファイルが入力部７５から選択指定され、その電子ファイルがメモリ７２に読み込まれることにより、ＣＰＵで７１で実行される。
【０１１６】
先ず、指定された電子ファイルから一意のチェックコードを算出する（Ｓ９００）。当該チェックコードの算出方法としては、例えば、簡易なチェックＳＵＭを算出する方法や、階層構造中にある電子ファイルの配置の等価性を検証する先の電子署名装置の例で説明したハッシュ関数を用いてハッシュ値を算出する方法など、その他にも既存の数多くの算出方法があるが、その方法はここでは特に限定されない。
【０１１７】
続いて、ハードディスク７３に構成されている版数管理テーブル（図８）を参照し、当該電子ファイルに対する最新の版数情報を生成する（Ｓ９０２）。図８の版数管理テーブルの場合、当該電子ファイルの主題情報をキーに版数管理テーブル８００の「主題」の欄８０１から同一の主題情報をもつレコードをメモリ７２に読み出し、その内の「版数」の欄８０３の最新の版数に「１」を加えた数を版数情報として新たに生成する。
【０１１８】
図１０（ａ）は、上記版数管理テーブル（図８）に新たに版数管理情報を登録する電子ファイルと同一主題の電子ファイルの版数管理情報が前もって複数登録されていた場合を示す例である。本例では上記主題を「ＴｅｓｔＰｒｏｇｒａｍ」とし、該「ＴｅｓｔＰｒｏｇｒａｍ」を主題にもつレコードの全てを版数が大きくなる順に同図の上から下に並べて表示させている。なお、同図には特に示されていないが、他の主題をもつ版数管理情報も同一または其の他のテーブルに同様な形式で登録されている。
【０１１９】
同図の例の場合、版数は「０５」まで登録されているため、上記ステップＳ９０２が実行されると版数「０５」に１を追加した版数「０６」が新たに生成されることになる。
ここで一旦、図９に戻って続くステップＳ９０４の処理について説明し、この処理について図１０（ｂ）を用いて補足説明する。
【０１２０】
ステップＳ９０４では、ステップＳ９００で生成したチェックコードとステップＳ９０２で生成した版数とを上記版数管理テーブルに関連付けして登録する。
図１０（ｂ）は、上記ステップＳ９０４により最新の版数管理情報が登録された場合の図１０（ａ）の更新後の状態を示す図である。
【０１２１】
上述したように図１０（ａ）には最新の版数が「０５」までの版数管理情報が登録されている。これに対し、上記ステップＳ９０４の登録処理ではステップＳ９００で生成された当該電子ファイルの「チェックコード」とステップＳ９０２で生成された「版数」（「０６」）が上記図１０（ａ）に新たに追加登録される。なお本版数管理テーブルの例では、上記「チェックコード」及び「版数」の他に「電子ファイルの作成／更新日付」の欄を有しているため、当該電子ファイルの作成日や更新日が同一のレコードに追加登録される。
【０１２２】
ここで再び図９の処理の説明に戻る。
ステップＳ９０４の処理が行なわれると、上記処理により生成された「チェックコード」及び最新の「版数情報」を含めた「電子署名情報」を作成し、当該処理対象の電子ファイルと共に上記作成した「電子署名情報」を着脱記憶装置７４に装着された記憶媒体Ｂに格納する（Ｓ９０６）。
【０１２３】
図１１は、図１０（ａ）から図１０（ｂ）のように更新が行なわれた場合に作成される「電子署名情報」の一例である。
本例では、上記処理により生成された「チェックコード」及び最新の「版数情報」だけでなく、その処理対象であった電子ファイルの「主題」及び「作成日・更新日」もその「電子署名情報」に含め、ＸＭＬで作成している。
【０１２４】
特に詳しくは説明しないが、同図のＸＭＬで作成された「電子署名情報」には上記各種登録情報（つまり、「ＴｅｓｔＰｒｏｇｒａｍ」、「０６」、「２００３−１２−３１」、「!”#$%&’()=」）は、版数管理テーブルの各項目名を用いたタグで挿まれて示されている。
【０１２５】
図１２は、電子ファイル利用装置６５０で行なわれる、電子ファイルの等価性を検出するための処理フローである。
以下の処理は、例えば、電子ファイル及び電子署名情報を格納した記憶媒体Ｂを着脱式記憶部８４に装着され、入力部８５から選択指定された電子ファイル及び電子署名情報の一組みが後述するようにメモリ８２に読み込まれることにより、ＣＰＵで８１で実行される。
【０１２６】
先ず、着脱式記憶部８４に装着した記憶媒体Ｂに格納されている所定の電子ファイルをメモリに８２に読み出す（Ｓ１２００）。
そして、上記読み出した電子ファイルから、電子ファイルに一意のチェックコードを算出する（Ｓ１２０２）。この算出方法は、管理装置６００で行なわれるチェックコードの算出処理（図９のステップＳ９００の処理）と同様の方法で行なわれるようにする。
【０１２７】
続いて、上記記憶媒体Ｂから、当該電子ファイルと関連付けされた電子署名情報中のチェックコード（図１１の例では、チェックコードのタグに挟まれている「!”#$%&’()=」）を抽出し、ステップＳ１２０２で算出されたチェックコードと照合する（Ｓ１２０４）。
【０１２８】
そして、互いのチェックコードが一致しているか否か判定する（Ｓ１２０６）。
ここで一致していないと判定されると、その旨を例えば電子ファイル利用装置の表示装置に出力するなどして（Ｓ１２０８）、当該処理を終了する。
【０１２９】
一方、ステップＳ１２０６において一致していると判定されると、当該電子ファイルに関連付けされた電子署名情報を記憶媒体Ｂから読み出し、この電子署名情報を通信部８７から管理装置６００の通信部７７へ送信するように処理する（Ｓ１２１０）。
【０１３０】
そして、当該電子ファイルの電子署名情報の上記送信処理後に、上記管理装置６００で後述の処理により得られた当該電子ファイルに対する照合結果を電子ファイル利用装置６５０の通信部８７で受信すると、当該照合結果を例えば表示装置に出力するなどし、当該処理を終了する（Ｓ１２１２）。
【０１３１】
図１３は、上記ステップＳ１２１２に記述の、管理装置６００で行なわれる照合結果を得るための処理フローである。
先ず、図１２のステップＳ１２１０の処理で電子ファイル利用装置６５０から伝送された「電子署名情報」を管理装置６００の通信部７７で受信すると（Ｓ１３００）、該「電子署名情報」をメモリ７２に読み込んで、以下に続く照合処理をＣＰＵ７１で実行する。
【０１３２】
「電子署名情報」から各種情報（少なくとも「チェックコード」を示す情報及び「版数」を示す版数情報）を抽出し、ハードディスク７３の版数管理テーブル（図８）から、上記情報（少なくとも「チェックコード」を示す情報及び「版数」を示す版数情報）を対応する項目にもつレコードを検索する（Ｓ１３０２）。この検索は、上記レコードを版数管理テーブルから抽出する指示が書かれたＳＱＬ文をデータベース管理プログラムに発行するなどして実施することが可能で、この場合、データベース管理プログラムからその結果を受け取る。なお、「電子署名情報」に「主題」を示す情報が含まれている場合は、「電子署名情報」からこの情報を抽出してこの情報をキーに版数管理テーブルから上記レコードを検索すれば、効率的な検索が可能になる。
【０１３３】
そして、ステップＳ１３０２で検索結果が得られると、電子ファイル利用装置６５０に対する照合結果を作成し、その照合結果を電子ファイル利用装置６５０へ返信する（Ｓ１３０４）。上記照合結果は、ステップＳ１３０２で該当するレコードが得られた場合は管理装置６００から提供された電子ファイルである旨を通知する情報が含まれ、一方、ステップＳ１３０２で該当するレコードが得られなかった場合は管理装置６００から提供された電子ファイルでない旨を通知する情報が含まれる。
【０１３４】
図１４は、「電子署名情報」と版数管理テーブルとの照合方法を説明するための図である。
本例では、ＸＭＬで作成された電子署名情報１４００が使用され、当該電子署名情報１４００には、「主題」に「ＴｅｓｔＰｒｏｇｒａｍ」、「版数」に「０５」、「日付」に「２００３−０５−０５」、「チェックコード」に「|\^-=’7Sj&$」が記述されている。
【０１３５】
そして、これら全ての情報と版数管理テーブル１４０２の登録情報を照合すると、本例の場合、版数管理テーブル１４０２の「版数」が「０５」のレコードに一致する。
このため、電子ファイル利用装置６５０へ返信される照合結果としては、当該電子署名情報に関連づけされる電子ファイルは管理装置６００から提供された電子ファイルであることを通知する情報として作成される。
【０１３６】
なお、これまでに説明した電子ファイル利用装置６５０で行なわれる各種処理は、電子ファイル利用装置に予め組み込まれていても良いし、或いは、電子ファイル利用装置６５０で実行できるように管理装置６００から提供できるようにしても良い。電子ファイル利用装置６５０で実行できるように管理装置６００から提供する場合は、プログラムの形態で例えば記憶媒体に記憶させるなどして上記電子ファイル及び上記電子署名情報と共に配布できる。
【０１３７】
このように本実施形態では、電子ファイルと共に、この電子ファイルから生成したチェックコードと管理装置で付与した版数情報を含む電子署名情報を電子ファイル利用装置に提供する。そして、電子ファイル利用装置では、管理装置と同じ手順で当該電子ファイルからチェックコードを算出して上記電子署名情報のチェックコードと照合する。
【０１３８】
このため、当該電子ファイルがオリジナルであるか否かのチェックは電子ファイル利用装置で行なう事ができ、当該電子ファイルが管理装置に管理された所定の版数のものであるかのチェックは、管理装置に電子署名情報の必要最小限の情報を送るだけで行なう事が可能になり、通信ネットワークや各機器に対する負荷を軽減できる。
【０１３９】
なお、これまでに説明してきた全ての処理はプログラムの形態で配布することもできる。
その場合、フレキシブルディスク、ＣＤ−ＲＯＭ、  ＤＶＤなどの記憶媒体に上記プログラムやファイルを記録させて配布したり、或いは、公衆網等で用いられる伝送媒体を介して、そのプログラムやファイルの一部、若しくは全部を配信するようにしたりすることができる。
【０１４０】
この場合、それを受けとったユーザは、図１５に示されるコンピュータ１５００のＣＤ−ＲＯＭ装置１５０２などの読取装置を利用して上記記録媒体から上記プログラムやファイル（プログラム製品１５０４）をコンピュータ１５００のハードディスクにコピーしたり、コンピュータ１５００の通信部１５０６を介してインターネットから上記プログラムやファイルをハードディスクにコピーしたりすることができる。そして、ハードディスクにコピーした各プログラムやファイルをメモリに読み込んでＣＰＵで処理を実行させることにより、ユーザのコンピュータで、上記各機能を実現させることが可能になる。
【図面の簡単な説明】
【０１４１】
【図１】階層構造中にある電子ファイルの配置の等価性を検証する電子署名装置の構成図である。
【図２】作成装置（或いは閲覧装置）のブロック図である。
【図３】図２のブロック図で示される作成装置の電子署名作成フローである。
【図４】「予め定義した所定の読み取りルール」の一例を説明するための図である。
【図５】配列変数に示される[ｍ]の必要性を証明する図である。
【図６】電子ファイルの版数の等価性の検証を可能にする電子署名装置の構成図である。
【図７】管理装置６００及び電子ファイル利用装置６５０のハードウエア構成図である。
【図８】版数管理テーブルの一例である。
【図９】管理装置６００で行なわれる、版数管理情報を登録するための処理フローである。
【図１０】版数管理テーブルの更新例である。
【図１１】「電子署名情報」の一例である。
【図１２】電子ファイル利用装置６５０で行なわれる、電子ファイルの等価性を検出するための処理フローである。
【図１３】管理装置６００における照合結果を得るための処理フローである。
【図１４】「電子署名情報」と版数管理テーブルとの照合方法を説明するための図である。
【図１５】プログラムの配布形態を示した図である。
【図１６】従来の電子署名処理フローである。
【符号の説明】
【０１４２】
１  電子ファイル管理手段
２  個別ハッシュ値生成手段
３  配置情報関係付け手段
４  ハッシュ値連結手段
５  統合電子ファイル生成手段
１０、１０´  単一電子ファイル代替手段
１２、１２´  ハッシュ値生成手段
１４  暗号化手段
１６  複号化手段
１８  照合手段
１００  作成装置
１０２  通信ネットワーク
１０４  閲覧装置
【図１】
2005115933.tif 000003
【図２】
2005115933.tif 000004
【図３】
2005115933.tif 000005
【図４】
2005115933.tif 000006
【図５】
2005115933.tif 000007
【図６】
2005115933.tif 000008
【図７】
2005115933.tif 000009
【図８】
2005115933.tif 000010
【図９】
2005115933.tif 000011
【図１０】
2005115933.tif 000012
【図１１】
2005115933.tif 000013
【図１２】
2005115933.tif 000014
【図１３】
2005115933.tif 000015
【図１４】
2005115933.tif 000016
【図１５】
2005115933.tif 000017
【図１６】
2005115933.tif 000018