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


49

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


4
请编辑您的问题,以添加有关此SSD运行的操作系统以及该SSD的确切型号的详细信息。据我所知,除非您启用了全盘加密或驱动器具有本机加密,否则这听起来像是数据恢复公司的诡计,使它们无法执行某种“魔术”操作,从而阻止了它们恢复数据。与所有其他存储设备一样,SSD应该仅以原始格式存储数据,并且默认情况下不应存储任何加密格式。
JakeGould 2015年

1
默认情况下,某些外部驱动器确实具有硬件加密功能,但是我不确定内部驱动器是否也可以加密数据
phuclv 2015年

8
@JakeGould 许多现代驱动器都在内部进行了加密。烦人的是,当您实际需要资源时,找到它们是一件很痛苦的事情,但是至少至少是sandforce的控制器确实可以做到这一点。
Journeyman Geek

3
@JakeGould:许多更新的SSD控制器,包括所有最近的SandForce和Samsung控制器,都使用永远在线加密。某些较新的Seagate硬盘驱动器(包括几种家用台式机模型)正在自我加密(请参阅此处;这是启用即时安全擦除功能的原因)。大多数较新的WD外部硬盘驱动器都是自加密的。
bwDraco

1
由于损耗平衡的原因,SSD加密或至少加密数据(此处需要引用!)。出于相同的原因,HDD无需在固件级别加密数据。
Journeyman Geek

Answers:


52

永远在线加密允许您通过设置密码来保护数据,而不必擦除或单独加密数据。它还使快速,轻松地“擦除”整个驱动器成为可能。

  • SSD通过以明文形式存储加密密钥来实现此目的。设置ATA磁盘密码(三星将其称为0级安全性)时,SSD会使用它自己对密钥进行加密,因此,您需要输入密码才能解锁驱动器。这样可以保护驱动器上的数据,而不必擦除驱动器的全部内容或使用加密版本覆盖驱动器上的所有数据。

  • 将所有数据加密在驱动器上还带来了另一个好处:即时有效擦除数据的能力。通过简单地更改或删除加密密钥,驱动器上的所有数据将变得不可读,而不必覆盖整个驱动器。某些较新的Seagate硬盘驱动器(包括几个较新的用户驱动器)将此功能实现为即时安全擦除1个

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


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


6
“ SSD”是指OP的磁盘。这并不是说每个 SSD都是自加密的。编辑以解决索赔。
bwDraco

2
我只是进行编辑以澄清此特定要求。切记:这些问题和答案适用于其他人以及原始海报。尽可能清楚地了解上下文可以帮助所有人,包括将来会偶然发现此线程的用户。
JakeGould 2015年

4
我喜欢业界如何说服用户丢弃加密密钥就是==破坏数据。实际上,它当然不是。加密只会花费对手花费时间来恢复数据的时间。如果要“安全擦除”,则实际上需要覆盖数据。
詹姆斯

8
“禁用它没有真正的优势”。是的,有一个问题。如果驱动器丢失或弄乱了钥匙,那么基本上可以恢复数据的机会为零。
Fizz

10
@TechMedicNYC如果您知道在不到数十亿年的时间内打破AES-256的方法,请分享。
2015年

33

这是一个美丽而完全优雅的技巧,用于节省磁盘上的磨损。MLC驱动器上的加扰/随机化数据还提高了较小工艺尺寸的可靠性-请参阅本文和这两个参考专利(此处此处,加密数据本质上是随机的(感谢alex.forencich在评论中进行了深入研究))。从某种意义上说,AES加密的工作方式与用于将未加密ssd上的数据随机化的LSFR相同,只是更快,更好和更简单。

此类驱动器称为自加密驱动器,并且这样构建了许多现代SSD。从本质上讲,加密是相对“ 便宜 ”的,并且允许您将加扰的数据存储在SSD上(某些驱动器无需加密即可执行此操作,以提高可靠性)。是否需要格式化?只是通过丢弃密钥使数据不可访问,直到需要空间为止。它是在固件级别完成的,并且会实时解密。由于数据会在过程中分散,因此这也有助于节省磨损。

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

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


