2009-12-08 2 views
0

Каков наилучший подход к защите данных winform? Другими словами, как защитить данные от взлома для проектов winforms C#?Безопасность данных winform?

  1. Существует проект winform с 25-30 формами. Он хранит данные в БД доступа.
  2. Если я начну писать логику шифрования/дешифрования для всех форм, это займет много времени.
  3. Есть ли какая-нибудь .NET dll/техника, которая может автоматически шифровать/расшифровывать до хранения БД?
  4. Есть ли эффективный быстрый подход для этого?

Спасибо, Karthick

+1

Необходимо разработать. Что вы пытаетесь обеспечить? Как и где вы храните данные? Передаются ли данные куда угодно?Вам нужно ограничить доступ к пользователям? Попробуйте и дайте более подробную информацию. –

+0

взлом как, каким образом? Предотвращение несанкционированного доступа пользователей к запуску приложения? Предотвращение ввода или изменения данных пользователями? Ваш вопрос слишком туманный, чтобы ответить ...... –

+0

Спасибо. Я обновил, pls. поделитесь своими предложениями. – Karthick

ответ

2

В комментарии было сказано, зависит от того, что вы пытаетесь защитить.

Если вы пытаетесь защитить права доступа, вы можете использовать Identity and Principals для определения аутентификации, разрешений и ролей на основе потоков.

Если вы храните чувствительные строки в памяти, используйте SecureString вместо обычных укусов.

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

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

0

Так что, если я правильно понял, вы хотите, чтобы данные были зашифрованы, когда вы поместили их в базу данных и расшифровали, когда вы его снова получите?

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

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

Что касается шифрования, вам необходимо определить, что вы будете использовать в качестве ключей для шифрования ваших данных. Самый быстрый и, возможно, самый простой способ шифрования данных - DPAPI через класс Protected Data.

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

Другой альтернативой может быть шифрование всей базы данных, хотя я не уверен, какая поддержка Access имеет для этого. Использование зашифрованной файловой системы и File.Encrypt может работать, если у Access нет ничего встроенного.

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

Смежные вопросы