SQL Server encryption
Encryption is the process of obfuscating data by the use of a key or password. This process can make the data useless without the corresponding decryption key or password. Encryption doesn't 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's encrypted.
Although encryption is a valuable tool to help ensure security, it shouldn't be considered for all data or connections. When you're deciding whether to implement encryption, consider how users 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.
The latest information about Transport Level Security (TLS 1.2) is available at TLS 1.2 support for Microsoft SQL Server.
In this section
You can use encryption in SQL Server for connections, data, and stored procedures. The following articles contain more information about encryption in SQL Server.
Information about the encryption hierarchy in SQL Server.
Information about how to select an effective encrypting algorithm.
General information about how to encrypt data transparently.
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.
Ensure on-premises database administrators, cloud database operators, or other high-privileged, but unauthorized users, can't access the encrypted data.
Limit sensitive data exposure by masking it to non-privileged users.
Information about using Public Key Cryptography.
- Securing SQL Server
- An overview of Azure SQL Database security capabilities
- Cryptographic Functions (Transact-SQL)
- ENCRYPTBYPASSPHRASE (Transact-SQL)
- ENCRYPTBYKEY (Transact-SQL)
- ENCRYPTBYASYMKEY (Transact-SQL)
- ENCRYPTBYCERT (Transact-SQL)
- sys.key_encryptions (Transact-SQL)
- SQL Server and Database Encryption Keys (Database Engine)
- Back Up and Restore Reporting Services Encryption Keys
- Enable Encrypted Connections to the Database Engine
- Microsoft TechNet: SQL Server TechCenter: SQL Server 2012 Security and Protection