умеренное шифрование для небольшого количества данных - PullRequest
0 голосов
/ 11 августа 2009

Я пишу приложение, которое должно хранить менее 1 МБ данных. эти данные будут прочитаны и отредактированы пользователем. эти данные будут очень простыми. приложение находится в vb.net на windows-форме. данные будут храниться локально на компьютере человека. У меня есть несколько вопросов.

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

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

  3. Зашифрованы ли данные настроек приложения? возможно я могу сохранить это таким образом? это подходит для хранения около 1 МБ в данных настроек приложения? как бы я это сделал? какую переменную я бы использовал?

Ответы [ 3 ]

1 голос
/ 11 августа 2009

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

1 голос
/ 11 августа 2009

Вам нужно будет задать еще несколько вопросов.

Вопросы, которые нужно задать:

  • Насколько безопасным это должно быть?
  • Кто-нибудь еще имеет доступ к двоичным файлам и данным?
  • От кого ты это защищаешь?

Шифрование сложно и дорого. Реализация безопасности, скорее всего, наложит некоторый уровень боли на конечного пользователя.

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

Вы можете посмотреть на ЧАЙ .
Вы можете сгенерировать случайный ключ AES (сколько вам угодно) и сохранить его как не извлекаемый в хранилище ключей машины, и использовать встроенный CryptoStream , как предложено @Reed Copsey.

Я думаю, что очень важно выяснить, к каким видам атак вам нужно противостоять, и насколько клиент ценит защиту данных

1 голос
/ 11 августа 2009

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

Также - настройки приложения не зашифрованы (по умолчанию).

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