为什么在格式化 luks 驱动器之前将可用空间清零被认为是一个好习惯?即使使用以前从未使用过的全新 USB 闪存驱动器,我也需要执行此操作吗?
答案1
你不需要或不想零分区。您希望用随机数据填充它,以便假设的攻击者无法分辨哪些扇区已使用,哪些未使用。通常,这是通过使用随机密钥将其作为普通 cryptsetup 卷打开并在该卷上dd
使用 -ing 来完成的。 (这比-ing到分区上/dev/zero
要快得多。)然后关闭普通的 cryptsetup 卷并运行。dd
/dev/urandom
cryptsetup 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