Windows Bitlocker 和自动解锁密码存储安全

ahm*_*md1 20 windows encryption windows-7 passwords bitlocker

我用 Bitlocker 加密了我的外部硬盘,在重新启动计算机后,我尝试打开该驱动器并收到以下消息:

在此处输入图片说明

比如说,如果我选择“从现在开始在这台计算机上自动解锁”,这是否意味着 Windows 会将我的密码存储在注册表中的某个位置?

附注。或者,他们是否足够聪明在 Microsoft 只存储散列 - 最好是加盐的?

Kar*_*ran 27

我看到您也在此处此处发布了相同的查询,并且已经收到某种标准回复。无论如何,这是一个有趣的问题,这就是我发现的。正如Windows 7 中BitLocker 驱动器加密:常见问题页面所述,

固定数据驱动器的自动解锁要求操作系统驱动器也受 BitLocker 保护。如果您使用的计算机没有受 BitLocker 保护的操作系统驱动器,则驱动器无法自动解锁。

当然,这不适用于您,因为您使用BitLocker To Go加密可移动数据驱动器。对您而言,以下内容是相关的:

在 Windows 7 中,您可以使用密码或智能卡解锁可移动数据驱动器。开始加密后,驱动器还可以在特定计算机上为特定用户帐户自动解锁。系统管理员可以配置哪些选项可供用户使用,以及密码复杂性和最小长度要求。

还,

对于可移动数据驱动器,您可以通过在 Windows 资源管理器中右键单击驱动器并单击管理 BitLocker 添加自动解锁。您仍然可以使用您在打开 BitLocker 时提供的密码或智能卡凭据来解锁其他计算机上的可移动驱动器。

在最初使用密码或智能卡解锁驱动器后,可以将可移动数据驱动器设置为在运行 Windows 7 的计算机上自动解锁。但是,除了自动解锁方法之外,可移动数据驱动器还必须始终具有密码或智能卡解锁方法。

所以现在我们知道如何为可移动数据驱动器配置自动解锁,以及如何在其他 PC 上解锁此类驱动器。但是 BitLocker 使用的密钥是什么,它们存储在哪里?正如使用 BitLocker 驱动器加密保护数据密钥文章的BitLocker 密钥部分所述:

[卷的] 扇区本身使用称为全卷加密密钥 (FVEK) 的密钥进行加密。但是,用户无法使用或访问 FVEK。FVEK 依次使用称为卷主密钥 (VMK)的密钥进行加密. 这种抽象级别提供了一些独特的好处,但会使过程更难以理解。FVEK 被严格保密,因为如果它被泄露,所有扇区都需要重新加密。由于这将是一项耗时的操作,因此您应该避免这样做。相反,系统使用 VMK。FVEK(使用 VMK 加密)作为卷元数据的一部分存储在磁盘本身上。尽管 FVEK 存储在本地,但它绝不会以未加密的方式写入磁盘。VMK 也被加密或“保护”,但由一个或多个可能的密钥保护程序进行。默认的密钥保护程序是 TPM。

因此,VMK 再次由一个或多个密钥保护程序加密。这些可以是TPM、密码、密钥文件、数据恢复代理证书、智能卡等。 现在,当您选择为可移动数据驱动器启用自动解锁时,将创建以下自动解锁注册表项:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\FveAutoUnlock
Run Code Online (Sandbox Code Playgroud)

接下来创建另一个“外部密钥”类型的密钥保护程序并将其存储在该注册表位置,如下所示:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\FveAutoUnlock\{GUID}
Run Code Online (Sandbox Code Playgroud)

1

密钥和元数据被存储在注册表中使用CryptProtectData()加密DPAPI函数使用当前用户的登录凭证和三重DES(OTOH加密的卷上的实际数据被保护的有128位或256位的AES和可选地使用称为Elephant的算法进行扩散)。

外部密钥只能与当前用户帐户和机器一起使用。如果您切换到另一个用户帐户或机器,则 FveAutoUnlock GUID 值不同。

  • 我感谢你的研究,我的朋友!与我从 Microsoft 论坛得到的那个 BS 答案不同,您的答案给了我希望 --- 密码一旦存储就不能轻易恢复为文本形式。再次感谢... (2认同)