前言
你的电脑中总不免有一些个人的隐私或是个秘密,不希望他人看到的东西。那么你当然要把它放好喽,光是放好就行了吗?当然不能。还要有安全措施啊。设置个NTFS权限?是个不错的主意,可如果你的笔记本被盗了怎么办?再如公司里的公共计算机或网吧计算机怎么办?解决数据安全的唯一途径就是加密。可第三方的加密软件不仅贵而且使用麻烦,真的没有好办法了吗?别担心,微软公司早就帮你想好了,在WIN2000里就开始提供了系统自己的加密文件系统—EFS。在WIN2003里,该功能更有了长足的发展。下面我们带大家去看看EFS的神秘之处。
简单操作
先来点简单的,如何加密文件。使用加密文件系统要有两个前提条件:
系统应使用NTFS分区,FAT分区不支持EFS
系统要有DRA(数据恢复代理)
小知识:DRA—数据恢复代理,数据恢复代理是一个非常重要的角色,它能帮助你解密由于用户证书丢失不能打开的加密文件。为了安全起见,在没有DRA策略存在时,EFS系统不会工作。默认情况下,本地的本机管理员是单机模式下的DRA,而域的默认域管理员是域环境下的DRA。
1、 在资源管理器中操作
先来个简单的,我们可以在资源管理器里加密和解密文件,该操作如同设置文件属性一样,非常方便,请见图:
选择文件或文件夹属性里的高级,选择其中的加密选项,确定即可。你可以选择加密文件还是文件夹,建议大家加密文件夹。这样会比较安全。
加密完毕的文件WIN2003里显示为绿色,在WIN2000里不变。选中后属性为加密。
注意:加密和压缩属性不可同时选择!
文件的解密与加密一样操作,如图:
2、 命令行方式操作
通过命令行加密和解密文件更加方便快速。适合高级用户使用。
系统使用CIPHER命令来进行加密和解密操作。
[code]
E:/Documents and Settings/Administrator>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 显示当前目录和它包含文件的加密状态。您可以使用几个目录
名和通配符。多个参数之间必须有空格。
[/code]
操作实例:
解密类似,这里就不做了。请大家自己去操作。CIPHER命令除可可以做加密和解密外,还可以备份密钥,生成DRA证书等。
注意:使用EFS后,一定要记得备份用户证书和DRA证书。
应用技巧和注意点
大家从上面可以看到,EFS的应用是非常简单的,但是EFS在应用中需要注意的东西也很多,我们一起来看看:
1、 密钥备份
EFS加密系统是利用用户证书来进行加密操作的,因此加密结束后,一定要备份用户证书,否则一旦用户证书丢失,解密EFS将是不可能的。
备份方法:使用证书管理工具,将证书导出,见图:
注意:一定要记得导出私钥,否则证书备份是无意义的。见图
带有私钥的证书称为数字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) 加密文件系统不对传输过程加密
用户的私有密钥存放在:%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的内部结构图
管理员reset password造成用户不能解密只是针对本地用户,对域用户则没有影响。
为鼠标右键增加“加密”“解密”快捷菜单
在HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Explorer/Advanced下
新建 EncryptionContextMenu
Dword值 1