我有一台旧电脑,准备处理掉,它使用 LUKS 全盘加密进行加密。是否可以从 LUKS 元数据中删除加密密钥,以便任何人都无法再次解锁分区?如果可以,我该怎么做?
答案1
只需覆盖 LUKS 标头即可,覆盖整个驱动器对于 LUKS 来说太过分了,并且可能会花费几个小时。
根据密钥的类型和数量,LUKS 标头可能为 1MB、2MB 或更大,ArchWiki 建议擦除/覆盖前 10MB:
dd if=/dev/urandom of=/dev/sdx2 bs=512 count=20480
注意正确的分区 sdx2 或任何分区,您可以使用实时 dvd/usb 进行检查或lsblk
使用以下命令blkid
进行确认cryptsetup
,这将告诉您分区 sdx5 是否是 LUKS 设备:
cryptsetup -v isLuks /dev/sdx5
以下来自 ArchWiki:
笔记:写入 LUKS 加密分区(本例中为 /dev/sdx5)而不是直接写入磁盘设备节点至关重要。如果您确实将加密设置为其他层之上的设备映射器层,例如 RAID 上的 LUKS 上的 LVM,则分别写入 RAID。
如果您知道有效的密码,则只能(或另外)删除所有 luks 密钥槽,不留下任何密钥。请参阅man cryptsetup
或网络版本在这里, 和:
cryptsetup -v luksRemoveKey <device>
或者
cryptsetup -v luksKillSlot <device> <key slot number>
另请注意有关 SSD 的信息(也来自 ArchWiki):
当用随机数据擦除标头时,设备上剩下的所有内容都是加密数据。SSD 可能会出现例外情况,因为 SSD 使用了缓存块。理论上,可能会发生这样的情况:标头在某个时间之前被缓存在这些缓存中,因此在擦除原始标头后,该副本可能仍然可用。出于高度安全考虑,应该对 SSD 进行安全 ATA 擦除(过程请参阅 cryptsetup 常见问题 5.19)。