最近我的一个 SSD 出现故障,正在尝试进行数据恢复。数据恢复公司告诉我们,这很复杂,因为内置驱动器控制器使用加密。
我推测这意味着当它将数据写入内存芯片时,它会以加密格式将其存储在芯片上。
如果这是真的,他们为什么要这么做?
答案1
始终加密功能可让您通过设置密码来保护数据,而无需擦除或单独加密数据。它还可以快速轻松地“擦除”整个驱动器。
SSD 通过以纯文本形式存储加密密钥来实现这一点。当您设置 ATA 磁盘密码(三星称之为 0 级安全性)时,SSD 会使用它来加密密钥本身,因此您需要输入密码才能解锁驱动器。这可以保护驱动器上的数据,而无需擦除驱动器的所有内容或用加密版本覆盖驱动器上的所有数据。
加密硬盘上的所有数据还带来了另一个好处:可以立即有效地擦除数据。只需更改或删除加密密钥,硬盘上的所有数据都将无法读取,而无需覆盖整个硬盘。一些较新的 Seagate 硬盘(包括几款较新的消费级硬盘)实现此功能为即时安全擦除。1
由于现代硬件加密引擎非常快速和高效,因此禁用它并没有真正的性能优势。因此,许多较新的 SSD(和一些硬盘)都具有始终开启的加密功能。事实上,大多数较新的 WD 外置硬盘都具有始终开启的硬件加密功能。
1回应一些评论:考虑到政府可能在不久的将来能够解密 AES,这可能并不完全安全。但是,对于大多数消费者和试图重复使用旧驱动器的企业来说,这通常已经足够了。
答案2
它是一个美丽的完全优雅的黑客曾经节省磨损在磁盘上。MLC 驱动器上的数据扰乱/随机化也提高了较小进程规模的可靠性 - 请参阅这张纸以及这两个引用的专利(这里和这里,加密数据本质上随机的(感谢 alex.forencich 在评论中挖掘出这一点)。从某种意义上说,AES 加密的工作方式与用于在非加密 SSD 上随机化数据的 LSFR 相同,只是速度更快、更好、更简单。
这类驱动器被称为自加密驱动器,而且相当多的现代固态硬盘都是这样构建的。本质上,加密是相对“便宜的',并允许你将数据加密后存储在 SSD 上(有些驱动器无需无论如何都要进行加密以提高可靠性)。如果需要格式化?只需通过丢弃密钥使数据不可访问,直到需要空间为止。它是在固件级别完成的,并且是动态解密的。这也有助于节省磨损,因为数据在此过程中会分散开来。
除非你在 BIOS 中设置了硬盘安全密码,或者设置了其他类型的受支持的安全/加密选项,否则所有这些都可以防止某人拆焊你的 NAND 芯片并在其他地方读取它们,或者放入新的控制器并获取你的数据 - 请参阅 AnandTech 对英特尔 320当然,当您的驱动器坏了,如果是控制器坏了,那么恢复服务最终会这样做。除非他们能以某种方式从存储位置(固件?)恢复加密密钥并将其传输,否则这可能是不可能的。
简而言之,加密可以延长磁盘的使用寿命,并使其删除文件的速度更快。
答案3
出于安全原因!SSD 将数据杂乱地存储在各个地方和不同的闪存芯片上。由于闪存可能会损坏,因此它们的存储空间都比宣传的要大,并且可用空间也更大。
现在假设您的磁盘上有未加密的绝密信息。您现在认为这是一个愚蠢的想法,并加密了整个驱动器。
但是你不能加密整个驱动器。SSD 只显示 16GB 空间,而内部空间为 20GB(实际上,额外空间更少)。你加密了全部 16GB,但驱动器内部仍有 4GB,你无法知道那里存储了什么。也许一个闪存芯片甚至有部分缺陷,驱动器将永远不会再接触它。数据窃贼仍然可以直接从中读取数据。
另一个原因是允许快速销毁数据。如果您必须以 400MB/s 的速度擦除 1TB SSD,则需要 42 分钟。如果您想远程擦除被盗笔记本电脑中的 SSD,在这 42 分钟内,小偷会发现有问题并切断电源。出于同样的原因,大多数较新的智能手机默认都是加密的,即使您不需要任何密码。
擦除加密的 SSD/手机只需擦除 128 位(或 256 位)密钥即可。此后,所有数据都毫无价值。这只需不到一秒钟。