Как передать данные логина и пароля для веб-приложения в настольное приложение, не создавая угрозы безопасности - PullRequest
2 голосов
/ 05 апреля 2011

Итак, я хочу сделать следующее: Человек регистрируется онлайн и выбирает свой логин и пароль для настольного компьютера и веб-приложения (одинаковые логин и пароль для обоих приложений) Затем они загружают настольное приложение (написанное на C ++ с использованием Qt как кроссплатформенного) Затем логин и пароль автоматически передаются в настольное приложение без необходимости ввода этих данных. Логин и пароль используются для аутентификации на сервере.

Каждая версия настольного приложения должна быть индивидуально закодирована с логином и паролем пользователя, исходя из того, что они зарегистрированы на веб-странице.

Итак, вот более простое объяснение: 1. Пользователь регистрируется на сайте и выбирает логин \ пароль 2. Пользователь загружает настольный клиент на свой компьютер 3. Пользователь запускает настольный клиент (двоичный файл C ++) и запрашивает логин / пароль с шага

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

Ответы [ 3 ]

1 голос
/ 05 апреля 2011

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

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

0 голосов
/ 07 апреля 2011

Я видел два пути:

  • сервер может предоставить пользователю уникальную ссылку для скачивания установочного пакета. Сервер исправляет этот пакет по уникальному одноразовому паролю. Таким образом, клиент сможет войти в систему в первый раз
  • браузер собирает некоторую информацию о компьютере пользователя. Например, IP, MAC, версия ОС и т. Д. Затем он вычисляет цифровой знак компьютера на основе этих данных. Бинарный файл C ++ делает то же самое. Вы можете использовать этот цифровой знак в качестве одноразового пароля.
0 голосов
/ 05 апреля 2011

Вы смотрели на HTTP-аутентификацию?Я не полностью понимаю процесс загрузки приложения QT, но если вы используете обычную / дайджест-аутентификацию на своем веб-сервере, распространение токена аутентификации будет простым и безопасным.Основное использование 64 базовых кодирования, дайджест хеширования MD5.Многие библиотеки реализуют эти шаги там (Spring Security и Shiro в мире Java).

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