为什么我的 SSD 会在内部加密数据,即使没有设置密码?

Tyl*_*den 48 encryption ssd hard-drive data-recovery

最近我的 SSD 出现故障,正在尝试进行数据恢复。数据恢复公司告诉我们,这很复杂,因为内置驱动器控制器使用了加密。我认为这意味着当它向内存芯片写入数据时,它以加密格式将数据存储在芯片上。如果这是真的,他们到底为什么要这样做?

bwD*_*aco 52

永远在线的加密使您可以通过设置密码来保护数据,而无需擦除或单独加密数据。它还可以快速轻松地“擦除”整个驱动器。

  • SSD 通过以明文形式存储加密密钥来实现这一点。当您设置 ATA 磁盘密码(三星称之为 0 级安全性)时,SSD 使用它来加密密钥本身,因此您需要输入密码来解锁驱动器。这可以保护驱动器上的数据,而无需擦除驱动器的全部内容或使用加密版本覆盖驱动器上的所有数据。

  • 在驱动器上加密所有数据还带来了另一个好处:能够立即有效地擦除它。只需更改或删除加密密钥,驱动器上的所有数据都将无法读取,而无需覆盖整个驱动器。一些较新的 Seagate 硬盘驱动器(包括一些较新的消费类驱动器)将此功能实现为Instant Secure Erase1

  • 由于现代硬件加密引擎如此快速和高效,禁用它并没有真正的性能优势。因此,许多较新的 SSD(和一些硬盘驱动器)具有始终开启的加密功能。事实上,大多数较新的 WD 外置硬盘都有始终开启的硬件加密


