JP2014516448A - セキュアなデータ記憶 - Google Patents
セキュアなデータ記憶 Download PDFInfo
- Publication number
- JP2014516448A JP2014516448A JP2014508479A JP2014508479A JP2014516448A JP 2014516448 A JP2014516448 A JP 2014516448A JP 2014508479 A JP2014508479 A JP 2014508479A JP 2014508479 A JP2014508479 A JP 2014508479A JP 2014516448 A JP2014516448 A JP 2014516448A
- Authority
- JP
- Japan
- Prior art keywords
- file
- data
- hash algorithm
- output
- location
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/14—Protection against unauthorised use of memory or access to memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3226—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
重要なシステムファイルの位置を不明瞭にするための方法及びシステムが提供される。特に、ファイルシステムに記憶されるファイルの位置は、様々な入力をハッシュアルゴリズムに適用することによって選択される。システムファイルに関しては、ハッシュアルゴリズムに対して適用される入力は、ユーザ名及びパスワードを含み得る。データファイル関しては、ハッシュアルゴリズムに対して提供される情報は、ファイル名を含み得る。ランダムなファイルの位置を提供することに加え、本発明の実施形態によるファイルシステムは、ファイル名、サイズ、及び作成日時を含む他の情報を均質化し得る。
Description
セキュアなデータ記憶を提供するためのシステム及び方法が開示される。より詳細には、重要なシステムファイルの位置を分かり難く(難読化)するファイルシステムが提供される。
コンピュータシステム及びデータシステムのセキュリティは重要な要件である。データを電子的にセキュアに記憶するために、様々な技術が使用されてきた。例えば、データに対する物理的なアクセスが制限され得る。しかしながら、データを物理的に分離することは不便であり、データに対するリモートアクセスと、クラウドベースコンピューティングとが標準的なものとなるにつれて、ますます非現実的となってきている。
電子データをセキュアにするための他の技術には、パスワードの利用及び暗号化が含まれる。ユーザがシステムに対するアクセスを許可される前に、パスワードが要求されることがある。多くの暗号化方式は、セキュアにすべきデータを暗号化鍵を使用してスクランブルすることによって機能する。したがって、保護されたデータへのアクセスには、必要とされるパスワードの提供、適切なアルゴリズムの使用、及びデータを暗号化するために使用された鍵(キー)に対する相補的な(compliment)鍵すなわちペア鍵が必要とされ得る。パスワード、暗号化アルゴリズム、及び鍵の長さによっては、そのように保護されたデータにアクセスすることは非常に困難となる。しかしながら、そのようなシステムの1つの欠点は、ハッカー又は他の権限のない者が、必要なパスワード、鍵又はその両方を取得すると、その者は暗号化されたデータに対して完全にアクセスできることである。
暗号化鍵を利用するシステムの別の欠点は、暗号化鍵を含むファイルは比較的小さなファイルに含まれている可能性が高いので、ハッカーは、暗号化された情報にアクセスを望むとき、比較的小さなファイルを分析することによって攻撃を始められることである。さらに、ハッカーは、システム初期化の日時又はその近くに生成されたファイルに集中し得る(そのようなファイルはキーストアを含む又はキーストアの場所を示す(point)システムファイルを含む可能性があるので)。
このようにして、攻撃を集中する対象となる情報の量を限定することによって、暗号化されたファイルシステムのセキュリティを打ち破ることがより容易となる。
このようにして、攻撃を集中する対象となる情報の量を限定することによって、暗号化されたファイルシステムのセキュリティを打ち破ることがより容易となる。
本開示の発明の実施形態は、先行技術のこれら及び他の問題及び欠点を解決することを目的としている。本発明の実施形態によると、明白に均質化された又は難読化されたファイルのシステムが提供される。そのファイルシステムでは、少なくともいくつかのシステムファイル、データファイル、又はその両方について、それらのファイルがシステムに記憶される際、ランダムな記憶位置を利用する。これによって、データ又はコンテンツのロックを解除するために必要なキーを含むファイル等、セキュアシステムデータに使用される情報を含むファイルの位置をハッカーが突き止めることがより困難になる。
本発明の実施形態によると、難読化されたファイルのシステム又は構造を実装するクライアントアプリケーション又はシステムアプリケーションは、システムによって作成され又はシステムに記憶されるファイルを固有のハッシュ化されたファイル位置に配置する。
この位置はセントラルインデックスに記憶され、使用されない時は他のファイルと同様にファイルシステムにおいて暗号化され、記憶されている。さらに、セントラルインデックスの位置は、明らかな又は周知の位置に記憶されない。特に、各異なるユーザに対し、セントラルインデックスの位置に関して異なるハッシュが生成される。セントラルインデックスの位置は、秘密のデータ又は入力と、既知のデータ又は入力との組み合わせに基づいて計算され得る。秘密のデータ又は入力は、パスワードを含み得るが、これに限定されない。したがって、本開示においては秘密入力を指してパスワードが用いられることが度々あるが、本開示の実施形態にはパスワード以外の形態の秘密入力を使用することができる。したがって、例として、セントラルインデックスの位置は、システムユーザに関するユーザ名及びパスワードに基づいて計算され得る。別例として、セントラルインデックスの位置は、プライベートキー又は他の秘密のデータ又は入力を含む入力から計算され得る。したがって、セントラルインデックスの位置の計算は、ユーザのパスワード等の秘密の情報の知識に依存する。さらに、このような構成によって、異なる複数のユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方に対し、異なる複数のセントラルインデックス及びインデックス位置が可能となると同時に、異なるユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方同士におけるセキュリティが維持される。
この位置はセントラルインデックスに記憶され、使用されない時は他のファイルと同様にファイルシステムにおいて暗号化され、記憶されている。さらに、セントラルインデックスの位置は、明らかな又は周知の位置に記憶されない。特に、各異なるユーザに対し、セントラルインデックスの位置に関して異なるハッシュが生成される。セントラルインデックスの位置は、秘密のデータ又は入力と、既知のデータ又は入力との組み合わせに基づいて計算され得る。秘密のデータ又は入力は、パスワードを含み得るが、これに限定されない。したがって、本開示においては秘密入力を指してパスワードが用いられることが度々あるが、本開示の実施形態にはパスワード以外の形態の秘密入力を使用することができる。したがって、例として、セントラルインデックスの位置は、システムユーザに関するユーザ名及びパスワードに基づいて計算され得る。別例として、セントラルインデックスの位置は、プライベートキー又は他の秘密のデータ又は入力を含む入力から計算され得る。したがって、セントラルインデックスの位置の計算は、ユーザのパスワード等の秘密の情報の知識に依存する。さらに、このような構成によって、異なる複数のユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方に対し、異なる複数のセントラルインデックス及びインデックス位置が可能となると同時に、異なるユーザ、ユーザ名及びパスワードの組み合わせ、又はその両方同士におけるセキュリティが維持される。
セントラルインデックスの位置は、ファイルの位置を計算すべくユーザの名前及びパスワード、ソルト、並びに任意的な追加の固有の情報が与えられ得るハッシュ関数若しくはハッシュアルゴリズムによって、又はハッシュ関数に秘密の又は既知のデータの組み合わせを与えることによって決定される。そのようにファイルの位置が決定されると、この位置及びパスワードは、そのパスワード又は他の秘密データを使用し、その位置に見出されるファイルを解読することによって検証され得る。解読ができなかったか、又はファイルが決定された位置に見出されなかった場合、入力データが無効であったと結論づけられ得る。この検証によって、読出可能な方法で正確なパスワードを永久に記憶する必要性や、システムファイルが標準の又は既知の位置に記憶される必要性が除去される。したがって、パスワード又は他の秘密のデータ又は入力は、ファイル配置機構の重要な部分であるとともに、そのファイルを解読するキーの重要な部分である。
本発明のさらなる実施形態によると、1人のユーザは、様々な目的のために異なる複数のパスワード又は秘密入力を使用し得る。例えば、第1のパスワード又は秘密入力によって、システムのロックは正常に解除され得る。第2の、異なるパスワード又は秘密入力は、タスクを処理すべく実行されるスクリプトにアクセスし開始すべく使用され得る。タスクの一例は、第2のパスワード又は秘密入力が脅迫信号(duress signal)として設定されている場合、システムのワイプを実行し、警告メッセージを送信するバックグラウンドのタスクである。第3のパスワード又は秘密入力は、代替のシステムコンテンツインデックスのロックを解除するために確立され得る。したがって、様々なデータセットがシステムに同時に記憶され得る。さらに、この様々なデータセットに関する相互関係や知識は、他のデータセットには不要である。さらに他の実施形態によると、第1のパスワード又は秘密入力は、第1のコンテンツインデックスにアクセスするために必要とされ得る。この第1のコンテンツインデックスにアクセスした後、第2のパスワード又は秘密入力が提供された場合にさらなるコンテンツがアクセスされ得る。ここで、そのさらなるコンテンツは、第2のコンテンツインデックスを通じてアクセスされ、当該第2のコンテンツインデックスは、位置を計算し、コンテンツを解読するために、第1のパスワード又は秘密入力と、第2のパスワード又は秘密入力との両方を必要とし得る。この原理は、n個のパスワード又は秘密入力に拡張され得る。さらに別の例として、様々なアルゴリズム、秘密入力に対する様々なソルトの追加、又はその両方は、様々なファイルの位置を計算するために利用され得る。例えば、いずれもであっても1つのパスワード又は秘密入力の入力に応じて、1つのハッシュソルトはセントラルインデックスのロックを解除するために使用され、別のハッシュソルトは、セントラルインデックスとは異なる位置に存在す
る非対称プライベート暗号化鍵のロックを解除するために使用され得る。さらに他の実施形態では、
同じ装置識別子を報告する特定の装置又はシステムによってのみファイルのコピーにアクセスが可能となることを確実にするべく、その装置の識別情報及び他の装置特有の情報ハッシュアルゴリズムの入力と混合されることも可能である。
る非対称プライベート暗号化鍵のロックを解除するために使用され得る。さらに他の実施形態では、
同じ装置識別子を報告する特定の装置又はシステムによってのみファイルのコピーにアクセスが可能となることを確実にするべく、その装置の識別情報及び他の装置特有の情報ハッシュアルゴリズムの入力と混合されることも可能である。
さらに、全てのデータファイルの位置は、ハッシュアルゴリズムの適用を通じて決定され得る。より詳細には、ファイル名及びソルトがハッシュアルゴリズムに提供され得る。これらの入力から、ハッシュアルゴリズムはデータファイルに関してファイルの位置を計算する。計算された位置がまだ占有されていない場合には、データファイルはその計算された位置に記憶される。
本発明の他の実施形態によると、さらにシステムファイルを不明瞭にする又は均質化する処置が取られ得る。例えば、システムファイル及びデータファイルの名前は、均質化され得る。さらなる例として、全てのファイルが互いに同じ又は同様のサイズを有するように、ファイルは複数のチャンクに分割されるか又はパディングされ得る。共通したファイルサイズは所与のサイズであってもよく、又はシステムに記憶されているファイルの平均サイズ若しくは共通のサイズを表すサイズであってもよい。あるいは、又はさらに、ダミーのファイルが生成され得る。さらに他の実施形態によると、ファイルは、インデックスファイル位置を決定するために使用されるアルゴリズムによって、ディレクトリ及びサブディレクトリのツリーに配置され得る。さらに他の実施形態によると、ファイルに関連する日時は、直接的に又はファイルの再生成を通じて変更され得る。
本発明の実施形態の追加の特徴及び利点は、以下の記述から、特に添付の図面とともに考慮されると、より容易に明白になるであろう。
図1は、本発明の実施形態によるセキュアファイルシステムの組み込まれたシステム100の構成要素を示している。システム100はコンピュータ104によって実装され得る。すなわち、システム100はコンピュータ104に関連して実装され得る。コンピュータ104は特定の型又は種類の装置に限定されない。例えば、本明細書において使用されるように、コンピュータ104は、汎用コンピュータ、パーソナルコンピュータ、サーバコンピュータ、ワークステーション、専用データ記憶システム若しくはネットワーク接続記憶システム、スマートフォン、タブレットコンピュータ、ゲーム機、産業制御システム、又はファイルシステムにおけるファイルのセット若しくは集合として記憶されているデータを含む若しくは関連する他の装置を含み得る。さらに、システム100は、複数の相互に接続された装置と、統合された、外部の又はその両方のデータ記憶システムとを含
み得るが、必ずしも含む必要はない。
図1は、本発明の実施形態によるセキュアファイルシステムの組み込まれたシステム100の構成要素を示している。システム100はコンピュータ104によって実装され得る。すなわち、システム100はコンピュータ104に関連して実装され得る。コンピュータ104は特定の型又は種類の装置に限定されない。例えば、本明細書において使用されるように、コンピュータ104は、汎用コンピュータ、パーソナルコンピュータ、サーバコンピュータ、ワークステーション、専用データ記憶システム若しくはネットワーク接続記憶システム、スマートフォン、タブレットコンピュータ、ゲーム機、産業制御システム、又はファイルシステムにおけるファイルのセット若しくは集合として記憶されているデータを含む若しくは関連する他の装置を含み得る。さらに、システム100は、複数の相互に接続された装置と、統合された、外部の又はその両方のデータ記憶システムとを含
み得るが、必ずしも含む必要はない。
本発明の実施形態によるシステム100の一部又は全部を実装するコンピュータ104は、一般にプロセッサ108及びメモリ112を備えている。さらに、コンピュータ104は、1つ又は複数のユーザ入力装置116と、1つ又は複数のユーザ出力装置120とを備え得る。コンピュータ104は、一般にデータ記憶部124も含む。さらに、外部記憶装置を含む他のコンピュータ又は装置に直接的に又はネットワークを介してコンピュータ104を容易に相互接続するために、通信インタフェース126が提供されてもよい。
プロセッサ108は、ソフトウェア又はファームウェアに符号化されている命令を処理又は実行することができるプロセッサを備え得る。本発明の他の実施形態によると、プロセッサ108は、論理回路に符号化されている命令を有する又は実行できる制御装置又は特定用途向け集積回路(ASIC)を備え得る。メモリ112は、例えば、プロセッサ104によるコード又は命令の実行と関連して、プログラム、データ又はその両方を記憶するために使用され得る。例としてメモリ112は、RAM、SDRAM、又は他のソリッドステートメモリから構成されてもよい。一般に、ユーザ入力装置116は、ユーザがパスワードと、ユーザ名等の他の情報とを入力できるコンピュータ104の部分として含まれる。コンピュータ104の部分として提供され得るユーザ入力116の例は、キーボード、キーパッド、スピーカ、バイオメトリック入力装置、マウス、又は他の位置エンコーダ(position encoding device)等を含む。ユーザ出力120は、例えば、ディスプレイ、スピーカ、インジケータ灯等を含み得る。データ記憶部124は、一般にプログラム及びデータのための記憶部を備え得る。メモリ112と同様、データ記憶部124はソリッドステート装置から構成されてもよい。あるいは、又はさらに、データ記憶部124は、ハードディスクドライブ、テープドライブ、又は他のアドレス指定可能な記憶装置若しくは一組の記憶装置から構成されてもよいが、それらに限定されない。さらに、データ記憶部124は、コンピュータ104に統合された構成要素として、又は相互接続されたデータ記憶装置若しくはシステムとして提供され得る。データ記憶部124は、位置モジュール132を備える又は実装するクライアントアプリケーション128に対して記憶部を提供し得る。位置モジュール132は、一般に、様々な入力に基づいてデータ記憶部におけるファイル位置を決定し、本明細書に記載される重大なシステムファイルの位置、アイデンティティ又はその両方を不明瞭にするための他の機能を実行するために動作する。位置モジュール132は、ファイル記憶位置の生成と、記憶されたファイルにアクセスすることとに関連して使用されるハッシュアルゴリズム136を含む。さらに、データ記憶部112は、ファイルシステム140のための記憶部を備え得る。本明細書の他の箇所においてより詳細に記載するように、ファイルシステム140は、位置モジュール132の動作によって決定される位置に配置された複数のファイル142を含む。これらのファイル142は、システムファイル144及びデータファイル148を含み得る。さらに、データ記憶部124は、オペレーティングシステムソフトウェア148と、他のアプリケーション又はデータとを記憶し得る。
図2は、本発明の実施形態による位置モジュール132の組み込まれたクライアントアプリケーション128の動作の態様を示している。初めに、工程200では、クライアントアプリケーション128が動作する又はクライアントアプリケーション128に関連するコンピュータ104のファイルシステム140に配置するべく、ファイル142を受信する。工程204では、受信されたファイル142がシステムファイルであるかデータファイルであるかに関して判定がされる。ファイル142がシステムファイル144の場合には、クライアントアプリケーション128はユーザ名及び秘密入力を得る(工程208)。例として、秘密入力はユーザパスワードの場合がある。ユーザ名及び秘密入力を得ることには、ユーザによるユーザ入力116を通じたユーザ名及び秘密入力の提供を要求するために、ユーザ出力120を通じてユーザに対して表示されるプロンプトの提供をする
ことが含まれ得る。ユーザ名及び秘密入力が以前に入力されている場合には、それらのアイテムを得ることには、メモリ112、データ記憶部124又はその両方からそれらを読み出すことが含まれ得る。次に、ユーザ名及び秘密入力は、ハッシュアルゴリズム136に提供され、ハッシュアルゴリズム136は、データ記憶部124のファイルシステム140にシステムファイル144が置かれる位置を決定すべく、動作させられる(工程212)。ハッシュアルゴリズム136の実行に関連して、ソルトが追加の入力として提供され得る。ソルトはクライアントアプリケーション128、特に位置モジュール132によって維持され得る。次に、ハッシュアルゴリズム136から得られた出力は、システムファイル144が置かれる位置を決定するために使用され得る。
ことが含まれ得る。ユーザ名及び秘密入力が以前に入力されている場合には、それらのアイテムを得ることには、メモリ112、データ記憶部124又はその両方からそれらを読み出すことが含まれ得る。次に、ユーザ名及び秘密入力は、ハッシュアルゴリズム136に提供され、ハッシュアルゴリズム136は、データ記憶部124のファイルシステム140にシステムファイル144が置かれる位置を決定すべく、動作させられる(工程212)。ハッシュアルゴリズム136の実行に関連して、ソルトが追加の入力として提供され得る。ソルトはクライアントアプリケーション128、特に位置モジュール132によって維持され得る。次に、ハッシュアルゴリズム136から得られた出力は、システムファイル144が置かれる位置を決定するために使用され得る。
工程204においてファイル142がデータファイル148であると判定された場合には、クライアントアプリケーション128、特に位置モジュール132は、データファイル148の名前を得るべく動作する(工程220)。データファイル148の名前は、そのファイル148の作成時の当該データファイル148に関連した名前の場合がある。あるいは、データファイル148の名前は、クライアントアプリケーション128の位置モジュール132によって割り当てられ得る(例えば、ファイルシステム140にデータファイル148を記憶するタスクがクライアントアプリケーション128に割り振られた後)。したがって、均質化に係る命名規則は、位置モジュール132によって適用され得ることについて、本明細書の他の箇所においてより詳細に記載される。工程224では、位置モジュール132は、ファイル名220をハッシュアルゴリズム136に提供する。そのハッシュアルゴリズムは、ファイル位置を決定するために使用される値を取得すべく実行される。ハッシュアルゴリズム136の実行に関連して、ソルトが適用され得る。そのソルトは、システムファイル144の位置の決定に関連して使用されたソルトと同じであっても異なっていてもよい。
上述の通り、位置モジュール132のハッシュアルゴリズム136は、ファイルシステム140において対象のファイル142が配置される位置を決定するのに用いられる値を生成するべく動作する。ハッシュアルゴリズム136の実行によって生成された値は、ランダム又は擬似ランダムな値として特徴を有し得る。その値は、ファイルシステム140における位置として使用されるために翻訳又は変換を必要とする場合がある。したがって、工程228では、位置モジュール132は、ハッシュアルゴリズム136の出力に基づいてファイル142を配置する、ファイルシステム140における位置を決定すべく動作する。ファイル142の位置を決定することは、ハッシュアルゴリズム136によって生成された値をパースすること、生成された値のセグメントを翻訳すること、並びにファイルシステム140におけるディレクトリ及びサブディレクトリを作成することのうちの少なくとも1つを含み得ることについて、本明細書の他の箇所においてより詳細に記載される。
工程232では、以前に記憶されたシステムファイル144又はデータファイル148等のファイルが決定されたファイル位置を既に占有しているかに関して判定がされる。別のファイルが決定された位置を既に占有している場合には、ファイル142を適切な位置に配置するための処置が取られる。例えば、システムファイル144が記憶されており、かつ、衝突がデータファイル148とのものであると判定された場合(工程236)、データファイル148は移動され(工程240)、システムファイル144は決定された位置に記憶される。あるいは、記憶されるファイルがデータファイル148であり、かつ、以前に記憶されたファイル142との衝突が存在すると判定された場合(工程244)、衝突に係るアルゴリズムは、新しい位置を計算するために適用され得る(工程248)。さらに別の代替として、工程252において記憶されるファイルが受信されたシステムファイル144であると判定され、かつ、別のシステムファイル144が決定された位置に既に存在する場合には、処理は工程208に戻り得る。その工程208では、新たな位置
を計算し得るように、ユーザは追加の入力を求められる。特に再計算は、ユーザに他の秘密の入力又はデータの提供を求めることを含み得る。工程252において、受信されたシステムファイル144と、別のシステムファイル144との間の衝突が検出されない場合には、システムエラー信号が示される(工程254)。
を計算し得るように、ユーザは追加の入力を求められる。特に再計算は、ユーザに他の秘密の入力又はデータの提供を求めることを含み得る。工程252において、受信されたシステムファイル144と、別のシステムファイル144との間の衝突が検出されない場合には、システムエラー信号が示される(工程254)。
ファイル142に対して決定された位置がまだ占有されていない場合には、ファイル142はファイルシステム140における決定された位置に記憶される(工程256)。ファイル142を工程240,248,256のうちの1つにおいて記憶した後、対象のファイルがデータファイル148であるかに関して判定がされる(工程260)。対象のファイルがデータファイル148の場合には、そのデータファイル148の位置に関する情報は適用可能なシステムインデックスに記憶される(工程264)。対象のファイルがシステムファイル144の場合には、システムファイル144の位置は記憶されない。代わりに、システムファイル144の位置は、システムファイル144がデータ記憶部124から読み出される毎に、提供されるユーザ名及びパスワード情報から生成される。当該システムファイル144は、例えば、データファイル148の位置を含む、ファイルシステム140のインデックスを含み得る。
図3は本発明の実施形態による例示的なシステムファイル144の読出処理の態様を示している。特に、工程304では、クライアントアプリケーション128は、必要なユーザ入力を得る。この必要な入力は、ユーザ名と、秘密入力すなわちアクセスされるファイルシステム140に関連するデータとを含み得る。次に、ハッシュアルゴリズム136が実行され、システムファイル144の位置が生成される(工程308)。本開示を考慮した後、ハッシュアルゴリズム136によるシステムファイル144の位置の生成には、システムファイル144の位置を当初に決定するのに使用されたのと同じユーザ名及び秘密入力、並びにソルト(存在する場合)が読出処理の一部として提供されることが必要とされることが当業者によって認識され得る。
工程312では、決定された位置にシステムファイル144が存在するかに関して判定がされる。ファイルがその位置に存在しない場合には、エラーが示され(工程316)、処理は工程304に戻る。決定された位置にシステムファイル144が見出された場合には、提供された入力又は計算された入力由来物(derivative)を使用してシステムファイル144は解読され得る(工程320)。したがって、システムファイル144が記憶される位置の決定に使用されたユーザ入力の一部又は全部は、システムファイル144を解読するために使用され得る。工程324では、システムファイル144の解読が成功したかに関して判定がされる。解読が成功しなかった場合には、エラーが宣言され(工程316)、処理は工程304に戻る。解読が成功した場合には、システムファイル144のコンテンツは、クライアントアプリケーション128に戻される(工程328)。例えば、システムファイル144がシステムインデックスから構成される場合、システムファイル144が解読され、そのコンテンツがクライアントアプリケーション128に対して提供され又は利用可能となれば、クライアントアプリケーション128によって、ファイルシステム140におけるデータファイル148の位置に関する情報が読み出され得る。
図4は、本発明の実施形態によるシステムファイル144の位置の決定の特徴を示している。特に図4は、ユーザ入力(ユーザ名404及び秘密の入力又はデータ408を含む)のハッシュアルゴリズム136への提供を示している(工程412)。ハッシュアルゴリズム136はソルト414も受信し得る。ソルト414は、例えば配置されるシステムファイル144のアイデンティティによっては、変化し得る。例えば、第1のソルト414は、システムインデックスの記憶のために適用され得る。他方、第2のソルト414は、代替システムインデックス又はキーストアの配置のために使用され得る。ハッシュアル
ゴリズム136は工程412において、提供された入力404,408,416を使用して実行され、システムファイルの位置が生成される(工程416)。システムファイル144の位置は、ハッシュアルゴリズム412の出力から直接的に、又はハッシュアルゴリズム136の出力の変換を通じて取得され得る。図4に示されているシステムファイル144を配置するための処理は、システムファイル144が記憶されるか又はアクセスされるかについて続けられ得る。さらに、システムファイル144の位置は、入力、例えばユーザ名404、秘密データ408、又はその両方が変更される毎に変更される。
ゴリズム136は工程412において、提供された入力404,408,416を使用して実行され、システムファイルの位置が生成される(工程416)。システムファイル144の位置は、ハッシュアルゴリズム412の出力から直接的に、又はハッシュアルゴリズム136の出力の変換を通じて取得され得る。図4に示されているシステムファイル144を配置するための処理は、システムファイル144が記憶されるか又はアクセスされるかについて続けられ得る。さらに、システムファイル144の位置は、入力、例えばユーザ名404、秘密データ408、又はその両方が変更される毎に変更される。
図5は、本発明の実施形態によるデータファイル148の位置の決定の態様を示している。初めに、データファイル148の名前が取得される(工程504)。そのデータファイルの名前は、クライアントアプリケーション128の位置モジュール132によって当該ファイル148に割り当てられた名前であってよい。あるいは、その名前は、別のシステム又はアプリケーションによって当該データファイル148に割り当てられた名前であってよい。そのファイル名と、任意のソルト414とは、ハッシュアルゴリズム136に提供され、そのハッシュアルゴリズム136は動作し出力を生成する(工程508)。次に、出力はデータファイル148の位置の決定のために適用される(工程512)。位置はハッシュアルゴリズム136の出力から直接的に導出されてもよい。又は、位置は、位置モジュール132によって実行される、ハッシュアルゴリズム136の出力の何らかの変換であってよい。工程516では、データファイル148の位置が適切なシステムインデックスに記憶される。したがって、ファイルシステム140に記憶されたデータファイル148は、第1に適切なシステムファイル144(すなわちシステムインデックス)からデータファイル148の位置を取得することによってアクセスされる。これによって、異なる複数のソルトが異なる複数のデータファイル148に対して適用され得る。さらに、位置モジュール132も、ファイルシステム140も、特定のデータファイル148の記憶と関連して使用される特定のソルト414を追跡し又は記録することが必要とされない。
図6は、本発明の実施形態によるシステム100の他のファイル難読化の特徴を実装するための処理を示している。特に、これらの特徴は、ファイル142の名前の均質化又は正規化を含み得る。すなわち、ファイル142のサイズの均質化又は正規化と、ファイル142に関連する作成時の均質化又は正規化とである。これらの手続きは、ファイルシステム140における記憶部に対するファイル142の受信の際に開始され得る(工程604)。工程608では、ファイル名が正規化されているかどうか、又はクライアントアプリケーション128の位置モジュール132によって実装される均質化に係る命名規則に別様にしたがっているかに関して判定がなされ得る。ファイル名が正規化されていない場合には、ファイル142は再命名される(工程612)。再命名は、ファイル142に対してランダムな名前、擬似ランダムな名前、又は別様に特徴的でない名前を割り当てることを含み得る。限定するものとしてではなく例として、位置モジュール132は、ファイルと、フォルダ又はディレクトリとに対して、プラットホームに依存しない文字から構成される名前を割り当てることによって、個々のファイル142のアイデンティティを難読化できる。例えば、AからZまでの文字及び0から9までの数字である。さらに、ファイル及びフォルダの名前を、いくつかの指定された文字数、例えば2に限定することができる。ファイル名における文字数を限定することは、フォルダ又はディレクトリにおけるファイルの最大数に関し、あるオペレーティングシステム152に暗に存在する制限にしたがうことにおいても有益な場合がある。最大で2文字を有するファイル名の使用によってファイル数として可能性のある数が利用可能なファイル数を超え得る場合に、ファイルシステム140におけるファイル142の総数が命名規則によって制限されないように、入れ子になったファイル又はディレクトリが使用され得る。さらに、ファイル142を命名するために個々のファイル142に割り当てられる文字は、ランダムに又は擬似ランダムに選択され得る。さらに、ファイル名はケースインセンシティブであってよい。いくつか
又は全ての処置を適用することによって、比較的に特徴的ではなく均質化された名前のファイル142の集まりを有するファイルシステム140が得られる。
又は全ての処置を適用することによって、比較的に特徴的ではなく均質化された名前のファイル142の集まりを有するファイルシステム140が得られる。
工程616では、ファイル142のサイズが選択されたサイズよりも小さいかに関して判定がされ得る。ファイル142のサイズが選択されたサイズよりも小さい場合には、ファイル142のパディングが行われ(padded)、ファイルサイズを選択されたサイズ又はそれに近いサイズにし得る(工程620)。工程624では、ファイル142のサイズが選択されたサイズよりも大きいかに関して判定がされ得る。サイズが選択されたサイズよりも大きい場合には、ファイル142はチャンクが行われ(chunked)得る、すなわち複数のより小さなファイル142へと分解され得る(工程628)。ファイル142をいくつかの塊に分けることは、選択されたサイズよりもサイズが小さな残りのファイルにパディングを行うことを含んでいてもよい。本明細書で使用されているように、選択されたサイズは所与のファイルサイズであってよい。あるいは、選択されたサイズは、ファイルシステム140における平均的なファイルサイズから決定されてもよい。さらに別の実施形態によると、選択されるサイズは、少なくとも部分的には、ファイルシステム140が実装されている又は関連する装置104の制限に基づいて決定され得る。そのような制限は、オペレーティングシステム152の制限と、データ記憶部124の制限又は要求とを含み得る。さらに、ファイル142がパディング又はチャンクが行われて至る、選択されたサイズは、ある範囲のサイズより構成されてもよく、またチャンクの判定と関連して使用されたサイズとは異なった選択されたサイズがパディングの判定に関連して使用されてもよい。したがって、ファイルシステム140におけるファイル142は、ある範囲に属するサイズを有し得る。これによって、ファイル142に実際に含まれるコンテンツの量に関する情報が不明瞭にされ、特に関心のある場合があるファイル142をハッカーが識別することが不可能又はより困難になる。
工程632では、ファイル142の作成時が均質化されているかに関して判定がされる。作成時が均質化されていない場合には、作成時がリセットされる(工程636)。例えば、ディレクトリに示されているようなファイル142の作成時は、直接的に又はファイル142を再保存することによって操作され得る。例えば、ファイルシステム140におけるファイル142の全ては、周期的にリセットされ得る。別の例として、ファイルシステム140におけるファイル142の示されている作成時は、多くの最近のファイル142がファイルシステム140に保存された日時又はその近傍にリセットされ得る。ファイル142及びファイルシステム140の作成時をそのように均質化することによって、ハッカーに使用されて重要なシステムファイルが識別され得る情報がさらに不明瞭にされる。
図7は、単一のセキュアデータサブシステム700を含む本発明の実施形態によるシステム100の実装の態様を示している。この例示的な実装によると、ユーザ名404及び秘密データ408の入力の際、キーインデックス708及びプライベートキーファイル716を含むシステムファイル144が配置される。より詳細には、動作704においてハッシュアルゴリズム136は、ユーザ名404及びパスワード408に対して第1のソルト414を適用し、キーインデックス708を含むシステムファイル144の位置を決定する。キーインデックス708は一般に、コンテンツ又はデータファイル148のアイテムの位置に関するインデックス情報を含む。別の動作712では、ハッシュアルゴリズム136は、ユーザ名404及びパスワード408並びに第2の又はプライベートキーのソルト414を適用して、プライベートキーファイル716を含むシステムファイル144の位置を決定する。プライベートキーファイル716は、コンテンツ又は他のデータファイル148にアクセスするために必要とされるキーの記憶として機能し得る。したがって、この例から、一組の情報からなるユーザによる入力は、位置モジュール132によって使用され、複数のシステムファイル144を指し得ると認識され得る。
図8は、第1のセキュアデータサブシステム800a及び第2のセキュアデータサブシステム800bを含む、本発明の実施形態による別の例示的なシステム100の態様を示している。このシステム100では、第1のユーザ名404及び第1の秘密入力(この例では第1のパスワード)408は、第1のデータサブシステム800aと関連するハッシュアルゴリズム136による処理をすべく位置モジュール132に提供される。第1の動作804では、ハッシュアルゴリズム136によって、ユーザ名404及びパスワード408並びに第1のキーストアソルト414が使用され、ソルトデータベース808を構成する第1のシステムファイル144が指される。ソルトデータベース808に対するアクセスを達成した後、第2の動作812では、第1のキーインデックスソルト414及びユーザ名404は、位置モジュール132によってハッシュアルゴリズム136に提供され、第1のキーインデックス816aを構成する第2のシステムファイル144の位置及びアクセスを取得する。第1のキーインデックス816aは、第1の一組のコンテンツ又はデータファイル148aへのアクセスに必要なインデックス情報を提供し得る。ソルトデータベース808からの第2のソルトは、ユーザ名404とともにハッシュアルゴリズム136に提供され、第3の動作820では、第2のキーインデックス816bを構成する、別のシステムファイル144の位置を決定し、アクセスを取得し得る。第2のキーインデックス816bは、第2の一組のコンテンツ又はデータファイル148bへのアクセスに必要なインデックス情報を含み得る。さらに、第1のユーザ名404及び第1のパスワード408は、プライベートキーソルト414と組み合わせられ、第4の動作822では、位置モジュール132によってハッシュアルゴリズムに提供され、第1のプライベートキーファイル824aの位置を決定し、アクセスを達成し得る。第1のプライベートキーファイル824aは、第1のキーインデックス816a及び第2のキーインデックス816bの一部としてインデックスされる、コンテンツ148a及び148bへのアクセスに必要なプライベートキーを含み得る。
さらに、第1のユーザ名404は、第2の秘密入力(この例では第2のパスワード)408と組み合わされ、データサブシステム800bを確立し、アクセスすることと関連して、位置モジュール132によってハッシュアルゴリズム136に提供され得る。例えば、第5の動作828では、第1のユーザ名404及び第2のパスワード408は、第1のソルト414とともにハッシュアルゴリズム132に提供され、第3のキーインデックス816cの位置が決定され、アクセスが達成され得る。第3のキーインデックス816cは、関連する一組のコンテンツ又はデータファイル148cへのアクセスに必要なインデックス情報を含み得る。さらに、第3のキーインデックス816cを通じてアクセスされる一組のコンテンツ又はデータファイル148cは、第1のキーインデックス816a及び第2のキーインデックス816bと関連する一組のコンテンツ148a及び148bから、全く独立であってよい。実際、この例における唯一の共通点は、第1のユーザ名404はデータサブシステム800a及び800bの両方のアクセス及び配置に使用されることと、データサブシステム800a及び800bの両方は同じクライアントアプリケーション128に関連していることである。第6の動作832では、第1のユーザ名404及び第2のパスワード408は、プライベートキーソルト414と組み合わせられ、第2のプライベートキーファイル824bの位置が決定され、アクセスされる。その第2のプライベートキーファイル824bは、例えば、第3のキーインデックス816cによってインデックスされるデータファイル148cへのアクセスに必要なプライベートキーを含む。
図9は、本発明の実施形態による別の例示的なシステム100の態様を示している。このシステム100では、第1のユーザ名404は、第1の秘密入力408a、第2の秘密入力408b、又はその両方と組み合わされ、異なる複数のデータセットにアクセスがされ得る。例えば、工程904ではハッシュアルゴリズム132を使用し、ユーザ名404
、秘密入力408aの第1のアイテム、及び第1のソルト414を組み合わせることによって、第1のキーインデックス908aは、位置が突き止められ、アクセスされ得る。第1のキーインデックス908aは第1の一組のコンテンツ148aを指し得る。
、秘密入力408aの第1のアイテム、及び第1のソルト414を組み合わせることによって、第1のキーインデックス908aは、位置が突き止められ、アクセスされ得る。第1のキーインデックス908aは第1の一組のコンテンツ148aを指し得る。
さらなる態様では、第2の工程912において、ユーザ名404、第1の秘密入力408a、第2の秘密入力408b、及び第1のソルト414をハッシュアルゴリズム132に提供することによって、第2のキーインデックス908bは、位置が突き止められ、アクセスされ得る。第2のキーインデックス908bは、第2の一組のコンテンツ148bを指し得る。したがって、追加の秘密入力408を提供することによって、異なる複数の位置がファイルシステム140において生成され、アクセスされ得る。さらに、本発明の実施形態では、特定のハッシュ位置を生成するために、代替の又は追加の秘密入力408が一定の順序で入力されることが必要とされ得る。例えば、特定のハッシュ位置にアクセスするために必要とされる複数の秘密入力408が間違った順序で入力された場合、第1のシステムファイルについて位置が突き止められないであろう。
図10は、本発明の実施形態による例示的なファイルシステム140のコンテンツを示している。示すように、ファイルシステム140は、データ記憶部124において確立される、ルートディレクトリ1004又は1つ若しくは複数のサブディレクトリ1008a若しくは1008bのいずれかにおいて、複数のファイル142を含み得る。さらに、それらのファイル142は、システムファイル144及び148を含み得る(これらのタイプのファイル142同士の明確な区別なく)。特定のファイル142が配置されるディレクトリ1004又はサブディレクトリ1008a若しくは1008bは、入力データのハッシュアルゴリズム136への適用による位置モジュール132の動作を通じて決定される。例えば、ハッシュアルゴリズムへのデータファイル148のファイル名及びソルトの入力により位置モジュールが“ACAFAG”の値を返す結果が得られた場合には、データファイル148はディレクトリACそしてサブディレクトリAFに配置され、AGと再命名される。均質化された位置及び名前は、同じ動作においてそのように生成され得る。さらに、ファイルシステム140のディレクトリの構造によって、重要なファイル142の位置を突き止めるためにハッカーによって使用され得る情報は提供されない。さらに、ディレクトリ1004並びに1008a及び1008b並びにファイル142の名前は均質化されている。特に、サブディレクトリ1008a及び1008b並びにファイル142は、互いに固有の区別され得る名前、過去の名前、又はその両方を有しているが、適用される命名規則(ここでは、2文字の名前を割り当てること)によって、ファイル142のコンテンツに関する情報は潜在的なハッカーに対して提供されない。同様に、サイズ情報1012の列において、ファイルサイズの全てが選択された範囲に属するように、ファイルサイズは均質化されている。さらに、システムのセキュリティに重要なファイルを他のファイルから区別するためにハッカーによって使用され得る情報が不明瞭にされる。同様に、重要なシステムファイル144を識別するためにハッカーによって使用される場合がある情報を除去すべく、各ファイル142に関連する日付1016は均質化されている。
本発明の実施形態によるシステム100は、関連するファイル142をコンピュータ104に対してロックする特徴も備え得る。そのような実施形態によると、コンピュータ104と関連する装置識別子(ID)は、ハッシュアルゴリズム136に提供される入力の一部として使用される。したがって、他の装置のIDは同じハッシュアルゴリズムの出力を生成しない(たとえハッシュアルゴリズム136に対する他の入力が同じとしても)。
本明細書に含まれるシステム100の記述によって、開示されたセキュアファイルシステムについてのある配置及び実施形態が例として提供されている。しかしながら、本発明の実施形態は、具体的に示されたそれらに限定されない。例えば、当業者によって認識さ
れ得るように、システム100の構成要素の他の物理的な配置は、本明細書に開示のセキュアファイルシステム140の提供に関連して利用され得る。さらに、記述には装置又はコンピュータ104に実装されるセキュアファイルシステム140の例が含まれているが、セキュアファイルシステム140は分散システムに関連して実装されてもよい。例えば、本発明の実施形態は、データ記憶部124と結合したクラウド又は特定のネットワークによってデータ記憶部124に提供される変形を含み得る。さらに、データ記憶部124は複数の記憶装置を備え得る。例えば、RAIDシステムとして構成された又は他の協調した一組の記憶装置124である。
れ得るように、システム100の構成要素の他の物理的な配置は、本明細書に開示のセキュアファイルシステム140の提供に関連して利用され得る。さらに、記述には装置又はコンピュータ104に実装されるセキュアファイルシステム140の例が含まれているが、セキュアファイルシステム140は分散システムに関連して実装されてもよい。例えば、本発明の実施形態は、データ記憶部124と結合したクラウド又は特定のネットワークによってデータ記憶部124に提供される変形を含み得る。さらに、データ記憶部124は複数の記憶装置を備え得る。例えば、RAIDシステムとして構成された又は他の協調した一組の記憶装置124である。
さらに、クライアントアプリケーション128、位置モジュール132、及びハッシュアルゴリズム136等の、ある例示的なアプリケーション及びモジュールが示され、記載されている。本開示の考慮の後の当業者によって認識され得るように、そのような構成要素又はモジュール及びそれらの互いの関係は改変され得る。特に、そのような構成要素の記述は、システム100及びその動作の理解に役に立つと考えられる一方、本発明によるシステム100又は処理には、提供された例において記述されたようなセグメントによって分けられている構成要素及びモジュールを含むことは必ずしも必要とされない。
本発明についての以上の議論は、例示及び記述の目的のために提示されてきている。さらに、記述は、本発明を本明細書に記載した形態に限定することを意図されていない。したがって、以上の教示と相応した変形及び改変は、関連技術の技能又は知識の範囲内においては、本発明の範囲内にある。以上に記述された実施形態には、さらに、本発明の実施に現在知られるベストモードを説明することと、当業者がそのような又は他の実施形態において、特定の用途又は本発明の使用によって必要とされる様々な改変とともに本発明を利用することを可能にすることとが意図されている。添付の特許請求の範囲は、先行技術により許容される限度で代替の実施形態も含むと解されることが意図されている。
Claims (20)
- ファイルを記憶するための方法において、
第1のクライアントアプリケーションによって少なくとも第1の識別子を受信する工程と、
前記第1の識別子をハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第1の出力を生成する、工程と、
第1のファイルシステム位置を決定すべく前記第1の出力を使用する工程とを備える、方法。 - 前記第1のファイルシステム位置においてデータ記憶部に第1のファイルを記憶する工程をさらに備える、請求項1に記載の方法。
- 前記第1のクライアントアプリケーションによって第2の識別子を受信する工程であって、前記第1の出力を生成すべく前記第1の識別子及び前記第2の識別子は前記ハッシュアルゴリズムに提供され、前記第1のファイルシステム位置において前記データ記憶部に記憶される前記第1のファイルは第1のインデックスファイルである、前記工程をさらに備える、請求項2に記載の方法。
- 第1のファイル名を第1のデータファイルに割り当てる工程と、
前記第1のファイル名を第3の識別子として前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第2の出力を生成する、工程と、
第2のファイルシステム位置を決定すべく前記第2の出力を使用する工程と、
前記第2のファイルシステム位置において前記データ記憶部に前記第1のデータファイルを記憶する工程と、
前記第1のインデックスファイルに前記第2のファイルシステム位置を記憶する工程とをさらに備える、請求項3に記載の方法。 - 前記第1のデータファイルにアクセスすべく要求を前記第1のクライアントアプリケーションにおいて受信する工程と、
前記第1の識別子及び前記第2の識別子のうちの少なくとも1つであるユーザによる入力を前記第1のクライアントアプリケーションによって求める工程と、
前記クライアントアプリケーションによって前記第1の識別子及び前記第2の識別子を受信する工程であって、前記第1の出力を再生成し前記第1のファイルシステム位置を決定すべく、前記第1の識別子及び前記第2の識別子は前記ハッシュアルゴリズムに対し提供される、工程と、
前記第1のファイルシステム位置において前記データ記憶部に記憶される前記第1のインデックスファイルにアクセスする工程と、前記第1のインデックスファイルから前記第2のファイルシステム位置を読み出す工程とをさらに備える、請求項4に記載の方法。 - 前記第1の識別子はユーザ名であり、前記第2の識別子はパスワードである請求項3に記載の方法。
- 第1のソルトをさらに備え、該第1のソルトは前記第1の識別子及び前記第2の識別子とともに前記第1の出力を生成するために前記ハッシュアルゴリズムへ入力され、前記第1の出力は前記第1のファイルシステム位置を決定するために使用される、請求項3に記載の方法。
- 第2のソルトであって、該第2のソルトは第1のファイル名とともに前記ハッシュアルゴリズムへ入力され、前記ハッシュアルゴリズムは第2の出力を生成する、前記第2のソ
ルトと、
第2のファイルシステム位置を決定すべく前記第2の出力を使用する工程とをさらに備える、請求項7に記載の方法。 - 第2のソルトであって、該第2のソルトは前記第1の識別子及び前記第2の識別子とともに前記ハッシュアルゴリズムへ入力され、該ハッシュアルゴリズムは第2の出力を生成する、前記第2のソルトと、
第2のファイルシステム位置を決定すべく前記第2の出力を使用する工程と、
前記第2のファイルシステム位置においてデータ記憶部に第2のファイルを記憶する工程とをさらに備える、請求項7に記載の方法。 - 前記第2のファイルはキーストアである請求項9に記載の方法。
- 前記第1のクライアントアプリケーションによって第3の識別子を受信する工程と、
第2の出力を生成すべく前記第1の識別子及び前記第3の識別子を前記ハッシュアルゴリズムに提供する工程と、
第2のファイルシステム位置を決定すべく前記第2の出力を使用する工程とをさらに備える、請求項3に記載の方法。 - 前記第1のクライアントアプリケーションによって第3の識別子を受信する工程と、
第2の出力を生成すべく前記第1の識別子及び前記第3の識別子を前記ハッシュアルゴリズムに提供する工程と、
第2のファイルシステム位置を決定すべく前記第2の出力を使用する工程と、
前記第2のファイルシステム位置において前記データ記憶部に記憶される実行可能ファイルにアクセスする工程と、
前記実行可能ファイルを実行する工程とをさらに備える、請求項2に記載の方法。 - 少なくとも第2の識別子を前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第2の出力を生成する、工程と、
第2のファイルシステム位置を決定すべく第2の出力を使用する工程と、
前記第2のファイルシステム位置に第2のファイルを記憶する工程とをさらに備える、請求項2に記載の方法。 - 前記第1のファイルシステム位置に記憶される前記第1のファイルは、第1のデータセットに関連する第1のインデックスファイルであり、前記第2のファイルシステム位置に記憶される前記第2のファイルは、第2のデータセットに関連する第2のインデックスファイルである、請求項13に記載の方法。
- 第2のファイル名を第2のデータファイルに割り当てる工程であって、前記第1のファイル名は第1の文字の長さであり、前記第2のファイル名は第1の文字の長さである、前記工程と、
前記第1のデータファイルのサイズを判定する工程であって、第1の所与のサイズより小さい前記第1のデータファイルのサイズに応じ、該第1のデータファイルはパディングされ第1の正規化されたサイズを有しており、パディングされた前記第1のデータファイルが記憶される、前記工程と、
前記第2のファイル名を第4の識別子として前記ハッシュアルゴリズムに提供する工程であって、該ハッシュアルゴリズムは第3の出力を生成する、工程と、
第3のファイルシステム位置を決定すべく前記第3の出力を使用する工程と、
前記第3のファイルシステム位置において前記データ記憶部に前記第2のデータファイルを記憶する工程と、
前記第1のインデックスファイルに前記第3のファイルシステム位置を記憶する工程とをさらに備える、請求項4に記載の方法。 - ファイルを記憶する方法において、
データ記憶部を提供する工程と、
プロセッサを提供する工程と、
前記プロセッサによって実行可能なクライアントアプリケーションを提供する工程であって、該クライアントアプリケーションはファイルシステムモジュールを備える、前記工程と、
ユーザにパスワードを求める工程と、
前記クライアントアプリケーションにおいて第1のパスワードを受信する工程と、
少なくとも受信された前記第1のパスワードと、第1のソルトとを第1の入力としてハッシュアルゴリズムに提供する工程と、
前記第1の入力に応じ、前記ハッシュアルゴリズムによって第1の出力を生成する工程と、
前記第1の出力を第1のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第1のファイルシステム位置に第1のインデックスファイルを記憶する工程と、
少なくとも受信された前記第1のパスワードと、第2のソルトとを第2の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第2の入力に応じ、前記ハッシュアルゴリズムによって第2の出力を生成する工程と、
前記第2の出力を第2のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第2のファイルシステム位置に第1のキーストアファイルを記憶する工程とを備える、方法。 - 第1のデータファイルを受信する工程であって、該第1のデータファイルは第1の名前と関連する、前記工程と、
少なくとも前記第1の名前と、第2のソルトとを第3の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第3の入力に応じ、前記ハッシュアルゴリズムによって第3の出力を生成する工程と、
前記第3の出力を第3のファイルシステム位置へと変換する工程と、
前記第3のファイルシステム位置に前記第1のデータファイルを記憶する工程と、
前記第1のインデックスファイルに前記第3のファイルシステム位置の記録を記憶する工程と、
前記第1のデータファイルと関連するキーを前記第1のキーストアに配置する工程とをさらに備える、請求項16に記載の方法。 - 前記クライアントアプリケーションにおいて第2のパスワードを受信する工程と、
少なくとも受信された前記第2のパスワードと、第1のソルトとを第4の入力として前記ハッシュアルゴリズムに提供する工程と、
前記第4の入力に応じ、前記ハッシュアルゴリズムによって第4の出力を生成する工程と、
前記第4の出力を第4のファイルシステム位置へと変換する工程と、
前記データ記憶部において前記第4のファイルシステム位置に第2のインデックスファイルを記憶する工程とをさらに備える、請求項17に記載の方法。 - システムであって、
データ記憶部と、
クライアントアプリケーションであって、該クライアントアプリケーションは前記データ記憶部に記憶されており、該クライアントアプリケーションはハッシュアルゴリズムを備える、前記クライアントアプリケーションと、
ユーザ入力であって、該ユーザ入力における少なくとも第1の入力を受信することに応じ前記クライアントアプリケーションは前記ハッシュアルゴリズムを使用して第1の値を生成するように動作可能であり、該第1の値はシステムインデックスファイルを記憶するために前記データ記憶部における第1の位置を決定するために使用され、前記システムインデックスファイルは前記データ記憶部における前記第1の位置に記憶されており、前記第1の位置の記録はデータ記憶部には記憶されない、前記ユーザ入力とを備える、システム。 - 前記データ記憶部にデータファイルを記憶する要求を前記クライアントアプリケーションが受信することに応じ、前記クライアントアプリケーションは前記データファイルの名前をハッシュアルゴリズムへの入力として使用し第2の値を生成するように動作可能であり、該第2の値は前記データファイルを記憶するために前記データ記憶部における第2の位置を決定するために使用され、前記データファイルは前記第2の位置において前記データ記憶部に配置され、前記第2の位置は前記システムインデックスファイルに記憶される、請求項19に記載のシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/096,603 | 2011-04-28 | ||
US13/096,603 US8627104B2 (en) | 2011-04-28 | 2011-04-28 | Secure data storage |
PCT/US2012/034765 WO2012148894A2 (en) | 2011-04-28 | 2012-04-24 | Secure data storage |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014516448A true JP2014516448A (ja) | 2014-07-10 |
Family
ID=47073015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014508479A Pending JP2014516448A (ja) | 2011-04-28 | 2012-04-24 | セキュアなデータ記憶 |
Country Status (8)
Country | Link |
---|---|
US (3) | US8627104B2 (ja) |
EP (1) | EP2702488A4 (ja) |
JP (1) | JP2014516448A (ja) |
KR (1) | KR20140048879A (ja) |
AU (1) | AU2012249885A1 (ja) |
CA (1) | CA2834509A1 (ja) |
IL (1) | IL229099A0 (ja) |
WO (1) | WO2012148894A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016189058A (ja) * | 2015-03-30 | 2016-11-04 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法、及び、プログラム |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8788842B2 (en) | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
US8510552B2 (en) | 2010-04-07 | 2013-08-13 | Apple Inc. | System and method for file-level data protection |
US8627104B2 (en) | 2011-04-28 | 2014-01-07 | Absio Corporation | Secure data storage |
US20130290734A1 (en) * | 2012-04-26 | 2013-10-31 | Appsense Limited | Systems and methods for caching security information |
US20130290733A1 (en) * | 2012-04-26 | 2013-10-31 | Appsense Limited | Systems and methods for caching security information |
US20140006201A1 (en) * | 2012-06-29 | 2014-01-02 | Accion Group Inc. | Method and apparatus for competitive solicitation and bidding |
US9785786B2 (en) * | 2012-09-24 | 2017-10-10 | Protegrity Corporation | Privacy preserving data search |
US20150082054A1 (en) * | 2013-08-21 | 2015-03-19 | Venux LLC | System and Method for Establishing a Secure Digital Environment |
CN105825136B (zh) * | 2016-03-24 | 2020-04-03 | 珠海泰坦软件系统有限公司 | 一种软硬件结合实现电子文件安全传递的方法及装置 |
US10440008B2 (en) * | 2016-09-07 | 2019-10-08 | The King Abdulaziz City For Science And Technology | Method and system for dynamically generating a hint to recall a password for a user account of a user |
TWI616819B (zh) * | 2017-02-06 | 2018-03-01 | 晨星半導體股份有限公司 | 用於電視的軟體更新方法及相關的電路 |
CN107087004A (zh) * | 2017-05-17 | 2017-08-22 | 深圳乐信软件技术有限公司 | 源文件处理方法及装置、源文件获取方法及装置 |
US11578860B2 (en) * | 2018-02-20 | 2023-02-14 | ZHUN-AN Ma | Stand for portable accessory |
US11005971B2 (en) * | 2018-08-02 | 2021-05-11 | Paul Swengler | System and method for user device authentication or identity validation without passwords or matching tokens |
KR102005549B1 (ko) | 2018-08-09 | 2019-07-30 | 주식회사 센스톤 | 가상코드 기반의 금융거래제공시스템, 가상코드생성장치, 가상코드검증장치, 가상코드 기반의 금융거래제공방법 및 가상코드 기반의 금융거래제공프로그램 |
WO2020032498A1 (ko) * | 2018-08-09 | 2020-02-13 | 주식회사 센스톤 | 인증용가상코드를 이용한 사용자 인증 방법 및 시스템 |
US11138158B2 (en) | 2019-05-20 | 2021-10-05 | Callplex, Inc. | Binding a local data storage device to remote data storage |
EP4226573A1 (en) * | 2020-10-05 | 2023-08-16 | Redcom Laboratories, Inc. | Zkmfa: zero-knowledge based multi-factor authentication system |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4816653A (en) | 1986-05-16 | 1989-03-28 | American Telephone And Telegraph Company | Security file system for a portable data carrier |
US5032979A (en) | 1990-06-22 | 1991-07-16 | International Business Machines Corporation | Distributed security auditing subsystem for an operating system |
EP0463874A2 (en) * | 1990-06-29 | 1992-01-02 | Digital Equipment Corporation | Cache arrangement for file system in digital data processing system |
US5859966A (en) | 1995-10-10 | 1999-01-12 | Data General Corporation | Security system for computer systems |
US5960086A (en) | 1995-11-02 | 1999-09-28 | Tri-Strata Security, Inc. | Unified end-to-end security methods and systems for operating on insecure networks |
US5987517A (en) | 1996-03-27 | 1999-11-16 | Microsoft Corporation | System having a library of protocol independent reentrant network interface functions for providing common calling interface for communication and application protocols |
US6088449A (en) | 1996-11-05 | 2000-07-11 | Tri-Strata Security, Inc. | Tri-signature security architecture systems and methods |
US6393569B1 (en) | 1996-12-18 | 2002-05-21 | Alexander S. Orenshteyn | Secured system for accessing application services from a remote station |
US6453334B1 (en) | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US6064736A (en) * | 1997-09-15 | 2000-05-16 | International Business Machines Corporation | Systems, methods and computer program products that use an encrypted session for additional password verification |
US6711686B1 (en) | 1999-06-29 | 2004-03-23 | Dell Usa L.P. | Security management tool for managing security attributes in computer systems |
US6912655B1 (en) | 1999-08-09 | 2005-06-28 | Tristrata Security Inc. | Network security architecture system utilizing seals |
KR20010096814A (ko) | 2000-04-14 | 2001-11-08 | 홍기융 | 전자서명 인증기반 파일시스템 해킹방지용 보안커널 방법 |
US6959394B1 (en) * | 2000-09-29 | 2005-10-25 | Intel Corporation | Splitting knowledge of a password |
US7433900B2 (en) * | 2001-04-03 | 2008-10-07 | Qnx Software Systems Gmbh & Co. Kg | Custom filesystem having file mappings to files of a real filesystem |
US7302571B2 (en) | 2001-04-12 | 2007-11-27 | The Regents Of The University Of Michigan | Method and system to maintain portable computer data secure and authentication token for use therein |
US7024452B1 (en) | 2001-07-13 | 2006-04-04 | Vignette Corporation | Method and system for file-system based caching |
US7036020B2 (en) | 2001-07-25 | 2006-04-25 | Antique Books, Inc | Methods and systems for promoting security in a computer system employing attached storage devices |
US7178165B2 (en) | 2001-08-20 | 2007-02-13 | Lenovo (Signapore) Pte Ltd. | Additional layer in operating system to protect system from hacking |
JP4154893B2 (ja) * | 2002-01-23 | 2008-09-24 | 株式会社日立製作所 | ネットワークストレージ仮想化方法 |
KR100450402B1 (ko) | 2002-04-17 | 2004-09-30 | 한국전자통신연구원 | 컴퓨터 시스템에 있어서 보안속성을 갖는 토큰을 이용한접근 제어방법 |
US7209960B2 (en) | 2002-09-20 | 2007-04-24 | Sun Microsystems, Inc. | Loading and saving data from security sensitive applets to a local file system |
US8213601B2 (en) | 2003-02-07 | 2012-07-03 | Patrick Zuili | Font level encryption method and apparatus |
JP4265245B2 (ja) | 2003-03-17 | 2009-05-20 | 株式会社日立製作所 | 計算機システム |
US7284010B2 (en) | 2003-10-23 | 2007-10-16 | Microsoft Corporation | System and method for storing and retrieving a field of a user defined type outside of a database store in which the type is defined |
US20050251806A1 (en) | 2004-05-10 | 2005-11-10 | Auslander Marc A | Enhancement of real-time operating system functionality using a hypervisor |
US7690033B2 (en) | 2004-09-28 | 2010-03-30 | Exobox Technologies Corp. | Electronic computer system secured from unauthorized access to and manipulation of data |
US7716743B2 (en) | 2005-01-14 | 2010-05-11 | Microsoft Corporation | Privacy friendly malware quarantines |
US7698732B2 (en) | 2005-02-03 | 2010-04-13 | International Business Machines Corporation | Method and apparatus for exchanging information between computer systems from different computer networks |
US20070011749A1 (en) | 2005-07-11 | 2007-01-11 | Simdesk Technologies | Secure clipboard function |
US20070011469A1 (en) | 2005-07-11 | 2007-01-11 | Simdesk Technologies | Secure local storage of files |
US20070016771A1 (en) | 2005-07-11 | 2007-01-18 | Simdesk Technologies, Inc. | Maintaining security for file copy operations |
US8447781B2 (en) | 2005-07-29 | 2013-05-21 | International Business Machines Corporation | Content-based file system security |
US7426787B2 (en) | 2005-09-09 | 2008-09-23 | Sj2 Industries, Llc | Retractor for circular saw lower safety-guard |
US20070083559A1 (en) | 2005-10-12 | 2007-04-12 | Harris Brock M | Media/data card |
US7792859B2 (en) | 2005-10-12 | 2010-09-07 | Hb Media, Llc | Media/data card |
CN100437502C (zh) | 2005-12-30 | 2008-11-26 | 联想(北京)有限公司 | 基于安全芯片的防病毒方法 |
US20080027866A1 (en) | 2006-07-26 | 2008-01-31 | Halcrow Michael A | System and method for authenticating file content |
US7885932B2 (en) * | 2006-11-01 | 2011-02-08 | Ab Initio Technology Llc | Managing storage of individually accessible data units |
US20090049047A1 (en) | 2007-08-15 | 2009-02-19 | Microsoft Corporation | Storing custom metadata using custom access control entries |
US20090144545A1 (en) | 2007-11-29 | 2009-06-04 | International Business Machines Corporation | Computer system security using file system access pattern heuristics |
US20090235091A1 (en) | 2008-02-14 | 2009-09-17 | Systems Associates, Inc. | Computer system for indexing and storing sensitive, secured, information on a non-trusted computer storage array |
US8930894B2 (en) * | 2008-10-08 | 2015-01-06 | Oracle America, Inc. | Method and system for executing an executable file |
WO2010111438A2 (en) | 2009-03-25 | 2010-09-30 | Pacid Technologies, Llc | System and method for protecting a secrets file |
US20100333116A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8788842B2 (en) * | 2010-04-07 | 2014-07-22 | Apple Inc. | System and method for content protection based on a combination of a user PIN and a device specific identifier |
US20120054315A1 (en) * | 2010-08-31 | 2012-03-01 | Cisco Technology, Inc. | System and method for providing virtualized file system management for a memory card in a digital environment |
US8627104B2 (en) | 2011-04-28 | 2014-01-07 | Absio Corporation | Secure data storage |
-
2011
- 2011-04-28 US US13/096,603 patent/US8627104B2/en active Active
-
2012
- 2012-04-24 CA CA2834509A patent/CA2834509A1/en not_active Abandoned
- 2012-04-24 WO PCT/US2012/034765 patent/WO2012148894A2/en unknown
- 2012-04-24 JP JP2014508479A patent/JP2014516448A/ja active Pending
- 2012-04-24 KR KR1020137031729A patent/KR20140048879A/ko not_active Application Discontinuation
- 2012-04-24 AU AU2012249885A patent/AU2012249885A1/en not_active Abandoned
- 2012-04-24 EP EP12776174.0A patent/EP2702488A4/en not_active Withdrawn
-
2013
- 2013-10-27 IL IL229099A patent/IL229099A0/en unknown
- 2013-12-04 US US14/096,997 patent/US9104888B2/en active Active
-
2015
- 2015-07-08 US US14/794,604 patent/US20160026817A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016189058A (ja) * | 2015-03-30 | 2016-11-04 | 日本電気株式会社 | 情報処理装置、情報処理システム、情報処理方法、及び、プログラム |
Also Published As
Publication number | Publication date |
---|---|
KR20140048879A (ko) | 2014-04-24 |
US20160026817A1 (en) | 2016-01-28 |
AU2012249885A1 (en) | 2013-11-14 |
EP2702488A4 (en) | 2014-12-24 |
US9104888B2 (en) | 2015-08-11 |
US20140095869A1 (en) | 2014-04-03 |
IL229099A0 (en) | 2013-12-31 |
EP2702488A2 (en) | 2014-03-05 |
CA2834509A1 (en) | 2012-11-01 |
WO2012148894A3 (en) | 2013-07-04 |
WO2012148894A2 (en) | 2012-11-01 |
US8627104B2 (en) | 2014-01-07 |
US20130031372A1 (en) | 2013-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014516448A (ja) | セキュアなデータ記憶 | |
US8997198B1 (en) | Techniques for securing a centralized metadata distributed filesystem | |
US9171145B2 (en) | Protecting cryptographic secrets using file system attributes | |
US7831833B2 (en) | System and method for key recovery | |
US9166796B2 (en) | Secure biometric cloud storage system | |
KR102422183B1 (ko) | 데이터에 대한 액세스 인에이블링 | |
US12041166B2 (en) | Protecting data using controlled corruption in computer networks | |
US20160180097A1 (en) | Relational database fingerprinting method and system | |
US20110126008A1 (en) | Method and Apparatus for Sharing Documents | |
CN106063185A (zh) | 用于安全地共享数据的方法和装置 | |
US8181028B1 (en) | Method for secure system shutdown | |
US20150350172A1 (en) | Encryption on computing device | |
GB2576160A (en) | Distributed ledger system | |
US20230353384A1 (en) | System and method for verifying a secured file, directory or meta-data | |
US20060143477A1 (en) | User identification and data fingerprinting/authentication | |
US10607025B2 (en) | Access control through data structures | |
US8499357B1 (en) | Signing a library file to verify a callback function | |
US8490208B2 (en) | Method and device for detecting if a computer file has been copied and method and device for enabling such detection | |
US20230353372A1 (en) | System and method for file and file system integrity using directories | |
US11283600B2 (en) | Symmetrically encrypt a master passphrase key | |
CN102495811B (zh) | 一种许可证生成及验证方法和一种存储设备 | |
CN114666108A (zh) | 基于自定义资源的身份认证方法、装置、设备及介质 | |
US11626982B1 (en) | Systems and methods for maintaining confidentiality, integrity, and authenticity of the last secret | |
US20230353373A1 (en) | System and method for creating a persistent directory signature file | |
US20230353377A1 (en) | System and method for file and file system integrity independent of file type or contents |