Encryption

隨機化高畫質的快速方法?

  • December 28, 2019

我已經閱讀了有關如何使硬碟驅動器安全加密的資訊,其中一個步驟是將隨機位寫入驅動器,以使加密數據與硬碟驅動器上的其餘數據無法區分。

但是,當我過去嘗試使用dd if=/dev/urandom of=/dev/sda時,ETA 看起來只有幾天。我看到了一些關於使用badblocks代替 urandom 的東西,但這似乎並沒有太大幫助。我只想知道是否有任何方法可以幫助我加快速度,例如選項dd或我可能缺少的其他東西,或者速度是否只是 HD 的限制。

dd if=/dev/urandom of=/dev/sda,或者簡單地說 cat /dev/urandom >/dev/sda,並不是用隨機數據填充磁碟的最快方法。Linux/dev/urandom並不是最快的加密 RNG。/dev/urandom 有替代方案嗎?有一些建議。特別是,OpenSSL 包含更快的加密 PRNG:

openssl rand $(</proc/partitions awk '$4=="sda" {print $3*1024}') >/dev/sda

請注意,最終是否有改進取決於哪個部分是瓶頸:CPU或磁碟。

好消息是,用隨機數據填充磁碟幾乎是無用的。首先,為了消除一個普遍的神話,用零擦除在今天的硬體上同樣好。使用 1980 年代的硬碟技術,用零覆蓋硬碟會留下少量剩餘電荷,可以通過稍微昂貴的硬體來恢復;需要用隨機數據進行多次覆蓋(“Gutmann 擦除”)。今天,即使是用零覆蓋的單遍也會留下即使在實驗室條件下也無法實際恢復的數據。

加密分區時,不必為加密數據的機密性填充隨機數據。僅當您需要使加密數據使用的空間與未使用的空間無法區分時才有用。在非隨機容器之上建構加密卷可以揭示加密卷曾經使用過哪些磁碟塊。這為文件系統的最大大小提供了一個很好的提示(儘管隨著時間的推移,它會變得越來越差),僅此而已。

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