Как реализовать восстановление пароля в приложении для iPhone? - PullRequest
3 голосов
/ 28 июня 2011

Я хотел бы добавить простую защиту паролем в приложение для iPhone, над которым я работаю.Я, вероятно, буду использовать crypt () для хранения пароля в моей базе данных, которая находится в формате CoreData / sqlite.

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

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

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

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

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

Предложения приветствуются.

СпасибоРон

Ответы [ 2 ]

5 голосов
/ 28 июня 2011

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

1 голос
/ 28 июня 2011

Самый простой способ, вероятно, состоит в том, чтобы сделать «защиту паролем» необязательной и отображать предупреждение («если вы забудете свой пароль, ваши данные могут быть невосстановимыми!»).

Это не будет настолько безопасно:Данные , вероятно, будут отображаться в незашифрованном виде в резервной копии телефона, если вы сами не зашифруете их.В результате решительные пользователи могут попросить вас о помощи, и вы можете написать им инструмент, который копает незашифрованную резервную копию и сбрасывает пароль.

Избегайте встроенного crypt(), который, вероятно, DES-основанный и ограниченный до 8 символов ASCII.Хранение незашифрованного пароля в цепочке для ключей - не слишком ужасный вариант.

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