EFS加密

EFS加密

EFS(Encrypting File System,加密檔案系統)是Windows 2000/XP所特有的一個實用功能,對於NTFS卷上的檔案和數據,都可以直接被作業系統加密保存,在很大程度上提高了數據的安全性。

基本信息

簡介

EFS加密是基於公鑰策略的。然後將利用FEK和數據擴展標準X算法創建加密後的檔案,。如果你登錄到了域環境中,密鑰的生成依賴於域控制器,否則它就依賴於本地機器

EFS加密解密

EFS 加密解密都是透明完成, 如果用戶加密了一些數據, 那么其對這些數據的訪問將是完全允許的, 並不會受到任何限制。而其他非授權用戶試圖訪問加密過的數據時, 就會收到“拒絕訪問”的錯誤提示。

a.最簡單的辦法就是在目標對象上點擊滑鼠右鍵,選擇“屬性”,打開屬性對話框,然後在常規選項卡上點擊“高級”按鈕,打開高級屬性對話框,選中“加密內容以便保護數據”這個選項,反之解密。

b.每次加密都需要打開其高級屬性對話框,非常麻煩。我們可以打開註冊表編輯器,定HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced,在這裡新建一個名為EncryptionContextMenu的DWORD值,並將其數值設定為“1”,這樣用滑鼠右鍵點擊一個檔案或資料夾的時候,右鍵選單中就會有加密(如果目標對象尚未被加密)或者解密(如果目標對象已經被加密)選項,只要選擇相應的選項就可以直接完成操作。

加密後檔案的共享

默認情況下,加密後的檔案只有加密者可以訪問。如果因為特殊情況,你需要將你自己加密後的檔案和別人共享,那么還需要額外的設定。要注意的是,這個特性僅在Windows XP之後的作業系統中提供,Windows 2000下無法共享EFS加密後的檔案。同時共享只能用於單個檔案,而無法用於整個資料夾。

在這個對話框中點擊“添加”按鈕,就可以選擇你希望可以打開這個檔案的用戶。不過要注意,這裡添加用戶並不是添加用戶的名稱,而是添加用戶的公鑰,也就是說希望已分享檔案的用戶必須有自己的公鑰。

密鑰的備份和恢復

說到加密,密鑰是一個非常重要的概念。EFS是一種公鑰加密,那么這裡就要說說什麼是公鑰加密了。在使用EFS加密一個檔案或資料夾時,系統首先會生成一個由偽隨機數組成的FEK (File Encryption Key,檔案加密鑰匙),然後利用FEK和數據擴展標準X算法創建加密後的檔案,並把它存儲到硬碟上,同時刪除未加密的原始檔案。隨後系統利用你的公鑰加密FEK,並把加密後的FEK存儲在同一個加密檔案中。而在訪問被加密的檔案時,系統首先利用當前用戶的私鑰解密FEK,然後利用FEK解密出檔案。在首次使用EFS時,如果用戶還沒有公鑰/私鑰對(統稱為密鑰),則會首先生成密鑰,然後加密數據。

檔案的加密和解密都需要密鑰的參與,而密鑰分為公鑰和私鑰兩種。很明顯,無論是加密還是解密檔案,都需要用到個人密鑰。加密檔案的時候使用公鑰,解密檔案的時候則使用相對應的私鑰。那么無論是丟失了公鑰還是私鑰,都會給我們的使用帶來麻煩,尤其是私鑰,丟失之後就再也無法解密檔案了。

為了保證數據安全,最好能在加密檔案之後立即將自己的密鑰備份出來,並保存到安全的地方,以防系統崩潰或其他原因導致數據無法解密。方法是,運行“certmgr.msc”打開證書管理器,在“當前用戶/個人/證書”路徑下,應該可以看見一個以你的用戶名為名稱的證書(如果你還沒有加密任何數據,這裡是不會有證書的)。用滑鼠右鍵點擊這個證書,在“所有任務”中點擊“導出”。之後會彈出一個證書導出嚮導,在嚮導中有一步會詢問你是否導出私鑰,在這裡要選擇“導出私鑰”,其它選項按照默認設定,連續點擊繼續,最後輸入該用戶的密碼和想要保存的路徑並確認,導出工作就完成了。導出的證書將是一個pfx為後綴的檔案。這個pfx檔案最好能保存到其他位置,並且要保證該檔案的安全。

