WinXP的EFS加密文件如何解密?
生活随笔
收集整理的這篇文章主要介紹了
WinXP的EFS加密文件如何解密?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
根據網上流傳的資料,EFS(Encrypting?File?System)
EFS加密是基于公鑰策略的。在使用EFS加密一個文件或文件夾時,系統首先會生成一個由偽隨機數組成的FEK(File?Encryption?Key,文件加密鑰匙),然后將利用FEK和數據擴展標準X算法創建加密后的文件,并把它存儲到硬盤上,同時刪除未加密的原始文件。隨后系統利用你的公鑰加密FEK,并把加密后的FEK存儲在同一個加密文件中。而在訪問被加密的文件時,系統首先利用當前用戶的私鑰解密FEK,然后利用FEK解密出文件。在首次使用EFS時,如果用戶還沒有公鑰/私鑰對(統稱為密鑰),則會首先生成密鑰,然后加密數據。如果你登錄到了域環境中,密鑰的生成依賴于域控制器,否則依賴于本地機器。對于EFS,首先要了解以下概念。?(1)安全標識符(SID,“安全ID”):是來識別用戶、組和計算機帳戶的標志符。在第一次創建一個帳戶時,windows系統將給每一個帳戶發布一個唯一的?SID。Windows?中的內部進程通過帳戶的?SID?而不是帳戶的名字來區別賬戶。相當于人的身份證號碼,一些嚴肅的場合,我們通過身份證號碼來區分不同的人而不是通過姓名來區分。要注意的是,如果一個賬戶被錯誤刪除了,即使重建一個相同名字的賬戶,其SID也和被刪除賬戶的SID不同,對計算機來說,這仍然是兩個不同的賬戶。然后,我們了解一下公鑰和私鑰。(2)公鑰(public?key):EFS中公鑰是一個運算函數,其作用就是用來加密數據,就相當于一把鎖。這把鎖可以放置在internet上,讓別人使用這把鎖來加密數據然后傳給鎖的主人。任何人都可以看到并使用這把鎖來加密數據,但是如果沒有鎖的鑰匙就打不開鎖,因此看不到鎖住以后的數據內容,所以公鑰暴露在公共場所并沒有安全性的問題。
(3)私鑰(private?key):對應公鑰一對一對存在,其實就是用來開鎖的鑰匙。私鑰不能隨便泄露,如果私鑰被盜或者被復制,那么別人使用你的公鑰加密的數據如果傳輸時被攔截,就很容易被解密了。同理,如果我們自己的私鑰損壞或者丟失了,那么我們同樣不能打開這把鎖,也即是不能對接收到的別人已經用我的公鑰加密了的數據進行解密了,這種情況下,我們必須重新購買鎖和對應的鑰匙,也就是需要重新申請一對公鑰和私鑰。
EFS使用一種名為FEK(文件加密密鑰:File?Encryption?Key)的對稱密鑰。FEK即用于加密,也用于解密。
(1)EFS在加密文件時,會給文件加上專用鎖,并生成由偽隨機數組成FEK,然后將利用FEK和數據擴展標準X算法創建加密后的文件,并把它存儲到硬盤上,同時刪除未加密的原始文件。隨后EFS使用了用戶的公鑰加密FEK,并在加密文件的文件頭的數據加密區(DDF)中保存加密的FEK。(2)EFS在解密文件時,首先取加用戶的私鑰,然后用它解密文件頭DDF中的FEK,最后用該FEK解密文件。
EFS能在文件頭中保存多個DDF,這樣將允許多個用戶對文件進行加密,每個DDF都包含相同的密鑰,都經過不同用戶的公鑰加密過。接下來,我們不禁要問:公鑰和私鑰都存在哪個位置呢?(1)公鑰Windows系統用公鑰加密,公鑰保存在賬戶的配置文件中:
C:\Documents?and?Settings\用戶名\Application?Data\Microsoft\SystemCertificates\My\Certificates看起來公鑰與EFS解密無關,因為它只負責加密。
(2)私鑰EFS用公鑰加密,切換用戶登錄后,因為不同的用戶私鑰不一樣,所以不能解密,當然就不能打開其他用戶的EFS文件了。
那么,用戶EFS使用的私鑰肯定是和用戶的SID相對應的。官方文件是這樣說的:“EFS文件使用前不需要解密。當向磁盤存儲和從磁盤讀取字節時,加密和解密透明地完成。EFS?自動檢測加密文件,并從系統密鑰存儲區定位用戶密鑰。”因此,可以推測私鑰存放在Documents?and?Settings文件夾的用戶下面。經過檢測,密鑰存放在C:\Documents?and?Settings\用戶名\Application?Data\Microsoft\Crypto\RSA下。
解密EFS需要以下2個東東:1、?該SID的私鑰,例如在這個路徑下:C:\Documents?and?Settings\Administrator\Application?Data\Microsoft\Crypto\RSA\S-1-5-21-3366775526-2458569512-1599005884-500\
2、該SID的密碼
因此,在沒有事先備份EFS證書的前提下想要解密EFS,需要上述2個東東。對于第一個東東,如果C盤已經格式化了且沒有備份,那就放棄吧。目前我還沒找到根據SID重新生成私鑰的方法。對于第二個東東,如果忘記了密碼,可以用SAMinside工具軟件,破解Windows密碼。SAMinside為一款俄羅斯人出品Windows密碼恢復軟件,支持Windows?NT/2000/XP/Vista操作系統。SAMinside需要事先拿到Windows的SAM文件,一般位于C:\WINDOWS\system32\config\,一共需要2個文件:SAM、System?。屢試不爽。也有網友說LC4、LC5工具軟件也可以破解密碼,我還沒試過。在拿到上述2個東東之后,就可以用Advanced?EFS?Data?Recovery這個工具軟件去解密EFS文件。注意:這個工具的未注冊版只能破解EFS文件的前1K字節。實際案例:我的C盤在重裝系統之前用GHOST做了鏡像,裝完系統后發現D盤還有15GB的文件里處于EFS控制下,無法打開這些文件。于是從GHOST鏡像里把C盤的上述所需的文件都釋放出來,然后用上述工具處理。最終,15GB文件被挽救過來了,好激動呀。注意1:安裝上述工具時,防病毒軟件通常都會報警,請注意分辨安裝程序包是否真正存在病毒或***。注意2:在?Windows?7?中,EFS?的體系結構已更改為合并橢圓曲線加密(ECC),支持以混合模式操作?ECC?和?RSA?算法。這樣便為使用以前版本的?Windows?中支持的算法創建的?EFS?文件提供了向后兼容性。EFS?的策略設置位于本地組策略編輯器的“本地計算機策略\Windows?設置\安全設置\公鑰策略\加密文件系統”下。
?
總結
以上是生活随笔為你收集整理的WinXP的EFS加密文件如何解密?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 构建之法现代软件概述
- 下一篇: 河北省人民检察院利用深信服桌面云办公,实