欢迎光临 Enjoy IT (ITECN.NET) 登录 | 注册 | 帮助

Windows Vista的BitLocker全盘加密

早就垂涎Windows VistaBitLocker全卷加密(简称BDE)功能,只是苦于不敢拿本本试刀。最近拿到最新的Windows Vista CTP 5308版本,居然在VMware虚拟机里测试成功!此等好事,安能善自珍摄?自当写来以飨读者诸君。

BitLocker概述

BitLocker只是微软起的“艺名”,其原名是Secure Startup(安全启动),从它的原名中可以看出其本义是为了确保系统的启动安全。

BitLocker可以加密整个Windows卷,包括页面文件、SAM注册表数据库文件、休眠文件和Dump文件等等,这些都是EFS加密所无法保护的(因为EFS无法加密系统文件和位于系统目录下的所有文件)

BitLocker加密的模式有两种:

1USB闪盘模式

需要BIOS支持引导时访问USB闪盘。可以将解锁磁盘所需的相关密钥存放在USB闪盘里,开机时必须插入USB闪盘,才能解锁加密的Windows卷,才能正常访问Windows Vista

2TPM模式

要求计算机带有1.2版本的TPM芯片,系统会将解锁磁盘所需的密钥存放在TPM芯片里。

TPM模式可以实现最严厉的安全保护措施。除了USB闪盘模式所支持的全卷加密之外,还另外支持系统启动组件的完整性检测。

这种完整性检测,有点类似于Windows XP的激活机制。在设置BitLocker加密时,系统会分别对主引导记录(MBR)NTFS引导扇区、NTFS引导代码和密钥等做“快照”(估计可能是分别产生相应的散列值),然后保存在TPM芯片的相应的寄存器里,每次系统启动时,会自动与原本的快照进行比较,这个过程称作度量(measure)。

如果这些启动组件发生了变化(通常可能是攻击行为所导致),系统就会拒绝从TPM芯片里释放磁盘加密密钥!我们可以在组策略里指定TPM模式所“度量”的启动组件,如图1所示(图中显示,MBR的"快照"存放在TPM芯片的PCR4寄存器中,依次类推)。

1

此外,还可以根据需要,选择是否设置启动密钥,以提供额外的安全保护。

实验准备

1.选择合适的虚拟机工具

由于BitLocker加密实验需要USB闪盘的支持,所以只能采用VMware 虚拟机,本例以VMware Workstation 5.5.1为例进行介绍。

2.准备虚拟机

(1) 给虚拟机分配一个18GB大小的磁盘,划分为两个分区,其中主分区C盘大小为3GB,逻辑存盘D盘大小为15GB

(2) C盘上安装Windows XP,在D盘上安装Windows Vista CTP Build 5308。如果C盘上不安装任何系统,则只需大于50MB即可。

注意

不能将Windows Vista安装在系统卷(例如C),因为启动过程中所需的引导扇区和Windows Boot Manager都位于系统卷上,所以系统卷本身不允许加密!

实验步骤

在这个实验里,我们将借助“BitLocker Drive Encryption”控制面板组件,配置BitLocker全卷加密。

值得称道的是,尽管BitLocker加密的原理十分复杂,但是其使用和配置非常简便,几乎不会影响我们原来的使用习惯,可以说BitLocker加密就是Windows Vista的“具体而微者”,充分体现了Windows Vista的“自信”(confident)和“简明”(clear)的要旨。

广告结束,该轮到正角儿上场了!

1.启用BitLocker全卷加密

(1) 首先必须把USB闪盘插入宿主机,然后依次展开VMware工具栏上的VM→Removable Devices→USB Devices,选择该USB闪盘的代号,即可把USB闪盘挂载到Windows Vista虚拟机。

(2) 在控制面板窗口里依次单击Security →BitLocker Drive Encryption,打开BitLocker Drive Encryption的控制面板组件,如图2所示。可以看到该界面上只显示Windows Vista安装目录所在的卷,我们只能对该卷进行BitLocker加密。

2

(3) 单击其上的“Turn on BitLocker”,即可启动BitLocker加密向导。系统将随机生成一个48位的恢复密码(Recovery Password)。单击“Show the password”,系统将会显示出该48位密码,如图3所示,这里需要记下该密码。

3

注意

在本例中必须记下该恢复密码,否则今后无法进入Windows Vista虚拟机!

