Зашифровать строку подключения или пароль подключения (sqlserver CE + приложение Windows Phone) - PullRequest
1 голос
/ 13 марта 2012

Какой будет лучший способ зашифровать строку подключения для SQL SErver CE (локальная база данных) или пароль-соединение для приложения Windows Phone?потому что, если он у вас в текстовом виде, пример:

"Data Source='isostore:/database.sdf';Password='mypassword';"

уязвим, если кто-нибудь декомпилирует ваше приложение.

Но если у меня есть зашифрованный пароль в файле (хранится в isolatedstorage), возможно,также быть уязвимым, если кто-то декомпилирует приложение, потому что он видит код для расшифровки.

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

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

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 13 марта 2012

Этот последний вопрос содержит множество полезных советов - Как можно безопасно встроить статическую строку (ключ) в C #?

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

1 голос
/ 13 марта 2012

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

1 голос
/ 13 марта 2012

Всегда существует угроза безопасности, если у вас есть конфиденциальные данные, хранящиеся локально на телефоне, есть несколько способов уменьшить это.

i) Используйте встроенную ProtectedData.Protect , встроенную в телефон, без дополнительных данных энтропии - это зашифровывает данные, и пользователю не нужно ничего вводить

ii) снова используйте ProtectedData.Protect, но попросите пользователя ввести пароль и использовать его в качестве дополнительного значения энтропии, но, как вы скажете, если они забудут пароль, вы не сможете получить данные обратно

iii) Сохраните данные в облачной службе и получите приложение для получения необходимых сведений.

Надеюсь, это поможет.

...