1回应一些评论:考虑到政府可能在不久的将来解密 AES,这可能并不完全安全。但是,对于大多数消费者和试图重复使用旧驱动器的企业来说,这通常就足够了。

  • @TechMedicNYC 如果您知道在未来几十亿年内破解 AES-256 的方法,请分享。 (10认同)
  • “禁用它没有真正的优势”。是的,就在问题中。如果驱动器丢失或弄乱了密钥……基本上数据恢复的机会为 0……除非您让 NSA 为您工作。 (8认同)
  • “SSD”指的是 OP 的磁盘。这并不是说*每个* SSD 都是自加密的。编辑以解决索赔。 (6认同)
  • 我喜欢业界试图说服用户丢弃加密密钥==破坏数据的方式。实际上*它肯定不是*。加密只会为攻击者争取时间来恢复您的数据。如果您想要“安全擦除”,那么您实际上需要覆盖数据。 (4认同)
  • 我只是 [编辑以澄清这一具体主张](http://superuser.com/revisions/986390/4)。请记住:这些问题和答案适用于其他人以及原始海报。尽可能清楚地了解上下文有助于每个人,包括将来会偶然发现此线程的用户。 (2认同)
  • @TechMedicNYC Quantum 计算,根据我们今天所知,只会将有效安全级别降低到密钥空间的平方根。这在实践中意味着,在存在量子计算的情况下,AES-256 具有有效的 128 位安全级别,我们需要将对称密钥长度加倍。比较 http://security.stackexchange.com/a/6149/2138、http://crypto.stackexchange.com/a/21087/1142、http://crypto.stackexchange.com/a/25390/1142 等通常是 [crypto.se] 的标签 [post-quantum-cryptography](https://crypto.stackexchange.com/questions/tagged/post-quantum-cryptography)。 (2认同)

Jou*_*eek 34

这是一个美丽的完全优雅的黑客,用于减少磁盘磨损。MLC 驱动器上的加扰/随机数据还提高了较小进程大小的可靠性 - 请参阅本文和这两个参考专利(此处此处,加密数据本质上是随机的(感谢 alex.forencich 在评论中对此进行了挖掘)。从某种意义上说,AES 加密的工作方式与用于在非加密 ssd 上随机化数据的 LSFR 相同,只是更快、更好、更简单。

这类驱动器被称为自加密驱动器,很多现代 SSD 都是这样构建的。本质上,加密相对“便宜”,并且允许您在 SSD 上存储加扰的数据(某些驱动器在没有加密的情况下这样做以提高可靠性)。如果需要格式化?只需通过丢弃密钥使数据无法访问,直到需要空间为止。它是在固件级别完成的,并在运行中解密。这也有助于减少磨损,因为数据在此过程中是分散的。

除非您在 bios 中设置 HDD 安全密码,或设置其他类型的受支持的安全/加密选项,否则所有这些都会阻止某人拆焊您的 NAND 芯片并在其他地方读取它们,或者放入一个新控制器并获取您的数据 -请参阅此 AnandTech 对英特尔 320 的评论。当然,当您的驱动器死机时,如果它是控制器,那正是恢复服务最终会做的事情。除非他们能够以某种方式从其存储位置(固件?)恢复加密密钥并传输它,否则这可能是不可能的。

简而言之,加密可延长磁盘的使用寿命,并使其在删除文件时“更快”。

  • 它非常优雅,因为您希望在磁盘上的 1 和 0 之间取得平衡,以确保它均匀磨损。所以你想要比特的均匀分布,这是正常数据非常糟糕但加密数据非常擅长的。因此,他们通过 AES 运行所有内容以保持 1 和 0 均匀分布,优雅的解决方案还具有能够通过忘记密钥来安全擦除驱动器的附带好处。 (9认同)
  • @r_ahlskog“您希望在磁盘上的 1 和 0 之间保持平衡,以确保它均匀磨损”嗯,您有此声明的来源吗? (9认同)
  • 现代闪存中的位非常小,以至于它们之间存在串扰。因此,如果以相同的方式设置过多的相邻位,则可能会导致比随机位更多的位错误。因此,使用“加扰”或“白化”技术来平衡 1 和 0 的数量。这可以通过一个简单的线性反馈移位寄存器来完成。或者可以使用像 AES 这样的算法来完成,该算法可以有效地对位进行加扰,同时还提供一些不错的安全性和快速安全擦除的好处。 (6认同)
  • 您认为 SSD 实施加密的原因是为了减少磁盘磨损的说法,您认为有哪些来源?这对我来说似乎是一个荒谬的说法,因为 SSD 知道哪些空间是空闲的,无论如何它们都会预先擦除它,而且安全擦除很少见。此外,有许多明显的理由支持固件中的加密,而这些与擦除无关。 (5认同)
  • 这是一个更好的,专门与使用 AES 进行加扰相关的:https://www.jstage.jst.go.jp/article/elex/11/13/11_11.20140535/_article (4认同)
  • @TylerDurden 如果您有任何有价值的数据,请进行备份。只存储一次数据就像根本不存储它。SSD 以立即完全失败而闻名。在 HDD 上,您仍有机会在大部分时间阅读某些部分。如果 SSD 坏了,那就坏了。 (3认同)
  • 您可能没有使用正确的搜索词。我发现 http://soc.yonsei.ac.kr/Abstract/International_journal/pdf/106_Data%20Randomization%20Scheme%20for%20Endurance%20Enhancement%20and%20Interference%20Mitigation%20of%20Multilevel%20Flash%20Devices.pdf,其中引用了几项美国专利,https://www.google.com/patents/US8261159 和 https://www.google.com/patents/US8713330。 (3认同)
  • 无论如何,事实并非如此:Flash 不是对称的。块擦除通常将所有位设置为 1,并通过电介质注入电荷将它们编程为 0。这就是磨损的原因。 (2认同)
  • 是的,这很不幸。不管怎样,我链接的最后一篇论文可能是四篇论文中最好的一篇——它探讨了你所提出的确切论点。它专门探讨了用 AES 完全取代基于 LFSR 的扰码器。图 9 是金钱镜头,与基于 LFSR 的扰码器相比,AES 的性能相同甚至稍好一些。 (2认同)