(57)【要約】【課題】時刻認証の証明対象となる複数ファイルのハッシュ値等を１つにまとめて１つのファイルを作成し、このファイル全体で一括して時刻認証要求を行うバルク型時刻認証方法において、特定の時刻証明に必ずしも必要がない情報まで第三者に提示する必要がないようにするための発明を提供することを目的とする。【解決手段】計算機フォルダに含まれる少なくとも各エントリｅ１，ｅ２，・・・，ｅｎのハッシュ値ｈによって構成されるサマリファイルＳＦを作成し、更に、作成したサマリファイルＳＦのうち所望の情報を遮蔽する（前）フィルタ手段１３を有する利用者端末とした。【選択図】      図１５
2006067094.tif 000002
【特許請求の範囲】
【請求項１】
電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク型時刻認証要求用のプログラムであって、
前記利用者端末であるコンピュータが、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記サマリファイルを管理するファイル管理手段とを有した状態において、
前記複数のエントリの各々に対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、
前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、
前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、
前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルのうち所望の情報を前もって遮蔽する前フィルタ手段と、
前記前フィルタ手段によって遮蔽したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、
前記サマリファイル管理手段に記憶すべき遮蔽したサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記遮蔽したフィルタ済みサマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、
を前記コンピュータに機能させることにより、前記フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として時刻証明機関への時刻認証要求を可能とするためのバルク型時刻認証要求用プログラム。
【請求項２】
請求項１に記載のバルク型時刻認証要求用プログラムであって、
更に、前記関数管理手段が２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理した状態において、
前記前フィルタ手段によって複数種類のフィルタ済みサマリファイルを作成した場合に、これらフィルタ済みサマリファイルをエントリに見たてて前記サマリファイルとは別のサマリファイルである２次サマリファイルを作成する２次サマリファイル作成手段と、
前記サマリファイルハッシュ値作成手段に代えて、前記２次サマリファイル作成手段によって作成した２次サマリファイルに対して、前記関数管理手段で管理している２次サマリファイル用ハッシュ関数を適用して、前記２次サマリファイルのハッシュ値を作成する２次サマリファイルハッシュ値作成手段と、
を前記コンピュータに機能させることを特徴とするバルク型時刻認証要求用プログラム。
【請求項３】
請求項１又は２に記載のバルク型時刻認証要求用プログラムを記録した、コンピュータ読み取り可能な記録媒体。
【請求項４】
電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置であって、
前記利用者端末が前記請求項１に記載のバルク型時刻認証要求用のプログラムを実行することによって、フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、
前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、
前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、
前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、
前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、
前記請求項１に記載の前フィルタ手段によって所望の情報を前もって遮蔽したフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、
前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較手段と、
前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記フィルタ済みサマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、
前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のフィルタ済みサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、
前記サマリファイルハッシュ値再計算手段で再計算したフィルタ済みサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のフィルタ済みサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較手段と、
を有することを特徴とする検証装置。
【請求項５】
請求項４に記載の検証装置であって、
前記利用者端末が前記請求項２に記載のバルク型時刻認証要求用のプログラムを実行することによって、２次サマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、
前記関数管理手段に前記２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理する場合であって、
前記ハッシュ値取得手段では、前記請求項２に記載の前フィルタ手段によって、所望の情報を前もって遮蔽した複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得し、
また前記サマリファイルハッシュ値取得手段では前記２次サマリファイルから、前記複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルのハッシュ値をを取得し、
更に、前記サマリファイルハッシュ値再計算手段、前記サマリファイルハッシュ値取得手段、及び前記サマリファイルハッシュ値比較手段により、複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルに加えて２次サマリファイルを処理することが可能であることを特徴とする検証装置。
【請求項６】
電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置であって、
前記利用者端末が、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する端末関数管理手段と、前記サマリファイルを管理するファイル管理手段と、前記複数のエントリの各々に対して前記端末関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶したサマリファイルに対して前記端末関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を有した状態において、
前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、
前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、
前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、
前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、
前記検証用管理手段に管理しておいたサマリファイルの所望の情報を後から遮蔽する後フィルタ手段と、
前記後フィルタ手段によって遮蔽したサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、
前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較手段と、
前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、
前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、
前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較手段と、
を有することを特徴とする検証装置。
【請求項７】
電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、
前記利用者端末が前記請求項１に記載のバルク型時刻認証要求用のプログラムを実行することによって、フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、
前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、
前記検証装置は、
前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、
前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、
前記請求項１に記載の前フィルタ手段によって所望の情報を前もって遮蔽したフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、
前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較ステップと、
前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記フィルタ済みサマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、
前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のフィルタ済みサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、
前記サマリファイルハッシュ値再計算ステップで再計算したフィルタ済みサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のフィルタ済みサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較ステップと、
を実行することを特徴とする検証方法。
【請求項８】
請求項７に記載の検証方法であって、
前記利用者端末が前記請求項２に記載のバルク型時刻認証要求用のプログラムを実行することによって、２次サマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、
前記関数管理手段に前記２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理する場合であって、
前記ハッシュ値取得手段では、前記請求項２に記載の前フィルタ手段によって，所望の情報を前もって遮蔽した複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得し、
また、前記サマリファイルハッシュ値取得ステップでは前記２次サマリファイルから前記複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルのハッシュ値を取得し、
更に、前記サマリファイルハッシュ値再計算ステップ、前記サマリファイルハッシュ値取得ステップ、及び前記サマリファイルハッシュ値比較ステップにより、複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルに加えて２次サマリファイルを処理することが可能であることを特徴とする検証方法。
【請求項９】
電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、
前記利用者端末が、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する端末関数管理手段と、前記サマリファイルを管理するファイル管理手段と、前記複数のエントリの各々に対して前記端末関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶したサマリファイルに対して前記端末関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を有し、
前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、
前記検証装置は、
前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、
前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、
前記検証用管理手段に管理しておいたサマリファイルの所望の情報を後から遮蔽する後フィルタステップと、
前記後フィルタステップによって遮蔽したサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、
前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較ステップと、
前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、
前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、
前記サマリファイルハッシュ値再計算ステップで再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、
を実行することを特徴とする検証方法。
【請求項１０】
請求項７に記載の検証装置に、上記請求項７に記載の各ステップを実行させることを特徴とした検証用プログラム。
【請求項１１】
請求項８に記載の検証装置に、上記請求項８に記載の各ステップを実行させることを特徴とした検証用プログラム。
【請求項１２】
請求項９に記載の検証装置に、上記請求項９に記載の各ステップを実行させることを特徴とした検証用プログラム。
【請求項１３】
請求項１０乃至１２のいずれか一項に記載の検証用プログラムを記録したことを特徴とした、コンピュータ読み取り可能な検証用記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデジタル文書等のデジタル・データに時刻印を押すサービスにおいて、デジタル・データが時刻印を押された時点以降において変更されてなく、かつ確かに時刻印が押された時点で対象とするデジタル・データが存在していたことを証明することを可能とする時刻認証方法に関し、特に、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、当該１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク(BULK)型時刻認証に関する。
【背景技術】
【０００２】
例えば、米国における先発明主義に基づく特許制度の下では日付の入った研究ノートが優先権を証明する証拠として用いることが可能であり、さらに日付が付けられた家計簿は確定申告における支出記録として使うことができることが知られている。一方、パソコンが日常的に使用されるようになるにつれ、研究ノートや家計簿などの日常記録をパソコンを用いて行うことが、ごく一般的になってきている。
【０００３】
しかし、このようなパソコン上での電気的、デジタル的な記録による文書等は容易に書き換えることができることから、記録媒体としての紙を用いて書かれた記録とは異なり、記録日時を含め記録内容を第三者に証明することができないという問題を有していた。そのため、従来は、ＴＳＡ(Time-Stamp Authority：時刻証明機関)が、時刻認証証明書を発行する時刻認証サービスを行うことで、デジタル・データの時刻証明の問題を解決していた。
【０００４】
更に、近年は、図２８に示すように、利用者（甲）がＴＳＡ（乙）に、時刻認証の証明対象となるデジタル・データに対して時刻認証証明書を作成してもらい、その後、係争相手（丙）に対して時刻認証証明書の正当性を証明する必要が出てきた場合には、ＴＴＰ（Trusted Third Party：信頼される第三者機関）（丁）に、その正当性の検証を依頼することで、紛争のより迅速な解決を図ることが可能となった。この場合、利用者（甲）は、利用者端末２１０から通信ネットワーク５を介してＴＳＡ（乙）の時刻認証装置２に時刻認証要求を行い、時刻認証装置２で時刻認証証明書を作成して利用者端末２１０に送信する。そして、利用者（甲）が係争相手（丙）との間で、時刻認証証明書の正当性を証明する必要が出てきた場合には、利用者端末２１０から通信ネットワーク５を介してＴＴＰ（丁）の検証装置２４０に時刻証明検証要求を行い、検証装置２４０で正当性を検証して、検証結果を利用者端末１１０や係争者端末３に送信する。
【０００５】
更に、最近、利用者（甲）がコンピュータ（計算機）のファイルシステムの特定の電子フォルダｆに含まれる複数のファイルに係るデジタル・データg1、g2、・・・gn（ｎは正数、以下、総称を「ｇ」とする）をまとめ、一括して時刻認証証明書を取得するような時刻認証方法が提案されている（特許文献１参照）。この方法は、１つにまとめた「固まり」という意味のバルク(bulk)から、バルク型時刻認証方法と呼ばれている。
【０００６】
ここで、図２９を用い、上記従来のバルク型時刻認証方法について説明する。尚、図２９は、従来のバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図である。
【０００７】
図２９に示すように、利用者（甲）は、デジタル・データＧを作成し、ＴＳＡ（乙）に時刻認証証明書の作成を依頼する者であり、パソコン等の利用者端末１１０から通信ネットワーク５を介してＴＳＡ（乙）の時刻認証装置２に時刻認証要求を行うことができる。ＴＳＡ（乙）は、時刻インフラストラクチャ６を介して取得した日本標準時ｔに基づいて、時刻認証証明書を作成する者である。係争相手（丙）は、利用者（甲）が自己のデジタル・データの作成日時等に関して争う当事者の一方であり、パソコン等の係争者端末３から通信ネットワーク５を介して利用者端末１１０又は時刻認証装置２に対し、デジタル・データの送信要求を行うことができる。ＴＴＰ（丁）は、信頼される第三者機関として、中立性と客観性をもち、利用者（甲）と係争相手（丙）の紛争解決に役立てるために時刻認証証明書の正当性を検証する機関であり、検証装置１４０により通信ネットワーク５を介して利用者端末１１０からの時刻証明検証要求を受け付けて時刻認証証明書の正当性の検証を行うと共に、通信ネットワーク５を介して検証結果を利用者端末１１０又は係争者端末３に送信することができる。
【０００８】
次に、利用者端末１１０、時刻認証装置２、及び検証装置１４０について説明する。尚、利用者端末１１０には、この利用者端末１１０を図２９に示す各手段として機能させるための時刻認証要求用プログラムが記憶されている。また、時刻認証装置２には、この時刻認証装置２を図２９に示す各手段として機能させるための時刻認証用プログラムが記憶されている。更に、検証装置１４０には、この検証装置１４０を図２９に示す各手段として機能させるための正当性検証用プログラムが記憶されている。
【０００９】
また、利用者端末１１０は、上記時刻認証要求用プログラムを実行することによって、図２９に示すように、ハッシュ値作成手段１１１、ハッシュ値結合手段１１２、統合ハッシュ値作成手段１１３、及び、送受信手段１１４を有するに至っている。
【００１０】
まず、ハッシュ値作成手段１１１は、テキスト情報、画像情報、音声情報等のデジタル・データＧのうちで、時刻認証の証明対象となるフォルダｆ内の複数のデジタル・データｇ毎にハッシュ関数h1を適用して、各ハッシュ値h1(g1)，h1(g2)，、、、，h1(gn)（以下、これらをまとめて表す場合は「h1(ｇ)」とする）を作成することができる。このハッシュ値は、別名「ダイジェスト」ともいう。このようなハッシュ値h1(ｇ)の作成目的は、デジタル・データｇのような不定長のデータを所定の手順に従って変換して、一定の長さ（例えば、２０byte）のハッシュ値h1(ｇ)に圧縮することで、デジタル・データｇに署名を行う代わりに、そのデジタル・データｇのハッシュ値に署名することで、計算や送信の効率を向上させることである。また、安全なハッシュ関数の条件は、ハッシュ値から入力を推定することが困難であること、及び２つの異なるデジタル・データのハッシュ値が一致する確率が極めて小さいことである。例えば、ハッシュ関数として、MD5、SHA-1等がある。ハッシュ関数は、Ｃ言語のライブラリ等として広く流通しており、仕様が公開されているため、各人が自分でプログラム化することも比較的容易である。このハッシュ関数は、公開されている仕様通りに動作することで、ハッシュ値の送受信者間で合意されている必要がある。
【００１１】
次に、ハッシュ値結合手段１１２は、ハッシュ値作成手段１１で作成された複数のハッシュ値h1（ｇ）を連接することにより結合した結果として、次式を得る。
【００１２】
h1(g1)‖h1(g2)‖・・・‖h1(gn)
ここで、ハッシュ値の連接とは、ハッシュ値をバイト（byte）列とみて、単純につないで行くことを示す。例えば、それぞれ２０byteのハッシュ値h1(g1）とh1(g2）を連接すると、合計で４０byteのバイト列となり、前半の２０byteはh1(g1）と同じで、後半の２０byteはh1(g2)と同じとなるような、単純なバイト列のつながりのことである。
【００１３】
次に、統合ハッシュ値作成手段１１３は、ハッシュ値結合手段１１２によって得られた結合結果の全体に、統合用ハッシュ関数h2を適用して、次式の統合ハッシュ値を得る。
【００１４】
h2(h1(g1)‖h1(g2)‖・・・‖h1(gn))
尚、この統合ハッシュ値を簡略化して表すために、以下「ｄ」で表す。
【００１５】
次に、利用者（甲）は、図３０に示すように、利用者端末１１０から通信ネットワーク５を介して統合ハッシュ値ｄをＴＳＡ（乙）の時刻認証装置２へ送信することで、時刻認証要求を行う（ステップＳ１０１）。
【００１６】
一方、時刻認証装置２は、時刻認証用プログラムを実行することによって、図２９に示すように、送受信手段２１、時刻取得手段２２、時刻認証手段２３、及び、デジタル署名作成手段２４を有するに至っている。
【００１７】
まず、送受信手段２１は、通信ネットワーク５を介して上記利用者端末１１０から送られてきた統合ハッシュ値ｄを受信する。また、時刻取得手段２２は、時刻インフラストラクチャ６から日本標準時ｔを取得している。
【００１８】
次に、デジタル署名作成手段２３は、送受信手段２１で受信した統合ハッシュ値ｄのデータに、時刻取得手段２２で取得した時刻ｔ、及び所定の附加情報を結合し時刻認証証明書における署名対象デジタル・データ TSTI(d, t)とし、この署名対象デジタル・データに対してデジタル署名 sig(SK，TSTI(d, t))を作成する。このデジタル署名 sig(SK, TSTI(d, t)) は、ＴＳＡ（乙）の署名鍵（秘密鍵）SKによるデジタル・データTSTI(d,t)に対するデジタル署名を示したものである。
【００１９】
次に、時刻認証手段２４は、上記統合ハッシュ値ｄと時刻ｔを含む署名対象デジタル・データTSTI(d,t)、及び、デジタル署名sig(SK,TSTI(d,t))を含む時刻認証証明書 TST(sig(SK,TSTI(d,t)),TSTI(d,t))を作成する。この時刻認証証明書TST(sig(SK,TSTI(d,t)),TSTI(d,t))は、署名付きデジタル・データとしての時刻認証証明書を示したものである。これにより、ＴＳＡ（乙）は、図３０に示すように、時刻認証装置２から利用者（甲）の利用者端末１１０へ、時刻認証証明書TST(sig(SK,TSTI(d,t)),TSTI(d,t))を送信することで、時刻証明応答を行う（ステップＳ１０２）。
【００２０】
また、検証装置１４０は、検証用プログラムを実行することによって、図２９に示すように、送受信手段１４１、及び、検証手段１４２を有するに至っている。尚、署名鍵SKと、この署名鍵SKと対になる公開鍵PKは、何らかの手段でＴＴＰ（丁）に知られている。
【００２１】
そして、利用者（甲）が、デジタル・データｇの時刻証明を係争相手（丙）に証明する必要が出てきた場合には、図３０に示すように、利用者（甲）は、利用者端末１１０から通信ネットワーク５を介してＴＴＰ（丁）の検証装置１４０に、証明対象である複数のデジタル・データｇを格納したフォルダｆ〔ｇ〕、及び時刻認証証明書TST1を送信することで、時刻証明検証要求を行う（ステップＳ１０３）。
【００２２】
次に、検証装置１４０では、送受信手段１４１によって、フォルダｆ〔ｇ〕及び時刻認証証明書TST1を受信し、検証用記憶手段１４９に記憶しておく。そして、検証手段１４２は、更に、統合ハッシュ値再計算手段１４３、デジタル署名検証手段１４４、及び、統合ハッシュ値比較手段１４５を有しており、各手段によって以下に示す手順で検証を行う。
【００２３】
まず、検証時の入力対象として、上記フォルダｆ〔ｇ〕の名称ｆｎ、フォルダｆ〔ｇ〕に含まれるデジタル・データｇ、及び、フォルダｆ〔ｇ〕に対して既に取得している時刻認証証明書TST1が入力されると、統合ハッシュ値再計算手段１４３によって、検証用記憶手段１４９からフォルダｆ〔ｇ〕の名称ｆｎに対応したデジタル・データｇを読み出し、上記利用者端末１１０で統合ハッシュ値ｄを作成した手順と同じ手順で、統合ハッシュ値ｄ’を再度計算する。
【００２４】
次に、デジタル署名検証手段１４４により、時刻認証証明書TST1から署名対象デジタル・データTSTI(d,t)と、デジタル署名sig(SK,TSTI(d,t))を抽出し、公開の検証鍵PKを用いてデジタル署名sig(SK,TSTI(d,t))が、署名対象デジタル・データ TSTI(d, t) に対してなされたものであることを検証する。
【００２５】
次に、統合ハッシュ値比較手段１４５により、上記再計算した統合ハッシュ値ｄ’と、上記時刻認証の署名対象デジタル・データTSTI(d,t)から抽出したハッシュ値ｄを比較し、ｄ’＝ｄか否かを検証する。この場合、署名対象デジタル・データTSTI(d,t)の書式は定まっているため TSTI(d,t)からｄを取り出すことかできる。これにより、ｄ’＝ｄが成り立てば、検出結果として「正当（ＯＫ）」を出力し、ｄ’＝ｄが成り立たなければ、検出結果として「不当（ＮＧ）」を出力する。
【００２６】
このように、従来のバルク型時刻認証方法によれば、フォルダｆ〔ｇ〕を一括してまとめた状態で、単一の時刻認証証明書TST(sig(SK,TSTI(d,t)),TSTI(d,t))の要求を行うことで、ＴＳＡ（乙）による時刻認証証明書の発行が単一で済むと共に、利用者（甲）も単一の時刻認証証明書TST(sig(SK,TSTI(d,t)),TSTI(d,t))を管理するだけで済むという効果を奏する。
【特許文献１】特開２００１−１４２３９８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２７】
しかしながら、従来のバルク型時刻認証方法において、証明対象である複数のデジタル・データのうち、特定の１個以上のテジタルデータに係る時刻認証証明書の正当性を第三者に証明する必要が出てきた場合、その特定のテジタルデータに係る情報だけでなく、複数のデジタル・データ全体を第三者に提示しなければならず、特定のデジタル・データの時刻証明に必ずしも必要がない情報まで第三者に提示しなければならないという問題が生じていた。
【００２８】
本発明は、上述した事情に鑑みてなされたもので、デジタル・データの時刻証明サービスにバルク型時刻認証方法を用いて特定の１個以上のテジタルデータに係る時刻認証証明書の正当性を第三者に証明する必要が出てきた場合に、特定の１個以上のデジタル・データの時刻証明に必ずしも必要がない情報まで第三者に提示する必要がないようにするための発明を提供することを目的とする。
【課題を解決するための手段】
【００２９】
上記目的を達成するため、請求項１に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うためのバルク型時刻認証要求用のプログラムであって、前記利用者端末であるコンピュータが、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記サマリファイルを管理するファイル管理手段とを有した状態において、前記複数のエントリの各々に対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルのうち所望の情報を前もって遮蔽する前フィルタ手段と、前記前フィルタ手段によって遮蔽したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶すべき遮蔽したサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記遮蔽したフィルタ済みサマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を前記コンピュータに機能させることにより、前記フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として時刻証明機関への時刻認証要求を可能とするためのバルク型時刻認証要求用プログラムである。
【００３０】
ここで、「プログラム」とは、コンピュータによる処理に適した命令の順番付けられた列からなるものをいい、コンピュータのＨＤ(Hard Disk)、ＣＤ−ＲＷ等にインストールされているものや、ＣＤ−ＲＯＭ、ＤＶＤ、ＦＤ、半導体メモリ、コンピュータのＨＤＤ等の各種記録媒体に記録されているものや、通信ネットワークを介して配信されるものも含まれる（以下、同様）。
【００３１】
また、「電子フォルダ」には、ある電子フォルダに含まれるもう１つの電子フォルダであるような電子サブフォルダが含まれる（以下、同様）。
【００３２】
請求項２に係る発明は、請求項１に記載のバルク型時刻認証要求用プログラムであって、更に、前記関数管理手段が２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理した状態において、前記前フィルタ手段によって複数種類のフィルタ済みサマリファイルを作成した場合に、これらフィルタ済みサマリファイルをエントリに見たてて前記サマリファイルとは別のサマリファイルである２次サマリファイルを作成する２次サマリファイル作成手段と、前記サマリファイルハッシュ値作成手段に代えて、前記２次サマリファイル作成手段によって作成した２次サマリファイルに対して、前記関数管理手段で管理している２次サマリファイル用ハッシュ関数を適用して、前記２次サマリファイルのハッシュ値を作成する２次サマリファイルハッシュ値作成手段と、を前記コンピュータに機能させることを特徴とするバルク型時刻認証要求用プログラムである。
【００３３】
請求項３に係る発明は、請求項１又は２に記載のバルク型時刻認証要求用プログラムを記録した、コンピュータ読み取り可能な記録媒体である。
【００３４】
ここで、「記録媒体」とは、コンピュータで上記各手段を機能させるためのプログラムの読み取りに使用することができればよく、情報を媒体の物理的特性を利用してどのように記録するか等の物理的な記録方法には依存しない。例えば、ＦＤ(Flexible Disk)、ＣＤ−ＲＯＭ（Ｒ，ＲＷ）(Compact Disc Read Only Memory(CD Recordable,CD Rewritable))、ＤＶＤ−ＲＯＭ（ＲＡＭ，Ｒ，ＲＷ）(Digital Versatile Disk Read Only Memory(DVD Random Access Memory,DVD Recordable,DVD Rewritable))、半導体メモリ、ＭＯ(Magneto Optical Disk)、ＭＤ(Mini Disk)、磁気テープ等が該当する（以下、同様）。
【００３５】
請求項４に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置であって、前記利用者端末が前記請求項１に記載のバルク型時刻認証要求用のプログラムを実行することによって、フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、前記請求項１に記載の前フィルタ手段によって所望の情報を前もって遮蔽したフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較手段と、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記フィルタ済みサマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のフィルタ済みサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、前記サマリファイルハッシュ値再計算手段で再計算したフィルタ済みサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のフィルタ済みサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較手段と、を有することを特徴とする検証装置である。
【００３６】
請求項５に係る発明は、請求項４に記載の検証装置であって、前記利用者端末が前記請求項２に記載のバルク型時刻認証要求用のプログラムを実行することによって、２次サマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、前記関数管理手段に前記２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理する場合であって、前記ハッシュ値取得手段では、前記請求項２に記載の前フィルタ手段によって、所望の情報を前もって遮蔽した複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得し、また前記サマリファイルハッシュ値取得手段では前記２次サマリファイルから、前記複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルのハッシュ値をを取得し、更に、前記サマリファイルハッシュ値再計算手段、前記サマリファイルハッシュ値取得手段、及び前記サマリファイルハッシュ値比較手段により、複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルに加えて２次サマリファイルを処理することが可能であることを特徴とする検証装置である。
【００３７】
請求項６に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置であって、前記利用者端末が、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する端末関数管理手段と、前記サマリファイルを管理するファイル管理手段と、前記複数のエントリの各々に対して前記端末関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶したサマリファイルに対して前記端末関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を有した状態において、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段と、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証手段と、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算手段と、前記検証用管理手段に管理しておいたサマリファイルの所望の情報を後から遮蔽する後フィルタ手段と、前記後フィルタ手段によって遮蔽したサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得手段と、前記ハッシュ値再計算手段によって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得手段によって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較手段と、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算手段と、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得手段と、前記サマリファイルハッシュ値再計算手段で再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得手段で取得した元のサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較手段と、を有することを特徴とする検証装置である。
【００３８】
請求項７に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が利用者端末により前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで、当該時刻証明機関から時刻認証証明書を取得した後に、前記時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、前記利用者端末が前記請求項１に記載のバルク型時刻認証要求用のプログラムを実行することによって、フィルタ済みサマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、前記検証装置は、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、前記請求項１に記載の前フィルタ手段によって所望の情報を前もって遮蔽したフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが一致しているか否かを比較するハッシュ値比較ステップと、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記フィルタ済みサマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のフィルタ済みサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、前記サマリファイルハッシュ値再計算ステップで再計算したフィルタ済みサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のフィルタ済みサマリファイルのハッシュ値とが一致しているか否かを比較するサマリファイルハッシュ値比較ステップと、  を実行することを特徴とする検証方法である。
【００３９】
請求項８に係る発明は、請求項７に記載の検証方法であって、
前記利用者端末が前記請求項２に記載のバルク型時刻認証要求用のプログラムを実行することによって、２次サマリファイルのハッシュ値を時刻認証の証明対象として前記時刻証明機関へ時刻認証要求を行う場合において、前記関数管理手段に前記２次サマリファイルに適用する２次サマリファイル用ハッシュ関数を管理する場合であって、前記ハッシュ値取得手段では、前記請求項２に記載の前フィルタ手段によって，所望の情報を前もって遮蔽した複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得し、また、前記サマリファイルハッシュ値取得ステップでは前記２次サマリファイルから前記複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルのハッシュ値を取得し、更に、前記サマリファイルハッシュ値再計算ステップ、前記サマリファイルハッシュ値取得ステップ、及び前記サマリファイルハッシュ値比較ステップにより、複数種類のフィルタ済みサマリファイルの中の指定されたフィルタ済みサマリファイルに加えて２次サマリファイルを処理することが可能であることを特徴とする検証方法である。
【００４０】
請求項９に係る発明は、電子フォルダ又は電子ファイルとしての複数のエントリのハッシュ値から新たな１つのハッシュ値を作成し、利用者が前記１つのハッシュ値を時刻認証の証明対象として時刻証明機関へ時刻認証要求を行うことで時刻認証証明書を取得した後に、前記利用者が取得した時刻認証証明書の正当性についての検証を行う検証装置を用いた検証方法であって、前記利用者端末が、前記エントリ毎に定義されかつ当該エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する端末関数管理手段と、前記サマリファイルを管理するファイル管理手段と、前記複数のエントリの各々に対して前記端末関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を作成するハッシュ値作成手段と、前記ハッシュ値作成手段によって作成した各エントリのハッシュ値と当該各エントリを特定する識別子をそれぞれ関連づけて、前記エントリ毎の要約ファイル表現を作成する要約ファイル表現作成手段と、前記要約ファイル表現作成手段によって作成したエントリ毎の要約ファイル表現を結合する要約ファイル表現合成手段と、前記要約ファイル表現合成手段によって要約ファイル表現を結合した結果として作成したサマリファイルを前記ファイル管理手段に記憶するサマリファイル記憶手段と、前記サマリファイル管理手段に記憶したサマリファイルに対して前記端末関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を作成するサマリファイルハッシュ値作成手段と、を有し、前記検証装置が、前記複数のエントリ、前記利用者端末で作成されたサマリファイル、及び時刻認証証明書のデータを取得して管理しておく検証用管理手段と、前記エントリに適用するエントリ用ハッシュ関数及びサマリファイルに適用するサマリファイル用ハッシュ関数を管理する関数管理手段とを有した状態において、前記検証装置は、前記検証用管理手段に管理しておいた時刻認証証明書が改ざんされてなく正しいことを検証する正当性検証ステップと、前記検証用管理手段に管理しておいた複数のエントリのうち検証の対象となるものに対して前記関数管理手段で管理しているエントリ用ハッシュ関数を適用して、各エントリのハッシュ値を再計算するハッシュ値再計算ステップと、前記検証用管理手段に管理しておいたサマリファイルの所望の情報を後から遮蔽する後フィルタステップと、前記後フィルタステップによって遮蔽したサマリファイルを構成する要約ファイル表現中の対応する元のエントリのハッシュ値を取得するハッシュ値取得ステップと、前記ハッシュ値再計算ステップによって再計算した前記エントリのハッシュ値と、前記ハッシュ値取得ステップによって取得したハッシュ値とが同じであるか否かを比較するハッシュ値比較ステップと、前記検証用管理手段に管理しておいたサマリファイルに対して前記関数管理手段で管理しているサマリファイル用ハッシュ関数を適用して、前記サマリファイルのハッシュ値を再計算するサマリファイルハッシュ値再計算ステップと、前記検証用管理手段に管理しておいた時刻認証証明書に含まれる元のサマリファイルのハッシュ値を取得するサマリファイルハッシュ値取得ステップと、前記サマリファイルハッシュ値再計算ステップで再計算したサマリファイルのハッシュ値と前記サマリファイルハッシュ値取得ステップで取得した元のサマリファイルのハッシュ値とが同じであるか否かを比較するサマリファイルハッシュ値比較ステップと、を実行することを特徴とする検証方法である。
【００４１】
請求項１０に係る発明は、請求項７に記載の検証装置に、上記請求項７に記載の各ステップを実行させることを特徴とした検証用プログラムである。
【００４２】
請求項１１に係る発明は、請求項８に記載の検証装置に、上記請求項８に記載の各ステップを実行させることを特徴とした検証用プログラムである。
【００４３】
請求項１２に係る発明は、請求項９に記載の検証装置に、上記請求項９に記載の各ステップを実行させることを特徴とした検証用プログラムである。
【００４４】
請求項１３に係る発明は、請求項１０乃至１２のいずれか一項に記載の検証用プログラムを記録したことを特徴とした、コンピュータ読み取り可能な検証用記録媒体である。
【発明の効果】
【００４５】
以上説明したように本発明によれば、サマリファイルのうち所望の情報（例えば、第三者に公表したくない情報）のみをフィルタ（遮蔽）することで、バルク型時刻認証方法を採用する場合であっても、特定のデジタル・データの時刻証明に必ずしも必要がない情報まで、係争相手に提示しなくて済むという効果を奏する。
【発明を実施するための最良の形態】
【００４６】
まず、本発明を実施するための最良の形態（以下、「実施形態」という）を説明する前に、本発明を導く過程で本発明者が発明した前提となる発明（以下、「前提発明」という）であるサマリファイルに関し、図１乃至図１４を用いて説明する。尚、この前提発明は、特願２００３−３２１９６６においても開示されている。
【００４７】
〔第１の前提発明〕
以下、図１乃至図９を参照して、第１の前提発明に係るバルク型時刻認証方法について説明する。尚、図１は、本前提発明における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図である。図１に示すように、利用者（甲）は、時刻認証の証明対象としての電子フォルダ又は電子ファイルに対して、ＴＳＡ（乙）に時刻認証証明書の作成を依頼する者であり、パソコン等の利用者端末１ａから通信ネットワーク５を介してＴＳＡ（乙）の時刻認証装置２に時刻認証要求を行うことができる。ＴＳＡ（乙）は、時刻インフラストラクチャ６を介して取得した日本標準時ｔに基づいて、時刻認証証明書 TST1 を作成する者である。但し、日本標準時ｔを取得せずに、独自の時刻源を用いて時刻認証証明書を作成してもよい。
【００４８】
尚、以下において、時刻認証の証明対象としての電子フォルダ又は電子ファイルを「エントリ」といい、この場合の電子フォルダには、ある電子フォルダに含まれるもう１つの電子フォルダであるような電子サブフォルダも含まれる。このエントリは、時刻認証の証明対象としてエントリすることに由来している。また、電子ファイルを「ファイル」として表し、電子サブフォルダを「サブフォルダ」として表し、電子ファイルを「ファイル」として表す。ファイル毎に各デジタル・データが格納されている。
【００４９】
ファイルとフォルダのうちのどちらを示しても良い場合、又は両方を示す場合の概念の総称を「エントリｅ」として表す。また、各エントリｅをそれぞれ示す場合には、エントリｅ１，ｅ２，・・・，ｅｎ（ｎは正数）として表す。
【００５０】
特に、エントリｅがフォルダの場合には総称として「エントリeF」と表し、エントリｅがサブフォルダの場合には総称として「エントリes」と表し、エントリｅがファイルの場合には総称として「エントリef」と表す。
【００５１】
この場合、サブフォルダに係るエントリesをそれぞれ示す場合には、エントリes１，es２，・・・，esｎ（ｎは正数）として表し、ファイルに係るエントリefをそれぞれ示す場合には、エントリef1，ef2，・・・，efｎ（ｎは正数）として表す。
【００５２】
係争相手（丙）は、利用者（甲）が自己のデジタル・データの作成日時等に関して争う当事者の一方であり、パソコン等の係争者端末３から通信ネットワーク５を介して利用者端末１ａ又は時刻認証装置２に対し、デジタル・データの送信要求を行うことができる。
【００５３】
ＴＴＰ（丁）は、信頼される第三者機関として、中立性と客観性をもち、利用者（甲）と係争相手（丙）の紛争解決に役立てるために時刻認証証明書の正当性を検証する機関であり、検証装置４ａにより通信ネットワーク５を介して利用者端末１ａからの時刻証明検証要求を受け付けて、時刻認証証明書の正当性の検証を行うと共に、通信ネットワーク５を介して検証結果を利用者端末１ａ又は係争者端末３に送信することができる。尚、利用者（甲）は利用者端末１ａを利用せずに、ＣＤ−Ｒ等の記録媒体に時刻証明検証要求に必要なデータを記録しておき、ＴＴＰ（丁）に持参や郵送等により、上記時刻証明検証要求に必要なデータを渡すようにしてもよい。
【００５４】
次に、利用者端末１ａ、時刻認証装置２、及び検証装置４ａについて説明する。尚、利用者端末１ａには、この利用者端末１ａを図１に示す各手段として機能させるための時刻認証要求用プログラム(p1a)が記憶されている。また、時刻認証装置２には、この時刻認証装置２を図１に示す各手段として機能させるための時刻認証用プログラム(p2)が記憶されている。更に、検証装置４ａには、この検証装置４ａを図１に示す各手段として機能させるための正当性検証用プログラム(p4a)が記憶されている。
【００５５】
また、コンピュータとしての利用者端末１ａは、時刻認証要求用プログラム(p1a)を実行することによって、図１に示すように、エントリ指定手段１７、サマリファイル作成手段１１、サマリファイル記憶手段１２、サマリファイルハッシュ値作成手段１４、及び、送受信手段１５を有するに至っている。
【００５６】
更に、サマリファイル作成手段１１は、ハッシュ値作成手段１１ａ、ハッシュ値結合手段１１ｂ、統合ハッシュ値作成手段１１ｃ、要約ファイル表現作成手段１１ｄ、及び要約ファイル表現合成手段１１ｅを有している。
【００５７】
また、利用者端末１ａにおける不図示のＨＤ(Hard Disk)には、関数管理手段１８、及び、ファイル管理手段１９が構築されている。
【００５８】
また、関数管理手段１８には、ファイルに係るエントリefに適用してハッシュ値h1ef(ef)を計算するためのファイル用ハッシュ関数h1ef(以下、「ハッシュ関数h1ef」という)、フォルダに係るエントリeFの統合ハッシュ値を計算するための統合用ハッシュ関数h2eF（以下、「ハッシュ関数 h2eF」という）、サブフォルダに係るエントリesの統合ハッシュ値を計算するための統合用ハッシュ関数h2es（以下、「ハッシュ関数 h2es」という）、及び、サマリファイルＳＦに適用してサマリファイルのハッシュ値h3eF(ＳＦ)を計算するためのサマリファイル用ハッシュ関数h3eF（以下、「ハッシュ関数h3eF」という）が記憶されて管理されている。尚、ファイル用ハッシュ関数h1ef、統合用ハッシュ関数h2eF及び、統合用ハッシュ関数 h2es は、エントリ用ハッシュ関数の一例である。
【００５９】
また、ハッシュ関数h1ef，h2eF，h2es，h3eFとして、MD5、SHA-1等がある。また、ハッシュ関数h1ef，h2eF，h2es，h3eF は、全て同じものであってもよく、別のものであってもよいし、これらのうちのいくつかが同じものであってもよい。これらのうちで、h3eF はサマリファイルを入力してそのハッシュ値を出力する関数であるが、サマリファイルが曖昧性なく構造を表現するマークアップ言語などで記述されている場合には、h3eF はサマリファイルをバイト列等のデジタル・データとして扱い、このようなデジタル・データに適用する上記MD5, SHA-1 等のハッシュ関数を適用するものであってもよいし、或いは、サマリファイルで表現された構造を抽出しその構造に基づく何らかの変換を行った後に、この変換結果をバイト列等のデジタル・データとして扱い、このようなデジタル・データに適用する上記MD5,SHA-1等のハッシュ関数を適用するものであってもよい。このような変換の例としては、サマリファイル内の一個以上の特定のフィールドを抽出する方式がある。尚ハッシュ値は、別名「ダイジェスト(digest)」ともいう。図６では、<digest>として表している。
【００６０】
更に、関数管理手段１８には、サマリファイルＳＦを構成する要約ファイル表現ＳＦＲのうちで、エントリeF，esに基づいた要約ファイル表現 SFR(eF），SFR(es）を作成するためのフォルダ用要約ファイル表現作成関数 FolderSfRepが記憶されて管理されている。
【００６１】
このフォルダ用要約ファイル表現作成関数 FolderSfRep は、まず、サマリファイルＳＦを構成する要約ファイル表現ＳＦＲのうちで、ファイルに係るエントリefに基づいた要約ファイル表現 SFR(ef）を作成するためのファイル用要約ファイル表現作成関数 FileSfRep を、各エントリefに適用する機能を有すると共に、これによって作成した複数の要約ファイル表現 SFR(ef）を合成して、結果的にサマリファイルＳＦを構成する要約ファイル表現ＳＦＲを完成させるための要約ファイル表現合成関数 ComposeSFR を適用する機能を有している。
【００６２】
また、サブフォルダが存在する場合には、サブフォルダに係るエントリesに基づいた要約ファイル表現 SFR(es)を作成のため、上記フォルダ用要約ファイル表現作成関数 FolderSfRep をサブフォルダ用に再帰的に適用する。この場合、最終的にエントリeFに基づいた要約ファイル表現 SFR(eF)を作成する際に、要約ファイル表現合成関数 ComposeSFRを適用する対象は、(1)フォルダ用要約ファイル表現合成関数 FolderSfRepによって作成した要約ファイル表現SFR(es)か、又は、(2)この要約ファイル表現 SFR(es）及びファイル用要約ファイル表現作成関数 FileSfRepによって作成した要約ファイル表現 SFR(ef)の組み合わせである。
【００６３】
次に、エントリ指定手段１７は、複数のファイル及び複数のフォルダに係るデジタル・データＧのうち、利用者（甲）によって入力されたエントリｅの識別子Id(e) 又はパス名epnに基づいて、時刻認証の証明対象となるエントリ（ｅ１，ｅ２，・・・，ｅｎ）を指定する機能を有する。この複数のファイル及び複数のフォルダは、利用者端末１ａのＨＤに記憶されている場合や、外部のＣＤ−Ｒ等の記録媒体に記録されている場合や、インターネット等の通信ネットワークを介して送られてくる場合等がある。
【００６４】
また、ハッシュ値作成手段１１ａは、関数管理手段１８からハッシュ関数h1efを読み出して、上記エントリ指定手段１７によって指定したファイルに係る各エントリefに対してハッシュ関数 h1ef を適用することで、これらエントリef毎にハッシュ値 h1ef(ef）を作成する機能を有する。また、サブフォルダに係るエントリesに格納されているエントリefについても、ハッシュ値作成手段１１ａによってハッシュ値 h1ef(ef）を作成する。
【００６５】
また、ハッシュ値結合手段１１ｂは、エントリの識別子 Id(ef), ハッシュ値作成手段１１ａで作成した各ハッシュ値 h1ef(ef）と、MD5等のハッシュ・アルゴリズム(algorithm)の名称等のそれぞれの付加情報α１，α２，、、、，αｎ（ｎは正数。以下、これらの総称を「α」と表す。）を連接して、予め定められた順序付けの規則に従って、以下のような系列に並べ替える機能を有する。
【００６６】
Id(ef1)‖h1ef1(ef1）‖α１、
Id(ef2)‖h1ef2(ef2）‖α２、
・・・
Id(efｎ)‖h1efn(efｎ)‖αｎ
尚、順序付けの規則としては、エントリefの識別子 Id(ef) に基づく辞書式順序に従って定めることが挙げられる。また、付加情報αは空でもよい。
【００６７】
更に、ハッシュ値結合手段１１ｂは、上記連接した系列を結合して、１つのデジタル・データを生成する機能も有する。
【００６８】
また、統合ハッシュ値作成手段１１ｃは、関数管理手段１８からハッシュ関数h2 eFを読み出して、上記ハッシュ値結合手段１１ｂによって結合した値に適用することで、上記複数のエントリefが格納されているフォルダに係るエントリeFの統合ハッシュ値を作成する機能を有する。この作成した統合ハッシュ値は、以下に示す通りである。
【００６９】
h2eF(Id(ef1)‖h1ef1(ef1)‖α１‖Id(ef2)‖h1ef2(ef2)‖α２‖
…‖Id(efn)‖h1efn(efｎ）‖αｎ）
尚、フォルダに係るエントリeFにサブフォルダに係るエントリesが格納されている場合には、上記フォルダの概念にサブフォルダを含めて再帰的に上記の手順を適用することで、サブフォルダに係るエントリesの統合ハッシュ値を作成し、その後に、フォルダに係るエントリeFの統合ハッシュ値を作成する。
【００７０】
次に、要約ファイル表現作成手段１１ｄは、関数管理手段１８からファイル用要約ファイル表現作成関数FileSfRepを読み出して上記エントリef毎に適用することで、少なくとも（１）上記入力された証明対象のフォルダ（エントリ）のパス名epnに基づく各ファイル（エントリ）の識別子及び（２）上記ハッシュ値作成手段１１ａによって作成したハッシュ値 h1ef(ef）を、所定の規則に従い曖昧性なく関連づけて記述する記述言語（ＸＭＬ(Extensible Markup Language)等のマークアップ言語等）により記述した要約ファイル表現 SFR(ef）を作成する機能を有する。また、この要約ファイル表現 SFR(ef）は、上記エントリef 毎に作成される。
【００７１】
ここで、上記ファイル用要約ファイル表現作成関数 FileSfRep は、図３に示すように、引数となるファイルの識別子と、HashRep(e)とによって構成された値を求めるために使用される。また、HashRep(e)は、図４に示すように、ハッシュデータ<hashdata>で表現されている。このハッシュデータには、ハッシュ・アルゴリズム名<algorithm>及びハッシュ値（ダイジェスト）<digest>で表現されている。尚、図４は、SHA-1やMD5等のハッシュアルゴリズムのように、各エントリｅ専用のハッシュキー(hashkey)を使わない場合を示している。
【００７２】
また、各エントリｅ専用のハッシュキーを使う場合については、図５に示している。この場合には、ハッシュデータに、更に、ハッシュ・キーの値<hashkey>の表現も含まれる。この場合のハッシュアルゴリズムは、HMAC-SHA-1やHMAC-MD5等である。
【００７３】
また、要約ファイル表現合成手段１１ｅは、関数管理手段１８から要約ファイル表現合成関数 ComposeSFR を読み出して、上記要約ファイル表現作成手段１１ｄによって作成した各ファイル用要約ファイル表現 SFR(ef） にまとめて適用することで、複数のファイル用要約ファイル表現 SFR(ef）を合成する。
【００７４】
更に、要約ファイル表現作成手段１１ｄは、上記合成した値に対して、少なくとも（１）上記利用者（甲）によって入力されたエントリｅのパス名epnに基づくフォルダの識別子及び（２）上記統合ハッシュ値作成手段１１ｃによって作成した統合ハッシュ値を所定の規則に従い曖昧性なく関連付けて記述する記述言語（ＸＭＬ等のマークアップ言語等）により表現したフォルダ用要約ファイル表現 SFR(eF）を作成する機能を有する。尚、エントリeFが木構造を有する場合には、この木構造を反映したフォルダ用要約ファイル表現 SFR(eF）としてもよく、上記エントリeFの木構造とは全く異なる新たな木構造のフォルダ用要約ファイル表現SFR(eF)としてもよい。
【００７５】
尚、フォルダに係るエントリeFに、サブフォルダに係るエントリesが格納されている場合には、上記要約ファイル表現作成手段１１ｄは、サマリファイルＳＦ内のフォルダ用要約ファイル表現 SFR(eF）の概念に、上記サブフォルダに係るエントリesに基づくサブフォルダ用要約ファイル表現 SFR(es）を含めて、再帰的手順でサブフォルダ用要約ファイル表現 SFR(es）及びフォルダ用要約ファイル表現SFR(eF）を作成する。この場合には、上記要約ファイル表現合成手段１１ｅは、上記ファイル用要約ファイル表現 SFR(ef）と同様に上記作成したサブフォルダ用要約ファイル表現 SFR(es）を扱い再帰的に要約ファイル表現合成関数 ComposeSFR を適用する。
【００７６】
これにより、要約ファイル表現作成手段１１ｄによって、サブフォルダ用要約ファイル表現SFR(es）を作成した場合には、要約ファイル表現合成手段１１ｅによって合成する対象は、ファイル用要約ファイル表現 SFR(ef）だけでなく、上記一旦作成したサブフォルダ用要約ファイル表現 SFR(es）も含まれることになる。
【００７７】
この場合、要約ファイル表現合成手段１１ｅによる合成は、予め定められた順序付けの規則に従って、以下のような系列に並べ替えられる。
【００７８】
SFR(ｅ１）、
SFR(ｅ２）、
・・・
SFR(ｅｎ)
尚、順序付けの規則の例としては、エントリｅの識別子に基づく辞書式順序に従って定めることが挙げられる。
【００７９】
また、要約ファイル表現合成手段１１ｅは、以下に示す方法によって、具体的に要約ファイル表現 SFR(ｅ)を結合することで、木構造を表現したサマリファイルＳＦを作成する。
【００８０】
まず、要約ファイル表現合成手段１１ｅは、上記利用者（甲）によって入力されたフォルダ（エントリｅ）のパス名epnと、上記要約ファイル表現作成手段１１ｄによって作成して並べ替えた各要約ファイル表現 SFR(ｅ）に対して要約ファイル表現合成関数 ComposeSFRを適用し、エントリｅに基づく要約ファイル表現 SFR(ｅ）を作成する。この要約ファイル表現合成関数 ComposeSFRは、予め定められた関数であり、例えばエントリｅに基づく要約ファイル表現 SFR(ｅ）を入力した場合に、ＸＭＬ形式で図２に示すように表現することができる関数である。但し、図２において、下線を引いた式（例えば、SFR(ｅ１））は、その式そのものではなく、つまり、文字列としての SFR(ｅ１）そのものではなく、その式が表す文字列を、その場所に代入するという事を示している。
【００８１】
図２では、上記入力されたフォルダのパス名epnに基づいたフォルダネーム<folder name>、上記図４又は図５で示した HashRep(e)、及び、上記要約ファイル表現 SFR(ｅ）によって表現されている。
【００８２】
以上のように、サマリファイル作成手段１１によって作成されたサマリファイルＳＦの一例であるサマリファイルＳＦ１を図６に示す。図６に示すように、サマリファイルＳＦ１は、ユーザネーム<username>等の管理上必要な情報としての附加要素と、フォルダに係るエントリeF1に基づいた要約ファイル表現SFR(eF1）によって構成されている。この要約ファイル表現SFR(eF1）は、元のデータがフォルダであるため、図２に示す表現手法を採用し、HashRep(eF1)、エントリes１に基づいた要約ファイル表現SFR(es1）、及び、エントリef2に基づいた要約ファイル表現SFR(ef2)によって構成されている。
【００８３】
更に、要約ファイル表現SFR(es１）は、エントリes1が（サブ）フォルダであるため、図２に示す表現手法を採用し、HashRep(es1)及びエントリef2に基づいた要約ファイル表現SFR(ef2）によって構成されている。また、要約ファイル表現SFR(ef3）は、エントリef3がファイルであるため、図３に示す表現手法を採用し、HashRep(ef3)によって構成されている。
【００８４】
一方、要約ファイル表現SFR(ef2）は、エントリ ef2がファイルであるため、図３に示す表現手法を採用し、HashRep(ef2)によって構成されている。
【００８５】
このように、サマリファイルＳＦは、以下に示す複数の特徴を有する。
【００８６】
〔１〕ＸＭＬ等の特定の記述言語により記述しているため、この記述から曖昧性なく各構成要素とそれらの関係を抽出することができる。
【００８７】
〔２〕エントリの名称とエントリのハッシュデータが関連付けられて、エントリｅのハッシュデータ<hashdata>が表示されている。
【００８８】
〔３〕ハッシュデータには、使用したハッシュアルゴリズム<algorithm>、計算したハッシュ値<digest>、場合によってはハッシュキー<hashkey>も示されている。
【００８９】
〔４〕木構造をテキストファイルとして表現しており、木構造を作成すること自体が、サマリファイルを作成することになる。
【００９０】
次に、図１に示すサマリファイル記憶手段１２は、サマリファイル作成手段１１によって作成したサマリファイルＳＦをファイル管理手段１９に記憶して管理する機能を有する。そして、係争相手（丙）と時刻認証証明書の正当性について争いが生じた場合に、ファイル管理手段１９に管理しておいたサマリファイルＳＦを読み出して、正当性の検証に役立てる。
【００９１】
また、サマリファイルハッシュ値作成手段１４は、関数管理手段１８からハッシュ関数h3eFを読み出して、ファイル管理手段１９に記憶すべき完成されたサマリファイルＳＦに適用することで、サマリファイルのハッシュ値h3eF(ＳＦ）を作成する。尚、説明の便宜上、以下、サマリファイルのハッシュ値h3eF(ＳＦ)を「Ｄ」で表現する。
【００９２】
また、送受信手段１５は、通信ネットワーク５を介して他の装置と情報（データ）の送受信を行うための機能を有する。
【００９３】
続いて、図１に示す時刻認証装置２について説明する。時刻認証装置２は、時刻認証用プログラム(p2)を実行することによって、図１に示すように、送受信手段２１、時刻取得手段２２、時刻認証手段２３、及び、デジタル署名作成手段２４を有するに至っている。
【００９４】
送受信手段２１は、通信ネットワーク５を介して他の装置と情報（データ）の送受信を行うための機能を有する。ここでは、通信ネットワーク５を介して利用者端末１ａから送られてきたハッシュ値Ｄを受信する。また、時刻取得手段２２は、送受信手段２１でハッシュ値Ｄを受信した時に合わせて、時刻インフラストラクチャ６から日本標準時ｔを取得する機能を有する。尚、日本標準時ｔを取得せずに、独自の時刻源を用いてもよい。
【００９５】
また、デジタル署名作成手段２３は、図９に示すように、送受信手段２１で受信したハッシュ値Ｄのデータに、時刻取得手段２２で取得した時刻ｔ、および所定の附加情報を結合して、署名対象デジタル・データTSTI(D, t)とし、この結合した全体に対してデジタル署名sig(SK,TSTI(D,t))を作成する機能を有する。このデジタル署名sig(SK,TSTI(D,t))は、ＴＳＡ（乙）の署名鍵（秘密鍵）SKによるデジタル・データTSTI(D,t)に対するデジタル署名を示したものである。
【００９６】
また、時刻認証手段２４は、上記結合したハッシュ値Ｄと時刻ｔ、及び所定の附加情報を結合して構成した 署名対象デジタル・データ TSTI(D, t)、及び、上記作成されたデジタル署名 sig(SK, TSTI(d, t)) を含む時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t))を作成する機能を有する。この時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t)）は、署名付きデジタル・データとしての時刻認証証明書を示したものである。
【００９７】
続いて、図１に示す検証装置４ａについて説明する。
【００９８】
検証装置４ａは、検証用プログラム(p4a)を実行することによって、図１に示すように、送受信手段４１、及び、検証手段４２を有するに至っている。更に、検証手段４２は、正当性検証手段４２ａ、ハッシュ値再計算手段４２ｂ１、ハッシュ値取得手段４２ｂ２、ハッシュ値比較手段４２ｂ３、サマリファイルハッシュ値再計算手段４２ｃ１、サマリファイルハッシュ値取得手段４２ｃ２、及び、サマリフィルハッシュ値比較手段４２ｃ３を有している。また、コンピュータとしての検証装置４ａにおける不図示のＨＤには、検証用管理手段４８、及び、関数管理手段４９が構築されている。この関数管理手段４９には、上記ハッシュ関数h1ef，h2eF，h3eF が既に管理されている。尚、署名鍵SKと対になる公開鍵PKは、何らかの手段でＴＴＰ（丁）に知られている。
【００９９】
検証装置４ａのうち、送受信手段４１は、通信ネットワーク５を介して他の装置と情報（データ）の送受信を行い、受信した情報を検証用管理手段４８に記憶して管理する機能を有する。例えば、利用者端末１ａから時刻証明検証要求時に送られてきた、単一若しくは複数のエントリｅ、このエントリｅに基づくサマリファイルＳＦ、及び、時刻認証証明書 TST(sig(SK,TSTI(D,t)),TSTI(D,t))を受信し、検証用記憶手段４９に記憶しておく。
【０１００】
また、検証手段４２は、以下に示す機能により、時刻認証証明書の正当性の検証を行う。
【０１０１】
正当性検証手段４２ａは、検証用管理手段４８に管理しておいた時刻認証証明書 TST(sig(SK,TSTI(D,t)),TSTI(D,t)）が改ざんされてなく正しいことを検証する機能を有する。例えば、検証用管理手段４８に管理しておいた時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t)）に含まれるデジタル署名sig(SK,TSTI(D,t))が、上記時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t)）に含まれる署名対象デジタル・データTSTI(D,t)に対するデジタル署名であることを検証する。
【０１０２】
ハッシュ値再計算手段４２ｂ１は、ＴＴＰ（丁）によって入力された検証対象のエントリｅのパス名epnに基づいて、検証用管理手段４８から検証対象のエントリｅを読み出すと共に、関数管理手段４９からハッシュ関数h1ef，h2esを読み出して上記エントリｅ毎に適用することで、各ハッシュ値を再計算する機能を有する。この再計算方法は、上記利用者端末１ａのハッシュ作成手段１１ａ又は統合ハッシュ値作成手段１１ｃで各ハッシュ値を作成した手順と同じ手順で行う。
【０１０３】
ハッシュ値取得手段４２ｂ２は、検証用管理手段４８に管理しておいたサマリファイルＳＦを構成する要約ファイル表現SFR(ｅ)中の対応する元のエントリのハッシュ値D1を取得する機能を有する。
【０１０４】
ハッシュ値比較手段４２ｂ３は、ハッシュ値再計算手段４２ｂ１によって再計算したエントリｅのハッシュ値D1'と、ハッシュ値取得手段４２ｂ２によって取得した元のエントリのハッシュ値D1とが同じ（D1'＝D1）であるか否かを比較する機能を有する。
【０１０５】
サマリファイルハッシュ値再計算手段４２ｃ１は、検証用管理手段４８に管理しておいたサマリファイルＳＦに対して関数管理手段４９で管理しているサマリファイル用ハッシュ関数h3eFを適用して、サマリファイルＳＦのハッシュ値h3eF(ＳＦ）を再計算する機能を有する。
【０１０６】
尚、以下、このサマリファイルハッシュ値再計算手段４２ｃ１によって再計算して求めたハッシュ値を「D'」で表す。この再計算方法は、上記利用者端末１ａのサマリファイルハッシュ値作成手段１４によって、サマリファイルＳＦのハッシュ値Ｄを作成した手順と同じ手順で行う。
【０１０７】
サマリファイルハッシュ値取得手段４２ｃ２は、前記検証用管理手段４８に管理しておいた時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t)）の中の署名対象デジタル・データTSTI(D, t)に含まれる元のサマリファイルのハッシュ値Ｄを取得する機能を有する。
【０１０８】
サマリファイルハッシュ値比較手段４２ｃ３は、サマリファイルハッシュ値再計算手段４２ｃ１で再計算したサマリファイルＳＦのハッシュ値D'と、正当性検証手段４２ａで取得した元のサマリファイルＳＦのハッシュ値Ｄとが同じである（D'＝D）か否かを比較する機能を有する。
【０１０９】
以上により、検証装置４ａとしては、D1'＝D1、及び、D'＝Dが成り立てば、少なくとも、ハッシュ値D1’に係るエントリが正当であり時刻印を押された時点以降において変更されていないと判断できるため、ハッシュ値 D1’に係るエントリはの検出結果として「正当（ＯＫ）」を出力し、D'＝Dが成り立たなければ、検出結果として「不当（ＮＧ）」を出力する。
【０１１０】
続いて、主に図８及び図９を用いて、本前提発明の動作について説明する。尚、ここでは、図６に示すサマリファイルＳＦ１を作成して、ＴＳＡ（乙）に時刻認証要求する場合について説明する。
【０１１１】
まず、利用者（甲）が、利用者端末１ａに証明対象のフォルダに係るエントリeF1のパス名epnを入力すると、エントリ指定手段１７では、パス名epnに基づいて、フォルダ管理手段１６からエントリeF1を読み出す。このエントリeF1は、図７に示すような木構造により構成されている。即ち、エントリeF1には、サブフォルダであるエントリes1とファイルであるエントリef2が含まれており、更に、エントリes1には、ファイルであるエントリef3が含まれている。このように、１つのエントリeF1に含まれるエントリes1とエントリef3の間に包含関係がある場合、そのエントリef3からエントリes1への有向枝があることにすれば、１つのエントリeF1に含まれるエントリes1とエントリef3の全体から木構造を構成することができる。
【０１１２】
そして、サマリファイル作成手段１１は、図８に示す手順で、サマリファイルＳＦ１を作成する。
【０１１３】
まず、図７に示す最上位階層であるエントリeF1に基づく要約ファイル表現SFR(eF1）を作成するため、要約ファイル表現作成手段１１ｄによって、関数管理手段１８からフォルダ用要約ファイル表現作成関数 FolderSfRepを読み出す（ステップＳ１）。
【０１１４】
しかし、エントリeF1には、その下の階層として、サブフォルダに係るエントリes1とファイルに係るエントリef2が格納されているため、エントリes1に基づいた要約ファイル表現SFR(es1）と、エントリef2に基づいた要約ファイル表現SFR(ef2）を作成する必要がある。そのため、更に、要約ファイル表現作成手段１１ｄによって、関数管理手段１８からフォルダ用要約ファイル表現作成関数FolderSfRepを読み出すと共に、要約ファイル表現合成手段１１ｅによって、関数管理手段１８からファイル用要約ファイル表現作成関数FileSfRep読み出す（ステップＳ２）。
【０１１５】
しかし、エントリes1には、その更に下の階層として、ファイルに係るエントリef3が格納されているため、エントリef3に基づいた構成要素SFR(ef3）を作成する必要がる。よって、更にまた、要約ファイル表現合成手段１１ｅによって、関数管理手段１９からファイル用要約ファイル表現作成関数FileSfRepを読み出す（ステップＳ３）。
【０１１６】
次に、要約ファイル表現SFR(ef3）を作成するため、まず、ハッシュ値作成手段１１ａによって、関数管理手段１８からハッシュ関数h1ef3を読み出して（ステップＳ４ａ）、エントリef3に適用することでハッシュ値h1ef3(ef3）を作成する（ステップＳ４ｂ）。更に、要約ファイル表現合成手段１１ｅによって、上記ハッシュ値h1 ef3 (ef3）を用いると共に、上記ステップＳ３で読み出したファイル用要約ファイル表現作成関数FileSfRepをエントリef3に適用して、要約ファイル表現SFR(ef3)を作成する（ステップＳ４ｃ）。
【０１１７】
これにより、図７に示すエントリes1に基づく要約ファイル表現SFR(es1）の構成要素が確定したため、次に、要約ファイル表現SFR(es1）を作成する。そのため、まず、ハッシュ値結合手段１１ｂによりハッシュ値h1ef3(ef3）と付加情報α３との結合を行うと共に、統合ハッシュ値作成手段１１ｃによって、関数管理手段１８からハッシュ関数h2es1を読み出して（ステップＳ５ａ）、結合した結果 h1ef3(ef3）‖α3 に適用することでh2es1による es1 の統合ハッシュ値を作成する（ステップＳ５ｂ）。更に、要約ファイル表現合成手段１１ｅによって、上記h2es1による es1 の統合ハッシュ値を用いると共に、上記ステップＳ２で読み出したフォルダ用要約ファイル表現作成関数FolderSfRepをエントリes1に適用して、要約ファイル表現SFR(es1)を作成する（ステップＳ５ｃ）。
【０１１８】
また、図７に示すエントリeF1に基づく要約ファイル表現SFR(eF1）の構成要素を確定させるために、更に、要約ファイル表現SFR(ef1）を作成する。そのために、まず、ハッシュ値作成手段１１ｄによって、関数管理手段１８からハッシュ関数h1ef2を読み出して（ステップＳ６ａ）、エントリef2に適用することでハッシュ値h1 ef2 (ef2）を作成する（ステップＳ６ｂ）。更に、要約ファイル表現合成手段１１ｄａによって、上記ハッシュ値h1ef2(ef2）を用いると共に、上記ステップＳ２で読み出したファイル用要約ファイル表現作成関数FileSfRepをエントリef2に適用して、要約ファイル表現SFR(ef2）を作成する（ステップＳ６ｃ）。
【０１１９】
これにより、図７に示すエントリeF1に基づく要約ファイル表現SFR(eF1）の構成要素が確定したため、ようやく要約ファイル表現SFR(eF1）を作成することができる。そこで、まず、ハッシュ値結合手段１１ｂによりh2es1によるes1の統合ハッシュ値と付加情報α1との結合を行うと共に、更に続けて、ハッシュ値h1ef2(ef2）と付加情報α２との結合を行う。そして、統合ハッシュ値作成手段１１ｃによって、関数管理手段１８から統合用ハッシュ関数h2eF1を読み出して（ステップＳ７ａ）、上記のように結合した結果, 即ち、h2es1によるes1の統合ハッシュ値、α1,  h1ef2(ef2）, 及びα2の連接に適用することでh2eF1による eF1の統合ハッシュ値を作成する（ステップＳ７ｂ）。更に、要約ファイル表現合成手段１１ｅによって、上記h2eF1による eF1の統合ハッシュ値を用いると共に、上記ステップＳ１で読み出したフォルダ用要約ファイル表現作成関数FolderSfRepをエントリeF1に適用して、要約ファイル表現SFR(eF1)を作成する（ステップＳ７ｃ）。
【０１２０】
そして最後に、サマリファイル作成手段１１によって、管理用等の附加要素を付加することで（ステップＳ８）、図７に示すようなサマリファイルＳＦ１が完成することになる。
【０１２１】
次に、サマリファイル記憶手段１２によって、上記作成したサマリファイルＳＦ１をファイル管理手段１９に記憶して管理しておく。また、サマリファイルハッシュ値作成手段１４によってハッシュ値Ｄを作成する。そして、送受信手段１５によって、図９に示すように、ＴＳＡ（乙）の時刻認証装置２へハッシュ値Ｄを送信することで、利用者（甲）がＴＳＡ（乙）に時刻認証要求を行う（ステップＳ１１）。
【０１２２】
次に、ＴＳＡ（乙）の時刻認証装置２では、時刻取得手段２２によって取得した時間ｔに基づいてデジタル署名作成手段２３でデジタル署名 sig2を作成し、時刻認証手段２４により、時刻認証証明書 TST2を作成する。そして、図９に示すように、ＴＳＡ（乙）は、時刻認証装置２から利用者（甲）の利用者端末１ａへ時刻認証証明書 TST2を送信することで、時刻証明応答を行う。（ステップＳ１２）。
【０１２３】
次に、利用者（甲）が、フォルダに係るエントリeF1の時刻証明を係争相手（丙）に証明する必要が出てきた場合には、図９に示すように、利用者（甲）は、利用者端末１ａから通信ネットワーク５を介してＴＴＰ（丁）の検証装置４ａに、証明対象であるエントリｅ、このエントリｅに基づくサマリファイルＳＦ、及び、時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t))を送信することで、時刻証明検証要求を行う（ステップＳ１３）。
【０１２４】
次に、検証装置４ａでは、送受信手段４１により受信したエントリｅ、サマリファイルＳＦ、及び、時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t))を検証用管理手段４８に記憶して管理し、この検証用管理手段４８及び関数管理手段４９と検証手段４２との協働によって、時刻認証証明書 TST(sig(SK, TSTI(D, t))，TSTI(D, t))の正当性の検証を行う。そして、この検証結果は、図９に示すように、時刻証明検証応答として、送受信手段４１により、通信ネットワーク５を介して利用者端末１ａや係争者端末３に送信される（ステップＳ１４）。
【０１２５】
以上説明したように本前提発明によれば、エントリｅの名称や当該エントリｅのハッシュ値のデータをＸＭＬ等のように、木構造を所定の規則に従って曖昧さなく表現するような特定の記述言語（必要ならその規則に従って人間がこの木構造を理解することができるような記述言語）により表現することで複数の要約ファイル表現ＳＦＲを作成し、更に、これら複数の要約ファイル表現ＳＦＲから成る木構造を構成することで、最終的にサマリファイルＳＦを作成している。このため、サマリファイルＳＦをファイル管理手段１９に記憶して管理しておけば、エントリeF1のうちの一部のエントリ（例えば、エントリef3）に変更が生じた場合でも、人間がサマリファイルＳＦの要約ファイル表現ＳＦＲを見て、又は、コンピュータによる自動解析により、変更された部分だけは無効で、それ以外の部分（例えば、エントリef2）は有効であると検証することができる。
【０１２６】
また、要約ファイル表現作成手段１１ｄによって、サマリファイルＳＦを、エントリｅの名称と当該エントリｅのハッシュ値 Dの対応付けをして表現しているため、ハッシュ値がどのエントリｅ（デジタル・データｇ）のものかを認識するために、１つ１つハッシュ値の再計算をしなければならないという手間を省略することができる。
【０１２７】
〔第２の前提発明〕
以下、図１０及び図１１を参照して、第２の前提発明に係るバルク型時刻認証方法について説明する。尚、本前提発明では、サブフォルダのないフラットな木構造によって構成されたフォルダに係るエントリef2を証明対象にした場合について説明している。よって、利用者端末１ａの構成要素は、上記第１の前提発明の構成要素と同じであるため、その説明を省略する。
【０１２８】
図１０に示すサマリファイルＳＦ２は、図１１に示すような木構造の構成になっている。図１１には、サブフォルダのないフラットな木構造によって構成されたエントリef2を示している。図１１に示すように、エントリef2には、サブフォルダを含まずに、ファイルに係るエントリef11，ef12が格納されている。
【０１２９】
また、サマリファイルＳＦ２の構成は、図１０に示すように、ユーザネーム<username>等の管理用等の附加要素と、エントリeF2に基づいた要約ファイル表現SFR(eF2）によって構成されている。この要約ファイル表現SFR(eF2）は、元のデータがフォルダであるため、図２に示す表現手法を採用し、HashRep(eF2)、エントリef11に基づいた要約ファイル表現SFR(ef11）、及び、エントリef12に基づいた要約ファイル表現SFR(ef12）によって構成されている。
【０１３０】
更に、要約ファイル表現SFR(ef11）は、エントリef11がファイルであるため、図３に示す表現手法を採用し、HashRep(ef11)によって構成されている。同様に、要約ファイル表現SFR(ef12）は、エントリef12がファイルであるため、図３に示す表現手法を採用し、HashRep(ef12)によって構成されている。
【０１３１】
以上説明したように本前提発明によれば、上記第１の前提発明と同様の効果を奏することができる。
【０１３２】
〔第３の前提発明〕
以下、図１２乃至図１５を参照して、第３の前提発明に係るバルク型時刻認証方法について説明する。
【０１３３】
図１２は、ＬＡＮ(Local Area Network)やインターネット等の通信ネットワークで接続された２つのパソコン（パーソナル・コンピュータ）P1，P2と、これらパソコンP1，P2にそれぞれ記憶されているエントリの一例を示した図である。パソコンP1にはフォルダAが記憶されており、その中にファイルa1, a2, a3, a4が格納されている。パソコンP2にはフォルダBが記憶されており、その中にファイルa5, b1, b2, b3, b4が格納されている。
【０１３４】
図１３は、図１２に示すファイルのうち，a1, a2, a3, a4, a5, b1, b2, b4がエントリ指定手段により指定され，更に，a1, a2, a3, a4, a5を一つのグループとしてエントリαとし，b1, b2, b4を一つのグループとしてエントリβとしている．エントリb3は指定されなかったエントリである．エントリαとエントリβからなるグループを新たなグループとして，エントリγとしてグループ定義手段により定義した例である．エントリに対する識別子を表す関数をideとし，ハッシュ関数に対する識別子を表す関数をidhとする．エントリa1, a2, a3, a4, a5に対して適用するハッシュ関数をhaとし，b1, b2, b4に対して適用するハッシュ関数をhb，エントリα，β，γに対するハッシュ関数をhとする．エントリ及びハッシュ関数に対する識別子は，エントリに対するハッシュ値と連接可能なデジタル・データとする．デジタル・データを‖を挟んで並べた表現は，それらのデジタル・データを連接したデジタル・データを表すものとする。
【０１３５】
この例に対して，要約ファイル表現の例を示す。この例では，エントリ毎の要約ファイル表現として、該エントリのハッシュ値、該ハッシュ値を作成するのに用いたハッシュ値作成手段の識別子、及び該エントリを特定する識別子の連接により得られたデジタル・データを用いる。このとき，エントリa1, a2, a3, a4, a5に対する要約ファイル表現は、それぞれ、
ha(a1)‖ide(a1)‖idh(ha)，
ha(a2)‖ide(a2)‖idh(ha)，
ha(a3)‖ide(a3)‖idh(ha)，
ha(a4)‖ide(a4)‖idh(ha)，
ha(a5)‖ide(a5)‖idh(ha)
となる．また，エントリb1, b2, b4に対する要約ファイル表現は，それぞれ，
hb(b1)‖ide(b1)‖idh(hb)，
hb(b2)‖ide(b2)‖idh(hb)，
hb(b4)‖ide(b4)‖idh(hb)
となる．エントリαとエントリβに対する要約ファイル表現は，それぞれ,
h(ha(a1)‖ide(a1) ‖idh(ha) ‖ha(a2) ‖ide(a2)‖idh(ha) ‖
ha(a3) ‖ide(a3)‖ idh(ha)‖ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)‖
ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha)
と
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4) )‖
ide(β)‖idh(h)‖
hb(b1)‖ide(b1)‖idh(hb)‖
hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4)‖idh(hb)
になり、エントリγに対する要約ファイル表現は図１４に示すようになる。
【０１３６】
〔第４の前提発明〕
以下、第４の前提発明に係るバルク型時刻認証方法について説明する。尚、本前提発明は、上記第３の前提発明の変形例であるため、相違部分のみを説明する。
【０１３７】
本前提発明では、第３の前提発明で作成されたエントリγに対する要約ファイル表現に所定の附加データを加えてサマリファイル SF3 が生成される。
【０１３８】
サマリファイルSF3のハッシュ値を、SF3 をバイト列等のデジタル・データとして扱い、そのようなデジタル・データに対して適用するMD5 や SHA-1 等のハッシュ関数を適用した結果としてもよい。サマリファイル SF3 のハッシュ値をこのように決定した場合には、このサマリファイルのハッシュ値に対する時刻認証証明書 TST3 を用いて、時刻証明の対象となった１つのデジタル・データ、例えば a1 に対する時刻認証証明の検証をおこなうには、サマリファイル自体 SF3 を用いる必要がある。
【０１３９】
別の方法として、SF3に含まれるエントリγの要約ファイル表現から、 エントリγのハッシュ値を表す部分
h(h(ha(a1)‖ide(a1)‖idh(ha)‖ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)‖
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4) )‖
ide(β)‖idh(h) )
を抽出し、サマリファイルSF3のハッシュ値としてもよい。サマリファイル SF3 のハッシュ値をこのように決定した場合には、このサマリファイルのハッシュ値に対する時刻認証証明書 TST3 を用いて、時刻証明の対象となった１つのデジタル・データ、例えば a1 に対する時刻認証証明の検証は、a1の内容であるデジタル・データ、及びエントリ a1 に対する個別化サマリファイルを用いて以下のように実行することが出来る。ここで、エントリ a1 に対する個別化サマリファイルは、検証対象である a1 に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
と、検証対象である a1の兄弟の関係にあるエントリに係わるデータ
ha(ai)‖ide(ai)‖idh(ha)  (i = 2, ..., 5)
と、親に当たるエントリαの識別子ide(α)とそのハッシュ関数の識別子 idh(h), 親の兄弟に当たるエントリβにかかわるデータ
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4))‖ide(β)‖idh(h))、
及び親の親に当たるエントリγの識別子 ide(γ）とそのハッシュ関数の識別子 idh(h) からなる。親の兄弟βの子供にあたるエントリb1, b2, b4 に係わるデータは含まれないため、上記のサマリファイル SF3 に比べてデータ量が小さくなる。
【０１４０】
一般に、時刻証明の対象となるファイルの総数がｎのときのサマリファイルのデータ量は n に比例するが、その中の一つのエントリに対する個別化サマリファイルは, それら複数のエントリのグルーピングを適切に行うことにより、 logm(n) のオーダのデータ量とすることができる(ここで m はグルーピングにおける各グループの要素の数である）。従って、個別化サマリファイルを用いる検証法は、n が大きい場合に、サマリファイルを用いる検証法と比較して、検証に必要なデータの量を著しく小さくすることが出来るという利点を持つ。
【０１４１】
a1 に対する個別化サマリファイルを用いて時刻認証証明の検証を行うため、まず、a1の内容であるデジタル・データに所定のハッシュ関数 ha を適用して、ハッシュ値 ha(a1)を計算し、この値がa1 に対する個別化サマリファイル の a1 に係わるデータに含まれるハッシュ値と一致するか否かを検証する。
【０１４２】
上記の第１の検証が失敗したときは、a1 に対する時刻認証証明の検証は失敗する。
【０１４３】
上記の第1の検証が成功したとき、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段により個別化サマリファイルからサマリファイル SF3 のハッシュ値を以下のように計算する。
【０１４４】
第1に、a1 に対する個別化サマリファイルからa1に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
を抽出する。
【０１４５】
第２に、前記当該のエントリa1に係わるデータ
ha(a1)‖ide(a1)‖idh(ha)
と、時刻証明の対象なるエントリの階層構造において当該のエントリ a1 と兄弟の関係にある1個以上のエントリ a2, a3, a4, a5 に係わるデータ
ha(a2)‖ide(a2)‖idh(ha),
ha(a3)‖ide(a3)‖idh(ha),
ha(a4)‖ide(a4)‖idh(ha),
ha(a5)‖ide(a5)‖idh(ha)
を連接し、該エントリa1 の親に当たるエントリ αに対するエントリ用ハッシュ関数 h を適用し、該エントリa1 の親に当たるエントリ αのハッシュ値
h(ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )
を計算する。
【０１４６】
第３に、当該エントリa1 の親に当たるエントリ αの識別子 ide(α)、前記のαに対するハッシュ値、及びαに対するエントリ用ハッシュ関数 h の識別子 idh(h) を連接し、当該エントリa1 の親に当たるエントリ αに係わるデータ
h(ha(a1)‖ide(a1)‖idh(ha)‖
ha(a2)‖ide(a2)‖idh(ha)‖
ha(a3)‖ide(a3)‖idh(ha)‖
ha(a4)‖ide(a4)‖idh(ha)‖
ha(a5)‖ide(a5)‖idh(ha) )‖
ide(α)‖idh(h)
を計算する。
【０１４７】
第４に、上記の当該エントリa1 の親に当たるエントリα係わるデータと、その兄弟にあたる βに係わるデータ
h(hb(b1)‖ide(b1)‖idh(hb)‖hb(b2)‖ide(b2)‖idh(hb)‖
hb(b4)‖ide(b4))‖ide(β)‖idh(h) )
を連接して、その結果に最上位階層のエントリγに対するハッシュ関数 h を適用し、サマリファイル SF3 のハッシュ値を計算する。
【０１４８】
上記は、階層構造が３段階の場合に、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段がサマリファイルのハッシュを計算する手順を示しているが、階層構造が３段階より深くなる場合にも、ある時刻証明の対象となるエントリの個別化サマリファイルとして、以下の(1)及至(3) からなるデータを個別化サマリファイルとして用いることにより、個別化サマリファイル利用型サマリファイル・ハッシュ値再計算手段は当該のエントリを含むサマリファイルのハッシュ値を再計算することができる。
【０１４９】
(1) 当該エントリの内容であるデジタル・データ。
【０１５０】
(2) 当該エントリとその祖先に当たるエントリ（親、親の親、親の親の親等に当たるエントリ）に対する識別子とそのエントリに割り付けられたハッシュ関数の識別子。
【０１５１】
(3) 当該のエントリあるいはその祖先にあたるエントリの兄弟の関係にあるエントリに係るデータ。
【０１５２】
尚、第４の前提発明は、関連する従来技術と比べて以下のような効果を有する。
【０１５３】
関連する他の従来技術として、構造を持ったデジタル文書とそのデジタル署名を一体化して記述するためのマークアップ言語であるSDML(Signed Document Markup Langauge）がある（SDML-Signed Document Markup Language Specifications Version 2.0（http://www.fstc.org/ に掲載））。この言語の本来の使用目的は、デジタル署名の対象となるメッセージの内容を該言語で構造化して文字列として表現し、該文字列とそれに対するデジタル署名を含むような構造化されたデジタル文書を作成することにある。SDMLは、メッセージの内容の代わりに時刻証明の対象となるデジタル・データ（電子ファイル等）の識別子（パス名）とそのハッシュ値の組を用い、かつSDMLで使われるデジタル署名として信頼される第三者機関によって発行される時刻印つきのデジタル署名を用いることにより、本発明と同じ時刻証明の目的のために用いることができると考えられる。この際、複数のデジタル・データをグループ化し時刻証明書を取得するには、当該の各デジタル・データの識別子とハッシュ値の組を SDML におけるデータ・ブロックとして扱い、これら複数のデータ・ブロックに対して、信頼される第三者機関によって発行される時刻印つきのデジタル署名を取得してシグニチャ・ブロックを生成し、これを時刻証明書とする。また１つのデジタル・データに対して時刻証明書の検証を行うには、上記のシグニチャ・ブロックの検証をSDML で定められた手順に従って行うと同時に、当該のデジタル・データの識別子とそのハッシュ値の組が対応するSDMLのデータ・ブロックの内容と一致することの検証を行う。しかし、たとえこのような拡張を行ってもSDML においてはブロックはネストを許さないため、多段の階層を持ったデジタル・データの集まりに対して、時刻証明を実現する方法は文献からは明らかでない。
【０１５４】
SDMLをベースに、多段に階層化された複数のデジタル・データに対して時刻証明を実現する方法としては、この多段に階層化された複数のデジタル・データの階層構造を無視し、複数のデジタル・データの単純な集まりとして扱い、前記の方法を適用することが考えられる。しかし、この方法を用いた場合、第三者がある１つのデジタル・データに対して時刻証明書の検証を行うためには、当該のデジタル・データと共に時刻証明書を検証者に提供する必要があるが、時刻証明書のデータ量は時刻証明の対象であるデジタル・データの数 N に比例して大きくなるという問題がある。
【０１５５】
一方、多段に階層化された第４の前提発明においては、検証者が１つのデジタル・データに対して時刻証明書の検証を行うために必要となる最小限の情報を元のサマリファイルから抽出して個別化サマリファイルを作成し、これを用いて時刻証明書の検証をすることが出来る。個別化サマリファイルのデータ量は、各階層における分岐の数をmとすると、m・logm Nに比例する。従って、個別化サマリファイルを利用する第４の前提発明の方式においては、N が大きいとき、第三者が１つのデジタル・データに対して時刻証明書の検証を行う際の通信量を著しく削減すると同時に、検証を行うために必要な情報のみを開示することによりプライバシに係わる可能性のある情報の開示を最小限に抑えるという利点がある。さらに、検証時に扱うデータ量が小さくなることにより、検証のための処理時間が短くなるという利点がある。
【０１５６】
以上の説明までが前提発明であり、以下、本発明に実施形態を説明する。
【０１５７】
〔第１の実施形態〕
以下、図１５及び図１６を参照して、本発明の第１の実施形態に係るバルク型時刻認証方法（前フィルタ方法）について説明する。尚、図１５は、本実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図である。図１６は、本実施形態における処理を説明したワークフロー図である。
【０１５８】
本実施形態では、図１に示す第１の前提発明に係る利用者端末１ａに対して、更に、前フィルタ手段１３を追加した利用者端末１ｂを利用する点が特徴であるため、主に前フィルタ手段１３について説明する。尚、利用者端末１ｂには、この利用者端末１ｂを図１５に示す各手段として機能させるための時刻認証要求用プログラム(p1b)が記憶されている。
【０１５９】
図１５に示す前フィルタ手段１３は、サマリファイル作成手段１１で作成したサマリファイルSFに対し、図１６（左側）に示すように、フィルタ関数Ｆを作用させて、サマリファイルSFのうちで利用者（甲）が指定する情報（ここでは、利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報であって、例えば、エントリe1の識別子）をフィルタ（隠蔽）することができる。ここで、サマリファイルSFがマークアップ言語ＸＭＬで記述さている場合には、フィルタ関数ＦをＸＭＬ文書の変換法を記述するための形式であるＸＳＬＴ(eXtwnsible Stylesheet Language Transformations)等によって簡便に定義することができる。尚、一般にフィルタ関数Ｆは、サマリファイルSFに含まれる一部の情報を隠蔽するが、ＳＦが本来含んでいたエントリeiのハッシュ値(i = 1, ..., n)は隠蔽しないような関数、即ち、フィルタ済みサマリファイルF(SF)がエントリeiを全て含む(i = 1, ..., n)ような関数に制限する。
【０１６０】
また、この場合のファイル管理手段１９は、前フィルタ手段１３によるフィルタ済みサマリファイルF(SF)を記憶する。更に、この場合のサマリファイルハッシュ値作成手段１４は、前フィルタ手段１３によるフィルタ済みサマリファイルF(SF)に対して、図１６（左側）に示すように、ハッシュ関数h3eFを作用させ、統合ハッシュ値h3eF(F(SF))を作成することができる。
【０１６１】
次に、時刻認証装置２は、第１の前提発明と同一構成及び同一機能を有するため、同一符号を付して、その説明を省略する。
【０１６２】
また、検証装置４ａは、図１に示す検証装置４ａと同一構成及び同一機能を有するが、検証対象として、サマリファイルSFの代わりに、フィルタ済みのサマリファイルF(SF)を用いている点が相違する。この場合、時刻認証のために指定されたエントリeiの時刻認証証明書に付された時刻における原本性を保証するためには、フィルタ済みサマリファイルF(SF)の中に、エントリeiのハッシュ値が含まることが必要である。上述したように、F(SF)は、SFが本来含んでいたeiのハッシュ値(i = 1, ..., n)を全て含むようにフィルタ関数Ｆを定めているため、エントリeiの時刻認証証明書に付された時刻における原本性を保証するすることができる。
【０１６３】
続いて、図１５及び図１６を参照して、第１の実施形態における処理を説明する。
【０１６４】
まず、サマリファイル作成手段１１で作成したサマリファイルSFは、前フィルタ手段１３によりフィルタ関数Ｆが作用されて、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報をフィルタすることで、フィルタ済みサマリファイルF(SF)を作成する。そして、サマリファイルハッシュ値作成手段１４により、上記フィルタ済みサマリファイルF(SF)に対してハッシュ関数h3eFを作用させ、フィルタ済みサマリファイルハッシュ値h3eF(F(SF))を作成する。尚、ここでも、説明の便宜上、h3eF(F(SF))を「Ｄ」で表現する。そして、送受信手段１５により、図１６に示す如く、ＴＳＡ（乙）の時刻認証装置２に、フィルタ済みサマリファイルハッシュ値Ｄを含む時刻認証要求TSR(D)を送信することで、ＴＳＡ（乙）に対して時刻認証要求を行う（ステップＳ２１）。
【０１６５】
これに対して、ＴＳＡ（乙）では、時刻認証装置２の送受信手段２１によって、フィルタ済みサマリファイルハッシュ値Ｄを含む時刻認証要求TSR(D)を受信する。そして、デジタル署名作成手段２３は、送受信手段２１で受信したフィルタ済みサマリファイルハッシュ値Ｄに、時刻取得手段２２で取得した時刻ｔ、及び所定の附加情報を結合し時刻認証証明書における署名対象デジタル・データTSTI(D,t)とし、この署名対象デジタル・データに対してデジタル署名sig(SK,TSTI(D,t))を作成する。
【０１６６】
次に、時刻認証手段２４は、上記署名対象デジタル・データTSTI(D,t)、及び、上記作成されたデジタル署名sig(SK,TSTI(d,t))を含む時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))を作成する。そして、送受信手段２１により、図１６に示す如く、利用者（甲）の利用者端末１ｂに、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を送信することで、利用者（甲）に対して時刻証明応答を行う（ステップＳ２２）。
【０１６７】
次に、利用者（甲）が係争相手（丙）に対して、エントリeiが時刻ｔに存在していた事を証明する事態が生じた場合には、利用者（甲）は、図１６に示すように、利用者端末１ｂからＴＴＰ（丁）の検証装置４ａへ、エントリei、エントリeiに対して指定されたハッシュ関数の識別子id(hi)、フィルタ済みサマリファイルF(SF)、及び、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を送信することによって、ＴＴＰ（丁）に時刻証明検証要求を行う（ステップＳ２３）。このように、元のデジタル・データに係るエントリeiも検証装置４ａに送信するのは、そのハッシュ値hi(ei)が、上記フィルタ済みサマリファイルF(SF)に含まれていることを検証することで、エントリeiの内容が時刻ｔに存在していたことを検証するために必要だからである。
【０１６８】
次に、ＴＴＰ（丁）の検証装置４ａでは、送受信手段４１により、上記エントリei、ハッシュ関数識別子id(hi)、フィルタ済みサマリファイルF(SF）、及び、時刻認証証明書TST4=TST(sig(SK,TSTI(D,t))，TSTI(D,t))を受信する。そして、以下の３つの検証ステップを実行する。
【０１６９】
第１に、時刻認証証明書TST4から署名対象デジタル・データTSTI(D,t)とデジタル署名sig(SK,TSTI(D,t))を抽出し、公開の検証鍵PKを用いて、デジタル署名sig(SK,TSTI(D,t))が、署名対象デジタル・データTSTI(D,t)に対してなされたものであることを検証する（４２ａ）。
【０１７０】
第２に、正しく動作することがＴＴＰ（丁）によって保証されたハッシュ関数h3を用いて再計算した（４２ｃ１）フィルタ済みサマリファイルのハッシュ関数h3によるハッシュ値Ｄ’と、TSTI(D,t)から取得した（４２ｃ２）ハッシュ値Ｄが一致しているか否かを比較する（４２ｃ３）。
【０１７１】
第３に、エントリeiのハッシュ関数識別子id(hi)で指定されたハッシュ関数により再計算した（４２ｂ１）ハッシュ値hi(ei)と、フィルタ済みサマリファイルF(SF)から取得した（４２ｂ２）元のハッシュ値が一致しているか否かを比較する（４２ｂ３）。
【０１７２】
そして、上記３つの検証ステップに合格したとき、時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))がエントリeiが時刻ｔに確かに存在していたことを証明するものであることの検証がなされ、利用者（甲）の利用者端末１に対して、正当である旨の時刻証明検証応答を行う（ステップＳ２４）。また、上記３つの検証ステップのどれかに不合格であるときには、不当である旨の時刻証明検証応答を行う（ステップＳ２４）。これにより、利用者（甲）は、利用者端末１ｂから通信ネットワーク５を介して、係争相手（丙）の係争者端末３に検証結果を送信することで、紛争解決に役立てることができる。
【０１７３】
尚、本実施形態における利用者（甲）が、自分自身でＴＴＰ（丁）の役割を行ってもよい。但し、この場合には、ハッシュ値hi(ei)及びh3(F(SF))の値については、利用者（甲）が計算したハッシュ値hi(ei)及びh3(F(SF))の値と、係争相手（丙）が計算したハッシュ値hi(gi)及びh3(F(SF))の値が同じであることを、利用者（甲）と係争相手（丙）との間で確認する必要がある。
【０１７４】
また、本実施形態では、利用者（甲）がＴＳＡ（乙）への時刻証明要求と、ＴＴＰ（丁）への時刻証明検証要求を行ったが、これに限るものではなく、時刻証明要求者（甲１）と時刻証明検証要求者（甲２）が別の者であってもよい。但し、この場合には、時刻証明要求者（甲１）が時刻証明検証要求者（甲２）に予め時刻認証の証明対象となったエントリｅと時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))、及びフィルタ済みサマリファイルF(SF)を渡しておく必要がある。また、時刻証明要求者（甲１）が時刻証明検証要求者（甲２）に時刻証明の対象となったエントリｅと時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))のみを予め渡しておき、上記フィルタ済みサマリファイルを渡していない場合には、時刻証明検証要求者（甲２）は時刻証明検証要求を行う際に、時刻証明要求者（甲１）に対し、上記フィルタ済みサマリファイル F(SF）を要求し、時刻証明要求者（甲１）がこれに応えて、時刻証明検証要求者（甲２）に上記フィルタ済サマリファイルF(SF)を渡す。
【０１７５】
また、フィルタ済みサマリファイルF(SF)を係争相手（丙）に見せる場合には、利用者（甲）が見せてもよく、ＴＴＰ（丁）が見せてもよい。
【０１７６】
次に図１７及至図２１を参照してサマリファイルのフィルタリングの例について説明する。
【０１７７】
まず、図１７では、SF1を元にフォルダ名を隠蔽した結果であるSF1aを示している。この隠蔽処理により、元のSF1を変化させた部分を下線で示している。図１８では、SF1を元にファイル名を隠蔽した結果であるSF1bを示している。図１７と同様に、この隠蔽処理によって元のSF1を変化させた部分を下線で示している。図１９では、SF1を元にフォルダ名とファイル名を両方とも隠蔽した結果であるSF1cを示している。図１７と同様に、この隠蔽処理により、元のSF1を変化させた部分を下線で示している。
【０１７８】
一方、図２０は、SF１を元に、最上位のフォルダやそれに含まれるサブフォルダからなるフォルダについての情報を全て隠蔽し、単純なファイルの並びを表すように変換した結果であるSF2dを示している。尚、この操作は、図１０に示した場合と同様にサマリファイルを平坦化したものである。図２１は、SF1を元に平坦化を行い(SF1d)、更にファイル名の隠蔽を行った結果であるSF1eを示している。この場合は、この隠蔽処理により、平坦化したSF1dを変化させた部分を下線で示している。
【０１７９】
以上説明したように本実施形態によれば、前フィルタ手段１３によって、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報をフィルタすることにより、特定のデジタル・データに係るエントリの時刻証明を係争相手（丙）に証明する必要が出てきた場合でも、特定のエントリの時刻証明に必ずしも必要がない情報まで係争相手（丙）に開示することなく、当該の時刻証明を実現できるという効果を奏する。
【０１８０】
〔第２の実施形態〕
以下、図２２乃至図２５を参照して、本発明の第２の実施形態に係るバルク型時刻認証方法（前フィルタ方法（２次サマリファイル））について説明する。尚、図２２は、本実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図である。図２３は、後述の２次サマリファイルとそのハッシュ値の構成図である。図２４及び図２５は、本実施形態における処理を説明したワークフロー図である。
【０１８１】
本実施形態では、図１５に示す第１の実施形態に係る利用者端末１ｂに対して、更に、２次サマリファイル作成手段１１’を追加した利用者端末１ｃを利用する点が特徴であるため、主に２次サマリファイル作成手段１１’について説明する。尚、利用者端末１ｃには、この利用者端末１ｃを図２２に示す各手段として機能させるための時刻認証要求用プログラム(p1c)が記憶されている。
【０１８２】
上述の如く、サマリファイルSFは、将来、利用者（甲）だけでなく、ある係争相手（丙１）に見せたり、別の係争相手（丙２）に見せたりするように、複数の者に見せることが予想される。この場合、例えば、係争相手（丙１）と係争相手（丙２）には、それそれ異なった部分をフィルタして見せたい場合がある。
【０１８３】
また、実施形態１において単一のサマリファイルを元に生成した複数のフィルタ済みサマリファイルの各々は異なる目的に対して使用することを意図して作成し、生成されるものである。例えば、SF1dは、あるフォルダの内部の階層構造を知られたくない相手に対してあるいはそのような状況において、そこに含まれる電子データに対する時刻証明（即ち、その電子データがある時刻には存在したこの証明）のために使うのに適しており、一方、SF1eは、あるフォルダの内部の階層構造のみではなくそこに含まれるファイルの名前も知られたくない知られたくない相手に対してあるいはそのような状況において、そこに含まれる電子データに対する時刻証明のために使うのに適している。このように、同一のサマリファイルを元にしても、時刻証明を行う相手や状況によりそれに適するフィルタ済サマリファイルの種類は異なる。
【０１８４】
従って、時刻証明を行う可能性のある種々の相手や状況に対応するためには、各々の相手や状況に適したフィルタ済サマリファイルを使用できることが望ましい。
【０１８５】
しかし、複数種類のサマリファイルSFを作成すると、折角、複数のエントリのハッシュ値を１つにまとめた意味がなくなる。そこで、本実施形態では、２次サマリファイル作成手段１１’によって、これら複数種類のサマリファイルSFのハッシュ値を１つにまとめた２次サマリファイルSSFを作成することが特徴である。この２次サマリファイル作成手段１１’は、サマリファイル作成手段１１によって作成した１つのサマリファイルを元にして種々のフィルタ法によって作成された複数種類のフィルタ済みサマリファイル（例えば、第１の実施形態の説明で記述したSF1a〜SF1e）の各ハッシュ値をまとめて１つの２次サマリファイルSSFを作成する機能を有する。
【０１８６】
また、２次サマリファイルハッシュ値作成手段１４’は、２次サマリファイル作成手段１１’で作成した２次サマリファイルSSFに、２次サマリファイル用ハッシュ関数h4eF（以下、「ハッシュ関数h4eF」という）を適用して２次サマリファイルSSFのハッシュ値h4ef(SSF)を作成する機能を有する。尚、ハッシュ関数h4eFは、予め、関数管理手段１８に記録して管理しておき、２次サマリファイルSSFに適用する際に、関数管理手段１８から読み出すことができる。
【０１８７】
以下、図２３を参照して、同一のサマリファイルを元にした種々のフィルタ済みサマリファイルを用いて時刻証明を行う方法について具体的に説明する。
【０１８８】
第１に、前フィルタ手段１３により、あるサマリファイル、例えばSF1を元に、種々のフィルタリング法により複数のフィルタ済みサマリファイルSF1,SF1a〜SF1eを作成する（ステップＳ３１）。
【０１８９】
第２に、２次サマリファイル作成手段１１’により、複数のフィルタ済みサマリファイルSF1,SF1a〜SF1eに対して指定されたハッシュ関数h30,h3a〜h3eを適用し、各々のハッシュ値h30(SF1),h1a(SF1a)〜h1e(SF1e)を生成する（ステップＳ３２）。
【０１９０】
第３に、２次サマリファイル作成手段１１’により、上記ステップＳ３２で生成されたフィルタ済みサマリファイルのハッシュ値h30(SF1),h1a(SF1a)〜h1e(SF1e)を用いて、２次サマリファイルSSF1を作成する（ステップＳ３３）。
【０１９１】
最後に、２次サマリファイルハッシュ値作成手段１４’により、利用者（甲）により指定されたハッシュ関数h4を用いて２次サマリファイルSSF1のハッシュ値h4(SSF1)を生成する（ステップＳ３４）。
【０１９２】
続いて、図２４及び図２５を参照して、第２の実施形態における処理を説明する。
【０１９３】
まず、サマリファイル作成手段１１で作成したサマリファイルSFは、前フィルタ手段１３によりフィルタ関数Ｆが作用されて、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報をフィルタすることで、フィルタ済みサマリファイルF(SF)を作成する。この場合、前フィルタ手段１３により、サマリファイルSFに対して種々のフィルタ関数 F1,・・・,Fmを作用させて、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報を種々の基準に従ってフィルタして、フィルタ済みサマリファイルF1(SF),・・・,Fm(SF)を作成する。そして、２次サマリファイル作成手段１１’により、F1(SF),・・・,Fm(SF)を含むような２次サマリファイルSSFを作成する。さらに、２次サマリファイルハッシュ値作成手段１４’により、上記２次サマリファイルに対してハッシュ関数h4を作用させ、２次サマリファイルハッシュ値h4(SSF)を作成し、これを「Ｄ」とおく。そして、送受信手段１５により、図２５に示す如く、ＴＳＡ（乙）の時刻認証装置２に、２次サマリファイルハッシュ値Ｄを含む時刻認証要求TSR(D)を送信することで、ＴＳＡ（乙）に対して時刻認証要求を行う（ステップＳ５１）。
【０１９４】
これに対して、ＴＳＡ（乙）では、時刻認証装置２の送受信手段２１によって、２次サマリファイルハッシュ値Ｄを含む時刻認証要求TSR(D)を受信する。次に、デジタル署名作成手段２３は、送受信手段２１で受信した２次サマリファイルハッシュ値Ｄに、時刻取得手段２２で取得した時刻ｔ、及び所定の附加情報を結合し時刻認証証明書における署名対象デジタル・データTSTI(D,t)とし、この署名対象デジタル・データに対してデジタル署名sig(SK，TSTI(D,t))を作成する。
【０１９５】
次に、時刻認証手段２４は、上記署名対象デジタル・データTSTI(D,t)、及び、上記作成されたデジタル署名sig(SK,TSTI(d,t))を含む時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))を作成する。そして、送受信手段２１により、図２５に示す如く、利用者（甲）の利用者端末１ｃに、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を送信することで、利用者（甲）に対して時刻証明応答を行う（ステップＳ５２）。
【０１９６】
次に、利用者（甲）が係争相手（丙）に対して、エントリeiが時刻ｔに存在していた事を証明する事態が生じた場合には、利用者（甲）は、図２５に示すように、利用者端末１ｃからＴＴＰ（丁）の検証装置４ａに対して、エントリei、ハッシュ関数識別子id(hi)、サマリファイルFj(SF)、ハッシュ関数識別子id(hj')、２次サマリファイルSSF、及び、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を送信することによって、ＴＴＰ（丁）に時刻証明検証要求を行う（ステップＳ５３）。このように、元のエントリeiも検証装置４ａに送信するのは、そのハッシュ値hi(ei)が、上記フィルタ済みサマリファイルFj(SF)に含まれていることを検証することで、エントリｅiの内容が時刻ｔに存在していたことを検証するために必要だからである。
【０１９７】
次に、ＴＴＰ（丁）の検証装置サーバ１０４では、送受信手段４１により、上記デジタル・データei、ハッシュ関数識別子 id(hi)、フィルタ済サマリファイルFj(SF)、ハッシュ関数識別子 id(hj') 及び、２次サマリファイルSSF、時刻認証証明書TST4 = TST(sig(SK,TSTI(D,t)),TSTI(D,t))を受信する。そして、以下の４つの検証ステップを実行する．
第１に、時刻認証証明書TST4から署名対象デジタル・データTSTI(D,t)とデジタル署名sig(SK,TSTI(D,t))を抽出し、公開の検証鍵PKを用いて、デジタル署名sig(SK,TSTI(D,t))が、署名対象デジタル・データTSTI(D,t)に対してなされたものであることを検証する（４２ａ）。
【０１９８】
第２に、正しく動作することがＴＴＰ（丁）によって保証されたハッシュ関数h4を用いて再計算した（４２ｃ１）２次サマリファイルのハッシュ関数h4によるハッシュ値Ｄ’と、TSTI(D,t)から取得した（４２ｃ２）２次サマリファイルのハッシュ値Ｄとが一致しているか否かを比較する（４２ｃ３）。
【０１９９】
第３に、フィルタ済みサマリファイルFj(SF)の指定されたハッシュ関数 hj’ により再計算した（４２ｃ１）ハッシュ値 hj'(Fj(SF)) と、２次サマリファイルSSFから取得した（４２ｃ２）元のハッシュ値とが一致しているか否かを比較する（４２ｃ３）。
【０２００】
第４に、エントリeiのハッシュ関数識別子 id(hi) で指定されたハッシュ関数により再計算した（４２ｂ１）ハッシュ値 hi(ei) と、フィルタ済みサマリファイルFj(SF)から取得した（４２ｂ２）元のハッシュ値が一致しているか否かを比較する（４２ｂ３）。
【０２０１】
そして、上記４つの検証ステップに合格したとき，時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))がエントリeiが時刻ｔに確かに存在していたことを証明するものであることの検証がなされ、利用者（甲）の利用者端末１ｃに対して、正当である旨の時刻証明検証応答を行う（ステップＳ５４）。また、上記４つの検証ステップのどれかに不合格であるときには、不当である旨の時刻証明検証応答を行う（ステップＳ５４）。これにより、利用者（甲）は、利用者端末１ｃから通信ネットワーク５を介して、係争相手（丙）の係争者端末３に検証結果を送信することで、紛争解決に役立てることができる。
【０２０２】
以上説明したように本実施形態によれば、複数種類のフィルタ済みサマリファイルを作成した場合であっても、１つにまとめて２次サマリファイルを作成することで、一括して時刻認証要求を行うことができるという効果を奏する。また、これにより、特定のエントリの時刻証明を特定の係争相手（丙）に証明する必要が出てきた場合でも、特定のエントリの時刻証明に必ずしも必要がない情報で、当該の係争相手（丙）に開示したくない情報を開示することなく当該の時刻証明を実現することができ、しかも、この際に開示する情報として係争相手に応じて適切なものを選択できるという効果を奏する。
【０２０３】
尚、本実施形態における利用者（甲）が、自分自身でＴＴＰ（丁）の役割を行ってもよい。但し、この場合には、ハッシュ値hi(ei)、hj'(Fj(SF))、及びh4(SSF)の値については、利用者（甲）が計算したハッシュ値hi(ei)、hj'(Fj(SF))、及びh4(SSF)の値と、係争相手（丙）が計算したハッシュ値hi(ei)、hj'(Fj(SF))、及びh4(SSF)の値が同じであることを、利用者（甲）と係争相手（丙）との間で確認する必要がある。
【０２０４】
また、本実施形態では、利用者（甲）がＴＳＡ（乙）への時刻証明要求と、ＴＴＰ（丁）への時刻証明検証要求を行ったが、これに限るものではなく、時刻証明要求者（甲１）と時刻証明検証要求者（甲２）が別の者であってもよい。但し、この場合には、時刻証明要求者（甲１）が時刻証明検証要求者（甲２）に予め時刻認証の証明対象となったエントリｅと時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))、及びフィルタ済サマリファイルFj(SF)、ハッシュ関数識別子 id(hj')、 及び２次サマリファイルSSFを渡しておく必要がある。また、時刻証明要求者（甲１）が時刻証明検証要求者（甲２）に時刻証明の対象となったエントリｅと時刻認証証明書TST(sig(SK,TSTI(D,t))，TSTI(D,t))のみを予め渡し、上記フィルタ済みサマリファイルF(SF)、ハッシュ関数識別子id(hj')、及び２次サマリファイルSSFを渡していない場合には、時刻証明検証要求者（甲２）は時刻証明検証要求を行う際、時刻証明要求者（甲１）に対し、上記２次サマリファイルSSF、フィルタ済サマリファイルFj(SF)、及びハッシュ関数識別子 id(hj')を要求し、時刻証明要求者（甲１）がこれに応えて、時刻証明検証要求者（甲２）に上記２次サマリファイルSSF、フィルタ済サマリファイルFj(SF) 及びハッシュ関数識別子 id(hj')を渡す。
【０２０５】
また、２次サマリファイルSSF、フィルタ済サマリファイル Fj(SF）を係争相手（丙）に見せる場合には、利用者（甲）が見せてもよく、ＴＴＰ（丁）が見せてもよい。
【０２０６】
〔第３の実施形態〕
以下、図２６及び図２７を参照して、本発明の第３の実施形態に係るバルク型時刻認証方法（後フィルタ方法）について説明する。尚、図２６は、本実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図である。図２７は、本実施形態における処理を説明したワークフロー図である。
【０２０７】
本実施形態では、図１に示す第１の前提発明に係る検証装置４ａに対して、更に、後フィルタ手段４２ｄを追加した検証装置４ｂを利用する点が特徴であるため、主に後フィルタ手段４２ｄについて説明する。尚、検証装置４ｂには、この検証装置４ｂを図２６に示す各手段として機能させるための時刻認証要求用プログラム(p4b)が記憶されている。
【０２０８】
後フィルタ手段４２ｄは、利用者端末１ａから時刻証明検証要求時に受信したサマリファイルSFに対し、XSLT(eXtensible Stylesheet Language Transformations)形式等により定義されたフィルタ関数Ｆを作用させて、サマリファイルSFのうちで利用者（甲）が指定する情報（ここでは、利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報であって、例えばエントリe1の識別子）をフィルタ（隠蔽）することができる。
【０２０９】
続いて、図２６及び図２７を参照して、第３の実施形態における処理を説明する。
【０２１０】
まず、利用者端末１ａにおいてサマリファイルハッシュ値Ｄ=H(SF)を作成し、図２７に示す如く、ＴＳＡ（乙）の時刻認証装置２にサマリファイルハッシュ値Ｄを含む時刻認証要求TSR(D)を送信することで、ＴＳＡ（乙）に対して時刻証明要求を行う（ステップＳ６１）。この場合、利用者端末１ａは、前フィルタ手段１３を有していないため、統合ハッシュ値H(SF)は、フィルタされていないサマリファイルSFのハッシュ値である。これにより、ＴＳＡ（乙）の時刻認証装置２は、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を作成し、図２７に示す如く、利用者（甲）の利用者端末１に、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))を送信することで、利用者（甲）に対して時刻証明応答を行う（ステップＳ６２）。この場合、フィルタされていないサマリファイルSFのハッシュ値h3(SF)を使用するため、Ｄ＝h3(SF)である。
【０２１１】
次に、利用者（甲）が係争相手（丙）に対して、エントリeiが時刻ｔに存在していた事を証明する事態が生じた場合には、利用者（甲）は、図２７に示すように、利用者端末１ａからＴＴＰ（丁）の検証装置４ｂに対して、エントリei、ハッシュ関数数の識別子id(hi)、フィルタされていないサマリファイルSF、及び、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D, t))を送信することによって、ＴＴＰ（丁）に時刻証明検証要求を行う（ステップＳ６３）。これにより、ＴＴＰ（丁）の検証装置４ｂでは、上記エントリei、ハッシュ関数数の識別子id(hi)、フィルタされていないサマリファイルSF、及び、時刻認証証明書TST(sig(SK,TSTI(D, t)),TSTI(D,t))を受信する。そして、以下の４つの検証ステップを実行する．
第１に、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))からデジタル署名sig(SK,TSTI(D,t))と署名対象データTSTI(D,t)を抽出し、公開の検証鍵PKを用いて、デジタル署名sig(SK,TSTI(D,t))が、署名対象デジタル・データTSTI(D,t)に対してなされたものであることを検証する（４２ａ）。
【０２１２】
第２に、正しく動作することがＴＴＰ（丁）によって保証されたハッシュ関数h3を用いて再計算した（４２ｃ１）サマリファイルのハッシュ関数h3によるハッシュ値と、TSTI(D,t)から取得した（４２ｃ２）ハッシュ値Ｄが一致することを検証する（４２ｃ３）。
【０２１３】
第３に、フィルタされていないサマリファイルSFにフィルタ関数Ｆを適用し、F(SF)を生成する（４２ｄ）。
【０２１４】
第４に、エントリeiのハッシュ関数識別子id(hi)で指定されたハッシュ関数により再計算した（４２ｂ１）ハッシュ値hi(ei)と、サマリファイルSFから取得した（４２ｂ２）元のハッシュ値とを比較する（４２ｂ３）。
【０２１５】
この検証は、ＴＴＰ（丁）が行うと同時に、係争相手（丙）に、F(SF),ei,hi(ei)を示し、該当事者による確認を可能とする。本実施形態においては、ＴＴＰ（丁）がサマリファイルSFから正しくフィルタ済みサマリファイルF(SF)を計算することについては、係争相手（丙）はＴＴＰ（丁）を信頼する必要がある。ハッシュ値hi(ei)については、係争相手（丙）は、自分で用意したハッシュ関数hiを実装するプログラムを用いて、eiからhi(ei)を計算し、ＴＴＰ（丁）が示した値が正しいことを検証するようにしてもよい。
【０２１６】
そして、上記４つの検証ステップの結果、時刻認証証明書TST(sig(SK,TSTI(D,t)),TSTI(D,t))が正当な場合には、利用者（甲）の利用者端末１ａに対して、正当である旨の時刻証明検証応答を行う（ステップＳ６４）。また、不当な場合には、不当である旨の時刻証明検証応答を行う（ステップＳ６４）。更に、後フィルタ手段４２ｄによって、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報をフィルタする。フィルタする情報は、利用者（甲）による利用者端末１ａからの通信ネットワークを介した通知や電話連絡等に基づいて特定する。このフィルタされたサマリファイルF(SF)は、今後の紛争解決時に、係争相手（丙）に送られる。
【０２１７】
以上説明したように本実施形態によれば、ＴＴＰ（丁）により、（後フィルタ手段４２ｄ付き）検証手段４２によって、サマリファイルSFのうちで利用者（甲）が係争相手（丙）を含めた第三者に公表したくない情報をフィルタすることにより、特定のエントリの時刻証明を係争相手（丙）に証明する必要が出てきた場合でも、特定のデジタル・データの時刻証明に必ずしも必要がない情報まで係争相手（丙）に開示することなく、当該の時刻証明を実現できるという効果を奏する。
【０２１８】
尚、本実施形態における利用者（甲）が、自分自身でＴＴＰ（丁）で行う４つの検証ステップを行ってもよい。但し、この場合、ハッシュ値hi(ｇi)の値については、利用者（甲）が計算したハッシュ値hi(ei)及びh3(SF)の値と、係争相手（丙）が計算したハッシュ値hi(ei)及びh3(FS)の値が同じであることを、利用者（甲）と係争相手（丙）との間で確認する必要がある。また、この場合であっても、サマリファイルSFのフィルタ処理は、ＴＴＰ（丁）側で行う。
【０２１９】
〔その他〕
尚、上記第１乃至第３の実施形態では、サマリファイル作成手段１１において、フォルダ管理手段１６で管理しておいた1個以上のエントリｅの全てを使用して、サマリファイルＳＦを作成しているが、これに限らず、1個以上のエントリｅの一部を使用してサマリファイルＳＦを作成してもよい。この場合、予め定められた指定方法により、サマリファイルＳＦに含めることを指定したエントリのみが時刻証明の対象となる。この指定方法としては、具体的なファイル名を指定する場合、ファイル名の拡張子を指定する場合、コンピュータとしての利用者端末１ａ，１ｂにおけるファイルシステムが提供するエントリの属性（例えば、読み取り専用属性、隠しファイル属性、アーカイブ属性）の値により指定する場合がある。
【０２２０】
また、上記プログラム(p1a),(p1b),(p1c),(p2),(p4a),（p4b）の各記録、インストール作業は、それぞれ利用者端末１ａ，１ｂ，１ｃ、時刻認証装置２、検証装置４ａ，４ｂで読み取り可能な各プログラム(p1a),(p1b),(p1c),(p2),(p4a),（p4b）が記録されているＣＤ−ＲＯＭ等の記録媒体を利用することによって行うことも可能である。
【図面の簡単な説明】
【０２２１】
【図１】本発明の第１の前提発明に係るバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ(Infrastructure)、及び各装置の構成を示した図。
【図２】サマリファイルＳＦの一部を表現した図。
【図３】サマリファイルＳＦの一部を表現した図。
【図４】サマリファイルＳＦの一部を表現した図。
【図５】サマリファイルＳＦの一部を表現した図。
【図６】サマリファイルＳＦ１全体を表現した図。
【図７】図６に示すサマリファイルＳＦ１に係るエントリの木構造を示した図。
【図８】図６に示すサマリファイルＳＦ１の作成行程を示したフロー図。
【図９】第１の前提発明におけるデータ通信処理を示したシーケンス図。
【図１０】第２の前提発明におけるサマリファイルＳＦ２全体を表現した図。
【図１１】図１０に示すサマリファイルＳＦ２に係るエントリの木構造を示した図。
【図１２】第３の前提発明を示し、ＬＡＮ(Local Area Network)やインターネット等の通信ネットワークで接続された２つのパソコン（パーソナル・コンピュータ）P1，P2と、これらパソコンP1，P2にそれぞれ記憶されているエントリの一例を示した図。
【図１３】図１２に示すエントリに基づいて、新たに作成されたサマリファイルの木構造を示した図。
【図１４】エントリγに対する要約ファイル表現を示した図。
【図１５】第１の実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図。
【図１６】第１の実施形態における処理を説明したワークフロー図。
【図１７】サマリファイルのフィルタリングの一例を示した図。
【図１８】サマリファイルのフィルタリングの一例を示した図。
【図１９】サマリファイルのフィルタリングの一例を示した図。
【図２０】サマリファイルのフィルタリングの一例を示した図。
【図２１】サマリファイルのフィルタリングの一例を示した図。
【図２２】第２の実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図。
【図２３】２次サマリファイルとそのハッシュ値の構成図。
【図２４】第２の実施形態における処理を説明したワークフロー図。
【図２５】第２の実施形態における処理を説明したワークフロー図。
【図２６】第３の実施形態における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図。
【図２７】第３の実施形態における処理を説明したワークフロー図。
【図２８】従来の時刻認証方法における登場主体の関係、及び、通信インフラストラクチャを示した図。
【図２９】従来のバルク型時刻認証方法における登場主体の関係、通信インフラストラクチャ、及び各装置の構成を示した図。
【図３０】従来のバルク型時刻認証方法におけるデータ通信処理を示したシーケンス図。
【符号の説明】
【０２２２】
１  利用者端末
２  時刻認証装置
３  係争者端末
４  検証装置
５  通信ネットワーク
６  時刻インフラ
１１  サマリファイル作成手段
１１ａ  ハッシュ値作成手段
１１ｂ  ハッシュ値結合手段
１１ｃ  統合ハッシュ値作成手段
１１ｄ  要約ファイル表現作成手段
１１ｅ  要約ファイル表現合成手段
１２  サマリファイル記憶手段
１３  前フィルタ手段
１４  サマリファイルハッシュ値作成手段
１５  送受信手段
１７  エントリ指定手段
１８  関数管理手段
１９  ファイル管理手段
２１  送受信手段
２２  時刻取得手段
２３  デジタル署名作成手段
２４  時刻認証手段
４１  送受信手段
４２  検証手段
４２ａ  正当性検証手段
４２ｂ１  ハッシュ値再計算手段
４２ｂ２  ハッシュ値取得手段
４２ｂ３  ハッシュ値比較手段
４２ｃ１  サマリファイルハッシュ値再計算手段
４２ｃ２  サマリファイルハッシュ値取得手段
４２ｃ３  サマリファイルハッシュ値比較手段
４２ｄ  後フィルタ手段
４８  検証用管理手段
４９  関数管理手段
h1  ファイル用ハッシュ関数（エントリ用ハッシュ関数の一例）
h2  統合用ハッシュ関数（エントリ用ハッシュ関数の一例）
h3  サマリファイル用ハッシュ関数
h4  ２次サマリファイル用ハッシュ関数
【図１】
2006067094.tif 000003
【図２】
2006067094.tif 000004
【図３】
2006067094.tif 000005
【図４】
2006067094.tif 000006
【図５】
2006067094.tif 000007
【図６】
2006067094.tif 000008
【図７】
2006067094.tif 000009
【図８】
2006067094.tif 000010
【図９】
2006067094.tif 000011
【図１０】
2006067094.tif 000012
【図１１】
2006067094.tif 000013
【図１２】
2006067094.tif 000014
【図１３】
2006067094.tif 000015
【図１４】
2006067094.tif 000016
【図１５】
2006067094.tif 000017
【図１６】
2006067094.tif 000018
【図１７】
2006067094.tif 000019
【図１８】
2006067094.tif 000020
【図１９】
2006067094.tif 000021
【図２０】
2006067094.tif 000022
【図２１】
2006067094.tif 000023
【図２２】
2006067094.tif 000024
【図２３】
2006067094.tif 000025
【図２４】
2006067094.tif 000026
【図２５】
2006067094.tif 000027
【図２６】
2006067094.tif 000028
【図２７】
2006067094.tif 000029
【図２８】
2006067094.tif 000030
【図２９】
2006067094.tif 000031
【図３０】
2006067094.tif 000032