(57)【要約】【課題】電子文書にアーカイブタイムスタンプを付与して電子文書の有効性を延長する際に、より確実に有効性を延長することを目的とする。【解決手段】署名有効性延長装置１００において、タイムスタンプ取得部１０１が、それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバからタイムスタンプを複数取得し、タイムスタンプ付与部１０２が当該複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データに付与することで、署名データの有効期限を延長する。その後、タイムスタンプ取得部１０１が複数のタイムスタンプサーバ２００から新たなタイムスタンプを複数取得し、タイムスタンプ付与部１０２が当該複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして署名データに付与することで、署名データの有効期限をさらに延長する。【選択図】図２
2010028690.tif 000002
【特許請求の範囲】
【請求項１】
有効期限をもつ電子署名を付与したデータを有効期限付きの署名データとして記憶装置に記憶し、署名データが存在した時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを付与することで、署名データの有効期限を延長する署名有効性延長装置であって、
それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバから、署名データが存在した時刻として署名データの有効期限内の時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを複数取得するタイムスタンプ取得部と、
前記タイムスタンプ取得部が取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データとともに記憶装置に記憶するタイムスタンプ付与部とを備え、
前記タイムスタンプ取得部は、複数のタイムスタンプサーバから、記憶装置に記憶されている第ｍ世代（ｍは記憶装置に記憶されているアーカイブタイムスタンプの世代数）アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得し、
前記タイムスタンプ付与部は、前記タイムスタンプ取得部が取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置に記憶することを特徴とする署名有効性延長装置。
【請求項２】
前記署名有効性延長装置は、さらに、
記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプから、所定の条件を満たすタイムスタンプを処理装置により１つ選択するタイムスタンプ選択部を備え、
前記タイムスタンプ取得部は、複数のタイムスタンプサーバから、前記タイムスタンプ選択部が選択した１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得することを特徴とする請求項１に記載の署名有効性延長装置。
【請求項３】
前記タイムスタンプ選択部は、所定の条件として、タイムスタンプのデータサイズとタイムスタンプを発行するためのアルゴリズムの種類とタイムスタンプの有効期限とタイムスタンプを発行したタイムスタンプサーバとの少なくともいずれかに基づいて、記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプを処理装置により評価し、当該評価が最も高いタイムスタンプを選択することを特徴とする請求項２に記載の署名有効性延長装置。
【請求項４】
前記署名有効性延長装置は、さらに、
記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプから、失効したタイムスタンプを処理装置により検出するタイムスタンプ失効確認部と、
記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプから、前記タイムスタンプ失効確認部が検出したタイムスタンプを除去するタイムスタンプ除去部とを備え、
前記タイムスタンプ取得部は、前記タイムスタンプ除去部がタイムスタンプを除去する度に、任意のタイムスタンプサーバから代わりのタイムスタンプを取得し、
前記タイムスタンプ付与部は、前記タイムスタンプ取得部が代わりのタイムスタンプを取得する度に、当該代わりのタイムスタンプを第ｍ世代アーカイブタイムスタンプに追加することを特徴とする請求項１から３までのいずれかに記載の署名有効性延長装置。
【請求項５】
前記署名有効性延長装置は、さらに、
記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプから、有効期限の経過や改ざんなどで有効ではないタイムスタンプを処理装置により検出するタイムスタンプ検証部と、
記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプから、前記タイムスタンプ検証部が検出したタイムスタンプを除去するタイムスタンプ除去部とを備え、
前記タイムスタンプ取得部は、前記タイムスタンプ除去部がタイムスタンプを除去する度に、任意のタイムスタンプサーバから代わりのタイムスタンプを取得し、
前記タイムスタンプ付与部は、前記タイムスタンプ取得部が代わりのタイムスタンプを取得する度に、当該代わりのタイムスタンプを第ｍ世代アーカイブタイムスタンプに追加することを特徴とする請求項１から３までのいずれかに記載の署名有効性延長装置。
【請求項６】
前記タイムスタンプ取得部は、複数のタイムスタンプサーバから、それぞれ異なる認証局が発行した証明書を用いて発行された複数のタイムスタンプを取得することを特徴とする請求項１から５までのいずれかに記載の署名有効性延長装置。
【請求項７】
各タイムスタンプサーバは、任意の認証局が発行した証明書を用いてタイムスタンプを発行し、
前記タイムスタンプ取得部は、前記タイムスタンプ除去部がタイムスタンプを除去する度に、記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプに含まれるタイムスタンプの発行時に用いられた証明書を発行した認証局以外の認証局が発行した証明書を用いて発行されたタイムスタンプを、代わりのタイムスタンプとして取得することを特徴とする請求項４又は５に記載の署名有効性延長装置。
【請求項８】
有効期限をもつ電子署名を付与したデータを有効期限付きの署名データとして記憶装置に記憶し、署名データが存在した時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを付与することで、署名データの有効期限を延長する署名有効性延長方法であって、
処理装置が、それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバから、署名データが存在した時刻として署名データの有効期限内の時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを複数取得する第１ステップと、
処理装置が、前記第１ステップで取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データとともに記憶装置に記憶する第２ステップと、
処理装置が、複数のタイムスタンプサーバから、記憶装置に記憶されている第ｍ世代（ｍは記憶装置に記憶されているアーカイブタイムスタンプの世代数）アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得する第３ステップと、
処理装置が、前記第３ステップで取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置に記憶する第４ステップとを備えることを特徴とする署名有効性延長方法。
【請求項９】
有効期限をもつ電子署名を付与したデータを有効期限付きの署名データとして記憶装置に記憶し、署名データが存在した時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを付与することで、署名データの有効期限を延長する署名有効性延長プログラムであって、
それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバから、署名データが存在した時刻として署名データの有効期限内の時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを複数取得するタイムスタンプ取得処理と、
前記タイムスタンプ取得処理が取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データとともに記憶装置に記憶するタイムスタンプ付与処理とをコンピュータに実行させ、
前記タイムスタンプ取得処理は、複数のタイムスタンプサーバから、記憶装置に記憶されている第ｍ世代（ｍは記憶装置に記憶されているアーカイブタイムスタンプの世代数）アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得し、
前記タイムスタンプ付与処理は、前記タイムスタンプ取得処理が取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置に記憶することを特徴とする署名有効性延長プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、署名有効性延長装置及び署名有効性延長方法及び署名有効性延長プログラムに関するものである。本発明は、特に、デジタル署名有効性延長における効率化手法に関するものである。
【背景技術】
【０００２】
近年の法改正により法的に紙で保存が義務付けられている文書に対して、電子文書でも保存が認められるようになった。電子文書は紙文書と比べ改ざんが容易で、痕跡が残らないという特徴から紙文書に比べ信頼性が低いという問題があった。それを解決する技術が電子署名で電子文書に対して電子署名を付与すると電子文書の改ざん検知や署名作成者が判別でき、紙と同様の信頼性を有することができる。しかし、電子署名には有効期限が存在し、電子署名の有効期限が過ぎた電子文書に対しては有効性を証明することができなかったが、このような不具合を解決するための技術が非特許文献１、非特許文献２に示されている。非特許文献１、非特許文献２ではその電子文書作成当時の時刻を保証するためのタイムスタンプ（署名タイムスタンプ）、検証情報（公開鍵証明書やＣＲＬ（Ｃｅｒｔｉｆｉｃａｔｅ・Ｒｅｖｏｃａｔｉｏｎ・Ｌｉｓｔ））を保護するタイムスタンプ（アーカイブタイムスタンプ）を電子署名に付与することにより長期間有効性を保証できるフォーマット（長期署名フォーマット）が規定されている。なお有効性を保証できるのはアーカイブタイムスタンプが有効な期間内であり、有効期間を延長するためには既存のアーカイブタイムスタンプが有効な間に再度アーカイブタイムスタンプを付与する必要がある。
【０００３】
特許文献１では、１対象データごとにタイムスタンプを取得するが、タイムスタンプを取得する対象の署名データが複数ある場合、以前に作成した署名データと対象データに対して署名データを作成し、タイムスタンプを取得することによりタイムスタンプを削減することが開示されている。
【特許文献１】特開２００７−２７９３８号公報
【非特許文献１】ＥＴＳＩ  ＴＳ  １０１  ７３３  Ｖ１．７．３、“Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ  ａｎｄ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅｓ  （ＥＳＩ）；  ＣＭＳ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ  （ＣＡｄＥＳ）”、２００７年１月
【非特許文献２】ＥＴＳＩ  ＴＳ  １０１  ９０３  Ｖ１．３．２、“ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ  （ＸＡｄＥＳ）”、２００６年３月
【発明の開示】
【発明が解決しようとする課題】
【０００４】
上記のように、長期間有効性を保証できるのはアーカイブタイムスタンプの有効性が保証されている期間内である。有効性（有効期間）を延長するためには既存のアーカイブタイムスタンプが有効な間に再度アーカイブタイムスタンプを付与する必要があるが、従来は、次のアーカイブタイムスタンプを付与する前に既存のアーカイブタイムスタンプが有効でなくなり、それ以降は電子文書の有効性を保証できなくなる可能性があるという課題があった。
【０００５】
アーカイブタイムスタンプに有効期限が存在するのは電子署名が付与されているためである。有効期限を設定しているのは認証局（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｅ・Ａｕｔｈｏｒｉｔｙ）であり、有効期限はＣＡが発行する公開鍵証明書に記載されている。従来は、タイムスタンプで使用されている秘密鍵の危殆化や漏洩などで失効したケースだけではなく、その証明書を発行したＣＡの証明書、さらにはＣＡの証明書を発行した上位ＣＡの証明書のように順に上位の証明書を探索し、検証者が信頼する証明書まで探索して構築した証明書群（証明書パス）が失効したケースではタイムスタンプの有効性が失われ、それと同時に電子文書の有効性が失われるという課題があった。
【０００６】
本発明は、例えば、電子文書にアーカイブタイムスタンプを付与して電子文書の有効性を延長する際に、より確実に有効性を延長することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一の態様に係る署名有効性延長装置は、
有効期限をもつ電子署名を付与したデータを有効期限付きの署名データとして記憶装置に記憶し、署名データが存在した時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを付与することで、署名データの有効期限を延長する署名有効性延長装置であって、
それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバから、署名データが存在した時刻として署名データの有効期限内の時刻を証明するタイムスタンプであって署名データの有効期限より遅い有効期限をもつタイムスタンプを複数取得するタイムスタンプ取得部と、
前記タイムスタンプ取得部が取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データとともに記憶装置に記憶するタイムスタンプ付与部とを備え、
前記タイムスタンプ取得部は、複数のタイムスタンプサーバから、記憶装置に記憶されている第ｍ世代（ｍは記憶装置に記憶されているアーカイブタイムスタンプの世代数）アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得し、
前記タイムスタンプ付与部は、前記タイムスタンプ取得部が取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置に記憶することを特徴とする。
【発明の効果】
【０００８】
本発明の一の態様によれば、
署名有効性延長装置のタイムスタンプ取得部が、それぞれ異なるタイムスタンプを複数取得し、
前記署名有効性延長装置のタイムスタンプ付与部が、前記タイムスタンプ取得部が取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプとして署名データとともに記憶装置に記憶し、
前記タイムスタンプ取得部が、記憶装置に記憶されている第ｍ世代アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する新たなタイムスタンプであって当該１つのタイムスタンプの有効期限より遅い有効期限をもつ新たなタイムスタンプを複数取得し、
前記タイムスタンプ付与部が、前記タイムスタンプ取得部が取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置に記憶することにより、
次世代のアーカイブタイムスタンプを付与する前に現世代のアーカイブタイムスタンプが有効でなくなる可能性を低くし、より確実に署名データの有効期限を延長することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図を用いて説明する。
【００１０】
実施の形態１．
本実施の形態では、互いに異なるＣＡから発行された複数のタイムスタンプを同世代のアーカイブタイムスタンプとして付与する。この方式により、タイムスタンプで使用されている公開鍵証明書だけではなく、それに関連する上位の証明書が失効したケースにも有効性を保証できる。ただ、この方式では有効性を延長すればするほど、従来よりもタイムスタンプの個数が増え、その個数に比例してデータ量や検証時間が増大することになる。そこで、本実施の形態では、さらに、第２世代目以降のアーカイブタイムスタンプを付与する場合は前世代のタイムスタンプが複数ある場合、有効なタイムスタンプをある条件下で１つだけ判別し、それ以外は削除し、新たなアーカイブタイムスタンプを複数取得する。これにより最小限のタイムスタンプを電子署名に含めることとなり、データ量や検証時間を抑えることが可能となる。また、タイムスタンプの公開鍵証明書が失効した場合は新たに電子署名に既に付与されているのとは異なるＣＡから発行された有効なタイムスタンプを取得して電子署名に付与し、失効したタイムスタンプを削除する。これにより有効なタイムスタンプを絶えず複数の状態に保つことが可能となる。
【００１１】
図１は、本実施の形態における署名有効性延長システムの全体構成を示すブロック図である。
【００１２】
署名有効性延長システムは、署名有効性延長装置１００、タイムスタンプサーバ２００、ユーザ端末３００、認証局サーバ４００を備え、これらはデータ通信経路５００によりネットワークにつながっている。そして、署名有効性延長装置１００、タイムスタンプサーバ２００、ユーザ端末３００、認証局サーバ４００は、ネットワークを介して互いにデータ通信を行う。タイムスタンプサーバ２００はタイムスタンプ局（ＴＳＡ：Ｔｉｍｅ・Ｓｔａｍｐｉｎｇ・Ａｕｔｈｏｒｉｔｙ）、認証局サーバ４００は認証局（ＣＡ）に設置されるもので、それぞれ複数存在しているものとする。以下では、タイムスタンプサーバ２００をＴＳＡと、認証局サーバ４００を認証局又はＣＡと呼ぶ場合がある。
【００１３】
図２は、署名有効性延長装置１００の構成を示すブロック図である。
【００１４】
署名有効性延長装置１００は、タイムスタンプ取得部１０１、タイムスタンプ付与部１０２、タイムスタンプ除去部１０３、ハッシュ算出部１０４、タイムスタンプ失効確認部１０５、接続ＴＳＡ情報設定部１０６、ハッシュ対象収集部１０７、タイムスタンプ検証部１０８、接続ＴＳＡ情報取得部１０９、タイムスタンプ選択部１１０、接続ＴＳＡ情報選択部１１１を備える。また、署名有効性延長装置１００は、処理装置１５１、記憶装置１５２のほか、不図示の入力装置、出力装置などのハードウェアを備える。ハードウェアは署名有効性延長装置１００の各部によって利用される。処理装置１５１は、署名有効性延長装置１００の各部のデータ処理を実行する。記憶装置１５２は、署名有効性延長装置１００の各部のデータを任意の領域、あるいは、署名データ保存領域１２１、接続ＴＳＡ情報保存領域１２２といった特定の領域に記憶する。
【００１５】
タイムスタンプ取得部１０１はネットワークを介して複数のタイムスタンプサーバ２００からタイムスタンプを取得する。各タイムスタンプサーバ２００は、任意の認証局サーバ４００が発行した証明書を用いて（即ち、認証局サーバ４００が発行した公開鍵証明書と対となる秘密鍵を用いて）タイムスタンプを発行する。
【００１６】
タイムスタンプ付与部１０２はタイムスタンプ取得部１０１で取得したタイムスタンプを署名データ保存領域１２１にある有効期限付きの署名データに対し、アーカイブタイムスタンプとして付与する。即ち、タイムスタンプ付与部１０２はアーカイブタイムスタンプを署名データとともに署名データ保存領域１２１に格納する。これにより、署名データの有効期限を延長することができる。署名データ保存領域１２１に記憶される署名データは、具体的には、有効期限をもつ電子署名を付与した電子文書（データ）などから構成された電子データである。有効期限内であれば、電子署名を用いて電子文書を検証することで、電子文書が改ざんされていないか確認することができる。タイムスタンプ付与部１０２によって署名データに付与されるタイムスタンプは、署名データが存在した時刻を証明する電子署名である。タイムスタンプも電子署名であり、有効期限をもつが、タイムスタンプ付与部１０２によって付与されるタイムスタンプは署名データの有効期限を延長するためのものであるから、署名データの有効期限より遅い有効期限をもっていなければならない。
【００１７】
タイムスタンプ除去部１０３は指定されたタイムスタンプを署名データ保存領域１２１から除去する。
【００１８】
ハッシュ算出部１０４は入力されたデータのハッシュ値を処理装置１５１により計算する。
【００１９】
タイムスタンプ失効確認部１０５はネットワークを介して認証局サーバ４００からＣＲＬを取得し、署名データ保存領域１２１に格納されているタイムスタンプが失効しているかどうかを処理装置１５１により確認する。あるタイムスタンプがタイムスタンプサーバ２００によって生成されたときに用いられた証明書がＣＲＬに含まれているか確認し、含まれていれば、そのタイムスタンプは失効していることがわかる。
【００２０】
接続ＴＳＡ情報設定部１０６はタイムスタンプ取得先であるタイムスタンプサーバ２００を接続ＴＳＡ情報保存領域１２２に設定、追加する。即ち、接続ＴＳＡ情報設定部１０６はタイムスタンプサーバ２００のＵＲＬ（Ｕｎｉｆｏｒｍ・Ｒｅｓｏｕｒｃｅ・Ｌｏｃａｔｏｒ）などの接続情報（アクセス情報）その他の情報を接続ＴＳＡ情報保存領域１２２に格納する。
【００２１】
ハッシュ対象収集部１０７はアーカイブタイムスタンプの対象となる署名データ、署名タイムスタンプ、証明書ＣＲＬの参照情報及び実データ、前世代までのアーカイブタイムスタンプを署名データ保存領域１２１から収集する。
【００２２】
タイムスタンプ検証部１０８はアーカイブタイムスタンプを処理装置１５１により検証する。あるタイムスタンプの有効期限と現在時刻を比較し、有効期限が経過していれば、そのタイムスタンプは有効でないことがわかる。あるいはタイムスタンプの電子署名を検証し、検証に失敗すれば（タイムスタンプが改ざんされていた場合など）有効でないことがわかる。
【００２３】
接続ＴＳＡ情報取得部１０９は接続ＴＳＡ情報保存領域１２２からタイムスタンプサーバ２００の接続情報を取得する。
【００２４】
タイムスタンプ選択部１１０は所定の基準に従って第ｎ世代（ｎは１以上の整数）アーカイブタイムスタンプに設定されている複数のタイムスタンプから最適なタイムスタンプを選択する。
【００２５】
接続ＴＳＡ情報選択部１１１は第ｎ世代アーカイブタイムスタンプに設定されている複数のタイムスタンプを発行したタイムスタンプサーバ２００とは異なるタイムスタンプサーバ２００の情報を接続ＴＳＡ情報保存領域１２２から選択する。
【００２６】
署名データ保存領域１２１はユーザ端末３００から有効性を延長する対象の署名データが送られてきた場合に、その署名データを保管する記憶装置１５２のデータ格納領域である。接続ＴＳＡ情報保存領域１２２は接続ＴＳＡ情報設定部１０６から設定、追加されるタイムスタンプサーバ２００の情報を保管する記憶装置１５２のデータ格納領域である。
【００２７】
図３は、署名有効性延長装置１００のハードウェア構成の一例を示す図である。
【００２８】
図３において、署名有効性延長装置１００は、コンピュータであり、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶ディスプレイ）の表示画面を有する表示装置９０１、キーボード９０２（Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・Ｄｒｉｖｅ）、ＣＤＤ９０５（Ｃｏｍｐａｃｔ・Ｄｉｓｃ・Ｄｒｉｖｅ）、プリンタ装置９０６などのハードウェアを備え、これらはケーブルや信号線で接続されている。
【００２９】
署名有効性延長装置１００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ）を備えている。ＣＰＵ９１１は、処理装置１５１の一例である。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３（Ｒｅａｄ・Ｏｎｌｙ・Ｍｅｍｏｒｙ）、ＲＡＭ９１４（Ｒａｎｄｏｍ・Ａｃｃｅｓｓ・Ｍｅｍｏｒｙ）、通信ボード９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカードリーダライタなどの記憶媒体が用いられてもよい。
【００３０】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置１５２の一例である。通信ボード９１５、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５などは、入力装置の一例である。また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力装置の一例である。
【００３１】
通信ボード９１５は、ＬＡＮ（ローカルエリアネットワーク）などに接続されている。通信ボード９１５は、ＬＡＮに限らず、インターネット、あるいは、ＩＰ−ＶＰＮ（Ｉｎｔｅｒｎｅｔ・Ｐｒｏｔｏｃｏｌ・Ｖｉｒｔｕａｌ・Ｐｒｉｖａｔｅ・Ｎｅｔｗｏｒｋ）、広域ＬＡＮ、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ・Ｔｒａｎｓｆｅｒ・Ｍｏｄｅ）ネットワークなどのＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。ＬＡＮ、インターネット、ＷＡＮは、ネットワークの一例である。
【００３２】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。プログラム群９２３には、本実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。また、ファイル群９２４には、本実施の形態の説明において、「〜データ」、「〜情報」、「〜ＩＤ（識別子）」、「〜フラグ」、「〜結果」として説明するデータや情報や信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」や「〜テーブル」の各項目として記憶されている。「〜ファイル」や「〜データベース」や「〜テーブル」は、ディスクやメモリなどの記憶媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶されたデータや情報や信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理（動作）に用いられる。抽出・検索・参照・比較・演算・計算・制御・出力・印刷・表示などのＣＰＵ９１１の処理中、データや情報や信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【００３３】
また、本実施の形態の説明において用いるブロック図やフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号は、ＲＡＭ９１４などのメモリ、ＦＤＤ９０４のフレキシブルディスク（ＦＤ）、ＣＤＤ９０５のコンパクトディスク（ＣＤ）、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク（ＭＤ）、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｃ）などの記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体により伝送される。
【００３４】
また、本実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜工程」、「〜手順」、「〜処理」であってもよい。即ち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。あるいは、ソフトウェアのみ、あるいは、素子・デバイス・基板・配線などのハードウェアのみ、あるいは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実現されていても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤなどの記録媒体に記憶される。このプログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。即ち、プログラムは、本実施の形態の説明で述べる「〜部」としてコンピュータを機能させるものである。あるいは、本実施の形態の説明で述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００３５】
図４は、長期署名フォーマット６００の構成を示すブロック図である。
【００３６】
署名データ６１０は電子文書６１１、署名値６１２、属性情報６１３などから構成される。署名値６１２は上記の電子署名のことで署名者（ユーザ）の秘密鍵を用いて計算された値である。この値の検証により電子文書６１１の改ざん検知などが行える。つまり、署名データ６１０は、電子文書６１１に署名値６１２を付与し、さらに、署名値６１２の属性（署名属性）を示す属性情報６１３を加えたものである。
【００３７】
署名タイムスタンプ６２０は署名値６１２からハッシュアルゴリズムを用いてハッシュ値を生成し、そのハッシュ値をタイムスタンプサーバ２００に送付することにより得られるデータである。タイムスタンプサーバ２００は送付された時刻とハッシュ値からタイムスタンプサーバ２００の秘密鍵を使って作成した電子署名を返信する。この電子署名が署名タイムスタンプとなる。
【００３８】
証明書ＣＲＬ実データ６４０は署名データ６１０の署名値６１２を検証するために必要な証明書パスやＣＲＬ（又はその他の失効情報）の実データであり、証明書ＣＲＬ参照情報６３０は証明書パスやＣＲＬのＩＤ、ＵＲＩ（Ｕｎｉｆｏｒｍ・Ｒｅｓｏｕｒｃｅ・Ｉｄｅｎｔｉｆｉｅｒ）などの参照情報である。
【００３９】
第１世代アーカイブタイムスタンプ６５０は署名データ６１０、署名タイムスタンプ６２０、証明書ＣＲＬ参照情報６３０、証明書ＣＲＬ実データ６４０を非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュアルゴリズムを用いてハッシュ値を生成し、そのハッシュ値をタイムスタンプサーバ２００に送付することにより得られるデータである。
【００４０】
第ｎ世代アーカイブタイムスタンプ６６０は署名データ６１０、署名タイムスタンプ６２０、証明書ＣＲＬ参照情報６３０、証明書ＣＲＬ実データ６４０、第１世代アーカイブタイムスタンプ６５０から第ｎ−１世代アーカイブタイムスタンプまでを非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュアルゴリズムを用いてハッシュ値を生成し、そのハッシュ値をタイムスタンプサーバ２００に送付することにより得られるデータである。
【００４１】
図５は、本実施の形態における署名有効性延長システムの全体構成例を表す図である。
【００４２】
署名有効性延長装置１００はユーザ端末３００より送付された署名データ６１０に対して、署名有効性延長処理を行う。
【００４３】
信頼点認証局ａは下位の認証局に公開鍵証明書を発行し、その下位の認証局はさらに下位の認証局に公開鍵証明書を発行するというように認証局ａまで公開鍵証明書を発行する。認証局ａはＴＳＡａに公開鍵証明書ａを発行し、ＴＳＡａは公開鍵証明書ａと対となる秘密鍵を用いてタイムスタンプａを発行する。ＴＳＡｂ、ＴＳＡｃはＴＳＡａとは異なる信頼点認証局ｂ，ｃ、認証局ｂ，ｃから発行された公開鍵証明書ｂ，ｃと対となる秘密鍵を用いてタイムスタンプｂ、タイムスタンプｃを発行する。各ＴＳＡに証明書を発行する認証局やその上位の認証局、信頼点認証局は必ず異なっている必要はないが、安全性が向上するため異なっている方が望ましい。
【００４４】
署名有効性延長装置１００は複数のＴＳＡによって発行されたタイムスタンプから図６の長期署名フォーマット７００のデータを生成する。
【００４５】
図６は、本実施の形態における長期署名フォーマット７００のデータ（第１世代長期署名データ）の一例を示すブロック図である。
【００４６】
署名有効性延長装置１００において、タイムスタンプ取得部１０１はアーカイブタイムスタンプ取得時に認証局の異なるＴＳＡからそれぞれタイムスタンプを取得し、タイムスタンプ付与部１０２は各タイムスタンプを第１世代アーカイブタイムスタンプ７５０内に設定する。タイムスタンプ付与部１０２が第１世代アーカイブタイムスタンプ７５０に設定するタイムスタンプは、ハッシュ算出部１０４が署名データ７１０（電子文書７１１、署名値７１２、属性情報７１３などを含む）、署名タイムスタンプ７２０、証明書ＣＲＬ参照情報７３０、証明書ＣＲＬ実データ７４０を非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュアルゴリズムを用いてハッシュ値を生成し、タイムスタンプ取得部１０１がそのハッシュ値をそれぞれのＴＳＡに送付して得られるデータである。
【００４７】
図７は、図６のデータに第２世代アーカイブタイムスタンプを付与する前処理状態を示すブロック図である。
【００４８】
署名有効性延長装置１００において、タイムスタンプ検証部１０８は第２世代アーカイブタイムスタンプ付与前に第１世代アーカイブタイムスタンプとして付与されているタイムスタンプの検証を実施し、タイムスタンプ除去部１０３は当該検証に成功したタイムスタンプを１つ残し、それ以外は全て除去する。本処理ではタイムスタンプ選択部１１０が、タイムスタンプのデータサイズ、使用している署名アルゴリズム又はハッシュアルゴリズムの安全性などを残す対象となるタイムスタンプの判断材料として用いる。
【００４９】
図８は、図７のデータに第２世代アーカイブタイムスタンプを付与した状態（第２世代長期署名データ）を示すブロック図である。
【００５０】
署名有効性延長装置１００において、タイムスタンプ取得部１０１はアーカイブタイムスタンプ取得時に認証局の異なるＴＳＡからそれぞれタイムスタンプを取得し、タイムスタンプ付与部１０２は各タイムスタンプを第２世代アーカイブタイムスタンプ７６０内に設定する。タイムスタンプ付与部１０２が第２世代アーカイブタイムスタンプ７６０に設定するタイムスタンプは、ハッシュ算出部１０４が署名データ７１０、署名タイムスタンプ７２０、証明書ＣＲＬ参照情報７３０、証明書ＣＲＬ実データ７４０、タイムスタンプが１つのみの第１世代アーカイブタイムスタンプ７５０を非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュアルゴリズムを用いてハッシュ値を生成し、タイムスタンプ取得部１０１がそのハッシュ値をそれぞれのＴＳＡに送付して得られるデータである。
【００５１】
図９は、図６のデータで第１世代アーカイブタイムスタンプ７５０に設定されているあるタイムスタンプが失効したケースについて示したブロック図である。
【００５２】
本ケースは最新世代のアーカイブタイムスタンプ内のあるタイムスタンプが失効したケースに適用可能である（図９では最新世代アーカイブタイムスタンプが第１世代アーカイブタイムスタンプ７５０である）。
【００５３】
署名有効性延長装置１００において、タイムスタンプ失効確認部１０５が最新世代のアーカイブタイムスタンプ内にあるタイムスタンプの失効を確認した場合、もしくは、タイムスタンプ検証部１０８が最新世代のアーカイブタイムスタンプ内にあるタイムスタンプの有効性を確認できなかった場合、タイムスタンプ除去部１０３はそのタイムスタンプを除去する。そして、接続ＴＳＡ情報選択部１１１は最新世代のアーカイブタイムスタンプ内にある有効なタイムスタンプを発行したＴＳＡ以外のＴＳＡを選択し（図９の例では、タイムスタンプｂが失効したことにしているため、ＴＳＡｂを選択することができるが、他のＴＳＡで、自己が発行した有効なタイムスタンプが最新世代のアーカイブタイムスタンプ内に含まれていないものがあれば、そのＴＳＡを選択してもよい）、タイムスタンプ取得部１０１は選択されたＴＳＡからタイムスタンプ（新タイムスタンプ７７０）を取得し、タイムスタンプ付与部１０２はそのタイムスタンプを新たに付与する。これにより最新世代のアーカイブタイムスタンプ内の有効なタイムスタンプを常に複数設定することが可能となる。
【００５４】
以下では、署名有効性延長装置１００の動作（署名有効性延長処理）についてフロー図を用いて説明する。
【００５５】
署名有効性延長装置１００は、署名有効性延長処理の前準備としてユーザ端末３００が使用するタイムスタンプサーバ２００のアクセス情報を接続ＴＳＡ情報設定部１０６より接続ＴＳＡ情報保存領域１２２に設定する。
【００５６】
図１０は、署名有効性延長装置１００が第１世代アーカイブタイムスタンプ７５０を付与して第１世代長期署名データを生成する動作を示すフロー図である。以下の動作が行われると、署名データ７１０の有効期限が一定期間延長されることになる。
【００５７】
署名有効性延長装置１００は、入力装置により署名データ７１０の入力を受け付ける（ステップＳ１００１）。例えば、署名有効性延長装置１００は、ネットワークを介してユーザ端末３００から署名データ７１０を受信する。あるいは、署名有効性延長装置１００は、ユーザ端末３００からの要求に応じて、記憶装置１５２に予め記憶された署名データ７１０を読み出す。
【００５８】
署名有効性延長装置１００は、署名データ７１０を検索もしくはタイムスタンプ取得のキーとして署名タイムスタンプ７２０、証明書ＣＲＬ参照情報７３０、証明書ＣＲＬ実データ７４０を取得する（ステップＳ１００２）。
【００５９】
署名有効性延長装置１００は、ステップＳ１００２で取得したデータを長期署名フォーマット７００の形式で署名データ７１０に設定する（ステップＳ１００３）。
【００６０】
署名有効性延長装置１００は、ハッシュ対象収集部１０７より署名データ７１０、署名タイムスタンプ７２０、証明書ＣＲＬ参照情報７３０、証明書ＣＲＬ実データ７４０を収集し、収集したデータを非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュ算出部１０４よりハッシュアルゴリズムを用いてハッシュ値を生成する（ステップＳ１００４）。
【００６１】
署名有効性延長装置１００は、接続ＴＳＡ情報取得部１０９より取得した署名有効性延長装置１００に登録しているタイムスタンプサーバ２００全て（もしくはユーザ端末３００又は署名有効性延長装置１００が選択したタイムスタンプサーバ２００）に、ステップＳ１００４で生成したハッシュ値を送付し（ステップＳ１００５）、タイムスタンプ取得部１０１よりタイムスタンプを取得する（ステップＳ１００６）。
【００６２】
上記のように、ステップＳ１００６では、タイムスタンプ取得部１０１が、それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバ２００からタイムスタンプを複数取得する。各タイムスタンプは、署名データ７１０が存在した時刻として署名データ７１０の有効期限内の時刻を証明する（即ち、署名データ７１０が有効期限内に存在していたことを証明する）ものであり、前述したように、署名データ７１０の有効期限より遅い有効期限をもっている。各タイムスタンプは、それぞれ異なる認証局が発行した証明書を用いて発行されたものであることが望ましい。即ち、各タイムスタンプサーバ２００は、それぞれ異なる認証局が発行した証明書を用いて（即ち、認証局が発行した公開鍵証明書と対となる秘密鍵を用いて）タイムスタンプを生成（発行）することが望ましい。
【００６３】
署名有効性延長装置１００は、タイムスタンプ付与部１０２よりステップＳ１００６で取得したタイムスタンプを全て第１世代アーカイブタイムスタンプ７５０として署名データ７１０に設定する（ステップＳ１００７）。
【００６４】
上記のように、ステップＳ１００７では、タイムスタンプ付与部１０２が、タイムスタンプ取得部１０１が取得した複数のタイムスタンプを第１世代アーカイブタイムスタンプ７５０として署名データ７１０とともに記憶装置１５２の署名データ保存領域１２１に記憶する。これにより、署名データ７１０の有効期限を延長することができる。
【００６５】
署名有効性延長装置１００は、出力装置によりステップＳ１００７で生成したデータを第１世代長期署名データとして出力する（ステップＳ１００８）。例えば、署名有効性延長装置１００は、ネットワークを介してユーザ端末３００へ第１世代長期署名データを送信する。あるいは、署名有効性延長装置１００は、記憶装置１５２に第１世代長期署名データを記憶し、ユーザ端末３００からの要求に応じて第１世代長期署名データを読み出せるように保管しておく。
【００６６】
図１１は、署名有効性延長装置１００が第ｎ世代（ｎは２以上の整数である）アーカイブタイムスタンプ（第１の例としては第２世代アーカイブタイムスタンプ７６０、第２の例としては第３世代アーカイブタイムスタンプ）を付与して第ｎ世代長期署名データを生成する動作を示すフロー図である。以下の動作が繰り返される度に、署名データ７１０の有効期限が延長されることになる。
【００６７】
署名有効性延長装置１００は、入力装置により第ｎ−１世代長期署名データの入力を受け付ける（ステップＳ２００１）。例えば、署名有効性延長装置１００は、ネットワークを介してユーザ端末３００から第ｎ−１世代長期署名データを受信する。あるいは、署名有効性延長装置１００は、ユーザ端末３００からの要求に応じて、記憶装置１５２に予め記憶された第ｎ−１世代長期署名データを読み出す。
【００６８】
署名有効性延長装置１００は、タイムスタンプ失効確認部１０５より第ｎ−１世代アーカイブタイムスタンプ（上記第１の例では第１世代アーカイブタイムスタンプ７５０、上記第２の例では第２世代アーカイブタイムスタンプ７６０）に設定されている全てのタイムスタンプの失効確認を行い、有効なタイムスタンプを確認する（ステップＳ２００２）。もしくは、タイムスタンプ検証部１０８より第ｎ−１世代アーカイブタイムスタンプに設定されている全てのタイムスタンプの検証を行い、有効なタイムスタンプを確認する。
【００６９】
署名有効性延長装置１００は、有効なタイムスタンプの中で最終的に残すタイムスタンプをタイムスタンプ選択部１１０より１つ選択する（ステップＳ２００３）。選択基準としては、各タイムスタンプの作成のために使用された署名アルゴリズムやハッシュアルゴリズムの安全性、各タイムスタンプのデータサイズや有効期限、各タイムスタンプのタイムスタンプ証明書の署名アルゴリズム、各タイムスタンプを発行したタイムスタンプサーバ２００などにより判断する。署名有効性延長装置１００は、ステップＳ２００３で選択されたタイムスタンプ以外の第ｎ−１世代アーカイブタイムスタンプ内のタイムスタンプをタイムスタンプ除去部１０３より全て削除する（ステップＳ２００４）。
【００７０】
上記のように、ステップＳ２００３では、タイムスタンプ選択部１１０が、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代（ｍは記憶装置１５２の署名データ保存領域１２１に記憶されているアーカイブタイムスタンプの世代数、即ち、ｍ＝ｎ−１）アーカイブタイムスタンプから、所定の条件を満たすタイムスタンプを処理装置１５１により１つ選択する。例えば、タイムスタンプ選択部１１０は、所定の条件として、タイムスタンプのデータサイズとタイムスタンプを発行するためのアルゴリズムの種類とタイムスタンプの有効期限とタイムスタンプを発行したタイムスタンプサーバとの少なくともいずれかに基づいて、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプを処理装置１５１により評価し、当該評価が最も高いタイムスタンプを選択する。タイムスタンプのデータサイズを基準にする場合、タイムスタンプをデータサイズが小さいものほど高く評価することによって、アーカイブタイムスタンプとして残るタイムスタンプのデータサイズを抑制することができる。また、アルゴリズムの種類を基準にする場合、タイムスタンプをアルゴリズムの安全性が高いものほど高く評価することによって、アーカイブタイムスタンプとして残るタイムスタンプの信頼性が向上する。なお、タイムスタンプ選択部１１０は、第ｍ世代アーカイブタイムスタンプから、所定の条件を満たすタイムスタンプを２つ以上選択してもよい。
【００７１】
署名有効性延長装置１００は、ハッシュ対象収集部１０７より署名データ７１０、署名タイムスタンプ７２０、証明書ＣＲＬ参照情報７３０、証明書ＣＲＬ実データ７４０、第１世代から第ｎ−１世代アーカイブタイムスタンプ（上記第１の例では第１世代アーカイブタイムスタンプ７５０のみ、上記第２の例では第１世代アーカイブタイムスタンプ７５０及び第２世代アーカイブタイムスタンプ７６０）を収集し（ステップＳ２００５）、収集したデータを非特許文献１、非特許文献２で定められている規則で連結したデータからハッシュ算出部１０４よりハッシュアルゴリズムを用いてハッシュ値を生成する（ステップＳ２００６）。
【００７２】
署名有効性延長装置１００は、接続ＴＳＡ情報取得部１０９より取得した署名有効性延長装置１００に登録しているタイムスタンプサーバ２００全て（もしくはユーザ端末３００又は署名有効性延長装置１００が選択したタイムスタンプサーバ２００）にステップＳ２００６で生成したハッシュ値を送付し（ステップＳ２００７）、タイムスタンプ取得部１０１よりタイムスタンプを取得する（ステップＳ２００８）。
【００７３】
上記のように、ステップＳ２００８では、タイムスタンプ取得部１０１が、それぞれ異なるタイムスタンプを発行する複数のタイムスタンプサーバ２００から新たなタイムスタンプを複数取得する。各々の新たなタイムスタンプは、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプに含まれる１つのタイムスタンプが存在した時刻として当該１つのタイムスタンプの有効期限内の時刻を証明する（即ち、当該１つのタイムスタンプが有効期限内に存在していたことを証明する）ものであり、当該１つのタイムスタンプの有効期限より遅い有効期限をもっている。当該１つのタイムスタンプは、具体的には、タイムスタンプ選択部１１０が選択した１つのタイムスタンプである。各々の新たなタイムスタンプは、それぞれ異なる認証局が発行した証明書を用いて発行されたものであることが望ましい。なお、ステップＳ２００３でタイムスタンプ選択部１１０がタイムスタンプを２つ以上選択する場合には、各々の新たなタイムスタンプは、選択された２つ以上のタイムスタンプ全てが存在した時刻として当該２つ以上のタイムスタンプの有効期限のうち最も早い期限内の時刻を証明するものである。そして、各々の新たなタイムスタンプは、当該２つ以上のタイムスタンプの有効期限のうち最も遅い期限より遅い有効期限をもっていることが望ましい。
【００７４】
署名有効性延長装置１００は、タイムスタンプ付与部１０２よりステップＳ２００８で取得したタイムスタンプを全て第ｎ世代アーカイブタイムスタンプ（上記第１の例では第２世代アーカイブタイムスタンプ７６０、上記第２の例では第３世代アーカイブタイムスタンプ）として署名データ７１０に設定する（ステップＳ２００９）。
【００７５】
上記のように、ステップＳ２００９では、タイムスタンプ付与部１０２が、タイムスタンプ取得部１０１が取得した複数の新たなタイムスタンプを第ｍ＋１世代アーカイブタイムスタンプとして第ｍ世代アーカイブタイムスタンプとともに記憶装置１５２の署名データ保存領域１２１に記憶する。これにより、署名データ７１０の有効期限をさらに延長することができる。なお、タイムスタンプ取得部１０１のタイムスタンプ取得先である複数のタイムスタンプサーバ２００の組み合わせは、図１０のステップＳ１００６のときの組み合わせと同一でもよいし、一部が異なっていてもよいし、全部が異なっていてもよい。また、この組み合わせは、図１１の動作が行われる度に、一部又は全部が異なっていてもよい。
【００７６】
署名有効性延長装置１００は、出力装置によりステップＳ２００９で生成したデータを第ｎ世代長期署名データとして出力する（ステップＳ２０１０）。例えば、署名有効性延長装置１００は、ネットワークを介してユーザ端末３００へ第ｎ世代長期署名データを送信する。あるいは、署名有効性延長装置１００は、記憶装置１５２に第ｎ世代長期署名データを記憶し、ユーザ端末３００からの要求に応じて第ｎ世代長期署名データを読み出せるように保管しておく。
【００７７】
このように、本実施の形態によれば、最新世代のアーカイブタイムスタンプとして常に複数のタイムスタンプを保持しておくことで、次世代のアーカイブタイムスタンプを付与する前に現世代のアーカイブタイムスタンプが有効でなくなる可能性を低くし、より確実に署名データ７１０の有効期限を延長することが可能となる。
【００７８】
図１２は、最新世代のアーカイブタイムスタンプに設定されているタイムスタンプが失効した場合、署名有効性延長装置１００が新たにタイムスタンプを最新世代のアーカイブタイムスタンプに追加する動作を示すフロー図である。
【００７９】
署名有効性延長装置１００は、ユーザ端末３００もしくは自身で保管している長期署名データを取得する（ステップＳ３００１）。
【００８０】
署名有効性延長装置１００は、タイムスタンプ失効確認部１０５より長期署名データの最新世代アーカイブタイムスタンプ（例えば、長期署名データに第１世代アーカイブタイムスタンプ７５０、第２世代アーカイブタイムスタンプ７６０、第３世代アーカイブタイムスタンプが存在する場合、最新世代アーカイブタイムスタンプは第３世代アーカイブタイムスタンプとなる）に設定されているタイムスタンプ全てについて失効確認を実施する（ステップＳ３００２）。もしくは、タイムスタンプ検証部１０８より長期署名データの最新世代アーカイブタイムスタンプに設定されているタイムスタンプ全てについて有効性確認を実施する。
【００８１】
上記のように、ステップＳ３００２では、タイムスタンプ失効確認部１０５が、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプ（最新世代のアーカイブタイムスタンプ）から、失効したタイムスタンプを処理装置１５１により検出する。また、タイムスタンプ検証部１０８が、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプから、有効期限が経過したタイムスタンプを処理装置１５１により検出する。
【００８２】
署名有効性延長装置１００は、失効しているもしくは有効ではないタイムスタンプがあればそのタイムスタンプをタイムスタンプ除去部１０３より最新世代アーカイブタイムスタンプから除去する（ステップＳ３００３）。
【００８３】
上記のように、ステップＳ３００３では、タイムスタンプ除去部１０３が、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプから、タイムスタンプ失効確認部１０５及び／又はタイムスタンプ検証部１０８が検出したタイムスタンプを除去する。
【００８４】
署名有効性延長装置１００は、接続ＴＳＡ情報選択部１１１より失効しているもしくは有効ではないタイムスタンプを発行したタイムスタンプサーバ２００（もしくは最新世代タイムスタンプの有効なタイムスタンプを発行したタイムスタンプサーバ２００以外のタイムスタンプサーバ２００）を選択し、選択したタイムスタンプサーバ２００からタイムスタンプ取得部１０１により新たにタイムスタンプを取得する（ステップＳ３００４）。
【００８５】
上記のように、ステップＳ３００４では、タイムスタンプ取得部１０１が、タイムスタンプ除去部１０３がタイムスタンプを除去する度に、任意のタイムスタンプサーバ２００から代わりのタイムスタンプを取得する。このとき、タイムスタンプ取得部１０１は、記憶装置１５２の署名データ保存領域１２１に記憶されている第ｍ世代アーカイブタイムスタンプに含まれるタイムスタンプの発行時に用いられた証明書を発行した認証局以外の認証局が発行した証明書を用いて発行されたタイムスタンプを、当該代わりのタイムスタンプとして取得することが望ましい。この場合、次世代のアーカイブタイムスタンプを付与する前に現世代のアーカイブタイムスタンプが有効でなくなる可能性をさらに低くし、より一層確実に署名データ７１０の有効期限を延長することが可能となる。
【００８６】
署名有効性延長装置１００は、タイムスタンプ付与部１０２より取得したタイムスタンプを最新世代アーカイブタイムスタンプに追加する（ステップＳ３００５）。
【００８７】
上記のように、ステップＳ３００５では、タイムスタンプ付与部１０２が、タイムスタンプ取得部１０１が代わりのタイムスタンプを取得する度に、当該代わりのタイムスタンプを第ｍ世代アーカイブタイムスタンプに追加する。
【００８８】
署名有効性延長装置１００は、ステップＳ３００５で追加したデータを長期署名データとしてユーザ端末３００に送付もしくは自身の記憶装置１５２に保管する（ステップＳ３００６）。
【００８９】
以上説明したように、本実施の形態に係る署名有効性延長装置は、
有効期限を有する署名データに対して、その有効期限を延長する署名有効性延長装置において、
署名データからハッシュ対象となるタイムスタンプ対象データを収集するハッシュ対象収集部、上記タイムスタンプ対象データからハッシュ値を算出するハッシュ値算出部、上記ハッシュ値をタイムスタンプサーバに送付し、タイムスタンプを取得するタイムスタンプ取得部、上記取得したタイムスタンプをアーカイブタイムスタンプとして署名データに付与するタイムスタンプ付与部、異なる認証局が発行した証明書によってタイムスタンプを発行するタイムスタンプサーバの情報を取得する接続ＴＳＡ情報取得部を備え、接続ＴＳＡ情報取得部より取得したタイムスタンプサーバの情報とハッシュ対象収集部より取得したタイムスタンプ対象データからタイムスタンプ取得部によってタイムスタンプを複数取得し、取得したタイムスタンプをアーカイブタイムスタンプとしてタイムスタンプ付与部によって署名データに付与することを特徴とする。
【００９０】
上記署名有効性延長装置は、
署名データに付与されているタイムスタンプを除去するタイムスタンプ除去部、最適なタイムスタンプを選択するタイムスタンプ選択部を備え、有効期限を延長する処置が行われた署名データに対して、上記のように複数付与したタイムスタンプからタイムスタンプ選択部によって最適なタイムスタンプを選択し、それ以外のタイムスタンプをタイムスタンプ除去部により除去し、接続ＴＳＡ情報取得部より取得したタイムスタンプサーバの情報とハッシュ対象収集部より取得したタイムスタンプ対象データからタイムスタンプ取得部によってタイムスタンプを複数取得し、取得したタイムスタンプをアーカイブタイムスタンプとしてタイムスタンプ付与部によって署名データに付与することを特徴とする。
【００９１】
上記署名有効性延長装置は、
タイムスタンプの失効確認を行うタイムスタンプ失効確認部を備え、タイムスタンプ失効確認部により定期的にタイムスタンプの失効確認を行い、失効が確認できれば、そのタイムスタンプをタイムスタンプ除去部により除去し、タイムスタンプ取得部より新たにタイムスタンプを取得し、タイムスタンプ付与部によりアーカイブタイムスタンプとして署名データに取得したタイムスタンプを付与することを特徴とする。
【００９２】
上記署名有効性延長装置は、
タイムスタンプの有効性検証を行うタイムスタンプ検証部を備え、タイムスタンプ検証部により定期的にタイムスタンプの有効性検証を行い、有効性が確認できなければ、そのタイムスタンプをタイムスタンプ除去部により除去し、タイムスタンプ取得部より新たにタイムスタンプを取得し、タイムスタンプ付与部によりアーカイブタイムスタンプとして署名データに取得したタイムスタンプを付与することを特徴とする。
【００９３】
上記署名有効性延長装置は、
新たにタイムスタンプを取得するタイムスタンプサーバの接続情報について、有効なタイムスタンプの証明書が発行された認証局以外の認証局が発行した証明書によってタイムスタンプを発行するタイムスタンプサーバの接続情報を選択する接続ＴＳＡ情報選択部を備えることを特徴とする。
【図面の簡単な説明】
【００９４】
【図１】実施の形態１における署名有効性延長システムの全体構成を示すブロック図である。
【図２】実施の形態１における署名有効性延長装置の構成を示すブロック図である。
【図３】実施の形態１における署名有効性延長装置のハードウェア構成の一例を示す図である。
【図４】実施の形態１における長期署名フォーマットの構成を示すブロック図である。
【図５】実施の形態１における署名有効性延長システムの全体構成例を表す図である。
【図６】実施の形態１における長期署名フォーマットのデータの一例を示すブロック図である。
【図７】実施の形態１における長期署名フォーマットのデータの一例を示すブロック図である。
【図８】実施の形態１における長期署名フォーマットのデータの一例を示すブロック図である。
【図９】実施の形態１における長期署名フォーマットのデータの一例を示すブロック図である。
【図１０】実施の形態１における署名有効性延長装置の動作を示すフロー図である。
【図１１】実施の形態１における署名有効性延長装置の動作を示すフロー図である。
【図１２】実施の形態１における署名有効性延長装置の動作を示すフロー図である。
【符号の説明】
【００９５】
１００  署名有効性延長装置、１０１  タイムスタンプ取得部、１０２  タイムスタンプ付与部、１０３  タイムスタンプ除去部、１０４  ハッシュ算出部、１０５  タイムスタンプ失効確認部、１０６  接続ＴＳＡ情報設定部、１０７  ハッシュ対象収集部、１０８  タイムスタンプ検証部、１０９  接続ＴＳＡ情報取得部、１１０  タイムスタンプ選択部、１１１  接続ＴＳＡ情報選択部、１２１  署名データ保存領域、１２２  接続ＴＳＡ情報保存領域、１５１  処理装置、１５２  記憶装置、２００  タイムスタンプサーバ、３００  ユーザ端末、４００  認証局サーバ、５００  データ通信経路、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  オペレーティングシステム、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群。
【図１】
2010028690.tif 000003
【図２】
2010028690.tif 000004
【図３】
2010028690.tif 000005
【図４】
2010028690.tif 000006
【図５】
2010028690.tif 000007
【図６】
2010028690.tif 000008
【図７】
2010028690.tif 000009
【図８】
2010028690.tif 000010
【図９】
2010028690.tif 000011
【図１０】
2010028690.tif 000012
【図１１】
2010028690.tif 000013
【図１２】
2010028690.tif 000014