萬盛學電腦網

 萬盛學電腦網 >> 健康知識 >> 了解Windows中EFS加密及解密應用(組圖)

了解Windows中EFS加密及解密應用(組圖)

  EFS特點簡介    Windows 2000/XP/Server 2003都配備了EFS(Encrypting File System,加密檔案系統),它可以幫助您針對存儲在NTFS磁盤卷上的文件和文件夾執行加密操作。如果硬盤上的文件已經使用了EFS進行加密,即使黑客能訪問到你硬盤上的文件,由於沒有解密的密鑰,,文件也是不可用的。    EFS加密基於公鑰策略。在使用EFS加密一個文件或文件夾時,系統首先會生成一個由偽隨機數組成的FEK(File Encryption Key,文件加密鑰匙),然後將利用FEK和數據擴展標准X算法創建加密後的文件,並把它存儲到硬盤上,同時刪除未加密的原始文件。接下來系統利用你的公鑰加密FEK,並把加密後的FEK存儲在同一個加密文件中。而在訪問被加密的文件時,系統首先利用當前用戶的私鑰解密FEK,然後利用FEK解密出文件。在首次使用EFS時,如果用戶還沒有公鑰/私鑰對(統稱為密鑰),則會首先生成密鑰,然後加密數據。如果你登錄到了域環境中,密鑰的生成依賴於域控制器,否則它就依賴於本地機器。    說起來非常復雜,但是實際使用過程中就沒有那麼麻煩了。EFS加密的用戶驗證過程是在登錄Windows時進行的,只要登錄到Windows,就可以打開任何一個被授權的加密文件。換句話說,EFS加密系統對用戶是透明的。這也就是說,如果你加密了一些數據,那麼你對這些數據的訪問將是完全允許的,並不會受到任何限制。而其他非授權用戶試圖訪問你加密過的數據時,就會收到“訪問拒絕”的錯誤提示(圖1)。     圖1    如果把未加密的文件復制到經過加密的文件夾中,這些文件將會被自動加密。若是將加密數據移出來,如果移動到NTFS分區上,數據依舊保持加密屬性。被EFS加密過的數據不能在Windows中直接共享。如果通過網絡傳輸經EFS加密過的數據,這些數據在網絡上將會以明文的形式傳輸。NTFS分區上保存的數據還可以被壓縮,但是一個文件不能同時被壓縮和加密。再有,Windows的系統文件和系統文件夾無法被加密。    要提醒大家的是:要使用EFS加密功能,首先要保證操作系統是Windows 2000/XP/Server 2003,Windows 98/Me操作系統就無緣使用了。其次要保證文件所在的分區格式是NTFS格式,FAT32分區裡的數據是無法加密的。如果你要使用EFS加密,必須將FAT32格式轉換為NTFS。    EFS應用實例    讓我們看看如何給文件夾加密。右擊選擇要加密的文件夾,選擇快捷菜單中的“屬性”,選擇“常規”標簽中的最下方“屬性”|“高級”,在“壓縮或加密屬性”一欄中,把“加密內容以便保護數據”打上√(圖2),點“確定”。回到文件屬性點“應用”,彈出“確認屬性更改”窗口,在“將該應用用於該文件夾、子文件夾和文件”打上“√”,點“確定”。這樣這個文件夾裡的原來有的以及新建的所有文件和子文件夾都被自動加密了。要解開加密的文件夾,把“加密內容以便保護數據”前面的“√”去掉,點確定就可以了。     圖2    1.將EFS選項添加至快捷菜單    如果想將EFS選項添加至快捷菜單,請依次執行下列操作步驟:在“運行”對話框內輸入regedit,在注冊表編輯器內浏覽至下列子鍵:    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced,然後新建一個DWORD值EncryptionContextMenu,並將它的鍵值設為1。注意,為確保對注冊表進行修改,應在自己的計算機上擁有管理員帳號。這樣當用戶右鍵單擊某一存儲於NTFS磁盤卷上的文件或文件夾時,加密或解密選項便會出現在隨後彈出的快捷菜單上(圖3),非常方便。     圖3    2.禁用EFS    如果你不喜歡EFS,可以徹底禁用它。只要在“運行”中輸入Regedit並回車,打開注冊表編輯器,依次展開到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS,然後新建一個Dword值EfsConfiguration,並將其鍵值設為1,這樣本機的EFS加密就被徹底禁用了。    3. 跳過不加密父文件夾下的某個子文件夾    在加密的過程中我們常常遇到這樣的事情,我們需要加密某一個文件夾,而此文件夾下還有很多的子文件夾,這時候我們如果不想加密位於此文件夾下的某一個子文件夾該怎麼辦呢?很多的用戶往往采取的方法是將不需要加密的子文件夾剪切出來,單獨存放,然後再加密文件夾。可是這樣一來卻破壞了原來的目錄結構,加密和保持原有的目錄結構好象是魚與熊掌不可兼得,怎麼辦?其實你大可不必這麼辛苦,只需要在不需要加密的子文件夾下建立一個“Desktop.ini”文件即可。具體地說就是在不需要加密的子文件夾下建立一個名為“Desktop.ini”的文件,用記事本程序打開錄入以下內容:    [encryption]    Disable=1    錄入完畢保存並關閉該文件,以後要加密父文件夾的時候,當加密到該子文件夾就會遇到錯誤的信息,如圖所示(圖4),點“忽略”按鈕就可以跳過對該子文件夾的加密,但其父文件夾的加密不會受到絲毫的影響。     圖4    4.在命令提示符下加密、解密文件    有些用戶喜歡在命令提示符下工作,EFS也早為這些用戶准備好了。用CIPHER命令即可輕松完成對文件和文件夾的加密、解密工作。其命令格式如下:    CIPHER [/E | /D] 文件夾或文件名 [參數]    例如要給F盤根目錄下的abcde文件夾加密就輸入:“CIPHER /e f:\abcde”,如圖所示(圖5),回車後即可完成對文件夾的加密。要給F盤根目錄下的abcde文件夾解密則輸入:“CIPHER /D f:\abcde”,回車後即可完成對文件夾的解密。/E是加密參數,/D是解密參數,其它更多的參數和用法請在命令提示符後輸入:“CIPHER /?”來查看。      圖5    EFS加密的破解    在EFS加密體系中,數據是靠FEK加密的,而FEK又會跟用戶的公鑰一起加密保存;解密的時候順序剛好相反,首先用私鑰解密出FEK,然後用FEK解密數據。可見,用戶的密鑰在EFS加密中起了很大作用。    密鑰又是怎麼來的呢?在Windows 2000/XP中,每一個用戶都有一個SID(Security Identifier,安全標識符)以區分各自的身份,每個人的SID都是不相同的,並且有唯一性。可以這樣理解:把SID想象為人的指紋,雖然同名同姓甚至同時出生的人很多,但世界上任意兩個人的指紋卻完全不同。因此,這具有唯一性的SID就保證了EFS加密的絕對安全和可靠。因為理論上沒有SID相同的用戶,因而用戶的密鑰也就絕不會相同。在第一次加密數據時,系統就會根據SID生成加密者(該用戶)的密鑰,並且會把公鑰及私鑰分開保存,供用戶加密和解密數據使用。    許多人由此就認為使用EFS加密非常安全,可是現在網上有一款叫做Advanced EFS Data Recovery的軟件就可以破解EFS加密!不過使用該軟件有個前提,那就是硬盤上要保留有相應的密鑰,而且該軟件目前僅能破解經過Windows 2000加密的文件,對Windows XP的加密還無法破解,所以使用XP的朋友可以安心一段時間了。一段時間以後呢?我也不知道,我只知道世上沒有不透風的牆。大家可以從網上下載該軟件的試用版,試用版只能解密文件的前512字節。    現在,假設我們的Windows 2000安裝在C盤,事先用Administrators組的賬戶Work加密了一個文本文件efs1.txt。注銷該賬戶,用同屬於Administrators組的另一個賬戶Luck登錄,直接打開efs1.txt文件試試,看到“訪問拒絕”的錯誤提示了吧?這說明經過EFS加密後的文件非授權用戶的確無法訪問。接下來運行Advanced EFS Data Recovery,在“EFS Related Files”標簽下點擊右側的“Scan For keys”,然後指定在C盤中掃描密鑰,圖中顯示為綠色的就是可用密鑰(圖6)。然後點擊“Encrypted files”標簽,再點擊右側的“Scan for encrypted files”按鈕,在D盤上搜索所有加密文件,會得到如圖所示的結果(圖7),其中的efs1.txt就是我們事先加密的文件,點擊“Save files”按鈕指定保存的位置即可。打開該文件看看,沒有任何問題,該文件已經被解密了。     圖6     圖7    注意,如果你要解密的文件比較大的話,那就需要使用注冊版,否則無法破解。
copyright © 萬盛學電腦網 all rights reserved