情報処理システム、情報処理装置及びプログラム
【課題】タイムスタンプが無効化された場合でもそのタイムスタンプの検証を支援する。
【解決手段】タイムスタンプ管理装置10は、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、タイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理部24と、選択されたタイムスタンプ機関に依頼することでタイムスタンプを取得する取得処理部25と、今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成し、タイムスタンプ及び取得元タイムスタンプ機関を対応付けして記憶する検証情報データベース31と、無効化されたタイムスタンプを検証情報データベース31に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理部27と、を有する。
【解決手段】タイムスタンプ管理装置10は、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、タイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理部24と、選択されたタイムスタンプ機関に依頼することでタイムスタンプを取得する取得処理部25と、今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成し、タイムスタンプ及び取得元タイムスタンプ機関を対応付けして記憶する検証情報データベース31と、無効化されたタイムスタンプを検証情報データベース31に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理部27と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
コンピュータ上において電子ファイル等のデジタルデータが作成されると、その作成時刻がデジタルデータの属性情報として設定される。ただ、作成時刻は、本来、変更されるべきでない属性情報であると考えられるが、実際には通常のデータと同様に書き換えることが可能である。つまり、デジタルデータは、過去や未来の時刻を持つデータとして自由自在に作り出すことができてしまうため、デジタルデータが実際にいつ作成されたものであるのか、属性情報のみで保証できないのが現実である。
【0003】
そこで、現在では、デジタルデータの時刻認証を行うために第三者機関によるタイムスタンプ機関が設けられている。すなわち、ユーザがデジタルデータのダイジェストを含むタイムスタンプ要求をタイムスタンプ機関へ送信すると、タイムスタンプ機関では、送られてきたダイジェストに時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェストを返信する。なお、この返信する情報は、一般に「タイムスタンプトークン」と呼ばれている。そして、ユーザは、デジタルデータの、ある時刻での存在を証明したいとき、当該デジタルデータのタイムスタンプが付加されたダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【0004】
ただ、タイムスタンプが永久的に有効であるとは限らず、無効化されてしまう場合がある。このタイムスタンプの無効化には、予期できる場合とできない場合があるが、このうち予期できる場合というのは、有効期限切れである。タイムスタンプ機関がタイムスタンプ生成の際に用いる秘密鍵自体に有効期限があるため、タイムスタンプにも必然的に有効期限が存在する。一方、予期できない場合というのは、例えば、タイムスタンプ機関の秘密鍵の漏洩した場合、タイムスタンプ機関へ秘密鍵を発行した認証局が危殆化した場合、タイムスタンプ機関における署名アルゴリズムが危殆化した場合などである。
【0005】
前者の場合、タイムスタンプの有効期限は事前に把握できるので、有効期限前にタイムスタンプを再度取得すれば容易に対応できる。これに対し、後者の場合、タイムスタンプ機関の秘密鍵の漏洩や認証局の危殆化などは、いつ発生するのか予測できない。従って、予期できないタイムスタンプの無効化に対しては容易に対応できるとは言い難い。このため、タイムスタンプ機関の秘密鍵の漏洩等が発生したことに伴いタイムスタンプが無効化されてしまい、当該デジタルデータの存在していた時刻を証明できなくなってしまう。このように、タイムスタンプが予期できずに無効化された場合、当該デジタルデータが存在していた時刻、換言すると、タイムスタンプが付与された時刻を正確に検証することができなくなってしまう。
【0006】
ただ、時間の証明は、正確な時刻でなくてもある時間幅の中でタイムスタンプが付与されたことを検証できれば、要件を満たすような場合もありうる。従って、その時間幅が検証できれば都合良い。
【0007】
なお、証明書の有効性の検証を行う技術として特許文献1が、複数のタイムスタンプ機関を利用する技術として特許文献2がある。
【0008】
【特許文献1】特開2005−286443号公報
【特許文献2】特開2005−284901号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
タイムスタンプが予期せず無効化された場合に対応するための手段が何も講じられていなかった。このため、タイムスタンプが無効化された場合、デジタルデータが存在していた時刻を検証することができなかった。
【0010】
本発明は、以上のような課題を解決するためになされたものであり、タイムスタンプが無効化された場合でもそのタイムスタンプの検証を支援することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る情報処理システムは、タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段とを有することを特徴とする。
【0012】
本発明に係るプログラムは、コンピュータを、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段として機能させる。
【0013】
また、前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択する。
【0014】
また、複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択する。
【0015】
本発明に係るプログラムは、コンピュータを、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を受け付ける受付手段、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段として機能させる。
【0016】
また、前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較する。
【0017】
また、前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とする。
【0018】
本発明に係る情報処理装置は、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段とを有することを特徴とする。
【0019】
本発明に係る情報処理装置は、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段とを有することを特徴とする。
【発明の効果】
【0020】
請求項1に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【0021】
請求項2に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【0022】
請求項3に記載の発明によれば、検証対象の無効化されたタイムスタンプが存在していた時間の範囲が拡大されることから回避することができる。
【0023】
請求項4に記載の発明によれば、タイムスタンプの生成を依頼するタイムスタンプ機関を複数のタイムスタンプ機関の中から選択する際に、選択されるタイムスタンプ機関の偏りを回避することができる。
【0024】
請求項5に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの前後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【0025】
請求項6に記載の発明によれば、タイムスタンプが無効化された後に記憶されている情報に基づき求めたリンク情報と、記憶されているリンク情報とを比較・照合することにより記憶されているリンク情報の正当性を確認することができる。
【0026】
請求項7に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプの時刻を始期と終期として無効化されたタイムスタンプが存在していた時間の範囲を検証することができる。
【0027】
請求項8に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【0028】
請求項9に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【発明を実施するための最良の形態】
【0029】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0030】
図1は、本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。図1には、タイムスタンプ管理装置10と、LAN(Local Area Network)3を介してタイムスタンプの付与並びに検証をタイムスタンプ管理装置10へ要求するクライアント2と、WAN(Wide Area Network)6を介してタイムスタンプ管理装置10から送られてくるタイムスタンプ要求に応じてタイムスタンプを付与する複数のタイムスタンプ機関4に設置されたサーバ5と、が示されている。クライアント2は、タイムスタンプの付与対象とされる文書ファイルを提供するユーザが使用するコンピュータ、例えばパーソナルコンピュータ(PC)により実現される。なお、図1では、便宜的に1台のみ図示した。サーバ5は、既存のタイムスタンプサーバをそのまま利用することができる。
【0031】
ここで、タイムスタンプとは、ファイルの作成日時を記録したデータのことをいう。一般的なファイルシステムでは、デジタルデータファイルの属性情報としてファイルが作成された日時、ファイルが修正された日時などを記録できるようになっているが、本実施の形態で用いる「タイムスタンプ」というのは、ファイルの属性情報として取り扱うデータではなく、タイムスタンプ機関4により公的に証明された時刻を記録したデータのことを指す。
【0032】
図2は、本実施の形態におけるタイムスタンプ管理装置10のハードウェア構成図である。本実施の形態におけるタイムスタンプ管理装置10は、サーバコンピュータにより実現され、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、タイムスタンプ管理装置10は、図2に示したようにCPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14を接続したHDDコントローラ15、入力手段として設けられたマウス16とキーボード17、及び表示装置として設けられたディスプレイ18をそれぞれ接続する入出力コントローラ19、通信手段として設けられたネットワークコントローラ20を内部バス21に接続して構成される。
【0033】
なお、サーバ5及びクライアント2も、同じコンピュータであることから、性能的に差異はあるかもしれないが、ハードウェア構成は、図2と同じように図示できる。
【0034】
図3は、本実施の形態におけるタイムスタンプ管理装置10のブロック構成図である。タイムスタンプ管理装置10は、要求処理部22、ハッシュ値生成部23、選択処理部24、取得処理部25、取得履歴管理部26、検証処理部27及び制御部28を有している。要求処理部22は、クライアント2から送られてくるタイムスタンプ付与要求や検証要求などクライアント2から送られてくる各種要求を受け付け、また、要求に応じた処理結果を返信する。ハッシュ値生成部23は、タイムスタンプ付与要求の際、クライアント2から送られてくるタイムスタンプ付与対象の文書ファイルに基づきハッシュ値を算出する。選択処理部24は、複数のタイムスタンプ機関4の中から文書ファイルに付与するタイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理を実施する。取得処理部25は、算出されたハッシュ値を含むタイムスタンプ要求を、選択処理部24により選択されたタイムスタンプ機関4へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する。取得履歴管理部26は、取得処理部25により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を算出するリンク情報生成処理を実施する。また、デジタルデータの特定情報と、当該デジタルデータに付与されたタイムスタンプと、当該タイムスタンプの取得元となるタイムスタンプ機関4の識別情報と、当該タイムスタンプを用いて算出したリンク情報とを対応付けして検証情報を生成し、これを検証情報データベース(DB)31を用いて保持管理する。なお、検証情報は、タイムスタンプをタイムスタンプ機関4から取得する処理の際に生成されるので、検証情報のデータ構成については、処理の説明と合わせて説明する。検証処理部27は、要求処理部22がクライアント2から送られてくる検証要求を受け付けたことに応じて、指定された文書ファイルに対する検証処理を実施する。制御部28は、タイムスタンプ管理装置10に含まれる各構成要素22〜27と連携動作することによって装置全体の動作制御を行う。
【0035】
タイムスタンプ管理装置10における各構成要素22〜28は、タイムスタンプ管理装置10を形成するコンピュータと、コンピュータに搭載されたCPU11で動作するプログラムとの協調動作により実現される。また、検証情報データベース31は、HDD14にて実現される。なお、検証情報データベース31は、ネットワーク経由でアクセス可能であれば、必ずしもタイムスタンプ管理装置10の内部に設けなくてもよい。
【0036】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【0037】
次に、本実施の形態の動作について説明する。本実施の形態は、文書ファイルに付与するタイムスタンプをタイムスタンプ機関4から取得する処理と、文書ファイルに付与されたタイムスタンプを検証する処理とに大別できる。まず、始めにタイムスタンプを取得する処理について図4に示したフローチャートを用いて説明する。
【0038】
この処理は、要求処理部22がクライアント2から送られてくるタイムスタンプ付与要求を受け付けることによって開始される(ステップ110)。タイムスタンプ付与要求には、付与対象とする文書ファイルが要求と共に送られてくるか、あるいは当該文書ファイルの格納先が指定されてくるので、ハッシュ値生成部23は、受信した、若しくは指定された格納先から取得した文書ファイルからハッシュ値を生成する(ステップ120)。このハッシュ値を生成する方法は、従来からある技術を利用できる。すなわち、付与対象とする文書ファイルをDn、ハッシュ関数をHashとすると、ハッシュ値Hnは、
Hn=Hash(Dn)
という計算式にて求めることができる。ここでハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法をいう。
【0039】
ハッシュ値生成部23によりハッシュ値が算出されたことを認識すると、制御部28は、選択処理要求を選択処理部24に送る。選択処理部24は、送られてきた選択処理要求に応じて以下の選択処理を実施する(ステップ130)。本実施の形態において特徴的な処理の1つに、ここで説明する選択処理が含まれるが、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関4とは異なるタイムスタンプ機関4を選択することを選択条件として実施される。このような選択条件を設けている理由については、後述する検証処理の説明と合わせて説明することにし、ここでは、タイムスタンプ機関4の選択条件の基本的な考え方と処理手順について詳述する。
【0040】
前述したように、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関4とは異なるタイムスタンプ機関4を選択することを選択条件として実施される。つまり、同じタイムスタンプ機関4が最低限連続して選択されないようにする。従って、例えばタイムスタンプ機関4が2機関しか存在しない場合には、交互に選択されることになる。これに対し、タイムスタンプ機関4が3機関以上存在する場合、直前に実施した選択処理において選択した以外のタイムスタンプ機関4は、2機関以上存在することになる。つまり、選択候補が2機関以上存在することになる。本実施の形態では、それらの選択候補の中からいずれを選択するかという選択基準を別途設けている。これが上記選択条件に加わることになるが、本実施の形態では、この選択基準として類似度という概念を採用している。
【0041】
例えば、タイムスタンプ機関4が3機関(識別コードがそれぞれ“TSA1”、“TSA2”及び“TSA3”)存在する場合において、直前に実施した選択処理でタイムスタンプ機関“TSA1”が選択されたとする。そうすると、次に実施される選択処理では、タイムスタンプ機関“TSA2”,“TSA3”が選択候補となることは明らかである。この場合、本実施の形態では、直前に選択されたタイムスタンプ機関4と各選択候補のタイムスタンプ機関4との類似度を算出する。すなわち、この例の場合、“TSA1”と“TSA2”、“TSA1”と“TSA3”の各類似度を算出し、類似していない方、すなわち類似度の小さい方のタイムスタンプ機関4を選出する。本実施の形態は、類似度の小さい方を選択することを選択条件の原則とした。なお、タイムスタンプ機関4が2機関しか存在しない場合でも、この原則はそのまま適用できる。
【0042】
ただ、前述した選択条件のみを選択条件として設定すると、いずれ2機関が交互に選択されることになりうる。この理由について以下に説明する。
【0043】
例えば、直前に実施した選択処理でタイムスタンプ機関“TSA1”が選択されたとする。ここで、(“TSA1”と“TSA2” の類似度)>(“TSA1”と“TSA3”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA3”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“TSA1”,“TSA2”が選択候補となるが、仮に(“TSA3”と“TSA2” の類似度)>(“TSA3”と“TSA1”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA1”が選択されることになる。タイムスタンプ機関 “TSA1”が選択された後、続けて実施する選択処理では、最初の選択処理と同様にタイムスタンプ機関 “TSA3”が選択されることになる。つまり、タイムスタンプ機関“TSA1”と“TSA3”が交互に選択されることになる。
【0044】
一方、タイムスタンプ機関 “TSA3”が選択された後、仮に(“TSA3”と“TSA1” の類似度)>(“TSA3”と“TSA2”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA2”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“TSA1”,“TSA3”が選択候補となるが、上記各選択処理における選択結果を参照すれば明らかなように、(“TSA2”と“TSA1” の類似度)>(“TSA2”と“TSA3”の類似度)という関係が成り立つことになる。そうすると、タイムスタンプ機関“TSA2”と“TSA3”が交互に選択されることになる。
【0045】
以上のように、類似度という指標のみを選択条件として設定すると、いずれ2機関が交互に選択されることになる。上記例では、説明の便宜上、3機関で説明したが、4機関以上の場合においてもいずれ2機関が交互に選択されることになる。そこで、本実施の形態では、このような状況を回避するために類似度総和という指標を選択条件として更に設定して、類似していないタイムスタンプ機関4を選択しつつ、特定のタイムスタンプ機関4のみが選択されないようにした。
【0046】
次に、本実施の形態における選択処理について説明する。
【0047】
本実施の形態は、タイムスタンプ機関間の類似度を算出する指標として、証明書ID、署名アルゴリズム及び証明書発行の認証局への経路(パス)という3種類の属性情報を用いることにした。
【0048】
ここで、類似度算出対象とするタイムスタンプ機関間の証明書IDの類似度をx、署名アルゴリズムの類似度をy、証明書発行の認証局へのパスの類似度をzとすると、当該タイムスタンプ機関間の類似度Aは、
A=(k*x+l*y+m*z)/(k+l+m) ・・・(1)
と表すことができる。但し、k,l,mは、x,y,zそれぞれの重み係数である。なお、証明書IDは、証明書の発行者及びシリアル番号の組合せによって一意に決定される識別情報である。ここで、均等に重み付けをするために、k=l=m=1として上記式(1)に代入すると、
A=(x+y+z)/3 ・・・(2)
となる。ここで、属性情報について個々に説明する。
【0049】
まず、証明書IDの類似度xは、算出対象となるタイムスタンプ機関4の各証明書のIDが一致している場合は1、そうでない場合は0とする。
【0050】
署名アルゴリズムの類似度yは、算出対象となるタイムスタンプ機関4の各署名アルゴリズムが一致している場合は1、そうでない場合は0とする。
【0051】
証明書発行の認証局へのパスの類似度zは、
z=g(TSA_P,TSA_Q)/f(TSA_P,TSA_Q) ・・・(3)
で算出される。但し、g(TSA_P,TSA_Q)は、タイムスタンプ機関“TSA_P”の認証局パスとタイムスタンプ機関“TSA_Q” の認証局パスの中で一致する認証局の数、f(TSA_P,TSA_Q)は、タイムスタンプ機関“TSA_P”の認証局パスとタイムスタンプ機関“TSA_Q”の認証局パスそれぞれを構築する認証局数のうち最小値である。この類似度zについては、具体例をあげて説明する。
【0052】
図5は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図である。図5において丸印で示された各認証局は、線分にて連結されることで階層関係が明示されている。このうち、認証局41P,41Qがそれぞれタイムスタンプ機関“TSA_P”,“TSA_Q”に対して証明書を発行した認証局であり、認証局41T,41Uは、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局である。そして、点線42P,42Qで囲まれた認証局群によって各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスが形成される。この図5に示した認証局のパスに従うと、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、4階層中共通した認証局を含まない完全に独立したパスを有しているので、
g(TSA_P,TSA_Q)=0
となる。また、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、共に4なので、最小値は4、すなわち、
f(TSA_P,TSA_Q)=4
となる。従って、図5に示した例による類似度zは、上記式(3)から、
z=0/4=0
となる。
【0053】
図6は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図であり、図5と異なる例を示した。この例によると、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局41Vのみを共通としており、また、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、共に4である。従って、図6に示した例による類似度zは、上記式(3)から、
z=1/4=0.25
となる。
【0054】
図7は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図であり、図5,6と更に異なる例を示した。この例によると、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局41Vのみを共通としている。また、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、それぞれ4,5なので、最小値は4となる。従って、図7に示した例による類似度zは、上記式(3)から、
z=1/4=0.25
となる。
【0055】
以上のように、タイムスタンプ機関の属性情報それぞれに対する類似度x,y,zが得られると、各類似度x,y,zを上記式(1)に代入することによって類似度算出対象とするタイムスタンプ機関間の類似度Aが算出できる。
【0056】
なお、本実施の形態では、3種類の属性情報を用いて類似度を算出するようにしたが、算出に用いる属性情報は、これに限定する必要はなく、タイムスタンプ機関4の特性等を考慮して他の属性情報と入れ替えたり、あるいは加えたりしてよい。類似度の算出に用いるタイムスタンプの属性情報の候補は、証明書ID等と同様に証明書のプロパティに含まれる情報から選択するのが好適である。
【0057】
ところで、本実施の形態では、タイムスタンプ機関を選択する際に、類似度を用いることを特徴としつつも、類似度のみでは特定のタイムスタンプ機関のみが交互に選択されてしまうという不具合が発生しうるため、本実施の形態では、更に類似度総和という指標を設けるということについては、前述したとおりである。ここで、この類似度総和に基づく選択処理について説明する。
【0058】
類似度総和に基づく選択処理というのは、タイムスタンプ機関4の属性情報を参照にタイムスタンプ機関4を利用する順序を予め決めておき、タイムスタンプ機関4を選出する際にはその順序に従うというものである。
【0059】
図8は、タイムスタンプ機関“TSA_a”,“TSA_b” “TSA_c”,“TSA_d”の認証局パスを示した概念図である。また、図9は、各タイムスタンプ機関の属性情報の設定例を示した図である。図9には、当該タイムスタンプ機関に対して認証局より発行された証明書の識別情報(証明書ID)に対応させて各属性情報の設定値、すなわち証明書を発行した認証局のID、証明書のシリアル番号及び署名アルゴリズムの各設定値がテーブル形式で示されている。
【0060】
例えば、選択候補とされた各タイムスタンプ機関4は、順番に選択されることになるので円順列を考えればよく、この場合、(n−1)!通りの順列が考えられる。従って、図8に例示した4機関の場合は、(4−1)!=6通りの順列が考えられる。本実施の形態では、この6通りの順列のうち類似度総和が最小値の順列を選出することにする。
【0061】
例えば、TSA_a,TSA_b,TSA_c,TSA_d、そしてTSA_aに戻る円順列を考えると、類似度総和は、
類似度総和=類似度(TSA_a−TSA_b)+類似度(TSA_b−TSA_c)+類似度(TSA_c−TSA_d)+類似度(TSA_d−TSA_a)
で表すことができる。この式から明らかなように、類似度総和は、各タイムスタンプ機関につき直後に位置するタイムスタンプ機関との類似度の差分の総和を得ることで算出される。ここで、図8に例示した認証局パスを用いて、類似度総和を具体的に求めてみる。タイムスタンプ機関が選択される順番は、以下の6通りが考えられる。
順列1.TSA_a,TSA_b,TSA_c,TSA_d、TSA_a
順列2.TSA_a,TSA_b,TSA_d,TSA_c、TSA_a
順列3.TSA_a,TSA_c,TSA_b,TSA_d、TSA_a
順列4.TSA_a,TSA_c,TSA_d,TSA_b、TSA_a
順列5.TSA_a,TSA_d,TSA_b,TSA_c、TSA_a
順列6.TSA_a,TSA_d,TSA_c,TSA_b、TSA_a
【0062】
ここで、各タイムスタンプ機関間の類似度を求めておく。上記式(1)に従い、
類似度(TSA_a−TSA_b)=(0+(1/4)+1)/3=5/12
類似度(TSA_a−TSA_c)=(0+(0/4)+1)/3=4/12
類似度(TSA_a−TSA_d)=(0+(0/4)+1)/3=4/12
類似度(TSA_b−TSA_c)=(0+(0/4)+1)/3=4/12
類似度(TSA_b−TSA_d)=(0+(0/4)+1)/3=4/12
類似度(TSA_c−TSA_d)=(0+(2/4)+1)/3=6/12
と、それぞれ算出できる。これらの類似度から、上記各順列1〜6の類似度総和を算出すると、
順列1の類似度総和=5/12+4/12+6/12+4/12=19/12
順列2の類似度総和=5/12+4/12+6/12+4/12=19/12
順列3の類似度総和=4/12+4/12+4/12+4/12=16/12
順列4の類似度総和=4/12+4/12+4/12+5/12=17/12
順列5の類似度総和=4/12+4/12+4/12+4/12=16/12
順列6の類似度総和=5/12+4/12+6/12+4/12=19/12
と、算出できる。この結果、類似度総和が最小となるのは、順列3及び順列5である。この順列3と順列5は、同じ効果が期待できるので、いずれを選択してもよい。ここでは、順列3を選択する。選択処理では、この順列3に従った順番にタイムスタンプ機関4を選択するようにすれば、順列1,2,4を採用した場合と比較して類似度が小さく、かつ特定のタイムスタンプ機関4が交互に選択されるという不具合が発生しなくなる。
【0063】
ここで、図4に戻ると、以上説明したように類似度及び類似度総和に基づきタイムスタンプ機関4の選択順が予め決められているので、選択処理部24は、制御部28から選択処理要求が送られてきたとき、その予め決められた選択順に従って複数のタイムスタンプ機関4の中からタイムスタンプの生成依頼先とするタイムスタンプ機関4を選択する。
【0064】
選択処理要求に応じて選択処理部24が選択処理を実行し、その実行結果が返答されてくると、制御部28は、ハッシュ値と実行結果、すなわちタイムスタンプの生成依頼先を取得処理部25へ送る。取得処理部25は、ハッシュ値等が制御部28から送られてくると、ハッシュ値を含むタイムスタンプ要求を、選択処理部24により選択されたタイムスタンプ機関4へ送信することでタイムスタンプの生成を要求する(ステップ140)。
【0065】
選択されたタイムスタンプ機関4では、送られてきたハッシュ値(ダイジェスト)に時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェスト、すなわちタイムスタンプを返信する。このタイムスタンプ機関4における処理は、既存の技術を利用できる。
【0066】
送信したタイムスタンプ要求に応じて当該タイムスタンプ機関4からタイムスタンプを取得すると(ステップ150)、取得履歴管理部26は、リンク情報生成処理を実施することでリンク情報を生成し、そしてそのリンク情報を含む検証情報を生成して検証情報データベース31に記録する。このリンク情報生成処理及び検証情報の生成、登録処理について、以下に詳述する。
【0067】
図10は、本実施の形態におけるリンク情報の生成方法を示した図である。タイムスタンプ付与対象の文書ファイルをDn、文書ファイルDnから生成されたハッシュ値をHn、取得処理部25により取得されたタイムスタンプをTn、直前に実施したリンク情報生成処理で算出したリンク情報をLn−1とすると、リンク情報Lnは、次に示す算出式にて表すことができる。
Ln=Hash(Ln−1,n,Hash(Hn,Tn)) ・・・(4)
【0068】
従って、例えば、今回の処理において文書ファイルD2がタイムスタンプの付与対象となっているとすると、取得履歴管理部26は、ステップ120において文書ファイルD2から生成されたハッシュ値H2と、取得処理部25により取得されたタイムスタンプT2と、直前に実施したリンク情報生成処理で算出したリンク情報L1とを取得し、上記式(4)に各値を代入してリンク情報を求める(ステップ160)。
【0069】
リンク情報が算出できると、取得履歴管理部26は、続いて、付与対象の文書ファイルD2と、タイムスタンプT2と、リンク情報L2とタイムスタンプT2とを生成したタイムスタンプ機関4の識別情報とを対応付けして検証情報を生成し、その生成した検証情報を検証情報データベース31に登録する(ステップ170)。なお、使用時に文書ファイルを取得できればよいので、文書ファイルを特定する情報としては、文書ファイルDn、すなわちファイルの実体でなくても文書ファイルの格納先情報でもよい。本実施の形態における検証情報データベース31に登録された検証情報のデータ構成例を図11に示す。検証情報は、タイムスタンプが取得される度に順番に検証情報データベース31に登録される。
【0070】
検証情報が生成されると、制御部28は、要求処理部22に指示して、取得されたタイムスタンプを処理要求元のクライアント2へ返答させる(ステップ180)。
【0071】
以上のようにして、タイムスタンプ管理装置10は、文書ファイルに付与するタイムスタンプを取得することになるが、クライアントユーザは、文書ファイルの、ある時刻での存在を証明したいとき、タイムスタンプが付加された当該文書ファイルのダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【0072】
ここで、タイムスタンプが無効化となる予期できない事象、例えばタイムスタンプ機関の秘密鍵の漏洩等が発生した場合、当該タイムスタンプ機関によりタイムスタンプが付与された文書ファイルは、タイムスタンプの信頼性消失によって存在時間の保証ができなくなってしまう。本実施の形態においては、このような場合に対処可能な検証処理を実施する。以下、本実施の形態における検証処理を図12に示したフローチャートを用いて説明する。ここでは、図11に示した登録例に基づくと、タイムスタンプ機関TSA2の秘密鍵の漏洩等が発生したことが公知となり、文書ファイルD2に付与されたタイムスタンプT2が保証されなくなった場合を例にして説明する。
【0073】
この処理は、要求処理部22がクライアント2から送られてくる検証要求を受け付けることによって開始される(ステップ210)。検証要求には、検証対象とするタイムスタンプT2及びタイムスタンプT2が付与された文書ファイルD2が含まれている。検証処理部27は、まず、検証情報データベース31に登録されている検証情報の正当性を検証する。すなわち、検証処理部27は、検証情報データベース31から検証情報を順番に読み出し、直前に実施されたリンク情報生成処理で算出されたリンク情報Ln−1、n、ハッシュ値Hn及びタイムスタンプTnを、上記式(4)に代入してリンク情報Lnを算出する。これを繰り返すことで検証情報データベース31に登録されている全てのリンク情報L1〜Lnを算出する(ステップ220)。この処理は、取得履歴管理部26がタイムスタンプを取得するたびに実行したリンク情報生成処理をまとめて実行することに等しい。なお、リンク情報L1を算出する際に必要な初期値L0は、取得履歴管理部26がリンク情報L1を算出する際に用いたのと同じ初期値L0を用いる。そして、検証処理部27は、検証情報データベース31に登録されているリンク情報L1〜Lnと、上記ステップ220にて算出したリンク情報L1〜Lnとを比較する(ステップ230)。ここで、一致していなければ(ステップ240でN)、検証情報データベース31に登録された検証情報が改竄されている可能性がある。この場合は、タイムスタンプT2の検証を行うことはできなくなり、検証処理部27は、要求処理部22に指示して、検証要求対象のタイムスタンプの検証失敗の旨を処理要求元のクライアント2へ返答させる(ステップ290)。
【0074】
一方、各リンク情報を比較した結果、一致していれば(ステップ240でY)、検証情報データベース31に登録された検証情報が改竄されておらず、よって検証情報の並び順の正当性が証明できたことになる。検証情報の並び順が正しいということは、タイムスタンプT1〜Tnの並び順もその検証情報の登録順に生成されたことが証明できたことになる。
【0075】
続いて、検証処理部27は、クライアント2から送られてきた検証対象のタイムスタンプT2と、検証情報データベース31に登録されているタイムスタンプT1〜Tnとを比較・照合する(ステップ250)。この結果、クライアント2から送られてきたタイムスタンプT2が正しいタイムスタンプであれば、いずれかのタイムスタンプと一致するはずである。実際には、タイムスタンプT2と一致するはずである。このようにして、クライアント2から送られてきたタイムスタンプT2と一致するタイムスタンプを特定することができる(ステップ260)。なお、クライアント2から送られてくる検証要求には、文書ファイルD2が含まれているので、その文書ファイルD2を検証情報データベース31に登録されている文書ファイルD2と照合することでタイムスタンプT2を特定するようにしてもよい。
【0076】
以上のようにして、クライアント2から送られてきたタイムスタンプT2と一致するタイムスタンプが特定できるが、前述したようにタイムスタンプT1〜Tnの並び順の正当性が証明されている。つまり、タイムスタンプT2というデータは、直前に生成されたタイムスタンプT1と直後に生成されたタイムスタンプT3との間に存在することが明らかになった。ここで、タイムスタンプT1を生成したタイムスタンプ機関TSA1と、タイムスタンプT3を生成したタイムスタンプ機関TSA3は、現時点において無効化されていないため有効であり、これにより、各タイムスタンプ機関TSA1,TSA3が生成したタイムスタンプT1,T3も有効であることが証明されている。
【0077】
すなわち、タイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2自体は、存在していた時間を直接的に証明することはできないが、タイムスタンプT1,T3の間で生成されたことが証明されたこと、かつタイムスタンプT1,T3が他のタイムスタンプ機関TSA1,TSA3によって証明されていることから、タイムスタンプT2は、少なくともタイムスタンプT1,T3によってそれぞれ証明されている時刻の間で生成されたことが証明できる。このようにして、検証処理部27は、タイムスタンプT2が存在していた時間範囲を特定する(ステップ270)。
【0078】
本実施の形態によれば、タイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2が保証されなくなった場合でも他のタイムスタンプ機関TSA1,TSA3によって証明されたタイムスタンプT1,T3の間で生成されたことを証明することにより、タイムスタンプT2が直前直後のタイムスタンプT1,T3によって区切られた時間幅の中に存在していたことを証明することができる。
【0079】
このようにして、タイムスタンプT2が存在していた時間の範囲が特定できると、検証処理部27は、要求処理部22に指示して、検証要求対象のタイムスタンプが存在していた時間の範囲を処理要求元のクライアント2へ返答させる(ステップ280)。
【0080】
本実施の形態においては、前述したようにタイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2が保証されなくなった場合でも直前直後のタイムスタンプ機関TSA1,TSA3が生成したタイムスタンプT1,T3の信頼性を有効利用して、保証されなくなったタイムスタンプT2の存在していた時間の幅を特定し、かつ存在を証明している。ここで、仮にタイムスタンプ機関TSA3も無効化されたとすると、タイムスタンプT3の正当性も保証されなくなるので、今度はタイムスタンプT4の信頼性を有効利用することになる。つまり、タイムスタンプT2の存在していた時間の幅は、T1〜T3からT1〜T4と拡大されることになる。
【0081】
ここで、例えば、タイムスタンプ機関TSA2とタイムスタンプ機関TSA3の署名アルゴリズムが同じであることからタイムスタンプ機関TSA2,TSA3が類似度の高い関係にあるとする。そして、上記例のようにタイムスタンプ機関TSA2が無効化された場合、タイムスタンプ機関TSA2との関係上、類似度の大きいタイムスタンプ機関TSA3は、タイムスタンプ機関TSA2と同様に無効化される可能性が類似度の小さいタイムスタンプ機関より高いということができる。すなわち、タイムスタンプ機関TSA3が生成したタイムスタンプT3も保証されなくなる可能性があり、仮にタイムスタンプ機関TSA3が無効化されると、タイムスタンプT2の存在していた時間の幅がT1〜T4と拡大される可能性が高くなってしまう。
【0082】
ところで、本実施の形態における選択処理では、選択処理部24が複数候補の中からタイムスタンプの生成依頼先とするタイムスタンプ機関4を選択するが、このとき、類似度という指標を考慮して選択することは、前述したとおりである。仮に、タイムスタンプ機関の類似度を考慮せずにタイムスタンプ機関4を選択することで類似度の大きいタイムスタンプ機関4が続いて選択されると、前述したようにタイムスタンプの存在していた時間の幅が拡大される可能性が高くなってしまう。そこで、本実施の形態では、選択処理において類似度及び類似度総和という指標を考慮し、直前に選択したタイムスタンプ機関4と異なるだけでなく、類似度の小さいタイムスタンプ機関4を選択できることにした。直前に選択したタイムスタンプ機関4と類似度の小さいタイムスタンプ機関4を選択することを繰り返すということは、直前直後共に類似度の小さいタイムスタンプ機関4が選択されることになる。
【0083】
なお、本実施の形態では、選択処理においてタイムスタンプの生成を依頼するタイムスタンプ機関を選択する際に円順列を考え、そして類似度総和が最小となる円順列に基づきタイムスタンプ機関の選択順序を予め決めるようにした。ただ、この選択順序は、全てのタイムスタンプ機関が有効な状態である場合に決めたので、いずれかのタイムスタンプ機関が無効化された場合には、そのときに無効化されたタイムスタンプ機関を除いて類似度総和を再計算し、タイムスタンプ機関の選択順序を改めて決め直すようにしてもよい。
【0084】
なお、図2に示すハードウエア構成は、1つの構成例を示すものであり、本実施の形態は、図2に示す構成に限らず、本実施の形態において説明したように機能する構成であればよい。例えば、パーソナルコンピュータの他、携帯電話、携帯情報端末、複写機、ファックス、スキャナ、プリンタ、多機能複写機(スキャナ、プリンタ、複写機、ファックス等の機能を有している機器)などにプログラムが組み込まれていてもよい。
【図面の簡単な説明】
【0085】
【図1】本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。
【図2】本実施の形態におけるタイムスタンプ管理装置のハードウェア構成図である。
【図3】本実施の形態におけるタイムスタンプ管理装置のブロック構成図である。
【図4】本実施の形態におけるタイムスタンプ取得処理を示したフローチャートである。
【図5】タイムスタンプ機関の認証局パスの例を示した概念図である。
【図6】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図7】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図8】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図9】本実施の形態においてタイムスタンプ機関に対して認証局より発行された証明書の属性情報を示した図である、
【図10】本実施の形態におけるリンク情報の生成方法を示した図である。
【図11】本実施の形態における検証情報データベースに登録された検証情報のデータ構成例を示した図である。
【図12】本実施の形態における検証処理を示したフローチャートである。
【符号の説明】
【0086】
2 クライアント、4 タイムスタンプ機関、5 サーバ、10 タイムスタンプ管理装置、11 CPU、12 ROM、13 RAM、14 ハードディスクドライブ(HDD)、15 HDDコントローラ、16 マウス、17 キーボード、18 ディスプレイ、19 入出力コントローラ、20 ネットワークコントローラ、21 内部バス、22 要求処理部、23 ハッシュ値生成部、24 選択処理部、25 取得処理部、26 取得履歴管理部、27 検証処理部、28 制御部、31 検証情報データベース。
【技術分野】
【0001】
本発明は、情報処理システム、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
コンピュータ上において電子ファイル等のデジタルデータが作成されると、その作成時刻がデジタルデータの属性情報として設定される。ただ、作成時刻は、本来、変更されるべきでない属性情報であると考えられるが、実際には通常のデータと同様に書き換えることが可能である。つまり、デジタルデータは、過去や未来の時刻を持つデータとして自由自在に作り出すことができてしまうため、デジタルデータが実際にいつ作成されたものであるのか、属性情報のみで保証できないのが現実である。
【0003】
そこで、現在では、デジタルデータの時刻認証を行うために第三者機関によるタイムスタンプ機関が設けられている。すなわち、ユーザがデジタルデータのダイジェストを含むタイムスタンプ要求をタイムスタンプ機関へ送信すると、タイムスタンプ機関では、送られてきたダイジェストに時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェストを返信する。なお、この返信する情報は、一般に「タイムスタンプトークン」と呼ばれている。そして、ユーザは、デジタルデータの、ある時刻での存在を証明したいとき、当該デジタルデータのタイムスタンプが付加されたダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【0004】
ただ、タイムスタンプが永久的に有効であるとは限らず、無効化されてしまう場合がある。このタイムスタンプの無効化には、予期できる場合とできない場合があるが、このうち予期できる場合というのは、有効期限切れである。タイムスタンプ機関がタイムスタンプ生成の際に用いる秘密鍵自体に有効期限があるため、タイムスタンプにも必然的に有効期限が存在する。一方、予期できない場合というのは、例えば、タイムスタンプ機関の秘密鍵の漏洩した場合、タイムスタンプ機関へ秘密鍵を発行した認証局が危殆化した場合、タイムスタンプ機関における署名アルゴリズムが危殆化した場合などである。
【0005】
前者の場合、タイムスタンプの有効期限は事前に把握できるので、有効期限前にタイムスタンプを再度取得すれば容易に対応できる。これに対し、後者の場合、タイムスタンプ機関の秘密鍵の漏洩や認証局の危殆化などは、いつ発生するのか予測できない。従って、予期できないタイムスタンプの無効化に対しては容易に対応できるとは言い難い。このため、タイムスタンプ機関の秘密鍵の漏洩等が発生したことに伴いタイムスタンプが無効化されてしまい、当該デジタルデータの存在していた時刻を証明できなくなってしまう。このように、タイムスタンプが予期できずに無効化された場合、当該デジタルデータが存在していた時刻、換言すると、タイムスタンプが付与された時刻を正確に検証することができなくなってしまう。
【0006】
ただ、時間の証明は、正確な時刻でなくてもある時間幅の中でタイムスタンプが付与されたことを検証できれば、要件を満たすような場合もありうる。従って、その時間幅が検証できれば都合良い。
【0007】
なお、証明書の有効性の検証を行う技術として特許文献1が、複数のタイムスタンプ機関を利用する技術として特許文献2がある。
【0008】
【特許文献1】特開2005−286443号公報
【特許文献2】特開2005−284901号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
タイムスタンプが予期せず無効化された場合に対応するための手段が何も講じられていなかった。このため、タイムスタンプが無効化された場合、デジタルデータが存在していた時刻を検証することができなかった。
【0010】
本発明は、以上のような課題を解決するためになされたものであり、タイムスタンプが無効化された場合でもそのタイムスタンプの検証を支援することを目的とする。
【課題を解決するための手段】
【0011】
本発明に係る情報処理システムは、タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段とを有することを特徴とする。
【0012】
本発明に係るプログラムは、コンピュータを、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段として機能させる。
【0013】
また、前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択する。
【0014】
また、複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択する。
【0015】
本発明に係るプログラムは、コンピュータを、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を受け付ける受付手段、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段として機能させる。
【0016】
また、前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較する。
【0017】
また、前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とする。
【0018】
本発明に係る情報処理装置は、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段とを有することを特徴とする。
【0019】
本発明に係る情報処理装置は、タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段とを有することを特徴とする。
【発明の効果】
【0020】
請求項1に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【0021】
請求項2に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【0022】
請求項3に記載の発明によれば、検証対象の無効化されたタイムスタンプが存在していた時間の範囲が拡大されることから回避することができる。
【0023】
請求項4に記載の発明によれば、タイムスタンプの生成を依頼するタイムスタンプ機関を複数のタイムスタンプ機関の中から選択する際に、選択されるタイムスタンプ機関の偏りを回避することができる。
【0024】
請求項5に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの前後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【0025】
請求項6に記載の発明によれば、タイムスタンプが無効化された後に記憶されている情報に基づき求めたリンク情報と、記憶されているリンク情報とを比較・照合することにより記憶されているリンク情報の正当性を確認することができる。
【0026】
請求項7に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプの時刻を始期と終期として無効化されたタイムスタンプが存在していた時間の範囲を検証することができる。
【0027】
請求項8に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定しうる情報を生成することができる。
【0028】
請求項9に記載の発明によれば、タイムスタンプが無効化された場合でも、そのタイムスタンプの直前直後に生成された有効なタイムスタンプによって、無効化されたタイムスタンプが存在していた時間の範囲を特定し、検証することができる。
【発明を実施するための最良の形態】
【0029】
以下、図面に基づいて、本発明の好適な実施の形態について説明する。
【0030】
図1は、本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。図1には、タイムスタンプ管理装置10と、LAN(Local Area Network)3を介してタイムスタンプの付与並びに検証をタイムスタンプ管理装置10へ要求するクライアント2と、WAN(Wide Area Network)6を介してタイムスタンプ管理装置10から送られてくるタイムスタンプ要求に応じてタイムスタンプを付与する複数のタイムスタンプ機関4に設置されたサーバ5と、が示されている。クライアント2は、タイムスタンプの付与対象とされる文書ファイルを提供するユーザが使用するコンピュータ、例えばパーソナルコンピュータ(PC)により実現される。なお、図1では、便宜的に1台のみ図示した。サーバ5は、既存のタイムスタンプサーバをそのまま利用することができる。
【0031】
ここで、タイムスタンプとは、ファイルの作成日時を記録したデータのことをいう。一般的なファイルシステムでは、デジタルデータファイルの属性情報としてファイルが作成された日時、ファイルが修正された日時などを記録できるようになっているが、本実施の形態で用いる「タイムスタンプ」というのは、ファイルの属性情報として取り扱うデータではなく、タイムスタンプ機関4により公的に証明された時刻を記録したデータのことを指す。
【0032】
図2は、本実施の形態におけるタイムスタンプ管理装置10のハードウェア構成図である。本実施の形態におけるタイムスタンプ管理装置10は、サーバコンピュータにより実現され、従前から存在する汎用的なハードウェア構成で実現できる。すなわち、タイムスタンプ管理装置10は、図2に示したようにCPU11、ROM12、RAM13、ハードディスクドライブ(HDD)14を接続したHDDコントローラ15、入力手段として設けられたマウス16とキーボード17、及び表示装置として設けられたディスプレイ18をそれぞれ接続する入出力コントローラ19、通信手段として設けられたネットワークコントローラ20を内部バス21に接続して構成される。
【0033】
なお、サーバ5及びクライアント2も、同じコンピュータであることから、性能的に差異はあるかもしれないが、ハードウェア構成は、図2と同じように図示できる。
【0034】
図3は、本実施の形態におけるタイムスタンプ管理装置10のブロック構成図である。タイムスタンプ管理装置10は、要求処理部22、ハッシュ値生成部23、選択処理部24、取得処理部25、取得履歴管理部26、検証処理部27及び制御部28を有している。要求処理部22は、クライアント2から送られてくるタイムスタンプ付与要求や検証要求などクライアント2から送られてくる各種要求を受け付け、また、要求に応じた処理結果を返信する。ハッシュ値生成部23は、タイムスタンプ付与要求の際、クライアント2から送られてくるタイムスタンプ付与対象の文書ファイルに基づきハッシュ値を算出する。選択処理部24は、複数のタイムスタンプ機関4の中から文書ファイルに付与するタイムスタンプの生成を依頼するタイムスタンプ機関を選択する選択処理を実施する。取得処理部25は、算出されたハッシュ値を含むタイムスタンプ要求を、選択処理部24により選択されたタイムスタンプ機関4へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する。取得履歴管理部26は、取得処理部25により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を算出するリンク情報生成処理を実施する。また、デジタルデータの特定情報と、当該デジタルデータに付与されたタイムスタンプと、当該タイムスタンプの取得元となるタイムスタンプ機関4の識別情報と、当該タイムスタンプを用いて算出したリンク情報とを対応付けして検証情報を生成し、これを検証情報データベース(DB)31を用いて保持管理する。なお、検証情報は、タイムスタンプをタイムスタンプ機関4から取得する処理の際に生成されるので、検証情報のデータ構成については、処理の説明と合わせて説明する。検証処理部27は、要求処理部22がクライアント2から送られてくる検証要求を受け付けたことに応じて、指定された文書ファイルに対する検証処理を実施する。制御部28は、タイムスタンプ管理装置10に含まれる各構成要素22〜27と連携動作することによって装置全体の動作制御を行う。
【0035】
タイムスタンプ管理装置10における各構成要素22〜28は、タイムスタンプ管理装置10を形成するコンピュータと、コンピュータに搭載されたCPU11で動作するプログラムとの協調動作により実現される。また、検証情報データベース31は、HDD14にて実現される。なお、検証情報データベース31は、ネットワーク経由でアクセス可能であれば、必ずしもタイムスタンプ管理装置10の内部に設けなくてもよい。
【0036】
また、本実施の形態で用いるプログラムは、通信手段により提供することはもちろん、CD−ROM等の記録媒体に格納して提供することも可能である。
【0037】
次に、本実施の形態の動作について説明する。本実施の形態は、文書ファイルに付与するタイムスタンプをタイムスタンプ機関4から取得する処理と、文書ファイルに付与されたタイムスタンプを検証する処理とに大別できる。まず、始めにタイムスタンプを取得する処理について図4に示したフローチャートを用いて説明する。
【0038】
この処理は、要求処理部22がクライアント2から送られてくるタイムスタンプ付与要求を受け付けることによって開始される(ステップ110)。タイムスタンプ付与要求には、付与対象とする文書ファイルが要求と共に送られてくるか、あるいは当該文書ファイルの格納先が指定されてくるので、ハッシュ値生成部23は、受信した、若しくは指定された格納先から取得した文書ファイルからハッシュ値を生成する(ステップ120)。このハッシュ値を生成する方法は、従来からある技術を利用できる。すなわち、付与対象とする文書ファイルをDn、ハッシュ関数をHashとすると、ハッシュ値Hnは、
Hn=Hash(Dn)
という計算式にて求めることができる。ここでハッシュ関数とは、与えられた原文から固定長の疑似乱数を生成する演算手法をいう。
【0039】
ハッシュ値生成部23によりハッシュ値が算出されたことを認識すると、制御部28は、選択処理要求を選択処理部24に送る。選択処理部24は、送られてきた選択処理要求に応じて以下の選択処理を実施する(ステップ130)。本実施の形態において特徴的な処理の1つに、ここで説明する選択処理が含まれるが、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関4とは異なるタイムスタンプ機関4を選択することを選択条件として実施される。このような選択条件を設けている理由については、後述する検証処理の説明と合わせて説明することにし、ここでは、タイムスタンプ機関4の選択条件の基本的な考え方と処理手順について詳述する。
【0040】
前述したように、本実施の形態における選択処理は、直前に実施した選択処理にて選択したタイムスタンプ機関4とは異なるタイムスタンプ機関4を選択することを選択条件として実施される。つまり、同じタイムスタンプ機関4が最低限連続して選択されないようにする。従って、例えばタイムスタンプ機関4が2機関しか存在しない場合には、交互に選択されることになる。これに対し、タイムスタンプ機関4が3機関以上存在する場合、直前に実施した選択処理において選択した以外のタイムスタンプ機関4は、2機関以上存在することになる。つまり、選択候補が2機関以上存在することになる。本実施の形態では、それらの選択候補の中からいずれを選択するかという選択基準を別途設けている。これが上記選択条件に加わることになるが、本実施の形態では、この選択基準として類似度という概念を採用している。
【0041】
例えば、タイムスタンプ機関4が3機関(識別コードがそれぞれ“TSA1”、“TSA2”及び“TSA3”)存在する場合において、直前に実施した選択処理でタイムスタンプ機関“TSA1”が選択されたとする。そうすると、次に実施される選択処理では、タイムスタンプ機関“TSA2”,“TSA3”が選択候補となることは明らかである。この場合、本実施の形態では、直前に選択されたタイムスタンプ機関4と各選択候補のタイムスタンプ機関4との類似度を算出する。すなわち、この例の場合、“TSA1”と“TSA2”、“TSA1”と“TSA3”の各類似度を算出し、類似していない方、すなわち類似度の小さい方のタイムスタンプ機関4を選出する。本実施の形態は、類似度の小さい方を選択することを選択条件の原則とした。なお、タイムスタンプ機関4が2機関しか存在しない場合でも、この原則はそのまま適用できる。
【0042】
ただ、前述した選択条件のみを選択条件として設定すると、いずれ2機関が交互に選択されることになりうる。この理由について以下に説明する。
【0043】
例えば、直前に実施した選択処理でタイムスタンプ機関“TSA1”が選択されたとする。ここで、(“TSA1”と“TSA2” の類似度)>(“TSA1”と“TSA3”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA3”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“TSA1”,“TSA2”が選択候補となるが、仮に(“TSA3”と“TSA2” の類似度)>(“TSA3”と“TSA1”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA1”が選択されることになる。タイムスタンプ機関 “TSA1”が選択された後、続けて実施する選択処理では、最初の選択処理と同様にタイムスタンプ機関 “TSA3”が選択されることになる。つまり、タイムスタンプ機関“TSA1”と“TSA3”が交互に選択されることになる。
【0044】
一方、タイムスタンプ機関 “TSA3”が選択された後、仮に(“TSA3”と“TSA1” の類似度)>(“TSA3”と“TSA2”の類似度)としたならば、選択処理を実施した結果、類似度の小さいタイムスタンプ機関 “TSA2”が選択されることになる。続けて実施する選択処理では、タイムスタンプ機関“TSA1”,“TSA3”が選択候補となるが、上記各選択処理における選択結果を参照すれば明らかなように、(“TSA2”と“TSA1” の類似度)>(“TSA2”と“TSA3”の類似度)という関係が成り立つことになる。そうすると、タイムスタンプ機関“TSA2”と“TSA3”が交互に選択されることになる。
【0045】
以上のように、類似度という指標のみを選択条件として設定すると、いずれ2機関が交互に選択されることになる。上記例では、説明の便宜上、3機関で説明したが、4機関以上の場合においてもいずれ2機関が交互に選択されることになる。そこで、本実施の形態では、このような状況を回避するために類似度総和という指標を選択条件として更に設定して、類似していないタイムスタンプ機関4を選択しつつ、特定のタイムスタンプ機関4のみが選択されないようにした。
【0046】
次に、本実施の形態における選択処理について説明する。
【0047】
本実施の形態は、タイムスタンプ機関間の類似度を算出する指標として、証明書ID、署名アルゴリズム及び証明書発行の認証局への経路(パス)という3種類の属性情報を用いることにした。
【0048】
ここで、類似度算出対象とするタイムスタンプ機関間の証明書IDの類似度をx、署名アルゴリズムの類似度をy、証明書発行の認証局へのパスの類似度をzとすると、当該タイムスタンプ機関間の類似度Aは、
A=(k*x+l*y+m*z)/(k+l+m) ・・・(1)
と表すことができる。但し、k,l,mは、x,y,zそれぞれの重み係数である。なお、証明書IDは、証明書の発行者及びシリアル番号の組合せによって一意に決定される識別情報である。ここで、均等に重み付けをするために、k=l=m=1として上記式(1)に代入すると、
A=(x+y+z)/3 ・・・(2)
となる。ここで、属性情報について個々に説明する。
【0049】
まず、証明書IDの類似度xは、算出対象となるタイムスタンプ機関4の各証明書のIDが一致している場合は1、そうでない場合は0とする。
【0050】
署名アルゴリズムの類似度yは、算出対象となるタイムスタンプ機関4の各署名アルゴリズムが一致している場合は1、そうでない場合は0とする。
【0051】
証明書発行の認証局へのパスの類似度zは、
z=g(TSA_P,TSA_Q)/f(TSA_P,TSA_Q) ・・・(3)
で算出される。但し、g(TSA_P,TSA_Q)は、タイムスタンプ機関“TSA_P”の認証局パスとタイムスタンプ機関“TSA_Q” の認証局パスの中で一致する認証局の数、f(TSA_P,TSA_Q)は、タイムスタンプ機関“TSA_P”の認証局パスとタイムスタンプ機関“TSA_Q”の認証局パスそれぞれを構築する認証局数のうち最小値である。この類似度zについては、具体例をあげて説明する。
【0052】
図5は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図である。図5において丸印で示された各認証局は、線分にて連結されることで階層関係が明示されている。このうち、認証局41P,41Qがそれぞれタイムスタンプ機関“TSA_P”,“TSA_Q”に対して証明書を発行した認証局であり、認証局41T,41Uは、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局である。そして、点線42P,42Qで囲まれた認証局群によって各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスが形成される。この図5に示した認証局のパスに従うと、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、4階層中共通した認証局を含まない完全に独立したパスを有しているので、
g(TSA_P,TSA_Q)=0
となる。また、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、共に4なので、最小値は4、すなわち、
f(TSA_P,TSA_Q)=4
となる。従って、図5に示した例による類似度zは、上記式(3)から、
z=0/4=0
となる。
【0053】
図6は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図であり、図5と異なる例を示した。この例によると、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局41Vのみを共通としており、また、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、共に4である。従って、図6に示した例による類似度zは、上記式(3)から、
z=1/4=0.25
となる。
【0054】
図7は、タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスを示した概念図であり、図5,6と更に異なる例を示した。この例によると、各タイムスタンプ機関“TSA_P”,“TSA_Q”の最上位に位置する親認証局41Vのみを共通としている。また、各タイムスタンプ機関“TSA_P”,“TSA_Q”の認証局パスは、それぞれ4,5なので、最小値は4となる。従って、図7に示した例による類似度zは、上記式(3)から、
z=1/4=0.25
となる。
【0055】
以上のように、タイムスタンプ機関の属性情報それぞれに対する類似度x,y,zが得られると、各類似度x,y,zを上記式(1)に代入することによって類似度算出対象とするタイムスタンプ機関間の類似度Aが算出できる。
【0056】
なお、本実施の形態では、3種類の属性情報を用いて類似度を算出するようにしたが、算出に用いる属性情報は、これに限定する必要はなく、タイムスタンプ機関4の特性等を考慮して他の属性情報と入れ替えたり、あるいは加えたりしてよい。類似度の算出に用いるタイムスタンプの属性情報の候補は、証明書ID等と同様に証明書のプロパティに含まれる情報から選択するのが好適である。
【0057】
ところで、本実施の形態では、タイムスタンプ機関を選択する際に、類似度を用いることを特徴としつつも、類似度のみでは特定のタイムスタンプ機関のみが交互に選択されてしまうという不具合が発生しうるため、本実施の形態では、更に類似度総和という指標を設けるということについては、前述したとおりである。ここで、この類似度総和に基づく選択処理について説明する。
【0058】
類似度総和に基づく選択処理というのは、タイムスタンプ機関4の属性情報を参照にタイムスタンプ機関4を利用する順序を予め決めておき、タイムスタンプ機関4を選出する際にはその順序に従うというものである。
【0059】
図8は、タイムスタンプ機関“TSA_a”,“TSA_b” “TSA_c”,“TSA_d”の認証局パスを示した概念図である。また、図9は、各タイムスタンプ機関の属性情報の設定例を示した図である。図9には、当該タイムスタンプ機関に対して認証局より発行された証明書の識別情報(証明書ID)に対応させて各属性情報の設定値、すなわち証明書を発行した認証局のID、証明書のシリアル番号及び署名アルゴリズムの各設定値がテーブル形式で示されている。
【0060】
例えば、選択候補とされた各タイムスタンプ機関4は、順番に選択されることになるので円順列を考えればよく、この場合、(n−1)!通りの順列が考えられる。従って、図8に例示した4機関の場合は、(4−1)!=6通りの順列が考えられる。本実施の形態では、この6通りの順列のうち類似度総和が最小値の順列を選出することにする。
【0061】
例えば、TSA_a,TSA_b,TSA_c,TSA_d、そしてTSA_aに戻る円順列を考えると、類似度総和は、
類似度総和=類似度(TSA_a−TSA_b)+類似度(TSA_b−TSA_c)+類似度(TSA_c−TSA_d)+類似度(TSA_d−TSA_a)
で表すことができる。この式から明らかなように、類似度総和は、各タイムスタンプ機関につき直後に位置するタイムスタンプ機関との類似度の差分の総和を得ることで算出される。ここで、図8に例示した認証局パスを用いて、類似度総和を具体的に求めてみる。タイムスタンプ機関が選択される順番は、以下の6通りが考えられる。
順列1.TSA_a,TSA_b,TSA_c,TSA_d、TSA_a
順列2.TSA_a,TSA_b,TSA_d,TSA_c、TSA_a
順列3.TSA_a,TSA_c,TSA_b,TSA_d、TSA_a
順列4.TSA_a,TSA_c,TSA_d,TSA_b、TSA_a
順列5.TSA_a,TSA_d,TSA_b,TSA_c、TSA_a
順列6.TSA_a,TSA_d,TSA_c,TSA_b、TSA_a
【0062】
ここで、各タイムスタンプ機関間の類似度を求めておく。上記式(1)に従い、
類似度(TSA_a−TSA_b)=(0+(1/4)+1)/3=5/12
類似度(TSA_a−TSA_c)=(0+(0/4)+1)/3=4/12
類似度(TSA_a−TSA_d)=(0+(0/4)+1)/3=4/12
類似度(TSA_b−TSA_c)=(0+(0/4)+1)/3=4/12
類似度(TSA_b−TSA_d)=(0+(0/4)+1)/3=4/12
類似度(TSA_c−TSA_d)=(0+(2/4)+1)/3=6/12
と、それぞれ算出できる。これらの類似度から、上記各順列1〜6の類似度総和を算出すると、
順列1の類似度総和=5/12+4/12+6/12+4/12=19/12
順列2の類似度総和=5/12+4/12+6/12+4/12=19/12
順列3の類似度総和=4/12+4/12+4/12+4/12=16/12
順列4の類似度総和=4/12+4/12+4/12+5/12=17/12
順列5の類似度総和=4/12+4/12+4/12+4/12=16/12
順列6の類似度総和=5/12+4/12+6/12+4/12=19/12
と、算出できる。この結果、類似度総和が最小となるのは、順列3及び順列5である。この順列3と順列5は、同じ効果が期待できるので、いずれを選択してもよい。ここでは、順列3を選択する。選択処理では、この順列3に従った順番にタイムスタンプ機関4を選択するようにすれば、順列1,2,4を採用した場合と比較して類似度が小さく、かつ特定のタイムスタンプ機関4が交互に選択されるという不具合が発生しなくなる。
【0063】
ここで、図4に戻ると、以上説明したように類似度及び類似度総和に基づきタイムスタンプ機関4の選択順が予め決められているので、選択処理部24は、制御部28から選択処理要求が送られてきたとき、その予め決められた選択順に従って複数のタイムスタンプ機関4の中からタイムスタンプの生成依頼先とするタイムスタンプ機関4を選択する。
【0064】
選択処理要求に応じて選択処理部24が選択処理を実行し、その実行結果が返答されてくると、制御部28は、ハッシュ値と実行結果、すなわちタイムスタンプの生成依頼先を取得処理部25へ送る。取得処理部25は、ハッシュ値等が制御部28から送られてくると、ハッシュ値を含むタイムスタンプ要求を、選択処理部24により選択されたタイムスタンプ機関4へ送信することでタイムスタンプの生成を要求する(ステップ140)。
【0065】
選択されたタイムスタンプ機関4では、送られてきたハッシュ値(ダイジェスト)に時刻情報を付加した後、タイムスタンプ機関の秘密鍵を用いてデジタル署名を行った後、署名されたダイジェスト、すなわちタイムスタンプを返信する。このタイムスタンプ機関4における処理は、既存の技術を利用できる。
【0066】
送信したタイムスタンプ要求に応じて当該タイムスタンプ機関4からタイムスタンプを取得すると(ステップ150)、取得履歴管理部26は、リンク情報生成処理を実施することでリンク情報を生成し、そしてそのリンク情報を含む検証情報を生成して検証情報データベース31に記録する。このリンク情報生成処理及び検証情報の生成、登録処理について、以下に詳述する。
【0067】
図10は、本実施の形態におけるリンク情報の生成方法を示した図である。タイムスタンプ付与対象の文書ファイルをDn、文書ファイルDnから生成されたハッシュ値をHn、取得処理部25により取得されたタイムスタンプをTn、直前に実施したリンク情報生成処理で算出したリンク情報をLn−1とすると、リンク情報Lnは、次に示す算出式にて表すことができる。
Ln=Hash(Ln−1,n,Hash(Hn,Tn)) ・・・(4)
【0068】
従って、例えば、今回の処理において文書ファイルD2がタイムスタンプの付与対象となっているとすると、取得履歴管理部26は、ステップ120において文書ファイルD2から生成されたハッシュ値H2と、取得処理部25により取得されたタイムスタンプT2と、直前に実施したリンク情報生成処理で算出したリンク情報L1とを取得し、上記式(4)に各値を代入してリンク情報を求める(ステップ160)。
【0069】
リンク情報が算出できると、取得履歴管理部26は、続いて、付与対象の文書ファイルD2と、タイムスタンプT2と、リンク情報L2とタイムスタンプT2とを生成したタイムスタンプ機関4の識別情報とを対応付けして検証情報を生成し、その生成した検証情報を検証情報データベース31に登録する(ステップ170)。なお、使用時に文書ファイルを取得できればよいので、文書ファイルを特定する情報としては、文書ファイルDn、すなわちファイルの実体でなくても文書ファイルの格納先情報でもよい。本実施の形態における検証情報データベース31に登録された検証情報のデータ構成例を図11に示す。検証情報は、タイムスタンプが取得される度に順番に検証情報データベース31に登録される。
【0070】
検証情報が生成されると、制御部28は、要求処理部22に指示して、取得されたタイムスタンプを処理要求元のクライアント2へ返答させる(ステップ180)。
【0071】
以上のようにして、タイムスタンプ管理装置10は、文書ファイルに付与するタイムスタンプを取得することになるが、クライアントユーザは、文書ファイルの、ある時刻での存在を証明したいとき、タイムスタンプが付加された当該文書ファイルのダイジェストを、該当するタイムスタンプ機関へ送信することでタイムスタンプの検証を依頼する。依頼を受けたタイムスタンプ機関では、デジタル署名を利用して、送られてきたタイムスタンプの検証を行う。これにより、ユーザは、当該デジタルデータがその時刻にはすでに存在していたことを証明することができる。
【0072】
ここで、タイムスタンプが無効化となる予期できない事象、例えばタイムスタンプ機関の秘密鍵の漏洩等が発生した場合、当該タイムスタンプ機関によりタイムスタンプが付与された文書ファイルは、タイムスタンプの信頼性消失によって存在時間の保証ができなくなってしまう。本実施の形態においては、このような場合に対処可能な検証処理を実施する。以下、本実施の形態における検証処理を図12に示したフローチャートを用いて説明する。ここでは、図11に示した登録例に基づくと、タイムスタンプ機関TSA2の秘密鍵の漏洩等が発生したことが公知となり、文書ファイルD2に付与されたタイムスタンプT2が保証されなくなった場合を例にして説明する。
【0073】
この処理は、要求処理部22がクライアント2から送られてくる検証要求を受け付けることによって開始される(ステップ210)。検証要求には、検証対象とするタイムスタンプT2及びタイムスタンプT2が付与された文書ファイルD2が含まれている。検証処理部27は、まず、検証情報データベース31に登録されている検証情報の正当性を検証する。すなわち、検証処理部27は、検証情報データベース31から検証情報を順番に読み出し、直前に実施されたリンク情報生成処理で算出されたリンク情報Ln−1、n、ハッシュ値Hn及びタイムスタンプTnを、上記式(4)に代入してリンク情報Lnを算出する。これを繰り返すことで検証情報データベース31に登録されている全てのリンク情報L1〜Lnを算出する(ステップ220)。この処理は、取得履歴管理部26がタイムスタンプを取得するたびに実行したリンク情報生成処理をまとめて実行することに等しい。なお、リンク情報L1を算出する際に必要な初期値L0は、取得履歴管理部26がリンク情報L1を算出する際に用いたのと同じ初期値L0を用いる。そして、検証処理部27は、検証情報データベース31に登録されているリンク情報L1〜Lnと、上記ステップ220にて算出したリンク情報L1〜Lnとを比較する(ステップ230)。ここで、一致していなければ(ステップ240でN)、検証情報データベース31に登録された検証情報が改竄されている可能性がある。この場合は、タイムスタンプT2の検証を行うことはできなくなり、検証処理部27は、要求処理部22に指示して、検証要求対象のタイムスタンプの検証失敗の旨を処理要求元のクライアント2へ返答させる(ステップ290)。
【0074】
一方、各リンク情報を比較した結果、一致していれば(ステップ240でY)、検証情報データベース31に登録された検証情報が改竄されておらず、よって検証情報の並び順の正当性が証明できたことになる。検証情報の並び順が正しいということは、タイムスタンプT1〜Tnの並び順もその検証情報の登録順に生成されたことが証明できたことになる。
【0075】
続いて、検証処理部27は、クライアント2から送られてきた検証対象のタイムスタンプT2と、検証情報データベース31に登録されているタイムスタンプT1〜Tnとを比較・照合する(ステップ250)。この結果、クライアント2から送られてきたタイムスタンプT2が正しいタイムスタンプであれば、いずれかのタイムスタンプと一致するはずである。実際には、タイムスタンプT2と一致するはずである。このようにして、クライアント2から送られてきたタイムスタンプT2と一致するタイムスタンプを特定することができる(ステップ260)。なお、クライアント2から送られてくる検証要求には、文書ファイルD2が含まれているので、その文書ファイルD2を検証情報データベース31に登録されている文書ファイルD2と照合することでタイムスタンプT2を特定するようにしてもよい。
【0076】
以上のようにして、クライアント2から送られてきたタイムスタンプT2と一致するタイムスタンプが特定できるが、前述したようにタイムスタンプT1〜Tnの並び順の正当性が証明されている。つまり、タイムスタンプT2というデータは、直前に生成されたタイムスタンプT1と直後に生成されたタイムスタンプT3との間に存在することが明らかになった。ここで、タイムスタンプT1を生成したタイムスタンプ機関TSA1と、タイムスタンプT3を生成したタイムスタンプ機関TSA3は、現時点において無効化されていないため有効であり、これにより、各タイムスタンプ機関TSA1,TSA3が生成したタイムスタンプT1,T3も有効であることが証明されている。
【0077】
すなわち、タイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2自体は、存在していた時間を直接的に証明することはできないが、タイムスタンプT1,T3の間で生成されたことが証明されたこと、かつタイムスタンプT1,T3が他のタイムスタンプ機関TSA1,TSA3によって証明されていることから、タイムスタンプT2は、少なくともタイムスタンプT1,T3によってそれぞれ証明されている時刻の間で生成されたことが証明できる。このようにして、検証処理部27は、タイムスタンプT2が存在していた時間範囲を特定する(ステップ270)。
【0078】
本実施の形態によれば、タイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2が保証されなくなった場合でも他のタイムスタンプ機関TSA1,TSA3によって証明されたタイムスタンプT1,T3の間で生成されたことを証明することにより、タイムスタンプT2が直前直後のタイムスタンプT1,T3によって区切られた時間幅の中に存在していたことを証明することができる。
【0079】
このようにして、タイムスタンプT2が存在していた時間の範囲が特定できると、検証処理部27は、要求処理部22に指示して、検証要求対象のタイムスタンプが存在していた時間の範囲を処理要求元のクライアント2へ返答させる(ステップ280)。
【0080】
本実施の形態においては、前述したようにタイムスタンプ機関TSA2が無効化されたことによりタイムスタンプT2が保証されなくなった場合でも直前直後のタイムスタンプ機関TSA1,TSA3が生成したタイムスタンプT1,T3の信頼性を有効利用して、保証されなくなったタイムスタンプT2の存在していた時間の幅を特定し、かつ存在を証明している。ここで、仮にタイムスタンプ機関TSA3も無効化されたとすると、タイムスタンプT3の正当性も保証されなくなるので、今度はタイムスタンプT4の信頼性を有効利用することになる。つまり、タイムスタンプT2の存在していた時間の幅は、T1〜T3からT1〜T4と拡大されることになる。
【0081】
ここで、例えば、タイムスタンプ機関TSA2とタイムスタンプ機関TSA3の署名アルゴリズムが同じであることからタイムスタンプ機関TSA2,TSA3が類似度の高い関係にあるとする。そして、上記例のようにタイムスタンプ機関TSA2が無効化された場合、タイムスタンプ機関TSA2との関係上、類似度の大きいタイムスタンプ機関TSA3は、タイムスタンプ機関TSA2と同様に無効化される可能性が類似度の小さいタイムスタンプ機関より高いということができる。すなわち、タイムスタンプ機関TSA3が生成したタイムスタンプT3も保証されなくなる可能性があり、仮にタイムスタンプ機関TSA3が無効化されると、タイムスタンプT2の存在していた時間の幅がT1〜T4と拡大される可能性が高くなってしまう。
【0082】
ところで、本実施の形態における選択処理では、選択処理部24が複数候補の中からタイムスタンプの生成依頼先とするタイムスタンプ機関4を選択するが、このとき、類似度という指標を考慮して選択することは、前述したとおりである。仮に、タイムスタンプ機関の類似度を考慮せずにタイムスタンプ機関4を選択することで類似度の大きいタイムスタンプ機関4が続いて選択されると、前述したようにタイムスタンプの存在していた時間の幅が拡大される可能性が高くなってしまう。そこで、本実施の形態では、選択処理において類似度及び類似度総和という指標を考慮し、直前に選択したタイムスタンプ機関4と異なるだけでなく、類似度の小さいタイムスタンプ機関4を選択できることにした。直前に選択したタイムスタンプ機関4と類似度の小さいタイムスタンプ機関4を選択することを繰り返すということは、直前直後共に類似度の小さいタイムスタンプ機関4が選択されることになる。
【0083】
なお、本実施の形態では、選択処理においてタイムスタンプの生成を依頼するタイムスタンプ機関を選択する際に円順列を考え、そして類似度総和が最小となる円順列に基づきタイムスタンプ機関の選択順序を予め決めるようにした。ただ、この選択順序は、全てのタイムスタンプ機関が有効な状態である場合に決めたので、いずれかのタイムスタンプ機関が無効化された場合には、そのときに無効化されたタイムスタンプ機関を除いて類似度総和を再計算し、タイムスタンプ機関の選択順序を改めて決め直すようにしてもよい。
【0084】
なお、図2に示すハードウエア構成は、1つの構成例を示すものであり、本実施の形態は、図2に示す構成に限らず、本実施の形態において説明したように機能する構成であればよい。例えば、パーソナルコンピュータの他、携帯電話、携帯情報端末、複写機、ファックス、スキャナ、プリンタ、多機能複写機(スキャナ、プリンタ、複写機、ファックス等の機能を有している機器)などにプログラムが組み込まれていてもよい。
【図面の簡単な説明】
【0085】
【図1】本発明に係るタイムスタンプ検証システムの一実施の形態を示した全体構成図である。
【図2】本実施の形態におけるタイムスタンプ管理装置のハードウェア構成図である。
【図3】本実施の形態におけるタイムスタンプ管理装置のブロック構成図である。
【図4】本実施の形態におけるタイムスタンプ取得処理を示したフローチャートである。
【図5】タイムスタンプ機関の認証局パスの例を示した概念図である。
【図6】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図7】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図8】タイムスタンプ機関の認証局パスの他の例を示した概念図である。
【図9】本実施の形態においてタイムスタンプ機関に対して認証局より発行された証明書の属性情報を示した図である、
【図10】本実施の形態におけるリンク情報の生成方法を示した図である。
【図11】本実施の形態における検証情報データベースに登録された検証情報のデータ構成例を示した図である。
【図12】本実施の形態における検証処理を示したフローチャートである。
【符号の説明】
【0086】
2 クライアント、4 タイムスタンプ機関、5 サーバ、10 タイムスタンプ管理装置、11 CPU、12 ROM、13 RAM、14 ハードディスクドライブ(HDD)、15 HDDコントローラ、16 マウス、17 キーボード、18 ディスプレイ、19 入出力コントローラ、20 ネットワークコントローラ、21 内部バス、22 要求処理部、23 ハッシュ値生成部、24 選択処理部、25 取得処理部、26 取得履歴管理部、27 検証処理部、28 制御部、31 検証情報データベース。
【特許請求の範囲】
【請求項1】
タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、
直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段と、
を有することを特徴とする情報処理システム。
【請求項2】
コンピュータを、
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
として機能させるプログラム。
【請求項3】
請求項2記載のプログラムにおいて、
前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択するプログラム。
【請求項4】
請求項3記載のプログラムにおいて、
複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択するプログラム。
【請求項5】
コンピュータを、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段、
として機能させるプログラム。
【請求項6】
請求項5記載のプログラムにおいて、
前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較するプログラム。
【請求項7】
請求項5記載のプログラムにおいて、
前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とするプログラム。
【請求項8】
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
を有することを特徴とする情報処理装置。
【請求項9】
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段と、
を有することを特徴とする情報処理装置。
【請求項1】
タイムスタンプ要求に応じてタイムスタンプを生成して要求元へ返送する複数のタイムスタンプ機関と、
直前に実施した選択処理で選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を前記複数のタイムスタンプ機関の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されている無効化されたタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段と、
を有することを特徴とする情報処理システム。
【請求項2】
コンピュータを、
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
として機能させるプログラム。
【請求項3】
請求項2記載のプログラムにおいて、
前記選択手段は、タイムスタンプ機関の属性情報からタイムスタンプ機関間の類似度を算出し、直前に実施した選択処理にて選択したタイムスタンプ機関とは異なり、かつ相対的に類似度の小さいタイムスタンプ機関を選択するプログラム。
【請求項4】
請求項3記載のプログラムにおいて、
複数のタイムスタンプ機関全てが選択される円順列を全て形成し、各円順列において連続した二つのタイムスタンプ機関間の類似度をそれぞれ算出し、その算出した総和を当該円順列の類似度総和とし、その類似度総和が最小値となる円順列が特定されている場合、前記選択手段は、その特定された円順列の並び順にタイムスタンプ機関を選択するプログラム。
【請求項5】
コンピュータを、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲の特定を検証する検証手段、
として機能させるプログラム。
【請求項6】
請求項5記載のプログラムにおいて、
前記検証手段は、タイムスタンプ検証要求が受け付けられたときに前記記憶手段を参照にリンク情報を生成し、その生成したリンク情報と、前記記憶手段に記憶されているリンク情報とを比較するプログラム。
【請求項7】
請求項5記載のプログラムにおいて、
前記検証手段は、当該無効化されたタイムスタンプと一致するタイムスタンプを前記記憶手段の中から特定し、その特定したタイムスタンプの直前及び直後に取得された有効な各タイムスタンプによって証明された時刻を、前記時間の範囲の始期及び終期とするプログラム。
【請求項8】
直前に実施した選択処理にて選択したタイムスタンプ機関とは異なるタイムスタンプ機関を選択することを選択条件として、デジタルデータに対して付与するタイムスタンプの生成を依頼するタイムスタンプ機関を複数の選択候補の中から選択する選択手段と、
前記デジタルデータに基づき算出されたハッシュ値を含むタイムスタンプ要求を、前記選択手段により選択されたタイムスタンプ機関へ送信することにより当該デジタルデータへ付与するタイムスタンプを取得する取得手段と、
前記取得手段により今までに取得されたタイムスタンプの取得順序を特定しうるリンク情報を生成する生成手段と、
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプに基づいて前記生成手段により生成されたリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
を有することを特徴とする情報処理装置。
【請求項9】
タイムスタンプと、当該タイムスタンプの取得元タイムスタンプ機関の識別情報と、当該タイムスタンプが取得されるまでに取得されたタイムスタンプの取得順序を特定しうるリンク情報と、が対応付けられた検証情報を記憶手段に記憶させる記憶制御手段と、
デジタルデータのタイムスタンプ検証要求を受け付ける受付手段と、
検証対象とされたデジタルデータに付与されているタイムスタンプを、前記記憶手段に記憶されているタイムスタンプと照合することによって当該無効化されたタイムスタンプが付与された時間の範囲を特定する検証処理を実施する検証手段と、
を有することを特徴とする情報処理装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【公開番号】特開2008−84200(P2008−84200A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−265853(P2006−265853)
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願日】平成18年9月28日(2006.9.28)
【出願人】(000005496)富士ゼロックス株式会社 (21,908)
【Fターム(参考)】
[ Back to top ]