暗号化されたパーティションのスワップメモリ​​は暗号化されていますか?

暗号化されたパーティションのスワップメモリ​​は暗号化されていますか?

暗号化されたext4パーティションにUbuntuをインストールした場合は、通常1つあります/swapfile。これで、スワップされたメモリもデフォルトで暗号化されたいと思います。しかし、マニュアルページ言ったswapon

カーネルのスワップファイル実装は、ファイルシステムの助けを借りずにファイルに直接書き込むことができると予想します。

今、「直接」が何を意味するのか、特にext4の上部の暗号化層がこの意味で「ファイルシステム」と見なされるかどうかはまだ不明です。優先的に、カーネルは最初にディスク上のスワップファイルの場所を取得し、次に暗号化層を使用せずにディスクに直接書き込み、メモリデータがディスク上の暗号化されていない状態で終了する可能性を排除することはできません。

私の疑問は本当ですか(そしてどのLinuxバージョンに適用されますか?)そうでない場合は、暗号化されたパーティションにスワップファイルを設定する方法に関するインターネット上の多くのガイドラインの1つではなく、この問題を直接解決するソースを提供してください。ありがとうございます!

答え1

暗号化されたパーティションのスワップメモリ​​は暗号化されていますか?

パーティションがdm-cryptブロックデバイス(LUKSなど)を介して暗号化されている場合はそうです。

優先的に、カーネルが最初にディスク上のスワップファイルの場所を取得し、次にディスクに直接書き込む可能性を排除することはできません。

これはカーネルが直接作成しない操作です。ディスク、ブロックデバイスに書き込みます。実際、スワップファイルはファイルシステムをホストするデバイスで予約されたブロックと見なされるべきであり、他のファイルシステム機能に依存することはできません。

スワップファイルを追加するとき、カーネルは、使用するすべてのブロックをマップします。基本ブロックデバイスから。完了すると、スワップファイルへの読み書きはカーネルの VFS 階層を直接指定することによって行われます。

これに対する実際の結果は、ファイルシステムベースの暗号化を使用できないことです。ただし、基本ブロックデバイスは必ずしも物理デバイスである必要はないため、暗号化されたボリューム全体でホストされているファイルシステムのスワップファイルは正しく機能して暗号化されます。したがって、Ext4暗号化は機能しませんが、LUKSは機能します。

また、見ることができますLinuxで暗号化されたスワップファイルを設定するには?(ただし、ここに含まれるすべての情報が現在カーネルに適用されるわけではありません。)

関連情報