EFS技术的应用

在Windows2000中,微软就采用了基于公共密钥加密技术的加密文件系统(EFS)。在Windows XP中,对加密文件系统做了进一步改进,使其能够让多个用户同时访问加密的文档。不过,在使用EFS加密文件的同时,也产生了诸多麻烦,比如重装系统后无法打开EFS加密过的文件夹等等。

  1、备份及导入密钥来解密

  点击“开始→运行”,在“运行”对话框中输入“certmgr.msc”打开证书管理器,打开“证书→当前用户”下的“个人→证书”,只要你做过加密操作,右边窗口就会有与用户名同名的(如果有多份证书,选“预期目的”为“加密文件系统”)证书。

  选中证书后点鼠标右键,选“所有任务→导出”,在弹出的“证书导出向导”中,选择“导出私钥”,并按照向导的要求输入密码来保护导出的私钥,最后存储为一个PFX后缀的文件。

  当加密文件的账户出现问题或重新安装了系统后需要访问或解密以前加密的文件时,只要使用鼠标右键单击备份的证书,选择“安装PFX”,系统将弹出“证书导入向导”,键入当初导出证书时输入用于保护备份证书的密码,然后选择让向导“根据证书类型,自动选择证书存储区”即可。完成后就可以访问以前的加密文件了。 

  2、可靠的EFS加密

  在没有备份的情况下,要对EFS解密几乎是不可能的,虽然网上流行很多种方法,但是可行性微乎其微,建议大家不要浪费时间。因为在Windows 2000/XP中,每一个用户都有一个SID(Security Identifier,安全标示符)以区分各自的身份,每个人的SID都是不相同的,并且有唯一性。在第一次加密数据的时候,操作系统就会根据加密者的SID生成该用户的密钥,并且会把公钥和密钥分开保存起来,供用户加密和解密数据。如果在重装系统之前没有对当前的密钥进行备份,实际上就意味着无论如何都不可能生成此前的用户密钥,而解密文件不仅需要公钥,还需要密码,所以也就根本不能打开此前EFS加密过的文件夹。

   EFS加密是安全可靠的,那么,一旦用户账户被删除,就像开头提到的那位,重新创建一个相同的用户可以打开吗?答案当然是否定的,重新创建的用户虽然与以前用户同名,但是系统却不会分配相同的SID(记住,不可能存在相同SID!除非是克隆系统),因此密钥也不同,加密的文件自然就无法打开了。

 

1.文件加密及证书备份

1)我们可以在资源管理器里加密和解密文件,该操作如同设置文件属性一样,非常方便

    选择文件或文件夹属性里的高级,选择其中的加密选项,确定即可。你可以选择加密文件还是文件夹,建议大家加密文件夹。这样会比较安全。

    加密完毕的文件WIN2003里显示为绿色,在WIN2000里不变。选中后属性为加密。

    注意:加密和压缩属性不可同时选择!文件的解密与加密一样操作 

 

2)通过命令行加密和解密文件更加方便快速。适合高级用户使用。

    系统使用CIPHER命令来进行加密和解密操作。

显示或更改 NTFS 分区上的目录[文件]的加密
  CIPHER [/E | /D] [/S:directory] [/A] [/I] [/F] [/Q] [/H] [pathname [...]]
  CIPHER /K
  CIPHER /R:filename
  CIPHER /U [/N]
  CIPHER /W:directory
  CIPHER

    /X[:efsfile] [filename]
    /A        在文件及目录上操作。如果父目录没有加密,当加密文件被修改后,它
              可能被解密。建议您给此文件和父目录加密。
    /D        将指定的目录解密。会标记目录,这样随后添加的文件就不会被加密。
    /E        将指定的目录加密。会标记目录,这样随后添加的文件就会被加密。
    /F        强迫在指定的对象进行加密操作,即使这些对象已经被加密。会按默认
              方式跳过已经加密的对象。
    /H        用隐藏或系统属性显示文件。在默认方式下,会忽略这些文件。
    /I        即使发生错误也继续执行指定的操作。在默认方式下,CIPHER 在遇到
              错误时会停止。
    /K        为运行 CIPHER 的用户创建新的加密密钥。如果选择了此选项,会忽略
              所有其他选项。
    /N        此选项只能与 /U 使用。这将阻止更新密钥。此选项用于查找本地磁盘
              上所有加密文件。
    /Q        只报告最重要的信息。
    /R        生成一个 EFS 恢复代理密钥和证书,然后把它们写入一个 .PFX 文件
              (包含证书和私钥)和一个 .CER 文件(只包含证书)。管理员可以向 EFS
              恢复策略添加 .CER 内容,为用户创建恢复代理并导入 .PFX 来恢复单独文件。
    /S        在已知目录和所有子目录执行指定的操作。
    /U        尝试包括本地磁盘上所有加密的文件。如果用户文件加密密钥或恢复代
              理的密钥改变,这会将其更新为当前的密钥。除了 /N 外,此选项不能
              与其他选项一起使用。
    /W        从整个卷上所有没有使用的磁盘空间删除数据。如果选择了此选项,会
              忽略其他选项。指定的目录可以位于本地卷上的任意位置。如果它是另
              一个卷上一个目录的装入点,此卷上的数据将被删除。
    /X        将 EFS 证书和密钥备份成文件的文件名。如果提供了 EFS 文件,将会
              备份当前用户的、用于加密此文件的证书。否则,将会备份用户当前的
              EFS 证书和密钥。
    directory   一个目录路径。
    filename    没有扩展名的一个文件名。
    pathname    指定一个模式、文件或目录。
    efsfile     一个加密的文件路径。
    不用参数时,CIPHER 显示当前目录和它包含文件的加密状态。您可以使用几个目录名和通配符。多个参数之间必须有空格。

    解密类似,这里就不做了。请大家自己去操作。CIPHER命令除可可以做加密和解密外,还可以备份密钥,生成DRA证书等。

    注意:使用EFS后,一定要记得备份用户证书和DRA证书。

 

   小知识:DRA—数据恢复代理,数据恢复代理是一个非常重要的角色,它能帮助你解密由于用户证书丢失不能打开的加密文件。为了安全起见,在没有DRA策略存在时,EFS系统不会工作。默认情况下,本地的本机管理员是单机模式下的DRA,而域的默认域管理员是域环境下的DRA。

 

