SQL Server 2008的加密層次結構
SQL Server 用分層加密和金鑰管理基礎結構來加密資料。每一層都使用證書、非對稱金鑰和對稱金鑰的組合對它下面的一層進行加密。非對稱金鑰和對稱金鑰可以儲存在 SQL Server 之外的可擴充套件金鑰管理 (EKM) 模組中。
下圖說明了加密層次結構的每一層是如何對它下面的一層進行加密的,並且顯示了最常用的加密配置。對層次結構的開始進行的訪問通常受密碼保護。
請記住以下概念:
為了獲得最佳效能,使用對稱金鑰(而不是證書或非對稱金鑰)加密資料。
資料庫主金鑰受服務主金鑰保護。服務主金鑰由 SQL Server 安裝程式建立,並且使用 Windows 資料保護 API (DPAPI) 進行加密。
堆疊其他層的其他加密層次結構是可能的。
可擴充套件金鑰管理 (EKM) 模組將對稱金鑰或非對稱金鑰儲存在 SQL Server 的外部。
透明資料加密 (TDE) 必須使用稱為資料庫加密金鑰的對稱金鑰,該金鑰受由 master 資料庫的資料庫主金鑰保護的證書保護,或者受儲存在 EKM 中的非對稱金鑰保護。
服務主金鑰和所有資料庫主金鑰是對稱金鑰。
下圖以另一種方式顯示了相同的資訊。
此圖說明了以下其他概念:
在此圖中,箭頭表示常用的加密層次結構。
EKM 中的對稱金鑰和非對稱金鑰可以保護對儲存在 SQL Server 中的對稱金鑰和非對稱金鑰進行的訪問。與 EKM 有關的虛線表示 EKM 中的金鑰可以替換儲存在 SQL Server 中的對稱金鑰和非對稱金鑰。
加密機制
SQL Server 提供了下列加密機制:
Transact-SQL 函式
非對稱金鑰
對稱金鑰
證書
透明資料加密
Transact-SQL 函式
插入或更新項時可使用 Transact-SQL 函式對各個項進行加密。有關詳細資訊,請參閱 ENCRYPTBYPASSPHRASE (Transact-SQL) 和 DECRYPTBYPASSPHRASE (Transact-SQL)。
證書
公鑰證書(通常只稱為證書)是一個數字簽名語句,它將公鑰的值繫結到擁有對應私鑰的人員、裝置或服務的標識上。證書是由證書頒發機構 (CA) 頒發和簽名的。從 CA 接收證書的實體是該證書的主體。證書中通常包含下列資訊。
主題的公鑰。
主題的識別符號資訊,如姓名和電子郵件地址。
有效期。這是指證書被認為有效的時間長度。
證書只有在指定的有效期內有效,每個證書都包含一個“有效期始於”和“有效期至”日期。這兩個日期設定了有效期的界限。證書超過有效期後,必須由已過期證書的主題請求一個新證書。
頒發者識別符號資訊。
頒發者的數字簽名。
此簽名用於證明主題的公鑰和識別符號資訊之間的繫結的有效性。(在對資訊進行數字簽名的過程中,資訊以及發件人擁有的一些祕密資訊將被轉換成一個稱為“簽名”的標記。)
證書的主要好處是使主機不再需要為每個主題維護一組密碼。相反,主機只需要與證書頒發者建立信任關係,然後證書頒發者就可以簽名無限數量的證書。
當主機(如安全 Web 伺服器)將某個頒發者指定為受信任的根頒發機構時,主機將隱式信任該頒發者用來建立它所發出的證書繫結的策略。也就是說,主機將相信該頒發者已經驗證了證書主題的標識。主機可以通過將頒發者自簽名的證書(其中包含頒發者的公鑰)放入主機的受信任根證書頒發機構證書儲存區,將此頒發者指定為受信任的根頒發機構。對於中間證書頒發機構或從屬證書頒發機構,只有當它們具有受信任根證書頒發機構的合法路徑時才會受到信任。
頒發者可以在證書到期之前便撤消該證書。撤消後,將解除公鑰與證書中宣告的標識之間的繫結。每個頒發者都維護一個證書撤消列表,此列表可由程式在檢查任何給定證書的有效性時使用。
由 SQL Server 建立的自簽名證書遵循 X.509 標準並支援 X.509 v1 欄位。
非對稱金鑰
非對稱金鑰由私鑰和對應的公鑰組成。每個金鑰都可以解密另一個金鑰加密的資料。非對稱加密和解密相對來說會消耗大量資源,但它們比對稱加密提供了更高的安全級別。非對稱金鑰可用於加密對稱金鑰,以便儲存在資料庫中。
對稱金鑰
對稱金鑰是加密和解密都使用的一個金鑰。使用對稱金鑰進行加密和解密非常快,適用於對資料庫中敏感資料的日常使用。
透明資料加密
透明資料加密 (TDE) 是使用對稱金鑰進行加密的一種特殊情況。TDE 使用稱為資料庫加密金鑰的對稱金鑰加密整個資料庫。資料庫加密金鑰受由資料庫主金鑰或儲存在 EKM 模組中的非對稱金鑰保護的其他金鑰或證書保護。有關詳細資訊,請參閱瞭解透明資料加密 (TDE)。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-503167/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server 2008儲存結構之PFS結構SQLServer
- SQL Server 2008儲存結構之IAM結構SQLServer
- 理解SQL Server 2008索引的儲存結構YDSQLServer索引
- SQL Server2008無法修改表結構?SQLServer
- SQL Server 2008儲存結構之GAM、SGAMSQLServerGAM
- SQL Server 2008 儲存結構之DCM、BCMSQLServer
- SQL Server 2008的選擇加密演算法SQLServer加密演算法
- dump index 的層次結構Index
- 儲存器的層次結構
- SQL Server 索引結構SQLServer索引
- WordPress模板層次02:模板層次結構和原理
- SQL Server 2008企業版中的資料庫加密SQLServer資料庫加密
- SQL SERVER 2008 CTE生成結點的FullPathSQLServer
- 繪製層次結構圖
- LB 負載均衡的層次結構負載
- 一次SQL SERVER 2008無法使用的修復SQLServer
- 【SQL Server2008新增功能小結】SQLServer
- 資料加密 第一篇:加密的分層結構加密
- SQL Server2008儲存結構之基本系統檢視SQLServer
- SQL Server2008儲存結構之物件儲存檢視SQLServer物件
- SQL Server2008儲存結構之堆表、行溢位SQLServer
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- MFC9.0層次結構圖
- SQL Server 2008的使用者架構分離SQLServer架構
- SQL Server底層架構技術對比SQLServer架構
- SQL Server 索引結構及其使用SQLServer索引
- 讀取SQL Server 表結構SQLServer
- 深入理解 Flutter 框架層次結構Flutter框架
- 六、層次結構儲存系統
- iOS10 UI教程層次結構的事件iOSUI事件
- SQL Server 加密案例解析SQLServer加密
- SQL Server 加密解密策略SQLServer加密解密
- 細說SQL Server中的加密SQLServer加密
- SQL Server 2008 sqlcmd 的使用SQLServer
- 使用SQL SERVER 2005/2008 遞迴CTE查詢樹型結構SQLServer遞迴
- WPF+SQL Server 2008 TaskVision Demo小結SQLServer
- SQL Server 索引結構詳述(1)SQLServer索引
- SQL Server 索引結構及其使用(二)SQLServer索引