WINDOWS 2003的加密文件系统— EFS加密解密

[复制链接]
  • TA的每日心情
    开心
    2012-4-25 18:36
  • 签到天数: 1 天

    [LV.1]布衣百姓

    200

    主题

    862

    回帖

    2601

    积分

    Intohard Team

    づ甜甜橙子ぜ

    Rank: 7Rank: 7Rank: 7

    积分
    2601
    发表于 2007-7-15 23:05:50 | 显示全部楼层 |阅读模式
    前言

    你的电脑中总不免有一些个人的隐私或是个秘密,不希望他人看到的东西。那么你当然要把它放好喽,光是放好就行了吗?当然不能。还要有安全措施啊。设置个NTFS权限?是个不错的主意,可如果你的笔记本被盗了怎么办?再如公司里的公共计算机或网吧计算机怎么办?解决数据安全的唯一途径就是加密。可第三方的加密软件不仅贵而且使用麻烦,真的没有好办法了吗?别担心,微软公司早就帮你想好了,在WIN2000里就开始提供了系统自己的加密文件系统—EFS。在WIN2003里,该功能更有了长足的发展。下面我们带大家去看看EFS的神秘之处。

    简单操作
    先来点简单的,如何加密文件。使用加密文件系统要有两个前提条件:
     系统应使用NTFS分区,[wiki]FAT[/wiki]分区不支持EFS
     系统要有DRA([wiki]数据恢复[/wiki]代理)
    小知识:DRA—数据恢复代理,数据恢复代理是一个非常重要的角色,它能帮助你解密由于用户证书丢失不能打开的加密文件。为了安全起见,在没有DRA策略存在时,EFS系统不会工作。默认情况下,本地的本机管理员是单机模式下的DRA,而域的默认域管理员是域环境下的DRA。
    1、 在资源管理器中操作
    先来个简单的,我们可以在资源管理器里加密和解密文件,该操作如同设置文件属性一样,非常方便,请见图:

    1.jpg

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

    2.jpg

    加密完毕的文件WIN2003里显示为绿色,在WIN2000里不变。选中后属性为加密。
    注意:加密和压缩属性不可同时选择!
    文件的解密与加密一样操作,如图:

    3.jpg

    2、 命令行方式操作
    通过命令行加密和解密文件更加方便快速。适合高级用户使用。
    系统使用CIPHER命令来进行加密和解密操作。
    1. E:\Documents and Settings\Administrator>cipher /?
    2. 显示或更改 NTFS 分区上的目录[文件]的加密
    3. CIPHER [/E | /D] [/S:directory] [/A] [/I] [/F] [/Q] [/H] [pathname [...]]
    4. CIPHER /K
    5. CIPHER /R:filename
    6. CIPHER /U [/N]
    7. CIPHER /W:directory
    8. CIPHER /X[:efsfile] [filename]
    9.   /A    在文件及目录上操作。如果父目录没有加密,当加密文件被修改后,它
    10.        可能被解密。建议您给此文件和父目录加密。
    11.   /D    将指定的目录解密。会标记目录,这样随后添加的文件就不会被加密。
    12.   /E    将指定的目录加密。会标记目录,这样随后添加的文件就会被加密。
    13.   /F    强迫在指定的对象进行加密操作,即使这些对象已经被加密。会按默认
    14.        方式跳过已经加密的对象。
    15.   /H    用隐藏或系统属性显示文件。在默认方式下,会忽略这些文件。
    16.   /I    即使发生错误也继续执行指定的操作。在默认方式下,CIPHER 在遇到
    17.        错误时会停止。
    18.   /K    为运行 CIPHER 的用户创建新的加密密钥。如果选择了此选项,会忽略
    19.        所有其他选项。
    20.   /N    此选项只能与 /U 使用。这将阻止更新密钥。此选项用于查找本地磁盘
    21.        上所有加密文件。
    22.   /Q    只报告最重要的信息。
    23.   /R    生成一个 EFS 恢复代理密钥和证书,然后把它们写入一个 .PFX 文件
    24.        (包含证书和私钥)和一个 .CER 文件(只包含证书)。管理员可以向 EFS
    25.        恢复策略添加 .CER 内容,为用户创建恢复代理并导入 .PFX 来恢复单
    26.        独文件。
    27.   /S    在已知目录和所有子目录执行指定的操作。
    28.   /U    尝试包括本地磁盘上所有加密的文件。如果用户文件加密密钥或恢复代
    29.        理的密钥改变,这会将其更新为当前的密钥。除了 /N 外,此选项不能
    30.        与其他选项一起使用。
    31.   /W    从整个卷上所有没有使用的磁盘空间删除数据。如果选择了此选项,会
    32.        忽略其他选项。指定的目录可以位于本地卷上的任意位置。如果它是另
    33.        一个卷上一个目录的装入点,此卷上的数据将被删除。
    34.   /X    将 EFS 证书和密钥备份成文件的文件名。如果提供了 EFS 文件,将会
    35.        备份当前用户的、用于加密此文件的证书。否则,将会备份用户当前的
    36.        EFS 证书和密钥。
    37.   directory  一个目录路径。
    38.   filename  没有扩展名的一个文件名。
    39.   pathname  指定一个模式、文件或目录。
    40.   efsfile   一个加密的文件路径。
    41.   不用参数时,CIPHER 显示当前目录和它包含文件的加密状态。您可以使用几个目录
    42. 名和通配符。多个参数之间必须有空格。
    复制代码

    操作实例:

    4.jpg

    解密类似,这里就不做了。请大家自己去操作。CIPHER命令除可可以做加密和解密外,还可以备份密钥,生成DRA证书等。
    注意:使用EFS后,一定要记得备份用户证书和DRA证书。

    应用技巧和注意点
    大家从上面可以看到,EFS的应用是非常简单的,但是EFS在应用中需要注意的东西也很多,我们一起来看看:
    1、 密钥备份
    EFS加密系统是利用用户证书来进行加密操作的,因此加密结束后,一定要备份用户证书,否则一旦用户证书丢失,解密EFS将是不可能的。
    备份方法:使用证书管理工具,将证书导出,见图:

    5.jpg

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

    6.jpg

    带有私钥的证书称为数字ID,需要有密码保护方能访问。
    除了备份用户自己的证书外,还需要备份系统在安装系统时建立的DRA证书,这是你丢失用户证书后的最后依赖。备份方法同上。

    2、 加密文件的共享
    加密的文件默认情况下只能由加密者自己访问,这里需要注意的是,加密的文件的透明访问者是加密的用户,而不是加密文件夹的所有者,换句话说,我在你设置为加密的文件夹里建立了文件,则该文件只有我可以访问,你也不能访问。(加密的文件夹不会拒绝非加密用户的访问),同时需要注意的是,加密的文件虽然可以限制非授权用户的访问,但不能限制有访问权的用户删除或改名。所以加密一般要和NTFS权限协同使用。如果由于特殊的原因,你需要把加密的文件和朋友共享,怎么办呢?
    首先,你的朋友也要有EFS证书(EFS证书是在第一次使用加密文件时系统建立的)。然后你的朋友需要将该证书备份给你(此时备份的证书可以是不带私钥的),你得到证书后,将其安装在系统中,并使用加密文件里的详细信息增加朋友EFS证书。见图:

    7.jpg

    加密文件系统的禁用
    由于加密文件系统依赖于用户证书,而用户往往会在一些网络共享文件夹上建立或设置加密文件,一旦用户证书丢失,就将带来不可弥补的损失,因此有的企业往往会要求关闭EFS系统,这里介绍几个关闭EFS系统的办法:
    1) 单个文件夹禁止加密
    对单个文件夹禁止加密的办法很简单,将以下内容复制到记事本里,并保存desktop.ini文
    件,放在要禁止加密的文件夹下。

    [Encryption]
    Disable=1

    样例:

    8.jpg

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

    9.jpg

    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) 加密文件系统不对传输过程加密

    用户的私有密钥存放在:%systemdrive%\Documents and Settings\你的用户名\Application Data\Microsoft\Crypto\RSA\你的SID 下面的。


    1、没有DRA策略不等于没有恢复代理,因为DRA策略里可以定义成没有恢复代理的,这也是策略。但在XP里确实可以没有恢复代理,但是没有恢复代理的情况下使用加密系统,是相当危险的。

    2、至于你说的那位能解密EFS的DXKo Sung Hoon(▲▲) ,很遗憾,我在你给出的链接里没有看到具体的描述,不能确定其真实性,我只能从通常情况下给你分析,EFS依赖于用户证书,但用户证书的产生是和用户的SID以及用户密码有关的,但在实际情况下,有时用户密码是空白的,这时系统将使用SYSKEY来做主密钥的加密。而SYSKEY是有一定的安全漏洞的,可以通过某种手段破解。因此EFS的安全性和用户密码的安全性相同,如果用户使用了复杂的密码,则EFS的安全性就很高了。当你丢失了证书后,可以从用户配置文件里通过某种手段得到,在MS的PSS里,有这样的一个工具。但如果完全丢失了证书和用户配置文件,想恢复EFS就很难了。至于NTBACKUP里有解密这一功能,我还没发现。

    3、EFS加密的文件在移动或复制时,都必须先解密,因此没有解密证书是不能移动和复制EFS文件的。如果要是能移动的话,就麻烦了,我就可以把文件转移到一个新的不具备加密书信的文件夹或FAT分区,这样就可以破解文件了。显然这不可能。

    4、组策略中确有禁止EFS的地方,和我提供的注册表一样。

    补记:
    实际上EFS在国外很多大的企业都在广泛应用,如果按你说的那么不安全的话,那可能没人敢用了哦。另外,在WIN2003里,EFS证书可以由系统CA来颁发,这更加使EFS证书的安全性得到了有效保障。

    以下是一个EFS的内部结构图

    10.jpg

    管理员reset password造成用户不能解密只是针对本地用户,对域用户则没有影响。

    为鼠标右键增加“加密”“解密”快捷菜单

    在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced下
    新建 EncryptionContextMenu
    Dword值 1

    该用户从未签到

    0

    主题

    10

    回帖

    119

    积分

    [INTOHARD]班长

    Rank: 2

    积分
    119
    发表于 2007-7-16 19:43:11 | 显示全部楼层
    原来有这么多用法,学习了!

    该用户从未签到

    16

    主题

    122

    回帖

    229

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    229
    发表于 2007-10-26 20:23:03 | 显示全部楼层
    好好好好好好好好好好好好

    该用户从未签到

    1

    主题

    137

    回帖

    344

    积分

    [INTOHARD]排长

    Rank: 3Rank: 3

    积分
    344
    发表于 2008-4-9 10:03:11 | 显示全部楼层
    很好很详细的教程.收藏了.
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    快速回复 返回顶部 返回列表