Transparent Data Encryption (TDE)¶
Transparent Data Encryption (TDE) — это технология шифрования баз данных, при которой данные автоматически шифруются при записи на диск и дешифруются при чтении в оперативной памяти, без необходимости изменения приложений, схем базы данных или кода. TDE обеспечивает защиту данных на уровне файлов операционной системы, предотвращая несанкционированный доступ к информации в случае кражи носителей, файлов резервных копий или дампов базы данных.
¶История и развитие
Технология TDE была впервые представлена корпорацией Microsoft в 2008 году в составе SQL Server 2008. Основной целью разработки было обеспечение соответствия требованиям различных регуляторов (например, PCI DSS, HIPAA, GDPR) по защите персональных данных и конфиденциальной информации без необходимости внесения изменений в существующие приложения. В 2011 году аналогичная функциональность появилась в Oracle Database 11g, а затем и в других СУБД: IBM Db2 (2012), PostgreSQL (с расширением pgcrypto, 2013, и нативным TDE в версии 15, 2022), MySQL (с расширением Transparent Data Encryption в версии 5.7, 2015, и нативным TDE в версии 8.0, 2018), а также в СУБД российского производства, таких как СУБД «Ред База Данных» (на основе PostgreSQL) и «Линтер».
¶Принцип работы
TDE работает на уровне страниц данных (или блоков) базы данных. Когда приложение выполняет запрос на чтение, СУБД считывает зашифрованные страницы с диска, дешифрует их в оперативной памяти и предоставляет приложению в открытом виде. При записи происходит обратный процесс: страницы шифруются перед записью на диск. Шифрование и дешифрование происходят прозрачно для приложения — оно не знает о наличии шифрования и не требует изменений.
¶Ключевая архитектура
TDE использует иерархическую систему ключей:
- Ключ шифрования базы данных (Database Encryption Key, DEK) — симметричный ключ, который непосредственно шифрует данные в базе. DEK хранится в зашифрованном виде в заголовке файла базы данных.
- Сертификат или асимметричный ключ — используется для шифрования DEK. Этот сертификат или ключ хранится в главной базе данных (master) и защищается паролем или аппаратным модулем безопасности (HSM).
- Корневой ключ (в случае HSM) — хранится в аппаратном модуле безопасности и защищает сертификат уровня экземпляра.
¶Процесс шифрования
- При создании базы данных с TDE генерируется DEK.
- DEK шифруется с помощью сертификата, хранящегося в главной базе данных.
- Зашифрованный DEK сохраняется в заголовке файла базы данных.
- При запуске экземпляра СУБД сертификат дешифруется (с помощью пароля или HSM), затем с его помощью дешифруется DEK.
- DEK помещается в оперативную память и используется для шифрования/дешифрования страниц данных.
¶Классификация и виды
TDE можно классифицировать по способу реализации и области применения:
¶По способу реализации
- Нативное TDE (встроенное в СУБД) — реализовано на уровне ядра СУБД. Примеры: Microsoft SQL Server TDE, Oracle TDE, PostgreSQL TDE (начиная с версии 15), MySQL TDE (начиная с версии 8.0).
- Расширения и сторонние модули — реализованы в виде расширений для СУБД, не имеющих встроенной поддержки TDE. Примеры: pgcrypto для PostgreSQL (требует ручного управления ключами), расширение
pg_tdeдля PostgreSQL (от CyberTec, входит в состав СУБД «Ред База Данных»). - Шифрование на уровне файловой системы (FDE) — шифрование на уровне операционной системы (например, BitLocker, LUKS). Не является TDE, так как не различает данные и метаданные, и не защищает от атак на уровне СУБД (например, чтение данных через уязвимости в СУБД).
¶По области применения
- Шифрование всей базы данных — шифруются все таблицы, индексы, представления и системные таблицы. Наиболее распространенный вариант.
- Шифрование отдельных таблиц или табличных пространств — доступно в некоторых СУБД (например, Oracle, PostgreSQL). Позволяет шифровать только критичные данные, экономя ресурсы.
- Шифрование резервных копий — некоторые СУБД (например, SQL Server) позволяют шифровать резервные копии отдельно от основной базы данных.
¶Характеристики и особенности
¶Преимущества
- Прозрачность для приложений — не требуется изменять код, схемы или запросы.
- Защита на уровне файлов — данные защищены от кражи носителей, файлов баз данных, резервных копий и дампов.
- Соответствие требованиям регуляторов — помогает выполнить требования по шифрованию данных в покое (data at rest).
- Простота управления — управление ключами централизовано, не требует администрирования на уровне приложений.
¶Недостатки и ограничения
- Снижение производительности — шифрование и дешифрование требуют вычислительных ресурсов процессора. Обычно снижение производительности составляет 3–15%, но может быть выше на слабых системах или при интенсивной записи.
- Не защищает от всех угроз — TDE не защищает от атак на уровне СУБД (например, SQL-инъекции), от атак на уровне операционной системы (если злоумышленник имеет доступ к памяти), от атак на уровне приложений (если пользователь имеет права на чтение данных).
- Сложность управления ключами — потеря ключей или сертификатов делает данные недоступными. Требуется надежное резервное копирование и хранение ключей.
- Не защищает данные в оперативной памяти — данные в памяти остаются в открытом виде. Для защиты данных в памяти требуется дополнительное шифрование (например, Intel SGX, AMD SEV).
- Ограничения на сжатие — зашифрованные данные плохо сжимаются, поэтому сжатие резервных копий может быть неэффективным.
¶Применение
TDE широко применяется в различных отраслях и сценариях:
- Финансовый сектор — защита данных о банковских счетах, транзакциях, персональных данных клиентов. Соответствие требованиям PCI DSS, ЦБ РФ.
- Здравоохранение — защита медицинских записей, персональных данных пациентов. Соответствие требованиям HIPAA (США), 152-ФЗ (РФ).
- Государственные и муниципальные системы — защита персональных данных граждан, государственной тайны (с использованием сертифицированных СКЗИ).
- Электронная коммерция — защита данных о заказах, платежных данных, персональных данных покупателей.
- Облачные среды — защита данных в облачных базах данных (например, Amazon RDS, Azure SQL Database, Яндекс.Облако) от доступа провайдера.
¶Примеры реализации
¶Microsoft SQL Server
TDE в SQL Server шифрует всю базу данных на уровне страниц. Включается через T-SQL:
``sql CREATE DATABASE ENCRYPTION KEY WITH ALGORITHM = AES_256 ENCRYPTION BY SERVER CERTIFICATE MyServerCert; ALTER DATABASE MyDatabase SET ENCRYPTION ON; ``
¶Oracle Database
Oracle TDE поддерживает шифрование на уровне табличных пространств (TDE Tablespace Encryption) и на уровне столбцов (TDE Column Encryption). Включается через параметры ENCRYPT при создании или изменении табличного пространства.
¶PostgreSQL
Начиная с версии 15, PostgreSQL поддерживает нативное TDE через расширение pg_tde. В более ранних версиях используется расширение pgcrypto для ручного шифрования отдельных столбцов.
¶СУБД «Ред База Данных» (Россия)
СУБД «Ред База Данных» (на основе PostgreSQL) включает встроенную поддержку TDE с использованием сертифицированных СКЗИ (например, КриптоПро CSP). Шифрование прозрачно для приложений и соответствует требованиям ФСБ России.
¶Критика и альтернативы
TDE критикуется за то, что не защищает данные в оперативной памяти и от атак на уровне СУБД. Альтернативами TDE являются:
- Шифрование на уровне приложений — шифрование данных до передачи в СУБД. Обеспечивает защиту на всех этапах, но требует изменений в коде.
- Шифрование на уровне файловой системы (FDE) — шифрование всего диска. Проще в управлении, но не защищает от атак на уровне СУБД.
- Аппаратное шифрование (HSM, TPM) — использование специализированных устройств для хранения ключей и выполнения операций шифрования. Повышает безопасность, но увеличивает стоимость.
¶Источники
- Microsoft Docs. Transparent Data Encryption (TDE). SQL Server.
- Oracle Help Center. Transparent Data Encryption (TDE). Oracle Database.
- PostgreSQL Documentation. Transparent Data Encryption (TDE). PostgreSQL 15.
- MySQL Documentation. Transparent Data Encryption (TDE). MySQL 8.0.
- Документация СУБД «Ред База Данных». Transparent Data Encryption.
- PCI Security Standards Council. PCI DSS Requirements.
- Федеральный закон «О персональных данных» № 152-ФЗ.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →


