実行中に復号化されたファイルはどこに保存されますか?

実行中に復号化されたファイルはどこに保存されますか?

Ubuntu/eCryptfs は実行時に暗号化された $HOME ディレクトリから復号化されたファイルをどこに保存するのか疑問に思います。

  • ファイルをジャストインタイムで復号化し、RAM にのみ保存しますか?
  • 大きなファイル(例:20Gb の 1080p ムービー)の場合はどうなりますか?
  • システムのシャットダウン後、HDD に暗号化解除されたファイルが残っている可能性はありますか?
  • 復号化/暗号化は OS のパフォーマンスに大きな影響を与えますか?

答え1

復号化されたファイルは RAM に保存されます。復号化 (書き込み時の暗号化) は、ファイル全体ではなく、ブロックごとにオンザフライで実行されます。アプリケーションがファイルからブロックを読み取ると、ファイルはディスク ドライバーとファイル システム ドライバーの間のレイヤーによって復号化されます。

復号化されたファイルはディスクに書き込まれませんが、アプリケーションは暗号化されていないファイルシステムにデータを書き込むことができます。特に、暗号化されたファイルシステムを使用している場合は、アプリケーション メモリ内のデータがスワップ領域に格納される可能性があるため、スワップ領域を暗号化する必要があります。また、アプリケーションが一時ストレージとして使用するディレクトリ/tmp(tmpfs にしてスワップ領域に格納できる)、、/var/tmp(/var/spool/postfix電子メール)、/var/spool/cups(印刷中のドキュメント) なども暗号化する必要があります。

暗号化がパフォーマンスに影響するかどうかは、プロセッサ速度とディスク速度の比率に大きく依存します。低速のディスクと高速のプロセッサでは、何も気付かないでしょう。低速のプロセッサと非常に高速なディスクでは、痛みを感じるでしょう。最近の Intel および AMD プロセッサには、AES 用のハードウェア アクセラレータが搭載されています (AES-NI) は、最近の Linux カーネルで利用されています。

関連情報