无论是家庭用户还是企业用户,特别是便携电脑用户,电脑中都会或多或少有一些重要数据需要安全保护。系统崩溃了可以重装,硬件损坏了可以再去买,但如果是数据被泄密,那带来的损失就无法估计了。除了及时做好备份外,将风险降到最低的一种方法是使用加密文件系统 (Encrypting File System,简称EFS)。下面介绍一下本人的学习体会:
一、关门上锁:使用EFS加密
EFS 是 Microsoft 的一项技术,它可以加密计算机上的文件,并控制谁可以解密或恢复这些文件。 数据经过加密后,即使入侵者对计算机硬盘具有物理访问权,也不能阅读或修改数据(据官方消息说EFS还未证实被破解过,但经过加密的数据仍然可被删除)。
要使用EFS加密,首先必须选择合适的操作系统,目前支持EFS加密的Windows操作系统主要有Windows 2000所有版本、Windows XP Professional和Windows Server 2003。其次,EFS加密只对windows 2000系统上的NTFS5分区有效(windows nt的NTFS4、FAT和FAT32文件系统不支持EFS加密)(可以通过命令convert x: /fs:ntfs将FAT/FAT32格式转换为NTFS5格式,其中x代表分区)。
强烈建议加密前为每一个帐户特别是xp中的隐藏内置帐户administrator设置加强密码,并禁止系统自动登录。推荐加密文件夹而不是加密单个文件,因为存储在文件夹中的所有文件可以自动加密,下面以加密文件夹为例介绍操作方法,使用 Windows 资源管理器执行以下步骤:
1. 右键单击待加密的文件或文件夹,然后单击“属性”。
2. 在“常规”选项卡中单击“高级”。
3. 选择“加密内容以便保护数据”复选框,然后单击“确定”。
4. 在“属性”对话框中单击“确定”,然后在“确认属性更改”对话框中选择“将更改应用于此文件夹及其子文件夹和文件”(推荐)或“仅将更改应用于此文件夹”。
5. 单击“确定”以接受并应用您所作的加密选择。
解密数据的步骤与加密步骤类似,不同的是在以上的步骤3中把“加密内容以保护数据”前的钩消除(注:如果导出证书时删除了密钥,则必然先导入密钥才能解密)。
另外还可以在命令行模式下用“cipher”命令完成对数据的加密和解密操作,至于“cipher”命令更详细的使用方法则可以通过命令“cipher/?”查询。
为了简化加密和解密操作,可以为鼠标的右键菜单中增添“加密”和“解密”的选项。在运行中输入“regedit”并回车,打开注册表编辑器,定位到HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion /Explorer/Advanced ,在“编辑”菜单上点击“新建-Dword值”,输入“EncryptionContextMenu”作为键名,并设置键值为“1”。
值得注意的是:如果把未加密的文件复制到具有加密属性的文件夹中,这些文件将会被自动加密。若是将加密数据移出来,如果移动到NTFS5分区上,数据依旧保持加密属性;如果移动到FAT/FAT32/NTFS4分区上,这些数据将会被自动解密。被EFS加密过的数据不能在Windows中直接共享。如果通过网络传输经EFS加密过的数据,这些数据在网络上将会以明文的形式传输。NTFS分区上保存的数据还可以被压缩,不过文件不能同时被压缩和加密。另外,Windows的系统文件和系统文件夹无法被加密。
二、管好钥匙:分离密钥与加密数据
EFS加密与其他加密软件有些不同,读写加密数据时并不需要输入密码,因为它的用户验证过程是在登录Windows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。所以简单地通过以上加密操作保护数据还不是万无一矢,如果电脑设置的是自动登录或者帐户密码被破解,加密数据将被一览无遗。补救措施是,分离密钥与加密数据,即导出证书后删除密钥,每次导入证书后及时删除证书。下面是导出EFS个人证书的操作方法:
1.在运行中输入“certmgr.msc”后回车,打开证书管理器。
2.切换到“证书-当前用户-个人-证书”下,这里应该可以看见一个以当前帐户为名称的证书(如果还没有加密任何数据,这里不会有证书)。
3.右击这个证书,从“所有任务”中选择“导出”,之后会弹出一个“证书导出向导”对话框。
4.点“下一步”,选择“是,导出私钥”项,再点“下一步”,在“导出文件格式”页面中确认选择“私人信息交换 – PKCS #12 (.PFX)” ,并选择“如果导出成功,删除密钥”复选框。然后单击“下一步”。
5.在“密码”页面的“密码”和“确认密码”文本框中输入加强密码(注:加强密码至少七个字符长;切勿包含您的用户名、真实名称或公司名称;切勿包含完整的字典单词。 另外,此密码应不同于用来登录系统的密码)。然后,单击“下一步”。
6.在“要导出的文件”页面中,输入或浏览文件名和路径,然后单击“下一步”。 复查下一屏中显示的信息,以验证所选的文件名、文件位置和文件格式,然后单击“完成”。将报告是否成功导出。阅读通知后单击“确定”以退出“证书导出向导”。(注:任何其他用户只要获得了备份的证书,都可以对加密文件进行解密,因此一定要确保备份证书的安全性。)
重新启动电脑后验证一下,试着打开之前加密的文件,如果能够读写该文件,证明以上操作中没有成功删除密钥,仍然是不安全的。还可以用以下方法补救:在确认已备份好证书后删除证书,即在运行中输入“certmgr.msc”后回车,打开证书管理器。切换到“证书-当前用户-个人-证书”下,删除以自己的用户名为名称的证书,再重启电脑。需要提醒的是,在删除证书后而又未导入证书前,建议不要再加密数据,一旦加密数据将产生新的证书,而这个证书与之前的证书名称相同但实质是不一样的,相互不通用,容易混淆。
删除证书和密钥后必须导入才能读写或者解密加密数据,方法很简单,找到之前备份的证书或者密钥,如果是PFX文件,则双击或单击PFX文件(或者右击PFX文件选择“安装PFX”)后输入密码并按提示操作;如果是证书文件,则右击证书文件选择“安装证书”并按提示操作即可。为了确保数据绝对安全,请牢记及时删除个人证书或者密钥,不要将证书和密钥保存在有加密数据的电脑上。
三、未雨绸缪:建立数据恢复代理
用EFS加密数据是安全,但也有一定的风险,如果出现证书丢失、帐户被删除等情况,即使重新建立一个同样名称的帐户或者重装系统,都是不能恢复数据的。当然,这种情况也不是完全没有解决办法,因为用EFS加密过的文件,除了加密者本人之外还有“恢复代理”可以打开。恢复代理是一种特殊的用户,作用是解开用EFS加密的文件。对于Windows 2000来说,在单机和工作组环境下,默认的恢复代理是 Administrator ;Windows XP/2003在单机和工作组环境下没有默认的恢复代理。而在域环境中就完全不同了,所有加入域的Windows 2000/XP/2003计算机,默认的恢复代理全部是域管理员。上述风险如果出现在windows 2000中还比较幸运,可以通过administrator帐户恢复数据,而使用Windows XP/2003的就没有那么幸运了,由于没有默认的恢复代理,如果事先又没有设置恢复代理,一旦用户被删除或丢失证书,将无法恢复加密数据。所以推荐使用Windows XP/2003的用户在实施加密前设置恢复代理,留一条退路。下面介绍如何在windows XP(windows 2003参照XP)下设置恢复代理:
1.首先确定用哪个用户作为恢复代理,可以设置任何用户,比如你想让user成为恢复代理,就用user账户登录系统(一般建议使用Administrator作为恢复代理)。
2.在“运行”中输入“cipher /rc:\test”(test可以是任何其它名字),回车后系统会提示询问是否用密码把证书保护起来,你可以自己设置一个密码,也可不需要密码保护就直接按回车。完成后我们在C盘的根目录下可以发现test.cer和test.pfx两个文件(在资源管理器中点“工具→文件夹选项→查看”,取消“隐藏已知文件类型的扩展名”才能看到文件后缀名)。
3.先使用鼠标右键单击PFX文件,选择“安装PFX”,将弹出“证书导入向导”,如果提示输入密码,就输入步骤2中设置的密码,选中“标示此私钥为可导出的”,下一步选择“根据证书类型,自动选择证书存储区”导入证书。
4.在“运行”中输入“gpedit.msc”并回车,打开组策略编辑器。在“计算机配置→Windows设置→安全设置→公钥策略→正在加密文件系统”下,点击鼠标右键,并选择“添加数据恢复代理”,按“添加故障恢复代理向导”打开test.cer,完成后即成功将USER用户设置为指定恢复代理。
此后只要用USER用户登录系统,就可以解密所有在指定恢复代理后被加密的文件(夹)了。注意,在设置恢复代理前已经加密的文件是不能解密的,所以必须未雨绸缪,事先设置恢复代理。
细心的读者可能会发现,这里又出现一个安全隐患,当建立了恢复代理后,如果别人非法用恢复代理的帐户登录了系统,获取加密数据又是易如反掌。所以务必先备份恢复代理证书后再删除恢复代理密钥和证书,具体方法如下:在“开始-运行”中输入gpedit.msc回车,在“本地计算机策略”中,导航到“计算机配置”-“Windows 设置”-“安全设置”-“公钥策略”-“加密文件系统”,再参照第二部分中备份、删除个人EFS证书的方法操作。在成功备份后务必删除,避免密钥存储在本机上,只在无法打开加密数据的紧急情况下导入使用。
最后简要总结一下用EFS保护数据的要点:为所有帐户设置加强密码,禁用系统自动登录,使用EFS加密数据,配合帐户安全权限保护数据,备份个人证书密钥并及时删除证书密钥,建立恢复代理,备份恢复代理证书密钥并及时删除证书密钥,证书、密钥导入后及时删除,重启电脑确保修改生效。