用隨機數據填充 SSD 以使用 Dm-Crypt 進行加密
我需要加密 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 而不是分區,請注意lvremove
//lvresize
等確實暗示 TRIM 如果您issue_discards = 1
的lvm.conf
. 其他儲存層,例如mdadm
支持 TRIM 作為簡單的傳遞操作。
cryptsetup open
預設情況下不允許 TRIM,除非您指定--allow-discards
,但是某些發行版可能會選擇更改這些預設值。畢竟,隨機擦除 SSD 進行加密是非常不尋常的。我能想到的唯一案例是刪除舊數據,同時在 TRIM 或安全擦除時不信任硬體免費執行此操作。
即使進行了加密,SSD 上的可用空間也是正常的。大多數人都希望每週/每月使用一次 TRIM 以避免長期可能的性能下降,因此發行版可能會遵循這一趨勢並
allow-discards
預設在加密設備上使用。修剪後,您用隨機數據覆蓋將是徒勞的。
但只要您處於控制之中,並在您所做的一切中禁用 TRIM,隨機數據就會保留。