web-dev-qa-db-ja.com

Dm-Cryptで暗号化するためのランダムデータでSSDを埋める

SSDドライブを暗号化する必要があり、dm-cryptを使用することを選択しました。これは私が定期的に行うことではありません。

これまでのところ、ATAセキュア消去コマンドを使用してSSDのメモリセルを正常にクリアしました。また、以下を使用してディスク全体をランダムデータで埋めました。

dd if=/dev/urandom of=/dev/sdx bs=4096 status=progress

私の質問は、cryptsetupユーティリティを使用してデバイス(私のパーティション)を暗号化する最後のステップに関するものです。

すでにディスク全体にランダムデータを入力しているので、パーティションを作成して暗号化した後、パーティションにランダムデータを再入力する必要がありますか?つまり、ddで生成したランダムデータは、作成した暗号化されたパーティション内に残りますか?

2
tilikoom
dd if=/dev/urandom of=/dev/sdx bs=4096 status=progress

このコマンドは、ドライブ全体をランダムデータで上書きします。そのランダムデータは、他のデータを書き込むか、セキュア消去、またはTRIMするまでそこにとどまります。

つまり、ddを使用して生成したランダムデータは、作成した暗号化されたパーティション内に残りますか?

通常、これが当てはまります。

ただし、TRIMがいつ発生するかは必ずしも明らかではありません。たとえば、mkfsまたはmkswap/swaponは暗黙的にTRIMを意味し、それを無効にするには追加のパラメーターを使用する必要があります。パーティショナーが同じアイデアを採用し、TRIMが新しくパーティションを作成したかどうかはわかりません。パーティションの代わりにLVMを使用する場合、issue_discards = 1lvm.confがある場合、lvremove/lvresize /などはTRIMを意味することに注意してください。 mdadmなどの他のストレージレイヤーは、単純なパススルー操作としてTRIMをサポートします。

cryptsetup openは、--allow-discardsを指定しない限り、デフォルトではTRIMを許可しませんが、一部のディストリビューションでは、これらのデフォルトを変更することを選択する場合があります。

結局のところ、暗号化のためにSSDをランダムにワイプすることは非常に珍しいことです。私が考えることができる唯一の使用例は、TRIMまたはセキュア消去時にハードウェアがこれを無料で実行することを信頼せずに、古いデータを削除することです。

暗号化を使用しても、SSDに空き領域が表示されるのは正常です。ほとんどの人は、長期的にパフォーマンスが低下する可能性を回避するために、TRIMを毎週/毎月使用したいと思うでしょう。そのため、ディストリビューションはその傾向に従い、暗号化されたデバイスでデフォルトでallow-discardsを使用する場合があります。

トリミングすると、ランダムデータによる上書きは無駄になります。

しかし、あなたがコントロールし、あなたがするすべてのことでTRIMを無効にする限り、ランダムなデータは残ります。

5
frostschutz