EFS介绍

发表于:2015-08-11 11:41 阅读:

一、什么是EFS
EFS(加密文件系统)是微软Windows平台集成的,可以对NTFS分区上的数据进行加密及解密的协议。用户使用EFS可以有效的保证数据存储的安全性,可以让数据不被未知的第三方窥探。它不仅适合个人用户使用,同样对于数据安全性要求较高的企业用户,EFS的功能也将发挥得淋漓尽致。

二、使用EFS的条件:
1EFS(加密文件系统)是依赖用NTFS文件系统来工作的。也就是说要想使用EFS功能我们的分区必须是NTFS类型。其实,EFS也是NTFS文件系统安全性的一个实例体现。
2、大家都知道NTFS的两大特点:加密和压缩。我要强调的一点是NTFS加密和压缩功能不能同时使用,我们只能取二者其一。(正所谓鱼和熊掌不可兼得)

三、EFS原理及说明:
1、如果一个用户对文件或文件夹进行了加密,那么只有这个用户可以访问这个文件夹,我们目前还没有办法可以使第二个普通用户来访问这个已加密的数据。

2、对数据进行加密的用户可以像平时一样使用已被加密数据(如打开、修改等操作),而其它没有访问权限的用户是不对访问这个被加密数据的。也就是说,EFS对于加密数据的用户来说是透明的。

3、对于已加密的数据进行移动或传输时,在移动或传输过程中数据是被解密的,待移动到相应的位置后再次被加密。如果加密数据被移动到了非NTFS分区,数据会被自动解密。

4EFS同时使用了私钥和公钥的加密方案。在加密数据时,EFS会根据其算法随机地生成一个EFS密钥。这个密钥会用来加密当前数据,并在用户需要时用于解密数据。当EFS密钥一旦用于加密了某个数据,那么这个密钥本生也将被加密保存在这个公钥里。要想解密这个公钥就必须拥有用户私钥,这样,我们就只有访问私钥来得到EFS的加密密钥。基于这个原理,用户必须拥有私钥的访问权才能获得对加密数据的访问权。

5、为了保障EFS的正常工作,它被内置了一个恢复方案。在用户丢失了私钥时,密码恢复代理用户可以给已加密的数据解密。这样就极大的保障了加密数据的安全性。


EFS是如何工作的

当一个用户使用EFS去加密文件时,必须存在一个公钥和一个私钥,如果用户没有,EFS服务自动产生一对。对于初级用户来说,即使他完全不懂加密,也能加密文件,可以对单个文件进行加密,也可以对一个文件夹进行加密,这样所有写入文件夹的文件将自动被加密。

一旦用户发布命令加密文件或试图添加一个文件到一个已加密的文件夹中,EFS将进行以下几步:

第一步:NTFS首先在这个文件所在卷的卷信息目录下(这个目录隐藏在根目录下面)创建一个叫做efs0.log的日志文件,当拷贝过程中发生错误时利用此文件进行恢复。

第二步:然后EFS调用CryptoAPI设备环境.设备环境使用Microsoft Base Cryptographic Provider 1.0 产生密匙,当打开这个设备环境后,EFS产生FEK(File Encryption Key,文件加密密匙).FEK的长度为128位(仅USCanada),这个文件使用DESX加密算法进行加密。

第三步: 获取公有/私有密匙对;如果这个密匙还没有的话(EFS第一次被调用时),EFS产生一对新的密匙.EFS使用1024位的RSA算法去加密FEK.

第四步:EFS为当前用户创建一个数据解密块Data Decryptong Field(DDF),在这里存放FEK然后用公有密匙加密FEK.


第五步:如果系统设置了加密的代理,EFS同时会创建一个数据恢复块Data Recovery Field(DRF),然后把使用恢复代理密匙加密过的FEK放在DRF.每定义一个恢复代理,EFS将会创建一个Data Recovery Agent(DRA).Winxp没有恢复代理这个功能,所以没有这一步.,这个区域的目的是为了在用户解密文件的中可能解密文件不可用。这些用户叫做恢复代理,恢复代理在EDRP(Encryption Data Recovery Policy,加密数据恢复策略)中定义,它是一个域的安全策略。如果一个域的EDRP没有设置,本地EDRP被使用。在任一种情况下,在一个加密发生时,EDRP必须存在(因此至少有一个恢复代理被定义)。DRF包含使用RSA加密的FEK和恢复代理的公钥。如果在EDRP列表中有多个恢复代理,FEK必须用每个恢复代理的公钥进行加密,因此,必须为个恢复代理创建一个DRF

第六步:包含加密数据、DDF及所有DRF的加密文件被写入磁盘。

第七步: 在加密文件所在的文件夹下将会创建一个叫做Efs0.tmp的临时文件.要加密的内容被拷贝到这个临时文件,然后原来的文件被加密后的数据覆盖.在默认的情况下,EFS使用128位的DESX算法加密文件数据,但是Windows还允许使用更强大的的168位的3DES算法加密文件,这是FIPS算法必须打开,因为在默认的情况下它是关闭的.

第八步:在第一步中创建的文本文件和第七步中产生的临时文件被删除。


文件被加密后,只有可以从DDF或是DRF中解密出FEK的用户才可以访问文件.这种机制和一般的安全机制不同并意味着要想访问文件,除了要有访问这个文件的权力外还必须拥有被用户的公有密匙加密过的FEK.只有使用私有密匙解密文件的用户才可以访问文件.这样的话会有一个问题:就是一个可以访问文件的用户可把文件加密之后,文件真正的拥有者却不能访问文件.解决这个问题的办法:用户加密文件的时候只创建一个文件解密块Data Decryption Field(DDF),但是只后他可以增加附加用户到密匙队列.这种情况下,EFS简单地把FEK用想给其他用户访问权的用户的私有密匙加密.然后用这些用户的公有密匙加密FEK,新增加的DDF和第一个DDF放在一起(这些新增加的用户对文件只有访问的权力).

解密的过程和加密的过程是相反的

首先,系统检测用户是否具有被EFS使用的私有密匙.如果有的话,系统将会在读取EFS属性,同时在DDF对列中寻找当前用户的DDF.如果DDF找到的话,用户私有密匙将会在那里解密出FEK.使用解密出来的FEK,EFS去解密加密的文件数据.需要注意的是文件从来不会完全被加密,但是有时候会去加密一些特殊的扇区如果上层模块要求的话.

四、怎样加密一个文件或文件夹?
1、在须要加密的文件或文件夹上单击鼠标右键选择属性
2
、在打开的快捷菜单上找到常规选项卡中单击高级

3
、在高级属性对话框中选中加密内容以便保护数据单击确定便完成的对数据的加密

 

 


(非特殊说明,本文版权归原作者所有,转载请注明出处 )
鸣人致力于为企业提供数据恢复、机房建设、数据库运行、运营及安全等全方位服务。




想在手机上、随时获取互联网前沿、设计资讯以及各种意想不到的"福利"吗?通过微信扫描二维码快速添加