使用 Linux,我有使用 LUKS 加密的系统和交换/休眠分区,以及使用 Truecrypt 加密的数据分区,我想知道我什么时候让我的笔记本电脑进入休眠状态,如果在计算机关闭之前从 RAM 中擦除了加密密钥,或者如果我必须等待几分钟才能完全免疫冷启动攻击。
从技术上讲,我猜加密软件即使检测到笔记本电脑将要休眠,也很难做到这一点,因为如果它在将内存复制到磁盘之前更改了内存,那么加密卷将不会在恢复时恢复。
可能只有内核可以安全地更改内存而不是磁盘上的内存映像,但它不会知道加密密钥,并且必须擦除整个 RAM,这可能不是默认情况下完成的。
但也许有一个内核选项可以做到这一点?
或者也许可以在休眠完成后但在计算机关闭之前运行一些 pm-utils 脚本?
或者还有另一种方法可以在休眠之后但在关机之前运行某些程序?
或者内核可能有一个更高级的选项,允许软件向内核发布一些内存地址范围,这些地址范围需要在休眠之后但在关机之前擦除?
编辑
显然,可以创建一个在关机后执行的 shutdownramfs(有关 systemd 中的实现,请参见此处),因此可以擦除那里的 RAM 以进行关机。然而,它似乎不需要休眠,而且设置似乎很棘手,至少在不使用 systemd 时是这样。