СИТУАЦИЯ:
Мне нужно сделать шифрование между моей удаленной базой данных и моим приложением c #. Я не знаю, что я делаю (никогда раньше не шифровал), и все, что я нашел в Интернете, было для asp.net и касалось файла web.config.
НЕКОТОРЫЕ СООТВЕТСТВУЮЩИЕ ДАННЫЕ:
Моя строка подключения содержит информацию о пароле для аутентификации на сервере SQL, есть операторы select и delete. Эти три вещи должны быть зашифрованы.
Я использую SQL Server 2008, Visual Studio 2008 и C #.
Я сомневаюсь, что это уместно, но это происходит внутри службы Windows. Пока что все, что связано с SQL и работает в winForms, работает для меня в сфере услуг, поэтому любая помощь, связанная с winForms, также приветствуется.
То, что мне нужно помочь:
Будем весьма благодарны за любые ссылки на шифрование, которые не ограничены asp.net. :)
Я вижу страницу MSDN , и мне кажется, что это неплохое начало, но я немного растерялся. Похоже, именно так 2 приложения будут отправлять файлы друг другу, а не отправлять что-то зашифрованное на SQL Server? Используя это, я не вижу, как SQL Server будет знать, как его расшифровать?
Я ухожу в левое поле и смотрю в System.Security.Cryptography? Есть ли какой-нибудь способ указать шифрование в System.Data.SqlClient или мне придется прибегнуть к возни с созданием хранимых процедур на удаленном сервере?
Заранее спасибо !!! :)
РЕЗЮМЕ:
Спасибо всем за то, что поставили меня на правильный путь, было трудно выбрать только один ответ! :)
Я пришел к выводу, что мне нужно использовать SSL, и, хотя у меня еще много путаницы с практическими рекомендациями, я знаю, что для этого требуется сертификат, и что после настройки сертификата клиент может запросить шифрование, запрашивая «Encrypt = yes» в строке подключения. К счастью, я считаю, что у меня уже есть тот, который я могу использовать.
Еще одна вещь, на которую следует обратить внимание: TDE - это консенсус в отношении того, что хорошо для шифрования данных, которые просто хранятся в базе данных, а SSL - для передачи зашифрованных данных.
Вот пара ссылок, которые я нашел наиболее полезными:
http://blogs.msdn.com/b/sql_protocols/archive/2005/10/04/476705.aspx
http://support.microsoft.com/default.aspx?scid=kb;en-us;316898