關於 EFS Encrypting File System

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

 

概述  

EFS加密是基於公鑰策略的。在使用EFS加密一個文件或文件夾時,系統首先會生成一個由僞隨機數組成的FEK (File Encryption Key,文件加密鑰匙),然後將利用FEK和數據擴展標準X算法創建加密後的文件,並把它存儲到硬盤上,同時刪除未加密的原始文件。隨後系統利用你的公鑰加密FEK,並把加密後的FEK存儲在同一個加密文件中。而在訪問被加密的文件時,系統首先利用當前用戶的私鑰解密FEK,然後利用FEK解密出文件。在首次使用EFS時,如果用戶還沒有公鑰/私鑰對(統稱爲密鑰),則會首先生成密鑰,然後加密數據。如果你登錄到了域環境中,密鑰的生成依賴於域控制器,否則它就依賴於本地機器。

 

好處

  首先,EFS加密機制和操作系統緊密結合,因此我們不必爲了加密數據安裝額外的軟件,這節約了我們的使用成本。

  其次,EFS加密系統對用戶是透明的。這也就是說,如果你加密了一些數據,那麼你對這些數據的訪問將是完全允許的,並不會受到任何限制。而其他非授權用戶試圖訪問加密過的數據時,就會收到“訪問拒絕”的錯誤提示。EFS加密的用戶驗證過程是在登錄Windows時進行的,只要登錄到Windows,就可以打開任何一個被授權的加密文件。

  如何使用EFS加密

  要使用EFS加密,首先要保證你的操作系統符合要求。目前支持EFS加密的Windows操作系統主要有Windows 2000全部版本和Windows XP Professional、Windows Vista Business或更高以及Windows 7 Professional或更高版系列的操作系統,所有家庭版和入門版的Windows都不支持該功能。其次,EFS加密只對NTFS分區上的數據有效(注意,這裏我們指的是NTFS 3.1分區,有時也稱作NTFS5.0(指隨同Windows2000發佈,win2000的版本號是5.0),這是指由Windows 2000/XP/Vista/7格式化過的NTFS分區;而由Windows NT4格式化的NTFS分區格式,雖然同樣是NTFS文件系統,但它不支持EFS加密),你無法加密保存在FAT和FAT32分區上的數據。

  對於想加密的文件或文件夾,只需要用鼠標右鍵點擊,然後選擇“屬性”,在常規選項卡下點擊“高級”按鈕,之後在彈出的窗口中選中“加密內容以保護數據”,然後點擊確定,等待片刻數據就加密好了。如果你加密的是一個文件夾,系統還會詢問你,是把這個加密屬性應用到文件夾上還是文件夾以及內部的所有子文件夾。按照你的實際情況來操作即可。解密數據也是很簡單的,同樣是按照上面的方法,把“加密內容以保護數據”前的鉤消除,然後確定。

  如果你不喜歡圖形界面的操作,還可以在命令行模式下用“cipher”命令完成對數據的加密和解密操作,至於“cipher”命令更詳細的使用方法則可以通過在命令符後輸入“cipher/?”並回車獲得。

  這裏還有個竅門,用傳統的方法加密文件,必須打開層層菜單並依次確認,非常麻煩,不過只要修改一下註冊表,就可以給鼠標的右鍵菜單中增添“加密”和“解密”的選項。

 

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

 

EFS實戰  

(由《電腦迷》提供,網易學院整理髮布)

  提示:要使用EFS,必須滿足兩個條件:

  1. 文件需要保存在NTFS文件系統的分區上。

  2. 操作系統必須支持EFS加密。目前支持EFS的操作系統主要有:Windows 2000、Windows XP Professional(不包括Home版),還有Windows Server 2003,Vista,7。

 

EFS加密解密

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

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

 

加密後文件的共享

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

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

 

密鑰的備份和恢復

  爲什麼有很多人在使用EFS的時候出現問題呢?筆者認爲最大的原因在於很多人並沒有真正理解EFS的加密方式。說到加密,密鑰是一個非常重要的概念。EFS是一種公鑰加密,那麼這裏就要說說什麼是公鑰加密了。在使用EFS加密一個文件或文件夾時,系統首先會生成一個由僞隨機數組成的FEK (File Encryption Key,文件加密鑰匙),然後利用FEK和數據擴展標準X算法創建加密後的文件,並把它存儲到硬盤上,同時刪除未加密的原始文件。隨後系統利用你的公鑰加密FEK,並把加密後的FEK存儲在同一個加密文件中。而在訪問被加密的文件時,系統首先利用當前用戶的私鑰解密FEK,然後利用FEK解密出文件。在首次使用EFS時,如果用戶還沒有公鑰/私鑰對(統稱爲密鑰),則會首先生成密鑰,然後加密數據。

  從這段話中我們可以看出兩個重點:文件的加密和解密都需要密鑰的參與,而密鑰分爲公鑰和私鑰兩種。很明顯,無論是加密還是解密文件,都需要用到個人密鑰。加密文件的時候使用公鑰,解密文件的時候則使用相對應的私鑰。那麼無論是丟失了公鑰還是私鑰,都會給我們的使用帶來麻煩,尤其是私鑰,丟失之後就再也無法解密文件了。

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

 

恢復密鑰

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

  講到這裏,相信你對EFS的基本使用方法已經有了一個大概的認識,不過光有理論知識是不夠的,筆者希望大家都多在實踐中掌握EFS的使用。 由於EFS安全性非常高,如果使用不慎或方法不當則可能造成非常麻煩的後果,所以建議大家先用不重要的文件進行EFS加密的試驗。

 

 

轉載於百度百科,如果想了解更多,請在百度百科輸入關鍵字EFS。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章