5
您认为有哪些来源支持SSD实施加密的原因是为了节省磁盘磨损?这对我来说似乎是荒唐的,因为SSD知道什么空间是可用的,所以无论如何都会对其进行预擦除,并且很少进行安全擦除。同样,有很多明显的理由支持固件中的加密,而这与擦除无关。
David Schwartz

9
它非常疯狂,因为您希望在磁盘上的1和0之间保持平衡,以确保磁盘均匀磨损。因此,您希望位的分布均匀,普通数据的性能极差,而加密数据的性能极佳。因此,他们通过AES来运行所有内容,以保持1和0均匀分布,这是一种优雅的解决方案,它还有一个好处,就是可以通过忘记密钥来确保擦除驱动器。
r_ahlskog 2015年

9
@r_ahlskog“您希望在磁盘上的1和0之间保持平衡,以确保磁盘均匀磨损”嗯,您有说法的消息来源吗?
David Schwartz

6
现代闪存中的位太小,以至于它们之间存在串扰。因此,如果以相同的方式设置太多相邻位,则与这些位的随机性相比,它可能导致更多的位错误。因此,使用“加扰”或“增白”技术来平衡1和0的数量。这可以通过简单的线性反馈移位寄存器来完成。或者可以使用诸如AES之类的算法来完成,该算法可以有效地加密比特,同时还提供一些不错的安全性和快速安全的擦除好处。
alex.forencich 2015年

4
这是一个更好的方法,专门用于使用AES进行加扰:jstage.jst.go.jp/article/elex/11/13/11_11.20140535/_article
alex.forencich 2015年

3

出于安全原因!SSD将已加扰的数据存储在各处以及不同的闪存芯片上。由于闪存可能会损坏,因此它们所有的存储空间都比公告和可用的存储空间大。

现在,假设您的磁盘上有最高机密信息未加密。现在,您认为这是一个愚蠢的主意,并对整个驱动器进行加密。

但是您不能加密整个驱动器。SSD仅显示16GB的空间,而内部有20GB(实际上,额外的空间更少)。您对所有16GB进行了加密,但是驱动器内部仍然有4GB,您无法知道其中存储了什么。也许一个闪存芯片甚至有部分故障,驱动器将永远不会再接触它。数据窃贼仍然可以直接从中读取数据。

另一个原因是允许快速销毁数据。如果您必须以400MB / s的速度擦除1TB SSD,则需要42分钟。如果您想用失窃的笔记本电脑远程擦拭SSD,则在这42m内,小偷会发现有问题,并切断了电源。出于同样的原因,即使您不需要任何密码,大多数较新的智能手机也会默认进行加密。

擦除加密的SSD /电话仅需擦除128位(或256位)密钥即可。在那之后,所有数据都一文不值。。这花费不到一秒钟。


明智的长时安全擦除过程将通过存储某种标志开始,该标志仅在过程成功运行完成后才清除,并且计数器会指示擦除进行了多远。如果设备已开机并且设置了此标志,请从其上次中断的地方继续擦除。快速的第一步是简单地擦除闪存块映射表,这将导致可使用纯文本,但无法知道哪些部分可以组合在一起。许多盗贼只对他们从硬件中获得的金钱感兴趣,而对数据则几乎没有兴趣。
CVn 2015年

@MichaelKjörling根本不起作用。如果您真的对数据感兴趣,可以删除该标志。或不使用控制器直接读取闪存芯片。
约瑟夫(Josef)

除了大多数盗贼对数据感兴趣之外!他们想要可以出售的硬件来赚钱,而且(除非您是从事Snownow文档工作的记者,否则)不在乎计算机上存储的内容。擦除闪存映射表也非常快。和我们所谈论的对手谁愿意拆焊或手动重新编程芯片的时候,我们的方式在第一时间超出了几乎所有的普通贼。如果您拥有足够有价值的数据以至于可以将其计入威胁模型,则需要使用强密码。
CVn 2015年

如果小偷不感兴趣,在这种情况下,@MichaelKjörling也可以根本不删除数据。
2015年

“因为闪存可能会损坏”是一个很好的故事,但不是仅显示一部分SSD容量的原因。[主要原因]是性能。
Hennes
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.