(57)【要約】【課題】  多重署名の有効期限を延長する署名延長装置において、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長できるようにする。【解決手段】  親署名Ｓｉｇ（０）に対する署名タイムスタンプＴ２、各署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）に使用された公開鍵証明書Ｋ２、前記公開鍵証明書Ｋ２の信頼点までの公開鍵証明書Ｌ２および前記公開鍵証明書Ｋ２，Ｌ２に対する失効情報Ｒ２をそれぞれ取得するとともに、親署名Ｓｉｇ（０）が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプＡＴ２を取得する。したがって、前記有効期限の延長時には、新たなタイムスタンプ（アーカイブタイムスタンプ）ＡＴ２’を追加して更新してゆくことで、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長することができる。【選択図】      図６
2007027938.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長する署名延長装置において、
各署名に使用された公開鍵証明書を取得する機能と、
各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得する機能と、
各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得する機能と、
親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得する機能とを含むことを特徴とする署名延長装置。
【請求項２】
前記多重化は、
１つ前の階層の子署名の署名値および１つ前の階層の子署名の署名対象データへの参照情報を作成する機能と、
総ての署名対象データによるハッシュ値から署名値を作成する機能と、
１つ前の階層の子署名の内容を取込む機能とを含むことを特徴とする請求項１記載の署名延長装置。
【請求項３】
前記請求項１または２記載の署名延長装置における各機能が分割された署名延長クライアントおよび署名延長サーバと、前記署名に使用される公開鍵証明書およびその信頼点までの証明書を発行するルート認証局と、前記公開鍵証明書の失効情報を発行するＣＲＬ配布ポイントと、前記署名に使用されるタイムスタンプを発行するタイムスタンプ局とを備えて構成されることを特徴とする署名延長システム。
【請求項４】
それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長する署名延長方法において、
各署名に使用された公開鍵証明書を取得し、
各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得し、
各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得し、
親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得することを特徴とする署名延長方法。
【請求項５】
それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長するための署名延長プログラムにおいて、
各署名に使用された公開鍵証明書を取得するステップと、
各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得するステップと、
各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得するステップと、
親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得するステップとを含むことを特徴とする署名延長プログラム。
【請求項６】
前記親署名の作成は、
入力された１または複数の署名対象データの内の１つと、過去の署名とを、いずれか一方を親署名とし、他方を子署名として、子署名に対する参照情報を設定するステップと、
総ての署名対象データによるハッシュ値を計算するステップと、
前記ハッシュ値から、前記署名値を演算するステップとを含み、
前記の各ステップを親署名に包含する子署名がなくなるまで再帰的に繰返すことを特徴とする請求項５記載の署名延長プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子署名を延長するための装置、システム、方法およびプログラムに関する。
【背景技術】
【０００２】
近年、元々電子データから成る電子文書に加えて、紙文書を電子化した電子化文書も、電子署名とタイムスタンプとによって法的に保護されるようになってきている。２００５年の４月には、ｅ−文書法が施行され、これまで文書のままで残すことが義務付けられていた領収書等の文書を、スキャナで読取って電子化データで保存することが可能になった。
【０００３】
しかしながら、それらの文書には保管期限が定められているものがあり、電子化時に添付する電子署名に用いた公開鍵証明書の有効期限が、その保管期限を満たさないケースがある。そのような場合には、電子署名の有効期限を延長する手続きが必要となる。一方、前記電子署名は、文書の入力単位毎に行う必要があり、それぞれに延長手続きを行う必要が生じ、延長手続きは極めて煩雑なものとなるとともに、電子署名の度に公的な機関からタイムスタンプを得る必要があり、そのタイムスタンプの取得の費用が嵩むという問題がある。また、初期のデータに、新たな署名データおよびその有効期限情報を保管する必要があり、保管データ量が増大するという問題もある。
【０００４】
そこで、このような不具合を解決するための従来技術が特許文献１に示されている。この特許文献１は、電子署名の付された文書や画像などのデジタルデータが前記電子署名の有効期限切れで失効する前に有効期限を延長するにあたって、署名延長サーバは、図１７で示すように、署名延長クライアントから得られたそれぞれ有効期限を有する複数の署名付きデータｄ１，ｄ２，・・・，ｄｎのハッシュを纏めたハッシュ群、前記署名付きデータｄ１〜ｄｎを纏めたデータのハッシュ、または署名付きデータｄ１，ｄ２，・・・，ｄｎにそれぞれ格納されている署名データのハッシュなどのデータａ１を作成し、そのデータａ１に新たな署名ｂ１を付し、署名アルゴリズムなどのその他のパラメータｃ１を合わせて、署名延長証書ｅ１を作成している。こうして、入力された各署名付きデータｄ１〜ｄｎのいずれの有効期限よりも後の有効期限を有する１つの署名延長証書ｅ１を生成し、前記署名延長クライアントは、各署名付きデータｄ１〜ｄｎとともに、その署名延長証書ｅ１を保管する。
【０００５】
２回目は、図１８で示すように、署名延長クライアントは、前記署名延長証書ｅ１を署名延長サーバに渡し、署名延長サーバは、その署名延長証書ｅ１のハッシュなどのデータａ２を作成し、そのデータａ２に新たな署名ｂ２を付し、その他のパラメータｃ２を合わせて、署名延長証書ｅ２を作成する。このとき、前記の署名付きデータｄ１〜ｄｎは、そのままである。
【０００６】
３回目の延長も同様であり、図１９で示すように、署名延長サーバは、署名延長証書ｅ２のハッシュなどのデータａ３を作成し、そのデータａ３に新たな署名ｂ３を付し、その他のパラメータｃ３を合わせて、署名延長証書ｅ３を作成する。したがって、上述のような３回の延長で署名延長クライアントに保管されるデータは、図２０で示すように、前記署名付きデータｄ１〜ｄｎに、各署名延長証書ｅ１〜ｅ３となり、保管データ量が削減されている。
【特許文献１】特開２００２−２０７４２８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
上述の従来技術は、１つの署名延長証書で、複数の署名付きデータのハッシュなどを保持することで、複数の電子化データを一括して、その有効期限を延長することが可能である。しかしながら、この従来技術では、データを順次集約して、都度署名を行う多重署名のデータには対応できないという問題がある。具体的には、たとえば、前記署名付きデータｄ１を見積もり書をスキャナ読込みしたデータとし、署名付きデータｄ２を納品書をスキャナ読込みしたデータとし、署名付きデータｄ３を請求書をスキャナ読込みしたデータとし、署名付きデータｄ４を領収書をスキャナ読込みしたデータの署名付きデータとした場合、新たな文書をスキャナ読込みした時点で、それ以前のデータと集約されて新たな署名が行われる。
【０００８】
しかしながら、たとえば図２１で示すように（図２１は３つの署名Ｓｉｇ（２），Ｓｉｇ（１），Ｓｉｇ（０）を集約している。）、それぞれの署名の段階で、付された公開鍵証明書（署名に使用した証明書）をＵＣ２，ＵＣ１，ＵＣ０とし、その信頼点までの証明書をＲＣ２，ＭＣ２；ＲＣ１，ＭＣ１；ＲＣ０，ＭＣ０（ＲＣはルート証明書、ＭＣは中間の証明書）とし、失効情報をＡＲＬ２，ＣＲＬ２；ＡＲＬ１，ＣＲＬ１；ＡＲＬ０，ＣＲＬ０（ＡＲＬは認証局の証明書に対する失効情報、ＣＲＬはユーザ証明書に対する失効情報）とすると、それらの内、親署名Ｓｉｇ（０）で安全に保管されるのは、その親署名Ｓｉｇ（０）での信頼点までの証明書ＵＣ０，ＲＣ０，ＭＣ０および失効情報ＡＲＬ０，ＣＲＬ０であり、それ以前の子署名Ｓｉｇ（１），Ｓｉｇ（２）での証明書ＵＣ１，ＲＣ１，ＭＣ１；ＵＣ２，ＲＣ２，ＭＣ２および失効情報ＡＲＬ１，ＣＲＬ１；ＡＲＬ２，ＣＲＬ２は安全に保管されず、それぞれに署名延長処理を行わなければ、データの真正性を確保できないという問題がある。したがって、個別の子署名毎に延長処理を行わなければならず、タイムスタンプを取得するコストが嵩むとともに、手間がかかる。
【０００９】
本発明の目的は、多重署名のデータの真正性を、低コスト、かつ容易に、長期に亘って延長することができる署名延長装置、システム、方法およびプログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の署名延長装置は、それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長する署名延長装置において、各署名に使用された公開鍵証明書を取得する機能と、各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得する機能と、各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得する機能と、親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得する機能とを含むことを特徴とする。
【００１１】
上記の構成によれば、多重署名のデータの有効期限を延長するにあたって、多重化された最終の親署名に用いた公開鍵証明書やその信頼点までのルート証明書および失効情報などをタイムスタンプによって有効期限の延長情報として記録するとともに、各子署名における公開鍵証明書やその信頼点までのルート証明書および失効情報などを前記タイムスタンプによって有効期限の延長情報として合わせて記憶しておく。
【００１２】
したがって、以降は、前記有効期限の延長情報に対して、新たなタイムスタンプ（アーカイブタイムスタンプ）を追加して更新してゆくことで、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長することができる。
【００１３】
また、本発明の署名延長装置では、前記多重化は、１つ前の階層の子署名の署名値および１つ前の階層の子署名の署名対象データへの参照情報を作成する機能と、総ての署名対象データによるハッシュ値から署名値を作成する機能と、１つ前の階層の子署名の内容を取込む機能とを含むことを特徴とする。
【００１４】
上記の構成によれば、上記の延長手法に適した親署名を作成することができる。
【００１５】
さらにまた、本発明の署名延長システムは、前記の署名延長装置における各機能が分割された署名延長クライアントおよび署名延長サーバと、前記署名に使用される公開鍵証明書およびその信頼点までの証明書を発行するルート認証局と、前記公開鍵証明書の失効情報を発行するＣＲＬ配布ポイントと、前記署名に使用されるタイムスタンプを発行するタイムスタンプ局とを備えて構成されることを特徴とする。
【００１６】
上記の構成によれば、標準的な署名延長システムを構築することができる。
【００１７】
また、本発明の署名延長方法は、それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長する署名延長方法において、各署名に使用された公開鍵証明書を取得し、各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得し、各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得し、親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得することを特徴とする。
【００１８】
上記の構成によれば、多重署名のデータの有効期限を延長するにあたって、多重化された最終の親署名に用いた公開鍵証明書やその信頼点までのルート証明書および失効情報などをタイムスタンプによって有効期限の延長情報として記録するとともに、各子署名における公開鍵証明書やその信頼点までのルート証明書および失効情報などを前記タイムスタンプによって有効期限の延長情報として合わせて記憶しておく。
【００１９】
したがって、以降は、前記有効期限の延長情報に対して、新たなタイムスタンプ（アーカイブタイムスタンプ）を追加して更新してゆくことで、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長することができる。
【００２０】
さらにまた、本発明の署名延長プログラムは、それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長するための署名延長プログラムにおいて、各署名に使用された公開鍵証明書を取得するステップと、各署名に使用された公開鍵証明書の信頼点までの公開鍵証明書を取得するステップと、各署名に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報を取得するステップと、親署名が有する総ての参照先、署名値、公開鍵証明書および失効情報に対するタイムスタンプを取得するステップとを含むことを特徴とする。
【００２１】
上記の構成によれば、多重署名のデータの有効期限を延長するにあたって、多重化された最終の親署名に用いた公開鍵証明書やその信頼点までのルート証明書および失効情報などをタイムスタンプによって有効期限の延長情報として記録するとともに、各子署名における公開鍵証明書やその信頼点までのルート証明書および失効情報などを前記タイムスタンプによって有効期限の延長情報として合わせて記憶しておく。
【００２２】
したがって、以降は、有効期限の経過の前に、再度前記タイムスタンプの取得ステップを行い、親署名が有する総ての参照先、署名値、公開鍵証明書、失効情報および前回のタイムスタンプに対する新たなタイムスタンプ（アーカイブタイムスタンプ）を取得するだけで、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長することができる。
【００２３】
また、本発明の署名延長プログラムでは、前記親署名の作成は、入力された１または複数の署名対象データの内の１つと、過去の署名とを、いずれか一方を親署名とし、他方を子署名として、子署名に対する参照情報を設定するステップと、総ての署名対象データによるハッシュ値を計算するステップと、前記ハッシュ値から、前記署名値を演算するステップとを含み、前記の各ステップを親署名に包含する子署名がなくなるまで再帰的に繰返すことを特徴とする。
【００２４】
上記の構成によれば、親署名に、該親署名および総ての子署名の参照先、署名値、公開鍵証明書および失効情報を含めることができ、上記のようにアーカイブタイムスタンプを取得するだけで、子署名を含む総ての署名に対して、真正性を延長することができる親署名を作成することができる。
【発明の効果】
【００２５】
本発明の署名延長装置、システム、方法およびプログラムは、以上のように、それぞれ有効期限を有する複数の署名対象データに付された子署名を親署名に多重化して、その有効期限を延長するにあたって、多重化された最終の親署名に用いた公開鍵証明書やその信頼点までのルート証明書および失効情報などをタイムスタンプによって有効期限の延長情報として記録するとともに、各子署名における公開鍵証明書やその信頼点までのルート証明書および失効情報などを前記タイムスタンプによって有効期限の延長情報として合わせて記憶しておく。
【００２６】
したがって、以降は、前記有効期限の延長情報に対して、新たなタイムスタンプ（アーカイブタイムスタンプ）を追加して更新してゆくことで、子署名を含む総ての署名に対して、真正性を、低コスト、かつ容易に、長期に亘って延長することができる。
【発明を実施するための最良の形態】
【００２７】
［実施の形態１］
図１は、本発明の実施の一形態に係る署名延長システムの全体構成を示すブロック図である。このシステムでは、署名延長クライアント１と、署名延長サーバ２とがネットワーク３を介して接続されているけれども、必ずしもクライアント−サーバ構成である必要はなく、１台の署名延長装置でも実現することができ、また後述する署名延長処理の各機能を、クライアントとサーバとに、どのように分割するかも任意である。
【００２８】
署名延長クライアント１は、必要に応じて文書をスキャナ読込みし、その電子化データＤを得るとともに、予め信頼できる方法で取得しておいた認証局Ｐ３のルート証明書、認証局Ｐ１の証明書および署名者の証明書と、ＣＲＬ配布ポイントＰ２，Ｐ４からそれぞれの失効情報ＣＲＬ，ＡＲＬを取得し、署名Ｓｉｇおよび前記データＤとともに前記署名延長サーバ２へ送信する。
【００２９】
これに応答して、署名延長サーバ２は、予め信頼できる方法で取得しておいたタイムスタンプ局Ｐ５の証明書およびその信頼点であるルート認証局Ｐ６のルート証明書を取得するとともに、前記ＣＲＬ配布ポイントＰ２，Ｐ４からの失効情報、および署名に係る証明書とその信頼点までの証明書に対して、後述するアーカイブタイムスタンプを添付し署名ファイルＦとして前記データＤとともに記憶する。
【００３０】
多重署名を行うときは、署名延長クライアント１は、対象となるデータＤおよび署名Ｓｉｇを集約したものに対して上述の処理を行い、署名延長サーバ２は、それに後述するアーカイブタイムスタンプを添付して前記署名ファイルＦを長期署名ファイルとして記憶する。
【００３１】
図２は、本発明の署名の多重化法を説明するための図である。この図２は、前述の図２１の形態に対応しており、順に電子化された３つの文書データに対する署名Ｓｉｇ（２），Ｓｉｇ（１），Ｓｉｇ（０）を集約してゆく様子を示している。前記図２１と同様に、それぞれの署名ファイル作成の段階で、署名に使用した公開鍵証明書（署名に使用した証明書）ＵＣ２，ＵＣ１，ＵＣ０やその信頼点までの証明書ＲＣ２，ＭＣ２；ＲＣ１，ＭＣ１；ＲＣ０，ＭＣ０（ＲＣはルート証明書、ＭＣは中間の証明書）およびそれらの失効情報ＡＲＬ２，ＣＲＬ２；ＡＲＬ１，ＣＲＬ１；ＡＲＬ０，ＣＲＬ０（ＡＲＬは認証局の証明書に対する失効情報、ＣＲＬはユーザ証明書に対する失効情報）を取得する。
【００３２】
注目すべきは、本発明では、親署名Ｓｉｇ（０）を延長するにあたって、その親署名Ｓｉｇ（０）での証明書ＵＣ０，ＲＣ０，ＭＣ０および失効情報ＡＲＬ０，ＣＲＬ０だけでなく、それ以前の子署名Ｓｉｇ（１），Ｓｉｇ（２）での証明書ＵＣ１，ＲＣ１，ＭＣ１；ＵＣ２，ＲＣ２，ＭＣ２および失効情報ＡＲＬ１，ＣＲＬ１；ＡＲＬ２，ＣＲＬ２も、前記長期署名ファイルに含まれ、合わせて延長処理されることである。
【００３３】
親署名Ｓｉｇ（０）が行われる前に、子署名Ｓｉｇ（２）に対して親署名となるＳｉｇ（１）に対しても同様に、その段階での署名Ｓｉｇ（１）での証明書ＵＣ１，ＲＣ１，ＭＣ１および失効情報ＡＲＬ１，ＣＲＬ１だけでなく、子署名Ｓｉｇ（２）での証明書ＵＣ２，ＲＣ２，ＭＣ２および失効情報ＡＲＬ２，ＣＲＬ２も、延長処理されている。ここで、署名Ｓｉｇ（２），Ｓｉｇ（１），Ｓｉｇ（０）という表現は、署名延長の世代を表現するのではなく、多重署名における階層を示す。
【００３４】
これによって、個別の子署名Ｓｉｇ（２），Ｓｉｇ（１）毎に延長処理を行わなくても、該子署名Ｓｉｇ（２），Ｓｉｇ（１）の真正性の延長に必要な情報は親署名Ｓｉｇ（０）に格納されているので、該親署名Ｓｉｇ（０）の署名延長処理を行うだけで、子署名Ｓｉｇ（２），Ｓｉｇ（１）の真正性を確保することができ、タイムスタンプを取得するコストおよび延長処理の手間を省くことができる。
【００３５】
以下に、本発明による署名の多重化処理および延長処理について詳述する。図３の例は、前記見積もり書、納品書、請求書のように、署名対象データが順に発生した例を示しており、それらの署名対象データをそれぞれ参照符号Ｒｄ（２），Ｒｄ（１），Ｒｄ（０）で示し、それらの署名対象データＲｄ（２），Ｒｄ（１），Ｒｄ（０）を逐次纏めて、署名Ｓｉｇ（２），Ｓｉｇ（１），Ｓｉｇ（０）をそれぞれ付して、基礎署名部Ｂ１が作成されている。
【００３６】
こうして集約化された親署名Ｓｉｇ（０）を延長するにあたって作成される署名延長部Ｅ１は、親署名Ｓｉｇ（０）の署名に対する署名タイムスタンプＴ１と、各署名Ｓｉｇ（０），Ｓｉｇ（１），Ｓｉｇ（２）に使用された公開鍵証明書Ｋ１と、各署名Ｓｉｇ（０），Ｓｉｇ（１），Ｓｉｇ（２）に使用された公開鍵証明書の信頼点までの公開鍵証明書Ｌ１と、各署名Ｓｉｇ（０），Ｓｉｇ（１），Ｓｉｇ（２）に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報Ｒ１と、その他パラメータ、署名タイムスタンプ、Ｓｉｇ（０）の署名値、Ｓｉｇ（０）の参照先データ（Ｓｉｇ（１），Ｓｉｇ（２）の署名値、Ｒｄ（０），Ｒｄ（１），Ｒｄ（２）を含む）に対するタイムスタンプ（アーカイブタイムスタンプ）ＡＴ１とを備えて構成される。この図および以降の図において、［Ｓ○○○］は、後述のフローチャートにおける該当処理のステップ番号を示す。前記公開鍵証明書Ｋ１，Ｌ１が前述の信頼点までの証明書ＵＣ，ＭＣ，ＲＣに対応し、前記失効情報Ｒ１が前述の失効情報ＣＲＬ，ＡＲＬに対応する。
【００３７】
そして、この図３で示す署名ファイルＦ１を１回延長して得られる長期署名ファイルＦ１’は、図４で示すようになる。署名延長部Ｅ１’には、１回の延長に伴い、前記署名延長部Ｅ１の内容に、前記タイムスタンプＡＴ１、その他パラメータ、署名タイムスタンプ、Ｓｉｇ０の署名値、Ｓｉｇ（０）の参照先データ（Ｓｉｇ（１），Ｓｉｇ（２）の署名値、Ｒｄ（０），Ｒｄ（１），Ｒｄ（２）を含む）に対するタイムスタンプ（アーカイブタイムスタンプ）ＡＴ１’が追加される。
【００３８】
一方、図５は、見積もり書、納品書および配送伝票、請求書のように、署名対象データの一部が同時期に発生した例を示しており、それらの署名対象データをそれぞれＲｄ（２）；Ｒｄ（１，１），Ｒｄ（１，２）；Ｒｄ（０）で示し、それらの署名対象データＲｄ（２）；Ｒｄ（１，１），Ｒｄ（１，２）；Ｒｄ（０）を逐次纏めて、署名Ｓｉｇ（２）；Ｓｉｇ（１，１），Ｓｉｇ（１，２）；Ｓｉｇ（０）をそれぞれ付して、基礎署名部Ｂ２が作成されている。
【００３９】
こうして集約化された親署名Ｓｉｇ（０）を延長するにあたって作成される署名延長部Ｅ２は、親署名Ｓｉｇ（０）の署名に対する署名タイムスタンプＴ２と、各署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）に使用された公開鍵証明書Ｋ２と、各署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）に使用された公開鍵証明書の信頼点までの公開鍵証明書Ｌ２と、各署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）に使用された公開鍵証明書および信頼点までの公開鍵証明書それぞれに対する失効情報Ｒ２と、その他パラメータ、署名タイムスタンプ、Ｓｉｇ（０）の署名値、Ｓｉｇ（０）の参照先データ（Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名値、Ｒｄ（０），Ｒｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）を含む）に対するタイムスタンプ（アーカイブタイムスタンプ）ＡＴ２とを備えて構成される。
【００４０】
そして、この図５で示す署名ファイルＦ２を１回延長して得られる長期署名ファイルＦ２’は、図６で示すようになる。前記署名延長部Ｅ１’と同様に、署名延長部Ｅ２’には、１回の延長に伴い、前記署名延長部Ｅ２の内容に、前記タイムスタンプＡＴ２、その他パラメータ、署名タイムスタンプ、Ｓｉｇ（０）の署名値、Ｓｉｇ（０）の参照先データ（Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名値、Ｒｄ（０），Ｒｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）を含む）に対するタイムスタンプ（アーカイブタイムスタンプ）ＡＴ２’が追加される。
【００４１】
さらにもう１回延長して得られる長期署名ファイルＦ２’’は、図７で示すようになり、署名延長部Ｅ２’’には、２回目の延長に伴い、前記署名延長部Ｅ２’の内容に、前記タイムスタンプＡＴ２，ＡＴ２’、その他パラメータ、署名タイムスタンプ、Ｓｉｇ（０）の署名値、Ｓｉｇ（０）の参照先データ（Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名値、Ｒｄ（０），Ｒｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）を含む）に対するタイムスタンプ（アーカイブタイムスタンプ）ＡＴ２’’が追加される。
【００４２】
図８には、前記図５で示す多重化された署名ファイルＦ２における親署名Ｓｉｇ（０）の具体的構成を示す。この状態での親署名Ｓｉｇ（０）は、参照情報ＲＶ（Ｓｉｇ（０））と、この親署名Ｓｉｇ（０）でのハッシュ値Ｈ（０）と、署名値ＳＶ（Ｓｉｇ（０））と、１つ前の階層である子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２）の内容とを備えて構成される。
【００４３】
前記参照情報ＲＶ（Ｓｉｇ（０））は、具体的には、以前の総ての子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名値ＳＶ（Ｓｉｇ（１，１）），ＳＶ（Ｓｉｇ（１，２）），ＳＶ（Ｓｉｇ（２））へのＵＲＩおよび署名対象データＲｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）へのＵＲＩと、今回の親署名Ｓｉｇ（０）の署名対象データＲｄ（０）へのＵＲＩとを備えて構成される。
【００４４】
前記ハッシュ値Ｈ（０）は、総ての署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名対象データＲｄ（０），Ｒｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）による一方向へのハッシュ演算で求められ、たとえばＳＨＡ１演算で求められる。
【００４５】
前記署名値ＳＶ（Ｓｉｇ（０））は、前記ハッシュ値Ｈ（０）からのハッシュ演算で求められる。なお、前記ハッシュ値Ｈ（０）は、本発明を実現する上では必ずしも署名フォーマット上にある必要はないが、互換性維持のために、実装上フォーマット上に記載している。このハッシュ値Ｈ（０）を記載しない場合は、前記署名値ＳＶ（Ｓｉｇ（０））は、総ての署名Ｓｉｇ（０），Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の署名対象データＲｄ（０），Ｒｄ（１，１），Ｒｄ（１，２），Ｒｄ（２）によるハッシュ値のハッシュ値となる。
【００４６】
前記子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２）の内容には、上記の親署名Ｓｉｇ（０）と同様の内容が格納されており、子署名Ｓｉｇ（１，１）の内容には、さらに子署名Ｓｉｇ（２）の内容が格納されている。
【００４７】
また、図９には、前記図５で示す署名ファイルＦ２における前記親署名Ｓｉｇ（０）に署名延長部Ｅ２を加えた長期署名Ｓｉｇ（０）’の具体的構成を示す。さらにまた、図１０には、ｘ回延長した長期署名Ｓｉｇ（０）’’の具体的構成を示す。
【００４８】
ここで、前記参照情報ＲＶ（Ｓｉｇ（０））の設定方法について、図１１を用いて説明する。図１１は、子署名Ｓｉｇ（１，１）の署名値ＳＶ（Ｓｉｇ（１，１））および署名対象データＲｄ（１，１）への参照情報を例にしている。この場合、子署名Ｓｉｇ（１，１）には、参照情報ＲＶ（Ｓｉｇ（１，１））として、参照先http://xxxxxxxx/rd1,1.pdfとあり、その署名対象データＲｄ（１，１）に対して署名値ＳＶ（Ｓｉｇ（１，１））で署名が実施されているので、親署名Ｓｉｇ（０）は、その子署名Ｓｉｇ（１，１）が持つ参照情報ＲＶ（Ｓｉｇ（１，１））、すなわちhttp://xxxxxxxx/rd1,1.pdfおよび子署名Ｓｉｇ（１，１）が持つ署名値ＳＶ（Ｓｉｇ（１，１））へのＵＲＩ、すなわちhttp://xxxxxxxx/sig1,1#SV(Sig(1,1)の取込みを行う。そして、実際に親署名Ｓｉｇ（０）の署名値ＳＶ（Ｓｉｇ（０））を計算する際は、署名対象データＲｄ（１，１）と署名値ＳＶ（Ｓｉｇ（１，１））とが署名を行うデータの対象となる。
【００４９】
図１２は、上述のように構成される署名延長システムの概略動作を説明するためのフローチャートである。前述のようにこのシステムでは、署名延長クライアント１と署名延長サーバ２との機能分割は任意であり、単体の署名延長装置の動作として記載している。先ずステップＳ１では、前記の基礎署名部Ｂ１，Ｂ２が生成される。続いて、ステップＳ２で、延長にあたって必要になる署名延長部Ｅ１，Ｅ２が生成される。その後、時間が経過して有効期間の延長処理が必要になると、その都度、ステップＳ３を行い、前記署名延長部Ｅ２’，Ｅ２’’，・・・が生成される。その際、子署名の包含処理が必要になると前記ステップＳ１に戻る。
【００５０】
図１３は、上述のステップＳ１における基礎署名部Ｂ１，Ｂ２の生成処理を詳しく説明するためのフローチャートである。１または複数の署名対象データＤ（前記Ｒｄ（０）等）が入力されると、ステップＳ１０１で、それらは新規署名の対象に設定される。ステップＳ１０２では、入力された署名対象データＤの内の１つと、過去の署名とが、いずれか一方を親署名Ｓｉｇ（０）とし、他方を子署名（たとえば、前記Ｓｉｇ（１，１））として、親署名Ｓｉｇ（０）への包含処理が行われる。具体的には、ステップＳ１０３で、子署名（前記Ｓｉｇ（１，１））等）に対する参照情報ＲＶ（Ｓｉｇ（０））の設定処理が行われ、ステップＳ１０４では、総ての署名対象データによるハッシュ値Ｈ０の計算処理が行われ、ステップＳ１０５では、そのハッシュ値Ｈ０から、前記署名値ＳＶ（Ｓｉｇ（０））の演算処理が行われる。このようなステップＳ１０２〜Ｓ１０５の処理を入力された署名対象データＤの総てについて行い、子署名を順次包含してゆくことで、前記親署名Ｓｉｇ（０）の基礎署名部Ｂ１，Ｂ２が作成される。
【００５１】
図１４は、上述のステップＳ２における署名延長部Ｅ１，Ｅ２の生成処理を詳しく説明するためのフローチャートである。図１３で示すようにして新たな親署名Ｓｉｇ（０）の基礎署名部Ｂ１，Ｂ２が作成されると、ステップＳ２０１で、その親署名Ｓｉｇ（０）に対する署名タイムスタンプＴ１，Ｔ２の取得処理が行われる。ステップＳ２０２では、親署名Ｓｉｇ（０）を含む総ての署名中の公開鍵証明書Ｋ１，Ｋ２の取得処理が行われる。ステップＳ２０３では、前記ステップＳ２０２で求められた公開鍵証明書Ｋ１，Ｋ２に対する信頼点までの公開鍵証明書Ｌ１，Ｌ２の取得処理が行われる。ステップＳ２０４では、前記ステップＳ２０２およびステップＳ２０３に対する失効情報Ｒ１，Ｒ２の取得処理が行われる。ステップＳ２０５では、最新世代である親署名Ｓｉｇ（０）がもつ総ての参照先、署名値、および前記ステップＳ２０１，Ｓ２０２，Ｓ２０３，Ｓ２０４に対するタイムスタンプＡＴ１，ＡＴ２の取得処理（署名延長処理）を行う。こうして、前記長期署名Ｓｉｇ（０）’が作成される。
【００５２】
その後、有効期限の経過の前に、前記ステップＳ２０５を繰返すことで、長期署名Ｓｉｇ（０）’’，Ｓｉｇ（０）’’’，・・・が作成される。ただし、その際には、ステップＳ２０５において、過去のタイムスタンプ（たとえばＡＴ１，ＡＴ２）のタイムスタンプも取得されて、新たなタイムスタンプ（たとえばＡＴ１’，ＡＴ２’）となる。その様子を図１５に示す。図１５では、タイムスタンプの取得処理を、回数に応じて、ステップＳ２０５−１，Ｓ２０５−２，Ｓ２０５−３というように、添数字を付して示している。この場合、ステップＳ２０５−２，Ｓ２０５−３で示すような有効期限の延長手法は、たとえばＥＴＳＩ  ＴＳ  １０１  ９０３に記載されている。
【００５３】
このようにして有効期限を延長する構成とすることで、署名対象データが、たとえば図５で示すようにＲｄ（２）；Ｒｄ（１，１），Ｒｄ（１，２）；Ｒｄ（０）である場合、記憶すべきデータは、図１６で示すようになる。この図１６を前述の図２０と比較すると、長期署名Ｓｉｇ（０）’（延長を繰返すことでＳｉｇ（０）’’，Ｓｉｇ（０）’’’・・・）のファイル容量は、延長回数に拘わらず、署名延長証書ｅ１，ｅ２，ｅ３，・・・の合成データ量より多くなる。
【００５４】
しかしながら、子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の真正性の延長に必要な情報（前記公開鍵証明書Ｋ１，Ｋ２、公開鍵証明書Ｌ１，Ｌ２および失効情報Ｒ１，Ｒ２）は、親署名Ｓｉｇ（０）に格納されているので、該親署名Ｓｉｇ（０）を前記ＥＴＳＩ  ＴＳ  １０１  ９０３などのアーカイブタイムスタンプを追加して署名の有効期限を延長する公知の手法で延長しても、子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の真正性も合わせて延長することができる。これによって、子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）の真正性の確保にあたって、個別に延長処理を行う必要をなくすことができ、タイムスタンプを取得するコストおよび延長処理の手間を省くことができる。
【００５５】
より詳しくは、前記特許文献１において、署名延長証書ｅ２に用いた暗号化アルゴリズムが危殆化しているときに、署名延長証書ｅ１において算出したハッシュ値と同じ値を持つ署名延長証書ｅ２が偽造できた場合に、署名付きデータｄ１〜ｄｎの真正性を保証することはできなくなる。
【００５６】
これに対して本発明では、署名延長のためのタイムスタンプＡＴ１’，ＡＴ２’；ＡＴ１’’，ＡＴ２’’，・・・を定期的に付与する度に、その時危殆化していない暗号化アルゴリズムを用いて、親署名Ｓｉｇ（０）だけでなく、子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）およびその参照先データのハッシュ値を求めることができるように、親署名Ｓｉｇ（０）に情報を集約しているので、その完全性を保証でき、過去に使用した暗号化アルゴリズムが危殆化しても、子署名Ｓｉｇ（１，１），Ｓｉｇ（１，２），Ｓｉｇ（２）においても高い真正性を保証することができる。
【００５７】
本発明は、前述のように署名延長クライアント１と署名延長サーバ２とを備えた署名延長システムとして構成されるだけでなく、単体の署名延長装置として構成されてもよく、また、たとえば署名延長クライアント１で、署名タイムスタンプＴ１，Ｔ２の取得処理（Ｓ２０１）、公開鍵証明書Ｋ１，Ｋ２およびその信頼点までの公開鍵証明書Ｌ１，Ｌ２の取得処理（Ｓ２０２，Ｓ２０３）および失効情報Ｒ１，Ｒ２の取得処理（Ｓ２０４）を行い、署名延長サーバ２で、タイムスタンプＡＴ１，ＡＴ２の取得処理（Ｓ２０５）のみを行うなど、任意に機能分割することができる。
【図面の簡単な説明】
【００５８】
【図１】本発明の実施の一形態に係る署名延長装置システムの全体構成を示すブロック図である。
【図２】本発明の署名の多重化法を説明するための図である。
【図３】本発明の署名の多重化および延長処理の一例を示す署名ファイルのデータ構成を示す図である。
【図４】前記図３で示す署名ファイルを１回延長して得られる長期署名ファイルのデータ構成を示す図である。
【図５】本発明の署名の多重化および延長処理の他の例を示す署名ファイルのデータ構成を示す図である。
【図６】前記図４で示す署名ファイルを１回延長して得られる長期署名ファイルのデータ構成を示す図である。
【図７】前記図４で示す署名ファイルを２回延長して得られる長期署名ファイルのデータ構成を示す図である。
【図８】前記図５で示す多重化された署名ファイルにおける親署名の具体的構成を示す図である。
【図９】前記図５で示す署名ファイルにおける長期署名の具体的構成を示す図である。
【図１０】前記図５で示す署名ファイルをｘ回延長した長期署名の具体的構成を示す図である。
【図１１】署名を延長するにあたって、参照情報の設定方法を説明するための図である。
【図１２】本発明の署名延長システムの概略動作を説明するためのフローチャートである。
【図１３】図１２で示す延長処理における基礎署名部の生成処理を詳しく説明するためのフローチャートである。
【図１４】図１２で示す延長処理における署名延長部の生成処理を詳しく説明するためのフローチャートである。
【図１５】図１２で示す延長処理において、延長を繰返す際の署名延長部の生成処理を詳しく説明するためのフローチャートである。
【図１６】本発明の署名延長処理で記憶されるべきデータの構成を説明するための図である。
【図１７】従来の署名延長処理の例を示す署名延長証書のデータ構成を示す図である。
【図１８】前記図１７で示す署名延長証書を１回延長して得られる署名延長証書のデータ構成を示す図である。
【図１９】前記図１７で示す署名延長証書を２回延長して得られる署名延長証書のデータ構成を示す図である。
【図２０】従来の署名延長処理で記憶されるべきデータの構成を説明するための図である。
【図２１】従来の署名の多重化法を説明するための図である。
【符号の説明】
【００５９】
１    署名延長クライアント
２    署名延長サーバ
３    ネットワーク
Ｐ１    認証局
Ｐ２，Ｐ４    ＣＲＬ配布ポイント
Ｐ３，Ｐ６    ルート認証局
Ｐ５    タイムスタンプ局
【図１】
2007027938.tif 000003
【図２】
2007027938.tif 000004
【図３】
2007027938.tif 000005
【図４】
2007027938.tif 000006
【図５】
2007027938.tif 000007
【図６】
2007027938.tif 000008
【図７】
2007027938.tif 000009
【図８】
2007027938.tif 000010
【図９】
2007027938.tif 000011
【図１０】
2007027938.tif 000012
【図１１】
2007027938.tif 000013
【図１２】
2007027938.tif 000014
【図１３】
2007027938.tif 000015
【図１４】
2007027938.tif 000016
【図１５】
2007027938.tif 000017
【図１６】
2007027938.tif 000018
【図１７】
2007027938.tif 000019
【図１８】
2007027938.tif 000020
【図１９】
2007027938.tif 000021
【図２０】
2007027938.tif 000022
【図２１】
2007027938.tif 000023