(57)【要約】【課題】ユーザにより作成された電子データに対して、サーバ側の修正なしに、タイムスタンプを効率良く付与することが可能な情報処理プログラム、情報処理装置、及び情報処理方法を提供する。【解決手段】情報処理装置は、情報処理装置において指示された電子データに対する検証用情報を生成させる要求を第１のサーバ装置へ送信することにより検証用情報を受信する。そして、情報処理装置は、指示された電子データ及び受信された検証用情報を、情報処理装置において仮想的に使用可能な仮想記憶領域として第２のサーバ装置のストレージに設けられた所定の記憶領域に記憶させる要求を第２のサーバ装置へ送信する。【選択図】図４
2013077188.tif 000002
【特許請求の範囲】
【請求項１】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置に含まれるコンピュータに、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信ステップと、
前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信ステップと、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信ステップと、
を実行させることを特徴とする情報処理プログラム。
【請求項２】
前記第１送信ステップは、前記指示された電子データの書き込み要求に応じて、前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信することを特徴とする請求項１に記載の情報処理プログラム。
【請求項３】
前記第２送信ステップは、前記指示された電子データの書き込み要求に応じて、前記指示された電子データを、前記記憶領域に記憶させる要求を前記第２のサーバ装置へ送信し、
さらに、前記第２送信ステップは、前記電子データを格納するファイルのクローズ要求に応じて、前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信し、前記第１のサーバ装置により生成された前記検証用情報を前記記憶領域に記憶させる要求を前記第２のサーバ装置または前記第３のサーバ装置へ送信することを特徴とする請求項１に記載の情報処理プログラム。
【請求項４】
前記情報処理プログラムは、前記指示された電子データを格納するファイルのファイル名、前記ファイルの拡張子、前記ファイルの所在を示すパス、および前記ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つに、所定の文字列が含まれるかを判定する判定ステップを前記コンピュータにさらに実行させ、
前記第１送信ステップは、前記判定ステップにより前記文字例が含まれると判定された場合に、前記指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信することを特徴とする請求項１乃至３の何れか一項に記載の情報処理プログラム。
【請求項５】
前記情報処理プログラムは、前記コンピュータに、
前記ストレージにおける前記記憶領域に記憶された前記電子データの読み込み要求に応じて、前記記憶領域に記憶された前記電子データ及び前記検証用情報を前記第２のサーバ装置と前記第３のサーバ装置の少なくとも何れか一方から取得する取得ステップと、
前記取得ステップにより取得された前記検証用情報に基づいて前記電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証する検証ステップと、
を前記コンピュータにさらに実行させることを特徴とする請求項１乃至４の何れか一項に記載の情報処理プログラム。
【請求項６】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置において、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信手段と、
前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信手段と、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信手段により受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信手段と、
を備えることを特徴とする情報処理装置。
【請求項７】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置により実行される情報処理方法であって、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信ステップと、
前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信ステップと、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信ステップと、
を含むことを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子データに対してタイムスタンプを付与する技術分野に関する。
【背景技術】
【０００２】
従来のタイムスタンプを発行する技術では、所定のサーバに電子データが登録されたことに応じて、このサーバがタイムスタンプを発行する。または、所定のサーバに電子データが登録されたことに応じて、このサーバがタイムスタンプを発行する装置へタイムスタンプの発行を要求する。こうして発行されたタイムスタンプは、電子データに付与される。これにより、タイムスタンプが付与された電子データがある時刻に存在し且つこの時刻以降に改竄又は変更されていないことを、後から検証することが可能になっている。電子データの改竄を検証する技術としては、例えば特許文献１の技術が知られている。特許文献１の技術では、ウェブサーバが負荷分散された多重構成を採る大規模システムにおいて、ウェブサーバ毎に複数用意されたコンテンツチェック装置がウェブサーバにより生成されるコンテンツの改竄チェックを行うようになっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2003-140969号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、電子データを登録するサーバ側で自動的にタイムスタンプを発行するためには、サーバ側にタイムスタンプの発行プログラムを組み込む必要がある。つまり、サーバ側のプログラムの修正が必要となる。しかしながら、サーバの運営者又は管理者がこのような修正を認めない場合もある。そのため、例えば、近年のクラウドサービスを利用するユーザにとって使い勝手が良く無い場合があった。例えば、ネットワーク上でストレージの一部記憶領域を貸し出すサービスを利用するユーザが、自ら作成した電子データをユーザ端末からサーバを介してストレージに記憶させる場合がある。この場合、電子データにタイムスタンプを付与してストレージに記憶させることができないとなると使い勝手が良くない。
【０００５】
そこで、本発明は、以上の点等に鑑みてなされたものであり、例えばユーザにより作成された電子データに対して、サーバ側の修正なしに、タイムスタンプを効率良く付与することが可能な情報処理プログラム、情報処理装置、及び情報処理方法を提供すること等を課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の情報処理プログラムの発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置に含まれるコンピュータに、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信ステップと、前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信ステップと、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信ステップと、を実行させることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の情報処理プログラムにおいて、前記第１送信ステップは、前記指示された電子データの書き込み要求に応じて、前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信することを特徴とする。
【０００８】
請求項３に記載の発明は、請求項１に記載の情報処理プログラムにおいて、前記第２送信ステップは、前記指示された電子データの書き込み要求に応じて、前記指示された電子データを、前記記憶領域に記憶させる要求を前記第２のサーバ装置へ送信し、さらに、前記第２送信ステップは、前記電子データを格納するファイルのクローズ要求に応じて、前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信し、前記第１のサーバ装置により生成された前記検証用情報を前記記憶領域に記憶させる要求を前記第２のサーバ装置または前記第３のサーバ装置へ送信することを特徴とする。
【０００９】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載の情報処理プログラムにおいて、前記情報処理プログラムは、前記指示された電子データを格納するファイルのファイル名、前記ファイルの拡張子、前記ファイルの所在を示すパス、および前記ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つに、所定の文字列が含まれるかを判定する判定ステップを前記コンピュータにさらに実行させ、前記第１送信ステップは、前記判定ステップにより前記文字例が含まれると判定された場合に、前記指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項１乃至４の何れか一項に記載の情報処理プログラムにおいて、前記情報処理プログラムは、前記コンピュータに、前記ストレージにおける前記記憶領域に記憶された前記電子データの読み込み要求に応じて、前記記憶領域に記憶された前記電子データ及び前記検証用情報を前記第２のサーバ装置と前記第３のサーバ装置の少なくとも何れか一方から取得する取得ステップと、前記取得ステップにより取得された前記検証用情報に基づいて前記電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証する検証ステップと、を前記コンピュータにさらに実行させることを特徴とする。
【００１１】
請求項６に記載の発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置において、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信手段と、前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信手段と、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信手段により受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信手段と、を備えることを特徴とする。
【００１２】
請求項７に記載の発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第１のサーバ装置と、電子データを記憶するためのストレージを備える第２のサーバ装置と、に通信手段を介して接続可能な情報処理装置により実行される情報処理方法であって、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第１のサーバ装置へ送信する第１送信ステップと、前記第１のサーバ装置により生成された前記検証用情報を前記第１のサーバ装置から受信する受信ステップと、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第２のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第２のサーバ装置または前記他の記憶領域を有する第３のサーバ装置へ送信する第２送信ステップと、を含むことを特徴とする。
【発明の効果】
【００１３】
請求項１、６、又は７に記載の発明によれば、情報処理装置は、この情報処理装置において指示された電子データに対する検証用情報を生成させる要求を第１のサーバ装置へ行うことで第１のサーバ装置から検証用情報を受信する。そして、情報処理装置は、この情報処理装置において指示された電子データを情報処理装置において仮想的に使用可能な仮想記憶領域として第２のサーバ装置のストレージに設けられた所定の記憶領域に記憶させるとともに、第１のサーバ装置から受信した検証用情報を上記所定の記憶領域または上記所定の記憶領域とは異なる他の記憶領域に記憶させる。そのため、情報処理装置において指示された電子データに対して、サーバ側の修正なしに、検証用情報を効率良く付与することができる。
【００１４】
請求項２に記載の発明によれば、情報処理装置は、電子データが上記記憶領域に書き込まれる際に、上記電子データに対して検証用情報を効率良く付与することができる。
【００１５】
請求項３に記載の発明によれば、情報処理装置は、電子データを格納するファイルがクローズされる際に、上記電子データに対して検証用情報を効率良く付与することができる。
【００１６】
請求項４に記載の発明によれば、特定の用途に使用される電子データに対して検証用情報を効率良く付与することができる。
【００１７】
請求項５に記載の発明によれば、情報処理装置は、電子データが上記記憶領域から読み込まれる際に、この電子データに対して付与された検証用情報を用いて電子データが改竄又は変更されていないことを効率良く検証することができる。
【図面の簡単な説明】
【００１８】
【図１】本実施形態に係るストレージシステムの概要構成例を示す図である。
【図２】（Ａ）は、タイムスタンプサーバ１の概要構成例を示すブロック図である。（Ｂ）は、ストレージサーバ２の概要構成例を示すブロック図である。（Ｃ）は、ユーザ端末３の概要構成例を示すブロック図である。
【図３】ユーザ端末３において構築された仮想ドライブを示す図である。
【図４】（Ａ）は、実施例１において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。（Ｂ）は、タイムスタンプサーバ１の制御部１１におけるタイムスタンプ発行処理を示すフローチャートである。
【図５】（Ａ）は、実施例２において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。（Ｂ）は、実施例３において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。
【図６】（Ａ）は、読み込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。（Ｂ）は、（Ａ）に示すステップ３４におけるタイムスタンプ検証処理の詳細を示すフローチャートである。（Ｃ）は、タイムスタンプサーバ１の制御部１１におけるタイムスタンプ検証処理を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ストレージシステムに本発明を適用した場合の実施形態である。
【００２０】
［１．ストレージシステムの構成及び動作概要］
始めに、図１を参照して、本実施形態におけるストレージシステムの構成及び動作概要について説明する。図１は、本実施形態に係るストレージシステムの概要構成例を示す図である。図１に示すように、本実施形態に係るストレージシステムＳは、タイムスタンプサーバ１、ストレージサーバ２、及びユーザ端末３等により構成されている。
【００２１】
タイムスタンプサーバ１は、第１のサーバ装置の一例である。タイムスタンプサーバ１は、電子データに対して付与するタイムスタンプの発行と検証を行うサーバである。タイムスタンプサーバ１は、例えば時刻証明サービスを行う事業者により運営される。なお、タイムスタンプサーバ１を、タイムスタンプを発行するサーバと、タイムスタンプを検証するサーバとに物理的に分けるように構成してもよい。タイムスタンプは、例えば、時刻情報、電子データのハッシュ値、及び検証用データのセットを格納するファイルが生成されることで発行される。このセットを格納するファイルを、以下、「ＴＳ（Time Stamp）ファイル」という。ＴＳファイルは、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報の一例である。また、上記セットには、電子データのハッシュ値の代わりに電子データ自体が含まれてもよい。ただし、上記セットに電子データが含まれるよりも電子データのハッシュ値が含まれる方がＴＳファイルのデータ量を低減することができる。また、検証用データは、例えば時刻証明サービスを行う事業者により発行されるデータである。検証用データは、広義には、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報である。また、タイムスタンプサーバ１は、通信手段としてのＷＡＮ（Wide Area Network）に接続されている。ＷＡＮは、例えばインターネット等により構成される。
【００２２】
ストレージサーバ２は、第２のサーバ装置の一例である。ストレージサーバ２は、電子データを記憶するためのストレージを備えるサーバである。ストレージサーバ２は、例えば特定の会社内に設置され、特定の部署にて管理される。このストレージにおける記憶領域は、ユーザごとに区分され、且つユーザごとに使用可能に設定される。また、ストレージサーバ２及びユーザ端末３は、通信手段としてのＬＡＮ（Local Area Network）に接続されている。ユーザ端末３は、情報処理装置の一例である。ユーザ端末３は、ＬＡＮを介してストレージサーバ２に接続可能になっている。また、ユーザ端末３は、例えばインタネットサービスプロバイダにより割り当てられたＩＰアドレスを用いてルータＲを介してＷＡＮに接続可能になっている。そして、ユーザ端末３は、ＬＡＮ、ルータＲ及びＷＡＮを介してタイムスタンプサーバ１に接続可能になっている。なお、ストレージサーバ２は、ストレージにおける一部記憶領域を貸し出すサービスを行う事業者により運営されるものであってもよい。この場合、ストレージサーバ２は、タイムスタンプサーバ１と同様、ＷＡＮに接続される。
【００２３】
このようなストレージシステムＳにおいて、ユーザ端末３は、例えばユーザにより指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ１へ送信する。このタイムスタンプ発行要求は、言い換えれば、ＴＳファイルを生成させる要求である。タイムスタンプサーバ１は、タイムスタンプ発行要求を受信すると、電子データに対して付与するタイムスタンプを発行する。つまり、タイムスタンプサーバ１は、ＴＳファイルを生成する。そして、タイムスタンプサーバ１は、生成したＴＳファイルをユーザ端末３へ送信する。ユーザ端末３は、上記指示された電子データを格納するファイルと、受信されたＴＳファイルを、ストレージへ記憶させる要求をストレージサーバ２へ送信する。なお、電子データを格納するファイルを、以下、「電子ファイル」という。こうして、ストレージサーバ２は、ストレージへ記憶させる要求を受信すると、電子ファイルとＴＳファイルを、上記ストレージにおける記憶領域へ書き込む。
【００２４】
［２．ストレージシステムＳにおける各装置の構成］
次に、図２を参照して、ストレージシステムＳにおける各装置の構成について説明する。図２に本実施形態におけるストレージシステムＳにおける各装置の概要構成例を示す。
【００２５】
図２（Ａ）は、タイムスタンプサーバ１の概要構成例を示すブロック図である。図２（Ａ）に示すように、タイムスタンプサーバ１は、制御部１１、記憶部１２、及び通信部１３等を備えて構成される。制御部１１は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、及びＲＡＭ（Random Access Memory）等により構成される。また、制御部１１は、時計機能を備える。記憶部１２は、例えば、ハードディスク等により構成される。記憶部１２には、ＯＳ（Operating System）及びサーバプログラム等が記憶されている。制御部１１は、ＯＳ及びサーバプログラムを実行することにより、タイムスタンプサーバ１全体を制御する。通信部１３は、ＷＡＮに接続するための通信機器を備える。
【００２６】
図２（Ｂ）は、ストレージサーバ２の概要構成例を示すブロック図である。図２（Ｂ）に示すように、ストレージサーバ２は、制御部２１、記憶部２２、及び通信部２３等を備えて構成される。制御部２１は、ＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部２２は、上述したストレージ２２１を備える。ストレージ２２１は、例えば、ハードディスク等により構成される。記憶部２２には、ＯＳ及びサーバプログラム等が記憶されている。制御部２１は、ＯＳ及びサーバプログラムを実行することにより、ストレージサーバ２全体を制御する。通信部１３は、ＬＡＮに接続するための通信機器を備える。
【００２７】
図２（Ｃ）は、ユーザ端末３の概要構成例を示すブロック図である。図２（Ｃ）に示すように、ユーザ端末３は、制御部３１、記憶部３２、表示部３３、操作部３４、及び通信部３５等を備えて構成される。表示部３３は、各種情報を表示するディスプレイを備える。操作部３４は、例えばキーボードやマウス等を備える。通信部３５は、ＬＡＮに接続するための通信機器を備える。なお、ユーザ端末３には、パーソナルコンピュータ、スマートフォン、携帯電話機等が適用可能である。
【００２８】
制御部３１は、ＣＰＵ、ＲＯＭ、及びＲＡＭ等により構成される。記憶部３２は、例えば、ハードディスク等により構成される。記憶部３２には、ＯＳ及び仮想ドライブプログラム等が記憶されている。仮想ドライブプログラムは、本発明の情報処理プログラムの一例である。仮想ドライブプログラムにより、電子データに対してタイムスタンプを自動的に付与することが可能となる。仮想ドライブプログラムは、例えば、他のサーバからネットワークＮＷを介してダウンロードされるようにしてもよい。或いは、仮想ドライブプログラムは、タイムスタンプ自動付与プログラムは、ＣＤ−ＲＯＭ等の記録媒体に記録されてドライブを介して読み込まれるようにしてもよい。
【００２９】
［３．ストレージシステムＳの動作］
次に、本実施形態におけるストレージシステムＳの動作について説明する。なお、この動作の前提として、ユーザ端末３において、仮想ドライブプログラムは、例えば、ソフトウェアレイヤにおけるデバイスドライバ層にインストールされる。これにより、ストレージ２２１への読み書きを制御する仮想ドライブが構築される。図３（Ａ）は、ユーザ端末３において構築された仮想ドライブを示す図である。また、仮想ドライブプログラムのインストール時には、例えばユーザ登録画面（図示せず）がユーザ端末３の表示部３３に表示される。ユーザは、操作部３４を操作してユーザ登録画面から登録情報を入力する。この登録情報には、例えば、ユーザＩＤ、パスワード、及びメールアドレス等が含まれる。そして、この登録情報は、ストレージサーバ２へ送信されデータベースに登録される。これにより、ストレージ２２１に設けられた所定の記憶領域が仮想ドライブの記憶領域として使用可能に設定される。言い換えれば、仮想ドライブにより操作可能な記憶領域がストレージ２２１内に設定される。このことは、ユーザに対してストレージ２２１における所定の記憶領域の使用権限が与えられることを意味する。なお、仮想ドライブの記憶領域として使用可能に設定された記憶領域のアドレス情報は、ユーザＩＤに対応付けられてデータベースに登録される。また、仮想ドライブの記憶領域は、ユーザ端末３において仮想的に使用可能な仮想記憶領域の一例である。
【００３０】
このように、一旦、ユーザ登録が行われると、例えば、ユーザ端末３のＯＳ起動時にユーザにより入力されたユーザＩＤ及びパスワードがストレージサーバ２へ送信される。そして、ストレージサーバ２は、ユーザ端末３から受信したユーザＩＤ及びパスワードを用いてログイン処理を行う。このログイン処理によりユーザが認証されると、ユーザ端末３の仮想ドライブにより、上記設定された記憶領域へのアクセスが可能となる。このように、ユーザ端末３の仮想ドライブにより、上記設定された記憶領域へのアクセスが可能となった後の動作について、実施例１〜実施例４に分けて説明する。
【００３１】
（実施例１）
実施例１では、電子データの書き込み要求に応じて、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信される例である。図４（Ａ）は、実施例１において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。図４（Ｂ）は、タイムスタンプサーバ１の制御部１１におけるタイムスタンプ発行処理を示すフローチャートである。
【００３２】
図４（Ａ）に示す処理は、仮想ドライブが、例えばユーザの操作部３４の操作により指示された電子データの書き込み要求を受け付けた場合に開始される。つまり、図４（Ａ）に示す処理は、書き込みイベントが仮想ドライブによりフックされることにより開始される。図４（Ａ）に示す処理が開始されると、ユーザ端末３の制御部３１は、所定のハッシュ関数を用いて、上記指示された電子データのハッシュ値を生成する（ステップＳ１）。なお、ハッシュ関数は、例えば仮想ドライブプログラムに規定されている。ハッシュ関数は、例えば、ＳＨＡ−２５６である。また、ハッシュ関数として、ＳＨＡ−３８４、または、ＳＨＡ−５１２が用いられてもよい。次いで、ユーザ端末３の制御部３１は、タイムスタンプサーバ１へ接続する（ステップＳ２）。なお、タイムスタンプサーバ１へ接続するためのＩＰアドレスは、例えば仮想ドライブプログラムに規定されている。
【００３３】
次いで、ユーザ端末３の制御部３１は、上記指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ１へ送信する（ステップＳ３）。なお、タイムスタンプ発行要求には、上記ステップＳ１で生成された電子データのハッシュ値が付加される。なお、電子データのハッシュ値の代わりに電子データ自体をタイムスタンプ発行要求に付加するように構成してもよい。この場合、上記ステップＳ１でハッシュ値を生成する必要はない。
【００３４】
一方、図４（Ｂ）に示す処理は、タイムスタンプサーバ１がタイムスタンプ発行要求を受信した場合に開始される。図４（Ｂ）に示す処理が開始されると、タイムスタンプサーバ１の制御部１１は、電子データに対して付与するタイムスタンプを発行する（ステップＳ１１）。具体的には、制御部１１は、時計機能により現在時刻を取得する。時刻情報には、時刻だけでなく、年月日が含まれてもよい。また、制御部１１は、例えば、時々刻々と変化する検証用データを発行する。この検証用データは、例えば、時刻証明サービスを行う事業者しか発行し得ないデータである。そして、制御部１１は、現在時刻を示す時刻情報と、タイムスタンプ発行要求に付加されたハッシュ値と、発行した検証用データのセットを格納するＴＳファイルを生成する。
【００３５】
次いで、タイムスタンプサーバ１の制御部１１は、生成されたＴＳファイルをユーザ端末３へ送信する（ステップＳ１２）。
【００３６】
一方、ユーザ端末３の制御部３１は、タイムスタンプサーバ１からのＴＳファイルを受信すると（ステップＳ４）、ユーザ端末３の制御部３１は、ストレージサーバ２へ接続する（ステップＳ５）。そして、ユーザ端末３の制御部３１は、電子ファイルとＴＳファイルを、仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ２へ送信する（ステップＳ６）。仮想ドライブの記憶領域は、ユーザに対して使用可能に設定された、ストレージ２２１における記憶領域である。この仮想ドライブの記憶領域へ記憶させる要求には、上記指示された電子データを格納する電子ファイル、上記受信されたＴＳファイル、及びユーザ端末３のユーザのユーザＩＤが付加される。
【００３７】
こうして、ストレージサーバ２の制御部２１は、仮想ドライブの記憶領域へ記憶させる要求を受信すると、上記電子ファイルと上記ＴＳファイルを、ユーザに対して使用可能に設定された記憶領域へ書き込む。こうして、ユーザから見れば、図３（Ｂ）に示すように、仮想ドライブの記憶領域に、電子ファイルとＴＳファイルのセットが記憶保存された状態となる。つまり、電子ファイルとＴＳファイルとがセットとして保管される。これにより、電子データに対してタイムスタンプが付与されることになる。言い換えれば、電子データに対して電子署名が付与される。なお、ユーザに対して使用可能に設定された記憶領域は、ユーザＩＤにより特定することができる。
【００３８】
以上説明したように、実施例１によれば、ユーザ端末３は、ユーザ端末３において例えばユーザにより指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ１へ行うことでタイムスタンプサーバ１からＴＳファイルを受信する。そして、ユーザ端末３は、上記指示された電子データを格納する電子ファイル、及び上記受信されたＴＳファイルを、仮想ドライブの記憶領域へ記憶させる。そのため、ユーザにより作成された電子データに対して、ストレージサーバ２側の修正なしに、タイムスタンプを効率良く付与することができる。また、実施例１では、電子データが仮想ドライブの記憶領域に書き込まれる際に上記電子データに対してタイムスタンプを効率良く付与することができる。また、電子データの書き込み時にタイムスタンプを付与することで、電子データの書き込み時の時刻証明をタイムスタンプにより行うことができる。
【００３９】
（実施例２）
実施例２では、電子ファイルのクローズ要求に応じて、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信される例である。図５（Ａ）は、実施例２において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。図５（Ａ）に示す処理は、図４（Ａ）に示す処理と同様、仮想ドライブが書き込み要求を受け付けた場合に開始される。図５（Ａ）に示す処理が開始されると、ユーザ端末３の制御部３１は、ストレージサーバ２へ接続する（ステップＳ２１）。そして、ユーザ端末３の制御部３１は、電子ファイルを仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ２へ送信する（ステップＳ２２）。仮想ドライブの記憶領域へ記憶させる要求には、指示された電子ファイル、及びユーザ端末３のユーザのユーザＩＤが付加される。これにより、電子ファイルは、ユーザに対して使用可能に設定された、ストレージ２２１における記憶領域へ記憶保存される。
【００４０】
次いで、ユーザ端末３の制御部３１は、上記指示された電子ファイルのクローズ要求があったか否かを判定する（ステップＳ２３）。そして、電子ファイルのクローズ要求があった場合には（ステップＳ２３：ＹＥＳ）、ステップＳ２４に進む。ここで、上記ステップＳ２２において送信された電子ファイルがステップＳ２３における判定までの間に更新された場合、ストレージ２２１に保存された電子データの内容と、タイムスタンプが付与される電子データの内容とが一致しなくなる。そのため、ステップＳ２３の処理では、電子ファイルのクローズ要求があり、且つ、上記ステップＳ２２において送信された電子ファイルがステップＳ２３における判定までの間に更新されていない場合に、ステップＳ２４へ移行される。なお、上記ステップＳ２２において送信された電子ファイルがステップＳ２３における判定までの間に更新された場合、図４（Ａ）に示すステップＳ１〜Ｓ６の処理が行われるように構成するとよい。これにより、ストレージ２２１における記憶領域に保存されている電子ファイルは上書きされることになる。
【００４１】
なお、図５（Ａ）に示すステップＳ２４〜Ｓ２８の処理は、図４（Ｂ）に示すステップＳ１〜Ｓ５の処理と同様であるので、重複する説明を省略する。また、実施例２でも図４（Ｂ）に示す処理が行われることになる。
【００４２】
そして、ユーザ端末３の制御部３１は、ＴＳファイルを、仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ２へ送信する（ステップＳ２９）。この仮想ドライブの記憶領域へ記憶させる要求には、受信されたＴＳファイル、及びユーザ端末３のユーザのユーザＩＤが付加される。
【００４３】
こうして、ストレージサーバ２の制御部２１は、仮想ドライブの記憶領域へ記憶させる要求を受信すると、ＴＳファイルを、既に記憶された電子ファイルに対応付けて上記記憶領域へ記憶保存する。これにより、電子データに対してタイムスタンプが付与されることになる。
【００４４】
以上説明したように、実施例２によれば、ユーザ端末３は、電子データを格納する電子ファイルがクローズされる際に、上記電子データに対してタイムスタンプを効率良く付与することができる。つまり、実施例２では、実施例１とは異なり、電子データが仮想ドライブにより書き込まれる度に毎回、タイムスタンプが発行されることを回避することができる。そのため、ストレージシステムＳにおける各装置の処理負荷を軽減することができる。
【００４５】
（実施例３）
実施例３では、所定の条件が満たされる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信される例である。所定の条件が満たされる場合の例としては、電子ファイルに関係する情報に所定の文字列が含まれる場合が挙げられる。この場合、電子ファイルに関係する情報に所定の文字列が含まれる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信される。ここで、電子ファイルに関係する情報の例としては、電子ファイルのファイル名、電子ファイルの拡張子、電子ファイルの所在を示すパス、および電子ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つが挙げられる。ここで、電子ファイルの所在を示すパスとは、電子ファイルが仮想ドライブの記憶領域に記憶される際に記憶される仮想ドライブ内のフォルダ階層を指す。具体的な場所は記憶部２２における記憶領域となる。このパスは、例えば、「N:\CertificatedData\aaaaa」というように表される。図５（Ｂ）は、実施例３において書き込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。なお、図５（Ｂ）において、図５（Ａ）に示すステップと同様のステップについては同一の符号を付して重複する説明を省略する。また、実施例３でも図４（Ｂ）に示す処理が行われることになる。
【００４６】
図５（Ｂ）に示す例では、図５（Ａ）に示すステップＳ２３とステップＳ２４との間に、ステップＳ２４ａが追加されている。ステップＳ２４ａでは、ユーザ端末３の制御部３１は、電子ファイルに関係する情報に、所定の文字列が含まれるかを判定する。ここで、この文字列は、平仮名、カタカナ、漢字、アルファベット等からなる。また、文字列は、例えば仮想ドライブプログラムに規定される。この文字列の例としては、特定の名称や、会社内の部署等を表す文字列が挙げられる。そして、ユーザ端末３の制御部３１は、電子ファイルに関係する情報に所定の文字列が含まれると判定した場合（ステップＳ２４ａ：ＹＥＳ）、ステップＳ２４へ進んで、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信されることになる。
【００４７】
以上説明したように、実施例３によれば、特定の用途に使用される電子データに対してタイムスタンプを効率良く付与することができる。ここで、特定の用途に使用される電子データの例としては、例えば、特定の部署や、特定のプロジェクトで扱われるような電子データが挙げられる。
【００４８】
なお、所定の条件が満たされる場合の他の例としては、例えば、電子データへのタイムスタンプの付与設定がユーザによりなされている場合等が挙げられる。また、上記実施例１においても、上述した所定の条件が満たされる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ１へ送信されるように構成してもよい。例えば、ユーザ端末３の制御部３１は、指示された電子データの書き込み要求を受け付けた場合に、この電子データに対するタイムスタンプを生成させるか否かを所定の条件に基づいて判定する。そして、所定の条件が満たされる場合、電子データに対するタイムスタンプを生成させると判定され、図４（Ａ）に示すステップＳ１〜Ｓ６に示す処理が行われる。一方、電子データに対するタイムスタンプを生成させないと判定された場合、上記ステップＳ１〜Ｓ６の処理は行われず、上記電子ファイルだけがストレージ２２１の記憶領域へ書き込まれることになる。
【００４９】
（実施例４）
実施例４は、実施例１〜３において、電子ファイルの読み込み時に電子データが改竄又は変更されていないかを検証する例である。図６（Ａ）は、読み込み要求があった場合のユーザ端末３の制御部３１における処理を示すフローチャートである。図６（Ｂ）は、図６（Ａ）に示すステップ３４におけるタイムスタンプ検証処理の詳細を示すフローチャートである。図６（Ｃ）は、タイムスタンプサーバ１の制御部１１におけるタイムスタンプ検証処理を示すフローチャートである。なお、図６（Ｃ）に示すタイムスタンプ検証処理は、タイムスタンプ発行処理を行うサーバとは異なるサーバにより行われるように構成してもよい。
【００５０】
図６（Ａ）に示す処理は、仮想ドライブが例えばアプリケーションソフトウェアから指示された電子データの読み込み要求を受け付けた場合に開始される。図６（Ａ）に示す処理が開始されると、ユーザ端末３の制御部３１は、ストレージサーバ２に接続する（ステップＳ３１）。次いで、ユーザ端末３の制御部３１は、電子ファイルとＴＳファイルのセットを仮想ドライブの記憶領域から取得する要求をストレージサーバ２へ送信する（ステップＳ３２）。この仮想ドライブの記憶領域から取得する要求には、例えば、上記指示された電子データを格納する電子ファイルのファイル名、及びユーザ端末３のユーザのユーザＩＤが付加される。こうして、ストレージサーバ２の制御部２１は、受信した要求に付加されたファイル名に対応する電子ファイルと、この電子ファイルに対応するＴＳファイルのセットを、上記ストレージ２２１においてユーザに対して使用可能に設定された記憶領域から読み出す。そして、ストレージサーバ２は、読み出した電子ファイルとＴＳファイルをユーザ端末３へ送信する。こうして送信された電子ファイルとＴＳファイルは、ユーザ端末３により受信される（ステップＳ３３）。このように、ユーザ端末３の制御部３１は、電子データの読み込み要求に応じて、電子ファイルとＴＳファイルのセットをストレージサーバ２から取得することになる。
【００５１】
次いで、ユーザ端末３の制御部３１は、タイムスタンプ検証処理を行う（ステップ３４）。このタイムスタンプ検証処理は、取得されたＴＳファイルに基づいて電子データが所定の時刻に存在し且つこの時刻以降に改竄又は変更されていないことを検証する処理である。図６（Ｂ）に示すタイムスタンプ検証処理において、ユーザ端末３の制御部３１は、所定のハッシュ関数を用いて、ストレージサーバ２から取得された電子ファイルに格納される電子データのハッシュ値を生成する（ステップＳ３４１）。次いで、ユーザ端末３の制御部３１は、タイムスタンプサーバ１へ接続する（ステップＳ３４２）。次いで、ユーザ端末３の制御部３１は、上記指示された電子データのタイムスタンプ検証要求をタイムスタンプサーバ１へ送信する（ステップＳ３４３）。なお、タイムスタンプ検証要求には、ストレージサーバ２から取得されたＴＳファイルと、上記ステップＳ３４１で生成された電子データのハッシュ値とが付加される。なお、電子データのハッシュ値の代わりに電子データ自体をタイムスタンプ検証要求に付加するように構成してもよい。この場合、上記ステップＳ３４１でハッシュ値を生成する必要はない。
【００５２】
一方、図６（Ｃ）に示す処理は、タイムスタンプサーバ１がタイムスタンプ検証要求を受信した場合に開始される。図６（Ｃ）に示す処理が開始されると、タイムスタンプサーバ１の制御部１１は、受信されたＴＳファイルに基づいてタイムスタンプを検証する（ステップＳ４１）。より具体的には、制御部１１は、例えば、受信された電子データのハッシュ値とＴＳファイルとを基に所定のアルゴリズムで計算を行う。なお、このような検証を行うアルゴリズムは公知であるため詳しい説明を省略する。そして、制御部１１は、上記計算結果が例えば時刻証明サービスを行う事業者の公開情報と一致するか否かをチェックする。計算結果が公開情報と一致する場合、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないということになる。なお、電子データ自体とＴＳファイルとを基に所定のアルゴリズムで計算が行われるように構成してもよい。
【００５３】
次いで、タイムスタンプサーバ１の制御部１１は、タイムスタンプの検証結果をユーザ端末３へ送信する（ステップＳ４２）。この検証結果は、例えば、上記計算結果が上記事業者の公開情報と一致するか否かを示す。そして、ユーザ端末３の制御部３１は、タイムスタンプサーバ１からの検証結果を受信する（ステップＳ３４４）。なお、ＴＳファイルが単独で検証可能な情報を持つ場合は、タイムスタンプサーバ１との通信を行わずに、ユーザ端末３の制御部３１がＴＳファイル単独で検証するように構成してもよい。この場合、タイムスタンプ検証要求がタイムスタンプサーバ１に送信される必要はない。
【００５４】
以上説明したように、実施例４によれば、ユーザ端末３は、電子データが仮想ドライブから読み込まれる際に、この電子データに対して付与されたタイムスタンプを用いて電子データが改竄又は変更されていないことを効率良く検証することができる。
【００５５】
なお、上記実施形態では、タイムスタンプが、時刻情報、電子データのハッシュ値、及び検証用データのセットで構成される例を示した。この構成の別の例として、タイムスタンプが、時刻情報と、電子データのハッシュ値のセットで構成されるものであってもよい。この場合におけるタイムスタンプ検証処理では、ストレージサーバ２から取得されたＴＳファイルに格納されるハッシュ値と、上記ステップＳ３４１で生成された電子データのハッシュ値とが一致するか否かがチェックされる。そして、双方のハッシュ値が一致する場合、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないということになる。また、電子データのハッシュ値はユーザの秘密鍵により暗号化してタイムスタンプサーバ１へ送信し、タイムスタンプサーバ１がユーザの公開鍵により復号してからタイムスタンプの検証を行うように構成してもよい。
【００５６】
また、本実施形態では、仮想ドライブを用いた実施例を記載したが、これに限定されるものではない。例えば、ストレージサーバ２またはクラウドサービスの所定の記憶領域を、仮想的にユーザ端末に使用させる技術であればよい。仮想ドライブ以外に、ユーザ端末３において仮想的に使用可能な仮想記憶領域としてＤＲＯＰＢＯＸ（登録商標）が用いられてもよい。この技術は、ユーザ端末３のＯＳ上に、フォルダが作成される。作成されたフォルダと、ストレージサーバ２またはクラウドサービスの所定の記憶領域は、定期的に同期を計る。同期が計られることで、フォルダに作成されたファイルが、自動で、ストレージサーバ２またはクラウドサービスの所定の記憶領域に複製される。ＤＲＯＰＢＯＸの技術では、ユーザ端末３のＯＳ上に作成された上述のフォルダにより、ストレージサーバ２またはクラウドサービスの所定の記憶領域が、仮想的にユーザ端末に使用可能になる。
【００５７】
また、本実施形態では、電子ファイルをストレージ２２１に設けられた所定の記憶領域に記憶させる要求をストレージサーバ２へ送信するとともに、この電子ファイルに対応するＴＳファイルを同じストレージ２２１に設けられた所定の記憶領域に記憶させる要求をストレージサーバ２へ送信するように構成したが、これに限定されるものではない。例えば、ユーザ端末３は、ストレージ２２１に記憶される電子ファイルに対応するＴＳファイルを、ストレージ２２１に設けられた所定の記憶領域とは異なる他の記憶領域に記憶させる要求を、上記他の記憶領域を有する第３のサーバ装置へ送信するように構成してもよい。この場合における「他の記憶領域」は、ユーザ端末３において仮想的に使用可能な仮想記憶領域として、第３のサーバ装置が備えるストレージに設けられる。この第３のサーバ装置は、例えば、ストレージサーバ２と物理的に分離されたストレージサーバである。
【符号の説明】
【００５８】
１  タイムスタンプサーバ
２  ストレージサーバ
３  ユーザ端末
２２１  ストレージ
Ｓ  ストレージシステム
【図１】
2013077188.tif 000003
【図２】
2013077188.tif 000004
【図３】
2013077188.tif 000005
【図４】
2013077188.tif 000006
【図５】
2013077188.tif 000007
【図６】
2013077188.tif 000008