(3) 接下来系统提示把恢复密钥(Recovery Key)保存在USB闪盘,选中虚拟机所挂载USB闪盘的盘符,然后单击“Save Key”按钮即可,如图4所示。

4

注意

如果选择把恢复密钥保存在USB闪盘里,则接下来必须更换一个新的USB闪盘,以便存放启动密钥。否则启动密钥会自动覆盖恢复密钥。

(4) 单击两次Next按钮,跳过“保存密钥到其他计算机或者网络共享”的过程。

(5) 下一步,系统会提示将启动密钥(Startup Key)保存在USB闪盘里,选中虚拟机所挂载USB闪盘的盘符,然后单击“Save Key”按钮即可,如图5所示。

5

(6) 然后系统提示可以加密选中的分区,单击其上的“Encrypt”按钮即可,如图6所示。

6

(7) 接下来就是冗长的加密过程,由于是虚拟机,所以速度特别慢,差不多要12个小时才能加密完毕,如图7所示。

7

2.恢复过程

非常可惜,VMware虚拟机不支持在开机时访问USB闪盘。所以在虚拟机里,我们没法做到和真实环境一样实现无缝开机。必须在每次虚拟机开机时,手动输入先前保存的48位恢复密码,才能成功访问Windows Vista所在的卷。

(1) 启动虚拟机,在启动菜单上选择进入Windows Vista操作系统。

(2) 由于虚拟机在开机引导时无法访问USB闪盘,所以Windows Boot Manager会抱怨找不到解密磁盘的密钥,这时候按下ESC键,如图8所示。

8

(3) 接下来Windows Boot Manager会提示输入48位的恢复密码,需要以F1F10功能键代替数字键,直接按下相应的数字键即可输入恢复密码,如图9所示。

9

(4) 输入恢复密码以后,即可进入Windows Vista环境。

BitLockerEFS等加密方法的比较

很多用户以为,BitLocker加密是Windows Vista新引入的加密模式,它一定比其他所有已有的加密方法都要先进。

其实不然,从前面的描述中可以看出,BitLocker加密主要用于确保系统登录之前的启动安全,一旦登录到用户环境,所有的文件都处于解密状态。所以还是需要借助EFS加密实现基于用户(per-user)的文件保护。

尽管如此,BitLocker加密的重要意义还是非常明显,因为它可以加密页面文件、休眠文件和SAM数据库等EFS所无法涉足的重要文件,这样就可以防止攻击者借助LC5等工具离线破解帐户密码,从而绕过EFS的防护。

提示

EFS加密也可以采用导出私钥,并删除私钥的本地副本、结合SYSKEY、关机删除页面文件等方法防御攻击。

悬而未决的疑点

苦于BitLocker加密的官方文档非常少,对其实现细节,笔者几乎一无所知。所以有以下问题,希望大家能够在此讨论和PK

1.这些密码和密钥到底是什么东东?

在设置BitLocker加密时,出现了三个密钥(密码),分别是恢复密码、恢复密钥和启动密钥,这三个密钥(密码)到底是什么含义?

Winhex工具对恢复密钥和启动密钥的文件进行比较,发现这两个密钥文件都是124字节,其中只有offset 28292A2B四个字节的内容有所不同。

2BitLocker加密和解密的过程

希望能够了解其加密和解密的过程,例如磁盘加密的密钥的产生,磁盘加密的密钥是怎么被加密并保存在哪里,系统是怎么从这个48位的恢复密钥得到磁盘密钥的,等等…

提示

1.撰写本文的过程中,得到了MVP李隽秀的极大帮助,在此表示感谢!

2.本文参考了微软官方文档《BitLocker Drive Encryption Step by Step Guide》。

已发表 2006年3月14日 16:39 作者 ahpeng

评论通知

如果您想在帖子更新时接到邮件通知,请先登录。这里

订阅帖子评论使用 RSS

评论

2006年3月14日 20:21 by Liu_hui

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

速度可够慢的,加密的速度就不说了,整卷加密,慢一点也可以理解,但是不知道使用该功能后对系统的运行速度影响有多少。虚拟机里这个可能不太明显,反正不管有没有使用,速度都很慢,但是实际使用的时候如果这东西对系统的运行速度影响太大,那就不爽了。

