SQL Server 2008企業版中的資料庫加密

iSQlServer發表於2009-02-17
通過對SQL Server 2008中的透明資料加密(TDE)的介紹,現在使用者可以選擇如同在SQL Server 2005中一樣使用單元級的加密,或者是使用TDE進行完全資料庫級加密、或者是由Windows提供的檔案級加密。TDE對於大量加密是最佳的選擇,它可以滿足調整遵從性或公共資料安全標準。TDE是檔案級的,它和兩個Windows®特性類似:檔案加密系統(EFS)和BitLocker™ Drive Encryption(驅動盤加密),在Windows Vista®中新推出的空間級加密,也都是在硬碟上加密資料。TDE沒有替代單元級加密、EFS或BitLocker。這篇文章比較了TDE和其它供應用程式開發人員和資料庫管理員使用的加密方法。這不是一篇描述TDE技術、深入概述的文章,它是一篇假設你熟悉像虛擬日誌檔案和緩衝池之類的概念,探究技術執行的文章。它假設使用者熟悉一般的單元級加密和密碼術。它描述進行資料庫加密所做的工作,而不是加密資料庫的基本原理。

  1. 導言:進行資料庫級別的加密

  透明資料加密(TDE)是在Microsoft® SQL Server™ 2008中推出的一個新的加密功能。它旨在為整個資料庫提供靜態保護而不影響現有的應用程式。對資料庫進行加密,傳統上都會涉及複雜的應用程式改動,例如修改表schemas、刪除函式和明顯的效能下降。舉例來說,要在Microsoft SQL Server 2005中使用加密,欄位資料型別必須改為varbinary;不允許進行範圍和相等搜尋;並且應用程式必須呼叫內建函式(或自動使用這些內建函式的儲存過程或檢視)來處理加密和解密,這些都會降低查詢效能。這些問題不是隻存在於SQL Server的;其它資料庫管理系統也受到相似的限制。定製schemes經常用來解決根本不能使用的相等搜尋和範圍搜尋。即使是像建立一個索引或使用外來鍵等的基本資料庫元素也通常不能與單元級或欄位級加密schemes一起使用,因為這些特性的使用會洩漏資訊。TDE簡單地加密了所有東西,從而解決了這些問題。因此,所有的資料型別、鍵、索引,等等這些可以完全使用而不必犧牲安全或洩漏磁碟上的資訊。而單元級加密不能提供這些功能、兩個Windows®特性:檔案加密系統(EFS)和BitLocker™ Drive Encryption,它通常用於和TDE同樣的原因——它們提供相同範圍的保護並對於使用者來說是透明的。

  2. Microsoft SQL Server加密

  Microsoft SQL Server提供兩個級別的加密:資料庫級別和單元級別。兩個都使用金鑰管理層次結構。

  2.1密碼金鑰層次結構

  在加密樹的根部是Windows Data Protection API(DPAPI ),它在機器級別保護金鑰層次,並用來保護資料庫伺服器例項的服務主鍵(SMK)。SMK保護資料庫主鍵(DMK),它儲存在使用者資料庫級別並反過來保護證照和非對稱金鑰。這些反過來保護對稱金鑰,對稱金鑰保護資料。TDE使用相似的層級到證照。注意區別是當你使用TDE時,DMK和證照必須儲存在主資料庫上而不是使用者資料庫中。一個只用於TDE並作為資料庫加密金鑰(DEK)的新金鑰,被建立和儲存在使用者資料庫中。

  這個層次結構使得伺服器可以自動地開啟單元級和資料庫級加密的金鑰和解譯資料。主要區別在於當使用單元級加密時,所有從DMK來的金鑰都可以用一個密碼來保護,而不是另一個金鑰。這破壞了解密鏈並強迫使用者輸入一個密碼來訪問資料。在TDE中,必須維護從DPAPI到DEK的整個鏈以便伺服器可以自動地提供對TDE所保護的檔案訪問。在單元級加密和TDE中,通過這些金鑰的加密和解密是由Windows Cryptographic API(CAPI)提供的。

  下面的圖片顯示了完整的加密層次結構。虛線顯示了TDE所使用的加密層次結構。

  SQL Server 2008企業版中的資料庫加密

  圖1: 使用TDE和EKM的SQL Server加密金鑰層級

  2.2 TDE

  透明資料加密是SQL Server 2008推出的新的資料庫級加密特性。

  2.3怎麼使TDE可用

  為了使TDE可用,你必須具有和在主資料庫中建立資料庫主鍵和證照相關的一般許可權。你還必須具有對使用者資料庫的CONTROL許可權。

  使TDE可用

  在主資料庫中執行下面的步驟:

  1. 為主資料庫建立一個資料庫主鍵(DMK),如果它還不存在的話。確保資料庫主鍵是用服務主鍵(SMK)加密的。

  CREATE MASTER KEY ENCRYPTION BY PASSWORD = ‘some password’;

  2. 建立或指派一個現有的證照作為資料庫加密金鑰(DEK)保護者來使用。為了獲得最好的安全保護,推薦你建立一個新的證照,它的唯一作用就是保護DEK。確保這個證照是由DMK保護。

  CREATE CERTIFICATE tdeCert WITH SUBJECT = ‘TDE Certificate’;

  3. 用私鑰建立一個證照備份並將它儲存在一個安全的地方。(注意私鑰儲存在一個單獨的檔案中——確保儲存好這兩個檔案)。確保維護證照的備份,因為有可能發生資料丟失。

  BACKUP CERTIFICATE tdeCert TO FILE = ‘path_to_file’

  WITH PRIVATE KEY (

  FILE = ‘path_to_private_key_file’,

  ENCRYPTION BY PASSWORD = ‘cert password’);

  4. 可選的,使伺服器上SSL可用,以在傳輸過程中保護資料。

  在使用者資料庫中執行下面的步驟。這些要求在資料庫上具有CONTROL許可權。

  5. 建立由上面第二步所指派的證照加密的資料庫加密金鑰(DEK)。這個證照作為伺服器證照以和其它可能儲存在使用者資料庫中的證照相區別。

  CREATE DATABASE ENCRYPTION KEY

  WITH ALGORITHM = AES_256

  ENCRYPTION BY SERVER CERTIFICATE tdeCert

  6. 使TDE可用。這個命令開啟了一個後臺程式(加密掃描),它以非同步方式執行。

  ALTER DATABASE myDatabase SET ENCRYPTION ON

  為了監控程式,查詢sys.dm_database_encryption_keys 檢視(要求具有VIEW SERVER STATE許可權),如下面例子所示:

  SELECT db_name(database_id), encryption_state

  FROM sys.dm_database_encryption_keys

  2.4資料是怎麼加密的

  當TDE可用(或不可用),資料庫標識為在sys.databases範疇檢視加密,並且DEK狀態設定為Encryption In Progress。伺服器開啟一個後臺程式(叫做加密掃描或掃描),它掃描所有的資料庫檔案並加密它們(或解密它們,如果你設定TDE不可用)。當DDL執行時,對資料庫施加了一個更新鎖。加密掃描是和DDL非同步的,它使用了一個共享鎖。所有不和這些鎖衝突的一般操作都可以執行。不能執行的操作包括修改檔案結構和分離資料庫。如果一般的從緩衝池到磁碟的資料庫寫被加密了,那麼日誌檔案寫可能沒有加密。掃描還使得在虛擬日誌檔案上執行了一個rollover以確保未來的寫日誌是被加密的。這在本篇文章的後面將會詳細描述。

  當加密掃描完成時,DEK狀態被設定為Encrypted(已加密)。這時磁碟上的所有資料庫檔案都加密了,並且資料庫和日誌檔案到磁碟的寫也將進行加密。支援的加密演算法有128位、192位或256位金鑰的AES或3 Key Triple DES。資料是以密碼塊連結(CBC)加密模式加密的。寫到磁碟的已加密資料庫檔案和沒有加密的檔案是一樣大小的,因為沒有要求新增額外的東西,並且初始化向量(IV)和加密的DEK儲存在已有的空間內。因為日誌是新增到下一個VLF邊界,所以日誌的大小增加了。注意當資料庫狀態標識為可加密的時候,加密的實際狀態應該通過DEK狀態來進行監控。當後臺掃描完成時,DEK狀態設定為Encrypted。這時,未來的到日誌和磁碟的寫操作會受到保護。這在這篇文章的後面進行了詳細描述。

  2.5什麼是已加密

  TDE通過緩衝池在I/O 級別操作。所以,任何寫到資料庫檔案(*.mdf)中的資料都被加密。快照和備份也被設計成會利用TDE所提供的加密,因此它們也在磁碟上被加密。但是在使用的資料卻沒有進行加密,因為TDE不提供記憶體或傳輸級別的保護。事務日誌也受到保護,但是需要需要額外的申請。

  對於在使用中的資料,當它們被讀取和儲存到緩衝池中時所有的頁面都被解密,在記憶體中是清楚的文字形式。作業系統可能將資料記憶體溢位看作是記憶體管理的一部分。在這個過程中,解密的資料可能會寫到磁碟上。Windows和SQL Server可以配置為防止記憶體寫到磁碟,不過這樣的效能成本會很高。其它作業系統動作例如休眠和崩潰轉儲還會使得從記憶體寫到磁碟上。傳輸中的資料沒有受到保護,因為這個資訊在到達以前已經是解密的了;應該使得SSL可以保護伺服器和任何客戶端之間的通訊。

  當資料庫頁面檔案寫到磁碟上時,檔案頭並沒有和其它資料一起加密,因為這個資訊對於頁面來說是需要重新載入的。頭包含了狀態細節,例如資料庫相容性級別、資料庫版本、映象狀態,等等。任何重要的資料(例如DEK)在它插入到頭之前都進行了加密。頭還包括了一個資料損壞校驗(CRC)。使用者可以擁有一個對純文字的校驗和一個對加密文字的校驗。這不是一個密碼校驗;它只監測資料損壞(檢檢視看資料是否是可讀的),而不是資料完整性(檢檢視看資料是否被修改了)。所有的其它使用者資料都是儲存在加密的資料庫頁面上,包括所有未被使用的(或之前刪除的)資料,以避免資訊洩漏。當TDE在任何使用者資料庫上都可用時,加密還自動地可用於臨時資料庫(tempdb)。這避免了使用者資料庫使用的臨時物件洩漏到磁碟上。除了tempdb之外系統資料庫現在還不能使用TDE加密。

  I/O 級的加密還允許快照和備份被加密。因此資料庫建立的所有快照和備份都將通過TDE進行加密。當寫檔案時用來保護DEK的證照必須儲存在伺服器上用於那些檔案進行恢復或重新載入。因此,你必須維護所有證照使用的備份,而不僅僅是最新的證照。

  事務日誌更加複雜。因為事務日誌是旨在保證一次性失敗安全的,TDE不對已經寫到磁碟的日誌進行加密。類似的,由於這個一次性寫原則日誌頭不能被重寫,因此寫到日誌的資料不會受到保護,即使是在TDE可用之後進行加密了的資料。TDE後臺掃描使得日誌前進到下一個VLF邊界,這使得金鑰可以儲存在頭裡面。這時,如果檔案掃描也完成了,那麼DEK狀態改變為Encrypted並且所有後來的寫日誌都會被加密。

  2.6對資料庫的影響

  TDE旨在儘可能的透明。不需要任何應用程式改動,對於使用者來說使用一個TDE加密的資料庫和一個非加密的資料庫是覺察不出區別的。

  如果資料庫有任何只讀的檔案組,那麼TDE操作是不被允許的,但是TDE可以用於只讀檔案組。為了使TDE在具有隻讀檔案組的資料庫上可用,首先檔案組必須設定為允許寫。在加密掃描完成之後,檔案組可以設定回只讀的。金鑰改變或解密必須以相同的方式執行。

  TDE產生的效能影響是較小的。因為加密發生在資料庫級別,資料庫可以平衡索引和金鑰以做到查詢最優化。這使得可以進行全範圍和相等掃描。在使用樣例資料和TPC-C執行測試時,整個效能影響估計為3-5%,並且如果訪問的資料大多儲存在記憶體中的話還可能低很多。加密是CPU進行的在I/O執行的。因此,具有較低I/O和一個較低CPU負載的伺服器的效能影響是最小的。CPU佔有率高的應用程式將導致效能大大下降,估計大約為28%。主要成本是在CPU利用方面,所以如果CPU佔有量足夠低的話,即使應用程式或伺服器佔有較高的I/O也不會受到太大的影響。而且,因為初始加密掃描啟動了一個新的執行緒,這時效能會受到極大的影響;可能檢視查詢執行會差幾個數量級。對於磁碟空間問題,TDE沒有將資料庫檔案放到磁碟上,儘管它將在之前資料是怎樣加密的中提到的事務日誌放到磁碟上。

  TDE不是一種訪問控制。所有具有訪問資料庫許可權的使用者仍然可以訪問;他們不需要被賦予許可權或提供一個密碼來使用DEK。

  TDE只在SQL Server 2008企業版和開發者版本中可用。在其它版本中使用的資料庫不能使用TDE來加密,並且TDE加密的資料庫不能使用在其它版本中(伺服器在進行連線或恢復時會報錯)。

  2.7資料庫備份

  當在一個資料庫上TDE可用時,所有的備份都被加密。因此,必須特別注意要確保用來保護DEK的證照(看怎樣是TDE可用)備份了,並與資料庫備份一起維護。如果這個證照(或這些證照)丟失了,資料將無法讀取到。將證照與資料庫一起備份。每一個證照備份應該包含兩個檔案;這兩個檔案都應該可以存檔(理想情況是與資料庫備份檔案分離開來以備安全)。或者,考慮使用外部金鑰管理(extensible key management,EKM)特性(檢視外部金鑰管理)來儲存和維護TDE所使用的金鑰。

  2.8其它的寫到磁碟特性

  如果一個特性是從緩衝池寫到磁碟,那麼資料是受保護的。特性直接從緩衝池外部寫到檔案必須手動管理加密和解密。因此,舊版本的全文搜尋,以及甚至是新的檔案流特性都不被TDE保護。

  2.9單元級加密

  SQL Server 提供了單元級的加密。單元級加密是在Microsoft SQL Server 2005中推出的,現在仍然受到完全支援。單元級加密是作為一系列內建函式來執行的,具有一個金鑰管理層次結構。使用這個加密是一個手動處理過程,它需要重新設計應用程式架構來呼叫加密和解密功能。此外,schema必須進行修改,使得資料儲存為varbinary,然後在讀取的時候將它改回適當的資料型別。加密的傳統限制是存在於這個方法之中的,就是不能使用自動的查詢優化技術。

  2.10與TDE相比較

  單元級加密與資料庫級加密相比多了一些優勢。它提供一個更細粒度級別的加密。此外,資料直到使用的時候才解密(呼叫一個解密內建函式),以便即使是一個頁面載入到記憶體,敏感資料也不是清晰的文字。單元級加密還允許顯示金鑰管理。金鑰可以指派給使用者並用密碼來保護,以防止自動解密。這提供了另一個控制級別(使用者掃描,例如,對他們各自的資料具有各自的金鑰);然而,管理員要維護這些金鑰所有加重了負擔(儘管外部金鑰管理——在本篇文章的後面回進行描述——還可以用來幫助管理)。因為單元級加密是高度可配置的,對於具有明確安全要求的應用程式來說它可能是很適合。

  單元級加密的主要缺點是應用程式要使用它就需要進行改動、以及效能影響和管理成本。正如前面說過的,加密和解密要求你使用內建函式。這完全是一個手動處理過程,它要求varbinary資料型別;這意味著欄位必須從它們的原始資料型別改為varbinary。在安全方面,加密總是會加入些東西,所以相同的資料加密後會得到不同的值。結果,參考一致性例如外來鍵和候選鍵例如主鍵對這些加密的欄位不能產生任何作用。這也影響了查詢優化——加密欄位上的索引沒有了作用,所以範圍和相等檢索變成了全表掃描。TDE使得可以使用索引和其它傳統的查詢優化工具,以及批量執行加密。

  一個大略的比較,使用單元級加密執行一個相當基本的查詢(選擇和解密一個單獨的加密欄位)大概會差20%。這反過來擴大了工作負載的規模,導致效能比加密整個資料庫時下降了幾個數量級。一個具有10,000行的樣例應用程式比一個加密欄位差了四倍,比九個加密欄位差了20倍。因為單元級加密是為每一個應用程式定製的,所以效能下降將很大程度上取決於應用程式和工作負載的特性。正如在對資料庫的影響中提到的,平均下來它是TDE的3-5%,最壞情況下是28%(假設沒有執行加密掃描)。

  儘管這些對於單元級加密的效能考量可以通過清晰的應用程式設計來減輕,但是要更加註意防止資料的意外洩漏。例如,假設有一個快速的scheme 可以使用敏感資料的雜湊資料來進行快速相等檢索。如果這些雜湊資料是儲存在和加密資料一起的一個欄位中,那麼如果兩行具有同樣的值它就會變得很清楚,因為雜湊是一樣的。必須進行額外的安全審查,以確保不會發生無意識的資料洩漏,所以資料庫和應用程式都必須確認是安全的。TDE通過最大範圍的加密從而防止這些資料洩漏的發生。在單元級加密和資料庫級加密中,資訊都是在伺服器上解密的;解密資料是以文字形式傳送到客戶端的。推薦使用SSL來保護這個鏈路。

  2.11 TDE的推薦用法

  單元級加密可以用於深度保護使用TDE加密的資料庫和通過使用密碼來限制訪問控制。通過這個方式,即使TDE或驗證被破壞了,如果資料用一個密碼從根部進行了加密以便它不容易被訪問到,那麼資料也可能是安全的。如果使用單元級加密的所有缺點都發生了,那麼使用單元級加密和TDE可能對高敏感資料的子集是很有用的。

  一般情況下,TDE和單元級加密完成兩個不同的目標。如果要加密的資料數量非常小或者應用程式可以定製設計來使用它(或如果應用程式具有定製設計要求)並且不用考慮效能影響,那麼推薦使用單元級加密而不是TDE。否則,推薦使用TDE進行加密現有的應用程式或對效能要求嚴格的應用程式。此外,單元級加密可用於SQL Server的所有版本,而TDE只能用於SQL Server 2008企業版和SQL Server 2008開發者版本。

  2.12 外部金鑰管理

  外部金鑰管理((EKM)是SQL Server 2008的另一個新特性。它使得密碼金鑰層級的各個部分可以用外部源來管理——例如硬體安全模組(HSM)——作為一個加密提供商。使用這些金鑰的加密和解密操作通過加密提供商來進行處理。這提供了在加密提供商中的靈活性和選擇,以及公鑰管理。TDE支援EKM所提供的非對稱金鑰。TDE不支援其它形式的非對稱金鑰,並且資料庫證照目前不能通過EKM提供。EKM通過對稱金鑰和非對稱金鑰提供對單元級加密的支援。極力推薦你使用EKM和資料庫級加密與單元級加密以獲得更全面的金鑰管理和基於硬體的加密(如果可能的話通過HSM)。

  3. Windows檔案加密

  Windows根據它安裝的是那個版本,提供了兩個粒度檔案保護。在大多數的Windows 2000釋出版本和後來的版本(包括Windows Vista®)中,可以使用檔案加密系統(EFS)。EFS在檔案級加密資料。BitLocker是一個新技術,它在空間級加密資料。它在Windows Vista Enterprise Edition、Windows Vista Ultimate Edition和Windows Server® 2008的所有版本中都可用。

  3. 1檔案加密系統

  EFS是Windows 2000中推出的一個檔案加密特性。像SQL Server中的加密一樣,EFS依賴於Windows Cryptographic API(CAPI)。檔案和資料夾都可以標記為已加密的,儘管加密實際上只發生在檔案級。每一個檔案都由一個單獨的檔案加密金鑰(FEK)進行加密,就像在TDE中每一個資料庫用一個單獨的DEK加密一樣。FEK由使用者的證照保護,和證照怎樣保護DEK類似。EFS證照指派給一個使用者,而概念上來講TDE證照是一個伺服器級的物件。可用多個證照來加密FEK,這使得不止一個使用者可以訪問檔案。當使用EFS和SQL Server時,資料庫伺服器服務帳戶必須具有訪問檔案加密金鑰來加密任何資料庫檔案的許可權,以便它可以讀取這個檔案。這不能作為一種訪問控制的形式——無論登陸帳戶怎樣,服務帳戶是用來讀取資料庫檔案的。

  3. 2與TDE相比較

  作為一個作業系統級別的加密特性,EFS具有一些優點。TDE只限於資料庫檔案,而EFS允許非資料庫和甚至是資料夾級別的加密,這使得它可以進行更廣泛的加密。金鑰管理提取到作業系統,這使得使用者可以利用Windows證照儲存。如果金鑰丟失了,那EFS會提供一個資料恢復路徑,而TDE現在還沒有類似的解決方案。

  EFS與TDE相比的缺點,主要是在效能和管理方面。EFS不是旨在高併發的隨機訪問(它不支援prefetch或非同步I/O)。因此,I/O操作可能會成為瓶頸並連續執行。雖然這在一般情況下影響很小,但它已經成為了關注資料庫使用的一個原因。EFS要求在作業系統級的檔案管理許可權,而這是資料庫管理員可能不具有的。因為保護是由EFS進行的,所以分離資料庫、備份資料庫或新增檔案組可能就不受保護,如果這些檔案是放在EFS所不保護的地方的話。還有,EFS的執行可能隨著版本釋出而改變。這通常不是問題,因為EFS主要用在一個單獨的計算機上用於一個單獨的使用者,但是它也是需要考慮的。

  3. 3 TDE的推薦用法

  EFS最好用在資料庫只被少量使用者使用的移動PC、桌面或工作站上。由於效能考慮,EFS一般不推薦與TDE一起使用,儘管沒有什麼阻止EFS和TDE一起使用(或者一般情況下與SQL Server一起使用)。當效能不是問題和當希望進行深度防範的時候,EFS和TDE一起使用就是一個可行的選擇。EFS還可以用來代替TDE進行檔案組級別的粒度。還有,因為它在資料夾級別進行保護,所以EFS可以用來保護一些當資料寫到磁碟上去的特殊情況。在效能是一個主要考量的情況下,不推薦EFS和SQL Server一起使用。

  3. 4 BitLocker驅動盤加密

  BitLocker是在Windows Vista Enterprise Edition、Windows Vista Ultimate Edition和Windows Server 2008的所有版本中所包含的一個空間加密特性。預設情況下,如果有可用的可信平臺模組(TPM),那麼BitLocker利用它來提供匯入完整性保護。

  3. 5 BitLocker和EFS

  EFS和BitLocker的比較超出了本篇文章要討論的範圍,因為它們都是複雜的技術,需要講述很多細節,沒有辦法在這裡一一介紹到。一般情況下,EFS旨在保護使用者資料,而BitLocker 旨在保護空間和系統資料。在Microsoft SQL Server 效能方面,BitLocker 的磁碟讀寫延遲較低,沒有EFS所具有的併發問題。

  3. 6與TDE相比較

  BitLocker和TDE都是主要保護離線攻擊。BitLocker進行空間級保護,所以當伺服器是聯機狀態時,空間是開放狀態,儘管沒有解密。像EFS一樣,BitLocker具有一個資料恢復機制,而TDE現在還沒有這個機制。使用BitLocker的優勢在於易於管理、提取金鑰管理和透明性。缺點是這個保護只擴充套件到空間保護。分離或備份資料庫到一個不受EFS或BitLocker保護的不同空間上會引起檔案失去現在所具有的任何保護。BitLocker的其它缺點是保護的寬度。因為整個空間都是開放的,任何具有可訪問磁碟上檔案的計算機訪問許可權的使用者都可以以文字形式訪問這些資料。和TDE類似的,BitLocker依賴於訪問控制的其它機制(例如TDE所使用的資料庫許可權和BitLocker所使用的Windows檔案許可權)。而使用EFS,資料庫管理員可能不具有管理BitLocker所必要的許可權。

  3. 7 TDE的推薦用法

  BitLocker沒有與EFS相關的類似效能考量,所以推薦你採用TDE和BitLocker進行深度防範。正如在之前討論的,存在記憶體可能被寫到磁碟的情況,例如休眠或崩潰轉儲。此外,其它的特性可能寫到TDE外的磁碟上。BitLocker可用於減輕這些狀況程度。

  4.總結

  那些找尋資料庫級別加密的人們在SQL Server和Windows中有很多選擇。這些選擇不是相互排斥的。在SQL Server和Windows中可用的不同加密級別可以用來提供深度防範和更好的全面安全保護。透明資料加密提供了良好的易於管理、易於使用、良好的效能和安全性。TDE還提供了一個全面防範,因為資料庫會保持加密,即使它移到另一個地方去。備份和快照不需要伺服器管理員提供支援就受到保護。EFS和BitLocker無論是和TDE結合使用還是作為單獨的加密系統都是有效的解決方案。TDE不是為了替代這些解決方案。單元級加密提供了更多的細粒度控制,包括要犧牲效能、易於使用和管理的顯示金鑰管理。BitLocker和EFS在TDE不提供崩潰轉移或休眠檔案時提供保護(如果保護系統空間或系統資料夾)。BitLocker和EFS(以及更受限的單元級加密)可以用來保護系統資料庫(master、model、resource和msdb),而TDE現在還不能做到。EFS一般更有效,因為TDE只能用在SQL Server 2008企業版或SQL Server 2008開發者版本,而BitLocker只在Windows Vista Enterprise、Windows Vista Ultimate或Windows Server 2008中可用。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-553575/,如需轉載,請註明出處,否則將追究法律責任。

相關文章