莅EFS加密解密节之我论2007年09月10日星期一下午05:47如果某个用户把自己的登录帐户删除,那么其他用户将无法访问其EFS加密文件。更可恶的是,一旦公司里的某个用户心怀怨气,恶意加密了本属于别的用户的重要文件,将会导致严重问题。一般情况下,这些EFS加密文件已经被判了死刑,但是实际上只要满足以下条件的话,我们还是可以在末日来临之前打开逃生的天窗:节(1)必须知道该被删帐户的密码。膇(2)该被删帐户的配置文件必须存在。如果使用“本地用户和组”管理单元删除帐户,则配置文件保留的机会很大,如果使用“用户帐户”控制面板删除帐户,则有一半机会保留配置文件。如果配置文件不幸被删,则只能祈祷可以借助EasyRecovery之类的数据恢复工具进行恢复。膆可能有些朋友会觉得这两个条件比较苛刻,此处卖个关子先……莃EFS加密原理莀大家知道,EFS加密实际上综合了对称加密和不对称加密:袀(1)随机生成一个文件加密密钥(叫做FEK),用来加密和解密文件。袆(2)这个FEK会被当前帐户的公钥进行加密,加密后的FEK副本保存在文件$EFS属性的DDF字段里。莄(3)要想解密文件,首先必须用当前用户的私钥去解密FEK,然后用FEK去解密文件。葿看到这里,似乎EFS的脉络已经很清晰,其实不然,这样还不足于确保EFS的安全性。系统还会对EFS添加两层保护措施:芀(1)Windows会用64字节的主密钥(MasterKey)对私钥进行加密,加密后的私钥保存在以下文件夹:薇%UserProfile%\ApplicationData\Microsoft\Crypto\RSA\SID膂提示Windows系统里的各种私有密钥,都用相应的主密钥进行加密。WindowsVista的BitLocker加密,也用其主密钥对FVEK(全卷加密密钥)进行加密。袁(2)为了保护主密钥,系统会对主密钥本身进行加密(使用的密钥由帐户密码派生而来),加密后的主密钥保存在以下文件夹:虿%UserProfile%\ApplicationData\Microsoft\Protect\SID莇整个EFS加密的密钥架构如图1所示。芃提示EFS密钥的结构部分,参考自《WindowsInternals4th》的第12章。羀回到“任务描述”部分所述的两个条件,现在我们应该明白原因了:肈(1)必须知道该被删帐户的密码:没有帐户密码,就无法解密主密钥。因为其加密密钥是由帐户密码派生而来的。肇提示难怪WindowsXP和2000不同,管理员重设帐户密码,也不能解密EFS文件。芅(2)该被删帐户的配置文件必须存在:加密后的私钥和主密钥(还包括证书和公钥),都保存在配置文件里,所以配置文件万万不可丢失,否则就会彻底“鬼子不能进村”。重装系统后,原来的配置文件肯定被删,这时候当然不可能恢复EFS文件。莂可能有用户会想,只需新建一个同名的用户帐户,然后把原来配置文件复制给新帐户,不就可以解密EFS文件了?原因在于帐户的SID,因为新建用户的SID不可能和老帐户一样,所以常规方法是不可能奏效的。我们必须另辟蹊径,让系统再造一个完全一样的SID!薈恢复步骤袈为了方便描述,这里假设被删帐户的用户名为Admin,Windows安装在C盘。“声明”部分提到的那篇文章。羇首先确认被删帐户的SID,这里可以进入以下文
EFS加密解密 来自淘豆网m.daumloan.com转载请标明出处.