Сброс пароля по электронной почте временные пароли - PullRequest
11 голосов
/ 20 августа 2009

Группа в моей компании внедряет REST API с единым входом для наших приложений. Эта служба аутентификации имеет функцию сброса пароля. Приложение отправляет имя пользователя в функцию сброса. Если это имя пользователя связано с адресом электронной почты, то на этот адрес отправляется письмо с временным паролем.

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

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

Существуют ли какие-либо существенные причины безопасности для предпочтения одного метода другому? Есть ли другой, более безопасный способ сделать это?

Ответы [ 4 ]

9 голосов
/ 20 августа 2009

Существуют ли какие-либо существенные причины безопасности для предпочтения одного метода другому?

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

9 голосов
/ 20 августа 2009

В обоих случаях конфиденциальная информация (временный пароль или ссылка сброса) передается по одному и тому же носителю. С этой точки зрения нет никакой разницы в безопасности. Однако у ссылки сброса есть несколько преимуществ: Вы заставляете пользователя выбирать новый пароль. Как только он это делает, ссылка недействительна и не может быть использована. Временные пароли, напротив, имеют тенденцию быть не такими временными, как вам хотелось бы. Даже если вы заставите пользователя выбрать новый пароль при следующем входе в систему, он, скорее всего, снова введет временный пароль.

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

4 голосов
/ 20 августа 2009

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

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

  • угадываемы. Такие вопросы, как «любимый цвет», довольно подвержены угадыванию общих вариантов, таких как «красный», «синий», «зеленый» и т. Д.
  • обнаружимый. Многие вещи из профиля Facebook / MySpace / Twitter / Flickr или иным образом Googleable.
  • забывающийся. Я выбрал «любимое место отдыха», а через год или два не смог вспомнить, что выбрал.
  • Трудно разобрать. Если я напишу «Сент-Пол» в качестве названия города, но позже вернусь с «Сент-Пол», это будет принято?
0 голосов
/ 20 августа 2009

Существует множество более безопасных способов сброса пароля. Все они очень неудобны для ваших пользователей и дороги в обслуживании. Если каждый пользователь отправит вам образец ДНК и отпечатки пальцев, а затем потребует, чтобы они были обнаружены лично для проверки, это поможет вам в обеспечении вашей безопасности. Я удивлен, что ваша сверхсекретная организация позволяет вам получать советы по безопасности в отношении стекопереработки. Шутка в сторону, насколько безопасным должно быть ваше приложение? Действительно ли злоумышленники будут сбрасывать пароли вашего пользователя и затем получать доступ к своей электронной почте?

XKCD всегда говорит, что лучше http://xkcd.com/538/

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