我想在外部 SSD(三星 T5)上安装 Windows 或 Linux,并将其用作可以在包括 MacBook 在内的多种设备上使用的外部启动介质。
我想知道加密整个 SSD 的最佳和最安全的方法。要解密它,我的计划不是使用密码,而是使用带有密钥/证书的 USB 记忆棒。
所以我需要 SSD 和 USB 才能读取数据。
编辑:如果可以同时使用密码和密钥文件来解密就更好了。
答案1
您的问题可能过于宽泛,无法用合理的长度来回答,但这里有一些提示:
您想使用 Linux。Windows 不喜欢移植到其他机器。您还想使用 UEFI 启动,而不是 BIOS 启动。这是目前最便携的解决方案。
/
使用 LUKS 对存储在 SSD 上的根分区 ( ) 进行全盘加密。将未加密的/boot
分区放在闪存驱动器上。您的密钥无论如何都在同一设备上,因此没有必要加密存储在那里的任何数据。ESP(EFI 系统分区)也应存储在闪存驱动器上。在其上安装 GRUB;它将是启动入口点。
ESP/boot
是启动链的元素,因此切勿让闪存驱动器无人看管。一旦发生这种情况,您必须考虑引导链已被破坏 - ESP/boot
可能已被篡改。/boot
可以使用额外的密码加密以防止这种情况发生,但 ESP 无法加密。因此,如果您怀疑闪存驱动器可能受到损害,但 SSD 位于安全的位置,您必须:
- 找到一台可信赖的 Linux 机器。
- Nuke ESP 和
/boot
,然后从安全备份中重新创建它们或从头开始重建。 - 生成新的加密密钥和
cryptsetup-reencrypt
SSD。
未加密的 ESP 问题可以通过以下方式缓解:
- 使用你的私钥对启动文件进行签名
- 密码保护 UEFI,防止篡改签名数据库
- 更新 UEFI 签名数据库以仅包含您的公钥
- 启用安全启动以防止从未签名的二进制文件启动
- 签名内核和 initrd
- 构建具有嵌入式配置和内核签名强制功能的独立签名 GRUB 二进制文件
但是,您不能这样做,因为您希望您的设置不局限于任何物理机器。