web-dev-qa-db-ja.com

RAMにサスペンドが機能し、暗号化されるようにシステムを暗号化する方法

RAMへのサスペンドが機能し、RAMにサスペンドされたときにすべてが暗号化された状態になるように(せいぜいlvm + dm-crypt/luksを使用して)システムを暗号化するにはどうすればよいですか?

7
student

あなたが求めているのは、RAMへの単純なサスペンドではありません。これにより、RAMの電源がオンのままになり、他のすべてがシャットダウンされます。RAMからクリアテキストプロセスデータを消去するため、すべてをサスペンドイメージにマーシャリングする必要があるため、休止状態(つまり、ディスクへのサスペンド)コードを呼び出す必要があります。これを行う現実的な方法は、暗号化されたRAMディスクを作成し、スワップスペースとして宣言し、他のプロセスとのメモリ。それでもカーネルデータは暗号化されません。そのためには、かなり大きなカーネルパッチが必要だと思います。

一方、ディスクにサスペンドする場合は、これは解決された問題です。休止状態のイメージはスワップスペースに保存されます。セキュリティ要件を考慮して、スワップスペースはすでに暗号化されている必要があります。ランダムなキーではなく、既知のキーで暗号化されていることを確認してください(暗号化されたスワップを使用する一部のセットアップでは、スワップスペースのキーファイルとして/dev/randomが使用されるため、起動ごとに異なるキーが生成されます。休止状態の画像を再開することはできません)。主要なディストリビューションは、暗号化されたスワップスペースからの再開を含め、すぐに使用できる休止状態をサポートする必要があります。

チェックアウト tpm-lukshttps://github.com/shpedoikal/tpm-luks

暗号化キーをコンピューターのトラステッドプラットフォームモジュールに保存します。

別のオプションは [〜#〜] tresor [〜#〜] で、CPUレジスタを使用して秘密鍵を格納します。

0
jcharaoui