(57)【要約】【課題】不特定多数を対象とするオンラインストレージサービスに利用でき、成りすましや不正アクセスを防止できるファイル格納システムを提供すること。【解決手段】ファイル格納システム１は、ユーザによって操作される端末装置２と、サーバ装置３とがインターネット網を介して接続されて形成される。端末装置２は、検証情報生成手段２３によりファイルと検証因子とに基づいて検証情報を生成し、検証情報送信手段２４により検証情報をサーバ装置３に送信する。サーバ装置３は、検証情報受信手段３５により検証情報を受信し、ファイル検索手段３２により検証情報と検証因子との組み合わせにより、格納手段３３に格納されたファイルの検索を行う。ファイル検索手段３２によるファイル格納手段３３の検索結果が肯定的である場合、アクセス権付与手段３４により、ファイル格納手段３３内のファイルに端末装置２のユーザのアクセス権を付与する。【選択図】図２
2010165324.tif 000002
【特許請求の範囲】
【請求項１】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報をサーバ装置に送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするファイル格納システム。
【請求項２】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項３】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項４】
請求項１又は２に記載のファイル格納システムにおいて、
上記端末装置は、上記サーバ装置から検証因子を受信する検証因子受信手段を有し、
上記サーバ装置は、検証因子を生成する検証因子生成手段と、この検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段とを有することを特徴とするファイル格納システム。
【請求項５】
請求項３又は４に記載のファイル格納システムにおいて、
上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成することを特徴とするファイル格納システム。
【請求項６】
請求項２又は３に記載のファイル格納システムにおいて、
上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成することを特徴とするファイル格納システム。
【請求項７】
公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするサーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばオンラインストレージサービスに用いられるファイル格納システムに関する。
【背景技術】
【０００２】
不特定多数のユーザを対象に、インターネットなどの公衆回線を介してファイルを格納するためのディスクスペースを貸し出すオンラインストレージサービスが提供されている。オンラインストレージサービスは、公衆回線へ接続可能な環境があれば利用できるため、自宅や職場等の任意の場所からファイルの保存及び読み出しを行う用途や、異なるユーザ間でファイルの受け渡しを行う用途等に活用されている。
【０００３】
しかしながら、現在のオンラインストレージサービスでは、ファイルの格納コストや通信コスト、および、通信時間の問題があるため、ユーザがディスクスペースに格納できるファイルの数は比較的少なく、また、ファイルサイズは数百メガバイト程度に制限されている。
【０００４】
ところで、イントラネット等のように閉じたネットワーク内で用いられるファイルバックアップシステムでは、巨大なファイルをディスクスペースに保管する際の格納コストを低減するため、重複排除技術が採用されている。すなわち、端末装置において、ファイルやファイル断片（以下、ファイルはファイル断片を含むものとする）をハッシュ値などの検索キーと一体化して管理し、ファイルの実体をアップロードしようとする前に、検索キーをサーバに送信する。サーバが、検索キーに対応するファイルが既にファイル格納装置に格納されていると判断すると、既に格納されたファイルにリンクを張る。これにより、端末装置からサーバへのファイルのアップロードを行うことなく、端末装置がファイルのアップロードを行ったのと同じ効果を奏するようにしている。こうして、同一ファイルのアップロードの重複を防ぐことにより、バックアップにかかる時間や、通信資源の消費や、格納資源の消費を節約している。その結果、巨大なファイルをディスクスペースに保管可能としても、通信資源や格納資源を節約することができる。
【０００５】
このような重複排除技術を、公衆回線を介したオンラインストレージサービスに利用することにより、ファイルの格納コストや通信コストを低減し、通信時間を短縮して、巨大なファイルの大量保管が可能となり得る。
【０００６】
オンラインストレージに重複排除技術を適用した従来技術としては、以下の特許文献に記載されたものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００４−５１４９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、不特定多数のユーザを対象として公衆回線を介したオンラインストレージサービスに重複排除技術を適用する場合、以下のような安全性に問題がある。
【０００９】
すなわち、悪意を持ったユーザが通信プロトコルを解析し、端末装置を改造して、ファイルを所持していないにもかかわらず、検索キーのみを生成して送付することにより、ファイルのアクセス権を不正に獲得する可能性がある。つまり、検索キーを送信することにより、ファイルの所有者のなりすましが成立する危険性がある。また、悪意を持ったユーザが大量の検索キーを流出させ、ファイルを不正なアクセスに晒す危険性がある。
【００１０】
そこで、本発明の課題は、不特定多数を対象とするオンラインストレージサービスに利用でき、巨大なファイルの迅速なアップロードが可能でありながら、成りすましや不正アクセスを防止できるファイル格納システム及びサーバ装置を提供することにある。
【課題を解決するための手段】
【００１１】
例えばオンラインストレージサービスにおいて、ファイル実体をアップロードする代わりにファイルの検索キーを送付する技術を利用する場合、ファイルの不正流出を防止するには、ユーザの認証のみでは不十分である。ユーザがサービスに登録されていても、ファイルを実際に有していなければ、サーバ装置に格納されたファイルへのアクセスは許されないからである。検索キーの不正入手や偽造により、ファイルへの不正なアクセスがされると、ファイルが本来アクセス権を有しないユーザに流出してしまい、流出したファイルの回収は実質的に不可能となる。したがって、検索キーの不正入手や偽造によるファイルへのアクセス権の不正取得を防止する必要がある。
【００１２】
そこで、本発明のファイル格納システムは、検証因子を用いることにより、サーバ装置において、端末装置から受け取った検索キーでファイル格納手段から検索されたファイルについて、ユーザが端末装置でファイルに対するアクセス権を有していることを検証する。検証結果が肯定的である場合に、サーバ装置のファイルのアクセス権を、その端末装置のユーザに対して与えるものとする。
【００１３】
なお、「ユーザが端末装置でファイルに対するアクセス権を有している」とは、端末装置内にファイルの実体が存在することを意味するのみでなく、端末装置がアクセス可能な他の装置、例えば、ＬＡＮ（Local Area Network）で接続されたファイルサーバに、ファイルの実体が存在することをも意味する。
【００１４】
本明細書において、端末装置からファイルの検索キーを送信することにより、ファイルの実体を送信することなく、サーバ装置に既に格納されているファイルのアクセス権が端末装置のユーザに付与されることを「高速アップロード」と呼ぶ。これに対して、通常のオンラインストレージサービスで行われるような、ファイルの実体をサーバ装置に送信することにより、サーバに格納された上記ファイルのアクセス権が付与されることを「通常アップロード」と呼ぶ。
【００１５】
上記課題を達成するため、本発明の第１の側面によるファイル格納システムは、公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報をサーバ装置に送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【００１６】
本発明の第１の側面によるファイル格納システムによれば、端末装置で検証情報生成手段によってファイルと検証因子とに基づいて検証情報が生成され、この検証情報が検証情報送信手段によってサーバ装置に送信される。サーバ装置では、検証情報受信手段が端末装置から受信した検証情報と、検証因子との組み合わせにより、ファイル格納手段に格納されたファイルが検索される。検証因子との組み合わせによる検索結果が肯定的な場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００１７】
このように、本発明の第１の側面によるファイル格納システムは、端末装置でファイルと検証因子に基づいて検証情報を生成すると共に、サーバ装置で検証情報と検証因子との組み合わせによりファイルの検索を行うので、従来のようにファイルのみに基づいて生成された検索キーを用いるよりも、ファイルのアクセス権の不正取得を防止できる。すなわち、端末装置（又は端末装置がアクセス可能な他の装置）にファイルと検証因子が存在しなければ、正当な検証情報を生成できないので、従来のように、ファイルを有していないユーザが、不正入手や偽造による検索キーのみをサーバ装置に送信しても、ファイル格納手段に格納されたファイルへのアクセス権が得られない。したがって、ファイルを有していないユーザによるファイルへの不正アクセスを防止できる。
【００１８】
本発明の第２の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【００１９】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成されると共に、ファイルと検証因子とに基づいて検証情報が生成される。これら検索キーと検証情報が、検索キー送信手段と検証情報送信手段によってサーバ装置に夫々送信される。サーバ装置では、検索キー受信手段が端末装置から受信した検索キーに基づいて、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２０】
このように、本発明の第２の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【００２１】
ここで、検証情報は、端末装置の検証情報生成手段によってファイルと検証因子に基づいて生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【００２２】
本発明の第３の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【００２３】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成され、この検索キーが検索キー送信手段で送信される。サーバ装置では、検索キー受信手段で受信した検索キーによってファイル検索手段でファイルを検索し、検索されたファイルと、検証参照情報生成手段で生成された検証参照情報とに基づいて、検証因子生成手段によって検証因子が生成される。この検証因子は、検証因子送信手段でサーバ装置から端末装置に送信され、端末装置で、検証因子受信手段で受信した検証因子とファイルとに基づいて、検証情報生成手段によって検証情報が生成される。この検証情報は、検証情報送信手段によって端末装置からサーバ装置に送信される。サーバ装置で、検証情報受信手段によって受信された検証情報と、上記検証参照情報とが所定の条件を満たすことが、検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２４】
このように、本発明の第３の側面によるファイル格納システムは、端末装置で、ファイルに基づいて検索キーを生成してサーバ装置に送信し、さらに、サーバ装置から受信した検証因子とファイルとに基づいて検証情報を生成してサーバ装置に送る。一方、サーバ装置で、端末装置から受信した検索キーにより検索されたファイルと、検証参照情報とに基づいて検証因子を生成し、さらに、端末装置から受信した検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、ユーザが端末装置でファイルに対するアクセス権を有していることを確実に確認できるので、従来のように、端末装置から検索キーのみをサーバ装置が受信し、サーバ装置が検索キーで検索されたファイルにアクセス権を付与するファイル格納システムよりも、ファイルのアクセス権の不正取得を各段に有効に防止できる。
【００２５】
また、端末装置から送信した検索キーに基づいて、サーバ装置でファイルが検索された場合に検証因子を端末装置に送信し、この後、端末装置が検証情報を生成するので、検索キーによる検索結果が得られる前に端末装置で検証情報を生成するよりも、端末装置の処理資源と通信資源を節約できる。
【００２６】
本発明の第４の側面によるサーバ装置は、公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【００２７】
上記構成によれば、ファイルに基づいて生成された検索キーを検索キー受信手段で端末装置から受信し、ファイルと検証因子とに基づいて生成された検証情報を検証情報受信手段で端末装置から受信し、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索キーに基づいて検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２８】
このように、本発明の第４の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【００２９】
ここで、検証情報は、ファイルと検証因子に基づいて端末装置で生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【００３０】
ここで、第１乃至第４の発明において、検証因子は、下記の３つの条件を満たす必要がある。
（１）セッション、すなわち、端末装置がサーバ装置との間で行われる一連の双方向通信に依存する情報である。セッションが異なれば、原則として、検証因子の値を変更する。なお、同一のユーザが異なる日時や時刻に行う複数のセッションについては、各セッションを区別しなくてもよい。この場合、何れかのセッションにおいてアクセス権を有していたことを確認できる。
（２）端末とサーバで共有可能な情報である。
（３）端末側で自由に設定できない情報である。例えば、ユーザが自由に設定できる状態のログインパスワードなどは、この条件を満たさない。端末側で自由に設定できない検証因子の例としては、セッション開始日時、ユーザＩＤ及び端末装置のＩＰアドレスのいずれか、あるいは、これらのうちの２つ以上の組み合わせがある。なお、一つのセッションで複数のファイルをアップロードする場合、全てのファイルに対して同じ検証因子を使用してもよく、複数のファイルのうちの一部のファイルに異なる検証因子を使用してもよい。また、アップロードしようとするファイル毎にすべて検証因子を切り替えてもよい。
【００３１】
また、検証情報とは、端末装置において生成され、ファイル実体と検証因子との両方がなければ生成し得ない情報をいい、例えば、検証因子とファイルを結合させ、その結合した全体のデータから、ハッシュ関数により求められた値を用いることができる。ハッシュ関数としては、ＭＤ５、ＳＨＡ1、ＳＨＡ−２５６及びＳＨＡ−５１２等の公知の一方向ハッシュ関数を採用することができる。
【００３２】
第１の発明においては、検証情報はファイルの全体を要約することが望ましい。すなわち、例えば、２つのファイルの間でファイルの実体の任意の１ビットが異なれば、検証因子が同じであっても、検証情報が異なることが望ましい。さもなければ、正常ファイルに対して１ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を対象として、上述の公知の一方向ハッシュ関数を適用すれば、ファイルの全体を要約する検証情報となる。
【００３３】
また、検索キーとは、ファイルに基づいて生成され、ファイルよりも小さいデータサイズを有する情報をいい、例えば、ファイルの全体または一部からＭＤ５やＳＨＡ−１等のハッシュ関数により求められた値を用いることができる。また、検索キーとしては、複数のハッシュ関数によって得られる値の組み合わせを用いてもよい。ＳＨＡ−５１２等の衝突確率が非常に小さいハッシュ関数を用いたり、複数のハッシュ関数によって得られる値を組み合わせれば、実用に耐えうるレベルでハッシュ値の衝突を避けることができ、ファイル検索手段による検索結果を１件または０件のいずれかにできるので好ましい。また、サービスを利用するユーザに対してファイルの入手後にファイル名を変更しないよう通達した上であれば、ファイル名を検索キーとすることもできる。
【００３４】
第２または第３の発明においては、検索キーと検証情報の組み合わせがファイルを要約することが望ましい。すなわち、例えば、２つのファイルの間でファイルの実体の任意の１ビットが異なれば、検証因子が同じであっても、検索キーまたは検証情報のいずれかが異なることが望ましい。さもなければ、正常ファイルに対して１ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を検索キーが要約する場合、または、ファイルの全体を検証情報が要約する場合、または、ファイルの一部を検索キーが要約し残りの部分を検証情報が要約する場合に、この条件が満たされる。
【００３５】
また、検証参照情報とは、サーバ装置において生成され、検証情報が端末装置においてファイルに基づいて生成されたことを検証するために用いられる情報である。検証参照情報は、検証情報と同様に、検証因子とファイルを結合したデータから求められたハッシュ値を用いることができる。また、ファイルから検証因子に基づいて抽出したバイト値や、ファイルから所定の法則に基づいて抽出したバイト値のハッシュ値等を用いることができる。
【００３６】
なお、検証情報に衝突強度の強いアルゴリズムを用いるのであれば、検索キー生成のアルゴリズムとしては、ＣＲＣ３２のように、ハッシュ値としての衝突の可能性は高いものの高速に生成可能なアルゴリズムを用いることも可能である。
【００３７】
また、検索キーを用いる場合は、検証情報と検索キーとを結合させて、１つの連続した情報として扱ってもよい。その場合は、端末装置の検証情報送信手段が検索キー送信手段を兼ね、サーバ装置の検証情報受信手段が検索キー受信手段を兼ねることとなる。さらに、検証情報、検索キー、または、検証情報と検索キーが結合された情報は、端末装置で暗号化した上で送信し、サーバ装置で受信したあとに復号化してもよい。
【００３８】
また、公衆回線とは、例えばインターネット回線等のように、不特定多数のユーザが端末装置によりサーバ装置と双方向通信が可能な通信回線をいう。
【００３９】
また、端末装置の検索キー生成手段は、端末装置に存在するファイルに限られず、端末装置が接続されたネットワークに接続された他の装置（例えば共通のＬＡＮに接続されたファイルサーバ）にアクセス可能に存在するファイルに基づいて、検索キーを生成してもよい。
【００４０】
一実施形態のファイル格納システムは、上記端末装置は、上記サーバ装置から検証因子を受信する検証因子受信手段を有し、
上記サーバ装置は、検証因子を生成する検証因子生成手段と、この検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段とを有する。
【００４１】
上記実施形態によれば、サーバ装置は、サーバ装置が生成して端末装置へ送信した検証因子とファイルとに基づいて生成された検証情報を受信することにより、端末装置が検証因子を受信した後に現実のファイルを用いて検証情報を生成したことを確認できる。したがって、端末装置が検証因子を受信した後に、少なくとも、端末装置がファイルを有していて正当なアクセス権を有していたことを確認できる。
【００４２】
また、サーバ装置が生成して端末装置へ送信した検証因子を使用することにより、例えばセッションごとにサーバ装置が端末装置へ検証因子を送信して検証因子を更新することにより、通信のセキュリティを高めることができる。
【００４３】
ここで、検証因子は、検証因子生成手段が生成する毎に値が変更される乱数であるのが好ましい。検証因子を乱数とすることにより、例えばセッション開始日時やユーザＩＤ等のようにユーザが把握可能な内容の検証因子を用いるよりも、ユーザによる検証因子の把握を防止することができ、検証因子の不正使用を効果的に防止できる。
【００４４】
また、サーバ装置が端末装置に検証因子を送信してから、検証情報を端末装置から受け取るまでの時間にタイムアウト制限を設けることが望ましい。これにより、端末装置を操作するユーザが、ファイルを有する知人に検証因子をメールなどで送付し、検証情報を生成して返信するよう依頼する余裕を与えないことができる。
【００４５】
一実施形態のファイル格納システムは、上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成する。
【００４６】
上記実施形態によれば、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【００４７】
一実施形態のファイル格納システムは、上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成する。
【００４８】
上記実施形態によれば、ファイルの全体から検証情報を生成するよりも、検証情報の生成に使用する処理資源を削減できる。したがって、端末装置の処理負担を軽減できる。特に処理時間の削減により、ユーザの操作感を高めることができる。
【００４９】
なお、ファイルの全体から一部を抽出する処理は、必ずしも、抽出された一部を別のファイルに格納したり、汎用メモリ内の一塊として展開したりする必要はなく、検証情報を生成する過程においてファイルの中の抽出される部分のみにアクセスするだけでもよい。また、どの部分が抽出されるかは、ユーザによって予測不可能であることが望ましい。
【００５０】
また、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【発明の効果】
【００５１】
本発明によれば、ユーザが端末装置においてファイルのアクセス権を有することを効果的に検証できるので、サーバ装置に格納されたファイルへのアクセス権付与による高速アップロードを正当なユーザのみに行わせることができて、アクセス権の不正取得やファイルの不正流出を効果的に防止できる。
【図面の簡単な説明】
【００５２】
【図１】第１実施形態のファイル格納システムを示す概念図である。
【図２】第１実施形態のファイル格納システムを示すブロック図である。
【図３】第２実施形態のファイル格納システムを示すブロック図である。
【図４】検証情報生成手段を示すブロック図である。
【図５】第３実施形態のファイル格納システムを示すブロック図である。
【発明を実施するための形態】
【００５３】
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
【００５４】
（第１実施形態）
図１は、本発明の第１実施形態のファイル格納システムを示す概念図である。本実施形態のファイル格納システム１は、公衆ネットワークとしてのインターネットを介して不特定多数のユーザにオンラインストレージサービスを提供するために用いられており、複数のユーザによって操作される複数の端末装置２，２，・・・が、インターネット網４を介してサーバ装置３に接続されて構成される。サーバ装置３は、オンラインストレージサービスの提供者により設置される。
【００５５】
端末装置２は、ＣＰＵ（Central Processing Unit）やキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレーム、携帯情報端末、ゲーム機及びカーナビゲーション装置等により構成される。端末装置２は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等を備える。端末装置２は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、ＣＰＵが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。
【００５６】
サーバ装置３は、ＣＰＵやキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション及びメインフレーム等により構成される。サーバ装置３は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等のほか、端末装置２からアップロードされたファイルを格納するハードディスクドライブ等の大容量記憶装置を備える。サーバ装置３は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、ＣＰＵが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。なお、サーバ装置３は、大容量記憶装置が本体と分離していてもよい。
【００５７】
端末装置２とサーバ装置３との間の通信は、端末装置２とサーバ装置３の通信インターフェースを介してＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００５８】
端末装置２のユーザは、オンラインストレージサービスの利用に先立ってサービス提供者に利用申し込みを行い、サービス提供者がサービスの利用を許可すると、ユーザのＩＤ及びパスワード等の登録情報を登録する。ユーザは、端末装置２でサーバ装置３に接続し、ＩＤ及びパスワードをサーバ装置３に送信する。サーバ装置３は、受信したＩＤ及びパスワードを登録情報と照合し、照合が成功すると、端末装置２との間でファイルのアップロード及びダウンロードを行う。パスワードの代わりに生体認証など他の認証方法を用いてユーザを認証してもよい。なお、オンラインストレージサービスは、サービス提供に伴うユーザ登録を行うことなく端末装置２とサーバ装置３との間のファイルのアップロード及びダウンロードが可能な形態であってもよい。例えば、端末装置のＩＰアドレスにより、端末を操作するユーザを区別してもよい。オンラインストレージサービスによりサーバ装置３に格納するファイルは、文書、画像、音楽及びプログラム等の任意のファイルが対象となる。
【００５９】
図２は、第１実施形態のファイル格納システム１を示すブロック図である。図２に示すように、端末装置２は、検証情報生成手段２３と検証情報送信手段２４を有する。サーバ装置３は、検証情報受信手段３５と、ファイル検索手段３２と、ファイル格納手段３３と、アクセス権付与手段３４を有する。
【００６０】
本実施形態では、検証因子として、ユーザＩＤとセッションを開始した日付を結合した文字列について、８ビットのチェックサムを取った値を用いる。こうして生成された検証因子は、０〜２５５までの値を取りうる１バイトの値である。なお、ユーザＩＤは、ユーザによって重複が無いように付与されている。日付としては、年、月及び日を用いる。
【００６１】
端末装置２の検証情報生成手段２３は、ファイルと検証因子とに基づいて検証情報を生成する。すなわち、上記１バイトの検証因子をファイルの先頭に結合して、ＳＨＡ−５１２のハッシュ値を計算する。これにより、２５６種類の検証情報ができることになる。
【００６２】
サーバ装置３のファイル格納手段３３は、上記２５６種類の検証情報のいずれによっても検索できるようにファイルが格納されている。具体的には、ファイルを格納するとき、そのファイルと２５６種類の検証因子とから、端末装置で検証情報を生成するアルゴリズムと同じアルゴリズムを用いて２５６種類の検証情報を生成し、対応する検証因子と検証情報を結合した情報を検索キーとして、２５６種類の検索キーを生成し、これら２５６種類のどの検索キーからでもこのファイルが検索できるように、これら検索キーとファイルを関連付けて１つの検索テーブルに格納する。別の格納方法としては、２５６種類の検証因子のそれぞれについて検索テーブルを設け、それぞれの検証因子に基づいて生成した検証情報を検索キーとしてファイルに関連付けて、対応する検索テーブルに格納する。ファイル検索手段３２は、ファイル格納手段３３に格納されたファイルから、検証情報受信手段３５が受信した検証情報と検証因子との組み合わせによってファイルを検索する。アクセス権付与手段３４は、ファイル格納手段３３のファイルの読み出しを制御するものである。このアクセス権付与手段３４は、ファイル検索手段３２による検索結果が肯定的な場合に、ファイル検索手段３２によって検索されたファイルの読み出しアクセス権を端末装置２のユーザに付与する。
【００６３】
本実施形態のファイル格納システム１は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検証情報生成手段２３により、ファイルと検証因子から、ＳＨＡ−５１２のハッシュ値である検証情報を生成する。なお、ファイルが、端末装置２の補助記憶装置ではなくて、端末装置２が接続可能なＬＡＮ内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルと検証因子から検証情報を生成する。この検証情報が、検証情報送信手段２４により、インターネット回線を通じてサーバ装置３に送信される。
【００６４】
サーバ装置３は、検証情報受信手段３５によって検証情報を受信すると、ファイル検索手段３２により、検証情報受信手段３５によって受信した検証情報と検証因子との組み合わせにより、格納手段３３に格納されたファイルから検索を行う。すなわち、検証情報と検証因子を結合して検索キーを生成し、この検索キーを用いてファイルを検索する。別の格納方法を用いる場合は、検証因子に従って検索テーブルを選択し、その検索テーブルから検証情報を検索キーとしてファイルを検索する。ファイル検索手段３２によるファイル格納手段３３の検索結果が肯定的である場合、すなわち、検索キーと検証因子に基づく検索により、該当するファイルが検索された場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されているファイルに端末装置２のユーザのアクセス権を付与する。ユーザへのファイルのアクセス権の付与は、ファイル格納手段３３に設けられてユーザに占有アクセス権を与えたディレクトリの中に、ファイルへのリンク（ファイルへの参照として機能するショートカット）を格納することにより行う。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となる。すなわち、ファイル実体のアップロードを行うことなく、サーバ装置３のユーザの占有アクセス権が設定されたディレクトリの中へファイル実体をアップロードした場合と同じ効果が得られる。
【００６５】
一方、ファイル検索手段３２によるファイル格納手段３３の検索結果が否定的である場合、すなわち、検証情報と検証因子に基づく検索により、該当するファイルが検索されない場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。ただし、高速アップロードができなければアップロードを諦めるユーザの選択肢があってもよい。
【００６６】
このように、本実施形態のファイル格納システム１は、端末装置２でファイルと検証因子とに基づいて検証情報を生成してサーバ装置３に送信し、サーバ装置３において、受信した検証情報と検証因子の組み合わせによってファイル格納手段ファイルを検索する。したがって、ファイル検索手段３２による検索結果が肯定的であれば、検索されたファイルと同じファイルを、ユーザが端末装置２に有していることが検証でき、その結果、ユーザにファイル格納手段３３のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置２に有している場合に限られず、端末装置２が接続可能なＬＡＮ内のファイルサーバ等にファイルが存在する場合も、ユーザにファイルのアクセス権を設定することができる。
【００６７】
また、第１実施形態において、検証情報生成手段２３は、検証因子をファイルに結合してハッシュ値を計算することにより、検索キーを生成したが、他の方法によってファイルと検証因子に基づいて検索キーを生成してもよい。例えば、検証情報生成手段２３は、セッション開始前に、ユーザがアップロードしようとする可能性のあるファイルからハッシュ値の算出処理を開始しておく。ただし、ファイルの末尾に到達したときに、プログラムの内部状態を保持したまま、処理を中断し、プログラムの内部状態を対象ファイルに関連付けられた付属ファイルとして書き出しておく。この後、ユーザがアップロードするファイルを指定して端末装置２とサーバ装置３がセッションを開始すると、検証情報生成手段２３は、サーバ装置３から受信した検証因子に基づいてファイルから一部分を抽出する。この抽出されたファイルの一部を、ファイルに後続するものと扱って、付属ファイルからプログラムの内部状態を復元したうえで、セッション前に中断されたハッシュ値の算出を再開し、最終的に得られたハッシュ値を検証情報とする。サーバ装置３のファイル検索手段３２は、ファイルと、検証因子に基づいてファイルから抽出した一部とについてハッシュ値を生成し、この値をファイルに対応づけた検索テーブルを用意しておく。そして、検証情報受信手段３５が受信した検証情報と検証因子の組み合わせにより、上記検索テーブルを用いて検索を行う。このようにして、ファイルと、セッション開始後に検証因子に基づいて抽出したファイルの一部とに基づいて検証情報を生成することにより、セッション前に検証情報の算出処理の一部を済ませておくことができる。これにより、セッション開始後の端末装置２の処理時関を短縮することができる。
【００６８】
（第２実施形態）
図３は、本発明の第２実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム１２は、第１実施形態のファイル格納システム１と同様のハードウェアにより構成され、端末装置２及びサーバ装置３で実行される制御プログラムが異なる。
【００６９】
第２実施形態のファイル格納システム１２は、端末装置２がファイルと検証因子とに基づいて検証情報を生成する一方、サーバ装置３がファイルと検証因子とに基づいて検証参照情報を生成し、サーバ装置３で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【００７０】
図３に示すように、第２実施形態のファイル格納システム１２は、端末装置２が、検索キー生成手段２１と検索キー送信手段２２を有すると共に、検証情報生成手段２３と、検証情報送信手段２４と、検索結果受信手段２５を有する。サーバ装置３は、検索キー受信手段３１とファイル検索手段３２とファイル格納手段３３とアクセス権付与手段３４を有すると共に、検証情報受信手段３５と検証手段３６と検証参照情報生成手段３７と検索結果送信手段３８を有する。
【００７１】
本実施形態では、端末装置２の検索キー生成手段２１が生成する検索キーとして、ＳＨＡ−１の値とＭＤ５の値とファイルの長さを連結したバイト列を用いる。ＳＨＡ−１は１６０ビットである一方、ＭＤ５は１２８ビットであり、ファイル長は３２ビットで表現すると、検索キーの全体としては３２０ビットとなる。本実施形態では、検索キーの生成はセッション中に行う必要はないので、予め検索キー生成手段２１により、端末装置２に格納されたファイルから検索キーを生成しておく。なお、ファイルが、端末装置２の補助記憶装置ではなくて、端末装置２が接続可能なＬＡＮ内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルから検索キーを生成する。
【００７２】
なお、検証情報の生成に、衝突強度の強いアルゴリズムを用いるのであれば、検索キーの生成のアルゴリズムとしては、ＣＲＣ３２のように、ハッシュ値としての衝突の可能性は比較的高いが高速に生成可能なアルゴリズムを用いることも可能である。
【００７３】
また、端末装置２及びサーバ装置３で用いる検証因子として、ユーザＩＤと、セッションを行う年月日を組み合わせた文字列を用いる。詳しくは、ユーザＩＤと年月日を結合した文字列を検証因子として用いる。また、セッション開始の時刻を秒単位で取得して検証因子の一部として用いることもできるが、その場合は、その時刻を端末からサーバに送信し、サーバ側で、妥当な範囲の値であることを確認した上で、それを検証因子の一部として用いる。
【００７４】
また、端末装置２で生成する検証情報として、検証因子に、端末装置２に存在するファイル実体を結合させた値について、その全体のＳＨＡ−１を計算して得た値を用いる。
【００７５】
また、サーバ装置３で生成する検証参照情報を、端末装置２で生成する検証情報と同じ方法で生成する。すなわち、検証因子に、ファイル格納手段３３で検索されたファイル実体を結合させた値について、その全体のＳＨＡ−１を計算して得た値を検証参照情報とする。
【００７６】
本実施形態のファイル格納システム１２は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段２１が予め生成した検索キーを、検索キー送信手段２２により、インターネット回線を通じてサーバ装置３に送信する。
【００７７】
サーバ装置３は、検索キー受信手段３１によって検索キーを受信すると、ファイル検索手段３２により、検索キー受信手段３１によって受信した検索キーに基づいて、格納手段３３に格納されたファイルから検索を行う。ファイル検索手段３２によるファイル格納手段３３の検索結果が肯定的である場合、すなわち、検索キーに基づく検索により、該当するファイルが検索された場合、検索結果送信手段３８により、検索結果が肯定的である旨の情報を端末装置２に送信する。これと共に、検索された候補ファイルと検証因子に基づいて、検証参照情報生成手段３７によって検証参照情報を生成する。
【００７８】
端末装置２は、検索結果受信手段２５により、検索結果が肯定的である旨の情報を受信すると、検証情報生成手段２３により、ファイルと検証因子に基づいて検証情報を生成する。検証情報生成手段２３で生成された検証情報は、検証情報送信手段２４によってサーバ装置３に送信される。
【００７９】
サーバ装置３は、検証情報を検証情報受信手段３５で受信し、この検証情報と、検証参照情報生成手段３７で生成された検証参照情報とが、所定の条件を満たすか否かを検証手段３６によって検証する。本実施形態では、検証情報生成手段と検証参照情報生成手段とで同じアルゴリズムを実行させ、検証情報と検証参照情報とが一致するか否かを検証する。検証手段３６により検証情報と検証参照情報とが一致することが検証された場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されているファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置３へファイル実体をアップロードした場合と同じ効果が得られる。
【００８０】
一方、検証手段３６による検証結果が否定的である場合、すなわち、検証情報と検証参照情報とが一致しない場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。アップロードされたファイルはファイル格納手段に格納され、アップロードしたユーザに読み込みアクセス権が与えられる。
【００８１】
このように、本実施形態のファイル格納システム１２は、端末装置２でファイルに基づいて検索キーを生成すると共に、ファイルと検証因子とに基づいて検証情報を生成してサーバ装置３に送信し、サーバ装置３において、検索キーで検索されたファイルと検証因子とで生成された検証参照情報と、受信した検証情報とが所定の条件を満たすか否かが検証される。したがって、検証結果が肯定的であれば、ファイル格納手段３３から検索されたファイルと同じファイルに対して、ユーザが端末装置２においてアクセス権を有していることが検証でき、その結果、ユーザにファイル格納手段３３のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置２内に有している場合に限られず、端末装置２が接続可能なネットワーク内のファイルサーバ等にファイルが存在する場合も、ユーザにファイル格納手段３３のファイルのアクセス権を設定することができる。
【００８２】
第２実施形態において、端末装置２の検証情報生成手段２３及び検証参照情報生成手段３７は、ファイル実体の全てに基づいて検証情報及び検証参照情報を生成したが、ファイルの一部に基づいて検証情報及び検証参照情報を生成してもよい。図４は、ファイルの一部に基づいて検証情報を生成する検証情報生成手段１２３を示すブロック図である。この検証情報生成手段１２３は、アップロードしようとするファイルに対し、抽出手段１２４によって検証因子に基づいてファイルの一部を抽出する。具体的には、抽出手段１２４は、検証因子の値をｎとして、ファイルのｎバイト目の値を抽出する。この値を、変換手段１２５によってハッシュ値に変換し、検証情報を生成する。なお、検証情報生成手段１２３は、変換手段１２５を削除して、抽出手段１２４により検証因子に基づいてファイルから抽出された値をそのまま検証情報として用いてもよい。あるいは、検証情報生成手段１２３の変換手段１２５は、ファイルの一部から抽出された値に更に検証因子を付加し、この値をハッシュ値に変換してもよい。サーバ装置３の検証参照情報生成手段についても、検証情報生成手段１２３と同様にして、ファイルの一部から検証参照情報を生成する。こうしてファイルの一部から生成した検証情報と検証参照情報が一致することを、サーバ装置３の検証手段３６で検証されれば、肯定的な検証結果が得られたこととなる。
【００８３】
また、端末装置２において、検証情報生成手段１２３がファイルの一部に基づいて検証情報を生成する場合、検索キー生成手段２１もまたファイルの一部に基づいて検索キーを生成してもよい。この場合、検索キーの生成のために抽出した部分と、検証情報の生成のために抽出した部分とを合わせて、ファイルの全体をカバーするのが望ましい。これにより、端末装置２のファイルと、サーバ装置３のファイルとが全ての部分において一致する場合にのみ、検証結果を肯定的とすることができる。
【００８４】
また、端末装置２及びサーバ装置３が、ファイルの一部に基づいて検証情報及び検証参照情報を生成する場合、以下のように検索キーに剰余値テーブルを設定することにより、検索キーの衝突（同一の検索キーにより複数の候補ファイルが検索される状況）が生じても、効率的にファイルの検証を行うことができる。すなわち、検索キーの衝突がある場合、検索結果の複数のファイルに対して、いずれかのファイルをユーザが端末装置２（又は端末装置２が接続可能な他の装置）に存在することを検証する必要があるが、複数のファイルに対して検証因子として用いられるかもしれない複数の剰余値を剰余値テーブルとして共通化しておくことにより、検証処理と同時に検索キーの衝突を解消することができる。
【００８５】
例えば、サーバ装置３において、検索キー毎に対応する０〜９９９９９の範囲の値をとる乱数値を１００個含む剰余値テーブルを作成する。次に、剰余値テーブルに格納された１００個の乱数値（剰余値）の各々について、ファイル実体から、（100000×整数+剰余値）バイト目を抜き出し、そこからハッシュ値を生成して、ファイル毎に剰余値に紐付けて検証参照情報テーブルに保存しておく。
【００８６】
端末装置２とのセッション実行時に０〜９９の範囲の値をとる乱数値を生成し、これに対応する剰余値を剰余値テーブルから取り出し、取り出した剰余値を検証因子として端末装置２に送付する。
【００８７】
端末装置２は、サーバ装置３から受信した検証因子に基づき、ファイル実体から、（100000×整数+検証因子）バイト目を抜き出し、そこからハッシュ値を生成して検証情報を生成する。この検証情報を検証情報送信手段３５によってサーバ装置３に送信する。
【００８８】
サーバ装置３は、検証情報受信手段３５で検証情報を受信すると共に、検証参照情報生成手段３７により、検証参照情報テーブルから検証因子に紐付けられたハッシュ値を取得することにより検証参照情報を生成する。この検証参照情報と検証情報とが一致するか否かが、検証手段３６によって検証される。このように、サーバ装置３の検証参照情報生成手段３７は、セッション中に、検証因子からハッシュ値をテーブル引きするのみにより検証参照情報を生成できるので、処理資源の消費を大幅に軽減できる。
【００８９】
また、上記実施形態において、検証手段３６は、検証情報と検証参照情報とが一致する場合に検証結果が肯定的であるとしたが、検証情報と検証参照情報とが他の条件を満たす場合に検証結果を肯定的であるとすることも可能である。例えば、検証因子の値をａとした場合、検証情報生成手段２３は、ファイルから、ａ×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証情報を生成する。これに対して、検証参照情報生成手段３７は、ファイルから、（ａ×ｂ）×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証参照情報を生成する。こうして生成された検証情報と検証参照情報について、検証手段３６は、検証情報のｂ×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出した情報と、検証参照情報とが等しいとの条件を満たすか否かを検証する。この条件が成り立つ場合、ファイル格納手段３３から検索されたファイルと同じファイルを、ユーザが端末装置２に有していると判断することができる。
【００９０】
第２実施形態において、端末装置２は、検索キーをサーバ装置３に送信し、検索結果受信手段２５が、検索結果が肯定的である旨の情報を受信した後に検証情報を生成してサーバ装置３に送信したが、検索キーと検証情報の生成及び送信を略同時に行ってもよい。しかしながら、処理資源及び通信資源の節約の観点から、検索キーを送信した後、検索結果が肯定的である場合に検証情報を生成して送信するのが好ましい
【００９１】
（第３実施形態）
図５は、本発明の第３実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム１３は、第１実施形態のファイル格納システム１と同様のハードウェアにより構成され、端末装置２及びサーバ装置３で実行される制御プログラムが異なる。
【００９２】
第３実施形態のファイル格納システム１３は、サーバ装置３が、端末装置２から受信した検索キーにより検索したファイルと検証参照情報に基づいて検証因子を生成する一方、端末装置２が検証因子とファイルとに基づいて検証情報を生成し、サーバ装置３で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【００９３】
図５に示すように、第３実施形態のファイル格納システム１３は、端末装置２が、検索キー生成手段２１、検索キー送信手段２２、検証情報生成手段２３及び検証情報送信手段２４を有すると共に、検証因子受信手段２６を有する。サーバ装置３は、検索キー受信手段３１、ファイル検索手段３２、ファイル格納手段３３、アクセス権付与手段３４、検証情報受信手段３５、検証手段３６及び検証参照情報生成手段３７を有すると共に、検証因子生成手段１３１と検証因子送信手段１３２を有する。
【００９４】
本実施形態では、端末装置２の検索キー生成手段２１が生成する検索キーとして、ＳＨＡ−２５６を用いる。
【００９５】
また、サーバ装置３の検証参照情報生成手段３７が生成する検証参照情報として、０〜９９の範囲の乱数を用いる。さらに、サーバ装置３の検証因子生成手段１３１は、検証参照情報に基づいてファイルから抽出したデータを検証因子として生成する。
【００９６】
本実施形態のファイル格納システム１３は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段２１により、ファイルからＳＨＡ−２５６の値を算出して検索キーを生成する。この検索キーを、検索キー送信手段２２により、インターネット回線を通じてサーバ装置３に送信する。
【００９７】
サーバ装置３は、検索キー受信手段３１によって検索キーを受信すると、ファイル検索手段３２により、検索キー受信手段３１によって受信した検索キーに基づいて、格納手段３３に格納されたファイルから検索を行う。ファイル検索手段３２によりファイルが検索されると、このファイルを候補ファイルとする一方、検証参照情報生成手段３７が検証参照情報として０〜９９の範囲から所定の乱数を生成する。検証因子生成手段１３１は、検証参照情報生成手段３７が生成した乱数（検証参照情報）を加算値の初期値とし、空の配列を抽出位置配列の初期値とし、以下のようなループにより、候補ファイルから抽出位置配列を生成する。
（１）１から候補ファイルのファイルサイズまでの範囲の整数の乱数Ｎを生成する。
（２）候補ファイルの実体のＮバイト目の位置のバイト値を抽出する。
（３）抽出位置配列の末尾に、上記生成した乱数Ｎを追加する。
（４）加算値に、抽出されたバイト値を加算する。
この（１）から（４）までを、加算値の下位２桁が０となるまで繰り返して得られた抽出位置配列を、検証因子とする。こうして検証因子生成手段１３１が生成した検証因子を、検証因子送信手段１３２によって端末装置２に送信する。
【００９８】
端末装置２は、検証因子受信手段２６により検証因子を受信し、受信した検証因子とファイルに基づいて、検証情報生成手段２３により検証情報を生成する。検証情報生成手段２３は、アップロードしようとするファイルから、検証因子である抽出位置配列の個々の値の位置のバイト値を順に抽出し、抽出したバイト値を加算して、その下位２桁の値を検証情報として生成する。検証情報生成手段２３で生成された検証情報を、検証情報送信手段２４によりサーバ装置３に送信する。
【００９９】
サーバ装置３は、検証情報受信手段３５により検証情報を受信し、検証手段３６により、受信した検証情報と検証参照情報とを加算し、加算値の下位２桁が０であれば検証結果が肯定的であるとする。検証手段３６により検証結果が肯定的であるとされた場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されている候補ファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置３へファイル実体をアップロードした場合と同じ効果が得られる。
【０１００】
一方、ファイル検索手段３２によるファイル格納手段３３の検索結果が否定的である場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。
【０１０１】
このように、本実施形態のファイル格納システム１３は、サーバ装置３において、端末装置２から受信した検索キーにより検索された候補ファイルから検証参照情報に基づいて検証因子を生成し、この検証因子に基づいて端末装置２で更にファイルに基づいて検証情報を生成し、この検証情報と検証参照情報とが所定の条件を満たすか否かにより検証を行うので、端末装置２が有するファイルとサーバ装置３のファイル格納手段３３に格納されたファイルとの同一性を確認することができる。したがって、ユーザの端末装置２にファイルが存在することを確実に確認でき、ファイルのアクセス権の不正取得を効果的に防止することができる。
【０１０２】
上記実施形態において、ユーザが端末装置２の補助記憶装置に記憶されたファイルをアップロードする場合について説明したが、端末装置２に存在するファイルに限られず、端末装置２が接続されたネットワークに接続されて端末装置２がアクセス可能な他の装置に存在するファイルをアップロードする場合にも、本発明は適用可能である。
【符号の説明】
【０１０３】
１  ファイル格納システム
２  端末装置
３  サーバ装置
２３  検証情報生成手段
２４  検証情報送信手段
３２  ファイル検索手段
３３  ファイル格納手段
３４  アクセス権付与手段
３５  検証情報受信手段
【図１】
2010165324.tif 000003
【図２】
2010165324.tif 000004
【図３】
2010165324.tif 000005
【図４】
2010165324.tif 000006
【図５】
2010165324.tif 000007
【手続補正書】
【提出日】平成21年6月1日(2009.6.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
ファイルと、上記検証因子受信手段によって受信された検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報をサーバ装置に送信する検証情報送信手段とを有し、
上記サーバ装置は、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と、上記検証因子生成手段によって生成された検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするファイル格納システム。
【請求項２】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと、上記検証因子受信手段によって受信された検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証因子生成手段によって生成された検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項３】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
乱数である検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項４】
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと、ユーザＩＤを含む検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記端末装置のユーザのユーザＩＤ含む検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴とするファイル格納システム。
【請求項５】
請求項１乃至３のうちのいずれか１つに記載のファイル格納システムにおいて、
上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成することを特徴とするファイル格納システム。
【請求項６】
請求項２乃至４のうちのいずれか１つに記載のファイル格納システムにおいて、
上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成することを特徴とするファイル格納システム。
【請求項７】
公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証因子生成手段によって生成された検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするサーバ装置。
【請求項８】
公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記端末装置のユーザのユーザＩＤ含む検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴とするサーバ装置。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えばオンラインストレージサービスに用いられるファイル格納システムに関する。
【背景技術】
【０００２】
不特定多数のユーザを対象に、インターネットなどの公衆回線を介してファイルを格納するためのディスクスペースを貸し出すオンラインストレージサービスが提供されている。オンラインストレージサービスは、公衆回線へ接続可能な環境があれば利用できるため、自宅や職場等の任意の場所からファイルの保存及び読み出しを行う用途や、異なるユーザ間でファイルの受け渡しを行う用途等に活用されている。
【０００３】
しかしながら、現在のオンラインストレージサービスでは、ファイルの格納コストや通信コスト、および、通信時間の問題があるため、ユーザがディスクスペースに格納できるファイルの数は比較的少なく、また、ファイルサイズは数百メガバイト程度に制限されている。
【０００４】
ところで、イントラネット等のように閉じたネットワーク内で用いられるファイルバックアップシステムでは、巨大なファイルをディスクスペースに保管する際の格納コストを低減するため、重複排除技術が採用されている。すなわち、端末装置において、ファイルやファイル断片（以下、ファイルはファイル断片を含むものとする）をハッシュ値などの検索キーと一体化して管理し、ファイルの実体をアップロードしようとする前に、検索キーをサーバに送信する。サーバが、検索キーに対応するファイルが既にファイル格納装置に格納されていると判断すると、既に格納されたファイルにリンクを張る。これにより、端末装置からサーバへのファイルのアップロードを行うことなく、端末装置がファイルのアップロードを行ったのと同じ効果を奏するようにしている。こうして、同一ファイルのアップロードの重複を防ぐことにより、バックアップにかかる時間や、通信資源の消費や、格納資源の消費を節約している。その結果、巨大なファイルをディスクスペースに保管可能としても、通信資源や格納資源を節約することができる。
【０００５】
このような重複排除技術を、公衆回線を介したオンラインストレージサービスに利用することにより、ファイルの格納コストや通信コストを低減し、通信時間を短縮して、巨大なファイルの大量保管が可能となり得る。
【０００６】
オンラインストレージに重複排除技術を適用した従来技術としては、以下の特許文献に記載されたものがある。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特表２００４−５１４９６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、不特定多数のユーザを対象として公衆回線を介したオンラインストレージサービスに重複排除技術を適用する場合、以下のような安全性に問題がある。
【０００９】
すなわち、悪意を持ったユーザが通信プロトコルを解析し、端末装置を改造して、ファイルを所持していないにもかかわらず、検索キーのみを生成して送付することにより、ファイルのアクセス権を不正に獲得する可能性がある。つまり、検索キーを送信することにより、ファイルの所有者のなりすましが成立する危険性がある。また、悪意を持ったユーザが大量の検索キーを流出させ、ファイルを不正なアクセスに晒す危険性がある。
【００１０】
そこで、本発明の課題は、不特定多数を対象とするオンラインストレージサービスに利用でき、巨大なファイルの迅速なアップロードが可能でありながら、成りすましや不正アクセスを防止できるファイル格納システム及びサーバ装置を提供することにある。
【課題を解決するための手段】
【００１１】
例えばオンラインストレージサービスにおいて、ファイル実体をアップロードする代わりにファイルの検索キーを送付する技術を利用する場合、ファイルの不正流出を防止するには、ユーザの認証のみでは不十分である。ユーザがサービスに登録されていても、ファイルを実際に有していなければ、サーバ装置に格納されたファイルへのアクセスは許されないからである。検索キーの不正入手や偽造により、ファイルへの不正なアクセスがされると、ファイルが本来アクセス権を有しないユーザに流出してしまい、流出したファイルの回収は実質的に不可能となる。したがって、検索キーの不正入手や偽造によるファイルへのアクセス権の不正取得を防止する必要がある。
【００１２】
そこで、本発明のファイル格納システムは、検証因子を用いることにより、サーバ装置において、端末装置から受け取った検索キーでファイル格納手段から検索されたファイルについて、ユーザが端末装置でファイルに対するアクセス権を有していることを検証する。検証結果が肯定的である場合に、サーバ装置のファイルのアクセス権を、その端末装置のユーザに対して与えるものとする。
【００１３】
なお、「ユーザが端末装置でファイルに対するアクセス権を有している」とは、端末装置内にファイルの実体が存在することを意味するのみでなく、端末装置がアクセス可能な他の装置、例えば、ＬＡＮ（Local Area Network）で接続されたファイルサーバに、ファイルの実体が存在することをも意味する。
【００１４】
本明細書において、端末装置からファイルの検索キーを送信することにより、ファイルの実体を送信することなく、サーバ装置に既に格納されているファイルのアクセス権が端末装置のユーザに付与されることを「高速アップロード」と呼ぶ。これに対して、通常のオンラインストレージサービスで行われるような、ファイルの実体をサーバ装置に送信することにより、サーバに格納された上記ファイルのアクセス権が付与されることを「通常アップロード」と呼ぶ。
【００１５】
上記課題を達成するため、本発明の第１の側面によるファイル格納システムは、公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
ファイルと、上記検証因子受信手段によって受信された検証因子とに基づいて検証情報を生成する検証情報生成手段とを有し、
上記サーバ装置は、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
検証情報を上記端末装置から受信する検証情報受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検証情報受信手段が受信した検証情報と、上記検証因子生成手段によって生成された検証因子との組み合わせによってファイルを検索するファイル検索手段と、
上記ファイル検索手段による検索結果が肯定的な場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【００１６】
本発明の第１の側面によるファイル格納システムによれば、端末装置で検証情報生成手段によってファイルと検証因子とに基づいて検証情報が生成され、この検証情報が検証情報送信手段によってサーバ装置に送信される。サーバ装置では、検証情報受信手段が端末装置から受信した検証情報と、検証因子との組み合わせにより、ファイル格納手段に格納されたファイルが検索される。検証因子との組み合わせによる検索結果が肯定的な場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００１７】
このように、本発明の第１の側面によるファイル格納システムは、端末装置でファイルと検証因子に基づいて検証情報を生成すると共に、サーバ装置で検証情報と検証因子との組み合わせによりファイルの検索を行うので、従来のようにファイルのみに基づいて生成された検索キーを用いるよりも、ファイルのアクセス権の不正取得を防止できる。すなわち、端末装置（又は端末装置がアクセス可能な他の装置）にファイルと検証因子が存在しなければ、正当な検証情報を生成できないので、従来のように、ファイルを有していないユーザが、不正入手や偽造による検索キーのみをサーバ装置に送信しても、ファイル格納手段に格納されたファイルへのアクセス権が得られない。したがって、ファイルを有していないユーザによるファイルへの不正アクセスを防止できる。
【００１８】
本発明の第２の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと、上記検証因子受信手段によって受信された検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証因子生成手段によって生成された検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【００１９】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成されると共に、ファイルと検証因子とに基づいて検証情報が生成される。これら検索キーと検証情報が、検索キー送信手段と検証情報送信手段によってサーバ装置に夫々送信される。サーバ装置では、検索キー受信手段が端末装置から受信した検索キーに基づいて、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２０】
このように、本発明の第２の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【００２１】
ここで、検証情報は、端末装置の検証情報生成手段によってファイルと検証因子に基づいて生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【００２２】
本発明の第３の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記サーバ装置から検証因子を受信する検証因子受信手段と、
上記検証因子受信手段によって受信された検証因子と上記ファイルとに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
乱数である検証参照情報を生成する検証参照情報生成手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証参照情報生成手段によって生成された検証参照情報とに基づいて上記検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【００２３】
上記構成によれば、端末装置で検索キー生成手段によってファイルに基づいて検索キーが生成され、この検索キーが検索キー送信手段で送信される。サーバ装置では、検索キー受信手段で受信した検索キーによってファイル検索手段でファイルを検索し、検索されたファイルと、検証参照情報生成手段で生成された検証参照情報とに基づいて、検証因子生成手段によって検証因子が生成される。この検証因子は、検証因子送信手段でサーバ装置から端末装置に送信され、端末装置で、検証因子受信手段で受信した検証因子とファイルとに基づいて、検証情報生成手段によって検証情報が生成される。この検証情報は、検証情報送信手段によって端末装置からサーバ装置に送信される。サーバ装置で、検証情報受信手段によって受信された検証情報と、上記検証参照情報とが所定の条件を満たすことが、検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２４】
このように、本発明の第３の側面によるファイル格納システムは、端末装置で、ファイルに基づいて検索キーを生成してサーバ装置に送信し、さらに、サーバ装置から受信した検証因子とファイルとに基づいて検証情報を生成してサーバ装置に送る。一方、サーバ装置で、端末装置から受信した検索キーにより検索されたファイルと、検証参照情報とに基づいて検証因子を生成し、さらに、端末装置から受信した検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、ユーザが端末装置でファイルに対するアクセス権を有していることを確実に確認できるので、従来のように、端末装置から検索キーのみをサーバ装置が受信し、サーバ装置が検索キーで検索されたファイルにアクセス権を付与するファイル格納システムよりも、ファイルのアクセス権の不正取得を各段に有効に防止できる。
【００２５】
また、端末装置から送信した検索キーに基づいて、サーバ装置でファイルが検索された場合に検証因子を端末装置に送信し、この後、端末装置が検証情報を生成するので、検索キーによる検索結果が得られる前に端末装置で検証情報を生成するよりも、端末装置の処理資源と通信資源を節約できる。
【００２６】
本発明の第４の側面によるファイル格納システムは、
公衆ネットワークを介して互いに接続される端末装置とサーバ装置を含むファイル格納システムであって、
上記端末装置は、
ファイルに基づいて検索キーを生成する検索キー生成手段と、
上記検索キー生成手段によって生成された検索キーを送信する検索キー送信手段と、
上記ファイルと、ユーザＩＤを含む検証因子とに基づいて検証情報を生成する検証情報生成手段と、
上記検証情報生成手段によって生成された検証情報を送信する検証情報送信手段とを有し、
上記サーバ装置は、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記端末装置のユーザのユーザＩＤを含む検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段と
を有することを特徴としている。
【００２７】
本発明の第５の側面によるサーバ装置は、公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
乱数である検証因子を生成する検証因子生成手段と、
上記検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段と、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記検証因子生成手段によって生成された検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【００２８】
上記構成によれば、ファイルに基づいて生成された検索キーを検索キー受信手段で端末装置から受信し、ファイルと検証因子とに基づいて生成された検証情報を検証情報受信手段で端末装置から受信し、ファイル検索手段により、ファイル格納手段に格納されたファイルが検索キーに基づいて検索される。検索されたファイルと検証因子とに基づいて、検証参照情報生成手段により、検証参照情報が生成される。この検証参照情報と、検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証手段によって検証される。検証結果が肯定的である場合に、ファイル格納手段に格納されたファイルへのアクセス権がユーザに付与される。
【００２９】
このように、本発明の第５の側面によるファイル格納システムは、サーバ装置において、端末装置から受信した検索キーにより検索して得たファイルと検証因子とに基づいて生成した検証参照情報を、端末装置でファイルと検証因子とに基づいて生成されて端末装置から受信した検証情報とを照らして、この検証情報と検証参照情報とが所定の条件を満たすことを確認する。したがって、従来のように端末装置から受信した検索キーにより検索を行い、検索されたファイルにアクセス権を設定する場合と比較して、ユーザがファイルにアクセス可能であることを確実に確認できるので、ファイルのアクセス権の不正取得を防止できる。
【００３０】
本発明の第６の側面によるサーバ装置は、公衆ネットワークを介して端末装置に接続されるサーバ装置であって、
ファイルを格納するファイル格納手段と、
上記端末装置から検索キーを受信する検索キー受信手段と、
上記ファイル格納手段に格納されたファイルから、上記検索キー受信手段で受信した検索キーによってファイルを検索するファイル検索手段と、
上記端末装置から検証情報を受信する検証情報受信手段と、
上記ファイル検索手段によって検索されたファイルと、上記端末装置のユーザのユーザＩＤを含む検証因子とに基づいて検証参照情報を生成する検証参照情報生成手段と、
上記検証参照情報生成手段によって生成された検証参照情報と、上記検証情報受信手段が端末装置から受信した検証情報とが所定の条件を満たすことを検証する検証手段と、
上記検証手段による検証結果が肯定的である場合に、上記ファイル検索手段によって検索されたファイルのアクセス権を上記端末装置のユーザに付与するアクセス権付与手段とを有することを特徴としている。
【００３１】
ここで、検証情報は、ファイルと検証因子に基づいて端末装置で生成されるものであり、サーバ装置でファイルの検索に用いることが可能であるが、情報量の大きい検証因子を使用する場合は、ファイルの検索に用いると検索テーブルの管理のための情報処理資源の消費が増大する。そこで、本発明では、検証情報と共にファイル検索用の検索キーを併用することにより、検索を行うための情報処理資源を少なくできる。
【００３２】
ここで、第１乃至第６の発明において、検証因子は、下記の３つの条件を満たす必要がある。
（１）セッション、すなわち、端末装置がサーバ装置との間で行われる一連の双方向通信に依存する情報である。セッションが異なれば、原則として、検証因子の値を変更する。なお、同一のユーザが異なる日時や時刻に行う複数のセッションについては、各セッションを区別しなくてもよい。この場合、何れかのセッションにおいてアクセス権を有していたことを確認できる。
（２）端末とサーバで共有可能な情報である。
（３）端末側で自由に設定できない情報である。例えば、ユーザが自由に設定できる状態のログインパスワードなどは、この条件を満たさない。端末側で自由に設定できない検証因子の例としては、セッション開始日時、ユーザＩＤ及び端末装置のＩＰアドレスのいずれか、あるいは、これらのうちの２つ以上の組み合わせがある。なお、一つのセッションで複数のファイルをアップロードする場合、全てのファイルに対して同じ検証因子を使用してもよく、複数のファイルのうちの一部のファイルに異なる検証因子を使用してもよい。また、アップロードしようとするファイル毎にすべて検証因子を切り替えてもよい。
【００３３】
また、検証情報とは、端末装置において生成され、ファイル実体と検証因子との両方がなければ生成し得ない情報をいい、例えば、検証因子とファイルを結合させ、その結合した全体のデータから、ハッシュ関数により求められた値を用いることができる。ハッシュ関数としては、ＭＤ５、ＳＨＡ1、ＳＨＡ−２５６及びＳＨＡ−５１２等の公知の一方向ハッシュ関数を採用することができる。
【００３４】
第１の発明においては、検証情報はファイルの全体を要約することが望ましい。すなわち、例えば、２つのファイルの間でファイルの実体の任意の１ビットが異なれば、検証因子が同じであっても、検証情報が異なることが望ましい。さもなければ、正常ファイルに対して１ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を対象として、上述の公知の一方向ハッシュ関数を適用すれば、ファイルの全体を要約する検証情報となる。
【００３５】
また、検索キーとは、ファイルに基づいて生成され、ファイルよりも小さいデータサイズを有する情報をいい、例えば、ファイルの全体または一部からＭＤ５やＳＨＡ−１等のハッシュ関数により求められた値を用いることができる。また、検索キーとしては、複数のハッシュ関数によって得られる値の組み合わせを用いてもよい。ＳＨＡ−５１２等の衝突確率が非常に小さいハッシュ関数を用いたり、複数のハッシュ関数によって得られる値を組み合わせれば、実用に耐えうるレベルでハッシュ値の衝突を避けることができ、ファイル検索手段による検索結果を１件または０件のいずれかにできるので好ましい。また、サービスを利用するユーザに対してファイルの入手後にファイル名を変更しないよう通達した上であれば、ファイル名を検索キーとすることもできる。
【００３６】
第２または第３の発明においては、検索キーと検証情報の組み合わせがファイルを要約することが望ましい。すなわち、例えば、２つのファイルの間でファイルの実体の任意の１ビットが異なれば、検証因子が同じであっても、検索キーまたは検証情報のいずれかが異なることが望ましい。さもなければ、正常ファイルに対して１ビットのみが反転した破損ファイルを、正常ファイルと同一視してしまう恐れが生じる。ファイルの全体を検索キーが要約する場合、または、ファイルの全体を検証情報が要約する場合、または、ファイルの一部を検索キーが要約し残りの部分を検証情報が要約する場合に、この条件が満たされる。
【００３７】
また、検証参照情報とは、サーバ装置において生成され、検証情報が端末装置においてファイルに基づいて生成されたことを検証するために用いられる情報である。検証参照情報は、検証情報と同様に、検証因子とファイルを結合したデータから求められたハッシュ値を用いることができる。また、ファイルから検証因子に基づいて抽出したバイト値や、ファイルから所定の法則に基づいて抽出したバイト値のハッシュ値等を用いることができる。
【００３８】
なお、検証情報に衝突強度の強いアルゴリズムを用いるのであれば、検索キー生成のアルゴリズムとしては、ＣＲＣ３２のように、ハッシュ値としての衝突の可能性は高いものの高速に生成可能なアルゴリズムを用いることも可能である。
【００３９】
また、検索キーを用いる場合は、検証情報と検索キーとを結合させて、１つの連続した情報として扱ってもよい。その場合は、端末装置の検証情報送信手段が検索キー送信手段を兼ね、サーバ装置の検証情報受信手段が検索キー受信手段を兼ねることとなる。さらに、検証情報、検索キー、または、検証情報と検索キーが結合された情報は、端末装置で暗号化した上で送信し、サーバ装置で受信したあとに復号化してもよい。
【００４０】
また、公衆回線とは、例えばインターネット回線等のように、不特定多数のユーザが端末装置によりサーバ装置と双方向通信が可能な通信回線をいう。
【００４１】
また、端末装置の検索キー生成手段は、端末装置に存在するファイルに限られず、端末装置が接続されたネットワークに接続された他の装置（例えば共通のＬＡＮに接続されたファイルサーバ）にアクセス可能に存在するファイルに基づいて、検索キーを生成してもよい。
【００４２】
一実施形態のファイル格納システムは、上記端末装置は、上記サーバ装置から検証因子を受信する検証因子受信手段を有し、
上記サーバ装置は、検証因子を生成する検証因子生成手段と、この検証因子生成手段によって生成された検証因子を端末装置に送信する検証因子送信手段とを有する。
【００４３】
上記実施形態によれば、サーバ装置は、サーバ装置が生成して端末装置へ送信した検証因子とファイルとに基づいて生成された検証情報を受信することにより、端末装置が検証因子を受信した後に現実のファイルを用いて検証情報を生成したことを確認できる。したがって、端末装置が検証因子を受信した後に、少なくとも、端末装置がファイルを有していて正当なアクセス権を有していたことを確認できる。
【００４４】
また、サーバ装置が生成して端末装置へ送信した検証因子を使用することにより、例えばセッションごとにサーバ装置が端末装置へ検証因子を送信して検証因子を更新することにより、通信のセキュリティを高めることができる。
【００４５】
ここで、検証因子は、検証因子生成手段が生成する毎に値が変更される乱数であるのが好ましい。検証因子を乱数とすることにより、例えばセッション開始日時やユーザＩＤ等のようにユーザが把握可能な内容の検証因子を用いるよりも、ユーザによる検証因子の把握を防止することができ、検証因子の不正使用を効果的に防止できる。
【００４６】
また、サーバ装置が端末装置に検証因子を送信してから、検証情報を端末装置から受け取るまでの時間にタイムアウト制限を設けることが望ましい。これにより、端末装置を操作するユーザが、ファイルを有する知人に検証因子をメールなどで送付し、検証情報を生成して返信するよう依頼する余裕を与えないことができる。
【００４７】
一実施形態のファイル格納システムは、上記端末装置は、
上記検証因子受信手段によって受信した検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、ファイルと、上記部分抽出手段によって抽出されたファイルの一部とに基づいて検証情報を生成する。
【００４８】
上記実施形態によれば、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【００４９】
一実施形態のファイル格納システムは、上記端末装置は、
検証因子に基づいてファイルの全体から一部を抽出する部分抽出手段を有し、
上記検証情報生成手段が、上記部分抽出手段によって抽出されたファイルの一部から検証情報を生成する。
【００５０】
上記実施形態によれば、ファイルの全体から検証情報を生成するよりも、検証情報の生成に使用する処理資源を削減できる。したがって、端末装置の処理負担を軽減できる。特に処理時間の削減により、ユーザの操作感を高めることができる。
【００５１】
なお、ファイルの全体から一部を抽出する処理は、必ずしも、抽出された一部を別のファイルに格納したり、汎用メモリ内の一塊として展開したりする必要はなく、検証情報を生成する過程においてファイルの中の抽出される部分のみにアクセスするだけでもよい。また、どの部分が抽出されるかは、ユーザによって予測不可能であることが望ましい。
【００５２】
また、ファイルの全体からの一部の抽出を検証因子に基づいて行うので、セッションごとに異なるファイルの一部を抽出できるから、検証情報の安全性を高めることができる。
【発明の効果】
【００５３】
本発明によれば、ユーザが端末装置においてファイルのアクセス権を有することを効果的に検証できるので、サーバ装置に格納されたファイルへのアクセス権付与による高速アップロードを正当なユーザのみに行わせることができて、アクセス権の不正取得やファイルの不正流出を効果的に防止できる。
【図面の簡単な説明】
【００５４】
【図１】第１実施形態のファイル格納システムを示す概念図である。
【図２】第１実施形態のファイル格納システムを示すブロック図である。
【図３】第２実施形態のファイル格納システムを示すブロック図である。
【図４】検証情報生成手段を示すブロック図である。
【図５】第３実施形態のファイル格納システムを示すブロック図である。
【発明を実施するための形態】
【００５５】
以下、本発明の実施形態を、図面を参照しながら詳細に説明する。
【００５６】
（第１実施形態）
図１は、本発明の第１実施形態のファイル格納システムを示す概念図である。本実施形態のファイル格納システム１は、公衆ネットワークとしてのインターネットを介して不特定多数のユーザにオンラインストレージサービスを提供するために用いられており、複数のユーザによって操作される複数の端末装置２，２，・・・が、インターネット網４を介してサーバ装置３に接続されて構成される。サーバ装置３は、オンラインストレージサービスの提供者により設置される。
【００５７】
端末装置２は、ＣＰＵ（Central Processing Unit）やキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション、メインフレーム、携帯情報端末、ゲーム機及びカーナビゲーション装置等により構成される。端末装置２は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等を備える。端末装置２は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、ＣＰＵが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。
【００５８】
サーバ装置３は、ＣＰＵやキャッシュメモリ等の情報処理資源を備え、ネットワークに接続する機能を有するコンピュータ装置であり、例えばパーソナルコンピュータ、ワークステーション及びメインフレーム等により構成される。サーバ装置３は、更に、主記憶装置、補助記憶装置、入出力装置、通信インターフェース及びメモリインターフェース等のほか、端末装置２からアップロードされたファイルを格納するハードディスクドライブ等の大容量記憶装置を備える。サーバ装置３は、補助記憶装置から主記憶装置に読み出されたシステム情報や各種制御プログラムを、ＣＰＵが必要に応じて実行することにより、また、必要に応じて各装置及びインターフェースと協働することにより、後述の各手段として機能する。なお、サーバ装置３は、大容量記憶装置が本体と分離していてもよい。
【００５９】
端末装置２とサーバ装置３との間の通信は、端末装置２とサーバ装置３の通信インターフェースを介してＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）プロトコルに従って行われる。
【００６０】
端末装置２のユーザは、オンラインストレージサービスの利用に先立ってサービス提供者に利用申し込みを行い、サービス提供者がサービスの利用を許可すると、ユーザのＩＤ及びパスワード等の登録情報を登録する。ユーザは、端末装置２でサーバ装置３に接続し、ＩＤ及びパスワードをサーバ装置３に送信する。サーバ装置３は、受信したＩＤ及びパスワードを登録情報と照合し、照合が成功すると、端末装置２との間でファイルのアップロード及びダウンロードを行う。パスワードの代わりに生体認証など他の認証方法を用いてユーザを認証してもよい。なお、オンラインストレージサービスは、サービス提供に伴うユーザ登録を行うことなく端末装置２とサーバ装置３との間のファイルのアップロード及びダウンロードが可能な形態であってもよい。例えば、端末装置のＩＰアドレスにより、端末を操作するユーザを区別してもよい。オンラインストレージサービスによりサーバ装置３に格納するファイルは、文書、画像、音楽及びプログラム等の任意のファイルが対象となる。
【００６１】
図２は、第１実施形態のファイル格納システム１を示すブロック図である。図２に示すように、端末装置２は、検証情報生成手段２３と検証情報送信手段２４を有する。サーバ装置３は、検証情報受信手段３５と、ファイル検索手段３２と、ファイル格納手段３３と、アクセス権付与手段３４を有する。
【００６２】
本実施形態では、検証因子として、ユーザＩＤとセッションを開始した日付を結合した文字列について、８ビットのチェックサムを取った値を用いる。こうして生成された検証因子は、０〜２５５までの値を取りうる１バイトの値である。なお、ユーザＩＤは、ユーザによって重複が無いように付与されている。日付としては、年、月及び日を用いる。
【００６３】
端末装置２の検証情報生成手段２３は、ファイルと検証因子とに基づいて検証情報を生成する。すなわち、上記１バイトの検証因子をファイルの先頭に結合して、ＳＨＡ−５１２のハッシュ値を計算する。これにより、２５６種類の検証情報ができることになる。
【００６４】
サーバ装置３のファイル格納手段３３は、上記２５６種類の検証情報のいずれによっても検索できるようにファイルが格納されている。具体的には、ファイルを格納するとき、そのファイルと２５６種類の検証因子とから、端末装置で検証情報を生成するアルゴリズムと同じアルゴリズムを用いて２５６種類の検証情報を生成し、対応する検証因子と検証情報を結合した情報を検索キーとして、２５６種類の検索キーを生成し、これら２５６種類のどの検索キーからでもこのファイルが検索できるように、これら検索キーとファイルを関連付けて１つの検索テーブルに格納する。別の格納方法としては、２５６種類の検証因子のそれぞれについて検索テーブルを設け、それぞれの検証因子に基づいて生成した検証情報を検索キーとしてファイルに関連付けて、対応する検索テーブルに格納する。ファイル検索手段３２は、ファイル格納手段３３に格納されたファイルから、検証情報受信手段３５が受信した検証情報と検証因子との組み合わせによってファイルを検索する。アクセス権付与手段３４は、ファイル格納手段３３のファイルの読み出しを制御するものである。このアクセス権付与手段３４は、ファイル検索手段３２による検索結果が肯定的な場合に、ファイル検索手段３２によって検索されたファイルの読み出しアクセス権を端末装置２のユーザに付与する。
【００６５】
本実施形態のファイル格納システム１は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検証情報生成手段２３により、ファイルと検証因子から、ＳＨＡ−５１２のハッシュ値である検証情報を生成する。なお、ファイルが、端末装置２の補助記憶装置ではなくて、端末装置２が接続可能なＬＡＮ内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルと検証因子から検証情報を生成する。この検証情報が、検証情報送信手段２４により、インターネット回線を通じてサーバ装置３に送信される。
【００６６】
サーバ装置３は、検証情報受信手段３５によって検証情報を受信すると、ファイル検索手段３２により、検証情報受信手段３５によって受信した検証情報と検証因子との組み合わせにより、格納手段３３に格納されたファイルから検索を行う。すなわち、検証情報と検証因子を結合して検索キーを生成し、この検索キーを用いてファイルを検索する。別の格納方法を用いる場合は、検証因子に従って検索テーブルを選択し、その検索テーブルから検証情報を検索キーとしてファイルを検索する。ファイル検索手段３２によるファイル格納手段３３の検索結果が肯定的である場合、すなわち、検索キーと検証因子に基づく検索により、該当するファイルが検索された場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されているファイルに端末装置２のユーザのアクセス権を付与する。ユーザへのファイルのアクセス権の付与は、ファイル格納手段３３に設けられてユーザに占有アクセス権を与えたディレクトリの中に、ファイルへのリンク（ファイルへの参照として機能するショートカット）を格納することにより行う。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となる。すなわち、ファイル実体のアップロードを行うことなく、サーバ装置３のユーザの占有アクセス権が設定されたディレクトリの中へファイル実体をアップロードした場合と同じ効果が得られる。
【００６７】
一方、ファイル検索手段３２によるファイル格納手段３３の検索結果が否定的である場合、すなわち、検証情報と検証因子に基づく検索により、該当するファイルが検索されない場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。ただし、高速アップロードができなければアップロードを諦めるユーザの選択肢があってもよい。
【００６８】
このように、本実施形態のファイル格納システム１は、端末装置２でファイルと検証因子とに基づいて検証情報を生成してサーバ装置３に送信し、サーバ装置３において、受信した検証情報と検証因子の組み合わせによってファイル格納手段ファイルを検索する。したがって、ファイル検索手段３２による検索結果が肯定的であれば、検索されたファイルと同じファイルを、ユーザが端末装置２に有していることが検証でき、その結果、ユーザにファイル格納手段３３のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置２に有している場合に限られず、端末装置２が接続可能なＬＡＮ内のファイルサーバ等にファイルが存在する場合も、ユーザにファイルのアクセス権を設定することができる。
【００６９】
また、第１実施形態において、検証情報生成手段２３は、検証因子をファイルに結合してハッシュ値を計算することにより、検索キーを生成したが、他の方法によってファイルと検証因子に基づいて検索キーを生成してもよい。例えば、検証情報生成手段２３は、セッション開始前に、ユーザがアップロードしようとする可能性のあるファイルからハッシュ値の算出処理を開始しておく。ただし、ファイルの末尾に到達したときに、プログラムの内部状態を保持したまま、処理を中断し、プログラムの内部状態を対象ファイルに関連付けられた付属ファイルとして書き出しておく。この後、ユーザがアップロードするファイルを指定して端末装置２とサーバ装置３がセッションを開始すると、検証情報生成手段２３は、サーバ装置３から受信した検証因子に基づいてファイルから一部分を抽出する。この抽出されたファイルの一部を、ファイルに後続するものと扱って、付属ファイルからプログラムの内部状態を復元したうえで、セッション前に中断されたハッシュ値の算出を再開し、最終的に得られたハッシュ値を検証情報とする。サーバ装置３のファイル検索手段３２は、ファイルと、検証因子に基づいてファイルから抽出した一部とについてハッシュ値を生成し、この値をファイルに対応づけた検索テーブルを用意しておく。そして、検証情報受信手段３５が受信した検証情報と検証因子の組み合わせにより、上記検索テーブルを用いて検索を行う。このようにして、ファイルと、セッション開始後に検証因子に基づいて抽出したファイルの一部とに基づいて検証情報を生成することにより、セッション前に検証情報の算出処理の一部を済ませておくことができる。これにより、セッション開始後の端末装置２の処理時関を短縮することができる。
【００７０】
（第２実施形態）
図３は、本発明の第２実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム１２は、第１実施形態のファイル格納システム１と同様のハードウェアにより構成され、端末装置２及びサーバ装置３で実行される制御プログラムが異なる。
【００７１】
第２実施形態のファイル格納システム１２は、端末装置２がファイルと検証因子とに基づいて検証情報を生成する一方、サーバ装置３がファイルと検証因子とに基づいて検証参照情報を生成し、サーバ装置３で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【００７２】
図３に示すように、第２実施形態のファイル格納システム１２は、端末装置２が、検索キー生成手段２１と検索キー送信手段２２を有すると共に、検証情報生成手段２３と、検証情報送信手段２４と、検索結果受信手段２５を有する。サーバ装置３は、検索キー受信手段３１とファイル検索手段３２とファイル格納手段３３とアクセス権付与手段３４を有すると共に、検証情報受信手段３５と検証手段３６と検証参照情報生成手段３７と検索結果送信手段３８を有する。
【００７３】
本実施形態では、端末装置２の検索キー生成手段２１が生成する検索キーとして、ＳＨＡ−１の値とＭＤ５の値とファイルの長さを連結したバイト列を用いる。ＳＨＡ−１は１６０ビットである一方、ＭＤ５は１２８ビットであり、ファイル長は３２ビットで表現すると、検索キーの全体としては３２０ビットとなる。本実施形態では、検索キーの生成はセッション中に行う必要はないので、予め検索キー生成手段２１により、端末装置２に格納されたファイルから検索キーを生成しておく。なお、ファイルが、端末装置２の補助記憶装置ではなくて、端末装置２が接続可能なＬＡＮ内のファイルサーバに存在する場合は、このファイルサーバに存在するファイルから検索キーを生成する。
【００７４】
なお、検証情報の生成に、衝突強度の強いアルゴリズムを用いるのであれば、検索キーの生成のアルゴリズムとしては、ＣＲＣ３２のように、ハッシュ値としての衝突の可能性は比較的高いが高速に生成可能なアルゴリズムを用いることも可能である。
【００７５】
また、端末装置２及びサーバ装置３で用いる検証因子として、ユーザＩＤと、セッションを行う年月日を組み合わせた文字列を用いる。詳しくは、ユーザＩＤと年月日を結合した文字列を検証因子として用いる。また、セッション開始の時刻を秒単位で取得して検証因子の一部として用いることもできるが、その場合は、その時刻を端末からサーバに送信し、サーバ側で、妥当な範囲の値であることを確認した上で、それを検証因子の一部として用いる。
【００７６】
また、端末装置２で生成する検証情報として、検証因子に、端末装置２に存在するファイル実体を結合させた値について、その全体のＳＨＡ−１を計算して得た値を用いる。
【００７７】
また、サーバ装置３で生成する検証参照情報を、端末装置２で生成する検証情報と同じ方法で生成する。すなわち、検証因子に、ファイル格納手段３３で検索されたファイル実体を結合させた値について、その全体のＳＨＡ−１を計算して得た値を検証参照情報とする。
【００７８】
本実施形態のファイル格納システム１２は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段２１が予め生成した検索キーを、検索キー送信手段２２により、インターネット回線を通じてサーバ装置３に送信する。
【００７９】
サーバ装置３は、検索キー受信手段３１によって検索キーを受信すると、ファイル検索手段３２により、検索キー受信手段３１によって受信した検索キーに基づいて、格納手段３３に格納されたファイルから検索を行う。ファイル検索手段３２によるファイル格納手段３３の検索結果が肯定的である場合、すなわち、検索キーに基づく検索により、該当するファイルが検索された場合、検索結果送信手段３８により、検索結果が肯定的である旨の情報を端末装置２に送信する。これと共に、検索された候補ファイルと検証因子に基づいて、検証参照情報生成手段３７によって検証参照情報を生成する。
【００８０】
端末装置２は、検索結果受信手段２５により、検索結果が肯定的である旨の情報を受信すると、検証情報生成手段２３により、ファイルと検証因子に基づいて検証情報を生成する。検証情報生成手段２３で生成された検証情報は、検証情報送信手段２４によってサーバ装置３に送信される。
【００８１】
サーバ装置３は、検証情報を検証情報受信手段３５で受信し、この検証情報と、検証参照情報生成手段３７で生成された検証参照情報とが、所定の条件を満たすか否かを検証手段３６によって検証する。本実施形態では、検証情報生成手段と検証参照情報生成手段とで同じアルゴリズムを実行させ、検証情報と検証参照情報とが一致するか否かを検証する。検証手段３６により検証情報と検証参照情報とが一致することが検証された場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されているファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置３へファイル実体をアップロードした場合と同じ効果が得られる。
【００８２】
一方、検証手段３６による検証結果が否定的である場合、すなわち、検証情報と検証参照情報とが一致しない場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。アップロードされたファイルはファイル格納手段に格納され、アップロードしたユーザに読み込みアクセス権が与えられる。
【００８３】
このように、本実施形態のファイル格納システム１２は、端末装置２でファイルに基づいて検索キーを生成すると共に、ファイルと検証因子とに基づいて検証情報を生成してサーバ装置３に送信し、サーバ装置３において、検索キーで検索されたファイルと検証因子とで生成された検証参照情報と、受信した検証情報とが所定の条件を満たすか否かが検証される。したがって、検証結果が肯定的であれば、ファイル格納手段３３から検索されたファイルと同じファイルに対して、ユーザが端末装置２においてアクセス権を有していることが検証でき、その結果、ユーザにファイル格納手段３３のファイルのアクセス権を設定しても問題が無いことを確認できる。なお、ユーザがファイルを端末装置２内に有している場合に限られず、端末装置２が接続可能なネットワーク内のファイルサーバ等にファイルが存在する場合も、ユーザにファイル格納手段３３のファイルのアクセス権を設定することができる。
【００８４】
第２実施形態において、端末装置２の検証情報生成手段２３及び検証参照情報生成手段３７は、ファイル実体の全てに基づいて検証情報及び検証参照情報を生成したが、ファイルの一部に基づいて検証情報及び検証参照情報を生成してもよい。図４は、ファイルの一部に基づいて検証情報を生成する検証情報生成手段１２３を示すブロック図である。この検証情報生成手段１２３は、アップロードしようとするファイルに対し、抽出手段１２４によって検証因子に基づいてファイルの一部を抽出する。具体的には、抽出手段１２４は、検証因子の値をｎとして、ファイルのｎバイト目の値を抽出する。この値を、変換手段１２５によってハッシュ値に変換し、検証情報を生成する。なお、検証情報生成手段１２３は、変換手段１２５を削除して、抽出手段１２４により検証因子に基づいてファイルから抽出された値をそのまま検証情報として用いてもよい。あるいは、検証情報生成手段１２３の変換手段１２５は、ファイルの一部から抽出された値に更に検証因子を付加し、この値をハッシュ値に変換してもよい。サーバ装置３の検証参照情報生成手段についても、検証情報生成手段１２３と同様にして、ファイルの一部から検証参照情報を生成する。こうしてファイルの一部から生成した検証情報と検証参照情報が一致することを、サーバ装置３の検証手段３６で検証されれば、肯定的な検証結果が得られたこととなる。
【００８５】
また、端末装置２において、検証情報生成手段１２３がファイルの一部に基づいて検証情報を生成する場合、検索キー生成手段２１もまたファイルの一部に基づいて検索キーを生成してもよい。この場合、検索キーの生成のために抽出した部分と、検証情報の生成のために抽出した部分とを合わせて、ファイルの全体をカバーするのが望ましい。これにより、端末装置２のファイルと、サーバ装置３のファイルとが全ての部分において一致する場合にのみ、検証結果を肯定的とすることができる。
【００８６】
また、端末装置２及びサーバ装置３が、ファイルの一部に基づいて検証情報及び検証参照情報を生成する場合、以下のように検索キーに剰余値テーブルを設定することにより、検索キーの衝突（同一の検索キーにより複数の候補ファイルが検索される状況）が生じても、効率的にファイルの検証を行うことができる。すなわち、検索キーの衝突がある場合、検索結果の複数のファイルに対して、いずれかのファイルをユーザが端末装置２（又は端末装置２が接続可能な他の装置）に存在することを検証する必要があるが、複数のファイルに対して検証因子として用いられるかもしれない複数の剰余値を剰余値テーブルとして共通化しておくことにより、検証処理と同時に検索キーの衝突を解消することができる。
【００８７】
例えば、サーバ装置３において、検索キー毎に対応する０〜９９９９９の範囲の値をとる乱数値を１００個含む剰余値テーブルを作成する。次に、剰余値テーブルに格納された１００個の乱数値（剰余値）の各々について、ファイル実体から、（100000×整数+剰余値）バイト目を抜き出し、そこからハッシュ値を生成して、ファイル毎に剰余値に紐付けて検証参照情報テーブルに保存しておく。
【００８８】
端末装置２とのセッション実行時に０〜９９の範囲の値をとる乱数値を生成し、これに対応する剰余値を剰余値テーブルから取り出し、取り出した剰余値を検証因子として端末装置２に送付する。
【００８９】
端末装置２は、サーバ装置３から受信した検証因子に基づき、ファイル実体から、（100000×整数+検証因子）バイト目を抜き出し、そこからハッシュ値を生成して検証情報を生成する。この検証情報を検証情報送信手段３５によってサーバ装置３に送信する。
【００９０】
サーバ装置３は、検証情報受信手段３５で検証情報を受信すると共に、検証参照情報生成手段３７により、検証参照情報テーブルから検証因子に紐付けられたハッシュ値を取得することにより検証参照情報を生成する。この検証参照情報と検証情報とが一致するか否かが、検証手段３６によって検証される。このように、サーバ装置３の検証参照情報生成手段３７は、セッション中に、検証因子からハッシュ値をテーブル引きするのみにより検証参照情報を生成できるので、処理資源の消費を大幅に軽減できる。
【００９１】
また、上記実施形態において、検証手段３６は、検証情報と検証参照情報とが一致する場合に検証結果が肯定的であるとしたが、検証情報と検証参照情報とが他の条件を満たす場合に検証結果を肯定的であるとすることも可能である。例えば、検証因子の値をａとした場合、検証情報生成手段２３は、ファイルから、ａ×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証情報を生成する。これに対して、検証参照情報生成手段３７は、ファイルから、（ａ×ｂ）×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出することにより、ファイルと検証因子とに基づいた検証参照情報を生成する。こうして生成された検証情報と検証参照情報について、検証手段３６は、検証情報のｂ×ｎ（ｎ＝０，１，２，３・・・）バイト目の値を抽出した情報と、検証参照情報とが等しいとの条件を満たすか否かを検証する。この条件が成り立つ場合、ファイル格納手段３３から検索されたファイルと同じファイルを、ユーザが端末装置２に有していると判断することができる。
【００９２】
第２実施形態において、端末装置２は、検索キーをサーバ装置３に送信し、検索結果受信手段２５が、検索結果が肯定的である旨の情報を受信した後に検証情報を生成してサーバ装置３に送信したが、検索キーと検証情報の生成及び送信を略同時に行ってもよい。しかしながら、処理資源及び通信資源の節約の観点から、検索キーを送信した後、検索結果が肯定的である場合に検証情報を生成して送信するのが好ましい。
【００９３】
（第３実施形態）
図５は、本発明の第３実施形態のファイル格納システムを示すブロック図である。本実施形態のファイル格納システム１３は、第１実施形態のファイル格納システム１と同様のハードウェアにより構成され、端末装置２及びサーバ装置３で実行される制御プログラムが異なる。
【００９４】
第３実施形態のファイル格納システム１３は、サーバ装置３が、端末装置２から受信した検索キーにより検索したファイルと検証参照情報に基づいて検証因子を生成する一方、端末装置２が検証因子とファイルとに基づいて検証情報を生成し、サーバ装置３で検証情報と検証参照情報とが所定の条件を満たすことを検証してユーザのアクセス権を設定するものである。
【００９５】
図５に示すように、第３実施形態のファイル格納システム１３は、端末装置２が、検索キー生成手段２１、検索キー送信手段２２、検証情報生成手段２３及び検証情報送信手段２４を有すると共に、検証因子受信手段２６を有する。サーバ装置３は、検索キー受信手段３１、ファイル検索手段３２、ファイル格納手段３３、アクセス権付与手段３４、検証情報受信手段３５、検証手段３６及び検証参照情報生成手段３７を有すると共に、検証因子生成手段１３１と検証因子送信手段１３２を有する。
【００９６】
本実施形態では、端末装置２の検索キー生成手段２１が生成する検索キーとして、ＳＨＡ−２５６を用いる。
【００９７】
また、サーバ装置３の検証参照情報生成手段３７が生成する検証参照情報として、０〜９９の範囲の乱数を用いる。さらに、サーバ装置３の検証因子生成手段１３１は、検証参照情報に基づいてファイルから抽出したデータを検証因子として生成する。
【００９８】
本実施形態のファイル格納システム１３は、以下のように動作する。まず、ユーザが端末装置２の補助記憶装置に記憶された所定のファイルをアップロードする場合、検索キー生成手段２１により、ファイルからＳＨＡ−２５６の値を算出して検索キーを生成する。この検索キーを、検索キー送信手段２２により、インターネット回線を通じてサーバ装置３に送信する。
【００９９】
サーバ装置３は、検索キー受信手段３１によって検索キーを受信すると、ファイル検索手段３２により、検索キー受信手段３１によって受信した検索キーに基づいて、格納手段３３に格納されたファイルから検索を行う。ファイル検索手段３２によりファイルが検索されると、このファイルを候補ファイルとする一方、検証参照情報生成手段３７が検証参照情報として０〜９９の範囲から所定の乱数を生成する。検証因子生成手段１３１は、検証参照情報生成手段３７が生成した乱数（検証参照情報）を加算値の初期値とし、空の配列を抽出位置配列の初期値とし、以下のようなループにより、候補ファイルから抽出位置配列を生成する。
（１）１から候補ファイルのファイルサイズまでの範囲の整数の乱数Ｎを生成する。
（２）候補ファイルの実体のＮバイト目の位置のバイト値を抽出する。
（３）抽出位置配列の末尾に、上記生成した乱数Ｎを追加する。
（４）加算値に、抽出されたバイト値を加算する。
この（１）から（４）までを、加算値の下位２桁が０となるまで繰り返して得られた抽出位置配列を、検証因子とする。こうして検証因子生成手段１３１が生成した検証因子を、検証因子送信手段１３２によって端末装置２に送信する。
【０１００】
端末装置２は、検証因子受信手段２６により検証因子を受信し、受信した検証因子とファイルに基づいて、検証情報生成手段２３により検証情報を生成する。検証情報生成手段２３は、アップロードしようとするファイルから、検証因子である抽出位置配列の個々の値の位置のバイト値を順に抽出し、抽出したバイト値を加算して、その下位２桁の値を検証情報として生成する。検証情報生成手段２３で生成された検証情報を、検証情報送信手段２４によりサーバ装置３に送信する。
【０１０１】
サーバ装置３は、検証情報受信手段３５により検証情報を受信し、検証手段３６により、受信した検証情報と検証参照情報とを加算し、加算値の下位２桁が０であれば検証結果が肯定的であるとする。検証手段３６により検証結果が肯定的であるとされた場合、アクセス権付与手段３４により、ファイル格納手段３３に格納されている候補ファイルにユーザのアクセス権を付与する。これにより、ユーザの端末装置２は高速アップロードが完了し、ファイル格納手段３３のファイルの読み出しが可能となり、ユーザはファイル実体のアップロードを行うことなく、サーバ装置３へファイル実体をアップロードした場合と同じ効果が得られる。
【０１０２】
一方、ファイル検索手段３２によるファイル格納手段３３の検索結果が否定的である場合、サーバ装置３が端末装置２に高速アップロードの失敗を示す情報を送信する。この情報を受信すると、端末装置２は、ファイル実体をサーバ装置３に送信して通常アップロードを行う。
【０１０３】
このように、本実施形態のファイル格納システム１３は、サーバ装置３において、端末装置２から受信した検索キーにより検索された候補ファイルから検証参照情報に基づいて検証因子を生成し、この検証因子に基づいて端末装置２で更にファイルに基づいて検証情報を生成し、この検証情報と検証参照情報とが所定の条件を満たすか否かにより検証を行うので、端末装置２が有するファイルとサーバ装置３のファイル格納手段３３に格納されたファイルとの同一性を確認することができる。したがって、ユーザの端末装置２にファイルが存在することを確実に確認でき、ファイルのアクセス権の不正取得を効果的に防止することができる。
【０１０４】
上記実施形態において、ユーザが端末装置２の補助記憶装置に記憶されたファイルをアップロードする場合について説明したが、端末装置２に存在するファイルに限られず、端末装置２が接続されたネットワークに接続されて端末装置２がアクセス可能な他の装置に存在するファイルをアップロードする場合にも、本発明は適用可能である。
【符号の説明】
【０１０５】
１  ファイル格納システム
２  端末装置
３  サーバ装置
２３  検証情報生成手段
２４  検証情報送信手段
３２  ファイル検索手段
３３  ファイル格納手段
３４  アクセス権付与手段
３５  検証情報受信手段