① 如果EFS加密文件,個人證書等那些已經加密保存好的在電腦哪裡查看得到呢
可以加密
如果你是XP專業版系統的話,將你的分區轉成NTFS格式的,對要加密的文件點右鍵,在屬性中 選 加密 。 這樣只有你的帳號才能訪問,別的帳號訪問不了。加密後的文件名顏色會變的
windows下想加密就單獨弄個賬戶把文件夾設成只有自己能訪問,但是管理員還是可以訪問,所以最好就用管理員賬號,其他的帳號不能是管理員。其他的覺得沒有什麼好方法。還是用工具比較可靠
NTFS格式下加、解密問題
NTFS是WinNT以上版本支持的一種提供安全性、可靠性的高級文件系統。在Win2000和WinXP中,NTFS還可以提供諸如文件和文件夾許可權、加密、磁碟配額和壓縮這樣的高級功能。
一、加密文件或文件夾
步驟一:打開Windows資源管理器。
步驟二:右鍵單擊要加密的文件或文件夾,然後單擊「屬性」。
步驟三:在「常規」選項卡上,單擊「高級」。選中「加密內容以便保護數據」復選框
在加密過程中還要注意以下五點:
1.要打開「Windows 資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows 資源管理器」。
2.只可以加密NTFS分區卷上的文件和文件夾,FAT分區卷上的文件和文件夾無效。
3.被壓縮的文件或文件夾也可以加密。如果要加密一個壓縮文件或文件夾,則該文件或文件夾將會被解壓。
4.無法加密標記為「系統」屬性的文件,並且位於systemroot目錄結構中的文件也無法加密。
5.在加密文件夾時,系統將詢問是否要同時加密它的子文件夾。如果選擇是,那它的子文件夾也會被加密,以後所有添加進文件夾中的文件和子文件夾都將在添加時自動加密。
二、解密文件或文件夾
步驟一:打開Windows資源管理器。
步驟二:右鍵單擊加密文件或文件夾,然後單擊「屬性」。
步驟三:在「常規」選項卡上,單擊「高級」。
步驟四:清除「加密內容以便保護數據」復選框。
同樣,我們在使用解密過程中要注意以下問題:
1.要打開「Windows資源管理器」,請單擊「開始→程序→附件」,然後單擊「Windows資源管理器」。
2.在對文件夾解密時,系統將詢問是否要同時將文件夾內的所有文件和子文件夾解密。如果選擇僅解密文件夾,則在要解密文件夾中的加密文件和子文件夾仍保持加密。但是,在已解密文件夾內創立的新文件和文件夾將不會被自動加密。
以上就是使用文件加、解密的方法!而在使用過程中我們也許會遇到以下一些問題,在此作以下說明:
1.高級按鈕不能用
原因:加密文件系統(EFS)只能處理NTFS文件系統卷上的文件和文件夾。如果試圖加密的文件或文件夾在FAT或FAT32卷上,則高級按鈕不會出現在該文件或文件夾的屬性中。
解決方案:
將卷轉換成帶轉換實用程序的NTFS卷。
打開命令提示符。
鍵入:Convert [drive]/fs:ntfs
(drive 是目標驅動器的驅動器號)
2.當打開加密文件時,顯示「拒絕訪問」消息
原因:加密文件系統(EFS)使用公鑰證書對文件加密,與該證書相關的私鑰在本計算機上不可用。
解決方案:
查找合適的證書的私鑰,並使用證書管理單元將私鑰導入計算機並在本機上使用。
3.用戶基於NTFS對文件加密,重裝系統後加密文件無法被訪問的問題的解決方案(注意:重裝Win2000/XP前一定要備份加密用戶的證書):
步驟一:以加密用戶登錄計算機。
步驟二:單擊「開始→運行」,鍵入「mmc」,然後單擊「確定」。
步驟三:在「控制台」菜單上,單擊「添加/刪除管理單元」,然後單擊「添加」。
步驟四:在「單獨管理單元」下,單擊「證書」,然後單擊「添加」。
步驟五:單擊「我的用戶賬戶」,然後單擊「完成」(如圖2,如果你加密用戶不是管理員就不會出現這個窗口,直接到下一步) 。
步驟六:單擊「關閉」,然後單擊「確定」。
步驟七:雙擊「證書——當前用戶」,雙擊「個人」,然後雙擊「證書」。
步驟八:單擊「預期目的」欄中顯示「加密文件」字樣的證書。
步驟九:右鍵單擊該證書,指向「所有任務」,然後單擊「導出」。
步驟十:按照證書導出向導的指示將證書及相關的私鑰以PFX文件格式導出(注意:推薦使用「導出私鑰」方式導出,這樣可以保證證書受密碼保護,以防別人盜用。另外,證書只能保存到你有讀寫許可權的目錄下)。
4.保存好證書
注意將PFX文件保存好。以後重裝系統之後無論在哪個用戶下只要雙擊這個證書文件,導入這個私人證書就可以訪問NTFS系統下由該證書的原用戶加密的文件夾(注意:使用備份恢復功能備份的NTFS分區上的加密文件夾是不能恢復到非NTFS分區的)。
最後要提一下,這個證書還可以實現下述用途:
(1)給予不同用戶訪問加密文件夾的許可權
將我的證書按「導出私鑰」方式導出,將該證書發給需要訪問這個文件夾的本機其他用戶。然後由他登錄,導入該證書,實現對這個文件夾的訪問。
(2)在其也WinXP機器上對用「備份恢復」程序備份的以前的加密文件夾的恢復訪問許可權
將加密文件夾用「備份恢復」程序備份,然後把生成的Backup.bkf連同這個證書拷貝到另外一台WinXP機器上,用「備份恢復」程序將它恢復出來(注意:只能恢復到NTFS分區)。然後導入證書,即可訪問恢復出來的文件了。
Win98加密文件夾四法
一、文件夾屬性法
在「Windows資源管理器」窗口,右鍵單擊要加密的文件夾,單擊「屬性」,選中「隱藏」復選框。在注冊表的「HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Advanced\Folder\Hidden\SHOWALL」分支下,將「Checkedvalue」的鍵值設置為數字「0」。以後,即使在「Windows資源管理器」窗口,單擊「查看」菜單中的「文件夾選項」,單擊「查看」選項卡,選中「顯示所有文件」復選鈕,也無法看到具有隱藏屬性的文件夾。
二、「回收站」法
首先確認選中了「顯示所有文件」復選鈕,並且注冊表中「Checkedvalue」的鍵值為「1」。然後,在「Windows資源管理器」窗口,右鍵單擊「C:\RECYCLED」文件夾(這是C盤上「回收站」對應的文件夾),再單擊「屬性」,單擊「常規」選項卡,清除「啟用縮略圖方式查看」和「只讀」復選框,單擊「確定」按鈕。關閉並重新啟動「Windows資源管理器」後,將會看到「C:\RECYCLED」文件夾中有一個desktop.ini文件。把該文件復制到要加密的文件夾中,並把該文件夾設為「只讀」屬性。
三、「文件管理器」法
單擊「開始/運行」,鍵入「winfile」,單擊「確定」按鈕,打開「文件管理器」窗口,單擊「查看」菜單中的「按文件類型」,選中「顯示隱藏/系統文件」復選框,單擊「確定」按鈕。把要加密的文件夾拖到「C:\RECYCLED」文件夾或者其他分區的「RECYCLED」文件夾。這樣,在「我的電腦」或「Windows資源管理器」窗口中就看不到這個文件夾了。
四、設置密碼法
1、打開「資源管理器」,選定要加密或要保護的文件夾(文件目錄),在其中空白處單擊滑鼠右鍵,選擇「自定義文件夾…」選項;
2、在「自定義文件夾」的復選框中,選擇「創建或編輯HTML文檔」,並單擊「下一步」,系統准備啟動HTML編輯器;
3、單擊「下一步」,系統啟動HTML編輯器,自動打開Folder.htt文檔;
4、編輯Folder.htt文檔,搜索「javascript」字元,在下方頂頭輸入以下3行內容:
var pass = prompt("請輸入密碼")
if(pass != "ABC")
{window.location="E:"};
5、保存Folder.htt文檔並退出編輯,選擇「完成」;到此,對文件夾的加密或保護便已完成;
6、加密測試,關閉已打開的所有文檔及文件夾,重新打開「資源管理器」,點擊已加密的文件夾,系統便會提示輸入密碼,輸入正確的密碼(本文設定的密碼為ABC)就可以訪問該文件夾,反之則會轉入E盤而無法訪問,從而保護該文件夾及其中的文檔。
② 誰能給我解開EFS解密,我給他懸賞500積分!
FS加密的一線生機-加密帳戶被刪的補救方法
引子:看到新聞組里那麼多網友「哭訴」EFS問題,早就想寫一篇EFS的文章。但是苦於手頭資料太少,很多概念尚未圓潤貫通,匆匆草就之下,這誤人子弟的罪責,怕是逃不過的。聲明:本文參考了國外一篇「牛」
文,由於要掌握這篇國外文章,讀者必須具備一些NTFS底層知識,否則難窺其堂奧。故此筆者四處網羅資料,加上穿鑿附會,希望能幫助讀者諸君更方便省時地領會這篇文章,舞好EFS這把雙刃劍。文章鏈接如下:
http://www.beginningtoseethelight.org/efsrecovery/index.php
這里需要提醒用戶注意:本文並非為了證明微軟的EFS存在 「漏洞」,也不是專為馬大哈們准備的包治百病的「後悔葯」。事實上如果沒有導出EFS證書和私鑰,那麼一旦刪除用戶、或者重裝系統,EFS加密文件就不屬於你了。
提示 本文適用於Windows XP Professional單機環境,並假設沒有恢復代理
(DRF)
和共享訪問帳戶(多個DDF)。
任務描述
如 果某個用戶把自己的登錄帳戶刪除,那麼其他用戶將無法訪問其EFS加密文件。更可惡的是,一旦公司里的某個用戶心懷怨氣,惡意加密了本屬於別的用戶的重要 文件,將會導致嚴重問題。一般情況下,這些EFS加密文件已經被判了死刑,但是實際上只要滿足以下條件的話,我們還是可以在末日來臨之前打開逃生的天窗:
(1) 必須知道該被刪帳戶的密碼。
(2) 該被刪帳戶的配置文件必須存在。如果使用「本地用戶和組」管理單元刪除帳戶,則配置文件保留的機會很大,如果使用「用戶帳戶」控制面板刪除帳戶,則有一半 機會保留配置文件。如果配置文件不幸被刪,則只能祈禱可以藉助Easy Recovery之類的數據恢復工具進行恢復。
可能有些朋友會覺得這兩個條件比較苛刻,此處賣個關子先……
EFS加密原理
大家知道,EFS加密實際上綜合了對稱加密和不對稱加密:
(1) 隨機生成一個文件加密密鑰(叫做FEK),用來加密和解密文件。
(2) 這個FEK會被當前帳戶的公鑰進行加密,加密後的FEK副本保存在文件$EFS屬性的
DDF
欄位里。
(3) 要想解密文件,首先必須用當前用戶的私鑰去解密FEK,然後用FEK去解密文件。
看到這里,似乎EFS的脈絡已經很清晰,其實不然,這樣還不足於確保EFS的安全性。系統還會對EFS添加兩層保護措施:
(1) Windows會用64位元組的主密鑰(Master Key)對私鑰進行加密,加密後的私鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID[/i]
提示 Windows系統里的各種私有密鑰,都用相應的主密鑰進行加密。Windows Vista的BitLocker加密,也用其主密鑰對FVEK(全卷加密密鑰)進行加密。
(2) 為了保護主密鑰,系統會對主密鑰本身進行加密(使用的密鑰由帳戶密碼派生而來),加密後的主密鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Protect\SID[/i]
整個EFS加密的密鑰架構如圖1所示。
圖1
提示 EFS密鑰的結構部分,參考自《Windows Internals 4th》的第12章。
回到「任務描述」部分所述的兩個條件,現在我們應該明白原因了:
(1) 必須知道該被刪帳戶的密碼:沒有帳戶密碼,就無法解密主密鑰。因為其加密密鑰是由帳戶密碼派生而來的。
提示 難怪Windows XP和2000不同,管理員重設帳戶密碼,也不能解密EFS文件。
(2) 該被刪帳戶的配置文件必須存在:加密後的私鑰和主密鑰(還包括證書和公鑰),都保存在配置文件里,所以配置文件萬萬不可丟失,否則就會徹底「鬼子不能進村」。重裝系統後,原來的配置文件肯定被刪,這時候當然不可能恢復EFS文件。
可能有用戶會想,只需新建一個同名的用戶帳戶,然後把原來配置文件復制給新帳戶,不就可以解密EFS文件了?原因在於帳戶的SID,因為新建用戶的SID不可能和老帳戶一樣,所以常規方法是不可能奏效的。我們必須另闢蹊徑,讓系統再造一個完全一樣的SID!
恢復步驟
為了方便描述,這里假設被刪帳戶的用戶名為Admin,Windows安裝在C盤。
1.再造SID
注意 本方法取自「聲明」部分提到的那篇文章。
首先確認被刪帳戶的SID,這里可以進入以下文件夾:
C:\Documents and Settings\Admin[/i]\Application Data\Microsoft\Crypto\RSA
在其下應該有一個以該被刪帳戶的SID為名的文件夾,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID為1004)
現在我們要設法讓新建帳戶同樣具有1004的RID,這樣就能達到目的。
在
Windows 中,下一個新建帳戶所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項的F鍵值所確定 的。F鍵值是二進制類型的數據,在偏移量0048處的四個位元組,定義下一個帳戶的RID。那麼也就是說,只需要修改0048處的四個位元組,就能達到目的
(讓新建帳戶獲得
1004
的
RID
)!
確認好以後,別忘記把Admin帳戶的配置文件轉移到別的地方!
(1) 默認情況下,只有system帳戶才有許可權訪問HKEY_LOCAL_MACHINE\SAM,這里在CMD命令提示符窗口,運行以下命令,以system帳戶身份打開注冊表編輯器:
psexec -i -d -s %windir%\regedit.exe
提示 可以在以下網站下載psexec:
http://www.sysinternals.com/Utilities/PsExec.html
(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項,雙擊打開右側的F鍵值。
(3) 這里要說明一下,Windows是以十六進制、而且以反轉形式保存下一個帳戶的RID。什麼意思呢?也就是說,如果是1004的RID,對應十六進制就是03EC,但是我們必須把它反轉過來變成EC03,再擴展為4個位元組,就是EC 03 00 00。
所以,我們應該把F鍵值的0048偏移量處,把其中四個位元組改為「EC 03 00 00」,如圖2所示。
圖2
(4) 重要:別忘了重啟計算機!
(5) 重啟以後,新建一個同名帳戶Admin,它的SID應該和以前是完全一樣。如果不相信的話,可以藉助GetSID或者PsGetSID等工具測試一下。
2.「破解」EFS
接下來的方法就非常簡單了,用新建的Admin帳戶身份登錄系統,隨便加密一個文件,然後注銷,用管理員帳戶登錄系統,把原來保留的配置文件復制到C:\Documents and Settings\Admin[/i]文件夾下。
再用Admin帳戶登錄系統,現在可以解密原來的EFS文件了。
疑難解答
1.如果已經重裝系統,那怎麼辦?
「聲 明」部分提到的那篇文章里提到,如果還記得原來帳戶的密碼,並且配置文件沒有被刪除的話,還有希望。這時候可以藉助sysinternals的 NEWSID工具把系統的計算機SID重設為原來的值,再用前面描述的方法構造所需的RID,這樣就可以獲得所需的帳戶SID。剩餘步驟完全一樣。
http://www.sysinternals.com/Utilities/NewSid.html
2.有用戶曾經遇到這樣的問題:登錄系統時收到提示說密碼過期,需要重設,重設密碼登錄後發現打開EFS文件。
KB890951提到這個問題。其解釋是因為在修改密碼時,系統還沒有載入配置文件
(有點語焉不詳
),原文如下:
This
problem
occurs because the user profile for the current user is not loaded correctly after you change the password.
配置文件和EFS有何相干?看完本文,大家應該知道,EFS的私鑰和主密鑰都是保存在配置文件里的。由於配置文件沒有載入,所以主密鑰的加密版本沒有得到更新(沒有跟上帳戶密碼的變化),導致主密鑰無法正確解密,從而無法解密私鑰和FEK。這就是問題的真正原因。
該KB提供了一個內部補丁,可以解決這個問題。KB890951的鏈接如下:
http://support.microsoft.com/kb/890951
3.有關公鑰的問題
為了容易理解,筆者故意忽略了公鑰。公鑰保存也保存在帳戶的配置文件里:
%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates
在EFS恢復的操作中,必須確保公鑰也要復制到新帳戶的配置文件里。盡管看起來公鑰與EFS解密無關(它負責加密)。
原來,加密文件
$
EFS屬性的DDF欄位里除了有帳戶SID和加密的FEK副本外,還有公鑰的指紋信息(Public Key Thumbprint)和私鑰GUID信息(私鑰的某種散列值)。
系統在掃描加密文件
$EFS
屬性中的DDF欄位時,根據用戶配置文件里的公鑰中所包含的公鑰指紋和私鑰GUID信息,當然還有帳戶的SID,來判斷該帳戶是否具有對應的
DDF
欄位,從而判斷該用戶是否屬於合法的EFS文件擁有者。
所以公鑰也很重要。
當然公鑰是可以
「
偽造
」
的
(可以偽造出所需的公鑰指紋和私鑰GUID)
,以欺騙
EFS
系統,具體方法可以參考國外的那篇原稿,此處不再贅述。
加強EFS的安全
由 於EFS把所有的相關密鑰都保存在Windows分區,所以這可能給EFS帶來一定的安全隱患。目前有一些第三方工具號稱可以破解EFS,這些工具首先攻 擊SAM配置單元文件,嘗試破解帳戶密碼,從而破解帳戶密碼→主密鑰的加密密鑰→主密鑰→EFS私鑰→FEK的「密鑰鏈」。
為了防止攻擊者窺視我們的EFS文件,可以藉助以下三種方法:
1
.導出刪除私鑰
可以用證書向導導出EFS加密證書和私鑰,並且在「證書導出向導」對話框里選擇刪除私鑰,如圖3所示。
圖3
刪除私鑰以後,攻擊者就沒有辦法訪問EFS加密文件了,而我們需要訪問時,只需導入先前備份的證書和私鑰即可。
2
.System Key提供額外的保護
System Key
可 以對SAM配置單元文件和EFS私鑰提供額外保護。Windows XP的System Key默認保存在本地,我們可以運行syskey命令,強制系統將System Key保存在軟盤里,或者用啟動密碼(startup password)來生成System Key。
由於EFS「密鑰鏈」的根密鑰(System Key)沒有保存在本地計算機中, 所以攻擊者將更加難以破解EFS加密。
提示 BitLocker加密的recovery key,類似於syskey的startup password,都是藉助啟動時所輸入的一串密碼來生成所需的密鑰。
3
.BitLocker提供更徹底的保護
本方法僅適用於Windows Vista(Enterprise和Ultimate Edition)。
最徹底的保護方法,首推Windows Vista新引入的BitLocker加密,這時候Windows分區的所有內容全部被加密(包括SAM配置單元、EFS密鑰)。
BitLocker(TPM1.2)
加密可以看成是Windows啟動保護器。在系統啟動時,TPM晶元會負責分析各個重要的啟動組件,以判斷自己是否位於原來的計算機環境。如果是的話,就依次釋放BitLocker
加密所需的密鑰鏈,我們才能順利地訪問Windows,才能訪問EFS文件。
如果攻擊者企圖把硬碟掛接到別的計算機上,系統就會拒絕釋放密鑰,整個Windows Vista分區處於加密狀態。
如 果攻擊者竊取了計算機,並且竊取了BitLocker所需所有條件(TPM晶元自不必說,假設也獲得密鑰U盤)。這時候系統能夠順利引導,並且成功釋放 BitLocker密鑰鏈。但是攻擊者還必須想辦法知道帳戶的密碼,否則無法登錄系統,Windows分區依然處於加密狀態。
EFS
額外保護的原理如圖4所示。
圖4
4
.題外話:為什麼釋放BitLocker密鑰以後,Windows分區依然處於加密狀態?
所以盡管BitLocker密鑰已經釋放,但是Windows分區並沒有被立即全部解密。否則每次啟動,都要解密整個Windows
分區,得花多少時間(筆者的
Vista
分區完全解密,共花3小時)!
原 來BitLocker加密是以一個FVE Filter Driver來實現加密和解密,該Filter Driver處於文件系統驅動的下層。登錄系統以後,用戶需要訪問文件時,文件系統會自動請求FVE Filter Driver進行解密,猜想應該是一次解密一個Block,每個Block可能是512位元組(和EFS一樣),不敢確定
。對於用戶來說,這個過程是完全透明的,同時對性能的影響很小,幾乎可以忽略不計。EFS加密的情況有點類似。
寫在最後
這里非常敬佩國外微軟技術愛好者的執著,事實上該作者還有一篇經典的文章(
描述
SAM
配置單元文件的二進制結構
)
,鏈接如下,非常值得推薦。
很難想像,要編寫這樣的文章,得花費多少的人力和時間,要做多少的實驗才能在SAM
資料庫逐個位元組地找出其對應的含義!
本文的目的,也是為了向這些國外的作者致敬。
③ EFS密鑰找不到
你先加密任意一個文件,就會看到證書了;Ghost還原的時候能打開加密的文件夾。
④ efs文件夾在哪裡
三星i9100efs文件夾在:storage/sdcard
進入方法:
1.進入【文件管理】(進去便是storage)
2.打開【sdcard】
3.找到【EFS】文件夾,即可
三星i9100:
主屏尺寸:4.3英寸
主屏解析度:800x480像素
後置攝像頭:800萬像素
前置攝像頭:200萬像素
電池容量:1650mAh
電池類型:可拆卸式電池
CPU:雙核
內存:1GB
⑤ EFS解密密鑰丟失後如何處理已加密的數據恢復
訪問加密的文件快且容易。如果用戶持有一個已加密的 NTFS 文件的私鑰,那麼用戶能夠打開這個文件,並透明地將該文件作為普通文檔使用,反之,用戶會被拒絕對文件的訪問。而並不像第三方加密軟體一樣在每次存取時都要求輸入密碼。 網管聯盟bitsCN_com加密後的數據無論怎樣移動都保持加密狀態(前提要在NTFS分區下移動,在Windows 2000/XP以及Windows.net系統中,如果試圖把一個EFS加密文件移動或復制到FAT/FAT32分區會遭到拒絕)。 EFS 與 NTFS 緊密地集成在一起。當創建臨時文件時,只要所有文件在 NTFS 卷上,原始文件的屬性就會被復制到臨時文件中。如果加密了一個文件,EFS 也會將其臨時文件進行加密。EFS 駐留在操作系統內核中,並且使用不分頁的池存儲文件加密密鑰,保證了密鑰不會出現在分頁文件中。這防止了一些應用程序在創建臨時文件時泄密。 通過EFS加密敏感性文件,會增加更多層級的安全性防護。在加密文件時,即使黑客已完全存取電腦的文件儲存體,其文件仍然受到保護。 在Windows XP/ Windows.net中,EFS可處理離線文件和文件夾。 EFS的技術結構與原理密鑰和證書EFS採用基於公鑰的方案實現數據加密或解密,它使用標准x509證書,每一個受保護的文件都是被一個使用帶有一定長度的文件加密密鑰(FEK)的快速對稱加密演算法加密的(FEK的長度由演算法或法則決定)。一個用戶要訪問一個已加密的文件,他必須擁有與公鑰相適應的私鑰。 網管下載dl.bitscn.com加密與解密文件轉換是加密和解密文件的過程,它需要一個特殊的介面。即使在嚴重的失敗產生時,數據在轉換過程中仍然是不會丟失的,所以,EFS會備份沒經過加密的原數據直到全部轉換過程都已經完成。當EFS接到轉換文件的請求時,它首先進行一系列的檢查,這些檢查包括文件是否可以加密以及是否有足夠的磁碟空間進行加密。系統文件或在系統目錄中的文件時不能被EFS加密的。如果經過檢查說明文件可以被加密,EFS便產生一個文件加密密鑰(FEK),對於FEK加密與解密,在微軟公司發布的《Windows2000的加密文件系統白皮書》中對EFS加密原理作了以下描述:FEK加密使用一個或多個密鑰加密公鑰,生成一個加密的 FEK 列表。用戶密鑰對的公共部分用來加密 FEK。加密的 FEK 列表與加密文件一起存儲在一個特殊的 EFS 屬性中,該屬性稱為數據加密欄位 (DDF)。文件加密信息與文件緊密地捆綁在一起。用戶密鑰對的私有部分在解密過程中使用。FEK 是通過使用密鑰對的私有部分進行解密的。用戶密鑰對的私有部分安全地存放在別的地方,如智能卡或其它安全存儲設備上。FEK 也使用一個或多個恢復密鑰加密公鑰進行加密。再者,每個密鑰對的公共部分用來加密 FEK。此加密的 FEK 列表與文件一起存儲在一個特殊的 EFS 屬性中,該屬性稱為數據恢復欄位 (DRF)。加密 DRF 中的 FEK,只需要恢復密鑰對的公共部分。在正常文件系統操作中,要求這些公共恢復密鑰始終在 EFS 系統上。恢復本身一般很少用到,只是當用戶離開公司或者丟失密鑰時才使用。正因為如此,恢復代理可以將密鑰的私有部分安全地存放到別的地方(智能卡或其它安全的存儲設備上)。{1} 網管論壇bbs_bitsCN_com然後,EFS將在相應的文件夾建立一個臨時文件。每一個源文件數據流都以備份用途被復制到這個臨時文件中,源文件被縮短並且EFS讀取這個臨時文件中的數據並將它們寫入原始文件,由於EFS加密是透明的,因而在實際寫入磁碟前,EFS便已將數據加密。當所有數據被寫入原始文件以及EFS證明了文件已加密後,EFS才會刪除這個臨時文件。如果轉換失敗或轉換過程中發生錯誤,EFS會在刪除臨時文件前將試圖加密的文件恢復到原始狀態。打開與讀寫原理EFS擁有四個主要的操作:打開、讀、寫以及轉換文件。由於EFS被設計成為透明的,對於打開、讀取、寫入已加密文件便與操作普通文件沒有任何區別:應用程序仍然使用普通的Win32 APIs。應用程序使用CreateFile()或者OpenFile() 來打開已加密的文件;用ReadFile()、ReadFileEx()以及ReadFileScatter()來讀取已加密的文件;用WriteFile()、WriteFileEx()、WriteFileScatter()來寫入已加密的文件。數據恢復EFS具有數據恢復能力,當用戶的密鑰損壞或丟失時EFS數據恢復便可以恢復已經加密的文件。系統管理員可以在恢復代理策略、空恢復策略以及無恢復策略中選擇一種恢復策略。在域中,當設置首域控制器時,Windows執行該域默認故障恢復策略。恢復代理策略是指系統管理員添加了一個或多個恢復代理。這些代理在管理范圍中恢復任何已加密數據都是可受響應的。空恢復策略是指系統管理員刪除了所有的恢復代理以及他們的公鑰證書。(*EFS不允許管理員在Windows2000中選擇此設置。)所謂的無恢復策略是指系統管理員刪除了恢復策略的私鑰,這時沒有私鑰是可用的,所以不可能使用恢復代理,並且EFS的恢復也是不可用的。在獨立的機器上,初始是沒有恢復策略的,獨立計算機的系統管理員可以修改EFS恢復策略,並且可以向恢復策略添加或創建恢復證書。 網管聯盟bitsCN_comEFS的應用在Windows XP中使用EFS加密/解秘數據以及EFS的數據恢復功能在Windows XP中使用EFS來加密文件或文件夾是非常輕松的一件事,步驟如下:在資源管理器中右鍵單擊想加密的文件或文件夾,點擊屬性,出現圖一的對話框, 點擊高級按鈕,出現的對話框如圖二。 a) 加密單個文件:在加密內容以便保護數據前面的單選框中打鉤,然後單擊確定。EFS便開始加密文件。b) 加密文件夾:用EFS加密文件夾的步驟和用其來加密文件的步驟基本一樣,只不過在加密內容以便保護數據前面的單選框中打鉤並最終在文件夾屬性對話框點擊確定後,會出現如圖三的對話框。如果選擇僅將更改應用於該文件夾,EFS只將這個文件夾加密,而不把裡面的文件加密;如果選擇將更改應用於該文件夾、子文件夾和文件,所有目錄內的內容將會像上面所講的過程被加密。 c) 解密:和加密文件一樣,把加密內容以便保護數據前的鉤去掉,然後點擊確定,即可完成單個文件的解密。如果是解密文件夾,同樣會出現如圖四的對話框,與加密文件夾一樣,選擇對整個目錄的內容有效還是只對文件夾本身有效。單擊確定後,EFS便開始解密。 網管u家u.bitscn@com d) 添加/刪除用戶的訪問權:為一個文件添加/刪除用戶可以賦予/撤銷用戶對EFS加密文件的完全訪問權。已被添加的用戶有訪問、加密以及解密文件的權利。點擊高級對話框中的詳細信息按鈕將看到如圖五所示的對話框。用添加以及刪除按鈕來添加和刪除用戶。 (*在Windows2000中EFS加密的用法,詳見微軟公司1999年發布的《Windows2000的加密文件系統白皮書》。**詳細的EFS使用方法,請參見微軟中國社區網站中的《EFS(Encrypting File System)加密使用淺談》一文。) EFS在企業中的應用以及前景在EFS之前,市面上便已經有許多適用其他技術的加密軟體,但是那些加密軟體大多是基於口令的方案,這樣便很容易受到字典攻擊,並且,如果企業使用另外的加密軟體,還要增加企業的開支。EFS的出現為企業提供了較為完整的文件加密方案,既節省了企業的總開支,又提供了更為安全的加密服務。通過EFS加密敏感文件,會增加更多層的安全性防護。在加密文件時,即使黑客已侵入系統並已完全存取電腦的資料儲存體,其資料仍然受到保護。配合其他的安全措施與EFS, 大大方便的企業在安全方面的部署,集成在操作系統中的EFS服務前景光明。 網管下載dl.bitscn.com EFS尚存的不足之處EFS可以說是微軟為用戶提供的一個內建在Windows產品中的方便快捷並且強大的加密系統,然而,微軟設計了讓其他操作系統也能讀取NTFS的文件格式來使用戶能夠避開硬碟故障以及啟動分區故障。因此,使用某些操作系統可以很容易地繞過NTFS安全機制,存取NTFS文件。但是盡量把組織或網路中所有機器都安裝Windows2000(或以上)的操作系統,所有分區都格式化成NTFS,這樣可以提高安全性以及避免敏感數據遭受襲擊的可能性。另外,這種讓其他操作系統也能讀取NTFS的文件格式的特性並未被廣泛使用【轉自 www.bitsCN.com】
⑥ 重裝系統後EFS解密
這樣子基本上你就沒有辦法了,但是我找到一專門論述的文章,你看看吧。希望對你有幫助
任務描述
如果某個用戶把自己的登錄帳戶刪除,那麼其他用戶將無法訪問其EFS加密文件。更可惡的是,一旦公司里的某個用戶心懷怨氣,惡意加密了本屬於別的用戶的重要文件,將會導致嚴重問題。一般情況下,這些EFS加密文件已經被判了死刑,但是實際上只要滿足以下條件的話,我們還是可以在末日來臨之前打開逃生的天窗:
(1) 必須知道該被刪帳戶的密碼。
(2) 該被刪帳戶的配置文件必須存在。如果使用「本地用戶和組」管理單元刪除帳戶,則配置文件保留的機會很大,如果使用「用戶帳戶」控制面板刪除帳戶,則有一半機會保留配置文件。如果配置文件不幸被刪,則只能祈禱可以藉助Easy Recovery之類的數據恢復工具進行恢復。
可能有些朋友會覺得這兩個條件比較苛刻,此處賣個關子先……
EFS加密原理
大家知道,EFS加密實際上綜合了對稱加密和不對稱加密:
(1) 隨機生成一個文件加密密鑰(叫做FEK),用來加密和解密文件。
(2) 這個FEK會被當前帳戶的公鑰進行加密,加密後的FEK副本保存在文件$EFS屬性的DDF欄位里。
(3) 要想解密文件,首先必須用當前用戶的私鑰去解密FEK,然後用FEK去解密文件。
看到這里,似乎EFS的脈絡已經很清晰,其實不然,這樣還不足於確保EFS的安全性。系統還會對EFS添加兩層保護措施:
(1) Windows會用64位元組的主密鑰(Master Key)對私鑰進行加密,加密後的私鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Crypto\RSA\SID
提示 Windows系統里的各種私有密鑰,都用相應的主密鑰進行加密。Windows Vista的BitLocker加密,也用其主密鑰對FVEK(全卷加密密鑰)進行加密。
(2) 為了保護主密鑰,系統會對主密鑰本身進行加密(使用的密鑰由帳戶密碼派生而來),加密後的主密鑰保存在以下文件夾:
%UserProfile%\Application Data\Microsoft\Protect\SID
整個EFS加密的密鑰架構如圖1所示。
圖1
提示 EFS密鑰的結構部分,參考自《Windows Internals 4th》的第12章。
回到「任務描述」部分所述的兩個條件,現在我們應該明白原因了:
(1) 必須知道該被刪帳戶的密碼:沒有帳戶密碼,就無法解密主密鑰。因為其加密密鑰是由帳戶密碼派生而來的。
提示 難怪Windows XP和2000不同,管理員重設帳戶密碼,也不能解密EFS文件。
(2) 該被刪帳戶的配置文件必須存在:加密後的私鑰和主密鑰(還包括證書和公鑰),都保存在配置文件里,所以配置文件萬萬不可丟失,否則就會徹底「鬼子不能進村」。重裝系統後,原來的配置文件肯定被刪,這時候當然不可能恢復EFS文件。
可能有用戶會想,只需新建一個同名的用戶帳戶,然後把原來配置文件復制給新帳戶,不就可以解密EFS文件了?原因在於帳戶的SID,因為新建用戶的SID不可能和老帳戶一樣,所以常規方法是不可能奏效的。我們必須另闢蹊徑,讓系統再造一個完全一樣的SID!
恢復步驟
為了方便描述,這里假設被刪帳戶的用戶名為Admin,Windows安裝在C盤。
1.再造SID
注意 本方法取自「聲明」部分提到的那篇文章。
首先確認被刪帳戶的SID,這里可以進入以下文件夾:
C:\Documents and Settings\Admin\Application Data\Microsoft\Crypto\RSA
在其下應該有一個以該被刪帳戶的SID為名的文件夾,例如是S-1-5-21-4662660629-873921405-788003330-1004(RID為1004)
現在我們要設法讓新建帳戶同樣具有1004的RID,這樣就能達到目的。
在Windows中,下一個新建帳戶所分配的RID是由HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項的F鍵值所確定的。F鍵值是二進制類型的數據,在偏移量0048處的四個位元組,定義下一個帳戶的RID。那麼也就是說,只需要修改0048處的四個位元組,就能達到目的(讓新建帳戶獲得1004的RID)!
確認好以後,別忘記把Admin帳戶的配置文件轉移到別的地方!
(1) 默認情況下,只有system帳戶才有許可權訪問HKEY_LOCAL_MACHINE\SAM,這里在CMD命令提示符窗口,運行以下命令,以system帳戶身份打開注冊表編輯器:
psexec -i -d -s %windir%\regedit.exe
提示 可以在以下網站下載psexec:
http://www.sysinternals.com/Utilities/PsExec.html
(2) 定位到HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account注冊表項,雙擊打開右側的F鍵值。
(3) 這里要說明一下,Windows是以十六進制、而且以反轉形式保存下一個帳戶的RID。什麼意思呢?也就是說,如果是1004的RID,對應十六進制就是03EC,但是我們必須把它反轉過來變成EC03,再擴展為4個位元組,就是EC 03 00 00。
所以,我們應該把F鍵值的0048偏移量處,把其中四個位元組改為「EC 03 00 00」,如圖2所示。
圖2
(4) 重要:別忘了重啟計算機!
(5) 重啟以後,新建一個同名帳戶Admin,它的SID應該和以前是完全一樣。如果不相信的話,可以藉助GetSID或者PsGetSID等工具測試一下。
2.「破解」EFS
接下來的方法就非常簡單了,用新建的Admin帳戶身份登錄系統,隨便加密一個文件,然後注銷,用管理員帳戶登錄系統,把原來保留的配置文件復制到C:\Documents and Settings\Admin文件夾下。
再用Admin帳戶登錄系統,現在可以解密原來的EFS文件了。
疑難解答
1.如果已經重裝系統,那怎麼辦?
「聲明」部分提到的那篇文章里提到,如果還記得原來帳戶的密碼,並且配置文件沒有被刪除的話,還有希望。這時候可以藉助sysinternals的NEWSID工具把系統的計算機SID重設為原來的值,再用前面描述的方法構造所需的RID,這樣就可以獲得所需的帳戶SID。剩餘步驟完全一樣。
http://www.sysinternals.com/Utilities/NewSid.html
2.有用戶曾經遇到這樣的問題:登錄系統時收到提示說密碼過期,需要重設,重設密碼登錄後發現打開EFS文件。
KB890951提到這個問題。其解釋是因為在修改密碼時,系統還沒有載入配置文件(有點語焉不詳),原文如下:
This problem occurs because the user profile for the current user is not loaded correctly after you change the password.
配置文件和EFS有何相干?看完本文,大家應該知道,EFS的私鑰和主密鑰都是保存在配置文件里的。由於配置文件沒有載入,所以主密鑰的加密版本沒有得到更新(沒有跟上帳戶密碼的變化),導致主密鑰無法正確解密,從而無法解密私鑰和FEK。這就是問題的真正原因。
該KB提供了一個內部補丁,可以解決這個問題。KB890951的鏈接如下:
http://support.microsoft.com/kb/890951
3.有關公鑰的問題
為了容易理解,筆者故意忽略了公鑰。公鑰保存也保存在帳戶的配置文件里:
%UserProfile%\Application Data\Microsoft\SystemCertificates\My\Certificates
在EFS恢復的操作中,必須確保公鑰也要復制到新帳戶的配置文件里。盡管看起來公鑰與EFS解密無關(它負責加密)。
原來,加密文件$EFS屬性的DDF欄位里除了有帳戶SID和加密的FEK副本外,還有公鑰的指紋信息(Public Key Thumbprint)和私鑰GUID信息(私鑰的某種散列值)。
系統在掃描加密文件$EFS屬性中的DDF欄位時,根據用戶配置文件里的公鑰中所包含的公鑰指紋和私鑰GUID信息,當然還有帳戶的SID,來判斷該帳戶是否具有對應的DDF欄位,從而判斷該用戶是否屬於合法的EFS文件擁有者。
所以公鑰也很重要。
當然公鑰是可以「偽造」的(可以偽造出所需的公鑰指紋和私鑰GUID),以欺騙EFS系統,具體方法可以參考國外的那篇原稿,此處不再贅述。
加強EFS的安全
由於EFS把所有的相關密鑰都保存在Windows分區,所以這可能給EFS帶來一定的安全隱患。目前有一些第三方工具號稱可以破解EFS,這些工具首先攻擊SAM配置單元文件,嘗試破解帳戶密碼,從而破解帳戶密碼→主密鑰的加密密鑰→主密鑰→EFS私鑰→FEK的「密鑰鏈」。
為了防止攻擊者窺視我們的EFS文件,可以藉助以下三種方法:
1.導出刪除私鑰
可以用證書向導導出EFS加密證書和私鑰,並且在「證書導出向導」對話框里選擇刪除私鑰,如圖3所示。
圖3
刪除私鑰以後,攻擊者就沒有辦法訪問EFS加密文件了,而我們需要訪問時,只需導入先前備份的證書和私鑰即可。
2.System Key提供額外的保護
System Key可以對SAM配置單元文件和EFS私鑰提供額外保護。Windows XP的System Key默認保存在本地,我們可以運行syskey命令,強制系統將System Key保存在軟盤里,或者用啟動密碼(startup password)來生成System Key。
由於EFS「密鑰鏈」的根密鑰(System Key)沒有保存在本地計算機中, 所以攻擊者將更加難以破解EFS加密。
提示 BitLocker加密的recovery key,類似於syskey的startup password,都是藉助啟動時所輸入的一串密碼來生成所需的密鑰。
3.BitLocker提供更徹底的保護
本方法僅適用於Windows Vista(Enterprise和Ultimate Edition)。
最徹底的保護方法,首推Windows Vista新引入的BitLocker加密,這時候Windows分區的所有內容全部被加密(包括SAM配置單元、EFS密鑰)。
BitLocker(TPM1.2)加密可以看成是Windows啟動保護器。在系統啟動時,TPM晶元會負責分析各個重要的啟動組件,以判斷自己是否位於原來的計算機環境。如果是的話,就依次釋放BitLocker加密所需的密鑰鏈,我們才能順利地訪問Windows,才能訪問EFS文件。
如果攻擊者企圖把硬碟掛接到別的計算機上,系統就會拒絕釋放密鑰,整個Windows Vista分區處於加密狀態。
如果攻擊者竊取了計算機,並且竊取了BitLocker所需所有條件(TPM晶元自不必說,假設也獲得密鑰U盤)。這時候系統能夠順利引導,並且成功釋放BitLocker密鑰鏈。但是攻擊者還必須想辦法知道帳戶的密碼,否則無法登錄系統,Windows分區依然處於加密狀態。
EFS額外保護的原理如圖4所示。
圖4
4.題外話:為什麼釋放BitLocker密鑰以後,Windows分區依然處於加密狀態?
所以盡管BitLocker密鑰已經釋放,但是Windows分區並沒有被立即全部解密。否則每次啟動,都要解密整個Windows分區,得花多少時間(筆者的Vista分區完全解密,共花3小時)!
原來BitLocker加密是以一個FVE Filter Driver來實現加密和解密,該Filter Driver處於文件系統驅動的下層。登錄系統以後,用戶需要訪問文件時,文件系統會自動請求FVE Filter Driver進行解密,猜想應該是一次解密一個Block,每個Block可能是512位元組(和EFS一樣),不敢確定。對於用戶來說,這個過程是完全透明的,同時對性能的影響很小,幾乎可以忽略不計。EFS加密的情況有點類似。
寫在最後
這里非常敬佩國外微軟技術愛好者的執著,事實上該作者還有一篇經典的文章(描述SAM配置單元文件的二進制結構),鏈接如下,非常值得推薦。
很難想像,要編寫這樣的文章,得花費多少的人力和時間,要做多少的實驗才能在SAM資料庫逐個位元組地找出其對應的含義!