Ssd

文件系統加密會對 SSD 造成壓力嗎?

  • September 6, 2014

出於安全目的,我們需要在即將安裝的伺服器上實施完整的文件系統加密。我們使用 CentOS 7 附帶的預設加密設置。

我的問題:由於我們的伺服器使用 SSD 驅動器,我是否應該擔心加密/解密系統會在標準 I/O 訪問的額外讀/寫方面給驅動器帶來額外壓力?我有一種預感,如果有的話,它應該對 CPU 而非 SSD 造成壓力,但我想詳細了解它。

答案取決於加密的設計方式。大多數塊級加密在邏輯扇區和物理扇區之間具有 1:1 映射。這意味著從邏輯設備讀取一個明文扇區轉換為從物理設備讀取一個密文扇區。並且將一個明文扇區寫入邏輯設備轉換為將一個密文扇區寫入物理設備。我希望 CentOS 上的預設設置屬於此類。

這是效率和安全性之間的折衷。這種方法存在某些類型的洩漏,但解決這些問題會增加很多複雜性和相當多的成本。對於任何密碼學家來說,很明顯,由於明文和密文具有完全相同的大小,因此您無法獲得語義安全性。

起初聽起來這種方法意味著加密層根本不會改變 I/O 效率。但是,您確實失去了使用TRIM命令的能力。缺乏 TRIM 支持會降低 SSD 的效率和使用壽命。如果您使用的文件系統無論如何都不支持 TRIM,那麼使用加密在 I/O 方面不會有任何損失。

沒有什麼可以阻止加密層將 TRIM 命令傳遞到物理層,但這樣做會洩露一些有關文件系統上資料結構的資訊。在這裡,您可以看到一些支持此功能的實現文件,但預設情況下不啟用它。

更高級的儲存加密方案是可能的,它們在 I/O 和儲存容量方面有成本,但數據洩露的機會更少。這樣的方案甚至可以在不洩露數據的情況下支持 TRIM。

引用自:https://serverfault.com/questions/626684