如何加密我的系統(最好使用 lvm + dm-crypt/luks),以便掛起到 RAM 工作,並且掛起到 RAM 時一切都處於加密狀態?
答案1
您所要求的並不是簡單的掛起至 RAM,即保持 RAM 通電並關閉其他所有內容。由於您將從 RAM 中擦除明文過程數據,因此您需要將其全部編組到暫停映像。因此,您必須呼叫休眠(即掛起到磁碟)程式碼。實際的方法是創建一個加密的 ramdisk,將其聲明為交換空間,並用其他進程填充記憶體。即使如此,內核資料也不會被加密;為此,我認為您需要一個相當大的核心補丁。
另一方面,如果您願意掛起到磁碟,那麼這是一個已解決的問題。休眠映像儲存在交換空間。考慮到您的安全要求,您的交換空間應該已經加密。確保它是使用已知密鑰而不是隨機密鑰加密的(某些具有加密交換的設置/dev/random
用作交換空間的密鑰文件,這會導致每次啟動時都會產生不同的密鑰,因此無法恢復休眠狀態圖像)。主要發行版應該支援開箱即用的休眠,包括從加密的交換空間恢復。
答案2
查看tpm-luks
:https://github.com/shpedoikal/tpm-luks
它將您的加密金鑰儲存在電腦的可信任平台模組中。
另一個選擇可能是特雷索爾,它使用CPU暫存器來儲存密鑰。