3)备份方法:使用证书管理工具certmgr.msc,将证书导出,    

    注意:一定要记得导出私钥,否则证书备份是无意义的。

    带有私钥的证书称为数字ID,需要有密码保护方能访问。

    除了备份用户自己的证书外,还需要备份系统在安装系统时建立的DRA证书,这是你丢失用户证书后的最后依赖。备份方法同上。

2. 加密文件的共享

    加密的文件默认情况下只能由加密者自己访问,这里需要注意的是,加密的文件的透明访问者是加密的用户,而不是加密文件夹的所有者,换句话说,我在你设置为加密的文件夹里建立了文件,则该文件只有我可以访问,你也不能访问。(加密的文件夹不会拒绝非加密用户的访问),同时需要注意的是,加密的文件虽然可以限制非授权用户的访问,但不能限制有访问权的用户删除或改名。所以加密一般要和NTFS权限协同使用。如果由于特殊的原因,你需要把加密的文件和朋友共享,怎么办呢?

    首先,你的朋友也要有EFS证书(EFS证书是在第一次使用加密文件时系统建立的)。然后你的朋友需要将该证书备份给你(此时备份的证书可以是不带私钥的),你得到证书后,将其安装在系统中,并使用加密文件里的详细信息增加朋友EFS证书。

    加密文件系统的禁用

    由于加密文件系统依赖于用户证书,而用户往往会在一些网络共享文件夹上建立或设置加密文件,一旦用户证书丢失,就将带来不可弥补的损失,因此有的企业往往会要求关闭EFS系统,这里介绍几个关闭EFS系统的办法:

    1) 单个文件夹禁止加密

    对单个文件夹禁止加密的办法很简单,将以下内容复制到记事本里,并保存desktop.ini文件,放在要禁止加密的文件夹下。

[color=red]
[Encryption] 
Disable=1
[/color]


    加密完成后,你会看到该目录下的子目录被加密了,但该目录本身没有。

    2)在一个DC或OU里禁止加密,你需要在注册表中建立如下的键值:

HKLM\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\EFS\EfsConfiguration
Disable: 0x00000001

    3、 EFS的安全性有多高?

    EFS加密文件系统工作于证书机制(PKI)下,安全性很高,EFS系统由于使用了用户的SID和其密码加密主密钥,因此EFS的加密强度很大程度上取决于加密用户的密码强度。建议使用较强的密码强度,这样会提高EFS的安全性。另外,EFS的证书存储在用户配置文件中。在重新安装系统或提升DC之前,务必将证书导出,并尽量不要破坏原来的用户配置文件,实践证明,如果丢失了用户证书副本又破坏了用户配置文件,恢复EFS文件几乎是不可能的。

    4、 EFS文件证书丢失的处理

    一旦EFS的用户证书丢失,你可以将原先备份的用户证书导入到个人证书区即可解密,如果没有证书备份,可以导入系统的DRA证书,系统的DRA证书应在系统安装后备份并从运行系统中删除,以防万一。

    注意:DRA证书没有关联性,可导入任何用户的个人证书区工作。

    如果暂时无法找到合适的DRA证书也无法解密文件,那么EFS加密文件是禁止移动或复制的。你可以使用系统自带的备份工具将EFS文件备份出来保存以便今后解密。

    注意:尽管EFS加密文件不能移动或复制,但可以删除或改名。

    5、 注意点

    a) 不要加密系统文件夹

    b) 不要加密临时目录

    c) 应该始终加密个人文件夹

    d) 部署EFS前必须定义合适的DRA

    e) 必须备份用户证书和DRA证书

    f) 使用EFS后应尽量避免重新安装系统,重新安装前应先将文件解密。

    g) 加密文件系统不对传输过程加密

posted @ 2010-06-08 13:02  Neo.  阅读(460)  评论(0编辑  收藏  举报