恢復(fù)重裝系統(tǒng)之后的EFS加密文件

系統(tǒng)自帶的EFS文件加密是很多朋友加密私人文件的好選擇,它簡單高效用起來不麻煩。但是當(dāng)重裝系統(tǒng)尤其是格式化重裝系統(tǒng)之后,如果沒有正確地備份私鑰,那么加密的文件將無法打開,傷心的是加密的文件也暫時沒有辦法進(jìn)行快速破解。EFS加密設(shè)計完備,并非重裝后用相同用戶名+密碼就可以解密的,所以很多人不得不含淚刪除那些無法打開的文件。加密而丟失數(shù)據(jù)不僅僅是菜鳥常犯的毛病,高手也常常失足于此。

EFS加密的用法和恢復(fù)的關(guān)鍵

EFS是Windows2000以后系統(tǒng)自帶的一項加密技術(shù),安全性很高。這項加密基于NTFS分區(qū)系統(tǒng),特點是對用戶透明。也就是說,在同一臺電腦上如果你用某個用戶加密了一個文件,那么除了加密的用戶誰都無法打開這個文件,即使你是系統(tǒng)管理員也不行。而如果你用正確的賬戶登錄,訪問加密文件的時候系統(tǒng)實時解密和加密,你完全感覺不到差別。加密過的文件的名稱在電腦中顯示為綠色。

EFS加密方法

選擇一個文件或者文件夾,點擊右鍵→屬性,"常規(guī)"選項卡→高級→勾尋加密內(nèi)容以便保護(hù)數(shù)據(jù)",點擊"確定"就完成加密了。

備份恢復(fù)證書/私鑰

備份恢復(fù)證書/私鑰

按照標(biāo)準(zhǔn)的流程,備份私鑰的方法如下:開始菜單的運行中輸入certmgr.msc并回車→個人→證書→選擇證書→點擊右鍵,選擇"所有任務(wù)"→導(dǎo)出→選擇"導(dǎo)出私鑰"。接下來按照向?qū)Р僮骷纯?。?dāng)需要恢復(fù)證書(私鑰)的時候,雙擊導(dǎo)出來的文件,輸入之前設(shè)置的密碼按向?qū)?dǎo)入就可以了。這個私鑰一定要保管好,如果你有這個私鑰就不用像本文一樣折騰了。

導(dǎo)出私鑰

Part1 原理:我們?nèi)绾位謴?fù)EFS加密的文件?

了解了前面小知識所講的EFS的用法之后,我用比較通俗、簡單的流程大致介紹一下EFS的工作流程(實際工作流程比介紹的要復(fù)雜多了,這里簡述是為了便于理解),這對我們的恢復(fù)工作非常有幫助。首先系統(tǒng)由賬戶密碼派生的密鑰對公鑰加密,然后使用公鑰對私鑰進(jìn)行加密(私鑰是第一次使用的時候隨機(jī)產(chǎn)生),加密后的私鑰保存在%UserProfile%Application DataMicrosoftCryptoRSA\SID,%UserProfile%表示用戶文件夾例如C:Documents and Settingsadministrator。所以我們要恢復(fù)數(shù)據(jù)除了得到私鑰還需要獲得公鑰和證書,公鑰和公鑰證書保存在%UserProfile%Application Data MicrosoftSystemCertificatesMyCertificates。加密后的主密鑰保存在%UserProfile%Application DataMicrosoftProtectSID,這個東西也需要一并獲得,建議在恢復(fù)過程中嘗試把所有的用戶文件夾里的東西全部恢復(fù)出來。

獲得這三個文件夾里面的文件之后是不是覆蓋到新裝電腦的新用戶下面就可以了呢?不行,新用戶的SID(安全標(biāo)識符,security identifiers)和老用戶不一樣,還需要修改SID。也許說了這么多你不是很明白,這里再總結(jié)一下:恢復(fù)的關(guān)鍵有三點:第一、獲得公鑰和公鑰證書、私鑰保存的文件、主密鑰文件;第二、知道原來用戶的密碼和用戶名;第三點、知道原來用戶的SID+RID。接下來我們用實例來看看如何操作吧。

Part2 找回關(guān)鍵的文件和文件夾

知道加密的文件不能打開之后,應(yīng)該馬上關(guān)機(jī),然后進(jìn)入PE環(huán)境。在這個環(huán)境里使用數(shù)據(jù)恢復(fù)工具把需要的文件給找回來。如果電腦比較老,可以使用老毛桃或者深山紅葉的PE,如果電腦比較新,可能需要附加驅(qū)動包或者尋找網(wǎng)友制作的新版工具PE,有興趣可以到無憂啟動尋找。而數(shù)據(jù)恢復(fù)工具則可以直接找它們的綠色版放在U盤上,在PE里直接運行它們的主程序即可進(jìn)行恢復(fù)工作。恢復(fù)工具可以使用easyrecovery、finaldata、r-studio、Winhex等等,本文用easyrecovery作為講解的例子,如果你在實際恢復(fù)過程中,發(fā)現(xiàn)文件找不到或者找到的文件是壞的,那么請換另一個軟件試試看。在這里告訴大家以我的經(jīng)驗來看Advanced EFS Data Recovery這個軟件對格式化重裝系統(tǒng)后恢復(fù)EFS文件沒有任何效果。

