是否有任何关于 SSD 的硬件加密安全性的研究 - 例如三星 EVO 850?或者至少有任何文章解释了它是如何工作的?
SSD 的硬件全盘加密 (FDE) 有多安全
TL;DR:不要在任何存储介质上使用硬件加密,无论是拇指驱动器、HDD 还是 SSD!这是一个非常非常糟糕的主意!
众所周知,硬件制造商已经包含了后门,或者只是在加密数据方面非常非常愚蠢。他们只是对所有设备使用相同的密钥,或者他们让加密密钥未加密并希望没有人会以允许某人在不知道密码的情况下访问它们的方式更改固件。我已经听过并阅读了很多,并且不可能向您展示我的实际来源,但这里有一篇文章证实了我刚刚声称的内容。
众所周知,硬件制造商也被迫降低加密级别。我和上面一样知道这一点,这篇文章证实了这一点。
想象一下使用硬件加密时发生的情况。您从声称只有知道密码的人才能访问存储在其中的数据的人那里购买了那个神奇的设备。那个人没有向你展示它是如何工作的。他们也可能对您撒谎(请参阅上一段中链接的文章),您几乎没有机会发现。您无法验证或反驳这些说法。
当然,也不要相信硬件制造商的软件加密。大约 5 年前,我从 SanDisk 购买了一个 USB 记忆棒(现在还在,最后一次使用它是一个小时前),它带有一个“加密软件”。我从来没有使用过那个加密软件,不仅因为它违反了人们应该坚持的所有加密标准(见最后一段),而且因为经过很少的研究我发现那个软件(它只适用于 MS Windows,这本身就是另一个很好的理由永远不要使用它)如果输入了正确的密码,则将 1 或 2 个字符(我忘记它是 1 还是 2 但没关系)写入它在 Windows 用户文件夹中创建的文件。这 1 或 2 个字符显示用户有权访问文件的应用程序。如果您只是将正确的内容写入文件(对于使用该软件的每个人来说都是一样的),您可以在不知道密码的情况下访问存储在拇指驱动器上的数据。所以也不要用那个。
软件加密要好得多,因为您作为用户控制使用哪个软件。你可以看看,花钱请人看看,如果是常用的(而且应该是!),反正别人看看,如果是公开开发的,还有人公开争论如何它应该尽可能安全,并且那些人彼此不信任。
此外,您可以更轻松地切换用于加密的软件。如果您使用硬件加密,一旦您拥有硬件,您就可以使用硬件提供的特定加密。你会不愿意花很多钱买新硬件,把旧硬件扔掉,即使因为“没那么糟糕”而被揭露存在安全问题。“反正没人会攻击我。” 而您会在一天之内扔掉具有类似缺陷的软件并换成不同的软件。
仅当加密软件免费且被广泛接受以确保安全时才使用它。它是免费的,如果你不知道的话,你可以获取它的源代码。(并不是说开源是必要的,还不够。)如果您被拒绝访问源代码,永远不要相信应用程序!这当然包括不信任它来保护您的数据免受未经授权的访问。如果它没有被广泛接受是安全的,那么创建它的人很可能会犯错误(一个人可能会在加密方面犯很多错误,并且必须做得非常好才能使加密安全),甚至恶意使其不安全,其中可能包括根本不加密任何东西。
AES-128 或 256 的对称加密是安全的。
但是,它有自己的取舍。
由于内置在硬盘驱动器中,密钥存储在驱动器上并受密钥保护。现在的问题是,在每个驱动器中都有一种方法可以以某种方式绕过它并恢复密钥。即使技术上可行,硬件供应商也不太可能为此提供足够的保护。
因此,对于大多数 SSD 和 AES,取证公司可能能够在不知道密码或完全破解它的情况下对其进行解密。
另一方面,软件加密要求您输入密码来解锁密钥,然后将密钥存储在 RAM 中。
由于无法解密驱动器,因此可以通过冷启动攻击从挂起的笔记本电脑中解密。
我不认为是否有一些可靠的方法可以做到这一点。我认为一种选择是将密钥存储在 TPM 中,然后使用受信任的内核将其传输到硬盘驱动器固件。另一种方法是使用 20 或 40 个字符的随机密码,这是一个密钥,一旦输入,它就会传输到硬盘驱动器固件。
无论如何,使用像 LUKS 这样的软件加密,你有更好的机会在被盗时不解密驱动器。使用 AES 的方式也可能更好。