Безопасность: Как мне сохранить («запомнить») имя пользователя и пароль для будущего использования? - PullRequest
4 голосов
/ 03 июня 2011

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

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

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

РЕДАКТИРОВАТЬ : Платформа, на которую я ориентируюсь, - Windows.

Ответы [ 2 ]

4 голосов
/ 03 июня 2011

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

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

РЕДАКТИРОВАТЬ: поскольку вы ориентируетесь на Windows,рассмотрите возможность использования API защиты данных .

0 голосов
/ 03 июня 2011

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

Какой метод шифрования вы выберете - это вопрос сам по себе.

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

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