説明

ファイル格納システム及びサーバ装置

【課題】不特定多数を対象とするオンラインストレージサービスに利用でき、成りすましや不正アクセスを防止できるファイル格納システムを提供すること。
【解決手段】ファイル格納システム1は、ユーザによって操作される端末装置2と、サーバ装置3とがインターネット網を介して接続されて形成される。端末装置2は、検証情報生成手段23によりファイルと検証因子とに基づいて検証情報を生成し、検証情報送信手段24により検証情報をサーバ装置3に送信する。サーバ装置3は、検証情報受信手段35により検証情報を受信し、ファイル検索手段32により検証情報と検証因子との組み合わせにより、格納手段33に格納されたファイルの検索を行う。ファイル検索手段32によるファイル格納手段33の検索結果が肯定的である場合、アクセス権付与手段34により、ファイル格納手段33内のファイルに端末装置2のユーザのアクセス権を付与する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えばオンラインストレージサービスに用いられるファイル格納システムに関する。
【背景技術】
【0002】
不特定多数のユーザを対象に、インターネットなどの公衆回線を介してファイルを格納するためのディスクスペースを貸し出すオンラインストレージサービスが提供されている。オンラインストレージサービスは、公衆回線へ接続可能な環境があれば利用できるため、自宅や職場等の任意の場所からファイルの保存及び読み出しを行う用途や、異なるユーザ間でファイルの受け渡しを行う用途等に活用されている。
【0003】
しかしながら、現在のオンラインストレージサービスでは、ファイルの格納コストや通信コスト、および、通信時間の問題があるため、ユーザがディスクスペースに格納できるファイルの数は比較的少なく、また、ファイルサイズは数百メガバイト程度に制限されている。
【0004】
ところで、イントラネット等のように閉じたネットワーク内で用いられるファイルバックアップシステムでは、巨大なファイルをディスクスペースに保管する際の格納コストを低減するため、重複排除技術が採用されている。すなわち、端末装置において、ファイルやファイル断片(以下、ファイルはファイル断片を含むものとする)をハッシュ値などの検索キーと一体化して管理し、ファイルの実体をアップロードしようとする前に、検索キーをサーバに送信する。サーバが、検索キーに対応するファイルが既にファイル格納装置に格納されていると判断すると、既に格納されたファイルにリンクを張る。これにより、端末装置からサーバへのファイルのアップロードを行うことなく、端末装置がファイルのアップロードを行ったのと同じ効果を奏するようにしている。こうして、同一ファイルのアップロードの重複を防ぐことにより、バックアップにかかる時間や、通信資源の消費や、格納資源の消費を節約している。その結果、巨大なファイルをディスクスペースに保管可能としても、通信資源や格納資源を節約することができる。
【0005】
このような重複排除技術を、公衆回線を介したオンラインストレージサービスに利用することにより、ファイルの格納コストや通信コストを低減し、通信時間を短縮して、巨大なファイルの大量保管が可能となり得る。
【0006】
オンラインストレージに重複排除技術を適用した従来技術としては、以下の特許文献に記載されたものがある。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特表2004−514968号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、不特定多数のユーザを対象として公衆回線を介したオンラインストレージサービスに重複排除技術を適用する場合、以下のような安全性に問題がある。
【0009】
すなわち、悪意を持ったユーザが通信プロトコルを解析し、端末装置を改造して、ファイルを所持していないにもかかわらず、検索キーのみを生成して送付することにより、ファイルのアクセス権を不正に獲得する可能性がある。つまり、検索キーを送信することにより、ファイルの所有者のなりすましが成立する危険性がある。また、悪意を持ったユーザが大量の検索キーを流出させ、ファイルを不正なアクセスに晒す危険性がある。
【0010】
そこで、本発明の課題は、不特定多数を対象とするオンラインストレージサービスに利用でき、巨大なファイルの迅速なアップロードが可能でありながら、成りすましや不正アクセスを防止できるファイル格納システム及びサーバ装置を提供することにある。
【課題を解決するための手段】
【0011】
例えばオンラインストレージサービスにおいて、ファイル実体をアップロードする代わりにファイルの検索キーを送付する技術を利用する場合、ファイルの不正流出を防止するには、ユーザの認証のみでは不十分である。ユーザがサービスに登録されていても、ファイルを実際に有していなければ、サーバ装置に格納されたファイルへのアクセスは許されないからである。検索キーの不正入手や偽造により、ファイルへの不正なアクセスがされると、ファイルが本来アクセス権を有しないユーザに流出してしまい、流出したファイルの回収は実質的に不可能となる。したがって、検索キーの不正入手や偽造によるファイルへのアクセス権の不正取得を防止する必要がある。
【0012】
そこで、本発明のファイル格納システムは、検証因子を用いることにより、サーバ装置において、端末装置から受け取った検索キーでファイル格納手段から検索されたファイルについて、ユーザが端末装置でファイルに対するアクセス権を有していることを検証する。検証結果が肯定的である場合に、サーバ装置のファイルのアクセス権を、その端末装置のユーザに対して与えるものとする。
【0013】
なお、「ユーザが端末装置でファイルに対するアクセス権を有している」とは、端末装置内にファイルの実体が存在することを意味するのみでなく、端末装置がアクセス可能な他の装置、例えば、LAN(Local Area Network)で接続されたファイルサーバに、ファイルの実体が存在することをも意味する。
【0014】
本明細書において、端末装置からファイルの検索キーを送信することにより、ファイルの実体を送信することなく、サーバ装置に既に格納されているファイルのアクセス権が端末装置のユーザに付与されることを「高速アップロード」と呼ぶ。これに対して、通常のオンラインストレージサービスで行われるような、ファイルの実体をサーバ装置に送信することにより、サーバに格納された上記ファイルのアクセス権が付与されることを「通常アップロード」と呼ぶ。
【0015】
上記課題を達成するため、本発明の第1の側面によるファイル格納システムは、公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報をサーバ装置に送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【0016】
本発明の第1の側面によるファイル格納システムによれば、端末装置で検証情報生成手段によってファイルと検証因子とに基づいて検証情報が生成され、この検証情報が検証情報送信手段によってサーバ装置に送信される。サーバ装置では、検証情報受信手段が端末装置から受信した検証情報と、検証因子との組み合わせにより、ファイル格納手段に格納されたファイルが検索される。検証因子との組み合わせによる検索結果が肯定的な場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【0017】
このように、本発明の第1の側面によるファイル格納システムは、端末装置でファイルと検証因子に基づいて検証情報を生成すると共に、サーバ装置で検証情報と検証因子との組み合わせによりファイルの検索を行うので、従来のようにファイルのみに基づいて生成された検索キーを用いるよりも、ファイルのアクセス権の不正取得を防止できる。すなわち、端末装置(又は端末装置がアクセス可能な他の装置)にファイルと検証因子が存在しなければ、正当な検証情報を生成できないので、従来のように、ファイルを有していないユーザが、不正入手や偽造による検索キーのみをサーバ装置に送信しても、ファイル格納手段に格納されたファイルへのアクセス権が得られない。したがって、ファイルを有していないユーザによるファイルへの不正アクセスを防止できる。
【0018】
本発明の第2の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【0019】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成されると共に、ファイルと検証因子とに基づいて検証情報が生成される。これら検索キーと検証情報が、検索キー送信手段と検証情報送信手段によってサーバ装置に夫々送信される。サーバ装置では、検索キー受信手段が端末装置から受信した検索キーに基づいて、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【0020】
このように、本発明の第2の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【0021】
ここで、検証情報は、端末装置の検証情報生成手段によってファイルと検証因子に基づいて生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【0022】
本発明の第3の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【0023】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成され、この検索キーが検索キー送信手段で送信される。サーバ装置では、検索キー受信手段で受信した検索キーによってファイル検索手段でファイルを検索し、検索されたファイルと、検証参照情報生成手段で生成された検証参照情報とに基づいて、検証因子生成手段によって検証因子が生成される。この検証因子は、検証因子送信手段でサーバ装置から端末装置に送信され、端末装置で、検証因子受信手段で受信した検証因子とファイルとに基づいて、検証情報生成手段によって検証情報が生成される。この検証情報は、検証情報送信手段によって端末装置からサーバ装置に送信される。サーバ装置で、検証情報受信手段によって受信された検証情報と、上記検証参照情報とが所定の条件を満たすことが、検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【0024】
このように、本発明の第3の側面によるファイル格納システムは、端末装置で、ファイルに基づいて検索キーを生成してサーバ装置に送信し、さらに、サーバ装置から受信した検証因子とファイルとに基づいて検証情報を生成してサーバ装置に送る。一方、サーバ装置で、端末装置から受信した検索キーにより検索されたファイルと、検証参照情報とに基づいて検証因子を生成し、さらに、端末装置から受信した検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、ユーザが端末装置でファイルに対するアクセス権を有していることを確実に確認できるので、従来のように、端末装置から検索キーのみをサーバ装置が受信し、サーバ装置が検索キーで検索されたファイルにアクセス権を付与するファイル格納システムよりも、ファイルのアクセス権の不正取得を各段に有効に防止できる。
【0025】
また、端末装置から送信した検索キーに基づいて、サーバ装置でファイルが検索された場合に検証因子を端末装置に送信し、この後、端末装置が検証情報を生成するので、検索キーによる検索結果が得られる前に端末装置で検証情報を生成するよりも、端末装置の処理資源と通信資源を節約できる。
【0026】
本発明の第4の側面によるサーバ装置は、公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【0027】
上記構成によれば、ファイルに基づいて生成された検索キーを検索キー受信手段で端末装置から受信し、ファイルと検証因子とに基づいて生成された検証情報を検証情報受信手段で端末装置から受信し、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索キーに基づいて検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【0028】
このように、本発明の第4の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【0029】
ここで、検証情報は、ファイルと検証因子に基づいて端末装置で生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【0030】
ここで、第1乃至第4の発明において、検証因子は、下記の3つの条件を満たす必要がある。
(1)セッション、すなわち、端末装置がサーバ装置との間で行われる一連の双方向通信に依存する情報である。セッションが異なれば、原則として、検証因子の値を変更する。なお、同一のユーザが異なる日時や時刻に行う複数のセッションについては、各セッションを区別しなくてもよい。この場合、何れかのセッションにおいてアクセス権を有していたことを確認できる。
(2)端末とサーバで共有可能な情報である。
(3)端末側で自由に設定できない情報である。例えば、ユーザが自由に設定できる状態のログインパスワードなどは、この条件を満たさない。端末側で自由に設定できない検証因子の例としては、セッション開始日時、ユーザID及び端末装置のIPアドレスのいずれか、あるいは、これらのうちの2つ以上の組み合わせがある。なお、一つのセッションで複数のファイルをアップロードする場合、全てのファイルに対して同じ検証因子を使用してもよく、複数のファイルのうちの一部のファイルに異なる検証因子を使用してもよい。また、アップロードしようとするファイル毎にすべて検証因子を切り替えてもよい。
【0031】
また、検証情報とは、端末装置において生成され、ファイル実体と検証因子との両方がなければ生成し得ない情報をいい、例えば、検証因子とファイルを結合させ、その結合した全体のデータから、ハッシュ関数により求められた値を用いることができる。ハッシュ関数としては、MD5、SHA1、SHA−256及びSHA−512等の公知の一方向ハッシュ関数を採用することができる。
【0032】
第1の発明においては、検証情報はファイルの全体を要約することが望ましい。すなわち、例えば、2つのファイルの間でファイルの実体の任意の1ビットが異なれば、検証因子が同じであっても、検証情報が異なることが望ましい。さもなければ、正常ファイルに対して1ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を対象として、上述の公知の一方向ハッシュ関数を適用すれば、ファイルの全体を要約する検証情報となる。
【0033】
また、検索キーとは、ファイルに基づいて生成され、ファイルよりも小さいデータサイズを有する情報をいい、例えば、ファイルの全体または一部からMD5やSHA−1等のハッシュ関数により求められた値を用いることができる。また、検索キーとしては、複数のハッシュ関数によって得られる値の組み合わせを用いてもよい。SHA−512等の衝突確率が非常に小さいハッシュ関数を用いたり、複数のハッシュ関数によって得られる値を組み合わせれば、実用に耐えうるレベルでハッシュ値の衝突を避けることができ、ファイル検索手段による検索結果を1件または0件のいずれかにできるので好ましい。また、サービスを利用するユーザに対してファイルの入手後にファイル名を変更しないよう通達した上であれば、ファイル名を検索キーとすることもできる。
【0034】
第2または第3の発明においては、検索キーと検証情報の組み合わせがファイルを要約することが望ましい。すなわち、例えば、2つのファイルの間でファイルの実体の任意の1ビットが異なれば、検証因子が同じであっても、検索キーまたは検証情報のいずれかが異なることが望ましい。さもなければ、正常ファイルに対して1ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を検索キーが要約する場合、または、ファイルの全体を検証情報が要約する場合、または、ファイルの一部を検索キーが要約し残りの部分を検証情報が要約する場合に、この条件が満たされる。
【0035】
また、検証参照情報とは、サーバ装置において生成され、検証情報が端末装置においてファイルに基づいて生成されたことを検証するために用いられる情報である。検証参照情報は、検証情報と同様に、検証因子とファイルを結合したデータから求められたハッシュ値を用いることができる。また、ファイルから検証因子に基づいて抽出したバイト値や、ファイルから所定の法則に基づいて抽出したバイト値のハッシュ値等を用いることができる。
【0036】
なお、検証情報に衝突強度の強いアルゴリズムを用いるのであれば、検索キー生成のアルゴリズムとしては、CRC32のように、ハッシュ値としての衝突の可能性は高いものの高速に生成可能なアルゴリズムを用いることも可能である。
【0037】
また、検索キーを用いる場合は、検証情報と検索キーとを結合させて、1つの連続した情報として扱ってもよい。その場合は、端末装置の検証情報送信手段が検索キー送信手段を兼ね、サーバ装置の検証情報受信手段が検索キー受信手段を兼ねることとなる。さらに、検証情報、検索キー、または、検証情報と検索キーが結合された情報は、端末装置で暗号化した上で送信し、サーバ装置で受信したあとに復号化してもよい。
【0038】
また、公衆回線とは、例えばインターネット回線等のように、不特定多数のユーザが端末装置によりサーバ装置と双方向通信が可能な通信回線をいう。
【0039】
また、端末装置の検索キー生成手段は、端末装置に存在するファイルに限られず、端末装置が接続されたネットワークに接続された他の装置(例えば共通のLANに接続されたファイルサーバ)にアクセス可能に存在するファイルに基づいて、検索キーを生成してもよい。
【0040】
一実施形態のファイル格納システムは、上記端末装置は、上記サーバ装置から検証因子を受信する検証因子受信手段を有し、
上記サーバ装置は、検証因子を生成する検証因子生成手段と、この検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段とを有する。
【0041】
上記実施形態によれば、サーバ装置は、サーバ装置が生成して端末装置へ送信した検証因子とファイルとに基づいて生成された検証情報を受信することにより、端末装置が検証因子を受信した後に現実のファイルを用いて検証情報を生成したことを確認できる。したがって、端末装置が検証因子を受信した後に、少なくとも、端末装置がファイルを有していて正当なアクセス権を有していたことを確認できる。
【0042】
また、サーバ装置が生成して端末装置へ送信した検証因子を使用することにより、例えばセッションごとにサーバ装置が端末装置へ検証因子を送信して検証因子を更新することにより、通信のセキュリティを高めることができる。
【0043】
ここで、検証因子は、検証因子生成手段が生成する毎に値が変更される乱数であるのが好ましい。検証因子を乱数とすることにより、例えばセッション開始日時やユーザID等のようにユーザが把握可能な内容の検証因子を用いるよりも、ユーザによる検証因子の把握を防止することができ、検証因子の不正使用を効果的に防止できる。
【0044】
また、サーバ装置が端末装置に検証因子を送信してから、検証情報を端末装置から受け取るまでの時間にタイムアウト制限を設けることが望ましい。これにより、端末装置を操作するユーザが、ファイルを有する知人に検証因子をメールなどで送付し、検証情報を生成して返信するよう依頼する余裕を与えないことができる。
【0045】
一実施形態のファイル格納システムは、上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成する。
【0046】
上記実施形態によれば、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【0047】
一実施形態のファイル格納システムは、上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成する。
【0048】
上記実施形態によれば、ファイルの全体から検証情報を生成するよりも、検証情報の生成に使用する処理資源を削減できる。したがって、端末装置の処理負担を軽減できる。特に処理時間の削減により、ユーザの操作感を高めることができる。
【0049】
なお、ファイルの全体から一部を抽出する処理は、必ずしも、抽出された一部を別のファイルに格納したり、汎用メモリ内の一塊として展開したりする必要はなく、検証情報を生成する過程においてファイルの中の抽出される部分のみにアクセスするだけでもよい。また、どの部分が抽出されるかは、ユーザによって予測不可能であることが望ましい。
【0050】
また、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【発明の効果】
【0051】
本発明によれば、ユーザが端末装置においてファイルのアクセス権を有することを効果的に検証できるので、サーバ装置に格納されたファイルへのアクセス権付与による高速アップロードを正当なユーザのみに行わせることができて、アクセス権の不正取得やファイルの不正流出を効果的に防止できる。
【図面の簡単な説明】
【0052】
【図1】第1実施形態のファイル格納システムを示す概念図である。
【図2】第1実施形態のファイル格納システムを示すブロック図である。
【図3】第2実施形態のファイル格納システムを示すブロック図である。
【図4】検証情報生成手段を示すブロック図である。
【図5】第3実施形態のファイル格納システムを示すブロック図である。
【発明を実施するための形態】
【0053】
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
【0054】
(第1実施形態)
図1は、本発明の第1実施形態のファイル格納システムを示す概念図である。本実施形態のファイル格納システム1は、公衆ネットワークとしてのインターネットを介して不特定多数のユーザにオンラインストレージサービスを提供するために用いられており、複数のユーザによって操作される複数の端末装置2,2,・・・が、インターネット網4を介してサーバ装置3に接続されて構成される。サーバ装置3は、オンラインストレージサービスの提供者により設置される。
【0055】
端末装置2は、CPU(Central Processing Unit)やキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレーム、携帯情報端末、ゲーム機及びカーナビゲーション装置等により構成される。端末装置2は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等を備える。端末装置2は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、CPUが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。
【0056】
サーバ装置3は、CPUやキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション及びメインフレーム等により構成される。サーバ装置3は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等のほか、端末装置2からアップロードされたファイルを格納するハードディスクドライブ等の大容量記憶装置を備える。サーバ装置3は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、CPUが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。なお、サーバ装置3は、大容量記憶装置が本体と分離していてもよい。
【0057】
端末装置2とサーバ装置3との間の通信は、端末装置2とサーバ装置3の通信インターフェースを介してTCP/IP(Transmission Control Protocol/Internet Protocol)プロトコルに従って行われる。
【0058】
端末装置2のユーザは、オンラインストレージサービスの利用に先立ってサービス提供者に利用申し込みを行い、サービス提供者がサービスの利用を許可すると、ユーザのID及びパスワード等の登録情報を登録する。ユーザは、端末装置2でサーバ装置3に接続し、ID及びパスワードをサーバ装置3に送信する。サーバ装置3は、受信したID及びパスワードを登録情報と照合し、照合が成功すると、端末装置2との間でファイルのアップロード及びダウンロードを行う。パスワードの代わりに生体認証など他の認証方法を用いてユーザを認証してもよい。なお、オンラインストレージサービスは、サービス提供に伴うユーザ登録を行うことなく端末装置2とサーバ装置3との間のファイルのアップロード及びダウンロードが可能な形態であってもよい。例えば、端末装置のIPアドレスにより、端末を操作するユーザを区別してもよい。オンラインストレージサービスによりサーバ装置3に格納するファイルは、文書、画像、音楽及びプログラム等の任意のファイルが対象となる。
【0059】
図2は、第1実施形態のファイル格納システム1を示すブロック図である。図2に示すように、端末装置2は、検証情報生成手段23と検証情報送信手段24を有する。サーバ装置3は、検証情報受信手段35と、ファイル検索手段32と、ファイル格納手段33と、アクセス権付与手段34を有する。
【0060】
本実施形態では、検証因子として、ユーザIDとセッションを開始した日付を結合した文字列について、8ビットのチェックサムを取った値を用いる。こうして生成された検証因子は、0〜255までの値を取りうる1バイトの値である。なお、ユーザIDは、ユーザによって重複が無いように付与されている。日付としては、年、月及び日を用いる。
【0061】
端末装置2の検証情報生成手段23は、ファイルと検証因子とに基づいて検証情報を生成する。すなわち、上記1バイトの検証因子をファイルの先頭に結合して、SHA−512のハッシュ値を計算する。これにより、256種類の検証情報ができることになる。
【0062】
サーバ装置3のファイル格納手段33は、上記256種類の検証情報のいずれによっても検索できるようにファイルが格納されている。具体的には、ファイルを格納するとき、そのファイルと256種類の検証因子とから、端末装置で検証情報を生成するアルゴリズムと同じアルゴリズムを用いて256種類の検証情報を生成し、対応する検証因子と検証情報を結合した情報を検索キーとして、256種類の検索キーを生成し、これら256種類のどの検索キーからでもこのファイルが検索できるように、これら検索キーとファイルを関連付けて1つの検索テーブルに格納する。別の格納方法としては、256種類の検証因子のそれぞれについて検索テーブルを設け、それぞれの検証因子に基づいて生成した検証情報を検索キーとしてファイルに関連付けて、対応する検索テーブルに格納する。ファイル検索手段32は、ファイル格納手段33に格納されたファイルから、検証情報受信手段35が受信した検証情報と検証因子との組み合わせによってファイルを検索する。アクセス権付与手段34は、ファイル格納手段33のファイルの読み出しを制御するものである。このアクセス権付与手段34は、ファイル検索手段32による検索結果が肯定的な場合に、ファイル検索手段32によって検索されたファイルの読み出しアクセス権を端末装置2のユーザに付与する。
【0063】
本実施形態のファイル格納システム1は、以下のように動作する。まず、ユーザが端末装置2の補助記憶装置に記憶された所定のファイルをアップロードする場合、検証情報生成手段23により、ファイルと検証因子から、SHA−512のハッシュ値である検証情報を生成する。なお、ファイルが、端末装置2の補助記憶装置ではなくて、端末装置2が接続可能なLAN内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルと検証因子から検証情報を生成する。この検証情報が、検証情報送信手段24により、インターネット回線を通じてサーバ装置3に送信される。
【0064】
サーバ装置3は、検証情報受信手段35によって検証情報を受信すると、ファイル検索手段32により、検証情報受信手段35によって受信した検証情報と検証因子との組み合わせにより、格納手段33に格納されたファイルから検索を行う。すなわち、検証情報と検証因子を結合して検索キーを生成し、この検索キーを用いてファイルを検索する。別の格納方法を用いる場合は、検証因子に従って検索テーブルを選択し、その検索テーブルから検証情報を検索キーとしてファイルを検索する。ファイル検索手段32によるファイル格納手段33の検索結果が肯定的である場合、すなわち、検索キーと検証因子に基づく検索により、該当するファイルが検索された場合、アクセス権付与手段34により、ファイル格納手段33に格納されているファイルに端末装置2のユーザのアクセス権を付与する。ユーザへのファイルのアクセス権の付与は、ファイル格納手段33に設けられてユーザに占有アクセス権を与えたディレクトリの中に、ファイルへのリンク(ファイルへの参照として機能するショートカット)を格納することにより行う。これにより、ユーザの端末装置2は高速アップロードが完了し、ファイル格納手段33のファイルの読み出しが可能となる。すなわち、ファイル実体のアップロードを行うことなく、サーバ装置3のユーザの占有アクセス権が設定されたディレクトリの中へファイル実体をアップロードした場合と同じ効果が得られる。
【0065】
一方、ファイル検索手段32によるファイル格納手段33の検索結果が否定的である場合、すなわち、検証情報と検証因子に基づく検索により、該当するファイルが検索されない場合、サーバ装置3が端末装置2に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置2は、ファイル実体をサーバ装置3に送信して通常アップロードを行う。ただし、高速アップロードができなければアップロードを諦めるユーザの選択肢があってもよい。
【0066】
このように、本実施形態のファイル格納システム1は、端末装置2でファイルと検証因子とに基づいて検証情報を生成してサーバ装置3に送信し、サーバ装置3において、受信した検証情報と検証因子の組み合わせによってファイル格納手段ファイルを検索する。したがって、ファイル検索手段32による検索結果が肯定的であれば、検索されたファイルと同じファイルを、ユーザが端末装置2に有していることが検証でき、その結果、ユーザにファイル格納手段33のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置2に有している場合に限られず、端末装置2が接続可能なLAN内のファイルサーバ等にファイルが存在する場合も、ユーザにファイルのアクセス権を設定することができる。
【0067】
また、第1実施形態において、検証情報生成手段23は、検証因子をファイルに結合してハッシュ値を計算することにより、検索キーを生成したが、他の方法によってファイルと検証因子に基づいて検索キーを生成してもよい。例えば、検証情報生成手段23は、セッション開始前に、ユーザがアップロードしようとする可能性のあるファイルからハッシュ値の算出処理を開始しておく。ただし、ファイルの末尾に到達したときに、プログラムの内部状態を保持したまま、処理を中断し、プログラムの内部状態を対象ファイルに関連付けられた付属ファイルとして書き出しておく。この後、ユーザがアップロードするファイルを指定して端末装置2とサーバ装置3がセッションを開始すると、検証情報生成手段23は、サーバ装置3から受信した検証因子に基づいてファイルから一部分を抽出する。この抽出されたファイルの一部を、ファイルに後続するものと扱って、付属ファイルからプログラムの内部状態を復元したうえで、セッション前に中断されたハッシュ値の算出を再開し、最終的に得られたハッシュ値を検証情報とする。サーバ装置3のファイル検索手段32は、ファイルと、検証因子に基づいてファイルから抽出した一部とについてハッシュ値を生成し、この値をファイルに対応づけた検索テーブルを用意しておく。そして、検証情報受信手段35が受信した検証情報と検証因子の組み合わせにより、上記検索テーブルを用いて検索を行う。このようにして、ファイルと、セッション開始後に検証因子に基づいて抽出したファイルの一部とに基づいて検証情報を生成することにより、セッション前に検証情報の算出処理の一部を済ませておくことができる。これにより、セッション開始後の端末装置2の処理時関を短縮することができる。
【0068】
(第2実施形態)
図3は、本発明の第2実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム12は、第1実施形態のファイル格納システム1と同様のハードウェアにより構成され、端末装置2及びサーバ装置3で実行される制御プログラムが異なる。
【0069】
第2実施形態のファイル格納システム12は、端末装置2がファイルと検証因子とに基づいて検証情報を生成する一方、サーバ装置3がファイルと検証因子とに基づいて検証参照情報を生成し、サーバ装置3で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【0070】
図3に示すように、第2実施形態のファイル格納システム12は、端末装置2が、検索キー生成手段21と検索キー送信手段22を有すると共に、検証情報生成手段23と、検証情報送信手段24と、検索結果受信手段25を有する。サーバ装置3は、検索キー受信手段31とファイル検索手段32とファイル格納手段33とアクセス権付与手段34を有すると共に、検証情報受信手段35と検証手段36と検証参照情報生成手段37と検索結果送信手段38を有する。
【0071】
本実施形態では、端末装置2の検索キー生成手段21が生成する検索キーとして、SHA−1の値とMD5の値とファイルの長さを連結したバイト列を用いる。SHA−1は160ビットである一方、MD5は128ビットであり、ファイル長は32ビットで表現すると、検索キーの全体としては320ビットとなる。本実施形態では、検索キーの生成はセッション中に行う必要はないので、予め検索キー生成手段21により、端末装置2に格納されたファイルから検索キーを生成しておく。なお、ファイルが、端末装置2の補助記憶装置ではなくて、端末装置2が接続可能なLAN内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルから検索キーを生成する。
【0072】
なお、検証情報の生成に、衝突強度の強いアルゴリズムを用いるのであれば、検索キーの生成のアルゴリズムとしては、CRC32のように、ハッシュ値としての衝突の可能性は比較的高いが高速に生成可能なアルゴリズムを用いることも可能である。
【0073】
また、端末装置2及びサーバ装置3で用いる検証因子として、ユーザIDと、セッションを行う年月日を組み合わせた文字列を用いる。詳しくは、ユーザIDと年月日を結合した文字列を検証因子として用いる。また、セッション開始の時刻を秒単位で取得して検証因子の一部として用いることもできるが、その場合は、その時刻を端末からサーバに送信し、サーバ側で、妥当な範囲の値であることを確認した上で、それを検証因子の一部として用いる。
【0074】
また、端末装置2で生成する検証情報として、検証因子に、端末装置2に存在するファイル実体を結合させた値について、その全体のSHA−1を計算して得た値を用いる。
【0075】
また、サーバ装置3で生成する検証参照情報を、端末装置2で生成する検証情報と同じ方法で生成する。すなわち、検証因子に、ファイル格納手段33で検索されたファイル実体を結合させた値について、その全体のSHA−1を計算して得た値を検証参照情報とする。
【0076】
本実施形態のファイル格納システム12は、以下のように動作する。まず、ユーザが端末装置2の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段21が予め生成した検索キーを、検索キー送信手段22により、インターネット回線を通じてサーバ装置3に送信する。
【0077】
サーバ装置3は、検索キー受信手段31によって検索キーを受信すると、ファイル検索手段32により、検索キー受信手段31によって受信した検索キーに基づいて、格納手段33に格納されたファイルから検索を行う。ファイル検索手段32によるファイル格納手段33の検索結果が肯定的である場合、すなわち、検索キーに基づく検索により、該当するファイルが検索された場合、検索結果送信手段38により、検索結果が肯定的である旨の情報を端末装置2に送信する。これと共に、検索された候補ファイルと検証因子に基づいて、検証参照情報生成手段37によって検証参照情報を生成する。
【0078】
端末装置2は、検索結果受信手段25により、検索結果が肯定的である旨の情報を受信すると、検証情報生成手段23により、ファイルと検証因子に基づいて検証情報を生成する。検証情報生成手段23で生成された検証情報は、検証情報送信手段24によってサーバ装置3に送信される。
【0079】
サーバ装置3は、検証情報を検証情報受信手段35で受信し、この検証情報と、検証参照情報生成手段37で生成された検証参照情報とが、所定の条件を満たすか否かを検証手段36によって検証する。本実施形態では、検証情報生成手段と検証参照情報生成手段とで同じアルゴリズムを実行させ、検証情報と検証参照情報とが一致するか否かを検証する。検証手段36により検証情報と検証参照情報とが一致することが検証された場合、アクセス権付与手段34により、ファイル格納手段33に格納されているファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置2は高速アップロードが完了し、ファイル格納手段33のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置3へファイル実体をアップロードした場合と同じ効果が得られる。
【0080】
一方、検証手段36による検証結果が否定的である場合、すなわち、検証情報と検証参照情報とが一致しない場合、サーバ装置3が端末装置2に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置2は、ファイル実体をサーバ装置3に送信して通常アップロードを行う。アップロードされたファイルはファイル格納手段に格納され、アップロードしたユーザに読み込みアクセス権が与えられる。
【0081】
このように、本実施形態のファイル格納システム12は、端末装置2でファイルに基づいて検索キーを生成すると共に、ファイルと検証因子とに基づいて検証情報を生成してサーバ装置3に送信し、サーバ装置3において、検索キーで検索されたファイルと検証因子とで生成された検証参照情報と、受信した検証情報とが所定の条件を満たすか否かが検証される。したがって、検証結果が肯定的であれば、ファイル格納手段33から検索されたファイルと同じファイルに対して、ユーザが端末装置2においてアクセス権を有していることが検証でき、その結果、ユーザにファイル格納手段33のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置2内に有している場合に限られず、端末装置2が接続可能なネットワーク内のファイルサーバ等にファイルが存在する場合も、ユーザにファイル格納手段33のファイルのアクセス権を設定することができる。
【0082】
第2実施形態において、端末装置2の検証情報生成手段23及び検証参照情報生成手段37は、ファイル実体の全てに基づいて検証情報及び検証参照情報を生成したが、ファイルの一部に基づいて検証情報及び検証参照情報を生成してもよい。図4は、ファイルの一部に基づいて検証情報を生成する検証情報生成手段123を示すブロック図である。この検証情報生成手段123は、アップロードしようとするファイルに対し、抽出手段124によって検証因子に基づいてファイルの一部を抽出する。具体的には、抽出手段124は、検証因子の値をnとして、ファイルのnバイト目の値を抽出する。この値を、変換手段125によってハッシュ値に変換し、検証情報を生成する。なお、検証情報生成手段123は、変換手段125を削除して、抽出手段124により検証因子に基づいてファイルから抽出された値をそのまま検証情報として用いてもよい。あるいは、検証情報生成手段123の変換手段125は、ファイルの一部から抽出された値に更に検証因子を付加し、この値をハッシュ値に変換してもよい。サーバ装置3の検証参照情報生成手段についても、検証情報生成手段123と同様にして、ファイルの一部から検証参照情報を生成する。こうしてファイルの一部から生成した検証情報と検証参照情報が一致することを、サーバ装置3の検証手段36で検証されれば、肯定的な検証結果が得られたこととなる。
【0083】
また、端末装置2において、検証情報生成手段123がファイルの一部に基づいて検証情報を生成する場合、検索キー生成手段21もまたファイルの一部に基づいて検索キーを生成してもよい。この場合、検索キーの生成のために抽出した部分と、検証情報の生成のために抽出した部分とを合わせて、ファイルの全体をカバーするのが望ましい。これにより、端末装置2のファイルと、サーバ装置3のファイルとが全ての部分において一致する場合にのみ、検証結果を肯定的とすることができる。
【0084】
また、端末装置2及びサーバ装置3が、ファイルの一部に基づいて検証情報及び検証参照情報を生成する場合、以下のように検索キーに剰余値テーブルを設定することにより、検索キーの衝突(同一の検索キーにより複数の候補ファイルが検索される状況)が生じても、効率的にファイルの検証を行うことができる。すなわち、検索キーの衝突がある場合、検索結果の複数のファイルに対して、いずれかのファイルをユーザが端末装置2(又は端末装置2が接続可能な他の装置)に存在することを検証する必要があるが、複数のファイルに対して検証因子として用いられるかもしれない複数の剰余値を剰余値テーブルとして共通化しておくことにより、検証処理と同時に検索キーの衝突を解消することができる。
【0085】
例えば、サーバ装置3において、検索キー毎に対応する0〜99999の範囲の値をとる乱数値を100個含む剰余値テーブルを作成する。次に、剰余値テーブルに格納された100個の乱数値(剰余値)の各々について、ファイル実体から、(100000×整数+剰余値)バイト目を抜き出し、そこからハッシュ値を生成して、ファイル毎に剰余値に紐付けて検証参照情報テーブルに保存しておく。
【0086】
端末装置2とのセッション実行時に0〜99の範囲の値をとる乱数値を生成し、これに対応する剰余値を剰余値テーブルから取り出し、取り出した剰余値を検証因子として端末装置2に送付する。
【0087】
端末装置2は、サーバ装置3から受信した検証因子に基づき、ファイル実体から、(100000×整数+検証因子)バイト目を抜き出し、そこからハッシュ値を生成して検証情報を生成する。この検証情報を検証情報送信手段35によってサーバ装置3に送信する。
【0088】
サーバ装置3は、検証情報受信手段35で検証情報を受信すると共に、検証参照情報生成手段37により、検証参照情報テーブルから検証因子に紐付けられたハッシュ値を取得することにより検証参照情報を生成する。この検証参照情報と検証情報とが一致するか否かが、検証手段36によって検証される。このように、サーバ装置3の検証参照情報生成手段37は、セッション中に、検証因子からハッシュ値をテーブル引きするのみにより検証参照情報を生成できるので、処理資源の消費を大幅に軽減できる。
【0089】
また、上記実施形態において、検証手段36は、検証情報と検証参照情報とが一致する場合に検証結果が肯定的であるとしたが、検証情報と検証参照情報とが他の条件を満たす場合に検証結果を肯定的であるとすることも可能である。例えば、検証因子の値をaとした場合、検証情報生成手段23は、ファイルから、a×n(n=0,1,2,3・・・)バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証情報を生成する。これに対して、検証参照情報生成手段37は、ファイルから、(a×b)×n(n=0,1,2,3・・・)バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証参照情報を生成する。こうして生成された検証情報と検証参照情報について、検証手段36は、検証情報のb×n(n=0,1,2,3・・・)バイト目の値を抽出した情報と、検証参照情報とが等しいとの条件を満たすか否かを検証する。この条件が成り立つ場合、ファイル格納手段33から検索されたファイルと同じファイルを、ユーザが端末装置2に有していると判断することができる。
【0090】
第2実施形態において、端末装置2は、検索キーをサーバ装置3に送信し、検索結果受信手段25が、検索結果が肯定的である旨の情報を受信した後に検証情報を生成してサーバ装置3に送信したが、検索キーと検証情報の生成及び送信を略同時に行ってもよい。しかしながら、処理資源及び通信資源の節約の観点から、検索キーを送信した後、検索結果が肯定的である場合に検証情報を生成して送信するのが好ましい
【0091】
(第3実施形態)
図5は、本発明の第3実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム13は、第1実施形態のファイル格納システム1と同様のハードウェアにより構成され、端末装置2及びサーバ装置3で実行される制御プログラムが異なる。
【0092】
第3実施形態のファイル格納システム13は、サーバ装置3が、端末装置2から受信した検索キーにより検索したファイルと検証参照情報に基づいて検証因子を生成する一方、端末装置2が検証因子とファイルとに基づいて検証情報を生成し、サーバ装置3で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【0093】
図5に示すように、第3実施形態のファイル格納システム13は、端末装置2が、検索キー生成手段21、検索キー送信手段22、検証情報生成手段23及び検証情報送信手段24を有すると共に、検証因子受信手段26を有する。サーバ装置3は、検索キー受信手段31、ファイル検索手段32、ファイル格納手段33、アクセス権付与手段34、検証情報受信手段35、検証手段36及び検証参照情報生成手段37を有すると共に、検証因子生成手段131と検証因子送信手段132を有する。
【0094】
本実施形態では、端末装置2の検索キー生成手段21が生成する検索キーとして、SHA−256を用いる。
【0095】
また、サーバ装置3の検証参照情報生成手段37が生成する検証参照情報として、0〜99の範囲の乱数を用いる。さらに、サーバ装置3の検証因子生成手段131は、検証参照情報に基づいてファイルから抽出したデータを検証因子として生成する。
【0096】
本実施形態のファイル格納システム13は、以下のように動作する。まず、ユーザが端末装置2の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段21により、ファイルからSHA−256の値を算出して検索キーを生成する。この検索キーを、検索キー送信手段22により、インターネット回線を通じてサーバ装置3に送信する。
【0097】
サーバ装置3は、検索キー受信手段31によって検索キーを受信すると、ファイル検索手段32により、検索キー受信手段31によって受信した検索キーに基づいて、格納手段33に格納されたファイルから検索を行う。ファイル検索手段32によりファイルが検索されると、このファイルを候補ファイルとする一方、検証参照情報生成手段37が検証参照情報として0〜99の範囲から所定の乱数を生成する。検証因子生成手段131は、検証参照情報生成手段37が生成した乱数(検証参照情報)を加算値の初期値とし、空の配列を抽出位置配列の初期値とし、以下のようなループにより、候補ファイルから抽出位置配列を生成する。
(1)1から候補ファイルのファイルサイズまでの範囲の整数の乱数Nを生成する。
(2)候補ファイルの実体のNバイト目の位置のバイト値を抽出する。
(3)抽出位置配列の末尾に、上記生成した乱数Nを追加する。
(4)加算値に、抽出されたバイト値を加算する。
この(1)から(4)までを、加算値の下位2桁が0となるまで繰り返して得られた抽出位置配列を、検証因子とする。こうして検証因子生成手段131が生成した検証因子を、検証因子送信手段132によって端末装置2に送信する。
【0098】
端末装置2は、検証因子受信手段26により検証因子を受信し、受信した検証因子とファイルに基づいて、検証情報生成手段23により検証情報を生成する。検証情報生成手段23は、アップロードしようとするファイルから、検証因子である抽出位置配列の個々の値の位置のバイト値を順に抽出し、抽出したバイト値を加算して、その下位2桁の値を検証情報として生成する。検証情報生成手段23で生成された検証情報を、検証情報送信手段24によりサーバ装置3に送信する。
【0099】
サーバ装置3は、検証情報受信手段35により検証情報を受信し、検証手段36により、受信した検証情報と検証参照情報とを加算し、加算値の下位2桁が0であれば検証結果が肯定的であるとする。検証手段36により検証結果が肯定的であるとされた場合、アクセス権付与手段34により、ファイル格納手段33に格納されている候補ファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置2は高速アップロードが完了し、ファイル格納手段33のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置3へファイル実体をアップロードした場合と同じ効果が得られる。
【0100】
一方、ファイル検索手段32によるファイル格納手段33の検索結果が否定的である場合、サーバ装置3が端末装置2に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置2は、ファイル実体をサーバ装置3に送信して通常アップロードを行う。
【0101】
このように、本実施形態のファイル格納システム13は、サーバ装置3において、端末装置2から受信した検索キーにより検索された候補ファイルから検証参照情報に基づいて検証因子を生成し、この検証因子に基づいて端末装置2で更にファイルに基づいて検証情報を生成し、この検証情報と検証参照情報とが所定の条件を満たすか否かにより検証を行うので、端末装置2が有するファイルとサーバ装置3のファイル格納手段33に格納されたファイルとの同一性を確認することができる。したがって、ユーザの端末装置2にファイルが存在することを確実に確認でき、ファイルのアクセス権の不正取得を効果的に防止することができる。
【0102】
上記実施形態において、ユーザが端末装置2の補助記憶装置に記憶されたファイルをアップロードする場合について説明したが、端末装置2に存在するファイルに限られず、端末装置2が接続されたネットワークに接続されて端末装置2がアクセス可能な他の装置に存在するファイルをアップロードする場合にも、本発明は適用可能である。
【符号の説明】
【0103】
1 ファイル格納システム
2 端末装置
3 サーバ装置
23 検証情報生成手段
24 検証情報送信手段
32 ファイル検索手段
33 ファイル格納手段
34 アクセス権付与手段
35 検証情報受信手段

【特許請求の範囲】
【請求項1】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報をサーバ装置に送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするファイル格納システム。
【請求項2】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項3】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項4】
請求項1又は2に記載のファイル格納システムにおいて、
上記端末装置は、上記サーバ装置から検証因子を受信する検証因子受信手段を有し、
上記サーバ装置は、検証因子を生成する検証因子生成手段と、この検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段とを有することを特徴とするファイル格納システム。
【請求項5】
請求項3又は4に記載のファイル格納システムにおいて、
上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成することを特徴とするファイル格納システム。
【請求項6】
請求項2又は3に記載のファイル格納システムにおいて、
上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成することを特徴とするファイル格納システム。
【請求項7】
公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするサーバ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate


【公開番号】特開2010−165324(P2010−165324A)
【公開日】平成22年7月29日(2010.7.29)
【国際特許分類】
【出願番号】特願2009−9396(P2009−9396)
【出願日】平成21年1月19日(2009.1.19)
【特許番号】特許第4376960号(P4376960)
【特許公報発行日】平成21年12月2日(2009.12.2)
【出願人】(505126665)
【Fターム(参考)】