我想知道 Ubuntu/eCryptfs 在運行時將加密的 $HOME 目錄中的解密檔案儲存在哪裡。
- 它是否及時解密檔案並將其僅儲存在 RAM 中?
- 那麼大檔案(例如 20Gb 的 1080p 電影)呢?
- 系統關閉後硬碟上是否可能殘留有一些解密的檔案?
- 解密/加密是否會顯著影響作業系統效能?
答案1
解密後的檔案儲存在 RAM 中。解密(或寫入時加密)是動態發生的,逐塊發生,而不是一次針對整個檔案。當應用程式從檔案中讀取區塊時,檔案由磁碟驅動程式和檔案系統驅動程式之間的層解密。
解密的檔案不會寫入磁碟,但應用程式可以將資料寫入未加密的檔案系統。特別是,如果您有加密的檔案系統,則應該加密交換空間,因為應用程式記憶體中的資料最終可能會出現在交換空間中。您還應該加密應用程式用於臨時儲存的目錄,例如/tmp
(可以將其製作為 tmpfs,以便儲存在交換空間中)、、/var/tmp
(/var/spool/postfix
電子郵件)、/var/spool/cups
(正在列印的文件)等。
加密是否影響效能很大程度上取決於處理器速度和磁碟速度之間的比率。使用慢速磁碟和快速處理器,您不會注意到任何事情。使用緩慢的處理器和非常快的磁碟,您會感到痛苦。最近的 Intel 和 AMD 處理器具有 AES 硬體加速器(AES-NI)最近的 Linux 核心利用了哪些功能。