YubiKey 玩法:BitLocker 绑定指南 | reizhi

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

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

1.修改组策略

为了使 BitLocker 能够正确识别自签名证书,我们需要在启用绑定的电脑上修改组策略的相关设置。如果只是解锁则可不修改,举例来说:需要将 YubiKey 绑定到移动硬盘,那么当前操作绑定的系统需要修改组策略,而在其他电脑上使用 YubiKey 对移动硬盘解锁不需要修改。
图片[1] - YubiKey 玩法:BitLocker 绑定指南 | reizhi - EVLIT
首先在开始菜单键入 gpedit.msc 并回车,在本地组策略编辑器窗口中定位到:计算机配置 – 管理模板 – BitLocker 驱动器加密 – 验证智能卡证书使用合规性,点选已启用。对象标识符保持默认,点击确定。

2.修改注册表

默认设置下 BitLocker 不接受自签名证书,所以我们在启用绑定的电脑上还需要对注册表稍作修改。同样的,如果只是解锁则可不修改。
图片[2] - YubiKey 玩法:BitLocker 绑定指南 | reizhi - EVLIT
在开始菜单键入 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 也可以一并删除。
图片[3] - YubiKey 玩法:BitLocker 绑定指南 | reizhi - EVLIT

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

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

4.导入证书到 YubiKey

打开 YubiKey Manager ,定位到 Applications – PIV – Configure Certificates – Slot 9a ,点击 Import 。选择上一步中导出的 cert.pfx ,输入上一步中设置的密码,将证书导入到 YubiKey 中。
图片[4] - YubiKey 玩法:BitLocker 绑定指南 | reizhi - EVLIT

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

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

5.绑定 BitLocker

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

后续解锁时选择“使用智能卡”解锁磁盘,只需要插入 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/ ,在此表示感谢。

原文链接: YubiKey 怎么玩:绑定 BitLocker | reizhi

© 版权声明
THE END
喜欢就支持一下吧
点赞10 分享