SQL Server 加密
適用於:SQL Server Azure SQL 資料庫 Azure SQL 受控執行個體
加密是透過金鑰或密碼的使用讓資料模糊化的程序。 此程序會讓資料變成毫無用處,而不需要對應的解密金鑰或密碼。 加密並不能解決存取控制問題。 但是,若發生存取控制失靈的情形,加密可限縮資料遺失的風險以增強安全性。 例如,只要資料已加密,即使資料庫主機電腦設定錯誤而遭駭客取得敏感性資料,失竊的資訊就可能毫無用處。
雖然加密是維護安全性的寶貴工具,但是不應該將它用於所有的資料或連接。 當您決定是否要實作加密時,請考慮使用者將如何存取資料。 如果使用者透過公用網路存取資料,可能需要資料加密來提高安全性。 但是,如果所有的存取都與安全的內部網路組態有關,則可能不需要加密。 每次使用加密時,都應該包含密碼、金鑰和憑證的維護策略。
注意
「傳輸層安全性」(TLS 1.2) 的最新相關資訊位於 Microsoft SQL Server 的 TLS 1.2 支援。 如需 TLS 1.3 的詳細資訊,請參閱 TLS 1.3 支援。
本節內容
您可以在 SQL Server 中針對連線、資料和預存程序使用加密。 下列文章包含有關 SQL Server 中加密的詳細資訊。
-
有關 SQL Server 中加密階層的資訊。
-
有關如何選取有效加密演算法的詳細資訊。
-
有關如何加密待用資料的一般資訊。
-
在 SQL Server 中,加密金鑰包括用於保護機密資料的公開、私密和對稱金鑰的組合。 本節將說明如何實作及管理加密金鑰。
-
確保內部部署資料庫管理員、雲端資料庫操作員,或其他具有高權限但未經授權的使用者無法存取加密資料。 使用具有安全記憶體保護區的 Always Encrypted 擴充 Always Encrypted,以啟用就地加密和更豐富的保密查詢。
-
對不具權限的使用者遮罩敏感性資料,以限制其曝光。
-
使用公開金鑰加密的相關資訊。
相關內容
- 保護 SQL Server 的安全
- Azure SQL 資料庫安全性功能概觀
- 密碼編譯函數 (Transact-SQL)
- ENCRYPTBYPASSPHRASE (Transact-SQL)
- ENCRYPTBYKEY (Transact-SQL)
- ENCRYPTBYASYMKEY (Transact-SQL)
- ENCRYPTBYCERT (Transact-SQL)
- sys.key_encryptions (Transact-SQL)
- SQL Server 和資料庫加密金鑰 (資料庫引擎)
- 備份與還原 SQL Server Reporting Services (SSRS) 加密金鑰
- 設定 SQL Server 資料庫引擎來加密連線
- Microsoft TechNet:SQL Server TechCenter:SQL Server 2012 安全性與保護