Secure ConnectionString в приложениях WinForm

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

3 ответа

Решение

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

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

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

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

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

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

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

Другие вопросы по тегам