Can you summarize the following document?
        
  很長一段時間以來,作業系統執行在一個沒有檔案加密的系統上,訪問檔案不得不只通過作業系統控制的使用者身份驗證和訪問控制列表。如果攻擊者取得了計算機的物理訪問權,那麼這些障礙都可以被輕易繞過。方法之一就是移除磁碟並將其放在另一個計算機中,用它的作業系統讀取讀取檔案系統,或者從一個可引導光碟重啟計算機來讀取檔案系統。  最廣泛的可接受方案是將檔案加密儲存在物理介質上(磁碟、USB驅動器、磁帶、光碟等)。  在微軟Windows作業系統家族中,EFS可完成這項舉措,儘管只能在NTFS驅動器上。它使用公鑰加密演算法和對稱金鑰加密的組合保證沒有正確的金鑰將極難解密檔案。  但是,EFS的加密金鑰在實踐中使用使用者帳戶的密碼保護,並因此容易受到大多數密碼攻擊。

  EFS使用對稱金鑰加密檔案,這被稱為檔案加密金鑰(File Encryption Key),簡稱FEK。使用對稱加密演算法是因為加密和解密大量資料時這比使用非對稱金鑰密碼本消耗更少的時間。在不同的作業系統版本和配置上將使用不同的對稱加密演算法,見下面的Algorithms used by Windows version。FEK(用來加密檔案的對稱金鑰)然後會使用一個與加密檔案的使用者相關聯的公鑰加密,加密的FEK將被儲存在加密檔案的$EFS可選資料流。要解密該檔案,EFS元件驅動程式使用匹配EFS數字證書(用於加密檔案)的私鑰解密儲存在$EFS流中的對稱金鑰。EFS元件驅動程式然後使用對稱金鑰來解密該檔案。因為加密和解密操作在NTFS底層執行,因此它對使用者及所有應用程式是透明的。  內容要被加密的資料夾會被檔案系統標記為“加密”屬性。EFS元件驅動程式會檢查此“加密”屬性,這類似NTFS中檔案許可權的繼承:如果一個資料夾標記為加密,在裡面建立檔案和子資料夾就預設會被加密。在加密檔案移動到一個NTFS卷時,檔案會繼續保持加密。但是,在許多情況下,Windows可能不需詢問使用者就解密檔案。  被複制到另一種檔案系統(如FAT32)的檔案和資料夾會被解密。最後,加密的檔案使用SMB/CIFS協議通過網路複製時,檔案在傳送到網路前會被解密。  避免“複製時解密”的最有效方法是使用支援“原始資料”API的備份軟體。使用Raw API的備份軟體會直接複製已加密檔案的流和$EFS備用資料流為單個檔案。換句話說,這些檔案以加密形式被“複製”,備份過程中不牽扯解密。  從Windows Vista開始,使用者的私鑰可以儲存在智慧卡上;資料恢復代理(DRA)金鑰也可以儲存在智慧卡上。

  

  在Windows 2000的EFS中存在兩個重大安全漏洞。在那之後有遭遇不同程度的各種攻擊。

  在Windows 2000中,本地的administrator是預設的“資料恢復代理”,它可以解密任何本地使用者用EFS加密的所有檔案。在Windows 2000中的EFS在沒有“恢復代理”時不能正常運作,所以始終有一個人可以解密使用者已加密的檔案。任何未加入域的Windows 2000計算機將容易受到未授權的EFS解密,任何能取得本地Administrator帳戶許可權的人都可以做到,而網際網路上有許多工具可以做到這點。  在Windows XP及之後的版本中已經沒有預設的“資料恢復代理”並且不再強制需要它。設定SYSKEY為模式2或3(在啟動時鍵入syskey或插入相應軟盤)將緩解未經授權的通過本地Administrator帳戶解密的風險。這是因為本地使用者密碼進行了雜湊處理,儲存在SAM檔案中,並使用Syskey加密,而且Syskey的值對於無法接觸Syskey口令/軟盤的離線攻擊者不可用。

  在Windows 2000中,使用者的RSA私鑰只儲存在“真正”的加密形式中,但使用者的RSA私鑰備份存在更脆弱的保護。如果攻擊者能物理訪問Windows 2000計算機並重置本地帳戶的密碼,攻擊者可以登入為該使用者(或恢復代理)並獲得可解密所有檔案的RSA私鑰的許可權。這是因為RSA私鑰使用一個LSA私鑰加密,而可提升登入到LocalSystem的攻擊者可以訪問它,獲取相關工具並不困難。  在Windows XP及之後版本,使用者的RSA私鑰使用一個離線公鑰來備份,與該公鑰對應的私鑰儲存在下列位置之一:密碼重置磁碟(如果該Windows XP不是一個域成員),活動目錄(如果該Windows XP是一個域的成員)。這意味著可以通過Windows XP本地系統身份驗證的攻擊者仍無法訪問儲存在PC硬碟上的解密金鑰。  在Windows 2000、XP或更新版本中,使用者的RSA私鑰使用使用者的NTLM密碼雜湊加使用者名稱雜湊來加密——加鹽的雜湊使得在未獲知使用者密碼的情況下,很難逆轉此過程並得出使用者的私鑰。同樣,將系統模式設定為模式2或模式3(在啟動時鍵入或通過軟盤提供系統金鑰)將緩解此攻擊,因為本地使用者的密碼雜湊儲存在SAM檔案中。

  一旦使用者已成功登入,訪問他的EFS加密檔案的請求都不會要求身份驗證,解密會靜默、透明完成。因此,任何被攻破的使用者密碼都將自動允許訪問資料。Windows可以使用可逆加密儲存使用者帳戶密碼,不過這已不是預設情況;它還可以配置為儲存本地使用者帳戶密碼的Lan管理器雜湊,並且這在Windows XP和更早版本的原版中是預設行為,這可以被攻擊和更容易攻破。它還儲存本地使用者帳戶密碼的NTLM雜湊,如果密碼較弱,這可能使用“彩虹表”輕易攻破(Windows Vista和之後版本預設不允許弱密碼)。為了避免本地密碼遭受暴力破解,舊版本的Windows應該配置為永不儲存LM雜湊(在組策略的安全設定部分),當然,更不能啟用自動登入(那會在登錄檔中儲存明文密碼)。此外,使用超過14個字元的本地使用者帳戶密碼可避免Windows在SAM中儲存LM雜湊——以及加強對NTLM雜湊的暴力攻擊的抵抗性。  當使用EFS加密檔案時,即將明文檔案轉換為加密檔案時,明文檔案並不會被擦除,而只是被標記為已刪除(即在檔案系統中標記為“未使用”資料)。這意味著,除非它恰好儲存在一個支援TRIM的SSD上,從而(或者因其他設定)被儘快覆蓋,否則會容易找回它們。為充分減少對EFS這個已知的、非技術性的問題,你應該在資料夾級別配置加密(以便使在這些資料夾中建立檔案時即被加密,而不是被移動和留下一份明文檔案的殘留)。當想要加密單個檔案時,加其複製到一個加密的資料夾或者加密的檔案中,然後有效地擦除原儲存卷。使用者可以使用Windows Cipher實用工具(配以/W選項)或其他工具來有效擦除磁碟上的可用空間。  任何可以取得管理員許可權的人都可以覆蓋、更改Data Recovery Agent的配置。這是一個非常嚴重的問題,因為攻擊者可能侵入管理員帳戶並將精心設計的任何DRA證書設定為資料恢復代理,並等待。這有時被稱為雙階段攻擊(two-stage attack),其與PC遺失或被盜的風險顯著不同,更突出內部的惡意人士所產生的風險。  當使用者在這種攻擊的第一階段後對檔案加密時,將自動使用指定的DRA公鑰加密FEK。攻擊者只需要以管理員身份訪問此計算機,就能對隨後使用EFS加密的檔案進行完全訪問。即使已使用Syskey模式2或模式3,也並不能防止這種攻擊,因為攻擊者可以將加密檔案離線備份並還原到其他地方,然後使用DRA的私鑰解密檔案。當然,如果有惡意人員可以物理訪問計算機,那麼您也可以考慮所有的安全功能都將失效,因為他們也可以在計算機上安裝Rootkit、特殊軟體,或者硬體鍵盤記錄器等。在惡意攻擊中,這可能比覆蓋DRA策略更為有效和全面。

  使用EFS加密的檔案只能使用匹配之前所用公鑰的RSA私鑰解密。使用者的私鑰副本本質上是使用使用者的登入密碼保護。從Windows外的其他作業系統(比如Linux)訪問加密的檔案是不可能的——不只是因為目前沒有第三方的EFS元件驅動程式。此外,使用特殊工具重置使用者的登入密碼以解密使用者的私鑰和訪問使用者的加密檔案也是不可能的。這也意味著使用者有可能導致資料丟失,如果使用者忘記了自己的密碼並且沒有備份加密金鑰。這成就了一個術語——“延遲的回收站”,它表示沒有經驗的使用者使用此功能加密檔案似乎會不可避免的在未來遇到資料丟失。  如果EFS配置為使用一個公鑰基礎設施簽發的金鑰,並且PKI配置為啟用“金鑰存檔和恢復”,可以先恢復私鑰檔案,然後恢復加密檔案。

  

  沒有其他作業系統或檔案系統原生支援EFS。

  Windows EFS支援一系列對稱加密演算法,加密檔案時使用的演算法取決於Windows版本:
加密檔案系統(英語:Encrypting File System,縮寫EFS)是微軟Windows在NTFS3.0中引入的一個功能,它提供檔案系統級加密。此技術使檔案支援透明加密以保護機密資料免受具有物理訪問許可權的攻擊者侵害。