我使用 Luks 以及 Grub 和 initramfs 来加密我的硬盘。我不想留下任何疑问,例如有人可以取出我的SSD,将其放入其他东西或克隆它,然后尝试进入它。
所以目前我有一个静态密钥文件和密码。为了帮助解决这个问题,我想要一个 bash 文件,它生成作为密钥文件返回的哈希值,该文件由 UUID + 随机盐/密钥 + luks 的未哈希密码或只能在该物理计算机上访问的其他哈希密码组成。
我说未散列的原因是因为我不想从标头中检索任何可能对任何人有用的东西,而且我觉得这三件事足够强大,足以使我取出硬件的任何附件变得毫无价值。这样,即使有人找到了密钥文件(当我陷入紧急 shell 时,这很奇怪地发生在我身上),对他们来说基本上毫无用处。
我可以编写 bash 脚本来执行此操作,并且更改 luks 密码也是如此,但是我正在努力解决的部分是在 Grub 的末尾,因为目前我正在使用GRUB_CMDLINE_LINUX
,具体而言cryptkey=rootfs:/path/to/file
,这需要执行 bash 脚本。
对于 initramfs,我FILES
在 中使用/etc/mkinitcpio.conf
。
这是否可能,或者我是否需要其他东西来尝试实现这一目标?我对这方面有点不确定,找不到任何实质性内容。
提前致谢。
答案1
GRUB_CMDLINE_LINUX
我认为使用or不可能做到这一点initramfs
。您可以使用预启动身份验证 (PBA) 工具,例如TrustedGRUB
,它可用于从 USB 驱动器运行脚本,但随后您将依赖于 USB 驱动器的完整性,而这不一定是安全的。
另一种选择是使用存储在安全元件上的密钥文件,例如 YubiKey。这比使用 USB 驱动器更安全,因为它更不容易受到物理攻击。