説明

情報処理プログラム、情報処理装置、及び情報処理方法

【課題】ユーザにより作成された電子データに対して、サーバ側の修正なしに、タイムスタンプを効率良く付与することが可能な情報処理プログラム、情報処理装置、及び情報処理方法を提供する。
【解決手段】情報処理装置は、情報処理装置において指示された電子データに対する検証用情報を生成させる要求を第1のサーバ装置へ送信することにより検証用情報を受信する。そして、情報処理装置は、指示された電子データ及び受信された検証用情報を、情報処理装置において仮想的に使用可能な仮想記憶領域として第2のサーバ装置のストレージに設けられた所定の記憶領域に記憶させる要求を第2のサーバ装置へ送信する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子データに対してタイムスタンプを付与する技術分野に関する。
【背景技術】
【0002】
従来のタイムスタンプを発行する技術では、所定のサーバに電子データが登録されたことに応じて、このサーバがタイムスタンプを発行する。または、所定のサーバに電子データが登録されたことに応じて、このサーバがタイムスタンプを発行する装置へタイムスタンプの発行を要求する。こうして発行されたタイムスタンプは、電子データに付与される。これにより、タイムスタンプが付与された電子データがある時刻に存在し且つこの時刻以降に改竄又は変更されていないことを、後から検証することが可能になっている。電子データの改竄を検証する技術としては、例えば特許文献1の技術が知られている。特許文献1の技術では、ウェブサーバが負荷分散された多重構成を採る大規模システムにおいて、ウェブサーバ毎に複数用意されたコンテンツチェック装置がウェブサーバにより生成されるコンテンツの改竄チェックを行うようになっている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2003-140969号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、電子データを登録するサーバ側で自動的にタイムスタンプを発行するためには、サーバ側にタイムスタンプの発行プログラムを組み込む必要がある。つまり、サーバ側のプログラムの修正が必要となる。しかしながら、サーバの運営者又は管理者がこのような修正を認めない場合もある。そのため、例えば、近年のクラウドサービスを利用するユーザにとって使い勝手が良く無い場合があった。例えば、ネットワーク上でストレージの一部記憶領域を貸し出すサービスを利用するユーザが、自ら作成した電子データをユーザ端末からサーバを介してストレージに記憶させる場合がある。この場合、電子データにタイムスタンプを付与してストレージに記憶させることができないとなると使い勝手が良くない。
【0005】
そこで、本発明は、以上の点等に鑑みてなされたものであり、例えばユーザにより作成された電子データに対して、サーバ側の修正なしに、タイムスタンプを効率良く付与することが可能な情報処理プログラム、情報処理装置、及び情報処理方法を提供すること等を課題とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の情報処理プログラムの発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置に含まれるコンピュータに、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信ステップと、前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信ステップと、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信ステップと、を実行させることを特徴とする。
【0007】
請求項2に記載の発明は、請求項1に記載の情報処理プログラムにおいて、前記第1送信ステップは、前記指示された電子データの書き込み要求に応じて、前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信することを特徴とする。
【0008】
請求項3に記載の発明は、請求項1に記載の情報処理プログラムにおいて、前記第2送信ステップは、前記指示された電子データの書き込み要求に応じて、前記指示された電子データを、前記記憶領域に記憶させる要求を前記第2のサーバ装置へ送信し、さらに、前記第2送信ステップは、前記電子データを格納するファイルのクローズ要求に応じて、前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信し、前記第1のサーバ装置により生成された前記検証用情報を前記記憶領域に記憶させる要求を前記第2のサーバ装置または前記第3のサーバ装置へ送信することを特徴とする。
【0009】
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載の情報処理プログラムにおいて、前記情報処理プログラムは、前記指示された電子データを格納するファイルのファイル名、前記ファイルの拡張子、前記ファイルの所在を示すパス、および前記ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つに、所定の文字列が含まれるかを判定する判定ステップを前記コンピュータにさらに実行させ、前記第1送信ステップは、前記判定ステップにより前記文字例が含まれると判定された場合に、前記指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信することを特徴とする。
【0010】
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載の情報処理プログラムにおいて、前記情報処理プログラムは、前記コンピュータに、前記ストレージにおける前記記憶領域に記憶された前記電子データの読み込み要求に応じて、前記記憶領域に記憶された前記電子データ及び前記検証用情報を前記第2のサーバ装置と前記第3のサーバ装置の少なくとも何れか一方から取得する取得ステップと、前記取得ステップにより取得された前記検証用情報に基づいて前記電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証する検証ステップと、を前記コンピュータにさらに実行させることを特徴とする。
【0011】
請求項6に記載の発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置において、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信手段と、前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信手段と、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信手段により受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信手段と、を備えることを特徴とする。
【0012】
請求項7に記載の発明は、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置により実行される情報処理方法であって、前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信ステップと、前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信ステップと、前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信ステップと、を含むことを特徴とする。
【発明の効果】
【0013】
請求項1、6、又は7に記載の発明によれば、情報処理装置は、この情報処理装置において指示された電子データに対する検証用情報を生成させる要求を第1のサーバ装置へ行うことで第1のサーバ装置から検証用情報を受信する。そして、情報処理装置は、この情報処理装置において指示された電子データを情報処理装置において仮想的に使用可能な仮想記憶領域として第2のサーバ装置のストレージに設けられた所定の記憶領域に記憶させるとともに、第1のサーバ装置から受信した検証用情報を上記所定の記憶領域または上記所定の記憶領域とは異なる他の記憶領域に記憶させる。そのため、情報処理装置において指示された電子データに対して、サーバ側の修正なしに、検証用情報を効率良く付与することができる。
【0014】
請求項2に記載の発明によれば、情報処理装置は、電子データが上記記憶領域に書き込まれる際に、上記電子データに対して検証用情報を効率良く付与することができる。
【0015】
請求項3に記載の発明によれば、情報処理装置は、電子データを格納するファイルがクローズされる際に、上記電子データに対して検証用情報を効率良く付与することができる。
【0016】
請求項4に記載の発明によれば、特定の用途に使用される電子データに対して検証用情報を効率良く付与することができる。
【0017】
請求項5に記載の発明によれば、情報処理装置は、電子データが上記記憶領域から読み込まれる際に、この電子データに対して付与された検証用情報を用いて電子データが改竄又は変更されていないことを効率良く検証することができる。
【図面の簡単な説明】
【0018】
【図1】本実施形態に係るストレージシステムの概要構成例を示す図である。
【図2】(A)は、タイムスタンプサーバ1の概要構成例を示すブロック図である。(B)は、ストレージサーバ2の概要構成例を示すブロック図である。(C)は、ユーザ端末3の概要構成例を示すブロック図である。
【図3】ユーザ端末3において構築された仮想ドライブを示す図である。
【図4】(A)は、実施例1において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。(B)は、タイムスタンプサーバ1の制御部11におけるタイムスタンプ発行処理を示すフローチャートである。
【図5】(A)は、実施例2において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。(B)は、実施例3において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。
【図6】(A)は、読み込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。(B)は、(A)に示すステップ34におけるタイムスタンプ検証処理の詳細を示すフローチャートである。(C)は、タイムスタンプサーバ1の制御部11におけるタイムスタンプ検証処理を示すフローチャートである。
【発明を実施するための形態】
【0019】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ストレージシステムに本発明を適用した場合の実施形態である。
【0020】
1.ストレージシステムの構成及び動作概要
始めに、図1を参照して、本実施形態におけるストレージシステムの構成及び動作概要について説明する。図1は、本実施形態に係るストレージシステムの概要構成例を示す図である。図1に示すように、本実施形態に係るストレージシステムSは、タイムスタンプサーバ1、ストレージサーバ2、及びユーザ端末3等により構成されている。
【0021】
タイムスタンプサーバ1は、第1のサーバ装置の一例である。タイムスタンプサーバ1は、電子データに対して付与するタイムスタンプの発行と検証を行うサーバである。タイムスタンプサーバ1は、例えば時刻証明サービスを行う事業者により運営される。なお、タイムスタンプサーバ1を、タイムスタンプを発行するサーバと、タイムスタンプを検証するサーバとに物理的に分けるように構成してもよい。タイムスタンプは、例えば、時刻情報、電子データのハッシュ値、及び検証用データのセットを格納するファイルが生成されることで発行される。このセットを格納するファイルを、以下、「TS(Time Stamp)ファイル」という。TSファイルは、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報の一例である。また、上記セットには、電子データのハッシュ値の代わりに電子データ自体が含まれてもよい。ただし、上記セットに電子データが含まれるよりも電子データのハッシュ値が含まれる方がTSファイルのデータ量を低減することができる。また、検証用データは、例えば時刻証明サービスを行う事業者により発行されるデータである。検証用データは、広義には、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報である。また、タイムスタンプサーバ1は、通信手段としてのWAN(Wide Area Network)に接続されている。WANは、例えばインターネット等により構成される。
【0022】
ストレージサーバ2は、第2のサーバ装置の一例である。ストレージサーバ2は、電子データを記憶するためのストレージを備えるサーバである。ストレージサーバ2は、例えば特定の会社内に設置され、特定の部署にて管理される。このストレージにおける記憶領域は、ユーザごとに区分され、且つユーザごとに使用可能に設定される。また、ストレージサーバ2及びユーザ端末3は、通信手段としてのLAN(Local Area Network)に接続されている。ユーザ端末3は、情報処理装置の一例である。ユーザ端末3は、LANを介してストレージサーバ2に接続可能になっている。また、ユーザ端末3は、例えばインタネットサービスプロバイダにより割り当てられたIPアドレスを用いてルータRを介してWANに接続可能になっている。そして、ユーザ端末3は、LAN、ルータR及びWANを介してタイムスタンプサーバ1に接続可能になっている。なお、ストレージサーバ2は、ストレージにおける一部記憶領域を貸し出すサービスを行う事業者により運営されるものであってもよい。この場合、ストレージサーバ2は、タイムスタンプサーバ1と同様、WANに接続される。
【0023】
このようなストレージシステムSにおいて、ユーザ端末3は、例えばユーザにより指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ1へ送信する。このタイムスタンプ発行要求は、言い換えれば、TSファイルを生成させる要求である。タイムスタンプサーバ1は、タイムスタンプ発行要求を受信すると、電子データに対して付与するタイムスタンプを発行する。つまり、タイムスタンプサーバ1は、TSファイルを生成する。そして、タイムスタンプサーバ1は、生成したTSファイルをユーザ端末3へ送信する。ユーザ端末3は、上記指示された電子データを格納するファイルと、受信されたTSファイルを、ストレージへ記憶させる要求をストレージサーバ2へ送信する。なお、電子データを格納するファイルを、以下、「電子ファイル」という。こうして、ストレージサーバ2は、ストレージへ記憶させる要求を受信すると、電子ファイルとTSファイルを、上記ストレージにおける記憶領域へ書き込む。
【0024】
2.ストレージシステムSにおける各装置の構成
次に、図2を参照して、ストレージシステムSにおける各装置の構成について説明する。図2に本実施形態におけるストレージシステムSにおける各装置の概要構成例を示す。
【0025】
図2(A)は、タイムスタンプサーバ1の概要構成例を示すブロック図である。図2(A)に示すように、タイムスタンプサーバ1は、制御部11、記憶部12、及び通信部13等を備えて構成される。制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。また、制御部11は、時計機能を備える。記憶部12は、例えば、ハードディスク等により構成される。記憶部12には、OS(Operating System)及びサーバプログラム等が記憶されている。制御部11は、OS及びサーバプログラムを実行することにより、タイムスタンプサーバ1全体を制御する。通信部13は、WANに接続するための通信機器を備える。
【0026】
図2(B)は、ストレージサーバ2の概要構成例を示すブロック図である。図2(B)に示すように、ストレージサーバ2は、制御部21、記憶部22、及び通信部23等を備えて構成される。制御部21は、CPU、ROM、及びRAM等により構成される。記憶部22は、上述したストレージ221を備える。ストレージ221は、例えば、ハードディスク等により構成される。記憶部22には、OS及びサーバプログラム等が記憶されている。制御部21は、OS及びサーバプログラムを実行することにより、ストレージサーバ2全体を制御する。通信部13は、LANに接続するための通信機器を備える。
【0027】
図2(C)は、ユーザ端末3の概要構成例を示すブロック図である。図2(C)に示すように、ユーザ端末3は、制御部31、記憶部32、表示部33、操作部34、及び通信部35等を備えて構成される。表示部33は、各種情報を表示するディスプレイを備える。操作部34は、例えばキーボードやマウス等を備える。通信部35は、LANに接続するための通信機器を備える。なお、ユーザ端末3には、パーソナルコンピュータ、スマートフォン、携帯電話機等が適用可能である。
【0028】
制御部31は、CPU、ROM、及びRAM等により構成される。記憶部32は、例えば、ハードディスク等により構成される。記憶部32には、OS及び仮想ドライブプログラム等が記憶されている。仮想ドライブプログラムは、本発明の情報処理プログラムの一例である。仮想ドライブプログラムにより、電子データに対してタイムスタンプを自動的に付与することが可能となる。仮想ドライブプログラムは、例えば、他のサーバからネットワークNWを介してダウンロードされるようにしてもよい。或いは、仮想ドライブプログラムは、タイムスタンプ自動付与プログラムは、CD−ROM等の記録媒体に記録されてドライブを介して読み込まれるようにしてもよい。
【0029】
3.ストレージシステムSの動作
次に、本実施形態におけるストレージシステムSの動作について説明する。なお、この動作の前提として、ユーザ端末3において、仮想ドライブプログラムは、例えば、ソフトウェアレイヤにおけるデバイスドライバ層にインストールされる。これにより、ストレージ221への読み書きを制御する仮想ドライブが構築される。図3(A)は、ユーザ端末3において構築された仮想ドライブを示す図である。また、仮想ドライブプログラムのインストール時には、例えばユーザ登録画面(図示せず)がユーザ端末3の表示部33に表示される。ユーザは、操作部34を操作してユーザ登録画面から登録情報を入力する。この登録情報には、例えば、ユーザID、パスワード、及びメールアドレス等が含まれる。そして、この登録情報は、ストレージサーバ2へ送信されデータベースに登録される。これにより、ストレージ221に設けられた所定の記憶領域が仮想ドライブの記憶領域として使用可能に設定される。言い換えれば、仮想ドライブにより操作可能な記憶領域がストレージ221内に設定される。このことは、ユーザに対してストレージ221における所定の記憶領域の使用権限が与えられることを意味する。なお、仮想ドライブの記憶領域として使用可能に設定された記憶領域のアドレス情報は、ユーザIDに対応付けられてデータベースに登録される。また、仮想ドライブの記憶領域は、ユーザ端末3において仮想的に使用可能な仮想記憶領域の一例である。
【0030】
このように、一旦、ユーザ登録が行われると、例えば、ユーザ端末3のOS起動時にユーザにより入力されたユーザID及びパスワードがストレージサーバ2へ送信される。そして、ストレージサーバ2は、ユーザ端末3から受信したユーザID及びパスワードを用いてログイン処理を行う。このログイン処理によりユーザが認証されると、ユーザ端末3の仮想ドライブにより、上記設定された記憶領域へのアクセスが可能となる。このように、ユーザ端末3の仮想ドライブにより、上記設定された記憶領域へのアクセスが可能となった後の動作について、実施例1〜実施例4に分けて説明する。
【0031】
(実施例1)
実施例1では、電子データの書き込み要求に応じて、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信される例である。図4(A)は、実施例1において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。図4(B)は、タイムスタンプサーバ1の制御部11におけるタイムスタンプ発行処理を示すフローチャートである。
【0032】
図4(A)に示す処理は、仮想ドライブが、例えばユーザの操作部34の操作により指示された電子データの書き込み要求を受け付けた場合に開始される。つまり、図4(A)に示す処理は、書き込みイベントが仮想ドライブによりフックされることにより開始される。図4(A)に示す処理が開始されると、ユーザ端末3の制御部31は、所定のハッシュ関数を用いて、上記指示された電子データのハッシュ値を生成する(ステップS1)。なお、ハッシュ関数は、例えば仮想ドライブプログラムに規定されている。ハッシュ関数は、例えば、SHA−256である。また、ハッシュ関数として、SHA−384、または、SHA−512が用いられてもよい。次いで、ユーザ端末3の制御部31は、タイムスタンプサーバ1へ接続する(ステップS2)。なお、タイムスタンプサーバ1へ接続するためのIPアドレスは、例えば仮想ドライブプログラムに規定されている。
【0033】
次いで、ユーザ端末3の制御部31は、上記指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ1へ送信する(ステップS3)。なお、タイムスタンプ発行要求には、上記ステップS1で生成された電子データのハッシュ値が付加される。なお、電子データのハッシュ値の代わりに電子データ自体をタイムスタンプ発行要求に付加するように構成してもよい。この場合、上記ステップS1でハッシュ値を生成する必要はない。
【0034】
一方、図4(B)に示す処理は、タイムスタンプサーバ1がタイムスタンプ発行要求を受信した場合に開始される。図4(B)に示す処理が開始されると、タイムスタンプサーバ1の制御部11は、電子データに対して付与するタイムスタンプを発行する(ステップS11)。具体的には、制御部11は、時計機能により現在時刻を取得する。時刻情報には、時刻だけでなく、年月日が含まれてもよい。また、制御部11は、例えば、時々刻々と変化する検証用データを発行する。この検証用データは、例えば、時刻証明サービスを行う事業者しか発行し得ないデータである。そして、制御部11は、現在時刻を示す時刻情報と、タイムスタンプ発行要求に付加されたハッシュ値と、発行した検証用データのセットを格納するTSファイルを生成する。
【0035】
次いで、タイムスタンプサーバ1の制御部11は、生成されたTSファイルをユーザ端末3へ送信する(ステップS12)。
【0036】
一方、ユーザ端末3の制御部31は、タイムスタンプサーバ1からのTSファイルを受信すると(ステップS4)、ユーザ端末3の制御部31は、ストレージサーバ2へ接続する(ステップS5)。そして、ユーザ端末3の制御部31は、電子ファイルとTSファイルを、仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ2へ送信する(ステップS6)。仮想ドライブの記憶領域は、ユーザに対して使用可能に設定された、ストレージ221における記憶領域である。この仮想ドライブの記憶領域へ記憶させる要求には、上記指示された電子データを格納する電子ファイル、上記受信されたTSファイル、及びユーザ端末3のユーザのユーザIDが付加される。
【0037】
こうして、ストレージサーバ2の制御部21は、仮想ドライブの記憶領域へ記憶させる要求を受信すると、上記電子ファイルと上記TSファイルを、ユーザに対して使用可能に設定された記憶領域へ書き込む。こうして、ユーザから見れば、図3(B)に示すように、仮想ドライブの記憶領域に、電子ファイルとTSファイルのセットが記憶保存された状態となる。つまり、電子ファイルとTSファイルとがセットとして保管される。これにより、電子データに対してタイムスタンプが付与されることになる。言い換えれば、電子データに対して電子署名が付与される。なお、ユーザに対して使用可能に設定された記憶領域は、ユーザIDにより特定することができる。
【0038】
以上説明したように、実施例1によれば、ユーザ端末3は、ユーザ端末3において例えばユーザにより指示された電子データに対するタイムスタンプ発行要求をタイムスタンプサーバ1へ行うことでタイムスタンプサーバ1からTSファイルを受信する。そして、ユーザ端末3は、上記指示された電子データを格納する電子ファイル、及び上記受信されたTSファイルを、仮想ドライブの記憶領域へ記憶させる。そのため、ユーザにより作成された電子データに対して、ストレージサーバ2側の修正なしに、タイムスタンプを効率良く付与することができる。また、実施例1では、電子データが仮想ドライブの記憶領域に書き込まれる際に上記電子データに対してタイムスタンプを効率良く付与することができる。また、電子データの書き込み時にタイムスタンプを付与することで、電子データの書き込み時の時刻証明をタイムスタンプにより行うことができる。
【0039】
(実施例2)
実施例2では、電子ファイルのクローズ要求に応じて、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信される例である。図5(A)は、実施例2において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。図5(A)に示す処理は、図4(A)に示す処理と同様、仮想ドライブが書き込み要求を受け付けた場合に開始される。図5(A)に示す処理が開始されると、ユーザ端末3の制御部31は、ストレージサーバ2へ接続する(ステップS21)。そして、ユーザ端末3の制御部31は、電子ファイルを仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ2へ送信する(ステップS22)。仮想ドライブの記憶領域へ記憶させる要求には、指示された電子ファイル、及びユーザ端末3のユーザのユーザIDが付加される。これにより、電子ファイルは、ユーザに対して使用可能に設定された、ストレージ221における記憶領域へ記憶保存される。
【0040】
次いで、ユーザ端末3の制御部31は、上記指示された電子ファイルのクローズ要求があったか否かを判定する(ステップS23)。そして、電子ファイルのクローズ要求があった場合には(ステップS23:YES)、ステップS24に進む。ここで、上記ステップS22において送信された電子ファイルがステップS23における判定までの間に更新された場合、ストレージ221に保存された電子データの内容と、タイムスタンプが付与される電子データの内容とが一致しなくなる。そのため、ステップS23の処理では、電子ファイルのクローズ要求があり、且つ、上記ステップS22において送信された電子ファイルがステップS23における判定までの間に更新されていない場合に、ステップS24へ移行される。なお、上記ステップS22において送信された電子ファイルがステップS23における判定までの間に更新された場合、図4(A)に示すステップS1〜S6の処理が行われるように構成するとよい。これにより、ストレージ221における記憶領域に保存されている電子ファイルは上書きされることになる。
【0041】
なお、図5(A)に示すステップS24〜S28の処理は、図4(B)に示すステップS1〜S5の処理と同様であるので、重複する説明を省略する。また、実施例2でも図4(B)に示す処理が行われることになる。
【0042】
そして、ユーザ端末3の制御部31は、TSファイルを、仮想ドライブの記憶領域へ記憶させる要求をストレージサーバ2へ送信する(ステップS29)。この仮想ドライブの記憶領域へ記憶させる要求には、受信されたTSファイル、及びユーザ端末3のユーザのユーザIDが付加される。
【0043】
こうして、ストレージサーバ2の制御部21は、仮想ドライブの記憶領域へ記憶させる要求を受信すると、TSファイルを、既に記憶された電子ファイルに対応付けて上記記憶領域へ記憶保存する。これにより、電子データに対してタイムスタンプが付与されることになる。
【0044】
以上説明したように、実施例2によれば、ユーザ端末3は、電子データを格納する電子ファイルがクローズされる際に、上記電子データに対してタイムスタンプを効率良く付与することができる。つまり、実施例2では、実施例1とは異なり、電子データが仮想ドライブにより書き込まれる度に毎回、タイムスタンプが発行されることを回避することができる。そのため、ストレージシステムSにおける各装置の処理負荷を軽減することができる。
【0045】
(実施例3)
実施例3では、所定の条件が満たされる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信される例である。所定の条件が満たされる場合の例としては、電子ファイルに関係する情報に所定の文字列が含まれる場合が挙げられる。この場合、電子ファイルに関係する情報に所定の文字列が含まれる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信される。ここで、電子ファイルに関係する情報の例としては、電子ファイルのファイル名、電子ファイルの拡張子、電子ファイルの所在を示すパス、および電子ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つが挙げられる。ここで、電子ファイルの所在を示すパスとは、電子ファイルが仮想ドライブの記憶領域に記憶される際に記憶される仮想ドライブ内のフォルダ階層を指す。具体的な場所は記憶部22における記憶領域となる。このパスは、例えば、「N:\CertificatedData\aaaaa」というように表される。図5(B)は、実施例3において書き込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。なお、図5(B)において、図5(A)に示すステップと同様のステップについては同一の符号を付して重複する説明を省略する。また、実施例3でも図4(B)に示す処理が行われることになる。
【0046】
図5(B)に示す例では、図5(A)に示すステップS23とステップS24との間に、ステップS24aが追加されている。ステップS24aでは、ユーザ端末3の制御部31は、電子ファイルに関係する情報に、所定の文字列が含まれるかを判定する。ここで、この文字列は、平仮名、カタカナ、漢字、アルファベット等からなる。また、文字列は、例えば仮想ドライブプログラムに規定される。この文字列の例としては、特定の名称や、会社内の部署等を表す文字列が挙げられる。そして、ユーザ端末3の制御部31は、電子ファイルに関係する情報に所定の文字列が含まれると判定した場合(ステップS24a:YES)、ステップS24へ進んで、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信されることになる。
【0047】
以上説明したように、実施例3によれば、特定の用途に使用される電子データに対してタイムスタンプを効率良く付与することができる。ここで、特定の用途に使用される電子データの例としては、例えば、特定の部署や、特定のプロジェクトで扱われるような電子データが挙げられる。
【0048】
なお、所定の条件が満たされる場合の他の例としては、例えば、電子データへのタイムスタンプの付与設定がユーザによりなされている場合等が挙げられる。また、上記実施例1においても、上述した所定の条件が満たされる場合に、電子データに対するタイムスタンプ発行要求がタイムスタンプサーバ1へ送信されるように構成してもよい。例えば、ユーザ端末3の制御部31は、指示された電子データの書き込み要求を受け付けた場合に、この電子データに対するタイムスタンプを生成させるか否かを所定の条件に基づいて判定する。そして、所定の条件が満たされる場合、電子データに対するタイムスタンプを生成させると判定され、図4(A)に示すステップS1〜S6に示す処理が行われる。一方、電子データに対するタイムスタンプを生成させないと判定された場合、上記ステップS1〜S6の処理は行われず、上記電子ファイルだけがストレージ221の記憶領域へ書き込まれることになる。
【0049】
(実施例4)
実施例4は、実施例1〜3において、電子ファイルの読み込み時に電子データが改竄又は変更されていないかを検証する例である。図6(A)は、読み込み要求があった場合のユーザ端末3の制御部31における処理を示すフローチャートである。図6(B)は、図6(A)に示すステップ34におけるタイムスタンプ検証処理の詳細を示すフローチャートである。図6(C)は、タイムスタンプサーバ1の制御部11におけるタイムスタンプ検証処理を示すフローチャートである。なお、図6(C)に示すタイムスタンプ検証処理は、タイムスタンプ発行処理を行うサーバとは異なるサーバにより行われるように構成してもよい。
【0050】
図6(A)に示す処理は、仮想ドライブが例えばアプリケーションソフトウェアから指示された電子データの読み込み要求を受け付けた場合に開始される。図6(A)に示す処理が開始されると、ユーザ端末3の制御部31は、ストレージサーバ2に接続する(ステップS31)。次いで、ユーザ端末3の制御部31は、電子ファイルとTSファイルのセットを仮想ドライブの記憶領域から取得する要求をストレージサーバ2へ送信する(ステップS32)。この仮想ドライブの記憶領域から取得する要求には、例えば、上記指示された電子データを格納する電子ファイルのファイル名、及びユーザ端末3のユーザのユーザIDが付加される。こうして、ストレージサーバ2の制御部21は、受信した要求に付加されたファイル名に対応する電子ファイルと、この電子ファイルに対応するTSファイルのセットを、上記ストレージ221においてユーザに対して使用可能に設定された記憶領域から読み出す。そして、ストレージサーバ2は、読み出した電子ファイルとTSファイルをユーザ端末3へ送信する。こうして送信された電子ファイルとTSファイルは、ユーザ端末3により受信される(ステップS33)。このように、ユーザ端末3の制御部31は、電子データの読み込み要求に応じて、電子ファイルとTSファイルのセットをストレージサーバ2から取得することになる。
【0051】
次いで、ユーザ端末3の制御部31は、タイムスタンプ検証処理を行う(ステップ34)。このタイムスタンプ検証処理は、取得されたTSファイルに基づいて電子データが所定の時刻に存在し且つこの時刻以降に改竄又は変更されていないことを検証する処理である。図6(B)に示すタイムスタンプ検証処理において、ユーザ端末3の制御部31は、所定のハッシュ関数を用いて、ストレージサーバ2から取得された電子ファイルに格納される電子データのハッシュ値を生成する(ステップS341)。次いで、ユーザ端末3の制御部31は、タイムスタンプサーバ1へ接続する(ステップS342)。次いで、ユーザ端末3の制御部31は、上記指示された電子データのタイムスタンプ検証要求をタイムスタンプサーバ1へ送信する(ステップS343)。なお、タイムスタンプ検証要求には、ストレージサーバ2から取得されたTSファイルと、上記ステップS341で生成された電子データのハッシュ値とが付加される。なお、電子データのハッシュ値の代わりに電子データ自体をタイムスタンプ検証要求に付加するように構成してもよい。この場合、上記ステップS341でハッシュ値を生成する必要はない。
【0052】
一方、図6(C)に示す処理は、タイムスタンプサーバ1がタイムスタンプ検証要求を受信した場合に開始される。図6(C)に示す処理が開始されると、タイムスタンプサーバ1の制御部11は、受信されたTSファイルに基づいてタイムスタンプを検証する(ステップS41)。より具体的には、制御部11は、例えば、受信された電子データのハッシュ値とTSファイルとを基に所定のアルゴリズムで計算を行う。なお、このような検証を行うアルゴリズムは公知であるため詳しい説明を省略する。そして、制御部11は、上記計算結果が例えば時刻証明サービスを行う事業者の公開情報と一致するか否かをチェックする。計算結果が公開情報と一致する場合、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないということになる。なお、電子データ自体とTSファイルとを基に所定のアルゴリズムで計算が行われるように構成してもよい。
【0053】
次いで、タイムスタンプサーバ1の制御部11は、タイムスタンプの検証結果をユーザ端末3へ送信する(ステップS42)。この検証結果は、例えば、上記計算結果が上記事業者の公開情報と一致するか否かを示す。そして、ユーザ端末3の制御部31は、タイムスタンプサーバ1からの検証結果を受信する(ステップS344)。なお、TSファイルが単独で検証可能な情報を持つ場合は、タイムスタンプサーバ1との通信を行わずに、ユーザ端末3の制御部31がTSファイル単独で検証するように構成してもよい。この場合、タイムスタンプ検証要求がタイムスタンプサーバ1に送信される必要はない。
【0054】
以上説明したように、実施例4によれば、ユーザ端末3は、電子データが仮想ドライブから読み込まれる際に、この電子データに対して付与されたタイムスタンプを用いて電子データが改竄又は変更されていないことを効率良く検証することができる。
【0055】
なお、上記実施形態では、タイムスタンプが、時刻情報、電子データのハッシュ値、及び検証用データのセットで構成される例を示した。この構成の別の例として、タイムスタンプが、時刻情報と、電子データのハッシュ値のセットで構成されるものであってもよい。この場合におけるタイムスタンプ検証処理では、ストレージサーバ2から取得されたTSファイルに格納されるハッシュ値と、上記ステップS341で生成された電子データのハッシュ値とが一致するか否かがチェックされる。そして、双方のハッシュ値が一致する場合、電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないということになる。また、電子データのハッシュ値はユーザの秘密鍵により暗号化してタイムスタンプサーバ1へ送信し、タイムスタンプサーバ1がユーザの公開鍵により復号してからタイムスタンプの検証を行うように構成してもよい。
【0056】
また、本実施形態では、仮想ドライブを用いた実施例を記載したが、これに限定されるものではない。例えば、ストレージサーバ2またはクラウドサービスの所定の記憶領域を、仮想的にユーザ端末に使用させる技術であればよい。仮想ドライブ以外に、ユーザ端末3において仮想的に使用可能な仮想記憶領域としてDROPBOX(登録商標)が用いられてもよい。この技術は、ユーザ端末3のOS上に、フォルダが作成される。作成されたフォルダと、ストレージサーバ2またはクラウドサービスの所定の記憶領域は、定期的に同期を計る。同期が計られることで、フォルダに作成されたファイルが、自動で、ストレージサーバ2またはクラウドサービスの所定の記憶領域に複製される。DROPBOXの技術では、ユーザ端末3のOS上に作成された上述のフォルダにより、ストレージサーバ2またはクラウドサービスの所定の記憶領域が、仮想的にユーザ端末に使用可能になる。
【0057】
また、本実施形態では、電子ファイルをストレージ221に設けられた所定の記憶領域に記憶させる要求をストレージサーバ2へ送信するとともに、この電子ファイルに対応するTSファイルを同じストレージ221に設けられた所定の記憶領域に記憶させる要求をストレージサーバ2へ送信するように構成したが、これに限定されるものではない。例えば、ユーザ端末3は、ストレージ221に記憶される電子ファイルに対応するTSファイルを、ストレージ221に設けられた所定の記憶領域とは異なる他の記憶領域に記憶させる要求を、上記他の記憶領域を有する第3のサーバ装置へ送信するように構成してもよい。この場合における「他の記憶領域」は、ユーザ端末3において仮想的に使用可能な仮想記憶領域として、第3のサーバ装置が備えるストレージに設けられる。この第3のサーバ装置は、例えば、ストレージサーバ2と物理的に分離されたストレージサーバである。
【符号の説明】
【0058】
1 タイムスタンプサーバ
2 ストレージサーバ
3 ユーザ端末
221 ストレージ
S ストレージシステム

