SQL Server Encryption

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.

Important

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.

In This Section

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.

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.

External Resources

10 Steps to SQL Server 2005 Security
Current information about SQL Server security.

See Also

sys.key_encryptions (Transact-SQL)
SQL Server and Database Encryption Keys (Database Engine)
Back Up and Restore Reporting Services Encryption Keys