Сброс пароля ASP.NET - проблемы безопасности?

Я видел разные вопросы по этой проблеме, но есть пара вопросов, которыене было спрошено Если пользователь забудет свой пароль, я бы хотел, чтобы он мог сбросить его, используя только свой адрес электронной почты (т.е.Без секретного вопроса / ответа). Пароль хранится как соленый хеш, так чтовосстановление невозможно. Вместо этого яЯ просто хотел, чтобы пользователь ввел новый пароль после подтверждения того, что он запросил сброс.

Общий метод, которыйУпоминается просто:

1) Создать случайное Guid / Криптографически сильное случайное число

2) Отправить уникальный URL-адрес, содержащий случайное число пользователюадрес электронной почты

3) После подтверждения пользователю предлагается сменить пароль

Тем не менее, неэто открыто дляMITM атака? Если отправка временных паролей через Интернет на электронную почту небезопасна, чтоРазница между этим и простой отправкой уникального URL, по которому злоумышленник может перейти? Я где-то пропустил ключевой шаг, который сделает эту систему более безопасной (или есть лучший способ сброса пароля)?

Спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос