SSD 分区中的安全删除

SSD 分区中的安全删除

我一直在考虑购买一台使用 SSD 存储数据的 Purism 机器。现在,根据我的研究,由于磨损均衡,SSD 似乎很难安全地删除数据,尤其是在删除特定文件而不是清除整个设备时。幸运的是,Purism 机器的 SSD 默认加密,以规避此问题。但是,这不考虑加密密钥泄露、丢失或通过胁迫获取的情况。

那么,我的问题是:当你对固态硬盘进行分区时,你能确保数据会留在那里,而不会被“移动”到设备的其他部分吗?此外,在这种设置下,你以后可以使用安全擦除、TRIM,甚至用乱码覆盖分区吗?n安全地删除分区中存储的内容需要多少次?如果是这样,最好的做法是什么?在分区磨损严重之前,我可以以这种方式重新使用分区多少次?

非常感谢您的关注!

答案1

虽然您理解的要点是正确的,但仍有一些细小但关键的部分会产生巨大的影响,需要予以纠正。

LUKS(Linux 加密 - 其工作原理与 bitlocker 类似)不使用您的加密密钥直接加密数据(事实上,每个 LUKS 系统最多可以有 8 个不同的加密密钥)。诀窍在于 LUKS 有一个标头,加密密钥用于解锁标头,进而解锁设备。 如果你的加密密钥被泄露,你可以简单地更改密钥 但是仍然存在风险 - 如果有人拥有旧的加密密钥+旧标头的转储,他们可以覆盖标头并使用旧密钥恢复数据 - 但这种风险范围更窄且更可预防。

这也意味着要擦除整个分区,您只需擦除加密标头。

当您在具有安全擦除功能的磁盘上使用 LUKS 时,实际上是使用 2 个标头加密两次。安全擦除的优点是它是在硬件中完成的,因此知道磁盘的几何形状,并且可以确保标头没有被移动/抽象。(缺点是安全擦除不接受审查,可能不像想象的那么安全 - 事实上,有些磁盘由于错误/后门在安全擦除后可以恢复 -https://www.helpnetsecurity.com/2018/11/06/self-encrypting-ssds-vulnerable/

不幸的是,这些都是分区/磁盘级别的解决方案。您无法绝对保证在文件级别删除(尽管某些软件可以使用加密标头在文件级别以类似的方式行事 - 我怀疑某些密码管理器(如兼容 keepass 的软件)会这样做)

答案2

那么,我的问题是:当您对 SSD 进行分区时,您能否确保数据保留在那里而不会被“移动”到设备的其他部分?

不可以,因为固件仅管理内部块的磨损,因此您无法假设硬盘扇区和内部块之间存在任何固定关系。

此外,在此设置中,您稍后可以使用“安全擦除”吗?

是的,你可以,但你会相信固件吗?硬盘制造商已经被发现实施了不良加密。在始终加密设备的情况下,ATA 命令“安全擦除”可以通过驱动器删除内部加密/解密密钥的方式处理。这将使驱动器无法读取。但你能相信固件真的删除了这个密钥吗?此外,驱动器可以减少可能的密钥变体数量。不要相信黑匣子。

只需用乱码覆盖分区 n 次即可安全删除

由于存在内部备用块和逻辑扇区的动态分配,这还不够。

仅该分区中存储了什么?

这不起作用,解释如上所述。

如果是这样,最好的做法是什么?

使用开源软件提供的完整驱动器加密,Truecrypt、Veracrypt、LUKS 等...

在隔断变得太破旧之前,我能用这种方式重复使用隔断多少次?TRIM,甚至

将制造商保证的 TB 数除以驱动器的大小。这样就可以得到可以重写整个驱动器的次数。

示例:驱动器大小为 120 GB,保证为 80 TB,则产生 80 000 GB / 120 TB = ~667 次完整写入。

但这些写入不是必需的。部分覆盖加密密钥所在的区域就足够了。

关于 xxxxxx 的评论

这是否意味着标题不会被移动?

当然它可以移动,但是例如 LUKS 会将标题分散到大量扇区上,这样任何单一的重新分配都无法使固件同时获取完整的标题。

如果您担心这一点,您仍然可以覆盖数据,但如果您的存储空间已经用尽或损坏(设备不再写入或似乎已死),您可以简单地物理销毁它。

请记住,您需要完整的标头信息和数据扇区来解密内容。

相关内容