主題: 深入剖析EFS
查看單個文章
舊 2006-06-11, 11:24 PM   #6 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

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)。

  
http://myarticle.enet.com.cn/images/200511/1130910940378.jpg[img]<br />
<br />
<br />
  圖1 <br />
<br />
  如果把未加密的文件複製到經過加密的資料夾中,這些文件將會被自動加密。若是將加密資料移出來,如果移動到NTFS分區上,資料依舊保持加密內容。被EFS加密過的資料不能在Windows中直接共用。如果通過網路傳輸經EFS加密過的資料,這些資料在網路上將會以明文的形式傳輸。NTFS分區上儲存的資料還可以被壓縮,但是一個文件不能同時被壓縮和加密。再有,Windows的系統文件和系統資料夾無法被加密。 <br />
<br />
  要提醒大家的是:要使用EFS加密功能,首先要保證作業系統是Windows 2000/XP/Server 2003,Windows 98/Me作業系統就無緣使用了。其次要保證文件所在的分區格式是NTFS格式,FAT32分區裏的資料是無法加密的。如果你要使用EFS加密,必須將FAT32格式轉換為NTFS。 <br />
<br />
  EFS應用實例 <br />
<br />
  讓我們看看如何給資料夾加密。右擊選擇要加密的資料夾,選擇快捷功能表中的「內容」,選擇「一般」標籤中的最下方「內容」 「高階」,在「壓縮或加密內容」一欄中,把「加密內容以便保護資料」打上√(圖2),點「確定」。回到文件內容點「應用」,彈出「確認內容更改」視窗,在「將該應用用於該資料夾、子資料夾和文件」打上「√」,點「確定」。這樣這個資料夾裏的原來有的以及新增的所有文件和子資料夾都被自動加密了。要解開加密的資料夾,把「加密內容以便保護資料」前面的「√」去掉,點確定就可以了。 <br />
<br />
  <br />
<br />
[img]http://myarticle.enet.com.cn/images/200511/1130910958954.jpg

  圖2

  1.將EFS選項新增至快捷功能表

  如果想將EFS選項新增至快捷功能表,請依次執行下列操作步驟:在「執行」對話方塊內輸入regedit,在註冊表編輯器內瀏覽至下列子鍵:

  HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Advanced,然後新增一個DWORD值EncryptionContextMenu,並將它的鍵值設為1。注意,為確保對註冊表進行修改,應在自己的電腦上擁有管理員帳號。這樣當用戶右鍵單擊某一存儲於NTFS磁片捲上的文件或資料夾時,加密或解密選項便會出現在隨後彈出的快捷功能表上(圖3),非常方便。
http://myarticle.enet.com.cn/images/200511/1130910971924.jpg
  



  圖3



2.禁用EFS

  如果你不喜歡EFS,可以徹底禁用它。只要在「執行」中輸入Regedit並Enter鍵,打開註冊表編輯器,依次展開到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EFS,然後新增一個Dword值EfsConfiguration,並將其鍵值設為1,這樣本機的EFS加密就被徹底禁用了。

  3. 跳過不加密父資料夾下的某個子資料夾

  在加密的過程中我們常常遇到這樣的事情,我們需要加密某一個資料夾,而此資料夾下還有很多的子資料夾,這時候我們如果不想加密位於此資料夾下的某一個子資料夾該怎麼辦呢?很多的用戶往往採取的方法是將不需要加密的子資料夾剪下出來,單獨存放,然後再加密資料夾。可是這樣一來卻破壞了原來的目錄結構,加密和保持原有的目錄結構好像是魚與熊掌不可兼得,怎麼辦?其實你大可不必這麼辛苦,只需要在不需要加密的子資料夾下建立一個「Desktop.ini」文件即可。具體地說就是在不需要加密的子資料夾下建立一個名為「Desktop.ini」的文件,用記事本程式打開錄入以下內容:

  [encryption]

  Disable=1

  錄入完畢儲存並關閉該文件,以後要加密父資料夾的時候,當加密到該子資料夾就會遇到錯誤的資訊,如圖所示(圖4),點「忽略」按鈕就可以跳過對該子資料夾的加密,但其父資料夾的加密不會受到絲毫的影響。

  
http://myarticle.enet.com.cn/images/200511/1130910983980.jpg


  圖4

  4.在命令提示字元下加密、解密文件

  有些用戶喜歡在命令提示字元下工作,EFS也早為這些用戶準備好了。用CIPHER命令即可輕鬆完成對文件和資料夾的加密、解密工作。其命令格式如下:

  CIPHER [/E   /D] 資料夾或文件名 [參數]

  例如要給F盤根目錄下的abcde資料夾加密就輸入:「CIPHER /e f:\abcde」,如圖所示(圖5),Enter鍵後即可完成對資料夾的加密。要給F盤根目錄下的abcde資料夾解密則輸入:「CIPHER /D f:\abcde」,Enter鍵後即可完成對資料夾的解密。/E是加密參數,/D是解密參數,其他更多的參數和用法請在命令提示字元後輸入:「CIPHER /?」來檢視。

  http://myarticle.enet.com.cn/images/200511/1130911004019.jpg



  圖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」按鈕指定儲存的位置即可。打開該文件看看,沒有任何問題,該文件已經被解密了。

  

http://myarticle.enet.com.cn/images/200511/1130911016464.jpg

  圖6

  

http://myarticle.enet.com.cn/images/200511/1130911028752.jpg

  圖7

  注意,如果你要解密的文件比較大的話,那就需要使用註冊版,否則無法破解。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次