2010-07-05 4 views
0

Мой вопрос является дубликатом - Oracle Transparent Data Encryption undecrypted access - но для SQL Server 2008.SQL Server 2008 - Прозрачное шифрование данных undecrypted доступа


Могу ли я создать базу данных с SQL Server 2008 таким образом, что все из следующих утверждений верно?

а) некоторые столбцы, потенциально все столбцы зашифрованы, так что прямой доступ к файлам в файл базы данных не позволит злоумышленнику получить какие-либо записи

б) зашифрованные столбцы прозрачно расшифрованы для авторизованных пользователей, где происходит авторизация, например имея определенную роль или привилегию

c) администратор, у которого есть доступные привилегии для выполнения «обычных» задач администратора (настройка, создание/удаление объектов схемы, перезапуск базы данных, выбор из словаря данных), может выбирать таблицы, но будет видеть только зашифрованные данные в зашифрованных столбцах.

Если это возможно, как это сделать. Если это невозможно, каковы варианты, по которым я должен хотя бы «приблизиться» к этим требованиям?

Я знаю а) возможно, но я не уверен в отношении б) и в).

Спасибо.

ответ

1

Нет, потому что вы не можете выполнить прозрачное шифрование данных только на выбранных столбцов:

Прозрачное шифрование данных (TDE) выполняет в режиме реального времени шифрования I/O и дешифрования данных и файлы журналов. Шифрование использует базу данных ключ шифрования (DEK), который хранится в загрузочной записи базы данных для при наличии. DEK является симметричным ключом, защищенным с использованием сертификата , хранящегося в базе данных сервера или асимметричном ключе , защищенном модулем EKM . TDE защищает данные «в покое», означает данные и файлы журналов. Он обеспечивает возможность соответствия многим законам, правилам и руководящим принципам , установленным в различных отраслях промышленности. Это позволяет разработчикам программного обеспечения шифровать данные с помощью алгоритмов шифрования AES и 3DES без изменения существующих приложений. Ref.

Вот некоторые вещи, которые вы должны рассмотреть о TDE (любезно Brad McGehee's blog):

  • TDE не защищает данные в памяти, так что конфиденциальные данные можно увидеть на тех, кто имеет права DBO к базы данных или SA для экземпляра SQL Server. Другими словами, TDE не может запретить администраторам баз данных просматривать любые данные, которые они хотят видеть.

  • TDE не является зернистым. Затем вся база данных в зашифрованном виде.

  • TDE не защищает связь между клиентскими приложениями и SQL Server, поэтому для защиты данных, передаваемых по сети, должны использоваться другие методы шифрования.

  • Данные FILESTREAM не зашифрованы.

  • Если какая-либо одна база данных экземпляра SQL Server включена, то база данных tempdb автоматически зашифровывается, что может способствовать низкой производительности как для зашифрованных, так и для незашифрованных баз данных, работающих на одном экземпляре.

  • Хотя для реализации TDE требуется меньше ресурсов, чем шифрование на уровне столбцов, оно по-прежнему несет некоторые накладные расходы, что может помешать ему использовать на SQL-серверах, которые испытывают узкие места в ЦП.

  • Базы данных, зашифрованные с помощью TDE, не могут использовать новое резервное сжатие SQL Server 2008. Если вы хотите использовать как резервное сжатие, так и шифрование, вам придется использовать стороннее приложение, такое как SQL Backup, которое позволяет выполнять обе эти задачи без штрафных санкций.

Это может быть интересно: How to: Encrypt a Column of Data