使用Bitlocker使用智能卡加密数据

Vista开始Windows系统中新增的Windows BitLocker,相信大家已经很熟悉了这里不多介绍。

TrueCrypt前段时间已停止开发并鼓励人们迁移到BitLocker,原先我是使用TrueCrypt并用智能卡进行加密的,bitlocker虽然支持智能卡,但是很多坑。网上也没什么资料,我就把我的解决方案给大家分享一下。

使用环境:Windows 7 SP1 X64

智能卡我这里用的是usbkey来代替,型号Aladdin eToken PRO 72K(JAVA)

ps:SafeNet和Aladdin已合并

首先要装好usbkey的驱动和管理软件,我这个对应的叫做SafeNet Authentication Client。

首先需要对eToken进行初始化(每个产品可能步骤不同,仅供参考)

使用Bitlocker使用智能卡加密数据_第1张图片

初始化完毕后,需要生成一张Bitlocker加密证书

bitlocker使用智能卡微软官方给了说明

http://technet.microsoft.com/zh-cn/library/dd875530%28v=ws.10%29.aspx

如果需要使用自签证书需要修改注册表

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\FVE]
"SelfSignedCertificates"=dword:00000001

可以把上面的内容复制到reg导入

创建证书的过程如下

[NewRequest]
Subject = "CN=BitLocker"
KeyLength = 2048
ProviderName = "Microsoft Smart Card Key Storage Provider"
KeySpec = "AT_KEYEXCHANGE" 
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE"
KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG"
RequestType = Cert
SMIME = FALSE
[EnhancedKeyUsageExtension]
OID=1.3.6.1.4.1.311.67.1.1

复制上述内容到一个txt

使用certreq –new 路径来创建证书

这里的ProviderName修改为usbkey提供的csp,我这里对应是eToken Base Cryptographic Provider

如果你的usbkey不支持2048位的密钥,可以自行修改KeyLength

此外还可根据usbkey选择hash算法HashAlgorithm

ValidityPeriod有效期单位

ValidityPeriodUnits有效期时间

[NewRequest]
Subject = "CN=BitLocker Encrypt,C=CN"
ValidityPeriod=Years
ValidityPeriodUnits=100
HashAlgorithm = sha1
KeyLength = 2048
ProviderName = "eToken Base Cryptographic Provider"
KeySpec = "AT_KEYEXCHANGE" 
KeyUsage = "CERT_KEY_ENCIPHERMENT_KEY_USAGE"
KeyUsageProperty = "NCRYPT_ALLOW_DECRYPT_FLAG"
RequestType = Cert
SMIME = FALSE
[EnhancedKeyUsageExtension]
OID=1.3.6.1.4.1.311.67.1.1


这是我最终修改完成的结果

保存为1.txt

最后运行certreq –new Z:\1.txt生成证书

生成之前会要求登录,登录框由驱动决定

使用Bitlocker使用智能卡加密数据_第2张图片

至此,我们的证书生成完毕

下面可以通过VDH创建虚拟磁盘,初始化,分区等

使用Bitlocker使用智能卡加密数据_第3张图片

具体过程略

最后在需要加密的磁盘上右键启用Bitlocker

使用Bitlocker使用智能卡加密数据_第4张图片

之后勾选使用智能卡解锁

使用Bitlocker使用智能卡加密数据_第5张图片

下一步后会弹窗选择智能卡

使用Bitlocker使用智能卡加密数据_第6张图片

这里需要注意,虽然我这个地方提示不支持这个智能卡不能点确定,但是直接选中读卡器点取消也可以使用智能卡证书加密。。

微软又开坑,一度被这个提示框郁闷了很久。注意如果上面签发证书的步骤没完成,这里选中点取消也是无用的。

之后的事情人尽皆知了。。。不再描述了

理论上只要能识别出读卡器的usbkey都是可以用来做bitlocker加密的,比如飞天的epass系列。不过实际没试过,如果有人能实验一下欢迎告诉我结果。


你可能感兴趣的:(数据安全)