恢復密鑰

當用戶的密鑰丟失後,如重裝了作業系統,或者無意中刪除了某個帳戶,我們只要找到之前導出的pfx檔案,用滑鼠右鍵點擊,並選擇“安裝PFX”,之後會出現一個導入嚮導,按照導入嚮導的提示完成操作(注意,如果你之前在導出證書時選擇了用密碼保護證書,那么在這裡導入這個證書時就需要提供正確的密碼,否則將不能繼續),而之前加密的數據也就全部可以正確打開。

相關問題

1. 為什麼打開加密過的檔案時沒有需要我輸入密嗎?

這正是EFS加密的一個特性,同時也是EFS加密和作業系統緊密結合的最佳證明。因為跟一般的加密軟體不同,EFS加密不是靠雙擊檔案,然後彈出一個對話框,然後輸入正確的密碼來確認的用戶的;EFS加密的用戶確認工作在登錄到Windows時就已經進行了。一旦你用適當的賬戶登錄,那你就能打開相應的任何加密檔案,並不需要提供什麼額外的密碼。

2.我的加密檔案已經打不開了,我能夠把NTFS分區轉換成FAT32分區來挽救我的檔案嗎?

這當然是不可能的了。很多人嘗試過各種方法,例如把NTFS分區轉換成FAT32分區;用NTFS DOS之類的軟體到DOS下去把檔案複製到FAT32分區等,不過這些嘗試都以失敗告終。畢竟EFS是一種加密,而不是一般的什麼許可權之類的東西,這些方法對付EFS加密都是無濟於事。而如果你的密鑰丟失或者沒有做好備份,那么一旦發生事故所有加密過的數據就都沒救了。

3.我加密數據後重裝了作業系統,現在加密數據不能打開了。如果我使用跟前一個系統相同的用戶名和密碼總應該就可以了吧?

這當然也是不行的,我們在前面已經了解到,跟EFS加密系統密切相關的密鑰是根據每個用戶的SID得來的。儘管你在新的系統中使用了相同的用戶名和密碼,但是這個用戶的SID已經變了。這個可以理解為兩個同名同姓的人,雖然他們的名字相同,不過指紋絕不可能相同,那么這種想法對於只認指紋不認人名的EFS加密系統當然是無效的。

4.被EFS加密過的數據是不是就絕對安全了呢?

當然不是,安全永遠都是相對的。以被EFS加密過的檔案為例,如果沒有合適的密鑰,雖然無法打開加密檔案,不過仍然可以刪除(有些小人確實會這樣想:你竟然敢加密了不讓我看!那好,我就刪除了它,咱們都別看)。所以對於重要檔案,最佳的做法是NTFS許可權和EFS加密並用。這樣,如果非法用戶沒有合適的許可權,將不能訪問受保護的檔案和資料夾;而即使擁有許可權(例如為了非法獲得重要數據而重新安裝作業系統,並以新的管理員身份給自己指派許可權),沒有密鑰同樣還是打不開加密數據。

5.我只是用Ghost恢復了一下系統,用戶賬戶和相應的SID都沒有變,怎么以前的加密檔案也打不開了?

這也是正常的,因為EFS加密所用到的密鑰並不是在創建用戶的時候生成,而是在你第一次用EFS加密檔案的時候。如果你用Ghost創建系統的鏡像前還沒有加密過任何檔案,那你的系統中就沒有密鑰,而這樣的系統製作的鏡像當然也就不包括密鑰。一旦你加密了檔案,並用Ghost恢復系統到創建鏡像的狀態,解密檔案所用的密鑰就丟失了。因此這個問題一定需要注意!

注意事項

如果把未加密的檔案複製到具有加密屬性的資料夾中,這些檔案將會被自動加密。若是將加密數據移出來(前提:你正在使用的賬戶有移動\複製\刪除已加密檔案的許可權),如果移動到NTFS分區上,數據依舊保持加密屬性;如果移動到FAT分區上,這些數據將會被自動解密。被EFS加密過的數據不能在Windows中直接共享。如果通過網路傳輸經EFS加密過的數據,這些數據在網路上將會以明文的形式傳輸。NTFS分區上保存的數據還可以被壓縮,不過一個檔案不能同時被壓縮和加密。最後一點,Windows的系統檔案和系統資料夾無法被加密。

相關搜尋

熱門詞條

聯絡我們