Memory
文件被解密時會發生什麼?
我將伺服器的 webroot 目錄安裝在受 LUKS 加密保護的分區上。我想知道在解密該分區時文件會發生什麼。做
- 這些文件的未加密版本的副本進入 RAM,或者;
- 這些文件的未加密版本的副本進入臨時目錄,或者;
- 伺服器在每次訪問文件時根據需要解密文件,或者;
- 我錯過的其他場景?
我之所以問這個問題是為了更好地了解解密過程以及它如何影響伺服器在 CPU 和 RAM 方面的資源,以及與 eCryptfs 等文件系統加密相比,使用 LUKS 進行磁碟加密是否更有效。
我嘗試查看維基百科,但找不到任何此類資訊。不確定這是否是問這個問題的最佳地點。如果您不這麼認為,請隨意遷移。謝謝。
LUKS 是一個塊設備加密層,它位於塊設備之上並加密/解密對該設備的所有訪問。沒有未加密的數據會接觸到物理設備。
LUKS 然後提供一個虛擬塊設備,系統使用它來訪問文件。因此,對於不知道正在發生加密的應用程序來說,它是透明的。
考慮一個具有單個塊設備和一個根文件系統的普通系統
/dev/sda1
。如果我們使用 LUKS 對其進行加密,那麼它將處理對該設備的所有直接訪問,並提供自己的設備,例如/dev/mapper/encrypted-root
係統實際使用的設備。這可能在/etc/fstab
:/dev/mapper/encrypted-root / ext4 noatime 0 0
因此,對該文件系統上的文件的每次訪問都將通過 LUKS。
另請注意,LUKS 不知道也不關心它正在處理什麼數據。因此,您可以在其上放置任何東西,無論是直接文件系統、軟體 RAID 陣列、LVM 卷等。LUKS 也可以放置在任何這些之上。
請注意,通過正常記憶體過程記憶體在 RAM 中的數據可能未加密。