(57)【要約】【課題】タイムスタンプが無効化された場合でもそのタイムスタンプの検証を支援する。【解決手段】タイムスタンプ管理装置１０は、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、タイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理部２４と、選択されたタイムスタンプ機関に依頼することでタイムスタンプを取得する取得処理部２５と、今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成し、タイムスタンプ及び取得元タイムスタンプ機関を対応付けして記憶する検証情報データベース３１と、無効化されたタイムスタンプを検証情報データベース３１に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理部２７と、を有する。【選択図】図３
2008084200.tif 000002
【特許請求の範囲】
【請求項１】
タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、
直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段と、
を有することを特徴とする情報処理システム。
【請求項２】
コンピュータを、
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
として機能させるプログラム。
【請求項３】
請求項２記載のプログラムにおいて、
前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択するプログラム。
【請求項４】
請求項３記載のプログラムにおいて、
複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択するプログラム。
【請求項５】
コンピュータを、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段、
として機能させるプログラム。
【請求項６】
請求項５記載のプログラムにおいて、
前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較するプログラム。
【請求項７】
請求項５記載のプログラムにおいて、
前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とするプログラム。
【請求項８】
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
を有することを特徴とする情報処理装置。
【請求項９】
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段と、
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【０００２】
コンピュータ上において電子ファイル等のデジタルデータが作成されると、その作成時刻がデジタルデータの属性情報として設定される。ただ、作成時刻は、本来、変更されるべきでない属性情報であると考えられるが、実際には通常のデータと同様に書き換えることが可能である。つまり、デジタルデータは、過去や未来の時刻を持つデータとして自由自在に作り出すことができてしまうため、デジタルデータが実際にいつ作成されたものであるのか、属性情報のみで保証できないのが現実である。
【０００３】
そこで、現在では、デジタルデータの時刻認証を行うために第三者機関によるタイムスタンプ機関が設けられている。すなわち、ユーザがデジタルデータのダイジェストを含むタイムスタンプ要求をタイムスタンプ機関へ送信すると、タイムスタンプ機関では、送られてきたダイジェストに時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェストを返信する。なお、この返信する情報は、一般に「タイムスタンプトークン」と呼ばれている。そして、ユーザは、デジタルデータの、ある時刻での存在を証明したいとき、当該デジタルデータのタイムスタンプが付加されたダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【０００４】
ただ、タイムスタンプが永久的に有効であるとは限らず、無効化されてしまう場合がある。このタイムスタンプの無効化には、予期できる場合とできない場合があるが、このうち予期できる場合というのは、有効期限切れである。タイムスタンプ機関がタイムスタンプ生成の際に用いる秘密鍵自体に有効期限があるため、タイムスタンプにも必然的に有効期限が存在する。一方、予期できない場合というのは、例えば、タイムスタンプ機関の秘密鍵の漏洩した場合、タイムスタンプ機関へ秘密鍵を発行した認証局が危殆化した場合、タイムスタンプ機関における署名アルゴリズムが危殆化した場合などである。
【０００５】
前者の場合、タイムスタンプの有効期限は事前に把握できるので、有効期限前にタイムスタンプを再度取得すれば容易に対応できる。これに対し、後者の場合、タイムスタンプ機関の秘密鍵の漏洩や認証局の危殆化などは、いつ発生するのか予測できない。従って、予期できないタイムスタンプの無効化に対しては容易に対応できるとは言い難い。このため、タイムスタンプ機関の秘密鍵の漏洩等が発生したことに伴いタイムスタンプが無効化されてしまい、当該デジタルデータの存在していた時刻を証明できなくなってしまう。このように、タイムスタンプが予期できずに無効化された場合、当該デジタルデータが存在していた時刻、換言すると、タイムスタンプが付与された時刻を正確に検証することができなくなってしまう。
【０００６】
ただ、時間の証明は、正確な時刻でなくてもある時間幅の中でタイムスタンプが付与されたことを検証できれば、要件を満たすような場合もありうる。従って、その時間幅が検証できれば都合良い。
【０００７】
なお、証明書の有効性の検証を行う技術として特許文献１が、複数のタイムスタンプ機関を利用する技術として特許文献２がある。
【０００８】
【特許文献１】特開２００５−２８６４４３号公報
【特許文献２】特開２００５−２８４９０１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
タイムスタンプが予期せず無効化された場合に対応するための手段が何も講じられていなかった。このため、タイムスタンプが無効化された場合、デジタルデータが存在していた時刻を検証することができなかった。
【００１０】
本発明は、以上のような課題を解決するためになされたものであり、タイムスタンプが無効化された場合でもそのタイムスタンプの検証を支援することを目的とする。
【課題を解決するための手段】
【００１１】
本発明に係る情報処理システムは、タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段とを有することを特徴とする。
【００１２】
本発明に係るプログラムは、コンピュータを、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段として機能させる。
【００１３】
また、前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択する。
【００１４】
また、複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択する。
【００１５】
本発明に係るプログラムは、コンピュータを、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を受け付ける受付手段、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段として機能させる。
【００１６】
また、前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較する。
【００１７】
また、前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とする。
【００１８】
本発明に係る情報処理装置は、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段とを有することを特徴とする。
【００１９】
本発明に係る情報処理装置は、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段とを有することを特徴とする。
【発明の効果】
【００２０】
請求項１に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【００２１】
請求項２に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【００２２】
請求項３に記載の発明によれば、検証対象の無効化されたタイムスタンプが存在していた時間の範囲が拡大されることから回避することができる。
【００２３】
請求項４に記載の発明によれば、タイムスタンプの生成を依頼するタイムスタンプ機関を複数のタイムスタンプ機関の中から選択する際に、選択されるタイムスタンプ機関の偏りを回避することができる。
【００２４】
請求項５に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの前後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【００２５】
請求項６に記載の発明によれば、タイムスタンプが無効化された後に記憶されている情報に基づき求めたリンク情報と、記憶されているリンク情報とを比較・照合することにより記憶されているリンク情報の正当性を確認することができる。
【００２６】
請求項７に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプの時刻を始期と終期として無効化されたタイムスタンプが存在していた時間の範囲を検証することができる。
【００２７】
請求項８に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【００２８】
請求項９に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【発明を実施するための最良の形態】
【００２９】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【００３０】
図１は、本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。図１には、タイムスタンプ管理装置１０と、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）３を介してタイムスタンプの付与並びに検証をタイムスタンプ管理装置１０へ要求するクライアント２と、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）６を介してタイムスタンプ管理装置１０から送られてくるタイムスタンプ要求に応じてタイムスタンプを付与する複数のタイムスタンプ機関４に設置されたサーバ５と、が示されている。クライアント２は、タイムスタンプの付与対象とされる文書ファイルを提供するユーザが使用するコンピュータ、例えばパーソナルコンピュータ（ＰＣ）により実現される。なお、図１では、便宜的に１台のみ図示した。サーバ５は、既存のタイムスタンプサーバをそのまま利用することができる。
【００３１】
ここで、タイムスタンプとは、ファイルの作成日時を記録したデータのことをいう。一般的なファイルシステムでは、デジタルデータファイルの属性情報としてファイルが作成された日時、ファイルが修正された日時などを記録できるようになっているが、本実施の形態で用いる「タイムスタンプ」というのは、ファイルの属性情報として取り扱うデータではなく、タイムスタンプ機関４により公的に証明された時刻を記録したデータのことを指す。
【００３２】
図２は、本実施の形態におけるタイムスタンプ管理装置１０のハードウェア構成図である。本実施の形態におけるタイムスタンプ管理装置１０は、サーバコンピュータにより実現され、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、タイムスタンプ管理装置１０は、図２に示したようにＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、ハードディスクドライブ（ＨＤＤ）１４を接続したＨＤＤコントローラ１５、入力手段として設けられたマウス１６とキーボード１７、及び表示装置として設けられたディスプレイ１８をそれぞれ接続する入出力コントローラ１９、通信手段として設けられたネットワークコントローラ２０を内部バス２１に接続して構成される。
【００３３】
なお、サーバ５及びクライアント２も、同じコンピュータであることから、性能的に差異はあるかもしれないが、ハードウェア構成は、図２と同じように図示できる。
【００３４】
図３は、本実施の形態におけるタイムスタンプ管理装置１０のブロック構成図である。タイムスタンプ管理装置１０は、要求処理部２２、ハッシュ値生成部２３、選択処理部２４、取得処理部２５、取得履歴管理部２６、検証処理部２７及び制御部２８を有している。要求処理部２２は、クライアント２から送られてくるタイムスタンプ付与要求や検証要求などクライアント２から送られてくる各種要求を受け付け、また、要求に応じた処理結果を返信する。ハッシュ値生成部２３は、タイムスタンプ付与要求の際、クライアント２から送られてくるタイムスタンプ付与対象の文書ファイルに基づきハッシュ値を算出する。選択処理部２４は、複数のタイムスタンプ機関４の中から文書ファイルに付与するタイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理を実施する。取得処理部２５は、算出されたハッシュ値を含むタイムスタンプ要求を、選択処理部２４により選択されたタイムスタンプ機関４へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する。取得履歴管理部２６は、取得処理部２５により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を算出するリンク情報生成処理を実施する。また、デジタルデータの特定情報と、当該デジタルデータに付与されたタイムスタンプと、当該タイムスタンプの取得元となるタイムスタンプ機関４の識別情報と、当該タイムスタンプを用いて算出したリンク情報とを対応付けして検証情報を生成し、これを検証情報データベース（ＤＢ）３１を用いて保持管理する。なお、検証情報は、タイムスタンプをタイムスタンプ機関４から取得する処理の際に生成されるので、検証情報のデータ構成については、処理の説明と合わせて説明する。検証処理部２７は、要求処理部２２がクライアント２から送られてくる検証要求を受け付けたことに応じて、指定された文書ファイルに対する検証処理を実施する。制御部２８は、タイムスタンプ管理装置１０に含まれる各構成要素２２〜２７と連携動作することによって装置全体の動作制御を行う。
【００３５】
タイムスタンプ管理装置１０における各構成要素２２〜２８は、タイムスタンプ管理装置１０を形成するコンピュータと、コンピュータに搭載されたＣＰＵ１１で動作するプログラムとの協調動作により実現される。また、検証情報データベース３１は、ＨＤＤ１４にて実現される。なお、検証情報データベース３１は、ネットワーク経由でアクセス可能であれば、必ずしもタイムスタンプ管理装置１０の内部に設けなくてもよい。
【００３６】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、ＣＤ−ＲＯＭ等の記録媒体に格納して提供することも可能である。
【００３７】
次に、本実施の形態の動作について説明する。本実施の形態は、文書ファイルに付与するタイムスタンプをタイムスタンプ機関４から取得する処理と、文書ファイルに付与されたタイムスタンプを検証する処理とに大別できる。まず、始めにタイムスタンプを取得する処理について図４に示したフローチャートを用いて説明する。
【００３８】
この処理は、要求処理部２２がクライアント２から送られてくるタイムスタンプ付与要求を受け付けることによって開始される（ステップ１１０）。タイムスタンプ付与要求には、付与対象とする文書ファイルが要求と共に送られてくるか、あるいは当該文書ファイルの格納先が指定されてくるので、ハッシュ値生成部２３は、受信した、若しくは指定された格納先から取得した文書ファイルからハッシュ値を生成する（ステップ１２０）。このハッシュ値を生成する方法は、従来からある技術を利用できる。すなわち、付与対象とする文書ファイルをＤｎ、ハッシュ関数をＨａｓｈとすると、ハッシュ値Ｈｎは、
Ｈｎ＝Ｈａｓｈ（Ｄｎ）
という計算式にて求めることができる。ここでハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法をいう。
【００３９】
ハッシュ値生成部２３によりハッシュ値が算出されたことを認識すると、制御部２８は、選択処理要求を選択処理部２４に送る。選択処理部２４は、送られてきた選択処理要求に応じて以下の選択処理を実施する（ステップ１３０）。本実施の形態において特徴的な処理の１つに、ここで説明する選択処理が含まれるが、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関４とは異なるタイムスタンプ機関４を選択することを選択条件として実施される。このような選択条件を設けている理由については、後述する検証処理の説明と合わせて説明することにし、ここでは、タイムスタンプ機関４の選択条件の基本的な考え方と処理手順について詳述する。
【００４０】
前述したように、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関４とは異なるタイムスタンプ機関４を選択することを選択条件として実施される。つまり、同じタイムスタンプ機関４が最低限連続して選択されないようにする。従って、例えばタイムスタンプ機関４が２機関しか存在しない場合には、交互に選択されることになる。これに対し、タイムスタンプ機関４が３機関以上存在する場合、直前に実施した選択処理において選択した以外のタイムスタンプ機関４は、２機関以上存在することになる。つまり、選択候補が２機関以上存在することになる。本実施の形態では、それらの選択候補の中からいずれを選択するかという選択基準を別途設けている。これが上記選択条件に加わることになるが、本実施の形態では、この選択基準として類似度という概念を採用している。
【００４１】
例えば、タイムスタンプ機関４が３機関（識別コードがそれぞれ“ＴＳＡ１”、“ＴＳＡ２”及び“ＴＳＡ３”）存在する場合において、直前に実施した選択処理でタイムスタンプ機関“ＴＳＡ１”が選択されたとする。そうすると、次に実施される選択処理では、タイムスタンプ機関“ＴＳＡ２”，“ＴＳＡ３”が選択候補となることは明らかである。この場合、本実施の形態では、直前に選択されたタイムスタンプ機関４と各選択候補のタイムスタンプ機関４との類似度を算出する。すなわち、この例の場合、“ＴＳＡ１”と“ＴＳＡ２”、“ＴＳＡ１”と“ＴＳＡ３”の各類似度を算出し、類似していない方、すなわち類似度の小さい方のタイムスタンプ機関４を選出する。本実施の形態は、類似度の小さい方を選択することを選択条件の原則とした。なお、タイムスタンプ機関４が２機関しか存在しない場合でも、この原則はそのまま適用できる。
【００４２】
ただ、前述した選択条件のみを選択条件として設定すると、いずれ２機関が交互に選択されることになりうる。この理由について以下に説明する。
【００４３】
例えば、直前に実施した選択処理でタイムスタンプ機関“ＴＳＡ１”が選択されたとする。ここで、（“ＴＳＡ１”と“ＴＳＡ２” の類似度）＞（“ＴＳＡ１”と“ＴＳＡ３”の類似度）としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “ＴＳＡ３”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“ＴＳＡ１”，“ＴＳＡ２”が選択候補となるが、仮に（“ＴＳＡ３”と“ＴＳＡ２” の類似度）＞（“ＴＳＡ３”と“ＴＳＡ１”の類似度）としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “ＴＳＡ１”が選択されることになる。タイムスタンプ機関 “ＴＳＡ１”が選択された後、続けて実施する選択処理では、最初の選択処理と同様にタイムスタンプ機関 “ＴＳＡ３”が選択されることになる。つまり、タイムスタンプ機関“ＴＳＡ１”と“ＴＳＡ３”が交互に選択されることになる。
【００４４】
一方、タイムスタンプ機関 “ＴＳＡ３”が選択された後、仮に（“ＴＳＡ３”と“ＴＳＡ１” の類似度）＞（“ＴＳＡ３”と“ＴＳＡ２”の類似度）としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “ＴＳＡ２”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“ＴＳＡ１”，“ＴＳＡ３”が選択候補となるが、上記各選択処理における選択結果を参照すれば明らかなように、（“ＴＳＡ２”と“ＴＳＡ１” の類似度）＞（“ＴＳＡ２”と“ＴＳＡ３”の類似度）という関係が成り立つことになる。そうすると、タイムスタンプ機関“ＴＳＡ２”と“ＴＳＡ３”が交互に選択されることになる。
【００４５】
以上のように、類似度という指標のみを選択条件として設定すると、いずれ２機関が交互に選択されることになる。上記例では、説明の便宜上、３機関で説明したが、４機関以上の場合においてもいずれ２機関が交互に選択されることになる。そこで、本実施の形態では、このような状況を回避するために類似度総和という指標を選択条件として更に設定して、類似していないタイムスタンプ機関４を選択しつつ、特定のタイムスタンプ機関４のみが選択されないようにした。
【００４６】
次に、本実施の形態における選択処理について説明する。
【００４７】
本実施の形態は、タイムスタンプ機関間の類似度を算出する指標として、証明書ＩＤ、署名アルゴリズム及び証明書発行の認証局への経路（パス）という３種類の属性情報を用いることにした。
【００４８】
ここで、類似度算出対象とするタイムスタンプ機関間の証明書ＩＤの類似度をｘ、署名アルゴリズムの類似度をｙ、証明書発行の認証局へのパスの類似度をｚとすると、当該タイムスタンプ機関間の類似度Ａは、
Ａ＝（ｋ＊ｘ＋ｌ＊ｙ＋ｍ＊ｚ）／（ｋ＋ｌ＋ｍ）  ・・・（１）
と表すことができる。但し、ｋ，ｌ，ｍは、ｘ，ｙ，ｚそれぞれの重み係数である。なお、証明書ＩＤは、証明書の発行者及びシリアル番号の組合せによって一意に決定される識別情報である。ここで、均等に重み付けをするために、ｋ＝ｌ＝ｍ＝１として上記式（１）に代入すると、
Ａ＝（ｘ＋ｙ＋ｚ）／３  ・・・（２）
となる。ここで、属性情報について個々に説明する。
【００４９】
まず、証明書ＩＤの類似度ｘは、算出対象となるタイムスタンプ機関４の各証明書のＩＤが一致している場合は１、そうでない場合は０とする。
【００５０】
署名アルゴリズムの類似度ｙは、算出対象となるタイムスタンプ機関４の各署名アルゴリズムが一致している場合は１、そうでない場合は０とする。
【００５１】
証明書発行の認証局へのパスの類似度ｚは、
ｚ＝ｇ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）／ｆ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）  ・・・（３）
で算出される。但し、ｇ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）は、タイムスタンプ機関“ＴＳＡ＿Ｐ”の認証局パスとタイムスタンプ機関“ＴＳＡ＿Ｑ” の認証局パスの中で一致する認証局の数、ｆ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）は、タイムスタンプ機関“ＴＳＡ＿Ｐ”の認証局パスとタイムスタンプ機関“ＴＳＡ＿Ｑ”の認証局パスそれぞれを構築する認証局数のうち最小値である。この類似度ｚについては、具体例をあげて説明する。
【００５２】
図５は、タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスを示した概念図である。図５において丸印で示された各認証局は、線分にて連結されることで階層関係が明示されている。このうち、認証局４１Ｐ，４１Ｑがそれぞれタイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”に対して証明書を発行した認証局であり、認証局４１Ｔ，４１Ｕは、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の最上位に位置する親認証局である。そして、点線４２Ｐ，４２Ｑで囲まれた認証局群によって各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスが形成される。この図５に示した認証局のパスに従うと、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスは、４階層中共通した認証局を含まない完全に独立したパスを有しているので、
ｇ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）＝０
となる。また、タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスは、共に４なので、最小値は４、すなわち、
ｆ（ＴＳＡ＿Ｐ，ＴＳＡ＿Ｑ）＝４
となる。従って、図５に示した例による類似度ｚは、上記式（３）から、
ｚ＝０／４＝０
となる。
【００５３】
図６は、タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスを示した概念図であり、図５と異なる例を示した。この例によると、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の最上位に位置する親認証局４１Ｖのみを共通としており、また、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスは、共に４である。従って、図６に示した例による類似度ｚは、上記式（３）から、
ｚ＝１／４＝０．２５
となる。
【００５４】
図７は、タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスを示した概念図であり、図５，６と更に異なる例を示した。この例によると、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の最上位に位置する親認証局４１Ｖのみを共通としている。また、各タイムスタンプ機関“ＴＳＡ＿Ｐ”，“ＴＳＡ＿Ｑ”の認証局パスは、それぞれ４，５なので、最小値は４となる。従って、図７に示した例による類似度ｚは、上記式（３）から、
ｚ＝１／４＝０．２５
となる。
【００５５】
以上のように、タイムスタンプ機関の属性情報それぞれに対する類似度ｘ，ｙ，ｚが得られると、各類似度ｘ，ｙ，ｚを上記式（１）に代入することによって類似度算出対象とするタイムスタンプ機関間の類似度Ａが算出できる。
【００５６】
なお、本実施の形態では、３種類の属性情報を用いて類似度を算出するようにしたが、算出に用いる属性情報は、これに限定する必要はなく、タイムスタンプ機関４の特性等を考慮して他の属性情報と入れ替えたり、あるいは加えたりしてよい。類似度の算出に用いるタイムスタンプの属性情報の候補は、証明書ＩＤ等と同様に証明書のプロパティに含まれる情報から選択するのが好適である。
【００５７】
ところで、本実施の形態では、タイムスタンプ機関を選択する際に、類似度を用いることを特徴としつつも、類似度のみでは特定のタイムスタンプ機関のみが交互に選択されてしまうという不具合が発生しうるため、本実施の形態では、更に類似度総和という指標を設けるということについては、前述したとおりである。ここで、この類似度総和に基づく選択処理について説明する。
【００５８】
類似度総和に基づく選択処理というのは、タイムスタンプ機関４の属性情報を参照にタイムスタンプ機関４を利用する順序を予め決めておき、タイムスタンプ機関４を選出する際にはその順序に従うというものである。
【００５９】
図８は、タイムスタンプ機関“ＴＳＡ＿ａ”，“ＴＳＡ＿ｂ” “ＴＳＡ＿ｃ”，“ＴＳＡ＿ｄ”の認証局パスを示した概念図である。また、図９は、各タイムスタンプ機関の属性情報の設定例を示した図である。図９には、当該タイムスタンプ機関に対して認証局より発行された証明書の識別情報（証明書ＩＤ）に対応させて各属性情報の設定値、すなわち証明書を発行した認証局のＩＤ、証明書のシリアル番号及び署名アルゴリズムの各設定値がテーブル形式で示されている。
【００６０】
例えば、選択候補とされた各タイムスタンプ機関４は、順番に選択されることになるので円順列を考えればよく、この場合、（ｎ−１）！通りの順列が考えられる。従って、図８に例示した４機関の場合は、（４−１）！＝６通りの順列が考えられる。本実施の形態では、この６通りの順列のうち類似度総和が最小値の順列を選出することにする。
【００６１】
例えば、ＴＳＡ＿ａ，ＴＳＡ＿ｂ，ＴＳＡ＿ｃ，ＴＳＡ＿ｄ、そしてＴＳＡ＿ａに戻る円順列を考えると、類似度総和は、
類似度総和＝類似度（ＴＳＡ＿ａ−ＴＳＡ＿ｂ）＋類似度（ＴＳＡ＿ｂ−ＴＳＡ＿ｃ）＋類似度（ＴＳＡ＿ｃ−ＴＳＡ＿ｄ）＋類似度（ＴＳＡ＿ｄ−ＴＳＡ＿ａ）
で表すことができる。この式から明らかなように、類似度総和は、各タイムスタンプ機関につき直後に位置するタイムスタンプ機関との類似度の差分の総和を得ることで算出される。ここで、図８に例示した認証局パスを用いて、類似度総和を具体的に求めてみる。タイムスタンプ機関が選択される順番は、以下の６通りが考えられる。
順列１．ＴＳＡ＿ａ，ＴＳＡ＿ｂ，ＴＳＡ＿ｃ，ＴＳＡ＿ｄ、ＴＳＡ＿ａ
順列２．ＴＳＡ＿ａ，ＴＳＡ＿ｂ，ＴＳＡ＿ｄ，ＴＳＡ＿ｃ、ＴＳＡ＿ａ
順列３．ＴＳＡ＿ａ，ＴＳＡ＿ｃ，ＴＳＡ＿ｂ，ＴＳＡ＿ｄ、ＴＳＡ＿ａ
順列４．ＴＳＡ＿ａ，ＴＳＡ＿ｃ，ＴＳＡ＿ｄ，ＴＳＡ＿ｂ、ＴＳＡ＿ａ
順列５．ＴＳＡ＿ａ，ＴＳＡ＿ｄ，ＴＳＡ＿ｂ，ＴＳＡ＿ｃ、ＴＳＡ＿ａ
順列６．ＴＳＡ＿ａ，ＴＳＡ＿ｄ，ＴＳＡ＿ｃ，ＴＳＡ＿ｂ、ＴＳＡ＿ａ
【００６２】
ここで、各タイムスタンプ機関間の類似度を求めておく。上記式（１）に従い、
類似度（ＴＳＡ＿ａ−ＴＳＡ＿ｂ）＝（０＋（１／４）＋１）／３＝５／１２
類似度（ＴＳＡ＿ａ−ＴＳＡ＿ｃ）＝（０＋（０／４）＋１）／３＝４／１２
類似度（ＴＳＡ＿ａ−ＴＳＡ＿ｄ）＝（０＋（０／４）＋１）／３＝４／１２
類似度（ＴＳＡ＿ｂ−ＴＳＡ＿ｃ）＝（０＋（０／４）＋１）／３＝４／１２
類似度（ＴＳＡ＿ｂ−ＴＳＡ＿ｄ）＝（０＋（０／４）＋１）／３＝４／１２
類似度（ＴＳＡ＿ｃ−ＴＳＡ＿ｄ）＝（０＋（２／４）＋１）／３＝６／１２
と、それぞれ算出できる。これらの類似度から、上記各順列１〜６の類似度総和を算出すると、
順列１の類似度総和＝５／１２＋４／１２＋６／１２＋４／１２＝１９／１２
順列２の類似度総和＝５／１２＋４／１２＋６／１２＋４／１２＝１９／１２
順列３の類似度総和＝４／１２＋４／１２＋４／１２＋４／１２＝１６／１２
順列４の類似度総和＝４／１２＋４／１２＋４／１２＋５／１２＝１７／１２
順列５の類似度総和＝４／１２＋４／１２＋４／１２＋４／１２＝１６／１２
順列６の類似度総和＝５／１２＋４／１２＋６／１２＋４／１２＝１９／１２
と、算出できる。この結果、類似度総和が最小となるのは、順列３及び順列５である。この順列３と順列５は、同じ効果が期待できるので、いずれを選択してもよい。ここでは、順列３を選択する。選択処理では、この順列３に従った順番にタイムスタンプ機関４を選択するようにすれば、順列１，２，４を採用した場合と比較して類似度が小さく、かつ特定のタイムスタンプ機関４が交互に選択されるという不具合が発生しなくなる。
【００６３】
ここで、図４に戻ると、以上説明したように類似度及び類似度総和に基づきタイムスタンプ機関４の選択順が予め決められているので、選択処理部２４は、制御部２８から選択処理要求が送られてきたとき、その予め決められた選択順に従って複数のタイムスタンプ機関４の中からタイムスタンプの生成依頼先とするタイムスタンプ機関４を選択する。
【００６４】
選択処理要求に応じて選択処理部２４が選択処理を実行し、その実行結果が返答されてくると、制御部２８は、ハッシュ値と実行結果、すなわちタイムスタンプの生成依頼先を取得処理部２５へ送る。取得処理部２５は、ハッシュ値等が制御部２８から送られてくると、ハッシュ値を含むタイムスタンプ要求を、選択処理部２４により選択されたタイムスタンプ機関４へ送信することでタイムスタンプの生成を要求する（ステップ１４０）。
【００６５】
選択されたタイムスタンプ機関４では、送られてきたハッシュ値（ダイジェスト）に時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェスト、すなわちタイムスタンプを返信する。このタイムスタンプ機関４における処理は、既存の技術を利用できる。
【００６６】
送信したタイムスタンプ要求に応じて当該タイムスタンプ機関４からタイムスタンプを取得すると（ステップ１５０）、取得履歴管理部２６は、リンク情報生成処理を実施することでリンク情報を生成し、そしてそのリンク情報を含む検証情報を生成して検証情報データベース３１に記録する。このリンク情報生成処理及び検証情報の生成、登録処理について、以下に詳述する。
【００６７】
図１０は、本実施の形態におけるリンク情報の生成方法を示した図である。タイムスタンプ付与対象の文書ファイルをＤｎ、文書ファイルＤｎから生成されたハッシュ値をＨｎ、取得処理部２５により取得されたタイムスタンプをＴｎ、直前に実施したリンク情報生成処理で算出したリンク情報をＬｎ−１とすると、リンク情報Ｌｎは、次に示す算出式にて表すことができる。
Ｌｎ＝Ｈａｓｈ（Ｌｎ−１，ｎ，Ｈａｓｈ（Ｈｎ，Ｔｎ））  ・・・（４）
【００６８】
従って、例えば、今回の処理において文書ファイルＤ２がタイムスタンプの付与対象となっているとすると、取得履歴管理部２６は、ステップ１２０において文書ファイルＤ２から生成されたハッシュ値Ｈ２と、取得処理部２５により取得されたタイムスタンプＴ２と、直前に実施したリンク情報生成処理で算出したリンク情報Ｌ１とを取得し、上記式（４）に各値を代入してリンク情報を求める（ステップ１６０）。
【００６９】
リンク情報が算出できると、取得履歴管理部２６は、続いて、付与対象の文書ファイルＤ２と、タイムスタンプＴ２と、リンク情報Ｌ２とタイムスタンプＴ２とを生成したタイムスタンプ機関４の識別情報とを対応付けして検証情報を生成し、その生成した検証情報を検証情報データベース３１に登録する（ステップ１７０）。なお、使用時に文書ファイルを取得できればよいので、文書ファイルを特定する情報としては、文書ファイルＤｎ、すなわちファイルの実体でなくても文書ファイルの格納先情報でもよい。本実施の形態における検証情報データベース３１に登録された検証情報のデータ構成例を図１１に示す。検証情報は、タイムスタンプが取得される度に順番に検証情報データベース３１に登録される。
【００７０】
検証情報が生成されると、制御部２８は、要求処理部２２に指示して、取得されたタイムスタンプを処理要求元のクライアント２へ返答させる（ステップ１８０）。
【００７１】
以上のようにして、タイムスタンプ管理装置１０は、文書ファイルに付与するタイムスタンプを取得することになるが、クライアントユーザは、文書ファイルの、ある時刻での存在を証明したいとき、タイムスタンプが付加された当該文書ファイルのダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【００７２】
ここで、タイムスタンプが無効化となる予期できない事象、例えばタイムスタンプ機関の秘密鍵の漏洩等が発生した場合、当該タイムスタンプ機関によりタイムスタンプが付与された文書ファイルは、タイムスタンプの信頼性消失によって存在時間の保証ができなくなってしまう。本実施の形態においては、このような場合に対処可能な検証処理を実施する。以下、本実施の形態における検証処理を図１２に示したフローチャートを用いて説明する。ここでは、図１１に示した登録例に基づくと、タイムスタンプ機関ＴＳＡ２の秘密鍵の漏洩等が発生したことが公知となり、文書ファイルＤ２に付与されたタイムスタンプＴ２が保証されなくなった場合を例にして説明する。
【００７３】
この処理は、要求処理部２２がクライアント２から送られてくる検証要求を受け付けることによって開始される（ステップ２１０）。検証要求には、検証対象とするタイムスタンプＴ２及びタイムスタンプＴ２が付与された文書ファイルＤ２が含まれている。検証処理部２７は、まず、検証情報データベース３１に登録されている検証情報の正当性を検証する。すなわち、検証処理部２７は、検証情報データベース３１から検証情報を順番に読み出し、直前に実施されたリンク情報生成処理で算出されたリンク情報Ｌｎ−１、ｎ、ハッシュ値Ｈｎ及びタイムスタンプＴｎを、上記式（４）に代入してリンク情報Ｌｎを算出する。これを繰り返すことで検証情報データベース３１に登録されている全てのリンク情報Ｌ１〜Ｌｎを算出する（ステップ２２０）。この処理は、取得履歴管理部２６がタイムスタンプを取得するたびに実行したリンク情報生成処理をまとめて実行することに等しい。なお、リンク情報Ｌ１を算出する際に必要な初期値Ｌ０は、取得履歴管理部２６がリンク情報Ｌ１を算出する際に用いたのと同じ初期値Ｌ０を用いる。そして、検証処理部２７は、検証情報データベース３１に登録されているリンク情報Ｌ１〜Ｌｎと、上記ステップ２２０にて算出したリンク情報Ｌ１〜Ｌｎとを比較する（ステップ２３０）。ここで、一致していなければ（ステップ２４０でＮ）、検証情報データベース３１に登録された検証情報が改竄されている可能性がある。この場合は、タイムスタンプＴ２の検証を行うことはできなくなり、検証処理部２７は、要求処理部２２に指示して、検証要求対象のタイムスタンプの検証失敗の旨を処理要求元のクライアント２へ返答させる（ステップ２９０）。
【００７４】
一方、各リンク情報を比較した結果、一致していれば（ステップ２４０でＹ）、検証情報データベース３１に登録された検証情報が改竄されておらず、よって検証情報の並び順の正当性が証明できたことになる。検証情報の並び順が正しいということは、タイムスタンプＴ１〜Ｔｎの並び順もその検証情報の登録順に生成されたことが証明できたことになる。
【００７５】
続いて、検証処理部２７は、クライアント２から送られてきた検証対象のタイムスタンプＴ２と、検証情報データベース３１に登録されているタイムスタンプＴ１〜Ｔｎとを比較・照合する（ステップ２５０）。この結果、クライアント２から送られてきたタイムスタンプＴ２が正しいタイムスタンプであれば、いずれかのタイムスタンプと一致するはずである。実際には、タイムスタンプＴ２と一致するはずである。このようにして、クライアント２から送られてきたタイムスタンプＴ２と一致するタイムスタンプを特定することができる（ステップ２６０）。なお、クライアント２から送られてくる検証要求には、文書ファイルＤ２が含まれているので、その文書ファイルＤ２を検証情報データベース３１に登録されている文書ファイルＤ２と照合することでタイムスタンプＴ２を特定するようにしてもよい。
【００７６】
以上のようにして、クライアント２から送られてきたタイムスタンプＴ２と一致するタイムスタンプが特定できるが、前述したようにタイムスタンプＴ１〜Ｔｎの並び順の正当性が証明されている。つまり、タイムスタンプＴ２というデータは、直前に生成されたタイムスタンプＴ１と直後に生成されたタイムスタンプＴ３との間に存在することが明らかになった。ここで、タイムスタンプＴ１を生成したタイムスタンプ機関ＴＳＡ１と、タイムスタンプＴ３を生成したタイムスタンプ機関ＴＳＡ３は、現時点において無効化されていないため有効であり、これにより、各タイムスタンプ機関ＴＳＡ１，ＴＳＡ３が生成したタイムスタンプＴ１，Ｔ３も有効であることが証明されている。
【００７７】
すなわち、タイムスタンプ機関ＴＳＡ２が無効化されたことによりタイムスタンプＴ２自体は、存在していた時間を直接的に証明することはできないが、タイムスタンプＴ１，Ｔ３の間で生成されたことが証明されたこと、かつタイムスタンプＴ１，Ｔ３が他のタイムスタンプ機関ＴＳＡ１，ＴＳＡ３によって証明されていることから、タイムスタンプＴ２は、少なくともタイムスタンプＴ１，Ｔ３によってそれぞれ証明されている時刻の間で生成されたことが証明できる。このようにして、検証処理部２７は、タイムスタンプＴ２が存在していた時間範囲を特定する（ステップ２７０）。
【００７８】
本実施の形態によれば、タイムスタンプ機関ＴＳＡ２が無効化されたことによりタイムスタンプＴ２が保証されなくなった場合でも他のタイムスタンプ機関ＴＳＡ１，ＴＳＡ３によって証明されたタイムスタンプＴ１，Ｔ３の間で生成されたことを証明することにより、タイムスタンプＴ２が直前直後のタイムスタンプＴ１，Ｔ３によって区切られた時間幅の中に存在していたことを証明することができる。
【００７９】
このようにして、タイムスタンプＴ２が存在していた時間の範囲が特定できると、検証処理部２７は、要求処理部２２に指示して、検証要求対象のタイムスタンプが存在していた時間の範囲を処理要求元のクライアント２へ返答させる（ステップ２８０）。
【００８０】
本実施の形態においては、前述したようにタイムスタンプ機関ＴＳＡ２が無効化されたことによりタイムスタンプＴ２が保証されなくなった場合でも直前直後のタイムスタンプ機関ＴＳＡ１，ＴＳＡ３が生成したタイムスタンプＴ１，Ｔ３の信頼性を有効利用して、保証されなくなったタイムスタンプＴ２の存在していた時間の幅を特定し、かつ存在を証明している。ここで、仮にタイムスタンプ機関ＴＳＡ３も無効化されたとすると、タイムスタンプＴ３の正当性も保証されなくなるので、今度はタイムスタンプＴ４の信頼性を有効利用することになる。つまり、タイムスタンプＴ２の存在していた時間の幅は、Ｔ１〜Ｔ３からＴ１〜Ｔ４と拡大されることになる。
【００８１】
ここで、例えば、タイムスタンプ機関ＴＳＡ２とタイムスタンプ機関ＴＳＡ３の署名アルゴリズムが同じであることからタイムスタンプ機関ＴＳＡ２，ＴＳＡ３が類似度の高い関係にあるとする。そして、上記例のようにタイムスタンプ機関ＴＳＡ２が無効化された場合、タイムスタンプ機関ＴＳＡ２との関係上、類似度の大きいタイムスタンプ機関ＴＳＡ３は、タイムスタンプ機関ＴＳＡ２と同様に無効化される可能性が類似度の小さいタイムスタンプ機関より高いということができる。すなわち、タイムスタンプ機関ＴＳＡ３が生成したタイムスタンプＴ３も保証されなくなる可能性があり、仮にタイムスタンプ機関ＴＳＡ３が無効化されると、タイムスタンプＴ２の存在していた時間の幅がＴ１〜Ｔ４と拡大される可能性が高くなってしまう。
【００８２】
ところで、本実施の形態における選択処理では、選択処理部２４が複数候補の中からタイムスタンプの生成依頼先とするタイムスタンプ機関４を選択するが、このとき、類似度という指標を考慮して選択することは、前述したとおりである。仮に、タイムスタンプ機関の類似度を考慮せずにタイムスタンプ機関４を選択することで類似度の大きいタイムスタンプ機関４が続いて選択されると、前述したようにタイムスタンプの存在していた時間の幅が拡大される可能性が高くなってしまう。そこで、本実施の形態では、選択処理において類似度及び類似度総和という指標を考慮し、直前に選択したタイムスタンプ機関４と異なるだけでなく、類似度の小さいタイムスタンプ機関４を選択できることにした。直前に選択したタイムスタンプ機関４と類似度の小さいタイムスタンプ機関４を選択することを繰り返すということは、直前直後共に類似度の小さいタイムスタンプ機関４が選択されることになる。
【００８３】
なお、本実施の形態では、選択処理においてタイムスタンプの生成を依頼するタイムスタンプ機関を選択する際に円順列を考え、そして類似度総和が最小となる円順列に基づきタイムスタンプ機関の選択順序を予め決めるようにした。ただ、この選択順序は、全てのタイムスタンプ機関が有効な状態である場合に決めたので、いずれかのタイムスタンプ機関が無効化された場合には、そのときに無効化されたタイムスタンプ機関を除いて類似度総和を再計算し、タイムスタンプ機関の選択順序を改めて決め直すようにしてもよい。
【００８４】
なお、図２に示すハードウエア構成は、１つの構成例を示すものであり、本実施の形態は、図２に示す構成に限らず、本実施の形態において説明したように機能する構成であればよい。例えば、パーソナルコンピュータの他、携帯電話、携帯情報端末、複写機、ファックス、スキャナ、プリンタ、多機能複写機（スキャナ、プリンタ、複写機、ファックス等の機能を有している機器）などにプログラムが組み込まれていてもよい。
【図面の簡単な説明】
【００８５】
【図１】本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。
【図２】本実施の形態におけるタイムスタンプ管理装置のハードウェア構成図である。
【図３】本実施の形態におけるタイムスタンプ管理装置のブロック構成図である。
【図４】本実施の形態におけるタイムスタンプ取得処理を示したフローチャートである。
【図５】タイムスタンプ機関の認証局パスの例を示した概念図である。
【図６】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図７】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図８】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図９】本実施の形態においてタイムスタンプ機関に対して認証局より発行された証明書の属性情報を示した図である、
【図１０】本実施の形態におけるリンク情報の生成方法を示した図である。
【図１１】本実施の形態における検証情報データベースに登録された検証情報のデータ構成例を示した図である。
【図１２】本実施の形態における検証処理を示したフローチャートである。
【符号の説明】
【００８６】
２  クライアント、４  タイムスタンプ機関、５  サーバ、１０  タイムスタンプ管理装置、１１  ＣＰＵ、１２  ＲＯＭ、１３  ＲＡＭ、１４  ハードディスクドライブ（ＨＤＤ）、１５  ＨＤＤコントローラ、１６  マウス、１７  キーボード、１８  ディスプレイ、１９  入出力コントローラ、２０  ネットワークコントローラ、２１  内部バス、２２  要求処理部、２３  ハッシュ値生成部、２４  選択処理部、２５  取得処理部、２６  取得履歴管理部、２７  検証処理部、２８  制御部、３１  検証情報データベース。
【図１】
2008084200.tif 000003
【図２】
2008084200.tif 000004
【図３】
2008084200.tif 000005
【図４】
2008084200.tif 000006
【図５】
2008084200.tif 000007
【図６】
2008084200.tif 000008
【図７】
2008084200.tif 000009
【図８】
2008084200.tif 000010
【図９】
2008084200.tif 000011
【図１０】
2008084200.tif 000012
【図１１】
2008084200.tif 000013
【図１２】
2008084200.tif 000014