Я разрабатываю приложение (как часть команды) для андроида, взаимодействующего с сервером (веб-сервис asp.net) для синхронизации и обновления информации на стороне клиента.Является ли Captcha хорошим решением для андроидной аутентификации?
для предотвращения атаки на сервер мы используем SSL-соединение, а также для аутентификации пользователей с сообщением заголовка мыла содержит имя пользователя и пароль.
здесь сценарий для синхронизации:
- пользователи отправляют запрос веб-службы с заголовка содержит: имя пользователя, пароль, время запроса, а также (для предотвращения человека на середине атаки) хэш-код всех трех параметров (имя пользователя + пароль + время), как сообщение подписи
веб-сервис, проверка:
- это новое сообщение, проверив подпись сообщения хранится в сервере
- Если это новое сообщение (и его не дублируется), то проверьте, что подпись истинна, хешируя все три параметра (имя пользователя + пароль + время)
- затем проверьте срок годности: это сообщение новое (через 5 минут) для истекающий старые сообщения
- Authenticate имя пользователя и пароль
- Validate тип данных и длина параметров (в данном случае только время последней синхронизации устройства)
- ответ на запрос
устройства получить ответ в виде XML-файл
вопрос:
из-за этот сценарий мы должны дать информацию аутентификации устройства пользователя, чтобы они могли взаимодействовать с сервером в будущем, а также мы не хотим, чтобы получить какую-либо информацию как имя пользователя и пароль от пользователей (для удобства пользователя!)
поэтому мы создаем веб-обработчик Captcha на сервере и когда пользователи являются новыми, мы отправляем им изображение captcha, генерируемое их кодом устройства (это uid, сгенерированное устройством как-то вроде: https://www.server.com?appid=00000000-0000-0000-0000-000000000000), и когда, если пользователь отправляет правильные captcha к серверу мы добавляем нового пользователя в нашу базу данных (автоматическое имя пользователя и случайный пароль) и сохраняем для менеджера учетной записи android для будущего использования
, на ваш взгляд, это хороший подход для аутентификации и безопасности? Спасибо за советы
Благодарим вас за ответ. Может ли «человек посередине» изменять параметры даже при подключении ssl? – omidDev