(58)【調査した分野】(Int.Cl.,DB名)
k個(k≧1の整数)の独立したサーバのそれぞれに同一のファイルを送信し、前記サーバによって保存された前記ファイルの安全性を検証するクライアント端末であって、
前記ファイルを正方行列の形式に構成させたファイル行列を作成するファイル行列作成手段と、
前記ファイル行列の列に対応したランダムベクトルをランダムに作成するランダムベクトル作成手段と、
前記ファイル行列作成手段によって作成された前記ファイル行列の行成分と、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルとの積に基づいて、前記ファイルの検証のためのタグである検証用タグを作成する検証用タグ作成手段と、
前記検証用タグ作成手段によって作成された前記検証用タグを検証用タグ記憶手段に記憶させる検証用タグ記憶制御手段と、
前記ファイルを前記サーバに送信するファイル送信手段と、
前記ファイル送信手段による送信とは別に、前記サーバに、前記ランダムベクトルを送信するベクトル送信手段と、
前記サーバにおいて、受信した前記ファイルに基づいて作成された前記ファイル行列の行成分と、受信した前記ランダムベクトルとの積であるタグ情報が算出され、算出された前記タグ情報を、それぞれの前記サーバから受信するタグ情報受信手段と、
前記タグ情報受信手段によって受信された前記タグ情報と、前記検証用タグ記憶手段に記憶された前記検証用タグとに基づいて、前記ファイルの安全性を検証する安全性検証手段と、
を備えるクライアント端末。
異なるk個のベクトルの合計が、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルに等しくなるように、前記k個のベクトルを作成するベクトル作成手段と、
前記k個のサーバによって作成されるそれぞれの前記タグ情報の合計が前記検証用タグに等しくなるように、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルと、前記ベクトル作成手段によって作成された前記k個のベクトルとに基づいて送信用のベクトルを作成する送信用ベクトル作成手段と、をさらに備え、
前記ベクトル送信手段は、前記送信用ベクトル作成手段によって作成された前記送信用のベクトルを送信する、請求項1又は2に記載のクライアント端末。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術では、ファイルの安全性検証が効率的に実施できない。
また、タグ情報による確認チェックの場合、攻撃者が、タグ情報を保持しておき、改竄後のチェックに対し、タグ情報のみを応答するようにすると、従来技術では、そのような攻撃を検出できない場合があった。
【0005】
そこで、ファイルの安全性検証が効率的に実施できるシステムが求められている。
【0006】
本発明は、オンラインファイルの安全性を、安全で効率的に検証するクライアント端末、システム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0007】
具体的には、以下のような解決手段を提供する。
【0008】
(1) k個(k≧1の整数)の独立したサーバのそれぞれに同一のファイルを送信し、前記サーバによって保存された前記ファイルの安全性を検証するクライアント端末であって、前記ファイルを正方行列の形式に構成させたファイル行列を作成するファイル行列作成手段と、前記ファイル行列の列に対応したランダムベクトルをランダムに作成するランダムベクトル作成手段と、前記ファイル行列作成手段によって作成された前記ファイル行列の行成分と、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルとの積に基づいて、前記ファイルの検証のためのタグである検証用タグを作成する検証用タグ作成手段と、前記検証用タグ作成手段によって作成された前記検証用タグを検証用タグ記憶手段に記憶させる検証用タグ記憶制御手段と、前記ファイルを前記サーバに送信するファイル送信手段と、前記ファイル送信手段による送信とは別に、前記サーバに、前記ランダムベクトルを送信するベクトル送信手段と、前記サーバにおいて、受信した前記ファイルに基づいて作成された前記ファイル行列の行成分と、受信した前記ランダムベクトルとの積であるタグ情報が算出され、算出された前記タグ情報を、それぞれの前記サーバから受信するタグ情報受信手段と、前記タグ情報受信手段によって受信された前記タグ情報と、前記検証用タグ記憶手段に記憶された前記検証用タグとに基づいて、前記ファイルの安全性を検証する安全性検証手段と、を備えるクライアント端末。
【0009】
(1)の構成によれば、(1)に係るクライアント端末は、ファイルを正方行列の形式に構成させたファイル行列を作成し、ファイル行列の列に対応したランダムベクトルをランダムに作成し、作成したファイル行列の行成分と、作成したランダムベクトルとの積に基づいて、ファイルの検証のためのタグである検証用タグを作成し、作成した検証用タグを検証用タグ記憶手段に記憶させ、ファイルをサーバに送信する。クライアント端末は、ファイルの送信とは別に、サーバに、ランダムベクトルを送信し、サーバにおいて、受信したファイルに基づいて作成されたファイル行列の行成分と、受信したランダムベクトルとの積であるタグ情報が算出され、算出されたタグ情報を、それぞれのサーバから受信し、受信したタグ情報と、検証用タグ記憶手段に記憶された検証用タグとに基づいて、サーバに保存されたファイルの安全性を検証する。
【0010】
したがって、(1)に係るクライアント端末は、オンラインファイルの安全性を安全で効率的に確認することができる。
【0011】
(2) 前記ファイル送信手段による送信後に、前記ファイルを削除するファイル削除手段を、さらに備える(1)に記載のクライアント端末。
【0012】
したがって、(2)に係るクライアント端末は、サーバにファイルを送信した後にファイルを削除しても、オンラインファイルの安全性を安全で効率的に確認することができる。
【0013】
(3) 異なるk個のベクトルの合計が、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルに等しくなるように、前記k個のベクトルを作成するベクトル作成手段と、前記k個のサーバによって作成されるそれぞれの前記タグ情報の合計が前記検証用タグに等しくなるように、前記ランダムベクトル作成手段によって作成された前記ランダムベクトルと、前記ベクトル作成手段によって作成された前記k個のベクトルとに基づいて送信用のベクトルを作成する送信用ベクトル作成手段と、をさらに備え、前記ベクトル送信手段は、前記送信用ベクトル作成手段によって作成された前記送信用のベクトルを送信する、(1)又は(2)に記載のクライアント端末。
【0014】
したがって、(3)に係るクライアント端末は、オンラインファイルの安全性を、さらに効率的に確認することができる。
【0015】
(4) クライアント端末から受信したファイルを保存するサーバであって、前記クライアント端末からファイルを受信するファイル受信手段と、前記ファイル受信手段によって受信された前記ファイルをファイル記憶手段に記憶させるファイル保存手段と、前記クライアント端末からベクトルを受信するベクトル受信手段と、前記ベクトル受信手段によってベクトルを受信すると、前記ファイル記憶手段に記憶した前記ファイルを正方行列の形式に構成させたファイル行列を作成する保存ファイル行列作成手段と、前記保存ファイル行列作成手段によって作成された前記ファイル行列の行成分と、前記ベクトル受信手段によって受信された前記ベクトルとの積によるタグ情報を作成するタグ情報作成手段と、前記タグ情報作成手段によって作成された前記タグ情報を、前記クライアント端末に送信するタグ情報送信手段と、を備え、前記クライアント端末が前記ファイルの安全性を検証することができるようにする、サーバ。
【0016】
したがって、(4)に係るサーバは、クライアント端末においてオンラインファイルの安全性を安全で効率的に確認できるようにする。
【0017】
(5) (1)に記載のクライアント端末と、(4)に記載のサーバとから構成される安全性検証システム。
【0018】
したがって、(5)に係る安全性検証システムは、オンラインファイルの安全性を安全で効率的に確認することができる。
【0019】
(6) (1)に記載のクライアント端末が実行する方法であって、前記ファイル行列作成手段が、前記ファイルを正方行列の形式に構成させたファイル行列を作成するファイル行列作成ステップと、前記ランダムベクトル作成手段が、前記ファイル行列の列に対応したランダムベクトルをランダムに作成するランダムベクトル作成ステップと、前記検証用タグ作成手段が、前記ファイル行列作成ステップによって作成された前記ファイル行列の行成分と、前記ランダムベクトル作成ステップによって作成された前記ランダムベクトルとの積に基づいて、前記ファイルの検証のためのタグである検証用タグを作成する検証用タグ作成ステップと、前記検証用タグ記憶制御手段が、前記検証用タグ作成ステップによって作成された前記検証用タグを検証用タグ記憶手段に記憶させる検証用タグ記憶制御ステップと、前記ファイル送信手段が、前記ファイルを前記サーバに送信するファイル送信ステップと、前記ファイル送信手段が、前記ファイル送信ステップによる送信とは別に、前記サーバに、前記ランダムベクトルを送信するベクトル送信ステップと、前記タグ情報受信手段が、前記サーバにおいて、受信した前記ファイルに基づいて作成された前記ファイル行列の行成分と、受信した前記ランダムベクトルとの積であるタグ情報が算出され、算出された前記タグ情報を、それぞれの前記サーバから受信するタグ情報受信ステップと、前記安全性検証手段が、前記タグ情報受信ステップによって受信された前記タグ情報と、前記検証用タグ記憶手段に記憶された前記検証用タグとに基づいて、前記ファイルの安全性を検証する安全性検証ステップと、を備える方法。
【0020】
したがって、(6)に係る方法は、オンラインファイルの安全性を安全で効率的に確認することができる。
【0021】
(7) コンピュータに、(6)に記載した方法の各ステップを実行させるためのプログラム。
【0022】
したがって、(7)に係るプログラムは、コンピュータに、オンラインファイルの安全性を安全で効率的に確認させることができる。
【発明の効果】
【0023】
本発明によれば、オンラインファイルの安全性を安全で効率的に確認することができる。さらに、本発明によれば、オンラインファイル共有ソフトにおけるオンライン上にあるファイルの安全性を確認することができる。さらに、クラウドサービスにおいてコスト競争を避けるためには、差別化要素技術が重要である。本技術は、より高速かつ安全なファイルの完全性チェックサービスを実現できるため、差別化要素技術となりうる。
【発明を実施するための形態】
【0025】
以下、本発明の実施形態について、図を参照しながら説明する。
図1は、本発明の一実施形態に係るクライアント端末10の構成を示す図である。
クライアント端末10は、k個(k≧1の整数)の独立したサーバ50のそれぞれに同一のファイルを送信し、サーバによって保存されたそのファイルの安全性を検証するために、ファイル行列作成手段11と、ランダムベクトル作成手段12と、検証用タグ作成手段13と、検証用タグ記憶制御手段14と、ファイル送信手段15と、ファイル削除手段151と、ベクトル送信手段21と、タグ情報受信手段22と、安全性検証手段23と、を備える。以下、各部ごとに詳述する。
【0026】
[ファイル保存について:クライアント端末10側]
ファイル行列作成手段11は、ファイルを正方行列の形式に構成させたファイル行列を作成する。具体的には、ファイル行列作成手段11は、ファイルfをL個のブロックf
1、f
2、・・・、f
Lから構成し、L個のブロックを式(1)に示すような行列形式(例えば、√L行√L列の正方行列、√Lは整数)に配列する。
ファイルは、線形符号によってエンコードされているとしてもよい。線形符号化されているので、クライアント端末10は、ファイル行列を作成する際や、後述するランダムベクトルを作成する際、後述するタグ情報による検証において、高速に処理することができる。
【0028】
ランダムベクトル作成手段12は、ファイル行列の列に対応したランダムベクトルをランダムに作成する。具体的には、ランダムベクトル作成手段12は、要素が√L個のν
1、ν
2、・・・、ν
√Lからなるベクトルνをランダムに作成する。なお、ランダムベクトル作成手段12は、複数のランダムベクトルを作成するとしてもよい。クライアント端末10は、後述するファイルの検証において、ランダムベクトルと対になる検証用タグを複数記憶させ、サーバ50へ送信するランダムベクトルを、適宜変更することができる。
【0029】
検証用タグ作成手段13は、ファイル行列作成手段11によって作成されたファイル行列の行成分と、ランダムベクトル作成手段12によって作成されたランダムベクトルとの積に基づいて、ファイルの検証のためのタグである検証用タグを作成する。具体的には、検証用タグ作成手段13は、式(2)で示される演算により、検証用タグσ
rを作成する。rは、ファイル行列のr番目の行成分を示す。なお、検証用タグ作成手段13は、σ
rからハッシュ関数によりハッシュ値を求めてもよい。検証用タグ記憶手段31に記憶させる際に、クライアント端末10の負担を軽減することができる。
【0031】
検証用タグ記憶制御手段14は、検証用タグ作成手段13によって作成された検証用タグを検証用タグ記憶手段31に記憶させる。すなわち、検証用タグは検証時に使用されるために、クライアント端末10において、安全かつ秘密に保管される。
【0032】
ファイル送信手段15は、ファイルをサーバ50に送信する。具体的には、ファイル送信手段15は、k個のサーバ50に対して、同じファイルのコピーを送信する。ファイル削除手段151は、ファイル送信手段15による送信後に、ファイルを削除する。
【0033】
[ファイル保存について:サーバ50側]
ファイル受信手段51は、クライアント端末10からファイルを受信する。
ファイル保存手段52は、ファイル受信手段51によって受信されたファイルをファイル記憶手段61に記憶させる。
【0034】
[ファイルの安全性の検証について:クライアント端末10側]
ベクトル送信手段21は、ファイル送信手段15による送信とは別に、サーバ50に、ランダムベクトル作成手段12によって作成されたランダムベクトルを送信する。具体的には、サーバ50上に保存されたファイルの検証処理(改竄等がなされていないかの確認)をするために、ベクトル送信手段21は、サーバ50に、ランダムベクトルを送信し、サーバ50において保存されているファイルとのタグ情報を算出するように要求する。ベクトル送信手段21は、ファイル送信手段15による送信とは別に、不定期に、ランダムベクトルを送信する。
【0035】
タグ情報受信手段22は、サーバ50において、受信したファイルに基づいて作成されたファイル行列の行成分と、受信したランダムベクトルとの積であるタグ情報が算出され、算出されたタグ情報を、それぞれのサーバ50から受信する。具体的には、ファイル及びランダムベクトルを受信したサーバ50において、サーバ50は、受信したファイルに基づいて作成したファイル行列の行成分と、受信したランダムベクトルとの積であるタグ情報を算出し、算出したタグ情報を、クライアント端末10に送信する。タグ情報受信手段22は、それぞれのサーバ50から送信されたタグ情報を受信する。
【0036】
安全性検証手段23は、タグ情報受信手段22によって受信されたタグ情報と、検証用タグ記憶手段31に記憶されている検証用タグとに基づいて、ファイルの安全性を検証する。具体的には、安全性検証手段23は、受信されたタグ情報と、記憶されている検証用タグとを比較し、タグ情報と検証用タグとが等しいことに基づいて、ファイルの安全性を検証する。
【0037】
さらに、クライアント端末10は、検証用タグの再利用を効率よく実施するために、ベクトル作成手段211と、送信用ベクトル作成手段212とを備える。各手段について詳述する。
【0038】
ベクトル作成手段211は、異なるk個のベクトルの合計が、ランダムベクトル作成手段12によって作成されたランダムベクトルに等しくなるように、k個のベクトルを作成する。具体的には、ベクトル作成手段211は、式(3)に示すように、ランダムベクトル作成手段12によって作成されたオリジナルのランダムベクトルνに等しくなる、k個のベクトル(ν
[1]からν
[k])を作成する。
【0040】
送信用ベクトル作成手段212は、ランダムベクトル作成手段12によって作成されたランダムベクトルと、ベクトル作成手段211によって作成されたk個のベクトルとに基づいて送信用のベクトルを作成する。具体的には、送信用ベクトル作成手段212は、数式(4)の関係を満たすベクトルν
[k]を作成する。すなわち、送信用ベクトル作成手段212は、それぞれのサーバ50に対してベクトルν
[k]を式(4)に基づいて作成する。
【0042】
ベクトル送信手段21は、送信用ベクトル作成手段212によって作成された送信用のベクトルをそれぞれのサーバ50に送信する。例えば、ベクトル送信手段21は、1番目のサーバ50に数式(4−1)で示されるベクトルν
[1]を送信し、2番目のサーバ50に同様に計算されるν
[2]を送信する。このようなベクトルに基づいて算出されたタグ情報を合計すると相殺されて、ベクトルνのタグ情報と同じ値が得られる。
【0043】
各サーバ50(サーバ50−1〜サーバ50−k)からは、タグ情報が、次の様に送信されてくる。
【0045】
安全性検証手段23は、受信したタグ情報を式(6)により計算を行う。サーバ50側で改竄が行われていない場合、安全性検証手段23は、送信したベクトルに基づいて算出されたタグ情報を合計すると相殺されて、ベクトルνのタグ情報(すなわち、ランダムベクトルのオリジナルに基づいて算出した検証用タグ)と同じ値が得られ、サーバ50に保存しているファイルの正しさを検証できる。
【0047】
なお、クライアント端末10は、サーバ50を小グループに分け、小グループごとのタグ情報を検証し、データの改竄が行われたサーバ50を含むグループを探索(例えば、2分法)することにより、データの改竄が行われたサーバ50を特定することも可能である。
【0048】
[ファイルの安全性の検証について:サーバ50側]
ベクトル受信手段53は、クライアント端末10のベクトル送信手段21からベクトルを受信する。
保存ファイル行列作成手段54は、ベクトル受信手段53によってベクトルを受信すると、ファイル記憶手段61に記憶したファイルを正方行列の形式に構成させたファイル行列を作成する。保存ファイル行列作成手段54が作成するファイル行列は、クライアント端末10において作成されたファイル行列と同様である。
【0049】
タグ情報作成手段55は、保存ファイル行列作成手段54によって作成されたファイル行列の行成分と、ベクトル受信手段53によって受信されたベクトルとの積によるタグ情報を作成する。
具体的には、タグ情報作成手段55は、式(7)により、保存しているファイルのファイル行列の行成分と、受信したベクトルとの積を計算し、タグ情報σ
rを算出する。rはファイル行列のr番目の行成分を表わす。
【0051】
タグ情報送信手段56は、タグ情報作成手段55によって作成されたタグ情報をクライアント端末10に送信する。
【0052】
図2は、本発明の一実施形態に係るクライアント端末10を含む安全性検証システム1のファイル保存処理を示すフローチャートである。本発明の一実施形態に係るクライアント端末10、サーバ50は、コンピュータ及びその周辺装置が備えるハードウェア並びに該ハードウェアを制御するソフトウェアによって構成され、以下の処理は、それぞれの制御部(例えば、CPU)が、OSの下で所定のソフトウェアに従い実行する処理である。
【0053】
ステップS101において、クライアント端末10のCPU(ファイル行列作成手段11)は、ファイルを正方行列の形式に構成させたファイル行列を作成する。
ステップS102において、クライアント端末10のCPU(ランダムベクトル作成手段12)は、ファイル行列の列に対応したランダムベクトルをランダムに作成する。
ステップS103において、クライアント端末10のCPU(検証用タグ作成手段13、検証用タグ記憶制御手段14)は、ファイル行列の行成分と、ランダムベクトルとの積に基づいて、検証用タグを作成し、検証用タグ記憶手段31に記憶させる。
ステップS104において、クライアント端末10のCPU(ファイル送信手段15)は、ファイルを送信する。
【0054】
ステップS201において、サーバ50のCPU(ファイル受信手段51、ファイル保存手段52)は、クライアント端末10からファイルを受信し、受信したファイルをファイル記憶手段61に記憶させる。
【0055】
ステップS105において、クライアント端末10のCPU(ファイル削除手段151)は、ファイルを削除する。
【0056】
図3は、本発明の一実施形態に係るクライアント端末10を含む安全性検証システム1の安全性検証処理を示すフローチャートである。
【0057】
ステップS111において、クライアント端末10のCPU(ベクトル送信手段21、ベクトル作成手段211、送信用ベクトル作成手段212)は、合計がランダムベクトルと等しくなるk個のベクトルを作成し、それぞれのサーバ50用のベクトルを式(4−1)の様に作成する。
ステップS112において、クライアント端末10のCPU(ベクトル送信手段21)は、それぞれのサーバ50にベクトルを送信する。
【0058】
ステップS211において、サーバ50のCPU(ベクトル受信手段53、保存ファイル行列作成手段54、タグ情報作成手段55)は、受信したベクトルと、保存しているファイルのファイル行列とに基づいて、タグ情報を計算する。
ステップS212において、サーバ50のCPU(タグ情報送信手段56)は、計算したタグ情報をクライアント端末10に送信する。
【0059】
ステップS113において、クライアント端末10のCPU(タグ情報受信手段22)は、それぞれのサーバ50から送信されたタグ情報を受信する。
ステップS114において、クライアント端末10のCPU(安全性検証手段23)は、受信したタグ情報に基づいて、タグ情報の合計を算出する。
ステップS115において、クライアント端末10のCPU(安全性検証手段23)は、タグ情報の合計と、検証用タグとが等しいことを確認する。
【0060】
本実施形態によれば、クライアント端末10は、ファイルを正方行列の形式に構成させたファイル行列を作成し、ファイル行列の列に対応したランダムベクトルをランダムに作成し、作成したファイル行列の行成分と、作成したランダムベクトルとの積に基づいて、ファイルの検証のためのタグである検証用タグを作成し、作成した検証用タグを検証用タグ記憶手段31に記憶させ、ファイルをサーバ50に送信する。クライアント端末10は、ファイルの送信とは別に、サーバ50に、ランダムベクトルを送信し、サーバ50において、受信したファイルに基づいて作成されたファイル行列の行成分と、受信したランダムベクトルとの積であるタグ情報が算出され、算出されたタグ情報を、それぞれのサーバ50から受信し、受信したタグ情報と、検証用タグ記憶手段31に記憶された検証用タグとに基づいて、サーバ50に送信したファイルの安全性を検証する。さらに、クライアント端末10は、オリジナルの検証用タグを再利用して、サーバ50に送信したファイルの安全性を検証するための検証用のベクトルを作成して、不定期にサーバ50に送信する。
したがって、クライアント端末10は、オンラインファイルの安全性を安全で効率的に確認することができる。
【0061】
以上、本発明の実施形態について説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態に記載されたものに限定されるものではない。