(57)【要約】      （修正有）【課題】長期署名データの有効期限を延長する処理の負荷をより低減することができる。【解決手段】データ証明システムは、原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する原本証明情報生成部と、前記原本証明情報のハッシュ値である原本証明情報ハッシュ値と、前記原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出するハッシュ値算出部と、複数の前記原本証明情報ハッシュ値と、前記原本検証情報ハッシュ値とのルートハッシュ値を算出するルートハッシュ値算出部と、前記ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成するルートハッシュ値証明情報生成部と、前記ルートハッシュ値証明情報と前記ルートハッシュ値検証情報の有効期限を延長する延長部とを備える。【選択図】図４
2014042214.tif 000002
【特許請求の範囲】
【請求項１】
原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する原本証明情報生成部と、
前記原本証明情報のハッシュ値である原本証明情報ハッシュ値と、前記原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出するハッシュ値算出部と、
複数の前記原本証明情報ハッシュ値と、前記原本検証情報ハッシュ値とのルートハッシュ値を算出するルートハッシュ値算出部と、
前記ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成するルートハッシュ値証明情報生成部と、
前記ルートハッシュ値証明情報と前記ルートハッシュ値検証情報の有効期限を延長する延長部と、
を備えることを特徴とするデータ証明システム。
【請求項２】
前記原本証明情報生成部は、一定期間内に複数の前記原本証明情報を生成し、
前記ルートハッシュ値算出部は、前記一定期間ごとに前記ルートハッシュを算出する
ことを特徴とする請求項１に記載のデータ証明システム。
【請求項３】
前記原本証明情報生成部は、前記一定期間内では同一のタイムスタンプ署名鍵を用いて前記原本証明情報を生成する
ことを特徴とする請求項２に記載のデータ証明システム。
【請求項４】
前記ルートハッシュ値検証情報に基づいて前記ルートハッシュ値証明情報の非改ざんを検証し、当該ルートハッシュ値証明情報に基づいて前記ルートハッシュ値の非改ざんを検証し、前記ルートハッシュ値に基づいて、複数の前記原本証明情報ハッシュ値と前記原本検証情報ハッシュ値との非改ざんを検証し、複数の前記原本証明情報ハッシュ値と前記原本検証情報ハッシュ値とに基づいて複数の前記原本証明情報と前記原本検証情報の非改ざんを検証し、前記原本証明情報に基づいて前記原本ファイルの非改ざんを検証する検証部
を備えることを特徴とする請求項１から請求項３のいずれか１項に記載のデータ証明システム。
【請求項５】
原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する原本証明情報生成部と、
前記原本証明情報のハッシュ値である原本証明情報ハッシュ値と、前記原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出するハッシュ値算出部と、
複数の前記原本証明情報ハッシュ値と、前記原本検証情報ハッシュ値とのルートハッシュ値を算出するルートハッシュ値算出部と、
前記ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成するルートハッシュ値証明情報生成部と、
前記ルートハッシュ値証明情報と前記ルートハッシュ値検証情報の有効期限を延長する延長部と、
を備えることを特徴とするデータ証明サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ証明システムおよびデータ証明サーバに関する。
【背景技術】
【０００２】
従来より、電子文書の非改ざんを証明するために、電子署名を付与する方法が知られている（例えば、特許文献１参照）。また、電子署名の有効期限を延長する方法が知られている。また、データセンタにて各種データを保管するサービスが知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２００３−５３３９４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来知られている技術では、長期署名データの有効期限の延長時（ＥＳ−Ａの延長時）には、延長対象長期署名データの全ての原本と全てのＥＳ−Ａファイルにアクセスして延長処理を行う必要があり、すべてのＥＳ−Ａファイルに対するタイムスタンプを取得する必要があった。そのため、原本の数が多くなった場合、電子署名の有効期限を延長する処理の負荷が大きくなるという問題がある。
【０００５】
本発明は、上記事情に鑑みてなされたものであり、長期署名データの有効期限を延長する処理の負荷をより低減することができるデータ証明システムおよびデータ証明サーバを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する原本証明情報生成部と、前記原本証明情報のハッシュ値である原本証明情報ハッシュ値と、前記原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出するハッシュ値算出部と、複数の前記原本証明情報ハッシュ値と、前記原本検証情報ハッシュ値とのルートハッシュ値を算出するルートハッシュ値算出部と、前記ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成するルートハッシュ値証明情報生成部と、前記ルートハッシュ値証明情報と前記ルートハッシュ値検証情報の有効期限を延長する延長部と、を備えることを特徴とするデータ証明システムである。
【０００７】
また、本発明のデータ証明システムにおいて、前記原本証明情報生成部は、一定期間内に複数の前記原本証明情報を生成し、前記ルートハッシュ値算出部は、前記一定期間ごとに前記ルートハッシュを算出することを特徴とする。
【０００８】
また、本発明のデータ証明システムにおいて、前記原本証明情報生成部は、前記一定期間内では同一のタイムスタンプ署名鍵を用いて前記原本証明情報を生成することを特徴とする。
【０００９】
また、本発明は、前記ルートハッシュ値検証情報に基づいて前記ルートハッシュ値証明情報の非改ざんを検証し、当該ルートハッシュ値証明情報に基づいて前記ルートハッシュ値の非改ざんを検証し、前記ルートハッシュ値に基づいて、複数の前記原本証明情報ハッシュ値と前記原本検証情報ハッシュ値との非改ざんを検証し、複数の前記原本証明情報ハッシュ値と前記原本検証情報ハッシュ値とに基づいて複数の前記原本証明情報と前記原本検証情報の非改ざんを検証し、前記原本証明情報に基づいて前記原本ファイルの非改ざんを検証する検証部を備えることを特徴とするデータ証明システム。
【００１０】
また、本発明は、原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する原本証明情報生成部と、前記原本証明情報のハッシュ値である原本証明情報ハッシュ値と、前記原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出するハッシュ値算出部と、複数の前記原本証明情報ハッシュ値と、前記原本検証情報ハッシュ値とのルートハッシュ値を算出するルートハッシュ値算出部と、前記ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成するルートハッシュ値証明情報生成部と、前記ルートハッシュ値証明情報と前記ルートハッシュ値検証情報の有効期限を延長する延長部と、を備えることを特徴とするデータ証明サーバである。
【発明の効果】
【００１１】
本発明によれば、原本証明情報生成部は、原本ファイルの非改ざんを証明する原本証明情報と、当該原本証明情報の有効性を証明する原本検証情報とを生成する。また、ハッシュ値算出部は、原本証明情報のハッシュ値である原本証明情報ハッシュ値と、原本検証情報のハッシュ値である原本検証情報ハッシュ値とを算出する。また、ルートハッシュ値算出部は、複数の原本証明情報ハッシュ値と、原本検証情報ハッシュ値とのルートハッシュ値を算出する。また、ルートハッシュ値証明情報生成部は、ルートハッシュ値の非改ざんを証明するルートハッシュ値証明情報と、当該ルートハッシュ値証明情報の有効性を証明するルートハッシュ値検証情報とを生成する、また、延長部は、ルートハッシュ値証明情報とルートハッシュ値検証情報の有効期限を延長する。
【００１２】
この構成により、長期署名の有効期限を延長する際には、原本ファイルや原本証明情報にアクセスする必要が無く、ルートハッシュ値証明情報とルートハッシュ値検証情報のみにアクセスするだけで延長処理を行うことができる。従って、原本ファイルの数が多くなった場合においても、長期署名データの有効期限を延長する処理の負荷をより軽減することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の一実施形態における長期署名システムの構成を示したブロック図である。
【図２】本実施形態における長期署名フォーマットのデータ構造を示した概略図である。
【図３】本実施形態における長期署名システム１が長期署名データを生成する手順を示した概略図である。
【図４】本実施形態における原本と、原本の非改ざんを証明する情報であるＥＳ−Ａと、ＥＳ−Ａのルートハッシュ値ｈａｓｈ＿ｒｏｏｔと、ｈａｓｈ＿ｒｏｏｔの時刻証明書であるＴＳＴ１との関係を示した概略図である。
【図５】本実施形態におけるＥＲＳのフォーマットのデータ構造を示した概略図である。
【図６】本実施形態におけるＥＲＳＴのデータ構造を示した概略図である。
【図７】本実施形態における長期署名システムが長期署名データを生成する詳細手順を示した概略図である。
【図８】本実施形態における長期署名システムが長期署名データの有効期限を延長する手順を示した概略図である。
【図９】本実施形態において、有効期限を一度延長した後のＥＲＳのフォーマットのデータ構造を示した概略図である。
【図１０】本実施形態において、有効期限を一度延長した後のＥＲＳＴのデータ構造を示した概略図である。
【図１１】本実施形態における長期署名システムが長期署名データの期限を延長する処理の詳細手順を示した概略図である。
【図１２】本実施形態における長期署名システムが長期署名データの非改ざんの検証を行う手順を示した概略図である。
【図１３】本実施形態における長期署名システムが長期署名データの非改ざんを検証する詳細手順を示した概略図である。
【図１４】本実施形態におけるクライアント端末が、長期署名サーバの機能を有する場合における長期署名システムの構成を示したブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の一実施形態について、図面を参照しながら説明する。図１は、本実施形態における長期署名システムの構成を示したブロック図である。図示する例では、長期署名システム１は、長期署名サーバ２と、クライアント端末３と、タイムスタンプサーバ５と、リポジトリサーバ６，７とを含んでいる。なお、長期署名システム１に含まれる各装置は、互いに通信できるようにインターネット４にて接続されている。
【００１５】
長期署名サーバ２は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２１と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）２２と、記憶部２３と、入出力Ｉ／Ｆ２４と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）２５と、表示部２６と、通信制御部２７とを備えている。
【００１６】
ＣＰＵ２１は、記憶部２３などに記憶されたプログラムに従って情報処理や長期署名サーバ２の各部の制御を行う中央処理装置である。本実施形態では、クライアント端末３やタイムスタンプサーバ５、リポジトリサーバ６，７と通信しながら長期署名データを作成する。
【００１７】
ＲＯＭ２２は、リードオンリメモリであって、長期署名サーバ２が動作するための基本的なプログラムやパラメータなどを記憶する。ＲＡＭ２５は、ランダムアクセスメモリであって、長期署名サーバ２がクライアント端末３などと通信して長期署名データを作成する際に用いるデータを一時記憶する。
【００１８】
記憶部２３は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、長期署名サーバ２を動作させるためのＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）や長期署名データを生成するためのプログラムなどを記憶する。表示部２６は、例えば、液晶ディスプレイなどを用いた表示装置を備えており、長期署名サーバ２の運用担当者などが長期署名サーバ２を操作するための各種画面を表示する。
【００１９】
入出力Ｉ／Ｆ２４は、例えば、各種操作スイッチ、キーボード、マウスなどの入出力装置を備えており、運用担当者などは入出力Ｉ／Ｆ２４を用いて長期署名サーバ２を操作することができる。通信制御部２７は、インターネット４を介してクライアント端末３や、タイムスタンプサーバ５や、リポジトリサーバ６，７などと通信を行う。なお、インターネット４は、他の形態の通信網であってもよい。長期署名サーバ２は、通信制御部２７により、クライアント端末３から電子署名値や原本データのハッシュ値（以下、原本ハッシュ値）や公開鍵証明書などを受信することができる。
【００２０】
クライアント端末３は、ＣＰＵ３１と、ＲＯＭ３２と、記憶部３３と、通信制御部３４と、ＲＡＭ３５と、表示部３６と、入出力Ｉ／Ｆ３７とを備えている。
【００２１】
ＣＰＵ３１は、記憶部３３などに記憶されたプログラムに従って情報処理やクライアント端末３の各部の制御を行う中央処理装置である。本実施形態では、長期署名サーバ２との各種情報の送受信、秘密鍵による電子署名などを行う。
【００２２】
ＲＯＭ３２は、リードオンリメモリであって、クライアント端末３が動作するための基本的なプログラムやパラメータなどを記憶する。ＲＡＭ３５は、ランダムアクセスメモリであって、例えば、クライアント端末３が長期署名サーバ２と通信しながら電子署名や原本ハッシュ値の作成を行う際に用いるデータを一時記憶する。
【００２３】
記憶部３３は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、クライアント端末３を動作させるためのＯＳや電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、長期署名対象となっている原本データなどを記憶する。原本データは、例えば、ワープロやテキストエディタなどで作成された電子文書のほか、画像データ、音声データなどの各種のデータファイルである。
【００２４】
また、クライアント端末３が長期署名データを作成するためのプログラムは、作成の度に長期署名サーバ２からダウンロードするように構成してもよいし、あるいは、予め記憶部３３に記憶しておき、これを使用するように構成することもできる。
【００２５】
表示部３６は、例えば、液晶ディスプレイなどを用いた表示装置を備えており、クライアント端末３のユーザがクライアント端末３を操作するための各種画面を表示する。
【００２６】
入出力Ｉ／Ｆ３７は、例えば、キーボード、マウス、ＩＣカードリーダライタなどの入出力装置を備えている。ＩＣカードリーダライタは、ＩＣカードを接続してクライアント端末３とＩＣカードの通信を仲介する。ＩＣカードは、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などを備えた情報処理装置であり、例えば、クライアント端末３を使用するユーザを認証するためのユーザ認証情報などを記憶している。また、秘密鍵や公開鍵証明書などをＩＣカードに記憶させ、ＩＣカードの秘密鍵を使って電子署名するようにクライアント端末３を構成することもできる。
【００２７】
通信制御部３４は、インターネット４を介して長期署名サーバ２と通信を行う。長期署名サーバ２へのハッシュ値の送信、電子署名値の送信などは、通信制御部３４を用いて行う。
【００２８】
タイムスタンプサーバ５は、タイムスタンプを発行するサーバであり、ＴＳＡ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ局）に設置されている。タイムスタンプサーバ５は、時刻配信局の配信する時刻によって補正される正確な時計を有しており、タイムスタンプ発行対象となる電子データを受信すると、これに当該時計による現在日時刻を付してタイムスタンプ用の秘密鍵で電子署名（暗号化）することによりタイムスタンプを発行する。
【００２９】
リポジトリサーバ６は、ＴＳＡ−ＣＡ（Ｔｉｍｅ  Ｓｔａｍｐｉｎｇ  Ａｕｔｈｏｒｉｔｙ  Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ：タイムスタンプ認証局）に設置されたサーバであって、タイムスタンプの検証に用いる公開鍵証明書（タイムスタンプに用いた秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報を提供する。失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってタイムスタンプの有効性を確認することができる。
【００３０】
リポジトリサーバ７は、ＣＡ（Ｃｅｒｔｉｆｉｃａｔｅ  Ａｕｔｈｏｒｉｔｙ）に設置されたサーバであって、クライアント端末３の行った電子署名の検証に用いる公開鍵証明書（クライアント端末３の秘密鍵に対応する公開鍵の公開鍵証明書）の失効情報を提供する。失効情報にリストアップされていない公開鍵証明書は失効していないため、これによって公開鍵証明書の有効性を確認し、当該有効な公開鍵証明書によってクライアント端末３の行った電子署名の有効性を確認することができる。リポジトリサーバ６とリポジトリサーバ７が提供する失効情報は、定期・不定期（例えば、２４時間ごと）に更新される。
【００３１】
次に、長期署名データのフォーマット（長期署名フォーマット）について説明する。図２は、本実施形態における長期署名フォーマットのデータ構造を示した概略図である。本実施形態における長期署名データは、ＸＡｄＥＳ（ＸＭＬ  Ａｄｖａｎｃｅｄ  Ｅｌｅｃｔｒｏｎｉｃ  Ｓｉｇｎａｔｕｒｅｓ）の規定に従い、ＸＭＬ（Ｅｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）言語を用いて記述されている。
【００３２】
ＥＳは、ＫｅｙＩｎｆｏと、署名対象プロパティと、ＳｉｇｎｅｄＩｎｆｏと、ＳｉｇｎａｔｕｒｅＶａｌｕｅとの各要素から構成されている。ＫｅｙＩｎｆｏには、クライアント端末３が電子署名に用いた秘密鍵に対応する公開鍵の公開鍵証明書が設定されている。公開鍵証明書には、例えば、公開鍵、公開鍵の所有者、認証局、認証局の署名などが含まれている。署名対象プロパティには、公開鍵証明書のハッシュ値が設定されている。ＳｉｇｎｅｄＩｎｆｏには、原本ハッシュ値、及び署名対象プロパティのハッシュ値（以下、署名対象プロパティハッシュ値）が設定されている。ＳｉｇｎａｔｕｒｅＶａｌｕｅには、ＳｉｇｎｅｄＩｎｆｏをクライアント端末３が秘密鍵で署名した署名値が設定されている。このように、クライアント端末３がＳｉｇｎｅｄＩｎｆｏに対して電子署名することにより、ＫｅｙＩｎｆｏと、署名対象プロパティと、ＳｉｇｎｅｄＩｎｆｏとに対する署名が行われる。
【００３３】
ＥＳ−Ｔは、上記のＥＳと署名タイムスタンプを要素として構成されている。署名タイムスタンプには、ＥＳに対して発行されたＳＴＳ（署名タイムスタンプ）が設定されている。ＳＴＳは、タイムスタンプサーバ５において、ＳｉｇｎａｔｕｒｅＶａｌｕｅのハッシュ値に現在日時刻を付与して、これをタイムスタンプサーバ５の秘密鍵で電子署名したものである。
【００３４】
ＥＳ−ＸＬ（ＥＳ−ＸＬｏｎｇ）は、上記のＥＳ−Ｔと検証情報を要素として構成されている。検証情報は、証明書群と失効情報群を用いて構成されている。証明書群は、クライアント端末３が署名に用いた秘密鍵の公開鍵証明書と、タイムスタンプサーバ５がタイムスタンプに用いた秘密鍵の公開鍵証明書の認証パス上の公開鍵証明書で構成されている。この認証パスは、ルート認証局は自己署名証明書を発行し、そのルート認証局は子認証局に証明書を発行し、その子認証局は孫認証局に証明書を発行し、・・・、末端の認証局は、個人、証明書所有者に証明書を発行するという証明書信頼チェーンにおいて、公開鍵証明書の検証をルート認証局まで遡って確認するものである。失効情報群は、公開鍵証明書の失効情報で構成されている。
【００３５】
ＥＳ−Ａは、上記のＥＳ−ＸＬとＡＴＳを要素として構成されている。ＡＴＳ（Ａｒｃｈｉｖｅ  Ｔｉｍｅ  Ｓｔａｍｐ：アーカイブタイムスタンプ）は、ＥＳ−Ｔを検証する情報、原本ハッシュ値、クライアント端末３による電子署名、タイムスタンプサーバ５によるタイムスタンプ（ＳＴＳ）などから所定の方法で作成されたハッシュ値が含まれており、ＡＴＳによってＥＳ−ＸＬの正当性を検証することができる。
【００３６】
次に、長期署名データの作成方法について説明する。図３は、本実施形態における長期署名システム１が長期署名データを生成する手順を示した概略図である。
（ステップＳ１０１）クライアント端末３のＣＰＵ３２は文書管理機能部３２１として動作する。文書管理機能部３２１は、長期署名を付与する原本ファイルをＥＳ−Ａ作成機能部３２２に入力する。
（ステップＳ１０２）クライアント端末３のＣＰＵ３２はＥＳ−Ａ作成機能部３２２として動作する。ＥＳ−Ａ作成機能部３２２は、ステップＳ１０１の処理で入力された原本ファイルのハッシュ値（原本ハッシュ値）を算出する。その後、ＥＳ−Ａ作成機能部３２２は、算出した原本ハッシュ値と、長期署名に用いる署名者証明書とを通信制御部３４を介して長期署名サーバ２に対して送信する。なお、長期署名に用いる署名者証明書は、ユーザによって指定されたものを用いてもよく、予め定められたものを用いてもよい。
【００３７】
（ステップＳ１０３）長期署名サーバ２のＣＰＵ２１はＥＳ−Ａ作成機能部２１１として動作する。ＥＳ−Ａ作成機能部２１１は、ステップＳ１０２の処理で送信された原本ハッシュ値と署名者証明書とに基づいてＥＳ−Ａを作成する。具体的には、ＥＳ−Ａ作成機能部２１１は、通信制御部２７を介して、タイムスタンプサーバ５からタイムスタンプを取得し、リポジトリサーバ７から署名者証明書失効情報を取得し、リポジトリサーバ６からＴＳＡ証明書失効情報を取得する。そして、取得した各情報を用いて、原本ハッシュ値と署名者証明書とに基づいてＥＳ−Ａを作成する。
【００３８】
（ステップＳ１０４）ＥＳ−Ａ作成機能部２１１は、ステップＳ１０３の処理で作成したＥＳ−Ａを記憶部２３に記憶させ、さらに、通信制御部２７を介してクライアント端末３に対して送信する。
（ステップＳ１０５）ＥＳ−Ａ作成機能部３２２は、ステップＳ１０４の処理で送信されたＥＳ−Ａを文書管理機能部３２１に入力する。
（ステップＳ１０６）文書管理機能部３２１は、原本ファイルとステップＳ１０５の処理で入力されたＥＳ−Ａとを関連づけて記憶する。
【００３９】
上述したステップＳ１０１〜ステップＳ１０６の処理により、原本ファイルのＥＳ−Ａを作成し、作成したＥＳ−Ａファイルを長期署名サーバ２とクライアント端末３とで保管することができる。
【００４０】
（ステップＳ１０７）長期署名サーバ２のＣＰＵ２１はＥＲＳＴ作成機能部２１２として動作し、一定期間毎（例えば１日毎）にＥＳ−ＡからＥＲＳＴを作成し、作成したＥＲＳＴを記憶部２３に記憶させる。具体的には、ＥＲＳＴ作成機能部２１２は、通信制御部２７を介して、一定期間毎に、リポジトリサーバ６からＴＳＡ証明書失効情報を取得し、タイムスタンプサーバ５からタイムスタンプを取得する。そして、ＥＲＳＴ作成機能部２１２は、取得した各情報を用いてＥＲＳＴを作成し、作成したＥＲＳＴを記憶部２３に記憶させる。なお、ＥＲＳＴは、複数のＥＳ−ＡおよびＴＳＡ証明書検証情報からのルートハッシュと、このルートハッシュのＴＳＴ（Ｔｉｍｅ  Ｓｔａｍｐ  Ｔｏｋｅｎ）とを含み、複数のＥＳ−ＡおよびＴＳＡ証明書検証情報の非改ざんを証明するための情報である。ＥＲＳＴの詳細については後述する。
【００４１】
次に、ＥＲＳＴ作成機能部２１２が生成するＥＲＳＴについて説明する。図４は、本実施形態における原本と、原本の非改ざんを証明する情報であるＥＳ−Ａと、ＥＳ−Ａのルートハッシュ値ｈａｓｈ＿ｒｏｏｔと、ｈａｓｈ＿ｒｏｏｔの時刻証明書であるＴＳＴ１との関係を示した概略図である。図示する例では、原本１〜原本５が示されている。また、原本１の非改ざんを証明する情報としてＥＳ−Ａ１が示されている。同様に、原本２〜原本５の非改ざんを証明する情報としてＥＳ−Ａ２〜ＥＳ−Ａ５が示されている。また、ＴＳＡ証明書検証情報が示されている。ＴＳＡ証明書検証情報は、ＥＳ−Ａ１〜ＥＳ−Ａ５に含まれるＡＴＳの有効性を証明する情報である。
【００４２】
また、ＥＳ−Ａ１のハッシュ値としてｈａｓｈ１が示されている。同様に、ＥＳ−Ａ２〜ＥＳ−Ａ５のハッシュ値としてｈａｓｈ２〜ｈａｓｈ５が示されている。また、ＴＳＡ証明書検証情報のハッシュ値としてｈａｓｈ６が示されている。また、ｈａｓｈ１とｈａｓｈ２とをハッシュ関数ＳＨＡ５１２を用いて算出した値ｈａｓｈ１−２が示されている。同様に、ｈａｓｈ３とｈａｓｈ４とをハッシュ関数ＳＨＡ５１２を用いて算出した値ｈａｓｈ３−４と、ｈａｓｈ５とｈａｓｈ６とをハッシュ関数ＳＨＡ５１２を用いて算出した値ｈａｓｈ５−６とが示されている。また、ｈａｓｈ１−２と、ｈａｓｈ３−４と、ｈａｓｈ５−６とのルートをとった値ｈａｓｈ＿ｒｏｏｔが示されている。すなわち、図示する例では、ＥＳ−Ａ１〜ＥＳ−Ａ５のハッシュ値と、ＴＳＡ証明書検証情報のハッシュ値とのＭｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅを作成し、ルートハッシュ値ｈａｓｈ＿ｒｏｏｔを生成している。
【００４３】
また、ｈａｓｈ＿ｒｏｏｔの時刻証明書としてＴＳＴ１が示されている。これにより、ＴＳＴ１を生成した日時にｈａｓｈ＿ｒｏｏｔが存在したことを証明することができる。また、ｈａｓｈ＿ｒｏｏｔは、ｈａｓｈ１〜ｈａｓｈ６のルートハッシュであるため、ＴＳＴ１を生成した日時にｈａｓｈ１〜ｈａｓｈ６が存在したことを証明することができる。また、ｈａｓｈ１〜ｈａｓｈ６は、ＥＳ−Ａ１〜ＥＳ−Ａ５とＴＳＡ証明書検証情報とのハッシュ値であるため、ＴＳＴ１を生成した日時にＥＳ−Ａ１〜ＥＳ−Ａ５およびＴＳＡ証明書検証情報が存在したことを証明することができる。また、ＴＳＡ証明書検証情報は、ＥＳ−Ａ１〜ＥＳ−Ａ５に含まれるＡＴＳが有効であったことを証明する情報である。そのため、ＴＳＡ証明書検証情報の有効期限が切れる前にＴＳＴ１を生成した場合、ＴＳＴ１の有効期限が切れるまで、ＴＳＡ証明書検証情報を生成した日時にＥＳ−Ａ１〜ＥＳ−Ａ５が存在し、かつ、有効であったことを証明することができる。
【００４４】
ＥＲＳＴ作成機能部２１２が生成するＥＲＳＴは、上述したハッシュ値やルートハッシュ値を含んでいる。そのため、ＥＲＳＴを用いて、ＥＳ−Ａの非改ざんを証明することができる。図５は、本実施形態におけるＥＲＳのフォーマット（ＥＲＳフォーマット）のデータ構造を示した概略図である。本実施形態におけるＥＲＳフォーマットは、ＥｎｃｒｙｐｔｉｏｎＩｎｆｏｒｍａｔｉｏｎと、ＳｕｐｐｏｒｔｉｎｇＩｎｆｏｒｍａｉｔｏｎＬｉｓｔと、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐＳｅｑｕｅｎｃｅとを含んでいる。また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐＳｅｑｕｅｎｃｅは、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  Ｃｈａｉｎ  １を含んでいる。また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  Ｃｈａｉｎ  １は、ＤｉｇｅｓｔＭｅｔｈｏｄと、ＣａｎｏｎｉｃａｌｉｚａｔｉｏｎＭｅｔｈｏｄと、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  １とを含んでいる。また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  １は、ＨａｓｈＴｒｅｅと、ＴｉｍｅＳｔａｍｐと、Ａｔｔｒｉｂｕｔｅｓとを含んでいる。また、ＴｉｍｅＳｔａｍｐは、ＴｉｍｅＳｔａｍｐＴｏｋｅｎ（ＴＳＴ１）と、ＣｒｙｐｔｏｇｒａｐｈｉｃＩｎｆｏｒｍａｔｉｏｎＬｉｓｔとを含んでいる。
【００４５】
図６は、本実施形態におけるＥＲＳＴのデータ構造を示した概略図である。図示する例では、ＥＲＳＴは、Ｍｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅに使用したファイル名および全ハッシュ値の一覧表と、ＡＴＳ検証に必要なデータと、ＥＲＳ−ＴＳＴと、ＥＲＳ−ＴＳＴ情報とを含んでいる。Ｍｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅに使用したファイル名および全ハッシュ値の一覧表は、Ｎｏ．と、ファイル名と、ＥＳ−Ａのハッシュ値と、対応する原本ファイル名とのデータ項目を有しており、各データ項目のデータを行毎に関連付けて記憶する表である。
【００４６】
データ項目「Ｎｏ．」は、ファイル名の番号を記憶する。データ項目「ファイル名」は、ＥＳ−Ａのファイル名を記憶する。データ項目「ＥＳ−Ａのハッシュ値」は、ＥＳ−Ａのハッシュ値を記憶する。データ項目「対応する原本ファイル名」は、ＥＳ−Ａに対応する原本ファイル名を記憶する。図示する例では、行１０１のデータ項目「Ｎｏ．」に記憶されている値が「１」であり、データ項目「ファイル名」に記憶されている値が「ＥＳ−Ａ１．ｘｍｌ」であり、データ項目「ＥＳ−Ａのハッシュ値」に記憶されている値が「ｈａｓｈ１」であり、データ項目「対応する原本ファイル名」に記憶されている値が「１．ｐｄｆ」である。これは、Ｎｏ．１のファイル名が「ＥＳ−Ａ１．ｘｍｌ」であり、ＥＳ−Ａのハッシュ値が「ｈａｓｈ１」であり、対応する原本ファイル名が「１．ｐｄｆ」であることを示している。他の行については図示するとおりである。なお、ファイル名「ＥＳ−Ａ＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐ」は、ＴＳＡ証明書の認証パス（ルート証明書、中間証明書）ファイル、ＴＳＡ証明書および認証パスの失効情報（ＣＲＬ／ＡＲＬ）ファイルをＺＩＰ圧縮したものである。そのため、ファイル名「ＥＳ−Ａ＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐ」に関連づけられている「対応する原本ファイル名」には何も記憶されていない。なお、図示する例では表形式で記載されているがこれに限らず、テキスト形式またはＣＳＶ形式で記載してもよい。
【００４７】
ＡＴＳ検証に必要なデータは、例えば、ＥＳ−Ａ＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐである。ＥＳ−Ａ＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐは、上述したとおり、ＴＳＡ証明書の認証パス（ルート証明書、中間証明書）ファイル、ＴＳＡ証明書および認証パスの失効情報（ＣＲＬ／ＡＲＬ）ファイルをＺＩＰ圧縮したものである。ＥＲＳ−ＴＳＴは、例えば、ｔｓｔ１．ｔｓｔであり、ＴＳＴのバイナリデータである。ＥＲＳ−ＴＳＴ情報は、例えば、ｔｓｔ１．ｔｓｔ．ｉｎｆｏであり、ＴＳＴの有効期限が記載されたＸＭＬまたはＴＸＴデータである。
【００４８】
なお、ＥＲＳは、ＲＦＣ６２８３で規定されるエビデンスレコードのフォーマットである。各フォーマットに設定される値の内容は、ＲＦＣ６２８３で規定されている。ＥＲＳはハッシュツリーの葉の一つ一つについて作成されるが、ツリーの全ての葉（ＥＳ−Ａ１〜ＥＳ−Ａ５およびＥＳ−Ａ＿ＶｅｒｉｆｙＩｎｆｏ）でＥＲＳを構成する要素について共通する部分が多い。そのため、本実施形態では、すぐにそれぞれのＥＲＳ（ＸＭＬ）を作るのではなく、共通する部分をまとめて管理（ＥＲＳＴ）しておいて、必要な時に、ＥＲＳ（ＸＭＬ）を構築し出力する。
【００４９】
また、ＥＲＳＴ（ＥＲＳテーブル）は、ＲＦＣ６２８３では規定されておらず、本実施形態独自のものであり、複数あるＥＲＳを動的に生成するための情報を持つテーブルである。本実施形態では、ＥＲＳＴをＺＩＰ圧縮したものとする例を示しているがこれに限らず、内容物をデータベースで管理するようにしてもよい。
【００５０】
次に、長期署名データの作成方法の詳細手順について説明する。図７は、本実施形態における長期署名システム１が長期署名データを生成する詳細手順を示した概略図である。なお、以下の手順は、ＥＳ−Ｔの作成手順およびＥＳ−Ａの作成手順については省略している。すなわち、長期署名サーバ２でＥＳ−Ａを作成し、作成したＥＳ−Ａをクライアント端末３に送信する処理から記載している。
【００５１】
（ステップＳ１００１）長期署名サーバ２は、クライアント端末３に対してＥＳ−Ａを送信する。
（ステップＳ１００２）クライアント端末３は、長期署名サーバ２から送信されるＥＳ−Ａを受信する。
（ステップＳ１００３）クライアント端末３のＥＳ−Ａ作成機能部３２２は、ステップＳ１００２の処理で受信したＥＳ−Ａを文書管理機能部３２１に入力する。
（ステップＳ１００４）クライアント端末３の文書管理機能部３２１は、ステップＳ１００３の処理で入力されたＥＳ−Ａを原本とともに保管する。
【００５２】
（ステップＳ１００５）長期署名サーバ２は、ＥＳ−ＡとＥＲＳチケットとをＥＲＳ待ちフォルダに出力する。なお、ＥＲＳチケットは、「対象ＥＳ−Ａファイル名」と、「ＡＴＳ−ＴＳＡ−ＣＲＬ最新発行時刻」と、「ＡＴＳ−ＴＳＡ−ＣＲＬ更新予測時刻」と、「ＡＴＳ検証情報」とが記載されたファイルである。
【００５３】
（ステップＳ１００６）長期署名サーバ２は、ＥＲＳチケットに記載のＡＴＳ−ＴＳＡ−ＣＲＬ更新予測時刻を超えているＥＲＳチケットおよびＥＳ−ＡをＥＲＳ処理フォルダに投入する。
（ステップＳ１００７）長期署名サーバ２は、ＥＲＳ処理フォルダを定期的に（例えば、１日１回）監視する。
（ステップＳ１００８）長期署名サーバ２は、ＥＲＳ処理を行う。ＥＲＳ処理は、ＥＲＳ処理フォルダ内の全てのＥＲＳチケットを確認し、ＡＴＳ検証情報（群）を取得する。なお、通常、同じＴＳＡ局を使用している場合、ＡＴＳ検証情報は一種類と想定されるが、ＴＳＡのＣＡ更新やＴＳＡが違う場合も想定し、複数あることを前提とする。なお、ＡＴＳ検証情報は、例えば「ＡＴＳに使用したＴＳＡ証明書に記載のＣＲＬ配布ポイント（ＵＲＬ）」と、「ＴＳＡ証明書のＤＮ」と、「ＴＳＡ証明書の認証局証明書のＤＮ」と、「ＴＳＡ証明書の認証局証明書のシリアル番号」とが記載された情報である。
【００５４】
（ステップＳ１００９）長期署名サーバ２は、ＡＴＳ検証情報（群）を元に、ＡＴＳ検証に必要なデータを収集する。なお、ＡＴＳ検証に必要なデータは、「ＴＳＡ証明書の失効情報（ＣＲＬ）」と、「ＴＳＡ証明書の認証局証明書（中間）」と、「ＴＳＡ証明書の認証局証明書（中間）の失効情報（ＣＲＬ／ＡＲＬ）」と、「ＴＳＡ証明書の認証局証明書（ルート）」と、「ＴＳＡ証明書の認証局証明書（ルート）の失効情報（ＣＲＬ／ＡＲＬ）」である。
【００５５】
（ステップＳ１０１０）長期署名サーバ２は、ＥＲＳ処理フォルダの全ＥＳ−ＡファイルおよびＡＴＳ検証に必要なデータからＭｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅを作成し、ルートハッシュ値を計算する。
（ステップＳ１０１１）長期署名サーバ２は、タイムスタンプサーバ５からルートハッシュ値に対するタイムスタンプトークン（ＥＲＳ−ＴＳＴ）を取得する。
（ステップＳ１０１２）長期署名サーバ２は、ＥＲＳ−ＴＳＴからＥＲＳ−ＴＳＴ情報を生成し、ＥＲＳ−ＴＳＴおよびＥＲＳ−ＴＳＴ情報を元にＥＲＳテーブルを作成しＥＲＳテーブル保管フォルダに出力する。なお、ＥＲＳ−ＴＳＴ情報は、「ＴＳＴの有効期限」を示す情報である。また、ＥＲＳテーブルは、「使用した全ＥＳ−Ａファイル」と、「ＡＴＳ検証に必要なデータ」と、「Ｍｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅに使用したファイル名および全ハッシュ値の一覧表（テキストまたはＣＳＶ）」と、「ＥＲＳ−ＴＳＴ」と、「ＥＲＳ−ＴＳＴ情報」とを例えばＺＩＰ圧縮したファイルである。
【００５６】
上述したステップＳ１００１〜ステップＳ１０１２の処理を行うことで、長期署名システム１は、長期署名データとして、ＥＲＳ−ＴＳＴ情報と、ＥＲＳテーブルとを作成し、ＥＲＳテーブル保管フォルダに出力することができる。
【００５７】
次に、長期署名データの延長方法（原本ファイルの非改ざんを証明する証明情報を延長する方法）について説明する。タイムスタンプ技術を用いて、ＥＲＳＴの有効期限が切れる前にＥＲＳＴの有効期限を延長することで、ＥＲＳＴの有効期限を延長することができる。すなわち、原本ファイルの非改ざんを証明する長期署名データを延長することができる。また、延長したＥＲＳＴの有効期限が切れる前に、延長したＥＲＳＴの有効期限をさらに延長し続けることで、永久に長期署名データの有効期限を延長することができる。また、本実施形態では、ＥＳ−Ａごとに有効期限を延長するのではなく、上述したようにＥＳ−Ａを纏めてＥＲＳテーブルを生成する。そして、長期署名データの有効期限を延長する際にはＥＲＳＴのみの有効期限を延長するため、有効期限延長の処理の負荷をより軽減することができる。
【００５８】
図８は、本実施形態における長期署名システム１が長期署名データの有効期限を延長する手順を示した概略図である。
（ステップＳ２０１）長期署名サーバ２のＣＰＵ２１はＥＲＳＴ延長機能部２１３として動作し、一定期間毎（例えば１ヶ月毎）にＥＲＳＴの有効期限を確認し、有効期限が切れる前に延長する。具体的には、ＥＲＳＴ延長機能部２１３は、確認対象のＥＲＳＴに含まれるＥＲＳ−ＴＳＴ情報に記載されているＥＲＳ−ＴＳＴの有効期限を確認し、所定の有効期限切れ前である場合に、通信制御部２７を介して、リポジトリサーバ６からＥＲＳ−ＴＳＴに対するＴＳＡ証明書失効情報を取得し、タイムスタンプサーバ５からタイムスタンプを取得する。そして、ＥＲＳＴ延長機能部２１３は、取得した各情報を用いてＥＲＳＴの有効期限を延長する。
【００５９】
図９は、本実施形態において、有効期限を一度延長した後のＥＲＳのフォーマット（ＥＲＳフォーマット）のデータ構造を示した概略図である。本実施形態において、有効期限を延長した後のＥＲＳのフォーマットは、ＥｎｃｒｙｐｔｉｏｎＩｎｆｏｒｍａｔｉｏｎと、ＳｕｐｐｏｒｔｉｎｇＩｎｆｏｒｍａｉｔｏｎＬｉｓｔと、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐＳｅｑｕｅｎｃｅとを含んでいる。また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐＳｅｑｕｅｎｃｅは、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  Ｃｈａｉｎ  １を含んでいる。また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  Ｃｈａｉｎ  １は、ＤｉｇｅｓｔＭｅｔｈｏｄと、ＣａｎｏｎｉｃａｌｉｚａｔｉｏｎＭｅｔｈｏｄと、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  １と、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  ２とを含んでいる。
【００６０】
また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  １は、ＨａｓｈＴｒｅｅと、ＴｉｍｅＳｔａｍｐと、Ａｔｔｒｉｂｕｔｅｓとを含んでいる。また、ＴｉｍｅＳｔａｍｐは、ＴｉｍｅＳｔａｍｐＴｏｋｅｎ（ＴＳＴ１）と、ＣｒｙｐｔｏｇｒａｐｈｉｃＩｎｆｏｒｍａｔｉｏｎＬｉｓｔとを含んでいる。ＣｒｙｐｔｏｇｒａｐｈｉｃＩｎｆｏｒｍａｔｉｏｎＬｉｓｔは、ＴＳＡ証明書群とＴＳＡ失効情報群とを含んでいる。
【００６１】
また、ＡｒｃｈｉｖｅＴｉｍｅＳｔａｍｐ  ２は、ＨａｓｈＴｒｅｅと、ＴｉｍｅＳｔａｍｐと、Ａｔｔｒｉｂｕｔｅｓとを含んでいる。また、ＴｉｍｅＳｔａｍｐは、ＴｉｍｅＳｔａｍｐＴｏｋｅｎ（ＴＳＴ  Ａ１）と、ＣｒｙｐｔｏｇｒａｐｈｉｃＩｎｆｏｒｍａｔｉｏｎＬｉｓｔとを含んでいる。
【００６２】
図１０は、本実施形態において、有効期限を一度延長した後のＥＲＳＴのデータ構造を示した概略図である。図示する例では、ＥＲＳＴは、Ｍｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅに使用したファイル名および全ハッシュ値の一覧表と、ＡＴＳ検証に必要なデータと、ＥＲＳ−ＴＳＴ（１）と、ＥＲＳ−ＴＳＴ情報（１）と、ＥＲＳ−ＴＳＴ（１）の検証に必要な検証情報と、ＲｅｄｕｃｅｄＨａｓｈＴｒｅｅの一覧表と、ＥＲＳ−ＴＳＴ（２）と、ＥＲＳ−ＴＳＴ（２）情報とを含んでいる。Ｍｅｒｋｌｅ  Ｈａｓｈ  Ｔｒｅｅに使用したファイル名および全ハッシュ値の一覧表と、ＡＴＳ検証に必要なデータとは、図６に示した例と同様である。
【００６３】
ＥＲＳ−ＴＳＴ（１）は、図６に示したＥＲＳ−ＴＳＴと同様である。ＥＲＳ−ＴＳＴ情報（１）は、図６に示したＥＲＳ−ＴＳＴ情報と同様である。ＥＲＳ−ＴＳＴ（１）の検証に必要な検証情報は、例えば、ｔｓｔ１＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐである。ｔｓｔ１＿ＶｅｒｉｆｙＩｎｆｏ．ｚｉｐは、ＴＳＡ証明書の認証パス（ルート証明書、中間証明書）ファイルと、ＴＳＡ証明書および認証パスの失効情報（ＣＲＬ／ＡＲＬ）ファイルとをＺＩＰ圧縮したものである。
【００６４】
ＲｅｄｕｃｅｄＨａｓｈＴｒｅｅの一覧表は、Ｎｏ．と、ファイル名と、ＥＳ−Ａのハッシュ値とのデータ項目を有しており、各データ項目のデータを行毎に関連付けて記憶する表である。
【００６５】
データ項目「Ｎｏ．」は、ファイル名の番号を記憶する。データ項目「ファイル名」は、ＥＲＳのＴｉｍｅＳｔａｍｐ領域のファイル名を記憶する。データ項目「ＥＲＳのＴｉｍｅＳｔａｍｐ領域のハッシュ値」は、ＥＲＳのＴｉｍｅＳｔａｍｐ領域の計算ハッシュ値を記憶する。図示する例では、行２０１のデータ項目「Ｎｏ．」に記憶されている値が「１」であり、データ項目「ファイル名」に記憶されている値が「ｅｒｓｔ１＿ａｔｓ１＿ｔｓ．ｘｍｌ」であり、データ項目「ＥＲＳのＴｉｍｅＳｔａｍｐ領域のハッシュ値」に記憶されている値が「ｈａｓｈ  Ａ１」である。これは、Ｎｏ．１のファイル名が「ｅｒｓｔ１＿ａｔｓ１＿ｔｓ．ｘｍｌ」であり、ＥＲＳのＴｉｍｅＳｔａｍｐ領域のハッシュ値が「ｈａｓｈ  Ａ１」であることを示している。他の行については図示するとおりである。
【００６６】
ＥＲＳ−ＴＳＴ（２）は、例えば、ｔｓｔ２．ｔｓｔであり、ＴＳＴのバイナリデータである。ＥＲＳ−ＴＳＴ（２）情報は、例えば、ｔｓｔ２．ｔｓｔ．ｉｎｆｏであり、ＴＳＴの有効期限が記載されたＸＭＬまたはＴＸＴデータである。
【００６７】
次に、長期署名データの期限を延長する処理の詳細手順について説明する。図１１は、本実施形態における長期署名システム１が長期署名データの期限を延長する処理の詳細手順を示した概略図である。
（ステップＳ２００１）長期署名サーバ２は、ＥＲＳテーブル保管フォルダ内のＥＲＳテーブルを定期的に（例えば、１ヶ月毎）監視する。
（ステップＳ２００２）長期署名サーバ２は、ＥＲＳ−ＴＳＴ情報を確認し、処理実行時刻との比較を行い、差が既定の時間以下の場合は、当該ＥＲＳテーブルをＥＲＳテーブル延長処理フォルダへ投入する。すなわち、延長が必要と判断したＥＲＳテーブルをＥＲＳテーブル延長処理フォルダへ投入する。
【００６８】
（ステップＳ２００３）長期署名サーバ２は、ＥＲＳテーブル延長処理フォルダを定期的に（例えば１日１回）監視する。
（ステップＳ２００４）長期署名サーバ２は、ＥＲＳテーブル延長処理フォルダに存在するＥＲＳテーブル（１つ）からＥＲＳ−ＴＳＴを取り出す。
（ステップＳ２００５）長期署名サーバ２は、ＥＲＳ−ＴＳＴを確認し、ＥＲＳ−ＴＳＴの検証に必要なデータを収集する。なお、ＥＲＳ−ＴＳＴの検証に必要なデータは、「ＴＳＡ証明書の失効情報（ＣＲＬ）」と、「ＴＳＡ証明書の認証局証明書（中間）」と、「ＴＳＡ証明書の認証局証明書（中間）の失効情報（ＣＲＬ／ＡＲＬ）」と、「ＴＳＡ証明書の認証局証明書（ルート）」と、「ＴＳＡ証明書の認証局証明書（ルート）の失効情報（ＣＲＬ／ＡＲＬ）」である。
【００６９】
（ステップＳ２００６）長期署名サーバ２は、ＥＲＳフォーマット（ＲＦＣ４９９８，ＲＦＣ６２８３）に準拠したＴｉｍｅＳｔａｍｐ（１）領域を作成する。
（ステップＳ２００７）長期署名サーバ２は、ＴｉｍｅＳｔａｍｐ（１）領域のバイナリデータに対するハッシュ値を計算し、そのハッシュ値に対するタイムスタンプトークン（ＥＲＳ−ＴＳＴ（２））をタイムスタンプサーバ５から取得する。なお、ＴｉｍｅＳｔａｍｐ領域のバイナリデータは、「ＥＲＳ−ＴＳＴ」と、「ＥＲＳ−ＴＳＴの検証に必要なデータ」とを含み、ＸＭＬの場合は、既定の正規化法（ＣａｎｏｎｉｃａｌｉｚａｔｉｏｎＭｅｔｈｏｄ）に基づいた変換を行ったデータである。
（ステップＳ２００８）長期署名サーバ２は、ＥＲＳ−ＴＳＴ（２）からＥＲＳ−ＴＳＴ（２）情報を生成する。
（ステップＳ２００９）長期署名サーバ２は、ＥＲＳテーブルにＴｉｍｅＳｔａｍｐ（１）領域と、ＥＲＳ−ＴＳＴ（２）と、ＥＲＳ−ＴＳＴ（２）情報とを追加しＥＲＳテーブル保管フォルダに出力する。
【００７０】
上述したステップＳ２００１〜ステップＳ２００９の処理を行うことで、長期署名システム１は、ＥＲＳテーブルの有効期限を延長することができる。
【００７１】
次に、長期署名データの非改ざんの検証方法について説明する。図１２は、本実施形態における長期署名システム１が長期署名データの非改ざんの検証を行う手順を示した概略図である。
（ステップＳ３０１）クライアント端末３のＣＰＵ３２は文書管理機能部３２１として動作する。文書管理機能部３２１は、非改ざんの検証を行う原本ファイルと、この原本ファイルと関連づけて記憶しているＥＳ−ＡとをＥＳ−Ａ検証機能部３２３に入力する。
（ステップＳ３０２）クライアント端末３のＣＰＵ３２はＥＳ−Ａ検証機能部３２３として動作する。ＥＳ−Ａ検証機能部３２３は、ステップＳ３０１の処理で入力された原本ファイルのハッシュ値（原本ハッシュ値）を算出する。その後、ＥＳ−Ａ検証機能部３２３は、算出した原本ハッシュ値と、ステップＳ３０１の処理で入力されたＥＳ−Ａとを通信制御部３４を介して長期署名サーバ２に対して送信する。
【００７２】
（ステップＳ３０３）長期署名サーバ２のＣＰＵ２１はＥＳ−ＡおよびＥＲＳＴ検証機能部２１４として動作する。ＥＳ−ＡおよびＥＲＳＴ検証機能部２１４は、リポジトリサーバ６からＴＳＡ証明書失効情報を取得する。また、ＥＳ−ＡおよびＥＲＳＴ検証機能部２１４は、記憶部２３が記憶しているＥＲＳＴを読み出す。そして、ＥＳ−ＡおよびＥＲＳＴ検証機能部２１４は、取得したＴＳＡ証明書失効情報と、読み出したＥＲＳＴと、ステップＳ３０２の処理で受信した原本ハッシュ値とＥＳ−Ａとに基づいて、ＥＳ−Ａの非改ざんの検証を行う。
【００７３】
（ステップＳ３０４）ＥＳ−ＡおよびＥＲＳＴ検証機能部２１４は、ステップＳ３０３の処理で検証した結果を示す検証結果ファイルと、検証対象のＥＳ−Ａに対応するＥＲＳとを、通信制御部２７を介してクライアント端末３に対して送信する。
（ステップＳ３０５）ＥＳ−Ａ検証機能部３２３は、ステップＳ３０４の処理で送信された検証結果ファイルとＥＲＳとを文書管理機能部３２１に入力する。
（ステップＳ３０６）文書管理機能部３２１は、ステップＳ３０５の処理で入力された検証結果ファイルとＥＲＳとを関連づけて記憶する。
【００７４】
上述したステップＳ３０１〜ステップＳ３０６の処理により、原本ファイルの非改ざんの検証を行うことができる。また原本ファイルの非改ざんの検証結果とＥＲＳファイルとをクライアント端末３で保管することができる。
【００７５】
次に、長期署名データの非改ざんの検証方法の詳細手順について説明する。図１３は、本実施形態における長期署名システム１が長期署名データの非改ざんを検証する詳細手順を示した概略図である。
（ステップＳ３００１）クライアント端末３の文書管理機能部３２１は、検証対象の原本ファイルとＥＳ−ＡファイルとをＥＳ−Ａ検証機能部３２３検証入力フォルダに入力する。
（ステップＳ３００２）クライアント端末３のＥＳ−Ａ検証機能部３２３は、検証入力フォルダを定期的に（例えば６０秒間隔）監視する。
【００７６】
（ステップＳ３００４）クライアント端末３のＥＳ−Ａ検証機能部３２３は、ステップＳ３００２の処理で検証入力フォルダに検証対象の原本ファイルとＥＳ−Ａファイルが入力された場合、検証要求を長期署名サーバ２に対して送信する。なお、検証要求には原本ファイルのハッシュ値とＥＳ−Ａファイルが含まれている。
（ステップＳ３００５）長期署名サーバ２は、ステップＳ３００４の処理で送信された検証要求を受信する。
（ステップＳ３００６）長期署名サーバ２は、ステップＳ３００５の処理で受信した検証要求（ＥＳ−Ａ）と関連するＥＲＳテーブルを検索し、見つかったＥＲＳテーブルから「対象ＥＳ−Ａ用のＥＲＳ」と、そのＥＳ−Ａの「ＡＴＳの検証情報用のＥＲＳ」とを生成する。
【００７７】
（ステップＳ３００７）長期署名サーバ２は、「対象ＥＳ−Ａ用のＥＲＳ」と、そのＥＳ−Ａの「ＡＴＳの検証情報用のＥＲＳ」に含まれる共通のＥＲＳ−ＴＳＴの検証に必要なデータを取得する。ＥＲＳ−ＴＳＴの検証に必要なデータは、「ＴＳＡ証明書の失効情報（ＣＲＬ）」と、ＴＳＡ証明書の認証局証明書（中間）」と、ＴＳＡ証明書の認証局証明書（中間）の失効情報（ＣＲＬ／ＡＲＬ）」と、ＴＳＡ証明書の認証局証明書（ルート）」と、ＴＳＡ証明書の認証局証明書（ルート）の失効情報（ＣＲＬ／ＡＲＬ）」である。
【００７８】
（ステップＳ３００８）長期署名サーバ２は、ステップＳ３００７の処理で取得したデータに基づいて、ステップＳ３００６で生成した、対象ＥＳ−Ａ用のＥＲＳを検証する。なお、ＥＲＳが延長されている際には、ＥＲＳ−ＴＳＴ（ｎ）の検証とｒｅｄｕｃｅＨａｓｈＴｒｅｅの検証とを行う。これにより、ＥＳ−Ａが最初のＥＲＳ−ＴＳＴの時刻以降改ざんされていないことを確認することができる。
【００７９】
（ステップＳ３００９）長期署名サーバ２は、ＡＴＳの検証情報用のＥＲＳを検証する。なお、ＥＲＳが延長されている際には、ＥＲＳ−ＴＳＴ（ｎ）の検証とｒｅｄｕｃｅＨａｓｈＴｒｅｅの検証とを行う。これにより、ＥＳ−ＡのＡＴＳを検証するための検証情報が最初のＥＲＳ−ＴＳＴの時刻以降改ざんされていないことを確認することができる。
【００８０】
（ステップＳ３０１０）長期署名サーバ２は、ＥＳ−Ａを検証する。具体的には、以下の２つの処理を行う。
（１）最初のＥＲＳ−ＴＳＴの時刻以降改ざんされていないＥＳ−ＡのＡＴＳの検証情報を元にＡＴＳの検証を行う。なお、この時の基準時刻は、最初のＥＲＳ−ＴＳＴの時刻である。これにより、ＥＳ−ＡおよびＥＳ−Ａの検証情報がＡＴＳの時刻以降改ざんされていないことがわかる。
（２）ＡＴＳの時刻以降改ざんされていないＥＳ−Ａに含まれる署名者証明書およびＳＴＳの検証情報を元にＥＳ−Ｔの検証を行う。この時の基準時刻は、ＡＴＳの時刻である。これにより、署名がＳＴＳ時刻以降改ざんされていないことがわかる。
（３）最後に、検証要求に含まれる原本ハッシュ値とＥＳ−Ａに含まれる原本ハッシュ値とを比較し一致することを確認する。
【００８１】
（ステップＳ３０１６）長期署名サーバ２は、ＥＳ−Ａの検証結果である検証要求結果をクライアント端末３に対して送信する。検証要求結果は、検証結果のサマリと、検証結果の詳細とを含む情報である。
（ステップＳ３０１７）クライアント端末３のＥＳ−Ａ検証機能部は、ステップＳ３０１６の処理で送信された検証要求結果を受信する。
【００８２】
（ステップＳ３０１８）クライアント端末３のＥＳ−Ａ検証機能部は、検証結果を検証結果出力フォルダに出力する。
（ステップＳ３０１９）クライアント端末３の文書管理機能部３２１は、検証結果出力フォルダから検証結果を取得する。
【００８３】
上述したステップＳ３００１〜ステップＳ３０１９の処理により、原本ファイルの非改ざんの検証を行うことができる。また原本ファイルの非改ざんの検証結果とＥＲＳファイルとをクライアント端末３とで保管することができる。
【００８４】
従来知られている技術では、電子署名の延長（ＥＳ−Ａの延長時）には、延長対象の全ての原本と全てのＥＳ−Ａファイルにアクセスして延長処理を行う必要があり、すべてのＥＳ−Ａファイルに対するタイムスタンプを取得する必要があった。従って、原本が多くなると、延長処理に時間がかかるという問題があった。
【００８５】
本実施形態では、上述したとおり、原本の電子署名を延長し、長期署名データを作成する際に、一定期間に生成したＥＳ−Ａを纏めてＥＲＳテーブルを生成する。そして、長期署名データの有効期限を延長する際には、ＥＲＳテーブルの電子署名の有効期限を延長する。これにより、長期署名データの有効期限を延長する際には、原本やＥＳ−Ａにアクセスする必要が無く、ＥＲＳテーブルのみにアクセスするだけで延長処理を行うことができる。また、すべてのＥＳ−Ａファイルに対するタイムスタンプを取得する必要が無く、ＥＲＳテーブルに対するタイムスタンプのみ取得するだけで延長処理を行うことができる。また、長期署名データの有効期限を延長する際には、原本とＥＳ−Ａファイルにアクセスする必要が無いため、クライアント端末３での処理が必要無く、長期署名サーバ２の処理のみで延長処理を行うことができる。従って、クライアント端末３で保管している原本の数が多くなった場合においても、長期署名データの有効期限を延長する処理の負荷をより軽減することができる。
【００８６】
なお、上述した実施形態では、長期署名サーバ２とクライアント端末３とを異なる装置とした例を用いて説明したが、これに限らない。例えば、クライアント端末が、長期署名サーバの機能を有していてもよい。また、長期署名サーバが、クライアント端末の機能を有していてもよい。
【００８７】
図１４は、クライアント端末が、長期署名サーバの機能を有する場合における長期署名システムの構成を示したブロック図である。図示する例では、長期署名システム１００は、クライアント端末３００と、タイムスタンプサーバ５と、リポジトリサーバ６，７とを含んでいる。なお、長期署名システム１００に含まれる各装置は、互いに通信できるようにインターネット４にて接続されている。また、タイムスタンプサーバ５と、リポジトリサーバ６，７とは、図１に示した各装置と同様である。
【００８８】
クライアント端末３００は、ＣＰＵ３１０と、ＲＯＭ３２０と、記憶部３３０と、通信制御部３４０と、ＲＡＭ３５０と、表示部３６０と、入出力Ｉ／Ｆ３７０とを備えている。
【００８９】
ＣＰＵ３１０は、記憶部３３０などに記憶されたプログラムに従って情報処理やクライアント端末３００の各部の制御を行う中央処理装置である。例えば、ＣＰＵ３１０は、タイムスタンプサーバ５、リポジトリサーバ６，７と通信しながら長期署名データを作成する。ＲＯＭ３２０は、リードオンリメモリであって、クライアント端末３００が動作するための基本的なプログラムやパラメータなどを記憶する。ＲＡＭ３５０は、ランダムアクセスメモリであって、例えば、クライアント端末３００が電子署名や原本ハッシュ値の作成を行う際に用いるデータを一時記憶する。
【００９０】
記憶部３３０は、例えば、ハードディスクなどの大容量の記憶装置を用いて構成されており、クライアント端末３００を動作させるためのＯＳや電子署名を行うための秘密鍵、当該秘密鍵に対応する公開鍵の公開鍵証明書、長期署名対象となっている原本データなどを記憶する。原本データは、例えば、ワープロやテキストエディタなどで作成された電子文書のほか、画像データ、音声データなどの各種のデータファイルである。
【００９１】
また、クライアント端末３００が長期署名データを作成するためのプログラムは、予め記憶部３３０に記憶しておき、これを使用する。表示部３６０は、例えば、液晶ディスプレイなどを用いた表示装置を備えており、クライアント端末３００のユーザがクライアント端末３００を操作するための各種画面を表示する。
【００９２】
入出力Ｉ／Ｆ３７０は、例えば、キーボード、マウス、ＩＣカードリーダライタなどの入出力装置を備えている。ＩＣカードリーダライタは、ＩＣカードを接続してクライアント端末３００とＩＣカードの通信を仲介する。ＩＣカードは、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＥＥＰＲＯＭ（Ｅｌｅｃｔｒｉｃａｌｌｙ  Ｅｒａｓａｂｌｅ  ａｎｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）などを備えた情報処理装置であり、例えば、クライアント端末３を使用するユーザを認証するためのユーザ認証情報などを記憶している。また、秘密鍵や公開鍵証明書などをＩＣカードに記憶させ、ＩＣカードの秘密鍵を使って電子署名するようにクライアント端末３００を構成することもできる。
【００９３】
通信制御部３４０は、インターネット４を介してタイムスタンプサーバ５や、リポジトリサーバ６，７などと通信を行う。なお、インターネット４は、他の形態の通信網であってもよい。
【００９４】
なお、長期署名システム１００の処理は、上述した長期署名システム１の処理と同様である。
【００９５】
また、上述した実施形態における長期署名サーバ２と、クライアント端末３，３００と、タイムスタンプサーバ５と、リポジトリサーバ６，７とが備える各部の機能全体あるいはその一部は、これらの機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、ＯＳや周辺機器等のハードウェアを含むものとする。
【００９６】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶部のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００９７】
なお、本発明は、上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲において種々の変更を加えることが可能である
【符号の説明】
【００９８】
１，１００・・・長期署名システム、２・・・長期署名サーバ、３，３００・・・クライアント端末、４・・・インターネット、５・・・タイムスタンプサーバ、６，７・・・リポジトリサーバ、２１，３１，３１０・・・ＣＰＵ、２２，３２，３２０・・・ＲＯＭ、２３．３３，３３０・・・記憶部、２４，３４，３４０・・・入出力Ｉ／Ｆ、２５，３５．３５０・・・ＲＡＭ、２６，３６，３６０・・・表示部、２７，３７，３７０・・・通信制御部、２１１・・・ＥＳ−Ａ作成機能部、２１２・・・ＥＲＳＴ作成機能部、２１３・・・ＥＲＳＴ延長機能部、２１４・・・ＥＳ−ＡおよびＥＲＳＴ検証機能部、３２１・・・文書管理機能部、３２２・・・ＥＳ−Ａ作成機能部、３２３・・・ＥＳ−Ａ検証機能部
【図１】
2014042214.tif 000003
【図２】
2014042214.tif 000004
【図３】
2014042214.tif 000005
【図４】
2014042214.tif 000006
【図５】
2014042214.tif 000007
【図６】
2014042214.tif 000008
【図７】
2014042214.tif 000009
【図８】
2014042214.tif 000010
【図９】
2014042214.tif 000011
【図１０】
2014042214.tif 000012
【図１１】
2014042214.tif 000013
【図１２】
2014042214.tif 000014
【図１３】
2014042214.tif 000015
【図１４】
2014042214.tif 000016