EFS是Encrypting File System,,加密文件系統(tǒng)的縮寫,,他可以被應(yīng)用在windows 2000以上的操作系統(tǒng)且為NTFS5格式的分區(qū)上(windows xp home不支持). 隨著穩(wěn)定性和可靠性的逐步提高,,Windows 2000/XP已經(jīng)被越來越多的人使用,很多人還用Windows 2000/XP自帶的EFS加密功能把自己的一些重要數(shù)據(jù)加密保存,。雖然EFS易用性不錯,,不過發(fā)生問題后就難解決了,例如不做任何準(zhǔn)備就重裝了操作系統(tǒng),,那很可能導(dǎo)致以前的加密數(shù)據(jù)無法解密,。最近一段時間我們已經(jīng)可以在越來越多的論壇和新聞組中看到網(wǎng)友的求救,都是類似這樣的問題而導(dǎo)致重要數(shù)據(jù)無法打開,,損失慘重,。為了避免更多人受到損失,這里我把使用EFS加密的注事項寫出來,,希望對大家有所幫助,。
注意,下文中的Windows XP皆指Professional版,,Windows XP Home版并不支持EFS加密,。 什么是EFS加密 EFS(Encrypting File System,加密文件系統(tǒng))是Windows 2000/XP所特有的一個實用功能,,對于NTFS卷上的文件和數(shù)據(jù),,都可以直接被操作系統(tǒng)加密保存,在很大程度上提高了數(shù)據(jù)的安全性,。 EFS加密是基于公鑰策略的,。在使用EFS加密一個文件或文件夾時,系統(tǒng)首先會生成一個由偽隨機數(shù)組成的FEK (File Encryption Key,,文件加密鑰匙),,然后將利用FEK和數(shù)據(jù)擴展標(biāo)準(zhǔn)X算法創(chuàng)建加密后的文件,并把它存儲到硬盤上,,同時刪除未加密的原始文件,。隨后系統(tǒng)利用你的公鑰加密FEK,并把加密后的FEK存儲在同一個加密文件中,。而在訪問被加密的文件時,,系統(tǒng)首先利用當(dāng)前用戶的私鑰解密FEK,然后利用FEK解密出文件。在首次使用EFS時,,如果用戶還沒有公鑰/私鑰對(統(tǒng)稱為密鑰),,則會首先生成密鑰,然后加密數(shù)據(jù),。如果你登錄到了域環(huán)境中,,密鑰的生成依賴于域控制器,否則它就依賴于本地機器,。 EFS加密有什么好處 首先,,EFS加密機制和操作系統(tǒng)緊密結(jié)合,因此我們不必為了加密數(shù)據(jù)安裝額外的軟件,,這節(jié)約了我們的使用成本,。 其次,EFS加密系統(tǒng)對用戶是透明的,。這也就是說,,如果你加密了一些數(shù)據(jù),,那么你對這些數(shù)據(jù)的訪問將是完全允許的,,并不會受到任何限制。而其他非授權(quán)用戶試圖訪問加密過的數(shù)據(jù)時,,就會收到“訪問拒絕”的錯誤提示,。EFS加密的用戶驗證過程是在登錄Windows時進行的,只要登錄到Windows,,就可以打開任何一個被授權(quán)的加密文件,。 如何使用EFS加密 要使用EFS加密,首先要保證你的操作系統(tǒng)符合要求,。目前支持EFS加密的Windows操作系統(tǒng)主要有Windows 2000全部版本和Windows XP Professional,。至于還未正式發(fā)行的Windows Server 2003和傳聞中的開發(fā)代號為Longhorn的新一帶操作系統(tǒng),目前看來也支持這種加密機制,。其次,,EFS加密只對NTFS5分區(qū)上的數(shù)據(jù)有效(注意,這里我們提到了NTFS5分區(qū),,這是指由Windows 2000/XP格式化過的NTFS分區(qū),;而由Windows NT4格式化的NTFS分區(qū)是NTFS4格式的,雖然同樣是NTFS文件系統(tǒng),,但它不支持EFS加密),,你無法加密保存在FAT和FAT32分區(qū)上的數(shù)據(jù)。 對于想加密的文件或文件夾,,只需要用鼠標(biāo)右鍵點擊,,然后選擇“屬性”,在常規(guī)選項卡下點擊“高級”按鈕,之后在彈出的窗口中選中“加密內(nèi)容以保護數(shù)據(jù)”,,然后點擊確定,,等待片刻數(shù)據(jù)就加密好了。如果你加密的是一個文件夾,,系統(tǒng)還會詢問你,,是把這個加密屬性應(yīng)用到文件夾上還是文件夾以及內(nèi)部的所有子文件夾。按照你的實際情況來操作即可,。解密數(shù)據(jù)也是很簡單的,,同樣是按照上面的方法,把“加密內(nèi)容以保護數(shù)據(jù)”前的鉤消除,,然后確定,。 如果你不喜歡圖形界面的操作,還可以在命令行模式下用“cipher”命令完成對數(shù)據(jù)的加密和解密操作,,至于“cipher”命令更詳細的使用方法則可以通過在命令符后輸入“cipher/?”并回車獲得,。 注意事項:如果把未加密的文件復(fù)制到具有加密屬性的文件夾中,這些文件將會被自動加密,。若是將加密數(shù)據(jù)移出來,,如果移動到NTFS分區(qū)上,數(shù)據(jù)依舊保持加密屬性,;如果移動到FAT分區(qū)上,,這些數(shù)據(jù)將會被自動解密。被EFS加密過的數(shù)據(jù)不能在Windows中直接共享,。如果通過網(wǎng)絡(luò)傳輸經(jīng)EFS加密過的數(shù)據(jù),,這些數(shù)據(jù)在網(wǎng)絡(luò)上將會以明文的形式傳輸。NTFS分區(qū)上保存的數(shù)據(jù)還可以被壓縮,,不過一個文件不能同時被壓縮和加密,。最后一點,Windows的系統(tǒng)文件和系統(tǒng)文件夾無法被加密,。 這里還有個竅門,,用傳統(tǒng)的方法加密文件,必須打開層層菜單并依次確認(rèn),,非常麻煩,,不過只要修改一下注冊表,就可以給鼠標(biāo)的右鍵菜單中增添“加密”和“解密”的選項,。
在運行中輸入“regedit”并回車,,打開注冊表編輯器,定位到:HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion /Explorer/Advanced ,,在“編輯”菜單上點擊“新建-Dword值”,,輸入“EncryptionContextMenu”作為鍵名,并設(shè)置鍵值為“1”。現(xiàn)在退出注冊表編輯器,,打開資源管理器,,任意選中一個NTFS分區(qū)上的文件或者文件夾,然后點擊鼠標(biāo)右鍵,,就可以在右鍵菜單中找到相應(yīng)的選項,,直接點擊就可以完成加密解密的操作。
如果你想設(shè)置禁止加密某個文件夾,,可以在這個文件夾中創(chuàng)建一個名為“Desktop.ini”的文件,,然后用記事本打開,并添加如下內(nèi)容: [Encryption] Disable=1 之后保存并關(guān)閉這個文件,。這樣,,以后要加密這個文件夾的時候就會收到錯誤信息,除非這個文件被刪除,。 而如果你想在本機上徹底禁用EFS加密,,則可以通過修改注冊表實現(xiàn)。在運行中輸入“Regedit”并回車,,打開注冊表編輯器,,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS,在“編輯”菜單上點擊“新建-Dword值”,,輸入“EfsConfiguration”作為鍵名,,并設(shè)置鍵值為“1”,,這樣本機的EFS加密就被禁用了,。而以后如果又想使用時只需把鍵值改為“0”。 如何保證EFS加密的安全和可靠 前面我們已經(jīng)了解到,,在EFS加密體系中,,數(shù)據(jù)是靠FEK加密的,而FEK又會跟用戶的公鑰一起加密保存,;解密的時候順序剛好相反,,首先用私鑰解密出FEK,然后用FEK解密數(shù)據(jù),??梢姡脩舻拿荑€在EFS加密中起了很大作用,。 密鑰又是怎么來的呢,?在Windows 2000/XP中,每一個用戶都有一個SID(Security Identifier,,安全標(biāo)示符)以區(qū)分各自的身份,,每個人的SID都是不相同的,并且有唯一性??梢赃@樣理解:把SID想象成人的指紋,,雖然世界上已經(jīng)有幾十億人(同名同姓的也有很多),可是理論上還沒有哪兩個人的指紋是完全相同的,。因此,,這具有唯一性的SID就保證了EFS加密的絕對安全和可靠。因為理論上沒有SID相同的用戶,,因而用戶的密鑰也就絕不會相同,。在第一次加密數(shù)據(jù)的時候,操作系統(tǒng)就會根據(jù)加密者的SID生成該用戶的密鑰,,并把公鑰和私鑰分開保存起來,,供用戶加密和解密數(shù)據(jù)。 這一切,,都保證了EFS機制的可靠,。 其次,EFS機制在設(shè)計的時候就考慮到了多種突發(fā)情況的產(chǎn)生,,因此在EFS加密系統(tǒng)中,,還有恢復(fù)代理(Recovery Agent)這一概念。 舉例來說,,公司財務(wù)部的一個職工加密了財務(wù)數(shù)據(jù)的報表,,某天這位職工辭職了,安全起見你直接刪除了這位職工的賬戶,。直到有一天需要用到這位職工創(chuàng)建的財務(wù)報表時才發(fā)現(xiàn)這些報表是被加密的,,而用戶賬戶已經(jīng)刪除,這些文件無法打開了,。不過恢復(fù)代理的存在就解決了這些問題,。因為被EFS加密過的文件,除了加密者本人之外還有恢復(fù)代理可以打開,。 對于Windows 2000來說,,在單機和工作組環(huán)境下,默認(rèn)的恢復(fù)代理是 Administrator ,;Windows XP在單機和工作組環(huán)境下沒有默認(rèn)的恢復(fù)代理,。而在域環(huán)境中就完全不同了,所有加入域的Windows 2000/XP計算機,,默認(rèn)的恢復(fù)代理全部是域管理員,。 這一切,都保證了被加密數(shù)據(jù)的安全,。 如何避免不慎使用EFS加密帶來的損失 如果你也和我一樣,,由于對EFS加密不了解致使重要數(shù)據(jù)丟失,,那么也別氣餒,就當(dāng)買了個教訓(xùn),。畢竟通過這事情你還是能學(xué)會很多東西的,。那就是:備份密鑰!設(shè)置有效的恢復(fù)代理,! 對于上面講到的情況1,,備份密鑰可以避免這種悲劇的發(fā)生。在運行中輸入“certmgr.msc”然后回車,,打開證書管理器,。密鑰的導(dǎo)出和導(dǎo)入工作都將在這里進行。 在你加密過文件或文件夾后,,打開證書管理器,,在“當(dāng)前用戶”-“個人”-“證書”路徑下,應(yīng)該可以看見一個以你的用戶名為名稱的證書(如果你還沒有加密任何數(shù)據(jù),,這里是不會有證書的),。右鍵點擊這個證書,在“所有任務(wù)”中點擊“導(dǎo)出”,。之后會彈出一個證書導(dǎo)出向?qū)?,在向?qū)е杏幸徊綍儐柲闶欠駥?dǎo)出私鑰,在這里要選擇“導(dǎo)出私鑰”,,其它選項按照默認(rèn)設(shè)置,,連續(xù)點擊繼續(xù),最后輸入該用戶的密碼和想要保存的路徑并確認(rèn),,導(dǎo)出工作就完成了,。導(dǎo)出的證書將是一個pfx為后綴的文件。 重裝操作系統(tǒng)之后找到之前導(dǎo)出的pfx文件,,鼠標(biāo)右鍵點擊,,并選擇“安裝PFX”,之后會出現(xiàn)一個導(dǎo)入向?qū)?,按照?dǎo)入向?qū)У奶崾就瓿刹僮鳎ㄗ⒁猓绻阒霸趯?dǎo)出證書時選擇了用密碼保護證書,,那么在這里導(dǎo)入這個證書時就需要提供正確的密碼,,否則將不能繼續(xù)),而之前加密的數(shù)據(jù)也就全部可以正確打開,。
對于情況2,,我們對Windows XP和Windows 2000兩種情況分別加以說明。
由于Windows XP沒有默認(rèn)的恢復(fù)代理,,因此我們加密數(shù)據(jù)之前最好能先指定一個默認(rèn)的恢復(fù)代理(建議設(shè)置Administrator為恢復(fù)代理,,雖然這個賬戶沒有顯示在歡迎屏幕上,,不過確實是存在的)。這樣設(shè)置: 首先要獲得可以導(dǎo)入作為恢復(fù)代理的用戶密鑰,,如果你想讓Administrator成為恢復(fù)代理,,首先就要用Administrator賬戶登錄系統(tǒng)。在歡迎屏幕上連續(xù)按Ctrl+Alt+Del兩次,,打開登錄對話框,,在用戶名處輸入Administrator,密碼框中輸入你安裝系統(tǒng)時設(shè)置的Administrator密碼,,然后登錄,。首先在硬盤上一個方便的地方建立一個臨時的文件,文件類型不限,。這里我們以C盤根目錄下的一個1.txt文本文件文件為例,,建立好后在運行中輸入“CMD”然后回車,打開命令提示行窗口,,在命令提示符后輸入“cipher /r:c:\1.txt”,,回車后系統(tǒng)還會詢問你是否用密碼把證書保護起來,你可以按照你的情況來決定,,如果不需要密碼保護就直接按回車,。完成后我們能在C盤的根目錄下找到1.txt.cer和1.txt.pfx兩個文件(為了顯示的清楚我在文件夾選項中設(shè)置了顯示所有文件類型的擴展名,這樣我們可以更清楚地了解到底生成了哪些文件),。 之后開始設(shè)置恢復(fù)代理,。對于1.txt.pfx這個文件,同樣需要用鼠標(biāo)右鍵點擊,,然后按照向?qū)У奶崾景惭b,。而1.txt.cer則有些不同,在運行中輸入“gpedit.msc”并回車,,打開組策略編輯器,。在“計算機配置-Windows設(shè)置-安全設(shè)置-公鑰策略-正在加密文件系統(tǒng)”菜單下,在右側(cè)窗口的空白處點擊鼠標(biāo)右鍵,,并選擇“添加數(shù)據(jù)恢復(fù)代理”,,然后會出現(xiàn)“添加故障恢復(fù)代理向?qū)?#8221;按照這個向?qū)Т蜷_1.txt.cer,如果一切無誤就可以看見圖五的界面,,這說明我們已經(jīng)把本機的Administrator設(shè)置為故障恢復(fù)代理,。 如果你愿意,也可以設(shè)置其它用戶為恢復(fù)代理,。需要注意的是,,你導(dǎo)入證書所用的1.txt.pfx和1.txt.cer是用哪個賬戶登錄后生成的,那么導(dǎo)入證書后設(shè)置的恢復(fù)代理就是這位用戶,。 在設(shè)置了有效的恢復(fù)代理后,,用恢復(fù)代理登錄系統(tǒng)就可以直接解密文件,。但如果你在設(shè)置恢復(fù)代理之前就加密過數(shù)據(jù),那么這些數(shù)據(jù)恢復(fù)代理仍然是無法打開的,。 而對于Windows 2000就更加簡單,,Windows 2000有恢復(fù)代理,因此只要用恢復(fù)代理(默認(rèn)的就是Administrator)的賬號登錄系統(tǒng),,就可以解密文件,。 如何在本機上共享經(jīng)EFS加密過的數(shù)據(jù) 加密過的文件只有加密者本人和恢復(fù)代理可以打開,如果你要和本機的其它用戶共享加密文件又該怎么辦,?這在Windows 2000中是不行的,,不過在Windows XP中可以做到。 選中一個希望共享的加密文件(注意,,只能是文件,,而不能是文件夾),在文件上用鼠標(biāo)右鍵點擊,,并選擇“屬性”,,之后在屬性對話框的“常規(guī)”選項卡上點擊“高級”按鈕,然后再點擊“詳細信息”,,之后你可以看見類似圖六的窗口,,在這里你可以決定誰可以打開這個加密文件以及察看文件的恢復(fù)代理是具體是誰。 對EFS加密的幾個錯誤認(rèn)識 很多人對EFS理解的不夠徹底,,因此在使用過程中總會有一些疑問,。一般情況下,我們最常見的疑問有以下幾種: 1,, 為什么打開加密過的文件時沒有需要我輸入密碼,? 這正是EFS加密的一個特性,同時也是EFS加密和操作系統(tǒng)緊密結(jié)合的最佳證明,。因為跟一般的加密軟件不同,,EFS加密不是靠雙擊文件,然后彈出一個對話框,,然后輸入正確的密碼來確認(rèn)的用戶的,;EFS加密的用戶確認(rèn)工作在登錄到Windows時就已經(jīng)進行了。一旦你用適當(dāng)?shù)馁~戶登錄,,那你就能打開相應(yīng)的任何加密文件,,并不需要提供什么額外的密碼。 2,, 我的加密文件已經(jīng)打不開了,我能夠把NTFS分區(qū)轉(zhuǎn)換成FAT32分區(qū)來挽救我的文件嗎,? 這當(dāng)然是不可能的了,。很多人嘗試過各種方法,,例如把NTFS分區(qū)轉(zhuǎn)換成FAT32分區(qū);用NTFS DOS之類的軟件到DOS下去把文件復(fù)制到FAT32分區(qū)等,,不過這些嘗試都以失敗告終,。畢竟EFS是一種加密,而不是一般的什么權(quán)限之類的東西,,這些方法對付EFS加密都是無濟于事,。而如果你的密鑰丟失或者沒有做好備份,那么一旦發(fā)生事故所有加密過的數(shù)據(jù)就都沒救了,。 3,, 我加密數(shù)據(jù)后重裝了操作系統(tǒng),現(xiàn)在加密數(shù)據(jù)不能打開了,。如果我使用跟前一個系統(tǒng)相同的用戶名和密碼總應(yīng)該就可以了吧,? 這當(dāng)然也是不行的,我們在前面已經(jīng)了解到,,跟EFS加密系統(tǒng)密切相關(guān)的密鑰是根據(jù)每個用戶的SID得來的,。盡管你在新的系統(tǒng)中使用了相同的用戶名和密碼,但是這個用戶的SID已經(jīng)變了,。這個可以理解為兩個同名同姓的人,,雖然他們的名字相同,不過指紋絕不可能相同,,那么這種想法對于只認(rèn)指紋不認(rèn)人名的EFS加密系統(tǒng)當(dāng)然是無效的,。 4, 被EFS加密過的數(shù)據(jù)是不是就絕對安全了呢,? 當(dāng)然不是,,安全永遠都是相對的。以被EFS加密過的文件為例,,如果沒有合適的密鑰,,雖然無法打開加密文件,不過仍然可以刪除(有些小人確實會這樣想:你竟然敢加密了不讓我看,!那好,,我就刪除了它,咱們都別看),。所以對于重要文件,,最佳的做法是NTFS權(quán)限和EFS加密并用。這樣,,如果非法用戶沒有合適的權(quán)限,,將不能訪問受保護的文件和文件夾;而即使擁有權(quán)限(例如為了非法獲得重要數(shù)據(jù)而重新安裝操作系統(tǒng),,并以新的管理員身份給自己指派權(quán)限),,沒有密鑰同樣還是打不開加密數(shù)據(jù),。 5, 我只是用Ghost恢復(fù)了一下系統(tǒng),,用戶賬戶和相應(yīng)的SID都沒有變,,怎么以前的加密文件也打不開了? 這也是正常的,,因為EFS加密所用到的密鑰并不是在創(chuàng)建用戶的時候生成,,而是在你第一次用EFS加密文件的時候。如果你用Ghost創(chuàng)建系統(tǒng)的鏡像前還沒有加密過任何文件,,那你的系統(tǒng)中就沒有密鑰,,而這樣的系統(tǒng)制作的鏡像當(dāng)然也就不包括密鑰。一旦你加密了文件,,并用Ghost恢復(fù)系統(tǒng)到創(chuàng)建鏡像的狀態(tài),,解密文件所用的密鑰就丟失了。因此這個問題一定需要主意,! 希望本文對你使用EFS加密有所幫助,,希望你的數(shù)據(jù)能夠更加安全! |
|