Windows系統下EFS加密解密原理分析
EFS加密是windows系統自帶的加密方式,一個系統使用者對檔案加密後,只有以該使用者的身份登陸才能讀取該檔案。EFS加密的檔案和資料夾名字顏色是綠色,或者在該檔案或資料夾的高階屬性是加密屬性。這樣做在很大程度尚提高了資料的安全性,但是如果祕鑰檔案丟失或者重灌系統就會導致加過密的檔案不能開啟,今天的教程主要介紹的就是如果電腦使用ESF加密後卻因為其他原因導致無法開啟檔案,我們應該怎麼解密。
EFS加密原理介紹
要想解密,我們首先要了解是怎麼加的密,下面介紹EFS加密原理。
當我們使用EFS對一個NTFS檔案進行加密時,Windows系統會生成一個偽隨機數FEK(也就是檔案加密的鑰匙),用這個FEK對檔案進行加密同時將檔案的原位進行覆寫,隨後系統利用公鑰再進行一次對FEK的加密,加密後的FEK儲存在加密檔案的EFS屬性中。
使用者訪問被加密的檔案時,系統是利用私鑰先解密FEK,再使用FEK解密檔案,這裡我們所說的公鑰和私鑰統稱為祕鑰,如果使用者登入到了域環境中使用,那麼決定祕鑰生成的是域控制器,如果使用者沒有登入域環境,那麼祕鑰的生成依賴於本地機器。
通常情況下要解密EFS加密的檔案需要依賴於使用者私鑰,私鑰儲存在Windows分割槽的Documents and Settings\%UserName%\Application Data\Microsoft\Crypto\RSA\%UserSID%路徑下,這個SID是一個安全的識別符號,用來表示賬號唯一特徵,在賬號建立時由Windows系統分配。Windows系統為保護私鑰還會對私鑰再進行一次加密,稱為主金鑰,主金鑰位於Windows分割槽的Documents and Settings\%UserName%\Application Data\Microsoft\Protect\%UserSID%,然後再用使用者密碼生成的金鑰對主金鑰進行加密。
簡單對上述這一加密過程進行歸納就形成了“使用者密碼->主金鑰->私鑰->FEK->EFS加密檔案”的加密鏈。如果想要對EFS進行解密,我們需要得到的資訊包括使用者密碼、主金鑰、私鑰。
EFS無祕鑰情況下解密思路
-
檢視現有系統佔用空間情況,查詢或重組加密FEK的私鑰、主金鑰、
-
檢視現有mft檔案目錄的佔用空間,根據使用者密碼進行校驗匹配,解密使用者檔案,
-
對解密出來的檔案進行校驗和邏輯分析,提取所需資料即可。
-
如果使用EFS對檔案進行了加密,應該及時將祕鑰進行備份並妥善保管。
-
如果EFS祕鑰檔案丟失應停止繼續使用計算機,降低祕鑰被覆蓋的可能。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31380569/viewspace-2667080/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- EFS加密加密
- EFS加密文件無法開啟的解決原理和方法加密
- faust勒索病毒攻擊加密Windows系統的方式,勒索病毒解密資料恢復加密Windows解密資料恢復
- RSA加密解密原理深度剖析(附CTF中RSA題型實戰分析)加密解密
- Https 加密原理分析HTTP加密
- 加密解密加密解密
- PHP加密解密PHP加密解密
- js加密解密JS加密解密
- AES加密解密加密解密
- AES 加密&解密加密解密
- Linux ubi子系統原理分析Linux
- Windows 系統下使用grep 命令Windows
- Windows系統檔案被faust勒索病毒加密勒索病毒解密恢復,電腦中病毒了怎麼修復?Windows加密解密
- php mcrypt 加密 解密PHP加密解密
- Javascript 加密解密方法JavaScript加密解密
- AES CBC 加密解密加密解密
- RSA加密與解密加密解密
- Linux下實現 OpenSSL 簡單加密與解密字串Linux加密解密字串
- windows10系統怎麼關閉硬碟加密功能Windows硬碟加密
- Java加密解密瞭解Java加密解密
- android加密解密完美教程Android加密解密
- 線上加密/解密工具加密解密
- 影像的加密與解密加密解密
- 分析針對EFS加密檔案無法開啟的情況資料恢復的解決方式加密資料恢復
- Windows系統被faust勒索病毒攻擊勒索病毒解密伺服器與資料庫解密恢復Windows解密伺服器資料庫
- Windows10 VS2017 C++使用crypto++庫加密解密(AES)WindowsC++加密解密
- win10系統下給磁碟加密的方法Win10加密
- Windows10系統怎麼啟用bitlocker驅動器加密Windows加密
- PHP Base64 加密 & 解密PHP加密解密
- php rsa長文加密解密PHP加密解密
- utf8 加密與解密加密解密
- Python AES 加密和解密(qbit)Python加密解密
- golang AES-CBC 加密解密Golang加密解密
- python AES-CBC 加密解密Python加密解密
- golang securecookie加密解密cookie值GolangCookie加密解密
- RSA 非對稱加密&解密加密解密
- Quartz原理解密quartz解密
- 文字加密:常見的密碼加密解密方法加密密碼解密