SSDドライブを暗号化する必要があり、dm-crypt
を使用することを選択しました。これは私が定期的に行うことではありません。
これまでのところ、ATAセキュア消去コマンドを使用してSSDのメモリセルを正常にクリアしました。また、以下を使用してディスク全体をランダムデータで埋めました。
dd if=/dev/urandom of=/dev/sdx bs=4096 status=progress
。
私の質問は、cryptsetup
ユーティリティを使用してデバイス(私のパーティション)を暗号化する最後のステップに関するものです。
すでにディスク全体にランダムデータを入力しているので、パーティションを作成して暗号化した後、パーティションにランダムデータを再入力する必要がありますか?つまり、dd
で生成したランダムデータは、作成した暗号化されたパーティション内に残りますか?
dd if=/dev/urandom of=/dev/sdx bs=4096 status=progress
このコマンドは、ドライブ全体をランダムデータで上書きします。そのランダムデータは、他のデータを書き込むか、セキュア消去、またはTRIMするまでそこにとどまります。
つまり、ddを使用して生成したランダムデータは、作成した暗号化されたパーティション内に残りますか?
通常、これが当てはまります。
ただし、TRIMがいつ発生するかは必ずしも明らかではありません。たとえば、mkfs
またはmkswap/swapon
は暗黙的にTRIMを意味し、それを無効にするには追加のパラメーターを使用する必要があります。パーティショナーが同じアイデアを採用し、TRIMが新しくパーティションを作成したかどうかはわかりません。パーティションの代わりにLVMを使用する場合、issue_discards = 1
にlvm.conf
がある場合、lvremove
/lvresize
/などはTRIMを意味することに注意してください。 mdadm
などの他のストレージレイヤーは、単純なパススルー操作としてTRIMをサポートします。
cryptsetup open
は、--allow-discards
を指定しない限り、デフォルトではTRIMを許可しませんが、一部のディストリビューションでは、これらのデフォルトを変更することを選択する場合があります。
結局のところ、暗号化のためにSSDをランダムにワイプすることは非常に珍しいことです。私が考えることができる唯一の使用例は、TRIMまたはセキュア消去時にハードウェアがこれを無料で実行することを信頼せずに、古いデータを削除することです。
暗号化を使用しても、SSDに空き領域が表示されるのは正常です。ほとんどの人は、長期的にパフォーマンスが低下する可能性を回避するために、TRIMを毎週/毎月使用したいと思うでしょう。そのため、ディストリビューションはその傾向に従い、暗号化されたデバイスでデフォルトでallow-discards
を使用する場合があります。
トリミングすると、ランダムデータによる上書きは無駄になります。
しかし、あなたがコントロールし、あなたがするすべてのことでTRIMを無効にする限り、ランダムなデータは残ります。