小杜 发表于 2006-7-4 17:46:35

EFS文件系统加密的工作原理!

EFS原理:

         EFS使用对称密匙加密算法和公用密匙加密算法结合起来保护文件.文件数据使用对称加密算法(DESX)加密.
         在对称加密算法中使用的密匙叫做文件加密密匙.英文是File Encryption Key (FEK).EFS使用公有/私有密
         匙算法加密FEK,同时把它和文件存储在一起.同时使用对称密匙加密算法和公有密匙加密算法是为了增加加
         密的速度.非对称加密算法加密数量很大的数据时要花费很多的时间,但使用对称的加密算法将是它的1000倍.

         当加密一个文件的时候,NTFS首先在这个文件所在卷的卷信息目录下(这个目录隐藏在根目录下面)创建一个
         叫做efs0.log的日志文件.然后efs调用CryptoAPI设备环境.设备环境使用Microsoft Base Cryptographic
         Provider 1.0 产生密匙,当打开这个设备环境后,EFS产生文件加密密匙(FEK).

         下一步是获取公有/私有密匙对;如果这个密匙还没有的话(当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没有
         恢复代理这个功能,所以没有这一步.

         这时,在加密文件所在的文件夹下将会创建一个叫做Efs0.tmp的临时文件.要加密的内容被拷贝到这个临时文
         件,然后原来的文件被加密后的数据覆盖.在默认的情况下,EFS使用128位的DESX算法加密文件数据,但是Windows
         还允许使用更强大的的168位的3DES算法加密文件,这是FIPS算法必须打开,因为在默认的情况下它是关闭的,
EFS通过注册表去判断是使用DESX还是3DES.如果HKLM\SYSTEM\CurrentControlSet\Control\LSA\FipsAlgorith-
         mPolicy = 1 的话将会使用3DES.否则,EFS检查HKLM\Software\Microsoft\Windows NT\CurrentVersion\EFS\A-
         lgorithmID (这个值可能不存在);如果存在的话,它将会是CALG_3DES or CALG_DESX,否则,使用DESX.


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

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

guoliren 发表于 2006-7-11 17:39:21

文章还是要专业

其中的对称和非对称就不是很明白什么意思

liangminghn 发表于 2007-11-21 13:00:30

(38: (39:

wongyuel 发表于 2008-12-22 11:31:31

因为不懂是什么,下来看看。谢谢LZ.

stephen2009 发表于 2009-9-11 20:32:13

学习中,,,

小丁 发表于 2009-10-1 18:00:19

如果重装系统。。。是不是就意味着永远打不开?当时没有备份密钥。。能不能借助第三方软件。进行破密呢。。。或者在这个硬盘上能不能搜索到原来的密钥呢????

cemondd 发表于 2009-12-4 15:00:35

学习了.。。。。。

fweiger 发表于 2011-1-21 14:37:26

非常不错,谢谢! 又可以学习新东西了。感谢LZ的贡献!

shiqiang 发表于 2011-8-21 10:09:19

学习了,感谢分享。

stanfy 发表于 2011-8-31 18:21:20

好东西,不过楼主如有破解的技术分享就更完美了。呵呵,说说而已,这个有点勉为其难了。
页: [1] 2
查看完整版本: EFS文件系统加密的工作原理!