Я не могу вспомнить местоположение, но если вы выполните поиск в Google на основе аутентификации, основанной на знаниях, вы обнаружите, что аутентификация Q & A очень слабая. Одна существенная проблема - энтропия (возможная случайность) потенциальных ответов и фактических ответов. Если вы спросите о любимом цвете, то на самом деле есть только очень маленький список цветов, которые выберет большинство пользователей. Это может стоить 1 бит энтропии. Затем, если вы зададите второй вопрос, например, город, в котором вы выросли, это может дать вам еще одну или две доли энтропии (в Мексике для каждого из 3 городов есть шанс примерно 30% на этот ответ). 1001 *
Одна оценка, которую я увидел, состояла в том, что для того, чтобы получить равную силу для 8-символьного пароля, вам потребуется около 26 вопросов.
Тем не менее, вы могли бы делать другие вещи, чтобы связаться с пользователем. Вы можете попробовать отправить текстовое сообщение пользователю вместо электронного письма - регистрирует ли пользователь номер телефона? Пользователь может сохранить сертификат на своем компьютере, который он может загрузить вместе с запросом на сброс пароля (вам необходимо приложить усилия, чтобы этот сертификат был привязан к компьютеру). Вы можете сделать запись после регистрации, когда пользователь может отправить адрес электронной почты.
Удачи!