"記憶装置を有する複数のサーバと、前記各サーバとネットワークを介して接続され、同じタイミングで複数のデータが生成される事象が少なくとも発生していたとみなされる存在時刻を証明する時刻認証装置とを有する時刻認証システムであって、前記時刻認証装置は、前記事象の発生の際に同じタイミングで生成された複数の前記データを、それぞれ異なる前記サーバに送信し、また、ユーザから時刻認証の要求を受けた前記事象に対応する前記データを、前記各サーバから収集する分散処理部と、前記各サーバから収集した前記各データに付されているタイムスタンプに基づいて、前記事象に係る前記存在時刻を算出して出力する存在時刻算出部とを有し、前記サーバは、前記時刻認証システムから送信された前記データに対して前記タイムスタンプを付した上で記憶装置に保管することを特徴とする時刻認証システム。記憶装置を有する複数のサーバと、前記各サーバとネットワークを介して接続され、電子文書が少なくとも作成され存在していたとみなされる存在時刻を証明する時刻認証装置とを有する時刻認証システムであって、前記時刻認証装置は、前記電子文書を秘密分散法により複数の分割データに分割する分割処理部と、前記各分割データを、それぞれ異なる前記サーバに送信し、また、ユーザから時刻認証の要求を受けた前記電子文書に対応する前記各分割データを、前記各サーバから収集する分散処理部と、前記各サーバから収集した前記各分割データに基づいて前記秘密分散法により前記電子文書を復元する復元処理部と、前記復元処理部において前記電子文書が正常に復元できた場合に、前記各サーバから収集した前記各分割データに付されているタイムスタンプに基づいて、前記電子文書に係る前記存在時刻を算出して出力する存在時刻算出部とを有し、前記サーバは、前記時刻認証システムから送信された前記分割データに対して前記タイムスタンプを付した上で記憶装置に保管することを特徴とする時刻認証システム。請求項1または2に記載の時刻認証システムにおいて、前記時刻認証装置の前記存在時刻算出部は、前記各サーバから収集した前記各データもしくは前記各分割データに付されている前記タイムスタンプのうち最も遅いものの時刻を前記存在時刻とすることを特徴とする時刻認証システム。請求項1~3のいずれか1項に記載の時刻認証システムにおいて、前記時刻認証装置の前記存在時刻算出部は、前記各サーバから収集した前記各データもしくは前記各分割データに付されている前記タイムスタンプについて、所定の統計処理を行って前記存在時刻を算出することを特徴とする時刻認証システム。記憶装置を有する複数のサーバと、前記各サーバとネットワークを介して接続され、電子文書が少なくとも作成され存在していたとみなされる存在時刻を証明する時刻認証装置とを有する時刻認証システムにおいて、前記時刻認証装置としてコンピュータを機能させる時刻認証プログラムであって、前記電子文書を秘密分散法により複数の分割データに分割する分割処理と、前記各分割データを、それぞれ異なる前記サーバに送信して保管し、また、ユーザから時刻認証の要求を受けた前記電子文書に対応する前記各分割データを、前記各サーバから収集する分散処理と、前記各サーバから収集した前記各分割データに基づいて前記秘密分散法により前記電子文書を復元する復元処理と、前記復元処理において前記電子文書が正常に復元できた場合に、前記各サーバから収集した前記各分割データに前記サーバによって付されているタイムスタンプに基づいて、前記電子文書に係る前記存在時刻を算出して出力する存在時刻算出処理とを実行することを特徴とする時刻認証プログラム。従来技術の時刻認証の仕組みでは、証明すべき時刻情報を生成するため、例えば、原子時計を用いた時刻情報生成の仕組みや、時刻の経過に応じてリアルタイムで変動する自然現象等を観測して記録する仕組みなど、運用負荷やコストの高い特別の仕組みを必要とする。しかしながら、認証対象の電子文書やデータの種別によっては、時刻認証の際に必要とされる時刻の精度にはそれほど高いものが必要とされない場合も多く、比較的低コストで簡易的に、電子文書が少なくとも存在した時刻をある程度の精度で証明することができる時刻認証の仕組みを構築したいというニーズもある。そこで本発明の目的は、時刻情報を生成するための特別な仕組みを必要とせず、低コストで簡易的に構築することが可能な時刻認証システムおよび時刻認証プログラムを提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、以下のとおりである。本発明の代表的な実施の形態による時刻認証システムは、記憶装置を有する複数のサーバと、前記各サーバとネットワークを介して接続され、電子文書が少なくとも作成され存在していたとみなされる存在時刻を証明する時刻認証装置とを有する時刻認証システムであって、以下の特徴を有するものである。すなわち、前記時刻認証装置は、前記電子文書を秘密分散法により複数の分割データに分割する分割処理部と、前記各分割データを、それぞれ異なる前記サーバに送信し、また、ユーザから時刻認証の要求を受けた前記電子文書に対応する前記各分割データを、前記各サーバから収集する分散処理部と、前記各サーバから収集した前記各分割データに基づいて前記秘密分散法により前記電子文書を復元する復元処理部と、前記復元処理部において前記電子文書が正常に復元できた場合に、前記各サーバから収集した前記各分割データに付されているタイムスタンプに基づいて、前記電子文書に係る前記存在時刻を算出して出力する存在時刻算出部とを有する。また、前記サーバは、前記時刻認証システムから送信された前記分割データに対して前記タイムスタンプを付した上で記憶装置に保管する。また、本発明は、上記のような時刻認証システムにおける時刻認証装置としてコンピュータを機能させる時刻認証プログラムにも適用することができる。本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば以下のとおりである。本発明の代表的な実施の形態によれば、時刻情報を生成するための特別な仕組みを必要とせず、低コストで簡易的に、特定の処理やイベントの発生などの事象の発生時刻を、ある程度の精度で証明することができる時刻認証システムを構築することが可能となる。以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一部には原則として同一の符号を付し、その繰り返しの説明は省略する。本発明の一実施の形態である時刻認証システムは、電子文書等の時刻認証が必要となる可能性があるファイルやデータを、いわゆる秘密分散法により複数の分割データに分割し、各分割データをそれぞれ異なるサーバやデータセンター等に分散保管しておく。当該電子文書の時刻認証が必要となった場合に、当該電子文書に対応する分割データを各サーバ等から収集し、秘密分散法により当該電子文書を復元する。このとき、電子文書が正しく復元できたこと、および各サーバ等によって各分割データにそれぞれ付されたタイムスタンプの情報に基づいて、当該電子文書がある時刻には存在していたという時刻認証を行う。ここで、秘密分散法とは、例えば、AShamir、HowtoShareaSecret、CommunicationsoftheACM、vol22no11pp612613、1979などに記載されているように、重要データをそれだけでは意味のない重要データを復元推測できない非重要データに分割する技術である。これを用いて、元データを分割データ非重要データに分割して個別に保管したり送受信したりすることにより、情報漏洩のリスクを低減させる仕組みが提案されている。秘密分散の手法には各種のものが提案されており、例えば、いわゆるk,n閾値型秘密分散法では、元データをn個の分割データに分割する。このとき、n個の分割データのうちk個未満k≦nの分割データが第三者等により集められても、これらに基づいて元データが復元されることはない。これにより、情報漏洩のリスクを低減させ、セキュアに元データを保管等することができる。一方で、k個以上の分割データを集めれば、n個に満たない分割データでも元データを復元することができる。これにより、n-k個以下の分割データが毀損滅失等した場合でも残りのk個以上の分割データから元データを復元することができ、可用性を向上させることができる。本実施の形態では、m個k≦m≦nの分割データから元データを復元することができた場合、当該m個の分割データは、同じタイミングで元データから秘密分散法により生成されたものであり、かつ改竄等がされていないものとみなす。すなわち、m個の分割データから元データを復元することができなかった場合は、いずれかの分割データが改竄等されたものであるとみなす。また、n個の各分割データを異なるサーバ等に分散保管しておき、その際に、各サーバ等において分割データにタイムスタンプを付する。このタイムスタンプに用いる時刻情報は、例えば、各サーバ等においてそれぞれ個別に設定されているシステム時間を用いる。このとき、各サーバ等におけるネットワークや処理の遅延時間等もあることから、収集した各分割データに付されているタイムスタンプは、それぞれが保管されていたサーバ等によって異なる場合があり、必ずしも元データの作成保管時もしくは分割データの保管時の正確な標準時刻を表しているとは限らない。しかしながら、各サーバやデータセンター等では、通常、例えば他のタイムサーバ等との間で定期的に同期をとる等の独自の運用により、それぞれの機器のシステム時間をある程度の正確さを持って標準時刻に合わせて補正するような対応がとられている。従って、各分割データに付されているタイムスタンプも、それぞれある程度の正確さで、分割データの保管時の標準時刻に近い時刻を表しているものと考えられる。そこで、本実施の形態では、元データを復元するために収集したm個の分割データにそれぞれ付されたタイムスタンプに基づいて、当該元データが少なくともこの時点以降には存在していたとみなされる時刻以下では存在時刻と記載する場合があるを算出し、元データの作成保存時刻の認証を行う。図2は、複数の分割データにそれぞれ付されたタイムスタンプに基づいて、元データの存在時刻を証明する例について概要を示した図である。ここでは、例えば、それぞれ異なるサーバ等によりタイムスタンプが付されて保管されていた3つの分割データ410a~cを収集して、タイムスタンプの時系列で並べた状態を示している。この状態において、本実施の形態では、簡易的に、例えば、少なくとも最も遅いタイムスタンプ図2の例では分割データ410bに付されたタイムスタンプの時刻以降には元データが作成保存等されて存在していたものとみなす。換言すれば、少なくとも、複数の分割データのうち最も遅いタイムスタンプの時刻以降には、各分割データが生成されることになった事象本実施の形態では元データの作成保存の処理が発生していたものとみなす。これにより、秘密分散法を利用することで元データを分割データに分割してセキュアに保管しつつ、ある程度の正確さにより、低コストで簡易的に存在時刻の証明を行うことができる。ここでは、各サーバ等では通常、必ずしも正確ではないものの運用によりある程度の正確さでシステム時間が補正されていること、秘密分散法により生成された各分割データは全て、元データである電子文書から同じタイミングで生成されたものであること、および、各分割データから電子文書が正常に復元することができれば、各分割データに対する改竄等は行われておらず、復元された電子文書は原本と同じであることを認証の基礎としている。なお、より正確を期すためには、k,n閾値秘密分散法におけるkおよびnの値、ならびにn個の分割データが分散保管されるサーバ等の数を増やし、各分割データを収集して得られるタイムスタンプのサンプル数を多くすることによって、例えば、統計的な処理によって、最も遅いタイムスタンプの値が異常値であることを検出してサンプルから除外するなどにより、より精度の高い存在時刻を算出することも可能である。一方で、分割データの数を多くすると、秘密分散処理や分散保管時の処理負荷が大きくなってしまうことから、kやnのパラメータの値は、要件に応じて適当な値を設定するのが望ましい。また、本実施の形態では、同じタイミングで複数の分割データを生成する手法として秘密分散法を用いているが、これに限らない。例えば、特定の処理により複数のファイルが生成されて出力されるような各種申請処理や、プロジェクトの保存やビルド時などに複数種類のファイルが生成されるようなソフトウェア開発環境のプログラムなど、特定の処理の実行やイベント等の事象が発生した際に、同じタイミングで複数のデータやファイルが生成されるものであれば、生成された複数のファイルを複数のサーバ等に分散保管することで、上記と同様に、当該事象が発生した存在時刻を証明することができる。<システム構成>図1は、本発明の一実施の形態である時刻認証システムの構成例について概要を示した図である。時刻認証システム1は、電子文書400に対して存在時刻を証明する時刻認証装置100と、複数のサーバ200図1の例ではサーバ200a~cとがインターネット等のネットワーク300を介して互いに接続され通信可能な構成を有する。時刻認証装置100は、例えば、PCPersonalComputerや携帯型端末等の情報処理装置からなり、ユーザにより作成保管等された電子文書400を秘密分散法により複数の分割データ410に分割して各サーバ200に分散保管するとともに、これらの電子文書400に対してユーザからの指示等により時刻認証を行う。この時刻認証装置100は、例えば、図示しないOSOperatingSystem上で動作するソフトウェアプログラムによって実装される分割処理部110、分散処理部120、復元処理部130、存在時刻算出部140、およびインタフェース部150などの各部を有する。分割処理部110は、例えば、後述するインタフェース部150を介してユーザから保管を指示された電子文書400を元データとして、所定の手順に従って、例えばk,n閾値秘密分散法k≦nにより、各サーバ200に分散保管するn個の分割データ410に分割する。なお、秘密分散のアルゴリズムは特に限定されず、公知の手法を用いることができる。分散処理部120は、例えば、分割処理部110により電子文書400から生成されたn個の各分割データ410について、図示しない設定情報の内容に基づく所定の条件に従って各サーバ200に送信して分散保管するとともに、各分割データ410がいずれのサーバ200に保管されているかの対応に係る情報を分散状況121に記録して管理する。設定情報としては、例えば、分散保管先となる各サーバ200に対するアクセス情報IPアドレスやホスト名等、n個より多数のサーバ200が存在する場合にn個のサーバ200を選択するための基準や条件例えばサーバ200の優先順位や順序付けされたリスト、ローテーションする際の方法等などの情報を、ファイルやレジストリ等により予め設定しておくことができる。また、分散処理部120は、後述する復元処理部130による電子文書400の復元の際に、復元処理部130からの要求に基づいて、分散状況121の内容、および設定情報の内容に基づく所定の条件に従って、各サーバ200から、電子文書400を復元するためのm個の分割データ410を収集して復元処理部130に受け渡す。なお、収集する分割データ410の個数mの値は、電子文書400を復元するために必要な分割データ410の数k以上である必要があり、また、n個全ての分割データ410を収集するものとしてもよいすなわちk≦m≦n。図示しない設定情報には、例えば、mの値や、m<nである場合に、対象となるm個のサーバ200を選択するための基準や条件、障害等により対象のサーバ200から分割データ410を取得できなかった場合の代替となるサーバ200の決定方法などを予め設定しておくことができる。なお、サーバ200の障害等により、分割データ410の分散保管時にn個の分割データ410のうちいずれか1個以上を各サーバ200に保管できなかった場合や、分割データ410の収集時にk個以上収集できなかった場合は、ユーザに対してエラーを応答するようにしてもよい。また、各サーバ200との間で分割データ410の送受信を行う際に、時刻認証装置100および各サーバ200がそれぞれ分割データ410に対して所定の暗号化を施した上で送受信することで、情報漏洩のリスクをさらに低減させるようにしてもよい。復元処理部130は、例えば、インタフェース部150を介してユーザから参照や編集等の利用、もしくは時刻認証を指示された電子文書400について、これを復元するために必要な数であるk個以上の分割データ410を分散処理部120に要求して取得する。さらに、取得したk個以上の分割データ410から、所定の手順に従って、例えばk,n閾値秘密分散法により電子文書400を復元する。存在時刻算出部140は、時刻証明の対象の事象が発生していたとみなされる存在時刻を算出する。本実施の形態では、復元処理部130によって複数の分割データ410から復元された電子文書400について、各分割データ410に基づいて、当該電子文書400が時刻認証装置100上に少なくとも存在していた生成もしくは保管されたとみなされる時刻を算出する。存在時刻を算出する手法としては各種のものが考えられるが、本実施の形態では、例えば、上述した図2において示したような手法により、各分割データ410に付されたタイムスタンプのうち最も遅いものの時刻を算出して存在時刻とする。このとき、各種の統計処理を行って精度を向上させるようにしてもよい。また、時刻ではなく時間帯として幅を持たせるようにしてもよい。インタフェース部150は、時刻認証装置100における画面表示等のユーザインタフェースやデータの送受信などの入出力機能を有する。ユーザは、例えば、一般的なOSが有するファイル管理用の画面等を利用して、時刻認証装置100の機能を利用することができる。例えば、ファイル管理用の画面においてユーザが電子文書400を特定のフォルダ等にドラッグドロップなどの簡易な操作により移動する。これをトリガとして、分割処理部110および分散処理部120によって、自動的に電子文書400を元データとしてn個の分割データ410に分割し、各分割データ410をユーザに意識させずに各サーバ200等にセキュアに分散保管することができる。なお、このとき電子文書400を時刻認証装置100から削除し、ファイル管理用の画面上では、ユーザに意識させないよう、例えば、電子文書400に対応するダミーファイル等を作成して残しておくようにしてもよい。また、例えば、ユーザは、ファイル管理用の画面において特定のフォルダにて管理されている電子文書400のダミーファイル等に対して操作を行うことで、電子文書400に対する参照や編集等の操作を行うことができる。すなわち、ダミーファイル等に対する操作をトリガとして、分散処理部120および復元処理部130によって、ダミーファイル等に対応する電子文書400について、自動的に各サーバ200からm個k≦m≦nの対応する分割データ410を収集し、電子文書400を復元してユーザに利用可能とすることができる。また同様に、ユーザは、電子文書400のダミーファイル等に対する操作により、電子文書400に対する時刻認証を要求することができる。すなわち、ダミーファイル等に対する時刻認証の要求をトリガとして、上記と同様に各サーバ200から分割データ410を収集し、電子文書400を復元する。さらに、存在時刻算出部140により、各分割データ410に基づいて存在時刻を算出して出力することで、電子文書400に対する時刻認証とする。なお、図1の例では、PCや携帯型端末等の情報処理装置からなる時刻認証装置100が、電子文書400についての秘密分散法による分割や復元、各サーバ200への分散保管等の処理を行うものとしているが、これらの処理を、電子文書400を保管するファイルサーバ等の特定のサーバ上で一括して実行するようにしてもよい。サーバ200は、時刻認証装置100から送信された分割データ410を格納することができる図示しないHDDHardDiskDrive等の記憶装置を有する情報処理装置であり、例えば、ファイルサーバや、ストレージサーバなどにより構成される。また、これらの情報処理装置を有するデータセンターであってもよい。また、クラウドコンピューティングサービスによる仮想サーバや仮想データセンター等であってもよい。各サーバ200は、運用によりそれぞれシステム時間が適宜補正されているものとする。例えば、定期的にタイムサーバ等と同期をとることでシステム時間を補正する。このシステム時間に基づいて、分割データ410を記憶装置に保管する際にタイムスタンプを付する。このタイムスタンプは、通常のファイルシステムの処理により付されるものを用いてもよいし、分割データ410のヘッダ等に別途付するようにしてもよい。<処理の流れ>図3は、電子文書400を保管してこれに対する時刻認証を行う際の処理の例について概要を示した図である。時刻認証装置100において、インタフェース部150を介してユーザから保管対象すなわち時刻認証の対象の電子文書400を受領するとS01、分割処理部110により、電子文書400を秘密分散法により複数の分割データ410に分割するS02。例えば、k,n閾値秘密分散法により、n個の分割データ410に分割する。次に、分散処理部120により、n個の分割データ410を、所定のルールに基づいて決定された異なるn個のサーバ200にそれぞれ送信するS03。図3では、サーバA200aおよびサーバB200bにそれぞれ分割データ410を送信する場合の例を示している。分割データ410を受信した各サーバ200では、それぞれ、受信した分割データ410にシステム時間に基づくタイムスタンプを付した上で記憶装置に保管しS04、処理結果を時刻認証装置100に応答する。時刻認証装置100では、分散処理部120により、n個の分割データ410が全てサーバ200に正常に保管されたか否かを判定するS05。ここで、n個の分割データ410の1つでも正常に保管できなかったものがあった場合は、インタフェース部150を介してユーザにエラーを通知するようにしてもよい。このとき、上記の一連の処理をロールバックするようにしてもよい。また、正常に保管されなかった分割データ410があった場合でも、k個以上の分割データ410の保管が正常に完了した場合は、電子文書400の復元が可能であることからエラーとはしないようにしてもよい。各サーバ200への分散保管が正常に完了した場合は、電子文書400に対応するダミーファイルを生成するようにしてもよい。また、電子文書400、および分割処理部110により生成された分割データ410を時刻認証装置100の記憶装置から削除するようにしてもよい。その後、インタフェース部150を介したダミーファイルに対する操作等によりユーザから電子文書400に対する時刻認証の要求もしくは電子文書400の参照等の要求を受領するとS10、復元処理部130は、指定された電子文書400を復元するためにm個m≧kの分割データ410の取得を分散処理部120に対して要求する。分散処理部120は、分散状況121や図示しない設定情報等に基づいて、対象の電子文書400から生成された分割データ410を保管しているサーバ200を特定し、これらの分割データ410を各サーバ200から収集するS11。分割データ410の取得の要求を受けた各サーバ200は、記憶装置から該当する分割データ410を取得して時刻認証装置100に送信するS12。時刻認証装置100では、分散処理部120により、正常に収集できた分割データ410の数m’が、電子文書400を復元するために必要となるk個以上であるか否かを判定するS13。ここで、k個以上の分割データ410を収集できなかった場合は、インタフェース部150を介してユーザにエラーを通知するようにしてもよい。k個以上の分割データ410が収集できた場合は、復元処理部130により、収集したm’個の分割データ410から、k,n閾値秘密分散法により電子文書400を復元するS14。このとき、電子文書400が正常に復元できたか否かを判定するS15。分割データ410の一部が改竄等されている場合には、秘密分散法により正常に元データを復元することができないため、正常に復元できたことにより、分割データ410が改竄等されておらず、電子文書400が原本と同じであることを証明することができる。電子文書400が正常に復元された場合は、存在時刻算出部140により、電子文書400についての存在時刻を算出するS16。ここでは、上述したように、電子文書400の復元に用いられた各分割データ410に付されたタイムスタンプのうち最も遅いものの時刻を算出し、少なくとも当該時刻以降には当該電子文書400が存在していたものとみなして、これを存在時刻とする。この存在時刻の値は、例えば、インタフェース部150を介してユーザに出力してもよいし、認証されたタイムスタンプとして電子文書400に付加してもよい。以上に説明したように、本発明の一実施の形態である時刻認証システム1によれば、電子文書400を秘密分散法により複数の分割データ410に分割し、これらをそれぞれ異なるサーバ200に分散保管する。各サーバ200に分散保管された分割データ410を収集し、これらの基づいて正常に電子文書400を復元できた場合は、各分割データ410のうち、各サーバ200で付されたタイムスタンプが最も遅いものの時刻を、電子文書400の存在時刻とする。これにより、電子文書400を、それだけでは意味をなさない非重要データである分割データ410に分割してセキュアに保管しつつ、ある程度の正確さにより、低コストで簡易的に電子文書400存在時刻の証明を行うことが可能となる。また、本実施の形態に示したような、電子文書400の作成や保管の時刻を、秘密分散によって生成した複数の分割データ410のタイムスタンプによって認証する場合に限らず、同じタイミングで複数のデータやファイルが生成されるような特定の処理の実行やイベント等の事象が発生していた存在時刻についても同様に、生成された複数のファイルを複数のサーバ200等に分散保管することで、これらのファイルに付されたタイムスタンプに基づいて証明することが可能となる。以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。"