Можно ли зашифровать данные конфигурации в процессе установки? - PullRequest
0 голосов
/ 10 декабря 2008

Я занимаюсь разработкой .NET (2.0) утилиты WinForms, которая подключается к базе данных SQL Server 2005. Я нашел справочный материал, такой как Избегание незашифрованных паролей для обработки фактического шифрования данных строки соединения. Теперь мне нужно реализовать шифрование во время процесса установки, чтобы администратор мог установить утилиту на рабочем столе пользователя, но не предоставлять пользователю информацию о подключении к базе данных.

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

Может ли кто-нибудь предоставить информацию, показывающую, как шифрование может быть выполнено из приложения установки. Также приветствуются другие подходы к этой проблеме (однако из-за требований бизнеса я не могу требовать аутентификацию Windows для соединения с базой данных - я ограничен аутентификацией SQL Server).

Edit: Возможно, я был слишком кратким с моим описанием. Мы уже провели оценку риска и определили, что использование встроенной функциональности .NET Framework для шифрования информации о соединении обеспечивает достаточную безопасность для приложения.

Мы понимаем, что действительно определенный человек может в конечном итоге получить информацию о соединении, и мы с готовностью принимаем этот риск. Цель шифрования данных соединения - просто поднять планку усилий и помочь «сохранить честность честных людей».

Уже разработав способы выполнения шифрования, я сейчас пытаюсь разработать метод выполнения шифрования в процессе установки. Любая помощь в этом направлении приветствуется. Спасибо!

Ответы [ 2 ]

2 голосов
/ 10 декабря 2008

Основная проблема с зашифрованной конфигурацией - защита ключа, используемого для расшифровки настроек конфигурации.

С помощью серверного приложения вы можете сделать это, ограничив доступ к серверу. Клиентское приложение WinForms должно иметь доступ к ключу при работе в качестве текущего пользователя, поэтому пользователь сможет найти ключ, если он достаточно умен.

Если вы не можете использовать проверку подлинности Windows для подключения к базе данных или использовать многоуровневую архитектуру с кодом доступа к данным на сервере, вы не будете в безопасности.

1 голос
/ 11 декабря 2008

Как насчет того, чтобы программа установки запустила процесс postscript во время установки?

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

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