我正在研究在 Windows 7 上的文件/文件夹级别使用 EFS(加密文件系统)。
我读了维基百科上关于 EFS 的文章,它确实提到了与 Windows 2000 和 XP 相关的几个漏洞。显然,这些漏洞已在后续操作系统版本中得到修复。
然后我找到了这个工具(高级 EFS 数据恢复,AEFSDR):http://www.elcomsoft.com/aefsdr.html在某些情况下,它可以解密 EFS 加密文件。我现在想了解使用此工具时 Windows 7 上的 EFS 有多脆弱。
AEFSDR 产品页面提到了可以忽略的 Windows 2000 漏洞。除此之外,没有太多详细信息。
此处提供更多信息:http://www.elcomsoft.com/cases/tips_on_recovering_EFS-encrypted_data_when_it_gets_lost.pdf. 在“解决方案”段落中写道:
即使用户数据库受 SYSKEY 保护,高级 EFS 数据恢复也能让用户解密文件。首先,AEFSDR 搜索所有 EFS 密钥,逐个扇区扫描硬盘。用户将用户密码输入程序后,软件会解密用户加密数据所需的密钥(或至少一个密钥)。在第二阶段,AEFSDR 在文件系统中查找 EFS 加密文件并尝试恢复它们。恢复率通常非常高,达到 99% 或更高。
因此必须输入用户密码。我假设那是 Windows 用户帐户的密码。
我的问题是:假设装有 EFS 加密文件/文件夹的笔记本电脑被盗,并且当时已关机(完全关闭,而不是处于睡眠/休眠模式)。入侵者没有可用的用户密码,但硬盘显然可以被另一台计算机移除和访问。是否有可能解密任何文件?
答案1
EFS 旨在根据密码保护您的文件。因此,如果您的密码足够长且复杂,并且仅用于登录,那么它应该是安全的。
但通常 Windows 用户密码太短。不幸的是,Windows 7 以特殊的哈希方式(NTLMv2)存储它们 - 旧版本甚至是更不安全的 NTLM 版本。使用当前的图形卡作为密码破解器,甚至可以破解 NTLMv2 密码:
破解 NTLMv2 身份验证(自 2002 年起) 有趣的部分是倒数第二张幻灯片,即使它只考虑使用旧 CPU 来破解密码。
据我所知,目前只有包含 12 个或更多字符的复杂密码才被视为安全的。
答案2
TrueCrypt 应该比 EFS 提供更好的安全性,并且它还提供与 BitLocker(全盘加密)相同的功能。
TrueCrypt 的唯一缺点(与 EFS 相比)是它不允许您加密硬盘上的单个文件和文件夹;相反,您可以在磁盘上或驱动器上的文件内创建加密卷,然后将其作为单独的加密卷安装。
不幸的是,这不是 Vault 式的解决方案,这意味着(就像 EFS 一样)一旦您登录,您的文件就不安全了。TrueCrypt、EFS 和 BitLocker 不提供 Vault 式的安全性。
答案3
这是一个老问题,但我还没看到我要写的答案。如果你的笔记本电脑落入他人之手,他们可以轻松重置你的账户密码或创建新账户,从而完全绕过 EFS。
在 Windows 机器上,你对此无能为力。你可以创建一个实时 Linux usb,安装你的 Windows 操作系统分区,并用 cmd 替换一些以管理员身份运行的进程。当然,这会为他们提供具有管理员权限的控制台。即使你用密码锁定了你的 BIOS,通常也可以通过取出 BIOS 电池轻松重置。可以替换的进程有很多,你只需要知道在登录阶段可以运行哪一个。
如果您想要良好的加密并且不怕弄脏自己的手,您可以自己编写代码。几乎所有编程语言都有许多对称密码(AES / DES)或非对称密码(但您必须很好地隐藏私钥)的实现,并且很容易以递归方式遍历文件夹并用某些数据(在本例中为加密版本)替换文件。我敢肯定您可以找到已经完成此简单操作的程序,但是通过自己编写代码,您可以 100% 确定它不会执行其他操作。