Step1、用Ultariso制作U盤版PE,用U盤引導(dǎo)進(jìn)入pe環(huán)境。直接運行U盤上的easyrecovery主程序。

Step2、在easyrecovery主界面中選擇"數(shù)據(jù)恢復(fù)"→格式化恢復(fù)→選擇分區(qū)→點擊"下一步"。等待掃描和目錄構(gòu)建完成。

Step3、在找到的文件中,根據(jù)目錄樹把前面提到的幾個文件夾全部恢復(fù)出來放置到U盤中,另外還要記下%UserProfile%Application DataMicrosoftCryptoRSASID這個"SID"文件夾的名稱。如果目錄樹中找不到文件夾,那么請進(jìn)入"Lostfile"文件夾,在里面的"DIR*"文件夾中逐一尋找。或者使用"查找"功能查找"Crypto"關(guān)鍵詞。但是我覺得這個查找功能不夠強(qiáng)大,如果"查找"功能查找不到的話,建議大家還是手動找一次吧,別輕易放棄。而且需要提醒大家的是,如果找到多個文件,可以通過"日期"判斷需要恢復(fù)哪一個。

Step4、回憶用戶名和密碼或者問當(dāng)事人要原來的用戶名和密碼。

Part3構(gòu)造一個可以解密文件的用戶,解密被加密文件

如果你對系統(tǒng)有"潔癖"不愿意增加任何多余的文件和垃圾配置,那么可以在進(jìn)行這一步之前對當(dāng)前系統(tǒng)做一個GHOST備份。

Step1、首先觀察我們之前在第一步step3得到的這串?dāng)?shù)值:S-1-5-21-842925246-879983540-1417001333-1003,后面的1003是RID,SID是前面的部分。

Step2、構(gòu)造SID,這里我們用微軟提供的一個小工具來改變SID,工具的名稱叫做Newsid。程序之后,先同意協(xié)議,然后一路下一步直到"Choose a SID";這里選擇"Specify"下面輸入需要修改的SID,之后繼續(xù)"Next",完成之后自動重啟系統(tǒng),SID就修改好了。提醒一下,如果只是刪除了用戶而不是重裝系統(tǒng)的話,可以跳過這一步,因為SID本來就是一樣的。

Step3、獲得system權(quán)限。因為修改HKEY_LOCAL_MACHINESAM需要system用戶權(quán)限。所以這里我們使用微軟提供的psexec工具,在開始菜單的運行中輸入cmd命令并回車,打開命令提示符窗口。之后使用CD命令定位到psexec所在的目錄或者直接以絕對路徑例如c: psexec -i -d -s %windir% egedit.exe這樣的命令以system用戶身份運行注冊表編輯器。

小知識:Windows新建用戶的RID值由HKEY_LOCAL_MACHINESAMSAMDomainsAccount注冊表項的"F"鍵值確定。具體的說是在0048偏移量的4個字節(jié),是二進(jìn)制數(shù)據(jù)。通過修改這個數(shù)據(jù)可以讓新建用戶擁有一樣的RID。也就是說我們要指定的RID需要通過新建用戶實現(xiàn)。

Step4、修改注冊表鍵值。定位到HKEY_LOCAL_MACHINESAMSAMDomainsAccount,找到并打開F鍵值。因為注冊表中鍵值數(shù)據(jù)是用16進(jìn)制形式存放的,而且是反轉(zhuǎn)形式保存。所以在這里我們需要這樣做:我們要修改的RID是1003,1003轉(zhuǎn)換為16進(jìn)制是03EB,翻轉(zhuǎn)過來就是EB03。數(shù)據(jù)的進(jìn)制轉(zhuǎn)換可以使用Windows自動的"計算器"轉(zhuǎn)換,別以為這東西沒用哦。如果轉(zhuǎn)換出來的數(shù)據(jù)是3位數(shù)例如3EB,則需要在前面補(bǔ)一個0變成4位數(shù)03EB。找到對應(yīng)的0048偏移量,把數(shù)值修改為我們上面推算出來的數(shù)值。

Step5、依次重啟電腦→新建一個同名賬戶,密碼也一樣→用新建用戶登錄系統(tǒng),使用EFS隨便加密一個文件,然后注銷或者重啟更換管理員賬戶登錄→把恢復(fù)出來的文件復(fù)制到對應(yīng)文件夾→重啟。當(dāng)再用新建用戶登錄的時候,就可以正常解密文件了。