YubiKey 怎么玩:绑定 BitLocker

By | 2023年3月4日

BitLocker 是自 Windows Vista 起微软在操作系统中内置的一项硬盘加密功能,用户可以选择使用密码或者智能卡对数据进行加密。而正好智能卡也是 YubiKey 的功能之一,如果你也像 reizhi 一样厌倦了每次输入密码进行解锁,不妨将 YubiKey 添加为 BitLocker 的解锁方式,这样每次解锁只需要输入 PIN 即可。

将 YubiKey 绑定到 BitLocker 之后并不能提高数据安全性,它仅仅只是提供了一种较为简便的解锁方式。在绑定之后,使用主密码或者 YubiKey PIN 都能够解锁硬盘,所以如果 YubiKey 意外丢失并不会导致无法解锁。除此之外,绑定 YubiKey 并不会改变 Bitlocker 已有的加密数据,瞬间即可完成。

1.修改组策略

为了使 BitLocker 能够正确识别自签名证书,我们需要在启用绑定的电脑上修改组策略的相关设置。如果只是解锁则可不修改,举例来说:需要将 YubiKey 绑定到移动硬盘,那么当前操作绑定的系统需要修改组策略,而在其他电脑上使用 YubiKey 对移动硬盘解锁不需要修改。

首先在开始菜单键入 gpedit.msc 并回车,在本地组策略编辑器窗口中定位到:计算机配置 – 管理模板 – BitLocker 驱动器加密 – 验证智能卡证书使用合规性,点选已启用。对象标识符保持默认,点击确定。

2.修改注册表

默认设置下 BitLocker 不接受自签名证书,所以我们在启用绑定的电脑上还需要对注册表稍作修改。同样的,如果只是解锁则可不修改。

在开始菜单键入 regedit.msc 并回车,在注册表编辑器窗口定位到:

计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FVE ,右键新建一个名为 SelfSignedCertificates 的 Dword 值,数据为1。随后重启电脑使注册表生效。

3.生成自签名证书

将以下内容保存为一个 txt 文件,文件名任意。为了方便说明这里使用 cert.txt 做举例,保存在 D:\ 。

[NewRequest]
Subject = "CN=BitLocker"
KeyLength = 2048
HashAlgorithm = Sha256
Exportable = TRUE
KeySpec = "AT_KEYEXCHANGE"
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE"
KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG"
RequestType = Cert
SMIME = FALSE
ValidityPeriodUnits = 99
ValidityPeriod = Years

[EnhancedKeyUsageExtension]
OID=1.3.6.1.4.1.311.67.1.1

在开始菜单键入 powershell 并回车,依次执行以下两行:

cd d:
certreq -new .\cert.txt

此时会提示 CertReq: 已创建并安装证书,并弹出一个文件保存窗口。将这个文件保存在任意位置均可,我们用不到它,可以立即删除。此时 cert.txt 也可以一并删除。

在开始菜单键入 certmgr.msc 并回车,在证书管理器窗口中定位到:个人 – 证书,并找到刚刚创建的名为 BitLocker 的证书,右键点选 所有任务 – 导出。

在导出向导中的第一部选择“是,导出私钥”,第二步选择“如果导出成功,删除私钥”,其余均可默认。按照提示设置一个导出文件密码,保存证书到文件。为了方便说明这里使用 cert.pfx 做举例。

4.导入证书到 YubiKey

打开 YubiKey Manager ,定位到 Applications – PIV – Configure Certificates – Slot 9a ,点击 Import 。选择上一步中导出的 cert.pfx ,输入上一步中设置的密码,将证书导入到 YubiKey 中。

如果有多个 YubiKey ,重复该步骤逐个导入即可。这里不使用 YubiKey Manager 自带的生成证书功能主要原因是生成的证书无法导出私钥,也就无法复制到其他的 YubiKey 。

导入完成后请务必将 cert.pfx 保存在安全的地方或者进行文件粉碎。

5.绑定 BitLocker

做完了以上步骤之后我们终于可以将 YubiKey 绑定到 BitLocker 了,只需要先解锁磁盘,在控制面板中选择添加智能卡即可。添加和移除都是瞬间完成的,如果你有多个 YubiKey 只需要绑定一个即可,前提是导入了同样的 cert.pfx 证书。

后续解锁时选择“使用智能卡”解锁磁盘,只需要插入 YubiKey 并输入 PIN 即可。

6.其他说明

在绑定过程中使用过的 cert.txt 以及导出的申请文件没有泄密风险,且无需保留可直接删除。在系统中创建的 BitLocker 个人证书无需备份,也不需要删除,但请务必操作一次导出。无论是否选择删除私钥,私钥都只能被导出一次。

如果后续不会再增加新的 YubiKey 或者同类智能卡硬件,导出的 cert.pfx 可以直接文件粉碎。反之则请将其保存在安全的位置,并牢记导出时设置的证书密码。已经导入到 YubiKey 的证书,再导出时只包含公钥,无法用于解密和复制到其他的 YubiKey 。如果 cert.pfx 已经删除还需要增加 YubiKey ,则只能解除绑定重新开始。

如果需要解除绑定,可以解锁硬盘后在控制面板操作。

本文参考了 https://nathanaelfrey.com/2021/01/09/setting-up-bitlocker-with-yubikey-as-smart-card/ ,在此表示感谢。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

滑动到最右以进行验证 *