Linux

用隨機數據填充 SSD 以使用 Dm-Crypt 進行加密

  • December 16, 2018

我需要加密 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 = 1lvm.conf. 其他儲存層,例如mdadm支持 TRIM 作為簡單的傳遞操作。

cryptsetup open預設情況下不允許 TRIM,除非您指定--allow-discards,但是某些發行版可能會選擇更改這些預設值。

畢竟,隨機擦除 SSD 進行加密是非常不尋常的。我能想到的唯一案例是刪除舊數據,同時在 TRIM 或安全擦除時不信任硬體免費執行此操作。

即使進行了加密,SSD 上的可用空間也是正常的。大多數人都希望每週/每月使用一次 TRIM 以避免長期可能的性能下降,因此發行版可能會遵循這一趨勢並allow-discards預設在加密設備上使用。

修剪後,您用隨機數據覆蓋將是徒勞的。

但只要您處於控制之中,並在您所做的一切中禁用 TRIM,隨機數據就會保留。

引用自:https://unix.stackexchange.com/questions/400674