encfsで使用されるファイルシステムの概念を理解するには?

encfsで使用されるファイルシステムの概念を理解するには?

コンピュータサイエンスの概念を深く理解していませんが、このユーティリティがどのように使用されているかを詳しく知りたいです。環境ファイルシステム働くファイルシステムの概念についていくつかの質問があります。環境ファイルシステム。 encfsは暗号化されたファイルシステムと呼ばれますウィキリンク

1) ファイル暗号化環境ファイルシステム暗号化するファイルブロックが移動されていますが、この「スクランブル」バージョンのファイルを新しいファイルシステム用語を正当化する新しい視点として見るのは正しいですか?

2) マニュアルページから環境ファイルシステムこのセクションのシーベルト リンクする人環境ファイルシステムオンライン、それは言う環境ファイルシステム実際のファイルシステムではありません。これをどのように理解する必要がありますか?すべてのファイルシステムに必要な機能の一部が欠落しているためですか?環境ファイルシステム'ファイルシステム?それとも他のより実用的な理由のためですか?

3) マニュアルページには、仮想暗号化ファイルシステム。ここでは2つの質問があります。何が仮想を作るか。ファイルシステム内のファイルシステムですか?暗号学的には、ファイルブロックを他のプログラムが読める形式にマッピングする簡単な方法はありませんか?

4) コマンドの実行方法フューザマウントencfに関連していますか?

答え1

あなたの説明の後に誤解があるようです。暗号化されていないデータは、いかなる場合でもディスクに保存されません。 encfsファイルシステムのファイルに書き込むと、書き込みコマンドはプロセスに移動しますencfs。プロセスencfsはメモリ内のデータを暗号化し、パスワードテキストをファイルに書き込みます。ファイル名とファイルの内容が暗号化されます。ファイルの読み取りは反対のプロセスを経ます。つまり、encfs暗号化されたデータをディスクファイルから読み取り、メモリから復号化し、プレーンテキストを要求アプリケーションに渡します。

コマンドを実行すると、encfsデータのパスワードは復号化されません。ファイルシステムキーのロックを解除するために指定したパスワードのみを使用してください。 (暗号学的観点からは、これは実際には復号化操作ですが、ファイルデータに発生するものとは異なります。ここでは詳細に説明しません。)

1) Encfs はまさに「移動ブロック」ではありません。ブロックを読み取るときにブロックをデコードすることです。 Encfsはファイルシステムのように動作するという点でファイルシステムです。インストール後にファイルを保存できます。

2)Encfsはそれ自体では動作しないため、「実際の」ファイルシステムではありません。 Encfsは暗号化層のみを提供します。プライマリファイルシステムを使用して、実際にデータとメタデータを保存します(メタデータは、権限や変更時刻などのファイルに関する補助情報です)。

3)仮想ファイルシステムは、encfs自体がデータを保存しないという別の表現で、基本ファイルシステムが必要です(上記(2)を参照)。暗号化の意味:encfsはユーザーが入力したデータを暗号化された形式で保存し、キーなしでは復号化できません。他のプログラムがキーにアクセスできる場合にのみ(キーを保護するためにパスワードが必要です)、encfsに格納されているデータを読み取ることができます。

4)このfusermountコマンドはFUSEマウントポイントを設定します。通常、FUSEファイルシステムはとにかく起動する必要があり、encfsマウントポイントの設定を担当するユーザーモードプロセスによって実装されているため、直接呼び出すことはありません。一方、FUSEファイルシステムのアンマウントは常にfusermount -u

答え2

1) いいえ。暗号化アルゴリズムを介してファイルブロックを変換します。ブロックを移動すると、順序が逆のファイルの一部のビットを見ることができるという意味です。そうではありません。暗号化されたバージョンには、元のファイルのどの部分も表示されません。

2)データの実際の保存を処理せずにデータを変換するだけで、実際のファイルシステムではありません。したがって、ファイルシステムの破損、ロギング、アクセス権などを心配する必要はありません。これらはすべて基本ファイルシステムによって処理されます。

3)A)#2と同じです。これは実際のファイルシステムではなく、ファイルシステムのように見えるだけです。 B)いいえ、ファイルブロックをマッピングする直接的な方法はありません。 #1をご覧ください。暗号化されたデータは他のプログラムから読み取ることができますが、他のプログラムは暗号化キーを知る必要があります。このキーがなければ何も読めません。

4) FUSEはLinuxでファイルシステムを実装する方法です。通常、ファイルシステムを処理するコードはLinuxカーネルで実行されます。 FUSEファイルシステムを使用すると、実際のプログラムはファイルシステムの実行を担当します。psこれを使用してプログラムを表示できますkillfusermountヒューズファイルシステムのマウントに使用されるコマンドです。mount通常のコマンドを使用してFUSEファイルシステムをマウントできますが、fusermountroot以外のユーザーもファイルシステムをマウントできます。

関連情報