Защита паролей пользователей в настольных приложениях - PullRequest
3 голосов
/ 22 октября 2008

Я делаю клиент для Твиттера и оцениваю различные способы защиты информации для входа пользователя.

  • Хеширование, очевидно, не делает этого
  • Обфусцирование обратимым образом похоже на попытку спрятаться за моим пальцем
  • Простой текст звучит и, вероятно, неразборчиво
  • Требование пользователя вводить свой пароль каждый раз делает приложение утомительным

Есть идеи?

Ответы [ 6 ]

2 голосов
/ 22 октября 2008

Вы можете сделать несколько вызовов ОС, чтобы зашифровать пароль для вас.

В Windows:

  • Вы можете зашифровать файл (в файловой системе NTFS)
  • Используйте DPAPI от C
  • Использование DPAPI в .Net с использованием ProtectedData class
1 голос
/ 22 октября 2008

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

1 голос
/ 22 октября 2008

CryptProtectData - это функция Windows для хранения конфиденциальных данных такого типа.

http://msdn.microsoft.com/en-us/library/aa380261.aspx

Для примера посмотрите, как это использует Chrome:
http://blog.paranoidferret.com/index.php/2008/09/10/how-google-chrome-stores-passwords/

1 голос
/ 22 октября 2008

Какая платформа?

В * nix сохраните пароль в виде обычного текста в файле chmoded 400 в подкаталоге домашнего каталога. Смотрите, например, ~ / .subversion. В любом случае, администраторы могут делать с пользователями все, что им нравится, включая замену вашей программы собственной взломанной версией, которая захватывает пароли, поэтому нет никакого вреда в том, что они могут видеть файл. Помните, что пароль также доступен для того, кто извлекает этот жесткий диск - если это проблема, тогда либо попросите пользователя повторно вводить пароль каждый раз, либо проверьте, имеет ли эта версия * nix шифрование файлов.

В Windows Pro храните пароль в зашифрованном файле.

В Windows Amateur сделайте то же самое, что и * nix. [Редактировать: CryptProtectData выглядит хорошо, как предполагает Aleris. Если он доступен на всех Windowses, то он решает проблему только более дорогих версий, поддерживающих зашифрованные файлы].

В Symbian храните пароль в своей клетке данных. Программы с разрешением AllFiles редки и в любом случае предположительно заслуживают доверия, немного похоже на * nix admins.

0 голосов
/ 22 октября 2008

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

0 голосов
/ 22 октября 2008

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

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