另外一点不爽就是只能加密操作系统所在的引导盘,对于系统盘无法加密。不知道这个是因为使用USB闪盘的缘故,还是无论USB闪盘或者TPM芯片都会这样。如果是设计特性,看来以后Vista只能装在D盘了,还要准备一个充当系统盘的C盘
2006年3月14日 22:12 by Sucirst

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

看样子还得去下个VMware了 呵呵 真不知道VPC什么时候能支持USB设备 :P
2006年3月14日 22:41 by ahpeng

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

BitLocker加密后的系统性能,我在真机上测试的结果是很不错,几乎感觉不到性能的损失。
感觉Windows Vista是native支持这种加密的磁盘模式,系统似乎并没有解密过程,因为在Turn off BitLocker命令中有一个选项是Decrypt Volume,还一个选项是Turn off only(不解密)。如果进入系统后,卷已经被解密,又何必需要额外的“Decrypt”?

至于系统卷不能被加密,可能需要“适应”一下,其实系统卷完全可以只分配50MB,只存放Boot Utility。

至于这个系统卷是否需要赋予盘符,还没实验论证,在boot阶段,系统不是根据盘符去访问Volume的,没有盘符也没影响。如果是这样的话,Windows Vista的boot Volume还是可以分配C这个盘符,那就不会影响原来的使用习惯。
2006年3月15日 8:31 by icuc88

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

如果了解unix,volume这个概念应该不是问题。
2006年3月15日 21:53 by XiWang

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

下一个版本的Virtual Server/PC将支持更多usb外设。
估计06年底或者07初发布。
2006年3月15日 23:22 by ahpeng

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

期待Virtual Server/PC的最新版本,最好还能够模拟X64的指令集(当然Host也是64位)
2006年3月16日 15:14 by Sucirst

# re: 勇吃螃蟹—全程测试Windows Vista的BitLocker加密

盆盆老师的考虑是可行的 呵呵
但是这个只有50M的分区必须是位于一个磁盘最前面的活动分区,可以不分配盘符,但是这块硬盘就不能装多操作系统了
另外 能引导和能进入windows好像还有些差别 这个尝试倒是不需要vista 。xp就能实验 我去试试 呵呵:P
2006年5月31日 12:26 by 盆盆的博客-Diyinside技术的乐趣

# [收藏版]Windows Vista系列专题文章汇总列表[06/05/31]

美味且可口,营养不忽悠!
本文列出了ITECN博客站点目前已经发表的Windows Vista专题文章,共计26篇,超过6万字。我们会对这些文章按照月份进行归类,同时给出内容简介、等级和相应的链接。...
2006年6月6日 10:10 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

美味且可口,营养不忽悠!
为了方便读者朋友阅读以前发表的Windows Vista文章,本文特地列出ITECN博客站点在2006年6月以前发表的Windows Vista专题文章,共计26篇,超过6万字。我们对这些文章按照月份进行归类,同时给出内容简介、等级和相应的链接。...
2006年6月6日 10:47 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年6月7日 9:19 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年6月9日 12:17 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年6月9日 22:07 by Windows Vista专题文章汇总

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2006年7月15日 13:42 by Windows Vista专题文章

# [收藏版]2006年6月以前Windows Vista系列专题文章汇总列表

为了方便大家更好地了解Windows Vista的最新特性,从6月开始,ITECN博客上的Windows Vista专题文章,统一发表在本专栏,请在您的收藏夹里保存以下URL:
http://blogs.itecn.net/blogs/winvista...
2007年1月19日 7:58 by Cleverman

# re: Windows Vista的BitLocker全盘加密

1. Startup Key: 计算机启动时需要

2. Recovery Key: 恢复时需要

3. Recovery Password: 恢复时需要

平时启动计算机的时候需要startup key, 一旦startup key丢掉,或者把硬盘转移到别的机器上使用,就需要recovery key 或者recovery password. recovery key 放在U盘上,password可放在很多地方,就是一串字符。recovery key的使用就是插入U盘,recovery password的使用就手工输入。这两种方法任意一种都可以恢复。之所以搞得这么麻烦,是为了保证用户可以有多种方式恢复硬盘。否则,自己的数据自己也得不到就惨了。所以,需要两个U盘。一个平时使用,一个保护好,恢复时使用。而password就需要你做好多个备份。比如,打印下来,如果企业存在AD里,还有就是可以放到digital locker里边。

说说您的看法?

(必填) 
必填 
(必填)