SQL Server Encryption
Updated: October 28, 2015
Applies To: Azure SQL Database, SQL Server 2016 Preview
Encryption is the process of obfuscating data by the use of a key or password. This can make the data useless without the corresponding decryption key or password. Encryption does not solve access control problems. However, it enhances security by limiting data loss even if access controls are bypassed. For example, if the database host computer is misconfigured and a hacker obtains sensitive data, that stolen information might be useless if it is encrypted.
You can use encryption in SQL Server for connections, data, and stored procedures. The following table contains more information about encryption in SQL Server.
Although encryption is a valuable tool to help ensure security, it should not be considered for all data or connections. When you are deciding whether to implement encryption, consider how users will access data. If users access data over a public network, data encryption might be required to increase security. However, if all access involves a secure intranet configuration, encryption might not be required. Any use of encryption should also include a maintenance strategy for passwords, keys, and certificates.
- Encryption Hierarchy
Information about the encryption hierarchy in SQL Server.
- Choose an Encryption Algorithm
Information about how to select an effective encrypting algorithm.
- Transparent Data Encryption (TDE)
General information about how to encrypt data transparently.
- SQL Server and Database Encryption Keys (Database Engine)
In SQL Server, encryption keys include a combination of public, private, and symmetric keys that are used to protect sensitive data. This section explains how to implement and manage encryption keys.
- Always Encrypted (Database Engine)
Ensuring on-premises database administrators, cloud database operators, or other high-privileged, but unauthorized users, cannot access the encrypted data.
- Dynamic Data Masking
Limiting sensitive data exposure by masking it to non-privileged users.
- SQL Server Certificates and Asymmetric Keys
Information about using Public Key Cryptography.
- Securing SQL Server
Overview of how to help secure the SQL Server platform, and how to work with users and securable objects.
- Cryptographic Functions (Transact-SQL)
Information about how to implement cryptographic functions.
- ENCRYPTBYPASSPHRASE (Transact-SQL)
Information about how to use a password to encrypt data.
- ENCRYPTBYKEY (Transact-SQL)
Information about how to use a symmetric key to encrypt data.
- ENCRYPTBYASYMKEY (Transact-SQL)
Information about how to use an asymmetric key to encrypt data.
- ENCRYPTBYCERT (Transact-SQL)
Information about how to use a certificate to encrypt data.
- Microsoft TechNet: SQL Server TechCenter: SQL Server 2005 Security and Protection
Current information about SQL Server security.