Secure ConnectionString в приложениях WinForm - PullRequest
6 голосов
/ 18 августа 2011

Как я могу защитить свою ConnectionString в приложении WinForm?

Ответы [ 3 ]

19 голосов
/ 18 августа 2011

Вы не можете.Хотя вы можете зашифровать строку подключения в файле app.config, приложение должно иметь возможность дешифровать ее, и поэтому всегда можно получить незашифрованную строку подключения, особенно с помощью управляемого приложения (возможно, не для вашего обычного конечного пользователя,но любой опытный разработчик может сделать это).

Решение этой проблемы состоит в том, чтобы не полагаться на безопасность из-за неясности .Используйте Windows Integrated Security при подключении к базе данных с использованием учетной записи пользователя Windows и предоставьте пользователю минимальное количество прав в базе данных.

Часто, хотя этого все еще недостаточно, потому что этоочень сложно защитить базу данных, когда конечные пользователи напрямую подключены к базе данных (часто потому, что вам нужна защита на уровне строк).Чтобы это работало, вам нужно запретить доступ к таблицам и представлениям и полностью вернуться к хранимым процедурам.

Однако лучший подход состоит в том, чтобы не дать настольному приложению напрямую связываться с базой данных;использовать веб-сервис в качестве промежуточного слоя.В этом случае у вас есть полный контроль над безопасностью, и вы можете безопасно хранить строку подключения на (веб) сервере.

1 голос
/ 18 августа 2011
0 голосов
/ 18 августа 2011

Здесь много спрашивают ...

Шифрование разделов и / или настроек в файле App.config, который будет распространяться

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

...