【特許請求の範囲】
【請求項1】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置に含まれるコンピュータに、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信ステップと、
前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信ステップと、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信ステップと、
を実行させることを特徴とする情報処理プログラム。
【請求項2】
前記第1送信ステップは、前記指示された電子データの書き込み要求に応じて、前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信することを特徴とする請求項1に記載の情報処理プログラム。
【請求項3】
前記第2送信ステップは、前記指示された電子データの書き込み要求に応じて、前記指示された電子データを、前記記憶領域に記憶させる要求を前記第2のサーバ装置へ送信し、
さらに、前記第2送信ステップは、前記電子データを格納するファイルのクローズ要求に応じて、前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信し、前記第1のサーバ装置により生成された前記検証用情報を前記記憶領域に記憶させる要求を前記第2のサーバ装置または前記第3のサーバ装置へ送信することを特徴とする請求項1に記載の情報処理プログラム。
【請求項4】
前記情報処理プログラムは、前記指示された電子データを格納するファイルのファイル名、前記ファイルの拡張子、前記ファイルの所在を示すパス、および前記ファイルの保管先フォルダのフォルダ名のうちの少なくとも何れか一つに、所定の文字列が含まれるかを判定する判定ステップを前記コンピュータにさらに実行させ、
前記第1送信ステップは、前記判定ステップにより前記文字例が含まれると判定された場合に、前記指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信することを特徴とする請求項1乃至3の何れか一項に記載の情報処理プログラム。
【請求項5】
前記情報処理プログラムは、前記コンピュータに、
前記ストレージにおける前記記憶領域に記憶された前記電子データの読み込み要求に応じて、前記記憶領域に記憶された前記電子データ及び前記検証用情報を前記第2のサーバ装置と前記第3のサーバ装置の少なくとも何れか一方から取得する取得ステップと、
前記取得ステップにより取得された前記検証用情報に基づいて前記電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証する検証ステップと、
を前記コンピュータにさらに実行させることを特徴とする請求項1乃至4の何れか一項に記載の情報処理プログラム。
【請求項6】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置において、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信手段と、
前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信手段と、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信手段により受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信手段と、
を備えることを特徴とする情報処理装置。
【請求項7】
電子データが所定の時刻に存在し且つ前記時刻以降に改竄又は変更されていないことを検証するための検証用情報を生成する第1のサーバ装置と、電子データを記憶するためのストレージを備える第2のサーバ装置と、に通信手段を介して接続可能な情報処理装置により実行される情報処理方法であって、
前記情報処理装置において指示された電子データに対する前記検証用情報を生成させる要求を前記第1のサーバ装置へ送信する第1送信ステップと、
前記第1のサーバ装置により生成された前記検証用情報を前記第1のサーバ装置から受信する受信ステップと、
前記指示された電子データを、前記情報処理装置において仮想的に使用可能な仮想記憶領域として前記ストレージに設けられた所定の記憶領域に記憶させる要求を前記第2のサーバ装置へ送信するとともに、前記受信ステップにより受信された前記検証用情報を前記所定の記憶領域または前記所定の記憶領域とは異なる他の記憶領域に記憶させる要求を前記第2のサーバ装置または前記他の記憶領域を有する第3のサーバ装置へ送信する第2送信ステップと、
を含むことを特徴とする情報処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate


【公開番号】特開2013−77188(P2013−77188A)
【公開日】平成25年4月25日(2013.4.25)
【国際特許分類】
【出願番号】特願2011−216984(P2011−216984)
【出願日】平成23年9月30日(2011.9.30)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【出願人】(511237634)日本ガードタイム株式会社 (1)
【Fターム(参考)】