Kernel

核心映像或 initramfs 中的 eCryptfs 密鑰

  • August 2, 2014

我有一個嵌入式 Linux 系統,它在 NAND 快閃記憶體中具有未加密的核心映像和 initramfs。我的 RootFS 在 SD 卡中。

我想加密 SD 卡上的一些文件,因為我的 SD 卡很容易物理訪問。

為此,我打算使用 eCryptfs。

但我想將密鑰保留在核心映像或 initramfs 中的 NAND 快閃記憶體中。我有什麼選擇,什麼是保護 SD 卡上某些文件的最佳方法。

如果您沒有initramfs,則可以使用核心參數來完成。只需添加一個隨機字元串作為核心參數,然後/proc/cmdline用作加密的密鑰。如果將此類參數添加到引導載入程序並不容易,Linux 核心有一個CMDLINE配置選項可以讓您編譯它。(注意:核心參數可能會出現在日誌文件等中。它是否適合您的場景取決於您的 SD 卡上執行/寫入的內容。)

使用initramfs,您當然可以自由地做任何您想做的事情。它可以在啟動時詢問您的密碼,或者包含一個密鑰,或者兩者都使用加密密鑰。這取決於您,但確切的實現取決於您的initramfs在沒有此類修改的情況下的樣子。您可以線上查看各種initramfs指南以了解其工作原理,例如:https ://wiki.gentoo.org/wiki/Custom_Initramfs

您只需要小心不要在 SD 卡本身上留下未加密的密鑰副本。同時,您應該在某處擁有一份副本,因為如果設備損壞,可能很難將其從 NAND 中取出。

引用自:https://unix.stackexchange.com/questions/147980