Transparent data encryption
Transparent Data Encryption (often abbreviated to TDE) is a technology employed by Microsoft, IBM and Oracle to encrypt database files. TDE offers encryption at file level. TDE solves the problem of protecting data at rest, encrypting databases both on the hard drive and consequently on backup media. It does not protect data in transit nor data in use. Enterprises typically employ TDE to solve compliance issues such as PCI DSS which require the protection of data at rest.
Microsoft offers TDE as part of its Microsoft SQL Server 2008, 2008 R2, 2012, 2014, 2016, 2017 and 2019. TDE was only supported on the Evaluation, Developer, Enterprise and Datacenter editions of Microsoft SQL Server, until it was also made available in the Standard edition for 2019. SQL TDE is supported by hardware security modules from Thales e-Security, Townsend Security and SafeNet, Inc.
Oracle requires the Oracle Advanced Security option for Oracle 10g and 11g to enable TDE. Oracle TDE addresses encryption requirements associated with public and private privacy and security mandates such as PCI and California SB 1386. Oracle Advanced Security TDE column encryption was introduced in Oracle Database 10g Release 2. Oracle Advanced Security TDE tablespace encryption and support for hardware security modules (HSMs) were introduced with Oracle Database 11gR1. Keys for TDE can be stored in an HSM to manage keys across servers, protect keys with hardware, and introduce a separation of duties.
The same key is used to encrypt columns in a table, regardless of the number of columns to be encrypted. These encryption keys are encrypted using the database server master key and are stored in a dictionary table in the database.
Microsoft SQL Server TDE
SQL Server utilizes an encryption hierarchy that enables databases to be shared within a cluster or migrated to other instances without re-encrypting them. The hierarchy consists of a combination of symmetric and asymmetric ciphers:
- Windows Data Protection API (DPAPI) protects a single instance-wide Service Master Key (SMK).
- The Service Master Key encrypts the Database Master Key (DMK).
- The Database Master Key is used in conjunction with a certificate to encrypt the Database Encryption Key.
- The Database Encryption Key is used to encrypt the underlying database files with either the AES or 3DES cipher.
- The master database that contains various system level information, user accounts and management services is not encrypted.
During database backups, compression occurs after encryption. Due to the fact that strongly encrypted data cannot be significantly compressed, backups of TDE encrypted databases require additional resources.
To enable automatic booting, SQL Server stores the lowest level encryption keys in persistent storage (using the DPAPI store). This presents a potential security issue because the stored keys can be directly recovered from a live system or from backups and used to decrypt the databases.
- "SQL Server TDE vs CLE". Retrieved 2017-06-02.
- "SQL Server 2019 Standard Edition"Microsoft Tech Community
- "Fix pack summary".
- "Transparent Data Encryption (TDE)" Microsoft TechNet
- Simon McAuliffe, "The Anatomy and (In)Security of Microsoft SQL Server Transparent Data Encryption (TDE)", 19-Mar-2016
- Alternative 3rd party solution for all SQL Server Editions
- Another alternative 3rd party solution for all SQL Server Editions
- Enterprise Security Features Supported by Microsoft SQL Server 2008 R2 Editions
- Security Features Supported by Microsoft SQL Server 2012 Editions
- Understanding Transparent Data Encryption (TDE) (Microsoft)
- Using Transparent Data Encryption in Oracle Database 11g
- Oracle Transparent Data Encryption best practices
- TDE column encryption and TDE tablespace encryption in Oracle Database 11gR1
- P6R's PKCS#11 Provider and Oracle TDE