由于经常外出旅行,我注意到在飞机上携带笔记本电脑的旅客越来越多了。最近在机场等晚点的班机时,我发现也有旅客在笔记本电脑上紧张地敲着什么。由此,我开始思考计算机在我们的社会中是多么重要了━━不仅仅是为了工作,也为了方便个人。
想想存储在计算机上的资料的重要性吧━━从商业文件到个人的信用卡帐户资料,更重要的是我们需要考虑这些资料是否安全,一旦你的笔记本电脑丢了或被人盗窃将会发生什么样的后果?一旦有人知道了这些资料将会对你的公司和你本人的命运产生什么样的影响?为了帮助我们保护资料的隐密性和安全,微软在Windows 2000中添加了一项被称作"加密文件系统"(EFS)的功能。
Windows NT用户可以通过设置NTFS权限来控制文件的访问,但文件权限并不总能保证数据的安全,而且一些用户认为访问权限的设置太复杂了。如果用户可以接触到系统,至少有几种途径都可以使他绕过正确设置的NTFS访问权限,他们可以用一张软盘将机器启动到DOS状态,然后利用象NTFSDOS这样的工具软件存取硬盘上包括被保护文件在内的任何文件,用户甚至可以取下系统上的硬盘把它连接到其他的系统上或采用其他的方法来访问硬盘上的数据。换句话说,虽然操作系统提供了一定文件保护措施,但如果黑客绕过操作系统,也就绕过了这些安全措施。EFS通过使用公钥加密技术向硬盘上存储数据的方法解决了这一问题,由于硬盘上的数据是用加密格式写上去的,即使黑客采用别的操作系统启动机器或者把硬盘连接到其他的系统上,硬盘上的文件也会得到有效地保护。
EFS的原理
在使用EFS加密一个文件或文件夹时,EFS系统生成一个由伪随机数组成的文件加密钥匙(FEK),系统将利用这个密码和"数据扩展标准X"(DESX)算法创建加密后的文件并把它存储到硬盘上,系统利用你的公钥加密FEK,并把它存储在一个加密的文件中。在访问被加密的文件时,系统利用你的私钥解密FEK,然后利用FEK解密出文件。在首次使用EFS时,如果用户还没有公钥/私钥对,系统会首先生成它们。如果你登录了一个域,公钥/私钥对则依赖于一个域控制器(DC),否则它就依赖于本地机器。
设置EFS
只有在配置NTFS文件系统硬盘、运行Windows 2000的机器上才可以使用EFS。要让一个文件或文件夹使用EFS,右击该文件或文件夹,选择"属性"对话框中出现的"高级"按钮,点击"加密内容以便保护数据"检查框,系统将把选择的文件或文件夹加密后重新写回到硬盘上,没有正确的密钥也就无法访问它,在加密的文件夹中新创建的文件将自动地以加密的方式写到硬盘上。如果是你设置的加密公钥,在读取文件时,解密过程是自动进行的,不会有任何的提示。使用EFS不但要比设置NTFS访问权限简单,而且还比它更有效。
EFS的恢复代理
作为网络系统管理员,使用EFS带来的一个不便之处是:如是一个用户采用加密方式存储了公司重要的资料后又离开了公司,你如何再读取这些资料?为了能够恢复数据,EFS生成了两份FEK拷贝,并把它们都存储到本地机器的硬盘上,第一份拷贝采用用户提供的公钥加密,第二份拷贝采用恢复代理公钥加密,这些措施保证在必要时恢复代理可以访问EFK并对文件进行解密。缺省情况下,域管理员是域中计算机的恢复代理,本地系统的管理员是单机系统的恢复代理,此外还可以使用组策略来指定另外的恢复代理。
EFS虽然不能绝对保证你的数据的安全,但这种新的加密工具的效能要远优于以前的一些工具。