预加密擦除,为什么?

预加密擦除,为什么?

我想知道为什么,加密并安装在驱动器上,Kali:

  1. 擦除了整个驱动器
  2. 用 0 填充驱动器
  3. 将驱动器填满 1s
  4. 用随机数据填充驱动器
  5. 再次擦除驱动器

我知道 Kali 并不是要安装的,但这不是重点。

那么,在安装之前(例如在全新的 HDD 上),这有什么用处呢?我习惯于在硬盘移除时看到这一点,而不是在安装时看到。

答案1

进行多次传递是没有意义的。一次就够了。

用随机数据填充待加密驱动器主要有两个用途:

  • 摆脱旧的、未加密的数据
  • 使可用空间与加密数据无法区分

通常,如果您加密,您不希望任何人看到您的数据。因此,如果您在此驱动器上有旧的、未加密的数据,您很可能也想将其删除。 SSD 可以更轻松、更快地处理它blkdiscard。事实上,Linuxmkfs会在不询问您确认的情况下修剪所有数据,这使得任何类型的数据恢复都变得不可能。 Linux中的TRIM太多了。

自由空间是一个灰色地带。如果您不预先填充随机数据,在全新的 HDD 上,从未写入的扇区将为零。在 SSD 上,如果允许丢弃/修剪,可用空间也将为零。

虽然这不会以任何方式影响您的数据(它仍然是加密的),但它会显示您拥有多少可用空间/实际数据,以及这些可用空间/数据所在的位置。例如,hexdump -C经过修剪的加密 SSD 看起来有点像这样:

# hexdump -C /dev/ssd | grep -C 2 '^\*'
...
--
b3eabff0  dc c9 c7 89 16 ca d3 4f  a3 27 d6 df a0 10 c3 4f  |.......O.'.....O|
b3eac000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f70000  5a 99 44 b5 9c 6b 1e 9c  81 cf 9a 43 b6 23 e9 0f  |Z.D..k.....C.#..|
b3f70010  2c e6 9a 5d 59 9b 46 5f  21 3f 4d 5f 44 5b 0a 6b  |,..]Y.F_!?M_D[.k|
--
b3f70ff0  5f 63 8d e8 c4 10 fd b1  a6 17 b5 7d 4a 57 09 68  |_c.........}JW.h|
b3f71000  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
*
b3f72000  5d 1c 09 dd c9 6b 57 18  db 67 e1 35 81 57 45 8e  |]....kW..g.5.WE.|
b3f72010  0f a8 be 39 ae e5 5f cf  cf e3 8b a7 c1 25 1a a3  |...9.._......%..|
--
...

由此您可以看出我在地址0xb3eac000 .. 0xb3f70000, b3f71000 .. b3f72000, ... 处有可用空间段,而其相反的当然是数据段,例如0xb3f70000 .. b3f71000.

你能用它做什么?好吧,什么也没有(*)。

(*)是我想说的。但人们有创造力。可用空间模式可用于派生您使用的文件系统的类型(由于它们存储元数据的方式/位置 - 如果有可用空间ext4可以存储其元数据备份之一,则很可能没有ext4,等等)。有时它甚至会显示您使用的发行版(如果您的 Linux 安装程序确定地填充文件系统,文件可能始终位于相同的物理地址)。此时,有人可能知道特定系统文件的位置,并可以以某种方式修改/损坏它。 (安装程序应该随机化他们填充文件系统的方式以防止这种情况发生。)

然而,这些考虑都是非常理论上的,与大多数加密安装由于其他原因而容易受到攻击的情况相比,风险非常低。在大多数开箱即用的安装中,篡改 initramfs、安装键盘记录器或利用正在运行的系统更有可能/更简单,而不是以某种方式获得对加密数据的原始访问和分析并希望通过这种方式实现任何目标。

在担心释放可用空间之前,您应该首先担心这些。

对于 SSD,启用 TRIM 是完全正常的,因此可以始终显示可用空间。对于在文件层而不是块层工作的加密解决方案也是如此。

对于 HDD,您主要是在新磁盘上进行随机擦除,因为您可以,并且没有理由不这样做,因为它不涉及任何成本(除了首次设置)并且没有任何缺点。

相关内容