В поисках безопасного способа аутентификации с помощью мобильного приложения - PullRequest
0 голосов
/ 13 октября 2008

Я унаследовал мобильное приложение, которое отправляет учетные данные (идентификатор пользователя / пароль) в открытом виде.

Я полагаю, что у меня есть 2 варианта: а) использовать TLS. б) написать свой собственный протокол аутентификации.

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

Ответы [ 4 ]

3 голосов
/ 13 октября 2008

Если вы используете б), основные рекомендации: не надо. Если вы хотите, чтобы это было безопасно, то есть.

Попробуйте придерживаться а).

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

Написание собственного протокола безопасности не является необходимой и плохой идеей. Это почти наверняка будет иметь эксплуатационные недостатки. Если все, что вам нужно, это защитить конфиденциальность учетных данных, то вам следует использовать SSL / TLS. Это также позволяет в будущем более легко перейти к аутентификации на основе сертификатов клиента.

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

Для обоих "вы не можете получить иск за это" и "разумно защищены" определения "безопасно", для мобильного приложения вы можете предположить, что строка безопасны против атак «человек посередине» и широко открыты для подслушивания. SSL / TLS звучит проще всего, но это может зависеть от вашего оператора и целевых телефонов.

Если вы не можете заставить TLS работать, и вам нужно свернуть свой собственный, используйте Diffie-Hellman обмен ключами и установленную криптобиблиотеку ( Легион Надувного Замка имеет легкий вес реализация, соответствующая J2ME.)

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

Для (б) я думаю, вы делаете ответ-вызов.

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

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

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