现今,在广大IT界人士中一个普遍的观点是"[M$] security"仅是一个自相矛盾的术
语。对此,在最新的操作系统Windows 2000中,[M$]做了很大的改进,让这种观点成为
过去。除了Kerberos v5验证、IPSec、TLS、智能卡支持和PKI的集成外,Windows 2000
证实比先前产品有更高的安全可信性。
在Windows 2000的安全阵容中新加了加密文件系统(EFS),EFS能让用户在一个硬盘上
使用公钥加密去保护数据。如果硬盘上的文件已经使用EFS进行了加密,这样即使一个
攻击者能访问到硬盘上,由于没有解密的Key,文件也是不可用的。这种特性对于移动
用户、通过宽带连接的家族用户、对敏感数据有更高安全要求的机构的益处是显而易见
的。
Windows 2000 EFS是如何工作的
当一个用户使用EFS去加密文件时,必须存在一个公钥和一个私钥,如果用户没有,EFS
服务自动产生一对。对于初级用户来说,即使他完全不懂加密,也能加密文件,可以对
单个文件进行加密,也可以对一个文件夹进行加密,这样所有写入文件夹的文件将自动
被加密。
一旦用户发布命令加密文件或试图添加一个文件到一个已加密的文件夹中,EFS将进行
以下几步:
第一步:文件被拷贝到临时文本文件,当拷贝过程中发生错误时利用此文件进行恢复。
第二步:文件被一个随机产生的Key加密,这个Key叫作文件加密钥匙,FEK的长度为128
位(仅US和Canada),这个文件使用DESX加密算法进行加密。
第三步:数据加密区域(DDF)产生,这个区域包含了使用RSA加密的FEK和用户的公
钥。
第四步:数据恢复区域(DRF)产生,这个区域的目的是为了在用户解密文件的中可能
解密文件不可用(丢失Key、离开公司等)。这些用户叫做恢复代理,恢复代理在加密
数据恢复策略(EDRP)中定义,它是一个域的安全策略。如果一个域的EDRP没有设置,
本地EDRP被使用。在任一种情况下,在一个加密发生时,EDRP必须存在(因此至少有一
个恢复代理被定义)。DRF包含使用RSA加密的FEK和恢复代理的公钥。如果在EDRP列表
中有多个恢复代理,FEK必须用每个恢复代理的公钥进行加密,因此,必须为个恢复代
理创建一个DRF。
第五步:包含加密数据、DDF及所有DRF的加密文件被写入磁盘。
第六步:在第一步中创建的文本文件被删除。
下面的进程在数据被解密时发生:
第一步:使用DDF和用户的私钥解密FEK。
第二步:使用FEK解密文件。
在恢复代理恢复文件的过程中,同样的进程产生,除了在第一步中使用DRF而不是DDF。
EFS组成
EFS由EFS服务、EFS驱动、EFS文件系统运行库(FSRTL)和Win32 API。EFS服务作为一
个标准系统服务运行,它是Windows 2000安全子系统的一部分。它与CryptoAPI接口产
生钥匙、DDF和DRF,EFS驱动就象是NTFS的一部分,它呼叫EFS服务请求钥匙,DDF和DRF
作为需要被创建,一个EFS驱动的组成是EFS FSRTL,它定义了EFS驱动程序能作为NTFS的
代表而执行的功能。
EFS和NTFS如何共存
EFS可以被认为除NTFS外的第二层防护,为访问一个被加密的文件,用户必须有访问到
文件的NTFS权限。在相关NTFS权限的用户能看到文件夹中的文件,但不能打开文件除非
有相应的解密钥匙。同样,一个用户有相应的钥匙但没有相应的NTFS权限也不能访问到
文件。所以一个用户要能打开加密的文件,同时需要NTFS权限和解密钥匙。
然而,NTFS权限可能被大量的方法穿越,包括口令破解程序、用户在离开前没有退出系
统或系统内部的NTFSDOS。在NT4.0下,游戏结束了――硬盘上所有的数据都可以访问
了。在Windows 2000下,当一个文件用EFS加密后,一个未授权的用户,即使访问到磁
盘上的文件,但也不能访问文件上数据,因为没有授权用户的私钥。
EFS好处
在硬盘上加密数据的能力对于进出硬盘自身有极大的好处。另外,EFS的应用产生了其
它三方加密方法。
访问一个加密的文件不需要用户任何的操作,先前的第三方的文件加密工具需要用户每
次访问文件时键入口令,它们并没有与文件系统或操作系统进行无缝地集成,使用户感
觉受挫而愿使用文件加密。
EFS密码组结合了对称加密(DESX)和非对称加密(RSA)的优点,优于对数据使用非对
称加密(用这种方法仅FEK被加密),数据使用对称加密进行加密。
备份进程备份加密格式的文件,消除了备份操作需要访问数据的需要。
EFS集成进文件系统,因此一个恶意的用户不能绕过文件系统访问到硬盘,而且,所有
运行在内核模式的EFS驱动程序不能由用户直接访问。
Windows 2000 的CryptoAPI体系允许用户在智能卡上存取他们的私钥,这比将钥匙
放在硬盘或软盘上更为安全,这也使多个位置访问成为可能。
局限性
安全性的增加伴随着花费的增加,任何加密进程都将会增加处理量和降低某些方面的性
能,这儿有一些关于在硬盘上加密文件的实行结果。
仅仅对存储在磁盘上的文件进行加密,而不是全部的网络上。必须应用其它的加密方
法,例如IPSec,去安全网络传输。
自动病毒监测不能扫描加密文件除非他们访问到用户的钥匙。
如果一个文件或硬盘被偷,恶意的用户将有大量的时间,如果有能力破译加密数据的
话,数据可能会被解密。
下面是Micorsoft EFS特定的更多的局限性:
EFS仅仅工作在NTFS卷,目前EFS在FAT卷上不支持。
EFS目前使用DESX作为它的加密算法,更强壮的加密得法已存在,[M$]许诺在将来的EFS
版本提供支持。
如果系统文件被加密,系统将不能用,EFS仅对数据文件加密。OS操作需要引导的文件
不能被加密,否则在开始时时候将不能访问,为保护这些,加密被限制在文件属性的设
置上,然而,在2000年7月25日,SecuriTeam报告了一个有关EFS的DoS,如果批处理文
件(没有系统属性)被加密后,系统将不能被引导。
定义太多的恢复代理将影响性能,对每一个恢复代理,FEK发布被加密同时一个DRF被创
建,这将引起两个问题:一是,为存储多个DRF需要大量的磁盘空间,二是,创建多个
DRF将花费更多的时间和处理器资源。
在这个版本上不支持文件共享,仅仅创建DDF用户的钥匙能访问到文件,[M$]通知在将
来的EFS版本将支持文件共享。
EFS将增加系统管理员的管理,而且管理加密钥匙的区域是非常重要的。
在加密进程的第一步中创建的文本备份文件在进程中以未加密的格式存在,恶意用户可
能在文件存在时访问到这个文件。
结论
对[M$]操作系统EFS是一个受欢迎的附加功能,它对用户是透明的操作,有助于减少物
理安全的危险,任何的安全技术,都有其局限性和问题,不能预防所有的问题,但作为
全面的安全策略的一部分,EFS对阻止未授权的用户查看敏感数据是一个非常有用的工
具。