为什么在创建 LUKS 分区之前需要清理可用空间?

为什么在创建 LUKS 分区之前需要清理可用空间?

为什么在格式化 luks 驱动器之前将可用空间清零被认为是一个好习惯?即使使用以前从未使用过的全新 USB 闪存驱动器,我也需要执行此操作吗?

答案1

你不需要或不想分区。您希望用随机数据填充它,以便假设的攻击者无法分辨哪些扇区已使用,哪些未使用。通常,这是通过使用随机密钥将其作为普通 cryptsetup 卷打开并在该卷上dd使用 -ing 来完成的。 (这比-ing到分区上/dev/zero要快得多。)然后关闭普通的 cryptsetup 卷并运行。dd/dev/urandomcryptsetup luksFormat

假设您要在其上创建 LUKS 容器的分区或文件是$ENCRYPTED_CONTAINER,容器的名称是$CONTAINER;首先,填充$ENCRYPTED_CONTAINER随机数据(示例代码适用于 Ubuntu 或其他需要运行管理命令的 Linux 变体sudo):

sudo cryptsetup plainOpen --key-file /dev/urandom $ENCRYPTED_CONTAINER $CONTAINER
sudo dd if=/dev/zero of=/dev/mapper/$CONTAINER bs=1M
sudo cryptsetup plainClose $CONTAINER

然后创建一个 LUKS 容器并打开它:

 sudo cryptsetup luksFormat $ENCRYPTED_CONTAINER
 sudo cryptsetup luskOpen $ENCRYPTED_CONTAINER $CONTAINER

相关内容