Могу ли я безопасно внедрить cookie-файлы «держи меня в системе», используя localalstorage в мобильном приложении? - PullRequest
3 голосов
/ 11 августа 2011

Я не хочу, чтобы пользователи каждый раз вводили свои пароли, и я не хочу хранить пароли локально. Когда пользователь впервые отправит мне свое имя пользователя и пароль, я планирую отправить обратно некоторую хешированную версию своего пароля (хэш pasword + salt), которая будет помещена в локальное хранилище для использования для авторизации последующих вызовов наших веб-служб.

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

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

1 Ответ

3 голосов
/ 11 августа 2011

Есть несколько вещей, которые следует учитывать.Вы должны использовать SSL для защиты от прослушивания.В противном случае любой узел (кто-то еще в той же незащищенной точке доступа Wi-Fi, что и ваш пользователь) может записать ваш хешированный пароль и повторить запросы с ним.Также важна сила алгоритма хеширования.С известным именем пользователя и слабым паролем может быть возможно сгенерировать таблицу потенциальных хэшей и проверить ее на соответствие известному хешу (если злоумышленнику удастся скомпрометировать хеш).

Относительно разницы между этим и куки-файламиэто довольно просто.Файлы cookie обычно генерируются Сервером случайным образом и вообще не основаны на пароле.Кроме этого, куки-файлы - это скорее всего то, о чем вы говорите.Сохраните ли вы его в своем собственном хранилище в своем приложении или во встроенном обработчике cookie библиотеки HTTP, не имеет большого значения.Если вы используете SSL для защиты от атаки перехвата / перехвата, вы должны быть в безопасности.

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

...