memfd_secret系統調用讓Linux的“秘密內存區域”能力終於被激活
在一年多的打磨過程中,開發人員一直在實現Linux上創建秘密內存區域的能力,這意味著運用這一系統調用後,創建的“秘密內存區域”只有各自的進程才能訪問,而不會映射給其他進程或內核頁表。現在,這個”memfd_secret”系統調用終於在Linux-Next中實現,而且看起來可以合併到內核主線了。
memfd_secret系統調用是在Linux上創建“秘密內存區域”的新接口,用於用戶空間的OpenSSL等用例,尤其是可以用於存儲私鑰,從而減少私鑰在系統內存中暴露的可能性,且沒有任何其他硬件加密方法的支持。
但是為了確保這個memfd_secret功能不被濫用,除非在啟動時通過一個特殊的選項,否則這個在系統中創建秘密內存區域的功能默認是被禁用的。秘密內存功能和memfd_secret系統調用被隱藏在”secretmem_enable”選項後面,至少目前是這樣。
關於memfd_secret系統調用的新消息是,它已經在周一通過Andrew Morton的代碼進入了linux-next.git。鑑於此,我們有可能在即將到來的Linux 5.13 週期中看到這個新的秘密內存區域系統調用會出現,至少這個功能也正在向主線靠近。
關於系統調用和”秘密”內存區域的更多細節可以通過這個頁面找到: