Отлично, спасибо Ойсин.

онимание аутентификации на основе токенов заключается в том, что при аутентификации (возможно, через ssl) токен передается пользователю для дешевой проверки пользователя на лету. Одной из реализаций этого будет создание файла cookie, который передается пользователю для управления сеансом.

Но, насколько я понимаю, аутентификация, основанная на токене (по крайней мере, через куки), восприимчива к человеку в середине атак, таких как firesheep.

Существуют ли другие способы реализации, которые обходят эту главную проблему безопасности, или у меня есть фундаментальное недопонимание tba?

Ответы на вопрос(1)

Решение Вопроса

с точки зрения приложения, токен также может быть именем пользователя и паролем. Если у кого-то есть токен, он может аутентифицироваться в вашем приложении. Основная цель в случае файла cookie http - избежать утечки имени пользователя и пароля, если кто-либо получит файл cookie с помощью уязвимости межсайтового скриптинга (XSS) или иным образом. Да, при правильных обстоятельствах они могут «воспроизвести» этот токен для приложения как «человек посередине», но они не должны быть в состоянии выяснить сопряжение имени пользователя и пароля, но, опять же, это не гарантируется, если токен Скажем, алгоритм генерации слаб, как если бы вы решили BASE64 кодировать имя пользователя и пароль, объединенные вместе, и использовать это в качестве значения.

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

Надеюсь это поможет,

-Oisin

 Devin12 янв. 2011 г., 20:35
Отлично, спасибо Ойсин.

Ваш ответ на вопрос