SQL Server 加密

適用于:yesSQL Server (所有支援的版本) Azure SQL Database YesYes Azure SQL 受控執行個體

加密是透過金鑰或密碼的使用讓資料模糊化的程序。 這樣可以讓資料變成毫無用處,而不需要對應的解密金鑰或密碼。 加密並不能解決存取控制問題。 但是,若發生存取控制失靈的情形,加密可限縮資料遺失的風險以增強安全性。 例如,只要資料已加密,即使資料庫主機電腦設定不當而遭駭客取得敏感性資料,失竊的資訊就可能毫無用處。

重要

雖然加密是維護安全性的寶貴工具,但是不應該將它用於所有的資料或連接。 當您決定是否要實作加密時,請考慮使用者將如何存取資料。 如果使用者透過公用網路存取資料,可能需要資料加密來提高安全性。 但是,如果所有的存取都與安全的內部網路組態有關,則可能不需要加密。 每次使用加密時,都應該包含密碼、金鑰和憑證的維護策略。

注意

「傳輸層安全性」(TSL1.2) 的最新相關資訊位於 Microsoft SQL Server 的 TLS 1.2 支援

您可以在 SQL Server 中使用加密來連線、資料和預存程式。 下列主題包含SQL Server加密的詳細資訊。

加密階層
SQL Server中加密階層的相關資訊。

選擇加密演算法
有關如何選取有效加密演算法的詳細資訊。

透明資料加密 (TDE)
有關如何以透明方式加密資料的一般資訊。

SQL Server 和資料庫加密金鑰 (資料庫引擎)
在SQL Server中,加密金鑰包含公用、私人和對稱金鑰的組合,可用來保護敏感性資料。 本節將說明如何實作及管理加密金鑰。

Always Encrypted (資料庫引擎)
確保以下人員無法存取加密資料:內部部署資料庫系統管理員、雲端資料庫操作員,或其他具備高權限但未經授權的使用者。

動態資料遮罩
對不具權限的使用者遮罩敏感性資料,以限制其曝光。

SQL Server 憑證與非對稱金鑰
使用公開金鑰加密的相關資訊。

保護 SQL Server 的安全
如何協助保護SQL Server平臺的概觀,以及如何與使用者和安全性物件搭配使用。

Azure SQL Database安全性功能
的概觀Azure SQL Database保護資料、控制存取權和主動式監視的安全性概觀。

密碼編譯函式 (Transact-SQL)
有關如何實作密碼編譯函數的資訊。

ENCRYPTBYPASSPHRASE (Transact-SQL)
有關如何使用密碼來加密資料的資訊。

ENCRYPTBYKEY (Transact-SQL)
有關如何使用對稱金鑰來加密資料的資訊。

ENCRYPTBYASYMKEY (Transact-SQL)
有關如何使用非對稱金鑰來加密資料的資訊。

ENCRYPTBYCERT (Transact-SQL)
有關如何使用憑證來加密資料的資訊。

外部資源

Microsoft TechNet:SQL Server TechCenter:SQL Server 2012 安全性與保護
SQL Server安全性的目前資訊。

另請參閱

sys.key_encryptions (Transact-SQL)
SQL Server 和資料庫加密金鑰 (資料庫引擎)
備份與還原 Reporting Services 加密金鑰
啟用資料庫引擎的加密連接