Лучшие практики для шифрования базы данных в SQL Server 2005 - PullRequest
8 голосов
/ 16 октября 2008

Мне нужно разработать приложение, которое хранит данные в базе данных SQL Server 2005 (само приложение будет либо службой WCF, либо веб-службой Asp.Net).

Теперь, эти данные в высшей степени конфиденциальны, и мне нужно хранить их в зашифрованном виде в базе данных.

Итак, мне интересно, каковы лучшие практики в этом отношении. Я знаю, что есть некоторые возможности шифрования, которые встроены в SQL Server. Есть ли для этого тип ресурса «для чайников», чтобы я мог быстро приступить к работе.

В качестве альтернативы я думал, что мог бы шифровать / дешифровать в своем коде C #, а не в базе данных - может быть, есть слой, который обрабатывает это чуть выше уровня доступа к данным (это хорошая идея)?

Ответы [ 4 ]

3 голосов
/ 16 октября 2008

Посмотрите на эту ссылку для хорошего ознакомления с образцами.

Я думаю, что лучше выполнять шифрование данных в приложении, потому что в этом случае переданные данные уже зашифрованы. В противном случае вам придется использовать безопасный канал между вашим приложением и сервером базы данных.

Это зависит от ваших потребностей, я бы сказал.

1 голос
/ 16 октября 2008

Рассматривали ли вы шифрование ваших данных на уровне файловая система ?

Это только Windows 2008 / Vista, но она должна дать вам то, что вам нужно, и это то, для чего она предназначена.

0 голосов
/ 07 февраля 2014

Шифрование должно происходить в нескольких местах в зависимости от приложения. Например, сайт потребителя, использующий информацию о кредитной карте, должен зашифровать соединение по сети, чтобы предотвратить атаки человека в середине или отслеживание. когда данные хранятся в базе данных, вам необходимо зашифровать данные, чтобы торговый представитель низкого уровня не мог прочитать и получить доступ к информации о кредитной карте клиента, в которой вы можете использовать шифрование на уровне столбца в качестве соответствующего разрешения в дополнение к этому, если беспокоюсь о том, что однажды уборщик в вашем центре обработки данных может украсть одну из ваших резервных копий, тогда вам понадобится TDE для шифрования данных на уровне диска.

Шифрование имеет служебную нагрузку, особенно в отношении использования ЦП, более важно, что служебная нагрузка зависит от используемого логического алгоритма для расшифровки.

0 голосов
/ 05 ноября 2008

Прежде чем выбрать метод шифрования, вам необходимо получить доступ к тем частям системы, которые уязвимы. Если существует вероятность несанкционированного доступа к базе данных, существует ли такая же угроза для вашего приложения? Кто-то может запустить ваш код через Reflector и определить, какие методы используются для шифрования и дешифрования. Вы можете смягчить это воздействие до некоторой степени с помощью кодовых обфукаторов. Если эта проблема не является риском, вам может быть проще зашифровать ваши данные на уровне приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...