Как я могу создать и использовать псевдослучайный пароль? - PullRequest
0 голосов
/ 02 января 2011

У меня есть приложение для Android, которое позволяет пользователям вводить пароль и «блокировать» приложение, чтобы их друзья не могли заглянуть внутрь без их пароля.Он не использует веб-службу или что-либо еще, а пароль хранится в личном файле в приложении.Проблема в том, что пользователям нравится забывать свой пароль, а затем пишите мне по электронной почте с просьбой что-то с этим сделать.Прямо сейчас я не могу.Так что я хочу сделать что-то, что создает и использует случайный пароль.Пользователь мог отправить мне электронное письмо, и я мог бы дать им какой-нибудь случайный ключ, который приложение могло бы распознать, и позволить им войти, чтобы они могли изменить свой пароль.

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

Ответы [ 3 ]

0 голосов
/ 02 января 2011

Я не думаю, что это хорошая идея для реализации "черного хода" в вашем приложении.Это создаст очень плохой вкус.

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

Все (хорошие) сейфы, которые я знаю, полагаются на пользователя, чтобы заботиться о своих ключах.Они хотят безопасности, и они несут ответственность.

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

Вы можете задать «вопрос безопасности».Разорвите секретные вопросы (какова механика аутентификации / авторизации)

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

Как далеко вы готовы пойти?Обеспечение владения чем-либо (например, учетной записью SMS или электронной почты) может уменьшить проблемы и создать впечатление безопасности.Таким образом, вы можете перехватить SMS или почту с учетной записи PREDEFINED (настройки приложения), скажем, с ключевым словом «разблокировать».Если не установлено, эта функция отключена.Перехват SMS не должен быть таким сложным.

0 голосов
/ 14 мая 2014

Пара мыслей:

Есть ли какой-либо процесс регистрации? Если это так, во время регистрации вы можете случайно сгенерировать второй пароль, который вы не сообщаете пользователю, а просто сохраняете файл для таких непредвиденных обстоятельств. Или аналогичным образом, вы можете предложить пользователям «восстановление пароля» - нажмите эту кнопку, чтобы сгенерировать секретный пароль.

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

Вы обязательно что-нибудь знаете о своих пользователях? Например, вы могли бы сгенерировать пароль из номера их кредитной карты, адреса или чего-то подобного? Конечно, это делает вас уязвимым для любого хакера, который может обнаружить любую информацию о потенциальной цели.

Что бы вы ни делали, вы собираетесь создать большую потенциальную дыру в безопасности: что, если кто-то украдет чужое устройство, отправит вам электронное письмо и скажет, что он потерял свой пароль? Откуда ты знаешь, что это законный владелец данных? Если кто-нибудь может позвонить или написать по электронной почте и сказать: «Эй, я потерял свой пароль, пожалуйста, впустите меня в черный ход, тогда у вас больше нет безопасности».

0 голосов
/ 02 января 2011

Почему бы вам просто не встроить функцию сброса пароля в самом приложении? Если он не использует веб-сервис, зачем вам или вашему серверу вообще нужно участвовать?

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

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