BtrFSの上のファイルごとの暗号化の上に圧縮を階層化する方法は?

BtrFSの上のファイルごとの暗号化の上に圧縮を階層化する方法は?

BtrFSは実際にこれをサポートしなければなりません。しかしそれは真実ではありません。したがって、ECryptFSはこれらのギャップを埋めるようです。唯一の質問は、これに圧縮をどのように積み重ねることができるかということです。

暗号化以外に圧縮する理由:

  • 意図的に反対のプロセス(圧縮による暗号化)は圧縮しません。理想的には、暗号化は暗号文を任意のデータと区別できないようにしようとするためです。
  • 密度の高い情報暗号化がより安全です。

私は一時的にファイルを別のキー(ユーザー/グループなど)で暗号化できるように(つまり、ブロックレベルの暗号化などの主要な再構成なしで変更可能な)ファイルシステムレベルのソリューションを探しています。

答え1

残りの唯一の方法は、暗号化されたファイルシステムの上に圧縮ファイルシステムをスタックすることだけです。以下はいくつかのオプションですが、実際の経験はありません。

ファイルごとに圧縮または暗号化を選択できるかどうか疑われます。 Btrfsはこれを提供できるはずですが、現実はこれとは遠いかもしれません。まるで5年前にRAIDがあったはずだったようです。

答え2

圧縮ファイルシステムがencryptfsの上にマウントされたときに実行される一部のデータベースファイルには、圧縮ファイルシステムの入力(主にスーパーブロックプライバシーフィールド)を含める必要があります(マウント時間パラメータを渡すために-oオプションを使用)。これは、ファイルシステム方法で定義されているいくつかのメカニズムに従って、着信ファイルの読み取り/書き込み要求に対して機能するスタック型ファイルシステムになります。

一部のファイルが特定のアルゴリズムを使用して圧縮されていると仮定すると、圧縮fs / main.cやfile.cなどに書き込む読み取り/書き込み方法で計算する必要があります。追加/削除/リストアルゴリズムをサポートするために、インストール中に移植されたデータベースに書き込むなど、この圧縮機能ファイルシステムを更新するためにioctlを実装するユーザーレベルのコードを記述します。

関連情報