(57)【要約】  重要なシステムファイルの位置を不明瞭にするための方法及びシステムが提供される。特に、ファイルシステムに記憶されるファイルの位置は、様々な入力をハッシュアルゴリズムに適用することによって選択される。システムファイルに関しては、ハッシュアルゴリズムに対して適用される入力は、ユーザ名及びパスワードを含み得る。データファイル関しては、ハッシュアルゴリズムに対して提供される情報は、ファイル名を含み得る。ランダムなファイルの位置を提供することに加え、本発明の実施形態によるファイルシステムは、ファイル名、サイズ、及び作成日時を含む他の情報を均質化し得る。
2014516448.tif 000002
【特許請求の範囲】
【請求項１】
ファイルを記憶するための方法において、
第１のクライアントアプリケーションによって少なくとも第１の識別子を受信する工程と、
前記第１の識別子をハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第１の出力を生成する、工程と、
第１のファイルシステム位置を決定すべく前記第１の出力を使用する工程とを備える、方法。
【請求項２】
前記第１のファイルシステム位置においてデータ記憶部に第１のファイルを記憶する工程をさらに備える、請求項１に記載の方法。
【請求項３】
前記第１のクライアントアプリケーションによって第２の識別子を受信する工程であって、前記第１の出力を生成すべく前記第１の識別子及び前記第２の識別子は前記ハッシュアルゴリズムに提供され、前記第１のファイルシステム位置において前記データ記憶部に記憶される前記第１のファイルは第１のインデックスファイルである、前記工程をさらに備える、請求項２に記載の方法。
【請求項４】
第１のファイル名を第１のデータファイルに割り当てる工程と、
前記第１のファイル名を第３の識別子として前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第２の出力を生成する、工程と、
第２のファイルシステム位置を決定すべく前記第２の出力を使用する工程と、
前記第２のファイルシステム位置において前記データ記憶部に前記第１のデータファイルを記憶する工程と、
前記第１のインデックスファイルに前記第２のファイルシステム位置を記憶する工程とをさらに備える、請求項３に記載の方法。
【請求項５】
前記第１のデータファイルにアクセスすべく要求を前記第１のクライアントアプリケーションにおいて受信する工程と、
前記第１の識別子及び前記第２の識別子のうちの少なくとも１つであるユーザによる入力を前記第１のクライアントアプリケーションによって求める工程と、
前記クライアントアプリケーションによって前記第１の識別子及び前記第２の識別子を受信する工程であって、前記第１の出力を再生成し前記第１のファイルシステム位置を決定すべく、前記第１の識別子及び前記第２の識別子は前記ハッシュアルゴリズムに対し提供される、工程と、
前記第１のファイルシステム位置において前記データ記憶部に記憶される前記第１のインデックスファイルにアクセスする工程と、前記第１のインデックスファイルから前記第２のファイルシステム位置を読み出す工程とをさらに備える、請求項４に記載の方法。
【請求項６】
前記第１の識別子はユーザ名であり、前記第２の識別子はパスワードである請求項３に記載の方法。
【請求項７】
第１のソルトをさらに備え、該第１のソルトは前記第１の識別子及び前記第２の識別子とともに前記第１の出力を生成するために前記ハッシュアルゴリズムへ入力され、前記第１の出力は前記第１のファイルシステム位置を決定するために使用される、請求項３に記載の方法。
【請求項８】
第２のソルトであって、該第２のソルトは第１のファイル名とともに前記ハッシュアルゴリズムへ入力され、前記ハッシュアルゴリズムは第２の出力を生成する、前記第２のソ
ルトと、
第２のファイルシステム位置を決定すべく前記第２の出力を使用する工程とをさらに備える、請求項７に記載の方法。
【請求項９】
第２のソルトであって、該第２のソルトは前記第１の識別子及び前記第２の識別子とともに前記ハッシュアルゴリズムへ入力され、該ハッシュアルゴリズムは第２の出力を生成する、前記第２のソルトと、
第２のファイルシステム位置を決定すべく前記第２の出力を使用する工程と、
前記第２のファイルシステム位置においてデータ記憶部に第２のファイルを記憶する工程とをさらに備える、請求項７に記載の方法。
【請求項１０】
前記第２のファイルはキーストアである請求項９に記載の方法。
【請求項１１】
前記第１のクライアントアプリケーションによって第３の識別子を受信する工程と、
第２の出力を生成すべく前記第１の識別子及び前記第３の識別子を前記ハッシュアルゴリズムに提供する工程と、
第２のファイルシステム位置を決定すべく前記第２の出力を使用する工程とをさらに備える、請求項３に記載の方法。
【請求項１２】
前記第１のクライアントアプリケーションによって第３の識別子を受信する工程と、
第２の出力を生成すべく前記第１の識別子及び前記第３の識別子を前記ハッシュアルゴリズムに提供する工程と、
第２のファイルシステム位置を決定すべく前記第２の出力を使用する工程と、
前記第２のファイルシステム位置において前記データ記憶部に記憶される実行可能ファイルにアクセスする工程と、
前記実行可能ファイルを実行する工程とをさらに備える、請求項２に記載の方法。
【請求項１３】
少なくとも第２の識別子を前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第２の出力を生成する、工程と、
第２のファイルシステム位置を決定すべく第２の出力を使用する工程と、
前記第２のファイルシステム位置に第２のファイルを記憶する工程とをさらに備える、請求項２に記載の方法。
【請求項１４】
前記第１のファイルシステム位置に記憶される前記第１のファイルは、第１のデータセットに関連する第１のインデックスファイルであり、前記第２のファイルシステム位置に記憶される前記第２のファイルは、第２のデータセットに関連する第２のインデックスファイルである、請求項１３に記載の方法。
【請求項１５】
第２のファイル名を第２のデータファイルに割り当てる工程であって、前記第１のファイル名は第１の文字の長さであり、前記第２のファイル名は第１の文字の長さである、前記工程と、
前記第１のデータファイルのサイズを判定する工程であって、第１の所与のサイズより小さい前記第１のデータファイルのサイズに応じ、該第１のデータファイルはパディングされ第１の正規化されたサイズを有しており、パディングされた前記第１のデータファイルが記憶される、前記工程と、
前記第２のファイル名を第４の識別子として前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第３の出力を生成する、工程と、
第３のファイルシステム位置を決定すべく前記第３の出力を使用する工程と、
前記第３のファイルシステム位置において前記データ記憶部に前記第２のデータファイルを記憶する工程と、
前記第１のインデックスファイルに前記第３のファイルシステム位置を記憶する工程とをさらに備える、請求項４に記載の方法。
【請求項１６】
ファイルを記憶する方法において、
データ記憶部を提供する工程と、
プロセッサを提供する工程と、
前記プロセッサによって実行可能なクライアントアプリケーションを提供する工程であって、該クライアントアプリケーションはファイルシステムモジュールを備える、前記工程と、
ユーザにパスワードを求める工程と、
前記クライアントアプリケーションにおいて第１のパスワードを受信する工程と、
少なくとも受信された前記第１のパスワードと、第１のソルトとを第１の入力としてハッシュアルゴリズムに提供する工程と、
前記第１の入力に応じ、前記ハッシュアルゴリズムによって第１の出力を生成する工程と、
前記第１の出力を第１のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第１のファイルシステム位置に第１のインデックスファイルを記憶する工程と、
少なくとも受信された前記第１のパスワードと、第２のソルトとを第２の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第２の入力に応じ、前記ハッシュアルゴリズムによって第２の出力を生成する工程と、
前記第２の出力を第２のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第２のファイルシステム位置に第１のキーストアファイルを記憶する工程とを備える、方法。
【請求項１７】
第１のデータファイルを受信する工程であって、該第１のデータファイルは第１の名前と関連する、前記工程と、
少なくとも前記第１の名前と、第２のソルトとを第３の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第３の入力に応じ、前記ハッシュアルゴリズムによって第３の出力を生成する工程と、
前記第３の出力を第３のファイルシステム位置へと変換する工程と、
前記第３のファイルシステム位置に前記第１のデータファイルを記憶する工程と、
前記第１のインデックスファイルに前記第３のファイルシステム位置の記録を記憶する工程と、
前記第１のデータファイルと関連するキーを前記第１のキーストアに配置する工程とをさらに備える、請求項１６に記載の方法。
【請求項１８】
前記クライアントアプリケーションにおいて第２のパスワードを受信する工程と、
少なくとも受信された前記第２のパスワードと、第１のソルトとを第４の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第４の入力に応じ、前記ハッシュアルゴリズムによって第４の出力を生成する工程と、
前記第４の出力を第４のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第４のファイルシステム位置に第２のインデックスファイルを記憶する工程とをさらに備える、請求項１７に記載の方法。
【請求項１９】
システムであって、
データ記憶部と、
クライアントアプリケーションであって、該クライアントアプリケーションは前記データ記憶部に記憶されており、該クライアントアプリケーションはハッシュアルゴリズムを備える、前記クライアントアプリケーションと、
ユーザ入力であって、該ユーザ入力における少なくとも第１の入力を受信することに応じ前記クライアントアプリケーションは前記ハッシュアルゴリズムを使用して第１の値を生成するように動作可能であり、該第１の値はシステムインデックスファイルを記憶するために前記データ記憶部における第１の位置を決定するために使用され、前記システムインデックスファイルは前記データ記憶部における前記第１の位置に記憶されており、前記第１の位置の記録はデータ記憶部には記憶されない、前記ユーザ入力とを備える、システム。
【請求項２０】
前記データ記憶部にデータファイルを記憶する要求を前記クライアントアプリケーションが受信することに応じ、前記クライアントアプリケーションは前記データファイルの名前をハッシュアルゴリズムへの入力として使用し第２の値を生成するように動作可能であり、該第２の値は前記データファイルを記憶するために前記データ記憶部における第２の位置を決定するために使用され、前記データファイルは前記第２の位置において前記データ記憶部に配置され、前記第２の位置は前記システムインデックスファイルに記憶される、請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
セキュアなデータ記憶を提供するためのシステム及び方法が開示される。より詳細には、重要なシステムファイルの位置を分かり難く（難読化）するファイルシステムが提供される。
【背景技術】
【０００２】
コンピュータシステム及びデータシステムのセキュリティは重要な要件である。データを電子的にセキュアに記憶するために、様々な技術が使用されてきた。例えば、データに対する物理的なアクセスが制限され得る。しかしながら、データを物理的に分離することは不便であり、データに対するリモートアクセスと、クラウドベースコンピューティングとが標準的なものとなるにつれて、ますます非現実的となってきている。
【０００３】
電子データをセキュアにするための他の技術には、パスワードの利用及び暗号化が含まれる。ユーザがシステムに対するアクセスを許可される前に、パスワードが要求されることがある。多くの暗号化方式は、セキュアにすべきデータを暗号化鍵を使用してスクランブルすることによって機能する。したがって、保護されたデータへのアクセスには、必要とされるパスワードの提供、適切なアルゴリズムの使用、及びデータを暗号化するために使用された鍵（キー）に対する相補的な（ｃｏｍｐｌｉｍｅｎｔ）鍵すなわちペア鍵が必要とされ得る。パスワード、暗号化アルゴリズム、及び鍵の長さによっては、そのように保護されたデータにアクセスすることは非常に困難となる。しかしながら、そのようなシステムの１つの欠点は、ハッカー又は他の権限のない者が、必要なパスワード、鍵又はその両方を取得すると、その者は暗号化されたデータに対して完全にアクセスできることである。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
暗号化鍵を利用するシステムの別の欠点は、暗号化鍵を含むファイルは比較的小さなファイルに含まれている可能性が高いので、ハッカーは、暗号化された情報にアクセスを望むとき、比較的小さなファイルを分析することによって攻撃を始められることである。さらに、ハッカーは、システム初期化の日時又はその近くに生成されたファイルに集中し得る（そのようなファイルはキーストアを含む又はキーストアの場所を示す（ｐｏｉｎｔ）システムファイルを含む可能性があるので）。
このようにして、攻撃を集中する対象となる情報の量を限定することによって、暗号化されたファイルシステムのセキュリティを打ち破ることがより容易となる。
【課題を解決するための手段】
【０００５】
本開示の発明の実施形態は、先行技術のこれら及び他の問題及び欠点を解決することを目的としている。本発明の実施形態によると、明白に均質化された又は難読化されたファイルのシステムが提供される。そのファイルシステムでは、少なくともいくつかのシステムファイル、データファイル、又はその両方について、それらのファイルがシステムに記憶される際、ランダムな記憶位置を利用する。これによって、データ又はコンテンツのロックを解除するために必要なキーを含むファイル等、セキュアシステムデータに使用される情報を含むファイルの位置をハッカーが突き止めることがより困難になる。
【０００６】
本発明の実施形態によると、難読化されたファイルのシステム又は構造を実装するクライアントアプリケーション又はシステムアプリケーションは、システムによって作成され又はシステムに記憶されるファイルを固有のハッシュ化されたファイル位置に配置する。
この位置はセントラルインデックスに記憶され、使用されない時は他のファイルと同様にファイルシステムにおいて暗号化され、記憶されている。さらに、セントラルインデックスの位置は、明らかな又は周知の位置に記憶されない。特に、各異なるユーザに対し、セントラルインデックスの位置に関して異なるハッシュが生成される。セントラルインデックスの位置は、秘密のデータ又は入力と、既知のデータ又は入力との組み合わせに基づいて計算され得る。秘密のデータ又は入力は、パスワードを含み得るが、これに限定されない。したがって、本開示においては秘密入力を指してパスワードが用いられることが度々あるが、本開示の実施形態にはパスワード以外の形態の秘密入力を使用することができる。したがって、例として、セントラルインデックスの位置は、システムユーザに関するユーザ名及びパスワードに基づいて計算され得る。別例として、セントラルインデックスの位置は、プライベートキー又は他の秘密のデータ又は入力を含む入力から計算され得る。したがって、セントラルインデックスの位置の計算は、ユーザのパスワード等の秘密の情報の知識に依存する。さらに、このような構成によって、異なる複数のユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方に対し、異なる複数のセントラルインデックス及びインデックス位置が可能となると同時に、異なるユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方同士におけるセキュリティが維持される。
【０００７】
セントラルインデックスの位置は、ファイルの位置を計算すべくユーザの名前及びパスワード、ソルト、並びに任意的な追加の固有の情報が与えられ得るハッシュ関数若しくはハッシュアルゴリズムによって、又はハッシュ関数に秘密の又は既知のデータの組み合わせを与えることによって決定される。そのようにファイルの位置が決定されると、この位置及びパスワードは、そのパスワード又は他の秘密データを使用し、その位置に見出されるファイルを解読することによって検証され得る。解読ができなかったか、又はファイルが決定された位置に見出されなかった場合、入力データが無効であったと結論づけられ得る。この検証によって、読出可能な方法で正確なパスワードを永久に記憶する必要性や、システムファイルが標準の又は既知の位置に記憶される必要性が除去される。したがって、パスワード又は他の秘密のデータ又は入力は、ファイル配置機構の重要な部分であるとともに、そのファイルを解読するキーの重要な部分である。
【０００８】
本発明のさらなる実施形態によると、１人のユーザは、様々な目的のために異なる複数のパスワード又は秘密入力を使用し得る。例えば、第１のパスワード又は秘密入力によって、システムのロックは正常に解除され得る。第２の、異なるパスワード又は秘密入力は、タスクを処理すべく実行されるスクリプトにアクセスし開始すべく使用され得る。タスクの一例は、第２のパスワード又は秘密入力が脅迫信号（ｄｕｒｅｓｓ  ｓｉｇｎａｌ）として設定されている場合、システムのワイプを実行し、警告メッセージを送信するバックグラウンドのタスクである。第３のパスワード又は秘密入力は、代替のシステムコンテンツインデックスのロックを解除するために確立され得る。したがって、様々なデータセットがシステムに同時に記憶され得る。さらに、この様々なデータセットに関する相互関係や知識は、他のデータセットには不要である。さらに他の実施形態によると、第１のパスワード又は秘密入力は、第１のコンテンツインデックスにアクセスするために必要とされ得る。この第１のコンテンツインデックスにアクセスした後、第２のパスワード又は秘密入力が提供された場合にさらなるコンテンツがアクセスされ得る。ここで、そのさらなるコンテンツは、第２のコンテンツインデックスを通じてアクセスされ、当該第２のコンテンツインデックスは、位置を計算し、コンテンツを解読するために、第１のパスワード又は秘密入力と、第２のパスワード又は秘密入力との両方を必要とし得る。この原理は、ｎ個のパスワード又は秘密入力に拡張され得る。さらに別の例として、様々なアルゴリズム、秘密入力に対する様々なソルトの追加、又はその両方は、様々なファイルの位置を計算するために利用され得る。例えば、いずれもであっても１つのパスワード又は秘密入力の入力に応じて、１つのハッシュソルトはセントラルインデックスのロックを解除するために使用され、別のハッシュソルトは、セントラルインデックスとは異なる位置に存在す
る非対称プライベート暗号化鍵のロックを解除するために使用され得る。さらに他の実施形態では、
同じ装置識別子を報告する特定の装置又はシステムによってのみファイルのコピーにアクセスが可能となることを確実にするべく、その装置の識別情報及び他の装置特有の情報ハッシュアルゴリズムの入力と混合されることも可能である。
【０００９】
さらに、全てのデータファイルの位置は、ハッシュアルゴリズムの適用を通じて決定され得る。より詳細には、ファイル名及びソルトがハッシュアルゴリズムに提供され得る。これらの入力から、ハッシュアルゴリズムはデータファイルに関してファイルの位置を計算する。計算された位置がまだ占有されていない場合には、データファイルはその計算された位置に記憶される。
【００１０】
本発明の他の実施形態によると、さらにシステムファイルを不明瞭にする又は均質化する処置が取られ得る。例えば、システムファイル及びデータファイルの名前は、均質化され得る。さらなる例として、全てのファイルが互いに同じ又は同様のサイズを有するように、ファイルは複数のチャンクに分割されるか又はパディングされ得る。共通したファイルサイズは所与のサイズであってもよく、又はシステムに記憶されているファイルの平均サイズ若しくは共通のサイズを表すサイズであってもよい。あるいは、又はさらに、ダミーのファイルが生成され得る。さらに他の実施形態によると、ファイルは、インデックスファイル位置を決定するために使用されるアルゴリズムによって、ディレクトリ及びサブディレクトリのツリーに配置され得る。さらに他の実施形態によると、ファイルに関連する日時は、直接的に又はファイルの再生成を通じて変更され得る。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態によるセキュアファイルシステムの組み込まれたシステムの構成要素を示す図。
【図２】本発明の実施形態による例示的なファイル記憶処理の態様を示す図。
【図３】本発明の実施形態による例示的なシステムファイルの読出処理の態様を示す図。
【図４】本発明の実施形態によるシステムファイルの配置処理の特徴を示す図。
【図５】本発明の実施形態によるデータファイルの配置処理の態様を示す図。
【図６】本発明の実施形態による他の例示的なファイル難読化の特徴を示す図。
【図７】本発明の実施形態によるファイルシステムの特徴を示す図。
【図８】本発明の実施形態による別の例示的なファイルシステムの特徴を示す図。
【図９】本発明の実施形態による別の例示的なファイルシステムの特徴を示す図。
【図１０】本発明の実施形態による例示的なファイルシステムの特徴を示す図。
【発明を実施するための形態】
【００１２】
本発明の実施形態の追加の特徴及び利点は、以下の記述から、特に添付の図面とともに考慮されると、より容易に明白になるであろう。
図１は、本発明の実施形態によるセキュアファイルシステムの組み込まれたシステム１００の構成要素を示している。システム１００はコンピュータ１０４によって実装され得る。すなわち、システム１００はコンピュータ１０４に関連して実装され得る。コンピュータ１０４は特定の型又は種類の装置に限定されない。例えば、本明細書において使用されるように、コンピュータ１０４は、汎用コンピュータ、パーソナルコンピュータ、サーバコンピュータ、ワークステーション、専用データ記憶システム若しくはネットワーク接続記憶システム、スマートフォン、タブレットコンピュータ、ゲーム機、産業制御システム、又はファイルシステムにおけるファイルのセット若しくは集合として記憶されているデータを含む若しくは関連する他の装置を含み得る。さらに、システム１００は、複数の相互に接続された装置と、統合された、外部の又はその両方のデータ記憶システムとを含
み得るが、必ずしも含む必要はない。
【００１３】
本発明の実施形態によるシステム１００の一部又は全部を実装するコンピュータ１０４は、一般にプロセッサ１０８及びメモリ１１２を備えている。さらに、コンピュータ１０４は、１つ又は複数のユーザ入力装置１１６と、１つ又は複数のユーザ出力装置１２０とを備え得る。コンピュータ１０４は、一般にデータ記憶部１２４も含む。さらに、外部記憶装置を含む他のコンピュータ又は装置に直接的に又はネットワークを介してコンピュータ１０４を容易に相互接続するために、通信インタフェース１２６が提供されてもよい。
【００１４】
プロセッサ１０８は、ソフトウェア又はファームウェアに符号化されている命令を処理又は実行することができるプロセッサを備え得る。本発明の他の実施形態によると、プロセッサ１０８は、論理回路に符号化されている命令を有する又は実行できる制御装置又は特定用途向け集積回路（ＡＳＩＣ）を備え得る。メモリ１１２は、例えば、プロセッサ１０４によるコード又は命令の実行と関連して、プログラム、データ又はその両方を記憶するために使用され得る。例としてメモリ１１２は、ＲＡＭ、ＳＤＲＡＭ、又は他のソリッドステートメモリから構成されてもよい。一般に、ユーザ入力装置１１６は、ユーザがパスワードと、ユーザ名等の他の情報とを入力できるコンピュータ１０４の部分として含まれる。コンピュータ１０４の部分として提供され得るユーザ入力１１６の例は、キーボード、キーパッド、スピーカ、バイオメトリック入力装置、マウス、又は他の位置エンコーダ（ｐｏｓｉｔｉｏｎ  ｅｎｃｏｄｉｎｇ  ｄｅｖｉｃｅ）等を含む。ユーザ出力１２０は、例えば、ディスプレイ、スピーカ、インジケータ灯等を含み得る。データ記憶部１２４は、一般にプログラム及びデータのための記憶部を備え得る。メモリ１１２と同様、データ記憶部１２４はソリッドステート装置から構成されてもよい。あるいは、又はさらに、データ記憶部１２４は、ハードディスクドライブ、テープドライブ、又は他のアドレス指定可能な記憶装置若しくは一組の記憶装置から構成されてもよいが、それらに限定されない。さらに、データ記憶部１２４は、コンピュータ１０４に統合された構成要素として、又は相互接続されたデータ記憶装置若しくはシステムとして提供され得る。データ記憶部１２４は、位置モジュール１３２を備える又は実装するクライアントアプリケーション１２８に対して記憶部を提供し得る。位置モジュール１３２は、一般に、様々な入力に基づいてデータ記憶部におけるファイル位置を決定し、本明細書に記載される重大なシステムファイルの位置、アイデンティティ又はその両方を不明瞭にするための他の機能を実行するために動作する。位置モジュール１３２は、ファイル記憶位置の生成と、記憶されたファイルにアクセスすることとに関連して使用されるハッシュアルゴリズム１３６を含む。さらに、データ記憶部１１２は、ファイルシステム１４０のための記憶部を備え得る。本明細書の他の箇所においてより詳細に記載するように、ファイルシステム１４０は、位置モジュール１３２の動作によって決定される位置に配置された複数のファイル１４２を含む。これらのファイル１４２は、システムファイル１４４及びデータファイル１４８を含み得る。さらに、データ記憶部１２４は、オペレーティングシステムソフトウェア１４８と、他のアプリケーション又はデータとを記憶し得る。
【００１５】
図２は、本発明の実施形態による位置モジュール１３２の組み込まれたクライアントアプリケーション１２８の動作の態様を示している。初めに、工程２００では、クライアントアプリケーション１２８が動作する又はクライアントアプリケーション１２８に関連するコンピュータ１０４のファイルシステム１４０に配置するべく、ファイル１４２を受信する。工程２０４では、受信されたファイル１４２がシステムファイルであるかデータファイルであるかに関して判定がされる。ファイル１４２がシステムファイル１４４の場合には、クライアントアプリケーション１２８はユーザ名及び秘密入力を得る（工程２０８）。例として、秘密入力はユーザパスワードの場合がある。ユーザ名及び秘密入力を得ることには、ユーザによるユーザ入力１１６を通じたユーザ名及び秘密入力の提供を要求するために、ユーザ出力１２０を通じてユーザに対して表示されるプロンプトの提供をする
ことが含まれ得る。ユーザ名及び秘密入力が以前に入力されている場合には、それらのアイテムを得ることには、メモリ１１２、データ記憶部１２４又はその両方からそれらを読み出すことが含まれ得る。次に、ユーザ名及び秘密入力は、ハッシュアルゴリズム１３６に提供され、ハッシュアルゴリズム１３６は、データ記憶部１２４のファイルシステム１４０にシステムファイル１４４が置かれる位置を決定すべく、動作させられる（工程２１２）。ハッシュアルゴリズム１３６の実行に関連して、ソルトが追加の入力として提供され得る。ソルトはクライアントアプリケーション１２８、特に位置モジュール１３２によって維持され得る。次に、ハッシュアルゴリズム１３６から得られた出力は、システムファイル１４４が置かれる位置を決定するために使用され得る。
【００１６】
工程２０４においてファイル１４２がデータファイル１４８であると判定された場合には、クライアントアプリケーション１２８、特に位置モジュール１３２は、データファイル１４８の名前を得るべく動作する（工程２２０）。データファイル１４８の名前は、そのファイル１４８の作成時の当該データファイル１４８に関連した名前の場合がある。あるいは、データファイル１４８の名前は、クライアントアプリケーション１２８の位置モジュール１３２によって割り当てられ得る（例えば、ファイルシステム１４０にデータファイル１４８を記憶するタスクがクライアントアプリケーション１２８に割り振られた後）。したがって、均質化に係る命名規則は、位置モジュール１３２によって適用され得ることについて、本明細書の他の箇所においてより詳細に記載される。工程２２４では、位置モジュール１３２は、ファイル名２２０をハッシュアルゴリズム１３６に提供する。そのハッシュアルゴリズムは、ファイル位置を決定するために使用される値を取得すべく実行される。ハッシュアルゴリズム１３６の実行に関連して、ソルトが適用され得る。そのソルトは、システムファイル１４４の位置の決定に関連して使用されたソルトと同じであっても異なっていてもよい。
【００１７】
上述の通り、位置モジュール１３２のハッシュアルゴリズム１３６は、ファイルシステム１４０において対象のファイル１４２が配置される位置を決定するのに用いられる値を生成するべく動作する。ハッシュアルゴリズム１３６の実行によって生成された値は、ランダム又は擬似ランダムな値として特徴を有し得る。その値は、ファイルシステム１４０における位置として使用されるために翻訳又は変換を必要とする場合がある。したがって、工程２２８では、位置モジュール１３２は、ハッシュアルゴリズム１３６の出力に基づいてファイル１４２を配置する、ファイルシステム１４０における位置を決定すべく動作する。ファイル１４２の位置を決定することは、ハッシュアルゴリズム１３６によって生成された値をパースすること、生成された値のセグメントを翻訳すること、並びにファイルシステム１４０におけるディレクトリ及びサブディレクトリを作成することのうちの少なくとも１つを含み得ることについて、本明細書の他の箇所においてより詳細に記載される。
【００１８】
工程２３２では、以前に記憶されたシステムファイル１４４又はデータファイル１４８等のファイルが決定されたファイル位置を既に占有しているかに関して判定がされる。別のファイルが決定された位置を既に占有している場合には、ファイル１４２を適切な位置に配置するための処置が取られる。例えば、システムファイル１４４が記憶されており、かつ、衝突がデータファイル１４８とのものであると判定された場合（工程２３６）、データファイル１４８は移動され（工程２４０）、システムファイル１４４は決定された位置に記憶される。あるいは、記憶されるファイルがデータファイル１４８であり、かつ、以前に記憶されたファイル１４２との衝突が存在すると判定された場合（工程２４４）、衝突に係るアルゴリズムは、新しい位置を計算するために適用され得る（工程２４８）。さらに別の代替として、工程２５２において記憶されるファイルが受信されたシステムファイル１４４であると判定され、かつ、別のシステムファイル１４４が決定された位置に既に存在する場合には、処理は工程２０８に戻り得る。その工程２０８では、新たな位置
を計算し得るように、ユーザは追加の入力を求められる。特に再計算は、ユーザに他の秘密の入力又はデータの提供を求めることを含み得る。工程２５２において、受信されたシステムファイル１４４と、別のシステムファイル１４４との間の衝突が検出されない場合には、システムエラー信号が示される（工程２５４）。
【００１９】
ファイル１４２に対して決定された位置がまだ占有されていない場合には、ファイル１４２はファイルシステム１４０における決定された位置に記憶される（工程２５６）。ファイル１４２を工程２４０，２４８，２５６のうちの１つにおいて記憶した後、対象のファイルがデータファイル１４８であるかに関して判定がされる（工程２６０）。対象のファイルがデータファイル１４８の場合には、そのデータファイル１４８の位置に関する情報は適用可能なシステムインデックスに記憶される（工程２６４）。対象のファイルがシステムファイル１４４の場合には、システムファイル１４４の位置は記憶されない。代わりに、システムファイル１４４の位置は、システムファイル１４４がデータ記憶部１２４から読み出される毎に、提供されるユーザ名及びパスワード情報から生成される。当該システムファイル１４４は、例えば、データファイル１４８の位置を含む、ファイルシステム１４０のインデックスを含み得る。
【００２０】
図３は本発明の実施形態による例示的なシステムファイル１４４の読出処理の態様を示している。特に、工程３０４では、クライアントアプリケーション１２８は、必要なユーザ入力を得る。この必要な入力は、ユーザ名と、秘密入力すなわちアクセスされるファイルシステム１４０に関連するデータとを含み得る。次に、ハッシュアルゴリズム１３６が実行され、システムファイル１４４の位置が生成される（工程３０８）。本開示を考慮した後、ハッシュアルゴリズム１３６によるシステムファイル１４４の位置の生成には、システムファイル１４４の位置を当初に決定するのに使用されたのと同じユーザ名及び秘密入力、並びにソルト（存在する場合）が読出処理の一部として提供されることが必要とされることが当業者によって認識され得る。
【００２１】
工程３１２では、決定された位置にシステムファイル１４４が存在するかに関して判定がされる。ファイルがその位置に存在しない場合には、エラーが示され（工程３１６）、処理は工程３０４に戻る。決定された位置にシステムファイル１４４が見出された場合には、提供された入力又は計算された入力由来物（ｄｅｒｉｖａｔｉｖｅ）を使用してシステムファイル１４４は解読され得る（工程３２０）。したがって、システムファイル１４４が記憶される位置の決定に使用されたユーザ入力の一部又は全部は、システムファイル１４４を解読するために使用され得る。工程３２４では、システムファイル１４４の解読が成功したかに関して判定がされる。解読が成功しなかった場合には、エラーが宣言され（工程３１６）、処理は工程３０４に戻る。解読が成功した場合には、システムファイル１４４のコンテンツは、クライアントアプリケーション１２８に戻される（工程３２８）。例えば、システムファイル１４４がシステムインデックスから構成される場合、システムファイル１４４が解読され、そのコンテンツがクライアントアプリケーション１２８に対して提供され又は利用可能となれば、クライアントアプリケーション１２８によって、ファイルシステム１４０におけるデータファイル１４８の位置に関する情報が読み出され得る。
【００２２】
図４は、本発明の実施形態によるシステムファイル１４４の位置の決定の特徴を示している。特に図４は、ユーザ入力（ユーザ名４０４及び秘密の入力又はデータ４０８を含む）のハッシュアルゴリズム１３６への提供を示している（工程４１２）。ハッシュアルゴリズム１３６はソルト４１４も受信し得る。ソルト４１４は、例えば配置されるシステムファイル１４４のアイデンティティによっては、変化し得る。例えば、第１のソルト４１４は、システムインデックスの記憶のために適用され得る。他方、第２のソルト４１４は、代替システムインデックス又はキーストアの配置のために使用され得る。ハッシュアル
ゴリズム１３６は工程４１２において、提供された入力４０４，４０８，４１６を使用して実行され、システムファイルの位置が生成される（工程４１６）。システムファイル１４４の位置は、ハッシュアルゴリズム４１２の出力から直接的に、又はハッシュアルゴリズム１３６の出力の変換を通じて取得され得る。図４に示されているシステムファイル１４４を配置するための処理は、システムファイル１４４が記憶されるか又はアクセスされるかについて続けられ得る。さらに、システムファイル１４４の位置は、入力、例えばユーザ名４０４、秘密データ４０８、又はその両方が変更される毎に変更される。
【００２３】
図５は、本発明の実施形態によるデータファイル１４８の位置の決定の態様を示している。初めに、データファイル１４８の名前が取得される（工程５０４）。そのデータファイルの名前は、クライアントアプリケーション１２８の位置モジュール１３２によって当該ファイル１４８に割り当てられた名前であってよい。あるいは、その名前は、別のシステム又はアプリケーションによって当該データファイル１４８に割り当てられた名前であってよい。そのファイル名と、任意のソルト４１４とは、ハッシュアルゴリズム１３６に提供され、そのハッシュアルゴリズム１３６は動作し出力を生成する（工程５０８）。次に、出力はデータファイル１４８の位置の決定のために適用される（工程５１２）。位置はハッシュアルゴリズム１３６の出力から直接的に導出されてもよい。又は、位置は、位置モジュール１３２によって実行される、ハッシュアルゴリズム１３６の出力の何らかの変換であってよい。工程５１６では、データファイル１４８の位置が適切なシステムインデックスに記憶される。したがって、ファイルシステム１４０に記憶されたデータファイル１４８は、第１に適切なシステムファイル１４４（すなわちシステムインデックス）からデータファイル１４８の位置を取得することによってアクセスされる。これによって、異なる複数のソルトが異なる複数のデータファイル１４８に対して適用され得る。さらに、位置モジュール１３２も、ファイルシステム１４０も、特定のデータファイル１４８の記憶と関連して使用される特定のソルト４１４を追跡し又は記録することが必要とされない。
【００２４】
図６は、本発明の実施形態によるシステム１００の他のファイル難読化の特徴を実装するための処理を示している。特に、これらの特徴は、ファイル１４２の名前の均質化又は正規化を含み得る。すなわち、ファイル１４２のサイズの均質化又は正規化と、ファイル１４２に関連する作成時の均質化又は正規化とである。これらの手続きは、ファイルシステム１４０における記憶部に対するファイル１４２の受信の際に開始され得る（工程６０４）。工程６０８では、ファイル名が正規化されているかどうか、又はクライアントアプリケーション１２８の位置モジュール１３２によって実装される均質化に係る命名規則に別様にしたがっているかに関して判定がなされ得る。ファイル名が正規化されていない場合には、ファイル１４２は再命名される（工程６１２）。再命名は、ファイル１４２に対してランダムな名前、擬似ランダムな名前、又は別様に特徴的でない名前を割り当てることを含み得る。限定するものとしてではなく例として、位置モジュール１３２は、ファイルと、フォルダ又はディレクトリとに対して、プラットホームに依存しない文字から構成される名前を割り当てることによって、個々のファイル１４２のアイデンティティを難読化できる。例えば、ＡからＺまでの文字及び０から９までの数字である。さらに、ファイル及びフォルダの名前を、いくつかの指定された文字数、例えば２に限定することができる。ファイル名における文字数を限定することは、フォルダ又はディレクトリにおけるファイルの最大数に関し、あるオペレーティングシステム１５２に暗に存在する制限にしたがうことにおいても有益な場合がある。最大で２文字を有するファイル名の使用によってファイル数として可能性のある数が利用可能なファイル数を超え得る場合に、ファイルシステム１４０におけるファイル１４２の総数が命名規則によって制限されないように、入れ子になったファイル又はディレクトリが使用され得る。さらに、ファイル１４２を命名するために個々のファイル１４２に割り当てられる文字は、ランダムに又は擬似ランダムに選択され得る。さらに、ファイル名はケースインセンシティブであってよい。いくつか
又は全ての処置を適用することによって、比較的に特徴的ではなく均質化された名前のファイル１４２の集まりを有するファイルシステム１４０が得られる。
【００２５】
工程６１６では、ファイル１４２のサイズが選択されたサイズよりも小さいかに関して判定がされ得る。ファイル１４２のサイズが選択されたサイズよりも小さい場合には、ファイル１４２のパディングが行われ（ｐａｄｄｅｄ）、ファイルサイズを選択されたサイズ又はそれに近いサイズにし得る（工程６２０）。工程６２４では、ファイル１４２のサイズが選択されたサイズよりも大きいかに関して判定がされ得る。サイズが選択されたサイズよりも大きい場合には、ファイル１４２はチャンクが行われ（ｃｈｕｎｋｅｄ）得る、すなわち複数のより小さなファイル１４２へと分解され得る（工程６２８）。ファイル１４２をいくつかの塊に分けることは、選択されたサイズよりもサイズが小さな残りのファイルにパディングを行うことを含んでいてもよい。本明細書で使用されているように、選択されたサイズは所与のファイルサイズであってよい。あるいは、選択されたサイズは、ファイルシステム１４０における平均的なファイルサイズから決定されてもよい。さらに別の実施形態によると、選択されるサイズは、少なくとも部分的には、ファイルシステム１４０が実装されている又は関連する装置１０４の制限に基づいて決定され得る。そのような制限は、オペレーティングシステム１５２の制限と、データ記憶部１２４の制限又は要求とを含み得る。さらに、ファイル１４２がパディング又はチャンクが行われて至る、選択されたサイズは、ある範囲のサイズより構成されてもよく、またチャンクの判定と関連して使用されたサイズとは異なった選択されたサイズがパディングの判定に関連して使用されてもよい。したがって、ファイルシステム１４０におけるファイル１４２は、ある範囲に属するサイズを有し得る。これによって、ファイル１４２に実際に含まれるコンテンツの量に関する情報が不明瞭にされ、特に関心のある場合があるファイル１４２をハッカーが識別することが不可能又はより困難になる。
【００２６】
工程６３２では、ファイル１４２の作成時が均質化されているかに関して判定がされる。作成時が均質化されていない場合には、作成時がリセットされる（工程６３６）。例えば、ディレクトリに示されているようなファイル１４２の作成時は、直接的に又はファイル１４２を再保存することによって操作され得る。例えば、ファイルシステム１４０におけるファイル１４２の全ては、周期的にリセットされ得る。別の例として、ファイルシステム１４０におけるファイル１４２の示されている作成時は、多くの最近のファイル１４２がファイルシステム１４０に保存された日時又はその近傍にリセットされ得る。ファイル１４２及びファイルシステム１４０の作成時をそのように均質化することによって、ハッカーに使用されて重要なシステムファイルが識別され得る情報がさらに不明瞭にされる。
【００２７】
図７は、単一のセキュアデータサブシステム７００を含む本発明の実施形態によるシステム１００の実装の態様を示している。この例示的な実装によると、ユーザ名４０４及び秘密データ４０８の入力の際、キーインデックス７０８及びプライベートキーファイル７１６を含むシステムファイル１４４が配置される。より詳細には、動作７０４においてハッシュアルゴリズム１３６は、ユーザ名４０４及びパスワード４０８に対して第１のソルト４１４を適用し、キーインデックス７０８を含むシステムファイル１４４の位置を決定する。キーインデックス７０８は一般に、コンテンツ又はデータファイル１４８のアイテムの位置に関するインデックス情報を含む。別の動作７１２では、ハッシュアルゴリズム１３６は、ユーザ名４０４及びパスワード４０８並びに第２の又はプライベートキーのソルト４１４を適用して、プライベートキーファイル７１６を含むシステムファイル１４４の位置を決定する。プライベートキーファイル７１６は、コンテンツ又は他のデータファイル１４８にアクセスするために必要とされるキーの記憶として機能し得る。したがって、この例から、一組の情報からなるユーザによる入力は、位置モジュール１３２によって使用され、複数のシステムファイル１４４を指し得ると認識され得る。
【００２８】
図８は、第１のセキュアデータサブシステム８００ａ及び第２のセキュアデータサブシステム８００ｂを含む、本発明の実施形態による別の例示的なシステム１００の態様を示している。このシステム１００では、第１のユーザ名４０４及び第１の秘密入力（この例では第１のパスワード）４０８は、第１のデータサブシステム８００ａと関連するハッシュアルゴリズム１３６による処理をすべく位置モジュール１３２に提供される。第１の動作８０４では、ハッシュアルゴリズム１３６によって、ユーザ名４０４及びパスワード４０８並びに第１のキーストアソルト４１４が使用され、ソルトデータベース８０８を構成する第１のシステムファイル１４４が指される。ソルトデータベース８０８に対するアクセスを達成した後、第２の動作８１２では、第１のキーインデックスソルト４１４及びユーザ名４０４は、位置モジュール１３２によってハッシュアルゴリズム１３６に提供され、第１のキーインデックス８１６ａを構成する第２のシステムファイル１４４の位置及びアクセスを取得する。第１のキーインデックス８１６ａは、第１の一組のコンテンツ又はデータファイル１４８ａへのアクセスに必要なインデックス情報を提供し得る。ソルトデータベース８０８からの第２のソルトは、ユーザ名４０４とともにハッシュアルゴリズム１３６に提供され、第３の動作８２０では、第２のキーインデックス８１６ｂを構成する、別のシステムファイル１４４の位置を決定し、アクセスを取得し得る。第２のキーインデックス８１６ｂは、第２の一組のコンテンツ又はデータファイル１４８ｂへのアクセスに必要なインデックス情報を含み得る。さらに、第１のユーザ名４０４及び第１のパスワード４０８は、プライベートキーソルト４１４と組み合わせられ、第４の動作８２２では、位置モジュール１３２によってハッシュアルゴリズムに提供され、第１のプライベートキーファイル８２４ａの位置を決定し、アクセスを達成し得る。第１のプライベートキーファイル８２４ａは、第１のキーインデックス８１６ａ及び第２のキーインデックス８１６ｂの一部としてインデックスされる、コンテンツ１４８ａ及び１４８ｂへのアクセスに必要なプライベートキーを含み得る。
【００２９】
さらに、第１のユーザ名４０４は、第２の秘密入力（この例では第２のパスワード）４０８と組み合わされ、データサブシステム８００ｂを確立し、アクセスすることと関連して、位置モジュール１３２によってハッシュアルゴリズム１３６に提供され得る。例えば、第５の動作８２８では、第１のユーザ名４０４及び第２のパスワード４０８は、第１のソルト４１４とともにハッシュアルゴリズム１３２に提供され、第３のキーインデックス８１６ｃの位置が決定され、アクセスが達成され得る。第３のキーインデックス８１６ｃは、関連する一組のコンテンツ又はデータファイル１４８ｃへのアクセスに必要なインデックス情報を含み得る。さらに、第３のキーインデックス８１６ｃを通じてアクセスされる一組のコンテンツ又はデータファイル１４８ｃは、第１のキーインデックス８１６ａ及び第２のキーインデックス８１６ｂと関連する一組のコンテンツ１４８ａ及び１４８ｂから、全く独立であってよい。実際、この例における唯一の共通点は、第１のユーザ名４０４はデータサブシステム８００ａ及び８００ｂの両方のアクセス及び配置に使用されることと、データサブシステム８００ａ及び８００ｂの両方は同じクライアントアプリケーション１２８に関連していることである。第６の動作８３２では、第１のユーザ名４０４及び第２のパスワード４０８は、プライベートキーソルト４１４と組み合わせられ、第２のプライベートキーファイル８２４ｂの位置が決定され、アクセスされる。その第２のプライベートキーファイル８２４ｂは、例えば、第３のキーインデックス８１６ｃによってインデックスされるデータファイル１４８ｃへのアクセスに必要なプライベートキーを含む。
【００３０】
図９は、本発明の実施形態による別の例示的なシステム１００の態様を示している。このシステム１００では、第１のユーザ名４０４は、第１の秘密入力４０８ａ、第２の秘密入力４０８ｂ、又はその両方と組み合わされ、異なる複数のデータセットにアクセスがされ得る。例えば、工程９０４ではハッシュアルゴリズム１３２を使用し、ユーザ名４０４
、秘密入力４０８ａの第１のアイテム、及び第１のソルト４１４を組み合わせることによって、第１のキーインデックス９０８ａは、位置が突き止められ、アクセスされ得る。第１のキーインデックス９０８ａは第１の一組のコンテンツ１４８ａを指し得る。
【００３１】
さらなる態様では、第２の工程９１２において、ユーザ名４０４、第１の秘密入力４０８ａ、第２の秘密入力４０８ｂ、及び第１のソルト４１４をハッシュアルゴリズム１３２に提供することによって、第２のキーインデックス９０８ｂは、位置が突き止められ、アクセスされ得る。第２のキーインデックス９０８ｂは、第２の一組のコンテンツ１４８ｂを指し得る。したがって、追加の秘密入力４０８を提供することによって、異なる複数の位置がファイルシステム１４０において生成され、アクセスされ得る。さらに、本発明の実施形態では、特定のハッシュ位置を生成するために、代替の又は追加の秘密入力４０８が一定の順序で入力されることが必要とされ得る。例えば、特定のハッシュ位置にアクセスするために必要とされる複数の秘密入力４０８が間違った順序で入力された場合、第１のシステムファイルについて位置が突き止められないであろう。
【００３２】
図１０は、本発明の実施形態による例示的なファイルシステム１４０のコンテンツを示している。示すように、ファイルシステム１４０は、データ記憶部１２４において確立される、ルートディレクトリ１００４又は１つ若しくは複数のサブディレクトリ１００８ａ若しくは１００８ｂのいずれかにおいて、複数のファイル１４２を含み得る。さらに、それらのファイル１４２は、システムファイル１４４及び１４８を含み得る（これらのタイプのファイル１４２同士の明確な区別なく）。特定のファイル１４２が配置されるディレクトリ１００４又はサブディレクトリ１００８ａ若しくは１００８ｂは、入力データのハッシュアルゴリズム１３６への適用による位置モジュール１３２の動作を通じて決定される。例えば、ハッシュアルゴリズムへのデータファイル１４８のファイル名及びソルトの入力により位置モジュールが“ＡＣＡＦＡＧ”の値を返す結果が得られた場合には、データファイル１４８はディレクトリＡＣそしてサブディレクトリＡＦに配置され、ＡＧと再命名される。均質化された位置及び名前は、同じ動作においてそのように生成され得る。さらに、ファイルシステム１４０のディレクトリの構造によって、重要なファイル１４２の位置を突き止めるためにハッカーによって使用され得る情報は提供されない。さらに、ディレクトリ１００４並びに１００８ａ及び１００８ｂ並びにファイル１４２の名前は均質化されている。特に、サブディレクトリ１００８ａ及び１００８ｂ並びにファイル１４２は、互いに固有の区別され得る名前、過去の名前、又はその両方を有しているが、適用される命名規則（ここでは、２文字の名前を割り当てること）によって、ファイル１４２のコンテンツに関する情報は潜在的なハッカーに対して提供されない。同様に、サイズ情報１０１２の列において、ファイルサイズの全てが選択された範囲に属するように、ファイルサイズは均質化されている。さらに、システムのセキュリティに重要なファイルを他のファイルから区別するためにハッカーによって使用され得る情報が不明瞭にされる。同様に、重要なシステムファイル１４４を識別するためにハッカーによって使用される場合がある情報を除去すべく、各ファイル１４２に関連する日付１０１６は均質化されている。
【００３３】
本発明の実施形態によるシステム１００は、関連するファイル１４２をコンピュータ１０４に対してロックする特徴も備え得る。そのような実施形態によると、コンピュータ１０４と関連する装置識別子（ＩＤ）は、ハッシュアルゴリズム１３６に提供される入力の一部として使用される。したがって、他の装置のＩＤは同じハッシュアルゴリズムの出力を生成しない（たとえハッシュアルゴリズム１３６に対する他の入力が同じとしても）。
【００３４】
本明細書に含まれるシステム１００の記述によって、開示されたセキュアファイルシステムについてのある配置及び実施形態が例として提供されている。しかしながら、本発明の実施形態は、具体的に示されたそれらに限定されない。例えば、当業者によって認識さ
れ得るように、システム１００の構成要素の他の物理的な配置は、本明細書に開示のセキュアファイルシステム１４０の提供に関連して利用され得る。さらに、記述には装置又はコンピュータ１０４に実装されるセキュアファイルシステム１４０の例が含まれているが、セキュアファイルシステム１４０は分散システムに関連して実装されてもよい。例えば、本発明の実施形態は、データ記憶部１２４と結合したクラウド又は特定のネットワークによってデータ記憶部１２４に提供される変形を含み得る。さらに、データ記憶部１２４は複数の記憶装置を備え得る。例えば、ＲＡＩＤシステムとして構成された又は他の協調した一組の記憶装置１２４である。
【００３５】
さらに、クライアントアプリケーション１２８、位置モジュール１３２、及びハッシュアルゴリズム１３６等の、ある例示的なアプリケーション及びモジュールが示され、記載されている。本開示の考慮の後の当業者によって認識され得るように、そのような構成要素又はモジュール及びそれらの互いの関係は改変され得る。特に、そのような構成要素の記述は、システム１００及びその動作の理解に役に立つと考えられる一方、本発明によるシステム１００又は処理には、提供された例において記述されたようなセグメントによって分けられている構成要素及びモジュールを含むことは必ずしも必要とされない。
【００３６】
本発明についての以上の議論は、例示及び記述の目的のために提示されてきている。さらに、記述は、本発明を本明細書に記載した形態に限定することを意図されていない。したがって、以上の教示と相応した変形及び改変は、関連技術の技能又は知識の範囲内においては、本発明の範囲内にある。以上に記述された実施形態には、さらに、本発明の実施に現在知られるベストモードを説明することと、当業者がそのような又は他の実施形態において、特定の用途又は本発明の使用によって必要とされる様々な改変とともに本発明を利用することを可能にすることとが意図されている。添付の特許請求の範囲は、先行技術により許容される限度で代替の実施形態も含むと解されることが意図されている。
【図１】
2014516448.tif 000003
【図２】
2014516448.tif 000004
【図３】
2014516448.tif 000005
【図４】
2014516448.tif 000006
【図５】
2014516448.tif 000007
【図６】
2014516448.tif 000008
【図７】
2014516448.tif 000009
【図８】
2014516448.tif 000010
【図９】
2014516448.tif 000011
【図１０】
2014516448.tif 000012
【国際調査報告】
2014516448.tif 000013