SSD 的安全擦除仅需几秒钟,这正常吗?

SSD 的安全擦除仅需几秒钟,这正常吗?

在尝试使用金士顿 SSD 管理器 (KSM) 来处理我的 SA400 480GB 硬盘失败后,我求助于金士顿的 Linux 进程,该进程使用hdparm。与 KSM 不同,它无法执行任何操作,因为硬盘无法离开安全冻结模式,在从睡眠状态恢复后hdparm显示not frozen,并且其安全擦除命令已成功完成,但仅花费了几秒钟。我最初按照 KSM 用户手册的要求从硬盘中删除所有分区,因此hdparm运行时它是空的。甚至来自的输出也hdparm显示:

安全擦除单元需要 6 分钟。增强安全擦除单元需要 6 分钟。

所以 2 秒听起来太快了。有什么问题吗?

答案1

这些数字实际上只是驱动器控制器固件中编码的一些值。您的供应商实际上可以随意使用他们喜欢的任何数字,是的,实际上,您甚至可能会碰到驱动器将所需长度报告为小时,而命令只需SECURITY ERASE UNIT一眨眼即可完成。

虽然你可以看到 ATA/ACS 规格提示SECURITY ERASE UNIT应该是一个触发使用特定模式的数据进行覆盖的命令,这在很大程度上是因为该功能集可以追溯到 SSD 出现之前。此外,实际上没有人能保证任何供应商都会按照规范实现一切。

对于 SSD,由于 P/E 周期数有限等正当原因,几乎没有供应商实施SECURITY ERASE UNIT实际写入。相反,即逻辑块与后面的实际内存之间的映射被破坏(当对块发出“TRIM”时,至少在某些驱动器上也会发生这种情况)。

有人说,如果在驱动器上部署了透明加密,该命令也会触发加密密钥的更改,但如果您真的担心安全性和/或合理的否认,请不要假设情况确实如此,因为除了命令/功能集有这个词之外SECURE,规范中甚至没有暗示该命令会导致这种情况。(当然,您可以选择相信每个供应商都会“遵守惯例”和/或“合理”。)

PS 更重要的是,操作速度快并不一定意味着已经部署了透明加密。没有什么要求这样的“因果关系”。对于所有逻辑块(即地址)“读取零”,只需控制器在其内存中标记所有块都未映射,并且它将对已用零标记为未映射的块“响应”。 (因此,如果触发了垃圾收集/内存块擦除,则不必在命令“SECURITY ERASE UNIT返回”之前同步完成。)

答案2

如果驱动器已加密(SED),它只会擦除硬件密钥,从而无法解密。

最有可能的是,非加密驱动器实际上需要 6 分钟的时间覆盖删除纯文本信息。

从技术上讲,没有办法确定——即使是磁盘看着未加密的数据实际上可以在一秒钟内加密并安全删除。为确保安全,您必须获得供应商的明确信息。

相关内容