前言
YubiKey太贵了,作为国产开源硬件力作CanoKey,整体算是物美价廉。可支持 OpenPGP、PIV、TOTP、FIDO2 功能的安全密钥。
CanoKeys 可以理解为 Yubikey 的开源实现:
- 协议、功能都是对标的 YubiKey;
- 可以用 YubiKey 的官方程序来连接使用 CanoKeys。
网上关于配置Canokey用来解锁Bitlocker驱动器的教程比较少,所以本文章将详细介绍。其他食用Canokey的方法,已经有比较多的博客讲过了,由于几乎全部的功能都是参照 YubiKey 实现的,因此网上 YukiKey 的教程应该是共通的。
本指南提供了使用Canokey来配置 BitLocker 加密驱动器的步骤,该驱动器可以在智能卡模式下解锁。并且只需要输入PIV的PIN即可解锁。
要求
- Windows 10 专业版(或更高版本)
- Canokey(我用的是零售版)
- 外部硬盘、U盘或虚拟硬盘驱动器
配置步骤
下载yubico-piv-tool,安装并添加到环境变量
- 下载并安装并添加到环境变量 yubico-piv-tool
- 按 Windows + R 运行 sysdm.cpl
- 高级(选项卡)>环境变量
- 编辑变量 Path
- 新建 C:\Program Files\Yubico\Yubico PIV Tool\bin
初始化卡片
通常,在开始使用Canokey的PIV之前,您应该初始化持卡人唯一标识符(CHUID)和持卡人能力容器(CCC)
插入Canokey,在终端中分别输入以下两条命令
yubico-piv-tool -r canokeys -a set-ccc
yubico-piv-tool -r canokeys -a set-chuid
关于PIV PIN的默认值
PIN:123456
PUK:12345678
管理密钥:010203040506070801020304050607080102030405060708
可以使用 Web 控制台中的管理面板来修改PIN码(CanoKey 网络控制台 (canokeys.org))
1.制作证书
- 创建.txt文本文件
- 写入以下内容
[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
最后保存并重命名文件为****bitlocker-cert.ini
2. 修改注册表
- 按 Windows + R 运行 regedit
- 定位到: 计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\FVE
- 如果没有FVE ,则新建一个FVE 项
- 在右侧的窗格中单击鼠标右键,然后选择:新建 -> DWORD(32 位)值,修改名称为
SelfSignedCertificates ,设置值为1
3. 修改组策略
- 按 Windows + R 运行 gpedit.msc
- 定位到:本地计算机策略 ->管理模板 -> Windows 组件 -> BitLocker 驱动器加密
- 双击打开:验证智能卡证书使用规则合规性,将规则设置为:已启用
- 确保对象标识符:设置为 1.3.6.1.4.1.311.67.1.1(与第一步创建的配置文件OID匹配)
4. 生成证书
- 在第一步bitlocker-cert.ini 文件目录打开终端
- 输入certreq -new .\bitlocker-cert.ini bitlocker-cert.req
certreq -new .\bitlocker-cert.ini bitlocker-cert.req # 如果错误提示字符串,请修改文件
编码
# 运行结果
安装的证书:
序列号: 1e9808269534c6814c2de3ced7352e71
使用者: CN=BitLocker
NotBefore: 2024/2/23 18:58
NotAfter: 2123/2/23 19:08
指纹: bb4a0ddf2a923326c9ecdaf1ed5433b3c6b734f3
Microsoft Strong Cryptographic Provider
2204c515325036611942f1c5cbde9e0a_81b0791d-9859-4a97-806d-05c52e22396a
CertReq: 已创建并安装证书
** 彻底删除bitlocker-cert.ini 和 bitlocker-cert.req 文件**
5. 证书管理器导出证书
- 按 Windows + R 运行 certmgr.msc
- 定位到:证书 - 当前用户 - >个人 - >证书
- 选择刚刚生成的BitLocker 证书,右键 所有任务 ->导出
- 下一步 -> 是,导出私钥 -> 下一步 -> 密码 -> 下一步 -> 导出文件名bitlocker-cert.pfx
6. 证书导入Canokey
- 在上一步bitlocker-cert.pfx 文件目录打开终端
- 插入Canokey
- 输入yubico-piv-tool -r canokeys -s 9a -i bitlocker-cert.pfx -KPKCS12 -aset-chuid -aimport-key -aimport-cert
yubico-piv-tool -r canokeys -s 9a -i bitlocker-cert.pfx -KPKCS12 -aset-chuid -aimport-key -aimport-cert
# 运行结果
Successfully set new CHUID.
Enter Password: # 输入第五步设置的证书密码
Successfully imported a new private key.
Successfully imported a new certificate.
7.将Canokey用于你的加密驱动器
- 将存储设备连接到电脑
- 打开文件资源管理器并转到“这台电脑”
- 右键单击要使用 BitLocker 加密的设备
- 单击“打开 BitLocker”
- 选中“使用我的智能卡解锁驱动器”框,然后单击“下一步”
- 选择其中一个选项来备份您的恢复密钥。这很重要,因为如果您丢失了 Key,这将是解锁驱动器的唯一方法
- 单击“下一步”,然后选择要加密的驱动器量。我通常选择加密整个驱动器(速度较慢,但最适合已在使用的 PC 和驱动器)
- 单击“下一步”,然后选择要使用的加密模式。我通常选择新加密模式(最适合此设备上的固定驱动器)
- 单击“开始加密”
- 就是这样,现在可以使用CanoKey解锁加密驱动器了
- 在文件资源管理器中单击设备以显示 BitLocker 菜单
- 单击“使用智能卡”(输入您在 Canokey 上设置的 PIN 码就可以解锁,默认值为 123456,但我强烈建议更改它)
最后
对于已启用 BitLocker 的驱动器,也可以通过管理 BitLocker 来添加智能卡。这样就可以只需通过一把Canokey来解锁多个加密驱动器,不用这么繁琐的来记住每个加密驱动器的密码了(
本人业余爱好者,如有错误的地方,还请大佬们多多指教
参考
YubiKey功能之PIV - 简书 (jianshu.com)
将 BitLocker 与 YubiKey 设置为智能卡 – NF Software Inc (nathanaelfrey.com)
Canokey 指南:OTP,FIDO2,PGP 与 PIV | Editst Dream
PIV :: CanoKeys
介绍 (yubico.com)
YubiKey 与 BitLocker (totoro.ink)
版权归原作者 柴関 所有, 如有侵权,请联系我们删除。