(57)【要約】【課題】共有する署名用鍵を用いて、署名依頼者が大量電子データの署名依頼をするとき、効率よくサーバの記憶装置を圧迫しない電子署名システムを実現することを課題とする。【解決手段】ハッシュデータ作成手段１２が所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成し、ハッシュデータ統合手段１４が所定のハッシュ関数を用いて、第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成し、署名手段１６が統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成し、カプセルデータ生成手段１８が署名データに、第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成する。【選択図】        図２０
2006060724.tif 000002
【特許請求の範囲】
【請求項１】
署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、
所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、
所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、
上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、
上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、
上記カプセルデータを上記電子署名サーバに送信する送受信手段、
を備えた署名依頼者端末と、
上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、
上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をする共有署名手段、
を備えた電子署名サーバと、
を有することを特徴とする電子署名システム。
【請求項２】
署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、
所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、
所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、
上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、
上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、
上記カプセルデータを上記電子署名サーバに送信する送受信手段、
を備えた署名依頼者端末と、
上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、
上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、署名データに署名日時を付加して、共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名手段、
上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、また上記共有署名手段が電子署名をした署名処理日時を取得して、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び署名処理日時からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成手段、
を備えた電子署名サーバと、
を有することを特徴とする電子署名システム。
【請求項３】
さらに電子署名サーバは、
所定の端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証手段、
上記共有署名付き電子データの署名データに含まれる署名日時と上記ログデータファイルに記録されている署名処理日時とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証手段、
上記第２の署名検証手段で特定された上記ログ記録データ内の該当のハッシュデータを、上記第１の検証手段で生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数ハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証手段、
上記第２の署名検証手段で特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、上記第３の署名検証手段が生成したハッシュデータを比較することにより検証する第４の署名検証手段とを備えたことを特徴とする請求項２に記載の電子署名システム。
【請求項４】
署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、
所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、
所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、
上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、
上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、
上記カプセルデータを上記電子署名サーバに送信する送受信手段、
を備えた署名依頼者端末と、
上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、
上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、また電子署名をする度ごとに加算される単一の処理番号を取得して、この処理番号を付与した共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名手段、
上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、署名データ、第１のハッシュデータ、第２のハッシュデータ及び上記処理番号からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成手段、
を備えた電子署名サーバと、
を有することを特徴とする電子署名システム。
【請求項５】
さらに電子署名サーバは、
所定の端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の署名検証手段、
上記共有署名付き電子データの署名データに含まれる処理番号と上記ログデータファイルに記録されている処理番号とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証手段、
上記第２の署名検証手段で特定された上記ログ記録データ内の該当のハッシュデータを、上記第１の検証手段で生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数のハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証手段、
上記第２の署名検証手段で特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証手段が生成したハッシュデータを比較することにより検証する第４の署名検証手段とを備えたことを特徴とする請求項４に記載の電子署名システム。
【請求項６】
上記カプセルデータ生成手段は、カプセルデータ生成時に共有署名処理後の処理を当該各電子データ毎に付与することができ、
さらに電子署名サーバは、
当該各電子データ毎に付与された共有署名処理後の処理に基づき、署名依頼者端末へ送信、電子署名サーバに保管または、特定の検証依頼者端末へ送信の処理を行う送受信手段を備えたことを特徴とする請求項１〜５のいずれかに記載の電子署名システム。
【請求項７】
電子署名サーバとネットワーク接続された署名依頼者端末に実行させるための電子署名プログラムであって、
所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成ステップと、
所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合ステップと、
上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名ステップと、
上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成ステップと、
上記カプセルデータを上記電子署名サーバに送信する送受信ステップと
を実行させるための電子署名プログラム。
【請求項８】
所定の端末とネットワーク接続され、カプセルデータまたは共有署名付き電子データを送信される電子署名サーバに実行させるための電子署名プログラムであって、
上記端末からカプセルデータが送信されたとき、
受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証ステップと、
上記署名検証ステップの検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、署名データに署名日時を付加して、共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名ステップと、
上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、また上記共有署名ステップで電子署名をした署名処理日時を取得して、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び署名処理日時からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成ステップとを実行させ、
上記端末から共有署名付き電子データが送信されたとき、
上記端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証ステップと、
上記共有署名付き電子データの署名データに含まれる署名日時と上記ログデータファイルに記録されている署名処理日時とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証ステップと、
上記第２の署名検証ステップで特定された上記ログ記録データ内の該当のハッシュデータを、上記第１の検証ステップで生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数のハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証ステップと、
上記第２の署名検証ステップで特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証ステップが生成したハッシュデータを比較することにより検証する第４の署名検証ステップと
を実行させるための電子署名プログラム。
【請求項９】
所定の端末とネットワーク接続され、カプセルデータまたは共有署名付き電子データを送信される電子署名サーバに実行させるための電子署名プログラムであって、
上記端末からカプセルデータが送信されたとき、
受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証ステップと、
上記署名検証ステップの検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、また電子署名する度ごとに加算される単一の処理番号を取得して、この処理番号を付与した共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名ステップと、
上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び上記処理番号からログ記録データを生成し、このログ記録データをログファイルに記録させるログ生成ステップとを実行させ、
上記端末から共有署名付き電子データが送信されたとき、
上記端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証ステップと、
上記共有署名付き電子データの署名データに含まれる処理番号と上記ログデータファイルに記録されている処理番号とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証ステップと、
上記第２の署名検証ステップにて特定された上記ログ記録データ内の該当のハッシュデータを、上記第１の検証ステップで生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数のハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証ステップと、
上記第２の署名検証ステップで特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証ステップが生成したハッシュデータを比較することにより検証する第４の署名検証ステップと
を実行させるための電子署名プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子署名システムに関し、さらに詳しくは複数の文書に対する署名要求を受付け、共有する署名用鍵を用いて、署名をする電子署名システムに関するものである。
【背景技術】
【０００２】
従来の電子署名システムでは、共有する署名用鍵を用いて電子署名をするとき、個々の電子データを個別に暗号化して、共有署名用鍵を管理しているサーバに送信して、電子署名処理を行っていた。また、署名依頼書の否認防止のため、暗号化した電子データをサーバに登録していた。
【０００３】
例えば特許文献１（特開２００２−２４７０３１号公報）には、要求元クライアントで登録対象電子文書、宛先等を指定し、個人識別情報と共にサーバに送信すると、サーバでは個人識別情報と関連付けられている組織固有の秘密鍵により、登録対象電子文書を暗号化、また登録対象電子文書と暗号化文書とを登録し、また、宛先から参照要求が送られてきたときは、予め登録されている組織固有の公開鍵で復号化して、宛先に送信する技術が開示されている。
【０００４】
このような従来の電子署名システムでは、署名依頼者が大量電子データを処理する場合であっても、個々の電子データ毎に、暗号化し、暗号化した電子データを送信する方法しかなく、一括処理ができないため、処理に時間を要した。また、署名依頼書の否認防止のため、暗号化した電子データを保管するためには、サーバの大容量の記憶装置を要することになり、サーバの記憶装置を圧迫することにもなっていた。
【特許文献１】特開２００２−２４７０３１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明が解決しようとする課題は、共有する署名用鍵を用いて、署名依頼者が大量電子データの署名依頼をするとき、効率よく処理でき、またサーバの記憶装置を圧迫しない電子署名システムを実現することである。
【課題を解決するための手段】
【０００６】
本発明に係る電子署名システムは、署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、上記カプセルデータを上記電子署名サーバに送信する送受信手段、を備えた署名依頼者端末と、
上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をする共有署名手段、
を備えた電子署名サーバとを有するものである。
【０００７】
また本発明に係る電子署名システムは、署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、上記カプセルデータを上記電子署名サーバに送信する送受信手段、を備えた署名依頼者端末と、上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、署名データに署名日時を付加して、共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名手段、上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、また上記共有署名手段が電子署名をした署名処理日時を取得して、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び署名処理日時からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成手段、を備えた電子署名サーバとを有するものである。
【０００８】
また電子署名サーバは、所定の端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証手段、上記共有署名付き電子データの署名データに含まれる署名日時と上記ログデータファイルに記録されている署名処理日時とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証手段、第２の署名検証手段にて特定された上記ログ記録データ内の該当のハッシュデータを、第１の検証手段で生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数ハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証手段、第２の署名検証手段で特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証手段が生成したハッシュデータを比較することにより検証する第４の署名検証手段とを備えたことを特徴とするものである。
【０００９】
また署名依頼者端末と、この署名依頼者端末とネットワーク接続された電子署名サーバとを有する電子署名システムであって、所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成手段、所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合手段、
上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名手段、上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成手段、上記カプセルデータを上記電子署名サーバに送信する送受信手段、を備えた署名依頼者端末と、上記署名依頼者端末から受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証手段、上記署名検証手段の検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、また電子署名をする度ごとに加算される単一の処理番号を取得して、この処理番号を付与した共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名手段、上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、署名データ、第１のハッシュデータ、第２のハッシュデータ及び上記処理番号からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成手段、を備えた電子署名サーバとを有するものである。
【００１０】
さらに電子署名サーバは、所定の端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の署名検証手段、上記共有署名付き電子データの署名データに含まれる処理番号と上記ログデータファイルに記録されている処理番号とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証手段、第２の署名検証手段にて特定された上記ログ記録データ内の該当のハッシュデータを、第１の検証手段で生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数ハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証手段、第２の署名検証手段で特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証手段が生成したハッシュデータを比較することにより検証する第４の署名検証手段とを備えたことを特徴とするものである。
【００１１】
また上記カプセルデータ生成手段は、カプセルデータ生成時に共有署名処理後の処理を当該各電子データ毎に付与することができ、さらに電子署名サーバは、当該各電子データ毎に付与された共有署名処理後の処理に基づき、署名依頼者端末へ送信、電子署名サーバに保管または、特定の検証依頼者端末へ送信の処理を行う送受信手段を備えたことを特徴とするものである。
【００１２】
本発明に係る電子署名プログラムは、電子署名サーバとネットワーク接続された署名依頼者端末に実行させるための電子署名プログラムであって、所定のハッシュ関数を用いて、第１の電子データから第１のハッシュデータを作成し、第２の電子データから第２のハッシュデータを作成するハッシュデータ作成ステップと、所定のハッシュ関数を用いて、上記第１のハッシュデータ及び第２のハッシュデータから統合ハッシュデータを作成するハッシュデータ統合ステップと、上記統合ハッシュデータに、署名依頼者の秘密鍵で電子署名をして、署名データを生成する署名ステップと、上記署名データに、上記第１の電子データ、第２の電子データ、第１のハッシュデータ、及び第２のハッシュデータを関連付け、この関連付けられたデータからカプセルデータを生成するカプセルデータ生成ステップと、上記カプセルデータを上記電子署名サーバに送信する送受信ステップとを実行させるためのものである。
【００１３】
また本発明に係る電子署名プログラムは、所定の端末とネットワーク接続され、カプセルデータまたは共有署名付き電子データを送信される電子署名サーバに実行させるための電子署名プログラムであって、上記端末からカプセルデータが送信されたとき、受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証ステップと、上記署名検証ステップの検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、署名データに署名日時を付加して、共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名ステップと、上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、また上記共有署名ステップで電子署名をした署名処理日時を取得して、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び署名処理日時からログ記録データを生成し、このログ記録データをログデータファイルに記録させるログ生成ステップとを実行させ、上記端末から共有署名付き電子データが送信されたとき、上記端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証ステップと、上記共有署名付き電子データの署名データに含まれる署名日時と上記ログデータファイルに記録されている署名処理日時とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証ステップと、第２の署名検証ステップにて特定された上記ログ記録データ内の該当のハッシュデータを、第１の検証ステップで生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数ハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証ステップと、第２の署名検証ステップで特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証ステップが生成したハッシュデータを比較することにより検証する第４の署名検証ステップとを実行させるためのものである。
【００１４】
また本発明に係る電子署名プログラムは、所定の端末とネットワーク接続され、カプセルデータまたは共有署名付き電子データを送信される電子署名サーバに実行させるための電子署名プログラムであって、上記端末からカプセルデータが送信されたとき、受信したカプセルデータの署名データを上記署名依頼者の公開鍵で検証する署名検証ステップと、上記署名検証ステップの検証の結果が正しければ、上記カプセルデータから第１の電子データ及び第２の電子データを抽出し、この第１の電子データ及び第２の電子データに、予め記憶されている共有署名用鍵で電子署名をし、また電子署名する度ごとに加算される単一の処理番号を取得して、この処理番号を付与した共有署名付き第１の電子データ及び共有署名付き第２の電子データを生成する共有署名ステップと、上記カプセルデータから署名データ、第１のハッシュデータ及び第２のハッシュデータを抽出し、署名データ、第１のハッシュデータ、第２のハッシュデータ、及び上記処理番号からログ記録データを生成し、このログ記録データをログファイルに記録させるログ生成ステップとを実行させ、上記端末から共有署名付き電子データが送信されたとき、上記端末から送信された共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いて、上記元の電子データからハッシュデータを生成する第１の検証ステップと、上記共有署名付き電子データの署名データに含まれる処理番号と上記ログデータファイルに記録されている処理番号とを照合することにより、上記ログデータファイル内の該当のハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する第２の署名検証ステップと、第２の署名検証ステップにて特定された上記ログ記録データ内の該当のハッシュデータを、第１の検証ステップで生成されたハッシュデータに置き換えて、この一部ファイルを置き換えたログ記録データ内の複数ハッシュデータから所定のハッシュ関数を用いてハッシュデータを生成する第３の署名検証ステップと、第２の署名検証ステップで特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、第３の署名検証ステップが生成したハッシュデータを比較することにより検証する第４の署名検証ステップとを実行させるためのものである。
【発明の効果】
【００１５】
本発明の電子署名システムおよび電子署名プログラムによると、共有する署名用鍵を用いて、署名依頼者が大量電子データの署名依頼をするとき、効率よく処理でき、またサーバの記憶装置を圧迫しない効果が得られる。
【発明を実施するための最良の形態】
【００１６】
実施の形態１．
図１は、本実施の形態のシステム構成図である。図１に示すように、本実施の形態はネットワーク接続された、電子署名サーバ１と、署名依頼者端末２とにより構成されている。また図２及び図３は、電子署名サーバ１と、署名依頼者端末２との構成を詳細に示したものであり、先に図２を用いて、署名依頼者端末２の構成について説明する。
【００１７】
ハッシュデータ作成手段１２は、所定のハッシュ関数を用いて、電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１からハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３を作成する。またハッシュデータ統合手段１４は、所定のハッシュ関数を用いて、ハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３を合わせたデータにハッシュをかけて、統合ハッシュデータ１５を作成する。電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１は、署名依頼者端末２で作成されたファイルでもいいし、なんらかの媒体により、署名依頼者端末２に入力されたファイルでもいい。また本実施の形態では、元の電子データは、電子データａ（第１の電子データ）１１及び電子データｂ（第２の電子データ）１１の２ファイルの構成により説明を進めていくが、電子データの数はいくつでも構わなく、署名依頼者の処理により、場合によっては、１ファイルのとき、また２ファイル以上の複数のときが混在して処理される。
【００１８】
署名手段１６は、記憶されている署名依頼者の秘密鍵（図示せず）で、統合ハッシュデータ１５に電子署名をして、署名データ１７を生成し、カプセルデータ生成手段１８は、署名データ１７に、電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１、ハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３を関連付けて、この関連付けられた各種データからカプセルデータ１９を生成する。
【００１９】
送受信手段２０は、電子署名サーバ１とファイルの送受信を行い、カプセルデータ１９を送信したり、共有署名付き文書ａ（共有署名付き第１の電子データ）２１、共有署名付き文書ｂ（共有署名付き第２の電子データ）２１等を受信する。検証依頼手段２２は、所定の共有署名付き文書ａ（共有署名付き第１の電子データ）２１の署名検証を電子署名サーバ１に対して行い、その検証結果２３を受信する。
【００２０】
電子署名サーバ１の構成については、図３を用いて説明する。送受信手段３１は、署名依頼者端末２からカプセルデータ１９を受信したり、署名依頼者端末２に所定の共有署名付き文書ａ（共有署名付き第１の電子データ）２１を送信したりする。署名検証手段３２は、署名依頼者端末２から受信したカプセルデータ１９の署名データをユーザ公開鍵データ３３に記憶されている署名依頼者の公開鍵により検証し、共有署名手段３７は、署名検証手段３２の検証の結果が正しければ、カプセルデータ１０から電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１を抽出し、電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１に、共有署名用鍵３８を用いて電子署名をして、共有署名付き電子データａ（共有署名付き第１の電子データ）２１、共有署名付き電子データｂ（共有署名付き第２の電子データ）２１を生成する。
【００２１】
ログ生成手段３４は、カプセルデータ１０から署名データ、ハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３を抽出し、共有署名手段３７が電子署名をした署名処理日時を取得して、署名データ、ハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３及び署名処理日時からログ記録データを生成し、ログデータ（ログデータファイル）３６にログ記録データを重ねて記録している。ログデータ３６には、署名要求があり、共有署名用鍵で電子署名をした処理が随時記録される。またログデータ３６内で、該当のログ記録を検索するときは、署名データ単位で特定されるが、その１つの単位を上述のようにログ記録データと呼ぶこととする。
【００２２】
署名検証手段３２は、署名依頼者端末２から送信された共有署名付き電子データａ（共有署名付き第１の電子データ）２１から電子データａ（第１の電子データ）１１を取得し、所定のハッシュ関数を用いて、電子データａ（第１の電子データ）１１からハッシュデータを生成し、共有署名付き電子データａ（共有署名付き第１の電子データ）２１の署名日時とログデータ３６に記録されている処理日時とを順次照合することにより、ログデータ３６の該当するハッシュデータ及び当該ハッシュデータが含まれるログ記録データを特定する（第１の署名検証手段、第２の署名検証手段）。次に、特定されたログ記録データ内の該当のハッシュデータを、電子データａ（第１の電子データ）１１から生成されたハッシュデータに置き換える。その後、該当のハッシュデータだけを置き換えた、ログ記録データに含まれる全ての複数からなるハッシュデータから、所定のハッシュ関数を用いて、新たなハッシュデータを生成し、特定されたログ記録データの署名データを、予め記憶している署名依頼者の公開鍵で復号したハッシュデータと、生成したハッシュデータを比較することにより検証する（第３の署名検証手段、第４の署名検証手段）。
【００２３】
図４は、カプセルデータ１９の構成を示した図であり、署名データ１７に、電子データａ（第１の電子データ）１１、電子データｂ（第２の電子データ）１１、ハッシュデータａ（第１のハッシュデータ）１３及びハッシュデータｂ（第２のハッシュデータ）１３を関連付けたものが１つのカプセルデータになる。また図４に示すように、電子データａ（第１の電子データ）１１から生成されたハッシュデータは、ハッシュデータａ（第１のハッシュデータ）１３であり、電子データｂ（第２の電子データ）１１から生成されたハッシュデータは、ハッシュデータｂ（第２のハッシュデータ）１３であって、ハッシュデータと電子データとは対応付けられてカプセルデータとして記憶されている。
【００２４】
カプセルデータの構成例としては、図４に示した各種データの関連付けをＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）等のマークアップ言語で記載した関連付けファイルと、必要な各種データとで構成することが考えられる。または、図４に示した各種データの関連付けを記載したテキストファイルと、各種データファイルとを、データ圧縮技術にて、１つのファイルとしてカプセルデータを構成する例などが考えられる。
【００２５】
図５は、ログデータ３６の構成を示した図であり、署名データと、署名データに対応するハッシュデータ、処理日時とで構成されている。図５では、処理日時は、年月日時間秒で表示しているが、処理日時の記憶の仕方は他の形態でも構わない。またログデータ３６には、共通署名用鍵で署名する度ごとに、ログ記録データが記録され、蓄積される。
【００２６】
次に図６〜図８を用いて、処理の流れを説明する。図６は、署名依頼者端末２でカプセルデータ１９を作成する処理の流れを示している。ハッシュデータ作成手段１２は、署名依頼者から指定された１または複数の電子データ１１からハッシュデータ１３を作成し（ステップＳ１）、ハッシュデータ統合手段１４は、ステップＳ１で作成した個別のハッシュデータ１３をまとめ、このまとめたデータから統合ハッシュデータを生成する（ステップＳ２）。
【００２７】
その後、署名手段１６は、ステップＳ２で作成した統合ハッシュデータに対して、署名依頼者の秘密鍵で電子署名をして、署名データを生成する（ステップＳ３）。カプセルデータ生成手段１８は、電子データ１１、ハッシュデータ１３、及び署名データからカプセルデータ１９を生成し（ステップＳ４）、送受信手段２０がこのカプセルデータを電子署名サーバ１へ送信し（ステップＳ５）、処理を終了する。カプセルデータ１９の構成については、図４で説明したとおりであるが、ステップＳ１で署名依頼者から指定された電子データの単位で、カプセルデータ１９が構成される。
【００２８】
図７は、電子署名サーバ１で共有署名用鍵で署名する処理の流れを示している。電子署名サーバ１の送受信手段３１がカプセルデータ１９を受信すると（ステップＳ１１）、署名検証手段３２はユーザ公開鍵データ３３から署名依頼者用の公開鍵を抽出し、その署名依頼者用の公開鍵を用いて、カプセルデータ１９の署名データを検証する（ステップＳ１２）。具体的には、署名依頼者用の公開鍵を用いて、カプセルデータ１９の署名データを復号したものと、カプセルデータ１９の複数のハッシュデータ（ハッシュデータの束）を１つのデータにまとめ、このまとめたデータから生成したハッシュデータとを比較する。
【００２９】
検証の結果、正しければ（ステップＳ１３）、共有署名手段３７はカプセルデータ１９に含まれる１または複数の電子データを抽出し、共有署名用鍵３８を用いて署名をし、共有署名付き電子データ２１を生成する（ステップＳ１４）。このとき、署名データに署名日時を付加する。ログ生成手段３４は、カプセルデータ１９から署名データ、ハッシュデータを抽出し、また署名処理日時を取得、付記してログ記録データを生成し、ログデータ３６に記録する（ステップＳ１５）。ログデータ３６の構成は、図５に示すとおりでありカプセルデータ１９に対応して、ログ記録データが生成される。送受信手段３１は、共有署名付き電子データ２１を署名依頼者端末２へ送信し（ステップＳ１６）、処理を終了する。ステップＳ１３で検証の結果が正しくなければ、そのまま処理を終了する。
【００３０】
次に、図８を用いて、共有署名付き電子データ２１の署名検証処理の流れについて、説明する。署名依頼者が署名依頼者端末２に送信された共有署名付き電子データ２１の署名を検証しようとしたとき、署名依頼者端末２の送受信手段２０は、署名依頼者が選択した共有署名付き電子データ２１を電子署名サーバ１に送信し（ステップＳ２１）、電子署名サーバ１の送受信手段３１は共有署名付き電子データ２１を受理する（ステップＳ２２）。
【００３１】
署名検証手段３２は、共有署名付き電子データ２１から元の電子データを取得し（ステップＳ２３）、ステップＳ２３で取り出した元の電子文書からハッシュデータ（１）を生成する（ステップＳ２４）。共有署名付き電子データ２１の署名日時と、ログデータ３６に記録されている処理日時とを照合することにより、ログデータ３６内の該当のハッシュデータ（２）及び当該ハッシュデータが含まれるログ記録データ（ハッシュデータの束）（３）を特定し（ステップＳ２５）、特定された該当のハッシュデータ（２）を、元の電子データから生成したハッシュデータ（１）に入れ替えた、ハッシュデータの束からハッシュデータ（４）を生成する（ステップＳ２６）。次に、ハッシュデータの束（３）の署名データとハッシュデータ（４）との比較検証との比較検証を行い（ステップＳ２７）、送受信手段３１がステップＳ２７の検証結果を署名依頼者端末２へ送信する（ステップＳ２８）。
【００３２】
図６で説明したカプセルデータ１９を作成する処理及び図８で説明した共有署名付き電子データ２１の署名検証処理について、図２０及び図２１の模式図でファイルの構成に着目して説明する。図２０及び図２１の（１）等の番号は、ファイルの構成順序をわかりやすくするために、振られた番号である。最初に図２０によりカプセルデータ１９を作成する処理について説明するが、電子データａ、電子データｂが署名依頼者により選択されたとする。電子データａ（１１）、電子データｂ（１１）から、それぞれに対応するハッシュデータａ（１２）、ハッシュデータｂ（１２）を作成し、ハッシュデータａ（１２）、ハッシュデータｂ（１２）から統合ハッシュデータ（１３）を生成する。統合ハッシュデータ（１３）に署名依頼者の秘密鍵で電子署名をして、署名データ（１４）を生成し、その後、電子データａ（１１）、電子データｂ（１１）、ハッシュデータａ（１２）、ハッシュデータｂ（１２）、署名データ（１７）からカプセルデータを生成する。カプセルデータ１９の構成は、図４に示すとおりであり、署名データ（１７）に対応づけられて、また電子データａ（１１）とハッシュデータａ（１２）、電子データｂ（１１）とハッシュデータｂ（１２）が対になることが判別できる構成となっている。このように、統合ハッシュデータ（１３）を生成して、この統合ハッシュデータ（１３）に電子署名をすることで、１つのカプセルデータへの電子署名を生成することができ、また統合ハッシュデータ（１３）自体はその後の処理では必要としないため、カプセルデータには含まないのがカプセルデータ生成に関する特徴である。
【００３３】
次に、図２１を用いて、共有署名付き電子データ２１を検証する処理について説明する。共有署名付き電子データ２１を署名依頼者端末等何らかの端末から受信すると、共有署名付き電子データから元の電子データを取得し、所定のハッシュ関数を用いてハッシュデータ（１）を生成する。次に署名データの署名日時と、ログデータ（２）に記録されている処理日時とを順次照合することにより、ログデータ（２）内の該当するハッシュデータと、そのハッシュデータが含まれるログ記録データを特定する。その後、ログ記録データ内のハッシュデータを全て取り出し、ハッシュデータの束（３）とする。次にハッシュデータの束（３）内の該当するハッシュデータと、ハッシュデータ（１）を入れ替えた、ハッシュデータの束（３）‘に所定のハッシュ関数を用いて、新たなハッシュデータ（４）を生成する。
【００３４】
一方ログデータ（２）の該当するログ記録データから署名データを取り出し、ユーザ公開鍵データ３３に保管されている該当の公開鍵により、署名データを復号して、復号したハッシュデータ（５）を生成する。ハッシュデータ（４）と、復号したハッシュデータ（５）とを比較検証し、検証結果を出す。このように、カプセルデータ１９に内包された、署名データ、ハッシュデータの束をログ記録データとして、ログデータ３６に保管し、処理日時を合わせて付記することで、１つの共有署名付き電子データ２１の署名検証を行うことができ、署名依頼者の検証ができ、署名依頼者の否認が防止できる。
【００３５】
以上説明したように本実施の形態によると、共有する署名用鍵を用いて署名依頼者が署名依頼をするとき、署名依頼者端末にて複数の電子データからカプセルデータを生成して、電子署名サーバに送信するので、大量の電子データに対する署名依頼をまとめて実施することができ、効率的である。
【００３６】
本実施の形態では、署名依頼者端末２は、１台のみ記載したが、電子署名サーバ１では複数の署名依頼者端末２からの共有署名要求を受け付けることが可能である。それにより、複数の署名依頼者が適宜署名処理を行うことができる。また署名依頼者端末２ごとにログデータを分類したいときは、署名依頼者端末２ごとにログデータ３６を生成してもよいし、ログデータ３６に署名依頼者端末２の分類番号を追記するように構成してもよい。
【００３７】
また署名依頼者の否認防止のため、ログデータを電子署名サーバに保管しておくが、カプセルデータから、元の電子データを除いた署名検証に必要な部分だけを保管するので、サーバの記憶装置を圧迫しない効果が得られる。また、共有署名付き電子データ２１の検証処理を行うとき（図８で示した処理）、共有署名用鍵の検証も合わせて行うことができ、電子署名サーバ１上の改ざんの有無についても同時に確認できる。共有署名用鍵の検証処理については、電子署名検証の通常の仕方で実施可能であるため、詳細な説明は省略する。
【００３８】
実施の形態２．
本実施の形態のシステム構成図は、実施の形態１で説明した図１〜図３に示すとおりである。本実施の形態で特徴的なことは、電子署名サーバ１で共有署名用鍵３８で署名をするとき、電子署名サーバ１内で単一となるシリアルナンバ（処理番号）を署名データに付与して、共有署名付き電子データ２１とログデータ３６との照合を、シリアルナンバで行う点である。共有署名手段３７が署名するたび毎に、カウンタ等（図示せず）は、シリアルナンバを加算して記憶していて、そのシリアルナンバを署名データとログデータ３６とに付与する。
【００３９】
図９は、本実施の形態におけるログデータ３６の構成を示した図である。ログデータは、署名データと、署名データと対応付けられたハッシュデータ、シリアルナンバで構成されている。
【００４０】
図１０は、本実施の形態における共有署名付き電子データ２１の署名検証を行う処理について示したフローチャートである。署名依頼者が署名依頼者端末２に送信された共有署名付き電子データ２１の署名を検証しようとしたとき、署名依頼者端末２の送受信手段２０は、署名依頼者が選択した共有署名付き電子データ２１を電子署名サーバ１に送信し（ステップＳ３１）、電子署名サーバ１の送受信手段３１は共有署名付き電子データ２１を受理する（ステップＳ３２）。
【００４１】
署名検証手段３２は、共有署名付き電子データ２１から元の電子データを取得し（ステップＳ３３）、ステップＳ２３で取り出した元の電子文書からハッシュデータ（１）を生成する（ステップＳ３４）。共有署名付き電子データ２１の署名データに含まれるシリアルナンバと、ログデータ３６に記録されているシリアルナンバとを順次照合することにより、ログデータ３６内の該当のハッシュデータ（２）及び当該ハッシュデータが含まれるログ記録データ（ハッシュデータの束）（３）を特定し（ステップＳ３５）、特定された該当のハッシュデータ（２）を、元の電子データから生成したハッシュデータ（１）に入れ替えた、ハッシュデータの束からハッシュデータ（４）を生成する（ステップＳ３６）。次に、ハッシュデータの束（３）の署名データとハッシュデータ（４）との比較検証との比較検証を行い（ステップＳ３７）、送受信手段３１がステップＳ２７の検証結果を署名依頼者端末２へ送信する（ステップＳ３８）。
【００４２】
以上説明したように、共有署名付き電子データ２１の署名検証を行うとき、署名データとログデータとを何らかのデータ等で照合しなくてはならないが、実施の形態１で説明した処理日時（署名日時）での照合、本実施の形態で説明したシリアルナンバでの照合が考えられる。また電子署名サーバ１で、署名データとログデータとが照合できれば、それ以外のデータでも構わない。
【００４３】
実施の形態３．
図１１は、本実施の形態のシステム構成図である。
図１１に示すように、本実施の形態はネットワーク接続された、電子署名サーバ１、署名依頼者端末２、検証依頼者端末３とにより構成されている。本実施の形態で特徴的なことは、署名依頼者端末２にて署名依頼を行うとき、電子データ毎に、共有署名処理後の処理を指定することができ、例えば検証依頼者端末３へ送信することができる。
【００４４】
図１２〜図１４は、電子署名サーバ１、署名依頼者端末２、検証依頼者端末３の構成を詳細に示したものである。図１２の署名依頼者端末２の図番１１〜２１の構成については、実施の形態１の図２で説明したものと同一である。また署名依頼者端末２で共有署名処理後の処理を指定するために、表示装置４と入力装置５とを用いる。図１３は電子署名サーバ１の構成を詳細に記した図であるが、実施の形態１で用いた図３と構成は同一である。
【００４５】
図１４は、検証依頼者端末３の構成を示した図である。電子署名サーバ１から送信された共有署名付き電子データ２１の検証を、検証依頼者から指定されたとき、検証依頼の動作を行う検証依頼手段４２と、共有署名付き電子データ２１を電子署名サーバ１に送信し、検証結果４３を受信する送受信手段４１とで構成される。
【００４６】
図１５は、表示装置４に表示される「電子データ選択画面」６の一例を示した図である。署名依頼者は、１または複数の電子データの共有署名用鍵による署名を行おうとしたとき、図１５に示した「電子データ選択画面」から電子データを選択する。入力手段（図示せず）が署名依頼者からの入力により、電子データを特定したら、ハッシュデータ作成手段１２に特定した電子データの情報を受け渡す。「選択ボタン」７を押下することにより、署名依頼者端末２の記憶装置または、署名依頼者端末２に装着された記憶媒体内の、電子データを検索することができ、指定された電子データが、「電子データｃ」８、「電子データｄ」８、「電子データｅ」８として表示されている。そして、「選択ボタン」１０を押下することにより、「電子データ」８毎の共有署名後の処理について、選択でき、選択後は、「共有署名後の処理」９に、表示される。その後、全ての電子データについて、共有署名後の処理を選択したら、「カプセル化実行」ボタンの押下により、カプセルデータの生成（カプセル化）が実行される。
【００４７】
図１６は、本実施の形態におけるカプセルデータ１９の構成を示した図である。カプセルデータ生成時に、「電子データ選択画面」６で入力を受け付けた、共有署名後の処理についても電子データ毎に登録されている。共有署名後の処理は、図１６に示すように、「署名依頼者へ返却」、「電子署名サーバ１に保管」、「特定の端末（例えば検証依頼者端末）へ送信」などが考えられる。
【００４８】
図１７は、本実施の形態において、カプセルデータ１９を作成する処理の流れを示している。入力手段（図示せず）は、署名依頼者端末２で「電子データ選択画面」６により入力を受け付けた、電子データ、電子データ毎の共有署名後の処理を記憶して、ハッシュデータ作成手段にその情報を受け渡す。ハッシュデータ作成手段１２は、この電子データと、共有署名後の処理を特定する（ステップＳ４１）。特定された１または複数の電子データ１１からハッシュデータ１３を作成し（ステップＳ４２）、ハッシュデータ統合手段１４は、ステップＳ１で作成した個別のハッシュデータ１３をまとめ、このまとめたデータから統合ハッシュデータを生成する（ステップＳ４３）。
【００４９】
その後、署名手段１６は、ステップＳ２で作成した統合ハッシュデータに対して、署名依頼者の秘密鍵で電子署名をして、署名データを生成する（ステップＳ４４）。カプセルデータ生成手段１８は、電子データ１１、ハッシュデータ１３、及び署名データからカプセルデータ１９を生成し（ステップＳ４５）、送受信手段２０がこのカプセルデータを電子署名サーバ１へ送信し（ステップＳ４６）、処理を終了する。カプセルデータ１９の構成については、図１６で説明したとおりであるが、ステップＳ４１で特定された電子データの単位で、カプセルデータ１９が構成される。
【００５０】
図１８は、本実施の形態において、電子署名サーバ１で共有署名用鍵で署名する処理の流れを示している。電子署名サーバ１の送受信手段３１がカプセルデータ１９を受信すると（ステップＳ５１）、署名検証手段３２はユーザ公開鍵データ３３から署名依頼者用の公開鍵を抽出し、その署名依頼者用の公開鍵を用いて、カプセルデータ１９の署名データを検証する（ステップＳ５２）。具体的には、署名依頼者用の公開鍵を用いて、カプセルデータ１９の署名データを復号したものと、カプセルデータ１９の複数のハッシュデータ（ハッシュデータの束）を１つのデータにまとめ、このまとめたデータから生成したハッシュデータとを比較する。
【００５１】
検証の結果、正しければ（ステップＳ５３）、共有署名手段３７はカプセルデータ１９から１または複数の電子データを抽出し、共有署名用鍵３８を用いて署名をし、共有署名付き電子データ２１を生成する（ステップＳ５４）。このとき、署名データに署名日時を付加する。ログ生成手段３４は、カプセルデータ１９から署名データ、ハッシュデータを抽出し、また署名処理日時を取得、付記してログ記録データを生成し、ログデータ３６に記録していく（ステップＳ５５）。ログデータ３６の構成は、図５に示すとおりでありカプセルデータ１９単位でログデータが生成される。送受信手段３１は、カプセルデータ１９に登録されている電子データ毎の共有署名後の処理に応じた処理をし（ステップＳ５６）、処理を終了する。ステップＳ５３で検証の結果、正しくなければ、そのまま処理を終了する。
【００５２】
図１９は本実施の形態における共有署名付き電子データ２１の署名検証を行う処理の流れを示したフローチャートである。本実施の形態では、共有署名付き電子データ２１は特定の端末に送信または、電子署名サーバ１に保管の場合が考えられる。特定の端末の送受信手段により、共有署名付き電子データ２１が送信されると（ステップＳ６１）、電子署名サーバ１の送受信手段３１がこの共有署名付き電子データ２１を受理する（ステップＳ２２）が、以降の処理は、実施の形態１で説明した図８の処理の流れと同一である。ステップＳ２８で検証結果を送信する端末は、ステップＳ６１で共有署名付き電子データ２１が送信されてきた端末になる。
【００５３】
なお本実施の形態では、共有署名付き電子データ２１は電子署名サーバ１に保管されていることもありえるが、電子署名サーバ１に保管されている共有署名付き電子データ２１の署名検証を行うときは、電子データを送信するのではなく、検証依頼の情報を送信することで、電子署名サーバ１は保管されている共有署名付き電子データ２１の検証を行い、その検証結果を依頼された端末に送信するように構成することもできる。
【００５４】
以上説明したように本実施の形態によると、共有署名後の処理を電子データ毎に選択することができ、また選択された処理についてもカプセルデータ内に組み込むことができる。また、共有署名後の処理が異なる電子データをまとめて処理することができるので、効率的である。
【００５５】
また上述した各実施の形態で、電子署名サーバ１、署名依頼者端末２及び検証依頼者端末３は、コンピュータで実現できるものである。また図示していないが、電子署名サーバ１、署名依頼者端末２及び検証依頼者端末３は、プログラムを実行するＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。
【００５６】
例えば、ＣＰＵは、バスを介して、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、通信ボード、表示装置、Ｋ／Ｂ（キーボード）、マウス、ＦＤＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＣＤＤ（コンパクトディスクドライブ）、磁気ディスク装置、光ディスク装置、プリンタ装置、スキャナ装置等と接続されている。
【００５７】
ＲＡＭは、揮発性メモリの一例である。ＲＯＭ、ＦＤＤ、ＣＤＤ、磁気ディスク装置、光ディスク装置は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
【００５８】
また各実施の形態における電子データ１１、ハッシュデータ１３、統合ハッシュデータ１５、署名データ１７、カプセルデータ１９、共有署名付き電子データ２１、ユーザ公開鍵データ３３、ログデータ３６、共有署名用鍵３８等は、記憶装置または記憶部に保存され、電子署名サーバ１、署名依頼者端末２及び検証依頼者端末３の各部により、記憶され読み出されるものである。
【００５９】
また、通信ボードは、例えば、ＬＡＮ、インターネット、或いはＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）に接続されている。
【００６０】
磁気ディスク装置には、オペレーティングシステム（ＯＳ）、ウィンドウシステム、プログラム群、ファイル群（データベース）が記憶されている。プログラム群は、ＣＰＵ、ＯＳ、ウィンドウシステムにより実行される。
電子署名サーバ１、署名依頼者端末２及び検証依頼者端末３の各部、各手段、各ステップは、一部或いはすべてコンピュータで動作可能なプログラムにより構成しても構わない。或いは、ＲＯＭに記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェア或いは、ハードウェア或いは、ソフトウェアとハードウェアとファームウェアとの組み合わせで実施されても構わない。
【００６１】
上記プログラム群には、実施の形態の説明において「〜部」、「〜手段」、「〜ステップ」として説明した処理をＣＰＵに実行させるプログラムが記憶される。これらのプログラムは、例えば、Ｃ言語やＨＴＭＬやＳＧＭＬやＸＭＬなどのコンピュータ言語により作成される。
【００６２】
また、上記プログラムは、磁気ディスク装置、ＦＤ（Ｆｌｅｘｉｂｌｅ  Ｄｉｓｋ）、光ディスク、ＣＤ（コンパクトディスク）、ＭＤ（ミニディスク）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のその他の記録媒体に記憶され、ＣＰＵにより読み出され実行される。
【図面の簡単な説明】
【００６３】
【図１】実施の形態１，２のシステム構成図である。
【図２】実施の形態１，２の署名依頼者端末２の構成を示す図である。
【図３】実施の形態１，２の電子署名サーバ１の構成を示す図である。
【図４】カプセルデータ１９を示す構成図である。
【図５】ログデータ３６を示す構成図である。
【図６】署名依頼者端末２でカプセルデータ１９を作成するまでの処理の流れを示すフローチャートである。
【図７】電子署名サーバ１で共有署名用鍵で署名するまでの処理の流れを示すフローチャートである。
【図８】共有署名付き文書の署名検証処理の流れを示すフローチャートである。
【図９】実施の形態２におけるログデータ３６の構成を示す図である。
【図１０】実施の形態２において共有署名付き文書の署名検証処理の流れを示すフローチャートである。
【図１１】実施の形態３のシステム構成図である。
【図１２】実施の形態３の署名依頼者端末２の構成を示す図である。
【図１３】実施の形態３の電子署名サーバ１の構成を示す図である。
【図１４】実施の形態３の検証依頼者端末３の構成を示す図である。
【図１５】電子データ選択画面例を示した図である。
【図１６】実施の形態３におけるカプセルデータ１９を示す構成図である。
【図１７】署名依頼者端末２でカプセルデータ１９を作成するまでの処理の流れを示すフローチャートである。
【図１８】電子署名サーバ１で共有署名用鍵で署名するまでの処理の流れを示すフローチャートである。
【図１９】共有署名付き文書の署名検証処理の流れを示すフローチャートである。
【図２０】カプセルデータを作成する処理を示す模式図である。
【図２１】共有署名月電子データを検証する処理を示す模式図である。
【符号の説明】
【００６４】
１  電子署名サーバ、２  署名依頼者端末、１２  ハッシュデータ作成手段、１４  ハッシュデータ統合手段、１６  署名手段、１８  カプセルデータ生成手段、２０，３１  送受信手段、３２  署名検証手段（第１の署名検証手段，第２の署名検証手段，第３の署名検証手段，第４の署名検証手段）、３４  ログ生成手段、３６  ログデータ（ログデータファイル）、３７  共有署名手段。
【図１】
2006060724.tif 000003
【図２】
2006060724.tif 000004
【図３】
2006060724.tif 000005
【図４】
2006060724.tif 000006
【図５】
2006060724.tif 000007
【図６】
2006060724.tif 000008
【図７】
2006060724.tif 000009
【図８】
2006060724.tif 000010
【図９】
2006060724.tif 000011
【図１０】
2006060724.tif 000012
【図１１】
2006060724.tif 000013
【図１２】
2006060724.tif 000014
【図１３】
2006060724.tif 000015
【図１４】
2006060724.tif 000016
【図１５】
2006060724.tif 000017
【図１６】
2006060724.tif 000018
【図１７】
2006060724.tif 000019
【図１８】
2006060724.tif 000020
【図１９】
2006060724.tif 000021
【図２０】
2006060724.tif 000022
【図２１】
2006060724.tif 000023