2015年8月15日星期六

使用Windows EFS进行文件加密

  和Windows BitLocker一样,Encrypting File System(EFS,加密文件系统)是Windows内置的一套基于公共密钥的加密机制,可以加密NTFS分区上的文件和文件夹,能够实时、透明地对磁盘上的数据进行加密。

  加密操作

  加密方法用户是透明的,文件加密之后,不必手动解密,使用者能自动打开加密文件,而其他用户则无法打开加密文件。

  加密的方法很简单,在任何一个NTFS分区的目录或文件下,右击要加密的文件或文件夹;然后单击“属性”,在“常规”选项卡上,单击“高级”按钮;在弹出的窗口中,勾选“加密内容以便保护数据”复选框;点击“确定”即可,在关闭文件时文件即被加密。

使用Windows EFS进行文件加密

  在默认情况下,被EFS加密的文件或文件夹在资源管理器中会显示为绿色,这表示该文件或文件夹已经被EFS加密了。

  如果不再希望对某个文件实施加密,清除该文件的属性中的复选框即可。

  备份密钥

  ESF加密操作虽然简单,但是如果用户重装了系统,以后即使利用原来的用户名和密码,也无法打开EFS加密文件(夹),因此用户应该及时备份密钥,这样以后即使重装系统,也能打开加密文件。

  在进行加密操作后,Windows系统状态栏会自动提示用户进行备份加密密钥,点击后会出现“备份文件加密证书和密钥”的对话框,选择“现在备份”,会出现证书导出向导。

使用Windows EFS进行文件加密

  点下一步导出文件格式选项里,选择默认的“个人信息交换”。

使用Windows EFS进行文件加密

  再点下一步输入密码,这个密码是恢复证书要使用的密码,然后点下一步,选择保存地址,然后即可将证书文件成功导出。

使用Windows EFS进行文件加密

  如果用户没有点状态栏的图片即时进行备份密钥,也没有关系,还可以通过手动备份的方式进行密钥备份,方法是:点击菜单“开始”-“运行”,键入certmgr.msc打开证书管理器,点击“个人”-“证书”,只要以前做过加密操作,右边窗口就会有用户名同名的证书,假如有多份证书,选择“预期目的”为“加密文件系统”的;右击“证书”,在菜单中选择“所有任务”-“导出”。

使用Windows EFS进行文件加密

  之后会弹出一个“证书导出向导”窗口,在窗口中选取“导出私钥”,并按照向导的要求,输入密码保护导出的私钥,选择保存证书的目录,最后就完成了证书文件的导出工作。

使用Windows EFS进行文件加密

  加密的优点

  EFS加密基于公钥加密策略,使用了一种快速的对称加密算法用一个随机生成的文件加密密钥(file encryption key,FEK)对文件或文件夹进行加密,加密不同的文件或文件夹时使用的密钥也不相同。

  EFS加密的用户验证过程是在登录Windows时进行的,只要登录到Windows,就可以打开任何一个被授权的加密文件。所以这就是为什么EFS加密后的文件夹或文件,用户几乎无法感觉到加密效果的原因。

  从操作的便利性来说,由于EFS的密码和用户登录Windows密码集成在一起,因此无需输入密码即可解密文件,操作甚为方便。

  加密的缺点

  不过,相比Bitlocker来说,EFS加密拥有几个重大的缺点。

  首先,如果在重装系统前没有备份加密证书,重装系统后EFS加密的文件夹里面的文件将无法打开,即使用户使用原先的密码登录,也不能解密文件。

  其次,对于多用户操作同一台电脑的情况,另一个用户虽然无法看到加密的文件内容,但是依旧可以看到加密的文件夹名称和文件名称,从而获得一些信息,此外,如果加密时候使用默认权限,其他用户还可以对EFS加密的文件和文件夹进行删除操作,因此,用户在使用EFS加密的时候,需要在“属性”-“安全”选项里设置一下文件或文件夹的访问权限,以防止他人查看或删除。

  对于多用户使用同一台电脑还有一个有意思的情况,如果多用户都有管理员权限,那么修改另一个用户的密码,并用这个用户的身份登录系统后,并不能访问被EFS加密后的文件,因为用户密码被他人修改,但如果是用户自己对密码进行修改(需要输入旧密码的方式修改),那么用户依然可以打开被EFS加密的文件。

  对于未设置访问权限的EFS加密文件是进行解密的前提条件是:知道用户帐户的登录密码,该被删帐户的配置文件必须存在,因为加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,如果以上两个条件满足,那么先从旧的配置文件里面获得被删帐户的SID(在配置文件目录\Application Data\Microsoft\Crypto\RSA 下有一个以该帐户的SID为名的文件夹,然后新建一个用户,用newsid工具把SID改的和原来一样,然后用新用户登录,随便加密一个文件,再注销,把旧的配置文件覆盖新用户的配置文件,再用新用户登录进去就可以解密其它文件了。

  Bitlocker和EFS的对比

  Bitlocker主要用于加密整个驱动器、外部硬盘、U盘等,EFS主要用于加密单个文件或文件夹。

  Bitlocker不依赖用户账户,对于所有用户都是同样的状态(打开或关闭),EFS的加密依赖用户账户,如果电脑有多个用户,每个用户都可以独立加密自己的文件。

  Bitlocker必须是管理员用户才能使用,EFS不需要管理员权限即可使用。