Используете файлы cookie/сеансы для аутентификации мобильного приложения?

Есть ли причина, по которой мне не следует использовать файлы cookie/сеансы для собственных мобильных приложений, обычно используемых браузерами, для аутентификации на моем сервере и для последующих вызовов API?

Пояснение. Похоже, что де-факто методом аутентификации на мобильных клиентах являются системы на основе токенов, такие как OAuth/XAuth. Почему традиционных методов браузера недостаточно?


person Karan    schedule 30.12.2010    source источник


Ответы (1)


Это зависит от вашего приложения (точнее, вашего сценария угрозы).

Некоторые из наиболее распространенных угроз: - подслушивание (-> следует шифровать) - человек посередине (-> необходимо аутентифицировать другую сторону) - ... какие у вас? (насколько безопасен ваш магазин cookie,....)

Файл cookie сначала содержит только токен в качестве доказательства того, что когда-то вы успешно прошли аутентификацию. Если cookie действителен достаточно долго или транспорт не зашифрован, есть большая вероятность, что кто-нибудь когда-нибудь узнает...

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

Каков ваш метод аутентификации (какие учетные данные нужны клиенту для входа в систему)? Есть ли у вас возможность работать с аутентификацией на основе инфраструктуры PPK или связь является «специальной»?

РЕДАКТИРОВАТЬ

Запись к OpenAuth: насколько я понял протокол, его главная задача — делегирование аутентификации. Сценарий, в котором вы разрешаете агенту выполнять какую-то очень конкретную задачу от имени другого удостоверения. Таким образом, вы не разбрасываете свои учетные данные по всему Интернету. Если у вас установлен OpenAuth, клиент также может напрямую использовать протокол. Так зачем добавлять еще один. Но OpenAuth прямо заявляет, что при сценарии с прямым клиентом вы снова сталкиваетесь с проблемами безопасности, поскольку теперь токен доступен на устройстве и должен быть соответствующим образом защищен (как вы должны сделать с вашим файлом cookie).

person mtraut    schedule 30.12.2010
comment
Спасибо за ваш ответ. Предполагая, что мы используем безопасный транспорт (SSL) и разумную политику истечения срока действия, как и в случае с веб-браузерами, кажется, вы говорите, что это должно быть хорошо? Мы отправляем только пользователя/пароль, как это обычно делается с запросом POST. - person Karan; 31.12.2010
comment
Кроме того, я не уверен, что понимаю, что вы имеете в виду под ad-hoc. Кажется, общепринятым способом является использование чего-то на основе токенов, например OAuth/XAuth, но цель этого вопроса — посмотреть, хватит ли файлов cookie, а если нет, то почему? - person Karan; 31.12.2010
comment
Если для вас не проблема кражи сессий/куки, это нормально. - person mtraut; 31.12.2010
comment
Под ad hoc я подразумеваю сценарий, очень популярный в мобильных сценариях. Два устройства, которые не являются частью статической инфраструктуры PPK, обмениваются данными (сопряжены). Без базы доверия вы должны найти какие-то другие средства аутентификации. - person mtraut; 31.12.2010